CN107003899B - 一种中断响应方法、装置及基站 - Google Patents

一种中断响应方法、装置及基站 Download PDF

Info

Publication number
CN107003899B
CN107003899B CN201580047811.XA CN201580047811A CN107003899B CN 107003899 B CN107003899 B CN 107003899B CN 201580047811 A CN201580047811 A CN 201580047811A CN 107003899 B CN107003899 B CN 107003899B
Authority
CN
China
Prior art keywords
interrupt
target process
stored
unit
user mode
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.)
Active
Application number
CN201580047811.XA
Other languages
English (en)
Other versions
CN107003899A (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.)
Haochuang Technology (Zhenjiang) Co.,Ltd.
Shenzhen Shangge Intellectual Property Service Co ltd
Original Assignee
Haochuang Technology Zhenjiang 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 Haochuang Technology Zhenjiang Co Ltd filed Critical Haochuang Technology Zhenjiang Co Ltd
Publication of CN107003899A publication Critical patent/CN107003899A/zh
Application granted granted Critical
Publication of CN107003899B publication Critical patent/CN107003899B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Abstract

本发明实施例公开一种中断响应方法、装置及基站,该方法应用于CPU中设置有MMU的基站,CPU中还设置有至少两个寄存器,每个寄存器中存储有一个中断号和一个进程号,该方法包括:当接收到携带有中断号的中断请求时,中断用户态下运行的目标进程,并存储目标进程的上下文信息;获取目标进程的进程号;判断至少两个寄存器中是否存在寄存器存储有目标进程的进程号和中断号;若存在寄存器存储有目标进程的进程号和中断号,则在用户态执行中断号对应的中断处理程序;当中断处理程序执行完时,根据存储的目标进程的上下文信息继续运行目标进程。实施本发明实施例,可以提高进程的运行效率。

Description

一种中断响应方法、装置及基站
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种中断响应方法、装置及基站。
背景技术
当中央处理器(Central Processing Unit,CPU)包括内存管理单元(MemoryManagement Unit,MMU)时,操作系统的工作状态可以包括内核态和用户态,内核态是操作系统内核所运行的模式,运行在该模式的进程,可以无限制地对系统内存、外设等进行访问;用户态指非特权状态,运行在该状态下的进程被硬件限制,不能进行某些特权操作。
当操作系统运行进程时,如果外界发生紧急情况,将要求操作系统暂停进程的运行转去处理这个紧急事件,处理完后,再继续运行暂停的进程,这样的过程称为中断。由于中断需要从用户态切换至内核态,因此,当运行某个进程时,如果存在多个中断,将需要操作系统在用户态和内核态之间进行频繁切换,降低了进程的运行效率。
发明内容
本发明实施例公开了一种中断响应方法、装置及基站,用于提高进程的运行效率。
本发明实施例第一方面公开一种基站,包括内存和中央处理器CPU,所述CPU中设置有内存管理单元MMU,所述CPU中还设置有至少两个寄存器,每个所述寄存器中存储有一个中断号和一个进程号,其中:
所述内存,用于存储进程和程序;
所述CPU通过内存总线与所述内存连接,所述CPU用于:
当接收到携带有中断号的中断请求时,中断用户态下运行的目标进程,并存储所述目标进程的上下文信息;
获取所述目标进程的进程号;
判断所述至少两个寄存器中是否存在寄存器存储有所述目标进程的进程号和所述中断号;
若存在寄存器存储有所述目标进程的进程号和所述中断号,则在所述用户态执行所述中断号对应的中断处理程序;
当所述中断处理程序执行完时,根据存储的所述目标进程的上下文信息继续运行所述目标进程。
结合本发明实施例第一方面,在本发明实施例第一方面的第一种可能的实现方式中,所述CPU还用于:
若不存在寄存器存储有所述目标进程的进程号和所述中断号,将由所述用户态切换至内核态;
在所述内核态执行所述中断号对应的中断处理程序;
当所述中断处理程序执行完时,将由所述内核态切换至所述用户态;
在所述用户态根据存储的所述目标进程的上下文信息继续运行所述目标进程。
结合本发明实施例第一方面的第一种可能的实现方式,在本发明实施例第一方面的第二种可能的实现方式中,所述CPU中还设置有传输后备缓冲器,所述传输后备缓冲器中存储有虚拟地址到物理地址的匹配表;
所述CPU在所述用户态执行所述中断号对应的中断处理程序的方式具体为:
在所述用户态根据所述传输后备缓冲器中存储的用户态对应的匹配表执行所述中断号对应的中断处理程序;
所述CPU将由所述用户态切换至内核态之后,所述CPU还用于:
将所述传输后备缓冲器中存储的用户态对应的匹配表刷新为内核态对应的匹配表;
所述CPU在所述内核态执行所述中断号对应的中断处理程序的方式具体为:
在所述内核态根据所述传输后备缓冲器中存储的内核态对应的匹配表执行所述中断号对应的中断处理程序;
所述CPU将由所述内核态切换至所述用户态之后,所述CPU还用于:
将所述传输后备缓冲器中存储的内核态对应的匹配表刷新为用户态对应的匹配表。
本发明实施例第二方面公开一种终端响应装置,所述装置设置于基站中,所述基站的中央处理器CPU中设置有内存管理单元MMU,所述CPU中还设置有至少两个寄存器,每个所述寄存器中存储有一个中断号和一个进程号,所述装置包括:
中断单元,用于当接收到携带有中断号的中断请求时,中断用户态下运行的目标进程;
存储单元,用于存储所述中断单元中断的目标进程的上下文信息;
获取单元,用于获取所述中断单元中断的目标进程的进程号;
判断单元,用于判断所述至少两个寄存器中是否存在寄存器存储有所述获取单元获取的目标进程的进程号和所述中断号;
第一执行单元,用于当所述判断单元的判断结果为存在寄存器存储有所述目标进程的进程号和所述中断号时,在所述用户态执行所述中断号对应的中断处理程序;
第一运行单元,用于当所述第一执行单元执行的中断处理程序执行完时,根据所述存储单元存储的所述目标进程的上下文信息继续运行所述中断单元中断的目标进程。
结合本发明实施例第二方面,在本发明实施例第二方面的第一种可能的实现方式中,所述装置还包括:
切换单元,用于当所述判断单元的判断结果为不存在寄存器存储有所述目标进程的进程号和所述中断号时,将由所述用户态切换至内核态;
第二执行单元,用于在所述切换单元切换的内核态执行所述中断号对应的中断处理程序;
所述切换单元,还用于当所述第二执行单元执行的中断处理程序执行完时,将由所述内核态切换至所述用户态;
第二运行单元,用于在所述用户态根据所述存储单元存储的所述目标进程的上下文信息继续运行所述中断单元中断的目标进程。
结合本发明实施例第二方面的第一种可能的实现方式,在本发明实施例第二方面的第二种可能的实现方式中,所述CPU中还设置有传输后备缓冲器,所述传输后备缓冲器中存储有虚拟地址到物理地址的匹配表;
所述第一执行单元,具体用于在所述用户态根据所述传输后备缓冲器中存储的用户态对应的匹配表执行所述中断号对应的中断处理程序;
所述装置还包括:
刷新单元,用于在所述切换单元将由所述用户态切换至内核态之后,将所述传输后备缓冲器中存储的用户态对应的匹配表刷新为内核态对应的匹配表;
所述第二执行单元,具体用于在所述内核态根据所述传输后备缓冲器中存储的内核态对应的匹配表执行所述中断号对应的中断处理程序;
所述刷新单元,还用于在所述切换单元将由所述内核态切换至所述用户态之后,将所述传输后备缓冲器中存储的内核态对应的匹配表刷新为用户态对应的匹配表。
本发明实施例第三方面公开一种中断响应方法,所述方法应用于中央处理器CPU中设置有内存管理单元MMU的基站,所述CPU中还设置有至少两个寄存器,每个所述寄存器中存储有一个中断号和一个进程号,所述方法包括:
当接收到携带有中断号的中断请求时,中断用户态下运行的目标进程,并存储所述目标进程的上下文信息;
获取所述目标进程的进程号;
判断所述至少两个寄存器中是否存在寄存器存储有所述目标进程的进程号和所述中断号;
若存在寄存器存储有所述目标进程的进程号和所述中断号,则在所述用户态执行所述中断号对应的中断处理程序;
当所述中断处理程序执行完时,根据存储的所述目标进程的上下文信息继续运行所述目标进程。
结合本发明实施例第三方面,在本发明实施例第三方面的第一种可能的实现方式中,所述方法还包括:
若不存在寄存器存储有所述目标进程的进程号和所述中断号,将由所述用户态切换至内核态;
在所述内核态执行所述中断号对应的中断处理程序;
当所述中断处理程序执行完时,将由所述内核态切换至所述用户态;
在所述用户态根据存储的所述目标进程的上下文信息继续运行所述目标进程。
结合本发明实施例第三方面的第一种可能的实现方式,在本发明实施例第三方面的第二种可能的实现方式中,所述CPU中还设置有传输后备缓冲器,所述传输后备缓冲器中存储有虚拟地址到物理地址的匹配表;
所述在所述用户态执行所述中断号对应的中断处理程序包括:
在所述用户态根据所述传输后备缓冲器中存储的用户态对应的匹配表执行所述中断号对应的中断处理程序;
所述将由所述用户态切换至内核态之后,所述方法还包括:
将所述传输后备缓冲器中存储的用户态对应的匹配表刷新为内核态对应的匹配表;
所述在所述内核态执行所述中断号对应的中断处理程序包括:
在所述内核态根据所述传输后备缓冲器中存储的内核态对应的匹配表执行所述中断号对应的中断处理程序;
所述将由所述内核态切换至所述用户态之后,所述方法还包括:
将所述传输后备缓冲器中存储的内核态对应的匹配表刷新为用户态对应的匹配表。
本发明实施例中,当存在寄存器存储有运行进程的进程号和中断号时,将在用户态进行中断响应,不需要由用户态切换至内核态,因此,可以提高进程的运行效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种基站的结构图;
图2是本发明实施例公开的一种中断响应装置的结构图;
图3是本发明实施例公开的一种中断响应方法的流程图;
图4是本发明实施例公开的另一种中断响应方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种中断响应方法、装置及基站,用于提高进程的运行效率。以下分别进行详细说明。
为了更好地理解本发明实施例,下面先对本发明实施例的应用场景进行描述。在本发明实施例中,基站的中央处理器(Central Processing Unit,CPU)中设置有内存管理单元(Memory Management Unit,MMU),基站操作系统的工作状态包括用户态和内核态。此外,CPU中还设置有至少两个寄存器,每个寄存器中存储有一个中断号和一个进程号,当在用户态运行一个寄存器中存储的进程号对应的进程时,如果接收到一个中断请求,且这个中断请求携带的中断号为这个寄存器中存储的中断号,基站操作系统可以直接在用户态响应这个中断请求。此外,CPU还设置有传输后备缓冲器(Translation Lookaside Buffer,TLB),TLB中存储有虚拟地址到物理地址的匹配表,当基站操作系统工作在用户态时,TLB中存储的是用户态对应的虚拟地址到物理地址的匹配表,当基站操作系统工作在内核态时,TLB中存储的是内核态对应的虚拟地址到物理地址的匹配表,因此,操作系统在内核态和用户态之间进行切换时,需要刷新TLB,以便将TLB中存储的匹配表刷新为对应的工作态对应的匹配表。
请参阅图1,图1是本发明实施例公开的一种基站的结构图。其中,该基站为上述介绍的基站。如图1所示,该基站100可以包括:
内存101,用于存储进程和程序;
CPU102通过内存总线103与内存101连接,CPU102用于:
当接收到携带有中断号的中断请求时,中断用户态下运行的目标进程,并存储目标进程的上下文信息;
获取目标进程的进程号;
判断至少两个寄存器中是否存在寄存器存储有目标进程的进程号和中断请求携带的中断号;
若存在寄存器存储有目标进程的进程号和中断请求携带的中断号,则在用户态执行中断请求携带的中断号对应的中断处理程序;
当中断处理程序执行完时,根据存储的目标进程的上下文信息继续运行目标进程。
作为一种可能的实施方式,CPU102还用于:
若不存在寄存器存储有目标进程的进程号和中断请求携带的中断号,将由用户态切换至内核态;
在内核态执行中断请求携带的中断号对应的中断处理程序;
当中断处理程序执行完时,将由内核态切换至用户态;
在用户态根据存储的目标进程的上下文信息继续运行目标进程。
作为一种可能的实施方式,CPU102在用户态执行中断请求携带的中断号对应的中断处理程序的方式具体为:
在用户态根据传输后备缓冲器中存储的用户态对应的匹配表执行中断请求携带的中断号对应的中断处理程序;
CPU102将由用户态切换至内核态之后,CPU102还用于:
将传输后备缓冲器中存储的用户态对应的匹配表刷新为内核态对应的匹配表;
CPU102在内核态执行中断请求携带的中断号对应的中断处理程序的方式具体为:
在内核态根据传输后备缓冲器中存储的内核态对应的匹配表执行中断请求携带的中断号对应的中断处理程序;
CPU102将由内核态切换至用户态之后,CPU102还用于:
将传输后备缓冲器中存储的内核态对应的匹配表刷新为用户态对应的匹配表。
在图1所描述的基站中,当存在寄存器存储有运行进程的进程号和中断号时,将在用户态进行中断响应,不需要由用户态切换至内核态,因此,可以提高进程的运行效率。
请参阅图2,图2是本发明实施例公开的一种中断响应装置。其中,该中断响应装置设置于上述介绍的基站中。如图2所示,该中断响应装置200可以包括:
中断单元201,用于当接收到携带有中断号的中断请求时,中断用户态下运行的目标进程;
存储单元202,用于存储中断单元201中断的目标进程的上下文信息;
获取单元203,用于获取中断单元201中断的目标进程的进程号;
判断单元204,用于判断至少两个寄存器中是否存在寄存器存储有获取单元203获取的目标进程的进程号和中断请求携带的中断号;
第一执行单元205,用于当判断单元204的判断结果为存在寄存器存储有目标进程的进程号和中断请求携带的中断号时,在用户态执行中断请求携带的中断号对应的中断处理程序;
第一运行单元206,用于当第一执行单元205执行的中断处理程序执行完时,根据存储单元202存储的目标进程的上下文信息继续运行中断单元201中断的目标进程。
作为一种可能的实施方式,该中断响应装置200还可以包括:
切换单元207,用于当判断单元204的判断结果为不存在寄存器存储有目标进程的进程号和中断请求携带的中断号时,将由用户态切换至内核态;
第二执行单元208,用于在切换单元207切换的内核态执行中断请求携带的中断号对应的中断处理程序;
切换单元207,还用于当第二执行单元208执行的中断处理程序执行完时,将由内核态切换至用户态;
第二运行单元209,用于在用户态根据存储单元202存储的目标进程的上下文信息继续运行中断单元201中断的目标进程。
具体地,切换单元207由内核态切换至用户态之后,将触发第二运行单元209在用户态根据存储单元202存储的目标进程的上下文信息继续运行中断单元201中断的目标进程。
作为一种可能的实施方式,第一执行单元205,具体用于在用户态根据传输后备缓冲器中存储的用户态对应的匹配表执行中断请求携带的中断号对应的中断处理程序;
该中断响应装置200还可以包括:
刷新单元210,用于在切换单元207将由用户态切换至内核态之后,将传输后备缓冲器中存储的用户态对应的匹配表刷新为内核态对应的匹配表;
第二执行单元208,具体用于在内核态根据传输后备缓冲器中存储的内核态对应的匹配表执行中断请求携带的中断号对应的中断处理程序;
刷新单元210,还用于在切换单元207将由内核态切换至用户态之后,将传输后备缓冲器中存储的内核态对应的匹配表刷新为用户态对应的匹配表。
在图2所描述的中断响应装置中,当存在寄存器存储有运行进程的进程号和中断号时,将在用户态进行中断响应,不需要由用户态切换至内核态,因此,可以提高进程的运行效率。
请参阅图3,图3是本发明实施例公开的一种中断响应方法的流程图。其中,该中断响应方法适用于上述介绍的基站。如图3所示,该中断响应方法可以包括以下步骤。
S301、当接收到携带有中断号的中断请求时,中断用户态下运行的目标进程,并存储目标进程的上下文信息。
本实施例中,在用户态运行目标进程的过程中,当接收到携带有中断号的中断请求时,将需要中断目标进程,并存储目标进程的上下文信息,以便后续需要继续运行目标进程时,可以从目标进程的中断位置继续运行目标进程中未运行的部分。其中,目标进程的上下文信息可以包括目标进程的中断位置信息、已运行部分信息和未运行部分信息。
S302、获取目标进程的进程号。
本实施例中,当接收到携带有中断号的中断请求时,将获取目标进程的进程号。其中,步骤S301与步骤S302可以串行执行,也可以并行执行,本实施例不作限定。
S303、判断至少两个寄存器中是否存在寄存器存储有目标进程的进程号和中断请求携带的中断号,若存在,则执行步骤S304,若未存在,则执行步骤S306。
本实施例中,获取到目标进程的进程号之后,将目标进程的进程号和中断请求携带的中断号与每个寄存器中存储的进程号和中断号进行比较。
S304、在用户态执行中断号对应的中断处理程序。
本实施例中,当有一个寄存器中存储的进程号与目标进程的进程号相同,且这个寄存器中存储的中断号与中断请求携带的中断号相同时,表明至少两个寄存器中存在寄存器存储有目标进程的进程号和中断请求携带的中断号,将在用户态执行中断请求携带的中断号对应的中断处理程序。
S305、当中断处理程序执行完时,根据存储的目标进程的上下文信息继续运行目标进程。
本实施例中,当检测到中断请求携带的中断号对应的中断处理程序在用户态执行完时,将在用户态根据存储的目标进程的上下文信息从目标进程的中断位置继续运行目标进程中未运行的部分。
S306、将由用户态切换至内核态,并在内核态执行中断请求携带的中断号对应的中断处理程序。
本实施例中,当至少两个寄存器中无寄存器中同时存储有目标进程的进程号和中断请求携带的中断号时,表明至少两个寄存器中不存在寄存器存储有目标进程的进程号和中断请求携带的中断号,将无法在用户态直接进行中断响应,因此,将由用户态切换至内核态,并在内核态执行中断请求携带的中断号对应的中断处理程序。
S307、当中断处理程序执行完时,将由内核态切换至用户态,并在用户态根据存储的目标进程的上下文信息继续运行目标进程。
本实施例中,由于目标进程需要在用户态进行运行,因此,当检测到中断请求携带的中断号对应的中断处理程序在内核态执行完时,将由内核态切换至用户态,并在用户态根据存储的目标进程的上下文信息从目标进程的中断位置继续运行目标进程的未运行部分。
在图3所描述的中断响应方法中,当存在寄存器存储有运行进程的进程号和中断号时,将在用户态进行中断响应,不需要由用户态切换至内核态,因此,可以提高进程的运行效率。
请参阅图4,图4是本发明实施例公开的另一种中断响应方法的流程图。其中,该中断响应方法适用于上述介绍的基站。如图4所示,该中断响应方法可以包括以下步骤。
S401、当接收到携带有中断号的中断请求时,中断用户态下运行的目标进程,并存储目标进程的上下文信息。
本实施例中,在用户态运行目标进程的过程中,当接收到携带有中断号的中断请求时,将需要中断目标进程,并存储目标进程的上下文信息,以便后续需要继续运行目标进程时,可以从目标进程的中断位置继续运行目标进程中未运行的部分。其中,目标进程的上下文信息可以包括目标进程的中断位置信息、已运行部分信息和未运行部分信息。
S402、获取目标进程的进程号。
本实施例中,当接收到携带有中断号的中断请求时,将获取目标进程的进程号。其中,步骤S401与步骤S402可以串行执行,也可以并行执行,本实施例不作限定。
S403、判断至少两个寄存器中是否存在寄存器存储有目标进程的进程号和该中断号,若存储有,则执行步骤S404,若未存储有,则执行步骤S406。
本实施例中,获取到目标进程的进程号之后,将目标进程的进程号和中断请求携带的中断号与每个寄存器中存储的进程号和中断号进行比较。
S404、在用户态根据TLB中存储的用户态对应的匹配表执行中断请求携带的中断号对应的中断处理程序。
本实施例中,当有一个寄存器中存储的进程号与目标进程的进程号相同,且这个寄存器中存储的中断号与中断请求携带的中断号相同时,表明至少两个寄存器中存在寄存器存储有目标进程的进程号和中断请求携带的中断号,将在用户态根据TLB中存储的用户态对应的匹配表执行中断请求携带的中断号对应的中断处理程序。
S405、当中断处理程序执行完时,根据存储的目标进程的上下文信息继续运行目标进程。
本实施例中,当检测到中断请求携带的中断号对应的中断处理程序在用户态执行完时,将在用户态根据存储的目标进程的上下文信息从目标进程的中断位置继续运行目标进程中未运行的部分。
S406、将由用户态切换至内核态,并将TLB中存储的用户态对应的匹配表刷新为内核态对应的匹配表。
本实施例中,当至少两个寄存器中无寄存器中同时存储有目标进程的进程号和中断请求携带的中断号时,表明至少两个寄存器中不存在寄存器存储有目标进程的进程号和中断请求携带的中断号,将无法在用户态直接进行中断响应,因此,将由用户态切换至内核态,并将TLB中存储的用户态对应的匹配表刷新为内核态对应的匹配表。
S407、在内核态根据TLB中存储的内核态对应的匹配表执行中断请求携带的中断号对应的中断处理程序。
S408、当中断处理程序执行完时,将由内核态切换至用户态,并将TLB中存储的内核态对应的匹配表刷新为用户态对应的匹配表。
本实施例中,由于目标进程需要在用户态进行运行,因此,当检测到中断请求携带的中断号对应的中断处理程序在内核态执行完时,将由内核态切换至用户态,并将TLB中存储的内核态对应的匹配表刷新为用户态对应的匹配表。
S409、在用户态根据存储的目标进程的上下文信息继续运行目标进程。
本实施例中,在用户态根据存储的目标进程的上下文信息从目标进程的中断位置继续运行目标进程的未运行部分。
在图4所描述的中断响应方法中,当存在寄存器存储有运行进程的进程号和中断号时,将在用户态进行中断响应,不需要由用户态切换至内核态,因此,可以提高进程的运行效率。
一个实施例中,本发明实施例进一步公开一种计算机存储介质,该计算机存储介质存储有计算机程序,当计算机存储介质中的计算机程序被读取到计算机时,能够使得计算机完成本发明实施例公开的数据传输方法的全部步骤。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上对本发明实施例所提供的中断响应方法、装置及基站进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (9)

