` 本帖最后由 o_dream 于 2020-9-9 16:59 编辑
Arm推出Cortex-R82,这是其首款支持Linux的64位处理器,可实时计算固态驱动器(SSD),硬盘驱动器(HDD)和内置存储解决方案中的存储功能作为计算存储应用程序。过去,诸如SSD的实时嵌入式系统所需的DRAM和可寻址空间少于4GB,并且不需要运行Linux。随着存储容量的不断增加和性能要求的不断提高,存储主机接口的吞吐量不断提高,4GB的限制和无法运行Linux的情况增加了复杂性,并在某些情况下成为障碍。
Cortex-R82处理器是一种能够寻址多达1TB地址空间的64位处理器,已针对此类系统进行了优化,从而能够实现更高性能,具有更多可寻址空间的实时计算,并能够运行Linux进行下一代计算存储设备。它的Linux支持为简化的计算存储架构和灵活的片上系统(SoC)设计铺平了道路,这些设计可以根据不断变化的工作负载或不同的产品动态地重新分配计算资源。
Arm表示,Cortex-R82是第一个将实时上下文和基于内存管理单元(MMU)的上下文结合在一个内核中的Arm处理器。在传统的Cortex-R实时行为中,Cortex-R82内核仍可以配置有内存保护单元(MPU),以运行裸机和RTOS。在Cortex-R82中,同一内核也可以配置有可选的MMU,以允许执行高级操作系统(如Linux)。
实时和MMU上下文都可以由同一个内核同时处理,或者群集中选定的内核可以专用于实时或Linux,这增加了SoC设计的灵活性,可以容纳多个产品和市场。该选择由软件处理,甚至可以动态更改,从而可以根据需求动态调整余额。
Cortex-R82具有三个异常级别(EL)。EL2是最高级别,可为OEM代码和客户代码提供安全的隔离区域和虚拟机的隔离/隔离。更具体地说,在EL2上运行的MPU上下文使用OEM和/或OS代码处理在EL1上的MPU和MMU上下文之间的上下文切换,而用户代码在EL0上运行。Linux可以运行,并且在发生实时事件时,处理器可以切换为处理实时事件,然后切换回Linux。该安全性可隔离主要固件,并使基于Cortex-R82的设备的最终客户能够添加实时或基于Linux的自定义软件。
处理器的40个地址位使它可以直接寻址多达1TB的可寻址空间,从而实现了非常大的内存或设备实时系统,并通过窗口解决方案提高了性能。可以通过AXI或CHI访问此大地址空间,以启用其他功能,包括原子和缓存存储。
Cortex-R82处理器在标准基准上提供了比Cortex-R8更高的性能,甚至在实际合作伙伴代码上也具有更高的提升。与Cortex-R8相比,合作伙伴代码执行显示出74-125%的性能提升。当运行SPECINT2006基准测试时,Cortex-R82处理器的性能也比Cortex-A55高出21%。性能提升可满足最苛刻的实时嵌入式工作负载,并可轻松运行完整的Linux发行版。
Cortex-R82处理器可选地包括最新的Neon指令,以通过点产品支持等功能极大地加速机器学习(ML)工作负载。这对于Neon可以加速Arm计算库和ArmNN库的计算存储特别有用,例如,在充满图像的驱动器中搜索特定的图像。
单核根据需求调整工作负载 在新兴技术(例如计算存储)中,在同一核或核群集上同时运行实时和Linux的能力是关键。与传统SSD一样,通过SSD进行数据传输也需要实时功能。直接在驱动器上运行Linux和相关软件工具有助于进行计算负载管理和文件系统识别,以执行驱动器计算并生成有关驱动器的见解,从而极大地减少了数据移动,延迟和能耗。
例如,可以通过一组Cortex-R8内核集群和一个用于Linux的Cortex-A内核集群来实现相同的功能,但是使用Cortex-R82可以简化整体系统架构,因为它可以同时处理这两种架构。这样可以减小芯片尺寸,降低成本,最重要的是,可以提高灵活性。相同的SoC可用于普通企业SSD,并可重新配置为CSD产品,从而在创建多个SoC的较小过程中节省了较大的掩模集成本。甚至可以通过软件动态配置同一产品,以在白天运行SSD功能,并在晚上切换到计算存储。 `
|