第四章,主存储器

1 第四章主存储器 2 一 存储器概述 存储器 存放计算机程序和数据的部件存储系统 包括存储器以及管理存储器的软硬件和相应的设备 3 存储器的作用计算机真正工作的场所是主存 内存 所有驱动程序 操作系统 工作数据 成品 半成品应用程序必须加载到主存中才能由CPU读取 高速缓存的速度比主存储器快 作为CPU与内存的缓冲区 主要起到平衡CPU与主存这间的速度的作用 有效解决了CPU速度与主存速度的不匹配问题 辅助存储器 如硬盘 软盘 也称为外存 用来存放暂时不参加运行的程序和数据 以及永久存储信息 辅助存储器的容量很大 但存取速度慢 并且不能为CPU直接访问 必须先将其中信息调入主存后 才能为CPU所访问 4 存储系统的层次结构 CPU CACHE 主存 内存 辅存 外存 根据各种存储器的存储容量 存取速度和价格比的不同 将它们按照一定的体系结构组织起来 使所放的程序和数据按照一定的层次分布在各种存储器中 5 1 主存和高速缓存之间的关系 Cache引入 为解决cpu和主存之间的速度差距 提高整机的运算速度 在cpu和主存之间插入的由高速电子器件组成的容量不大 但速度很高的存储器作为缓冲区 Cache特点存取速度快 容量小 存储控制和管理由硬件实现Cache工作原理 程序访问的局部性在较短时间内由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内 指令分布的连续性和循环程序及子程序的多次执行 数据分布不如指令明显 但对数组的访问及工作单元的选择可使存储地址相对集中 6 2 主存与辅存之间的关系 主存 半导体 优 速度快缺 容量受限 单位成本高 断电丢失信息辅存 光盘 磁盘 优 容量大 信息长久保存 单位成本低 缺 存取速度慢CPU正在运行的程序和数据存放在主存暂时不用的程序和数据存放在辅存辅存只与主存进行数据交换 7 二 存储器的分类 1 按存储器在计算机系统中的作用分类 1 高速缓冲存储器 Cache 2 主存储器 3 辅助存储器2 按存取方式分类 1 随机存取存储器RAM 2 只读存储器ROM 3 顺序存取存储器SAM sequentialAccessMemory 4 直接存取存储器DAM DirectAccessMemory 3 按存储介质分类 1 磁芯存储器 2 半导体存储器 3 磁表面存储器 4 光存储器4 按信息的可保存性分类 1 易失性存储器 2 非易失性存储器 8 4 1主存储器处于全机中心地位 1 正在运行的程序和数据存放于存储器中 CPU直接从存储器取指令或存取数据 2 采用DMA技术或输入输出通道技术 在存储器和输入输出系统之间直接传输数据 3 多处理机系统采用共享存储器来存取和交换数据 9 4 2 主存储器分类 1 随机存储器RAM randomaccessmemory 易失性存储器 2 只读存储器ROM read onlymemory 非易失性存储器 3 可编程序只读存储器PROM programmableROM 一次写入 不能修改 非易失性存储器 4 可擦除可编程序只读存储器EPROM erasablePROM 可用紫外线擦除 擦除后可再次写入 非易失性存储器 5 可用电擦除的可编程序只读存储器E2PROM electricallyEPROM 可用电改写 非易失性存储器 10 4 3主存储器的主要技术指标 主存储器的主要性能指标 主存容量 存储器存取时间和存储周期时间 1 存储容量按字节或按字寻址 容量为多少字节 单位 KB 210 MB 220 GB 230 地址线数决定最大直接寻址空间大小 n位地址 2n 2 存取时间 存储器访问时间 或读 写时间 memoryaccesstime 指启动一次存储器操作到完成该操作所经历的时间 读出时间 指从CPU向MEM发出有效地址和读命令开始 直到将被选单元的内容读出为止所用的时间 写入时间 指从CPU向MEM发出有效地址和写命令开始 直到信息写入被选中单元为止所用的时间 11 3 存储周期时间 又称读 写周期 或访问周期 CPU连续启动两次独立的存储器操作所需间隔的最小时间 目前一般存储器可达几纳秒 ns 12 4 4主存储器的基本操作 主存储器用来暂时存储CPU正在使用的指令和数据 它和CPU的关系最为密切 主存储器和CPU的连接是由总线支持的 连接形式如图4 1所示 13 问题 1 如何完成存储器的读操作 2 如何完成存储器的写操作 CPU与主存之间采取异步工作方式 以ready信号表示一次访存操作的结束 2K字 n位 14 读 取 操作 从CPU送来的地址所指定的存储单元中取出信息 再送给CPU 1 地址 AR ABCPU将地址信号送至地址总线 2 ReadCPU发读命令 3 WaitFC等待存储器工作完成信号 ready 4 AR DB DR读出信息经数据总线送至CPU 写 存 操作 将要写入的信息存入CPU所指定的存储单元中 1 地址 AR ABCPU将地址信号送至地址总线 2 数据 DR DBCPU将要写入的数据送到数据总线 3 WriteCPU发写信号 4 WaitFC等待存储器工作完成信号 ready 15 主存储器的基本结构 存储体是存储器的核心 是存储单元的集合体 而存储单元又是由若干个记忆单元组成的 地址译码驱动电路包含译码器和驱动器两部分组成 译码器将地址总线输入的地址码转换成与之对应的译码输出线上的有效电平 以表示选中了某一存储单元 然后由驱动器提供驱动电流去驱动相应的读 写电路 完成对被选中存储单元的读 写操作 I O和读 写电路包括读出放大器 写入电路和读 写控制电路 用以完成被选中存储单元中各位的读出和写入操作 存储器的读 写操作是在控制器的控制下进行的 半导体存储芯片中的控制电路 必须在接收到来自控制器的读 写命令或写允许信号后 才能实现正确的读 写操作 16 4 5读 写存储器 随机存储 RAM 17 存储信息原理 动态存储器DRAM 动态MOS型 依靠电容存储电荷的原理存储信息 功耗较小 容量大 速度较快 作主存 静态存储器SRAM 双极型 静态MOS型 依靠双稳态电路内部交叉反馈的机制存储信息 功耗较大 速度快 作Cache SRAM 利用双稳态触发器来保存信息 只要不断电 信息是不会丢失的 因为其不需要进行动态刷新 故称为 静态 存储器 DRAM 利用MOS电容存储电荷来保存信息 使用时需要给电容充电才能使信息保持 即要定期刷新 18 1 六管静态基本存储电路 P117图4 2 1 为什么说六管静态基本存储电路是利用双稳态触发器来保存信息 2 如何写 0 如何写 1 3 T5 T6管的作用是什么 一 SRAM 19 T1 T6 构成一个记忆单元的主体 能存储一位二进制信息 其中 T1 T4 构成基本RSF F用来存储一位二进制信息 T5 T6 构成读写控制门 用来传送读写信号 电路中有一条字线 用来选择这个记忆单元 有两条位线 用来传送读写信号 A 1 B 0 T1止 T2通 记忆单元存储 0 A 0 B 1 T1通 T2止 记忆单元存储 1 字线 0 记忆单元未被选中 T5 T6止 F F与位线断开 原存信息不会丢失 称保持状态 字线 1 记忆单元被选中 T5 T6通 可进行读 写操作 20 因为T5 T6通 则A B点与位线1 位线2相连 若记忆单元为 1 A 0 B 1 T1通 T2止 则位线1产生负脉冲 若记忆单元为 0 A 1 B 0 T1止 T2通 则位线2产生负脉冲 这样根据两条位线上哪一条产生负脉冲判断读出1还是0 读操作 字线 1 记忆单元被选中 T5 T6通 可进行读 写操作 21 写操作 若要写入 1 则使位线1输入 0 位线2输入 1 它们分别通过T5 T6管迫使T1通 T2止 A 0 B 1 使记忆单元内容变成 1 完成写 1 操作 若要写入 0 则使位线1输入 1 位线2输入 0 它们分别通过T5 T6管迫使T1止 T2通 A 1 B 0 使记忆单元内容变成 0 完成写 0 操作在该记忆单元未被选中或读出时 电路处于双稳态 F F工作状态由电源VDD不断给T1 T2供电 以保持信息 但是只要电源被切断 原存信息便会丢失 这就是半导体存储器的易失性 22 2 16X1位静态存储器结构图 23 T1 T6 存储单元 1bit 16个存储单元排列成4 4矩阵的形式 每个存储单元被连接到不同字线 位线的交叉处 并加上读 写控制电路 用地址编译器提供字线 位线选择信号 要访问16个存储单元 需要4位地址A0 A3 A0 A1 行地址 经X译码器产生4个译码信号来选择4行 A2 A3 列地址 经Y译码器产生4个译码信号来选择4列 这样用4位地址A0 A3可选中行 列交叉处的存储单元 为了用Y译码信号选择一列 在每个存储单元处加两个MOS管T7 T8 用于选择把指定列的全部存储单元的T5 T6管与该列的位线1 位线2连接 而其他各列的全部存储单元都与对应列的位线1 位线2断开 24 当一个存储单元被选中 它的字线使该存储单元的T5 T6管导通 列线把该存储单元的T7 T8管导通 若 执行写操作 写入数据DIN 经T5 T6 T7 T8 写入F F 若 执行读操作 F F的状态经T5 T6 T7 T8和位线1 位线2 送入读出放大器 得到读出数据信号Dout 25 1K 1位1k 210 需要10根地址线 A0 A4 X地址译码器A5 A9 Y地址译码器组成32 32的存储矩阵控制端 26 CPU通过AB把要读取的存储单元地址传送到相应的芯片读取地址引脚激活片选信号CS CS 0 并发出读取命令以 WE 1 经过一段时间 从芯片数据端输出有效数据 读出数据经DB送至目的地后 片选和读命令撤消 读周期结束 读周期 27 读周期的参数根据地址和片选信号建立时间的先后不同 有两种读数时间 若片选信号先建立 其输入输出波形如图4 5 a 所示 若地址先建立 其输入输出波形如图4 5 b 所示 28 地址读数时间taAdr当CS 0时 自地址 Adr 建立 开始 到得到读出数据所需的时间 称为地址读数时间 片选读时间taCS设地址信息在CS 1期间已建立 则从CS负跳变开始到得到读出数据所需的时间称为片选读数时间 片禁止到输出的传输延迟tPLHCS Dour是自CS正跳变到达至输出变为 1 所需的时间 地址对片选的建立时间tsuAdr CS如果地址在CS 1期间变化 则为了能在CS负跳变到达后按地址读出数据 地址的变化应提前在CS负跳变到达前进行 所需提前的最短时间称tsuAdr CS 29 CPU通过AB确定要写入信息的位置 并把要写入的数据传输到DB 激活片选信号CS CS 0 并发出写取命令 WE 0 将已传输过来的数据写入相应的地址单元 片选和写命令撤消 写周期结束 写周期 30 写周期的参数地址对写允许WE的建立时间tsuAdr要求地址的建立应提前在WE 0到达前 即WE 1 进行 所需提前的最短时间称为tsuAdr 地址对写允许WE的保持时间thAdr在写允许WE撤除后 即WE 1 地址必须保持一段时间不变 这段最短的保持时间称为thAdr 又称写恢复时间 片选对写控制的建立时间tsuCS和保持时间thCS存储器中CS的变化一般总是在WE 1期间进行 输入数据对写允许的建立时间tsuDIN把数据到达至写允许撤除的最短时间间隔称为tsuDIN 数据对写允许的保持时间thDIN最小写允许宽度tWWE 31 二 DRAM 1 三管动态存储单元 什么状态表示存入 0 什么状态表示存入 1 如何写 0 如何写 1 1 信号写入后是否能长时间保持 如何读出 0 1 信号 定义 0 C上有足够的电荷 T2导通 1 C上无电荷或电荷很少 不能使T2导通 读出 读出数据线预充电至 1 读出选择线 1 T3导通 若C上充有电荷 T2导通 读出数据线经T2 T3接地 读出电压为 0 若C上无电荷 T2截止 读出数据为 1 写入 在写入选择线上加 1 在写入数据线上加写入信号 T1导通 C随