组成原理课程设计-模型机设计.doc

上传人:爱问知识人 文档编号:3290949 上传时间:2019-08-08 格式:DOC 页数:15 大小:1.01MB
返回 下载 相关 举报
组成原理课程设计-模型机设计.doc_第1页
第1页 / 共15页
组成原理课程设计-模型机设计.doc_第2页
第2页 / 共15页
组成原理课程设计-模型机设计.doc_第3页
第3页 / 共15页
组成原理课程设计-模型机设计.doc_第4页
第4页 / 共15页
组成原理课程设计-模型机设计.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《组成原理课程设计-模型机设计.doc》由会员分享,可在线阅读,更多相关《组成原理课程设计-模型机设计.doc(15页珍藏版)》请在三一文库上搜索。

1、河南科技大学课 程 设 计 说 明 书课程名称 组成原理课程设计 题 目 模型机设计 院 系 班 级 学生姓名 指导教师 日 期 课程设计任务书(指导教师填写)课程设计名称 组成原理课程设计 专业班级 电信科07 设计题目 模型机设计 一、 课程设计目的1.掌握整机动态工作过程2.了解微程序控制器的设计,构建指令系统3.组建模型机,编写应用程序进行调试二、设计内容、技术条件和要求1.设计内容(1)设计指令系统(2)编写微程序(3)实验接线(4)编写应用程序,选择实现下列要求的一种功能输入两个一位十进制数,计算两数之和,并以BCD码输出输入一个一位十进制数,将其扩大5倍后以BCD码输出输入一个两

2、位十进制数,求其负值的补码输入一个两位十进制数,输出八进制结果输入几个数,统计大于10的数的个数输入几个数,找出最大数2.设计要求(1)指令在8条以上(2)寻址方式包括:寄存器寻址、直接寻址、立即数寻址(3)数据由键盘输入(4)由数码管显示数据三、时间进度安排2010-6-21:布置题目2010-6-22:熟悉实验原理,编写微程序和应用程序2010-6-232010-7-1:实验调试2010-7-22010-7-4:编写课程设计报告四、主要参考文献1.张新荣,于瑞国.计算机组成原理.天津大学出版社2.白中英.计算机组成原理.科学出版社指导教师签字: 2010年 6 月 20 日模型机设计一、设

3、计目的1.掌握整机动态工作过程2.了解微程序控制器的设计,构建指令系统3.组建模型机,编写应用程序进行调试二、设计器材 EL-JY-II型计算机组成原理实验系统一套,排线若干。三、设计要求(1)指令在8条以上(2)寻址方式包括:寄存器寻址、直接寻址、立即数寻址(3)数据由键盘输入(4)由数码管显示结果四、模型机结构图1模型机结构框图图1中运算器ALU由U7U10四片74LS181构成,暂存器1由U3、U4两片74LS273构成,暂存器2由U5、U6两片74LS273构成。微控器部分控存由U13U15三片2816构成。除此之外,CPU的其它部分都由EP1K10集成(其原理见系统介绍部分)。存储器

4、部分由两片6116构成16位存储器,地址总线只有低八位有效,因而其存储空间为00HFFH。输出设备由底板上的四个LED数码管及其译码、驱动电路构成,当D-G和W/R均为低电平时将数据总线的数据送入数码管显示。在开关方式下,输入设备由16位电平开关及两个三态传输芯片74LS244构成,当DIJ-G为低电平时将16位开关状态送上数据总线。在键盘方式或联机方式下,数据可由键盘或串口输入,然后由监控程序直接送上数据总线,因而外加的数据输入电路可以不用。注:本系统的数据总线为16位,指令、地址和程序计数器均为8位。当数据总线上的数据打入指令寄存器、地址寄存器和程序计数器时,只有低8位有效。五、指令编码及

5、微程序1数据格式本实验计算机采用定点补码表示法表示数据,字长为16位,其格式如下:1514 13 0符号尾 数其中第16位为符号位,数值表示范围是:-32768X32767。2指令格式(1)算术逻辑指令设计9条单字长算术逻辑指令,寻址方式采用寄存器直接寻址。其格式如下:7 6 5 43 21 0OP-CODErsrd其中OP-CODE为操作码,rs为源寄存器,rd为目的寄存器,并规定:OP-CODE011110001001101010111100110111101111指令CLRMOVADDSUBINCANDNOTRORROLrs或rd选定寄存器00Ax01Bx10Cx9条算术逻辑指令的名称、

6、功能和具体格式见表1。(2)存储器访问及转移指令 存储器的访问有两种,即存数和取数。它们都使用助记符MOV,但其操作码不同。转移指令只有一种,即无条件转移(JMP)。指令格式如下:7 65 43 21 000MOP-CODErdD其中OP-CODE为操作码,rd为寄存器。M为寻址模式,D随M的不同其定义也不相同,如下表所示:OP-CODE000110指令说明写存储器读存储器转移指令寻址模式M有效地址ED定义说 明00E=(PC)+1立即数立即寻址10E=D直接地址直接寻址11E=100H +D直接地址扩展直接寻址注:扩展直接寻址用于面包板上扩展的存储器的寻址。(3)I/O指令 输入(IN)和输

7、出(OUT)指令采用单字节指令,其格式如下:7 6 5 43 21 0OP-CODEaddrrd其中,当OP-CODE=0100且addr=10时,从“数据输入电路”中的开关组输入数据;当OP-CODE=0100且addr=01时,将数据送到“输出显示电路”中的数码管显示。3指令系统有14条基本指令,其中算术逻辑指令8条,访问内存指令和程序控制指令4条。输入输出指令2条。表1列出了各条指令的格式、汇编符号和指令功能。表1 指令格式汇编符号指令的格式功 能MOV rd,rs1000 rs rdrsrdADD rd,rs1001 rs rdrs+rdrdSUB rd,rs1010 rs rdrd-

8、rsrdINC rd1011 rd rdrd+1rdAND rd,rs1100 rs rdrsrdrdNOT rd1101 rd rd/rdrdROR rd1110 rd rdrdROL rd1111 rd rdrdMOV D,rd00 10 00 rdrdDDMOV rd, D00 10 01 rdDrdDMOV rd,D00 00 01 rdDrdDJMP D00 00 10 00DPCDIN rd, KIN0100 10 rdKINrdOUT DISP,rd0100 01 rdrdDISP 4设计微代码微程序设计的关键技术之一是处理好每条微指令的下地址,以保证程序正确高效地进行。本系统采

9、用分段编码的指令格式,采用断定方式确定下一条微指令的地址。控制场 下地址场微指令寄存器MIR微地址形成电路控存CM微操作控制信号指令操作码状态条件微指令微地址图2 断定方式微程序控制部件示图每条微指令由24位组成,其控制位顺序如下:24232221201918171615 14 1312 11 109 8 7654321S3S2S1S0MCnWE1A1BF1F2F3uA5uA4uA3uA2uA1uA0MS24MS16对应于微指令的第2416位,S3S2S1S0MCn为运算器的方式控制, WE为外部器件的读写信号,1表示写,0表示读;控制总线上的WR为外部读写控制电路的输出,其控制电路为: 图3

10、控制电路1A、1B用于选通外部器件,通常接至底板IO控制电路的1A1B端,四个输出Y0Y1Y2Y3接外部器件的片选端。(注:Y3被系统占用,用于输入中断,Y0Y1Y2能被用户使用)。I/O控制电路由一片74LS139构成,用于为外部器件提供选通信号。其原理和逻辑关系如下图所示:图4 I/O控制电路输 入输 出1A1BY0Y1Y2Y3000111101011011101111110微指令中的uA5-uA0为6位的后续微地址。、三个字段的编码方案如表2:表2 、编码方案F1字段F2字段F3字段15 14 13选择12 11 10选择9 8 7选择0 0 0LRi0 0 0RAG0 0 0P10 0

11、 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 0P41 1 1无操作1 1 1无操作1 1 1无操作 MS15MS13对应于微指令中的F1,经锁存译码后产生6个输出信号:LRi、LDR1、LDR2、LDIR、LOAD、LAR。其中LDR1、LDR2为运算器的两个锁存控制;LDIR为指令寄存器的锁存控制;LRi为寄存器堆的写控制,它与指令寄存器的第0位和第1位

12、共同决定对哪个寄存器进行写操作;LOAD为程序计数器的置数控制,LAR为地址寄存器的锁存控制(见系统介绍中程序计数器和地址寄存器电路)。以上6个输出信号均为1有效。MS12MS10对应于微指令中的F2,经锁存译码后产生6个输出信号:RAG、RBG、RCG、299-G、ALU-G、PC-G。其中RAG、RBG、RCG分别为寄存器Ax、Bx、Cx的输出控制(见系统介绍中寄存器堆电路);299-G为移位寄存器的输出控制;ALU-G为运算器的输出控制;PC-G为程序计数器的输出控制(见系统介绍中程序计数器和地址寄存器电路)。以上信号均为0有效。移位运算实验电路结构如图5所示: 图5 移位运算器电路结构

13、功能由S1、S0、M控制,具体功能如下表: G-299S1S0MT4功 能000保持0100循环右移0101带进位循环右移0010循环左移0011带进位循环左移111置数(进位保持)0110置数(进位清零)0111置数(进位置1)MS9MS7对应于微指令中的F3,经锁存译码后产生6个输出信号:P1、P2、P3、P4、AR、LPC。其中P1、P2、P3、P4位测试字,其功能是对机器指令进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支和循环运行;AR为运算器的进位输出控制;LPC为程序计数器的时钟控制。以上信号均为1有效。六、微程序设计流程存储器读操作(MRD):拨动清零开关CL

14、R对地址、指令寄存器清零后,指令译码输入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,由开关来控制。系统涉及到的微程序流

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

