Arm发布首款Armv8-R AArch64架构实时处理器Cortex-R82

 Arm发布首款Armv8-R AArch64架构实时处理器Cortex-R82

Arm于2020年9月3日(英国时间)对外发布了一款新的处理器IP“ Cortex-R82”,可实现存储中的高速数据处理。它是“ Cortex-R系列”的第一个64位产品,用于需要高性能实时处理的设备。

老wu去ARM家的官网了解了下,官方宣称:

Cortex-R82是Arm最高性能的实时处理器,也是第一个实现Armv8-R AArch64架构的处理器。Cortex-R82处理器支持Arm Neon技术,这是高级的单指令多数据(SIMD)架构扩展。Neon可以加速信号处理算法和功能,以加快诸如机器学习之类的应用程序。

Cortex-R82是一种有序超标量多核处理器,可支持高达1TB的DRAM存储空间,以满足“将在需要实时信号处理的领域(如下一代存储设备)带来技术创新”的产品市场需求。

ARM 除了提供主流的Cortex-A系列CPU,还提供了用于高性能实时应用的Cortex-R系列 “实时 “处理器,广泛用于调制解调器子系统内部的5G连接解决方案,同时,R系列的另一大市场是存储解决方案,Cortex-R处理器作为主要的处理元件被用于HDD和SSD控制器。

Cortex-R82应对存储端数据处理需求的急剧增长

根据美国研究公司IDC(国际数据公司)的数据显示,物联网(IoT)设备生成的IoT数据量到2025年将超过79 Z字节(Z字节 想想都觉得恐怖)。此数据需要在边缘端进行实时数据处理,因为随着距离数据源越近,安全性,延迟和电源效率就会得到改善。边缘设备中的数据处理与网络流量成比例地变得越来越重要。根据Arm的说法,近年来,“Computational Storage” 计算存储领域的关注热点正在持续增长。

老wu依稀记得,去年看过这么一条消息,在2019 Flash Memory Summit (FMS) 峰会上,阿里巴巴发布了面向数据中心的下一代集成计算的创新存储架构 – Alibaba In-Storage computing SSD(ISC SSD), 即近存储计算SSD。其思路就是存储部件也具备计算能力,让数据在存储侧就近完成计算。不仅降低计算节点的CPU和内存的负荷,也大大缓解了网络传输的负载,大幅降低应用的响应延迟,为基于数据中心的大数据和人工智能等涉及大数据量处理的应用优化提供新的解决方案。

通过利用计算存储,消除了大文件移动并提高了安全性和隐私性。此外,像现在流行的短视频分享,转码压缩/打码鉴定工作直接在存储端就完成了,并且可以根据应用场景生成不同的比特率和分辨率的视频流。此外,在运输等应用中,可以每天在飞机上实时分析记录存储器上的数TB的飞线记录数据,提高乘客的安全性,同时减少周转时间。

老wu记得当时阿里巴巴方面给出的系统架构图,在运算处理方面,采用的是Xilinx的FPGA, 比如三星家推出的SmartSSD 就行搭载的 Xilinx 的 FPGA。

明显,Cortex-R82 的发布,也是在往【计算存储(Computational Storage)】方面发力的。

Cortex-R82基于新的“ v8-R64”架构,并且是在Cortex-R系列中率先采用64位的。尽管它是Cortex-R8的后继产品,但在诸如Coremark之类的常规基准测试成绩中,性能提高了约20%到30%。

Cortex-R82处理器可提供复杂数据存储应用(包括计算存储驱动器(CSD))所需的更高计算性能。在基于NVMe或NVMe-oF规范或CXL架构的固态驱动器(SSD)中应用Cortex-R82处理器可实现数据本身的高效并行计算。

Arm拥有一套技术和工具来支持和优化基于Cortex-R82的存储控制器的开发。Arm Development Studio和Fast Models可以实现早期的硬件和软件联合开发,而Cycle Models可以在芯片可用之前进行自定义基准测试和性能优化。ARM的培训和设计审查服务以及Cortex-R82 POP IP和库可缩短产品上市时间并降低风险。

Cortex-R82 的一些技术参数

