计算机组成原理期末复习(7)

文章详细介绍了存储器的分类,包括半导体、磁盘/磁带和光盘存储器,以及按存取方式、信息可更改性和断电后信息保存性的分类。重点讨论了ROM和RAM的区别,SRAM和DRAM的特性,以及存储器的扩展方法。还涉及Cache的工作原理,如直接映射、全相联和组相联映射,以及替换算法。此外,提到了虚拟存储器的TLB和Cache访问过程,以及分页式、分段式和段页式虚拟存储的实现。
摘要由CSDN通过智能技术生成
第七章 存储器分层体系结构
1.存储器的分类。
存储元件分类:
(1)半导体存储器:半导体
(2)磁盘/磁带存储器:磁性材料
(3)光盘存储器:光介质
存取方式分类:
(1)随机存取存储器RAM:按地址访问存储单元—半导体存储器,可用作cache和主存
(2)顺序存取存储器SAM:信息按顺序存放和读出—磁带存储器
(3)直接存取存储器DAM:兼有随机访问和顺序访问的特点—磁盘存储器
(4)相联存储器CAM/AM:按内容检索存储位置—快表
信息的可更改性分类:
(1)读写存储器(Read/Write Memory):RAM芯片是一种读写存储器
(2)只读存储器ROM:ROM芯片中的信息一旦确定,通常情况下只读不写,但在某些情况下也可重新写入。
断电后信息的可保存性分类:
(1)非易失性存储器:ROM,磁表面存储器,光存储器
(2)易失性存储器:RAM,cache
功能分类:
(1)高速缓冲存储器(Cache) :由静态存储芯片(SRAM)组成,容量比较小但速度接近于CPU的速度。
(2)主存储器:存储器分层体系结构中的核心存储器。
(3)辅助存储器:磁盘
(4)海量后备存储器:磁带,光盘
ROMRAM叙述理解。

ROM:只读存储器(Read-Only Memory,ROM),非易失性存储器,只能读,不需要刷新,ROM不能作为 Cache的存储体
RAM:随机存取存储器(Random Access Memory),易失性存储器,可以随机读写,需要刷新,Cache(SRAM),主存(DRAM)
ROM和RAM指的都是半导体存储器,都采用随机存取的方式进行信息的访问。

存储器的速度从快到慢:寄存器—cache—主存 —辅存。
计算机的存储器系统是指哪些?

计算机的存储系统一般指内存和外存
内存主要存储计算机当前工作需要的程序和数据,包括高速缓冲存储器和主存储器。
外存主要有磁性存储器、光存储器和半导体存储器三种实现方式,存储介质有硬磁盘、光盘、磁带和移动存储器等。

2.SRAM和DRAM的区别(刷新:以行为单位)。

SRAM: 静态随机存取存储器:
所用MOS管多,占硅片面积大,功耗大,集成度低,无须刷新,无须读后再生,读写速度快,价格高,适合做高速小容量的半导体存储器,如cache

DRAM: 动态随机存取存储器:
所用MOS管少,占硅片面积小,功耗小,集成度高,定时刷新,读后再生,读写速度慢,价格低,适合做低速大容量的半导体存储器,如主存
 

3.存储器芯片的扩展:位扩展、字扩展、字位扩展,需要的片数。结合课件讲解。

位扩展:
用若干片位数较少的存储器芯片构成给定字长的内存条时,需要进行位扩展。
4096×1位 — 位扩展 8片并联 —> 4K×8位

字扩展:容量扩展,位数不变。
16K×8位 — 字扩展 4片串联 —> 64K×8位

字位扩展:
16K×4位 — 字扩展 4片串联,位扩展 4片并联 —> 64K×8位
需要的片数 = 64K / 16K × 8位 / 4位 = 8片

 交叉编址

4.磁盘存储器的存储区域为磁盘记录面(盘面),每个记录面又划分为多个磁道,每条磁道又划分为扇区,扇区也就是基础的存储快,是磁盘的最小读写单位。每个扇区包含数据及其地址信息,地址信息分为三个字段(盘面号、磁道号、扇区号)。
平均存取时间由寻道时间、旋转延迟时间(磁头定位到要读写的扇区时间,取旋转时间的⼀半)和传输时间三部分组成。
DMA的数据传送过程,分为预处理、数据传送和后处理。其中预处理是CPU完成一些必要的准备⼯作。数据传送是采用单字节(或者数据块)为基本单位进行传送,此过程完全由DMA 控制。后处理是DMA控制器向CPU发出中断请求,CPU执行中断并在DMA结束后校验数据是否正确,测试传送过程是否出错以及决定的是否继续使用DMA传送其他数据块等。

5.常用的数据校验码:奇偶校验码(奇校验位、偶校验位的求解)、海明校验码(给定宽度的数据,学会求单纠错码SEC)、循环冗余校验码(根据⽣成多项式的位数求出CRC码的位数)。要求掌握海明校验码(8数据位+4校验位:发现1位错并能纠正1位错)。区别:发现1位错; 发现1位错并能纠正1位错,发现两位错。

见:计算机组成原理复习笔记(2)

6.局部性:时间局部性和空间局部性

时间局部性:被访问的某个存储单元 在一个较短的时间间隔内 很可能又被访问。

空间局部性:被访问的某个存储单元 的邻近单元 在一个较短的时间间隔内 很可能也被访问。

7.Cache的行,槽就是块。通过硬件来实现映射。 有效位,标记(三种映射变化)。

有效位:在系统启动或复位时,每个cache行都为空,其中的信息无效,只有装入了主存块后信息才有效。为了说明cache行中的信息是否有效,每个cache行需要一个有效位。

有了有效位,就可荣光将有效位清零来淘汰某cache行中的主存块,称为“冲刷”,装入一个新主存块后,再使有效位置1。

标记(三种映射变化):cache中存放的主存块地址

直接映射:
 

8.Cache命中率计算公式,平均访问时间公式, 例如采用两级Cache的存储系统中,如果告诉了第1Cache和第2Cache的命中率,然后求平均访问时间。

命中率p = 命中/(命中+未命中)
cache命中时:访问cache,cache命中,CPU直接从cache中存取信息 —— Tc
cache访问时间/命中时间Tc:CPU从cache中存取信息 所用的时间

cache未命中时:访问cache,cache未命中,主存块送cache,信息送CPU —— Tc + Tm
主存访问时间/缺失损失Tm: 主存块送cache 所用的时间

CPU在cache-主存层次的平均访问时间Ta = p × Tc + (1-p) × (Tc + Tm)

9.直接映射、全相联、组相联映射方式的区别及使⽤案例(结合例题和习题)

要求掌握地址的字段划分(注意标记字段的变化)

要求掌握给出主存块号或者主存单元地址,给出相应方式下(考核直接映射、组相联映射)Cache行号或组号

要求掌握组相联映射的比较器的个数和位数

10.Cache总容量的计算:有效位、标记、数据块。(写回法下增加修改位)

11.Cache中主存块的替换算法:先进先出、LRU算法、最不经常用算法、随机替换算法。 结合习题、例题。 注意:LRU位的设置。

先进先出FIFO:最早装入的被替换

最近最少使用LRU 算法:命中清零,其他加一,最大的被替换

最不经常用LFU算法:命中加一,最小的被替换

随机替换算法:随机

12.Cache的⼀致性问题:全写法(Write Through)、写回法(Write Back)[每个cache行设置了⼀ 个修改位(dirty bit),注意计算cache容量时] ( 标记,有效位,修改位)

13.虚拟存储器的TLB和Cache的访问过程。

虚拟存储器借用外存来为程序提供的很⼤的虚拟存储空间,解决了编程受限的问题。

快表与慢表。

快表TLB:为了减少访存次数,把页表中最活跃的几个页表项复制到高速缓存中,这种由高速缓存中的页表项组成的页表称为后备转换缓冲器,简称快表。
慢表Page:主存中的页表为慢表。

 

段式、页式、段页式。

有三种虚拟存储器实现方式:分页式、分段式、段页式

分段式:

 

分页式:

 

段页式:

 

例题例题:



 

4. (8 points) 假定一个 8 位数据 M7M6M5M4M3M2M1M0 为 01010100,要求写出其 SEC 码,并说 明 SEC 码如何检测数据位 M5 的错误。

 

 

 6. (8 points)(课本 P268 页第 11 题)假定某计算机主存地址空间大小为 1GB,按字节编址,cache 的数据区(即不包括标记、有效位等存储区)有 64KB,块大小为 128 字节,采用直接映射和直写 (write through)方式。请问: (1)主存地址如何划分?要求说明每个字段的含义、位数和在主存地址中的位置。 (2)cache 的总容量为多少位?

