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

上传人:4**** 文档编号:243145887 上传时间:2024-09-16 格式:PPT 页数:105 大小:3.17MB
返回 下载 相关 举报
计算机组成与结构第5章_中央处理器分析课件_第1页
第1页 / 共105页
计算机组成与结构第5章_中央处理器分析课件_第2页
第2页 / 共105页
计算机组成与结构第5章_中央处理器分析课件_第3页
第3页 / 共105页
点击查看更多>>
资源描述
,单击此处编辑母版文本样式,第二级,第三级,第四级,*,*,单击此处编辑母版标题样式,第5章 中央处理,器,16 九月 2024,2,目录,5.1 CPU的功能和组成,掌握,5.2 指令周期,掌握,5.3 时序产生器和控制方式,了解,5.4 微程序控制器,掌握,5.5 硬连线控制器,了解,5.,6,流水CPU,掌握,5.,7,RISC CPU,了解,16 九月 2024,3,考研大纲要求,(一)CPU的功能和基本结构,(二)指令执行过程,(三)数据通路的功能和基本结构,(四)控制器的功能和工作原理,硬布线控制器,微程序控制器,微程序、微指令和微命令,微指令的编码方式;微地址的形成方式,(五) 指令流水线,指令流水线的基本概念,超标量和动态流水线的基本概念,16 九月 2024,4,5.1 CPU的组成和功能,5.1.1,CPU的功能,5.1.2 CPU的基本组成,5.1.3CPU中的主要寄存器,5.1.4 操作控制器与时序产生器,16 九月 2024,5,5.1.1 CPU的功能,CPU(中央处理器),控制程序按设定方式执行;,CPU的主要功能:,指令控制,控制程序的执行顺序;,操作控制,产生和发送各操作信号;,时间控制,控制指令、或操作的实施时间;,数据加工,对数据进行算术逻辑运算;,顺序寻址、跳跃寻址,对指令操作码译码后产生控制信号,维持各类操作的时序关系,由ALU完成具体的运算,16 九月 2024,6,5.1.2 CPU的基本组成,现代的CPU的组成,运算器、控制器,控制器的主要功能,从内存中取出一条指令,并指出下条指令的存放位置;,对指令进行译码,产生相应的操作控制信号;,控制CPU、内存和输入/输出设备之间数据流动;,运算器的主要功能:,执行所有的算术运算;,执行所有的逻辑运算,并进行逻辑测试。,冯,诺依曼,机的定义,、片内Cache;,PC、IR,ALU、通用寄存器组、标志寄存器,CU、时序电路、操作控制器,16 九月 2024,7,CPU模型图,运算器,Cache,控制器,16 九月 2024,8,5.1.3CPU中的主要寄存器(1/3),数据缓冲寄存器(DR),暂时存放CPU与外界传送的数据,可以是指令字或数据字。,作用 :,作为CPU和内存、外部设备之间信息传送的中转站;,补偿CPU和内存、外围设备之间在操作速度上的差别;,通用寄存器,功能:暂时存放ALU运算的数据或结果。,CPU中的通用寄存器可多达16个,32个,甚至更多。,16 九月 2024,9,5.1.3CPU中的主要寄存器(2/3),状态条件寄存器(PSW),保存各种状态和条件控制信号;,进位标志(C),溢出标志(V),零标志(Z),符号标志(N),每个信号由一个触发器保存,从而拼成一个寄存器。,地址寄存器(AR),保存当前CPU所访问数据的内存单元地址;,主要用于解决主存/外设和CPU之间的速度差异,使地址信息可以保持到主存/外设的读写操作完成为止 。,16 九月 2024,10,5.1.3CPU中的主要寄存器(3/3),程序计数器(PC),始终存放下一条指令的地址,对应于指令Cache的访问;,其内容变化分两种情况,顺序执行: PC+1,PC,转移执行,: (,指令OPR),PC,指令寄存器(IR),保存当前正在执行的一条指令。,指令寄存器中操作码字段的输出就是指令译码器的输入。,寄存功能,计数功能,16 九月 2024,11,5.1.4 操作控制器与时序产生器,数据通路,寄存器之间传送信息的通路。,操作控制器,根据指令操作码和时序信号,产生各种操作控制信号;,建立正确,的,数据通路,从而完成指令的执行。,根据设计方法不同,操作控制器可分为,硬布线控制器,:采用时序逻辑技术实现;,微程序控制器,:采用存储逻辑实现;,前两种方式的结合,;,时序产生器,对各种操作实施时间的控制。,16 九月 2024,12,数据通路的建立,增量,写入,读出,写入,读出,写入,读出,锁存,锁存,写入,读出,写入,读出,运算,类型,读出,写入,16 九月 2024,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 用方框图语言表示指令周期,16 九月 2024,14,5.2.1 指令周期的基本概念,CPU执行程序是一个“,取指令执行指令,”的循环过程。,指令周期,CPU从内存中,取出,一条指令,并,执行,的时间总和;,CPU周期,又称机器周期,一般为从内存读取一条指令字的最短时间;,一个CPU周期可以完成CPU的一个基本操作。,时钟周期,也叫节拍脉冲或T周期,是计算机处理操作的基本时间单位。,16 九月 2024,15,关于指令周期,一个完整的指令周期由,若干机器周期,:,取指周期,间址周期,执行周期,中断周期,所有指令的,第一个机器周期必为取指周期,;,一个基本的CPU周期包含4个时钟周期,,对于某些CPU周期可以包含更多的时钟周期。,不同指令的指令周期所包含的时钟周期个数,不一定相同,。,求操作数有效地址,本教材上,间址周期和执行周期统称为执行周期!,16 九月 2024,16,一个简单的程序,地址,指令,说明,100,程序执行前设置(R0)=00,(R1)=10;(R2)=20,(R3)=30,101,MOV R0 , R1,传送指令MOV执行(R1),R0,102,LAD R1 , 6,取数指令LAD从6号单元中取数100,R1,103,ADD R1 , R2,加法指令ADD执行(R1)+(R2),R2,结果为(R2)=120,104,STO R2 , (R3),存数指令STO用(R3)间接寻址,(R2)=120写入30号单元,105,JMP 101,转移指令JMP改变程序执行顺序,转到101号单元,106,AND R1 , R3,逻辑与指令AND执行(R1),(R3),R3,地址,数据,5,70,6,100,7,66,10,77,30,40(120),16 九月 2024,17,5.2.2 MOV R0 , R1指令的指令周期,MOV是一条RR型指令,它需要两个CPU 周期:,取指周期,从存储器中取出指令;,程序计数器PC加1;,译码或测试指令操作码,发出控制信号;,执行周期,在控制信号的作用下,将R1中的数据经过ALU送入R0;,16 九月 2024,18,MOV R0 , R1指令的执行过程演示,101,MOV R0 , R1,102,MOV,10,动画演示,16 九月 2024,19,MOV R0 , R1指令周期中的控制信号,取指周期,PC,ABUS,指令Cache ,译码并启动;,指令Cache,IR;,PC,PC+1,为取下条指令做好准备;,IR中的操作码被译码或测试,CPU识别出是指令MOV。,执行指令阶段,R1,ALU,R1中数据通过ALU传送;,ALU,DBUS,DRR0;,PC读,指令Cache启动,指令Cache读,IR写,PC增量,R1读,ALU传送控制,ALU输出,DR锁存,R0写,16 九月 2024,20,5.2.3 LAD R1 , 6指令的指令周期,LAD指令是RS型指令,需要访存获取操作数,共包含三个CPU周期:,取值周期,间址周期,从IR的地址码字段获取操作数地址;(或者通过计算获得EA),执行周期,访存获取操作数送入通用寄存器R1;,16 九月 2024,21,LAD R1 , 6指令的执行过程演示,102,LAD R1,6,103,LAD,6,100,动画演示,16 九月 2024,22,LAD R1 , 6指令周期中的控制信号,LAD取指周期,CPU动作与取MOV指令的取值周期中一样。,LAD指令的执行周期,IR,DBUS,AR;,该过程为寻址周期;,ARABUS,数据Cache ,译码并启动;,数据Cache ,DBUS,DR,R1;,IR读,AR锁存,数据Cache启动,数据Cache读,DR锁存,R1写,16 九月 2024,23,5.2.4,ADD R1 , R2,指令的指令周期,ADD指令的指令周期由两个CPU周期组成 。,取指周期(略),执行周期,从寄存器R1、R2中取出数据,作为源操作数;,将两数据送往ALU,并使ALU进行加运算;,结果保存到R1中。,16 九月 2024,24,ADD R1 , R2,指令的执行过程演示,103,ADD R1,R2,104,ADD,100,20,120,动画演示,16 九月 2024,25,ADD R1 , R2,指令周期中的控制信号,取指周期(略),CPU动作与取MOV指令的取值周期中一样。,执行周期,R1、R2,ALU;,ALU做加运算,将两数相加;,ALU,DBUSDRR1,保存结果;,R1读,R2读,ALU加,ALU输出,DR锁存,R1写,16 九月 2024,26,5.2.5,STO R2 , (R3),指令的指令周期,STO指令是RS型指令,需要3个CPU周期。,取指周期(略),间址周期,根据R3中的地址寻址所要访问的存储单元;,执行周期,将寄存器R2中的数据送入指定的存储单元;,16 九月 2024,27,STO R2 , (R3),指令的执行过程演示,104,STO R2,(R3),105,STO,动画演示,30,120,16 九月 2024,28,STO R2 , (R3),指令周期中的控制信号,取指周期(略),执行周期,R3,DBUSAR,发出地址启动数据Cache;,该过程为间址周期;,R2,DBUS数据Cache;,R3读,AR锁存,R2读,数据Cache写,16 九月 2024,29,5.2.6,JMP 101,指令的指令周期,JMP指令是一条无条件转移指令,用来改变程序的执行顺序;,JMP指令的执行需要两个CPU周期:,取指周期(略),执行周期,使用JMP指令中的直接地址为PC赋值;,16 九月 2024,30,JMP 101,指令的执行过程演示,105,JMP 101,106,JMP,动画演示,101,16 九月 2024,31,JMP 101,指令,周期中的控制信号,取指周期(略),执行周期,IR,DBUSPC;,IR读,PC写,16 九月 2024,32,5.2.7用方框图语言表示指令周期,方框,代表一个CPU周期;,方框中的内容表示数据通路的操作或某种控制操作。,菱形,通常用来表示某种判别或测试;,时间上依附于之前一个方框的CPU周期,而不单独占用一个CPU周期;,(公操作符号),表示一条指令已经执行完毕,转入公操作。,所谓公操作,就是一条指令执行完毕后,CPU所开始的一些操作,比如对外围设备请求的处理等。,16 九月 2024,33,P139 图5.14方框图语言表示的指令周期,MOV R0 , R1,LAD R1 , 6,ADD R1 , R2,STO R2 , (R3),JMP 101,16 九月 2024,34,课本P139 【例1】,图5.15所示为双总线结构机器的数据通路,各构成部件如图,线上标注有小圈表示有控制信号,未标字符的线为直通线。,“ADD R2,R0”指令完成(R0)+(R2)R0的功能操作,画出其指令周期流程图,并列出相应的微操作控制信号序列。,“SUB R1,R3”指令完成(R3)-(R1)R3的操作,画出其指令期流程图,并列出相应的微操作控制信号序列。,16 九月 2024,35,指令周期应包括,取指周期,和,执行周期,;,执行周期中应首先将R0、R2两寄存器的内容送入ALU的操作数缓冲器中,再执行加法运算;,(1) “ADD R2,R0” ,(R0)+(R2)R0,(PC),AR,(M),DR,(DR),IR,译码,(R2),Y,(R0),X,(R0),+(R2)R0,取指周期,执行周期,PC,0,G,AR,i,R/W=1,DR,0,G,IR,i,R2,0,G,Y,i,R0,0,G,X,i,+,G,R0,i,16 九月 2024,36,指令ADD R2,R0的执行过程,指令,地址,指令,R2,R0,和,16 九月 2024,37,指令周期应包括,取指周期,和,执行周期,;,取指周期与ADD指令完全相同;,执行周期与ADD指令不同之处在于ALU的控制信号为“”,(2) “SUB R1,R3” ,(R3),(R1)R3,(PC),AR,(M),DR,(DR),IR,译码,(R3),Y,(R1),X,(R3),-(R1)R3,取指周期,执行周期,PC,0,G,AR,i,R/W=1,DR,0,G,IR,i,R3,0,G,Y,i,R1,0,G,X,i,G,R3,i,16 九月 2024,38,参考上例试写出下列指令的微操作序列,指令STO R1,(R2),功能:R1(R2),将R1的数据送入R2指向的单元中;,指令LAD (R3),R0,功能:将R3指向单元中的数据送入R0中;,指令ADD R0,(R1),功能:将R1指向单元中的数据和R0的内容相加,并将结果存入R0寄存器中。,指令ADD (R1),R0,功能:(R0)+(R1)(R1),将R0中的数据与R1指向单元中的数据相加,并将结果送入R1指向的单元中;,16 九月 2024,39,计算机的性能指标,主频/时钟周期,主时钟的频率(f)叫CPU的主频;,主频的倒数称为CPU时钟周期(T),T=1/f。,CPI,执行一条指令所需的平均时钟周期数。,MIPS,每秒百万指令数,即单位时间内执行的指令数。,16 九月 2024,40,【例1】某CPU的主频为8MHz,设每个CPU周期平均包括4个时钟周期,且该机平均指令执行速度为1MIPS。,求该机平均指令周期。,平均指令周期,求每个指令周期包含的平均CPU周期。,时钟周期,一个CPU周期为4个时钟周期,则40.125=0.5us;,故每个指令周期包含1/0.5=2个平均CPU周期。,1秒,1百万条指令,1,10,6,1us,1,8MHz,0.125,us,16 九月 2024,41,【例2】 若某机主频为200MHz,每个指令周期平均为2.5个CPU周期,每个CPU周期平均包括2个主频周期。,该机平均指令执行速度为多少MIPS?,执行一条指令的时间 2.5 2时钟周期, 2.5 2,平均指令执行速度1/平均指令周期,若主频不变,但每条指令平均包括5个CPU周期,每个CPU周期又包含4个主频周期,平均指令执行速度为多少MIPS?,执行一条指令的时间5 4时钟周期, 5 4,平均指令执行速度1/平均指令周期,1,200MHz,40MIPS,1,200MHz,10MIPS,1,40M,1,10M,16 九月 2024,42,5.3 时序产生器和控制方式,5.3.1 时序信号的作用和体制,5.3.2 时序信号产生器,5.3.3 控制方式,16 九月 2024,43,5.3.1 时序信号的作用和体制,时序信号的作用,使计算机准确、迅速、有条不紊地工作;,CPU通过时序控制来识别指令和数据:,指令周期的第一个CPU周期,取指周期,;,从存储单元中取出的一定是指令,需要送往IR指令寄存器;,指令周期的其他CPU周期,执行周期,;,从存储单元中取出的一定是数据,需要送往运算器。,时序信号的体制:,电位脉冲制,脉冲到达之前,电平信号必须要稳定;,CPU的时间表,16 九月 2024,44,控制器的时序信号,硬布线控制器的时序信号,常采用,主状态周期节拍电位节拍脉冲,三级体制。,微程序控制器的时序信号,一般采用,节拍电位节拍脉冲,二级体制。,节拍脉冲,节拍电位1,主状态周期,节拍电位2,节拍电位可表示一个CPU周期,主状态周期可包含若干个节拍电位,是最大的时间单位,时钟周期,16 九月 2024,45,5.3.2 时序信号产生器,时序信号产生器:用逻辑电路实现时序的控制;,微程序控制器中时序信号产生器的组成:,P142图5.17,时钟源,提供稳定的基本方波时钟信号;,环形脉冲发生器,产生一组有序的间隔相等或不等的脉冲序列;,节拍脉冲和读写时序译码逻辑,环形脉冲与节拍脉冲共同作用产生各控制信号的时序;,启停控制逻辑,16 九月 2024,46,5.3.3控制方式,控制器的控制方式,控制不同操作序列的时序信号的方法。,同步控制方式,在任何情况下,已定的指令在执行时所需的机器周期数和时钟周期数都固定不变。,异步控制方式,每条指令、每个操作控制信号需要多少时间就占用多少时间。,联合控制方式,大部分操作序列为固定的机器周期,对某些时间难以确定的操作则以执行部件的“回答”信号作为本次操作的结束。,机器周期的节拍脉冲数固定,但是各条指令周期的机器周期数不固定。,16 九月 2024,47,5.4 微程序控制器,5.4.1,微程序控制原理,5.4.2,微程序设计技术,16 九月 2024,48,5.4.1 微程序控制原理,微程序设计技术是,利用软件方法来设计硬件,的一门技术。,具有,规整性、灵活性、可维护性,等一系列优点;,逐渐取代了早期的组合逻辑控制器,已被广泛地应用。,基本思想,仿照通常的解题程序的方法,,把操作控制信号编成所谓的“微指令”,,存放到一个只读存储器里;,当机器运行时,一条一条地读出这些微指令,从而产生全机所需要的各种操作控制信号,使部件执行规定的操作。,16 九月 2024,49,1、微命令和微操作,控制部件与执行部件之间的联系,控制部件向执行部件发出控制信号;,执行部件向控制部件返回状态信息;,微命令,控制部件通过控制线向执行部件发出的各种控制命令;,微操作,执行部件接受微命令后所执行的操作;,状态测试,执行部件通过反馈线向控制部件反映当前操作状态,以使控制部件决定下一步的微命令;,控制线,执行部件的最基本的操作,16 九月 2024,50,微操作的分类,相容性微操作,在同时或同一个CPU周期内可以并行执行的微操作;,相斥性微操作,不能在同时或不能在同一个CPU周期内并行执行的微操作。,16 九月 2024,51,简单运算器数据通路,相斥性微操作,相斥性微操作,相斥性微操作,相容性微操作,16 九月 2024,52,2、微指令和微程序,微指令,一个CPU周期中,实现一定操作功能的一组微命令的组合。,微指令,一般包含,操作控制,和,顺序控制,两大部分,操作控制:用于发出管理和指挥全机工作的控制信号;,顺序控制:用于决定产生下一条微指令的地址;,所有的微指令都存放于控制存储器中,使用,地址,访问;,微程序,能实现一条机器指令功能的多条微指令序列;,每条机器指令都对应着一段微程序;,微地址,16 九月 2024,53,顺序控制部分的P,1,、P,2,为判别测试标志;,若为00,则顺序寻址微指令;,若为01、10,则跳跃寻址微指令。,直接地址2023位,顺序寻址时,直接地址即为下一条微指令地址;,跳跃寻址时,则要对直接地址修改,得到下条微指令地址;,微指令基本格式,节拍脉冲信号,节拍电位信号,16 九月 2024,54,3、微程序控制器原理框图,微程序控制器主要构成部件:,P147图5.23,控制存储器(CM),存放实现全部指令系统的微指令;,由只读存储器构成,要求速度快,读出周期短。,微指令寄存器,存放由控制存储器读出的一条微指令信息;,微地址寄存器:,决定将要访问的下一条微指令的地址;,微命令寄存器,:保存一条微指令的操作控制字段和判别测试字段的信息。,地址转移逻辑,用于跳跃寻址微指令时,承担自动完成修改微地址的任务。,16 九月 2024,55,P147图5.23 微程序控制器原理框图,16 九月 2024,56,微程序控制器的工作过程,“,取指微指令,”为所有指令的公用微指令;,通常放在控制存储器中的,“0”地址单元,;,所有机器指令的,最后一条微指令的直接地址,都指向0地址单元,用以取下一条微指令。,取得机器指令后,,经过P1测试,,即操作码测试,产生对应的微程序入口地址,并送入微地址寄存器。,指令执行过程中,,通过P2测试,,修正下一条微指令的地址,逐条读取微指令执行。,执行完对应于一条机器指令的微程序后,返回到取指微指令,不断重复,直至程序执行完毕。,16 九月 2024,57,4、微程序举例,“十进制加法”指令是用BCD码来完成十进制数的加法运算。,当两数位相加小于等于9时,结果正确;,当两数位相加大于9时,必须对和数位进行加6的修正。,例如:,3+4 = 0011 + 0100 = 0111= 7,8+7 = 1000 + 0111 = 1111,25+36 = 0010 0101 + 0011 0110,=0101 1011,+ 0110 = 0001 0101= 15,= 0110 0001,以“十进制加法”指令为例,+ 0110,16 九月 2024,58,(R2),- (R3),R2,十进制加法指令的微指令执行流程,假定(R1)=a,(R2)=b,(R3)=6;,第一条微指令,取指微指令,从内存中取出该指令,并修改PC的值;,对操作码进行P1测试,确定下一条微指令的地址;,第二条微指令,两数相加微指令,第三条微指令,和数修正微指令,P2测试,根据进位标志决定下一条微指令的地址,第四条微指令,和数逆修正微指令,取指令,P1测试,(R1),+(R2),R2,(R2),+(R3),R2,P2测试,Cy=1,Cy=0,16 九月 2024,59,十进制加法指令的微指令,第一条微指令(取微指令),000 00 00 00 000,11111,10,0000,第二条微指令(两数相加),0,1,0,1,0 0,1,00,1,00 00000,00,1001,第三条微指令(和数加6),0,1,0 00,1,0 0,1,1,00 00000,01,0000,第四条微指令(和数减6),0,1,0 00,1,0 0,1,00,1,00000,00,0000,取微指令,和数减6,和数加6,两数相加,0000,0001,1001,1010,控制存储器,LDAR,RD,LDDR,LDIR,PC+1,R1,X,R2Y,+,LDR2,R2,X,R3Y,+,LDR2,R2,X,R3Y,LDR2,16 九月 2024,60,5、CPU周期与微指令周期的关系,微指令周期,读出微指令的时间加上执行该条微指令的时间;,串行方式的微程序控制器中的概念;,一般来讲,一个微指令周期时间设计得恰好和CPU周期时间相等。,16 九月 2024,61,CPU周期与微指令周期关系的例子,CPU周期为0.8us,包括4个节拍脉冲T1T4,每个脉冲200ns;,T1T3的600ns为执行微指令的时间;,T4的200ns为取微指令的时间;,T1的上升沿,将读出的微指令存入微指令寄存器;,T4的上升沿保存微指令的执行结果,T4期间取微指令。,T1 T2 T3 T4 T1 T2 T3 T4,T4,T4,执行微指令,微指令周期,CPU周期,CPU周期,读,微指令,16 九月 2024,62,6、机器指令与微指令的关系,一条机器指令对应一个微程序,一个微程序由若干条微指令序列组成的;,一条机器指令所完成的操作划分成若干条微指令来完成,由微指令进行解释和执行。,从指令与微指令,程序与微程序,地址与微地址的一一对应关系来看,,前者与内存有关,,,后者与控制存储器有关,。,每一个CPU周期对应一条微指令。,16 九月 2024,63,【例】 设某16位计算机运算器框图如下图(a)所示,其中ALU为16位的加法器(高电平工作),SA、SB为16位暂存器。4个通用寄存器,其读、写控制功能见下表。,读控制,R,RA0,RA1,选中,1,0,0,R0,1,0,1,R1,1,1,0,R2,1,1,1,R3,0,不读,写控制,W,WA0,WA1,选中,1,0,0,R0,1,0,1,R1,1,1,0,R2,1,1,1,R3,0,不写,16 九月 2024,64,控制信号说明,RA,0,RA,1,/ WA,0,WA,1,:读写通用寄存器时,选择所读写的寄存器;,R / W:寄存器读 / 写命令;,LDSA / LDSB :将数据打入SA / SB的控制信号;,SB 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位,微指令格式如下所示(未考虑顺序控制字段)。,WA,1,RA,1,RA,0,WA,0,R,W,LDS,A,LDS,B,S,B,ALU,S,B,ALU,Reset,SB,16 九月 2024,65,【例】解答,三条指令的微指令的微程序流程图,三条指令的微程序代码如下表:,未考虑“取指周期”和顺序控制问题,仅考虑“执行周期”;,每一个方框表示一条微指令,用数字序号标明微指令序列的顺序。,指令,微程序代码,ADD,1. 00*10100000,2. 01*10010000,3. *0101001001,SUB,4. 11*10100000,5. 10*10010000,6. *1101000101,MOV,7. 10*10100000,8. *1101001011,16 九月 2024,66,5.4.2,微程序设计技术,微命令编码,微地址的形成方法,微指令格式,动态微程序设计,16 九月 2024,67,1、微命令编码,微指令中,操作控制字段,的编码表示方法,以及如何把编码翻译成相应的微指令。,微命令编码主要考虑的问题:,如何有效缩短微指令字长;,如何有利于缩短微程序,减少所需的控存空间;,如何有利于提高微程序执行速度;,微命令编码表示方法,直接表示法,、,编码表示法,、混合表示法,16 九月 2024,68,直接表示法,操作控制字段中的每一位代表一个微命令;,优点,简单直观,其输出可直接用于控制,执行速度快;,缺点,微指令字较长,因而使控制存储器容量较大。, ., 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23,LDR,1,LDR,2,LDR,3,R,1,Y,R,2,X,R,2,Y,R,1,X,DRX,R,3,Y,+,M,-,RD,LDDR,LDIR,LDAR,PC+1,P1,P2,直接地址,操作控制,顺序控制,16 九月 2024,69,编码表示法(1/2),编码方法,将微指令操作控制字段划分为若干个,子字段,;,每个子字段的所有微命令进行统一编码;,每个子字段的不同编码表示不同的微命令;,例如,某机器指令系统总共需要256个微命令,采用直接编码法,微指令的操作控制字段需,256位,;,采用编码表示法,若4个微命令划分一个子字段,则每个子字段可编码16个微命令;,256个微命令需16个子字段,即微指令的操作控制字段仅,64位,。,16 九月 2024,70,编码表示法(2/2),遵循原则:,把,相斥的微命令,划分在同一个字段中,相容的微命令划分在不同字段;,字段的划分应与数据通路结构相适应;,每个子字段应留出一个,空操作状态,;,每个子字段所定义的微命令不宜太多;,优点,可大大缩短微指令字长;,缺点,需要微命令译码,,故微程序的执行速度稍稍减慢。,16 九月 2024,71,2、微地址的形成方法,微程序的入口地址,微程序的第一条微指令所在控存单元的地址;,现行微指令,执行微程序过程中,当前正在执行的微指令;,现行微指令的地址称为现行微地址。,后继微指令,现行微指令执行完毕后,下一条要执行的微指令;,后继微指令的地址称为后继微地址。,微指令中确定下一条微指令地址的方法;,计数器方式,、,多路转移方式,;,16 九月 2024,72,计数器方式,同CPU中程序计数器产生机器指令地址的方法相类似。,优点,微指令的顺序控制字段较短,微地址产生机构简单。,缺点,多路并行转移功能较弱,速度较慢,灵活性较差。,16 九月 2024,73,多路转移方式,可根据“判别测试”标志和“状态条件”信息选定某一个候选微地址的方法。,特点,能以较短的顺序控制字段配合,实现多路并行转移,灵活性好,速度较快;,但转移地址逻辑需要用组合逻辑方法设计。,16 九月 2024,74,【例】已知某计算机采用微程序控制方式,其控存容量为51232位,微程序可以在控存中实现转移,可控制微程序转移的条件有6个,采用直接编码方式,后继微指令地址采用多路转移方式。,微指令字长32位,格式如下,请说明微指令中3个字段分别应为多少位。,由控存单元数可知共512个,则每个控存单元地址位为9位,则微指令中的后继微指令地址位数为9位;,可控制微程序转移的条件为6个,且按照直接控制编码,则测试条件位数为6位;,剩下的为操作控制字段可用位数329617位;,微操作编码,测试指令,下址,16 九月 2024,75,3、微指令格式,水平型微指令,一次能定义并执行多个并行操作微命令的微指令;,一般由操作控制字段、判别测试字段、下地址字段三部分构成;,根据控制字段编码方式的不同,可分为全水平型、字段译码法水平型、直接和译码相混合的水平型三种微指令。,垂直型微指令,微指令中设置微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能;,垂直型微指令的结构类似于机器指令的结构。,课本P153 四个垂直型微指令的例子,16 九月 2024,76,水平型微指令与垂直型微指令比较,水平型微指令,并行操作能力强,,效率高,灵活性强。垂直型微指令则较差。,水平型微指令,执行一条指令的时间短,,垂直型微指令执行时间长。,由水平型微指令解释指令的微程序,具有,微指令字比较长,但微程序短,的特点。垂直型微指令则相反,微指令字比较短而微程序长。,水平型微指令用户,难以掌握,,而垂直型微指令与指令比较相似,相对来说,比较容易掌握。,16 九月 2024,77,4、动态微程序设计,静态微程序设计,对应于一台计算机的机器指令只有一组微程序,而且这一组微程序设计好之后,一般无需改变而且也不容易改变。,动态微程序设计,可通过改变微指令和微程序来改变机器的指令系统的微程序设计技术。,16 九月 2024,78,5.5硬连线控制器,硬布线控制器是一种由,门电路,和,触发器,构成的复杂树形网络。,硬布线控制器是早期设计计算机的一种方法;,随着新一代机器及VLSI技术的发展,硬布线逻辑设计思想又得到了重视。,与微程序控制相比,,硬布线控制的速度较快,;,微程序控制中每条微指令都要从控制存储器中读取一次,影响了速度,而硬布线控制主要取决于电路延迟;,近年来在某些超高速新型计算机结构中,又选用了硬布线控制,或与微程序控制器混合使用。,16 九月 2024,79,硬连线控制器结构方框图,16 九月 2024,80,5.,6,流水CPU,5.,6,.1 并行处理技术,5.,6,.2 流水CPU的结构,5.,6,.3 流水线中的主要问题,16 九月 2024,81,5.,6,.1 并行处理技术,标准的冯诺依曼体系结构,采用的是串行处理,即一个时刻只能进行一个操作。,并行性的两种含义:,同时性,:两个以上事件在同一时刻发生;,如多机系统中,同一时刻多个进程在运行。,并发行,:两个以上事件在同一间隔内发生。,如并发程序,某一时刻CPU中只有一个进程在运行,而在一个时间段内,多个进程同时运行。,并行性的三种形式:,时间并行:即使用流水处理部件,时间重叠。,空间并行:设置重复资源,同时工作。,时间并行空间并行:时间重叠和资源重复的综合应用。,16 九月 2024,82,微指令的执行方式,串行执行方式,并行执行方式,取第i条微指令 执行第i条微指令 取第i+1条微指令 执行第i+1条微指令,微周期,微周期,取第i条微指令 执行第i条微指令,取第i+1条微指令 执行第i+1条微指令,取第i+2条微指令 执行第i+2条微指令,16 九月 2024,83,5.,6,.2 流水CPU的结构,1、流水计算机的系统组成,流水CPU的组成,指令部件,指令部件本身构成一个流水线,由,取指令,、,指令译码,、,计算操作数地址,、,取操作数,等过程段组成。,指令队列,指令队列是一个先进先出的寄存器栈,用于存放经过译码的指令和取来的操作数。,执行部件,执行部件可以具有多个算术逻辑运算部件,这些部件本身又用流水线方式构成。,主存采用多体交叉存储器,以提高访问速度。,P162页 图,5.,30,流水线技术是Intel在486芯片中首次使用的,16 九月 2024,84,流水计算机系统组成原理示意图,16 九月 2024,85,执行段的速度匹配问题的解决,将执行部件分为,定点执行部件,和,浮点执行部件,两个可并行执行的部分,分别处理定点运算指令和浮点运算指令;,在浮点执行部件中,又有,浮点加法部件,和,浮点乘除部件,,它们也可以同时执行不同的指令;,浮点运算部件都以流水线方式工作。,16 九月 2024,86,2、流水CPU的时空图,流水线基本原理,顺序方式的串行指令执行过程:,将一条指令的执行过程分成4段,并行执行过程:,取指1,译码1,取操作数1,运算并保存结果1,取指2,译码2,取操作数2,取指,译码,取操作数,运算并保存结果,取指,译码,取操作数,运算并保存结果,取指,译码,取操作数,运算并保存结果,取指,译码,取操作数,运算并保存结果,一般流水线时钟周期应选取4段中最长的时间,16 九月 2024,87,流水CPU的加速比,非流水线CPU处理n个任务时,所需时钟周期数,T,1,n k,一个具有k级过程段的流水CPU处理这n个任务时,需要的时钟周期数,T,k,k(n1),k个时钟周期用于处理第一个任务;,k个周期后,流水线被装满,剩余的n1个任务只需n1个周期即可完成。,将T1和Tk的比率定义为k级线性流水处理器的加速比:,C,k, T,1,/ T,k,16 九月 2024,88,一般流水线(pipeline),只有一条指令流水线,超流水线(superpipeline),多级流水线,每个阶段内部再划分步骤,奔腾Pro的流水线长达14步,超标量(superscale)流水线,具有两条以上的指令流水线,奔腾以上CPU才具有这种结构,流水计算机的时空图,16 九月 2024,89,3、流水线分类,指令流水线,指令执行的并行处理;,指令流划分为取指、译码、取操作数、执行、写回等过程;,算术流水线,运算操作步骤的并行处理;,现代微机中大多采用流水的算术运算器;,处理机流水线,程序步骤的并行处理,将每一阶段的处理分散在不同的机器上,应用于多级系统中;,16 九月 2024,90,【例1】假设一条指令按取指、分析和执行三步解释执行,请计算下列几种情况下执行完100条指令所需的时间。,顺序方式,若T,取,T,分,2,T,执,1,t =100(2+2+1)500,若T,取,T,执,5,T,分,2,t =100(5+5+2)1200,仅(K1)取指与K执行重叠;,(K2)取指、(K1)分析、K执行重叠。,16 九月 2024,91, 仅(K1)取指与K执行重叠,取指,分析,执行,取指,分析,执行,取指,分析,执行,取指,分析,执行,第2条,第3条,第100条,第1条,若T,取,T,分,2,T,执,1,t = 698(2+2)+3401,若T,取,T,执,5,T,分,2,t = 1299(2+5)705,16 九月 2024,92,(K2)取指、(K1)分析、K执行重叠,取指,分析,执行,取指,分析,执行,取指,分析,执行,取指,分析,执行,第2条,第1条,第3条,第100条,若T,取,T,分,2,T,执,1,t = 6+982+1=203,若T,取,T,执,5,T,分,2,t = 15+985+5=510,16 九月 2024,93,【例2】指令流水线有取指(IF)、译码(ID)、执行(EX)、访存(MEM)、写回寄存器堆(WB)五个过程段,共有7条指令连续输入此流水线,时钟周期为100ns。,请画出流水处理的时空图;,IF,ID,EX,MEM,WB,第1条,IF,ID,EX,MEM,WB,第2条,IF,ID,EX,MEM,WB,第3条,IF,ID,EX,MEM,WB,第4条,IF,ID,EX,MEM,WB,第5条,IF,ID,EX,MEM,WB,第6条,IF,ID,EX,MEM,WB,第7条,16 九月 2024,94,【例2】指令流水线有取指(IF)、译码(ID)、执行(EX)、访存(MEM)、写回寄存器堆(WB)五个过程段,共有7条指令连续输入此流水线,时钟周期为100ns。,求流水线的实际吞吐率(单位时间里执行完毕的指令数);,流水线执行完7条指令的时间是,5(71)11个时钟周期,故实际吞吐率为,7 / (11100ns) 6410,5,条指令/s,求流水处理器的加速比。,K级流水线处理器的加速比为,C,k,非流水时间T,1,/ K级流水时间T,k, nk / (k+(n-1),本题中,已知数据n7,k5,则,C,k,75 / (5+6) 35 / 11 3.18,16 九月 2024,95,5.,6,.3 流水线中的主要问题,资源相关,多条指令进入流水线后在同一机器时钟周期内争用同一个功能部件所发生的冲突;,解决方法,:指令推迟执行,或是设置重复资源;,数据相关,在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,这两条指令就是数据相关;,解决方法,:指令推迟执行,或是定向传送技术。,控制相关,当执行转移指令时,根据转移条件是否发生来控制指令的执行顺序;,解决方法,:延迟转移法、转移预测法。,16 九月 2024,96,资源相关,第1、2条指令的MEM与第4、5条指令的IF,都需要访存;,若数据与指令在同一存储器中,且单端口访问,则争用资源;,解决方法,第4条指令推迟一个时钟周期;,将数据与指令存储器分离;或采用双端口存储器;,IF,ID,EX,MEM,WB,第1条,IF,ID,EX,MEM,WB,第2条,IF,ID,EX,MEM,WB,第3条,IF,ID,EX,MEM,WB,第4条,IF,ID,EX,MEM,WB,第5条,16 九月 2024,97,数据相关,设某程序段如右,以上3条指令的流水执行如下,在第5个时钟周期ADD指令才会更新R1内容;,但第4、5个时钟周期SUB、AND指令就需要读取R1的内容;,解决方法,数据相关指令推迟若干时钟周期执行;,数据定向(旁路)技术,直接采用运算器的结果;,改变程序的执行顺序,将无关指令提前执行;,ADD R1,R2,R3,;(R2)(R3)R1,SUB R4,R1,R5,;(R1)(R5) R4,AND R6,R1,R7,; (R1)(R7) R6,IF,ID,EX,MEM,WB,ADD,IF,ID,EX,MEM,WB,SUB,IF,ID,EX,MEM,WB,AND,不一定总有效,16 九月 2024,98,数据相关的类型,“先读后写”相关,正常顺序是:i先读,j再写;,由于异步流动下,j可能先于指令i被解释,从而i读到j写后的数据,不正确。,“写-写”相关,正常情况下,最后单元中保存k写的数据;,由于异步流动,k可能先于i写数据,使该单元最后结果不正确。,“先写后读”相关类似,设指令i、j依次流入流水线,i要读数单元是j写数单元,i,k写同一单元,16 九月 2024,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, I5 MUL R3,R1,R2; (R1)(R2) R3,I6 ADD R3,R4,R5; (R4+R5) R3,写后读(RAW)相关,读后写(WAR)相关,写后写(WAW)相关,16 九月 2024,100,09年考研真题,18.某计算机的指令流水线由四个功能段组成,指令流经各功能段的时间(忽略各功能段之间的缓存时间)分别是90ns、80ns、70ns和60ns,则该计算机的CPU时钟周期至少是( ),A90ns B.80ns C.70ns D.60ns,19.相对于微程序控制器,硬布线控制器的特点是( ),A指令执行速度慢,指令功能的修改和扩展容易,B指令执行速度慢,指令功能的修改和扩展难,C指令执行速度快,指令功能的修改和扩展容易,D指令执行速度快,指令功能的修改和扩展难,A,D,16 九月 2024,101,44. 某计算机字长16位,采用16位定长指令字结构,部分数据通路结构如下图所示,图中所有控制信号为1时表示有效,为0时表示无效。,例如,控制信号MDRinE为1表示允许数据从DB打入MDR,MDRin为1表示运行数据从内总线打入MDR。,假设MAR的输出一直处于使能状态。加法指令“ADD (R1) ,R0”的功能为(R0)+(R1)(R1),即将R0中的数据与R1的内容所指主存单元的数据相加,并将结果送入R1的内容所指主存单元中保存。,2009年计算机专业课考研真题,16 九月 2024,102,16 九月 2024,103,下表给出了上述指令取指和译码阶段每个节拍(时钟周期)的功能和有效控制信号;,请按照表中描述方式用表格列出,指令执行阶段,每个节拍的功能和有效控制信号。,时钟,功能,有效控制信号,C1,MAR(PC),PCout,MARin,C2,MDRM(MAR),PC(PC)+1,MemR,MDRinE,PC +1,C3,IR(MDR),MDRout,IRin,C4,指令译码,无,16 九月 2024,104,2个解答,时钟,功能,有效控制信号,C5,MAR(R1),R1out,MARin,C6,MDRM(MAR),MemR,MDRinE,C7,A(R 0),R0out,Ain,C8,AC(MDR)+(A),Add,MDRout,ACin,C9,MDR(AC),ACout,MDRin,C10,M(MAR)MDR,MDRoutE,MemW,时钟,功能,有效控制信号,C5,MAR(R1),R1out,MARin,C6,MDRM(MAR),MemR,MDRinE,C7,A(MDR),MDRout,Ain,C8,AC(R0)+(A),Add,R0out,ACin,C9,MDR(AC),ACout,MDRin,C10,M(MAR)MDR,MDRoutE,MemW,16 九月 2024,105,10年考研题,18、下列存储器中,汇编语言程序员可见的是( ),A. 存储器地址寄存器(MAR) B. 程序计数器(PC),C. 存储器数据寄存器(MDR) D. 指令寄存器(IR),19、下列不会引起指令流水阻塞的是( ),A. 数据旁路 B. 数据相关 C. 条件转移 D. 资源冲突,B,A,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


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

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


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