
Die photos and analysis of the revolutionary 8008 microprocessor, 45 years old - kens
http://www.righto.com/2016/12/die-photos-and-analysis-of_24.html
======
contingencies
Not directly related but just last week I just gifted two Intel 8088 machines
including one in a really beautiful case with original "3 year warranty!"
sticker, along with other stuff (period disks, Apple LCII, Apple II,
SGI/SunOS/Solaris stuff, etc.) to [http://acms.org.au/](http://acms.org.au/)
who are looking for an exhibition location for their huge collection. As a
registered charity, space donations are tax deductible and can help meet
council public space/cultural requirements for new developments. Requirements:
Sydney or Canberra, 100-300m2 exhibition space (really 200+), 500-1000m2
storage space (500+ already in use).

~~~
watersb
Thank you for doing this.

In 2011, I donated a mass of Mac computers to a podcaster who wanted to set up
a museum of Mac history. It was a lot of work.

Not news to the HN readers, but yeah: computers used to be even more difficult
to use than they are now. And of course getting all of the bits together for a
working system takes a lot of time.

------
ChuckMcM
Very cool, as I recall the 8080 needed multiple power supplies and a clock
generator and the 8080A made those internal to the chip. The Z80 was usable
with no support chips at all and I believe that was the primary motivation for
the 8085.

When you look that notion of the 8238 you can see the seeds of the 'south
bridge' that was so prevalent in PC design. Intel systems broke apart as
"memory" (northbridge), "compute" (cpu), and "i/o" (southbridge). That has
been a pretty successful architecture and one that ARM would do well to
emulate for their non-SoC offerings.

------
kibwen
Despite how simple the 8008 is compared to modern processors, I wonder if
we'll ever see some sort of commercially-available "3D printer for circuits"
that would be able to reproduce something of its caliber. Such a thing would
finally enable truly open computing at every level, which, even if far less
capable than high-end processors, would be sufficient for lots of tasks.

~~~
yaakov34
You can easily replicate a 4000-transistor microprocessor with the lowest-end
FPGA for a few dollars - cheaper than any 3D-printing process for silicon that
I can imagine. It would, of course, also be reprogrammable, making it very
cheap for prototypes and experiments.

~~~
kibwen
From a security perspective, how feasible is it for a state-level actor to
usefully backdoor a FPGA? I imagine that part of the appeal of personally-
fabricated hardware is that, if you validate the design, you have greater
assurance about the code executing on your machine. Sort of like the
difference between compiling from source and trusting a binary blob (though,
just like compilers can be backdoored, I imagine there are theoretical attacks
involving subverting the fab itself...).

~~~
pjc50
Backdooring the device itself is equally hard/easy as any other form of IC.
The question is, with what? Because it doesn't have a fixed function it's
almost impossible to set up any specific subversive behaviour in advance
without knowing what might be run on it.

The most likely attack would be an override of the code protect/security
fuse/anti-JTAG features. But that's only useful when the attacker has got hold
of the device and is probing it.

~~~
kibwen
> Because it doesn't have a fixed function it's almost impossible to set up
> any specific subversive behaviour in advance without knowing what might be
> run on it.

This is precisely the essence of my question, given that I have little
knowledge of FPGAs and have no real clue how much each reprogrammed circuit
has in common with any other. :)

~~~
pjc50
> how much each reprogrammed circuit has in common with any other

Very little. An FPGA is a set of reprogrammable logic blocks (LUTs) of very
small size, plus a number of special purpose peripherals. The "layout" process
of assigning functions to LUTs is usually done with simulated annealing and
random perturbation. The compiler won't necessarily give the same output from
the same input, let alone slightly different input.

The fixed-function blocks and any embedded processors (e.g. Nios) are more
targetable. But you could also e.g. set up the clock PLL to leak the FPGA
configuration slowly via spread-spectrum modulation.

~~~
kibwen
I'm fascinated to hear that the process of programming a FPGA involves genetic
algorithms! Where can I read more about that?

