复杂模型机设计计算机组成原理课程设计_第1页
复杂模型机设计计算机组成原理课程设计_第2页
复杂模型机设计计算机组成原理课程设计_第3页
免费预览已结束,剩余28页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机组成原理课程设计任务书班级:学号:姓名:成绩:电子与信息工程学院计算机科学系目录一、设计题目 1二、模型机功能概述 1三、总体设计 23.1 模型机结构: 23.2 微程序控制电路 33.3 指令译码器电路 7四、详细设计 84.1 数据格式: 84.2 指令格式: 84.3 指令系统 1.0.4.4 设计微代码 1.2.五、实验代码: 1.6.六、实验步骤: 1.9.6.1 实验连线: 1.9.6.2 写微代码: 1.9.6.3 读微代码与校验微代码: 2.2.6.4 写机器指令 2.2.6.5 读机器指令与校验机器指令: 2.3.6.6 运行程序 2.4.七、测试源程序与结果分析 2

2、.5.八、认识体会 2.6.九、参考文献 2.6.复杂模型机设计计算机组成原理课程设计计算机组成原理课程设计报告书一、设计题目复杂模型机设计二、模型机功能概述以 EL-JY-II 计算机组成原理教学实验系统为平台,根据模型机的结构,与内 部的指令译码电路、微指令译码电路与微指令格式等设计一套指令系统, 指令系 统中包括传送类指令、算术运算指令、逻辑运算指令、输入 / 输出与转移指令; 寻址方式包括寄存器寻址、 直接寻址与立即寻址等。设计机器指令格式以与微程 序,按照模型机数据通路设计实现机器指令功能的微程序,装载代码到 EL-JY-II 实验系统中并运行。系统采用“基板 + 扩展板( CPU

3、板)”形式;系统公共部分如数据输入 /输出 和显示、单片机控制、与 PC 机通讯等电路放置在基板上,微程序控制器、运算 器、各种寄存器、译码器等电路放置在扩展板上。此模型机是由运算器, 控制器,存储器,输入设备, 输出设备五大部分组成。1. 运算器又是有 299 ,74LS181 完成控制信号功能的算逻部件, 暂存器 LDR1, LDR2 ,与三个通用寄存器 Ax,Bx,Cx 等组成。2. 控制器由程序计数器 PC、指令寄存器、地址寄存器、时序电路、控制存储 器与相应的译码电路组成。3. 存储器 RAM 是通过 CE 和 W/R 两个微命令来完成数据和程序的的存放功 能的。复杂模型机设计计算机

4、组成原理课程设计4. 输出设备有两位 LED 数码管和 W/R 控制完成的。三、总体设计3.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

5、和W/R均为低电平时将数据总线的数据送入数码管显示。在幵关方式下,输入设备由16位电平幵关与两个三态缓冲芯片74LS244构成,当DIJ-G为低电平时位机输入,然后由监控程序直接送上数据总线,因而外加的数据输入电路可以不图1模型机结构框图3.2微程序控制电路微程序控制电路电路中,由三片 2816作为24位微程序存储器,EP1K10复杂模型机设计计算机组成原理课程设计产生控制逻辑。幵关 K1、K2、K3的不同组合控制微程序的读、写和运行,六个黄色LED为微地址指示灯。微控器原理如下图(除2816、74LS245和74LS374外,其余芯片功能均由 EP1K10实现。不详之处请查阅 EP1K10的

6、源程序)。以 微程序的运行为例:在 T2时刻,将MS24 MS1的24位微程序打入微指令寄 存器,然后由译码电路对 MS24 MS7进行译码,产生地址寄存器、指令寄存 器等等电路的控制信号。MS6 MS1指示下一个微地址,在 T3时刻,由机器指令译码器产生的强制微地址信号对MS6 MS1微地址的某几位强行置位,形成下一个微地址输出。微控器的外部接口有:uAJ1、LDR01、LDRO2、ALU_GOUT、G_299OUT、AROUT、STATUS、A01、B01、WEO、WEI、 LARI。在读、写微程序时,uAJ1用于从外部输入微地址;LDRO1、LDRO2、ALU_GOUT、G_299OUT

7、、AROUT、STATUS为运算器电路的控制信号,只要将它们接至运算器电路相应的接口上(STATUS接S3 S1MCN )就能实现微程 序对运算器的控制。AO1、BO1通常接至底板I/O控制电路的1A1B上,用于 外部I/O设备的选通控制。 WEO为微控器的读写输出, WEI为外部读写控制电 路的输入,控制总线上的 WR为外部读写控制电路的输出,其控制电路为:图2控制电路通常将WEO与WEI相连,实现微程序对外部读写的控制。LARI为地址控制器的输入,以下另作介绍。除此以外其他控制信号都已接至相应的控制电路。nxnazsaiBaB 驭HI-一當 /E- xl 勺廿弋rdfrtT&.h!

8、4 L 一 益ttossr竝fccl竝甜皿也Mlclv¥rl3?mrLH:,器誘!»席»盅 芒倉w *3 ssss轄 sssi疸 swif>-"G»IK*blITY YVY- £.* i IJyiiJS>:s sss44ilLKJ*73.3指令译码器电路指令译码器电路由EP1K10实现,其原理如下图所示。其中P1、P2、P3、P4、LRi、RAG、RBG、RCG为微程序译码产生的控制信号,T3为时钟,17 10为指令寄存器的输出IR,CA1、CA2为机器指令的读、写、运行的控制端,已 分别接至控制总线的 E4和E5o SA

9、4 SA0为强制微地址信号,输出至微控制器 电路;LDR2 LDR0输出至寄存器堆电路的 LR,R0B、R1B、R2B输出至寄存 器堆电路的RGo图3-2微控制器电路l=-fZrnVI! g旷仙0412iY23Z:+ bBKAIE"V-BNAlHUNtl7 IZHAZ*1 I3HN£iJSiHhirilEINijMH.E JUL四、详细设计4.1数据格式:本实验计算机采用定点补码表示法表示数据,字长为16位,其格式如下:151413 0符尾号数其中第16位为符号位,数值表示范围是:-32768 <Xv327674.2指令格式:1)算术逻辑指令设计9条单字长算术逻辑指令

10、,寻址方式采用寄存器直接寻址。其格式如Rs 或 rd选定寄存 器00Ax01Bx10Cx9条算术逻辑指令的名称、功能和具体格式见表8-2。2)存储器访问与转移指令存储器的访问有两种,即存数和取数。它们都使用助记符MOV,但其操作码不同。转移指令只有一种,即无条件转移(JMP )。指令格式如下:76543 21000MOP-CODErdD其中OP-CODE为操作码,rd为寄存器。M为寻址模式,D随M的不同其 定义也不相同,如下表所示:OP-CODE000110指令说明与存储器读存储器转移指令寻址模式M有效地址ED定义说明00E= (PC) +1立即数立即寻址10E=D直接地址直接寻址3)I/O指

11、令输入(IN )和输出(OUT )指令采用单字节指令,其格式如下:7654321 0OP-CODEaddrrd其中,当OP-CODE=0100 且addr=10 时,从“数据输入电路”中的幵关 组输入数据;当0P-C0DE=0100 且addr=01时,将数据送到“输出显示电路” 中的数码管显示。4.3指令系统本实验共有14条基本指令,其中算术逻辑指令 8条,访问内存指令和程序 控制指令4条。输入输出指令2条。表1列出了各条指令的格式、汇编符号和 指令功能。表1指令格式汇编符号指令的格式功能MOV rd , rsADD rd , rsSUB rd, rs1000rs>rsrd>rs

12、+rdrdrd-rsrd1001rsrd1010rsINC rdAND rd,NOT rdROR rdrs| 1011rd1100rsrd1101rdrd1110rdrd_ROL rd1111rdrd»rd+1rdrs Ard rdrd rdrd1 uMOV D,MOVDrsrd,00 10 00Dl001001rsrdrs DD rdMOVDrd,00 00 01Drdrd4.4设计微代码设计三个控制操作微程序:存储器读操作(MRD ):拨动清零幵关CLR对地址、指令寄存器清零后,指 令译码输入CA1、CA2为“ 00 ”时,按“单步”键,可对 RAM连续读操作。存储器写操作(MW

13、E):拨动清零幵关CLR对地址、指令寄存器清零后, 指令译码输入CA1、CA2为“10”时,按“单步”键,可对 RAM连续写操作。启动程序(RUN):拨动幵关CLR对地址、指令寄存器清零后,指令译码输 入CA1、CA2为“ 11 ”时,按“单步”键,即可转入到第 01号“取指”微指 令,启动程序运行。注:CA1、CA2由控制总线的E4、E5给出。键盘操作方式时由监控程序直 接对E4、E5赋值,无需接线。幵关方式时可将 E4、E5接至控制幵关CA1、CA2, 由幵关来控制。本系统设计的微程序字长共 24位,其控制位顺序如下:2423222120191817161514131211109 8765

14、4321uuuuuuSSCW11S3S210MnEABF1F2F3AAAAAA543210F1、F2、F3二个字段的编码方案如表2 :表2编码方案F1字段F2字段F3字段15 1413选择12 11 10选择987选择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 41 1 1无操作1 1 1无操作1

