“The Shift-Register in History”

Shift Register Breadboard

Image by Scott Hamilton showing a typical breadboard layout of a shift register build for manual operation as a circuit demonstration.

By Scott Hamilton

As I was preparing for my digital electronics home-school class this week, I came across an interesting article talking about the ground control computer for the Apollo missions and realized that one of the main components of the Apollo mission computers was the shift-register. It is a fairly complex circuit designed to receive serial data and convert it to parallel. So before you can understand the complexity of such a system you need to understand the difference between serial and parallel data.

There are two different methods of transmitting data in computing. There is serial data, which is how a majority of data is transferred between different computer systems and devices. In fact, the USB port you are all familiar with is actually a Universal Serial Bus, which is a long way of saying that it is a universal standard utilized in all computing systems to share data between devices over a serial connection.

What the term serial means is that the data is transmitted one bit at a time in a series of ones and zeros following the same rules on both the sending and receiving end. Both ends must have a synchronized clock signal, which they share, and a definition of how they manage the data flow. Common practices are to use nine-bit blocks, referred to as 8N1, where you transmit eight bits of data followed by a parity bit. The parity bit is one if there is an even number of ones transmitted and zero if there are an odd number of ones.

Transmitting data in parallel usually utilizes nine separate lines to carry eight bits of data simultaneously; this in theory is eight times faster than serial communication, but in practice turns out to be slightly slower. Just like the serial transmission, there are eight bits of data and one parity bit, and a shared clock between the transmission side and the receiving side of the communication. It is the extra work involved in checking the parity of parallel data that makes it slower than serial transmissions. Another major reason for a shift from parallel data transfer to serial in modern computers is the number of bits involved in modern computers. When parallel data transfer was designed and actually preferred, there were only eight to twelve bits in computer data. Our modern computers operate on 64-bit systems. This would mean for parallel data transfer to be effective in today’s computing systems, it would require a minimum of 66 separate wires running between the devices.

A shift register converts the serial data coming into the system into a chunk of parallel data, which is how data is stored in the processors and memory of a computer. If you look closely at even modern computers you will find that the amount of available memory is a multiple of eight. If you are really interested in how a shift register works, you can read an excellent article about them here: https://www.learningaboutelectronics.com/Articles/Shift-register-circuit.php. You can even order the parts necessary to build your own circuit to demonstrate how they work.

While I was researching this article, I found a very interesting article that describes the 13-bit shift registers used on the Apollo missions, designed in 1969. I highly recommend reading the article here: https://www.righto.com/2021/06/inside-transistorized-shift-register.html if you are interested in a lot more details. I will do my best to describe it simply here as I was fascinated that the technology itself remains the same; the only difference in the 1969 shift-register from the Apollo mission and a modern shift register is the size of the transistors, and the number of bits in the standard shift-register. The Apollo mission computer, designed by Seymour Cray, was a 13-bit system so it utilized a 13-bit shift register and our modern systems operate on 8-bit or a multiple of eight.

Each bit in a shift register requires a minimum of eight transistors, so an 13-bit shift register would require 104 transistors, not including the additional support circuitry to reduce noise in the circuit and account for error correction. The Apollo mission computer had multiple stages of redundancy so it required nearly three times the number of transistors. The shift register was about twice the size of a standard lunchbox and had multiple circuit boards, each responsible for three bits of data. The Apollo mission landed at a point in time where integrated circuits were the new technology, and by 1972 the entire shift register was possible in a single chip, roughly the size of one of those big pink pencil erasers.

Compare that to modern technology and we find that we can fit over 10 million shift-registers on a single chip about that same size. So as you can see, we have been in a period of rapid development of electronics resulting in products getting smaller, easier to mass produce, and nearly impossible to repair. The Apollo mission computer, while the size of a large room, could be repaired all the way at the component level. Today we replace the processor, memory, or other device instead of repairing it. In some regards it makes me sad that we no longer work on processors at that level, but I am also excited that they have become so much more powerful and useful.

Until next week, stay safe and learn something new.

Share via
Copy link
Powered by Social Snap