Wednesday, 16 October, 2019 UTC


Summary

The may very well be the smallest homemade TTL CPU we’ve ever seen. Measuring at one square inch, this tiny chip boasts 40 connections, an 8-bit databus, a 16-bit address bus, a 64 kB memory space, reset and clock inputs, and 5 V power lines.
TTL (transistor transistor logic) logic chips are pretty outdated today, but they do have all of the basics necessary for building a computer – logic gates, counters, buffers, and registers. The transistors perform both the logic and amplifying, as compared to resistor-transistor logic (RTL) and diode-transistor logic (DTL). In the 60s, when the technology was still fairly new, TTL ICs were commonly used in computers and industrial controls. Even after the advent of VLSI, TTL ICs were still being used for interfacing more densely integrated chips. Even so, most TTL chips tend to be on the bulkier side, which is what makes [roelh]’s project so unique. The entire PCB is hardly any larger than a coin.
On top of the hardware specs, [roelh] also implemented several useful software features: zero page addressing, load/store/compare instructions, stacks, conditioning branching, subroutine calls, and memory-mapped I/O. The registers are also in RAM, which has been implemented in microprocessors in the past (see TMS9900) for speed considerations, but in this case was implemented for size constraints.
An ALU was also left out of the design in order to constrain its size, leaving only 8 ICs on either side of the 2-layer PCB.
Microprograms are stored in Flash memory and can be programmed with a Raspberry Pi. by saving the Assembly code to a memory card and downloading the assembled binary code. Once the Raspberry Pi is connected to the development board, you can burn the binary code onto the Flash memory of the board using a Python script. An online Javascript editor also exists for assembling the Assembly code for the chip and simulating the CPU.
There is currently a development board made for the CPU, which includes six seven-segment displays and an I/O connector for running a digital clock and other applications. [roelh] has since built a retro TTL computer around the chip, which reintroduces the ALU and includes address registers, 256 KB of RAM, VGA video, PS/2 keyboard port, a sound system, and I/O pins. It’s a really exciting project that’s seriously pushing the constraints of retro computing.
The HackadayPrize2019 is Sponsored by: