Leitura de DP: arquitetura e programação do processador Kunpeng (8) 3.1 Processador Kunpeng System-on-Chip e arquitetura de núcleo do processador Taishan


A arquitetura do processador é um conteúdo de baixo nível, mas esta é a camada inferior de qualquer sistema de computador.
O desempenho, a ecologia e as funções do sistema dependem em grande parte da camada inferior do sistema do computador - a arquitetura do processador. Qualquer programador de sistema, designer de firmware, programador de aplicativo ou mesmo administrador de servidor deve entender a arquitetura do processador se quiser aproveitar ao máximo o desempenho de hardware dos processadores modernos de alto desempenho e realizar operações de software eficientes.

Captura de tela do site oficial do processador Kupeng

1. System-on-chip do processador Kunpeng e arquitetura de núcleo do processador Taishan

1. Visão geral do processador Kunpeng System-on-Chip

é 920 peng

a. Sistema em chip do processador Kunpeng e família de chips Kunpeng

O processador Kunpeng system-on-chip (Kunpeng 920) é um processador de nível empresarial desenvolvido pela Huawei com base na arquitetura ARM. É usado principalmente em cinco áreas de aplicação, incluindo "computação, armazenamento, transmissão, gerenciamento e inteligência artificial" . A família de chips Kunpeng é o termo geral para a família de chips desenvolvida pela Huawei HiSilicon, incluindo os chips de processador da série Kunpeng, chips de inteligência artificial Ascend, chips de controle de disco rígido de estado sólido, chips de rede de fusão inteligente e chips de gerenciamento inteligente . Cada membro desta família possui características e funções próprias, e juntos fornecem suporte para aplicações de computação, armazenamento, transmissão, gerenciamento e inteligência artificial.

Resumindo, o processador Kunpeng system-on-a-chip é um membro importante da família de chips Kunpeng, e a família de chips Kunpeng é o termo geral para produtos de chip desenvolvidos independentemente pela Huawei em vários campos.

b. Componentes do processador Kunpeng 920 system-on-a-chip

dados detalhados

c. Recursos do processador Kunpeng 920 SoC

O processador Kunpeng 920 system-on-a-chip possui os seguintes recursos:

  1. Com base no design da arquitetura ARMv8.2, ele oferece suporte a processadores de servidor multinúcleo de 64 bits.
  2. Usando a tecnologia Scalable Vector Extension (SVE), ele pode fornecer desempenho poderoso e capacidade de computação paralela com baixo consumo de energia.
  3. Ele oferece suporte a vários protocolos de interconexão, incluindo CCIX e PCIe, e é adequado para diferentes tipos de sistemas de servidor.
  4. Integrado com 16 núcleos de processador A76, a frequência principal pode atingir até 2,6 GHz e cada núcleo pode suportar multi-threading.
  5. A inovadora tecnologia de cache L3 é adotada para aumentar efetivamente a taxa de transmissão de dados.
  6. Suporta controlador de memória de até 8 canais, cada canal pode suportar memória DDRx.
ARMv8.2架构
64位多核服务器处理器
SVE技术
互连协议
CCIX
PCIe
A76处理器核心
多线程
L3缓存技术
内存控制器
DDRx内存

d. A estrutura lógica do SoC do processador Kunpeng 920

A estrutura lógica do SoC do processador Kunpeng 920 inclui principalmente as seguintes partes:

  1. CPU: O processador Kunpeng 920 system-on-a-chip é composto por dois CPU DIEs (unidades independentes no chip de silício que executam tarefas específicas independentemente), cada CPU DIE contém 4 Clusters (clusters de computação) e cada Cluster contém 2 Núcleos (núcleos) . Portanto, todo o processador contém 8 núcleos.
  2. Cache: Cada núcleo é equipado com cache de nível L1 e L2, o cache L1 é dividido em cache de instruções e cache de dados, o cache L2 é compartilhado. Além disso, todos os Núcleos compartilham o Cache nível L3.
  3. Controlador DDR: O SoC do processador Kunpeng 920 está equipado com 8 canais DDR4 para armazenamento de memória e acesso a dados.
  4. Subsistema de E/S: O subsistema de E/S do Kunpeng 920 é expandido através do IO DIE, suporta vários protocolos de interconexão, incluindo CCIX e PCIe, e é adequado para diferentes tipos de sistemas de servidor. Ao mesmo tempo, o processador Kunpeng também oferece suporte à expansão de dispositivos baseados em PCle 4.0, que pode suportar placas como placas de rede e GPUs.
  5. Subsistema de interrupção: o subsistema de interrupção do Kunpeng 920 suporta interrupção de linha e interrupção de mensagem com base na compatibilidade com a especificação ARM GIC.
CPU DIE
Cluster
Cluster
Core
Core
Core
Core
L1 Cache
L1 Cache
L1 Cache
L1 Cache
L2 Cache
L3 Cache
DDR控制器
DDR4通道
DDR4通道
DDR4通道
DDR4通道
DDR4通道
DDR4通道
DDR4通道
DDR4通道
I/O子系统
IO DIE
CCIX
PCIe
其他互连协议
中断子系统
ARM GIC规范
线中断
消息中断

2. Microarquitetura do núcleo do processador Taishan V110

a. Características do núcleo do processador Taishan V110

Taishan V110 是一种基于 ARM 架构的处理器内核微架构。它是由华为公司开发的,主要用于其服务器产品。

具体来说,Taishan V110 处理器内核是基于 ARM v8.2 架构的,支持 64 位多核服务器处理器。它采用了可扩展向量扩展(SVE)技术,可以在低功耗的情况下提供强大的性能和并行计算能力。

Taishan V110 处理器内核微架构包括多个核心,每个核心可以支持多线程。它还采用了创新的 L3 缓存技术,以有效提升数据传输速率。此外,该处理器内核还支持高达 8 通道内存控制器,每个通道可以支持 DDRx 内存。

A microarquitetura de núcleo do processador Taishan V110 é um núcleo de processador de servidor ARM de alto desempenho e baixo consumo de energia para uma variedade de aplicativos de computação e processamento de dados.

b. Estrutura funcional do núcleo do processador Taishan V110

A estrutura funcional do núcleo do processador Taishan V110 inclui as seguintes partes:

  1. Unidade de Busca de Instrução : responsável por buscar instruções do L1 I Cache e enviar instruções para a unidade decodificação de instruções, enviando até 4 instruções por ciclo. Tanto a previsão de ramificação dinâmica quanto a previsão de ramificação estática são suportadas. Cache L1 I associativo de conjunto de 4 vias integrado de 64KB, tamanho da linha de cache é 64B, sua RAM de dados e RAM de tags contém 1 bit de proteção de verificação de paridade a cada 8 bits binários.
> 取指(Instruction Fetch)部件是计算机处理器中的一个关键部分,负责从一级指令缓存(L1 I Cache)中取出指令,并将这些指令发送到指令译码部件。每个周期,该部件最多可以发送4条指令。
取指部件
L1 I Cache
指令译码部件
指令获取
动态分支预测
静态分支预测
4路组相联缓存
存储块1
存储块2
存储块3
存储块4
读写操作
缓存行大小
64KB
数据RAM
标记RAM
奇偶校验保护位
  1. Componente Instruction Decode (Instruction Decode) : responsável por receber as instruções do componente de busca de instruções, decodificar as instruções e enviar até 4 instruções decodificadas por ciclo.
2023-08-18 2023-08-18 2023-08-19 2023-08-19 2023-08-20 2023-08-20 2023-08-21 2023-08-21 2023-08-22 2023-08-22 2023-08-23 2023-08-23 2023-08-24 指令接收 指令解码 发送指令1 发送指令2 发送指令3 发送指令4 接收和解码指令 发送解码后的指令 指令译码部件
  1. Componente de Despacho de Instrução : responsável por enviar as instruções decodificadas para cada unidade de execução, enviando até 4 instruções por ciclo.

  2. Integer Execute : É responsável por executar instruções de operações inteiras, incluindo operações aritméticas e operações lógicas.

  3. Unidade Load/Store (Unidade Load/Store) : Responsável pela transferência de dados entre registradores e memória, incluindo a execução de instruções load e store.

  4. 第二级存储系统(L2 Memory System):负责管理 L2 Cache,包括数据的读取和写入。

  5. 增强的 SIMD 与浮点运算单元(Advanced SIMD and Floating Point Unit):负责执行 SIMD 和浮点运算指令。

  6. 通用中断控制器 CPU 接口(GIC CPU Interface):负责与通用中断控制器进行通信,处理来自外部设备的中断请求。

  7. 通用定时器(Generic Timer):负责计时和定时操作。

  8. PMU 及调试与跟踪部件(Debug and Trace):负责性能监控、调试和跟踪操作。

以上是 Taishan V110 处理器内核的主要功能结构。处理器内核的各个部件相互协作,共同完成处理器的运算和控制任务。

