《计算机组成原理》第四章课后习题解答

本文答案均为网上答案,作者仅将其补全组合在一起,错误之处欢迎指正。


1 .解释下列概念   主存、   辅存、  Cache 、  RAM 、  SRAM 、  DRAM 、  ROM 、  PROM 、  EPROM 、  EEPROM 、  CDROM 、  Flash Memory

答:主存:与  CPU  直接交换信息,用来存放数据和程序的存储器。

辅存:主存的后援存储器,不与  CPU  直接交换信息。

CACHE :为了解决  CPU  和主存的速度匹配,设在主存与  CPU 之间,起缓冲作用,用于提高访存速度的一种存储器。

RAM :随机存储器:是随机存取的,在程序执行过程中既可读出也可写入,存取时间与存储单元所在位置无关。

SRAM :静态  RAM ,以触发器原理存储信息。

DRAM :动态  RAM ,以电容充放电原理存储信息。

ROM :只读存储器,在程序执行过程中只能读出,而不能对其写入。

PROM :一次性编程的只读存储器。

EPROM :可擦除的可编程只读存储器,用紫外线照射进行擦写。

EEPROM :用电可擦除的可编程只读存储器。

CDROM :只读型光盘

Flash Memory :快擦型存储器,是性能价格比好,可靠性高的可擦写非易失型存储器

2 .计算机中哪些部件可用于存储信息,请按其速度、容量和价格 / 位排序说明。

答:寄存器、缓存、主存、磁盘、磁带等。

速度按顺序越来越慢,容量越来越高和价格 / 位越来越低

3 .存储器的层次结构主要体现在什么地方?为什么要分这些层次,计算机如何管理这些层   次?

答:存储器的层次结构主要体现在 Cache— 主存和主存 — 辅存这两个存储层次上。

Cache— 主存层次在存储系统中主要对 CPU 访存起加速作用,即从整体运行的效果分析,接近于 Cache 的速度,而容量和位价却接近于主存。

主存 — 辅存层次在存储系统中主要起扩容作用,其容量和位价接近于辅存,而速度接近于主存

4 .说明存取周期和存取时间的区别。

答:存取周期和存取时间的主要区别是:存取时间仅为完成一次存取操作的时间,而存取周期不仅包含操作时间,还包含操作后线路的恢复时间。即:

存取周期  =  存取时间  +  恢复时间

5 .什么是存储器的带宽?若存储器的数据总线宽度为  32  位,存取周期为  200ns ,则存储器   的带宽是多少?

:存储器的带宽指单位时间内从存储器进出信息的最大数量。

存储器带宽  = 1/200ns × 32 位 = 160M 位 / 秒  = 20MB/S = 5M 字 / 秒

6 .某机字长为  32  位,其存储容量是  64KB ,按字编址它的寻址范围是多少?若主存以字节   编址,试画出主存字地址和字节地址的分配情况。

答:存储容量是 64KB 时,按字节编址的寻址范围就是 64KB ,则:按字寻址范围  = 64K × 8 / 32=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 = 32 片

4K × 8 : 16K × 32 /4K × 8 = 4  ×  4 = 16 片

8K × 8 : 16K × 32 / 8K × 8 = 2X4 = 8 片

8 .试比较静态  RAM  和动态  RAM 。

特性

SRAM

DRAM

存储

触发器

电容

破坏性读出

需要刷新

不要

需要

地址复用

运行速度

集成度

功耗

适用场合

cache

大容量主存

9 .什么叫刷新?为什么要刷新?说明刷新有几种方法。

答:刷新 —— 对 DRAM 定期进行的全部重写过程;

刷新原因 —— 因电容泄漏而引起的 DRAM 所存信息的衰减需要及时补充,因此安排了定期刷新操作;

常用的刷新方法有三种 —— 集中式、分散式、异步式。

集中式:在最大刷新间隔时间内,集中安排一段时间进行刷新;

分散式:在每个读 / 写周期之后插入一个刷新周期,无 CPU 访存死时间;

异步式:是集中式和分散式的折衷

10 .半导体存储器芯片的译码驱动方式有几种?

答:半导体存储器芯片的译码驱动方式有两种:线选法和重合法。

线选法:地址译码信号只选中同一个字的所有位,结构简单,费器材;

重合法:地址分行、列两部分译码,行、列译码线的交叉点即为所选单元。。可大大节省器材用量,是最常用的译码驱动方式

