计算机系统结构 第二章(习题解答)_第1页
计算机系统结构 第二章(习题解答)_第2页
计算机系统结构 第二章(习题解答)_第3页
计算机系统结构 第二章(习题解答)_第4页
计算机系统结构 第二章(习题解答)_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1. 数据类型、数据表示和数据结构之间是什么关系?在设计一个计算机系统时,确定数据表示的原则主要有哪几个?答:略2. 假设有A和B两种不同类型的处理机,A处理机中的数据不带标志位,其指令字长和数据字长均为32位。B处理机的数据带有标志位,每个数据的字长增加至36位,其中有4位是标志符,它的指令条数由最多256条减少至不到64条。如果每执行一条指令平均要访问两个操作数,每个存放在存储器中的操作数平均要被访问8次。对于一个由1000条指令组成的程序,分别计算这个程序在A处理机和B处理机中所占用的存储空间大小(包括指令和数据),从中得到什么启发?答:我们可以计算出数据的总数量: 程序有1000条指令

2、组成,且每条指令平均要访问两个操作数程序访问的数据总数为:100022000个 每个数据平均访问8次程序访问的不同数据个数为:20008250对于A处理机,所用的存储空间的大小为:对于B处理机,指令字长由32位变为了30位(条数由256减少到64),这样,所用的存储空间的大小为:由此我们可以看出,由于数据的平均访问次数要大于指令,所以,采用带标志符的数据表示不会增加总的存储空间大小。3. 对于一个字长为64位的存储器,访问这个存储器的地址按字节编址。假设存放在这个存储器中的数据中有20是独立的字节数据(指与这个字节数据相邻的不是一个字节数据),有30是独立的16位数据,有20是独立的32位数据

3、,另外30是独立的64位数据;并且规定只能从一个存储字的起始位置开始存放数据。 计算这种存储器的存储空间利用率。 给出提高存储空间利用率的方法,画出新方法的逻辑框图,并计算这种方法的存储空间利用率。答:由于全是独立数据,有20%浪费56位(7/8);30%浪费48位(6/8);20%浪费32位(4/8);30%浪费0位(0/8)。总共浪费:0.27/80.36/80.24/80.30/80.5即:存储器的存储空间利用率为50%,浪费率为50%。方案为:数据从地址整数倍位置开始存储,即,双字地址000结尾,单字地址00结尾,半字地址0结尾,字节地址结尾任意。可能出现的各种情况如下:组合存储空间分

4、配利用率1-2-1-2字节半字字节半字0.2*3/8*2/7*3/8*6B/8B0.0061-2-1-4字节半字字节0.2*3/8*2/7*2/8*4B/8B0.0028单字1-2-1-8字节半字字节0.2*3/8*2/7*3/8*4B/8B0.004双字1-2-4字节半字单字0.2*3/8*2/7*7B/8B0.018751-2-8字节半字0.2*3/8*3/7*3B/8B0.1205双字1-4字节单字0.2*2/8*5B/8B0.031251-8字节0.2*3/8*1B/8B0.双字2-1-2-1半字字节半字字节0.3*2/7*3/8*2/7*6B/8B0.00692-1-2-4半字字节半

5、字0.3*2/7*3/8*2/7*5B/8B0.0057单字2-1-2-8半字字节半字0.3*2/7*3/8*3/7*5B/8B0.0086双字2-1-4半字字节单字0.3*2/7*2/8*7B/8B0.018752-1-8半字字节0.3*2/7*3/8*3B/8B0.0121双字2-4半字单字0.3*2/7*6B/8B0.06432-8半字0.3*3/7*2B/8B0.0321双字4-1-2单字字节半字0.2*2/8*3/8*7B/8B0.01644-1-4单字字节0.2*2/8*2/8*5B/8B0.0078单字4-1-8单字字节0.2*2/8*3/8*5B/8B0.0117双字4-2-1

