《计算机体系结构》第二章课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《计算机体系结构》第二章课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机体系结构 第二 课件
- 资源描述:
-
1、1 数据表示数据表示 一、数据表示的确定一、数据表示的确定1.何谓数据表示何谓数据表示 由硬件直接识别和处理(引用)的数据类型,2.数据表示的主要类型数据表示的主要类型 1)常用数据表示:)常用数据表示:定点数、字符串、浮点数等。2)高级数据表示:)高级数据表示:自定义、向量、堆栈数据表示 3.数据表示与系统结构的关系数据表示与系统结构的关系 1)数据表示是硬件设计基础)数据表示是硬件设计基础 2)数据表示是指令加工的对象)数据表示是指令加工的对象4.数据表示确定数据表示确定 在进行软件和硬件的功能分配时,计算机系统结构设计应考虑在机器中设置哪些数据表示,使之能对应用中用到的数据结构有高的实现
2、效率实现效率。在定点、浮点、字符串、逻辑、十进制等基本数据表示的基础之上,根据应用的需要,考虑在机器中引入哪些高级的数据表示,以便能为数据的实现提供更好的支持(通用性通用性和利用率利用率是否较高)。1)一般计算机要选用常用的数据表示;2)对较高级的数据表示要有针对选取。当处理的数据类型较多时,可选自定义的数据。当对向量数据处理较多时,可选向量数据表示。当逆波兰表达式处理较多时,可选堆栈数据表示。二、自定义数据表示二、自定义数据表示 自定义数据表示是为缩短高级语言和机器语言的语义差距引出自定义数据表示是为缩短高级语言和机器语言的语义差距引出来的。它又有来的。它又有标志符数据表示标志符数据表示和和
3、数据描述符数据描述符两类。两类。1.标志符标志符 1)格式)格式 类型标志 数据值类型标志数据值 2)标志位位数选取)标志位位数选取 简单的用三位标志符区分8种(23)类型 根据需要选取更多位类型标志数据值BCD码无符号数0110100001101000104十进制68(两位)如:3)使用标志位的优缺点 可简化指令系统与编译程序,便于不同数据类型的自动校验与转换。缺点:一个标志位只能对一个数据进行描述,其描述效率不高。2.描述符描述符 特征位:特征位:用来区分描述符还是非描述符。当为描述符时,才有后面的三个字段,如某机采用101表示描述符的特征位。块长度:描述数据块的个数。块首址:第一个数据单
4、元的地址。块属性:描述数据的特征。2)使用描述符的好处)使用描述符的好处 描述相同类型的数据时,描述效率高;利用块属性也有利于对信息的保护;可当作直接寻址及间接寻址使用。直接寻址:根据描述符给出数据块的首址,直接寻址。存 储 器 一 次 间 接 存 储 器 两 次 间 接:描述符给出的仍是数据描述符可描述阵列数据:描述一个阵列可用一级、二级描述符描述。a00 a03 A=a30 a33 11011101数据000数据000110111011101 一级描述符(要求数据连续存放)分别利用两级描述符和三级描述符描述下列阵列数据。a00 a01 a02 a03 b00 b01 b02 b03 a10
5、 a11 a12 a13 b10 b11 b12 b13A=a20 a21 a22 a23 B=b20 b21 b22 b23 a30 a31 a32 a33 b30 b31 b32 b331.解:1)两级描述符:21011610116101000000a00 000 a01:a33:.000000b00 000 b01:b33:.第一级第二级或:2)三级描述符b30 b31 b32 b33210141014101第一级第二级41014101410141014101410141014101第三级B第三级Aa00 a01 a02 a03a30 a31 a32 a33b00 b01 b02 b03
6、三、向量数据表示三、向量数据表示 1.含义含义:有序排列的数据元素称为向量(向量数据)2.向量数据的三要素向量数据的三要素:1)基地址)基地址:存放第一个向量数据的地址;2)向量长度)向量长度:向量数据个数;3)位移量)位移量:与基地址的距离。3.根据三要素可推出参数根据三要素可推出参数 1)起始地址起始地址=基地址基地址+位移量位移量,实际参与本次操作的第一个数据(元素)的地址;2)有效向量长度有效向量长度=向量长度向量长度-位移量位移量,实际参与本次操作的向量数据个数。4.向量运算指令向量运算指令 STAR100机共有16个向量寄存器,每个寄存器用四位二进制数表示。1)格式:FGXAYBZ
7、Ca3a2a1a0a9.有 效长 度为 7位 移量 为3基地址起始地址长度为102)说明:F F:主操作码字段,表示向量指令操作性质。主操作码字段,表示向量指令操作性质。G:辅操作码字段(根据结果,进行转移等)X X:存放源向量存放源向量A A长度及基址的寄存器号。长度及基址的寄存器号。Y Y:存放源向量存放源向量B B长度及基址的寄存器号。长度及基址的寄存器号。A A:源向量源向量A A位移量所在寄存器号。位移量所在寄存器号。B B:源向量源向量B B位移量所在寄存器号。位移量所在寄存器号。Z:控制向量长度(在G有效时)。C C:存放结果向量存放结果向量C C长度及基地址的寄存器号。长度及基
8、地址的寄存器号。FGXAYBZC 3 3)例子:)例子:完成以下向量运算。完成以下向量运算。A A,B B向量分布如右图示。向量分布如右图示。c0=a3+b1 c0=a3+b1 c1=a4+b2 c1=a4+b2 c7=a10+b8 c7=a10+b8设:编译程序测出8、9、10、11、12号寄存器空闲,并分别存放X、A、Y、B、C,画出各寄存器及指令的内容。a3a2a1a0a10.A向量1000Hb3b2b1b0b8.B向量2000Hc3c2c1c0c7.C向量3000H FGXA YBZC 解:向量寄存器分配(无G)X=1000B111000H 8#A=1001BY=1010BB=1011
9、BC=1100B39#10#11#12#92000H183000H 向量指令格式填写 F G X A Y B Z C向量加 1000100110101011 11005.稀疏向量的压缩1)稀疏向量含义:具有多个0元素的向量。2)压缩办法:利用有序“位向量”来指明稀疏向量中各元素的状况及所在位置。位向量的位数与向量长度相等。某元素为0时,对应位向量的位为0。某元素为非0时,对应位向量的位为1。如:稀疏向量 a000a30a5a60 有序位向量:占用5个单元节省3个单元1001011056-1127834a0=56a3=-112a5=78a6=34目的:目的:*可节省存储空间;*实际长度减少可加快
10、运算速度。压缩向量四、堆栈数据表示四、堆栈数据表示1.含义:凡是按先进后出方式工作的特殊(存储)区域称为堆栈。2.堆栈组成方式:1)寄存器堆栈,全由寄存器构成,速度快,扩充栈容成本高。2)寄存器与存贮器结合堆栈。寄存器速度快作栈顶(需数个栈顶寄存器)。存贮器价格低扩充栈容易。3.堆栈的生长方式 通常采用向下生长方式:压入数据后,堆栈指针SP向地址减少方向变化。4.堆栈的主要作用堆栈的主要作用1)保护信息,保存现场;2)支持子程序嵌套与中断嵌套以及递归调用的正确进入与返回;3)十分有利于完成对逆波兰表达式的运算。5.逆波兰表达式及其运算逆波兰表达式及其运算1)三种表达式 数学表达式:A+B 波兰
11、表达式:+AB 逆波兰表达式:AB+*+/-+CBDEFA 2)数学表达式的树结构 把运算符做结点。把运算元素做叶子。把 最 后 一 个 运 算 符 作 根 节 点(二 叉 树)例:(A+B)*C-D/(E+F)3)逆波兰表达式的生成)逆波兰表达式的生成 利用后序遍历树,生成逆波兰表达式要点:先左,后右,先枝叶,后结点,依次收集运算元素与运算符,直到最后一个运算符(根结点)为止。AB+C*DEF+/-4)在堆栈机上完成逆波兰表达式运算要点要点:见运算元素压入堆栈。见运算符就将次栈顶元素与栈顶元素进行相应运算,结果留在栈顶,直到最后一个运算符。A(A+B)*CCA+BDMA+BBA165432D
12、*C+BA顶次顶顶EDM7EFE8FE+FDM9D/(E+F)M10/(A+B)*C-D/(E+F)11-+DM五、浮点数尾数的基值(五、浮点数尾数的基值(rm)选择选择 1.浮点表示N=Srp浮点数的一般形式浮点数的一般形式S 尾数(尾数(含小数点含小数点)p 阶码阶码r 基数(基值基数(基值rm)计算机中计算机中 r 取取 2、4、8、16 等等。如:如:0.23581 当当 r=2N=11.0101=0.110101210=1.1010121=1101.012-10=0.001101012100 计算机中计算机中 S 小数、可正可负小数、可正可负p 整数、可正可负整数、可正可负 规格化数
13、规格化数二进制表示二进制表示S S小数点后的最高数值位为非小数点后的最高数值位为非0 0的浮点数称为规格化浮点数。的浮点数称为规格化浮点数。2.浮点数的一般格式3.rm影响的因素 数的表示范围 上图中阶码的位数阶码的位数P的大小主要影响浮点数的可表示的大小主要影响浮点数的可表示范围的大小范围的大小。尾数的位数m主要影响浮点数的可表示精度。当当P一定时,尾数采用什么进制(一定时,尾数采用什么进制(r)可影响)可影响数的表数的表示范围、精度及数在数轴上分布的离散程度示范围、精度及数在数轴上分布的离散程度。P在所有的机器种都时采用二进制。在所有的机器种都时采用二进制。rm=2时,m位 非0最小正尾数
14、2-m .0001最大正尾数1-2-m .1111最大正阶2p1 0111P个1最大负阶-2p 1000P个0 最小正浮点数最小正浮点数 2-m*2-2P 非0最小尾数乘乘最大负阶-2p rm-m*rm-2P 最大的正浮点数最大的正浮点数 (1-2-m)*22P-1 最大尾数乘乘最大正阶-2p-1 (1-rm-m)*rm2P-1 正数轴上表示范围正数轴上表示范围 rm-m*rm-2P(1-rm-m)*rm2P-1 规格化浮点数个数规格化浮点数个数尾数最高数值位为非尾数最高数值位为非0 0的浮点数称为规格化浮点数的浮点数称为规格化浮点数。设:P=2,m=4 正尾数、规格化、非负阶。rm=2时,共
15、有32个规格化浮点数1000 8/168/88/48/210019/169/89/49/2 111115/1615/815/415/2 p m00011011 rm=16时,共有60个规格化浮点数0001 1/1611625600102/16232512 111115/16152403840 m p 00011011rm=4时 m 0001101101004/164/441601015/165/452001106/166/462401117/167/472810008/168/483210019/169/4936 111115/1615/41560p 规格化浮点数的稀密度规格化浮点数的稀密度e
16、 rm=16时 e=15/32=0.47 rm=4时 e=24/32=0.75 结论结论:rm越大,规格化浮点数分布越稀疏。精度:精度:(从e可以看出)rm大,精度低。4.rm的选择原则的选择原则应视数的表示范围决定。随着位数范围越来越大,rm有向下取的趋势。个数时,非负规格化浮点数点数的个数相同数轴以内规格化浮时,与22mrrremm习题2.分别用rm=2和8,在不包括符号位在内的p=3,m=3且非负阶、正尾数、规格化条件下 1)先列出两种rm的规格化浮点数表。2)分别计算rm=2和8条件下规格化数的个数,数的表示范围及表示比e。最小规格化浮点数的尾数的确定:最小规格化浮点数的尾数的确定:设
17、尾数位数设尾数位数m=4 阶码部分值阶码部分值E=0 对对(0.1)r 二进制:二进制:0.1000 1/2 四进制:四进制:0.0100 1/4 八进制:八进制:0.0010 1/8 十六进制:十六进制:0.0001 1/16三、向量数据表示三、向量数据表示四、堆栈数据表示四、堆栈数据表示五、浮点数尾数的基值(五、浮点数尾数的基值(rm)选择选择 rm选择选择 浮点数的一般格式浮点数的一般格式 r rm m对数的表示个数、范围对数的表示个数、范围、精度精度、稀密度稀密度e e 的影响的影响 稀密度稀密度e e的概念的概念 规格化浮点数的概念规格化浮点数的概念 规格化浮点数的最小尾数的确定:规
18、格化浮点数的最小尾数的确定:设尾数位数设尾数位数m=4 阶码部分值阶码部分值E=0 对对(0.1)r r=2:0.1000 1/2 r=4:0.0100 1/4 r=8:0.0010 1/8 r=16:0.0001 1/16六、下溢的处理六、下溢的处理两种溢出:运算结果超出允许范围。是指尾数右移过程中丢掉的移出位,它影响精度。负数区负数区正数区正数区下溢下溢0上溢上溢上溢上溢最小负数最小负数(绝对值最大)(绝对值最大)最大正数最大正数最小正数最小正数最大负数最大负数(绝对值最小)(绝对值最小)阶阶码码尾尾数数阶符阶符数符数符移出位移出位2.恒置恒置1法法含义:不管移出位如何,均将尾数末位置1的
19、一种下溢处理方法。误差分析中把机器能表示的最小分辨数值定为误差分析中把机器能表示的最小分辨数值定为1 11.截断法截断法含义:对尾数移出位简单截取的一种处理方法。特点:)无下移处理线路,实现容易。)平均误差为负且较大,无法调节,只适用于对精度无要求之处。取值表右移后 尾数移出位2-1 2-2 取值 误差 综合 0 0 0 1 1 1 +3/41 0+1/21 1+1/4 10 0 1 00 1-1/41 0-1/21 1-3/40 1特点:)有了简单的下溢处理线路;)综合误差有所下降(比截断法)。3.舍入法舍入法含义:根据移出最高位进行舍取时的一种下溢处理法。)当移出的最高位(2-1)=0时,
20、按截断法。)当移出的最高位(2-1)=1时,将尾数的末位加1。取值表 右移后移出位2-1 2-2 取值 误差综合 X 0 0 X 0+1/2 0 1 -1/4 1 0 X+1+1/2 1 1+1/4特点:)需移出最高位判别线路及尾数加1线路,比较复杂。)综合误差较小,用于对精度要求较高处,较常用。4.查表舍入法查表舍入法(ROM查表法查表法)基本思想基本思想:从n位尾数中切取K位尾数,并同移出位一起送ROM中去查表,并从表中送出K位尾数,使其综合误差趋于0。n-k位移出位k位 n位尾数n-k位k位ROM表查表送出k位 ROM表的安排原则 )当K位尾数为非全1时,按舍入法取值。)当K位尾数为全1
21、时,按截断法取值。取值表,设K=2,两个移出位右移后尾数移出位移出位2-1 2-2取值误差综合误差 0 0 0 0 00 0 0 0 1-1/4 1 0 01+1/2 1 1+1/4 0 1 0 0 01 0 0 1-1/4 1 0 10+1/2 1 1+1/4特点:)具有最复杂的下溢线路(除舍入 法线路外,还要有ROM 表);)综合误差最小;)用在精度高的地方。1 0 0 0 10 0 0 1-1/4 1 0 11+1/2 1 1+1/4 1 1 0 0 11 0 0 1-1/4 1 0-1/2 1 1-3/4 0右移后尾数移出位2-1 2-2取值误差综合误差一、地址表示一、地址表示1.地址
22、表示类型地址表示类型1)按所用不同进制数用二进制地址用八进制地址用十六进制地址用十进制地址2)按所指不同空间表示 存贮单元地址。I/O端口地址。寄存器地址3)按存贮管理不同 页地址 段地址 段页地址4)按访问空间数据长度不同(注意地址边界的问题)字节地址(8位)半字地址(16位)单字地址(32位)双字地址(64位)5)按编程角度 逻辑地址程序员编程使用 物理地址程序在主存中的实际存放地址 6)存储保护来分 基地址:某用户存储单元的首地址 界地址:存储保护中的界限保护2 物理地址空间的信息分布物理地址空间的信息分布1)条件:)条件:在一个具有双字存储器中,可存放多种长度数据(字节、半字、字、双字
23、)2)紧凑存放:)紧凑存放:尽量尽量利用存储空间,将各种不同长度的数据紧凑存放,但可能出现双字、字、半字跨主存字边界存放的情况,从而增加访存时间。如:依次存放单字(单字(4字节)、双字、半字字节)、双字、半字(2字节)、字节、半字、单字、单字字节)、字节、半字、单字、单字 3)按整数边界存放:浪费了一定的空间,但保证了访问时间。浪费了一定的空间,但保证了访问时间。单字双字双字1双字双字2半字字节半字半字1半字半字2单字单字单字1单字单字2单字浪费(4字节)双字双字半字字节浪费半字半字浪费(2字节)单字单字单字二、寻址方式简介二、寻址方式简介1.三种面向的寻址方式三种面向的寻址方式 机器指令可以
24、访问寄存器、堆栈或主存中的数,因此相应地就有面向寄存器、面向堆栈和面向主存的不同寻址方式。2.寻址方式选择原则寻址方式选择原则1)尽快获得操作数(速度)2)寻址字段位数少(省空间)3)能访问尽可能大的存储空间4)有利于循环程序设计5)有灵活多变寻址来达到同一目的访问(编程灵活)3.程序在主存中的定位技术程序在主存中的定位技术 1)静态再定位)静态再定位 目程序装入主存时,通过调用系统配备的装入程序,把目程序的逻辑地址用软的方法逐一修改成物理地址。静态再定位的优点静态再定位的优点是不需要增加任何硬件。是不需要增加任何硬件。缺点:缺点:对提高主存的利用率不利。对提高主存的利用率不利。不利于多道程序
展开阅读全文