How did Russian cosmonauts know where they were? The Globus INK (1967) showed the position of their Soyuz spacecraft on a rotating globe. It is an analog computer built from tiny gears. I reverse-engineered the wiring (which inconveniently had been cut) and we powered it up. 🧵
The Globus INK (1967) is a remarkable piece of Soviet spacecraft equipment. Its rotating globe showed cosmonauts the position of their Soyuz spacecraft. An electromechanical analog computer, it used gears, cams, and differentials to compute the position. Let's look inside 🧵
The Bendix CADC is an analog computer used by fighter planes in the 1950s. It computed airspeed, Mach number, and other important parameters. I reverse-engineered how it performed these calculations with tiny gears, differentials, and cams. 1/12
The Intel 8086 was released in 1978, starting the x86 line that still dominates computing. I'm reverse-engineering the chip by studying the silicon die, and I think I've spotted a bug fix in the silicon. They didn't have microcode updates then so they patched the silicon. 🧵
The 8086 processor (1978) led to the hugely-popular x86 architecture. Internally, the 8086 uses microcode, running a tiny program for each machine instruction.
I'm reverse-engineering the chip from die photos and I can explain exactly how the 8086 microcode engine works.🧵
Modern processors block you from executing nonexistent instructions. But early microprocessors like the Intel 8086 (1978) didn't check for illegal instructions. Running one could provide hidden functionality or even give access to hidden registers you couldn't otherwise access.🧵
The Space Shuttle had a large teleprinter onboard so the astronauts could receive text documents. We want to get it working, but first some reverse engineering... 1/13
The IBM 1401 was the most popular computer of the early 1960s, with over 10,000 built. Renting for $2500 a month, it made a computer affordable to medium-sized businesses. You can see one in operation
@ComputerHistory
. But what if the computer suddenly stops turning on? 1/10
You'd think every computer should be able to divide two numbers, but early microprocessors didn't have division instructions. The Intel 8086 (1978) was one of the first with division. Let's look at how it implemented division and why division is so hard.
The iconic Intel 8086 processor (1978) set the path for modern computers. Like most CPUs, it supports interrupts, a mechanism to interrupt the regular flow of processing. I've been reverse-engineering it from the silicon die, and I can explain how its interrupt circuitry works.
Intel's 386 processor (1985) was an important step toward today's computers, moving the x86 architecture to 32 bits. The chip came in a 132-pin ceramic package. There's more going on in this package than you'd expect. Let's take a look. 1/14
Intel introduced the 8088 processor in 1979. IBM selected the 8088 for the IBM PC, a moment in computer history that ensured the dominance of Intel and x86.
To improve performance, the 8088 prefetched instructions. Let's look at the prefetch circuitry inside the 8088... 1/12
The HIMARS mobile rocket launcher has been in the news as a powerful new weapon in Ukraine. I thought a teardown of its internal electronics would be interesting. (Nobody would give me a HIMARS so this is a "virtual" teardown.) Laser gyros and other technology ahead... 1/57
How did fighter planes in the 1950s perform calculations before compact digital computers were available? With the Bendix Central Air Data Computer! This electromechanical analog computer used gears and cams to compute "air data" for fighter planes such as the F-101. 1/13
Communicating hundreds of thousands of miles during the 1969 Moon landing was difficult. On the Apollo spacecraft, the "premodulation processor" was very important, combining voice, data, and TV signals. I got my hands on a premodulation processor, so let's look inside. 🧵
Sixty years ago today, IBM announced the System/360, a line of computers that took over the computer industry. The big idea was that all the systems were compatible and supported all applications (a 360° range from business to scientific). 1/9
The Intel 8086 processor was introduced in 1978, ancestor of the x86 architecture. The 8086 was the first microprocessor with prefetch, reading instructions from memory in advance for more speed. By reverse-engineering the chip under a microscope, I can explain how this works. 🧵
The Bendix Central Air Data Computer is a gear-based analog computer used in 1950s fighter planes. We powered up part of it but nothing happened. So I reverse-engineered the circuitry and we're debugging it.
The 386 processor (1985) was pivotal for Intel, moving the x86 architecture to 32 bits and moving the design to CMOS. Everything in the processor is controlled by the clock. Some tricky circuitry on the chip (red) generates the clock; let's take a look inside the die... 1/11
The 8086 microprocessor is almost 45 years old, but the x86 architecture still rules computing. I'm reverse engineering the 8086 by studying its silicon die under a microscope. This thread looks at one of its unusual circuits: the bootstrap driver.🧵
Communicating with the Apollo astronauts across hundreds of thousands of miles wasn't easy. How did their 1960s FM radio work on their trips to the Moon? Let's look inside and see how this transistorized circuitry worked.
Intel introduced the first Pentium microprocessor in 1993. This complex chip was superscalar, running two instructions at a time with two integer pipelines. Branch prediction "guessed" which way branches would go.
I couldn't find a labeled die photo, so I made one.
Introduced in 1973, Ethernet is the best way to wire your computer to a network. But it was very expensive, costing thousands of dollars for an interface board. Intel's 82586 chip (1982) simplified the interface, dropping network prices to "just" $1000. Let's look inside... 1/14
The Intel 8086 microprocessor was introduced 42 years ago today, so I made a high-res die photo. The 10-kilobit microcode ROM is visible in the lower-right corner. The 8086 started the x86 architecture that still dominates computing. The original IBM PC used the related 8088 chip
Everyone says the Intel 8086 processor has 29,000 tiny transistors. But I counted and found 19,618. Why the difference? It turns out that most counts include "potential" transistors as well as real ones. Let's take a look and find out why.🧵
This Central Air Data Computer (CADC) was introduced in 1955. It computed airspeed, altitude, etc for fighter planes. But instead of a processor, it was an analog computer that used tiny gears for its computations. Let's look at how one of its modules works.🧵
The Bendix Central Air Digital Computer (CADC) was introduced in 1955. It was a critical component of fighter planes, using tiny gears to compute parameters such as airspeed and altitude. It contained 46 synchros, 511 gears, 820 ball bearings, and a total of 2,781 major parts. 🧵
Here's an unusual chip, a 7400-series decoder implemented with a gate array. It has over 1500 transistors in orderly rows, but most of them are entirely unused. Why build a chip in such an inefficient way? Let's take a closer look... 1/13
The Bendix Central Air Data Computer (CADC) was introduced in 1955. This complex mechanical analog computer uses tiny gears, cams, and differentials to determine airspeed, altitude, etc for fighter planes. I hooked a synchro up to the CADC and got some output from it. 🧵
How did the Apollo astronauts communicate from Moon orbit? They used a 20-Watt Traveling Wave Tube Amplifier. Let's see what's inside this 32-pound box.
The Intel 386 processor (1985) was a key member of the x86 line, moving to 32 bits. It has a bunch of on-chip registers, implemented with compact, highly-optimized circuitry. Let's look at the circuit, called T8, that implements some of these registers. 1/11
I found a hidden name in the Intel 8088 processor. The 8088 was a derivative of the 8086 processor introduced in 1979 and best known as the processor in the IBM PC. I dissolved the chip's metal layer and found "רפי", the name in Hebrew of Rafi Retter, the chip's engineer.
Most chips are formed on a silicon wafer, but this RCA telecommunications chip is constructed from sapphire. It is a silicon-on-sapphire CMOS chip, with silicon circuits sitting on top of a thin sapphire substrate. 1/11
The Intel 386 processor (1985) is a complicated chip. One of its features is a "barrel shifter" (red) that can shift binary values by 0 to 32 bits in one step, much faster than shifting one bit at a time. Let's see how it works. 1/11
The Yamaha DX7 synthesizer (1983) defined the sound of 1980s pop music with its digital FM synthesis. I opened up the chip that powers it to take a look inside. With an estimated 45,000 transistors, this chip generated 16 notes at once. 🧵
We are restoring an Apollo Guidance Computer. After 52 years it works perfectly except for the core memory (which unfortunately is a critical component). The computer was one of the first computers built from integrated circuits, using many, many dual NOR gate flat pack ICs.
Intel's 386 processor (1985) was an important milestone, moving Intel to a 32-bit architecture. It's a complicated chip, but fundamentally it is built from logic gates. I found that it uses two completely different circuits to implement the XOR function... 1/9
The influential 8086 processor is 42 years old this month, so I took high-res die photos to celebrate. The 8086 is the origin of the x86 architecture still used by most desktop and server computers. Its microcode bits are visible under the microscope.
Ethernet was invented at Xerox Parc in 1973 and became the most popular way to wire computers into a network. AMD made the LANCE chip in 1982, containing most of the interface circuitry. I made a die photo of the chip. 1/11
The Soyuz spacecraft used a digital clock on the control panel. Surprisingly complex, the clock had over 100 ICs and a switching power supply crammed inside. I open the clock and explain what all these chips do. Details:
Flip-flops are a key component of a microprocessor, holding a 0 or a 1 value. When the "clock" signal triggers, the flip-flop loads a new value. I examined the silicon die of the Intel 8086 processor (1978) and found 184 flip-flops (colored dots). 1/7
Holiday decap of a tiny chip that plays Christmas songs. The UM66T melody chip looks like a transistor but contains a 64-note ROM and drives a speaker directly. It was designed for greeting cards and toys. Let's see what's inside this chip.🧵
I reverse-engineered the register file in the Intel 8086 microprocessor. Each register cell is static, based on two inverters in a loop. Some registers are multi-ported, more complexity than I expected in a 42-year-old processor.
The Intel 386 processor (1985) was a key step in the evolution of x86, moving to 32 bits as well as a CMOS implementation. A less visible design change is its use of standard cell logic (marked in red), building many circuits from standardized building blocks. 1/17
50 years ago this month, the UK switched to decimal currency. Before that, there were 12 pence in a shilling and 20 shillings in a pound. This was inconvenient for computers, but the IBM 1401's Sterling currency option implemented pounds, shillings, and pence math in hardware.
The rotating globe of the Globus INK (1967) showed Soviet cosmonauts their location in orbit. This electromechanical analog computer uses tiny gears for all its calculations, but it has an electronics board with relays to control the motors. Let's look at the electronics board.🧵
The Intel 386 processor (1985) was the first 32-bit processor in the x86 line. Let's take a close look at the processor dies, seeing how Intel shrunk the chip, created new versions, and why the 386 SL jumped from 285,000 transistors to 855,000 transistors. 1/9
The Intel 8086 microprocessor was introduced in 1978 and led to the x86 architecture in use today. One of its obscure features is the "bus hold", allowing another device to temporarily take over communication with memory. This circuitry is in the upper left corner of the chip.🧵
Fighter planes of the 1950s used the Bendix Central Air Data Computer, an electromechanical analog computer that computed with gears. In this thread, I look inside its pressure transducers that converted pressure readings to shaft rotations that turned the gears. 1/13
The airspeed indicator is a critical instrument in an airplane. It looks like a simple dial, but this 1977 unit contains complex gears and electronics. I reverse-engineered this 2.8-pound unit to determine how it works. Let's look inside at its servomechanisms and circuitry. 🧵
Phosphine gas is used as a dopant in semiconductor manufacturing to create n-type silicon. Phosphine was just discovered in the clouds of Venus. The obvious conclusion is that there is life on Venus and it is manufacturing semiconductors.
An interesting military chip, built by UTMC in 1991. It's a transceiver for the MIL-STD-1553 serial data bus, a standard bus that is used extensively used in military aircraft and other systems. 1/18
Here are the two dies at the same scale. The M1 is over twice as large physically as the ARM1. It has 16 billion transistors vs 25,000 for the ARM1. If you built the ARM1 using the same technology, it would be a pixel-sized speck.
The Apollo Guidance Computer navigated to the moon, but can it mine Bitcoin? I tried it on our working AGC; at 10.3 seconds per hash, it would take a billion times the age of the universe to mine a block. Still faster than mining by hand or punch cards.
The 555 timer is perhaps the world's best-selling integrated circuit. Here's a die photo of one of the earliest 555 timer chips, from January 1973. This simple chip has 24 transistors, three of them large driver transistors. The golden circles are where wires were attached. 1/n
Producing a constant voltage even with temperature changes is surprisingly tricky, but necessary for things like phone chargers. This is the die of the LM185, a temperature-compensated voltage reference chip. Let's look inside and see how it works. 🧵
A PC power supply has a lot of interesting circuitry crammed inside. It converts the AC to high-voltage DC, chops it up into pulses, feeds them through a transformer, converts back to DC, and then filters the outputs. It may seem excessively complex, but it's cheap and efficient.
Forty years ago, Intel announced the 8087 math coprocessor, speeding up floating-point operations on the IBM PC. Under a microscope, constants such as π and ln(2) are visible in the ROM. CORDIC algorithms for fast transcendental ops used other constants.
The Intel 8086 processor started the modern x86 architecture in 1978. I reverse-engineered its Arithmetic/Logic Unit (ALU), finding a clever circuit implementing these operations. Carries are fast due to the Manchester Carry Chain, invented in 1959.
I reverse-engineered the audio chip in the
#Nintendo
Game Boy Color. It contains three power op-amps for the speaker and headphone channels. This 1998 chip is built from about 100 NPN and PNP transistors. Die photo from
@johndmcmaster
. Article & schematic:
The software to land on the Moon was woven by hand into core rope memory: wire through a core for a 1 bit, around a core for a 0 bit. Apollo Guidance Computer's ropes held 36K of 15-bit words and used the first amplifier integrated circuits.
#Apollo50
In 1976, Motorola produced a 1-bit processor, the MC14500B. A 1-bit processor sounds like a joke, but it was an industrial controller for Boolean logic applications. I reverse-engineered the chip with die photos from
@johndmcmaster
via
@UsagiElectric
.
Here's an unusually chonky chip: the MK48Z02B Zeropower RAM. What's that? And why does it say "Do not dispose in fire"? Let's take a quick look inside...
The contents of this sealed electronics module from the 1960s were a mystery. Then
@Lumafield
let us use their X-ray CT scanner. This revealed the transistors, diodes, and other components packed inside. Let's take a closer look at this flip-flop module. 🧵
The Bendix Central Air Data Computer is a gear-based analog computer used in 1950s fighter planes. It computed "air data" such as airspeed, Mach number, and temperature. We finally got it operational, hooked it up to some instruments, and got turning gears and spinning dials.
Here's a large power transistor from the 1960s. This transistor is from the pre-silicon era; it is built from germanium instead. I cut it open to show the complex construction inside. 1/8
The Bendix Central Air Data Computer (CADC) is an amazing electromechanical device that computed airspeed, altitude, and other "air data" for fighter planes such as the F-104 and F-111. Digital computers weren't good enough in 1955, so the CADC used gears, cams and synchros.🧵
This box was a key part of testing the Apollo spacecraft for the mission to the Moon. I opened it up and reverse-engineered the unusual circuitry inside.
The Intel 8086 microprocessor (1978) led to the x86 architecture that your computer probably runs today. The 8086 provided a complicated set of memory access modes to get values from memory. Let's take a close look at how microcode and hardware work together to implement them. 🧵
Here are the two dies at the same scale. The M1 Max is much larger physically; I estimate it is 20 mm wide. Its transistors are much smaller (5 nm vs 3000 nm) giving it 57 billion transistors instead of 25,000. If built with modern transistors, the ARM1 would be a tiny dot.
The Bendix CADC is an amazing electromechanical analog computer that was used by fighter planes in the 1950s. Tiny rotating gears and cams performed mathematical calculations. Let's disassemble one of the special servomotors that powered the gears and see how it works. 1/16
Helped get an old Xerox Alto running at
@TheDigibarn
yesterday. It's the first time in decades that this machine has worked. Photos show it running Star Trek and Missile Command games. (We couldn't run "serious" programs because of disk drive issues.)
Happy Pi day!
In 1980, Intel introduced the 8087 math coprocessor chip, speeding up floating-point math on 8086/8088 systems such as the IBM PC. Under the microscope, you can actually see the value of π in the ROM inside the chip: binary 11.001001...
We powered up the mysterious Up-data Test Box from the Apollo space program. It showed some lights and numbers on the display but we're still trying to figure out exactly what it does. 🧵
My die photos of the
@Intel
8087 floating point chip from 1980. Almost all floating point is based on this chip and today's desktop computers still run 8087 instructions. I reverse engineered the bias generator inside and explain how it works.
Ethernet was invented for the Xerox Alto in 1974, but its original 3 Mb/s Ethernet is incompatible with modern Ethernet. I built a gateway using a
#BeagleBone
to connect the Alto's Ethernet to the outside world.
In 1959, the IBM 1401 computer was built from boards called SMS cards. A single board might hold just 3 logic gates so the computer needed thousands of boards. Silicon transistors weren't popular yet, so they used germanium transistors.
Back when there were 12 pence in a shilling and 20 shilings in a pound, the IBM 1401 computer had optional hardware (i.e. transistors) to do arithmetic on pounds/shillings/pence. Of course, there were two incompatible data standards—BSI and IBM—so this knob selected the format.
The Intel 8086 microprocessor (1978) revolutionized the computer industry and led to the popular x86 architecture. It uses microcode, breaking machine instructions down into simpler micro-instructions. By studying the chip under a microscope, I can explain it. 🧵
I was looking at the patent for the 6800 microprocessor and it includes a slush maker‽ The microprocessor floor plan diagram shows up in a slushy drink patent. Unbelievably, the patent office swapped diagrams between these two unrelated patents issued on Oct 19, 1976.
Here's an interesting chip: a Soviet clone from 1987 of the famed Intel 8086 microprocessor (1978). Although the Soviet Union had their own microprocessors, they were years behind and mostly copied Western chips. 🧵
I just published a
#zeroday
attack to bypass disk passwords.
Since the Xerox Alto is 45 years old, this attack will have limited impact, but it does help us archive old disk packs.
The revolutionary IBM System/360 computers were announced 55 years ago today. These mainframes ruled the computing industry for years. Their iconic consoles, covered with lights and switches, showed internal state. I explain these consoles in my article:
A transparent IC? That's what we found inside a vintage HP floppy drive! The PHI chip (1977) is constructed from silicon-on-sapphire and you can see the gold "X" right through the die's sapphire substrate. 1/9
The Sega Star Trek arcade game (1982) had an unusual vector graphics display that drew lines instead of pixels. I reverse-engineered a semi-custom chip that generated high voltage for its display (die photo below). But to explain this, I'll need to explain how CRTs work.
Thread.
The Apollo Guidance Computer flew to the Moon with a 15-bit CPU built entirely from NOR gates and an ALU that could only add. One of the first computers built from ICs, it used 60% of US IC production in 1963. Each module held 120 simple surface-mount ICs.
After careful testing, we powered up the digital clock from a Soyuz space flight and it worked fine. Moscow time on top, stopwatch at the bottom. Surprisingly complex inside, over 100 Soviet flat-pack ICs and a switching power supply.
Earlier post:
IBM introduced the System/360 line of computers in 1964 and these mainframes took over the computer industry. Even today, mainframes still support System/360 code. I've written a simulator for the 360/50 computer. 1/n
The S-Band Transponder was the main radio transmitter/receiver on the Apollo missions to the Moon, communicating 239,000 miles back to Earth. We've wired one up and transmitted successfully through it with a big stack of test equipment. 🧵
In the 1970s, AMD's popular processor was the 4-bit Am2901. Multiple bit-slice chips could be combined for larger word sizes like 64 bits. Am2901 was used in minicomputers, F-16 plane, Battlezone video game. I opened one up and reverse-engineered its ALU:
Processor flags indicate if values are zero, negative, overflowed, and so forth. Flags are critical for loops and conditional statements. But how are they implemented? I took a close look at the silicon of the Intel 8086 processor (1978) to find out.