计算机组成原理 第七章(CPU的工作过程)—第一节(CPU的结构和功能)

写在前面:

  1. 本系列笔记主要以《计算机组成原理(唐朔飞)》为参考,大部分内容出于此书,笔者的工作主要是挑其重点展示,另外配合下方视频链接的教程展开思路,在笔记中一些比较难懂的地方加以自己的一点点理解(重点基本都会有标注,没有任何标注的难懂文字应该是笔者因为强迫症而加进来的,可选择性地忽略)。
  2. 视频链接:计算机组成原理(哈工大刘宏伟)135讲(全)高清_哔哩哔哩_bilibili

一、CPU(控制器)的功能

1、取指令

控制器必须具备能自动地从存储器中取出指令的功能,为此,要求控制器能自动形成指令的地址,并能发出取指令的命令,将对应此地址的指令取到控制器中。第一条指令的地址可以人为指定,也可由系统设定。

2、分析指令

分析指令包括两部分内容:其一,分析此指令要完成什么操作,即控制器需发出什么操作命令;其二,分析参与这次操作的操作数地址,即操作数的有效地址。

3、执行指令

执行指令就是根据分析指令产生的"操作命令"和"操作数地址"的要求,形成操作控制信号序列(不同的指令有不同的操作控制信号序列),通过对运算器、存储器以及I/O设备的操作,执行每条指令。

4、其它功能

控制器还必须能控制程序的输入和运算结果的输出(即控制主机与I/O设备交换信息)以及对总线的管理,甚至能处理机器运行过程中出现的异常情况(如掉电)和特殊请求(如打印机请求打印一行字符),即处理中断的能力。

总之,CPU必须具有控制程序的顺序执行(称指令控制)、产生完成每条指令所需的控制命令(称操作控制)、对各种操作加以时间上的控制(称时间控制)、对数据进行算术运算和逻辑运算(数据加工)以及处理中断等功能。

二、CPU的结构框图

1、CPU的内部结构

要取指令,必须有一个寄存器专用于存放当前指令的地址;要分析指令,必须有存放当前指令的寄存器和对指令操作码进行译码的部件;要执行指令,必须有个能发出各种操作命令序列的控制部件CU;要完成算术运算和逻辑运算,必须有存放操作数的寄存器和实现算逻运算的部件ALU(ALU部件实际上只对CPU内部寄存器的数据进行操作);为了处理异常情况和特殊请求,还必须有中断系统。可见CPU可由四大部分组成,如下图所示(左图是简图,右图是对左图的细化)。

2、运算器的基本结构

(1)算术逻辑单元:主要功能是进行算术/逻辑运算。

(2)通用寄存器组:如AX、BX、CX、DX、SP等,用于存放操作数(包括源操作数、目的操作数及中间结果)和各种地址信息等。SP是堆栈指针,用于指示栈顶的地址。

(3)暂存寄存器:用于暂存从主存读来的数据,这个数据不能存放在通用寄存器中,否则会破坏其原有内容。(比如两个操作数分别来自主存和,最后结果存回,那么从主存中取来的操作数直接放入暂存器,就不会破坏运算前的内容)

(4)累加寄存器:它是一个通用寄存器,用于暂时存放ALU运算的结果信息,用于实现加法运算。

(5)程序状态字寄存器:保留由算术逻辑运算指令或测试指令的结果而建立的各种状态信息,如溢出标志(OP)、符号标志(SF)、零标志(ZF)、进位标志(CF)等。PSW中的这些位参与并决定微操作的形成。

(6)移位器:对运算结果进行移位运算。

(7)计数器:控制乘除运算的操作步数。

3、控制器的基本结构

(1)程序计数器:用于指出下一条指令在主存中的存放地址。CPU就是根据PC的内容去主存中取指令的,因程序中指令(通常)是顺序执行的,所以PC有自增功能。

(2)指令寄存器:用于保存当前正在执行的那条指令。

(3)指令译码器:仅对操作码字段进行译码,问控制器提供特定的操作信号。

(4)微操作信号发生器:根据IR的内容(指令)、PSW的内容(状态信息)及时序信号,产生控制整个计算机系统所需的各种控制信号,其结构有组合逻辑型和存储逻辑型两种。

(5)时序系统:用于产生各种时序信号,它们都是由统一时钟(CLOCK)分频得到。

(6)存储器地址寄存器:用于存放所要访问的主存单元的地址。

(7)存储器数据寄存器:用于存放向主存写入的信息或从主存中读出的信息。

三、CPU的寄存器

1、用户可见的寄存器

(1)通常CPU执行机器语言访问的寄存器为用户可见寄存器。

(2)用户可见寄存器分为以下几类:

①通用寄存器:通用寄存器可由程序设计者指定许多功能,可用于存放操作数,也可作为满足某种寻址方式所需的寄存器,例如基址寻址所需的基址寄存器、变址寻址所需的变址寄存器和堆栈寻址所需的栈指针,都可用通用寄存器代替。

②数据寄存器:数据寄存器用于存放操作数,其位数应满足多数数据类型的数值范围,有些机器允许使用两个连读的寄存器存放双倍字长的值。

③地址寄存器:地址寄存器用于存放地址,其本身可以具有通用性,也可用于特殊的寻址方式,如用于基址寻址的段指针(存放基地址)、用于变址寻址的变址寄存器和用于堆栈寻址的栈指针,另外地址寄存器的位数必须足够长,以满足最大的地址范围。

④条件码寄存器:条件码寄存器用于存放条件码,它们对用户来说是部分透明的。条件码是CPU根据运算结果由硬件设置的位,例如算术运算会产生正、负、零或溢出等结果。条件码可被测试,作为分支运算的依据。此外,有些条件码也可被设置,例如,对于最高位进位标志C,可用指令对它置位和复位。将条件码放到一个或多个寄存器中,就构成了条件码寄存器。

2、控制和状态寄存器

(1)CPU中还有一类寄存器用于控制CPU的操作或运算,在一些机器里,大部分这类寄存器对用户是透明的(即用户不可见)。

(2)如以下四种寄存器在指令执行过程中起重要作用:

①MAR:存储器地址寄存器,用于存放将被访问的存储单元的地址。

②MDR:存储器数据寄存器,用于存放欲存入存储器中的数据或最近从存储器中读出的数据。

③PC:程序计数器,存放现行指令的地址,通常具有计数功能,当遇到转移类指令时PC的值可被修改。(PC寄存器对用户可见)

④IR:指令寄存器,存放当前欲执行的指令。

(3)通过上述4个寄存器,CPU和主存可交换信息。例如,将现行指令地址从PC送至MAR,启动存储器做读操作,存储器就可将指定地址单元内的指令读至MDR,再由MDR送至IR。

(4)在CPU内部必须给ALU提供数据,因此ALU必须可直接访问MDR和用户可见寄存器ALU的外围还可以有另一些寄存器,这些寄存器用于ALU的输入输出以及用于和MDR及用户可见寄存器交换数据。

(5)在CPU的控制和状态寄存器中,还有用来存放程序状态字PSW的寄存器,该寄存器用来存放条件码和其它状态信息。在具有中断系统的机器中还有中断标记寄存器。

四、控制单元和中断系统

控制单元(CU)是提供完成计算机全部指令操作的微操作命令序列部件。现代计算机中微操作命令序列的形成方法有两种:一种是组合逻辑设计方法,为硬连线逻辑;另一种是微程序设计方法,为存储逻辑。

中断系统主要用于处理计算机的各种中断。

相关推荐
小新_-7 小时前
第四章:存储系统:第一节——存储器概述
计算机组成原理
Fuliy9613 小时前
【计算机组成原理】实验一:运算器输入锁存器数据写实验
计算机组成原理·锁存器·实验报告·clk·运算器输入锁存器数据写实验·74hc574芯片
乌云暮年2 天前
【计组】数据的表示与运算
笔记·算法·计算机组成原理
青衫客363 天前
在系统总线的数据线上,不可能传输的是()。
计算机组成原理
YuCaiH17 天前
【计算机组成原理】计算机的性能指标
笔记·计算机组成原理
墨染青竹梦悠然1 个月前
《计算机组成原理》(第3版)第10章 控制单元的设计 复习笔记
笔记·计算机组成原理
命运之光1 个月前
【经验分享】微机原理、指令判断、判断指令是否正确判断指令是否正确
指令·计算机组成原理·微机原理
墨染青竹梦悠然1 个月前
《计算机组成原理》(第3版)考研真题
笔记·考研·计算机组成原理
墨染青竹梦悠然1 个月前
《计算机组成原理》(第3版)第7章 指令系统 复习笔记
笔记·计算机组成原理
约束1121 个月前
数字电路速通学习笔记(绝对精品!)
笔记·学习·嵌入式·数字电路·计算机组成原理·硬件