18

Wikipedia states that UNIVAC I "could perform about 1,905 operations per second running on a 2.25 MHz clock." (link) This claim is repeated basically all over the Internet.

I find this clock speed pretty fast compared to the stated number of operations per second. It also doesn't match with the clock speed of its contemporaries (e.g. 125 kHz for IBM 650, 100 kHz for ENIAC)

How should I interpret these UNIVAC specs?

Raffzahn
  • 222,541
  • 22
  • 631
  • 918
Jeroen
  • 183
  • 1
  • 6

3 Answers3

27

I find this clock speed pretty fast compared to the stated number of operations per second.

Because it's a serial architecture. Serial architectures access one bit at a time and process one bit at a time. This trades a great chunk of circuitry for slower operation speed (*1).

Being serial is the very nature of the UNIVAC 1, being built around mercury-based acoustic delay lines. Delay lines store single bits as sequence in time. In modern technology one may think of them as large shift registers operated by a continuous clock, back-feeding every read bit.

With the UNIVAC a memory word consists of 91 bits, accessed at 2.25 MHz bit rate (*2). That means accessing (read or write) one memory word takes an average of 0.2ms for synchronization and another 0.4ms for access(*3).

It also doesn't match with the clock speed of its contemporaries (e.g. 125 kHz for IBM 650, 100 kHz for ENIAC)

Because those are quite different, inherently parallel architectures.

A more modern example might be National Semiconductor's 1974 SC/MP CPU for example: an 8 bit CPU like its contemporary (1975) cousins 6502 or Z80. Like the 6502, its first version operated at a 1 MHz clock over an 8-bit bus (*4). Except the SC/MP's inner workings were serial. Where the parallel 6502 could execute a basic ADD in 2 cycles, the SC/MP needed 19 - that's almost 10 times slower. Even a NOP took 2.5 times longer :))

That's serial vs. parallel execution.

And the reason why NS implemented the CPU that way is the very same why EMC/Remington Rand went with serial memory:

  • Lower cost and
  • Lower complexity.

That way the SC/MP debuted a year before and at a lower price point than the 6502 - which in all right is considered the ultimate price breaker of the 8 bit era (*5).

How should I interpret these UNIVAC specs?

By execution speed, the mentioned peak performance of 1905 instructions per second; after all, that's what was used back then and is what describes performance. Clock frequencies are only one of many tools to deliver performance.

Even today clock frequency tells a relation only if similar concepts are to be compared. So, considering how incredible different early machines were, clock frequency is essentially meaningless for comparison.


*1 - Just look at this inherently beautiful demonstrator for a serial data-path. Being 8 bit it always needs 8 clocks to handle a single operation.

*2 - Encoded using a 11.25 MHz (5x) carrier.

*3 - Yes, your rule-of-thumb calculation is right, 2,25 MHZ / (0.2+0.4ms) neatly ends up near 3750, or very close to twice the claimed 1900 instructions :)) Given, a detailed calculation is way more complex than that, but the the ball park figures will be the same.

And an incredible hint that it's always about the memory speed. Back then and still today :))

*4 - Yes, that's a difference compared to the UNIVAC 1, but stay with me, as the result will end up being the same (also parallel semiconductor memory was already a thing in 1976).

*5 - By 1976 the SC/MP-2 was available, at a still lower price than the 6502, but even with it's doubled performance, it only made it to some early kits (Elektor FTW) and industrial applications.

Toby Speight
  • 1,611
  • 14
  • 31
Raffzahn
  • 222,541
  • 22
  • 631
  • 918
  • Thank you. Would it be fair to say that the UNIVAC designers were already aware of the possibility of random-access memory and parallel ALUs, but that it was deemed to complex / costly? – Jeroen Mar 25 '24 at 10:55
  • 3
    @Jeroen Oh, the memory was basically random access. It was just that data was to be delivered serial from memory and processed as such. Much like today's serial memories that can address and block random, but transfer data serial. Also, parallel operation wasn't a secret - in fact none of the things needed to build a computer were new at all - it's simply a measure to finish a machine within time and budge, as well as delivering it at a price a fordable. A parallel design would have made it several times larger, which means not only cost, but also decreased reliability. – Raffzahn Mar 25 '24 at 12:13
  • 5
    @Jeroen further, being serial wasn't special at all, all storage past a few words was serial at the time. usually drum based. And that's where the Univac's mercury memory excelled compared to later machines like the IBM 650 or (first) 701.Up to 10 times faster than a drum. Only Williams tubes could be faster. Having a parallel architecture wouldn't made the machine much faster, as data was stored serial anyway. As mentioned, it's always about memory speed, back hen and now, and mercury delay line was the top notch RAM-technology back then. Core came later and was slower at first - but parallel – Raffzahn Mar 25 '24 at 12:21
  • 1
    @Raffzahn: Do you know if any electrically-serialized capacitor-based memories used between any of these various eras? I would think that it would be possible to use silicon diodes to multiplex an array of capacitors with probably 2-4 triodes per row and column. If one could multiplex an 16xN array, with rows that would always need to be accessed sequentially, that could be a lot more economical than having to use two triodes per bit, but not as economical as mercury delay lines. – supercat Mar 25 '24 at 15:09
  • @supercat No,especially not as capacitors back then were quite weak. – Raffzahn Mar 25 '24 at 15:25
  • I worked with an old guy who worked with univac 1 at census. they attached an oscillator to the instruction decode unit and played a different tone for each op. it was a crude debugging tool. like, you could notice infinite loops. that was the origin of TV computers going "boop, beep" untilthe 90's, when everybody had one. – Jess Fuckett Mar 26 '24 at 05:35
  • 1
    @Miss_Understands Not really. Adding an oscillator to a system already triggered around 1-2 kHz will not produce any usable sounds. Either it'll be simply a speaker or just a radio put beside. So while true, the description is an urban myth. Same with the TV sounds. – Raffzahn Mar 26 '24 at 10:22
  • 2
    @ Raffzahn: this guy worked on univac 1. perhaps he was lying. people do that because i'm autistic and cant tell. they think its humourous. do you have a ref for it being an urban myth? – Jess Fuckett Mar 27 '24 at 06:09
  • 1
    @Miss_Understands Would't call it lying in any sense. Time changes memory, also, we old timers are used to cover our knowledge in words 'other' people understand (also, we are all on the spectrum - guess that's why I enjoy typing here the way I do). Finally, by looking at the numbers one can nicely avoid to relay on people's words: With up to 2 kHz instruction rate is already right in the middle of human hearing, so all one had to do was adding a speaker (plus a single amplifier tube). Adding an oscillator would lift that beyond audible (or smudge content). – Raffzahn Mar 27 '24 at 12:10
  • 2
    @Miss_Understands Using a radio at 2.25 MHz will nicely lock on that frequency as carrier and give the number of switching elements as AM content (not sure about the FM part due signal travel). Thus one can listen and note a varying sound (in audible range due to the radio's decoding) according by operation type and length. While the human brain may not be fast enough to understand which instruction, the fact, that it's varying in a more or less cyclic manner, tells that the machine is working fine. If that sound gets monotonous, then it's stuck in a loop or halted. – Raffzahn Mar 27 '24 at 12:19
  • 1
    @Miss_Understands Doing so was well a known thing in the 1970s - and retold many times. In fact, one man I worked with early on (ca. 1982) not only tell me about this, but even showed and demonstrated a program he wrote ca. 1970, that let a 4004/15 (essentially an RCA 70/15) produce music that way by executing timed loops. It was short before the last of those machines was taken out of service (A small /360 from 1968 still operating in 1983 :)) – Raffzahn Mar 27 '24 at 12:27
  • 2
    @chux-ReinstateMonica yeah. That and my lousy typing skills (brain being faster than fingers). I'm (partly) the classic obsolescence victim of modern devices. The little beauty (Miix 510isk) I use in my living room is barely 7 years old, but a new (German) keyboard is already unobtanium. And it's definitely not a Model M :( (edit made) – Raffzahn Mar 27 '24 at 12:31
  • 2
    @Raffzahn: My first Commodore 64 had poor enough filtering on the audio supply that one could recognize when the index in an empty "FOR NEXT" loop passed each power of two. – supercat Mar 27 '24 at 17:45
  • 1
    @supercat yeah, the same goes for the Apple 2. Well to be heared on my old 1950s radio box :)) – Raffzahn Mar 27 '24 at 18:53
  • @ Raffzahn went from denying it to affirming it. that's cool. it's called integrity! – Jess Fuckett Mar 28 '24 at 02:33
  • @Miss_Understands Huh? Is that some kind of sarcasm? Have a hard time decoding that, so maybe simply explain what you're pointing at? I haven't changed anything about my statement. The method you described in your comment doesn't make any sense. That fact that other ways exist to produce the effect or that fundamentally different computers could produce similar effects doesn't change that. Comparing them to your original claim is comparing apples and oranges. – Raffzahn Mar 28 '24 at 04:45
9

The machine is primarily based on mercury-delay-line storage. A mercury delay line will accept pulses and one end, and output a matching sequence of pulses out the other end after a certain amount of time. Most of the delay lines held 10 words of twelve characters each (480 bits of useful storage), and given the machine's stated operation speed of 525 microseconds per addition, it would be necessary to shift 480 bits every 525 microseconds. If each bit were encoded using just a "pulse" or "no pulse" indication, that could make noise or timing variations difficult to diagnose. I don't know the specific way things are encoded, but if the system had each pulse be "early" or "late" within its time slot, then it would be possible to trigger an alarm if an arriving pulse didn't precisely fit within specitication, but that would require using a clock rate that was twice the bit rate.

The operation speed of slightly below 2,000 operations/second was below the speed of other machines, but the mercury delay lines held information much more cheaply than vacuum-tube-based RAM.

supercat
  • 35,993
  • 3
  • 63
  • 159
  • 1
    It wasn't so much the 10 word main memory lines as the single word serial registers of 91 bit length that determinated over all speed. Also, Encoding was done over a 5x carrier frequency, so plenty time to synchronize. – Raffzahn Mar 24 '24 at 18:22
  • Thank you. I wasn't familiar with this type of storage. Looking at the design, I'm surprised that these pulses don't just bounce back and forth. Curious to know how prone this type of memory would have been to e.g. flipping bits. – Jeroen Mar 25 '24 at 10:59
  • 2
    @Jeroen: I'm not familiar with exactly how things are constructed, but I would expect that when a mechanical transmission line is coupled to a transducer, there would be a certain characteristic impedance at any given frequency, and that electrically matching that characteristic impedance would result in the transducer absorbing nearly 100% of the energy at that frequency. – supercat Mar 25 '24 at 15:03
6

Did the UNIVAC I really have a 2.25 MHz clock speed?

Yes. According to the Univac I Maintenance Manual, the master oscillator ran at 2.25 megacycles per second. See Figure 4-1, page 4-6, reproduced here.

enter image description here

The other answers of course address why the Univac wasn't as fast a computer as it might seem from the pure numbers.

dave
  • 35,301
  • 3
  • 80
  • 160
  • Also interesting the very next (4-2) figure showing the generation of the 11.25 "Mega cycles"memory carrier from that source. Trying really hard we could call it a penta-clocked CPU :)) (I always loved how US engineers are afraid of accepting new and especially non.US names- rather accepting inkonsistent symbols instead) – Raffzahn Mar 25 '24 at 23:55
  • @Raffzahn are you talking about Mc for MHz? I'm not sure that this is a particularly good example of that phenomenon. The name Hertz was not apparently in widespread use in the 1950s; for example, the ISO felt compelled to define it in its 1955 recommendation R 16 (https://cdn.standards.iteh.ai/samples/51/8fc4068ddfcc4f628708d05d0aafd5b2/ISO-R-16-1955.pdf), an element that is absent in the ISO 16 standard adopted 20 years later (https://cdn.standards.iteh.ai/samples/3601/3e7b175fdcae4a2aa09f9d0db4ac099d/ISO-16-1975.pdf). Also is "inkonsistent" a joke or just a typo? – phoog Mar 27 '24 at 07:01
  • 3
    The SI wasn't adopted until 1960, so I'd forgive any use of non-standard units before then. – dave Mar 27 '24 at 11:34
  • @phoog Well, one can call it 'not widespread used' when looking just at the US. Hertz was assigned by IEC in 1935 accepting Giorgi's system (which later became known as MKS and finally SI) as international standard everything electric. ISO as more generic organisation was only formed in 1947. Also the 1948 CGPM standardized Hz for uses outside electronics. Still 'cycles' was used in teaching in the US as late as the 1980s. So yes, to me it's the perfect example, even more than sticking to imperial, as adopting it wouldn't change anything but having a unique name - which I'd consider not bad. – Raffzahn Mar 27 '24 at 11:57
  • 1
    @Raffzahn I just looked at a bunch of patent applications from the 1950s and found "cycles per second" to be prevalent in the rest of the English speaking world (not surprisingly) and in France, Belgium, Switzerland, Italy, and Spain. It rather looks as though "Hertz" was for the most part used only by German speakers until 1960. I was educated in the US in the 1970s and 80s and it was definitely Hz, and the dials on our radios were denominated in (multiples of) Hz as well. – phoog Mar 28 '24 at 00:17