计算机系统的体系结构第二章.docx
- 文档编号:28370081
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:10
- 大小:70.48KB
计算机系统的体系结构第二章.docx
《计算机系统的体系结构第二章.docx》由会员分享,可在线阅读,更多相关《计算机系统的体系结构第二章.docx(10页珍藏版)》请在冰豆网上搜索。
计算机系统的体系结构第二章
第2章数据表示与指令系统
1、数据结构和机器的数据表示之间是什么关系?
确定和引入数据表示的基本原则是什么?
答:
数据表示是能由硬件直接识别和引用的数据类型。
数据结构反映各种数据元素或信息单元之间的结构关系。
数据结构要通过软件映象变换成机器所具有的各种数据表示实现,所以数据表示是数据结构的组成元素。
不同的数据表示可为数据结构的实现提供不同的支持,表现在实现效率和方便性不同。
数据表示和数据结构是软件、硬件的交界面。
除基本数据表示不可少外,高级数据表示的引入遵循以下原则:
(1)看系统的效率有否提高,是否养活了实现时间和存储空间。
(2)看引入这种数据表示后,其通用性和利用率是否高。
2、标志符数据表示与描述符数据表示有何区别?
描述符数据表示与向量数据表示对向量数据结构所提供的支持有什么不同?
答:
标志符数据表示指将数据类型与数据本身直接联系在一起,让机器中每个数所都带类型樗位。
其优点是:
(1)简化了指令系统和程序设计;
(2)简化了编译程序;(3)便于实现一致性校验;(4)能由硬件自动变换数据类型;(5)支持数据库系统的实现与数据类型无关;(6)为软件调试和应用软件开发提供支持。
缺点是:
(1)会增加程序所点的主存空间;
(2)在微观上对机器的性能(运算速度)不利。
数据描述符指数据的描述与数据分开存放,描述所访问的数据是整块还是单个的,及访问该数据块或数据元素的地址住处它具备标志符数据表示的优点,并减少了标志符数据表示所占的空间,为向量和数组结构的实现提供支持。
数据描述符方法优于标志符数据表示,数据的描述与数据分开,描述所访问的数据是整块还是单个的,及访问该数据块或数据元素的地址信息,减少了樗符数据表示所占的窨。
用描述符方法实现阵列数据的索引比用变址方法实现要方便,且便于检查出程序中的阵列越界错误。
但它不能解决向量和数组的高速运算问题。
而在有向量、数组数据表示的向量处理机上,硬件上设置有丰富的赂量或阵列运算指令,配有流水或阵列方式处理的高速运算器,不仅能快速形成向量、数组的元素地址,更重要的是便于实现把向量各元素成块预取到中央处理机,用一条向量、数组指令流水或同时对整个向量、数组高速处理.如让硬件越界判断与元素运算并行。
这些比起用与向量、阵列无关的机器语言和数据表示串行实现要高效的多。
3、堆栈型机器与通用寄存器型机器的主要区别是什么?
堆栈型机器系统结构为程序调用的哪些操作提供了支持?
答:
有堆栈数据表示的机器称为堆栈机器。
它与一般通用寄存器型机器不同。
通用寄存器型机器对堆栈数据结构实现的支持是较差的。
表现在:
(1)堆栈操作的指令少,功能单一;
(2)堆栈在存储器内,访问堆栈速度低;(3)堆栈通常只用于保存于程序调用时的返回地址,少量用堆栈实现程序间的参数传递。
而堆栈机器为堆栈数据结构的实现提供有力的支持.表现在:
(1)有高速寄存器组成的硬件堆栈,并与主存中堆栈区在逻辑上组成整体,使堆栈的访问速度是寄存器的,容量是主存的;
(2)丰富的堆栈指令可对堆栈中的数据进行各种运算和处理;(3)有力地支持高级语言的编译;(4)有力地支持子程序的嵌套和递归调用。
堆栈型机器系统结构有力地支持子程序的嵌套和递归调用。
可将以下信息全部压栈,包括:
保存子程序的返回地址,保存条件码,保存关键寄存器内容,保存必要的全局型、局部型参数,为子程序开辟存放局部变量和中间结果的工作区。
4、设某机阶值6位、尾数48位,阶符和数符不在其内,当尾数分别以2、8、16为基时,在非负阶、正尾数、规格化数情况下,求出其最小阶、最大阶、阶的个数、最小尾数值、最大尾数值、可表示的最小值和最大值及可表示的规格化数的总个数。
解:
依题意知:
p=6m''=48rm=2,8,16
lanjing:
lanjing:
5、
(1)浮点数系统使用的阶基rp=2,阶值位数p=2,尾数基值rm=10,以rm为基的尾数位数m''=1,按
照使用的倍数来说,等价于m=4,
试计算在非负阶、正尾数、规格化情况下的最小尾数值、最大尾数值、最大阶值、可表示的最小
值和最大值及可表示数的个数。
(2)对于rp=2,p=2,rm=4,m''=2,重复以上计算。
解:
依题意知列下表:
p=2,rm=10,m''=1p=2,rm=4,m''=2
最小尾数值10^-1=0.14^-1=0.25
最大尾数值1-10^-1=0.91-4^-2=15/16
最大阶值2p^-1=33
可表示的最小值0.10.25
可表示的最大值10^3*0.9=9004^3*15/16=60
可表示数的总个数3648
P.S
不明白题中“按照使用的倍数来说,等价于m=4,”这句话是什么意思,有什么作用呢?
6、由4位数(其中最低位为下溢附加位)经ROM查表舍入法,下溢处理成3位结果,设计使下溢下
处理平均误差接近于零的ROM表,列出ROM编码表地址与内容的对应关系。
解:
地址0000000100100011010001010110011110001001101010111100110111101111
内容000001001010010011011100100101101110110111111111
7、变址寻址和基址寻址各适用于何种场合?
设计一种只用6位地址码就可指向一个大地址空间中
任意64个地址之一的寻址机构。
解:
基址寻址是对逻辑地址空间到物理地址空间变换的支持,以利于实现程序的动态再定位。
变址寻址是对数组等数据块运算的支持,以利于循环。
将大地址空间64个地址分块,用基址寄存器指出程序所在块号,用指令中6位地址码表示该块内64
个地址之一,这样基址和变址相结合可访问大地址任意64个地址之一。
以下摘自南京大学出版社出版,李学干主编的辅导书
变址寻址适合在标量计算机中,通过循环程序访问变址寄存器,修改其变址值来对向量或数组等数据结构中的各元素进行访问和处理。
基址寻址则主要是用于程序的逻辑地址空间到物理地址空间的变换,以支持程序使用动态再定位的技术。
设计一种只用6位地址码就可以指向一个大地址空间中任意64个地址之一的寻址机构,意味着指令中为寻址该操作数的地址码只有6位,只好用来表示这64个地址中的任一个。
那么这64个地址之一应当是在哪个大的地址空间的,就得使用其他办法来指明。
这里可列举常见的两种做法。
一种是采用隐含寻址,让标志这64个地址是相对哪个基点地址的区域用指令隐式规定的某个专门的寄存器中所存放的基址值来给出。
例如,可约定某个变址寄存器或某个基址器。
程序执行时,每当要访存时,就可以经硬件加法器将隐含寄存器的基址值与指令中给出的6位相对位移量相加来形成其访存单元的物理地址。
另一种是规定基点地址就是程序计数器,程序计数器(PC)存放的是当前所执行指令的下一条指令所在主存中的地址(或偏移地址)。
因此,可以通过使用无条件转移指令来修改PC的内容,实现在一个大的地址空间中的访问,这就是所谓的PC自相对寻址。
做法是通过将PC的内容与指令中所提供的6位相对位移量相加来形成主存单元的物理地址。
8.经统计,某机器14条指令的使用频度分别为:
0.01,0.15,0.12,0.03,0.02,0.04,0.02,0.04,0.01,0.13,0.15,0.14,0.11,0.03。
分别求出用等长码、Huffman码、只有两种码长的扩展操作码3种编码方式的操作码平均码长。
解:
等长操作码的平均码长=4位;Huffman编码的平均码长=3.38位;只有两种码长的扩展操作码的平均码长=3.4位。
9.若某机要求:
三地址指令4条,单地址指令255条,零地址指令16条。
设指令字长为12位.每个
地址码长为3位。
问能否以扩展操作码为其编码?
如果其中单地址指令为254条呢?
说明其理由。
答:
①不能用扩展码为其编码。
∵指令字长12位,每个地址码占3位;
∴三地址指令最多是2^(12-3-3-3)=8条,现三地址指令需4条,
∴可有4条编码作为扩展码,
∴单地址指令最多为4×2^3×2^3=2^8=256条,
现要求单地址指令255条,∴可有一条编码作扩展码
∴零地址指令最多为1×2^3=8条
不满足题目要求
∴不可能以扩展码为其编码。
②若单地址指令254条,可以用扩展码为其编码。
∵依据①中推导,单地址指令中可用2条编码作为扩展码
∴零地址指令为2×2^3=16条,满足题目要求
10、某机指令字长16位。
设有单地址指令和双地址指令两类。
若每个地址字段为6位.且双地址指
令有X条。
问单地址指令最多可以有多少条?
答:
双地址指令最多是2^(16-6-6)=2^4=16条,现双地址指令有X条,
∴可有(16-X)条编码作为扩展码,
∴单地址指令最多为(16-X)×2^6
11.何谓指令格式的优化?
简要列举包括操作码和地址码两部分的指令格式优化可采用的各种途径
和思路。
答:
指令格式的优化指如何用最短位数表示指令的操作信息和地址信息,使程序中指令的平均字
长最短。
为此用到Huffman压缩概念。
其基本思想是,当各种事件发生概率不均等时,采用优化技术对
发生概率最高的事件用最短的位数(时间)来表示(处理),而对出现概率较低的事件,允许采用较
长位数(时间)来表示(处理),会导致表示(处理)的平均位数(时间)的缩短。
①用此思想可对操作码进行优化。
首先通过大量已有典型程序进行统计,可得到每种指令在
程序中出现的概率(使用频度)。
然后构造它们的Huffman树。
方法如下:
a)被统计指令按使用频由小到大排列;
b)每次选择其中最小的二个频度合成一个频度是它们二者之和的新结点,并将该结点按频度
大小插到余下的未参与结合的频度值中;
c)如此继续,直至全部频度结合完毕形成根结点。
最后从根结点开始对每个结点的两个分支分别用0、1表示,则到达各频度指令的代码序列就
构成该频度指令的Huffman码。
Huffman码是最优化的编码,但这种编码码长种类太多.不便于译码,不能实用,为此可采用
下面的扩展操作码编码。
扩展操作码编码是介于定长二进制编码和全Huffman编码之间的一种编
码,仍利用Huffman压缩思想,使操作码平均长度缩短。
其操作码长度不定,但只有有限几种码
长,是一种可实用的优化编码方法。
扩展方法应根据指令使用频度pi的分布而定.如pi值在头15
种指令中都比较大,但在30种指令以后急剧减少,则宜选15/15/15法;若pi值在头8种指令中较
大,之后的64种指令pi值也不低时,则宜选8/64/512法。
衡量标准是哪种编码使平均长度最短。
②对地址码的优化:
操作码的优化表示可以使指令总位数减少,但为不降低访存指令的速度.必须维持指令字按
整数边界存储,所以首先应考虑地址码也用可变长.让长操作码与短地址码配合.即使是定长指
令字,也可利用操作码优化腾出的空白。
减少存储空间的浪费。
如果最常用的操作码最短,其地
址码个数越多指令功能越强。
如为实现A+B→C,若采用单地址指令需经取A,加B,送C三条指令
完成,而用了三地址指令只需一条,减少程序占用空间。
其次考虑多种寻址方式在满足很大寻址空间前提下,缩短地址码位数。
如在IBM370中用16位
地址码可通过基址寻址形成24位访存物理地址。
以20位地址码通过基址+变址形成24位访存物理地
址。
还可采用相对寻址,分段存储管理方式。
另外可考虑在同种地址制下的多种地址形式.如让空白处放直接操作数或常数。
12.某模型机9条指令使用频率为:
ADD(加)30%SUB(减)24%JOM(按负转移)6%
STO(存)7%JMP(转移)7%SHR(右移)2%
CIL(循环)3%CLA(清加)20%STP(停机)1%
要求有两种指令字长,都按双操作数指令格式编排,采用扩展操作码,并限制只能有两种操作码码长。
设该机有若干通用寄存器,主存为16位宽,按字节编址,采用按整数边界存储。
任何指令都在一个主存周期中取得,短指令为寄存器-寄存器型,长指令为寄存器-主存型,主存地址应能变址寻址。
(1)仅根据使用频率,不考虑其它要求,设计出全Huffman操作码,计算其平均码长;
(2)考虑题目全部要求,设计优化实用的操作形式,并计算其操作码的平均码长;
(3)该机允许使用多少可编址的通用寄存器?
(4)画出该机两种指令字格式,标出各字段之位数;
(5)指出访存操作数地址寻址的最大相对位移量为多少个字节?
解:
第
(1)和
(2)中Huffman和扩展操作码的编码及平均码长如下表:
指令Ii使用频度PiHuffman编码扩展操作码编码
I130%1000
I224%0001
I320%0110
I47%110011000
I57%110111001
I66%111011010
I73%1111011011
I82%11111011100
I91%11111111101
西个马pili2.612.78
(3)8个。
(4)两种指令格式如下图所示:
2位3位3位
OPR1R2
操作码寄存器1寄存器2
5位3位3位5位
OPR1Xd
操作码寄存器1变址寄存器相对位移
主存逻辑地址
(5)访存操作数地址寻址的最大相对位移量为32个字节。
13.设计RISC机器的一般原则及可采用的基本技术有那些?
答:
一般原则:
(1)确定指令系统时,只选择使用频度很高的指令及少量有效支持操作系统,高级
语言及其它功能的指令;
(2)减少寻址方式种类,一般不超过两种;(3)让所有指令在一个机器周
期内完成;(4)扩大通用寄存器个数,一般不少于32个,尽量减少访存次数;(5)大多数指令用硬
联实现,少数用微程序实现;(6)优化编译程序,简单有效地支持高级语言实现。
基本技术:
(1)按RISC一般原则设计,即确定指令系统时,选最常用基本指令,附以少数对操
作系统等支持最有用的指令,使指令精简。
编码规整,寻址方式种类减少到1、2种。
(2)逻辑实现
用硬联和微程序相结合。
即大多数简单指令用硬联方式实现,功能复杂的指令用微程序实现。
(3)
用重叠寄存器窗口。
即:
为了减少访存,减化寻址方式和指令格式,简单有效地支持高级语言中
的过程调用,在RISC机器中设有大量寄存嚣,井让各过程的寄存器窗口部分重叠。
(4)用流水和延
迟转移实现指令,即可让本条指令执行与下条指令预取在时间上重叠。
另外,将转移指令与其前
面的一条指令对换位置,让成功转移总是在紧跟的指令执行之后发生,使预取指令不作废,节省
一个机器周期。
(5)优化设计编译系统。
即尽力优化寄存器分配,减少访存次数。
不仅要利用常规
手段优化编译,还可调整指令执行顺序,以尽量减少机器周期等。
14.简要比较CISC机器和RISC机器各自的结构特点,它们分别存在哪些不足和问题?
为什么说今后
的发展应是CISC和RISC的结合?
答:
CISC结构特点:
机器指令系统庞大复杂。
RISC结构特点:
机器指令系统简单,规模小,复杂度低。
CISC的问题:
(1)指令系统庞大,一般200条以上;
(2)指令操作繁杂,执行速度很低;
(3)难以优化生成高效机器语言程序,编译也太长,太复杂;
(4)由于指令系统庞大,指令的使用频度不高,降低系统性能价格比,增加设计人员负担。
RISC的问题;
(1)由于指令少,在原CISC上一条指令完成的功能现在需多条RISC指令才能完成,加重汇编语
言程序设计负担,增加了机器语言程序长度,加大指令信息流量。
(2)对浮点运算和虚拟存储支持不很强。
(3)RISC编译程序比CISC难写。
由于RISC和CISC各有优缺点,在设计时,应向着两者结合,取长补短方向发展。
Theskyline:
单地址指令格式:
指令地址
93位
所以前面9位由于三地址指令用了最前面3位,还有中间6位可作为编码(也就是总共可以有9位作为单地址指令的指令操作码的编码)。
减去3地址指令的4条,有4*2^6=256条,
但由于韪目要求要有255条,所以剩下一个编码,已经用了9位的全部编码,最后零地址指令(全部12位都可作为操作码的编码)还有1*2^3=8
(这是12位编码中最后三位的)若只要求254种,则可以有(256-254)*2^3=16条
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统 体系结构 第二
![提示](https://static.bdocx.com/images/bang_tan.gif)