当前位置: 首页 > 科技观察

使用多核微控制器的三大优势

时间:2023-03-18 11:36:12 科技观察

让我们看看多核微控制器相对于传统单核微控制器的三大优势。优势#1–平衡性能和功耗使用多核微控制器的第一个优势是它为开发人员提供了一种额外的平衡性能和功耗的方法。在单核处理器中,开发人员主要依靠低功耗模式或时钟缩放来最小化能耗(尽管可以采用数十种技术)。多核解决方案允许开发人员通过以最高效率运行所有内核来获得他们的设备所需的性能。当不需要所有马力时,可以关闭核心以节省能源并最大限度地延长电池寿命。在微控制器领域,当今典型的多核解决方案是双核实现。最常见的实现是将高性能、功能丰富的处理器(例如Cortex-M4或Cortex-M7)与低功耗Cortex-M0+处理器配对。这允许低功耗M0+处理低功耗状态,并在需要完成某些事情(例如GUI更新、运行机器学习推理等)时重新打开M4。这为嵌入式开发人员提供了几个用于平衡性能和功耗的潜在配置文件。优势#2–关注点(领域)分离使用多核微控制器的第二个优势是它允许通过关注点或领域的分离来分解应用程序代码。目前有三个主要的域类非常适合大多数应用程序,但肯定还有其他域类。这三个域包括:丰富/实时执行安全/非安全应用程序/通信(Wi-Fi/BT)在丰富/实时执行实现中,应用程序根据其时间要求分为两个域。支持图形用户界面等丰富执行功能的组件将驻留在一个内核中,可能是Cortex-M4/M7。支持传感器采集和控制等实时要求的组件将驻留在第二个内核中,可能是Cortex-M0+。在安全/非安全实现中,应用程序的分解不是基于其执行要求,而是基于安全问题。支持安全启动、加密库、安全通信或其他一些安全功能的组件将在Cortex-M0+等处理器上执行。同样,在嵌入式开发中,常用应用程序组件将从其他处理器(如Cortex-M4/M7)执行,这种实现的主要好处是Cortex-M0+充当安全处理器和执行环境,与应用程序的其余部分是硬件隔离的。在应用程序/通信实现中,一个内核专用于专门处理一个通信堆栈。这个堆栈可以是Wi-Fi堆栈、蓝牙堆栈、一些其他通信堆栈,甚至可能是组合。这里的优点是它可以有一个带有集成通信的微控制器。然后,第二个核心专用于正常的应用程序代码。这些是使用多核微控制器非常有意义的一些实现,在某些情况下甚至有两个以上的内核也可能有意义!优势#3–工作负载分配最后一个优势是它允许开发团队分配工作负载。首先,我们可以将开发和维护应用程序的工作量分配给多个嵌入式开发人员或团队,我们可以有一个核心一应用团队和一个核心二应用团队,然后,每个团队专注于自己的核心应用程序组件,并进行明显的交互在可能存在重叠问题或需要仔细协调核心之间的应用程序行为的领域与第二个团队合作。第二种分配工作负载的方法非常明显,因为我们可以将应用程序工作负载分配给多个处理器。我们可以获得真正的并发应用程序行为,因为我们有多个内核。不要忘记,就像在使用RTOS的并发应用程序中一样,当我们同时拥有多个内核时,我们可能会遇到有趣的竞争条件、时序问题、共享资源问题和其他并发行为问题。在内核之间拆分工作负载时,请务必注意使用哪种处理器间通信方法。结论多核微控制器无疑为嵌入式开发团队提供了许多优势,帮助他们解决日益复杂的系统问题。目前,将应用程序划分为相关区域或领域的能力是采用多核微控制器的主要驱动力。在考虑转向多核解决方案时,平衡性能和功耗以及分配工作负载的能力也是关键优势。