6 ms·
You have to wonder about the management at IBM that made him unhappy enough to leave in the first place. That kind of guy is going to do what he's going to do n
by noonespecial 11y ago
You have to wonder about the management at IBM that made him unhappy enough to leave in the first place. That kind of guy is going to do what he's going to do now matter what. Whether he does it for you or in competition against you is the only question.
There are very few lengths management shouldn't have gone to keep a guy like that happy at IBM.
- btilly 11y agoHe disagreed with their technical staff about how to design a mainframe. The technical staff said that the operating system should run on microcode to abstract away the hardware. That way it would be easier for customers to migrate to new hardware as it became available. And they could easily add a new instruction if they needed to. Gene said that it would be an order of magnitude faster if it ran directly on the hardware, and it wasn't that hard to support that API going forward. Both proved right. Gene built computers that were massively faster than IBM's and perfectly compatible. IBM then added an instruction in micro-code and made all of their software use it. Gene's installed base all crashed on IBM's new code, while IBM's was fine. The US government launched an anti-trust lawsuit, which wound up binding IBM's hands for many years after. IBM mainframes today still run on micro-code. And it still makes them massively slower than they need to be, but with better backwards compatibility. The mainframe world depends on a lot of programs from the 1960s and 1970s that runs, unchanged, today. Everyone else is using native instructions and runs faster.
- theoh 11y agoA good opportunity to mention the Popek-Goldberg criteria. If Amdahl's machines had been able to efficiently trap on the use of the new instruction (and execute a workaround using their existing instruction set) they might have been OK. Depends what the instruction was used for. Popek-Goldberg discusses the case where you want to virtualise your hardware: instruction set design becomes really important.
- deleted 11y ago[deleted]
- ganeumann 11y agoI think you imply this, but to make it explicit: IBM mainframes run some instructions in microcode, others are native. The ones that are native are not slowed down by the existence of the microcode engine. IBM analyzed programs-in-use to figure out which instructions bottlenecked real programs. These were the ones prioritized into native hardware. Others, where the bottleneck wasn't the central processor--like moving a block of memory from one location to another--were executed in microcode (at least back in the day: I was one of the engineers on the S/390 microcode engine.)