选择处理器IP内核时应遵循哪些原则?

电子说

1.3w人已加入

描述

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

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

字节长

执行单元

特权/保护

虚拟内存

安全功能

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

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

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

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

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

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

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

责任编辑:lq6

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

全部0条评论

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

×
20
完善资料,
赚取积分