计算机组成原理第3章1_第1页
计算机组成原理第3章1_第2页
计算机组成原理第3章1_第3页
计算机组成原理第3章1_第4页
计算机组成原理第3章1_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 第三章第三章 CPUCPU子系统子系统本章主要讨论:本章主要讨论:运算器运算器 控制器控制器数据通路结构数据通路结构与外部的连接与外部的连接指令的执行过程指令的执行过程CPUCPU组成组成CPUCPU工作原理工作原理3.1 概述概述CPU的基本功能的基本功能: l l 数据加工数据加工: l l 时间控制时间控制: l l 操作控制操作控制: l l 指令控制指令控制: 程序的顺序控制程序的顺序控制, 称为指令控制。称为指令控制。 产生产生每条指令的操作信号每条指令的操作信号, 并将各并将各种操作信号种操作信号送往送往相应的部件相应的部件, 控制控制这些这些部件按指令的要求进行动作部件按指令

2、的要求进行动作对各种操作实施时间上的定时对各种操作实施时间上的定时, 称称为时间控制。为时间控制。 所谓数据加工所谓数据加工, 就是对数据进行就是对数据进行算术运算和逻辑运算处理。算术运算和逻辑运算处理。 3.1.1 CPU的基本组成的基本组成 传统传统CPU的组成的组成: 现代的现代的CPU的基本部分有的基本部分有:运算部件运算部件 寄存器组寄存器组 微命令产生部件微命令产生部件 时序系统时序系统 运算部件运算部件 控制器控制器 (在诺在诺依依曼机的定义中曼机的定义中) 1、运算部件、运算部件l l 应能完成数据输入应能完成数据输入(参与运算的数据参与运算的数据)l l 应能对输入的数据进行

3、运算应能对输入的数据进行运算(或加工或加工)l l 应能输出运算应能输出运算(或加工或加工)后的结果后的结果因此运算器有以下构成因此运算器有以下构成: 输出逻辑输出逻辑ALU输入逻辑输入逻辑操作数操作数输入逻辑输入逻辑操作数操作数运算结果运算结果(1) 输入逻辑输入逻辑 选择器或暂存器选择器或暂存器(2) 算逻运算部件算逻运算部件(按硬件设置由低到高按硬件设置由低到高) 设置一个设置一个ALU, 完成基本的加减运完成基本的加减运算算, 复杂运算由软件完成复杂运算由软件完成; 设置一个设置一个ALU,配合相应的配合相应的时时序电路序电路, 硬件完成定点乘除法硬件完成定点乘除法运算运算; 设置一个

4、设置一个ALU, 但将但将乘除法和乘除法和浮点运算部件浮点运算部件作为作为ALU的基的基本配置本配置; 配置多种运算部件配置多种运算部件(3) 输出逻辑输出逻辑 通常完成通常完成: 直送、左右移位、字节交换等功能。直送、左右移位、字节交换等功能。2、寄存器组、寄存器组CPU内部需要若干寄存器来存放需要加工、运算内部需要若干寄存器来存放需要加工、运算的数据、中间结果、最终结果等。的数据、中间结果、最终结果等。(1) 寄存器的两种基本组成寄存器的两种基本组成 独立结构寄存器独立结构寄存器由若干单独的寄存器构成由若干单独的寄存器构成 小型小型RAM每一个单元作为一个寄存器使用每一个单元作为一个寄存器

5、使用.(2) 寄存器的分类寄存器的分类按寄存器存放的信息的类型按寄存器存放的信息的类型(或使用的方式或使用的方式)进行分类进行分类(七类七类): 通用寄存器通用寄存器 一般是指一般是指可以通过程序访问的可以通过程序访问的、具有多种用途的、具有多种用途的寄存器寄存器, 每一个通用寄存器有编号与之对应。每一个通用寄存器有编号与之对应。 作用如作用如: 存放数据存放数据(原始数据、中间结果、最终结原始数据、中间结果、最终结果等果等), 也可以存放地址进行间接寻址、变址寻址等。也可以存放地址进行间接寻址、变址寻址等。 标识方法标识方法: 不同的不同的CPU可能各不相同。可能各不相同。 如如: Inte

6、l8086的的 AX、BX、CX、DX、DI等等 PDP-11小型机的小型机的 R0、R1 、 R2等等 暂存器暂存器 暂存器不能通过程序访问暂存器不能通过程序访问, 也没有编号。也没有编号。 主要作用是主要作用是暂时存放某些中间过程所产生的暂时存放某些中间过程所产生的信息,信息,避免破坏通用寄存器的内容避免破坏通用寄存器的内容 比如比如: l l 从一个主存单元读数据存到另一个单元从一个主存单元读数据存到另一个单元, 则有以则有以下过程下过程 单元单元暂存器暂存器单元单元; l l 为运算器两个输入端提供数据为运算器两个输入端提供数据, 分两次将操作数分两次将操作数送往两个不同的暂存器送往两

