计算机组成原理课设(完成版).doc_第1页
计算机组成原理课设(完成版).doc_第2页
计算机组成原理课设(完成版).doc_第3页
计算机组成原理课设(完成版).doc_第4页
计算机组成原理课设(完成版).doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

计算机组成原理课程设计报告16 位机微程序控制器指令系统的设计与实现 院(系、部): 信 息 工 程 学 院 小组成员姓名: 班 级: 计-10 指导教师: 秦彩云 吴艺娟 2013 年 1月 11 日北京目 录一、设计题目.1 二、设计目的.1 三、设计说明.1 四、设计内容.1 五、任务分工.2六、课程设计环境.2 七、基本指令和扩展指令的执行流程框图.2 1.基本指令流程框图.3 2.扩展指令流程框图.4 八、基本指令和扩展指令的微程序编码表.4 九、基本、扩展指令映射表.6 基本指令入口地址映射表.6扩展指令入口地址映射表.8十、指令设计方案.8 将设计好的微码写入控制存储器.11十一、测试程序. .13 在单步方式下,通过指示灯观察各类扩展指令的微码.13 测试基本指令的程序.15十二、自评.31 十三、遇到的问题及解决方案.31 十四、总结.33 十五、课程设计日记.33 十六、参考文献.35一、设计题目16位机微程序控制器指令系统的设计与实现二、设计目的通过看懂教学计算机组合逻辑控制器中已经设计好并正常运行的几条基本指令(例如ADD、MVRR、OUT、MVRD、JR、RET等指令)的功能、格式和执行流程,然后自己设计微程序控制器中的29条基本指令和19条扩展指令的功能、格式和执行流程,并在教学计算机上实现、调试正确,达到以下目的:1、深入理解计算机控制器的功能、组成知识和各类典型指令的执行过程;2、对指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念;3、学习微程序控制器的设计过程和相关技术。三、设计说明控制器设计是学习计算机总体组成和设计的重要的部分。要在TEC2000教学计算机上完成这项设计,必须清楚懂得:1、 TEC2000教学机的微程序控制器主要由作为选件的微程序控制器小板和教学机大板上的7GAL20V8组成。2、 TEC2000教学机微程序控制器上要实现的全部基本指令和扩展指令的控制信号都是由微程序小板上的7片控制存储器给出的。3、 应了解监控程序的A命令只支持基本指令,扩展指令应用E命令将指令代码写入到相应的存储单元中;不能用T、P命令单步调试扩展指令,只能用G命令执行扩展指令。4、 要明白TEC2000教学机支持的指令格式及指令执行流程分组情况;理解TEC2000教学中已经设计好并正常运行的各类指令的功能、格式、执行流程和控制信号的组成。5、明确自己要实现的指令格式、功能、执行流程设计中必须遵从的约束条件。6、为了完成扩展指令的功能、格式和执行流程,并在教学计算机上实现、调试正确的实验内容,具体过程包括: 1)确定指令格式和功能,要受教学机已有硬件的约束,应尽量与已实现指令的格式和分类办法保持一致;2) 划分指令执行步骤并设计每一步的执行功能,设计节拍状态的取值,应参照已实现指令的处理办法来完成,特别要注意的是,读取指令的节拍只能用原来已实现的,其他节拍的节拍状态也应尽可能的与原用节拍的状态保持一致和相近;3) 在指令微程序表中填写每一个控制信号的状态值,注意要特别仔细,并有意识地体会这些信号的控制作用;4)将设计好的微码,装入控制存储器的相应单元;5)写一个包含你设计的指令的程序,通过运行该程序检查执行结果的正确性,来初步判断你的设计是否正确;如果有问题,通过几种办法查出错误并改正,继续调试,直到完全正确。四、设计内容1、完成微程序控制器指令系统设计,主要内容是由学生自己设计29条基本指令和19条扩展指令的功能、格式和执行流程,并在教学计算机上实现、运行、调试正确。2、首先看懂TEC2000教学计算机的功能部件组成和线路逻辑关系,然后分析教学计算机组合逻辑控制器中已经设计好并正常运行的几条典型指令(例如ADD、MVRR、OUT、MVRD、JRC、RET等指令)的功能、格式和执行流程。3、设计微程序控制器指令系统中各条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确,例如ADC、STC、JRS、JRNS、LDRX、STRX、JMPR、CALR、LDRA等19条扩展指令。4、单条运行指令,查看指令的功能、格式和执行流程。5、用监控程序的A、E(扩展指令必须用E命令置入)命令编写一段小程序,观察运行结果。五、任务分工 每组四名同学,任务分配或分工为: 1、设计基本指令的执行流程,画出 29条基本指令的执行流程框图和微程序编码表。 2、设计扩展指令的执行流程,画出 1条扩展指令的执行流程框图和微程序编码表。3、确定微码各字段与控制存储器各个芯片之间的关系,列表写出各控制存储器芯片中存储单元的内 容,将设计好的微码装入芯片。 4、编写包含所有指令的测试程序,通过运行这些程序检查指令设计是否正确。六、课程设计环境1、硬件环境: PC机一台、TEC2000实验机一台、微程序控制器实验板一块。 2、软件环境: (1)Win2000、DOS (2)TEC2000仿真终端程序PCEC(3)TEC2000监控程序。7、 基本指令和扩展指令的执行流程框图 1、 基本指令流程框图2、 扩展指令流程框图八、基本指令和扩展指令的微程序编码表基本指令和扩展指令的微程序编码表(十六进制)指令名微址下址CI3-0SCC3-00MEW0I2-0SAI8-6SBI5-3BASSTSSHSCIDC2DC1ALL00FF00E0413155017001FF00E043205501B002FF00E0101000001003FF002040100000001AFF303004900000011CFF3030173800000030FF3A32470000000331FF023043205501B0中断隐指令3AFF00E040100000703BFF00E043314000303CFF00E004100500513DFF00E043314000303EFF00E002100000013FFF31304730500005ADD400004FF303041B8001000SUB400105FF303041B9001100AND400206FF303041BC001000CMP400309FF30304199001100XOR400408FF303041BE001000TEST40050AFF3030419C001000OR400607FF303041BB001000MVRR40070BFF303044B8001000DEC40080DFF30304339001000INC40090CFF30304338001100SHL400A0EFF30304378006000SHR400B0FFF30304358005000JR404111FF30304530550002JRC404410FF30344010000000JRNC404510FF30344010000000JRZ404610FF30344010000000JRNZ404710FF30344010000000JMPA40801EFF24304320550130LORR40811BFF00E04490000030IN408212FF14364710000032OUT408612FF1436471000003213FF3030231000000114FF30303730000000STRR408319FF00E04318000030PSH/F408415FF1A374331400030408515FF1A37433140003016FF30300010000003POP/F408717FF1C374320440130408C17FF1C37432044013018FF30301010002000MVRD40881DFF1C304320550130RET408F23FF00E0432044013024FF30301730500000CALA40CE1FFF00E0432055013020FF00E0170000000021FF00E0433140003022FF30300220550001ADC402050FF303041B8001200SBB402151FF303041B9001200RCL402A54FF30304378006400RCR402B55FF30304358005400ASR402C53FF30304358005C00NOT402D52FF3030433F001000JMPR40605AFF303044B0500000JRS406469FF30354010000000JRNS406569FF303540100000006AFF30304530550002CLC406C56FF30304010003000STC406D57FF30304010004000EI406E58FF30304010000060DI406F59FF30304010000070CALR40E064FF00E0433140003065FF00E0041005000166FF303044B0500000LDRA40E45BFF00E043205501305CFF1C301710000030LDRX40E55DFF00E043205501305EFF1C301590000030STRX40E661FF00E0432055013062FF00E015B000003063FF30300390000001STRA40E75FFF00E0432055013060FF1A301710000030IRET40EF67FF00E0432044013068FF23301010002040九、基本、扩展指令映射表 1、基本指令入口地址映射表序号指令编码入口地址1ADD DR,SR0000 0000042SUB DR,SR0000 0001053AND DR,SR0000 0010064OR DR,SR0000 0110075XOR DR,SR0000 0100086CMP DR,SR0000 0011097TEXT DR,SR0000 01010A8MVRR DR,SR0000 01110B9INC DR0000 10010C10DEC DR0000 10000D11SHL DR0000 10100E12SHR DR0000 10110F13JRC OFFSET0100 01001014JRNC OFFSET0100 01011015JRZ OFFSET0100 01101016JRNZ OFFSET0100 01111017JR OFFSET0100 00011118IN PORT1000 00101219OUT PORT1000 01101220PSHF1000 01001521PUSH DR1000 01011522POP DR1000 01111723POPF1000 11001724STRR DR,SR1000 00111925LDRR DR,SR1000 00011B26MVRD DR,DATA1000 10001D27JMPA ADR1000 00001E28CALA ADR1100 11101F29RET1000 1111232、扩展指令入口地址映射表序号指令编码入口地址07JMPR0110 00005A十、指令设计方案1将设计好的微码写入控制存储器。(包括29条基本命令和我组分配到的JMPR扩展指令的微码)一次只对一片28C64控制存储器芯片进行读写,该芯片可插在扩展芯片的高位或低位,若插在高位,输入时信号编码为高八位,低八位补零;若插在低位,输入时信号编码为低八位,高位补零。若一次扩展两片28C64控制器芯片,要注意信号要与产生该信号的芯片相对。(1) 将扩展新片的内存单元地址置为40005FFF,将MAPROM插入扩展芯片的位置,微程序入口地址对应的内存单元的地址为芯片的起始地址和该指令的编码值之和。具体操作如下:E 40004000 00FF:04 00FF:05 00FF:06 00FF:09 00FF:08 00FF:0A 00FF:07 00FF:0B 00FF:0D 00FF:0C 00FF:0E 00FF:0F E 40414041 00FF:11E 40444044 00FF:10 00FF:10 00FF:10 00FF:10 E 4060 4060 00FF:005A 4080 00FF:1E 00FF:1B 00FF:12 00FF:19 00FF:15 00FF:15 00FF:12 00FF:1700FF:1D E 408C408C 00FF:17 00FF: 00FF: 00FF: 23E 40CE40CE 00FF:1F (2) 将MPROM1MPROM7依次插入扩展芯片的位置对其编程,内存单元的地址为芯片的起始地址和该指令操作功能所对应的微址之和,操作如下:MPROM1产生下址信号,MPROM2产生CI30、SCC30信号,对MPROM1-2的操作为:MPROM1 在高位 MPROM2 在低位E 40004000 00FF:00E0 00FF:00E0 00FF:00E0 00FF:0020 00FF:3030 00FF:3030 00FF:3030 00FF:3030 00FF:3030 00FF:3030 00FF:3030 00FF:303000FF:3030 00FF:3030 00FF:3030 00FF:3030 4010 00FF:3034 00FF:3030 00FF:1436 00FF:3030 00FF:3030 00FF:1A37 00FF:3030 00FF:1C37 00FF:3030 00FF:00E0 00FF:3030 00FF:00E0 00FF:3030 00FF:1C30 00FF:2430 00FF:00E04020 00FF:00E0 00FF:00E0 00FF:3030 00FF:00E0 00FF:3030 E 40304030 00FF:3A32 00FF:0230 E 405A 00FF:3030(3) MPROM3产生0MRW、0I20信号,MPROM4产生SAI8I6、SBI5I3信号,对MPROM3-4的操作为:MPROM3 在高位 MPROM4 在低位E 40004000 00FF:4131 00FF:4320 00FF:1010 00FF:4010 00FF:41B8 00FF:41B9 00FF:41BC 00FF:41BB 00FF:41BE 00FF:4199 00FF:419C 00FF:44B800FF:4338 00FF:4339 00FF:4378 00FF:4358 4010 00FF:4010 00FF:4530 00FF:4710 00FF:231000FF:3730 00FF:4331 00FF:0010 00FF:4320 00FF:1010 00FF:4318 00FF:0490 00FF:4490 00FF:1738 00FF:4320 00FF:4320 00FF:43204020 00FF:1700 00FF:4331 00FF:0220 00FF:4320 00FF:1730E 40304030 00FF:4700 00FF:4320 E 405A 00FF:44B0(4) MPROM5产生B口、A口信号,MPROM6产生0SST、SSHSCI信号,对MPROM5-6的操作为:MPROM5 在高位 MPROM6 在低位E 40004000 00FF:5501 00FF:5501 00FF:0000 00FF:0000 00FF:0010 00FF:0011 00FF:0010 00FF:0010 00FF:0010 00FF:0011 00FF:0010 00FF:001000FF:0011 00FF:0010 00FF:0060 00FF:0050 4010 00FF:0000 00FF:5500 00FF:0000 00FF:000000FF:0000 00FF:4000 00FF:0000 00FF:4401 00FF:0020 00FF:0000 00FF:0000 00FF:0000 00FF:0000 00FF:5501 00FF:5501 00FF:55014020 00FF:0000 00FF:4000 00FF:5500 00FF:4401 00FF:5000E 40304030 00FF:0000 00FF:5501 E 405A 00FF:5000(5) MPROM7产生DC2、DC1信号,对MPROM7的操作为:E 40004000 00FF:70 00FF:B0 00FF:10 00FF:00 00FF:00 00FF:00 00FF:00 00FF:00 00FF:00 00FF:00 00FF:00 00FF:00 00FF:00 00FF:00 00FF:00 00FF:00 4010 00FF:00 00FF:02 00FF:32 00FF:0100FF:00 00FF:30 00FF:03 00FF:30 00FF:00 00FF:30 00FF:01 00FF:30 00FF:00 00FF:30 00FF:30 00FF:304020 00FF:00 00FF:30 00FF:01 00FF:30 00FF:00E 40304030 00FF:03 00FF: B0 E 405A 00FF:00FF芯片的截图如下写入基本指令,扩展指令的芯片存储状态:MAPROMMPROM1-2 MPROM3-4MPROM5-6 MPROM7十一、测试程序1在单步方式下,通过指示灯观察各类扩展指令的微码。(在此,仅在A组、C组中各列举一条指令为例。)通过验证可知各指令的微码无误。选择基本指令的A组指令中的ADD指令,观察其节拍流程(1)置拨动开关SW=00000000 00000001;(表示指令ADD R0,R1)(2)按RESET按键;小板指示灯Microp亮(只要选择微程序,该灯在指令执行过程中一直亮),其它灯全灭; (3)按START按键;小板指示灯CI30、SCC30显示 1110 0000 ,微址指示灯显示 0000 0000 ; 下址的指示灯显示 0000 0000 ;(本拍完成公共操作0PC、DI#=0)(4)按START按键;小板指示灯CI30、SCC30显示 1110 0000 ,微址指示灯显示 0000 0001 ,下 址的指示灯显示 0000 0000 ;(本拍完成公共操作PCAR、PC+1PC)(5)按START按键;小板指示灯CI30、SCC30显示 1110 0000 ,微址指示灯显示 0000 0010 , 下址的指示灯显示 0000 0000 ;(本拍完成公共操作MEMIR)(6)以上三步为公共操作,其它指令同;(7)按START按键;小板指示灯CI30、SCC30显示 0010 0000 ,微址指示灯显示 0000 0011 , 下址的指示灯显示 0000 0100 ;(本拍完成MAP操作功能)(8)按START按键;小板指示灯CI30、SCC30显示 0011 0000 ,微址指示灯显示 0000 0100 , 下址的指示灯显示 0011 0000 ;(本拍执行ADD指令,DRDR+SR操作)(9)按START按键;小板指示灯CI30、SCC30显示 0011 0010 ,微址指示灯显示 0011 0000 , 下址的指示灯显示 0011 1010 ;(本拍完成STRQ、CC#=INT#公共操作功能)(10)按START按键;小板指示灯CI30、SCC30显示 0011 0000 ,微址指示灯显示 0011 0001 , 下址的指示灯显示 0000 0010 ;(本拍完成PCAR、PC+1PC、CC#=0的公共操作功能)选择基本指令的D组指令中的CALA指令,观察其节拍流程(1)置拨动开关SW= 1100 1110 0000 0000 ;(表示指令CALA)(2)按RESET按键;小板指示灯Microp亮(只要选择微程序,该灯在指令执行过程中一直亮),其它灯全灭;(3)按START按键;小板指示灯CI30、SCC30显示 1110 0000 ,微址指示灯显示 0000 0000 , 下址的指示灯显示 0000 0000 ;(4)按START按键;小板指示灯CI30、SCC30显示 1110 0000 ,微址指示灯显示 0000 0001 , 下址的指示灯显示 0000 0000 ;(5)按START按键;小板指示灯CI30、SCC30显示 1110 0000 ,微址指示灯显示 0000 0010 , 下址的指示灯显示 0000 0000 ;(6)以上三步为公共操作,其它指令同。(7)按START按键;小板指示灯CI30、SCC30显示 0010 0000 ,微址指示灯显示 0000 0011 , 下址的指示灯显示 0001 1111 ;(8)按START按键;小板指示灯CI30、SCC30显示 1110 0000 ,微址指示灯显示 0001 1111 , 下址的指示灯显示 0000 0000 ;(本拍完成PCAR、PC+lPC操作)(9)按START按键;小板指示灯CI30、SCC30显示 1110 0000 ,微址指示灯显示 0010 0000 , 下址的指示灯显示 0000 0000 ;(本拍完成MEMQ操作)(10)按START按键;小板指示灯CI30、SCC30显示 1110 0000 ,微址指示灯显示 0010 0001 , 下址的指示灯显示 0000 0000 ;(本拍完成SP-1SP、PCAR操作)(11)按START按键;小板指示灯CI30、SCC30显示 0011 0000 ,微址指示灯显示 0010 0010 , 下址的指示灯显示 0011 0000 ;(本拍完成PCMEM、QPC、CC#=O操作)(12)按START按键;小板指示灯CI30、SCC30显示 0011 0010 ,微址指示灯显示 0011 0000 , 下址的指示灯显示 0011 1010 ;(本拍完成STRQ、CC#=INT#操作)(13)按START按键;小板指示灯CI30、SCC30显示 0011 0000 ,微址指示灯显示 0011 0001 , 下址的指示灯显示 0000 0010 ;(本拍完成PCAR、PC+lPC、CC#=0操作)。2测试基本指令的程序:(1)验证指令MVRD,AND,ADD,SUB,DEC,INC,CMP,JRNZ,XOR,OR,RET. (2)验证指令TEST,JRZ,JR, SHR,SHL,MVRR (3)测试JRNC的程序(4)测试PSHF,POPF(5)测试IN,OUT,PUSH,POP(6)测试JRC(7)测试STRR,CALA(8)测试JMPA(9)测试LDRR(10)测试扩展指令JMPR验证JMPR指令的程序JMPRA 21002100:MVRD R1,0011 ;给R1赋值00112102:MVRD R2,1100 ;给R2赋值11002104:ADD R1,R2 ;R1R1+R22105:RET ;程序结束2106:A 20002000:MVRD R3,2100 ;转跳地址为21002002:E 20022002:内存单元原值:6003 ;转跳到R3指明的地址,60是JMPR的16进制表示,03是R3的16进制表示用 G命令运行前面刚键入的源程序,在命令提示符状态下输入:G 2000运行结果为:R1=1111,R2=1100,R3=2100十二、自评 单步执行检测,证明了29条基本指令和1条扩展指令是正确的。 测试程序的运行结果,也进一步证明所有指令准确无误。由此我们可以知道 16 位机微程序控制器指令系统的设计是正确的。我们的设计基本上达到了实验目的所要求的。 良 良 良 良十三、遇到的问题及解决方案 在实现扩展指令JMPR的时候,实验结果总与理论结果不符。经过多次检验测试程序并上机实测,结果仍不正确。最后我们从微程序控制器下手才发现了错误的原因。这是由于在向MAPROM34芯片输入时,该指令(E 405A 00FF:44B0)中的44B0因输入错误(43B0)而导致结果异常的。值得一说的是,由于我们在每次向MAPROM芯片写入最后都使用了D命令查询了内存单元地址中的数据,这样我们在检查的时候可以直接通过截图快速查看每个芯片中的数据是否输错,就这样,我们很快便锁定了MAPROM3号芯片,并将其改正。我们通过对此次错误的排查和解决过程,让我们明白了细节和实时备份的重要性,这对我们以后的学习和工作都带来了很大的启示,以避免重蹈覆辙!以下为检错过程 十四、总结 通过此次计算机组成原理课程设计,使我们不仅对理论知识的认识更加深刻和透彻,而且还极大的锻炼了我们的实践动手能力,这也是我们所极为欠缺的地方,需要我们以后多进行此方面的尝试。在课设的过程中我们虽然遇到了很多问题,比如因输入错误而导致的指令错误等,但都在全组的

温馨提示

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

评论

0/150

提交评论