计算机系统结构习题解答.docx

上传人:scccc 文档编号:13429361 上传时间:2021-12-25 格式:DOCX 页数:11 大小:153.56KB
返回 下载 相关 举报
计算机系统结构习题解答.docx_第1页
第1页 / 共11页
计算机系统结构习题解答.docx_第2页
第2页 / 共11页
计算机系统结构习题解答.docx_第3页
第3页 / 共11页
计算机系统结构习题解答.docx_第4页
第4页 / 共11页
计算机系统结构习题解答.docx_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《计算机系统结构习题解答.docx》由会员分享,可在线阅读,更多相关《计算机系统结构习题解答.docx(11页珍藏版)》请在三一文库上搜索。

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

2、出数据的总数量:?程序有1000 条指令组成,且每条指令平均要访问两个操作数?程序访问的数据总数为:1000 x 2 = 2000 个?每个数据平均访问8 次?程序访问的不同数据个数为:2000-8 = 250对于 A 处理机,所用的存储空间的大小为:Mem a =Mem 联渝 n Mem data "0032 - 25032 =40000 bit对于 B 处理机,指令字长由32 位变为了30 位(条数由256 减少到64),这样,所用的存储空间的大小为:Mem B - Mem instructio n ' Mem data =100030 ' 25036 = 390

3、00 bit由此我们可以看出,由于数据的平均访问次数要大于指令,所以,采用带标志符的数据表示不会增加总的存储空间大小。3. 对于一个字长为64 位的存储器,访问这个存储器的地址按字节编址。假设存放在这个存储器中的数据中有20 %是独立的字节数据(指与这个字节数据相邻的不是一个字节数据),有30%是独立的16 位数据,有20%是独立的 32 位数据,另外30%是独立的64 位数据;并且规定只能从一个存储字的起始位置开始存放数据。 计算这种存储器的存储空间利用率。 给出提高存储空间利用率的方法,画出新方法的逻辑框图,并计算这种方法的存储空间利用率。答:由于全是独立数据,有 20%浪费56位(7/8

4、) ; 30%浪费48位(6/8) ; 20%浪费 32 位(4/8) ; 30% 浪费 0 位(0/8)。总共浪费:0.2X 7/8 + 0.3X 6/8 + 0.2X 4/8+ 0.3X 0/8= 0.5即:存储器的存储空间利用率为50%,浪费率为50%。方案为:数据从地址整数倍位置开始存储,即,双字地址000结尾,单字地址00结尾,半字地址0结尾,字节地址结尾任意 可能出现的各种情况如下:组合存储空间分配利用率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

5、字节半字字节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.009375双字2-1-2-1半字字节半字字节0.3*2/7*3/8*2/7*6B/8B0.00692-1-2-4半字字节半字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

6、/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单字半字字节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/

7、8B0.0241双字4-8单字0.2*3/8*4B/8B0.05625双字8双字0.3*8B/8B0.3合计1 079224. 一个处理机共有10条指令,各指令在程序中出现的概率如下表指令序号出现的概率Hufhrnn 售'2/8扩展编眄法3/7扩取编用也h0,25h0J0h0.15k0,10h0.0Sh0.08h0Q>h0.04h0.03002操作码的平均长度操作码的佰息冗余星 采用最优Huffman编码法(信息嫡)计算这10条指令的操作码最短平均长 度。(2)采用Huffman编码法编写这10条指令的操作码,并计算操作码的平均长度,计算与最优Huffman编码法(信息嫡)相比的

8、操作码信息冗余将得到的操作码编码和计算的结果填入上面的表中。(3)采用2/8扩展编码法编写这10条指令的操作码,并计算操作码的平均长度,计算与最优Huffman编码法相比的操作码信息冗余把得到的操作码编码和计算的结果填入上面的表中(4)采用3/7扩展编码法编写这10条指令的操作码,并计算操作码的平均长度,计算与最优Huffman编码法相比的操作码信息冗余把得到的操作码编码和计算的结果填入上面的表中。答:采用最优Huffman编码法(信息嫡)的操作码最短平均长度为:nP iH 二八 Pi log : 2.957指令序号1出现的概率Huffman编码法2/8扩展编码法”3/7扩展编码法10.250

9、00000I 20.20100101I 30.15010100010I40.101101001 丁11000 I 50.080110101011001I 60.081110101111010j I7 I0.051111110011011 :I 80.0401110110111100I 90.03011110111011101I 100.02011111111111110 操作码的平均长度2.993.13.2操作码的信息冗余M1.1%4.6%7.6%5. 一台模型机共有7条指令,各指令的使用频度分别是 35% 25% 20% 10% 5%3% 2%,有8个通用数据寄存器,2个变址寄存器。(1)要

10、求操作码的平均长度最短,请设计操作码的编码,并计算所设计操作码的平均长度。(2)设计8位字长的寄存器-寄存器型指令3条,16位字长的寄存器-存储器 型变址寻址 方式指令4条,变址范围不小于正、负127。请设计指令格式,并给出各字段的长度 和操作码的编码。要使得到的操作码长度最短,应采用Huffman编码, Huffman树构造如下:1.0由此可以得到7条指令的编码分别如下:指令号出现的频率编码135%00225%01320%10410%11055%111063%1111072%11111这样,Huffman编码法得到的操作码的平均长度为:I = 2 >(0.35+0.25+0.20) +

11、 3 0.1C X+ 4 0.05 + 5 ?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 1101、1110、11116. 莫处理机的指令字长为16位,有双地址指令、单地址指令和零地址指令三类,并假设每个地址字段的长度均为6位。(1)如果双地址指

12、令有15条,单地址指令和零地址指令的条数基本相同,问单 和零地址指令各有多少条?并且为这三类指令分配操作码。(2)如果要求三类指令的比例大致为1: 9: 9,问双地址指令、单地址指令和零令各有多少条?并且为这三类指令分配操作码。格式如地址指令地址指双地址指令格式为466操作码地址码1地址码2单地址指令格式为:106操作码地址码零地址指令格式为16操作码双地址指令15 条,需要4 位操作码来区分;单地址指令可以使用10-4=6 位 操作码来区分;零地址指令可以使用16-10=6 位操作码来区分。这样,各类型指令的条数为:双地址指令15 条,操作码为:00001110单地址指令26-1=63 条,

13、操作码为:1111000000-1111111110零地址指令26=64 条,操作码为:1111 111111000000-1111 111111111111假设双地址指令x 条,则单地址、零地址分别为9x 条:466(2 x- p2 9x2 9x解之即得:x =14?双地址指令14 条,操作码为:0000-1101 ; 留出两个编码用于扩展。单地址指令(26-1) X 2 = 126 条,操作码为:1110000000-1110 11111Q 1111000000-1111 111110零地址指令126 条,操作码为:1110 111111000000-1110 11111111111Q 1111 11111000000-1111 111111111110

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1