CN102067089A - 虚拟计算机控制装置、虚拟计算机控制程序以及虚拟计算机控制电路 - Google Patents

虚拟计算机控制装置、虚拟计算机控制程序以及虚拟计算机控制电路 Download PDF

Info

Publication number
CN102067089A
CN102067089A CN2009801229706A CN200980122970A CN102067089A CN 102067089 A CN102067089 A CN 102067089A CN 2009801229706 A CN2009801229706 A CN 2009801229706A CN 200980122970 A CN200980122970 A CN 200980122970A CN 102067089 A CN102067089 A CN 102067089A
Authority
CN
China
Prior art keywords
interrupt
virtual machine
level
interruption
priority
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
CN2009801229706A
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN102067089A publication Critical patent/CN102067089A/zh
Pending legal-status Critical Current

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
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Abstract

本发明的中断等级保存部(16)保存一个以上的表示所发生的中断的优先级的中断等级,并将所保存的中断等级内的优先级最高的中断等级作为第二中断屏蔽等级来保存,第二中断种类判断部(13)设定与新发生的中断的中断种类对应的中断等级,优先级判断部(14)在新发生的中断的中断等级高于所保存的第二中断屏蔽等级时,向虚拟计算机控制部(20)通知中断。由此,即使是无法通知任务的优先级的虚拟计算机,也能够根据任务的优先级来确定虚拟计算机的优先级,从而能够恰当地控制虚拟计算机的切换。

Description

