上周五,Arm发布了其实时处理器系列的最新一代产品Cortex-R82。大多数人都对Cortex A系列CPU更为熟悉,Cortex A系列CPU在运行成熟的操作系统的智能手机和平板电脑等设备中用作主要处理器。该的Cortex-R系列,相比之下,通常用于高性能应用要求苛刻的“实时”性能,这意味着简单的,可预见的和极低的延迟反应的循环,在更简单的软件栈。
早期的Cortex R系列处理器无法运行包括Linux在内的成熟的现代操作系统,因为它们利用了简单的内存保护单元(MPU)而不是支持诸如以下功能的更复杂的内存管理单元(MMU)。虚拟内存。这通常不会被视为问题,因为实时操作系统(RTOS)工作负载通常需要具有更简单,更可预测的控制循环。
实时与多任务
Cortex R-82仍然提供简单的MPU,但也可以选择配置MMU,并且CPU的内核可以分别动态分配。Arm的Neil Werdmuller假设存储控制器在高峰和非高峰时段可能会以不同的配置文件运行,并根据需要将核心从实时的“纯SSD”职责重新分配给“计算存储”(可能意味着板上AI分析)。
灵活的设计
当用于存储控制器等对缓存友好的应用程序时(Arm表示R系列产品占据了市场的85%),先前设计的32位体系结构对性能进行了严格限制。现代SSD通常具有2GiB板载DRAM,令人不快地接近32位CPU的4GiB理论最大地址限制。
R-82的64位体系结构使其与现代主流处理器保持一致,从而使其能够处理高达1TiB的物理地址空间。新架构还为单指令多数据(SIMD)处理提供了对可选Neon单元的支持,从而在存储设计中提供了更大的灵活性。
最后,带有可选MMU的Cortex-R82设计将能够运行诸如Linux之类的全栈操作系统,以及甚至与更简单的RTOS并行运行。这将允许重用在传统上限制性更强的环境中为完整Linux环境开发的现有高级代码。
更高的性能
新的CPU设计带来了传统的性能提升以及体系结构上的变化。在上表中,Arm显示出通用基准方面的显着改进,并且利用新的Neon SIMD指令进行的测试得到了大幅改进。“消费者”列是EEMBC消费者基准,它在通过Arm Compiler 6.14进行编译时利用了SIMD指令;客户1至4是未指定的Arm客户的实际应用程序。