6、单字半字字节0.2*3/8*2/7*7B/8B0.018754-2-4单字半字0.2*3/8*2/7*6B/8B0.0161单字4-2-8单字半字0.2*3/8*3/7*6B/8B0.0241双字4-8单字0.2*3/8*4B/8B0.05625双字8双字0.3*8B/8B0.3合 计0.79224. 一个处理机共有10条指令,各指令在程序中出现的概率如下表:(1) 采用最优Huffman编码法(信息熵)计算这10条指令的操作码最短平均长度。(2) 采用Huffman编码法编写这10条指令的操作码,并计算操作码的平均长度,计算与最优Huffman编码法(信息熵)相比的操作码信息冗余量。将得到的

7、操作码编码和计算的结果填入上面的表中。(3) 采用2/8扩展编码法编写这10条指令的操作码,并计算操作码的平均长度,计算与最优Huffman编码法相比的操作码信息冗余量。把得到的操作码编码和计算的结果填入上面的表中。(4) 采用3/7扩展编码法编写这10条指令的操作码,并计算操作码的平均长度,计算与最优Huffman编码法相比的操作码信息冗余量。把得到的操作码编码和计算的结果填入上面的表中。答:0.020.030.040.050.080.080.10.150.200.250.050.090.130.170.230.320.430.571.0001000000011111111采用最优Huffm

8、an编码法(信息熵)的操作码最短平均长度为:指令序号出现的概率Huffman编码法2/8扩展编码法3/7扩展编码法I10.25000000I20.20100101I3040.10110100111000I50.080110101011001I60.081110101111010I70.051111110011011I80.0401110110111100I90.03111011101I100.02111111110操作码的平均长度2.993.13.2操作码的信息冗余量1.1%4.6%7.6%5. 一台模型机共有7条指令,各指令的使用频度分别是35、25、20、10、5

9、、3、2,有8个通用数据寄存器,2个变址寄存器。(1) 要求操作码的平均长度最短,请设计操作码的编码,并计算所设计操作码的平均长度。(2) 设计8位字长的寄存器寄存器型指令3条,16位字长的寄存器存储器型变址寻址方式指令4条,变址范围不小于正、负127。请设计指令格式,并给出各字段的长度和操作码的编码。答:0.350.250.20.10.050.030.020.050.10.20.40.61.0010000011111要使得到的操作码长度最短,应采用Huffman编码,Huffman树构造如下:由此可以得到7条指令的编码分别如下:指令号出现的频率编码135%00225%01320%10410%

10、11055%111063%1111072%11111这样,Huffman编码法得到的操作码的平均长度为:l = 2(0.35+0.25+0.20) + 30.10 + 4 0.05 + 5(0.03 + 0.02)= 1.6+0.3+0.2+0.25 = 2.35设计8位字长的寄存器-寄存器型指令如下:因为只有8个通用寄存器,所以寄存器地址需3位,操作码只有两位,设计格式如下:233操作码OP源寄存器R1目的寄存器R2三条指令的操作码分别为00、01、10。设计16位字长的寄存器-存储器型变址寻址方式指令如下:4318操作码OP通用寄存器变址寄存器偏移地址四条指令的操作码分别为1100、110

11、1、1110、1111。6. 某处理机的指令字长为16位,有双地址指令、单地址指令和零地址指令三类,并假设每个地址字段的长度均为6位。(1) 如果双地址指令有15条,单地址指令和零地址指令的条数基本相同,问单地址指令和零地址指令各有多少条?并且为这三类指令分配操作码。(2) 如果要求三类指令的比例大致为1:9:9,问双地址指令、单地址指令和零地址指令各有多少条?并且为这三类指令分配操作码。答:双地址指令格式为:466操作码地址码1地址码2单地址指令格式为:106操作码地址码零地址指令格式为:16操作码双地址指令15条,需要4位操作码来区分;单地址指令可以使用10-4=6位操作码来区分;零地址指令可以使用16-10=6位操作码来区分。这样,各类型指令的条数为:双地址指令15条,操作码为:00001110;单地址指令26-1=63条,操作码为:1111 1111

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论