16、,这是真正的指令执行过程。在所有机器指令的执行过程中,“取指”和“译码”是必不可少的,而且微指令执行的操作也是相同的,这些微指令称为公用微指令,对应于图9中01、02、75地址(8进制)的微指令。75地址为“译码”微指令,该微指令的操作为P(1)测试,测试结果出现多路分支。本实验用指令寄存器的前4位(I7-I4)作为测试条件,出现12路分支,占用12个固定微地址单元。如I7I4相同,则还需进行P2测试,以指令寄存器的I3、I2位作为测试条件,以区分不同的指令,如MOV指令和IN、OUT指令。控制开关13P4测试PCAR,PC1(D_INPUT)D_BUS LT1LT1 RAM00MWE(10)

17、1474PCAR,PC1RAM D_BUS LT1LT1 LED1012730111MRD(00)RUN(11) 图6 微程序流程图(1)图7 微程序流程图(2)六、应用程序加法器:00 0048;IN AX,KIN01 0049;IN BX,KIN02 0091;ADD BX,AX03 0021;MOV00FF,BX04 00FF;05 0004;MOV AX,9H06 009H;07 00A4;SUB AX,BX08 00F0;ROL AX09 0005;MOV BX,01HA 001H;B 00C4;AND AX,BXC 00F0;ROL AXD 0005;MOV BX,0E 0000;

18、F 0091;ADD BX,AX10 00F0;ROL AX11 0091;ADD BX,AX12 0024;MOV AX,00FF13 00FF;14 0094;ADD AX,BX15 0082;MOV CX,AX16 0046;OUT DISP,CX17 000818 0000比较2数大小:00 0048;IN AX,KIN01 0049;IN BX,KIN02 0021;MOV 00FF,BX03 OOFF;04 0081;MOV BX,AX05 0021;MOV 00FE,BX06 00FE;07 0025;MOV BX,00FF08 OOFF;09 004A;SUB AX,BX0A

19、00O5;MOV BX,01H0B OOO10C 00C4;AND AX,BX0D OO81;MOV BX,AXOE 0004;MOV AX,OOH0F 0000;10 OOA4;SUB AX,BX11 0081;MOV BX,AX12 0021;MOV OOFB,BX13 00FB;14 00D0;NOT AX15 OO81;MOV BX,AX16 0024;MOV AX,OOFE17 OOFE;18 00C1;AND BX,AX19 0021;MOV 00FC,BX1A 00FC;1B OO24;MOV AX,0OFF1C OOFF;1D 0025;MOV BX,00FB1E 00FB;1

20、F 00C1;AND BX,AX20 0024;MOV AX,OOFC21 00FC;22 0094;ADD AX,BX23 0082;MOV CX,AX24 0046;OUT DISP,CX25 0008;26 0000;七、接线图图8实验连线图八、调试及实验结果在按照实验连线图进行连线之后,首先完成的是两个课程设计指导书上的验证性实验。其中包括一个写微代码和一个写机器指令的实验。前者验证了试验仪可以正常的写入和读取导入的微指令。后者验证了试验仪可以正常的运行导入的机器指令并得出正确的结果。两个验证性实验的成功基本上就说明了连线的正确。之后进行了课程设计任务书中的设计内容。我组进行的设计是设

21、计要求中的和,即求两十进制数和,并以BCD码输出;和比较两数大小,并输出其中较大值的实验。其中,在进行加法实验的时候比较顺利,在将编写的机器指令输入之后运行,输出的结果正确的等于了两个输入十进制数之和,并且是以十进制的形式输出。这也就验证了所设计机器指令的正确性。在进行求较大值的实验中,我组的调试过程中遇到了麻烦。在对所编写机器指令运行,并测试了多组数据之后,我们发现每次的输出结果并不等于两数中的最大值,而是等于两数之和。于是我们对所设计的机器指令进行了检查,结果发现在地址“1F”处,本应写成“00C1”的指令却写成了“0091”,即将AND指令误写成了ADD指令,因此发生了错误。在对这个编写

22、错误进行修改之后,我们通过多组数据比较,验证了实验结果的正确。九、结果分析经过调试与验证,所设计的机器指令完成了设计内容,达到了设计要求。十、总结在这些天的课程设计中,通过老师提供的设计资料,查阅相关资料,与同组互相讨论,咨询老师相关问题等途径,我组最终按要求完成了这次模拟机设计,达到了设计的要求。但更重要的是,通过这次课程设计,我们学习到了更多相关的知识和技能。如微程序和微指令的对应关系及转化方式,微指令对运算器、程序计数器、指令寄存器、地址寄存器、移位寄存器和存储器等的控制,以及很多指令设计的思路和调试的技巧。这都是平时在书本学习中很难理解或无法接触到的东西。这使得我们在计算机组成原理上收获颇丰,为我们能清楚的了解计算机的基本组成、基本原理和设计步骤、设计思路和调试步骤,最终能清晰的建立起整机概念,为独立完成计算机设计奠定了基础。课程设计题目模型机设计姓名张朔学号07104100135专业班级电信科071成绩评定项 目分 值评 分 要 素成 绩设计方案30接线图、接线表、指令设计、微程序设计安装调试30接线加电、指令调试、应用程序调试设计报告20内容完整、条理清晰,表述清楚、分析总结、图文并茂、答辩20能简明扼要地阐述设计的主要内容,能准确流利地回答各种问题总 成 绩 指导教师评语: 指导教师签名: 年 月 日课程设计指导教师评分表

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1