Architecture Armv8-R AArch64
Compliant with Armv8.4-A extensions
Instruction Set A64 instruction set
Microarchitecture Eight-stage, in-order, superscalar pipeline with direct and indirect branch prediction.
Cache controllers Separate L1 data cache and L1 instruction cache private to each core.
An optional, shared (between all cores), and unified (instructions and data) L2 cache.
Partial L2 cache power-down support.
Tightly-Coupled Memories (TCM) Two optional TCMs private to each core: an ITCM for instructions and literal pool data and a DTCM for data.
Cache protection Reliability, Availability, and Serviceability (RAS) extension.
Optional Error Correcting Code (ECC), Single Error Correct Double Error Detect (SECDED) or Double Error Detect (DED) protection for all of the instantiated cache tag and data RAMs, the TCM RAMs, and the TLB RAMs.
Interrupt interface Standard interrupt, IRQ, FIQ, inputs are provided together with an interface to an external GICv3.2-compliant Generic Interrupt Controller (GIC) supporting complex priority-based interrupt handling. The processor includes low-latency interrupt technology that allows long multicycle instructions to be interrupted and restarted. Deferral of lengthy memory accesses occurs in certain circumstances.
Memory Protection Unit (MPU) Two optional and programmable MPUs controlled from EL1 and EL2 respectively.
Configure attributes for up to 32 regions per MPU. Regions cannot overlap.
Memory Management Unit (MMU) Optional EL1 MMU for fine-grained memory system control through virtual-to-physical address mappings and memory attributes held in translation tables.
Floating Point Unit (FPU) and Advanced SIMD (Neon) Optional FPU implementing the Arm Vector and Floating Point architecture VFPv4 with 32 x 128-bit registers, compliant with IEEE754. There is support for:

· Advanced SIMD

· Half precision

· Single precision

· Double precision

Master bus Shared Main Master (MM) port implemented as AXI5 256-bit providing access for instructions, data, and peripherals. This interface can optionally be a 256-bit CHI-E interface.
Slave bus 128-bit shared AXI-S port used for two purposes:

· As an LLRAM Accelerator Coherency Port enabling I/O coherent external access to the LLRAM port.

· As a TCM slave enabling external agents to access the TCMs within the cores.

Low Latency RAM Port (LLRAM) Optional AXI5 256-bit shared LLRAM port providing low-latency access for instructions and data. The port is designed to connect to local memory. This local memory provides many of the benefits of TCM and in addition can be slower and lower power and also easily shared between the up-to-eight processor cores.
Shared Peripheral Port (SPP) Optional AXI5 64-bit SPP for providing access to peripherals.
Low Latency Peripheral Port (LLPP) An optional per core dedicated 32-bit AXI5 port to integrate latency-sensitive peripherals tightly with a specific core within the processor.
Main Accelerator Coherency Port (MACP) ACE5-Lite 128-bit shared slave MACP for external access to MM address ranges. MACP enables I/O coherency for external agents with the per-core L1 data cache and shared L2 cache.
Up to eight cores With in-cluster hardware coherency.
Debug Debug Access Port is provided. Its functionality can be extended using Coresight Debug and Trace.
Trace Cortex-R82 includes one CoreSight Embedded Trace Module per core.

 

Cortex-R82的特性

从架构和微架构方面来看,Cortex-R82的一个重要的新增功能是可选择加入用于SIMD处理的NEON单元,包括新的点产品指令。这将使处理器本身具有更高性能的并行处理计算能力,使SSD控制器设计者等客户的设计更具灵活性。

微架构的另一大变化是加入了MMU,这使得Cortex-82实际上可以作为Linux等丰富操作系统的通用CPU。如果处理器有了操作系统的加持,这对于Cortex-R系列未来的目标市场可能性来说,其实是一个相当大的变化。Arm的产品介绍主要集中在存储控制器上,既能像现在这样运行实时工作负载,又能加入丰富的操作系统,以实现更复杂的算法和更高层次的应用,而这些在裸机和实时操作系统上是不太可行的。

据了解,Cortex-R82 支持的 Linux OS 发行版包括 Red Hat Enterprise Linus,SUSE 和 Ubuntu。

随着存储市场的发展,将根据注重处理器架构的灵活性。Cortex-R82处理器的新特性让合作伙伴有可能设计出多达8个内核的多核实现,并根据软件中的外部需求调整存储控制器上运行的工作负载类型。例如,停车场会经常使用视频监控来识别车牌信息,而这些车牌信息以后会被用于计费。在白天,车辆登记车牌数据会被收集,这意味着大部分核心被用于密集存储。到了晚上,这些核心将用于处理计费数据,并将调整进行所需的数据分析和机器学习。随着存储控制器越来越多样化,以应对不同的市场和功能,Cortex-R82提供的架构可以提供这种极度的灵活性–降低成本和上市时间。

Cortex-R82的出货时间

Cortex-R82 IP 预计于2021年初开始提供,预计2021年下半年到2023年左右,使用该IP的最终半导体产品将开始出货。

吴川斌

吴川斌

Leave a Reply