自考-计算机组成原理-8-CPU的结构与功能

目录

8.1CPU的结构

8.1.1CPU的功能

8.1.2 CPU结构框图

8.1.3 CPU的寄存器

8.1.4 其他

8.2 指令周期

8.2.1 基本概念

指令周期

CPU工作周期的标志

3.2.2指令周期的数据流

3.执行周期数据流

4.中断周期数据流

 8.3 指令流水

8.3.1如何提高机器速度

8.3.2系统的并行性

令流水的原理

影响指令流水效率加倍的因素

影响指令流水线性能的因素

流水线性能

流水线的多发技术

流水线结构

8.4 中断系统

8.4.1 引起中断的各种因素

中断系统需要解决的问题

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

8.4.2中断判优逻辑

终端服务器入口地址的查找

中断响应

保存现场和恢复现场

多重中断

实现多重中断的条件

3.屏蔽技术

4.多重中断的断点保护


8.1CPU的结构

8.1.1CPU的功能

1.控制器的功能

取指令、分析指令、执行指令,发出各种操作命令、控制程序输入及结果的输出、总线管理、处理异常情况和特殊请求

操作控制、指令控制、时间控制、处理中断、数据加工

2.运算器的功能

实现算术运算和逻辑运算

8.1.2 CPU结构框图

 

自考-计算机组成原理-8-CPU的结构与功能
  • IR指令寄存器(IR,Instruction Register),PC程序计数器(PC,Program counter)

8.1.3 CPU的寄存器

自考-计算机组成原理-8-CPU的结构与功能

用户可见寄存器:通用寄存器、数据寄存器、地址寄存器、条件码寄存器

自考-计算机组成原理-8-CPU的结构与功能

2.控制和状态寄存器:PC-MAR-M-MDR-IR

8.1.4 其他

其他部分还包括CU(控制单元)、中断系统以及ALU。

CU产生全部指令执行的时候的微操作命令序列,可使用组合逻辑设计或微程序设计。

8.2 指令周期

8.2.1 基本概念

指令周期,取出并执行一条指令所需要的全部时间。

自考-计算机组成原理-8-CPU的结构与功能

 2.每条指令的指令周期不同

有些指令周期没有执行周期——例如空操作(NOP);

有些指令的取址周期和执行周期是等长的——add mem

有些指令的执行周期比较长——mul mem

3.具有间接寻址的指令周期

因为寻址方式的不同,可能是间接寻址,所以在执行周期中要取出操作数,需要进行两次访存,那么这时候,周期划分为:取址周期、间址周期、执行周期。

那么,这个时候,间址周期执行的是将操作数的地址从主存中取出,执行周期执行的是取出操作数并执行相应的操作并把结果保存在给定的寄存器当中。

自考-计算机组成原理-8-CPU的结构与功能

4.带中断的指令周期 

如果程序程序执行的过程中有中断,就要添加一个中断周期:如果有中断请求的话,我们就要去响应中断:保存断点,形成中断服务程序的入口地址,硬件中断。

自考-计算机组成原理-8-CPU的结构与功能

指令周期

在指令周期中,至少包含了1个周期:取址周期
在取址周期后,需要判断是否有间址周期,如果没有就进入到了执行周期,在执行周期过程中,需要判断有没有中断程序,如果有,就响应中断:保存断点,生成中断服务程序入口,硬件关断点;如果没有,就进入下一个取址周期 

自考-计算机组成原理-8-CPU的结构与功能

CPU工作周期的标志

由于处在不同的指令周期,控制器需要做不同的操作,所以控制器在指令周期的不同时段,需要发出不同的控制命令。控制器也要知道当前处于指令周期的哪一个阶段。

自考-计算机组成原理-8-CPU的结构与功能

CPU工作周期:取指令、取地址、存取操作数或结果、存数据断点。

取指周期、间址周期、执行周期、中断周期。

3.2.2指令周期的数据流

1.取值周期数据流

目标:需要将PC中的地址取出,并存在IR(指令寄存器中)。
步骤:先将PC中的指令地址送到MAR(主存地址寄存器)中,再通过地址总线送到存取器中,然后CU通过控制总线将存储器中的数据读出来并通过数据总线将数据送到MDR中,然后再送到IR中。但是,这样还没有完,CU还会将PC+1,使得PC指向下一条指令所在的地址

自考-计算机组成原理-8-CPU的结构与功能

 2.间址周期数据流

间址周期说明IR中或者是MDR中保存的是操作数的地址
假设我们的操作数的地址保存在了MDR中:

自考-计算机组成原理-8-CPU的结构与功能

首先,MAR先从MDR中将数据地址的地址读出,然后通过地址总线传到存储器中,CU发出控制信号,并通过控制总线将地址读出通过数据总线放回到MDR中。

3.执行周期数据流

不同指令执行周期数据流不同

4.中断周期数据流

自考-计算机组成原理-8-CPU的结构与功能

我们要知道中断周期我们做了什么操作:
保存断点
生成中断服务程序入口地址
硬件关闭断点