11.  一个 8K × 8 位的动态 RAM 芯片,其内部结构排列成 256×256 形式,存取周期为 0.1µs 。试问采用集中刷新、分散刷新及异步刷新三种方式的刷新间隔各为多少?

答:设 DRAM 的刷新最大间隔时间为 2ms ,

则异步刷新的刷新间隔  =2ms/256 行  =0.0078125ms =7.8125µs

即:每 7.8125µs 刷新一行。

集中刷新时,死时间为 256*0.1us=25.6us 。

分散刷新,刷新间隔 0.2us ,死时间为 0.1us ,读写周期 0.2us

异步刷新,死时间 0.1us ,刷新间隔 7.8125us 。

1 2 .  画出用 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 位  = 2^19 位;

设存储器有 X 根地址线和 Y 根数据线

则有  2^X *Y=2^19

Y=1,X=19 X+Y=20

Y=2,X=18 X+Y=20

Y=4,X=17 X+Y=21

Y=8,X=16    X+Y=24

Y=16,X=15  X+Y=31

Y=32 。。。

由上可看出:片字数越少,片字长越长,引脚数越多。片字数、片位数均按 2 的幂变化。

结论:如果满足地址线和数据线的总和为最小,这种芯片的引脚分配方案有两种:地址线   = 19 根,数据线= 1 根;或地址线= 18根,数据线=2根。

因此,有两种解答, 512K*1 位和 256K*2 位

14 .某  8  位微型机地址码为  18  位,若使用  4K×4  位的  RAM  芯片组成模块板结构的存储器,   试问:   ( 1 )该机所允许的最大主存空间是多少?   ( 2 )若每个模块板为  32K×8  位,共需几个模块板?   ( 3 )每个模块板内共有几片  RAM  芯片?   ( 4 )共有多少片  RAM ?   ( 5 ) CPU  如何选择各模块板?

答:

( 1 ) 218 = 256K ,则该机所允许的最大主存空间是 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 位地址译码选片。地址格式分配如下:

15 .设  CPU  共有  16  根地址线, 8  根数据线,并用  MREQ  (低电平有效)作访存控制信号,  R W  作读写命令信号(高电平为读,低电平为写)。现有下列存储芯片:  ROM ( 2K×8  位, 4K×4  位, 8K×8  位),  RAM ( 1K×4  位, 2K×8  位, 4K×8  位)   及  74138  译码器和其他门电路(门电路自定)。   试从上述规格中选用合适芯片,画出  CPU  和存储芯片的连接图。要求:   ( 1 )最小  4K  地址为系统程序区, 4096~16383  地址范围为用户程序区;   ( 2 )指出选用的存储芯片类型及数量;   ( 3 )详细画出片选逻辑。

答:

( 1 )地址空间分配图如下

A15~A12    A11~A8    A7~A4    A3~A0

0~4K  0 000    0000    0000    0000

0 000    1111    1111    1111

4K~8K  0 001    0000    0000    0000

0 001    1111    1111    1111

8k~12k  0 010    0000    0000    0000

0 010    1111    1111    1111

12k~16k  0 011    0000    0000    0000

0 011    1111    1111    1111

( 2 )选片 ROM : 4K  ×  4 位: 2 片;

RAM :4K  ×  8 位: 3 片;

( 3 ) CPU 和存储器连接逻辑图及片选逻辑

16 .CPU  假设同上题,现有  8  片  8K×8  位的  RAM  芯片与  CPU  相连,试回答:   ( 1 )用  74138  译码器画出  CPU  与存储芯片的连接图;   ( 2 )写出每片  RAM  的地址范围;   ( 3 )如果运行时发现不论往哪片  RAM  写入数据后,以  A000H  为起始地址的存储芯片   都有与其相同的数据,分析故障原因。   ( 4 )根据( 1 )的连接图,若出现地址线  A13  与  CPU  断线,并搭接到高电平上,将出   现什么后果?

答:

( 1 ) CPU 与存储器芯片连接逻辑图:

( 2 )地址空间分配

0000~1FFF 0~8K ;  2000~3fff 8K~16K ;  4000~5fff 16k~24K    6000~7FFF 24k~32k

8000~9FFF 32~40K ; A000~Bfff 40K~48K ;  C000~Dfff 48k~56K    E000~FFFF 56k~64k

