5
\$\begingroup\$

A lot of introductory resources on modern CPU present them as being built from NAND gates (see here and there for instance).

Actually, it is possible to build a modern CPU using almost exclusively that single component, because of functional completeness (see NAND logic) and because a NAND gate is something not too difficult to conceive from CMOS transistors (see here).

Now, if we wanted to explain how vacuum tube computer were conceived, before the advent of semi-conductors, would a description based on logic gates be accurate?

\$\endgroup\$
11
  • 4
    \$\begingroup\$ A vacuum tube was the predecessor of the modern (stand-alone) transistor. So your last question is unclear, as transistors did not exist. \$\endgroup\$
    – PMF
    Commented Feb 29 at 13:46
  • 1
    \$\begingroup\$ not 'almost exclusively', but exclusively NANDs, if you really wanted to do it. The triode valve was a fundamental component, with a pair cross-coupled into a latch. \$\endgroup\$
    – Neil_UK
    Commented Feb 29 at 13:53
  • 1
    \$\begingroup\$ Some early computers were based on dekatron counter tubes and not binary logic elements. See tnmoc.org/first-generation-gallery \$\endgroup\$
    – 6v6gt
    Commented Feb 29 at 14:23
  • 1
    \$\begingroup\$ @Weier Vacuum tubes behave most similarly to JFETs, though not entirely (they're not symmetric, for one thing). You could make logic gates (including NAND) out of them, but that's not how designers thought at the time--many early computers weren't even binary, because everyone thought in decimal. \$\endgroup\$
    – Hearth
    Commented Feb 29 at 16:58
  • 1
    \$\begingroup\$ Not everbody thought in decimal, see Konrad Zuse as an example. \$\endgroup\$
    – PDP11
    Commented Mar 4 at 10:03

6 Answers 6

9
\$\begingroup\$

There were a lot of variations of vacuum tube computers. The idea of carrying out computations electronically was new, and the folks hadn't quite nailed down the mathematics of it, never mind having figured out the most efficient way to store and operate on numbers electronically.

ENIAC was one of the first (if not the very first) electronic computer. Whether you want to call it the first depends on where you draw the line between calculator and computer.

From today's perspective, ENIAC was bizarre. It didn't work in binary. It operated natively on decimal numbers. Where today we have bits representing 1 and 0 and then group them in bytes or other larger groups for larger numbers, ENIAC used a ten position ring counter with carry output to represent a standard decimal digit as its smallest storage unit.

This was a carry over from mechanical calculators, so it was easier for the folks who were used to the older equipment to conceive and construct.

It took 36 tubes in the ENIAC to represent one digit. A modern binary system can store 4 bits (allowing values from 0 to 15 to be stored) in four flip-flops, each with two transistors for 8 transistors total. You can build an equivalent flip-flop with tubes. A four bit storage unit with tubes would have only take 8 tubes.

It seems obvious today that you want to use binary to represent your numbers, but it wasn't obvious back then. With a ring counter for digit storage, you get adding and carry as part of the function - you have to add more logic for adding and such to the binary memory. Without an overview of the situation, it is hard to tell which will end up being simpler and more efficient.

With time, it became clear that it was simpler and more efficient for the machines to work in binary, even though that meant your programmers and system engineers had to learn to work in a different numerical base.

You could build a vacuum tube computer entirely out of NAND gates. A vacuum tube functions similar to a transistor, so you could duplicate any transistor logic circuit with tubes.

You probably wouldn't want to do that, though. If you use only NAND gates, you will sometimes have to use multiple gates to build a specific logic funtion. An AND gate is a NAND gate followed by a NAND gate wired to make a NOT gate. That takes more transistors (and tubes) than building an AND gate. Individual tubes cost far more than individual transistors and they fail very often - you want to reduce the number of tubes to reduce costs and failures. You'd build each logic circuit of the appropriate type rather than assembling them from NAND gates.

\$\endgroup\$
3
  • \$\begingroup\$ Other early digital computers such as CSIRAC were binary (20-Bit words) cis.unimelb.edu.au/__data/assets/pdf_file/0009/3775482/… There certainly were computers based on decimal but even those circuits could be based on binary logic elements. \$\endgroup\$
    – PDP11
    Commented Mar 2 at 12:43
  • \$\begingroup\$ The more I dug into this the earlier it gets. First stop was Konrad Zuse and his binary computer that predates the US computers. This led back to the patent for an AND gate by Tesla in July 1900. popularelectronics.technicacuriosa.com/2017/03/31/… \$\endgroup\$
    – PDP11
    Commented Mar 4 at 9:50
  • 3
    \$\begingroup\$ Actually the first turing complete, binary digital computer would have been by Konrad Zuse, built four years (also disassembled) before ENIAC. \$\endgroup\$
    – PDP11
    Commented Mar 5 at 13:31
6
\$\begingroup\$

Here is one of the early papers. The early computer designers didn't think in "logic gate" terms. The basic flip flop was cross-coupled inverters clocked from the cathodes. There was much capacitive coupling: computation often utilized trains of pulses instead of static levels.

Edit:

And here's another example. enter image description here From a logic viewpoint, the tube is a two-output gate, ~(A&B) along with A&~B. But you won't see that in the patent. This is different from a CMOS implementation: logic using differential amplifiers in this way is very rare (extinct?) these days.

Yet another edit:

If you're building a computer from NAND gates, your basic bistable element is going to be something like this:

schematic

simulate this circuit – Schematic created using CircuitLab

But you never see anything like this in early papers or books. This seems not to have been part of the conceptual framework the early designers used. The internal switching within early flip-flops doesn't even match the architecture of early gates, even though that was a possibility. The early papers and books put bistable circuits before logic, which indicates that the authors considered logic to have a supporting role, not a central one. The idea of something like NAND as a universal building block was not present.

Still another edit:

electronics.stackexchange.com/questions/318341/… suggests that the modern edge-triggered flip flop, composed of Boolean gates, appeared in the 1960s. Before that, edge triggering was widespread, but implemented with capacitors, a distinctly non Boolean approach.

\$\endgroup\$
1
  • \$\begingroup\$ @All - The long comment chain here has exceeded what is reasonable for comments. Therefore comments have been moved to chat & should be continued there. Here is the chatroom link. -- As this bulk moving of comments to chat can only be done once per answer, any further comments posted here might be deleted without notice. Keep it in chat now, please! \$\endgroup\$
    – SamGibson
    Commented Mar 11 at 0:51
3
\$\begingroup\$

Vacuum tube computers were made of logic gates

Logic Gate theory dates back to Leibniz's 1690 discovery of his algebra of concepts (deductively equivalent to the Boolean algebra). Also see A Survey of Symbolic Logic by Lewis, UC Press Berkley 1918.

The use of digital logic elements such as AND, XOR, etc., were well understood before the first digital computers. Boolean algebra was introduced in the period of 1847 to 1854 and formally introduced as Boolean Algebra in 1913. To quote Wikipedia "Boolean algebra has been fundamental in the development of digital electronics, ...".

For example, the patent for an AND gate by Tesla US Patent No. 725,605 on 14 April 1903. Walther Bothe, inventor of the coincidence circuit, got part of the 1954 Nobel Prize in physics, for the first modern electronic AND gate in 1924.

Prior to vacuum tube computers there were earlier mechanical calculating devices refer to papers such as relay switching circuits

Just because a computer was designed for calculating decimal numbers didn't mean that they did not include binary logic gate circuits.

Konrad Zuse designed and built electromechanical logic gates for his computer Z1 (from 1935 to 1938). His binary computer predates the US computers, to quote from Wikipedia:

His greatest achievement was the world's first programmable computer; the functional program-controlled Turing-complete Z3 became operational in May 1941. Thanks to this machine and its predecessors, Zuse is regarded by some as the inventor and father of the modern computer.

Zuse was noted for the S2 computing machine, considered the first process control computer. In 1941, he founded one of the earliest computer businesses, producing the Z4, which became the world's first commercial computer. From 1943 to 1945 he designed Plankalkül, the first high-level programming language. In 1969, Zuse suggested the concept of a computation-based universe in his book

Rechnender Raum (Calculating Space).

Much of his early work was financed by his family and commerce, but after 1939 he was given resources by the government of Nazi Germany. Due to World War II, Zuse's work went largely unnoticed in the United Kingdom and United States. Possibly his first documented influence on a US company was IBM's option on his patents in 1946.

In 1938 there was Claude Shannon's paper on switching circuits and Boolean Algebra.

Text books of the vacuum tube era described the design of digital computer circuits using logic gates.

Jacob Millman helped develop RADAR systems and wrote 8 books on electronics. These books included the Millman and Taub, Pulse and Digital Circuits, McGraw Hill 1956, Library of Congress 55-11930 VIII 42385. Chapter 5, The Bistable Multivibrator, Pages 140-173. In these 34 pages they describe the theory and application of vacuum tube pulse techniques for systems like RADAR, frequency counters, etc. Absent was any mention of digital computer design.

Like the previous 4 introductory electronics chapters from 'Review of Amplifier Circuits' to 'Non-Linear Wave Shaping' and the following 7 chapters which continued analysis in terms of pulse techniques for circuits ranging from 'Monostable and Astable Multivibrators' to 'Synchronization and Frequency Division'.

Chapter 13, 'Digital Computer Circuits', Pages 392-428 details the circuit operation of OR, AND, NOT and XOR in terms of Boolean Algebra. When describing a register that was built using the available technology it would now be described as an RS Flip-Flop the chapter has these illustration: RS Flip-Flop Half-Adder Circuit Logic

This book along with the other 1940s and 50s references predates the 1962 MIL-STD-806B which defines our current drawing symbol set. Historically logic gates were just drawn as square boxes, e.g. Millman and Taub, Fig 13-28 Page 414, Fig 13-35 Page 421, Table 13-1 Page 420 above, or the below referenced IBM 704 Logic Symbols, 704_schemVol1.pdf, Page 4: IBM 704 Logic Symbols

It was impossible for these earlier references to draw their computer designs using a symbol drawing set that didn't exist.

To quote from Wikipedia's Karnaugh map entry:

The Karnaugh map (KM or K-map) is a method of simplifying Boolean algebra expressions. Maurice Karnaugh introduced it in 1953 as a refinement of Edward W. Veitch's 1952 Veitch chart, which was a rediscovery of Allan Marquand's 1881 logical diagram aka Marquand diagram but with a focus now set on its utility for switching circuits. Veitch charts are also known as Marquand–Veitch diagrams or, rarely, as Svoboda charts, and Karnaugh maps as Karnaugh–Veitch maps (KV maps).

Therefore digital logic elements were well understood when the first vacuum tube computers were designed.

Logic elements such as AND, OR and Inverters were used in the design of early vacuum tube computers. Wikipedia entry for IBM states:

It offered its first commercial stored-program computer, the vacuum tube based IBM 701, in 1952.

Bitsavers in the Computing Archive contains reference material for early computers from various manufacturers. In the IBM 701 folder there is an extract from the Proceedings of the Institute of Radio Engineers (I.R.E). For all publications see Proceedings 1913 to 1962. In 1963 the name was changed to Institute of Electrical and Electronics Engineers (IEEE).

The October 1953 extract (Buchholz_IBM_701_System_Design_Oct53.pdf), Page 1262, System Design of the IBM Type 701 Computer. This provides an introduction to the system. Starting on Page 1287 is the article The Arithmetic Element of the IBM Type 701 Computer. Page 1289 has the Circuit Operation section which includes a diagram of an adder constructed of AND, OR and NOT gates.

The bitsavers site also has the engineering diagrams for the IBM 704 (e.g. 704_schemVol1.pdf) IBM 704 computer which was introduced in 1954. As an example, the System Diagrams in the Volume 1 schematics book uses AND, OR logic gates.

At one time I had engineering drawings for the UNIVAC I and that used blocks of logic. Unfortunately these drawings are long gone and I cannot provide references to that material.

In reference to the question posed, a description based on logic gates is appropriate.

To implement these logic elements refer to material such as:

\$\endgroup\$
16
  • \$\begingroup\$ I think you meant 19*64* for the 704… \$\endgroup\$ Commented Mar 2 at 3:34
  • \$\begingroup\$ Thank you, fixed the typo. \$\endgroup\$
    – PDP11
    Commented Mar 2 at 10:07
  • \$\begingroup\$ Your research shows that the 701 design included gate-based thinking, but it was mixed with more physical ideas. Where are the gates in the "delay unit" on page 1293? \$\endgroup\$
    – John Doty
    Commented Mar 4 at 13:48
  • \$\begingroup\$ Refer to the 'Microsecond Delay Unit' and circuit operation discussion on Pages 1288 to 1290. The Accumulators can require upto 1 microsecond to perform their operations and the delay units are on the outputs for signal timing. See the associated Figures 1 through 5. That is why at Page 1293 it states "Once again, the use of delay units in the accumulator register simplifies the process" The function of delay units for timing had been discussed starting at Page 1288. To achieve memory timing delays the PDP-11/05 used delay lines. All these timing functions used the simplest technique available \$\endgroup\$
    – PDP11
    Commented Mar 5 at 9:57
  • \$\begingroup\$ @PDP11 "All these timing functions used the simplest technique available." So, you agree with me that "a description based on logic gates", to use the words of the OP, isn't what early designers employed? \$\endgroup\$
    – John Doty
    Commented Mar 5 at 17:03
3
\$\begingroup\$

As others have said, the short answer is "yes". But that's not very interesting, so let's get a bit more detail.

Here are a few extracts from the IBM 650 "Manual of Instruction".

enter image description here

At the time, IBM referred to "AND" and "OR" gates as "Switch" and "Mix" respectively--but the labeling in the diagrams reveals their true nature:

enter image description here

As the note makes clear, this an OR gate with three inputs (A, B, and C) and D equivalent to a Chip Enable line.

Here's the AND gate:

enter image description here

Again, although the caption calls it a "switch", the labeling makes it clear that this is an AND gate.

The IBM 650 was late enough in the vacuum tube era that some versions of it used semiconductor diodes for part of the logic as well, using something similar to diode transistor logic (DTL), but with vacuum tubes instead of transistors:

enter image description here

So yes, one of the biggest vendors of the time documented circuits to create AND, OR and NOT gates in a real computer, both in pure vacuum tube form, and in mixed vacuum tube/semiconductor form (but only semiconductor diodes, not yet transistors).

If you're asking whether these were built into something like a 7400 series IC, with a physical module that implements a particular gate, again the answer is yes. For example:

enter image description here
[...]
enter image description here

In case you care what the modules looked like, here's an illustration from another IBM manual:

enter image description here

Summary

A description based on logic gates not only would be accurate, but in fact descriptions of the time were based on logic gates. Some of the wording is mildly foreign to modern readers, but there's enough explanation there to be clear with only minimal effort.

References

https://bitsavers.org/pdf/ibm/650/22-6284-1_650_CE_Manual_of_Instruction.pdf

A video about reverse engineering a module, with both a picture from the manual, and of a module he found and reverse engineered:

https://www.youtube.com/watch?v=e6OqUsPVWHc

\$\endgroup\$
8
  • \$\begingroup\$ The question isn't whether early computers contained gates, but whether gates were the universal building block. And for that, the answer is no, since flip-flops were not constructed by connecting gates together. In most presentations, flip-flops are described before gates: they are seen as more fundamental. \$\endgroup\$
    – John Doty
    Commented Apr 2 at 12:48
  • \$\begingroup\$ @JohnDoty: While the question does refer to a universal building block (a NAND gate) I don't see anything saying or even suggesting that this was intended to be the essence of the question, nor do I see much to suggest that when tube-based computers were being conceived flip flops were considered more fundamental than gates. \$\endgroup\$ Commented Apr 2 at 19:21
  • \$\begingroup\$ Go read the Burks paper: flip-flops presented before gates. Or the Millman an Taub text, same thing. Or even the 1962 GE transistor manual, where the Basic Computer Circuits chapter is about flip-flops, and Logic is the next chapter. The idea that logic circuits are the foundation seems to have made its way into the culture in the 1960's. \$\endgroup\$
    – John Doty
    Commented Apr 2 at 19:33
  • \$\begingroup\$ The final sentence of the question is "Now, if we wanted to explain how vacuum tube computer were conceived, before the advent of semi-conductors, would a description based on logic gates be accurate?" It is clear from the original sources that gates were only part of the way way they were conceived, and that flip-flops, not composed of gates, had priority. This way of thinking continued even into the transistor era. \$\endgroup\$
    – John Doty
    Commented Apr 2 at 19:38
  • \$\begingroup\$ @JohnDoty: I guess by that logic, we should just close the question as "wrong" because the cat's whisker diodes (which are semiconductors) predate the first tube-based computers. Utterly silly,but (at least in my estimation) rather less so (and much more clearly documented) than the argument you're trying to make. \$\endgroup\$ Commented Apr 2 at 19:47
2
\$\begingroup\$

Electronic computers need to have controllable switches to construct Boolean logic functions, including gates. Vacuum tube-based digital computers were no different. So, yes, vacuum tube machines being digital computers composed of binary logic, used ‘gates’ by definition.

The basic concepts of binary logic were well-known in the 1940s. Boolean math (symbolic logic) as a formal discipline had been studied, taught and used for at least a hundred years by that time, based on ideas going as far back as Aristotle. A symbology for Boolean math had been in place for at least forty years. Two-value Boolean algebra was the subject of several influential scholarly papers in the mid-1930s.

The takeaway is, the formal and practical underpinnings of 2-state Boolean logic were already established by the time tube computers came along.

It’s not clear (to me, anyway) when the term ‘logic gate’ came into use. In the 1930s the electronic ‘coincidence circuit’ (AND) function was first described and built. Even before then, electomechanical relays were used to implement logic and build computers, a practice that persisted into the tube era.

The point being, binary gates as a concept existed well before vacuum tube computers. A binary logic function by any other name, be it a ‘gate’ or a ‘coincidence detector’ is still a logic function.

Back to tubes. How are they used to make binary logic? Tubes are voltage-controlled current switches that work something like FETs (specifically, JFETs.) Their ability to switch can be used to create logic gates.

How exactly did the early designers do that? For starters, tubes have some rather unfriendly biasing requirements, requiring different thinking than you’re used to regarding logic levels. High operating voltages and complex level shifting were the norm.

More here: NOT gate using triodes

Second, the very earliest machines didn’t necessarily use power-of-2 word-size binary like we do today. Some, like ENIAC, worked in base-10, and used electronic analogues of mechanical systems. Later machines like the IBM 7xx adopted more conventional binary base-16 working.

You mentioned the NAND as a ‘universal gate’. Did vacuum tube machines use a ‘universal gate’? The answer is, nope.

Using all-NAND is more of a CMOS thing; tubes not so much. For that matter, even CMOS machines don’t use all-NAND, but will use a variety of structures to yield the best trade off of speed, area, and power. And so it goes with tubes.

Let’s touch on this 'universal gate' idea for a bit.

First, NOR gates can be used with equal efficiency as NAND as the ‘universal gate’. And in fact, to my knowledge, only one practical machine has been constructed from just one gate type, be it NAND or NOR: the Apollo Guidance Computer. The AGC's CPU was built using just one type of logic IC, a dual 3-input NOR.

More here: What is the lowest level of CPU programming above transistors?

tl; dr: The AGC’s designers did that because they could manage the spaceflight-level reliability issues by settling on just one logic IC. It was a radical and somewhat controversial idea at the time, but it worked well.

Meanwhile, back on Earth, we don’t have to get hung up on a single gate type being a fundamental logic unit. You have a bit more flexibility.

When it comes to tubes, you have to think at a lower level than gates. After all, tubes are bulky, expensive, power-hungry, and have limited life. Using them efficiently requires some creative thinking.

And indeed, those tube-machine designers did exactly that. They standardized on a select few tube types, from which they fashioned the basic elements they needed - AND, OR, NOT, NAND, NOR, XOR, flip-flop etc. They worked out the biasing and connection schemes to make them work together, meanwhile working very hard to minimize the tube count.

That said, the closest thing to a ‘universal’ tube logic element would be the dual triode tube. This tube, through various connection schemes, could render a gate, flip-flop, or switch.

Diode tubes also saw some use. Tetrodes and pentodes proved handy for making AND gates owing to their multiple grids.

There were some exotic tube types, including counting tubes that modeled mechanical systems, such as the cold-cathode Dekatrons used in ANITA calculators.

Later machines, including the IBM 604 keypunch linked above and 704 used semiconductor diodes to replace diode tubes.

\$\endgroup\$
3
  • \$\begingroup\$ Thanks for writing a great answer. Could you keep the edits down to a minimum? \$\endgroup\$
    – Voltage Spike
    Commented Apr 2 at 19:00
  • \$\begingroup\$ The problem with Boolean algebra is that it's timeless. There's no way to express change or sequence. This is probably why the early designers started from flip-flops, with logic as supporting "glue". \$\endgroup\$
    – John Doty
    Commented Apr 2 at 19:20
  • \$\begingroup\$ Even before tubes, there were mechanical 'registers' (think: cash register) that stored state. OP was asking about 'gates', from which state storage could be built. \$\endgroup\$ Commented Apr 2 at 19:43
1
\$\begingroup\$

Now, if we wanted to explain how vacuum tube computer were conceived, before the advent of semi-conductors, would a description based on logic gates be accurate?

Logic gates have nothing to do with semiconductors. They are abstract mathematical primitives that happen to be a graphical representation of propositional logic formulas. A combinatorial logic circuit diagram is, ignoring timing, exactly equivalent to a propositional logic formula.

Asking whether a description "based on logic gates" would be accurate for combinatorial functions in a digital computer is like asking whether propositional logic can describe them. Of course it does, they were all designed with propositional logic in one form or another first, and only later converter to physical circuits.

Now, how straightforward is the translation of propositional logic formulas (a.k.a. logic gate circuit diagrams) to electronic building blocks such as vacuum tubes, bipolar transistors, or mos transistors, and the accompanying passive components - that's a whole another story, and the translation can be quite complex!

Once timing is added into the description, the logic gates don't represent propositional formulas, but rather temporal state propagation graphs overlaid on top of propositional logic primitives. They are still abstract mathematical representations, but most engineers don't reason about them that way. Analysis tools, on the other hands, have to.

\$\endgroup\$
4
  • \$\begingroup\$ Early designers thought much more in terms of triggered flip flops than in propositional logic terms. And they generally didn't think of flip flops as being built from cross-coupled gates the way we do. Even as late as 1963, the GE Transistor Manual, Chapter 11, presents Basic Computer Circuits without any mention of "gates". Gates show up in Chapter 12. \$\endgroup\$
    – John Doty
    Commented Mar 4 at 14:03
  • \$\begingroup\$ Refer to the 1947 ENIAC patent, Page 3 has cross-coupled valves forming a bistable circuit. That style of cross-coupled valves were typical for RADAR and computer logic circuits of the era. Refer to the 1951 Binary Computation Circuit with cross-coupled valves Patent patents.google.com/patent/US2719228A/en?oq=US2872572 The later era Burroughs circuit in the answer above increased circuit complexity to reduce valve count. Catch is this was too late as the next generation of computers being designed were to be transistorised and based on three legged fuses. \$\endgroup\$
    – PDP11
    Commented Mar 5 at 13:17
  • \$\begingroup\$ @PDP11 And in that era, and even later, cross-coupled valves or transistors were generally not described in "gate" terms. Their designers didn't conceive of them as constructed from gates. The fact that we can now see gates there is an indicator of our conceptual frame, nor theirs. \$\endgroup\$
    – John Doty
    Commented Mar 5 at 16:57
  • \$\begingroup\$ Search through the descriptions in the patents system and you will find during the 40s and 50s they were designing systems based on logic. The design process was not here are 1,000 valves lets lash up some circuits and see what happens \$\endgroup\$
    – PDP11
    Commented Mar 5 at 18:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.