计算机组成原理课件第五章-CPU的结构和功能

上传人:沈*** 文档编号:241784808 上传时间:2024-07-24 格式:PPT 页数:167 大小:5.04MB
返回 下载 相关 举报
计算机组成原理课件第五章-CPU的结构和功能_第1页
第1页 / 共167页
计算机组成原理课件第五章-CPU的结构和功能_第2页
第2页 / 共167页
计算机组成原理课件第五章-CPU的结构和功能_第3页
第3页 / 共167页
点击查看更多>>
资源描述
学时:14学时重点:掌握CPU的基本结构和基本功能5-15-15-25-25-35-3一、什么是一、什么是CPUCPU?所谓中央处理器是控制计算机来自动完成取出指令所谓中央处理器是控制计算机来自动完成取出指令和执行指令任务的部件。它是计算机的核心部件,通常和执行指令任务的部件。它是计算机的核心部件,通常简称为简称为CPUCPU。 运算器组成运算器组成 运算器功能运算器功能 执行所有的算术运算。执行所有的算术运算。执行所有的逻辑运算。执行所有的逻辑运算。由算术逻辑单位(由算术逻辑单位(ALUALU)、累加寄存器、数据缓冲寄存器和状态条件寄存器组成,它是)、累加寄存器、数据缓冲寄存器和状态条件寄存器组成,它是 数据加数据加工处理部件。相对控制器而言,运算器接受控制器的命令而进行动作,即运算器所进行的全部工处理部件。相对控制器而言,运算器接受控制器的命令而进行动作,即运算器所进行的全部操作都是由控制器发出的控制信号来指挥的,所以它是执行部件操作都是由控制器发出的控制信号来指挥的,所以它是执行部件 控制器组成控制器组成 控制器功能控制器功能由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,它是发布命令由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,它是发布命令的的“决策机构决策机构”,即完成协调和指挥整个计算机系统的操作,即完成协调和指挥整个计算机系统的操作1.1.从内存中取出一条指令,并指出下一条指令在内存中的位置从内存中取出一条指令,并指出下一条指令在内存中的位置2.2.对指令进行译码或测试,并产生相应的控制信号对指令进行译码或测试,并产生相应的控制信号3.3.指挥并控制指挥并控制 CPU CPU、内存和、内存和I/OI/O之间的数据流动的方向。之间的数据流动的方向。地址数据57061007661077304031地址OP码地址码101MOVR0,R1102LADR1,6103ADDR1,R2104STOR2,(R3)105JMP101106ANDR1,R3107R0R1R2R3数存cache指存cacheAR数据地址总线指令地址总线控制信号OCPCIR指令寄存器C1C2C1C2C3Cn累加寄存器累加寄存器 指令寄存器指令寄存器程序计数器程序计数器状态寄存器状态寄存器CPU数据寄存器数据寄存器地址寄存器地址寄存器五、控制器的组成五、控制器的组成1.1.程序计数器程序计数器用来存放正在执行的指令的地址或接着将要执行的下一条指令的地址。顺序执行时,每执行一条指令,PC的值应加1要改变程序执行顺序的情况时,一般由转移类指令将转移目标地址送往PC,可实现程序的转移。2.2.指令寄存器指令寄存器指令寄存器用来存放从存储器中取出的待执行的指令。在执行该指令的过程中,指令寄存器的内容不允许发生变化,以保证实现指令的全部功能。3.3.指令译码器指令译码器暂存在指令寄存器中的指令只有在其操作码部分经译码后才能识别出是一条什么样的指令。译码器经过对指令进行分析和解释,产生相应的控制信号提供给时序控制信号形成部件。4.4.工作节拍、脉冲及启停控制线路工作节拍、脉冲及启停控制线路由脉冲源产生一定频率的脉冲信号作为整个机器的时钟脉冲5.5.时序控制信号形成部件时序控制信号形成部件时序控制信号形成部件又称微操作信号发生器,真正控制各部件工作的微操 作信号是由指令部件提供的操作信号、时序部件提供的时序信号、被控制功 能部件所反馈的状态及条件综合形成的。数据通路:数据通路:通常把许多寄存器之间传送信息的通路,称为“数据通路”。操作控制器:操作控制器:根据指令操作码和时序信号,产生各种操作信号,以便正确建 立数据通路,从而完成取指令和执行指令的操作。时序产生器:时序产生器:因为计算机高速地进行工作,每一个动作的时间是非常严格的,不能有任何差错。时序产生器的作用,就是对各种操作实施时间上的控制。机器周期机器周期指令周期指令周期时钟周期时钟周期一、指令周期的基本概念一、指令周期的基本概念指令周期:指取指令、分析指令到执行完该指令所需的全部时间请问:不同指令的指令周期相同吗?机器周期:通常又称机器周期:通常又称CPUCPU周期周期 u通常把一条指令周期划分为若干个机器周期,每个机器周期完成一个基本操作。u主存的工作周期(存取周期)为基础来规定CPU周期,比如,可以用 CPU读取一个指令字的最短时间来规定CPU周期 u不同的指令,可能包含不同数目的机器周期 u一个机器周期中,包含若干个机器周期(节拍脉冲或T脉冲)uCPU周期规定,不同的计算机中规定不同 时钟周期时钟周期u在一个机器周期内,要完成若干个微操作。这些微操作有的可以同时执行,有的需要按先后次序串行执行。因而需要把一个机器周期分为若干个相等的时间段,每一个时间段称为一个节拍。节拍常用具有一定宽度的电位信号表示,称之为节拍电位。u节拍的宽度取决于CPU完成一次基本的微操作的时间,如:ALU完成一次正确的运算,寄存器间的一次数据传送等。指令周期T周期CPU周期CPU周期T1T2T3T4(取指令)(执行指令)取指取指分析分析执行执行二、一条指令的执行过程二、一条指令的执行过程开始下一条指令的执行形成下一条指令的地址取指周期取指周期间址周期间址周期中断周期八八进制地址制地址指令助指令助记符符说明明100程序执行前(R0)=00,(R1)=10,(r2)=20,(R3)=30;101MOV R0,R1传送指令MOV执行(R1)R0;102LAD R1,6取数指令LAD从数存6号单元取数(100)R1103ADD R1,R2加法指令ADD执行(R1)+(R2)R2,结果为(R2)=120103STO R2,(R3)存数指令STO用(R3)间接寻址,(R2)=120写入数存30号单元105JMP 101转移指令JMP改变程序执行顺序到101单元106AND R1,R3逻辑乘AND指令执行(R1)(R3)R3指令存储器八进制地址八进制数据说明5706100执行LAD指令后,数存6号单元的数据100仍保存在其中76610773040(120)执行STO指令后,数存30号单元的数据由40变为120数据存储器一个CPU周期一个CPU周期取指令阶段执行指令阶段开始取指令PC+1对指令译码执行指令取下条指令PC+1MOV指令的指令周期:包含两个CPU周期,取指周期和执行周期。取指周期中CPU完成三件事:(1)从指存中取出指令;(2)对程序计数器PC加1,以便为取下一条指令做好准备;(3)对指令操作码进行译码或测试,以便确定进行什么操作。执行周期中CPU根据对指令操作码的译码或测试,进行指令所要求的操作。一个CPU周期一个CPU周期取指令阶段执行指令阶段一个CPU周期对指令译码取指令PC+1送操作数地址取出操作数装入通用寄存器取下条指令PC+1开始LDA指令的指令周期一个CPU周期一个CPU周期取指令阶段执行指令阶段一个CPU周期对指令译码取指令PC+1送操作数地址送操作数写数存取下条指令PC+1开始STO指令的指令周期一个CPU周期一个CPU周期取指令阶段执行指令阶段开始取指令PC+1对指令译码送转移地址取下条指令PC+1JMP指令的指令周期MOVMOV R0,R1地址数据57061007661077304031地址OP码地址码101MOVR0,R1102LADR1,6103ADDR1,R2104STOR2,(R3)105JMP101106ANDR1,R3107R0R1R2R3数存cache指存cacheAR数据地址总线指令地址总线控制信号OCPCIR指令寄存器C1C2C1C2C3Cn101程序计数器OP码地址码R0,R1C2102+1指令寄存器时序发生器操作控制器002030数据缓冲寄存器状态寄存器10ALU101010MOV地址数据57061007661077304031地址OP码地址码101MOVR0,R1102LADR1,6103ADDR1,R2104STOR2,(R3)105JMP101106ANDR1,R3107R0R1R2R3数存cache指存cacheAR数据地址总线指令地址总线控制信号OCPCIR指令寄存器C1C2C1C2C3Cn+1下面以一个简单的程序来具体认识每一条指令的指令周期和执行过程。内存地址内存内容助记符所完成的操作020250000CLA将累加器的内容请零021030030ADD30(A)+(30)A022021040STA40(A)(40)023000000NOP024140021JMP2121PC030000006031040存和数单元CLA指令的指令周期非访内指令需要两个CPU周期。在第一个CPU周期,即取指令阶段,CPU完成三件事:(1)从内存取出指令;(2)对程序计数器PC加1,以便为取下一条指令做好准备;(3)对指令操作码进行译码或测试,以便确定进行什么操作。在第二个CPU周期,即执行指令阶段,将累加器A的内容清零。一个CPU周期一个CPU周期取指令阶段执行指令阶段开始取指令PC+1对指令译码执行指令取下条指令PC+1算术逻辑单元状态条件寄存器程序记数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+1000 0202021222324303140CLAADD 30STA 40NOPJMP 21000 006000 020CLACLA000 021算术逻辑单元状态条件寄存器程序记数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+12021222324303140CLAADD 30STA 40NOPJMP 21000 006000 020CLACLA000 021ADD指令的指令周期 ADD指令的指令周期由三个CPU周期组成。第一个CPU周期为取指令阶段。第二个CPU周期中将操作数的地址送往地址寄存器并完成地址译码。在第三个CPU周期中从内存取出操作数并执行相加的操作。一个CPU周期一个CPU周期取指令阶段执行指令阶段开始取指令PC+1对指令译码送操作数地址取下条指令PC+1取出操作数执行加操作一个CPU周期算术逻辑单元状态条件寄存器程序记数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+12021222324303140CLAADD 30STA 40NOPJMP 21000 006000 021ADDADD 30000 021000 022000 030000 0060+6=6000 006STA指令的指令周期 STA指令的指令周期由四个CPU周期组成。其中第一个CPU周期仍然是取指令阶段,其过程和CLA指令、ADD指令完全一样,不同的是此阶段中程序计数器加1后变为023,因而为取第四条指令做好了准备。我们假定,第一个CPU周期后结束,“STA 40”指令已放入指令寄存器并完成译码测试。算术逻辑单元状态条件寄存器程序记数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+120212223243040CLAADD 30STA 40NOPJMP 21000 006000 022STASTA 40000 022000 023000 040000 006000 006000 006NOP指令和JMP指令的指令周期 NOP指令是一条空指令,包含两个CPU周期,第一个周期取指令,第二个周期执行指令,因是空指令,所以操作控制器不发出任何控制信号。JMP指令由两个CPU周期组成,第一个周期是取指令周期,同其他指令。第二个周期为执行阶段,CPU把指令寄存器中的地址码部分21送到程序计数器,从而用新内容21代替PC原先的内容25,这样,下一条指令将不从25单元中读出,而从21电源开始读出并执行,从而改变了程序原先的执行顺序。算术逻辑单元状态条件寄存器程序记数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+120212223243040CLAADD 30STA 40NOPJMP 21000 006000 024JMP 21JMP 21000 024000 021000 006000 006000 025000 021用方框图语言表示指令周期 在进行计算机设计时,可以采用方框图语言来表示一条指令的指令周期。一个方框代表一个CPU周期,方框中的内容表示数据通路的操作或某种控制。一个菱形符号代表某种判别或测试,不过时间它依附于它前面一个方框的CPU周期,而不单独占用一个CPU周期。符号“”代表一个公操作。PCAR ABUSDBUS DR IRPC+1译码或测试0 ACIR ARIR ARIR PCPCARAR ABUSDBUS DRRDALUALUACAR ABUSACDRDRDBUSCLAADDSTAJMPNOP小结:各类信息的传送路径指令:M-DR-DBUS-IR地址:PC-ABUS-AR-(取决于寻址方式)数据:寄存器-寄存器 总线直接传送寄存器-存储器 Ri-DBUS-DR-M存储器-寄存器 M-DR-BUS-Ri例:如图所示为双总线结构机器的数据通路,控制信号G控制的是一个门电路。1.“ADD R2,R0”指令完成(R0)+(R2)R0功能操作。假设该指令的地址已放入 PC中。2.“SUB R1,R3”指令完成(R3)-(R1)R3的功能操作 。IRPCARDRR0 R1 R2 R3MABALUIRiIRoPCiPCiARiDRiDRoR0iR0oR3iR3oXiYiA总线B总线G+-R/WPCARMDRDRIRR2YR0XR0+R2R0PCARMDRDRIRR3YR1XR3-R1R3PC0,G,ARiDR0,G,IRiR2o,G,YiR00,G,Xi+,G,R0I R/W=RR3o,G,YiR1o,G,Xi-,G,R3i时序信号的作用和体制计算机的协调动作需要时间标志,而时间标志则是用时序信号来体现的。操作控制器发出的各种控制信号都是时间因素(时序信号)和空间因素(部件位置)的函数。组成计算机硬件的器件特性决定了时序信号最基本的体制是电位-脉冲制。常用的操作控制器有两种:硬布线控制器微程序控制器 硬布线控制器中时序信号采用主状态周期主状态周期节拍电位节拍电位节拍脉冲节拍脉冲 三级体制微程序控制中时序信号采用节拍电位节拍电位节拍脉冲节拍脉冲二级体制。主状态周期(指令周期):包含若干个节拍周期,可以用一个触发器的状态持续时间来表示。节拍电位(机器周期):包含若干个节拍脉冲,表示较大的时间单位。节拍脉冲(时钟周期):表示较小的时间单位。时序信号产生器的组成时钟源环形脉冲发生器节拍脉冲和读/写时序的译码启停控制逻辑启停控制逻辑节拍脉冲和对时序译码逻辑环形脉冲发生器 IORQ MREQ RD WE T1 T2 T3 T4 IORQ MREQ RD WE T1 T2 T3 T4MERQIORQRDWR时钟脉冲源时钟脉冲源环形脉冲发生器 节拍脉冲和对时序译码逻辑启停控制逻辑用来位环形脉冲发生器提供频率稳定且电平匹配的方波时钟脉冲信号。有石英晶体振荡器组成。产生一组有序的间隔相等或不等的脉冲序列。通常采用循环移位寄存器。控制方式同步控制方式:在任何情况下,已定的指令在执行时所需的机器周期数和时钟周期数都是固定不变的。采用完全统一的机器周期执行各种不同的指令。这意味这所有指令周期具有相同的节拍电位和相同的节拍脉冲数。采用不定长的机器周期。中央控制和局部控制相结合。中央控制:就是将大部分指令安排在固定的机器周期完成。局部控制:对少数复杂的指令采用另外的时序进行定时。同步控制方式:时钟微操作信号1微操作信号2异步控制方式:每条指令、每个操作控制信号 需要多少时间就占用多少时间。这意味着每条指令的指令周期可由多少不等的机器周期数组成。异步控制方式命令1命令2操作信号1回答1操作信号2回答2命令3联合控制方式:将同步控制方式和异步控制方式相结合的方式。程序计数器PC地址形成部件操作码 地址码译码微操作信号形成节拍发生器时钟源中断控制逻辑状态寄存器微操作信号I/O信息控制台信息+1送AR基本概念组成工作过程微程序举例微程序设计技术微程序控制器的设计方法基本概念微命令微操作微指令微程序控制存储器微地址微程序控制器的基本思想:将微操作控制信号按一定规则进行信息编码(代码化)形成控制字(微指令),一条机器指令对应一段“程序”,该程序存放在控制存储器中,因为“程序”的指令结果是实现一条机器指令的功能,所以称为“指令的微程序”微命令:控制部件通过控制线向执行部件发出各种控制命令,通常把这种控制命令称为微命令。微操作:执行部件接受微命令后所进行的操作 ,称为微操作。微指令:在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合,构成一条微指令。微程序:微指令序列为微程序。程序机器指令1机器指令2机器指令i机器指令n.微指令2微指令1微指令i微指令n.微程序控制存储器:用来存放微程序的一高速存储器。微地址:人们常把全部指令的控制字存放在一个高速存储器中,即控制存储器中(简称控存),控存的一个单元的内容即控制字代表了某一个节拍的一组微操作控制信号的信息,而把控存单元的地址称为“微地址”。控制存储器:用来存放实现全部指令系统的微程序。微指令寄存器:用来存放由控制存储器读出的一条微指令信息。微地址转移逻辑:自动完成修改微地址的任务。微程序控制器原理框图控制存储器地址译码微地址寄存器OPP字段控制字段地址转移逻辑状态条件指令寄存器微命令信号 微程序控制器的工作过程实质上就是在微程序控制器的控制下,计算机执行机器指令的过程。1.从控存中取出一段“取机器指令”用的微程序,称为取指微程序,这是一段公用的微操作,其首址通常方在“0”号微地址单元。该微程序完成从主存中读取机器指令并送往指令寄存器。2.机器指令操作码通过微地址形成部件,产生对应的微程序入口地址,并送入微地址寄存器。3.逐条取出对应的微指令,每一条微指令提供一个微命令序列,控制有关的微操作。4.执行完对应于一条机器指令的一段微程序后,返回到取指微程序的入口,以便取出下一条机器指令。不断重复,直至程序执行完毕。ALUR1R2R3Cy+MDR4689751234567891011121314151617181920212223微指令的格式:微指令的格式:LDR1LDR2LDR3R1YR2XR2YR1XDRXR3Y +M -RDLDDRLDIRLDARPC+1 P1 P2直接地址操作控制顺序控制举例:“十进制加法”指令的微程序控制的过程。“十进制加法”指令的功能是用BCD码来完成十进制数的加法运算。在十进制运算时,当相加二数之和大于9时,便产生进位,要进行加6修正;当相加二数之和小于等于9时,结果是正确的。假定数a和b 已存放在R1和R2两寄存器中,数6存放在R3寄存器中。算法要求先进行a+b+6运算,然后判断结果有无进位;当进位标志Cy=1不减6,当Cy=0,减6,从而可以获得正确的结果。PCARABUSDBUSDRIR,PC+1P1R1+R2R2R2+R3R2R2-R3R2P2RD0000000010101001000000010000Cy0Cy=0微微程程序序流流程程图图0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 04567891011121314151617181920212223第一条微指令第一条微指令LDR1LDR2LDR3R1YR2XR2YR1XDRXR3Y +M -RDLDDRLDIRLDARPC+1 P1 P2直接地址操作控制顺序控制0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 04567891011121314151617181920212223第二条微指令第二条微指令LDR1LDR2LDR3R1YR2XR2YR1XDRXR3Y +M -RDLDDRLDIRLDARPC+1 P1 P2直接地址操作控制顺序控制0 1 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 14567891011121314151617181920212223第三条微指令第三条微指令LDR1LDR2LDR3R1YR2XR2YR1XDRXR3Y +M -RDLDDRLDIRLDARPC+1 P1 P2直接地址操作控制顺序控制0 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 14567891011121314151617181920212223第四条微指令第四条微指令LDR1LDR2LDR3R1YR2XR2YR1XDRXR3Y +M -RDLDDRLDIRLDARPC+1 P1 P2直接地址操作控制顺序控制T1 T2 T3 T4 T1 T2 T3 T4微指令周期:读出微指令的时间加上指令该条微指令的时间。T4T4执行微指令 微指令周期CPU周期CPU周期 读微指令 机器指令和微指令的关系:程序计数器地址寄存器缓冲寄存器指令寄存器微地址寄存器微指令寄存器主存储器控制存储器微命令Wilkes控制微命令编码微地址的形成方法微指令格式微程序控制的设计方法 微命令编码直接编码法 字段直接编译法字段间接编译法直接编码法在微指令的操作控制字段中每一个微命令都用一位信息表示,对应于一种微操作。设计微指令时,选用或不选用某个微命令,只要将表示该微命令的相应位设置成“1”或“0”就可以了。因此,微命令的产生不必经过译码,所需的控制信号直接送到相应的控制点。LTALULA1 1 0 0 0 1 0 0LTBUSALULTLAALUBUSLA0位:LTBUS1位:BUSLA2位:LAALU3位:DIV4位:MUL5位:SUB6位:ADD7位:ALULT这种方法的优这种方法的优点是简单、直点是简单、直观、执行速度观、执行速度快,微命令的快,微命令的并行控制能力并行控制能力强,编制的微强,编制的微程序短;缺点程序短;缺点是微指令字长是微指令字长。字段直接编译法将微指令的控制字段分为若干个小字段,每个字段分别编码,每种编码代表一种微命令。.译码译码译码控制字段地址字段微命令微命令微命令uIR例如,某机器指令系统总共需要256个微命令,采用直接编码法,微指令的操作控制字段需256位,采用字段直接编译法,如将控制字段分成4位一段,共16段,每个字段经一个译码器输出,可获得16个微命令,总共16段就可获得256个微命令。微指令的操作控制字段仅64位。字段直接编码法的分段原则:1.相斥性位命令分在同一字段内 ,相容性命令分在不同的字段 内。前者可提高信息位的利用率,缩短微指令字长;后者有利于实现并行操作,加快指令的执行速度。2.一般将同类操作中互斥的微命令划分在同一个字段中。3.每个小字段包含的信息位不能太多,一般不超过6位,否则将增加译码线路的复杂性和译码时间。字段间接编译法 是在字段直接编译法的基础上进一步缩短指令字长的一种编译法。一个字段的微命令编码要兼由另一字段的编码或某个标志位加以解释,以便用较少的信息位表示更多的微命令。微地址的形成方法根据机器指令操作码找到相应机器指令所对应的微程序的入口地址。后继微地址的产生直接到下一顺序地址转移微程序入口地址的确定首先由“取机器指令”微程序完成将一条机器指令从内存中取出送往指令寄存器。这段程序是公用的,一般安排控制存储器的“0”号单元。然后,应根据机器指令的操作码转移到对应的微程序入口地址。一级功能转移多级功能转移一级功能转移:如果操作码的位数与位置固定,则可根据指令操作码一次转移到相应的微程序入口。采取的方法是直接使操作码与微地址码的部分位相对应。这样,就可以一次转移成功。多级功能转移如果每类指令的操作码位数与位置固定,而各类指令之间的操作码位数与位置不固定时,可采用分级转移的办法。先按指令类型转移到某条微指令,区分出是哪一大类,然后进一步按机器指令操作转移,区分出是该类机器指令中的哪一种具体操作。采用PLA或PROM实现功能转移如果操作码的位数和位置都不固定,通常可以采用PLA可编程逻辑阵列实现。将每条机器指令的操作码翻译成相应的微程序入口地址。当一条指令的操作码确定 后,则PLA的输出就是他的微程序入口地址。也可以用PROM实现,该存储器以指令的操作码作为地址的输入,而相应的存储单元内容即为该指令的微程序入口地址。后继微地址的产生计数器方式断定方式(下址字段方式)计数器方式:设置一个微程序计数器uPC,在顺序执行微指令时,后继微指令地址由现行微地址加上一个增量来实现。遇到转移时,由微指令给出转移微地址。用计数器方式实现的微程序控制单元结构uOP 转移部分控制存储器uPC 指令寄存器入口地址及转移地址产生器条件码 状态标志 第一种方式:将微指令的地址字段(顺序控制字段)分成两部分:转移控制字段BCF和转移地址字段BAF。UOP BAF BCF其中转移地址字段给出转移用部分微地址,转移控制字段用于规定后继微地址是顺序执行还是非顺序执行。uOP BAF BCF控制存储器uPC译码器转移控制网络1&1返回地址寄存器置初值返回地址BAF指令 OP+1+1条件满足外部条件BCF=101BCF=000,顺序执行微指令,后继微地址为uPC+1。BCF=001,机器指令操作码产生后继微地址的微命令,后继微地址由OP变换后产生。BCF=010,无条件转移微指令,将BAF送Upc。BCF=011,条件转移微指令,后继微指令地址由转移条件的测试结果确定。BCF=100,测试循环微指令,后继微地址由测试循环条件确定。BCF=101,转微子程序微命令,后继微地址即微子程序入口微地址由uPC 与BAF字段组合形成。BCF=110,返回微命令。第二种方式:在微指令格式中,将微操作控制字段和转移地址字段重叠使用。如果顺序执行微指令,该微指令只有微操作控制字段和转移控制字段,没有转移地址字段,下一条微指令地址由uPC+1来确定;如果是转移微指令,因为该位置不执行任何微操作,只是改变微程序的流程,所以可以用微操作控制字段给出下一条要执行的微指令地址。计数器方式的优点是微指令字较段,便于编写微程序,后继微地址产生机构比较简单;缺点是执行速度低,原因是计数器方式不易直接实现对应于各个测试条件的多路转移,而微程序的主要特点是存在大量的分支。断定方式(下址字段法)所谓断定方式是指后继微指令地址可由设计者指定或由设计者指定的测试判断字段控制生产。在这种方式中,当微程序不产生分支时,后继微指令地址直接由微指令的顺序控制字段给出;当微程序出现分支时,按顺序控制字段给出的测试判别字段和状态条件来形成后继微地址。这种方式因为要在微指令格式中设置一个字段用来指明下一条要执行的微指令地址,所以也称为下址字段法。用断定方式实现的微程序控制单元结构 指令寄存器IRPLA微地址修改逻辑+控制存储器uAR下址 uIR 测试条件码状态标志采用断定方式的微指令格式如下:uOP 测试判别 下址ABCAAFGHIJKLMNOP012I1I0=000110114358697101112131415Z=0Z=1uOP 测试判别 下址2400 下址01 按地址转移10 按Z 转移11 空微地址微命令测试下址0000A0000010001B0000100010C0101000011E1010100100D0000110101H0010000110L0010010111P0010011000I0010111001M0011101010F0011001011J0011011100G0000001101K0000001110N0011111111O000000微指令格式水平型微指令垂直型微指令水平型微指令:一次能定义并执行多个并行操作微命令的微指令,叫做水平型微指令。基本特征:微指令字较长一条微指令能控制数据通路中多个功能部件并行操作。微命令的编码简单,尽可能使微命令与控制门之间具有直接对应关系。垂直型微指令:在微指令中设置微操作码字段,一次只能控制数据通路的一、两中信息穿的微指令称为垂直型微指令。基本特征:微指令字短。微指令的并行操作能力有限,一条微指令只能控制数据通路中的一、两中信息传送。微指令编码比较复杂,全部微命令组成一个微操作码字段,经过完全译码,微指令的各个二进制位与数据通路的各个控制点之间完全不存在直接对应关系。微指令的执行方式串行执行方式取i条 执行i条 取i+1条 执行i+1条微周期微周期并行执行方式取i条 执行i条取I+1条 执行I+1条取I+2条 执行I+2条简单机器的微程序设计 假设机器字长16位,采用单总线结构,CPU,主存和外设都挂在总线上。1.CPU 运算器中以ALU为核心,输入端一个接LA,另一个来自数据总线。共由8个寄存器R0-R7,源操作数寄存器SR,目的操作数寄存器DR,暂存器TEMP。2.主存储器按字编址,主存容量64K3.总线包括16位数据线,16位地址线和若干控制线。指令格式OP MS RS MD RD15 12 11 9 8 6 5 3 2 0 OP:操作码,4位,可定义16种操作M:寻址方式MS:源操作数寻址方式MD:目的操作数寻址方式RS:源操作数寄存器RD:目的操作数寄存器寻址方式:M名称汇编符号含义000寄存器寻址R(R)为操作数001寄存器间址(R)有效地址=(R)010自增型寄存器间址(R)+E=(R)且(R)+1R011自增型双间址(R)+E=(R)且(R)+1R100变址寻址X(R)E=X+(R)操作类型操作码名称汇编符号操作双操作数运算指令0001加法ADD(RD)+(RS)RD0010减法SUB(RD)-(RS)RD0011逻辑乘AND(RD)(RS)RD单操作数运算指令0100加1INC(RD)+1RD0101减1DEC(RD)-1RD0110求补NEC(RD)+1RD转移类指令无条件条件0111 M R 不用1000 M R PNZVCLTLAR0R1R7.SRDRTEMPMARMMDRIRuARALU地址译码器PLA微地址修改逻辑条件码状态+控制存储器下址 uIR译码PCLTBUSALULT1C0BUSLARSBUSBUSRSRDBUSBUSRDSRBUSBUSTEMPBUSMARMDRBUSBUSMDRBUSIRPCBUSBUSPCREADWRITEMOC微命令ADDINC1.时序安排采用微程序控制方式后,指令分步操作是根据不同的微指令进行的,因此,时序系统不在按指令执行的不同阶段设置不同的工作周期,而代以统一规整的微指令周期。微指令的编码:共有19个选通信号,加上ALU的控制信号,假设有16个,及其他控制信号,共40个控制信号,所以采用字段直接编译法。F1F2F3F4F5F6F7F8F90000不送000不送00不送000不送0000ADD00 无 动作0无动作0无动作00C00001PCBUS001BUSPC01BUSMAR001BUSLA0001SUB01READ1CLEARLA1WAIT11C00010MDRBUS010BUSIR10BUSMDR010BUSSR0010AND10WRITE0011LTBUS011BUSLT011BUSDR0100RSBUS100BUSRS100BUSTEMP0101RDBUS101BUSRD0110SRBUS0111DRBUS1000TEMPBUS1111XOR表中:F1字段为所有送往总线的控制信号。F2F4字段为总线送往个寄存器的控制型号。F5字段用于控制ALU的各种运算。F6字段提供存储器的读写控制。F7字段用于暂存器LA的清除控制。F8字段用于存储器与CPU的同步控制F9字段控制进位操作。微程序流程分析这是一条双操作数加法指令的微程序流程。中央处理器PCBUS,CLEAR LA BUS MAR,1 C0READ ADDALU LTLTBUS BUS PCWAITMDRBUS BUS IRRSBUS BUS SRRSBUS BUS MAR READ WAITRSBUS,CLEAR LA BUS MAR,1 C0READ ADDALU LTPCBUS,CLEAR LA BUS MAR,1 C0READ ADDALU LT000001002003B100R 102(R)112(R)+122X(R)142A微程序控制器微程序控制器微程序控制器举例微程序控制器举例(R)+中央处理器LTBUSBUS RSWAITLTBUSBUS PCWAITMDSBUSBUS MARREAD WAITMDRBUSBUS LAMDRBUSBUS SRRSBUSADDALULTLTBUSBUS MARREAD WAIT143144145146124125直接间接D微程序控制器微程序控制器微程序控制器举例微程序控制器举例C 200中央处理器RDBUSBUSLARDBUSBUSMARREADWAITRDBUS,CLEAR LABUSMAR,1C0READ ,ADDALULTPCBUS,CLEAR LABUSMAR,1C0READ ,ADDALULTLTBUSBUSRDWAITLTBUSBUSPCWAITMDRBUSBUSMARREADWAITMDRBUSBUSLARDBUSADDALULTMDRBUSBUSLALTBUSBUSMARREADWAIT200243244245246R 202(R)212(R)+(R)222D(R)242224直接B 间接225微程序控制器微程序控制器微程序控制器举例微程序控制器举例C中央处理器SRBUSADDALULTLTBUSBUSMDRWRITELTBUSBUSRD270271 272273微程序控制器微程序控制器微程序控制器举例微程序控制器举例F中央处理器微指令地址微指令微命令形式编码形式F1F2F3F4F5F6F7F8F9000PCBUS,BUSMAR,READ,CLEAR LA,1C0,ADD,ALULT000101101000000001101001LTBUS,BUSPC,WAIT001100100000000000010002MDRBUS,BUSIR,001001000000000000000112RSBUS,BUSMAR,READ,WAIT010000001000000001010125MDRBUS,BUSSR001000000010000000000202RDBUS,BUSLA 010100000001000000000270SRBUS,ADD,ALULT011001100000000000000273LTBUS,BUSRD001110100000000000000微程序控制器微程序控制器微程序控制器举例微程序控制器举例指令“ADD(RS),RD”微程序实例微指令地址的产生(微程序的顺序控制)在本例中,微程序的入口地址由PLA产生,PLA的输入为机器指令操作码,输出为该指令对应的微程序入口地址。后继微指令地址的产生分别采用计数器方式和断定方式。计数器方式(第二种方式)其中,转移控制字段3位,以满足微程序顺序执行和无条件转移及A、B、C、D、E、F六处分支条件转移的要求。000 顺序执行001由PLA根据机器指令操作码产生微程序入口地址010由源操作数寻址方式决定后继微指令地址011由目的操作数寻址方式决定后继微指令地址100由结果方式决定后继微指令地址101由源间接寻址方式约定后继微指令地址111无条件转移Uop 转移控制中央处理器微指令地址.微命令形式转移控制000PCBUS,BUSMAR,READ,CLEAR LA,1C0,ADD,ALULT000001LTBUS,BUSPC,WAIT000002MDRBUS,BUSIR,000003001100112010112RSBUS,BUSMAR,READ,WAIT000113125111125MDRBUS,BUSSR000126200111200202011202RDBUS,BUSLA 000203270111270SRBUS,ADD,ALULT000271272100273LTBUS,BUSRD000274000111微程序控制器微程序控制器微程序控制器举例微程序控制器举例指令“ADD(RS),RD”微程序断定方式Uop 测试判别字段 下址字段测试字段3位,下址字段8位。中央处理器微指令地址.微命令形式测试判别字段转移控制000PCBUS,BUSMAR,READ,CLEAR LA,1C0,ADD,ALULT000001001LTBUS,BUSPC,WAIT000002002MDRBUS,BUSIR,000003003001000100010102112RSBUS,BUSMAR,READ,WAIT000125125MDRBUS,BUSSR000200200011202202RDBUS,BUSLA 000270270SRBUS,ADD,ALULT100272273LTBUS,BUSRD000000微程序控制器微程序控制器微程序控制器举例微程序控制器举例指令“ADD(RS),RD”微程序实例基本思想:把控制部件看成作为生产专门固定时序控制信号的逻辑电路,而此逻辑电路以使用最少元件和取得最高操作速度为设计目标。这种逻辑电路是一种由门电路和触发器构成的复杂树形网络,故称为硬布线控制器。由于门电路多是组合逻辑电路所以也称为组合逻辑控制器。硬布线控制器的结构图组合逻辑线路指令译码器指令寄存器节拍电位/节拍脉冲发生器微操作控制信号结果反馈信息启动停止时钟复位IR M1 MiT1 Ti设计方法1.模型机的数据通路 全机采用中线结构,分为内部单总线和存储器总线(系统总线),算逻部件,通用寄存器组等挂在内部总线上,主存储器M,I/O都挂在系统总线上。R0-R3为四个通用寄存器,Y连在ALU的一个输入端上,Z是ALU的输出寄存器,以便将结果输出到内部总线上。MARMDRMYZR0R1R2R3IRPCID逻辑网络模8计数器ALU系统总线内部总线控制信号寻址方式与指令系统操作码OP 寄存器号(Ri)地址码ADDR指令指令编码操作功能LDRi,ADDR000RiADDRRi(ADDR)STRRi,ADDR001RiADDRADDR(Ri)ADDRi,ADDR010RiADDRRi(Ri)+ADDRANDRi,ADDR011RiADDRRi(Ri)ADDRJZADDR100RiADDRZ=1,PCADDR时序采用三级时序,设置三个机器周期,每个机器周期可以完成一次主存的读/写操作,每个机器周期可分为若干个节拍,每个节拍可分为若干个脉冲。硬布线控制器的设计方法 1.绘制指令的流程图:以指令的执行过程为线索,按指令类型分类,将每条指令归纳为一个微操作序列,根据操作的先后 顺序画出指令流程图。2.列出微操作时间表:把指令流程图中的微操作序列合理地安排在各个机器周期的相应节拍和脉冲中去,使他们在执行的时间上不发生冲突。3.微操作的逻辑综合:以每个微操作为单位进行“同类项合并”,就是把不同指令在不同周期状态,不同节拍和不同条件 下所需要 的同一微操作用逻辑关系式综合起来,然后加以 简化使逻辑表达式更为合理。PC MAR,READMDRIRPC+1 PCADDR MARREADADDR MARADDR MARREADADDR MARREADZ=1ADDR PCMDR RiMDR RiWRITEMDR YY+Ri ZZ RiMDR YYRi ZZ RiLDSTRADDANDJZ指令节拍微操作控制信号取指T0PCOUT,MARIN,READ,Y0,C01,ADD,ZINT1MDROUT,IRINT2ZOUT,PCINLDT3ADDROUT,MARIN,READT4MDROUT,RIINSTRT3ADDROUT,MARINT4RIOUT,MDRIN,WRITEADDT3ADDROUT,MARIN,READT4MDROUT,YINT5RIOUT,ADD,ZINT6ZOUT,RIINANDT3ADDROUT,MARIN,READT4MDROUT,YinT5RIOUT,AND,ZINT6ZOUT,RIINJZT3Z=1,ADDROUT,PCINT41.PCOUT=T02.MARIN=T0+T3 JZ3.READ=T0+T3(STR+JZ)4.Y0=T05.C01=T06.ADD=T0+T5 ADD7.ZIN=T0+T5(ADD+AND)8.ZOUT=T2+T6(ADD+AND)9.PCIN=T2+T6 Z JZ10.MDROUT=T1+T4(ADD+AND)11.MDRIN=T4 STR12.IRIN=T113.ADDROUT=T3 JZ+T4 Z JZ14.RIN=T4 LD+T6(ADD+AND)15.RIOUT=T4 STR+T5(ADD+AND)16.YIN=T4(ADD+AND)17.WRITE=T4 STR18.AND=T5 ANDRIin T4 LD ADD AND T6 M6800CPUInterl8088CPUIBM 370 CPU并行处理技术时间并行空间并行时间并行+空间并行流水CPU的结构流水计算机的系统组成流水CPU的时空图流水线的分类指令流水线算术流水线处理机流水线流水线中的主要问题资源相关数据相关控制相关Pentium CPU特点超标量实际上是并行处理思想在微处理器设计中的应用。影响流水线性能发挥的因素流相关(数据的真相关)过程相关资源冲突名相关(相关指令之间没有数据流动)输出相关(写后写相关)反相关(读后写相关)指令集并行和机器并行性指令发射策略按序发射、按序完成按序发射、乱序完成乱序发射、乱序完成必须考虑三方面的顺序问题:取指令的顺序指令执行的顺序指令改变寄存器和存储器单元内容的顺序假设四条指令I1、I2、I3、I4、I5、I6I1执行需要两个时钟周期I3和I4争用同一功能单元I5依赖于I4产生的结果 I5和I6争用同一功能单元输出相关R3:=R3+R5;(I1)R4:=R3+1;(I2)R3:=R5+1;(I3)反相关R3:=R3+R5;(I1)R4:=R3+1;(I2)R3:=R5+1;(I3)R7:=R3+R4;(I4)R3b:=R3a+R5a(I1)R4b:=R3b+1(I2)R3c:=R5a+1(I3)R7b:=R3c+R4b(I4)寄存器重命名Pentium IIPowerPCMIPS R10000UltraSPARC IIIA-64/Merced
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!