CU决定了把中断保存在内存单元的哪一个地址(保存断点是一个写操作)
首先,我们需要保存断点,但是有谁知道断点需要保存在哪里呢——CU,所以第一步是将CU中的地址传到MAR再通过地址总线传到存储器中,那么,我们是要保存当前断点的地址,当前断点的地址在哪里有呢——PC,所以第2步我们需要将PC的地址传到MDR通过数据总线传到存储器中。而中断程序的入口地址是由CU给出,CU直接将入口地址放入PC中

 8.3 指令流水

8.3.1如何提高机器速度

1.提高访存速度:高速芯片、Cache、多体并行。

2.提高IO和主机之间的传送速度:中断、DMA、通道、IO处理机。

3.提高运算器速度:高速芯片、改进算法、快速进位链。

提高整机处理能力:高速器件、改进系统结构,开发系统的并行性。

8.3.2系统的并行性

1.并行的概念:并发和同时

并发:两个或两个以上事件在同一时间段发生。

同时:两个或两个以上事件在同一时刻发生。

2.并行性的等级

过程级(程序、进程)  粗粒度  软件实现

指令级(指令之间、指令内部)  细粒度  硬件实现

粗粒度就是大局上上看,细粒度就是关注于细节。 比如说,开发一个软件,这是粗粒度的,这个软件分哪些模块,这就具体了些,更细的粒度就是代码怎么写,有哪些类,类有哪些方法。

自考-计算机组成原理-8-CPU的结构与功能
指令流水的原理

1.指令的串行执行

自考-计算机组成原理-8-CPU的结构与功能

总有一个部件空闲。

2.指令的二级流水 

自考-计算机组成原理-8-CPU的结构与功能

 若取址和执行阶段时间上完全重叠,则指令周期减半,速度提高一倍。

影响指令流水效率加倍的因素

1.执行时间>取址时间

解决方法:

自考-计算机组成原理-8-CPU的结构与功能

在取指令部件和执行指令部件之间加上指令缓冲区,可以将取出的多条指令放入指令部件缓冲区,执行部件在执行完成后直接从指令缓冲区去取指令,这样取址部件不用一直等待执行部件。

2.条件转移指令

必须等上条指令执行结束,才能确定下条指令的地址,造成时间损失。

解决方法:分支预测(Branch Prediction):从P5时代开始的一种先进的,解决处理分支指令(if-then-else)导致流水线失败的数据处理方法,由CPU来判断程序分支的进行方向,能够加快运算速度。

影响指令流水线性能的因素

1.结构相关:

不同指令争用同一功能部件产生资源冲突。

解决方法:

  • 停顿:把发生冲突的一个操作往后推
  • 指令存储器和数据存储器分开
  • 指令预取技术

2.数据相关:

不同指令因操作重复,可能改变操作数的读写顺序。

读写顺序包括:

写后读相关
读后写相关
写后写相关
解决办法:
①后推法
②采用旁路技术

3.控制相关:

由转移指令引起。

流水线性能

  1. 吞吐率
    单位时间内流水线所完成指令或输出结果的数量
  2. 加速比
    m段的流水线速度与等功能的非流水线的速度之比
  3. 效率
    流水线中各功能段的利用率

流水线的多发技术

  1. 超标量技术

每个时钟周期内都可以并发多条独立指令,哦欸之多个功能部件。

不在执行过程中调整指令的执行顺序,通过编译优化技术,把可并行执行的指令搭配起来。

2.超流水线技术

在一个时钟周期内再分段。

不在执行过程中调整指令的执行顺序,靠编译程序解决优化问题。

3.超长指令字技术

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

采用多个处理部件。

流水线结构

1.指令流水线结构

完成指令分六段,每一段需要一个时钟周期。

自考-计算机组成原理-8-CPU的结构与功能

取指令部件——指令译码部件——地址形成部件——取操作数部件——操作执行部件——回写结果部件。

若流水线不出现断流,则一个时钟周期出一个结果。

若不采用流水技术,六个时钟周期出一个结果。

理想情况下,六级流水速度是不采用流水技术的六倍。

注意:流水段之间要加上锁存器,用于保存流水段前一段的操作结果,为下一段提供操作信息和操作数据。

2.运算流水线
例如,完成浮点加减运算可分为对阶、尾数求和、规格化三段

自考-计算机组成原理-8-CPU的结构与功能

 分段原则:每段操作时间尽量一致。

8.4 中断系统

8.4.1 引起中断的各种因素

  1. 人为设置的中断;
  2. 程序性事故:溢出、除法非法、操作码不能识别;
  3. 硬件故障;
  4. IO设备故障;
  5. 外部时间,键盘ESC退出;

中断系统需要解决的问题

  • 各中断源怎么向CPU提出中断请求/li>
  • 多个中断源同时提出中断请求,怎么办/li>
  • CPU在什么条件下,什么时间,以什么方式响应中断/li>
  • 如何保护现场(就是中断结束后,要返回到原来的中断的地方,需要保存原来中断的地方继续向下执行)
  • 如何寻找入口地址(要执行中断程序,需要有一个入口地址)
  • 如何恢复现场,如何返回/li>
  • 如果在处理中断的过程又出现中断怎么办/li>

