计算机组成原理 CPU 章节知识点总结(适用于 408 考研)
一、CPU 的功能与基本结构
1.1 CPU 的功能
CPU(中央处理器)是计算机的核心部件,主要功能包括:
指令控制:程序的顺序执行,这是 CPU 的首要功能。
操作控制:一条指令的功能往往由若干操作信号的组合来实现,CPU 通过对这些操作信号的控制来完成指令的功能。
时间控制:对各种操作实施时间上的控制,即时序控制。
数据加工:对数据进行算术运算和逻辑运算处理。
**中断处理:**处理计算机运行过程中出现的异常情况和特殊请求。
如何巧记呢?
记 CPU 五大功能,可用口诀 + 逻辑串联:
口诀:“指操时,数中断”
(指令控制、操作控制、时间控制、数据加工、中断处理)
逻辑串:先定指令顺序(指),再控操作细节(操),接着卡准时间(时),然后加工数据(数),最后应对突发(中断)。
1.2 CPU 的基本结构
CPU 由运算器、控制器和寄存器组三大部分组成:
运算器:负责数据的加工处理,主要包括算术逻辑单元(ALU)、累加寄存器(ACC)、数据缓冲寄存器(DR)、状态条件寄存器(PSW)等。
ALU:执行各种算术和逻辑运算。
ACC:累加器,用于存放运算结果或作为运算的一个操作数。
DR:数据缓冲寄存器,作为 CPU 与主存、外设之间数据传送的中转站。
PSW:状态条件寄存器,保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,如进位标志(C)、零标志(Z)等。
控制器:负责协调和控制计算机各部件执行指令,主要包括程序计数器(PC)、指令寄存器(IR)、指令译码器(ID)、时序系统和操作控制器等。
PC:程序计数器,存放当前欲执行指令的地址,具有自动加 1 的功能,以保证程序的顺序执行。
IR:指令寄存器,存放当前正在执行的指令。
ID:指令译码器,对指令中的操作码字段进行分析和解释,产生相应的控制信号。
时序系统:产生时序信号,为计算机各部件的协调工作提供定时脉冲。
操作控制器:根据指令译码器的输出信号和时序信号,产生各种操作控制信号,控制计算机各部件的操作。
寄存器组:分为通用寄存器和专用寄存器。通用寄存器可由用户编程访问,用于暂存数据和地址;专用寄存器(如 PC、IR、PSW 等)有特定的功能和用途。
如何巧记?
记 CPU 结构及核心组件,用 “三分法 + 核心功能联想”:
结构总览:运算器、控制器、寄存器组(三大部分)
运算器核心组件:
ALU(算逻运算)、ACC(累加结果)
DR(数据中转)、PSW(状态标志)
联想:“算(ALU)完存(ACC),转(DR)状态(PSW)”
控制器核心组件:
PC(指令地址,自动 + 1)、IR(存当前指令)
ID(译码)、时序系统(定时)、操作控制器(发控制信号)
联想:“找地址(PC)、存指令(IR)、译操作(ID)、控时序(定时)、发信号(操作控制器)”
寄存器组:通用(用户用)、专用(固定功能,如 PC/IR)
口诀串:“运算器里算存转状态,控制器中址令译控时,再加通用专用寄存器”
二、数据通路
2.1 数据通路的基本概念
数据通路是 CPU 内部各功能部件之间传送信息的通路,由一组总线和有关的逻辑电路组成。数据通路的设计直接影响 CPU 的性能,它决定了信息在 CPU 内部的传送路径和传送方式。
2.2 数据通路的类型
单总线结构:所有功能部件都连接在一条公共总线上。优点是结构简单、成本低;缺点是数据传送效率低,同一时间只能进行一次数据传送。
双总线结构:将 CPU 内部的总线分为两条,一条用于数据传送,另一条用于地址传送。优点是数据传送效率有所提高;缺点是结构相对复杂。
多总线结构:设置多条总线,不同类型的信息在不同的总线上传送。优点是数据传送效率高,能满足高速 CPU 的需求;缺点是结构复杂,成本高。
2.3 数据通路的功能
数据通路的主要功能是实现 CPU 内部各部件之间的数据传送和运算操作。在指令执行过程中,数据在数据通路中按照一定的路径流动,完成取指令、分析指令、执行指令等操作。例如,取指令时,PC 中的地址通过地址总线送到主存,主存根据地址取出指令,经数据总线送到 IR 中。
三、控制器的功能和工作原理
3.1 控制器的功能
控制器是 CPU 的指挥中心,它的主要功能是:
从主存中取出一条指令,并指出下一条指令在主存中的位置。
对指令进行译码或测试,产生相应的操作控制信号,以便启动规定的动作。
指挥并控制 CPU、主存和输入 / 输出设备之间的数据流动方向。
3.2 控制器的工作原理
控制器的工作过程就是按照程序的顺序,依次从主存中取出指令,进行译码和分析,然后产生一系列控制信号,控制计算机各部件执行相应的操作,直到程序执行完毕。
以指令的执行过程为例,控制器的工作步骤如下:
取指令:根据 PC 中的指令地址,从主存中取出指令,送到 IR 中,并将 PC 的值自动加 1,指向下一条指令。
指令译码:对 IR 中的指令进行译码,确定指令的操作码和操作数地址。
取操作数:根据操作数地址,从主存或寄存器中取出操作数。
执行指令:根据指令的操作码,向各部件发出相应的控制信号,完成指令规定的操作。
存放结果:将指令执行的结果存放到指定的寄存器或主存单元中。
如何巧记?
控制器功能和工作原理可以这么记,用 “指挥家” 的角色来类比,更接地气:
功能(指挥家的三大任务):
找指令:从内存 “乐谱架” 上取下当前要演奏的 “音符”(指令),并告诉下一个该取哪个。
懂指令:看懂这个 “音符” 是啥意思(译码),知道该让哪些 “乐器”(部件)动起来。
控流向:指挥 “音符”(数据)在 CPU、内存、外设之间该往哪走,别乱串门。工作原理(指挥流程):
就像按乐谱一步步指挥演奏,步骤是:
拿谱子(取指令):按 PC 指的页码(地址)从内存拿指令放 IR,PC 自动翻到下一页。
看谱子(译码):琢磨 IR 里的谱子是弹 do 还是 re(操作码),找哪个琴键(操作数地址)。
找琴键(取操作数):按地址找到要弹的键(操作数)。
弹起来(执行):指挥对应的乐器出声(发控制信号完成操作)。
记下来(存结果):把弹完的调子(结果)记到乐谱或笔记本上(寄存器 / 内存)。
核心就是:“取指→译码→取数→执行→存结果”,循环往复直到整首曲子(程序)结束。
四、微指令
4.1 微指令的基本概念
微指令是指在微程序控制的计算机中,用来描述一个基本微操作的指令。它是微程序的基本组成单位,每条微指令对应一个或几个微操作。
4.2 微指令的格式
微指令通常由操作控制字段和顺序控制字段两部分组成:
操作控制字段:又称微操作码字段,用于发出各种微操作控制信号,控制数据通路中各部件的操作。
顺序控制字段:又称微地址码字段,用于指出下一条微指令的地址,以保证微程序的顺序执行。
4.3 微指令的编码方式
直接编码方式:操作控制字段中的每一位代表一个微操作命令。优点是简单直观,微指令的译码速度快;缺点是微指令字长较长,当微操作数量较多时,会导致微指令字长过长。
字段编码方式:将操作控制字段分成若干个小字段,每个小字段分别编码,每个编码代表一个微操作或一组相斥的微操作。优点是可以缩短微指令字长;缺点是增加了译码电路,微指令的译码速度有所降低。字段编码方式又可分为字段直接编码方式、字段间接编码方式和混合编码方式。
其他编码方式:如隐式编码方式,这种方式不直接给出微操作命令,而是通过微指令的顺序控制字段来隐含地指出微操作命令。
4.4 微程序控制器
微程序控制器是采用微程序控制方式的控制器,它主要由控制存储器(CM)、微指令寄存器(IR)、微地址形成电路和微地址寄存器(MAR)等组成。
控制存储器(CM):用于存放微程序,是一种只读存储器。
微指令寄存器(IR):用于存放从控制存储器中取出的当前微指令。
微地址形成电路:根据当前微指令的顺序控制字段、指令寄存器中的操作码、以及各种状态条件,形成下一条微指令的地址。
微地址寄存器(MAR):用于存放将要访问的微指令的地址。
微程序控制器的工作过程是:将指令系统中的每条指令编写成一个微程序,这些微程序存放在控制存储器中。当执行一条指令时,从控制存储器中取出相应的微程序,逐条执行微指令,产生各种控制信号,控制计算机各部件的操作。
如何巧记?
把微指令想象成 “指挥手册里的小步骤”,用生活化类比来记:
微指令:就是 “最小动作说明书”,每条对应 1-2 个细微操作(比如 “打开某个开关”“传送一个字节”),是微程序的基本单元。
格式:分两部分 ——
“动作栏”(操作控制字段):写具体做什么(发哪些控制信号)。
“下一页”(顺序控制字段):写下一步看哪页说明书(下条微指令地址)。
编码方式:
直接编码:动作栏每格写一个动作(一位对应一个微操作),简单但占地方(字长太长)。
字段编码:把动作栏分成几小格,每格用编号代表一类动作(比如 “01 = 开 A 开关,10 = 开 B 开关”),省地方但要多一步翻译(译码)。
微程序控制器:就是 “按手册指挥的系统”,核心部件:
控制存储器(CM):存整本 “指挥手册”(微程序)。
微指令寄存器:翻开当前看的那页(当前微指令)。
微地址形成电路:根据当前页和情况,算下一页该翻到哪。
工作流程:从手册(CM)取一页(微指令)→按 “动作栏” 做事→按 “下一页” 找下条→循环直到完成一个指令。
核心:微指令 =“小动作 + 下地址”,控制器按手册(微程序)一步步指挥。
五、指令流水线
5.1 指令流水线的基本概念
指令流水线是指将指令的执行过程分解为若干个阶段,每个阶段由专门的硬件部件完成,不同的指令可以在不同的阶段同时执行,从而提高 CPU 的指令执行效率。
5.2 指令流水线的阶段划分
常见的指令流水线阶段划分如下:
取指令(IF):从主存中取出指令。
指令译码(ID):对指令进行译码,确定指令的操作码和操作数地址。
取操作数(EX):根据操作数地址,从主存或寄存器中取出操作数,并执行相应的运算。
写回结果(WB):将运算结果存放到指定的寄存器或主存单元中。
不同的计算机系统,指令流水线的阶段划分可能会有所不同,有些系统可能会划分更多的阶段,以进一步提高流水线的效率。
5.3 流水线的性能指标
吞吐率:指单位时间内流水线所能完成的指令条数。吞吐率越高,说明流水线的效率越高。
加速比:指采用流水线方式后的指令执行速度与采用非流水线方式后的指令执行速度之比。加速比越大,说明流水线的效果越好。
效率:指流水线中各功能段的利用率。效率越高,说明流水线的资源利用越充分。
5.4 流水线的相关问题及解决方法
结构相关(资源相关):指多条指令在同一时间争用同一资源而产生的冲突。解决方法主要有资源重复配置、时间错开使用等。
数据相关:指指令之间存在数据依赖关系,后一条指令需要用到前一条指令的执行结果。数据相关主要有写后读(RAW)、读后写(WAR)和写后写(WAW)三种类型。解决方法主要有定向技术(旁路技术)、暂停流水线、编译器优化等。
控制相关:指由于指令转移(如分支指令)等原因,导致下一条要执行的指令地址无法确定而产生的冲突。解决方法主要有分支预测、延迟分支、循环展开等。
如何巧记?
把指令流水线想象成 “工厂装配线”,用生产流程类比记忆:
基本概念:把指令执行拆成好几步(比如 “取料→加工→质检→包装”),每步专人负责,不同指令错开步骤同时干,提高效率。
阶段划分:常见四步 ——
取指令(IF):去仓库拿零件(从内存取指令)。
译码(ID):看图纸认零件(分析指令要干啥)。
执行(EX):组装零件(运算或取操作数)。
写回(WB):把装好的成品入库(存结果)。
性能指标:
吞吐率:单位时间装多少个(指令数)。
加速比:流水线比单打独斗快多少倍。
效率:工人(各阶段)忙不忙,越忙越高效。
相关问题及解决:
结构相关:多人抢同一工具(资源冲突)→多备几套工具(重复配置)。
数据相关:后道工序等前道的零件(数据依赖)→直接传零件(定向技术)或暂停等。
控制相关:突然换生产计划(分支指令)→猜下一步做啥(分支预测)或延迟换计划。
核心:流水线就是 “分工合作、并行干活”,解决好抢资源、等数据、变计划的问题就行。
六、CPU 的运作过程
CPU 的运作过程实际上是不断地执行指令的过程,其基本步骤如下:
取指令阶段:CPU 根据程序计数器(PC)中的地址,从主存中取出一条指令,将其存入指令寄存器(IR)中,同时 PC 的值自动加 1,为取下一条指令做好准备。
指令译码阶段:指令译码器(ID)对 IR 中的指令进行译码,分析出指令的操作码和操作数地址等信息。
取操作数阶段:根据指令译码得到的操作数地址,从主存或寄存器中取出操作数,送到相应的寄存器中。
执行指令阶段:在算术逻辑单元(ALU)中执行指令规定的操作,如算术运算、逻辑运算等,并将运算结果存入累加寄存器(ACC)或其他指定的寄存器中。
写回结果阶段:将运算结果从寄存器写回主存的指定单元或其他寄存器中。
在整个运作过程中,控制器负责协调和控制各个阶段的操作,时序系统提供定时信号,确保各操作按顺序有序进行。同时,CPU 还需要处理各种中断请求,当有中断发生时,CPU 会暂停当前程序的执行,转而去执行中断服务程序,处理完中断后再返回继续执行原来的程序。
如何巧记?
CPU 运作就像 “按步骤处理快递”:
取指令:按 PC 的地址(快递单号)从内存取指令(包裹)放 IR,PC 自动写下个单号。
译码:拆包裹看说明(操作码)和收件地址(操作数地址)。
取操作数:按地址找到要处理的物品(数据)放寄存器。
执行:用 ALU 加工物品(运算),结果放 ACC。
写回:把加工好的物品存到指定位置(寄存器 / 内存)。
全程由控制器协调,时序系统卡时间,遇到突发情况(中断)先处理再回来。
七、练习题
7.1 选择题
下列关于 CPU 功能的描述中,错误的是( )
A. 指令控制是 CPU 的首要功能
B. 操作控制是指对各种操作实施时间上的控制
C. 数据加工包括算术运算和逻辑运算
D. 中断处理可以处理计算机运行过程中的异常情况
程序计数器(PC)的作用是( )
A. 存放当前正在执行的指令
B. 存放当前欲执行指令的地址
C. 存放运算结果
D. 存放状态条件信息
数据通路采用单总线结构时,下列说法正确的是( )
A. 数据传送效率高
B. 同一时间可以进行多次数据传送
C. 结构简单、成本低
D. 适用于高速 CPU
微指令中,操作控制字段的作用是( )
A. 指出下一条微指令的地址
B. 发出各种微操作控制信号
C. 存放微指令的操作数
D. 对微指令进行译码
指令流水线中,结构相关是指( )
A. 指令之间存在数据依赖关系
B. 多条指令在同一时间争用同一资源
C. 由于指令转移导致下一条指令地址无法确定
D. 流水线中各功能段的利用率低
7.2 填空题
CPU 由(运算器 )、(控制器 )和寄存器组三大部分组成。
控制器主要包括程序计数器(PC)、( 指令寄存器IR)、(指令译码器ID )、时序系统和操作控制器等。
微指令通常由**(操作控制字段 )和(顺序控制字段 )两部分组成。
指令流水线的性能指标主要有(吞吐率 )、( 加速比)和效率。
数据相关主要有( 写后读)、(读后写 )**和写后写(WAW)三种类型。
7.3 简答题
简述 CPU 的基本功能。
答:CPU
的基本功能包括指令控制、操作控制、时间控制、数据加工和中断处理。指令控制是指程序的顺序执行;操作控制是指对实现指令功能的操作信号进行控制;时间控制是指对各种操作实施时间上的控制;数据加工是指对数据进行算术运算和逻辑运算处理;中断处理是指处理计算机运行过程中出现的异常情况和特殊请求。
什么是数据通路?数据通路有哪些类型?
答:数据通路是 CPU
内部各功能部件之间传送信息的通路,由一组总线和有关的逻辑电路组成。数据通路的类型主要有单总线结构、双总线结构和多总线结构。单总线结构所有功能部件都连接在一条公共总线上;双总线结构将
CPU 内部的总线分为两条,一条用于数据传送,另一条用于地址传送;多总线结构设置多条总线,不同类型的信息在不同的总线上传送。
简述微程序控制器的组成及工作过程。
答:微程序控制器主要由控制存储器(CM)、微指令寄存器(IR)、微地址形成电路和微地址寄存器(MAR)等组成。其工作过程是:将指令系统中的每条指令编写成一个微程序,这些微程序存放在控制存储器中。当执行一条指令时,从控制存储器中取出相应的微程序,逐条执行微指令,产生各种控制信号,控制计算机各部件的操作。具体步骤为:根据微地址寄存器中的地址从控制存储器中取出微指令,存入微指令寄存器;微指令的操作控制字段发出控制信号,控制各部件操作;微地址形成电路根据相关信息形成下一条微指令的地址,存入微地址寄存器,重复上述过程,直到微程序执行完毕。
什么是指令流水线?流水线的相关问题有哪些?如何解决?
答:指令流水线是指将指令的执行过程分解为若干个阶段,每个阶段由专门的硬件部件完成,不同的指令可以在不同的阶段同时执行,从而提高 CPU的指令执行效率。
流水线的相关问题主要有结构相关、数据相关和控制相关。结构相关的解决方法主要有资源重复配置、时间错开使用等;数据相关的解决方法主要有定向技术、暂停流水线、编译器优化等;控制相关的解决方法主要有分支预测、延迟分支、循环展开等。
简述 CPU 执行一条指令的基本过程。
答:CPU 执行一条指令的基本过程如下:①取指令阶段:根据 PC 中的地址从主存取出指令存入 IR,PC 自动加 1;②指令译码阶段:对
IR 中的指令进行译码,得到操作码和操作数地址;③取操作数阶段:根据操作数地址从主存或寄存器取出操作数;④执行指令阶段:在 ALU中执行指令规定的操作。
7.4 综合题
假设有一条指令 “ADD R1, R2, R3”,其功能是将寄存器 R2 和 R3 中的数据相加,结果存入寄存器 R1 中。请描述该指令在 CPU 中的执行过程(假设采用单总线结构)。
某 CPU 采用 3 段流水线,各段的执行时间分别为 t1=2ns,t2=3ns,t3=2ns。计算该流水线的吞吐率、加速比和效率(假设连续执行 n 条指令)。
八、练习题答案及解析
7.1 选择题答案
B 解析:操作控制是指一条指令的功能往往由若干操作信号的组合来实现,CPU 通过对这些操作信号的控制来完成指令的功能;时间控制才是对各种操作实施时间上的控制。
B 解析:程序计数器(PC)存放当前欲执行指令的地址,具有自动加 1 的功能,以保证程序的顺序执行。
C 解析:单总线结构的优点是结构简单、成本低;缺点是数据传送效率低,同一时间只能进行一次数据传送,不适用于高速 CPU。
B 解析:微指令的操作控制字段用于发出各种微操作控制信号,控制数据通路中各部件的操作;顺序控制字段用于指出下一条微指令的地址。
B 解析:结构相关是指多条指令在同一时间争用同一资源而产生的冲突;A 选项是数据相关;C 选项是控制相关;D 选项与结构相关无关。
7.2 填空题答案
运算器、控制器
指令寄存器(IR)、指令译码器(ID)
操作控制字段、顺序控制字段
吞吐率、加速比
写后读(RAW)、读后写(WAR)
7.3 简答题答案
CPU 的基本功能包括指令控制、操作控制、时间控制、数据加工和中断处理。指令控制是指程序的顺序执行;操作控制是指对实现指令功能的操作信号进行控制;时间控制是指对各种操作实施时间上的控制;数据加工是指对数据进行算术运算和逻辑运算处理;中断处理是指处理计算机运行过程中出现的异常情况和特殊请求。
数据通路是 CPU 内部各功能部件之间传送信息的通路,由一组总线和有关的逻辑电路组成。数据通路的类型主要有单总线结构、双总线结构和多总线结构。单总线结构所有功能部件都连接在一条公共总线上;双总线结构将 CPU 内部的总线分为两条,一条用于数据传送,另一条用于地址传送;多总线结构设置多条总线,不同类型的信息在不同的总线上传送。
微程序控制器主要由控制存储器(CM)、微指令寄存器(IR)、微地址形成电路和微地址寄存器(MAR)等组成。其工作过程是:将指令系统中的每条指令编写成一个微程序,这些微程序存放在控制存储器中。当执行一条指令时,从控制存储器中取出相应的微程序,逐条执行微指令,产生各种控制信号,控制计算机各部件的操作。具体步骤为:根据微地址寄存器中的地址从控制存储器中取出微指令,存入微指令寄存器;微指令的操作控制字段发出控制信号,控制各部件操作;微地址形成电路根据相关信息形成下一条微指令的地址,存入微地址寄存器,重复上述过程,直到微程序执行完毕。
指令流水线是指将指令的执行过程分解为若干个阶段,每个阶段由专门的硬件部件完成,不同的指令可以在不同的阶段同时执行,从而提高 CPU 的指令执行效率。流水线的相关问题主要有结构相关、数据相关和控制相关。结构相关的解决方法主要有资源重复配置、时间错开使用等;数据相关的解决方法主要有定向技术、暂停流水线、编译器优化等;控制相关的解决方法主要有分支预测、延迟分支、循环展开等。
CPU 执行一条指令的基本过程如下:①取指令阶段:根据 PC 中的地址从主存取出指令存入 IR,PC 自动加 1;②指令译码阶段:对 IR 中的指令进行译码,得到操作码和操作数地址;③取操作数阶段:根据操作数地址从主存或寄存器取出操作数;④执行指令阶段:在 ALU 中执行指令规定的操作,