Those of you with an interest in microcomputer history will know that there is a strong crossover between the path of electronic calculator evolution and the genesis of the integrated CPU. Intel’s 4000 was famously designed for a calculator, and for a while in the 1970s these mathematical helpers were seen as the wonder of the age. [Simon Boak]’s calculator is a curious throwback to that era, as it’s not a decimal calculator as we’d know it but a hexadecimal device that simply computes using the functions of the famous 74181 ALU chip.
An ALU, or to give it its full name an Arithmetic Logic Unit, is a component of a CPU with two inputs and one output that can perform any of a range of binary functions upon the two inputs and return the result on the output. This calculator has two of them for eight bits of raw adding power, with a hexadecimal keypad for setting the inputs and a set of 7-segment displays for showing the results. It’s housed in an achingly retro folded sheet metal console case with wooden end pieces that would have graced any engineer’s desk with pride back in about 1975. We may not need one, but we really want one!
Why on earth would you want an oversized replica of an outdated logic chip from nearly five decades ago, we hear you ask? The answer lies in education. If you were to embark on learning about the internals of a microprocessor by taking a modern example such as the one that powers the device on which you are reading this, you would find it to be a daunting task. Over six decades of progress in computer technology have delivered the performance enhancements that put a supercomputer in your smartphone, but at the expense of a contemporary microprocessor being an extremely complex machine which you can’t peer into for any level of understanding.
The starting point for the student of microprocessor internals often lies in the past. The technology of the early 1970s holds the fundamentals from which a modern processor can be understood, but remains simple enough to grasp in its entirety as a beginner. Registers, instruction decoders, counters, and an arithmetic/logic unit, or ALU. And for decades the 74181, as an all-in-one 4-bit ALU on a chip that you might have found in a minicomputer at the turn of the 1970s, represented the most convenient way to teach the operation of these devices. Electronic engineers and computer scientists of all ages will have encountered them as they gained their qualifications.
The PCB version of the 181 faithfully follows the original, but with modern 74LVC gates laid out as they would be in the circuit diagram of the chip, and LEDs to show logic state at the different parts of the circuit. Thus when it is used to teach ALU operation it can show every part of the device in detail in a way a real 74181 would never have done.
You will all no doubt be familiar with the 74 series logic integrated circuits, they provide the glue logic for countless projects. If you look back through old listings of the series you’ll find alongside the familiar simple gates a host of now obsolete chips that reveal their roots in the pre-microprocessor computer industry of the late 1960s, implementing entire functions that would now be integrated.
One of the more famous of these devices is the 74181, a cascadable 4-bit arithmetic logic unit, or ALU. An ALU is the heart of a microprocessor, performing its operations. The 74181 appeared in many late-60s and early-70s minicomputers, will be familiar to generations of EE and CS students as the device they were taught about ALUs on, and can now be found in some home-built retrocomputers.
[Ken Shirriff], doyen of the integrated circuit teardown, has published a piece taking a look at the 74181, in particular at its logic functions and the reason for some of them that are rather surprising. As well as the normal logic functions, for example the chip can do “(A + B) PLUS AB“. Why on earth you might think would an ALU need to do that?
The answer lies in the way it performs carrying while adding, a significant speed-up can be achieved over ripple carrying along a chain of adders if it can be ascertained whether a bit addition might generate a carry bit. He explains the function required to perform this operation, and suddenly the unusual extra function makes sense. Addition is transformed from a serial process to a parallel one, with a consequent speed increase.
It’s one of those moments in which you have to salute those logic designers from an era when on-chip real-estate was costly and every ounce of speed had to be teased from their designs. Give it a read, and have a go at the interactive 74181 simulator further down [Ken]’s page. We learned something from the article, and so may you.
We have most recently seen [Ken] at work explaining his decapping and reverse engineering process at the Hackaday SuperCon followed soon after by his work on the 8008. That chip is crazy with complexity and a die-ogling noob (like several of us on the Hackaday crew) stands no chance of doing more than simply following along with what he explains. This time around, the 74181 is just right for the curious but not obsessed. Don’t believe me? The 8008 had around 3,500 transistors while the friendly 74181 hosts just 170. We like those odds!
A quick crash course in visually recognizing transistors will have you off to the races. [Ken] also provides reference for more complex devices. But where he really saves the day is in his schematic analysis. See, the traditional ‘textbook’ logic designs have been made faster in this chip and going through his explanation will get you back on track to follow the method behind the die’s madness.
[Ken] took his own photograph of the die. You can see the donor chip above which had its ceramic enclosure shattered with a brisk tap from a sharp chisel.
When [GG] was 12 years old, he was introduced to BugBooks, the wonderful ‘introduction to digital design’ books from the early 1970s. It has always been a dream of [GG] to build the TTL computer featured in the BugBooks, and now that he has the necessary time and money available to him, the Apollo181 has become a reality.
[GG]’s computer is built around a 74181 ALU, an exceptionally old-school chip that provides the core of a computer in a neat 24-pin chip. With a 256-byte RAM and a few additional logic chips, [GG]’s computer is an exceptional piece of engineering able to perform 625,000 instructions per second when clocked at 2.5 MHz.
This isn’t [GG]’s first homebrew computer build; last year we saw his incredible Z80 minicomputer. Now we can’t wait to see what’s on tap for next year. After the break, you can check out [GG] loading in operands and operators into his computer and letting the Apollo181 churn away on its program.