虚拟计算机控制装置、虚拟计算机控制程序以及虚拟计算机控制电路的制作方法

文档序号:6593967阅读:175来源:国知局
专利名称:虚拟计算机控制装置、虚拟计算机控制程序以及虚拟计算机控制电路的制作方法
技术领域
本发明涉及一种虚拟计算机技术,使多个操作系统(Operating System,以下简称 作OS)与OS的应用程序(application)在一个CPU上工作,尤其涉及一种控制多个虚拟计 算机的切换的虚拟计算机控制装置。
背景技术
信息处理装置中执行的处理的性质是多种多样的。例如,要求实时性能的处理以 利用实时OS (以下简称作RT0S)为宜。另一方面,如果利用图形功能丰富的0S,则可提供图 形功能非常优异的用户界面等。通过利用虚拟计算机技术,能够在一台机器上同时执行性 质不同的处理。虚拟计算机技术(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通知的中断请求中优先级最高的中断请求, 并向CPUl通知优先级最高的中断。第一中断控制器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检测CPUl已执行转移到空闲状态(idle state)(节能模式)的指 定,向第二中断种类判断部13输出中断请求。即,空闲检测部7检测当CPUl发布转移到节 能模式的指令时从CPUl输出的信号,并将中断请求通知给综合中断控制器2。存储器8中存储有使CPUl作为虚拟计算机控制部20、第一虚拟计算机30及第二 虚拟计算机40而发挥功能的程序。存储器8未必需要由单一的存储器装置构成,也可以是 同种类的多个存储器或包括只读存储器(ROM)的不同种类的存储器的组合。此外,除了存 储器8以外,也可以设置例如硬盘驱动器之类的外部存储装置,在信息处理装置的工作不 出现问题的范围内,使存储器8的内容移动到外部存储装置中。图2是表示本发明实施方式1的信息处理装置的存储器8的详细结构的框图。存 储器8存储使CPUl作为第一虚拟计算机30、第二虚拟计算机40及虚拟计算机控制部20发 挥作用的程序。第一虚拟计算机30具备多个任务300及第一 0S310。而且,第一 0S310包括任务 调度器311及中断处理部312。任务调度器(task scheduler) 311确定接下来应执行的任务,并执行所确定的任 务。中断处理部312包括多个中断处理机(interrupt handler) 320,当接收到中断发生时, 执行与中断的因素相对应的中断处理机320。以下,将第一虚拟计算机30作为不可改变软 件的虚拟计算机来进行说明。第二虚拟计算机40与第一虚拟计算机30同样,具备多个任务400及第二 0S410。 而且,第二 0S410包括任务调度器411及中断处理部412。任务调度器411确定接下来应执行的任务,并执行所确定的任务。中断处理部412 包括多个中断处理机420,当接收到中断发生时,执行与中断的因素相对应的中断处理机 420。任务调度器411及中断处理部412的工作与第一虚拟计算机30中所具备的任务 调度器311及中断处理部312相同。另外,对各任务300、400或中断处理机320、420设定优先级。
本发明实施方式1的信息处理装置具备多个虚拟计算机(第一虚拟计算机30及 第二虚拟计算机40),各虚拟计算机(第一虚拟计算机30及第二虚拟计算机40)包括彼此 不同的OS(第一 0S310及第二 0S410)、任务300、400及中断处理机320、420。第一虚拟计算机30和第二虚拟计算机40通过后述的虚拟计算机控制部20来切 换。多个虚拟计算机(第一虚拟计算机30及第二虚拟计算机40)并非同时工作,而是分时 地被执行。因此,能够在一个物理计算机上实现多个计算机的运行。例如,要求实时性能的 处理作为第一虚拟计算机30的任务300或中断处理机320而被安装,第一 0S310使用实时 性能优异的RT0S。与用户界面相关的处理作为第二虚拟计算机40的任务400或中断处理 机420而被安装,第二 0S410使用图形功能丰富的OS。通过采用这样的结构,本实施方式1的信息处理装置能够同时实现需要实时性能 的传输系统的控制和使用丰富的图形功能的优异的用户界面控制。另外,未必一定需要使第一 0S310与第二 0S410为彼此不同的0S,也可以使第一 0S310与第二 0S410为相同的OS。虚拟计算机控制部20控制在CPUl上工作的多个虚拟计算机的切换。虚拟计算机 控制部20具备中断恢复目的地(destination)保存部200、虚拟计算机状态保存部201、虚 拟计算机调度部202、中断恢复目的地改写部203、第一中断种类判断部204、中断通知接收 部205、中断屏蔽等级(interrupt mask level)更新部206、中断屏蔽等级设定表207、第一 中断屏蔽等级设定部208、中断处理机结束检测部209、切换通知接收部210、第一中断屏蔽 设定部211及第一中断等级设定部212。中断通知接收部205,在发生中断时,经由CPUl接收来自综合中断控制器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
9timer)在虚拟计算机进入冻结状态(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的任务的中断屏蔽等级。S卩,第一中断屏蔽等级设定部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将用于设定与各中断种类对应的中断等级的中断等级
11设定请求发送至后面将要叙述的综合中断控制器2内的第二中断等级设定部12,以对与各 中断种类对应的中断等级进行设定。另外,第一中断等级设定部212在系统启动时进行处 理。由此,在发生中断时,能够进行与中断种类的中断等级相对应的处理。图3是表示本发明实施方式1的信息处理装置的综合中断控制器2的详细结构的 框图。利用图3对综合中断控制器2的详细结构进行说明。综合中断控制器2根据表示所发生的中断的优先级的中断等级,控制对虚拟计算 机控制部20的中断通知。综合中断控制器2具备第二中断屏蔽设定部11、第二中断等级设 定部12、第二中断种类判断部13、优先级判断部14、第二中断屏蔽等级设定部15及中断等 级保存部16。另外,在本实施方式中,综合中断控制器2相当于中断控制部的一例。第二中断屏蔽设定部11是用来设定是否将来自第一中断控制器3、第二中断控制 器4及空闲检测部7的中断请求通知给CPUl的寄存器(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。CPUl在被输入来自优先级判断部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接收从CPUl 输出的中断发生通知(步骤Si)。例如,CPUl接收到从综合中断控制器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中获取中断恢复目 的地地址,使虚拟计算机转移到中断发生前的状态(步骤Sll)。在此,由于在第一虚拟计算 机30的任务处理执行过程中发生了中断请求,因此恢复第一虚拟计算机30的任务处理。然后,第一虚拟计算机30执行任务300的处理(步骤Si》。另外,在此,在步骤 S9中中断屏蔽等级被设定为“4”。因此,在第一虚拟计算机30的任务处理执行过程中,来 自中断等级为“5”的第二中断控制器4的中断被屏蔽,可以按照图6所示的优先级来调度 虚拟计算机。当第一虚拟计算机30的任务处理结束时,CPUl发布使第一虚拟计算机30转移到 节能模式(空闲状态)的指令(步骤S13)。空闲检测部7检测在步骤S13中发布的指令,并向综合中断控制器2发送中断请 求(步骤S14)。由此,虚拟计算机控制部20能够检测第一虚拟计算机30中的任务处理的结束。并且,综合中断控制器2如果接收到来自空闲检测部7的中断请求,向CPUl输出 中断请求。CPUl向虚拟计算机控制部20输出中断发生通知。然后,恢复图7的步骤Sl的 处理,中断通知接收部205接收从CPUl输出的中断发生通知。图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)。这是为了屏蔽在执行向节能模式转移的指令时发生的中断通知以 使整个系统实际上转移到节能模式而实施的。然后,CPUl使整个系统转移到节能模式(步 骤S22)。继而,恢复图7的步骤Sl的处理,当发生中断时,中断通知接收部205接收从CPUl 输出的中断发生通知。另一方面,当判断出第一虚拟计算机30和第二虚拟计算机40并非都处于空闲状 态时,即,判断出有不处于空闲状态的虚拟计算机时(步骤S20中为“否”),虚拟计算机调 度部202让转移到不处于空闲状态的虚拟计算机的任务处理(步骤S23)。接下来,当第一虚拟计算机30并非空闲状态时,第二虚拟计算机40执行任务400 的处理,当第二虚拟计算机40并非空闲状态时,第一虚拟计算机30执行任务300的处理 (步骤S24)。然后,恢复图7的步骤Sl的处理,当发生中断时,中断通知接收部205接收从 CPUl输出的中断发生通知。图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的步骤Sl的处理,当发生中断时,中断通知接收部205接收从CPUl输出的中 断发生通知。根据以上的结构,能够利用虚拟计算机控制部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接收从CPUl 输出的中断发生通知(步骤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的 中断请求时,向CPUl输出中断请求。CPUl向虚拟计算机控制部20输出中断发生通知。随 后,恢复步骤S41的处理,中断通知接收部205接收从CPUl输出的中断发生通知。中断通知接收部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。
19
中断等级通知部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也可以由程序构成。此时,使CPUl作为综合中断控制器 2、虚拟计算机控制部20及空闲检测部7而发挥功能的虚拟计算机控制程序被存储在存储 器8内。此外,虚拟计算机控制程序也可以被记录在计算机可读取的记录介质中。而且,本发明的各功能区块典型的是作为软件而加以实现,但也可以用集成电路 LSI来实现。各功能区块可以分别被集成为一个芯片(one chip),也可以将一部分或全 部集成为一个芯片。在此,虽然被称为LSI,但根据集成度的不同有时也被称为IC、系统 LSI、大规模(super)LSI或超大规模(ultra)LSI。而且,集成电路化的技术不仅限于LSI, 也可通过专用电路或通用处理器来实现。也可以利用在LSI制造后可编程的FPGA(Field Programmable Gate Array,现场可编程门阵列)、或可重新构成LSI内部的电路单元的连接或设定的可重构处理器(reconfigurable processor) 0此外,如果随着半导体技术的进步 或派生的其他技术而出现可替代LSI的集成电路化技术,则当然也可以使用该技术来进行 功能块的集成化。作为替代LSI的集成电路化技术,例如存在生物技术的适应等的可能性。另外,在上述具体的实施方式中主要包括具有以下结构的发明。本发明所提供的虚拟计算机控制装置包括控制在CPU上工作的多个虚拟计算机 的切换的虚拟计算机控制部;以及根据表示所发生的中断的优先级的中断等级控制对所述 虚拟计算机控制部的中断通知的中断控制部,其中,所述虚拟计算机控制部具备第一中断 种类判断部,判断从所述中断控制部通知的中断的种类;中断恢复目的地保存部,当由所述 第一中断种类判断部判断中断种类的结果为,所发生的中断被判断为是对当前正在执行中 的虚拟计算机的中断时,保存紧邻中断发生之前的程序计数值;中断屏蔽等级设定表,将在 各虚拟计算机中执行的中断处理的优先级及在各虚拟计算机中执行的任务处理的优先级 作为第一中断屏蔽等级预先存储;第一中断屏蔽等级设定部,当虚拟计算机的中断处理结 束时,从所述中断屏蔽等级设定表中将与虚拟计算机接下来要执行的处理对应的第一中断 屏蔽等级通知给所述中断控制部;以及更新部,请求所述中断控制部将所述中断控制部中 的中断等级更新为最新状态,并且所述中断控制部具备中断等级保存部,保存一个以上的 表示所发生的中断的优先级的中断等级,并将所保存的所述中断等级中优先级最高的中断 等级作为第二中断屏蔽等级来保存;第二中断屏蔽等级设定部,将由所述第一中断屏蔽等 级设定部通知的所述第一中断屏蔽等级作为中断等级设定在所述中断等级保存部;第二中 断种类判断部,接收新发生的中断,判断所述新发生的中断的种类,并将与判断出的中断种 类对应的中断等级设定在所述中断等级保存部;以及优先级判断部,将所述中断等级保存 部中保存的所述第二中断屏蔽等级与从所述第二中断种类判断部通知的新发生的中断的 中断等级进行比较,当新发生的中断的中断等级高于所述中断等级保存部中保存的所述第 二中断屏蔽等级时,向所述虚拟计算机控制部通知中断。根据此结构,虚拟计算机控制部控制在CPU上工作的多个虚拟计算机的切换,中 断控制部根据表示所发生的中断的优先级的中断等级来控制对虚拟计算机控制部的中断 通知。从中断控制部通知的中断的种类得以判断,判断中断种类的结果,当所发生的中断 被判断为是对当前正在执行中的虚拟计算机的中断时,保存紧邻中断发生之前的程序计数 值。中断屏蔽等级设定表将在各虚拟计算机中执行的中断处理的优先级及在各虚拟计算机 中执行的任务处理的优先级作为第一中断屏蔽等级预先存储。当虚拟计算机的中断处理结 束时,从中断屏蔽等级设定表中与虚拟计算机接下来要执行的处理对应的第一中断屏蔽等 级被通知给中断控制部。而且,请求中断控制部将中断控制部中的中断等级更新为最新状 态。中断等级保存部保存一个以上的表示所发生的中断的优先级的中断等级,并将所保存 的中断等级中优先级最高的中断等级作为第二中断屏蔽等级来保存。所通知的第一中断屏 蔽等级作为中断等级被设定在中断等级保存部。新发生的中断得以接收,新发生的中断的 种类被加以判断,并将与判断出的中断种类对应的中断等级设定在中断等级保存部。中断 等级保存部中保存的第二中断屏蔽等级与从第二中断种类判断部通知的新发生的中断的 中断等级被进行比较,当新发生的中断的中断等级高于中断等级保存部中保存的第二中断 屏蔽等级时,向虚拟计算机控制部通知中断。因此,通过在虚拟计算机的中断处理结束的时刻,更新在中断控制部中用于屏蔽中断的优先级,由此,即使是无法通知任务的优先级的虚拟计算机,也能够根据任务的优先 级来确定虚拟计算机的优先级,从而恰当地控制虚拟计算机的切换。而且,在上述虚拟计算机控制装置中,较为理想的是,所述中断控制部还包括保存 与中断的种类对应的中断等级的中断等级设定部,所述中断等级保存部将所述第二中断种 类判断部接收到的中断的中断等级作为所述中断等级设定部中预先保存的与该中断的种 类对应的中断等级来保存,还将从所述第一中断屏蔽等级设定部向所述第二中断屏蔽等级 设定部通知的第一中断屏蔽等级作为中断等级来保存,所述优先级判断部不将所述中断等 级保存部中保存的中断等级中优先级最高的中断等级以下的中断通知给所述虚拟计算机 控制部。根据此结构,在中断等级设定部中保存有与中断的种类对应的中断等级。中断等 级保存部将第二中断种类判断部接收到的中断的中断等级作为中断等级设定部中预先保 存的与该中断的种类对应的中断等级来保存,且将从第一中断屏蔽等级设定部向所述第二 中断屏蔽等级设定部通知的第一中断屏蔽等级作为中断等级来保存。并且,不将中断等级 保存部中保存的中断等级中优先级最高的中断等级以下的中断通知给虚拟计算机控制部。因此,能够将与通知给中断控制部的中断对应的中断等级恰当地保存在中断等级 保存部中。而且,较为理想的是,上述虚拟计算机控制装置还包括检测所述CPU已执行的向 空闲状态转移的指令,并向所述第二中断种类判断部输出中断请求的空闲检测部。根据此结构,由于CPU已执行的向空闲状态转移的指令得以检测,并对第二中断 种类判断部输出中断请求,因此能够检测CPU已转移到空闲状态,即虚拟计算机的工作状 态已转移到空闲状态的情况,并且能够根据该检测结果来控制中断控制部。而且,在上述虚拟计算机控制装置中,较为理想的是,所述虚拟计算机控制部还包 括保存所述多个虚拟计算机的工作状态的虚拟计算机状态保存部,所述中断控制部还包括 对所述优先级判断部进行设定以便为了不对所述虚拟计算机控制部通知中断请求而屏蔽 所发生的中断请求的中断屏蔽设定部,所述第二中断种类判断部当判断出所发生的中断是 来自所述空闲检测部的中断请求时,将在所述虚拟计算机状态保存部中保存的刚才还正处 于执行过程中的虚拟计算机的工作状态更新为空闲状态,所述中断屏蔽设定部当所有的虚 拟计算机的工作状态为空闲状态时,对所述优先级判断部进行设定以便屏蔽来自所述空闲 检测部的中断请求,并使所述虚拟计算机控制装置转移到空闲状态。根据此结构,虚拟计算机状态保存部保存多个虚拟计算机的工作状态。而且,当所 发生的中断被判断为是来自空闲检测部的中断请求时,虚拟计算机状态保存部中保存的刚 才还正处于执行过程中的虚拟计算机的工作状态被更新为空闲状态。并且,当所有的虚拟 计算机的工作状态是空闲状态时,进行设定以屏蔽来自空闲检测部的中断请求,使虚拟计 算机控制装置转移到空闲状态。因此,当所有的虚拟计算机处于空闲状态时,虚拟计算机控制装置将转移到空闲 状态,因此当多个虚拟计算机中的一个虚拟计算机处于空闲状态,而其他虚拟计算机并非 处于空闲状态时,虚拟计算机控制装置不会转移到空闲状态,从而能够可靠地使虚拟计算 机控制装置向空闲状态转移。而且,较为理想的是,上述虚拟计算机控制装置还包括将根据中断的种类而不同的多个中断等级通知给所述中断控制部的中断等级通知部,所述中断控制部还具备接收由 所述中断等级通知部所通知的所述多个中断等级,并将接收到的所述多个中断等级分别作 为第一中断屏蔽等级存储在所述中断屏蔽等级设定表中的通知等级接收部。根据此结构,根据中断的种类而不同的多个中断等级被通知给中断控制部。并且, 在中断控制部中,所通知的多个中断等级被接收,接收到的多个中断等级分别作为第一中 断屏蔽等级而被存储在中断屏蔽等级设定表中。因此,在多个虚拟计算机的其中一个虚拟计算机中,能够将根据中断的种类而不 同的优先级设定在中断屏蔽等级设定表中,从而能够让其中一个虚拟计算机的一部分或全 部的中断处理优先于其他虚拟计算机的任务处理而动作。而且,在上述虚拟计算机控制装置中,较为理想的是,所述虚拟计算机控制部具 备检测虚拟计算机的中断处理已结束的中断结束检测部;以及让由所述通知的中断指定 的中断恢复目的地地址退避至所述中断恢复目的地保存部,并将所述中断恢复目的地地址 改写为所述中断结束检测部的地址的中断恢复目的地改写部。根据此结构,中断结束检测部检测虚拟计算机的中断处理已结束的情况,中断恢 复目的地改写部让由所通知的中断指定的中断恢复目的地地址退避至中断恢复目的地保 存部,并将中断恢复目的地地址改写为中断结束检测部的地址。因此,当虚拟计算机的中断处理结束时,通过中断结束检测部中断处理已结束的 情况得以检测,因此能够可靠地检测中断处理的结束。而且,较为理想的是,上述虚拟计算机控制装置还包括检测从周边设备输出的中 断请求已被解除,并使所述中断控制部发生中断的中断求反检测部。根据此结构,由于中断求反检测部检测从周边设备输出的中断请求已被解除,并 使中断控制部发生中断,因此能够通过硬件方式检测中断处理已结束的情况,从而能够可 靠地检测中断处理的结束。本发明所提供的虚拟计算机控制程序,使计算机作为控制在CPU上工作的多个虚 拟计算机的切换的虚拟计算机控制部、以及根据表示所发生的中断的优先级的中断等级控 制对所述虚拟计算机控制部的中断通知的中断控制部而发挥作用,其中所述虚拟计算机控 制部具备第一中断种类判断部,判断从所述中断控制部通知的中断的种类;中断恢复目 的地保存部,当由所述第一中断种类判断部判断中断种类的结果为,所发生的中断被判断 为是对当前正在执行中的虚拟计算机的中断时,保存紧邻邻中断发生之前的程序计数值; 中断屏蔽等级设定表,将在各虚拟计算机中执行的中断处理的优先级及在各虚拟计算机中 执行的任务处理的优先级作为第一中断屏蔽等级预先存储;第一中断屏蔽等级设定部,当 虚拟计算机的中断处理结束时,从所述中断屏蔽等级设定表中,将与虚拟计算机接下来要 执行的处理对应的第一中断屏蔽等级通知给所述中断控制部;以及更新部,请求所述中断 控制部将所述中断控制部中的中断等级更新为最新状态,并且所述中断控制部具备中断 等级保存部,保存一个以上的表示所发生的中断的优先级的中断等级,并将保存的所述中 断等级中优先级最高的中断等级作为第二中断屏蔽等级来保存;第二中断屏蔽等级设定 部,将由所述第一中断屏蔽等级设定部通知的所述第一中断屏蔽等级作为中断等级设定在 所述中断等级保存部;第二中断种类判断部,接收新发生的中断,判断所述新发生的中断的 种类,并将与判断出的中断种类对应的中断等级设定在所述中断等级保存部;以及优先级
23判断部,将所述中断等级保存部中保存的所述第二中断屏蔽等级与从所述第二中断种类判 断部通知的新发生的中断的中断等级进行比较,当新发生的中断的中断等级高于所述中断 等级保存部中保存的所述第二中断屏蔽等级时,向所述虚拟计算机控制部通知中断。根据此结构,虚拟计算机控制部控制在CPU上工作的多个虚拟计算机的切换,中 断控制部根据表示所发生的中断的优先级的中断等级,来控制对虚拟计算机控制部的中断 通知。从中断控制部通知的中断的种类得以判断,判断中断种类的结果,当所发生的中断 被判断为是对当前正在执行中的虚拟计算机的中断时,保存紧邻中断发生之前的程序计数 值。中断屏蔽等级设定表将在各虚拟计算机中执行的中断处理的优先级及在各虚拟计算机 中执行的任务处理的优先级作为第一中断屏蔽等级预先存储。当虚拟计算机的中断处理结 束时,从中断屏蔽等级设定表中与虚拟计算机接下来要执行的处理对应的第一中断屏蔽等 级被通知给中断控制部。而且,请求中断控制部将中断控制部中的中断等级更新为最新状 态。中断等级保存部保存一个以上的表示所发生的中断的优先级的中断等级,并将所保存 的中断等级中的优先级最高的中断等级作为第二中断屏蔽等级来保存。所通知的第一中断 屏蔽等级作为中断等级被设定在中断等级保存部。新发生的中断得以接收,新发生的中断 的种类被加以判断,并将与判断出的中断种类对应的中断等级设定在中断等级保存部。中 断等级保存部中保存的第二中断屏蔽等级与从第二中断种类判断部通知的新发生的中断 的中断等级被进行比较,当新发生的中断的中断等级高于中断等级保存部中保存的第二中 断屏蔽等级时,向虚拟计算机控制部通知中断。因此,通过在虚拟计算机的中断处理结束的时刻,更新在中断控制部中对用于屏 蔽中断的优先级,由此,即使是无法通知任务的优先级的虚拟计算机,也能够根据任务的优 先级来确定虚拟计算机的优先级,从而恰当地控制虚拟计算机的切换。本发明所提供的虚拟计算机控制电路包括控制在CPU上工作的多个虚拟计算机 的切换的虚拟计算机控制电路;以及根据表示所发生的中断的优先级的中断等级控制对 所述虚拟计算机控制部的中断通知的中断控制电路,其中,所述虚拟计算机控制电路具备 第一中断种类判断电路,判断从所述中断控制部通知的中断的种类;中断恢复目的地保存 电路,当由所述第一中断种类判断电路判断中断种类的结果为,所发生的中断被判断为是 对当前正在执行中的虚拟计算机的中断时,保存紧邻中断发生之前的程序计数值;中断屏 蔽等级设定表,将在各虚拟计算机中执行的中断处理的优先级及在各虚拟计算机中执行的 任务处理的优先级作为第一中断屏蔽等级的预先存储;第一中断屏蔽等级设定电路,当虚 拟计算机的中断处理结束时,从所述中断屏蔽等级设定表中,与虚拟计算机接下来要执行 的处理对应的第一中断屏蔽等级被通知给所述中断控制电路;以及更新电路,请求所述中 断控制电路将所述中断控制电路中的中断等级更新为最新状态,并且所述中断控制电路具 备中断等级保存电路,保存一个以上的表示所发生的中断的优先级的中断等级,并将保存 的所述中断等级中优先级最高的中断等级作为第二中断屏蔽等级来保存;第二中断屏蔽等 级设定电路,将由所述第一中断屏蔽等级设定电路通知的所述第一中断屏蔽等级作为中断 等级设定在所述中断等级保存电路;第二中断种类判断电路,接收新发生的中断,判断所述 新发生的中断的种类,并将与判断出的中断种类对应的中断等级设定在所述中断等级保存 电路中;以及优先级判断电路,将所述中断等级保存电路中保存的所述第二中断屏蔽等级 与从所述第二中断种类判断电路通知的新发生的中断的中断等级进行比较,当新发生的中断的中断等级高于所述中断等级保存电路中保存的所述第二中断屏蔽等级时,向所述虚拟 计算机控制电路通知中断。根据此结构,虚拟计算机控制电路控制在CPU上工作的多个虚拟计算机的切换, 中断控制电路根据表示所发生的中断的优先级的中断等级来控制对虚拟计算机控制电路 的中断通知。从中断控制电路通知的中断的种类得以判断,判断中断种类的结果,当所发生 的中断被判断为是对当前正在执行中的虚拟计算机的中断时,保存紧邻中断发生之前的程 序计数值。中断屏蔽等级设定表将在各虚拟计算机中执行的中断处理的优先级及在各虚拟 计算机中执行的任务处理的优先级作为第一中断屏蔽等级预先存储。当虚拟计算机的中断 处理结束时,从中断屏蔽等级设定表中与虚拟计算机接下来要执行的处理对应的第一中断 屏蔽等级被通知给中断控制电路。而且,请求中断控制电路将中断控制电路的中断等级更 新为最新状态。中断等级保存电路保存一个以上的表示所发生的中断的优先级的中断等 级,并将所保存的中断等级中优先级最高的中断等级作为第二中断屏蔽等级来保存。所通 知的第一中断屏蔽等级作为中断等级被设定在中断等级保存电路中。新发生的中断得以接 收,新发生的中断的种类被加以判断,并将与判断出的中断种类对应的中断等级设定在中 断等级保存电路中。中断等级保存电路中保存的第二中断屏蔽等级与从第二中断种类判断 电路通知的新发生的中断的中断等级被进行比较,当新发生的中断的中断等级高于中断等 级保存电路中保存的第二中断屏蔽等级时,向虚拟计算机控制电路通知中断。因此,通过在虚拟计算机的中断处理结束的时刻,更新在中断控制部中用于屏蔽 中断的优先级,由此,即使是无法通知任务的优先级的虚拟计算机,也能够根据任务的优先 级来确定虚拟计算机的优先级,从而恰当地控制虚拟计算机的切换。本发明所提供的虚拟计算机控制方法包括以下步骤第一中断种类判断步骤,根 据表示所发生的中断的优先级的中断等级,判断从控制中断通知的中断控制部通知的中断 的种类;中断恢复目的地保存步骤,当在所述第一中断种类判断步骤中判断中断种类的结 果为,所发生的中断判断为是对当前正在执行中的虚拟计算机的中断时,保存紧邻中断发 生之前的程序计数值;第一中断屏蔽等级设定步骤,当虚拟计算机的中断处理结束时,从将 在各虚拟计算机中执行的中断处理的优先级及在各虚拟计算机中执行的任务处理的优先 级作为第一中断屏蔽等级预先存储的中断屏蔽等级设定表中,将与虚拟计算机接下来要执 行的处理对应的第一中断屏蔽等级通知给所述中断控制部;更新步骤,请求所述中断控制 部将所述中断控制部中的中断等级更新为最新状态;中断等级保存步骤,保存一个以上的 表示所发生的中断的优先级的中断等级,并将所保存的所述中断等级中优先级最高的中断 等级作为第二中断屏蔽等级保存在中断等级保存部中;第二中断屏蔽等级设定步骤,将在 所述第一中断屏蔽等级设定步骤中通知的所述第一中断屏蔽等级作为中断等级设定在所 述中断等级保存部;第二中断种类判断步骤,接收新发生的中断,判断所述新发生的中断的 种类,并将与判断出的中断种类对应的中断等级设定在所述中断等级保存部;以及优先级 判断步骤,将所述中断等级保存部中保存的所述第二中断屏蔽等级与从所述第二中断种类 判断部通知的新发生的中断的中断等级进行比较,当新发生的中断的中断等级高于所述中 断等级保存部中保存的所述第二中断屏蔽等级时,向对在CPU上工作的多个虚拟计算机的 切换进行控制的虚拟计算机控制部通知中断。根据此结构,虚拟计算机控制部控制在CPU上工作的多个虚拟计算机的切换,中断控制部根据表示所发生的中断的优先级的中断等级,来控制对虚拟计算机控制部的中断 通知。从中断控制部通知的中断的种类得以判断,判断中断种类的结果,当所发生的中断 被判断为是对当前正在执行中的虚拟计算机的中断时,保存紧邻中断发生之前的程序计数 值。中断屏蔽等级设定表将各虚拟计算机中执行的中断处理的优先级及各虚拟计算机中 执行的任务处理的优先级作为第一中断屏蔽等级预先存储。当虚拟计算机的中断处理结束 时,从中断屏蔽等级设定表中与虚拟计算机接下来要执行的处理对应的第一中断屏蔽等级 被通知给中断控制部。而且,请求中断控制部将中断控制部中的中断等级更新为最新状态。 中断等级保存部保存一个以上的表示所发生的中断的优先级的中断等级,并将所保存的中 断等级中优先级最高的中断等级作为第二中断屏蔽等级来保存。所通知的第一中断屏蔽等 级作为中断等级被设定在中断等级保存部。新发生的中断得以接收,新发生的中断的种类 被加以判断,并将与判断出的中断种类对应的中断等级设定在中断等级保存部。中断等级 保存部中保存的第二中断屏蔽等级与从第二中断种类判断部通知的新发生的中断的中断 等级被进行比较,当新发生的中断的中断等级高于中断等级保存部中保存的第二中断屏蔽 等级时,向虚拟计算机控制部通知中断。因此,通过在虚拟计算机的中断处理结束的时刻,更新在中断控制部中用于屏蔽 中断的优先级,由此,即使是无法通知任务的优先级的虚拟计算机,也能够根据任务的优先 级来确定虚拟计算机的优先级,从而恰当地控制虚拟计算机的切换。另外,发明的实施方式各项中的具体实施方式
或实施例到底只是明确了本发明的 技术内容,不应只被这样的具体例限定而被狭义地解释,在本发明的精神和技术方案的范 围内可进行各种变更而加以实施。产业上的利用可能性本发明所提供的虚拟计算机控制装置、虚拟计算机控制程序及虚拟计算机控制电 路在使用虚拟计算机的信息处理装置等中有效。而且,本发明所提供的虚拟计算机控制装 置、虚拟计算机控制程序及虚拟计算机控制电路不仅可用作大型计算机或个人电脑之类的 形态,而且可用于各种家电设备、包括移动电话的通信设备、产业设备及乘用设备等组装设 备中。
权利要求
1.一种虚拟计算机控制装置,其特征在于包括虚拟计算机控制部,用于控制在CPU上工作的多个虚拟计算机的切换;以及 中断控制部,根据表示所发生的中断的优先级的中断等级,控制对所述虚拟计算机控 制部的中断通知,其中,所述虚拟计算机控制部具备第一中断种类判断部,判断从所述中断控制部通知的中断的种类; 中断恢复目的地保存部,当由所述第一中断种类判断部判断中断种类的结果为, 所发生的中断被判断为是对当前正在执行中的虚拟计算机的中断时,保存紧邻中断发 生之前的程序计数值;中断屏蔽等级设定表,将在各虚拟计算机中执行的中断处理的优先级及在各虚拟计算 机中执行的任务处理的优先级作为第一中断屏蔽等级预先存储;第一中断屏蔽等级设定部,当虚拟计算机的中断处理结束时,从所述中断屏蔽等级设 定表中,将与虚拟计算机接下来要执行的处理相对应的第一中断屏蔽等级通知给所述中断 控制部;以及更新部,请求所述中断控制部将所述中断控制部中的中断等级更新为最新状态,所述 中断控制部具备中断等级保存部,保存一个以上的表示所发生的中断的优先级的中断等级,并将保存 的所述中断等级中优先级最高的中断等级作为第二中断屏蔽等级来保存;第二中断屏蔽等级设定部,将由所述第一中断屏蔽等级设定部通知的所述第一中断屏 蔽等级作为中断等级设定在所述中断等级保存部;第二中断种类判断部,接收新发生的中断,判断所述新发生的中断的种类,并将与判断 出的中断种类对应的中断等级设定在所述中断等级保存部;以及优先级判断部,将所述中断等级保存部中保存的所述第二中断屏蔽等级与从所述第二 中断种类判断部通知的新发生的中断的中断等级进行比较,当新发生的中断的中断等级高 于所述中断等级保存部中保存的所述第二中断屏蔽等级时,向所述虚拟计算机控制部通知 中断。
2.根据权利要求1所述的虚拟计算机控制装置,其特征在于所述中断控制部还包括 保存与中断的种类对应的中断等级的中断等级设定部,其中,所述中断等级保存部,将所述第二中断种类判断部接收到的中断的中断等级作为所述 中断等级设定部中预先保存的与该中断的种类对应的中断等级来保存,还将从所述第一中 断屏蔽等级设定部对所述第二中断屏蔽等级设定部通知的第一中断屏蔽等级作为中断等 级来保存,所述优先级判断部,不将所述中断等级保存部中保存的中断等级中优先级最高的中断 等级以下的中断通知给所述虚拟计算机控制部。
3.根据权利要求1或2所述的虚拟计算机控制装置,其特征在于还包括检测所述CPU 已执行的向空闲状态转移的指令,并向所述第二中断种类判断部输出中断请求的空闲检测部。
4.根据权利要求3所述的虚拟计算机控制装置,其特征在于所述虚拟计算机控制部还包括保存所述多个虚拟计算机的工作状态的虚拟计算机状态保存部,所述中断控制部还包括对所述优先级判断部进行设定,以便为了不向所述虚拟计算机 控制部通知中断请求而屏蔽所发生的中断请求的中断屏蔽设定部,其中,所述第二中断种类判断部,当判断出所发生的中断是来自所述空闲检测部的中断请求 时,将在所述虚拟计算机状态保存部中保存的刚才还正处于执行过程中的虚拟计算机的工 作状态更新为空闲状态,所述中断屏蔽设定部,当所有的虚拟计算机的工作状态为空闲状态时,对所述优先级 判断部进行设定以便屏蔽来自所述空闲检测部的中断请求,并使所述虚拟计算机控制装置 转移到空闲状态。
5.根据权利要求1至4中任一项所述的虚拟计算机控制装置,其特征在于还包括将 根据中断的种类而不同的多个中断等级通知给所述中断控制部的中断等级通知部,其中,所述中断控制部还具备接收由所述中断等级通知部通知的所述多个中断等级,并将接 收到的所述多个中断等级分别作为第一中断屏蔽等级存储在所述中断屏蔽等级设定表中 的通知等级接收部。
6.根据权利要求1至5中任一项所述的虚拟计算机控制装置,其特征在于,所述虚拟计 算机控制部还包括中断结束检测部,检测虚拟计算机的中断处理已结束;以及中断恢复目的地改写部,让由所述通知的中断指定的中断恢复目的地地址退避至所 述中断恢复目的地保存部,并将所述中断恢复目的地地址改写为所述中断结束检测部的地址。
7.根据权利要求1至5中任一项所述的虚拟计算机控制装置,其特征在于还包括检 测从周边设备输出的中断请求已被解除并使所述中断控制部发生中断的中断求反检测部。
8.—种虚拟计算机控制程序,其特征在于使计算机作为以下各部而发挥作用, 虚拟计算机控制部,用于控制在CPU上工作的多个虚拟计算机的切换,中断控制部,根据表示所发生的中断的优先级的中断等级,控制对所述虚拟计算机控 制部的中断通知,其中,所述虚拟计算机控制部具备第一中断种类判断部,判断从所述中断控制部通知的中断的种类; 中断恢复目的地保存部,当由所述第一中断种类判断部判断中断种类的结果为, 所发生的中断被判断为是针对当前正在执行中的虚拟计算机的中断时,保存紧邻中断 发生之前的程序计数值;中断屏蔽等级设定表,将在各虚拟计算机中执行的中断处理的优先级及在各虚拟计算 机中执行的任务处理的优先级作为第一中断屏蔽等级预先存储;第一中断屏蔽等级设定部,当虚拟计算机的中断处理结束时,从所述中断屏蔽等级设 定表中,将与虚拟计算机接下来要执行的处理对应的第一中断屏蔽等级通知给所述中断控 制部;以及更新部,请求所述中断控制部将所述中断控制部中的中断等级更新为最新状态,所述 中断控制部具备中断等级保存部,保存一个以上的表示所发生的中断的优先级的中断等级,并将保存的所述中断等级中优先级最高的中断等级作为第二中断屏蔽等级来保存;第二中断屏蔽等级设定部,将由所述第一中断屏蔽等级设定部通知的所述第一中断屏 蔽等级作为中断等级设定在所述中断等级保存部;第二中断种类判断部,接收新发生的中断,判断所述新发生的中断的种类,并将与判断 出的中断种类对应的中断等级设定在所述中断等级保存部;以及优先级判断部,将所述中断等级保存部中保存的所述第二中断屏蔽等级与从所述第二 中断种类判断部通知的新发生的中断的中断等级进行比较,当新发生的中断的中断等级高 于所述中断等级保存部中保存的所述第二中断屏蔽等级时,向所述虚拟计算机控制部通知 中断。
9. 一种虚拟计算机控制电路,其特征在于包括虚拟计算机控制电路,用于控制在CPU上工作的多个虚拟计算机的切换;以及 中断控制电路,根据表示所发生的中断的优先级的中断等级,控制对所述虚拟计算机 控制部的中断通知,其中,所述虚拟计算机控制电路具备第一中断种类判断电路,判断从所述中断控制部通知的中断的种类; 中断恢复目的地保存电路,当由所述第一中断种类判断电路判断中断种类的结果为, 所发生的中断被判断为是针对当前正在执行中的虚拟计算机的中断时,保存紧邻中断发生 之前的程序计数值;中断屏蔽等级设定表,将在各虚拟计算机中执行的中断处理的优先级及在各虚拟计算 机中执行的任务处理的优先级作为第一中断屏蔽等级预先存储;第一中断屏蔽等级设定电路,当虚拟计算机的中断处理结束时,从所述中断屏蔽等级 设定表中,将与虚拟计算机接下来要执行的处理对应的第一中断屏蔽等级通知给所述中断 控制电路;以及更新电路,请求所述中断控制电路将所述中断控制部中的中断等级更新为最新状态, 所述中断控制电路具备中断等级保存电路,保存一个以上的表示所发生的中断的优先级的中断等级,并将保 存的所述中断等级中的优先级最高的中断等级作为第二中断屏蔽等级来保存;第二中断屏蔽等级设定电路,将由所述第一中断屏蔽等级设定电路所通知的所述第一 中断屏蔽等级作为中断等级设定在所述中断等级保存电路中;第二中断种类判断电路,接收新发生的中断,判断所述新发生的中断的种类,并将与判 断出的中断种类对应的中断等级设定在所述中断等级保存电路中;以及优先级判断电路,将所述中断等级保存电路中保存的所述第二中断屏蔽等级与从所述 第二中断种类判断电路通知的新发生的中断的中断等级进行比较,当新发生的中断的中断 等级高于所述中断等级保存电路中保存的所述第二中断屏蔽等级时,向所述虚拟计算机控 制电路通知中断。
全文摘要
本发明的中断等级保存部(16)保存一个以上的表示所发生的中断的优先级的中断等级,并将所保存的中断等级内的优先级最高的中断等级作为第二中断屏蔽等级来保存,第二中断种类判断部(13)设定与新发生的中断的中断种类对应的中断等级,优先级判断部(14)在新发生的中断的中断等级高于所保存的第二中断屏蔽等级时,向虚拟计算机控制部(20)通知中断。由此,即使是无法通知任务的优先级的虚拟计算机,也能够根据任务的优先级来确定虚拟计算机的优先级,从而能够恰当地控制虚拟计算机的切换。
文档编号G06F9/46GK102067089SQ200980122970
公开日2011年5月18日 申请日期2009年6月23日 优先权日2008年6月24日
发明者天野克重, 有信胜弘, 谷川忠雄 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1