1. 概述

本文档详细描述了曦云®系列GPU板卡带外管理接口的接口定义和使用方式。

2. 曦云系列GPU I2C地址

曦云系列GPU I2C拓扑如图 2.1 所示:

_images/image4.png

图 2.1 曦云系列GPU I2C拓扑

曦云系列GPU板卡作为从设备,从设备主芯片MXGPU地址为0x55(7bit),MCU地址为0x30(7bit),连接到PCIe金手指上,和BMC(带外)对接。

警告

只有PCIe板卡存在MCU,OAM板卡不存在MCU。

3. SMBus协议接口定义

3.1. 说明

  • 请求和响应命令中所有字段都是小字节序优先(Least Significant Bit,LSB)。

  • 根据SMBus标准规范,PEC是可选项。

  • SMBus格式中,白色的框是Master发送的数据,阴影部分是Slave发送的数据。

  • Byte1…ByteN,对于BMC寄存器写,N≤32,对于BMC寄存器读,N≤28。

3.2. Read格式和Write格式

BMC从板卡获取信息有以下两种方式:

  • 直接寄存器读写

  • 中断读写

3.2.1. 直接寄存器读写

直接寄存器读写需要遵循的格式如图 3.1图 3.2图 3.3 所示:

_images/image5.png

图 3.1 SMBus数据包协议关键元素

_images/image6.png

图 3.2 Block Write with PEC

_images/image7.png

图 3.3 Block Write - Block Read Process Call

BMC对板卡进行I2C detect和读写寄存器的时序格式说明,分别参见表 3.1表 3.2表 3.3

表 3.1 I2C Detect的时序格式说明

项目

取值

描述

Slave Address/Wr

SLV_ADDR<<1

Slave address

Command Code

0x3

BMC register read command=0x3

Byte Count

0x2

1 byte register offset

1 byte read data number

Data Byte1

0xC0

BMC register offset to read

Data Byte2

0x0

0 byte read data

表 3.2 BMC读寄存器的时序格式说明

项目

取值

描述

Slave Address/Wr

SLV_ADDR<<1

Slave address

Command Code

0x3

BMC register read command=0x3

Byte Count

0x2

1 byte register offset

1 byte read data number

Data Byte1

BMC_ADDR

BMC register offset to write (byte address).

Always DW aligned access. [1:0] always be 0.

Data Byte2

0x4

4 byte read data

Slave Address/Rd

SLV_ADDR<<1+1(Rd)

Slave address

Byte Count

0x4

Read data bytes

Data Byte1

RD_DATA[0]

Read data byte[0]

/

/

Data Byte4

RD_DATA[3]

Read data byte[3]

表 3.3 BMC写寄存器的时序格式说明

项目

取值

描述

Slave Address/Wr

SLV_ADDR<<1

Slave address

Command Code

0x1

BMC register write command=0x1

Byte Count

0x1

1 byte BMC_ADDR

Data Byte1

BMC_ADDR

BMC register offset to write (byte address).

Always DW aligned access. [1:0] always be 0.

Slave Address/Rd

SLV_ADDR<<1

Slave address

Command Code

0x2

BMC register write data command=0x2

Byte Count

0x4

Write data bytes

Data Byte1

WD_DATA[0]

Write data byte[0]

/

/

Data Byte4

WD_DATA[3]

Write data byte[3]

3.2.2. 中断读写

