深圳大学实验报告课程名称:计算机组成原理实验项目名称:微程序控制器试验学院:计算机与软件学院专业:软件工程指导教师:蔡烨报告人:文成学号:2011150259班级:02实验时间:2013-5-29实验报告提交时间:2013-6-03教务处制-2-一、实验目的通过看懂教学计算机中已经设计好并正常运行的数条基本指令(例如,ADD、MVRR、OUT、MVRD、JR、RET等指令)的功能、格式和执行流程,然后自己设计几条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确。其最终要达到的目的是:1.深入理解计算机微程序控制器的功能、组成知识;2.深入地学习计算机各类典型指令的执行流程;3.对指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念;4.学习微程序控制器的设计过程和相关技术。二、实验要求1.实验之前,应认真准备,写出实验步骤和具体设计内容,否则实验效率会特别低,一次实验时间根本无法完成实验任务,即使基本做对了,也很难说学懂了些什么重要教学内容;2.应在实验前掌握所有控制信号的作用,在脱机运算器实验中,已给出了与运算器有关的控制信号的作用,16位机微程序控制器用到的控制信号的功能表可参见《TEC-XP教学计算机系统技术说明与实验指导》第三章的控制器部件和运算器部件的相关内容。需要注意的是中断用到了DC23,在T4~T0=00010一拍时DC23为1,其余节拍均为0;3.实验过程中,应认真进行实验操作,既不要因为粗心造成短路等事故而损坏设备,又要仔细思考实验有关内容,提高学习的主动性和创造性,把自己想不太明白的问题通过实验理解清楚,争取最好的实验效果,力求达到教学实验的主要目的;4.实验之后,应认真思考总结,写出实验报告,包括实验步骤和具体实验结果,遇到的主要问题和分析与解决问题的思路。大家应该认识到,遇到一些问题是好事情,通过分析与解决这些问题,才提高了自己的工作能力,学习到更多的知识。还未理解清楚,但实验结果正确了就匆忙结束实验,并没有达到教学实验的目的。实验报告中,还应写出自己的学习心得和切身体会,也可以对教学实验提出新的建议等。实验报告要交给教师评阅并给出实验成绩。三、实验说明控制器设计是学习计算机总体组成和设计的最重要的部分。要在TEC-XP教学计算机完成这项实验,必须比较清楚地懂得:1.TEC-XP教学机的微程序控制器主要由微程序定序器AM2910、产生当前微地址和下地址的微控存和MACH器件组成;2.TEC-XP教学机上已实现的全部基本指令和留给用户实现的19条扩展指令的控制信号都是由微控存和MACH给出的。3.应了解监控程序的A命令只支持基本指令,扩展指令应用E命令将指令代码写入到相应的存储单元中;不能用T、P命令单步调试扩展指令,只能用G命令执行扩展指令。4.要明白TEC-XP教学机支持的指令格式及指令执行流程分组情况;理解TEC-XP教学机中已经设计好并正常运行的各类指令的功能、格式和执行流程,也包括控制器设计与实现中的具体线路和控制信号的组成。5.要明确自己要实现的指令格式、功能、执行流程设计中必须遵从的约束条件。-3-为了完成自己设计几条指令的的功能、格式和执行流程,并在教学计算机上实现、调试正确的实验内容,具体过程包括:1确定指令格式和功能,包括确定要用的操作码,指令中其它字段的内容分配与使用。指令中字段的使用和分配要受教学机已有硬件的约束,应尽量与已实现指令的格式和分类办法保持一致;2按新指令的功能和格式,设计指令的执行流程。划分指令执行步骤并设计每一步的执行功能,设计微地址和下地址的取值,应参照已实现指令的处理办法来完成;3在指令流程表中填写每一个控制信号的状态值,基本上是个查表填数的过程,应该特别仔细,并有意识地体会这些信号的控制作用;4将设计好的微码,装入控制存储器的相应单元;5写一个包含你设计的指令的程序,通过运行该程序检查执行结果的正确性,来初步判断你的设计是否正确;如果有问题,通过几种办法查出错误并改正,继续调试,直到完全正确。四、实验内容1.完成控制器部件的教学实验,主要内容是由学生自己设计几条指令的的功能、格式和执行流程,并在教学计算机上实现、调试正确。2.首先是看懂TEC-XP教学计算机的功能部件组成和线路逻辑关系,然后分析教学计算机中已经设计好并正常运行的几条典型指令(例如,ADD、MVRR、OUT、MVRD、JRC、CALA、RET等指令)的功能、格式和执行流程,注意各操作功能所对应的控制信号的作用。3.设计几条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确。例如ADC、JRS、JRNS、LDRA、STAR、CALR等指令,可以从给出的19条扩展指令中任意选择,当然也可以设计与实现其它的指令,包括原来已经实现的基本指令(要变换为另外一个指令操作码)或自己确定的指令。4.单条运行指令,查看指令的功能、格式和执行流程。5.用监控程序的A、E(扩展指令必须用E命令置入)命令编写一段小程序,观察运行结果。五、实验步骤1.接通教学机电源;2.将教学机左下方的5个拨动开关置为11010(单步、手动置指令、微程序、联机、16位);3.按一下“RESET”按键;4.通过16位的数据开关SWH、SWL置入指令操作码;5.在单步方式下,通过指示灯观察各类基本指令的微码。1〉选择基本指令的A组指令中的ADD指令,观察其节拍流程〈1〉置拨动开关SW=0000000000000001;(表示指令ADDR0,R1)〈2〉按RESET按键;指示灯Microp亮(只要选择微程序,该灯在指令执行过程中一直亮),其它灯全灭;-4-〈3〉按START按键;指示灯CI3~0、SCC3~0显示11100000,微址和下址的指示灯全灭;(本拍完成公共操作0→PC、DI#=0)〈4〉按START按键;指示灯CI3~0、SCC3~0显示11100000,微址指示灯显示00000001,下址的指示灯全灭;(本拍完成公共操作PC→AR、PC+1→PC)〈5〉按START按键;指示灯CI3~0、SCC3~0显示11100000,微址指示灯显示00000010,下址的指示灯全灭;(本拍完成公共操作MEM→IR)〈6〉以上三步为公共操作,其它指令同;〈7〉按START按键;指示灯CI3~0、SCC3~0显示00100000,微址指示灯显示00000011,下址的指示灯显示00000100;(本拍完成/MAP操作功能)〈8〉按START按键;指示灯CI3~0、SCC3~0显示00110000,微址指示灯显示00000100,下址的指示灯显示00110000(本拍执行ADD指令,DR←DR+SR操作)。〈9〉按START按键;指示灯CI3~0、SCC3~0显示00110010,微址指示灯显示00110000,下址的指示灯显示00111010;(本拍完成STR→Q、CC#=INT#公共操作功能)〈10〉按START按键;指示灯CI3~0、SCC3~0显示00110000,微址指示灯显示00110001,下址的指示灯显示00000010;(本拍完成PC→AR、PC+1→PC、CC#=0的公共操作功能)2〉选择基本指令的B组指令中的MVRD指令,观察其节拍流程〈1〉置拨动开关SW=1000100000000000;(表示指令MVRD)〈2〉按RESET按键;指示灯Microp亮(只要选择微程序,该灯在指令执行过程中一直亮),其它灯全灭;〈3〉按START按键;指示灯CI3~0、SCC3~0显示11100000,微址和下址的指示灯全灭;〈4〉按START按键;指示灯CI3~0、SCC3~0显示11100000,微址指示灯显示00000001,下址的指示灯全灭;〈5〉按START按键;指示灯CI3~0、SCC3~0显示11100000,微址指示灯显示00000010,下址的指示灯全灭;〈6〉以上三步为公共操作,其它指令同。〈7〉按START按键;指示灯CI3~0、SCC3~0显示00100000,微址指示灯显示00000011,下址的指示灯显示00011101;〈8〉按START按键;指示灯CI3~0、SCC3~0显示00110000,微址指示灯显示00011101,下址的指示灯显示00011100;(本拍完成PC→AR、PC+1→PC、CC#=0操作)〈9〉按START按键;指示灯CI3~0、SCC3~0显示00110000,微址指示灯显示00011100,下址的指示灯显示00110000;(本拍完成MEM→DR、CC#=0操作)〈10〉按START按键;指示灯CI3~0、SCC3~0显示00110010,微址指示灯显示00110000,下址的指示灯显示00111010;(本拍完成STR→Q、CC#=INT#操作)〈11〉按START按键;指示灯CI3~0、SCC3~0显示00110000,微址指示灯显示00110001,下址的指示灯显示00000010;(本拍完成PC→AR、PC+1→PC、CC#=0的公共操作功能)3)选择指令INPORT1000001012进行验证-5-六、数据分析我们选择指令INPORT1000001012进行验证1.置拨动开关SW=1000001000000000;(表示指令MVRD)2.按RESET按键;指示灯Microp亮(只要选择微程序,该灯在指令执行过程中一直亮),其它灯全灭;3.微地址开始为00,下地址为01。4.微地址一次跳转到02,03.5.因为是INPORT这条指令将跳转到12.果然,微地址指示灯为000100106.接着微地址跳转到13,30,31完成公共操作后等待下一条指令。0→PC、DI#=0PC→AR、PC+1→PCMEM→IR/MAP121517191B1D1E1F23131416181A1C2024DR+SR→DR0405060708090A0B0C0D0E0F1011DR-SR→DRDRandSR→DRDRxorSR→DRDR-SRDRorSR→DRDRandSRSR→DRDR+1→DRDR-1→DRSHLDRSHRDR判断是否转移PC+OFFSET→PCSP-1→SP、ARSP→AR、SP+1→SPDR→ARSR→ARPC→AR、PC+1→PCPC→AR、PC+1→PCPC→AR、PC+1→PCSP→AR、SP+1→SPPORT→ARR0→IOIO→R0FLAG→MEMMEM→FLAGMEM→DRSR→MEMMEM→QMEM→PCSP-1→SP、ARPC→MEM、Q→PC转移不转移加电启动,按RESET按钮0001020330STR→Q、CC#=INT#31PC→AR、PC+1→PC空操作,不处理中断3A无中断-6-六、试验结论所有基本指令都编程到微程序控制器中,需用户自己确定完成各步操作所需的控制微码,并将微码扩展到MAPROM和七片MPRAM中去。其微地址与下地址在微程序控制器中有确定的规律。-7-指导教师批阅意见:成绩评定:指导教师签字:年月日备注:注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。