计算机组成原理第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 应能完成数据输入应能完成数据输入(参与运算的数据参与运算的数据

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

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

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

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

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

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

9、产生进位产生进位, 则将则将C 置为置为1, 否则置否则置0; 溢出位溢出位V: 如果如果运算结果运算结果产生溢出产生溢出, 则将则将V置为置为1, 否否 则置则置0; 零标志零标志Z: 如果如果运算结果运算结果为为0, 则将则将Z置为置为1, 否则置否则置0; 正负标志正负标志N: 如果如果运算结果运算结果为负为负, 则将则将N置为置为1, 否则否则 置置0; 奇偶标志奇偶标志P: 如果如果运算结果运算结果中中1的个数为奇数的个数为奇数, 将将P置置 为为1, 否则置否则置0; (Intel8086的规定与此相反的规定与此相反) 2)编程设定位)编程设定位 PSW的另一部分状态的设置是的另一

10、部分状态的设置是由编程来决定由编程来决定, 其其 典型的设置有典型的设置有: 跟踪位跟踪位T: 称为断点标志称为断点标志, 主要用于程序调试。主要用于程序调试。 如果编程时如果编程时, 将将T置为置为1, 且在程序中安排一条测且在程序中安排一条测 试指令试指令, 当程序执行到该测试指令时当程序执行到该测试指令时, 程序将转程序将转 入测试程序。入测试程序。 单步标志单步标志 TF 将单步标志置将单步标志置1, 则程序每执行一条指令则程序每执行一条指令, 就产就产 生一次内部中断。其功能主要用于程序调试。生一次内部中断。其功能主要用于程序调试。 中断允许标志或程序优先级字段中断允许标志或程序优先

11、级字段: 中断允许标志中断允许标志I(或或TI): 根据当前运行程序与外根据当前运行程序与外 部中断的紧要程度部中断的紧要程度, 处理器通过对该标志的设处理器通过对该标志的设 置置, 决定是否响应中断请求。决定是否响应中断请求。 为每一程序和中断请求设置优先级为每一程序和中断请求设置优先级, 仅当中断仅当中断 请求的优先级高于正在执行的程序的优先级请求的优先级高于正在执行的程序的优先级, 才响应中断请求。才响应中断请求。 (在微型计算机中在微型计算机中, 一般采用前一种方式一般采用前一种方式) 地址寄存器地址寄存器 MAR CPU访问存储器和访问访问存储器和访问I/O端口的地址首先存入端口的地

