CPU内核中的体系结构差异研究

描述

立即了解微控制器(MCU)领域的高端产品,您将发现具有与微处理器领域相似的微架构和指令集特性的IC。实际上,德州仪器(TI)和飞思卡尔等公司都提供具有共享传统的MCU和嵌入式目标微处理器。不过,这两个细分市场之间存在显着差异,从公司的芯片设计和制造战略到集成功能集以及硬件中根深蒂固的软件支持。嵌入式设计团队必须仔细考虑他们的应用,以便在考虑设备选择之前,正确选择采用MCU或微处理器路径。从高层次看MCU和微处理器技术,看起来这些细分市场相互对立。两个阵营中都有兼容或重叠的指令集,并且MCU时钟频率已升级到接近微处理器段底端的点。

可扩展系列

让我们考虑一些似乎是兼容处理器技术平滑发展的例子,这些技术将MCU产品线推向微处理器领域。飞思卡尔提供基于ARM Cortex-M4内核的Kinetis MCU系列,包括K10,K20,K30,K40和K60 MCU等产品。在微处理器方面,飞思卡尔提供i.MX微处理器系列。 i.MX1/2,i.MXL和i.MXS系列基于ARM9内核。 i.MX3x系列基于ARM11内核,i.MX5x系列基于ARM Cortex-A8内核。

显然,基于飞思卡尔ARM的产品组合中使用的CPU核心存在差异。我们将在整篇文章中讨论内核中的体系结构差异,但在简化的比较中,它们都支持相同的基本指令集。 Cortex-M4内核针对低功耗和更小的芯片尺寸进行了优化。 ARM9,ARM11和ARM Cortex-A8进程基本上代表了性能功能的扩展。我们可以与飞思卡尔基于PowerPC的产品组合进行大致相同的比较,包括MPC6x和MPC7x微处理器系列以及PowerPC MCU系列。

对于TI(图1),基于ARM的系列和以DSP为中心的处理器都有一个平行的故事。 Stellaris MCU系列基于ARM-Cortex M3内核,包括3000,5000,6000,8000和9000系列MCU。 Sitara微处理器系列包括基于ARM9的AM1x处理器和基于Cortex-A8的ARM3x处理器。

cpu

图1:TI Concerto MCU系列基于该公司的C2000系列架构,结合了ARM Cortex-M3内核和支持浮点的,以DSP为中心的内核。

MCU与微处理器性能的关系

MCU和微处理器领域确实从高层次看起来是连续的。您几乎可以考虑两者之间的边界,例如,比较16位和32位MCU,您可以在许多应用程序中重叠选择。但这样做是错误的。让我们深入挖掘,找出原因。

从某些方面来看,MCU和微处理器从性能角度来看是非常接近的。考虑EEMBC(Embedded Microprocessor Benchmark Consortium)发布的CoreMark基准测试。具体来说,让我们讨论从比较中消除时钟速度的CoreMark/Mhz分数。飞思卡尔Kinetis MCU的公布分数范围为2.05至2.95。 i.MX5系列的公布分数范围为2.28至2.45。

Kinetis和i.MX5的性能接近于Kinetis甚至在每MHz的基础上占据上风。当然我们知道i.MX5速度更快,部分原因是时钟速度。在i.MX产品组合中,最大时钟速度从400 MHz扩展到1.2 GHz。最快的Kinetis处理器运行速度为150 MHz,尽管飞思卡尔已经宣布了200 MHz设备的计划。让我们根据图片中的时钟速度重新考虑CoreMark得分。运行频率为800 MHz的i.MX5得分为1964,而150 MHz MCU的最高Kinetis得分为427。

时钟速度差异

实际上,从时钟速度开始,由于多种原因,MCU和微处理器性能之间仍然存在显着差距。最大时钟速度取决于制造过程和CPU微体系结构。

