课程设计报告课程名称计算机组成原理课题名称复杂模型计算机的设计专业计算机科学与技术班级学号姓名指导教师唐北平、陈华光、陈多、年月日2湖南工程学院课程设计任务书课程名称计算机组成原理课题复杂模型计算机的设计专业班级学生姓名学号指导老师唐北平、陈华光、陈多审批陈华光任务书下达日期任务完成日期3一、设计内容与设计要求1.设计内容模型机是由五个部分组成的计算机,通过它可以理解计算机整机的结构及功能,理解CPU、存储器、中断控制器、总线的结构及实现逻辑和各部件之间的接口关系。本次课程设计的主要内容是利用西安唐都公司的TDN-CM++的内部可编程资源,设计一个模型计算机。本课程设计的主要目的是通过部件级的模型机的设计和调试,使学生理解计算机由5部分组成,掌握计算机的工作过程,从“指令—微指令—微操作”概念的理解,从而清晰地建立计算机的整机概念,并培养学生分析和解决实际问题的能力,同时增强学生的动手能力。2.设计要求:(1)借助于TDN-CM++的内部可编程资源,运算器单元,控制存储器,微命令寄存器,地址转移逻辑,微地址寄存器,控制时序信号单元,寄存器组,总线,输入\输出单元等,用微程序的方式设计一台的模型计算机。设计包括模型计算机组成的设计,指令系统的设计,并用汇编语言完成设计并调试成功。(2)复杂模型机的设计要求(参考P107-115)模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址。设计2条访内指令,即存数(STA)、取数(LDA),2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC)。设计2条I/O指令,输入(IN)和输出(OUT)指令采用单字节指令。设计停机指令1条用单字节表示。(3)调试的程序第一组地址(H)内容(H)助记符说明$P0044IN01R0INPUTdevice-R0$P0146IN01R2INPUTdevice-R2$P0298ADCR2R0R2+R0+CY-R0$P0381MOVR0R1R0-R1$P04F5RLCR1R1R1右移一位$P050CBZC000000-PC4$P0600第二组地址(H)内容(H)助记符说明$P0045IN01R1INPUTdevice-R1$P0100LDA0000R0(20)-R0$P0220$P0386MOVR1R2R1-R2$P04A8SBCR2R0R2-R0-CY-R0$P05F5RLCR1R1R1右移一位$P060CBZC000000-PC$P0700第三组地址(H)内容(H)助记符说明$P0046IN01R2INPUTdevice-R2$P0184MOVR2R0R2-R0$P0244IN01R0INPUTdevice-R0$P0398ADCR2R0R2+R0+CY-R0$P04E2COMR2NOTR2-R0$P05D6STA000AR2R2-(0A)$P060A$P070CBZC000000-PC$P0800在规定的时间内以小组为单位完成相关的系统功能实现、数据测试和记录并进行适当的分析。要求,同一小组的每个同学必须分析一条不同的机器指令的微程序的组成,说明组成该机器指令的每一条微指令的微命令(不同的控制信号的组成)。要求修改一条微指令。(4)按本任务书的要求,编写《课程设计报告》(Word文档格式)。并用A4的复印纸打印并装订。(5)在规定的时间内,请各班学习委员收齐课程设计报告在星期五交陈华光老5师。3.分组及安排分5组,学号除以5取余数,余数为0的同学做复杂模型机1、余数为1的同学做复杂模型机2,余数为2的同学做复杂模型机3,余数为3的同学做基于RISC的模型机,余数为4的做流水线模型机,每个组必须独立完成指定的题目,每个同学按要求独立完成课程设计报告。4.成绩评定程序设计方案是否合理;程序设计是否正确;调试结果;设计说明书的质量高低;答辩时回答问题情况;课程设计周表现情况;总评成绩记入“课程设计成绩评分表”。6二、进度安排第2周,具体安排如下:星期时间班级内容地点第2周星期一8:30~11:30布置任务,任务安排星期二8:30~11:30接线星期二14:30~17:30接线星期三8:30~11:30编程星期三14:30~17:30调试星期四14:30~17:30系统调试实现星期五8:30~11:30测试程序,写报告7目录一、课题的主要功能.................................8二、总体设计方案...................................9三、数据格式和寻址方式的设计......................11四、指令和和微程序的设计..........................14五、线路连接图....................................15六、微程序流程及说明..............................16(1)微程序截图流程................................................................16(2)修改后的机器指令.....................................................18七、课程设计的收获及体会..........................22八、参考资料......................................23九、评分表........................................248一、课题的主要功能本课题设计的主要目的是通过部件级的模型机的设计和调试,使学生理解计算机由5部分组成,掌握计算机的工作过程,从“指令—微指令—微操作”概念的理解,从而清晰地建立计算机的整机概念,并培养学生分析和解决实际问题的能力,同时增强学生的动手能力。此次课题的目的是完整设计一台模型计算机,进一步建立整机的概念。借助于TDN-CM++的内部可编程资源,运算器单元,控制存储器,微命令寄存器、地址转移逻辑,微地址寄存器,控制时序信号单元,寄存器组,总线,输入、输出单元等,用微程序的方式设计一台的模型计算机。设计包括模型计算机组成的设计,指令系统的设计,并用汇编语言完成设计并调试成功因此我们先通过一个复杂模型机的设计实验来进行实际的计算机设计和实现,然后安排了用CPLD来实现一个CPU中的大部分功能的设计实验,接着讨论了输入输出系统的概念、分类、接口、寻址、基本控制方式等,根据后续微地址的形成方法,确定每条微程序地址及分支转移地址。根据微指令格式,将微程序流程中的所有微指令代码化,转化成相应的二进制代码,写入到控制存储器中的相应单元中。在总调试前,先按功能模块进行组装和分调,因为只有各功能模块工作正常后,才能保证整机的运行正确。9二、总体设计方案(1)复杂模型机的逻辑框图以控制器为中心,首控制器从指令寄存器取得指令,编译指令,再输出微控制信号,控制ALU的运算,PC加一,并且从RAM中取出数据运算,运算后再把结果通过数据总线存到RAM,在指令寄存器读去下一条指令,依次循环。图1复杂模型计算机逻辑框图102、用框图语言表示模型机的指令执行流程图2模型计算机逻辑框图11三、数据格式和寻址方式的设计1、数据格式模型机规定采用定点补码表示法表示数据,且字长为8位,其格式如下:76543210符号尾数其中第7位为符号位,相对于十进制数值表示范围是:-27X27-1。2、模型机的寻址方式、操作数的寻址就是寻找形成操作数在主存中的地址的方法。设指令格式如下:形式地址(D):指令地址字段中给出的地址。有效地址(EA):形式地址经过一定计算而得到的操作数的实际地址。常用寻址方式如下:(1)隐含寻址:指令中不指出操作数的地址,而是隐含在累加器或堆栈等,由它们给出操作数。(2)立即寻址:指令的地址字段指出的不是操作数的地址,而是操作数本身。即数据data=D。(3)直接寻址:操作数的地址直接在指令中给出,即操作数的有效地址为EA=D。(4)间接寻址:指令的形成地址D在主存相应单元中的内容是操作数的地址,即操作数的有效地址为EA=(D)。(5)寄存器寻址:指令中给出的是寄存器号R,操作数就是寄存器中的内容,即data=(R)。(6)寄存器间接寻址:指令中给出的是寄存器号R,而操作数的地址就是寄存器中的内容,即EA=(R)。(7)相对寻址:操作数地址为程序计数器PC中的内容与指令中给出的地址偏移量D之和,位移量D通常以补码形式给出,可正可负。即EA=(PC)+D。(8)基址寻址:操作数地址为基址寄存器中的内容与指令中给出的地址偏移量D之和,即EA=(R)基址+D(9)变址寻址:操作数地址为变址寄存器中的内容与指令中给出的地址偏移量D之和,3、指令格式(p107-115)由于本模型机机器字长只有8位二进制长度,故使用单字长指令和双字长指令。根据要求,设计该模型机能执行的不同指令,例指令格式及功能如下:操作码(OP)寻址特征形式地址12(1)算术逻辑运算指令9条算术逻辑指令的名称、功能和具体格式见表7.2-1。算术逻辑运算指令用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:7654321013OP-CODErsrd其中,OP-CODE为操作码,rs为源寄存器,rd为目的寄存器,并规定:(2)访问指令及转移指令模型机设计2条访内指令,即存数(STA)、取数(LDA),2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC),指令格式为:7654321000MOP-CODERDD其中,OP-CODE为操作码,rd为目的寄存器地址(LDA、STA指令使用)。D为位移量(正负均可),M为寻址模式,其定义如下:(3)I/O指令输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:其中,addr=01时,选中“INPUTDEVICE”中的开关组作为输入设备,addr=10时,选中“OUTPUTDEVICE”中的数码块作为输出设备。(4)停机指令指令格式如下:HALT指令,用于实现停机操作。Rs或rd选定的寄存器000110R0R1R2寻址模式M有效地址E说明00011011E=DE=(D)E=(RI)+DE=(PC)+D直接寻址间接寻址RI变址寻址相对寻址14四、指令和和微程序的设计(1).指令系统本模型机共有16条基本指令,其中算术逻辑指令7条,访问内存指令和程序控制指令4条,输入输出指令2条,其它指令1条。表X列出了各条指令的格式、汇编符号、指令功能。按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码表,表X即为将图X微程序流程图按微指令格式转化而成的“二进制微代码表”。并将二进制代码表转换为联机操作时的十六进制格式文件,见下表X。242322212019181716151413121110987654321S3S2S1S0MCnWEA9A8ABCμA5μA5μA5μA5μA5μA5、15五、线路连接图16六、微程序流程及说明(1)微程序截图流程5-1取指令,指令译码5-2把操作数送到R1中175-3取指令,指令译码。5-4把操作数送到R2中185-5把R2,R1的值送到运算器中并运算。(2)修改后的机器指令第一组地址(H)内容(H)助记符说明$P0044IN01R0INPUTdevice-R0$P0146IN01R2INPUTdevice-R2$P0298ADCR2R0R2+R0+CY-R0$P0381MOVR0R1R0-R1$P04f4RRCR1R1$P050CBZC000000-PC$P060019$M00018108$M0101ED82$M0200C050$M0300A004$M0400E0A0$M0500E006$M0600A007$M0700E0A0$M0801ED8A$M0901ED8C$M0A00