5 ms·
Fixing the core memory in a vintage IBM 1401 mainframe
- wglb 11y agoFascinating detailed drilldown. (I haven't heard of the 1401 called Mainframes before, though)
- kens 11y agoWhat would you call the 1401 if not a mainframe? IBM refers to the 1401 as a mainframe: http://www-03.ibm.com/ibm/history/ibm100/us/en/icons/mainframe/ http://www-03.ibm.com/ibm/history/ibm100/us/en/icons/mainfra... http://www-03.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP1401.html http://www-03.ibm.com/ibm/history/exhibits/mainframe/mainfra... The 1401 restoration team calls them mainframes: http://ibm-1401.info/ http://ibm-1401.info/ But whatever you call it, the 1401 is an interesting computer.
- wglb 11y agoYes, quite. I am wondering if the mainframe tag is a more recent thing, as I don't remember that description back when it was still in production.
- ChuckMcM 11y agoInteresting that it doesn't show up in any of IBM's literature until the S/360 which is referred to as a "mainframe". Most people I've talked with think of the 701 as the first mainframe computer.
- Animats 11y agoI really need to go watch that machine run. They finally got four tape drives working, so now they can run a sort. The 1401 is a strange machine. It's a direct descendant of IBM's electromechanical card machines, and it shows. It has a memory layout and ALU designed for fixed length strings of decimal digits of arbitrary length. The end of a number is indicated by a "word mark" bit, a special 7th memory bit on each 6 bit character. In early computers, "business" computers had decimal arithmetic hardware, and "scientific" computers had binary. The IBM System/360 had both. This lives on in the binary-coded-decimal instructions in x86, which are used by almost nobody. (You can only do one digit at a time, because the x86 decimal instructions haven't been upgraded since x86 machines really were 8 bit.)
- kens 11y agoThe arbitrary length numbers in the 1401 are interesting because they really are arbitrary length. For instance you can work with 1000 digit numbers if you want. I made two 1000-digit numbers and multiplied them with a single instruction. The console lights on the 1401 flashed like crazy while the hardware multiplier chugged away. A full minute later it had the answer. Yes, a single instruction took a minute to run.
- eru 11y agoThat's an instruction-frequency of 0.017 Hz.
- bjackman 11y agoIf they were 8-bit, shouldn't they have supported 2 digits at at time (4 bits per digit)?
- Animats 11y ago6 bits of data, one bit of mark, and 1 bit of parity only visible to the parity checking hardware.
- mikepavone 11y agoThat's not the format used by the x86 BCD instructions. x86 (and the 8080 before it) use 4-bit packed BCD so each byte contains two digits (x86 also has instructions for dealing with unpacked BCD, but the digits are still 4-bit). Additionally, the 8086 was a 16-bit processor (the 8088 had an 8-bit bus, but that came later and was still 16-bit internally) so I don't think the 8-bit limitation is due to the word size of the CPU in this case. It could be a holdover from the 8080 (8086 isn't binary compatible, but it was marketed as "source" compatible so there's a fair amount of similarity), but the 68000 (16-bit implementation of a 32-bit ISA) has the same limitation. I think it probably comes down to cost. Just to support two packed digits, you need a fair bit of extra hardware (or a little extra hardware and a bunch of microcode) so you can properly calculate the correction factor. Expanding this to a full word means you need to be able to do that calculation for 4 nibbles instead of 2 which is about 3 times worse (you effectively get the most significant nibble "for free" so it's 3 extra nibbles to support instead of just 1).
- rasz_pl 11y agoHere is a blog of a guy trying to build core memory from scratch for fun: Weekend Project: A Tiny Core Memory Array: http://mikesmods.com/mm-wp/?p=556 http://mikesmods.com/mm-wp/?p=556 Weekend Project: Determining Operating Parameters of a Memory Core: http://mikesmods.com/mm-wp/?p=610 http://mikesmods.com/mm-wp/?p=610