计算机系统结构第2章ppt

上传人:今*** 文档编号:108377994 上传时间:2019-10-23 格式:PPT 页数:81 大小:1.48MB
返回 下载 相关 举报
计算机系统结构第2章ppt_第1页
第1页 / 共81页
计算机系统结构第2章ppt_第2页
第2页 / 共81页
计算机系统结构第2章ppt_第3页
第3页 / 共81页
计算机系统结构第2章ppt_第4页
第4页 / 共81页
计算机系统结构第2章ppt_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《计算机系统结构第2章ppt》由会员分享,可在线阅读,更多相关《计算机系统结构第2章ppt(81页珍藏版)》请在金锄头文库上搜索。

1、第2章 数据表示、寻址方式与指令系统,数据表示 寻址方式 指令系统的设计与优化 指令系统的发展和改进,本章要点,浮点数据表示IEEE754标准及应用 用描述符描述多维数组 浮点数尾数的基值选择; 数的下溢处理方法; 操作码和指令字格式的优化; Huffman编码和扩展huffman编码 RISC的主要技术,2.1 数据表示,数据类型:指一组数据值的集合,还定义了可作用于 这个集合上的操作集。 从系统结构的观点来看,数据类型可分为基本数据、 结构数据(用户定义和系统数据类型)等类型。,2.1.1 数据表示与数据结构 一.数据结构 定义:是面向软件的数据类型,反映各种数据元素或单元之间的结构关系。

2、 二.数据表示,定义:是面向硬件的数据类型,机器硬件能直接识别和引用的数据类型。,必要条件:需相应的运算指令和运算硬件(处理部件)支持。,分类:基本数据表示、高级数据表示。,基本数据表示:定点数、浮点数、十进制数、逻辑数、字符等。,三. 数据表示和数据结构,数据结构的实现: 通过数据表示和软件映像相结合方法实现。,数据结构与数据表示的关系:,数据表示是数据结构的一个子集; 数据表示是软、硬件界面的一部分,数据结构是软件和应用界面的一部分。,数据表示选择实际上是软、硬取舍问题。,尾数m码制:可用原码或补码表示;方便运算 尾数m数制:用定点纯小数表示;提高精度、性能,指数e码制:一般用移码表示;方

3、便运算 指数e数制:用定点整数表示;尾数已为小数,方便对阶,指数的基re:通常为2;方便对阶,四、浮点数数据表示,1、参数选择 (1)表示方法,相关参数: 尾数m、指数e的码制和数制, 尾数的基rm、指数的基re,,(2)部分参数选择,2、 IEEE754浮点数表示,IEEE 754标准在表示浮点数时,浮点数由三部分 组成:符号位S,指数部分E和尾数部分M。 浮点数一般采用以下四种基本形式: (1)单精度格式(32位): 除去符号位1位后,E占8位,M占23位。 (2)扩展单精度格式:E=11位,M=31位。 (3)双精度格式:(64位):E=11位,M=52位。 (4)扩展双精度格式:E=1

4、5位,M63位。,IEEE754 浮点数据表示标准:,32位浮点单精度数据格式:,单精度格式: 若E=0且M=0,N为0; 若E=0且M0,N=(-1)S2-126 (0.M),非规格化数; 若1E254,N=(-1)S2E-127 (1.M),规格化数; 若E=255且M 0,N=NaN(非数值); 若E=255且M = 0,N= (-1)S (无穷大)。,例1 N= -1.5,求它的IEEE单精度浮点格式,所以,S=1,E=127,M=0.5,因此N=-1.5单精度格式为,例2 以下的32位数所表示的单精度浮点数为多少? 1 10000001 01000000000000000000000

5、,其中,S=1,E=129,M=0.25,因此N=,1 01111111 10000000000000000000000,例3 将 5/32 转换成IEEE单精度格式。,5/32=1.25*4/32=1.25*22 /25 =1.25* 2-3 所以S=0,E=-3+127=124,M=0.25,因此5/32的单精度格式为 0 01111100 01000000000000000000000,一、自定义数据表示,目的:缩小高级语言与机器语言间语义差别; 实现操作与数据类型无关的特性。 自定义数据表示:由数据本身来表明数据类型,使计算机内的 数据具有自定义能力。 自定义数据表示的两种方法: 带标