( 3 )如果运行时发现不论往哪片 RAM 写入数据后,以 A000H 为起始地址的存储芯片都有与其相同的数据,则根本的故障原因为:该存储芯片的片选输入端很可能总是处于低电 平。可能的情况有:该片的 -CS 端与 -WE 端错连或短路;该片的 -CS 端与 CPU 的 -MREQ 端错连或短路;该片的 -CS 端与地线错连或短路。在此,假设芯片与译码器本身都是好的。

( 4 )如果地址线 A13 与 CPU 断线,并搭接到高电平上,将会出现 A13 恒为 “1” 的情况。此时存储器只能寻址 A13=1 的地址空间, A13=0 的另一半地址空间将永远访问不到。若对 A13=0 的地址空间进行访问,只能错误地访问到 A13=1 的对应空间中去。

17.写出 1100 、 1101 、 1110 、 1111 对应的汉明码。

答:有效信息均为 n=4 位,假设有效信息用 b4b3b2b1 表示

校验位位数 k=3 位,( 2 k >=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= 110,说明代码有错,第6位( b 2 ’ )出错,有效信息为: 1100

如果收到的汉明码为 1100111 ,则 p3p2p1=111 ,说明代码有错,第 7 位( b1’ )出错,有效信息为: 0110

如果收到的汉明码为 1100000 ,则 p3p2p1= 0 1 1,说明代码有错,第3位( b 4 ’ )出错,有效信息为:1 0 0 0

如果收到的汉明码为 1100001 ,则 p3p2p1= 1 0 0,说明代码有错,第4位( c 3 ’ )出错,有效信息为: 0001

19.   已经接收到下列汉明码,分别写出它们所对应的欲传送代码。

( 1 ) 1100000 (按偶性配置)

( 2 ) 1100010 (按偶性配置)

( 3 ) 1101001 (按偶性配置)

( 4 ) 0011001 (按奇性配置)

( 5 ) 1000000 (按奇性配置)

( 6 ) 1110001 (按奇性配置)

答:

(一)假设接收到的汉明码为C1’C2’B4’C3’B3’B2’B1’,按偶性配置则:

P1=C1’ ⊕ B4’ ⊕ B3’ ⊕ B1’

P2=C2’ ⊕ B4’ ⊕ B2’ ⊕ B1’

P3=C3’ ⊕ B3’ ⊕ B1’

(1)如接收到的汉明码为1100000,

P1=1 ⊕ 0 ⊕ 0 ⊕ 0=1

P2=1 ⊕ 0 ⊕ 0 ⊕ 0=1

P3=0 ⊕ 0 ⊕ 0=0

P3P2P1=011,第3位出错,可纠正为1110000,故欲传送的信息为1000。

(2)如接收到的汉明码为1100010,

P1=1 ⊕ 0 ⊕ 0 ⊕ 0=1

P2=1 ⊕ 0 ⊕ 1 ⊕ 0=0

P3=0 ⊕ 0 ⊕ 0=0

P3P2P1=001,第1位出错,可纠正为0100010,故欲传送的信息为0010。

(3)如接收到的汉明码为1101001,

P1=1 ⊕ 0 ⊕ 0 ⊕ 1=0

P2=1 ⊕ 0 ⊕ 0 ⊕ 1=0

P3=1 ⊕ 0 ⊕ 1=0

P3P2P1=000,传送无错,故欲传送的信息为0001。

(二)假设接收到的汉明码为C1’C2’B4’C3’B3’B2’B1’,按奇性配置则:

P1=C1’ ⊕ B4’ ⊕ B3’ ⊕ B1’ ⊕ 1

P2=C2’ ⊕ B4’ ⊕ B2’ ⊕ B1’ ⊕ 1

P3=C3’ ⊕ B3’ ⊕ B1’ ⊕ 1

(4)如接收到的汉明码为0011001,

P1=0 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 1=1

P2=0 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 1=1

P3=1 ⊕ 0 ⊕ 1 ⊕ 1=1

P3P2P1=111,第7位出错,可纠正为0011000,故欲传送的信息为1000。

(5)如接收到的汉明码为1000000,

P1=1 ⊕ 0 ⊕ 0 ⊕ 0 ⊕ 1=0

P2=0 ⊕ 1 ⊕ 0 ⊕ 0 ⊕ 1=0

P3=0 ⊕ 0 ⊕ 0 ⊕ 1=1

P3P2P1=100,第4位出错,可纠正为1001000,故欲传送的信息为0000。

(6)如接收到的汉明码为1110001,

P1=1 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 1=0

P2=1 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 1=0

P3=0 ⊕ 0 ⊕ 1 ⊕ 1=0

P3P2P1=000,传送无错,故欲传送的信息为1001。

20欲传送的二进制代码为 1001101 ,用奇校验来确定其对应的汉明码,若在第 6 位出错,说明纠错过程。

答:

欲传送的二进制代码为 1001101 ,有效信息位数为 n=7 位,则汉明校验的校验位为 k 位,则: 2k>=n+k+1 , k=4 ,进行奇校验设校验位为 C 1 C 2 C 3 C 4 ,汉明码为 C 1 C 2 B 7 C 3 B 6 B 5 B 4 C 4 B 3 B 2 B 1 ,

C1=1 ⊕ B7 ⊕ B6 ⊕ B4 ⊕ B3 ⊕ B1=1 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 1 ⊕ 1=1

C2=1 ⊕ B7 ⊕ B5 ⊕ B4 ⊕ B2 ⊕ B1=1 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 0 ⊕ 1=0

C3=1 ⊕ B6 ⊕ B5 ⊕ B4=1 ⊕ 0 ⊕ 0 ⊕ 1=0

C4=1 ⊕ B3 ⊕ B2 ⊕ B1=1 ⊕ 1 ⊕ 0 ⊕ 1=1

故传送的汉明码为 10100011101 ,若第 6 位 (B 5 ) 出错,即接收的码字为 10100111101 ,则

P1=1 ⊕ C1’ ⊕ B7’ ⊕ B6’ ⊕ B4’ ⊕ B3’ ⊕ B1’=1 ⊕ 1 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 1 ⊕ 1=0

P2=1 ⊕ C2’ ⊕ B7’ ⊕ B5’ ⊕ B4’ ⊕ B2’ ⊕ B1’=1 ⊕ 0 ⊕ 1 ⊕ 1 ⊕ 1 ⊕ 0 ⊕ 1=1

P3=1 ⊕ C3’ ⊕ B6’ ⊕ B5’ ⊕ B4’=1 ⊕ 0 ⊕ 0 ⊕ 1 ⊕ 1=1

P4=1 ⊕ C4’ ⊕ B3’ ⊕ B2’ ⊕ B1’=1 ⊕ 1 ⊕ 1 ⊕ 0 ⊕ 1=0

P4P3P2P1=0110 说明第 6 位出错,对第 6 位取反即完成纠错。

21.为什么在汉明码纠错过程中,新的检测位 P4P2P1 的状态即指出了编码中错误的信息位?

答:汉明码属于分组奇偶校验, P 4 P 2 P 1 =000 ,说明接收方生成的校验位和收到的校验位相同,否则不同说明出错。由于分组时校验位只参加一组奇偶校验,有效信息参加至少两组奇偶校验,如果校验位出错, P 4 P 2 P 1 的某一位将为 1 ,刚好对应位号 4 、 2 、 1 ;如果有效信息出错,将引起 P 4 P 2 P 1 中至少两位为 1 ,如 B 1 出错,将使 P 4  P 2 P 1 均为 1 ,  P 4 P 2 P 1 =111,

22 .某机字长  16  位,常规的存储空间为  64K  字,若想不改用其他高速的存储芯片,而使访   存速度提高到  8  倍,可采取什么措施?画图说明。

解:若想不改用高速存储芯片,而使访存速度提高到 8 倍,可采取八体交叉存取技术, 8 体交叉访问时序如下图:

线路图如下图:

23.   设 CPU 共有 16 根 地址线, 8 根 数据线,并用 M/-IO 作为访问存储器或 I/O 的控制信号(高电平为访存,低电平为访 I/O) , -WR (低电平有效)为写命令, -RD (低电平有效)为读命令。设计一个容量为 64KB 的采用低位 交叉编址 的 8 体并行 结构存储器。现有右图所示的存储芯片及 138 译码器 。

画出 CPU 和存储芯片(芯片容量自定)的 连接图 ,并写出图中每个存储芯片的 地址范围 (用十六进制数表示)。

答:

芯片容量 =64KB/8= 8KB
  每个芯片(体)的地址范围 以 8 为模 低位交叉分布如下:

方案 1 : 8 体 交叉编址 的 CPU 和存储芯片的连接图:

注:此设计方案只能实现八体之间的低位交叉寻址,但不能实现八体并行操作。

方案 2 : 8 体交叉并行存取系统体内逻辑如下

由于存储器单体的存取周期为 T ,而 CPU 的总线访存周期为( 1/8 ) T ,故体内逻辑要支持单体的独立工作速率。因此在 SRAM 芯片的外围加了地址、数据的输入 / 输出缓冲装置,以及控制信号的扩展装置。

CPU 和各体的连接图:由于存储器单体的工作速率和总线速率不一致,因此各体之间存在总线分配问题,存储器不能简单地和 CPU 直接相连,要在存储管理部件的控制下连接。

24.  一个 4 体低位交叉的存储器,假设存取周期为 T , CPU 每隔 1/4 存取周期启动一个存储体,试问依次访问 64 个字需多少个存取周期?

答:

本题中,只有访问第一个字需一个存取周期,从第二个字开始,每隔 1/4 存取周期即可访问一个字,因此,依次访问 64 个字需:

存取周期个数  =(64-1) × (1/4)T+T = ( 63/4+1 ) T =15.75+1 =16.75T

25.  什么是 “ 程序访问的局部性 ” ?存储系统中哪一级采用了程序访问的局部性原理?

答:程序运行的局部性原理指:对局部范围的存储器地址频繁访问,而对此范围以外的地址则访问甚少的现象。

时间:在一小段时间内,最近被访问过的程序和数据很可能再次被访问;

空间:在空间上,这些被访问的程序和数据往往集中在一小片存储区;

在访问顺序上,指令顺序执行比转移执行的可能性大。

存储系统中 Cache— 主存层次采用了程序访问的局部性原理。

26.计算机中设置 Cache 的作用是什么?能不能把 Cache 的容量扩大,最后取代主存,为什么?

答:计算机中设置 Cache 主要是为了加速 CPU 访存速度;

不能把 Cache 的容量扩大到最后取代主存,价格以及体积原因不适合。

27. Cache 做在 CPU 芯片内有什么好处?将指令 Cache 和数据 Cache 分开又有什么好处?

答:Cache 做在 CPU 芯片内主要有下面几个好处:

)可提高外部总线的利用率。因为 Cache 在 CPU 芯片内, CPU 访问 Cache 时不必占用外部总线。

