当前位置:首页 > 单片机 > 单片机
[导读] 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.


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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