计算机组成原理第5章部分习题参考答案(讲)
计算机组成原理第五章答案
计算机组成原理第五章答案1. 概述本文档为计算机组成原理第五章的答案总结,主要涵盖了第五章的核心概念和问题解答。
本章主要讨论了计算机的存储器层次结构和存储管理的相关内容。
2. 存储器层次结构存储器层次结构指的是一系列不同速度、容量和成本的存储设备,按照存储访问时间的大小排列成一种层次结构。
通常由以下几个层次组成:1.高速缓存(Cache):位于CPU内部,容量较小但速度非常快,用来暂时存放从内存中读取的指令和数据。
2.主存储器(Main Memory):位于CPU外部,容量较大但速度相对较慢,用来存放程序运行时需要的指令和数据。
3.辅助存储器(Auxiliary Storage):位于计算机外部,包括硬盘、磁带等设备,容量较大但速度较慢,用来长期存储大量的数据和程序。
4.寄存器(Register):位于CPU内部,容量非常小但速度非常快,用来存储CPU正在执行的指令和数据。
存储器层次结构的设计原则是利用成本较低的存储器来提供更大的容量,同时保证需要最频繁访问的数据能够在速度最快的存储器中找到。
3. 存储管理存储管理是指对计算机中的存储器进行组织和管理的过程,主要包括内存分配、地址映射和存储保护等方面。
3.1 内存分配内存分配是指将程序运行所需的内存空间分配给程序的过程。
常用的内存分配方式包括静态分配和动态分配。
•静态分配:在程序编译或装载时确定程序所需的内存空间大小,并为其分配相应的内存空间。
静态分配的优点是效率高,但缺点是浪费内存资源,不能适应较大程序的需求。
•动态分配:在程序运行时根据需要动态的分配和释放内存空间。
常见的动态分配方式有堆和栈两种方式。
堆分配是通过一些内存管理函数来进行的,栈分配则是通过操作系统提供的栈实现的。
动态分配的优点是灵活性高,适应性强,但容易产生内存泄漏等问题。
3.2 地址映射地址映射是指将程序中的逻辑地址(虚拟地址)转换成物理地址的过程。
常见的地址映射方式有两级映射和页式映射。
计算机组成原理第5章习题参考答案
倍? [解] (1)主存容量为 4MB,按字节编址,主存地址为 22 位,地址格式如下图所示: 区号 (8 位) Cache 的地址格式为 组号 (7 位) 组内块号 (2 位) 块内地址 (5 位) (2)由于每个字块有8个字,故主存第0、1、2、⋯、99号字单元分别在字块0~12 中,但 Cache 起始为空,Cache 与主存是以块为单位交换,所以第一次读时每一块中的 第一个单元没命中,但后面7次每个单元均可以命中 命中率=Nc/(Nc+Nm)=(100-13+7×100)/(8×100)=98.4% (3)设 Cache 的存取周期为 T,则主存的存取周期为6T。 有 Cache 的访存时间=H×Tc+(1-H)×(Tm+Tc)=Tc+(1-H)×Tm =T+(1-98.4%)×6T=1.096T 无 Cache 的访存时间为6T,所以速度提高倍数=6÷1.096=5.47 倍。 5-27 已知采用页式虚拟存储器,某程序中一条指令的虚地址是:000001111111100000。该程 序的页表起始地址是 0011,页面大小1K,页表中有关单元最末四位(实页号)见下表: 组号 (7 位) 组内块号 (2 位) 块内地址 (5 位)
_
A12 0 1 0 1
A11~A0 --------------------
第一组 第二组 第三组 第四组
CS 0 A13 A12 CS1 A13 A12 CS 2 A13 A12
CS 3 A13 A12
存储器的逻辑图如图 1 所示。 5-16.现有如下存储芯片:2K×1 的 ROM、4K×1 的 RAM、8K×1 的 ROM。若用它们组成容量为 16KB 的存储器,前 4KB 为 ROM,后 12KB 为 RAM,CPU 的地址总线 16 位。 (1)各种存储芯片分别用多少片? (2)正确选用译码器及门电路,并画出相应的逻辑结构图。 (3)指出有无地址重叠现象。 [解]: (1) 需要用 2K×1 的 ROM 芯片 16 片,4K×1 的 RAM 芯片 24 片。不能用 8K×1 的 ROM 芯片,因为大于 ROM 应有的空间。 (2) 各存储芯片的地址跟配如下: A15 A14 A13 A12 A11 A10~A0 X X 0 0 0 ----- 2KB ROM X X 0 0 1 ------ 2KB ROM X X 0 1 ----------------- 4KB RAM X X 1 0 ----------------- 4KB RAM X X 1 1 ----------------- 4KB RAM 相应的逻辑结构图如图 2 示。 (3)有地址重叠现象。因为地址线 A15、A14 没有参加译码
计算机组成原理习题答案第五章
对阶之后,尾数相加和相减。
相加:11.011110
+11.100001
10.111111
需右规一次,[X+Y]浮=0110;1.011111
所以X+Y=2110×(-0.100001)
相减:11.011110
+00.011111
11.111101
需左规4次,[X-Y]浮=0001;1.010000
④
15
16
17
18
1911000
11001
11010
11011
1110010101
10110
10111
11000
11001
若A≥5,B≥5,
则+3校正
①和在0~4范围内,不用校正,结果正确。
②和在6~9范围内,当A<5,B<5,需+3校正,而当A<5,B≥5或A≥5,B<5
时,不需校正。故校正函数为:
1/4X补=1.1111001,[4X]补=1.0011000
(4)1.0000111
1/4X补=1.1100001,[4X]补=1.0011100
5.证明在全加器里,进位传递函数P=A i+Bi=Ai⊕Bi。
解:并行加法器中的每一个全加器都有一个从低位送来的进位和一个传送给较高位
的进位。进位表达式为
相加:00.010110
+11 .011000
11.101110
需左规一次,[X+Y]浮=1011;1.011100
所以X+Y=2-101×(-0.100100)
相减:00.010110
+00.101000
00.111110
所以X-Y=2-100×0.111110
(3)X=2-011×0.101100,Y=2-001×(-0.111100)
计算机组成原理第5章部分习题参考答案
第五章部分习题参考答案【5-10】一个1K * 8的存储芯片需要多少根地址线,数据输入输出线?解:n = log1024 = 10 根。
由于一次可读写8位数据,所以需要8根数据输入输出线。
2【5-11】某计算机字长32位,存储容量64KB,按字编址的寻址范围是多少?若主存以字节编址,试画出主存字地址和字节地址的分配情况?解:因为字长32位,所以64KB = 16KW,要表示16K个存储单元,需要14根地址线。
所以按字编址的寻址范围是0000H ~ 3FFFH 。
若按字节编址,假设采用PC机常用的小端方案,则主存示意图如下:【5-13】现有1024×1的存储芯片,若用它组成容量为16K×8的存储器。
试求:(1)实现该存储器所需芯片数量(2)若将这些芯片分装在若干块板上,每块板的容量是4K×8,该存储器所需的地址线的总位数是多少?其中几位用于选板?几位用于选片?几位用作片内地址?解:(1)需要16组来构成16K,共需芯片16×8 = 128片(2)需要的地址线总位数是14位。
因为共需4块板,所以2位用来选板,板内地址12位,片内地址10位。
1每块板的结构如下图24块板共同组成16K×8存储器的结构图【5-15】某半导体存储器容量16K×8,可选SRAM芯片的容量为4K ×4;地址总线A15~A0(A0为最低位),双向数据总线D7~D0,由R/W线控制读写。
设计并画出该存储器的逻辑图,并注明地址分配、片选逻辑和片选信号的极性。
解:注:采用全译码方式方案片内地片A0A1A3A2A8A9A7A6A5A4A12A15A14A13A11A1000000000000000004K111111100001111100001000000000004K10001111111111114K00000000100000001 1 1 1 1 1 1 1 1 1 1 1 0 0 1 00 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 4K11111111111111时分别选定,11,为A1200,0110,,恒为,由以上真值表可知,采用全译码方式,A15A140A13 RAM芯片。
最新计算机组成原理第五章答案
第5章习题参考答案1.请在括号内填入适当答案。
在CPU中:(1)保存当前正在执行的指令的寄存器是(IR );(2)保存当前正在执行的指令地址的寄存器是(AR )(3)算术逻辑运算结果通常放在(DR )和(通用寄存器)。
2.参见图5.15的数据通路。
画出存数指令“STO Rl,(R2)”的指令周期流程图,其含义是将寄存器Rl的内容传送至(R2)为地址的主存单元中。
标出各微操作信号序列。
解:STO R1, (R2)的指令流程图及微操作信号序列如下:STO R1, (R2)R/W=RDR O, G, IR iR2O, G, AR iR1O, G, DR iR/W=W3.参见图5.15的数据通路,画出取数指令“LAD (R3),R0”的指令周期流程图,其含义是将(R3)为地址主存单元的内容取至寄存器R2中,标出各微操作控制信号序列。
解:LAD R3, (R0)的指令流程图及为操作信号序列如下:PC O , G, AR i R/W=R DR O , G, IR iR 3O , G, AR i DR O , G, R 0iR/W=R LAD (R3), R04.假设主脉冲源频率为10MHz ,要求产生5个等间隔的节拍脉冲,试画出时序产生器的逻辑图。
解:5.如果在一个CPU 周期中要产生3个节拍脉冲;T l =200ns ,T 2=400ns ,T 3=200ns ,试画出时序产生器逻辑图。
解:取节拍脉冲T l 、T 2、T 3的宽度为时钟周期或者是时钟周期的倍数即可。
所以取时钟源提供的时钟周期为200ns ,即,其频率为5MHz.;由于要输出3个节拍脉冲信号,而T 3的宽度为2个时钟周期,也就是一个节拍电位的时间是4个时钟周期,所以除了C 4外,还需要3个触发器——C l 、C 2、C 3;并令211C C T *=;321C C T *=;313C C T =,由此可画出逻辑电路图如下:6.假设某机器有80条指令,平均每条指令由4条微指令组成,其中有一条取指微指令是所有指令公用的。
计算机组成原理第五章部分课后题答案
计算机组成原理第五章部分课后题答案常用的I/O编址方式有两种:I/O与内存统一编址和I/O独立编址·I/O与内存统一编址方式的I/O地址采用与主存单元地址完全一样的格式,I/O设备与主存占用同一个地址空间,CPU可像访问主存一样访问I/O设备,不需要安排专门的I/O指令。
·I/O独立编址方式时机器为I/O设备专门安排一套完全不同于主存地址格式的地址编码,此时I/O地址与主存地址是两个独立的空间,CPU需要通过专门的I/O指令来访问I/O地址空间。
I/O设备与主机交换信息时,共有哪几种控制方式?简述它们的特点。
·程序直接控制方式:也称查询方式,采用该方式,数据在CPU和外设间的传送完全靠计算机程序控制,CPU的操作和外围设备操作同步,硬件结构简单,但由于外部设备动作慢,浪费CPU时间多,系统效率低。
·程序中断方式:外设备准备就绪后中断方式猪肚通知CPU,在CPU相应I/O设备的中断请求后,在暂停现行程序的执行,转为I/O 设备服务可明显提高CPU的利用率,在一定程度上实现了主机和I/O设备的并行工作,但硬件结构负载,服务开销时间大·DMA方式与中断方式一样,实现了主机和I/O设备的并行工作,由于DMA 方式直接依靠硬件实现贮存与I/O设备之间的数据传送,传送期间不需要CPU程序干预,CPU可继续执行原来的程序,因此CPU利用率和系统效率比中断方式更高,但DMA方式的硬件结构更为复杂。
比较程序查询方式、程序中断方式和DMA方式对CPU工作效率的影响。
·程序查询方式:主要用于CPU不太忙且传送速度不高的情况下。
无条件传送方式作为查询方式的一个特例,主要用于对简单I/O设备的控制或CPU明确知道外设所处状态的情况下。
·中断方式:主要用于CPU的任务比较忙的情况下,尤其适合实时控制和紧急事件的处理· DMA方式(直接存储器存取方式):主要用于高速外设进行大批量数据传送的场合。
计算机组成原理第五章答案
10. 什么是I/O接口?它与端口有何区别?为 什么要设置I/O接口?I/O接口如何分类? 解: I/O接口一般指CPU和I/O设备间的连 接部件; I/O端口一般指I/O接口中的各种寄存器。 I/O接口和I/O端口是两个不同的概念。一 个接口中往往包含若干个端口,因此接口地址 往往包含有若干个端口地址。
若为输出,除数据传送方向相反以外,其他操作 与输入类似。工作过程如下: 1)CPU发I/O地址地址总线接口设备选择 器译码选中,发SEL信号开命令接收门; 2)输出: CPU通过输出指令(OUT)将数据放 入接口DBR中; 3)CPU发启动命令 D置0,B置1 接口向设 备发启动命令设备开始工作; 4)CPU等待,输出设备将数据从 DBR取走; 5)外设工作完成,完成信号接口 B置0,D 置 1; 6)准备就绪信号控制总线 CPU,CPU可通 过指令再次向接口DBR输出数据,进行第二次传送。
2. 简要说明CPU与I/O之间传递信息可采用 哪几种联络方式?它们分别用于什么场合? 答: CPU与I/O之间传递信息常采用三种联 络方式:直接控制(立即响应)、 同步、异步。 适用场合分别为: 直接控制适用于结构极简单、速度极慢的 I/O设备,CPU直接控制外设处于某种状态而无须 联络信号。 同步方式采用统一的时标进行联络,适用于 CPU与I/O速度差不大,近距离传送的场合。 异步方式采用应答机制进行联络,适用于 CPU与I/O速度差较大、远距离传送的场合。
启动
I/O准备 就绪
DMA请求
数据传送: 响应, 让出一个 MM周期
现行程序
准备下 个数据
现行程序 A
DMA请求 总线请求
就绪
D
B
CPU
DMAC
C
I/O
计算机组成原理第5章习题参考答案讲解
第5章习题参考答案1.请在括号内填入适当答案。
在CPU中:(1)保存当前正在执行的指令的寄存器是(IR );(2)保存当前正在执行的指令地址的寄存器是(AR )(3)算术逻辑运算结果通常放在(DR )和(通用寄存器)。
2.参见图5.15的数据通路。
画出存数指令“STO Rl,(R2)”的指令周期流程图,其含义是将寄存器Rl的内容传送至(R2)为地址的主存单元中。
标出各微操作信号序列。
解:STO R1, (R2)的指令流程图及为操作信号序列如下:STO R1, (R2)R/W=RDR O, G, IR iR2O, G, AR iR1O, G, DR iR/W=W3.参见图5.15的数据通路,画出取数指令“LAD (R3),R0”的指令周期流程图,其含义是将(R3)为地址主存单元的内容取至寄存器R2中,标出各微操作控制信号序列。
解:LAD R3, (R0)的指令流程图及为操作信号序列如下:PC O , G, AR i R/W=R DR O , G, IR iR 3O , G, AR i DR O , G, R 0iR/W=R LAD (R3), R04.假设主脉冲源频率为10MHz ,要求产生5个等间隔的节拍脉冲,试画出时序产生器的逻辑图。
解:5.如果在一个CPU 周期中要产生3个节拍脉冲;T l =200ns ,T 2=400ns ,T 3=200ns ,试画出时序产生器逻辑图。
解:取节拍脉冲T l 、T 2、T 3的宽度为时钟周期或者是时钟周期的倍数即可。
所以取时钟源提供的时钟周期为200ns ,即,其频率为5MHz.;由于要输出3个节拍脉冲信号,而T 3的宽度为2个时钟周期,也就是一个节拍电位的时间是4个时钟周期,所以除了C 4外,还需要3个触发器——C l 、C 2、C 3;并令211C C T *=;321C C T *=;313C C T =,由此可画出逻辑电路图如下:6.假设某机器有80条指令,平均每条指令由4条微指令组成,其中有一条取指微指令是所有指令公用的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五章部分习题参考答案
【5-10】一个1K * 8的存储芯片需要多少根地址线,数据输入输出线?
解:
n = log21024 = 10 根。
由于一次可读写8位数据,所以需要8根数据输入输出线。
【5-11】某计算机字长32位,存储容量64KB,按字编址的寻址范围是多少?若主存以字节编址,试画出主存字地址和字节地址的分配情况?
解:
因为字长32位,所以64KB = 16KW,要表示16K个存储单元,需要14根地址线。
所以按字编址的寻址范围是0000H ~ 3FFFH 。
若按字节编址,假设采用PC机常用的小端方案,则主存示意图如下:
【5-13】现有1024×1的存储芯片,若用它组成容量为16K×8的存储器。
试求:
(1)实现该存储器所需芯片数量
(2)若将这些芯片分装在若干块板上,每块板的容量是4K×8,该存储器所需的地址线的总位数是多少?其中几位用于选板?几位用于选片?几位用作片内地址?
解:
(1)需要16组来构成16K,共需芯片16×8 = 128片
(2)需要的地址线总位数是14位。
因为共需4块板,所以2位用来
选板,板内地址12位,片内地址10位。
每块板的结构如下图
4块板共同组成16K×8存储器的结构图
【5-15】某半导体存储器容量16K×8,可选SRAM芯片的容量为
4K ×4;地址总线A15~A0(A0为最低位),双向数据总线D7~D0,由R/W线控制读写。
设计并画出该存储器的逻辑图,并注明地址分配、片选逻辑和片选信号的极性。
解:
注:采用全译码方式方案
由以上真值表可知,采用全译码方式,A15,A14恒为0,A13,A12为00,01,10,11时分别选定4组不同的4K的RAM芯片。
可以写出片选逻辑表达式
【5-17】用容量为16K×1的DRAM芯片构成64KB的存储器
(1)画出该存储器的结构框图
(2)设存储器的读写周期均为0.5微秒,CPU在1微秒内至少要访存一次,试问采用哪种刷新方式比较合理?相邻两行之间的刷新间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多少?
解:
(1)结构框图如下(若看不清可以从”视图”菜单中调整显示比例)
(2)由于存储器芯片规格为16K×1,所以,其芯片内部的存储矩阵是128×128的存储矩阵。
若采用集中刷新方式,则死区为0.5×128 = 64微秒。
而CPU 1
微秒至少访存一次,长达64微秒的死区显然极为不合理。
若采用分散刷新方式,则需要将系统存取周期增加至1微秒,降低了整机速度,且刷新过于频繁。
所以,应该采用异步刷新方式,假设允许的最大刷新间隔是2ms,则相邻两行刷新间隔为2ms / 128 = 15.625微秒。
全部存储单元刷新一遍实际时间是
0.5 * 128 = 64微秒
【5-18】有一个8位机,采用单总线结构,地址总线16位(A15~A0),数据总线8位(D7~D0),控制总线与主存有关的信号有MREQ(低电平有效允许访存)和R/W(高电平为读命令,低电平为写命令)。
主存地址分配如下:从0~8191为系统程序区,有ROM芯片组成;从8192~32767为用户程序区;最后(最大地址)2K地址空间为系统程序工作区(上述地址均为十进制,按字节编址)。
现有下列存储芯片:8K×8的ROM,16K×1,2K×8,4K×8,8K×8的SRAM。
从上述规格中选用芯片设计该机的存储器,画出主存的连接框图,并注意画出片选逻辑及与CPU的连接。
解:注:该题首先应将十进制的单元数转换成对应的地址空间。
可得系统程序区为0000H~1FFFH(8191)(8K),用户程序区
2000H~7FFFH(24K),程序工作区8000H~87FFH(2K)。
所以,选用8K×8 ROM一片,8K×8 RAM 3片,2K×8 RAM 1片。
由真值表分析可知,可以用A15,A14,A13通过3-8译码器进行片选,由于最后2K空间片内地址只有11位,所以,通过一个或门共同参与片选工作。
连接图如下
【5-19】某半导体存储器容量15KB,其中固化区8KB,可选EPROM 芯片为4K ×8;可选随机读写区7KB,可选SRAM芯片有:4K×4,2K ×4,1K×4.地址总线A15~A0,双向数据总线D7~D0,R/W控制读写,MREQ为低电平时允许存储器工作。
设计并画出该存储器逻辑图,注明地址分配,片选逻辑,片选信号极性等。
解:注:该题采用全译码方案,选用2片4K×8的ROM,2片4K×4的RAM,2片2K×4的RAM,2片1K×4的RAM。
由上表分析可知,A15,A14恒为零,可以通过A13,A12的四个不
同状态,00,01,10,11进行片选,采用全译码方式,片选逻辑如下:
4K的ROM地址是0000H~0FFFH,片选0
CS = 0Y
4K的ROM地址是1000H~1FFFH,片选1
CS = 1Y
4K的RAM地址是2000H~2FFFH,片选2
CS = 2Y
2K的RAM地址是3000H~37FFH,片选3
CS = A11 + 3Y
1K的RAM地址是3800H~3BFFH,片选4
CS = A10 + 11
A + 3Y
EN = MREQ + A14 + A15
连接图如下:2K的RAM片内地址线为A10~A0,1K的RAM的片内地址线为A9~A0,图中未画出。
【5-20】某计算机地址总线16位,访存空间64KB。
外围设备与主存统一编址,I/O空间占用FC00~FFFFH。
现用2164芯片(64K * 1)构成主存储器,设计并画出该存储器逻辑图,并画出芯片地址线,数据线与总线的连接逻辑以及行选信号和列选信号的逻辑式,使访问I/O时不访问主存。
动态刷新逻辑暂不考虑。
解:
I/O空间为1111 1100 0000 0000 ~ 1111 1111 1111 1111.可以看出,A15~A10恒为1.所以,当A15~A10不全为1时为主存的地址空间,此时应产生低电平片选:
CS = A15 * A14 * A13 * A12 * A11 * A10 + MREQ
【5-25】设某计算机主存容量为4MB,Cache容量为16KB,每块包含8个字,每字32位,设计一个4路组相联映像(即Cache每组内有4个块)的Cache组织,要求:
(1)画出主存地址字段中各段的位数
(2)设Cache的初态为空,CPU依次从主存第0,1,2,3, (99)
号单元读出100个字(主存一次读出一个字),并重复按此次序读8次,问命中率是多少?
(3)若Cache的速度是主存的6倍,试问有Cache和无Cache相比,速度提高了多少倍?
解:
(1)主存容量4MB,所以地址共22位。
每块为8×4 = 32字节,所以块内地址是5位。
4块为一组,所以组内块地址是2位。
每组共32×4 = 128字节,Cache为16KB,共16KB / 128B = 128个组。
所以组地址7位。
主存可以分为4MB / 16KB = 256个区。
所以区地址是8位。
(2)分析:由于Cache的初态是空的,所以CPU访问0号字单元时未命中,此时需调入CACHE的0号块,由于Cache每块有8个字,0~7号单元的内容被调入Cache,故后续访问1~7号字单元时命中。
以此类推,主存第0、1、2…、99号字单元分别在
0、1、2….12块中,所以CPU第一遍访问0~99号单元的过程中,每个块第1个单元均不命中,故共有13次未命中。
而第二遍到第八遍访问时由于所有信息均已调入Cache,所以全部命中。
命中率 = (800 - 13) / 800 = 98.375%
(3)设访问一次Cache需要时间为t,则访问一次主存需要时间为6t.
没有Cache时,访问主存需时间6t;有Cache时,访问主存的时间是6t * (1-98.375%),访问Cache 的时间98.375%t,平均的访问时间为:
6t * (1-98.375%) + 98.375%t = 1.08125t
所以,速度提高为: 6t / 1.08125t ≈ 5.5倍。