8 ms·
60-Bit Computing (2022)
- MeteorMarc 3y ago60 bits must have been for historic reasons: https://en.m.wikipedia.org/wiki/Sexagesimal https://en.m.wikipedia.org/wiki/Sexagesimal
- flohofwoe 3y agoIt's explained in the article. But the reason is partially the same: "60 is a multiple of 1, 2, 3, 4, 5 and 6. Hence bytes of length 1 to 6 bits can pe packed efficiently into a 60-bit word...
- drewcoo 3y ago> the reason is partially the same We do not know the actual reasons for the Sumerian number system. The best we have is post hoc claims and just so stories. There is no indication that early computer science was beholden to the Babylonian number system "for historical reasons."
- flohofwoe 3y agoThe big number of factors seems to be the most Occam's razor compatible reason to me in both cases. Doesn't mean the computer designers copied the idea from the Sumerians.
- pekim 3y agoThe article explains the choice of 60 bits, which was indeed because of the many factors of 60. "60 is a multiple of 1, 2, 3, 4, 5, and 6. Hence bytes of length from 1 to 6 bits can be packed efficiently into a 60-bit word without having to split a byte between one word and the next. If longer bytes were needed, 60 bits would, of course, no longer be ideal. With present applications, 1, 4, and 6 bits are the really important cases."
- Karellen 3y ago> If longer bytes were needed, 60 bits would, of course, no longer be ideal. That seems like a weird conclusion for the engineers to come to, because 60 is also a multiple of 10, 12, 15, 20, 30 and (of course) 60 (the complement factors of 1, 2, 3, 4, 5 and 6), so a selection of longer bytes are very obviously available. Given that they balked at the cost of moving up to 64-bit words, I guess moving up to 420-bit computing (for those 7-bit bytes) was out of the question ;-)
- zamadatix 3y agoI think it's more a remark that of the first half dozen byte sizes all six fit evenly but of the next dozen only three do. This makes the divisibility not really hold that much value in the end. Particularly since six bits isn't enough to hold dual case alphanumerics and 3 types of punctuation.
- kristianp 3y agoIt's not a convincing or complete explanation though. Why go so high, when other machines of the time were using 36 bits? And if they saved money by not going up to 64, why not go down to 48 for example?
- p_l 3y agoIt was also common to use 5bit characters (in form of some variation of baudot coding) - the 6 bit characters were essentially early extension to it.
- timbit42 3y agoWhich computer systems used 5-bit characters?
- PaulHoule 3y agohttps://en.wikipedia.org/wiki/Baudot_code https://en.wikipedia.org/wiki/Baudot_code
- timbit42 3y agoI don't see any computers mentioned in that article. I don't consider a tele-printer to be a computer.
- p_l 3y agoBut early computers used teleprinters as I/O and that drove their character sets.
- timbit42 3y agoWhich computers?
- actionfromafar 3y agoIf you must: https://dl.acm.org/doi/pdf/10.5555/1074100.1074162 https://dl.acm.org/doi/pdf/10.5555/1074100.1074162
- p_l 3y agoEverything early on that used available baudot-code teletypewriters for input/output.
- rahen 3y agoStandardization on 8-bit multiples only really occurred with the IBM 360 in the late 1960s. Before that, six bit words were very common with plenty of 12, 18 and 36 bit machines (every PDP besides the 11, CDC 160, UNIVAC, early IBMs)... Some also had variable word length like the IBM 1401 and 1620.
- forinti 3y agoThere were Dutch computers with weird combinations like 27 bit registers and 15 bit address lines made by Electrologica.
- p_l 3y agoA lot of older computers were "bit-serial", i.e. the ALU processed "bytes" bit by bit. This, along with how every part used to make computers was also 1bit (because VLSI wasn't a thing yet). MIT Whirlwind is in some ways ancestor to all modern computers by switching to bit-parallel architecture with multiple bits being handled at a time. 36bit word length became common for scientific applications because it was apparently considered enough to do equivalent of 10 digit precision in fixed precision arithmetic, thus common pattern of 36 among American scientific computer lines. Later common availability of 4bit components like 74xxx families meant that multiplies of 4 bits started being common. 4bits also allow to handle calculations in BCD form, which had obvious use cases in businesses, which is partially why S/360 which attempted to consolidate IBMs scientific and business lines went with 32bit word length - 8 bit was comfortably 2 BCD digits and also would fit one character of then-upcoming ASCII standard (the reason EBCDIC survives in S/360 is that ASCII was not yet ready and IBM decided to extend their existing codes instead of taking unfinished standard that could change - and they had to hardcode it in some devices back then) The final nail in 36bit and longer word lengths was floating point becoming fast enough - and arguably infighting between VAX and PDP-10 groups at DEC which among other things triggered existence of BSD Sockets API and their horrible legacy on networking.
- rahen 3y agoThe first generation computers, using vacuum tubes, were indeed usually bit-serial. Some had parallel ALUs, or sometimes just parallel multipliers units, but an entirely parallel computer designed with vacuum tubes would have been very power hungry and unreliable. Some notorious exceptions are the ENIAC and Whirlwind 1 which indeed were fully parallel. As for 36-bit machines, they were also popular because of LISP, as a cons cell was 2x18 bits. I think this influenced the design of the PDP-6 and 10. And yeah, I also wished DEC didn't kill the PDP-10 for the VAX, but that's another story.
- dtaht 3y agoWhen I saw the title of this post, I was thinking it was going to be about 60 bit computing with 4 bit tags on the pointers. I generally thought this was a good idea way back when and am glad to see it re-appearing now... but noooo.....
- rozzie 3y agoBeyond being 60-bits, programming the 6400/6500/6600/6700 was interesting and memorable in other ways. - Ones' complement (rather than two's complement) binary representation of integers, and thus the need to cope with "-0" in your code. Modern programmers are surprised that there was a day when "-1" had a different binary representation than today. - The CPU/CPUs were not actually 'in charge' of the machine. There were ten 12-bit processors called PPU's (peripheral processing units) which did all I/O, and which had the unique capability of doing an "Exchange Jump" instruction to do a CPU task switch. In a sense, the CPUs were 'compute peripherals' to the PPUs. - The architecture was fascinating in terms of memory hierarchy. The "centeral memory" used by the CPUs was augmented by a much larger "extended memory" (ECS - Extended Core Storage) with block transfer primitives. One could implement high-scale systems (such as the one I worked on - PLATO) that smoothly staged data between CM, ECS, and disk. In those days, there was a necessarily-direct relationship between the machine language (the bit encoding of instructions for operations & registers) and the assembly language (COMPASS). As a developer it was incredibly enjoyable because, in Ellen Ullman's words, you felt very 'close to the machine'.
- klelatti 3y agoHi! Author of this short post here. Thanks so much for this comment. It's been 'on my list' to do a much longer post on Control Data and Seymour Cray for quite a while. This has convinced me to bump it up the list!
- KerrAvon 3y agoI’m a subscriber and I’d be happy to read as much of that as you want to write. There’s not that much biographical or technical history coverage of Control Data and Cray other than what’s in the not-very-technical Supermen book and anecdotes form one or two individual engineer memoirs.
- klelatti 3y agoThanks for subscribing! I've added CDC and Cray as one of my next 3 or 4 posts so watch this space. Feels like it needs to be a two-parter (at least) though!
- tomxor 3y ago> The "practical" reasons all favour the 60-bit word. The advantages of the 64-bit word are of the kind that appear more fundamental. The best that can be said of the 64-bit word is that "practical" considerations have a habit of disappearing in time. Interesting, in long lived cases this could be considered another form of "technical debt", or "impedance mismatch", but due to ephemeral requirements.