We see more computers built from logic gates than you might expect. However, most of them are really more demonstration computers and can’t do much of what you’d consider essential today. No so with [Alastair Hewitt’s] Novasaur. Although built using 34 TLL chips (and a few memory and analog chips, too, along with one PAL), it boasts some impressive features:
- Dual Processor CPU/GPU (Harvard Architecture).
- 33 MHz dot clock, 16.5 MHz data path, 8.25 MHz per processor (~3.5 CPU MIPs)
- 256k ROM: 96k ALU, 64k native program, 64k cold storage, 32k fonts.
- 128/512k RAM: 1-7 banks of 64k user, 60k display, 4k system.
- 76 ALU functions including multiply/divide, system, and math functions.
- Bitmapped Graphics: Hi-res mode up to 416×240 with 8 colors and 4 dithering patterns. Lo-res mode up to 208×160 with 256 colors, double-buffered.
- Text Mode: 8 colors FG/BG, 256 line buffer, up to 104×60 using 8×8 glyphs, 80×36, and 64×48 rows using 8×16 glyphs.
- Audio: 4 voice wavetable synthesis, ADSR, 8-bit DAC, 8Hz-4.8kHz.
- PS2 Keyboard: Native interface built-in.
- RS232 Serial Port: Full duplex, RTS/CTS flow control, 9600 baud.
- Expansion Port: 7 addressable 8-bit register ports, 4 interrupt flags
The average speed (3.5 MIPS) is lower than the clock speed because some instructions take four clock cycles to execute. To save on devices, the ALU processes four bits at a time, requiring two cycles per math instruction. The internet interface is via the serial port, of course, so using this as your video streaming server is probably not a good idea.
Still, not too shabby for a handful of generic parts. One problem with this type of CPU is developing all the software. The Novasaur has a byte-code interpreter that can execute 8080 and 8085 code directly, solving that problem neatly.