截图
简介
这是哈工大计算机组成原理ppt,包括了CPU的功能和组成,控制器控制原理,指令周期(★★★),时序产生器和控制方式,硬布线控制器,微程序控制器(★★★),流水线处理器等内容,欢迎点击下载。
哈工大计算机组成原理ppt是由红软PPT免费下载网推荐的一款课件PPT类型的PowerPoint.
第5章 中央处理器 本章主要内容 CPU的功能和组成 控制器控制原理 指令周期(★★★) 时序产生器和控制方式 硬布线控制器 微程序控制器(★★★) 流水线处理器 5.1 CPU的功能和组成 CPU的功能 CPU的组成 CPU中的主要寄存器 操作控制器 时序产生器 CPU的基本功能 取出指令并执行指令的部件——CPU CPU( Central Processing Unit) 数据加工:算术/逻辑运算;(ALU ) 指令控制:指令执行的顺序控制;(PC,JMP) 操作控制: 产生各种操作信号;(微操作信号 ) 时间控制: 控制操作信号的发生时间;(时序信号发生器 ) 包括控制器(CU)和运算器(ALU) CPU的组成 运算器 算术运算/逻辑运算 控制器:指挥计算机各部件按指令要求进行操作的部件 控制取出、解释和执行指令 从内存中取指,并提供下一条指令地址 对指令进行译码/测试,产生相应的操作控制信号 产生执行部件的运行所需要的控制信号 指挥并控制CPU,内存和I/O设备之间的数据传送 存储器与控制器之间的信息流动——指令流; 存储器与运算器之间的信息流动——数据流。 中断控制——对异常情况和外部请求的处理 CPU中的主要寄存器 PC—程序计数器:Program Counter AR—地址寄存器:Address Register DR—数据缓冲寄存器:Data Register IR—指令寄存器:Instruction Register AC—累加寄存器:Accumulate Count PSW —程序状态字:Program Status Word 控制器基本组成 PC (Program Counter)---程序计数器 IR (Instruction Register)---指令寄存器 ID (Instruction Decoder)---指令译码器 OC (Operate Controller)---操作控制器 TG (Timer Generator) ---时序发生器 指令译码器? 对指令进行分段(操作码、地址码)译码,指出指令的操作方式、寻址方式 为操作控制器提供输入信号 操作控制器? 根据指令操作码和地址码、时序信号,产生各种控制信号序列 ,建立正确的数据通路,从而完成取指令和执行指令的控制。 硬布线控制器 (时序逻辑型) (硬件实现) 微程序控制器 (存储程序型) (软件实现) 数据通路—执行部件间(寄存器)传送信息的通路。 时序产生器? 产生各种时序信号(电位,脉冲); 对各种操作实施时间上的控制。 主机基本组成 本章主要内容 CPU的功能和组成 控制器控制原理 指令周期(★★★) 时序产生器和控制方式 硬布线控制器 微程序控制器(★★★) 流水线处理器 5.2 指令周期(★★★) 指令周期基本概念 CLA指令周期 ADD指令周期 STA指令周期 NOP指令周期 JMP指令周期 指令周期基本概念 时钟周期:T,节拍脉冲 CPU 周期:机器周期,从内存读出一条指令的最短时间 指令周期:从内存取一条指令并执行该指令所用的时间。 由若干个CPU周期组成, 一个CPU周期又包含若干个时钟周期(节拍脉冲) 指令周期基本概念(★★★) 取指令周期 取操作数周期 (可无) 执行周期 典型指令 CLA指令周期 CLA执行过程的操作 PC→AR PC+1→PC AR →ABUS→RAM→DBUS→DR DR→IR 0→AC ADD指令周期 ADD执行过程的操作 PC→AR PC+1→PC AR →ABUS→RAM→DBUS→DR DR→IR IR(A)→AR→ABUS→RAM →DBUS→DR→ALU ALU→AC [DR+AC→AC] STA 指令周期 STA执行过程的操作 PC→AR PC+1→PC AR →ABUS→RAM→DBUS→DR DR→IR IR(A)→AR→ABUS AC→DR DR→DBUS→RAM NOP指令周期 JMP 21指令周期 JMP执行过程中的操作 PC→AR PC+1→PC AR →ABUS→RAM→DBUS→DR DR→IR IR(A)→PC Next command 方框图语言 方框图表示 例 (1)“ADD R2,R0”指令完成(R0)+(R2)→R0的功能操作,画出其指令周期流程图,并列出相应的微操作控制信号序列,假设该指令的地址已放入PC中。? (2)“SUB R1,R3”指令完成(R3)-(R1)→R3的操作,画出其指令期流程图,并列出相应的微操作控制信号序列。 公操作 一条指令执行完后,CPU所进行的一些操作。 对外设请求的处理(中断,通道) 若无外设请求的处理,CPU则转而取下条指令。 由于取指令是每条指令都有的,所以,取指令也是公操作。 其他指令 LAD R0,(80) ADD R0,(81) JO 75 STA(R1),R0 HALT 主机基本组成 取指控制信号 取指控制信号 取指控制信号 执行指令过程 执行指令过程 执行指令过程 执行指令过程 执行指令过程 双总线结构机器的数据通路 执行指令 单总线结构机器 单总线结构机器 控制方式 同步控制方式 已定的指令在执行时所需的机器周期数 和时钟周期数都是固定不变的。 异步控制方式: 每条指令或操作控制信号需要多少时间 就占用多少时间。 联合控制方式 本章主要内容 CPU的功能和组成 控制器控制原理 指令周期(★★★) 时序产生器和控制方式 硬布线控制器 微程序控制器(★★★) 流水线处理器 指令周期基本概念 时钟周期:T,节拍脉冲 CPU 周期:机器周期,从内存读出一条指令的最短时间 指令周期:从内存取出一条指令并执行该指令所用的时间。由若干个CPU周期组成。一个CPU周期又包含若干个时钟周期(节拍脉冲) 指令周期 指令周期是指取指令、分析指令到执行完该指令所需的全部时间。 指令周期不尽相同:各种指令的操作功能不同,有的简单,有的复杂。 机器周期 机器周期通常又称CPU周期,通常把一条指令划分为若干个机器周期,每个机器周期完成一个基本操作。 一般的CPU周期有:取指周期、取数周期、执行周期、中断周期等。所以有: 指令周期=i机器周期 一般情况下,一条指令所需的最短时间为两个机器周期:取指周期和执行周期。 节拍 一个机器周期内,要完成若干个微操作; 有的微操作可以同时执行,有的需要按先后次序串行执行; 把一个机器周期分为若干个相等的时间段,每一个时间段对应一个电位信号,称为节拍电位信号 节拍的宽度取决于CPU完成一次基本操作的时间,如:CPU完成一次正确的运算;寄存器间的一次传送等。 工作脉冲 在节拍中执行的有些操作需要同步定时脉冲 如:将稳定的运算结果打入寄存器,又如周期状态切换等 节拍内设置一个或几个工作脉冲,作为各种同步脉冲的来源; 工作脉冲的宽度只占节拍电位宽度的1/n,并处于节拍的末尾(只要能保证所有触发器都可靠、稳定地翻转就可以了) 多个脉冲的节拍常见于某些小型计算机中; 在只设置机器周期和时钟周期的微型机中,一般不再设置工作脉冲(因为时钟周期既可以作为电位信号,其前后沿又可以作为脉冲触发信号) 附:三级时序 CPU周期(机器周期) 将指令周期划分为若干个相对独立的操作阶段,称为CPU周期。 节拍电位 CPU 周期包括若干个完成微操作的节拍电位。 节拍脉冲 与节拍电位相配合完成数据加工与传送。 小型机的三级时序 时序发生器-1 时序信号的作用和体制 作用:为计算机各部分的协调工作提供时序标志。 体制:电位-脉冲制 电位-脉冲制 电位-脉冲制是时序信号最基本的体制。 当实现寄存器之间的数据传送时,数据必须以电位形式加在触发器的数据输入端,而数据输入的控制信号可选用脉冲。 数据必须先送到触发器的数据输入端,并且表示数据的电位一定要保持在控制脉冲的作用下被触发器记忆为止,这段时间较长,所以数据需要用电位表示。 而输入脉冲的时间宽度只需要保证数据从触发器的输入端稳定在输出端的时间。 时序发生器-2三级时序系统的组成 CPU周期信号发生器:产生CPU周期信号。 *通常,机器运行期间,任一个时刻仅处于一个CPU周期状态。 节拍周期信号发生器:产生节拍电位T1—T4。 *在定长CPU周期中,每个CPU周期含有相同的节拍电位数 节拍脉冲信号发生器:产生节拍脉冲信号P1—P4. *节拍电位和节拍脉冲时间关系固定。 下图中,每个节拍电位包含一个脉冲。 时序发生器-3 组成与原理 时钟源 为环形脉冲发生器提供频率稳定且电平匹配的方波时钟脉冲信号; 通常由石英晶体振荡器和与非门组成的正反馈振荡电路组成 假定此时时钟源输出50MHz(脉冲周期20ns)的时钟信号。 环形脉冲发生器 产生一组有序的间隔相等或不等的脉冲序列,通常采用循环移位寄存器形式。 由循环移位寄存器和译码器组成。 环形脉冲发生器与译码逻辑 电路说明 4个触发器输入输出串联构成循环移位电路 D触发器R/S端分别为Reset和Set C1 C2 C3 时钟信号为上跳沿 C4 时钟信号为下跳沿 循环移位寄存器工作过程: 总清信号CLR*使C4置1,打开与非门3。 Φ1上升边经与非门3反相将C1—C3清“0”。 Φ1*上升边使C4打入0,关闭与非门3。 Φ2*的下降边即Φ2的上升边使C1—C3打入100。 同理Φ3—Φ4使C1—C3打入110和111。 当C3=1时,Φ4*使C4=1,Φ5又使C1—C3清0。 在Φ6时又重复Φ2开始的过程。 节拍脉冲和读/写时序的译码 假设一个CPU周期中包括4个等间隔的节拍信号T10—T40 节拍译码逻辑: T10= C1·C2, T20= C2·C3 T30= C3 , T40= C1 机器运行时,由T10—T40产生T1—T4。 节拍脉冲和读/写时序的译码 假设一个节拍含一个节拍脉冲 节拍脉冲译码逻辑: P1=T1·φ, P2=T2·φ, P3=T3·φ, P4=T4·φ, 时钟源频率50MHz,周期T=20ns,脉冲宽度为10ns。 启停控制逻辑 启停控制逻辑用来控制原始节拍脉冲T10~ T40的输出,产生CPU工作所需的节拍脉冲T1~ T4。 同理,对读/写时序逻辑也要加以控制。 对启停电路的要求 计算机的启动和停机是随机的,要求 计算机启动时,一定要从第一个节拍脉冲的前沿开始工作; 在停机时,一定要在第四个节拍脉冲后沿结束后关闭时序产生器; 要求第一个脉冲和最末一个脉冲是完整的脉冲。 启停控制逻辑 启停电路说明 运行标志触发器Cr Cr=0—封锁原始信号 Cr=1—使上述原始信号变为CPU所需的时序信号 总清信号CLR*使Cr=0 启动:启动信号为低电平时,在T40*的后沿把Cr打入1; 停机:停机信号为低电平时,在T40*的后沿把Cr打入0 。 时序图 控制器基本控制方式 控制方式:形成控制不同操作序列的时序信号的方法 三种基本控制方式: 同步控制方式 异步控制方式 联合控制方式 同步控制方式 每一步操作均由统一的时序信号来控制 特点:具有统一的时钟信号 对指令周期的控制: 定长指令周期 不定长指令周期、定长CPU周期 变长CPU周期、定长节拍电位 异步控制方式 按实际需要确定每条指令,每个操作所需要的时间,称为异步控制方式。 做法:由前一微操作执行完毕时产生的“结束”信号作为下一微操作的“起始”信号。 特点:时间利用率高,但控制结构复杂,用器件多。 联合控制方式 是同步和异步控制方式的结合。 将各种指令可公共起来的微操作安排在固定的周期、节拍中,对难以公共的微操作信号,则以执行部件的“回答”信号作为本次操作的结束,部分统一,部分区别对待。 本章主要内容 CPU的功能和组成 控制器控制原理 指令周期(★★★) 时序产生器和控制方式 硬布线控制器 微程序控制器(★★★) 流水线处理器 硬布线控制器Hardwired control -基本原理 由门电路和触发器构成的复杂树形网络,用以产生执行指令的一系列微操作信号; 组成器件:门电路,触发器 将控制器看成产生固定时序控制信号的逻辑电路 输入信号:指令系统,时序信号,反馈信号 输出信号:计算机所需要的所有的控制信号 设计目标:用最少的元件,取得最高速度。 理论基础:布尔代数。 硬布线控制器(组合逻辑控制器) 组合逻辑线路的输入信号 指令译码器的输出:Im 不同指令操作码和寻址方式决定应执行的微操作。 时序产生器输出的节拍电位/节拍脉冲 :Mi,Tk 使微操作信号按时序要求产生。 结果的反馈信息 :Bj 条件码(如N、V、C、Z等)影响指令,不同状态条件而产生不同的执行结果,即需不同的微操作信号。 组合逻辑线路的输出信号 微操作控制信号的函数表达式: C=ƒ(Im·Mi·Tk·Bj) 例:读主存信号C3 ------ (RD) 取指令在M1被激活 或LDA ADD AND M3 C3=M1+M3(LDA+ADD+AND) C3=T2M1+T1M3(LDA+ADD+AND) 硬布线控制器基本原理 微操作控制信号的函数表达式: 组合逻辑控制器的设计步骤 根据CPU的结构,画出所有指令操作流程图; 找出产生同一微操作控制信号的条件 编排指令操作时间表; 即把指令操作流程图中的微操作落实到不同的CPU周期和节拍中。 综合、化简微操作逻辑式,并画出逻辑控制电路 写出各微操作控制信号的布尔表达式; 化简各表达式; 利用电路或门阵列实现 硬布线控制器特点 组成的网络复杂; 无规则; 设计和调试困难; 不可改变指令系统和指令功能 适用于VLSI 速度快 本章主要内容 CPU的功能和组成 控制器控制原理 指令周期(★★★) 时序产生器和控制方式 硬布线控制器 微程序控制器(★★★) 流水线处理器 微程序控制器的基本原理 指令执行的阶段性:取指令,分析指令,执行指令等; 将所需微操作信号以二进制编码形式存入存储器; 按序依次读出执行,即可实现指令的功能。 基本概念—微命令和微操作 控制部件与执行部件 二者通过控制线,反馈线联系 微命令 控制部件(如CU)通过控制线向执行部件(如ALU、M、GRS等)发出的各种控制命令. 微操作 执行部件接受微命令后进行的操作。 基本概念—微命令和微操作 打开或者关闭控制门的控制信号为微命令 微命令是控制信号最小,最基本的单位 微命令带来的执行部件的动作称为微操作 互斥性微命令: 不能同时实现的微命令, 例如:+、-、M 相容性微命令 可能同时出现的微命令 基本概念—微指令和微程序 微指令——在一个CPU周期中,一组实现一定操作功能的微命令的组合。 微程序——由若干条微指令组成的、用以实现指令功能的程序 微指令的基本格式 操作控制字段用于产生微命令。 顺序控制字段用于确定下一条微指令地址。 微指令基本格式举例 微程序控制概念microprogramming control 一条指令的处理包含许多微操作序列 这些操作可以归结为信息传递、运算 将这些操作所需要的控制信号以多条微指令表示 执行一条微指令就给出一组微操作控制信号 执行一条指令也就是执行一段由多条微指令组成的微程序 微指令基本格式 微程序控制概念 将指令系统功能实现所需的控制信号以微指令为单位存储。微指令中的每一位对应一根控制信号线 每条指令对应一段微程序 微程序由若干条微指令构成 机器执行指令时逐条取出微指令执行,使得相应部件执行规定的操作,执行完微程序,也就给出了该指令所需要的全部控制信号,从而完成一条指令的执行。 微指令与微程序 微命令 1: LDR1 2: LDR2 3: LDR3 4: R1→X 5: R1→Y 6: R2→X 7: R2→Y 8: DR→X 9: R3→Y 微命令 10: + 11: - 12: M 13: RD 14: LDDR 15: LDIR 16: LDAR 17: PC+1 所有的微命令 1: LDR1 2: LDR2 3: LDR3 4: R1→X 5: R1→Y 6: R2→X 7: R2→Y 8: DR→X 9: R3→Y 微指令格式 微指令格式… 操作控制字段 操作控制字段直接给出多种微操作的控制信号 顺序控制字段 用于控制微程序的执行顺序 包括判断逻辑字段(P)和直接地址字段 直接地址字段存放下一条微指令的地址 判断逻辑非零,则按约定好的规则,根据状态修正直接地址字段,从而得到下一条微指令的地址 微指令基本格式 微指令周期 执行一条微指令和取出下一条微指令所用的时间,称为微周期。 微程序控制器组成原理框图 微程序控制器的框图说明… 控制储存器CM 存放实现机器指令系统功能的微程序,由高速ROM构成。 * ①CM的字长就是微指令字长; ②CM是控制器的一部分,位于CPU中 ; ③高速可靠,读出周期短 。 微指令寄存器MIR 寄存现行微指令。 地址转移逻辑 按要求修改形成下一条微指令的地址。 微地址寄存器μAR 寄存访问CM的微指令地址。 取指令微程序 取指令 取指令的微指令(简称取指微指令)地址送μAR,并自动启动控制存储器进行读操作,将读出的微指令送IR,执行微指令,读取指令到IR 执行指令微程序 执行指令: 根据IR中指令的功能,产生该指令微程序入口地址,微程序入口地址送入AR,读CS,读出的微指令送IR、(下址字段送AR), 控制字段的微命令控制完成一组微操作 同时由微地址产生逻辑或微指令下址字段形成下条微指令地址,按取微指令,执行微指令过程重复执行完微程序实现指令的功能 执行指令微程序… 采用微程序控制的计算机的工作过程是执行微指令序列的过程。 微指令控制了取指令操作, 多条微指令实现了指令的功能。 而微指令中的微命令使执行部件完成微操作,计算机的工作过程是执行程序的过程,微观看,是执行指令的过程,再微观一点看,是执行部件进行微操作的过程 微程序存放示意图 十进制加法(例) BCD码完成十进制加法 作加法时必须校验: 两数之和大于9,需加6调整;8+6=14 8+2=10 两数之和小于9,结果正确; 3+6=9 5+2=7 8+6+6=20 高位进位 8+2+6 =16>15 高位进位 3+6+6=15 <= 15 不产生进位 5+2+6=13 <= 15 不产生进位 第一条微指令 PC→AR→ABUS→DBUS→DR→IR PC+1 LDAR RD LDDR LDIR PC+1 第二条微指令 R1→X R2→Y X+Y X+Y→R2 R1→X R2→Y + LDR2 第三条微指令 R2→X R3→Y X+Y X+Y→R2 R2→X R3→Y + LDR2 第四条微指令 R2→X R3→Y X-Y X-Y→R2 R2→X R3→Y - LDR2 机器指令与微指令的关系 机器指令对应一个微程序,这个微程序由若干微指令组成,一个微指令又包含多个微操作 机器指令与内存储器有关,微指令与控制存储器有关 每一个CPU周期对应一条微指令 微指令设计 有利于缩短微指令字长度 有利于减少控制存储器容量 有利于提高微程序执行速度 有利于对微指令进行修改 有利于提高微程序设计的灵活性 微命令编码 直接表示法 编码表示法 混合表示法 直接表示方法 微指令中每一位代表一个微命令 简单直观,便于输出控制, 字长太长,控制存储器容量大 编码表示方法 字段直接译码法 字长短,控制存储器容量小,增加了译码电路 注意译码时,需要多保留一个状态 微地址形成方法 计数器法 PC 下地址字段法 微指令格式 水平型微指令(一次能并行多个微操作的指令) 水平型与垂直型微指令比较 水平型微指令并行操作能力强,效率高,灵活性强 水平型微指令执行一条指令的时间短 由水平型微指令指令的微程序,微指令字较长,微程序短,垂直型号字长短,微程序长。 水平型不便于用户掌握,垂直型与指令相似,易于掌握。 微程序控制器特点 设计规整,设计效率高 易于修改、扩展指令系统功能; 结构规整、简洁,可靠性高; 速度慢 访存频繁 执行效率不高 用于速度要求不高、功能较复杂的机器中。 特别适用于系列机 硬布线与微程序控制器比较 硬布线控制器执行速度快 微程序控制器每条微指令都需要从控制存储器中读取一次,大大影响了速度,硬布线控制取决于电路延迟。 硬布线控制器设计复杂,代价昂贵 微程序控制器设计简单,便于维护修改 本章主要内容 CPU的功能和组成 控制器控制原理 指令周期(★★★) 时序产生器和控制方式 硬布线控制器 微程序控制器(★★★) 流水线处理器 流水线原理 1.时间并行 把任务分成若干子任务,使子任务在流水线的各阶段并发地执行。--------时间上并行性。 2.空间并行 资源重复 多处理器系统和多计算机系统 3.时间并行+空间并行 时间重叠和资源重复的综合应用。 奔腾CPU采用超标量流水技术,可在一个机器周期同时执行两条指令。 指令周期细分 取指令 IF (Instruction Fetch) 指令译码 ID (Instruction Decode) 执行运算 EX (Execution) 结果写回 WB (Write Back) 串行执行过程 非流水线时空图 流水线时空图 超标量流水线时空图 流水线分类 1.指令流水线 取指---译码---取数---执行 2.算术流水线 加法器, 乘法器, 快速傅里叶变换器 STAR-100------4级 3.处理机流水线 由一串级连的处理机组成. 每台处理机负责某一特定任务. 流水计算机 系统组成 指令部件 指令队列 执行部件 流水线的相关冲突 资源相关 取操作数与取指令都需要访问主存, 数据相关 后一条指令的操作数依赖于前一条指令的执行结果 控制相关 转移指令使得流水线发生中断 延迟转移法 预测转移法 本章重点内容 CPU的功能(控制器的功能) 指令周期基本概念 五种基本指令的指令周期及其数据通路流程 时序产生器和控制方式基本原理 微程序控制器工作原理 微程序设计基本概念 硬布线控制器基本概念 流水线处理器基本原理以及相关概念 本章容易混淆的一些概念 微命令 微操作 公操作 微指令 微程序 机器指令 本章容易混淆的一些概念 微命令 控制部件通过控制线向执行部件发出的各种控制命令 微操作 执行部件接受微命令以后所进行的操作 公操作 一条指令执行完毕以后,CPU所进行的操作 本章容易混淆的一些概念 微指令 在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合,构成一条微指令 微程序: 一条指令均对应一段微程序,微程序固化在控制存储器中。 机器指令 本章容易混淆的一些概念 指令周期 CPU周期 机器周期 节拍电位, 周期电位, 工作脉冲, 节拍脉冲 本章容易混淆的一些概念 周期表示时间段,在逻辑电路中为了识别时间段,相关信号的电位表示时间段,如取指令周期电位。 CPU周期=机器周期,一cpu周期包括多个节拍。 节拍电位(表示节拍的电位信号), 状态周期电位(表示周期状态的电位信号), 工作脉冲=节拍脉冲 指令周期〉CPU/机器周期 〉节拍 时序图 Machine Structure 指令流? 指令流: 在取指令整个操作过程中涉及到的信息流动 ①取出指令:PC→BUS→AR,READ; DR→BUS→IR。 ②完成(PC)+1:PC→ALU+1→BUS→PC。 数据流? 在数据通路中流动的信息。 主要有三类: ①从内存读出数据,运算结果送回内存。 A→AR,READ,DR→BUS→ALU(加工处理)→内存 ②从寄存器读出数据,运算结果送回GRS或内存。 Ri→ALU→BUS→GRS或内存。 ③从内存读出的内容作为访内地址。 A→AR,READ,DR→BUS→AR。 微操作? 由控制器发出的控制各部件的最基本操作,是最简单的不可再分的操作。
展开