Skip to content

ezrec/ucapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

μCAPP - (micro) Content Adressable Parallel Processor

The μCAPP is an abstract processor, based on concepts from Caxton C. Foster's 1976 book "Content Addressable Parallel Processors" (ISBN 0-442-22433-8).

Getting Started

Running a ucapp program.

Providing a .uc file to ucapp will assemble then file, clear the CAPP, load the assembled file into the CAPP, reset the instruction pointer, and execute the program.

$ go run ./cmd/ucapp -c examples/io/hello_world.uc
Hello World!

Historical Perspective

μCAPP is an unusual system from the modern view - memory is not addressable by index (ie, mem_array[N] has value X), but by content (ie, return all memory elements where value is similar to X).

However, even in modern systems, a content addressable memory can be found in specific applications - for example, the TCAM memories used by network routers to look up policies based on IP or MAC addresses.

But professor Foster expanded on that concept, and designed computer architectures where the content addressable memory was not simply a fast-lookup peripheral, but the actual main memory of the system and a unique bit-mask vector processor.

He later worked on the design of the Goodyear STARAN system (1977) - developed for the US Air Force for air traffic control situations.

μCAPP looks to imagine a retro-history where STARAN technology was made readily avaible to the interested researcher - as the Intel 8080 and MOS Technology 6502 brought conventional linear memory array processors to the hobbyists of the time.

Architecture

The μCAPP is composed of the following components:

  • Content Addressable Parallel Processor (main memory)
  • Microprocessor
    • Instruction pointer
    • Six 32-bit registers
    • ALU
    • Conditional execution flags
    • Stack
  • I/O channels

CLI Interface

See cmd/ucapp/README.md

CAPP Details

See capp/README.md

Microprocessor

See cpu/README.md

Serial I/O Peripherals

See sio/README.md

About

Micro Content Addressable Processor Simulator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •