计算机组成与结构第5章_中央处理器分析课件.ppt

上传人:牧羊曲112 文档编号:3967620 上传时间:2023-03-29 格式:PPT 页数:105 大小:3.17MB
返回 下载 相关 举报
计算机组成与结构第5章_中央处理器分析课件.ppt_第1页
第1页 / 共105页
计算机组成与结构第5章_中央处理器分析课件.ppt_第2页
第2页 / 共105页
计算机组成与结构第5章_中央处理器分析课件.ppt_第3页
第3页 / 共105页
计算机组成与结构第5章_中央处理器分析课件.ppt_第4页
第4页 / 共105页
计算机组成与结构第5章_中央处理器分析课件.ppt_第5页
第5页 / 共105页
点击查看更多>>
资源描述

《计算机组成与结构第5章_中央处理器分析课件.ppt》由会员分享,可在线阅读,更多相关《计算机组成与结构第5章_中央处理器分析课件.ppt(105页珍藏版)》请在三一办公上搜索。

1、第5章 中央处理器,2023年3月29日星期三,2,目录,5.1 CPU的功能和组成掌握5.2 指令周期掌握5.3 时序产生器和控制方式了解5.4 微程序控制器掌握5.5 硬连线控制器了解5.6 流水CPU掌握5.7 RISC CPU了解,2023年3月29日星期三,3,考研大纲要求,(一)CPU的功能和基本结构(二)指令执行过程(三)数据通路的功能和基本结构(四)控制器的功能和工作原理硬布线控制器微程序控制器微程序、微指令和微命令微指令的编码方式;微地址的形成方式(五)指令流水线指令流水线的基本概念超标量和动态流水线的基本概念,2023年3月29日星期三,4,5.1 CPU的组成和功能,5.

2、1.1 CPU的功能5.1.2 CPU的基本组成5.1.3CPU中的主要寄存器5.1.4 操作控制器与时序产生器,2023年3月29日星期三,5,5.1.1 CPU的功能,CPU(中央处理器)控制程序按设定方式执行;CPU的主要功能:指令控制控制程序的执行顺序;操作控制产生和发送各操作信号;时间控制控制指令、或操作的实施时间;数据加工对数据进行算术逻辑运算;,顺序寻址、跳跃寻址,对指令操作码译码后产生控制信号,维持各类操作的时序关系,由ALU完成具体的运算,2023年3月29日星期三,6,5.1.2 CPU的基本组成,现代的CPU的组成运算器、控制器控制器的主要功能从内存中取出一条指令,并指出

3、下条指令的存放位置;对指令进行译码,产生相应的操作控制信号;控制CPU、内存和输入/输出设备之间数据流动;运算器的主要功能:执行所有的算术运算;执行所有的逻辑运算,并进行逻辑测试。,冯诺依曼机的定义,、片内Cache;,PC、IR,ALU、通用寄存器组、标志寄存器,CU、时序电路、操作控制器,2023年3月29日星期三,7,CPU模型图,运算器,Cache,控制器,2023年3月29日星期三,8,5.1.3CPU中的主要寄存器(1/3),数据缓冲寄存器(DR)暂时存放CPU与外界传送的数据,可以是指令字或数据字。作用:作为CPU和内存、外部设备之间信息传送的中转站;补偿CPU和内存、外围设备之

4、间在操作速度上的差别;通用寄存器功能:暂时存放ALU运算的数据或结果。CPU中的通用寄存器可多达16个,32个,甚至更多。,2023年3月29日星期三,9,5.1.3CPU中的主要寄存器(2/3),状态条件寄存器(PSW)保存各种状态和条件控制信号;进位标志(C),溢出标志(V),零标志(Z),符号标志(N)每个信号由一个触发器保存,从而拼成一个寄存器。地址寄存器(AR)保存当前CPU所访问数据的内存单元地址;主要用于解决主存/外设和CPU之间的速度差异,使地址信息可以保持到主存/外设的读写操作完成为止。,2023年3月29日星期三,10,5.1.3CPU中的主要寄存器(3/3),程序计数器(

5、PC)始终存放下一条指令的地址,对应于指令Cache的访问;其内容变化分两种情况顺序执行:PC+1PC转移执行:(指令OPR)PC指令寄存器(IR)保存当前正在执行的一条指令。指令寄存器中操作码字段的输出就是指令译码器的输入。,寄存功能,计数功能,2023年3月29日星期三,11,5.1.4 操作控制器与时序产生器,数据通路寄存器之间传送信息的通路。操作控制器根据指令操作码和时序信号,产生各种操作控制信号;建立正确的数据通路,从而完成指令的执行。根据设计方法不同,操作控制器可分为硬布线控制器:采用时序逻辑技术实现;微程序控制器:采用存储逻辑实现;前两种方式的结合;时序产生器对各种操作实施时间的

6、控制。,2023年3月29日星期三,12,数据通路的建立,增量,写入,读出,写入,读出,写入,读出,锁存,锁存,写入,读出,写入,读出,运算类型,读出,写入,2023年3月29日星期三,13,5.2 指令周期,5.2.1 指令周期的基本概念5.2.2 MOV R0,R1指令的指令周期5.2.3 LAD R1,6指令的指令周期5.2.4 ADD R1,R2指令的指令周期 5.2.5 STO R2,(R3)指令的指令周期 5.2.6 JMP 101指令的指令周期5.2.7 用方框图语言表示指令周期,2023年3月29日星期三,14,5.2.1 指令周期的基本概念,CPU执行程序是一个“取指令执行指

7、令”的循环过程。指令周期CPU从内存中取出一条指令,并执行的时间总和;CPU周期又称机器周期,一般为从内存读取一条指令字的最短时间;一个CPU周期可以完成CPU的一个基本操作。时钟周期也叫节拍脉冲或T周期,是计算机处理操作的基本时间单位。,2023年3月29日星期三,15,关于指令周期,一个完整的指令周期由若干机器周期:取指周期间址周期执行周期中断周期所有指令的第一个机器周期必为取指周期;一个基本的CPU周期包含4个时钟周期,对于某些CPU周期可以包含更多的时钟周期。不同指令的指令周期所包含的时钟周期个数不一定相同。,求操作数有效地址,本教材上,间址周期和执行周期统称为执行周期!,2023年3

8、月29日星期三,16,一个简单的程序,2023年3月29日星期三,17,5.2.2 MOV R0,R1指令的指令周期,MOV是一条RR型指令,它需要两个CPU 周期:取指周期从存储器中取出指令;程序计数器PC加1;译码或测试指令操作码,发出控制信号;执行周期在控制信号的作用下,将R1中的数据经过ALU送入R0;,2023年3月29日星期三,18,MOV R0,R1指令的执行过程演示,101,MOV R0,R1,102,MOV,10,动画演示,2023年3月29日星期三,19,MOV R0,R1指令周期中的控制信号,取指周期 PCABUS指令Cache,译码并启动;指令Cache IR;PC P

9、C+1,为取下条指令做好准备;IR中的操作码被译码或测试,CPU识别出是指令MOV。执行指令阶段R1ALU,R1中数据通过ALU传送;ALU DBUS DRR0;,PC读指令Cache启动,指令Cache读IR写,PC增量,R1读ALU传送控制,ALU输出DR锁存R0写,2023年3月29日星期三,20,5.2.3 LAD R1,6指令的指令周期,LAD指令是RS型指令,需要访存获取操作数,共包含三个CPU周期:取值周期间址周期从IR的地址码字段获取操作数地址;(或者通过计算获得EA)执行周期访存获取操作数送入通用寄存器R1;,2023年3月29日星期三,21,LAD R1,6指令的执行过程演

10、示,102,LAD R1,6,103,LAD,6,100,动画演示,2023年3月29日星期三,22,LAD R1,6指令周期中的控制信号,LAD取指周期CPU动作与取MOV指令的取值周期中一样。LAD指令的执行周期IR DBUS AR;该过程为寻址周期;ARABUS数据Cache,译码并启动;数据Cache DBUS DRR1;,IR读AR锁存,数据Cache启动,数据Cache读DR锁存R1写,2023年3月29日星期三,23,5.2.4ADD R1,R2指令的指令周期,ADD指令的指令周期由两个CPU周期组成。取指周期(略)执行周期从寄存器R1、R2中取出数据,作为源操作数;将两数据送往

11、ALU,并使ALU进行加运算;结果保存到R1中。,2023年3月29日星期三,24,ADD R1,R2指令的执行过程演示,103,ADD R1,R2,104,ADD,100,20,120,动画演示,2023年3月29日星期三,25,ADD R1,R2指令周期中的控制信号,取指周期(略)CPU动作与取MOV指令的取值周期中一样。执行周期R1、R2ALU;ALU做加运算,将两数相加;ALUDBUSDRR1,保存结果;,R1读R2读,ALU加,ALU输出DR锁存R1写,2023年3月29日星期三,26,5.2.5STO R2,(R3)指令的指令周期,STO指令是RS型指令,需要3个CPU周期。取指周

12、期(略)间址周期根据R3中的地址寻址所要访问的存储单元;执行周期将寄存器R2中的数据送入指定的存储单元;,2023年3月29日星期三,27,STO R2,(R3)指令的执行过程演示,104,STO R2,(R3),105,STO,动画演示,30,120,2023年3月29日星期三,28,STO R2,(R3)指令周期中的控制信号,取指周期(略)执行周期R3DBUSAR,发出地址启动数据Cache;该过程为间址周期;R2DBUS数据Cache;,R3读AR锁存,R2读数据Cache写,2023年3月29日星期三,29,5.2.6 JMP 101指令的指令周期,JMP指令是一条无条件转移指令,用来

13、改变程序的执行顺序;JMP指令的执行需要两个CPU周期:取指周期(略)执行周期使用JMP指令中的直接地址为PC赋值;,2023年3月29日星期三,30,JMP 101指令的执行过程演示,105,JMP 101,106,JMP,动画演示,101,2023年3月29日星期三,31,JMP 101指令周期中的控制信号,取指周期(略)执行周期IRDBUSPC;,IR读PC写,2023年3月29日星期三,32,5.2.7用方框图语言表示指令周期,方框代表一个CPU周期;方框中的内容表示数据通路的操作或某种控制操作。菱形通常用来表示某种判别或测试;时间上依附于之前一个方框的CPU周期,而不单独占用一个CP

14、U周期;(公操作符号)表示一条指令已经执行完毕,转入公操作。所谓公操作就是一条指令执行完毕后,CPU所开始的一些操作,比如对外围设备请求的处理等。,2023年3月29日星期三,33,P139 图5.14方框图语言表示的指令周期,MOV R0,R1,LAD R1,6,ADD R1,R2,STO R2,(R3),JMP 101,2023年3月29日星期三,34,课本P139【例1】,图5.15所示为双总线结构机器的数据通路,各构成部件如图,线上标注有小圈表示有控制信号,未标字符的线为直通线。“ADD R2,R0”指令完成(R0)+(R2)R0的功能操作,画出其指令周期流程图,并列出相应的微操作控制

15、信号序列。“SUB R1,R3”指令完成(R3)-(R1)R3的操作,画出其指令期流程图,并列出相应的微操作控制信号序列。,2023年3月29日星期三,35,指令周期应包括取指周期和执行周期;执行周期中应首先将R0、R2两寄存器的内容送入ALU的操作数缓冲器中,再执行加法运算;,(1)“ADD R2,R0”(R0)+(R2)R0,(PC)AR,(M)DR,(DR)IR,译码,(R2)Y,(R0)X,(R0)+(R2)R0,取指周期,执行周期,PC0GARi,DR0GIRi,R20GYi,R00GXi,+GR0i,2023年3月29日星期三,36,指令ADD R2,R0的执行过程,指令地址,指令

16、,R2,R0,和,2023年3月29日星期三,37,指令周期应包括取指周期和执行周期;取指周期与ADD指令完全相同;执行周期与ADD指令不同之处在于ALU的控制信号为“”,(2)“SUB R1,R3”(R3)(R1)R3,(PC)AR,(M)DR,(DR)IR,译码,(R3)Y,(R1)X,(R3)-(R1)R3,取指周期,执行周期,PC0GARi,DR0GIRi,R30GYi,R10GXi,GR3i,2023年3月29日星期三,38,参考上例试写出下列指令的微操作序列,指令STO R1,(R2)功能:R1(R2),将R1的数据送入R2指向的单元中;指令LAD(R3),R0功能:将R3指向单元

17、中的数据送入R0中;指令ADD R0,(R1)功能:将R1指向单元中的数据和R0的内容相加,并将结果存入R0寄存器中。指令ADD(R1),R0功能:(R0)+(R1)(R1),将R0中的数据与R1指向单元中的数据相加,并将结果送入R1指向的单元中;,2023年3月29日星期三,39,计算机的性能指标,主频/时钟周期主时钟的频率(f)叫CPU的主频;主频的倒数称为CPU时钟周期(T),T=1/f。CPI执行一条指令所需的平均时钟周期数。MIPS每秒百万指令数,即单位时间内执行的指令数。,2023年3月29日星期三,40,【例1】某CPU的主频为8MHz,设每个CPU周期平均包括4个时钟周期,且该

18、机平均指令执行速度为1MIPS。,求该机平均指令周期。平均指令周期 求每个指令周期包含的平均CPU周期。时钟周期一个CPU周期为4个时钟周期,则40.125=0.5us;故每个指令周期包含1/0.5=2个平均CPU周期。,1us,0.125us,2023年3月29日星期三,41,【例2】若某机主频为200MHz,每个指令周期平均为2.5个CPU周期,每个CPU周期平均包括2个主频周期。,该机平均指令执行速度为多少MIPS?执行一条指令的时间 2.5 2时钟周期 2.5 2平均指令执行速度1/平均指令周期若主频不变,但每条指令平均包括5个CPU周期,每个CPU周期又包含4个主频周期,平均指令执行

19、速度为多少MIPS?执行一条指令的时间5 4时钟周期 5 4平均指令执行速度1/平均指令周期,40MIPS,10MIPS,2023年3月29日星期三,42,5.3 时序产生器和控制方式,5.3.1 时序信号的作用和体制5.3.2 时序信号产生器5.3.3 控制方式,2023年3月29日星期三,43,5.3.1 时序信号的作用和体制,时序信号的作用使计算机准确、迅速、有条不紊地工作;CPU通过时序控制来识别指令和数据:指令周期的第一个CPU周期取指周期;从存储单元中取出的一定是指令,需要送往IR指令寄存器;指令周期的其他CPU周期执行周期;从存储单元中取出的一定是数据,需要送往运算器。时序信号的

20、体制:电位脉冲制脉冲到达之前,电平信号必须要稳定;,CPU的时间表,2023年3月29日星期三,44,控制器的时序信号,硬布线控制器的时序信号常采用主状态周期节拍电位节拍脉冲三级体制。微程序控制器的时序信号一般采用节拍电位节拍脉冲二级体制。,节拍脉冲,节拍电位1,主状态周期,节拍电位2,节拍电位可表示一个CPU周期,主状态周期可包含若干个节拍电位,是最大的时间单位,时钟周期,2023年3月29日星期三,45,5.3.2 时序信号产生器,时序信号产生器:用逻辑电路实现时序的控制;微程序控制器中时序信号产生器的组成:P142图5.17时钟源提供稳定的基本方波时钟信号;环形脉冲发生器产生一组有序的间

21、隔相等或不等的脉冲序列;节拍脉冲和读写时序译码逻辑 环形脉冲与节拍脉冲共同作用产生各控制信号的时序;启停控制逻辑,2023年3月29日星期三,46,5.3.3控制方式,控制器的控制方式控制不同操作序列的时序信号的方法。同步控制方式在任何情况下,已定的指令在执行时所需的机器周期数和时钟周期数都固定不变。异步控制方式每条指令、每个操作控制信号需要多少时间就占用多少时间。联合控制方式大部分操作序列为固定的机器周期,对某些时间难以确定的操作则以执行部件的“回答”信号作为本次操作的结束。机器周期的节拍脉冲数固定,但是各条指令周期的机器周期数不固定。,2023年3月29日星期三,47,5.4 微程序控制器

22、,5.4.1 微程序控制原理5.4.2 微程序设计技术,2023年3月29日星期三,48,5.4.1 微程序控制原理,微程序设计技术是利用软件方法来设计硬件的一门技术。具有规整性、灵活性、可维护性等一系列优点;逐渐取代了早期的组合逻辑控制器,已被广泛地应用。基本思想仿照通常的解题程序的方法,把操作控制信号编成所谓的“微指令”,存放到一个只读存储器里;当机器运行时,一条一条地读出这些微指令,从而产生全机所需要的各种操作控制信号,使部件执行规定的操作。,2023年3月29日星期三,49,1、微命令和微操作,控制部件与执行部件之间的联系控制部件向执行部件发出控制信号;执行部件向控制部件返回状态信息;

23、微命令控制部件通过控制线向执行部件发出的各种控制命令;微操作执行部件接受微命令后所执行的操作;状态测试执行部件通过反馈线向控制部件反映当前操作状态,以使控制部件决定下一步的微命令;,控制线,执行部件的最基本的操作,2023年3月29日星期三,50,微操作的分类,相容性微操作在同时或同一个CPU周期内可以并行执行的微操作;相斥性微操作不能在同时或不能在同一个CPU周期内并行执行的微操作。,2023年3月29日星期三,51,简单运算器数据通路,相斥性微操作,相斥性微操作,相斥性微操作,相容性微操作,2023年3月29日星期三,52,2、微指令和微程序,微指令一个CPU周期中,实现一定操作功能的一组

24、微命令的组合。微指令一般包含操作控制和顺序控制两大部分操作控制:用于发出管理和指挥全机工作的控制信号;顺序控制:用于决定产生下一条微指令的地址;所有的微指令都存放于控制存储器中,使用地址访问;微程序能实现一条机器指令功能的多条微指令序列;每条机器指令都对应着一段微程序;,微地址,2023年3月29日星期三,53,顺序控制部分的P1、P2为判别测试标志;若为00,则顺序寻址微指令;若为01、10,则跳跃寻址微指令。直接地址2023位顺序寻址时,直接地址即为下一条微指令地址;跳跃寻址时,则要对直接地址修改,得到下条微指令地址;,微指令基本格式,节拍脉冲信号,节拍电位信号,2023年3月29日星期三

