Kunpeng处理器组织和芯片架构详解

鲲鹏处理器的组织

  1. Chip:芯片(Chip)是指有大规模集成电路的硅片,我们见过的cPu这种是最常见的芯片。一般几块硅片可以封装在一起组成一个芯片。

  2. DIE:芯片的最小物理单元。Kunpeng 920封装了3个DIE,两个用来做计算,第三个用来做IO。


          晶粒(die)是以半导体材料制作而成未经封装的一小块集成电路本体,该集成电路的既定功能就是在这一小片半导体上实现。通常情况下,集成电路是以大批方式,经光刻等多项步骤,制作在大片的半导体晶圆,然后再分割成方型小片,这一小片就称为晶粒,每个晶粒就是一个集成电路的复制品。

  3. Core:真正的计算单元,我们在操作系统侧看到的“核”。

  4. Cluster:若干个核(core)的集合。Kunpeng 920把4个core集合成为一个cluster,而一个DIE上有8个cluster。

  5. SoC: System on chip,例如,Kunpeng 920除了CPu外,还集成了RoCE 网卡、SAS控制器和南桥。


          SoC可以理解为一个芯片集成了一个系统,可以完成特定的一系列的工作,例如,CPU是大脑,SoC是不仅有大脑,还有手、脚、身体等等,这些手脚就相当于,GPU,网卡处理器,声卡处理器等。


Kunpeng 920芯片的架构

image.png

1片SoC上包含3个DIE,2个计算DIE,1个IO DIE。

1个计算DIE中8个Cluster。

1个Cluster中4个Core。

因此一个kunpeng 920芯片中包含4*8*2=64个核。

计算DIE上的每一个core具有自己的L1和L2级Cache,所有的core共享L3级Cache。

IO DIE上集成有网络模块、PCle模块。

这些DIE在芯片内部通过高速内部总线进行连接。


芯片架构的系统安全&IMU

image.png

      系统安全:支持安全启动,以及保证系统在可信环境内运行的一套软硬件方案。该方案由Secure Boot技术和ARM架构中的Trust Zone技术结合而成。

      IMU ( lntelligent Management Unit )是Hi162x芯片内部的智能管理单元,完善ARM节点在数据中心的管理和控制,未来数据中心设备管理要求统一、智能和协同,遵循管理系统集中决策+节点执行监控,按照设备节点模型统一管理。

      IMU作为数据中心的管理末端,协同BMC,完成数据中心的节点执行监控。

      IMU可以覆盖的功能:RA5故障预处理以及错误记录上报、安全信任根、能效管理、芯片内部管理。

Kunpeng 920的其他子系统

image.png

鲲鹏处理器包含计算、存储、设备IO、中断以及虚拟化等子系统。

鲲鹏920含有两个CPU DIE、一个IO DIE、以及共8组DDR4channel,它们通过AMBA(Advanced MicrocontrollerBus Architecture)总线互联。


Kunpeng 920的IO子系统

      鲲鹏处理器和IO子系统通过IO DIE进行扩展,支持soC片上加速器,如100G网卡、SAS控制器等。·鲲鹏处理器同时支持基于PCle 4.0的设备扩展,可支持网卡、GPu等板卡。

      为了方便软件编程,内部SoC上的高速设备也基于PCle,且可以通过PCle的配置空间进行配置。

      各子系统 PCIE(含CCIX ),Hydra(多片互联),Network,Storage,HAC,ME,各自遵循行业标准,兼容软件接口规范,满足开源及演进要求。

image.png

Kunpeng 920的中断子系统

image.png

1.在兼容ARM GIC规范的基础上,实现了线中断、消息中断支持。


(1)GlC ( Generic Interrupt Controller)指Arm定义的通用中断控制器。也是当前的芯片系统基于GIC规范提出的一种全局中断管理架构,它主要包括如下功能:

  • 使能、禁用、选择所有的SGI、PPI、SPI以及LPI。

  • 支持将输入的中断路由到任一指定的CPU内核。

  • 支持中断优先级配置。

  • 支持Arm AArch64安全化扩展。

  • 支持Arm AArch64虚拟化扩展。


(2)gicv3中,引入了消息中断,并且为之支持了LPI。分配了大量的中断号,用于LPIo对于LPI的实现,有2种方式,一种是访问redistributor提供的寄存器,一种是使用ITS。