12、址首先存入 MAR, 再由再由MAR送往外部地址总线。送往外部地址总线。 工作方式字段(工作方式字段(P78/P74)(用户态和核心态)(用户态和核心态) 数据缓冲寄存器数据缓冲寄存器 MBR 用于暂存用于暂存CPU与存储器和外与存储器和外设之间通信的数据。设之间通信的数据。 可以看出可以看出, MAR、MBR是是CPU联系存储器和外设联系存储器和外设 之间的桥梁之间的桥梁, 如下图所示如下图所示: CPU MAR MBR 存储器存储器 I/O接口接口 和设备和设备 3、微命令产生部件、微命令产生部件 计算机工作过程计算机工作过程: 信息以电信号形式的流动信息以电信号形式的流动 流动过程是受控

13、的流动过程是受控的 受控的表现是受控的表现是: 流动方向流动方向 流动时机流动时机 流动时间流动时间 控制过程的实现控制过程的实现: 电子开关器件电子开关器件 从指令执行的角度从指令执行的角度, 指令执行过程指令执行过程: 取指阶段取指阶段(取指取指)指令分析阶段指令分析阶段(译码译码) 指令执行阶段指令执行阶段(执行执行) 程序下一条指令程序下一条指令 (可包含取操作数、运算、可包含取操作数、运算、 存结果、设置标志位等存结果、设置标志位等) l l 每一步操作都需要相应的一组控制信号每一步操作都需要相应的一组控制信号, 也需要也需要 相应的时序信号来控制操作的时间相应的时序信号来控制操作的

14、时间; l l 上述的上述的控制信号控制信号与与微命令微命令是一对一的关系是一对一的关系; l l 因此因此需要有需要有控制逻辑电路控制逻辑电路和和时序电路时序电路来产生微命来产生微命 令和时序信号令和时序信号; l l 该该控制逻辑电路和时序电路即为控制器的核心。控制逻辑电路和时序电路即为控制器的核心。 程序计数器程序计数器 指令寄存器指令寄存器 时序产生器时序产生器 操作控制器操作控制器 指令译码器指令译码器 根据以上描述根据以上描述, 控制器应由以下部件构成控制器应由以下部件构成: 跟踪指令地址跟踪指令地址, 取指令控制取指令控制 存放取出的指令存放取出的指令 识别指令功能识别指令功能

15、产生微操作信号序列产生微操作信号序列, 控制信息的流动过程控制信息的流动过程 控制的构成框图控制的构成框图: 微操作信号序列形成部件微操作信号序列形成部件 . 微操作命令微操作命令 时序信号及控制时序信号及控制指令译码器指令译码器 启停控制启停控制指令寄存器指令寄存器 脉冲源脉冲源 程序计数器程序计数器 总线控制逻辑总线控制逻辑 . 总线输出总线输出 自自 运运 算算 器器 自自 存存 储储 器器 自自 外外 设设 4、时序系统、时序系统 l l 功能功能: 控制控制操作时间操作时间和和操作时刻操作时刻。 时序信号时序信号是产生微命令的依据之一。是产生微命令的依据之一。 l l 时序时序: 即

16、时间控制电路即时间控制电路, 也称为时序系统。也称为时序系统。 功能完成的时间、时刻的控制功能完成的时间、时刻的控制 l l 时钟振荡器提供基本的时序源时钟振荡器提供基本的时序源 如下图所示如下图所示: 振荡器振荡器 时钟脉冲时钟脉冲 工作脉冲工作脉冲 时钟周期时钟周期(节拍节拍) 产生电位型微命令产生电位型微命令, 控控 制操作时间段制操作时间段(时间控制时间控制) 产生脉冲型微命令,控制产生脉冲型微命令,控制 定时操作定时操作(时机控制时机控制) 分频器分频器 启停控制逻启停控制逻 辑辑( (产生稳定产生稳定 脉冲脉冲, ,生成生成 RESET信号信号) ) 取指令取指令指令译码指令译码执

17、行执行 一个节拍一个节拍 T1 T2T4T3 执行阶段的执行阶段的 时间长度时间长度 . 操作的时机操作的时机 时序控制例时序控制例: 周期(周期(时钟周期时钟周期): 在每个工作周期中又在每个工作周期中又 按不同的分步操作划分为若干时钟周期按不同的分步操作划分为若干时钟周期 (也称节拍也称节拍);节拍节拍 是执行一步分步操作所是执行一步分步操作所 需的时间需的时间 工作周期工作周期(也称为(也称为机器周期机器周期): 将一条指将一条指 令从读取到执行完令从读取到执行完, 按不同的操作阶段划按不同的操作阶段划 分为若干工作周期分为若干工作周期, 如取指周期如取指周期FT, 源周源周 期期ST,

18、 目的周期目的周期DT, 执行周期执行周期ET, 中断周中断周 期期IT, DMA周期周期DMAT 5、CPU内部的数据通路的结构内部的数据通路的结构 CPU内部由许多部件构成内部由许多部件构成, 如运算器、微命令发生器、如运算器、微命令发生器、 各种寄存器、时序控制逻辑等。各种寄存器、时序控制逻辑等。 就数据信息的传送就数据信息的传送, 需要为数据的传送提供传送的通需要为数据的传送提供传送的通 路路(即通信线路即通信线路)。 完成如完成如: 寄存器中的数据怎样送往寄存器中的数据怎样送往ALU; ALU的结果怎样送往寄存器的结果怎样送往寄存器; 寄存器之间的数据怎样传送等功能。寄存器之间的数据

19、怎样传送等功能。 不同功能、性能的处理器不同功能、性能的处理器, 其数据通路是不同的。其数据通路是不同的。 问题问题: 如何设计数据通路?如何设计数据通路? 典型的数据通路结构典型的数据通路结构: l l 单总线通路单总线通路 设置一组数据通信总线设置一组数据通信总线, 数据传送均通过数据传送均通过 该总线进行该总线进行; 结构简单、但不能实现多组数据并发结构简单、但不能实现多组数据并发; l l 多总线通路多总线通路 设置多组数据通信总线设置多组数据通信总线, 可实现不同数据可实现不同数据 在不同的通路上传送在不同的通路上传送; 结构复杂、但能实现多组数据并行传送结构复杂、但能实现多组数据并

20、行传送; 不同结构即是在不同结构即是在复杂性复杂性与与性能性能之间的选择。之间的选择。 (1) 单组内总线、分立的寄存器结构单组内总线、分立的寄存器结构 主要特点主要特点: l l 各寄存器有自己独立的输入口各寄存器有自己独立的输入口 和输出口和输出口; l l 数据总线为单向数据总线为单向, 运算器运算器ALU只只 能通过移位器向总线发送数据能通过移位器向总线发送数据, 而不能直接从总线接收数据而不能直接从总线接收数据; l l 寄存器可接收总线上的数据寄存器可接收总线上的数据, 但但 不能直接向总线发送数据不能直接向总线发送数据; 移位器移位器 ALU 选择器选择器A R0 . Rn 选择

21、器选择器B R0 . Rn R0 R1 Rn . l l ALU通过选择器接通过选择器接 收寄存器的数据。收寄存器的数据。 根据上述特点根据上述特点, 以下数据传送功能的完成以下数据传送功能的完成: 寄存器寄存器 运算器运算器 寄存器寄存器 选择器选择器 运算器运算器 运算器运算器 寄存器寄存器 运算器运算器 移位器移位器 寄存器寄存器 (由选择控制信号由选择控制信号) (由移位控制信号由移位控制信号) 寄存器寄存器 寄存器寄存器 寄存器寄存器 ALU 移位器移位器 寄存器寄存器 这是一种以这是一种以ALU为中心的单总线结构为中心的单总线结构 需要的主要控制信号需要的主要控制信号 l l 寄存

22、器开门信号寄存器开门信号 l l 移位控制信号移位控制信号 l l 寄存器打入脉冲寄存器打入脉冲 (2) 单组内总线、集成寄存器结构单组内总线、集成寄存器结构 l l 与第一种方式的主要区别在于寄存器的结构。与第一种方式的主要区别在于寄存器的结构。 l l CPU内部集成小型的存储器内部集成小型的存储器, 存储器的每一个单存储器的每一个单 元作为一个寄存器使用元作为一个寄存器使用(称为寄存器组称为寄存器组)。 l l 一组双向数据总线连接一组双向数据总线连接ALU和寄存器组。和寄存器组。 l l 暂存器取代了暂存器取代了(独立寄存器结构中的独立寄存器结构中的)选择器选择器 结构图结构图: 移位

23、器移位器 ALU 暂存器暂存器C暂存器暂存器D R0 R1 Rn . 内总线内总线 主要特点主要特点: l l 数据总线为双向数据总线为双向, 运算器运算器ALU既能向总线发送数既能向总线发送数 据据, 也能直接从总线接收数据也能直接从总线接收数据(由暂存器接收由暂存器接收); l l 各寄存器可从总线接收和向总线发送数据各寄存器可从总线接收和向总线发送数据; 完成完成 R0 + R1 R2 , 步骤如下步骤如下: R0 内总线内总线 暂存器暂存器C R1 内总线内总线 暂存器暂存器D 执行加法执行加法 结果经移位器结果经移位器(直送直送) 内总线内总线 内总线内总线 R2 (3) 多组内总线

24、结构多组内总线结构 CPU内部设置多组总线内部设置多组总线, 用于传输不同类别的信用于传输不同类别的信 息息(地址信息、数据信息、指令信息等分别用不同地址信息、数据信息、指令信息等分别用不同 的总线传送的总线传送)。 如如 Pentium处理器的内部结构处理器的内部结构: 8K指令指令Cache 指令预指令预 取部件取部件 指令译码器指令译码器 微指令微指令 ROM 分支预分支预 测部件测部件 控制部件控制部件 U流水线流水线V流水线流水线 U流水线地址生成逻辑流水线地址生成逻辑 V流水线地址生成逻辑流水线地址生成逻辑 双端口数据双端口数据Cache 浮点处理浮点处理 部件部件FPU 总线接口

25、部件总线接口部件 32位内部地址总线位内部地址总线 64位内部数据总线位内部数据总线 3.1.2 时序控制方法时序控制方法 “时序控制方法时序控制方法”的提出的提出: 计算机由若干不同功能、计算机由若干不同功能、不同速度不同速度的部件和设备的部件和设备 构成构成, 这些部件之间通信时这些部件之间通信时, 怎样才能做到时间上怎样才能做到时间上 同步?同步? 所谓所谓“时序控制方法时序控制方法”, 即根据不同的部件和设备即根据不同的部件和设备, 采用不同的采用不同的时间同步方式时间同步方式。也称为。也称为操作与时序信号操作与时序信号 之间的关系之间的关系。 主要的时序控制方法有主要的时序控制方法有

26、: l l 同步控制同步控制 l l 异步控制异步控制 l l 上述方式的变形上述方式的变形 1、同步控制、同步控制 定义定义: 特点特点: l l 有明显时序时间划分有明显时序时间划分; l l 时钟周期时间固定时钟周期时间固定; l l 各步操作的衔接、各部件之间的数据传送受各步操作的衔接、各部件之间的数据传送受 严格同步定时控制。严格同步定时控制。 各项操作受各项操作受统一时序统一时序控制。控制。 由由CPU或其它设备提供或其它设备提供 例例: 工作周期工作周期1工作周期工作周期3工作周期工作周期2 将数据总线将数据总线 内容打入指内容打入指 令寄存器令寄存器 取数取数, 打入打入 数据

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

28、采用同步控制的一些条件采用同步控制的一些条件 l l 发送、接收部件发送、接收部件(或设备或设备)传送时间确定传送时间确定; l l 各部件速度相近各部件速度相近, 传送距离较近。传送距离较近。 l l 一次通信时间不太长一次通信时间不太长 2、异步控制、异步控制 各项操作按不同需要安排时间各项操作按不同需要安排时间, 不受统一不受统一 时序控制。时序控制。 定义定义: 例例. 异步传送操作异步传送操作 l l 主设备主设备:申请并掌握总线权的 申请并掌握总线权的 设备。设备。 l l 从设备从设备: 响应主设备请求的设备。响应主设备请求的设备。 特点特点: 无统一时钟周期划分无统一时钟周期划

29、分, 各操作间的衔接和部各操作间的衔接和部 件之间的信息交换件之间的信息交换采用采用应答应答方式方式。 总线总线 发发/ /接接接接/ /发发 从从 设设 备备 主主 设设 备备 l l 操作流程操作流程: 主设备获得总线控制权主设备获得总线控制权 主设备询问从设备主设备询问从设备 主设备发送主设备发送/ /接收数据接收数据 主设备释放总线控制权主设备释放总线控制权 从设备准备好?从设备准备好? Y N 主设备输出端与总线连接主设备输出端与总线连接 主设备输出端与总线断开主设备输出端与总线断开 l l 操作流程操作流程: 也可以描述为也可以描述为(以读数据为例以读数据为例): (1) 主设备发

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

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

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

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

34、存储器读 假设假设: 每个每个T为为50u us, 存储器读数据的建立时间为存储器读数据的建立时间为 140u us(从地址有效到数据总线上数据有效的时从地址有效到数据总线上数据有效的时 间长度间长度)。 从进入从进入Ts到第二个到第二个Tc下降沿为下降沿为 125u us, 需要插入一个需要插入一个Tw。 Ready Data 地址地址 CPU采样数据采样数据 TcTsTcTw 设备请求设备请求 总线权总线权 RQ/GT CPU使用使用 总线总线 CPU使用使用 总线总线 CPU使用使用 总线总线 设备使用设备使用 总线总线 设备设备CPU CPUCPU响应响应, 总线权交设备总线权交设备

35、设备设备CPU 设备释放设备释放 总线权总线权 CPU设备设备 若干时钟若干时钟若干时钟若干时钟 同步方式引入异步应答同步方式引入异步应答 以固定时钟周期作为时序基础以固定时钟周期作为时序基础, ,引入应答思想。引入应答思想。 例例. 用一条用一条总线请求总线请求/应答应答线实现总线权的转移。线实现总线权的转移。 3.1.3 控制器分类控制器分类 控制器的基本构成控制器的基本构成: 微操作信号序列形成部件微操作信号序列形成部件 . 微操作命令微操作命令 时序信号及控制时序信号及控制指令译码器指令译码器 启停控制启停控制指令寄存器指令寄存器 脉冲源脉冲源 程序计数器程序计数器 总线控制逻辑总线控

36、制逻辑 . 总线输出总线输出 自自 运运 算算 器器 自自 存存 储储 器器 自自 外外 设设 控制器分类主要针对上图中的控制器分类主要针对上图中的 。 即即: 微操作信号序列形成部件采用什么样的微操作信号序列形成部件采用什么样的 方式产生微操作信号。方式产生微操作信号。 更具体的说更具体的说: 微操作信号序列形成部件采用什么样的硬件微操作信号序列形成部件采用什么样的硬件 构成构成, 能够根据指令译码器的输出、时序控能够根据指令译码器的输出、时序控 制信号、以及状态信号等产生微操作信号制信号、以及状态信号等产生微操作信号 微操作信号形成微操作信号形成(产生产生)的方式不同的方式不同, 导致了控

37、制导致了控制 器设计方法的不同器设计方法的不同, 由此引出控制器的分类。由此引出控制器的分类。 1、组合逻辑控制器、组合逻辑控制器 即按照组合逻辑设计方式产生的控制器。即按照组合逻辑设计方式产生的控制器。 该方法的简单描述该方法的简单描述: 将将一个操作一个操作所需要的所有条件所需要的所有条件(如什么指令、如什么指令、 什么时间、在什么机器状态下等什么时间、在什么机器状态下等)写成逻辑表写成逻辑表 达式的形式达式的形式, 加以简化后用逻辑电路实现。加以简化后用逻辑电路实现。 比如要完成某一操作比如要完成某一操作OP, 需要发出一个微操作需要发出一个微操作 信号信号Micro_op, 其条件有其

38、条件有A、B、C、D、E。要。要 求条件求条件A和和B同时成立并且条件同时成立并且条件C、D、E至少至少 有一个成立有一个成立, 则可以有逻辑表达式则可以有逻辑表达式: Micro_op = AB(C+D+E) 将计算机要完成的所有操作所需要的微操作信将计算机要完成的所有操作所需要的微操作信 号都以逻辑表达式的形式表达出来号都以逻辑表达式的形式表达出来, 简化后用逻简化后用逻 辑电路予以实现。当要执行某项操作辑电路予以实现。当要执行某项操作, 则其条件则其条件 成立成立, 逻辑电路发出相应的微操作信号完成该项逻辑电路发出相应的微操作信号完成该项 功能。功能。 逻辑电路实现逻辑电路实现: A B

39、 C D E Micro_op 该逻辑电路即为微操作信号发生器该逻辑电路即为微操作信号发生器, 由此产生由此产生 的控制器即为的控制器即为组合逻辑控制器组合逻辑控制器。 例例: 组合逻辑控制例组合逻辑控制例 (仅说明原理仅说明原理) (1) 执行指令执行指令: ADD R1, R2 以图以图3.3 (P80/P76集成寄存器集成寄存器 CPU数据通路数据通路)为硬件模型为硬件模型 (此处省去移位器此处省去移位器) +R0CLK +R0EN +Lat1 ALU 暂存器暂存器2暂存器暂存器1 R0 Rn+Lat2 完成完成: R1+R2 R1 +RnEN +RnCLK 将指令执行分为三个阶段:将指

40、令执行分为三个阶段: +R1EN +Lat1 +R2EN +Lat2 根据根据 取指取指(FET) 译码译码(DE) 执行执行(EXE) 在执行阶段所需微操作信号在执行阶段所需微操作信号: +R1CLK ; R1内容输出到内部总线内容输出到内部总线 ; 暂存器暂存器1的打入脉冲的打入脉冲 ; R2内容输出到内部总线内容输出到内部总线 ; 暂存器暂存器2的打入脉冲的打入脉冲 ; 相加结果打入相加结果打入R1 结合时序结合时序 取指取指(FET)执行执行(EXE)译码译码(DE) FETDEEXE 一个节拍一个节拍 T1 T2T4T3 EXE阶段阶段 时间长度时间长度 . 操作的时机操作的时机 +

41、R1EN = +ADDEXET1 +Lat1 = +ADDEXET1 +R2EN = +ADDEXET2 +R1CLK = +ADDEXET4 (节拍节拍T3等待加法器等待加法器 完成加法操作完成加法操作) (T1表示在上升沿,表示在上升沿, T1表示在下降沿表示在下降沿) +Lat2 = +ADDEXET2 (2) 执行指令执行指令: MOV R1, (R2) ; 在该指令的执行周期在该指令的执行周期EXE, T4时刻时刻: +R1CLK = +MOVEXET4 所以所以: +R1CLK = (+ADDEXET4) + (+MOVEXET4) + (.) + (.) . +R1EN = (+

42、ADDEXET1 ) + (.) . 同理同理: +Lat2 = (+ADDEXET2) + (.) . . (R2)R1即即 组合逻辑控制器组合逻辑控制器 结论结论: 一条指令是由若干步骤来完成的一条指令是由若干步骤来完成的, 拟定每一步拟定每一步 骤所需要的微操作信号骤所需要的微操作信号(不能再分解的操作称不能再分解的操作称 为微操作为微操作), 写出每一微操作信号逻辑表达式。写出每一微操作信号逻辑表达式。 对所有指令进行上述的分解对所有指令进行上述的分解, 形成逻辑表达式形成逻辑表达式, 然后将所有相同的微操作信号的逻辑表达式然后将所有相同的微操作信号的逻辑表达式 进行合并进行合并, 并

43、简化逻辑表达式并简化逻辑表达式, 再用逻辑电路再用逻辑电路 予以实现。予以实现。 送送存储器存储器 微命令序列微命令序列 I/O状态状态 控制台信息控制台信息 运行状态运行状态 PSW 时序时序 系统系统 IR 地址形成地址形成 操作码操作码 D 寻址方式寻址方式 来自来自存贮器存贮器 送送存储器存储器 或或ALU 微命令微命令 发生器发生器 PC 译译 码码 器器 将前述的控制器组成细化为将前述的控制器组成细化为: 组合逻辑控制器的特点组合逻辑控制器的特点: l l 指令执行过程有硬件逻辑完成指令执行过程有硬件逻辑完成, 速度快速度快; l l 硬件复杂硬件复杂, 不易修改、扩展和升级。不易

44、修改、扩展和升级。 2、微程序控制器、微程序控制器 l l 微程序控制的基本思想微程序控制的基本思想 从物理的观点从物理的观点: 微操作信号微操作信号各种电信号各种电信号 即在规定时间产生的电平和脉冲即在规定时间产生的电平和脉冲 组合逻辑设计组合逻辑设计: 按数字逻辑的方法产生所需要的电信号按数字逻辑的方法产生所需要的电信号 编码的观点编码的观点: 将不同周期或节拍的微操作进行编码将不同周期或节拍的微操作进行编码, 使不同微使不同微 操作对应一个编码值操作对应一个编码值, 并存入存储器并存入存储器(ROM)。读。读 出编码并译码出编码并译码, 同样可产生电信号。同样可产生电信号。 微程序设计的

45、基本原理微程序设计的基本原理: l l 与组合逻辑控制器设计相同与组合逻辑控制器设计相同, 将指令分解成将指令分解成 若干的若干的微操作微操作, 完成该操作所需信号即称为微完成该操作所需信号即称为微 命令信号命令信号(简称简称微命令微命令); l l 将所有将所有微命令微命令进行编码进行编码, 并存入并存入ROM(称为微称为微 程序程序ROM); l l 当要完成某一操作当要完成某一操作, 从从ROM中读出对应的中读出对应的微微 命令编码命令编码, 并对该编码进行并对该编码进行译码译码, 译码输出信译码输出信 号即为完成该操作的微操作信号。号即为完成该操作的微操作信号。 1. 将将若干微命令若

46、干微命令编制成编制成一条微指令一条微指令, 控制实现控制实现 一步操作一步操作; 2. 若干微指令若干微指令组成一段组成一段微程序微程序, 解释执行一条解释执行一条 机器指令机器指令; 3. 微程序事先存放在控制存储器中微程序事先存放在控制存储器中, 执行机器执行机器 指令时再取出。指令时再取出。 微程序设计一般步骤微程序设计一般步骤: 微程序控制器的组成框图如下所示微程序控制器的组成框图如下所示: 微地址微地址 形成电路形成电路 IR PSW PC 微地址寄存器微地址寄存器 AR 控制存储器控制存储器 CM 译码器译码器 微命令序列微命令序列 微命令字段微命令字段 微地址字段微地址字段 IR

47、 微程序控制器的特点微程序控制器的特点: l l 引入了程序技术引入了程序技术, 使设计规整使设计规整 l l 引入了存储逻辑引入了存储逻辑, 使功能易于扩展使功能易于扩展 3.1.4 CPU与外设的信息交换与外设的信息交换 1、主机和外设的连接方式、主机和外设的连接方式 (1) 辐射式辐射式 主机主机 I/OI/OI/O 早期早期: 不易扩展不易扩展 线路复杂线路复杂 主机主机 接口接口 接口接口 I/OI/OI/O 现在现在: 便于扩展便于扩展 (2) 总线式总线式 特点特点: 便于扩展便于扩展 主机主机 接口接口 接口接口 I/O I/O 总线总线 (3) 通道式通道式 I/O 主机主机

48、 通道通道 通道通道 I/O I/O I/O 特点特点: 并行能力提高并行能力提高 有专门的通道程有专门的通道程 序管理序管理I/O操作,操作, 不需要不需要CPU的干的干 预。预。 2、信息传送控制方式、信息传送控制方式 即如何控制即如何控制CPU与外部设备之间的数据传送。与外部设备之间的数据传送。 传送控制方式问题的提出传送控制方式问题的提出: l l CPU与速度不同的外设之间的时间配合与速度不同的外设之间的时间配合 l l 外设如何启动外设如何启动(通知通知)CPU执行执行I/O指令指令 l l 外设的工作是否可以与外设的工作是否可以与CPU并行并行 l l I/O操作由硬件完成还是软

49、件完成操作由硬件完成还是软件完成 (1) 直接程序传送方式直接程序传送方式(程序查询方式程序查询方式) 用用I/O指令编程实现信息传送。指令编程实现信息传送。 外设状态外设状态 空闲空闲 启动启动 完成一次工作完成一次工作 调用完调用完 再请求再请求 0001 10 工作工作 结束结束 l l 在接口中设置状态字表示这些状态在接口中设置状态字表示这些状态; l l 空闲空闲: 调用前调用前, 设备不工作设备不工作; l l 结束结束: 调用后调用后, 设备完成工作。设备完成工作。 查询流程查询流程 启动外设启动外设 外设工作完成?外设工作完成? N Y 输入输入/出操作出操作 用输出指令用输出

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

51、入假设输入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 ; 地址加地址加1 DEC BL ; 计数值减计数值减1 AGAIN:OUT 01, AL ; 准备好信号复位准备好信号复位 J

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

53、动 工作工作 程序程序 请求请求 中断程序中断程序 交换数据交换数据 程序程序 中断定义中断定义 中断流程中断流程 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

提交评论