计算机系统结构(第5讲).ppt
《计算机系统结构(第5讲).ppt》由会员分享,可在线阅读,更多相关《计算机系统结构(第5讲).ppt(109页珍藏版)》请在三一办公上搜索。
1、计算机系统结构(第5讲),计算机系统结构,第一章 基本概念第二章 指令系统第三章 存储系统第四章 输入输出系统第五章 标量处理机,第六章 向量处理机第七章 互连网络第八章 并行处理机和 多处理机,第二章指令系统,指令系统是计算机系统结构的主要组成部分指令系统是软件与硬件分界面的一个主要标志指令系统是软件与硬件之间互相沟通的桥梁指令系统与软件之间的语义差距越来越大,第二章指令系统,2.1 数据表示2.2 寻址技术2.3 指令格式的优化设计2.4 指令系统的功能设计2.5 RISC指令系统,2.1 数据表示新的研究成果,如浮点数基值的选择方法新的数据表示方法,如自定义数据表示2.1.1 数据表示与
2、数据类型2.1.2 浮点数的设计方法2.1.3 自定义数据表示,2.1.1 数据表示与数据类型数据表示的定义:数据表示是指计算机硬件能够直接识别,可以被指令系统直接调用的那些数据类型。定点、逻辑、浮点、十进制、字符、字符串、堆栈和向量数据类型:文件、图、表、树、阵列、队列、链表、栈、向量、串、实数、整数、布尔数、字符等。确定哪些数据类型用数据表示实现,是软件与硬件的取舍问题。,确定数据表示的原则:1.缩短程序的运行时间2.减少CPU与主存储器之间的通信量3.这种数据表示的通用性和利用率数据表示在不断发展如:矩阵、树、图、表及自定义数据表示等,2.1.2 浮点数的设计方法1、浮点数的表示方式一个
3、浮点数N可以用如下方式表示:需要有6个参数来定义。两个数值:m:尾数的值,包括尾数的码制(原码或补码)和数制(小数或整数)e:阶码的值,移码(偏码、增码、译码、余码等)或补码,整数,1.原码、反码、补码(1)x=+10101(2)x=-10101x原=010101 x原=110101x反=010101 x反=101010 x补=010101 x补=101011结论1:对于正数来说,x原=x反=x补即符号位为零,后面加上x的真值。结论2:对于负数来说,x原=1+x的真值x反=1+x的真值的每一位求反x补=1+x的真值的每一位求反,最后一位加1,2.移码十进制值补码移码十进制值补码移码+70111
4、1111-111110111+601101110-211100110+501011101-311010101+401001100-411000100+300111011-510110011+200101010-610100010+100011001-710010001000001000-810000000由x补得到x移的方法是变x补的符号位为其反码。最高一位为符号位,1代表正号,0代表负号。,3浮点数的规格化同一个浮点数的表示不是唯一的。0.5可表示为0.05*101,50*10-2尾数用原码表示,最高位不等于零,称之为规格化数。尾数用补码表示,最高位与符号位不等,称之为规格化数。尾数的符号位
5、表示整个数的正负。阶码的符号位表示把尾数扩大(缩小)N倍。,2.1.2 浮点数的设计方法1、浮点数的表示方式一个浮点数N可以用如下方式表示:需要有6个参数来定义。两个数值:m:尾数的值,包括尾数的码制(原码或补码)和数制(小数或整数)e:阶码的值,移码(偏码、增码、译码、余码等)或补码,整数,两个基值:rm:尾数的基值,2进制、4进制、8进制、16进制和10进制等re:阶码的基值,通常为2两个字长:p:尾数长度,当rm16时,每4个二进制位表示一位尾数q:阶码长度,阶码部分的二进制位数p和q均不包括符号位,浮点数的存储式注:mf为尾数的符号位,ef为阶码的符号位,e为阶码的值,m为尾数的值。2
6、、浮点数的表数范围尾数为原码、小数,阶码用移码、整数时,规格化浮点数N的表数范围:,尾数为补码,而负数区间的表数范围为:浮点数在数轴上的分布情况例2.1:p23,q7,rmre2,尾数用原码、小数表示,阶码用移码、整数表示,求规格化浮点数N的表数范围。,解:规格化浮点数N的表数范围是:例2.3:尾数用补码、小数表示,阶码用移码、整数表示,p6,q6,rm16,re2,求规格化浮点数N表数范围解:规格化浮点数N在正数区间的表数范围是:,在负数区间的表数范围是:,6、浮点数格式的设计定义浮点数表示方式的6个参数的确定原则:尾数:多数机器采用原码、小数表示。采用原码制表示:加减法比补码表示复杂,乘除
7、法比补码简单,表示非常直观。采用小数表示能简化运算,特别是乘除法运算。阶码:一般机器都采用整数、移码表示。采用移码表示的主要原因是:浮点0与机器0一致。阶码进行加减运算时,移码的加减法运算要比补码复杂,尾数的基值rm选择2,阶码的基值re取2,浮点数格式设计的关键问题是:在表数范围和表数精度给定的情况下,如何确定最短的尾数字长p和阶码字长q例2.5:要求设计一种浮点数格式,其表数范围不小于1037,正、负数对称,表数精度不低于10-16。解:根据表数范围的要求:解这个不等式:,取阶码字长q7根据表数精度的要求,得到:解这个不等式:由于浮点数的字长通常为8的倍数,因此,取尾数字长p55,总的字长
8、为1+1+7+55=64,浮点数格式如下:,所设计浮点数格式的主要性能如下:最大尾数值:绝对值最小的尾数值:最大阶码:最小阶码:最大正数:最小正数:,最大负数:最小负数:表数精度:浮点零:浮点零与机器零相同,64位全为0表数效率:采用隐藏位,表数效率=100%,练习题:2.2 2.3 2.5 2.6 2.102.14 2.15,计算机系统结构(第6讲),第二章指令系统,2.1 数据表示2.2 寻址技术2.3 指令格式的优化设计2.4 指令系统的功能设计2.5 RISC指令系统,2.2 寻址技术寻找操作数及其他信息的地址的技术称为寻址技术内容:编址方式、寻址方式和定位方式对象:寄存器、主存储器、
9、堆栈和输入输出设备方法:分析各种寻址技术的优缺点,如何选择和确定寻址技术2.2.1 编址方式2.2.2 寻址方式2.2.3 定位方式重点是寻址方式的选择方法,2.2.1 编址方式编址方式是指对各种存储设备进行编码的方法。主要内容:编址单位、零地址空间个数、并行存储器的编址技术、输入输出设备的编址技术1、编址单位常用的编址单位:字编址、字节编址、位编址、块编址等,编址单位与访问字长一般:字节编址,字访问部分机器:位编址,字访问辅助存储器:块编址字节编址字访问的优缺点有利于信息处理地址信息浪费、存储器空间浪费读写逻辑稍复杂0字节位置引起的问题2、零地址空间个数三个零地址空间:通用寄存器、主存储器和
10、输入输出设备均独立编址,两个零地址空间:主存储器与输入输出设备统一编址一个零地址空间:所有存储设备统一编址,最低端是通用寄存器,最高端是输入输出设备,中间为主存储器隐含编址方式,实际上没有零地址空间:堆栈、Cache等3、输入输出设备的编址一台设备一个地址一台设备两个地址:数据寄存器、状态或控制寄存器,多个需要编址的寄存器共用同一个地址的方法:依靠地址内部来区分,适用于被编址的接口寄存器的长度比较短。“下跟法”隐含编址方式,必须按顺序读写寄存器。一台设备多个地址。对编程增加困难4、并行存储器的编址技术高位交叉编址主要目的是用来扩大存储器容量。低位交叉编址主要目的是提高存储器速度。,2.2.2
11、寻址方式寻址方式:寻找操作数及数据存放单元的方法。主要内容:设计思想和设计方法1、寻址方式的设计思想立即数寻址方式用于数据比较短、源操作数面向寄存器的寻址方式OPCROPCR,ROPCR,R,R,OPCR,M面向主存储器的寻址方式:OPCMOPCM,MOPCM,M,M面向堆栈的寻址方式:OPCOPCM2、间接寻址方式与变址寻址方式的比较目的相同:都是为了解决操作数地址的修改问题,都能做到不改变程序而修改操作数地址原则上,一种处理机中只需设置间址寻址方式与变址寻址方式中的任何一种即可,有些处理机两种寻址方式都设置如何选取间址寻址方式与变址寻址方式?优缺点怎样?例2.7:一个由N个元素组成的数组,
12、已经存放在起始地址为AS的主存连续单元中,现要把它搬到起始地址为AD的主存连续单元中。不必考虑可能出现的存储单元的重叠问题。为了编程简单,采用一般的两地址指令编写程序。,解:用间接寻址方式编写程序如下:start:moveasr,asi;保存源数组的起始地址moveadr,adi;保存目标数组起始地址movenum,cnt;保存数据的个数loop:moveasi,adi;用间址寻址方式传送数据incasi;源数组的地址增量incadi;目标数组的地址增量deccnt;个数减1bgtloop;测试n个数据是否传送完halt;停机asr:as;源数组的起始地址adr:ad;目标数组的起始地址num
13、:n;需要传送的数据个数asi:0;当前正在传送的源数组地址,都能做到不改变程序而修改操作数地址原则上,一种处理机中只需设置间址寻址方式与变址寻址方式中的任何一种即可,有些处理机两种寻址方式都设置如何选取间址寻址方式与变址寻址方式?优缺点怎样?例2.7:一个由N个元素组成的数组,已经存放在起始地址为AS的主存连续单元中,现要把它搬到起始地址为AD的主存连续单元中。不必考虑可能出现的存储单元的重叠问题。为了编程简单,采用一般的两地址指令编写程序。,解:用间接寻址方式编写程序如下:start:moveasr,asi;保存源数组的起始地址moveadr,adi;保存目标数组起始地址movenum,c
14、nt;保存数据的个数loop:moveasi,adi;用间址寻址方式传送数据incasi;源数组的地址增量incadi;目标数组的地址增量deccnt;个数减1bgtloop;测试n个数据是否传送完halt;停机asr:as;源数组的起始地址adr:ad;目标数组的起始地址num:n;需要传送的数据个数asi:0;当前正在传送的源数组地址,adi:0;当前正在传送的源数组地址cnt:0;剩余数据的个数用变址寻址方式编写程序如下:start:moveas,x;源数组起址送变址寄存器movenum,cnt;保存数据个数,保证再入性loop:move(x),ad-as(x);ad-as位地址偏移量,
15、;在汇编时计算incx;增量变址寄存器deccnt;个数减1bgtloop;测试n个数据是否传送完成halt;停机num:n;需要传送的数据个数 cnt:0;剩余数据的个数,主要优缺点比较:采用变址寻址方式编写的程序简单、易读。对于程序员,两种寻址方式的主要差别是:间址寻址方式:间接地址在主存储器中,没有偏移量变址寻址方式:基地址在变址寄存器中,有偏移量实现的难易程度:间址寻址方式容易指令的执行速度:间址寻址方式慢对数组运算的支持:变址寻址方式比较好自动变址:在访问间接地址过程中,地址自动增减,变址与间址混合时,两种方式:前变址寻址方式:EA(X)A)后变址寻址方式:EA(X)(A)3、寄存器
16、寻址主要优点:指令字长短、指令执行速度快、支持向量和矩阵运算主要缺点:不利于优化编译、现场切换困难、硬件复杂4、堆栈寻址方式主要优点:支持高级语言,有利与编译程序;节省存储空间,支持程序的嵌套和递归调用,支持中断处理主要缺点:运算速度比较低,栈顶部分设计成一个高速的寄存器堆2.2.3 定位方式程序的主存物理地址在什么时间确定?采用什么方式来实现?程序需要定位的主要原因:程序的独立性;程序的模块化设计;数据结构在程序运行过程中,其大小往往是变化的;有些程序本身很大,大于分配给它的主存物理空间,直接定位方式:在程序装入主存储器之前,程序中的指令和数据的主存物理就已经确定了的称为直接定位方式。静态定
17、位:在程序装入主存储器的过程中随即进行地址变换,确定指令和数据的主存物理地址的称为静态定位方式。动态定位:在程序执行过程中,当访问到相应的指令或数据时才进行地址变换,确定指令和数据的主存物理地址的称为动态定位 方式。,计算机系统结构(第7讲),第二章指令系统,2.1 数据表示2.2 寻址技术2.3 指令格式的优化设计2.4 指令系统的功能设计2.5 RISC指令系统,2.3 指令格式的优化设计主要目标:节省程序的存储空间指令格式尽量规整,便于译码研究内容:操作码的优化表示;地址码的优化表示2.3.1 指令的组成2.3.2 操作码的优化设计2.3.3 地址码的优化设计2.3.4 指令格式设计举例
18、,2.3.1 指令的组成一般的指令主要由两部分组成:操作码和地址码操作码主要包括两部分内容:操作种类:加、减、乘、除、数据传送、移位、转移、输入输出操作数描述:数据的类型:定点数、浮点数、复数、字符、字符串、逻辑数、向量进位制:2进制、10进制、16进制数据字长:字、半字、双字、字节,地址码通常包括三部分内容:地址:直接地址、间接地址、立即数、寄存器编号、变址寄存器编号地址的附加信息:偏移量、块长度、跳距寻址方式:直接寻址、间接寻址、立即数寻址、变址寻址、相对寻址、寄存器寻址,2.3.2 操作码的优化表示操作码的三种编码方法:固定长度,Huffman编码、扩展编码改进操作码编码方式能够节省程序
19、存储空间,例如:Burroughs公司的B-1700机,2、Huffman编码法1992年由Huffman首先提出操作码的最短平均长度可通过下式计算:其中:Pi表示第i种操作码在程序中出现的概率固定长操作码相对于Huffman操作码的信息冗余量为:,例2.6:假设一台模型计算机共有7种不同的操作码,如果采用固定长操作码需要3位。已知各种操作码在程序中出现的概率如下表,计算采用Huffman编码法的操作码平均长度,并计算固定长操作码和Huffman操作码的信息冗余量。利用Huffman树进行操作码编码的方法,又称为最小概率合并法。,1.把所有指令按照操作码在程序中出现的概率,自左向右从排列好。2
20、.选取两个概率最小的结点合并成一个概率值是二者之和的新结点,并把这个新结点与其它还没有合并的结点一起形成新结点集合。3.在新结点集合中选取两个概率最小的结点进行合并,如此继续进行下去,直至全部结点合并完毕。4.最后得到的根结点的概率值为1。5.每个结点都有两个分支,分别用一位代码“0”和“1”表示。,6.从根结点开始,沿尖头所指方向,到达属于该指令的概率结点,把沿线所经过的代码组合起来得到这条指令的操作码编码。解:采用Huffman编码法所得到的操作码的平均长度0.4510.3020.1530.0540.0350.0160.0161.97(位)采用最优Huffman编码法,操作码的最短平均长度
21、0.451.1520.301.7370.152.7370.054.3220.035.0590.016.6440.016.6441.95(位),采用3位固定长操作码的信息冗余量为:,Huffman编码法的信息冗余量仅为:与3位定长操作码的冗余量35相比要小得多3、扩展编码法Huffman操作码的主要缺点:操作码长度很不规整,硬件译码困难与地址码共同组成固定长的指令比较困难扩展编码法:由固定长操作码与Huffman编码法相结合形成,例如:例2.7改为1-2-3-5扩展编码法,其操作码最短平均长度为:H=0.4510.3020.153(0.050.030.010.01)5=2.00信息冗余量为:又例
22、如:例2.7改为2-4等长扩展编码法,其操作码最短平均长度为:H=(0.450.30+0.15)2+(0.05+0.03+0.01+0.01)4=2.20信息冗余量为:,序号,概率,1-2-3-5扩展编码,I1,0.45,0,I2,0.30,10,I3,0.15,110,I4,0.05,11100,I5,0.03,11101,I6,0.01,11110,I7,0.01,11111,2-4等长扩展编码,00,01,10,1100,1101,1110,1111,平均长度,2.0,2.2,信息冗余量,2.5%,11.4%,7条指令的操作码扩展编码法,操作码编码,说明,000000011110,4位长
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统 结构

链接地址:https://www.31ppt.com/p-6432916.html