1、成 绩 评 定 表学生姓名刘建成班级学号专 业计算机科学和技术课程设计题目多寄存器减法右移位输入输出等指令试验计算机设计评语组长签字:成绩日期 年6月21 日课程设计任务书学 院信息学院专 业计算机科学和技术学生姓名刘建成班级学号 课程设计题目多寄存器减法右移位输入输出等指令试验计算机设计实践教学要求和任务:利用EL-JY-II型计算机组成原理试验仪提供硬件资源,经过设计(包含整机结构设计、指令设计、微程序设计、微指令设计、调试程序设计等)、组装、调试三个步骤完成一台微程序控制复杂试验计算机设计。具体要求以下:1、 掌握试验计算机整机结构。熟悉试验计算机组装和调试方法。2、 设计以下几条机器指
2、令格式,指令格式能够采取单字长或双字长设计。算术减法运算指令:SUB rs,rd (功效rs - rd - rd)输入输出指令:IN #DATA,rd (功效DATA - rd) OUT Ri (功效Ri值 - LED输出)转移指令: JMP ADDR (功效ADDR - PC) 右移位运算指令:RRC rs,rd(功效rs值带进位循环右移一位- rd) 3、 设计微指令格式, 编写上述每条机器指令所对应微程序,并上机调试。4、经过以下程序编写调试,验收机器指令、微指令、微程序设计结果。IN #data,R0 IN #data,R2SUB R0, R2RRC R2, R0OUT R0JMP 0
3、0H工作计划和进度安排: 第17周:部署课程设计任务,查阅资料,分组设计,试验室组装和调试。 第20周:调试,验收,答辩,编写课程设计汇报。指导老师: 6月21日专业责任人: 6 月22日学院教学副院长: 6 月22日目录1. 试验计算机设计11.1整机逻辑框图设计及整机逻辑框图11.2指令系统设计31.3微操作控制部件设计51.3.1微指令编码格式设计51.3.2微操作控制信号设计61.3.3微程序次序控制方法设计71.4编写调试程序152 试验计算机组装153 试验计算机调试163.1 调试前准备163.2调试步骤和调试结果193.3心得体会194、参考文件201. 试验计算机设计1.1整
4、机逻辑框图设计及整机逻辑框图输入设备数据暂存器LT2数据暂存器LT174299寄存器R2寄存器R2寄存器R2程序计数器PC地址寄存器AR存放器(MEM)脉冲源立即序指令寄存器IR微控器输出设备 此模型机是由运算器,控制器,存放器,输入设备,输出设备五大部分组成。图1.1模型机结构图1.运算器又是有299,74LS181完成控制信号功效算逻部件,暂存器LDR1,LDR2,及三个通用寄存器R0,R2等组成。2.控制器由程序计数器PC、指令寄存器、地址寄存器、时序电路、控制存放器及对应译码电路组成。3.存放器RAM是经过CE和W/R两个微命令来完成数据和程序存放功效。4输入设备是由置数开关SW控制完
5、成。5. 输出设备有两位LED数码管和W/R控制完成图1-1中运算器ALU由U7-U10四片74LS181组成,暂存器1由U3、U4两片74LS273组成,暂存器2由U5、U6两片74LS273组成。微控器部分控存由U13-U15三片2816组成。除此之外,CPU其它部分全部由EP1K10集成。存放器部分由两片6116组成16位存放器,地址总线只有低八位有效,所以其存放空间为00H-FFH。输出设备由底板上四个LED数码管及其译码、驱动组成,当D-G和W/R均为低电平时将数据总线数据送入数码管显示。在开关方法下,输入设备由16位电平开关及两个三态缓冲芯片74LS244组成,当DIJ-G为低电平
6、时将16位开关状态送上数据总线。在键盘方法或联机方法下,数据可由键盘或上位机输入,然后由监控程序直接送上数据总线,因另外加数据输入电路能够不用。本系统数据总线为16位,指令、地址和程序计数器均为8位。当数据总线上数据打入指令寄存器、地址寄存器和程序计数器时,只有低八位有效。1.2指令系统设计Rs或rd选定寄存器00R001R110R2要求:表1.1寄存器表 (1)存放器访问及转移指令 设计2条访问指令,即存数(STA),取数(LDA),2条转移指令,即无条件转移(JMP),结果为零或有进位转移指令(BZC),指令格式见表1.2存放器访问表:表1.2存放器访问表7 65 43 21 000MOP
7、-CODErdD其中OP-CODE为操作码,rd为寄存器。M为寻址模式,D为位移量,D随M不一样其定义也不相同(2)寻址方法见表1.3寻址模式表: 表1.3寻址模式表寻址模式M有效地址E说 明00E=D直接寻址01E=(D)间接寻址10E=(R1)+DR1变址寻址11E=(PC)+D相对寻址注:本机要求变址寄存器R1指定为寄存器R2。(3)I/O指令 输入(IN)和输出(OUT)指令采取单字节指令,格式见表1.4I/O操作码表:7 6 5 43 21 0OP-CODEaddrrd 表1.4I/O操作码表其中,当OP-CODE=0100且addr=10时,从“数据输入电路”中开关组输入数据;当O
8、P-CODE=0100且addr=01时,将数据送到“输出显示电路”中数码管显示。(4) 指令助记符,功效及格式见表1.5: 表1.5指令格式 汇编符号指令格式功 能CLR rdMOV rs,rd ADC rs,rd SBC rs,rd 0111 00 rd 1000 rs rd 1001 rs rd 1010 rs rd 0 rdrs rd rs+rd+cy rdrs-rd-cy rdINC rdAND rs,rdCOM rdRRC rs,rd 1011 rs rd 1100 rs rd 1101 rs rd 1110 rs rd rd+1 rdrsrd rdrd rd cy rs rs r
9、dRLC rs,rd 1111 rs rd cy rs rs rdLDA M,D,rd 00 M 00 rd D E rs STA M,D,rd 00 M 01 rd D rd E JMP M,D 00 M 10 00 BZC M,D 00 M 11 00 当CY=1或Z=1时, E PC IN addr,rdOUT addr,rd 0100 01 rd 0101 10 rd addr rd rd addrHALT 0110 00 00 停机(5) 指令编码: 表1.6指令编码表:地址(二进制)指令(二进制)指令(十六进制)助记符0000 00000100 01 0044IN #data, R
10、00000 00010100 01 1046IN #data, R20000 00101010 00 10A2 SUB R0, R20000 00111110 10 00 E8RRC R2, R0 cy R2 rs rd0000 01000101 10 0058 OUT,R00000 01010000 10 0008JMP 00H0000 01100000 00 00001.3微操作控制部件设计1.3.1微指令编码格式设计设计三个控制操作微程序:存放器读操作(MRD):拨动清零开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“00”时,按“单步”键,可对RAM连续读操作。存放器
11、写操作(MWE):拨动清零开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“10”时,按“单步”键,可对RAM连续写操作。开启程序(RUN):拨动清零开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“11”时,按“单步”键,即可转入到第01号“取指”微指令,开启程序运行表1.7 本系统微程序字长共24位,其控制次序24232221201918171615 14 1312 11 109 8 7654321S3S2S1S0MCnWE1A1BF1F2F3uA5uA4uA3uA2uA1uA0其中uA5-uA0为6位后续地址,F1,F2,F3为三个译码字段,分别由三个控制
12、位译出多位,。1.3.2微操作控制信号设计微指令中个控制位含义以下:S3、S2、S1、S0、M、CN是控制运算器逻辑和算术运算微命令。WE是写内存微命令,状态“1”有效。1A、1B是输入电路选通、内存RAM选通、输出LED选通控制微命令,分别对应状态“11”、“10”、“01”。 状态“00”为无效。F1、F2、F3为三个译码字段,分别由三个控制位经指令译码电路74138译码输出8种状态,前7种状态分别对应一组互斥性微命令中一个,状态“111”为无效。F3字段包含P1- P4四个测试字位。其功效是依据机器指令代码及对应微指令代码进行译码测试,使微程序转入对应微地址入囗,从而实现微程序次序、分支
13、、循环运行。控制操作为P4测试,它以CA1、CA2作为测试条件,出现了写机器指令、读机器指令和运行机器指令3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下其它地方就能够一条微指令占用控存一个微地址单元随意填写。机器指令实施过程以下:首先将指令在外存放器地址送上地址总线,然后将该地址上指令传送至指令寄存器,这就是“取指”过程。以后必需对操作码进行P1测试,依据指令译码将后续微地址中某几位强制置位,使下一条微指令指向对应微程序首地址,这就是“译码”过程。然后才次序实施该段微程序,这是真正指令实施过程。在全部机器指令实施过程中,“取指”和“译码”是必不可少,而且微指令实施操作也是相同,
14、这些微指令称为公用微指令。表1.8、三个字段编码方案F1字段F2字段F3字段15 14 13选择12 11 10选择9 8 7选择0 0 0LDRi0 0 0RAG0 0 0P10 0 1LOAD0 0 1ALU-G0 0 1AR0 1 0LDR20 1 0RCG0 1 0P30 1 1自定义0 1 1自定义0 1 1自定义1 0 0LDR11 0 0RBG1 0 0P21 0 1LAR1 0 1PC-G1 0 1LPC1 1 0LDIR1 1 0299-G1 1 0P 4 1.3.3微程序次序控制方法设计1.微程序控制部件组成原理1 运算器单元(ALU UINT)运算器单元由以下部分组成:两
15、片74LS181组成了并串型8位ALU;两个8位寄存器DR1和DR2为暂存工作寄存器,保留参数或中间运算结果。ALUS0S3为运算控制端,Cn为最低进位输入,M为状态控制端。ALU输出经过三态门74LS245连到数据总线上,由ALU-B控制该三态门。2 寄存器堆单元(REG UNIT)该部分由3片8位寄存器R0、R1、R2组成,它们用来保留操作数用中间运算结构等。三个寄存器输入输出均以连入数据总线,由LDRi和RS-B依据机器指令进行选通。3 指令寄存器单元(INS UNIT)指令寄存器单元中指令寄存器(IR)组成模型机时用它作为指令译码电路输入,实现程序跳转,由LDIR控制其选通。4 时序电
16、路单元(STATE UNIT)用于输出连续或单个方波信号,来控制机器运行。5 微控器电路单元(MICROCONTROLLER UNIT)微控器关键用来完成接收机器指令译码器送来代码,使控制转向对应机器指令对应首条微代码程序,对该条机器指令功效进行解释或实施工作。由输入W/R信号控制微代码输出锁存。由程序计数器(PC)和地址寄存器(AR)实现程序取指功效。6 逻辑译码单元(LOG UNIT)用来依据机器指令及对应微代码进行译码使微程序转入对应微地址入口,从而实现微程序次序、分支、循环运行,及工作寄存器R0、R1、R2选通译码。7 主存放器单元(MAIN MEM)用于存放试验中机器指令。8 输入输
17、出单元(INPUT/OUTPUT DEVICE)输入单元使用八个拨动开关作为输入设备,SW-B控制选通信号。输出单元将输入数据置入锁存器后由两个数码管显示其值。 图1.2微程序控制原理图2.微程序入口地址形成方法因为每条机器指令全部需要取指操作,所以将取指操作编制成一段公用微程序,通常安排在控存0号或特定单元开始一段控存空间内。每一条机器指令对应着一段微程序,其入口就是初始微地址。首先由“取指令”微程序取出一条机器指令到IR中,然后依据机器指令操作码转换成该指令对应微程序入口地址。这是一个多分支(或多路转移)情况,常见三种方法形成微程序入口地址。(1)一级功效转移假如机器指令操作码字段位数和位
18、置固定,能够直接使操作码和入口地址码部分位相对应。比如,某计算机有16条机器指令,指令操作码用4位二进制数表示,分别为0000、0001、1111。现以字母Q表示操作码,令微程序入口地址为Q11B,比如000011B为MOV指令入口地址,000111B为ADD指令入口地址,001011B为SUB指令入口地址。由此可见,相邻两段微程序入口地址相差4个单元(2)二级功效转移若各类指令操作码位数和位置不固定时,需采取分级转移,第一次先按指令类型标志转移,以区分出指令属于哪一类,如单操作数指令、双操作数指令等。在每一类机器指令中操作码位数和位置应该是固定,第二次即可按操作码区分出具体是哪条指令,方便转
19、移到对应微程序入口。(3)经过PLA电路实现功效转移可编程逻辑阵列PLA实质上是一个译码-编码阵列,含有多个输入和多个输出,PLA输入是机器操作码和其它判别条件,PLA输出就是对应微程序入口地址,这种方法对于变长度、变位置操作码处理更为有效而且转移速度较快。3.控存下地址确定方法在转移到一条机器指令对应微程序入口地址后,则开始实施微程序,每条微指令实施完成时,需依据其中次序控制字段要求形成后继微指令地址。(1)增量方法(次序-转移型微地址) 这种方法和机器指令控制方法相类似,它也有次序实施、转移和转子之分。次序实施时,后继微地址就是现行微地址加上一个增量(通常为“1”);转移或转子时,由微指令
20、次序控制字段产生转移微地址。所以,微程序控制器中应该有一个微程序计数器(PC)。为了降低成本,通常情况下部是将微地址寄存器AR改为含有计数功效寄存器以替换PC。在非次序实施微指令时,用转移微指令实现转移。转移微指令次序控制字段分成两部分:转移控制字段(BCF)和转移地址字段(BAF) “起始和转移地址发生器”功效有两个:其一是当一条新机器指令装入IR时,它就形成机器指令微程序段起始地址且装入PC,而且伴随节拍电位信号到来,PC自动地增加一个增量,方便连续地从CM中读出微指令,对应微操作控制信号按要求次序发送到CPU各个部分。第二个功效是当微指令指示其测试状态标志、条件代码或机器指令一些位时,它
21、就对指定条件进行测试,若满足转移条件,就把新转移地址装入PC,实现转移;不然不装入新地址,微程序就次序实施。所以,每次从CM中取出一条新微指令时,PC全部增加,只有下列情况例外: 碰到END微指令时,就把“取指”微程序入口地址装入PC,开始取指令周期; 当一条新指令装入IR时,就把该指令微程序入口地址装入PC; 碰到转移微指令且满足转移条件时,就把转移地址装入PC。 增量方法优点是简单,易于掌握,编制微程序轻易,每条机器指令所对应一段微程序通常安排在CM连续单元中;其缺点是这种方法不能实现两路以上并行微程序转移,所以不利于提升微程序实施速度。(2)断定方法 断定方法和增量方法不一样,它不采取P
22、C,微指令地址由微地址寄存器AR提供。在微指令格式中,设置一个下地址字段,用于指明下一条要实施微指令地址。当一条微指令被取出时,下一条微指令地址(即下地址字段)送AR。它相当于每条微指令全部含有转移微指令功效。采取这种方法就无须设置专门转移微指令,但增加了微指令字长度。 (3)增量方法和断定方法结合这种控制方法中,微地址寄存器AR有计数功效(断定方法中微地址寄存器AR无计数功效),但在微指令中仍设置一个次序控制字段,这是一个增量方法和断定方法相结合方法。其次序控制字段通常由两部分组成:次序地址字段和测试字段。 次序地址字段。可由设计者指定通常是微地址高位部分,用来指定后继微地址在CM中某个区域
23、内。 测试字段。依据相关状态测试结果确定其地址值,通常对应于微地址低位部分,相当于在指定区域内确定具体分支。所依据测试状态可能是指定开关状态、指令操作码、状态字等。测试字段假如只有一位,则微地址特产生两路分文;若有两位,则最多可产生四路分支;依这类推,测试字段为n位为最多可产生2n路分支。 若无转移要求,则微地址寄存器计数得到后继微指令地址。1.3.4微程序设计:每条指令对应微程序步骤图:开始PC-AR,PC+1RAM-D_BUS-LRP(1)测试rs-D_BUSD_BUS-LT2rd-D_BUSD_BUS-LT1LT1-LT1LT1-LT1LT1+1-D_BUS-LT1LT1-LT1LT1+
24、LT2-D_BUS-rdrs-299带进位左移位299-rdrd-LEDPC-AR,PC+1LT1-D_BUS,D_BUS-PCD_INPUT-D_BUSD_BUS-rd 图1.3总步骤图(1) 输入指令IN 图1.4 IN指令微程序步骤图(2) 输出指令OUT图1.5 OUT指令微程序步骤图(3) 转移指令JMP图1.6 JMP指令相 对寻址微程序步骤图(3) 减法指令SUB 图1.7 SUB指令相对寻址微程序步骤图(4) 移位指令RRC rs 299带进位右环移299 rd 图1.8 移位指令相对寻址微程序步骤图1.3.5微程序中各微指令二进制编码、16进制编码表5 微指令代码位地址(八进
25、制)位地址(二进制)微代码(十六进制)00000000007F8801000001005B4202000010016FFD03000011014FC404000100015F2005000101015FC606000110014FC707000111015F2010001000005B4A11001001005B4C12001010014FFB13001011007FC11400110001CFFC15001101014FCE160011100025CF170011119453E520010000005B4321010001005B4522010010005B4D23010011005B662
26、4010100018FC12501010102F5C126010110007FD6270101113C03C1300110000001C1310110010041EA320110100021EC330110110041F2340111000041F3350111010041F6360111103001F7370111113001F940100000010FC1411000010379C142100010011F4143100011007EA444100100007FC14510010184492046100110014FE747100111002BE850101009459E951101001
27、944920521010100025EB531010119403FE541011000049ED551011010449EE561011100C49EF571011110049F0601100000C7F31611100019403C1621100100003C1631100110025F56411010004134165110101B803C1661101100C03C167110111287DF870111000000DC171111001187DFA72111010000DC17311101106F3C874111100FF73C975111101016E10761111100041C1
28、1.4编写调试程序(1)具体代码以每条指令代码所对应机器码(16进制编码)和地址码:IN #data,R0 IN #data,R2SUB R0-R2R2RRC R2 R0 OUT R0JMP 00H (2)每条指令代码所对应机器码和地址码:地址(十六进制) 机器码(十六进制)00 4401 4602 A203 E804 5805 0806 002 试验计算机组装连接硬件系统连接硬件系统,图2.1连线图: 图2.1连线图3 试验计算机调试3.1 调试前准备1、根据试验指导说明书连接硬件系统图3.1图3.1 2、开启试验软件,打开试验课题菜单,选中试验课题打开试验课题参数对话窗口:微指令操作图3.
29、2微指令操作图:开启试验软件,打开试验课题菜单,选中试验课题打开试验课题参数对话窗口: 图3.2微指令操作图微指令操作:1)写:在微指令操作编辑框(图3.2)中输入试验指导书中微指令程序(格式:两位八进制微地址+空格+六位十六进制微代码),或直接打开随机附带程序EX8.MSM,将试验箱上K4K3K2K1拨至“0010”写状态,然后按写入按钮,微程序写入控制存放器电路;2)读:将试验箱上K4K3K2K1拨至“0100”读状态,在“读出微地址”栏中填入两位八进制地址,按读出按钮,则对应微代码显示在“读出微代码”栏中;3)保留:按保留按钮,微程序代码保留在一给定文件(*.MSM)中;4)打开:按打开
30、按钮,打开已经有微程序文件,并显示在编辑框中 图3.3机器指令操作机器指令操作:1)写:在机器指令编辑框(图3.3)中输入试验指导书中机器指令程序(格式:两位十六进制地址+空格+2位或 4位十六进制代码),或直接打开随机附带程序EX8.ASM,将试验箱上K4K3K2K1拨至 “0101”运行状态,拨动“CLR”开关对地址和微地址清零,然后按写入按钮,机器指令写 入存放器电路;注:对于8位机,十六进制代码为2位;对于16位机,十六进制代码能够是2位,也能够是4位。2)读:将试验箱上K4K3K2K1拨至“0101”运行状态,在“读出指令地址”栏中填入两位十六进制地址,拨动“CLR”开关对地址和微地
31、址清零,然后按读出按钮,则对应指令代码显示在“读出指令代码”栏中。3)保留:按保留按钮,机器指令程序保留在一给定文件(*.ASM)中。4)打开:按打开按钮,打开已经有机器指令程序文件,并显示在编辑框中。5)单步:在运行状态下运行程序前,先拨动“CLR”开关对地址和微地址清零,然后每按一次单步按钮,实施一条微指令。可从试验箱指示灯和显示LED观察单步运行结果。6)连续:在连续运行程序前,先拨动“CLR”开关对地址和微地址清零,然后按连续按钮,可连续实施程序。可从试验箱指示灯和显示LED观察连续运行结果。 7)停止:在连续运行程序过程中,可按停止”按钮暂停程序实施。此时地址和微地址并不复位,仍能够
32、从暂停处单步或连续实施.3.2调试步骤和调试结果做完调试前准备工作后,能够经过联机上“运行”或“单步”进行调试,经过数据显示灯读出结果并分析。单步:在运行状态前提下,选择操作单步,点击弹出窗口图,然后拨动“CLR”开关对地址和微地址清零,然后每按一次单步按钮,实施一条微指令。可从试验箱指示灯和显示LED观察单步运行结果。 连续:在运行状态前提下,选择操作连续,点击弹出窗口图,先拨动“CLR”开关对地址和微地址清零,然后按连续按钮,可连续实施程序。可从试验箱指示灯和显示LED观察连续运行结果。 停止:在连续运行程序过程中,可按停止”按钮暂停程序实施。此时地址和微地址并不复位,仍能够从暂停处单步或
33、连续实施。输入:23H,16H输出:86H经过以上结果可知,此次机器指令、微指令、微程序设计正确。3.3心得体会经过此次试验,我学到了很多,包含我在课堂上没有掌握内容。所以我很珍爱这次试验经历。而且经过者从试验我感受到了同学合作关键性。能够说,没有同学帮助我就极难完成这个试验。经过这次试验怎样去思索,怎样去做好试验统计。同时我也认识到了自己不足,和她人之间还存在一定差距,以后要更努力学习,缩小和她人差距。4、参考文件白中英著 计算机组成原理第四版 北京:科学出版社 杨雨彤著 计算机组成原理试验指导书 沈阳:沈阳理工大学 马秀丽,刘念著 EL-JY-II型计算机组成原理试验系统试验指导书 沈阳理工大学信息学院应用教研室
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100