DEC Alpha
| Company type | Instruction set architecture |
|---|---|
| Industry | Computer hardware |
| Predecessor | VAX |
| Founder | Digital Equipment Corporation |
| Fate | Acquired by Compaq in 1998, intellectual property transferred to Intel in 2001 |
| Headquarters | United States |
| Products | Alpha microprocessors and related hardware |
| Parent | Digital Equipment Corporation (until 1998), Compaq (1998–2002) |
Alpha (initially known as Alpha AXP) is a 64-bit reduced instruction set computer (RISC) instruction set architecture (ISA) created by Digital Equipment Corporation (DEC). It was intended to succeed the 32-bit VAX complex instruction set computer (CISC) systems and to establish a presence in the RISC processor market, particularly targeting Unix workstations and related sectors.
The Alpha architecture was realized through a sequence of microprocessors designed and manufactured by DEC, mainly powering their workstations and servers, which formed the backbone of their mid- to high-end offerings. Additionally, several external manufacturers developed Alpha-based hardware, including PC-compatible motherboards.
Operating systems compatible with Alpha included OpenVMS, Tru64 UNIX, early releases of Windows NT, and multiple Linux variants (Debian, SUSE Linux, Gentoo Linux, Red Hat Linux), alongside BSD derivatives (NetBSD, OpenBSD, FreeBSD) up to version 6.x. Although ports of other systems such as Ultrix were created, they never reached commercial distribution.
In 1998, much of DEC along with the Alpha architecture was acquired by Compaq. As an Intel x86 customer, Compaq announced intentions to gradually retire Alpha in favor of the forthcoming Hewlett-Packard/Intel Itanium platform. By 2001, Compaq had transferred all Alpha intellectual property rights to Intel, effectively halting its further development. Following Hewlett-Packard’s acquisition of Compaq in 2002, support for existing Alpha products continued until 2007, primarily servicing legacy users.
PRISM
Throughout the 1980s, Digital Equipment Corporation (DEC) prospered with its line of 32-bit CISC-based VAX computers running the VMS operating system. By the mid-1980s, DEC aligned with the prevailing industry trend favoring more efficient RISC architectures. However, several simultaneous internal initiatives caused delays and uncertainty.
Alpha's roots trace back to an earlier RISC initiative called Parallel Reduced Instruction Set Machine (PRISM), which aimed to support both Unix-like applications and Digital’s existing VAX/VMS software with minimal modification. To complement this, a new operating system named MICA was developed to merge the interfaces of ULTRIX and VAX/VMS into a single kernel, enabling software portability across platforms.
Launched in 1985, PRISM underwent multiple design revisions influenced by changing market conditions, which postponed its release. By mid-1987, it was finalized as a pioneering 64-bit design. However, after Sun Microsystems introduced the faster Sun-4 workstation powered by their SPARC processor in October 1987, DEC reverted PRISM back to a 32-bit design focused on Unix markets, causing further delays.
During ongoing PRISM setbacks, a team based in Palo Alto independently developed a workstation using the MIPS R2000, delivering the first Ultrix-running DECstation within three months. This development led to internal disputes culminating in a July 1988 management review. Although PRISM demonstrated superior speed compared to the R2000, the MIPS-based DECstation could be launched by January 1989—approximately one year earlier. Management opted for the MIPS solution, eliminating PRISM’s role; its VMS compatibility had already been abandoned. As a result, PRISM was discontinued.
RISCy VAX
Following a meeting, Bob Supnik was approached by Ken Olsen, who expressed concerns about RISC processors posing a competitive challenge to the VAX series. Olsen requested that Supnik investigate strategies to maintain VAX's market position against emerging RISC platforms.
This initiative gave rise to the "RISCy VAX" project, which explored three primary approaches: implementing a streamlined VAX instruction set architecture (ISA) on a RISC-like processor with complex instructions executed via subroutines; developing a fully RISC-based system that dynamically translated VAX instructions into its native ISA stored in CPU cache; and designing a faster CISC processor capable of running the complete VAX ISA. Each method introduced performance penalties, resulting in less efficiency compared to native RISC machines.
Subsequently, the group assessed hybrid architectures that paired a single-chip VAX processor with a RISC coprocessor to boost performance. However, these hybrids were constrained by the slower component and failed to deliver a definitive advantage. Nancy Kronenberg pointed out that customers primarily relied on VMS rather than directly on VAX hardware, and since VMS depended minimally on hardware specifics—chiefly interrupt handling and memory paging—it could feasibly be ported to a RISC platform if these elements were preserved. This strategy appeared promising.
In February 1989, Supnik presented these conclusions to the Strategy Task Force. The critical considerations included whether the new RISC design could excel in Unix performance and whether it should be developed as an open standard. The outcome favored adopting the PRISM architecture with alterations, leading to the creation of the "EVAX" concept as the successor to the CMOS CVAX. To represent a fresh start beyond the VAX lineage—drawing inspiration from "Omega," the codename for an NVAX-based VAX 4000 model—management renamed the project "Alpha." Work commenced promptly on porting VMS to this new platform.
Alpha
Alpha was developed with a focus on delivering high performance while maintaining compatibility with both VMS and Unix environments. Its Binary translation capabilities ensured backwards compatibility with applications designed for VAX VMS and Ultrix MIPS systems. While incorporating fundamental PRISM design principles, Alpha was specifically optimized to execute VMS software efficiently without requiring translation. The principal architects behind Alpha’s instruction set were Richard L. Sites and Richard T. Witek. The PRISM's Epicode evolved into Alpha's PALcode, which offered an abstraction layer managing platform- and processor-specific functions.
The significance of Alpha in the industry derived more from its realization than its architectural design. In an era dominated by automated design methodologies, Digital’s decision to employ manual circuit design for a simplified architecture resulted in substantially higher clock speeds, reigniting interest in custom microprocessor development.
Initially labeled as the DECchip 21x64 series, the "21" symbolized the 21st century, while "64" denoted its 64-bit architecture. Alpha was conceived as a fully 64-bit processor from the outset, with no 32-bit variants produced. The middle digit indicated the generation of the architecture iteration. Internally, Alpha processors were referred to by EV numbers—officially standing for "Extended VAX" but also alluding to the "Electric Pickle" project at Western Research Lab. These EV designations corresponded to semiconductor fabrication processes; for instance, EV4 utilized DEC's CMOS-4 technology.
In May 1997, DEC initiated legal action against Intel, alleging patent violations in Intel’s Pentium, Pentium Pro, and Pentium II processors. The resolution included Intel acquiring significant portions of DEC’s chip design and manufacturing operations, including the StrongARM ARM core implemented by Intel as XScale processors for Pocket PC devices. While DEC retained control over its core Alpha microprocessor division, related facilities were transferred to Intel as part of the Hudson fabrication plant agreement.
Enhanced iterations
The initial Alpha processors represented a significant breakthrough at the time of their introduction.
- An early prototype, named EV3, served in the Alpha Demonstration Unit (ADU) to facilitate operating system adaptation to the Alpha platform. Unlike subsequent versions, the EV3 did not include a floating-point unit.
- The first commercially produced chip, known as Alpha 21064 or EV4, was the pioneer CMOS microprocessor capable of matching the clock speeds of more powerful ECL-based minicomputers and mainframe systems.
- The 21164 or EV5 was notable for being the industry's inaugural processor to feature a substantial on-chip secondary cache.
- Combining high clock rates with sophisticated out-of-order execution, the 21264 or EV6 marked a significant architectural advancement.
- The 21364 or EV7 distinguished itself by integrating an on-chip memory controller into a high-performance processor for the first time.
- The planned but never released 21464 or EV8 was designed to support simultaneous multithreading; however, it was discontinued following DEC’s acquisition by Compaq. Its intended successor, code-named Tarantula (presumably EV9), aimed to incorporate a vector processing unit.
According to an internal DEC source, the "AXP" designation was selected by DEC’s legal team to circumvent trademark conflicts after issues with the VAX trademark. The "AXP" label was free from such constraints, and industry insiders humorously suggested it stood for "Almost eXactly PRISM."
Architectural philosophy
The Alpha design targeted exceptional performance improvements, aspiring to boost processing power by a factor of one thousand over 25 years. To realize this goal, any architectural elements that could hinder multiple instruction dispatch, clock speed, or multiprocessing capabilities were excluded. As a result, the Alpha architecture does not include:
- Branch delay slots
- Suppressed instructions
- Byte-level load or store instructions (which were later introduced through Byte Word Extensions (BWX))
Condition flags
To prevent performance bottlenecks, Alpha processors omit condition codes for integer operations. Instead, instructions that may cause overflow write the least significant bits directly into the destination register. The carry condition arises from unsigned comparisons; if the result is less than either operand, a one is recorded to indicate this state.
Register set
The Alpha architecture specifies 32 integer registers labeled R0 through R31 and 32 floating-point registers designated F0 through F31. It also includes a 64-bit program counter (PC), two lock registers to support multiprocessing synchronization, and a floating-point control register (FPCR). Registers R31 and F31 are hardwired to zero and cannot be modified. Digital Equipment Corporation chose to separate integer and floating-point register sets to enable implementations using two chips as well as designs without floating-point units. This separation also facilitates multiple instruction issue by minimizing read/write port conflicts. Limiting each register file to 32 registers instead of 64 reduces die area and enhances clock frequency while still supporting at least eight instructions issued simultaneously without degrading performance. The program counter maintains a virtual address aligned on longword boundaries and increments by four bytes with each instruction decoded. Lock registers handle synchronization primitives such as load-locked and store-conditional instructions in multiprocessor environments. The FPCR supports floating-point hardware conforming to IEEE 754 standards. Data typesWithin the Alpha architecture, a byte refers to an 8-bit unit of data, a word corresponds to 16 bits, a longword consists of 32 bits, a quadword contains 64 bits, and an octaword encompasses 128 bits. Initially, Alpha specified six primary data types:
To maintain compatibility with the earlier VAX system, two additional floating-point formats were incorporated:
Although the VAX H-floating point format (128-bit quad precision) was not supported natively, Alpha provides an alternative 128-bit floating-point type known as X-floating point. Emulation software and source-level migration utilities are available to facilitate use of H-floating point. MemoryAlpha implements a 64-bit linear virtual address space without segmentation. However, certain implementations may limit the virtual address range to as few as 43 bits. To ensure cross-platform software compatibility, any higher-order address bits beyond the implemented range must be set to zero. Instruction formatsThe Alpha instruction set architecture employs fixed-length 32-bit instructions organized into six distinct formats:
The integer operate format contains a six-bit opcode, two source registers labeled Ra and Rb, a reserved unused segment, a distinguishing bit fixed at zero, a function field defining the specific operation, and a destination register Rc. Each register is identified using five bits, allowing access to all thirty-two integer registers. In the integer operate with literal format, the fields for Rb and unused bits are replaced by an eight-bit literal operand that is zero-extended to fill a full 64-bit value. Floating-point operate instructions share a structure similar to the integer operate format but utilize an expanded function field by reassigning bits that remain unused in integer instruction formats. The memory format caters to load and store instructions and consists of an opcode, two register operands, and a displacement field. Branch instructions include an opcode, a register Ra used for conditional evaluation, and a signed displacement that supports program counter adjustments within approximately ±4 MiB. The CALL_PAL format is designed for invoking PALcode subroutines and features an opcode alongside an extensive function field specifying the particular subroutine being called. Control instructionsControl instructions encompass both conditional and unconditional branches as well as jumps. Branch operations follow the branch instruction format, whereas jumps adhere to the memory instruction format. Conditional branch instructions evaluate either the least significant bit of a register or compare a signed quadword register with zero, branching when specific conditions such as equality, inequality, or relational tests are satisfied. The target address is calculated by sign-extending and aligning a 21-bit displacement, which is then added to the address of the subsequent instruction. Unconditional branches similarly modify the program counter and store the address of the following instruction into a designated register. Two versions exist that differ solely in their branch prediction hints. There are four jump instructions that save the next instruction’s address and update the program counter from a register; these differ only in the branch prediction hints encoded within an otherwise unused displacement field. Integer arithmeticInteger arithmetic instructions cover addition, subtraction, and multiplication for both longwords and quadwords, along with quadword comparisons. Division operations are excluded to keep hardware design straightforward. Scaled add and subtract variants shift the second operand left by two or three bits prior to performing the operation. The Multiply Longword and Multiply Quadword instructions yield the lower 32 or 64 bits of a 64- or 128-bit product respectively. The Unsigned Multiply Quadword High (UMULH) instruction produces the upper half of the result, enabling multi-precision arithmetic and division techniques—a feature influenced by DEC PRISM architecture. Operations on longwords disregard the upper half of registers; results are sign-extended to 32 bits. Most add, multiply, and subtract instructions do not trigger traps on overflow by default; however, overflow-detecting versions are available when necessary. Compare instructions assess two registers or a register and an immediate value, outputting '1' if the condition holds true or '0' otherwise. Conditions include equality, inequality, less than or equal to, and less than comparisons. Both signed and unsigned variants exist for most comparison operations. All integer arithmetic instructions utilize formats defined for integer operate instructions. Logical and shiftLogical instructions perform bitwise operations and conditional moves on integer registers. Bitwise operations include AND, NAND, NOR, OR, XNOR, and XOR between registers or between a register and an immediate value. Conditional move instructions test a signed quadword register against zero and transfer data when conditions such as equality, inequality, or relational comparisons are met. Shift instructions implement arithmetic right shifts as well as logical left and right shifts with shift amounts specified by registers or literals. These logical and shift operations employ the integer operate instruction formats. Byte-Word Extensions (BWX)Starting with the Alpha 21164A (EV56) microprocessor and continuing through all later Alpha processors, byte-word extensions (BWX) were introduced. BWX adds support for manipulating 8-bit and 16-bit data types through dedicated instructions that replace sequences of multiple operations with single ones, improving code density and boosting application performance. This extension also streamlines x86 machine code emulation and simplifies device driver programming.
Motion Video Instructions (MVI)Motion Video Instructions (MVI) represent an Alpha ISA extension that introduces SIMD operations on integer data within existing registers. This extension was incorporated into the Alpha 21164PC (PCA56/PCA57), Alpha 21264 (EV6), and Alpha 21364 (EV7) processors. Unlike other SIMD instruction sets of its era, such as MIPS' MDMX or SPARC's Visual Instruction Set, MVI offers a more concise and efficient instruction collection. Digital developed MVI specifically to optimize MPEG-2 encoding processes without sacrificing the rapid cycle times characteristic of Alpha processors. This approach avoided introducing complex decode mechanisms that could negatively impact clock speeds. MVI comprises 13 distinct instructions:
Floating-point Extensions (FIX)The Floating-point Extensions (FIX) augment the Alpha Architecture by adding nine instructions dedicated to floating-point square-root computations and facilitating data moves between integer and floating-point registers. The initial implementation of these instructions appeared in the Alpha 21264 (EV6).
Count Extensions (CIX)Count Extensions (CIX) introduce three new integer arithmetic instructions focused on bit counting functions. These were first integrated into the Alpha 21264A (EV67).
ImplementationsDEC designated Alpha as its flagship architecture, continuing a tradition similar to its earlier commitment to VAX systems. Industry experts underscored Alpha's critical role within DEC’s strategy, with one analyst remarking, "If Alpha fails, DEC is dead." At its introduction in November 1992, approximately 30 software applications supported Alpha; DEC anticipated this number would grow to 500 within nine months and eventually reach 1,500. Conceived as a long-term architecture intended to span 25 years, Alpha achieved considerable longevity. The inaugural model, the Alpha 21064 (EV4), launched with clock speeds up to 192 MHz; shortly thereafter, a die-shrunk variant known as EV4S attained 200 MHz. This processor was a 64-bit superpipelined and superscalar design that outperformed competitors at the time and was marketed as the fastest CPU globally. Its sophisticated circuit design enabled it to operate at higher frequencies compared to contemporaneous processors like the Intel Pentium, which debuted at 66 MHz. The Alpha 21164 (EV5) arrived in 1995 with speeds reaching up to 333 MHz; subsequent improvements pushed this to 500 MHz by 1996 and further to 666 MHz by 1998. The Alpha 21264 (EV6) made its debut in 1998 at 450 MHz and was enhanced over time to reach 1.25 GHz by 2001 with the 21264C/EV68CB. In 2003, the Alpha 21364 (EV7 or Marvel) was introduced featuring an EV68 core equipped with four high-speed inter-processor links designed to boost multiprocessor scalability, operating at frequencies up to 1.15 GHz. In 1996, production rights were licensed to Samsung Electronics. Following Digital's acquisition by Compaq, most Alpha-related products were overseen by API NetWorks, a joint venture funded by Samsung and Compaq. By October 2001, Microway became the exclusive distributor and service provider for API NetWorks’ Alpha product line. On June 25, 2001, Compaq declared plans to phase out Alpha processors by 2004 in favor of adopting Intel’s Itanium. This decision included canceling the development of the planned EV8 chip and transferring Alpha intellectual property rights to Intel. After Compaq merged with HP in 2002, HP maintained limited development efforts for Alpha, releasing a final EV7 variant clocked at 1.3 GHz called EV7z, while discontinuing work on the EV79. Additionally, Alpha technology was utilized in Piranha, a multicore experimental processor developed by Compaq’s Western Research Laboratory. Designed for transaction processing workloads, Piranha featured eight simple cores and was showcased at the International Symposium on Computer Architecture in June 2000. Early iterations of the Sunway architecture reportedly incorporated concepts from Alpha; however, since the introduction of the SW26010, Sunway has adopted a completely different instruction set architecture unrelated to Alpha. Model timeline
PerformanceBelow are selected Standard Performance Evaluation Corporation (SPEC) benchmark results (SPECint95, SPECfp95) demonstrating the capabilities of Alpha-based systems. These figures reflect overall system performance—including CPU, memory, bus architecture, and compiler efficiency—rather than solely CPU speed. Although the benchmarking methodology evolved between 1992 and 1995, these scores provide an approximate comparison of the 64-bit Alpha architecture against contemporaneous HP (64-bit) and Intel (32-bit) platforms. While Intel processors delivered integer performance close to Alpha's, Alpha showed a marked advantage in floating-point operations. HP’s PA-RISC processors remained competitive but operated at lower clock frequencies. It should be noted that these benchmarks do not account for power usage or processor cost.
Alpha-based systemsThe initial lineup of DEC Alpha platforms comprised the DEC 3000 AXP workstations and entry-level servers, the DEC 4000 AXP midrange servers, and the DEC 7000/10000 AXP high-end server series. The 3000 series retained the TURBOchannel bus architecture from earlier MIPS-based DECstations, whereas the 4000 series adopted Futurebus+, with the 7000/10000 models sharing architectural elements with VAX systems. DEC also introduced a PC-configured Alpha workstation featuring an Extended Industry Standard Architecture (EISA) bus—the DECpc AXP 150, codenamed Jensen and also known as DEC 2000 AXP—which was the first Alpha system capable of running Windows NT. Subsequent Alpha-based PCs such as Celebris XL and Digital Personal Workstation models incorporated the 21164 processor. For embedded and industrial applications, Digital developed single-board computers utilizing the VMEbus. Early examples included the AXPvme 64/64LC and AXPvme 160 boards, powered by the 21068 and 21066 processors respectively, both introduced in 1994. Later iterations like the AXPvme 100/166/230 utilized the enhanced 21066A CPU, while subsequent VME models incorporated either the 21064A or the 21164 processors. Compact workstations such as the DEC Multia VX40/41/42 and Tadpole Technology’s ALPHAbook 1 laptop were driven by the 21066 chip. In 1994, DEC launched updated AlphaStation and AlphaServer product lines equipped with either the 21064 or 21164 processors, integrating PCI buses, VGA-compatible frame buffers, and PS/2-style input devices. The AlphaServer 8000 series succeeded the DEC 7000/10000 AXP line, featuring XMI and FutureBus+ interconnects. The AlphaStation XP1000 was notable as the first workstation to utilize the 21264 processor; subsequent AlphaServer and AlphaStation systems based on this chip were categorized into departmental ('DS'), enterprise ('ES'), or global ('GS') server families. The final generation employed the 21364 processor in models such as AlphaServer ES47, ES80, GS1280, as well as the AlphaStation ES47. DEC expanded into OEM markets by offering motherboards like the AXPpci 33 "NoName" (built around the 21066/21068), alongside AlphaPC product lines powered by various processors including the 21164 and 21264; third-party OEM motherboards were also supplied by manufacturers like Samsung and API. To facilitate third-party hardware and software development efforts, DEC distributed Evaluation Boards such as EB64+ and EB164 tailored for their Alpha microprocessors. The processors from the 21164 and 21264 families were employed in network-attached storage solutions by NetApp, while Cray integrated both the 21064 and 21164 CPUs within their massively parallel supercomputers (Cray T3D, Cray T3E). SupercomputersThe ASCI Q supercomputer at Los Alamos National Laboratory represented the peak of performance among systems powered by Alpha processors. Constructed as an HP AlphaServer SC45/GS Cluster, it incorporated 4096 Alpha (21264 EV-68, 1.25 GHz) CPUs and delivered a peak performance (Rmax) of 7.727 TFLOPS. External links
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cite error: <ref> tags exist for a group named "lower-alpha", but no corresponding <references group="lower-alpha"/> tag was found