630 likes | 727 Views
第四章 控制器部件. 计算机技术教研室 王怀秀. 教学内容安排. 控制器部件的功能和组成 指令周期 微程序控制器的原理及组成 微程序设计技术 TEC-2000 16 位机微程序控制器的组成与设计 组合逻辑控制器部件 提高指令执行速度的可行途径. 第四章 控制器部件. 教学目的: 掌握控制器的分类、微程序控制器的具体组成与运行原理,微程序控制器和硬布线控制器的主要差异。 教学要求: 重点掌握控制器的分类、微程序控制器的具体组成与运行原理,微程序控制器和硬布线控制器的主要差异。理解硬布线控制器的组成原理和微程序流的控制。. 第四章 控制器部件.
E N D
第四章 控制器部件 计算机技术教研室 王怀秀
教学内容安排 • 控制器部件的功能和组成 • 指令周期 • 微程序控制器的原理及组成 • 微程序设计技术 • TEC-2000 16位机微程序控制器的组成与设计 • 组合逻辑控制器部件 • 提高指令执行速度的可行途径
第四章 控制器部件 • 教学目的:掌握控制器的分类、微程序控制器的具体组成与运行原理,微程序控制器和硬布线控制器的主要差异。 • 教学要求: • 重点掌握控制器的分类、微程序控制器的具体组成与运行原理,微程序控制器和硬布线控制器的主要差异。理解硬布线控制器的组成原理和微程序流的控制。
第四章 控制器部件 4.1 控制器部件的功能和组成 一.控制器的功能 控制器的主要作用就是向整机的各个部件提供协同运行所需要的控制信号。其功能包括: • 指令控制:保证机器按程序规定的顺序执行。 • 操作控制:管理并产生从内存取出的每条指令的操作信号, 把各种操作信号送往相应的部件。 • 时间控制:对各种操作进行定时,包括一条指令的执行时间、指令的操作信号的时间控制。
二、控制器的组成 • 程序计数器(Programming Counter ,PC):用来存放正在执行的指令的地址或接着将要执行的下一条指令的地址。 • 指令寄存器(Instruction Register,IR):保存当前正在执行的一条指令。 • 指令译码器(Instruction Decoder,ID)对指令的操作码部分进行分析,识别指令所要求的操作。 • 时序发生器:用于产生计算机系统所需的各种时序信号,以保证计算机有条不紊的工作。 脉冲源:用于产生一定频率的脉冲信号作为整机的时钟脉冲。 启停线路:用于控制时序信号的发生或停止。 • 操作控制信号产生部件:根据指令的内容、指令的执行步骤,形成各部件本时刻所需的控制信号。 • 数据缓冲寄存器(DR):暂时存放从内存读出或写入内存的一条指令或一个数据。 • 地址寄存器(AR):保存当前CPU所访问的内存单元的地址。
CPU中的主要寄存器 各种计算机的CPU可能有这样或那样的不同,但是在CPU中至少要有6类寄存器: ①指令寄存器(IR) ②程序计数器(PC) ③地址寄存器(AR) ④数据缓冲寄存器(DR) ⑤通用寄存器(R0、R1……) ⑥状态字寄存器(PSW):用来储存程序执行过程中的各种条件和状态信息。它描述了CPU当前的状态。
三.控制器的分类 根据时序产生器和操作控制信号产生器的具体组成与运行原理的不同,分为微程序控制器和硬布线控制器。 微程序控制器:操作控制信号是通过存储逻辑来实现。 硬布线控制器:操作控制信号是通过时序逻辑来实现(组合逻辑电路来实现)。
四.指令的执行过程 冯. 诺依曼结构的计算机 即存储程序的计算机,设置内存,存放程序和数据,在程序运行之前存入。 执行程序:正确从程序首地址开始; 正确分步执行每一条指令; 形成下条待执行指令的地址; 正确并自动地连续执行指令; 直到程序的最后一条指令。
形成下一条指令地址 每条指令的执行步骤 —读取指令 指令地址送入主存地址寄存器 读主存,读出内容送入指定的寄存器 —分析指令 —按指令规定内容执行指令 不同指令的操作步骤数, 和具体操作内容差异很大, —检查有无中断请求 若有,则响应中断并转中断处理 若无,则转入下一条指令的执行过程 公共操作 是一次读 内存操作 R_R类型指令 读写内存类型指令 输入输出类型指令 其他类型指令 可能执行 一次或多次 是每一条指令的特定操作 公共操作
若干时钟周期 CPU周期 指令周期 4.2 指令周期 一.指令周期的基本概念 1.指令周期:取出并执行一条指令所用的时间。 2.CPU周期(机器周期):执行一步操作所需的时间,通常用从内存中读出一个指令字的最短时间作为CPU周期。 3.时钟周期:节拍脉冲或T周期,处理一个基本操作所需的时间,是处理操作的最基本单位。
T周期 T1 T2 T3 T4 T1 T2 T3 T4 CPU周期 CPU周期 指令周期 一.指令周期的基本概念 4.取指周期:从存储器中取出一条指令所用的时间。 5.执行周期:执行一条指令所需的时间。 6.指令执行步骤:不同的指令根据其执行的复杂程度的不同所需的时间也不同,因而可分为不同的操作步骤来完成,即指令周期不同。如果用从内存中取出一个指令字的最短时间作为CPU周期,则一条指令的指令周期最短为2个CPU周期。
例 4.1 • 某CPU主频为8MHz,设每个CPU周期平均包括4个节拍周期(主频周期),且该机平均指令执行速度为1MIPS。 • (1)求该机平均指令周期; • (2)求每个指令周期包含的平均CPU周期; • (3)若改用主频周期为0.01S的CPU芯片,试计算平均指令执行速度?
解:要解这道题,首先应知道指令执行速度与指令周期的关系,同时应知道指令周期的概念解:要解这道题,首先应知道指令执行速度与指令周期的关系,同时应知道指令周期的概念 • 平均指令周期=1/平均指令执行速度 • =1/(1×106)S=1 S • 节拍周期=1/主频=1/(8×106)S=0.125 S • 所以1个CPU周期=4×0.125 S=0.5 S • 由此可计算每个指令周期包括的CPU周期数: • 1/0.5=2个 • 改用主频后的指令周期为: • 2×4×0.01 S=0.08 S • 所以平均执行速度=1/0.08 S=12.5MIPS
练习与作业 练习:P181 1 作业: 若某机主频为200MHZ,每个指令周期平均为2.5CPU周期,每个CPU周期平均包括2个主频周期,问: (1)该机平均指令执行速度为多少MIPS? (2)若主频不变,但每条指令平均包括5个CPU周期,每个CPU周期又包括4个主频周期,求平均指令执行速度?
二.典型指令的执行过程举例 2000 0001 ADD r0, r1 ; 加法指令 2001 0790 MOV r9, r0 ; 传送指令 2002 E709 STRA [2007] , r9 ; 写内存指令, 这是一条双 字指令, 第二个字中的 2007 是直接地址 2004 1280 IN 80 ;读串行口数据到R0低8位 2005 44FA JR C,800 ;C为1转移到800,否则顺序执行 2006 8F00 RET ; 子程序返回指令 其他一些指令与这里的几条指令有相当多的共同特性,属于 同一组的指令的执行步骤非常类似。
运算器 控制器 主振 脉冲 C Z V S 节拍发生器 ALU 控制信号产生部件 程序计数器 3041 2000 操作数 地址 1234 乘商寄存器 6688 PC 寄存器组 指令寄存器 R9 AR 操作码 IR . 地址寄存器 用于运算器 数据总线 控制总线 地址总线 2000 0001 0790 E709 接口 2007 1280 输入设备 输出设备 44FA 8F00 2007 78BD 主存储器
形成下条指令地址 指令执行步骤简单的文字描述加法指令 ADD R0, R1 读取指令 ①AR PC ②读主存,IR 读出内容 PC PC + 1 执行指令 ③ALU R0 ALU R1 执行 + R0 ALU,记忆结果特征 结束,判中断
运算器 控制器 主振 脉冲 4275 C Z V S 节拍发生器 ALU + 控制信号产生部件 程序 计数器 3041 4275 2001 2000 操作数 地址 1234 乘商寄存器 6688 PC 寄存器组 指令寄存器 0001 R9 AR 操作码 IR . 地址寄存器 2000 用于运算器 数据总线 控制总线 地址总线 ADD R0,R1 2000 0001 AR PC 0790 PC PC+1 E709 接口 2007 读内存,IR读出内容 1280 输入/出设备 44FA R0 R0 + R1 8F00 2007 78BD 主存储器
形成下条指令地址 寄存器内容传送指令MOV R9, R0 读取指令 ①AR PC ②读主存,IR 读出内容 PC PC + 1 执行指令 ③ALU 0 ALU R0 执行 + R9 ALU 结束,判中断
运算器 控制器 4275 主振 脉冲 C Z V S 节拍发生器 + ALU 控制信号产生部件 0 程序 计数器 4275 2002 2001 操作数 地址 1234 乘商寄存器 6688 PC 寄存器组 指令寄存器 0790 R9 4275 AR 操作码 IR . 地址寄存器 2001 用于运算器 数据总线 控制总线 地址总线 MOV R9, R0 2000 AR PC 0001 0790 PC PC+1 E709 接口 2007 读内存,IR 读出内容 1280 输入/出设备 R9 R0 + 0 44FA 8F00 2007 78BD 主存储器
形成下条指令地址 写寄存器内容到主存MOV [2007] , R9 读取指令 ①AR PC ②读主存,IR 读出内容 PC PC + 1 执行指令 ③AR PC , PC PC+ 1 ④读主存,AR 读出内容 ⑤ 写主存, 总线 ALU , ALU 0 , ALU R9 ,+ 结束,判中断 (地址 2007 存在指令的第二个字中) (注)
运算器 控制器 主振 脉冲 4275 C Z V S 节拍发生器 ALU + 控制信号产生部件 0 程序计数器 3041 802 操作数 地址 2004 2003 1234 乘商寄存器 6688 PC 寄存器组 指令寄存器 E709 R9 4275 AR 操作码 IR . 地址寄存器 2007 2003 用于运算器 数据总线 控制总线 地址总线 MOV [2007], R9 2000 0 401 0001 ARPC, PC PC+1 0790 读内存,IR读出内容 E709 接口 ARPC,PC PC+1 2007 1280 输入设备 读内存,AR读出内容 44FA 8F00 写内存,数据总线R9+0 2007 78BD 4275 主存储器
形成下条指令地址 形成下条指令地址 输入指令 IN 80 读取指令 ①AR PC ②读主存,IR 读出内容 PC PC + 1 执行指令 ③AR I/O Port ④ 读外设,ALU 读出数据 ALU 0 执行 + R0 ALU 结束,判中断
运算器 控制器 主振 脉冲 C Z V S 节拍发生器 ALU 控制信号产生部件 程序 计数器 3041 A 2004 操作数 地址 2005 1234 乘商寄存器 6688 PC 寄存器组 指令寄存器 1280 R9 AR 操作码 IR . 2004 地址寄存器 80 用于运算器 数据总线 控制总线 地址总线 IN 80 2000 0001 ARPC 0790 PC PC+1 E709 接口 读内存,IR读出内容 2007 1280 ARI/O port 输入/出设备 44FA 读设备,R0读出内容 8F00 2007 4275 主存储器
形成下条指令地址 相对转移指令 JRC, 800 读取指令 ①AR PC(注) ②读主存,IR 读出内容 PC PC + 1 执行指令 ③ 若 c = 1 则: ALU IP(PC) ALU offset(IR低字节) 二者相加,结果送PC 否则,顺序执行 结束,判中断
运算器 控制器 主振 脉冲 C Z V S 节拍发生器 ALU 控制信号产生部件 程 序计数器 A 2005 操作数 地址 2006 2006 800 1234 乘商寄存器 6688 2005 PC 寄存器组 指令寄存器 44FA R9 AR 操作码 IR . 2005 地址寄存器 用于运算器 数据总线 控制总线 地址总线 JR C, 800 2000 0001 IP,ARPC 0790 PC PC+1 E709 接口 读内存,IR 读出内容 2007 1280 若C=1, 则 PCIP+offset 输入/出设备 44FA 否则 顺序执行 8F00 2007 4275 主存储器
形成下条指令地址 子程序返回指令 RET 读取指令 ①AR PC ②读主存,IR 读出内容 PC PC + 1 • 执行指令 ③SP AR SP+1 SP ④ 读主存, PC读出内容 结束,判中断
运算器 控制器 主振 脉冲 C Z V S 节拍发生器 ALU 控制信号产生部件 程序 计数器 A 2006 操作数 地址 2007 A00 1234 乘商寄存器 6688 FF0 PC FF1 寄存器组 指令寄存器 8F00 R9 AR 操作码 IR . FF0 地址寄存器 2006 用于运算器 数据总线 控制总线 地址总线 RET 2000 0001 IP,ARPC 0790 PC PC+1 E709 接口 读内存,IR 读出内容 2007 1280 ARSP SP SP+1 输入/出设备 44FA 读内存,PCMEM 8F00 2007 堆栈FF0单元存A00 4275
例4.2 已知双总线结构机器的数据通路,画出以下指令的指令周期流程图,假设指令的地址已放入PC中,并列出相应的微操作控制信号序列。 (1) ADD R2,R0 ;(R2)+(R0)R0 (2) SUB R1, R3 ;(R3)-(R1)R3
练习与作业 • P181 2 3
4.3 时序产生器和控制方式 • 时序产生器作用和体制 • 时序信号产生器 • 控制方式
4.3.1 时序产生器作用和体制 一、作用 • 计算机所以能够准确、迅速、有条不紊地工作,正是因为在CPU中有一个时序信号产生器 • 用二进制码表示的指令和数据都放在内存里,那么CPU是怎样识别出它们是数据还是指令呢? • 从时间上来说,取指令事件发生在指令周期的第一个CPU周期中,即发生在“取指令”阶段,而取数据事件发生在“执行指令”阶段。 • 在一个CPU周期中,又把时间为分若干个小段,以便规定在这一小段时间中CPU干什么,在那一小段时间中CPU又干什么,这种时间约束对CPU来说是非常必要的,否则就可能造成丢失信息或导致错误的结果。 • 时间进度既不能来得太早,也不能来得太晚。 • 时间控制对计算机来说是太重要了。
4.3.1 时序产生器作用和体制 二、体制 • 组成计算机硬件的器件特性决定了时序信号的基本体制是电位—脉冲制(以触发器为例) • D为电位输入端,CP(Clock Pulse)为脉冲输入端 • R,S为电位输入端 • 特性方程如下 • D=0时,CP上升沿到来时,D触发器状态置0 • D=1时,CP上升沿到来时,D触发器状态置1
4.3.1 时序产生器作用和体制 二、体制 • 硬布线控制器,采用主状态周期—节拍电位—节拍脉冲三级体制; • 时序信号产生电路复杂 • 微程序控制器,节拍电位—节拍脉冲二级体制 • 利用微程序顺序执行来实现微操作 • 时序信号产生电路简单
时序信号产生器 一、功能 • 产生时序信号 • 各型计算机产生时序电路不相同 • 大、中型计算机的时序电路复杂,微型计算机的时序电路简单 二、构成 • 时钟源 • 环形脉冲发生器 • 节拍脉冲和读写时序译码逻辑 • 启停控制逻辑
4.3.3 控制方式 • 控制不同操作序列时序信号的方法,称为控制器的控制方式。 • 常用的有三种方式,其实质反映了时序信号的定时方式: 1.同步控制方式 2.异步控制方式 3.联合控制方式
4.3.3 控制方式 • 同步控制方式(指令的机器周期和时钟周期数不变) • 根据不同情况,同步控制方式可选取如下方案: 1.完全统一的机器周期执行各种不同的指令 2.采用不定长机器周期 3.中央控制于局部控制的结合 • 异步控制方式:每条指令需要多长时间就占多长时间 • 联合控制方式:大部分指令在固定的周期内完成,少数难以确定的操作采用异步方式 • 机器周期的节拍脉冲固定,但是各指令的机器周期数不固定(微程序控制器采用)
4.4 微程序控制器的原理及组成 微程序控制器的基本思想:仿照通常解题程序的方法,把操作控制信号编成所谓的“微指令”,存放在只读存储器中。当机器运行时,一条一条地读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作。 微程序设计技术是利用软件方法来设计硬件的一种技术,同硬布线控制器相比较,具有规整性、灵活性、易于修改和扩充等一系列优点,因而在计算机设计中得到了广泛应用。
一、 微程序控制的基本概念 1. 微命令和微操作 • 控制部件:控制器本身。 • 执行部件:运算器、存储器、外围设备。 • 微命令:控制部件通过控制线向执行部件发出各种控制命令,通常把这种控制命令叫做微命令,它是构成控制序列的最小单位。 • 微操作:执行部件接收微命令后所进行的操作,是计算机中最基本的操作。 • 微操作的分类:由于数据通路的结构关系,微操作可分为相容性和相斥性两种。
一、 微程序控制的基本概念 • 反馈信息:执行部件通过反馈线向控制部件反映操作情况的信息,以便控制部件根据执行部件的“状态”来下达新的微命令,也称“状态测试”。 2.微指令和微程序 • 微指令:在同一个CPU周期中,一组实现一定操作功能的微命令的集合,构成一条微指令。 • 微程序:由微指令组成的序列称为微程序。一条机器指令的功能是由许多微指令组成的序列来实现的。 • 微指令周期:执行一条微指令和取出一条微指令所需的时间。通常一个微指令周期与一个CPU周期的时间相同。
3.相容性微操作和相斥性微操作 相容性微操作:可同时或在同一个微指令周期内并行执行的微操作。 相斥性微操作:不能在同时或同一个微指令周期内并行执行的微操作。 简单运算器数据通路图
PCABUS LDAR’ RD PC+1 PC+1 二、实现微程序控制的基本原理 微指令基本格式实例
操作控制字段 顺序控制字段 操作控制字段:又称微操作码字段,用以产生某一步操作所需的各个微操作控制信号。若该位为“1”,则表示有控制信号,若该位为“0”,则没有控制信号。只有对W/R和M/IO分别表示是读/写或访问存储器/外设。 微指令的格式 顺序控制字段,又称微地址码字段(微下址字段),用以控制产生下一条要执行的微指令地址。用于决定下一条微指令的地址。