Our mission is to make computer science and digital electronics accessible to students, hobbyists, and the curious public. Our first interactive exhibit was commissioned by the Intel Museum in 2005.

Happy 48th Birthday Intel 4004 microprocessor!

The Exhibit Story

Genesis

In 2004 I became intrigued by a new kind of packaging for SSI (Small Scale Integration) logic gates, the DSBGA (Die Size Ball Grid Array). I had been waiting for years to see chips without packages, and this was the closest thing I had ever seen. A DSBGA "package" is nothing more than a "bare die" with a grid of solder balls welded to the pads so it can be flipped upside down and soldered to a printed circuit board like any other surface-mount device. But what I found more inspiring was that an entire logic family was now available with one gate per package. Now a printed circuit could be laid out just like the schematic or... just like a "standard cell" VLSI chip! And the end result, not being microscopic, would be easy for anyone to see and better appreciate.

Knowing that robotic "pick-and-place" machines were now the standard way of assembling electronics, and made the whole idea practical to produce, I started thinking. What could I build out of this "retro," one-gate-per-chip technology? Some sort of microprocessor seemed like a natural. But modern microprocessors have millions of transistors, so I knew I'd have to keep the project very modest, like restricting the data-path to 4-bits. This meant I'd have to design my own, or... go back in history and build a replica of a commercial micrprocessor. Besides, reproducing a commercial microprocessor, rather than re-inventing my own, would allow me to use existing software and existing manuals, data sheets, wisdom of the ages, etc.

The first microprocessor that came to mind was the Intel 4004. It was not nearly as famous as the 8080, and its 8-bit progeny, but my late step-father, Joe Robb, worked for Intel in the early 1970's, and I still remember when brought home some MCS-4 data sheets. MCS-4 (Microcomputer Set 4) was the name Intel gave to the 4004 chip family for its commercial introduction in November 1971.

In search of the circuit

So that was settled, but how to get the schematics? Joe, as I called him, had also brought home other goodies from Intel, among them an individually packaged C3102 register file chip--undoubtedly an engineering sample. Decades later, in 2000, I was curious enough about this historical relic I had in my possession, that I wrote a letter to the Intel Archives, and much to my surprise, received a big envelope in the mail a few weeks later with a data sheet and other historical information about Intel's early days.

During this research spree I also learned that the Intel Archives and the Intel Museum were somehow connected. This helped me turn a notion into a plan: I wrote to Tracey Mazur, the curator of the Intel Museum, and Rachel Stewart, Intel's corporate archivist, with a proposition: if you give me access to internal 4004 engineering documents, I will build you a giant, functioning replica of the 4004 suitable for a museum exhibit.

Around the same time I started looking for vintage software to run on the giant 4004 replica. I wrote to Federico Faggin and to Marcian "Ted" Hoff, two of the four co-inventors of the 4004 (I was never able to contact the other inventors, Busicom's Masatoshi Shima or Intel's Stan Mazor). Both Faggin and Hoff wrote back, Faggin with a general offer of advice, and Hoff with software for a 4004-based video game design that Intel pitched to a potential customer.

At this time, I was not optimistic about gaining access to schematics or the mask artwork that was used to create the original 4004 wafers, and so I began devising a "Plan B." I was even starting to wonder if there were any schematics to be found, having read interviews that suggested that no complete logic diagram was ever drawn of the 4004. In consultation with Federico Faggin and MIT's Tom Knight, I mentally prepared myself for reverse-engineering the 4004 "the old-fashioned way," by photographing the metal layer through a microscope, and then etching that top layer away to reveal the polysilicon layer, photographing that, and using enlargements of these photomicrographs to meticulously transcribe every transistor and wire.

A few weeks later I got word from Tracey Mazur that Intel's legal department would allow us access to the 4004 engineering documents, and Rachel Stewart was offering encouraging news about her research.

In late July of 2005 I flew to California to meet with Federico Faggin and Rachel Stewart at the Intel archives. The visit was amazingly brief and nearly a complete success. Faggin picked up three large engineering drawings on vullum, a translucent plastic sheeting, unrolled them one-by-one, and declared within 30 seconds, "Yes. This is all of them." Rachel and I looked at each other approvingly, as Faggin adds, "See here? The drawings are drawn just like the chip layout."