1.一种基站,其特征在于,包括内存和中央处理器CPU,所述CPU中设置有内存管理单元MMU,所述CPU中还设置有至少两个寄存器,每个所述寄存器中存储有一个中断号和一个进程号,所述CPU中还设置有传输后备缓冲器,所述传输后备缓冲器中存储有虚拟地址到物理地址的匹配表,其中:
所述内存,用于存储进程和程序;
所述CPU通过内存总线与所述内存连接,所述CPU用于:
当接收到携带有中断号的中断请求时,中断用户态下运行的目标进程,并存储所述目标进程的上下文信息;
获取所述目标进程的进程号;
判断所述至少两个寄存器中是否存在寄存器存储有所述目标进程的进程号和所述中断号;
若存在寄存器存储有所述目标进程的进程号和所述中断号,则在所述用户态根据所述传输后备缓冲器中存储的用户态对应的匹配表执行所述中断号对应的中断处理程序;
当所述中断处理程序执行完时,根据存储的所述目标进程的上下文信息继续运行所述目标进程。
2.根据权利要求1所述的基站,其特征在于,所述CPU还用于:
若不存在寄存器存储有所述目标进程的进程号和所述中断号,将由所述用户态切换至内核态;
在所述内核态执行所述中断号对应的中断处理程序;
当所述中断处理程序执行完时,将由所述内核态切换至所述用户态;
在所述用户态根据存储的所述目标进程的上下文信息继续运行所述目标进程。
3.根据权利要求2所述的基站,其特征在于,所述CPU将由所述用户态切换至内核态之后,所述CPU还用于:
将所述传输后备缓冲器中存储的用户态对应的匹配表刷新为内核态对应的匹配表;
所述CPU在所述内核态执行所述中断号对应的中断处理程序的方式具体为:
在所述内核态根据所述传输后备缓冲器中存储的内核态对应的匹配表执行所述中断号对应的中断处理程序;
所述CPU将由所述内核态切换至所述用户态之后,所述CPU还用于:
将所述传输后备缓冲器中存储的内核态对应的匹配表刷新为用户态对应的匹配表。
4.一种终端响应装置,所述装置设置于基站中,所述基站的中央处理器CPU中设置有内存管理单元MMU,其特征在于,所述CPU中还设置有至少两个寄存器,每个所述寄存器中存储有一个中断号和一个进程号,所述CPU中还设置有传输后备缓冲器,所述传输后备缓冲器中存储有虚拟地址到物理地址的匹配表,所述装置包括:
中断单元,用于当接收到携带有中断号的中断请求时,中断用户态下运行的目标进程;
存储单元,用于存储所述中断单元中断的目标进程的上下文信息;
获取单元,用于获取所述中断单元中断的目标进程的进程号;
判断单元,用于判断所述至少两个寄存器中是否存在寄存器存储有所述获取单元获取的目标进程的进程号和所述中断号;
第一执行单元,用于当所述判断单元的判断结果为存在寄存器存储有所述目标进程的进程号和所述中断号时,在所述用户态根据所述传输后备缓冲器中存储的用户态对应的匹配表执行所述中断号对应的中断处理程序;
第一运行单元,用于当所述第一执行单元执行的中断处理程序执行完时,根据所述存储单元存储的所述目标进程的上下文信息继续运行所述中断单元中断的目标进程。
5.根据权利要求4所述的装置,其特征在于,所述装置还包括:
切换单元,用于当所述判断单元的判断结果为不存在寄存器存储有所述目标进程的进程号和所述中断号时,将由所述用户态切换至内核态;
第二执行单元,用于在所述切换单元切换的内核态执行所述中断号对应的中断处理程序;
所述切换单元,还用于当所述第二执行单元执行的中断处理程序执行完时,将由所述内核态切换至所述用户态;
第二运行单元,用于在所述用户态根据所述存储单元存储的所述目标进程的上下文信息继续运行所述中断单元中断的目标进程。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
刷新单元,用于在所述切换单元将由所述用户态切换至内核态之后,将所述传输后备缓冲器中存储的用户态对应的匹配表刷新为内核态对应的匹配表;
所述第二执行单元,具体用于在所述内核态根据所述传输后备缓冲器中存储的内核态对应的匹配表执行所述中断号对应的中断处理程序;
所述刷新单元,还用于在所述切换单元将由所述内核态切换至所述用户态之后,将所述传输后备缓冲器中存储的内核态对应的匹配表刷新为用户态对应的匹配表。
7.一种中断响应方法,所述方法应用于中央处理器CPU中设置有内存管理单元MMU的基站,其特征在于,所述CPU中还设置有至少两个寄存器,每个所述寄存器中存储有一个中断号和一个进程号,所述CPU中还设置有传输后备缓冲器,所述传输后备缓冲器中存储有虚拟地址到物理地址的匹配表,所述方法包括:
当接收到携带有中断号的中断请求时,中断用户态下运行的目标进程,并存储所述目标进程的上下文信息;
获取所述目标进程的进程号;
判断所述至少两个寄存器中是否存在寄存器存储有所述目标进程的进程号和所述中断号;
若存在寄存器存储有所述目标进程的进程号和所述中断号,则在所述用户态根据所述传输后备缓冲器中存储的用户态对应的匹配表执行所述中断号对应的中断处理程序;
当所述中断处理程序执行完时,根据存储的所述目标进程的上下文信息继续运行所述目标进程。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
若不存在寄存器存储有所述目标进程的进程号和所述中断号,将由所述用户态切换至内核态;
在所述内核态执行所述中断号对应的中断处理程序;
当所述中断处理程序执行完时,将由所述内核态切换至所述用户态;
在所述用户态根据存储的所述目标进程的上下文信息继续运行所述目标进程。
9.根据权利要求8所述的方法,其特征在于,所述将由所述用户态切换至内核态之后,所述方法还包括:
将所述传输后备缓冲器中存储的用户态对应的匹配表刷新为内核态对应的匹配表;
所述在所述内核态执行所述中断号对应的中断处理程序包括:
在所述内核态根据所述传输后备缓冲器中存储的内核态对应的匹配表执行所述中断号对应的中断处理程序;
所述将由所述内核态切换至所述用户态之后,所述方法还包括:
将所述传输后备缓冲器中存储的内核态对应的匹配表刷新为用户态对应的匹配表。
CN201580047811.XA 2015-10-28 2015-10-28 一种中断响应方法、装置及基站 Active CN107003899B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/093041 WO2017070861A1 (zh) 2015-10-28 2015-10-28 一种中断响应方法、装置及基站

