计算机体系结构第二章.ppt

上传人:zhu****ei 文档编号:3590253 上传时间:2019-12-18 格式:PPT 页数:71 大小:918.50KB
返回 下载 相关 举报
计算机体系结构第二章.ppt_第1页
第1页 / 共71页
计算机体系结构第二章.ppt_第2页
第2页 / 共71页
计算机体系结构第二章.ppt_第3页
第3页 / 共71页
点击查看更多>>
资源描述
第二章数据表示与指令系统,1数据表示,一、数据表示的确定1.何谓数据表示由硬件直接识别和处理(引用)的数据类型,2.数据表示的主要类型1)常用数据表示:定点数、字符串、浮点数等。2)高级数据表示:自定义、向量、堆栈数据表示3.数据表示与系统结构的关系1)数据表示是硬件设计基础2)数据表示是指令加工的对象,4.数据表示确定在进行软件和硬件的功能分配时,计算机系统结构设计应考虑在机器中设置哪些数据表示,使之能对应用中用到的数据结构有高的实现效率。在定点、浮点、字符串、逻辑、十进制等基本数据表示的基础之上,根据应用的需要,考虑在机器中引入哪些高级的数据表示,以便能为数据的实现提供更好的支持(通用性和利用率是否较高)。1)一般计算机要选用常用的数据表示;2)对较高级的数据表示要有针对选取。当处理的数据类型较多时,可选自定义的数据。当对向量数据处理较多时,可选向量数据表示。当逆波兰表达式处理较多时,可选堆栈数据表示。,二、自定义数据表示自定义数据表示是为缩短高级语言和机器语言的语义差距引出来的。它又有标志符数据表示和数据描述符两类。1.标志符1)格式类型标志数据值,类型标志,数据值,2)标志位位数选取简单的用三位标志符区分8种(23)类型根据需要选取更多位,3)使用标志位的优缺点可简化指令系统与编译程序,便于不同数据类型的自动校验与转换。缺点:一个标志位只能对一个数据进行描述,其描述效率不高。2.描述符,特征位:用来区分描述符还是非描述符。当为描述符时,才有后面的三个字段,如某机采用101表示描述符的特征位。,块长度:描述数据块的个数。块首址:第一个数据单元的地址。块属性:描述数据的特征。2)使用描述符的好处描述相同类型的数据时,描述效率高;利用块属性也有利于对信息的保护;可当作直接寻址及间接寻址使用。直接寻址:根据描述符给出数据块的首址,直接寻址。,存储器一次间接存储器两次间接:描述符给出的仍是数据描述符可描述阵列数据:描述一个阵列可用一级、二级描述符描述。a00a03A=a30a33,一级描述符(要求数据连续存放),分别利用两级描述符和三级描述符描述下列阵列数据。a00a01a02a03b00b01b02b03a10a11a12a13b10b11b12b13A=a20a21a22a23B=b20b21b22b23a30a31a32a33b30b31b32b33,1.解:1)两级描述符:,或:,2)三级描述符,三、向量数据表示1.含义:有序排列的数据元素称为向量(向量数据)2.向量数据的三要素:1)基地址:存放第一个向量数据的地址;2)向量长度:向量数据个数;3)位移量:与基地址的距离。,3.根据三要素可推出参数1)起始地址=基地址+位移量,实际参与本次操作的第一个数据(元素)的地址;2)有效向量长度=向量长度-位移量,实际参与本次操作的向量数据个数。4.向量运算指令STAR100机共有16个向量寄存器,每个寄存器用四位二进制数表示。1)格式:,说明:,F:主操作码字段,表示向量指令操作性质。G:辅操作码字段(根据结果,进行转移等)X:存放源向量A长度及基址的寄存器号。Y:存放源向量B长度及基址的寄存器号。A:源向量A位移量所在寄存器号。B:源向量B位移量所在寄存器号。Z:控制向量长度(在G有效时)。C:存放结果向量C长度及基地址的寄存器号。,3)例子:完成以下向量运算。A,B向量分布如右图示。c0=a3+b1c1=a4+b2c7=a10+b8设:编译程序测出8、9、10、11、12号寄存器空闲,并分别存放X、A、Y、B、C,画出各寄存器及指令的内容。,解:向量寄存器分配(无G),向量指令格式填写,5.稀疏向量的压缩1)稀疏向量含义:具有多个0元素的向量。2)压缩办法:利用有序“位向量”来指明稀疏向量中各元素的状况及所在位置。位向量的位数与向量长度相等。某元素为0时,对应位向量的位为0。某元素为非0时,对应位向量的位为1。如:稀疏向量,有序位向量:占用5个单元节省3个单元,a0=56a3=-112a5=78a6=34目的:*可节省存储空间;*实际长度减少可加快运算速度。,压缩向量,四、堆栈数据表示1.含义:凡是按先进后出方式工作的特殊(存储)区域称为堆栈。2.堆栈组成方式:1)寄存器堆栈,全由寄存器构成,速度快,扩充栈容成本高。2)寄存器与存贮器结合堆栈。寄存器速度快作栈顶(需数个栈顶寄存器)。存贮器价格低扩充栈容易。3.堆栈的生长方式通常采用向下生长方式:压入数据后,堆栈指针SP向地址减少方向变化。,4.堆栈的主要作用1)保护信息,保存现场;2)支持子程序嵌套与中断嵌套以及递归调用的正确进入与返回;3)十分有利于完成对逆波兰表达式的运算。5.逆波兰表达式及其运算1)三种表达式数学表达式:A+B波兰表达式:+AB逆波兰表达式:AB+,2)数学表达式的树结构把运算符做结点。把运算元素做叶子。把最后一个运算符作根节点(二叉树)例:(A+B)*C-D/(E+F),3)逆波兰表达式的生成利用后序遍历树,生成逆波兰表达式要点:先左,后右,先枝叶,后结点,依次收集运算元素与运算符,直到最后一个运算符(根结点)为止。AB+C*DEF+/-4)在堆栈机上完成逆波兰表达式运算要点:见运算元素压入堆栈。见运算符就将次栈顶元素与栈顶元素进行相应运算,结果留在栈顶,直到最后一个运算符。,五、浮点数尾数的基值(rm)选择1.,浮点表示,N=Srp,浮点数的一般形式,S尾数(含小数点),p阶码,r基数(基值rm),计算机中r取2、4、8、16等。如:0.23581,当r=2,N=11.0101,=0.110101210,=1.1010121,=1101.012-10,=0.001101012100,计算机中S小数、可正可负,p整数、可正可负,规格化数,S小数点后的最高数值位为非0的浮点数称为规格化浮点数。,2.浮点数的一般格式,3.rm影响的因素数的表示范围上图中阶码的位数P的大小主要影响浮点数的可表示范围的大小。,尾数的位数m主要影响浮点数的可表示精度。当P一定时,尾数采用什么进制(r)可影响数的表示范围、精度及数在数轴上分布的离散程度。P在所有的机器中都采用二进制。rm=2时,m位非0最小正尾数2-m.0001,最大正尾数1-2-m.1111,最大正阶2p10111,P个1,最大负阶-2p1000,P个0,最小正浮点数2-m*2-2P非0最小尾数乘最大负阶-2prm-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的浮点数称为规格化浮点数。,设:P=2,m=4正尾数、规格化、非负阶。rm=2时,共有32个规格化浮点数,rm=16时,共有60个规格化浮点数,rm=4时,p,规格化浮点数的稀密度erm=16时e=15/32=0.47rm=4时e=24/32=0.75结论:rm越大,规格化浮点数分布越稀疏。精度:(从e可以看出)rm大,精度低。4.rm的选择原则应视数的表示范围决定。随着位数范围越来越大,rm有向下取的趋势。,习题2.分别用rm=2和8,在不包括符号位在内的p=3,m=3且非负阶、正尾数、规格化条件下1)先列出两种rm的规格化浮点数表。2)分别计算rm=2和8条件下规格化数的个数,数的表示范围及表示比e。,最小规格化浮点数的尾数的确定:设尾数位数m=4阶码部分值E=0对(0.1)r二进制:0.10001/2四进制:0.01001/4八进制:0.00101/8十六进制:0.00011/16,六、下溢的处理两种溢出:运算结果超出允许范围。是指尾数右移过程中丢掉的移出位,它影响精度。,最小负数(绝对值最大),最小正数,最大负数(绝对值最小),阶符,数符,移出位,2.恒置1法含义:不管移出位如何,均将尾数末位置1的一种下溢处理方法。,误差分析中把机器能表示的最小分辨数值定为11.截断法含义:对尾数移出位简单截取的一种处理方法。特点:)无下移处理线路,实现容易。)平均误差为负且较大,无法调节,只适用于对精度无要求之处。,取值表,01,特点:)有了简单的下溢处理线路;)综合误差有所下降(比截断法)。,3.舍入法含义:根据移出最高位进行舍取时的一种下溢处理法。)当移出的最高位(2-1)=0时,按截断法。)当移出的最高位(2-1)=1时,将尾数的末位加1。取值表,特点:)需移出最高位判别线路及尾数加1线路,比较复杂。)综合误差较小,用于对精度要求较高处,较常用。,4.查表舍入法(ROM查表法)基本思想:从n位尾数中切取K位尾数,并同移出位一起送ROM中去查表,并从表中送出K位尾数,使其综合误差趋于0。,ROM表的安排原则)当K位尾数为非全1时,按舍入法取值。)当K位尾数为全1时,按截断法取值。取值表,设K=2,两个移出位,特点:)具有最复杂的下溢线路(除舍入法线路外,还要有ROM表);)综合误差最小;)用在精度高的地方。,2地址表示与寻址方式,一、地址表示1.地址表示类型1)按所用不同进制数用二进制地址用八进制地址用十六进制地址用十进制地址2)按所指不同空间表示存贮单元地址。I/O端口地址。寄存器地址,3)按存贮管理不同页地址段地址段页地址4)按访问空间数据长度不同字节地址(8位)半字地址(16位)单字地址(32位)双字地址(64位)5)按编程角度逻辑地址程序员编程使用物理地址程序在主存中的实际存放地址,6)存储保护来分基地址:某用户存储单元的首地址界地址:存储保护中的界限保护2物理地址空间的信息分布1)条件:在一个具有双字存储器中,可存放多种长度数据(字节、半字、字、双字)2)紧凑存放:尽量利用存储空间,将各种不同长度的数据紧凑存放,但可能出现双字、字、半字跨主存字边界存放的情况,从而增加访存时间。如:依次存放单字(4字节)、双字、半字(2字节)、字节、半字、单字、单字,3)按整数边界存放(存放地址是信息宽度(字节数)的整数倍):,浪费了一定的空间,但保证了访问时间。,二、寻址方式简介1.三种面向的寻址方式机器指令可以访问寄存器、堆栈或主存中的数,因此相应地就有面向寄存器、面向堆栈和面向主存的不同寻址方式。2.寻址方式选择原则1)尽快获得操作数(速度)2)寻址字段位数少(省空间)3)能访问尽可能大的存储空间4)有利于循环程序设计5)有灵活多变寻址来达到同一目的访问(编程灵活),3.程序在主存中的定位技术1)静态再定位目程序装入主存时,通过调用系统配备的装入程序,把目程序的逻辑地址用软的方法逐一修改成物理地址。静态再定位不利于多道程序的运行环境。2)动态再定位动态再定位的一种方法是设置基址寄存器和地址加法器硬件,在程序装入主存时,只将装入主存的起始地址存入该道程序的基址寄存器中即可,指令的地址字段不作修改。程序在执行过程中,才形成物理地址访存。,基址寻址的方法主要是支持程序的动态再定位。变址寻址则主要是为实现程序的循环,支持向量、数组数据的寻址使用的。动态再定位技术的进一步发展是采用映象表来进行地址的映象和变换,它可以使每个用户在机器上运行比实际主存容量大得多的程序。,3指令系统,能由计算机硬件直接识别的指令为机器指令,所有机器指令的集合为指令系统,不同的机器类型具有不同的指令系统。一、指令主要类型,二、指令格式的优化1.对操作码编码方法1)等长编码每条指令的编码位数相等编码位数L的确定与指令条数N相关。L=log2N例:N=7L=3特点:)编码规整,使控制器译码机构简单。)当指令使用频度不同时,不利于等效平均编码长度的减少,从而不利于信息的传递效率。等长法用于RISC(精简指令系统计算机)中,2)Huffman压缩编码法基本思想)频度高的指令用短码表示。)频度低的指令用较长码表示。Huffman-A方案编码树的绘制要点:*将指令按频度从高到低顺序排列;*在指令线之外找个根结点,并将它与两端指令连接起来形成;*其余指令分别作与频度高的那条边的多条平行线,即形成编码树。,每条指令的使用频度之和为1,即,编码形成编码树上,结点与结点之间,结点与指令之间规则地加0,1。每条指令均从根结点出发,沿最短路径指向指令,依次收集途中数码,即形成编码。特点)在指令的使用频度不相同时,有利于降低信息等效平均编码长度及信息的传送效率。)不同位数编码类型太多,使控制器的译码复杂。,信息等效平均码长L的计算,3)扩展编码法基本思想:即要考虑频度不同时,用不等长编码,又要考虑减少不同位数编码类型,使译码机构不要太复杂,采用多余一位进行扩展。两位扩展)3/3/3方案001100111100013110131111013101110111110,)2/4/8方案00210001010000110014101001110010110011011011018111000111001111100111101,三位扩展)7/7/7方案000111000111111000777110111110111111110,00000000041001000110110111610000000011111101101164000)4/16/64方案100011111000111011,例:某机7条指令使用频度分别为0.45,0.3,0.15,0.05,0.03,0.01,0.01,画Huffman-A方案的树结构,分别用等长法,H-A方案,扩展法进行编码,并分别计算各种方案编码的平均码长。(0.45+0.3+0.15+0.05+0.03+0.01+0.01=1),解:,2关于信息源熵简介1)含义:指信息源中包含的平均信息量。(理论上可以达到的最短平均码长)2)信息源熵H的计算:,3)信息冗余量(操作码的实际平均长度-H)/操作码的实际平均长度,3.多地址指令设计某机指令字长16位,每个地址字段为4位,要求编写11条三地址指令,70条两地址指令,140条单地址指令,其余还能扩展多少条零地址指令,并写出各类指令编码示意图。4444,1)各类指令编码格式三地址指令000011条1010,两地址指令000010111611110000110016111170条000011101611110000111160101,单地址指令000011110110161111140条000011111110121011零地址1111111011000000320条1111111111111111,2)可扩展零地址指令条数计算共可编写多少条三地址:24=16剩余三地址共可扩展多少条两地址:(24-11)*24=5*16=80剩余二地址共可扩展多少条单地址:(24-11)*24-70*24=(80-70)*16=160剩余单地址共可扩展多少条零地址:(24-11)*24-70*24-140*24=(160-140)*16=320,三、指令系统的改进途径1.按CISC(复杂指令系统计算机)方向发展与改进指令系统1)CISC的改进思路按CISC方向发展改进指令系统的出发点是,如何进一步增强原有指令的功能以及设置更为复杂的新指令来取代原先由软件子程序完成的功能,实现软件功能的硬化。它可以从面向机器语言目标程序的优化实现、面向高级语言的优化实现和面向操作系统的优化实现三个方面来改进。,2)面向目标程序的优化实现目标是提高包括系统软件和应用软件在内的各种机器语言目标程序的实现效率,即缩短目标程序的长度,加快目标程序的执行速度,并使实现起来方便可行。a.对使用频度高的指令加速完成,可提高指令的吞吐量。b.对经常出现的程序段,可用一条指令代替。,3)面向高级语言的优化实现目标是缩短高级语言和机器语言的语义差距,这样可以缩短编译程序的长度和节省编译所需的时间。a.对使用频度高的语句,通过增设复合指令来减少辅助操作时间。b.在编译中优化代码生成。c.改进指令系统使之与各种高级语言的语义差距都有共同的减少。d.提供多种指令系统,多种系统结构以适应不同的高级语言。e.发展高级语言计算机。,4)面向OS(操作系统)的优化实现目标是缩短OS与计算机系统结构之间的语义差,减少OS的时间开销和空间开销。a.操作系统的常用指令进行分析改进。b.增设专用于OS的新指令。c.对OS中由软件子程序实现的某些功能进行硬化或固化。d.设置专门的处理机来运行OS,发展功能分布处理系统。,2.按RISC方向发展与改进指令系统1)CISC结构的问题指令系统日趋庞大和复杂,使机器的设计周期延长,成本升高,错误增多,可靠性降低;指令的操作繁杂,使执行速度降低;高级语言源程序的优化编译困难,编译的时空开销增大;指令系统中,约有80的指令使用频度很低,利用率低,因而系统的性能价格比低。(一般软件中简单指令约占总指令数的80%,复杂指令只有约20;简单指令约占总运行时间的20,复杂指令约占总运行时间的80),2)对策a.去掉复杂指令,复杂指令功能由软件实现,可简化电路设计b.去掉微程序,采用硬连控制方法,提高处理器速度c.简单指令有利于流水线执行d.简化电路节省了芯片面积,利于增加Cache容量,3)RISC机器主要特点a.精简指令的条数,使用频度很高的部分指令;b.让指令字等长,所有指令都在一个机器周期执行完;c.寻址方式简单,充分利用寄存器寻址;d.CPU内增加通用寄存器的数目;e.采用重迭寄存器窗口技术,有利于子程序调用时的参数传递;f.访存指令只有Load/Store两种,其它的指令一律只能对寄存器进行操作。,4)设计RISC机器的基本技术按设计RISC机器的一般原则来精选和优化设计指令系统;在CPU内设置大量的寄存器,并采用重叠寄存器组的窗口;指令采用重叠和流水的方式解释,并采用延迟转移;优化设计高质量的编译程序。P84RISCII:138个32位寄存器,其中10个全局8个环形寄存器窗口:6(高)+10(本)+6(低)延迟转移:(流水)在转移指令之后插入一条或几条有效的指令。当程序执行时,要等这些插入的指令执行完成之后,才执行转移指令,因此,转移指令好象被延迟执行了,这种技术称为延迟转移技术。,LOADX,R1ADD2,R1BRANCHLNOPSUBR1,R2L:STORER1,Y,LOADX,R1BRANCHLADD2,R1SUBR1,R2L:STORER1,Y,LOADX,R1ADD2,R1BRANCHLSUBR1,R2L:STORER1,Y,5)RISC的优点简化了指令系统的设计,适合于用VLSI来实现;提高了机器的运行速度和效率;降低了设计成本,提高了系统的可靠性;可以直接高效地支持高级语言的实现,简化了编译程序。6)RISC的问题及发展趋势RISC的问题和不足是:加重了汇编语言程序设计的负担;目标程序所占的存贮空间量可能加大;对浮点运算和虚拟存贮器等的支持还不够强;对编译程序的设计质量要求较高,难度较大。,今后计算机发展改进的总趋势是让RISC和CISC两者互相结合,取长补短。,本章计算绘图类题如下:1.利用描述符描述阵列数据2.已知数学表达式,画出树结构;写出逆波兰表达式3.已知p,m的位数,画出规格化浮点数表(rm=2,4,8,16);计算浮点数的表示范围;数的个数和表示比e。4.已知指令和使用频度能用等长法,H-A方案,扩展法进行编码,并指出所选方案的理由;计算等效码长,确定一种优选编码方案。5.多地址指令设计:已知指令字长和每个地址字段位数及X条三地址,Y条两地址,Z条单地址指令,还可扩展多少条零地址指令;写出各类指令编码方案。,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!