《微体系结构--CPU组织讲义eatn.pptx》由会员分享,可在线阅读,更多相关《微体系结构--CPU组织讲义eatn.pptx(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、本资料来源2计算机组成原理与汇编语言程序设计计算机组成原理与汇编语言程序设计(第(第2版)版)第第 3 章章 微体系结构微体系结构 CPU组织组织(2)3第第3 3节节 CPUCPU模型机的组成及其数据通路模型机的组成及其数据通路3.3.1 3.3.1 基本组成基本组成P98P98模型机数据通路结构图模型机数据通路结构图43.3.1 3.3.1 基本组成基本组成1 1寄存器寄存器(1 1)可编程寄存器)可编程寄存器 通用寄存器有通用寄存器有4 4个:个:R R0 0、R R1 1、R R2 2、R R3 3;堆栈指针为堆栈指针为SPSP;程序状态字寄存程序状态字寄存器为器为PSWPSW;程序计
2、数器为程序计数器为PCPC。(2 2)暂存器)暂存器暂存器有暂存器有3 3个:个:C C、D D、Z Z 。(3 3)指令寄存器)指令寄存器IRIR指令寄存器指令寄存器IRIR用来存放当前正在执行的一条指令用来存放当前正在执行的一条指令。(4 4)与主存接口的寄存器)与主存接口的寄存器MARMAR、MDRMDR CPUCPU对主存的控制信号有两个:读信号对主存的控制信号有两个:读信号RDRD控制对主存的读操作;写信号控制对主存的读操作;写信号WRWR控制对主存的写操作。控制对主存的写操作。P9852 2运算部件运算部件 ALUALU的输入的输入A A来自暂存器来自暂存器D D,输入输入B B来
3、自来自ALUALU总线总线,运算,运算结果输出结果输出到到Z Z 。控制控制ALUALU运算的控制信号有:运算的控制信号有:ADDADD、SUBSUB、ANDAND、OROR、XORXOR、COMCOM、NEGNEG、A+1A+1、A-1A-1、B+1B+1、B-1B-1,它们分别控制它们分别控制ALUALU完成加、减、与、或、完成加、减、与、或、异或、求负、求反等运算。异或、求负、求反等运算。3 3总线与数据通路结构总线与数据通路结构(1 1)ALU ALU 总线总线 CPUCPU内部采用单总线结构,即设置一组内部采用单总线结构,即设置一组ALUALU总线(也称为总线(也称为CPUCPU内内
4、总线),由总线),由1616根双向数据传送线根双向数据传送线组成,组成,ALUALU和所有寄存器通过这组和所有寄存器通过这组公共总线连接起来。公共总线连接起来。(2 2)系统总线)系统总线 模型机的模型机的CPUCPU、存储器及存储器及I/OI/O设备分别挂接在一组系统总线上。设备分别挂接在一组系统总线上。系统总线包括:系统总线包括:1616根地址总线、根地址总线、1616根数据总线,以及控制总线。为根数据总线,以及控制总线。为简单起见,模型机采用简单起见,模型机采用同步控制同步控制方式。方式。P9964 4控制器及微命令的基本形式控制器及微命令的基本形式(1 1)微命令的基本形式)微命令的基
5、本形式 在模型机中,微命令有两种形式。在模型机中,微命令有两种形式。电位型微命令电位型微命令n各寄存器输出到各寄存器输出到ALU总线的控制信号:总线的控制信号:R0OUT、R1OUT、PCOUT、SPOUT、MDROUT等。等。n ALU运算控制信号:运算控制信号:ADD、SUB、AND、OR、XOR等。等。n暂存器暂存器D的左移的左移/右移控制信号:右移控制信号:SAL、SAR。n程序计数器程序计数器PC的计数控制信号:的计数控制信号:PC+1。nMAR和和MDR输出到系统总线的控制信号输出到系统总线的控制信号:EMAR,EMDR。n寄存器置入控制信号有:寄存器置入控制信号有:SMDR、SP
6、SW。n主存的读主存的读/写信号有:写信号有:RD、WR。脉冲型微命令脉冲型微命令n脉冲型微命令脉冲型微命令(寄存器打入脉冲):寄存器打入脉冲):CPR0、CPR1、CPPC、CPIR、CPSP、CPMAR、CPMDR等。等。P1007(2 2)控制器)控制器 传统控制器的主要部件包括:传统控制器的主要部件包括:指令寄存器指令寄存器IRIR、指令译码器指令译码器、程序计数器程序计数器PCPC、状态字寄存器状态字寄存器PSWPSW、时序系统和微操作信号发时序系统和微操作信号发生器生器。定义:控制器是整机的指挥中心,定义:控制器是整机的指挥中心,其基本功能就是执行指令,即其基本功能就是执行指令,即
7、根据指令根据指令产生控制信号序列产生控制信号序列以控制相应部件分步以控制相应部件分步完成指定的操作。完成指定的操作。P10083.3.2 3.3.2 数据传送数据传送1 1寄存器之间的数据传送寄存器之间的数据传送 在模型机中,寄存器之间可直接通过在模型机中,寄存器之间可直接通过ALUALU总线总线传送数传送数据,具体传送由据,具体传送由输出门输出门和和打入脉冲打入脉冲控制。控制。例如例如:把寄存器:把寄存器R1的内容传送到寄存器的内容传送到寄存器R3,即实现传,即实现传送操作送操作R1R3所需控制信号为所需控制信号为R1OUT、CPR3 P10192 2主存数据传送到主存数据传送到CPUCPU
8、(读)(读)主存与主存与CPUCPU之间通过之间通过系统总线系统总线传送数据。传送数据。PCMARPCMAR;PC(PC(指令地址指令地址)送存储器地址寄存器送存储器地址寄存器n实现实现PCMAR的控制信号:的控制信号:PCOUT、CPMAR。n实现读操作实现读操作MMDR的控制信号:的控制信号:EMAR、RD、SMDR;n实现实现MDRIR的控制信号:的控制信号:MDROUT、CPIR。例如:要从存储器中例如:要从存储器中取指令取指令到指令寄存器到指令寄存器IR,通过以,通过以下操作序列即可实现:下操作序列即可实现:MMDRIR;从选中存储器中读指令到从选中存储器中读指令到IR103 3CP
9、UCPU数据传送到主存(写)数据传送到主存(写)R1MAR R1MAR ;地址送地址送MARMAR例如:在例如:在R2中存放需写入主存的数据,存储单元地址在中存放需写入主存的数据,存储单元地址在R1中,则写一个数据到存储器可通过以下操作序列实现:中,则写一个数据到存储器可通过以下操作序列实现:n实现写操作实现写操作MDRM的控制信号为的控制信号为EMAR、EMDR、WR MDRM ;数据写入选中的主存数据写入选中的主存 R2MDR ;数据送数据送MDRn实现实现R1MAR的控制信号:的控制信号:R1OUT、CPMAR。n实现实现R2MDR的控制信号为的控制信号为R2OUT、CPMDR。114
10、4执行算术或逻辑操作执行算术或逻辑操作 R1DR1D;把把R1R1的内容先送到寄存器的内容先送到寄存器D D例如:完成例如:完成“把寄存器把寄存器R1和和R2的内容相加,结果送到的内容相加,结果送到R3”这个功能,需要分成这个功能,需要分成3步执行:步执行:n实现实现ZR3的控制信号:的控制信号:ZOUT、CPR3。P102 D+R2Z;R2内容送到内容送到ALU的的B端与端与D内容通过内容通过ALU 相加,结果送相加,结果送Z ZR3;将存放在将存放在Z中的相加结果送入中的相加结果送入R3中中n实现实现R1D的控制信号:的控制信号:R1OUT、CPD。n实现实现D+R2MDR的控制信号:的控
11、制信号:R2OUT、ADD、CPZ。12 第四节第四节 组合逻辑控制器原理组合逻辑控制器原理P102P102 组合逻辑控制器组合逻辑控制器是指产生控制信号(即微命令)的部件,是是指产生控制信号(即微命令)的部件,是用组合逻辑线路来实现。用组合逻辑线路来实现。在模型机中有几十个微命令,则每个微命在模型机中有几十个微命令,则每个微命令都需要一组逻辑门电路,根据相应的逻辑条件(如指令的令都需要一组逻辑门电路,根据相应的逻辑条件(如指令的操作码、操作码、寻址方式、时序信号寻址方式、时序信号等)产生该微命令。等)产生该微命令。本节先介绍模型机的指令系统,然后假设模型机采用的是组合本节先介绍模型机的指令系
12、统,然后假设模型机采用的是组合逻辑控制器,讨论其时序系统、指令执行流程及微命令的产生与综逻辑控制器,讨论其时序系统、指令执行流程及微命令的产生与综合。合。组合逻辑控制器一旦制造后,逻辑电路之间的关系就固定了,组合逻辑控制器一旦制造后,逻辑电路之间的关系就固定了,不易改动,所以组合逻辑控制器又称为不易改动,所以组合逻辑控制器又称为硬连逻辑控制器硬连逻辑控制器。133.4.1 模型机的指令系统模型机的指令系统1 1指令格式(指令格式(1616位)位)(1 1)双操作数指令:其格式如下图所示)双操作数指令:其格式如下图所示 第第12121515位表示操作码,第位表示操作码,第6 61111位为源操作
13、数地址段,第位为源操作数地址段,第0 05 5位为目的操作数地址段,在每个地址段字段中又分为两部分,其位为目的操作数地址段,在每个地址段字段中又分为两部分,其中中3 3位表明位表明寻址方式寻址方式类型,另外类型,另外3 3位给出所指定的位给出所指定的寄存器编号寄存器编号。14(1 1)双操作数指令格式)双操作数指令格式可编程寄存器有可编程寄存器有7 7个(留有一种编码未用,留作个(留有一种编码未用,留作扩展)扩展),地址段编号如下:,地址段编号如下:通用寄存器通用寄存器R0R0R3 000R3 000011011 堆栈指针堆栈指针SP 100SP 100 程序状态字程序状态字PSW 101PS
14、W 101 程序计数器程序计数器PC 111PC 11115(2 2)单操作数指令)单操作数指令 第第0 05 5位为地址字段,第位为地址字段,第6 61111位空闲不用,位空闲不用,也可供扩展操作码用。也可供扩展操作码用。16(3 3)转移指令)转移指令 第第12121515位为操作码,第位为操作码,第6 61111位给出转移地址字段(也分为位给出转移地址字段(也分为寻址方式与寄存器号两部分)。寻址方式与寄存器号两部分)。第第0 05 5位则为转移条件字段。其中,第位则为转移条件字段。其中,第0 03 3位中有一位为位中有一位为1 1,表明表明转移条件转移条件进位进位C C、溢出溢出V V、
15、结果为零结果为零Z Z、结果为负结果为负N N。第第5 5位位表明表明转移方式转移方式,若为,若为0 0,表示相关标志位,表示相关标志位为为0 0转移转移;若为;若为1 1,表示相,表示相关标志位关标志位为为1 1转移转移。若第。若第0 05 5位位全为全为0 0,表示无条件转移,表示无条件转移。172 2寻址方式寻址方式 模型机的编址为模型机的编址为按字编址按字编址,字长,字长1616位,即位,即主存每个单元主存每个单元1616位。位。采用简单变字长指令格式,指令长度可为采用简单变字长指令格式,指令长度可为1616位、位、3232位(指令中含立位(指令中含立即数或一个操作数地址)或即数或一个
16、操作数地址)或4848位(含位(含2 2个操作数地址),操作数字个操作数地址),操作数字长长1616位。位。模型机寻址方式模型机寻址方式 如下表如下表:类型类型寻址方式寻址方式汇编符号汇编符号可指定寄存器可指定寄存器 定义简述定义简述 0寄存器寻址寄存器寻址 R R R0R0R3R3,SPSP,PSWPSW 数在指定寄存器中数在指定寄存器中 1寄存器间址寄存器间址 (R)R)R0R0R3R3,SPSP 地址在指定寄存器中地址在指定寄存器中 2自减型寄存自减型寄存器间址器间址 -(-(R)R)R0R0R3R3,SPSP 寄存器内容寄存器内容减减1 1后为操作数后为操作数地地址址 3立即立即/自增
17、自增型寄存器间型寄存器间址址 (R)+R)+R0R0R3R3,SPSP,PCPC 寄存器内容为操作数地址,寄存器内容为操作数地址,操作后加操作后加1 1 4直接寻址直接寻址 DI DI PC PC 操作数地址紧跟着指令操作数地址紧跟着指令 5变址寻址变址寻址 X(R)X(R)R0R0R3R3,SPSP,PCPC 变址寄存器内容与紧跟指令的位变址寄存器内容与紧跟指令的位移量相加,为操作数地址移量相加,为操作数地址 P103183 3操作类型操作类型 操作码共操作码共4 4位,现设置位,现设置1414种指令,余下两种操作码组合可供扩展种指令,余下两种操作码组合可供扩展。(1 1)传送指令)传送指令
18、MOVMOV传送,操作码传送,操作码00000000。(2 2)双操作数算术逻辑指令)双操作数算术逻辑指令ADDADD加,操作码加,操作码00010001(带进位)。(带进位)。SUBSUB减,操作码减,操作码00100010(带进位)。(带进位)。ANDAND逻辑与,操作码逻辑与,操作码00110011。OR OR 逻辑或,操作码逻辑或,操作码01000100。EOREOR逻辑异或,操作码逻辑异或,操作码01010101。(3 3)单操作数算术逻辑指令)单操作数算术逻辑指令COMCOM求反,操作码求反,操作码01100110。NEGNEG求补,操作码求补,操作码01110111。INCINC
19、加加1 1,操作码,操作码10001000。DECDEC减减1 1,操作码,操作码10011001。SLSL 左移,操作码左移,操作码10101010。SR SR 右移,操作码右移,操作码10111011。19(4 4)程序控制类指令)程序控制类指令 转移指令JMP,操作码1100(结合标志位)。IR5IR5 IR3IR3 IR2IR2 IR1IR1 IR0IR0 说说 明明 0 0 0 0 0 0 0 0 1 1 进位进位C=0C=0转转 1 1 0 0 0 0 0 0 1 1 进位进位C=1C=1转转 0 0 0 0 0 0 1 1 0 0 溢出溢出V=0V=0转转 1 1 0 0 0 0
20、 1 1 0 0 溢出溢出V=1V=1转转 0 0 0 0 1 1 0 0 0 0 结果为零结果为零Z=1Z=1转转 1 1 0 0 1 1 0 0 0 0 结果不为零结果不为零Z=0Z=0转转 0 0 1 1 0 0 0 0 0 0 结果为负结果为负N=1N=1转转 1 1 1 1 0 0 0 0 0 0 结果为正结果为正N=0N=0转转 0 0 0 0 0 0 0 0 0 0 无条件转移无条件转移 如上表所示,如上表所示,JMPJMP指令第指令第3 30 0位选择一位为位选择一位为1 1,表明以,表明以PSWPSW中的某一特征作为中的某一特征作为转移条件。因此,转移条件。因此,JMPJMP
21、指令第指令第3 30 0位的含义与位的含义与PSWPSW第第3 30 0位含义分别相对应。例如位含义分别相对应。例如PSWPSW第第0 0位是进位位位是进位位C C,而转移指令第而转移指令第0 0位若为位若为1 1,则表明以进位状态为转移条件。,则表明以进位状态为转移条件。JMPJMP指令第指令第5 5位(位(IR5IR5)决定转移条件为决定转移条件为0 0转,还是为转,还是为1 1转。若转。若JMPJMP指令第指令第5 50 0位全为位全为0 0,则表示无条件转移。,则表示无条件转移。20 返回指令返回指令RSTRST,操作码操作码11001100。RSTRST指令与指令与JMPJMP指令的
22、操作码相同,可视为一条指令。指令的操作码相同,可视为一条指令。RSTRST指令指令只能采用自增型寄存器间址表明转移地址,并指定寄存器为只能采用自增型寄存器间址表明转移地址,并指定寄存器为SPSP,即即寻址方式为(寻址方式为(SPSP)+。它从堆栈中取出返回地址,然后修改堆栈指它从堆栈中取出返回地址,然后修改堆栈指针针SP+1SP+1。实际上,实际上,“JMPJMP(SPSP)+”指令就是一条指令就是一条RSTRST指令。指令。转子指令转子指令JSRJSR,操作码操作码11011101。执行执行JSRJSR指令时,指令时,先将返回地址压栈保存,然后按寻址方式找先将返回地址压栈保存,然后按寻址方式
23、找到转移地址(即子程序入口地址),将它送入到转移地址(即子程序入口地址),将它送入PCPC中中。213.4.2 3.4.2 模型机的时序系统模型机的时序系统P106P106 组合逻辑控制器依靠不同的时间标志,使组合逻辑控制器依靠不同的时间标志,使CPUCPU分步工作。模型分步工作。模型机采用前述的三级时序系统,即将时序信号分为机采用前述的三级时序系统,即将时序信号分为工作周期工作周期、节拍节拍(时钟周期)(时钟周期)和和工作脉冲工作脉冲。1 1工作周期划分工作周期划分(1 1)取指周期)取指周期FTFT 在取指周期在取指周期FTFT中完成取中完成取指所需的操作指所需的操作(2 2)源周期)源周
24、期STST 如果需要从主存中读取如果需要从主存中读取源操作数,则进入源操作数,则进入STST。(3 3)目的周期)目的周期DT DT 如果需要从主存中读取目的地如果需要从主存中读取目的地址或目的操作址或目的操作,则进入则进入DTDT。(4 4)执行周期)执行周期ETET 在取得操作数后,则进入在取得操作数后,则进入ETET,在在ETET中中将依据将依据IRIR中操作码执行相应操作,如中操作码执行相应操作,如传送、算术运算、逻辑运算、获得转传送、算术运算、逻辑运算、获得转移地址等移地址等(5 5)中断响应周期)中断响应周期ITIT(6 6)DMADMA传送周期传送周期DMATDMAT 22中断响
25、应周期中断响应周期ITIT DMADMA传送周期传送周期DMATDMAT 中断方式:由于某些中断方式:由于某些异常情况异常情况或或特殊请求特殊请求,引起,引起CPU暂停暂停执行当前程序,执行当前程序,转去执行转去执行中断处理中断处理子程序,以处理这些情况或请求,等处理完后又子程序,以处理这些情况或请求,等处理完后又返回返回原程序原程序断点继续执行,这一过程就称为中断。断点继续执行,这一过程就称为中断。CPU在响应中断请求之后,进入中断响应周期在响应中断请求之后,进入中断响应周期IT。在。在IT中将中将直接依靠直接依靠硬件进行关中断、保存断点、转处理程序入口等操作硬件进行关中断、保存断点、转处理
26、程序入口等操作。IT结束后,进入取结束后,进入取指周期指周期FT,开始执行中断处理程序。,开始执行中断处理程序。DMA(Direct Memory Access)即直接访存方式:其基本思想是在)即直接访存方式:其基本思想是在主存主存储器和储器和I/O设备之间设备之间建立直接的数据传送通路,由专门的建立直接的数据传送通路,由专门的DMA控制器控制主控制器控制主存和存和I/O设备间的数据传送,在传送时不需设备间的数据传送,在传送时不需CPU干预。由于传送过程干预。由于传送过程完全由完全由硬件实现硬件实现,所花费的时间短,因此能满足高速数据传送的需要。,所花费的时间短,因此能满足高速数据传送的需要。
27、CPU响应响应DMA请求之后,进入请求之后,进入DMAT。在。在DMAT中,中,CPU交出系统总线交出系统总线的控制权的控制权,即,即MAR、MDR与系统总线脱钩与系统总线脱钩(呈高阻态)。改由(呈高阻态)。改由DMA控制器控制器控制系统总线,实现主存与外围设备间的数据直接传送,因此控制系统总线,实现主存与外围设备间的数据直接传送,因此对对CPU来说,来说,DMAT是一个空操作周期是一个空操作周期。23FTSTDTITETDMATDMA请请求?求?中断?中断?YYNNCPUCPU控制流程控制流程例例.双操作数指令双操作数指令的两个操作数的两个操作数均在主存中均在主存中,工作周期变化为工作周期变
28、化为:FTSTDTETFTSTDTET(FTFT)例例.单操作数指令的操作数在单操作数指令的操作数在主存中主存中,工作周期变化为工作周期变化为:FTDTETFTDTET(FTFT)例例.双操作数指令的操作数均双操作数指令的操作数均在在CPUCPU寄存器中寄存器中,工作周期变化工作周期变化为为:FTETFTET(FTFT)左图描述了指令执行时工作左图描述了指令执行时工作周期状态变化流程。周期状态变化流程。P107242 2节拍(时钟周期)节拍(时钟周期)T T 每个工作周期的操作一般需要分成若干步完成,为此将工作周每个工作周期的操作一般需要分成若干步完成,为此将工作周期划分成若干期划分成若干节拍
29、节拍。在模型机中,为了简化时序控制,将在模型机中,为了简化时序控制,将CPUCPU内部操作与访问主存内部操作与访问主存的操作统一考虑。的操作统一考虑。节拍宽度为最长微操作所需的时间节拍宽度为最长微操作所需的时间,即,即访访问主存操作问主存操作所需的时间。所需的时间。3 3工作脉冲工作脉冲 P P 在节拍中执行的有些操作需要同步定时脉冲,如将稳定的运算在节拍中执行的有些操作需要同步定时脉冲,如将稳定的运算结果打入寄存器、周期状态切换等。为此,模型机在每个节拍的末结果打入寄存器、周期状态切换等。为此,模型机在每个节拍的末尾发一个工作脉冲尾发一个工作脉冲P P,作为各种同步脉冲的来源,如左图。作为各
30、种同步脉冲的来源,如左图。工作脉冲工作脉冲P P的前沿:的前沿:作为打入寄存器的定时信号,作为打入寄存器的定时信号,它标志着一次数据通路操作的完成。它标志着一次数据通路操作的完成。P P的后沿:的后沿:作为节拍、工作周期切换的定时信号,作为节拍、工作周期切换的定时信号,在此刻对节拍计数器在此刻对节拍计数器T T计数、打入新的工作周期状态。计数、打入新的工作周期状态。253.4.3 3.4.3 指令流程指令流程P108P108 分析指令流程是为了在寄存器这一层次分析分析指令流程是为了在寄存器这一层次分析指令的读取与执指令的读取与执行过程行过程,也就是讨论,也就是讨论CPUCPU的的工作机制。工作
31、机制。1 1取指周期取指周期FTFT(1 1)进入)进入FTFT的条件的条件初始化时置入初始化时置入FTFT,程序正常运行时同步打程序正常运行时同步打入入FTFT。FTFTS SR RD DC CQ QQ Q总清总清1 11 1 FTFTCPFTCPFT取指周期状态触发器取指周期状态触发器 产生控制信号产生控制信号11FTFT的逻辑条件如下:的逻辑条件如下:11FT=ETFT=ET(1IT1IT1DMAT1DMAT)+IT+DMAT+IT+DMAT(1IT1IT1DMAT1DMAT)26(2 2)取指流程)取指流程PCMARMMDRIRPC+1PCFTFT0 0FTFT1 1(3 3)微操作时
32、间表)微操作时间表FTFT工作周期状态与节拍序号工作周期状态与节拍序号本拍中应发的电平型微命令本拍中应发的电平型微命令本拍中应发的脉冲型微命令本拍中应发的脉冲型微命令FTFT0 0PCPCOUTOUTT+1T+1P PCPCPMARMARCPCPT T(-P)P)FTFT1 1EMAREMAR、RDRD、SMDRSMDRMDRMDROUTOUTPC+1PC+1T=0T=01ST 1ST 逻辑式逻辑式1111DT DT 逻辑式逻辑式2211ET ET 逻辑式逻辑式33P PCPCPIRIRCPCPPCPCCPCPT T(-P)P)CPCPST ST(-P)P)CPCPDT DT(-P)P)CPC
33、PET ET(-P)P)P109272 2MOVMOV指令指令1)1)取指令周期和取源操作数周期流程图取指令周期和取源操作数周期流程图FTFTST0ST0ST1ST1ST2ST2ST3ST3ST4ST4R R(R)R)-(R)R)I/(R)+I/(R)+DIDIX(RX(R)P111282)2)取目的地址和执行周期流程图取目的地址和执行周期流程图DT0DT0DT1DT1DT2DT2DT3DT3ET0ET0ET1ET1R R(R)R)-(R)R)I/(R)+I/(R)+DIDIX(RX(R)293 3双操作数指令双操作数指令 双操作数指令共有双操作数指令共有5 5条:加条:加ADDADD、减减S
34、UBSUB、与与ANDAND、或或OROR、异或异或EOREOR,其指令流程图其指令流程图:STSTFTFTDT0DT0DT1DT1DT2DT2DT3DT3DT4DT4ET0ET0ET1ET1ET2ET2与与MOV相同相同P113304 4单操作数指令单操作数指令 单操作数指令共有单操作数指令共有6 6条:求反条:求反COMCOM、求补求补NEGNEG、加加“1 1”INCINC、减减“1 1”DECDEC、左移左移SLSL、右移右移SRSR,其指令流程图如图:其指令流程图如图:FTFTSTSTDTDTET0ET0ET1ET1ET2ET2与双操作数指与双操作数指令相同令相同P113315 5转
35、移指令转移指令JMP/JMP/返回指令返回指令RSTRSTNJPJP,RSTPCPCPCPC R R (R)R)(R)+/RSTR)+/RSTX(PC)X(PC)FTFTET1ET1ET2ET2ET3ET3ET4ET4P114326 6转子指令转子指令JSRJSRST0ST0FTFTET0ET0ET1ET1ET2ET2ST1ST1ST2ST2ST3ST3ET4ET4流程图如下流程图如下:ET3ET3P115338 8DMADMA周期周期 在实际机器中,在实际机器中,CPUCPU可在一个系统总线周期结束时响应可在一个系统总线周期结束时响应DMADMA请求。请求。9 9键盘操作键盘操作3.4.4
36、3.4.4 微命令的综合与产生微命令的综合与产生 微命令的逻辑表达式都是微命令的逻辑表达式都是“与与-或或”式的逻辑形态,各逻辑条式的逻辑形态,各逻辑条件包括:指令件包括:指令操作码译码操作码译码信号、信号、寻址字段译码寻址字段译码信号、信号、工作周期状态工作周期状态、节拍、工作脉冲等。例如:节拍、工作脉冲等。例如:PCPCOUT OUT=FT=FTT T0 0+MOV+MOVSTSTT T0 0+CPCPMAR MAR=FT=FTT T0 0 P+MOV P+MOVSTSTT T0 0P+P+T+1=FTT+1=FTT T0 0+MOV+MOVSTSTT T0 0+CPCPT T=34第五节
37、第五节 微程序控制器原理微程序控制器原理P116P116 有些有些CPUCPU采用微程序控制方式来产生微命令,相应的控制器称采用微程序控制方式来产生微命令,相应的控制器称为为微程序控制器微程序控制器。1 1微程序控制方式的基本思想微程序控制方式的基本思想(1 1)将机器指令分解为基本的将机器指令分解为基本的微命令序列微命令序列,用,用二进制代码二进制代码表示这些微命令,并编成微指令,多条微指令再形成表示这些微命令,并编成微指令,多条微指令再形成微程序微程序。(2 2)一条微指令包含的微命令,)一条微指令包含的微命令,控制实现一步(一个节拍)控制实现一步(一个节拍)操作;操作;若干条微指令组成的
38、一小段微程序解释执行一条机器指若干条微指令组成的一小段微程序解释执行一条机器指令。令。控制存储器(控制存储器(CMCM)中的中的微程序微程序能解释执行整个指令系统的能解释执行整个指令系统的所有机器指令。所有机器指令。CMCM是微程序控制器的核心。是微程序控制器的核心。35指令代码指令代码运行状态运行状态控制存贮器控制存贮器CMCM微命微命令存令存储器储器IRIR微命令序列微命令序列微程序控制器原理框图:微程序控制器原理框图:控制存储器控制存储器CMCM功能:存放微程序。功能:存放微程序。CMCM属于属于CPUCPU,不属于主存储不属于主存储器。器。微指令寄存器微指令寄存器 IRIR功能:存放现
39、行微指令。功能:存放现行微指令。微操作控制字段:微操作控制字段:提供一步操作所需的微命令。提供一步操作所需的微命令。指明后续微地址的形成方式。指明后续微地址的形成方式。顺序控制字段:顺序控制字段:提供微地址的给定部分提供微地址的给定部分P11736指令代码指令代码运行状态运行状态控制存贮器控制存贮器CMCM微命微命令存令存储器储器IRIR微命令序列微命令序列微程序控制器原理框图:微程序控制器原理框图:2微程序执行过程的描述(1 1)取指取指指令对应的微程序指令对应的微程序CMCM取指取指微指令微指令IRIR微命令字段微命令字段译码器译码器微命令微命令机器指令机器指令IRIR主存主存37指令代码
40、指令代码运行状态运行状态控制存贮器控制存贮器CMCM微命微命令存令存储器储器IRIR微命令序列微命令序列微程序控制器原理框图:微程序控制器原理框图:(2 2)转微程序转微程序入口入口(3 3)执行首条微指令)执行首条微指令IRIR操作码操作码微地址形微地址形成电路成电路入口入口ARARCMCMIRIR微命令字段微命令字段IRIR译码器译码器微命令微命令操作部件操作部件38指令代码指令代码运行状态运行状态控制存贮器控制存贮器CMCM微命微命令存令存储器储器IRIR微命令序列微命令序列微程序控制器原理框图:微程序控制器原理框图:(4)取后续微指令)取后续微指令微地址字段微地址字段现行微地址现行微地
41、址运行状态运行状态微地址形微地址形成电路成电路后续微地址后续微地址ARARCMCM后续微指令后续微指令IRIR39(5 5)执行后续微指令)执行后续微指令同(同(3 3)(6 6)返回)返回微程序执行完,返回微程序执行完,返回CMCM(存放存放取指微指令取指微指令的固定单元的固定单元)。指令代码指令代码运行状态运行状态控制存贮器控制存贮器CMCM微命微命令存令存储器储器IRIR微命令序列微命令序列微程序控制器原理框图:微程序控制器原理框图:403 3基本概念和术语基本概念和术语(1 1)微命令与微操作微命令与微操作微命令微命令 微操作微操作 构成控制信号序列的最小单位。构成控制信号序列的最小单
42、位。由微命令控制实现的最基本操作。由微命令控制实现的最基本操作。注意注意,在组合逻辑控制器中也存在,在组合逻辑控制器中也存在微命令微命令、微操作微操作这两个概念,这两个概念,它们并非只是微程序控制方式的专用概念。它们并非只是微程序控制方式的专用概念。(2 2)微指令与微周期微指令与微周期微指令微指令微周期微周期若干微命令的组合,以编码形式存放在控制存储若干微命令的组合,以编码形式存放在控制存储器的一个单元中,控制实现一步操作。器的一个单元中,控制实现一步操作。通常指从控制存储器中读取一条微指令并执行相通常指从控制存储器中读取一条微指令并执行相应的微操作所需的时间。应的微操作所需的时间。P118
43、41(3 3)微程序与微程序设计微程序与微程序设计微程序微程序 微程序设计微程序设计 一系列微指令的有序集合。一系列微指令的有序集合。是将传统的程序设计方法运用到控制逻辑的是将传统的程序设计方法运用到控制逻辑的设计中,在微程序中也可以有微子程序、循环、设计中,在微程序中也可以有微子程序、循环、分支等形态。分支等形态。(4 4)工作程序与微程序、主存储器与控制存储器工作程序与微程序、主存储器与控制存储器3.5.2 3.5.2 微指令编码方式微指令编码方式微指令编码的实质是解决在微指令中如何组织微命令的问题。微指令编码的实质是解决在微指令中如何组织微命令的问题。一条伪指令分为两大部分:一条伪指令分
44、为两大部分:微操作控制字段和顺序控制字段微操作控制字段和顺序控制字段 P118421直接控制编码(不译码法)例例.某微指令某微指令微命令按位给出。微命令按位给出。不需译码,产生微命令的速度快;不需译码,产生微命令的速度快;信息的表示效率低。信息的表示效率低。C C0 0 R W R W1 1 11 1 1C C0=0=0 0 进位初值为进位初值为0 01 1 进位初值为进位初值为1 1R R=0 0 不读不读1 1 读读微操作控制字段编码方法微操作控制字段编码方法43例例.某微指令某微指令微命令按小段给出。微命令按小段给出。P1 P0 P1 P01 1 0 00 0P1P0P1P0=0 00
45、ADD0 ADD01 ADC01 ADC10 SUB10 SUB11 SBB11 SBB2 2分段直接编译法分段直接编译法功能小段44操作唯一;操作唯一;加法器加法器A A输入端的控制命令放输入端的控制命令放AIAI字段字段;B B输入端的控制命令放输入端的控制命令放BIBI字段。字段。加法器加法器 A BR、CD、ER、CD、F000 000 不发命令不发命令010 010 C AC A100 100 E AE A001 001 R AR A011 011 D AD ACDAI BIAI BI3 3010 010 C AC A000 000 不发命令不发命令010 010 C BC B100
46、 100 F BF B001 001 R BR B011 011 D BD B011 011 D BD BAIAI:BIBI:一条微指令能同时一条微指令能同时提供若干微命令,便于组织各种操作。提供若干微命令,便于组织各种操作。编码较简单;编码较简单;453 3分段间接编译法分段间接编译法例例.微命令由本字段编码和其他字段解释共同给出。微命令由本字段编码和其他字段解释共同给出。C C=C A C A 1)1)设置解释位或解释字段设置解释位或解释字段解释位解释位1 1 A A为某类命令为某类命令0 0 A A为常数为常数2)2)分类编译分类编译按功能类型将微指令分类,分别安排各类微按功能类型将微指
47、令分类,分别安排各类微指令格式和字段编码,并设置区分标志。指令格式和字段编码,并设置区分标志。464 4常数源字段常数源字段E E的设置的设置微操作控制字段 E 顺序控制字段 在微指令中,一般设有一个在微指令中,一般设有一个常数源字段常数源字段E E,就如同机器就如同机器指令中的立即操作数一样,用来指令中的立即操作数一样,用来提供微指令所使用提供微指令所使用的常数的常数(由设计者填写),如提供计数器初值,通用寄存器地址,(由设计者填写),如提供计数器初值,通用寄存器地址,转移地址等。字段转移地址等。字段E E也可用来参与其他控制字段的间接编也可用来参与其他控制字段的间接编码,以减少微指令字长,
48、增加微指令的灵活性。字段码,以减少微指令字长,增加微指令的灵活性。字段E E在在微指令中的形式为微指令中的形式为:除上述几种基本的编码方法外,另外还有一些常见的除上述几种基本的编码方法外,另外还有一些常见的编码技术,如可采用微指令译码与部分机器指令译码的复编码技术,如可采用微指令译码与部分机器指令译码的复合控制、微地址参与解释微指令译码。合控制、微地址参与解释微指令译码。473.5.3 3.5.3 微程序的顺序控制微程序的顺序控制P120P1201 1微程序入口地址的形成微程序入口地址的形成 每一条机器指令对应着一段微程序,其入口就是每一条机器指令对应着一段微程序,其入口就是初初始微地址始微地
49、址。常用以下几种方式形成入口地址:。常用以下几种方式形成入口地址:(1 1)当机器指令当机器指令操作码操作码的位数与的位数与位置固定位置固定时,可直接使时,可直接使操作码与入口地址码的部分相对应。操作码与入口地址码的部分相对应。(2 2)当)当每类指令每类指令中的操作码位数与中的操作码位数与位置固定位置固定,而,而各类指各类指令令之间的操作码与之间的操作码与位置不固定位置不固定时,可采用分级转移的方式。时,可采用分级转移的方式。(3 3)当机器指令的操作码位数和位置)当机器指令的操作码位数和位置都不固定都不固定时,通常时,通常可以采用可以采用PLAPLA电路电路将每条指令的操作码将每条指令的操
50、作码翻译翻译成对应的成对应的微程微程序入口地址,序入口地址,也可以采用也可以采用PROMPROM(可编程只读存储器)实现可编程只读存储器)实现转移,将指令操作码作为转移,将指令操作码作为PROMPROM的地址输入,其对应的的地址输入,其对应的PROMPROM单元内容即为该机器指令的微程序入口地址。单元内容即为该机器指令的微程序入口地址。482 2后继微地址的形成后继微地址的形成 每条微指令执行完毕时,需根据其中的顺序控制字段每条微指令执行完毕时,需根据其中的顺序控制字段的要求形成的要求形成后继微指令地址后继微指令地址。形成后继地址的两类方法形成后继地址的两类方法:(1 1)增量方式(顺序)增量