CN111858249A - 一种基于smc和cpld的高密度飞腾主板监控方法 - Google Patents

一种基于smc和cpld的高密度飞腾主板监控方法 Download PDF

Info

Publication number
CN111858249A
CN111858249A CN202010706443.8A CN202010706443A CN111858249A CN 111858249 A CN111858249 A CN 111858249A CN 202010706443 A CN202010706443 A CN 202010706443A CN 111858249 A CN111858249 A CN 111858249A
Authority
CN
China
Prior art keywords
smc
node
register
management controller
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010706443.8A
Other languages
English (en)
Other versions
CN111858249B (zh
Inventor
李晋文
马柯帆
李宝峰
孙言强
姚信安
罗煜峰
杨安毅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202010706443.8A priority Critical patent/CN111858249B/zh
Publication of CN111858249A publication Critical patent/CN111858249A/zh
Application granted granted Critical
Publication of CN111858249B publication Critical patent/CN111858249B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3031Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a motherboard or an expansion card
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于SMC和CPLD的高密度飞腾主板监控方法,高密度飞腾主板中的CPLD的实施步骤包括判断来自系统管理控制器(简称SMC)的请求类型,如果来自SMC的请求为远程查询请求,则查询各个结点的状态信息,并将查询得到的状态信息通过I2C通信总线、背板发送给SMC;如果来自SMC的请求为控制请求,则针对目标结点执行控制请求,且在执行完毕后将执行结果查询结果通过I2C通信总线、背板返回给SMC。本发明有效减少了连接器数量,所有的信息交互均通过I2C实现,极大的降低了设计复杂度,在不增加主板硬件的情况下实现主板状态查询与控制,具有使用方便、实现简单、用户体验好等特点。

Description

一种基于SMC和CPLD的高密度飞腾主板监控方法
技术领域
本发明涉及超级计算机中的主板管理技术,具体涉及一种面向及飞腾处理器的超级计算机中的、基于SMC和CPLD的高密度飞腾主板监控方法。
背景技术
超级计算机是指计算速度快、处理能力强的大型计算机,旨在解决一些特别复杂的科学工程挑战性问题。超级计算机系统集信息技术的大成,既是科技创新的高端基础设施,也是一个国家或地区综合实力的重要体现。现代超级计算机主要是由机群系统组成,通过成千上万的计算结点有效协调才能发挥出它们最大的潜力,这也是超级计算机系统的特殊架构所要解决的问题。计算结点的主板作为超级计算机系统的核心部件之一,其安全可靠运行直接关系着超级计算机系统的稳定性,具有举足轻重的地位。
随着工艺进步和应用需求的驱动,超级计算机系统的主板向着高密度、高性能趋势发展。主板的上电、切电与复位时序控制以及板级信息交互等可以通过复杂可编程逻辑器件(Complex Programming Logic Device,CPLD)实现。系统管理控制器(SystemManagement Controller,SMC)负责系统的监控管理,通过网络远程实现硬件状态监控、电源控制以及固件更新等带外功能。
高密度飞腾主板面向国产的飞腾微处理器,在单个主板上集成k个结点(k≥2),一般情况下一个结点对应一个微处理器,结点之间不进行直接通信,相互独立。从用户角度考虑,单结点系统的状态监控与调试维护较方便,而高密度飞腾主板包括多个独立结点,如何使用SMC实现多个结点的并行状态查询和管理控制是必须考虑的实际问题。一般来说,超级计算机系统一个机柜包含几十甚至上百块计算主板以及数块SMC监控主板,计算主板与SMC监控主板之间通过背板相互通信,如果只是进行简单的信号互连势必会大幅度的增加连接器数量,提高设计的复杂度与维护难度。具体而言,用户需要从SMC前端界面同时查询每个结点的电源状态(是否加电、中断)、每个结点的操作系统(Operating System,OS)是否已正常启动(系统心跳)以及各外设当前工作状态(电源、在位)等;更进一步,对于超级计算机系统,每块计算主板电源均来自背板连接器,当结点异常时,由于环境的限制不可能在维修台上进行问题主板的调试,因此势必需要维护人员通过SMC进行在线JTAG调试以及故障报警,严重情况下甚至需要直接切电。因此,如何实现高密度飞腾主板监控,仍然是一项存在巨大改进空间的关键技术问题。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种基于SMC和CPLD的高密度飞腾主板监控方法,本发明有效减少了连接器数量,所有的信息交互均通过I2C实现,极大的降低了设计复杂度,在不增加主板硬件的情况下实现主板状态查询与控制,具有使用方便、实现简单、用户体验好等特点。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于SMC和CPLD的高密度飞腾主板监控方法,高密度飞腾主板中的CPLD的实施步骤包括:
1)等待来自系统管理控制器SMC的请求,如果收到请求则跳转执行下一步;
2)判断来自系统管理控制器SMC的请求类型,如果来自系统管理控制器SMC的请求为远程查询请求则跳转执行步骤3);如果来自系统管理控制器SMC的请求为控制请求则跳转执行步骤4);
3)查询各个结点的状态信息,并将查询得到的状态信息通过I2C通信总线、背板发送给系统管理控制器SMC,跳转执行步骤1);
4)针对目标结点执行控制请求,且在执行完毕后将执行结果查询结果通过I2C通信总线、背板返回给系统管理控制器SMC,跳转执行步骤1)。
可选地,步骤3)中查询各个结点的状态信息具体是指通过CPLD内部的RAM寄存器组读取主板中各个结点的状态信息,且所述CPLD通过定时检测主板中各个结点的状态信息并将发生变化的检测结果刷新写入RAM寄存器组中。
可选地,所述将检测结果刷新写入RAM寄存器组中时,还包括在检测到故障时将对应的故障中断信号通过I2C通信总线、背板发送给系统管理控制器SMC。
可选地,所述RAM寄存器组包括版本寄存器、状态寄存器、系统控制寄存器和中断寄存器INT_DATA,其中版本寄存器用于存放当前CPLD的代码版本信息,状态寄存器用于存放各个结点的状态信息,系统控制寄存器用于存放控制请求,中断寄存器INT_DATA用于存放系统中断信号;步骤2)中如果来自系统管理控制器SMC的请求为控制请求时还包括将来自系统管理控制器SMC的请求写入系统控制寄存器;步骤3)中将发生变化的检测结果刷新写入RAM寄存器组中时还包括向中断寄存器INT_DATA写入系统中断信号以通知系统管理控制器SMC;步骤4)针对目标结点执行控制请求之前还包括将控制请求写入系统控制寄存器的步骤;步骤4)针对目标结点执行控制请求之后还包括清除系统控制寄存器的步骤。
可选地,步骤3)中将查询得到的状态信息通过I2C通信总线、背板发送给系统管理控制器SMC之后系统管理控制器SMC还包括下述响应步骤:系统管理控制器SMC通过I2C通信总线查询获取各个结点的状态信息,并将各个结点的状态信息的状态信息和预设值进行对比以确定异常状态类型以确定故障源。
可选地,步骤1)中来自系统管理控制器SMC的请求仅仅为主板上电时查询一次。
可选地,所述RAM寄存器组中的版本寄存器、状态寄存器、系统控制寄存器一共为包含8个定制的寄存器DATA[0]~ DATA[7],对应地址3`b000~111,每个寄存器的大小为8bit,其中寄存器DATA[0]、DATA[1]为系统管理控制器SMC只读的版本寄存器,寄存器DATA[4]~DATA[7]为系统管理控制器SMC只读的状态寄存器,寄存器DATA[2]、DATA[3]为系统管理控制器SMC可读写的系统控制寄存器;所述RAM寄存器组中的中断寄存器INT_DATA的大小为10bit。
可选地,寄存器DATA[2]为用于控制结点加切电和复位控制的寄存器,缺省值为8`b00,系统管理控制器SMC通过I2C通信总线寄存器DATA[2]写入预定义的8位数据,且根据8位数据的编码实现对各个不同结点或者结点在组合进行加切电和复位控制:8位数据为0001 0000表示主板加电,结点0~3同时加电;8位数据为0001 0001表示只对结点0单独加电;8位数据为0001 0010表示只对结点1单独加电;8位数据为0001 0011表示只对结点2单独加电;8位数据为0001 0100表示只对结点3单独加电;8位数据为0010 0000表示主板切电,结点0~3同时切电;8位数据为0010 0001表示只对结点0单独切电;8位数据为0010 0010表示只对结点1单独切电;8位数据为0010 0011表示只对结点2单独切电;8位数据为00100100表示只对结点3单独切电;8位数据为0011 0000表示刀片复位,结点0~3同时复位;8位数据为0011 0001表示只对结点0单独复位;8位数据为0011 0010表示只对结点1单独复位;8位数据为0011 0011表示只对结点2单独复位;8位数据为0011 0100表示只对结点3单独复位。
可选地,所述将控制请求写入系统控制寄存器之前还包括对来自SMC的控制请求进行判断的步骤,如果来自SMC的控制请求保持指定时间以上后才将控制请求写入系统控制寄存器,否则判定控制请求为无效信号,结束并直接跳转执行步骤1)。
可选地,步骤2)中还包括如果来自系统管理控制器SMC的请求为JTAG调试请求时执行下述步骤:判断高密度飞腾主板上是否存在故障结点,如果没有故障结点,则将本地连接器与CPLD本身的JTAG相连、执行CPLD的代码更新;如果有故障结点,则根据来自系统管理控制器SMC的JTAG调试请求选择高密度飞腾主板上对应的结点,然后针对选择的结点进行JTAG调试。
和现有技术相比,本发明具有下述优点:本发明利用CPLD可定制的引脚和丰富寄存器的特点,在现有高密度飞腾主板的CPLD外部增加一条通信总线(I2C bus,Inter-ICbus)用于和SMC通信;用户可以远程查询每个主板各个结点的电源状态、OS心跳状态以及中断等状态信息,同时通过定制I2C命令实现对每个结点的独立加、切电和复位控制,进而实现对多个结点并行的状态查询、电源控制以及诊断调试等。本发明有效减少了连接器数量,所有信息交互均通过I2C实现,极大的降低了设计复杂度,在不增加主板硬件的情况下实现主板状态查询与控制,具有使用方便、实现简单、用户体验好等特点。
附图说明
图1为本发明实施例方法的基本流程示意图。
图2为本发明实施例中SMC与CPLD交互拓扑示意图。
图3为本发明实施例中I2C-Slave控制模块与RAM寄存器组逻辑框图。
图4为本发明实施例中状态寄存器定义图。
图5为本发明实施例中的JTAG调试选择逻辑框图。
具体实施方式
如图1所示,本实施例基于SMC和CPLD的高密度飞腾主板监控方法中,高密度飞腾主板中的CPLD的实施步骤包括:
1)等待来自系统管理控制器SMC的请求,如果收到请求则跳转执行下一步;
2)判断来自系统管理控制器SMC的请求类型,如果来自系统管理控制器SMC的请求为远程查询请求则跳转执行步骤3);如果来自系统管理控制器SMC的请求为控制请求则跳转执行步骤4);
3)查询各个结点的状态信息,并将查询得到的状态信息通过I2C通信总线、背板发送给系统管理控制器SMC,跳转执行步骤1);
4)针对目标结点执行控制请求,且在执行完毕后将执行结果查询结果通过I2C通信总线、背板返回给系统管理控制器SMC,跳转执行步骤1)。
为了提升查询各个结点的状态信息的实时性,步骤3)中查询各个结点的状态信息具体是指通过CPLD内部的RAM寄存器组读取主板中各个结点的状态信息,且所述CPLD通过定时检测主板中各个结点的状态信息并将发生变化的检测结果刷新写入RAM寄存器组中。CPLD内部增加RAM寄存器组的方式来记录和输出当前的主板的状态,系统管理控制器SMC通过总线读取CPLD预先设定的寄存器即可确定此时主板的状态信息。由于RAM寄存器组读取速度快且不需要等待,因此能够极大地提高系统管理控制器SMC查询获取高密度飞腾主板中各个结点的状态信息的效率和反应时间。CPLD持续刷新状态寄存器信息,并通过故障中断信号通知系统管理控制器SMC进行故障报警。
为了实现故障检测,本实施例中将检测结果刷新写入RAM寄存器组中时,还包括在检测到故障时将对应的故障中断信号通过I2C通信总线、背板发送给系统管理控制器SMC。
如图2所示,系统管理控制器SMC通过背板和各个高密度飞腾主板CPM0~CPMx相连,高密度飞腾主板CPM0和背板之间通过I2C通信总线相连,通过I2C通信总线用户传输各类信号,包括各个结点的状态信息(上行)、目标结点的控制请求(下行)以及故障中断信号(上行,如图中CPLD_INT0_N~CPLD_INTx_N)所示。高密度飞腾主板CPM0~CPMx中均带有CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件),用于通过I2C通信总线、背板和系统管理控制器SMC之间进行通信。
本实施例中,RAM寄存器组包括版本寄存器、状态寄存器、系统控制寄存器和中断寄存器INT_DATA,其中版本寄存器用于存放当前CPLD的代码版本信息,状态寄存器用于存放各个结点的状态信息,系统控制寄存器用于存放控制请求,中断寄存器INT_DATA用于存放系统中断信号;步骤2)中如果来自系统管理控制器SMC的请求为控制请求时还包括将来自系统管理控制器SMC的请求写入系统控制寄存器;步骤3)中将发生变化的检测结果刷新写入RAM寄存器组中时还包括向中断寄存器INT_DATA写入系统中断信号以通知系统管理控制器SMC;步骤4)针对目标结点执行控制请求之前还包括将控制请求写入系统控制寄存器的步骤;步骤4)针对目标结点执行控制请求之后还包括清除系统控制寄存器的步骤,通过在完成一次控制操作后CPLD清除寄存器内容(缺省为0x00),能够及时撤销控制命令、避免重复操作。
本实施例中,一方面CPLD通过I2C-Slave解析系统管理控制器SMC发出的控制指令,并存储在对应RAM寄存器。CPLD根据寄存器内容控制板级操作。另一方面,对于只读的中断寄存器,CPLD将实时刷新寄存器内容(1s),当内容发生改变,将通过故障中断信号及时通知系统管理控制器SMC,系统管理控制器SMC通过I2C总线轮询状态寄存器和中断寄存器,并跟预设值对比,从而确定故障源。图 3为I2C-Slave控制模块与RAM寄存器组逻辑框图,CPLD是从机,系统管理控制器SMC为主机,系统管理控制器SMC通过I2C总线对CPLD进行读写操作。
本实施例中,步骤3)中将查询得到的状态信息通过I2C通信总线、背板发送给系统管理控制器SMC之后系统管理控制器SMC还包括下述响应步骤:系统管理控制器SMC通过I2C通信总线查询获取各个结点的状态信息,并将各个结点的状态信息的状态信息和预设值进行对比以确定异常状态类型以确定故障源。
主板的状态查询主要包括各个结点的电源状态、OS心跳及在位信号等,这些状态信息由CPLD内部相关的寄存器进行定义。为了减轻SMC负担,本实施例中,步骤1)中来自系统管理控制器SMC的请求仅仅为主板上电时查询一次。本实施例中,系统管理控制器SMC在主板上电初期通过I2C总线查询状态寄存器,并通过前端页面进行显示,方便用户实时查询,了解系统结点的状态。以四结点的飞腾主板为例,DATA[4]寄存器定义为主电源及IO电源当前状态,DATA[5]~DATA[6]用于指示结点电源,DATA[7]寄存器高4位定义为外设在位信号,低4位用于指示结点心跳。
如图3所示,本实施例中RAM寄存器组中的版本寄存器、状态寄存器、系统控制寄存器一共为包含8个定制的寄存器DATA[0]~ DATA[7],对应地址3`b000~111,每个寄存器的大小为8bit,其中:
寄存器DATA[0]、DATA[1]为系统管理控制器SMC只读的版本寄存器,用于存放当前CPLD代码版本信息;
寄存器DATA[4]~DATA[7]为系统管理控制器SMC只读的状态寄存器,,用于存放板级当前状态,如电源、结点心跳、在位信号等状态信息;
寄存器DATA[2]、DATA[3]为系统管理控制器SMC可读写的系统控制寄存器,用于存放SMC远程加切电、复位命令以及JTAG调试指令;
所述RAM寄存器组中的中断寄存器INT_DATA的大小为10bit,用于保存故障中断信号。
如图4所示,飞腾主板的系统控制,主要包括对系统的加电、切电以及复位控制。本实施例中寄存器DATA[2]为用于控制结点加切电和复位控制的寄存器,缺省值为8`b00,系统管理控制器SMC通过I2C通信总线寄存器DATA[2]写入预定义的8位数据,且根据8位数据的编码实现对各个不同结点或者结点在组合进行加切电和复位控制:
(1)加电操作:
8位数据为0001 0000表示主板加电,结点0~3同时加电;
8位数据为0001 0001表示只对结点0单独加电;
8位数据为0001 0010表示只对结点1单独加电;
8位数据为0001 0011表示只对结点2单独加电;
8位数据为0001 0100表示只对结点3单独加电;
(2)切电操作:
8位数据为0010 0000表示主板切电,结点0~3同时切电;
8位数据为0010 0001表示只对结点0单独切电;
8位数据为0010 0010表示只对结点1单独切电;
8位数据为0010 0011表示只对结点2单独切电;
8位数据为0010 0100表示只对结点3单独切电;
(3)复位操作:
8位数据为0011 0000表示刀片复位,结点0~3同时复位;
8位数据为0011 0001表示只对结点0单独复位;
8位数据为0011 0010表示只对结点1单独复位;
8位数据为0011 0011表示只对结点2单独复位;
8位数据为0011 0100表示只对结点3单独复位。
为了防止误操作,本实施例将控制请求写入系统控制寄存器之前还包括对来自SMC的控制请求进行判断的步骤,如果来自SMC的控制请求保持指定时间以上后才将控制请求写入系统控制寄存器,否则判定控制请求为无效信号,结束并直接跳转执行步骤1)。本实施例中,来自SMC的控制请求需保持在50ms以上方可认为有效。
参见图1和图5,作为一种可选的实施方式,本实施例步骤2)中还包括如果来自系统管理控制器SMC的请求为JTAG调试请求时执行下述步骤:判断高密度飞腾主板上是否存在故障结点,如果没有故障结点,则将本地连接器与CPLD本身的JTAG相连、执行CPLD的代码更新;如果有故障结点,则根据来自系统管理控制器SMC的JTAG调试请求选择高密度飞腾主板上对应的结点,然后针对选择的结点进行JTAG调试。JTAG调试请求包括CPU的JTAG,CPLD的JTAG。由于主板跟SMC监控板并没有JTAG通路,CPLD只能通过译码SMC的不同指令,将某一路JTAG信号切换到本地JTAG连接器,默认情况下本地连接器与CPLD本身的JTAG相连,用于CPLD代码更新。当结点异常时,SMC选通故障结点的JTAG,并将信号输出到本地连接器,该JTAG接口为一块主板4个结点互斥共享。此外,飞腾主板在调试台上可通过本地JTAG选择信号实现切换功能。
本实施例中,系统管理控制器SMC的软件通过I2C总线向CPLD的“JTAG调试选择寄存器DATA[2]”写入命令码,实现对结点的远程 JTAG调试选择,默认情况下为CPLD的JTAG。SMC向该寄存器的最低3位写入命令码实现远程 JTAG调试选择。SMC软件向该寄存器写入预定义的8位数据,高5位任意填写(通常为全1),低3位为命令码。当命令执行完成后,该寄存器值保持不变,直到下一次写入新值为止。系统复位后,该寄存器缺省值为全0(0x00),即处于CPLD的 JTAG调试状态。DATA[2]的低3位命令码格式如下:
100表示对结点0进行JTAG调试;
101表示对结点1进行JTAG调试;
110表示对结点2进行JTAG调试;
111表示对结点3进行JTAG调试;
当向该寄存器写入8位数据时,高5位被忽略,只有低3位有效,一旦向该寄存器写入值,JTAG操作模式立即生效,并且保持寄存器值不变,直到下次再写入新值或者系统复位。
作为一种具体的实施方式示例,本实施例中的超级计算机系统中,系统管理控制器SMC的软件基于和CPLD的交互可实现下述功能:
1)电源状态检测:
PowerGood的硬件信息可以使用LED指示灯来显示,电源信息状态通过CPLD引脚存入定制寄存器中,系统管理控制器SMC通过I2C总线通信读取结点状态信息中的电源状态信号(PowerGood信号),确定电源状态是否正常,前端网页显示电源状态。
2)心跳功能检测:
心跳状态信息可以通过硬件的前面板指示灯显示出来,并且将状态信息存入定制的寄存器,系统管理控制器SMC通过I2C读取心跳信号,检测结点系统是否正常起来,前端页面显示心跳信号,提示用户系统是否启动。
3)故障中断信号检测:
当飞腾主板的当前状态跟前段时间有差异时,存储相关信号的寄存器内容会发生改变,CPLD比较内部当前寄存器跟1秒前此寄存器内容,并以中断信号的形式通知系统管理控制器SMC,系统管理控制器SMC在接收到此信号后将以轮询的方式读取所有寄存器的值,从而确定变化的故障位,据此执行后续操作。
4)开关机/复位控制:
控制主板的上电时序,对主板进行加电/切电控制。加电控制逻辑收集各个电源模块的PWRGD信号,根据系统上电时序要求,产生各种电压的使能信号;切电控制逻辑将各个电源模块切电。系统复位控制包括上电复位和运行状态的热复位两部分。上电复位逻辑生成各种系统级复位信号,在系统冷启动时控制上电复位时序。复位部分主要指上电复位,在接通电源以后计算机会进行一系列的初始化操作,包括测试内存,向内存导入BIOS数据,初始化寄存器,初始化各个硬件等。CPLD的复位信号主要包括:CPU复位(N0~N3)、PCIE设备复位以及网络和监控芯片复位。热复位逻辑主要指通过系统管理控制器SMC对整板复位和单结点独立复位。结点的加切电、复位有两种方式:(1)通过板级按钮进行加切电和复位;(2)系统管理控制器SMC通过I2C总线控制CPLD完成加切电和复位。从系统级角度看,结点加切电、复位的控制逻辑关系如图4所示。
5)JTAG调试:
本实施例中中的JTAG调试既支持本地调试,又支持远程调试,本地调试通过CONF_0和CONF_1切换。如图5为JTAG本地和远程调试模块逻辑结构,远程调试实现具体步骤如下:(1)系统管理控制器SMC选通主板上某个结点的JTAG接口。系统管理控制器SMC向飞腾主板的CPLD JTAG选择寄存器写入要选通的结点号i(i=0~3),告知飞腾主板某个结点的JTAG将要选通;(2)系统管理控制器SMC打开主板对外接口;(3)系统管理控制器SMC选通主板。系统管理控制器SMC向目标主板发出JTAG_EN_N使能信号,此时目标CPM板的CPLD监测JTAG_EN_N使能信号,一旦发现自己的JTAG_EN_N有效,则将来自系统管理控制器SMC的JTAG接口与自己内部结点i的JTAG联通,否则保持断开;(4)系统管理控制器SMC执行JTAG操作;(5)操作完成后,由系统管理控制器SMC关闭对应主板JTAG接口。系统管理控制器SMC会置JTAG_EN_N信号无效,高密度飞腾主板板会将自己的内部JTAG与外部断开;(6)最后系统管理控制器SMC关闭JTAG对外接口。
综上所述,本实施例基于SMC和CPLD的高密度飞腾主板监控方法具有下述优点:(1)本发明在不增加主板硬件的情况下,实现对主板状态的监控和记录;(2)用户可以实时查询结点状态信息,及时做出相应操作,出现故障时,可以及时控制系统;(3)提供远程JTAG调试选择模式,降低成本,实现实时跟踪和分析,进行软件代码的优化。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种基于SMC和CPLD的高密度飞腾主板监控方法,其特征在于,高密度飞腾主板中的CPLD的实施步骤包括:
1)等待来自系统管理控制器SMC的请求,如果收到请求则跳转执行下一步;
2)判断来自系统管理控制器SMC的请求类型,如果来自系统管理控制器SMC的请求为远程查询请求则跳转执行步骤3);如果来自系统管理控制器SMC的请求为控制请求则跳转执行步骤4);
3)查询各个结点的状态信息,并将查询得到的状态信息通过I2C通信总线、背板发送给系统管理控制器SMC,跳转执行步骤1);
4)针对目标结点执行控制请求,且在执行完毕后将执行结果查询结果通过I2C通信总线、背板返回给系统管理控制器SMC,跳转执行步骤1)。
2.根据权利要求1中的基于SMC和CPLD的高密度飞腾主板监控方法,其特征在于,步骤3)中查询各个结点的状态信息具体是指通过CPLD内部的RAM寄存器组读取主板中各个结点的状态信息,且所述CPLD通过定时检测主板中各个结点的状态信息并将发生变化的检测结果刷新写入RAM寄存器组中。
3.根据权利要求2中的基于SMC和CPLD的高密度飞腾主板监控方法,其特征在于,所述将检测结果刷新写入RAM寄存器组中时,还包括在检测到故障时将对应的故障中断信号通过I2C通信总线、背板发送给系统管理控制器SMC。
4.根据权利要求3中的基于SMC和CPLD的高密度飞腾主板监控方法,其特征在于,所述RAM寄存器组包括版本寄存器、状态寄存器、系统控制寄存器和中断寄存器INT_DATA,其中版本寄存器用于存放当前CPLD的代码版本信息,状态寄存器用于存放各个结点的状态信息,系统控制寄存器用于存放控制请求,中断寄存器INT_DATA用于存放系统中断信号;步骤2)中如果来自系统管理控制器SMC的请求为控制请求时还包括将来自系统管理控制器SMC的请求写入系统控制寄存器;步骤3)中将发生变化的检测结果刷新写入RAM寄存器组中时还包括向中断寄存器INT_DATA写入系统中断信号以通知系统管理控制器SMC;步骤4)针对目标结点执行控制请求之前还包括将控制请求写入系统控制寄存器的步骤;步骤4)针对目标结点执行控制请求之后还包括清除系统控制寄存器的步骤。
5.根据权利要求4中的基于SMC和CPLD的高密度飞腾主板监控方法,其特征在于,步骤3)中将查询得到的状态信息通过I2C通信总线、背板发送给系统管理控制器SMC之后系统管理控制器SMC还包括下述响应步骤:系统管理控制器SMC通过I2C通信总线查询获取各个结点的状态信息,并将各个结点的状态信息的状态信息和预设值进行对比以确定异常状态类型以确定故障源。
6.根据权利要求1中的基于SMC和CPLD的高密度飞腾主板监控方法,其特征在于,步骤1)中来自系统管理控制器SMC的请求仅仅为主板上电时查询一次。
7.根据权利要求4中的基于SMC和CPLD的高密度飞腾主板监控方法,其特征在于,所述RAM寄存器组中的版本寄存器、状态寄存器、系统控制寄存器一共为包含8个定制的寄存器DATA[0]~ DATA[7],对应地址3`b000~111,每个寄存器的大小为8bit,其中寄存器DATA[0]、DATA[1]为系统管理控制器SMC只读的版本寄存器,寄存器DATA[4]~DATA[7]为系统管理控制器SMC只读的状态寄存器,寄存器DATA[2]、DATA[3]为系统管理控制器SMC可读写的系统控制寄存器;所述RAM寄存器组中的中断寄存器INT_DATA的大小为10bit。
8.根据权利要求7中的基于SMC和CPLD的高密度飞腾主板监控方法,其特征在于,寄存器DATA[2]为用于控制结点加切电和复位控制的寄存器,缺省值为8`b00,系统管理控制器SMC通过I2C通信总线寄存器DATA[2]写入预定义的8位数据,且根据8位数据的编码实现对各个不同结点或者结点在组合进行加切电和复位控制:8位数据为0001 0000表示主板加电,结点0~3同时加电;8位数据为0001 0001表示只对结点0单独加电;8位数据为0001 0010表示只对结点1单独加电;8位数据为0001 0011表示只对结点2单独加电;8位数据为00010100表示只对结点3单独加电;8位数据为0010 0000表示主板切电,结点0~3同时切电;8位数据为0010 0001表示只对结点0单独切电;8位数据为0010 0010表示只对结点1单独切电;8位数据为0010 0011表示只对结点2单独切电;8位数据为0010 0100表示只对结点3单独切电;8位数据为0011 0000表示刀片复位,结点0~3同时复位;8位数据为0011 0001表示只对结点0单独复位;8位数据为0011 0010表示只对结点1单独复位;8位数据为0011 0011表示只对结点2单独复位;8位数据为0011 0100表示只对结点3单独复位。
9.根据权利要求4中的基于SMC和CPLD的高密度飞腾主板监控方法,其特征在于,所述将控制请求写入系统控制寄存器之前还包括对来自SMC的控制请求进行判断的步骤,如果来自SMC的控制请求保持指定时间以上后才将控制请求写入系统控制寄存器,否则判定控制请求为无效信号,结束并直接跳转执行步骤1)。
10.根据权利要求1中的基于SMC和CPLD的高密度飞腾主板监控方法,其特征在于,步骤2)中还包括如果来自系统管理控制器SMC的请求为JTAG调试请求时执行下述步骤:判断高密度飞腾主板上是否存在故障结点,如果没有故障结点,则将本地连接器与CPLD本身的JTAG相连、执行CPLD的代码更新;如果有故障结点,则根据来自系统管理控制器SMC的JTAG调试请求选择高密度飞腾主板上对应的结点,然后针对选择的结点进行JTAG调试。
CN202010706443.8A 2020-07-21 2020-07-21 一种基于smc和cpld的高密度飞腾主板监控方法 Active CN111858249B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010706443.8A CN111858249B (zh) 2020-07-21 2020-07-21 一种基于smc和cpld的高密度飞腾主板监控方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010706443.8A CN111858249B (zh) 2020-07-21 2020-07-21 一种基于smc和cpld的高密度飞腾主板监控方法

Publications (2)

Publication Number Publication Date
CN111858249A true CN111858249A (zh) 2020-10-30
CN111858249B CN111858249B (zh) 2022-06-07

Family

ID=73001519

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010706443.8A Active CN111858249B (zh) 2020-07-21 2020-07-21 一种基于smc和cpld的高密度飞腾主板监控方法

Country Status (1)

Country Link
CN (1) CN111858249B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102650975A (zh) * 2012-03-31 2012-08-29 中国人民解放军国防科学技术大学 用于多硬件平台飞腾服务器的i2c总线的实现方法
CN105138443A (zh) * 2015-08-24 2015-12-09 山东超越数控电子有限公司 一种基于飞腾处理器的can总线信息监测方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102650975A (zh) * 2012-03-31 2012-08-29 中国人民解放军国防科学技术大学 用于多硬件平台飞腾服务器的i2c总线的实现方法
CN105138443A (zh) * 2015-08-24 2015-12-09 山东超越数控电子有限公司 一种基于飞腾处理器的can总线信息监测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王俊 等: ""一种飞腾刀片服务器系统的多线程IPMI监控设计"", 《第二十一届计算机工程与工艺年会暨第七届微处理器技术论坛论文集》 *

Also Published As

Publication number Publication date
CN111858249B (zh) 2022-06-07

Similar Documents

Publication Publication Date Title
CN101292226B (zh) 用于线程通信和同步的设备、系统和方法
CN109613970B (zh) 一种基于fpga和dsp架构的低功耗处理方法
CN102331959A (zh) 伺服器系统
CN110162446A (zh) 一种基于bmc的背板硬盘点灯方法
CN112462920A (zh) 一种电源控制的方法、装置、服务器及存储介质
CN111124981A (zh) 一种服务器i2c设备的管理系统及方法
CN115905094A (zh) 一种电子设备及其PCIe拓扑配置方法和装置
CN114356725B (zh) 机箱管理系统
CN111858249B (zh) 一种基于smc和cpld的高密度飞腾主板监控方法
CN112000545A (zh) 一种图形处理器板卡和图形处理器管理方法
WO2013048536A1 (en) Apparatus and method for managing register information in a processing system
CN116701285A (zh) 远程访问控制装置、方法、设备及计算机可读介质
CN115599617B (zh) 总线检测方法、装置、服务器及电子设备
CN115047954B (zh) 一种设备散热控制方法、系统、装置、设备及存储介质
CN111338907A (zh) 一种pcie设备的远程状态监测系统及方法
CN116501343A (zh) 一种程序升级方法、电源及计算设备
CN115757236A (zh) 一种存储扩展池化设备及系统
CN115756616A (zh) 基本输入输出系统bios配置项的配置方法及服务器
JP2005267595A (ja) 電源断サポートを有するデータ処理装置に診断操作を実行する装置と方法
CN111459768A (zh) 一种硬盘管理方法、装置、设备及机器可读存储介质
CN201749323U (zh) 嵌入式切纸机程控电脑
CN110691128A (zh) 基于ipmi系统健康管理中间件的通信方法、系统、介质及设备
CN115981880B (zh) 避免主机访问从机出现死锁的方法、装置、系统、存储介质及芯片
CN117591378B (zh) 一种服务器的温度控制方法、系统、设备及存储介质
CN115237849B (zh) 可动态重构和异构的计算模块及计算装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant