picture picture picture logo logo Computing
Art & Architecture  
Buildings & Environment  
High Performance Computing  
High Performance Computing: A personal history

The mid-80's; bit slice CPU design

My first introduction to seriously hard computing was at Ferranti Computer Systems (now long since defunct). The Training Simulator Group built graphics processing engines for helicopter and submarine simulators, and needed processing power far in excess of that provided by the microprocessors of the day. The solution? Create your own CPU from component parts and write the program in microcode, so the CPU had effectively had a small number of very complicated assembly instructions (each a separate sub-routine, really).

The CPU was a bit-slice design, using the AM2900 series of ALUs, sequencers and dual-port register stores. The microcode instruction was about 90 bits wide, with the various bits controlling how data was routed around the CPU and setting up state for the next instruction. Programming it was done using pencil and paper, and then coded up using a macro parser. Production code was deployed to PROMs (access time to the microcode instructions was crucial), but an SRAM-based 'PROM-emulator' could be used for development.

A flavour of the programming effort is given by my favourite trick; take two short programs (10 lines of microcode each, say), and write a new 10-line program that does the work of both.