版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验四:微程序控制器实验2实验目的通过看懂教学计算机中已经设计好并正常运行的数条基本指令(例如:ADD、MVRR、RET等指令)的功能、格式和执行流程,然后自己设计几条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确。其最终要达到的目的是:深入理解计算机微程序控制器的组成和运行原理;深入地学习计算机各类典型指令的执行流程;对指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念;学习微程序控制器的设计过程和相关技术。3
微程序控制的基本思想就是按照设计解题程序的思路,把操作控制信号编成微指令,并将微指令代码存放到微程序控制存储器中,当机器运行时,一条一条地读出这些微指令,产生计算机所需要的各种操作控制信号,使相应部件执行规定的操作。实验原理44
实验原理用多条微指令“解释执行”每一条机器指令的整个执行过程;每条指令的一个执行步骤用一条微指令来实现。微指令需要具备如下两项功能:提供一条机器指令的一个执行步骤所需要的控制信号,以实现该执行步骤的操作功能;提供下一条待用微指令的地址,以便自动有序地读出各条微指令,解决指令各执行步骤之间正确的衔接关系。下地址字段控制命令字段微指令格式55控制存储器(存放微程序)微指令字微指令寄存器下地址逻辑控存地址下地址字段微命令字段指令寄存器IR程序计数器PC影射
指令操作码条件信号Clock微命令(控制信号)①③②④全部微指令的集合构成一台计算机的完整的微程序,保存在控制存储器中。6微程序控制器的基本组成①程序计数器PC
存放指令地址,有增量或接收新值的功能②指令寄存器IR
存放指令内容:包括指令操作码与操作数地址两部分③微指令下地址逻辑
形成并提供出读控制存储器要使用的微指令的地址。④控制存储器和微指令寄存器控制存储器用于保存由全部微指令构成的微程序,读控制存储器得到的微指令将首先存入微指令寄存器,之后才能送到各被控制部件。7控制存储器映射IRPC接口输出设备主存储器运算器部件下地址逻辑启停地址寄存器数据总线地址总线控制总线….控制条件微指令寄存器主振选用微程序控制器的教学机组成接口输入设备微命令下地址8TH-union教学计算机微程序控制器的设计和实现程序计数器PC当前微地址寄存器指示灯9控制存储器
控制存储器字长48位,用于存放教学机的微程序。2片58C65芯片用来存放8位的微下地址信息和8位的命令码和条件码,32位的控制信息存放在MACH芯片内。全部基本指令的微程序已存放在里面。微下地址(8位)CISCC
(8位)MRWI210I87
(8位)I6I543B口(8位)A口SSTSSH
(8位)SCIDC2DC1
(8位)10微指令寄存器
微指令寄存器用于存放处在运行中的微指令的内容。48位的微指令寄存器也被分成16位的下地址字段和32位的微命令字段。其中下地址字段选用2片由8位的D触发器构成的寄存器芯片实现,32位的微命令字段在MACH芯片内实现。11微程序定序器和配套线路
用于形成下一条微指令的地址,具体由微程序定序器Am2910、微地址映射部件和微指令转移的条件判断线路组成。微程序定序器Am2910微地址映射部件教学机中由1片58C65芯片实现,记作MAPROM。它的输入是指令寄存器IR给出的8位指令操作码,其输出内容为这条指令的对应的微程序的段的入口地址。见48页。微指令转移的条件判断线路
由1片GAL20V8实现。主要功能有2个:给出0值的微指令地址,完成对Am2910的初始化操作;产生Am2910的/CC信号。12微程序控制器RESET,START按键
运行功能选择开关单步,手拨,组合逻辑,联机,8位连续,内存,微程序,脱机,16位两个12位的微型开关16位的手拨输入开关5V电源电源开关组合逻辑控制器运算器内存储器串口电路I8~6I5~3I2~0SSTSCISSHA口B口13/PL/MAP/VECT微堆桟指针SP5字*12位微堆桟F微程序计数器PC寄存器/计数器R/CDRFPC多路选择器
增量器零检测D11~D0Y11~Y0CP/FULLCI/CC/CCENI3~I0/RLD/OE出栈/入栈保持/清零装数减量保持清零选择R为零Am2910器件命令译码器14教学机中使用的4种命令码
CI3~CI0规定功能0000(0#)取0值为微指令地址,并初始化片内线路0010(2#)给出/MAP信号,使D从映射部件得到0011(3#)给出/PL信号,看/CC的值1110(14#)顺序执行,取当前微指令地址+1为微地址Am2910提供16种(用CI3~CI0
码区分)管理与得到微指令下地址的方式,我们仅使用其中4种,规定如下表所示。选0011码解决微指令的条件转移,转移否由输入信号/CC
决定,为低时转移,取芯片输入(来自微指令的下地址字段)为微地址。如何形成/CC信号,是通过在微指令下地址字段设置4位SCC编码,为每种条件转移分配一个编码,并通过一个电路形成/CC的值低,转移执行,下地址值高,顺序执行1514顺序执行/PLPCPC
非零循环零/PLPC弹出PC弹出4入栈与装数/PLPC压入PC压入6读手拨开关/VECTPCD3条件微转移/PLPCD2功能分支/MAPDD1条件转微子/PLPCD压入完成R/CR/C使能/CC=高/CC=低功能内容操作信号Y输出堆栈Y输出堆栈0初始化/PL0清除0清除8R/C非零减1/PLFF10微子返回/PLPCF弹出15三路转移非零减1/PLFPC弹出
零/PLD弹出
PC弹出16确定控制器应提供的控制信号
控制器的功能,是向计算机各个功能部件提供它们协同运行所需要的控制信号。应该向各功能部件提供出哪一些控制信号,是由被控制部件的组成情况和运行原理所决定的。见下页图,教学计算机的数据通路与微命令的控制作用。
确定控制器应提供的控制信号也就是确定每一条微指令的具体内容,确定每条微指令的每一个字段的编码值,包括下地址字段和微命令字段的编码值。1718
微指令中的微命令字段用于控制计算机各部件的执行功能和动作过程,因此又可以被划分为多个子字段,各子字段用于不同的部件、不同的执行功能、不同的数据选择等,有多种的划分和组合方式。微指令中的下地址信息字段用于提供形成下一条微指令地址的信息,每条微指令中都要有这段信息。因为读控制存储器经常不是按微指令的存放次序顺序进行,还要用专门的硬件(下地址逻辑)快速得到微指令地址,需要在下地址字段给出必要的信息。下面会详细对这两个字段的内容组成进行解释。19TH-union教学机微指令字长为48位微下地址CI3~0SCC3~0MRWI2~0I8~6I5~3B口A口SSTSSHSCIDC2DC1B口二选一A口二选一IR.SRIR.DR3位3位3位3位4位4位3位3位3位3位8位8位微命令字段下地址信息字段201、微指令的控制命令字段
给出计算机各功能部件协同运行所需要的控制信号,划分成若干字段,分别用于控制各部件
控制运算器部件
如:运算功能,数据来源,结果处理等
控制总线、主存、I/O接口、专用寄存器接收等
如:
指出是主存读、写,还是I/O设备读、写把什么数据送到有关总线那一个专用寄存器要接收输入
21控制器需要提供的控制信号需要提供给运算器的控制信号数据组合(I2I1I0
)功能代码(I5I4I3
)结果处理(I8I7I6
)
A口地址
(A3~A0)
B口地址
(B3~B0)移位输入控制信号和最低位进位控制信号(SSHSCI2~0)状态寄存器接收信号(SST2~SST0)22需要特殊解决的问题A口、B口字段的两种用法:①直接提供默认使用的寄存器的编码②指明需要使用指令寄存器DR、SR字段的内容需要有控制信号区分选哪个来源PC、SP、R0的编号微下地址CI3~0SCC3~0MRWI2~0I8~6I5~3B口A口SSTSSHSCIDC2DC1B口二选一A口二选一IR.SRIR.DR用微指令中的A口、B口字段的最高一位来区分这两种不同情况,为0时,送到运算器的A3~A0、B3~B0这几位控制信号来自微指令的A口、B口字段本身,为1时,来自指令寄存器的SR、DR字段。1000010110000101IR中的SR、DR编号2324给内存和I/O接口的信号
/MIO(0:有内存或串口读写,1:无)
REQ
(0:读写内存操作,1:读写串行口)
/WE(0:写操作错作,
1:读操作操作)0
00写内存0
01读内存0
10写串口0
11读串口1
XX无内存和串口的读写操作25对内部总线数据来源的控制DC1编码译码信号操作说明000/SWTOIB
送开关内容到内部总线001/RTOIB
送ALU输出到内部总线010/ETOIB
送IR低位字节内容到内部总线011/FTOIB
送程序状态字到内部总线100/16位机不用101/16位机不用110/INTV
送中断向量到内部总线111NC
无操作26对几个特定的寄存器接收输入的控制DC2编码译码信号操作说明000NC
无寄存器接收数据001/GIR
指令寄存器接收010/16位机不用011/GAR
地址寄存器接收100/INTR
恢复原中断优先级101/INTN
接收新中断优先级110/EI
转义用于开中断指令111/DI
转义用于关中断指令27微命令字段的控制信号汇总控制运算器I8~6,I5~3,I2~0,A3~0,B3~0,SST2~0,SSHSCI2~0共23位控制内存或IO接口MIO,REQ,WE计3位控制内部总线DC1_2~0计3位控制专用寄存器接收DC2_2~0计3位总合计共32
位计算机的设计者必须按照指令运行要求,为每条微指令确定这32位控制信号的正确值,为0
还是为1,即设计每条微指令的微命令字段的内容,这项工作的原理不难但却比较繁琐,容不得一点错误。282、微程序控制器中的下地址逻辑29微指令转移的条件与下地址设计8位的微下地址:给出当前微指令之后下一条将要执行的微指令的地址,仅当Am2910的/PL有效时,该值才有意义。4位的Am2910的命令码CI3~0,使用最多的是0#、2#、3#、14#这4个命令码。4位的判断微指令转移条件的编码SCC3~0,具体规定如下页表所示。分成3个子字段,总共使用微指令中的16位。
微下地址
2910的命令码微转移条件8位4位4位微指令的下地址字段30SCC编码(CI3~CI0=0011时有效)功能(下面条件满足时,使/CC=0)0000必转0010/INT=0时0100JRC、JRNC、JRZ、JRNZ指令指令转移条件不成立时0101JRS、JRNS指令指令转移条件不成立时0110IR10=0时(IN指令)0111IR8=1(PUSH、POP指令)SCC给出了转移条件,通过/CC信号控制Am2910实现条件微转移。31
可以把教学计算机中16位的微指令下地址字段的内容归纳为如下4种形式(40页):16位的下地址为00E0h时,是顺序执行,即命令码选E(1110),其它2个子字段不用,均给0值。例如用在微地址为0#、1#等许多条微指令中。(参见50页)16位的下地址为0020h时,是实现按指令功能转移,即通过指令操作码映射出微指令地址,命令码选2,其它2个子字段不用,均给0值。其它2个子字段只用在微地址为3#命令码的微指令中。微指令必定转移时,是8位的转移地址拼接3#命令码再拼接必转的条件编码0000,例如:2430h、3030h等,分别用在微地址为1E#、04#等许多条微指令中。32微指令按某一条件为真时转移、为假时则顺序执行时,16位的3个子字段都用到了。例如1436h、1a37h等,分别用在微地址为12#、15#等微指令中。微指令转移的判断条件编码已经在40页表4-2中给出,是否转移是由SCC_GAL向Am2910提供一个/CC信号决定的,/CC为低时转移,/CC为高时则顺序执行。33汇总教学机微程序控制器设计的主要步骤划分指令的执行步骤,按照指令组划分执行步骤。见44页~46页。分配每一条微指令在控制存储器中的单元地址。见47页~48页。确定每一条微指令的具体内容。参见51页,基本指令微程序表。将新设计的指令的微程序装载到控制存储器中。参见60页最下面内容。34加电启动时,执行0PC接下来的两步,完成取指操作按指令操作码,读出相应微指令按指令具体功能,再分别用1、2、3、4步完成不同指令组的中各条指令的执行过程最后检查中断请求信号,有请求时则响应中断,否则开始下一条指令的执行过程基本指令流程与控存单元分配方案35微程序控制器下指令执行流程AR←PC
,PC←PC+1,读当前指令到IR;根据指令的操作码,得到该指令的微程序段入口地址;读取该指令的微指令,并送到相应的计算机部件,完成相应的微操作,同时,得到下一条微指令的地址;重复上一步,直到本条指令执行完毕;判中断标志,如有,则进行中断处理;转去执行取指令操作的微指令,进而执行下一条指令。36下址CI3~0SCC3~0MRWI2~0I8~6
I5~3B口A口SSTSSHSCIDC2DC1001110000010001101000001010101000001011000001110000000100000100000000000000000001000000010000010000000100000000000000000000000指令执行流程表举例ADDDR,SR
MVRR
DR,SR
INIO-PORT
CALAADR
第1条微指令和第2条微指令用于完成读取指令,具体操作功能是:PCAR,PC+1PC;PC是R5,A口和B口均选5,B口内容+1送B口;输出A口的内容送AR寄存器。读主存,读出内容IR;微指令都是顺序执行,故
2910选14#命令。第3条微指令按读出的指令的操作码,形成相应微指令的地址,读出该条微指令并将其写入微指令寄存器,2910选2#命令,控制运算器的I8~I6选001码,保证运算器的各寄存器内容不变化。无存储器和IO读写,故/MIOREQ/WE选100码。37下址CI3~0SCC3~0MRWI2~0I8~6
I5~3B口A口SSTSSHSCIDC2DC1001110000010001101000001010101000001011000001110000000100000100000000000000000001000
0000100000100000001000000000000000000000003000110000100001011000100010000010000000000011000010010001100010001000000000000000指令执行流程表举例ADDDR,SR
MVRRDR,SR
INIO-PORT
CALAADR
第4条微指令和第5条微指令用于完成两个累加器之间的相加和传送操作。具体操作是:2累加器相加,DR+SRDR,A口和B口编码来自指令寄存器,故SA和SB高位都给1值;下微指令转判中断请求,故
2910选3#命令且SCC为0000,必转30。
第5条微指令,完成两个累加器之间的数据传送,累加器SR的内容和0相加,存入DR寄存器中,不保存标志位的值,故SST为000,无存储器和IO读写。这两条微指令内容有些类似。38下址CI3~0SCC3~0MRWI2~0
I8~6
I5~3B口A口SSTSSHSCIDC2DC1140011011010011100100000000000000000011010300011000001111101100000000000000000000000指令执行流程表举例
第6、7两条微指令完成读串行接口,具体操作是:先送IO端口地址(在IR的低8位)到地址寄存器AR,DC1为2选IR的低8位送内部总线,经ALU(送出D+0)到AR(DC2为3是AR接收);IN指令时转14#微指令(下地址3个字段为1436);下一微指令完成读串口输入到内部总线,把D+0送到ALU并写进R0(B口选0000);转判中断请求,故
CI选3#且SCC为0000,必转30。
ADDDR,SR
MVRRDR,SR
INIO-PORT
CALAADR
39下址CI3~0SCC3~0MRWI2~0
I8~6
I5~3B口A口SSTSSHSCIDC2DC100E0432055013000E0170000000000E04331400030300220550001指令执行流程表举例
后4条微指令之间顺序执行,前3条的CI都是E,依次完成:1.PCAR,PC+1PC;(控制命令同读取指令的第1步);2.读内存(MRW=001)送Q(D+0Q)(子程序入口);
3.修改堆栈指针并送AR,SP-1SP,AR;SP是R4,即R4的内容-1R4和AR(DC2为3是AR接收);4.写断点(PC的内容)到堆栈,即A口指定的寄存器(R5)的内容经数据总线送到内存并写入;子程序的入口地址(在Q中)(Q的内容+0)送入PC(B口指定R5)。下地址控制完成转向判中断请求的微指令的地址30处。ADDDR,SR
MVRRDR,SR
INIO-PORT
CALAADR
40确定指令功能与格式划分指令执行步骤设计微指令内容分配微指令地址5.把新微指令写入控存6.需要时修改MAPROM7.调试并且运行教学计算机扩展指令设计的具体过程:参见实验指导书54页41
扩展指令汇总表指令格式汇编语句操作数个数CZVS类型功能说明00100000DRSR00100001DRSR00101010DR000000101011DR000000101100DR000000101101DR0000011000000000SR01100100OFFSET01100101OFFSET0110110000000000011011010000000001101110000000000110111100000000ADCDR,SRSBBDR,SRRCLDRRCRDRASRDRNOTDRJMPRSRJRSADRJRNSADRCLCSTCEIDI2211111110000*********···*···*···****············0···1···········A组指令DR←DR+SR+CDR←DR-SR-CDR带进位C循环左移DR带进位C循环右移DR←DR算术右移DR←/DR跳转到SR指明的地址S=1时跳转到ADRS=0时跳转到ADRC=0C=1开中断,INTE←1关中断,INTE←0111000000000SR11100100DR000011100101DRSRADR(16位)11100110DRSRADR(16位)111001110000SRADR(16位)CALRSRLDRADR,[ADR]LDRXDR,OFFSET[SR]STRXDR,OFFSET[SR]STRA[ADR],SR12221····················C组指令调用SR指明的子程序DR←[ADR]DR←[DATA+SR][DATA+SR]←SR[ADR]←SR110111100000000IRET0····D组中断返回注:①表中CZVS一列,*表示对应的状态位在该指令执行后会被重置;·表示对应状态位在该指令执行后不会被修改。42扩展指令执行流程图(再参看48页)43实验内容一、基本实验:观察各类基本指令的执行步骤及微码二、设计型实验:设计几条教学计算机的扩展指令和实现其它功能的指令44实验步骤接通教学机电源;将教学机左下方的5个拨动开关置为11010(单步、手动置指令、微程序、联机、16位);按一下“RESET”按键;通过16位的数据开关SWH、SWL置入指令操作码;在单步方式下,通过指示灯观察各类基本指令的微码。设计几条指令的功能、格式和执行流程,设计每条微指令各字段的具体编码值,包括控制码的各字段、下地址字段、形成下址用到的条件码。45验证型实验:实验指导书56页~59页的内容;设计型实验(1):实验指导书60页~62页的内容;设计型实验(2):用微程序控制器模拟软件进行新指令的设计,即设计一条除基本指令和扩展指令以外的新指令。微程序控制器要完成的全部实验包括:46设计型实验(2)47确定指令功能与格式划分指令执行步骤设计微指令内容分配微指令地址5.把新微指令写入控存6.需要时修改MAPROM7.调试并且运行教学计算机扩展指令设计的具体步骤:48有单字和双字指令单字指令分为三个主要部分:
最高8位是操作码,是固定长度的操作码,最多支持256条指令。
最低8位有多种用法:给出1或2个寄存器的编号,或输入/输出的端口地址,或相对转移指令的8位的偏移量。双字指令的第二个字的内容可能是:立即数、直接地址、变址偏移量。
操作码
目的寄存器源寄存器
I/O端口地址
相对转移指令的偏移量
立即数/直接地址/变址偏移量8位4位4位
TH-union教学机的指令格式用到的寻址方式寄存器寻址寄存器间接寻址立即数寻址直接地址寻址变址寻址相对寻址堆栈寻址IO端口地址49指令格式汇编语句操作数个数CZVS指令类型功能说明00000000DRSR00000001DRSR00000010DRSR00000011DRSR00000100DRSR00000101DRSR00000110DRSR00000111DRSR00001000DR000000001001DR000000001010DR000000001011DR000001000001OFFSET01000100OFFSET01000101OFFSET01000110OFFSET01000111OFFSETADDDR,SRSUBDR,SRANDDR,SRCMPDR,SRXORDR,SRTESTDR,SRORDR,SRMVRRDR,SRDECDRINCDRSHLDRSHRDRJRADRJRCADRJRNCADRJRZADRJRNZADR22222222111111111********·*··****·*··****·*······*********···*·······················A组指令DR←DR+SRDR←DR-SRDR←DRandSRDR-SRDR←DRxorSRDRandSRDR←DRorSRDR←SRDR←DR-1DR←DR+1DR,C←DR*2DR,C←DR/2无条件跳转到ADRC=1时跳转到ADRC=0时跳转到ADRZ=1时跳转到ADRZ=0时跳转到ADRTH-union16位机基本指令系统50TH-union教学机微指令字长为48位微下地址CI3~0SCC3~0MRWI2~0I8~6I5~3B口A口SSTSSHSCIDC2DC1B口二选一A口二选一IR.SRIR.DR3位3位3位3位4位4位3位3位3位3位8位8位微命令字段下地址信息字段51微程序控制器实验设计型实验(2)设计一条除基本指令和扩展指令以外的新指令。要求写出新指令的指令格式、指令的执行步骤以及每一执行步骤的微指令(微程序)。然后在模拟程序上实现扩展和调试验证。例如:
设计一条机器指令,该指令的功能是把用绝对地址表示的内存单元ADDR1的内容与内存单元ADDR2中的内容相加,结果存到ADDR2中。6A00ADDR1ADDR252功能:[ADDR1]+[ADDR2][ADDR2]微程序PCAR,PC+1PC:¨¨¨¨¨¨¨¨¨¨¨¨MEMAR:MEMQ:PCAR,PC+1PC:MEMAR:MEM+QQ:QMEM,CC#=0:53
PCAR,PC+1PC:MEMAR:
MEMQ:PCAR,PC+1PC:
MEMAR:
MEM+QQ:
QMEM,CC#=0:……6A0021002101………00230023…2006200720082000……21002101数据数据三字长指令内存内
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 资产抵押合同协议书
- 药店药品购销合同
- 订购合同范本6
- 2024年度吊车租赁合同的解除与终止2篇
- 二零二四年度二手房买卖合同无中介专项条款2篇
- 互联网电商平台04版售后客服劳动合同3篇
- 工程承包居间的合同范本
- 海外游学合同范本
- 2024年度电子商务信用评价体系构建合同2篇
- 专场协议合同范本
- 部编版四年级上册语文第二单元大单元教学设计
- 2024年安徽蚌埠怀远县农业农村局招募特聘动物防疫专员18人历年(高频重点复习提升训练)共500题附带答案详解
- DL∕T 5550-2018 火力发电厂燃油系统设计规程
- 安全治本攻坚三年行动方案及重大事故隐患会议纪要(完整版)
- 地基与基础工程(5篇)
- 机械基础习题(附参考答案)
- 周围神经病变(课件)
- 2024年全国中小学教师职业道德知识竞赛试题库及答案
- 知识付费合同协议范本
- MOOC 细胞生物学-北京师范大学 中国大学慕课答案
- 高压电缆高频局部放电带电检测技术导则
评论
0/150
提交评论