(1)主存空间大小为 1GB,因此,主存地址总位数为 30 位。
块大小位 128 字节,因此,块内地址为 7 位。
Cache 采用直接映射,数据区总共 64KB,每块 128 字节,所以 cache 总共有 64K/128 = 512
行。因此,行索引需要 9 位。
剩余 14 位全部为标记 tag。
综上,主存地址高 14 位为标记,中间 9 位为行索引,低 7 位为块内地址。
(2)由于采用直写的方式,不需要增加额外的标记位。cache 每行的内容为有效位、标记和数
据。所以,cache 的总容量为 512 × (1 + 14 + 128 × 8) = 531968 位。

 7. (8 points)(课本 P268 页第 12 题)假定某计算机的 cache 共 16 行,开始为空,块大小为 1 个字,采用 直接映射方式,按字编址。CPU 执行某程序时,依次访问以下地址序列:2,3,11,16,21,13,64,48,19,11,3,22,4,27,6 和 11。 (1)说明每次访问是命中还是缺失,试计算访问上述地址序列的命中率。 (2)若 cache 数据区容量不变,而块大小改为 4 个字,则上述地址序列的命中情况又如何?

(1)cache 采用直接映射,总共能存 16 个字,由于数据块的大小为 1 个字,因此 cache 总共有
16 行。
由于机器采用按字编址,因此,每个主存块包含一个存储单元,所以,主存地址 = 主存块号。
所以,数据映射到 cache 的行号 = 主存地址 mod 16。程序开始执行时,cache 为空,
所以每个地址单元的第一次访问总是缺失。针对题目中给出的
地址序列,CPU 的访问过程如下(每个数字对,x − y,表示主存地址–cache 行号,
hit 表示命中,miss 表示缺失,miss/replace 表示缺失并替换。):
2-2: miss; 3-3: miss; 11-11: miss; 16-0: miss; 21-5: miss; 13-13: miss;
 64-0: miss/replace; 48-0:miss/replace; 19-3: miss/replace; 11-11: hit;
 3-3: miss/replace; 22-6: miss; 4-4: miss; 27-11:miss/replace;
 6-6: miss/replace; 11-11: miss/replace.
整个过程只有一次命中,因此命中率为 1 ÷ 16 = 6.25%。
(2)cache 块大小改为 4 个字后,cache 总行数减少为 4 行。
数据块大小为 4 个字,因此,每个主存块包含 4 个主存单元。
所以,主存块号 =[主存地址/4]。
数据映射到 cache 的行号 = 主存块号 mod 4。
CPU 的访问过程如下(数字对 x − y − z 表示主存地址–主存块号–cache 行号):
2-0-0: miss; 3-0-0: hit; 11-2-2: miss; 16-4-0: miss/replace; 21-5-1: miss;
13-3-3: miss; 64-16-0:miss/replace; 48-12-0: miss/replace;
19-4-0: miss/replace; 11-2-2: hit; 3-0-0: miss/replace;
22-5-1: hit; 4-1-1: miss/replace; 27-6-2: miss/replace; 6-1-1: hit; 
11-2-2: miss/replace.
整个过程中有 4 次命中,因此命中率为 4 ÷ 16 = 25%。数据块变大后,命中率也获得提高,其
原因在于块变大后空间局部性得到更大发挥。

(1)页大小为 128B,因此,页内偏移量为 7 位。所以,虚拟地址中,低 7 位为页内偏移量,剩
余的高 9 位为虚拟页号。TLB 采用 4 路组相联,所以,TLB 索引为 2 位,其余的高 7 位为
TLB 标记。
(2)物理地址共 12 位,其中,低 7 位与虚拟地址相同,表示页内偏移量,高 5 位表示物理页
号。
(3)L1 数据 cache 块大小为 4 字节,所以块内地址字段为 2 位。采用直接映射方式,且总共
有 16 行,因此行索引字段为 4 位。其余的 6 位作为标记字段。因此,物理地址高 6 位为标记
字段,中间 4 位为行索引字段,低 2 位为块内地址字段。
(4)067AH = 0000_0110_0111_1010B。因此,虚拟地址高 9 位为 000001100。按照 TLB 的地
址格式,低两位为索引,高七位为标记,可知,TLB 组号为 0。查找第 0 组中标记为 0000011 = 3H
的标记,虽然 TLB 中存在该项,但是有效位为 0,因此 TLB 缺失,需要访问页表。
查找页表时,虚拟地址高 9 位为 000001100 = 0CH,查表可知,对应行有效位为 1,由此可得
物理页号为 19H。结合虚拟地址低 7 位页内偏移,可得物理地址为 11001_1111010。
按照物理地址查找 cache。按照 cache 的地址格式 110011_1110_10,行索引为 1110 = EH,标
记为 110011 = 33H,与 cache 中的标记相匹配,因此数据存在于 cache 中。最后按照块内地
址 10B,得到数据为 4AH。

哎呀!紧赶慢赶总算是在考前整理完了,祝我们都不挂科^~^

对了第八章的在计算机组成原理期末复习(6)这里欧

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值