~~~
prewett
Simulated annealing isn't technically a genetic algorithm (nor is random
perturbation). Simulated annealing jiggles things randomly (in this case,
probably locations of LUTs), with decreasing amplitude over time. The
amplitude of the random perturbations is the "temperature," which decreases
until the system has settled into a (hopefully global) optimum. So basically
this system will start moving the LUTs around a lot, keeping the most optimal
results, and gradually start moving them around less and less until the result
doesn't change for a while.

A genetic algorithm, by contrast, encodes the system into a "string" (like a
DNA strand), and then swaps pieces of strings between two "organisms," just
like genetic mating does. The most optimal descendants are kept, the least are
discarded, and the process is repeated. This would be harder to implement for
locations, as you would have to encode locations onto a string, and be able to
swap pieces of strings while maintaining the functionality of the LUTs.

------
userbinator
The instruction encoding of the 8008 is best seen in octal, like its
successors, which makes it quite easy to decode:

[http://pastraiser.com/cpu/i8008/i8008_opcodes.html](http://pastraiser.com/cpu/i8008/i8008_opcodes.html)

1/4 of the opcode space is moves and 1/4 is ALU ops. It is quite RISC-like in
its simplicity, although it does contain memory-register ops.

~~~
kens
Most of the time octal causes me pain, but octal is definitely the way to
understand Intel instruction sets. In hex you can sort of see some patterns,
but in octal things are trivial.

The octal encoding goes back to the Datapoint 2200, which use BCD decoder
chips (7442) for instruction decoding. These were used to decode three
instruction bits at a time, so the instruction set of the Datapoint 2200 (and
thus the 8008) was based on groups of three bits. Among other things, that's
why the 8008 has 7 registers (A, B, C, D, E, H, L) - the 8th value was used to
indicate a memory access.

Also see "x86 is octal":
[http://www.dabo.de/ccc99/www.camp.ccc.de/radio/help.txt](http://www.dabo.de/ccc99/www.camp.ccc.de/radio/help.txt)

------
indexerror
Very cool. I wish university professors use this article as a precursor to the
computer architecture course material. Its much more interesting to study
something when you have a historical perspective that you can relate to later
on in the course.

~~~
ilogik
my microprocessor course in college was actually based on the 8008 (or
something similar).

We laughed about it that it was old, but pretty much everything still applies
in today's micocontrollers

~~~
Roboprog
Z80, back in the mid 80s.

------
intrasight
When I was a teen, my older brother loaned me his copy of the book "State of
the Art : A Photographic History of the Integrated Circuit" which included a
die photo of the 8008. And thus began my love affair with computers.

------
WestCoastJustin
Can anyone recommend a few books on chip manufacturing? I am completely blown
away at the scale they are working with here. I'm particularly interested in a
"how it's made" type book. This is obviously something that requires
significant upfront investment. The scale makes this seem so difficult. I'm a
total newb is this area so I might not even be asking the right questions yet.

~~~
abecedarius
Back in the 80s I took a freshman lab course on this at Caltech. The course
notes were available at the campus bookstore, but I don't think they were ever
a proper book with an ISBN (and I hope there's something newer, though maybe
there's not much new to say about the kind of crude small-scale ICs we got to
make in the lab).

------
ilogik
I like how similar the Vcc and GND lines are to the circulatory system
(arteries and veins), especially with those colors

~~~
dom0
In ye-olde planar layouts (TTL-era) they were routed quite similar, like
arteries and veins, with small 100n caps and the TTL chips as a sort of
capillaries.

However, this kind of power supply routing (not sure Am. call it
idiomatically, some here call it a "ladder supply/layout") has poor electrical
properties, unsuitable to operating logic beyond a couple MHz.

------
Aardwolf
Is there a diagram of this CPU or similar available which is at the logic gate
level rather than transistors?

Thanks! :)

~~~
gregsadetsky
Great question! I found this after a bit of searching:

[http://www.cs.princeton.edu/courses/archive/fall09/cos126/le...](http://www.cs.princeton.edu/courses/archive/fall09/cos126/lectures/22CPU-2x2.pdf)
(see next to last page)

------
SN76477
Thanks, looks like a great read.

