1、课程设计说明书设计名称: 计算机组成原理课程设计 学生姓名:专 业:10 网络工程班 级:2 班学 号:2010394201指导教师:日 期:2012 年 10 月 8 日一、课程设计题目复杂模型机设计与实现二、课程设计目的 本课程设计的教学目是在掌握计算机系统的组成及内部工作机制,理解计算机各功能部件工作原理的基础上,深入掌握数据信息流和控制信息流的流动过程,进一步加深计算机系统各模块间相互关系的认识和整机的概念,培养开发和调试计算机的技能,在设计实践中提高应用所学专业知识分析问题和解决问题的能力。三、主要内容综合运用所学计算机原理知识,利用 TDN-CM+教学实验系统设计并实现复杂模型机设
2、计。设计总体结构及机器指令、微指令。根据设计的接线图搭好模型机电路,利用设计的指令编写程序并在机器上运行。四、设计要求 在掌握“TDN-CM+计算机组成原理教学实验系统”原理的基础上,以此实验系统为平台,设计一台微程序控制的模型计算机。 1设计模型机硬件(需含计算机基本组成,即 CPU、内存、I/O 接口、输入设备、输出设备、总线等,CPU 为微程序控制器类型) ,设计总体结构及数据通路框图。2设计模型机指令系统(含设计机器指令、微指令格式、每条指令所对应的微程序等) 。 基本模型机要求实现 5 条机器指令。复杂模型机要求实现 16 条机器指令。 3利用模型机指令系统,编写汇编语言程序,分别完
3、成下列功能: (1)编程序完成功能:LED 上的数从 1 以步长 1 往上递增。(2)编程序完成功能:S=2+4+6+8+10+,要求在 LED 上循环显示结果02、06、0C、。调试、运行通过后将程序写在下面。4根据以上软硬件设计,在“TDN-CM+计算机组成原理教学实验系统”上调试,检测实现的功能是否达到设计要求。5撰写课程设计报告(文件名:学号姓名.doc) ,课程设计报告中所规定的图文齐全、符合要求、结构合理、文章通顺;能对实验中出现的问题提出改进意见并加以分析说明。五、基本概念和原理1、数据格式微型机规定采用定点补码表示法表示数据,且字长为 8 位,其格式如下:7 6 5 4 3 2
4、 1 0符号 尾 数其中第七位为符号位,数值范围是:2 X 2 1772、指令格式模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O 指令、访问及转移指令和停机指令。(1) 算术逻辑指令设计 9 条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:7 6 5 4 3 2 1 0 OP-CODE rs rd其中,OP-CODE 为操作码,rs 为寄存器,rd 为目的寄存器,并规定:Rs 或 rd 选定的寄存器00 R001 R110 R29 条算术逻辑指令的名称、功能和具体格式如下表:序号 汇编符号 指令格式 功能说明1 CLR Rd 0111 00 Rd 0Rd2 M
5、OV Rs,Rd 1000 Rs Rd RsRd3 ADC Rs,Rd 1001 Rs Rd Rs+Rd+CyRd4 SBC Rs,Rd 1010 Rs Rd Rs-Rd-CyRd5 INC Rd 1011 00 Rd Rd+1Rd6 AND Rs,Rd 1100 Rs Rd RsRd Rd7 COM Rd 1101 00 Rd RdRd8 RRC Rs,Rd 1110 Rs Rd Rd 带进位右循环一位,RsRd9 RLC Rs,Rd 1111 Rs Rd Rd 带进位左循环一位,RsRd10 LDA M, D,Rd 00 M 00 Rd, D (E)Rd11 STA M, D,Rd 00
6、M 01 Rd, D Rd(E)12 JMP M, D 00 M 10 00, D EPC13 BZC M, D 00 M 11 00, D 当 CY=1 或 Z=1 时,EPC14 IN addr, Rd 0100 01 Rd (addr)Rd15 OUT addr, Rd 0101 10 Rd Rd(addr)16 HALT 0110 00 00 停机(2)访问指令及转移指令模型机设计 2 条访内指令,即存数(STA) 、取数(LDA) ,2 条转移指令,即无条件转移(JMP) 、结果为零或有进位转移指令(BZC) ,指令格式为:7 6 5 4 3 2 1 000 M OP-CODE Rd
7、D其中,OP-CODE 为操作码, rd 为目的寄存器地址(LDA、STA 指令使用) 。D 为位移量(正负均可) ,M 为寻址模式,其定义如下:寻址模式 有效地址 E 说明00 E=D 直接寻址01 E=(D) 间接寻址10 E=(R1 )+D R1 变址寻址11 E=(PC)+D 相对寻址本机模型机规定变址寄存器 R1 指定为寄存器 R2。(2) I/O 指令输入(IN )指令和输出( OUT)指令采用单字节指令,其格式如下:7 6 5 4 3 2 1 0 OP-CODE addr Rd其中,addr=01 时,选中“INPUT DECICE”中的开关组作为输入设备,addr=10 时,选
8、中“OUT DEVICE”中的数码块作为输出设备。(3) 停机指令指令格式如下:7 6 5 4 3 2 1 0 OP-CODE OO OOHALT 指令,用于实现停机操作。1、 指令系统本模型机共有 16 条基本指令,其中算术逻辑指令 7 条,访问内存指令和程序控制指令 4 条,输入输出指令 2 条,其它指令 1 条。1、数据格式微型机规定采用定点补码表示法表示数据,且字长为 8 位,其格式如下:7 6 5 4 3 2 1 0符号 尾 数其中第七位为符号位,数值范围是:2 X 2 1772、指令格式模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O 指令、访问及转移指令和停机指令。(4
9、) 算术逻辑指令设计 9 条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:7 6 5 4 3 2 1 0 OP-CODE rs rd其中,OP-CODE 为操作码,rs 为寄存器,rd 为目的寄存器,并规定:Rs 或 rd 选定的寄存器00 R001 R110 R2(5) 访问指令及转移指令模型机设计 2 条访内指令,即存数(STA) 、取数(LDA) ,2 条转移指令,即无条件转移(JMP) 、结果为零或有进位转移指令(BZC) ,指令格式为:7 6 5 4 3 2 1 000 M OP-CODE RdD其中,OP-CODE 为操作码, rd 为目的寄存器地址(LDA、
10、STA 指令使用) 。D 为位移量(正负均可) ,M 为寻址模式,其定义如下:寻址模式 有效地址 E 说明00 E=D 直接寻址01 E=(D) 间接寻址10 E=(R1 )+D R1 变址寻址11 E=(PC)+D 相对寻址本机模型机规定变址寄存器 R1 指定为寄存器 R2。(6) I/O 指令输入(IN )指令和输出( OUT)指令采用单字节指令,其格式如下:7 6 5 4 3 2 1 0 OP-CODE addr Rd其中,addr=01 时,选中“INPUT DECICE”中的开关组作为输入设备,addr=10 时,选中“OUT DEVICE”中的数码块作为输出设备。(7) 停机指令指
11、令格式如下:7 6 5 4 3 2 1 0 OP-CODE OO OOHALT 指令,用于实现停机操作。2、 指令系统本模型机共有 16 条基本指令,其中算术逻辑指令 7 条,访问内存指令和程序控制指令 4 条,输入输出指令 2 条,其它指令 1 条。总体设计: 复杂模型机的数据通路本模型机的数据通路图如上图所示。根据机器指令系统要求,设计微程序流程图及确定微地址。按照系统建议的微指令格式,参照微指令流程图,讲每条指令代码化,译成二进制代码表,并将二进制代码表转换为操作时的十六进制格式文件,见下表。A 字段 B 字段 C 字段12 11 10 选择0 0 00 0 1 RS-B0 1 0 RD
12、-B0 1 1 R1-B1 0 0 299-B1 0 1 ALU-B1 1 0 PC-B24232221201918 17161514131211109 8 7 6 5 4 3 2 1S3S2S1S0M CnWEA9A8A B C uA5uA4uA3uA2uA1uA015 14 13 选择0 0 00 0 1 LDRi0 1 0 LDDR10 1 1 LDDR21 0 0 LDIR1 0 1 LOAD1 1 0 LDAR9 8 7 选择0 0 00 0 1 P(1)0 1 0 P(2)0 1 1 P(3)1 0 0 P(4)1 0 1 AR1 1 0 LDPC复杂模型机接线图$P0044 $P
13、0181$P0282$P0399$P0494$P0558$P0608$P0703$M1001ED83$M1101ED85$M1201ED8D$M1301EDA6$M14001001$M15030401$M16018016$M173D9A01$M3301B435$M3405DB81$M35B99B41$M00018108 $M360D9A01$M0101ED82$M0200C050$M0300A004$M0400E0A0$M0500E006$M0600A007$M00018108$M0101ED82$M0200C050$M0300A004$M0400E0A0$M0500E006$M0600A00
14、7$M0700E0A0$M0801ED8A$M0901ED8C$M0A00A03B$M0B018001$M0C00203C$M0D00A00E$M0E01B60F$M1D01A236$M1E318237$M1F318239$M20009001$M21028401$M2205DB81$M0F95EA25$M37298838$M38019801$M3919883A$M3A019801$M3B070A08$M2C01A42D$M2D65AB6E$M2E0D9A01$M2F01AA30$M300D8171$M31959B41$M32019A01$M230180E4$M24018001$M2595AAA
15、0$M2600A027$M2701BC28$M2895EA29$M2995AAA0$M2A01B42B$M2B959B41$M18019201$M1901A22A$M1A01B22C$M1B01A232$M1C01A233$M3C068A09实验所用微程序六、实验测试步骤方法:1、按接线图连接实验线路,仔细查线无误后,接通电源。2、写微程序与 PC 联机,将实验微程序装入实验装置中或脱机时手动将实验微程序写入实验装置中,手动写入的具体方法如下:(1)编程A.将编程开关设置为 PROM(编程) 状态。B.将实验板上“STATE UNIT”中的“STEP”置为 STEP, “STOP”置为 RUN
16、 状态。C.用二进制模拟开关设置微地址 MA5MA0。D.在 MK24MK1 开关上设置微代码, 24 位开关对应 24 位显示灯,开关量为 0时灯亮,开关量为 1 时灯灭。E. 按动 START 键,启动时序电路,即将微代码写入到 EEPROM2816 的相应地址单元中。F.重复 CE 步骤,将本实验的十六进制格式文件转换的二进制代码写入 28C16 中。(3)校验A. 将编程开关设置为 READ(校验) 状态。B. 将实验板的“STEP”开关置为 STEP 状态, “STOP”开关置为 RUN 状态。C. 用二进制开关置好微地址 MA5MA0 。D. 按动 START 键,启动时序电路,读
17、出微代码观察显示灯 MD24MD1 的状态(灯亮为“0” ,灭为“1” ),检查读出的微代码是否与写入的相同。如果不同,则将开关置于 PROM 编程状态,重新执行(1) 即可(4)写程序/运行程序A. 将编程开关置为 RUN 状态,STEP 置为“STEP”状态, ,STOP 置为 RUN 状态。B.拨动开关单元的总清开关 CLR(101) ,微地址寄存器清 0,程序计数器清 0。然后使开关单元的 SWB、SWA 开关设置为“0 1”,按动一次启动开关START,微地址显示灯显示“ 001001”,再按动一次 START,微地址灯显示“001100”,此时数据开关的内容置为要写入的机器指令,按
18、动两次 START 键后,即完成该条指令的写入。若仔细阅读 KWE 的流程,就不难发现,机器指令的首地址总清后为 00H,以后每个循环 PC 自动加 1,所以,每次按动 START,只有在微地址灯显示“001100”时,才设置内容,直到所有机器指令写完。C. 写完程序后须进行校验。拨动总清开关 CLR(101)后,微地址清零。PC程序计数器清零,然后使控制台开关 SWB,SWA 为“0 0”,按动启动 START,微地址灯将显示“001000” ;再按 START,微地址灯显示为“001010” ;第 3 次按START,微地址灯显示为“111011 ”;再按 START 后,此时输出单元的数
19、码管显示为该首地址中的内容。不断按动 START,以后每个循环 PC 会自动加 1,可检查后续单元内容。每次在微地址灯显示为“001000”时,是将当前地址中的机器指令写入到输出设备中显示。(4)运行程序。(A)单步运行程序 使编程开关处于 RUN 状态,SPEP 为 STEP 状态, STOP 为 RUN 状态., 开关单元的 SWB,SWA 为“1 1” 。 拨动总清开关 CLR(101),微地址清零,程序计数器清零,程序首址为 00H。 单步运行一条微指令,每按动一次 START 键,即单步运行一条微指令。对照微程序流程图,观察微地址显示灯是否和流程一致。当运行结束后,可检查运行结果是否
20、和理论值一致。(B)连续运行程序 使“STATE UNIT”中的 STEP 开关处于“EXCX”状态,STOP 开关为“RUN”状态,开关单元的 SWB,SWA 为“1 1” 。 拨动 CLR 开关,清微地址及程序计数器,然后按动 START,系统连续运行程序,稍后将 STOP 拨至 “STOP”时,系统停机。停机后,可检查运行结果是否和理论值一致。方法二:联机运行联机运行程序时,进入软件界面,装载及其指令及微指令后,选择“运行”“通路图”“复杂模型机”功能菜单打开相应的动态数据通路图,按相应功能即可联机运行、监控、调试程序。七、心得: 第一周那两天实验一直在为这次设计做准备工作,通过上学期的
21、简单模型机实验来重温计算机组成原理的相关知识。接线时由于线路复杂,接线点众多,极容易接错。接完后还要进行测试线路,可惜测试屡屡不成功,费了很长时间才通过测试,进行实验。第二周的两天开始进行复杂模型机的实验。又由于接线问题而浪费不少时间,由于复杂模型机的线路图与简单模型机的不太一样,不过比第一周好很多。测试完开始编写微程序指令。根据指令系统编码,还是比较容易编写出的。这次设计的线路由于复杂度高,接线到是成了最大的问题了,稍微不小心把一条线路搞错就全错了,真的感觉细心和仔细在做实验中的重要性。通过老师提问的问题我更深刻了解清楚计算机组成的相关原理。八、总评成绩指导教师 签名日期 年 月 日系 主 任 审核日期 年 月 日