25、,54,3、微程序控制器原理框图,微程序控制器主要构成部件:P147图5.23控制存储器(CM)存放实现全部指令系统的微指令;由只读存储器构成,要求速度快,读出周期短。微指令寄存器 存放由控制存储器读出的一条微指令信息;微地址寄存器:决定将要访问的下一条微指令的地址;微命令寄存器:保存一条微指令的操作控制字段和判别测试字段的信息。地址转移逻辑用于跳跃寻址微指令时,承担自动完成修改微地址的任务。,2023年3月29日星期三,55,P147图5.23 微程序控制器原理框图,2023年3月29日星期三,56,微程序控制器的工作过程,“取指微指令”为所有指令的公用微指令;通常放在控制存储器中的“0”地

26、址单元;所有机器指令的最后一条微指令的直接地址都指向0地址单元,用以取下一条微指令。取得机器指令后,经过P1测试,即操作码测试,产生对应的微程序入口地址,并送入微地址寄存器。指令执行过程中,通过P2测试,修正下一条微指令的地址,逐条读取微指令执行。执行完对应于一条机器指令的微程序后,返回到取指微指令,不断重复,直至程序执行完毕。,2023年3月29日星期三,57,4、微程序举例,“十进制加法”指令是用BCD码来完成十进制数的加法运算。当两数位相加小于等于9时,结果正确;当两数位相加大于9时,必须对和数位进行加6的修正。例如:3+4=0011+0100=0111=78+7=1000+0111=1

27、11125+36=0010 0101+0011 0110=0101 1011,+0110=0001 0101=15,=0110 0001,以“十进制加法”指令为例,+0110,2023年3月29日星期三,58,(R2)-(R3)R2,十进制加法指令的微指令执行流程,假定(R1)=a,(R2)=b,(R3)=6;第一条微指令取指微指令从内存中取出该指令,并修改PC的值;对操作码进行P1测试,确定下一条微指令的地址;第二条微指令两数相加微指令第三条微指令和数修正微指令P2测试,根据进位标志决定下一条微指令的地址第四条微指令和数逆修正微指令,取指令,P1测试,(R1)+(R2)R2,(R2)+(R3

28、)R2,P2测试,Cy=1,Cy=0,2023年3月29日星期三,59,十进制加法指令的微指令,第一条微指令(取微指令)000 00 00 00 000 11111 10 0000第二条微指令(两数相加)010 10 01 00 100 00000 00 1001第三条微指令(和数加6)010 00 10 01 100 00000 01 0000第四条微指令(和数减6)010 00 10 01 001 00000 00 0000,控制存储器,LDARRDLDDRLDIRPC+1,R1XR2Y+LDR2,R2XR3Y+LDR2,R2XR3YLDR2,2023年3月29日星期三,60,5、CPU周

29、期与微指令周期的关系,微指令周期读出微指令的时间加上执行该条微指令的时间;串行方式的微程序控制器中的概念;一般来讲,一个微指令周期时间设计得恰好和CPU周期时间相等。,2023年3月29日星期三,61,CPU周期与微指令周期关系的例子,CPU周期为0.8us,包括4个节拍脉冲T1T4,每个脉冲200ns;T1T3的600ns为执行微指令的时间;T4的200ns为取微指令的时间;T1的上升沿,将读出的微指令存入微指令寄存器;T4的上升沿保存微指令的执行结果,T4期间取微指令。,2023年3月29日星期三,62,6、机器指令与微指令的关系,一条机器指令对应一个微程序,一个微程序由若干条微指令序列组

30、成的;一条机器指令所完成的操作划分成若干条微指令来完成,由微指令进行解释和执行。从指令与微指令,程序与微程序,地址与微地址的一一对应关系来看,前者与内存有关,后者与控制存储器有关。每一个CPU周期对应一条微指令。,2023年3月29日星期三,63,【例】设某16位计算机运算器框图如下图(a)所示,其中ALU为16位的加法器(高电平工作),SA、SB为16位暂存器。4个通用寄存器,其读、写控制功能见下表。,2023年3月29日星期三,64,控制信号说明RA0RA1/WA0WA1:读写通用寄存器时,选择所读写的寄存器;R/W:寄存器读/写命令;LDSA/LDSB:将数据打入SA/SB的控制信号;S

31、B ALU:将SB中数据送入ALU的控制信号;ALU:传送SB的控制信号,并使加法器最低位加1;Reset:清暂存器SB为零的信号;:一段微程序结束,转入取机器指令的控制信号;要求:用二进制代码写出如下指令的微程序:“ADD R0,R1”指令,即(R0)+(R1)R1“SUB R2,R3”指令,即(R3)-(R2)R3“MOV R2,R3”指令,即(R2)(R3),【例】微指令字长12位,微指令格式如下所示(未考虑顺序控制字段)。,2023年3月29日星期三,65,【例】解答,三条指令的微指令的微程序流程图三条指令的微程序代码如下表:未考虑“取指周期”和顺序控制问题,仅考虑“执行周期”;每一个

