立即数的大小 45 40 35 30 Percenter Floating- point average mmed8° 15 Integer average 10 5 89101112131415 Number of bits needed for immediate The distribution of immediate values. about 20% were negative for CINT2000 and about 30% were negative for CFP2000. These measurements were taken on a alpha, where the maximum immediate is 16 bits, for the spec cpu2000 programs. A similar measurement on the VAx which supported 32-bit immediates, showed that about 20%to 25% of immediates were longer than 16 bits 2021/25 17
立即数的大小 2021/2/5 17 The distribution of immediate values. About 20% were negative for CINT2000 and about 30% were negative for CFP2000. These measurements were taken on a Alpha, where the maximum immediate is 16 bits, for the spec cpu2000 programs. A similar measurement on the VAX, which supported 32-bit immediates, showed that about 20% to 25% of immediateswere longer than 16 bits
寻址方式小结 重要的寻址方式 偏移寻址方式,立即数寻址方式,寄存器间址方式 SPEC测试表明,使用频度达到75%-99% 偏移字段的大小应该在12-16bts 可满足75%-99%的需求 立即数字段的大小应该在8-16bts 可满足50%-80%的需求 202125 18
寻址方式小结 • 重要的寻址方式: – 偏移寻址方式, 立即数寻址方式, 寄存器间址方式 – SPEC测试表明,使用频度达到 75%--99% • 偏移字段的大小应该在 12 - 16 bits – 可满足75%-99%的需求 • 立即数字段的大小应该在 8 -16 bits – 可满足50%-80%的需求 2021/2/5 18
操作数的类型、表示和大小 操作数类型和操作数表示是软硬件的主要界面之 操作数类型:是面向应用、面向软件系统所处理的 各种数据类型。 整型、浮点型、字符、字符串、向量类型等 类型由操作码确定或数据附加硬件解释的标记,一般 采用由操作码确定 数据附加硬件解释的标记,现在已经不采用 ·操作数的表示:操作数在机器中的表示,硬件结构 能够识别,指令系统可以直接使用的表示格式 整型:原码、反码、补码 浮点:IEE754标准 十进制:BCD码/二进制十进制表示 202125 19
操作数的类型、表示和大小 • 操作数类型和操作数表示是软硬件的主要界面之一。 • 操作数类型:是面向应用、面向软件系统所处理的 各种数据类型。 – 整型、浮点型、字符、字符串、向量类型等 – 类型由操作码确定或数据附加硬件解释的标记,一般 采用由操作码确定 – 数据附加硬件解释的标记,现在已经不采用 • 操作数的表示:操作数在机器中的表示,硬件结构 能够识别,指令系统可以直接使用的表示格式 – 整型:原码、反码、补码 – 浮点:IEEE 754标准 – 十进制:BCD码/二进制十进制表示 2021/2/5 19
常用操作数类型 ASCI character =1 byte(64-bit register can store 8 characters Unicode character or Short integer =2 bytes 16 bits( half word) Integer =4 bytes 32 bits(word size on many RISC Processors) Single-precision float 4 bytes 32 bits(word size Long integer =8 bytes =64 bits(double word Double-precision float =8 bytes =64 bits (double word) Extended-precision float s 10 bytes =80 bits 〔 Intel architecture) Quad-precision float 16 bytes 128 bits 202125
常用操作数类型 • ASCII character = 1 byte (64-bit register can store 8 characters • Unicode character or Short integer = 2 bytes = 16 bits (half word) • Integer = 4 bytes = 32 bits (word size on many RISC Processors) • Single-precision float = 4 bytes = 32 bits (word size) • Long integer = 8 bytes = 64 bits (double word) • Double-precision float = 8 bytes = 64 bits (double word) • Extended-precision float = 10 bytes = 80 bits (Intel architecture) • Quad-precision float = 16 bytes = 128 bits 2021/2/5 20
操作数的大小 Double word 94% (64 bits) 62% Word 40% □【6 (32 bits) 28% applu Half word 0% equake (16 bits) 19% 囗gzip % 口perl Byte 0% 0% (8 bits) 22% T8% 0% 20% 40% 60% 80%100% 基准测试的结论:(1)对单字、双字的数据访问具有较高的频率 2)支持64位双字操作,更具有一般性 202125
操作数的大小 2021/2/5 21 基准测试的结论:(1)对单字、双字的数据访问具有较高的频率 (2)支持64位双字操作,更具有一般性