logo资料库

组成原理课程设计 微程序控制器的设计与实现.doc

第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
资料共11页,剩余部分请下载后查看
了解计算机的硬件系统,了解计算机系统的指令流控制,深入讨论计算机的组成原理,基本功能和控制方式,设计
结合微程序控制器的基本原理和微程序设计技术,本课题主要实现以下五条机器指令和两条存储器读写指令的分析
表3.1 五条机器指令简要说明
微程序控制器的设计与实现 学生姓名:##### 指导老师:#### 摘要 本课程设计在了解了微程序控制器的组成和工作过程的基础上,设计了几 天微指令。其中设计了 MOV、XCHG、LDA、SUB 以及 XOR 五条微指令和两条写入 RAM、读入 RAM 命令的微指令代码。微程序控制器是根据指令系统和数据通路设 计的。控制器是计算机发号施令的部件,它从内存 RAM 中取出解题步骤加以分析, 然后执行某个操作。一条指令有若干条微指令组成,每一条微指令又由若干个微 命令以及下一条微地址组成。用不同的微命令地址读出不同的微命令,就输出不 同的控制信号。 关键字 微程序;控制器;微指令;微地址 1 绪论 控制器的设计一般有硬布线和微程序两种设计方法,当处理机的指令系统相 当庞大时,采用硬布线的方法是相当复杂的工作,很容易出现设计上的缺陷,微 程序控制器同组合逻辑相比较,具有规整性、灵活性、可维护性等一系列优点, 同时便于仿真和模拟,因而在计算机设计中逐渐取代了早期采用的组合逻辑控制 器,并已被广泛采用。控制微程序的概念早在 50 年代就被提出,但控制存储器 的问题制约了微程序的发展。后来由于 LSI 和 VLSI 控制存储器的发展,微程序 技术已经逐步从巨型机贯穿到微型机,在整个计算机谱系上起着举足轻重的作 用。目前流行的处理机都采用了微程序控制思想,把微程序控制的思想引入到单 片机核的设计,并最终应用到片上系统中将是设计的趋势之一。本课程设计正是 基于微程序控制思想设计了几条简单微指令。 1.1 课程设计目的
巩固和运用所学课程,理论联系实际,提高分析、解决计算机技术实际问题 的独立工作能力。通过课程设计更清楚地理解下列基本概念: 1.计算机的硬件基本组成; 2.计算机中机器指令的设计; 3.计算机中机器指令的执行过程; 4.微程序控制器的工作原理; 5.微指令的格式设计原则. 在此基础上学会和锻炼以下能力: 1. 掌握微程序控制器的组成,工作原理。 2. 明确微程序,微指令,微命令的概念。 3. 掌握微指令,微程序的设计及调试方法。 4. 通过单步方式执行若干条微指令深入理解微程序控制器的工作原理。 1.2 课程设计的内容 了解计算机的硬件系统,了解计算机系统的指令流控制,深入讨论计算机的 组成原理,基本功能和控制方式,设计并实现一个具有以下五条机器指令和两条 存储器读写指令的计算机系统: 转移指令(MOV)、取数指令(LDA)、交换指 令(XCHG)、异或指令(XOR)、减法指令(SUB)以及写操作(WE),读操作 (RD)。 根据要求设计出针对具体指令所对应的微操作流程图;根据微操作流程及给 定的微指令格式写出相应的微程序. 编写微程序,编写机器指令测试程序,在仿 真软件上运行并检验所设计的微程序的正确性。 2 微程序控制器的组成和原理简介 微程序是将程序设计技术和存储技术相结合,这种设计的主要优点是能实现 灵活可变的计算机指令系统。与组合逻辑控制器的设计比起来,微程序控制器在 设计方面具有规整性、灵活性和可维护性等诸多优点,因而在计算机设计中逐渐 取代了早期采用的组合逻辑设计思想,并且得到了广泛的应用。
2.3 控制器简介 控制器是计算机的指挥和控制中心,由它来控制取指令,分析指令,并按指 令的要求产生各种相应的微操作控制信号,从而正确完成指令规定的操作.组成 控制器的基本功能部件,如指令寄存器 IR,指令译码器 ID,程序计数器 PC,变址寄 存器 XR 及地址运算部件等,对任何类型的控制器都是不可缺少的,微操作控制信 号的产生方式有硬布线和微程序两种,它们对整个控制器的组成以及序系统的设 计等影响很大。 2.1 微指令 要使计算机能解决某个问题,程序员要编写相应的程序。程序是指令的有 序集合,计算机在解题过程中,要运行程序,就是通过 CPU 执行程序的各条指令 来完成。同样,CPU 在执行指令过程中,控制器也要完成每条指令规定的各种基 本命令。这些基本命令就是微命令,它构成控制信号序列的最小单位。微命令通 常是指那些能直接作用于某部件的命令。而执行部件接受微命令后进行的操作称 为微操作。在计算机的一个 CPU 周期中,一组实现一定操作功能的微命令的组合, 称为微指令。 微程序的编译方法是决定微指令格式的主要因素,微指令格式如表 2.1 所示。 表 2.1 微指令格式 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 微指令格式说明: 微指令字长共 24 位,其中操作控制字段(23—6)共 18 位;顺序控制部分(5 —0)共 6 位,后继微地址 UA0~UA4 共 5 位,P 是判别字段。 操作控制部分如 LOAD,S3,S2……就是以前各实验中见到的控制信号,它们构 成微指令固化在 ROM 中(即控制存储器中)。 2.2 微程序 计算机的程序由指令序列构成,而计算机每条指令的功能均有微指令序列 解释完成,这些微指令序列集合就是微程序。 2.4 微程序控制的基本原理
微程序控制的基本思想,就是仿照通常的解题程序的方法,把操作控制信 号编程微指令,存放到一个只读存储器里。当机器运行时,一条又一条地读出这 些微指令,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的 操作。微程序控制器主要由控存、微指令寄存器、微地址寄存器和地址转移逻辑 这四部分组成,其原理框图如图 2-1 所示。 操作码 OP 地址转移逻辑 微地址寄存器 地址译码 控存 CM 操作控制字段 P 字段 下址字段 图 2-1 微程序控制器的原理框图 (1)控存(CM) 控存用来存放实现全部指令系统的微程序,它是一种速度较快的只读存储 器。一旦微程序被固化后,机器运行时则只读不写。从控存读出一条微指令并且 执行该指令所需的全部时间称为一个微指令周期。控存的字长就是微指令的长 度,其存储容量视机器指令系统而定,即取决于实现指令系统所需的微程序的数 量。对控存的要求是速度快,即读出周期短,这是因为实现一条指令的功能需要 执行该指令所对应的一段微程序,即需要多次读取若干条微指令并执行,所以控 存的速度对于机器速度的影响非常大。 (2)微指令寄存器 微指令寄存器用来存放由控存读出的一条微指令信息,它的位数等同于微 指令的字长。 (3)地址转移逻辑 在一般情况下,微指令由控存读出后直接给出下一条微指令的地址,通常 简称微地址,这个微地址信息就存放在微地址寄存器中。如果微程序不出现分支, 那么下一条微指令的地址就直接由微地址寄存器给出。当微程序出现分支时,意 味着微程序出现条件转移。在这种情况下,通过判别测试字段 P 和执行部件的“状
态条件反馈信息”,去修改微地址寄存器的内容,并按修改好的内容去读取下一 条微指令。地址转移逻辑就是承担自动完成修改微地址的任务。 (4)微地址寄存器 它接受微地址形成部件或者微指令寄存器中下址字段送来的微地址,为在 控存中读取微指令做准备。 3 具体设计过程 根据微程序控制器的基本原理,知道了设计微程序的关键是确定微指令的结 构。 微程序放在控制存储器中,取指令和分析指令属公用的微程序段,执行指令 则不同指令对应不同的微程序段,到控制存储器的那个单元取微指令,其地址在 μ PC 中,而μPC 的内容则由指令码结果或上条微指令的下地址字段决定,从控 存取出的微指令放在微指令寄存器中。 图 3.1 所示为本次课程设计的微程序控 制器原理图。 图 3-1 微程序控制原理图 3.2 实现微程序指令和微操作控制信号 结合微程序控制器的基本原理和微程序设计技术,本课题主要实现以下五条
机器指令和两条存储器读写指令的分析和设计:转移指令(MOV)、取数指令 (LDA)、交换指令(XCHG)、异或指令(XOR)、减法指令(SUB)以及写操 作(WE),读操作(RD)。如表 3.1 所示。 表 3.1 五条机器指令简要说明 当前微地址对应 机器指令 指 令 长 指 令 操 含义 微程序入口 度 作码 1 2 3 4 5 01001 MOV 双字节 20H MOV A,data,将 sw 数据转移到 AC 中, 01010 XCHG 双字节 40H XCHG A,data,将 sw 数据与 AC 中数据 是转移指令 01011 LDA 双字节 60H LDA data,把 data 地址中的内容送至累 交换 01100 SUB 双字节 80H 01101 XOR 双字节 A0H 加器 AC SUB A,data,用 data 地址的内容减去 AC 中的内容 XOR A,data,将 data 地址中的内容与 AC 中的内容进行异或运算 3.3 微程序流程图 对应上述 6 条机器指令设计出微程序流程图如图 3.2 所示。
Sw 图 3-2 微程序流程图 每当微程序控制器“清零”后,总是给出微地址为 00000 的微指令,当读出 EPROM 微地址 00000 的微指令时,便给出下一条微指令的地址为 00001。这两 条地址分别为 00000 和 00001 的微指令称为“公用微指令”。 微地址 00001 的微指令执行的内容是:PC(程序计数器)内容送入地址寄存 器 AR,然后 PC+1,同时给出下一条微指令的地址 00010。 微地址为 00010 的微指令在 T2’时序到来时,执行将 RAM 中存放的指令送 入指令寄存器 IR,同时给出下一条判别信号 P(1)和下一条微指令地址 01001。 当 T4’有效时,根据 P(1)、IR7、IR6、IR5 状态修改 01001 形成新的下一 条微地址。若 IR7、IR6、IR5 为 000,即 IR 中指令输入,仍执行 01001 的微指 令。不同的 IR7、IR6、IR5 状态产生不同的下一条新微地址。
执行到每个微程序的最后一条微指令时,均给出下一条微地址为 00001,接 着执行公用微指令(00001—00010),读出下一条 IR 指令内容,再判别产生下 一条微指令地址,进入不同机器指令的入口,执行相应微程序直到最后一条微指 令给出统一的 00001 微地址。 3.4 微程序设计指令的分析 通过对 CPU 控制信号和机器指令操作流程图的理解和分析,分别对 6 条机 器指令进行分析。 (1)MOV 指令: 00000 SWPC 00001 PCAR,PC+1 00010 RAMIR,P1(译码) 01001 PCAR,PC+1(形成新的下一条微地址) 10011 RAMAR 10100 ARAC 00001 返回并执行微指令(00001-00010) (2)XCHG 指令: 00000 SWPC 00001 PCAR,PC+1 00010 RAMIR,P1(译码) 01010 PCAR,PC+1(形成新的下一条微地址) 10101 RAMAR 10110 RAMDR2 10111 ACRAM(强迫 RAM 写) 11000 DR2AC 00001 返回并执行微指令(00001-00010) (3)LDA 指令: 00000 SWPC 00001 PCAR,PC+1 00010 RAMIR,P1(译码)
分享到:
收藏