2 ) Cache 不占用外部总线就意味着外部总线可更多地支持 I/O 设备与主存的信息传输,增强了系统的整体效率。

3 )可提高存取速度。因为 Cache 与 CPU 之间的数据通路大大缩短 , 故存取速度得以提高。

将指令 Cache 和数据 Cache 分开有如下好处:

1 )可支持超前控制和流水线控制,有利于这类控制方式下指令预取操作的完成。

2 )指令 Cache 可用 ROM 实现,以提高指令存取的可靠性。

3 )数据 Cache 对不同数据类型的支持更为灵活,既可支持整数(例 32 位),也可支持浮点数据(如 64 位)。

28.  设主存容量为 256K 字, Cache 容量为 2K 字,块长为 4 。

( 1 )设计 Cache 地址格式, Cache 中可装入多少块数据?

( 2 )在直接映射方式下,设计主存地址格式。

( 3 )在四路组相联映射方式下,设计主存地址格式。

( 4 )在全相联映射方式下,设计主存地址格式。

( 5 )若存储字长为 32 位,存储器按字节寻址,写出上述三种映射方式下主存的地址格式

答:

( 1 ) cache 地址长度为 11 位,块内地址长度为 2 位。主存地址位数为 18 位

9 位          2 位

缓存块号

块内地址

