本次笔记内容:
P37 计算机组成原理(37)
P38 计算机组成原理(38)
我的计组笔记汇总:计算机组原理成笔记
视频地址:计算机组成原理 清华大学刘卫东 全58讲 国家精品课程 1080P 更完
幻灯片见我的 GitHub 仓库:计算机组成原理 src/slides
本节课幻灯片:组成原理31 dram.pptx
本节课进入第三单元。
文章目录
本单元内容提要- 第一讲 层次存储器系统概述及动态存储器
- 第二讲 静态存储器及高速缓冲存储器
- 第三讲 高速缓冲存储器的组成与运行原理
- 第四讲 虚拟存储器的运行原理
- 第五讲 磁表面存储设备的存储原理与组成
- 第六讲 MIPS系统异常处理和响应
与 13 年的课不同的是,19年课程中去掉了“光盘”的部分,用 MIPS 取而代之。
控制器那单元不太好出题,因此用大实验替代;本单元与操作系统联系紧密,适于出题。
本讲概要- 存储器系统功能
- 存储器系统的设计目标
- 需要解决的问题
- 层次存储器系统
- 动态存储器的组成与原理
存储器地位和作用
- 存储程序使计算机走向通用。
- 计算机中用来存放程序和数据的部件,是Von Neumann结构计算机的重要组成,是计算机的
中心
。 - 程序和数据的特点:
-
- 源程序、汇编程序、机器语言程序
-
- 各种类型的数据
-
共同点:二进制数据
对存储介质的基本要求
- 能够
有两个稳定状态
来表示二进制中的“0”和“1” - 容易识别
- 两个状态能方便地进行转换
- 几种常用的存储方式:
磁颗粒
、半导体(电平/电容)
、光
早期存储器:水银延迟线存储器
磁芯存储器
- 圆柱型陶瓷上涂磁粉
- 手工穿线,水手结
- 消磁后重写
这个存储器在历史舞台呆了很久。发明者是华裔王安。
需要很大人工。
半导体存储器
存储原理:
- MOS管寄生电容
- 触发器
访问机制:
- 随机访问(所谓随机访问,是访问地址与读取时间没关系)
分类:
- ROM、RAM
- SRAM、DRAM
主存储器:
- 寄存器 Register
- 高速缓存 Cache
- 主存储器 Main Memory
辅助存储器:
- 磁盘 Disk
- 磁带 Tape
- 光盘 Compact Disc
不同类型存储器比较
按访问方式分类
随机访问存储器(RAM):
- 访问时间与存放位置无关
- 半导体存储器
顺序访问存储器(SAM):
- 按照存储位置依次访问
- 磁带存储器
直接访问存储器(DAM):
- 随机+顺序
- 磁盘存储器
关联访问存储器(CAM):
- 根据内容访问
- Cache和TLB
存储器系统设计目标
- 尽可能快的
存取速度
:应能基本满足CPU对数据的访问要求 - 尽可能大的存储
空间
:可以满足程序对存储空间的要求 - 尽可能低的
单位成本(价格/位)
:用户能够承受的范围内 - 较高的
可靠性
摩尔定律
1965年,Intel公司创始人之一Gordon Moore提出:芯片上集成的晶体管数量每18个月翻一番。
存储器对性能的影响
假定某台计算机的处理器工作在:
- 主频= 1GHz (机器周期为1 ns)
- CPI = 1.1
- 50% 算逻指令, 30% 存取指令, 20% 转移指令
再假定其中 10% 的存取指令会发生数据缺失,需要50个周期的延迟:
- CPI = 理想CPI + 每条指令的平均延迟 = 1.1 + (0.30 x 0.10 x 50)= 1.1 cycle + 1.5 cycle = 2. 6 CPI!
- 也就是说,
处理器 58% 的时间花在等待存储器给出数据上面!
每1% 的指令的数据缺失将给CPI附加0.5个周期!
存储器设计目标
目标:大容量、高速度、低成本、高可靠性
目前现实:
- 大容量存储器速度慢
- 快速存储器容量小
如何实现我们的目标呢?
- 层次存储器系统
层次存储器系统
高速度:
- 静态存储器速度高
- 设置较小容量的高速缓冲存储器
大容量:
- 动态存储器价格适中,速度适中
- 可作为主存储器
低成本:
- 磁盘存储器价格低廉
- 作为辅助存储器,暂存CPU访问频率不高的数据和程序
- 作为虚拟存储器的载体
程序运行的局部性原理
程序运行时的局部性原理表现在:
- 在一小段
时间
内,最近被访问过的程序和数据很可能再次被访问 - 在
空间
上这些被访问的程序和数据往往集中在一小片存储区 - 在访问
顺序
上,指令顺序执行比转移执行的可能性大(大约5:1)
合理地把程序和数据分配在不同存储介质中。
有了局部性原理,我们的层次存储器就有了依据。
层次之间应满足的原则
(1)一致性原则
:处在不同层次存储器中的同一个信息应保持相同的值。
(2)包含性原则
:处在内层的信息一定被包含在其外层的存储器中,反之则不成立,即内层存储器中的全部信息,是其相邻外层存储器中一部分信息的复制品。
这就是层次存储器基本原理
利用程序的局部性
原理:
- 以最低廉的价格提供尽可能大的存储空间
- 以最快速的技术实现高速存储访问
主存的一体多字:
- 一个读写体,每次多个字
单字多体:
- 多个读写体,交叉编址
多端口存储器
主存储器的作用和连接存储正处在运行中的程序和数据(或一部分) 的部件,通过地址数据控制三类总线与CPU、与其它部件连通。
地址总线
地址总线用于选择主存储器的一个存储单元(字或字节),其位数决定了能够访问的存储单元的最大数目,称为最大可寻址空间。例如,当按字节寻址时,20位的地址可以访问1MB的存储空间,32位的地址可以访问4GB的存储空间。
数据总线
数据总线用于在计算机各功能部件之间传送数据,数据总线的位数(总线的宽度)与总线时钟频率的乘积,与该总线所支持的最高数据吞吐(输入/输出)能力成正比。
控制总线
控制总线用于传“控制信号”并不准确。
控制总线用于指明总线的工作周期类型和本次入/出完成的时刻。总线的工作周期可以包括主存储器读周期、主存储器写周期、I/O设备读周期、I/O设备写周期,即用不同的总线周期来区分要用哪个部件(主存或I/O设备)和操作的性质(读或写);还有直接存储器访问(DMA)总线周期等。
主存储器的读写过程
读过程:
- 给出地址
- 给出片选与读命令
- 保存读出内容
写过程:
- 给出地址
- 给出片选与数据
- 给出写命令
动态存储器,是用金属氧化物半导体(MOS)的单个MOS管来存储一个二进制位(bit)信息的。信息被存储在MOS管T的源极的寄生电容CS中,例如,用CS中存储有电荷表示1,无电荷表示0。
动态存储器的写过程
V D D V_{DD} VDD 是电源。
写 1
若CS 上有电荷,则 CS 的电荷不变,保持原记忆的 1 信号不变;
若CS 上有电荷,则 CS 的电荷不变,保持原有的内容 1 不变。
写 0
若CS 上无电荷,则 CS 无充放电动作,保持原记忆的 0 信号不变。
若CS 上无电荷,则 CS 无充放电动作,保持原记忆的 0 信号不变。
读出过程
读操作,首先使位线充电至高电平,当字线来高电平后,T导通:
- 若 CS 上无电荷,则位线上无电位变化 ,读出为 0 ;
- 若 CS 上有电荷,则会放电,并使位线电位由高变低,
接在位线上的读出放大器会感知这种变化
,读出为 1。
但是,有一个问题:读了 1 ,电容电放没了,变成 1 了。
动态存储器的工作特点
破坏性读出:
- 读出时被强制清零
- 因此,预充电延迟
需定期刷新(防止电掉光):
- 集中刷新:停止读写,逐行刷新
- 分散刷新:定时周期性刷新
刷新的单位是页,因此要做快速分页组织。
破坏性读出:读操作后,被读单元的内容一定被清为零,必须把刚读出的内容立即写回去,通常称其为预充电延迟,它影响存储器的工作频率,在结束预充电前不能开始下一次读。
要定期刷新:在不进行读写操作时,DRAM 存储器的各单元处于断路状态,由于漏电的存在,保存在电容CS 上的电荷会慢慢地漏掉,为此必须定时予以补充,通常称其为刷新操作。
刷新不是按字处理,而是每次刷新一行,即为连接在同一行上所有存储单元的电容补充一次能量。 刷新有两种常用方式:①集中刷新,停止内存读写操作,逐行将所有各行刷新一遍;②分散刷新,每一次内存读写后,刷新一行,各行轮流进行。或在规定的期间内,如 2 ms ,能轮流把所有各行刷新一遍。
快速分页组织的存储器:行、列地址要分两次给出,但连续地读写用到相同的行地址时,也可以在前一次将行地址锁存,之后仅送列地址,以节省送地址的时间,支持这种运行方式的被称为快速分页组织的存储器。
动态存储器读写过程(行/列地址)
动态存储器集成度高,存储容量大,为节约管脚数,地址分为行地址
和列地址
。
DRAM 写时序
DRAM 读时序
小结程序的局部性原理:
- 时间局部性:最近被访问过的程序和数据很可能再次被访问
- 空间局部性:CPU很可能访问最近被访问过的地址单元附近的地址单元。
利用程序的局部性原理:
- 使用尽可能大容量的廉价、低速存储器存放程序和数据。
- 使用高速存储器来满足CPU对速度的要求。
动态存储器DRAM:
- 电容充放电来存储数据
- 集成度高、容量大、能耗低、速度慢