32、方框表示一条微指令,用数字序号标明微指令序列的顺序。,2023年3月29日星期三,66,5.4.2 微程序设计技术,微命令编码微地址的形成方法微指令格式动态微程序设计,2023年3月29日星期三,67,1、微命令编码,微指令中操作控制字段的编码表示方法,以及如何把编码翻译成相应的微指令。微命令编码主要考虑的问题:如何有效缩短微指令字长;如何有利于缩短微程序,减少所需的控存空间;如何有利于提高微程序执行速度;微命令编码表示方法直接表示法、编码表示法、混合表示法,2023年3月29日星期三,68,直接表示法,操作控制字段中的每一位代表一个微命令;优点简单直观,其输出可直接用于控制,执行速度快;缺点

33、微指令字较长,因而使控制存储器容量较大。,2023年3月29日星期三,69,编码表示法(1/2),编码方法将微指令操作控制字段划分为若干个子字段;每个子字段的所有微命令进行统一编码;每个子字段的不同编码表示不同的微命令;例如,某机器指令系统总共需要256个微命令采用直接编码法微指令的操作控制字段需256位;采用编码表示法若4个微命令划分一个子字段,则每个子字段可编码16个微命令;256个微命令需16个子字段,即微指令的操作控制字段仅64位。,2023年3月29日星期三,70,编码表示法(2/2),遵循原则:把相斥的微命令划分在同一个字段中,相容的微命令划分在不同字段;字段的划分应与数据通路结构

34、相适应;每个子字段应留出一个空操作状态;每个子字段所定义的微命令不宜太多;优点可大大缩短微指令字长;缺点需要微命令译码,故微程序的执行速度稍稍减慢。,2023年3月29日星期三,71,2、微地址的形成方法,微程序的入口地址微程序的第一条微指令所在控存单元的地址;现行微指令执行微程序过程中,当前正在执行的微指令;现行微指令的地址称为现行微地址。后继微指令现行微指令执行完毕后,下一条要执行的微指令;后继微指令的地址称为后继微地址。微指令中确定下一条微指令地址的方法;计数器方式、多路转移方式;,2023年3月29日星期三,72,计数器方式,同CPU中程序计数器产生机器指令地址的方法相类似。优点微指令

35、的顺序控制字段较短,微地址产生机构简单。缺点多路并行转移功能较弱,速度较慢,灵活性较差。,2023年3月29日星期三,73,多路转移方式,可根据“判别测试”标志和“状态条件”信息选定某一个候选微地址的方法。特点能以较短的顺序控制字段配合,实现多路并行转移,灵活性好,速度较快;但转移地址逻辑需要用组合逻辑方法设计。,2023年3月29日星期三,74,【例】已知某计算机采用微程序控制方式,其控存容量为51232位,微程序可以在控存中实现转移,可控制微程序转移的条件有6个,采用直接编码方式,后继微指令地址采用多路转移方式。,微指令字长32位,格式如下,请说明微指令中3个字段分别应为多少位。由控存单元

36、数可知共512个,则每个控存单元地址位为9位,则微指令中的后继微指令地址位数为9位;可控制微程序转移的条件为6个,且按照直接控制编码,则测试条件位数为6位;剩下的为操作控制字段可用位数329617位;,2023年3月29日星期三,75,3、微指令格式,水平型微指令一次能定义并执行多个并行操作微命令的微指令;一般由操作控制字段、判别测试字段、下地址字段三部分构成;根据控制字段编码方式的不同,可分为全水平型、字段译码法水平型、直接和译码相混合的水平型三种微指令。垂直型微指令微指令中设置微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能;垂直型微指令的结构类似于机器指令的结构。,课本P15

37、3 四个垂直型微指令的例子,2023年3月29日星期三,76,水平型微指令与垂直型微指令比较,水平型微指令并行操作能力强,效率高,灵活性强。垂直型微指令则较差。水平型微指令执行一条指令的时间短,垂直型微指令执行时间长。由水平型微指令解释指令的微程序,具有微指令字比较长,但微程序短的特点。垂直型微指令则相反,微指令字比较短而微程序长。水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,相对来说,比较容易掌握。,2023年3月29日星期三,77,4、动态微程序设计,静态微程序设计对应于一台计算机的机器指令只有一组微程序,而且这一组微程序设计好之后,一般无需改变而且也不容易改变。动态微程序设计可

