您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 计算机组成原理课程设计(复杂模型机设计)
一、课程设计的目的与要求1.1实验目的1.掌握时序产生器的组成及工作原理;掌握微程序控制器的组成及工作原理;2.根据给出的指令系统、微指令格式、微命令的字段译码方案、地址转移逻辑电路分别设计部分微程序流程图、微指令的二进制代码;3.掌握微程序的编制、写入和读出验证的方法;4.根据给出的汇编语言和机器语言源程序,通过改变SE1~SE6的值,模拟P(1)测试,观察微程序的运行过程,掌握由微程序解释机器语言源程序的工作原理。1.2实验要求二、课程设计的内容及其要求三、课程设计的时间安排序号教学顺序教学内容学时(天)性质1准备阶段了解课程设计目的要求、查阅资料半天理解2设计阶段硬件和软件设计;机器指令与微指令的设计2设计3上机调试阶段编写微指令,上机运行程序2设计4编写实习报告阶段检查课程设计效果、编写课程设计报告半天验证四、课程设计的实验环境1.硬件环境①唐都实验箱一个②排线若干③PC一台2.软件环境:①应用软件CMPP②Windows系统五、正文5.1数据格式和指令系统5.1.1数据格式模型机规定采用定点正数补码表示,字长为8位,其格式如下:76543210符号尾数其中,第7位为符号位,数值的表示范围是:-27≤X≤27-1。5.1.2指令系统本模型机共有16条基本指令,其中算术逻辑指令七条,移位指令两条,访问内存指令和程序控制指令四条,输入/输出指令两条,其他指令一条。图5-1列出了各条指令的格式、助记符和功能。图5-1指令格式图5.2.数据通路根据机器指令系统要求,设计微程序流程图从确定微地址,如图5-2所示。图5-2数据通路图5.3时序系统实验所用的时序控制电路框图如图5-3所示,图5-3时序控制电路图可产生四个等间隔的时序信号TSl~TS4。在图5-3中,ф为时钟信号,由实验台左上方的方波信号源提供,可产生频率及脉宽可调的方波信号;STEP(单步)是来自实验板上方中部的—个二进制关STEP的模拟信号;START键是来自实验板上方左部的一个微动开关START的按键信号。当STEP开关为0时(EXEC),一旦按下START启动键,时序信号TSl~TS4将周而复始地发送出去。当STEP为1(STEP)时,一旦按下SATRT启动键,机器便处于单步运行状态,即此时只发送一个CPU周期的时序信号就停机了。利用单步方式,每次只读一条微指令,可以观察微指令的代码与当前微指令的执行结果。另外,当机器连续运行时,如果STEP开关置“1”,会使机器停机,CLR开关执行1→0→1操作可以使时序清零。时序状态图见图5-4。图5-4时序状态图5.4指令格式模型机设计四大类指令共16条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。5.4.1微指令格式按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码表转换为联机操作时的十六进制格式文件,如图5-5:图5-5微指令二进制格式5.4.2机器指令格式1.算术逻辑指令设计九条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:76543210OP-CODERSRD其中,OP-CODE为操作码,RS为源寄存器,RD为目的寄存器,并规定:RS或RD选定的寄存器000110R0R1R22.访问指令及转移指令模型机设计两条访问指令,即存数(STA)、取数(LDA),两条转移指令,即无条件转移(JMP)、结果为零或有进位转移(BZC),指令格式如下:7654321000MOP-CODERDD其中,OP-CODE为操作码,RD为目的寄存器地址(LDA、STA指令使用)。D为位移量(正负均可),M为寻址模式,其定义如下:本模型机规定变址寄存器RI指定为寄存器R2。3.I/O指令输入(1N)和输出(OUT)指令采用单字节指令,其格式如下:76543210OP-CODEaddrRD其中,addr=01时,选中“INPUTDEVICE”中的开关组作为输入设备,addr=10时,选中“OUTPUTDEVICE”中的数码块作为输出设备。4.停机指令停机指令格式如下:76543210OP-CODE0000HALT指令,用于实现停机操作。5.5微程序控制器本系统的微控器单元主要由编程部分和核心微控器部分组成。编程部分是通过编程开关的相应状态选择及由T2引入的节拍脉冲来完成将预先定义好的微代码程序写入到2816控制存贮器中,并可以对控制存贮器中的程序进行校验。该系统具有本地直接编程和校验功能,且由于选用2816E2PROM芯片为控制存贮器,所以具备掉电保护功能。微程序控制电路的组成见图5-6。图5-6微程序控制流程原理图5.6微程序流程图本实验微程序流程图如图5-7:图5-7微程序流程图5.7微程序代码表本程序设计了共58条微指令,各条微指令二进制代码如下:地址指令S3-S0MCnWEA9A8ABC654321000181080000000110000001000010000101ED820000000111101101100000100200C0500000000011000000010100000300A0040000000010100000000001000400E0A00000000011100000101000000500E0060000000011100000000001100600A0070000000010100000000001110700E0A00000000011100000101000001001ED8A0000000111101101100010101101ED8C0000000111101101100011001200A03B000000001010000000111011130180010000000110000000000000011400203C0000000000100000001111001500A00E0000000010100000000011101601B60F0000000110110110000011111795EA251001010111101010001001012001ED830000000111101101100000112101ED850000000111101101100001012201ED8D0000000111101101100011012301EDA6000000011110110110100110240010010000000000010000000000012503040100000011000001000000000126015016000000011000000000010110273D9A01001111011001101000000001300192010000000110010010000000013101A22A0000000110100010001010103201B22C0000000110110010001011003301A4320000000110100100001100103401A2330000000110100010001100113501A436000000011010010000110110363182370011000110000010001101113731823900110001100000100011100140009001000000001001000000000001410284010000001010000100000000014205DB81000001011101101110000001430180E4000000011000000011100100440180010000000110000000000000014595AAA01001010110101010101000004600A0270000000010100000001001114701BC280000000110111100001010005095EA291001010111101010001010015195AAA01001010110101010101000005201B42B00000001101101000010101153959B411001010110011011010000015401A42D0000000110100100001011015565AB6E011001011011101101101110560D9A0100001101100110100000000162F59A011111010110011010000000016301B4350000000110110100001101016405DB8100000101110110111000000165E99B41111010011001101101000001660D9A0100001101100110100000000167218838001000011000100000111000700198010000000110011000000000017111883A0001000110001000001110107201980100000001100110000000000173070A0800000111000010100000100074068A090000011010001010000010015.8程序测试本程序实现了将两个数组相对应的数进行或运算,再将或运算的结果相加输出。其中一个数组中的数从实验箱设置的数读取,另一个数组的数直接存入主存,取数时用到了直接寻址和变址寻址两种寻址方式,具体机器指令如下:$P0070;R0清除$P0171;R1清除$P0272;R2清除$P0344;INPUTDEVICE-R0(=0x06)$P0424;STAR0-[45H](变址寻址)$P0545;[(45+R2)H]=()$P0601;LDA[50H]-R1$P0750;[50H]=252$P0800;LDA[51H]-R0$P0951;[51H]=1$P0A92;ADCR2,R1-R1$P0B99;ADCR0,R2-R2$P0C0D;BZC跳转至0x70(Z=1)$P0D10;$P0E08;JMP跳转至0x03(循环)$P0F03;$P1072;R2清除$P1120;LDA[40H]-R0(变址寻址)$P1240;[40+R2]$P1321;LDA[45H]-R1(变址寻址)$P1445;[45+R2]$P15C1;ORR0,R1-R1$P1625;STAR1-[60H](变址)$P1760;[60+R2]$P1801;LDA[50H]-R1$P1950;[50H]=252$P1A00;LDA[51H]-R0$P1B51;[51H]=1$P1C92;ADCR2,R1-R1$P1D99;ADCR0,R2-R2$P1E0C;BZC跳转至0x71(Z=1)$P1F22;$P2008;JMP跳转至0x11(循环)$P2111;$P2272;R2清除$P2370;R0清除$P2400;LDA[65H]-R0$P2565;$P2621;LDA[60H]-R1(变址寻址)$P2760;[60+R2]$P2894;ADCR1+R0-R0$P2904;STAR0-[65H]$P2A65;$P2B01;LDA[50H]-R1$P2C50;[50H]=252$P2D00;LDA[51H]-R0$P2E51;[51H]=1$P2F92;ADCR2,R1-R1$P3099;ADCR0,R2-R2$P310C;BZC跳转至0x72(Z=1)$P3235;$P3308;JMP跳转至0x24(循环)$P3424;$P3558;R0-OUTPUTDEVICE$P4001$P4102$P4203$P4304$P4405$P50FF$P5101$P6500$P7010$P7122$P7235六、结论(应当准确、完整、明确精练;也可以在结论或讨论中提出建议、设想、尚待解决问题等。)七、参考文献(
本文标题:计算机组成原理课程设计(复杂模型机设计)
链接地址:https://www.777doc.com/doc-6525553 .html