目录
存储系统概述
存储系统的层次结构
目前存储器的特点是:
- 速度快的存储器价格贵,容量小;
- 价格低的存储器速度慢,容量大。
存储器体系结构:
- 高速缓冲存储器简称cache,它是计算机系统中的一个高速小容量的半导体存储器。
- 主存储器简称主存,是计算机系统的主要存储器,用来存放计算机运行期间的大量程序和数据。
- 外存储器简称外存,它是大容量辅助存储器。
存储器分类:
- 按存储介质分类:磁表面/半导体存储器
- 按存取方式分类:随机/顺序存取(磁带)
- 按读写功能分类:ROM(双极型/MOS),RAM(MROM/PROM/EPROM/EEPROM)
- 按信息的可保存性分类:永久性和非永久性
- 按存储系统中的作用分类:主/辅/缓/控
字存储单元:存放一个机器字的存储单元,相应的单元地址叫字地址。
字存储单元:存放一个字节的单元,相应的地址称为字节地址。
端模式:一个存储字内部的多字节排序方式。(大端/小端)
存储容量:指一个存储器中可以容纳的存储单元总数。存储容量越大,能存储的信息就越多。
存储时间又称存储器访问时间:指一次操作命令发出到该操作完成,将数据读出到数据总线上所经历的时间。通常取写操作时间等于读操作时间,故称为存储器的存取时间。
存储周期:指连续启动两次读操作所需间隔的最小时间。通常,存储周期略大于存取时间,其时间单位为ns。
存储器带宽:单位时间里存储器所存取的信息量,通常以位/秒或字节/秒做度量单位。
静态随机存取存储器
主存(内部存储器)是半导体存储器。根据信息存储的机理不同可以分为两类:
- 静态读写存储器(SRAM):存取速度块
- 动态读写存储器(DRAM):存储密度和容量比SRAM大。
基本的静态存储元阵列
- 存储位元
- 三组信号线
- 地址线
- 数据线
- 行线
- 列线
- 控制线
SRAM读/写时序
读周期
- 读出时间Taq
- 读周期时间Trc
写周期
- 写周期时间Twc
- 写时间twd
存取周期
读周期时间Trc=写时间twd
读操作:
- cpu控制下,将需要读出的存储单元的地址码通过地址总线,送到存储器地址寄存器中,这个过程叫地址有效
- 存储器地址译码器将该地址码编码翻译成相应的地址选择线信号,选定指中的存储单元
- cpu的读命令信号,经控制电路转换成存储器的读操作,将存储单元的内容读出送到数据存储寄存器中,这个过程叫读命令有效
- cpu控制下将存储数据缓冲寄存器中的内容经数据总线送到指定部件中完成读操作这个过程叫做数据输入输出
存储器容量的扩充
- 字长位数扩展(位扩展)
- 字存储容量扩展(字扩展)
- 存储器模块条(字位扩展)
DRAM存储器
DRAM存储元的工作原理
SRAM存储器的存储位元是一个触发器,它具有两个稳定状态。而DRAM存储起的存储位元是由一个MOS晶体管和电容器组成的记忆电路。
读周期,写周期的定义是从行选通辛信号RAS下降沿开始,到下一个RAS信号的下降沿为止的时间,也就是连续两个读周期的时间间隔。
DRAM读写时序
行地址有效->行选择信号有效->列地址有效->列选择信号有效
刷新周期:DRAM存储位元是基于电容器上的电荷量存储,这个电荷量随着时间和温度而减少,因此必须定期刷新,以保持它们原来记忆的正确信息
- 集中式刷新:DRAM的所有行在每一个刷新周期中都被刷新。
- 分散式刷星:每一行的刷新插入到正常的读/写周期之中。
突发传输模式
突发(Burst)访问是指存储器同一行中对相邻的存储单元进行连续访问的方式,突发长度可以从几字节到数千字节不等。由于访问地址是连续的,只需要向存储器发送一次访问地址。
同步DRAM(SDRAM)
SSDRAM称为同步型动态存储器。计算机系统中的CPU使用的是系统时钟,SDRAM的操作要求与系统时钟相同步,在系统时钟的控制下从CPU获得地址、数据和控制信息。换句话说,它与CPU的数据交换同步于外部的系统时钟信号,并且以CPU/存储器总线的最高速度运行,而不需要插入等待状态。
双倍数据率SDRAM
双倍数据率SDRAM即DDR SDRAM,在时钟的上升沿和下降沿都能传输数据,能够提供更快的操作速度和更低的功率。
DDR SDRAM之后,相继又出现了DDR2、DDR3和DDR4等SDRAM技术。
CDRAM
只读存储器
只读存储器ROM
- 掩膜ROM:掩膜ROM实际上是一个存储器固定大的ROM,由生产厂家提供产品
- 可编程ROM:用户后写入内容,有些可以多次写入。
- 一次性编程的PROM
- 多次编程的EPROM和E2PROM
FLASH存储器
并行存储器
双端口存储器
- 双端口存储器的逻辑结构:双端口存储器由于同一个存储器具有两组相互独立的读写控制电路而得名。
- 无冲突读写控制:当俩个端口的的地址不相同是,在两个端口上进行读写操作,一定不会发送冲突
- 有冲突读写控制:当两个端口同时存取同一存储单元时,便发生读写冲突。为了解决此问题,特设置了BUSY标志
多模块交叉存储器
存储器的模块化组织:一个由若干个模块组成的主存储器是线性编址的。这些地址在各模块中如何安排,有两种放方式:一种是顺序方式,一种是交叉方式
cache存储器
cache基本原理
cache的功能:解决CPU和主存之间的速度不匹配问题
- 一般采用高速的SRAM构成
- CPU和主存之间的速度差别很大采用两级或多级Cache系统
- 早期的以及cache在cpu内,二级在主板上
- 现在的cpu内带L1 cache和L2 cache
- 全由硬件调度,对用户透明
cache基本原理
- 地址映射
- 替换策略
- 写一致性
- 性能评价
cache命中率
示例
主存和cache的地址映射
- 全相联的映射方式:优缺点 冲突概率小,cache利用高,难实现。适用于小容量的cache
- 直接映射方式:优缺点 实现简单,冲突率高。适用于大容量的cache
- 组相联映射方式
虚拟存储器
虚拟存储器的基本概念
在三级存储体系中,cache,主存和主存储这两个存储层次由许多共同点:
- 出发点相同
- 原理相同
- 侧重点相同
- 数据通路不同
- 透明性不同
- 未命中时的损失不同
虚存机制要解决的关键问题
- 调度问题
- 内外地址转化问题
- 一致性问题
页式虚拟存储器
段式虚拟存储器
段是按照程序的自然分界划分的长度可以动态改变的区域。在段式虚拟存储系统中,虚地址由段号和段内地址(偏移量)组成。虚地址到实主存地址的变换通过段表实现。每个程序设置一个段表,段表的每一个表项对应一个段。
段页式虚拟存储器
存储端采用页式,程序段采用段式