上篇文章:ARM CoreLink 系列 1 – SoC 片上互联介绍
下篇文章:ARM CoreLink 系列 2 – CCI-400 控制器简介
ARM CoreLink 介绍
ARM的CoreLink系列产品是一套能够进行高效互联的组件和工具,它们用于构建高性能、低功耗的嵌入式和消费电子设备。CoreLink产品系列提供了用于多处理器系统的一组互连性能,这些功能包括各种总线架构,以及与之配套的内存和外设接口。
CoreLink系列的组件包括:
-
CoreLink Interconnect:这些功能强大的互连组件可以连接处理器、外设和内存,使它们能够高效地共享数据。这些组件包括NIC (Network Interconnects),用于实现处理器核心之间和处理器与外部设备之间的通信。
-
CoreLink System Controllers:这些控制器提供了对处理器、内存和外设的统一管理,可以实现复杂的电源管理和调度策略。
-
CoreLink Peripherals:这些外设包括各种通用和专用接口,如DMA(Direct Memory Access)控制器,使得处理器和外设可以直接进行内存数据交换。
-
CoreLink Memory Controllers:包括动态和静态内存控制器,它们连接到物理内存,并提供内存的存取服务。
CoreLink 系列产品的设计目标是提供高效、可扩展的系统解决方案,以满足从简单的单处理器系统到复杂的多处理器系统的需求。它们为构建高性能、可靠和低功耗的嵌入式设备提供了基础架构。
ARM CoreLink Interconnect
ARM CoreLink Interconnect 产品系列主要包括以下几种:
- CoreLink CCI(Cache Coherent Interconnect): 这包括CCI-400, CCI-500,CCI-550, CI-700,它们是一种高性能的一致性互连解决方案,用于实现多个处理器核心之间的高速通信和数据共享。CCI支持全系统的高速缓存一致性,可以实现复杂的多处理器系统的低延迟、高带宽的通信需求。
-
CoreLink NIC (Network Interconnects):这包括NIC-400、NIC-450和NIC-700等网络互连产品,这些互连产品能够将多个不同的处理器、DMA、外设和内存控制器连接起来,实现它们之间的高效通信。
-
CoreLink CCN (Cache Coherent Network):这是一种大规模的一致性网络解决方案,主要用于构建大规模的多处理器系统。CCN提供了高性能、可扩展的系统互连,并支持高效的缓存一致性协议,可以实现处理器、内存和IO设备之间的高速、一致的数据访问。
-
ARM CoreLink CMN-600是一种具有高度灵活性和可扩展性的系内互连技术,被设计用于构建具有一致内存的高性能系统。以下是一些详细介绍:
-
高效性能:CMN-600通过其独特的网状结构设计,为各种高带宽、低延迟需求的设备提供了高效的点对点连接。这种设计可以有效地减少数据在处理器、内存和I/O设备之间传输的延迟,进而提升整体系统性能。
-
建立一致内存系统:CMN-600支持一致内存访问(Coherent Memory Access),可以在多个处理器核之间共享数据,而无需通过复杂的软件协议。这种功能对于运行大型多线程应用程序的系统来说非常重要,因为它可以极大地简化程序设计,并提升性能。
-
灵活的配置:CMN-600提供了多种配置选项,可以根据系统的具体需求进行定制。比如,它可以配置为支持从几个到几十个处理器核的系统,也可以配置不同的内存和I/O设备接口。
-
高级的质量服务(QoS):CMN-600内置了高级的QoS功能,可以控制不同设备对带宽的使用,防止某些设备占用过多的资源并影响系统的总体性能。
-
ARM CoreLink 处理器外设
以下是一些常见的 ARM CoreLink 处理器外设:
-
CoreLink DMA (Direct Memory Access):这是一个直接内存访问控制器,用于实现处理器和外设之间的直接内存数据交换。DMA可以在不经过处理器的情况下,直接将数据从外设读取到内存,或者从内存写入到外设。下图是 DMA-350 内部组织结构:
DMA-350 系统架构图:
-
CoreLink MMU-500 Microprocessor Unit: 这种微处理器单元支持 ARMv8-A 体系结构,并能够管理高达 256TB 的物理和虚拟内存。它还包括硬件对齐异常的处理和细粒度的内存访问控制,见下图。
-
CoreLink GIC-500 Generic Interrupt Controller: 这种通用中断控制器支持 ARMv8-A 体系结构,并能够管理高达2048个中断。
下图是GIC-600 框架示意图:
- CoreLink L2C-310 Level 2 Cache Controller: 这种二级缓存控制器能够提供高达 1MB 的缓存,并且支持 ECC 和奇偶校验。
ARM CoreLink Memory Controllers
ARM CoreLink Memory Controllers 主要是 CoreLink DMC-620 Dynamic Memory Controller 和 DMC-520 Dynamic Memory Controller。
-
CoreLink DMC-520 Dynamic Memory Controller: 这种动态内存控制器支持 DDR3,DDR3L,DDR4和LPDDR3内存类型。它提供了高效的内存访问,以及 ECC(Error Checking and Correction)功能。
-
DMC-620是一种高性能DDR4和DDR3内存控制器,适用于服务器、网络和基础架构应用。这种控制器为所有SoC(系统芯片)设计师提供了一种方法,可以通过动态调整功耗和吞吐量来优化其内存系统的性能和功耗。DMC-620支持ECC(错误校验码)和Parity保护,确保数据的完整性和可靠性。此外,它还具有高级调度和QoS(服务质量)功能,以满足复杂和高性能应用的需求。
上篇文章:ARM CoreLink 系列 1 – SoC 片上互联介绍
下篇文章:ARM CoreLink 系列 2 – CCI-400 控制器简介