复杂模型机设计 计算机组成原理课程设计.doc

上传人:z**** 文档编号:89806138 上传时间:2023-05-13 格式:DOC 页数:18 大小:6.10MB
返回 下载 相关 举报
复杂模型机设计 计算机组成原理课程设计.doc_第1页
第1页 / 共18页
复杂模型机设计 计算机组成原理课程设计.doc_第2页
第2页 / 共18页
点击查看更多>>
资源描述

《复杂模型机设计 计算机组成原理课程设计.doc》由会员分享,可在线阅读,更多相关《复杂模型机设计 计算机组成原理课程设计.doc(18页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、优质文本计算机组成原理课 程 设 计 任 务 书 班级: 学号: 姓名: 成绩: 电子与信息工程学院计算机科学系目录一、设计题目1二、模型机功能概述1三、总体设计23.1 模型机结构:23.2 微程序控制电路33.3 指令译码器电路5四、详细设计64.1 数据格式:64.2指令格式:64.3指令系统74.4设计微代码8五、实验代码:10六、实验步骤:126.1实验连线:126.2写微代码:126.3读微代码及校验微代码:146.4写机器指令146.5读机器指令及校验机器指令:156.6运行程序15七、测试源程序及结果分析16八、认识体会16九、参考文献16优质文本计算机组成原理课程设计报告书一

2、、设计题目复杂模型机设计二、模型机功能概述以EL-JY-II计算机组成原理教学实验系统为平台,根据模型机的结构,及内部的指令译码电路、微指令译码电路及微指令格式等设计一套指令系统,指令系统中包括传送类指令、算术运算指令、逻辑运算指令、输入/输出及转移指令;寻址方式包括存放器寻址、直接寻址及立即寻址等。设计机器指令格式以及微程序,按照模型机数据通路设计实现机器指令功能的微程序,装载代码到EL-JY-II实验系统中并运行。系统采用“基板+扩展板CPU板形式;系统公共局部如数据输入/输出和显示、单片机控制、与PC机通讯等电路放置在基板上,微程序控制器、运算器、各种存放器、译码器等电路放置在扩展板上。

3、此模型机是由运算器,控制器,存储器,输入设备,输出设备五大局部组成。1.运算器又是有299,74LS181完成控制信号功能的算逻部件,暂存器LDR1,LDR2,及三个通用存放器Ax,Bx,Cx等组成。2.控制器由程序计数器PC、指令存放器、地址存放器、时序电路、控制存储器及相应的译码电路组成。3.存储器RAM是通过CE和W/R两个微命令来完成数据和程序的的存放功能的。4.输出设备有两位LED数码管和W/R控制完成的。三、总体设计3.1 模型机结构: 图1中运算器ALU由U7U10四片74LS181构成,暂存器1由U3、U4两片74LS273构成,暂存器2由U5、U6两片74LS273构成。微控

4、器局部控存由U13U15三片2816构成。除此之外,CPU的其它局部都由EP1K10集成其原理见系统介绍局部。存储器局部由两片6116构成16位存储器,地址总线只有低八位有效,因而其存储空间为00HFFH。输出设备由底板上的四个LED数码管及其译码、驱动电路构成,当D-G和W/R均为低电平时将数据总线的数据送入数码管显示。在开关方式下,输入设备由16位电平开关及两个三态缓冲芯片74LS244构成,当DIJ-G为低电平时将16位开关状态送上数据总线。在键盘方式或联机方式下,数据可由键盘或上位机输入,然后由监控程序直接送上数据总线,因而外加的数据输入电路可以不用。图1 模型机结构框图3.2 微程序

5、控制电路微程序控制电路电路中,由三片2816作为24位微程序存储器,EP1K10产生控制逻辑。开关K1、K2、K3的不同组合控制微程序的读、写和运行,六个黄色LED为微地址指示灯。微控器原理如下列图除2816、74LS245和74LS374外,其余芯片功能均由EP1K10实现。不详之处请查阅EP1K10的源程序。以微程序的运行为例:在T2时刻,将MS24MS1的24位微程序打入微指令存放器,然后由译码电路对MS24MS7进行译码,产生地址存放器、指令存放器等等电路的控制信号。MS6MS1指示下一个微地址,在T3时刻,由机器指令译码器产生的强制微地址信号对MS6MS1微地址的某几位强行置位,形成

6、下一个微地址输出。微控器的外部接口有:uAJ1、LDRO1、LDRO2、ALU_GOUT、G_299OUT、AROUT、STATUS 、AO1、BO1、WEO、WEI、LARI。在读、写微程序时,uAJ1用于从外部输入微地址;LDRO1、LDRO2、ALU_GOUT、G_299OUT、AROUT、STATUS为运算器电路的控制信号,只要将它们接至运算器电路相应的接口上STATUS接S3S1MCN就能实现微程序对运算器的控制。AO1、BO1通常接至底板I/O控制电路的1A1B上,用于外部I/O设备的选通控制。WEO为微控器的读写输出,WEI为外部读写控制电路的输入,控制总线上的WR为外部读写控制

7、电路的输出,其控制电路为:图2 控制电路通常将WEO与WEI相连,实现微程序对外部读写的控制。LARI为地址控制器的输入,以下另作介绍。除此以外其他控制信号都已接至相应的控制电路。3.3 指令译码器电路指令译码器电路由EP1K10实现,其原理如下列图所示。其中P1、P2、P3、P4、LRi、RAG、RBG、RCG为微程序译码产生的控制信号,T3为时钟,I7I0为指令存放器的输出IR,CA1、CA2为机器指令的读、写、运行的控制端,已分别接至控制总线的E4和E5。SA4SA0为强制微地址信号,输出至微控制器电路;LDR2LDR0输出至存放器堆电路的LR,R0B、R1B、R2B输出至存放器堆电路的

8、RG。图3-2 微控制器电路四、详细设计4.1 数据格式:本实验计算机采用定点补码表示法表示数据,字长为16位,其格式如下:1514 13. 0符号尾 数其中第16位为符号位,数值表示范围是:-32768X32767。4.2指令格式:1算术逻辑指令 设计9条单字长算术逻辑指令,寻址方式采用存放器直接寻址。其格式如下:7 6 5 43 21 0OP-CODErdrs其中OP-CODE为操作码,rs为源存放器,rd为目的存放器,并规定:OP-CODE011110001001101010111100110111101111指令CLRMOVADDSUBINCANDNOTRORROL Rs或rd选定存放

9、器00Ax01Bx10Cx 9条算术逻辑指令的名称、功能和具体格式见表8-2。 2存储器访问及转移指令 存储器的访问有两种,即存数和取数。它们都使用助记符MOV,但其操作码不同。转移指令只有一种,即无条件转移JMP。指令格式如下: 7 65 43 21 000MOP-CODErdD其中OP-CODE为操作码,rd为存放器。M为寻址模式,D随M的不同其定义也不相同,如下表所示:OP-CODE000110指令说明写存储器读存储器转移指令寻址模式M有效地址ED定义说 明00E=PC+1立即数立即寻址10E=D直接地址直接寻址3I/O指令 输入IN和输出OUT指令采用单字节指令,其格式如下:7 6 5

10、 43 21 0OP-CODEaddrrd其中,当OP-CODE=0100且addr=10时,从“数据输入电路中的开关组输入数据;当OP-CODE=0100且addr=01时,将数据送到“输出显示电路中的数码管显示。 4.3指令系统本实验共有14条根本指令,其中算术逻辑指令8条,访问内存指令和程序控制指令4条。输入输出指令2条。表1列出了各条指令的格式、汇编符号和指令功能。表1 指令格式 汇编符号指令的格式功 能MOV rd,rs ADD rd,rs SUB rd,rs 1000 rs rd 1001 rs rd 1010 rs rd rs rd rs+rd rdrd-rs rdINC rdA

11、ND rd,rsNOT rdROR rd 1011 rd rd 1100 rs rd 1101 rd rd 1110 rd rd rd+1 rdrsrd rdrd rd rd ROL rd 1111 rd rd rd MOV D,rs 00 10 00 rs D rs D MOV rd, D 00 10 01 rd D D rd MOV rd, D 00 00 01 rd D D rd JMP D 00 00 10 00 DIN rd, KINOUT DISP,rd 0111 10 rd 0101 01 rd KIN rd rd DISP4.4设计微代码设计三个控制操作微程序:存储器读操作MR

12、D:拨动清零开关CLR对地址、指令存放器清零后,指令译码输入CA1、CA2为“00时,按“单步键,可对RAM连续读操作。 存储器写操作MWE:拨动清零开关CLR对地址、指令存放器清零后,指令译码输入CA1、CA2为“10时,按“单步键,可对RAM连续写操作。启动程序RUN:拨动开关CLR对地址、指令存放器清零后,指令译码输入CA1、CA2为“11时,按“单步键,即可转入到第01号“取指微指令,启动程序运行。注:CA1、CA2由控制总线的E4、E5给出。键盘操作方式时由监控程序直接对E4、E5赋值,无需接线。开关方式时可将E4、E5接至控制开关CA1、CA2,由开关来控制。本系统设计的微程序字长

13、共24位,其控制位顺序如下:24232221201918171615 14 1312 11 109 8 7654321S3S2S1S0MCnWE1A1BF1F2F3uA5uA4uA3uA2uA1uA0、三个字段的编码方案如表2: 表2 编码方案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-G

14、1 0 1LPC1 1 0LDIR1 1 0299-G1 1 0P 41 1 1无操作1 1 1无操作1 1 1无操作 系统涉及到的微程序流程见图2图中各方框内为微指令所执行的操作,方框外的标号为该条微指令所处的八进制微地址。控制操作为P4测试,它以CA1、CA2作为测试条件,出现了写机器指令、读机器指令和运行机器指令3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填写。机器指令的执行过程如下:首先将指令在外存储器的地址送上地址总线,然后将该地址上的指令传送至指令存放器,这就是“取指过程。之后必须对操作码进行P1测试,根据指令的

15、译码将后续微地址中的某几位强制置位,使下一条微指令指向相应的微程序首地址,这就是“译码过程其原理见图5-4。然后才顺序执行该段微程序,这是真正的指令执行过程。在所有机器指令的执行过程中,“取指和“译码是必不可少的,而且微指令执行的操作也是相同的,这些微指令称为公用微指令,对应于图8-2中01、02、75地址的微指令。75地址为“译码微指令,该微指令的操作为P1测试,测试结果出现多路分支。本实验用指令存放器的前4位I7-I4作为测试条件,出现12路分支,占用12个固定微地址单元。如I7I4相同,那么还需进行P2测试,以指令存放器的I3、I2位作为测试条件,以区分不同的指令,如MOV指令和IN、O

16、UT指表3即为将图2的微程序流程按微程序格式转化而成的二进制微代码表。图2的微程序流程 控制开关 00 P(4)测试 MWE01 MRD(00) RUN(11) PC AR,PC+1 11 PC AR,PC+1 10 13 (D_INPUT) D_BUS LT1 14 RAM D_BUS LT1 12 01 LT1 RAM 74 LT1 LED 73 图3微程序流程图五、实验代码:按程序流程图译出适合本实验系统所有机器指令的微代码,加深对较完整的模型机的认识。这里提供以下实验程序:地址二进制 指令二进制 助记符 说 明0000 0000 0100 1000 IN Ax, KIN “开关输入 A

17、x0000 0001 0000 0101 MOV Bx, 01H 01H Bx0000 0010 0000 00010000 0011 1001 0100 ADD Ax,Bx Ax+Bx Ax 0000 0100 1111 0000 ROL Ax Ax 0000 0101 1101 0000 NOT Ax 取反0000 0110 0010 0101 MOV Bx,01H 直接寻址0000 0111 0000 00010000 1000 1000 0010 MOV Cx, Ax Ax Cx0000 1001 0100 0110 OUT DISP, Cx Cx LED 0000 1010 0000

18、 1000 JMP 00H 00H PC0000 1011 0000 0000其中MOV、JMP为双字长32位,其余为单字长指令。对于双字长指令,第一字为操作码,第二字为操作数;对于单字长指令只有操作码,没有操作数。上述所有指令的操作码均为低8位有效,高八位默认为0。而操作数8位和16位均可。KIN和DISP分别为本系统专用输入、输出设备。表3为根据本实验程序流程图设计的二进制微代码表:表3 二进制微代码表微地址S3S2S1 S0 M CN WE 1A 1BF1F2F3UA5-UA000000000000000011111111000100000000100000000010110110100

19、001000001000000001011011111111110100011000000001010111111110010100011100000001010111111110010100100000000000010110110100101000100100000000010110110100110000101000000001010011111111101100101100000000011111111100000100110000000001110011111111110001000000000000010110110110010101001000000000010110110100

20、011101001100000000010110110100011001010100000010111101011100000101011100000001100011111100000101100000000000000000011100000101100100000000010000011110101001101000000000010000011110110001101100000000010000011111001001110000000000010000011111001101110100000000010000011111011001111000110000011100011111

21、011101111100110000000000011111100110000000000011011110011100000110000100000001000011111100000110001000000001000111110100000110010100000000011111110010000010101000000000001001011110101110101110010100000000111100000110110000000000001010011110110110110101100000000000111100000111001000000000000000111100

22、000111001100000000001001011111010111010110111000000000111100000111011000001100000000111100000111011100100000011111011111100011100000000000000011011100000111100100010000011111011111101011101000000000000011011100000111101100000110111100111100100011110011111111011100111100100111110100000001011011100001

23、0000六、实验步骤:单片机键盘操作方式实验。在进行单片机键盘控制实验时,必须把K4开关置于“OFF状态,否那么系统处于自锁状态,无法进行实验。6.1实验连线:实验连线图如图8-3所示。连线时应按如下方法:对于横排座,应使排线插头上的箭头面向自己插在横排座上;对于竖排座,应使排线插头上的箭头面向左边插在竖排座上。6.2写微代码:(1) 将开关K1K2K3K4拨到写状态即K1 off、K2 on、K3 off、K4 off,其中K1、K2、K3在微程序控制电路,K4在24位微代码输入及显示电路上。(2) 在监控指示灯滚动显示【CLASS SELECt】状态下按【实验选择】键,显示【ES-_ _

24、】输入08或8,按【确认】键,显示为【ES08】,再按下【确认】键。(3) 监控显示为【CtL1=_】,输入1显示【CtL1_1】,按【确认】。(4) 监控显示【U-Addr】,此时输入【000000】6位二进制数表示的微地址,然后按【确认】键,监控指示灯显示【U_CodE】,显示这时输入微代码【007F88】,注意输入微代码的顺序,先右后左。按【确认】键那么显示【PULSE】,按【单步】完成一条微代码的输入。(5) 监控重新显示【U-Addr】提示输入表4第二条微代码地址。按照上面的方法输入表4微代码,观察微代码与微地址显示灯的对应关系注意输入微代码的顺序是由右至左。表4 微代码表微地址八进

25、制微地址二进制微代码十六进制00000000007F8801000001005B4202000010016FFD06000110015FE507000111015FE510001000005B4A11001001005B4C12001010014FFB13001011007FC11400110001CFFC20010000005B6522010010005B4723010011005B462501010102F5C127010111018FC1300110000001C1310110010041EA320110100041EC330110110041F2340111000041F3350111

26、010041F6360111103071F7370111113001F9401000000379C141100001010FC142100010011F4145100101007F20521010100029EB531010119403C1541011000029ED551011013003C1621100100003C1631100110025F565110101B803C1661101100C03C167110111207DF870111000000DC171111001107DFA72111010000DC17311101106F3C874111100FF73C975111101016E

27、106.3读微代码及校验微代码:(3) 先将开关K1K2K3K4拨到读状态即K1 off、K2 off、K3 on、K4 off,按【RESET】按钮对单片机复位,使监控指示灯滚动显示【CLASS SELECt】状态。(4) 按【实验选择】键,显示【ES-_ _ 】输入08或8,按【确认】键,显示【ES08】。再按【确认】。(5) 监控显示【CtL1=_】时,输入2,按【确认】显示【U_Addr】 ,此时输入6位二进制微地址,进入读代码状态。再按【确认】显示【PULSE】,此时按【单步】键,显示【U_Addr】,微地址指示灯显示输入的微地址,微代码显示电路上显示该地址对应的微代码,至此完成一条

28、微指令的读过程。(6) 对照表3表检查微代码是否有错误,如有错误,可按步骤2重新输入微代码。6.4写机器指令(1) 先将K1K2K3K4拨到运行状态即K1 on、K2 off、K3 on、K4 off,按【RESET】按钮对单片机复位,使监控指示灯滚动显示【CLASS SELECt】状态。(2) 按【实验选择】键,显示【ES-_ _ 】输入08或8,按【确认】键,显示【ES08】,再按【确认】。(3) 监控显示【CtL1=_】,按【取消】键,监控指示灯显示【CtL2=_】,输入1显示【CtL2_1】表示进入对机器指令操作状态,此时拨动CLR清零开关在控制开关电路上,注意对应的JUI应短接对地址

29、存放器、指令存放器清零。确定清零后,按【确认】显示闪烁【PULSE】。连续按【单步】键,当微地址显示灯显示“001100时,按【确认】键,监控指示灯显示【data】,提示输入机器指令“48或“0048两位或4位十六进制数,输入后按【确认】,显示【PULSE】,再按【单步】,微地址显示灯显示“111100,数据总线显示灯显示“0000000001001000至此完成第一条机器指令。(4) 再连续按【单步】,微地址显示灯显示“001100时,按【确认】输入第二条机器指令。依此规律逐条输入表5的机器指令,输完后,可连续按【取消】或【RESET】键退出写机器指令状态。表5 机器指令表地址十六进制机器指

30、令十六进制0000480100050200010300940400F00500D00600050700820800460900080A00006.5读机器指令及校验机器指令:在监控指示灯显示【CtL2=_】状态下,输入2,显示【CtL2_2】,表示进入读机器指令状态,按步骤4的方法拨动CLR开关对地址存放器和指令存放器进行清零,然后按【确认】键,显示【PULSE】,连续按【单步】键,微地址显示灯显示从“000000开始,然后按“001000、 “001010 、“111011方式循环显示。当微地址灯再次显示为“001000时,输出显示数码管上显示写入的机器指令。读的过程注意微地址显示灯,地址显

31、示灯和数据总线指示灯的对应关系。如果发现机器指令有误,那么需重新输入机器指令。注意:机器指令存放在RAM里,掉电丧失,故断电后需重新输入。6.6运行程序在监控指示灯显示【CtL2=_】状态下,输入3,显示【CtL2_3】,表示进入运行机器指令状态,按步骤4的方法拨动CLR开关对地址存放器和指令存放器进行清零,使程序入口地址为00H,可以【单步】运行程序也可以【全速】运行,运行过程中提示输入相应的量,运行结束后从输出显示电路上观察结果。图6-1电路连接图七、测试源程序及结果分析(1) 开始执行地址为00H的指令,即IN Ax,KIN。结果:从键盘输入1111H。(2) 执行地址为01H的指令,即

32、MOV Bx,01H。结果:Bx = 0001H。(3) 执行地址为03H的指令,即ADD Ax,Bx。结果:Ax = 1112H。(4) 执行地址为04H的指令,即ROL Ax。结果:Ax = 2224H。(5) 执行地址为05H的指令,即NOT Ax。结果:Ax = DDDBH。(6) 执行地址为06H的指令,即MOV BX,01H。结果:Bx = 05H。(7) 执行地址为08H的指令,即MOV CX,AX。结果:Cx = DDDBH。(8) 执行地址为09H的指令,即OUT DISP,Cx。结果:显示Cx。(9) 执行地址为0AH和0BH的指令,使程序跳转到地址为00H处,使程序可以循

33、环执行。通过实验测试,输入1111H时,输出DDDBH。验证了结果的正确性。八、认识体会整个设计通过了软件和硬件上的调试。我想这对于自己以后的学习和工作都会有很大的帮助。在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。对于教材管理系统,其程序是比拟简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此在整个设计过程中大局部时间是用在程序上面的。很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对系统的结构很熟悉。因此可以说系统的设计是软件和硬件的结合,二者是密不可分的。通过这次课程设计我也发现了自身存在的缺乏之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。九、参考文献1. 唐朔飞. 计算机组成原理第二版. 北京:高等教育出版社,2016.12. 计算机组成原理实验系统实验指导书

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com