中文 英语

如何选择一个处理器吗

没有明确的公式怎么使用,但是有很多意见谁应该作出决定。

受欢迎程度

选择一个处理器可能看起来简单的乍一看,但与许多工程远比看起来难的挑战。

当一个CPU比GPU,单片机、DSP或其他类型的处理器吗?和设计或设计的一部分是什么?

几十年来,CPU已经被默认选择。“这是故意设计的非常高效的任务,程序很简单,一般具有良好的工具和现成的中间件/库,”说手臂杰姆同胞戴维斯。”因为它确实是一个数字世界——所有问题最终可以表示为代码,那么所有任务的CPU仍是一个可能的选择。”

但是对于一些任务它不是最好的选择,因为它并不总是最有效的。“你不会选择做现代CPU 3 d图形,例如,因为它太慢或消耗过多的权力。如果CPU可以实现所需的性能,接下来要考虑的是功率效率。如果你只会执行任务很少,然后功耗不会太多的问题。但是如果你想看电影,例如,那么你需要一个处理器解码数字视频尽可能高效地设计,或者你的电池会平之前最后一个扣人心弦的场景。”

克里希纳Balachandran、产品管理总监节奏同意,CPU是最通用的处理器类型。“你几乎可以做任何事情。你可以做数学计算程序,可以进行重复的处理程序,您可以使用它来做图形处理,。你可以做几乎任何事情。这也是最复杂的,因为它是最通用的,它不适合任何一个事情。根据定义,因为它能够做很多,这是一种杂而不精的人。”

Balachandran补充说,CPU是善于做任务以串行方式。“一件事,它等待结果,然后做下一件事。CPU现在管线式他们尝试做一次不止一件事诉诸流水线,和一些CPU架构也有多个核心和做一些并行处理。”

GPU的另一方面,是一种优化的硬件单元用于有效地处理任何类型的图形。“他们涉及纹理映射等功能或旋转图像或做一些操作,比如阴影,”他说。“更现代的智能手机,你有运动补偿,或一些视频和编码或解码。这些功能是最适合GPU,可以加速这些类型的任务。他们由成千上万的小核,在某些情况下,这些核心复制一遍又一遍。他们这么做并行任务非常有效地和他们所做的一切。”

然后,需求方,专门的硬件尤其擅长数学计算,和单片机CPU非常专业的但规模小得多,只能够做CPU的任务的一个子集。

的争论点
的选择使用,并不是那么简单,不过,它可以创建一个硬件和软件团队之间的斗争。

科林的墙壁,嵌入式软件技术专家导师图形断言的决定应该最终到软件设计团队领袖。“有很多的选择标准是由软件驱动的。它应该是一个软件的决定但硬件的选择似乎被认为是硬件决定。”

墙壁说,在他的经历是很常见的所有类型的开发人员和他们所知道的,而不是质疑最优处理器是为特定的应用程序。“他们会有一个想法什么样的参数,他们会看看他们最后一次使用。如果是动力不足,不做这项工作,他们必须考虑它。但如果有点过于强大,也许他们先前的知识和经验的好处大于缺点略的设计。这是合乎逻辑的和良好的工程实践。在每一个设计的完美设备可能不是一个特别有用的目标。”

虽然找到最优处理器似乎值得在某些层面上,墙壁解释说,找出一个处理器的选择参数是非常困难的,因为,原则上,一个现代的设计是由软件开发。”在某种程度上,直到软件开发进展有一定距离,你不会知道你需要多少处理器能力或什么样的设施一定会要求——这意味着一个CPU的指令集可以为一个应用程序比另一个更好的,但你可能不知道,直到你有一些开发周期。”

在完美的世界里,软件工程师将开始工作之前任何承诺,但他承认,可能并不实用,因为他们需要进行硬件设计。这需要时间,所以必须达成某种妥协。

他强调软件也应该开始在硬件因为有很多工作要做,这可能进一步驱动方面的硬件设计。“从历史上看,它总是做的相反。形状有大量的工作要做硬件,软件几乎是一个事后的设计过程。如今,这是完全相反的。在那些日子里,硬件团队可能是比软件团队。这几乎是逆转无处不在。有更多的软件比硬件的家伙,还有更多的工作要做在那个空间,但优先级还不一定在所有情况下都转过身来对应。在一些公司我肯定有非常开明的团队将采取正确的态度,但从我的观察来看,不是常见的做法。”

并不是每个人都同意软件团队应该选择处理器。营销主管马特•古铁雷斯Synopsys对此解决方案组,说它真的取决于哪一个更适合这样做。“软件人通常有更大的话语权,当有很多遗留代码从一个设计需要迁移到下一个,你可以想象,如果有人成百上千或一百万行代码为一个特定的应用程序,除了特定的处理器实现,软件的人通常会有一个大鸡蛋里头挑骨头是否有大量的工作,他们需要做软件移植到不同的从一个CPU处理器DSP,甚至从一个CPU到另一个CPU。这个任务变得更加容易,因为有不同的抽象级别的软件堆栈。例如,过去如果你在汇编代码编程的具体机器指令的处理器,然后切换到另一个,真的很痛苦,因为你必须重写程序。如今,与C compilers-which并不都是新的,但它们在汇编代码编程相比简化这一任务。你必须重新编译代码来从一个处理器转移到另一个,但任务简单软件都有些人的生活变得更轻松。,有不同和更高级别的抽象,使它更容易,但总的来说软件团队更大的话语权,当有很多遗留代码,使用从一个设计到另一个地方。”

另一个决策点的硬件与软件的参与处理器决定特定的处理器使用,他说。“中央处理器,如果它正在运行,例如,高级操作系统,这一大堆编写应用程序代码,是一个更加痛苦的事情然后做简单的处理器电源管理功能。”

这在复杂的变得更模糊soc可能包含一个CPU,各种DSP核心,硬件加速器,甚至一个或多个可编程元素。和它仍然可能会变得模糊,扇出和2.5 d配置开始推出在接下来的几个月里,在不同类型的处理器可以添加到相同的包中,而不是独立的董事会。在这一点上,可能会有很多人选择不是基于硬件或软件的不同原因垂青,但在成本或原因非常具体的营销。

结论
当多个选项几乎总是可用这些天,有很多方法可以得到相同的结束。并不是所有的都是最优的,按计划,偶尔他们不工作。在某些情况下,它可能是基于一个工程团队结构或层次的专业知识和经验与处理器类型和特定处理器的类型。但无论如何构建一个芯片,总会有权衡,并不总是显而易见的工程的发病过程。

“添加特定的加速器,或者额外的不同类型的处理器,总是带有硅区域的额外成本,“胳膊的戴维斯说。“设计权衡总是要考虑到这一点。复杂的领域特定的处理器通常是工具,不是那么好主流cpu,需要更多的经验和专业知识来获得最佳的性能。有时,最佳直率的表现,设计师将有问题的部分并行执行的所有计算元素的设计。”



留下一个回复


(注意:这个名字会显示公开)

Baidu