计算机组成原理-第8章-CPU的结构和功能

第8章-CPU的结构和功能

8.1-CPU的结构

8.1.1-CPU的功能

控制器:协调并控制计算机各部件执行程序的指令序列,基本功能是取指令,分析指令和执行指令。

1-取指令

2-分析指令

3-执行指令

形成操作控制信号序列。
在这里插入图片描述

8.1.2-CPU结构框图

计算机组成原理-第8章-CPU的结构和功能_第1张图片

8.1.3-CPU的寄存器

1-用户可见寄存器

(1)通用寄存器

(2)数据寄存器

(3)地址寄存器

(4)条件码寄存器

2-控制和状态寄存器

MAR,MDR,PC,IR。

3-举例

计算机组成原理-第8章-CPU的结构和功能_第2张图片
为了给在早期计算机上编写的程序提供向上的兼容性,在新计算机的设计上经常保留原适合合计的寄存器组织形式。
计算机组成原理-第8章-CPU的结构和功能_第3张图片
现代的x86_64的寄存器组织:
计算机组成原理-第8章-CPU的结构和功能_第4张图片

8.1.4-控制单元和中断系统

CU是提供完成计算机全部指令操作的微操作命令序列部件,分为两种:

  • 组合逻辑设计方法:硬连线逻辑。
  • 微程序设计方法:存储逻辑。

8.2-指令周期

8.2.1-指令周期的基本概念

CPU每取出并执行一条指令所需的全部时间。

计算机组成原理-第8章-CPU的结构和功能_第5张图片
一个完整的指令周期包括取指,间址,执行和中断四个子周期。
计算机组成原理-第8章-CPU的结构和功能_第6张图片

8.2.2-指令周期的数据流

1-取指周期的数据流

计算机组成原理-第8章-CPU的结构和功能_第7张图片

2-间址周期的数据流

CU检查IR中的内容,以确定是否有间址操作。

计算机组成原理-第8章-CPU的结构和功能_第8张图片

3-执行周期的数据流

不同的指令多种多样。

4-中断周期的数据流

计算机组成原理-第8章-CPU的结构和功能_第9张图片

8.3-指令流水

(1)提高器件的性能。

(2)改进系统的结构,开发系统的并行性。

并行性的四个级别:

  1. 作业级或程序级
  2. 任务级或进程级
  3. 指令之间级
  4. 指令内部级

8.3.1-指令流水原理

不采用流水技术的指令执行过程:
计算机组成原理-第8章-CPU的结构和功能_第10张图片

取下一条指令和执行当前指令的操作同时进行,指令的二级流水:
计算机组成原理-第8章-CPU的结构和功能_第11张图片
二级流水面临的问题:

  1. 指令的执行时间一般大于取指时间。
  2. 当遇到条件转移指令时,下一条指令是不可知的。

指令过程可以分解为更细的几个阶段:
计算机组成原理-第8章-CPU的结构和功能_第12张图片
假设上述各段时间都是相等的,可得六级流水时序:
计算机组成原理-第8章-CPU的结构和功能_第13张图片
存在的问题:

  • 有的指令不需要经过某些阶段
  • 存储器可能存在访问冲突
  • 遇到转移指令

8.3.2-影响流水线性能的因素

  • 结构相关:多条指令进入流水线后,硬件资源满足不了指令重叠执行的要求,又称资源相关。
  • 数据相关:指令在流水线中重叠执行时,当后继指令需要用到前面指令的执行结果时产生的。
  • 控制相关:流水线遇到分支指令和其他改变PC值的指令引起的。

1-结构相关

在某个时钟周期内,流水线既要完成某条指令对操作数的存储器访问操作,又要完成另一条指令的取指操作,就会发生访存冲突。

解决方法1:让流水线在完成前一条指令对数据的存储器访问时,暂停(一个CLK)取后一条指令的操作。
计算机组成原理-第8章-CPU的结构和功能_第14张图片
解决方法2:设置两个独立的存储器分别存放操作数和指令,以避免取指令和取操作数同时进行时互相冲突。
还可以采用指令预取技术,将指令预先取到指令队列中。

2-数据相关

流水线中的各条指令因重叠操作,可能改变堆操作数的读写访问顺序,从而导致数据相关冲突。

计算机组成原理-第8章-CPU的结构和功能_第15张图片
发生了RAW数据相关冲突。

例如流水线执行下列指令序列:
计算机组成原理-第8章-CPU的结构和功能_第16张图片
出现了RAW相关,采用后推法:

计算机组成原理-第8章-CPU的结构和功能_第17张图片
或者采用定向技术,又称旁路技术相关专用通路技术:不必等待某条指令的执行结果送回寄存器后,再从寄存器中取出该结果,作为下一条指令的源操作数,而是直接将执行结果送到其他指令所需要的地方

数据相关冲突分为3类:

  • 写后读相关(RAW)
  • 读后写相关(WAR)
  • 写后写相关(WAW)

