《2022年2022年计算机系统结构-第二章 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年计算机系统结构-第二章 .pdf(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、. 可编辑文本1. 数据类型、数据表示和数据结构之间是什么关系?在设计一个计算机系统时,确定数据表示的原则主要有哪几个?答:略2. 假设有 A 和 B 两种不同类型的处理机, A 处理机中的数据不带标志位,其指令字长和数据字长均为32 位。B 处理机的数据带有标志位,每个数据的字长增加至 36位,其中有 4 位是标志符,它的指令条数由最多256条减少至不到 64条。如果每执行一条指令平均要访问两个操作数,每个存放在存储器中的操作数平均要被访问8 次。对于一个由 1000条指令组成的程序,分别计算这个程序在A 处理机和 B 处理机中所占用的存储空间大小(包括指令和数据),从中得到什么启发?答:我
2、们可以计算出数据的总数量:程序有 1000条指令组成,且每条指令平均要访问两个操作数程序访问的数据总数为: 1000 22000个每个数据平均访问8 次程序访问的不同数据个数为:2000 8250对于 A 处理机,所用的存储空间的大小为:bit4000032250321000MemMemMemdataninstructioA对于 B 处理机,指令字长由32 位变为了 30 位(条数由 256减少到 64) ,这样,所用的存储空间的大小为:bit3900036250301000MemMemMemdataninstructioB名师资料总结 - - -精品资料欢迎下载 - - - - - - -
3、- - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 10 页 - - - - - - - - - . 可编辑文本由此我们可以看出, 由于数据的平均访问次数要大于指令,所以,采用带标志符的数据表示不会增加总的存储空间大小。3. 对于一个字长为 64位的存储器,访问这个存储器的地址按字节编址。假设存放在这个存储器中的数据中有20是独立的字节数据(指与这个字节数据相邻的不是一个字节数据) ,有 30是独立的 16位数据,有 20是独立的 32 位数据,另外 30是独立的 64 位数据;并且规定只能从一个存储字的起始位置开始存放数据。计算这种存储器的存
4、储空间利用率。给出提高存储空间利用率的方法,画出新方法的逻辑框图, 并计算这种方法的存储空间利用率。答:由于全是独立数据,有20%浪费 56 位(7/8) ;30%浪费 48 位(6/8) ;20%浪费 32位(4/8) ;30%浪费 0 位(0/8) 。总共浪费: 0.2 7/80.36/80.24/80.30/80.5即:存储器的存储空间利用率为50%,浪费率为 50%。方案为:数据从地址整数倍位置开始存储,即,双字地址000 结尾,单字地址00结尾,半字地址 0 结尾,字节地址结尾任意。可能出现的各种情况如下:组合存储空间分配利用率1-2-1-2 字节半字字节半字0.2*3/8*2/7*
5、3/8*6B/8B0.006名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 10 页 - - - - - - - - - . 可编辑文本1-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/
6、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/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
7、/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/8B0.0241双字4-8单字0.2*3/8*4B/8B0.05625双字8双字0.3*8B/8B0.3合计0.79224. 一个处理机共有 10条指令,各指令在程序中出现的概率如下表:名师资料总结 - - -精品资料欢迎下载 - - - -
8、 - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 10 页 - - - - - - - - - . 可编辑文本(1) 采用最优 Huffman 编码法(信息熵)计算这10 条指令的操作码最短平均长度。(2) 采用 Huffman 编码法编写这 10条指令的操作码,并计算操作码的平均长度,计算与最优 Huffman 编码法(信息熵)相比的操作码信息冗余量。将得到的操作码编码和计算的结果填入上面的表中。(3) 采用 2/8 扩展编码法编写这10条指令的操作码, 并计算操作码的平均长度,计算与最优 Huffman 编码法相比的操作码信
9、息冗余量。把得到的操作码编码和计算的结果填入上面的表中。(4) 采用 3/7 扩展编码法编写这10条指令的操作码, 并计算操作码的平均长度,计算与最优 Huffman 编码法相比的操作码信息冗余量。把得到的操作码编码和计算的结果填入上面的表中。答:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 10 页 - - - - - - - - - . 可编辑文本采用最优 Huffman 编码法(信息熵)的操作码最短平均长度为:957.2logpHn1ip2ii指令序号出现的概率H
10、uffman 编码法2/8 扩展编码法3/7 扩展编码法I10.25000000I20.20100101I30.15010100010I40.10110100111000I50.080110101011001I60.081110101111010I70.0511111100110110.02 0.03 0.04 0.05 0.08 0.08 0.1 0.15 0.20 0.25 0.05 0.09 0.13 0.17 0.23 0.32 0.43 0.57 1.0 0 0 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 名师资料总结 - - -精品资料欢迎下载 - - - -
11、- - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 10 页 - - - - - - - - - . 可编辑文本I80.0401110110111100I90.03011110111011101I100.02011111111111110操作码的平均长度2.993.13.2操作码的信息冗余量1.1%4.6%7.6%5. 一台模型机共有7 条指令,各指令的使用频度分别是35、25、20、10、5、3、2,有 8 个通用数据寄存器, 2 个变址寄存器。(1) 要求操作码的平均长度最短, 请设计操作码的编码, 并计算所设计操作码的平均长度
12、。(2) 设计 8 位字长的寄存器寄存器型指令3 条,16 位字长的寄存器存储器型变址寻址方式指令4 条,变址范围不小于正、负127。请设计指令格式,并给出各字段的长度和操作码的编码。答:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 10 页 - - - - - - - - - . 可编辑文本要使得到的操作码长度最短,应采用Huffman 编码, Huffman 树构造如下:由此可以得到 7 条指令的编码分别如下:指令号出现的频率编码135%00225%01320%10
13、410%11055%111063%1111072%11111这样, Huffman 编码法得到的操作码的平均长度为:l = 2 (0.35+0.25+0.20) + 3 0.10 + 4 0.05 + 5 (0.03 + 0.02)= 1.6+0.3+0.2+0.25 = 2.350.35 0.25 0.2 0.1 0.05 0.03 0.02 0.05 0.1 0.2 0.4 0.6 1.0 0 1 0 0 0 0 0 1 1 1 1 1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - -
14、 第 7 页,共 10 页 - - - - - - - - - . 可编辑文本设计 8 位字长的寄存器 -寄存器型指令如下:因为只有 8 个通用寄存器,所以寄存器地址需3 位,操作码只有两位,设计格式如下:2 3 3操作码 OP源寄存器 R1目的寄存器 R2三条指令的操作码分别为00、01、10。设计 16位字长的寄存器 -存储器型变址寻址方式指令如下:4 3 1 8操作码 OP通用寄存器变址寄存器偏移地址四条指令的操作码分别为1100 、1101、1110、1111 。6. 某处理机的指令字长为16位,有双地址指令、单地址指令和零地址指令三类,并假设每个地址字段的长度均为6 位。(1) 如果
15、双地址指令有15 条,单地址指令和零地址指令的条数基本相同,问单地址指令和零地址指令各有多少条?并且为这三类指令分配操作码。(2) 如果要求三类指令的比例大致为1:9:9,问双地址指令、单地址指令和零地址指令各有多少条?并且为这三类指令分配操作码。答:双地址指令格式为:4 6 6名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 10 页 - - - - - - - - - . 可编辑文本操作码地址码 1地址码 2单地址指令格式为:10 6操作码地址码零地址指令格式为:16操
16、作码双地址指令 15条,需要 4 位操作码来区分;单地址指令可以使用10-4=6位操作码来区分;零地址指令可以使用16-10=6位操作码来区分。这样,各类型指令的条数为:双地址指令 15条,操作码为: 00001110 ;单地址指令 26-1=63 条,操作码为:1111 000000 1111 111110零地址指令 26=64 条,操作码为:1111 111111 000000 1111 111111 111111假设双地址指令 x 条,则单地址、零地址分别为9x 条:x92x92)x2(664解之即得: x =14双地址指令 14条,操作码为: 00001101 ;留出两个编码用于扩展。
17、单地址指令 (26-1)2 = 126条,操作码为:1110 000000 1110 111110 ,1111 000000 1111 111110名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 10 页 - - - - - - - - - . 可编辑文本零地址指令 126条,操作码为:1110 111111 000000 1110 111111 111110 ,1111 111111 000000 1111 111111 111110名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 10 页 - - - - - - - - -