课程设计说明书计算机组成原理课程设计院系:计算机科学与工程学院专业班级:计科(16级4班)学号:学生指导教师:X老师2018年6月20日理工大学课程设计(论文)任务书计算机科学与工程学院2018年5月28日理工大学课程设计(论文)成绩评定表摘要在现如今飞速发展的第三次信息化革命中,计算机被应用到各行各业,各个领域中。
随着计算机的深入发展,人们逐渐步入自动化智能化的生活阶段。
“计算机组成原理”是计算机科学与技术系的一-广]核心专业基础课程,在计算机专业中起到很重要的作用。
本次课程设计通过对-一个简单模型机的设计与实现,是我们对计算机的基本组成、部件的设计、部件间的连接有更深的理解,利用CPU与简单模型机来实现计算机组成原理课程及实验中所学到的实验原理和编程思想,编写指令的应用程序,用微程序控制器实现一-系列的指令功能最终达到将理论与实践相结合。
本次设计完成了各指令的格式以及编码的设计,实现了各机器指令微代码,形成具有实现同或功能的应用程序。
本课程设计是在完成计算机组成原理实验的基础上,来进行模型计算机的指令系统设计。
利用计算机组成原理实验中所学到的实验原理以及编程思想,硬件设备,在基本模型机的基础上构建一组能实现输入、输出、全加、逻辑与、左移指令等功能的指令。
指令包括立即数寻址、寄存器直接寻址、存储器直接寻址三种寻址方式。
利用新构建的指令系统编程,实现十进制的的乘法功能;并实现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 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 designed 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 computer 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 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 experimental 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. The 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 decimal multiplication, addressing mode目录1 设计需求 (1)1.1设计容 (1)1.2设计要求 (1)2 设计方案 (3)2.1 设计思路 (3)2.2 2.2程序清单 (5)2.3 2.3指令流程图 (6)3 调试过程 (9)3.1 3.1指令系统设计 (9)3.2 3.2 微程序设计 (9)4 心得体会 (14)5 致 (15)6 参考文献 (15)1设计需求1.1设计容(1)采用DJ-CPTH超强型计算机组成原理教学实验系统搭建电路图,在实验箱上实现指令系统;8)利用软件工程中的可行性研究以及分析方法,进行系统分析。
1.2设计要求(1)在基本模型机的基础上构建一组能实现输入、输出、加、减、逻辑与、逻辑或、逻辑非、转移指令等8个功能的指令,这些指令的助记符不得与指导书上相同;(2)指令包括立即数寻址、寄存器直接寻址、存储器直接寻址三种寻址方式;(3)利用新构建的指令系统编程,实现十进制的的乘法功能;并实现CPL R?和ADD R?,#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?的选择由指令的最低两位决定。
CN: 决定运算器是否带进位移位,CN=1带进位,CN=0不带进位。
FEN: 将标志位存入ALU部的标志寄存器。
WEN:将数据总线DBUS的值打入工作寄存器W中。
AEN:将数据总线DBUS的值打入累加器A中。
X2:X1:X0: X2、X1、X0三位组合来译码选择将数据送到DBUS上的寄存器。
具体如下:S2:S1:S0: S2、S1、S0三位组合决定ALU做何种运算。
具体如下:模型机的寻址方式分五种:累加器寻址:操作数为累加器A,例如“CPL A”是将累加器A值取反,还有些指令是隐含寻址累加器A,例如“OUT”是将累加器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,#10H”是从累加器A 中减去立即数10H,结果存入累加器A。
2.22.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==0 MJZ T1CS A,R1 ;b0!=0QJ A,R3CS R3,AT1:CS A,R2YU A,#0010 ;b1==0,A==0 MJZ T2CS A,R1ZY A ;A左移QJ A,R3CS R3,AT2:CS A,R2YU A,#0100 ;b2==0,A==0 MJZ T3CS A,R1ZY AZY AQJ A,R3CS R3,AT3:CS A,R2YU A,#1000 ;b3==0,A==0 MJZ T4CS A, R1ZY AZY AZY AQJ A,R3CS R3,AT4:CS A,R3SC2.32.3指令流程图CS A,#01H图1 立即数寻址,传送指令,将01h传送给累加器aCS R0,#01H图2 立即数寻址,将01h 传送给r0QJ A,R0图3 寄存器寻址,加法操作,将r0的值与a相加,结果存入a中CP LA图5 累加器寻址,将a 的值取反SC图6 OUT 将累加器的值送到输出端并输出3调试过程3.13.1指令系统设计本指令系统涉及8条指令,分别完成数据传送,进行加、减和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。