Explaining The Operation Of The 74181 ALU

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 brought you the first part of [Ken]’s 74181 investigations earlier in the year. If you would like to see a 74181 in action, take a look at this 4-bit 74 logic single board computer.

Yes, You Can Reverse Engineer this 74181

[Ken Shirriff] is the gift that keeps on giving this new year. His latest is a reverse engineering of the 74181 Arithmetic Logic Unit (ALU). The great news is that the die image and complexity are both optimized for you to succeed at doing your own reverse engineering.

74181-openedWe 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.

Building a 4-bit TTL computer

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.

Continue reading “Building a 4-bit TTL computer”