0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

选择合适CPU会对整个SoC系统的性能产生什么影响?

我快闭嘴 来源:贤集网 作者:贤集网 2020-09-21 11:30 次阅读

如果您认为CPU对片上系统(SoC)而言就像汽车的引擎一样,你知道你不会将大众汽车的发动机放在悍马车上,并期望它能发挥作用。同样,法拉利发动机也不适合。尽管法拉利可以为悍马发动机提供类似的马力,但由于缺少扭矩,它可能会失效。

对马力的简单评估与在汽车世界中一样,在选择CPU时会产生误导。有针对所需功能的最佳解决方案。SoC中的CPU选择也是如此。很多时候,设计人员仅根据系统架构师对特定CPU的知识和过去的经验来选择CPU。

在决定使用哪个CPU时,设计人员应考虑总体系统指标,例如:总体设计的复杂性,设计重点,保护,性能,功耗,尺寸,成本,工具和中间件可用性。

设计的复杂性有助于确定要使用哪个CPU。例如,如果设计要求部署一台状态机,并带有来自少量外围设备的中断,则小型CPU和/或微控制器(例如8051或Z80)可能是最佳选择。许多系统(例如寻呼机)最初可能适合此类别。内存占用空间小,信号缓慢,电池消耗必须非常低。

算法及其相互作用将决定设计的复杂性,也可能确定其是否需要实时操作系统(RTOS)。通常,随着应用程序复杂性的增加,对更大位宽处理器的需求也随之增加。

设计正在被重视,并且复杂性不断增加;那个2000年的传呼机可能需要在2003年播放MP3,因此8位CPU可能不足以应付当前的任务。设计包含的接口数量是一个很好的指标。例如,在我们的传呼机中,最初有两个主要界面,用户界面和无线电链接。在添加MP3播放器的设计中,我们将需要添加用于存储和传输数据的内存接口,以及用于播放数据的音频接口。在这个例子中,系统的复杂性从最初的概念开始就大大增加了,如果我们考虑将来可以将设计部署到哪里,我们可以重用许多相同的设计。

确保您留有增长空间。今天,您的8位设计可能适合MP3播放器。但是,当在具有更高带宽外围设备的机顶盒应用程序中重用设计时,您可能需要重新设计完整的解决方案,以迁移到基于ARM,MIPS或PowerPC的应用程序。体系结构以应对新的约束。

系统可能需要保护自己免受外部攻击,甚至免受自身攻击,这意味着CPU可能需要包含内存管理单元(MMU)来解决此问题。虚拟内存允许受约束的程序访问整个系统,而不受信任的程序只能访问分配给它们的内存。3G手机(具有Internet连接的手机)是需要保护的典型示例。由于恶意程序会使您的手机崩溃,因此设计人员不再能够使用缺少MMU的CPU。尽管MMU并没有消除潜在的系统故障,但它减少了难以发现的系统故障的数量和频率。

三种主要的CPU体系结构围绕具有16位,24位和32位地址总线的8位,16位和32位数据寄存器构建。这些体系结构之间的主要区别在于,一个特定的寄存器可以容纳的信息量以及可以直接寻址的信息量,如下所示:使用8位数据寄存器和16位地址总线,CPU可以拥有64k的地址空间;一个带有16位数据寄存器和24位地址的地址空间可以具有16兆字节的地址空间;而具有32位数据的32位地址将具有4 GB的地址空间。

为什么嵌入式系统曾经需要访问4 GB的地址空间?答案很简单:由于要求系统执行更复杂的任务,因此运行的代码的大小和复杂性都会增加。Z80上CPM的早期使用了存储内存和页面交换的过程来运行8位计算机上更复杂的程序。由于64k的空间不足,设计人员通过覆盖内存和页面以使更多CPU占用空间,使系统变得更加复杂。

对于许多设计而言,24位地址总线似乎已足够。但是,有几个因素将设计人员驱使到32位地址空间,包括保护和指针。为了进行保护,具有虚拟内存的CPU可以使用整个地址范围将物理内存划分为单独的虚拟空间,从而可以保护指针免受错误的侵害。无需索引即可使任何寄存器成为指向内存的指针的功能简化了软件。

选择CPU会对整个系统的性能产生极大的影响。具体来说,缓存,MMU,流水线,分支预测和超标量体系结构等功能都会影响系统的速度。根据SoC的需求,可能需要使用这些功能来实现系统的最佳性能。

SoC的最终用途将决定您的设计消耗多少功率。如果您的设计是电池供电的,则CPU将需要尽可能节省功耗。例如,某些CPU具有睡眠。这些模式允许CPU在空闲时通过关闭CPU的数量来暂停操作并消耗更少的功率。不同的CPU执行同一任务的结果不同。

CPU的成本可以通过几种方法来衡量。首先,存在IP成本,其中包括为SoC和任何衍生产品获得IP的成本。然后是系统集成成本,其中包括可用于SoC设计和实现的工具。最后,您必须确定CPU变体是否经过硅验证,以及在SoC使用的总线体系结构中是否可用。

RTOS和中间件的可用性也可能决定您的选择。例如,在设计PDA时,您可能需要适用于Linux的中间件,但是选择虚拟操作系统将决定您要从小型非MMU CPU迁移。

此外,如果设计需要图形系统或文件系统,则RTOS的选择将决定CPU的类型。许多RTOS供应商针对特定的家庭,而其他人则保持不变。大多数8位CPU都具有简单的调度程序,尽管这些调度程序适合于消耗很少的外包代码的小型设计,但不适用于消耗任何数量的外包代码的设计。解决方案的外包将确定要使用的RTOS,进而决定将支持哪些CPU。

其他考虑因素包括:您需要哪些工具来进行设计,并且它们可用于您可能使用的标准ANSI C / C ++编译器吗?您将如何在硬件/软件协同仿真环境或SoC中调试设计?是否存在JTAG端口,CPU是使用该通道进行调试还是调试需要专用的串行端口?选择更高级的语言(例如C ++)或从UML中的设计生成的代码也可能表明您需要更高的总线宽度和时钟频率来处理代码的大小和复杂性。

如果将SoC划分为几个通过松散连接的FIFO或串行通道进行通信的处理器子系统,则可能会更好。许多设计都集成了数字信号处理器和RISC CPU,以分担工作量并简化每个处理器域的设计。

现代SoC设计为系统架构师提出了新的挑战。选择CPU不再是琐碎的事情。通过使用诸如总体设计的复杂性,设计重用,保护,性能,功耗,尺寸,成本,工具和中间件可用性之类的指南,设计人员可以简化决策。
责任编辑:tzh

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

    关注

    48

    文章

    6809

    浏览量

    147634
  • 处理器
    +关注

    关注

    68

    文章

    18275

    浏览量

    222155
  • 发动机
    +关注

    关注

    33

    文章

    2320

    浏览量

    67473
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10442

    浏览量

    206547
收藏 人收藏

    评论

    相关推荐

    晶振的外接电容值选择不当,会对电路产生什么影响?

    如果晶振的外接电容值选择不当,可能会对电路产生以下影响 : 1.频率稳定性: 电容值过小可能导致频率稳定性下降,容易受到外界因素的干扰。电容值过大可能会使频率偏离标称值。 2.起振问题: 电容值
    发表于 03-04 11:33

    如何选择合适的共模电感感值

    电子发烧友网站提供《如何选择合适的共模电感感值.docx》资料免费下载
    发表于 01-22 09:14 1次下载

    什么是中央处理器,中央处理器的性能结构

    总体来说,中央处理器是计算机系统的核心部件,它的性能整个系统的运行效率有着至关重要的影响。不同的CPU具有不同的
    的头像 发表于 01-16 13:56 299次阅读

    唐辉电子向您介绍CPUSoC、MCU

    “唐辉电子”向您介绍CPUSoC、MCU
    的头像 发表于 01-11 12:49 131次阅读
    唐辉电子向您介绍<b class='flag-5'>CPU</b>、<b class='flag-5'>SoC</b>、MCU

    研讯科技——研华工控机CPU如何选择适合自己的?常见的CPU有哪些

    在工业自动化领域,工控机是一种常见的设备,其性能和稳定性对于整个系统的运行至关重要。其中,CPU作为工控机的核心部件,其性能直接影响到工控机
    的头像 发表于 01-03 16:36 398次阅读
    研讯科技——研华工控机<b class='flag-5'>CPU</b>如何<b class='flag-5'>选择</b>适合自己的?常见的<b class='flag-5'>CPU</b>有哪些

    如何选择合适的伺服联轴器?

    详细了解将非常有助于选择合适的联轴器。不同的伺服连轴器存在着其自身的优缺点。本文旨在向伺服联轴器的终端用户介绍不同联轴器的性能,同时指出设计中要考虑的因素以及如何针对不同的应用情况选择
    的头像 发表于 12-25 16:35 282次阅读
    如何<b class='flag-5'>选择</b><b class='flag-5'>合适</b>的伺服联轴器?

    如何根据负载电容和温度特性选择合适的晶振?

    因素选择合适的晶振。 首先,我们来了解负载电容对晶振性能的影响。负载电容是指连接在晶振输出引脚和地之间的电容。晶振的频率会受到负载电容的影响,因此选择
    的头像 发表于 12-18 14:16 211次阅读

    为您的应用选择合适的数字电位计

    电子发烧友网站提供《为您的应用选择合适的数字电位计.pdf》资料免费下载
    发表于 11-23 10:09 0次下载
    为您的应用<b class='flag-5'>选择</b><b class='flag-5'>合适</b>的数字电位计

    在电子设计中如何选择一颗合适的电容呢?

    在电子设计中如何选择一颗合适的电容呢? 电容是电子电路中常用的元件之一,其功能是存储电荷。电容的大小、类型以及使用场景都会对电路的性能产生
    的头像 发表于 10-30 10:56 470次阅读

    为什么在SoC设计中有了CPU还需要DMA呢?

    在现代 SoC(System on Chip,片上网络)设计中,CPU(Central Processing Unit,中央处理器)作为核心组件,负责程序的执行和管理系统资源。
    的头像 发表于 10-08 10:37 639次阅读

    SoC系统中的软件结构设计

    在一个SoC系统结构设计中,除了硬件结构以外,软件结构的设计对整个SoC性能有很大的影响。
    的头像 发表于 09-25 15:14 580次阅读

    如何选择合适的锡膏

    电子发烧友网站提供《如何选择合适的锡膏.doc》资料免费下载
    发表于 09-19 09:17 0次下载

    核心板如何选择合适的封装?

    核心板如何选择合适的封装? 核心板是一种集成了CPU、内存、存储、网络等功能的微型计算机模块,可以作为嵌入式系统的核心部件,或者作为开发板的扩展模块。
    的头像 发表于 08-10 10:36 742次阅读
    核心板如何<b class='flag-5'>选择</b><b class='flag-5'>合适</b>的封装?

    如何选择合适的芯片?

    芯片是电子产品的核心部件,它的质量和性能直接影响着产品的功能和稳定性。因此,选择合适的芯片是工程师和采购的重要任务。
    的头像 发表于 07-04 15:32 678次阅读
    如何<b class='flag-5'>选择</b><b class='flag-5'>合适</b>的芯片?

    手机处理器叫soc还是cpu soc包含哪些模块 中端芯soc和中端soc区别

    CPU核和内存子系统SoC芯片需要内置处理器和内存子系统。处理器主要负责计算和控制各种运算和任务,内存则用于存储数据和程序代码。
    发表于 05-03 08:23 3788次阅读