Publications (2)

Publication Number Publication Date
CN107003899A CN107003899A (zh) 2017-08-01
CN107003899B true CN107003899B (zh) 2020-10-23

Family

ID=58629669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580047811.XA Active CN107003899B (zh) 2015-10-28 2015-10-28 一种中断响应方法、装置及基站

Country Status (2)

Country Link
CN (1) CN107003899B (zh)
WO (1) WO2017070861A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111176869B (zh) * 2019-08-01 2022-05-10 腾讯云计算(北京)有限责任公司 超时检测方法、装置、设备及存储介质
CN112395005B (zh) * 2019-08-19 2022-07-12 无锡江南计算技术研究所 浮点simd上下文切换的性能优化方法
CN113010275B (zh) * 2019-12-20 2024-01-30 大唐移动通信设备有限公司 一种中断处理方法和装置
CN113296900A (zh) * 2020-02-21 2021-08-24 大唐移动通信设备有限公司 一种任务切换方法及装置
CN114090273A (zh) * 2020-07-30 2022-02-25 华为技术有限公司 一种进程间通信的方法、装置及计算机存储介质
CN115599505A (zh) * 2021-06-28 2023-01-13 华为技术有限公司(Cn) 用户态中断请求的处理方法及装置
CN114020427B (zh) * 2021-10-22 2023-11-03 苏州浪潮智能科技有限公司 一种中断设置方法、中断处理方法、装置及存储介质
CN117407054A (zh) * 2022-07-07 2024-01-16 华为技术有限公司 中断处理方法、电子设备和存储介质
CN115080122A (zh) * 2022-07-22 2022-09-20 飞腾信息技术有限公司 处理器、用于保存和恢复上下文数据的装置、方法及芯片

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002052408A2 (en) * 2000-12-22 2002-07-04 Api Networks, Inc. System and method of implementing interrupts in a computer processing system
CN100465899C (zh) * 2007-07-25 2009-03-04 湖南大学 基于虚拟内核对象的Linux程序检查点用户级实现方法
CN103440169A (zh) * 2013-08-21 2013-12-11 华为技术有限公司 一种进程中断处理的方法及装置
CN102439577B (zh) * 2011-10-31 2014-01-22 华为技术有限公司 一种构建内存访问模型的方法及装置
CN103744716A (zh) * 2014-01-15 2014-04-23 上海交通大学 一种基于当前vcpu调度状态的动态中断均衡映射方法
CN102426538B (zh) * 2011-08-26 2014-05-28 深圳市迪威视讯股份有限公司 一种中断响应装置及其方法
CN104424034A (zh) * 2013-09-04 2015-03-18 华为技术有限公司 硬件资源访问方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7836450B2 (en) * 2003-08-28 2010-11-16 Mips Technologies, Inc. Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts
CN101226487B (zh) * 2008-01-30 2010-06-02 中国船舶重工集团公司第七〇九研究所 基于嵌入式Linux操作系统的内核级线程库的实现方法
CN102486758B (zh) * 2010-12-01 2015-01-28 中兴通讯股份有限公司 一种访问协处理器寄存器的方法及装置
CN104239237B (zh) * 2013-06-20 2017-07-14 华为技术有限公司 一种tlb管理方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002052408A2 (en) * 2000-12-22 2002-07-04 Api Networks, Inc. System and method of implementing interrupts in a computer processing system
CN100465899C (zh) * 2007-07-25 2009-03-04 湖南大学 基于虚拟内核对象的Linux程序检查点用户级实现方法
CN102426538B (zh) * 2011-08-26 2014-05-28 深圳市迪威视讯股份有限公司 一种中断响应装置及其方法
CN102439577B (zh) * 2011-10-31 2014-01-22 华为技术有限公司 一种构建内存访问模型的方法及装置
CN103440169A (zh) * 2013-08-21 2013-12-11 华为技术有限公司 一种进程中断处理的方法及装置
CN104424034A (zh) * 2013-09-04 2015-03-18 华为技术有限公司 硬件资源访问方法及装置
CN103744716A (zh) * 2014-01-15 2014-04-23 上海交通大学 一种基于当前vcpu调度状态的动态中断均衡映射方法

Also Published As

Publication number Publication date
CN107003899A (zh) 2017-08-01
WO2017070861A1 (zh) 2017-05-04

Similar Documents

Publication Publication Date Title
CN107003899B (zh) 一种中断响应方法、装置及基站
US9965392B2 (en) Managing coherent memory between an accelerated processing device and a central processing unit
CN107885666B (zh) 一种内存管理方法和装置
US10592279B2 (en) Multi-processor apparatus and method of detection and acceleration of lagging tasks
JP5989862B2 (ja) セキュアなバーチャルマシン間の共有メモリ通信のためのコンピューティング装置、方法及び機械可読記憶媒体
US9176765B2 (en) Virtual machine system and a method for sharing a graphics card amongst virtual machines
EP3674877B1 (en) Method for accessing extended memory, device, and system
US9201682B2 (en) Virtualized device reset
CN105095128B (zh) 中断处理方法及中断控制器
US8954959B2 (en) Memory overcommit by using an emulated IOMMU in a computer system without a host IOMMU
US8667253B2 (en) Initiating assist thread upon asynchronous event for processing simultaneously with controlling thread and updating its running status in status register
US9092255B2 (en) Multi-core processor system, computer product, and control method for interrupt execution
CN110196757B (zh) 虚拟机的tlb填写方法、装置及存储介质
CN107250997B (zh) 选择性翻译后援寄存器搜寻及页面错误
US20160275026A1 (en) Weakly ordered doorbell
KR20120088370A (ko) 멀티 프로세서 시스템에서의 메모리 보호 장치 및 방법
US10642727B1 (en) Managing migration events performed by a memory controller
US20180157605A1 (en) Configuration of a memory controller for copy-on-write
CN102880426B (zh) 一种系统虚拟机减少tlb刷新的方法及系统虚拟机
US9904567B2 (en) Limited hardware assisted dirty page logging
US20140053162A1 (en) Thread processing method and thread processing system
US20140173225A1 (en) Reducing memory access time in parallel processors
GB2614153A (en) DSB operation with excluded region
CN113485791A (zh) 配置方法和访问方法、装置、虚拟化系统和存储介质
JP2015197802A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200911

Address after: Floor 2, building 5, block B, xindingmao Industrial Park, No.41, panzong Road, Dingmao, Zhenjiang New District, Jiangsu Province, 212000

Applicant after: Haochuang Technology (Zhenjiang) Co.,Ltd.

Address before: 625, room 269, Connaught platinum Plaza, No. 518101, Qianjin Road, Xin'an street, Shenzhen, Guangdong, Baoan District

Applicant before: SHENZHEN SHANGGE INTELLECTUAL PROPERTY SERVICE Co.,Ltd.

Effective date of registration: 20200911

Address after: 625, room 269, Connaught platinum Plaza, No. 518101, Qianjin Road, Xin'an street, Shenzhen, Guangdong, Baoan District

Applicant after: SHENZHEN SHANGGE INTELLECTUAL PROPERTY SERVICE Co.,Ltd.

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

Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd.

GR01 Patent grant
GR01 Patent grant