欢迎来到天天文库
浏览记录
ID:27889799
大小:949.00 KB
页数:10页
时间:2018-12-06
《探索ARM Cortex-M7核心:为明日物联网预做准备.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、探索ARMCortex-M7核心:为明日物联网预做准备 ARMCortex-M7处理器 Cortex-M处理器系列的最新成员是Cortex-M7。这款新的核心具备可用于支持新型嵌入式技术需求的功能,它设计用于需要较高处理性能、实时响应能力和能效的应用。总体而言,Cortex-M7处理器包含下列关键特性: •高性能、双指令签发6级流水线,每个时钟周期最多可执行两个指令; •64位AXI系统总线接口; •可选指令缓存(4到64KB)及数据缓存(4到64KB),每种缓存内存均有可选的ECC(错误校正码)支持; •可选64位指令紧密耦合内存(ITCM)及可选双
2、32位数据TCM(D{0,1}TCM),每个TMC内存阵列均支持客户ECC实现; •可选的低延迟AHB外设总线接口,允许在实时应用程序中对外设进行确定性的快速访问。 图1ARMCortex-M7处理器 ARMCortex-M7处理器配置选项 Cortex-M7处理器的微架构与Cortex-M处理器系列中的其他核心不同。Cortex-M7的微架构具有6级超标量流水线实现,通过改善架构性能(减少每个指令周期数)和提升运行频率,大幅改善系统性能。为支持超标量设计更高的指令和数据带宽要求,其关键内存接口设计为64位宽度。AXI系统总线和单周期ITCM接口均为6
3、4位,双32位D-TCM接口可以在一个周期内处理两个32位传输或一个64位数据传输。表1总结了Cortex-M7处理器微架构中的总线,强调了新接口与前代ARMCortex-M系列设备的对比。 在支持许多IoT应用所需的内存扩展性时,AXI主控器接口可发挥重要的功能。由于新的使用模型建立于持续收集和分析的数据基础上,因此能够利用外部内存来增加功能性显得至关重要。除了AXI主机接口外,TCM接口也提供最优的单周期接口,用于执行控制所需的实施运算。若要支持超过5CoreMarks/MHz的处理器性能级别,高性能内存和总线接口则至关重要。 选择要在SoC中使用哪些总线
4、以及如何加以利用时,需要考虑多个要素,其中包括: •哪些外设需要连接Cortex-M7处理器上的AHB外设总线,来实现低延迟访问能力? •哪些外设需要由DMA控制器访问? •需要哪些形式的访问控制和内存保护? 图2最小微控制器 表1ARMCortex-M7总线类型和说明 举例来说,在非常简单的设计中,内存系统可以连接至TCM接口,外设可以连接至AHB外设接口,如图2所示。这种配置使得SoC不仅能够利用Cortex-M7核心的可缩放性能,而且仍然能够应对与成本和尺寸相关的挑战。例如,通过SRAM与TCM接口的连接,可以活动支持,实现需要实时性能的
5、控制边缘节点。 另一种配置选项是将嵌入式内存和(或)外部内存与AXI接口连接,并通过使用缓存内存来实现更高的性能。大多数微控制器应用包含许多小的控制循环,因此固件执行的缓存未命中数非常低。使用基于缓存的设计时,系统在从AXI总线系统执行程序时的确定性可能较低。不过,可以在与ITCM接口连接的SRAM中,放入异常矢量表和中断处理程序,从而实现在执行中断处理程序时的确定行为。 AXI接口和缓存的内存可扩展性、性能以及效率优势是满足应用需求的关键所在。此类配置提供与IoT应用相符的诸多优势,如支持无线固件更新和利用大型外部内存的数据存储需求。然而,并非所有应用案例都
6、需要每个选项,所以必须要考量与成本、尺寸和功耗相关的挑战。 内存系统的设计可以提供各种各样的配置选项。需要考虑多个方面和因素,其中包括: •来自AXI或TCM接口的执行; •缓存大小(如果使用AXI); •嵌入式内存访问加速的方式,以及闪存的带宽; •可选ECC支持。 许多不同因素可以影响到决策,如嵌入式闪存的读取访问速度,时钟速度要求,以及目标应用的典型大小及其程序流行为。 如果嵌入式内存访问速度与所需的处理器速度相近,则嵌入式闪存可以和具有一些闪存访问加速的ITCM接口连接。而在其他情形中,使用带有缓存的AXI将更加合适。如果应用需要从外部内存控
7、制器执行程序,那么内存控制器通常会与AXI接口连接,也就需要指令缓存和数据缓存的支持。在一些情形中,应用可能只需要将外部内存用于数据存储。这样的情形中不需要指令缓存。 选择缓存大小很大程度上取决于应用程序代码的属性。在嵌入式内存运行程序代码时,会同时利用指令缓存和数据缓存,因为程序映像通常会随指令一起包含文字数据、查找表或只读常量。与程序映像内部中的数据/常量相比,应用程序通常有更多指令字。随着程序大小变大,缓存要求也在提高,指令缓存大于数据缓存也不罕见。相反,一些应用程序可能有很小的控制或DSP循环,同时可能有大量的数据用作计算的系数。在此类情形中,较大的D缓
8、存可能比较
此文档下载收益归作者所有