9 ms·
The First RISC: John Cocke and the IBM 801
- dosman33 4y agoWhen I worked at IBM in the early 2000's I occasionally remember hearing people say "IBM invented RISC!". As a young pup I knew to keep my mouth shut, but in my head I was like "best keep that news to yourself pop, the rest of the world only knows about the history of RISC-V" which is the only RISC we learned about in technical school in the late 90's. I didn't doubt IBM did something similar early on though, but it just came across to me as another funny IBM community knowledge thing that was a little off-base which wasn't too uncommon anyway. Obviously the IBM old timers were not off-base though. But it is nice to see history recognizing earlier pioneers in the field like John Cocke. And this article also demonstrates something I found perplexing as a young pup: IBM's marketing department dictated what engineering did. Obviously the point of the company is to make solutions that customers want to pay money for. Just because engineering has a better solution doesn't mean it's the best fit for customers (or the most profitable solution to the problem). But with my head stuck in FOSS philosophy of the day it was a good education in real life.
- kragen 4y agoIt's surprising that you learned about RISC-V in technical school in the late 90s, since the RISC-V project began in 02010 at Berkeley. You should see if you can get in touch with your instructor and help him fix his time machine.
- klelatti 4y agoFunnily enough, I worked for IBM marketing (my first job, for a short while) in 1984. One of our jobs was to demo System/36 - one of IBM's minis - which might have been replaced by an 801 system had they taken it up. One of my colleagues went through the demo with a room of customers. At the end he asked for questions. Straight away a hand went up. "If it's this slow with one user, how slow is it with five?" Sometimes engineering does know best!
- rjsw 4y agoThe RISC-II thesis from 1983 references the 801, but it looks like IBM only started talking about it at around this time. The RISC-V project didn't start until 2010.
- klelatti 4y agoThere is a funny quote from David Patterson in his Oral History > There was the 801 project was secretive. There is something called the 801, “What is it?” It was very hard to know even what they were doing. It was supposed to be very exciting, very breakthrough, but unless John Cocke came and told you what they were doing, you couldn't figure out anything about it. So, there was that kind of the mystery of the 801. I think word did get out in the late 1970s but not officially!
- abudabi123 4y agoSC stood for Seymour Cray in RISC went one joke in his memory you can find on YT. https://en.wikipedia.org/wiki/Seymour_Cray https://en.wikipedia.org/wiki/Seymour_Cray
- classichasclass 4y ago> the rest of the world only knows about the history of RISC-V" which is the only RISC we learned about in technical school in the late 90's. This surprises me, especially since RISC-V wasn't really a thing until around 2010. Not MIPS, SPARC, PowerPC, PA-RISC, ARM, all extant by this period and having a longer history, but RISC-V? What school was this?
- cmrdporcupine 4y agoI suspect the comment author typo'd and meant to write either MIPS or (more likely) Berkeley RISC.
- p_l 4y agoIt's technically correct, because the "V" in RISC-V refers to it being the 5th project from UC Berkeley (after RISC-I, RISC-II, and tenuously naming SOAR as RISC-III, and either SPUR or VLSI-BAM as RISC-IV).
- adrian_b 4y agoActually in this case IBM really has the right to brag about it, because there is no doubt that IBM 801 included the first RISC CPU, even if the name RISC was invented only several years later. Before IBM 801, there have been many simple CPUs, which, if they would be launched today, they would be called RISC CPUs, due to their simplicity. However for those old CPUs the simplicity was not intentional, but it was determined by the limitations of their manufacturing technology. On the other hand, the IBM 801 project, which has started in 1975, significant documentation about its principles of operation has been published during 1976 and a working prototype existed in 1978, was a project whose target was to intentionally reverse the trend towards more and more complex CPUs and investigate the ways by which greater simplicity may be in fact a method for reaching a higher performance. All the principles for obtaining high performance with a simpler CPU were discussed in the IBM 801 documentation 4 to 5 years before the RISC project at Berkeley (1980 to 1984) and the MIPS project at Stanford (1981 to 1984). Moreover, in March 1982 there has been a very important symposium where all the teams working at that time on RISC CPUs have presented their work, including the Berkeley RISC, Stanford MIPS and IBM 801 projects. The presentations from that symposium have determined the designers of the future ARM CPU to change their architecture from some kind of 6502 extension to a RISC architecture. They have been particularly impressed by the IBM 801 presentation, so instead of using weak addressing modes, like in the RISC and MIPS projects, they have included in ARM the much more powerful IBM 801 addressing modes (i.e. including modes with base register auto update). While John Cocke has not invented the word RISC when designing IBM 801, either he or another member of his team (which worked at the project that eventually became IBM POWER) has invented the word "superscalar", a few years later, in 1987, when the design target for CPUs had moved from being able to execute one instruction in a single clock cycle, like in the early RISC CPUs, to being able to execute multiple instructions per clock cycle.
- cachvico 4y ago> Moreover, in March 1982 there has been a very important symposium where all the teams working at that time on RISC CPUs have presented their work, including the Berkeley RISC, Stanford MIPS and IBM 801 projects. > The presentations from that symposium have determined the designers of the future ARM CPU to change their architecture from some kind of 6502 extension to a RISC architecture. That is absolutely fascinating. Are the papers from that conference available online?
- panick21_ 4y agoThe early risk people gave a lot of credit to Crey.
- brucehoult 4y ago>in my head I was like "best keep that news to yourself pop, the rest of the world only knows about the history of RISC-V" which is the only RISC we learned about in technical school in the late 90's That must have been quite some trick, since RISC-V was created only in the 2010s!
- klelatti 4y agoRereading this again I think I may have omitted one interesting point. That the 801 was, I think, one of the first computers with a split L1 cache. Will add a footnote in the absence of evidence to the contrary!
- twoodfin 4y agoThe basic architecture diagram for the 801 is fascinating. In one sense it’s boring, because to a first approximation every modern computer is similar. On the other hand, it was the prototype for at least the subsequent 50 years of general purpose computing. From a high enough altitude, the only novelty in modern platforms is the GPU.
- klelatti 4y agoAbsolutely. The familiarity makes it hard to appreciate the novelty. I've looked at the architecture of some of IBM's minis of the era (and some of the more ambitions microprocessors - eg iAPX432) and they just look so strange in comparison.
- retrac 4y agoI think it may have been the first microprocessor with an L1 cache of any kind. I can't find any earlier chips with on-die cache, anyway. Even the instruction prefetch queues of the 8086 and 68000 were still in the future when the IBM 801 went into manufacture. Another consequence of the RISC philosophy. After discarding all that die area for control logic, there's still some space even in a tight transistor budget to implement a cache. And since it's a clean, new architecture, you can impose restrictions on things like self-modifying code that would otherwise have made splitting the I/D caches more difficult. Cache coherency is for the compiler to worry about.
- monocasa 4y agoTo be fair, the 801 wasn't a microprocessor, and it's L1 wasn't on die (because it's CPU wasn't a single die to begin with). It was implemented in MECL-10K which is at the sameish level of die integration as TTL, just a decent amount faster.
- jscipione 4y agoTangentially related to article, what happened to the riscv beagle board, is that still going to be available for purchase?
- drmpeg 4y agoThe chip it was going to use (the JH7100) never went into production and they had to cancel the project. There's a Kickstarter for the newer JH7110 chip. https://www.kickstarter.com/projects/starfive/visionfive-2 https://www.kickstarter.com/projects/starfive/visionfive-2
- monocasa 4y agoAdditionally Pine64 is putting out a board with the same JH7110 chip too.
- brucehoult 4y ago> The chip it was going to use (the JH7100) never went into production and they had to cancel the project. The Beagle "Starlight" project that was supposed to have shipped in September 2021 was cancelled, but the JH7100 chip shipped on a very similar board as the "VisionFive v1" in December 2021 and is still available today. Though you'd be crazy to buy it for $180 when the much better VisionFive 2 (with, as you say, the JH7110) is now available for $45-$75 depending on RAM. It's probably correct to say the JH7100 never went to MASS production, and the VisionFive V1 is probably using MPW chips.
- djmips 4y agoAs an aside, the America's cup anecdote is related incorrectly. "On August 22 [1851], the [U.S.-built schooner] America joined 14 British ships for a regatta around the Isle of Wight." It won by a good margin and the Queen Victoria quote was at this race not at a later first America’s Cup race. (named after the schooner and not the country). -> https://www.history.com/this-day-in-history/u-s-wins-first-americas-cup#:~:text=The%20first%20race%20for%20the,for%20the%20occasion%2C%20finished%20fourth https://www.history.com/this-day-in-history/u-s-wins-first-a....
- klelatti 4y agoThanks! The version in the article is based on Cocke's own comments but I'll add a note to clarify.
- Zenst 4y agoInteresting the IBMK ROMP https://en.wikipedia.org/wiki/IBM_ROMP https://en.wikipedia.org/wiki/IBM_ROMP Was a spin-off from the 801 project and was the CPU used in the IBM RT range and saw the birth of AIX.
- wrs 4y agoFor those who haven’t heard of the RT, Bitsavers has a large hoard of docs. [0] I was at CMU when the Andrew project got early-access PC RTs and it was crazy secretive due to IBM’s requirements. Special badge access, NDAs, machines chained to desks…very weird in a university environment. So it’s not surprising there isn’t a ton of public documentation of the 801. [0] http://www.bitsavers.org/pdf/ibm/pc/rt/ http://www.bitsavers.org/pdf/ibm/pc/rt/
- BirAdam 4y agoThank you so much for posting! I have an old Byte magazine issue with an article about the PC RT and I’d been searching for more information about it! You just made my day m8!
- Zenst 4y agoIt came out around time of the XT and AT, XT - being EXtended Technology, AT being Advanced Technology and both x86 PCs in effect. RT being Risc Technology and the birth of AIX, which I worked on back then. Was used in buisness, and I worked in reinsurance in which it was used. EVentually it got replaced by the RS/6000 line which was a the birth of the Power CPU, which we still have today. One thing though, 5 1/4 in floppy OS installations on the RT was a real PITA, more so if you found a later disc was corrupted, get new one from supplier only to find their master copy was corrupted so you just got another corrupted disc, really chocolate teapot waiting for kettle to boil moment that. They did well in finance, as they had good communication interfaces and things like SNA was a seller for linking to their mainframes and AS/400's systems, then then there was good serial handling via multiple ports. The IBM RS/6000's came out around time of the PS/2 phase in IBM's life for a timeline comparison. AIX2 was also a rewrite, as iirc AIX1 was written in prolog! Something like that. Back then for comparison, there was no Sun, you had VAX, and main alternative UNIX box of that time I encountered was the NEC Tower sorry not much more details but another common Unix platform of the time, though a little later on. Then around the RS/6000 time you had HP with it's HPUX come about and then Sun. Interesting times, but darn nobody wants to ever have to worry about termcap or terminfo, let alone link two different systems up for UUCP. Alas no old documents left of that era my end, some later RS/6000 stuff, but buried. BYTE was great, loved that, also UNIX World was another good mag of that early era that I lamentably miss.
- sennight 4y agoA few years ago I dedicated a couple of days to finding any evidence of documentation for the 801 beyond a small number of well known academic papers, but found none. It really bothers me, probably to an unreasonable degree, how common it is for corporations to neglect such an easy win. IBM is really bad about it, especially considering how long of a history they have - just look at how anemic their public facing corporate archives page is. Yes, they had a long running tradition of publishing very low level papers in publicly accessible journals, a huge number of very important papers... but when they killed off their internal journals that served as the fountain head for the effort - their chosen steward quickly locked it all behind a paywall. Young engineers WANT to revere their elders while bringing forward the state of the art, and there have been some good efforts made in the collection of narratives, but engineers need work product (not English lit) in order to do the ancients justice. There aren't enough articles like this, so my thanks to the author - well done... but his job could easily be made so much less difficult by corporations taking advantage of something with such a long tail of public good will: preserving and then releasing obsolete work product.
- kragen 4y agoFrom IBM management's point of view, I think, the easy win was that even though they discovered RISC in 01974 and shipped it in ROMP in 01981, their competition didn't ship RISC until 01985, in the form of the janky MIPS R2000; ARM 2 and Fujitsu's SPARC MB86900 didn't ship until 01986. Frank T. Cary and John R. Opel, who led IBM at the time, couldn't care less who young engineers in 02022 revere. Not only are they both dead, but also even at the time their objective was making a lot of money, not fostering engineering excellence, or garnering admiration for their minions.
- sennight 4y agoI won't pretend to have enough familiarity with the goings on in long past IBM management to be able to state with any authority what they may or may not have thought, but I'd be surprised if your single-minded characterization was close to accurate. If you read through the very long list of IBM published papers - you'll see that a lot of them covered novel solutions to real problems of the day that IBM was selling solutions for, in enough detail to save potential competitors a lot of time. That is a calculated risk that they've made for a long time (until pretty recently). It isn't difficult making the business case for what I've proposed... rumor has it that even Intel has recognized how badly they screwed themselves over by treating senior engineers as poorly as they did in the late 90s. The whole imperative to recruit motivated talent isn't a new thing that started with Google's masseuses and sous-chefs, R&D heavy industries have been mindful of the advertising value in publishing for a long time.
- mnemotronic 4y agoOh my gosh. Talk about a flashback. When I heard the bump music following the return from the commercial break my brain went into a time-warp. I remember watching Computer Chronicles. And that RISC IBM desktop. $10k with all of 4Megs for those hefty scientific jobs. Woo-hoo!