“计算机原理”课程设计任务书前言“计算机原理”是大学本科计算机相关专业的一门核心专业基础课程,必修,其目的在于使学生了解计算机单机系统的基本组成、工作原理,培养学生从事计算机硬件分析、应用、开发的能力,为进一步学习以后的专业课打下坚实基础。
该课程主要讲授单处理机系统的组成和工作原理,其中控制器的设计是课程的重点和难点。
为了让学生能融会贯通各知识点,掌握微程序设计技术,增强对计算机系统各模块协同工作的认识,课程设计十分必要。
本次课程设计主要是让学生通过设计系统的指令系统来进一步理解微程序控制器的设计思想和具体方法、步骤并掌握EDA技术并实现控制。
课程设计题目:微程序控制器的设计一、目的:1、巩固并深刻理解计算机组成原理实验箱整机结构和工作原理,熟悉EDA 扩展板功能,掌握EDA技术,加深对计算机各模块协同工作的认识,以便实现控制。
2、熟悉微程序控制器组成、结构和工作原理,分析水平型微指令格式及控制字段中每一个微操作的含义,利用系统具备完全开放的特性,重新设计指令系统,掌握微程序控制器的设计思想和方法。
3、培养学生独立地分析问题、解决问题能力。
二、内容:首先利用实验系统COP2000具有完全开放的特性,由学生自行设计控制器微指令格式及定义,重新设计指令系统,要求该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。
其次了解EDA扩展板功能,自学并掌握相关EDA技术,以实现EDA 控制。
三、具体要求:1、熟悉伟福COP2000型计算机组成原理实验仪,复习“计算机原理”课程所涉及的基础理论和基本技能,掌握微程序控制器的设计思想。
2、掌握虚拟软件的使用,学生自行设计指令系统,微程序的设计与调试可以在虚拟环境中进行。
3、自学并掌握相关EDA技术,了解EDA扩展板功能。
四、设计环境:伟福COP2000型计算机组成原理实验仪,微机,EDA扩展板,虚拟软件目录第一章系统简介/基本原理/系统概况---------------------------- -----4 §1.1 COP2000型计算机组成原理实验仪§1.2 虚拟软件写出调试过程§1.3 EDA编程/技术§1.4 环境:第二章微程序控制器设计-------------------------------------------------6 §2.1 微程序控制器原理§2.2 微程序控制器设计第三章指令系统设计-----------------------------------------------------10 §3.1 指令系统设计思想1、指令系统流程图及微操作序列2、水平型微指令格式设计3、24个微命令意义§3.2 微程序设计第四章EDA编程/技术------------------------------------------------------17 §4.1EDA编程技术§4.2应用程序举例第五章心得体会----------------------------------------------------------18 参考文献------------------------------------------------------------------19第一章系统简介/基本原理/系统概况§1.1 COP2000型计算机组成原理实验仪COP2000计算机组成原理实验系统由实验平台、开关电源、软件三大部分组成。
实验平台上有寄存器组R0-R3、运算单元、累加器A、暂存器W、直通/左移/右移单元、地址寄存器、程序计数器、堆栈、中断源、输入/输出单元、存储器单元、微地址寄存器、指令寄存器、微程序控制器、组合逻辑控制器、扩展座、总线插孔区、微动开关/指示灯、逻辑笔、脉冲源、20个按键、字符式LCD、RS232口。
§1.2 虚拟软件写出调试过程设计好指令系统后,将其以INS为后缀保存下来。
同时把根据指令功能所编的程序在源程序窗口输入,并将其另存为以ASM为后缀的文件。
做好了这些,对程序进行汇编,进入调试过程。
按快捷图标的F7,执行“单微指令运行”功能,观察执行每条指令时,数据是否按照设计的要求流动,寄存器的输入/输出状态是否符合设计要求,各控制信号的状态,PC及uPC如何工作是否正确。
这样,通过以上步骤对所设计的程序进行调试和修改,就能将所设计的程序一步步完善和正确起来。
§1.3 EDA编程/技术EDA(Electronic Design Automation)中文意思是电子设计自动化EDA 技术,就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术。
利用 EDA 技术进行电子系统的设计,具有以下几个特点:①用软件的方式设计硬件;②用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;③设计过程中可用有关软件进行各种仿真;④系统可现场编程,在线升级;⑤整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。
因此,EDA 技术是现代电子设计的发展趋势。
§1.4 环境:伟福COP2000型计算机组成原理实验仪,微机,虚拟软件。
COP2000模型机包括了一个标准CPU所具备所有部件,这些部件包括:运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右移门R、寄存器组R0-R3、程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT、程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器uM,以及中断控制电路、跳转控制电路。
其中运算器和中断控制电路以及跳转控制电路用CPLD来实现,其它电路都是用离散的数字电路组成。
微程序控制部分也可以用组合逻辑控制来代替。
第二章微程序控制器设计§2.1 微程序控制器原理〈1〉微程序控制的优点微程序控制技术可代替直接由硬件连线的控制技术。
由于微程序控制方法规整性好,灵活方便,通用性强,因此在大型复杂的数字系统设计中广泛应用,成为控制器的主流设计方法。
〈2〉微程序控制的基本思想微程序控制的基本思想,就是仿照通常的解题程序的方法,把所有的控制命令信号汇集在一起编码成所谓的微指令,再由微指令组成微程序,存放在一个EPROM里。
系统运行时,一条又一条地读出这些微指令,产生执行部件所需要的各种控制信号,从而驱动执行部件进行所规定的操作。
〈3〉微指令的结构控制器通过一条条控制线向执行部件发出各种控制命令,我们把这些控制命令叫做微命令。
而执行部件接受微命令所执行的操作叫做微操作。
在系统的一个基本状态周期(又称机器周期)中,一组实现一定操作功能的微命令的组合,构成一条微指令。
强调两点:第一,一条微指令的有效持续时间是系统的一个基本周期,它表示从ROM中读出微指令与执行这条微指令的时间总和。
当从ROM中读出下一条微指令后,当前的这条微指令即失效。
第二,一条微指令中包含若干个微命令,它们分头并行地控制执行部件进行相应的微操作。
微指令除给出微命令信息外,还应给出测试判别信息。
一旦出现此信息,执行这条微指令时要对系统的有关标志进行测试,从而实现控制算法流程图中出现的条件分支。
微指令中还包含一个下一地址字段,该字段将指明ROM中下一条微指令的地址。
上图示出了微指令的典型结构。
长条框内的符号×表示一个二进制位(bit)。
其中微命令字段给出执行部件的控制信号:×编码为1,表示有微命令,×编码为0表示无微命令。
测试判别字段和下一地址字段一起实现顺序控制:当测试判别字段无效时(×编码为0),下址字段信息即是下条微指令的地址;当判别测试字段有效时(其中一个X编码为1),根据执行部件反馈线上的标志信息对下址字段信息进行修改,修改好的地址即为下条微指令的地址。
〈4〉微程序微程序是由若干条微指令组成的序列。
在计算机中,一条机器指令的功能可由若干条指令组成的微程序来解释和执行。
在一般数字系统中,微程序相当于前述的ASM流程图,也就是将控制器的控制算法变成了微程序流程图,并用EPROM来实现。
微程序概念的引入,使大型复杂数字系统控制器的设计发生了革命性的变化。
因为微程序技术可代替硬件布线的控制技术,即由门电路和触发器等组成的硬件网络可被存有控制代码的EPROM存储器所取代。
微程序控制器的组成微程序控制器的结构与微指令的格式密切相关。
下图是微程序控制器的结构框图。
它由控制存储器、微地址寄存器、微命令寄存器和地址转移逻辑几部分组成。
微地址寄存器和微命令寄存器两者的总长度即为一条微指令的长度,二者合在一起称为微指令寄存器。
●控制存储器(ROM)ROM中存放微程序,也就是全部的微指令。
ROM的容量取决于微指令的总数。
假如控制器需要128条微指令,则微地址寄存器长度为7位。
ROM 的字长取决于微指令长度。
如果微指令为32位,则ROM的字长就是32位。
实际应用中ROM可采用EPROM或E2PROM、EAROM,用户写入和修改微程序比较方便。
●微命令寄存器微命令寄存器暂存由控制存储器中读出的当前微指令中控制字段与测试判别字段信息,可由8D寄存器组成。
●微地址寄存器微地址寄存器暂存由控制存储器读出的当前微指令的下址字段信息。
它可由带RD、SD强置端的D触发器组成。
其中时钟端和D端配合用做ROM 的读出打入,用SD进行下址修改。
●地址转移逻辑微指令由ROM读出后直接给出下一条微指令的地址,这个地址就放在微地址寄存器中。
当微程序出现分支时通过地址转移逻辑去修改微地址寄存器内容,并按修改好的微地址读出下条微指令。
地址转移逻辑是一个组合逻辑电路,其输入是当前微指令的判别测试字段Pi、执行部件反馈的“状态条件”及时间因素T4。
●控制时序信号上图中标明了一个基本机器周期中的控制时序信号。
例如用上一周期的T4时间按微地址寄存器内容从ROM中读一条微指令,经过一段时间后被读出,用当前周期的T1时间打入到微指令寄存器。
T2、T3时间用来控制执行部件进行操作。
T4时间修改微地址寄存器内容并读出下一条微指令。
§2.2 微程序控制器设计(1)设计微程序设计微程序,就是确定微程序流程图,也就是控制算法流程图。