♡♡♡ 说明:
本笔记为笔者学习中国大学MOOC上计算机组成原理课程时结合课程PPT和自己总结所做,为个人笔记,如果对你有所帮助的话,我很荣幸。
课件PPT及笔记(word版、pdf版)及深入理解计算机系统pdf可在我的微信公众号 “分享猿” 回复关键词 N02获取。
计算机组成原理系列课程笔记入口:计算机组成原理[哈工大]
文章目录
一、概述
1.1 存储器的分类
- 按存储介质分类
(1) 半导体存储器 TTL 、 MOS 易失
(2) 磁表面存储器 磁头、载磁体 \
(3) 磁芯存储器 硬磁材料、环状元件 非易失
(4) 光盘存储器 激光、磁光材料 / - 按存取方式分类
(1) 存取时间与物理地址无关(随机访问)
• 随机存储器 在程序的执行过程中 可 读 可 写
• 只读存储器 在程序的执行过程中 只 读
(2) 存取时间与物理地址有关(串行访问)
• 顺序存取存储器 磁带
• 直接存取存储器 磁盘 - 按在计算机中的作用分类
存 储 器 { 主 存 储 器 { R A M { 静 态 R A M 动 态 R A M R O M { M R O N P R O M E P R O M E E P R O M F l a s h M e m o r y 高 速 缓 冲 存 储 器 ( C a c h e ) 辅 助 存 储 器 − 磁 盘 、 磁 带 、 光 盘 存储器\left\{ \begin{aligned} 主存储器 \begin{cases} RAM \begin{cases} 静态RAM\\ 动态RAM \end{cases} \\ ROM \begin{cases} MRON\\ PROM\\ EPROM\\ EEPROM \end{cases} \end{cases}\\ Flash Memory\\ 高速缓冲存储器(Cache) & \\ 辅助存储器 -磁盘、磁带、光盘 \end{aligned} \right. 存储器⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧主存储器⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧RAM{静态RAM动态RAMROM⎩⎪⎪⎪⎨⎪⎪⎪⎧MRONPROMEPROMEEPROMFlashMemory高速缓冲存储器(Cache)辅助存储器−磁盘、磁带、光盘
1.2 存储器的层次结构
- 存储器三个主要特性的关系
- 缓存-主存层次和主存-辅存层次
二、主存储器
2.1 概述
- 主存的基本组成
- 主存和 CPU 的联系
备注:MDR、MAR在CPU中 - 主存中存储单元地址的分配
- 主存的技术指标
(1) 存储容量 主存 存放二进制代码的总位数,即存储单元个数* 存储字长
(2) 存储速度
• 存取时间 存储器的 访问时间(读出时间、写入时间)
• 存取周期 连续两次独立的存储器操作(读或写)所需的最小间隔时间,
通常,存取周期>存取时间
(3) 存储器的带宽 位/秒
2.2 半导体存储芯片简介
-
半导体存储芯片的基本结构
存储芯片片选线的作用
-
半导体存储芯片的译码驱动方式
(1) 线选法 (16*1字节:1片)
(2) 重合法 (1K *1位:8片芯片)
2.3 随机存取存储器 ( RAM )
- 静态 RAM (SRAM)
(1) 静态 RAM 基本电路
① 静态 RAM 基本电路的 读 操作
(2) 静态 RAM 芯片举例
① Intel 2114 外特性
② Intel 2114 RAM 矩阵 (64 × 64) 读
③ Intel 2114 RAM 矩阵 (64 × 64) 写
- 动态 RAM ( DRAM )
(1) 动态 RAM 基本单元电路
(2) 动态 RAM 芯片举例
① 三管动态 RAM 芯片 (Intel 1103) 读
② 三管动态 RAM 芯片 (Intel 1103) 写
③ 单管动态 RAM 4116 (16K × 1位) 外特性
(4) 动态 RAM 刷新 刷新与行地址有关
① 集中刷新 (存取周期为0.5 s )
以128 × 128 矩阵为例
“死区” 为 0.5 s× 128 = 64 s
“死时间率” 为 128/4 000 × 100% = 3.2%
② 分散刷新(存取周期为1s)
以 128 × 128 矩阵为例
③ 分散刷新与集中刷新相结合(异步刷新)
对于 128 × 128 的存储芯片(存取周期为 0.5 us)
若每隔 15.6 us 刷新一行
每行每隔2 ms 刷新一次 “死区” 为 0.5 us
将刷新安排在指令译码阶段,不会出现 “死区” - 动态 RAM 和静态 RAM 的比较
2.4 只读存储器(ROM)
早期的只读存储器——在厂家就写好了内容
- 改进1——用户可以自己写——一次性
- 改进2——可以多次写——要能对信息进行擦除
- 改进3——电可擦写——特定设备
- 改进4——电可擦写——直接连接到计算机上
-
掩模 ROM ( MROM ) (厂家写好)
行列选择线交叉处有 MOS 管为“1”
行列选择线交叉处无 MOS 管为“0” -
PROM (一次性编程)
-
EPROM (多次性编程 )
-
EEPROM (多次性编程 )
电可擦写
局部擦写
全部擦写 -
Flash Memory (闪速型存储器)
EPROM 价格便宜 集成度高
EEPROM 电可擦洗重写
比EEPROM快,具备 RAM 功能
2.5 存储器与 CPU 的连接
- 存储器容量的扩展
- 存储器与 CPU 的连接
(1) 地址线的连接
(2) 数据线的连接
(3) 读/写命令线的连接
(4) 片选线的连接
(5) 合理选择存储芯片
(6) 其他 时序、负载
例4.1 设CPU有16根地址线,8根数据线,并用 (MREQ) ̅ 作为访存控制信号(低电平有效),用用 (WR) ̅ 作为读/写控制信号(高电平为读,低电平为写)。现有下列存储芯片:1K*4位RAM,4K*8位RAM,8K*8位RAM,2K*8位ROM,4K*8ROM,8 K*8位ROM及74138译码器和各种门电路,如图所示。画出CPU与存储器的连接图,要求如下:
①主存地址空间分配:
6000H~67FFH为系统程序区。
6800H~6BFFH为用户程序区。
②合理选用上述存储芯片,说明各选几片。
③详细画出存储芯片的片选逻辑图。
(3) 分配地址线
(4) 确定片选信号
备注:MREQ存储器请求,确定本次访问时存储器(低电平)还是I/O(高电平)。(WR) ̅ 代表低电平为写,高电平为读。
2.6 存储器的校验
- 为什么要对存储器的信息进行校验?
- 为了能够校验出信息是否正确,如何进行编码?
- 纠错或检错能力与什么因素有关?
- 校验出信息出错后是如何进行纠错?
- 除了我们教材上讲的校验码,你还知道哪些容错编码?,原理是什么?
- 合法代码集合
-
编码的最小距离
任意两组合法代码之间二进制位数的最少差异
编码的纠错、检错能力与编码的最小距离有关
L − 1 = D + C ( D ≥ C ) L - 1 = D + C ( D≥C ) L−1=D+C(D≥C)
L L L —— 编码的最小距离 L = 3 L = 3 L=3
D D D —— 检测错误的位数
C C C —— 纠正错误的位数
汉明码是具有一位纠错能力的编码 -
汉明码的组成
组成汉明码的三要素
汉明码的组成需增添 ? k k k位检测位 2 k ≥ n + k + 1 , n 2^k ≥ n + k + 1,n 2k≥n+k+1,n为代码长度
检测位的位置 ? 2 i 2^i 2i ( i = 0 , 1 , 2 , 3 , … i = 0, 1, 2 , 3 , … i=0,1,2,3,… )
检测位的取值 ?与该位所在的检测“小组” 中承担的奇偶校验任务有关
各检测位 C i C_i Ci 所承担的检测小组为
-
汉明码的纠错过程
形成新的检测位 P i P_i Pi ,其位数与增添的检测位有关,如增添3位( k = 3 k = 3 k=3),新的检测位为 P 4 P 2 P 1 P_4 P_2 P_1 P4P2P1
以 k = 3 k = 3 k=3 为例, Pi的取值为
P 1 = 1 ⊕ 3 ⊕ 5 ⊕ 7 P 2 = 2 ⊕ 3 ⊕ 6 ⊕ 7 P 4 = 4 ⊕ 5 ⊕ 6 ⊕ 7 P_1 = 1⊕3⊕5⊕7\\ P_2 = 2⊕3⊕6⊕7\\ P_4 = 4⊕5⊕6⊕7 P1=1⊕3⊕5⊕7P2=2⊕3⊕6⊕7P4=4⊕5⊕6⊕7
对于按 “偶校验” 配置的汉明码,不出错时 P 1 = 0 , P 2 = 0 , P 4 = 0 P_1=0,P_2=0,P_4=0 P1=0,P2=0,P4=0
2.7 提高访存速度的措施
- 采用高速器件
- 采用层次结构 Cache –主存
- 调整主存结构
-
单体多字系统
-
多体并行系统
(1) 高位交叉 顺序编址 各个体并行工作
(2) 低位交叉 各个体轮流编址
低位交叉的特点
在不改变存取周期的前提下,增加存储器的带宽
设四体低位交叉存储器,存取周期为T,总线传输周期为τ,为实现流水线方式存取,应满足 T = 4τ。
连续读取 4 个字所需的时间为 T + ( 4 - 1 ) τ T+(4 -1)τ T+(4-1)τ -
高性能存储芯片
(1) SDRAM (同步 DRAM)
在系统时钟的控制下进行读出和写入
CPU 无须等待
(2) RDRAM
由 Rambus开发,主要解决存储器带宽问题
(3) 带 Cache 的 DRAM
在DRAM的芯片内集成了一个由 SRAM 组成的Cache,有利于猝发式读取
三、高速缓冲存储器
3.1 概述
- 问题的提出
避免 CPU “空等” 现象
CPU 和主存(DRAM) 的速度差异
- Cache的工作原理
(1) 主存和缓存的编址
主存和缓存按块存储块的大小相同B为块长
(2) 命中与未命中
缓存共有C 块,主存共有M 块 M >> C
命中:主存块调入缓存,主存块与缓存块建立了对应关系
用标记记录与某缓存块建立了对应关系的主存块号
未命中:主存块未调入缓存
主存块与缓存块未建立对应关系
(3) Cache 的命中率
CPU 欲访问的信息在Cache 中的比率
命中率与Cache 的容量与块长有关
一般每块可取 4 ~ 8 个字
块长取一个存取周期内从主存调出的信息长度
CRAY_1:16体交叉,块长取 16 个存储字
IBM 370/168:4体交叉,块长取 4 个存储字(64位× 4 = 256位)
(4) Cache–主存系统的效率
效率 e 与 命中率 有关
设 Cache 命中率 为 h, 访问 Cache 的时间为 tc,访问 主存 的时间为 tm,则
- Cache 的基本结构
- Cache的读写操作 -读
写 - Cache 和主存的一致性
• 写直达法(Write–through)
写操作时数据既写入Cache又写入主存
写操作时间就是访问主存的时间, Cache块退出时,不需要对主存执行写操作,更新策略比较容易实现
• 写回法(Write–back)
写操作时只把数据写入 Cache 而不写入主存
当 Cache 数据被替换出去时(原数据)才写回主存
写操作时间就是访问 Cache 的时间,
Cache块退出时,被替换的块需写回主存,增加了Cache的复杂性 - Cache 的改进
(1) 增加 Cache 的级数
• 片载(片内)Cache 单一缓存
• 片外Cache 两级缓存
(2) 统一缓存和分立缓存
• 指令Cache 数据Cache
• 与指令执行的控制方式有关 是否流水
Pentium:8K指令Cache,8K数据Cache
PowerPC620:32K指令Cache,32K数据Cache
3.2 Cache–主存的地址映射
-
直接映射
每个缓存块 i i i 可以和若干个主存块对应
每个主存块 j j j 只能和一个缓存块对应 -
全相联映射
主存中的任一块可以映射到缓存中的任一块 -
组相联映射
直接:某一主存块只能固定映射到某一缓存块
全相联:某一主存块能映射到任一缓存块
组相联:某一主存块只能映射到某一缓存组中的任一块
3.3 替换算法
- 先进先出 ( FIFO ) 算法
- 近期最少使用( LRU) 算法
四、辅助存储器
4.1 概述
- 特点 不直接与 CPU 交换信息
- 磁表面存储器的技术指标
(1) 记录密度 道密度 Dt 位密度 Db
(2) 存储容量 C = n × k × s
(3) 平均寻址时间 寻道时间 + 等待时间
辅存的速度 寻址时间&磁头读写时间
(4) 数据传输率 Dr = Db × V
(5) 误码率 出错信息位数与读出信息的总位数之比
4.2磁记录原理和记录方式
- 磁记录原理 (读和写)
4.3 硬磁盘存储器
- 硬磁盘存储器的类型
(1) 固定磁头和移动磁头
(2) 可换盘和固定盘 - 硬磁盘存储器结构
(1) 磁盘驱动器
(2) 磁盘控制器
• 接收主机发来的命令,转换成磁盘驱动器的控制命
• 实现主机和驱动器之间的数据格式转换
• 控制磁盘驱动器读写
磁盘控制器 是主机与磁盘驱动器之间的 接口
(3) 盘片 由硬质铝合金材料制成
4.4 软磁盘存储器
- 概述
- 软盘片——由聚酯薄膜制成
4.5 光盘存储器
-
概述
采用光存储技术——利用激光写入和读出
第一代光存储技术——采用非磁性介质 不可擦写
第二代光存储技术——采用磁性介质 可擦写 -
光盘的存储原理
只读型和只写一次型——热作用(物理或化学变化)
可擦写光盘——热磁效应