3. 鲲鹏920处理器片上系统的逻辑结构

a. 处理器内核集群

鲲鹏920处理器片上系统的逻辑结构中,处理器内核集群是指多个处理器内核的集合,这些内核通过共享缓存和互连通道相互通信和协作

在鲲鹏920处理器片上系统中,内核集群是处理器内核之间的逻辑组合方式,每个集群由4个核心组成,每个核心都支持多线程。这种内核集群的设计有助于提高处理器的并行处理能力和整体性能。

通过内核集群的设计,处理器可以更好地平衡负载和处理任务,同时保持高效率和低功耗。这种逻辑结构也有助于提高处理器的响应速度和吞吐量,从而满足不同应用场景的需求。

鲲鹏920处理器片上系统的内核集群是处理器内核之间的逻辑组合方式,它有助于提高处理器的并行处理能力和整体性能,适用于各种高性能计算和数据处理应用。

b. I/O集群

在鲲鹏920处理器片上系统中,I/O集群是负责处理和管理I/O(输入/输出) 请求的逻辑组件。I/O集群通过与I/O子系统进行通信,实现对输入/输出设备的控制和管理。

I/O集群通常包括以下功能:

1. 设备驱动程序:I/O集群中包含多个设备驱动程序,用于与不同类型的I/O设备进行通信。这些驱动程序负责与设备的硬件接口进行交互,实现数据的传输和控制。
2. 中断处理:I/O集群负责处理来自I/O设备的中断请求。当设备完成一项任务或发生特定事件时,会向处理器发送中断请求。I/O集群接收这些请求并通知操作系统进行处理。
3. 数据传输管理:I/O集群负责数据的传输和管理。它可以将数据从I/O设备读取到处理器,或将数据从处理器发送到I/O设备。I/O集群还支持数据缓冲和数据校验等功能,以确保数据的准确性和完整性。
4. 虚拟化支持:I/O集群还支持虚拟化技术,可以同时与多个虚拟机进行通信。通过虚拟化技术,多个虚拟机可以共享有限的物理资源,并实现高效的I/O操作。

通过I/O集群的设计,处理器可以更好地管理和控制I/O设备的操作,从而提高系统的整体性能和可靠性。同时,I/O集群还可以简化设备驱动程序的开发和管理工作,降低系统维护的复杂度。

鲲鹏920处理器片上系统
I/O集群
设备驱动程序
中断处理
数据传输管理
虚拟化支持
不同类型的I/O设备
I/O设备的中断请求
I/O设备
多个虚拟机

c. 超级内核集群

超级内核集群(Super Kernel Cluster) 是鲲鹏920处理器片上系统的一个核心组件,它包含了多个内核集群和I/O集群,用于实现高性能计算和数据处理。

每个超级内核集群包含6个内核集群、2个I/O集群和4个DDR控制器。每个内核集群包含4个核心,每个核心支持多线程。这样的设计有助于提高处理器的并行处理能力和整体性能。

超级内核集群的每个内核集群都集成了L3 Cache,分为L3 Cache TAG和L3 Cache DATA两部分。L3 Cache TAG集成在每个内核集群中,用于降低监听延迟,L3 Cache DATA则直接连接片上总线。这样的设计可以提高数据传输的效率和准确性。

此外,超级内核集群还配置了一个通用中断控制器分发器(GICD) 模块,兼容ARM的GICv4规范,用于处理多芯片系统Cache一致性协议。

通过超级内核集群的设计,鲲鹏920处理器片上系统可以更好地平衡负载和处理任务,同时保持高效率和低功耗,适用于各种高性能计算和数据处理应用。

d. 超级I/O集群

超级I/O集群(Super I/O Cluster) 是鲲鹏920处理器片上系统的一个组件,它负责处理和管理I/O(输入/输出)请求,并与外部设备进行通信。

超级I/O集群通过与I/O子系统进行通信,实现对输入/输出设备的控制和管理。它包含多个I/O集群,每个I/O集群包含多个设备驱动程序,用于与不同类型的I/O设备进行通信。

超级I/O集群还负责处理来自I/O设备的中断请求。当设备完成一项任务或发生特定事件时,会向处理器发送中断请求。超级I/O集群接收这些请求并通知操作系统进行处理。

此外,超级I/O集群还支持虚拟化技术,可以同时与多个虚拟机进行通信。通过虚拟化技术,多个虚拟机可以共享有限的物理资源,并实现高效的I/O操作。