The Calculator connection

Just before my trip to Silicon Valley, Federico alerted me to the existence of an engineering prototype of the Busicom 141-PF calculator that he donated to the Computer History Museum in Mountain View, California. Besides the fact that there are fewer than a dozen production 141-PFs known to still be in existence, the significance of this particular relic was that it has socketed ROMs. This might allow us to recover the original calculator software, if we could construct a custom-mode ROM reader for the unusual 4001 ROMs compatible with the 4004 family. Federico was able to dig through his house and lend me some test ROMs that I could use to develop my ROM Reader.

Reverse Engineering the schematics

Once back home, I sent the schematics to Brian and Barry Silverman, who immediately started trying to figure out how the 4004 worked in detail. To aid in their quest for understanding, they entered the schematics using Dia, an open-source diagram editor similar to Microsoft Visio, wrote some scripts to translate the Dia schematics into a simulatable netlist, and built themselves a "zero propagation delay" transistor-level simulator. The end result was a beautifully animated simulation of the 4004 running a very short test program running at a clock speed of maybe 4-10Hz





Meanwhile I continued to develop the ROM reader, periodically sending Brian and Barry my results to see if the binary data I was extracting yielded valid 4004 code. After some struggles with the unusual voltage levels used by the 4001 ROMs, we succeeded in extracting a significant fraction of the Busicom software from the ROMs Faggin had found in his basement. The bad news was that there were large strings of zeros in three out of four of the calculator ROMs. We would have to find another source.

Digital Archeology Expedition

Over Thanksgiving 2005, Fred Huettig had plans to see his brother in California. I made arrangements with Dag Spicer for Fred to visit the Computer History Museum to extract the digital contents of their Busicom 141-PF calculator. Fred brought with him my 4001 ROM Reader and Sellam Ismail carefully removed the ROMs, including, much to our delight, the rare 5th ROM containing the Square Root function. He then placed each 4001 in the ROM Reader for Fred to upload to his laptop. Fred also traced the wiring harness to the calculator keyboard. Mission accomplished with only a minor casualty, a broken pin on one of the ROMs.

After Fred returned to Boston, I immediately sent the ROM contents to Brian and Barry, who used Fred's wiring diagram along with printed circuit board photographs I received from Christian Bassow, a German chip collector. Within a month, they had crafted an instruction-level simulator of the 4004 as well as simulated Busicom hardware, and by January 2006, they had a completely working simulation of the Busicom 141-PF printing calculator.

Verilog simulation of the 4004

In parallel, Fred was working on his own schematic capture using a commercial CAD package, and was well on his way to automatically deriving a functional Verilog model of the 4004 to verify that the schematics were correct. By spring of 2006, Fred's simulator was correctly executing the lion's share of the original 4004 diagnostics ROM Faggin allowed me to keep.

Funding and Exhibit design

This is around the time that the project funding from the Intel Museum was approved, and work began in earnest to design the physical exhibit. Intel brought in their marketing agency to design the overall look of the exhibit. After only a few months of behind-the-scenes design work and weekly conference calls, the talented design team turned my back-of-the-envelope sketches into an attractive exhibit worthy of a museum. I worked closely with a copywriter and the Intel Museum to wordcraft the exhibit's text to explain the historical context, the function of the 4004, and the calculator software.

Letting visitors "look under the hood"

One of my main goals for the museum exhibit was to allow museum visitors to gain an appreciation for the "machinery under the hood," the inner workings of the 4004 and the Busicom calculator. To this end, I specified a large, animated flowchart that shows the path that the microprocessor takes through the calculator software when you press a button on the keyboard. To show the calculations in-progress, another display shows the calculator's internal registers.

Exhibit Detail and Construction

Once the design was completed Intel brought in an exhibit fabrication firm to detail the design and construct the non-technology parts of the exhibit. Together we fashioned a realistic scale model of the chip's package and the bond wires that connect chips to the "outside world."

Out of the vaults and into the world