杭杭州紫金港培训学校(紫金港专升本)
在职研究生计算机学科专业基础考前辅导第二章 计算机组成原理第 18 节 / 共 32 节约 30 分钟报名学员看全文

中央处理器与指令流水线

掌握 CPU 的功能与基本结构、指令周期与数据通路,硬布线控制器与微程序控制器的工作原理,异常和中断的分类、检测与响应;掌握指令流水线的性能计算与三类冒险的处理,了解超标量、动态流水线和多处理器的基本概念。

本节考点:指令执行过程数据通路控制器异常和中断指令流水线多处理器

本节导读

大纲的「中央处理器」一章列了:CPU 的功能和基本结构、指令执行过程、数据通路的功能和基本结构、控制器的功能和工作原理(2022 年版还列了硬布线控制器和微程序控制器)、异常和中断机制、指令流水线、多处理器的基本概念。

这一章的综合应用题常与指令系统、存储器结合:写出一条指令在数据通路上的微操作序列,分析流水线的冒险与时间。学完你应该能写出取指周期的数据流,算出流水线的时间、吞吐率、加速比,判断某段指令序列要暂停几个周期。

CPU 的结构与指令执行过程

CPU 由运算器和控制器组成。运算器有 ALU、通用寄存器组、暂存寄存器、累加器、程序状态字寄存器 PSW、移位器等;控制器有程序计数器 PC、指令寄存器 IR、指令译码器、时序系统、微操作信号发生器,以及与主存相连的 MAR、MDR。通用寄存器、PSW、PC 对程序员可见,IR、MAR、MDR、暂存寄存器不可见。

一条指令从取出到执行完的全部时间叫指令周期,可分为取指周期、间址周期(取有效地址)、执行周期和中断周期;每个周期又由若干个机器周期(CPU 周期)组成,一个机器周期包含若干个时钟周期(节拍)。取指周期的数据流:(PC) → MAR → 地址总线,控制器发读命令,主存读出的指令经数据总线 → MDR → IR,同时 (PC) + 1 → PC。

数据通路

数据通路是指令执行时数据流经的部件和路径,包括 ALU、寄存器、多路选择器、总线等。常见的两种结构:

结构特点
CPU 内部单总线所有寄存器的输入输出都接在一条内部总线上,同一时刻总线上只能传送一个数据,ALU 的一个输入要先放在暂存寄存器 Y 中,结果先放在 Z 中
专用数据通路部件之间按需要连专门的通路,可以同时传送多个数据,速度快但硬件多

在单总线结构上执行 ADD R1, R2(R1 ← R1 + R2),执行阶段要三个节拍:R1 → Y;R2 → ALU,ALU 做加法,结果 → Z;Z → R1。每个节拍里各寄存器的输入输出控制信号(如 R1out、Yin、Zout、R1in)由控制器发出。

控制器

控制器根据指令操作码和当前所处的节拍,发出各个微操作控制信号。实现方法有两种:

比较项硬布线控制器微程序控制器
实现用组合逻辑电路直接产生控制信号每条机器指令对应一段微程序,存放在控制存储器 CM 中,逐条读出微指令产生控制信号
速度快较慢(要访问控制存储器)
修改与扩充困难容易,改写微程序即可
适用RISCCISC

微指令由操作控制字段和顺序控制字段(判断测试字段和下地址字段)组成。操作控制字段的编码方式:直接编码,每位对应一个微命令,速度快但位数多;字段直接编码,把互斥的微命令分在同一字段,一个字段含 k 个微命令时要 ⌈log⁡2(k+1)⌉\lceil \log_2(k+1) \rceil⌈log2​(k+1)⌉ 位(留一个编码表示不发出任何微命令)。水平型微指令一次能并行发出多个微命令,垂直型微指令类似机器指令,一次一般只完成一个操作。

异常和中断

CPU 执行指令时遇到的意外事件分两类:

类别来源例子处理后返回到哪里
故障(异常)CPU 内部,执行指令时发现缺页、非法操作码、整数除以 0能恢复时重新执行引起故障的指令
自陷(异常)事先安排的指令系统调用、断点、单步跟踪下一条指令
终止(异常)硬件出现严重错误校验错、控制器故障不返回,终止程序
中断CPU 外部,与当前指令无关I/O 完成、定时器到时;分可屏蔽与不可屏蔽下一条指令

异常在执行指令的过程中由 CPU 检测;外部中断请求在每条指令执行结束时检查(中断周期),且只有中断允许(开中断)时才响应可屏蔽中断。响应过程由硬件完成:关中断、保存断点(PC)和程序状态、识别异常或中断的类型(软件查询或硬件向量法),把相应处理程序的入口地址送 PC。

指令流水线

把指令执行分成若干段,各段由不同部件同时处理不同的指令,就是流水线。典型的五段流水线:取指 IF、译码读寄存器 ID、执行 EX、访存 MEM、写回 WB。

k 段流水线,各段时间都为 Δt\Delta tΔt(不等时取最长的一段作为时钟周期),连续执行 n 条指令:

Tk=(k+n−1)ΔtT_k = (k + n - 1)\Delta tTk​=(k+n−1)Δt TP=nTk\mathrm{TP} = \frac{n}{T_k}TP=Tk​n​ S=不用流水线的时间TkS = \frac{\text{不用流水线的时间}}{T_k}S=Tk​不用流水线的时间​

本节后面还有约 1770 字:报名学员看全文

每门课前 10 节免费看全文;从第 11 节起,完整教程要报名后由顾问在后台为你的账号开通才能看。

题库账号可以直接登录,但第 11 节起的完整教程要报名后由后台开通才能看。

学完练一练

按本节考点从本课的课后练习里抽题(每次 10 道以内),做完看解析、错题自动进错题本。第 11 节起的课后练习报名学员才能练。

本节内容由 AI 辅助编写,配图由 AI 生成,仅供备考参考;考试要求以《全国各类成人高等学校招生考试大纲(2024 年版)》及浙江省教育考试院当年公布为准。

我要提问免费报名咨询