2.2需执行的机器指令
本次设计采用五条机器指令;IN(输入)、ADD(加)、OR(或)、OUT(输出)、NOT(加3取反)、JMP(无条件转移),其指令格式如表2-1所示。
表2-1 机器指令格式表
助记符
IN ADD [addr] OR [addr] NOR [addr] OUT [addr] JMP addr 机器指令码 0000 0000
0001 0000 XXXXXXXX 0010 0000 XXXXXXXX 0011 0000 XXXXXXXX 0100 0000 XXXXXXXX 0101 0000 XXXXXXXX
说明
“DATA UNIT”中的开关状态→R0
R0+[addr]→[addr] R0 OR [addr]->R0 [addr] OR R0 R0 [addr]→BUS addr→PC
其中机器指令码的最高8位为操作码。IN为单字长(8位),其余为双字长指令,XXXXXXXX为addr对应的二进制地址码。
沈阳工程学院课程设计报告
第二章 设计原理及内容
2.3数据通路图
实验系统的数据通路图,如图2.1所示。
图2.1 数据通路图
注意:
⒈片选信号CE=0为有效电平,CE=1为无效电平。 ⒉WE=1为写入,WE=0为读出。
⒊LOAD和LDPC同时为“1”时,可将总线上的数据装入到PC中;LDPC为“1”,同时LOAD为“0”时,将PC中内容加1。
⒋M=0为算术运算,M=1为逻辑运算。
⒌CN=0表示运算开始时低位有进位,否则低位无进位。
图2.1中包括运算器、存储器、微控器、输入设备、输出设备以及寄存器。这些部件的动作控制信号都有微控器根据微指令产生。需要特别说明的是由机器指令构成的程序存放在存储器中,而每条机器指令对应的微程序存储在微控器中的存储器中。
2.4微指令格式
微指令字长共24位,其控制位顺序如图2.2所示。
图2.2 微指令格式图
其中UA5~UA0为下一条微指令微地址,A、B、C为三个译码字段,分别由三个控制位译码出多种不同控制信号。
A字段中的LDRi为打入工作寄存器信号的译码器使能控制位。
B字段中的RS-B、RD-B、RI-B分别为源寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器R0、R1及R2的选通译码。
C字段中的P(1)~P(4)是四个测试字位。其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行,其原理如图2.3所示。AR为算术运算是否影响进位及判零标志控制位,其为零有效。
注意:根据后面的实验接线图,A字段的LDRi与数据通路图中的LDR0为同一个信号。B字段的RS-B与数据通路图中的R0-B为同一个信号。
2.5微程序地址的转移
本实验系统的指令寄存器(IR)用来保存当前正在执行的一条指令。当执行一条指令时,先把该指令从内存取到缓冲寄存器中,然后再传送至指令寄存器。指令划分为操作码和地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试[P(1)],通过节拍脉冲T4的控制以便识别所要求的操作。“指令译码器”(实验板上标有“INS DECODE”的芯片)根据指令中的操作码译码后的结果,将微控器单元的微地址修改为下一条微指令的地
址。
地址修改要依靠实验系统的微程序地址转移电路来完成,该电路如图2.3所示。
图2.3 微程序地址转移电路
注意:
⒈FC:进位标志 ⒉FZ:0标志
⒊SWA、SWB存储器读写控制标志
⒋P(1)~P(4):微指令C字段译码输出结果 ⒌I2~I7:机器指令第2位~第7位。
2.6机器指令的写入、读出和执行
为了向RAM中装入机器指令程序和数据,检查写入是否正确,并能启动机器指令程序执行,还必须设计三个控制台操作微程序。
存储器读操作(KRD):拨动总清开关CLR(使CLR从1→0→1)后,控制台开关SWB、SWA置为“0 0”时,按START微动开关,可对RAM连续手动读操作。
存储器写操作(KWE):拨动总清开关CLR后,控制台开关SWB、SWA置为“0 1”时,按START微动开关可对RAM进行连续手动写入。
启动程序:拨动总清开关CLR后,控制台开关SWB、SWA置为“1 1”时,按START微动开关,即可转入到第25号“取指”微指令,启动程序运行。
上述三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如表2-3所示。
表2-3 控制台指令
三个控制台操作微程序的流程如图2.4所示。
图2.4 控制台操作微程序流程图
控制台操作为P(4)测试,它以控制台开关SWB、SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,余下的微指令可以存放在控制存储器的其他任意单元中。
当设计“取指”微指令时,该微指令的判别测试字段为P(1)测试。由于“取指”微指令是所有微程序都使用的公用微指令,因此P(1)的测试结果出现多路分支。本机用指令寄存器的前6位(IR7—IR2)作为测试条件,出5路分支,占用5个固定微地址单元。
沈阳工程学院课程设计报告
第三章 设计步骤
第三章 设计步骤
3.1编写机器指令
设计各条机器指令代码及数据,并为指令和数据分配存储地址。本次设计机器指令程序如表3-1所示。
表3-1 本次设计机器指令程序
地址 0100 0000 0100 0001 0100 0010 0100 0011 0100 0100 0100 0101 0100 0110 0100 0111 0100 1000 0100 1001 0100 1010 0100 1011 0100 1100 0100 1101
内容 0000 0000 0001 0000 0100 1011 0010 0000 0100 1100 0011 0000 0100 1101 0100 0000 0100 1101 0101 0000 0100 0000 0011 0001 0011 0010 0011 0011
助记符 IN ADD[4BH] OR[4CH] NOR[4DH] OUT JMP[40H]
说明
“DATA UNIT”中的开关状态→R0
R0+[4BH]→[4BH] R0 or [4CH]→R0
R0 or [4DH] →R0
[4DH]→BUS [40H]→PC 内容自定义 内容自定义 内容自定义
3.2绘制微程序流程图
根据每条机器指令的功能,为每条机器指令画出微程序流程图,并为其中的每条微指令分配地址。总体微程序流程图如图3.1所示。
图3.1 总体微程序流程图
3.3绘制微指令
根据控制位顺序图,可绘制下列微指令表3-2。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说医药卫生计算机组成原理课设报告(3)在线全文阅读。
相关推荐: