3 ms·
The VAX POLY instruction is generally held by s/w folk to be the poster child for CISC over-complication. Evidently they were mostly correct, as it's disappear
by 082349872349872 2y ago
The VAX POLY instruction is generally held by s/w folk to be the poster child for CISC over-complication.
Evidently they were mostly correct, as it's disappeared, but one thing that is missing from many criticisms: POLY as part of the ISA should have enabled the h/w folk to play games with representations of intermediate results (higher precision than the visible register set, or maybe even carry save?) that would not have been possible with RISC algorithmic implementations.
[I once worked with people who provided additional crunch for your POLY-heavy problems via extra VAXBI boards. Their bugaboo was that their approach (like GPU offload today?) often succeeded in turning what had been compute-bound problems into i/o-bound ones]
- adgjlsfhk1 2y agoit turns out that fma is the right framework here. it gets you the extra accuracy you want, and can be really fast.
- rhelz 2y agoDamn good point. Sure, there’s no point in microcoding something if it is just doing the same steps as a hand-coded version could do. But that doesn’t mean we just, say, stop implementing floating point operations!! We just make the hardware do it better than hand-coding can.
- rhelz 2y agoTo your point about i/o bottlenecks....these days, there is an i/o bottleneck between main memory and the registers--and even between the registers and the ALUs. This changes the tradeoffs. And its why we use chips sporting data parallelism and pipelined floating point units. Both techniques are, in the final analysis, backing off of pure RISC and making more complex instructions.