Cache 可装入 2^9=512 个块

( 2 )直接映射方式

7 位                    9 位                        2 位

标记

缓存块号

块内地址

( 3 )四路组相连

9 位           7 位                              2 位

标记

组地址

块内地址

( 4 )全相连

16 位            2 位

标记

块内地址

( 5 )

直接映射方式

7 位                  9 位                             4 位

标记

缓存块号

块内地址

四路组相连

9 位               7 位                                      4 位

标记

组地址

块内地址

全相连

16 位            4 位

标记

块内地址

29.  假设 CPU 执行某段程序时共访问 Cache 命中 4800 次,访问主存 200 次,已知 Cache 的存取周期是 30ns ,主存的存取周期是 150ns ,求 Cache 的命中率以及 Cache- 主存系统的平均访问时间和效率,试问该系统的性能提高了多少?

答:命中率 h=4800/ ( 4800+200 ) = 96%

平均访问时间  ta= 0.96*30+0.04*150=34.8ns

效率 e=tc/ta=30/34.8=86.2%

性能提高倍数  150/34.8 -1 =3.3

30. 一个组相联映射的 Cache 由 64 块组成,每组内包含 4 块。主存包含 4096 块,每块由 128 字组成,访存地址为字地址。试问主存和 Cache 的地址各为几位?画出主存的地址格式。

