First Mover: Intel’s 4-bit 4004 CPU Turns 50

First Mover: Intel’s 4-bit 4004 CPU Turns 50

Intel hired Faggin to solve a problem: It had negotiated a deal with the Japanese calculator company named Busicom, in which Intel was to produce a four-chip calculator design for upcoming Busicom products. The problem was, nobody at Intel could actually build the CPU. At the time, Intel was principally a memory company. Faggin was briefed on the behind-schedule Busicom project on his first day. In his own account of the 4004’s development, published back in 2009, Faggin wrote:

Stan also told me that Shima was arriving in a few days to check on the progress, expecting to find the logic design of the CPU completed and the other chips in an advanced state of design. The problem was that since late 1969 no work had been done on the project, and Busicom was not told about it.

When I saw the project schedules that were promised to Busicom, my jaw dropped: I had less than six months to design four chips, one of which, the CPU, was at the boundary of what was possible; a chip of that complexity had never been done before. I had nobody working for me to share the workload; Intel had never done random-logic custom chips before, and, unlike other companies in that business, had no methodology and no design tools for speedy and error-free design.

Faggin goes on to note that people at Intel like Andy Grove, “…considered my project a diversion dreamed up by the marketing guys to make some money while waiting for the memory business—the real mission of Intel—to mature.”

First Mover: Intel’s 4-bit 4004 CPU Turns 50

Despite these difficulties, Faggin delivered the CPU by December of 1970. The 4004 was built using then-new Metal Oxide Semiconductor (MOS) silicon gate technology. It contained 2300 random logic transistors, with a basic instruction cycle time of 10.7us, or roughly 92,000 instructions per second. While this level of performance doesn’t exactly turn heads today, the 4004’s ability to deliver that kind of performance in a four-chip design was a breakthrough in 1971.

Even the chip’s naming convention was new. Faggin began a new method of naming, grouping the 4001 (ROM), 4002 (RAM), 4003 (Shift Register) and 4004 (CPU) in sequence, to show they were part of the same product family. Intel’s 4004 would be replaced by the 8008, 8080, 8085, and, eventually, the 8086. Faggin would go on to found Zilog, an early competitor (to who?) whose Z80 CPU was popular in the late 1970s and early 1980s. Zilog focused on the microcontroller market rather than chasing Intel into the high performance microprocessor business, but the company is still in business today.

As for the 4004, it’s not directly related to the x86 CPUs we use today, but one might think of it as an australopithecine to our own Homo sapiens. While Intel’s “8008” moniker was chosen to build directly off the success of the 4004, the 4004 and 8008 designs are not related and it was the latter that lead to the x86.

Chips like the 4004 and the 8008 (as well as various CPUs from Intel’s competitors like the somewhat later 6502) demonstrated that there was a burgeoning market for small microprocessors that were nowhere near as powerful — or as expensive — as the mainframe-class hardware available at the time from companies like IBM. Intel would eventually shift away from memory and pour more resources into CPU development.

Looking back at the 4004 emphasizes just how far we’ve come. The 4004 ran at 750KHz. It shipped at a time when IPC (Instructions per Cycle) was more generally discussed as CPI — Cycles per Instruction, and it took a minimum of ~8 clock cycles to process a single instruction. It can be hard to remember there was a time when a calculator took more chips (and more silicon area in total) than what is now required to power a modern iPhone or Android device. In less than a single human lifetime, we’ve increased clockspeeds by ~6000x, to say nothing of the improvements to IPC, power consumption, and die area.

Happy 50th birthday to the 4004 and the microprocessor revolution.

Continue reading

Microsoft Adds 64-bit x86 Emulation to Windows on ARM
Microsoft Adds 64-bit x86 Emulation to Windows on ARM

Microsoft announced today that the expected support for 64-bit x86 emulation on Windows on ARM devices has arrived, provided you are running Build 21277. You'll need to be part of Microsoft's Windows Insider program to test the build.

Apple’s M1 Crushes Windows on ARM in 64-bit Benchmarks
Apple’s M1 Crushes Windows on ARM in 64-bit Benchmarks

Now that Windows on ARM can emulate 64-bit x86 apps, how do these systems compare against Apple's M1? Not well, it turns out.

Microsoft Introduces Windows 11: New UI, 64-Bit Only, Mandatory Accounts
Microsoft Introduces Windows 11: New UI, 64-Bit Only, Mandatory Accounts

Microsoft lifted the lid on Windows 11 today, capping several weeks of speculation, testing, and argument over the size of the OS update and the degree to which it would upend the status quo.

AMD Unveils Zen 4-based Dragon Range CPUs For ‘Mobile Gaming Dominance’
AMD Unveils Zen 4-based Dragon Range CPUs For ‘Mobile Gaming Dominance’

AMD will be pulling no punches with its next generation of Zen 4-based mobile gaming CPUs.