我们采用硬件+软件的方法来进行实现。

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

1.中断请求标记INTR

一个请求源,一个INTR中断请求标记触发器。

多个INTR,就组成了中断请求标记寄存器。

自考-计算机组成原理-8-CPU的结构与功能

8.4.2中断判优逻辑

哪一种中断源的优先级最高,就先响应哪一个中断请求

(1)硬件操作 (排队器)

将排队器分散在各个中断源的接口电路中,链式排队器。

集中在CPU的内部。

用硬件的方式:

自考-计算机组成原理-8-CPU的结构与功能

 用软件实现(程序查询):

自考-计算机组成原理-8-CPU的结构与功能

 

那么就会有一个问题了,怎么去找到中断服务程序的入口地址呢/p>

终端服务器入口地址的查找

1.硬件向量法

自考-计算机组成原理-8-CPU的结构与功能

 

2.软件查询方法

自考-计算机组成原理-8-CPU的结构与功能

 

中断响应

1.响应中断的条件
也就是说,如果这个时候CPU正在响应中断,如果这个时候又有中断请求了,CPU可以响应吗,明显是不能的,所以这个时候就要出现响应中断请求的条件
允许中断触发器 EINT=1时,表明可以响应中断
2.响应中断的时间
是不是在任何时间都可以响应中断呢明显是不可以的,比如在指令的执行期间
一般是在指令执行完毕之后,才可以响应中断请求
指令周期结束之后,由CPU发出查询信号

自考-计算机组成原理-8-CPU的结构与功能
中断隐指令
(1)保护程序断点(因为在中断响应结束之后,要返回到断点处)
断点存于特定的地址 断点进栈
(2)寻找服务程序入口地址
向量地址 -> PC(硬件向量法)
中断识别程序 入口地址 M->PC (软件查询法)
(3)硬件关中断
避免在执行中断程序的时候又新的中断源干扰
INT中断标记
EINT允许中断
R-S触发器

保存现场和恢复现场

自考-计算机组成原理-8-CPU的结构与功能

多重中断

如果在执行中断的过程中,出现了更重要的,需要及时处理的新事件,怎么办br> 那么,中断是要被打断的:

自考-计算机组成原理-8-CPU的结构与功能

实现多重中断的条件

要允许CPU在执行某个中断服务程序时,响应新的中断请求
(1)提前设置开中断指令(需要允许中断EINT打开
是不是任何一个新的中断服务请求都能打断当前的中断程序br> (2)优先级别高的中断源才能中断优先级别低的中断源

自考-计算机组成原理-8-CPU的结构与功能
在主程序执行的时候,如果B和C发出中断请求,这时候因为B的优先级比C高,所以先响应B的中的中断请求,当响应完B的中断请求之后,CPU会查询还有没有中断请求,发现C这时中断请求还在,所以就会接着响应C的中断请求,执行完C的中断请求后,会返回到主程序,如果这时候D发出中断请求,那么这时候CPU就会响应D的中断请求,但是,在响应D的中断请求时候,CPU检测到有比D更高级别的中断请求,所以会打断D的中断程序执行,从而响应A的中断请求,只有在完成A的中断程之后,CPU才会返回去执行D的中断程序执行完D的中断程序之后,会返回到主程序。

3.屏蔽技术

(1)屏蔽触发器的作用
就是使得某一个中断源无法向CPU发出中断服务请求,也不能参加中断优先排队器的排队

自考-计算机组成原理-8-CPU的结构与功能
屏蔽触发器对应的值就是屏蔽字
实际上每一个中断源对应一个0/1,多个中断源0/1排列
自考-计算机组成原理-8-CPU的结构与功能
上面中,假如1号中断源在执行中断应用程序,那么如果下面的中断源发出中断请求那么CPU是不会进行响应的。

(3)屏蔽技术可以改变中断处理的优先等级
响应优先级 不可改变
处理优先级 可以改变 通过重新设置屏蔽字
也就是说,我们可以让优先级高的不能进入优先排队器中进行响应

自考-计算机组成原理-8-CPU的结构与功能
自考-计算机组成原理-8-CPU的结构与功能
自考-计算机组成原理-8-CPU的结构与功能
(4)屏蔽技术的其他应用
可以人为的屏蔽某个中断源的请求
自考-计算机组成原理-8-CPU的结构与功能

4.多重中断的断点保护

(1)断点进栈 中断隐指令完成
(2)断点存入“0”地址 中断隐指令完成
但是,如果每个断点都保存在“0”地址的话,那么之前的保存的断点就会被冲掉,那么怎么存入断点呢br>

自考-计算机组成原理-8-CPU的结构与功能

来源:_玻璃晴朗_

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月10日
下一篇 2022年3月10日

相关推荐