一、计算机组成
1.1 冯罗依曼计算机组成
主机、外设、总线
主机: CPU + 内存
外设: 输入设备 + 输出设备 + 外存
总线: 地址总线 + 数据总线 + 控制总线
1.2 计算机层次结构
硬件逻辑层 —> 微代码层 —> 指令集架构层 —>操作系统 —> 汇编语言 ----> 高级语言 —> 应用程序
1.3 计算机性能指标
1.3.1 非时间指标
字长: 指机器一次能处理的二进制位数
主存容量: 主存的大小
总线宽度: 指数据总线一次能并行处理的最大信息位数,一般指运算器与存储器之间的数据总线的位数
存储带宽: 单位时间内与主存交换的二进制位数B/s
1.3.2 时间指标
主频f: 时钟震荡的频率 Hz;
时钟周期T: 时钟震荡一次的时间 t
外频: cpu与主板之间同步的时钟频率,系统总线的工作频率;倍频: 主频与外频的倍数 =主频/外频
CPI: clock cycles per instruction,执行一条指令需要的周期数(平均)
MIPS: million instructions per second,每秒执行的指令总条数 MIPS= f / CPI (忽略单位)
1.4 数据表示
真值
机器数
原码
反码
补码
移码
二、 存储系统
2.1 存储系统层次结构
2.1.1 主存问题
主存速度慢的原因: 主存增速与CPU不同步,执行指令期间多次访问主存
主存容量不足原因:
- 存在制约主存容量的技术因素:如由CPU、主板等相关技术指标规定了主存容量
- 应用对主存容量需求不断扩大: window98-8M, windows8 - 1G
2.1.2存储体系的结构化层次
CPU – Cache1 — Cache2(解决速度) — 主存 — 辅存(解决容量)
存储体系结构化层次理论基础:
- 时间局部性: 程序体现为循环结构
- 空间局部性:程序体现为顺序结构
2.2 主存中的数据组织
2.2.1 存储字长
主存的一个存储单元所包含的二进制位数,目前大多数计算机主存按字节编址,主要由32为和64位
2.2.2 数据存储与边界的关系
- 按边界对齐的数据存储,未按边界对齐的数据存储
- 边界对齐与存储地址的关系:(32位为例)
双字长边界对齐:起始地址最末三位为000(8字节整数倍)
单字长边界对齐:起始地址最末二位为00(4字节整数倍)
半字长边界对齐:起始地址最末一位为0(2字节整数倍)
2.2.3 大端与小端存储方式
- 大端:最高字节地址是数据地址(0123存成0123)
- 小端:最低字节地址是数据地址(0123存成3210)
2.3 存储器分类
- SRAM存储器:存取速度快,但集成度低,功耗大,做缓存
- RAM存储器:存取速度慢,但集成度高,功耗低,做主存
DRAM刷新方式:集中刷新、分散刷新、异步刷新
2.4 主存容量扩展
- 位扩展法:8K * 8位 --> 8K * 32位
- 字扩展法:8K * 8位 --> 32K * 8位
- 字位同时扩展法:8K * 8位 --> 32K * 32位
2.5 Cache基本原理
2.5.1 cache的工作过程:
- 数据:cpu与cache交换字,cache与内存交换块
- 读:命中,不命中
- 写:写穿策略,写回策略
2.5.2 写策略
- 写穿策略(write through):同时写缓存和内存,好像穿过缓存一样。若不命中,先写到主存中,并选择性地同时分配到缓存中(写分配/非写分配)
- 写回策略(write back):写到缓存后不管了,只有当缓存的内容替换回主存时再管,需有脏位。好像隔段时间后再写回到主存中一样
2.5.3 地址映射机制
- 相联存储器:地址本身包含着位置啊可比较的信息啊等内容信息,可根据区分地址内容进行寻址
- 主存地址 = 块地址 + 块内偏移地址 = (Tag + Index) + 块内偏移地址
- cache结构
- 好多行,每行与主存块大小相等
- 每行 = tag + data + valid + dirty
三种映射方式
- 全相联:cache行号 = random(内存块号)
- 直接相联:cache行号 = 内存块号 % cache行数
- 组相联:两者结合。8行1路组相联就是全相联,8行8路组相联就是直接相联
2.5.4 替换算法
- 先进先出法-FIFO
- 最近最不经常使用法-LFU
- 近期最少使用法-LRU
- 随机替换法
2.6 虚拟存储器
解决的问题:
主存容量不足,希望向程序员提高更大(比主存大)的编程空间
分类:
- 页式
- 段式
- 段页式
页式实现方式: MMU(Memory Management Unit) + 页表 + TLB(Transaction Lookaside Buffer:地址转换后备缓冲器)
页式转换过程: 虚拟地址 = 虚拟页号 + 页内偏移 ==> 物理页号 + 页内偏移
2.7 RAID
2.7.1 概念
独立磁盘构成的具有冗余能力的阵列(Redundant Arrays Independent Disks)
2.7.2 核心技术
使用异或运算恢复数据 (x⊕y = z --> x = y⊕z)
分类:
- RAID0:条带均匀分布
- RAID1:以镜像为冗余方式
- RAID3/4:有校验盘
- RAID5:校验信息分布式
- RAID10/01:10是先镜像再条带化,01是先条带化再镜像
- RAID50:先RAID5,再条带化
三、指令系统
3.1 指令系统基本概念
指令集: 一台机器所有指令的集合。系列机(同一公司不同时期生产);兼容机(不同公司生产)
指令字长: 指令中包含的二进制位数,有等长指令、变长指令。
指令分类:
-
根据层次结构:高级、汇编、机器、微指令
-
根据地址码字段个数:零、一、二、三地址指令
-
根据操作数物理位置
- 存储器-存储器(SS)
- 寄存器-寄存器(RR)
- 寄存器-存储器(RS)
-
根据指令功能:传送、算术运算、位运算、控制转移
指令格式: 操作码+数据源+寻址方式
3.2 寻址方式
3.2.1指令寻址方式:
- 顺序寻址
- 跳跃寻址
3.2.2 操作数寻址方式
- 立即数寻址:地址码字段是操作数本身 MOV AX, 200H
- 寄存器寻址:地址码字段是寄存器地址 MOV AX, BX
- 直接寻址:地址码字段是内存地址 MOV AX, [200H]
- 间接寻址:地址码字段是内存地址的地址 MOV AX, I[200H]
- 寄存器间接寻址:地址码字段是存内存地址的寄存器地址 MOV AX, [BX]
- 相对寻址:操作数地址 + 当前PC的值
- 基址寻址:操作数地址 + 基址寄存器的值(一段程序中不变) MOV AX, 32[B]
- 变址寻址:操作数地址 + 变址寄存器的值(随程序不断变化) MOV AX, 32[SI]
3.2.3 MIPS
3种指令格式:
- R型指令
- I型指令
- J型指令
四、中央处理器
4.1 CPU的组成与功能
4.2 数据通路
4.2.1 概念
执行部件间传送信息的路径,
- 分共享通路(总线)
- 专用通路
抽象模型: 时钟驱动下,A --> 组合逻辑 --> B
4.3 指令周期
执行指令一般流程:
4.3.1 基本概念
- 时钟周期 = 节拍脉冲 = 震荡周期
- 机器周期 = CPU周期 = 从主存读取一条指令的最短时间
- 指令周期 = 从主存读指令并执行指令的时间
五、总线
5.1 系统总线的特性及应用
总线概念:将计算机系统中各部件连接起来
总线分类:(外部/内部,系统/非系统,串行/并行,同步/异步…)
①. 按用途分类:
存储总线:cpu与存储器
系统总线:连接存储总线和IO总线的中间总线
IO总线:连接外部设备
②. 按位置分类:
外部总线: USB,火线(IEEE1394)
内部总线: PCI(连网卡),AGB(连显卡)
(芯)片内总线:AMBA(ARM处理器)
③. 按组成分类
数据总线:传数据,双向三态
地址总线:传地址,单向三态
控制总线:控制信号和时序信号
电源线和地线:略
5.2 总线性能和总线事物
总线的性能参数
总线频率: 总线工作速率f,单位是MHz
总线宽度: 数据总线的宽度w,单位是bit
总线传输速率: 总线传输数据量BW,单位是MB/s。BW = w / 8 * f
总线事务
- 概念:从请求总线到完成使用的操作序列(请求 - 裁决 - 地址传输 - 数据传输 - 总线释放)
- 角色:主设备(CPU,DMA)和从设备
- 四个阶段:请求与仲裁 - 传输 - 寻址 - 结束
- 常见总线操作:读,写,读修改写,写后读,块操作
5.3 总线连接方式
- 单总线结构
- 双总线结构
- 多总线结构
![在这里插入图片描述](https://img-blog.csdnimg.cn/467d50c0fc504ff59fb53fb3f35c2f3e.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAeGhhaWswMQ==,size_20,color_FFFFFF,t_70,g_se,x_
六、输入输出系统
6.1 输入输出系统概述
组成: 外设 + 接口 + 总线 + 管理软件
基本功能:
- 完成计算机内外的信息传递
- 保证CPU正确选择输出设备
- 利用缓冲等,实现主机与外设的速度匹配
特点:
- 异步性
- 实时性
- 设备无关性
输入过程:
CPU把地址值放入总线 --> CPU等候设备数据有效 --> CPU从总线读入数据存入寄存器
输出过程: CPU把地址值放入总线 --> CPU把数据值放入总线 --> 设备等数据有效取走数据
6.2 IO系统性能
IO系统性能:存储IO、通信IO
- 连接特性:哪些设备可以和IO相连
- IO系统容量:IO系统可以容纳的设备数
- 响应时间:从用户输入命令到得到结果所花的时间(s)
- 吞吐率:单位时间完成的IO操作次数(用IOP表示)
6.3 输入输出方式
无条件IO方式: 执行IO指令时,CPU默认外设已经准备就绪,外设很难满足这一点
程序控制IO方式: 执行IO指令时,先获取设备状态(设备状态寄存器),决定下一步操作(程序决定)
- 数据要经过CPU,CPU还要浪费大量时间查询设备状态
中断IO方式:外设主动通知CPU接收或输出数据,有实时性
DMA方式: 由硬件执行IO,外设准备好后通知DMA,DMA接管总线,完成数据交换
- 既有中断的优点,又降低了服务的开销
通道和IO处理机方式: 外设种类很多速度差别很大,将外设管理工作从CPU总分离出来
- 通道本身就是个简单的CPU,执行IO指令的处理机
- IO处理机是通道的进一步发展,更像一个CPU了
6.4 中断请求与响应
6.4.1 概念
CPU由内部外部事件引起CPU中断正在运行的程序,具有随机性(符合输入输出系统特性)
作用:
- 主机与外设并行
- 故障处理
- 实时处理
类型:
- 内部中断(软件、异常)
- 外部中断(可屏蔽中断INTR、不可屏蔽中断NMI)