最新多层次的存储器(节).ppt

最新多层次的存储器(节).ppt

当构成一个容量较大的存储器时,往往需要在字数方向和位数方向上同时扩展。 如:用16K×4的SRAM组成64K×8的存储器,需要8个芯片。分成4组,每组两片。 组内实现位扩展,组间实现字扩展 容量 地址 数据 存储器 64K×8 16 8 存储芯片 16K×4 14 4 3.字和位同时扩展 2:4 译 码 器 D7 ~D0 A13 ~A0 WE D7 ~D4 D3~D0 16K ×4 16K ×4 16K ×4 16K ×4 16K ×4 16K ×4 16K ×4 16K ×4 CS0 A14 A15 CS1 CS2 CS3 二、存储芯片的地址分配和片选 在CPU系统中,地址分为片内和片外; 片内地址:直接连接每个存储芯片 片外地址:系统的高位地址线连接译码器 存储容量扩充时如何用高位地址区分各个芯片? 实现片选的方法可分为三种,即: 线选法 全译码法 部分译码法 1. 线选法 只用少数几根高位地址线进行芯片的译码,且每根负责选中一个芯片(组) 构成简单,但地址空间严重浪费 会出现地址重复,一个存储地址会对应多个存储单元 线选译码示例 A14 A12~A0 A13 (1) 2764 (2) 2764 CE CE 请看地址分析 由于芯片的片选信号低电平有效,当某地址线信息为“0”时,就选中与之对应的存储芯片。 线选译码示例——地址分析 切记: A14 A13=“00” 的情况不能出现, 此时 00000H~01FFFH 的地址将不能使用 2. 全译码 所有的系统地址线均参与对存储单元的译码 低位地址线对芯片内各存储单元的译码寻址(片内译码),高位地址线对存储芯片的译码寻址(片选译码) 采用全译码,每个存储单元的地址都是唯一的,不存在地址重复 译码电路可能比较复杂、连线也较多 全译码示例 A19 A18 A17 A15 A14 A13 A16 C B A E3 138 A12~A0 CE Y6 E2 E1 IO/M* 2764 请看地址分析 全译码示例——地址分析 3. 部分译码 只有部分(高位)地址线参与对存储芯片的译码 每个存储单元将对应多个地址(地址重复),需要选取一个可用地址; 可简化译码电路的设计; 但系统的部分地址空间将被浪费 部分译码示例 138 A17 A16 A11~A0 A14 A13 A12 (4) (3) (2) (1) 2732 2732 2732 2732 C B A E3 -E2 -E1 IO/-M -CE -CE -CE -CE -Y0 -Y1 -Y2 -Y3 请看地址分析 部分译码示例——地址分析 任一个存储单元,都对应有23个地址,这种一个存储单元出现多个地址的现象称地址重叠。 三、 CPU与主存储器的连接与读写控制 主存容量 2k字 字长 n位 地址总线 数据总线 Read Write MFC k位 n位 CPU MDR MAR 1. 主存与CPU的硬连接 有三组连线:地址总线(AB)、数据总线(DB) 控制总线(CB) 此时,我们把主存看作一个黑盒子,存储器地址寄存器(MAR)和存储器数据寄存器(MDR)是主存和CPU之间的接口。 MAR可以接受来自程序计数器的指令地址或来自运算器的操作数地址,以确定要访问的单元。 MDR是向主存写入数据或从主存读出数据的缓冲部件。 CPU对主存进行读/写操作时: (1)首先CPU在地址总线上给出地址信号 (2)然后发出相应的读或写命令 (3)等待存储器工作完成信号 由于CPU和主存的速度存在着差距, CPU和主存间没有统一的时钟,由存储器工作完成信号(MFC)通知CPU存储器工作已完成。 (4)在数据总线上交换信息。 2.读操作 读操作是指从CPU送来的地址所指定的存储单元中取出信息,再送给CPU。 地址→MAR→AB ;CPU将地址信号送至地址总线 Read ; CPU发读命令 Wait for MFC ;等待存储器工作完成信号 ((MAR))→DB→MDR ;读出信息经数据总线送至CPU 主存容量 2k字 字长 n

文档评论(0)

1亿VIP精品文档

相关文档