1. 概述
本文档详细描述了曦云®系列GPU板卡带外管理接口的接口定义和使用方式。
2. 曦云系列GPU I2C地址
曦云系列GPU I2C拓扑如图 2.1 所示:
图 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 所示:
图 3.1 SMBus数据包协议关键元素
图 3.2 Block Write with PEC
图 3.3 Block Write - Block Read Process Call
BMC对板卡进行I2C detect和读写寄存器的时序格式说明,分别参见表 3.1,表 3.2 和表 3.3。
项目 |
取值 |
描述 |
|---|---|---|
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 |
项目 |
取值 |
描述 |
|---|---|---|
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] |
项目 |
取值 |
描述 |
|---|---|---|
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. 中断读写
中断读写需要遵循以下的时序:
写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 中断读写板卡和芯片信息。
写argument寄存器。(可选,除非特别指定,否则不需要)
写触发bit
触发bit地址为0xEC bit,往该地址写0x1代表触发步骤1的message执行。
查询ready flag寄存器
Ready flag寄存器的地址为0xBC bit[31:16]。 当该寄存器为0x5A5A时,则跳转到步骤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。
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。
先将其拼接为8byte的十六进制数: 0x081a0839066c9008。
再将其转换为64bit的二进制数:
64’b0000100000011010000010000011100100000110011011001001000000001000。
根据上述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工程师可结合服务器实际情况确定读取周期。
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:
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:
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:
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 :
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。
类型 |
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风扇调速目标如下:
建议Hotspot的目标设定为80℃,即GPU工作时Hotspot的温度不超过80℃;
建议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 |
系统管理总线 |