计算机原理第五章中央处理器精选文档.ppt
计算机原理第五章中央处理器本讲稿第一页,共八十五页图图91 单总线单总线CPU的结构的结构本讲稿第二页,共八十五页一、运算器及内总线一、运算器及内总线运算器主要由各种寄存器、移位器和运算器主要由各种寄存器、移位器和ALU组成。它是具体负责对数据进行组成。它是具体负责对数据进行加工处理的部件。加工处理的部件。1。通用寄存器组(。通用寄存器组(GR)通用的含义是指寄存器的功能有多种用途,它可作为通用的含义是指寄存器的功能有多种用途,它可作为ALU的累加器、变址寄存的累加器、变址寄存器、地址指针、指令计数器、数据缓冲器等,用于存放操作数(包括源操作器、地址指针、指令计数器、数据缓冲器等,用于存放操作数(包括源操作数、目的操作数)、运算结果、中间结果和各种地址信息等。现代计算机的数、目的操作数)、运算结果、中间结果和各种地址信息等。现代计算机的CPU都采用通用寄存器组结构并且是双端口的。都采用通用寄存器组结构并且是双端口的。在指令系统中为这组寄存器分配编号,可以编程访问某个指定的寄存在指令系统中为这组寄存器分配编号,可以编程访问某个指定的寄存器。器。ALU及暂存器(及暂存器(LA、LB)进行算术与逻辑运算的部件,前面已讲过,这里不再介绍。进行算术与逻辑运算的部件,前面已讲过,这里不再介绍。暂存器暂存器LA、LB是暂时存放是暂时存放ALU要加工处理的数据的两个寄存器。要加工处理的数据的两个寄存器。本讲稿第三页,共八十五页。移位器。移位器对对ALU运算结果进行左移、右移和直传的操作,可配合乘除法及左右移位指令的实现。运算结果进行左移、右移和直传的操作,可配合乘除法及左右移位指令的实现。状态寄存器(。状态寄存器(SR)存放存放ALU运算中的状态,如溢出、结果为零、结果为负、借进位等。运算中的状态,如溢出、结果为零、结果为负、借进位等。在现代计算机中使用程序状态寄存器在现代计算机中使用程序状态寄存器PSW,它包含,它包含SR内容,同时还包含程序优先级、内容,同时还包含程序优先级、工作方式和其它信息。计算机越大工作方式和其它信息。计算机越大PSW所包含的内容越多,为便于简化教学,我们规定所包含的内容越多,为便于简化教学,我们规定PSW只包含只包含SR和程序状态优先级(屏蔽码)。和程序状态优先级(屏蔽码)。内总线。内总线CPU内各种寄存器与内各种寄存器与ALU通过这组单总线连接起来进行数据传送,同一时刻通过这组单总线连接起来进行数据传送,同一时刻只能有一个部件往总线送数据(占据总线),但可有两个以上部件接收数据。只能有一个部件往总线送数据(占据总线),但可有两个以上部件接收数据。本讲稿第四页,共八十五页。地址寄存器。地址寄存器MARCPU对主存进行读对主存进行读/写操作时,首先把要访问单元的地址送入写操作时,首先把要访问单元的地址送入MAR,经存储地址总,经存储地址总线(线(ABUS)送往主存。)送往主存。MAR中存放的是主存地址信息。中存放的是主存地址信息。MARABUSM。数据缓冲寄存器。数据缓冲寄存器MDRMDR用来存放用来存放CPU与主存之间交换的数据。写入主存的数据一般先送至与主存之间交换的数据。写入主存的数据一般先送至MDR,再,再经存储数据总线(经存储数据总线(DBUS)送往主存。由主存读出送入)送往主存。由主存读出送入CPU的数据,一般也先由的数据,一般也先由DBUS送入送入MDR,再经,再经CPU内部总线送入指定的寄存器。内部总线送入指定的寄存器。MDRDBUSM,MDBUSMDR 写内存读内存写内存读内存注意:这两个寄存器对用户是透明的,不能直接编程访问。注意:这两个寄存器对用户是透明的,不能直接编程访问。二、主存接口二、主存接口由地址寄存器由地址寄存器MAR和数据缓冲寄存器和数据缓冲寄存器MDR组成。组成。CPU与主存之间的信息与主存之间的信息交换,都是通过这两个寄存器来完成的。交换,都是通过这两个寄存器来完成的。本讲稿第五页,共八十五页三、控制器三、控制器它是产生全机控制信号的部件,是它是产生全机控制信号的部件,是CPU设计的关键技术之一。设计的关键技术之一。控制器的主要功能:控制器的主要功能:()从内存中取指令,并计算下一条指令在内存中的地址;()从内存中取指令,并计算下一条指令在内存中的地址;()对指令进行解释且产生相应的微操作控制信号,完成指令所()对指令进行解释且产生相应的微操作控制信号,完成指令所规定的操作。规定的操作。控制器由程序计数器(控制器由程序计数器(PC)、指令寄存器()、指令寄存器(IR)、指令译码器、地址译)、指令译码器、地址译码器、微操作产生部件、时序发生器等组成。码器、微操作产生部件、时序发生器等组成。又称为指令地址寄存器,存放下一条指令的地址。又称为指令地址寄存器,存放下一条指令的地址。CPU取指令时,将取指令时,将PC的内容送到主存储器的地址寄存器中,读取该单元存的内容送到主存储器的地址寄存器中,读取该单元存放的指令,然后,自动修改形成下一条要执行的指令的地址,一般放的指令,然后,自动修改形成下一条要执行的指令的地址,一般PC自动加自动加1就得到下条指令的地址。就得到下条指令的地址。PC的具体硬件是可预置数的计数器,如的具体硬件是可预置数的计数器,如74161,74163等等。等等。程序计数器。程序计数器(PC),Program Counter本讲稿第六页,共八十五页。指令寄存器。指令寄存器(IR),Instruction Register 存放当前正在执行的指令。存放当前正在执行的指令。IR为微操作产生部件提供各种输入信息,以产生不同指令所为微操作产生部件提供各种输入信息,以产生不同指令所需的微操作控制信号。在需的微操作控制信号。在IR中的指令要保存到该指令执行完毕为止。中的指令要保存到该指令执行完毕为止。指令和地址译码器。指令和地址译码器指令译码器对指令的操作码进行译码,又称操作码译码器。它的输出送到微操指令译码器对指令的操作码进行译码,又称操作码译码器。它的输出送到微操作产生部件。作产生部件。地址译码器对指令的寻址方式字段、地址字段进行译码,提供操作数的地地址译码器对指令的寻址方式字段、地址字段进行译码,提供操作数的地址信息。址信息。时序信号发生器时序信号发生器产生周期、节拍、脉冲等时序信号的部件。它循环产生一组时间顺序信号,产生周期、节拍、脉冲等时序信号的部件。它循环产生一组时间顺序信号,送到微操作产生部件,对微操作控制信号进行定时控制。送到微操作产生部件,对微操作控制信号进行定时控制。它由一个振荡器和一组计数分频器组成,振荡器是一个脉冲源,输出频率它由一个振荡器和一组计数分频器组成,振荡器是一个脉冲源,输出频率稳定的主振脉冲。稳定的主振脉冲。本讲稿第七页,共八十五页。微操作产生部件。微操作产生部件根据指令流程,综合时序和指令译码信号,产生执行各条指令所需要根据指令流程,综合时序和指令译码信号,产生执行各条指令所需要的微操作控制信号。的微操作控制信号。指令译码器指令译码器微操作微操作产生部件产生部件指令指令操作码操作码时序信号时序信号:微操作信号微操作信号(送机内(送机内各相应部各相应部件)件)本讲稿第八页,共八十五页程序计数器程序计数器PC指令地址指令地址内存内存指令代码指令代码指令寄存器指令寄存器IR操作码操作码操作数地址码操作数地址码指令译码器指令译码器计数计数接数接数信号源信号源时序信号发生器时序信号发生器脉冲脉冲节拍电位节拍电位机器周期机器周期本讲稿第九页,共八十五页 机器周期机器周期节拍电位节拍电位时钟脉冲时钟脉冲本讲稿第十页,共八十五页微操作产生部件根据设计思想的不同,可分为三种控制器:微操作产生部件根据设计思想的不同,可分为三种控制器:()()组合逻辑控制器组合逻辑控制器:用组合逻辑电路的设计方法来设计微操作产生:用组合逻辑电路的设计方法来设计微操作产生 部件。部件。()()控制器控制器:用:用PLA(可编程逻辑阵列)电路实现。(可编程逻辑阵列)电路实现。()()微程序控制器微程序控制器:用程序设计的方法来设计微操作产生部件,称:用程序设计的方法来设计微操作产生部件,称 为为“存储逻辑存储逻辑”。“硬连线控制器硬连线控制器”四、计算机工作原理示意图四、计算机工作原理示意图取指令取指令执行指令执行指令本讲稿第十一页,共八十五页指令译码器指令译码器时序时序电路电路程序计数器程序计数器 PC计数接数计数接数程程序序首首地地址址指指令令地地址址内存内存读读/写写输入装置输入装置程序、原始数据程序、原始数据输出装置输出装置运行结果运行结果运算器运算器数数据据操操作作码码操操作作数数地地址址操作数地址操作数地址转移地址转移地址微微操操作作产产生生部部件件.所所有有控控制制信信号号,送送机机内内各各部部件件指令寄存器指令寄存器IR指指令令计算机工作原理示意图计算机工作原理示意图本讲稿第十二页,共八十五页5.2 机器指令的周期划分与控制信号机器指令的周期划分与控制信号5.2.1 指令执行分析指令执行分析取指令,第一阶段取指令,第一阶段第二阶段第二阶段取操作数,第三阶段取操作数,第三阶段执行指令,第四阶段执行指令,第四阶段本讲稿第十三页,共八十五页5.2.2 指令执行周期指令执行周期通常将一条指令从取出到执行完成需要的时间称为指令周期。通常将一条指令从取出到执行完成需要的时间称为指令周期。1.取指周期:完成取指令操作。(第一阶段)取指周期:完成取指令操作。(第一阶段)2.取操作数周期:根据寻址方式完成取操作数。(第三阶段)取操作数周期:根据寻址方式完成取操作数。(第三阶段)3.执行周期:完成指令的执行操作。(第四阶段)执行周期:完成指令的执行操作。(第四阶段)指令周期取指周期取操作数周期执行周期指令周期取指周期取操作数周期执行周期5.2.3 控制信号控制信号 图图93是带控制信号的单总线是带控制信号的单总线CPU内部数据通路示意图内部数据通路示意图,本讲稿第十四页,共八十五页本讲稿第十五页,共八十五页本讲稿第十六页,共八十五页5.3 指令执行流程指令执行流程本讲稿第十七页,共八十五页5.3.1 运算指令执行流程运算指令执行流程例例ADD R1,R2 (R1)+(R2)R2,加法指令执行流程,加法指令执行流程解:步骤解:步骤对应微操作控制信号对应微操作控制信号()()PCMAR,PCout=1,MARin=1,WE=0(读内存)(读内存)PC+1PC,PC+1=1()()MDBUSMDRIR,MDRout=1,IRin=1第一阶段第一阶段取指周期取指周期()()R1LA R1out=1,LAin=1 (4)R2LB R2out=1,LBin=1 ()()LA+LBZR2 S3 S2 S1 S0 M Cn=1 0 0 1 0 0 直传,直传,out=1,R2in=1第四阶段第四阶段执行周期执行周期本讲稿第十八页,共八十五页例例2SUB(R1),),R2 (R1)(R2)R2,寄存器间接寻,寄存器间接寻址的减法指令。址的减法指令。解:步骤解:步骤对应微操作控制信号对应微操作控制信号()()PCMAR,PCout=1,MARin=1,WE=0(读内存)(读内存)PC+1PC,PC+1=1()()MDBUSMDRIR,MDRout=1,IRin=1第一阶段第一阶段取指周期取指周期()()R1MAR,R1out=1,MARin=1,WE=0(读内存)(读内存)()()MDBUSMDRLA MDRout=1,LAin=1第三阶段第三阶段取源操作数取源操作数周期周期(5)R2LB R2out=1,LBin=1 (6)LALBZR2 S3 S2 S1 S0 M Cn=0 1 1 0 0 1 直传,直传,out=1,R2in=1第四阶段第四阶段执行周期执行周期本讲稿第十九页,共八十五页5.3.2 传送指令执行流程传送指令执行流程(限定存储器与存储器之间不能传送)(限定存储器与存储器之间不能传送)例例3MOV R1,mem,(R1)mem,解:步骤解:步骤对应微操作控制信号对应微操作控制信号()()PCMAR,PCout=1,MARin=1,WE=0(读内存)(读内存)PC+1PC,PC+1=1()()MDBUSMDRIR,MDRout=1,IRin=1第一阶段第一阶段取指周期取指周期()()IR(mem)(地址段)地址段)MAR,IRout=1,MARin=1 (4)R1MDRDBUSM R1out=1,MDRin=1,WE=1(写)写)本讲稿第二十页,共八十五页例例4MOV(mem),R2 (mem)R2 (mem)为存储器间接寻址方式为存储器间接寻址方式解:步骤解:步骤对应微操作控制信号对应微操作控制信号()()PCMAR ,PCout=1,MARin=1,WE=0(读内存)(读内存)PC+1PC,PC+1=1()()MDBUSMDRIR,MDRout=1,IRin=1()()IR(mem)(地址段)地址段)MAR,IRout=1,MARin=1,WE=0()()MDBUSMDRMAR,MDRout=1,MARin=1,WE=0()()MDBUSMDRR2,MDRout=1,R2in=1本讲稿第二十一页,共八十五页5.3.3 控制指令执行流程控制指令执行流程例例5JMP mem,无条件转移,无条件转移,mem为转移地址为转移地址解:步骤解:步骤对应微操作控制信号对应微操作控制信号()()PCMAR ,PCout=1,MARin=1,WE=0(读内存)(读内存)PC+1PC,PC+1=1()()MDBUSMDRIR,MDRout=1,IRin=1()()IR(mem)(地址段)地址段)PC,IRout=1,PCin=1本讲稿第二十二页,共八十五页例例6JC mem(PC),相对有条件转移指令,相对有条件转移指令,mem为偏移为偏移量。量。解:步骤解:步骤对应微操作控制信号对应微操作控制信号()()PCMAR ,PCout=1,MARin=1,WE=0(读内存)(读内存)PC+1PC,PC+1=1()()MDBUSMDRIR,MDRout=1,IRin=1()()PCLA,PCout=1,LAin=1()()IR(mem)LB,IRout=1,LBin=1()()LA+LBZPC S3 S2 S1 S0 M Cn=1 0 0 1 0 0 直传,直传,out=1,PCin=1本讲稿第二十三页,共八十五页5.4 微程序控制器微程序控制器(P170)5.4.1 微程序控制的基本概念微程序控制的基本概念 微程序控制的概念,最早是由英国剑桥大学教授微程序控制的概念,最早是由英国剑桥大学教授M.V.Wikes在在1951年提年提出的,经历种种演变,在只读存储器技术成熟后得到了非常广泛的应用。出的,经历种种演变,在只读存储器技术成熟后得到了非常广泛的应用。一、基本思想一、基本思想微命令的产生方式:将控制器所需的微命令以代码形式编成微指令,存入微命令的产生方式:将控制器所需的微命令以代码形式编成微指令,存入一个用一个用ROM构成的控制存储器中。构成的控制存储器中。2.微程序与机器指令的关系微程序与机器指令的关系 一条机器指令对应一段微程序,微程序由几条微指令构成,每一条机器指令对应一段微程序,微程序由几条微指令构成,每条微指令由许多微命令构成,完成一步操作。条微指令由许多微命令构成,完成一步操作。其中的关键词:其中的关键词:微命令(微操作控制信号),微指令,微命令(微操作控制信号),微指令,微程序。微程序。本讲稿第二十四页,共八十五页机器指令对应微程序机器指令对应微程序5.4.2 微指令编码格式的设计微指令编码格式的设计1.直接控制法(不译法)直接控制法(不译法)微指令中每一位就是一个微命令,直接对应于一种微操作控制信号,微指令中每一位就是一个微命令,直接对应于一种微操作控制信号,例如它的每一位用例如它的每一位用“1”和和“0”表示相应的微命令表示相应的微命令“有有”和和“无无”。本讲稿第二十五页,共八十五页S3S2S1S0WE微操作控制信号(微命令)微操作控制信号(微命令)微操作控制字段微操作控制字段顺序控制字段顺序控制字段优点:简单直观,执行速度快。优点:简单直观,执行速度快。缺点:信息效率太低,将使微指令字变得很长。缺点:信息效率太低,将使微指令字变得很长。2.全编码方法全编码方法 把所有微命令编码,每一种编码代表一个微命令,特点是每条微把所有微命令编码,每一种编码代表一个微命令,特点是每条微指令只能产生一个微操作控制信号。指令只能产生一个微操作控制信号。本讲稿第二十六页,共八十五页例例 如果某控制器需要如果某控制器需要500个左右的微操作控制信号,只需个左右的微操作控制信号,只需9位宽度的位宽度的CM,29512。这种方式也称为垂直型编码格式。这种方式也称为垂直型编码格式。优点:微指令字长度特短。优点:微指令字长度特短。缺点:一条指令对应的微程序过长,大大增加访问缺点:一条指令对应的微程序过长,大大增加访问CM的次数,使的次数,使CPU速度下降。速度下降。3.字段编码表示法字段编码表示法 将微指令分为若干小字段,每一段独立编码,通过译码电将微指令分为若干小字段,每一段独立编码,通过译码电路表示若干个微命令。路表示若干个微命令。基本的分段原则:将同类操作中互斥(不同时出现)的微命基本的分段原则:将同类操作中互斥(不同时出现)的微命令归为一组。令归为一组。本讲稿第二十七页,共八十五页本讲稿第二十八页,共八十五页5.4.3 微程序控制器微程序控制器 微程序控制器主要由控制存储器(微程序控制器主要由控制存储器(CM)、微指令寄存器()、微指令寄存器(IR)、微地址寄存)、微地址寄存器(器(AR)和地址转移逻辑等部分组成。微程序控制器按微指令地址提供方式不同)和地址转移逻辑等部分组成。微程序控制器按微指令地址提供方式不同分为分为计数增量型计数增量型微程序控制器和微程序控制器和断定方式型断定方式型微程序控制器。微程序控制器。一条微指令执行后,下一条微指令地址由微程序计数器一条微指令执行后,下一条微指令地址由微程序计数器PC产生,称为计数产生,称为计数增量型微程序控制器。如图所示。增量型微程序控制器。如图所示。1.计数增量型微程序控制器计数增量型微程序控制器微微程程序序首首地地址址本讲稿第二十九页,共八十五页 正常情况下正常情况下PC自动加自动加1,形成下条微指令地址。转移时由转移微指令实现转移,形成下条微指令地址。转移时由转移微指令实现转移,分支转移时通过地址修改电路,修改转移微指令低位实现分支转移。分支转移时通过地址修改电路,修改转移微指令低位实现分支转移。2.断定方式型微程序控制器断定方式型微程序控制器 每条微指令中单独设立一个字段专门存放下条微指令地址,称为断定方式每条微指令中单独设立一个字段专门存放下条微指令地址,称为断定方式型微程序控制器,也称下址字段法,如图所示。型微程序控制器,也称下址字段法,如图所示。本讲稿第三十页,共八十五页(1)通常情况,下一条微指令的微地址由当前微指令直接给出;通常情况,下一条微指令的微地址由当前微指令直接给出;(2)碰到分支转移时由微地址形成线路修改低位地址达到分支转移。碰到分支转移时由微地址形成线路修改低位地址达到分支转移。(3)微程序首地址由指令操作码决定,即加法指令微程序与减法指令微程序的微程序首地址由指令操作码决定,即加法指令微程序与减法指令微程序的首地址是不一样的。首地址是不一样的。两种方法的比较:两种方法的比较:计数器方式中每次转移都需要一条转移微指令计数器方式中每次转移都需要一条转移微指令,转移微指令不产生任何微操作转移微指令不产生任何微操作控制信号,而微程序的一个主要特征是存在大量的分支,转移微指令大约占整个微指令控制信号,而微程序的一个主要特征是存在大量的分支,转移微指令大约占整个微指令的的1/3左右;所以计数器方式型控制器一条机器指令对应的微程序就长,影响左右;所以计数器方式型控制器一条机器指令对应的微程序就长,影响CPU执行速度。但它的微指令字长度短。执行速度。但它的微指令字长度短。断定方式不需要单独的转移微指令,转移地址就放在下址字段里,所断定方式不需要单独的转移微指令,转移地址就放在下址字段里,所以这种方式机器指令对应的微程序短,执行速度快;但微指令字长,相应以这种方式机器指令对应的微程序短,执行速度快;但微指令字长,相应的硬件开销大一些。目前大多数机器都采用这种方式。的硬件开销大一些。目前大多数机器都采用这种方式。本讲稿第三十一页,共八十五页5.5 时序系统时序系统(P173)在用微程序控制器思想设计的在用微程序控制器思想设计的CPU中,时序系统应采用二级时序系中,时序系统应采用二级时序系统。统。1.指令周期即一条指令从内存取出到执行完毕所需的时间。它是一个不指令周期即一条指令从内存取出到执行完毕所需的时间。它是一个不确定长度的时间单元,它随指令的复杂程度不同而变化。例如:确定长度的时间单元,它随指令的复杂程度不同而变化。例如:ADD R1,R2需要五步即五个时钟周期,而需要五步即五个时钟周期,而ADD(R1),(),(R2)需要七步即七个时)需要七步即七个时钟周期。钟周期。本讲稿第三十二页,共八十五页2.时钟周期时间长度固定,每个时钟周期执行一条微指令,也即前面所说的一时钟周期时间长度固定,每个时钟周期执行一条微指令,也即前面所说的一步操作。步操作。3.时钟周期随机器不同包含时钟周期随机器不同包含14个工作脉冲。工作脉冲用于个工作脉冲。工作脉冲用于CPU内通用寄内通用寄存器打入定时、控制存储器微指令读出到微指令寄存器的打入定时和微地存器打入定时、控制存储器微指令读出到微指令寄存器的打入定时和微地址打入定时等微指令内时间段划分。址打入定时等微指令内时间段划分。本讲稿第三十三页,共八十五页5.6 时序控制方式时序控制方式(P174)计算机的操作与时序信号之间的关系称为时序控制方式。计算机的操作与时序信号之间的关系称为时序控制方式。一、同步控制方式一、同步控制方式 在统一的时序信号控制下,各项操作同时进行称为同步控制,在统一的时序信号控制下,各项操作同时进行称为同步控制,在各项操作中以操作时间最长的部件为统一时间标准。在各项操作中以操作时间最长的部件为统一时间标准。这些时序信号包括时钟周期和工作脉冲等。这些时序信号包括时钟周期和工作脉冲等。例如,例如,CPU中的中的ALU运算需要运算需要40ns,而主存需,而主存需400ns,当把,当把ALU与主存与主存用统一时钟控制时,时钟周期宽度必须采用用统一时钟控制时,时钟周期宽度必须采用400ns时间间隔标准,小于时间间隔标准,小于400ns则主存无法正确进行读取数据操作;则主存无法正确进行读取数据操作;ALU运算也要使用运算也要使用400ns时时间间隔,这样间间隔,这样ALU每次操作后要有每次操作后要有360ns的等待时间,才能有下一个时序信的等待时间,才能有下一个时序信号到来。所以号到来。所以CPU与主存之间不能采用同步控制。与主存之间不能采用同步控制。同步控制方式的同步控制方式的优点优点:时序关系比较简单,控制器设计方便;:时序关系比较简单,控制器设计方便;缺点缺点:以牺牲速度为代价的。:以牺牲速度为代价的。实际中实际中CPU内部单独采用同步控制,时间间隔以内部单独采用同步控制,时间间隔以ALU及及CM为准。为准。本讲稿第三十四页,共八十五页二、异步控制方式二、异步控制方式 异步控制方式是指各项操作按其本身的操作速度占用时间,不受统异步控制方式是指各项操作按其本身的操作速度占用时间,不受统一的时钟周期的约束,各操作之间的衔接与各部件之间的信息交换采用一的时钟周期的约束,各操作之间的衔接与各部件之间的信息交换采用应答方式。应答方式。该种方式主要用于系统总线操作控制。如该种方式主要用于系统总线操作控制。如CPU与外设之间,外设与外与外设之间,外设与外设之间采用这种方式,这种方式控制电路复杂。设之间采用这种方式,这种方式控制电路复杂。三、联合控制方式三、联合控制方式 同步与异步两种控制方法相结合的方式。这是大多数机器采用的方式。同步与异步两种控制方法相结合的方式。这是大多数机器采用的方式。CPU内部采用同步控制方式,内部采用同步控制方式,CPU与主存、外设之间采用异步控制方式。与主存、外设之间采用异步控制方式。本讲稿第三十五页,共八十五页5.7 模型机的主机设计模型机的主机设计 本小节以实验书中的模型机为例,并结合前六小节学习本小节以实验书中的模型机为例,并结合前六小节学习的基本原理,进行微程序控制器的设计。的基本原理,进行微程序控制器的设计。5.7.1 模型机指令系统设计模型机指令系统设计一、指令格式一、指令格式 (实验书上(实验书上 P25)由于模型机机器字长只有由于模型机机器字长只有8位二进制,故使用了单字长指令和双字长指令位二进制,故使用了单字长指令和双字长指令两种指令格式。两种指令格式。1.单字长指令:共有单字长指令:共有11条单字长指令,又分为条单字长指令,又分为“二地址二地址”、“一一地址地址”、“零地址零地址”三种格式。三种格式。(1)二地址指令二地址指令 7 6 5 4 3 2 1 0 OP Rs Rd本讲稿第三十六页,共八十五页(2)一地址指令一地址指令 OP 7 6 5 4 3 2 1 0 Rd(3)零地址指令零地址指令 OP 7 6 5 4 3 2 1 0 2.双字长指令双字长指令(1)7 6 5 4 3 2 1 00 0 X OP Rd DX 字段为寻址方式字段为寻址方式D为主存地址或转移地址为主存地址或转移地址本讲稿第三十七页,共八十五页 7 6 5 4 3 2 1 0(2)OP Rd DATADATA为为8位补码数据位补码数据二、寄存器二、寄存器可编程通用寄存器可编程通用寄存器 R0R3 共共 4个。个。Rs(Rd)字段编码字段编码 指定的寄存器指定的寄存器 0 0 R0 0 1 R1 1 0 R2 1 1 R3本讲稿第三十八页,共八十五页三、寻址方式三、寻址方式1.单字长指令为寄存器直接寻址方式。单字长指令为寄存器直接寻址方式。2.双字长指令中有立即寻址方式,双字长指令中有立即寻址方式,LDI 还有四条指令还有四条指令LAD,STA,JMP,JC,包括四种不同的寻址方式,包括四种不同的寻址方式,由由X字段编码规定。字段编码规定。X字段字段 有效地址有效地址 说明说明 0 0 ED 直接寻址直接寻址 0 1 E(D)间接寻址间接寻址 1 0 E(R2)D 变址寻址变址寻址 1 1 E(PC)D 相对寻址相对寻址四、指令类型指令系统(实验书四、指令类型指令系统(实验书P2728)包括算逻类指令、传送类指令、控制指令、停机指令等。包括算逻类指令、传送类指令、控制指令、停机指令等。(1)单字长指令)单字长指令 二地址:二地址:MOV,AND,ADD,SUB,MUL 一地址:一地址:RAR,RAL,INC,COM,OUT 零地址:零地址:HLT共共11条条本讲稿第三十九页,共八十五页指令名称指令名称 助记符助记符 功功 能能 指令格式指令格式右移右移 RAR Rd (Rd)Rd 0 1 0 1 Rd左移左移 RAL Rd 2(Rd)Rd 0 1 1 0 Rd 加加“1”INC Rd (Rd)1Rd 1 0 1 0 Rd 取反取反 COM Rd Rd 1 0 1 1 Rd 传送传送 MOV Rs,Rd (Rs)Rd 1 0 0 1 Rs Rd与与 AND Rs,Rd (Rs)(Rd)Rd 1 1 0 0 Rs Rd加法加法 ADD Rs,Rd (Rs)+(Rd)Rd 1 1 0 1 Rs Rd减法减法 SUB Rs,Rd (Rd)(Rs)Rd 1 1 1 0 Rs Rd乘法乘法 MUL R1,R0 (Rs)*(Rd)R0,R1 1 1 1 1 Rs Rd本讲稿第四十页,共八十五页指令名称指令名称 助记符助记符 功功 能能 指令格式指令格式立即数传送立即数传送 LDI DATA,Rd DATARd 0 1 0 0 Rd DATA取数取数 LAD X,D,Rd (MD)Rd 0 0 X 0 0 Rd D存数存数 STA X,D,Rd Rd (MD)0 0 X 0 1 Rd D无条件转移无条件转移 JMP X,D DPC 0 0 X 1 0 D进位条件转移进位条件转移 JC X,D 若若Cy1,则,则DPC 0 0 X 1 1 D输出输出 OUT Rd (Rd)BUSDR2 1 0 0 0 Rd停机停机 HLT END 0 1 1 1 本讲稿第四十一页,共八十五页(2)双字长指令双字长指令 LDI 立即寻址立即寻址 LAD,STA 访内指令访内指令 JMP,JC 转移指令转移指令共共5条条共十六条指令,指令编码见指令系统汇总表共十六条指令,指令编码见指令系统汇总表。(实验书。(实验书P2728)五、控制台指令五、控制台指令 为方便调试,且向内存输入程序和数据,设置了为方便调试,且向内存输入程序和数据,设置了4条控制台专用指令。条控制台专用指令。1.启动程序指令(启动程序指令(QD)SW开关组设置的内容作为程序的入口地址送开关组设置的内容作为程序的入口地址送PC,然后自动转入取指微指令的入,然后自动转入取指微指令的入口微地址口微地址55H。2.控制存储器检查(控制存储器检查(CM)检查控存读出是否正常。)检查控存读出是否正常。3.读内存(读内存(RM)4.写内存(写内存(WM)OP7 6 5 4 3 2 1 0OP0 0 QDOP0 1 CMOP1 0 RMOP1 1 WM本讲稿第四十二页,共八十五页六、举例说明六、举例说明1.MOV R1,R2 ,(R1)R2 1 0 0 1 0 1 1 02.ADD R3,R1,(R3)()(R1)R1 1 1 0 1 1 1 0 1n LDI 08,R0 08R0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 01.SUB R1,R2 (R2)()(R1)R2 1 1 1 0 0 1 1 0本讲稿第四十三页,共八十五页5。LAD X1,0A,R2 ,(0A)R2 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1 06.JMP X3,0C,(PC)0CPC 0 0 1 1 1 0 0 0 0 0 0 0 1 1 0 0本讲稿第四十四页,共八十五页5.7.2 总体结构与数据通路总体结构与数据通路实验书实验书 P29图图2-5,数据通路原理图。数据通路原理图。一、多功能部件一、多功能部件ALU1。2181 构成构成 :S3 S2 S1 S0 M Cn 控制信号控制信号 2。ALUBUS,(244 三态门)三态门)3。Cy1 ,代表有进位,代表有进位,控制信号:控制信号:LDCy1,T4时刻起作用。时刻起作用。(74LS74,双双D触发器)触发器)二、数据锁存器二、数据锁存器DR1、DR2 两片两片273构成,控制信号:构成,控制信号:LDDR11,LDDR21,T4起作用。起作用。本讲稿第四十五页,共八十五页本讲稿第四十六页,共八十五页 ALU(181)A BG1 DR1DR2 R0 R1 R2 2114 ARG4 PC返回返回本讲稿第四十七页,共八十五页三、通用寄存器三、通用寄存器 R0、R1、R2、R3R0、R1、R2,通用寄存器,通用寄存器,LDR0、LDR1、LDR2,T4,YS0、YS1 功能选择功能选择 R0BUS,R1BUS,R2BUS299另外,另外,R3为计数器(为完成乘法运算而作),为计数器(为完成乘法运算而作),2161,LD3,LDR3,T4起作用,(现在暂时不用考虑)。起作用,(现在暂时不用考虑)。四、存储器四、存储器1。存储体。存储体 2114(1K4位)位)22114 1K8位,位,CS1片选,片选,WE1写内存写内存位扩展位扩展2。地址寄存器。地址寄存器AR 2161,LDAR1 ,T4起作用(并接地址)起作用(并接地址)本讲稿第四十八页,共八十五页五、指令寄存器五、指令寄存器IR 273 构成,构成,LDIR (书上没画书上没画)六、程序计数器六、程序计数器PC 2161,LD11 (并接),(并接),LDPC1,T4 PCBUS5.7.3 时序系统与时序控制方式时序系统与时序控制方式 1。时序系统。时序系统 ,实验书实验书P36 图图2-9 时序产生器原理图时序产生器原理图一个时钟周期一个时钟周期T1T2T3T4循环产生循环产生T1、T2、T3、T4四个工作脉冲,四个工作脉冲,构成一个时钟周期,执行一条微指令。构成一个时钟周期,执行一条微指令。T1:作为间隔不直接引入到部件控制。:作为间隔不直接引入到部件控制。T2:把:把CMMIRT3:把微地址:把微地址MART4:负责各寄存器的数据打入。:负责各寄存器的数据打入。本讲稿第四十九页,共八十五页2。时序控制方式。时序控制方式 为时序控制的简单化,模型机采用同步控制方式,时钟周期宽度以主为时序控制的简单化,模型机采用同步控制方式,时钟周期宽度以主存储器工作时间宽度为准,即存储器工作时间宽度为准,即T1 T2 T3 T4一次循环时间大于主存储器一次循环时间大于主存储器的读写时间。的读写时间。5.7.4 微指令格式(实验书上微指令格式(实验书上P42)S3 S2 S1 S0 MCS WE DZ A字段字段 B字段字段 LDRi LDAR LD1 YS1 YS0 TJ LD3 P字段字段 LDCy MAR6。MAR031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 微指令字长微指令字长32位,由位,由21位微操作控制字段(位微操作控制字段(MIR31MIR12,MIR7),),4位判别测试字段即位判别测试字段即P字段(字段(MIR11MIR8),),7位顺序控制字段(位顺序控制字段(MIR6MIR0)三部分分组成。)三部分分组成。微操作控制字段的微命令编码采用直接表示和字段编码相结合的混合编码方法,以缩微操作控制字段的微命令编码采用直接表示和字段编码相结合的混合编码方法,以缩短微指令的长度。(字长)。短微指令的长度。(字长)。由微指令的操作控制字段提供的各种微命令与相关逻辑电路配合产生模型机数据通路由微指令的操作控制字段提供的各种微命令与相关逻辑电路配合产生模型机数据通路工作所需的全部微命令。工作所需的全部微命令。MIR6MIR0为下址字段,专门存放下条微指令的地址,这种方式称为断定方式。下面我们一一为下址字段,专门存放下条微指令的地址,这种方式称为断定方式。下面我们一一解释微指令中的每一位。解释微指令中的每一位。本讲稿第五十页,共八十五页1.S3 S2 S1 S0 M,MIR31MIR27 五位。五位。74LS181 ALU中的运算方式选择,说明略,详见教科书中中的运算方式选择,说明略,详见教科书中P133页页181功能表。功能表。2.CS WE ,MIR26 MIR25,二位,二位,存储器工作方式选择。存储器工作方式选择。CS WE 选择选择 0 0 不工作不工作 0 1 不工作不工作 1 0 读出读出 1 1 写入写入3.DZ,MIR24,一位,直接表示,单指令方式,一位,直接表示,单指令方式 DZ1 ,代表一条机器指令执行完毕后就停机。,代表一条机器指令执行完毕后就停机。本讲稿第五十一页,共八十五页4.A字段:字段:MIR23 MIR22,二位,字段编码,二位,字段编码方式。方式。将总线数据接收到将总线数据接收到DR1、DR2暂存器中暂存器中和指令寄存器和指令寄存器IR中的控制信号。中的控制信号。A字段字段 23 22 选择选择 0 0 NOP 0 1 LDDR1 1 0 LDDR2 1 1 LDIR5.B字段,字段,MIR21MIR19,三位,字段直接,三位,字段直接编码方式,选择寄存器编码方式,选择寄存器总线上送的控制信总线上送的控制信号。号。“0”有效。有效。0 1 0 R2BUS21 20 19 选择选择 0 0 0 NOP 0