15、 1 1无操作系统涉与到的微程序流程见图 2 (图中各方框内为微指令所执行的操作,方 框外的标号为该条微指令所处的八进制微地址)。控制操作为P4测试,它以CA1、CA2作为测试条件,出现了写机器指令、读机器指令和运行机器指令3路分支,占用3个固定微地址单元。当分支微地址单元固定后, 剩下的其它地方就可以一 条微指令占用控存一个微地址单元随意填写。机器指令的执行过程如下: 首先将指令在外存储器的地址送上地址总线,然后将该地址上的指令传送至指令寄存器,这就是“取指”过程。之后必须对操作 码进行P1测试,根据指令的译码将后续微地址中的某几位强制置位,使下一条 微指令指向相应的微程序首地址,这就是“译

16、码”过程(其原理见图5-4 )。然后才顺序执行该段微程序,这是真正的指令执行过程。在所有机器指令的执行过程中,“取指”和“译码”是必不可少的,而且微 指令执行的操作也是相同的,这些微指令称为公用微指令,对应于图8-2中01、 02、75地址的微指令。75地址为“译码”微指令,该微指令的操作为P( 1)测试,测试结果出现多路分支。本实验用指令寄存器的前4位(17-14 )作为测试条件,出现12路分支,占用12个固定微地址单元。如I7 14相同,则还需 进行P2测试,以指令寄存器的13、I2位作为测试条件,以区分不同的指令,如 MOV指令和IN、OUT指表3即为将图2的微程序流程按微程序格式转化而

17、成 的二进制微代码表。OUINOV 035IJBJMC1'<K-lh FC+1_1 Jillg-IgJT-或 EV;9VS->vd "丄I问:LF014l 1 >B X V 3 B 3iJS->171id-m唸J 3 J3->LT1L I. r r: 1 c: Evs->iri|J JT7D DWI.3IJS->LI1m->D_iinis;1Ird-> aieiE 111' IV "t4t+ B6T5T輛1iyii D 1VJ=>LT2' - :i ELlId B'->LT2二

18、 BUA”包TS->0 E'-SIl弓灼VI2Xll'C->T J匸Tf刑T 5*t 55I G5川価LTimTkiTimqm冲l丁严FOE與* 1C BU5-> td|01TOVQQJjp:Elr£-p 血的K1T-3 E'.TSUS-Jldt 4£图2的微程序流程00MRD(OO)RUN(11)101201LT1 RAM 74LT1 LED 73图3微程序流程图五、实验代码:按程序流程图译出适合本实验系统所有机器指令的微代码,加深对较完整的模型机的认识。这里提供以下实验程序:地址(二进制) 指令(二进制)助记符0000 0000

19、0000 00010000 00100000 00110000 01000100 10000000 01010000 00011001 01001111 0000IN Ax, KIN-“幵关输入”Ax*MOV Bx, 01H01HBx说明ADD Ax ,BxAx+BxROL AxAx0000 01011101 0000NOT Ax取反0000 01100010 0101MOV Bx,01H直接寻址0000 01110000 00010000 10001000 0010MOV Cx, AxAxCx0000 10010100 0110OUT DISP, Cx*CxLED0000 10100000

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

21、000000001011011111111110100011001011111111001010001110000000101011111111001010010000010110110100101000100100101101101001100001010000000010100111111111011001011001111111110000010011001110011111111110001000000101101101100101010010001011011010001110100110010110110100011001010100000010111101011100000101

22、011111000111111000001011000000000001110000010110010010000011110101001101000100000111101100011011001000001111100100111000010000011111001101110100100000111110110011110001110001111101110111110000000011111100110000000000011011110011100000110000100000001000011111100000110001000011111010000011001010000000

23、001111111001000001010100001001011110101110101100000001111000001101100000101001111011011011010110000000000011110000011100100000000111100000111001100010010111110101110101000000011110000011101100000000111100000111011100100000011111011111100011100000000110111000001111001000100000111110111111010111010000

24、00110111000001111011000001101111001111001000111100111111110111001111001001000000010110111000111101010000六、实验步骤:单片机键盘操作方式实验。在进行单片机键盘控制实验时,必须把K4幵关置于“ OFF”状态,否则系统处于自锁状态,无法进行实验。6.1实验连线:实验连线图如图8-3所示。连线时应按如下方法:对于横排座,应使排线插头上的箭头面向自己插在横排座上;对于竖排座,应使排线插头上的箭头面向左边插在竖排座上。6.2写微代码:将幵关K1K2K3K4拨到写状态即 K1 off、K2 on、K3

25、off、K4 off,其中K1、K2、K3在微程序控制电路,K4在24位微代码输入与显示电路上。 在监控指示灯滚动显示【CLASS SELECt】状态下按【实验选择】键,显示【ES-_】输入08或8,按【确认】键,显示为【ES08】,再按下【确认】键。监控显示为【CtL1=_】,输入1显示【CtL1_1】,按【确认】。监控显示【U-Addr】,此时输入【000000】6位二进制数表示的微地址,然 后按【确认】键,监控指示灯显示 【U_CodE】,显示这时输入微代码 【007F88】, 注意输入微代码的顺序,先右后左。按【确认】键则显示【PULSE】,按【单步】完成一条微代码的输入复杂模型机设计

