1.07k likes | 1.38k Views
第三章 存储系统. §3.1 存储系统概述. 一、存储器分类. 1 、按存储介质分类. 2 、按存取方式及功能分类. 3 、按在计算机中的作用分类. 数据有效. 数据有效. 地址和命令有效. 地址和命令有效. MEM 恢复. MEM 恢复. MEM 响应. MEM 响应. T A. T A. T M. T M. 二、存储器的主要性能指标. * 容量 (S) : 能存储的二进制信息总量,常以字节 (B) 为单位. * 速度 (B) : 常用带宽、存取时间或存取周期表示
E N D
§3.1 存储系统概述 一、存储器分类 1、按存储介质分类 2、按存取方式及功能分类
数据有效 数据有效 地址和命令有效 地址和命令有效 MEM恢复 MEM恢复 MEM响应 MEM响应 TA TA TM TM 二、存储器的主要性能指标 *容量(S):能存储的二进制信息总量,常以字节(B)为单位 *速度(B):常用带宽、存取时间或存取周期表示 存取时间(TA)—指MEM从收到命令到完成操作所需时间 存取周期(TM)—指连续访存的最小间隔时间,TM=TA+T恢复 带宽(BM)—指单位时间内MEM最多可读写的二进制位数, 常以bps为单位,BM=W/TM,W为数据宽度/次 *价格:常用总价格C或每位价格c表示,c=C/S
? ? 三、层次结构存储系统 1、层次结构的引入 *用户需求的矛盾:需求—大容量、高速度、低价格 矛盾— *程序访问局部性规律: 程序执行时,访问指令和数据所呈现的相对簇聚特性 时间局部性—被访问过的信息,可能很快被再次访问 空间局部性—被访问信息的相邻信息,可能很快被访问 示例:for (i=0;i<n;i++) S=S+A[i]; *用户需求矛盾的解决方案: 近期常用数据—放在“前方”MEM(快而小)中 近期不用数据—放在“后方”MEM(慢而大)中 ∑=高速度、大容量、低价格
SM1<<SM2<<…<<SMn BM1>>BM2>>…>>BMn Mn M2 M1 寄存器 … 存储系统 CPU 2、层次结构的存储系统 (1)层次存储系统组成 *思想:①用多种类型MEM构成前方-后方的层次结构 Mn M2 M1 ②前方MEM中信息为后方MEM中信息的副本 ③各层MEM之间信息传递是“透明”的
Cache 主存 辅存 辅助硬件 主存 地址 CPU Cache 主存 辅助软硬件 主存 地址 CPU 主存 辅存 (2)常见的存储系统层次结构 围绕主存的层次结构一般为“Cache-主存-辅存”三种MEM构成的两个存储层次 *“Cache-主存”存储层次: 目标—解决主存速度问题(Cache的速度,主存的容量) *“主存-辅存”存储层次: 目标—解决主存容量问题(主存的速度,辅存的容量)
存储管理部件MMU 成功 程序 地址 产生硬件异常 不成功 OS相关软件 主存 地址 CPU 辅存地址 辅存 Cache辅助硬件 不命中 主存地址 Cache地址 命中 主存 Cache (3)层次存储系统的工作方式 *程序执行需求:准备执行的指令和数据存放在主存中; 按程序的逻辑顺序执行 *存储系统工作方式: 存储层次+面向软件管理(虚拟存储器) 主存
双极型RAM(TTL、ECL) 半导体RAM (易失型) 静态RAM(SRAM) 动态RAM(DRAM) MOS型RAM MROM PROM EPROM EEPROM(E2PROM) FLASH 半导体ROM (永久型) §3.2 半导体存储器基础 *静态RAM—用触发器存储信息,长时间不访问及信息读出后信息值(状态)保持不变; *动态RAM—用电容存储信息,长时间不访问及信息读出后信息值(状态)被破坏,需及时恢复信息值(称为刷新及再生)
写入—①在W线上加正脉冲(时长为写入延迟)→T5和T6导通;写入—①在W线上加正脉冲(时长为写入延迟)→T5和T6导通; ②若写“0”,使D=V地、D=V中→T2截止→T1导通;若写“1”,使T1截止→T2导通 字选择线W VCC D D T3 T4 T5 A B T6 T1 T2 读出—①在W线上加正脉冲;②使D=D=V中→D或D产生压降(“0”导致D电压下降)→差动放大器可检测出所存信息,T1、T2状态保持不变(非破坏性读) 6管MOS型静态存储元电路 一、静态RAM(Static RAM,SRAM) 1、SRAM存储元的组成原理 *6管MOS静态存储元工作原理: 保持—使W=V地→T5和T6截止→T1、T2状态保持不变
0 1 … 63 64×64 存储阵列 X译码器 驱动器 A6 A7 A11 … … … I/O电路 数据D 输出驱动器 … Y译码器 控制电路 … A0 A1A5 片选CS 读/写WE 决定 正方形阵列 (信号延迟最小) 地址译码方式 2、SRAM芯片的组成原理 (1)存储芯片基本组成 由存储阵列、地址译码器、I/O电路、控制电路等组成 *存储阵列:内部存储单元有一维和二维两种组织方式
A6 A11 驱动器 X译码器 存储元 存储元 …… …… … … … … 存储元 存储元 D D D D I/O 电路 输出驱动器 数据D …… Y译码器 … 读 写 A0 A5 *地址译码器:有一维、二维两种译码方式 译码器输出线数—2M根 2×2M/2=2M/2+1根 常见译码方式—二维译码方式 →同一列存储元共用位选择线 *驱动器:X译码器每个输出需驱动同一行各存储元的字选线 ├→设置驱动器增加驱动能力 I/O电路输出时需驱动总线信号
*I/O电路:根据内部读/写信号,检测/控制D及D线 D 存储元 (所选) 差分读出放大器 写放大器 驱动器 数据D D 读 写 WE CS CS A7 A6~A0 0#芯片 (地址范围0~127) 1#芯片 (地址范围128~255) D 控制电路—根据片选CS及WE信号 生成内部读/写信号 CS & 写 & 读 WE 11 *片选与控制电路: 片选—MEM常由多个芯片组成,MEM读/写常针对某个芯片
11 (2)存储器芯片相关参数与结构组织 *芯片相关参数: 存储阵列容量— 阵列容量=存储字数×存储字长 数据引脚数量— 引脚组织成双向时,引脚数=存储字长 引脚组织成单向时,引脚数=2*存储字长 地址引脚数量— 引脚数=log2存储字数,即 引脚数=log2(阵列容量/存储字长) 练习1—某SRAM芯片容量为4Kbit,数据引脚(双向)为8根,地址引脚为多少根?若数据引脚改为32根,地址引脚为多少根? 练习2—某SRAM芯片数据引脚(单向)为8根、地址引脚亦为8根,芯片存储容量为多少个字节?
行译码器 A3 A8 Y0 Y63 …… 存储元 存储元 存储元 存储元 …… … … … … … … … 64行×64列 写 …… 读 存储元 存储元 存储元 存储元 & & D D D D D D …… D D D0 D3 CS WE I/O电路 … … … I/O电路 …… Y0Y15 列译码器 A2A1A0A9 13 *SRAM芯片结构组织:--以Intel 2114 SRAM芯片为例 参数—容量=1K×4b,数据引脚=4根(双向),地址引脚=10根 结构—①正方形存储阵列(64×64);②4套I/O电路; ③二维译码(log264=6、log2[64/4]=4)
tRC tRC--CPU读周期时间 tA--CPU访问时间(读出时间) tCO—SRAM读出时间 tCX—SRAM存取时间 (CS有效→数据输出稳定) tOTD—SRAM恢复时间 (CS无效→数据引脚高阻) tA 地址 CS WE tOTD tCO I/O1~4 数据出 tCX SRAM—CS有效时开始读操作、CS无效时结束读操作 由地址信号或由操作命令获得 地址信号已稳定 CPU已读得数据 tCO-tCX≥线路延迟 操作者— 先发地址信号、后发操作命令 (tA-tCO≥tOTD、tRC-tA≥tOTD-Δ) 13 3、SRAM芯片的读写时序 *读周期时序: (存储器对外部信号的时序要求)
tWC tWC─CPU写周期时间 tW─CPU写入时间 tWR—CPU写恢复时间 tAW—SRAM地址写入时间 tDW—SRAM数据写入时间 tDH—SRAM数据保持时间(关闭写) 地址 tW tWR tAW CS WE tDW tDH 数据入 I/O1~4 SRAM—CS有效时开始写操作、CS无效时结束写操作 地址信号已稳定 SRAM已完成数据写入 操作者— 先发地址、后发命令 (tAW≥地址译码时长) tW≥tDW WE无效后数据保持≥tDH *写周期时序:
ED T4 Φ 预充电CD 读选择 读选择线 & T1 T3 字选 择线 T2 CS & 写选择 写选择线 写数据线WD 读数据线RD 10 二、动态存储器(Dynamic RAM,DRAM) ◇动态RAM目标:降低功耗、节约成本 1、动态RAM存储元工作原理 *3管MOS式动态存储元工作原理: 写入—①所写数据加到WD上 ②打开T3→对CS充电/放电 保持—断开T3→CS保存信息(无放电回路、会缓慢泄漏) 需定时对CS刷新←┘ 读出—①在Φ上加正脉冲→对CD预充电,②打开T2→读RD上电压变化(非破坏性读) 刷新—先读出数据、再写入所读数据
字选择线X T1 CS CD 数据线D *单管MOS式动态存储元工作原理: 写入—①所写数据加到D上 ②打开T1→对CS充电/放电 保持—断开T1→信息存储在CS中(无放电回路、会缓慢泄漏) 读出—①在D上加正脉冲→对CD预充电 ②打开T1→读D上电压变化(破坏性读) ←CS被充电 ③立即用所读数据对CS重新写入 ←称为再生 刷新—步骤同读操作 *单管MOS式存储元与3管MOS式存储元的区别: 相同—均需定时(如2ms~3.3ms内)对各存储元刷新 不同—只需1个MOS管、1根数据线,读后需立即再生
X译码器 & …… A11 A6 & … … … … 64×64 & …… 刷新放大器 & WD RD WD RD 读 写 CD CD D I/O电路 …… 控制电路 Y译码器 … A5 A0 CS WE REF 18 11 2、DRAM芯片的组成原理 (1)3管MOS式DRAM芯片的组成 *基本结构:与SRAM类似,①设置刷新放大器、预充电电路; ②传送数据不采用差分方式;③增加刷新控制机构 *芯片操作:读、写、刷新(新增)
RAS CAS CS WE WE *存储元刷新的实现: 使用刷新操作→要求所刷新存储元和I/O电路断开 如何提高刷新的效率? 列译码器输出全部无效 同一行中所有存储单元同时刷新! 称为行刷新 每列设置刷新放大器 *支持行刷新方式的芯片引脚组织: 方案①—地址引脚不变,增加REF引脚(刷新时列地址无用) √方案②—地址引脚减半,设置行选择、列选择引脚 A11~A0 A5~A0 行地址 列地址 地址 可代替CS REF 方案①--地址引脚不变 方案②--地址引脚减半
行地址锁存器 A6 A11 X译码器 …… …… A5’…A0’ … … … 64×64 …… D D WE 读出再生放大器 …… 读出再生放大器 行时钟 …… RAS CAS D I/O电路 Y译码器 写时钟 … 时序控制 电路 A5 A0 列地址锁存器 列时钟 19 (2)单管MOS式DRAM芯片的组成 可缩小芯片面积 *基本结构:通常采用地址分两次传送方式组织 增设①地址锁存器、时序控制电路,②再生电路 *芯片操作:读、写、刷新(行刷新方式[无需列地址])
(3)DRAM芯片组成示例 *Intel 2116芯片:单管MOS存储元、地址分两次传送 参数—容量=16K×1b;地址引脚=14/2=7根; 数据引脚=2根(单向DIN/DOUT、共1位宽度) 结构—2个64×128存储阵列,时钟发生器串联 A13 A6’ A0’ 行地址 锁存器 64×128 存储阵列 6:64行 译码器 ~ A12~A7 …… … 数据输 入缓冲 128个读出 再生放大器 DIN 列地址 锁存器 A6~A0 7:128列译码器 …… 数据输 出驱动 6:64行 译码器 64×128 存储阵列 DOUT RAS CAS WE 行时钟发生器 列时钟发生器 写时钟发生器
*Intel 2164芯片:单管MOS型存储元、地址分两次传送 参数—64K×1b容量,2根数据(单向)、16/2=8根地址引脚 结构—4个128×128存储阵列;2套行、列译码器同时译码 128×128 存储阵列 1/2行 译码器 128×128 存储阵列 A7’A6’ A0’ 数据输 入缓冲 行地址 锁存器 4选1I/O电路 128个读出 再生放大器 128个读出 再生放大器 DIN … 1/2列译码器 1/2列译码器 列地址 锁存器 数据输 出锁存 128个读出 再生放大器 128个读出 再生放大器 DOUT … 128×128 存储阵列 1/2行 译码器 128×128 存储阵列 RAS CAS WE 行时钟发生器 列时钟发生器 写时钟发生器 ※说明—DRAM芯片默认采用单管MOS、地址引脚减半型芯片!
DRAM—RAS有效时开始操作、RAS无效时结束操作 CAS RAS 先锁存行地址 CPU已读得数据 操作者— WE RAS先于CAS有效 (tRCL≥tAH) WE在CAS有效期间无效 tA-tRCL≥tCAC+线路延迟 3、DRAM芯片的操作时序 *读周期时序: tCRD tA tCRD—CPU读周期时间 tA--CPU访问时间 tAH--地址锁存延迟 tRCL –RAS与CAS信号延迟 tRAC—RAS有效至数据输出延迟 tCAC—CAS有效至数据输出延迟 tDOH—数据保持时间 地址 行地址 列地址 tAH tAH tCAC tDOH tRCL I/O 有效 tRAC
tCRF tDOH tA tCRF—刷新周期时间(同读操作) tA --刷新读出时间(同读操作) tDOH—刷新写入时间(同读操作) tRC —RAS与CAS信号最大间隔 地址 行地址 tRC I/O RAS CAS 23 *刷新周期时序: 与读周期类似,区别在于CAS在整个操作过程中无效 └→行刷新时不需要列地址 时钟发生器可检测t>tRC
间隔? 读/写/空闲 刷新 tC—芯片的存取周期 m—行刷新的循环次数 n—刷新周期内可访存次数 内部序号 1 2 … n n+1 n+2 … n+m tCtC … tCtCtC … tC 时长 X Y … R 0 1 … m-1 地址行号 刷新周期(如2ms) 设tC=0.5us、m=128次,则n=2000/0.5-128=3872次 4、DRAM芯片的刷新 *刷新周期:同一存储元连续两次刷新的最大间隔 *刷新方法:每个刷新周期内,循环进行所有行的行刷新 (1)DRAM芯片刷新方式 通常有集中式、分散式、异步式三种方式 *集中式刷新:将所有行刷新集中在刷新周期的后部 特点—存在“死区”(不能进行读/写操作的时间段)
R/W R/W R/W R/W R/W R/W REF REFREF X 0Y 1 R m-1A B … … 地址行号 … tM tR … tC 真实刷新 停止刷新 刷新周期 R/W …R/WREFR/W … R/WREF R/W … R/W REF … X … Y 0 R … S 1 A B m-1 地址行号 tC…tCtC tC …tCtC tC … tC tC … 15.5μs 15.5μs 15.5μs 刷新周期(如2ms) 设芯片需刷新128次,则每次刷新间隔2000/128=15.5μs *分散式刷新:将行刷新分散在每个存取周期中 特点—避免了“死区”,增加了存取时间(1倍) *异步式刷新:将行刷新均匀分布在刷新周期中 特点—“死区”可忽略,支持固有的存取周期 →最常用
③ DRAM 芯片 刷新地址计数器 行/列地址 ① 定时 发生器 刷新定时器 ② RAS CAS WE (2)DRAM芯片刷新实现 按约定的刷新方式,由专用电路定时产生行刷新命令 *DRAM芯片的刷新电路: 产生行刷新地址 CPU 地址多 路开关 地址 仲裁 电路 读/写 固化了刷新方式 *刷新电路在计算机的位置: 通常独立于DRAM芯片/模块 →DRAM控制器(主存控制器)
5、MOS型SRAM与DRAM芯片比较 *DRAM芯片的优点: ①DRAM集成度远高于SRAM; ←常采用单管MOS存储元 ②DRAM地址引脚是SRAM的一半;←常采用地址分两次传送方式 ③DRAM功耗约为SRAM的1/4; ←采用单管MOS存储元所致 ④DRAM成本远低于SRAM *DRAM芯片的缺点: DRAM速度远低于SRAM ←使用动态元件(电容)所致 *RAM芯片应用: SRAM芯片—常用来构成高速度、小容量MEM,如Cache DRAM芯片—常用来构成大容量MEM,如主存 作业一:P143—4、5、9、10
VCC … 0 1 31 行地址译码器 … A5 A9 … … … … … … D 0 1 31 列地址译码器 … … A0 A4选通 三、只读存储器(Read only Memory,R0M) *ROM:信息注入MEM后不能再改变,它具有非易失性 通常需随机访问 有时希望可改变信息 *半导体ROM:具有非易失性的半导体MEM,如EPROM、FLASH等 *ROM芯片组成:与SRAM类似, 区别在于存储元的实现及操作 1、掩模ROM(MROM) *特征:用户不可修改信息 *存储元状态:用MOS管的有/无表示“1”/“0” *数据读出:字选线加电压时,位线电压为所选存储元的数据
字选择线X 字选择线X VCC VCC 数据线D 数据线D VD VD 熔丝未断(“1”) 熔丝已断(“0”) 2、可编程ROM(PROM) *特征:用户可一次性修改信息(电写入) *存储元状态:用二极管/熔丝的通/断表示“1”/“0” *数据写入:字线X加电压,若写“0”— VD=V地→熔丝熔断, 若写“1”— VD=V中→熔丝不断 *数据读出:字线X加电压、VD=V中,检测VD变化可读出数据
D 源极S 浮栅Gf 漏极D 源极S 浮栅Gf 漏极D SiO2 SiO2 ---- P P P P ++++ N基体 N基体 S VPP VCC 字选线X 字选线X 数据线D 数据线D (b)写“1”时 (a)读出时 3、可擦除可编程ROM(EPROM) *特征:用户可多次修改信息(电写入、光擦除) *存储元状态:常用FAMOS的浮栅Gf是/否带电荷表示“1”/“0” *数据读出:Gf带电荷时→FAMOS导通→VD=0V,否则VD=VCC *写数据“1”(写入): VPP=+25V、脉冲宽度约50ms *写数据“0”(擦除): 用紫外线照射10~20分钟→整个芯片一起擦除 (Gf上电子获得光子能量→穿过SiO2层→与基体电荷中和)
+0V +20V +5V +20V +20V 字选线X 字选线X 字选线X D 位线D 位线D S GC Gf D 位线D +0V +20V +3V SiO2 GC GC GC GC P P N基体 (a)数据读出 (c)写“1”(擦除) (b)写“0”(写入) S 4、电可擦除可编程ROM(E2PROM) *特征:用户可多次修改信息(电写入、电擦除) *存储元状态:常用浮栅Gf是/否带电荷表示“1”/“0” *数据读出:Gf带电荷时→Flotox截止→VD不变,否则VD=0V *数据写入:写“0”时Gf放电,写“1”时Gf吸收电荷, 写入时先自动进行擦除(擦除精度常为行)
+5V 字线X S GC D D 位线D VS=0V SiO2 GC N N (a)读出状态 P基体 S +6V 0V +12V 0V 字线X 字线X 位线D 位线D VS=0V VS=+12V (b)写“0”(写入) (c)写“1”(擦除) 5、闪速存储器(FLASH) *特征:用户可多次修改信息(电写入、电擦除) *存储元状态:与叠栅EPROM类似,但氧化层更薄→速度更快 *数据读出:与E2PROM相同; *数据写入与擦除:与E2PROM相同,擦除精度通常为块
计算机结构设计时确定的参数 软硬件遵守此约定 (如CPU引脚数量等) 主存地址长度 主存单元长度 An-1A0 bw-1 … b0 0…00…0 0…01…1 0…10…0 1…11…1 … 主存地址空间 …… …… …… 实际配置的主存 (可降低成本) 大小表示: n位、或2n … … … … §3.3 主存储器 一、主存储器的组成 *主存储器相关概念: 主存容量=主存单元长度×主存单元个数
主存单元长度 (特定值) 需求—只读、非易失性 ROM 静态程序区 (大小固定) bx … b0 SRAM 或 DRAM 0…0 1…1 主存地址空间 动态程序区 (大小可选) … 系统程序区(如机器启动时的BIOS) …… … 需求—读写 用户程序区(如机器启动后的OS等) CPU按此设置引脚 *应用对主存空间的需求: *主存储器的组成: ①由ROM、RAM芯片组成的特定存储字长的存储器; ②ROM空间大小固定、RAM空间大小可选配(≤最大空间)
二、主存储器的逻辑设计 存储器容量= 存储字长×存储字数 =存储单元长度×存储单元个数 *存储器容量扩展方法:位扩展法、字扩展法、字位扩展法 *主存逻辑设计:使用ROM、SRAM或DRAM芯片进行容量扩展,实现主存单元长度和主存单元个数 存储器容量扩展的特例 1、位扩展法 (又称并联扩展) *目的:扩展存储器的存储字长 *芯片连接特征: 各芯片数据引脚连接不同,其余引脚连接相同
bit3 … bit0 A9 A0 … … … 0000000000 0000000001 1111111111 1K×1b …… …… …… 1K×1b … … … … 1K×1b SRAM 1K×1b SRAM 1K×1b SRAM 1K×1b SRAM … CS WE WE D3~D0 A4 A0 … … … … … … … 1K×1b DRAM 1K×1b DRAM 1K×1b DRAM 1K×1b DRAM D3~D0 CAS RAS 例1—用1K×1b SRAM芯片构成1K×4b存储模块 例2—用1K×1b DRAM芯片构成1K×4b存储模块
WE CS A10 b3 … b0 A9 A0 … … … 00000000000(000H) …… 01111111111(3FFH) 10000000000(400H) …… 11111111111(7FFH) 1K×4b (0#) … … & & 1K×4b SRAM(0#) 1K×4b SRAM(1#) 1K×4b (1#) D3~D0 2、字扩展法 (又称串联扩展) *目的:扩展存储器的存储字数 例3—用1K×4b SRAM芯片构成2K×4b存储模块 解:①芯片数量— 共需(2K×4b)÷(1K×4b)=2片 ②各芯片地址范围—存储模块地址为log2(2K)=11位, 各芯片片选有效逻辑—0#、1#芯片分别为A10=0、A10=1 练习1—用1M×4b SRAM芯片构成4M×4b存储模块
WE WE A5 A4~A0 D3~D0 根据各芯片地址范围及操作地址,使RASi有效,容易实现! A4~A0 1K×4b DRAM 1K×4b DRAM 1K×4b DRAM 1K×4b DRAM CS GE D3~D0 第1次地址 A11A10A9A8A7A6 CAS CAS RAS RAS3 ~ RAS0 第2次地址 A5A4A3A2A1A0 Y0 Y3 B A A21 A20 2:4 译码器 1M×4(0#) 1M×4(1#) 1M×4(2#) 1M×4(3#) 例4—用1K×4b DRAM芯片构成4K×4b存储模块 解:芯片数量—共需(4K×4b)÷(1K×4b)=4片 引脚组织—①地址扩展法: 行地址中无A5,行不通! ②独立控制法: A5
CS WE b7~ b4 b3~ b0 00000000000(000H) … 01111111111(3FFH) 10000000000(400H) … 11111111111(7FFH) 1# 1K×4b 0# 1K×4b 3# 1K×4b 2# 1K×4b & & A10 A9~A0 1K×4b SRAM(0#) 1K×4b SRAM(1#) 1K×4b SRAM(2#) 1K×4b SRAM(3#) D3~D0 D7~D4 3、字位扩展法 *目的:同时扩展存储器的存储字长和存储字数 例5—用1K×4b SRAM芯片构成2K×8b存储模块 解:①芯片数量— 共需(2K×8b)÷(1K×4b)=4片 ②各芯片地址范围—存储模块地址为log2(2K)=11位 ③连接图—
GE WE CS 00 XXXXXXXXXX 01 XXXXXXXXXX 10 XXXXXXXXXX 11 XXXXXXXXXX ROM 1# ROM 0# Y0 SRAM 1# SRAM 2# SRAM 3# A11 A10 A9~A0 B A 2:4 译码器 1K×4b ROM(0#) 1K×4b ROM(1#) 1K×8b SRAM(1#) 1K×8b SRAM(2#) 1K×8b SRAM(3#) D3~D0 D7~D4 练习2—用1K×4b SRAM芯片构成4K×8b存储模块 例6—用1K×4b ROM、1K×8b SRAM芯片构成4K×8b存储模块,其中前1KB空间为只读空间 解:①芯片数量— 共需ROM 2片、SRAM 3片 ②各芯片地址范围—模块地址为12位、芯片为10位 ③连接图—
ADS RD WR IO/M IO/M CPU(现代) CPU(早期) CPU 主存 I/O设备 AX-1~A0 AX-1~A0 DY-1~D0 DY-1~D0 READY READY ①地址 ①命令 ②状态 ②数据 W/R AB DB CB 注:①地址引脚组织—反映最大地址空间大小、与实际配置空间无关 常用控制信号IO/M区分 三、主存储器与CPU的连接 1、CPU与外部的接口 *CPU访问外部的过程:按地址访问 ←冯·诺依曼模型要求 *CPU与外部的接口:地址、数据、控制/状态4种信号 ②空闲状态与读/写状态的表示— 必须用≥2个信号表示 ③访问主存或I/O设备时的区分—
可表示无操作、MEM操作、I/O操作 按地址一次性传送方式设置引脚 可由SRAM或DRAM构成 CPU 主存 连接与控制电路 … SRAM 模块 D7~D0 A18~A0 CAS RAS RAS CAS WE CS WE WE WE CS WE 0# DRAM 模块 1# DRAM 模块 D7~D0 D7~D0 DRAM 控制器 A18~A0 A8~A0 A8~A0 A8~A0 RAS0 CAS1 RAS1 CAS0 2、主存储器与CPU的连接 *需进行信号及时序的转换: *SRAM主存与DRAM主存: △简化复杂度→重点讨论SRAM主存与CPU的连接
A19A18 …A0 b7 … b0 0 0……0 0 1……1 1 0……0 1 1……1 配置的主存地址空间 512KB SRAM CPU支持的 主存地 址空间 … 512KB SRAM CPU可直接访问主存 … 安排在空间低端 CS WE 8088 CPU D7~D0 主 存 D7~D0 & A19 A18~A0 A18~A0 (1)数据线的连接 *要求:主存数据线数=CPU数据引脚数 *连接: CPU数据引脚与主存数据线一一对应连接 (2)地址线的连接 *要求:实际配置的主存地址空间≤CPU支持的主存地址空间 *连接: CPU地址引脚低位与主存地址线一一对应连接; CPU地址引脚高位与主存片选线按一定逻辑连接
(3)命令线的连接 *命令线功能:MEM操作—IO/M为低、RD WR=1 I/O操作—IO/M为高、RD WR=1 无操作—RD WR=0 8088 CPU D7~D0 主 存 D7~D0 =1 RD WR CS WE & & A19 IO/M A18~A0 A18~A0 45 CPU读/写命令线与主存读/写线直接连接; CPU其余命令线与主存片选线按MEM操作逻辑连接 *连接: (4)片选线的连接 *有效逻辑:CPU对MEM操作、地址在配置主存地址范围内时
例1—某CPU有16根地址线、8根数据线,命令线有IO/M、RD、WR;主存配置如右图所示,有2K×8b ROM及 4K×4b SRAM芯片可用。⑴需ROM、RAM芯片各 多少块?⑵列出主存中各芯片片选有效逻辑; ⑶画出主存内部组成;⑷画出与CPU的连接图 b7 … b0 0…0H 4K地址空间 ROM RAM 12K地址空间 b7~ b4 b3~ b0 0# ROM 1# ROM 1# SRAM 0# SRAM 3# SRAM 2# SRAM 5# SRAM 4# SRAM 解:⑴芯片数量—ROM=(4K×8b)÷(2K×8b)=2块,RAM=6块 ⑵各芯片的片选有效逻辑—主存地址共14位(A13~A0)
2:4译码器 A13 A12 B A A11 & & A10~A0 0# ROM 1# ROM 0# SRAM 1# SRAM 2# SRAM 3# SRAM 4# SRAM 5# SRAM D3~D0 D7~D4 WE CS Y1 Y3 Y0 Y2 GE ⑶主存内部连接—
CPU & & =1 主 存 A15 A14 A13 A13 A12 A12 A11 A11 A10~A0 A10~A0 D3~D0 D3~D0 D7~D4 D7~D4 CS RD WR WE IO/M 46 48 47 ⑷主存与CPU的连接—主存空间(16K)放在CPU空间(64K)低端 练习—16位CPU的主存按字编址、最大空间为2MB,欲配置512KB主存(前128KB为只读空间),现有64K×8b ROM、64K×16b SRAM、256K×16b SRAM芯片可用。 请画出主存内部芯片连接图,及主存与CPU的连接图 思考—若主存由DRAM芯片构成,则如何与CPU进行连接?