This manual is directly derived from the internal 21264/EV68A Specifications, Revision 1.1. You can access this hardware reference manual in PDF format from t he
following site:
ftp://ftp.compaq.com/pub/products/alphaCPUdocs
Revision/Update Information:Revision 1.1, March 2002
Compaq Computer Corporation
Shrewsbur y, Massachuse tts
March2002
The information in this publication is subject to changewithout notice.
COMPAQ COMPUTER CORPORATION SHALL NOT BE LIABLE FOR TECHNICAL OR EDITORIAL
ERRORS OR OMISSIONS CONTAINED HEREIN, NOR FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES RESULTING FROM THE FURNIS HING, PERFORMANCE, OR USE OF THIS MATERIAL. THIS
INFORMATION IS PROVIDED “AS IS” AND COMPAQ COM PUTER CORPORATION DISCLAIMS ANY
WARRANTIES, EXPRESS,IMPLIED OR STATUTORY AND EXPRESSLY DISCLAIMS THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR PARTICULARPURPOSE, GOOD TITLE AND AGAINST
INFRINGEMENT.
This publicationcontains information protectedby copyright. No partof this publication may be photocopied or
reproduced in any form without prior written consent from Compaq Computer Corporation.
This manual is for system designers and programmers who use the Alpha 21264/
EV68A microprocessor (referred to as the 21264/EV68A).
This manual contains the following chapters and appendixes:
Chapter 1, Introduction, introduces the 21264/EV68A and provides an overview of the
Alpha architecture.
Chapter 2, Internal Architecture, describes the major hardware functions and the inter-
nal chip architecture.It describesperformance m easurement facilities,coding r ules, and
design examples.
Chapter 3, Hardware Interface, lists and describes the internal hardware interface signals, and provides mechanical data and packaging information, including signal pin
lists.
Chapter 4, Cache and External Interfaces, describes the e xternal bus functions and
transactions, lists bus commands, and describes the clock functions.
Chapter 5, Internal Processor Registers,lists and describes the internal processor register set.
Chapter 7, Initialization and Configuration, describes the initialization and configuration sequence.
Chapter 8, Error Detection and Error Handling, describes error de tection and error handling.
Chapter 9, Electrical Da ta, provides electrical data and describes signal integrity issues.
Chapter 10, Thermal Management, provides information about thermal management.
Chapter 11, Testability a nd Diagnostics, describes chip and system testability features.
Appendix A, Alpha Instruction Set, summarizes the Alpha instruction set.
Appendix B, 21264/EV68A Boundary-Scan Register, presents the BSDL description
of the 21264/EV68A boundary-scan register.
21264/EV68A Hardware Refere nce Manual
xvii
Appendix C, Serial Icache Load Predecode Values, provides a pointer to the Alpha
Motherboards Software Developer’s Kit (SDK), which contains this information.
Appendix D, PALcode Restrictions and Guidelines, lists restrictions and guidelines
that must be adhered to when generating PALcode.
Appendix E, 21264/EV68A-to-Bcache P in Interface, provides the pin interface
between the 21264/EV68A and Bcache SSRAMs.
The Glossary lists and defines terms associated with the 21264/EV68A.
An Index is provided at the end of the doc ument.
Documentation Included by Reference
The companion volume to this manual, the Alpha Architecture Reference Manual,
Fourth Edition, can be accessed from the following website: ftp.compaq.com/
pub/products/alphaCPUdocs.
xviii
21264/EV68A Hardware R eference Manual
Terminology and Conventions
This section defines the abbreviations, terminology, and other conventions used
throughout this document.
Abbreviations
Binary Multiples
•
The abbreviations K, M, and G (kilo, mega, and giga) represent binary multiples
and have the following values.
The abbreviations used to indicate the type of access to register fieldsand bits have
the following definitions:
Abbreviation Meaning
IGNIgnore
Bitsandfieldsspecifiedareignoredonwrites.
MBZMust Be Zero
Software must never place a nonzero value in bits and fields specified as
MBZ. A nonzero read produces an Illegal Operand exception. Also, MBZ
fields are reserved for future use.
RAZRead As Zero
Bits andfields return a zero when read.
RCRead Clears
Bits and fields are cleared when read. Unless otherwise specified, such bits
cannot be w ritten.
RESReserved
Bits and fields are reserved by Compaq and should not be used; however,
zeros can be written to reserved fields that cannot be masked.
RORead Only
Thevaluemaybereadbysoftware.Itiswrittenbyhardware.Softwarewrite
operations are ignored.
RO,nRead Only, and takes the value n at power-on reset.
Thevaluemaybereadbysoftware.Itiswrittenbyhardware.Softwarewrite
operations are ignored.
21264/EV68A Hardware Refere nce Manual
xix
Abbreviation Meaning
RWRead/Write
Bits and fields can be read and written.
RW,nRead/Write, and takes the value n at power-on reset.
Bits and fields can be read and written.
W1CWrite One to Clear
If read operations are allowed to the register, then the value may be read by
software. If it is a write-only register, then a re ad operation by software
returns an UNPR E DICTABLE result. Software write operations of a 1 cause
the bit to be cleared by hardware. Software write operations of a 0 do not
modify the state of the bit.
W1SWrite One toSet
If read operations are allowed to the register, then the value may be read by
software. If it is a write-only register, then a re ad operation by software
returns an UNPR E DICTABLE result. Software write operations of a 1 cause
the bit to be set by hardware. Software write operations of a 0 do not modify
the state of the bit.
WOWriteOnly
Bits and fields can be written but not read.
WO,nWrite Only, and takes the value n at power-on reset.
Bits and fields can be written but not read.
•Sign extension
SEXT(x) means x is sign-extended to the required size.
Addresses
Unless otherwise noted, all addresses and offsets are hexadecimal.
Aligned and Unaligned
The terms aligned and naturally aligned are interchangeable and refer to data objects
that are powers of two in size. An aligned datum of size 2n is stored in memory at a
byte address that is a multiple of 2n; that is, one that has n low-order zeros. For example, an aligned 64-byte stack frame has a memory address that is a multiple of 64.
A datum of size 2n is unaligned if it is stored in a byte address that is not a multiple of
2n.
Bit Notation
Multiple-bit fields can include contiguous and noncontiguous bits contained in square
brackets ([]). Multiple contiguous bitsare indicated by a pair of numbers separated by a
colon [:].For example, [9:7,5,2:0]specifies bits 9,8,7,5,2,1, and0. Similarly, singlebits
are frequently indicated with square brackets. For example, [27] specifies bit 27. See
also Field Notation.
Caution
Cautions indicate potential damage to equipment or loss of data.
xx
21264/EV68A Hardware R eference Manual
Data Units
The following data unit terminology is used throughout this manual.
Unless otherwise stated, external means not contained in the chip.
Field Notation
The names of single-bit and multiple-bit fields can be used rather than the actual bit
numbers (see Bit Notation). When the field name is used, it is contained in square
brackets ([]). For example, RegisterName[LowByte] specifies RegisterName[7:0].
Note
Notes emphasize particularly important information.
Numbering
All numbers are decimal or hexadecimal unless otherwise indicated. The prefix 0x indicates a hexadecimal number. For example, 19 is decimal, but 0x19 and 0x19A are hexadecimal (also see Addresses). Otherwise, the base is indicated by a subscript; for
example, 100
Ranges and Extents
is a binary number.
2
Ranges are specified by a pair of numbers separated by two periods (..) and are inclusive. For example, a range of integers 0..4 includes the integers 0, 1, 2, 3, and 4.
Extents are specified by a pair of numbers in square brackets ([]) separated by a colon
(:) and are inclusive. Bit fields are often specified as extents. For example, bits [7:3]
specifies bits 7, 6, 5, 4, and 3.
Register Figures
The gray areas in register figures indicate reserved or unused bits and fields.
Bit ranges that are coupled with the field name specify the bits of the named field that
are included in the register. The bit range may, but need not necessarily, correspond to
the bitExtent in theregister.See the explanationabove Table 5–1 formore information.
Signal Names
The following examples describe signal-name conventions used in this document.
21264/EV68A Hardware Refere nce Manual
xxi
AlphaSignal[n:n]Boldface, mixed-case type denotes signal names that are
assigned internal and external to the 21264/EV68A (that
is, the signal traverses a chip interface pin).
AlphaSignal_x[n:n]When a signal has high and low assertion states, a lower-
case italic x represents the assertion states. For example,
SignalName_x[3:0] represents SignalName_H[3:0] and
SignalName_L[3:0].
UNDEFINED
Operations specified as UNDEFINED may vary from moment to moment, implementation to implementation, and instruction to instruction within implementations. The
operation may vary in effect from nothing to stopping system operation.
UNDEFINED operations may halt the processor or cause it to lose information. However, UNDEFINED operations m ust not cause the processor to hang, that is, reach an
unhalted state from which there is no transition to a normal state in which the machine
executes instructions.
UNPREDICTABLE
UNPREDICTABLE resultsor occurrences do not disrupt the basic operation of the processor; it continues to execute instructions in its normal manner. Further:
•Results or occurrences specified as UNPREDICTABLE m ay vary from moment to
moment, implementation to implementation, and instruction to instruction within
implementations. Software can never depend on results specified a s UNPREDICTABLE.
•An UNPREDICTABLE result may acquire an arbitrary value subject to a few c on-
straints. Such a result may be an arbitrary function of the input operands or of any
state information that is accessible to the process in its current access mode.
UNPREDICTABLE results may be unchanged from their previous values.
Operations that produce UNPREDICTABLE results may also produce exceptions.
•An occurrence specified as UNPREDICTABLE may happen or not based on an
arbitrary choice function. The choice function is subject to the same constraints as
are UNPREDICTABLE results and, in particular, must not constitute a security
hole.
Specifically, UNPREDICTABLEresults must not depend upon, or be a functionof,
the contents of memory locations or registers that are inaccessible to the current
process in the current access mode.
Also, operations that may produce UNPREDICTABLE results must not:
–Write or modify the c ontents of memory locations or registers to which the cur-
rent process in the current access mode does not have access, or
–Halt or hang the system or any of its components.
For example, a security hole would exist if some UNPREDICTABLE result
depended on the value of a registerin another process, on the contents of processor
temporary registers left be hind by some previously running process, or on a
sequence of actions of different processes.
xxii
21264/EV68A Hardware R eference Manual
X
Do not care. A capital X represents any valid value.
21264/EV68A Hardware Refere nce Manual
xxiii
This chapter provides a brief introduction to the Alpha architecture, Compaq’s RISC
(reduced instruction set computing) architecture designed for high performance. The
chapter then summarizes the specific features of the Alpha 21264/EV68A microprocessor (hereafter called the 21264/EV68A) that implements the Alpha architecture. Appendix A provides a list of Alpha instructions.
The companion volume to this document, the Alpha Architecture Reference Manual,Fourth Edition, contains the complete architecture information.
1.1 The Architecture
The Alpha architecture is a 64-bit load and store RISC architecture designed with particular emphasis on speed, multiple instruction issue, multiple processors, and software
migration from many operating systems.
All registers are 64 bits long and all operations are performed between 64-bit registers.
All instructions are 32 bits long. Memory operations are either load or storeoperations.
All data manipulation is done between registers.
1
Introduction
The Alpha architecture supports the following data types:
•8-, 16-, 32-, and 64-bit integers
•IEEE 32-bit a nd 64-bit floating-point formats
•VAX architecture 32-bit and 64-bit floating-point formats
In the Alpha architecture, instructions interact with each other only by one instruction
writing to a register or memory location and a nother instruction reading fromthat register or memory location. This use of resources makes it easy to build implementations
that issue multiple instructions every CPU cycle.
The 21264/EV68A uses a set of subroutines, called privileged a rchitecture library code
(PALc ode), that is specific to a particular A lpha operating system implementation and
hardware platform. These subroutines provide operating system primitives for context
switching, interrupts, exceptions, and memory management. These subroutines can be
invoked by hardware or CALL_PAL instructions. CALL_PAL instructions use the
function field of the instruction to vector to a specified subroutine. PALcode is written
in standard machine code with some implementation-specific extensions to provide
direct accessto low-level hardware f unctions. PALcode supports optimizations for multiple operating systems, flexible memory-management implementations, a nd multiinstruction atomic sequences.
21264/EV68A Hardware Refere nce Manual
Introduction1–1
The Architecture
The Alpha architecture performs byte shifting and masking with normal 64-bit, register-to-register instructions. The 21264/EV68A performs single-byte and single-word
load and store instructions.
1.1.1 Addressing
The basic addressable unit in the Alpha architecture is the 8-bit byte. The 21264/
EV68A supports a 48-bit or 43-bit virtual address (selectable under IPR control).
Virtual addresses as seen by the program are translated into physical memory addresses
by the me mory-management mechanism. The21264/EV68A supports a 44-bit physical
address.
1.1.2 Integer Data Types
Alpha architecture supports the four integer data types listed in Table 1–1.
Table 1–1 Integer Data Types
Data TypeDescription
ByteA byte is 8 contiguous bits that start at an addressable byte boundary.
A byte is an 8-bit value.
WordA word is 2 contiguous bytes that start at an arbitrary byte boundary.
A word is a 16-bit value.
LongwordA longword is 4 contiguousbytes that start at an arbitrary byte boundary. A
longword is a 32-bit value.
QuadwordA quadword is 8 contiguous bytes that start at an arbitrary byte boundary.
Note:Alpha implementations may impose a significant performance penalty
when accessing operands that are not naturally aligned. Refer to the Alpha
Architecture Handbook, Version 4 for details.
1.1.3 Floating-Point Data Types
The 21264/EV68A supports the following floating-point data types:
•Longword integer format in floating-point unit
•Quadword integer format in floating-point unit
•IEEE f loating-point formats
–S_floating
–T_floating
•VAX floating-point formats
–F_floating
1–2Introduction
–G_floating
–D_floating (limited support)
21264/EV68A Hardware R eference Manual
21264/EV68A Microprocessor Features
1.2 21264/EV68A Microprocessor Features
The 21264/EV68A microprocessor is a superscalar pipelined processor. It is packaged
in a 587-pin PGA carrier and has removable application-specific heat sinks. A number
of configuration options allow its use in a range of system designs ranging from
extremely simple uniprocessor systems with minimum component count to high-performance multiprocessor systems with very high cache and memory bandwidth.
The 21264/EV68A can issue four Alpha instructions in a single cycle, thereby m inimizing the average cycles per instruction (CPI). A number of low-latency and/or highthroughput features in the instructionissue unit and the onchip components of the memory subsystem further reduce the average CPI.
The 21264/EV68A and associated PALcode implements IEEE single-precision and
double-precision, VA X F_floating a nd G_floating data types, and supports longword
(32-bit) and quadword (64-bit) integers. Byte (8-bit) and word (16-bit) support is provided by byte-manipulation instructions. Limited hardware support is provided for the
VAX D _floating data type.
Other 21264/EV68A features include:
•The a bility to issue up to four instructions during each CPU clock cycle.
•A peak instruction execution rate of four times the CPU clock frequency.
•An onchip, demand-paged memory-management unit with translation buffer, which,
when used with PALcode, can implement a variety of page table structures and translation algorithms. The unit consists of a 128-entry, fully-associative data translation
buffer(DTB) and a 128-entry, fully-associative instruction translationbuffer (ITB),
with each entry able to map a single 8KB page or a group of 8, 64, or 512 8KB
pages. The allocation scheme for the ITB and DTB is round-robin.The size of each
translation buffer entry’s group is specified by hint bits stored in the entry. The
DTB and ITB implement 8-bit address space numbers (ASN), MAX_ASN=255.
•Two onchip, high-throughput pipelined floating-point units, capable of executing
both VAX a nd IEEE floating-point data types.
•An onchip, 64KB virtually-addressed instruction cache with 8-bit ASNs
(MAX_ASN=255).
•An onchip, virtually-indexed, physically-tagged dual-read-ported, 64KB data
cache.
•Supports a 48-bit or 43-bit virtual address (program selectable).
•Supports a 44-bit physical address.
•An onchip I/O write buffer with four 64-byte entries for I/O write transactions.
•An onchip, 8-entry victim data buffer.
•An onchip, 32-entry load queue.
•An onchip, 32-entry store queue.
•An onchip, 8-entry miss address file for cache fill requests and I/O read
transactions.
•An onchip, 8-entry probe queue, holding pending system port probe commands.
21264/EV68A Hardware Refere nce Manual
Introduction1–3
21264/EV68A Microprocessor Features
•
An onchip, duplicate tag array used to maintain level 2 cache coherency.
•A 64-bit data bus with onchip parity and error correction code (ECC) support.
•Support for an external second-level (Bcache) cache. The size and some timing
parameters of the Bcache are programmable.
•An internal c lock generator providing a high-speed clock used by the 21264/
EV68A, and two clocks for use by the C PU module.
•Onchip performance counters to measure and analyze CPU and system perfor-
mance.
•Chip a nd module level test support, including an instruction cache test interface to
support chip and module level testing.
•A 2.0-V external interface.
Refer to Chapter 9 for 21264/EV68A dc and ac e lectrical characteristics. Refer to the
Alpha Architecture Handbook, Version 4, Appendix E, for waivers and any other
implementation-dependent information.
1–4Introduction
21264/EV68A Hardware R eference Manual
2
Internal Architecture
This chapterprovides both an overviewof the 21264/EV68A microarchitecture and a system designer’s view of the 21264/EV68A implementation of the Alpha architecture. The
combination of the 21264/EV68A microarchitecture and privileged architecture library
code (PALcode) defines the chip’s implementation of the Alpha architecture. If a certain
piece of hardware seems to be “architecturally incomplete,” the missing functionality is
implemented in PALcode. Chapter 6 provides more information on PALcode.
This chapter describes the major functional hardware units and is not intended to be a
detailed hardware description of the chip. It is organized as follows:
•21264/EV68A microarchitecture
•Pipeline organization
•Instruction issue and retire rules
•Load instructions to R31/F31 (software-directed instruction pr efetch)
•Special cases of Alpha instruction e xecution
•Memory and I/O address space
•Miss a ddress file (MAF) and load-merging rules
•Instruction ordering
•Replay traps
•I/O wr ite buffer and the WMB instruction
•Performance measurement support
•Floating-point control register
•AM ASK and IMPLVER instruction values
•Design examples
2.1 21264/EV68A Microarchitecture
The 21264/EV68A microprocessor is a high-performance third-generationimplementation of the Compaq Alpha architecture. The 21264/EV68A consists of the following
sections, as shown in Figure 2–1:
•Instruction fetch, issue, and retire unit (Ibox)
•Integer execution unit (Ebox)
21264/EV68A Hardware Refere nce Manual
Internal Architecture2–1
21264/EV68A Microarchitecture
•
Floating-point e xecution unit (Fbox)
•Onchip caches (Icache and Dcache)
•Memor y reference unit (Mbox)
•External cache and system interface unit (Cbox)
•Pipeline operation sequence
2.1.1 Instruction Fetch, Issue, and Retire Unit
The instruction fetch, issue, and retire unit (Ibox) consists of the following subsections:
•Virtual program counter logic
•Branch predictor
•Instruction-stream translation buffer (ITB)
•Instruction fetch logic
•Register rename maps
•Integer and floating-point issue queues
•Exception and interrupt logic
•Retire logic
2.1.1.1 Virtual Program CounterLogic
The virtual program counter (VPC) logic maintains the virtual addresses f or instructions thatare in f light. There c an be up to 80 instructions, in20 successive fetch slots,in
flight between the register rename mappers and the end of the pipeline. The VPC logic
contains a 20-entry table to store these fetched VPC addresses.
2–2Internal Architecture
21264/EV68A Hardware R eference Manual
Loading...
+ 326 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.