计组复习题(选做) - 图文 下载本文

6. 设某流水线计算机有一个指令和数据合一的cache,已知cache的读写时间为10ns,主

存的读写时间为100ns,取指的命中率为98%,取数据的命中率为95%,在执行程序时,有1/5的指令需要存取一个操作数。为简化起见,假设指令流水线在任何时候都不阻塞。问设置cache后,与无cache比较,计算机的运算速度可提高多少倍? 解答: Ta = Tc*h+Tm*(1-h) Ta指= 10*0.98+100*0.02 = 11.8 Ta数= 10*0.95+100*0.05 = 14.5 Ta = 11.8*1+14.5*0.2 = 14.7 (100*6/5)/14.7 = 8

8-1 = 7 所以,提高7倍。

7. 设有一个Cache的容量为2K字,每块16字,在直接映象方式下,求:

(1) 该Cache可容纳多少个块?

(2) 如果主存的容量为256K字,则有多少个块? (3) 主存的地址格式? Cache的地址格式?

(4) 主存中的第032AB单元映象到Cache中哪一块? 解:(1) Cache可容纳的块数为:2K/16=27=128(块)

(2) 主存的可容纳的块数为: 256K/16=214(块) (3) 主存地址格式为:

区号(7位) 区内块号(7位) Cache地址格式为:

块内地址(4位)

区内块号(7位) 块内地址(4位)

(4) 主存中的032ABH单元:

032ABH=(0000 0011 0010 1010 1011)2

6区 42块 11字

8. 在一个采用组相联映射方式的Cache系统中,主存和Cache均按字节编址,按字访问,

字长为64位。Cache的容量为256KB,主存的容量为64MB。Cache的每一组有8块,每块有8个字。要求采用按地址访问方式构成相联目录表,实现主存地址到Cache地址的变换,并采用8个相等比较电路。

(1) 给出主存和Cache的地址格式,并标出各字段长度.

(2) 计算相联目录表的个数。

解:相联目录表的地址个数是29=512个

(2) 设计每个相联目录表所存内容的格式,并标出每一个字段的长度。

(4) 计算每个比较电路的位数。 解:每个比较电路的位数是11位。

(5) Cache地址的哪些字段可从主存地址直接得到?哪些字段必须从相联目录表得到? 解:Cache地址组号g字段和块内地址w可从主存地址直接得到,组内块号b字段必须从相联目录表得到。

9. 一个程序共有5个页面组成,在程序执行过程中,页面地址流如下,P1、 P2、 P1、 P5、

P5、 P1、 P3、 P4、 P3、 P4,假设在程序执行过程中分配给这个程序的主存储器只有3个页面。

(1)给出用FIFO、LRU、OPT三种页面替换算法对这3个主存的调度情况表,并统计页面命中次数。

(2)计算LRU页面替换算法的页面命中率。

10. 已知某8位机的主存采用半导体存贮器,地址码为18位,若使用4K×4位RAM芯片

组成该机所允许的最大主存空间,并选用模块条的形式,问: (1)若每个模块为32K×8位,共需几个模块条? (2)每个模块内共有多少片RAM芯片? (3)主存共需多少RAM芯片?

18

解:(1)由于主存地址码给定18位,所以最大存储空间为2 = 256K,主存的最大容量为256KB。现每个模块条的存储容量为32KB,所以主存共需256KB / 32KB = 8个模块条。 (2)每个模块条的存储容量为32KB,现使用4K×4位的RAM芯片拼成4K×8位(共8组),用地址码的低12(A0——A11)直接接到芯片地址输入端,然后用地址的高3位(A14——A12)通过3 :8译码器输出分别接到8组芯片的选片端。共有8×2 = 16个RAM芯片。 (3)据前面所得,共需8个模块条,每个模条上有16片芯片,故主存共需8×16 =128片RAM芯片。

11. 已知某16位机的主存采用半导体存贮器,地址码为18位,若使用8K×8位SRAM芯

片组成该机所允许的最大主存空间,并选用模块条结构形式。问: (1)若每个模块条为32K×16位,共需几个模块条? (2)每个模块内共有多少片RAM芯片? (3)主存共需多少RAM芯片? 解: (1)由于主存地址码给定18位,所以最大空间为218=256K,主存的最大容量为256K*16位。现在每个模块条的存贮容量为32K×16位,所以主存共需256K/32K=8块模块条。

(2)每个模块板的存贮容量为32K×16位,现用8K×8位的SRAM 芯片。每块模块条采用位扩展与字扩展相结合的方式:即用2片SRAM芯片拼成8K×16位(共4组),用地址码的低13位(A0 ~ A12)直接接到芯片地址输入端,然后用地址码的高2位(A13 ~ A14)通过 2:4 译码器输出分别接到4组芯片的片选端。共 4×2=8个SRAM

(3)根据前面所得,共虚8个模块条,每个模块条上有8片芯片,故主存共需8×8=64片芯片(SRAM)。

12. 用16K × 1位的DRAM芯片构成64K × 8位的存贮器。要求:

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

(2)设存贮器读 / 写周期均为0.5μs,CPU在1μs内至少要访存一次。试问采用哪种刷

新方式比较合理?两次刷新的最大时间间隔是多少?对全部存贮单元刷新一遍,所需实际刷新时间是多少? 解:(1)根据题意,存贮器总量为64KB,故地址线总需16位。现使用16K×1位的动态RAM芯片,共需32片。芯片本身地址线占14位,2位经过译码形成4个片选逻辑。所以采用位扩展与字扩展结合的方法来组成整个存贮器,其组成逻辑框图如图10-1,其中使用一片2 :4译码器。

图 10-1

(2)根据已知条件,CPU在1μs内至少需要访存一次,所以整个存贮器的平均读/ 写周期

与单个存贮器片的读 / 写周期相差不多,应采用异步刷新比较合理。

对动态MOS存贮器来讲,两次刷新的最大时间间隔是2ms。RAM芯片读/ 写周期为0.5μs,假设16K ×1位的RAM芯片由128 × 128矩阵存贮元构成,刷新时只对128行进行异步方式刷新,则刷新间隔为2m / 128 = 15.6μs,可取刷新信号周期15μs。

13. 设CPU共有16根地址线,8根数据线,并用MREQ作访存控制信号(低电平有效),

用R/W作读写控制信号(高电平为读,低电平为写),现有下列芯片及各种门电路(自定),如图。画出CPU与存储器的连接图。要求: (1)存储芯片地址空间分配

Ak Ao 为:最大4K空间为系统程序区,Am A0 相邻的4K为系统程序工作区,最小16K为用户程序区;

Cs ROM Cs RAM (2)指出选用的存储芯片类

RD 型及数量; WE (3)详细画出片选逻辑。 解:(1)存储芯片地址空间分配:

Dn Do Dn Do ? 最大4K空间为系统程序区;

2K×8位 ? 相邻的4K为系统程序工作区; 1K×4位 8K×8位 ? 最小16K为用户程序区; 2K×8位 32K×8位 8K×8位 0 空闲(RAM(16K) 40K) 16K×1位 74LS138 4K×4位

RAM(4K)

16

2=64k ROM(4K)