1 / 49

控制器的功能及组成概述 指令的执行流程 时序产生电路 组合逻辑 控制器的工作原理 微程序 控制器的工作原理 中断处理的基本概念

4.2 控制器. 控制器的功能及组成概述 指令的执行流程 时序产生电路 组合逻辑 控制器的工作原理 微程序 控制器的工作原理 中断处理的基本概念. 4.2.1 控制器的功能和组成概述. 一、控制器的功能 控制器是计算机系统的核心,它把运算器、存储器、输入输出设备等部件组成一个有机制整体,然后根据指令的要求指挥全机工作。. 现代计算机工作的本质是什么? 执行程序 , 完成程序功能。 什么是程序? 依次排列起来的指令代码。. 所以控制器的功能在于:. 对指令的控制 :计算机的工作过程是连续执行指令的过程, 控制器应能保证动态指令流的形成。

mio
Télécharger la présentation

控制器的功能及组成概述 指令的执行流程 时序产生电路 组合逻辑 控制器的工作原理 微程序 控制器的工作原理 中断处理的基本概念

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 4.2 控制器 • 控制器的功能及组成概述 • 指令的执行流程 • 时序产生电路 • 组合逻辑控制器的工作原理 • 微程序控制器的工作原理 • 中断处理的基本概念

  2. 4.2.1控制器的功能和组成概述 一、控制器的功能 控制器是计算机系统的核心,它把运算器、存储器、输入输出设备等部件组成一个有机制整体,然后根据指令的要求指挥全机工作。

  3. 现代计算机工作的本质是什么? 执行程序,完成程序功能。 什么是程序? 依次排列起来的指令代码。

  4. 所以控制器的功能在于: • 对指令的控制:计算机的工作过程是连续执行指令的过程,控制器应能保证动态指令流的形成。 • 对时序的控制:产生固定的时序信号,以保证全机各部件有节奏的工作。 • 对操作的控制:依据指令内容、指令的执行步骤,形成并提供当前各部件本时刻要用到的全部控制信号。

  5. 总线 PC IR PSW MAR … ID 时序控 ALU 制电路 MDR … … 主存 A 暂存器B 暂存器 控制信号产生部件 R0 … : 部分 发往全机各 ︰ R15 中断逻辑 计算机各主要部件连接框图

  6. 二、控制器的组成 1. PC:程序计数器(Programming Counter) 用来存放将要执行的指令的地址。其内容分两种情况: (1)顺序执行的情况: PC的值应自动修正,加一个增量。 PC+△→PC (2)转移执行的情况: 将转移的目标地址送 PC.

  7. 2. MAR:主存地址寄存器 从主存取指令或者取操作时都必须将相应的访存地址送到MAR中。 3. MDR:数据寄存器 暂存对主存读写的信息。 4. IR:指令寄存器(Instruction Register) 用来存放从存储器中取出的指令。

  8. 5. ID:指令译码器(Instruction Decoder) 对指令的操作码部分进行识别,区分不同的指令,为指令的执行作好准备。 6. CU: 控制信号产生部件 其功能是依据指令的内容、时序信号,以及状态信息,来形成并提供出当前各部件本时该要用到的全部控制信号。该部件是控制器的核心。 7. 时序部件 包括脉冲源、启停控制、节拍信号发生器。 主要是保证各部件按严格的时间顺序工作而提供各种定时信号。

  9. 8.中断系统 由软硬件构成的一个综合部件、主要用来处理系统中出现的一些不可预知的事件和一些特殊的请求。 如算术运算的溢出、数据传输的奇偶校验错、电压下降以及外设的输入输出请求。通常都是在执行一条指令进行一次判断。 CPU的组成呢?

  10. CPU组成

  11. 三、CPU的主要性能指标 1.字长:单位时间内同时处理的二进制数据的位数。8位、16位、32位以及64位。 2. 内部工作频率:表示CPU内数字脉冲信号震荡的速度,与CPU实际的运算能力并没有直接的关系。 时钟周期是CPU中最小的时间单位,每个动作至少需要一个时钟周期。 8086和8088:12个时钟周期; 80286和80386:4.5个时钟周期; 80486:2个时钟周期; Pentium:具有双指令流水线,每个时钟周期可执行1-2条指令; Pentium pro、PentiumⅡ/Ⅲ :每个时钟周期可执行3条或更多指令;

  12. 3.外部工作频率:它是主板为CPU提供的基准时钟频率。3.外部工作频率:它是主板为CPU提供的基准时钟频率。 内频=外频×倍频 4. 前端总线频率:它是CPU和外界交换数据的最主要通道,主要连接主存、显卡等数据吞吐率高的部件,因此前端数据总线的数据传输能力对计算机整体性能作用很大。内数字脉冲信号震荡的速度,与CPU实际的运算能力并没有直接的关系。 5.片内Cache的容量:它的容量和工作速度对提高计算机的速度起着关键的作用。L2 Cache是影响CPU性能的关键因素之一。

  13. 6.工作电压:主要是解决散热问题,目前CPU 的工作电压以低于1.2V。 7. 地址总线宽度:决定了CPU访问主存的最大物理空间。 8. 数据总线宽度:决定了CPU和外部Cache、主存以及输入输出设备之间一次数据传输的信息量。 9. 制造工艺:线宽是指芯片内电路与电路之间的距离,可以用线宽来描述制造工艺。线宽越小,意味着芯片上包括的晶体管数目越多。45nm和32nm的制造工艺是下一代CPU的发展目标。

  14. 4.2.2 指令执行过程 一、基本概念 计算机取指令、执行指令的周期序列。 取出下一条指令 开始 取出一条指令 执行该指令

  15. 形成下条指令地址 二、指令的执行过程 • —读取指令 • 指令地址送入主存地址寄存器 • 读主存,读出内容送入指令寄存器 • —分析指令操作码译码 • —按指令规定内容执行指令 • 不同指令的操作步骤数, • 和具体操作内容差异很大 • —检查有无中断请求 • 若有,则转中断处理 • 若无,则转入下一条指令的执行过程

  16. 以教学计算机举例说明程序执行: 典型指令的执行过程举例: 2000 0001 ADD R0, R1 2001 0790 MVRR R9, R0 2002 8800 MVRD R0, 2007 2007 8309 STRR [R0], R9 (写内存) 8280 IN 80 (读串行口) 2006 8F00 RET

  17. 运算器 控制器 主振 脉冲 4275 C Z V S 微程序定序器 ALU + 控制 存储器 PC 程序 计数器 3041 4275 2000 操作数 地址 映射 2001 1234 乘商寄存器 6688 寄存器组 0001 微指令寄存器 指令寄存器 R9 AR 操作码 IR . 地址寄存器 2000 下地址字段内容 用于运算器 数据总线 控制总线 地址总线 2000 ADD R0, R1 0001 0001 0790 AR PC 8800 接口 2007 PC  PC+1 8309 输入/出设备 读内存,IR读出内容 8280 8F00 2007 R0 R0 + R1 xxxx 主存储器

  18. 运算器 控制器 4275 主振 脉冲 C Z V S 微程序定序器 + ALU 控制 存储器 0 程序 计数器 4275 2001 操作数 地址 映射 2002 1234 乘商寄存器 6688 寄存器组 PC 0790 微指令寄存器 指令寄存器 R9 4275 AR 操作码 IR . 2001 地址寄存器 下地址字段内容 用于运算器 数据总线 控制总线 地址总线 2000 MVRR R9, R0 0001 0790 0790 AR PC 8800 接口 2007 PC  PC+1 8309 输入/出设备 读内存,IR 读出内容 8280 8F00 2007 R9  R0 + 0 xxxx 主存储器

  19. 运算器 控制器 主振 脉冲 2007 C Z V S 微程序定序器 ALU + 控制 存储器 0 程序计数器 4725 2007 802 操作数 地址 映射 2003 1234 2004 乘商寄存器 6688 PC 寄存器组 8800 微指令寄存器 指令寄存器 R9 4275 AR 操作码 IR . 地址寄存器 2002 2003 下地址字段内容 用于运算器 数据总线 控制总线 地址总线 MVRD R0, 2007 2000 0001 ARPC, PC  PC+1 0790 读内存,IR读出内容 8800 接口 2007 ARPC,PC  PC+1 8309 输入设备 8280 读内存,R0  D+0 8F00 2007 xxxx 主存储器

  20. 运算器 控制器 主振 脉冲 2007 4275 C Z V S 微程序定序器 ALU + 控制 存储器 0 程序计数器 2007 802 操作数 地址 映射 2005 1234 乘商寄存器 6688 PC 寄存器组 微指令寄存器 指令寄存器 8309 R9 4275 AR 操作码 IR . 地址寄存器 2007 2004 下地址字段内容 用于运算器 数据总线 控制总线 地址总线 STRR [R0], R9 2000 0 001 ARPC, PC  PC+1 0790 读内存,IR读出内容 8800 接口 2007 ARR0+0 8309 输入设备 8280 写内存,总线 R9+0 8F00 2007 xxxx 4275 主存储器

  21. 运算器 控制器 主振 脉冲 C Z V S 微程序定序器 ALU 控制 存储器 程序 计数器 2007 A 2006 操作数 地址 映射 1234 乘商寄存器 6688 PC 寄存器组 8280 微指令寄存器 指令寄存器 R9 AR 操作码 IR . 2005 80 地址寄存器 下地址字段内容 用于运算器 数据总线 控制总线 地址总线 IN 80 2000 0001 ARPC PC  PC+1 0790 8800 接口 读内存,IR读出内容 2007 8309 ARI/O port 输入/出设备 8280 读设备,R0读出内容 8F00 2007 4275 主存储器

  22. 4.2.3 时序系统 CPU之所以能够自动地识别指令和数据,又能自动地执行指令,是因为它能按程序中的指令序列取指,并对指令进行译码、执行。CPU取指令、执行指令的序列依此重复,直至遇到停机指令。 这种有条不紊地工作,对各种操作信号的产生时间、稳定时间、撤销时间及相互之间的关系都应有严格的要求。对操作信号施加时间上的控制,称为时序控制。只有严格的时序控制,才能保证各功能部件组合构成有机的计算机系统。

  23. 取指阶段 执行阶段 取指周期 执行周期 (取指、分析) (执行指令) 指令周期 一、 指令周期的基本概念 1 . 指令周期 取出并执行一条指令所需的全部时间 取指、分析 取指周期 完成一条指令 执行 执行周期

  24. 取指周期 指令周期 取指周期 执行周期 间址周期 指令周期 取指周期 执行周期 指令周期 中断周期 取指周期 执行周期 间址周期 指令周期 2. 每条指令的指令周期不同 NOP ADD X ADD @X

  25. 有间址吗? 是 否 有中断吗? 是 否 3. 指令周期流程 取指周期 间址周期 执行周期 中断周期

  26. FE IND EX INT D D D D CLK 1 FE 1 IND 1 EX 1 INT 4. CPU 工作周期的标志 通常,每个机器周期都有一个与之对应的周期状态触发器。机器运行在不同的机器周期,其对应的周期状态触发器被置“1”,显然,在机器运行的任何时刻只能建立一个周期状态,因此,有一个且仅有一个触发器被置“1” 。 取 指令 取指周期 取 地址 间址周期 CPU 的 4个工作周期 取 操作数 执行周期 存 程序断点 中断周期

  27. 5. 机器周期的基本概念 1) 机器周期的概念 所有指令执行过程中的一个基准时间 2) 确定机器周期需考虑的因素 每条指令的执行 步骤 每一步骤所需的 时间 3) 基准时间的确定 • 以完成 最复杂指令功能的时间 为准 • 以 访问一次存储器的时间 为基准 若指令字长 = 存储字长 取指周期 = 机器周期

  28. 6. 时钟周期(节拍、状态) • 一个机器周期内可完成若干个微操作 • 每个微操作需一定的时间 • 将一个机器周期分成若干个时间相等的时间段 (节拍、状态、时钟周期) • 时钟周期是控制计算机操作的最小单位时间 • 用时钟周期控制产生一个或几个微操作命令

  29. 指令周期:是指一条机器指令从取指到执行完毕所需要的全部时间。指令周期:是指一条机器指令从取指到执行完毕所需要的全部时间。 机器周期:通常把一个指令又划分成若干个机器周期,习惯上按 CPU 的一次访存操作的时间来定。 指令周期=i×机器周期。 时钟周期:每个机器周期要执行若干个微操作,所以把一个机器周期分成更小的时间段,这就是时钟周期。它是计算机操作的最小时间单位。一个机器周期需要若干时钟周期。

  30. CLK 二、脉冲源 产生具有一定频率和宽度的时钟脉冲信号,为整个机器提供时间基准信号。

  31. 脉冲源 T1 T2 T3 T4 节拍信号发生器 启停控制逻辑 三、启停控制逻辑 启停控制逻辑的作用是根据计算机的需要,可靠地开放或封锁脉冲,控制时序信号的发生或停止,实现对整个机器的正确启动或停止。 注意:启停控制逻辑保证启动时输出的第一个脉冲和停止时输出的最后一个脉冲都是完整的脉冲。

  32. 四、节拍信号 在一个机器周期内,要完成若干个微操作。这些微操作有的可以同时执行,有的需要按先后次序串行执行。因而应把一个机器周期分为若干个相等的时间段,每个时间段对应一个电位信号,称为节拍电位信号。 节拍的宽度取决于CPU完成一次微操作的时间,如ALU一次正确的运算,寄存器间的一次传送等。

  33. 时钟周期 T0 T1 T2 T3 T0 T1 T2 T3 机器周期 机器周期 CLK T0 T1 T2 T3

  34. T0 T1 T2 T3 T0 T1 T2 T3 T0 T1 T2 T3 机器周期 机器周期 机器周期 (取指令) (取有效地址) (执行指令) 指令周期 T0 T1 T2 T3 T0 T1 T2 机器周期 机器周期 (取指令) (执行指令) 指令周期 机器周期、节拍、时钟周期组成多级时序系统 一个指令周期包含若干个机器周期 一个机器周期包含若干个时钟周期 (1)统一节拍法(定长CPU周期 ) CLK (2) 不定长CPU周期

  35. 五、控制方式 1.同步控制方式 同步控制方式即固定时序控制方式,各项操作都由统一的时序信号控制,在每个机器周期中产生统一数目的节拍电位和工作脉冲。由于不同的指令,操作时间长短不一致,同步控制方式应以最复杂指令的操作时间作为统一的时间间隔标准。

  36. 2. 异步控制方式 无基准时钟信号,各设备之间的信息交换采取应答方式,如CPU要从设备中读数据,则CPU发读信号,然后等待;设备把数据准备好后,就向CPU发“准备好”信号,CPU将数据读入。由于这种控制方式没有统一的时钟,而是由各功能部件本身产生各自的时序信号自我控制,故又称为分散控制方式或局部控制方式。 也可以用异步和同步相结合的方式进行控制,将大部分操作安排在固定的机器周期,对某些难以确定的操作则以问答方式进行。

  37. 六、指令的操作流程   将指令的执行过程进一步分解成一系列的微操作步骤,称为操作流程。 将微操作控制信号合理地分配在各个机器周期的各个节拍中,便可构成各条机器指令的操作流程图。   有了操作流程图,就能非常清晰的了解一条指令在执行过程中,各操作步骤被安排在不同的时间内完成。

  38. 关于微操作序列,需要说明以下几点: • 微操作是不能再分的操作,每一个微操作对应一个控制信号。 • 微操作序列的顺序必须是恰当的,有严格的先后顺序。 • 不能引起数据通路上的信息发生冲突。

  39. C2 M D R M D R C3 C0 C4 … C1 M A R M A R … … 1. 不采用 CPU 内部总线的方式 以 ADD @ X 为例 取指周期 AC PC PC IR IR 控制 信号 ALU CU CU 标志 时钟 控制信号

  40. C2 M D R M D R M D R AC C3 C5 PC IR IR 控制 信号 ALU … C1 M A R M A R CU 标志 … … 时钟 控制信号 1. 不采用 CPU 内部总线的方式 ADD @ X 间址周期

  41. C2 M D R M D R M D R AC C5 PC IR C6 C8 C7 控制 信号 ALU … C1 M A R M A R CU 标志 … 控制 信号 … … 时钟 控制信号 1. 不采用 CPU 内部总线的方式 ADD @ X 执行周期 AC ALU

  42. 时钟 CU IRi IR 地址线 PCO MARi IR CU IR PC PC PC PCO CPU 内 部 总 线 MARi 地址线 • CU发读命令1 R MAR MDR MDR MAR • 数据线 数据线 MDR MDRO MDRO IRi AC Y ALU • (PC)+ 1 PC … Z 控制信号 2. 采用 CPU 内部总线方式 (1) ADD @ X 取指周期 • PC MAR MDR • MDR IR • OP(IR) CU 控制信号

  43. 控制信号 … 时钟 CU 形式地址 MAR IRi IR 地址线 PC IR MDRO MARi CPU 内 部 总 线 MARi • 1 R 地址线 MAR MDR MAR MDR MDR MDR MDRO MDRO MDRO MDRO MDRO AC MDRO IRi Y 有效地址Ad(IR) 控制信号 ALU … Z (2) ADD @ X 间址周期 • MDR MAR • MDR IR

  44. 控制信号 … 时钟 CU • MDR 地址线 MDRO MARi IR CPU 内 部 总 线 PC 地址线 MARi • 1 R MAR MDR MAR MDR MDR MDRO Yi 数据线 MDR MDRO MDRO MDRO MDRO MDRO MDRO MDRO ACi AC ACO ALUi AC AC AC ACO AC AC AC Y Yi Y ALU ALUi 控制信号 … Z ALU ALU ZO ACi ZO Z Z (3) ADD @ X 执行周期 MAR • MDR Y ALU • AC ALU • (AC)+(Y) Z • Z AC

  45. 设每个机器周期内包含4个节拍(T1~T4),读取指令的过程可描述为:设每个机器周期内包含4个节拍(T1~T4),读取指令的过程可描述为: T1节拍:PC→MAR T2节拍:READ M T3节拍:PC+1→PC T4节拍:MDR→IR、指令译码 这对于所有的指令都是一样的,因此称为公操作。

  46. 取数指令的操作流程如下: T1节拍:IR(ADR)→MAR T2节拍:READ M T3节拍:MDR→BUS T4节拍:BUS→AC 同样是取数指令,如果采用间接寻址方式,则至少需要两个执行周期,取操作数地址周期和取操作数周期。

  47. T1拍:IR →MAR T2拍:READ M T3拍:DBUS →MDR T4拍:MDR →MAR T1拍:READ M T2拍:DBUS →MDR T3拍:MDR →AC T4拍:WAIT CPU周期 1 CPU周期 2

  48. 不同指令的 流程 指令和数据都存放在主存,如何识别从主存储器中取出的是指令还是数据?

  49. 练习: 请分别写出汇编指令 INC R0 INC [R0] 的指令流程,并比较它们的区别。

More Related