CPU基础知识
CPU的内部由寄存器、控制器、运算器和时钟四个部分构成,各部分之间由电流信号相互连通。寄存器可用来暂存指令、数据等处理对象;控制器负责把内存上的指令、数据等读入寄存器,并根据指令的执行结果来控制整个计算机;运算器负责运算从内存读入寄存器的数据;时钟负责发出CPU开始计时的时钟信号
运算器
运算器分为
- 算术逻辑单元ALU 数据的算术运算和逻辑运算
- 累加寄存器AC 通用寄存器,为ALU提供一个工作区,暂存源操作数和结果
- 数据缓冲寄存器DR 写内存时,暂存指令或数据
- 状态条件寄存器PSW 存状态标志与控制标志,如进位(C)、零(Z)、溢出(V)等 (有时也可以归于控制器中)
控制器
控制器不仅要保证程序(指令)的正常执行,还要能够处理异常
指令 = 操作码+地址码
控制器分为
- 程序计数器PC 存储下一条要执行指令的地址,控制程序的 顺序执行或转移执行
- 指令寄存器IR 存储即将执行的指令,CPU执行指令时,先把指令从内存器取到DR中,再送到IR中
- 指令译码器ID 对指令中的操作码字段进行分析解释 如 +、-、*、\等
- 地址寄存器AR 保存当前CPU所访问的内存单元的地址
寻址方式
- 立即寻址方式 操作数直接在指令中,速度最快,灵活性差
- 直接寻址方式 指令中存放的是操作数的地址
- 间接寻址方式 指令中存放了一个地址,这个地址对应的内容是操作数的地址,需要两次寻址
- 寄存器寻址方式 寄存器存放操作数,指令中直接给出的存放操作数的寄存器名
- 寄存器间接寻址方式 寄存器内存放的是操作数的地址
指令集
指令系统类型 | 指令 | 寻址方式 | 实现方式 | 其他 |
---|---|---|---|---|
CISC 复杂 | 指令数量多,指令复杂度高,可变长格式 | 支持多种 | 微程序控制技术(微码),也可以采用流水线 | 研制周期长 |
RISC 简单 | 指令数量少,指令复杂度低,定长格式,大部分为单周期指令,操作寄存器,只有Load/Store操作内存 | 支持方式少 | 增加了通用寄存器,硬布线逻辑控制为主,比CISC更适合采用流水线 | 优化编译,有效支持高级语言 |
流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的
RISC 简单 | CISC 复杂 | |
---|---|---|
指令种类 | 少、精简 | 多、丰富 |
指令复杂度 | 简单 | 复杂 |
指令长度 | 固定 | 变化 |
寻址方式 | 少 | 复杂 |
实现方式 | 硬布线控制逻辑 | 微程序控制技术 |
通用寄存器数量 | 多、大量 | 一般 |
流水线技术 | 支持 |
流水线执行时间计算
流水线计算公式为 1条指令执行时间+(指令条数-1)流水线周期,理论公式为 `(t1+t2+…tk)+(n-1)t实践公式为
kt+(n-1)t`
流水线周期是指整个执行过程中执行时间最长的一段
举例:一条指令的执行过程分为取指、分析和执行三步,取指时间为3,分析时间为2,执行时间为4,按照流水线方式执行,流水周期为4,10条指令全部执行完需要 3+2+4+(10-1)*4 = 45
流水线吞吐率计算
流水线吞吐率是指单位时间内流水线所完成的任务数量或输出的结果数量
TP = 指令条数/流水线执行时间
流水线的最大吞吐率为 1/t
性能参数
CPU的主要性能参数包括:主频,倍频,外频。CPU的主频也叫时钟频率,CPU 主频为 CPU 的额定工作频率,当内核数目和缓存大小一样时,主频越高的CPU性能越好。通常,主频越高CPU处理数据的速度就越快,CPU的主频=外频×倍频系数。
CPU发展太快,而其他硬件无法达到同样频率来交互,于是CPU进行妥协,将外频作为和主板其他部件之间通讯的频率,而工作频率靠倍频来调节提升。
CPU的主频,即CPU内核工作的时钟频率(CPU Clock Speed)。通常所说的某某CPU是多少MHz的,而这个多少兆赫就是“CPU的主频”。
Hz是秒分之一的意思,每秒中的周期性变动重复次数的计量
外频是CPU的基准频率,单位是MHz。CPU的外频决定着整块主板的运行速度。
倍频系数是指CPU主频与外频之间的相对比例关系。一般情况下,同代(同针脚)的CPU,其外频往往是一样的,只是倍频系数的变化导致主频不同