中断读写需要遵循以下的时序:

  1. 写message寄存器

    表 3.4 Message寄存器的Bit Fields

    Message

    Bit Fields

    Cmd

    [15:8]

    Type

    [7:0]

    Message寄存器的地址为0xE0. Message包括Cmd和Type两项内容。 Type为固定值0x02,Cmd根据所读信息的内容而变化,详细定义参见 3.5 中断读写板卡和芯片信息

  2. 写argument寄存器。(可选,除非特别指定,否则不需要)

  3. 写触发bit

    触发bit地址为0xEC bit,往该地址写0x1代表触发步骤1的message执行。

  4. 查询ready flag寄存器

    Ready flag寄存器的地址为0xBC bit[31:16]。 当该寄存器为0x5A5A时,则跳转到步骤5。

  5. 读相应的响应数据

    响应数据的地址为0xF0,0xF4,0xF8,0xFC。 每个地址可以存放4个byte的信息。

    BMC接口可获取的信息参见表 3.5

    表 3.5 BMC接口可获取信息

    BMC_ADDR

    Byte3

    Byte2

    Byte1

    Byte0

    0x00

    Vendor ID

    Device ID

    0x04

    Revision ID

    0x08

    PKG_Type

    SOCKET_ID

    DIE_ID

    Topology_ID

    0x0C

    Serial number [31:0]

    0x10

    Serial number [63:32]

    0x14

    Base class ID

    Sub class ID

    0x18

    Subsystem Vendor ID

    Subsystem ID

    0x1C

    Maximum width of PCIe

    Maximum speed of PCIe

    0x20

    VF device ID

    0x3C

    Boot code Postcode

    0x40

    RAS Flag

    0x44

    RAS Flag

    0x48

    Error message

    0x4C

    Error address low

    0x50

    Error address high

    0x54

    MC interrupt status

    0x58

    Error misc

    0x80

    VDD_Core_Voltage

    VDD_SOC_Voltage

    0x84

    VDD_Core_Current

    VDD_SOC_Current

    0x88

    XCORE_Clk

    0x8C

    MC_DFI_Clk

    DNOC_CLK

    0x90

    SOC_Clk

    GLB_REFCLK100

    0x94

    Thotspot_ID

    Board_Temp

    Thotspot

    0x98

    VPU_DECCLK

    VPU_ENCCLK

    0xA0

    HBM_Voltage

    HBM_Current

    0xA4

    Board_CH2_Voltage

    Board_CH1_Voltage

    0xA8

    VDD_Core_Power

    VDD_SOC_Power

    0xAC

    HBM_Power

    Others_Power

    0xB0

    Total_Power

    Board_CH0_Voltage

    0xB4

    Warning Sign

    Current width of PCIe

    Current speed of PCIe

    0xB8

    Error code

    0xBC

    Smp1 ready flag

    0xE0

    Smp1 message

    0xE4

    Smp1 argument0

    0xE8

    Smp1 argument1

    0xEC

    Write 1 to trigger smp1 interrupt

    0xF0

    Smp1 response0

    0xF4

    Smp1 response1

    0xF8

    Smp1 response2

    0xFC

    Smp1 response3

3.3. 直接寄存器读写芯片静态信息

静态信息是指板卡在上电期间,值不会发生改变的信息,因此上电后只需进行一次读取即可。静态信息参见表 3.6

表 3.6 直接寄存器读写的静态信息

BMC_ADDR

Byte3

Byte2

Byte1

Byte0

0x00

Vendor ID

Device ID

0x04

Revision ID

0x08

PKG_Type

SOCKET_ID

DIE_ID

Topology_ID

0x0C

Serial number [31:0]

0x10

Serial number [63:32]

0x14

Base class ID

Sub class ID

0x18

Subsystem Vendor ID

Subsystem ID

0x1C

Maximum width of PCIe

Maximum speed of PCIe

0x20

VF device ID

0x3C

Boot code Postcode

3.3.1. Vendor ID

型号

Vendor ID

Register Address

Bit Fields

曦云C550

0x9999

0x0

[31:16]

曦云C500

曦云C500x

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

3.3.2. Device ID

型号

Device ID

Register Address

Bit Fields

曦云C550

0x4000

0x0

[15:0]

曦云C500

0x4001

曦云C500X

0x4040

曦云C290

0x4080

曦云C280

0x4081

曦云C500-P

0x4011

曦思N260

0x4083

曦思N450

0x4010

3.3.3. Subsystem Vendor ID

型号

Subsystem Vendor ID

Register Address

Bit Fields

曦云C550

0x9999

0x18

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

3.3.4. Subsystem ID

型号

Subsystem ID

Register Address

Bit Fields

