Program the Manchester Baby
Linux Format|July 2020
Program the Manchester Baby
The Manchester Baby was the world’s first real computer. Mike Bedford introduces this pioneering machine and shows you how to write code for it.
Mike Bedford

Were we to conduct a poll, asking for the identity of the first-ever electronic computer, we’d get a diverse range of responses. Colossus, as created for code-breaking at Bletchley Park in England, would surely get a look-in. It probably was the world’s first programmable electronic computer, but it wasn’t universal since it was designed for specific tasks. On the other side of the pond, ENIAC, which was developed at the University of Pennsylvania, is another strong contender. Unlike Colossus, it was universal, but it was programmed by switches, dials and patch leads.

While both of these pioneering machines were firsts in their own ways, there’s little doubt about the identity of the machine that paved the way for the information revolution that took place during the second half of the 20th century and continues apace today. That was the so-called Small Scale Experimental Machine (SSEM), that was developed at the University of Manchester, and which has been nicknamed the Manchester Baby.

What made it so ground-breaking is that it was the first stored-program electronic computer, meaning that it stored its program in its own memory, as do all today’s mainstream computers . It ran its first program – to calculate the highest proper factor of a number – on 21 June 1948, and the world hasn’t been the same since.

Baby be mine!

We’re going to be delving into how the Manchester Baby was programmed – and how you can do so today using a simulator – but first let’s take a look at this innovative machine. We’ll be painting a picture of a computer that appears under-powered compared to even the simplest of today’s computers, but it’s important not to lose sight of what an amazing achievement this was.

The first thing to remember is that it would be more than a decade before integrated circuits would come to fruition, and it would be another decade before largescale integration – as required for microprocessors – would become viable. Even the transistor, on which integrated circuits are based, were still in the development labs – it would be patented just a few days after the Manchester Baby first showed its colours.

QUICK TIP

Despite the fact that the Baby’s RAM was called the Store, it had no storage device such as a disk. The benefit of the stored program concept was not fully realised, because programs had to be entered via its front panel switches. However, adding a paper tape reader, as part of its upgrading to the later Manchester Mk 1, offered much of the convenience which, today, is taken for granted.

At this time, the only option for electronic circuitry was the valve, otherwise known as the tube. But these components weren’t cheap: they were power-hungry, and they weren’t anywhere nearly as reliable as transistors would become. What’s more, these 60-80mm tall glass bottles had to be soldered together by hand. The upshot of all this is that the SSEM had to be designed to be as simple as possible. Despite its minimalistic specification, though, it was built from no fewer than 550 valves (compare that to a few billion transistors in today’s microprocessors), it occupied a whole room, being housed in seven racks each 580mm wide by about two meres tall, it weighed almost a tonne, and it consumed 3.5kW of power (‘tis but a bar fire – Ed).

So now we know something of the enormous engineering challenge of building the Baby, let’s turn our attention to its rather pedestrian specification. Surprisingly, the word length wasn’t as basic as we might have assumed. While the first-ever microprocessor – the 1971 Intel 4004 – had a four-bit architecture, and even the processors used in the home computers of the early 1980s only had eight-bit chips, the Manchester Baby boasted a 32-bit architecture.

While this had the effect of increasing the complexity of much of the SSEM’s hardware, it didn’t complicate the memory because it wasn’t made of valves, in the same way that today’s memory is transistor-based. Instead, the memory was based on CRTs that were used in TVs and monitors before LCD panels appeared on the scene. The CRTs used in the Baby were of the type intended for use in radar equipment.

While not getting into the complexities of this bizarre form of memory, it transpires that if you write to the screen an image comprising rows of dots and dashes, which correspond to binary zeros and ones, that data can be read back using a metal foil placed on the front of the CRT. Like today’s dynamic memory, data in CRT memory soon died away so it had to be continually refreshed by reading and re-writing each bit.

The Baby’s main tube was used as RAM, which was called the store, and it had a capacity of 32 32-bit words. A second CRT was used for the accumulator, A – the internal register in which arithmetic operations are performed, and a third for the control instruction, CI (the program counter in today’s terms) – the internal register which stores the address of the current instruction in memory – and the present instruction, PI (the instruction register in today’s terms) – the internal register that contains a copy of the current instruction. And finally, because data on the main three tubes could not be read visibly, their screens being obstructed by their metal foils, a fourth tube, the display tube, was provided, and which could be switched to parallel any of the main tubes, to allow data to be read by eye.

articleRead

You can read up to 3 premium stories before you subscribe to Magzter GOLD

Log in, if you are already a subscriber

GoldLogo

Get unlimited access to thousands of curated premium stories, newspapers and 5,000+ magazines

READ THE ENTIRE ISSUE

July 2020