CN109791503A - 处理中断的方法和装置 - Google Patents

处理中断的方法和装置 Download PDF

Info

Publication number
CN109791503A
CN109791503A CN201880003669.2A CN201880003669A CN109791503A CN 109791503 A CN109791503 A CN 109791503A CN 201880003669 A CN201880003669 A CN 201880003669A CN 109791503 A CN109791503 A CN 109791503A
Authority
CN
China
Prior art keywords
processing unit
association
cpu
subevent
system event
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
Application number
CN201880003669.2A
Other languages
English (en)
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.)
XFusion Digital Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN109791503A publication Critical patent/CN109791503A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种处理中断的方法和装置(700),所述方法包括:中央处理单元CPU(130)接收中断请求(410);所述CPU(130)获取触发所述中断请求的系统事件(420);所述CPU(130)指示协处理单元(120)处理所述系统事件(430)。该方法和装置(700)通过将计算设备(100)中的部分中断源(110)发送的中断请求直接发送至协处理单元(120),使得协处理单元(120)处理中断请求对应的系统事件,相对于中央处理单元(130)处理计算设备(100)中全部的中断请求的方案而言,避免了中央处理单元(130)由于处理系统事件,而在一段较长的时间内不能运行应用程序,有利于提高计算设备(100)的整体性能。

Description

处理中断的方法和装置
技术领域
本申请涉及计算机领域,并且更具体地,涉及处理中断的方法和装置。
背景技术
计算机、服务器或者其它具有计算能力的设备可以统称为计算设备,计算设备可以包括硬件系统和软件系统,其中硬件系统包括计算机的硬件设备,例如内存、电源等;软件系统包括操作系统(Operating System,OS)。
当计算设备中有系统事件需要处理,例如,硬件系统中的硬件需要向软件系统发送该硬件的特定运行状态,或需要依靠软件系统运行特定的程序帮助该硬件进入正常工作状态时,硬件可以通过中断机制与软件系统进行交互。也就是说,硬件系统中的硬件设备可以向软件系统发送中断请求,请求软件系统中断当前运行的程序,运行中断处理程序,处理系统事件。
这种处理系统事件的方式,会占用中央处理单元的计算资源,使得中央处理单元在处理系统事件过程中,无法运行被中断的应用程序,降低了计算设备的整体性能。
发明内容
本申请提供一种处理中断的方法和装置,有利于提高计算设备的整体性能。
第一方面,提供一种处理中断的方法,包括:中央处理单元(central processingunit,CPU)接收中断请求;所述CPU获取触发所述中断请求的系统事件;所述CPU指示协处理单元处理所述系统事件。
具体地,该中断请求用于请求CPU中断当前运行的程序,进入中断处理流程。
该系统事件可以是由系统活动产生的,并包括系统数据的一类业务事件。系统事件可以包括资源状态变化,阈值超限,或者非正常的系统状态和行为。
在本申请实施例中,CPU将用于处理中断请求的系统事件发送至协处理单元,由协处理单元代替CPU处理中断请求对应的系统事件。相对于由CPU处理所有系统事件的方案而言,避免了CPU因处理系统事件而长时间不能运行被中断的应用程序,有利于提高计算设备的整体性能。
结合第一方面,在一种可能的实现方式中,目标处理单元为该协处理单元时,在所述CPU指示协处理单元处理所述系统事件之前,所述方法还包括:中央处理单元可以根据预存的中断请求分发表,确定选择处理系统事件的所述目标处理单元,中断分发表记录多种类型的中断请求与多个处理单元的映射关系,所述多个处理单元包括所述中央处理单元和所述协处理单元。
该中断分发表可以记录中断请求类型与路由信息的对应关系,路由信息用于将中断请求路由至目标处理单元,中断源通过查该中断分发表,确定中断请求对应的路由信息之后,可以根据确定后的路由信息对中断请求进行封装,使得中断请求可以基于该确定后的路由信息被路由至目标处理单元。
需要说明的是,该路由信息可以包括传输中断请求通过的端口的端口号,或者目标处理单元的路由地址等。
在本申请实施例中,中央处理单元通过中断分发表,将不同类型的中断分配至不同的目标处理单元处理,即基于不同目标处理单元的处理能力,分配不同类型的中断,处理不同的系统事件,有利于提高目标处理单元处理系统事件的效率。
可选地,中央处理单元可以指示不同的协处理单元处理不同类型的系统事件。
结合第一方面,在一种可能的实现方式中,所述CPU获取所述CPU的当前负载信息;所述CPU在所述当前负载信息所指示的所述CPU的负载高于目标门限时,指示所述协处理单元处理所述系统事件。
在本申请实施例中,在CPU的当前负载信息所指示的负载高于目标门限时,CPU指示协处理单元处理所述系统事件,避免了由协处理单元处理系统事件导致处理系统事件的效率下降,有利于兼顾计算设备的性能以及处理系统事件的效率。同时,协处理单元在CPU高负载运行时分担系统事件带来的额外负载。
结合第一方面,在一种可能的实现方式中,所述CPU在所述系统事件的类型为目标类型时,指示所述协处理单元处理所述系统事件,所述目标类型指示所述协处理单元处理具有所述目标类型的系统事件。
该目标类型指示所述协处理单元处理具有所述目标类型的系统事件。同时协处理单元具有处理目标类型的系统事件的能力。
当系统事件不是目标类型的系统事件时,非目标类型的系统事件可以由CPU直接处理。
一种可能设计,协处理单元不具有处理非目标类型的系统事件的能力。该协处理单元不具有处理非目标类型的系统事件的原因有很多种,例如,可以是计算设备中配置处理该系统事件的程序只能由CPU处理,或者协处理单元无法获取中断请求对应的系统事件的具体内容,无法运行中断处理程序,以处理该系统事件。本申请实施例对此不作具体限定。
结合第一方面,在一种可能的实现方式中,所述系统事件包括多个子事件,所述CPU指示所述协处理单元处理所述系统事件,包括:所述CPU指示所述协处理单元处理所述多个子事件中的至少一个子事件。
具体地,所述CPU指示所述协处理单元处理所述多个子事件中的至少一个子事件,可以是指协处理单元处理多个子事件中全部的子事件(即协处理单元处理所述系统事件),或者可以是指协处理单元处理多个子事件中的部分子事件。
在本申请实施例中,由协处理单元处理该至少一个子事件,由CPU处理该多个子事件中除至少一个子事件之外的子事件,即由协处理单元和CPU协同处理系统事件,有利于减小CPU处理系统事件的时间,提高计算设备的整体性能。
可选地,该多个子事件中除至少一个子事件之外的子事件,即多个子事件中未指示给协处理单元的子事件,可以由中央处理单元进行处理。
结合第一方面,在一种可能的实现方式中,所述CPU获取所述CPU的当前负载信息;所述CPU在所述当前负载信息所指示的所述CPU的负载高于目标门限时,从系统事件包括的多个子事件中选择至少一个子事件。所述CPU指示所述协处理单元处理选择出的子事件。
在本申请实施例中,在CPU的当前负载信息所指示的负载高于目标门限时,CPU指示协处理单元处理所述系统事件中的部分子事件,避免了由协处理单元处理系统事件导致处理整个系统事件的效率下降,有利于兼顾计算设备的性能以及处理系统事件的效率。
结合第一方面,在一种可能的实现方式中,所述CPU从所述多个子事件中选择与目标类型匹配的子事件,所述与目标类型匹配的子事件为所述至少一个子事件,所述目标类型指示所述协处理单元处理具有所述目标类型的子事件。所述CPU指示所述协处理单元处理选择出的子事件。
需要说明的是,该目标类型指示协处理单元处理具有目标类型的子事件。同时,协处理单元具有处理目标类型的子事件的能力。
结合第一方面,在一种可能的实现方式中,所述方法还包括:所述CPU处理所述多个子事件中除所述至少一个子事件之外的子事件。
也就是说,该多个子事件中,非目标类型的子事件可以由CPU处理。或者说,多个子事件包括目标类型的子事件和非目标类型的子事件时,可以由CPU和协处理单元协同处理多个子事件。
结合第一方面,在一种可能的实现方式中,所述CPU根据所述中断请求进入中断;所述CPU在处理完所述多个子事件中除所述至少一个子事件之外的子事件时,退出所述中断。
在本申请实施例中,当CPU处理完成多个子事件中除所述至少一个子事件之外的子事件时,可以退出中断,继续处理之前被中断的应用程序,相对于中央处理单元需要处理多个子事件中全部子事件的方案而言,有利于减少中央处理单元处理系统事件的时间。
结合第一方面,在一种可能的实现方式中,CPU直接将该中断请求转发至协处理单元时,该CPU可以不用获取触发所述中断请求的系统事件。
可选地,在所述CPU指示协处理单元处理所述系统事件之前,所述方法还包括:所述CPU查询中断转发表,所述中断转发表记录多种类型的中断请求与多个协处理单元的映射关系;所述CPU确定与所述中断请求对应的所述协处理单元。
在本申请实施例中,CPU通过中断转发表,将该不同类型的中断请求分配至不同的目标处理单元处理,即基于不同目标处理单元的处理能力,分配不同类型的系统事件,有利于提高目标处理单元处理系统事件的效率。
第二方面,提供一种处理中断的方法,包括:协处理单元获取CPU指示所述协处理单元处理的系统事件,所述CPU指示的系统事件为所述CPU在接收到中断请求时,获取的触发所述中断请求的系统事件;所述协处理单元处理获取的系统事件。
由协处理单元代替CPU处理中断请求对应的系统事件。相对于由CPU处理所有系统事件的方案而言,避免了CPU因处理系统事件而长时间不能运行被中断的应用程序,有利于提高计算设备的整体性能。
结合第二方面,在一种可能的实现方式中,所述方法还包括:所述协处理单元接收中断源发送的中断请求;所述协处理单元获取触发所述中断请求的系统事件。
需要说明的是,可以在中断源和协处理单元之间建立传输中断请求的通信机制,使得中断源可以直接将中断请求发送至协处理单元。
结合第二方面,在一种可能的实现方式中,所述方法还包括:所述协处理单元接收CPU转发的中断请求,所述中断请求为中断源发送至所述CPU;所述协处理单元获取触发所述中断请求的系统事件。
在本申请实施例中,可以不用改进中断源与协处理单元之间的硬件连接,通过CPU向协处理单元转发中断请求的方式,使得协处理单元处理触发该中断请求的系统事件。
结合第二方面,在一种可能的实现方式中,所述方法还包括:所述协处理单元根据所述中断请求进入中断;所述协处理单元在处理完所述系统事件时,退出所述中断。
第三方面,提供一种处理中断的方法,包括:中断源生成中断请求;所述中断源查询中断分发策略确定所述中断请求对应的目标处理单元,所述中断分发策略包括:第一类型的中断请求由中央处理单元CPU处理,第二类型的中断请求由协处理单元处理;所述中断源向所述中断请求对应的目标处理单元发送所述中断请求。
该目标处理单元包括所述协处理单元或所述中央处理单元。
该中断请求对应的目标处理单元,可以理解为目标处理单元接收该中断请求,进一步地,可以由目标处理单元处理触发该中断请求的系统事件。
在本申请实施例中,对于同一中断源而言,通过中断分发策略,将该中断源的不同类型的中断请求分配至不同的目标处理单元处理,即基于不同目标处理单元的处理能力,分配不同类型的中断,有利于提高目标处理单元处理系统事件的效率。
结合第三方面,在一种可能的实现方式中,所述中断分发策略包括中断分发表,所述中断分发表记录多种类型的中断请求与多个处理单元的映射关系,所述多个处理单元包括CPU和协处理单元。
结合第三方面,在一种可能的实现方式中,该中断分发表可以记录中断请求类型与路由信息的对应关系,路由信息用于将中断请求路由至目标处理单元,中断源在查询该中断分发表,确定中断请求对应的路由信息之后,可以根据确定后的路由信息对中断请求进行封装,使得中断请求可以基于该确定后的路由信息被路由至目标处理单元。
需要说明的是,该路由信息可以包括传输中断请求需要通过的端口的端口号,或者目标处理单元的路由地址等。
在本申请实施例中,对于同一中断源而言,通过中断分发表,将该中断源的不同类型的中断分配至不同的目标处理单元处理,即基于不同目标处理单元的处理能力,分配不同类型的中断,有利于提高目标处理单元处理系统事件的效率。
结合第三方面,在一种可能的实现方式中,所述第二类型的中断请求为故障类型的中断请求。
第四方面,提供一种计算设备处理中断的方法,该计算设备包括CPU、协处理单元和中断源,其中,CPU、协处理单元和中断源相互配合执行上述各方面中的方法。
第五方面,提供了一种处理中断的装置,所述装置包括用于执行上述各方法中的各个模块。
第六方面,提供一种计算设备,所述计算设备包括实现上述方法的CPU。该CPU具有的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件实现一个或多个与上述功能相对应的单元。
所述计算设备还可以包括实现上述方法的协处理单元。协处理单元具有的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件实现一个或多个与上述功能相对应的单元。
第七方面,提供一种计算设备,所述计算设备具有实现上述方法的中断源。中断源的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件实现一个或多个与上述功能相对应的单元。
第八方面,提供了一种CPU,CPU包括输入/输出接口、控制部件和寄存器。控制部件用于对指令译码,并且发出为完成每条指令所要执行的各个操作的控制信号,寄存器用于保存指令执行过程中临时存放的寄存器操作数和操作结果,输入输出接口用于接收输入的数据和信息,输出数据操作结果等数据。
第九方面,提供了一种协处理单元,协处理单元包括输入/输出接口、处理单元和寄存器。控制部件用于对指令译码,并且发出为完成每条指令所要执行的各个操作的控制信号,寄存器用于保存指令执行过程中临时存放的寄存器操作数和操作结果,输入输出接口用于接收输入的数据和信息,输出数据操作结果等数据。
第十方面,提供了一种中断源,中断源包括控制器、输入/输出接口和存储器。该控制器用于控制输入/输出接口接收输入的数据和信息,输出操作结果等数据。该存储器用于存储程序代码,该控制器用于从存储器中调用并运行该程序代码,使得该中断源执行上述方法中中断源的操作。
第十一方面,提供了一种计算设备,包括CPU、协处理单元和中断源,其中,CPU用于执行上述方法中CPU的操作,协处理单元用于执行上述方法中协处理单元的操作,中断源用于执行上述方法中中断源的操作。
第十二方面,提供了一种计算机程序产品,所述计算机程序产品包括程序代码。当所述程序代码在计算设备上运行时,使得计算设备执行上述各方面中的方法。
第十三方面,提供了一种计算机可读介质,所述计算机可读介质存储有程序代码。当所述程序代码在计算设备上运行时,使得计算设备执行上述各方面中的方法。
第十四方面,提供了一种芯片系统,该芯片系统设置在CPU中,用于CPU实现上述方面中所涉及的功能,例如,生成、接收、发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器用于保存芯片系统必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
第十五方面,提供了一种芯片系统,该芯片系统设置在协处理单元中,用于支持协处理单元实现上述方面中所涉及的功能,例如,生成、接收、发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器用于保存芯片系统必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
第十六方面,提供了一种芯片系统,该芯片系统设置在中断源中,用于支持中断源实现上述方面中所涉及的功能,例如,生成、接收、发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器用于保存芯片系统必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
附图说明
图1是本申请实施例适用的计算设备的示意性框图。
图2是处理系统事件的传统方法的示意性流程图。
图3是本申请实施例的处理中断的方法的示意性流程图。
图4是本申请另一实施例的处理中断的方法的示意性流程图。
图5是本申请另一实施例的处理中断的方法的示意性流程图。
图6是本申请另一实施例的处理中断的方法的示意性流程图。
图7是本申请实施例的处理中断的装置的示意性框图。
图8是本申请实施例的中央处理单元的示意性框图。
图9是本申请实施例的处理中断的装置的示意性框图。
图10是本申请实施例的协处理单元的示意性框图。
图11是本申请实施例的处理中断的装置的示意性框图。
图12是本申请实施例的中断源的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
图1是本申请实施例适用的计算设备的示意性框图。图1所示的计算设备100包括中央处理单元(central processing unit,CPU)110、协处理单元120、中断源130和存储器140。中央处理单元110、协处理单元120、中断源130和存储器140之间内部连接,例如可以通过总线连接。
应理解,该计算设备100可以是提供计算服务的设备,例如服务器。该计算设备100还可以是用于高速计算的电子计算机器,例如,计算机。本申请实施例对于计算设备的具体形式不做限定。
还应理解,图1所示的计算设备100中仅仅列出了与本申请实施例相关的部件,图1所示的计算设备100还可以包括其他部件,例如网卡,硬盘等,本申请实施例对此不作具体限定。
中央处理单元110,运行计算设备100的操作系统,以及在该操作系统中运行程序,例如应用程序。
具体地,中央处理单元110可以是一块大规模的集成电路,作为计算设备100的运算核心和控制核心。
需要说明的是,该中央处理单元110可以是一个芯片,还可以是一个芯片系统。若该中央处理单元110为一个芯片系统时,该芯片系统可以包括多个芯片。
协处理单元120,可以运行计算设备100中的部分程序。
可选地,协处理单元120可以是完成中央处理单元110无法执行或执行效率低下的操作任务的协处理单元(co-processor);例如,该协处理单元可以是图形处理单元(Graphics Processing Unit,GPU)或网络处理单元(Neural-network Processing Unit,NPU)等。
可选地,协处理单元120可以是计算设备100中的带外处理单元,例如,计算设备中的服务处理单元(service processor,SP)、片上系统(System on a Chip,Soc)中的处理单元等。
该协处理单元120可以通过芯片实现。例如,协处理单元120可以是一个芯片,或者可以是一个芯片系统。若该协处理单元120为一个芯片系统时,该芯片系统可以包括多个芯片。
中断源130,在计算设备100中能够发起中断请求。中断源130可以是计算设备100中的硬件设备,例如,I/O设备、数据通道、实时时钟或者用户故障源等。
可选地,该中断请求的具体体现形式可以是中断信号,或者中断信息等等。
存储器140,向中央处理单元和/或协处理单元提供指令和数据。存储器140可以包括只读存储器或随机存取存储器。
下文基于图1所示的计算设备100的架构图,结合图2说明计算设备100处理系统事件的传统方法。图2是处理系统事件的传统方法的示意性流程图。图2所示的方法包括步骤210至步骤220。
210,计算设备的中断源向中央处理单元发送中断请求。
该中断请求用于请求中央处理单元中断当前运行的应用程序,进入中断处理流程。
220,中央处理单元中断当前运行的程序,对系统事件进行处理。
具体地,中央处理单元在进入中断处理流程后,确定触发该中断请求的系统事件,并对该系统事件进行处理。
该系统事件可以是由系统活动产生的,并包括系统数据的一类业务事件。系统事件可以包括资源状态变化,阈值超限,或者非正常的系统状态和行为。例如,该系统事件可以指中断源需要向计算设备中软件系统发送中断源的当前状态,或者中断源需要通过计算设备中的软件系统运行特定的程序使得中断源进入工作状态。
图2所示方法中,计算设备中的所有中断源都是向中央处理单元发送中断请求,使得中央处理单元进入中断处理流程,处理中断请求对应的系统事件。处理中断请求的方式会占用中央处理单元的计算资源,使得中央处理单元在处理系统事件期间,无法运行被中断的应用程序或者OS,导致应用程序或者OS长时间无法提供服务,从而降低了计算设备的整体性能。
例如,当系统事件为通过软件系统为硬件系统进行动态配置时,CPU处理系统事件时所需的时间较长。CPU会在一段较长的时间内无法运行被中断的应用程序,降低了计算设备的整体性能。
又例如,系统事件指示为计算设备中的硬件进行配置,该系统事件触发的中断通常为系统管理中断(system management interrupt,SMI)。该系统事件是由基本输入输出系统(basic input/output system,BIOS)处理的系统事件,在BIOS处理系统事件的过程中,BIOS会抢夺OS对CPU的控制权。当BIOS占用CPU的时间较长时,OS由于长时间不能控制CPU,会造成业务中断或软件系统卡死。为了避免计算设备的业务中断或软件系统卡死,只能采用BIOS和OS之间交替控制CPU的方式,在一段时间内BIOS接管CPU处理系统事件,在另一段时间内OS接管CPU运行应用程序。这种BIOS和OS交替控制CPU的方式,使得计算设备需要不停切换BIOS和OS对CPU的控制权,也降低了计算设备的整体性能。
本申请提供一种处理中断的方法,该方法通过将计算设备中的全部或部分系统事件分配给协处理单元处理,避免了传统的中断处理方法中中央处理单元由于处理全部系统事件而长时间不能运行应用程序,有利于提高计算设备的整体性能。
下文结合图3至图5举例说明本申请实施例的处理中断的方法。
图3是本申请实施例的处理中断的方法的示意性流程图。应理解,图3所示的方法中的计算设备包括协处理单元和中央处理单元,具体的结构请参见图1。图3所示的方法包括步骤310至步骤330。
310,计算设备中的协处理单元接收中断源发送的中断请求。
具体地,该中断请求用于请求协处理单元中断当前运行的程序,进入中断处理过程。
需要说明的是,该中断请求可以是以中断信号或中断信息的方式进行传输。
一种可选实现方式,该中断请求以中断信号的方式进行传输。具体地,中断源与协处理单元单元之间电性连接,中断源通过该电性连接可以向协处理单元传输中断信号,从而该中断信号可以通过协处理单元的引脚发送至协处理单元。例如,在X86架构中,协处理单元为英特尔管理引擎(Intel management engine,Intel ME)或者基板管理控制器(baseboard management controller,BMC)中的SP时,该中断请求可以直接通过ME的引脚或者SP的引脚发送至ME或者SP。
一种可选实现方式,该中断请求以中断信息的方式进行传输。中断源可以将中断请求的路由信息中的目标节点配置为协处理单元,中断源可以以中断信息的方式向协处理单元传输发送该中断请求。
320,协处理单元获取触发所述中断请求的系统事件。
具体地,协处理单元进入中断处理流程后,可以获取中断请求对应的系统事件。例如,协处理单元可以通过中断请求中携带的中断号,确定发送该中断请求的中断源,并查询中断源的寄存器中记录的日志,从该日志获取中断源的运行状态,以从该运行状态中获取需要处理的系统事件。
该系统事件可以是由系统活动产生的,并包括系统数据的一类业务事件。系统事件可以包括资源状态变化,阈值超限,或者非正常的系统状态和行为。可选地,该系统事件可以指中断源需要向计算设备中软件系统发送中断源的当前状态,或者中断源需要通过计算设备中的软件系统运行特定的程序使得中断源进入工作状态。
330,所述协处理单元处理所述系统事件。
具体地,协处理单元可以运行处理系统事件所需的程序,以对系统事件进行处理。例如,中断源为网卡,系统事件为将网卡故障记录至网卡的日志中,则可以由协处理单元将网卡故障记录至网卡的日志中。
可选地,不同的协处理单元可以处理不同类型的系统事件。具体地,协处理单元为BMC时,可以处理记录中断源的运行状态的系统事件,例如,由BMC将该网卡故障的事件记录至网卡的日志中。
在本申请实施例中,计算设备中的中断源,可以将中断请求直接发送至协处理单元,请求协处理单元处理中断请求对应的系统事件,相对于由中央处理单元处理计算设备中全部的系统事件的传统方案而言,避免了中央处理单元因处理系统事件而在一段较长的时间内不能运行应用程序或者OS,中央处理单元可以在协处理单元处理系统事件的器件继续运行应用程序或OS,提高了计算设备的整体性能。
可选地,作为一个实施例,所述方法还包括:所述协处理单元根据所述中断请求进入中断;所述协处理单元在处理完所述系统事件时,退出所述中断。
该协处理单元在处理完所述系统事件时,退出中断,继续运行之前被中断的程序。即,在协处理单元代替中央处理单元分担处理系统事件后,可以继续运行协处理单元先前中断的程序。
可选地,作为一个实施例,所述方法还包括:所述中断源生成中断请求;所述中断源查询中断分发策略确定所述中断请求对应的目标处理单元,所述中断分发策略包括:第一类型的中断请求由CPU处理,第二类型的中断请求由协处理单元处理;所述中断请求为所述第二类型的中断请求时,执行步骤310。
需要说明的是,该中断请求为所述第二类型的中断请求时,第二类型的中断请求由协处理单元处理,同时协处理单元具有处理第二类型的中断请求的能力。可选地,CPU也可以具有处理第二类型的中断请求的能力。
该第一类型的中断请求由中央处理单元CPU处理,同时CPU具有处理第一类型的中断请求的能力。可选地,协处理单元可能不具有处理第一类型的中断请求的能力。例如,协处理单元无法获取触发该第一类型的中断请求的系统事件,因此,无法处理该系统事件。
在本申请实施例中,对于同一中断源而言,通过中断分发策略,将该中断源的不同类型的中断请求分配至不同的目标处理单元处理。例如,基于不同目标处理单元的处理能力,分配不同类型的中断。从而有利于提高目标处理单元处理系统事件的效率。
可选地,所述中断分发策略可以以中断分发表的形式,该中断分发表用于记录多种类型的中断请求与多个处理单元的映射关系,所述多种类型包括所述第一类型和所述第二类型,所述多个处理单元包括所述中央处理单元和所述协处理单元。
该中断分发表可以记录中断请求类型与路由信息的对应关系,路由信息用于将中断请求路由至目标处理单元。中断源可以查询该中断分发表来确定中断请求对应的路由信息,可以基于该确定后的路由信息路由该中断请求至目标处理单元。
需要说明的是,该路由信息可以包括传输中断请求需要通过的端口的端口号,或者目标处理单元的路由地址等。一种可能的替换实施方式,在计算设备的中断源与处理该中断源产生的系统事件的目标处理器为一一对应的情况下,中断源可以不存储该中断分发表,而直接将中断请求发送至该中断源对应的目标处理单元。
可选地,该第二类型的中断请求为故障类型的中断请求。如果该中断源检测到自身出了故障,该第二类型指示该中断源的故障类型。如果该中断源用于检测其它设备或者检测计算设备的其它器件,则该第二类型指示该中断源检测的故障类型。
下文基于图1所示的计算设备100的示意性框图,结合图4介绍本申请另一实施例的处理中断的方法。
图4是本申请实施例的处理中断的方法的示意性流程图。图4所示的方法包括步骤410至步骤430。需要说明的是,图4所示的方法中使用的名词描述与图3所示的方法中使用的名词描述是相同的,可以理解为具有相同的含义,为了简洁,在图4所示的方法中不做具体介绍。
410,中央处理单元接收中断源发送的中断请求。
具体地,中央处理单元接收到中断请求后,中断当前运行的程序,进入中断处理流程。
420,所述中央处理单元获取触发所述中断请求的系统事件。
具体地,中央处理单元在进入中断处理流程后,可以根据中断请求获取触发中断请求的系统事件。例如,中央处理单元可以通过中断请求中携带的中断号,确定发送该中断请求的中断源,并查询中断源的寄存器中记录的日志,从该日志获取中断源的运行状态,以从该运行状态中获取需要处理的系统事件。
430,所述中央处理单元指示所述协处理单元处理所述系统事件。
可选地,中央处理单元可以通过查询事件分发策略,确定处理系统事件的协处理单元,所述事件分发策略用于指示处理系统事件的协处理单元,事件分发策略中包含多种类型的系统事件与多个协处理单元的映射关系。从而中央处理单元可以向确定后的协处理单元发送系统事件。
应理解,上述事件分发策略可以是中央处理器出厂时预设的,还可以是用户在使用过程中配置的。
在本申请实施例中,中央处理单元可以通过事件分发策略,将不同类型的系统事件分配至不同的协处理单元处理。例如,基于不同协处理单元的处理能力,分配不同类型的系统事件。从而提高了协处理单元处理系统事件的效率。
可选地,该事件分发策略可以以事件分发表的形式体现,事件分发表记录多种类型的系统事件与多个协处理单元的映射关系。
一种可能的具体实现方式,该事件分发表可以记录系统事件的类型与路由信息的对应关系,路由信息用于将系统事件路由至协处理单元。中央处理单元可以查询该事件分发表来确定系统事件对应的路由信息,并可以基于确定后的路由信息将该系统事件路由至对应的协处理单元。
需要说明的是,该路由信息可以包括传输系统事件通过的端口的端口号,或者协处理单元的路由地址等。
例如,系统事件为处理记录中断源的运行状态时,中央处理单元可以指示处理该系统事件的协处理单元为BMC。
在本申请实施例中,通过中央处理单元指示协处理单元处理系统事件,相对于中央处理单元处理计算设备中全部系统事件的方案而言,避免了中央处理单元因处理系统事件而在处理该系统事件的一段较长的时间内不能运行应用程序或OS,提高了计算设备的整体性能。
可选地,中央处理单元还可以根据以下三种预设规则确定是否指示协处理单元处理系统事件,其中,预设规则一,中央处理单元根据系统事件的类型确定是否指示协处理单元处理系统事件;预设规则二,中央处理单元的负载高于目标门限时,指示协处理单元处理系统事件;预设规则三,中央处理单元指示协处理单元处理系统事件中的子事件,以便与协处理单元协同处理系统事件。
下文基于该预设规则一,描述本申请实施例中处理中断请求的方法。
作为实现步骤430的一个可能实施方式,所述中央处理单元在所述系统事件的类型为目标类型时,可以指示所述协处理单元处理所述系统事件,所述目标类型指示所述协处理单元处理具有所述目标类型的系统事件。
具体地,该目标类型指示协处理单元处理具有目标类型的系统事件,并且协处理单元也具有处理目标类型的系统事件的能力。
例如,该系统事件为记录读数据时的可纠正错误时,仅仅需要将该读数据时的可纠正错误记录在日志中。这种实现将读数据时的可纠正错误记录在日志中的系统事件,可以由协处理单元单独处理。因此,该记录读数据时的可纠正错误的系统事件的类型为目标类型。
应理解,该目标类型的系统事件包括多个子事件时,多个子事件中的至少一个子事件可以分配给协处理单元处理。
若所述系统事件的类型为所述目标类型,所述系统事件包括多个子事件,在该步骤430中,所述中央处理单元可以指示所述协处理单元处理所述多个子事件中的至少一个子事件。可选地,该多个子事件中未指示给所述协处理单元的子事件,可以由中央处理单元进行处理。
具体地,该多个子事件中未指示给所述协处理单元的子事件可以包括多个子事件中除至少一个子事件之外的子事件。
在中央处理单元和协处理单元协同处理系统事件的过程中,中央处理单元和协处理单元分别处理的子事件,可以通过预设的处理规则确定。例如,预设的处理规则可以设置为协处理单元处理该多个子事件中的第一类子事件,第一类子事件是指该多个子事件中满足目标类型的子事件;该多个子事件中的该至少一个子事件满足目标类型,属于该第一类子事件;预设规则可以设置为中央处理单元处理该多个子事件中的第二类子事件,该第二类子事件是指该多个子事件中未指示给所述协处理单元的子事件,即该多个子事件中除该至少一个子事件之外的子事件。
一种可能设计,目标类型是指可以由协处理单元处理。该第一类子事件可以为由协处理单元处理的子事件,该第二类子事件可以为必须由中央处理单元处理的子事件。
由协处理单元处理该满足目标类型的第一类子事件,由中央处理单元处理该多个子事件中未指示给所述协处理单元的第二类子事件,即由协处理单元和中央处理单元协同处理系统事件,有利于减小中央处理单元处理系统事件的时间,提高计算设备的整体性能。
还应理解,本申请实施例对该第一类子事件和该第二类子事件在处理的时间上的先后关系不做限定,例如,第一类子事件包括的多个子事件与第二类子事件包括的多个子事件在处理时间上可以交叉进行。
下文基于该预设规则二,描述本申请实施例中处理中断请求的方法。
作为实现步骤430的一个可能实施方式,所述CPU获取所述CPU的当前负载信息;所述CPU在所述当前负载信息所指示的所述CPU的负载高于目标门限时,指示所述协处理单元处理所述系统事件。
具体地,该CPU的负载高于目标门限时,可以理解为CPU当前的负载处于高负载状态。
需要说明的是,该CPU的负载具体可以通过CPU的计算资源的占用率,CPU的存储资源的占用率,或者CPU待处理的任务的数量等参数体现。本申请实施例对CPU的负载的具体体现形式不做限定。
还应理解,该目标门限可以是预设的,例如可以是CPU在出厂时预设的,还可以是用户在使用CPU的过程中设置的。本申请实施例对此不做具体限定。
在本申请实施例中,在CPU的负载高于目标门限时,CPU可以指示协处理单元处理系统事件,虽然由协处理单元处理系统事件,可能会降低处理系统事件的效率,但是避免了CPU为处理系统事件而中断当前运行的应用程序或OS,有利于提高计算设备的效率。
可选地,若所述CPU在所述当前负载信息所指示的所述CPU的负载低于或等于目标门限时,CPU处理触发所述中断请求的系统事件。
也就是说,在CPU的负载低于或等于该目标门限时,CPU可以自己处理系统事件。
在CPU的负载低于或等于目标门限时,CPU处理系统事件的效率,相对于协处理单元处理系统事件的效率而言较高。因此,当CPU的负载低于或等于目标门限时,可以由CPU自己处理系统事件,有利于提高处理系统事件的效率。
可选地,该预设规则一和预设规则二还可以结合使用,例如,在CPU的负载高于目标门限,且系统事件的类型为该目标类型时,CPU可以指示协处理单元处理系统事件。
需要说明的是,CPU可以指示协处理单元处理系统事件,可以理解为,协处理单元可以执行处理系统事件所需的全部操作;或者说,当系统事件包括多个子事件时,CPU可以指示协处理单元处理多个子事件中的至少一个子事件。
关于协处理单元可以执行处理目系统事件所需的全部操作,或者协处理单元处理至少一个子事件的情况,可以参见上文中关于预设规则一中的细节描述,为了简洁,在此不做赘述。
下文基于该预设规则三,描述本申请实施例中处理中断请求的方法。
作为实现步骤430的一个可能实施方式,所述系统事件包括多个子事件,所述CPU指示所述协处理单元处理所述多个子事件中的至少一个子事件。可选地,该多个子事件中除至少一个子事件之外的子事件,可以由中央处理单元进行处理。
在中央处理单元和协处理单元协同处理系统事件的过程中,中央处理单元和协处理单元分别处理的子事件,可以通过预设的处理规则确定。例如,预设的处理规则可以设置为协处理单元处理该多个子事件中的第一类子事件,第一类子事件包括该至少一个子事件;预设的系统事件处理规则可以设置为中央处理单元处理该多个子事件中的第二类子事件,该第二类子事件包括该多个子事件中除该至少一个子事件之外的子事件。
一种可能设计,该第一类子事件可以为协处理单元有能力处理的子事件,该第二类子事件可以为协处理单元不能处理的子事件。其中,协处理单元不能处理的子事件可以指协处理单元不具有处理子事件的权限,或者协处理单元不具有处理子事件的机制,本申请实施例对于协处理单元不能处理的子事件的具体原因不做限定。
可选地,作为一个实施例,该预设规则三可以与预设规则二结合使用,,所述方法还包括:所述CPU获取所述CPU的当前负载信息;所述CPU在所述当前负载信息所指示的所述CPU的负载高于目标门限时,从所述多个子事件中选择出至少一个子事件。进而,所述CPU指示所述协处理单元处理选择出的所述至少一个子事件。
应理解,上文中关于预设规则二的详细描述,适用于在本申请实施例中预设规则三与预设规则二结合使用的方案,为了简洁,在此不再赘述。
可选地,作为一个实施例,该预设规则三还可以结合预设规则一使用,在所述方法还包括:所述CPU从所述多个子事件中选择与目标类型匹配的至少一个子事件,所述目标类型指示所述协处理单元处理具有所述目标类型的子事件。进而,所述CPU指示所述协处理单元处理选择出的所述至少一个子事件。
具体地,该目标类型的子事件与上文中描述的目标类型的子事件的性质相同,即都属于协处理单元有能力处理的子事件。
需要说明的是,该目标类型的子事件可以是预存的。例如,在CPU出厂时,该目标类型的子事件可以集成在计算设备内部或者CPU内部,以便于CPU从待处理的系统事件中的查找出目标类型的子事件。
下文基于图1所示的计算设备100的示意性框图,结合图5介绍本申请另一实施例的处理中断的方法。
图5是本申请实施例的处理中断的方法的示意性流程图。图5所示的方法包括步骤510至步骤530。需要说明的是,图5所示的方法中的名词描述,或者实现方法的具体方式可以参见图3和图4中的相关描述,为了简洁,在图5所示的方法中不做具体介绍。
510,中央处理单元接收中断源发送的中断请求。
520,中央处理单元直接向协处理单元转发该中断请求,由协处理单元处理触发该中断请求的系统事件。
具体地,中央处理单元将中断请求转发至协处理单元,当协处理单元接收到该中断请求后,可以基于该中断请求确定触发该中断请求的系统事件,并对该系统事件进行处理。
需要说明的是,该基于该中断请求确定触发该中断请求的系统事件的具体过程可以参见上文中描述的协处理单元确定触发中断请求的系统事件的具体过程。
可选地,该中断请求可以以中断信号或中断信息,由中央处理单元向协处理单元传输,以指示所述协处理单元处理中断请求对应的所述系统事件。
一种可选实施方式,该中断请求以中断信息的方式传输时,中断信息中可以携带触发该中断请求的系统事件,协处理单元可以直接从中断信息中获取系统事件,无需再通过现有技术中中央处理单元获取系统事件的方式获取系统事件。有利于简化协处理单元获取系统事件的步骤。
另一方面,通过在中断信息中携带触发该中断请求的系统事件,避免了协处理单元由于无法获取系统事件而导致无法处理系统事件的情况,提高了协处理单元处理系统事件的可能性。
一种可选实施方式,该中断请求以中断信息的方式传输时,该中断信息也可以与中断信号的作用相同,仅仅通知协处理单元进入中断处理程序,而不指示协处理单元系统事件的内容,此时,协处理单元需要采用现有技术中中央处理单元获取系统事件的方式,获取系统事件。
通过减少中断信息中携带的信息的内容,以减小传输中断信息造成的信令开销。
在本申请实施例中,可以不用改进中断源与协处理单元之间的硬件连接,通过CPU向协处理单元转发中断请求的方式,使得协处理单元处理触发该中断请求的系统事件。
作为实现步骤520的一个可能的实现方式,中央处理单元在CPU的负载高于目标门限时,直接向协处理单元转发该中断请求。
在步骤520之前,该方法还包括:CPU查询中断转发策略,确定处理系统事件的协处理单元,所述中断转发策略用于指示处理系统事件的目标处理单元,在CPU确定所述中断请求对应的目标处理单元为该协处理单元时,执行步骤520。
具体地,该中断转发策略还用于指示多种类型的中断请求与多个协处理单元的映射关系,即,中断转发策略记录处理多种类型的中断请求中不同类型的中断请求的协处理单元。
该目标处理单元为可以处理该中断请求的协处理单元。
应理解,上述事件分发策略可以是中央处理器出厂时预设的,还可以是用户在使用过程中配置的。
在本申请实施例中,CPU通过中断转发策略,将该不同类型的中断请求分配至不同的目标处理单元处理,即基于不同目标处理单元的处理能力,分配不同类型的系统事件,有利于提高目标处理单元处理系统事件的效率。
可选地,该中断转发策略可以通过中断转发表的形式体现。具体地,中断转发表可以记录中断请求类型与路由信息的对应关系,路由信息用于将中断请求路由至目标处理单元。CPU可以查询该中断转发表来确定中断请求对应的路由信息,可以基于该确定后的路由信息路由该中断请求至目标处理单元。
需要说明的是,该路由信息可以包括传输中断请求需要通过的端口的端口号,或者目标处理单元的路由地址等。
需要说明的是,该中断转发表可以存储在计算设备的存储器中。
一种可能实施方式,在计算设备中处理系统事件的目标处理单元的数量为1的情况下,即只有一个协处理单元可以处理系统事件时,CPU可以不存储该中断转发策略,而直接将中断请求发送至该协处理单元。
下文结合图6,以基于在线为计算设备增加内存条产生的系统事件为例,说明中央处理单元和协处理单元协同处理系统事件的方法。具体地处理系统事件的过程可以划分为4个处理流程:为内存条供电,初始化内存条,为内存条分配物理地址以及通知OS使用该内存条。
图6是本申请实施例的中央处理单元和协处理单元协同处理系统事件的方法的示意性流程图。图6所示的方法包括步骤610至步骤611。
处理流程一,为内存条供电。
601,协处理单元接收中央处理单元发送的IPMI消息,IPMI消息用于指示协处理单元为处理系统事件而中断当前运行的程序。
602,协处理单元基于该预设规则,确定处理该系统事件的过程中协处理单元需要向新增的内存条供电。
具体地,该协处理单元可以是BMC上的SP。
603,协处理单元为内存条供电。
604,协处理单元通知中央处理单元该为内存条供电的操作完成。
具体地,协处理单元操作在寄存器中的状态位,通过该状态位指示内存条供电的操作完成,之后协处理单元向中央处理单元发送执行完成信息。中央处理单元在收到执行完成信息,查询该寄存器中的状态位,获知内存条已供电。
需要说明的是,该供中央处理单元查询的状态位可以是协处理单元和中央处理单元预先预定的,用于指示内存条供电的操作是否完成的状态位。
应理解,该执行完成信息可以是中断信号,具体地,协处理单元可以通过平台控制芯片(Platform Controller Hub,PCH)上的通用输入/输出(General Purpose InputOutput,GPIO)管脚触发该中断信号。
605,内存条被上电成功后会使对应的上电状态位变为有效,协处理单元会读取到该有效的上电状态。
处理流程二,初始化内存条。
606,协处理单元执行初始化内存条的操作。
具体地,初始化内存条的操作可以包括为内存条和内存数据总线配置电气参数以及对内存条进行自检等操作。
需要说明的是,该协处理单元完成初始化内存条的操作后,通知中央处理单元的方式可以参见该处理流程一中协处理单元通知中央处理单元的方式,为了简洁,在此不再赘述。
在本申请实施例中,初始化内存条的过程占用的时间较长,由于协处理单元代替中央处理单元初始化内存条,中央处理单元可以较长时间不受该系统事件(用于初始化内存条)的影响,中央处理单元可以在这段时间执行应用程序,有利于提高计算设备的整体性能。
处理流程三,为内存条分配物理地址。
607,协处理单元将内存条的内存地址写入中央处理单元的影子寄存器(shadowregister)。
608,协处理单元通知中央处理单元内存条的内存地址已经写入中央处理单元的影子寄存器中。
需要说明的是,该协处理单元通知中央处理单元的方式可以参见该处理流程一中协处理单元通知中央处理单元的方式,为了简洁,在此不再赘述。
609,中央处理单元发起静默流程。
具体地,所谓静默流程可以指中央处理单元通知计算设备中所有的中央处理单元、缓存、内存控制器暂定动作,以便中央处理单元把影子寄存器的数据拷贝到有实际控制功能的寄存器里,以及内存控制器可以基于寄存器中的数据建立内存地址和物理地址之间的映射关系。
610,中央处理单元发起解除静默通知,计算设备中的中央处理单元、缓存、内存控制器恢复运转。
需要说明的是,基于当前的计算设备架构,静默过程需要中央处理单元发出特殊的广播消息,因此属于只能由中央处理单元执行的操作。
处理流程四,BIOS通知OS使用该内存条。
611,在中央处理单元中运行的BIOS通知OS使用内存条。
需要说明的是,因为BIOS需要在中央处理单元中运行,因此步骤611只能由中央处理单元处理。
上文结合图1至图6详细介绍了本申请实施例的处理中断的方法,下文结合图7至图12详细地描述本申请实施例的处理中断的装置。需要说明的是,图7至图12所示的装置可以实现该方法中各个步骤,为了简洁,在此不再赘述。
图7是本申请实施例的处理中断的装置的示意性框图。图7所示的装置700可以是计算设备中的CPU,图7所述装置包括:接收模块710和处理模块720。
接收模块710,用于接收中断请求;
处理模块720,用于获取所述中断请求对应的系统事件,所述系统事件包括所述中断请求的处理信息;
所述处理模块720,用于指示协处理单元处理所述系统事件。
可选地,作为一个实施例,所述处理模块720,具体用于:获取所述CPU的当前负载信息;在所述当前负载信息所指示的所述CPU的负载高于目标门限时,指示所述协处理单元处理所述系统事件。
可选地,作为一个实施例,所述处理模块720,具体用于:在所述系统事件的类型为目标类型时,指示所述协处理单元处理所述系统事件,所述目标类型指示所述协处理单元处理具有所述目标类型的系统事件。
可选地,作为一个实施例,所述系统事件包括多个子事件,所述处理模块720,具体用于指示所述协处理单元处理所述多个子事件中的至少一个子事件。
可选地,作为一个实施例,所述处理模块720,还用于:获取所述CPU的当前负载信息;在所述当前负载信息所指示的所述CPU的负载高于目标门限时,从所述多个子事件中选择所述至少一个子事件。
可选地,作为一个实施例,所述处理模块720,还用于:从所述多个子事件中选择与目标类型匹配的子事件,所述与目标类型匹配的子事件为所述至少一个子事件,所述目标类型指示所述协处理单元处理具有所述目标类型的子事件。
可选地,作为一个实施例,所述处理模块720,还用于处理所述多个子事件中除所述至少一个子事件之外的子事件。
可选地,作为一个实施例,所述处理模块720,还用于:根据所述中断请求进入中断;在处理完所述多个子事件中除所述至少一个子事件之外的子事件时,退出所述中断。
在可选地实施例中,该接收模块710可以为中央处理单元中的输入输出接口810,该处理模块720可以为中央处理单元中的控制部件820,中央处理单元800还包括寄存器部件830,具体如图8所示。
图8是本申请实施例的中央处理单元的示意性框图。图8所示的中央处理单元可以包括输入输出接口810,控制部件820和寄存器部件830。其中,输入输出接口810,控制部件820,和寄存器830通过内部连接通路相连,控制部件用于对指令译码,并且发出为完成每条指令所要执行的各个操作的控制信号,寄存器部件用于保存指令执行过程中临时存放的寄存器操作数和操作结果,输入输出接口用于接收输入的数据和信息,输出数据操作结果等数据。
需要说明的是,该寄存器部件中可以包括至少一个寄存器,具体地,寄存器部件可以包括寄存器、专用寄存器和控制寄存器中的至少一种。
在实现过程中,该方法的各步骤可以通过计算设备的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法可以直接体现为硬件中央处理单元执行完成,或者用中央处理单元中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质可以位于计算设备中的存储器中,中央处理单元读取存储器中的信息,结合其硬件完成该方法的步骤。为避免重复,这里不再详细描述。
图9是本申请实施例的处理中断的装置的示意性框图。图9所示的装置900包括获取模块910、处理模块920和接收模块930。
获取模块910,用于获取中央处理单元CPU指示所述协处理单元处理的系统事件,所述CPU指示的系统事件为所述CPU在接收到中断请求时获取的与所述中断请求对应的系统事件,所述系统事件包括所述中断请求的处理信息;
处理模块920,还用于处理获取的系统事件。
可选地,作为一个实施例,接收模块930,用于接收中断源发送的中断请求;获取模块930,还用于获取与所述协处理单元接收的中断请求对应的系统事件。
在可选地实施例中,该接收模块930可以为协处理单元中的输入输出接口1010,该处理模块920和获取模块930可以为协处理单元中的控制部件1020,协处理单元1000还包括寄存器部件1030,具体如图10所示。
图10是本申请实施例的协处理单元的示意性框图。图10所示的协处理单元1000可以包括输入输出接口1010,控制部件1020和寄存器部件1030。其中,输入输出接口1010,控制部件1020,和寄存器1030通过内部连接通路相连,控制部件用于对指令译码,并且发出为完成每条指令所要执行的各个操作的控制信号,寄存器用于保存指令执行过程中临时存放的寄存器操作数和操作结果,输入输出接口用于接收输入的数据和信息,输出数据操作结果等数据。
需要说明的是,该寄存器部件中可以包括至少一个寄存器,具体地,寄存器部件可以包括寄存器、专用寄存器和控制寄存器中的至少一种。
在实现过程中,该方法的各步骤可以通过计算设备中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法可以直接体现为硬件协处理单元执行完成,或者用协处理单元中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于计算设备的存储器中,协处理单元读取存储器中的信息,结合其硬件完成该方法的步骤。为避免重复,这里不再详细描述。
图11是本申请实施例的处理中断的装置的示意性框图,图11所示的装置1100包括:生成模块1111、处理模块1120和发送模块1130。
生成模块1110,用于生成中断请求;
处理模块1120,用于查询中断分发策略确定所述中断请求对应的目标处理单元,所述中断分发策略包括:第一类型的中断请求由中央处理单元CPU处理,第二类型的中断请求由协处理单元处理;
发送模块1130,用于向所述中断请求对应的目标处理单元发送所述中断请求。
可选地,作为一个实施例,所述第二类型的中断请求为故障类型的中断请求。
在可选的实施例中,该装置1100还可以是中断源1200,具体地,该生成模块1110和处理模块1120可以为控制器1210,所述发送模块1130可以为输入输出接口1220,具体如图12所示。
图12是本申请实施例的中断源的示意性框图。图12所示的中断源1200可以包括:控制器1210和输入/输出接口1220。其中,控制器1210和输入/输出接口1220通过内部连接通路相连,该控制器用于控制输入/输出接口接收输入的数据和信息,输出操作结果等数据。
需要说明的是,图12所示的控制器1210可以位于中断源内部,还可以理解为对中断源进行控制的控制器,即可以与中断源是两个分离的器件。
应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请的各种实施例中,该各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在该实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括程序代码。在计算机上加载和执行所述程序代码时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DigitalSubscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够读取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(DigitalVideo Disc,DVD))或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (24)

1.一种处理中断的方法,其特征在于,包括:
中央处理单元CPU接收中断请求;
所述CPU获取触发所述中断请求的系统事件;
所述CPU指示协处理单元处理所述系统事件。
2.如权利要求1所述的方法,其特征在于,所述CPU指示所述协处理单元处理所述系统事件,包括:
所述CPU获取所述CPU的当前负载信息;
所述CPU在所述当前负载信息所指示的所述CPU的负载高于目标门限时,指示所述协处理单元处理所述系统事件。
3.如权利要求1所述的方法,其特征在于,所述CPU指示所述协处理单元处理所述系统事件,包括:
所述CPU在所述系统事件的类型为目标类型时,指示所述协处理单元处理所述系统事件,所述目标类型指示所述协处理单元处理具有所述目标类型的系统事件。
4.如权利要求1所述的方法,其特征在于,所述系统事件包括多个子事件,
所述CPU指示所述协处理单元处理所述系统事件,包括:
所述CPU指示所述协处理单元处理所述多个子事件中的至少一个子事件。
5.如权利要求4所述的方法,其特征在于,在所述CPU指示所述协处理单元处理所述多个子事件中的至少一个子事件之前,所述方法还包括:
所述CPU获取所述CPU的当前负载信息;
所述CPU在所述当前负载信息所指示的所述CPU的负载高于目标门限时,从所述多个子事件中选择所述至少一个子事件。
6.如权利要求4所述的方法,其特征在于,在所述CPU指示协处理单元处理所述多个子事件中的至少一个子事件之前,所述方法还包括:
所述CPU从所述多个子事件中选择与目标类型匹配的子事件,所述与目标类型匹配的子事件为所述至少一个子事件,所述目标类型指示所述协处理单元处理具有所述目标类型的子事件。
7.如权利要求4至6任一项所述的方法,其特征在于,所述方法还包括:
所述CPU处理所述多个子事件中未指示给所述协处理单元的子事件。
8.如权利要求4至7任一项所述的方法,其特征在于,所述方法还包括:
所述CPU根据所述中断请求进入中断;
所述CPU在处理完所述多个子事件中未指示给所述协处理单元的子事件时,退出所述中断。
9.一种处理中断的方法,其特征在于,包括:
中断源生成中断请求;
所述中断源查询中断分发策略确定所述中断请求对应的目标处理单元,所述中断分发策略包括:第一类型的中断请求由中央处理单元CPU处理,第二类型的中断请求由协处理单元处理;
所述中断源向所述中断请求对应的目标处理单元发送所述中断请求。
10.如权利要求9所述的方法,其特征在于,所述第二类型的中断请求为故障类型的中断请求。
11.一种处理中断的装置,其特征在于,包括:
接收模块,用于接收中断请求;
处理模块,用于获取触发所述中断请求的系统事件;
所述处理模块,用于指示协处理单元处理所述系统事件。
12.如权利要求11所述的装置,其特征在于,所述处理模块,具体用于:
获取所述CPU的当前负载信息;
在所述当前负载信息所指示的所述CPU的负载高于目标门限时,指示所述协处理单元处理所述系统事件。
13.如权利要求11所述的装置,其特征在于,所述处理模块,具体用于:
在所述系统事件的类型为目标类型时,指示所述协处理单元处理所述系统事件,所述目标类型指示所述协处理单元处理具有所述目标类型的系统事件。
14.如权利要求11所述的装置,其特征在于,所述系统事件包括多个子事件,
所述处理模块,具体用于指示所述协处理单元处理所述多个子事件中的至少一个子事件。
15.如权利要求14所述的装置,其特征在于,所述处理模块,还用于:
获取所述CPU的当前负载信息;
在所述当前负载信息所指示的所述CPU的负载高于目标门限时,从所述多个子事件中选择所述至少一个子事件。
16.如权利要求14所述的装置,其特征在于,所述处理模块,还用于:
从所述多个子事件中选择与目标类型匹配的子事件,所述与目标类型匹配的子事件为所述至少一个子事件,所述目标类型指示所述协处理单元处理具有所述目标类型的子事件。
17.如权利要求14至16任一项所述的装置,其特征在于,所述处理模块,还用于处理所述多个子事件中未指示给所述协处理单元的子事件。
18.如权利要求14至17任一项所述的装置,其特征在于,所述处理模块,还用于:
根据所述中断请求进入中断;
在处理完所述多个子事件中未指示给所述协处理单元的子事件时,退出所述中断。
19.一种处理中断的装置,其特征在于,包括:
生成模块,用于生成中断请求;
处理模块,用于查询中断分发策略确定所述中断请求对应的目标处理单元,所述中断分发策略包括:第一类型的中断请求由中央处理单元CPU处理,第二类型的中断请求由协处理单元处理;
发送模块,用于向所述中断请求对应的目标处理单元发送所述中断请求。
20.如权利要求19所述的装置,其特征在于,所述第二类型的中断请求为故障类型的中断请求。
21.一种中央处理单元CPU,其特征在于,所述中央处理单元执行程序代码来实现权利要求1-8中任一项所述的方法。
22.一种中断源,其特征在于,所述中断源执行程序代码来实现权利要求9或10所述的方法。
23.一种计算机可读介质,所述计算机可读介质存储有程序代码;当所述程序代码在计算设备上运行时,使得所述计算设备执行权利要求1-8中任一项所述的方法。
24.一种计算机可读介质,所述计算机可读介质存储有程序代码;当所述程序代码在计算设备上运行时,使得所述计算设备执行权利要求9或10中任一项所述的方法。
CN201880003669.2A 2018-03-07 2018-03-07 处理中断的方法和装置 Pending CN109791503A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/078331 WO2019169582A1 (zh) 2018-03-07 2018-03-07 处理中断的方法和装置

Publications (1)

Publication Number Publication Date
CN109791503A true CN109791503A (zh) 2019-05-21

Family

ID=66500722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880003669.2A Pending CN109791503A (zh) 2018-03-07 2018-03-07 处理中断的方法和装置

Country Status (2)

Country Link
CN (1) CN109791503A (zh)
WO (1) WO2019169582A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113076213A (zh) * 2021-03-30 2021-07-06 山东英信计算机技术有限公司 一种优化系统管理中断处理硬件错误时间的方法及系统
CN114281492A (zh) * 2021-11-12 2022-04-05 北京智芯微电子科技有限公司 中断处理方法、装置、芯片、电子设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1140857A (zh) * 1995-04-28 1997-01-22 松下电器产业株式会社 装有高效利用主处理器中的寄存器数据的协处理器的信息处理装置
US6189065B1 (en) * 1998-09-28 2001-02-13 International Business Machines Corporation Method and apparatus for interrupt load balancing for powerPC processors
CN101159765A (zh) * 2006-10-06 2008-04-09 英特尔公司 网络接口技术
CN101246438A (zh) * 2008-03-07 2008-08-20 中兴通讯股份有限公司 一种对称多处理系统中进程与中断的处理方法及装置
CN101308469A (zh) * 2008-07-07 2008-11-19 华为技术有限公司 一种软中断负载均衡的实现方法及设备
CN101354664A (zh) * 2008-08-19 2009-01-28 中兴通讯股份有限公司 多核处理器中断负载均衡方法和装置
CN101419278A (zh) * 2008-12-05 2009-04-29 航天恒星科技有限公司 多通道高速遥感数据采集处理设备
US20160342543A1 (en) * 2015-05-21 2016-11-24 Red Hat Israel, Ltd. Sharing message-signaled interrupt vectors in multi-processor computer systems

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1140857A (zh) * 1995-04-28 1997-01-22 松下电器产业株式会社 装有高效利用主处理器中的寄存器数据的协处理器的信息处理装置
US6189065B1 (en) * 1998-09-28 2001-02-13 International Business Machines Corporation Method and apparatus for interrupt load balancing for powerPC processors
CN101159765A (zh) * 2006-10-06 2008-04-09 英特尔公司 网络接口技术
CN101246438A (zh) * 2008-03-07 2008-08-20 中兴通讯股份有限公司 一种对称多处理系统中进程与中断的处理方法及装置
CN101308469A (zh) * 2008-07-07 2008-11-19 华为技术有限公司 一种软中断负载均衡的实现方法及设备
CN101354664A (zh) * 2008-08-19 2009-01-28 中兴通讯股份有限公司 多核处理器中断负载均衡方法和装置
CN101419278A (zh) * 2008-12-05 2009-04-29 航天恒星科技有限公司 多通道高速遥感数据采集处理设备
US20160342543A1 (en) * 2015-05-21 2016-11-24 Red Hat Israel, Ltd. Sharing message-signaled interrupt vectors in multi-processor computer systems

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113076213A (zh) * 2021-03-30 2021-07-06 山东英信计算机技术有限公司 一种优化系统管理中断处理硬件错误时间的方法及系统
CN113076213B (zh) * 2021-03-30 2022-05-27 山东英信计算机技术有限公司 一种优化系统管理中断处理硬件错误时间的方法及系统
CN114281492A (zh) * 2021-11-12 2022-04-05 北京智芯微电子科技有限公司 中断处理方法、装置、芯片、电子设备及存储介质

Also Published As

Publication number Publication date
WO2019169582A1 (zh) 2019-09-12

Similar Documents

Publication Publication Date Title
US11546189B2 (en) Access node for data centers
US10621138B2 (en) Network communications using pooled memory in rack-scale architecture
CN104871493B (zh) 用于高性能计算网络中的通信信道故障切换的方法和设备
US8799564B2 (en) Efficiently implementing a plurality of finite state machines
KR101713405B1 (ko) 한정된 시스템 내에서 네트워크 데이터 흐름을 최적화하는 방법
CN110313163A (zh) 分布式计算系统中的负载平衡
US9866548B2 (en) Authentication-free configuration for service controllers
CN105242872B (zh) 一种面向虚拟集群的共享存储系统
US10007629B2 (en) Inter-processor bus link and switch chip failure recovery
US8612973B2 (en) Method and system for handling interrupts within computer system during hardware resource migration
US9736011B2 (en) Server including switch circuitry
CN106104500A (zh) 存储数据的方法和设备
CN110537169A (zh) 分布式计算系统中的集群资源管理
WO2005124549A1 (ja) 処理管理装置、コンピュータ・システム、分散処理方法及びコンピュータプログラム
CN103562895B (zh) 通过选择性聚合相邻数据单元来便于路由
US8028017B2 (en) Virtual controllers with a large data center
CN113703908A (zh) 拟态虚拟网络管理系统
US11044210B2 (en) Technologies for performing switch-based collective operations in distributed architectures
CN109791503A (zh) 处理中断的方法和装置
WO2005124548A1 (ja) 処理管理装置、コンピュータ・システム、分散処理方法及びコンピュータプログラム
US20120189012A1 (en) Providing Point To Point Communications Among Compute Nodes In A Global Combining Network Of A Parallel Computer
CN107950013A (zh) 计算机网络中的后备通信方案
CN108881060A (zh) 一种处理通信报文的方法及装置
CN104460938A (zh) 利用存储器高速缓存在系统范围内节省电力的方法和系统
CN109254819A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20211222

Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province

Applicant after: Super fusion Digital Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd.