6 ms·
Reverse-engineering the carry-lookahead circuit in the Intel 8008 processor
- kens 6y agoAuthor here if anyone has questions about the 8008.
- GeorgeTirebiter 6y agoAs much as the computer types can argue the fine details, I think the 8008 started the computer revolution. We carry some ideas from the 8008 in our x64 processors. I remember "The Computer Hobbyist" producing a two-column monthly newsletter using a computer-connected typewriter, and a program on their 8008 that justified the text right-and-left for those two columns. My question is: I recall there was a "-1" version that was somewhat faster than the stock version. Did they accomplish the extra speed by doing silicon tweaks, or did they just sort the lots into speed grades? And if so, how fast can one push these chips? Last question is about why the Osbourne and other such portable computers took so long to appear; I had a battery-powered B&W TV set (used 9 D batteries) that worked great in those days; and it could have been easily driven by an 8008 battery-powered system, making a truly portable computer.
- jecel 6y agoWhile it doesn't use a CRT as its display, perhaps this 1973 portable is what you are looking for? https://en.wikipedia.org/wiki/MCM/70 https://en.wikipedia.org/wiki/MCM/70
- GeorgeTirebiter 6y agoThank you. I didn't know about the MCM/70 (and, aside: interesting that Wikipedia calls this article '70' which is in the 'MCM' directory). Another was https://en.wikipedia.org/wiki/SCELBI https://en.wikipedia.org/wiki/SCELBI and I suppose anybody could have strapped on enough batteries in 1973 and called it a Portable. Still, Osbourne seems to have been first with the concept: https://en.wikipedia.org/wiki/Osborne_Computer_Corporation https://en.wikipedia.org/wiki/Osborne_Computer_Corporation The Osbourne 1 was in 1981, 8 years after the MCM/70 and SCELBI. It's that 8-year-gap that I find fascinating.
- kens 6y agoAs far as I can tell, the battery-powered version of the MCM/70 (the MCM/70 Executive) didn't make it beyond the prototype stage. The regular MCM/70 was a "desktop" computer that needed to be plugged in.
- kens 6y agoI'd say that the 8008 started the microcomputer revolution, not the computer revolution (which was started by ENIAC). Assorted disclaimers, of course. In particular, the 8008 was a clone of the TTL-based Datapoint 2200 desktop terminal/computer. The regular 8008 ran at 500 kHz while the 8008-1 ran at 800 kHz. As far as I know, the -1 version was just from sorting, without any special changes. (Of course as they improved their manufacturing process, you'd expect more would sort into the faster bucket.) In comparison, the 8086 die was shrunk over time with new generations of the HMOS process, so it had a "genuine" speedup. Yes, it's interesting that the Osborne 1 "portable" computer didn't show up until 1981. I think there are two reasons. First, the technology wasn't ready in 1972, not just the processor but memory, display technology, floppy disks, and importantly software. It wasn't until 1975 that IBM made an extremely expensive portable (the 5100) and 1978 when Xerox made an even more expensive prototype portable (the Notetaker). But by 1981, technology had improved so Osborne could make a moderately useful portable at a high but plausible price.
- Someone 6y agoLong? The first micros you wouldn’t have to solder yourself, add a tty or keyboard, etc (Apple II, Commodore PET, TRS-80) were from 1977. The Osborne shipped in April 1981. Also, was that tv-set good enough to show text on? And what was its battery life? Losing power on a micro (presumably without a floppy disk) would be more of a nuisance than losing power on a tv.
- GeorgeTirebiter 6y agoBut portable? That took till '81 as you say. I still have the TV, and with a converter box, it still displays OTA TV just fine; it wasn't great for text display, was something like 40 x 16 -- but that's better than 0x0. There are 9 D batteries --- it lasts about 2 days (48 hours). I used NiCd rechargeables, it lasted about 24 hours between recharges. And of course it had an AC adapter box.
- Someone 6y agoI guess you’re a few years amiss w.r.t. that tv (or do I interpret that 48 hours wrong?) https://en.wikipedia.org/wiki/Television_set#LCD_television https://en.wikipedia.org/wiki/Television_set#LCD_television says “By 1982, pocket LCD TVs based on AM LCD technology were developed in Japan”, so if we’re talking before the Osborne, it must have been a CRT. I don’t see you power that with 9 D batteries for two days. Reading https://en.wikipedia.org/wiki/D_battery#Dimensions_and_capacity https://en.wikipedia.org/wiki/D_battery#Dimensions_and_capac..., 9 D batteries is, at best, 250Wh. So, running for 48 hours would give you a power envelope of about 5W. NiCd batteries decreases that to 63Wh, or to 1½W. Can that power a CRT tv? Also, reading http://michaeljmahon.com/AppleCrateII.html http://michaeljmahon.com/AppleCrateII.html, even an Apple ][ board with empty slots takes 4.2W. For an 8008, you probably can get lower power usage, but who would be willing to sacrifice computer power for portability?
- owyn 6y agoNo questions but I just wanted to say thanks for this series and all the work that went into it! I did a digital logic course in college but haven't used any of it since, and we only ever built simple circuits in the lab. Seeing how these old chips are actually implemented is great, especially all the design choices that they had to make. With my relatively limited background knowledge I find them very readable. Like, I do know what a Karnaugh map is but I haven't done one in years haha.
- userbinator 6y agoIn 1956, the National Bureau of Standards patented a 53-bit adder using vacuum tubes That's the same number of bits of precision as a double-precision floating point; what was special about 53 that lead to it being considered several decades before the IEEE standard?
- Donald 6y agoThe format of floating point numbers generally follows a few constraints. First, you want sufficient range so that overflows are less likely, especially for multiplying two smaller format numbers and accidentally overflowing the range of your largest format. Second, you want range and precision that captures the smallest widely used physical constant (Plank constant) and range for the largest (Avogradros’s number). When you combine those two constraints with common word sizes you get format ratios very similar to each other.
- Dylan16807 6y ago> First, you want sufficient range so that overflows are less likely, especially for multiplying two smaller format numbers and accidentally overflowing the range of your largest format. Second, you want range and precision that captures the smallest widely used physical constant (Plank constant) and range for the largest (Avogradros’s number). All that really means practically is that you want about 8-10 bits for your exponent. If you're starting with 32 and 64 bit words, that naturally gets you into a couple particular ranges for mantissa. But they weren't starting with a 64 bit word and then removing ten bits for exponent. So that leaves a big missing explanation for how they got to 53. Especially since, as the author's sibling comment says, it was fixed point. It couldn't represent either of those numbers.
- adrian_b 6y agoMost likely is that their number range target was computed in decimal digits, so it was of 15 decimal digits. Converting to binary that gave 53 bits.
- esprehn 6y agoThe article is available on both https and http, could mods change to https:// https:// ? I wonder if HN could automate that on all submissions, if the same url but https is a 200 then use that instead?
- djmips 6y agoKen mentioned the Pascaline in the history section of carry circuits. I found this video to be quite a good explanation of the Pascaline and it's carry mechanism. https://www.youtube.com/watch?v=3h71HAJWnVU https://www.youtube.com/watch?v=3h71HAJWnVU
- kens 6y agoThanks for the link; I've added it to the article.
- ncmncm 6y ago>According to 8008 designer Hal Feeney, "We built the carry look-ahead logic because we needed the speed as far as the processor is concerned. So carry look ahead seemed like something we could integrate and have fairly low real estate overhead and, as you see, the whole carry look ahead is just a very small portion of the chip." This is a very strange remark. Setting aside whether Feeney actually did design it, that look-ahead carry takes up a huge area of the chip -- almost as much as the whole rest of the ALU. If they had cared about speed, they would not have shoehorned it into 18 pins. According to Federico Faggin (Italian: "Fah-jeen"), Intel considered itself a memory company, and the 8008 project a waste of attention. They weren't about to set up 40-pin infrastructure for such a nothing part when no memory chip would ever need 40 pins. When FF did the Z80, he realized that the result of an ALU op is never needed immediately with an 8080 ISA, so used a 4-bit unit, and was able to cut the look-ahead logic even more.
- kens 6y agoI was also surprised that Feeney considered carry generation to be a very small portion of the chip since it's a prominent part of the die. But I measured, and it's about 2% of the die. > If they had cared about speed, they would not have shoehorned it into 18 pins. My interpretation is that the 8008 team didn't have any control over Intel's bizarre 18-pin limit, but improving speed by adding carry lookahead was something they could do. Even so, the 8008 was slower than the Datapoint 2200's processor that it was supposed to replace and Datapoint abandoned the 8008.