计算机组成原理 存储系统

 1.概述

分类

存储介质

        磁

        半导体

        光

存取方式

相联存储器

        可以按照内容检索到存储位置进行读写。

随机RAM

        读写任何一个存储单元所需的时间都相同,与位置无关

顺序SAM

        读写一个存储单元所需的时间取决于存储单元所在的位置

直接DAM

        既有随机存取特性,也有顺序存取特性。先直接选取信息所在区域,然后按顺序方式进行存取。(机械硬盘)

可改写性

读写存储器

        可读可写(如内存,硬盘等)

只读存储器

        只能读,不能写(如电影使用的光碟)

信息的可保存性

易失性存储器

        断电后数据消失(主存,Cache)

非易失性存储器

        断电依然保存(磁盘、光盘)

破坏性读出

        读出数据后要进行重写(如DRAM芯片)

非破坏性读出

        读出数据后原数据没被破坏(如SRAM芯片、磁盘、光盘)

功能和存取速度

寄存器

高速缓冲存储器

主存储器

外存储器

技术指标

存取容量

        存储字数(MAR位数)×字长(MDR位数)(如1M×8位)

存取速度

        数据传输率 = 数据的宽度/存储周期

存取时间

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

        计算机进行一次读写操作后需要一段恢复时间才能进行下一次的读写操作。

主存带宽

        上面的数据传输率,表示每秒从主存进出信息的最大数量,单位为字/秒,字节/秒,位/秒。

层次结构    

外存、主存、高速缓存、寄存器

计算机组成原理 存储系统_第1张图片

主存结构

计算机组成原理 存储系统_第2张图片

存储体

        由多个存储单元构成,每个存储单元由多个存储元构成。

        存储元:能够存储一位比特。由MOS,电容等组成。

                MOS管:一个电控开关,当输入电压到达某个阀值时,MOS管就可以接通,电容中的电荷就可以跑出来。

        将多个存储元组合起来就构成了存储单元,同个存储单元的存储元共用一根MOS管

        将多个存储单元组合起来就构成了存储体

地址译码器

        将CPU输出的存储器地址转换为实际的存储单元地址,从而选中特定的存储单元。

        地址译码器根据输入的数字量(即地址)在多个输出端中选中一个有效的地址,类似于电话系统中根据输入的电话号码选中一台电话1.

数据寄存器

        用于暂时存放从主存、外设或其他模块读取的数据,以便在不同模块之间传输。

        数据寄存器的位数应满足多数数据类型的数值范围,用于弥补CPU和主存、外设之间操作速度上的差异。在执行程序时,数据寄存器可以存储计算结果、控制信号和状态信息。

控制电路

        控制电路控制着 MAR,译码器和MDR的数据处理。存储芯片还需要对外提供片选线,读选择线,写选择线。

        片选线

                定义

                        片选线是一组控制信号线,用于选择特定的芯片器件。它决定哪个存储芯片或其他集成块处于活动状态。

                作用

                        选择芯片:片选线用于确定所给出的地址是否针对某个特定的存储芯片。通过设置片选线,我们可以选择与控制器通信的特定存储器芯片。

                        并联使用器件:片选线允许并联使用多个器件。例如,可以用在RAM中构建不同的地址区域。

                        扩容:在扩展存储容量时,需要增加片选线。例如,将两片小存储芯片组合成一个新的存储芯片时,需要增加一条地址线,将其连接到这两个小存储芯片的片选线引脚上。

               读写选择线

                        分别用来控制是读还是写。

                        有时候会将这两根线合为一条,用低电平表示写,用高电平表示读

2.半导体存储器

静态MOS存储器SRAM

存储信息器件

        使用双稳态触发器存储信息

        两种稳定的状态,6个MOS管。

                1A高B低

                0A低B高

       两条数据线

计算机组成原理 存储系统_第3张图片

特点

        每个存储单元由多个MOS晶体管组成,可以长期保存信息,而无需周期性刷新。

        非破坏性读出

        SRAM的电路复杂,占用面积大,但速度快。

用途

        用作CACHE

动态MOS存储器DRAM

存储信息器件

        使用栅极电容存储信息

        栅极电容

                压差

                        1放电

                        0无电流

         一条数据线

计算机组成原理 存储系统_第4张图片

特点

        需要定期刷新以保持数据,因为电容会逐渐丧失电荷。

        破坏性读出

        DRAM的电路简单,面积小。

用途

        用作主存

只读存储器

含义

        只读存储器(Read-Only Memory,ROM)以非破坏性读出方式工作,只能读出无法写入信息。信息一旦写入后就固定下来,即使切断电源,信息也不会丢失,所以又称为固定存储器

特点

        只读存储器的特点是只能读出而不能写入信息。

        信息一旦写入后就固定下来,即使切断电源,信息也不会丢失。

        ROM所存数据通常是装入整机前写入的,整机工作过程中只能读出,不像随机存储器能快速方便地改写存储内容。

种类

        掩膜编程的只读存储器(MROM):由生产厂家在制造过程中“写入”特定数据,用户无法修改。——任何人不可重写

        可编程只读存储器(PROM):用户可以一次性写入所需的信息,但无法修改。——写一次后不可更改

        可擦除可编程只读存储器(EPROM):可以多次编程,但需要使用紫外线光源擦除原先内容。——可进行多次重写

        带电可擦可编程只读存储器(EEPROM):可以在线修改,但可靠性不如EPROM。

快擦除读写存储器(Flash Memory):结合了EEPROM和RAM的特点,可多次写入而无需擦除原先内容。

3.主存的组织和CPU的连接

单块存储芯片与CPU的连接

        地址线的连接:通常,CPU的低位地址线与存储芯片的地址线相连,而高位地址线用作控制信号。

        数据线的连接:CPU的8位数据线(D7~D0)与存储芯片的8位数据线相连。

        读/写命令线的连接:CPU的读/写命令线一般直接与存储芯片的读/写控制端相连,通常高电平表示读操作,低电平表示写操作。

多块存储芯片与CPU的连接

扩展

        含义:位扩展是一种增加存储器容量的方法,主要是通过增加每个存储单元的位数来实现。

        原理:位扩展不改变存储器的字数,而是增加了每个字的位数。

        举例:如果原本有一个4位的存储器,通过位扩展,我们可以将其扩展为8位的存储器。

计算机组成原理 存储系统_第5张图片

扩展

        含义:字扩展是一种增加存储器容量的方法,主要是通过增加存储器的字数来实现。

        原理:字扩展不改变每个存储单元的位数,而是增加了存储器中可存放的字的数量。

        举例:假设我们有两片1K×4位的存储芯片,如果将它们组合起来,就可以构成1K×8位的存储器。

计算机组成原理 存储系统_第6张图片

字位同时扩展

        综合了字扩展和位扩展的方法,既增加了存储器的字数,又增加了每个字的位数。

        结合位扩展和字扩展的方法,使用多块存储芯片构成更大的存储器。

计算机组成原理 存储系统_第7张图片

4.并行主存系统

双端口存储器

含义

        同一个存储器具有两组相互独立的读写控制线路,由于进行并行的独立操作,是一种高速工作的存储器。

计算机组成原理 存储系统_第8张图片

特点

独立接口

        双端口存储器具有两个独立的读写接口,可以同时响应两个不同的访问者。

并行操作

        多个设备可以同时读取或写入数据,二者不发生冲突,无需等待其他设备完成操作。

广泛应用

        广泛应用于需要高速数据传输和共享存储的系统中,如网络交换机、图形处理器等。

冲突处理

        两个端口同时访问相同的地址,一个地址先进行访问,另一个地址被延迟。由于冲突访问不可避免,速度不可能提高两倍。

单体多字存储器

含义

        将原先的一个存储单元扩展成多个存储单元,从而一次可以读出多个字,提高存储器的读取效率

        每个存储单元可以存放多个指令字或数据字,这样在一个存储周期内能够访问到多个字,从而提高存储器的带宽。

原理

        单体多字存储器的核心思想是在一个存储体内,将每一行的存储单元数扩展成多个,使得每次读取操作可以获取多个字

        存储器的带宽增加,因为在一个存储周期内,可以一次性读取多个字,从而加快数据传输速度。

应用

        单体多字存储器适用于程序和数据在存储体内是连续存放的情况。

        它可以提高存储器的读取速度,但需要设计合理的控制电路来处理并行读取的数据。

多体交叉存储器

含义

        通过存储芯片交叉组织来提高CPU单位时间内访问的数据量的存储器。

        若干个独立的存储模块通过交叉编址构成的存储器

计算机组成原理 存储系统_第9张图片

分类

高位多体交叉存储器

        相邻地址的数据处于同一存储体。

        一个地址寄存器。

        多模块串行,不满足局部性原理。

        性能无提升,但扩充容量方便。

        每个存储体遍历完了之后再遍历下一个存储体。仅仅相当于扩容

