计算机系统结构第4章部分习题参考答案

2020-03-27 02:31

第4章 部分习题参考答案

4.1 解释下列术语

? 存储器最大频宽-存储器连续工作时所能达到的频宽。

? 存储器实际频宽-存储器实际工作时达到的频宽,它一般小于存储器最大频宽。 ? 模m交叉编址-交叉访问存储器由多个存储体(m个存储模块)组成一个大容量

的存储器,对多个存储体的存储单元采用交叉编址方式,组成交叉访问存储器。通常有两种交叉编址方式,一是地址的高位交叉编址,一般使用较少转型是低位交叉编址,即由m个存储体组成的低位交叉存储器的存储单元地址的低log2m位称为体号k,高log2n位称为体内地址j,存储单元地址A的计算公式为:A=m×j×k。若已知地址A,可计算出对应的体号k=A mod m,体内j=[A/m]地址。高位交叉编址主要用于扩展常规主存的容量,而低位交叉编址主要用于提高常规主存的访问速度。

? 程序局部性-程序中对于存储空间90%的访问局限于存储空间的10%的区域中,

而另外10的访问则分布在存储空间的其余90%的区域中。这就是通常说的程序局部性原理。访存的局部性规律包括两个方面,一是时间局部性:如果一个存储项被访问,则可能该项会很快被再次访问;二是空间局部性:如果一个存储项被访问,则该项及其邻近的项也可能很快被访问。

? 虚拟存储器-即“主存-辅存”存储层次,主要目的是为了弥补主存容量的不足,

可以为程序员提供大量的程序空间。其部分功能采用硬件,其余则由操作系统的存储管理软件来实现,对于系统程序员不透明。

? 段式管理-把主存按段分配的存储管理方式。它是一促模块化的存储管理方式,

每个用户程序模块可分到一个段,该程序模块博只能访问分配给该模块的段所对应的主存空间。段长可以任意设定,并可放大和缩小。系统中通过一个段表指明保段在主存中的位置。段表中包括段名(段号)、段起点、装入位和段长等。段表本身也是一个段。段一般是程序模块划分的。

? 页式管理-把虚拟存储空间和实际存储空间等分成固定大小的页,各虚拟页可装

入主存中的不同实际页面位置。页式存储中,处理机逻辑地址由虚页号和页内地址两部分组成,实际地址也分成页号和页内地址两部分,由地址映像机构将虚页号转换成主存的实页号。页式管理用一个页表,包括页号、每页在主存的起始位

置、装入位等。页表是虚页号与物理页号的映射表。页式管理由操作系统进行,对应用程序员是透明的。

? 段页式管理-是段式管理和页式管理的结合,它将存储空间按逻辑模块分成段,

每段又分成若干个页,访问通过一个段表和若干个页表进行。目前大多数操作系统采用段页式对存储器进行管理。

? 地址的映像-对虚拟存储器而言,指多用户程序的虚拟地址与主存地址之间的对

应关系。对于Cache存储器而言,指主存地址与Cache地址之间的对应关系。 ? 地址的变换-对虚拟存储器而言,指按照地址映像规则将多用户程序的虚拟地址

转变为主存地址的过程,包括把多用户的虚拟地址变换成主存实地址(内部地址变换)或磁盘存储器地址(外部地址变换)。对于Cache存储器而言,指按照地址映像规则将主存地址转变为Cache地址的过程。

? 堆栈型替换算法-以任意一个程序的页地址流作为两次主存页面数分配,分另分

配m个主存页面和n个主存页面,并且有mn。如果在任何时刻t,主存页面数集合Bt都满足关系:,则这类算法称为堆栈型替换算法。简单地说,堆栈型替换算法的基本思想是:随着分配给程序的主存页面数增加,主存命中率也提高,至少不下降。

? Cache存储器-即“Cache-主存”存储层次,主要目的是为了弥补主存速度的不

足,通过在CUP和主存之间增加速度快、容量小、价格较高的Cache,它与主存的构成有机整体,来提高访存速度。其功能主要采用硬件来实现,对于系统程序员是透明的。

? 直接映像-主存中的每一块只能被放置到Cache中唯一的一个地方。计算公式

为:,其中,b为Cache块号,B是主存块号,C是Cache的块数。整个Cache地址与主存地址的低位部分完全一样。

? 组相联映像-主存与Cache按同样大小划分成块,还按同样大小划分成组。从主

存的组到Cache的组之间采用直接映像,在两个对应的组内部采用全相联映像方式。

? 写回法-当CPU对Cache写命中时,只修改Cache的内容,而不立即写入主存,

只有当此行被换出时才写回主存。

? 写直达法-当Cache写命中时,Cache与主存同时发生写修改。

? 恒预取法-当CPU访问主存时,无论Cache是否命中,都把紧接着访问字所在块

的下一块从主存中取到Cache中。

? 不命中预取法-当CPU访问存储器时,如果Cache不命中,在把包含访问字的块

取到Cache之后,还把紧接着的下一块也取到Cache中。

? 环保护-将系统程序和用户程序按访问权限分层。最内的几层是系统程序层,其

外的几层为用户程序层,级别由里向外逐层降低。程序各页的环号由操作系统给定,并置入页表,每个程序都规定了一个上限环号,即可访问的最内层的环号。环式保护既能保护用户程序的出错而不破坏系统程序的工作,又能使同一用户程序的外层部分的出错不破坏其内层部分。

