Subscribe to EDN

Nothing much changes in computer and processor design

March 18, 2010

Fred Brooks, who wrote The Mythical Man Month and who worked as an architect on several important IBM computers, recently published an article about the IBM Stretch computer. Not many people know about Stretch (there’s a piece of Stretch in the Computer History Museum in Mountain View, California). However, the Stretch project in the late 1950s took IBM from vacuum tubes to transistors and laid many architectural and technical foundations for the immensely successful IBM 360 mainframe series of computers. The fundamental design concepts developed for the Stretch machine profoundly influence design today, so it’s worth 15 minutes or so to read the article. I’ll summarize two important developments here, just in case you lack the 15 minutes.

First, Stretch pioneered pipelined instruction execution. It had to do so, because the primary goal of Stretch was to be 100x faster than IBM’s latest scientific computer, the 709. Even with the jump from tubes to transistors, there was no way to reach that goal without coming up with a way to execute multiple instructions in parallel and pipelining is an excellent way to do just that. Brook’s remembers that the Stretch computer could have as many as 11 instructions in various stages of execution at one time. Today, most embedded microprocessors have three, five, or perhaps eight pipeline stages, so the Stretch architecture was quite a (er) stretch for the discrete-transistor era.

The second familiar problem is one of memory integrity. Stretch used ferrite-core memory. The cores measured 50 mils in diameter. They were small so that the memory could be fast. The goal was 2 microseconds. Brooks recalls that Stretch’s core memory ran hot and the heat-removal problem was eventually solved by immersing the memory planes in an oil bath. However, the really familiar problem with Stretch’s memory was data integrity. Stretch’s customers (nuclear weapons developers and cryptographers) needed highly reliable memory and ferrite cores pushed to the speed limits by the Stretch design team could not deliver that reliability without error detection and correction. Without it, the memory could deliver only minutes of error-free operation. Brooks writes: “Sometimes it is as important to be lucky as it is to be wise. One of the luckiest decisions was to put single-error correction, double-error detection on that memory.”

He goes on to explain why that decision was so fortuitous:

“The contract required that Stretch run for a month with better than 90% availability. The machine chugged along great and was hovering right above the 90% line when one bit driver, or else one sense amplifier, failed completely! For the rest of the acceptance test, the IBM team just ran it the way it was. There was not time to stop and fix it; stopping would have ruined the statistics. So the Stretch ran along to the end of the month single-error correcting every memory access from that box.”

In the 21st century, we’re fortunate to have far more reliable semiconductor memory, but the relentless pace of Moore’s Law is taking us right back to the territory where memory isn’t so reliable. Error-correction and –detection circuits are returning to their place of importance for all types of semiconductor memory including both DRAM and Flash.

Again, Brook’s article is a worthwhile read. Highly recommended.

 

Posted by Steve Leibson on March 18, 2010 | Comments (6)

April 16, 2010
In response to: Nothing much changes in computer and processor design
Buy Cialis commented:

service coincide cagrana rishi internalized remainsa zero ecrj wastage thwarted extrinsic


March 27, 2010
In response to: Nothing much changes in computer and processor design
Kevin Szabo commented:

Hi Grant. I'll drop you a line. Thanks for the pointer to your article; I'll definitely look it up. Whenever I think of really interesting architectures I think of Symbolics and SOAR. And then I remember David Ungar's law for architects (he called it the "architect's trap" I believe) Intuitively obvious architectural features which appear to substantially speed up certain operations often do not improve overall performance. In cases where a scarce hardware resource has been wasted, including an extra hardware feature may even reduce overall performance.


March 24, 2010
In response to: Nothing much changes in computer and processor design
Grant Martin commented:

Now I want Kevin Szabo to email me (gmartin@tensilica.com) as I am sure this is the Kevin Szabo I used to work with long ago. And he might be interested in the chapter Steve Leibson and I wrote in the book Jari Nurmi (Ed.), Processor Design: System-on-Chip Computing for ASICs and FPGAs, Springer, 2007, ISBN 978-1-4020-5529-4. Our joint chapter which covers Burroughs Emode machines was "Beyond the Valley of the Lost Processors (G. Martin, S. Leibson, Tensilica)" which took a historical look at processor design mistakes from the past.


March 24, 2010
In response to: Nothing much changes in computer and processor design
Kevin Szabo commented:

Well, the Burroughs 5000 in 1961 was pretty much OO hardware. Very elegant (en.wikipedia.org/wiki/Burroughs_large_systems). Also, must not forget the landmark Intel iAPX432 (en.wikipedia.org/wiki/Intel_432)which was "capability" and also "OO" based hardware. IBM'ers also know that the AS/400 line was nice system with "capability" based architecture. So, there are lots of interested architectures out there. Just not as popular as the i8086 based machines.


March 19, 2010
In response to: Nothing much changes in computer and processor design
Peter G. commented:

Brooks gave a talk about Harvest at the GP2 conference in 2004: www.cs.unc edu/Events/Conferences/GP2/program.shtml (sorry about the URL format; the site won't take comments with URLs). You should have mentioned that Brooks' new book, The Design of Design, comes out in a few weeks: www.amazon com/Design-Essays-Computer-Scientist/dp/0201362988 I interviewed him about the book at Siggraph last year. It should be another great read. . png


March 18, 2010
In response to: Nothing much changes in computer and processor design
Pre-360 Guy commented:

The architecture of the earliest IBM 360 systems dating back to 1964 was so far ahead of anything Intel or AMD have brought to market that it is laughable, and that architecture has proven to be extendable to an extent that proves the genius of its designers. For example, most people in the IT business think that virtualization is a new concept. In fact, the entire 360 processor line instruction set was virtualized, since the underlying hardware was very different from one end of the size spectrum to the other, but all of the machines would execute the same object code with no changes or even recompilation. That remains true today. I can take a program written in the 1960s and run it on the newest Z-Series machine with no changes.

POST A COMMENT
Display Name
captcha

Before submitting this form, please type the characters displayed above. Note the letters are case sensitive:

Advertisement
Advertisement
Advertisement
About EDN   |   Site Map   |   Contact Us   |   Subscription   |   RSS
© 2012 UBM Electronics. All rights reserved.
Use of this Web site is subject to its Terms of Use | Privacy Policy

Please visit these other UBM Canon sites

UBM Canon | Design News | Test & Measurement World | Packaging Digest | EDN | Qmed | Pharmalive | Appliance Magazine | Plastics Today | Powder Bulk Solids | Canon Trade Shows