i课程设计说明书计算机组成原理课程设计院系:计算机科学与工程学院专业班级:学号:学生姓名:指导教师:2014年12月26日ii安徽理工大学课程设计(论文)任务书计算机科学与工程院系学号2012303287学生姓名专业(班级)设计题目设计基本模型机的指令系统实现循环左移设计技术参数计算机组成原理教学实验仪一台,排线若干;PC机一台DJ-CPT816组成原理实验软件模型机的指令系统,微程序,微指令,程序设计要求1、在基本模型机的基础上构建一组能够实现输入、输出、加、减、逻辑与、逻辑或、逻辑非、转移指令等八个功能的指令,这些指令的助记符不得与指导书上相同。2、指令包括立即数寻址、寄存器直接寻址、存储器直接寻址三种寻址方式。3、输入一个16位的数,对其进行循环左移。工作量1、画流程图,编写微指令代码和程序。工作计划1、首先认真研究老师所给的题目,了解题目要求做什么。2、查阅资料,解决问题。3、编写源程序并调试之。4、写课程设计说明书。参考资料[1]张昆藏.计算机系统结构.北京:科学出版社,1994[2]白中英.计算机组成原理(第二版).北京:科学出版社,1998[3]DJ-CPTH超强型计算机组成原理与系统结构实验指导书指导教师签字系主任签字2014年12月1日iii安徽理工大学课程设计(论文)成绩评定表指导教师评语:成绩:指导教师:年月日iv摘要计算机组成原理课程设计课题是基本模型机的设计与实现。利用CPU与简单模型机来实现计算机组成原理课程设计,编写指令的应用程序,用微程序控制器实现一系列的指令功能,最终达到将理论与实践相联系。本次设计完成了相关指令的格式以及编码的设计,实现了机器指令微代码,完成具有一定功能的程序。本次课程设计的题目是输入一个16位的数,对其进行循环左移。通过设计流程图,编写机器指令,微指令和控制信号程序。首先向存储器中装入数据和程序,然后检查写入是否正确,启动程序执行。另外,还需设计微程序:本课程设计要求实现机器指令:MOVV(传送),RU(输入),HUO(逻辑或),JIA(加法运算),JIAC(带进位的加法),TZ(判断A寄存器里的内容是否为零),TIAO(跳转)。以上各微指令设计完毕后,用设计好的指令实现逻辑运算,连接线路在CPTH计算机组成原理教学实验箱运行程序,并将实验结果显示输出。本次课程设计偏重于对计算机工作的原理和计算机微机的指令系统学习和深入的了解。对以后的学习打下一个好的基础。这一课题的实现不仅使我们对各种微指令有了熟练的掌握,更对以后的学习、工作中有深远的影响。关键词:微指令,机器指令,循环左移I目录1原理介绍............................................................................................................11.1cpu功能与原理..............................................................................................................................11.2指令周期..........................................................................................................................................11.3微程序控制......................................................................................................................................11.4微程序控制原理..............................................................................................................................21.5微程序控制器..................................................................................................................................22实验环境介绍....................................................................................................32.1设计背景分析..................................................................................................................................32.2设计目的与要求..............................................................................................................................53系统设计...........................................................................................................63.1.不带进位的循环左移.....................................................................................................................63.2机器指令集的编写与功能..............................................................................................................63.3程序系统分析..................................................................................................................................73.4程序微指令分析..............................................................................................................................83.5实验结果........................................................................................................................................104实验总结.........................................................................................................134.1设计体会.......................................................................................................................................134.2系统改进.......................................................................................................................................135参考文献.........................................................................................................14安徽理工大学课程设计(论文)-1-1原理介绍1.1cpu功能与原理数据缓存寄存器(DR)数据缓存寄存器用来暂时存放ALU的运算结果,或由数据存储器读出的一个数据字,或来自外部接口的一个数据字。指令寄存器(IR)指令寄存器用来保存当前正在执行的一条指令,当执行一条指令时,先把它从指令cache存储器读出,然后再传送至指令寄存器。程序计数器(PC)为了保证程序能够连续的执行下去,CPU必须具有某些首段来确定下一条指令的地址。数据地址寄存器(AR)数据地址寄存器用来保存当前CPU所访问的cache存储器单元的地址.通用寄存器(R0~R3)当算术逻辑单元执行算术或逻辑运算时,为ALU提供一个工作区。状态字寄存器(PSW)状态字寄存器保存由算数指令和逻辑指令运算或测试结果建立的各种条件代码。1.2指令周期计算机所以能自动的工作,是因为CPU能从存放程序的内存里取出一条指令并执行这一条指令。例如MOV指令的指令周期,MOV是一条RR型指令,它需要两个CPU周期,其中一个是取指周期,一个是执行周期。取指周期中完成三件事:从指存取出指令,对程序计数器加1,以便为取下条指令做好准备,对指令操作码进行译码或测码。执行周期操作控制器送出控制信号到通用寄存器,操作控制器送出控制信号到ALU,指定ALU做传送工作,操作控制器送出控制信号,打开ALU输出三态门,操作控制信号送出控制信号,将DBUS上的数据打入到数据缓冲寄存器中,操作控制信号送出控制信号,将数据韩冲寄存器打入到目标寄存器中。1.3微程序控制微程序控制器同硬布线控制器相比较,具有规整性,灵活性,可维护性等一系列优点,在计算机系统中,微程序设计技术是利用软件方法来设计的一门技术。微程序控制思想,就是仿照通常的解题程序方法,把操作控制信号编程所谓的微指安徽理工大学课程设计(论文)-2-令,存放到一个只读存储器中,当机器运行时,有一条一条的读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应的部件执行所规定的操作呢。由于数据通路的结构关系,微操作可分为相容的和互斥的两种:互斥的微操作,是指不能同时或不能在同一个节拍内并行执行的微操作。相容的微操作,是指能够同时或在同一个节拍内并行执行的微操作。系列微指令的有序集合就是微程序。一段微程序对应一条机器指令。微地址:存放微指令的控制存储器的单元地址。1.4微程序控制原理控制存储器(UCM):这是微程序控制器的核心部件,用来存放微程序。其性能(包括容量、速度、可靠性等)与计算机的性能密切相关。微指令寄存器(UIR):存放从UCM取出的正在执行的微指令,它的位数同微指令字长相等。微地址形成部件:用来产生初始微地址和后继微地址,以保证微指令的连续执行。微地址寄存器(UMAR):它接受微地址形成部件送来的微地址,为下一步从μCM中读取微指令作准备。1.5微程序控制器模型机作为一个整体来工作的,所有的微程序控制信号由微程序存储器UM输出,而不是由开关输出,在进行试验之前,先用8芯电缆接J1和J2,是系统处于非手动状态,这样试验仪的监控系统会自动打开uM的输出允许,由软件控制程序实现单指令执行,单微指令执行等,设计微指令应当追求的目标,有利于缩短微指令的长度,有利于缩小CM的容量,有利于提高微程序的执行速度。安徽理工大学课程设计(论文)-3-2实验环境介绍2.1设计背景分析2.1.1模型机指令集