第一节 CPU 的功能和组成
-
CPU的功能:
-
指令控制:取指令、分析指令、执行指令,并控制程序执行顺序。
-
操作控制:在执行每条指令的每个操作时,发出相应的控制信号,使相关部件按要求工作。
-
时间控制:对指令执行过程中的各种操作进行时间上的严格控制,产生时序信号。
-
数据加工:执行各种算术运算(加、减、乘、除)和逻辑运算(与、或、非、异或、比较、移位等)。
-
中断处理:响应外部中断请求和内部异常,暂停当前程序,转去处理中断事件。
-
-
CPU的基本组成:
-
运算器(ALU - Arithmetic Logic Unit):
运算器(ALU - 算术逻辑单元):-
核心:负责执行算术和逻辑运算。
-
寄存器:
-
累加器(ACC):一个通用寄存器,常用于存放操作数或运算结果。
-
乘商寄存器(MQ):用于乘法运算存放乘数或乘积高位,除法运算存放商或余数。
-
操作数寄存器(X):存放从内存取出的操作数。
-
标志寄存器(PSW/FR - Processor Status Word/Flag Register):存放运算结果的特征,如:
-
Z (Zero Flag):运算结果为零,Z=1。
-
C (Carry Flag):最高位有进位/借位,C=1。
-
V (Overflow Flag):运算溢出,V=1。
-
N (Negative Flag):运算结果为负,N=1。
-
I (Interrupt Flag):中断允许标志,I=1允许中断。
-
-
-
内部数据通路:连接ALU、寄存器和CPU内部总线。
-
-
控制器(CU - Control Unit): 控制器(CU - 控制单元):
-
核心:解析指令,发出控制命令。
-
寄存器:
-
程序计数器(PC - Program Counter):存放下一条要执行指令的地址。
-
更新机制:每取一条指令后,PC ← (PC) + 指令字长。
-
分支/跳转:PC ← 目标地址。
-
-
指令寄存器(IR - Instruction Register):存放当前正在执行的指令本身。
-
数据流:指令从内存取出后,首先进入MDR,然后从MDR送入IR。
-
-
主存地址寄存器(MAR - Memory Address Register):存放要访问的主存单元的地址。
-
数据流:地址从PC或ALU计算结果等送入MAR。
-
-
主存数据寄存器(MDR - Memory Data Register):存放从主存读出的数据或要写入主存的数据。
-
数据流:作为CPU与主存之间的数据缓冲。
-
-
-
时序发生器:产生节拍脉冲(时钟周期),用于控制各个操作的时序。
-
指令译码器(ID - Instruction Decoder):对IR中的操作码进行译码,识别指令类型。
-
微操作信号发生器:根据指令译码结果、时序信号和状态标志,产生一系列的微操作命令,控制各部件协同工作。
-
-
通用寄存器组(General Purpose Registers):如R0, R1, ...Rn。
-
用于暂存操作数、中间结果、地址等,可被程序直接访问。
-
数量和位数因CPU架构而异,通常是CPU内部最快的存储单元。
-
-
内部总线(Internal Bus):连接CPU内部各部件的数据、地址、控制信号通路。
-
第二节 指令系统
-
指令:指挥计算机执行特定操作的二进制编码。
-
组成:通常由操作码(Opcode)和地址码(Operand/Address Field)组成。
-
操作码:表示指令要执行的操作类型(如加、减、数据传送等)。
-
地址码:表示操作数的地址(寄存器编号、内存地址、立即数等)或下一个指令的地址。
-