Hardware Reference
In-Depth Information
FIGURE A.10 The distribution of immediate values . The x -axis shows the number of bits
needed to represent the magnitude of an immediate value—0 means the immediate field
value was 0. The majority of the immediate values are positive. About 20% were negative for
CINT2000, and about 30% were negative for CFP2000. These measurements were taken on
an Alpha, where the maximum immediate is 16 bits, for the same programs as in Figure A.8 .
A similar measurement on the VAX, which supported 32-bit immediates, showed that about
20% to 25% of immediates were longer than 16 bits. Thus, 16 bits would capture about 80%
and 8 bits about 50%.
Summary: Memory Addressing
First, because of their popularity, we would expect a new architecture to support at least
the following addressing modes: displacement, immediate, and register indirect. Figure A.7
shows that they represent 75% to 99% of the addressing modes used in our measurements.
Second, we would expect the size of the address for displacement mode to be at least 12 to 16
bits, since the caption in Figure A.8 suggests these sizes would capture 75% to 99% of the dis-
placements. Third, we would expect the size of the immediate field to be at least 8 to 16 bits.
This claim is not substantiated by the caption of the figure to which it refers.
Having covered instruction set classes and decided on register-register architectures, plus
the previous recommendations on data addressing modes, we next cover the sizes and mean-
ings of data.
A.4 Type and Size of Operands
How is the type of an operand designated? Normally, encoding in the opcode designates the
type of an operand—this is the method used most often. Alternatively, the data can be annot-
ated with tags that are interpreted by the hardware. These tags specify the type of the operand,
 
 
Search WWH ::




Custom Search