存储器概述
存储器分类
按照在计算机中的层次分类
- 主存储器,又称内存。
- 辅助存储器,又称辅存、外存。
- 高速缓冲器,建成 ,处于主存和 之间,用于存放 经常使用的指令和数据,其存取速度可与 相匹配。
按照存储介质分类
可分为磁表面存储器(磁盘、磁带)、磁芯存储器、半导体存储器( 型存储器、双极型存储器)和光存储器(光盘)。
按照存取方式分类
- 随机存储器(),存储器中的任意位置都可随机存取,且存取时间与位置无关,主要用作主存或 ,可以分为静态 和动态 .
- 只读存储器(),存储器的内容只能随机读出而不能写入,信息一旦写入,即使断电内容也不会丢失,由 派生出的存储器也可以反复重写。 和 RAM 均为随机存取,广义上的只读存储器现在可以通过点擦除的方式写入,其 只读 的概念并没有保留,但是其写入速度会比读取速度满很多。
- 穿行访问存储器,读写时按照其物理位置的先后顺序寻址,包括顺序存取存储器(如磁带)和直接存取存储器(如磁盘、光盘)。
按照信息的可保存性分类
断电后信息消失的存储器成为 易失性存储器,信息仍然保留的被称为 非易失型存储器。
若信息被读出时,原存储信息被破坏,则称为 破坏性读出,否则称为 非破坏性读出,具有破坏性读出的存储器每次读出后,必须紧跟一个 再生 操作。
存储的性能指标
主要有三个指标——存储容量、单位成本、存储速度。
存储容量 存储字数 字长,单位成本 总成本 总容量,存储速度 数据宽度 存取周期。
存取时间不等于存取周期,一般存取周期大于存取时间,因为读写之后,需要有一段恢复内部状态的复原时间。对于破坏性存储器,存储周期甚至可以达到存取时间的两倍。
多级层次的存储系统
存储器层次结构的主要思想是上一层的存储器作为下层存储的高速缓存,其速度接近上层,而成本却接近于下层存储器,能一定程度上解决 速度、容量、成本 三者的矛盾。
主存和 之间的数据调用是由硬件完成,对所有程序员都是透明的。
在主存 - 辅存的不断发展中,逐渐形成了 虚拟存储系统,使得编程时可用的地址空间远大于主存空间。
主存 - 和主存 - 辅存中,上层内容都是下层的一部分内容的副本。
主存储器
主存储器主要由 实现, 则由 实现,都属于易失性存储器。
的单位价格低于 ,速度也慢于 ,因为 需要更多的硅。
通常把存放一个二进制位的物理器件成为 存储元 ,地址码相同的多个存储元构成一个 存储单元 ,若干存储单元构成 存储体 .
SRAM 芯片
静态随机存储器()的存储元是利用双稳态触发器(六晶体管 )来记忆信息,属于非破坏性存储器。
SRAM 存取速度快,但是集成度低,功耗较大,价格昂贵。
DRAM 芯片
动态随机存储器()利用存储元电路中的栅极电容上的电荷存储信息, 的基本存储元只使用一个晶体管,因此其密度比 高很多。
相对于 来说, 更易集成、价格更低,容量更大,功耗更低。
电容上的电荷一般只能维持一到两毫秒,因此需要每隔一段时间刷新一次,刷新周期通常取 . 常用刷新方式有 种:
- 集中刷新:在一个刷新周期内,利用一段固定时间,依次对存储器进行逐行再生,此期间 停止读写,成为 死时间 ,又称访存 死区 ;
- 分散刷新:将每行刷新分散到各个周期中去,因此一个存储器的工作周期被分为两部分—— 前半部分用于正常读、写或保持,后半部分用于刷新。此方式虽然没有死区,但是延长了系统的存取周期,导致整机速度降低;
- 异步刷新:前两种方法的结合,可以缩短死时间,并且充分利用最大刷新间隔 的特点。其将刷新周期除以行数得到两次刷新操作之间的时间间隔 ,利用逻辑电路间隔产生刷新请求,从而避免使 连续等待过长时间,并且减少了刷新次数,提高工作效率。
刷新操作对 是透明的,且刷新单位是行,由芯片内部整成行地址。
刷新操作类似于读操作,但是有所不同。另外刷新不需要选片,整个存储器中的所有芯片同时被刷新。
SDRAM 芯片
同步动态存储器,内部分为多个存储体,可以轮流交叉工作,因此该芯片有额外选择存储体的引脚;支持突发读写,行列地址送一次后,可以连续读取 个连续数据,常用于高速缓存等。
更高级的还有 等。
DRAM 芯片的读写周期
读周期中,为了使芯片能正确接受行、列地址,行选通信号 和列选通信号 有效期会有一段时间间隔,先接受行地址,再接受列地址。读写控制信号 为高电平,并在 有效前建立。
写周期中,行列选通的时序关系和读周期相同, 为低电平,并在 有效前建立。
读 (写)周期表示 芯片进行两次连续读(写)所必须间隔的时间。
DRAM 芯片容量大,为了减少地址引脚数量,因此将行列地址分开输入。
SRAM 和 DRAM 的比较
| SRAM | DRAM | |
|---|---|---|
| 存储信息 | 触发器 | 电容 |
| 破坏性读出 | 非 | 是 |
| 需要刷新 | 不要 | 需要 |
| 送行列地址 | 同时送 | 分两次 |
| 运行速度 | 快 | 慢 |
| 集成度 | 低 | 高 |
| 成本 | 高 | 低 |
| 主要用途 | 高速缓存 | 主机内存 |
存储器芯片内部结构
存储器芯片主要由以下部分组成:
- 存储体(存储矩阵),由 行选择线(X) 和 列选择线(Y) 来选择目标单元。存储体的相同行、列上的位同时被读出或写入。
- 地址译码器,将地址转换为移码输出线上的高电平,驱动相应读写电路。
- I/O 控制电路,控制选中单元的读出或写入,具有 放大信息 的作用。
- 片选控制信号,由于单个芯片容量太小,因此多个芯片扩展,访问某个字时,首先要片选对应的芯片,而其他芯片不被选中。
- 读/写控制芯片,控制读/写行为。
指令执行过程
指令执行过程中需要访问主存时, 首先将被访问单元地址送到 ,通过 地址线
将其送到主存中的 地址寄存器。
同时 将读写信号通过 控制线 送到主存的 读写控制电路
- 若是写操作,将数据送到 MDR 中,在 读写控制电路 的控制下,经过 数据线 将信号写入选中单元;
- 若是读操作,主存将数据送到 MDR 中。
数据线宽度和 相同。
多模块存储器
多模块存储器是一种空间并行技术,利用多个结构完全相同的存储模块的并行工作来提高存储器的吞吐率,常用的有 单体多字存储器 和 多体低位交叉存储器。
的速度比存储器快得多,若同时从存储器中取出 条指令,就可充分利用 CPU资源,提高运行速度,多体交叉存储器就是基于该思想提出。
单体多字存储器
特点是存储器中只有一个存储体,每个存储单元存储 个字,总线宽度也为 个字,一次并行读出 个字,地址必须顺序排列并处于同一存储单元。一个存储周期内,从同一地址取出 条指令,然后逐条送至 .
缺点:指令和数据在主存内必须是连续存放的,一旦遇到转移指令或操作数不能连续存放的情况,该方法效果不明显
多体并行 (交叉)存储器
由多体模块组成,每个模块的容量速度相同,各模块有独立的读写控制电路、地址寄存器和数据寄存器,既能并行工作(即所有存储体同时工作),又能交叉工作。
有高位交叉编址 (顺序方式)和低位交叉编址(交叉方式)两种,高位交叉编址中高位地址表示体号,低位地址表示体内地址,低位地址译码之后才能访问对应模块。
访问连续主存块时,必须先在一个模块内访问完毕,才能访问下一个模块,不能并行访问,因此不能提高存储器吞吐。
低位交叉方式的低位地址为体号,高位地址为体内地址,每个模块按照 模m 交叉编址,模块号 单元地址 ,数据或程序连续存储在相邻模块中。
地位交叉方式编址后,可在不改变每个模块的存取周期下,采用 流水线 的方式并行存储,提高存储器的带宽。
加速比:设读出的是转移指令且转移成功或数据不连续的概率为 ,则并行存储器的加速比为
相联存储器
相连存储器通常由 组成,是按照内容而不是地址访问的,但是其也可以按照地址访问;存储器内有大量的比较器并发比较,并将结果接入多路选择器,因此硬件复杂,成本高,其容量不可能太大,太大会导致查找速度变慢;一般用于 的目录表,虚拟存储器的快表等。
主存储器与 CPU 的连接
连接原理
- 主存储器通过数据总线、地址总线和控制总线与 连接
- 数据总线的位数和工作频率的乘积正比于数据传输率
- 地址总线的位数决定了可寻址的最大内存空间
主存容量扩展
单个存储芯片容量有限,因此常用多个芯片扩展主存容量。
位扩展法
顾名思义,对位即字长进行扩展,使其数据位数和数据线位数 相同 .
位扩展法可以理解为并联,所有芯片的 地址端、片选端和读写控制端 就并联,即接受相同的信号,数据端全部接入数据线,充当其一部分,这样就能同时发出更多位的数据。
字扩展法
与位扩展法相反,字扩展法扩展主存所能存储的总字数,显然需要将一部分信号(高位)经过译码器(2/4, 3/8 等)充当 片选信号 ,同时所有芯片的数据端都与数据线相连,这样同一时间只会有一个芯片被激活,也只会有一个芯片的数据进行传送 .
字位同时扩展法
不再赘述。
芯片片选
片选除了选择译码器还可以直接片选,被称为线选法,要求片选信号中只能有一位有效,这会导致地址空间不连续。
只读存储器
特点
中一旦有了信息,就不能轻易改变,即使掉电也不会丢失,其有两个显著优点:
- 结构简单,位密度比高;
- 非易失性,可靠性高。
类型
根据制造工艺不同,分为 掩模式只读存储器(MROM)、一次可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、 存储器和固态硬盘()。
- ,其内容由半导体制造厂按照用户需求直接写入,不可更改;
- ,只可以利用专门设备实现一次性编程;
- ,可以利用专门设备实现多次改写,但是写入时间长,次数有限;
- 存储器,能快速擦除重写,价格便宜集成度高;
- 固态硬盘,用固态电子存储芯片阵列制成的硬盘,由控制单元和存储单元( 芯片)组成,对比传统硬盘读写快,功耗低,但是价格高。
外部存储器
磁盘
优点
- 容量大,单价低;
- 可重复写入;
- 信息可长期保存,甚至脱机存档;
- 非破坏性读出,无需再生。
缺点:速度慢、机械结构复杂、对工作环境要求高。
磁盘存储器
组成:
- 磁盘驱动器,核心部件是 磁头组件 和 盘片组件;
- 磁盘控制器,是磁盘和主机的接口,主流标准有 、、;
- 盘片。
存储区域:一块硬盘有若干 记录面,每个面划分为若干 磁道,每条磁道又划分为若干 扇区(又称,块),其是硬盘读写的最小单位。
磁头数:就是记录面的数量,表示硬盘有多少个磁头,一一对应。
柱面数:表示每面盘片上有多少磁道,不同记录面相同位置的磁道就形成了柱面。
扇区数:每个磁道的扇区数。
一个磁盘由不同的盘片组成,每个盘片的上下面都可以读写。
磁道的形状是圆环,越靠近里面磁道号越小,中央的地区被称为启停区,不存储数据。
扇区包含了 一个磁道 的一部分。
柱面由不同及记录面上相同磁道号的磁道所形成。