(3)ITS( Hyper Interrupt Translation Service)功能是提供LPI中断重定向服务,将LPI中断路由到不同的CPU内核,其中中断和CPU内核的路由关系支持动态配置。

(4)LPI(Locality-specific Peripheral Interrupt):基于message的中断。


2.鲲鹏处理器引入中断收集再分发的概念。

3.鲲鹏920上还实现了华为公司的MBIGEN(messagebased interruptgenerator)技术。


Kunpeng 920的网络子系统

1、网络子系统包括Network ICL和RoCE引擎两大部分。

2、Network lCL包括多个1Gbps~100Gbps以太网控制器,二层DCB、MAC地址表,多播表,VLAN过滤表,流表,中断,PCle化,具有完整的NIC引擎,可以在RoCE引擎关闭的情况下单独工作。

3、RoCE(RDMA over Converge Ethernet)是一种在以太网上采用RDMA(RemoteDirect Memory Access,远程直接内存访问)的网络互联技术。

4、华为鲲鹏920处理器使用的RoCE v2协议是由InfiniBand(IB)协议演进而来,既具有lnfiniBand网络的低时延、低CPU利用率等特点,又能够很好地兼容于Ethernet网络。


Kunpeng 920的SAS子系统

image.png

1、提供2个X8 SAS 3.0控制器


(1)SAS(Serial Attached SCSI)即串行SCSI技术,一种磁盘连接技术。SAS控制器用于磁盘与内存之间进行交互。

(2)SAS控制器主要通过总线与CPU和内存进行交互,同时通过SERDES与硬盘进行连接。

(3)SAS控制器与设备连接方式有两种:直连和Expander连接。

  • 直连表示SAS控制器的PHY与设备直接连接,不经过中间转换或扩展;.

  • Expander连接表示SAS控制器与设备之间通过扩展器进行连接


2、支持SAS 3.0,向下兼容SAS2.0和SAS1.0;支持SATA3.0,向下兼容SATA2.0和SATA1.0;SAS支持12G/6G/3G/1.5G四种速率,SATA支持6G/3G/1.5G速率,同时可以实现速率的自协商;

3、可以直接不经过Expander最大连接8个SAS盘或者SATA盘,两者可以混插;

      SAS盘分为SAS机械盘和SAS SSD盘,SAS盘是为满足高性能、高可靠性而设计,在内部驱动电机的可靠性、转速以及基板方面都与SATA盘有差异。


4、可以连接SAS Expander扩展更多磁盘。提供1个X2 SATA控制器;

5、支持SATA 3.0,向下兼容SATA 2.5;支持AHCI1.3,向下兼容AHCI 1.2;支持6G/3G/1.5G速率自协商;

6、支持直连两个SATA盘。

7、支持NOR Flash控制器,4个片选,NOR FLASH最大支持512K。

8、支持SPI Flash控制器,2个片选,SPI Flash最大支持32M。

9、支持NAND FLASH接口,4个片选。

Kunpeng 920的PCle子系统

image.png

1、支持PCle GEN1/2/3/4.0

  • Run at the 2.5G/5G/8G/16G。

  • x16 PCle控制器

  • 嵌入式DMA引擎

PCle是一种高性能、通用的I/O互连接口,适用于各种计算和通信平台。鲲鹏920PCle子系统提供了实现PCle根联合体(Root Complex,RC)或端点(Endpoint,EP)应用程序的解决方案。

2、最多支持40个PCle Lane

  • 3 PCle控制器

  • 提供了实现PCIe根联合体或端点应用程序的解决方案

      鲲鹏920 PCle子系统包含3个PCle Core,最多支持40个PCle Lane。每个PCle Core包括多个PCle端口。PCle Core0共享16个Lane。PCle Core1共享16个Lane。PCle Core2共享8个Lane。3个PCle Core均可作为根端口(Root Port,RP)使用。只有PCle Core1能作为EP端口。

3、硬件特性:SRIS(Separate Refclk Independent ssc)支持SR-IOv

4、支持共享虚拟内存

5、支持CCIX

6、支持P2P(Peer to Peer)。不同控制器之间的对等流量

(完)