资源描述
(word完整版)计算机组成原理课后答案解析(唐朔飞第二版)
第一章 计算机系统概论
1。 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?
解:P3
计算机系统:由计算机硬件系统和软件系统组成的综合体.
计算机硬件:指计算机中的电子线路和物理装置。
计算机软件:计算机运行所需的程序及相关资料。
硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。
5。 冯•诺依曼计算机的特点是什么?
解:冯•诺依曼计算机的特点是:P8
l 计算机由运算器、控制器、存储器、输入设备、输出设备五大部件组成;
l 指令和数据以同同等地位存放于存储器内,并可以按地址访问;
l 指令和数据均用二进制表示;
l 指令由操作码、地址码两大部分组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置;
l 指令在存储器中顺序存放,通常自动顺序取出执行;
l 机器以运算器为中心(原始冯•诺依曼机)。
7. 解释下列概念:
主机、CPU、主存、存储单元、存储元件、存储基元、存储元、存储字、存储字长、存储容量、机器字长、指令字长。
解:P9—10
主机:是计算机硬件的主体部分,由CPU和主存储器MM合成为主机。
CPU:中央处理器,是计算机硬件的核心部件,由运算器和控制器组成;(早期的运算器和控制器不在同一芯片上,现在的CPU内除含有运算器和控制器外还集成了CACHE).
主存:计算机中存放正在运行的程序和数据的存储器,为计算机的主要工作存储器,可随机存取;由存储体、各种逻辑部件及控制电路组成。
存储单元:可存放一个机器字并具有特定存储地址的存储单位。
存储元件:存储一位二进制信息的物理元件,是存储器中最小的存储单位,又叫存储基元或存储元,不能单独存取.
存储字:一个存储单元所存二进制代码的逻辑单位.
存储字长:一个存储单元所存二进制代码的位数。
存储容量:存储器中可存二进制代码的总量;(通常主、辅存容量分开描述).
机器字长:指CPU一次能处理的二进制数据的位数,通常与CPU的寄存器位数有关。
指令字长:一条指令的二进制代码位数.
8。 解释下列英文缩写的中文含义:
CPU、PC、IR、CU、ALU、ACC、MQ、X、MAR、MDR、I/O、MIPS、CPI、FLOPS
解:全面的回答应分英文全称、中文名、功能三部分。
CPU:Central Processing Unit,中央处理机(器),是计算机硬件的核心部件,主要由运算器和控制器组成。
PC:Program Counter,程序计数器,其功能是存放当前欲执行指令的地址,并可自动计数形成下一条指令地址。
IR:Instruction Register,指令寄存器,其功能是存放当前正在执行的指令.
CU:Control Unit,控制单元(部件),为控制器的核心部件,其功能是产生微操作命令序列。
ALU:Arithmetic Logic Unit,算术逻辑运算单元,为运算器的核心部件,其功能是进行算术、逻辑运算。
ACC:Accumulator,累加器,是运算器中既能存放运算前的操作数,又能存放运算结果的寄存器。
MQ:Multiplier-Quotient Register,乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器.
X:此字母没有专指的缩写含义,可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数;
MAR:Memory Address Register,存储器地址寄存器,在主存中用来存放欲访问的存储单元的地址.
MDR:Memory Data Register,存储器数据缓冲寄存器,在主存中用来存放从某单元读出、或要写入某存储单元的数据.
I/O:Input/Output equipment,输入/输出设备,为输入设备和输出设备的总称,用于计算机内部和外界信息的转换与传送.
MIPS:Million Instruction Per Second,每秒执行百万条指令数,为计算机运算速度指标的一种计量单位。
9。 画出主机框图,分别以存数指令“STA M"和加法指令“ADD M”(M均为主存地址)为例,在图中按序标出完成该指令(包括取指令阶段)的信息流程(如→①)。假设主存容量为256M*32位,在指令字长、存储字长、机器字长相等的条件下,指出图中各寄存器的位数。
解:主机框图如P13图1。11所示。
(1)STA M指令:PC→MAR,MAR→MM,MM→MDR,MDR→IR,
OP(IR) →CU,Ad(IR) →MAR,ACC→MDR,MAR→MM,WR
(2)ADD M指令:PC→MAR,MAR→MM,MM→MDR,MDR→IR,
OP(IR) →CU,Ad(IR) →MAR,RD,MM→MDR,MDR→X,ADD,ALU→ACC,ACC→MDR,WR
假设主存容量256M*32位,在指令字长、存储字长、机器字长相等的条件下,ACC、X、IR、MDR寄存器均为32位,PC和MAR寄存器均为28位。
10. 指令和数据都存于存储器中,计算机如何区分它们?
解:计算机区分指令和数据有以下2种方法:
l 通过不同的时间段来区分指令和数据,即在取指令阶段(或取指微程序)取出的为指令,在执行指令阶段(或相应微程序)取出的即为数据.
l 通过地址来源区分,由PC提供存储单元地址的取出的是指令,由指令地址码部分提供存储单元地址的取出的是操作数.
第2章 计算机的发展及应用
1。 通常计算机的更新换代以什么为依据?
答:P22
主要以组成计算机基本电路的元器件为依据,如电子管、晶体管、集成电路等。
2. 举例说明专用计算机和通用计算机的区别。
答:按照计算机的效率、速度、价格和运行的经济性和实用性可以将计算机划分为通用计算机和专用计算机。通用计算机适应性强,但牺牲了效率、速度和经济性,而专用计算机是最有效、最经济和最快的计算机,但适应性很差。例如个人电脑和计算器。
第3章 系统总线
1。 什么是总线?总线传输有何特点?为了减轻总线负载,总线上的部件应具备什么特点?
答:P41.总线是多个部件共享的传输部件。
总线传输的特点是:某一时刻只能有一路信息在总线上传输,即分时使用。
为了减轻总线负载,总线上的部件应通过三态驱动缓冲电路与总线连通。
4. 为什么要设置总线判优控制?常见的集中式总线控制有几种?各有何特点?哪种方式响应时间最快?哪种方式对电路故障最敏感?
答:总线判优控制解决多个部件同时申请总线时的使用权分配问题;
常见的集中式总线控制有三种:链式查询、计数器定时查询、独立请求;
特点:链式查询方式连线简单,易于扩充,对电路故障最敏感;计数器定时查询方式优先级设置较灵活,对故障不敏感,连线及控制过程较复杂;独立请求方式速度最快,但硬件器件用量大,连线多,成本较高.
5. 解释下列概念:总线宽度、总线带宽、总线复用、总线的主设备(或主模块)、总线的从设备(或从模块)、总线的传输周期和总线的通信控制。
答:P46。
总线宽度:通常指数据总线的根数;
总线带宽:总线的数据传输率,指单位时间内总线上传输数据的位数;
总线复用:指同一条信号线可以分时传输不同的信号。
总线的主设备(主模块):指一次总线传输期间,拥有总线控制权的设备(模块);
总线的从设备(从模块):指一次总线传输期间,配合主设备完成数据传输的设备(模块),它只能被动接受主设备发来的命令;
总线的传输周期:指总线完成一次完整而可靠的传输所需时间;
总线的通信控制:指总线传送过程中双方的时间配合方式。
6。 试比较同步通信和异步通信。
答:同步通信:指由统一时钟控制的通信,控制方式简单,灵活性差,当系统中各部件工作速度差异较大时,总线工作效率明显下降。适合于速度差别不大的场合。
异步通信:指没有统一时钟控制的通信,部件间采用应答方式进行联系,控制方式较同步复杂,灵活性高,当系统中各部件工作速度差异较大时,有利于提高总线工作效率.
8。 为什么说半同步通信同时保留了同步通信和异步通信的特点?
答:半同步通信既能像同步通信那样由统一时钟控制,又能像异步通信那样允许传输时间不一致,因此工作效率介于两者之间.
10. 为什么要设置总线标准?你知道目前流行的总线标准有哪些?什么叫plug and play?哪些总线有这一特点?
答:总线标准的设置主要解决不同厂家各类模块化产品的兼容问题;
目前流行的总线标准有:ISA、EISA、PCI等;
plug and play:即插即用,EISA、PCI等具有此功能.
11。 画一个具有双向传输功能的总线逻辑图。
答:在总线的两端分别配置三态门,就可以使总线具有双向传输功能。
12. 设数据总线上接有A、B、C、D四个寄存器,要求选用合适的74系列芯片,完成下列逻辑设计:
(1) 设计一个电路,在同一时间实现D→A、D→B和D→C寄存器间的传送;
(2) 设计一个电路,实现下列操作:
T0时刻完成D→总线;
T1时刻完成总线→A;
T2时刻完成A→总线;
T3时刻完成总线→B。
解:(1)由T打开三态门将 D寄存器中的内容送至总线bus,由cp脉冲同时将总线上的数据打入到 A、B、C寄存器中。 T和cp的时间关系如图(1)所示.
图(1)
(2)三态门1受T0+T1控制,以确保T0时刻D→总线,以及T1时刻总线→接收门1→A。三态门2受T2+T3控制,以确保T2时刻A→总线,以及T3时刻总线→接收门2→B。T0、T1、T2、T3波形图如图(2)所示。
图(2)
3.14 设总线的时钟频率为8MHz,一个总线周期等于一个时钟周期。如果一个总线周期中并行传送16位数据,试问总线的带宽是多少?
解;总线宽度 = 16位/8 =2B 总线带宽 = 8MHz×2B =16MB/s
3.15 在一个32位的总线系统中,总线的时钟频率为66MHz,假设总线最短传输周期为4个时钟周期,试计算总线的最大数据传输率。若想提高数据传输率,可采取什么措施?
解法1: 总线宽度 =32位/8 =4B 时钟周期 =1/ 66MHz =0。015µs
总线最短传输周期 =0.015µs×4 =0.06µs
总线最大数据传输率 = 4B/0。06µs =66.67MB/s
解法2: 总线工作频率 = 66MHz/4 =16。5MHz 总线最大数据传输率=16。5MHz×4B =66MB/s
若想提高总线的数据传输率,可提高总线的时钟频率,或减少总线周期中的时钟个数,或增加总线宽度。
3。16 在异步串行传送系统中,字符格式为:1个起始位、8个数据位、1个校验位、2个终止位。若要求每秒传送120个字符,试求传送的波特率和比特率。
解: 一帧 =1+8+1+2 =12位 波特率 =120帧/秒×12位=1440波特
比特率 = 1440波特×(8/12)=960bps或:比特率 = 120帧/秒×8 =960bps
第 四 章
0。静态RAM与动态RAM的区别
静态RAM(SRAM)速度非常快,只要电源存在内容就不会自动消失.其基本存储电路为6个MOS管组成1位,因此集成度相对较低,功耗也较大。一般高速缓冲存储器用它组成。
动态RAM(DRAM)的内容在10-3或l0-6秒之后自动消失,因此必须周期性的在内容消失之前进行刷新。由于它的基本存储电路由一个晶体管及一个电容组成,因此它的集成度高,成本较低,另外耗电也少,但它需要一个额外的刷新电路。DRAM运行速度较慢,SRAM比DRAM要快2~5倍,一般,PC机的标准存储器都采用DRAM组成.
1。辅助储存的技术的指标
(1)记录密度 Dt=1/p Db=f1/πd(min)
(2)储存容量 C=NKS
(3)平均寻址时间 Ta=Tsa+Twd
(4)数据传输率 Dv=Db*V
(5)误码率
2。Cache的三种映射方式:
(1)直接映射 实现简单,不够灵活。
(2)全相联映射
(3)组相联映射
3。 存储器的层次结构主要体现在什么地方?为什么要分这些层次?计算机如何管理这些层次?
答:存储器的层次结构主要体现在Cache—主存和主存-辅存这两个存储层次上。
Cache-主存层次在存储系统中主要对CPU访存起加速作用,即从整体运行的效果分析,CPU访存速度加快,接近于Cache的速度,而寻址空间和位价却接近于主存。
主存—辅存层次在存储系统中主要起扩容作用,即从程序员的角度看,他所使用的存储器其容量和位价接近于辅存,而速度接近于主存.
综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、容量大、位价低的优化效果.
主存与CACHE之间的信息调度功能全部由硬件自动完成。而主存与辅存层次的调度目前广泛采用虚拟存储技术实现,即将主存与辅存的一部分通过软硬结合的技术组成虚拟存储器,程序员可使用这个比主存实际空间(物理地址空间)大得多的虚拟地址空间(逻辑地址空间)编程,当程序运行时,再由软、硬件自动配合完成虚拟地址空间与主存实际物理空间的转换。因此,这两个层次上的调度或转换操作对于程序员来说都是透明的。
4. 说明存取周期和存取时间的区别。
解:存取周期和存取时间的主要区别是:存取时间仅为完成一次操作的时间,而存取周期不仅包含操作时间,还包含操作后线路的恢复时间。即:
存取周期 = 存取时间 + 恢复时间
5. 什么是存储器的带宽?若存储器的数据总线宽度为32位,存取周期为200ns,则存储器的带宽是多少?
解:存储器的带宽指单位时间内从存储器进出信息的最大数量。
存储器带宽 = 1/200ns ×32位 = 160M位/秒 = 20MB/秒 = 5M字/秒
注意:字长32位,不是16位。(注:1ns=10-9s)
6。 某机字长为32位,其存储容量是64KB,按字编址它的寻址范围是多少?若主存以字节编址,试画出主存字地址和字节地址的分配情况.
解:存储容量是64KB时,按字节编址的寻址范围就是64K,如按字编址,其寻址范围为:
64K / (32/8)= 16K
主存字地址和字节地址的分配情况:(略)。
7。 一个容量为16K×32位的存储器,其地址线和数据线的总和是多少?当选用下列不同规格的存储芯片时,各需要多少片?
1K×4位,2K×8位,4K×4位,16K×1位,4K×8位,8K×8位
解:地址线和数据线的总和 = 14 + 32 = 46根;
选择不同的芯片时,各需要的片数为:
1K×4:(16K×32) / (1K×4) = 16×8 = 128片
2K×8:(16K×32) / (2K×8) = 8×4 = 32片
4K×4:(16K×32) / (4K×4) = 4×8 = 32片
16K×1:(16K×32)/ (16K×1) = 1×32 = 32片
4K×8:(16K×32)/ (4K×8) = 4×4 = 16片
8K×8:(16K×32) / (8K×8) = 2×4 = 8片
9. 什么叫刷新?为什么要刷新?说明刷新有几种方法。
解:刷新:对DRAM定期进行的全部重写过程;
刷新原因:因电容泄漏而引起的DRAM所存信息的衰减需要及时补充,因此安排了定期刷新操作;
常用的刷新方法有三种:集中式、分散式、异步式。
集中式:在最大刷新间隔时间内,集中安排一段时间进行刷新,存在CPU访存死时间。
分散式:在每个读/写周期之后插入一个刷新周期,无CPU访存死时间.
异步式:是集中式和分散式的折衷。
讨论:
1、刷新与再生的比较:
共同点:
•动作机制一样。都是利用DRAM存储元破坏性读操作时的重写过程实现;
•操作性质一样.都是属于重写操作。
区别:
•解决的问题不一样。再生主要解决DRAM存储元破坏性读出时的信息重写问题;刷新主要解决长时间不访存时的信息衰减问题。
•操作的时间不一样。再生紧跟在读操作之后,时间上是随机进行的;刷新以最大间隔时间为周期定时重复进行。
•动作单位不一样.再生以存储单元为单位,每次仅重写刚被读出的一个字的所有位;刷新以行为单位,每次重写整个存储器所有芯片内部存储矩阵的同一行。
•芯片内部I/O操作不一样。读出再生时芯片数据引脚上有读出数据输出;刷新时由于CAS信号无效,芯片数据引脚上无读出数据输出(唯RAS有效刷新,内部读)。鉴于上述区别,为避免两种操作混淆,分别叫做再生和刷新。
2、CPU访存周期与存取周期的区别:
CPU访存周期是从CPU一边看到的存储器工作周期,他不一定是真正的存储器工作周期;存取周期是存储器速度指标之一,它反映了存储器真正的工作周期时间。
3、分散刷新是在读写周期之后插入一个刷新周期,而不是在读写周期内插入一个刷新周期,但此时读写周期和刷新周期合起来构成CPU访存周期.
4、刷新定时方式有3种而不是2种,一定不要忘了最重要、性能最好的异步刷新方式。
10. 半导体存储器芯片的译码驱动方式有几种?
解:半导体存储器芯片的译码驱动方式有两种:线选法和重合法。
线选法:地址译码信号只选中同一个字的所有位,结构简单,费器材;
重合法:地址分行、列两部分译码,行、列译码线的交叉点即为所选单元.这种方法通过行、列译码信号的重合来选址,也称矩阵译码。可大大节省器材用量,是最常用的译码驱动方式.
11. 一个8K×8位的动态RAM芯片,其内部结构排列成256×256形式,存取周期为0.1μs。试问采用集中刷新、分散刷新和异步刷新三种方式的刷新间隔各为多少?
解:采用集中刷新方式刷新间隔为:2ms,其中刷新死时间为:256×0。1μs=25。6μs
采用分散刷新方式刷新间隔为:256×0.1μ=25。6μs
采用异步刷新方式刷新间隔为:2ms
12. 画出用1024×4位的存储芯片组成一个容量为64K×8位的存储器逻辑框图。要求将64K分成4个页面,每个页面分16组,指出共需多少片存储芯片.
解:设采用SRAM芯片,则:
总片数 = (64K×8位) / (1024×4位)= 64×2 = 128片
题意分析:本题设计的存储器结构上分为总体、页面、组三级,因此画图时也应分三级画。首先应确定各级的容量:
页面容量 = 总容量 / 页面数 = 64K×8 / 4 = 16K×8位,4片16K×8字串联成64K×8位
组容量 = 页面容量 / 组数 = 16K×8位 / 16 = 1K×8位,16片1K×8位字串联成16K×8位
组内片数 = 组容量 / 片容量 = 1K×8位 / 1K×4位 = 2片,两片1K×4位芯片位并联成1K×8位
存储器逻辑框图:(略)。
13. 设有一个64K×8位的RAM芯片,试问该芯片共有多少个基本单元电路(简称存储基元)?欲设计一种具有上述同样多存储基元的芯片,要求对芯片字长的选择应满足地址线和数据线的总和为最小,试确定这种芯片的地址线和数据线,并说明有几种解答。
解:存储基元总数 = 64K×8位 = 512K位 = 219位;
思路:如要满足地址线和数据线总和最小,应尽量把存储元安排在字向,因为地址位数和字数成2的幂的关系,可较好地压缩线数。
解:设地址线根数为a,数据线根数为b,则片容量为:2a×b = 219;b = 219—a;
若a = 19,b = 1,总和 = 19+1 = 20;
a = 18,b = 2,总和 = 18+2 = 20;
a = 17,b = 4,总和 = 17+4 = 21;
a = 16,b = 8,总和 = 16+8 = 24;
…… ……
由上可看出:片字数越少,片字长越长,引脚数越多.片字数减1、片位数均按2的幂变化.
结论:如果满足地址线和数据线的总和为最小,这种芯片的引脚分配方案有两种:地址线 = 19根,数据线 = 1根;或地址线 = 18根,数据线 = 2根。
14. 某8位微型机地址码为18位,若使用4K×4位的RAM芯片组成模块板结构的存储器,试问:
(1)该机所允许的最大主存空间是多少?
(2)若每个模块板为32K×8位,共需几个模块板?
(3)每个模块板内共有几片RAM芯片?
(4)共有多少片RAM?
(5)CPU如何选择各模块板?
解:(1)该机所允许的最大主存空间是:218 × 8位 = 256K×8位 = 256KB
(2)模块板总数 = 256K×8 / 32K×8 = 8块
(3)板内片数 = 32K×8位 / 4K×4位 = 8×2 = 16片
(4)总片数 = 16片×8 = 128片
(5)CPU通过最高3位地址译码输出选择模板,次高3位地址译码输出选择芯片。地址格式分配如下:
4。15 设CPU共有16根地址线,8根数据线,并用(低电平有效)作访存控制信号,作读写命令信号(高电平为读,低电平为写)。现有下列存储芯片:ROM(2K×8位,4K×4位,8K×8位),RAM(1K×4位,2K×8位,4K×8位),及74138译码器和其他门电路(门电路自定).试从上述规格中选用合适芯片,画出CPU和存储芯片的连接图。要求:
(1)最小4K地址为系统程序区,4096~16383地址范围为用户程序区;
(2)指出选用的存储芯片类型及数量;
(3)详细画出片选逻辑。
解:(1)地址空间分配图:
系统程序区(ROM共4KB):0000H—0FFFH
用户程序区(RAM共12KB):1000H-FFFFH
(2)选片:ROM:选择4K×4位芯片2片,位并联 RAM:选择4K×8位芯片3片,字串联(RAM1地址范围为:1000H-1FFFH,RAM2地址范围为2000H-2FFFH, RAM3地址范围为:3000H—3FFFH)
(3)各芯片二进制地址分配如下:
A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
ROM1,2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
RAM1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
RAM2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
RAM3
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
CPU和存储器连接逻辑图及片选逻辑如下图(3)所示:
图(3)
16. CPU假设同上题,现有8片8K×8位的RAM芯片与CPU相连,试回答:
(1)用74138译码器画出CPU与存储芯片的连接图;
(2)写出每片RAM的地址范围;
(3)如果运行时发现不论往哪片RAM写入数据后,以A000H为起始地址的存储芯片都有与其相同的数据,分析故障原因.
(4)根据(1)的连接图,若出现地址线A13与CPU断线,并搭接到高电平上,将出现什么后果?
解:(1)CPU与存储器芯片连接逻辑图:
(2)地址空间分配图:
RAM0:0000H-1FFFH
RAM1:2000H-3FFFH
RAM2:4000H-5FFFH
RAM3:6000H—7FFFH
RAM4:8000H-9FFFH
RAM5:A000H—BFFFH
RAM6:C000H-DFFFH
RAM7:E000H-FFFFH
(3)如果运行时发现不论往哪片RAM写入数据后,以A000H为起始地址的存储芯片(RAM5)都有与其相同的数据,则根本的故障原因为:该存储芯片的片选输入端很可能总是处于低电平。假设芯片与译码器本身都是好的,可能的情况有:
1)该片的—CS端与—WE端错连或短路;
2)该片的-CS端与CPU的—MREQ端错连或短路;
3)该片的-CS端与地线错连或短路。
(4)如果地址线A13与CPU断线,并搭接到高电平上,将会出现A13恒为“1”的情况.此时存储器只能寻址A13=1的地址空间(奇数片),A13=0的另一半地址空间(偶数片)将永远访问不到。若对A13=0的地址空间(偶数片)进行访问,只能错误地访问到A13=1的对应空间(奇数片)中去.
17。 写出1100、1101、1110、1111对应的汉明码。
解:有效信息均为n=4位,假设有效信息用b4b3b2b1表示
校验位位数k=3位,(2k〉=n+k+1)
设校验位分别为c1、c2、c3,则汉明码共4+3=7位,即:c1c2b4c3b3b2b1
校验位在汉明码中分别处于第1、2、4位
c1=b4⊕b3⊕b1
c2=b4⊕b2⊕b1
c3=b3⊕b2⊕b1
当有效信息为1100时,c3c2c1=011,汉明码为1110100。
当有效信息为1101时,c3c2c1=100,汉明码为0011101。
当有效信息为1110时,c3c2c1=101,汉明码为1011110.
当有效信息为1111时,c3c2c1=010,汉明码为0110111。
18. 已知收到的汉明码(按配偶原则配置)为1100100、1100111、1100000、1100001,检查上述代码是否出错?第几位出错?
解:假设接收到的汉明码为:c1’c2’b4’c3’b3'b2’b1'
纠错过程如下:
P1=c1’⊕b4’⊕b3’⊕b1’
P2=c2’⊕b4'⊕b2’⊕b1'
P3=c3'⊕b3’⊕b2’⊕b1’
如果收到的汉明码为1100100,则p3p2p1=011,说明代码有错,第3位(b4’)出错,有效信息为:1100
如果收到的汉明码为1100111,则p3p2p1=111,说明代码有错,第7位(b1’)出错,有效信息为:0110
如果收到的汉明码为1100000,则p3p2p1=110,说明代码有错,第6位(b2’)出错,有效信息为:0010
如果收到的汉明码为1100001,则p3p2p1=001,说明代码有错,第1位(c1’)出错,有效信息为:0001
22. 某机字长16位,常规的存储空间为64K字,若想不改用其他高速的存储芯片,而使访存速度提高到8倍,可采取什么措施?画图说明。
解:若想不改用高速存储芯片,而使访存速度提高到8倍,可采取八体交叉存取技术,8体交叉访问时序如下图:
18. 什么是“程序访问的局部性”?存储系统中哪一级采用了程序访问的局部性原理?
解:程序运行的局部性原理指:在一小段时间内,最近被访问过的程序和数据很可能再次被访问;在空间上,这些被访问的程序和数据往往集中在一小片存储区;在访问顺序上,指令顺序执行比转移执行的可能性大 (大约 5:1 )。存储系统中Cache—主存层次采用了程序访问的局部性原理.
25。 Cache做在CPU芯片内有什么好处?将指令Cache和数据Cache分开又有什么好处?
答:Cache做在CPU芯片内主要有下面几个好处:
1)可提高外部总线的利用率.因为Cache在CPU芯片内,CPU访问Cache时不必占用外部总线.
2)Cache不占用外部总线就意味着外部总线可更多地支持I/O设备与主存的信息传输,增强了系统的整体效率。
3)可提高存取速度。因为Cache与CPU之间的数据通路大大缩短,故存取速度得以提高.
将指令Cache和数据Cache分开有如下好处:
1)可支持超前控制和流水线控制,有利于这类控制方式下指令预取操作的完成。
2)指令Cache可用ROM实现,以提高指令存取的可靠性.
3)数据Cache对不同数据类型的支持更为灵活,既可支持整数(例32位),也可支持浮点数据(如64位).
补充:
Cache结构改进的第三个措施是分级实现,如二级缓存结构,即在片内Cache(L1)和主存之间再设一个片外Cache(L2),片外缓存既可以弥补片内缓存容量不够大的缺点,又可在主存与片内缓存间起到平滑速度差的作用,加速片内缓存的调入调出速度。
30。 一个组相连映射的CACHE由64块组成,每组内包含4块。主存包含4096块,每块由128字组成,访存地址为字地址.试问主存和高速存储器的地址各为几位?画出主存地址格式。
解:cache组数:64/4=16 ,Cache容量为:64*128=213字,cache地址13位
主存共分4096/16=256区,每区16块
主存容量为:4096*128=219字,主存地址19位,地址格式如下:
主存字块标记(8位)
组地址(4位)
字块内地址(7位)
32. 设某机主存容量为4MB,Cache容量为16KB,每字块有8个字,每字32位,设计一个四路组相联映象(即Cache每组内共有4个字块)的Cache组织,要求:
(1)画出主存地址字段中各段的位数;
(2)设Cache的初态为空,CPU依次从主存第0、1、2……99号单元读出100个字(主存一次读出一个字),并重复按此次序读8次,问命中率是多少?
(3)若Cache的速度是主存的6倍,试问有Cache和无Cache相比,速度提高多少倍?
答:
(1)由于容量是按字节表示的,则主存地址字段格式划分如下:
8 7 2 3 2
(2)由于题意中给出的字地址是连续的,故(1)中地址格式的最低2位不参加字的读出操作。当主存读0号字单元时,将主存0号字块(0~7)调入Cache(0组x号块),主存读8号字单元时,将1号块(8~15)调入Cache(1组x号块)…… 主存读96号单元时,将12号块(96~103)调入Cache(12组x号块)。
» 共需调100/8 13次,就把主存中的100个数调入Cache.除读第1遍时CPU需访问主存13次外,以后重复读时不需再访问主存。则在800个读操作中:
访Cache次数=(100—13)+700=787次
» 0.98 » Cache命中率=787/800 98%
(3)设无Cache时访主存需时800T(T为主存周期),加入Cache后需时:
(131。167+13)T»T/6+13T´787
144。167T»
5。55倍»则:800T/144.167T
有Cache和无Cache相比,速度提高4.55倍左右。
38. 磁盘组有六片磁盘,每片有两个记录面,存储区域内径22厘米,外径33厘米,道密度为 40道/厘米,内层密度为400位/厘米,转速2400转/分,问:
(1)共有多少存储面可用?
(2)共有多少柱面?
(3)盘组总存储容量是多少?
(4)数据传输率是多少?
解:
(1)若去掉两个保护面,则共有:
6 × 2 — 2 = 10个存储面可用;
(2)有效存储区域
=(33—22)/ 2 = 5.5cm
柱面数 = 40道/cm × 5。5= 220道
=p (3)内层道周长=22 69。08cm
道容量=400位/cm×69.08cm
= 3454B
面容量=3454B × 220道
= 759,880B
盘组总容量 = 759,880B × 10面
= 7,598,800B
(4)转速 = 2400转 / 60秒
= 40转/秒
数据传输率 = 3454B × 40转/秒
= 138,160 B/S
注意:
1)计算盘组容量时一般应去掉上、下保护面;
的精度选取不同将引起答案不同,一般取两位小数;p2)
盘组总磁道数(=一个盘面上的磁道数)¹3)柱面数
4)数据传输率与盘面数无关;
5)数据传输率的单位时间是秒,不是分。
4。39 某磁盘存储器转速为3000转/分,共有4个记录盘面,每毫米5道,每道记录信息12 288字节,最小磁道直径为230mm,共有275道,求:
(1)磁盘存储器的存储容量;
(2)最高位密度(最小磁道的位密度)和最低位密度;
(3)磁盘数据传输率;
(4)平均等待时间.
解: (1)存储容量 = 275道×12 288B/道×4面 = 13 516 800B
(2)最高位密度 = 12 288B/230p≈17B/mm≈136位/mm(向下取整)
最大磁道直径=230mm+275道/5道 × 2= 230mm + 110mm = 340mm
最低位密度 = 12 288B / 340p≈11B/mm≈92位 / mm (向下取整)
(3)磁盘数据传输率= 12 288B × 3000转/分=12 288B × 50转/秒=614 400B/S
(4)平均等待时间 = 1/50 / 2 = 10ms
讨论:1、本题给出的道容量单位为字节,因此算出的存储容量单位也是字节,而不是位;
2、由此算出的位密度单位最终应转换成bpm(位/毫米);
3、平均等待时间是磁盘转半圈的时间,与容量无关。
4。41 设有效信息为110,试用生成多项式G(x) =11011将其编成循环冗余校验码。
解:编码过程如下:
M(x) =110 n =3
G(x) =11011 k+1 =5 k =4
M(x)·x4 =110 0000
M(x)·x4/G(x) =110 0000/11011=100+1100/11011 R(x) =1100
M(x)·x4+R(x) =110 0000+1100=110 1100 =CRC码 (7,3)码
注:此题的G(x)选得不太好,当最高位和最低位出错时,余数相同,均为0001。此时只能检错,无法纠错
第 五 章
展开阅读全文