4 ms·
The i860 failed for entirely different reasons though. It was really a vector engine that could manage some general compute with some grumbling whereas the 432
by jandrese 4y ago
The i860 failed for entirely different reasons though. It was really a vector engine that could manage some general compute with some grumbling whereas the 432 was built for general purpose applications written in Ada.
But I guess they did both fail for the same reason: they were more expensive and slower than x86 when running regular applications. Itanium would follow this trend. Come to think of it i860 and Itanium are far more closely related, both suffering greatly from the Intel hardware engineers punting on the difficult instruction scheduling issues with the architecture and the compiler writers not being able to pull the rabbit out of the hat and magically fix those issues. So you have chips that only ever perform properly on trivially parallelizeable tasks and are slow on the vast majority of code.
- chris_st 4y agoAs I understand it, the hardware design for the i860 made it incredibly hard to write a compiler for. This also helped it fail.
- kps 4y agoAt the time I worked for a small compiler company (primarily C and secondarily Fortran) that did a port for the i860, but decided not to polish and market it. It was a while ago, but my memory matches what jandrese (parent comment) says. It's not that it was particularly hard to compile for — it did have specific multiple-issue rules, but we were used to worse from microcode and VLIW targets — but that, outside of a very few arithmetic kernels, real-world code simply did not have enough parallelism for the chip to get anywhere near its paper performance claims. Entering and leaving the multi-flop mode had high latency, and there was so much internal state that interrupts/task-switching were ridiculously expensive. It was predictable that it was not going to be succeed as a general-purpose processor.