《计算机组成原理》课程设计报告院系名称计算机科学与工程学院班级姓名学号指导教师题目一1. 问题描述设计一个具有加法和直接寻址方式的模型机(1)设计内容:设计一台具有输入、输出、加法、存储和跳转功能的模型计算机,并写出工作程序和测试数据验证有设计的指令系统。
(2)设计要求:所设计模型计算机的指令系统共包含五条机器指令:IN(输入)、OUT(输出)、ADD (加法)、STA(存数)、JMP(无条件转移)。
STA和JMP为直接寻址。
2. 题目分析及设计原理通过IN单元输入数据送R0寄存器,然后寄存器和自身相加,再将结果保存到存储器并送OUT单元显示出来,最后无条件跳转,又重复执行。
结合数据通路图设计指令。
数据通路图注意读写逻辑控制信号的控制。
读写控制逻辑如下:3.指令设计及编码模型机的指令系统及指令格式如下:助记符机器指令码说明IN RD,PXXXX XX RDpIN->RD ADD RD,RS,D XXXX RS RD RS+RD->RDSTA M D,RD XXXX M RDDR0->EOUT P,RS XXXX RS XXPRS->LEDJMP M D XXXX M XXDE->PC指令格式为:指令编码为:;//************Start Of Main Memory Data******//$P 00 20 ;START:IN R0 从IN单元读入数据送R0$P 01 00 ;ADD R0,RO 和自身相加,结果送$P 02 10 ;STA 将结果存入主存$P 03 80 ;OUT R0 输出结果$P 04 E0 ;JMP START 跳转到00单元$P 05 00$P 06 50 ;HLT 停机;//************End Of Main Memory Data******//4.微指令设计及编码微指令格式23 22 21 20 10 18-15 14-12 11-9 8-6 5-0M23 CN WR RD IOM S3-S0 A字段B字段C字段MA5-MA0微指令数据流程图二进制微代码表地址 十六进制 高五位 S3-S0 A 字段 B 字段 C 字段 MA5-MA0 00 00 00 01 00000 0000 000 000 000 000001 01 00 6D 43 00000 0000 110 110 101 000011 03 107070 00010 000 111 000 001 110000 32 183001 00011 0000 011 000 000 000001 30 001404 00000 0000 001 010 000 000100 04 002405 00000 0000 010 010 000 000101 05 04B201 00000 1001 011 001 000 000001 31 186012 00011 00000 110 000 000 010010 12 200401 00100 0000 000 010 000 000001 38 186033 00011 0000 110 000 000 110011 33 103034 00010 0000 011 000 000 110100 34280401001010000000010000000001PC->AR PC+1NOP0100 MEM->IR03P<1>30 32 OUT38 IN ADDIN->R001R0->A01IN->AR30 34 STAJMPHLTNOP35R0->OUT01IN->ARR0->MEM31 12 0135 R0->BA+B->R0MEM->R330405PC->AR PC+1MEM->PC3C 1D 013C 006D5D 00000 0000 110 110 000 0111011D 105141 00010 0000 101 000 101 00000135 000035 00000 0000 000 000 000 110101根据指令译码原理图将指令代码译码为微指令入口地址。
指令译码原理图如下:微指令编码为:;//************Start Of MicroController Data*******//$M 00 000001 ;NOP$M 01 006D43 ;PC->AR,PC加1$M 03 107070 ;MEM->IR,P<1>$M 32 183001 ;IN->R0$M 30 001404 ;R0->A$M 04 002405 ;R0->B$M 05 04B201 ;A加B->R0$M 31 186012 ;IN->AR$M 12 200401 ;R0->MEM$M 38 186033 ;IN->AR$M 33 103034 ;MEM->R0$M 34 280401 ;R0->OUT$M 3C 006D5D ;PC->AR,PC加1$M 1D 105141 ;MEM->PC$M 35 000035 ;NOP;//**************End of MicroController Data*******//5. 运行结果及分析1、取指令将PC当前的内容送地址寄存器,在主存中找到该地址处的指令,然后取出指令,送指令寄存器,截图如下:2、从IN单元输入数据送R0寄存器3、R0寄存器和自身相加,结果送R0(1)将寄存器R0中的数据送暂存器A,截图如下:(2)将R0寄存器中的数据送暂存器B,截图如下:(3)寄存器R0和自身相加,结果送到R0寄存器,截图如下:4、将结果存入主存首先通过IN单元输入一个地址,并在主存中找到该地址,截图如下:5、取数(1)通过IN单元输入地址,找到数据在主存中的存储地址,截图如下:(2)将该地址中的数送到R0寄存器6、将数据送OUT单元显示出来题目二1. 问题描述设计一个具有循环右移功能的模型机1、设计内容设计一台具有输入、输出、数据传送、带进位加法,循环右移、停机等功能的模型机,并写出工作程序和测试程序验证所设计的指令系统。
2、设计要求所设计模型计算机的指令系统共包含六条机器指令:IN(输入)、OUT(输出)、ADC (带进位加法)、RR(循环右移)、MOV(数据传送)、HALT(停机),各条指令的寻址方式为寄存器寻址。
2. 题目分析及设计原理通过IN单元输入数据送R0寄存器,然后将寄存器中的数送暂存器A,再通过IN单元输入数据送寄存器R0,并将数据送暂存器B,对A 和B中的数据进行带进位位的加法运算,将结果保存到存储器R0,再将结果循环右移一位,然后将结果送OUT单元显示出来,最后停机。
结合数据通路图设计指令。
数据通路图3. 指令设计及编码模型机的指令系统及指令格式如下:助记符机器指令码说明MOV RD,RS XXXX RS RD RS--->RDADC RD,RS XXXX RS RD RS+RD+cy--->RDRR XXXX RS RD RS循环右移--->RDIN RD,P XXXX XX RDPIN---->RDOUT P,RS XXXX RS XXPRS--->LEDHALT XXXX 00 00 停机指令格式为:指令编码为:;//************Start Of Main Memory Data******//$P 00 20; START:IN R0$P 01 10; R0->A$P 02 20; IN->R0$P 03 00; ADD$P 04 40; RR$P 05 30; OUT R0$P 06 50; HLT 停机;//************End Of Main Memory Data******//4、微指令设计及编码微指令格式23 22 21 20 10 18-15 14-12 11-9 8-6 5-0M23 CN WR RD IOM S3-S0 A字段B字段C字段MA5-MA0微指令数据流程图PC->AR PC+1NOP0100 MEM->IR03P<1>30 32 ADD30 ININ->R001R0->A01R0->BA+B+cy->R031 04RROUTHLTR0->AA 右移移位 ->R0R0->OUTNOP350134 33 05 010135二进制微代码表地址十六进制高五位S3-S0 A 字段 B 字段 C 字段MA5-MA000 00 00 01 00000 0000 000 000 000 00000101 00 6D 43 00000 0000 110 110 101 00001103 107070 00010 000 111 000 001 11000032 183001 00011 0000 011 000 000 00000131 001404 00000 0000 001 010 000 00010030 002405 00000 0000 010 010 000 00010004 053201 00000 1010 011 001 000 00000130 001405 00000 0000 001 010 000 00010105 033201 00000 0110 011 001 000 00000133 280401 00101 0000 000 010 000 00000135 000035 00000 0000 000 000 000 110101根据指令译码原理图将指令代码译码为微指令入口地址。
指令译码原理图如下:微指令编码为:;//************Start Of MicroController Data*******//$M 00 000001; NOP$M 01 006D43; PC->AR,PC+1$M 03 107070; MEM->IR,P<1>$M 32 183001; IN->R0$M 31 001401; R0->A$M 32 183001; IN->R0$M 30 002404; R0->B$M 04 053201; A+B+CY->R0$M 34 001405; R0->A$M 05 033201; RR$M 33 280401; R0->OOUT$M 35 000035; NOP;//**************End of MicroController Data*******//5.运行结果及分析1、取指令将PC当前的内容送地址寄存器,在主存中找到该地址处的指令,然后取出指令,送指令寄存器,截图如下:2、从IN单元输入数据送R0寄存器3、将寄存器R0中的数据送暂存器A中4、对数据进行带进位位的加法运算,结果送寄存器R05、将结果循环右移(1)、首先将结果送入暂存器A(2)、将结果循环右移后送R0寄存器6、将最终结果送OUT单元显示出来题目三1. 问题描述设计一个具有带借位减法和存储功能的模型机1、设计内容设计一台具有输入、输出、数据传送、带借位减法,存数、取数等功能的模型机,并写出工作程序和测试程序验证所设计的指令系统。