当前位置:首页 > 单片机 > 单片机
[导读]1 引言设计研究适用于国防和民用需求的高性能、高精度的微处理器(MPU),已经变得十分重要和迫切。为了处理大量实数数据,并考虑计算精度和实时性,需要将MPU单独分离出来一部分进行浮点运算,像现在的高档数字信号

1 引言

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

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

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

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

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

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

2.1 微地址生成模块介绍

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

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

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

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

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

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

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


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

2.2微指令存储模块

本微指令控制器的存储模块,有8bit地址输入和64位数据输出用于管理和控制整个FPU工作。64位微指令是控制整个系统所用的控制信号,其功能与状态机相似,在本设计中通过微指令的[15:11]检测到数据处理过程中可能出现的状态,再根据不同的状态进行状态转换。下面把其中主要的几位列表如表1:


表1 微指令控制位

3.模块的实现及验证

微程序模块采用了从顶到下的(Top-down)设计方法,所有部件按照模块化思想设计成IP(Intellectual Property),明确模块间的接口信号时序,同时模块里的逻辑控制都是用门级设计,从而优化设计的性能。使用Synopsys公司的Design Compiler作为综合工具,用SMIC0.18微米工艺,综合出来的结果时钟频率266MHz。

系统采用硬件描述语言Verilog作为工作语言,使用Modelsim SE6.2完成整个仿真过程,仿真结果都完全符合IEEE754标准要求[5],能实现单精度和双精度的控制。完成后仿真并通过FPGA验证,这为将来流片打下了坚实的基础。

一般来讲,设计验证方法包括两大类:模拟的方法和形式化的方法。本设计采用模拟的方法。模拟验证环境如图3所示,运用基于断言的验证方法,主要分为三大部分:激励部分、待测模块和验证比较模块。


图3 模拟验证环境

一般情况下,激励的生成方法有两种:一类是直接激励生成;一类是随机激励生成。本设计两种方法都使用了,对于正常的加减乘除等运算采用了随机生成激励(约束性随机),而对于其他边角情况使用了直接激励,特别各种异常情况。辅助模块包括指数运算模块、尾数运算模块和符号运算模块。比较结果输出模块包括运用设计规范指定的结果与验证模块输出的结果进行比较。

4.结论

32位FPU中微程序控制器的设计经仿真验证证明它的功能是完全能满足IEEE754标准的FPU的控制功能。在设计中采用了多入口地址等提高微程序控制能力的方法。为了提高电路性能,使用门级设计方法。通过布局布线后的结果看出,该设计规模小、速度高,非常适合嵌入式应用。此微程序控制器可以在所有满足IEEE754标准的浮点处理器中使用,提高了设计的效率和可靠性,加快了设计周期。

本文作者的创新点:采用微程序控制的设计方法,同时采用门级设计方法,所以规模小,速度快。通过Modelsim仿真,完全满足符合IEEE754标准的浮点处理器的应用。

参考文献
[1]李六杏,周国祥.一种用于SOC中快速乘法器的设计[J].微计算机信息,2007,23,4-2:155-157.
[2]杨波,高德远. 微程序控制器的设计与实现[J],计算机工程与应用,2001,7:27-29.
[3]Intel: intel82C288 Series Reference [M]. 1984.50-61.
[4]David A.Patterson, John L. Hennessy, Computer Organazaiton & Design[M], Morgan Kaufmann Publishers, inc,2002 316-324
[5] ANSI/IEEE Standard 754-1985: IEEE Standard for Binary Floating-Point Arithmetic[M]. Poscataway, NJ: IEEE Press, 1985.
 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