2024.06.18:计算机组成原理CPU功能和基本结构学习笔记
第17节 CPU的功能和基本结构
- 计算机的主要任务是顺序或者偶尔跳跃地去执行这个程序中的指令,从而达成想要的操作。
- CPU作为整个计算机的核心大脑,它会发出控制信号,控制整个指令执行的过程,同时也会让数据在CPU和主存之间流通,从而达到执行指令想要做的这些操作
7.1 CPU的组成
注意:地址线、数据线、控制线并不是只有三根而是三组,一组里可能包含很多根,这三组线不属于CPU内部,是 CPU与主存之间的线,他们是系统总线
7.1.1 指令计数器/程序计数器PC*
- 存放即将执行指令的地址
- 每个程序开始执行之前,总是把程序的第一条指令的地址送到PC
408考试不会考你程序中第一条指令是怎么放进去的
- 顺序执行时,PC+"1"形成下条地址
- 有的机器PC本身完成自增,有的机器借助运算部件完成自增
- 需要改变程序执行顺序时,跳跃寻址时,通常会根据转移类指令提供的信息生成转移目标指令的地址,并将其作为下条指令地址送至PC
- PC的位数取决于存储器的容量和指令字长
知识点检测
- 什么是字?
- 什么是字节?
- 什么是机器字长?
- 什么是存储字长?
- 什么是指令字长?
- 寻址和编址的区别是什么?
7.1.2 指令寄存器IR
- 存放当前执行的指令
- 每条指令总是先从存储器取出后才能在CPU执行
- 执行取出后放在指令寄存器中,以便送至译码器进行译码
7.1.3 指令译码器ID
- 对指令寄存器中的操作码部分进行分析解释
- 产生相应的译码信号提供给操作控制信号形成部件以产生控制信号
7.1.4 中断机构
- 实现对异常情况和外部中断请求的处理
7.1.5 操作控制信号形成部件
- 形成不同指令的操作所需要的控制信号
- 该部件综合时序信号、指令译码信号和执行部件反馈的条件标志(CF、SF、ZF、OF)
注意:PSW、eflex
7.1.6 CPU的主要构成图
PSW在运算器中
7.2 CPU的功能
- 控制程序顺利执行
- 产生完成每条指令所需的控制命令
- 对各种操作加以时间上的控制
- 对数据进行算数和逻辑运算
- 处理中断
7.2.1 取指令
控制器可以自动形成指令的地址,并发出取指令的命令,将对应地址的指令取到指令寄存器中
7.2.2 分析指令
分析指令要完成什么操作,即控制器要发出什么命令,以及参与操作的操作数的地址
7.2.3 执行指令
根据分析指令产生的操作命令和操作数地址的要求,形成操作控制信号序列。通过对运算器、存储器及IO设备的操作,执行每条指令
7.3 CPU的寄存器
7.3.1 用户可见的寄存器
(1) 通用寄存器
- 可用于存放操作数
- 或作为满足某种寻址方式所需的寄存器
- 也可作为机器专用寄存器,如基址寄存器、变址寄存器
数据寄存器
用于存放操作数、位数应满足大多数数据类型的数值范围
地址寄存器
用于存放地址,也可以用作特殊寻址方式所需的寄存器
(2) 程序状态字寄存器(PSW)
- CF进位标志
最近的操作使最高位产生了进位或错位,可用来检查无符号操作的溢出 - ZF零标志
最近的操作得出的结果为0 - SF符号标志
最近的操作得到的结果为负数 - OF溢出标志
最近的操作导致一个补码溢出,正溢出或者负溢出 - 控制中断使能(控制位)
用于控制CPU是否相应中断和异常 - 方向标志(控制位)
控制自增/自减寻址
7.3.2 用户不可见的寄存器
- MAR:存储器地址寄存器,用于存放将被访问的存储单元的地址
- MDR:存储器数据寄存器,用于存放欲存入存储器中的数据或最近从存储器中读出的数据
- PC:存放现行指令的地址,通常具有计数功能。当遇到转移类指令时,PC的值可被修改
- IR:指令寄存器,存放当前欲执行的指令
7.3.3 ALU外围的寄存器
用于ALU的输入/输出以及和用户可见寄存器交换数据