版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机组成原任课教师:叶晓霞广东海洋大学信息学院计算机系
信计1091-1092E-mail:xiaoxia7761@计算机组成原理第5章中央处理器
5.1CPU的组成和功能 5.7流水CPU5.2
指令周期
5.8RISCCPU5.3时序产生器和控制方式
5.4微程序控制器
5.5
硬布线控制器
当代主流计算机所遵循的仍然是冯.诺依曼的“存储程序、程序控制”思想
程序告诉计算机:应该逐步执行什么操作;在什么地方找到用来操作的数据,结果存到何处等
中央处理器是控制计算机自动完成取出指令和执行指令任务的部件。它是计算机的核心部件,通常简称为CPU(CentralProcessingUnit)5.1CPU的功能和组成5.1.1CPU的功能
★指令控制
保证机器按程序规定的顺序取出指令执行★操作控制
CPU产生每条指令所对应的操作信号,并把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作★时间控制
对各种操作的实施时间进行定时★数据加工
对数据进行算术运算和逻辑运算处理5.1.2CPU的基本组成
控制器完成对整个计算机系统操作的协调与指挥。
(1)控制机器从内存中取出一条指令,并指出下一条指令在内存中的位置;
(2)对指令进行译码,并产生相应的操作控制信号,送往相应的部件,启动规定的动作;
(3)指挥并控制CPU、内存与输入/输出(I/O)设备之间数据流动的方向运算器是数据加工处理部件,所进行的全部操作由控制器发出的控制信号指挥。
(1)执行所有的算术运算;
(2)执行所有的逻辑运算,并进行逻辑测试
Cache分为指令Cache和数据Cache,是主存部分内容的副本。 5.1.3
CPU中的主要寄存器
数据缓冲寄存器(DR)暂时存放由内存读出或写入的指令或数据字指令寄存器(IR)保存当前正在执行的一条指令程序计数器(PC)确定下一条指令的地址地址寄存器(AR)保存当前CPU所访问的数据所在内存单元的地址累加寄存器(AC)最常使用的一个通用寄存器(为ALU提供工作区)状态条件寄存器(PSW)保存由算术和逻辑指令的结果建立的各种条件码CPU的基本模型5.1.4操作控制器与时序产生器
操作控制器在各寄存器之间建立数据通路(传送信息的通路)操作控制器的功能:就是根据指令操作码和时序信号,产生各种操作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令的控制。操作控制器分为2种:硬布线控制器:采用时序逻辑技术实现微程序控制器:采用存储逻辑来实现时序产生器产生并发出计算机所需要的时序控制信号,即对各种操作信号实施时间上的控制。5.2
指令周期—读取指令指令地址送入主存地址寄存器读主存,读出内容送入指令寄存器—分析指令—按指令规定内容执行指令不同指令的操作步骤数和具体操作内容差异很大—检查有无中断请求若无,则转入下一条指令的执行过程形成下一条指令地址指令的执行过程取指令执行指令5.2.1指令周期的基本概念
指令周期
:
CPU从内存取出一条指令并执行完这条指令的时间总和
CPU周期
:
又称机器周期(总线周期),CPU访问内存所花的时间较长,因此用CPU从内存读取一条指令字的所需的最短时间来定义
时钟周期
:
通常称为节拍脉冲或T周期。一个CPU周期包含若干个时钟周期T
相互关系:
1个指令周期=若干个CPU周期
1个CPU周期=若干T周期
取指时间+执行指令时间取指时间指令周期·CPU周期
·时钟周期
任何一条指令,指令周期至少需要两个CPU周期。020
CLA
;累加器清0021
ADD30
;(AC)+(30)→AC
022
STA40
;(AC)→(40)023
NOP
;
空操作
024
JMP21
;
21→PC…030000006 ;数据
…040存和数 ;数据5条典型指令构成的简单程序一个CPU周期一个CPU周期取指令阶段执行指令阶段开始取指令PC+1对指令译码执行指令取下条指令PC+15.2.2CLA指令的指令周期020
CLA
;累加器清0取出CLA指令算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+10000202021222324303140CLAADD30STA40NOPJMP21000006000020CLACLA000021算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+12021222324303140CLAADD30STA40NOPJMP21000006000020CLACLA000021000000执行CLA指令5.2.3
ADD指令的指令周期
一个CPU周期一个CPU周期取指令阶段执行指令阶段开始取指令PC+1对指令译码送操作数地址取下条指令PC+1取出操作数执行加操作一个CPU周期021
ADD30
;(AC)+(30)→AC算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+12021222324303140CLAADD30STA40NOPJMP21000006000021ADDADD300000210000220000300000060+6=6000006取出并执行ADD指令5.2.4
STA指令的指令周期
022
STA40
;(AC)→(40)算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+120212223243040CLAADD30STA40NOPJMP21000006000022STASTA40000022000023000040000006000006000006取出并执行STA指令5.2.5NOP指令和JMP指令的指令周期023
NOP
;空操作
024
JMP21
;21→PC算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+120212223243040CLAADD30STA40NOPJMP21000006000024JMP21JMP21000024000021000006000006000025000021取出并执行JMP指令5.2.7用方框图语言表示指令周期在进行计算机设计时,可以采用方框图语言来表示指令周期。一个方框代表一个CPU周期,方框中的内容表示数据通路的操作或某种控制操作。菱形符号表示某种判别或测试,时间上依附于紧接它的前面一个方框的CPU周期。“~”符号表示一条指令已经执行完毕,转入公操作。所有指令的取指周期都是一个CPU周期,但执行周期因为每条指令的功能不同而各不相同。框图中DBUS数据总线,ABUS(D)数存地址总线,ABUS(I)指存地址总线,RD(D)数存读命令,WE(D)数存写命令,RD(D)指存读命令5条典型指令方框图例:如下所示为双总线结构机器的数据通路,IR为指令寄存器,PC为程序计数器(具有自增功能),M为主存(受R/W信号控制),AR为地址寄存器,DR为数据缓冲寄存器,ALU由加、减控制信号决定完成何种操作,控制信号G控制的是一个门电路。另外,线上标注有小圈表示有控制信号,例中yi表示y寄存器的输入控制信号,R1o为寄存器R1的输出控制信号,未标字符的线为直通线,不受控制。(1)“ADDR2,R0”指令完成(R0)+(R2)→R0的功能操作,画出其指令操作流程图,假设该指令的地址已放入PC中。并列出相应的微操作
控制信号序列。
(2)“SUBR1,R3”指令完成(R3)-(R1)→R3的操作,画出其指令操作流程图,并列出相应的微操作控制信号序列。↓解:↓↓↓↓
译码↓↓↓PCO,G,ARiDRO
,G,IRi
R/W=0(读)R2O
,G,Yi
R0O,G,Xi+,G,R0i↓↓
PC→AR等待读PC+1
DR→IR
R2→Y
R0→X
R/W(读)R0+R2→
R0↓↓↓
译码↓↓↓↓↓
PC→AR等待读PC+1
DR→IR
R3→Y
R1→X
R/W(读)R3-R1→
R3~~R3O
,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(写)↓↓
PC→AR等待读PC+1
DR→IR
R2→AR
R1→DR
等待写
R/W(读)
R/W(写)5.3
时序产生器和控制方式
用二进制码表示的指令和数据都放在内存里,那么CPU是怎样识别出它们是数据还是指令呢?
从时间上来说:取指令事件发生在指令周期的第一个CPU周期中,即发生在“取指令”阶段,而取数据事件发生在指令周期的后面几个CPU周期中,即发生在“执行指令”阶段。
从空间上来说:如果取出的代码是指令,那么一定经DR送往指令寄存器IR,如果取出的代码是数据,那么一定送往运算器。时间控制对计算机来说是非常重要的![思考]时序部件作用:用来产生执行机器指令过程中的各种时序信号,在各条不同指令的不同机器周期的不同节拍中应产生什么微操作控制信号是由指令操作流程图严格地规定的,所以时序部件实质上只需要产生各个机器周期中的节拍信息。时序信号:它由时序信号产生器产生,类似“作息时间”的东西,使计算机可以准确、迅速、有条不紊地工作。操作控制器就利用定时脉冲的顺序和不同的脉冲间隔,有条理、有节奏地指挥机器的动作,规定在这个脉冲到来时做什么,在那个脉冲到来时又做什么,给计算机各部分提供工作所需的时间标志。5.3.1时序信号的作用和体制
计算机的协调动作需要时间标志,而且需要采用多级时序体制。而时间标志则用时序信号来体现。时序信号最基本的体制是电位-脉冲制。
硬布线控制器中,时序信号往往采用主状态周期-节拍电位-节拍脉冲三级体制。主状态周期(指令周期):包含若干个节拍周期,可以用一个触发器的状态持续时间来表示节拍电位(机器周期):表示一个CPU周期的时间,包含若干个节拍脉冲节拍脉冲(时钟周期):表示较小的时间单位
微程序控制器中,时序信号则一般采用节拍电位-节拍脉冲二级体制。节拍脉冲节拍电位1主状态周期节拍电位2主状态周期-节拍电位-节拍脉冲数据准备好后,以电位的方式送触发器控制信号来到后,用一个脉冲信号把数据装入触发器数据:电位控制信号:脉冲节拍电位-节拍脉冲RDWET1T2T3T4RD°WE°T1°T2°T3°T4°RD’WR’Φ提供频率稳定且电平匹配的方波时钟脉冲信号,由石英晶体振荡器组成在机器上电后立即开始产生时钟脉冲序列,直至关电源为止,不允许有任何的间断。它相当于人的脉搏。产生一组有序的间隔相等或不等的脉冲序列启动停机5.3.2时序信号产生器
启停控制逻辑节拍脉冲和读写时序译码逻辑环形脉冲发生器时钟脉冲源只有通过启停逻辑部件将机器启动起来,时序部件才开始产生节拍信息(节拍电位和节拍脉冲),以控制全机开始工作。时序信号产生器DCPQQ。。RSDCQQ节拍电位与节拍脉冲时序关系图
①当R端有效时(即为低),将触发器置0②当S端有效时,将触发器置1③当R、S都无效且CP在上升沿时,将信息从D打入触发器节拍信号发生器启停控制逻辑5.3.3控制方式控制不同操作序列时序信号的方法叫做控制器的控制方式1.同步控制方式
已定的指令在执行时所需的CPU周期(机器周期)数和时钟周期数都固定不变。例如采用完全统一的机器周期执行各种不同的指令,特点:时序关系简单,但以牺牲速度为代价.2.异步控制方式
控制器发出某一操作控制信号后,等待执行部件完成操作后发“回答”信号,再开始新的操作。用这种方式形成的操作控制序列没有固定的CPU周期数(节拍电位)或严格的时钟周期(节拍脉冲)与之同步。特点:无时间浪费,但时序控制比较复杂.3.联合控制方式
同步控制和异步控制相结合的方式CPU周期取指周期CPU周期取源数CPU周期取目标数CPU周期执行周期P0P1P2W0W1完全同步控制方式W0W1…Wi第N条指令结束应答W0W1…Wj第N+1条指令结束应答启动下一条W0W1…Wk第N+2条指令结束应答异步控制方式启动下一条i、j、k不一定相等一般采用两条定时控制线:“请求”线和“回答”线5.4微程序控制器微程序控制器同硬布线控制器相比较,具有规整性、灵活性、可维护性等一系列优点它利用软件方法(微程序设计技术)来设计硬件微程序控制的基本思想就是把操作控制信号编成所谓的“微指令”,存放到一个只读存储器里(控制存储器CM)。当机器运行时,一条又一条地读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作。1、微命令和微操作处理器内部可以分为:控制部件和执行部件微命令:控制部件向执行部件发出的控制命令微操作:执行部件接受微命令后所进行的操作 (微操作在执行部件中是最基本的操作)微指令:实现一定操作功能的一组微命令微程序:实现一条机器指令功能的微指令序列指令系统=所有指令,指令=微程序微程序=若干微指令,微指令=一组微命令微命令→微操作机器指令与微指令程序机器指令1机器指令2机器指令i机器指令n……..………微指令2微指令1微指令i微指令n……..……..微程序微操作微操作在执行部件中是最基本的操作,可分为两种:相容性的微操作:指在同时或同一个CPU周期内可以并行执行的微操作。相斥性的微操作:指不能在同时或不能在同一个CPU周期内并行执行的微操作。在简单运算器模型中,R1、R2、R3三个寄存器通过多路开关输入ALU,ALU的结果可以同时送往三个寄存器。多路开关的每个开关门有控制器中相应的微命令(4、5、6、7、8、9)来控制,R1R2R3的时钟输入端由1、2、3加以控制。假定只有+、-、M(传送)三种操作。则1、2、3是相容的微操作可以同时进行,4、6、8是相斥的微操作。简单运算器数据通路图2、微指令和微程序微指令的基本格式由两部分组成:操作控制部分:用来发出管理和指挥全集工作的控制信号,每一位表示一个微命令。顺序控制部分:用来确定产生下一条微指令的地址。微指令格式举例可看出:20位控制字段可分别产生20个微命令,任何一条微指令要并行产生哪些微命令,只需将相应位置“1”。微地址字段占8位,表明控制存储器可存放256条微指令。条件测试字段占2位,采用编码方式,最多可有3个供测试的外部条件,加上不转移的情况正好构成4种编码。条件测试字段的长度取决于微指令可判定的外部条件的个数。如果外部条件有4个,考虑到还有无条件转移的情况,采用编码方式条件测试字段至少应有3位;微指令地址字段的长度取决于控制存储器的总字数。3、微程序控制器原理框图微程序控制器组成:主要由控制存储器、微指令寄存器(微地址寄存器和微命令寄存器)及地址转移逻辑三大部分组成。①控制存储器CM:用来存放实现全部指令系统的微程序,它是一种只读存储器。一旦微程序固化,机器运行时则只读不写。其工作过程是:每读出一条微指令,则执行这条微指令;接着又读出下一条微指令,又执行这一条微指令……。读出一条微指令并执行微指令的时间总和称为一个微指令周期。控制存储器的字长就是微指令字的长度,其存储容量视机器指令系统而定,即取决于微程序的数量。对控制存储器的要求是速度快,读出周期要短。②微指令寄存器:
用来存放由控制存储器读出的一条微命令信息。③地址转移逻辑:
微程序出现转移时,自动修改微地址。“十进制加法”指令:用BCD码完成十进制的加法运算。压缩的BCD码:用4位二进制数表示1位十进制数
例:(59)10=(01011001)BCD非压缩的BCD码:用8位二进制数表示1位十进制数例:(59)10=(0000010100001001)BCD数字的ASCII码是一种非压缩的BCD码(高4位没有意义)
DIGIT ASCII BCD0 30H 001100001 31H 001100012 32H 00110010… … …9 39H 001110014、微程序举例采用BCD码后,在二数相加的和数小于等于9时,十进制运算的结果是正确的;而当二数相加的和数大于9时,结果不正确,必须加6修正后才能得到正确结果。十进制加法指令19压缩BCD:00011001
2700100001+110
+08+00001000
(00100111)BCDAF=1
16压缩BCD:00010110
3000101010+110
+14+00010100
(00110000)BCD十进制加法微程序假定指令存放在指存中,数据a,b及常数6已存放在R1、R2、R3三个寄存器中,因此完成十进制加法的微程序中,执行周期要求先进行a+b+6运算,然后判断结果有无进位:当进位标志Cy=1,不减6;当Cy=0,减去6,从而获得正确结果。例:跟据下列微程序流程图和微指令的格式,请设计十进制加法指令“ADDR2,R1”的微程序。微程序流程图:微指令的格式:解:该十进制加法指令的微程序为:00000000
0000111110001000000000010100100100000000000000001001
010001001100000000000100000000
010001001001000000000000000000(10)(01)5、CPU周期与微指令周期的关系在串行方式的微程序控制器中,微指令周期等于读出微指令的时间加上执行该条微指令的时间。为了保证整个机器控制信号的同步,可以将一个微指令周期时间设计得恰好和CPU周期时间相等。比如,一个CPU周期包含四个节拍脉冲T1~T4,可用T4作为读取微指令的时间,用T1+T2+T3时间作为执行微指令的时间。程序计数器PC地址寄存器AR缓冲寄存器DR指令寄存器IR微地址寄存器μAR微指令寄存器μIR主存储器控制存储器CM微命令地址译码器地址译码机器指令级微指令级6、机器指令与微指令的关系一条机器指令对应一个微程序,微程序由若干条微指令序列组成。前者与内存储器有关,后者与控制存储器有关。5.4.2微程序设计技术如何确定微指令的结构是微程序设计的关键设计微指令结构追求的目标:(1)有利于缩短微指令字长度;(2)有利于减少控制存储器的容量;(3)有利于提高微程序的执行速度;(4)有利于对微指令的修改;(5)有利于提高微程序设计的灵活性。1、微命令编码就是对微指令中的操作控制字段采用的表示方法。通常有以下三种方法:1、微命令编码(1)直接表示法(不译法):特点是操作控制字段中的每一位代表一个微命令。优点:简单直观,其输出直接用于控制;缺点:微指令字较长,使控制存储器容量较大。(2)编码表示法:把一组相斥性的微命令信号组成一个小组(即一个字段),然后通过小组译码器对每一个微命令信号进行译码,译码输出作为操作控制信号。优点:可使微指令字长大大缩短;缺点:由于增加译码电路,使微程序的执行速度稍稍减慢。(3)混合表示法:把直接表示法与字段编码法混合使用。2、微地址的形成方法(1)计数器法:在顺序执行微指令时,后继微地址由现行微地址加上一个增量来产生;发生转移时使现行微指令执行后转去执行指定后继微地址的下一条微指令。这种方法中微地址寄存器改为计数器,顺序执行的微指令序列必须安排在控制存储器的连续单元中。优点:微指令的顺序控制字段较短,微地址产生机构简单;缺点:多路转移功能弱,速度慢,灵活性差。(2)多路转移方式:按顺序控制字段给出的“判别测试”标志和“状态条件”信息来选择转移分支。“状态条件”有n位标志,可实现微程序2n路转移。优点:能以较短的顺序控制字段配合,实现多路并行转移,灵活性好,速度较快。缺点:转移地址逻辑需要用组合逻辑方法设计。举例微地址寄存器有6位(μA5-μA0),当需要修改其内容时,可通过某一位触发器的强置端S将其置“1”。现有三种情况:(1)执行“取指”微指令后,微程序按IR的OP字段(IR3-IR0)进行16路分支;(2)执行条件转移指令微程序时,按进位标志C的状态进行2路分支;(3)执行控制台指令微程序时,按IR4,IR5的状态进行4路分支。请按多路转移方法设计微地址转移逻辑。解:我们知道,微地址的形成由“判别测试”标志和“状态条件”信息来选择,在考虑时间(假设在T4上升沿修改)。设有三个判别测试为P1、P2、P3,分别对应状态条件(IR3-IR0)、C、(IR5-IR4)。则转移逻辑表达式为:μA5=P3·IR5·T4μA4=P3·IR4·T4μA3=P1·IR3·T4μA2=P1·IR2·T4μA1=P1·IR1·T4μA0=P1·IR0·T4+P2·C·T4断定方式为了实现多路分支,将微地址的若干低位作为可断定的部分,高位部分直接给定,相应地在微指令的顺序控制字段中设置或注明断定条件。给定部分断定条件高位部分低位部分微指令微地址比如,微地址有10位,断定条件A有2位,给定部分字段的位数由断定条件确定。设:A=01-----低位字段为操作码(有操作码有4位,则给定6位,可实现16路分支)A=10-----为源寻址方式(若有3位则可实现8路分支)A=11-----为目的寻址方式3、微指令的格式:
微指令格式:微操作码(控制字段):用来确定该微指令所能产生的微命令.微地址码:用来确定将要执行的下条微指令在控制存储器中的地址。微操作码微地址码微指令根据编译方法不同分成水平型和垂直型两种格式
(1)水平型微指令:是指能并行产生多个微命令的微指令,又有直接控制和编码控制两种具体格式直接控制的水平型微指令的格式:
编码控制的水平型微指令的格式:
实际中也可将直接控制和编码控制结合起来形成混合型的水平型微指令格式.
(2)垂直型微指令:是完全仿照机器指令的格式,不具有并行性,即每条微指令只能产生一、二个微命令。
可看出:控制字段包含微操作码、源部件地址和目标部件地址等三个字段,任何时候只能由微操作码字段经译码后产生一个微命令C,它完全不具有并行性,但是由于增设了源部件地址和目标部件地址字段,使得一个微命令可对不同的源和目标部件进行操作,这对于减少微命令的个数是有效的。但是由于每条微指令的功能简单,实现一条机器指令对应的微程序就要长得多。这种方法是采用较长的微程序结构去换取较短的微指令结构。例:某机采用微程序控制方式,已知全机有50个微命令,控制存储器共128字,条件测试字段占3位。解答下述问题:
(1)若采用直接控制的水平型微指令,请设计微指令的具体格式。
(2)若采用编码控制的水平型微指令,已知50个微命令构成4个相斥类,分别包含4个、18个、22个和6个微命令,其他条件不变,请设计微指令的具体格式。解:(1)由于控制存储器共128字,则微地址需要7位,条件测试字段3位,采用直接控制的水平型微指令时需控制字段50位,故它的微指令的格式为:
C1C2‥‥‥C50P1P2P3微地址7(2)若采用编码控制的水平型微指令,它的微指令的格式为:733553
P1P2P3微地址
A组B组C组D组
例:某32位机共有微操作控制信号52个,构成5个相斥类的微命令组,各组分别包含4个,5个,8个,15个和20个微命令。已知可判定的外部条件有CY和ZF两个,微指令字长29位。
(1)给出采用水平型微指令格式。
(2)控制存储器的容量应为多少位?
(1)微指令的格式如下所示:(2)控存容量为:28×29=256×29解:例:处理机逻辑框图中,有两条独立的总线和两个独立的存储器。已知指令存储器IM最大存储容量为16384字(字长18位),数据存储器DM最大存储容量为65536字(字长16位)。各寄存器均有“打入”和“送出”控制命令,但图中未标注出。写出下列各寄存器的位数:PC;IR;累加寄存器AC0和AC1;通用寄存器R0—R3;IAR;IDR;DAR;DDR。
PC=14位IR=18位AC0=AC1=16位R0—R3=16位IAR=14位IDR=18位DAR=16位DDR=16位解:指令存储器IM的容量:16384×18=214×18数据存储器:65536×16=216×16
5.4.2微程序设计技术1.静态微程序设计对应于一台计算机的机器指令只有一组微程序,而且这一组微程序设计好之后,一般无须改变而且也不好改变2.动态微程序设计采用E2PROM(电擦除可编程只读存储器)作为控制存储器,可以通过改变微指令和微程序来改变机器的指令系统采用动态微程序设计,微指令和微程序可以根据需要加以改变,因而可在一台机器上仿真其它机器指令系统5.6硬布线控制器硬布线控制器是早期设计计算机的一种方法,把控制部件看作为产生专门固定时序控制信号的逻辑电路(以使用最少元件和取得最高操作速度为设计目标)这种逻辑电路是一种由门电路和触发器构成的复杂树形逻辑网络硬布线控制的优点:速度较快;缺点:不容易修改添加新功能微程序控制的优点:具有规整性、灵活性、可维护性等;缺点:采用存储程序原理,需要执行多条微指令,速度较慢组合逻辑控制器与其它部件的关系:
Ci:微操作控制信号Im:指令TK:时序信号Bj:运算结果反馈信息Ci=f(Im,Mi,Tk,Bj)硬布线控制器的指令周期流程图在硬连线实现的操作控制器中,通常时序产生器除了产生节拍脉冲信号外,还应当产生节拍电位信号。在微程序控制器中,微操作控制信号由微指令产生;而在硬连线控制器中,某一微操作控制信号由布尔代数表达式描述的输出函数产生。硬布线控制器的设计过程微操作综合形成逻辑表达式
化简逻辑表达式
用逻辑电路去实现表达式硬布线控制器设计举例:若某主机的结构如图:若该机主要有以下几条指令:LDA、STA、ADD、AND、
JMP、JMPZ、COM、HALT…
则该机的硬布线控制器的设计过程为:①微操作综合:就是根据指令操作流程图的安排,将需要产生同一个微操作
控制信号的条件集中起来形成一个逻辑表达式,显然该模型机中应形成
20个逻辑表达式,例如:
JMP·M2·T1+JZ·M2·T3·(ZF=1)RDM(C13)=Ml·T2+LDA·M2·T2+ADD·M2·T2+AND·M2·T2LDAR(C16)=Ml·T1+LDA·M2·T1+STA·M2·T1+ADD·M2·T1+AND·M2·T1DR→X(C8)=LDA·M2·T4+ADD·M2·T4+AND·M2·T4LDPC(C18)=…………②将表达式化为最简形式如:M2·【JMP·T1+JZ·T3·(ZF=1)】RDM(C13)=Ml·T2+M2·T2·(LDA+ADD+AND)LDAR(C16)=DR→X(C8)=M2·T4·(LDA+ADD+AND)LDPC(C18)=…………Ml·T1+M2·T1·(LDA+STA+ADD+AND)③用电路去实现这些逻辑表达式:
上面仅仅是产生4个微操作控制信号用硬件电路来实现的电路图,对于一台具有几十个,几百个微操作控制信号的计算机,其组合逻辑控制器将是非常复杂、非常繁琐、无规律可循,设计工作量大,尤其是这样的组合逻辑控制器一旦设计完毕,要想进行任何修改将是非常困难的。
于是在1951年英国剑桥大学M.V.Wilkes教授首先提出了用软件(程序)来产生微控制信号,它的设计基本思想是:用执行每条机器指令时它们各自所需要的微操作控制。传统CPUIntel8088CPUIntel8088是一种通用的准16位微处理器,其内部结构为16位,与外部交换的数据为8位。它可以处理16位数据(具有16位运算指令,包括乘除法指令),也可处理8位数据。它有20条地址线,直接寻址能力达到1M字节。CPU从功能上来说分成总线接口单元BIU和执行单元EU两大部分。BIU负责与存储器和外围设备接口,即8088CPU与存储器和外围设备之间的信息传送,都是由BIU进行的。EU部分负责指令的执行。取指部分与执行指令部分是独立并行工作的,在一条指令的执行过程中,可取出下一条(或多条)指令,在指令流队列寄存器中排队。在一条指令执行完以后就可以立即执行下一条指令,减少了CPU为取指令而等待的时间,提高了系统的运行速度。5.7流水CPU5.7.1并行处理技术早期的计算机基于冯·诺伊曼的体系结构,采用的是串行处理,各个操作只能串行地完成,即任一时刻只能进行一个操作。而并行处理则使得各个操作能同时进行,从而大大提高计算机的速度。并行性的两种含义同时性:指两个以上事件在同一时刻发生;并发性:指两个以上事件在同一时间间隔内发生。并行处理的三种形式
时间并行:指时间重叠,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。空间并行:指资源重复。设置多套硬件设备同时工作。时间并行+空间并行:指时间重叠和资源重复综合应用。5.7.2CPU的流水结构洗衣房的流水作业三个阶段:1.水洗(30)2.烘干(40)3.熨烫(20)ABCD6PM789TaskOrderTime304040404020演示计算机的流水处理过程非常类似于工厂中的流水装配线。为了实现流水,首先把输入的任务(或过程)分割为一系列子任务,并使各子任务能在流水线的各个阶段并发地执行。当任务连续不断地流入流水线时,在流水线的输出端片连续不断地吐出执行结果,从而实现了子任务级的并行性。流水线的时空图流水线技术:把一个重复的过程分解为若干个子过程,每个子过程可以与其他子过程同时进行。描述流水线的工作,最常用的方法是时间-空间图(时空图)横坐标:表示时间,即各个任务在流水线中所经过的时间纵坐标:表示空间,即流水线的各个子过程,也称为级、段、流水线深度(Stage)标量流水计算机:只有一条指令流水。超标量流水计算机:具有两条以上的指令流水。下图表示流水CPU中一个指令周期的任务分解
指令流水线
IF(InstructionFetch) 取指令阶段ID(InstructionDecode) 指令译码阶段EX(Execute) 执行运算阶段MEM(MemoryAccess) 存储器访问阶段WB(WriteBack) 写回结果阶段WB非流水计算机的时空图每4个机器周期才有一个输出结果流水计算机的时空图每个机器周期可以输出一个结果演示流水线的特点流水线实际上是把一个功能部件分解成多个独立的子功能部件(一个任务也就分成了几个子任务,每个子任务由一个子功能部件完成),并依靠多个子功能部件并行工作来缩短所有任务的执行时间流水线有助于提高整个程序(所有任务)的吞吐率,但并没有减少每个指令(任务)的执行时间流水线各个功能段所需时间应尽量相等。否则,时间长的功能段将成为流水线的“瓶颈”,会造成流水线的“阻塞”(Stall)流水线开始需要“通过时间”(Fill)和最后需要“排空时间”(Drain)。流水线只有处理连续不断的任务才能发挥其效率流水线的分类根据不同的并行等级分为:1、指令流水线:指指令步骤的并行。2、算术流水线:指运算操作步骤的并行。如流水加法器、流水乘法器、流水除法器等3、处理机流水线:又称宏流水线,是指程序步骤的并行。在多机系统中使用。流水线的性能分析
衡量流水线性能的主要指标有:
吞吐率、加速比。
1、吞吐率(TP)
吞吐率是指在单位时间内流水线所完成的任务数或输出的结果数量。TP=n/Tn(其中n为任务数,Tn处理完n个任务所用的时间)2、加速比S
加速比是指采用流水方式后的工作速度与等效的顺序串行方式的工作速度之比。若m段流水的各段时间相等,则加速比为:
S=T0/Tn=nm△t0/(m△t0+(n-1)△t0)=m/(1+(m-1)/n)仅当n>>m时,S=m(流水深度)5.7.3流水线中的主要问题流水线中存在一些相关(冲突、冒险Hazard、依赖Dependence,竞争Competition)的情况,它使得下一条指令无法在设计的时钟周期内执行。这些相关将降低流水线性能主要有三种类型的相关(冲突)结构相关(资源冲突):当指令重叠执行过程中,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度校园环境优化:学校转让合同3篇
- 二零二五年度装配式建筑构件生产施工合同范本6篇
- 二零二五年度生态修复型管沟土石方施工劳务合同2篇
- 《《噩梦镇》翻译实践报告》
- 2024版股权转让投资合同
- 二零二五年度测绘成果保密保护协议3篇
- 二零二五年度合租房屋租赁及智能家居设备租赁合同3篇
- 二零二五年度学生社团加入合同3篇
- 青岛滨海学院《艺术与国际关系学》2023-2024学年第一学期期末试卷
- 宁波城市职业技术学院《学校体育学概论》2023-2024学年第一学期期末试卷
- 八年级地理(下册星球版)复习提纲
- 新建3000只肉羊养殖基地建设项目可行性研究报告
- 山东省济南市2023-2024学年高二上学期期末考试生物试题 附答案
- DB32T 3292-2017 大跨径桥梁钢桥面环氧沥青混凝土铺装养护技术规程
- GB/T 44819-2024煤层自然发火标志气体及临界值确定方法
- 《MATLAB编程及应用》全套教学课件
- 喜欢新老师(教学设计)-2024-2025学年岭美版(2024)美术一年级上册
- 《销售技巧培训》课件
- 抖音本地生活培训
- 城市规划设计收费标准(中国城市规划协会)参照-202104020
- 2019年海南省公务员考试申论真题(乙类)
评论
0/150
提交评论