硬件课程设计实验报告
---基于微程序的复杂模型机设计
班级: 姓名:
硬件课程设计实验报告
一.实验题目:
设计一台有微程序控制的8位模型机,指令系统要求达到10条指令以上。
二.实验目的:
(1)在掌握部件单元电路实验的基础上,进一步将其组成系统,构造一台复杂模型计算机,建立一台基本完整的整机。
(2)为其定义至少十条机器指令,并编写相应的微程序,通过联机调试,观察计算机执行指令:从取指令、指令译码、执行指令等过程中数据通路内数据的流动情况,进一步掌握整机概念。
三.实验设备:
TDN-CM+教学实验系统一套、PC微机一台
四.实验原理与指令设计:
(1)设计原理:
①数据格式
模型机规定数据采用定点整数补码表示,字长为8位,其格式如下:
其中,第7位为符号位,数值表示范围是-27 ≤X≤27-1 ②机器指令格式
单字节指令寻址方式采用寄存器直接寻址,其格式如下:
双字节指令采用直接寻址,其格式如下
其中,OP-CODE为操作码,RS为源寄存器,RD为目标寄存器,并规定:
③微指令格式:
其中,A、B、C三个字段的编码方案如下表:
WE,A9,A8三个字段编码方案如下:
运算器逻辑功能表:
(2)指令设计:
模型机可设计4大类指令共16条,其中包括算术逻辑指令、访存指令、控制转移指令、I/O指令、停机指令。我们设计的十条指令及其操作码与指令格式如下所示:
机器指令的微操作流程图如下:
01
01
(3)代码编制:
助记符 机器指令 JMP NEXT 50 02 NEXT: IN R0 00 MOV R0,R1 71 IN R0 00 STOR R0,[50] ADD R1,R0 ADD R1,5 OUT R0 LOAD R0,[50] SUB R1,R0 OUT R0 JZ NEXT
代码文件名为test.txt,其内容如下:$P0050 $P0102 $P0200 $P0371 $P0400 $P0520 $P0650 $P0764 $P0840 $P0930 $P0A50 $P0B84 $P0C40 $P0D90
20 50 64 11 05 40 30 50 84 40 90 02
$P0E02 $M00018001 $M0101ED82 $M0200C050 $M0300E004 $M04028201 $M0500A006 $M0601B407 $M07959A01 $M0800E009 $M09009001 $M0A00D181 $M0B01B40C $M0C959A01 $M0D01B40E $M0E619B41 $M0F000000 $M10001001 $M1101ED85 $M1201ED83 $M1301ED88 $M14030201 $M1501ED8A $M1601A20B $M17019201 $M1801A20D $M190180E0 $M20018000 $M3001ED8A
五.实验步骤
1. 如上图,联接器件 2. 打开唐都 CMP 3. 测试连线情况,并修正 4. 连线通过后装载test.txt文件
5. 打开通路图,开始单步运行观察实验结果。
六.心得体会: 王泽玮:
通过这次实验,我自己的收获有如下两点,1.要有耐心:由于线路连接较为复杂,极为考验人的耐心与细心,我们的第一次连接并没有成功,在检查不出错误的基础上,我们拔掉线路又认认真真的连接了第二次,最终才得以正确连接。这其中,我深刻体会到,认真二字在各个领域都是通用的。2.对微程序的执行过程有了比较深入的了解:在以往学习组原课程的过程中,自己感觉对微程序的原理并不太清楚,主要困惑于微指令起始地址如何形成及机器指令对应的微程序入口地址如何形成。通过这次自己设计微指令微程序,对以上两个问题都有了较为深入的探究,清楚的明白了微程序的工作原理,受益良多。
硬件课程设计实验报告
---基于微程序的复杂模型机设计
班级: 姓名:
硬件课程设计实验报告
一.实验题目:
设计一台有微程序控制的8位模型机,指令系统要求达到10条指令以上。
二.实验目的:
(1)在掌握部件单元电路实验的基础上,进一步将其组成系统,构造一台复杂模型计算机,建立一台基本完整的整机。
(2)为其定义至少十条机器指令,并编写相应的微程序,通过联机调试,观察计算机执行指令:从取指令、指令译码、执行指令等过程中数据通路内数据的流动情况,进一步掌握整机概念。
三.实验设备:
TDN-CM+教学实验系统一套、PC微机一台
四.实验原理与指令设计:
(1)设计原理:
①数据格式
模型机规定数据采用定点整数补码表示,字长为8位,其格式如下:
其中,第7位为符号位,数值表示范围是-27 ≤X≤27-1 ②机器指令格式
单字节指令寻址方式采用寄存器直接寻址,其格式如下:
双字节指令采用直接寻址,其格式如下
其中,OP-CODE为操作码,RS为源寄存器,RD为目标寄存器,并规定:
③微指令格式:
其中,A、B、C三个字段的编码方案如下表:
WE,A9,A8三个字段编码方案如下:
运算器逻辑功能表:
(2)指令设计:
模型机可设计4大类指令共16条,其中包括算术逻辑指令、访存指令、控制转移指令、I/O指令、停机指令。我们设计的十条指令及其操作码与指令格式如下所示:
机器指令的微操作流程图如下:
01
01
(3)代码编制:
助记符 机器指令 JMP NEXT 50 02 NEXT: IN R0 00 MOV R0,R1 71 IN R0 00 STOR R0,[50] ADD R1,R0 ADD R1,5 OUT R0 LOAD R0,[50] SUB R1,R0 OUT R0 JZ NEXT
代码文件名为test.txt,其内容如下:$P0050 $P0102 $P0200 $P0371 $P0400 $P0520 $P0650 $P0764 $P0840 $P0930 $P0A50 $P0B84 $P0C40 $P0D90
20 50 64 11 05 40 30 50 84 40 90 02
$P0E02 $M00018001 $M0101ED82 $M0200C050 $M0300E004 $M04028201 $M0500A006 $M0601B407 $M07959A01 $M0800E009 $M09009001 $M0A00D181 $M0B01B40C $M0C959A01 $M0D01B40E $M0E619B41 $M0F000000 $M10001001 $M1101ED85 $M1201ED83 $M1301ED88 $M14030201 $M1501ED8A $M1601A20B $M17019201 $M1801A20D $M190180E0 $M20018000 $M3001ED8A
五.实验步骤
1. 如上图,联接器件 2. 打开唐都 CMP 3. 测试连线情况,并修正 4. 连线通过后装载test.txt文件
5. 打开通路图,开始单步运行观察实验结果。
六.心得体会: 王泽玮:
通过这次实验,我自己的收获有如下两点,1.要有耐心:由于线路连接较为复杂,极为考验人的耐心与细心,我们的第一次连接并没有成功,在检查不出错误的基础上,我们拔掉线路又认认真真的连接了第二次,最终才得以正确连接。这其中,我深刻体会到,认真二字在各个领域都是通用的。2.对微程序的执行过程有了比较深入的了解:在以往学习组原课程的过程中,自己感觉对微程序的原理并不太清楚,主要困惑于微指令起始地址如何形成及机器指令对应的微程序入口地址如何形成。通过这次自己设计微指令微程序,对以上两个问题都有了较为深入的探究,清楚的明白了微程序的工作原理,受益良多。