答:缓存块号 6 位,块内地址 7 位, cache 地址为 13 位。组地址 6-2=4 位,

主存块号 12 位,块内地址 7 位。主存地址 19 位

8 位                   4 位                                7 位

主存标记

组地址

块内地址

31. 设主存容量为 1MB ,采用直接映射方式的 Cache 容量为 16KB ,块长为 4 ,每字 32 位。试问主存地址为 ABCDEH 的存储单元在 Cache 中的什么位置?

答:

6 位            10 位                               4

标记

缓存块号

块内地址

A19    A15    A11    A7    A3

1010  10 11   1100   1101   1110

32.  设某机主存容量为 4MB , Cache 容量为 16KB ,每字块有 8 个字,每字 32 位,设计一个 四路组相联映射(即 Cache 每组内共有 4 个字块)的 Cache 组织。

( 1 )画出主存地址字段中各段的位数;

( 2 )设 Cache 的初态为空, CPU 依次从主存第 0 、 1 、 2……89 号单元读出 90 个字(主存一次读出一个字),并重复按此次序读 8 次,问命中率是多少?

( 3 )若 Cache 的速度是主存的 6 倍,试问有 Cache 和无 Cache 相比,速度约提高多少倍?

答:

( 1 )考虑按字编址:

10 位            7 位                              3

主存标记

组地址

块内地址

( 2 )当主存读 0 号字单元时,将主存 0 号字块( 0~7 )调入 Cache ( 0 组 0 号块),主存读 8 号字单元时,将 1 号块( 8~15 )调入 Cache ( 1 组 0 号块)……   主存读 89 号单元时,将 11 号块( 88~89 )调入 Cache ( 11 组 0 号块)。

不命中次数为  90/8 = 12  (上取整)

总访问次数为  90*8=720

Cache 命中率  = ( 720-12 ) /720=98%

( 3 )设无 Cache 时访主存需时 720T ( T 为主存周期),加入 Cache 后需时:

708´T/6+12T = ( 118+12 ) T=130T

则: 720T/130T =5.54 倍

有 Cache 和无 Cache 相比,速度提高了 4.54 倍左右

33.  简要说明提高访存速度可采取的措施

答:

(1) 采用高速器件,选用存取周期短的芯片,可提高存储器的速度。

(2) 采用 Cache , CPU 将最近期要用的信息先调人 Cache ,而 Cache 的速度比主存快得多,这样 CPU 每次只需从 Cache 中取出 ( 或存人 ) 信息,从而缩短了访存时间,提高了访存速度。

(3) 调整主存结构,如采用单体多字结构 ( 在一个存取周期内读出多个存储字,可增加存储器的带宽 ) ,或采用多体结构存储器。

34反映主存和外存的速度指标有何不同?

答:主存的速度指标用存储周期表示,因为主存是随机存取存储器,存取周期不随存储单元的地址不同而改变。

外存的速度指标,以磁盘为例,一般包括寻道时间,等待时间和数据传输时间三个量。磁盘存储器属于磁表面存储器,其存取周期与存储单元的位置有关,不同位置所需要的寻道时间和等待时间不同,故不能以一个物理量来衡量。

35.画出 RZ 、 NRZ 、 NRZ1 、 PE 、 FM 写入数字串 1011001 的写入电流波形图。

答:

36.   以写入 1001 0110 为例,比较调频制和改进调频制的写电流波形图。

答:

37.  画出 调相制 记录 01100010 的驱动 电流 、记录 磁通 、感应 电势 、 同步 脉冲及 读出 代码等几种波形。

答:

38.  磁盘组有 6 片磁盘,最外两侧盘面可以记录,存储区域内径 22cm ,外径 33cm ,道密度为 40 道 /cm ,内层密度为 400 位 /cm ,转速 3600 转 / 分。