虚拟计算机控制装置、虚拟计算机控制程序以及虚拟计算机控制电路
技术领域
本发明涉及一种虚拟计算机技术,使多个操作系统(Operating System,以下简称作OS)与OS的应用程序(application)在一个CPU上工作,尤其涉及一种控制多个虚拟计算机的切换的虚拟计算机控制装置。
背景技术
信息处理装置中执行的处理的性质是多种多样的。例如,要求实时性能的处理以利用实时OS(以下简称作RTOS)为宜。另一方面,如果利用图形功能丰富的OS,则可提供图形功能非常优异的用户界面等。通过利用虚拟计算机技术,能够在一台机器上同时执行性质不同的处理。
虚拟计算机技术(virtual machine technology)是在一台物理计算机上同时使用多个OS的技术,例如运用在服务器(server)等上。各OS与OS的应用程序为虚拟计算机,多个虚拟计算机在一台物理计算机上分时地实现。
作为以往的控制虚拟计算机的切换的技术(虚拟计算机调度(schedule)),有一种根据所执行的处理改变虚拟计算机的优先级的技术(例如,参照专利文献1)。在以往技术中,利用所执行的任务的优先级,即OS在任务管理中所用的任务的优先级,来设定执行任务的虚拟计算机的优先级。当执行优先级高的任务时,虚拟计算机的优先级也高。因此,通过切换至优先级高的虚拟计算机,不管任务所属的虚拟计算机如何,都能够从优先级高的任务开始执行。
但是,在以往的结构中存在下述问题,即必须从虚拟计算机通知所执行的任务的优先级,如果是无法通知任务优先级的虚拟计算机,则无法进行虚拟计算机的切换控制。
专利文献1:日本专利公开公报特开2000-242512号
发明内容
本发明是为了解决上述问题,其目的在于提供一种虚拟计算机控制装置、虚拟计算机控制程序及虚拟计算机控制电路,即使是无法通知任务的优先级的虚拟计算机,也能够根据任务的优先级来确定虚拟计算机的优先级,从而能够恰当地控制虚拟计算机的切换。
本发明所提供的虚拟计算机控制装置包括:控制在CPU上工作的多个虚拟计算机的切换的虚拟计算机控制部;以及根据表示所发生的中断的优先级的中断等级控制对所述虚拟计算机控制部的中断通知的中断控制部,其中,所述虚拟计算机控制部具备:第一中断种类判断部,判断从所述中断控制部通知的中断的种类;中断恢复目的地保存部,当由所述第一中断种类判断部判断中断种类的结果为,所发生的中断被判断为是对当前正在执行中的虚拟计算机的中断时,保存紧邻中断发生之前的程序计数值;中断屏蔽等级设定表,将在各虚拟计算机中执行的中断处理的优先级及在各虚拟计算机中执行的任务处理的优先级作为第一中断屏蔽等级预先存储;第一中断屏蔽等级设定部,当虚拟计算机的中断处理结束时,从所述中断屏蔽等级设定表中将与虚拟计算机接下来要执行的处理对应的第一中断屏蔽等级通知给所述中断控制部;以及更新部,请求所述中断控制部将所述中断控制部中的中断等级更新为最新状态,并且所述中断控制部具备:中断等级保存部,保存一个以上的表示所发生的中断的优先级的中断等级,并将保存的所述中断等级中的优先级最高的中断等级作为第二中断屏蔽等级来保存;第二中断屏蔽等级设定部,将由所述第一中断屏蔽等级设定部通知的所述第一中断屏蔽等级作为中断等级设定在所述中断等级保存部;第二中断种类判断部,接收新发生的中断,判断所述新发生的中断的种类,并将与判断出的中断种类对应的中断等级设定在所述中断等级保存部;以及优先级判断部,将所述中断等级保存部中保存的所述第二中断屏蔽等级与从所述第二中断种类判断部通知的新发生的中断的中断等级进行比较,当新发生的中断的中断等级高于所述中断等级保存部中保存的所述第二中断屏蔽等级时,向所述虚拟计算机控制部通知中断。
根据此结构,虚拟计算机控制部控制在CPU上工作的多个虚拟计算机的切换,中断控制部根据表示所发生的中断的优先级的中断等级来控制对虚拟计算机控制部的中断通知。从中断控制部通知的中断的种类得以判断,当被判断为是对当前正在执行中的虚拟计算机的中断时,保存紧邻中断发生之前的程序计数值。中断屏蔽等级设定表将在各虚拟计算机中执行的中断处理的优先级及在各虚拟计算机中执行的任务处理的优先级作为第一中断屏蔽等级预先存储。当虚拟计算机的中断处理结束时,从中断屏蔽等级设定表中,与虚拟计算机接下来要执行的处理对应的第一中断屏蔽等级被通知给中断控制部。而且,请求中断控制部将中断控制部中的中断等级更新为最新状态。中断等级保存部保存一个以上的表示所发生的中断的优先级的中断等级,并将所保存的中断等级中优先级最高的中断等级作为第二中断屏蔽等级来保存。所通知的第一中断屏蔽等级作为中断等级而被设定在中断等级保存部。新发生的中断得以接收,新发生的中断的种类被加以判断,并将与判断出的中断种类对应的中断等级设定在中断等级保存部。中断等级保存部中保存的第二中断屏蔽等级与从第二中断种类判断部通知的新发生的中断的中断等级被进行比较,当新发生的中断的中断等级高于中断等级保存部中保存的第二中断屏蔽等级时,向虚拟计算机控制部通知中断。
根据本发明,通过在虚拟计算机的中断处理结束的时刻(timing),更新在中断控制部中用于屏蔽中断的优先级,由此,即使是无法通知任务的优先级的虚拟计算机,也能够根据任务的优先级来确定虚拟计算机的优先级,从而恰当地控制虚拟计算机的切换。
通过以下详细的说明和附图,使本发明的目的、特征和优点更加明确。
附图说明
图1是表示具备本发明实施方式1的虚拟计算机控制装置的信息处理装置的硬件结构的框图。
图2是表示本发明实施方式1的信息处理装置的存储器的详细结构的框图。
图3是表示本发明实施方式1的信息处理装置的综合中断控制器的详细结构的框图。
图4是表示本发明实施方式1的综合中断控制器的第二中断等级设定部的设定内容的一例的图。
图5是表示本发明实施方式1的综合中断控制器的中断等级保存部的保存内容的一例的图。
图6是表示本发明实施方式1的虚拟计算机控制部的中断屏蔽等级设定表的设定内容的一例的图。
图7是表示在本发明的实施方式1中从第一中断控制器的中断发生到中断处理部的中断处理机处理结束为止的操作动作的一例的流程图。
图8是表示接着图7中步骤S8的处理之后中断处理机的处理结束后的操作动作的一例的流程图。
图9是表示在图7的步骤S2中被判断为是来自空闲检测部的中断后的操作动作的一例的流程图。
图10是表示在图7的步骤S2中被判断为是来自第二中断控制器的中断后的操作动作的一例的流程图。
图11是表示具备本发明的实施方式2的虚拟计算机控制装置的信息处理装置的结构的框图。
图12是表示在本发明的实施方式2中综合中断控制器的第二中断等级设定部的设定内容的一例的图。
图13是表示在本发明的实施方式2中虚拟计算机控制部的中断屏蔽等级设定表的设定内容的一例的图。
图14是表示具备本发明实施方式3的虚拟计算机控制装置的信息处理装置的硬件结构的框图。
图15是表示本发明实施方式3的信息处理装置的存储器的详细结构的框图。
图16是表示具备本发明实施方式3的虚拟计算机控制装置的信息处理装置的综合中断控制器的详细结构的框图。
图17是表示在本发明的实施方式3中综合中断控制器的第二中断等级设定部的设定内容的一例的图。
图18是表示在本发明的实施方式3中发生来自第一中断控制器的中断时的信息处理装置的操作动作的一例的流程图。
图19是表示具备本发明实施方式4的虚拟计算机控制装置的信息处理装置的结构的框图。
具体实施方式
下面,参照附图来说明本发明的实施方式。并且,以下实施方式是将本发明具体化的一例,其性质并非为限定本发明的技术范围。
(实施方式1)
图1是表示具备本发明实施方式1的虚拟计算机控制装置的信息处理装置的硬件结构的框图。
信息处理装置具备中央运算装置(Central processing unit,CPU)1、综合中断控制器(integral interrupt controller)2、第一中断控制器3、第二中断控制器4、周边设备5、周边设备6、空闲检测部(idle detection)7及存储器8。
对于CPU1,只要处理能力充分便可利用任意的。综合中断控制器2判断从第一中断控制器3、第二中断控制器4及空闲检测部7通知的中断请求中优先级最高的中断请求,并向CPU1通知优先级最高的中断。
第一中断控制器3向综合中断控制器2通知从周边设备5发生的中断请求。第二中断控制器4与第一中断控制器3同样,将从周边设备6发生的中断请求通知给综合中断控制器2。
周边设备5、6是各种输入输出装置,与信息处理装置的使用目的相对应的输入输出装置被加以利用。例如,周边设备5、6包括键设备(key device)、通信设备、显示设备、解码器、编码器、DSP(Digital Signal Processor,数字信号处理器)及DMA(Direct Memory Access,直接存储器访问)控制器等。
另外,周边设备5让在第一虚拟计算机30中处理的中断发生,周边设备6让在第二虚拟计算机40中处理的中断发生。第一中断控制器3输出针对第一虚拟计算机30的中断请求,第二中断控制器4输出针对第二虚拟计算机40的中断请求。
空闲检测部7检测CPU1已执行转移到空闲状态(idle state)(节能模式)的指定,向第二中断种类判断部13输出中断请求。即,空闲检测部7检测当CPU1发布转移到节能模式的指令时从CPU1输出的信号,并将中断请求通知给综合中断控制器2。
存储器8中存储有使CPU1作为虚拟计算机控制部20、第一虚拟计算机30及第二虚拟计算机40而发挥功能的程序。存储器8未必需要由单一的存储器装置构成,也可以是同种类的多个存储器或包括只读存储器(ROM)的不同种类的存储器的组合。此外,除了存储器8以外,也可以设置例如硬盘驱动器之类的外部存储装置,在信息处理装置的工作不出现问题的范围内,使存储器8的内容移动到外部存储装置中。
图2是表示本发明实施方式1的信息处理装置的存储器8的详细结构的框图。存储器8存储使CPU1作为第一虚拟计算机30、第二虚拟计算机40及虚拟计算机控制部20发挥作用的程序。
第一虚拟计算机30具备多个任务300及第一OS310。而且,第一OS310包括任务调度器311及中断处理部312。
任务调度器(task scheduler)311确定接下来应执行的任务,并执行所确定的任务。中断处理部312包括多个中断处理机(interrupt handler)320,当接收到中断发生时,执行与中断的因素相对应的中断处理机320。以下,将第一虚拟计算机30作为不可改变软件的虚拟计算机来进行说明。
第二虚拟计算机40与第一虚拟计算机30同样,具备多个任务400及第二OS410。而且,第二OS410包括任务调度器411及中断处理部412。
任务调度器411确定接下来应执行的任务,并执行所确定的任务。中断处理部412包括多个中断处理机420,当接收到中断发生时,执行与中断的因素相对应的中断处理机420。
任务调度器411及中断处理部412的工作与第一虚拟计算机30中所具备的任务调度器311及中断处理部312相同。
另外,对各任务300、400或中断处理机320、420设定优先级。
本发明实施方式1的信息处理装置具备多个虚拟计算机(第一虚拟计算机30及第二虚拟计算机40),各虚拟计算机(第一虚拟计算机30及第二虚拟计算机40)包括彼此不同的OS(第一OS310及第二OS410)、任务300、400及中断处理机320、420。
第一虚拟计算机30和第二虚拟计算机40通过后述的虚拟计算机控制部20来切换。多个虚拟计算机(第一虚拟计算机30及第二虚拟计算机40)并非同时工作,而是分时地被执行。因此,能够在一个物理计算机上实现多个计算机的运行。例如,要求实时性能的处理作为第一虚拟计算机30的任务300或中断处理机320而被安装,第一OS310使用实时性能优异的RTOS。与用户界面相关的处理作为第二虚拟计算机40的任务400或中断处理机420而被安装,第二OS410使用图形功能丰富的OS。
通过采用这样的结构,本实施方式1的信息处理装置能够同时实现需要实时性能的传输系统的控制和使用丰富的图形功能的优异的用户界面控制。
另外,未必一定需要使第一OS310与第二OS410为彼此不同的OS,也可以使第一OS310与第二OS410为相同的OS。
虚拟计算机控制部20控制在CPU1上工作的多个虚拟计算机的切换。虚拟计算机控制部20具备中断恢复目的地(destination)保存部200、虚拟计算机状态保存部201、虚拟计算机调度部202、中断恢复目的地改写部203、第一中断种类判断部204、中断通知接收部205、中断屏蔽等级(interrupt mask level)更新部206、中断屏蔽等级设定表207、第一中断屏蔽等级设定部208、中断处理机结束检测部209、切换通知接收部210、第一中断屏蔽设定部211及第一中断等级设定部212。
中断通知接收部205,在发生中断时,经由CPU1接收来自综合中断控制器2的中断发生通知。然后,中断通知接收部205将表示中断已发生的中断信息通知给第一中断种类判断部204。
第一中断种类判断部204判断从综合中断控制器2通知的中断的种类。第一中断种类判断部204向后面将要叙述的综合中断控制器2内的第二中断种类判断部13请求与从中断通知接收部205通知的中断相对应的中断种类,从第二中断种类判断部13获取中断种类。
接下来,第一中断种类判断部204根据从第二中断种类判断部13获取的中断种类,将虚拟计算机(第一虚拟计算机30及第二虚拟计算机40)的工作状态设定在虚拟计算机状态保存部201。虚拟计算机的工作状态包括有表示虚拟计算机正在执行处理的执行状态、表示虚拟计算机已转移到节能模式的空闲状态、以及表示虚拟计算机暂时停止工作的挂起状态(suspend state)。
如果是从第一中断控制器3或第二中断控制器4发送的中断,第一中断种类判断部204将执行该中断的虚拟计算机的工作状态设定为执行状态,并将已处于执行状态的虚拟计算机设定为挂起状态。而且,如果是从空闲检测部7发送的中断通知,第一中断种类判断部204将相应的虚拟计算机的工作状态设定为空闲状态。此外,如果是从第一中断控制器3或第二中断控制器4发送的中断,第一中断种类判断部204将表示中断已发生的中断信息通知给中断恢复目的地改写部203,如果是从空闲检测部7发送的中断,则第一中断种类判断部204将表示中断已发生的中断信息通知给中断屏蔽等级更新部206。
另外,中断通知包括有要求复位请求的中断通知。看门狗定时器(watchdog timer)在虚拟计算机进入冻结状态(freeze state)时,发布要求复位请求的中断通知。CPU1,当从看门狗定时器接收到中断通知时,在禁止在中断处理机处理的最后中断的状态下执行无限循环(infinite loop,死循环)并等待硬件的重新启动。当如上所述的复位处理被执行时,在中断被禁止的状态下陷入无限循环。因此,存在无法执行对其他虚拟计算机的中断处理、系统变得无法工作的问题。
因此,例如当所发生的中断是第一虚拟计算机30的由看门狗定时器发生的中断时,第一中断种类判断部204可以解除设定在第一虚拟计算机30中的特权模式。通过解除第一虚拟计算机30的特权模式,可以防止第一虚拟计算机30的禁止CPU中断的操作动作,从而能够解决上述问题。
虚拟计算机状态保存部201保存由上述的第一中断种类判断部204设定的虚拟计算机(第一虚拟计算机30及第二虚拟计算机40)的工作状态。
中断恢复目的地改写部203让由所通知的中断指定的中断恢复目的地地址退避至中断恢复目的地保存部200,并将中断恢复目的地地址改写为中断处理机结束检测部209的地址。
中断恢复目的地改写部203,在从第一中断种类判断部204收到中断信息的通知时,让由所通知的中断指定的中断恢复目的地地址退避至中断恢复目的地保存部200。中断恢复目的地改写部203让表示在中断处理结束时要恢复的处理的中断恢复目的地地址退避至中断恢复目的地保存部200。
接下来,中断恢复目的地改写部203将所通知的中断信息中包含的中断恢复目的地地址改写为虚拟计算机控制部20内的中断处理机结束检测部209的地址,并将中断信息通知给虚拟计算机调度部202。由此,能够在虚拟计算机控制部20内检测虚拟计算机(第一虚拟计算机30或第二虚拟计算机40)的中断处理机处理的结束。
中断恢复目的地保存部200保存由中断恢复目的地改写部203退避的中断恢复目的地地址。中断恢复目的地保存部200所保存的中断恢复目的地地址成为中断发生时正在执行的虚拟计算机(第一虚拟计算机30或第二虚拟计算机40)的程序计数器的值。当由第一中断种类判断部204判断中断种类的结果为,所发生的中断被判断为是对当前正在执行中的虚拟计算机的中断时,中断恢复目的地保存部200保存紧邻中断发生之前的程序计数值。
中断屏蔽等级更新部206请求综合中断控制器2将综合中断控制器2中的中断等级更新为最新状态。另外,在本实施方式中,中断屏蔽等级更新部206相当于更新部的一例。
中断屏蔽等级更新部206向后面将要叙述的综合中断控制器2内的中断等级保存部16请求更新中断屏蔽等级(interrupt mask level),将中断等级保存部16中保存的中断屏蔽等级更新为最新状态,并通知虚拟计算机调度部202中断屏蔽等级已被更新。如果对第一中断控制器3及第二中断控制器4的中断因素已被清除,则在此时刻清除中断等级保存部16中保存的相应的中断等级。
中断处理机结束检测部209检测中断处理机的中断处理通过执行而结束,并通知第一中断屏蔽等级设定部208中断处理机的处理已结束。即,中断恢复目的地改写部203将中断恢复目的地地址改写为中断处理机结束检测部209的地址,从而当中断处理机的处理结束时,处理恢复至中断处理机结束检测部209。另外,在本实施方式中,中断处理机结束检测部209相当于中断结束检测部的一例。
中断屏蔽等级设定表207是保存有在虚拟计算机(第一虚拟计算机30及第二虚拟计算机40)的任务(任务300及任务400)执行时的中断屏蔽等级的设定值的表。中断屏蔽等级设定表207将在各虚拟计算机中执行的中断处理的优先级及在各虚拟计算机中执行的任务处理的优先级作为中断屏蔽等级(第一中断屏蔽等级)预先存储。另外,具有高于中断屏蔽等级的优先级的中断将被执行,而具有低于中断屏蔽等级的优先级的中断不被执行。中断屏蔽等级是在系统启动时由虚拟计算机控制部20设定的值,是在系统运行中不会改变的固定值。
第一中断屏蔽等级设定部208接收来自中断处理机结束检测部209的中断处理机结束通知,并进行处理。第一中断屏蔽等级设定部208将中断屏蔽等级设定表207中设定的中断屏蔽等级设定在综合中断控制器2内的第二中断屏蔽等级设定部15中。第一中断屏蔽等级设定部208通知中断屏蔽等级更新部206已设定中断屏蔽等级。
另外,第一中断屏蔽等级设定部208从中断屏蔽等级设定表207获取接下来执行处理的虚拟计算机的任务处理的中断屏蔽等级。例如,当针对第一虚拟计算机30的中断处理机处理结束时,设定第一虚拟计算机30的任务的中断屏蔽等级。
即,第一中断屏蔽等级设定部208在中断处理机的中断处理结束时,从中断屏蔽等级设定表207中将与虚拟计算机接下来要执行的处理对应的中断屏蔽等级通知给综合中断控制器2。
切换通知接收部210从第二虚拟计算机40接收切换执行中的处理的切换通知,并将中断处理机的处理结束通知给虚拟计算机调度部202。
虚拟计算机调度部202根据调出源、中断种类及虚拟计算机的工作状态,进行虚拟计算机的切换控制。具体而言,当是从中断恢复目的地改写部203调出时,虚拟计算机调度部202判断是对第一虚拟计算机30的中断请求,并调出中断处理部312。
而且,当是从中断屏蔽等级更新部206调出时,如果中断种类并非是来自空闲检测部7的中断通知,虚拟计算机调度部202让转移到中断恢复目的地保存部200中保存的中断恢复目的地地址。如果是来自空闲检测部7的中断通知,虚拟计算机调度部202确认虚拟计算机状态保存部201中保存的虚拟计算机的工作状态。如果第一虚拟计算机30与第二虚拟计算机40均处于空闲状态,虚拟计算机调度部202使整个系统转移到节能模式。另一方面,如果第一虚拟计算机30与第二虚拟计算机40中有挂起状态的虚拟计算机,虚拟计算机调度部202调出挂起状态的虚拟计算机的任务调度器411。
而且,当是从切换通知接收部210调出时,虚拟计算机调度部202判断第二虚拟计算机40的中断处理结束,并根据中断屏蔽等级设定表207的优先级,使处理转移到第二虚拟计算机40的任务调度器411。
第一中断屏蔽设定部211将用于设定综合中断控制器2中所使用的中断屏蔽的中断屏蔽设定请求发送至后面将要叙述的综合中断控制器2内的第二中断屏蔽设定部11,以对综合中断控制器2中所使用的中断屏蔽进行设定。由此,综合中断控制器2能够屏蔽不需要的中断。
第一中断等级设定部212将用于设定与各中断种类对应的中断等级的中断等级设定请求发送至后面将要叙述的综合中断控制器2内的第二中断等级设定部12,以对与各中断种类对应的中断等级进行设定。另外,第一中断等级设定部212在系统启动时进行处理。由此,在发生中断时,能够进行与中断种类的中断等级相对应的处理。
图3是表示本发明实施方式1的信息处理装置的综合中断控制器2的详细结构的框图。利用图3对综合中断控制器2的详细结构进行说明。
综合中断控制器2根据表示所发生的中断的优先级的中断等级,控制对虚拟计算机控制部20的中断通知。综合中断控制器2具备第二中断屏蔽设定部11、第二中断等级设定部12、第二中断种类判断部13、优先级判断部14、第二中断屏蔽等级设定部15及中断等级保存部16。另外,在本实施方式中,综合中断控制器2相当于中断控制部的一例。
第二中断屏蔽设定部11是用来设定是否将来自第一中断控制器3、第二中断控制器4及空闲检测部7的中断请求通知给CPU1的寄存器(register)。第二中断屏蔽设定部11接收来自虚拟计算机控制部20的第一中断屏蔽设定部211的中断屏蔽设定请求,并保存基于中断屏蔽设定请求的中断屏蔽的设定。
而且,第二中断屏蔽设定部11还接收来自虚拟计算机控制部20的虚拟计算机调度部202的请求,并设定优先级判断部14以便根据请求来屏蔽中断。第二中断屏蔽设定部11设定优先级判断部14,以便为了不向虚拟计算机控制部20通知中断请求而屏蔽所发生的中断请求。
第二中断屏蔽设定部11在所有的虚拟计算机的工作状态为空闲状态时,设定优先级判断部14以便屏蔽来自空闲检测部7的中断请求,使整个系统转移到节能模式。
第二中断等级设定部12是为了对来自第一中断控制器3、第二中断控制器4及空闲检测部7的中断请求标注优劣,针对各中断请求设定等级(优先级)的寄存器。第二中断等级设定部12接收来自虚拟计算机控制部20的第一中断等级设定部212的中断等级设定请求,并保存基于中断等级设定请求的中断等级的设定。第二中断等级设定部12保存与中断的种类对应的中断等级。
第二中断种类判断部13接收新发生的中断,判断新发生的中断的种类,并将与判断出的中断种类对应的中断等级设定在中断等级保存部16中。
第二中断种类判断部13将所通知的中断请求作为中断请求信息来保存,判断是从哪里通知的中断请求,并将设定在第二中断等级设定部12中、且与中断请求对应的中断等级通知给中断等级保存部16。而且,第二中断种类判断部13还通知优先级判断部14已接收到中断请求。此时,第二中断种类判断部13将与中断请求对应的中断等级通知给优先级判断部14。此外,第二中断种类判断部13接收来自虚拟计算机控制部20的第一中断种类判断部204的中断种类的请求,并将包含中断种类的最新的中断请求信息恢复第一中断种类判断部204。
优先级判断部14将中断等级保存部16中保存的中断屏蔽等级(第二中断屏蔽等级)与从第二中断种类判断部13通知的新发生的中断的中断等级进行比较,当新发生的中断的中断等级高于中断等级保存部16中保存的中断屏蔽等级时,向虚拟计算机控制部20通知中断。
优先级判断部14从中断等级保存部16获取当前的中断屏蔽等级,并将所获取的中断屏蔽等级与从第二中断种类判断部18通知的中断等级进行比较。当中断等级具有高于中断屏蔽等级的优先级时,优先级判断部14将中断请求通知给CPU1。但是,如果在第二中断屏蔽设定部11中中断通知被设定为无效,则优先级判断部14不将中断请求通知给CPU1。CPU1在被输入来自优先级判断部14的中断请求时,向虚拟计算机控制部20的中断通知接收部205发送中断发生通知。
第二中断屏蔽等级设定部15从虚拟计算机控制部20的中断屏蔽等级更新部206将通过软件控制而设定的中断屏蔽等级通知给中断等级保存部16。第二中断屏蔽等级设定部15将由第一中断屏蔽等级设定部208通知的中断屏蔽等级作为中断等级设定在中断等级保存部16中。
中断等级保存部16保存从第二中断种类判断部13通知的中断等级和从第二中断屏蔽等级设定部15通知的中断屏蔽等级。而且,中断等级保存部16是将所保存的中断等级中优先级最高的中断等级作为当前的中断屏蔽等级来保存的寄存器。所保存的中断等级被保存到被虚拟计算机控制部20清除为止。设定在中断等级保存部16中的中断屏蔽等级,通过接收来自虚拟计算机控制部20的第一中断屏蔽等级设定部208的请求而被更新为最新状态。
这样,中断等级保存部16保存一个以上的表示所发生的中断的优先级的中断等级,并将所保存的中断等级中的优先级最高的中断等级作为中断屏蔽等级(第二中断屏蔽等级)来保存。
而且,中断等级保存部16将第二中断种类判断部13所接收到的中断的中断等级作为预先保存在中断等级设定部12中的与该中断的种类对应的中断等级来保存,此外,还将从第一中断屏蔽等级设定部208向第二中断屏蔽等级设定部15通知的中断屏蔽等级作为中断等级来保存。
而且,优先级判断部14不将中断等级保存部16中保存的中断等级中优先级最高的中断等级以下的中断通知给虚拟计算机控制部20。
根据以上的结构,可以利用虚拟计算机控制部20来检测虚拟计算机的中断处理机处理和任务处理的结束,在中断处理机处理和任务处理结束的时刻控制综合中断控制器2的中断屏蔽等级。由此,即使是无法通知任务的优先级的虚拟计算机,也能够根据任务的优先级来确定虚拟计算机的优先级,从而能够进行恰当的虚拟计算机的调度。
图4是表示本发明实施方式1的综合中断控制器2的第二中断等级设定部12的设定内容的一例的图。第二中断等级设定部12对通知中断的每个硬件(中断种类)设定中断等级。中断等级表示优先级。图4中,中断种类包括来自第一中断控制器3的中断通知、来自第二中断控制器4的中断通知及来自空闲检测部7的中断通知这三种,分别被设定“2”、“5”及“3”的中断等级。另外,在以下的说明中,中断等级分为“0”至“7”的8阶段,数字越小优先级越高。根据以上的结构,本发明实施方式1的综合中断控制器2能够判断各中断的优先顺序(priority order)。
图5是表示本发明实施方式1的综合中断控制器2的中断等级保存部16的保存内容的一例的图。此处,中断等级分为“0”至“7”的8阶段。中断等级保存部16保存在综合中断控制器2中接收的硬件中断的中断等级、以及从虚拟计算机控制部20通过软件控制所设定的中断等级。在中断等级保存部16中,与接收到的中断等级对应的比特被设定为1。而且,所接收到的中断等级中数字最小的中断等级被设定为综合中断控制器2的中断屏蔽等级。综合中断控制器2能够利用中断等级保存部16所保存的信息,通过硬件(应为软件)来判断中断处理与虚拟计算机的任务处理的优先顺序。
图6是表示本发明实施方式1的虚拟计算机控制部20的中断屏蔽等级设定表207的设定内容的一例的图。在中断屏蔽等级设定表207中,保存有作为设定中断屏蔽等级的对象的种类及针对每个种类设定的中断屏蔽等级。在中断处理机结束时,第一中断屏蔽等级设定部208将在中断屏蔽等级设定表207中设定的中断屏蔽等级设定在第二中断屏蔽等级设定部15。
接下来,对在第一虚拟计算机30的任务处理执行过程中发生来自第一中断控制器3的中断时的信息处理装置的操作动作进行说明。图7、图8、图9及图10是表示在第一虚拟计算机30的任务处理执行过程中发生来自第一中断控制器3的中断时的信息处理装置的操作动作的一例的流程图。
首先,对从第一中断控制器3的中断发生到中断处理部312的中断处理机处理的结束为止的操作动作进行说明。图7是表示在本发明的实施方式1中,从第一中断控制器3的中断发生到中断处理部312的中断处理机处理的结束为止的操作动作的流程图。
首先,当在第一虚拟计算机30的任务处理执行过程中发生来自第一中断控制器3的中断时,虚拟计算机控制部20开始处理。当中断发生时,中断通知接收部205接收从CPU1输出的中断发生通知(步骤S1)。例如,CPU1接收到从综合中断控制器2输出的中断请求并检测到中断时,将处理要跳跃到的目的地即中断向量(interrupt vector)设定在虚拟计算机控制部20。由此,当中断发生时,能够使中断通知接收部205工作。
中断通知接收部205将表示中断已发生的中断信息通知给第一中断种类判定部204。然后,第一中断种类判断部204判断所发生的中断的中断种类(步骤S2)。另外,第一中断种类判断部204从综合中断控制器2的第二中断种类判断部13获取判断对象的中断种类。
判断中断种类的结果,当被判断为是来自第一中断控制器3的中断时(在步骤S2中为“第一中断控制器”),第一中断种类判断部204将表示中断已发生的中断信息通知给中断恢复目的地改写部203(步骤S3)。
接下来,中断恢复目的地改写部203将由所通知的中断信息指定的中断恢复目的地地址保存到中断恢复目的地保存部200(步骤S4)。然后,中断恢复目的地改写部203将所通知的中断信息中包含的中断恢复目的地地址改写为虚拟计算机控制部20的内部地址(步骤S5)。中断恢复目的地改写部203调出虚拟计算机调度部202。另外,所谓改写的虚拟计算机控制部20的内部地址,是指中断处理机结束检测部209的地址。而且,判断中断种类的结果,关于被判断为是来自空闲检测部7的中断的情况,后面将使用图9来进行说明,关于被判断为是来自第一中断控制器3(应为第二中断控制器4)的中断的情况,后面将使用图10来进行说明。
接下来,由于虚拟计算机调度部202是从中断恢复目的地改写部203调出的,因此判断是对第一虚拟计算机30的中断请求,从而调出第一虚拟计算机30的中断处理部312(步骤S6)。
然后,中断处理部312执行与所发生的中断对应的中断处理机320的处理(步骤S7)。
当中断处理机的处理结束后,中断处理机结束检测部209检测中断处理机的处理结束(步骤S8)。而且,中断处理机结束检测部209通知第一中断屏蔽等级设定部208中断处理机的处理已经结束。
图8是表示继图7的步骤S8的处理之后,中断处理机的处理结束后的操作动作的一例的流程图。
第一中断屏蔽等级设定部208从图6所示的中断屏蔽等级设定表207中获取所设定的中断屏蔽等级,并将获取的中断屏蔽等级设定在第二中断屏蔽等级设定部15(步骤S9)。第一中断屏蔽等级设定部208通知中断屏蔽等级更新部206已设定中断屏蔽等级。另外,第一中断屏蔽等级设定部208获取接下来执行处理的虚拟计算机的任务处理的中断屏蔽等级。在此,由于第一虚拟计算机30的中断处理机320的处理已结束,因此设定第一虚拟计算机30的任务300的中断屏蔽等级(例如“4”)。
接下来,中断屏蔽等级更新部206对图5所示的中断等级保存部16进行访问,请求将中断屏蔽等级更新为最新的中断状况,并通知虚拟计算机调度部202已更新中断屏蔽等级(步骤S10)。即,在中断等级保存部16中,针对中断因素已被清除的中断等级,将比特更新为0。
接下来,虚拟计算机调度部202从中断恢复目的地保存部200中获取中断恢复目的地地址,使虚拟计算机转移到中断发生前的状态(步骤S11)。在此,由于在第一虚拟计算机30的任务处理执行过程中发生了中断请求,因此恢复第一虚拟计算机30的任务处理。
然后,第一虚拟计算机30执行任务300的处理(步骤S12)。另外,在此,在步骤S9中中断屏蔽等级被设定为“4”。因此,在第一虚拟计算机30的任务处理执行过程中,来自中断等级为“5”的第二中断控制器4的中断被屏蔽,可以按照图6所示的优先级来调度虚拟计算机。
当第一虚拟计算机30的任务处理结束时,CPU1发布使第一虚拟计算机30转移到节能模式(空闲状态)的指令(步骤S13)。
空闲检测部7检测在步骤S13中发布的指令,并向综合中断控制器2发送中断请求(步骤S14)。由此,虚拟计算机控制部20能够检测第一虚拟计算机30中的任务处理的结束。
并且,综合中断控制器2如果接收到来自空闲检测部7的中断请求,向CPU1输出中断请求。CPU1向虚拟计算机控制部20输出中断发生通知。然后,恢复图7的步骤S1的处理,中断通知接收部205接收从CPU1输出的中断发生通知。
图9是表示在图7的步骤S2中,被判断为是来自空闲检测部7的中断后的操作动作的一例的流程图。
判断中断种类的结果,当被判断为是来自空闲检测部7的中断时(步骤S2中为“空闲检测部”),第一中断种类判断部204根据虚拟计算机状态保存部201的保存内容,判别刚才还正处于执行过程中的虚拟计算机(步骤S15)。
当判别出刚才还正处于执行过程中的是第一虚拟计算机30时(在步骤S15中为“第一虚拟计算机”),第一中断种类判断部204将虚拟计算机状态保存部201中存储的第一虚拟计算机的工作状态更新为空闲状态(步骤S16)。另一方面,当判别出刚才还正处于执行过程中的是第二虚拟计算机40时(在步骤S15中为“第二虚拟计算机”),第一中断种类判断部204将虚拟计算机状态保存部201中存储的第二虚拟计算机的工作状态更新为空闲状态(步骤S17)。
在更新了虚拟计算机状态保存部201中的虚拟计算机的工作状态之后,中断屏蔽等级更新部206清除中断因素(步骤S18)。接下来,中断屏蔽等级更新部206对中断等级保存部16进行访问,请求将中断屏蔽等级更新为最新的中断状况,并通知虚拟计算机调度部202已更新中断屏蔽等级(步骤S19)。
接下来,虚拟计算机调度部202对虚拟计算机状态保存部201中存储的虚拟计算机的工作状态进行确认,判断第一虚拟计算机30和第二虚拟计算机40是否都处于空闲状态(步骤S20)。
在此,当判断出第一虚拟计算机30和第二虚拟计算机40均处于空闲状态时(在步骤S20中为“是”),虚拟计算机调度部202请求第二中断屏蔽设定部11屏蔽来自空闲检测部7的中断。第二中断屏蔽设定部11对优先级判断部14进行设定以屏蔽来自空闲检测部7的中断(步骤S21)。这是为了屏蔽在执行向节能模式转移的指令时发生的中断通知以使整个系统实际上转移到节能模式而实施的。然后,CPU1使整个系统转移到节能模式(步骤S22)。继而,恢复图7的步骤S1的处理,当发生中断时,中断通知接收部205接收从CPU1输出的中断发生通知。
另一方面,当判断出第一虚拟计算机30和第二虚拟计算机40并非都处于空闲状态时,即,判断出有不处于空闲状态的虚拟计算机时(步骤S20中为“否”),虚拟计算机调度部202让转移到不处于空闲状态的虚拟计算机的任务处理(步骤S23)。
接下来,当第一虚拟计算机30并非空闲状态时,第二虚拟计算机40执行任务400的处理,当第二虚拟计算机40并非空闲状态时,第一虚拟计算机30执行任务300的处理(步骤S24)。然后,恢复图7的步骤S1的处理,当发生中断时,中断通知接收部205接收从CPU1输出的中断发生通知。
图10是表示在图7的步骤S2中,被判断为是来自第二中断控制器4的中断后的操作动作的一例的流程图。
判断中断种类的结果,当被判断为是来自第二中断控制器4的中断时(步骤S2中为“第二中断控制器”),第一中断种类判断部204调出虚拟计算机调度部202。由于虚拟计算机调度部202是从第一中断种类判断部204调出的,因此判断是对第二虚拟计算机40的中断请求,调出第二虚拟计算机40的中断处理部412(步骤S25)。
接下来,中断处理部412执行与所发生的中断对应的中断处理机420的处理(步骤S26)。
当中断处理机的处理结束后,中断处理部412向虚拟计算机控制部20的切换通知接收部210发送切换执行中的处理的切换通知(步骤S27)。
切换通知接收部210接收切换通知,并将第二虚拟计算机40的中断处理机的处理结束通知给虚拟计算机调度部202。虚拟计算机调度部202让转移到第二虚拟计算机40的任务处理(步骤S28)。接下来,第二虚拟计算机40执行任务400的处理(步骤S29)。然后,恢复图7的步骤S1的处理,当发生中断时,中断通知接收部205接收从CPU1输出的中断发生通知。
根据以上的结构,能够利用虚拟计算机控制部20来检测虚拟计算机的中断处理机处理和任务处理的结束,能够在检测到的时刻控制综合中断控制器2的中断屏蔽等级。由此,即使是无法通知任务的优先级的虚拟计算机,也能够根据任务的优先级来确定虚拟计算机的优先级,从而能够进行恰当的虚拟计算机的调度控制。
尤其是,在购买的二进制程序等无法改变的软件的情况下,即使是安装了无法通知任务优先级的二进制程序的软件,也能够进行恰当的虚拟计算机的调度控制。
(实施方式2)
图11是表示具备本发明实施方式2的虚拟计算机控制装置的信息处理装置的结构的框图。尤其是,图11示出综合中断控制器2的详细情况。
图11中,在图3所示的综合中断控制器2中追加了通知等级接收部17,在第二中断控制器4中追加了中断等级通知部18。而且,在图11中,对与图3相同的构成要素标注了相同的符号。以下,对新追加的构成要素进行说明,并省略对相同构成要素的说明。
中断等级通知部18将根据中断的种类而不同的多个中断等级通知给综合中断控制器2。即,中断等级通知部18将在第二中断控制器4内部设定的各中断的等级(优先级)作为通知等级通知给综合中断控制器2内的通知等级接收部17。
通知等级接收部17接收由中断等级通知部18通知的多个中断等级,并将接收到的多个中断等级分别作为中断屏蔽等级存储在中断屏蔽等级设定表207中。
通知等级接收部17从中断等级通知部18接收通知等级,并将接收到的通知等级通知给第二中断种类判定部13。这样,能够在综合中断控制器2内对来自第二中断控制器4的中断设置优先级,并能够根据优先级来控制虚拟计算机。即,第二中断种类判断部13向第二中断等级设定部12输出所通知的通知等级,第二中断等级设定部12将与通知等级相应的中断等级与中断种类对应起来加以设定。
根据以上的结构,第二中断种类判断部13可以从第二中断等级设定部12中获取所接收到的中断种类和与从通知等级接收部17通知的通知等级对应的中断等级,并将所获取的中断等级通知给中断等级保存部16。即,通过虚拟计算机控制部20内的中断屏蔽等级设定表207的设定,能够让第二虚拟计算机40的一部分或全部的中断处理优先于第一虚拟计算机30的任务处理而动作。
图12是表示在实施方式2中,综合中断控制器2的第二中断等级设定部12的设定内容的一例的图。另外,在以下的说明中,对来自第二中断控制器4的通知等级为“0”至“7”的8阶段的例子进行说明。
图12中,来自通知等级为“4”至“0”的第二中断控制器4的中断通知的中断等级被设定为“4”,来自通知等级为“7”至“5”的第二中断控制器4的中断通知的中断等级被设定为“6”。另外,中断等级的数字越小优先级越高。根据以上的结构,利用虚拟计算机控制部20内的中断屏蔽等级设定表207的设定,综合中断控制器2可以让第二虚拟计算机40的一部分中断处理优先于第一虚拟计算机30的任务处理而动作。
图13是表示在本发明的实施方式2中,虚拟计算机控制部20的中断屏蔽等级设定表207的设定内容的一例的图。在屏蔽等级设定表207中,保存有作为设定中断屏蔽等级的对象的种类及针对每个种类所设定的中断屏蔽等级。图13中,来自通知等级为“4”至“0”的第二中断控制器4的中断通知的中断屏蔽等级被设定为“4”,第一虚拟计算机30的任务处理的中断屏蔽等级被设定为“5”。而且,来自通知等级为“7”至“5”的第二中断控制器4的中断通知的中断屏蔽等级被设定为“6”。由此,即使在第一虚拟计算机30的任务300的执行过程中,如果是来自通知等级为“4”至“0”的第二中断控制器4的中断,则也将优先动作。
根据以上的结构,能够利用虚拟计算机控制部20来检测虚拟计算机的中断处理机处理和任务处理的结束,能够在检测到的时刻控制综合中断控制器2的中断屏蔽等级。由此,即使是无法通知任务的优先级的虚拟计算机,也能够根据任务的优先级来确定虚拟计算机的优先级,从而能够进行恰当的虚拟计算机的调度控制。尤其是,通过虚拟计算机控制部20内的中断屏蔽等级设定表207的设定,能够让第二虚拟计算机40的一部分或全部的中断处理优先于第一虚拟计算机30的任务处理而动作。
(实施方式3)
图14是表示具备本发明实施方式3的虚拟计算机控制装置的信息处理装置的硬件结构的框图。
图14中,在图1所示的信息处理装置中追加了中断求反(interrupt negate)检测部9。另外,在图14中,对与图1相同的构成要素标注了相同符号。以下,对新追加的构成要素进行说明,并省略对相同构成要素的说明。
中断求反检测部9检测从周边设备5输出的中断请求被解除,并使综合中断控制器2发生中断。即,中断求反检测部9检测从第一中断控制器3对综合中断控制器2的中断请求被解除,并用中断向综合中断控制器2通知中断请求已被解除。中断请求的解除是通过清除使对第一中断控制器3的中断发生的中断因素来进行。当中断因素被清除时,对综合中断控制器2的中断信号被求反。中断求反检测部9检测从第一中断控制器3向综合中断控制器2输出的中断信号被求反。
由此,能够利用虚拟计算机控制部20检测从第一中断控制器3发生的、对第一虚拟计算机30的中断处理机处理的结束。
图15是表示本发明实施方式3的信息处理装置的存储器8的详细结构的框图。图15是从图2所示的虚拟计算机控制部20中删除中断恢复目的地改写部203和中断处理机结束检测部209的结构。在本实施方式3中,之所以删除中断恢复目的地改写部203和中断处理机结束检测部209,是因为通过设置前述的中断求反检测部9,能够实现检测中断请求的解除。
图16是表示本发明实施方式3的信息处理装置的综合中断控制器2的详细结构的框图。在图16中,与图3的不同之处在于,综合中断控制器2的第二中断种类判断部19接收来自中断求反检测部9的中断。
图17是表示在本发明的实施方式3中,综合中断控制器2的第二中断等级设定部12的设定内容的一例的图。中断种类包括来自中断求反检测部9的中断通知、来自第一中断控制器3的中断通知、来自空闲检测部的中断通知以及来自第二中断控制器4的中断通知。在来自中断求反检测部9的中断通知中,设定有中断等级“1”。即,在来自中断求反检测部9的中断发生时,由于是中断等级保存部16的中断屏蔽等级被设定为“2”的状态,因此接收中断等级为“1”的来自中断求反检测部9的中断通知。
图18是表示在本发明的实施方式3中,发生来自第一中断控制器3的中断时的信息处理装置的操作动作的一例的流程图。
首先,当在第一虚拟计算机30的任务处理执行过程中发生来自第一中断控制器3的中断时,虚拟计算机控制部20开始处理。当中断发生时,中断通知接收部205接收从CPU1输出的中断发生通知(步骤S41)。
中断通知接收部205将表示中断已发生的中断信息通知给第一中断种类判定部204。接下来,第一中断种类判断部204判断所发生的中断的中断种类(步骤S42)。另外,第一中断种类判断部204从综合中断控制器2的第二中断种类判断部19获取判断对象的中断种类。
判断中断种类的结果,当被判断为是来自第一中断控制器3的中断时(步骤S42中为“第一中断控制器”),第一中断种类判断部204调出第一虚拟计算机30的中断处理部312(步骤S43)。
另外,判断中断种类的结果,当被判断为是来自空闲检测部7的中断时(步骤S42中为“空闲检测部”),转移到前述的图9的步骤S15的处理,当被判断为是来自第二中断控制器4的中断时(步骤S42中为“第二中断控制器”),转移到前述的图10的步骤S25的处理。
接下来,中断处理部312调出与所发生的中断对应的中断处理机320,执行该中断处理机320的处理(步骤S44)。然后,在中断处理机320的处理过程中,当第一中断控制器3的中断因素被清除时,中断求反检测部9检测中断因素的清除(步骤S45)。
接下来,中断求反检测部9向综合中断控制器2发送中断请求(步骤S46)。由此,使综合中断控制器2发生中断。即,综合中断控制器2在接收到来自中断求反检测部9的中断请求时,向CPU1输出中断请求。CPU1向虚拟计算机控制部20输出中断发生通知。随后,恢复步骤S41的处理,中断通知接收部205接收从CPU1输出的中断发生通知。
中断通知接收部205将表示中断已发生的中断信息通知给第一中断种类判断部204。接下来,第一中断种类判断部204判断所发生的中断的中断种类(步骤S42)。第一中断种类判断部204从综合中断控制器2的第二中断种类判断部19获取判断对象的中断种类。
判断中断种类的结果,当被判断为是来自中断求反检测部9的中断时(步骤S42中为“中断求反检测部”),第一中断种类判断部204将由通知的中断信息所指定的中断恢复目的地地址保存到中断恢复目的地保存部200中(步骤S47)。随后,转移到前述的图8的步骤S9的处理。
根据以上的结构,利用中断求反检测部9及第一中断种类判断部204,能够检测第一虚拟计算机30的中断处理机320的处理结束。由此,即使是无法通知任务的优先级的虚拟计算机,也能够根据任务的优先级来确定虚拟计算机的优先级,从而能够进行恰当的虚拟计算机的调度控制。
(实施方式4)
图19是表示具备本发明实施方式4的虚拟计算机控制装置的信息处理装置的结构的框图。图19中,尤其示出了综合中断控制器2的详细结构。
图19所示的信息处理装置在图11所示的信息处理装置的结构中追加了中断求反检测部9。而且,与图16的不同之处在于,在综合中断控制器2中具备图11所示的通知等级接收部17,在第二中断控制器4中具备图11所示的中断等级通知部18。
中断等级通知部18将第二中断控制器4内部设定的各中断的等级(优先级)作为通知等级通知给综合中断控制器2内的通知等级接收部17。
通知等级接收部17从中断等级通知部18接收通知等级,并将接收到的通知等级通知给第二中断种类判断部19。由此,能够在综合中断控制器2内对来自第二中断控制器4的中断设置优先级,并能够根据优先级来控制虚拟计算机。即,第二中断种类判断部19向第二中断等级设定部12输出所通知的通知等级,第二中断等级设定部12将与通知等级相应的中断等级与中断种类对应起来加以设定。
而且,中断求反检测部9检测从第一中断控制器3对综合中断控制器2的中断请求被解除,并用中断向综合中断控制器2通知中断请求已被解除。中断请求的解除是通过清除使对第一中断控制器3的中断发生的中断因素来进行。当中断因素被清除时,对综合中断控制器2的中断信号被求反。中断求反检测部9检测从第一中断控制器3向综合中断控制器2输出的中断信号被求反。
由此,能够利用虚拟计算机控制部20检测从第一中断控制器3发生的、对第一虚拟计算机30的中断处理机处理的结束。
根据以上的结构,第二中断种类判断部19可以从第二中断等级设定部12中获取所接收到的中断种类和与从通知等级接收部17通知的通知等级对应的中断等级,并将所获取的中断等级通知给中断等级保存部16。即,通过虚拟计算机控制部20内的中断屏蔽等级设定表207的设定,能够让第二虚拟计算机40的一部分或全部的中断处理优先于第一虚拟计算机30的任务处理而动作。
此外,利用中断求反检测部9及第一中断种类判断部204,能够检测第一虚拟计算机30的中断处理机320的处理结束。由此,即使是无法通知任务的优先级的虚拟计算机,也能够根据任务的优先级来确定虚拟计算机的优先级,从而能够进行恰当的虚拟计算机的调度控制。
以上,根据本实施方式1至4,对于无法改变软件的虚拟计算机,能够按照所设计的优先级来实现任务处理及中断处理的执行。
另外,本说明书中,示出了虚拟计算机为两个的情况作为实施方式,但本发明并不限定于此。在信息处理装置具有三个以上的虚拟计算机的情况下,也能够同样地使用本发明。
而且,在本实施方式1至4中,综合中断控制器2、虚拟计算机控制部20及空闲检测部7分别由各自独立的硬件构成,但本发明并不特别限定于此,综合中断控制器2、虚拟计算机控制部20及空闲检测部7也可以由程序构成。此时,使CPU1作为综合中断控制器2、虚拟计算机控制部20及空闲检测部7而发挥功能的虚拟计算机控制程序被存储在存储器8内。此外,虚拟计算机控制程序也可以被记录在计算机可读取的记录介质中。
而且,本发明的各功能区块典型的是作为软件而加以实现,但也可以用集成电路LSI来实现。各功能区块可以分别被集成为一个芯片(one chip),也可以将一部分或全部集成为一个芯片。在此,虽然被称为LSI,但根据集成度的不同有时也被称为IC、系统LSI、大规模(super)LSI或超大规模(ultra)LSI。而且,集成电路化的技术不仅限于LSI,也可通过专用电路或通用处理器来实现。也可以利用在LSI制造后可编程的FPGA(Field Programmable Gate Array,现场可编程门阵列)、或可重新构成LSI内部的电路单元的连接或设定的可重构处理器(reconfigurable processor)。此外,如果随着半导体技术的进步或派生的其他技术而出现可替代LSI的集成电路化技术,则当然也可以使用该技术来进行功能块的集成化。作为替代LSI的集成电路化技术,例如存在生物技术的适应等的可能性。
另外,在上述具体的实施方式中主要包括具有以下结构的发明。
本发明所提供的虚拟计算机控制装置包括:控制在CPU上工作的多个虚拟计算机的切换的虚拟计算机控制部;以及根据表示所发生的中断的优先级的中断等级控制对所述虚拟计算机控制部的中断通知的中断控制部,其中,所述虚拟计算机控制部具备:第一中断种类判断部,判断从所述中断控制部通知的中断的种类;中断恢复目的地保存部,当由所述第一中断种类判断部判断中断种类的结果为,所发生的中断被判断为是对当前正在执行中的虚拟计算机的中断时,保存紧邻中断发生之前的程序计数值;中断屏蔽等级设定表,将在各虚拟计算机中执行的中断处理的优先级及在各虚拟计算机中执行的任务处理的优先级作为第一中断屏蔽等级预先存储;第一中断屏蔽等级设定部,当虚拟计算机的中断处理结束时,从所述中断屏蔽等级设定表中将与虚拟计算机接下来要执行的处理对应的第一中断屏蔽等级通知给所述中断控制部;以及更新部,请求所述中断控制部将所述中断控制部中的中断等级更新为最新状态,并且所述中断控制部具备:中断等级保存部,保存一个以上的表示所发生的中断的优先级的中断等级,并将所保存的所述中断等级中优先级最高的中断等级作为第二中断屏蔽等级来保存;第二中断屏蔽等级设定部,将由所述第一中断屏蔽等级设定部通知的所述第一中断屏蔽等级作为中断等级设定在所述中断等级保存部;第二中断种类判断部,接收新发生的中断,判断所述新发生的中断的种类,并将与判断出的中断种类对应的中断等级设定在所述中断等级保存部;以及优先级判断部,将所述中断等级保存部中保存的所述第二中断屏蔽等级与从所述第二中断种类判断部通知的新发生的中断的中断等级进行比较,当新发生的中断的中断等级高于所述中断等级保存部中保存的所述第二中断屏蔽等级时,向所述虚拟计算机控制部通知中断。
根据此结构,虚拟计算机控制部控制在CPU上工作的多个虚拟计算机的切换,中断控制部根据表示所发生的中断的优先级的中断等级来控制对虚拟计算机控制部的中断通知。从中断控制部通知的中断的种类得以判断,判断中断种类的结果,当所发生的中断被判断为是对当前正在执行中的虚拟计算机的中断时,保存紧邻中断发生之前的程序计数值。中断屏蔽等级设定表将在各虚拟计算机中执行的中断处理的优先级及在各虚拟计算机中执行的任务处理的优先级作为第一中断屏蔽等级预先存储。当虚拟计算机的中断处理结束时,从中断屏蔽等级设定表中与虚拟计算机接下来要执行的处理对应的第一中断屏蔽等级被通知给中断控制部。而且,请求中断控制部将中断控制部中的中断等级更新为最新状态。中断等级保存部保存一个以上的表示所发生的中断的优先级的中断等级,并将所保存的中断等级中优先级最高的中断等级作为第二中断屏蔽等级来保存。所通知的第一中断屏蔽等级作为中断等级被设定在中断等级保存部。新发生的中断得以接收,新发生的中断的种类被加以判断,并将与判断出的中断种类对应的中断等级设定在中断等级保存部。中断等级保存部中保存的第二中断屏蔽等级与从第二中断种类判断部通知的新发生的中断的中断等级被进行比较,当新发生的中断的中断等级高于中断等级保存部中保存的第二中断屏蔽等级时,向虚拟计算机控制部通知中断。
因此,通过在虚拟计算机的中断处理结束的时刻,更新在中断控制部中用于屏蔽中断的优先级,由此,即使是无法通知任务的优先级的虚拟计算机,也能够根据任务的优先级来确定虚拟计算机的优先级,从而恰当地控制虚拟计算机的切换。
而且,在上述虚拟计算机控制装置中,较为理想的是,所述中断控制部还包括保存与中断的种类对应的中断等级的中断等级设定部,所述中断等级保存部将所述第二中断种类判断部接收到的中断的中断等级作为所述中断等级设定部中预先保存的与该中断的种类对应的中断等级来保存,还将从所述第一中断屏蔽等级设定部向所述第二中断屏蔽等级设定部通知的第一中断屏蔽等级作为中断等级来保存,所述优先级判断部不将所述中断等级保存部中保存的中断等级中优先级最高的中断等级以下的中断通知给所述虚拟计算机控制部。
根据此结构,在中断等级设定部中保存有与中断的种类对应的中断等级。中断等级保存部将第二中断种类判断部接收到的中断的中断等级作为中断等级设定部中预先保存的与该中断的种类对应的中断等级来保存,且将从第一中断屏蔽等级设定部向所述第二中断屏蔽等级设定部通知的第一中断屏蔽等级作为中断等级来保存。并且,不将中断等级保存部中保存的中断等级中优先级最高的中断等级以下的中断通知给虚拟计算机控制部。
因此,能够将与通知给中断控制部的中断对应的中断等级恰当地保存在中断等级保存部中。
而且,较为理想的是,上述虚拟计算机控制装置还包括检测所述CPU已执行的向空闲状态转移的指令,并向所述第二中断种类判断部输出中断请求的空闲检测部。
根据此结构,由于CPU已执行的向空闲状态转移的指令得以检测,并对第二中断种类判断部输出中断请求,因此能够检测CPU已转移到空闲状态,即虚拟计算机的工作状态已转移到空闲状态的情况,并且能够根据该检测结果来控制中断控制部。
而且,在上述虚拟计算机控制装置中,较为理想的是,所述虚拟计算机控制部还包括保存所述多个虚拟计算机的工作状态的虚拟计算机状态保存部,所述中断控制部还包括对所述优先级判断部进行设定以便为了不对所述虚拟计算机控制部通知中断请求而屏蔽所发生的中断请求的中断屏蔽设定部,所述第二中断种类判断部当判断出所发生的中断是来自所述空闲检测部的中断请求时,将在所述虚拟计算机状态保存部中保存的刚才还正处于执行过程中的虚拟计算机的工作状态更新为空闲状态,所述中断屏蔽设定部当所有的虚拟计算机的工作状态为空闲状态时,对所述优先级判断部进行设定以便屏蔽来自所述空闲检测部的中断请求,并使所述虚拟计算机控制装置转移到空闲状态。
根据此结构,虚拟计算机状态保存部保存多个虚拟计算机的工作状态。而且,当所发生的中断被判断为是来自空闲检测部的中断请求时,虚拟计算机状态保存部中保存的刚才还正处于执行过程中的虚拟计算机的工作状态被更新为空闲状态。并且,当所有的虚拟计算机的工作状态是空闲状态时,进行设定以屏蔽来自空闲检测部的中断请求,使虚拟计算机控制装置转移到空闲状态。
因此,当所有的虚拟计算机处于空闲状态时,虚拟计算机控制装置将转移到空闲状态,因此当多个虚拟计算机中的一个虚拟计算机处于空闲状态,而其他虚拟计算机并非处于空闲状态时,虚拟计算机控制装置不会转移到空闲状态,从而能够可靠地使虚拟计算机控制装置向空闲状态转移。
而且,较为理想的是,上述虚拟计算机控制装置还包括将根据中断的种类而不同的多个中断等级通知给所述中断控制部的中断等级通知部,所述中断控制部还具备接收由所述中断等级通知部所通知的所述多个中断等级,并将接收到的所述多个中断等级分别作为第一中断屏蔽等级存储在所述中断屏蔽等级设定表中的通知等级接收部。
根据此结构,根据中断的种类而不同的多个中断等级被通知给中断控制部。并且,在中断控制部中,所通知的多个中断等级被接收,接收到的多个中断等级分别作为第一中断屏蔽等级而被存储在中断屏蔽等级设定表中。
因此,在多个虚拟计算机的其中一个虚拟计算机中,能够将根据中断的种类而不同的优先级设定在中断屏蔽等级设定表中,从而能够让其中一个虚拟计算机的一部分或全部的中断处理优先于其他虚拟计算机的任务处理而动作。
而且,在上述虚拟计算机控制装置中,较为理想的是,所述虚拟计算机控制部具备:检测虚拟计算机的中断处理已结束的中断结束检测部;以及让由所述通知的中断指定的中断恢复目的地地址退避至所述中断恢复目的地保存部,并将所述中断恢复目的地地址改写为所述中断结束检测部的地址的中断恢复目的地改写部。
根据此结构,中断结束检测部检测虚拟计算机的中断处理已结束的情况,中断恢复目的地改写部让由所通知的中断指定的中断恢复目的地地址退避至中断恢复目的地保存部,并将中断恢复目的地地址改写为中断结束检测部的地址。
因此,当虚拟计算机的中断处理结束时,通过中断结束检测部中断处理已结束的情况得以检测,因此能够可靠地检测中断处理的结束。
而且,较为理想的是,上述虚拟计算机控制装置还包括检测从周边设备输出的中断请求已被解除,并使所述中断控制部发生中断的中断求反检测部。
根据此结构,由于中断求反检测部检测从周边设备输出的中断请求已被解除,并使中断控制部发生中断,因此能够通过硬件方式检测中断处理已结束的情况,从而能够可靠地检测中断处理的结束。
本发明所提供的虚拟计算机控制程序,使计算机作为控制在CPU上工作的多个虚拟计算机的切换的虚拟计算机控制部、以及根据表示所发生的中断的优先级的中断等级控制对所述虚拟计算机控制部的中断通知的中断控制部而发挥作用,其中所述虚拟计算机控制部具备:第一中断种类判断部,判断从所述中断控制部通知的中断的种类;中断恢复目的地保存部,当由所述第一中断种类判断部判断中断种类的结果为,所发生的中断被判断为是对当前正在执行中的虚拟计算机的中断时,保存紧邻邻中断发生之前的程序计数值;中断屏蔽等级设定表,将在各虚拟计算机中执行的中断处理的优先级及在各虚拟计算机中执行的任务处理的优先级作为第一中断屏蔽等级预先存储;第一中断屏蔽等级设定部,当虚拟计算机的中断处理结束时,从所述中断屏蔽等级设定表中,将与虚拟计算机接下来要执行的处理对应的第一中断屏蔽等级通知给所述中断控制部;以及更新部,请求所述中断控制部将所述中断控制部中的中断等级更新为最新状态,并且所述中断控制部具备:中断等级保存部,保存一个以上的表示所发生的中断的优先级的中断等级,并将保存的所述中断等级中优先级最高的中断等级作为第二中断屏蔽等级来保存;第二中断屏蔽等级设定部,将由所述第一中断屏蔽等级设定部通知的所述第一中断屏蔽等级作为中断等级设定在所述中断等级保存部;第二中断种类判断部,接收新发生的中断,判断所述新发生的中断的种类,并将与判断出的中断种类对应的中断等级设定在所述中断等级保存部;以及优先级判断部,将所述中断等级保存部中保存的所述第二中断屏蔽等级与从所述第二中断种类判断部通知的新发生的中断的中断等级进行比较,当新发生的中断的中断等级高于所述中断等级保存部中保存的所述第二中断屏蔽等级时,向所述虚拟计算机控制部通知中断。
根据此结构,虚拟计算机控制部控制在CPU上工作的多个虚拟计算机的切换,中断控制部根据表示所发生的中断的优先级的中断等级,来控制对虚拟计算机控制部的中断通知。从中断控制部通知的中断的种类得以判断,判断中断种类的结果,当所发生的中断被判断为是对当前正在执行中的虚拟计算机的中断时,保存紧邻中断发生之前的程序计数值。中断屏蔽等级设定表将在各虚拟计算机中执行的中断处理的优先级及在各虚拟计算机中执行的任务处理的优先级作为第一中断屏蔽等级预先存储。当虚拟计算机的中断处理结束时,从中断屏蔽等级设定表中与虚拟计算机接下来要执行的处理对应的第一中断屏蔽等级被通知给中断控制部。而且,请求中断控制部将中断控制部中的中断等级更新为最新状态。中断等级保存部保存一个以上的表示所发生的中断的优先级的中断等级,并将所保存的中断等级中的优先级最高的中断等级作为第二中断屏蔽等级来保存。所通知的第一中断屏蔽等级作为中断等级被设定在中断等级保存部。新发生的中断得以接收,新发生的中断的种类被加以判断,并将与判断出的中断种类对应的中断等级设定在中断等级保存部。中断等级保存部中保存的第二中断屏蔽等级与从第二中断种类判断部通知的新发生的中断的中断等级被进行比较,当新发生的中断的中断等级高于中断等级保存部中保存的第二中断屏蔽等级时,向虚拟计算机控制部通知中断。
因此,通过在虚拟计算机的中断处理结束的时刻,更新在中断控制部中对用于屏蔽中断的优先级,由此,即使是无法通知任务的优先级的虚拟计算机,也能够根据任务的优先级来确定虚拟计算机的优先级,从而恰当地控制虚拟计算机的切换。
本发明所提供的虚拟计算机控制电路包括:控制在CPU上工作的多个虚拟计算机的切换的虚拟计算机控制电路;以及根据表示所发生的中断的优先级的中断等级控制对所述虚拟计算机控制部的中断通知的中断控制电路,其中,所述虚拟计算机控制电路具备:第一中断种类判断电路,判断从所述中断控制部通知的中断的种类;中断恢复目的地保存电路,当由所述第一中断种类判断电路判断中断种类的结果为,所发生的中断被判断为是对当前正在执行中的虚拟计算机的中断时,保存紧邻中断发生之前的程序计数值;中断屏蔽等级设定表,将在各虚拟计算机中执行的中断处理的优先级及在各虚拟计算机中执行的任务处理的优先级作为第一中断屏蔽等级的预先存储;第一中断屏蔽等级设定电路,当虚拟计算机的中断处理结束时,从所述中断屏蔽等级设定表中,与虚拟计算机接下来要执行的处理对应的第一中断屏蔽等级被通知给所述中断控制电路;以及更新电路,请求所述中断控制电路将所述中断控制电路中的中断等级更新为最新状态,并且所述中断控制电路具备:中断等级保存电路,保存一个以上的表示所发生的中断的优先级的中断等级,并将保存的所述中断等级中优先级最高的中断等级作为第二中断屏蔽等级来保存;第二中断屏蔽等级设定电路,将由所述第一中断屏蔽等级设定电路通知的所述第一中断屏蔽等级作为中断等级设定在所述中断等级保存电路;第二中断种类判断电路,接收新发生的中断,判断所述新发生的中断的种类,并将与判断出的中断种类对应的中断等级设定在所述中断等级保存电路中;以及优先级判断电路,将所述中断等级保存电路中保存的所述第二中断屏蔽等级与从所述第二中断种类判断电路通知的新发生的中断的中断等级进行比较,当新发生的中断的中断等级高于所述中断等级保存电路中保存的所述第二中断屏蔽等级时,向所述虚拟计算机控制电路通知中断。
根据此结构,虚拟计算机控制电路控制在CPU上工作的多个虚拟计算机的切换,中断控制电路根据表示所发生的中断的优先级的中断等级来控制对虚拟计算机控制电路的中断通知。从中断控制电路通知的中断的种类得以判断,判断中断种类的结果,当所发生的中断被判断为是对当前正在执行中的虚拟计算机的中断时,保存紧邻中断发生之前的程序计数值。中断屏蔽等级设定表将在各虚拟计算机中执行的中断处理的优先级及在各虚拟计算机中执行的任务处理的优先级作为第一中断屏蔽等级预先存储。当虚拟计算机的中断处理结束时,从中断屏蔽等级设定表中与虚拟计算机接下来要执行的处理对应的第一中断屏蔽等级被通知给中断控制电路。而且,请求中断控制电路将中断控制电路的中断等级更新为最新状态。中断等级保存电路保存一个以上的表示所发生的中断的优先级的中断等级,并将所保存的中断等级中优先级最高的中断等级作为第二中断屏蔽等级来保存。所通知的第一中断屏蔽等级作为中断等级被设定在中断等级保存电路中。新发生的中断得以接收,新发生的中断的种类被加以判断,并将与判断出的中断种类对应的中断等级设定在中断等级保存电路中。中断等级保存电路中保存的第二中断屏蔽等级与从第二中断种类判断电路通知的新发生的中断的中断等级被进行比较,当新发生的中断的中断等级高于中断等级保存电路中保存的第二中断屏蔽等级时,向虚拟计算机控制电路通知中断。
因此,通过在虚拟计算机的中断处理结束的时刻,更新在中断控制部中用于屏蔽中断的优先级,由此,即使是无法通知任务的优先级的虚拟计算机,也能够根据任务的优先级来确定虚拟计算机的优先级,从而恰当地控制虚拟计算机的切换。
本发明所提供的虚拟计算机控制方法包括以下步骤:第一中断种类判断步骤,根据表示所发生的中断的优先级的中断等级,判断从控制中断通知的中断控制部通知的中断的种类;中断恢复目的地保存步骤,当在所述第一中断种类判断步骤中判断中断种类的结果为,所发生的中断判断为是对当前正在执行中的虚拟计算机的中断时,保存紧邻中断发生之前的程序计数值;第一中断屏蔽等级设定步骤,当虚拟计算机的中断处理结束时,从将在各虚拟计算机中执行的中断处理的优先级及在各虚拟计算机中执行的任务处理的优先级作为第一中断屏蔽等级预先存储的中断屏蔽等级设定表中,将与虚拟计算机接下来要执行的处理对应的第一中断屏蔽等级通知给所述中断控制部;更新步骤,请求所述中断控制部将所述中断控制部中的中断等级更新为最新状态;中断等级保存步骤,保存一个以上的表示所发生的中断的优先级的中断等级,并将所保存的所述中断等级中优先级最高的中断等级作为第二中断屏蔽等级保存在中断等级保存部中;第二中断屏蔽等级设定步骤,将在所述第一中断屏蔽等级设定步骤中通知的所述第一中断屏蔽等级作为中断等级设定在所述中断等级保存部;第二中断种类判断步骤,接收新发生的中断,判断所述新发生的中断的种类,并将与判断出的中断种类对应的中断等级设定在所述中断等级保存部;以及优先级判断步骤,将所述中断等级保存部中保存的所述第二中断屏蔽等级与从所述第二中断种类判断部通知的新发生的中断的中断等级进行比较,当新发生的中断的中断等级高于所述中断等级保存部中保存的所述第二中断屏蔽等级时,向对在CPU上工作的多个虚拟计算机的切换进行控制的虚拟计算机控制部通知中断。
根据此结构,虚拟计算机控制部控制在CPU上工作的多个虚拟计算机的切换,中断控制部根据表示所发生的中断的优先级的中断等级,来控制对虚拟计算机控制部的中断通知。从中断控制部通知的中断的种类得以判断,判断中断种类的结果,当所发生的中断被判断为是对当前正在执行中的虚拟计算机的中断时,保存紧邻中断发生之前的程序计数值。中断屏蔽等级设定表将各虚拟计算机中执行的中断处理的优先级及各虚拟计算机中执行的任务处理的优先级作为第一中断屏蔽等级预先存储。当虚拟计算机的中断处理结束时,从中断屏蔽等级设定表中与虚拟计算机接下来要执行的处理对应的第一中断屏蔽等级被通知给中断控制部。而且,请求中断控制部将中断控制部中的中断等级更新为最新状态。中断等级保存部保存一个以上的表示所发生的中断的优先级的中断等级,并将所保存的中断等级中优先级最高的中断等级作为第二中断屏蔽等级来保存。所通知的第一中断屏蔽等级作为中断等级被设定在中断等级保存部。新发生的中断得以接收,新发生的中断的种类被加以判断,并将与判断出的中断种类对应的中断等级设定在中断等级保存部。中断等级保存部中保存的第二中断屏蔽等级与从第二中断种类判断部通知的新发生的中断的中断等级被进行比较,当新发生的中断的中断等级高于中断等级保存部中保存的第二中断屏蔽等级时,向虚拟计算机控制部通知中断。
因此,通过在虚拟计算机的中断处理结束的时刻,更新在中断控制部中用于屏蔽中断的优先级,由此,即使是无法通知任务的优先级的虚拟计算机,也能够根据任务的优先级来确定虚拟计算机的优先级,从而恰当地控制虚拟计算机的切换。
另外,发明的实施方式各项中的具体实施方式或实施例到底只是明确了本发明的技术内容,不应只被这样的具体例限定而被狭义地解释,在本发明的精神和技术方案的范围内可进行各种变更而加以实施。
产业上的利用可能性
本发明所提供的虚拟计算机控制装置、虚拟计算机控制程序及虚拟计算机控制电路在使用虚拟计算机的信息处理装置等中有效。而且,本发明所提供的虚拟计算机控制装置、虚拟计算机控制程序及虚拟计算机控制电路不仅可用作大型计算机或个人电脑之类的形态,而且可用于各种家电设备、包括移动电话的通信设备、产业设备及乘用设备等组装设备中。

