




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、任课教师:任课教师:叶晓霞叶晓霞广东海洋大学信息学院计算机系广东海洋大学信息学院计算机系E-mail:计算机组成原理计算机组成原理第5章 中央处理器 5.1 CPU5.1 CPU的组成和功能的组成和功能5.7 5.7 流水流水CPUCPU5.25.2 指令周期指令周期5.8 RISC CPU5.8 RISC CPU5.3 5.3 时序产生器和控制方式时序产生器和控制方式5 5.4 .4 微程序控制器微程序控制器5.5 5.5 硬布线控制器硬布线控制器 当代主流计算机所遵循的仍然是当代主流计算机所遵循的仍然是冯冯. .诺依诺依曼曼的的“存储程序、程序控制存储程序、程序控制”思想思想 程序告诉计算
2、机:程序告诉计算机:应该逐步执行什么操作;应该逐步执行什么操作;在什么地方找到用来操作的数据,结果存到何在什么地方找到用来操作的数据,结果存到何处处等等 中央处理器中央处理器是控制计算机自动完成取出指是控制计算机自动完成取出指令和执行指令任务的部件。令和执行指令任务的部件。 它是计算机的核心部件,通常简称为它是计算机的核心部件,通常简称为CPU(Central Processing Unit)5.1 CPU的功能和组成的功能和组成5.1.1 CPU的功能的功能 指令控制指令控制 保证机器按程序规定的顺序取出指令执行保证机器按程序规定的顺序取出指令执行 操作控制操作控制 CPUCPU产生每条指令
3、所对应的操作信号,并把各种操作信号送产生每条指令所对应的操作信号,并把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作往相应的部件,从而控制这些部件按指令的要求进行动作 时间控制时间控制 对各种操作的实施时间进行定时对各种操作的实施时间进行定时 数据加工数据加工 对数据进行算术运算和逻辑运算处理对数据进行算术运算和逻辑运算处理5.1.2 CPU5.1.2 CPU的基本组成的基本组成 控制器控制器完成对整个计算机系统操作的完成对整个计算机系统操作的协调与指挥协调与指挥。 (1) (1) 控制机器从内存中控制机器从内存中取出一条指令取出一条指令,并指出下一条指令在,并指出下一条指令
4、在内存中的位置;内存中的位置; (2) (2) 对指令进行对指令进行译码译码,并,并产生相应的操作控制信号产生相应的操作控制信号,送往相,送往相应的部件,启动规定的动作;应的部件,启动规定的动作; (3) (3) 指挥并控制指挥并控制CPUCPU、内存与输入、内存与输入/ /输出(输出(I/OI/O)设备之间数据)设备之间数据流动的方向流动的方向 运算运算器器是数据加工处理部件,所进行的全部操作由是数据加工处理部件,所进行的全部操作由控制器发出的控制信号指挥。控制器发出的控制信号指挥。 (1)(1)执行所有的算术运算;执行所有的算术运算; (2)(2)执行所有的逻辑运算,并进行逻辑测试执行所有
5、的逻辑运算,并进行逻辑测试l CacheCache分为指令分为指令CacheCache和数据和数据CacheCache,是主存部分内容的副本。,是主存部分内容的副本。5.1.35.1.3CPUCPU中的主要寄存器中的主要寄存器 1.1. 数据缓冲寄存器(数据缓冲寄存器(DRDR)暂时存放由内存读出或写入的指令或数据字暂时存放由内存读出或写入的指令或数据字2.2. 指令寄存器(指令寄存器(IRIR)保存当前正在执行的一条指令保存当前正在执行的一条指令3.3. 程序计数器(程序计数器(PCPC)确定下一条指令的地址确定下一条指令的地址4.4. 地址寄存器(地址寄存器(ARAR)保存当前保存当前CP
6、UCPU所访问的数据所在内存单元的地址所访问的数据所在内存单元的地址5.5. 累加寄存器(累加寄存器(ACAC)最常使用的一个通用寄存器(为最常使用的一个通用寄存器(为ALU提供工作区)提供工作区)6.6. 状态条件寄存器(状态条件寄存器(PSWPSW)保存由算术和逻辑指令的结果建立的各种条件码保存由算术和逻辑指令的结果建立的各种条件码CPUCPU的基本模型的基本模型5.1.4 5.1.4 操作控制器与时序产生器操作控制器与时序产生器 操作控制器操作控制器在各寄存器之间建立在各寄存器之间建立数据通路数据通路(传送(传送信息的通路)信息的通路)操作控制器的功能操作控制器的功能: : 就是根据指令
7、操作码和时序信号,就是根据指令操作码和时序信号,产生各种操作控制信号,以便正确地建立数据通路,从产生各种操作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令的控制。而完成取指令和执行指令的控制。操作控制器分为操作控制器分为2 2种种:1. 硬布线控制器:采用时序逻辑技术实现硬布线控制器:采用时序逻辑技术实现2. 微程序控制器:采用存储逻辑来实现微程序控制器:采用存储逻辑来实现时序产生器时序产生器产生并发出计算机所需要的时序控制产生并发出计算机所需要的时序控制信号,即对各种操作信号实施时间上的控制。信号,即对各种操作信号实施时间上的控制。5.2 指令周期指令周期读取指令读取指令指令地址
8、送入主存地址寄存器指令地址送入主存地址寄存器读主存,读出内容送入指令寄存器读主存,读出内容送入指令寄存器分析指令分析指令按指令规定内容执行指令按指令规定内容执行指令不同指令的操作步骤数不同指令的操作步骤数和具体操作内容差异很大和具体操作内容差异很大检查有无中断请求检查有无中断请求若无,则转入下一条指令的执行过程若无,则转入下一条指令的执行过程形成下一条指令地址形成下一条指令地址 指令的执行过程指令的执行过程取指令执行指令5.2.1 5.2.1 指令周期的基本概念指令周期的基本概念 指令周期指令周期 : : CPUCPU从内存取出一条指令并执行完从内存取出一条指令并执行完这条指令的时间总和这条指
9、令的时间总和 CPU CPU周期周期 : 又称又称机器周期机器周期(总线周期总线周期),),CPUCPU访问访问内存所花的时间较长,因此用内存所花的时间较长,因此用CPUCPU从内存读取一条指令从内存读取一条指令字的所需的最短时间来定义字的所需的最短时间来定义 时钟周期时钟周期 : : 通常称为通常称为节拍脉冲节拍脉冲或或T T周期周期。一个。一个CPUCPU周期包含若干个时钟周期周期包含若干个时钟周期T T 相互关系相互关系: 1 1个指令周期个指令周期 = = 若干个若干个CPUCPU周期周期 1 1个个CPUCPU周期周期 = = 若干若干T T周期周期 取指时间执行指令时间取指时间执行
10、指令时间取指时间取指时间指令周期指令周期 CPU CPU周期周期 时钟周期时钟周期 任何一条指令任何一条指令 ,指令周期至少需要两个,指令周期至少需要两个CPUCPU周期周期 。020 020 CLACLA;累加器清;累加器清0 0021 021 ADD 30ADD 30;(ACAC)+ +(3030)ACAC022 022 STA 40STA 40;(ACAC)(40)(40)023 023 NOPNOP; 空操作空操作024 024 JMP 21JMP 21; 21 21 PC PC 030 000 006030 000 006; ; 数据数据 040 040 存和数存和数; ; 数据数据
11、5 5条条典型指令构成的简单程序典型指令构成的简单程序一个一个CPU周期周期一个一个CPU周期周期取指令阶段取指令阶段执行指令阶段执行指令阶段开始开始取指令取指令PC+1对指令对指令译码译码执行指令执行指令取下条指取下条指令令PC+15.2.2 CLA指令的指令周期指令的指令周期020 CLA;累加器清;累加器清0取出取出CLA指令指令算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器程序计数器PC地址寄存器地址寄存器AR地址总线地址总线ABUS数据总线数据总线DBUS累加器累加器AC缓冲寄存器缓冲寄存器DRCPUALU指令寄存器指令寄存器IR指令译码器指令译码器操作控制器操作控制
12、器时序产生器时序产生器时钟时钟状态状态反馈反馈取指取指控制控制执行执行控制控制cccc+1000 0202021222324303140CLAADD 30STA 40NOPJMP 21000 006000 020CLACLA000 021算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器程序计数器PC地址寄存器地址寄存器AR地址总线地址总线ABUS数据总线数据总线DBUS累加器累加器AC缓冲寄存器缓冲寄存器DRCPUALU指令寄存器指令寄存器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟时钟状态状态反馈反馈取指取指控制控制执行执行控制控制cccc+120212
13、22324303140CLAADD 30STA 40NOPJMP 21000 006000 020CLACLA000 021000 000执行执行CLA指令指令5.2.3ADD指令的指令周期 一个CPU周期 一个CPU周期取指令阶段取指令阶段执行指令阶段执行指令阶段开始开始取指令取指令PC+1对指令对指令译码译码送操作送操作数地址数地址取下条指取下条指令令PC+1取出操取出操作数作数执行加执行加操作操作一个CPU周期021 ADD 30;(;(AC)+(30)AC算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器
14、DRCPUALU指令寄存器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟状态反馈取指控制执行控制cccc+12021222324303140CLAADD 30STA 40NOPJMP 21000 006000 021ADDADD 30000 021000 022000 030000 0060+6=6000 006取出并执行取出并执行ADD指令指令5.2.4STA指令的指令周期指令的指令周期 022 STA 40;(;(AC)(40)算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器程序计数器PC地址寄存器地址寄存器AR地址总线地址总线ABUS数据总线数据总线D
15、BUS累加器累加器AC缓冲寄存器缓冲寄存器DRCPUALU指令寄存指令寄存器器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟时钟状态状态反馈反馈取指取指控制控制执行执行控制控制cccc+120212223243040CLAADD 30STA 40NOPJMP 21000 006000 022STASTA 40000 022000 023000 040000 006000 006000 006取出并执行取出并执行STA指令指令5.2.5 NOP指令和指令和JMP指令的指令周期指令的指令周期023 NOP ; 空操作空操作 024 JMP 21; 21 PC算术逻辑单元算术逻
16、辑单元状态条件寄存器状态条件寄存器程序计数器程序计数器PC地址寄存器地址寄存器AR地址总线地址总线ABUS数据总线数据总线DBUS累加器累加器AC缓冲寄存器缓冲寄存器DRALU指令寄存器指令寄存器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟时钟状态状态反馈反馈取指取指控制控制执行执行控制控制cccc+120212223243040CLAADD 30STA 40NOPJMP 21000 006000 024JMP 21JMP 21000 024000 021000 006000 006000 025000 021取出并执行取出并执行JMP指令指令5.2.7 用方框图语言表
17、示指令周期 在进行计算机设计时,可以采用方框图语言来表示指令周在进行计算机设计时,可以采用方框图语言来表示指令周期。一个方框代表一个期。一个方框代表一个CPU周期,方框中的内容表示数据周期,方框中的内容表示数据通路的操作或某种控制操作。菱形符号表示某种判别或测通路的操作或某种控制操作。菱形符号表示某种判别或测试,时间上依附于紧接它的前面一个方框的试,时间上依附于紧接它的前面一个方框的CPU 周期。周期。“”符号表示一条指令已经执行完毕,转入公操作。符号表示一条指令已经执行完毕,转入公操作。 所有指令的取指周期都是一个所有指令的取指周期都是一个CPU周期,但执行周期因为周期,但执行周期因为每条指
18、令的功能不同而各不相同。每条指令的功能不同而各不相同。 框图中框图中DBUS数据总线,数据总线,ABUS(D)数存地址总线,数存地址总线,ABUS(I)指存地址总线,指存地址总线,RD(D)数存读命令,数存读命令,WE(D)数存数存写命令,写命令,RD(D)指存读命令指存读命令 5条典型指令方框图条典型指令方框图如下所示为双总线结构机器的数据通路,如下所示为双总线结构机器的数据通路,IR为指令寄存器,为指令寄存器,PC为为程序计数器程序计数器(具有自增功能具有自增功能),M为主存为主存(受受R/W信号控制信号控制),AR为地址寄存为地址寄存器,器,DR为数据缓冲寄存器,为数据缓冲寄存器, AL
19、U由加、减控制信号决定完成何种操作,由加、减控制信号决定完成何种操作,控制信号控制信号G控制的是一个门电路。另外,线上标注有小圈表示有控制信号,控制的是一个门电路。另外,线上标注有小圈表示有控制信号,例中例中yi表示表示y寄存器的输入控制信号,寄存器的输入控制信号,R1o为寄存器为寄存器R1的输出控的输出控制信号,未标字符的线为直通线,不受控制。制信号,未标字符的线为直通线,不受控制。 (1)“ADD R2,R0”指令完成指令完成(R0)+(R2)R0的功能操作,画出其指令的功能操作,画出其指令 操作流程图,假设该指令的地址已放入操作流程图,假设该指令的地址已放入PC中。并列出相应的微操作中。
20、并列出相应的微操作 控制信号序列。控制信号序列。 (2)“SUB R1,R3”指令完成指令完成(R3)-(R1)R3的操作,画出其指令操作的操作,画出其指令操作流程图,并列出相应的微操作控制信号序列。流程图,并列出相应的微操作控制信号序列。 解:解:译码译码PCO,G ,ARiDRO ,G ,IRi R / W = 0 (读读)R2O ,G ,Yi R0O , G , Xi +, G, R0i PCAR等待读等待读 PC+1 DRIR R2Y R0X R/W(读)(读)R0+R2 R0译码译码 PCAR等待读等待读 PC+1 DRIR R3Y R1X R/W(读)(读)R3-R1 R3R3O
21、,G ,Yi R1O , G , Xi , G, R0i 例:例:参见下图数据通路,画出数据指参见下图数据通路,画出数据指令令“STA (R2) R1”的指令操作流程图,的指令操作流程图,其含义是将寄存器其含义是将寄存器R1的内容传送至的内容传送至(R2)为地址的贮存单元中。标出)为地址的贮存单元中。标出各微操作信号序列。各微操作信号序列。解:解:译码译码PCO,G ,ARiDRO ,G ,IRi R / W = 0 (读读)R2O ,G ,ARi R1O , G , DRi R / W = 1 (写写) PCAR等待读等待读 PC+1 DRIR R2AR R1DR 等待写等待写 R/W(读)
22、(读) R/W(写)(写)5.3 时序产生器和控制方式时序产生器和控制方式 用二进制码表示的指令和数据都放在内存里,那么用二进制码表示的指令和数据都放在内存里,那么CPU是怎样识别出它们是数据还是指令呢是怎样识别出它们是数据还是指令呢? 从时间上来说从时间上来说: 取指令事件发生在指令周期的第一取指令事件发生在指令周期的第一个个CPU周期中,即发生在周期中,即发生在“取指令取指令”阶段,而取数据阶段,而取数据事件发生在指令周期的后面几个事件发生在指令周期的后面几个CPU周期中,即发生周期中,即发生在在“执行指令执行指令”阶段。阶段。 从空间上来说从空间上来说: 如果取出的代码是指令,那么一定如
23、果取出的代码是指令,那么一定经经DR送往指令寄存器送往指令寄存器IR,如果取出的代码是数据,那,如果取出的代码是数据,那么一定送往么一定送往运算器运算器。 时间控制对计算机来说是非常重要的!时间控制对计算机来说是非常重要的!思考思考n时序部件时序部件作用作用:用来产生执行机器指令过程中的各种时序信号,用来产生执行机器指令过程中的各种时序信号, 在各条不同指令的不同机器周期的不同节拍中应产在各条不同指令的不同机器周期的不同节拍中应产 生什么微操作控制信号是由指令操作流程图严格地生什么微操作控制信号是由指令操作流程图严格地 规定的,所以时序部件实质上只需要产生各个机器规定的,所以时序部件实质上只需
24、要产生各个机器 周期中的节拍信息。周期中的节拍信息。n时序信号时序信号:它由时序信号产生器产生,类似它由时序信号产生器产生,类似“作息时间作息时间”的东的东 西,西, 使计算机可以准确、迅速、有条不紊地工作。使计算机可以准确、迅速、有条不紊地工作。就利用定时脉冲的顺序和不同的脉冲间隔,有条就利用定时脉冲的顺序和不同的脉冲间隔,有条 理、有节奏地指挥机器的动作,规定在这个脉理、有节奏地指挥机器的动作,规定在这个脉 冲到来冲到来 时做什么,在那个脉冲到来时又做什么,给计算机各时做什么,在那个脉冲到来时又做什么,给计算机各 部分提供工作所需的时间标志。部分提供工作所需的时间标志。5.3.1时序信号的
25、作用和体制时序信号的作用和体制 计算机的协调动作需要时间标志,而且需要采计算机的协调动作需要时间标志,而且需要采用多级时序体制。而时间标志则用用多级时序体制。而时间标志则用时序信号时序信号来体来体现。时序信号最基本的体制是现。时序信号最基本的体制是电位电位- -脉冲脉冲制。制。 硬布线控制器硬布线控制器中,时序信号往往采用中,时序信号往往采用主状态周主状态周期期- -节拍电位节拍电位- -节拍脉冲节拍脉冲三级体制。三级体制。主状态周期(指令周期):主状态周期(指令周期):包含若干个节拍周期,可以用一个触发器包含若干个节拍周期,可以用一个触发器的状态持续时间来表示的状态持续时间来表示节拍电位(机
26、器周期):节拍电位(机器周期):表示一个表示一个CPU 周期的时间,包含若干个节周期的时间,包含若干个节拍脉冲拍脉冲节拍脉冲(时钟周期):节拍脉冲(时钟周期):表示较小的时间单位表示较小的时间单位 微程序控制器微程序控制器中,时序信号则一般采用中,时序信号则一般采用节拍电节拍电位位- -节拍脉冲节拍脉冲二级体制。二级体制。节拍脉冲节拍电位1主状态周期主状态周期节拍电位2主状态周期主状态周期-节拍电位节拍电位-节拍脉冲节拍脉冲数据准备好后,以电位的方式送触发器数据准备好后,以电位的方式送触发器控制信号来到后,用一个脉冲信号把数据装入触发器控制信号来到后,用一个脉冲信号把数据装入触发器数据:电位数
27、据:电位控制信号:脉冲控制信号:脉冲节拍电位节拍电位-节拍脉冲节拍脉冲RD WE T1 T2 T3 T4 RD WE T1 T2 T3 T4RDWR提供频率稳定且电平匹配的方波时钟提供频率稳定且电平匹配的方波时钟脉冲信号,由石英晶体振荡器组成脉冲信号,由石英晶体振荡器组成产生一组有序的间隔相产生一组有序的间隔相等或不等的脉冲序列等或不等的脉冲序列启动停机5.3.2时序信号产生器 启停控制逻辑启停控制逻辑节拍脉冲和读写时序译码逻辑节拍脉冲和读写时序译码逻辑环形脉冲发生器环形脉冲发生器时钟脉冲源时钟脉冲源只有通过启停逻辑部件将机只有通过启停逻辑部件将机器启动起来,时序部件才开器启动起来,时序部件才
28、开始产生节拍信息(节拍电位始产生节拍信息(节拍电位和节拍脉冲),以控制全机和节拍脉冲),以控制全机开始工作。开始工作。DCPQRSDCQQ 当当R端端有效有效时时(即为低即为低),将,将触发器触发器置置0当当S端端有效有效时,将时,将触发器触发器置置1当当R、S都无效都无效且且CP在在上升沿上升沿时,时, 将将信息从信息从D打入触发器打入触发器5.3.3控制方式 控制不同操作序列时序信号的方法叫做控制器的控制方式控制不同操作序列时序信号的方法叫做控制器的控制方式1. 1. 同步控制方式同步控制方式已定的指令在执行时所需的已定的指令在执行时所需的CPU周期(机器周期)数和时钟周期(机器周期)数和
29、时钟周期数都固定不变。例如采用完全统一的机器周期执行各种不周期数都固定不变。例如采用完全统一的机器周期执行各种不同的指令,同的指令,特点特点:时序关系简单时序关系简单,但以牺牲速度为代价但以牺牲速度为代价.2. 2. 异步控制方式异步控制方式控制器发出某一操作控制信号后,等待执行部件完成操作后控制器发出某一操作控制信号后,等待执行部件完成操作后发发“回答回答”信号,再开始新的操作。用这种方式形成的操作控信号,再开始新的操作。用这种方式形成的操作控制序列没有固定的制序列没有固定的CPU周期数(节拍电位)或严格的时钟周期周期数(节拍电位)或严格的时钟周期(节拍脉冲)与之同步。(节拍脉冲)与之同步。
30、特点特点:无时间浪费无时间浪费,但时序控制比较复但时序控制比较复杂杂.3. 3. 联合控制方式联合控制方式 同步控制和异步控制相结合的方式同步控制和异步控制相结合的方式CPU周期周期取指周期取指周期CPU周期周期取源数取源数CPU周期周期取目标数取目标数CPU周期周期执行周期执行周期P0P1P2W0W1完全同步控制方式W0W1Wi第第N条指令条指令结束应答结束应答W0W1Wj第第N+1条指令条指令结束应答结束应答启动启动下一条下一条W0W1Wk第第N+2条指令条指令结束应答结束应答异步控制方式启动启动下一条下一条i、j、k不一定相等不一定相等一般采用两条定时控制线:一般采用两条定时控制线:“请
31、求请求”线和线和“回答回答”线线5.4 微程序控制器微程序控制器 微程序控制器同硬布线控制器相比较,具有微程序控制器同硬布线控制器相比较,具有规规整性整性、灵活性灵活性、可维护性可维护性等一系列优点等一系列优点 它利用它利用软件方法软件方法(微程序设计技术微程序设计技术)来设计硬件)来设计硬件 微程序控制的微程序控制的基本思想基本思想就是把操作控制信号编成就是把操作控制信号编成所谓的所谓的“微指令微指令”,存放到一个只读存储器里(控,存放到一个只读存储器里(控制存储器制存储器CM)。当机器运行时,一条又一条地读)。当机器运行时,一条又一条地读出这些微指令,从而产生全机所需要的各种操作控出这些微
32、指令,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作。制信号,使相应部件执行所规定的操作。1、微命令和微操作、微命令和微操作 处理器内部可以分为:处理器内部可以分为:控制部件控制部件和和执行部件执行部件微命令:微命令:控制部件控制部件向向执行部件执行部件发出的控制命令发出的控制命令微操作:微操作:执行部件执行部件接受接受微命令微命令后所进行的操作后所进行的操作(微操作在执行部件中是最基本的操作)(微操作在执行部件中是最基本的操作)微指令微指令:实现一定操作功能的一组微命令:实现一定操作功能的一组微命令微程序微程序:实现一条机器指令功能的微指令序列:实现一条机器指令功能的微指令
33、序列指令系统所有指令,指令微程序指令系统所有指令,指令微程序微程序若干微指令,微指令一组微命令微程序若干微指令,微指令一组微命令微命令微命令微操作微操作机器指令与微指令机器指令与微指令 程序机器指令机器指令1机器指令机器指令2机器指令机器指令i机器指令机器指令n.微指令微指令2微指令微指令1微指令微指令i微指令微指令n.微程序微操作 微操作在执行部件中是最基本的操作,可分为两种微操作在执行部件中是最基本的操作,可分为两种: 相容性相容性的微操作:指在同时或同一个的微操作:指在同时或同一个CPU周期内可以并行周期内可以并行执行的微操作。执行的微操作。 相斥性相斥性的微操作:指不能在同时或不能在同
34、一个的微操作:指不能在同时或不能在同一个CPU周期周期内并行执行的微操作。内并行执行的微操作。 在简单运算器模型中,在简单运算器模型中,R1、R2、R3三个寄存器通过多路三个寄存器通过多路开关输入开关输入ALU,ALU的结果可以同时送往三个寄存器。多的结果可以同时送往三个寄存器。多路开关的每个开关门有控制器中相应的微命令(路开关的每个开关门有控制器中相应的微命令(4、5、6、7、8、9)来控制,)来控制,R1R2R3的时钟输入端由的时钟输入端由1、2、3加以加以控制。假定只有控制。假定只有+、-、M(传送)三种操作。则(传送)三种操作。则1、2、3是相容的微操作可以同时进行,是相容的微操作可以
35、同时进行,4、6、8是相斥的微操作。是相斥的微操作。简单运算器数据通路图2、微指令和微程序 微指令的基本格式由两部分组成:微指令的基本格式由两部分组成: 操作控制部分:用来发出管理和指挥全集工作的操作控制部分:用来发出管理和指挥全集工作的控制信号,每一位表示一个微命令。控制信号,每一位表示一个微命令。 顺序控制部分:用来确定产生下一条微指令的地顺序控制部分:用来确定产生下一条微指令的地址。址。 微指令格式举例微指令格式举例微程序控制器组成:主要由微程序控制器组成:主要由控制存储器控制存储器、微指令寄存器、微指令寄存器(微地址寄存器微地址寄存器和和微命令寄存器)微命令寄存器)及及地址转移逻辑地址
36、转移逻辑三大部三大部分组成。分组成。控制存储器控制存储器CM: 用来存放实现全部指令系统的微程序,它用来存放实现全部指令系统的微程序,它是一种只读存储器。一旦微程序固化,机器运行时则只读不是一种只读存储器。一旦微程序固化,机器运行时则只读不写。其工作过程是:每读出一条微指令,则执行这条微指令;写。其工作过程是:每读出一条微指令,则执行这条微指令;接着又读出下一条微指令,又执行这一条微指令接着又读出下一条微指令,又执行这一条微指令。读出。读出一条微指令并执行微指令的时间总和称为一个微指令周期。一条微指令并执行微指令的时间总和称为一个微指令周期。控制存储器的字长就是微指令字的长度,其存储容量视机器
37、控制存储器的字长就是微指令字的长度,其存储容量视机器指令系统而定,即取决于微程序的数量。对控制存储器的要指令系统而定,即取决于微程序的数量。对控制存储器的要求是速度快,读出周期要短。求是速度快,读出周期要短。 用来存放由控制存储器读出的一条微命令信用来存放由控制存储器读出的一条微命令信息。息。微程序出现转移时,自动修改微地址。微程序出现转移时,自动修改微地址。“十进制加法十进制加法”指令:用指令:用BCD码完成十进制的加法运算。码完成十进制的加法运算。压缩的压缩的BCD码:用码:用 4 位二进制数表示位二进制数表示 1 位十进制数位十进制数 例:例:( 59 )10 ( 0101 1001 )
38、BCD非压缩的非压缩的BCD码:用码:用 8 位二进制数表示位二进制数表示 1 位十进制数位十进制数 例:例:( 59 )10 ( 0000 0101 0000 1001 )BCD数字的数字的 ASCII 码是一种码是一种 非压缩的非压缩的 BCD 码(高码(高4位没有意义)位没有意义) DIGIT ASCII BCD030H0011 0000131H0011 0001232H0011 0010 939H0011 10014、微程序举例采用采用BCD码后,在二数相加的和数小于等于码后,在二数相加的和数小于等于9时,十进制运算的结果是正确的;时,十进制运算的结果是正确的;而当二数相加的和数大于而
39、当二数相加的和数大于9时,结果不正确,必须加时,结果不正确,必须加6修正后才能得到正确结果。修正后才能得到正确结果。十进制加法指令十进制加法指令19 压缩压缩BCD: 0001 1001 27 0010 0001 + 110 + 08 + 0000 1000 (0010 0111)BCD AF=1 16 压缩压缩BCD: 0001 0110 30 0010 1010 + 110 + 14 + 0001 0100 (0011 0000)BCD 十进制加法微程序 假定指令存放在指存中,数据假定指令存放在指存中,数据a,b及常数及常数6已存放在已存放在R1、R2、R3三个寄存器中,因此完成十进制加法
40、的微程序中,三个寄存器中,因此完成十进制加法的微程序中,执行周期要求先进行执行周期要求先进行a+b+6运算,然后判断结果有无进位:运算,然后判断结果有无进位: 当进位标志当进位标志Cy=1,不减不减6; 当当Cy=0,减去,减去6,从而获得正确结果。,从而获得正确结果。例例:跟:跟据下列微程序流程图和微指令的格式,请设计十进据下列微程序流程图和微指令的格式,请设计十进制加法指令制加法指令“ADD R2,R1”的微程序。的微程序。微程序流程图微程序流程图:微指令的格式:微指令的格式:解:解: 该十进制加法指令的微程序为:该十进制加法指令的微程序为:0000 0000 0000 1111 1000
41、1 00000 00000101 0010 0100 0000 00000 00000 1001 0100 0100 11000000 00000 10000 0000 0100 0100 1001 0000 00000 00000 0000(10)(01)5、CPU周期与微指令周期的关系 在串行方式的微程序控制器中,微指令周期等于在串行方式的微程序控制器中,微指令周期等于读出微指令的时间加上执行该条微指令的时间。读出微指令的时间加上执行该条微指令的时间。为了保证整个机器控制信号的同步,可以将一个为了保证整个机器控制信号的同步,可以将一个微指令周期时间设计得恰好和微指令周期时间设计得恰好和CP
42、U周期时间相等。周期时间相等。 比如,一个比如,一个CPU周期包含四个节拍脉冲周期包含四个节拍脉冲T1T4,可用可用T4作为读取微指令的时间,用作为读取微指令的时间,用T1+T2+T3时时间作为执行微指令的时间。间作为执行微指令的时间。程序计数器程序计数器PC地址寄存器地址寄存器AR缓冲寄存器缓冲寄存器DR指令寄存器指令寄存器IR微地址寄存器微地址寄存器AR微指令寄存器微指令寄存器IR主存储器主存储器控制存储器控制存储器CM微命令微命令地址译码器地址译码器地址译码地址译码机器指令级机器指令级微指令级微指令级6、机器指令与微指令的关系、机器指令与微指令的关系一条机器指令对应一个微程序,微程序由若
43、干条微指令序一条机器指令对应一个微程序,微程序由若干条微指令序列组成。前者与内存储器有关,后者与控制存储器有关。列组成。前者与内存储器有关,后者与控制存储器有关。5.4.2 微程序设计技术微程序设计技术 如何确定微指令的结构是微程序设计的关键如何确定微指令的结构是微程序设计的关键 设计微指令结构追求的目标:(设计微指令结构追求的目标:(1)有利于缩短)有利于缩短微指令字长度;(微指令字长度;(2)有利于减少控制存储器的)有利于减少控制存储器的容量;(容量;(3)有利于提高微程序的执行速度;()有利于提高微程序的执行速度;(4)有利于对微指令的修改;(有利于对微指令的修改;(5)有利于提高微程)
44、有利于提高微程序设计的灵活性。序设计的灵活性。 1、微命令编码、微命令编码 就是对微指令中的操作控制字段采用的表示方法。就是对微指令中的操作控制字段采用的表示方法。通常有以下三种方法:通常有以下三种方法:1、微命令编码 (1)直接表示法(不译法)直接表示法(不译法):特点是操作控制字段中的:特点是操作控制字段中的每一位代表一个微命令。优点:简单直观,其输出直接用每一位代表一个微命令。优点:简单直观,其输出直接用于控制;缺点:微指令字较长,使控制存储器容量较大。于控制;缺点:微指令字较长,使控制存储器容量较大。 (2)编码表示法编码表示法:把一组相斥性的微命令信号组成一个:把一组相斥性的微命令信
45、号组成一个小组(即一个字段),然后通过小组译码器对每一个微命小组(即一个字段),然后通过小组译码器对每一个微命令信号进行译码,译码输出作为操作控制信号。优点:可令信号进行译码,译码输出作为操作控制信号。优点:可使微指令字长大大缩短;缺点:由于增加译码电路,使微使微指令字长大大缩短;缺点:由于增加译码电路,使微程序的执行速度稍稍减慢。程序的执行速度稍稍减慢。 (3)混合表示法混合表示法:把直接表示法与字段编码法混合使用。:把直接表示法与字段编码法混合使用。2、微地址的形成方法 (1)计数器法:计数器法:在顺序执行微指令时,后继微地址由现行在顺序执行微指令时,后继微地址由现行微地址加上一个增量来产
46、生;发生转移时使现行微指令执微地址加上一个增量来产生;发生转移时使现行微指令执行后转去执行指定后继微地址的下一条微指令。这种方法行后转去执行指定后继微地址的下一条微指令。这种方法中微地址寄存器改为计数器,顺序执行的微指令序列必须中微地址寄存器改为计数器,顺序执行的微指令序列必须安排在控制存储器的连续单元中。安排在控制存储器的连续单元中。优点:微指令的顺序控优点:微指令的顺序控制字段较短,微地址产生机构简单;制字段较短,微地址产生机构简单;缺点:多路转移功能缺点:多路转移功能弱,速度慢,灵活性差。弱,速度慢,灵活性差。 (2)多路转移方式:多路转移方式:按顺序控制字段给出的按顺序控制字段给出的“
47、判别测试判别测试”标志和标志和“状态条件状态条件”信息来选择转移分支。信息来选择转移分支。“状态条件状态条件”有有n位标志,可实现微程序位标志,可实现微程序2n路转移。路转移。优点:能以较短的顺优点:能以较短的顺序控制字段配合,实现多路并行转移,灵活性好,速度较序控制字段配合,实现多路并行转移,灵活性好,速度较快。快。缺点:转移地址逻辑需要用组合逻辑方法设计。缺点:转移地址逻辑需要用组合逻辑方法设计。举例微地址寄存器有微地址寄存器有6位(位(A5-A0),当需要修改其内容时,可通过某一位当需要修改其内容时,可通过某一位触发器的强置端触发器的强置端S将其置将其置“1”。现有三种情况。现有三种情况
48、:(1)执行)执行“取指取指”微指令后,微程序按微指令后,微程序按IR的的OP字段(字段(IR3-IR0)进行)进行16路分支;路分支;(2)执行条件转移指令微程序时,按进位标志)执行条件转移指令微程序时,按进位标志C的状态进行的状态进行2路分支;路分支;(3)执行控制台指令微程序时,按)执行控制台指令微程序时,按IR4,IR5的状态进行的状态进行4路分支。请按路分支。请按多路转移方法设计微地址转移逻辑。多路转移方法设计微地址转移逻辑。解:我们知道,微地址的形成由解:我们知道,微地址的形成由“判别测试判别测试”标志和标志和“状态条件状态条件”信信息来选择,在考虑时间(假设在息来选择,在考虑时间
49、(假设在T4上升沿修改)。设有三个判别测试上升沿修改)。设有三个判别测试为为P1、P2、P3,分别对应状态条件(,分别对应状态条件(IR3-IR0)、)、C、(IR5-IR4)。则转。则转移逻辑表达式为:移逻辑表达式为: A5=P3IR5T4 A4=P3IR4T4 A3=P1IR3T4 A2= P1IR2T4 A1= P1IR1T4 A0= P1IR0T4+P2CT4断定方式 为了实现多路分支,将微地址的若干低位作为可断定的部为了实现多路分支,将微地址的若干低位作为可断定的部分,高位部分直接给定,相应地在微指令的顺序控制字段分,高位部分直接给定,相应地在微指令的顺序控制字段中设置或注明断定条件
50、。中设置或注明断定条件。给定部分给定部分 断定条件断定条件高位部分高位部分 低位部分低位部分微指令微指令微地址微地址 比如,微地址有比如,微地址有10位,断定条件位,断定条件A有有2位,给定部分字段的位数由位,给定部分字段的位数由断定条件确定。设:断定条件确定。设: A=01-低位字段为操作码(有低位字段为操作码(有操作码有操作码有4位,则给定位,则给定6位,可实位,可实现现16路分支)路分支) A=10-为源寻址方式(若有为源寻址方式(若有3位则可实现位则可实现8路分支)路分支) A=11-为目的寻址方式为目的寻址方式微指令根据编译方法不同分成微指令根据编译方法不同分成水平型水平型和和垂直型
51、垂直型两种格式两种格式(1):是指能是指能并行产生多个微命令并行产生多个微命令的微指令,的微指令,又有直接控制和编码控制两种具体格式又有直接控制和编码控制两种具体格式的的水平型微指令水平型微指令的格式:的格式: 的的水平型微指令水平型微指令的格式:的格式: :是完全是完全仿照机器指令的格式,仿照机器指令的格式,不具有不具有并并行性,行性,即每条微指令即每条微指令只能产生只能产生一、二个微命令一、二个微命令。 可看出:可看出:控制字段控制字段包含包含微操作微操作码、源部件地址和目标部件地址码、源部件地址和目标部件地址等三个字段,任何时候只能由微等三个字段,任何时候只能由微操作码字段经译码后产生操
52、作码字段经译码后产生一个微一个微命令命令C C,它完全,它完全不具有并行性不具有并行性,但,但是由于增设了源部件地址和目标是由于增设了源部件地址和目标部件地址字段,使得一个微命令部件地址字段,使得一个微命令可对不同的源和目标部件进行操可对不同的源和目标部件进行操作,这对于作,这对于减少微命令的个数减少微命令的个数是是有效的。但是由于每条微指令的有效的。但是由于每条微指令的功能简单功能简单,实现一条机器指令对,实现一条机器指令对应的微程序就应的微程序就要长得多要长得多。这种方。这种方法是采用法是采用较长的微程序较长的微程序结构去换结构去换取取较短的微指令较短的微指令结构。结构。例:某机采用微程序
53、控制方式,已知全机有例:某机采用微程序控制方式,已知全机有50个微命令,个微命令,控制存储器共控制存储器共128字,条件测试字段占字,条件测试字段占3位。解答下述问位。解答下述问题:题:(1)若采用直接控制的水平型微指令,请设计微指令的若采用直接控制的水平型微指令,请设计微指令的具体格式。具体格式。(2)若采用编码控制的水平型微指令,已知若采用编码控制的水平型微指令,已知50个微命令个微命令构成构成4个相斥类,分别包含个相斥类,分别包含4个、个、18个、个、22个和个和6个微命令,个微命令,其他条件不变,请设计微指令的具体格式。其他条件不变,请设计微指令的具体格式。 解:解:(1)由于控制存储
54、器共由于控制存储器共128字,则微地址需要位,条件测试字,则微地址需要位,条件测试字段位,采用直接控制的水平型微指令时需控制字段位,字段位,采用直接控制的水平型微指令时需控制字段位,故它的微指令的格式为:故它的微指令的格式为:C1C2 C50 P1 P2 P3微地址微地址(2)若采用编码控制的水平型微指令若采用编码控制的水平型微指令,它的微指令的格式为:它的微指令的格式为:3 P1 P2 P3 微地址微地址A组组组组组组组组 例:某例:某32位机共有微操作控制信号位机共有微操作控制信号52个,构成个,构成5个相斥类的个相斥类的微命令组,微命令组, 各组分别包含各组分别包含4个个, 5个个,8个
55、个, 15个和个和20个微命令。个微命令。已知可判定的外已知可判定的外 部条件有部条件有CY和和ZF两个,微指令字长两个,微指令字长29位。位。 (1)给出采用水平型微指令格式。给出采用水平型微指令格式。 (2)控制存储器的容量应为多少位?控制存储器的容量应为多少位?(1)微指令的格式如下所示:微指令的格式如下所示:(2)控存容量为:控存容量为:2829=256 29解解:例例:处理机逻辑框图中,有两条独立的总线和两个独立的存储器。已知指处理机逻辑框图中,有两条独立的总线和两个独立的存储器。已知指令存储器令存储器IM最大存储容量为最大存储容量为16384字(字长字(字长18位),数据存储器位)
56、,数据存储器DM最大最大存储容量为存储容量为65536字(字长字(字长16位)。各寄存器均有位)。各寄存器均有“打入打入”和和“送出送出”控控制命令,但图中未标注出。写出下列各寄存器的位数:制命令,但图中未标注出。写出下列各寄存器的位数:PC; IR;累加寄;累加寄存器存器 AC0和和AC1;通用寄存器;通用寄存器R0R3;IAR;IDR;DAR;DDR。 PC=14位位 IR=18位位AC0=AC1=16位位 R0R3=16位位IAR=14位位 IDR=18位位DAR=16位位 DDR=16位位解解:指令存储器指令存储器IM的容量的容量:1638418=21418数据存储器数据存储器:655
57、3616=21616 5.4.2 微程序设计技术微程序设计技术 1.1.静态微程序设计静态微程序设计对应于一台计算机的机器指令只有一组微程序,而且这对应于一台计算机的机器指令只有一组微程序,而且这一组微程序设计好之后,一般无须改变而且也不好改变一组微程序设计好之后,一般无须改变而且也不好改变2.2.动态微程序设计动态微程序设计采用采用E E2 2PROMPROM(电擦除可编程只读存储器)作为控制存储(电擦除可编程只读存储器)作为控制存储器,可以通过改变微指令和微程序来改变机器的指令系统器,可以通过改变微指令和微程序来改变机器的指令系统采用动态微程序设计,微指令和微程序可以根据需要加采用动态微程
58、序设计,微指令和微程序可以根据需要加以改变,因而可在一台机器上以改变,因而可在一台机器上仿真仿真其它机器指令系统其它机器指令系统5.6硬布线控制器硬布线控制器 硬布线控制器是早期设计计算机的一种方法,硬布线控制器是早期设计计算机的一种方法,把控制部件看作为产生专门固定时序控制信号的逻把控制部件看作为产生专门固定时序控制信号的逻辑电路(以辑电路(以使用最少元件和取得最高操作速度使用最少元件和取得最高操作速度为设为设计目标)这种逻辑电路是一种由计目标)这种逻辑电路是一种由门电路门电路和和触发器触发器构构成的复杂树形逻辑网络成的复杂树形逻辑网络硬布线控制的优点:速度较快;缺点:不容易硬布线控制的优点
59、:速度较快;缺点:不容易修改添加新功能修改添加新功能微程序控制的优点:具有规整性、灵活性、可微程序控制的优点:具有规整性、灵活性、可维护性等;缺点:采用存储程序原理,需要执行多维护性等;缺点:采用存储程序原理,需要执行多条微指令,速度较慢条微指令,速度较慢Ci=f(Im,Mi,Tk,Bj)硬布线控制器的指令周期流程图 在硬连线实现的操作控制器中,通常时序产生器除了产生在硬连线实现的操作控制器中,通常时序产生器除了产生节拍脉冲信号外,还应当产生节拍电位信号。节拍脉冲信号外,还应当产生节拍电位信号。 在微程序控制器中,微操作控制信号由微指令产生;而在在微程序控制器中,微操作控制信号由微指令产生;而
60、在硬连线控制器中,某一微操作控制信号由布尔代数表达式硬连线控制器中,某一微操作控制信号由布尔代数表达式描述的输出函数产生。描述的输出函数产生。:LDA 、STA 、ADD、AND、 JMP、JMPZ 、 COM 、HALT :就是就是根据指令操作流程图根据指令操作流程图的安排的安排,将将需要产需要产 生生同一个微操作同一个微操作 控制信号的条件控制信号的条件集中起来形集中起来形 成一个逻辑表达式成一个逻辑表达式,显然该模型机中应形成显然该模型机中应形成 20个逻辑表达式,例如:个逻辑表达式,例如: 传统传统CPUIntel 8088CPUIntel 8088CPU Intel 8088Inte
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年plc其中考试题及答案
- 2025年宫崎骏的面试试题及答案
- 2025年语文课外附加试题及答案
- 机电设备故障诊断与维修 第3版 课件 第1章 机械设备故障诊断与维修的基本知识
- 2025年中医药名称试题及答案
- 2025年云南语文考试试题及答案
- 2025年红师模考试题及答案
- 2025年山工院单招试题及答案
- 2025年西方文论考试题及答案
- 2025年初中平时测试题及答案
- 生物农药与生物防治学智慧树知到期末考试答案章节答案2024年浙江农林大学
- 四宫格儿童数独练习60题
- 淋巴结结核的个案护理
- 2024年内蒙古国有资本运营有限公司招聘笔试冲刺题(带答案解析)
- 三年级乘法口算500题
- 小班《认识正方形》课件
- 海洋农场与海洋牧场
- 北师大版二年级数学下册全册教材解读分析完整课件
- 名著《骆驼祥子》阅读任务单 统编版语文七年级下册
- 《毫米波TR组件》课件
- 娃哈哈公司员工手册
评论
0/150
提交评论