Compaq 21264 Network Card User Manual


 
2–10 Internal Architecture
21264/EV68A Hardware Reference Manual
21264/EV68A Microarchitecture
The Ebox has 80 register-file entries that contain storage for the values of the 31 Alpha
integer registers (the value of R31 is not stored), the values of 8 PALshadow registers,
and 41 results written by instructions that have not yet been retired.
Ignoring cross-cluster delay, the two copies of the Ebox register file contain identical
values. Each copy of the Ebox register file contains four read ports and six write ports.
The four read ports are used to source operands to each of the two subclusters within a
cluster. The six write ports are used as follows:
Two write ports are used to write results generated within the cluster.
Two write ports are used to write results generated by the other cluster.
Two write ports are used to write results from load instructions. These two ports
are also used for FTOIx instructions.
2.1.3 Floating-Point Execution Unit
The floating-point execution unit (Fbox) has two paths. The Fbox executes both VAX
and IEEE floating-point instructions. It supports IEEE S_floating-point and T_floating-
point data types and all rounding modes. It also supports VAX F_floating-point and
G_floating-point data types, and provides limited support for D_floating-point format.
The basic structure of the floating-point execution unit is shown in Figure 2–7.
Figure 2–7 Floating-Point Execution Units
The Fbox contains the following resources:
72-entry physical register file
Fully-pipelined multiplier with 4-cycle latency
Fully-pipelined adder with 4-cycle latency
Nonpipelined divide unit associated with the adder pipeline
Nonpipelined square root unit associated with the adder pipeline
The 72 Fbox register file entries contain storage for the values of the 31 Alpha floating-
point registers (F31 is not stored) and 41 values written by instructions that have not
been retired.
LK
98
-
000
4A
FP Mul
Reg
FP Add
FP Div
SQRT
Floating-Point
Execution Units