6、识符的数据表示法:用以定义单个数据的数据类型和数值的数据表示。 数据描述符表示法:用以定义复杂数据结构(如向量、矩阵、多维数组、记录等)的数据表示。,2.1.2 高级数据表示,1、带标志符数据表示,带标志符的数据表示:描述单个数据,标志符是和每 个数据值相连,存在同一存贮单元内。,(1)格式:,(2)特点: A.指令不需区分数据类型,运算器根据数据中的类型进行相应运算。 B.标志符定义法,只对系统软件和高级语言的编译器建立,而 对高级程序员则透明。,(3)优点:简化了指令系统和程序设计; 简化了编译程序; 由硬件自动实现一致性检验和数据类 型的转变; 支持了数据库系统的实现与数据类型 无关的要

7、求; 为软件调试和应用软件开发提供了支 持;,(4)引入可行性分析:,a.存储空间问题,根据程序局部性原理,存储空间会减少。,b.实现时间问题,取出数据后转换,必须推迟运行时间; 必须有专门的指令用于标志符初始化,增加了辅助开销。,结论:,运行时间增加,宏观时间减少,存储空间减少。 适合专用机(支持动态数据类型)中使用。,例: 假设X和Y是两种不同的处理机,X的数据不带标志符,其指令 字长和数据字长均为32位;Y的数据带标志符,数据字长增加 到35位,而指令字长减少到30位,若每一条指令平均访问两 个操作数,每个操作数平均访问R次,现有一个程序,它有I 条指令,则: X:程序所占的空间总和为:

8、 BX32I32(2I/R); Y:程序所占的空间总和为: BY30I35(2I/R); 当R3; BY/BX(15R35)/(16R32) 1 ; 因此,会使程序所占的主存空间减小;,2、数据描述符,目的:描述复杂和多维的结构类型。 数据描述符与标志符的差别:,标志符描述单个数据,与数据相连,共存于同一存储单元中,是数据的一部分;,描述符描述多个数据,与数据分开,增加一级寻址,是程序的一部分。,格式:,图2.5 数据描述符格式,优点:整块数据可一次性操作;简化编译中的代码生成。,在B6700计算机中,每个48位长的字,附加有3位标志符。,当标志符为000状态时,,当标志符为101时,,表明后

9、面的字为数据值;,就表示该字为描述符。,操作方式: (见下页),B6700计算机借助描述符访问指令所需操作数的过程如下图2.6所示。,图2.6 通过描述符取数据块的过程,操作码,X,Y,101,101,101,地址形成逻辑,000,000,101,指令,描述符寄存器,描述符,主存储器,(数据),(数据),通过多次使用描述符,将描述符按树形连接来描述一个3*4二维数组,可用下图2.7所示:,三元素描述符向量,阵列描述符,三元素描述符向量,四元素向量,3 4二维数组,四元素向量,阵列描述符,S2,S3,S4,a11 a12 a13 a14 a21 a22 a23 a24 a31 a32 a33 a

10、34,图2.7 用二重描述符表示二维数组,S1,三、向量数据表示,向量数据表示设计内容: 向量参数、向量指令(含向量处理相关硬件)、向量存取方法。,向量参数:基地址,长度和位移量,向量指令:,向量处理部件: 专用的向量处理器及向量REG等;,向量操作处理:对向量元素数据的操作处理同基本数据表示处理。,向量指令示例: C(4:11)=A(4:11)+B(-4:3),稀疏向量存取:,向量存取方法:常规存取、稀疏存取,2.1.3 引入数据表示的原则,1.看系统效率是否提高,体现在是否减少实现时间和是否减少存储空间方面。,举例:向量数据表示时,向量运算部件节省时间,辅助开销时间减少;向量指令减少了指令

11、存储空间。,2.该数据表示的通用性和利用率是否高,通用性:是否对多种数据结构均适用。,利用率:设置的硬件的利用率。,举例:树型与指针数据表示。树型:对向量、数组等支持不够;指针:对多种数据结构支持较好。,四、堆栈数据表示(自己看),2.1.4 浮点数尾数基值大小和下溢处理方法的选择,1. 浮点数尾数基值的选择,为讨论选择不同浮点数尾数基值的影响,我们用rm来表示其浮点数尾数的基。在机器中,一个rm进制的数位是用log2 rm 个机器位数来表示,因此,尾数的机器位数为m时,相当于rm进制的尾数共有m个数位,其权值由小数点开始向右依次为 。 其中,,例如,rm=2 时,m为m; rm=16 时,m

12、为m/4; rm=10 时, m为m/4。当rm为 2 的整数次幂时,就有特例: 。 所谓以rm为尾数基值的浮点数就是当其尾数右移一个rm进制数位时,为保持数值不变, 阶码才增 1。,表 2.1 采用尾基为rm的浮点数表示的特性及其举例,(1) 可表示数的范围。由表 2.1 知,可表示的最小值为 , rm增大, 将减少;而可表示的最大值为 , 其中 1-2-m部分为常数,rm增大,由于 增大, 而使可表示的最大值增大。因此,随rm的增大,可表示数的范围增大。换句话说,对于大的rm值,为表示相同范围的数,其阶码的位数p可以减少。,(2) 可表示数的个数。由表 2.1 知,可表示数的个数为 , 其

13、中2p+m为常数,所以rm的增大将因 增大, 而使可表示数的个数增多。很容易得出,rm用 16 与用 2 的可表示数的个数之比为,(3) 数在实数轴上的分布。对比表 2.2 和表 2.3,可以看出rm用 16 的比用 2 的可表示数在实数轴上的分布要稀。例如在 1/2 和 2 之间,rm为 2 的有 15 个值,而rm为 16 的只有 8 个值。由此可见, rm越大,数的密度分布要稀的多。,表 2.2 p=2, m=4, rm=2 的规格化浮点数,表 2.3 p=2, m=4, rm=16 的规格化浮点数,(4) 可表示数的精度。由于rm愈大,数在数轴上的分布变稀,已可得出数的表示精度下降的结

14、论。从另一个角度分析,由于机器尾数位数m相同情况下,规格化十六进制尾数最高数位中可能出现 4 位机器位中的左面 3 位均为 0, 即rm=2 的可能比rm=16 的有多 3 位机器位的精度。若rm=2k,则最坏情况下,尾数中只用到m-k+1 位机器位来表示,所以,可表示数的精度随rm增大而单调下降。,(5) 运算中的精度损失。运算中的精度损失是指由于运 算过程中尾数右移出机器字长使得有效数字丢失后所造成的 精度损失,因此它与可表示数的精度是两个不同的概念。由 于尾数基值rm取大后,对阶移位的机会和次数要少,且由于 数的表示范围扩大,也使出现尾数溢出需右规的机会减少。 因此rm愈大,尾数右移的可

15、能性愈小,精度的损失就越小。,(6) 运算速度。由于rm大时发生因对阶或尾数溢出需右移及规格化需左移的次数显著减少,因此运算速度可以提高。,rm应根据应用需求选择: 大型机上rm较大,微型机一般取为2。,2. 浮点数尾数的下溢处理方法,截断法:将尾数超出机器字长的部分简单截去。 特点:实现简单,不用增加硬件,但最大误差太大,平均误差 最大,且无法调节,所以一般不用 (2) 舍入法:在机器运算部分的规定字长之外增设一位附加 位,存放溢出部分的最高位,每当进行尾数下溢处理时,将此 附加位加1; 特点:实现简单,增加的硬件少,最大误差小,平均误差接近 于0,稍偏正。但是处理速度比较慢,一般用于中低速

16、机器或 要求精度损失尽可能小的场合;,(3) 恒置“1”法: 在机器运算部分的规定字长之最低位恒置“1”状态; 特点:这种方法实现简单,不需要增加硬件和处理时间,平 均误差接近于0,稍偏正;但最大误差太大;适用于中高速机 器;。 (4) 查表舍入法: 用Rom或PLA存放下溢处理表,每次经查 表来读出相应的处理结果;下溢处理表的内容安排为当尾数 最低k-1位为全“1”时以截断法设置处理结果,其他情况按舍入法设置下溢处理结果。 特点:速度较快,平均误差接近于0;但是硬件设备量增多。,图 2.9 rm=2, m=2 时,各种下溢处理方法的误差曲线,几种方法比较:舍入法及查表舍入法较好,但舍入法平均误差稍偏正(0.5时进位),查表舍入法平均误差最接近零。 下溢处理方法选择: 选择查表舍入法。,1、在相同的机器字长和尾数位数的情况下,浮点数尾数基值取 小,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号