( 1 )共有多少存储面可用?

( 2 )共有多少柱面?

( 3 )盘组总存储容量是多少?

( 4 )数据传输率是多少?

答:

( 1 )共有: 6 × 2= 1 2 个存储面可用;

( 2 )有效存储区域  = ( 33-22 ) /2 = 5.5cm

柱面数  = 40 道 /cm  ×  5.5cm= 220 道

( 3 )内层道周长 =3.14*22cm= 69.08cm

道容量 =400 位 /cm × 69.08cm = 3454B

面容量 =3454B × 220 道  = 759 880B

盘组总容量  =759 , 880B × 1 2 面  =  8.70 MB

( 4 )转速  = 3600 转  / 60 秒  = 60 转 / 秒

数据传输率  = 3454B  ×  60 转 / 秒 =207 , 240 B/S

39.  某磁盘存储器转速为 3000 转 / 分,共有 4 个记录盘面,每毫米 5 道,每道记录信息 12 288 字节,最小磁道直径为 230mm ,共有 275 道,求:

( 1 )磁盘存储器的存储容量;

( 2 )最高位密度(最小磁道的位密度)和最低位密度;

( 3 )磁盘数据传输率;

( 4 )平均等待时间。

( 1 )存储容量  = 275 道× 12 288B/ 道× 4 面  = 13. 5MB

( 2 )最高位密度  = 12 288B/(230*3.14)≈17B/mm≈136 位 /mm

最大磁道直径  =230mm+275 道 /5 道   ×  2 = 230mm + 110mm = 340mm

最低位密度  = 12 288B /( 340*3.14)≈11B/mm≈92 位  / mm

( 3 )磁盘数据传输率  = 12 288B  ×  3000 转 / 分 =614KB/S

( 4 )平均等待时间  = 1/50 / 2 = 10ms

40. 采用定长数据块记录格式的磁盘存储器,直接寻址的最小单位是什么?寻址命令中如何表示磁盘地址?如果某文件长度超过一个磁道的容量,应将它记录在同一个存储面上,还是记录在同一个柱面上?

答:采用定长数据块记录格式,直接寻址的最小单位是一个纪录块 ( 数据块 ) ,寻址命令中可采用如下格式表示磁盘地址:

如果某文件长度超过一个磁道的容量,应将它记录在同一个柱面上,因为不需要重新找道,数据读 / 写速度快。

41.  设有效信息为 110 ,试用生成多项式 G(x) =11011 将其编成循环冗余校验码。

答:编码过程如下:

M(x) =110 n =3

G(x) =11011 k+1 =5 k =4

M(x)·x 4  =110 0000

M(x)·x 4 /G(x) =110 0000/11011

=100+1100/11011 R(x) =1100

CRC 码 =110 1100

42.  有一个( 7 , 4 )码,生成多项式 G(x) =x 3 +x+1 ,写出代码 1001 的循环冗余校验码。

答:编码过程如下:

M(x) =1001 n =4

G(x) =x 3 +x+1 =1011

k+1 =4 k =3

M(x)·x 3  =1001 000

M(x)·x 3 /G(x) =1001 000/1011

=1010+110/1011 R(x) =110

M(x)·x 3 +R(x) =1001 000+110

=1001 110 =CRC 码

43. 磁表面存储器和光盘存储器记录信息的原理有何不同?

答:磁表面存储器是将磁性材料沉积在盘片的机体上形成记录介质;光盘存储器是利用激光束在具有感光特性的表面上存储信息的。

44. 试从存储容量、存取速度、使用寿命和应用场合方面比较磁盘、磁带和光盘存储信息。

答:磁盘和磁带属于磁表面存储器,特点是存储容量大,位价格低,记录信息永久保存,但存取速度慢,因此在计算机系统中作为辅助大容量存储器使用。

光盘具有存储容量大,耐用、易保存等优点,成为计算机大型软件的传播载体和电子出版社的媒体。