Claims (9)

1.一种虚拟计算机控制装置,其特征在于包括:
虚拟计算机控制部,用于控制在CPU上工作的多个虚拟计算机的切换;以及
中断控制部,根据表示所发生的中断的优先级的中断等级,控制对所述虚拟计算机控制部的中断通知,其中,
所述虚拟计算机控制部具备:
第一中断种类判断部,判断从所述中断控制部通知的中断的种类;
中断恢复目的地保存部,当由所述第一中断种类判断部判断中断种类的结果为,
所发生的中断被判断为是对当前正在执行中的虚拟计算机的中断时,保存紧邻中断发生之前的程序计数值;
中断屏蔽等级设定表,将在各虚拟计算机中执行的中断处理的优先级及在各虚拟计算机中执行的任务处理的优先级作为第一中断屏蔽等级预先存储;
第一中断屏蔽等级设定部,当虚拟计算机的中断处理结束时,从所述中断屏蔽等级设定表中,将与虚拟计算机接下来要执行的处理相对应的第一中断屏蔽等级通知给所述中断控制部;以及
更新部,请求所述中断控制部将所述中断控制部中的中断等级更新为最新状态,所述中断控制部具备:
中断等级保存部,保存一个以上的表示所发生的中断的优先级的中断等级,并将保存的所述中断等级中优先级最高的中断等级作为第二中断屏蔽等级来保存;
第二中断屏蔽等级设定部,将由所述第一中断屏蔽等级设定部通知的所述第一中断屏蔽等级作为中断等级设定在所述中断等级保存部;
第二中断种类判断部,接收新发生的中断,判断所述新发生的中断的种类,并将与判断出的中断种类对应的中断等级设定在所述中断等级保存部;以及
优先级判断部,将所述中断等级保存部中保存的所述第二中断屏蔽等级与从所述第二中断种类判断部通知的新发生的中断的中断等级进行比较,当新发生的中断的中断等级高于所述中断等级保存部中保存的所述第二中断屏蔽等级时,向所述虚拟计算机控制部通知中断。
2.根据权利要求1所述的虚拟计算机控制装置,其特征在于:所述中断控制部还包括保存与中断的种类对应的中断等级的中断等级设定部,其中,
所述中断等级保存部,将所述第二中断种类判断部接收到的中断的中断等级作为所述中断等级设定部中预先保存的与该中断的种类对应的中断等级来保存,还将从所述第一中断屏蔽等级设定部对所述第二中断屏蔽等级设定部通知的第一中断屏蔽等级作为中断等级来保存,
所述优先级判断部,不将所述中断等级保存部中保存的中断等级中优先级最高的中断等级以下的中断通知给所述虚拟计算机控制部。
3.根据权利要求1或2所述的虚拟计算机控制装置,其特征在于还包括:检测所述CPU已执行的向空闲状态转移的指令,并向所述第二中断种类判断部输出中断请求的空闲检测部。
4.根据权利要求3所述的虚拟计算机控制装置,其特征在于:
所述虚拟计算机控制部还包括保存所述多个虚拟计算机的工作状态的虚拟计算机状态保存部,
所述中断控制部还包括对所述优先级判断部进行设定,以便为了不向所述虚拟计算机控制部通知中断请求而屏蔽所发生的中断请求的中断屏蔽设定部,其中,
所述第二中断种类判断部,当判断出所发生的中断是来自所述空闲检测部的中断请求时,将在所述虚拟计算机状态保存部中保存的刚才还正处于执行过程中的虚拟计算机的工作状态更新为空闲状态,
所述中断屏蔽设定部,当所有的虚拟计算机的工作状态为空闲状态时,对所述优先级判断部进行设定以便屏蔽来自所述空闲检测部的中断请求,并使所述虚拟计算机控制装置转移到空闲状态。
5.根据权利要求1至4中任一项所述的虚拟计算机控制装置,其特征在于还包括:将根据中断的种类而不同的多个中断等级通知给所述中断控制部的中断等级通知部,其中,
所述中断控制部还具备接收由所述中断等级通知部通知的所述多个中断等级,并将接收到的所述多个中断等级分别作为第一中断屏蔽等级存储在所述中断屏蔽等级设定表中的通知等级接收部。
6.根据权利要求1至5中任一项所述的虚拟计算机控制装置,其特征在于,所述虚拟计算机控制部还包括:
中断结束检测部,检测虚拟计算机的中断处理已结束;以及
中断恢复目的地改写部,让由所述通知的中断指定的中断恢复目的地地址退避至所述中断恢复目的地保存部,并将所述中断恢复目的地地址改写为所述中断结束检测部的地址。
7.根据权利要求1至5中任一项所述的虚拟计算机控制装置,其特征在于还包括:检测从周边设备输出的中断请求已被解除并使所述中断控制部发生中断的中断求反检测部。
8.一种虚拟计算机控制程序,其特征在于:使计算机作为以下各部而发挥作用,
虚拟计算机控制部,用于控制在CPU上工作的多个虚拟计算机的切换,
中断控制部,根据表示所发生的中断的优先级的中断等级,控制对所述虚拟计算机控制部的中断通知,其中,
所述虚拟计算机控制部具备:
第一中断种类判断部,判断从所述中断控制部通知的中断的种类;
中断恢复目的地保存部,当由所述第一中断种类判断部判断中断种类的结果为,
所发生的中断被判断为是针对当前正在执行中的虚拟计算机的中断时,保存紧邻中断发生之前的程序计数值;
中断屏蔽等级设定表,将在各虚拟计算机中执行的中断处理的优先级及在各虚拟计算机中执行的任务处理的优先级作为第一中断屏蔽等级预先存储;
第一中断屏蔽等级设定部,当虚拟计算机的中断处理结束时,从所述中断屏蔽等级设定表中,将与虚拟计算机接下来要执行的处理对应的第一中断屏蔽等级通知给所述中断控制部;以及
更新部,请求所述中断控制部将所述中断控制部中的中断等级更新为最新状态,所述中断控制部具备:
中断等级保存部,保存一个以上的表示所发生的中断的优先级的中断等级,并将保存的所述中断等级中优先级最高的中断等级作为第二中断屏蔽等级来保存;
第二中断屏蔽等级设定部,将由所述第一中断屏蔽等级设定部通知的所述第一中断屏蔽等级作为中断等级设定在所述中断等级保存部;
第二中断种类判断部,接收新发生的中断,判断所述新发生的中断的种类,并将与判断出的中断种类对应的中断等级设定在所述中断等级保存部;以及
优先级判断部,将所述中断等级保存部中保存的所述第二中断屏蔽等级与从所述第二中断种类判断部通知的新发生的中断的中断等级进行比较,当新发生的中断的中断等级高于所述中断等级保存部中保存的所述第二中断屏蔽等级时,向所述虚拟计算机控制部通知中断。
9.一种虚拟计算机控制电路,其特征在于包括:
虚拟计算机控制电路,用于控制在CPU上工作的多个虚拟计算机的切换;以及
中断控制电路,根据表示所发生的中断的优先级的中断等级,控制对所述虚拟计算机控制部的中断通知,其中,
所述虚拟计算机控制电路具备:
第一中断种类判断电路,判断从所述中断控制部通知的中断的种类;
中断恢复目的地保存电路,当由所述第一中断种类判断电路判断中断种类的结果为,所发生的中断被判断为是针对当前正在执行中的虚拟计算机的中断时,保存紧邻中断发生之前的程序计数值;
中断屏蔽等级设定表,将在各虚拟计算机中执行的中断处理的优先级及在各虚拟计算机中执行的任务处理的优先级作为第一中断屏蔽等级预先存储;
第一中断屏蔽等级设定电路,当虚拟计算机的中断处理结束时,从所述中断屏蔽等级设定表中,将与虚拟计算机接下来要执行的处理对应的第一中断屏蔽等级通知给所述中断控制电路;以及
更新电路,请求所述中断控制电路将所述中断控制部中的中断等级更新为最新状态,
所述中断控制电路具备:
中断等级保存电路,保存一个以上的表示所发生的中断的优先级的中断等级,并将保存的所述中断等级中的优先级最高的中断等级作为第二中断屏蔽等级来保存;
第二中断屏蔽等级设定电路,将由所述第一中断屏蔽等级设定电路所通知的所述第一中断屏蔽等级作为中断等级设定在所述中断等级保存电路中;
第二中断种类判断电路,接收新发生的中断,判断所述新发生的中断的种类,并将与判断出的中断种类对应的中断等级设定在所述中断等级保存电路中;以及
优先级判断电路,将所述中断等级保存电路中保存的所述第二中断屏蔽等级与从所述第二中断种类判断电路通知的新发生的中断的中断等级进行比较,当新发生的中断的中断等级高于所述中断等级保存电路中保存的所述第二中断屏蔽等级时,向所述虚拟计算机控制电路通知中断。
CN2009801229706A 2008-06-24 2009-06-23 虚拟计算机控制装置、虚拟计算机控制程序以及虚拟计算机控制电路 Pending CN102067089A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008164079 2008-06-24
JP2008-164079 2008-06-24
PCT/JP2009/002847 WO2009157178A1 (ja) 2008-06-24 2009-06-23 仮想計算機制御装置、仮想計算機制御プログラム及び仮想計算機制御回路

Publications (1)

Publication Number Publication Date
CN102067089A true CN102067089A (zh) 2011-05-18

Family

ID=41444251

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801229706A Pending CN102067089A (zh) 2008-06-24 2009-06-23 虚拟计算机控制装置、虚拟计算机控制程序以及虚拟计算机控制电路

Country Status (4)

Country Link
US (1) US8504752B2 (zh)
JP (1) JP5323828B2 (zh)
CN (1) CN102067089A (zh)
WO (1) WO2009157178A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104536893A (zh) * 2015-01-05 2015-04-22 中国农业银行股份有限公司 一种批量处理程序容报错处理方法及装置
CN108415762A (zh) * 2017-02-10 2018-08-17 凯欧斯科技(香港)有限公司 移动装置之应用管理方法及移动装置
CN109960567A (zh) * 2017-12-25 2019-07-02 瑞萨电子株式会社 半导体设备

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5365399B2 (ja) * 2009-07-27 2013-12-11 富士通株式会社 スクリーンセーバ制御システム、画像処理装置、画像表示装置、スクリーンセーバ制御方法、及びコンピュータプログラム
CN102667725B (zh) * 2010-01-13 2015-09-16 马维尔以色列(M.I.S.L.)有限公司 用于媒体处理的硬件虚拟化
US8504753B2 (en) * 2011-02-14 2013-08-06 Qnx Software Systems Limited Suspendable interrupts for processor idle management
JP5696603B2 (ja) * 2011-06-29 2015-04-08 富士通株式会社 計算機システム、計算機システムの電力制御方法およびプログラム
US8949498B2 (en) 2011-08-11 2015-02-03 Mellanox Technologies Ltd. Interrupt handling in a virtual machine environment
US8886862B2 (en) * 2011-08-11 2014-11-11 Mellanox Technologies Ltd. Virtualization of interrupts
US9069741B2 (en) * 2013-02-25 2015-06-30 Red Hat, Inc. Emulating level triggered interrupts of physical devices assigned to virtual machine
US9378162B2 (en) 2013-05-21 2016-06-28 Arm Limited Handling and routing interrupts to virtual processors
US10380047B2 (en) 2014-04-07 2019-08-13 Mellanox Technologies, Ltd. Traffic-dependent adaptive interrupt moderation
US9696790B2 (en) * 2014-10-24 2017-07-04 Advanced Micro Devices, Inc. Power management through power gating portions of an idle processor
US10387178B2 (en) * 2014-10-29 2019-08-20 Red Hat Israel, Ltd. Idle based latency reduction for coalesced interrupts
US9898321B2 (en) * 2015-07-23 2018-02-20 At&T Intellectual Property I, L.P. Data-driven feedback control system for real-time application support in virtualized networks
US10467161B2 (en) 2016-05-25 2019-11-05 Mellanox Technologies, Ltd. Dynamically-tuned interrupt moderation
US11392406B1 (en) * 2019-10-22 2022-07-19 Amazon Technologies, Inc. Alternative interrupt reporting channels for microcontroller access devices
US11467983B1 (en) 2019-10-22 2022-10-11 Amazon Technologies, Inc. Independently configurable interleaving for interconnect access requests
US11546336B1 (en) 2019-10-22 2023-01-03 Amazon Technologies, Inc. Independently configurable access device stages for processing interconnect access requests
US11552948B1 (en) 2020-03-26 2023-01-10 Amazon Technologies, Inc. Domain management intermediary service
US11595472B2 (en) 2021-01-19 2023-02-28 Mellanox Technologies, Ltd. Controlling packet delivery based on application level information
US11792139B2 (en) 2022-01-24 2023-10-17 Mellanox Technologies, Ltd. Efficient packet reordering using hints

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5642860A (en) * 1979-09-18 1981-04-21 Nec Corp Interruption control system for information processor
JPS61204743A (ja) * 1985-03-08 1986-09-10 Hitachi Ltd マイクロ・プロセツサの割込み制御方式
US4975836A (en) * 1984-12-19 1990-12-04 Hitachi, Ltd. Virtual computer system
JPH02208740A (ja) * 1989-02-09 1990-08-20 Fujitsu Ltd 仮想計算機制御方式
US5301312A (en) * 1991-08-21 1994-04-05 International Business Machines Corporation Method and system for utilizing benign fault occurrence to measure interrupt-blocking times
JPH06187178A (ja) * 1992-12-18 1994-07-08 Hitachi Ltd 仮想計算機システムの入出力割込み制御方法
JPH08190486A (ja) * 1995-01-09 1996-07-23 Mitsubishi Electric Corp 信号変化検出処理装置
JP4072271B2 (ja) * 1999-02-19 2008-04-09 株式会社日立製作所 複数のオペレーティングシステムを実行する計算機
JP2000347883A (ja) * 1999-06-03 2000-12-15 Matsushita Electric Ind Co Ltd 仮想計算機装置
JP2002149290A (ja) * 2000-11-13 2002-05-24 Olympus Optical Co Ltd マイクロコンピュータ
US7177967B2 (en) * 2003-09-30 2007-02-13 Intel Corporation Chipset support for managing hardware interrupts in a virtual machine system
US7222203B2 (en) * 2003-12-08 2007-05-22 Intel Corporation Interrupt redirection for virtual partitioning
US20050228921A1 (en) * 2004-03-31 2005-10-13 Prashant Sethi Sharing of interrupts between operating entities
US7975267B2 (en) * 2007-03-30 2011-07-05 Bennett Steven M Virtual interrupt processing in a layered virtualization architecture
GB2462258B (en) * 2008-07-28 2012-02-08 Advanced Risc Mach Ltd Interrupt control for virtual processing apparatus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104536893A (zh) * 2015-01-05 2015-04-22 中国农业银行股份有限公司 一种批量处理程序容报错处理方法及装置
CN108415762A (zh) * 2017-02-10 2018-08-17 凯欧斯科技(香港)有限公司 移动装置之应用管理方法及移动装置
CN109960567A (zh) * 2017-12-25 2019-07-02 瑞萨电子株式会社 半导体设备

