当前位置:首页 > 电源 > 数字电源
[导读]从消费类产品到通信产品,微处理器都有着非常广泛的应用。目前流行的8位微处理器不仅能够完成高运算量的任务,而且成本很低,因此取得了巨大成功。微处理器非常擅长于有序处理和各种非实时的任务,典型的工作速度在2

从消费类产品到通信产品,微处理器都有着非常广泛的应用。目前流行的8位微处理器不仅能够完成高运算量的任务,而且成本很低,因此取得了巨大成功。微处理器非常擅长于有序处理和各种非实时的任务,典型的工作速度在20MHz左右,但有些微处理器内核需要将该时钟频率内部分频,每条指令用多个时钟周期。例如,CISC微处理器在执行一条乘法指令时最多要用到25条简化的指令。

当今市场上已经有非常多的RISC微控制器,它们不仅能够实现单个时钟指令周期,而且功率非常低。例如Atmel的AVR 微控制器在1MHz时钟条件下能够获得1MIP的性能。由于有着如此强大的性能,几乎没有什么任务是微控制器不能完成的。这些微控制器的尺寸都非常小,品种从单个ALU和带通用I/O的存储器到多功能模拟和总线接口不一而足。

可编程逻辑器件由于能够满足低功率可重配置逻辑解决方案的要求,在微处理器市场上也颇有斩获。象CPLD(复杂可编程逻辑器件)这些可编程逻辑器件基本上也用于非常接近微处理器的应用领域,两者的重要区别是顺序与并行处理过程。微处理器执行指令时在多数情况下有分支例程,而 CPLD是并行处理输入和输出的,因此能够获得更高的处理速度和可预测的时序结果。对于以中断驱动的器件,这种方法能够显著地提高其工作速度。

CPLD的速度非常快,能使系统速度能够轻易达到并超过300MHz。CPLD的时序特性一般用纳秒(ns)或MHz描述(100MHz等于10ns,200MHz等于5ns)。今天的CPLD器件其输入到输出延时可小至3.0ns,速度相当于令人吃惊的385MHz!

图1和图2给出了CPLD和微处理器的结构。所有CPLD器件都具有类似的这种结构,不同系列的器件只是在时钟特性、I/O标准和安全性等方面有所差别。虽然不同微处理器的结构也是相同的,但附加性能如时钟、ADC、DAC更能引人注意。

类似性

由于这些器件具有类似的功能,因此其性能也是类似的。它们都具有可编程性,通常都支持JTAG可测试性,能够用于类似的应用。表1详细给出了这样的类似性。一些公司为微控制器和嵌入式软核微控制器提供了在线的硬件调试器。

区别

但CPLD与微控制器还是有区别的。CPLD在系统上电时就能工作,没有启动过程。CPLD还具有非常精确的时序模型,由于能够进行并行的逻辑处理,因此可以提供更高的性能。但微控制器具有另外的特点,如A/D、专用的I/O总线端口和特殊引脚功能。微控制器与CPLD之间的主要区别如表2所示。

虽然微控制器能够提供更多的功能,但随之而来的是价格问题。有时微控制器上的功能也不一定能派上用场。如果设计要求是带50个GPIO的8通道 ADC,那么使用者还不得不支付那些不需要的功能的费用。这就需要认真地权衡功能与价格的矛盾。在某些情况下,仅使用设计要求的功能要比在更高器件成本上构筑成功的设计好得多,风险也比较小。

这二种器件在以安全为重的工业领域,如远程信息处理和工业设备中,还存在其它区别。质量认证依据的是测试故障机制,对于具有可预测性操作的逻辑器件来说是比较容易通过质量认证的,而微处理器则需要考虑复杂的状态。质量认证需根据一系列指令带来的可能输出数量来判定。由于分支指令在电压下跌或下降时通常会引起不可预知的操作,因此会使质量认证复杂化。而CPLD在电压恢复时可以再装载原始的逻辑配置,因此默认状态是可预测的,这种器件可以在预先定义的电压失效条件下工作。系统测试也比较方便,可以在CPLD中实现较难的中断处理仿真。

决策标准

比较两个具有相同功能却不同结构和产品类型的器件是相当有意思的。从某种角度看,为微处理器编写程序和为CPLD软核微处理器编写代码是相似的,二者都具有相同的操作流程。设计工程师可以向处理器或可再编程逻辑器件写汇编代码。对于可再编程逻辑器件来说,人们可以从各种系列、密度和功能的产品中作出选择。业界还为SPI、I2C和SMBus等可编程逻辑器件提供了许多参考设计。

值得注意的是,在复用和可移植性方面可编程逻辑器件具有更高的胜算把握。采用VHDL等高级语言的硬件分析通常要比来自不同厂商的不同处理器具有更好的可预测性。用VHDL可以将任意的可再编程逻辑器件作为目标,而微处理器中的一些特殊功能通常会随新的目标环境发生变化。而且芯片的更新或操作系统的修改都会迫使源代码的再次目标化。

两种都用?

某种程度上这两种器件具有互补性。对于与性能无关的任务,CPLD能够提供非常快速的引脚到引脚性能,并具有时序的可预测性,而微控制器能够提供诸如ADC、DAC和CAN、USB等专用总线接口性能。虽然这些性能会限制通用I/O的数量,但将CPLD用作微处理器端口扩展后就能解决这一问题。只具备必要功能的简化型微控制器的价格要比仅为满足I/O要求购买较大封装的器件便宜许多。CPLD能够提供的I/O数量少至32,多至250,并且能够在同一I/O封装中装配更多的逻辑。随着工艺尺寸的不断缩减,CPLD价格也在不断下降,因此设计工程师们在权衡性能与价格时会有更多的选择。

PicoBlaze介绍

PicoBlaze是8位的软核微控制器,支持8位数据总线和16位指令总线(如图3所示),是依据RSIC(精简指令集计算机)“哈佛结构”模型设计的,具有独立的数据和指令端口。可以用C语言编写的交叉编译器生成程序。PicoBlaze设计使用的是VHDL语言,并作了资料归档,因此随之的交叉汇编器能直接跟踪结构。

PicoBlaze在许多方面象是一台基于常数的机器。常数值可规定用于程序的以下方面:

1. ALU操作中使用的常数数值;

2. 常数端口地址,用于访问专门的某个信息或PicoBlaze方案之外的控制逻辑;

3. 控制程序执行顺序的常数地址值。

PicoBlaze指令集编码允许在任何指令字中定义常数。因此一个常数的使用不会给程序大小或程序的执行带来额外的开销,因此能有效地用全范围的 “虚执行”扩展简单指令集。所有指令的执行时间大约是2个时钟周期。当判断一个程序的执行时间时,特别是当嵌入到一个实时状态时,统一的执行速率是非常有益的。程序长度是256个指令,所有地址值定义为含在指令编码中的某个8位。固定的存储空间可以提升模块的一致性。必要时,可以扩展设计来支持更大的存储范围。

[!--empirenews.page--]

指令集

指令集也非常类似。但是对PicoBlaze等CPLD软核微控制器来说,指令集是可变化的。比如设计工程师可以根据规范要求增加或删除指令。表3是AVR RISC微控制器和CPLD PicoBlaze软核微控制器之间的比较。

目前交付的PicoBlaze支持49条指令,可以在任何几个CoolRunner-II CPLD中操作。希望支持的指令品种以及架构版本的选择都会影响PicoBlaze的运行速度。

例如,在全指令集和所有指令都保持在CPLD外的情况下所能达到的最高性能是30MHz,但通过流线型处理指令集或程序可以将性能提高3倍,即 90MHz。事实上,PicoBlaze微控制器架构充分利用了CoolRunner-II的2个关键特性,即高执行速度和低功耗。

增加或删除指令

PicoBlaze微处理器软核的优势在于具有增加或删除指令的能力。

例如,只需从VHDL中注释掉指令就可以完成指令集中指令的调整。如果需要的话,人们还能把它们从汇编器中去掉,但通常是不要求这样做的。如果某些应用能够利用目前提供的这些指令外的其它重要指令,那么还可以增加指令。因此删除和添加指令都是可行的。大多数编程人员在日常编程中用到的指令数大概是 20条。选择最常用的20条,把剩余的删掉,然后再进行编程。如果设计工程师发现了一个瓶颈型“内部环路”,并能从专门为该指定任务定制的单个指令中受益,那就能够编写出以硬件速度运行的VHDL程序。记住,PicoBlaze微控制器能够利用处理器内部的双边沿触发器在两个时钟边沿完成运算。

DSP例子

为了描述PicoBlaze架构的适应能力,让我们看一个DSP的例子。代码到“位-反转总线(bit-reverse a bus)”是快速傅里叶变换中的一项基本操作。作为基本算法中的一个关键步骤,数据一般从地址总线上驱动输出。用“标准”指令完成这一操作需要多条“屏蔽与翻转”命令,极易形成处理瓶颈。

表4给出了极象汇编类步骤的基本操作来显示寄存器内容。算法的起始是带A-H标签的一字节数据。该字节首先在内部完成交换 (4次翻转),然后再用布尔“与/或”将内部位转移到目标寄存器,从而生成结果,一次2个位。这样处理一遍后,会在最终寄存器中形成求反的原始内容。根据具体算法的不同,大概需要12到18条指令。在这种情况下,设计工程师不用增加指针和计数器等环路管理开销就可以完成这一任务。

如图4所示,在VHDL中增加了“翻转”指令,设计经过再编译,“重新布线”的处理器就增加了这条关键指令。该方法用合成工具再布线手段可以将许多指令“挤压”进某些门中。这些多位级操作可以归结为简单的CPU再布线,并且最为重要的是合成器正确工作了。

指令增强

前面讨论的是指令集优化,不过功能增强也是可以的。请记住,许多微控制器包含有板上功能模块,这些模块除了指令集外还另有用途。例如,许多8位微控制器包含内部的外围设备计数器或定时器、中断控制器和DMA电路。对PicoBlaze来说,只要在芯片内部增加合适的外围设备功能集就可以了,具体取决于所选择的CoolRunner-II CPLD的密度。表5针对不同的附加功能给出了宏单元运用的一些评估。

性能改进

提升设计性能的经典方法是进行适当的“调整”。观察处理器的性能行为,识别处理器耗费时间的地方,发现处理器在做什么,然后提出最佳的操作组合来改进性能。最后实现新版的架构和/或代码并进行再次评估。

实现架构或代码的方法之一是采用CoolRunner-II设计套件。许多目标设计都能适合驻留在板上的256-宏单元 XC2C256。板上还留有空闲的引脚位置,可以用来增加64-宏单元XC264,其信号已经与XC256连接在一起了。在64宏单元CPLD中简单构筑一个带计数器和定时器的小型硬件性能监示器就可以定时256宏单元CPLD中不同的代码部分,并报告执行时间。这样,通过检查地址空间和定时的行为,设计工程师就可以知道完成各种任务所需的时间。

PicoBlaze交叉汇编器

如前所述,PicoBlaze交叉汇编器具有完好的归档资料,因此PicoBlaze设计文件中早已存在汇编代码与VHDL 之间的直接对应关系。编译器是用ANSI-C编写的,并在微软的汇编器上汇编。该交叉汇编器具有高度的移植性,支持多种输出文件类型。例如,它能产生二进制输出文件,可以英特尔的hex格式装载进外部EPROM。它也能产生适合VHDL仿真器使用的主要建模文件。设计工程师可以用高速仿真功能立即分析汇编器产生的代码,从而了解代码的功能和效率。然后将代码下载到CoolRunner-II设计套件中,就可以看到它们正按期望的值正确工作。
 

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

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 信息技术
关闭
关闭