This Ferranti Mark I computer is notable because, despite being one of the earliest electronic computers, its instruction set included 4 instructions that are now included in most modern ISAs, but which have been missing for many decades from the instruction sets of most later computers, with the exception of the supercomputers made by CDC and Cray.
Those 4 instructions, with their mnemonics in the Intel/AMD x86 CPUs are:
LZCNT (leading zero bits count), which was named "The position of the most significant digit" in this manual.
POPCNT (population count), which was named "Sideways adder" in Mark I (it is listed in a table at the end of this manual).
RDRAND (read random number), which was named "The random numbers generator" in this manual.
RDTSC (read time stamp counter), "The clock" in this manual.
It is said that some or even all of these less usual instructions had been suggested by Alan Turing himself to the designers of Ferranti Mark I.
Another notable instruction of Ferranti Mark I was used to produce an audible beep, like the internal loudspeaker of the older IBM PC compatibles, "The hooter" in this manual.
Men in black always want popcount (it's been added to various architectures over the years at their request) so this makes sense given his background.
>Men in black always want popcount (it's been added to various architectures over the years at their request)
I've heard this a few times, do you have anything that explains this?
It is said that NSA has requested the addition of POPCNT to the Control Data Corporation CDC 6600 (1964), as a condition for procurement.
The condition has remained in force later, so all its successors, like CDC 7600 (1969) or Cray-1 (1976), have included POPCNT.
POPCNT has been added to the x86 ISA by AMD, in "Barcelona", in 2007, presumably because some customer for AMD Opteron has requested it. This happened during the period when the AMD server CPUs were much better than the Intel Xeons, so any wise customer was buying Opterons, not Xeons. Intel has followed AMD and it has added POPCNT to Nehalem, in 2008/2009 (for server CPUs, Nehalem has been the first that was better for any purpose than the AMD server CPUs, unlike for consumer CPUs, where Intel had surpassed AMD already since the middle of 2007, with Core 2).
IIRC it also introduced index based addressing. Before that, people just wrote self modifying code to index arrays...
It looks like this is part of the Knuth Digital Archive Project: https://archive.computerhistory.org/resources/text/Knuth_Don.... There's some fascinating stuff in there, like this "What a Programmer Does" (https://archive.computerhistory.org/resources/text/Knuth_Don...).
My how things have changed.... he says "Desk Machine"... and of course I think Keyboard, Computer, Monitor, Mouse.. ;-) Instead of one of the Friden Calculators.
Like this one, seen in a storage rack somewhere deep inside a TARDIS.
https://en.wikipedia.org/wiki/Friden,_Inc.#/media/File:Fride...
It’s interesting to see how he had to write math in this paper. Instead of being able to type it, he had to leave spaces and fill it with his own handwriting. Maybe LaTeX isn’t so bad after all.
My parents wrote their graduate theses this way too, in the 1950s, except that the spaces were for chemical formulas.
Boy I love this. Both for the pleasure of reading what Turing thought his ‘experienced’ operators needed to know, and also for the glimpse back at all the engineering, physical constraints, and solutions pulled together. Within a few pages we’re talking about where on a physical circle “tubes” physical bits reside, just, you know, as a starting intro. Really amazing.
Am I tripping or is the linked manual for the Mark II, not the Mark I?