计算机组成原理 作业二
《计算机组成原理》作业(二)
学完3-5章后可以完成作业(二)。作业总分100分,将作为平时成绩记入课程总成绩。
一、 简答题(每题5分,共20分)
1、 存储器的层次结构主要体现在什么地方?为什么要分这些层次?
答:第一层:通用寄存器堆
第二层:指令与数据缓冲栈 第三层:高速缓冲存储器
第四层:主储存器(DRAM )
第五层:联机外部储存器(硬磁盘机)
第六层:脱机外部储存器(磁带、光盘存储器等)
这就是存储器的层次结构~~~ 主要体现在访问速度~~~
① 设置多个存储器并且使他们并行工作。本质:增添瓶颈部件数目,使它们并行工作,从而减缓固定瓶颈。
② 采用多级存储系统,特别是Cache 技术,这是一种减轻存储器带宽对系统性能影响的最佳结构方案。本质:把瓶颈部件分为多个流水线部件,加大操作时间的重叠、提高速度,从而减缓固定瓶颈。
③ 在微处理机内部设置各种缓冲存储器,以减轻对存储器存取的压力。增加CPU 中寄存器的数量,也可大大缓解对存储器的压力。本质:缓冲技术,用于减缓暂时性瓶颈。
2、 说明存取周期和存取时间的区别?
答: 现代计算机是以内存为中心运行的,内存性能的好坏直接影响整个计算机系统的处理能力。平时所说的内存速度是指它的的存取速度,一般用存储器存取时间和存储周期来表示。
存储器存取时间(memory access time)又称存储器访问时间,是指从启动一次存储器操作到完成该操作所经历的时间。
存储周期(memory cycle time)指连续启动两次独立的存储器操作(例如连续两次读操作)所需间隔的最小时间。
通常,存储周期略大于存取时间,其差别与主存器的物理实现细节有关
3、 什么是存储器的带宽?若存储器的数据总线宽度为32位,存取周期为200ns ,则存储器的带宽是多少?
答: 存储器带宽(memory bandwidth):单位时间里存储器所存取的信息量
体现数据传输速率技术指标 (位/秒,字节/秒)
带宽=(总线频率×数据位宽)÷8
位宽32 频率1000000000/200=50000000=50MHZ 那么带宽=32×50/8=200
4、 什么叫刷新?为什么要刷新?说明刷新有几种方法?
答: 1.刷新: 即更新现有页面
在上网时刷新就会更新网页
刷新桌面就会是桌面图标恢复到整齐的状态,也就是更新桌面 2.为什么要刷新: 加快系统反应
任意地方粘贴类似图表或文件(没有选择自动排序),粘贴好后看见有重合或凌乱的样子,刷新一下,就可以看见图表和文件变的有次序(通熟说:让桌面变干净点)! 部分注册表的项的设置更改了以后,在桌面上刷新一下就就可以生效。 如果桌面上图标比较混乱而你又有排列图标的设置,刷新一下可以重排。 不停地按F5基本可以看出机器的反应速度。 刷新方法:
3. 按F5键,或右键点击桌面空白处后显示选项中可以点击 “刷新”或按“E ”键,浏览网页时页面上不会有一排标准按钮,其中就有刷新按钮
二、 应用题(共80题)
1.(15分)有一个具有20位地址和32位字长的存储器,问:
(1) 该存储器能存储多少个字节的信息?
(2) 如果存储器由512K×8位SRAM 芯片组成,需要多少芯片?
(3) 需要多少位地址作芯片选择?
答: 20位地址线可以直接访问的存储空间为2的20次方,等于1MB; 寻址单元为 1个字节;
2个512K ×8位SRAM 芯片
2芯片使用1位片选就够了,1位就可以表示两个,一个为0,一个为1,片选可以通过一个译码器实现,只有一个输出有效。
2. (20分)用16K×8位的DRAM 芯片组成64K×32位存储器,要求:
(1) 画出该存储器的组成逻辑框图。
(2) 设存储器读/写周期为0.5μS, CPU在1μS内至少要访问一次。试问采用哪种刷新方式比较合理?两次刷新的最大时间间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多少?
3. (15分)CPU 执行一段程序时, cache完成存取的次数为2420次,主存完成存取的次数为80次,已知cache 存储周期为40ns ,主存存储周期为240ns ,求cache/主存系统的效率和平均访问时间。
4.(10分)指令格式结构如下所示,试分析指令格式及寻址方式特点。
解:
指令格式及寻址方式特点如下: ① 单字长二地址指令; ② 操作码OP 可指定=64条指令;
③ RR 型指令,两个操作数均在寄存器中,源和目标都是通用寄存器(可分别指定16个寄
存器
之一);
④ 这种指令格式常用于算术逻辑类指令。
5.(20分)今有4级流水线分别完成取值、指令译码并取数、运算、送结果四步操作,今假设完成各步操作的时间依次为100ns,100ns,80ns,50ns 。
请问:(1)流水线的操作周期应设计为多少?
(2)若相邻两条指令发生数据相关,而且在硬件上不采取措施,那么第二条指
令要推迟多少时间进行。
(3)如果在硬件设计上加以改进,至少需推迟多少时间?
解:
(1) 流水线的操作时钟周期 t应按四步操作中最长时间来考虑, 所以t=100ns;
(2) 两条指令发生数据相关冲突情况:: ADD R1,R2,R3 R2+R3→R1
SUB R4,R1,R5 R1-R5→R4
两条指令在流水线中执行情况如下表所示:
ADD 指令在时钟4时才将结果写入寄存器R1中, 但SUB 指令在时钟3时就需读寄存器R1了,显然发生
数据相关,不能读到所需数据,只能等待。如果硬件上不采取措施, 第2条指令SUB 至少应推迟2个
操作时钟周期,即t=2×100ns=200ns;
(3)如果硬件上加以改进(采取旁路技术), 这样只需推迟1个操作时钟周期就能得到所需数据,
即t=100ns