350 likes | 472 Views
第三单元 层次存储器系统. 第二讲 动态存储器和教学计算机存储器设计 刘卫东 liuwd@tsinghua.edu.cn. 内容提要. 有关大实验的说明 动态存储器 教学计算机存储器设计. 关于大实验检查. 请各组抓紧时间,完成大实验设计和调试。 15 周 (12 月 15 日至 19 日 ) 进行并完成最终检查。请同学们按组准备好以下材料: 调试完成的教学计算机 检查方案:供检查设计的汇编语言程序以及预期结果(包含扩展指令) 设计文档 最终检查时间、地点请各班科代表在 14 周与我们确定。 16 周,请各班选出一组,在课堂上和大家交流.
E N D
第三单元 层次存储器系统 第二讲 动态存储器和教学计算机存储器设计 刘卫东 liuwd@tsinghua.edu.cn
内容提要 • 有关大实验的说明 • 动态存储器 • 教学计算机存储器设计
关于大实验检查 • 请各组抓紧时间,完成大实验设计和调试。 • 15周(12月15日至19日)进行并完成最终检查。请同学们按组准备好以下材料: • 调试完成的教学计算机 • 检查方案:供检查设计的汇编语言程序以及预期结果(包含扩展指令) • 设计文档 • 最终检查时间、地点请各班科代表在14周与我们确定。 • 16周,请各班选出一组,在课堂上和大家交流
大实验提交文档列表 • 指令系统设计文档 • 指令系统列表 • 设计说明; • 运算器设计文档 • 线路逻辑图 • 设计说明 • 有关GAL芯片的逻辑表达式 • 控制器设计文档(包括组合逻辑和微程序) • 线路逻辑图 • 指令执行流程图 • 指令执行流程表 • 有关GAL、MACH芯片的逻辑表达式 • 内存储器、总线、接口等部分设计文档 • 线路逻辑图 • 设计说明 • 软件设计文档 • 对监控程序、交叉汇编程序修改的文档和源程序 • 组装、调试过程中遇到的问题和相应的解决办法 • 项目完成后的心得体会、有关建议和意见
大实验评分标准 • 完成基本要求,起评分数为80分,视情况酌情增减。 • 监控程序运行正确(微程序和组合逻辑) • 扩展指令能正常运行 • 提供的实验报告完整,规范 • 有创新和特色,可有加分因素。 • 修改了监控,能完成对扩展指令的汇编 • 修改交叉汇编 • 其他 • 你们认为有特点的地方,可以陈述 • 总评成绩=40%*考试成绩+50%*大实验成绩+10%*作业成绩 • 若考试成绩低于特定值,则无论实验成绩如何,均为不及格
层次存储器系统 选用生产与运行成本不同的、存储容量不同的、读写速度不同的多种存储介质,组成一个统一的存储器系统,使每种介质都处于不同的地位,发挥不同的作用,充分发挥各自在速度容量成本方面的优势,从而达到最优性能价格比,以满足使用要求。 例如,用容量更小但速度最快的 SRAM芯片组成 CACHE,容量较大速度适中的 DRAM芯片组成 MAIN MEMORY,用容量特大但速度极慢的磁盘设备构成 VIRTUAL MEMORY。
程序的局部性原理 访问概率 地址空间 • 程序在一定的时间段内通常只访问较小的地址空间 • 两种局部性: • 时间局部性 • 空间局部性
现代计算机的层次存储器系统 • 利用程序的局部性原理: • 以最低廉的价格提供尽可能大的存储空间 • 以最快速的技术实现高速存储访问 Processor Control Tertiary Storage (Disk) Secondary Storage (Disk) Second Level Cache (SRAM) Main Memory (DRAM) On-Chip Cache Datapath Registers 10ns 50-100ns MB-GB Seconds Terabytes Speed (ns): 1ns Milliseconds GB KB-MB Size (bytes): 100s
A N 2 words N x M bit SRAM WE_L OE_L D M SRAM典型时序 写时序: 读时序: High Z D 写入数据 读出数据 读出数据 Junk A 写入地址 读地址 读地址 OE_L WE_L 读访问时间 读访问时间 写保持时间 写建立时间
动态存储器的存储原理 • 动态存储器,是用金属氧化物半导体(MOS)的单个MOS管来存储一个二进制位(bit)信息的。信息被存储在MOS管T的源极的寄生电容CS中,例如,用CS中存储有电荷表示1,无电荷表示0。
高,T 导通, 低,T 截止。 字线 T - - CS 位 线 + + VDD 低 写 1 :使位线为低电平, 若CS 上无电荷,则 VDD 向 CS 充电; 把 1 信号写入了电容 CS 中。 若CS 上有电荷,则 CS的电荷不变, 保持原记忆的 1 信号不变。
高,T 导通, 低,T 截止。 字线 T - - CS 位 线 + + VDD 低 写 1 :使位线为低电平, 若CS 上无电荷,则 VDD 向 CS 充电; 把 1 信号写入了电容 CS 中。 若CS 上有电荷,则 CS的电荷不变, 保持原有的内容 1 不变;
高,T 导通, 低,T 截止。 字线 T - - CS 位 线 + + VDD 高 写 0 :使位线为高电平, 若CS 上有电荷,则 CS 通过 T 放电; 把 0 信号写入了电容 CS 中。 若CS 上无电荷,则 CS无充放电动作, 保持原记忆的 0 信号不变。
高,T 导通, 低,T 截止。 字线 T CS 位 线 VDD 高 写 0 :使位线为高电平, 若CS 上有电荷,则 CS 通过 T 放电; 把 0 信号写入了电容 CS 中。 若CS 上无电荷,则 CS无充放电动作, 保持原记忆的 0 信号不变。
字线 高,T 导通, T - - CS 位 线 ++ VDD 高 低 读操作: 首先使位线充电至高电平,当字线来高电平后,T导通, 1. 若 CS 上无电荷,则位线上无电位变化 ,读出为 0 ; 则会放电, 2.若 CS 上有电荷, 并使位线电位由高变低, 接在位线上的读出放大器会感知这种变化,读出为 1。
位线 0 位线127 CS CS 字线 0 本侧 64 行 VDD VDD 参考单元 CS/2 CS/2 VDD VDD D 读出电路 预充电 放大器 VSS VDD VSS VDD D’ VDD VDD CS/2 CS/2 参考单元 另一侧 64 行 字线127
破坏性读出:读操作后,被读单元的内容一定被清为零,破坏性读出:读操作后,被读单元的内容一定被清为零, 必须把刚读出的内容立即写回去,通常称其为预充电延迟, 它影响存储器的工作频率,在结束预充电前不能开始下一次读。 要定期刷新:在不进行读写操作时,DRAM 存储器的各单元 处于断路状态,由于漏电的存在,保存在电容CS 上的电荷会 慢慢地漏掉,为此必须定时予以补充,通常称其为刷新操作。 刷新不是按字处理,而是每次刷新一行,即为连接在同一行上 所有存储单元的电容补充一次能量。 刷新有两种常用方式: 集中刷新,停止内存读写操作,逐行将所有各行刷新一遍; 分散刷新,每一次内存读写后,刷新一行,各行轮流进行。 或在规定的期间内,如 2 ms ,能轮流把所有各行刷新一遍。 快速分页组织的存储器: 行、列地址要分两次给出,但连续地读写用到相同的行地址时, 也可以在前一次将行地址锁存,之后仅送列地址,以节省送地 址的时间,支持这种运行方式的被称为快速分页组织的存储器。
动态存储器读写过程 动态存储器集成度高,存储容量大,为节约管脚数,地址分为行地址和列地址 数据总线DB 动态存储器芯片 读写信号/WE 片选信号/CS 行地址和列地址
RAS_L DRAM 写时序 RAS_L CAS_L WE_L OE_L A 256K x 8 DRAM D 9 8 • DRAM 写访问开始于: • RAS_L信号有效 • 两种写方式: WE_L信号早和晚于CAS_L信号有效 DRAM 写周期时间 CAS_L A 行地址 列地址 Junk 行地址 列地址 Junk OE_L WE_L D Junk 写入数据 Junk 写入数据 Junk 写访问时间 写访问时间 WE_L在CAS_L信号之前有效 WE_L 在CAS_L信号之后有效
RAS_L CAS_L WE_L OE_L A 256K x 8 DRAM D 9 8 RAS_L DRAM 读时序 • DRAM 读访问开始于: • RAS_L信号有效 • 两种读方式: OE-L早于或晚于 CAS_L有效 读周期时间 CAS_L A 行地址 列地址 Junk 行地址 列地址 Junk WE_L OE_L D High Z Junk 读出数据 High Z 读出数据 读访问时间 输出使能延迟 OE_L在 CAS_L有效之前有效 OE_L 在CAS_L有效之后有效
静态和动态存储器芯片特性 SRAMDRAM 存储信息 触发器 电容 破坏性读出 非 是 需要刷新 不要 需要 送行列地址 同时送 分两次送 运行速度 快慢 集成度 低 高 发热量 大 小 存储成本 高 低
主存储器的多体结构 为了提高计算机系统的工作效率,需 要提高主存储器的读写速度。为此可以实 现多个能够独立地执行读写的主存储器体, 以便提高多个存储体之间并行读写的能力。 多体结构同时适用于静态和动态的存储器。 考虑到程序运行的局部性原理,多个存储 体应按低位地址交叉编址的方式加以组织。 类似的也可按一体多字的方式设计存储器。
数据总线 W W W W 主存储器存储体 地址寄存器 一体多字结构
数据总线 1字 2字 3字 0字 地址寄存器 单字多体结构
小结: • 程序的局部性原理: • 时间局部性:最近被访问过的程序和数据很可能再次被访问 • 空间局部性:CPU很可能访问最近被访问过的地址单元附近的地址单元。 • 利用程序的局部性原理: • 使用尽可能大容量的廉价、低速存储器存放程序和数据。 • 使用高速存储器来满足CPU对速度的要求。 • DRAM 速度慢,但容量大,价格低 • 可用于实现大容量的主存储器系统。 • SRAM 速度快,但容量小,价格高 • 用于实现高速缓冲存储器Cache。
小结 • 设计主存储器 • 确定最大寻址空间 • 确定字长 • 确定读写时序 • 得到控制信号
教学计算机TEC-2000存储器设计 • 设计要求 • 需要ROM来存放监控程序 • 需要RAM供用户和监控程序使用 • 能够让用户进行扩展 • 设计原则 • 尽量简单,能体现出原理课教学要求 • 不追求高速度
控制总线设计 • 时钟信号 • 与CPU时钟同步(降低了CPU主频) • 读写信号 /MIO REQ /WE 0 0 0 内存写 /MWR 接/WE 0 0 1 内存读 /MRD 接/OE 0 1 0 I/O写 /WR 0 1 1 I/O读 /RD 1 X X 不用 用DC3实现
TEC-2000内存控制信号获取 MWR MRD WR RD MMREQ IOREQ 2Y0 2Y1 1Y0 1Y1 1Y2 1Y3 DC3 139 1B 1A 1G 2B 2A 2G 74LS139:双2-4译码器 REQ WE GND MIO
地址总线设计 • 片选信号 • A15、A14和A13最高位地址译码产生 • /MMREQ作为使能信号 • 地址信号 • A10~A0:11位地址 • 1个地址单元对应4个地址 • 来自地址寄存器 用DC5实现
TEC-2000片选信号 A15 A14 A13 0000~1FFF 2000~3FFF 4000~5FFF 6000~7FFF 8000~9FFF A000~BFFF C000~DFFF E000~FFFF C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 DC5 138 G2A G2B G1 GND MMREQ VCC DC5 74LS138: 3-8译码器
TEC-2000地址信号 数据总线 D15~D0 D15~D8 D7~D0 MRD MRD ROMH 28C64 ROML 28C64 OE OE WE WE A12~A0 CS CS A12~A0 Y0 Y0 D15~D8 D7~D0 MRD MRD RAMH 6116 RAML 6116 OE OE WE WE A10~A0 CS A10~A0 CS Y1 Y1 MWR A10~A0 地址总线
内存储器和串行接口 存储器由 2 组 8 位区组成,可运行于8 位或16位方式; 每组由 1 片 2716 RAM 和 2 片 28C64 ROM芯片组成,亦可选用2764 ROM芯片。 对16位地址的最高3位译码,产生 8 个存储器片选信号,各自对应8192 的存储容量。 2 路串行接口,其中一路正常运行,另一路经扩展后方可使用。 对 8 位 IO 端口地址的最高 4位译码,产生 8 个 IO芯片的片选信号。 1 片双 2-4 译码器 139 给出内存和 IO 的读写命令信号。 2 片GAL 和 2 片 373 寄存器用于支持中断响应与处理实验。
数据总线设计 • 与内部总线相连 • 三态门控制
思考题和作业 1.多级结构的存储器系统由哪几级组成?每一级存储器一般使用何种类型的存储介质?这些介质的主要特性是什么?在多级结构的存储器系统中,何谓信息的一致性和包含性原则? 2.存储器读写操作时,地址信号、片选信号、读写命令、读出的数据或写入的数据在时序配合上要满足什么关系? 作业请在网络学堂下载,请使用手写版交作业。本次作业和下次的Cache作业一起在下周五交。