1、计算机组成原理课程设计精品资料课程设计说明书计算机组成原理课程设计 院 系:计算机科学与工程学院 专业班级:计科(16级4班) 学 号: 学生姓名 指导教师:X老师 2018年6月20日仅供学习与交流,如有侵权请联系网站删除 谢谢16安徽理工大学课程设计(论文)任务书 计算机科学与工程 学院 学 号学生姓名专业(班级)设计题目设计指令系统设计技术参数1.本系统采用DJ-CPTH超强型计算机组成原理教学实验系统搭建电路图,在实验箱上实现指令系统。2.利用软件工程中的可行性研究以及分析方法,进行系统分析。设计要求1. 在基本模型机的基础上构建一组能实现输入、输出、加、减、逻辑与、逻辑或、逻辑非、转
2、移指令等8个功能的指令,这些指令的助记符不得与指导书上相同。2. 指令包括立即数寻址、寄存器直接寻址、存储器直接寻址三种寻址方式。3. 利用新构建的指令系统编程,分别实现以下程序,每组指定一题完成,且每组题目不可重复。1) 将四个二位十进制的BCD码转换成二进制数码;并实现MOV R?,MM和ADD R?,MM指令。2) 将20个字节的内存单元清零;并实现MOV MM,#II和SUB R?,A指令。3) 实现十进制的的乘法功能;并实现CPL R?和ADD R?,#II指令。4) 输入十个8位有符号数,找出十个数的最大奇数与最小偶数;并实现MOV R?,A和SUB R?,#II指令。5) 输入是
3、个8位有符号数,找出其中的最大值和最小值;并实现ADD R?,A和IN MM指令。6) 在数组A中包含5个互不相等的整数,数组B中包含5个互不相等的整数,请将既在A中出现又在B中出现的整数存放在数组C中。并实现IN R?和SUBB R?,#II指令。7) 输入一个16位的数,对其进行带进位的循环左移;并实现MOV MM,R?和SUBB R?,A指令。说明:MM表示存储单元,#II表示立即数,R?表示寄存器R0,R1,R2,R3。工作量1.课程设计说明书1000字;2.画出流程图,编写微指令代码和程序。工作计划1.首先认真研究老师所给的题目,了解题目要求做什么;2.查阅资料,解决难题;3.编写源
4、程序并调试之;4.写课程设计说明书。参考资料1 张昆藏计算机系统结构北京:科学出版社2 著平玲娣,潘雪增计算机组成与设计浙江大学出版社3 白中英计算机组成原理(第二版)北京:科学出版社4 DJ-CPTH超强型计算机组成原理与系统结构实验指导书指导教师签字教研室主任签字 2018年 5月28日姓名:学号班级:题目:实现十进制的的乘法功能;并实现CPL R?和ADD R?,#II指令指导教师评语:成绩: 指导教师: 年 月 日安徽理工大学课程设计(论文)成绩评定表摘 要在现如今飞速发展的第三次信息化革命中,计算机被应用到各行各业,各个领域中。随着计算机的深入发展,人们逐渐步入自动化智能化的生活阶段
5、。“计算机组成原理”是计算机科学与技术系的一-广核心专业基础课程,在计算机专业中起到很重要的作用。本次课程设计通过对-一个简单模型机的设计与实现,是我们对计算机的基本组成、部件的设计、部件间的连接有更深的理解,利用CPU与简单模型机来实现计算机组成原理课程及实验中所学到的实验原理和编程思想,编写指令的应用程序,用微程序控制器实现一-系列的指令功能最终达到将理论与实践相结合。本次设计完成了各指令的格式以及编码的设计,实现了各机器指令微代码,形成具有实现同或功能的应用程序。本课程设计是在完成计算机组成原理实验的基础上,来进行模型计算机的指令系统设计。利用计算机组成原理实验中所学到的实验原理以及编程
6、思想,硬件设备,在基本模型机的基础上构建一组能实现输入、输出、全加、逻辑与、左移指令等功能的指令。指令包括立即数寻址、寄存器直接寻址、存储器直接寻址三种寻址方式。利用新构建的指令系统编程,实现十进制的的乘法功能;并实现CPL R?和ADD R?,#II指令。并且完成测试验证。关键词:指令系统设计,DJ-CPTH模型机,计算机组成原理,十进制乘法,寻址方式AbstractNow third times the rapid development of the information revolution, the computer is applied to all walks of life
7、in various fields. Along with the development of computer, people gradually entered the stage of life intelligent automation. Computer composition principle is the Department of computer science and technology, a wide - Core Courses , plays a very important role in computer science. This course is d
8、esigned and implemented through a simple model machine. We have a deeper understanding of the basic components of the computer, the design of the components, the connection between parts, and the application of CPU and simple model machines to realize the principles and programming ideas of the comp
9、uter composition principles and experiments, and write instructions. The application, with micro controller to achieve a series of instructions - function finally reached the combination of theory and practice. This design has completed the instruction format and encoding design, the realization of
10、the machine instructions to form micro code, with applications to achieve the same or function.The course design is based on the principle of Computer Organization experiment, design instruction system for model computer. Hardware using the computer component experiments principle learned experiment
11、al principle and programming ideas, based on the basic model of the construction of a group can achieve input, output, and logic and, left instructions and other functions of the instruction. Instructions include immediate, direct register addressing, directly addressable memory addressing three. Th
12、e use of programming instruction system of new construction, to achieve the decimal multiplication function; and the realization of CPL R and ADD R? #II, instruction. Complete the test and verification.Keywords: instruction system design, DJ-CPTH model machine, computer principle, composition of dec
13、imal multiplication, addressing mode目录1 设计需求11.1设计内容11.2设计要求12 设计方案32.1 设计思路32.2 2.2程序清单52.3 2.3指令流程图63 调试过程93.1 3.1指令系统设计93.2 3.2 微程序设计94 心得体会145 致谢156 参考文献151 设计需求1.1设计内容(1) 采用DJ-CPTH超强型计算机组成原理教学实验系统搭建电路图,在实验箱上实现指令系统;8) 利用软件工程中的可行性研究以及分析方法,进行系统分析。1.2设计要求(1)在基本模型机的基础上构建一组能实现输入、输出、加、减、逻辑与、逻辑或、逻辑非、转移
14、指令等8个功能的指令,这些指令的助记符不得与指导书上相同;(2)指令包括立即数寻址、寄存器直接寻址、存储器直接寻址三种寻址方式;(3)利用新构建的指令系统编程,实现十进制的的乘法功能;并实现CPL R?和ADD R?,#II指令。2 设计方案2.1 设计思路按照要求设计指令系统,该指令系统能够实现数据传送、带进位的加法运算、左移运算,累加器A判零条件转移指令具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。从而可以想到如下指令:24位控制位分别介绍如下:XRD: 外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。EMWR: 程序存储器EM写
15、信号。EMRD: 程序存储器EM读信号。PCOE: 将程序计数器PC的值送到地址总线ABUS上。EMEN: 将程序存储器EM与数据总线DBUS接通,由EMWR和EMRD决定是将DBUS数据写到EM中,还是从EM读出数据送到DBUS。IREN: 将程序存储器EM读出的数据打入指令寄存器IR和微指令计数器uPC。EINT: 中断返回时清除中断响应和中断请求标志,便于下次中断。ELPPC: 打入允许,与指令寄存器的IR3、IR2位结合,控制程序跳转。MAREN: 将数据总线DBUS上数据打入地址寄存器MAR。MAROE: 将地址寄存器MAR的值送到地址总线ABUS上。OUTEN: 将数据总线DBUS
16、上数据送到输出端口寄存器OUT里。STEN: 将数据总线DBUS上数据存入堆栈寄存器ST中。RRD: 读寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。RWR: 写寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。CN: 决定运算器是否带进位移位,CN=1带进位,CN=0不带进位。FEN: 将标志位存入ALU内部的标志寄存器。WEN: 将数据总线DBUS的值打入工作寄存器W中。AEN: 将数据总线DBUS的值打入累加器A中。X2:X1:X0: X2、X1、X0三位组合来译码选择将数据送到DBUS上的寄存器。具体如下:X2 X1 X0输出寄存器0 0 0IN_OE 外部输入门0
17、 0 1IA_OE 中断向量0 1 0ST_OE 堆栈寄存器0 1 1PC_OE PC寄存器1 0 0D_OE 直通门1 0 1R_OE 右移门1 1 0L_OE 左移门1 1 1没有输出S2:S1:S0: S2、S1、S0三位组合决定ALU做何种运算。具体如下:S2 S1 S0功能0 0 0A+W 加0 0 1A-W 减0 1 0A|W 或0 1 1A&W 与1 0 0A+W+C 带进位加1 0 1A-W-C 带进位减1 1 0A A取反1 1 1A 输出A模型机的寻址方式分五种:累加器寻址:操作数为累加器A,例如“CPL A”是将累加器A值取反,还有些指令是隐含寻址累加器A,例如“OUT”
18、是将累加器A的值输出到输出端口寄存器OUT。寄存器寻址:参与运算的数据在R0-R3的寄存器中,例如 “ADD A,R0”指令是将寄存器R0的值加上累加器A的值,再存入累加器A中。寄存器间接寻址:参与运算的数据在存储器EM中,数据的地址在寄存器R0-R3中,例如 “MOV A,R1”指令是将寄存器R1的值做为地址,把存储器EM中该地址的内容送入累加器A中。存储器直接寻址:参与运算的数据在存储器EM中,数据的地址为指令的操作数。例如“AND A,40H”指令是将存储器EM中40H单元的数据与累加器A的值做逻辑与运算,结果存入累加器A。立即数寻址:参与运算的数据为指令的操作数。例如 “SUB A,#
19、10H”是从累加器A中减去立即数10H,结果存入累加器A。2.2 2.2程序清单;CS R1,#0002;CS R2,#0023; a*b a,b均为4位BCD码(无符号)SR ;采用I/O输入CS R1,ASRCS R2,ACS R3,#0000;R3存放结果CS A,R2YU A,#0001 ;b0=0,A=0MJZ T1CS A,R1 ;b0!=0QJ A,R3CS R3,AT1:CS A,R2YU A,#0010 ;b1=0,A=0MJZ T2CS A,R1ZY A ;A左移QJ A,R3CS R3,AT2:CS A,R2YU A,#0100 ;b2=0,A=0MJZ T3CS A,R
20、1ZY AZY AQJ A,R3CS R3,AT3:CS A,R2YU A,#1000 ;b3=0,A=0MJZ T4CS A, R1ZY AZY AZY AQJ A,R3CS R3,AT4:CS A,R3SC2.3 2.3指令流程图CS A,#01HPCMAR(PC+1PC)MAREMEMIR 、uPCEMA(PC+1PC)图1 立即数寻址,传送指令,将01h传送给累加器aPCMAR(PC+1PC)CS R0,#01HMAREMEMIR 、uPCEMR0(PC+1PC)图2 立即数寻址,将01h传送给r0 PCMAR(PC+1PC)MAREMEMIR 、uPCW+AA(PC+1PC)R0WQ
21、J A,R0 图3 寄存器寻址,加法操作,将r0的值与a相加,结果存入a中CPPCMAR(PC+1PC) MAREMEMIR 、uPCAA(PC+1PC) 图5 累加器寻址,将a的值取反PCMAR(PC+1PC)SCMAREMEMIR 、uPCAOUT(PC+1PC)图6 OUT 将累加器的值送到输出端并输出3 调试过程3.1 3.1指令系统设计本指令系统涉及8条指令,分别完成数据传送,进行加、减和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。具体指令设计如下:助记符机器码1机器码2机器码3注释-FATCH-000000xx 00 - 03试
22、验机占用,不可用CS R?,#* 000001xx 04 - 07#*将立即数送到R?中CS A,R?000010xx 08 - OB将R?的值送到A中CS R?,A 001001xx 24 - 27将A的值送到R?中YU A,#*000011xx 0C - 0F#*A与立即数MJZ * 000100xx 10 - 13*标志位为1时跳转到*位置QJ A,R?000101xx 14 - 17R?中的值加到A中且带进位ZY A 000110xx 18 - 1B A中的值左移SC A000111xx 1C - 1F将A中的值输出到输出端口SR 001000xx 20 - 23从输入端口读取数据到A
23、中3.2 3.2 微程序设计将窗口切换到“uM微程序”窗口,设计每条指令的微程序。每个微程序开始要执行的第一条微指令应是取指操作,因为程序复位后,PC和uPC的值都为0,所以微程序的0地址处就是程序执行的第一条取指的微指令。取指操作要做的工作是从程序存储器EM中读出下条将要执行的指令,并将指令的机器码存入指令寄存器IR和微程序计数器uPC中,读出下条操作的微指令。图8 取指操作图图9 取立即数并放入累加器ACS R0,#01H这条指令是把立即数1从存储器EM中取出,放入寄存器R0中。微程序设计如下(C7FBFF):图10 取立即数并放入寄存器R0QJ A,R0这条指令是寄存器寻址,将R0的值取
24、出放入W中与A相加,再将结果放入A。它由三个指令周期。微程序设计如下:第一步,把R0 的值放入累加器W中:图11 R0放入累加器WSC 将累加器的值送到输出端并输出:图17 累加器的值送到输出端并输出4 心得体会经过这次课程设计,我体会到自己所学的东西太少了,很多都不知道。虽然这次设计的只是一个小程序,但是这其间我还是学到了不少东西。在这次课程设计的过程,有些很基本的知识出现记混淆的现象,通过查书及询问同学,最终明白了。本次课程设计我们要设计一台微程序控制的模型机,以对计算机能有一个整机的概念,完成对计算机组成原理这门课程的综合应用,达到学习本书的作用。作为一个计算机系学生这是必需掌握的,使我
25、们对数据选择器,移位器,加法器,运算器,存储器和微程序控制器,有了比较透彻的认识。由于计算机设计的部件较多,结构原理较复杂,对于我们这样的初设计者来说感到无从下手,所以我们在整个过程中采取由浅入深,由简单到复杂的放法,通过这次设计,使我们能清楚的了解计算机的基本组成,基本原理和设计步骤,设计思路和调试步骤,最终能清晰的建立起整机概念,为独立完成计算机设计奠定了基础。课程设计结束了,从中我们也学到了不少知识。虽然计算机组成原理的课程设计与学习已经结束,可我们学习之路并没有结束,我们会继续努力学习其相关的知识,以适应社会的发展与需要,这样才能真正成为一名合格的大学生。在此次的设计中,感谢张自军老师对我们的帮助和指导。过程还不够完善,希望老师继续指导。5 致谢6 参考文献1 张昆藏计算机系统结构北京:科学出版社2 著平玲娣,潘雪增计算机组成与设计浙江大学出版社3 白中英计算机组成原理(第二版)北京:科学出版社4 DJ-CPTH超强型计算机组成原理与系统结构实验指导书
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100