我们都知道随着制造商将摩尔定律推向更精细的工艺几何形状,时钟速度会上升。 MCU将始终位于较旧的进程上。 TI的C2000营销经理Sangmin Chon表示,“在MCU中,我们将永远落后于几个节点。” Chon指出,与微处理器相比,MCU通常部署在更具环境挑战性的应用中,例如高温应用。这一事实导致MCU制造商依赖强大的更保守的工艺节点。

现在让我们考虑一些微控制器元件,这些元件将控制MCU的时钟速度。深度流水线是一项重要功能,可以加快微处理器的时钟速度。一些微处理器使用了20级或更多级。最近的趋势更多的是10个阶段,而MCU通常依赖于3到5个阶段。

我们现在看一个差异很小的例子。飞思卡尔最快的PowerPC MCU基于具有4级的e300内核。 MPC6x和MPC7x微处理器基于具有7级的e600内核。从理论上讲,e300内核的运行速度为667 MHz,而e600的运行速度为1.8 Ghz。管道不是唯一的门控因素,但它是一个重要因素。

当然,MCU设计人员可以增加流水线深度,但这样做与许多公认的MCU特性背道而驰。例如,考虑中断响应。中断要求CPU在上下文切换后重新加载管道,因此存在许多没有完成指令的周期。相对于微处理器,MCU在时钟速度方面已经处于劣势,因此管道重载过程会在长管道中产生不可接受的延迟。

长管道也会影响硅足迹,芯片尺寸直接影响成本。微处理器市场更愿意接受更高的价格以获得更好的性能,而在大多数基于MCU的系统中,成本仍然是一个巨大的问题。

内存注意事项

让我们继续比较MCU中相对于微处理器的内存情况以及内存实现对应用程序的影响。集成内存一直是MCU领域的一个决定性原则,可以追溯到最早的产品,如8051.最初由英特尔设计,它至今仍然很受欢迎,并被许多制造商销售。

TI的Chon说:“当您想到嵌入式MCU空间时,您会想到具有嵌入式存储器的设备。”Chon补充说,在大多数应用中,内存要求将指导设计团队选择MCU或MPU。大多数基于MCU的设计依靠集成的闪存来存储代码.TI的顶级ARM MCU,Stellaris 9000系列,集成了512 KB的闪存(图2)。目前市场上的MCU集成了几兆字节的闪存,但很明显,MCU可以处理的应用程序的大小受到限制。

图2:TIS基于ARM Cortex-M3的Stellaris系列中的9000系列MCU集成了512 KB的闪存用于代码存储。

然后,片上闪存故事也有例外。例如,恩智浦半导体正在使用一种名为Quad SPI的接口(有时称为SPIFI用于SPI闪存接口),其中包含许多MCU。 Quad SPI链路使用4条线,可以将闪存的访问速度提高四倍。恩智浦表示,该接口可以产生40 Mbps的读取速率。

恩智浦基于ARM Cortex-M4的LPC4300 MCU系列中的首批产品未集成任何闪存。实际上,LPC4330和LPC4350 MCU完全依赖于四SPI连接的存储器。外部闪存被视为MCU存储器映射的一部分,MCU可以从外部存储器启动。即使恩智浦推出集成闪存的LPC4300 MCU,Quad SPI功能也会派上用场,让设计团队可以选择应用中所需的内存量。恩智浦产品营销经理Gordon Cooper表示,灵活性在多媒体和图形应用中尤为重要,因为集成闪存可以处理应用程序所需的代码大小。该接口不提供与微处理器一起使用的高速DRAM接口中的速度类型,但Quad SPI仍然具有MCU中通常不具备的可扩展性。

内存管理或保护

大多数MCU和微处理器之间的另一个主要区别在于内存管理或保护。这里讨论的所有微处理器都将存储器管理单元(MMU)集成为微体系结构的一个特征。相比之下,大多数MCU集成了通常称为内存保护单元的内容。

MMU和内存保护单元均可用于对内存空间进行分区,并保护关键任务代码和数据免遭篡改。例如,内存分区可以专用于一个CPU任务的私人使用。操作系统还可以保留对存储区域的访问。 MMU更进一步,虚拟化内存空间,允许操作系统无缝访问碎片存储器映射。

MMU的存在或缺乏是大多数设计团队考虑处理器的另一个关键指导点。如果您的产品将运行Linux等通用操作系统,则需要MMU。嵌入式应用程序的大多数实时操作系统与MMU或内存保护单元同样适用。

虽然很少见,但您可以在选定的MCU中找到完整的MMU功能。例如,飞思卡尔PowerPC MCU系列包括一个MMU。 Atmel(图3)还在其基于ARM9的SAM9产品系列中集成了MMU。

图3:Atmel的SAM9XE MCU系列基于包含MMU的ARM9内核。大多数MCU仅集成了内存保护单元。

在Atmel的案例中,有一个适用于产品的命名法。 Atmel称SAM9R和SAM9M系列为嵌入式微处理器。它称兄弟SAM9XE产品为MCU。嵌入式微处理器提供更高的时钟速度,最高可达400 MHz,并包括DRAM接口。但是,所有基于ARM9的产品都包含MMU,并且所有产品都以MCU方式集成了外设功能。

周边集成

已经提到了外设集成,让我们在这个领域更深入一点。如今,微处理器和MCU都集成了丰富的外设功能,但组合通常存在差异。在微处理器上,您通常会找到主要的数字外设功能。典型示例包括以太网和USB,图形控制器和音频控制器。

在MCU空间中,您还可以找到连接外围设备和图形控制器,尽管通常针对较小的低分辨率显示器。但是,在MCU中,您通常会找到许多模拟外设,例如数据转换器和脉冲宽度调制(PWM)外设。同样总有例外。前面提到的Atmel嵌入式微处理器包括A/D转换器和PWM。许多飞思卡尔的i.MX微处理器包括A/D转换器,定时器,模拟音频功能和PWM,如图4所示。

cpu

图4:飞思卡尔i.MX微处理器系列的一些成员包括以模拟为中心的外设,如MCU中常见的外设,包括i.MX251所示的A/D转换器和PWM。

客户驱动的决策

尽管微处理器和MCU空间之间存在技术差异,但设计团队将面临必须在高端MCU和低端微处理器之间进行选择的情况。在这些客户的推动下,IC制造商正在对重叠空间作出反应。 TI的Chon指出,“从微处理器方面来看,我们确实看到线路模糊。”

TI所做的一件事是为其基于ARM9和Cortex-A8的处理器引入StarterWare软件开发包。 StarterWare是免费的,在许多情况下无需复杂的操作系统。此外,该工具还可以快速开发具有USB和网络堆栈等功能的系统。事实上,该软件更像是公司随MCU提供的StellarisWare工具,而不是它历史上为微处理器客户提供的基于操作系统的工具。

这也是客户的需求,推动了TI的ARM-plus-DSP产品在MCU和微控制器领域的发展。从外部看,您可能会认为TI希望在两个部分提供类似的架构,从而提供可扩展的性能和功能集。

实际上,客户出于完全无关的原因推动了ARM-plus-DSP产品。对于TMS320C6A816x和OMAP系列,客户需要DSP来处理数学密集型的多媒体和通信中心例程,同时还需要能够托管复杂操作系统和用户应用程序的处理器。在Concerto MCU的情况下,客户正在寻找ARM内核的便利性,因此很容易实现USB和网络堆栈等功能。在MCU的情况下,DSP主要针对工业类应用,如电机和驱动器的实时控制。

查看应用程序需求

在这里总结我们的讨论,消息不是一个简单的消息。 MCU和微处理器部分正在向重叠方向发展,有些情况可能会在您的设计中足够。您应该通过高级别的应用程序要求和选择来启动决策过程,例如是否需要强大的操作系统导致微处理器,或者系统占用空间是否要求代码适合MCU的集成内存。 IC制造商建议,在许多情况下,设计团队知道他们将遵循MCU或微控制器设计路径。如果选择模糊,团队必须密切评估微处理器外围集成的增长趋势,或者MCU中出现的时钟频率和外部存储器支持的不断增加。正是功能集中当前约定的这些例外可能会导致正确的选择。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分