38、通过改变微指令和微程序来改变机器的指令系统的微程序设计技术。,2023年3月29日星期三,78,5.5硬连线控制器,硬布线控制器是一种由门电路和触发器构成的复杂树形网络。硬布线控制器是早期设计计算机的一种方法;随着新一代机器及VLSI技术的发展,硬布线逻辑设计思想又得到了重视。与微程序控制相比,硬布线控制的速度较快;微程序控制中每条微指令都要从控制存储器中读取一次,影响了速度,而硬布线控制主要取决于电路延迟;近年来在某些超高速新型计算机结构中,又选用了硬布线控制,或与微程序控制器混合使用。,2023年3月29日星期三,79,硬连线控制器结构方框图,2023年3月29日星期三,80,5.6 流水

39、CPU,5.6.1 并行处理技术 5.6.2 流水CPU的结构 5.6.3 流水线中的主要问题,2023年3月29日星期三,81,5.6.1 并行处理技术,标准的冯诺依曼体系结构,采用的是串行处理,即一个时刻只能进行一个操作。并行性的两种含义:同时性:两个以上事件在同一时刻发生;如多机系统中,同一时刻多个进程在运行。并发行:两个以上事件在同一间隔内发生。如并发程序,某一时刻CPU中只有一个进程在运行,而在一个时间段内,多个进程同时运行。并行性的三种形式:时间并行:即使用流水处理部件,时间重叠。空间并行:设置重复资源,同时工作。时间并行空间并行:时间重叠和资源重复的综合应用。,2023年3月29

40、日星期三,82,微指令的执行方式,串行执行方式并行执行方式,2023年3月29日星期三,83,5.6.2 流水CPU的结构,1、流水计算机的系统组成流水CPU的组成指令部件指令部件本身构成一个流水线,由取指令、指令译码、计算操作数地址、取操作数等过程段组成。指令队列指令队列是一个先进先出的寄存器栈,用于存放经过译码的指令和取来的操作数。执行部件执行部件可以具有多个算术逻辑运算部件,这些部件本身又用流水线方式构成。主存采用多体交叉存储器,以提高访问速度。,P162页 图5.30,流水线技术是Intel在486芯片中首次使用的,2023年3月29日星期三,84,流水计算机系统组成原理示意图,202

41、3年3月29日星期三,85,执行段的速度匹配问题的解决,将执行部件分为定点执行部件和浮点执行部件两个可并行执行的部分,分别处理定点运算指令和浮点运算指令;在浮点执行部件中,又有浮点加法部件和浮点乘除部件,它们也可以同时执行不同的指令;浮点运算部件都以流水线方式工作。,2023年3月29日星期三,86,2、流水CPU的时空图,流水线基本原理顺序方式的串行指令执行过程:将一条指令的执行过程分成4段,并行执行过程:,一般流水线时钟周期应选取4段中最长的时间,2023年3月29日星期三,87,流水CPU的加速比,非流水线CPU处理n个任务时,所需时钟周期数T1n k一个具有k级过程段的流水CPU处理这

42、n个任务时,需要的时钟周期数Tkk(n1)k个时钟周期用于处理第一个任务;k个周期后,流水线被装满,剩余的n1个任务只需n1个周期即可完成。将T1和Tk的比率定义为k级线性流水处理器的加速比:Ck T1/Tk,2023年3月29日星期三,88,一般流水线(pipeline)只有一条指令流水线超流水线(superpipeline)多级流水线每个阶段内部再划分步骤奔腾Pro的流水线长达14步超标量(superscale)流水线具有两条以上的指令流水线奔腾以上CPU才具有这种结构,流水计算机的时空图,2023年3月29日星期三,89,3、流水线分类,指令流水线指令执行的并行处理;指令流划分为取指、译

43、码、取操作数、执行、写回等过程;算术流水线运算操作步骤的并行处理;现代微机中大多采用流水的算术运算器;处理机流水线程序步骤的并行处理将每一阶段的处理分散在不同的机器上,应用于多级系统中;,2023年3月29日星期三,90,【例1】假设一条指令按取指、分析和执行三步解释执行,请计算下列几种情况下执行完100条指令所需的时间。,顺序方式若T取T分2,T执1t=100(2+2+1)500若T取T执5,T分2t=100(5+5+2)1200仅(K1)取指与K执行重叠;(K2)取指、(K1)分析、K执行重叠。,2023年3月29日星期三,91,仅(K1)取指与K执行重叠,第2条,第3条,第100条,第1

44、条,若T取T分2,T执1t=698(2+2)+3401若T取T执5,T分2t=1299(2+5)705,2023年3月29日星期三,92,(K2)取指、(K1)分析、K执行重叠,第2条,第1条,第3条,第100条,若T取T分2,T执1t=6+982+1=203若T取T执5,T分2t=15+985+5=510,2023年3月29日星期三,93,【例2】指令流水线有取指(IF)、译码(ID)、执行(EX)、访存(MEM)、写回寄存器堆(WB)五个过程段,共有7条指令连续输入此流水线,时钟周期为100ns。,请画出流水处理的时空图;,2023年3月29日星期三,94,【例2】指令流水线有取指(IF)

