计算机组成原理-第三章 存储系统【期末复习|考研复习】

前言

总结整理不易,希望大家点赞收藏。

给大家整理了一下计算机组成原理中的重点概念,以供大家期末复习和考研复习的时候使用。

参考资料是王道的计算机组成原理和西电的计算机组成原理。


文章目录

  • 前言
  • [第三章 存储系统](#第三章 存储系统)
    • [3.1 存储器的分类](#3.1 存储器的分类)
    • [3.2 存储层次化结构](#3.2 存储层次化结构)
    • [3.3 半导体随机存储器](#3.3 半导体随机存储器)
      • [3.3.1 SRAM和DRAM(非非非非常重要)](#3.3.1 SRAM和DRAM(非非非非常重要))
      • [3.3.2 只读存储器](#3.3.2 只读存储器)
    • [3.4 主存储器的扩展(非非非非常重要)](#3.4 主存储器的扩展(非非非非常重要))
    • [3.5 双口RAM和多模块存储器](#3.5 双口RAM和多模块存储器)
      • [3.5.1 双端口RAM](#3.5.1 双端口RAM)
      • [3.5.2 多模块存储器](#3.5.2 多模块存储器)
    • [3.6 高速缓冲存储器](#3.6 高速缓冲存储器)
      • [3.6.1 Cache和主存的映射方式](#3.6.1 Cache和主存的映射方式)
      • [3.6.2 Cache中主存块的替换算法](#3.6.2 Cache中主存块的替换算法)
      • [3.6.3 Cache写策略](#3.6.3 Cache写策略)
    • [3.7 虚拟存储器](#3.7 虚拟存储器)
  • 总结

第三章 存储系统

3.1 存储器的分类

按层次分:

1、主存储器(主存),CPU可以直接随机地对其进行访问,也可以和高速缓存器及辅助存储器交换数据。

2、辅助存储器(辅存),不能与CPU直接相连,用来存放当前暂时不用的程序和数据。

3、高速缓冲存储器,位于主存和CPU之间,用来存放正在执行的程序段和数据。

按存取方式分:

1、随机存储器(RAM)。存储器的任何一个存储单元的内容都可以随机存取,而且存取时间与存取单元的物理位置无关,主要用作主存或高速缓冲存储器。

2、只读存储器(ROM)。存储器的内容只能随机读出而不能写入。即使断电,内容也不会丢失。3、 串行访问存储器。

按信息的可保存性分:

1、易失性存储器,如RAM。

2、非易失性存储器,如ROM,磁表面存储器和光存储器。

3.2 存储层次化结构

主存-辅存:实现虚拟存储,解决主存容量不够。

Cache-主存:解决CPU和主存速度不匹配的问题。

3.3 半导体随机存储器

3.3.1 SRAM和DRAM(非非非非常重要)

主存由DRAM实现,Cache由SRAM实现

SRAM(静态随机存储器)的存储元是双稳态触发器,非破坏性读出,存取速度快,但集成度低,功耗较大。

DRAM(动态随机存储器)的存储元是栅极电容的电荷,采用地址复用技术,地址线为原来的一半,地址信息分行和列两次传送。具有容易集成,价位低,容量大,功耗低的特点。

DRAM的刷新时间为2ms,以行为单位,需要行地址。

刷新方式分为:

1、分散刷新,前一半读写,后一半刷新。优点:没有死区;缺点:加长了系统的存取周期。

2、集中刷新:专门有一段时间用于刷新。优点:读写不受刷新影响;缺点:有死区。3、异步刷新:隔一段集中读写时间刷新一次。既可以缩短死区,又可以充分利用刷新时间。

3.3.2 只读存储器

ROM具有结构简单,可靠性高的特点。

容量1024×8bit 前1024是地址线,后8bit是数据线。

引脚数目由地址线、片选线、数据线、读写控制线组成。

3.4 主存储器的扩展(非非非非常重要)

扩展方式跟后面的CPU那块一样重要

主存容量的扩展:

1、位扩展法:8片8K×1bit的chip连接八根数据线组成一个8K×8bit的存储器。

2、 字扩展法:用2/4或3/8译码器来区分个芯片的地址位置。

3、字位同时扩展法:两者结合。

片选信号的产生分为 :

1、线选法 :简单,不需要译码器。

2、译码片选法 。

3.5 双口RAM和多模块存储器

3.5.1 双端口RAM

双端口RAM:指同一个存储器有左、右两个独立的端口,分别具有两组相互独立的地址线、数据线和读写控制线,允许两个独立的控制器同时异步地访问存储单元。采用忙信号来从逻辑上判断暂时关闭哪个端口。

3.5.2 多模块存储器

单体多字存储器 :存储器中只有一个存储体,每个存储单元存储m个字,总线宽度也为m个字。一次并行读出m个字,地址必须顺序排列并处于同一存储单元。缺点:指令和数据必须连续存放。

多体并行存储器 :由多体模块组成,每个模块都有相同的容量和存取速度,各模块都有独立的读写控制电路、地址寄存器和数据寄存器,既能并行工作,又能交叉工作。

多体并行存储器由分为高位交叉编址(顺序方式)和低位交叉编址(交叉方式)

高位交叉编址 :高位地址表示体号,低位地址为体内地址。

低位交叉编址 :低位地址为体号,高位地址为体内地址。地位交叉编址更适合顺序连续访问,存取模块可以并行访问。二高位交叉编址只能串行访问。

流水线方式,存储器交叉模块数应大于等于 m=T/r (T为存取周期,r为总线传送周期),连续读取m个字所需时间为t1=T+(m-1)r,而顺序方式连续读取m个字所需时间为t2=mT

低位交叉的多体存储器,俗称双通道。

3.6 高速缓冲存储器

高速缓冲技术就是利用程序访问的局部性原理 。

当CPU发出读请求时,如果访存地址在Cache中命中,就将此地址转换成Cache地址,直接对Cache进行读操作,与主存无关;如果Cache不命中,则仍需访问主存,并把此字所在的块一次从主存调入Cache内。若此时Cache已满,则需根据某种替换算法,用这个块替换掉Cache中原来的某块信息。CPU与Cache之间的数据交换以字位单位,而Cache与主存之间的数据交换以Cache块为单位。

3.6.1 Cache和主存的映射方式

直接映射(对号入座):

主存中的每一块只能装入Cache中的唯一位置,若位置已有内容,原来块将无条件被替换出去。直接映射关系可表示为:j = i mod 2^c(j是Cache的块号,又称行号,i是主存的块号,2 ^c是Cache的总块数)。

直接映射地址结构:标记、Cache行号、块内地址。

访问过程:先访问行号c位,找到在Cache中的位置,然后再对标记位进行对比,若相等且有效位为1,则命中,反之不命中,CPU从主存读出该地址送到相应Cache并且有效位置为1,标记设为地址中高t位,且将内容送到CPU。优点:实现简单。缺点:不够灵活,冲突概率最高,空间利用率最低。

全相联映射(随意放):

优点:比较灵活,冲突概率低,空间利用率高,命中率也高。缺点:标记比较较慢,通常采用昂贵的按内容寻址的相联存储器进行地址映射。

组相联映射(按号分组,组内随意放):将Cache分为大小相同的组,组间采用直接映射,组内采用全相联映射。

3.6.2 Cache中主存块的替换算法

1、随机算法RAND:没有依据程序访问的局部性原理。

2、先进先出算法FIFO:没有依据程序访问的局部性原理。

3、近期最少使用算法LRU。

4、最不经常使用算法LFU

3.6.3 Cache写策略

对于Cache写命中 :

1) 全写法 (写直通法write-through):必须把数据同时写入Cache和主存

2) 写回法 (write-back):只修改Cache的内容,而不立即写入主存,只有当此块被换出时才写回主存

对于Cache写不命中 :

1) 写分配法 (write-allocate):加载主存中的块到Cache中,然后更新这个Cache块

2) 非写分配法 (not-write-allocate):只写入主存,不进行调块

非写分配法通常与全写法合用,写分配法通常和写回法合用。各级Cache之间采用全写法+非写分配法。Cache和主存之间采用写回法和写分配法。



3.7 虚拟存储器

同时具有虚拟页式存储器(有TLB)和Cache的系统中,访问顺序为TLB->页表->Cache->主存。

虚拟存储器和Cache的不同之处 :1)Cache主要解决系统速度,而虚拟存储器是为了解决主存容量。2)Cache全由硬件实现,是硬件存储器,对所有程序员透明;而虚拟存储器由OS和硬件共同实现,是逻辑上的存储器,对系统程序员不透明,但对应用程序员透明。3)虚拟存储器系统不命中时对系统性能影响更大。4)Cache不命中时主存能和CPU直接通信,同时将数据调入Cache中;而虚拟存储器系统不命中时,只能先由硬盘调入内存中,而不能直接和CPU通信。

总结

相信这一章的干货也是满满,这些题有不会的评论区留言,我也可以解答=v=有遗漏的我再补充

相关推荐
A懿轩A4 小时前
C/C++ 数据结构与算法【数组】 数组详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·数组
A懿轩A17 小时前
C/C++ 数据结构与算法【栈和队列】 栈+队列详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·栈和队列
小C哈哈哈3 天前
C哈的刷题计划之杨辉三角形(5)
c++·考研·少儿编程·数据结构与算法·计算机考研·csp·信息学奥赛
GISer_Jing3 天前
2025考研加油!Jing也加油哦!
前端·考研·面试
Kusunoki_D3 天前
2009 ~ 2019 年 408【计算机网络】大题解析
计算机网络·考研·408·大题
Nydia.J4 天前
【学习笔记】数据结构(八)
数据结构·考研
Kusunoki_D4 天前
2009 ~ 2019 年 408【数据结构】大题解析
数据结构·考研·408·大题
linux-hzh4 天前
计算机网络之王道考研读书笔记-2
计算机网络·期末复习·王道考研
YY_D_S_5 天前
【机组】概述精炼考点(冯诺依曼、层次结构、翻译语言、执行程序的过程、基本工作原理、运算器、控制器、存储器)
计算机组成原理·机组
羊小猪~~5 天前
数据结构C语言描述7(图文结合)--串的实现与BP算法、KMP算法讲解与模版提供
c语言·数据结构·c++·vscode·考研·算法·visual studio