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

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

Info

Publication number
CN107003899A
CN107003899A CN201580047811.XA CN201580047811A CN107003899A CN 107003899 A CN107003899 A CN 107003899A CN 201580047811 A CN201580047811 A CN 201580047811A CN 107003899 A CN107003899 A CN 107003899A
Authority
CN
China
Prior art keywords
interrupt
user space
stored
target process
kernel state
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
CN201580047811.XA
Other languages
English (en)
Other versions
CN107003899B (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
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 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

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Retry When Errors Occur (AREA)

Abstract

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

Description

一种中断响应方法、装置及基站 技术领域
本发明实施例涉及通信技术领域,尤其涉及一种中断响应方法、装置及基站。
背景技术
当中央处理器(Central Processing Unit,CPU)包括内存管理单元(Memory Management 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 Access Memory,RAM)、磁盘或光盘等。
以上对本发明实施例所提供的中断响应方法、装置及基站进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (9)

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

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112395005A (zh) * 2019-08-19 2021-02-23 无锡江南计算技术研究所 浮点simd上下文切换的性能优化方法
CN113296900A (zh) * 2020-02-21 2021-08-24 大唐移动通信设备有限公司 一种任务切换方法及装置
CN114090273A (zh) * 2020-07-30 2022-02-25 华为技术有限公司 一种进程间通信的方法、装置及计算机存储介质
CN115080122A (zh) * 2022-07-22 2022-09-20 飞腾信息技术有限公司 处理器、用于保存和恢复上下文数据的装置、方法及芯片
WO2023274027A1 (zh) * 2021-06-28 2023-01-05 华为技术有限公司 用户态中断请求的处理方法及装置
WO2024007934A1 (zh) * 2022-07-07 2024-01-11 华为技术有限公司 中断处理方法、电子设备和存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111176869B (zh) * 2019-08-01 2022-05-10 腾讯云计算(北京)有限责任公司 超时检测方法、装置、设备及存储介质
CN113010275B (zh) * 2019-12-20 2024-01-30 大唐移动通信设备有限公司 一种中断处理方法和装置
CN114020427B (zh) * 2021-10-22 2023-11-03 苏州浪潮智能科技有限公司 一种中断设置方法、中断处理方法、装置及存储介质
CN114547651A (zh) * 2022-02-18 2022-05-27 浙江大学 一种基于链式加密的操作系统中断上下文保护方法

Citations (8)

* 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
US20070044105A2 (en) * 2003-08-28 2007-02-22 Mips Technologies, Inc. Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 (8)

* 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
US20070044105A2 (en) * 2003-08-28 2007-02-22 Mips Technologies, Inc. Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts
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调度状态的动态中断均衡映射方法

Cited By (8)

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

Also Published As

Publication number Publication date
WO2017070861A1 (zh) 2017-05-04
CN107003899B (zh) 2020-10-23

Similar Documents

Publication Publication Date Title
CN107003899A (zh) 一种中断响应方法、装置及基站
US10592454B2 (en) System-on-chip, mobile terminal, and method for operating the system-on-chip
US8266395B2 (en) Detecting attempts to change memory
US20180039424A1 (en) Method for accessing extended memory, device, and system
US9411743B2 (en) Detecting memory corruption
US10318454B2 (en) Interrupt processing method and interrupt controller
US9501422B2 (en) Identification of low-activity large memory pages
JP2015135696A5 (zh)
US20190188028A1 (en) Paravirtualized access for device assignment by bar extension
US8732413B2 (en) Method and system for preloading page using control flow
CN110196757B (zh) 虚拟机的tlb填写方法、装置及存储介质
KR102123422B1 (ko) 가상 컴퓨팅 환경에서의 메모리 및 자원 관리
US9804896B2 (en) Thread migration across cores of a multi-core processor
CN104679645A (zh) 一种栈空间余量实时检测方法
US11256830B2 (en) Apparatus for adding protection function for indirect access memory controller
KR100678913B1 (ko) 가상 메모리 시스템에서 페이지 폴트를 줄이는 장치 및방법
US9864698B2 (en) Resolving cache lookup of large pages with variable granularity
US20180157605A1 (en) Configuration of a memory controller for copy-on-write
US20180365428A1 (en) Configuration of a memory controller for copy-on-write with a resource controller
CN114416612A (zh) 存储器的访问方法、装置、电子设备和存储介质
US20230229485A1 (en) Command information transmission method, system, and apparatus, and readable storage medium
US10372902B2 (en) Control flow integrity
KR20180078512A (ko) 반도체 장치
US11789653B2 (en) Memory access control using a resident control circuitry in a memory device
US9753859B2 (en) Input output value prediction with physical or virtual addressing for virtual environment

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

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.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant