CN114546912A - 一种用于服务器***的中断拓展方法 - Google Patents
一种用于服务器***的中断拓展方法 Download PDFInfo
- Publication number
- CN114546912A CN114546912A CN202210049204.9A CN202210049204A CN114546912A CN 114546912 A CN114546912 A CN 114546912A CN 202210049204 A CN202210049204 A CN 202210049204A CN 114546912 A CN114546912 A CN 114546912A
- Authority
- CN
- China
- Prior art keywords
- interrupt
- server system
- cpu
- outage
- host
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000003416 augmentation Effects 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000006872 improvement Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Bus Control (AREA)
Abstract
本发明公开了一种用于服务器***的中断拓展方法,包括:通过中断状态寄存器保存中断ID,所述中断ID与从机进行一一对应的映射;CPU读取中断状态寄存器的值,根据不同的ID执行不同的中断服务程序,同时清除中断,在另外一个线程上执行中断请求任务。本发明具有原理简单、操作简便、适用范围等优点。
Description
技术领域
本发明主要涉及到服务器管控技术领域,特指一种用于服务器***的中断拓展方法。
背景技术
为了便于管理服务器,现阶段的服务器***中,都加入了服务器管控单元(BMC)。CPU与BMC的主从关系为:CPU为主设备,BMC为从设备。CPU(主机)可以发起对BMC的访问,但是BMC(从机)却没有这样的权限。这样的限制就会造成BMC无法向CPU发起命令,造成BMC关机这一类的行为无法进行。为规避这样的问题,大部分的处理器都是用自身具有中断功能的GPIO,接收BMC对应的中断信号再执行对应的功能操作,规避上述问题。但是这也会大大地浪费了CPU本就不多的GPIO口。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种原理简单、操作简便、适用范围广的用于服务器***的中断拓展方法。
为解决上述技术问题,本发明采用以下技术方案:
一种用于服务器***的中断拓展方法,其包括:
将中断ID保存于中断状态寄存器中,所述中断ID与服务器***的从机采用一一对应的方式进行映射;
服务器***中主机的CPU读取中断状态寄存器中的中断ID值;
服务器***中主机的CPU根据读取的中断ID值执行对应的中断服务程序;
服务器***中主机的CPU清除中断,在另一个线程中执行中断请求任务。
作为本发明的进一步改进:所述主机与服务器***中的从机使用同一个时钟源,通过中断线将一个主机与多个从机连接在一起。
作为本发明的进一步改进:所述从机包括BMC,以BMC向CPU发起中断命令。
作为本发明的进一步改进:所述BMC与CPU之间连接时设置电平转换。
作为本发明的进一步改进:确定服务器***中多个从机所使用的中断ID和主机的中断ID,均保存至中断状态寄存器。
作为本发明的进一步改进:所述中断状态寄存器采用uart虚拟串口中断;当中断发出之后,所述主机的CPU根据设置好的中断ID,通过uart虚拟串口来进行中断操作。
作为本发明的进一步改进:在所述中断状态寄存器中设置有多个从机所使用的中断ID和主机的中断ID。
作为本发明的进一步改进:所述中断状态寄存器中中断ID的定义采用自定义方式,令从机能够判断中断ID对应的是虚拟串口功能。
作为本发明的进一步改进:当需要修改中断ID时,直接写入对应的所需确定的数值。
作为本发明的进一步改进:所述主机的CPU根据不同的中断ID来选择走不同的分支线程。
与现有技术相比,本发明的优点就在于:
1、本发明的用于服务器***的中断拓展方法,原理简单、操作简便、适用范围广,不占用CPU中有限的带中断功能的GPIO引脚,能够最大提升SerIRQ的设备占有率,降低硬件设计的复杂程度。本发明将采用其他固定模块并没有占用的中断,去实现若干拓展功能,如:向CPU发起关机、重启、获取CPU状态等请求。而且,采用本发明之后,中断的设备数量可以进行灵活的增减,便于后期的开发维护。
2、本发明的用于服务器***的中断拓展方法,服务器***中的主机CPU不会直接执行中断,CPU会读取中断状态寄存器的值。该中断状态寄存器保存了中断ID(中断号),该中断ID与外设(从机)进行一一对应的映射。而后根据不同的中断ID执行不同的中断服务程序,并同时清除中断,在另外一个线程上执行中断请求任务。
附图说明
图1是本发明在具体应用实例中方法的流程示意图。
图2是SerIRQ支持的中断数量示意图。
图3是本发明在一个具体应用实例中控制的拓扑结构原理示意图。
图4是本发明在一个具体应用实例中寄存器设置的示意图。
图5是本发明在一个具体应用实例中控制的拓扑结构原理示意图。
具体实施方式
以下将结合说明书附图和具体实施例对本发明做进一步详细说明。
如图2所示,为SerIRQ支持的中断数量示意图。在服务器***的主机与从机的构架中,一般均设置有LPC接口,而带有LPC接口中附带有SerIRQ中断。通常都是用于符合SerIRQ中断的从机(专有设备)来使用,当然上述的从机(专有设备)包括了BMC。在BMC中的固定模块(如SOL模块、superIO模块、ACPI模块等)会通过该中断向CPU发送命令。显然,上述固定模块都是有限的,而SerIRQ是可以承载多个设备的串行中断,因此本发明将采用其他固定模块并没有占用的中断,去实现若干拓展功能,如:向CPU发起关机、重启、获取CPU状态等请求。
如图1所示,本发明的用于服务器***的中断拓展方法,令服务器***中的主机与从机使用的均为同一个时钟源,通过中断线将一个主机与多个从机连接在一起;所述从机包括BMC;先确定多个从机(专有设备)所使用的中断ID(中断号)和主机的中断ID(中断号)并保存至中断状态寄存器;所述中断状态寄存器采用uart虚拟串口中断;当中断发出之后,主机的CPU需要根据设置好的中断ID,通过uart虚拟串口来进行中断操作。
通过采用本发明的上述方案,本发明中CPU不会直接执行中断,CPU会读取中断状态寄存器的值。该中断状态寄存器保存了中断ID(中断号),该中断ID与外设(从机)进行一一对应的映射。而后根据不同的中断ID执行不同的中断服务程序,并同时清除中断,在另外一个线程上执行中断请求任务。
在具体应用实例中,在所述寄存器中设置有多个从机(专有设备)所使用的中断ID(中断号)和主机的中断ID(中断号),并以特定数值的形式保存。当需要修改时,直接写入对应的所需确定的数值即可。
在具体应用实例中,寄存器中断ID的定义可以通过图2中的寄存器第7到第4个bit进行调整,但是需要让对方的server知道该中断ID(中断号)对应的是虚拟串口功能。由此可见,本发明就是因为可以自定义该中断ID,才使得更多的设备可以加入到中断上。
LPC接口中附带的SerIRQ中断,通常都是用于符合SerIRQ中断的专有设备使用,当然上述的专有设备包括了BMC。BMC中的固定模块如SOL模块、superIO模块、ACPI模块等会通过该中断向CPU发送命令。上述模块都是有限的,而SerIRQ是可以承载多个设备的串行中断,因此本方案将采用其他模块并没有占用的中断,去实现如:向CPU发起关机、重启、获取CPU状态等请求。
具体应用实例1:参见图3,本发明以BMC向CPU发起关机命令为例说明。由于本发明的硬件连接与常用的LPC接口实现master和slaver的连接并没有做调整,因此在硬件的描述上就此省略了。
本发明的具体流程为:
步骤S1:确定所有设备所使用的中断,包括服务器***中从机和主机根据自己选择的中断ID,确定图4中寄存器的值,并写入确定好的数值。
步骤S2:将从机中BMC的0x1e787020的值改写为0x23,即可向主机的CPU发出中断请求。在该实例中,所述寄存器本身为uart的虚拟串口中断。
步骤S3:当中断发出之后,主机的CPU需要根据上述步骤S1中设置的中断ID,走关机的操作流程。
至此,就实现了使用uart虚拟串口中断,实现关机操作的功能了。
具体应用实例2:参见图5,当BMC检查到整机的外设中,风扇、温度等任何部件出现异常的情况下,均可以通过该中断上报到Server的CPU,让CPU做好降频、任务转移等工作,防止由于部件的异常,导致整个计算节点故障,进而造成大量数据丢失。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
Claims (10)
1.一种用于服务器***的中断拓展方法,其特征在于,包括:
将中断ID保存于中断状态寄存器中,所述中断ID与服务器***的从机采用一一对应的方式进行映射;
服务器***中主机的CPU读取中断状态寄存器中的中断ID值;
服务器***中主机的CPU根据读取的中断ID值执行对应的中断服务程序;
服务器***中主机的CPU清除中断,在另一个线程中执行中断请求任务。
2.根据权利要求1所述的用于服务器***的中断拓展方法,其特征在于:所述主机与服务器***中的从机使用同一个时钟源,通过中断线将一个主机与多个从机连接在一起。
3.根据权利要求2所述的用于服务器***的中断拓展方法,其特征在于:所述从机包括BMC,以BMC向CPU发起中断命令。
4.根据权利要求3所述的用于服务器***的中断拓展方法,其特征在于:所述BMC与CPU之间连接时设置电平转换。
5.根据权利要求1-4中任意一项所述的用于服务器***的中断拓展方法,其特征在于:确定服务器***中多个从机所使用的中断ID和主机的中断ID,均保存至中断状态寄存器。
6.根据权利要求1-4中任意一项所述的用于服务器***的中断拓展方法,其特征在于:所述中断状态寄存器采用uart虚拟串口中断;当中断发出之后,所述主机的CPU根据设置好的中断ID,通过uart虚拟串口来进行中断操作。
7.根据权利要求1-4中任意一项所述的用于服务器***的中断拓展方法,其特征在于:在所述中断状态寄存器中设置有多个从机所使用的中断ID和主机的中断ID。
8.根据权利要求7所述的用于服务器***的中断拓展方法,其特征在于:所述中断状态寄存器中中断ID的定义采用自定义方式,令从机能够判断中断ID对应的是虚拟串口功能。
9.根据权利要求7所述的用于服务器***的中断拓展方法,其特征在于:当需要修改中断ID时,直接写入对应的所需确定的数值。
10.根据权利要求1-4中任意一项所述的用于服务器***的中断拓展方法,其特征在于:所述主机的CPU根据不同的中断ID来选择走不同的分支线程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210049204.9A CN114546912A (zh) | 2022-01-17 | 2022-01-17 | 一种用于服务器***的中断拓展方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210049204.9A CN114546912A (zh) | 2022-01-17 | 2022-01-17 | 一种用于服务器***的中断拓展方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114546912A true CN114546912A (zh) | 2022-05-27 |
Family
ID=81672278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210049204.9A Pending CN114546912A (zh) | 2022-01-17 | 2022-01-17 | 一种用于服务器***的中断拓展方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114546912A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005135063A (ja) * | 2003-10-29 | 2005-05-26 | Hitachi Ltd | 情報処理装置及び情報処理装置の時計異常検出プログラム |
CN101872330A (zh) * | 2009-11-04 | 2010-10-27 | 杭州海康威视数字技术股份有限公司 | 多pcie设备***中断处理方法 |
CN104486419A (zh) * | 2014-12-18 | 2015-04-01 | 浪潮电子信息产业股份有限公司 | 一种基于飞腾平台通过网络更新固件的方法 |
-
2022
- 2022-01-17 CN CN202210049204.9A patent/CN114546912A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005135063A (ja) * | 2003-10-29 | 2005-05-26 | Hitachi Ltd | 情報処理装置及び情報処理装置の時計異常検出プログラム |
CN101872330A (zh) * | 2009-11-04 | 2010-10-27 | 杭州海康威视数字技术股份有限公司 | 多pcie设备***中断处理方法 |
CN104486419A (zh) * | 2014-12-18 | 2015-04-01 | 浪潮电子信息产业股份有限公司 | 一种基于飞腾平台通过网络更新固件的方法 |
Non-Patent Citations (4)
Title |
---|
余小清 等编著: "《高性能8位单片机程序设计与实践》", 30 June 2012, 上海大学出版社 * |
宋伟主编: "《操作***应用》", 28 February 2006, 中央广播电视大学出版社 * |
张志良主编: "《单片机原理与控制技术》", 31 July 2001, 机械工业出版社 * |
陈章龙 等主编: "《嵌入式技术与*** Intel XScale结构与开发》", 29 February 2004, 北京航空航天大学出版社 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10606725B2 (en) | Monitor peripheral device based on imported data | |
CN110554943B (zh) | 一种基于i3c的多节点服务器cmc管理***及方法 | |
WO2021258748A1 (zh) | I2c总线通信控制方法、装置、***及可读存储介质 | |
CN100465907C (zh) | 一种cmos参数的设置维护装置及方法 | |
MX2008003299A (es) | Depuracion de sistemas integrados. | |
WO2015131516A1 (zh) | 分布式智能平台管理总线连接方法及atca机框 | |
CN105159851A (zh) | 多控存储*** | |
CN104471523A (zh) | 计算机***及其控制方法 | |
CN112583683B (zh) | 一种主从式can fd总线应用层通信方法及***、电子设备 | |
CN114124656A (zh) | 一种运载火箭地面一体化测控*** | |
CN107729213B (zh) | 一种后台任务监控方法及装置 | |
CN102063366B (zh) | 调试进程的方法和*** | |
CN111324503B (zh) | 机框管理装置、方法和计算机可读存储介质 | |
CN114546912A (zh) | 一种用于服务器***的中断拓展方法 | |
WO2019227839A1 (zh) | 一种基于bmc的文件传输方法、装置、设备及介质 | |
CN115168141A (zh) | 光口管理***、方法、装置、可编程逻辑器件及存储介质 | |
CN101458671B (zh) | 外设访问控制方法、装置与*** | |
US7519495B2 (en) | Method and device for executing method steps | |
CN112346905B (zh) | 数据备援*** | |
WO2024066857A1 (zh) | 一种电子设备、处理器、数据传输方法及装置 | |
CN113961502B (zh) | 一种交换机接口管理***和方法 | |
RU2743247C1 (ru) | Способ работы программируемого логического контроллера | |
CN112306913B (zh) | 一种端点设备的管理方法、装置及*** | |
CN116015987A (zh) | 一种多路通信接口适配方法、***、设备及可读存储介质 | |
JPH07306800A (ja) | デバッグ方式 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220527 |