曦云C550

0x4000

0x18

[15:0]

曦云C500

0x4001

曦云C500X

0x4040

曦云C290

0x4080

曦云C280

0x4081

曦云C500-P

0x4011

曦思N260

0x4083

曦思N450

0x4010

3.3.5. Revision ID

型号

Revision ID

Register Address

Bit Fields

曦云C550

0x00

0x04

[7:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

3.3.6. PKG ID

型号

PKG ID

Register Address

Bit Fields

曦云C550

0x00

0x08

[31:24]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

3.3.7. SOCKET ID

型号

SOCKET ID

Register Address

Bit Fields

曦云C550

16卡互联: 0x00-0x07

8卡互联: 0x00-0x07

4卡互联: 0x00-0x03

2卡互联: 0x00-0x01

单卡: 0x00

0x08

[23:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

3.3.8. DIE ID

型号

DIE ID

Register Address

Bit Fields

曦云C550

0x00

0x08

[15:8]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

3.3.9. TOPOLOGY ID

型号

TOPOLOGY ID

Register Address

Bit Fields

曦云C550

16卡互联: 0x06

8卡互联: 0x06

4卡互联: 0x0C

2卡互联: 0x04

单卡: 0x02

0x08

[7:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

3.3.10. Serial Number

曦云系列的Serial Number存储方式为64-bit的二进制。

Register address为0x0C和0x10。 拼接方式为:0x10的[31:0] + 0x0C的[31:0],构成1个64-bit二进制数。

64-bit二进制数的结构为: Lot ID-Wafer ID-Coordinate X-Coordinate Y。

  • Lot ID: 由6位数字或字母组成,例如:T6K908,每一位数字或字母的存储方式是其对应的ASCII-48。例如: 0->48-48=0,1->49-48=1,…,A->65-48=17,…Z->90-48=42

  • Wafer ID: 取值范围是00~24。

  • Coordinate X/Y: 范围为-127 ~ +127。 第一个bit用于区分正负,0代表正,1代表负。7bit代表实际取值,例如:-127->8’b11111111,-126->8’b11111110,…,126->8’b01111110,127->8’b01111111。

[63:57]: Reserved;

[56:49]: Coordinate Y;

[48:41]: Coordinate X;

[40:36]: Wafer ID;

[35:30]: LOT ID5;

[29:24]: LOT ID4;

[23:18]: LOT ID3;

[17:12]: LOT ID2;

[11:6]: LOT ID1;

[5:0]: LOT ID0.

解析方法:

例如: Offset 0x0C实际读取为0x66c9008;Offset 0x10实际读取为0x81a0839。

  1. 先将其拼接为8byte的十六进制数: 0x081a0839066c9008。

  2. 再将其转换为64bit的二进制数:

    64’b0000100000011010000010000011100100000110011011001001000000001000。

  3. 根据上述serial number的结构可以解析成T6K908-3-4-13。

3.3.11. Base Class ID

型号

Base Class ID

Register Address

Bit Fields

曦云C550

0x03

0x14

[31:24]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

3.3.12. Sub Class ID

型号

Sub Class ID

Register Address

Bit Fields

曦云C550

0x80

0x14

[23:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

3.3.13. VF Device ID

型号

VF Device ID

Register Address

Bit Fields

曦云C550

0x4018

0x20

[31:16]

曦云C500

0x4019

曦云C500X

0x4058

曦云C290

0x4098

曦云C280

0x4099

曦云C500-P

0x4029

曦思N260

0x409B

曦思N450

0x4028

3.3.14. Maximum Width of PCIe

型号

Maximum Width of PCIe

Register Address

Bit Fields

曦云C550

0x5(代表x16)

0x1C

[11:8]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

3.3.15. Maximum Speed of PCIe

型号

Maximum Speed of PCIe

Register Address

Bit Fields

曦云C550

0x5(代表Gen5)

0x1C

[3:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

3.3.16. Boot Code Postcode

型号

Boot Code Postcode

Register Address

Bit Fields

曦云C550

0x1204

0x3C

[31:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

Boot Code Postcode是指板卡初始化状态阶段显示,正常开机状态下是0x1204。 如果不是0x1204,请联系原厂进行诊断维修。

3.4. 直接寄存器读写芯片动态信息

动态信息是指板卡在上电期间,值会发生改变的信息,上电运行后需定期进行读取。 动态信息参见表 3.7

曦云系列的动态信息刷新周期为100ms,BMC工程师可结合服务器实际情况确定读取周期。

表 3.7 直接寄存器读写的动态信息

BMC_ADDR

Byte3

Byte2

Byte1

Byte0

0x40

RAS Flag

0x44

Reserved

0x48

Error message

0x4C

Error address low

0x50

Error address high

0x54

MC interrupt status

0x58

Error misc

0x80

VDD_Core_Voltage

VDD_SOC_Voltage

0x84

VDD_Core_Current

VDD_SOC_Current

0x88

XCORE_Clk

0x8C

MC_DFI_Clk

DNOC_CLK

0x90

SOC_Clk

GLB_REFCLK100

0x94

Thotspot_ID

Board_Temp

Thotspot

0x98

VPU_DECCLK

VPU_ENCCLK

0xA0

HBM_Voltage

HBM_Current

0xA4

Board_CH2_Voltage

Board_CH1_Voltage

0xA8

VDD_Core_Power

VDD_SOC_Power

0xAC

HBM_Power

Others_Power

0xB0

Total_Power

Board_CH0_Voltage

0xB4

Warning Sign

Current width of PCIe

Current speed of PCIe

0xB8

Error code

3.4.1. VDD_Core_Voltage

型号

Register Address

Bit Fields

曦云C550

0x80

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

单位: mV

例如: 读取到0x34E,转换为十进制为846,代表0.846 V。

3.4.2. VDD_Core_Current

型号

Register Address

Bit Fields

曦云C550

0x84

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

单位: 0.1A

例如: 读取到0x322,转换为十进制为802,代表80.2A。

3.4.3. VDD_Core_Power

型号

Register Address

Bit Fields

曦云C550

0xA8

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

单位: 0.1W

例如: 读取到0x229,转换为十进制为553,代表55.3W。

3.4.4. VDD_SOC_Voltage

型号

Register Address

Bit Fields

曦云C550

0x80

[15:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

单位: mV

例如: 读取到0x352,转换为十进制为850,代表0.85V。

3.4.5. VDD_SOC_Current

型号

Register Address

Bit Fields

曦云C550

0x84

[15:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

单位: 0.1A

例如: 读取到0x1C4,转换为十进制为452,代表45.2A。

3.4.6. VDD_SOC_Power

型号

Register Address

Bit Fields

曦云C550

0xA8

[15:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

单位: 0.1W

例如: 读取到0x131,转换为十进制为305,代表30.5W。

3.4.7. HBM_Voltage

型号

Register Address

Bit Fields

曦云C550

0xA0

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

单位: mV

例如: 读取到0x4B0,转换为十进制为1200,代表1.2V。

3.4.8. HBM_Current

型号

Register Address

Bit Fields

曦云C550

0xA0

[15:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

单位: 0.1A

例如: 读取到0x96,转换为十进制为150,代表15.0A。

3.4.9. HBM_Power

型号

Register Address

Bit Fields

曦云C550

0xAC

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

单位: 0.1W

例如: 读取到0x00A0,转换为十进制为160,代表16W。

3.4.10. Others_Power

型号

Register Address

Bit Fields

曦云C550

0xAC

[15:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

单位: 0.1W

例如: 读取到0xFC,转换为十进制为252,代表25.2W。

3.4.11. Total_Power

型号

Register Address

Bit Fields

曦云C550

0xB0

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

单位: 0.1W

例如: 读取到0x07D0,转换为十进制为2000,代表200W。

3.4.12. Board_CH0_Voltage

对于PCIe板卡,Board_CH0_Voltage是指连接到Power Connector1的P12V供电的电压。

型号

Register Address

Bit Fields

曦云C550

0xB0

[15:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

单位: mV

例如: 读取到0x2EB8,转换为十进制为11960,代表11.96V。

3.4.13. Board_CH1_Voltage

对于PCIe板卡,Board_CH1_Voltage是指连接到Power Connector2的P12V供电的电压。

型号

Register Address

Bit Fields

曦云C550

0xA4

[15:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

单位: mV

例如: 读取到0x2EB8,转换为十进制为11960,代表11.96V。

3.4.14. Board_CH2_Voltage

对于PCIe板卡,Board_CH2_Voltage是指连接到PCIe金手指的P12V供电的电压。

型号

Register Address

Bit Fields

曦云C550

0xA4

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

单位: mV

例如: 读取到0x2EB8,转换为十进制为11960,代表11.96V。

3.4.15. XCORE_CLK

型号

Register Address

Bit Fields

曦云C550

0x88

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

单位: MHz

例如: 读取到0x4B0,转换为十进制为1200,代表1200MHz。

3.4.16. SOC_CLK

型号

Register Address

Bit Fields

曦云C550

0x90

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

单位: MHz

例如: 读取到0x41A,转换为十进制为1005,代表1005MHz。

3.4.17. MC_DFI_CLK

型号

Register Address

Bit Fields

曦云C550

0x8C

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

单位: MHz

例如: 读取到0x640,转换为十进制为1600,代表1600MHz。

3.4.18. GLB_REFCLK100

型号

Register Address

Bit Fields

曦云C550

0x90

[15:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

单位: MHz

例如: 读取到0x64,转换为十进制为100,代表100MHz。

3.4.19. DNOC_CLK

型号

Register Address

Bit Fields

曦云C550

0x8C

[15:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

单位: MHz

例如: 读取到0x41A,转换为十进制为1050,代表1050MHz。

3.4.20. VPU_ENCCLK

型号

Register Address

Bit Fields

曦云C550

0x98

[15:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

单位: MHz

例如: 读取到0x41A,转换为十进制为1005,代表1005MHz。

3.4.21. VPU_DECCLK

型号

Register Address

Bit Fields

曦云C550

0x98

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

单位: MHz

例如: 读取到0x41A,转换为十进制为1005,代表1005MHz。

3.4.22. Thotspot

Thotspot代表主芯片最高温度,是一个动态变化的值,会随业务负载、 实际功耗、 温度等变化。

型号

Register Address

Bit Fields

曦云C550

0x94

[7:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

单位: ℃

有符号整型: 最高位为1,表示负数,负数在计算机中是以补码的形式保存的,负数的补码生成规则为负数的原码取反后加1。

例如: 读取到0x2A,转换为十进制为42,代表42℃;如读取到0xEF,代表-17℃。

3.4.23. Thotspot_ID

Thotspot_ID代表主芯片最高温度对应的sensor ID。

型号

Register Address

Bit Fields

曦云C550

0x94

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

例如: 读取到0x1,转换为十进制为1,代表1号温度传感器。

3.4.24. Board_Temp

Board_Temp代表GPU板卡PCB实时温度。

型号

Register Address

Bit Fields

曦云C550

0x94

[15:8]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

单位: ℃,最高位为符号位

有符号整型: 最高位为1,表示负数,负数在计算机中是以补码的形式保存的,负数的补码生成规则为负数的原码取反后加1。

例如: 读取到0x2A,转换为十进制为42,代表42℃;如读取到0xEF,代表-17℃。

3.4.25. Current PCIe Speed

Current PCIe Speed代表板卡的实时PCIe Speed。

型号

Register Address

Bit Fields

曦云C550

0xB4

[3:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

例如: 读取到0x4,转换为十进制为4,代表PCIe Gen4。

3.4.26. Current PCIe Width

Current PCIe Width代表板卡的实时PCIe Width。

型号

Register Address

Bit Fields

曦云C550

0xB4

[11:8]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

解析方式: 0x1->x1;0x2->x2;0x3->x4;0x4->x8;0x5->x16。

3.4.27. Warning Sign

Warning Sign代表触发降频来源。

型号

Register Address

Bit Fields

曦云C550

0xB4

[19:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

Bit16: 读取值为1时,表示当前HBM的温度超过95℃,已触发降频。

Bit17: 读取值为1时,表示当前PCB的温度超过75℃,已触发降频。

3.4.28. RAS Flag

型号

Register Address

Bit Fields

曦云C550

0x40&0X44

[31:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

若RAS Flag不为0,则代表有RAS error的记录,需要进一步查看具体的RAS message。

RAS message address: 0x48,Bit fields: [19:31]。

Error address low address: 0x4C;Error address high address: 0x50。

MC interrupt status address: 0x54;Error misc address: 0x58。

RAS message的具体定义如下:

  • Bit[31:24]: ras error IP. RAS error IP的具体信息,参见表 3.8

    表 3.8 RAS Error IP

    十进制数

    IP

    0

    PCIE

    1

    MC0

    2

    MC1

    3

    MC2

    4

    MC3

    5

    SMP0

    6

    SMP1

    7

    INT

    8

    DMA0

    9

    DMA1

    10

    DMA2

    11

    DMA3

    12

    DMA4

    13

    HAG

    14

    FUSE

    15

    DHUB1

    16

    DHUB2

    17

    DHUB3

    18

    DHUB4

    19

    DHUB5

    20

    DHUB6

    21

    DHUB7

    22

    CCX0

    23

    CCX1

    24

    CCX2

    25

    VPUE0

    26

    VPUD0

    27

    VPUD1

    28

    VPUD2

    29

    VPUD3

    30

    VPUD4

    31

    VPUD5

    32

    VPUD6

    33

    VPUD7

    34

    ATUL20

    35

    ATUL21

    36

    ATH

    37

    XSC

    38

    CE

  • Bit[23:22]: ras error code。 RAS error code的具体信息,参见表 3.9 :

    表 3.9 RAS Error Code

    RAS Error Code

    说明

    2’b00

    Fatal error

    2’b01

    Recover error

    2’b10

    Uncorrectable error

    2’b11

    Correctable error

  • Bit[21:19]: ras error address type。 RAS error address type的具体信息,参见表 3.10 :

    表 3.10 RAS Error Address Type

    RAS Error Address Type

    说明

    3’b000

    VA

    3’b001

    PA

    3’b010

    TLB

    3’b011

    BUS

    3’b100

    SRAM

    3’b101

    REG

3.4.29. Error Code

Error Code代表板卡的故障码,具体故障码含义参见 故障码

型号

Register Address

Bit Fields

曦云C550

0xB8

[31:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

3.5. 中断读写板卡和芯片信息

3.5.1. PCBA Serial Number

Cmd=0x01,长度为14个byte。

需要使用到的响应数据的地址为0xF0,0xF4,0xF8,0xFC。

解析方法:

例如: 读取到的0xF0是0x414D4541;0xF4是0x38303332;0xF8是0x30303030;0xFC是0x3130。

拼接起来是: 0x31303030303038303332414D4541。 每个byte代表一个字符,则上述拼接的结果代表14个字符。 将十六进制byte转换为ASCII后,可以得到真实的PCBA Serial Number,转换过程参见表 3.11

表 3.11 PCBA Serial Number的转换过程

HEX (0x)

ASCII

31

1

30

0

30

0

30

0

30

0

30

0

38

8

30

0

33

3

32

2

41

A

4D

M

45

E

41

A

最终可以得到PCBA Serial Number为: AEMA2308000001

3.5.2. PCBA Part Number

Cmd=0x02,长度为10个byte。

需要使用到的响应数据的地址为0xF0,0xF4,0xF8。

解析方法:

例如: 读取到的0xF0是0x2D323037;0xF4是0x3331304D;0xF8是0x3130。

拼接起来是: 0x31303331304D2D323037。 每个byte代表一个字符,则上述拼接的结果代表10个字符。 将十六进制byte转换为ASCII后,可以得到真实的PCBA Part Number,转换过程参见表 3.12

表 3.12 PCBA Part Number的转换过程

HEX(0x)

ASCII

31

1

30

0

33

3

31

1

30

0

4D

M

2D

-

32

2

30

0

37

7

最终可以得到PCBA Part Number为: 702-M01301。

3.5.3. PCBA Version

Cmd=0x03,长度为2个byte。

需要使用到的响应数据的地址为0xF0。

解析方法:

例如:读取到的0xF0是: 0x3130。

每个byte代表一个字符,则上述拼接的结果代表2个字符。 将十六进制byte转换为ASCII后,可以得到真实的PCBA Version,转换过程参见表 3.13

表 3.13 PCBA Version的转换过程

HEX(0x)

ASCII

31

1

30

0

最终可以得到PCBA Version为:01。

3.5.4. Deviation Number

Cmd=0x04,长度为6个byte.

需要使用到的响应数据的地址为0xF0,0xF4。

解析方法:

例如: 读出来0xF0是0x31323030;0xF4是0x3130。

拼接起来是: 0x313031323030。每个byte代表一个字符,则上述拼接的结果代表6个字符。 将十六进制byte转换为ASCII后,可以得到真实的Deviation Number,转换过程参见表 3.14 :

表 3.14 Deviation Number的转换过程

HEX(0x)

ASCII

31

1

30

0

31

1

32

2

30

0

30

0

最终可以得到Deviation Number为: 002101。

3.5.5. Firmware Version

Firmware Version可获取多种Firmware版本,每一种Firmware Version长度为4个byte。 Firmware Version需要使用argument0参数,参数说明参见表 3.15

表 3.15 Firmware Version参数

类型

Cmd

说明

argument0

说明

0x02

0x0b

Firmware Version

0x1

VBIOS version

0x2

SMP0 boot

0x3

SMP0 Firmware

0x4

SMP1 Firmware

0x5

SDMA Firmware

0x6

PCIe Firmware

0x7

Metalk Firmware

解析方法:

例如: VBIOS version读取值是0x1010000,则VBIOS version是01.01.00.00。

4. 附录

4.1. 故障码

故障码

说明

处理建议

0x001

板卡BIOS故障

更换板卡

0x200

Hotspot温度获取失败

检查散热是否正常

0x800

VDDCORE电压获取失败

尝试下电再上电恢复

0x1000

VDDCORE电压过低严重告警

尝试下电再上电恢复

0x2000

VDDCORE电压过高严重告警

尝试下电再上电恢复

0x8000

VDDSOC电压获取失败

尝试下电再上电恢复

0x10000

VDDSOC电压过高严重告警

尝试下电再上电恢复

0x20000

VDDSOC电压过低严重告警

尝试下电再上电恢复

0x80000

RAS异常

读取RAS Flag,Error message,Error address,MC interrupt status,Error misc,尝试下电再上电恢复

4.2. BMC风扇调速目标说明

建议BMC风扇调速目标如下:

  1. 建议Hotspot的目标设定为80℃,即GPU工作时Hotspot的温度不超过80℃;

  2. 建议Board Temperature的目标设定为70℃,即GPU工作时Board Temperature不超过70℃。

4.3. 术语/缩略语

术语/缩略语

全称

描述

ASCII

American Standard Code for Information Interchange

美国信息交换标准代码,是基于拉丁字母的一套电脑编码系统

BMC

Baseboard Management Controller

基板管理控制器

HEX

Hexadecimal

十六进制

I2C

Inter-Integrated Circuit

I2C总线,两线式串行总线

LSB

Least Significant Bit

最低有效位,指的是一个二进制数字中的第0位(即最低位)

MCU

Microcontroller Unit

微控制单元

PCIe

Peripheral Component Interconnect Express

一种高速串行计算机扩展总线标准

PEC

Packet Error Code

包错误代码

PCBA

Printed Circuit Board Assembly

PCB空板经过SMT贴片加工或DIP插件的成品电路板

RAS

Reliability,Availability,Serviceability

SMBus

System Management Bus

系统管理总线