580 likes | 816 Views
第七章 存储器系统. 7.1 存储器原理 7.2 存储器容量的扩展及与 CPU 的接口 7.3 存储器系统的层次组织 7.4 主存储器的组织. 7.1 存储器原理. 7.1.1 存储器分类. 1. 按用途分类 内存(主存):存放当前运行所需要的程序和数据。特点是存取速度快,但容量小,且价格较高。 外存(辅存):存放当前暂不参与运行的程序、数据和文件,以及一些永久性保存的程序、数据和文件。特点是存储容量大,价格低,存取速度慢。.
E N D
第七章 存储器系统 7.1 存储器原理 7.2 存储器容量的扩展及与CPU的接口 7.3 存储器系统的层次组织 7.4 主存储器的组织
7.1 存储器原理 7.1.1 存储器分类 1. 按用途分类 内存(主存):存放当前运行所需要的程序和数据。特点是存取速度快,但容量小,且价格较高。 外存(辅存):存放当前暂不参与运行的程序、数据和文件,以及一些永久性保存的程序、数据和文件。特点是存储容量大,价格低,存取速度慢。 内存和外存的本质区别是:内存直接与CPU相联接,是计算机的组成部分。外存不直接与CPU相联接,而是通过I/O接口与CPU联接。
7.1.1 存储器分类 2. 按存储介质分类 磁存储器(磁芯、磁盘及磁带)、半导体存储器(半导体集成电路存储器)、光存储器、激光光盘存储器。 由于半导体存储器具有集成度高、功耗低、可靠性好、存取速度快、成本低等优点,而作为构成存储器的最主要的存储器件。
7.1.1 存储器分类 3. 按信息存取方式分类 随机存储器(RAM):存储器中的信息既能随时读出,也能随时写入,RAM中的信息在关机后即消失(瞬间掉电也会丢失,无法恢复),具有信息的易失性。 只读存储器(ROM):只能读出信息,不能写入新的信息。ROM中的信息关机后不消失,具有信息的非易失。 4. 按制造工艺分类 NMOS、CMOS、TTL、ECL、砷化镓等。
7.1.2 存储器的性能指标 存储容量:存储器可存储的二进制信息量,一般以能存储的字数乘以字长表示: 存储容量=字数×字长 例如:SRAM 6264容量为8K*8,即它有8K个存储单元,每单元存储8位二进制数。 微机中存储器大多以字节为单位编址,用可存储信息的最大字节数表示存储器容量。 存取速度:存储器的存取速度用最大存取时间或存取周期来描述。存储器存取时间定义为从接收到存储单元的地址码开始,到它取出或存入数据为止所需时间。
7.1.2 存储器的性能指标 功耗:功耗指每个存储单元的功耗,单位为微瓦/单元(μW/单元),或给出每块芯片的总功耗,单位为毫瓦/芯片(mW/芯片)。它不仅涉及到消耗功率的大小,也关系到芯片的集成度。 可靠性:可靠性是指存储器对电磁场、温度等外界变化因素的抗干扰能力,一般用平均无故障时间来描述。半导体存储器的平均无故障时间通常在几千小时以上。 体积、功耗、工作温度范围、成本高低等也是人们关心的指标。上述指标中有些是相互矛盾的,设计时,根据实际需要,尽可能满足主要要求且兼顾其它。
7.1.3 随机读写存储器RAM SRAM:静态RAM(Static RAM),基本记忆元件是触发器。利用半导体触发器的两个稳态表示1和0。电源不关掉,SRAM的信息不会消失,不需要刷新电路,非破坏性读出。 DRAM:动态RAM(Dynamic RAM),利用MOS管的栅极对其衬底间分布电容保存信息,DRAM的每个存储单元所需MOS管较少,因此集成度高、功耗低,DRAM中的信息会因电容漏电而逐渐消失,破坏性读出,读后需重写。
一、静态RAM 1. 基本存储电路 T1、T2 反相管 T3、T4 负载管 T5、T6 行选通管 T7、T8 列选通管 静态MOS 6管基本存储电路
1. 基本存储电路 行选通和列选通信号为高电平时,T5、T6、T7、T8导通,选中该存储单元。 写入时 由数据线输入 若数据线=1,T1 导通,T2 截止,A点电位被T4拉至高电位, A=1,B=0。 若数据线=0, T1截止,T2导通,A=0,B=1。 读出时 A、B点信号由T5、T6送出到 数据线上。 若A=1,B=0,则数据线=1。 若A=0,B=1,则数据线=0。
D0 A0 A1 D1 . . . . . . . . . . . . Am-1 Dn-1 读/写控制逻辑 片选通读/写选通 2. RAM 原理 半导体存储器芯片通常由存储矩阵、单元地址译码、数据缓冲/驱动和读/写控制逻辑四部分组成。 地址译码器 数据缓冲器 基本存储电路 组成的 存储矩阵(体) 地址码的位数m与存储器得字数W的关系:W=2m
2. RAM原理 ,写入 ,读出 ,禁止 A3A2A1A0=0100时, 4#被选中 A3A2A1A0=1100时, 12#被选中 16×1静态RAM原理图
3. SRAM 2114 10根地址线,可寻址210=1K个存储单元; 4根I/O线,每个存储单元可存储4位二进制信息; 芯片容量为:1K×4 Intel 2114 SRAM结构框图
4. SRAM读写时序 B点前提供CS信号,可减小存取时间。 读周期时序
4. SRAM读写时序 地址状态达到稳定后,才能加入写脉冲。 即B点后,写信号有效。 写周期时序
二、动态RAM 1. 基本存储电路 存储的信息是0还是1,由电容上是否充有电荷决定。 读操作:破坏性读出,整个一行上所有的电容都会受到干扰,由刷新放大器对该行中个基本存储电路按读取的状态进行重写。 写操作:输入数据被存入选中的存储单元,该行的其它存储单元址进行刷新。 单管动态RAM 基本存储电路
2. DRAM 2118 Intel 2118 DRAM结构框图
3. DRAM 的刷新 将一个行地址发送给存储器器件,然后执行一次读操作,便可完成对选中的行中个基本存储电路的刷新。刷新可采用“集中”和“分散”两种方式。 刷新周期:典型刷新周期为2ms。C=0.2pF, △U=1V,泄漏电流I=10-10A,则有: 刷新周期与读周期的区别: ⑴ 地址给出方式不同:读周期,地址来自地址总线;刷新周期,地址由刷新计数器提供。 ⑵ 读周期,每次选中一个存储单元;刷新周期,各单元的刷新可同时进行。 ⑶ 读周期,选中的存储单元的数据线与外部数据线相连;刷新周期,各存储单元的数据输出呈高阻状态,即片内数据线与外部数据线完全隔离。
7.1.3 只读存储器ROM 只读存储器(ROM, Read Only Memory)为数据非易失性器件,在正常工作时它存储的数据只能读出,不能随时写入,掉电后信息不丢失。 ROM通常用来存放常驻监控程序和固定代码,也常用于代码变换,存储各种输入/输出变量逻辑函数的真值表、符号等。 按数据的写入方式可将ROM分为:掩模ROM、PROM、EPROM、E2PROM和FLASH ROM等。
一、掩模ROM 由厂家采用掩模工艺将信息存储在芯片中,一次性写入,永久保存,用户无法改变存储内容。 字位结构:行线选择字,列线选择位 跨接MOS管,该位信息为0; 不跨接MOS管,该位信息为1。 4×4 MOS ROM
二、PROM 编程时,若要写入信息0,则相应位线送上低电平,晶体管导通,熔丝被烧断;若要写入1,则相应位线送高电平,晶体管截止,熔丝不被烧断。 读操作时,若熔丝没有断,则位线被拉到Vcc高电平,读出信息为1。若熔丝被烧断,读出信息为0。 熔丝在编程时一旦被烧断,不能再复原,因此只能进行一次编程。 熔丝式PROM基本存储电路
三、EPROM 出厂时,信息为全1。要写入0,D和S间加25V的编程电压。紫外线擦除(光电流),全部擦除,不能只擦除个别单元。可以多次改写,但编程速度较慢。 P沟道FAMOS管基本存储电路 P沟道FAMOS管结构
四、E2PROM 一种可用特定电信号进行(在线)擦除和编程的ROM。自身有一个升压电路,使用正常的5V电源写入,写入会自动将原有内容擦除(内部的升压电路产生大电压和电流) 。 能在应用系统中进行在线读写,并可按字节进行擦除和改写。使用更加方便,但存取速度较慢(不能取代RAM,RAM的读写周期是60~100ns,EPROM的写入周期是50 ms,E2PROM的写入周期是1~10ms),价格较贵。 程序调试过程中,使用E2PROM,调试通过后,存储到EPROM中。在工业控制领域,常使用EPROM存储监控程序。
7.1.5 高速缓存Cache 微机系统性能的提高不仅取决于CPU时钟频率,还与指令系统功能、信息在各个部件之间的传送速度、存储器的存取速度等因素有关。特别是CPU对内存的存取速度。 CPU与内存之间速度差异的解决办法有: 1. 插入等待周期,缺点:浪费CPU的能力。 2. 使用SRAM作存储器,缺点:系统成本大幅提高。 3.使用Cache,优点:既提高存取速度,又不使成本过高。
7.1.5 高速缓存Cache 一、操作基本原理 1. 基本思想 程序执行时对存储器访问的局部性。 (1)程序存储区:指令序列在内存的地址分布是连续的,且循环程序段和子程序段要重复执行多次,因此对存放代码的存储区的访问具有时间上集中分布的倾向。 (2)数据存储区:对数组的存储和访问、工作单元的选择可使存储器的地址相对集中。
7.1.5 高速缓存Cache 一、操作基本原理 2. 操作方式 把主存储器DRAM中的程序代码和数据区一块一块地复制到Cache中。 CPU在取指令和操作数时,首先在Cache中查找。 若找到了,就从Cache中读取;若未找到,则从主存中读取。
7.1.5 高速缓存Cache 一、操作基本原理 3. 命中率 CPU在任意时刻从Cache中获取信息成功的概率。命中率越高,对提高CPU速度性能越有利。 Cache容量与命中率: (1)容量太小,会使命中率太低; (2)容量超过一定值后,命中率随容量增加不明显。 高档微机采用两级或三级Cache(L1、L2和L3),其中L1或L1和L2集成在CPU内部。
7.1.5 高速缓存Cache 一、操作基本原理 4. Cache的实现——关联存储器 由数据存储区和地址标志存储区两部分组成。 数据存储区分成许多小的存储块,每个存储块可存储若干个字节。 地址标志存储区为每个存储块配备一个若干位的地址标志,指明与之对应的存储块中的数据在主存储器中的地址。
7.1.5 高速缓存Cache 二、80486CPU内部Cache 80486 CPU内部集成了8KB的高速Cache,用于存放指令和数据。 8KB的Cache采用4路成组相关式结构: 分为4组,每组2KB,每组128行,每行是一个16字节的存储块。
7.1.5 高速缓存Cache 二、80486CPU内部Cache 1. 地址标志区的内容 每组有一个存放地址标志的SRAM,为128*22位,每行对应22位: 1位有效位(V)指示该行存储的信息是否有效; 21位地址标志存放改行存储的信息在主存储器中的物理地址的高21位(A31~A11); 行号(0~127)对应于物理地址的A10~A4。
7.1.5 高速缓存Cache 二、80486CPU内部Cache 2. 操作方式 开机时Cache为空,CPU执行程序时读主存储器,读取的内容一方面提供给CPU,另一方面要将其内容按块(16字节)复制到Cache的某行,行号由物理地址的A10~A4决定。同时将高21位(A31~A11)登记在该行对应的地址标志中。 此后,CPU每次读取主存储器时,首先去Cache中查找。若命中,则从Cache中读取;若未命中,则从主存储器中读取。
7.1.5 高速缓存Cache 二、80486CPU内部Cache 3. 查找Cache的方式:先选行再选组 (1)根据物理地址的A10~A4确定4个组中对应的行号; (2)将物理地址的A31~A11分别于4个组中对应行的地址标志的内容进行比较; (3)若某组对应行地址标志的内容与物理地址的A31~A11一致,则高速命中,该组的该行被选中。 (4)按物理地址的A3~A0确定被选中行的16个字节的对应字节。
7.1.5 高速缓存Cache 二、80486CPU内部Cache 4. READ周期 在READ未命中周期,CPU从主存储器读取数据,其数据也被写入高速缓存的行组部分,数据拷贝到哪个组,应首先选中V位为0(无效)的组。常用最近最少算法(LRU)保留最近使用的指令和数据,替换以后使用可能性小的组。 在READ命中周期中,CPU只从Cache读取数据。
7.1.5 高速缓存Cache 二、80486CPU内部Cache 5. WRITE周期 在WRITE周期命中,数据一经写入Cache,修改后的这个行也将写到主存储器中,这种方式称为“通写”方式。 在WRITE未命中周期,CPU只把数据写入主存储器。
7.2 存储器容量的扩展及与CPU的接口 在进行系统设计时,当单个存储器芯片的容量不能满足系统存储器要求时,需要将多个存储器芯片组合使用,这就是存储器容量的扩展。 CPU对存储器进行读/写操作,首先由地址总线给出地址信号,然后要发出有关进行读操作或写操作的控制信号,最后在数据总线上进行信息交流。 因此,存储器与CPU的连接,要完成地址线、数据线和控制线的连接。
7.2.1 存储器容量的扩展 • 1. 位扩展 • 如果存储器芯片的位数小于存储器所要求的位数,就需要进行位扩展。 • 2. 字扩展 • 单片存储器芯片的容量总是有限的,需要用若干芯片组成容更大的存储器,称为字扩展。 • 3. 字位扩展 • 在构成一个实际的存储器时,往往需要同时进行位扩展和字扩展才能满足要求。
7.2.1 存储器容量的扩展 1K×4 SRAM组成4K×8存储器模块
7.2.1 存储器容量的扩展 存储器芯片组成存储器的芯片数计算公式: 例如: 一个64KB的RAM存储器,若用动态RAM 2116(16K×1)芯片组成,则 64/16×8=32片;若用静态RAM 6116(2K×8)芯片组成,则 64/2×1=32 片。
7.2.2 数据线、地址线和读/写控制线的连接 ◆数据线的连接: 存储器芯片的地址端Dn-1~D0可以直接和系统数据总线 (DB)相应的数据位相连。 ◆地址线的连接: 存储器芯片的地址端Am-1~A0可以直接和系统地址总线 (AB),从A0开始的低位地址部分相应的地址线相连。
与 RD M/IO WR MEMR MEMW 与 7.2.2 数据线、地址线和读/写控制线的连接 ◆读/写控制线的连接: 把CPU读/写操作控制信号(RD,WR和M/IO)进行逻辑组合,产生存储器读MEMR和存储器写MRMW信号,分别接存储器芯片的输出(读)允许OE和写允许WE信号 。
7.2.3 片选信号的产生 ◆CPU对存储单元的寻址必须要保证其寻址惟一性。 ◆存储器单元寻址分两级进行: 首先根据提供的片选地址码,通过存储器芯片外部译码电路,产生存储器芯片选通信号(CS/CE); 然后在片选信号有效的前提下,根据片内地址码由芯片内部译码电路,产生片内寻址,选中该芯片中(惟一的)一个存储单元。 ◆产生存储器片选信号的方法: 线选法:简单、地址不连续,地址可能重叠。 部分译码:高位地址线部分参加译码,地址可能重叠。 全译码法:高位地址全部参加译码,地址连续唯一不重叠。
7.2.3 片选信号的产生 CPU地址线16位 存储器地址线10位 MREQ为存储器请求信号 全译码电路
7.2.4 8086系统中存储器的组成 8086微机中内存的奇偶分体 8086 CPU有20条地址线,可直接寻址1MB的内存地址空间。对内存的一次访存操作,既可处理一个16位字,也可只处理一个字节。 8086 CPU在组织1MB的存储器时,其空间实际上被分成两个512K的存储体,即“偶地址存储体”和“奇地址存储体”。 8086存储器组成原理图
7.2.4 8086系统中存储器组成 U1/U2:2764(8K×8 EPROM) U3/U4:6264(8K×8 SRAM) ROM地址 FC000H~FFFFFH RAM地址 00000H~03FFFH 8086最小方式系统存储器译码电路
7.2.4 8086系统中存储器组成 8086最小方式系统中16KB ROM和16KB RAM存储器逻辑图
7.3 存储器系统的层次组织 评价存储器性能的三大指标:高速度、大容量、低价格。 这三个参数简接决定了存储器的用途和在系统中的位置。 高档微机中的存储器系统采用“金字塔”的层次结构:从上到下,各种存储器的容量越来越大,价格越来越便宜,但存取速度越来越慢。
CPU内部 REG 第1层 指令、数据栈 第2层 多级Cache(SRAM) 第3层 主存储器(DRAM) 第4层 第5层 级联外部存储器(磁盘存储器等) 脱机外部存储器(磁带、光盘等) 第6层 金字塔层次结构 容量增大 速度减慢 价格降低
7.4 主存储器的组织 CPU通过系统总线与存储器控制器MCH(Memory Controller Hub)相连,MCH控制内存的所有操作,聚友网络集线器特性,承担双向直通传输任务,又称为“北桥”芯片. MCH与内存插槽之间的接口是存储器总线,有的系统只有一组存储器总线(单通道);大多数系统有A\B两组存储器总线(双通道)。
7.4.1 内存芯片 一、芯片的位宽和容量 芯片的存储器单元是一次读/写包括的所有基本电路。 芯片的位宽是一次读/写的数据位数,即存储单元的位数。 芯片的容量是芯片内总的基本存储电路的个数,即能存储的二进制位的总数,通常用Kb、Mb、Gb表示。 容量=存储器单元数×位宽,也可表示为128K×8、512M×16、1G×8等。
7.4.1 内存芯片 二、芯片内的Bank组织 存储器芯片通常分割成4个或8个行列数相同的存储矩阵,即子阵列,这种子阵列被称为Bank。 对一个芯片进行存储单元选择时使用3个寻址变量:Bank选择、行选择和列选择。 芯片的页:Bank内一行所包含的单元总和。
Rank就是由多个芯片并列形成的64位的存储单元,这些芯片受同一条片选信号CS控制。Rank是系统存储体的一个子存储体。Rank就是由多个芯片并列形成的64位的存储单元,这些芯片受同一条片选信号CS控制。Rank是系统存储体的一个子存储体。 7.4.2 存储器条和通道组织 一、Rank的定义 存储器编址到字节,即每个字节都有一个独立的地址码。 现在多数系统的存储器总线的数据宽度为8个字节(64位),内存每次读写64位,即要求每个存储单元为64位,这需要多个芯片排列组成。