低位多体交叉存储器

        相邻地址处于不同存储体中。

        每个存储体均需地址寄存器。

        多模块并行,满足局部性原理。

        性能提升,扩充容量也方便。

        以横向方式遍历存储体,也就是每次都是遍历不同存储体的不同存储单元

5.高速缓冲存储器

含义

        高速缓冲存储器是存在于主存与CPU之间的一级存储器, 由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多, 接近于CPU的速度。

计算机组成原理 存储系统_第10张图片

工作原理

时间局部性

        在最近的未来要用到的信息,很可能是现在正在使用的信息

        (程序中很可能存在大量的循环结构,需要重复访问)

空间局部性

        最近的未来要用到的信息,很有可能与现在正在使用的信息在存储空间上是临近的

        (信息的存储一般都是顺序的)

基本概念

数据命中(Data Hit)

        在访问存储器或缓存时,所需的数据已经存在于缓存中,因此无需从主存或其他更慢的存储器中读取。

数据访问时间(Access Time)

        从发出访问请求到获取数据所需的时间。它包括命中时间和缺失时间。

数据缺失(Data Miss)

        在访问存储器或缓存时,所需的数据不在缓存中,需要从主存或其他更慢的存储器中读取。

缺失补偿(Miss Penalty)

        在数据缺失时,从主存或其他存储器中读取数据所需的时间。

缺失率(Miss Rate)

        在访问存储器或缓存时,所需的数据不在缓存中的比例

访问效率(Access Efficiency)

        访问存储器或缓存时,成功命中的比例

读写流程和关键技术

读流程

计算机组成原理 存储系统_第11张图片

        首先发出访问存储器的地址,将地址逻辑划分为高位主存块号和低位块内地址。

        根据主存块号在Cache表中查找,以确定该主存块号是否在Cache中。这一步称为命中未命中

        如果命中,直接从Cache中读取数据。

        如果未命中,从内存中读取数据,并将该数据所在的数据块调入Cache中,以便以后对整块数据的读取都从Cache中进行。

写流程

计算机组成原理 存储系统_第12张图片

        透写(Write-Through):CPU的数据总是写入到内存中,如果对应内存位置的数据在Cache中有一个备份,那么这个备份也要更新,保证内存和Cache中的数据永远同步。每次写操作都会执行写入Cache和写入内存两步。

        回写(Write-Back):将要写的数据只写入Cache中,并对Cache对应的位置做一个标记,只在必要的时候才会将数据更新到内存中。每次写操作只执行写入Cache一步,不一定立即写入内存。

cache实现关键技术

数据查找(Data Lookup)

        数据查找是指在访问存储器或缓存时,根据给定的地址查找相应的数据。

        这涉及到将主存地址映射到缓存中的某个位置,以便读取或写入数据。

地址映射(Address Mapping)

        地址映射是将CPU发出的主存地址转换为缓存地址的过程。

        常见的映射方式包括直接映射、全相联映射和组相连映射。

替换策略(Replacement Policy)

        替换策略决定了在缓存已满且需要替换一行数据时,选择哪一行进行替换。

        常见的替换策略包括随机替换、最近最少使用(LRU)等。

写入策略(Write Policy)

        写入策略决定了在写入数据时,如何保持主存和缓存之间的一致性。

        常见的写入策略包括写回(Write-Back)和透写(Write-Through)。

相联存储器

含义

        目的是在处理器需要访问数据时,提供快速的数据检索,减少访问主存储器的延迟。

        不根据地址而是根据存储内容来进行存取的存储器,可以实现快速地查找快表。

计算机组成原理 存储系统_第13张图片

原理

        不是根据地址而是根据存储内容来进行存取的存储器。它可以按照地址寻址,也可以按照内容寻址(通常是某些字段)。

关键字和数据

        相联存储器中的每个存储项都可以直接用该项的内容作为地址来存取。其中,选用来寻址存储器的子段叫做关键字,简称为键。存放在相联存储器中的项由关键字和数据组成。

地址映射

含义

        主存地址空间映射到cache的地址空间

分类

相联映射

        含义

                主存块放在CACHE任意位置,一对多的关系。

计算机组成原理 存储系统_第14张图片

        方式

                给每一个Cache块增加一个标记位,记录对应的主存块号。

                还需要一个有效位,有效位为1时表示标记位有效,有效位为0时表示标记位无效。

        特点

                优点:Cache存储空间利用充分,命中率高

                缺点:查找速度较慢。