7、个不同的暂存器(来自集成结构寄存器来自集成结构寄存器)。 指令寄存器指令寄存器 (IR) 存放从存储单元中读出的指令。存放从存储单元中读出的指令。 一个指令寄存器存放一条指令一个指令寄存器存放一条指令, 也可以设置一个指也可以设置一个指令队列令队列, 存放多条指令存放多条指令 程序计数器程序计数器 (PC、CS、IP) 用于跟踪程序的地址。用于跟踪程序的地址。 PC的初值为所要执行的程序的首地址。的初值为所要执行的程序的首地址。 如果一条指令占据如果一条指令占据1个单元个单元, 则一条指令被读出以后则一条指令被读出以后, 则进行则进行: PC+1 PC操作操作 ; 如果一条指令占据如果一条指令

8、占据2个单元个单元, 则一条指令被读出以后则一条指令被读出以后, 则进行则进行: PC+2 PC操作操作; 依次类推。依次类推。 程序状态字寄存器程序状态字寄存器(PSW) 用于记录现行程序的运行状态和指示程序的工作方用于记录现行程序的运行状态和指示程序的工作方式。主要由以下两个部分构成式。主要由以下两个部分构成: 1)特征位)特征位 一条指令执行以后,一条指令执行以后,CPU根据执行结果设置相应的根据执行结果设置相应的特征位。特征位。 进位位进位位C: 指令执行后指令执行后, 如果如果结果结果产生进位产生进位, 则将则将C置为置为1, 否则置否则置0; 溢出位溢出位V: 如果如果运算结果运算

9、结果产生溢出产生溢出, 则将则将V置为置为1, 否否则置则置0; 零标志零标志Z: 如果如果运算结果运算结果为为0, 则将则将Z置为置为1, 否则置否则置0; 正负标志正负标志N: 如果如果运算结果运算结果为负为负, 则将则将N置为置为1, 否则否则置置0; 奇偶标志奇偶标志P: 如果如果运算结果运算结果中中1的个数为奇数的个数为奇数, 将将P置置为为1, 否则置否则置0; (Intel8086的规定与此相反的规定与此相反)2)编程设定位)编程设定位PSW的另一部分状态的设置是的另一部分状态的设置是由编程来决定由编程来决定, 其其典型的设置有典型的设置有: 跟踪位跟踪位T: 称为断点标志称为断

10、点标志, 主要用于程序调试。主要用于程序调试。 如果编程时如果编程时, 将将T置为置为1, 且在程序中安排一条测且在程序中安排一条测试指令试指令, 当程序执行到该测试指令时当程序执行到该测试指令时, 程序将转程序将转入测试程序。入测试程序。 单步标志单步标志 TF 将单步标志置将单步标志置1, 则程序每执行一条指令则程序每执行一条指令, 就产就产生一次内部中断。其功能主要用于程序调试。生一次内部中断。其功能主要用于程序调试。 中断允许标志或程序优先级字段中断允许标志或程序优先级字段: 中断允许标志中断允许标志I(或或TI): 根据当前运行程序与外根据当前运行程序与外部中断的紧要程度部中断的紧要