通过超级I/O集群的设计,处理器可以更好地管理和控制I/O设备的操作,从而提高系统的整体性能和可靠性。同时,超级I/O集群还可以简化设备驱动程序的开发和管理工作,降低系统维护的复杂度。

e. 鲲鹏920系统的部件互联

鲲鹏920系统的部件主要通过AMBA(Advanced Microcontroller Bus Architecture)总线进行互联。具体来说,主要的部件包括两个CPU DIE、一个IO DIE,以及共8组DDR4 channel。这些部件之间的互联关系如下:

1. 两个CPU DIE之间通过系统总线进行互联。
2. CPU DIE和IO DIE之间通过IO总线进行互联。
3. 8组DDR4 channel之间通过内存总线进行互联。

这样的互联方式可以满足处理器在高性能计算和数据处理方面的需求。同时,为了方便软件编程,鲲鹏处理器内部的高速设备也基于PCle,且可以通过PCle的配置空间进行配置。

4. 鲲鹏920处理器片上系统的内存存储系统

鲲鹏920处理器片上系统
DDR4内存条
L3 Cache
L2 Cache
L1 Cache
每个核心
4通道DDR4内存及PCIe40
L1指令Cache
L1数据Cache

a. 鲲鹏920处理器存储系统的层次结构

鲲鹏920处理器存储系统的层次结构可以分为四层,从下到上分别是:

  1. DDR内存子系统:该层是最低层,提供64位内存接口,支持8通道DDR4内存,容量可以根据实际需求进行扩展。
  2. L3缓存子系统:该层为每个CPU核心提供独立的L3缓存,容量为64KB,访问延时为3个时钟周期。
  3. L2缓存子系统:该层由两个L2缓存模块组成,每个模块的容量为32KB,访问延时为15个时钟周期。
  4. L1缓存子系统:该层包括指令、数据和分支指令,每个CPU核心都拥有独立的L1指令和数据缓存,容量为64KB,访问延时为1个时钟周期。

通过这种层次化的设计,可以显著减少内存访问延时,提高处理器的性能。同时,这种层次结构也使得处理器的存储系统更加灵活,可以根据不同的应用需求进行定制和扩展。

b. 鲲鹏920处理器的片上系统的L3 Cache

鲲鹏920处理器的片上系统的L3 Cache是处理器内核的共享缓存,它为每个CPU核心提供共享访问。L3 Cache的容量非常大,可以达到64KB,这意味着处理器内核可以在一个时钟周期内从L3 Cache中获取数据,这对于高性能计算和数据处理应用非常重要。

鲲鹏920处理器存储系统
DDR内存子系统
L3缓存子系统
L2缓存子系统
L1缓存子系统
8通道DDR4内存
每个CPU核心的L3缓存
两个L2缓存模块
每个CPU核心的L1指令缓存
每个CPU核心的L1数据缓存

同时,L3 Cache还被分成了两个独立的子系统:L3 Tag和L3 Data。L3 Tag负责存储虚拟地址到物理地址的映射关系,而L3 Data则负责存储数据。这种设计可以有效地提高数据访问的速度和准确性。

鲲鹏920处理器的片上系统的L3Cache是处理器内核的重要组件之一,它具有大容量、高性能的特点,可以满足各种高性能计算和数据处理应用的需求。

c. 鲲鹏920处理器的片上系统的主存系统

鲲鹏920处理器的片上系统的主存系统包括DDR4内存条和L3缓存

首先,DDR4内存条是鲲鹏920处理器片上系统的基本存储器,它直接与处理器内核相连,并被设计成可以在一个时钟周期内访问一次DDR4内存条的容量可以根据实际需求进行选择,最大容量没有明确限制。

其次,L3缓存是鲲鹏920处理器片上系统的核心存储器,它是处理器内核的共享缓存,被设计成可以在一个时钟周期内访问一次。L3缓存的容量非常大,可以达到64MB,可以满足高性能计算和数据处理应用的需求。

同时,鲲鹏920处理器的片上系统还采用了14纳米工艺,拥有64个CPU核心,支持SMT超线程技术,最高主频可达2.6GHz。另外,鲲鹏920还配备了32MB的二级缓存和48个PCIe 4.0通道,可支持高速数据传输和流畅的数据处理。

总之,鲲鹏920处理器的片上系统的主存系统具有大容量、高性能的特点,可以满足各种高性能计算和数据处理应用的需求。

d. 鲲鹏920处理器的片上系统的DDR控制器

