Building computers from discrete components is a fairly common hobby project, but it used to be the only way to build a computer until integrated circuits came on the scene. If you’re living in the modern times, however, you can get a computer like this running easily enough, but if you want to dive deep into high performance you’ll need to understand how those components work on a fundamental level.
[Tim] and [Yann] have been working on replicating circuitry found in the CDC6600, the first Cray supercomputer built in the 1960s. Part of what made this computer remarkable was its insane (for the time) clock speed of 10 MHz. This was achieved by using bipolar junction transistors (BJTs) that were capable of switching much more quickly than typical transistors, and by making sure that the support circuitry of resistors and capacitors were tuned to get everything working as efficiently as possible.
The duo found that not only are the BJTs used in the original Cray supercomputer long out of production, but the successors to those transistors are also out of production. Luckily they were able to find one that meets their needs, but it doesn’t seem like there is much demand for a BJT with these characteristics anymore.
[Tim] also posted an interesting discussion about some other methods of speeding up circuitry like this, namely by using reach-through capacitors and Baker clamps. It’s worth a read in its own right, but if you want to see some highlights be sure to check out this 16-bit computer built from individual transistors.
13 thoughts on “The Descendants Of Ancient Computers”
Having worked as a technician on a fully discrete computer many years ago; the Honeywell H400. All transistors and diodes were germanium (I sometimes still dream about working on that monster). I can appreciate what a monumental task this is, Bravo.
The thing that made the CDC6600 special was that it made use of the first silicon transistors developed commercially by Fairchild. These first silicon transistors were invented at Bell Labs by Atalia and presented at a conference in 1958. Jean Hoerni of Fairchild attended the conference and went on to develop the ingenious planar process that brought transistor production into the modern age and led directly to the possibility of modern integrated circuits. It used silicon of course but also some very clever passivation techniques that made the new transistors much more reliable and longer lived as well as much faster and cheaper. This early Si transistor history is as fascinating as the Cray story.
Umm… the CDC6600 was built by Control Data Corp, not Cray…
Semour Cray designed and built the 6600 while at Control Data.
So there’s nothing wrong with saying it was a Cray supercomputer in my mind.
The first computer Cray designed was the CDC-1604. We had one when I was in school a few years ago. :)
I never could understand how they got one to work reliably, let alone make more than one, with all those long bunched-up wires!
They were exactly measured bunched up wires
Indeed. Seymour didn’t like using global clocks. Instead, he preferred using wires with precisely right lengths so that input signals would arrive at a gate at just the right time. It made debugging the hardware…challenging.
I can’t say if he LIKED them or not, but all the Cray Research machines I worked on had a global clock.
Take a peek at 2-4 in the hardware reference manual located here: https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwjUoIvz_d7pAhUIoXIEHWacChsQFjAWegQIBRAB&url=http%3A%2F%2Fwww.bitsavers.org%2Fpdf%2Fcray%2FCRAY-1%2FHR-0004F_CRAY-1_Computer_Systems_Hardware_Reference_Manual_May82.pdf&usg=AOvVaw3UorOIJIB0VL4Pvj53MMTK
That doesn’t negate that the Cray machines had well-tuned wire lengths both inter and intra-board to make the signals get where they were supposed to go “at the right time”.
All the Cray Research machines I worked on had a global clock.
See section 2-4 in this document: http://www.bitsavers.org/pdf/cray/CRAY-1/HR-0004F_CRAY-1_Computer_Systems_Hardware_Reference_Manual_May82.pdf
That doesn’t negate the fact the interconnections both interboard and intraboard were made the right length for signals to get where they were going “at the right time”.
Wait state reduction by physical design? Back in ye olden times of the 1980’s computers (especially PCs) could be given a significant speed bump by installing RAM faster than specified so it would be ready to read or write immediately at the beginning of each cycle rather than a few ticks later near the middle or end of the time window.
The read/write time windows had fixed start times and maximum times before a timeout error, but the minimum times were not fixed so that as soon as a read or write completed it would start the next cycle. If the windows were a maximum of 200ns and the specifications called for 150ns RAM to give some cushion for delays, swapping in 70ns RAM would really light a fire under it – and all your games dependent on the speed of a totally stock IBM PC, XT, or AT would run too fast to play.
Part of the reason for relatively slow speed is because they are discrete components. If you compare, discrete mosfets are also fairly slow (although usually faster than BJTs). Integrated circuits are much faster because the components are tiny.
Next lesson. How to solder. Ouch, on those blobs.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)