下载此文档

计组读书笔记.pdf


文档分类:资格/认证考试 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
该【计组读书笔记 】是由【青山代下】上传分享,文档一共【8】页,该文档可以免费在线阅读,需要了解更多关于【计组读书笔记 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..的指令系统与汇编语言程序设计1:TEC-2机类PC机基本指令系统,采用6位操作码,故最多支持64条基本指令,其中53条已经实现,其相应微程序固化在ROM芯片中,其余11条将留给实验人员自行实现。2:TEC-2的指令格式:操作码(6位)+条件码(2位)+目的寄存器号(4位)+源寄存器号(4位);操作码(6位)+条件码(2位)+入出端口地址/相对转移的位移量;立即数/绝对地址/变址位移量3:低8位可以用来给出相对寻址的位移量,其范围从-128-127之间,因此的地址应在当前指令地址向前向后总共256个字的范围内。实现相对地址计算时,这个位移量的最高位用作符号位,补码形式,与16位的当前指令地址(放在IP寄存器中,即增量前的PC值)相加,这一符号位要扩展到15-8这高8位上去。4:TEC-2指令:(1)无操作数指令,即只要操作码,11条NOP:空操作;PSHF:状态字入栈;POPF:状态字出栈;EI:开中断,INTE<-1;DI:关中断,INTE<-0;STC:进位置1,C<-1;CLC:进位置0,C<-0;RET:子程序返回,PC<-[SP],SP<-SP-1;IRET:中断返回,STR<-[SP],SP<-SP-1,PC<-[SP],SP<-SP-1;LDMC:装入微指令代码,所用参数为R1:微码在主存中首地址R2:微指令条数R3:微码写入的控存首地址把主存中给出的一段微代码写入控存中HALT:动态停机指令,PC<-IP(2)单操作数指令,12条(两种格式)格式1:OP+不用+不用+SRMULSR:无符号乘,R1*SR->R0R1,根据R1的值置状态位DIVSR:无符号除,R0R1/SR->R0(余数)R1(商),根据R1的值置状态位格式2:OP+不用+DR+不用PUSHDR:压入DRPOPDR:弹出DRINCDR:DR<-DR+1DECDR:DR<-DR-1NOTDR:DR求反,DR<-/DRSHLDR:DR左移,最低位补0,最高位移入CSHRDR:DR逻辑右移,最高位补入0,最低位移入CASRDR:DR算数右移,最高位保持不变,最低位移入CRCLDR:DR与C循环左移,C移入最低位,最高位移入C:..DR与C循环右移,C移入最高位,最低位移入C(3)双操作数指令,17条,两种格式格式1:OP+不用+DR+SR,12条ADDDR,SR:DR<-DR+SR;ADCDR,SR:DR<-DR+SR+CSUBDR,SR:DR<-DR-SRSBBDR,SR:DR<-DR-SR-CCMPDR,SR:DR-SRANDDR,SR:DR<-DRandSRORDR,SR:DR<-DRorSRXORDR,SR:DR<-DRxorSRTESTDR,SR:DR&SRMOVDR,SR:DR<-SRMOVDR,[SR]:DR<-[SR]MOV[DR],SR:[DR]<-SR格式2:OP+不用+DR+SRDATA/ADR5条MOVDR,DATA:DR<-DATAMOVDR,[ADR]:DR<-[ADR]MOV[ADR],SR:[ADR]<-SRMOVDR,DATA[SR]:DR<-[DATA+SR]MOVDATA[SR],DR:[DATA+SR]<-DR(4)I/O指令,输入输出指令各1条格式:OP+不用+不用+PORTINPORT:R0<-[PORT]OUTPORT:[PORT]<-R0(5)转移指令,三种格式,6条格式1:D+位移量JRADR;无条件相对转移到ADR,ADR为原PC值加位移量D,ADR:当条件满足时相对转移到ADR,ADR为原PC值加位移量格式2:D+不用+SRJPSR:无条件转SR所指的地址D,SR:当条件满足时转SR所指的地址格式3:D+不用+不用ADRJPADR:无条件转移到ADR地址D,ADR:当条件满足时转移到ADR地址(6)子程序调用指令,两种格式,2条格式1:OP+不用+不用+SRCALLSR:调用SR指明的子程序,SP<-SP-1,[SP]<-PC,PC<-SR格式2:OP+不用+不用+不用ADR:..CALLADRADR指明的子程序,SP<SP-1,[SP]<-PC,PC<-ADR条件码CDN为两位,00,01,10,11分别表明要判C,Z,V,S四个标志位,而条件转移指令操作码的最低1位用来表明是按这某一标志位为0还是为1才实现转移,即同一条汇编指令名含两个操作码,如JPC,SR和JPNC,SR汇编指令名均为JP,但依据条件分别是C和NC,:TEC-2机硬件系统的基本组成与实现TEC-2的运算器部件,主要由4片AM2901芯片组成,还包括由一片Gal20v8组成的状态寄存器组,以及其他的一些附加电路;TEC-2的控制器部件,主要由1片AM2901实现的微程序定序器,用7片6116芯片与2片8*2048容量的2716ROM芯片组成的控存,56位的微指令寄存器,以及16位的指令寄存器和用2片2716芯片组成的微控存地址映射部件等组成地址总线的输入信号仅有一组,即来自地址寄存器,而地址寄存器只能接受来自运算器的结果输出信号;内部数据总线与外部数据总线通过2片8位的双向三态门连接,三态门上的2个控制信号,/MIO用于片选,当其为低时,三态门出于工作状态,否则,内外数据总线逻辑上断开,/WE用于决定数据的传送方向,为低时,数据从内部总线流向外部总线,为高时,数据则从外部总线流向内部总线内部总线的信号来源:1:16个钮子开关,用于手拨方式输入数据或地址2:运算器的16为输出3:外部数据总线传来的数据;4:中断向量寄存器的16为输出5:处理机状态字(C,Z,V,S4个标志位及中断优先级)6:指令寄存器的低位字节内部数据总线的信号输出1:运算器的16位D输入端;2:送往外部总线;3:送往指令寄存器4:送往可写控存的写入寄存器的16位的四个字段的输入端,以实现LDMC指令的功能5:AM2901的10位地址输入端(1):运算器部件位片结构,每片内仅有4位线路,其内部组成:(1):4位的ALU,实现8种运算功能,这8中运算功能的选择,是由外部送入的3位编码值I5-I3实现的,+4,F,OVR,F=00004位状态信息,并能接收最低位,ALU还给出了超前进位信号/G和/P;(2):16个4位的通用寄存器组,R0-R15,1个4位的Q寄存器,通用寄存器组控制写入为:A端口地址给出A数据口的寄存器号,B端口地址和移位器给出B数据口的数据来源,Q寄存器本身具有左右移位功能和接受ALU运算结果:..3):该芯片能接受外部送入的4位数据D3-0,并输出4位的数据Y3-0,Y3-0可以使通用寄存器A端口的上的逻辑输出或ALU的运算结果,并还受输出允许控制信号/OE的控制,仅在/OE为低时,Y3-0才有输出,否则出于高阻状态(4):ALU的两个输入端R和S分别可以接收D输入,A输入,或逻辑0数据;A输入,B输入,Q输入和逻辑0数据,但是AM2901只选用了它们可能的12种组合中的8种,即A_Q,A_B,0_Q,0_B,0_A,D_A,D_Q,D_0这8种,并用外部送来的额I3-0来选择这8种组合(5):AM2901还采用I8-6,一是选择向外部送出的数据来源,而是选择其内部的通用寄存器组和Q寄存器是否接收和如何接收数据写入AM2901的移位信号,RAM3,RAM0;Q3,Q0;16个通用寄存器我们只用13个,其中的R4-R6分别作为SP,PC,IP,即堆栈指针,程序计数器,指令当前地址。指令中的DR用于B口,SR用于A口。为了选用R4-R6,在控制器部件的微指令字中,分配两组微码MA和MB分别送往AM2901芯片的A,B端口,专门用于选择这3个专用的寄存器,在lDMC指令中,还用于选择R1-R3寄存器,在入/出指令中,还用于选择R0寄存器,这是A,B端口地址的第二个来源****运算器不大懂的地方:1:运算结果标志位(C,Z,V,S)的行成运算器在执行某些指令时,必须把所得结果的特征记在标志位中,哪些指令将影响标志位,影响哪一个或哪几个标志位,是在确定指令功能及用法时规定的。逻辑运算指令的结果一定使C和V变为0,LDMC指令的最终结果一定使4个标志位全变为0,POPF和IRET从堆栈中恢复保存在那里的原标志位的值,即接收从内部数据总线上传来的值;CLC指令使C变为0,其余3个标志位不变;STC指令使C变为1,其余3个不变;联合右移位操作时,乘商寄存器最低位移出值进C,其他不变。在TEC-2机的具体实现时,通过在控制器的微指令字中安排3位微码,来区分上述8种处理:B34B33B32CZVS000CZVS001CYF=0OVF3010IB7IB6IB5IB40110ZVS1001ZVS101RAM0ZVS110RAM3ZVS111Q0ZVS2:运算器最低位的进位信号的给出与控制运算器最低位的进位信号Cin,可能为0,1,或C的标志位的值,为了调试与试验的方便,有时可送入一个连续的方波信号,当让运算器执行16位全1与这个最低位的进位方波信号相加时,则加法器每一位的输出结果均为方波,有利于管擦与调试,为此,我们用两位微码SCI来区分这4种输入情况;:..00011011Cin01CTCLK指令ADD,DECINC,SUBADC,SBB3:运算器的最高位、最低位的移入信号这涉及到移入通用寄存器组中的移入信号RAM0和RAM3,以及乘商寄存器中的移入信号Q0与Q3,左移操作要向RAM0,或RAM0与Q0移入数据,右移操作要向RAM3,或RAM3与Q3移入数据。我们把5条移位指令和乘除法计算中的联合移位都考虑进去,可以归纳出如下4种结果,并用两位微码SSH区分左移右移SSHRAM0Q0RAM3Q300(逻辑移位)0X0X01(循环移位)CXCX10(乘除联合移位)Q3F3CYRAM011(算术右移)XXF3或OVRAM0在TEC-2的实现中,把上述2,3两部分合在一片Gal20v8器件中实现这个器件共有7个输出信号,Cin,RAM0,RAM3,Q0,Q3,CY和OV,最后两个信号控制运算+4和OV如何向C和V标志位送入正确结果输入信号包括AM2901的MI4-MI2(确定AM2901的运算功能)MI7(指明移位方向),微码SCI两位B11和B10,指明如何给出Cin,微码SSH两位B9和B8,指明如何形成移位值:..:机的控制器的组成与实现技术一:TEC-2机控制器部件的组成:1:由7片LS6116随机读写的存储器芯片组成的56位字长的微程序控制存储器,用于存放TEC-2机的微程序。2:微指令寄存器PLR由7片8位的寄存器芯片(6片LS374和1片LS273)组成,用于存放当前微指令的内容3:微程序定序器AM2910芯片,依据机器的运行状态和当前微指令的有关内容,正确地形成下一条微指令的地址4:程序计数器PC和当前指令地址记忆寄存器IP,即运算器里的R5,R65:指令寄存器IR,用于存放当前正在执行的指令内容6:为AM2910提供输入地址信号的配套线路7:由AM2910芯片的10位地址输出信号驱动的配套线路8:由2片LS2716ROM芯片组成的固化的微码保存电路及读写控制电路二:TEC-2机的控制器部件实现中的一些技术问题1:微码装入。已实现的53条机器指令的微程序保存在2片ROM芯片中,这两个ROM为2716芯片,组成了一个专用的2K容量的16位固定存储器,每4个相邻的字用于存放一条56位字长的微指令,其中第四个字的最高8位未用,填零。装入时,依次读出4个16位的字,分别送到56位的LDR的不同的16位,然后一次写入56位的微控存。为此,设计两个地址计数器。第一个计数器由3片4位的计数器LS161芯片组成,加电时清零,以后每来一个工作脉冲计数一次,它的输出一方面用作微控存的写入单元的地址,又用作ROM芯片的高9位地址2:微指令格式。每条微指令由56位组成,从高到低依次为B55-B0,分为13个字段B55-B4610位下地址字段B45,B442位未用B43-B404位CI3-1,用于给出AM2910芯片的16种命令码的编号B39-B37,和1位的SC,给出AM2910芯片的条件判断的选择码,用于保证微指令的条件转移B351位未用B34-B323位SST,控制标志寄存器写入B311位MIO,这三位联合控制内B271位REQ,存的读写,外设的B231位/WE,读写以及微码装入B30-B283位MI8-6,第一组AM2910的控制信号B26-B243位MI5-3,第二组AM2910的控制信号B22-B203位MI2-0,第三组AM2910的控制信号B19-B164位A口地址B15-B124位B口地址B11-B102位SCIB9-B82位SSH:..B71SA,A口地址选择控制信号B6-B43位DC1B31位SB,B口地址选择控制信号B2-B03位DC2/MIOREQ/WE操作功能000存储器写001存储器读010I/O写011I/O读10*不操作11*装入微码3:TEC-2机的微程序设计处理好每条微指令的下地址,通过一片微程序定序器AM2910芯片实现。AM2910包括一个四输入的多路地址选择器,用来选择寄存器/计数器(R),直接输入(D),微程序计数器(uPC)或微堆栈(F)中的一个作为下一条微指令的地址。寄存器/计数器由12个D型触发器组成。用它作寄存器时,主要用于保存一个微指令地址,用以实现微程序分支;当它用作计数器时,具有减一功能(何时减一,取决于AM2910的命令码),主要用于控制循环次数,若装入初值为N,则可执行N+1次。微程序计数器由12位增量器和12位寄存器组成,当增量器进位输入CI为高电平时,多路器的输出Y加1后装入uPC,用于实现微程序的顺序执行;而CI位低电平时,多路器的Y直接装入uPC,用于实现同一条微指令的多次执行。微堆栈是由5字*12位的寄存器和微堆栈指针uSP组成,主要用于保存微子程序调用的返回地址和微程序循环的首地址。微堆栈指针uSP总是指向最后一次压入的数据,因此,执行循环时,允许不执行弹出而直接访问微堆栈的栈顶,当堆栈中的数据达到5个时,就发出堆栈已满的信号(/FULL=0),这时任何压入操作都会将覆盖掉栈顶的数据。AM2910输出3个使能信号:/PL,/MAP,/VECT,用来决定直接输入D的来源/PL=0:D来源于微指令的下地址字段,用于实现微程序的转移/MAP=0:D来源于MAOROM,用于实现从机器指令到相应微程序段的转移/VECT=0:D来源于中断向量,现用于接收手拨微地址。AM2910的输入:D11-D0:外部直接输入的数据,即可给RC做初值,也可给YI3-I0:AM2910的命令码,来自微指令字的有关字段(B43-B40),选择AM2910的16条命令/CC:条件输入,为低测试成功,为高测试失败/CCEN:有效,为高测试条件永真。/PLD:为低时,强制把直接输入送到寄存器CI:增量器进位输入,为高时uPC<-Y+1,为低时uPC<-Y;/OE:Y输出允许信号,低电平有效,高电平时Y输出为高阻态CP:时钟脉冲信号,由低到高的上升边沿触发所有内部状态的变化:..AM2910Y11-Y0:下一条微指令的地址/FULL:微堆栈满信号/PL,/MAP,/VECT3个使能信号FS1-FS4为TEC-2机的功能开关,用于选择TEC-2机执行的不同功能MAPROM为由2片8位的ROM芯片组成的微指令地址映射部件,其地址输入为IR给出的指令操作码,其输出为该机器指令对应的微程序段的入口地址若想在自己的微程序中实现自己的取指等处理过程,必须保证在新旧指令衔接时不出现矛盾,最简单的方法是在自己的多条指令中,有几条指令有自己设计的取指与后续处理,它们不能与旧有指令正确衔接,但有一条指令按原有指令的取指过程执行,它的后续处理过程保证与自己新设计的指令的取指过程正确衔接,有另一条新指令的后续处理保证能正确与原有指令的取指过程衔接,当用这样的两条指令“夹”起的其他的新指令序列出现在任何程序中,每条指令均将正确衔接与执行。(四)TEC-2的主存储器部件TEC-2的主存储器由4K(字长16位)的ROM和2K的RAM组成,其中的K意思是字的个数。TEC-2机的主存的地址选择来自于地址总线AB15-0,地址总线的信号是由地址寄存器AR的输出提供的,而AR只接收运算器的输出。主存的入、出数据与外部数据总线DB15-0接通,外部总线又通过双向三态门电路(LS245)与CPU内部总线IB15-0连接,在/MIO与/WE两位微码的控制下,使内外部总线处于逻辑上断开、内向外传递或外向内传递数据3种状态。

计组读书笔记 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人青山代下
  • 文件大小714 KB
  • 时间2024-04-14