ページ1に含まれる内容の要旨
Alpha Architecture Handbook
Order Number: EC–QD2KC–TE
Revision/Update Information: This is Version 4 of the Alpha
Architecture Handbook.
Compaq Computer Corporation
ページ2に含まれる内容の要旨
October 1998 The information in this publication is subject to change without notice. COMPAQ COMPUTER CORPORATION SHALL NOT BE LIABLE FOR TECHNICAL OR EDITORIAL ERRORS OR OMISSIONS CONTAINED HEREIN, NOR FOR INCIDENTAL OR CONSEQUENTIAL DAM- AGES RESULTING FROM THE FURNISHING, PERFORMANCE, OR USE OF THIS MATERIAL. THIS INFORMATION IS PROVIDED “AS IS” AND COMPAQ COMPUTER CORPORATION DISCLAIMS ANY WARRANTIES, EXPRESS, IMPLIED OR STATUTORY AND EXPRESSLY DISCLAIMS THE IMPLIED WAR- RANTIES OF MERCHA
ページ3に含まれる内容の要旨
Table of Contents 1 Introduction 1.1 The Alpha Approach to RISC Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–1 1.2 Data Format Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–3 1.3 Instruction Format Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–4 1.4 Instruction Overview . . . . . . . . . . . . . . . . . . . . . .
ページ4に含まれる内容の要旨
2.3 Big-Endian Addressing Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–13 3 Instruction Formats 3.1 Alpha Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–1 3.1.1 Program Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–1 3.1.2 Integer Registers . . . . . . . . . . . . . . . . . . . . .
ページ5に含まれる内容の要旨
4.4.5 Integer Signed Compare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–29 4.4.6 Integer Unsigned Compare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–30 4.4.7 Count Leading Zero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–31 4.4.8 Count Population . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ページ6に含まれる内容の要旨
4.7.10.4 Propagating NaN Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–89 4.8 Memory Format Floating-Point Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–90 4.8.1 Load F_floating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–91 4.8.2 Load G_floating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ページ7に含まれる内容の要旨
5 System Architecture and Programming Implications 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–1 5.2 Physical Address Space Characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–1 5.2.1 Coherency of Memory Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–1 5.2.2 Granularity of Memory Access . . . . . . .
ページ8に含まれる内容の要旨
6.5 PALcode Effects on System Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–3 6.6 PALcode Replacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–3 6.7 Required PALcode Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–4 6.7.1 Drain Aborts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ページ9に含まれる内容の要旨
A.4.4.6 NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–13 A.4.4.7 Booleans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–13 A.4.5 Exceptions and Trap Barriers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–14 A.4.6 Pseudo-Operations (Stylized Code Forms) . . . . . . . . . . . . . . . . . . . . . . . . . . .
ページ10に含まれる内容の要旨
E.2.2.2 Windows NT Alpha Functions and Argument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E–10 E.2.2.3 OpenVMS Alpha and DIGITAL UNIX Functions and Arguments . . . . . . . . . . . . . . E–12 E.2.3 21264 Performance Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E–23 E.2.3.1 Performance Monitor Interrupt Mechanism. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E–23 E.2.3.2 Windows NT Alpha Functions and Argument . . .
ページ11に含まれる内容の要旨
Figures 1–1 Instruction Format Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–4 2–1 Byte Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–1 2–2 Word Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–2 2–3 Longword Format . . . . . . . . . . . . . . . . . . . . . . . . . . .
ページ12に含まれる内容の要旨
Tables 2–1 F_floating Load Exponent Mapping (MAP_F) ................................................................ 2–4 2–2 S_floating Load Exponent Mapping (MAP_S) ................................................................ 2–7 3–1 Operand Notation ........................................................................................................... 3–4 3–2 Operand Value Notation ................................................................................................. 3–4 3–3
ページ13に含まれる内容の要旨
C–15 PALcode Opcodes in Numerical Order ....................................................................... C–18 C–16 Required PALcode Opcodes........................................................................................ C–20 C–17 Opcodes Reserved for PALcode.................................................................................. C–20 C–18 Opcodes Reserved for Compaq................................................................................... C–21 C–19 ASCII Charact
ページ14に含まれる内容の要旨
xiv
ページ15に含まれる内容の要旨
Preface Chapters 1 through 8 and appendixes A through E of this book are directly derived from the Alpha Sys- tem Reference Manual, Version 7 and passed engineering change orders (ECOs) that have been applied. It is an accurate representation of the described parts of the Alpha architecture. References in this handbook to the Alpha Architecture Reference Manual are to the Third Edition of that manual, EY-W938E-DP. xv
ページ16に含まれる内容の要旨
ページ17に含まれる内容の要旨
Chapter 1 Introduction Alpha is a 64-bit load/store RISC architecture that is designed with particular emphasis on the three elements that most affect performance: clock speed, multiple instruction issue, and multi- ple processors. The Alpha architects examined and analyzed current and theoretical RISC architecture design elements and developed high-performance alternatives for the Alpha architecture. The archi- tects adopted only those design elements that appeared valuable for a projected 25
ページ18に含まれる内容の要旨
Alpha makes it easy to maintain binary compatibility across multiple implementations and easy to maintain full speed on multiple-issue implementations. For example, there are no implemen- tation-specific pipeline timing hazards, no load-delay slots, and no branch-delay slots. The Alpha Approach to Byte Manipulation The Alpha architecture reads and writes bytes between registers and memory with the LDBU and STB instructions. (Alpha also supports word read/writes with the LDWU and STW instructions
ページ19に含まれる内容の要旨
PALcode is written in standard machine code with some implementation-specific extensions to provide access to low-level hardware. PALcode lets Alpha implementations run the full OpenVMS Alpha, DIGITAL UNIX, and Windows NT Alpha operating systems. PALcode can provide this functionality with little overhead. For example, the OpenVMS Alpha PALcode instructions let Alpha run OpenVMS with little more hardware than that found on a conventional RISC machine: the PAL mode bit itself, plus four extra pro
ページ20に含まれる内容の要旨
1.3 Instruction Format Overview As shown in Figure 1–1, Alpha instructions are all 32 bits in length. There are four major instruction format classes that contain 0, 1, 2, or 3 register fields. All formats have a 6-bit opcode. Figure 1–1: Instruction Format Overview 31 26 25 21 20 16 15 5 4 0 PALcode Format Opcode Number Opcode RA Disp Branch Format Opcode RA RB Disp Memory Format Opcode RA RB Function RC Operate Format • PALcode instructions specify, in the function code field, one of a few do