An 8-Bit Transport Triggered Architecture CPU in TTL

When we are introduced to the internals of a microprocessor, it is most likely that we will be shown something like one of the first generation of 8-bit CPUs from the 1970s. There will be the familiar group of registers and counters, an arithmetic and logic unit (ALU), and an instruction decoder with associated control logic. A complex instruction set causes the decoder to marshal registers and ALU to perform all the various functions in the right order. CPUs may have moved on in many ways since the 1970s, but the block diagram of an 8080 or similar still provides a basic grounding for the beginner.

So when we tell you about another home-made CPU using TTL logic chips, you might expect it to follow this well-worn path. Fortunately though the hardware hacking community is always capable of springing surprises upon us, and [Szoftveres] has done just that with his design. It’s a one-instruction-set machine following a transport triggered architecture, and that means it deviates sharply from the conventional architecture described above. Each instruction is a move between the different physical functions of the processor, and computation is achieved by the physical functions working on the data as it is moved into them and presenting the result on their outputs ready to be moved elsewhere. The result is a computer that is in its own way beautifully simple, though at the expense of some inflexibility and lack of some hardware functions we take for granted in more conventional processors.

This machine has been built on a piece of stripboard, and has an accompanying board with display, keypad, and a modem. There is a small board based upon an ATmega8 microcontroller which performs the function of fast program loading, and can be removed once the code is loaded. Software can be written in a C-like language anc compiled using the compiler in his GitHub repository, and he has produced a YouTube video of the machine in operation. This project is well worth reading through in-depth, for its introduction to this slightly unusual architecture.

Continue reading “An 8-Bit Transport Triggered Architecture CPU in TTL”

Another 74XX Series CPU

[Jack Eisenmann] is no stranger to building impressive DIY CPU’s on vast stretches of breadboard. This time [Jack] has done away with the seventeen breadboards he used in his last 8-bit computer and instead has gone a step further and designed a set of generously utilised PCB’s for the CPU. The result is the DUO Enterprise.

The CPU design is based around an 8-bit data bus and a 24-bit address bus. As usual, a minimal yet carefully chosen instruction set allows [Jack] to do all the heavy lifting in software as part of the compiler and operating system he is working on. There is no sign of a display yet, instead the computer communicates via a dumb terminal. We love the aluminum foil for shielding! Check out the video, below, to see what we mean.

Over the years, we have seen many of [Jack]’s other CPU builds featured on Hackaday. One of his first designs was a 4-bit CPU that could play many games on a LED matrix.Later he did a much more impressive 8-bit CPU along with analog video output and an OS ofcourse. It could even play pong. He even built a Single Instruction Set Computer (SISC).

His final goal with DUO Enterprise is to allow anyone to utilise its computing power by submitting programs and calculations. Heads up [Jack], our neural net needs training soon.

Continue reading “Another 74XX Series CPU”

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.

Dead-Bug Logic Probe in a Magic Marker

Logic probes are simple but handy tools that can be had for a couple of bucks. They may not be the sexiest pieces of test gear, nor the most versatile, but they have their place, and building your own logic probe is a great way to understand the tool’s strength and weaknesses.

[Jxnblk]’s take on the logic probe is based on a circuit by [Tony van Roon]. The design hearkens back to a simpler time and is based on components that would have been easy to pick up at any Radio Shack once upon a time. The logic section is centered on the venerable 7400 quad 2-input NAND gate in the classic 14-pin DIP format. The gates light separate LEDs for high and low logic levels, and a 555 timer chip in a one-shot configuration acts as a pulse stretcher to catch transients. The DIP packages lend themselves to quick and dirty “dead bug” construction, and the whole thing fits nicely into a discarded marking pen.

dead-bug-logic-probe-in-marker-body

It’s a simple build and a nice form factor for a useful tool, but for an even slimmer package like an old syringe you’ll probably have to go with SMD components. And when you graduate from the simple logic probe, you might want to check out the capabilities of this smart probe.

Taking It To Another Level: Making 3.3V Speak with 5V

If your introduction to digital electronics came more years ago than you’d care to mention, the chances are you did so with 5V TTL logic. Above 2V but usually pretty close to 5V is a logic 1, below 0.8V is a logic 0. If you were a keen reader of electronic text books you might have read about different voltage levels tolerated by 4000 series CMOS gates, but the chances are even with them you’d have still used the familiar 5 volts.

This happy state of never encountering anything but 5V logic as a hobbyist has not persisted. In recent decades the demands of higher speed and lower power have given us successive families of lower voltage devices, and we will now commonly also encounter 3.3V or even sometimes lower voltage devices. When these different families need to coexist as for example when interfacing to the current crop of microcontroller boards, care has to be taken to avoid damage to your silicon. Some means of managing the transition between voltages is required, so we’re going to take a look at the world of level shifters, the circuits we use when interfacing these different voltage logic families.

Continue reading “Taking It To Another Level: Making 3.3V Speak with 5V”

1MHz, 2 Boards, 4 Bits and a Homebrew CPU

[Agp.cooper] saw a vintage 4Kx4 bit RAM chip and decided that it needed a CPU design to match. The TTL design fits on two boards and has a functional front panel.

This custom CPU project has a few interesting bits worth noting. First, it is small enough that you can wrap your head around it pretty easily. And [Agp.cooper] gives  a good account of the instructions set architecture choices he considered and why he settled on the final design.

Continue reading “1MHz, 2 Boards, 4 Bits and a Homebrew CPU”

Weird CPU

How many instructions does [agp.cooper’s] computer have? Just one. How many strip boards does it use? Apparently, 41 five 41-track boards. While being one shy from the answer to life, it is still a lot of boards for a single instruction. The high board count is due to the use of 1970’s vintage ICs including TTL parts, 2114 RAM chips, and 74S571 PROMs.

There are several different architectures for single instruction computers and [agp’s] uses what is technically at TTA (transfer-triggered architecture). That is, the one instruction is a move and the destination or source of the move determines the operation. For example, the Wierd CPU (that’s the name of it) has a P and Q register. If you load those registers and then the ADD register will contain the sum of the two numbers.

Continue reading “Weird CPU”