计算机组成原理课程设计36538.docx
《计算机组成原理课程设计36538.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计36538.docx(16页珍藏版)》请在冰豆网上搜索。
计算机组成原理课程设计36538
课程设计说明书
计算机组成原理课程设计
院系:
计算机科学与工程学院
专业班级:
计科〔16级4班〕
学号:
学生
指导教师:
X教师
2018年6月20日
理工大学课程设计〔论文〕任务书
计算机科学与工程学院
学号
学生
专业〔班级〕
设计题目
设计指令系统
设
计
技
术
参
数
DJ-CPTH超强型计算机组成原理教学实验系统搭建电路图,在实验箱上实现指令系统。
2.利用软件工程中的可行性研究以与分析方法,进展系统分析。
设
计
要
求
1.在根本模型机的根底上构建一组能实现输入、输出、加、减、逻辑与、逻辑或、逻辑非、转移指令等8个功能的指令,这些指令的助记符不得与指导书上一样。
2.指令包括立即数寻址、存放器直接寻址、存储器直接寻址三种寻址方式。
3.利用新构建的指令系统编程,分别实现以下程序,每组指定一题完成,且每组题目不可重复。
1)将四个二位十进制的BCD码转换成二进制数码;
并实现MOVR?
MM和ADDR?
MM指令。
2)将20个字节的存单元清零;并实现MOVMM,#II和SUBR?
A指令。
3)实现十进制的的乘法功能;并实现CPLR?
和ADDR?
#II指令。
4)输入十个8位有符号数,找出十个数的最大奇数与最小偶数;
并实现MOVR?
A和SUBR?
#II指令。
5)输入是个8位有符号数,找出其中的最大值和最小值;
并实现ADDR?
A和INMM指令。
6)在数组A中包含5个互不相等的整数,数组B中包含5个互不相等的整数,请将既在A中出现又在B中出现的整数存放在数组C中。
并实现INR?
和SUBBR?
#II指令。
7)输入一个16位的数,对其进展带进位的循环左移;
并实现MOVMM,R?
和SUBBR?
A指令。
说明:
MM表示存储单元,#II表示立即数,R?
表示存放器R0,R1,R2,R3。
工
作
量
1.课程设计说明书1000字;
2.画出流程图,编写微指令代码和程序。
工
作
计
划
1.首先认真研究教师所给的题目,了解题目要求做什么;
2.查阅资料,解决难题;
3.编写源程序并调试之;
4.写课程设计说明书。
参
考
资
料
[1]昆藏.计算机系统结构.:
科学
[2]著平玲娣,雪增《计算机组成与设计》大学
[3]白中英.计算机组成原理(第二版).:
科学
[4]DJ-CPTH超强型计算机组成原理与系统结构实验指导书
指导教师签字
教研室主任签字
2018年5月28日
:
学号班级:
题目:
实现十进制的的乘法功能;并实现CPLR?
和ADDR?
#II指令
指导教师评语:
成绩:
指导教师:
年月日
理工大学课程设计〔论文〕成绩评定表
摘要
在现如今飞速开展的第三次信息化革命中,计算机被应用到各行各业,各个领域中。
随着计算机的深入开展,人们逐渐步入自动化智能化的生活阶段。
“计算机组成原理〞是计算机科学与技术系的一-广]核心专业根底课程,在计算机专业中起到很重要的作用。
本次课程设计通过对-一个简单模型机的设计与实现,是我们对计算机的根本组成、部件的设计、部件间的连接有更深的理解,利用CPU与简单模型机来实现计算机组成原理课程与实验中所学到的实验原理和编程思想,编写指令的应用程序,用微程序控制器实现一-系列的指令功能最终达到将理论与实践相结合。
本次设计完成了各指令的格式以与编码的设计,实现了各机器指令微代码,形成具有实现同或功能的应用程序。
本课程设计是在完成计算机组成原理实验的根底上,来进展模型计算机的指令系统设计。
利用计算机组成原理实验中所学到的实验原理以与编程思想,硬件设备,在根本模型机的根底上构建一组能实现输入、输出、全加、逻辑与、左移指令等功能的指令。
指令包括立即数寻址、存放器直接寻址、存储器直接寻址三种寻址方式。
利用新构建的指令系统编程,实现十进制的的乘法功能;并实现CPLR?
和ADDR?
#II指令。
并且完成测试验证。
关键词:
指令系统设计,DJ-CPTH模型机,计算机组成原理,十进制乘法,寻址方式
Abstract
Nowthirdtimestherapiddevelopmentoftheinformationrevolution,theputerisappliedtoallwalksoflifeinvariousfields.Alongwiththedevelopmentofputer,peoplegraduallyenteredthestageoflifeintelligentautomation."puterpositionprinciple"istheDepartmentofputerscienceandtechnology,awide-CoreCourses",playsaveryimportantroleinputerscience.Thiscourseisdesignedandimplementedthroughasimplemodelmachine.Wehaveadeeperunderstandingofthebasicponentsoftheputer,thedesignoftheponents,theconnectionbetweenparts,andtheapplicationofCPUandsimplemodelmachinestorealizetheprinciplesandprogrammingideasoftheputerpositionprinciplesandexperiments,andwriteinstructions.Theapplication,withmicrocontrollertoachieveaseriesofinstructions-functionfinallyreachedthebinationoftheoryandpractice.Thisdesignhaspletedtheinstructionformatandencodingdesign,therealizationofthemachineinstructionstoformmicrocode,withapplicationstoachievethesameorfunction.
ThecoursedesignisbasedontheprincipleofputerOrganizationexperiment,designinstructionsystemformodelputer.Hardwareusingtheputerponentexperimentsprinciplelearnedexperimentalprincipleandprogrammingideas,basedonthebasicmodeloftheconstructionofagroupcanachieveinput,output,andlogicand,leftinstructionsandotherfunctionsoftheinstruction.Instructionsincludeimmediate,directregisteraddressing,directlyaddressablememoryaddressingthree.Theuseofprogramminginstructionsystemofnewconstruction,toachievethedecimalmultiplicationfunction;andtherealizationofCPLRandADDR?
?
#II,instruction.pletethetestandverification.
Keywords:
instructionsystemdesign,DJ-CPTHmodelmachine,puterprinciple,positionofdecimalmultiplication,addressingmode
1设计需求
(1)采用DJ-CPTH超强型计算机组成原理教学实验系统搭建电路图,在实验箱上实现指令系统;
8)利用软件工程中的可行性研究以与分析方法,进展系统分析。
〔1〕在根本模型机的根底上构建一组能实现输入、输出、加、减、逻辑与、逻辑或、逻辑非、转移指令等8个功能的指令,这些指令的助记符不得与指导书上一样;
〔2〕指令包括立即数寻址、存放器直接寻址、存储器直接寻址三种寻址方式;
〔3〕利用新构建的指令系统编程,实现十进制的的乘法功能;并实现CPLR?
和ADDR?
#II指令。
2设计方案
2.1设计思路
按照要求设计指令系统,该指令系统能够实现数据传送、带进位的加法运算、左移运算,累加器A判零条件转移指令具有累加器寻址、存放器寻址、存放器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。
从而可以想到如下指令:
24位控制位分别介绍如下:
XRD:
外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。
EMWR:
程序存储器EM写信号。
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上数据送到输出端口存放器OUT里。
STEN:
将数据总线DBUS上数据存入堆栈存放器ST中。
RRD:
读存放器组R0-R3,存放器R?
的选择由指令的最低两位决定。
RWR:
写存放器组R0-R3,存放器R?
的选择由指令的最低两位决定。
:
决定运算器是否带进位移位,=1带进位,=0不带进位。
FEN:
将标志位存入ALU部的标志存放器。
WEN:
将数据总线DBUS的值打入工作存放器W中。
AEN:
将数据总线DBUS的值打入累加器A中。
X2:
X1:
X0:
X2、X1、X0三位组合来译码选择将数据送到DBUS上的存放器。
具体如下:
X2X1X0
输出存放器
000
IN_OE外部输入门
001
IA_OE中断向量
010
ST_OE堆栈存放器
011
PC_OEPC存放器
100
D_OE直通门
101
R_OE右移门
110
L_OE左移门
111
没有输出
S2:
S1:
S0:
S2、S1、S0三位组合决定ALU做何种运算。
具体如下:
S2S1S0
功能
000
A+W加
001
A-W减
010
A|W或
011
A&W与
100
A+W+C带进位加
101
A-W-C带进位减
110
~AA取反
111
A输出A
模型机的寻址方式分五种:
累加器寻址:
操作数为累加器A,例如“CPLA〞是将累加器A值取反,还有些指令是隐含寻址累加器A,例如“OUT〞是将累加器A的值输出到输出端口存放器OUT。
存放器寻址:
参与运算的数据在R0-R3的存放器中,例如“ADDA,R0〞指令是将存放器R0的值加上累加器A的值,再存入累加器A中。
存放器间接寻址:
参与运算的数据在存储器EM中,数据的地址在存放器R0-R3中,例如“MOVA,R1〞指令是将存放器R1的值做为地址,把存储器EM中该地址的容送入累加器A中。
存储器直接寻址:
参与运算的数据在存储器EM中,数据的地址为指令的操作数。
例如“ANDA,40H〞指令是将存储器EM中40H单元的数据与累加器A的值做逻辑与运算,结果存入累加器A。
立即数寻址:
参与运算的数据为指令的操作数。
例如“SUBA,#10H〞是从累加器A中减去立即数10H,结果存入累加器A。
2.2
;CSR1,#0002
;CSR2,#0023;a*ba,b均为4位BCD码〔无符号〕
SR;采用I/O输入
CSR1,A
SR
CSR2,A
CSR3,#0000;R3存放结果
CSA,R2
YUA,#0001;b0==0,A==0
MJZT1
CSA,R1;b0!
=0
QJA,R3
CSR3,A
T1:
CSA,R2
YUA,#0010;b1==0,A==0
MJZT2
CSA,R1
ZYA;A左移
QJA,R3
CSR3,A
T2:
CSA,R2
YUA,#0100;b2==0,A==0
MJZT3
CSA,R1
ZYA
ZYA
QJA,R3
CSR3,A
T3:
CSA,R2
YUA,#1000;b3==0,A==0
MJZT4
CSA,R1
ZYA
ZYA
ZYA
QJA,R3
CSR3,A
T4:
CSA,R3
SC
2.3
CSA,#01H
图1立即数寻址,传送指令,将01h传送给累加器a
CSR0,#01H
图2立即数寻址,将01h传送给r0
QJA,R0
图3存放器寻址,加法操作,将r0的值与a相加,结果存入a中
CPLA
图5累加器寻址,将a的值取反
SC
图6OUT将累加器的值送到输出端并输出
3调试过程
3.1
本指令系统涉与8条指令,分别完成数据传送,进展加、减和无条件转移,具有累加器寻址、存放器寻址、存放器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。
具体指令设计如下:
助记符
机器码1
机器码2
机器码3
注释
-FATCH-
000000xx00-03
试验机占用,不可用
CSR?
#*
000001xx04-07
#*
将立即数送到R?
中
CSA,R?
000010xx08-OB
将R?
的值送到A中
CSR?
A
001001xx24-27
将A的值送到R?
中
YUA,#*
000011xx0C-0F
#*
A与立即数
MJZ*
000100xx10-13
*
标志位为1时跳转到*位置
QJA,R?
000101xx14-17
R?
中的值加到A中且带进位
ZYA
000110xx18-1B
A中的值左移
SCA
000111xx1C-1F
将A中的值输出到输出端口
SR
001000xx20-23
从输入端口读取数据到A中
3.23.2微程序设计
将窗口切换到“uM微程序〞窗口,设计每条指令的微程序。
每个微程序开始要执行的第一条微指令应是取指操作,因为程序复位后,PC和uPC的值都为0,所以微程序的0地址处就是程序执行的第一条取指的微指令。
取指操作要做的工作是从程序存储器EM中读出下条将要执行的指令,并将指令的机器码存入指令存放器IR和微程序计数器uPC中,读出下条操作的微指令。
图8取指操作图
图9取立即数并放入累加器A
CSR0,#01H这条指令是把立即数1从存储器EM中取出,放入存放器R0中。
微程序设计如下(C7FBFF):
图10取立即数并放入存放器R0
QJA,R0这条指令是存放器寻址,将R0的值取出放入W中与A相加,再将结果放入A。
它由三个指令周期。
微程序设计如下:
第一步,把R0的值放入累加器W中:
图11R0放入累加器W
SC将累加器的值送到输出端并输出:
图17累加器的值送到输出端并输出
4心得体会
经过这次课程设计,我体会到自己所学的东西太少了,很多都不知道。
虽然这次设计的只是一个小程序,但是这其间我还是学到了不少东西。
在这次课程设计的过程,有些很根本的知识出现记混淆的现象,通过查书与询问同学,最终明白了。
本次课程设计我们要设计一台微程序控制的模型机,以对计算机能有一个整机的概念,完成对计算机组成原理这门课程的综合应用,达到学习本书的作用。
作为一个计算机系学生这是必需掌握的,使我们对数据选择器,移位器,加法器,运算器,存储器和微程序控制器,有了比拟透彻的认识。
由于计算机设计的部件较多,结构原理较复杂,对于我们这样的初设计者来说感到无从下手,所以我们在整个过程中采取由浅入深,由简单到复杂的放法,通过这次设计,使我们能清楚的了解计算机的根本组成,根本原理和设计步骤,设计思路和调试步骤,最终能清晰的建立起整机概念,为独立完成计算机设计奠定了根底。
课程设计完毕了,从中我们也学到了不少知识。
虽然计算机组成原理的课程设计与学习已经完毕,可我们学习之路并没有完毕,我们会继续努力学习其相关的知识,以适应社会的开展与需要,这样才能真正成为一名合格的大学生。
在此次的设计中,感自军教师对我们的帮助和指导。
过程还不够完善,希望教师继续指导。
5致
6参考文献
[1]昆藏.计算机系统结构.:
科学
[2]著平玲娣,雪增《计算机组成与设计》大学
[3]白中英.计算机组成原理(第二版).:
科学
[4]DJ-CPTH超强型计算机组成原理与系统结构实验指导书