7 ms·
The Alpha 21264 CPU: NT's Greatest RISC (1998)
- robin_reala 2mo agoI remember Byte folding, but I’d blanked that it was a full 28 years ago.
- rbanffy 2mo agoIt’s so good to re-read Tom Halfhill’s articles. I wonder where he’s been in the past… checks notes… 30 years I haven’t seen his writings.
- theandrewbailey 2mo agoFrom back when IA-64 (A.K.A. Itanium) was supposed to take Intel to the promised land.
- pjmlp 2mo agoWithout AMD, maybe it would have.
- shdwslrkr 2mo agoNo, it wouldn't have. Without AMD rescuing x86, PowerPC wouldn't have died. MIPS wouldn't have died, and faces with the need to brake the 4Gn barrier on consumer equipment microsoft would have had windows running on three or four competing architectures until 2013 when everything would have switched to ARM. Itanium would have already been a rotting corpse. AMD rescued Intel from its own management.
- pjmlp 2mo agoSure it would, Windows XP 64 bits was alreary on Itanium, and NT versions for PowerPC and MIPS were already dead by then.
- shdwslrkr 2mo agoFirst thank you for generously understanding my post despite the vandalism that autocorrect did to it. WindowsNT is remarkably well suited to porting to other arch. This was done on purpose to hedge against x86. Dead one day, reactivated the other. MS needed to brake the 4Gb barrier and they would have done anything to get consumer priced 64bit chips. Itanium was a dog. We had an Itanium SGI "supercomputer". Everything about it that SGI designed was amazing (hot swapping cpus). The cpu was a dog.
- pjmlp 2mo agoItanium wasn't set in stone, a few times CPUs were redesigned to fix architecture issues, naturally for WinIntel that became economic unfeasible the moment AMD64 became an alternative. Without it, Intel would most likely kept iterating and improving Itanium's architecture.
- hedgehog 2mo agoIt's unclear to me what would have likely happened had AMD stayed on IA32 and Netburst been uncontested. Itanium was far too expensive for consumer machines and it seems very possible that Intel would have fumbled IA64 in a way similar to more recent AVX-512 and their big.little efforts. Easy enough to port XP to Itanium, hard to get those machines into Best Buy or the Dell catalog in any way that makes sense. Had AMD continued Athlon performance improvements and Intel still responded with a P6-derived Pentium M (which even in our timeline was 32-bit) it still seems like there would have been no volume market for IA64 and we still would have eventually ended up with an evolution of IA32 even if it came from Intel instead of AMD.
- pjmlp 2mo agoIt is all what ifs by now, however I firmly believe if there was no other option other than Wintel, Intel would keep pushing Itanium and sort out the design issues. The thing with AMD64 is that now there is this myth that there was no other alternative than keeping up with x86, and Itanium redesigns for some magical reason were impossible. Other than those redesigns never happened, because AMD64 made economic invalid to pursue them.
- EvanAnderson 2mo ago> David Jessel, the Alpha's senior product manager, claims that Alpha fans have nothing to worry about. "Compaq has been fully supportive of the Alpha and is continuing to invest in it," Jessel said. That worked out swimmingly for Alpha... >sigh< I never programmed Alpha assembly, so I don't really have a feel for the architecture. I did deploy some Alpha-based boxes running NT, and they were very nice. They didn't feel pieced-together like x86 servers did.
- cbm-vic-20 2mo agoOn the hardware side, DEC built very-well engineered hardware. The early Alpha machines were very well designed. Even the PC compatible lines of the era were built to a very high quality standard.
- rasz 2mo ago> Even the PC compatible lines of the era were built to a very high quality standard. DEC had a moment between 1990-92 when they did pretty good in PC market. Oral History of Grant Saviers, part 2 of 2 https://www.youtube.com/watch?v=Od830KDrLUU https://www.youtube.com/watch?v=Od830KDrLUU Oral History of Grant Saviers part 1: http://archive.computerhistory.org/resources/access/text/2012/08/102746014-05-01-acc.pdf http://archive.computerhistory.org/resources/access/text/201... Oral History of Grant Saviers part 2: https://archive.computerhistory.org/resources/access/text/2023/04/102795787-05-01-acc.pdf https://archive.computerhistory.org/resources/access/text/20... 'As DEC’s Corporate Vice President of PC Systems and Peripherals from 1990 to 1992 Grant successfully restarted DEC’s PC business from a dormant state and grew revenues to $350M and break-even profitability in 18 months.' @18 minute timestamp - they copied DELL strategy and it worked, business was growing and then DEC founder and CEO Ken Olsen decided to kill it. Grant got recruited to lead Adaptec.
- p_l 2mo agoAnother somewhat related error in strategy was trying to keep VAX alive for longer than it should have been, especially the ECL versions
- jleyank 2mo agoI seem to remember that Alpha’s were very fast for the time but their maximum optimization level waived IEEE floating point conformance. This, of course, drove us nuts trying to validate ports of numerically intensive code. Less interesting chips with lower optimization and limited market penetration. Now, HP’s PA-RISC chips…. Those things were fast and easier to work with. Curiously, with SoftPC they could do windows faster than a 486 could. Slaughtered all sorts of mini-supers they did. Would have been interesting if alpha survived to compete with SGI’s MIPS.
- drob518 2mo agoI worked on the first PA-RISC workstations (“snakes”, 1989-1991). PA-RISC started as a fairly pure RISC design and was consequently very simple and predictable (short pipeline, 1 delay slot, no complex instructions). The philosophy of the design team was to make the system fast with high clock speeds, short pipelines, and big caches, all big fundamental variables in the performance equation. Alpha was much more sophisticated but also a lot more complex. The Alpha memory model, in particular, was quite complex with lots of cache control and barrier primitives, IIRC. But it could fly when you got the stars to align. Edit: Alpha also came out later and PA-RISC also got more complex in later generations.
- spamizbad 2mo agoI feel like PA-RISC actually landed with a handful of useful somewhat-complex instructions. It always struck me as the best architecture from that era, making the correct trade-off of avoided microcode but adopted stuff like completers and shift-and-add operations to minimize instruction count and maximize work done per pipeline.
- drob518 2mo agoYea, there were things like shift and add to do multiplication more efficiently, but they were all one-cycle instructions. It was very regular that way, all designed around a clean pipeline without a stalls or bypassing. But, consequently, it originally didn’t even have integer multiplication or division, just shift and add and a “divide step” that you could repeat/loop. Looking at the instruction set just now, I chuckled at how simple it was. It makes RISC-V look complex. See: ftp.parisc-linux.org/docs/arch/pa11_acd.pdf Edit: actually, it did have fixed point multiply via the floating point unit (opcode XMPYU). No fixed point divide, though.
- hn22fazjsv 2mo ago[dead]
- leoc 2mo agoA video of an 1994 presentation put together for Hot Chips VI on the 21164: https://youtube.com/watch?v=OHupqMbLj1g https://youtube.com/watch?v=OHupqMbLj1g An April 1992 University Video Communications presentation on the Alpha architecture https://youtube.com/watch?v=klg1FtHADso https://youtube.com/watch?v=klg1FtHADso and then from 38m 19s on the 21064 CPU https://youtube.com/watch?v=klg1FtHADso&t=2299s https://youtube.com/watch?v=klg1FtHADso&t=2299s . From about 2m52s https://youtube.com/watch?v=klg1FtHADso&t=172s https://youtube.com/watch?v=klg1FtHADso&t=172s to 4m 43s Richard L. Sites gives the Alpha team’s predictions from 1992 for the next 12-25 of CPU development, which seem to have been fairly on the nail. (Sites hasn’t been idle recently either! He’s responsible for the ultra-low-overhead KUTrace: https://news.ycombinator.com/item?id=40972099 https://news.ycombinator.com/item?id=40972099 )
- stmw 2mo agoFun fact - Linus first trip to the United States was related to Linux-on-Alpha port and sponsored by Digital Equipment Corporation.
- synack 2mo agoThe Alpha CPUs didn’t implement the div instruction and Linus’ assembly version was faster than DEC’s in some cases. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/arch/alpha/lib/divide.S https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux...
- stmw 2mo agoThat's nice. (Not uncommon in early RISC, (e.g. PowerPC had some similar limitations for 64 bit ints), and various assembly fun ensued).
- dosinga 2mo ago> outside of the highly specialized embedded-application market, RISC is in retreat with hindsight it is funny to realize that RISCs come back would start from inside that highly specialized market in the form of ARM.
- trimbo 2mo agoAnd just like the 90s, every major tech company is making their own RISC chip[1]! Apple Silicon, Tensor, Graviton, Axion, Cobalt, Grace.... [1] - Though not exactly since they're all ARM ISA at the foundation.
- MomsAVoxell 2mo agoIn those days, I was using SGI machines to build web sites for folks .. the Indy was very popular for this purpose. One day I was given a DEC Alpha machine to evaluate and see if it was a worthwhile addition to our inventory. It came with NT, so there was some friction to just adding it to our services. These days were very frustrating - Microsoft was hell-bent on killing Unix, and later Linux also - and there was a lot of back and forth in our engineering team whether we wanted to invest in this hassle. We didn't. I had that machine under my desk doing basically nothing for a year, before I sent it back. If there had been a bit more insight into the nature of things, and if it had been running a Unix variant, we would have given it a better chance. So then it was even more frustrating when SGI did a deal with the devil in later years, and tried to get its customers switch to NT, also. That killed SGI, in my opinion. Looking back now, it's kind of incredible the resistance to Unix in those days, and how it was all going to be replaced with some "New Technology". Linux won. SGI didn't. And DEC was an early victim they should have learned from, in my opinion.
- pavlov 2mo agoFrom Microsoft’s POV they soundly beat Unix in the 1990s because they were primarily focused on the GUI workstation market. In 1991 the market for high-end desktop software like engineering, video editing and 3D modeling tools was dominated by Unix and classic Mac. In 1999 all of those applications were on Windows NT. Vendors like Autodesk and Avid were building for Windows first. New graphics acceleration hardware targeted PC add-on cards rather than being exclusive to a workstation vendor (SGI tried this approach with their NT box and it flopped). In retrospect it was just commercial Unix that had lost the game, but it wasn’t obvious at the time that Linux could reclaim this market. And Mac OS X was considered by many a doomed project (after all Apple had been promising a new OS for the entire ‘90s, nobody knew how deeply the NeXT acquisition would transform the company).
- adrian_b 2mo agoEngineering never went completely to Windows NT. Between 1997 and 2007, I worked at 3 different companies, in 3 different countries (2 in Europe + Israel) as Design Engineer in electronics. All the serious engineering programs for EDA/CAD were run on Solaris and accessed from Windows with X-terminal programs. Towards the end of that decade, the Opteron-based servers were both much faster and much cheaper than the Sun servers or the Fujitsu servers, so the EDA/CAD programs were migrated from Solaris to Linux, while the Windows computers continued to run only the X-terminal programs for accessing the servers. At the beginning of that decade, I also used a Sun workstation, but those disappeared after 1999, because they were much too slow in comparison with a PC with Intel Pentium III or with AMD Athlon. It is likely that the reason why those EDA/CAD programs did not have Windows versions at that time was that they already required a lot of memory, typically much more than 4 GB, so they migrated from Solaris to Linux only after the availability of x86-64 servers, while having a Windows version was not possible before mid 2006, when Intel joined AMD in providing 64-bit CPUs even for PCs, not only for servers, so the market share of 64-bit PCs became non-negligible.
- fredoralive 2mo agoThe bit about how the AMD Athlon (K7) uses the same bus, and how they planned to make Slot A Alphas where the only adjustment an Althon motherboard would need is a different BIOS. Imagine what might have been, especially as Alpha Windows 2000 had a built in FX!32. Cheap Alpha systems with a good x86 compatibility story, it could've been a contender. (Yeah, I know, several stars would've had to align for it to actually work).
- krylon 2mo ago"Cheap" and "Alpha" would have been hard to pull of simultaneously. But it would have been really cool.
- microtonal 2mo agoThe AXPpci 33 boards were pretty cheap at some point. I had one at the end of the 90s and I think it was 100-200 Dutch guilders.
- kjs3 2mo agoPretty cheap and pretty slow, relative to other Alphas. The various ATX-sized PC164s motherboards were the ones that should have sealed the deal for Digital, but intel had PPro at about the same time, with similar performance, less cost and probably most importantly ran all the software people already had and vendors didn't have to port to a new arch[1]. What might have been. [1] Yes, yes...PPro sucks on 16-bit software. My personal experience was that was a red herring by the benchmark-jockies, because it wasn't that much slower, and virtually none of the many, many PPro machines I was responsible for ran DOS/Win3 software.
- rasz 2mo agoThere was a problem with that idea, DEC engineers working for AMD made K7 too fast for Alpha to compete.
- hinkley 2mo ago
- fenestella 2mo ago[flagged]
- hinkley 2mo agoBYTE magazine has been gone for almost 30 years now. Fuck. Dr Dobbs has been gone for 12, which is still a long time, but when I first read the intro my brain transposed the two and I had a proper freak out before I realized what I'd done.
- hinkley 2mo agoDigital, HP, and IBM had the foresight to supply NCSA with Windows NT machines with their respective not-Intel chips in them to make sure that they had a web browser on their platforms. I got the honor of using the Alpha machine, and so it got the most QA by far. I recall spending an unnecessary amount of time not only staring at the heat sink but occasionally showing it to the new guy so they could confirm my astonishment. Having the free hardware mostly worked, but there was a long time before all of the data alignment bugs got sorted out. It got to the point where my CS classes had progressed enough that I started looking for them myself. Literally the first development tasks I got paid to do was code reviewing for word alignment bugs on 64 bit code. It was a long goddamned time ago so it's pretty fuzzy but IIRC not all 3 processors had exactly the same restrictions for all data types. So if it worked on Alpha it usually worked on the other 2 but not 100%. I didn't have to deal with 64 bit software at work again for another 10 years, at which point people looked at me like I was trying to be edgy when I just shrugged. No, really, I was looking at 64 bit code errors 10 years ago.
- rhelz 2mo agoMost of the barriers for Alpha adoption were problems inherent in the 32-bit to 64-bit transition. Alignment problems, yes, but another killer problem was that 64-bit pointers were twice as large. The software I was writing at the time (EDA) took almost exactly twice as much memory. So if we needed more than 4GB, we could go to a 64-bit machine, but unless you bought even more than 8GB, you couldn't really run on bigger problems. As you note, all those problems had to be sorted out 10 years later, when AMD finally forced Intel's hand into selling 64-bit computers.
- somat 2mo agoAMD only pressured Intel into adapting the 64-bit extensions to the x86 architecture, The Intel native 64-bit system was the Itanium. Which they were hoping would break x86 and it's messy open legacy that allowed AMD to profit off it. A question on terminology, I come from bsd world so prefer i386, amd64, ia64(the itanium) whereas the linux side appears to prefer x86 x86-64 Nothing wrong with it(it describes the architecture fine) but I assume that x86-64 is intel face saving propaganda.
- danielktdoranie 2mo agoHardly anyone ran NT on these beautiful chips. Tru64 was the OS of choice for these in 1998. Hence the decision by MS to cease support. Running NT on a Dec Alpha would be like running kerosene in your Ferrari’s engine. If you wanted to run Windows NT you could do so a lot cheaper on an x86 PC.
- p_l 2mo agoDecision to cease support was reputedly done by Compaq, coming as complete surprise to both Compaq-side and Microsoft-side NT teams. As for Alpha, funnily enough the first few years I knew of it, I knew only of NT use with them, because that's what the R&D institute my father worked at had.
- chasil 2mo agoFor everyone who says that the Alpha was a technically-superior CPU design that should have prevailed, I will draw attention to an interesting fact: "According to Allen Baum, the StrongARM traces its history to attempts to make a low-power version of the DEC Alpha, which DEC's engineers quickly concluded was not possible." https://en.wikipedia.org/wiki/StrongARM https://en.wikipedia.org/wiki/StrongARM While AArch64 has been in the top supercomputer, a phone running on Alpha was not. For this scalability problem, it deserved to die.
- p_l 2mo agoThe issue was not that Alpha ISA was impossible to scale down. The issue was that DEC lacked the resources to run a completely new microarchitecture design to target low-power platforms, and the failure was trying to push an extreme performance chip into low-power envelope instead of designing a new one. AFAIK with ARM the difference is that they started with low-power underpowered chip and modified it to bring the performance up. You'd have probably similar issues trying to make a phone using Fujitsu A64FX (the supercomputer ARM) into low-power chip.
- chasil 2mo agoThis interview with Allen Baum seems to imply that DEC was quite aware of what could easily be done with Alpha, and what could not. I'm also assuming that ARM code density was better than Alpha (conditional opcodes being a major contributor). "Well, we were looking at doing a low power Alpha and decided that just couldn’t be done, and then looked at the ARM. We think we can make an ARM which is really low power, really high performance, really tiny, and cheap, and we can do it in a year... "Well, I worked on the StrongARM 1500, which was a very interesting product. It was an ARM and a DSP kind of highly combined... And then we finished that project and our group in Palo Alto, we were just gonna start an Alpha project." https://archive.computerhistory.org/resources/access/text/2018/06/102717165-05-01-acc.pdf https://archive.computerhistory.org/resources/access/text/20...
- p_l 2mo agoAn important thing to consider is that DEC simply didn't have enough CPU design teams, which is also why Alpha essentially had only one-and-half model in the works throughout its history - and the half came from smashing smallest chipset variant into single chip with the CPU for pretty bad performance (too slow memory, mainly). A low-power Alpha CPU would have to be a from scratch design, even if arguably simple to implement ISA-compatible chip. StrongARM was developed in partnership with ARM, not starting from zero, applying some of the techniques Digital developed with Alpha to ARM - reputedly creating the idea that ARM could be fast at all
- irusensei 2mo agoI heard about Alpha in that it while being more powerful than x86 it wasn't as alien as the competition. The boards had PCI slots and looked like normal PCs, it had Windows NT and Linux. So if your Exchange server was not handling the load you moved it to Alpha and it was good. It also seems faith in IA64 was the meteor that killed most of these self developed RISC architectures.
- p_l 2mo agoFWIW Alpha pretty quickly went with mainly PCI + few legacy ISA slots for considerable chunk of the line, unlike competition which used proprietary buses that might have been faster but meant extra level of exotic in procurement
- kjs3 2mo agoA VAR I worked with back in the day made great scratch for a good number of years flogging MS SQLServer on Alpha for the performance boost, which was apparently more than enough to justify the price premium for those that needed it.
- loph 2mo agoIt's important in the historical context of the Alpha AXP to also remember the DEC PRISM architecture. Canceled in 1988. One of many architectures killed off by DEC. https://en.wikipedia.org/wiki/DEC_PRISM https://en.wikipedia.org/wiki/DEC_PRISM Killing Prism sent David Cutler into the arms of Microsoft. Another dead architecture was Jupiter: https://en.wikipedia.org/wiki/Jupiter_project https://en.wikipedia.org/wiki/Jupiter_project Killing Jupiter sent many of DEC's DECsystem-10 customers to IBM. Years later, they both seem like bad decisions.
- panick21_ 2mo agoJupiter was just a PDP-10, I don't think killing Jupiter was bad. The VAX was insanely successful and adopted by a large amount of people. And Jupiter was a very expensive project and it basically failed to do what it wanted to do and was already late. They stopped with PDP-10 because nobody seemed to be able to make a next generation architecture work. Arguably, all ECL projects should have been killed, even Venus.
- rayiner 2mo agoMan, I loved reading Tom’s articles in BYTE.
- ggm 2mo agoMy memory is that the Alpha and OSF/1 hit at the same time. OSF/1 had a different model of shared library stuff, and I recall it being something which sometimes demanded a reboot to get a runtime cache rebuilt/linked so things worked as you expected. I may be mis-remembering, I think DEC had coded some pull up smarts to optimise the lib -> indirect -> actual call path into the shortest path possible. I also recall the syslog being absolutely FLOODED with "unaligned access at..." messages. It was fast. It was very fast. If you knew how to make the compiler to the precompile, test run, introspect, recompile cycle, it would work out from some sample state the right choices (branch prediction ordering?) and make your fast code even faster.
- p_l 2mo agoUnaligned access was common issue on many RISCs, which depending on specific Unix variant and runtime settings might mean regularly getting SIGBUS for code ported from other architectures. Without BWX instructions from EV56 (21164A) you also could not make memory access smaller than 32bits