CPU结构
右下:运算器
算术逻辑单元ALU(核心)
负责运算,数据通路
包含加法器和移位寄存器、控制逻辑
累加器ACC:特殊寄存器
提供需要送入ALU的操作数,存储ALU结果
累加:ACC+x->ACC
暂存器:
暂时存放需要送入ALU的操作数,不放结果
程序员不可见
标志寄存器FR
PSW = 状态(条形码)位+控制位
状态为:记录ALU运算后的状态或特征:后续指令可根据状态标志决定执行顺序
Z结果为0
N结果为负
V发现溢出
C发生进位
控制标志位
对CPU某些行为进行控制和管理
D = 1 地址减量
I = 1 允许外部中断
T = 1 单步中断
STI:将I置1:开中断
CLI:I为0:关中断
中下:控制器
整个CPU控制中心
根据指令操作码和时序信号,产生各种控制信号
指令寄存器IR
临时存放下一条待执行指令
指令译码器ID
只能执行指令
指令两个构成
操作码表示执行的操作
地址码表示指令执行时的操作对象的地址
或地址码本身就包括操作数
ID只对操作码进行译码
操作控制器OC
根据译码器结果产生控制信号并发送给部件,控制完成
程序计数器PC
存放下一条待执行指令内存中的地址
计算机开机时,指向引导程序的第一条指令
执行后 自动修改PC = PC + n
微操作
一条指令分解为一系列微操作
优点:可由简单电路实现,可被多个指令复用
控制器实现方式
1.微程序控制器
指令执行过程看做多个微操作序贯执行完成的
对每个微操作进行编码,形成微操作码,微操作码由简单电路产生控制信号
执行顺序控制位:指示后续的顺序
微操作码+执行顺序控制位 = 微指令
指令:一段由多个微指令编排而成的微程序
所有指令对应的微程序存放在控制存储器CM中
微地址:微指令在CM中的地址
执行过程:
对应微指令从CM中读出,微操作码译码产生微操作控制信号
1.微操作码由指令译码器译码,对应微程序在CM中的首地址
2.经过译码后,从CM中读出第一条微指令,微操作码部分送往微操
作译码器译码,生产相应的控制信号
3.执行顺序控制位送往微地址形成电缆,生产下一条微指令的微地址
4.不断重复
特点:硬件电路规整,可执行复杂指令,速度慢
2.硬连线控制器
把控制器看做专门产生时序控制信号的逻辑电路
不能改
特点:速度快、电路复杂、难以实现复杂信号、调试改动困难
左下:寄存器阵列
CPU内部的若干高速存储单元,每个有编号或名称,可直接访问
CPU和寄存器之间数据传输最快
只能暂时存放CPU工作是所需的少量数据和地址(指令长度限制)
专用
通用:为ALU运算提供一个存储区
地址和数据缓冲器
数据通道
计算机按功能分类:CU和EU
CU 控制部件:负责指令译码、生产控制信号
EU 执行部件:负责指令执行
而在执行过程中,数据在运算器、寄存器阵列和系统总线接口之间通过内部总线进行传送,所以这几个部件也称为数据通道
微指令
机器指令:CPU能识别和直接执行额一条二进制编码序列
含操作码和操作数两部分
宏指令:若干机器指令组成的软件指令
指令系统:所有指令的集和
指令集架构ISA:程序员眼中的计算机体系结构
汇编指令:用符号系统代替二进制机器指令
运算规则:都是先写目的地址寄存器,后面是需要参与运算的寄存器
例外:写是将前面的写到后面的
算术类 加法 ADD 对三操作数ABC:B+C->A
减法 SUB 对三操作数ABC:B-C->A
逻辑类 位于 AND
位或 OR
位非 NOR
传送类 存储器或I/O读 LDR
存储器或I/O写 STR
寄存器访问 MOV
控制类 无条件转移 JMP
条件转移 JX/JNX
过程调用 CALL
过程返回 RET
其他类 停机 HLT
说明:Rs:源操作数 Rd:目的操作数 Imm:立即数
模型机指令集
定长指令:每条指令长度固定
特点:(假定32位机,32位指令长度)
一次取指操作读取一个完整的指令
受指令位数限制,对立即数的大小或者类型有要求
指令周期:从取值到完成操作的时间
单周期处理器:所有指令执行时间相同
一个指令周期分若干CPU周期(机器周期)
CPU周期(总线周期):指一次取值时间
一个总线周期包含若干T周期(时钟周期)基本单位
指令执行时,操作码送到IR,经ID译码后OC产生控制信号
指令的地址码送到地址形成部件,生成地址信号、
CPU的所有数据都在数据通道中传送
指令执行过程属于多级串行作业,始终一部分处于空闲状态
模型机属于冯诺依曼结构,一个总线。
串行作业方式的取指和UC你去操作数在时间上错开,不冲突
若改成流水线,则可能同时发生,所有不太适合,但可以