3 ms·
It's a real shame the Alpha didn't survive. They were pretty brutal about cutting out anything unnecessary and most things that were difficult for a compiler t
by KMag 6y ago
It's a real shame the Alpha didn't survive. They were pretty brutal about cutting out anything unnecessary and most things that were difficult for a compiler to take advantage of. The earliest versions couldn't load or store singe bytes, and the compiler would insert the necessary bit manipulation to do single byte manipulations using 32-bit or 64-bit loads and stores. Apparently, anyone who wanted to add a new instruction needed to show a good business use case with simulated benchmark.
The Alpha's memory model is notoriously low on guarantees, to give the processor maximal opportunities to re-order memory operations. It's the lowest-common-denominator that influenced what guarantees are made in the Java memory model. Of course, Java could have gone with a stronger memory model and forced Alpha implementations of the JVM to insert a lot more memory fence instructions.
One under-appreciated aspect of the Alpha was that its firmware (PALCode) was essentially a hypervisor that only supported one guest. The True64 or VMS Kernel actually made upcalls to the PALCode to manipulate page tables, etc. I think it would have transitioned well into the hypervisor world, needing minimal modification to the PALCode, and all OS kernels on Alpha were already para-virtualized to use PALCode upcalls, so there would be very little overhead in running those kernels on a multi-guest hypervisor.
If I remember correctly, DEC also invented/patented hyperthreading, and successfully sued Intel over it. Though, as I remember, the settlement conditions forced Intel to buy the StrongARM business off of DEC, which I think was another case of selling off a profitable business to get operating cash for unprofitable businesses. It's the business equivalent of payday loans.
- deleted 6y ago[deleted]