第三章 CPU子系统
3.1 概述:
1.运算部件
- 输入逻辑:操作数可以来自于寄存器也可以来自于CPU内部数据线。输入逻辑可以是选择器或者暂存器。
- 算数逻辑运算单元(ALU):加法器、求和逻辑、传递逻辑
- 输出逻辑:运算结果是否经过处理—移位门
4中典型的ALU设置方式—P80
2.寄存器组
- 指令寄存器IR:用于存储当前正在执行的指令。其输出包括操作码的信息,地址信息等等,是产生微命令的主要逻辑依据。
- 常在主存的数据寄存器和指令寄存器之间设置直接传输通路,指令从主存取出后,经过数据 寄存器,沿直接通路快速送往IR,提高读取指令的速度。
- 程序计数器PC:指示指令在存储器中的存放位置,程序顺序执行时,每从主存取出一个指令,PC增加一个存储单元数,指向下一条指令的地址。自动!
- 程序状态字寄存器PSW:用于记录现行程序的运行状态和只是程序的工作方式,特征位、编程设定位。--P81
IR、PC、PSW,等专用寄存器属于控制部件,其存放的信息是产生控制信号的重要依据。
- 通用寄存器:可通过程序访问,分配各自编号,可以被分配执行多种任务。RAM
- 暂存器:无编号,只能在CPU内部使用,对用户透明
通用寄存器、暂存器主要用于存放数据信息,提供处理对象。
- 地址寄存器MAR:存放目标单元的地址,CPU访问主存是找到需访问的存储单元。
- 数据缓冲寄存器MBR:用于存放CPU与主存之间交换的数据。
- 堆栈指针寄存器SP
3. 控制部件(微命令产生部件):对指令进行译码,并且根据时序信号和外部输入的状态信号,产生执行过程中每个时钟周期所需要的控制信号。CPU中两种控制部件:组合逻辑控制器、微程序控制器。
4. 时序系统:是产生时序信号的部件。由一个晶体振荡器和一组计数倍频逻辑组成。周期,节拍,脉冲等时间信号称为时序信号。节拍:执行一步操作所需要的时间,一个周期可能执行几步,就可能包含几个节拍。
5. 数据/控制通路:
- 单路内部总线,分立寄存结构:ALU只发不收、寄存器只收不发。
- 单路内部总线,集成寄存结构:双向数据线
- 多路总线结构:一个节拍可以并行执行多路数据传输操作。
3.2指令格式
- 指令中的基本信息:操作码、操作数或操作数地址、存放运算结果的地址、后继指令地址。对于双操作数的运算,指令应给出4个地址:操作数1存放地址、操作数2存放地址、结果存放地址、后继指令存放地址。
- 地址结构:
- 三地址指令:(后继指令地址采用隐地址方式)
A1 | A2 | A3 |
指令格式:
指令功能:(A1)OP(A2)->A3
(PC)+n->PC
- 二地址指令:
A1 | A2 |
指令格式:
指令功能:(A1)OP(A2)->A1
(PC)+n->PC
- 一地址指令:
OP | A |
指令格式:
指令功能:
- 只有目的操作数:
OP(A)->A
(PC)+n->PC
- 隐含约定目的地的双操作数:
(AC)OP(A)->AC
(PC)+n->PC
- 零地址指令:
OP |
指令格式:
指令功能:
- 不需要操作数
- 单操作数指令,并隐含在累加器AC中。
- 对堆栈栈顶单元的数据进行操作
3. 操作码结构:操作码的位数决定了操作类型的多少,8位最多有256种指令。如果指令字长有限,地址位数和操作码位数就会相互制约!
- 固定长度操作码:指令采用可变字长格式,则固定操作码长度,一般第一字节8位为操作码。
- 可变长度操作码(扩展操作码):操作码长度与地址位数相制约。
4.指令字长:复杂指令集(CISC)、精简指令集(RISC)
- 可变字长指令
- 固定字长指令
5. 常见寻址方式:
(1)立即寻址:指令直接给出操作数。MOV R0,1234H
(2)主存直接寻址:指令给出操作数的有效主存地址。MOV R0,(1000H)
(3)寄存器直接寻址:指令给出寄存器号。MOV R0,R1
(4)主存间接寻址:指令给出操作数地址存放的地址。MOV R0,((1000H))
(5)寄存器间接寻址:指令给出操作数地址存放的寄存器号。MOV R0,(R1)
- 自增型寄存器 (R)+
- 自减型寄存器 -(R)
(6)变址寻址:指令中分别给出一个寄存器号和一个形式地址,寄存器中的内容作为偏移量,形式地址作为基准地址,将基准地址和偏移量相加得到操作数的有效地址。按此地址访存
(7)基址寻址:与变址寻址不同,基准地址将寄存器中的内容作为基准地址,形式地址作为偏移量,二者相加,得到有效地址。
(8)基址加变址寻址:有效地址=基准地址+变址偏移量+常规偏移量
(9)PC相对寻址:程序计数器PC当前内容作为基准地址,指令中给出的形式地址为偏移量(可正、可负)
(10)页面寻址:寄存器PC高位段作为有效地址高位段,指令中形式地址d作为有效地址低位段,这两部分拼接得到有效地址,操作数有效地址=(PC)H∪d
(11)堆栈寻址SP
6.CPU基本模型:
CPU设计步骤:
(1)拟定指令系统:明确硬件功能,规定指令格式、寻址方式、指令类型设置
(2)确定总体结构:寄存器、ALU、数据通路设置
(3)安排时序
(4)拟定指令流程和微命令序列:画流程图(寄存器传送级)、列操作时间表
(5)形成控制逻辑:
- 组合控制:列逻辑式,形成逻辑电路
- 微程序控制:按微指令格式编写微程序
(6)指令格式(假设主存容量为64K×16)
设采用定长指令,指令字长16位,采用寄存器寻址,指令中给出寄存器号
(7)寻址方式
CPU可编程访问的寄存器:
通用寄存器R3~R0,指令寄存器IR,程序状态字寄存器PSW,堆栈指针SP
(8)指令类型
MOV,ADD,EOR,COM … …JMP,RST…
- 转移指令JMP
方式位 0:为0时跳转
方式位 1:为1时跳转
- 转子指令
- 返回指令RST