1、计算机组成原理课程设计之组成原理课程设计232020年4月19日文档仅供参考武汉理工大学课 程 设 计 课程名称 计算机组成原理 设计题目 模型机设计与实现 班 级 软件工程0804 学 号 6 姓 名_ 曹旭磊_ 指导教师 田 小 华 日 期 元月16日 课程设计任务书学生姓名: 曹旭磊 专业班级: 软件0804 指导教师: 田小华 工作单位: 计算机学院 题 目: 初始条件:1.完成课程教学与实验 2.TDN-CM计算机组成原理教学实验系统要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.掌握复杂指令系统计算机的微控制器功能与结构特点2.熟悉TDN-CM
2、教学实验系统的微指令格式3.设计五条机器指令,并编写对应的微程序4.在TDN-CM教学实验系统中调试机器指令程序,确认运行结果5.建立复杂指令系统计算机的整机概念模型时间安排: 1.第18周周1(元月7日):全体集中讲解课程设计原理与方法 2.第19周周15(元月1014日):分班实验,调试机器指令程序指导教师签名: 年 元 月 08 日系主任(或责任教师)签名: 年 元 月 日说明书一课程设计题目 01-12学号的同学: 13-24学号的同学: 25-38学号的同学:二课程设计要求完整说明基本模型机的构建方法和操作过程,包括以下内容:基本模型机的实验原理, 绘出数据通路框图微指令格式,微程序
3、流程图, 微指令二进制代码表实验步骤十六进制格式文件实验接线图按照自已的学号,完成在教学实验系统中调试和实现基本模型机用A4规格的复印纸,撰写设计报告1 课程设计目的: 运用和实践计算机组成原理课程中各章的内容,经过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,特别是对硬连线控制器的认识,建立清晰的整机概念。对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。 在掌握部件单元电路实验的基础上,进一步将其组成系统地构造一台基本模型计算机,而且绘制出模型机的数据通路的逻辑框图。2 课程设计设备:T
4、DN-CM计算机组成原理实验系统,排线若干3 课程设计内容: 3.1课程设计原理3.1.1 本课程设计采用六条机器指令:IN,ADD,STA,TRY,OUT,JMP,并依照指令进行相关操作。其指令格式如下: 内容 助计符 说明 0000 0000 IN ”INPUT DEVICE”R0 0001 0000 ADD addr R0+addr R0 0010 0000 STA addr R0addr 0011 0000 OUT addr addrBUS 0100 0000 TRY addr R0(S3S2S1S0MCn)addr R00101 0000 JMP addr addrPC其中IN为单字
5、长(8)位,其余为双字长指令。3.1.2 开关SWA和SWB的定义及数据通路框图如下: 为了向RAM中装入程序和数据,先查写入是否正确,并能启动程序执行,还须设计三台控制台操作。 存储器度操作:拨动总清开关CLR后,控制台开关SWB、SWA为”00”时,按START滚动开关,可对RAM连续手动读操作。 存储器写操作:拨动总清开关CLR后,控制台开关SWB、SWA为”01”时,按START滚动开关,可对RAM连续手动写操作。 启动程序:拨动总清开关CLR后,控制台开关SWB、SWA为”11”时,按START滚动开关,即可转入到第01好”取址”微指令,启动程序运行。 上述三条控制台指令用到的两个开
6、关SWB、SWA的状态设置,其定义如下:SWBSWA控制台指令001011读内存(KRD)写内存(KWE)启动程序(RP)3.1.3设计用到的微指令的格式定义及微程序流程图如下: 微指令格式定义 3.1.4 依照微程序流程图,生成如下指令代码表:微指令代码表微地址S3S2S1S0MCnWEA9A8ABCA5 A0联机微地址微指令内容00Q0 0 0 0 0 0 0 1 10000001000 1 0 0 0 000H018110H01Q0 0 0 0 0 0 0 1 11101101100 0 0 0 1 001H01ED82H02Q0 0 0 0 0 0 0 0 11000000010 0
7、1 0 0 002H00C048H03Q0 0 0 0 0 0 0 0 11100000000 0 0 1 0 003H00E004H04Q0 0 0 0 0 0 0 0 10110000000 0 0 1 0 104H00B005H05Q0 0 0 0 0 0 0 1 10100010000 0 0 1 1 005H01A206H06Q1 0 0 1 0 1 0 1 10011010000 0 0 0 0 106H959A01H07Q0 0 0 0 0 0 0 0 11100000000 0 1 1 0 107H00E00DH10Q0 0 0 0 0 0 0 0 00010000000 0
8、0 0 0 108H001001H11Q0 0 0 0 0 0 0 1 11101101100 0 0 0 1 109H01ED83H12Q0 0 0 0 0 0 0 1 11101101100 0 0 1 1 10AH01ED87H13Q0 0 0 0 0 0 0 1 11101101100 0 1 1 1 00BH01ED8EH14Q0 0 0 0 0 0 0 1 11101101100 1 1 0 1 00CH01ED9AH15Q0 0 0 0 0 0 0 1 11101101100 1 0 1 1 00DH01ED96H16Q0 0 0 0 0 0 0 0 11100000000 0
9、1 1 1 10EH00E00FH17Q0 0 0 0 0 0 0 0 10100000000 1 0 1 0 10FH00A015H20Q0 0 0 0 0 0 0 1 11101101100 1 0 0 1 010H01ED92H21Q0 0 0 0 0 0 0 1 11101101100 1 0 1 0 011H01ED94H22Q0 0 0 0 0 0 0 0 10100001000 1 0 1 1 112H00A117H23Q0 0 0 0 0 0 0 1 10000000000 0 0 0 0 113H018001H24Q0 0 0 0 0 0 0 0 00100000000 1
10、1 0 0 014H00 H25Q0 0 0 0 0 1 1 1 00001010000 0 0 0 0 115H070A01H26Q0 0 0 0 0 0 0 0 11010001100 0 0 0 0 116H00D181H27Q0 0 0 0 0 1 1 1 00001010000 1 0 0 0 017H070A10H30Q0 0 0 0 0 1 1 0 10001011000 1 0 0 0 118H068B11H31Q0 0 0 0 0 0 0 0 00000000000 0 0 0 0 019H000000H32Q0 0 0 0 0 0 0 0 11100000000 1 1 0
11、 1 11AH00E01BH33Q0 0 0 0 0 0 0 0 10110000000 1 1 1 0 01BH00B01CH34Q0 0 0 0 0 0 0 1 10100010000 1 1 1 0 11CH01A21DH35Q0 0 0 0 1 1 0 1 10011010000 0 0 0 0 11DH9D9A05H36Q0 0 0 0 0 0 1 0 10000010000 0 0 0 0 11EH028201H3.1.5 机器指令程序设计:机器指令程序序列地址 内容 助计符 说明 0000 0000 0000 0100 IN R0 ”INPUT DEVICE(班号4)”R0 00
12、00 0001 0001 0000 ADD 0AH,R0 R0+0AH R0 0000 0010 0000 1010 0000 0011 0010 0000 STA R0,0BH R00BH 0000 0100 0000 1011 0000 0101 0011 0000 OUT 0BH 0BH LED 0000 0110 0000 1011 0000 0111 0100 0000 JMP 00H 00H PC 0000 1000 0000 0000 0000 1001 0000 1010 0010 0110 学号(26号同学) 0000 1011 求和结果(班号加学号) 3.2 实验步骤:3.
13、2.1 画出实验接线图如下:3.2.2 实验预备操作步骤:3.2.2.1 按实验接线图接好实验线路3.2.2.2 为微程序控制器编程A将编程开关置为PROM(编程)状态。B将实验板上的”STATE UNIT”中的”STEP”置位为”STEP”,”STOP”置为”RUN”。C. 用二进制模拟开关置微地址MA5-MA0。D在MK24-MK1开关上置微代码,24位开关对应24位显示灯,开关量0亮1灭。E启动时序电路,即将微代码写入到EPROM2816的相应地址单元中。F重复C-E步骤,将微代码表的内容写入2816。G将编程开关设置为READ(校验)状态。H将实验板上的”STATE UNIT”中的”S
14、TEP”置位为”STEP”,”STOP”置为”RUN”。I用二进制模拟开关置好微地址MA5-MA0。J按动”START”键,启动时序电路,读出微代码,观察显示灯MD24-MD1的状态,检查读出的微代码是否与写入的相同如果不同则将开关置为PROM,重新执行编程操作。3.2.3 按如下步骤操作:3.2.3.1 微控器的编程开关拨至RUN,STEPSTEP,STOPRUN3.2.3.2 将微机与实验箱用串口连接,开机进入WINDOWS ,进入D:盘的CM+子目录,运行CMP.EXE,进入实验环境,选用COM1口. 3.2.3.3 选F2:写入机器指令 3.2.3.4 选F3:写微指令3.2.3.5
15、选F6:调试机器指令,运行前将CLK开关:101F1_STEP PM:单步运行机器指令F2_STEP CM: 单步运行微指令F3_EXEC: 连续运行微指令F8_RETURN:退出DEBUG3.2.3.6 记录实验结果 实验outputFBH3.2.3.7 对比理论计算结果 与理论值一致4课程设计总结4.1 给出每条机器指令的微程序: IN指令的微程序01Q:02Q:10Q:01Q:ADD指令的微程序01Q:02Q:11Q:03Q:04Q:05Q:06Q:01Q:STA指令的微程序01Q:02Q:12Q:07Q:15Q:01Q:OUT指令的微程序01Q:02Q:13Q:16Q:17Q:25Q:
16、01Q:TRY指令的微程序01Q:02Q:32Q:33Q:34Q:35Q:01Q:JMP指令的微程序01Q:02Q:15Q:26Q:01Q:IN,ADD,STA,TRY,OUT,JMPIN指令的微程序地址为01Q-02Q-10Q-01QADD指令的微程序地址为01Q-02Q-11Q-03Q-04Q-05Q-06Q-01QSTA指令的微程序地址为01Q-02Q-12Q-07Q-15Q-01QTRY指令的微程序地址为01Q-02Q-14Q-32Q-33Q-34Q-35Q-01QOUT指令的微程序地址为01Q-02Q-13Q-16Q-17Q-25Q-01QJMP指令的微程序地址为01Q-02Q-15
17、Q-26Q-01Q,4.2 给出TRY指令的理论计算过程:功能选择M=1M=0 算术运算S3S2S1S0逻辑运算n=1 无进位n=0 有进位0000F=F=AF=A加10001F=F=A+BF=(A+B)加10010F=BF=+F=(+)加10011F=0F=减1F=00100F=F=A加F= A加加10101F=F=(A+B)加F=(A+B)加加10110F=ABF=A减B减1F= A减B0111F=F=减1F=1000F=+BF=A加ABF=A加AB加11001F=F=A加BF=A加B加11010F=BF=(+) 加ABF=(+) 加AB加11011F=ABF=AB减1F=AB1100F=
18、1F=A加AF=A加A加11101F=+F=(A+B) 加AF=(A+B) 加A加11110F=A+BF=(+) 加AF=(+) 加A加11111F=AF=A减1F=A机器指令TRY的理论计算过程当对应学号为01-16号时;S3S2S1S0=学号-1, MCn=11(逻辑运算)当对应学号为17-32号时;S3S2S1S0=学号-16-1, MCn=01(算术无进位)当对应学号为33-40号时;S3S2S1S0=学号-32-1, MCn=00(算术有进位)软件 0804班,第26号同学, S3S2S1S0=1001, MCn=01,F=(A+B)A=R0=班号+学号= 00000100+0010
19、0110=00101010, B=班号=00000100A+B=00101110对于指令TRY12H,完成逻辑或运算F=00101110B=2EH机器指令序列运行一遍后,13H单元的内容为11111011B=2EH5数据通路逻辑框图的设计 5.1数据通路的总体设计1.计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。2.数据的通路从程序计数器PC的地址送到主存的地址寄存器,根据地址寄存器的内容找到相应的存储单元。3.1存储器中的数据是指令时,那么数据是从RAM送到总线,再从总线送到I
20、R中。3.2存储器中的数据是需要加工的数据时,那么数据是从RAM送到总线,再动总线送到通用寄存器中等待加工。 3.3数据加工过程中,两个数据是从总线上将数据分别分时压入两个暂存器中,等待运算部件的加工,在数据加工完成以后。运算结果是经过三太门送到总线上。三态门的控制时由微控制器来控制。5.2数据通路中涉及原件说明5.2.1运算器 运算器模块主要由两片74LS181、暂存器两片74LS273等构成。其中74LS181可经过控制器相应的控制指令来进行某种运算,具体由S0、S1、 S2、S3、S4、M来决定。T4是它的工作脉冲,正跳变有效。 运算器说明由于运算器处理的数据为2个8位数据,而74LS1
21、81芯片是四位逻辑运算芯片,因此运算器中应该有两个74LS181。其中输入引脚分别为DR1的D0D7和DR0的D0D7.输出引脚为8位经过ALU-B(74LS245)然后连接数据总线。5.2.2程序计数器(PC)及地址寄存器AR程序计数器由两片74LS161(4位二进制计数器)构成地址寄存器AR由一片74LS273(8位D触发器)构成PC-B由一片74LS244(收发器(双向的三态缓冲器)构成5.2.3微指令寄存器(IR) 当存储器中的数据是指令时,那么数据是从RAM送到总线,再从总线送到IR中。微指令寄存器(IR)由一片74LS273构成。其芯片介绍如下5.2数据通路逻辑框图6课程设计心得、
22、经验教训及注意事项经过本次课程设计让我对这一门课程有了更加深刻的认识。同时此次实验对模型机的设计以及原理有了更加理性的认识,并掌握了一些基本的软硬件设计知识并对其进行了基本的运用。在模型机的设计中运用了很多知识,也学习了许多设计技巧。而且巩固了自己Protel 99 SE软件的使用。在实验过程中需要自己更加仔细耐心地对待每一个细节,对每一个接线都需要认真对待,不可马虎。由于在实验前准备了相关的工作,阅读了实验指导书而且在实验中的仔细认真,最后我们在班级里面最先完成实验。在实验前我发现自己对于实验指导书上的许多知识不是很了解,可是经过课后经过图书馆的资料以及网上的资源了解到了数据通路中许多自己没
23、有掌握的知识。例如在设计的时候发现ALU标记使用的是74181芯片实现两个四位相加,而实际情况则是两个8位二进制数输入。因此翻阅了相关资料以及和选题第一组的讨论最后明白了其中的原理(使用2片74181分别处理低四位和高四位),这只是本次试验中学到知识的一个很小一部分。让我受益最多的是如何阅读相关技术文档以及和同学的讨论交流,最后使用Protel 99 SE软件完成了本次绘图的工作。在以后的学习工作中,需要更加加强自己的实际动手能力以及培养自己的耐心。参考文献【1】 计算机组成原理 白中英 主编 科学出版社【2】 石磊【3】 杨小龙 西安电子科技大学出版社指导教师评语:评分: 签名: 年元月 日
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100