mjl@ritcv.UUCP (Mike Lutz) (03/13/88)
For the record h/w types can make mistakes as well: 1. The infamous IBM 360 floating point arithmetic botch, where Wilkinson showed how relatively simple calculations to lead to catastrophic loss of precision. This led to the retrofit of a guard digit in the IBM floating point architecture -- a retrofit which was possible *only* because most of the 360 line was microprogrammable. [ Note that this was a requirements analysis error, and like most such errors, extermely expensive to fix] 2. Some of the first runs of the M68020 were RISC like in that they had a delayed conditional branch. Too bad that wasn't the spec. I've also noticed that as more and more hardware is implemented using microcontrollers and discrete state devices like PLAs, the more the process begins to resemble software. Probably due to our fundamentally less sophisticated discrete mathematics (as compared to continuous mathematics used in most other engineering disciplines -- see Parnas's papers on SDI software for more on what makes s/w engineering different and difficult). Mike Lutz -- Mike Lutz Rochester Institute of Technology, Rochester NY UUCP: {allegra,seismo}!rochester!ritcv!mjl CSNET: mjl%rit@csnet-relay.ARPA