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