? 访问方式保护-对主存信息的使用可以另上读、写和执行3种方式。

4.2 (题目略)

【解】由访问效率计算公式:e?TA1TA11,有??THTA!?(1?H)TA2H?(1?H)TA2/TA10.8?1,得H=0.9999974999?≈0.9999975。 5H?(1?H)?10显然,这样高的命中率是很难达到的,为了不对H提出过高的要求,可能通过减少相邻两级存储器的访问速度差异,或是减少相邻两级存储器的容量差距来解决,也可以在两级间增加一个中间级来实现。

4.10 (题目略)

【解】(1)(2)采用组相联映像,主存地址和C地址的格式分别如下图所示: 区号E(1位) 组号G(1位) 块号B(1位) 块内地址W(4位) 主存地址格式 组号g(1位) 块号b(1位) 块内地址w(4位) Cache地址格式

Cache有2组,每组2块,Cache容量为4,组号G和g长度为1位,组内块号B和b的长度为1位。

每块大小为16B,如果访存是以字节为寻址单位,块内地址W和w的长度为4位。 主存按Cache大小划分为区,主存容量为8,Cache容量为4,故主存分2个区,区号E的长度为1位。

(3)根据组相联映像规则,主存的组到Cache的组是直接映像,对应的组内块和块之间的全相联映像。因此,主存和Cache空间块的映像对应关系以及对应关系表(√为有关系)分别如下表所示。

第0组 第0区

第1组 第0组 第1区

第1组 B0 B1 B2 B3 B4 B5 B6 B7 C0 C1 C2 C3 实块 0 1 C0 √ √ √ √ C1 √ √ √ √ C2 √ √ √ √ C3 √ √ √ √ 第0组 第1组

主存块 2 3 4 5 6 7 主存块B0, B1, B4, B5只能映射到Cache块C0, C1任意1块上。 主存块B2, B3, B6, B7只能映射到Cache块C2, C3任意1块上。

(4)组相联映像方式,采用LFU替换算法,Cache的块地址流序列如下: P= C0 C1 C2 C3

6 6 入

2 6 2 入

4 4 6 2 入

1 4 1 6 2 入

4 4 1 6 2 中

6 4 1 6 2 中

3 4 1 6 3 替

0 4 0 6 3 替

4 4 0 6 3 中

5 4 5 6 3 替

7 4 5 7 3 替

3 4 5 7 3 中

Cache块命中率H=4/12=1/3

(5)组相联映像方式,采用FIFO替换算法,Cache的块地址流序列如下: P= C0 C1 C2 C3

6 6 入

2 6 2 入

4 4 6 2 入

1 4 1 6 2 入

4 4 1 6 2 中

6 4 1 6 2 中

3 4 1 3 2 替

0 0 1 3 2 替

4 0 0 3 2 中

5 5 4 3 2 替

7 5 4 3 7 替

3 5 4 3 7 中

Cache块命中率H=3/12=0.25

(6)组相联映像方式,采用LRU替换算法,Cache的块地址流序列如下: P= C0 C1 C2 C3

6 6 入

2 6 2 入

4 4 6 2 入

1 4 1 6 2 入

4 4 1 6 2 中

6 4 1 6 2 中

3 4 1 6 3 替

0 4 0 6 3 替

4 4 0 6 3 中

5 4 5 6 3 替

7 4 5 7 3 替

3 4 5 7 3 中

Cache块命中率H=4/12=1/3

(7)全相联映像方式,采用FIFO替换算法,Cache的块地址流序列如下: P= C0 C1 C2 C3

6 6 入

2 6 2 入

4 6 2 4 入

1 6 2 4 1 入

4 6 2 4 1 中

6 6 2 4 1 中

3 3 2 4 1 替

0 3 0 4 1 替

4 3 0 4 1 中

5 3 0 5 1 替

7 3 0 5 7 替

3 3 0 5 7 中

Cache块命中率H=4/12=1/3

全相联映像方式,采用LRU替换算法,Cache的块地址流序列如下: P= C0 C1 C2 C3

6 6 入

2 6 2 入

4 6 2 4 入

1 6 2 4 1 入

4 6 2 4 1 中

6 6 2 4 1 中

3 6 3 4 1 替

0 6 3 4 0 替

4 6 3 4 0 中

5 5 3 4 0 替

7 5 7 4 0 替

3 5 7 4 3 替

Cache块命中率H=3/12=0.25。

(8)若在程序执行过程中,每从主存装入一块到Cache,平均要对这个块访问16次。总的访问次数为:12*16=192,而其中有8次是不命中Cache的,其余则为命中Cache的。所以Cache存储单元命中率为H=(12*16-8)/(12*16)≈95.8%

4.17 (题目略)

【解】(1)增大主存容量对Cache的访问时间基本不影响,从而对Cache的等效访问速度基本不影响。

(2)增大Cache的块数(块的大小不变)一般使Cache的命中率上升,从而使下降,并提高Cache的等效访问速度。

(3)增大组组相联的大小(块的大小不变)一般使Cache的命中率上升,从而使下降,并提高Cache的等效访问速度。

(4)增大块的大小(组的大小和Cache总容量不变)一般将使下降,从而提高Cache的等效访问速度。

(5)提高Cache本身器件的访问速度一般将缩短,从而提高Cache的等效访问速度。


计算机系统结构第4章部分习题参考答案.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:冲压模具设计课程设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: