计算机系统结构 第2章 数据表示与指系统.ppt
《计算机系统结构 第2章 数据表示与指系统.ppt》由会员分享,可在线阅读,更多相关《计算机系统结构 第2章 数据表示与指系统.ppt(100页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 2 章 数据表示与指令系统 第 2 章 数据表示与指令系统 2.1 数据表示数据表示2.2 寻址方式寻址方式 2.3 指令系统的设计和改进指令系统的设计和改进 第 2 章 数据表示与指令系统 2.1 数数 据据 表表 示示 2.1.1 数据表示与数据结构数据表示与数据结构 数据表示指的是能由机器硬件直接识别和引用的数据类型。例如,当机器设置有定点加、减、乘、除、移位、比较等一系列定点运算指令和相应的运算硬件,可以直接对定点数进行各种处理时,机器就有了定点数据表示。当机器设置有逻辑加、逻辑乘、按位相加、逻辑移位等一系列逻辑运算指令和相应的逻辑运算硬件,可以直接对逻辑数进行各种处理,机器就有了
2、逻辑数据表示。类似的,若机器设置有浮点运算指令(如浮点加、减、乘、除、比较、存、取等)和相应的运算硬件,可以直接对浮点数进行各种处理,机器就有了浮点数据表示。第 2 章 数据表示与指令系统 串、队、栈、向量、阵列、链表、树、图等是软件系统所要处理的各种数据结构,它们反映了面向应用所要用到的各种数据元素或信息单元之间的结构关系。数据结构是通过软件映象,将信息变换成机器中所具有的各种数据表示来实现的,可见,数据表示是构成数据结构的元素。不同的数据表示可以为数据结构的实现提供不同的支持,表现在实现的效率和方便性上不同。因此,数据结构和数据表示是软、硬件的交界面。系统结构设计者在确定软、硬件的功能分配
3、时,应考虑在机器中设置哪些数据表示,以便对应用中所遇到的数据结构能有高的实现效率。当然,这是以花费适当的硬件为代价的。所以,数据表示的确定实质上是软、硬件的取舍问题。第 2 章 数据表示与指令系统 图 2.1 变址操作对向量、阵列数据结构的支持 第 2 章 数据表示与指令系统 2.1.2 高级数据表示高级数据表示 1.自定义数据表示自定义数据表示 自定义(Self-defining)数据表示包括带标志符的数据表示和数据描述符两类。1)带标志符的数据表示 高级语言用类型说明语句指明数据的类型,让数据类型直接与数据本身联系在一起,运算符不反映数据类型,是通用的。例如FORTRAN程序中,实数(浮点
4、数)I和J的相加是采用如下的语句组指明的:REAL I,J I=I+J 第 2 章 数据表示与指令系统 在说明I、J的数据为实型后,用通用的“+”运算符就可实现实数加法。可是,传统的机器语言程序却正好相反,它用操作码指明操作数的类型。如浮点加法指令 浮加 I J 中,由于操作码是浮加,那么无论I和J是否是浮点数,总是按浮点数对待,进行浮点数加法。这样,编译时就需要把高级语言程序中的数据类型说明语句和运算符变换成机器语言中不同类型指令的操作码,并验证操作数的类型是否与运算符所要求的一致,若不一致,还需用软件进行转换,这些都增加了编译的负担。第 2 章 数据表示与指令系统 为了缩短高级语言与机器语
5、言的这种语义差距,可让机器中的每个数据如下所示,都带有类型标志位:类型标志 数 据 值 数据(字)第 2 章 数据表示与指令系统 标志符数据表示的主要优点为:(1)简化了指令系统和程序设计。(2)(2)简化了编译程序。(3)(3)便于实现一致性校验。(4)(4)能由硬件自动完成数据类型的变换。(5)(5)支持了数据库系统的实现与数据类型无关的要求。(6)(6)为软件调试和应用软件开发提供了支持。第 2 章 数据表示与指令系统 采用标志符数据表示带来的问题可能有两个。(1)每个数据字因增设标志符,会使程序所占用的主存空间增加。(2)采用标志符会降低指令的执行速度。第 2 章 数据表示与指令系统
6、图 2.2 采用标志符缩短操作码而节省程序空间 第 2 章 数据表示与指令系统 2)数据描述符 为进一步减少标志符所占的存贮空间,对于向量、数组、记录等数据,由于每个元素具有相同的属性,为此发展出数据描述符。数据描述符和标志符的差别在于标志符是和每个数据相连的,合存在一个存贮单元中,描述单个数据的类型特征;描述符是和数据分开存放的,专门用来描述所要访问的数据是整块数据还是单个数据,访问该数据块或数据元素所需要的地址以及其他特征信息等。第 2 章 数据表示与指令系统 以 B6700的描述符为例,其数据描述符和数据的形式分别如下所示:1 0 1 各种标志符 长 度 地 址 描述符 0 0 0 数
7、据 数 据 第 2 章 数据表示与指令系统 图 2.3 经描述符访存取操作数 第 2 章 数据表示与指令系统 图 2.4 用描述符描述二维阵列 第 2 章 数据表示与指令系统 2.向量数组数据表示向量数组数据表示 例如,要计算ci=ai+5+bi i=10,11,1000用FORTRAN语言写成的有关DO循环部分为 DO 40 I=10,1000 40 C(I)=A(I+5)+B(I)第 2 章 数据表示与指令系统 在具有向量、数组数据表示的向量处理机上,表现出在硬件上设置有丰富的向量或阵列运算指令,配置有以流水或阵列方式处理的高速运算器,只需用一条如下的向量加法指令:向量加 A向量参数 B向
8、量参数 C向量参数 第 2 章 数据表示与指令系统 图 2.5 向量编址所用的参数 第 2 章 数据表示与指令系统 3.堆栈数据表示堆栈数据表示 (1)有若干高速寄存器组成的硬件堆栈,并附加控制电路让它与主存中的堆栈区在逻辑上组成一个整体,使堆栈的访问速度是寄存器的,堆栈的容量是主存的。(2)有很丰富的堆栈操作类指令且功能很强,直接可对堆栈中的数据进行各种运算和处理。(3)有力地支持高级语言程序的编译。假定有算术赋值语句 F=A*B+C/(D-E)可以很容易通过用逆波兰表达式 AB*CDE-/+(4)有力地支持子程序的嵌套和递归调用。第 2 章 数据表示与指令系统 图 2.6 用堆栈实现子程序
9、的嵌套和递归调用 第 2 章 数据表示与指令系统 2.1.3 引入数据表示的原则引入数据表示的原则 一方面是看系统的效率有否提高,即是否减少了实现时间和所需的存贮空间。衡量实现时间是否减少,主要是看在主存和处理机之间传送的信息量有否减少。传送的信息量越少,其实现时间就会越少。以A、B两个 200200 的定点数二维数组相加为例,用PL/1语言编写很简单,就是 A=A+B 第 2 章 数据表示与指令系统 是否引入某种高级数据表示的另一方面是看引入这种数据表示后,其通用性和利用率是否高。如果只对某种数据结构的实现效率很高,而对其他数据结构的实现效率很低,或者引入这种数据表示在应用中很少用到,那么为
10、此所花的硬件过多却并未在性能上得到好处,必然导致性能价格比的下降,特别是对一些复杂的数据表示。第 2 章 数据表示与指令系统 2.1.4 浮点数尾数基值大小和下溢处理方法的选择浮点数尾数基值大小和下溢处理方法的选择 1.浮点数尾数基值的选择浮点数尾数基值的选择 图 2.7 浮点数的一般格式 第 2 章 数据表示与指令系统 图 2.8 浮点数可表示实数域中的值 第 2 章 数据表示与指令系统 为讨论选择不同浮点数尾数基值的影响,我们用rm来表示其浮点数尾数的基。在机器中,一个rm进制的数位是用log2 rm 个机器位数来表示,因此,尾数的机器位数为m时,相当于rm进制的尾数共有m个数位,其权值由
11、小数点开始向右依次为 。其中,例如,rm=2 时,m为m;rm=16 时,m为m/4;rm=10 时,m为m/4。当rm为 2 的整数次幂时,就有特例:。所谓以rm为尾数基值的浮点数就是当其尾数右移一个rm进制数位时,为保持数值不变,阶码才增 1。第 2 章 数据表示与指令系统 表表 2.1 采用尾基为采用尾基为rm的浮点数表示的特性及其举例的浮点数表示的特性及其举例 第 2 章 数据表示与指令系统 (1)可表示数的范围。由表 2.1 知,可表示的最小值为 ,rm增大,将减少;而可表示的最大值为 ,其中 1-2-m部分为常数,rm增大,由于 增大,而使可表示的最大值增大。因此,随rm的增大,可
12、表示数的范围增大。换句话说,对于大的rm值,为表示相同范围的数,其阶码的位数p可以减少。第 2 章 数据表示与指令系统 (2)可表示数的个数。由表 2.1 知,可表示数的个数为 ,其中2p+m为常数,所以rm的增大将因 增大,而使可表示数的个数增多。很容易得出,rm用 16 与用 2 的可表示数的个数之比为 第 2 章 数据表示与指令系统 (3)数在实数轴上的分布。对比表 2.2 和表 2.3,可以看出rm用 16 的比用 2 的可表示数在实数轴上的分布要稀。例如在 1/2 和 2 之间,rm为 2 的有 15 个值,而rm为 16 的只有 8 个值。为了进一步分析数值分布和rm的关系,引入表
13、示比。表示比e指的是在相同p、m位数时,在rm=2 的可表示最大值以内,采用rm2 的可表示浮点数个数与rm=2 的可表示浮点数个数之比。第 2 章 数据表示与指令系统 表表 2.2 p=2,m=4,rm=2 的规格化浮点数的规格化浮点数 第 2 章 数据表示与指令系统 表 2.3 p=2,m=4,rm=16 的规格化浮点数 第 2 章 数据表示与指令系统 由于采用的rm2 时,可表示的最大值总比rm=2 的可表示的最大值要大,总可以找到一个其尾数值为最大的1-2-m,阶值为 q,使得 即 ,从而得出此时的q值为 第 2 章 数据表示与指令系统 将q=(2p-1)/log2 rm代入上式得 实
14、际机器中阶码位数p一般都较大,至少p=8,这时若rm取 16,则表示比 第 2 章 数据表示与指令系统 (4)可表示数的精度。由于rm愈大,数在数轴上的分布变稀,已可得出数的表示精度下降的结论。从另一个角度分析,由于机器尾数位数m相同情况下,规格化十六进制尾数最高数位中可能出现 4 位机器位中的左面 3 位均为 0,即rm=2 的可能比rm=16 的有多 3 位机器位的精度。若rm=2k,则最坏情况下,尾数中只用到m-k+1 位机器位来表示,所以,可表示数的精度随rm增大而单调下降。第 2 章 数据表示与指令系统 (5)运算中的精度损失。运算中的精度损失是指由于运算过程中尾数右移出机器字长使得
15、有效数字丢失后所造成的精度损失,因此它与可表示数的精度是两个不同的概念。由于尾数基值rm取大后,对阶移位的机会和次数要少,且由于数的表示范围扩大,也使出现尾数溢出需右规的机会减少,这从表 2.4 对大量指令执行后统计得出的浮点加法移位距离和所占百分比情况可以看出。因此rm愈大,尾数右移的可能性愈小,精度的损失就越小。第 2 章 数据表示与指令系统 表 2.4 浮点加法的移位距离及百分比 第 2 章 数据表示与指令系统 (6)运算速度。由于rm大时发生因对阶或尾数溢出需右移及规格化需左移的次数显著减少,因此运算速度可以提高。第 2 章 数据表示与指令系统 2.浮点数尾数的下溢处理方法浮点数尾数的
16、下溢处理方法(1)截断法。(2)(2)舍入法。(3)(3)恒置“1”法。(4)(4)查表舍入法。第 2 章 数据表示与指令系统 图图 2.9 rm=2,m=2 时,各种下溢处理方法的误差曲线时,各种下溢处理方法的误差曲线 第 2 章 数据表示与指令系统 图 2.10 k位ROM查表舍入 第 2 章 数据表示与指令系统 2.2 寻寻 址址 方方 式式 2.2.1 寻址方式分析寻址方式分析 大多数计算机都将主存、通用寄存器、堆栈分类编址,因此就有分别面向寄存器、堆栈和主存的寻址方式。面向寄存器的寻址方式操作数可以取自寄存器或主存,结果大多保存在寄存器中,少量的送入主存。面向堆栈的寻址方式主要访问堆
17、栈,少量访问主存或寄存器。面向主存的寻址方式主要访问主存,少量访问寄存器。第 2 章 数据表示与指令系统 2.2.2 逻辑地址与主存物理地址逻辑地址与主存物理地址 图图 2.11 逻辑地址空间到物理地址空间的变换逻辑地址空间到物理地址空间的变换 第 2 章 数据表示与指令系统 图 2.12 基址寻址 第 2 章 数据表示与指令系统 各种信息在存贮器中存放的地址必须是:字节信息地址为 半字信息地址为 0 单字信息地址为 0 0 双字信息地址为 0 0 0 第 2 章 数据表示与指令系统 图 2.13 各种宽度信息的存贮 第 2 章 数据表示与指令系统 2.3 指令系统的设计和改进指令系统的设计和
18、改进 2.3.1 指令格式的优化指令格式的优化 1.操作码的优化表示操作码的优化表示 表 2.5 某模型机指令使用频度举例 第 2 章 数据表示与指令系统 现设一台模型机,共有 7 种不同的指令,使用频度如表 2.5 所示。若操作码用定长码表示需要 3 位。按信息论观点,当各种指令的出现是相互独立的(实际情况并不都是如此)时候,操作码的信息源熵(信息源所包含的平均信息量)H为-pi log2 pi,由于操作码信息是用二进制位表示的,则H=-pi log2 pi 按表 2.5 的数据,得H=0.401.32+0.301.74+0.152.74+0.054.32 +0.044.64+0.035.0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统结构 第2章 数据表示与指系统 计算机系统 结构 数据 表示 系统
限制150内