直接相联映射

        含义

                每个主存块放在一个特定的位置

                Cache块号 = 主存块号 % Cache总块数。

计算机组成原理 存储系统_第15张图片

        特点

                优点:只需要对比一个标记,速度最快。

                缺点:Cache存储空间不充分,命中率低

相联映射

        含义

                CACHE分为若干组,每个主存块可放到特定分组中的任意一个位置

                每个主存块对应的组号 = 主存块号 % 分组数

计算机组成原理 存储系统_第16张图片

        特点

                上面两种方法的折中,综合效果较好。

替换算法

先进先出算法FIFO

含义

        按照数据块进入cache的先后决定替换顺序

特点

         要记录每个时间戳或时间计数,用于记录CACHE被访问几次,系统开销小,不考虑程序访问的局限性

最不经常使用算法LFU

含义

        将被访问次数最少的cache行淘汰

特点

        设置一个淘汰计数器,硬件成本高。

近期最少使用算法LRU

含义

        将近期内久未被访问过的行淘汰

特点

        也需要设置一个计数器

随机替换算法LFU

含义

        从特定的行中随机的选取一行进行替换

特点

        硬件实现最容易,速度比前几种策略快。随意换出的数据很可能马上要用,从而降低命中率和工作效率。

写入策略

写回法

含义

        处理器只写cache不写内存

特点

        内存里的数据永远是最新的,cache里的数据替换时直接扔掉,简化了数据一致性

写穿法

含义

        处理器在写cache的同时写内存

特点

        显著减少显主存次数,也带来了cache与储存中数据的不一致

应用

计算机组成原理 存储系统_第17张图片

6.虚拟存储器

含义

        虚拟存储器处于“主存-辅存”存储层次,通过在主存和辅存之间增加部分软件(如操作系统)和必要的硬件(如地址映射与转换机构、缺页中断结构等)

        使辅存和主存构成一个有机的整体,就像一个单一的、可供CPU直接访问的大容量主存一样。

计算机组成原理 存储系统_第18张图片

地址映射与变换

地址空间

        虚拟地址空间

                程序员用来编写程序的地址空间

        主存地址空间

                也称物理地址空间或实地址空间

        辅存地址空间

                磁盘存储器的地址空间

地址

        虚地址

        实地址

        辅存地址

分类

页式虚拟存储器

含义

        以页为逻辑结构划分信息传送单位的虚拟存储器。

        在页式虚拟存储器中虚拟空间和储存空间均被划分成固定大小的页。

计算机组成原理 存储系统_第19张图片

地址

        虚拟地址

                组成

                        虚拟页号——虚页号VPN

                        虚拟页偏移VPO

        物理地址

                组成

                        物理页号——页框号,实页号PPN

                        物理页偏移PPO

地址映射

        虚拟地址由页号和页内地址组成。地址转换是通过页表来实现的,页表记录了逻辑页和主存中存放位置的对应关系。

优点

        页的逻辑独立性使其易于编译、管理、修改和保护。

        可以根据需要动态改变页的长度,允许自由调度,有效利用主存空间。

页表

        含义

                一张保存虚拟页号VPN和物理页号PPN对应关系的查找表,是一个由若干个表项组成的数组。

计算机组成原理 存储系统_第20张图片

        组成

                逻辑页号:逻辑地址中的页号

                主存块号:物理地址中的主存块号

                外存块号:辅存中对应的块号

                有效位:这个页面是否被调入主存中

                访问位:用于页面替换算法,主存也有用完的时候,需要进行替换,例如可以使用最不经常使用算法,统计访问次数。

                脏位:这个页面是否被修改过,修改主存后会导致主存和辅存之间数据不一致。

段式虚拟存储器

含义

        将程序的逻辑地址空间划分为不同的段,每个段可以根据程序的需要动态改变长度。每个段内部的地址是连续的,但不同段之间的地址不一定连续。

地址映射

        虚拟地址由段号和段内地址组成。地址转换是通过段表来实现的,段表记录了逻辑段和主存中存放位置的对应关系。

优点

        段的逻辑独立性使其易于编译、管理、修改和保护。

        可以根据需要动态改变段的长度,允许自由调度,有效利用主存空间。

缺点

        主存空间分配较为复杂

  自己整理的,有问题,交流学习呀!

你可能感兴趣的:(编辑器)