鲲鹏920处理器的片上系统的DDR控制器是处理器与DDR4内存条之间的接口。这个控制器可以支持8个DDR4通道,每个通道的最大速率是2.6GHz最大容量是1TB。这种设计可以满足高性能计算和数据处理应用的需求,同时也为系统提供了更大的内存空间。

通过DDR控制器,处理器内核可以与DDR4内存条进行高速数据交换,实现快速的数据读写操作。这种设计可以显著提高系统的整体性能和数据处理能力。

总之,鲲鹏920处理器的片上系统的DDR控制器是处理器与内存之间的关键接口,它支持大容量、高性能的DDR4内存条,可以满足各种高性能计算和数据处理应用的需求。

e. 鲲鹏920处理器片上系统的NUMA架构

鲲鹏920处理器片上系统的NUMA(Non-Uniform Memory Access) 架构是一种内存管理架构,它具有非统一内存访问的特点。在NUMA架构中,内存被分为多个区域,每个区域称为一个节点,每个节点都有其自己的内存控制器和处理器。

在鲲鹏920处理器片上系统中,NUMA架构被分为四个层次:处理器层、本地节点层、home节点层和远程节点层

  1. 处理器层:这是最底层,包含单个物理核,称为处理器层。
  2. 本地节点层:对于某个节点中的所有处理器,此节点称为本地节点。
  3. home节点层:与本地节点相邻的节点称为home节点。
  4. 远程节点层:非本地节点或邻居节点的节点,称为远程节点。

在NUMA架构中,访问本地节点的内存比访问远程节点的内存更快,因此,在执行内存访问操作时,系统会自动将数据分配到最近的节点。这种内存管理方式可以提高内存访问速度和系统的整体性能。

鲲鹏920处理器片上系统的NUMA架构是一种非统一内存访问的架构,它可以提高内存访问速度和系统的整体性能,适用于各种高性能计算和数据处理应用。

f. 鲲鹏920处理器的片上系统的地址映射与变换

鲲鹏920处理器的片上系统的地址映射与变换主要涉及虚拟地址到物理地址的转换。这个过程是通过页表机制实现的。

具体来说,地址映射过程包括以下几个步骤:

  1. Tradução de endereço : Primeiro, o núcleo da CPU calculará o endereço físico correspondente com base no endereço virtual. Esse processo envolve o mecanismo da tabela de páginas, onde a tabela de páginas é uma estrutura de dados usada para armazenar o relacionamento de mapeamento entre endereços virtuais e endereços físicos.
  2. Acessar a memória : Em seguida, o núcleo da CPU envia o endereço físico calculado para o controlador de memória para acessar a unidade de memória correspondente por meio do controlador de memória.
  3. Transmissão de dados : O controlador de memória lê ou grava dados de acordo com o endereço físico para realizar a transmissão de dados entre o núcleo da CPU e a memória.

Nesse processo, o mecanismo da tabela de páginas é o núcleo do mapeamento de endereços. O mecanismo de tabela de páginas estabelece uma relação de mapeamento entre endereços virtuais e endereços físicos, de modo que o núcleo da CPU possa acessar a memória por meio de endereços virtuais. Ao mesmo tempo, como o relacionamento de mapeamento é dinâmico, o sistema pode ajustar dinamicamente o relacionamento de mapeamento de memória de acordo com as necessidades reais para atender a diferentes requisitos de aplicativos.

O mapeamento de endereços e a conversão do system-on-chip do processador Kunpeng 920 são realizados através do mecanismo de tabela de páginas.Este processo realiza a conversão de endereços virtuais para endereços físicos, de modo que o núcleo da CPU possa acessar a memória através de endereços virtuais. Esse mecanismo melhora a flexibilidade e a eficiência do acesso à memória e é adequado para várias aplicações de processamento de dados e computação de alto desempenho.

鲲鹏920处理器片上系统
地址转换
页表机制
访问内存
内存控制器
数据传输

Referência: "Arquitetura e programação do processador Kunpeng" (Dai Zhitao e Liu Jianpei)
" Explicação detalhada da organização do processador Kunpeng e da arquitetura do chip " (Huawei Cloud Community-Jack20)
"Arquitetura do kernel do processador Taishan"
Comunidade Kunpeng: Comunidade perfeita de desenvolvedores Kupeng e Fórum
Sea Site oficial do Si: endereço do link oficial

Acho que você gosta

Origin blog.csdn.net/m0_74037814/article/details/132352782
Recomendado
Clasificación