45、、译码(ID)、执行(EX)、访存(MEM)、写回寄存器堆(WB)五个过程段,共有7条指令连续输入此流水线,时钟周期为100ns。,求流水线的实际吞吐率(单位时间里执行完毕的指令数);流水线执行完7条指令的时间是5(71)11个时钟周期故实际吞吐率为7/(11100ns)64105条指令/s求流水处理器的加速比。K级流水线处理器的加速比为Ck非流水时间T1/K级流水时间Tk nk/(k+(n-1)本题中,已知数据n7,k5,则Ck75/(5+6)35/11 3.18,2023年3月29日星期三,95,5.6.3 流水线中的主要问题,资源相关多条指令进入流水线后在同一机器时钟周期内争用同一个功能

46、部件所发生的冲突;解决方法:指令推迟执行,或是设置重复资源;数据相关在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,这两条指令就是数据相关;解决方法:指令推迟执行,或是定向传送技术。控制相关当执行转移指令时,根据转移条件是否发生来控制指令的执行顺序;解决方法:延迟转移法、转移预测法。,2023年3月29日星期三,96,资源相关,第1、2条指令的MEM与第4、5条指令的IF,都需要访存;若数据与指令在同一存储器中,且单端口访问,则争用资源;解决方法第4条指令推迟一个时钟周期;将数据与指令存储器分离;或采用双端口存储器;,2023年3月29日星期三,97,数据相关,设某程序段如右

47、以上3条指令的流水执行如下在第5个时钟周期ADD指令才会更新R1内容;但第4、5个时钟周期SUB、AND指令就需要读取R1的内容;解决方法数据相关指令推迟若干时钟周期执行;数据定向(旁路)技术,直接采用运算器的结果;改变程序的执行顺序,将无关指令提前执行;,ADD R1,R2,R3;(R2)(R3)R1SUB R4,R1,R5;(R1)(R5)R4AND R6,R1,R7;(R1)(R7)R6,不一定总有效,2023年3月29日星期三,98,数据相关的类型,“先读后写”相关正常顺序是:i先读,j再写;由于异步流动下,j可能先于指令i被解释,从而i读到j写后的数据,不正确。“写-写”相关正常情况

48、下,最后单元中保存k写的数据;由于异步流动,k可能先于i写数据,使该单元最后结果不正确。“先写后读”相关类似,设指令i、j依次流入流水线,i要读数单元是j写数单元,i,k写同一单元,2023年3月29日星期三,99,课本P165【例4】流水线中有三类数据相关冲突:写后读(RAW)相关;读后写(WAR)相关;写后写(WAW)相关。判断以下三组指令各存在哪种类型的数据相关。,I1 ADD R1,R2,R3;(R2+R3)R1 I2 SUB R4,R1,R5;(R1-R5)R4 I3 STA M(x),R3;(R3)M(x),M(x)是存储单元 I4 ADD R3,R4,R5;(R4+R5)R3 I

49、5 MUL R3,R1,R2;(R1)(R2)R3 I6 ADD R3,R4,R5;(R4+R5)R3,写后读(RAW)相关,读后写(WAR)相关,写后写(WAW)相关,2023年3月29日星期三,100,09年考研真题,18.某计算机的指令流水线由四个功能段组成,指令流经各功能段的时间(忽略各功能段之间的缓存时间)分别是90ns、80ns、70ns和60ns,则该计算机的CPU时钟周期至少是()A90ns B.80ns C.70ns D.60ns 19.相对于微程序控制器,硬布线控制器的特点是()A指令执行速度慢,指令功能的修改和扩展容易B指令执行速度慢,指令功能的修改和扩展难C指令执行速度

50、快,指令功能的修改和扩展容易D指令执行速度快,指令功能的修改和扩展难,A,D,2023年3月29日星期三,101,44.某计算机字长16位,采用16位定长指令字结构,部分数据通路结构如下图所示,图中所有控制信号为1时表示有效,为0时表示无效。例如,控制信号MDRinE为1表示允许数据从DB打入MDR,MDRin为1表示运行数据从内总线打入MDR。假设MAR的输出一直处于使能状态。加法指令“ADD(R1),R0”的功能为(R0)+(R1)(R1),即将R0中的数据与R1的内容所指主存单元的数据相加,并将结果送入R1的内容所指主存单元中保存。,2009年计算机专业课考研真题,2023年3月29日星

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号