11、程度, 处理器通过对该标志的设处理器通过对该标志的设置置, 决定是否响应中断请求。决定是否响应中断请求。 为每一程序和中断请求设置优先级为每一程序和中断请求设置优先级, 仅当中断仅当中断请求的优先级高于正在执行的程序的优先级请求的优先级高于正在执行的程序的优先级, 才响应中断请求。才响应中断请求。(在微型计算机中在微型计算机中, 一般采用前一种方式一般采用前一种方式) 地址寄存器地址寄存器 MAR CPU访问存储器和访问访问存储器和访问I/O端口的地址首先存入端口的地址首先存入MAR, 再由再由MAR送往外部地址总线。送往外部地址总线。 工作方式字段(工作方式字段(P78/P74)(用户态和核

12、心态)(用户态和核心态) 数据缓冲寄存器数据缓冲寄存器 MBR 用于暂存用于暂存CPU与存储器和外与存储器和外设之间通信的数据。设之间通信的数据。可以看出可以看出, MAR、MBR是是CPU联系存储器和外设联系存储器和外设之间的桥梁之间的桥梁, 如下图所示如下图所示:CPUMARMBR存储器存储器I/O接口接口和设备和设备3、微命令产生部件、微命令产生部件计算机工作过程计算机工作过程: 信息以电信号形式的流动信息以电信号形式的流动 流动过程是受控的流动过程是受控的 受控的表现是受控的表现是: 流动方向流动方向 流动时机流动时机 流动时间流动时间 控制过程的实现控制过程的实现: 电子开关器件电子

13、开关器件从指令执行的角度从指令执行的角度, 指令执行过程指令执行过程: 取指阶段取指阶段(取指取指)指令分析阶段指令分析阶段(译码译码)指令执行阶段指令执行阶段(执行执行)程序下一条指令程序下一条指令(可包含取操作数、运算、可包含取操作数、运算、存结果、设置标志位等存结果、设置标志位等)l l 每一步操作都需要相应的一组控制信号每一步操作都需要相应的一组控制信号, 也需要也需要相应的时序信号来控制操作的时间相应的时序信号来控制操作的时间;l l 上述的上述的控制信号控制信号与与微命令微命令是一对一的关系是一对一的关系;l l 因此因此需要有需要有控制逻辑电路控制逻辑电路和和时序电路时序电路来产

14、生微命来产生微命令和时序信号令和时序信号;l l 该该控制逻辑电路和时序电路即为控制器的核心。控制逻辑电路和时序电路即为控制器的核心。程序计数器程序计数器 指令寄存器指令寄存器时序产生器时序产生器操作控制器操作控制器指令译码器指令译码器 根据以上描述根据以上描述, 控制器应由以下部件构成控制器应由以下部件构成:跟踪指令地址跟踪指令地址, 取指令控制取指令控制存放取出的指令存放取出的指令识别指令功能识别指令功能产生微操作信号序列产生微操作信号序列, 控制信息的流动过程控制信息的流动过程控制的构成框图控制的构成框图: 微操作信号序列形成部件微操作信号序列形成部件.微操作命令微操作命令时序信号及控制

15、时序信号及控制指令译码器指令译码器启停控制启停控制指令寄存器指令寄存器脉冲源脉冲源程序计数器程序计数器总线控制逻辑总线控制逻辑.总线输出总线输出自自运运算算器器自自存存储储器器自自外外设设4、时序系统、时序系统l l 功能功能: 控制控制操作时间操作时间和和操作时刻操作时刻。时序信号时序信号是产生微命令的依据之一。是产生微命令的依据之一。l l 时序时序: 即时间控制电路即时间控制电路, 也称为时序系统。也称为时序系统。功能完成的时间、时刻的控制功能完成的时间、时刻的控制l l 时钟振荡器提供基本的时序源时钟振荡器提供基本的时序源如下图所示如下图所示:振荡器振荡器时钟脉冲时钟脉冲工作脉冲工作脉

16、冲时钟周期时钟周期(节拍节拍)产生电位型微命令产生电位型微命令, 控控制操作时间段制操作时间段(时间控制时间控制)产生脉冲型微命令,控制产生脉冲型微命令,控制定时操作定时操作(时机控制时机控制)分频器分频器启停控制逻启停控制逻辑辑( (产生稳定产生稳定脉冲脉冲, ,生成生成RESET信号信号) )取指令取指令指令译码指令译码执行执行一个节拍一个节拍T1 T2T4T3执行阶段的执行阶段的时间长度时间长度.操作的时机操作的时机时序控制例时序控制例: 周期(周期(时钟周期时钟周期): 在每个工作周期中又在每个工作周期中又按不同的分步操作划分为若干时钟周期按不同的分步操作划分为若干时钟周期(也称节拍也

17、称节拍);节拍节拍 是执行一步分步操作所是执行一步分步操作所需的时间需的时间 工作周期工作周期(也称为(也称为机器周期机器周期): 将一条指将一条指令从读取到执行完令从读取到执行完, 按不同的操作阶段划按不同的操作阶段划分为若干工作周期分为若干工作周期, 如取指周期如取指周期FT, 源周源周期期ST, 目的周期目的周期DT, 执行周期执行周期ET, 中断周中断周期期IT, DMA周期周期DMAT5、CPU内部的数据通路的结构内部的数据通路的结构 CPU内部由许多部件构成内部由许多部件构成, 如运算器、微命令发生器、如运算器、微命令发生器、各种寄存器、时序控制逻辑等。各种寄存器、时序控制逻辑等。

18、就数据信息的传送就数据信息的传送, 需要为数据的传送提供传送的通需要为数据的传送提供传送的通路路(即通信线路即通信线路)。完成如完成如: 寄存器中的数据怎样送往寄存器中的数据怎样送往ALU; ALU的结果怎样送往寄存器的结果怎样送往寄存器; 寄存器之间的数据怎样传送等功能。寄存器之间的数据怎样传送等功能。不同功能、性能的处理器不同功能、性能的处理器, 其数据通路是不同的。其数据通路是不同的。问题问题: 如何设计数据通路?如何设计数据通路?典型的数据通路结构典型的数据通路结构:l l 单总线通路单总线通路 设置一组数据通信总线设置一组数据通信总线, 数据传送均通过数据传送均通过该总线进行该总线进

19、行; 结构简单、但不能实现多组数据并发结构简单、但不能实现多组数据并发;l l 多总线通路多总线通路 设置多组数据通信总线设置多组数据通信总线, 可实现不同数据可实现不同数据在不同的通路上传送在不同的通路上传送; 结构复杂、但能实现多组数据并行传送结构复杂、但能实现多组数据并行传送;不同结构即是在不同结构即是在复杂性复杂性与与性能性能之间的选择。之间的选择。(1) 单组内总线、分立的寄存器结构单组内总线、分立的寄存器结构主要特点主要特点: l l 各寄存器有自己独立的输入口各寄存器有自己独立的输入口和输出口和输出口; l l 数据总线为单向数据总线为单向, 运算器运算器ALU只只能通过移位器向

20、总线发送数据能通过移位器向总线发送数据, 而不能直接从总线接收数据而不能直接从总线接收数据; l l 寄存器可接收总线上的数据寄存器可接收总线上的数据, 但但不能直接向总线发送数据不能直接向总线发送数据; 移位器移位器ALU选择器选择器AR0 . Rn选择器选择器BR0 . Rn R0 R1 Rn. l l ALU通过选择器接通过选择器接收寄存器的数据。收寄存器的数据。 根据上述特点根据上述特点, 以下数据传送功能的完成以下数据传送功能的完成: 寄存器寄存器 运算器运算器 寄存器寄存器 选择器选择器 运算器运算器 运算器运算器 寄存器寄存器 运算器运算器 移位器移位器 寄存器寄存器(由选择控制

21、信号由选择控制信号)(由移位控制信号由移位控制信号) 寄存器寄存器 寄存器寄存器 寄存器寄存器 ALU 移位器移位器 寄存器寄存器这是一种以这是一种以ALU为中心的单总线结构为中心的单总线结构 需要的主要控制信号需要的主要控制信号 l l 寄存器开门信号寄存器开门信号 l l 移位控制信号移位控制信号 l l 寄存器打入脉冲寄存器打入脉冲(2) 单组内总线、集成寄存器结构单组内总线、集成寄存器结构 l l 与第一种方式的主要区别在于寄存器的结构。与第一种方式的主要区别在于寄存器的结构。l l CPU内部集成小型的存储器内部集成小型的存储器, 存储器的每一个单存储器的每一个单元作为一个寄存器使用

22、元作为一个寄存器使用(称为寄存器组称为寄存器组)。l l 一组双向数据总线连接一组双向数据总线连接ALU和寄存器组。和寄存器组。l l 暂存器取代了暂存器取代了(独立寄存器结构中的独立寄存器结构中的)选择器选择器 结构图结构图: 移位器移位器ALU暂存器暂存器C暂存器暂存器D R0 R1 Rn.内总线内总线主要特点主要特点: l l 数据总线为双向数据总线为双向, 运算器运算器ALU既能向总线发送数既能向总线发送数据据, 也能直接从总线接收数据也能直接从总线接收数据(由暂存器接收由暂存器接收);l l 各寄存器可从总线接收和向总线发送数据各寄存器可从总线接收和向总线发送数据; 完成完成 R0

23、+ R1 R2 , 步骤如下步骤如下: R0 内总线内总线 暂存器暂存器C R1 内总线内总线 暂存器暂存器D 执行加法执行加法 结果经移位器结果经移位器(直送直送) 内总线内总线 内总线内总线 R2(3) 多组内总线结构多组内总线结构CPU内部设置多组总线内部设置多组总线, 用于传输不同类别的信用于传输不同类别的信息息(地址信息、数据信息、指令信息等分别用不同地址信息、数据信息、指令信息等分别用不同的总线传送的总线传送)。如如 Pentium处理器的内部结构处理器的内部结构:8K指令指令Cache指令预指令预取部件取部件指令译码器指令译码器 微指令微指令 ROM分支预分支预测部件测部件控制部

24、件控制部件U流水线流水线V流水线流水线U流水线地址生成逻辑流水线地址生成逻辑V流水线地址生成逻辑流水线地址生成逻辑 双端口数据双端口数据Cache浮点处理浮点处理部件部件FPU总线接口部件总线接口部件32位内部地址总线位内部地址总线64位内部数据总线位内部数据总线3.1.2 时序控制方法时序控制方法“时序控制方法时序控制方法”的提出的提出:计算机由若干不同功能、计算机由若干不同功能、不同速度不同速度的部件和设备的部件和设备构成构成, 这些部件之间通信时这些部件之间通信时, 怎样才能做到时间上怎样才能做到时间上同步?同步? 所谓所谓“时序控制方法时序控制方法”, 即根据不同的部件和设备即根据不同

25、的部件和设备, 采用不同的采用不同的时间同步方式时间同步方式。也称为。也称为操作与时序信号操作与时序信号之间的关系之间的关系。主要的时序控制方法有主要的时序控制方法有: l l 同步控制同步控制 l l 异步控制异步控制 l l 上述方式的变形上述方式的变形1、同步控制、同步控制 定义定义: 特点特点:l l 有明显时序时间划分有明显时序时间划分;l l 时钟周期时间固定时钟周期时间固定;l l 各步操作的衔接、各部件之间的数据传送受各步操作的衔接、各部件之间的数据传送受严格同步定时控制。严格同步定时控制。各项操作受各项操作受统一时序统一时序控制。控制。由由CPU或其它设备提供或其它设备提供例

26、例: 工作周期工作周期1工作周期工作周期3工作周期工作周期2将数据总线将数据总线内容打入指内容打入指令寄存器令寄存器取数取数, 打入打入数据寄存数据寄存器器, 并进行并进行加法操作加法操作从此处开始从此处开始,将结果存入将结果存入存储单元的存储单元的操作操作认定结认定结果已存果已存入存储入存储单元单元执行一条加法指令执行一条加法指令: Ri + (M)M假设需要三个工作周期:假设需要三个工作周期: 应用场合应用场合:用于用于CPU内部、设备内部、系统总线操作内部、设备内部、系统总线操作l l 时序关系简单时序关系简单, 时序划分规整时序划分规整, 控制不复杂控制不复杂;l l 时间安排不合理时

27、间安排不合理(缺点缺点)。l l 控制逻辑易于集中控制逻辑易于集中, 便于管理。便于管理。 优缺点优缺点: 采用同步控制的一些条件采用同步控制的一些条件 l l 发送、接收部件发送、接收部件(或设备或设备)传送时间确定传送时间确定; l l 各部件速度相近各部件速度相近, 传送距离较近。传送距离较近。 l l 一次通信时间不太长一次通信时间不太长2、异步控制、异步控制各项操作按不同需要安排时间各项操作按不同需要安排时间, 不受统一不受统一时序控制。时序控制。 定义定义:例例. 异步传送操作异步传送操作l l 主设备主设备:申请并掌握总线权的申请并掌握总线权的设备。设备。l l 从设备从设备:

28、响应主设备请求的设备。响应主设备请求的设备。 特点特点: 无统一时钟周期划分无统一时钟周期划分, 各操作间的衔接和部各操作间的衔接和部件之间的信息交换件之间的信息交换采用采用应答应答方式方式。总线总线发发/ /接接接接/ /发发从从设设备备主主设设备备l l 操作流程操作流程:主设备获得总线控制权主设备获得总线控制权 主设备询问从设备主设备询问从设备 主设备发送主设备发送/ /接收数据接收数据 主设备释放总线控制权主设备释放总线控制权从设备准备好?从设备准备好?YN主设备输出端与总线连接主设备输出端与总线连接主设备输出端与总线断开主设备输出端与总线断开l l 操作流程操作流程:也可以描述为也可

29、以描述为(以读数据为例以读数据为例): (1) 主设备发出主设备发出RQ请求信号、地请求信号、地址以及读命令址以及读命令从设备从设备(2) (RQ信号一直保持有效信号一直保持有效)从设备收到主设备命令从设备收到主设备命令,将数将数据放到数据总线上据放到数据总线上,主设备主设备发出应答信号发出应答信号ACK(3) 主设备收到主设备收到ACK后后, 采样数据总线采样数据总线(读数据读数据)将将RQ信号变为无效信号变为无效(4) 从设备检测到从设备检测到RQ信号无效信号无效, 停止驱动数据总线停止驱动数据总线, 将将ACK变为无效变为无效从时序上看从时序上看:RQData时延时延ACK主设备检测到主

30、设备检测到ACK, 采样数据总线采样数据总线地址地址/读命令读命令主设备将主设备将RQ变为无效变为无效从设备停止驱从设备停止驱动数据总线动数据总线将将ACK变为无效变为无效主主设设备备从从设设备备l l 时间安排紧凑、合理时间安排紧凑、合理;l l 控制复杂。控制复杂。 优缺点优缺点: 应用场合应用场合:用于异步总线操作用于异步总线操作(各挂接部件速度差异大、传各挂接部件速度差异大、传送时间不确定、传送距离较远等送时间不确定、传送距离较远等)。(3) 同步方式的变化同步方式的变化指令周期长度可变指令周期长度可变, 时钟周期长度不变。时钟周期长度不变。可用计数器指示时钟周期数的变化。可用计数器指

31、示时钟周期数的变化。 不同指令安排不同时钟周期数不同指令安排不同时钟周期数既有一套时序系统既有一套时序系统, 但不同指令又有不同时序。但不同指令又有不同时序。时序及控制电路非常复杂。时序及控制电路非常复杂。总线周期长度可变总线周期长度可变, 时钟周期长度不变。时钟周期长度不变。总线周期总线周期(4T)例例. 一个总线周期包含一个总线周期包含4个时钟周期个时钟周期时钟时钟T1T3T2T4送地址送地址读读/ /写数据写数据结束结束同步方式同步方式 总线周期总线周期中插入延长周期中插入延长周期经总线传送一次数据所用的时间经总线传送一次数据所用的时间(送地址、读送地址、读/写写)总线周期总线周期(5T

32、)扩展同步方式扩展同步方式时钟时钟T1T3T2T4T4T4Tw送地址送地址读读/ /写数据写数据结束结束Intel80 86系统的总线操作采用了与上述类似的系统的总线操作采用了与上述类似的方式。方式。比如在比如在Intel 80286中中, 一次总线操作的基本长度一次总线操作的基本长度为三个为三个T时钟。时钟。不需要和需要插入不需要和需要插入Tw的时序如下:的时序如下:(1) 无等待周期的存储器读无等待周期的存储器读TsTcTcReadyData地址地址CPU采样数据采样数据(2) 需要插入等待周期的存储器读需要插入等待周期的存储器读 假设假设: 每个每个T为为50u us, 存储器读数据的建

33、立时间为存储器读数据的建立时间为140u us(从地址有效到数据总线上数据有效的时从地址有效到数据总线上数据有效的时间长度间长度)。 从进入从进入Ts到第二个到第二个Tc下降沿为下降沿为125u us, 需要插入一个需要插入一个Tw。ReadyData地址地址CPU采样数据采样数据TcTsTcTw设备请求设备请求总线权总线权RQ/GTCPU使用使用总线总线CPU使用使用总线总线CPU使用使用总线总线设备使用设备使用总线总线设备设备CPUCPUCPU响应响应,总线权交设备总线权交设备设备设备CPU设备释放设备释放总线权总线权CPU设备设备若干时钟若干时钟若干时钟若干时钟 同步方式引入异步应答同步

34、方式引入异步应答以固定时钟周期作为时序基础以固定时钟周期作为时序基础, ,引入应答思想。引入应答思想。例例. 用一条用一条总线请求总线请求/应答应答线实现总线权的转移。线实现总线权的转移。3.1.3 控制器分类控制器分类控制器的基本构成控制器的基本构成: 微操作信号序列形成部件微操作信号序列形成部件.微操作命令微操作命令时序信号及控制时序信号及控制指令译码器指令译码器启停控制启停控制指令寄存器指令寄存器脉冲源脉冲源程序计数器程序计数器总线控制逻辑总线控制逻辑.总线输出总线输出自自运运算算器器自自存存储储器器自自外外设设控制器分类主要针对上图中的控制器分类主要针对上图中的。即即: 微操作信号序列

35、形成部件采用什么样的微操作信号序列形成部件采用什么样的方式产生微操作信号。方式产生微操作信号。更具体的说更具体的说:微操作信号序列形成部件采用什么样的硬件微操作信号序列形成部件采用什么样的硬件构成构成, 能够根据指令译码器的输出、时序控能够根据指令译码器的输出、时序控制信号、以及状态信号等产生微操作信号制信号、以及状态信号等产生微操作信号微操作信号形成微操作信号形成(产生产生)的方式不同的方式不同, 导致了控制导致了控制器设计方法的不同器设计方法的不同, 由此引出控制器的分类。由此引出控制器的分类。1、组合逻辑控制器、组合逻辑控制器 即按照组合逻辑设计方式产生的控制器。即按照组合逻辑设计方式产

36、生的控制器。该方法的简单描述该方法的简单描述:将将一个操作一个操作所需要的所有条件所需要的所有条件(如什么指令、如什么指令、什么时间、在什么机器状态下等什么时间、在什么机器状态下等)写成逻辑表写成逻辑表达式的形式达式的形式, 加以简化后用逻辑电路实现。加以简化后用逻辑电路实现。比如要完成某一操作比如要完成某一操作OP, 需要发出一个微操作需要发出一个微操作信号信号Micro_op, 其条件有其条件有A、B、C、D、E。要。要求条件求条件A和和B同时成立并且条件同时成立并且条件C、D、E至少至少有一个成立有一个成立, 则可以有逻辑表达式则可以有逻辑表达式:Micro_op = AB(C+D+E)

37、将计算机要完成的所有操作所需要的微操作信将计算机要完成的所有操作所需要的微操作信号都以逻辑表达式的形式表达出来号都以逻辑表达式的形式表达出来, 简化后用逻简化后用逻辑电路予以实现。当要执行某项操作辑电路予以实现。当要执行某项操作, 则其条件则其条件成立成立, 逻辑电路发出相应的微操作信号完成该项逻辑电路发出相应的微操作信号完成该项功能。功能。逻辑电路实现逻辑电路实现:ABCDEMicro_op该逻辑电路即为微操作信号发生器该逻辑电路即为微操作信号发生器, 由此产生由此产生的控制器即为的控制器即为组合逻辑控制器组合逻辑控制器。例例: 组合逻辑控制例组合逻辑控制例 (仅说明原理仅说明原理)(1)

38、执行指令执行指令: ADD R1, R2以图以图3.3 (P80/P76集成寄存器集成寄存器CPU数据通路数据通路)为硬件模型为硬件模型 (此处省去移位器此处省去移位器)+R0CLK+R0EN+Lat1ALU暂存器暂存器2暂存器暂存器1R0Rn+Lat2完成完成: R1+R2 R1+RnEN+RnCLK将指令执行分为三个阶段:将指令执行分为三个阶段:+R1EN+Lat1+R2EN+Lat2根据根据 取指取指(FET) 译码译码(DE) 执行执行(EXE) 在执行阶段所需微操作信号在执行阶段所需微操作信号:+R1CLK; R1内容输出到内部总线内容输出到内部总线; 暂存器暂存器1的打入脉冲的打入

39、脉冲; R2内容输出到内部总线内容输出到内部总线; 暂存器暂存器2的打入脉冲的打入脉冲; 相加结果打入相加结果打入R1 结合时序结合时序取指取指(FET)执行执行(EXE)译码译码(DE)FETDEEXE一个节拍一个节拍T1 T2T4T3EXE阶段阶段时间长度时间长度.操作的时机操作的时机+R1EN = +ADDEXET1 +Lat1 = +ADDEXET1+R2EN = +ADDEXET2 +R1CLK = +ADDEXET4 (节拍节拍T3等待加法器等待加法器完成加法操作完成加法操作)(T1表示在上升沿,表示在上升沿, T1表示在下降沿表示在下降沿)+Lat2 = +ADDEXET2(2)

40、 执行指令执行指令: MOV R1, (R2) ;在该指令的执行周期在该指令的执行周期EXE, T4时刻时刻:+R1CLK = +MOVEXET4 所以所以:+R1CLK = (+ADDEXET4) + (+MOVEXET4) + (.) + (.) .+R1EN = (+ADDEXET1 ) + (.) .同理同理:+Lat2 = (+ADDEXET2) + (.) . (R2)R1即即组合逻辑控制器组合逻辑控制器 结论结论:一条指令是由若干步骤来完成的一条指令是由若干步骤来完成的, 拟定每一步拟定每一步骤所需要的微操作信号骤所需要的微操作信号(不能再分解的操作称不能再分解的操作称为微操作为

41、微操作), 写出每一微操作信号逻辑表达式。写出每一微操作信号逻辑表达式。对所有指令进行上述的分解对所有指令进行上述的分解, 形成逻辑表达式形成逻辑表达式, 然后将所有相同的微操作信号的逻辑表达式然后将所有相同的微操作信号的逻辑表达式进行合并进行合并, 并简化逻辑表达式并简化逻辑表达式, 再用逻辑电路再用逻辑电路予以实现。予以实现。送送存储器存储器微命令序列微命令序列I/O状态状态控制台信息控制台信息运行状态运行状态 PSW 时序时序 系统系统 IR地址形成地址形成操作码操作码D寻址方式寻址方式来自来自存贮器存贮器送送存储器存储器或或ALU 微命令微命令 发生器发生器 PC 译译 码码 器器 将

42、前述的控制器组成细化为将前述的控制器组成细化为:组合逻辑控制器的特点组合逻辑控制器的特点:l l 指令执行过程有硬件逻辑完成指令执行过程有硬件逻辑完成, 速度快速度快; l l 硬件复杂硬件复杂, 不易修改、扩展和升级。不易修改、扩展和升级。2、微程序控制器、微程序控制器 l l 微程序控制的基本思想微程序控制的基本思想从物理的观点从物理的观点:微操作信号微操作信号各种电信号各种电信号即在规定时间产生的电平和脉冲即在规定时间产生的电平和脉冲组合逻辑设计组合逻辑设计:按数字逻辑的方法产生所需要的电信号按数字逻辑的方法产生所需要的电信号编码的观点编码的观点:将不同周期或节拍的微操作进行编码将不同周

43、期或节拍的微操作进行编码, 使不同微使不同微操作对应一个编码值操作对应一个编码值, 并存入存储器并存入存储器(ROM)。读。读出编码并译码出编码并译码, 同样可产生电信号。同样可产生电信号。微程序设计的基本原理微程序设计的基本原理: l l 与组合逻辑控制器设计相同与组合逻辑控制器设计相同, 将指令分解成将指令分解成若干的若干的微操作微操作, 完成该操作所需信号即称为微完成该操作所需信号即称为微命令信号命令信号(简称简称微命令微命令); l l 将所有将所有微命令微命令进行编码进行编码, 并存入并存入ROM(称为微称为微程序程序ROM); l l 当要完成某一操作当要完成某一操作, 从从ROM

44、中读出对应的中读出对应的微微命令编码命令编码, 并对该编码进行并对该编码进行译码译码, 译码输出信译码输出信号即为完成该操作的微操作信号。号即为完成该操作的微操作信号。1. 将将若干微命令若干微命令编制成编制成一条微指令一条微指令, 控制实现控制实现一步操作一步操作;2. 若干微指令若干微指令组成一段组成一段微程序微程序, 解释执行一条解释执行一条机器指令机器指令;3. 微程序事先存放在控制存储器中微程序事先存放在控制存储器中, 执行机器执行机器指令时再取出。指令时再取出。微程序设计一般步骤微程序设计一般步骤:微程序控制器的组成框图如下所示微程序控制器的组成框图如下所示: 微地址微地址形成电路

45、形成电路 IR PSW PC微地址寄存器微地址寄存器 AR控制存储器控制存储器CM 译码器译码器微命令序列微命令序列微命令字段微命令字段 微地址字段微地址字段IR微程序控制器的特点微程序控制器的特点:l l 引入了程序技术引入了程序技术, 使设计规整使设计规整l l 引入了存储逻辑引入了存储逻辑, 使功能易于扩展使功能易于扩展3.1.4 CPU与外设的信息交换与外设的信息交换1、主机和外设的连接方式、主机和外设的连接方式(1) 辐射式辐射式 主机主机I/OI/OI/O早期早期: 不易扩展不易扩展 线路复杂线路复杂 主机主机 接口接口 接口接口I/OI/OI/O现在现在: 便于扩展便于扩展(2)

46、 总线式总线式特点特点: 便于扩展便于扩展 主机主机 接口接口 接口接口 I/O I/O总线总线(3) 通道式通道式 I/O 主机主机 通道通道 通道通道 I/O I/O I/O特点特点: 并行能力提高并行能力提高有专门的通道程有专门的通道程序管理序管理I/O操作,操作,不需要不需要CPU的干的干预。预。2、信息传送控制方式、信息传送控制方式即如何控制即如何控制CPU与外部设备之间的数据传送。与外部设备之间的数据传送。传送控制方式问题的提出传送控制方式问题的提出:l l CPU与速度不同的外设之间的时间配合与速度不同的外设之间的时间配合l l 外设如何启动外设如何启动(通知通知)CPU执行执行

47、I/O指令指令l l 外设的工作是否可以与外设的工作是否可以与CPU并行并行l l I/O操作由硬件完成还是软件完成操作由硬件完成还是软件完成(1) 直接程序传送方式直接程序传送方式(程序查询方式程序查询方式)用用I/O指令编程实现信息传送。指令编程实现信息传送。 外设状态外设状态空闲空闲启动启动完成一次工作完成一次工作调用完调用完再请求再请求000110工作工作结束结束l l 在接口中设置状态字表示这些状态在接口中设置状态字表示这些状态;l l 空闲空闲: 调用前调用前, 设备不工作设备不工作;l l 结束结束: 调用后调用后, 设备完成工作。设备完成工作。 查询流程查询流程 启动外设启动外

48、设外设工作完成?外设工作完成?NY 输入输入/出操作出操作用输出指令用输出指令,设置启动设置启动信号信号;用输入指令用输入指令,读取工作状读取工作状态并判断态并判断输入或输出指令进行数输入或输出指令进行数据传送据传送例:例:输入输入设备设备(8位位)+5V数据总线数据总线地址总线地址总线数据数据锁存锁存缓冲缓冲器器 端口地端口地址译码址译码器器 CQ DR三三态态缓缓冲冲器器D0启动信号启动信号04030102复位端口地址复位端口地址01H假设假设:启动端口地址启动端口地址04H数据端口数据端口地址地址03H状态端口状态端口地址地址02H按查询方式的输入程序如下按查询方式的输入程序如下(假设输

49、入假设输入5个数据个数据):OUT 04, AL ; 启动输入设备启动输入设备MOV BL, 05 ; 设置计数值设置计数值SHR AL, 1 ; AL右移一位右移一位JNC POLL ; 未准备好未准备好, 再次查询再次查询IN AL, 02 ; 读取状态位读取状态位 POLL:IN AL, 03 ; 已准备好已准备好, 读数据读数据MOV DI, DSTOR ; 设置内存地址设置内存地址 MOV DI, AL ; 数据送内存数据送内存 INC DI ; 地址加地址加1DEC BL ; 计数值减计数值减1AGAIN:OUT 01, AL ; 准备好信号复位准备好信号复位JNZ AGAIN ;

50、 再次启动输入设备再次启动输入设备 优缺点优缺点优点优点: 硬件开销小硬件开销小;缺点缺点: 输入输入/输出期间输出期间, CPU不执行与不执行与I/O无关的无关的操作操作, 实时处理能力差实时处理能力差, 并行程度低。并行程度低。 应用场合应用场合对对CPU效率要求不高的场合效率要求不高的场合;或诊断、调试过程。或诊断、调试过程。(2) 中断方式中断方式 中断的引入中断的引入查询查询:程序程序并行操作并行操作主机主机外设外设空闲空闲启动启动等待等待工作工作程序程序交换数据交换数据中断中断:主机主机程序程序外设外设空闲空闲启动启动工作工作程序程序请求请求中断程序中断程序交换数据交换数据程序程序

51、 中断定义中断定义 中断流程中断流程CPU内设置中断允许标志内设置中断允许标志CPU暂时中止现行程序的执行暂时中止现行程序的执行, 转去执行为某个转去执行为某个随机事态服务的中断处理程序。处理完毕后自随机事态服务的中断处理程序。处理完毕后自动恢复原程序的执行。动恢复原程序的执行。=1 允许响应中断允许响应中断(开中断开中断)=0 不允许响应中断不允许响应中断(关中断关中断)流程图如下流程图如下: 开中断开中断继续原程序继续原程序 启动外设启动外设一条指令结束一条指令结束时有中断请求?时有中断请求?N返回返回Y执行中断服务程序执行中断服务程序响应响应 程序安排程序安排例例1. DJS-100系列机系列机允许中断触发器允许中断触发器 INT=0 关中断关中断1 开中断开中断 NIOS CPU ;请求请求 开中断开中断 NIOS 设备码设备码; 启动设备启动设备响应响应返回返回执行中断服务程序执行中断服务程序 CLI

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论