华为鲲鹏处理器深度解析:架构与功能详解
华为鲲鹏处理器深度解析:架构与功能详解
在当今这个信息爆炸的时代,计算技术已成为推动社会进步的核心动力。华为,作为中国的科技巨头,早已不仅仅满足于在通信领域的领先地位,更将目光投向了广阔的计算市场。其中,鲲鹏(Kunpeng)和昇腾(Ascend)两大处理器芯片系列,便是华为在计算领域的杰出代表。它们虽然都出自华为之手,但却各自有着不同的定位和应用场景。
鲲鹏展翅,领航通用计算
鲲鹏,这一名字取自中国古代神话中的巨鱼,寓意着无限的可能性和强大的力量。华为将这一名字赋予了其面向通用计算领域的处理器芯片,足以看出对这一系列的厚望。鲲鹏芯片主要针对的是服务器市场,这是一个对性能、稳定性和功耗都有着极高要求的领域。
鲲鹏处理器的核心优势在于其基于ARM架构的优化设计。ARM架构以其低功耗和高性能的特点,在移动设备领域已经取得了巨大的成功。而华为通过对ARM架构的深入研究和优化,成功将其应用于服务器领域,推出了如鲲鹏920等一系列高性能处理器。这些处理器不仅提供了出色的计算性能,更在功耗控制方面达到了业界领先水平,非常适合数据中心、云服务以及企业级应用等场景。
华为对于鲲鹏系列的布局并不仅仅停留在处理器本身。为了进一步推动鲲鹏生态的发展,华为还推出了基于鲲鹏处理器的泰山服务器和华为云服务。这些产品和服务不仅展示了华为在服务器领域的技术实力,更体现了其对于整个计算产业的战略布局。通过提供一站式的解决方案,华为旨在帮助客户更高效地处理各种计算任务,从而推动整个行业的进步。
昇腾崛起,智能计算新篇章
与鲲鹏面向通用计算不同,昇腾系列则专注于智能计算领域,特别是人工智能和机器学习相关的应用场景。这是一个近年来飞速发展的领域,对于计算性能的需求呈现出爆炸性的增长。为了满足这一需求,华为研发了昇腾系列AI芯片。
昇腾芯片的最大亮点在于其采用了华为自主研发的“达芬奇架构”。这是一种统一、可扩展的AI计算架构,旨在覆盖从边缘到云端的各种算力需求。通过这一架构,昇腾系列AI芯片能够高效地处理各种深度学习训练和推理任务,无论是图像识别、语音识别还是自然语言处理等应用场景,都能够提供出色的性能支持。
除了强大的性能外,昇腾系列还非常注重灵活性和可扩展性。不同的AI项目往往有着不同的算力需求,而昇腾系列AI芯片则能够通过灵活的配置和扩展,满足各种规模的项目需求。这使得它不仅能够服务于大型的数据中心和云服务提供商,更能够广泛应用于各种边缘计算场景,如智能家居、自动驾驶等。
双芯驱动,共筑计算未来
鲲鹏与昇腾,一个面向通用计算,一个专注于智能计算。它们虽然定位不同,但都是华为在计算领域的重要布局。通过这两大系列的协同发展,华为旨在为客户提供更全面、更高效的计算解决方案。无论是在传统的数据中心还是在新兴的AI应用场景中,华为都能够凭借其强大的技术实力和丰富的产品线,满足客户的各种需求。
展望未来,随着数字化和智能化的不断深入发展,计算技术将扮演着越来越重要的角色。而华为凭借其在通信和计算领域的深厚积累和创新实力,必将在这一波技术浪潮中继续领航前行。无论是鲲鹏还是昇腾,都将成为推动计算技术进步的重要力量,共同构筑一个更加智能、更加美好的未来。
鲲鹏处理器的组织结构
Chip(芯片):指有大规模集成电路的硅片,我们见过的CPU是最常见的芯片。一般几块硅片可以封装在一起组成一个芯片。
DIE(晶粒):芯片的最小物理单元。Kunpeng 920封装了3个DIE,两个用来做计算,第三个用来做IO。
Core(核心):真正的计算单元,我们在操作系统侧看到的“核”。
Cluster(集群):若干个核(core)的集合。Kunpeng 920把4个core集合成为一个cluster,而一个DIE上有8个cluster。
SoC(系统级芯片):System on chip,例如,Kunpeng 920除了CPU外,还集成了RoCE网卡、SAS控制器和南桥。
Kunpeng 920芯片的架构
- 1片SoC上包含3个DIE,2个计算DIE,1个IO DIE。
- 1个计算DIE中8个Cluster。
- 1个Cluster中4个Core。
- 因此一个kunpeng 920芯片中包含48*2=64个核。
- 计算DIE上的每一个core具有自己的L1和L2级Cache,所有的core共享L3级Cache。
- IO DIE上集成有网络模块、PCle模块。
- 这些DIE在芯片内部通过高速内部总线进行连接。
芯片架构的系统安全&IMU
- 系统安全:支持安全启动,以及保证系统在可信环境内运行的一套软硬件方案。该方案由Secure Boot技术和ARM架构中的Trust Zone技术结合而成。
- IMU(Intelligent Management Unit):是Hi162x芯片内部的智能管理单元,完善ARM节点在数据中心的管理和控制,未来数据中心设备管理要求统一、智能和协同,遵循管理系统集中决策+节点执行监控,按照设备节点模型统一管理。
- IMU作为数据中心的管理末端,协同BMC,完成数据中心的节点执行监控。
- IMU可以覆盖的功能:RA5故障预处理以及错误记录上报、安全信任根、能效管理、芯片内部管理。
Kunpeng 920的其他子系统
- 鲲鹏处理器包含计算、存储、设备IO、中断以及虚拟化等子系统。
- 鲲鹏920含有两个CPU DIE、一个IO DIE、以及共8组DDR4 channel,它们通过AMBA(Advanced Microcontroller Bus Architecture)总线互联。
- 鲲鹏处理器和IO子系统通过IO DIE进行扩展,支持SoC片上加速器,如100G网卡、SAS控制器等。
- 鲲鹏处理器同时支持基于PCle 4.0的设备扩展,可支持网卡、GPU等板卡。
Kunpeng 920的中断子系统
- 在兼容ARM GIC规范的基础上,实现了线中断、消息中断支持。
- GIC (Generic Interrupt Controller)指Arm定义的通用中断控制器。也是当前的芯片系统基于GIC规范提出的一种全局中断管理架构,它主要包括如下功能:
- 使能、禁用、选择所有的SGI、PPI、SPI以及LPI。
- 支持将输入的中断路由到任一指定的CPU内核。
- 支持中断优先级配置。
- 支持Arm AArch64安全化扩展。
- 支持Arm AArch64虚拟化扩展。
- GICv3中,引入了消息中断,并且为之支持了LPI。分配了大量的中断号,用于LPIo对于LPI的实现,有2种方式,一种是访问redistributor提供的寄存器,一种是使用ITS。
- ITS(Hyper Interrupt Translation Service)功能是提供LPI中断重定向服务,将LPI中断路由到不同的CPU内核,其中中断和CPU内核的路由关系支持动态配置。
- LPI(Locality-specific Peripheral Interrupt):基于message的中断。
- 鲲鹏处理器引入中断收集再分发的概念。
- 鲲鹏920上还实现了华为公司的MBIGEN(message-based interrupt generator)技术。
Kunpeng 920的网络子系统
- 网络子系统包括Network ICL和RoCE引擎两大部分。
- Network ICL包括多个1Gbps~100Gbps以太网控制器,二层DCB、MAC地址表,多播表,VLAN过滤表,流表,中断,PCle化,具有完整的NIC引擎,可以在RoCE引擎关闭的情况下单独工作。
- RoCE(RDMA over Converge Ethernet)是一种在以太网上采用RDMA(Remote Direct Memory Access,远程直接内存访问)的网络互联技术。
- 华为鲲鹏920处理器使用的RoCE v2协议是由InfiniBand(IB)协议演进而来,既具有lnfiniBand网络的低时延、低CPU利用率等特点,又能够很好地兼容于Ethernet网络。
Kunpeng 920的SAS子系统
- 提供2个X8 SAS 3.0控制器
- SAS(Serial Attached SCSI)即串行SCSI技术,一种磁盘连接技术。SAS控制器用于磁盘与内存之间进行交互。
- SAS控制器主要通过总线与CPU和内存进行交互,同时通过SERDES与硬盘进行连接。
- SAS控制器与设备连接方式有两种:直连和Expander连接。
- 直连表示SAS控制器的PHY与设备直接连接,不经过中间转换或扩展;
- Expander连接表示SAS控制器与设备之间通过扩展器进行连接
- 支持SAS 3.0,向下兼容SAS2.0和SAS1.0;支持SATA3.0,向下兼容SATA2.0和SATA1.0;SAS支持12G/6G/3G/1.5G四种速率,SATA支持6G/3G/1.5G速率,同时可以实现速率的自协商;
- 可以直接不经过Expander最大连接8个SAS盘或者SATA盘,两者可以混插;
- 可以连接SAS Expander扩展更多磁盘。提供1个X2 SATA控制器;
- 支持SATA 3.0,向下兼容SATA 2.5;支持AHCI1.3,向下兼容AHCI 1.2;支持6G/3G/1.5G速率自协商;
- 支持直连两个SATA盘。
- 支持NOR Flash控制器,4个片选,NOR FLASH最大支持512K。
- 支持SPI Flash控制器,2个片选,SPI Flash最大支持32M。
- 支持NAND FLASH接口,4个片选。
Kunpeng 920的PCle子系统
- 支持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)应用程序的解决方案。
- 最多支持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端口。
- 硬件特性:SRIS(Separate Refclk Independent ssc)支持SR-IOv
- 支持共享虚拟内存
- 支持CCIX
- 支持P2P(Peer to Peer)。不同控制器之间的对等流量