26、计算机组成原理课程设计(5)监控重新显示【U-Addr】提示输入表4第二条微代码地址。按照上面的方法输入表4微代码,观察微代码与微地址显示灯的对应关系(注意输入微代码的 顺序是由右至左)表4微代码表微地址(八进制)微地址(二进制)微代码(十六进制)00000000007F8801000001005B4202000010016FFD06000110015FE507000111015FE510001000005B4A11001001005B4C12001010014FFC11400110001CFFC20010000005B652223252730313233343536

27、3740414245525354556263010010010011010101010111011000011001011010011011011100011101011110011111100000100001100010100101101010101011101100101101110010110011005B47005B46 02F5C1 018FC1 0001C1 0041EA 0041EC 0041F2 0041F3 0041F6 3071F7 3001F9 0379C1 010FC1 011F41 007F20 0029EB 9403C1 0029ED 3003C1 0003C1

28、0025F565110101B803C1661101100C03C167110111207DF870111000000DC171111001107DFA72111010000D3C874111100FF73C975111101016E106.3读微代码与校验微代码:先将幵关 K1K2K3K4 拨到读状态即 K1 off、K2 off、K3 on、K4 off ,按【RESET按钮对单片机复位,使监控指示灯滚动显示【 CLASS SELECt】状态。 按【实验选择】键,显示【ES-_ _】输入08或8,按【确认】键,显示【ES08】。 再按【确认】。 监控显示【CtL1

29、=_】时,输入2,按【确认】显示【U_Addr】,此时输入 6位二进制微地址,进入读代码状态。再按【确认】显示【 PULSE,此时按【单 步】键,显示【U_Addr ,微地址指示灯显示输入的微地址,微代码显示电路上 显示该地址对应的微代码,至此完成一条微指令的读过程。 对照表3表检查微代码是否有错误,如有错误,可按步骤2重新输入微代码。6.4写机器指令(1) 先将 K1K2K3K4 拨到运行状态即 K1 on、K2 off、K3 on、K4 off,按【RESET!按钮对单片机复位,使监控指示灯滚动显示【CLASS SELECt】状态。(2) 按【实验选择】键,显示【ES-_ _】输入08或8

30、,按【确认】键,显示【ES08,再按【确认】。(3) 监控显示【CtL1=_】,按【取消】键,监控指示灯显示【 CtL2=_】,输入1 显示【CtL2_1】表示进入对机器指令操作状态,此时拨动 CLR清零幵关(在控 制幵关电路上,注意对应的 JUI应短接)对地址寄存器、指令寄存器清零。确定 清零后,按【确认】显示闪烁【PULSE】。连续按【单步】键,当微地址显示灯 显示“ 001100 ”时,按【确认】键,监控指示灯显示【data】,提示输入机器指 令“ 48 ”或“ 0048 ”(两位或4位十六进制数),输入后按【确认】,显示【PULSE】, 再按【单步】,微地址显示灯显示“ 111100

31、”,数据总线显示灯显示“ 01000 ” 至此完成第一条机器指令。(4)再连续按【单步】,微地址显示灯显示“ 001100 ”时,按【确认】输入第二 条机器指令。依此规律逐条输入表 5的机器指令,输完后,可连续按【取消】或【RESET键退出写机器指令状态。表5机器指令表地址(十六进制)机器指令(十六进制)0000480100050200010300940400F00500D00600050700820800460900080A00006.5读机器指令与校验机器指令:在监控指示灯显示【CtL2=_】状态下,输入2,显示【CtL2_2 ,表示进入复杂模型机设计计算机组成原理课程设计读机器指令状态,

32、按步骤 4的方法拨动CLR幵关对地址寄存器和指令寄存器进 行清零,然后按【确认】键,显示【PULSE,连续按【单步】键,微地址显示 灯显示从“ 000000 ”幵始,然后按“ 001000 ”、“001010 ”、“111011 ”方式循环显示。当微地址灯再次显示为“001000 ”时,输出显示数码管上显示写入的机器指令。读的过程注意微地址显示灯,地址显示灯和数据总线指示灯的对 应关系。如果发现机器指令有误,则需重新输入机器指令。注意:机器指令存放在 RAM里,掉电丢失,故断电后需重新输入。6.6运行程序在监控指示灯显示【CtL2=_】状态下,输入3,显示【CtL2_3 ,表示进入 运行机器指令状态,按步骤 4的方法拨动CLR幵关对地址寄存器和指令寄存器 进行清零,使程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论