《计算机组成原理》第3版PPT电子课件教案-第五章中央处理器.ppt_第1页
《计算机组成原理》第3版PPT电子课件教案-第五章中央处理器.ppt_第2页
《计算机组成原理》第3版PPT电子课件教案-第五章中央处理器.ppt_第3页
《计算机组成原理》第3版PPT电子课件教案-第五章中央处理器.ppt_第4页
《计算机组成原理》第3版PPT电子课件教案-第五章中央处理器.ppt_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

第五章 中央处理器 cpucpu(central processing unit)central processing unit) 中央处理器:计算机的核心部件。中央处理器:计算机的核心部件。 1 1)cpucpu 运算器运算器 第二章已讲第二章已讲 控制器控制器 1.1.cpucpu的功能的功能 1 1)指令控制)指令控制 2 2)操作控制)操作控制 3 3)时间控制)时间控制 4 4)数据加工)数据加工 总的功能总的功能:协调计算机:协调计算机 各个部件工作,它是计各个部件工作,它是计 算机司令部。类似于人算机司令部。类似于人 大脑。大脑。 按按( (pc)pc)取指令取指令irir (pcpc)+1+1 pc pc 指令指令1 1 指令指令n n 各种微操作各种微操作 决定下一条指令地址决定下一条指令地址 pc/pc/转移地址转移地址 pcpc 5.1 5.1 cpucpu的功能和组成的功能和组成(p153p153) 一旦把解题的程序装入内存,就由计算机自动完成一旦把解题的程序装入内存,就由计算机自动完成取出指取出指 令令和和执行指令执行指令的任务,专门用来完成此工作的计算机部件的任务,专门用来完成此工作的计算机部件 就是就是cpucpu。 2.2. cpucpu的基本组成的基本组成 传统包括:传统包括:运算器运算器,控制器控制器 现代现代cpucpu基本组成包括:基本组成包括:运算器运算器,cachecache、控制器控制器 。 2.2.从教学目的出发,给出从教学目的出发,给出p154 p154 图图5.15.1 cpucpu模型模型。 ( (一一) )控制器控制器( (根据根据图图5.15.1 cpucpu模型模型) ) (1)(1)控制器控制器的硬件的功能部件组成的硬件的功能部件组成: : ( (简单说明各功能简单说明各功能) ) 1)1)程序计数器程序计数器( (pc)pc) 2)2)指令寄存器指令寄存器( (irir):): 3)3)指令译码器指令译码器( (id):id): 4)4)时序产生器时序产生器 5)5)操作控制器操作控制器 ( (2)2)控制器控制器的主要功能的主要功能:p154p154 1)1)从内存中取出一条指令从内存中取出一条指令, ,并指出下一条指令在内存的地址并指出下一条指令在内存的地址 2)2)对指令进行译码测试,并产生相应的对指令进行译码测试,并产生相应的操作控制信号操作控制信号,以,以 便启动规定的动作。便启动规定的动作。( (例如:内存一次读写操作;例如:内存一次读写操作;alualu的的 一次算术一次算术/ /逻辑运算;一次输入逻辑运算;一次输入/ /输出操作等输出操作等) ) 3)3)指挥并控制指挥并控制cpucpu、内存和输入内存和输入/ /输出设备之间的数据流动输出设备之间的数据流动 方向。方向。 ( (二二) )运算器运算器( (根据根据图图5.15.1 cpucpu模型模型) ) (1)(1)运算器的硬件功能部件组成:运算器的硬件功能部件组成: alualu、累加寄存器、数据缓冲寄存器、状态条件寄存器累加寄存器、数据缓冲寄存器、状态条件寄存器 总线等。总线等。 (2)(2)运算器的两个主要功能:运算器的两个主要功能: 1)1)执行所有的执行所有的算术运算算术运算。 2)2)执行所有的执行所有的逻辑运算逻辑运算,并进行逻辑测试。,并进行逻辑测试。( (例如:例如:0 0测试测试 或两个值的比较或两个值的比较) ) ( (三三) )cpucpu模型机模型机中的中的主要基本寄存器主要基本寄存器: :p154 p154 图图5.15.1 动画演习五上动画演习五上(1)(1)。 指令寄存器指令寄存器( (irir) )、程序计数器程序计数器( (pc)pc)、地址寄存器地址寄存器( (ar)ar)、缓缓 冲寄存器冲寄存器( (dr)dr)、累加寄存器累加寄存器( (ac)ac)、状态寄存器状态寄存器( (pswpsw) )。 各类各类主要基本寄存器主要基本寄存器功能与结构功能与结构 1)1)缓冲寄存器缓冲寄存器( (dr)dr):暂时存放从内存读出的一条指令或一暂时存放从内存读出的一条指令或一 个数据;反之,向内存要写入一条指令或一个数据也要暂个数据;反之,向内存要写入一条指令或一个数据也要暂 时存放其中。时存放其中。 缓冲寄存器的缓冲寄存器的作用作用: a)a)作为作为cpucpu和内存、外部设备之间信息传送的中转站。和内存、外部设备之间信息传送的中转站。 b)b)补偿补偿cpucpu和内存、外部设备之间在速度上的差别。和内存、外部设备之间在速度上的差别。 c)c)在单累加器的结构的运算器中,可兼作操作数寄存器。在单累加器的结构的运算器中,可兼作操作数寄存器。 2)2)指令寄存器指令寄存器( (irir) ):存放当前正在执行的指令。指令在执存放当前正在执行的指令。指令在执 行过程中行过程中, ,一直保持不变。一直保持不变。 执行指令时,先把它从内存取到执行指令时,先把它从内存取到缓冲寄存器缓冲寄存器,然后再把它,然后再把它 送入指令寄存器。送入指令寄存器。 指令指令: : 一般指令有两部分组成一般指令有两部分组成: : opop d d op:op:操作码操作码, ,决定本次指令执行类型决定本次指令执行类型, ,若若op=n,op=n,则共有则共有2 2 n n 种不种不 同类型的指令。同类型的指令。 d:d:操作数地址操作数地址( (一般指出操作数在主存中的地址一般指出操作数在主存中的地址, ,若操作数若操作数 在通用寄存器中在通用寄存器中, ,则给出通用寄存器号则给出通用寄存器号),),还有很多还有很多寻址方寻址方 式式( (直接寻址直接寻址, ,间接寻址间接寻址, ,变址寻址变址寻址, ,立即数寻址立即数寻址) )。 指令寄存器中的指令寄存器中的操作码操作码经过经过指令译码器指令译码器输出,向输出,向操作控制操作控制 器器发出具体操作的特定信号。发出具体操作的特定信号。 3)3)程序计数器程序计数器( (pc):pc):存放下一条要执行指令的主存地址。存放下一条要执行指令的主存地址。 当程序顺序执行指令时当程序顺序执行指令时, ,下一条指令地址为:下一条指令地址为: ( (pc)+1pc)+1pcpc 当执行转移指令当执行转移指令( (无条件转移指令无条件转移指令, ,条件转移指令条件转移指令( (条件转条件转 移成功移成功),下一条指令地址为:,下一条指令地址为: 转移地址转移地址pcpc。 4)4)地址寄存器地址寄存器( (ar):ar):保存当前保存当前cpucpu所访问的内存单元的地所访问的内存单元的地 址。址。( (包括:取指令的地址,读包括:取指令的地址,读/ /写操作数的地址写操作数的地址) ) 5)5)累加寄存器累加寄存器( (ac):ac):它是一个通用寄存器。它是一个通用寄存器。 功能功能:为:为alualu执行算术执行算术/ /逻辑运算时,提供一个工作区。逻辑运算时,提供一个工作区。 作为参加运算时的一个操作数,而且可作为存放操作结果作为参加运算时的一个操作数,而且可作为存放操作结果 的地方。的地方。 一般计算机是多累加器,由多个通用寄存器组成。一般计算机是多累加器,由多个通用寄存器组成。 6)6)状态条件寄存器状态条件寄存器( (pswpsw) ) 功能功能:保存:保存算术算术/ /逻辑逻辑类型指令运行或测试的结果建立的类型指令运行或测试的结果建立的 各种条件码的内容各种条件码的内容( (例如:例如:nvcznvcz) )。 此外,还可保存此外,还可保存中断中断和和系统工作状态系统工作状态等信息。等信息。 ( (四四) )操作控制器操作控制器与与时序发生器时序发生器 (1)(1)数据通路数据通路:计算机:计算机cpucpu内内多个寄存器之间传送信息的多个寄存器之间传送信息的 通路。通路。 建立一条建立一条数据通路数据通路必须指明:必须指明: 信息从什么地方开始,中间经过哪些寄存器或多路开关,信息从什么地方开始,中间经过哪些寄存器或多路开关, 最后送到哪个目的寄存器,都要加以控制最后送到哪个目的寄存器,都要加以控制( (由由微操作控制微操作控制 ,该微操作,该微操作为低电平,没有此微操作;反之,要为低电平,没有此微操作;反之,要高电平高电平) ) 。 (2)(2)操作控制器操作控制器的的功能功能:根据指令的:根据指令的操作码操作码和和时序信号时序信号,产,产 生各种操作控制信号,以便形成正确的生各种操作控制信号,以便形成正确的数据通路数据通路,完成取,完成取 指令和执行指令的功能。指令和执行指令的功能。 (3)(3)操作控制器操作控制器设计方法设计方法: : 1)1)硬布线控制器时序逻辑型硬布线控制器时序逻辑型, , 采用各种门电路的时序逻采用各种门电路的时序逻 辑技术实现。辑技术实现。 2)2)微程序控制器存贮逻辑型微程序控制器存贮逻辑型, , 采用存放在采用存放在控制存贮器控制存贮器 ( (cscs) )的的微程序微程序存贮逻辑技术实现。存贮逻辑技术实现。 3)3)前两种方法的结合前两种方法的结合。 下面着重讲下面着重讲微程序控制器微程序控制器的方法。的方法。 (4)(4)时序产生器时序产生器: 功能功能:对各种操作信号实施时间上的控制:对各种操作信号实施时间上的控制( (周期周期、节拍节拍和和 打入脉冲打入脉冲等等) )。 每个每个微操作微操作执行都有时间先后,不是同时执行的。执行都有时间先后,不是同时执行的。 此外,还要有中断系统等,在后面章节中讨论。此外,还要有中断系统等,在后面章节中讨论。 5.2 5.2 指令周期指令周期( (本章的重点本章的重点) ) 1. 1.指令周期指令周期:从内存中取出一条指令并执行这条指令需要从内存中取出一条指令并执行这条指令需要 的时间的时间。 指令不同,指令周期是不相同。指令不同,指令周期是不相同。 若所有指令字长度相同,则若所有指令字长度相同,则取指令的时间取指令的时间是一样。但是一样。但执行执行 指令的时间指令的时间可能都不一样。可能都不一样。 2. 2.cpucpu周期周期:机器周期机器周期。( (cpucpu内部执行速度快,内部执行速度快,cpucpu访访 问存贮器存取速度慢问存贮器存取速度慢) )以内存中读取一个字最短时间为一以内存中读取一个字最短时间为一 个个cpucpu周期。周期。 3. 3.时钟周期时钟周期:节拍脉冲节拍脉冲或或t t周期周期,处理某个,处理某个微操作微操作需要时需要时 间的基本单位。间的基本单位。 一个一个cpucpu周期包含有周期包含有若干个若干个时钟周期;时钟周期; 一个指令周期包含有一个指令周期包含有若干个若干个cpucpu周期。至少周期。至少2 2个个cpucpu周期周期 。 p157 p157 图图5.25.2 取指令取指令执行指令执行指令序列。序列。动画演习五上动画演习五上(2)(2)。 p157 p157 图图5.35.3 采用采用定长定长cpucpu周期周期的指令周期示意图。的指令周期示意图。 一个一个cpucpu周期包含有周期包含有4 4个节拍个节拍( (时钟周期时钟周期t)t)。一个指令周期一个指令周期 包括包括2 2个个cpucpu周期。周期。 p158 p158 表表5.1 5.1 五条典型指令组成的一个程序五条典型指令组成的一个程序( (反复加反复加6)6)。 clacla 0 0ac ac 非访内指令。非访内指令。 add 30add 30 (ac)+(30) (ac)+(30)ac ac 直接访内指令直接访内指令 sta sta 40 40 (ac) (ac) 40 40 直接访内指令直接访内指令 nop nop 空操作指令空操作指令 jmp jmp 21 21 无条件转移指令无条件转移指令 程序控制指令程序控制指令 下面分析五条指令的指令周期中的下面分析五条指令的指令周期中的cpucpu周期及执行操作。周期及执行操作。 (1) (1) clacla指令的指令周期指令的指令周期- -非访内指令非访内指令 1)1)p158 p158 图图5.45.4 非访内指令非访内指令的指令周期的指令周期 动画演习五上动画演习五上(3)(3)。 根据图根据图5.45.4非访内指令非访内指令的指令周期,包含两个的指令周期,包含两个cpucpu周期:周期: 第一个第一个cpucpu周期周期:取指令阶段。:取指令阶段。公操作阶段公操作阶段。 完成三件事:完成三件事: a)a)从内存取出指令。从内存取出指令。 b)b)程序计数器加程序计数器加1, 1,为取下一条指令做好准备。为取下一条指令做好准备。 c)c)对指令操作码进行译码或测试,以便确定进行什么操作对指令操作码进行译码或测试,以便确定进行什么操作 。 第二个第二个cpucpu周期:周期:执行指令阶段。需要一个执行指令阶段。需要一个cpucpu周期。周期。 根据对指令操作码进行译码或测试,进行指令所要求的操根据对指令操作码进行译码或测试,进行指令所要求的操 作。作。 clacla指令:指令:0 0alualu,alualuacac 取取指令指令 pc+1pc+1 对指令对指令 译码译码 执行指令执行指令 取下一条指令取下一条指令 pc+1pc+1 取取指令阶段指令阶段 执行指令阶段执行指令阶段 一个一个cpucpu周期周期一个一个cpucpu周期周期 p158 p158 图图5.45.4 clacla指令的指令周期指令的指令周期 取取指令阶段指令阶段cpucpu执行的动作执行的动作( (微操作微操作) )如下如下: :p159 p159 图图 5.5 5.5 (1)(1)(pc) pc) ar (ar (20q20q) ) (2) (2) (pc)+1 (pc)+1 pc ( 21q)pc ( 21q) (3)(ar) (3)(ar) 地址总线地址总线, , rd(rd(读命令读命令) ) (4)20(4)20qq单元内容读出单元内容读出( (指令指令clacla) ),经过数据总线经过数据总线drdr。 (5)(dr) (5)(dr) irir (6)(6)irir中的中的opop被被译码或测试;译码或测试; (7)(7)cpucpu识别出是指令识别出是指令clacla。 执行指令阶段执行指令阶段cpucpu执行的动作执行的动作( (微操作微操作) )如下:如下:p160 p160 图图 5.6 5.6 (1)0(1)0alualu; ; (2)(2)alualuac;ac; (2) (2) addadd指令的指令周期指令的指令周期- -直接访内指令直接访内指令 1)1)p160 p160 图图5.75.7直接访内指令直接访内指令的指令周期的指令周期 动画演习五上动画演习五上(4)(4)。 根据图根据图5.75.7直接访内指令直接访内指令的指令周期,包含三个的指令周期,包含三个cpucpu周期周期 : 取指令阶段取指令阶段: : 第一个第一个cpucpu周期:同前周期:同前公操作阶段。公操作阶段。 执行指令阶段执行指令阶段: : addadd指令执行阶段需要指令执行阶段需要2 2个个cpucpu周期。周期。 第二个第二个cpucpu周期:周期:送操作数地址送操作数地址。 irir(d=30)(d=30)arar。 第三个第三个cpucpu周期:周期:两操作数相加两操作数相加。 读主存读主存3030号单元号单元dr, (ac)+(dr)dr, (ac)+(dr)acac。 (3) (3) stasta指令的指令周期指令的指令周期- -直接访内指令直接访内指令 1)1)p162 p162 图图5.10 5.10 直接访内指令直接访内指令stasta的指令周期的指令周期 。 动画演习五上动画演习五上(7)(7)。 根据图根据图5.10 5.10 直接访内指令直接访内指令stasta指令周期,包含三个指令周期,包含三个cpucpu周周 期:期: 取指令阶段取指令阶段: : 第一个第一个cpucpu周期:同前周期:同前公操作阶段。公操作阶段。 执行指令阶段执行指令阶段: : stasta指令执行阶段需要指令执行阶段需要2 2个个cpucpu周期。周期。 第二个第二个cpucpu周期:周期:送操作数地址送操作数地址。 irir(d=40)(d=40)arar。 第三个第三个cpucpu周期:周期:存贮和数存贮和数。 ( (ac)ac)dr, dr, 启动内存写操作启动内存写操作( (把把acac累加器的和数写入内存累加器的和数写入内存 4040号单元号单元) )。 (4) (4) nopnop指令指令和和jmpjmp指令指令的指令周期的指令周期 nopnop指令指令- -取指令阶段取指令阶段: : 第一个第一个cpucpu周期:同前周期:同前公操作阶段。公操作阶段。 执行指令阶段执行指令阶段: :一个一个cpucpu周期。周期。 第二个第二个cpucpu周期:周期:操作控制器不发出任何控制信号操作控制器不发出任何控制信号。 jmpjmp指令指令- -p164 p164 图图5.125.12 jmpjmp指令指令周期。周期。 动画演习五上动画演习五上(8)(8) 。 根据图根据图5.12 5.12 转移指令转移指令jmpjmp指令周期,包含二个指令周期,包含二个cpucpu周期:周期: 取指令阶段取指令阶段: : 第一个第一个cpucpu周期:同前周期:同前公操作阶段。公操作阶段。 执行指令阶段执行指令阶段: 1: 1个个cpucpu周期。周期。 第二个第二个cpucpu周期:周期:送下条指令地址送下条指令地址。 irir(d=21)(d=21)pcpc。 五条指令取指令和执行指令动态过程五条指令取指令和执行指令动态过程( (自己看能演习自己看能演习最好最好 演习一下,计算机直规操作演习一下,计算机直规操作): ):动画演习五上动画演习五上(5)(5)。 ( (5)5)用方框图语言表示指令周期用方框图语言表示指令周期 1)1) p166 p166 图图5.145.14 5 5条指令执行序列条指令执行序列动画演习五上动画演习五上(6)(6)。简单。简单 说明。说明。 2)2) 几点说明:几点说明: a)a)一个方框图代表一个一个方框图代表一个cpucpu周期。周期。 b)b)方框图的内容,表示数据通路的操作或某种控制操作方框图的内容,表示数据通路的操作或某种控制操作 。 c)c)除了方框图以外还有除了方框图以外还有菱形符号菱形符号,表示某种,表示某种判别判别或或测试测试 ,不过时间上它依赖于紧接它前面一个方框图的,不过时间上它依赖于紧接它前面一个方框图的cpucpu 周期,而不单独占用一个周期,而不单独占用一个cpucpu周期。周期。 1)1) 对对5 5条指令执行的条指令执行的cpucpu周期作简单说明。周期作简单说明。 2)2) p166 p166 例例1 1 图图5.155.15( (另一个计算机数据通路,自己看另一个计算机数据通路,自己看) )。 5.3 5.3 时序产生器和控制方式时序产生器和控制方式p167p167 ( (一一) )关于时序产关于时序产( (发发) )生器生器 时序产生器的时序产生器的功能功能:产生时序信号,用来产生计算机执:产生时序信号,用来产生计算机执 行过程中需要的各种微操作控制信号。行过程中需要的各种微操作控制信号。 控制信号都是控制信号都是时间因素时间因素( (时序信号时序信号) )和和空间因素空间因素( (部件位置部件位置) ) 的函数。的函数。 硬布线控制器硬布线控制器中中, ,时序信号采用:时序信号采用:主状态主状态周期周期节拍节拍电位电位 节拍节拍脉冲脉冲三级时序系统。三级时序系统。 微程序控制器中,时序信号采用:微程序控制器中,时序信号采用:节拍节拍电位电位节拍节拍脉冲脉冲二二 级时序系统。级时序系统。 时序信号产生器硬件时序信号产生器硬件( (微程序控制器中使用微程序控制器中使用) )组成:组成: p169 p169 图图5.17 5.17 微程序控制器微程序控制器中:中: 时序信号产生器框图时序信号产生器框图 时钟脉冲源时钟脉冲源( (石英晶体振荡器石英晶体振荡器) );环型脉冲发生器环型脉冲发生器;节拍脉节拍脉 冲冲和和读读/ /写时序的译码逻辑写时序的译码逻辑; ;启仃控制逻辑启仃控制逻辑。 ( (二二) )控制方式:控制方式:控制不同操作序列时序信号的方法。控制不同操作序列时序信号的方法。 同步控制同步控制方式方式;异步控制异步控制方式方式;联合控制联合控制方式方式三种三种方式方式。 1. 1.同步控制同步控制方式:在任何情况下,指令执行时所需的方式:在任何情况下,指令执行时所需的机器机器 周期数周期数和和时钟周期数时钟周期数都是固定不变的。都是固定不变的。 根据不同情况,还可采用如下的方案:根据不同情况,还可采用如下的方案: (1)(1)采用采用完全统一的机器周期完全统一的机器周期执行各种不同的指令。执行各种不同的指令。 优点:控制时序简单。缺点:简单指令时间浪费。优点:控制时序简单。缺点:简单指令时间浪费。 (2)(2)采用采用不定长机器周期不定长机器周期。对大多数指令操作安排在某个较。对大多数指令操作安排在某个较 短机器周期完成;对某些时间紧张的指令操作,采取延长短机器周期完成;对某些时间紧张的指令操作,采取延长 机器周期的方法解决。机器周期的方法解决。 (3)(3)采用采用中央控制和局部控制相结合中央控制和局部控制相结合。对大部分指令安排在。对大部分指令安排在 固定的机器周期完成,称为固定的机器周期完成,称为中央控制中央控制;对少数复杂指令;对少数复杂指令( ( 乘、除、浮点运算乘、除、浮点运算) )采用另外的时序进行定时,称为采用另外的时序进行定时,称为局部局部 控制控制。 2. 2.异步控制异步控制方式:每个操作用多少时间,就用多少时间,方式:每个操作用多少时间,就用多少时间, 每条指令采用多少不等的机器周期组成。一般采用每条指令采用多少不等的机器周期组成。一般采用应答方应答方 式式。当控制器发出某个微操作控制信号后,等待执行部件。当控制器发出某个微操作控制信号后,等待执行部件 完成操作后发回完成操作后发回回答回答信号,再开始新的微操作。信号,再开始新的微操作。 每个微操作没有固定的每个微操作没有固定的cpucpu周期数和时钟节拍数。周期数和时钟节拍数。 3 3联合控制联合控制方式:方式:同步控制方式同步控制方式和和异步控制方式异步控制方式结合。结合。 一种情况:一种情况: 大部分指令安排固定的机器周期大部分指令安排固定的机器周期同步控制方式同步控制方式;有些操;有些操 作时间难以确定,例如作时间难以确定,例如, ,存贮器读写,则采用存贮器读写,则采用异步控制方异步控制方 式式。 另一种情况:另一种情况: 采用机器周期的采用机器周期的节拍脉冲数节拍脉冲数固定,但各条指令周期的固定,但各条指令周期的机器机器 周期数周期数不固定。不固定。 微命令系统微命令系统( (所有微命令的集合所有微命令的集合) ) 指令系统指令系统( (所有指令的集合所有指令的集合) ) 5.45.4微程序控制器微程序控制器 p172p172 计算机硬件分为两大部件:计算机硬件分为两大部件:控制器控制器和和执行部件执行部件。 控制器控制器:控制部件。:控制部件。 执行部件执行部件:运算器:运算器, ,存贮器存贮器, ,外围设备。外围设备。 控制器通过控制器通过控制线控制线向执行部件发出各种控制命令。向执行部件发出各种控制命令。 介绍几个基本概念:介绍几个基本概念: 1. 1.微命令微命令和和微操作微操作 微命令微命令: : 在微程序设计的计算机中在微程序设计的计算机中, ,控制器控制器控制数据通路控制数据通路 的控制命令。的控制命令。 微操作微操作: :执行部件接受微命令后,执行的具体操作。执行部件接受微命令后,执行的具体操作。 p173 p173 图图5.21 5.21 简单运算器数据通路图中的微操作简单运算器数据通路图中的微操作 动画演习动画演习 五下五下(1)(1)( (1313; ;4949; ;都是微命令都是微命令) ) 2. 2.微指令微指令、微程序微程序和和微周期微周期 微指令微指令: : 一条微指令,由若干个微命令组合而成一条微指令,由若干个微命令组合而成, , 产生一组控制信号产生一组控制信号, ,去执行一次完整去执行一次完整cpucpu周期数据通周期数据通 路操作。路操作。p174 p174 图图5.225.22 23 23位位微指令微指令格式定义。格式定义。 微程序微程序:由若干条由若干条微指令微指令序列组成。一条序列组成。一条指令指令由若由若 干条微指令组成一段干条微指令组成一段微程序微程序,完成指令的功能。,完成指令的功能。 微周期微周期: : 取出一条微指令取出一条微指令( (从从控存控存控制存贮器控制存贮器中中) )需要需要 的时间的时间+ +执行这条微指令需要时间执行这条微指令需要时间( (一个一个cpucpu周期周期) )。 一条微指令一条微指令, ,执行一个微周期操作执行一个微周期操作, ,由该微指令由该微指令 控制执行一次控制执行一次cpucpu周期操作周期操作, ,完成该微指令规定的一完成该微指令规定的一 组微操作操作组微操作操作。 3. 3.微程序控制器基本工作原理微程序控制器基本工作原理: : 微操作控制信号微操作控制信号的产生的产生, ,不是用不是用组合逻辑设计组合逻辑设计的方的方 法得到法得到, ,而是用读取而是用读取控制贮存器控制贮存器( (cs)cs)中的一条中的一条微指令微指令 , , 由该微指令产生若干个由该微指令产生若干个微命令微命令执行相应的执行相应的微操作微操作, ,控控 制一次数据通路的操作。制一次数据通路的操作。 计算机在执行一条指令时计算机在执行一条指令时, ,按指令寄存器按指令寄存器irir中现中现 存的指令存的指令, ,顺序地从控制贮存器中读出若干条微指令顺序地从控制贮存器中读出若干条微指令, , 多次控制数据通路的操作多次控制数据通路的操作, ,完成指令功能。完成指令功能。 它是它是存贮逻辑存贮逻辑, ,不是不是布线逻辑布线逻辑。 微控制微控制 字段字段 微下地微下地 址字段址字段 c sc s opop 微操作微操作 irir: : 0 0 # : : n n # : : ir:ir: irir: :微微指令寄存器指令寄存器:存放从控制:存放从控制 存贮器读出来的一条要执行微指令存贮器读出来的一条要执行微指令 。 微指令微指令由两部分组成由两部分组成: : 微控制字段微控制字段:产生微操作,控制产生微操作,控制 一次数据通路操作一次数据通路操作 。 微下地址字段微下地址字段:产生下一条微指产生下一条微指 令的地址。令的地址。 arar: : 4. 4.微程序控制器基本组成微程序控制器基本组成: : p175p175 图图5.245.24 ( ( 稍作修改,画出下列框图稍作修改,画出下列框图 ) ) 动画演习五下动画演习五下(2)(2) cscs组成组成 ramram, ,可读可写可读可写, ,可以由系统进行修改可以由系统进行修改 romrom,不能修改不能修改 。 但在执行微但在执行微 指令时指令时, ,只准只准 读读, ,不准写。不准写。 arar: : 微指令地址寄存器微指令地址寄存器: : 存放下一条要执行微指令的地址存放下一条要执行微指令的地址, , 接收接收irir产生的微地址产生的微地址 和本条微指令寄存器中下址部分。和本条微指令寄存器中下址部分。 cscs: :控制存贮器控制存贮器: : 存放全部指令的存放全部指令的微程序微程序( (由微指令组成由微指令组成) )。一般在执行时。一般在执行时, , 只准读只准读, , 不准写。不准写。 5. 5.计算机执行指令时怎么执行微程序计算机执行指令时怎么执行微程序? ? 通过执行几条微指令通过执行几条微指令, , 可根据可根据pcpc内容从主存中取出指令内容从主存中取出指令 irir, , 且且( (pcpc)+1)+1pc pc ( (公操作公操作) )。 一旦一条指令取出后一旦一条指令取出后, ,根据指令的根据指令的操作码操作码( (op)op)等形成等形成 的微地址的微地址 arar, ,从从控制存贮器控制存贮器( (cs)cs)中取出该指令的第一中取出该指令的第一 条微指令送入条微指令送入 irir, ,执行第一条微指令执行第一条微指令, ,控制数据通路操控制数据通路操 作作, ,且根据该微指令中的且根据该微指令中的微下址字段微下址字段, ,送入送入 arar, ,从从cscs中取中取 出第二条微指令出第二条微指令, , 一直执行到该指令的最后的一条微一直执行到该指令的最后的一条微 指令指令, ,一方面完成该指令的执行功能,另一方面根据该微一方面完成该指令的执行功能,另一方面根据该微 指令的指令的微下址部分微下址部分, ,转到转到公操作部分公操作部分的微程序的微程序, ,再取下一再取下一 条指令。条指令。 2)2)区别区别: : 由指令组成由指令组成 由用戶编写由用戶编写 放在主存中放在主存中 一般可读可写一般可读可写 由微指令组成由微指令组成 由系统微程序员编写由系统微程序员编写 放在控制存贮器放在控制存贮器( (cs)cs)中中 只准读不准写只准读不准写 程序程序 微程序微程序 6. 6.程序和微程序的联系和区别程序和微程序的联系和区别:动画演习五下动画演习五下(3)(3)p178p178 1)1)联系联系: :执行执行一条指令一条指令 执行执行一段微程序一段微程序 ( (有若干条微指有若干条微指 令构成令构成, ,完成该指令的功能完成该指令的功能) )。 5.5 5.5 微程序设计技术微程序设计技术 p179 p179 在本章后面的内容在本章后面的内容, ,就是讲就是讲微指令结构微指令结构如何设计?如何设计? irir: 微操作控制字段微操作控制字段和和微下址控制字段微下址控制字段二部分。二部分。 1. 1.微指令结构应当追求的目标:微指令结构应当追求的目标:p180p180 (1)(1)有利于缩短微指令字有利于缩短微指令字的长度。的长度。( (微指令二进制位应尽可能少微指令二进制位应尽可能少) ) (2)(2)有利于有利于减少减少控制存贮器的容量。控制存贮器的容量。 ( (微指令条数应尽可能少微指令条数应尽可能少) ) (3)(3)有利于提高微程序的执行速度。有利于提高微程序的执行速度。 ( (提高计算机执行速度提高计算机执行速度) ) (4)(4)有利于对微指令的修改。有利于对微指令的修改。 (5)(5)有利于提高微程序设计的灵活性。有利于提高微程序设计的灵活性。 微操作控制字段微操作控制字段微下址控制字段微下址控制字段 2. 2.微指令控制字段格式微指令控制字段格式 p182p182 本节讨论如何设计微指令格式中本节讨论如何设计微指令格式中, ,微指令控制字段微指令控制字段? ? 它可分成两大类:它可分成两大类:水平型的微指令水平型的微指令和和垂直型微指令垂直型微指令。 垂直型微指令垂直型微指令: : 本质上把指令中设计方法用到本质上把指令中设计方法用到 微指令上。微指令上。p182(1),(2),(3),(4)p182(1),(2),(3),(4)四种微指令的格式四种微指令的格式 。 irir: 特点特点: :有操作码有操作码( ( op),op),短格式短格式, ,易懂易懂, , 并行性差并行性差, , 微程序容量大。微程序容量大。 opop 功能字段功能字段1 1功能字段功能字段2 2 功能字段功能字段n n p182p182水平型微指令水平型微指令特点特点: : irir: 无操作码无操作码, ,长格式长格式, ,不易懂不易懂, , 并行性强并行性强, ,微程序容量少微程序容量少 。 在微程序设计的计算机中,要完成某种同样功在微程序设计的计算机中,要完成某种同样功 能能, ,用用水平型微指令水平型微指令编写的微程序比编写的微程序比垂直型微指令垂直型微指令 编写的微程序要少编写的微程序要少, ,因此用因此用水平型微指令水平型微指令设计的计设计的计 算机执行速度快。算机执行速度快。 现计算机強調现计算机強調速度速度: : 在微程序设计的计算机中在微程序设计的计算机中, ,微微 指令格式设计指令格式设计, ,一般采用一般采用水平型微指令格式水平型微指令格式。 下面讨论下面讨论水平型微指令水平型微指令格式的三种设计方式:格式的三种设计方式: (1)(1)直接表示法直接表示法( (不译法不译法) )、 (2) (2)字段字段编码表示方法、编码表示方法、 (3)(3)混合混合 表示法:表示法: 字段字段1 1 字段字段2 2 字段字段3 3 字段字段4 4 字段字段5 5 字段字段6 6 字段字段mm 3. 3.微操作控制字段微操作控制字段设计方法设计方法 (1)(1)直接表示法直接表示法( (不译法不译法) ):p174 p174 图图5.225.22 基本思想基本思想, ,把微指令控制字段中等每一个二进位定义一个把微指令控制字段中等每一个二进位定义一个 微命令,该位为微命令,该位为1 1, ,表示可执行该微命令的微操作表示可执行该微命令的微操作, ,直接打直接打 开数据通路控制门开数据通路控制门, ,该位为该位为0 0, ,不可执行该微命令的微操作不可执行该微命令的微操作 。 微下址微下址控制字段控制字段 n-1n-1 0 0 微命令微命令1 1 微命令微命令n n 0 0 无该微命令规定的微操作无该微命令规定的微操作 1 1 有该微命令规定的微操作有该微命令规定的微操作 优点优点: : 不需要译码不需要译码( (执行速度快执行速度快), ),各微操作在不矛盾的情况各微操作在不矛盾的情况 下下, ,可并行工作。可直接把微指令的输出接到对应的控制可并行工作。可直接把微指令的输出接到对应的控制 门地方。门地方。 缺点缺点:微控制字段中的二进制位太长微控制字段中的二进制位太长( (n n太大时太大时) )。控制存。控制存 贮器容量较大。贮器容量较大。 一般用在计算机系统中的微命令数较少一般用在计算机系统中的微命令数较少, ,或用在或用在军用军用或或专专 用用系统中。系统中。 (2)(2)字段字段编码表示方法编码表示方法: :p180 p180 图图5.30 5.30 字段直接译码法。字段直接译码法。 把一组把一组互斥的微命令信号互斥的微命令信号( (在一个微周期中这些微命令不在一个微周期中这些微命令不 可能同时产生的可能同时产生的) )分在同一个字段中分在同一个字段中, ,并进行编码。把并进行编码。把相容相容 的微命令的微命令( (在同一个微周期中在同一个微周期中, ,这些微命令对应的微操作可这些微命令对应的微操作可 同时执行的同时执行的) )分在不同字段中分在不同字段中, ,可并行执行。可并行执行。 克服直接表示法的缺点克服直接表示法的缺点: :减少控制字段的二进制位减少控制字段的二进制位; ;而且而且保保 持不译法的优点持不译法的优点: :相容的微命令可并行工作。相容的微命令可并行工作。 现微程序设计的计算机采用的该方法,各个字段增加译码现微程序设计的计算机采用的该方法,各个字段增加译码 器硬件。器硬件。 (3)(3)混合表示法:混合表示法: 把把直接表示法直接表示法和和字段编码表示法字段编码表示法混合使用。混合使用。 大部分采用字段编码表示法,少量独立的微命令采用直接大部分采用字段编码表示法,少量独立的微命令采用直接 表示法。表示法。 4. 4.微地址控制字段微地址控制字段形成方法形成方法 p181p181 本节讨论微指令格式中本节讨论微指令格式中微地址控制字段微地址控制字段如何设计?如何设计? 有两种方法,有两种方法,计数器方式计数器方式和和多路转移方式多路转移方式 ( ( 微下地址字段微下地址字段 法法 ) ) 。 (1)(1)计数器方式计数器方式( (把指令执行顺序控制方法用到微程序设计把指令执行顺序控制方法用到微程序设计 顺序控制顺序控制) ),无下地址控制字段。,无下地址控制字段。 arar改成改成 pcpc。 对于对于顺序执行微指令顺序执行微指令来说来说: : 通过通过( ( pc pc ) )+1+1 pcpc 这样下这样下 一条微指令地址已指出。一条微指令地址已指出。 对于对于非顺序执行微指令非顺序执行微指令( (产生转移产生转移): ): 专门增加专门增加微转微转 移指令移指令( (类似指令中转移指令类似指令中转移指令), ),实现下一条微指令的实现下一条微指令的 地址。但该微转移指令地址。但该微转移指令, ,对于控制数据通路的操作对于控制数据通路的操作 的功能来讲的功能来讲, ,是一次空操作是一次空操作( (所有微命令都沒有所有微命令都沒有) )。 计数器计数器方法方法优点优点: : 由于沒有由于沒有微下址控制字段微下址控制字段, ,微指微指 令字长可减少。令字长可减少。 计数器计数器方法方法缺点缺点: : 在微程序的编写中在微程序的编写中, ,插入大量插入大量 的微转移指令的微转移指令, ,增加了微程序量增加了微程序量, ,可读性差可读性差, ,且影响计且影响计 算机算机速度速度。 由于微程序编写中由于微程序编写中, ,微转移指令量这比程序中的微转移指令量这比程序中的 转移指令多转移指令多, ,因此微指令下地址控制字段设计方法因此微指令下地址控制字段设计方法 采用采用微下址控制字段微下址控制字段。 (2)(2)多路转移方式多路转移方式( (微下址控制字段法微下址控制字段法): ): fcsfcsfdfd 微操作控制字段微操作控制字段 微下微下地址控制字段地址控制字段 微微转移控制字段转移控制字段 微微下址字段下址字段 irir: : 执行本条微指令执行本条微指令: : 一方面由微操作控制字段一方面由微操作控制字段产生的微命令控制计算机数据产生的微命令控制计算机数据 通路一次操作。通路一次操作。 另一方面由微下地址控制字段另一方面由微下地址控制字段实现下一条微指令地址实现下一条微指令地址( (实实 现多路转移功能现多路转移功能) )。 微下地址控制字段微下地址控制字段 分为两个字段分为两个字段 fcsfcs: : 微地址转移控制字段。微地址转移控制字段。 fdfd: : 微下地址字段微下地址字段( (由控制存贮由控制存贮 器器cscs的容量决定的容量决定) )。 微指令下地址微指令下地址产生逻辑产生逻辑: : p175p175见图见图5.245.24 如何设计微指令微下地址控制字段如何设计微指令微下地址控制字段, ,有很多方法有很多方法, ,讲一种讲一种 最简单又易于理解的方法最简单又易于理解的方法: : 微下址转移控制字段微下址转移控制字段fcsfcs的设计的设计: : 在在微微地址转移控制字段中地址转移控制字段中, ,首先把计算机中数据通路首先把计算机中数据通路 中各种转移情况进行归纳中各种转移情况进行归纳, ,并且进行编码并且进行编码: : fcsfcs的二进制位数的二进制位数=loglog 2 2 (n+1)(n+1) 其中其中n n为最常用的根据操作码为最常用的根据操作码op,op,条件码条件码, ,某一状态某一状态s s等发等发 生转移情况的个数。生转移情况的个数。1 1表示无条件多路转移一种情况。表示无条件多路转移一种情况。 fcs fcs 微地址转移情况微地址转移情况 微下址的形成微下址的形成 000 000 无条件多路转移无条件多路转移 ar=ar=fdfd 001 001 根据根据opop多路转移多路转移 ar=ar=fdfd+op+op 010 010 根据条件码根据条件码1616路转移路转移 ar=ar=fdfd+nvcznvcz 011 011 根据某一状态根据某一状态s2s2路转移路转移 ar=ar=fdfd+s+s 5. 5.动态微程序设计动态微程序设计 p183p183 静态微程序设计静态微程序设计:对于一台计算机的机器指令只有一组微对于一台计算机的机器指令只有一组微 程序,而且设计好以后,程序,而且设计好以后,无须改变无须改变也不能改变微程序的设也不能改变微程序的设 计技术。控制存贮器(计技术。控制存贮器(cscs)采用采用romrom存贮器芯片存贮器芯片。 动态微程序设计动态微程序设计:微指令和微程序根据需要微指令和微程序根据需要可以改变可以改变,这,这 样在一台计算机上可实现不同类型的指令系统的技术。控样在一台计算机上可实现不同类型的指令系统的技术。控 制存贮器(制存贮器(cscs)采用采用epromeprom存贮器芯片存贮器芯片。 微程序设计技术最大的优点:微程序设计技术最大的优点:设计修改容易,增加指令很设计修改容易,增加指令很 方便。方便。 微程序设计技术最大的缺点:计算机执行的速度比较慢。微程序设计技术最大的缺点:计算机执行的速度比较慢。 5.6 5.6 硬布线控制器硬布线控制器 ( (p184)p184) 硬布线控制器硬布线控制器是一种设计计算机控制器的另一种方法。它是一种设计计算机控制器的另一种方法。它 把控制部件看作产生专门固定时序信号的逻辑电路。把控制部件看作产生专门固定时序信号的逻辑电路。 用用门电路门电路和和触发器触发器等构成复杂逻辑网络线路产生控制等构成复杂逻辑网络线路产生控制 数据通路的微操作信号。数据通路的微操作信号。 硬布线控制器硬布线控制器设计技术的优点:可构成高速计算机。设计技术的优点:可构成高速计算机。 硬布线控制器硬布线控制器设计技术的缺点:一旦硬件设计及完成实施设计技术的缺点:一旦硬件设计及完成实施 后,若发现有错,或增加指令很困难,必须重新设计后,若发现有错,或增加指令很困难,必须重新设计 和物理上对它重新布线。和物理上对它重新布线。 1. 1.硬布线控制器硬布线控制器结构框图结构框图:( :(p184)p184)见图见图5.315.31。 某一微操作控制信号某一微操作控制信号 c=c=f( f(i im m,m ,m i i ,

温馨提示

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

评论

0/150

提交评论