3-控制相关

主要由转移指令引起。

下面的指令3是转移指令:

计算机组成原理-第8章-CPU的结构和功能_第18张图片
解决控制相关:

  • 尽早判别转移是否发生
  • 尽早生成转移目标地址
  • 加快和提前形成操作码

8.3.3-流水线性能

1-吞吐率

单位时间内流水线所完成指令或输出结果的数量。

最大吞吐率:流水线在连续流动达到稳定状态后所获得的吞吐率。

计算机组成原理-第8章-CPU的结构和功能_第19张图片

2-加速比

m段流水线的速度与等功能的非流水线的速度之比。

最大加速比=流水线段数。

3-效率

流水线中各功能段的利用率。
通常用流水线各段处于工作时间的时空区与流水线中各段总的时空区之比来衡量流水线的效率。
计算机组成原理-第8章-CPU的结构和功能_第20张图片

8.3.4-流水线中的多发技术

设法在一个时钟周期内,产生更多条指令的结果。

  • 超标量技术
  • 超流水线技术
  • 超长指令字技术

计算机组成原理-第8章-CPU的结构和功能_第21张图片

1-超标量技术

在每个时钟周期同时并发多条独立指令。

2-超流水线技术

将一些流水线寄存器插入到流水线段中,好比将流水线再分段。

3-超长指令字技术

由编译程序在编译时挖掘出指令间潜在的并行性后,把多条能并行操作的指令组合成一条具有多个操作码字段的超长指令。

8.3.5-流水线结构

1-指令流水线结构

将指令的整个执行过程用流水线进行分段处理。

2-运算流水线

将流水技术用于部件级:

计算机组成原理-第8章-CPU的结构和功能_第22张图片
在相邻两段之间必须设置锁存器或寄存器。

8.4-中断系统

8.4.1-概述

1-引起中断的各种因素

(1)人为设置的中断
称为自愿中断,如8086asm的int type,用来完成系统调用。
(2)程序性事故
(3)硬件故障
(4)IO设备
(5)外部事件

中断分为两类:

  • 可屏蔽中断
  • 不可屏蔽中断

2-中断系统需解决的问题

计算机组成原理-第8章-CPU的结构和功能_第23张图片

8.4.2-中断请求标记和中断判优逻辑

1-中断请求标记

设置中断请求标记触发器,简称中断请求触发器,记作INTR

计算机组成原理-第8章-CPU的结构和功能_第24张图片

2-中断判优逻辑

(1)硬件排队

  • 链式排队器
    中断请求触发器分散在各个接口电路。
  • 排队器设置在CPU内
    计算机组成原理-第8章-CPU的结构和功能_第25张图片
    (2)软件排队
    计算机组成原理-第8章-CPU的结构和功能_第26张图片

8.4.3-中断服务程序入口地址的寻找

硬件向量法和软件查询法

1-硬件向量法

  • 在向量地址内存放一条无条件转移指令
  • 设置向量地址表,如图8.28
    计算机组成原理-第8章-CPU的结构和功能_第27张图片

2-软件查询法

当查到某一中断源有中断请求时,安排一条转移指令,直接指向此中断源的中断服务程序入口地址。

8.4.4-中断响应

1-响应中断的条件

允许中断触发器=1.

2-响应中断的时间

CPU在指令执行周期结束时刻统一向所有中断源发出中断查询信号。

计算机组成原理-第8章-CPU的结构和功能_第28张图片

3-中断隐指令

(1)保护程序断点
(2)寻找中断服务程序的入口地址
(3)关中断

上面3步都是在中断周期内由一条中断隐指令完成。

8.4.5-保护现场和恢复现场

程序断点的现场由中断隐指令自动完成。
各寄存器内的现场可在中断服务程序中由用户编程实现。

8.4.6-中断屏蔽技术

1-多重中断的概念

2-实现多重中断的条件

  1. 提前设置“开中断”指令
  2. 优先级别高的中断源有权中断优先级别低的中断源
    计算机组成原理-第8章-CPU的结构和功能_第29张图片

3-屏蔽技术

(1)屏蔽触发器与屏蔽字

计算机组成原理-第8章-CPU的结构和功能_第30张图片
所有屏蔽触发器组合在一起,构成屏蔽寄存器,其中内容称为屏蔽字。

(2)屏蔽技术可改变优先等级

  • 响应优先级:硬件线路设置好的。
  • 处理优先级:CPU实际对各个中断源请求的处理优先次序。

处理次序与响应次序一致:

计算机组成原理-第8章-CPU的结构和功能_第31张图片
处理次序改为ADCB:

计算机组成原理-第8章-CPU的结构和功能_第32张图片
(3)屏蔽技术的其他作用

灵活控制程序

4-多重中断的断点保护

你可能感兴趣的:(计算机组成原理,cpu,硬件)