计算机组成原理---第三章存储系统 习题详解版

文章介绍了内存扩展的两种主要方式——位扩展和字扩展,以及在位扩展中如何通过公用地址线和控制线,分开数据线来实现。同时,文章还讨论了Cache的相关概念,包括命中率、映射方式和组相联Cache的结构。此外,还涉及了存储器设计中的地址格式和容量计算问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

教材:


(一)精选课内习题

知识扩展:

如果主存的容量无法满足 CPU 的需求,可以通过存储器扩展来解决,扩展的方式有两种:

主存的位数不够(相当于快递柜的尺寸太小,放不下大包裹),则可以通过位扩展的方式(快递柜扩容)实现;

主存的字数不够(存储单元的数目不够,相当于快递柜数目太少,放不了太多包裹,则可以通过字扩展的方式实现。

3.1

3.2 

拓展: 

位扩展

当手头芯片每个存储单元所能存储的位数小于我们所需的时,我们需要对其进行位扩展,如将 16k * 4 的芯片扩展为 16k * 8 的内存。

位扩展时地址线与控制线公用,数据线分开连接,cpu 在读写某个存储单元时会同时对多个存储芯片上具有相同地址的多个存储单元进行操作。

接线图样例如下:

字扩展

 

3.3

3.4 cache的命中率

3.5 映射方式

 3.6 一个组相联cache由64个行组成,每组4行主存储器包含4K个块每一块128个字,请表示内存地址的格式。 

组相联有组号:    

3.7有一个处理器,主存容量是1MB,字长1B,块大小16B,cache容量64KB。若cache采用全相联映射,对内存地址(B0010)16给出的相应的标记和字地址。

 3.8

(二)精选课后习题

1.设有一个具有20位地址和32位字长的存储器,问:

(1)该存储器能存储多少个字节的信息?

(2)如果存储器由512k×8位的SRAM 芯片组成,需多少片? 

(3)需多少位地址作芯片选择?

答:

(1) 读题:32位字长为4B,20位地址:2^20 = 1M = 1024K(K=2^10,M=2^20)

              故存储器容量为2^20×4B = 4MB(或者1024K*4),可存储4M字节的信息

(2)读题:由(1)知 该存储器为1024K×32位 ,故需要 (1024K×32位 )/(512k×8位)=8片

 (3) 8 = 2^3,所以需要3根地址进行译码选通。

2.已知某64位机主存采用半导体存储器,其地址码为26位,若使用4M×8位的DRAM芯片组成该机所允许的最大主存空间,并选用内存条结构形式,问:

 (1) 若每个内存条为16M×64位,共需几个内存条?

(2) 每个内存条内共有多少DRAM芯片?

(3) 主存共需多少DRAM芯片? CPU如何选择各内存条?

答:

(1)读题:肯定找比它大的:某64位机主存  其地址码为26位(2^26),M=2^10

(2)每个内存条为16M×64位   4M×8位的DRAM芯片

(3)4*8 =32,多个DRAM芯片组合在同一条内存条上,并使用地址线和控制线来选择不同的芯片。

3.用16K×8位的DRAM芯片构成64K×32位存储器,要求:

(1)画出该存储器的组成逻辑框图。

4.有一个1024K×32位的存储器,由128K×8位的DRAM芯片构成.问:

(1) 总共须要若干DRAM芯片?

(2) 设计此存储体构成框图.

答:

6.用32Kx 8位的E2PROM芯片组成128Kx 16位的只读存储器,试问:

(1)数据寄存器多少位?

(2)地址寄存器多少位?

(3)共需多少个E2PROM芯片?

⑷ 画出此存储器组成框图。

答:(1)(2)前两题均针对128Kx 16位的只读存储器

(4)

9.CPU执行一段程序时, cache完成存取的次数为2420次,主存完成存取的次数为80次,已知cache存储周期为40ns,主存存储周期为240ns,求cache/主存系统的效率和平均访问时间。 

 答:

命中率h=Nc/(Nc+Nm)=2420/(2420+80)=96.8%
平均访问时间ta=htc+(1-h)tm=96.8*40ns+(1-96.8%)*240ns=46.4ns
访问效率e=tc/ta=40ns/46.4ns=86%

10.已知cache存储周期为40ns,主存存取周期为200ns。cache/主存系统平均访问时间为50ns, cache的命中率是 

13.一个组相联Cache由64个行组成,每组4行主存储器包含4K个块,每块128字。请表示内存地址的格式。

答: 

14.有一个处理机,内存容量1MB,字长1B,块大小16B,cache容量64KB,假设cache采用直接映射式,请给出2个不同标记的内存地址,它们映射到同一个cache行.

答:

  内存容量1MB=2^20B,内存地址为20位;字地址:块大小=16B    =>   字地址为4位

Cache共有64KB/16B=2^12个行,行号d为12位,

      采用直接映射方式,所以cache的行号i与主存的块号j之间的关系为:i=j mod m,m为cache的总行数

20位的内存地址格式如下:

tag

行号(d)

字地址

4位

12位

4位

      两个映射到同一个cache行的内存地址满足的条件是:12位的行号一样,而4位的标记不同即可,例如下面的两个内存地址就满足要求:

0000 000000000000 0000=00000H     与

0001 000000000000 0000=10000H

 21.设某系统采用页式虚拟存储管理,页表存放在内存中。

(1) 如果一次内存访问使用50ns,访问一次主存需用多少时间?

(2) 如果增加TLB,忽略查找页表项占用的时间,并且 75%的页表访问命中TLB,内存的有效访问时间是多少?

答:

(1) 若页表存放在主存中,则要实现一次主存访问需两次访问主存:一次是访问页表,确定所存取页面的物理地址;第二次才根据该地址存取页面数据。故访问一次主存的时间为50×2=100(ns)

(2) 75%×50+(1-75%) ×2×50=62.5(ns)

22. 某计算机的存储系统由cache,主存和磁盘构成。 cache 的访问时间为 15ns;如果被访问的单元在主存中但不在 cache 中,需要用 60ns 的时间将其装入 cache, 然后再进行访问;如果被访问的单元不在主存中,则需要 10ms 的时间将其从磁盘中读入主存,然后再装入 cache 中并开始访问。若 cache 的命中率为 90%,主存的命中率为 60%,求该系统中访问一个字的平均时间。

答: 

被访问的字在 cache 中的概率为 0.9

不在 cache 中但在主存中的概率为: (1-0.9)×0.6=0.06

不在 cache 也不在主存中的概率为: (1-0.9)×(1-0.6)=0.04

所以, 一个字的访问时间为:

15×0.9+(15+60)×0.06+(15+60+10×106) ×0.04

=13.5+4.5+400003

=400021(ns)

23.某页式存储管理,页大小为2KB,逻辑地址空间包含 16 页,物理空间共有 8 页,逻辑地址应用多少位?主存物理空间有多大? 

答:

逻辑地址空间包含16页,页大小为2KB,所以逻辑地址空间为32KB,逻辑地址应用4+11=15位(逻辑地址所需的位数可以通过以下计算得出:log2(总字节数) = log2(16 * 2 * 1024) = log2(32768) = 15
物理空间共有8页,页大小为2KB,所以主存物理空间16KB

24.在一个分页虚存系统中,用户虚地址空间为32页,页长1KB,主存物理为16KB。已知用户程序有10页长,若虚页0、1、2、3已经被调入到主存8、7、4、10页中请问虚地址0AC5和1AC5(十六进制)对应的物理地址是多少?

答:

页长1KB,所以页内地址为10位。
主存物理页面数:16页,共14位地址码(其中页面号4位,页内地址10位)
用户虚地址空间:32页,页面号为031;共15位地址码(其中页面号5位,页内地址10位)
0AC5H=00010,1011000101B,页面号为2,已被调入到主存页4,所以,物理地址中的页面号为4,页内地址与虚地址的页内地址相同,所以是:0100,1011000101=12C5H
1AC5H=00110,1011000101B,页面号为6,未被调入到主存页中,所以无物理地址,会发生缺页中断。

计算机组成原理测试题 如:一. 选择题(每选择1分,共20分) 1. 用ASCII码(七)表示字符5和7是 (1) ;按对应的ASCII码值来比较 (2) ;二进制的十进制编码是 (3) 。 (1) A. 1100101和1100111 B. 10100011和01110111 C. 1000101和1100011 D. 0110101和0110111 (2) A.“a”比“b”大 B.“f”比“Q”大 C. 空格比逗号大 D.“H”比“R”大 (3) A. BCD码      B. ASCII码 C. 机内码 D. 二进制编码 2. 运算器由许多部件组成,但核心部件应该是________。 A. 数据总线 B. 数据选择器 C. 算术逻辑运算单元 D 累加寄存器。 3. 对用户来说,CPU 内部有3个最重要的寄存器,它们是 。 A. IR,A,B B. IP,A,F C. IR,IP,B D. IP,ALU,BUS 4. 存储器是计算机系统中的记忆设备,它主要用来 。 A. 存放程序 B. 存放数据 C. 存放微程序 D. 存放程序和数据 5. 完整的计算机系统由 组成。 A. 主机和外部设备 B. 运算器、存储器和控制器 C. 硬件系统和软件系统 D. 系统程序和应用程序 6.计算机操作系统是一种 (1) ,用于 (2) ,是 (3) 的接口。 (1) A. 系统程序 B. 应用程序 C. 用户程序 D. 中间程序 (2) A.编码转换 B. 操作计算机 C. 控制和管理计算机系统的资源 D. 把高级语言程序翻译成机器语言程序 (3) A. 软件和硬件 B. 主机和外设 C. 用户和计算机 D. 高级语言和机器语言机 7.磁盘上的磁道是 (1) ,在磁盘存储器中查找时间是 (2) ,活动头磁盘存储器的平均存取时间是指 (3) ,磁道长短不同,其所存储的数据量 (4) 。 (1) A. 记录密度不同的同心圆 B. 记录密度相同的同心圆 C. 阿基米德螺线 D. 随机同心圆 (2) A. 磁头移动到要找的磁道时间 B. 在磁道上找到扇区的时间 C. 在扇区中找到数据块的时间 D. 以上都不对 (3) A. 平均找道时间 B. 平均找道时间+平均等待时间 C. 平均等待时间 D. 以上都不对 (4) A. 相同 B.长的容量大 C. 短的容量大 D.计算机随机决定 8. 中断向量地址是 。 A.子程序入口地址 B.中断服务子程序入口地址 C.中断服务子程序入口地址指示器 D.剩余程序入口地址 9. 中断允许触发器用来表示 。 A. 外设提出中断请示 B. 响应中断 C.开放或关闭中断系统 D.正在进行中断处理 10.外部设备提出中断请示的条件是 。 A.一个CPU周期结束 B. 外设工作完成和系统允许 C. CPU开放中断系统 D. 总线空闲 11.在3种集中式总线控制中,_______方式响应时间最快,_______方式对电路故障最敏感。 A.链式查询 B. 计数器定时查询 C. 独立请求 12.微程序控制器中,机器指令与微指令的关系是________。 A. 每一条机器指令由一条微指令执行 B. 每一条机器指令由一段用微指令编成的微程序来解释执行 C. 一段机器指令组成的程序可由一条微指令来执行 D. 一条微指令由若干条机器指令组成 二、是非题:(每小题1分,共5分) ( )1. 定点补码运算时,其符号不参加运算。 ( )2. 浮点运算可由阶码运算和尾数运算两部分联合实现。 ( )3. 一般情况下,ROM和RAM在存储体中是统一编址的; ( ) 4. 由于半导体存储器加电后才能存储数据,断电后数据就丢失了,因此,用EPROM做成的存储器,加电后必须重写原来的内容。 ( )5. 与各中断源的中断级别相比较,CPU(或主程序)的级别最高。 三.填空题:(每空1分,共20分) 1.在一个8二进制的机器中,补码表示的整数范围是从 (小)到 (大)。这两个数在机器字中的补码表示为 (小)到 (大)。数0的补码为 。 2.使用高速缓冲存储器是为了解决 题,在执行程序时,必须把 映射到主存储器的 空间上,这个过程称为 。 3.某计算机的存储容量是64 KB,若按字节寻址,则寻址的范围为 ,需要地址线 根,数据线 根,若字长为32,按字编址,寻址的范围 。 4.输入输出的数据传送控制主要有 、 、 和 四种。 5.Neumann计算机属于 驱动方式,数据流计算机属于 驱动方式,归约计算机属于 驱动方式。 四.计算题:(每小题5,共15分) 1.存储器的带宽有何物理意义? 设存储器数据总线宽度为32,存取周期为250ns,这个存储器的带宽是多少? 2.把下列十进制数转换为7字长的二进制数: 17     0.75  3.在8086中SP的初值为2000H,AX=3000H,BX=5000H。试: (1) 执行指令 PUSH AX 后,SP=? (2) 再执行指令 PUSH BX 及 POP AX 后,SP=?,BX=? ,AX=? 并画出堆栈变化示意图。 五.简答与编程题:(第1、2小题每题5分,第3小题10分,共20分) 1. 计算机的运算速度与什么有关?计算机的主存容量与什么有关?计算机的运算精度与什么有关? 2. 绿色计算机有哪些要求? 3.根据以下要求写出相应的8086汇编语言指令。 (1) 把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器中。 (2) 用寄存器BX和S的基址变址寻址方式把存储器中的个字节与AL寄存器的内容相加,并把结果送到AL寄存器中。 (3) 用寄存器BX和偏移量0BF2H的寄存器相对寻址方式把存储器中的一个字和 (CX) 相加并把结果送回存储器中。 (4) 用偏移量为0524H的直接寻址方式把存储器中的一个字与数2A59H相加,并把结果送回该存储单元中。 (5) 把数0B5H与 (AL) 相加,并把结果送回AL中。 六.分析与设计题:(每小题10分,共20分) 1.试用三种基本门组成“异或”门,请画出逻辑电路图。 2.设计一个16K×16芯片成64K×16存储器,: (1)需要几片芯片? (2) 画出组织结图。
由于该存储器需要64Kx32,可以采用4片16Kx8DRAM芯片成,其中每片DRAM芯片需要16K地址线和8数据线。 下面是该存储器的组成逻辑框图: ``` +-------+ +-------+ address lines 0-13 ----------|DRAM 0|------>| | | | | | address lines 14-15 ---> +-------+ | | | | +-------+ +-------+ +-------+ address lines 0-13 ----------|DRAM 1|------>| | | | | | address lines 14-15 ---> +-------+ | | | | +-------+ +-------+ +-------+ address lines 0-13 ----------|DRAM 2|------>| | | | | | address lines 14-15 ---> +-------+ | | | | +-------+ +-------+ +-------+ address lines 0-13 ----------|DRAM 3|------>| | | | | | address lines 14-15 ---> +-------+ | | | | +-------+ +---+ +---+ +---+ +---+ data lines 0-7 ---------->| | | | | | | | +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ data lines 8-15 ---------->| | | | | | | | +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ data lines 16-23 ---------->| | | | | | | | +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ data lines 24-31 ---------->| | | | | | | | +---+ +---+ +---+ +---+ ``` 其中,每个DRAM芯片的地址线0至地址线13连接到存储器地址总线的0至13,地址线14和地址线15输入时序生成器,用于产生DRAM芯片的行地址和列地址信号;每个DRAM芯片8数据输出连接到存储器的数据总线上的8至31。由于每个DRAM芯片8输出是串联在一起的,需要通过一个复用器将字节选通到数据总线上的对应
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尘 关

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值