《计算机组成原理课程设计报告及代码之复杂模型机设计(共15页).doc》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计报告及代码之复杂模型机设计(共15页).doc(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上课程设计报告课程名称: 计算机组成原理题目名称: 复杂模型机设计专业名称: 计算机科学与技术班 级: 学生姓名:李俊 同组同学:丰翔 王兆宇学 号:1指导教师: 兰勇完成时间: 2016年1月8 日 目录5一 、课程设计概述1.1 课程设计的教学目的本课程设计的教学目的是在掌握计算机系统组成及内部工作机制、理解计算机各功能部件工作原理的基础上,深入掌握数据信息流和控制信息流的方法,进一步加深对计算机系统各模块间相互关系的认识和整机的概念,培养开发和调试计算机的技能。在设计实践中提高应用所学专业知识分析问题和解决问题的能力。1.2 课程设计任务和基本要求 本课程设计以T
2、DCMA计算机组成原理教学实验系统为平台完成。 1. 按给定的数据格式和指令系统,理解微程序控制器的设计原理。 2. 设计给定机器指令系统以及微程序流程图,按微指令格式写出微程序的微指令代码。 3. 连接逻辑电路,完成启动、测试、编程、校验和运行,并观测运行过程和结果。 4. 将微程序控制器模块与运算器模块、存储器模块联机,组成一台模型计算机。 5. 用微程序控制器控制模型机的数据通路。 6. 通过在模型机上运行有机器指令组成的简单程序,掌握机器指令与微指令的关系,建立计算机的整机概念,掌握计算机的控制机制。 7. 按指定应用项目进行汇编指令格式及功能设计,并设计相应的机器指令代码,按照模型机
3、数据通路设计实现机器指令功能的微程序。在PC机上编辑机器指令和微程序,装载代码到TDCMA实验系统并运行,实现应用要求。1.3 设计原理在部件实验中,我们是人为用二进制开关来模拟一些控制信号完成数据通路的控制。而在本课程设计中,数据通路的控制由微程序控制器来完成。计算机从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令的列来完成,即一条机器指令对应一个微程序。二、 规定项目的实验验证2.1 设计原理机器指令格式:$P XX XX 机器指令标志、十六进制地址、机器指令代码微指令格式:$M XX XXXXXX 微指令标志、十六进制地址、微指令代码微指令代码格式232221201918
4、-1514-1211-98-65-0M23CNWRRDIOMS3-S0ABCM5-M00进位读写ALU下一个地址CN代表进位WR、RD代表向MEM单元写和读IOM代表向IN或OUT单元读写S3-S0代表不同的运算A指定目的地址B指定原地址C代表P测试或指定目的地址为PC指针M5-M0代表下一个微指令的地址(一共6位,所以最大值为3F)WR、RD、IOM的功能WRRDIOM功能000不涉及MEM、IN和OUT单元010从MEM单元读数据011从IN单元读数据100向MEM单元写数据101向OUT单元写数据S3S0以及CN的功能运算类型S3;S2;S1;S0CN功能逻辑运算0000XF=A0001
5、XF=B0010XF=AB0011XF=A+B0100XF=B移位运算循环移位0101XF=AB01100F=A11F=A101110F=A11F=AAR, PC加10203000100000111000001MEM-IR, P04000000000010001000RS-B0504B201000001001011001000A加B-RD06000000000010001000RS-B07000000010011001000A与B-RD08000100000110000000MEM-AR09 000110000011000000IO-RD0A000100000110000000MEM-AR0B
6、 000000000101001101NOP0C000100000011000000MEM-RD0D001000000000011000RD-MEM0E 000000000101001101A-PC0F0000CB 000000000000000011NOP, P10 001010000000010000RS-IO11 000100000011000000MEM-RD12 000001100011001000A-1-RD13 000000000010010000RS-B1405B201 000001011011001000A减B-RD15 000000000010010000RS-B1601B
7、201 000000011011001000A或B-RD17 1803B201 000000111011001000ARD191A1B000000000000000000A-PC1C10101D 000100000001000000MEM-A1D10608C 000100000110000010MEM-AR, P1E10601F 000100000110000000MEM-AR1F 000100000001000000MEM-A2010608C 000100000110000010MEM-AR, P21006D62 000000000110110001PC-AR,PC+22 000100000
8、010000000MEM-B23 000001011000001000A-B2425262728 000100000001000000MEM-A2900282A 000000000010100000RI-B2A04E22B 000001001110001000A加B-AR2B04928C 000001001001001010A加B-A, P2C10102D 000100000001000000MEM-A2D002C2E 000000000010110000PC-B2E04E22F 000001001110001000A加B-AR2F04928C 000001011001001010A加B-A,
9、 P30 000000000001011000RD-A31 000000000001011000RD-A32006D48 000000000110110101PC-AR, PC加133006D4A 000000000110110101PC-AR, PC加134 000000000001011000RD-A35 000000000000000000NOP36006D51 000000000110110101PC-AR, PC加137 000000000001011000RD-A38 000000000001011000RD-A39 000000000001011000RD-A3A 0000000
10、00001011000RD-A3B 000000000000000000NOP3C006D5C 000000000110110101PC-AR, PC加13D006D5E 000000000110110101PC-AR, PC加13E006D68 000000000110110101PC-AR, PC加13F006D6C 000000000110110101PC-AR, PC加1表4二进制微代码表本设计的机器指令程序及相应的汇编程序如下:微指令汇编指令格式指令功能ADD RD,RS0000RSRDRD+RS-RDAND RD,RS0001RSRDRD&RS-RDIN RD,P0010*RDPP
11、-RDOUT P,RS0011RS*PRD-PTEST RD,D0100RDDRD-DHALT0101停机 LDI RD,D0110*RDDD-RDDEC RD0111*RDRD-1RDSUB RD,RS1000RSRDRD-RS-RDOR RD,RS1001RSRDRS|RD-RDROL RD1010RDRDRD保留LAD M D,RD1100MRDDE-RDSTA M D,RS1101MRSRD-EJMP M D1110MDE-PCJNZ M D1111MD当ZF=0或CF=0跳转2.2 操作步骤实验连线图1 连线:按实验连线图进行连线。2. 测试:在联机软件CMA中打开综合性实验的数据通
12、路图,并进行测试3 编写程序:采用联机读/写程序按下面规定格式,用联机软件在CMPP中建立将机器指令及微指令的二进制代码编辑成十六进制的*.TXT文档,并用联机软件的转储功能将该格式文件装载到实验系统中。测试程序及微指令代码:; /*/; / /; / 复杂模型机实验指令文件 /; / /; / By 李俊 丰翔 王兆宇 /; / /; /*/; /* Start Of Main Memory Data */ $P 00 21 ; START: IN R1,00H 从IN单元读入计数初值 $P 01 00 $P 02 60 ; LDI R0,0FH 立即数0FH送R1 $P 03 0F $P
13、04 11 ; AND R1,R0 得到R1低四位 $P 05 34 ; OUT R1 输出IN单元的值 $P 06 40 ; $P 07 62 ; START: LDI R2,60H 读入数据始地址 $P 08 60 $P 09 CB ; LAD R3,RI,04H 从MEM读入数据送R3,变址寻址,偏移量为04H $P 0A 04 $P 0B 3C ; OUT R3 输出被加数R3的值 $P 0C 40 ; $P 0D 0D ; ADD R1,R3 R1+R3-R1 $P 0E 34 ; OUT R1 输出加法执行后的结果 $P 0F 40 ; $P 10 C7 ; LAD R3,67H
14、从MEM读入数据送R3,间接寻址 $P 11 67 $P 12 3C ; OUT R3 输出被减数R3的值 $P 13 40 ; $P 14 8D ; SUB R1,R3 R1-R3-R1 $P 15 34 ; OUT R1 输出减法执行后的结果 $P 16 40 ; $P 17 A1 ; ROL R1 R1R1 $P 18 34 ; OUT R1 输出左移一位执行后的结果 $P 19 40 ; $P 1A 34 ; LOOP: OUT R1 循环输出(倒计时功能) $P 1B 40 ; $P 1C 71 ; DEC R1 $P 1D 41 ; TEST R1,00 相减为0,表示求和完毕 $
15、P 1E 00 $P 1F F0 ; JNZ LOOP 直接寻址 $P 20 1A $P 21 E0 ; JMP START $P 22 00 $P 23 50 ; HLT 停机 $P 60 00 ; 数据 $P 61 01 $P 62 02 $P 63 03 $P 64 04 $P 65 06 $P 66 07 $P 67 62 ;间接寻址用到; /* End Of Main Memory Data */; /* Start Of MicroController Data */ $M 00 ; NOP $M 01 006D43 ; PC-AR, PC加1 $M 03 ; MEM-IR, P
16、$M 04 ; RS-B $M 05 04B201 ; A加B-RD $M 06 ; RS-B $M 07 ; A与B-RD $M 08 ; MEM-AR $M 09 ; IO-RD $M 0A ; MEM-AR $M 1B ; A-PC $M 0C ; MEM-RD $M 0D ; RD-MEM $M 0E ; A-PC $M 0F 0000CB ; NOP, P $M 10 ; RS-IO $M 11 ; MEM-RD $M 12 ; A-1-RD 0000 0110 0011 0010 0000 0001 $M 13 ; RS-B $M 14 05B201 ; A减B-RD $M 15
17、; RS-B $M 16 01B201 ; A或B-RD ;$M 17 ; RS-B $M 18 03B201 ; ARD 0000 0011 1011 0010 0000 0001 $M 0B ; NOP $M 1C 10101D ; MEM-A $M 1D 10608C ; MEM-AR, P $M 1E 10601F ; MEM-AR $M 1F ; MEM-A $M 20 10608C ; MEM-AR, P $M 21 006D62 ; PC-AR,PC+- $M 22 ; MEM-B 0001 0000 0010 0000 0010 0011 $M 23 ; A-B 0000 01
18、01 1000 0010 0000 0001 $M 28 ; MEM-A $M 29 00282A ; RI-B $M 2A 04E22B ; A加B-AR $M 2B 04928C ; A加B-A, P $M 2C 10102D ; MEM-A $M 2D 002C2E ; PC-B $M 2E 04E22F ; A加B-AR $M 2F 04928C ; A加B-A, P $M 30 ; RD-A $M 31 ; RD-A $M 32 006D48 ; PC-AR, PC加1 $M 33 006D4A ; PC-AR, PC加1 $M 34 ; RD-A $M 35 ; NOP $M 36
19、 006D51 ; PC-AR, PC加1 $M 37 ; RD-A $M 38 ; RD-A $M 39 ; RD-A $M 3A ; RD-A $M 3B ; NOP $M 3C 006D5C ; PC-AR, PC加1 $M 3D 006D5E ; PC-AR, PC加1 $M 3E 006D68 ; PC-AR, PC加1 $M 3F 006D6C ; PC-AR, PC加1; /* End Of MicroController Data */4. 运行程序联机运行:联机运行程序时,进入CMA软件界面,装在机器指令及微指令后,选择【实验】【综合性实验】功能菜单打开相应动态数据通路图,按
20、相应功能键即可联机运行、监控、调试程序。三、 指定应用项目的设计与实现3.1设计任务1、基本模型机设计与实现; 2、在基本模型机设计的基础上设计一台复杂模型机3.2任务分析以及解决方案任务分析:本实验完成了逻辑与、左移、算术加、减运算、直接寻址、间接寻址、变址寻址、test指令并用JNZ、JMP指令实现跳转。同时涉及到输入输出数据和将寄存器中的内容输入到内存中等知识点。解决方案:1. 从in单元读入一个数,读入R1。2. 立即数0FH送R03. R0&R1与运算得到R1的低四位,输出R1的值4. 通过变址寻址找到地址为64H单元的数据存入R3,且输出R35. R1=R1+R3,输出R1。6.
21、通过间接寻址找到67H单元的数据62H,将62H中的数据存入R3,输出R37. R1=R1-R3,输出R18. 将R1左移一位9. 输出R110. R1-11.Test R1,00,通过JNZ跳转至第9步12.跳转至START四、 收获和体会4.1 我的收获与体会(李俊)通过本次课程设计,对计算机的基本组成,部件的设计,部件间的连接,微程序控制器的设计,微指令和微程序的编制与调试等过程有更深的了解,加深了对组成原理理论课程的理解。 通过自己对一系列微程序的编写,对程序执行的流程以及指令之间的跳转有了更深的理解,能够根据流程图和机器指令写出相应的微程序,对简单模型机里的数据流向图也有了一定的理解,能看懂根据自己编写的微程序在模型机上的一步步流向,对各种指令的运用更加熟悉,对它们微程序的一步步流程也有了清晰的认识,通过对机器指令和微指令的分析和编写,理解了指令代码所对应的功能。最后感谢老师和同组同学的帮助。专心-专注-专业