微程序控制器的结构及嵌入式FPU微指令控制模块设计

微程序控制器的结构及嵌入式FPU微指令控制模块设计,第1张

1 前言

设计研究适用于国防和民用需求的高性能、高精度的微处理器(MPU),已经变得十分重要和迫切。为了处理大量实数数据,并考虑计算精度和实时性,需要将MPU单独分离出来一部分进行浮点运算,像现在的高档数字信号处理芯片(DSP)都含有一个FPU,所以研制高性能的浮点运算单元IP具有重要意义[1]。

微程序的概念和原理是由剑桥大学数学教研室教授M.V.Wilks在1951年第一次提出的[2],但随后15年,由于控制存储器的问题制约了微程序技术的发展。由于LSI和VLSI  控制存储器的发展,微程序在微型机中已经开始起着重要作用。

微程序控制器的性能是提高处理速度的关键因素之一。本论文关于微程序控制器的研究是基于哈尔滨工业大学(威海)微电子中心32位FPU的设计,其采用了微指令控制的方法,用门级完成相关模块的设计,通过布局布线后的结果看出,该设计规模小、速度高,非常适合嵌入式应用。

2 微程序控制器的结构及设计

在微处理器中产生控制信号一般由微程序和状态机两种方法实现,其中微程序属于固件。微程序控制器输出的微指令用来控制整个FPU工作[3]。一条微程序一般由 *** 作控制和顺序控制两大部分组成。控制部分用来管理和指挥FPU的工作[4]。微程序的顺序控制部分用来决定产生下一条微指令的地址。微程序控制器有其自身的优点,比如:具有规整性、灵活性和可维护性等一系列优点。本设计的微程序控制器的结构如图1所示。

微程序控制器的结构及嵌入式FPU微指令控制模块设计,微程序控制器的结构及嵌入式FPU微指令控制模块设计,第2张

微程序控制器主要包括三部分,用于产生下一条微指令的微地址生成模块、用于存储微指令的存储器(此为一块Rom)和用于指挥FPU工作的控制总线,其中主要是前两部分,下面分别给与介绍:

2.1 微地址生成模块介绍

微地址生成模块主要目的就是产生下一条微指令的地址。地址线宽为8bit,下一条微地址由如下几条产生(如图2所示):

1.ExcMiptr信号是用来选择由于一条FPU指令执行过程中产生各种异常(包括结果不精确异常、上溢、下溢和无效异常)对应的异常 *** 作与控制的入口地址。

2.nextMiptr信号是用于选择一条FPU指令执行过程正常情况下,产生下一条微指令的地址。

3. RomEntry信号是用于根据FPU指令选择不同指令的入口地址,本设计把单精度和双精度的加、减、乘、除、乘加等指令设计有不同的控制入口地址。

4.RomMiptr信号是微地址默认的停靠地址,即在复位和FPU空闲时输出的默认地址

5.feedback信号是用于选择用于跳转微指令地址,例如在本设计中用于乘加、乘减指令的跳转控制。

如上这些地址信号的控制都来源于微指令的控制位。其中是否产生分支的控制如图3所示。

微程序控制器的结构及嵌入式FPU微指令控制模块设计,微程序控制器的结构及嵌入式FPU微指令控制模块设计,第3张

图3 微指令分支控制信号生成图

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2645022.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-12
下一篇 2022-08-12

发表评论

登录后才能评论

评论列表(0条)

保存