智慧城市、远程监控、自动驾驶汽车和智能视觉等多种应用对智能边缘计算的需求正在不断增加。在本文中,我们重点介绍 Microchip Technology 全新 PIC64GX 系列 64 位微处理器的一些功能。
边缘计算
与传统的集中式处理相反,边缘计算是在数据生成的地方附近进行处理的地方。这可以实现更高的速度和体积,从而获得实时结果。医院和工厂等场所的此类计算需要低延迟并且能够在没有网络连接的情况下快速计算。
人工智能(AI) 和机器学习 (ML) 算法可用于快速调整计算,使其更高效、更快速。不受控制的环境,例如农业中的环境,可以在地方一级得到更有效的控制。用户体验可以在许多方面得到改善,包括对大量数据的快速响应、更高的安全性(以便可以在本地控制敏感数据)以及在网络或云连接可能间歇性的偏远地区进行自主操作。
边缘网络可以处理摄像头等传感器收集的输入数据,并使用 AI/ML 在本地优化对这些输入的响应。一个例子是在医疗保健领域,可以配备 MRI 和 CT 扫描仪等成像设备在本地处理图像,从而节省宝贵的时间。远程手术援助和远程医疗就是边缘计算的低延迟可以挽救患者生命的例子。
PIC64 系列
Microchip Technology 是 8 位、16 位和 32 位嵌入式解决方案的领导者。他们的 8 位、16 位和 32 位微控制器 (MCU) 广泛应用于从家用电器、车库门开启器到工业和汽车控制系统等各种应用。这些流行的 MCU 作为 PIC® 系列产品进行销售,具有哈佛/改良哈佛 RISC、MIPS® 和 ARM® 等架构。
他们的基于 Arm® 内核的 32 位微处理器 (MPU) 系列面向许多交通、工业和消费设计。此外,他们的 PolarFire® 等 FPGA 系列在智能国防、航空航天、机器人等领域提供了高计算性能。凭借这一经验,他们于 2024 年 7 月宣布进军 64 位 MPU 领域。该系列名为 PIC64,包括针对智能边缘计算的PIC64GX MPU,以及针对航空航天和国防应用的 PIC64 高性能太空飞行计算 (PIC64-HSPC) 耐辐射设备。 PIC64GX 继承了 PolarFire® SoC 的一些关键特性,并且与这些器件直接引脚兼容。让我们更详细地了解 PIC64GX MPU 的一些特性。
PIC64GX MPU
PIC64GX MPU 架构的简化框图如图 1 所示。
图 1:PIC64GX MPU 架构的简化框图(来源:Microchip Technology)
CPU核心复合体
多核架构总共由五个与内存子系统一致的RISC-V核心组成。 RISC-V 微架构支持 Linux 操作系统 (OS),并使用简单的五阶段问题有序管道。
U54 HART 由四路 625 MHz RV64GC RISC-V® 处理硬件线程 (HART) 组成。它们提供 3.1 CoreMarks®/MHz 和 1.7 DMIPS/MHz。这些 U54 内核包括物理内存保护 (PMP) 单元、内存管理单元 (MMU) 和 L1 内存系统。 PMP支持16个内存区域,可用于设置这些区域的访问权限。 MMU 提供虚拟内存支持,包括映射到 38 位物理地址空间的 39 位地址空间。 L1 指令存储器可配置为 32 KB 8 路指令高速缓存或 28 KB 指令紧密集成存储器 (ITIM)。 L1 数据存储器是一个 32 KB 的高速缓存。两个 L1 存储器均具有基于单错误纠正、双错误检测 (SECDED) 的纠错码 (ECC) 功能。
包含 625 MHz RISC641MAC E51 监控处理器内核,通常用于执行操作系统到 U54 内核的引导加载、裸机用户应用程序以及监控 U54 内核。 E51 的 16 KB 指令高速缓存可以部分重新配置为 8 KB ITIM。包含一个 8KB 数据紧密集成存储器 (DTIM)。这两种存储器还具有 SECDED ECC 实现。
核心复合体包括 2 MB 带 SECDED 的 L2 高速缓存。这用于为核心复合体中的主设备提供快速的内存复制。 L2 缓存控制器还充当基于目录的一致性管理器。当缓存方式被禁用时,内存空间可以作为 1.8 MB L2 松散集成内存 (L2LIM) 进行寻址。这提供了确定性行为,不可能出现高速缓存未命中,并且优先级高于高速缓存路访问。
PIC64GX 包含一个 128 kB 的嵌入式非易失性存储器 (eNVM),该存储器也受到 SEDED 保护,并且具有较长的数据保留时间。
非对称多重处理 (AMP)
PIC64GX 旨在执行确定性实时计算任务的多功能组合,以及更多非确定性应用丰富的环境(例如 Linux®)。传统的对称多处理 (SMP) 对所有任务使用相同的处理器。这可能会导致特定任务的资源分配过多,从而导致效率低下。使用 AMP,可以根据特定任务分离和优化各种处理事件。这些可以针对计算强度和内存要求进行优化。
使用 Zephyr® 等实时操作系统 (RTOS),可以以低延迟的方式可预测地执行控制循环等时间关键型任务。 PIC64GX 是首款支持 AMP 的 RISC-V 多核解决方案。图 2 显示了同时使用 AMP 和 SMP 的示例。此处,3 个或 3 个内核专用于 Linux® 操作系统的 SMP,该操作系统资源为 1 MB 的 L2 高速缓存。其余处理器专用于 AMP,可直接访问配置为 LIM 的 L2 内存系统的一部分,以避免不确定的内存缓存。因此,PIC64GX 配置为 2 个部分独立的设备上下文,每个上下文都运行其工作负载。
外设可以分配给任一上下文。 PIC64GX 支持 OpenAMP 行业标准,例如远程处理器消息传递 (RPMsg),允许 Hart 间/上下文间之间进行通信。 Hart 软件服务 (HSS) 固件充当系统监视器,报告总线错误、致命异常等,由 E51 内核执行。
图 2:PIC64GX 上的 AMP 和 SMP 示例(来源:Microchip Technology)
DDR 接口、外设和连接
DDR 内存控制器支持 DDR4-1333 或 LPDDR4-1333,每个 DDR 接口高达 32 GB。当配置为 36 位总线宽度时,它具有 SECDED 功能。
包括一系列广泛的外围设备,例如:
· 2 个千兆位以太网 MAC (GEM)
· 符合 MMC 5.1/SD/SDIO/eMMC 标准的外设和用于 SD 卡的 MAC,具有自己的 DMA 控制器
· 兼容 USB 2.0 OTG 的内核
· 2 个 PCIe Gen2 控制器,用于连接一个或多个主机处理器
· 2 个 SPI 和 I2C 以及 5 个多模式 UART 接口
· 四路 SPI (QSPI) 闪存控制器
· 2个CAN核心
· 2 通道 MIPI CSI-2 输入(速度为 1 Gbps),用于连接摄像头和传感器、具有专用 I 2 C 的 HDMI 1.4 (720P) 输出以及视频管道
· 看门狗定时器、实时计数器、定时器
安全特性
PIC64GX 包含许多安全和安保功能,这些功能对于当今医疗、航空和国防等许多边缘通信应用至关重要。
下面列出了其中一些:
· 安全非易失性存储器(sNVM):PIC64GX 具有 56 KB sNVM,可用于存储敏感用户数据。这可以通过使用 AES-256 的设备唯一的 PUF 密钥进行保护。
· 提供 2 个安全启动选项,其中之一包括使用 sNVM 供用户安全启动其代码。默认方法使用来自安全存储器的 Microchip 安全引导加载程序,并在运行用户代码之前在 eNVM 上执行签名和哈希检查。
· PMP 设置内存权限,包括使它们受到写保护的区域锁定。
· 内存保护单元包括每个非 HART 主设备并防止随机内存访问。可以为外围设备设置访问区域以及权限设置。
· 防篡改功能包括电压、频率和温度监控器。采用差分功率分析 (DPA) 对策来保护密钥免受旁道攻击。
· PIC64GX 器件中包含 Athena TeraFire EXP-F5200B 加密处理器,以确保数据安全。这支持许多加密算法,例如 AES 和 SHA 变体、RSA、DSA、EC 密钥对 ECDSA 等。
· PIC64GX 上的所有 RAM 都具有 ECC。
产品选项和开发支持
PIC64GX 系列的首批产品包括:
· PIC64GX1000/FCS 具有 1 个 PCIe Gen2 通道和 16 位 DDR 总线宽度。它采用 FCSG325 11 x 11 x 0.5 mm 封装,适用于 0-100°C 的扩展商业温度范围或 – 40 – 100°C 的工业温度范围。
· PIC64GX1000/FCV 具有 1、2 或 4 个 PCIe Gen 2 通道选项,并具有 32 位 DDR 总线宽度。它采用 FCVG484 19 x 19 x 0.8 mm 封装。提供与上面列出的 FCS 封装相同的温度额定值。
可以使用多种开发工具,例如:
· 带有 RV64 的 MPLAB® 集成开发环境 (IDE)
· Linux®操作系统
· RTOS,例如 Zephyr®
· GitHub,包含许多裸机驱动程序、RTOS 和其他参考示例
PIC64GX Curiosity 评估套件包括 以及 1GB DDR 存储器、1GB 以太网连接器、一个 Raspberry MIPI 连接器、一个 MikroBUS™ 扩展接头、一个 HDMI 输出、3 个通过 USB Type C 和 USB 转 JTAG 的 UART 连接调试接口。