Also Published As

Publication number Publication date
US20110106993A1 (en) 2011-05-05
US8504752B2 (en) 2013-08-06
WO2009157178A1 (ja) 2009-12-30
JP5323828B2 (ja) 2013-10-23
JPWO2009157178A1 (ja) 2011-12-08

Similar Documents

Publication Publication Date Title
CN102067089A (zh) 虚拟计算机控制装置、虚拟计算机控制程序以及虚拟计算机控制电路
US8504703B2 (en) Systems and methods for instruction sequence compounding in a virtual machine environment
CN101689127A (zh) 虚拟计算机控制装置、虚拟计算机控制方法及虚拟计算机控制程序
JP5697206B2 (ja) 不正アクセスに対する防御をするシステム、方法およびプログラム
CN100375060C (zh) 一种嵌入式系统及其实时内存监控处理方法
CN102804134B (zh) 处理异常事件的装置和方法
JP5665188B2 (ja) ソフトウエア更新を適用した情報処理装置を検査するシステム
EP2431876B1 (en) Method and device for exception handling in embedded system
CN100470485C (zh) 多操作系统协同工作实现方法
CN101464819B (zh) 进入低功率模式前的硬件驱动处理器状态存储
TWI569164B (zh) 在具有安全網域與較不安全網域之資料處理設備之例外處理
KR101438990B1 (ko) 시스템 테스트 방법
US8612973B2 (en) Method and system for handling interrupts within computer system during hardware resource migration
CN101968746A (zh) 一种内核虚拟机组织架构模式的实现方法
CN104156197A (zh) 微处理器以及微处理器操作方法
US7984413B2 (en) Wiring design processing method and wiring design processing apparatus
Bohra et al. Remote repair of operating system state using backdoors
US20130179994A1 (en) Dual Trust Architecture
CN102047228A (zh) 设备仿真支援装置、设备仿真支援方法、设备仿真支援电路及信息处理装置
CN105224403B (zh) 一种中断处理方法及装置
EP2979182B1 (en) On-demand scalable timer wheel
US20100085871A1 (en) Resource leak recovery in a multi-node computer system
CN107526622A (zh) Linux的快速异常处理方法及装置
US8537662B2 (en) Global detection of resource leaks in a multi-node computer system
US8726244B2 (en) Software breakpoint handling by eliminating instruction replacement and execution under certain conditions

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110518