×
嵌入式 > 电路设计 > 详情

如何选择合适的处理器内核

发布时间:2023-08-30 发布时间:
|

处理器内核越复杂,面积和功耗就越大。但是,随着处理器处理数据的方式变得更加复杂,复杂性并不是一个单一的衡量维度。在选择处理器IP内核时,为您的项目选择正确的复杂性很重要。


思考复杂性的一些方法包括:


字节长

执行单元

特权/保护

虚拟内存

安全功能


通常,字节越短,内核越小,功率越低,但是,并非总是如此。8位内核(例如8051)的门数可与最小的32位内核相比,但功耗通常更差。8位内核需要更多的存储器访问权限,这是因为每个时钟周期需要较少的计算量,需要更多的周期。最终的影响是它需要更多功能来完成计算。


处理器内核在其执行单元的复杂性方面差异很大。最简单的是基本的单个ALU,它们需要通过简单的指令来实现许多通用操作。例如,使用shift和add来实现乘法。因此,内核具有硬件乘法器和除法器是普遍的。如果需要良好的浮点性能,则添加硬件浮点单元将提供明显更好的性能。此选项可用于Codasip的Bk3和Bk5 RISC-V内核,但价格更贵。


到目前为止,我们已经假设单个计算线程和标量处理单元可以一次执行一条指令。超标量体系结构具有指令级并行性,能够提取多个指令并将其发送到不同的执行单元。例如,Western Digital EH1和EH2 SweRV内核有两个执行单元。理论上,单线程双核处理器可以具有单核两倍的性能。但是,线程可能会挂起,这会使两个执行单元暂时处于非活动状态。如果有两个硬件线程,一个线程挂起后,另一个线程可以继续执行。


处理器的流水线深度可能有很大差异,并且深度与延迟之间存在直接关系。一些应用程序可以忍受高延迟,结果是对中断的响应变慢,以换取较高的时钟频率和吞吐量。其他应用程序需要对中断的快速响应,因此需要更短的流水线。


复杂性的另一个方面是特权模式。模式越多,核心逻辑就越复杂。许多嵌入式应用程序以机器模式运行,这意味着代码具有对内核的完全访问权限。例如Linux中的root特权。必须完全信任此类代码,以避免产生负面后果。在更复杂的应用程序中,可以提供一系列特权,例如机器,管理员和用户。普通应用程序将在具有最大保护程度的用户模式下运行,而一些需要更高权限的软件将使用管理员模式。 Linux需要这三种模式,这就是Codasip开发具有Linux功能的Bk7内核的原因。


虚拟内存还需要其他处理器资源,例如内存管理单元(MUU)和转换后备缓冲器(TLB),以处理将虚拟内存地址转换为物理地址的操作。这在面积和功耗方面带来了额外的成本,而没有提高处理器的吞吐量。但是,虚拟内存对于使用丰富的操作系统(例如Linux)是必不可少的,该操作系统可以使用更复杂的软件。


因此,在选择处理器内核时,请确定所需的执行单元,内存管理,特权和安全性。这种结合将决定内核的复杂性。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
MathWorks 被Gartner 评为机器学习平台魔力象限领导者