《计算机组成原理》第二版第四章课后习题解答相关推荐

  1. 数据结构(C语言)第二版 第四章课后答案

    数据结构(C语言)第二版 第四章课后答案 1~5 B B C A B 6~10 B B C B B 11~15 A B D (C,B) C 1.选择题 (1)串是一种特殊的线性表,其特殊性体现在(B) ...

  2. 计算机组成原理第二版第5章答案,计算机组成原理第5章习题参考答案.pdf

    <计算机组成原理第5章习题参考答案.pdf>由会员分享,提供在线免费全文阅读可下载,此文档格式为pdf,更多相关<计算机组成原理第5章习题参考答案.pdf>文档请在天天文库搜索 ...

  3. 计算机组成原理第二版第4章的答案,计算机组成原理第4章习题参考答案

    计算机组成原理习题参考答案 第4章 数值的机器运算 4-2.某加法器采用组内并行,组间并行的进位链,4位一组,写出进位信号C6逻辑表达式. [解] 组间并行的进位链,产生的最低一组的进位输出为: C4 ...

  4. 计算机组成原理第二版第6章ppt,计算机组成原理第6章简.ppt

    文档介绍: * 第6章 控制器 6.1 控制器的功能与组成概述 6.2 硬连线控制器 6.3 微程序的控制器部件 清绩寺浮热埂杉症咽拆秽篓河种蜀苔栅跋攀俗瘩瑰趟甩寝媚构诀悍携垒借计算机组成原理第6章简 ...

  5. 线性代数第五版吉尔伯特课后答_线性代数同济第五版第四章课后习题答案!

    搜集 | 整理 |  测试 | @小愉 免责声明:以下资源或软件均来自互联网,仅供学习和交流使用,如有侵权请联系删除,请勿用于商业和非法途径等,如有法律纠纷与本人无关! 本文未经允许,不得转载! 适用 ...

  6. 华文慕课北大计算机组成原理陆俊林第九章课后习题解析

    1.(5分) x86实模式下,若中断类型码为15H,则中断向量存放在从哪个地址开始的4个字节单元中.(答案用16进制数表示,如02ABCH 答案:00054H 15H*4=54H,因为是十六进制运算 ...

  7. 陈国君java第五版第四章课后习题第五题

    写着玩的 import java.util.Scanner; public class Demo7 { /** * @param args */ public static void main(Str ...

  8. 04737 c++ 自学考试2019版 第四章课后练习 程序设计题 2

    /* * 04737 c++ 自学考试2019版 第四章课后练习 * 程序设计题 2 * 需求:为第二章习题设计中的二维坐标系下的类point,重载<< >> */ //标准流 ...

  9. 数据结构(C语言)第二版 第三章课后答案

    数据结构(C语言)第二版 第三章课后答案 1~5 C C D A A 6~10 D A B C D 11~15 D D B C B 1.选择题 (1)若让元素1, 2, 3 , 4, 5 依次进栈,则 ...

最新文章

  1. 面试题6:从尾巴开始打印链表
  2. 39 FI配置-财务会计-固定资产-组织结构-定义号码范围间隔
  3. 【hadoop】Hadoop Output directory file output already exists
  4. Hbase高级功能过滤(Filter)
  5. git21天打卡day3-创建仓库
  6. 【poj3468】A Simple Problem with Integers
  7. 编写python程序、找出100_100+ Python挑战性编程练习(1)
  8. python解析页面DOM树形成xpath列表,并计算DOM树的最大深度
  9. 搜索引擎推荐(可以代替谷歌的搜索引擎)
  10. LCP插件创建对等物理接口
  11. 蝌蚪网课助手mac_疫情期间如何录网课?(干货教程)手把手教你录出高质量网课。...
  12. GPUImage学习日记(4)之添加文字水印
  13. Windows 提权
  14. 谈谈我是如何选择VC界面皮肤库
  15. 一般java培训课程有哪些?
  16. 你住的房子安全吗?-房屋安全鉴定四项须知
  17. RealView MDK的指定位置
  18. 表单输入框聚焦输入内容显示叉叉清除效果
  19. Windows 10安全指南
  20. 两个对象数组去重的3种方法

热门文章

  1. 必须要知道的股票基础知识
  2. 阿迪達斯NFT狂卷兩千多萬美元,但過程並非一帆風順
  3. Python机器学习:评价分类结果007TPR和FPR之间的关系
  4. 公司USB设备管理策略方案
  5. 微盟删库血案背后人的错还是代码的锅?
  6. 【计算机视觉】图片拼接
  7. 计算机sng,腾讯高级执行副总裁汤道生:腾讯SNG正在大力布局人工智能
  8. 【EtherCAT】基础概念
  9. 霍夫圈变换——Hough circle
  10. 基于JAVA学生健康管理系统计算机毕业设计源码+系统+数据库+lw文档+部署