基于DJ-CPTH模型机混合运算指令的
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
-课程设计
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
目 基于DJ-CPTH模型机混合运算
指令的设计
目 录
摘 要 ...................................................................................................I 前 言 ................................................................................................. II 1 系统设计 ........................................................................................ 1
1.1 设计目的 .......................................................................... 1
1.2 设计任务 .............................................................................. 1
1.3 设计要求 .............................................................................. 1 2 硬件介绍 ..................................................................................... 2
2.1 主要元件 .............................................................................. 2
2.2 主要元件电路图 .................................................................. 4 3 软件设计 ........................................................................................ 6
3.1 微指令代码 .......................................................................... 6
3.2 微指令系统设计 .................................................................. 6
3.2.1 创建指令系统 ............................................................ 7
3.3.2 设计微操作 ................................................................ 9
3.2.3 保存微指令系统 ...................................................... 11 4 跟踪测试 ...................................................................................... 12
4.1 实验准备 ............................................................................ 12
4.2 测试过程 ............................................................................ 12
4.2.1 打开汇编代码,调入相应指令系统 ...................... 12
4.2.2 反汇编下载 .............................................................. 12
4.2.3 跟踪测试 .................................................................. 13 5 设计总结 ...................................................................................... 18
5.1不足之处 ............................................................................. 18
5.2 设计体会 ............................................................................ 18
参考文献 ..........................................................错误~未定义书签。
摘 要
本次课程设计主要对基于DJ-CPTH型计算机组成原理实验系统上微指令系统进行了研究。DJ-CPTH型计算机组成原理实验系统是由江苏启东市东疆计算机有限公司结合国内同类产品的优点,最新研制开发的超强型实验计算机装置。该系统采用单片机管理和EDA控制技术,支持脱机和联PC机两种工作模式,运用系统监控和数码管等实时监视,全面动态管理模型机的运行和内部资源。模型机软硬件配置完整,支持8位字长的多种寻址方式。 CPTH计算机组成原理实验仪,可以由用户自己设计指令/微指令系统,CPTH中内嵌了一个智能化汇编语言编译器,可以对用户设定的汇编助记符进行汇编。
本课程设计中主要设计了8条算术运算指令:传送(MOV),加法(ADD),带进位加法(ADDC),减法(SUB),或(OR),与(AND),取反(CPL),输出(OUT)。通过基于CPTH模型机上指令的设计,实现了执行指令时微程序的控制功能,在指令执行时确实观察到了各个控制信号是如何控制微指令执行过程。
关键词:指令设计;助记符;机器码;微程序;控制信号
I
前 言
在学完《计算机组成原理》课程后,对计算机内部组成及运算器、控制器的工作过程有了一个较全面的了解。在此基础上本次课程设计着重对设计指令进行了研究。弄清计算机执行程序时内部软件如何控制其工作是作为计算机专业的同学必须掌握的知识,为今后继续深造或工作打下良好的专业基础。选择这个课程设计有助于对专业知识的进一步理解与夯实,因此选择这个设计题目研究比较有实际意义。让理论与实际相结合进一步加深对计算机内部工作控制的了解。
本设计基于DJ-CPTH模型机,在OTA软件上创建几条指令,根据指令的功能设计相应的微程序,确保正确无误后保存指令系统,最后再编一段汇编程序调用设计的微指令系统进行对程序的单微指令跟踪,观察结果是否正确。
II
1 系统设计
1.1 设计目的
本课程设计是《计算机组成原理》课程结束以后开设的大型实践性教学环节。通过本课程设计,加深对计算机系统各模块的工作原理及相互联系的认识,特别是对微程序控制器的理解,进一步巩固所学的理论知识,并提高运用所学知识
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
和解决实际问题的能力;锻炼计算机硬件的设计能力、调试能力;培养严谨的科学实验作风和良好的
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
素质,为以后的工作打下基础。 1.2 设计任务
本课程设计中主要设计了8条算术运算指令:传送(MOV),加法(ADD),带进位加法(ADDC),减法(SUB),或(OR),与(AND),取反(CPL),输出(OUT)。通过基于CPTH模型机上指令的设计,实现执行指令时微程序的控制功能。 1.3 设计要求
本课程设计的设计要求为在基本模型的基础上构建一组能实现输入、输出、加、减、逻辑或、取反、带进位加法。
1
2 硬件介绍
2.1 主要元件
实现一个简单的 CPU,并且在此CPU 的基础上,继续构建一个简单的模型计算机。CPU 由运算器(ALU)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成,如图2.1所示。这个CPU 在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU 必须和主存挂接后,才有实际的意义,所以还需要在该CPU 的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。
图2.1基本CPU构成原理图
2
程序计数器PC:
程序计数器PC由两片4位可预置二进制计数器构成8位的计数器。使用“可预置”是因为转移指令需要直接修改PC的值。其电路原理如下图。
8
PC(74LS161) PC(74LS161) LOAD
LDPC
T4 8
图2.2 程序计数器PC
地址寄存器AR:
地址寄存器保存访问存储器时的地址信息,由74LS273实现。其电路原理如下图。
8
AR(74LS273)
LDAR
8 T4
图2.3 地址寄存器AR
指令寄存器IR:
指令寄存器IR存放的是正在执行的机器指令,它作为指令译码器电路的输入,实现程序跳转控制。其电路原理如下图。
3
8
IR(74LS273)
LDIR
8 T4
图2.4 指令寄存器IR 2.2 主要元件电路图
本课程设计主要涉及存储器EM及微存储器uM,其工作原
理图分别如图2.2和2.3所示。
图2.2 EM原理图
4
图2.3 uM原理图
5
3 软件设计
3.1 微指令代码
MOV A,#12H
OR A,06H
CPL A
ADDC A,R1
SUB A,@R1
ADD A,04H
AND A,#01H
OUT
END
3.2 微指令系统设计
CPTH计算机组成原理实验仪,可以由用户自己设计指令/
微指令系统,它内部已经内嵌了一个智能化汇编语言编译器,可
以对用户设定的汇编助记符进行汇编。下面,我们建立一个有如
下指令的系统:
6
图3.1 指令系统
3.2.1 创建指令系统
1(打开CPTH组成原理实验软件,选择[文件|新建指令系统/微程序],清除原来的指令/微程序系统,观察软件下方的“指令系统”窗口,所有指令码都“未使用”。
图3.2 创建指令集界面
2(选择第二行,即“机器码1”为0000 01XX行,在下方的“助记符”栏填入数据装载功能的指令助记符“MOV”,在“操作数1”栏选择“A”,表示第一个操作数为累加器A。在“操作数2”栏选择“#*”,表示第二个操作数为立即数。按“修改”按钮确认。
7
3(选择第三行,即“机器码1”为0000 10XX行,在下方的“助记符”栏填入数据装载功能的指令助记符“OR”,在“操作数1”栏选择“A”,表示第一个操作数为累加器A。在“操作数2”栏选择“*”,表示第二个操作数为立即数。按“修改”按钮确认。
4(选择第四行,即“机器码1”为0000 11XX行,在下方的“助记符”栏填入数据装载功能的指令助记符“CPL”,在“操作数1”栏选择“A”,表示第一个操作数为累加器A。按“修改”按钮确认。
5(选择第五行,即“机器码1”为0001 00XX行,在下方的“助记符”栏填入数据装载功能的指令助记符“ADDC”,在“操作数1”栏选择“A”,表示第一个操作数为累加器A。在“操作数2”栏选择“R?”,表示第二个操作数为立即数。按“修改”按钮确认。
6(选择第六行,即“机器码1”为0001 01XX行,在下方的“助记符”栏填入数据装载功能的指令助记符“SUB”,在“操作数1”栏选择“A”,表示第一个操作数为累加器A。在“操作数2”栏选择“@R?”,表示第二个操作数为立即数。按“修改”按钮确认。
7(选择第七行,即“机器码1”为0001 10XX行,在下方的“助记符”栏填入数据装载功能的指令助记符“ADD”,在“操作数1”栏选择“A”,表示第一个操作数为累加器A。在“操作数2”栏选择“*”,表示第二个操作数为立即数。按“修改”按钮确认。
8(选择第八行,即“机器码1”为0001 11XX行,在下方
8
的“助记符”栏填入数据装载功能的指令助记符“AND”,在“操作数1”栏选择“A”,表示第一个操作数为累加器A。在“操作数2”栏选择“#*”,表示第二个操作数为立即数。按“修改”按钮确认。
9(选择第九行,即“机器码1”为0010 00XX行,在下方的“助记符”栏填入数据装载功能的指令助记符“OUT”,按“修改”按钮确认。
最后,建立本设计的完整指令集,如图3.2所示。
图3.2 完整指令集
3.3.2 设计微操作
将窗口切换到“uM微程序”窗口,现在此窗口中所有微指令值都是0FFFFFFH,也就是无任何操作,我们需要在此窗口输
9
入每条指令的微程序来实现该指令的功能。
图3.3 uM微程序
(1) _FATCH:每个程序开始要执行的第一条微指令应是取指操作,因为程序复位后,PC 和uPC的值都为0,所以微程序的0 地址处就是程序执行的第一条取指的微指令。取指操作要做的工作是从程序存储器EM中读出下条将要执行的指令,并将指令的机器码存入指令寄存器IR和微程序计数器uPC中,读出下条操作的微指令。根据此功能,观察窗口下方的各控制信号,有“勾”表示信号为高,处于无效状态,去掉“勾”信号为低,为有效状态。要从EM中读数,EMRD 必需有效,去掉信号下面的“勾”使其有效;读EM的地址要从PC输出,所以PCOE要有效,允许PC输出,去掉PCOE下面的“勾”,PCOE有效同时还会使PC加1,准备读EM的下一地址;IREN是将EM读出的指令码存入uPC和IR,所以要去掉IREN的“勾”使其有效。这样,取指操作的微指令就设计好了,取指操作的微指令的值为CBFFFFH。然后把助记符:_FATCH_:,状态:T0:,微地址:00:,微程序“CBFFFFH”。
(2) MOV A,#*:首先要从EM中读出立即数,并送到数据总线DBUS,再从DBUS 上将数据打入累加器A中,按照这个要求,从EM中读数据,EMRD应该有效,EM的地址由PC
10
输出,PCOE必需有效,读出的数据送到DBUS,EMEN也应有效,要求将数据存入A中,AEN也要有效,根据前面描述“MOV A,#*”指令有两个状态周期,T1状态将所有有效位下面的“勾”去掉,使其有效,这条微指令的值为C7FFF7H。为了保证程序的连续执行,每条指令的最后必需是取指令,取出下条将要执行的指令。T0状态取指微指令的值为CBFFFFH。
(3) OR A, *:
图3.4 uM微操作图
3.2.3 保存微指令系统
选择菜单[文件|保存指令系统/微程序]功能,将新建的指令系统/微程序保存下来,以便以后调用。为了不与已有的指令系统冲突,将新的指令系统/微程序保存为“jiangfuyuan.mac”。
11
4 跟踪测试
4.1 实验准备
(1) 拔掉实验箱所有连线,J1—J2连接;
(2) 将白色串口线与电脑连接;
(3) 将“组合逻辑控制单元”开关拨动到“微程序”处,将“通信选择开关”拨动到“CPTH”处。
4.2 测试过程
4.2.1 打开汇编代码,调入相应指令系统
输入源程序,保存为jiangfuyuan.ASM
MOV A,#12H
OR A,06H
CPL A
ADDC A,R1
SUB A,@R1
ADD A,04H
AND A,#01H
OUT
END
4.2.2 反汇编下载
选择[文件|调入微指令系统/微程序],调入jiangfuyuan.mic。选择[汇编|汇编下载],当弹出“装载完毕”时,表明源程序已成功汇编成机器码,进而在调试窗口显示出程序地址、机器码和反汇编指令,如表4.1所示。
12
图4.1 反汇编指令解析
4.2.3 跟踪测试
选择工具栏里面的“跟踪”按钮,逐步跟踪调试。
(1)MOV A,#12H:将立即数装入累加器A,如图4.2所示。
图4.2
(2) OR A,06H累加器A逻辑或存储器单元里的内容,如图4.3所示。
13
(3) CPL A:累加器A内容取反,如图4.4所示。
(4) ADDC A,R1:累加器A的值加上寄存器R1加进位,如图4.5所示。
14
(5) SUB A,@R1:累加器A减R1间址的存储器内容,如图4.6所示。
(6) ADD A,04H:累加器A加存储器单元内容,如图4.7所示。
15
(7) AND A,#01H:累加器A与立即数的与运算,如图4.8所示。
(8) OUT :累加器A内容输出到端口OUT,如图4.9所示。
16
17
5 设计总结
5.1不足之处
本次设计中调试程序的过程中出现了一些错误,并且程序主体不是太明确,且程序有些简单。对于其中的抓图做的不是太好,需要再改进。
5.2 设计体会
通过这次课程设计,基本上了掌握了复杂模型机的设计与实现。与此同时,进一步的了解了计算机系统各模块的基本工作原理、各部件之间的设计与连接、微程序控制器的设计、微指令和微程序的编制与调试等过程。加深了对计算机组成原理理论课程以及本学期实验的巩固。
这次的课程设计不仅是对理论的验证,重要的是技术训练和能力培养,包括动手能力、分析问题和解决问题的能力、团队协作能力等的培养。同时要培养学生交流的能力,能够很好的表达自己的设计思想,这也是设计中必不可少的,因此,在整个课程中,指导教师多次与学生交流设计方案,让学生在与老师交流中逐渐理解处理器的工作原理。同时,培养学生书写
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
的能力,很多学生只注重编程序,而不重视课程报告的撰写,这需要老师的指导,让学生明白报告不只是给老师看的,更重要的是通过自己的报告的形式提交自己的设计思想。
18
在这次课程设计中,很多计算机组成原理的知识在实际中得到运用。小组成员之间积极的配合,都对计算机系统的基本组成原理有了很深的认识,自身理论知识和动手能力得到很大提高,也培养了我们科学研究的能力,有很大的收获。要想做得更好,就必须平时多了解一些关于计算机组成的知识,这样才会得心应手。
19
20