CN102576315B - 计算机系统 - Google Patents

计算机系统 Download PDF

Info

Publication number
CN102576315B
CN102576315B CN201180003967.XA CN201180003967A CN102576315B CN 102576315 B CN102576315 B CN 102576315B CN 201180003967 A CN201180003967 A CN 201180003967A CN 102576315 B CN102576315 B CN 102576315B
Authority
CN
China
Prior art keywords
virtual
processing unit
treating apparatus
virtual machine
virtual processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201180003967.XA
Other languages
English (en)
Other versions
CN102576315A (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.)
Sun Patent Trust Inc
Original Assignee
Panasonic Intellectual Property Corp of America
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 Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Publication of CN102576315A publication Critical patent/CN102576315A/zh
Application granted granted Critical
Publication of CN102576315B publication Critical patent/CN102576315B/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/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
    • 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
    • G06F9/4825Interrupt from clock, e.g. time of day
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

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)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Abstract

提供一种计算机系统,通过2个虚拟CPU143,144来实现2个虚拟计算机110,111,具备CPU103,当虚拟CPU143在执行虚拟计算机110的定时处理以外的计算处理时被分配给虚拟CPU143;定时处理专用的节拍CPU105,当接受到虚拟CPU103执行虚拟计算机110的定时处理的中断请求(节拍中断)后被分配给虚拟CPU143;中断控制器106,将节拍中断发给节拍CPU105。

Description

计算机系统
技术领域
本发明涉及实现多个虚拟计算机的计算机系统。
背景技术
目前所熟知的计算机系统为,如图17所示那样,通过1个CPU(CentralProcessingUnit)300执行存储在存储器302中的程序来实现由相互不同操作系统(图17的OS11、OS12)所管理的多个(图17中是2个)虚拟计算机310、311(参照专利文献1、2)。另外,图17概念地表示了通过CPU300执行存储器302上的程序来实现虚拟计算机310、311等的情况,虚拟计算机310、311等实际上不构成存储器302的一部分。
这种计算机系统具有管理程序312,该管理程序312包含分别执行虚拟计算机310、311的虚拟CPU(虚拟处理单元)343、344。并且,管理程序312具有将CPU300对虚拟CPU343和虚拟CPU344交替分配的功能。另外,该管理程序312也被称为VM(VtrtualMachine)监视器或硬件划分控制部。
在该计算机系统中,虚拟计算机310执行任务T11、T12,在虚拟计算机311执行任务T21、T22。CPU300执行各虚拟计算机310、311的时间表由管理程序312进行管理。管理程序312通过CPU300来执行存储在存储器302中合适的程序而被实现。
但是,图17所示的计算机系统中进行如下处理(定时处理),按照一定的周期来推进规定操作系统OS11、OS12的内部时刻的系统定时器ST1、ST2的计数值。该定时处理是为了推进操作系统OS11、OS12的内部时刻而进行的。又,该定时处理是通过CPU300根据中断请求(节拍中断)来执行中断处理程序(节拍(tick)处理程序)来进行的,所述中断请求是从硬件定时器307所连接的中断控制器306按照一定周期(例如,UNIX(TM)系的OS中为5ms或10ms)所发出的。这里,硬件定时器307以及中断控制器306由与CPU300等不同的硬件来构成。
现有技术中,作为进行该定时处理的方法提供下述方法,当执行虚拟计算机311时,在没有执行虚拟计算机310时从中断控制器306对虚拟计算机310发出节拍中断的情况下,CPU300这时中断在虚拟计算机311的计算处理,在虚拟计算机310进行定时处理,就是说只有为了进行定时处理,暂时从虚拟计算机311切换到虚拟计算机310。
但是,该方法在从虚拟计算机311切换到虚拟计算机310时,将执行虚拟计算机311的虚拟CPU344所使用的数据(包含寄存器信息等),从在存储器302上储存用于实现虚拟CPU的寄存器信息等的区域(CPU用工作区域)暂时保存到与CPU用工作区域不同的保存区域,之后,将执行虚拟计算机310的虚拟CPU343所使用的数据读入到CPU用工作区域。于是,在存储器302上的CPU用工作区域和保存区域之间所进行的数据读入以及因保存引起的开销变大,进一步,计算机系统整体的处理效率将会下降。
对此,现有技术中提出以下方法,即关于现在实现2个虚拟计算机(第1虚拟计算机和第2虚拟计算机)的计算机系统,当第1虚拟计算机未被执行时,即使和CPU等不同的硬件所构成的中断请求发行单元对第1虚拟计算机发出节拍中断,也不对第1虚拟计算机进行定时处理,而是接着在第1虚拟计算机被执行的定时(从第2虚拟计算机切换到第1虚拟计算机的定时)进行定时处理(参照专利文献1)。该方法,在从第2虚拟计算机切换到第1虚拟计算机的定时,只在第1虚拟计算机停止了的时间段推进第1虚拟计算机的系统定时的计数值。
采用该方法,即使当虚拟计算机310未被执行时对虚拟计算机310发生节拍中断,也不进行从虚拟计算机311到虚拟计算机310的切换,因此可以削减伴随虚拟计算机310、311的切换所产生的开销。
另外,现有技术中提案一种虚拟计算机装置,即交替执行(也可以说不同的操作系统所管理的虚拟计算机在交替执行)多个操作系统,当某个操作系统未被执行时,在被分配到下一个操作系统的执行期间内汇总进行定时处理,该定时处理是根据从中断请求发行单元对该操作系统发出的节拍中断的定时处理(参照专利文献2)。
该虚拟计算机装置中,如果通过中断请求发行单元对未被执行的操作系统发出节拍中断(tickinterrupt)的话,管理程序(硬件划分控制部)只进行该节拍中断的计数。
并且,管理程序计算出在该操作系统停止期间所发出的节拍中断次数和接着被分配到该操作系统中的执行期间内所发出的预定节拍中断次数的相加值,并用该相加值去除被分配到该操作系统中的执行时间,将该值作为进行新定时处理的周期。
该虚拟计算机装置,当对未被执行的操作系统产生节拍中断时,不切换操作系统,因此可以削减随着操作系统的切换而产生的开销。
【先行技术文献】
【专利文献】
【专利文献1】日本特开平5-158710号公报
【专利文献2】日本特开2001-166954号公报
发明内容
发明的概要
发明要解決的问题
但是,在专利文献1所记载的技术中,如图18所示,虚拟计算机310在时刻T2被执行的同时,从该时刻T2开始新的节拍中断,因此时刻T2之后的节拍中断的定时相对于假设贯穿从时刻T1以前到时刻T2以后继续执行了虚拟计算机310的情况下的节拍中断的定时,出现错开的情况。例如,当虚拟计算机311的停止时间(时刻T1到时刻T2之间)不是对虚拟计算机311发出节拍中断的周期的整数倍的情况下,节拍中断的定时出现错开的情况(参照图18的粗线箭头和虚线箭头)。于是,当在虚拟计算机310所执行的任务包括下述情况,即在经过从规定的基准时间到是发出节拍中断周期的整数倍且比虚拟计算机310、311的切换周期还要长的时间后进行处理的情况,该任务有可能不能被正常地执行。
另外,在专利文献1所记载的技术中不使用下述单元,即将在虚拟计算机310停止中通过中断请求发行单元对虚拟计算机310发出的节拍中断进行计数。因此,如果虚拟计算机310的停止时间比系统定时的周期长的话,虚拟计算机310的停止期间中所产生的预定节拍中断(参照图18的时刻T1到时刻T2之间的虚线箭头)将不被计数。于是,虚拟计算机310将不能正常执行包括根据节拍中断的计数数进行的处理的任务。
另外,专利文献2所记载的技术中,例如交替执行2个操作系统OS11、OS12的话,如图19所示,被分配到操作系统OS11中的执行期间内的节拍中断周期会有变动(例如,时刻T1以前的节拍中断周期(图19的箭头)和时刻T2以后的节拍中断周期(图19的粗线箭头)不同)。于是,在虚拟计算机所执行的应用程序(任务)和在虚拟计算机所控制的周边设备会根据在一定周期所产生的触发来工作,如果将节拍中断作为触发器来使用的话,触发的周期将会变动,因此可能不能正常地工作。
进一步,操作系统OS11包括例如仅以规定的时间等待用户界面的输入的处理(输入等待处理),当根据节拍中断周期进行计时时,节拍中断的周期发生变动,则该输入等待处理将有可能不能被正确执行。
就是说,在专利文献1和2所记载的技术中,对于在一定周期由中断发生单元所发出的中断请求,会给必须要由实时执行的处理带来异常。
本发明鉴于上述情况而做出,其目的在于,提供一种计算机系统,其削减随着虚拟计算机的切换而产生的开销,且可以防止对于来自外部的中断请求以实时进行的任务的异常以及周边设备的异常工作。
用于解决问题的手段
本发明的计算机系统是一种通过多个虚拟处理单元执行2个以上虚拟计算机的计算机系统,其具备第1处理装置,由进行计算处理的物理资源构成且当第1虚拟处理单元执行第1虚拟计算机的第1处理时被分配给第1虚拟处理单元,当第2虚拟处理单元执行第2虚拟计算机的第1处理时被分配给第2虚拟处理单元;第2处理专用的第2处理装置,由进行计算处理的物理资源构成且接受用于通过第1虚拟处理单元来执行第1虚拟计算机的第2处理的第1中断请求,被分配到第1虚拟处理单元,接受用于通过第2虚拟处理单元来执行第2虚拟计算机的第2处理的第2中断请求后,被分配到第2虚拟处理单元;中断控制器,对第2处理装置发出第1中断请求或第2中断请求。
发明效果
根据本构成,将第1处理装置分配到第2虚拟处理单元并执行第2虚拟计算机的第1处理,当执行第1虚拟计算机的第2处理时,不需要将第1处理装置从第2虚拟处理单元变更分配到第1虚拟处理单元,因此能够削减随着执行虚拟计算机的虚拟处理单元的切换产生的开销。另外,被分配了第2处理装置的第2虚拟处理单元实时地追随由中断控制器发出的第2中断请求,并执行第2处理,因此可以维持各个计算机的第2处理的实时性。
另外,在本发明的计算机系统,第2处理可以为推进系统定时的计数值的处理,所述系统定时指规定分别管理多个虚拟计算机的多个操作系统内部时刻的系统定时。
根据本构成,可以维持用于更新管理虚拟计算机的操作系统的系统定时的计数值的处理的实时性。
另外,本发明的计算机系统可以具有处理装置管理部,在当第1处理装置被分配到第1虚拟处理单元时,如果中断控制器对第2处理装置发出第1中断请求,则停止第1处理装置并解除第1处理装置对第1虚拟处理单元的分配,并且将第2处理装置分配给第1虚拟处理单元。
根据本构成,当第1处理装置被分配到第1虚拟处理单元时,从中断控制器向第2处理装置发出用于第1虚拟处理单元执行虚拟计算机的第1处理的中断,处理装置管理部通过停止第1处理装置并解除第1处理装置对第1虚拟处理单元的分配,同时把第2处理装置分配给第1处理虚拟单元,并根据第1虚拟处理单元所执行的处理内容,可以将分配到第1虚拟处理单元的物理资源进行适当地切换,因此可以有效地活用最适合于第1虚拟处理单元所执行的处理的物理资源。
另外,本发明的计算机系统中,在第1处理装置被分配到第1虚拟处理单元时,中断控制器对第2处理装置发出第2中断请求,于是处理装置管理部将第2处理装置分配给第2虚拟处理单元。
根据本构成,当第1处理装置被分配到第1虚拟处理单元时,如果中断控制器对第2处理装置发出用于第2虚拟处理单元进行虚拟计算机第2处理的中断,于是处理装置管理部通过将第2处理装置分配给第2虚拟处理单元,可以不中断第1虚拟处理单元执行的第1处理就可以使第2虚拟处理单元执行第2处理,从而可以提高计算机系统整体的处理效率。
另外,本发明的计算机系统中,第1虚拟计算机由对应了多处理方式的操作系统来管理,第1虚拟计算机由第1虚拟处理单元和第3虚拟处理单元来执行,如果第2处理装置接受通过第3虚拟处理单元来执行第1虚拟计算机的第2处理的第3中断请求,则被分配到第3虚拟处理单元中。
根据本构成,可以不中断第1虚拟计算机的第1处理的执行而执行第1虚拟计算机的第2处理,因此可以提高计算机系统整体的处理效率。
另外,本发明的计算机系统的第2处理装置比第1处理装置所消耗的电力要少。
根据本构成,通过在比第1处理装置消耗电力少的第2处理装置来执行第2处理,从而可以削减计算机整体所消耗的电力。
本发明为一种计算机系统的处理方法,该计算机系统通过多个虚拟处理单元执行2个以上的虚拟计算机,所述计算机系统具备:第1处理装置,由进行计算处理的物理资源构成且在第1虚拟处理单元执行第1虚拟计算机的第1处理时被分配给第1虚拟处理单元,第2虚拟处理单元在执行第2虚拟计算机的第1处理时被分配给第2虚拟处理单元;第2处理专用的第2处理装置,由进行计算处理的物理资源构成且如果接受用于通过第1虚拟处理单元执行所述第1虚拟计算机的第2处理的第1中断请求,则被分配给第1虚拟处理单元,如果接受用于通过第2虚拟处理单元执行第2虚拟计算机的第2处理的第2中断请求,则被分配给第2虚拟处理单元;中断控制器,对第2处理装置发出第1中断请求或第2中断请求,该计算机处理方法包括:处理装置切换步骤,当第1处理装置被分配给第1虚拟处理单元时,中断控制器如果对第2处理装置发出第1中断请求,则停止第1处理装置并解除所述第1处理装置对第1虚拟处理单元的分配,并且将第2处理装置分配给第1虚拟处理单元。
根据本构成,如果第1处理装置被分配给第1虚拟处理单元时,中断控制器对第2处理装置如果发出用于第1虚拟处理单元执行虚拟计算机的第1处理的中断,则停止第1处理装置并解除对第1处理装置的第1虚拟处理单元的分配,并且将第2处理装置分配给第1虚拟处理单元,并根据第1虚拟处理单元所执行的处理内容,将分配给第1虚拟处理单元的物理资源进行适当切换,因此可以将最适合于第1虚拟处理单元所执行的处理的物理资源进行有效地活用。
另外,本发明的计算机系统的处理方法也可以为,在处理装置切换步骤,当第1处理装置被分配给第1虚拟处理单元时,中断控制器对第2处理装置如果发出第2中断请求,则将第2处理装置分配给第2虚拟处理单元。
根据本构成,当第1处理装置被分配给第1虚拟处理单元时,中断控制器对第2处理装置如果发出用于第2虚拟处理单元执行虚拟计算机第2处理的中断,则处理装置管理部可以通过将第2处理装置分配给第2虚拟处理单元,不中断第1虚拟处理单元所执行的第1处理而使第2虚拟处理单元执行第2处理,因此可以提高计算机系统整体的处理效率。
另外,本发明为一种通过多个虚拟处理单元执行2个以上虚拟计算机的计算机系统用集成电路,其具备第1处理装置,由进行计算处理的物理资源构成且当第1虚拟处理单元执行第1虚拟计算机的第1处理时被分配给第1虚拟处理单元,当第2虚拟处理单元执行第2虚拟计算机的第1处理时被分配给第2虚拟处理单元;第2处理专用的第2处理装置,由进行计算处理的物理资源构成,且如果接受由第1虚拟处理单元执行第1虚拟计算机的第2处理的第1中断请求,则被分配给第1虚拟处理单元,如果接受由第2虚拟处理单元执行第2虚拟计算机的第2处理的第2中断请求,则被分配给第2虚拟处理单元;以及中断控制器,对第2处理装置发出第1中断请求或第2中断请求。
根据本构成,可以谋求计算机系统的小型化。
附图说明
图1是实施方式1中的计算机系统的整体结构图。
图2是用于说明构成实施方式1中的计算机系统一部分的硬件定时器的动作的图。
图3是实施方式1中的计算机系统的动作说明图。
图4是实施方式1中的计算机系统的动作说明图。
图5是实施方式1中的计算机系统的动作流程图。
图6是实施方式1中的计算机系统的动作流程图。
图7是实施方式1中的计算机系统的动作说明图。
图8是实施方式1中的计算机系统的动作说明图。
图9是实施方式1中的计算机系统的动作说明图。
图10是实施方式1中的计算机系统的动作说明图。
图11是实施方式1中的计算机系统的动作说明图。
图12是实施方式1中的计算机系统的动作说明图。
图13是实施方式2中的计算机系统的整体结构图。
图14是实施方式2中的计算机系统的动作说明图。
图15是实施方式2中的计算机系统的动作流程图。
图16是实施方式2中的计算机系统的动作说明图。
图17是现有例子的整体结构图。
图18是现有例子的动作说明图。
图19是其他现有例子的动作说明图。
具体实施方式
(实施方式1)
(1)结构
(1-1)整体结构
图1是本发明的实施方式中的计算机系统的整体结构图。
计算机系统的构成为包括存储器102、CPU(CentralProcessingUnit)103、高速缓冲存储器104、节拍CPU(tickCPU)105、中断控制器106以及硬件定时器107。
另外,存储器102、CPU103、高速缓冲存储器104、节拍CPU105、中断控制器106以及硬件定时器107分别与总线101连接。
CPU103通过读出并执行存储器102中所存储的程序,来实现执行后述虚拟计算机110、111的计算处理的虚拟CPU143、144。这里,虚拟CPU103被交替分配给虚拟CPU143、144。
节拍CPU105由比CPU103慢的小规模处理器构成,比CPU103消耗的电力少成本低。节拍CPU105只有在进行定时处理时被分配给虚拟CPU143或虚拟CPU144,所述定时处理是推进规定虚拟计算机110、111内部时刻的系统定时器ST1、ST2的处理。将在(2)详细描述在本实施方式的计算机系统中进行定时处理时的动作。
存储器102由例如DRAM(DynamicRandomAccessMemory)等构成。另外,存储器102设置有CPU用工作区域102a1,存储由寄存器信息等组成的数据D1、D2(参照图3),所述寄存器信息是用于将CPU103分配给后述的虚拟CPU143,144的;节拍CPU用工作区域102a2,存储由寄存器信息等组成的数据D1a、D2a(参照图4),所述寄存器信息是用于将节拍CPU105分配给后述的虚拟CPU143,144的;第1保存区域102b以及第2保存区域102c,用于暂时保存数据D1、D2、D1a。
即,在将CPU103分配给虚拟CPU143,当通过虚拟CPU143来执行虚拟计算机110的定时处理以外的计算机处理时,数据D1成为必需,在将CPU103分配给虚拟CPU144,当通过虚拟CPU144来执行虚拟计算机111的定时处理以外的计算处理时,数据D2成为必需。另外,在将节拍CPU105分配给虚拟CPU143、144,当通过虚拟CPU143、144来执行虚拟计算机110、111的定时处理时,数据D1a,D2a成为必需。
高速缓冲存储器104由例如SRAM(StaticRandomAccessMemory)等构成。高速缓冲存储器104将CPU103或节拍CPU105从存储器102读出的程序所包含的命令和CPU103或节拍CPU105执行程序时所使用的数据进行暂时存储。另外,高速缓冲存储器104也将CPU103或节拍CPU105写入存储器102的数据暂时进行存储。
如图2(a)所示,硬件定时器107具备输出中断请求信号的第1信号输出端口1073以及第2信号输出端口1074、决定从第1信号输出端口1073输出中断请求信号的定时的第1减计数器1071以及决定从第2信号输出端口1074输出中断请求信号的定时的第2减计数器1072。这里,第1信号输出端口1073以及第2信号输出端口1074分别通过中断请求信号线108a1、108a2与中断控制器106相连接。另外,第1减计数器1071以及第2减计数器1072与时钟发生单元107a连接,根据由时钟发生单元107a所输入的时钟信号来缩减值。这里,各减计数器1071、1072的编码位(codedbit)1071a、1072a的值被输出到各信号输出端口1073、1074中。因此,例如如图2(b)所示,第1减计数器的值进行下溢后编码位被更新为“1”,于是第1信号输出端口1073对中断控制器106输出中断请求信号。
中断控制器106由通用的PIC(ProgrammableInterruptController)构成,具备将第1信号输出端口所输出的中断请求信号进行输入的第1信号输入终端(未图示)、和将第2信号输出端口所输出的中断请求信号进行输入的第2信号输入终端(未图示)。另外,中断控制器106具备当中断请求信号被输入到第1信号输入终端后输出中断请求的第1中断输出终端(未图示)、和当中断请求信号被输入到第2信号输入终端后输出中断请求的第2中断输出终端(未图示)。这里,第1中断输出终端通过中断信号线108b1与CPU103连接,第2中断输出终端通过中断信号线108b2与节拍CPU105连接。并且,中断控制器106根据从硬件定时器107输入中断请求信号的信号输入终端的种类,对CPU103或节拍CPU105进行中断请求。例如,当中断请求信号被输入到第1信号输入终端后,中断控制器106对节拍CPU105进行中断请求(节拍中断),所述中断请求用于通过CPU143来执行虚拟计算机110的定时处理(对应第2处理)。
另外,中断控制器106保持有中断请求信息,该中断请求信息由输出中断请求的中断输出终端的识别信息等构成。
(1-2)管理程序
如图1所示,管理程序112的构成为包括虚拟CPU143,144、中断处理部140、虚拟计算机调度器(VM(VirtualMachine)调度器)141以及CPU管理部142。这里,管理程序112对应中断控制器106所发出的中断请求来对特定了管理程序112所执行的处理程序的向量进行管理。该向量所特定的处理程序中包含有下述内容的处理程序,即当CPU103从中断控制器106接受中断请求后,对成为后述中断处理部140的中断请求的种类以及中断对象的虚拟计算机110、111进行特定。另外,图1概念地表示CPU103通过执行存储器102上的程序来实现管理程序112的情况,管理程序112实际上不构成存储器102的一部分。
虚拟CPU143、144由CPU103实现。这里,虚拟CPU143对应第1虚拟处理单元,虚拟CPU144对应第2虚拟处理单元。
中断处理部140从中断控制器106发出中断请求后,根据管理程序112管理的中断向量,通过执行中断处理程序来对成为中断请求的种类以及中断对象的虚拟计算机110、111进行特定,并通知给VM调度器141。这里,中断处理部140访问被保持在中断控制器106中的中断请求信息,并对中断请求的种类以及中断的对象进行特定。
VM调度器141通常根据对自己所保持的向虚拟CPU143、144的CPU103的分配日程,交替重复虚拟CPU143的虚拟计算机110的执行和虚拟CPU144的虚拟计算机111的执行。并且,当中断控制器106发出中断请求时,VM调度器141决定对CPU103以及节拍CPU105的向虚拟CPU143、144的分配,从而能够优先进行由于中断请求引起的处理。就是说,VM调度器141根据自己所保持的分配日程和中断处理部140所通知的中断请求的种类以及中断对象的有关信息,适当地决定CPU103以及节拍CPU105对虚拟CPU143、144的分配。另外,VM调度器141根据在中断处理部140所特定的中断请求的种类以及中断对象的虚拟计算机110、111,决定分配给虚拟CPU143、144的CPU(CPU103或节拍CPU105)。另外,VM调度器141具有判断虚拟CPU143、144是否执行虚拟计算机110、111的定时处理以外的计算处理的功能,并使判断结果反映给向虚拟CPU143、144的CPU103或节拍CPU105的分配。
VM调度器141用决定的内容指示给CPU管理部142,从而将CPU103或节拍CPU105分配给虚拟CPU143、144。
CPU管理部142根据由VM调度器141所通知的分配内容,将CPU103或节拍CPU105分配给虚拟CPU143、144。另外,CPU管理部142对虚拟CPU143、144分别执行虚拟计算机110、111时所使用的数据进行管理。
例如,当虚拟CPU144执行虚拟计算机111的定时处理以外的计算处理时,CPU管理部142使得虚拟CPU143在虚拟计算机110执行定时处理以外的计算处理。
这时候,CPU管理部142将CPU103分配给虚拟CPU143。这里,CPU管理部142将数据D2从存储器102上的CPU用工作区域102a1暂时保存到第2保存区域102c(图3(a))。
之后,CPU管理部142将预先保存到第1保存区域102b的数据D1读入到CPU工作区域102a1(图3(b))。
另外,当虚拟CPU144在虚拟计算机111执行定时处理以外的计算处理时,CPU管理部142使虚拟CPU143执行虚拟计算机110的定时处理。
这时,CPU管理部142将对CPU103的虚拟CPU144的分配不动,而将节拍CPU105分配给虚拟CPU143。这里,CPU管理部142如图4(a)所示,将事先保存到第1保存区域102b的数据D1a读入到节拍CPU用工作区域102a2。之后,虚拟CPU143的虚拟计算机110的定时处理结束后,CPU管理部142使数据D1a从节拍CPU用工作区域102a2再次保存到第1保存区域102b。并且,当把节拍CPU105分配给虚拟CPU144时,CPU管理部142将事先保存到第2保存区域102c中的数据D2a读入到节拍CPU用工作区域102a2。
(1-3)虚拟计算机
虚拟计算机110、111分别被操作系统OS1、OS2管理。如图1所示的例子,在虚拟计算机110的操作系统OS1执行应用任务T11、T12,在虚拟计算机111的操作系统OS2执行应用任务T21、T22。另外,图1概念地表示CPU103通过执行存储器102上的程序来实现虚拟计算机110、111的情况,虚拟计算机110、111实际上并未构成存储器102的一部分。
各个操作系统OS1、OS2管理中断表Tb1、Tb2,该管理中断表Tb1、Tb2是由虚拟CPU143、144执行处理程序(handler)时参照的中断控制器106所通知的中断请求的种类和对应各个中断请求的中断处理程序的入口地址所构成。这样,虚拟CPU143、144参照中断表Tb1、Tb2从该中断请求的种类特定入口地址,并执行由该特定入口地址所特定的处理程序。
另外,中断表Tb1、Tb2中所登录的入口地址特定进行定时处理的中断处理程序(节拍处理程序,tickhandler)。另外虚拟CPU143、144执行节拍处理程序后,系统定时器ST1、ST2的计数值增加1(即,推进内部时间一个单位)。
另外,中断表Tb1、Tb2从中断控制器106发出节拍中断请求时,为了特定对应节拍处理程序的入口地址而被虚拟CPU143、CPU144参考。
(2)动作
本实施方式的计算机系统的动作流程图在图5及图6中表示。
首先,中断控制器106在硬件定时器107输入中断请求信号后,该中断请求信号判断是否是节拍中断(步骤S101)。这里,中断控制器106通过将中断请求信号输入到第1信号输入终端和第2信号输入终端的任意一个,从而判断中断请求信号的种类。例如,当中断请求信号被输入到第2信号输入终端后,中断控制器106判断是节拍中断。
在步骤S101,中断控制器106判断中断请求信号不请求节拍中断后(步骤S101:否),中断控制器106通过中断信号线108b1向CPU103发出中断请求(步骤S102)。这时,中断处理部140对中断控制器106所保持的中断请求信息进行访问,对成为中断请求的种类以及中断对象的虚拟CPU(这里为虚拟CPU143)进行特定,并将中断请求的种类以及中断对象通知给VM调度器141(步骤S103)。这里,中断处理部140将中断请求的种类为节拍中断以外的中断请求以及中断对象为虚拟CPU143的情况通知给VM调度器141。
接着,VM调度器141判断虚拟CPU143是否在执行虚拟计算机110的定时处理以外的计算处理(对应第1处理),换言之,判断中断对象的虚拟CPU143是否在动作中(步骤S104),并将判断结果通知给CPU管理部142。
在步骤S104,当VM调度器141判断虚拟CPU143为停止中时(步骤S104:否)(图7(a)),CPU管理部142使得虚拟CPU144的虚拟计算机111的定时处理以外的计算处理停止,并解除CPU103对虚拟CPU144的分配。之后,将CPU103分配给虚拟CPU143(变更CPU103对虚拟CPU143、144的分配)。(图7(b))(步骤S105)。这时,CPU管理部142使得存储器102上的工作区域102a所读出的数据D2保存到存储器102上的第2保存区域102c(参照图3(a)),并将预先保存到保存区域102b的数据D1读出到CPU用工作区域102a1(参照图3(b))。
之后,中断处理部140会将中断控制器106发出了节拍中断以外的中断请求的情况通知给虚拟CPU143(步骤106)。接受到中断请求通知的虚拟CPU143根据中断表Tb1上登录的入口地址来执行中断处理程序H1(图7(c))(步骤S107)。并且,虚拟CPU143的该中断处理程序H1的执行结束后,中断处理部140将中断处理程序H1的执行结束的情况通知给VM调度器141。接受到中断处理程序H1的执行结束的通知的VM调度器141指示CPU管理部142将CPU103分配给虚拟CPU143(步骤S108)。并且,CPU管理部142解除CPU103对虚拟CPU143的分配,并将CPU103分配给虚拟CPU144。(将CPU103对虚拟CPU143、144的分配进行变更)。(图7(d))(步骤S109)。
这时,如图8(a)所示,CPU管理部142使得被读入到存储器102上的CPU用工作区域102a1中的数据D1保存到存储器102上的第1保存区域102b,如图8(b)所示,将保存到第2保存区域102b的数据D2读入到CPU用工作区域102a1中。
另一方面,在步骤S101,中断控制器106判断中断请求信号请求节拍中断后(步骤S101:是),中断控制器106通过中断信号线108b2向节拍CPU105发出中断请求(步骤S110)。这时,接受了中断请求的节拍CPU105开始动作(步骤111)。并且,中断处理部140对中断控制器106所保持的中断请求信息进行访问,对成为中断请求的种类以及中断对象的虚拟CPU143进行特定,并将中断请求的种类以及中断对象通知给VM调度器141(步骤S112)。这里,节拍CPU105接受用于通过虚拟CPU143来执行虚拟计算机110的定时处理的节拍中断。这时,中断处理部140将中断请求的种类为节拍中断以及中断对象为虚拟计算机110的情况通知给VM调度器141。
接着,VM调度器141判断虚拟CPU143是否在执行虚拟计算机110的定时处理以外的计算处理,换言之,判断中断对象的虚拟CPU143是否在动作中(步骤S113),并将结果通知给CPU管理部142。
在步骤S113,当判断虚拟CPU143在动作中时(图9(a))(步骤S113:是)、CPU管理部142暂时停止被分配到虚拟CPU143中的CPU103(步骤S114)。并且,CPU管理部142确认CPU103停止后,解除CPU103对CPU143的分配,并将节拍CPU105分配给虚拟CPU143(变更对虚拟CPU的分配)(图9(b))(步骤S115)。这时,如图10(a)所示,CPU管理部142将存储器102上的CPU用工作区域102a1中所存储的数据D1不动,并将预先保存到第1保存区域102b的数据D1a读入到节拍CPU用工作区域102a2。
之后,中断处理部140将中断控制器106发出了节拍中断的情况通知给虚拟CPU143(步骤S116)。接受到中断请求通知的虚拟CPU143根据中断表Tb1上登录的入口地址来执行节拍处理程序(图9(c))(步骤S117)。并且虚拟CPU143的节拍处理程序的执行结束后,中断处理部140将节拍处理程序的执行结束的情况通知给VM调度器141。
接受了节拍处理程序的执行结束的通知的VM调度器141解除节拍CPU105对虚拟CPU的分配,指示CPU管理部142将CPU103分配给虚拟CPU143(变更对虚拟CPU143的分配)。接着,CPU管理部142将CPU103分配给虚拟CPU143(步骤S119)。这时,CPU管理部142如图10(b)所示,使存储器102上的节拍CPU用工作区域102a2所存储的数据D1a保存到第1保存区域102b。
之后,CPU103开始解除暂时停止的动作(图9(d))(步骤S120)。之后,节拍CPU105停止(步骤S121)。
另一方面,在步骤S113,当判断虚拟CPU143为停止中时(图11(a))(步骤S113:否),CPU管理部142将节拍CPU105分配给虚拟CPU143(图11(b))(步骤S121)。这时,CPU103在被分配到虚拟CPU144时维持原状。这里,CPU管理部142如图12(a)所示,将存储器102上的CPU用工作区域102a1所存储的数据D2原封不动,而将预先保存到第1保存区域102b的数据D1a读入到节拍CPU用工作区域102a2。
之后,中断处理部140将中断控制器106发出节拍中断的情况通知给虚拟CPU143(步骤S123)。接受了中断请求通知的虚拟CPU143根据中断表Tb1所登录的入口地址执行节拍处理程序,并推进系统定时器ST1的计数值(图9(c))(步骤S124)。并且,虚拟CPU143进行的节拍处理程序的执行结束后,中断处理部140将节拍处理程序的执行结束的情况通知给VM调度器141。接受了节拍处理程序的执行结束的通知的VM调度器141指示CPU管理部142解除节拍CPU105对虚拟CPU143的分配(步骤S125)。之后,CPU管理部142解除节拍CPU103对虚拟CPU143的分配。(图9(d))(步骤S126)。
并且,当节拍CPU105对虚拟CPU143的分配被解除后,节拍CPU105停止(步骤S121)。
结果,在本实施方式中,通过在存储器102上设置与CPU用定时区域102a1不同的节拍CPU用定时区域102a2,将节拍CPU105分配给虚拟CPU243、244并进行定时处理时,没有必要使得存储在CPU用工作区域102a1的数据进行保存,因此可以降低因为数据的保存引起的开销,从而可以抑制计算机系统的处理效率的低下。另外,被分配了节拍CPU105的虚拟CPU143、144实时追随中断控制器106发出的节拍中断,并执行定时处理,因此可以维持各个虚拟计算机110、111的定时处理的实时性。
(实施方式2)
(1)构成
(1-1)整体构成
图13表示本实施方式的计算机系统的构成。
计算机系统100具备和实施方式1大致相同的构成,包含2个CPU201、202的构成点和存储器102上的区域(存储区域)的分配与实施方式1不同。另外,对和实施方式1相同的构成将标注相同符号且省略其说明。
CPU201、202的动作时钟频率以及消耗电力相同,演算性能也相同,并由具有相同指令集构架的处理器构成。
如图14所示,存储器102设置有第1CPU用工作区域102a11,存储用于将CPU201分配给虚拟CPU143的寄存器信息等组成的数据D1;第2CPU用工作区域102a12,存储用于将CPU202分配给虚拟CPU144的寄存器信息等组成的数据D2;节拍CPU用工作区域102a2,存储由将节拍CPU105分配给后述的虚拟节拍CPU241或虚拟节拍CPU242的寄存器信息等组成的数据D1a、D2a;以及使数据D1、D2、D1a、D2a暂时保存的第1保存区域102b以及第2保存区域102c。
就是说,数据D1将CPU201分配给虚拟CPU143,通过虚拟CPU143来执行虚拟计算机110的定时处理以外的计算处理而成为必要;数据D2将CPU103分配给虚拟CPU144,通过虚拟CPU144来执行虚拟计算机111的定时处理以外的计算处理而成为必要。另外,数据D1a将节拍CPU105分配给虚拟节拍CPU241,通过虚拟节拍CPU241来执行虚拟计算机110的定时处理而成为必要;数据D2a将节拍CPU105分配给虚拟节拍CPU242,通过虚拟节拍CPU242来执行虚拟计算机111的定时处理而成为必要。
(1-2)管理程序
如图13所示,管理程序112的构成为包括虚拟CPU143,144、虚拟节拍CPU241,242、中断处理部140、虚拟计算机调度器(VM(VtrtualMachine)调度器)141以及CPU管理部142。另外,关于和实施方式1相同的构成,省略一部分的说明。另外,图13概念地表示CPU201,202通过执行存储器102上的程序来实现管理程序112的情况,管理程序112实际上并不构成存储器102的一部分。
虚拟CPU143,144由CPU201,202来实现。
虚拟节拍CPU241,242由节拍CPU105来实现。另外,各虚拟节拍CPU241,242被赋予一种信息(操作系统信息),该信息关于管理分别对应虚拟节拍CPU241,242的操作系统OS1,OS2是否与后述的SMP方式对应。该虚拟节拍CPU241,242对应第3虚拟处理单元。
这里,通过虚拟CPU143来执行虚拟计算机110的定时处理以外的计算处理(对应第1处理),通过虚拟节拍CPU241来执行虚拟计算机110的定时处理(对应第2处理)。
另外,通过虚拟CPU144来执行虚拟计算机111的定时处理以外的计算处理,通过虚拟节拍CPU242来执行虚拟计算机111的定时处理。
中断处理部140在中断控制器106对CPU201,202或节拍CPU105发出中断请求后,对成为中断请求的种类以及中断对象的虚拟计算机110,111进行特定,并通知给VM调度器。这里,中断处理部140对中断控制器106所保持的中断请求信息进行访问,并特定中断请求的种类以及中断的对象。
VM调度器141对将CPU201,202或CPU105分配给分别执行虚拟计算机110,111的虚拟CPU143,144以及虚拟节拍CPU241,242的分配时间日程表进行管理。另外,VM调度器141根据成为中断处理部140所特定的中断请求种类以及中断对象的虚拟计算机110,111来决定分配到虚拟CPU143,144以及虚拟节拍CPU241,242的CPU(CPU201,202或者节拍CPU105)。
VM调度器141通常根据对于自身保持的虚拟CPU143,144分配CPU201,202的日程表来进行虚拟CPU143进行的虚拟计算机110的执行和虚拟CPU144进行的虚拟计算机111的执行。本实施方式中,VM调度器141将CPU201分配给虚拟CPU143,将CPU202分配给虚拟CPU144,而不变更CPU201,202对虚拟CPU143,144的分配。并且,中断控制器106发出中断请求时,VM调度器141决定节拍CPU105对虚拟CPU241,242的分配。
CPU管理部142根据对于VM调度器141所决定的虚拟CPU143,144CPU分配CPU210,202的时间日程表,或者对于虚拟节拍CPU241,242分配节拍CPU105的时间日程表,将CPU201,202分配给虚拟CPU143,144的同时,将节拍CPU105分配给虚拟节拍CPU241,242。
另外,CPU管理部142对于虚拟CPU143,144以及虚拟节拍CPU241,242分别执行虚拟计算机110,111的计算处理时所使用的数据进行管理。如图14(a)所示,CPU管理部142将数据D1存储到与CPU201对应的第1CPU用工作区域102a11上,并将数据D2存储到与CPU202对应的的第2CPU用工作区域102a12上。
例如,当虚拟CPU143执行虚拟计算机110的定时处理以外的计算机处理,且虚拟CPU144执行虚拟计算机111的定时处理以外的计算处理时,CPU管理部142使虚拟CPU143执行虚拟计算机110的定时处理。
并且,CPU管理部142将节拍CPU105分配给虚拟节拍CPU241。这里,如图14(a)所示,CPU管理部142继续维持数据D1和数据D2分别被存储在第1CPU工作区域102a11以及第2CPU工作区域102a12中的状态,并将预先保存到第1保存区域102b的数据D1a读入到节拍CPU用工作区域102a2。另一方面,当CPU管理部142将节拍CPU105分配给虚拟节拍CPU242时,CPU管理部142继续维持数据D1和数据D2分别被存储在第1CPU工作区域102a11以及第2CPU工作区域102a12中的状态,并将预先保存到第2保存区域102c的数据D2a读入到节拍CPU用工作区域102a2。
(1-3)虚拟计算机
虚拟计算机110,111分别由操作系统OS1,OS2来管理。在图13所示的例子中,虚拟计算机110在操作系统OS1上执行应用任务T11,T12,虚拟计算机111在操作系统OS2上执行应用任务T21,T22。另外,对于和实施方式1相同的构成省略一部分说明。另外,图13概念地表示CPU201,202以及节拍CPU105通过执行存储器102上的适当程序来实现虚拟计算机110,111的情况,虚拟计算机110,111实际上并未构成存储器102的一部分。
各个操作系统OS1,OS2对应SMP(SymmetricMultiProcessing:对称型多进程)方式,和实施方式1一样管理中断表Tb1,Tb2,该中断表Tb1,Tb2由中断控制器106通知的中断请求的种类和特定各中断请求所对应的中断处理程序的入口地址而构成。这样,虚拟CPU143,144以及虚拟节拍CPU241,242参照中断表Tb1,Tb2,从该中断请求的种类来特定入口地址,并执行该入口地址所对应的中断处理程序。
另外,中断表Tb1,Tb2上所登录的入口地址与实施方式1相同包含有特定节拍处理程序。
当中断控制器106发出节拍中断后,虚拟节拍CPU241,242参照中断表Tb1,Tb2特定与节拍处理程序对应的入口地址。并且,被分配了节拍CPU105的虚拟节拍CPU241,242执行节拍处理程序并更新系统定时器ST1,ST2的计数值(定时处理)。
(2)动作
图15表示本实施方式的计算机系统的动作流程。
首先,中断控制器106在硬件定时器107输入中断请求信号时,判断该中断请求信号是否请求节拍中断(步骤S101)。这里,中断控制器106通过将中断请求信号输入到第1信号输入终端和第2信号输入终端的任意一个,从而判断中断请求信号的种类。例如,当中断请求信号被输入到第2信号输入终端后,中断控制器106判断为节拍中断。
在步骤S101,当判断中断请求信号没有请求节拍中断后(步骤S101:否),中断控制器106通过中断信号线108对CPU201,202发出中断请求(步骤S102)。这时,中断处理部140对成为中断请求的种类以及中断对象的虚拟CPU进行特定,并将中断请求的种类以及中断对象通知给VM调度器141(步骤S103)。以下步骤S102到步骤S108的处理和实施方式1相同,因此省略其说明。
另一方面,在步骤S101,当判断中断请求信号请求定时中断(步骤S10:是)后,中断控制器106通过中断信号线108对节拍CPU105发出节拍中断(步骤S110)。这时,接受了节拍中断的节拍CPU105开始动作(步骤S111)。并且,中断处理部140对中断控制器106所保持的中断请求信息进行访问,对成为中断请求的种类以及中断对象的虚拟CPU进行特定,并将中断请求的种类以及中断对象通知给VM调度器141(步骤S112)。这里,节拍CPU105接受了用于通过虚拟节拍CPU241来执行虚拟计算机110的定时处理的节拍中断。这时,中断处理部140将中断请求的种类为节拍中断和中断对象为虚拟计算机110的情况通知给VM调度器141。
另外,中断管理部140根据赋予成为节拍中断对象的虚拟节拍CPU241的操作系统信息,判别虚拟节拍CPU所对应的虚拟计算机110是否由SMP方式所对应的操作系统OS1来管理(步骤S201)。
在步骤S201,中断管理部140判别虚拟CPU143所对应的虚拟计算机110不是由SMP对应的操作系统来管理(步骤S201:否)之后,进行实施方式1说明的步骤S113以后的处理。
另一方面,在步骤S201,中断管理部140判别成为节拍中断对象的虚拟计算机110是由SMP对应的操作系统来管理的之后(步骤S201:是),中断处理部140将节拍CPU105分配给虚拟节拍CPU241(步骤S202)。这时,如图14(a)所示,CPU管理部142将存储器102上的第1CPU用工作区域102a11所存储的数据D1以及第2CPU用工作区域102a12所存储的数据D2原封不动,而将预先保存到第1保存区域102b的数据D1a读入到节拍CPU用工作区域102a2。并且,中断管理部140将中断控制器106发出了节拍中断的情况通知给虚拟节拍CPU241(图16(a))(步骤S203)。并且,接受了节拍中断的通知的虚拟节拍CPU241根据中断表Tb1所登录的入口地址执行节拍处理程序,并更新系统定时器ST1(图16(b))(步骤S204)。并且,当节拍处理程序的执行结束后,节拍CPU105停止(图16(c))(步骤S121)。
结果,根据本实施方式,通过在存储器102上设置与CPU用工作区域102a11,102a12不同的节拍CPU用工作区域102a2,将节拍CPU105分配给虚拟节拍CPU241,242并进行定时处理时,不需要使CPU用工作区域102a1,102a12所分别存储的数据D1,D2进行保存,因此可以降低由于数据的保存引起的开销,从而可以抑制计算机系统得处理效率的低下。进一步,根据本实施方式,例如可以一边在虚拟CPU143进行虚拟计算机110的定时处理以外的计算处理,一边同时在虚拟节拍CPU241进行虚拟计算机110的定时处理,从而可以提高计算机系统的处理效率。另外,被分配了节拍CPU105的虚拟节拍CPU241,242实时追随中断控制器106发出的节拍中断来执行定时处理,因此可以维持各个虚拟计算机110,111的定时处理的实时性。
(3)变形例
(1)在所述实施方式1和2中,对于用各个不同的装置构成的存储器102、CPU103,201,202、高速缓冲存储器104、节拍CPU105、中断控制器106以及硬件定时器107的例子进行了说明,但不仅限于此,例如也可以用1个系统LSI(LargeScaleIntegration)来构成,或者除了存储器102以及硬件定时器107之外由1个系统LSI来构成各个装置。
(2)在所述实施方式1和2中,对实现2个虚拟计算机的例子进行了说明,但是不仅限于此,例如,也可以实现3个虚拟计算机,或者实现1个虚拟计算机。
(3)在所述实施方式1和2中,对各个虚拟计算机110,111并列执行2个任务的例子进行了说明,但不仅限于此,也可以执行1个任务或者可以并列执行3个以上的任务。
(4)在所述实施方式1和2中,对具备硬件定时器107和节拍CPU105的例子进行了说明,所述节拍CPU105只根据硬件定时器107发出的中断请求信号来执行节拍处理程序。但是例子不仅限于此,例如可以是根据垂直同步中断请求信号进行垂直同步中断处理的VDP(VideoDisplayProcessor),也可以是根据在一定周期所发出的中断请求信号进行数据传送的数据传送专用的处理器。
即使在本变形例的构成中,专用处理器执行中断处理,因此可以削减伴随虚拟计算机110,111执行的计算处理的切换而产生的开销。
(5)在所述实施方式1和2中,对实现管理程序112,管理程序112分别管理虚拟计算机110,111的OS的例子进行了说明,但不仅限于此,例如也可以是由主OS来管理虚拟计算机110,管理虚拟计算机111的从OS由管理虚拟计算机110的主OS来管理。这时,管理程序112的功能由主OS来实现。
(6)在所述实施方式1和2中,对于将操作系统信息赋予各个虚拟节拍CPU241,242的例子进行了说明,但不仅限于此,例如可以是CPU管理部141保持操作系统信息。
(7)在所述实施方式1和2中,对于作为节拍CPU105,使用一种比构成CPU103的通用处理器规模小且消耗电力低的专用处理器的例子进行了说明,但不仅限于此,也可以将用通用的处理器来构成节拍CPU105。
(8)在所述实施方式2中,对由具有相同的动作时钟频率和消耗电力、相同的演算性能以及相同的命令组件架构的处理器来构成2个CPU201,202的例子进行了说明,但不仅限于此,如果CPU201、202具有相同的命令集架构的话,例如可以由动作时钟频率和消耗电力不同的处理器以及演算性能不同的处理器来构成。
(9)在所述实施方式2中,对具备2个CPU201,202的例子进行了说明,但是不仅限于此,例如也可以具备3个以上的CPU(未图示)。
(10)在所述实施方式2中,对于所有的虚拟计算机110,111是由能够对应SMP的操作系统来管理的例子进行了说明,但是不仅限于此,例如也可以是由能够对应SMP的操作系统来管理任意一个虚拟计算机。
(11)在所述实施方式1和2中的构成为,节拍CPU105的输入输出针上连接有高速缓冲存储器104,但是不仅限于此,例如构成也可以为节拍CPU105的输入输出针和总线101直接连接,也可以为节拍CPU105的一部分输入输出针和高速缓冲存储器104连接,其他的输入输出针和总线101直接连接。
根据本变形例,可以降低在高速缓冲存储器104所消耗的电力,所以可以降低计算机系统整体的消耗电力。
(12)在所述实施方式1和2中,对更新虚拟计算机110,111的系统定时器的计数值而进行的处理进行了说明,但不仅限于此,也适用于其它执行延迟后产生一些副作用的中断处理。另外,和虚拟CPU的切换周期比,是根据短周期发出的中断请求的处理,也可以用于为了使该中断请求的实时性能够充分,而随着虚拟CPU的切换产生的不可回避的开销的处理。
(4)其它
另外,本发明的各功能块可被典型地实现为软件,也可以实现为集成电路的LSI。这里作为LSI,但根据集成度的不同,也可以称为IC、系统LSI、超级LSI、极超级LSI。另外,集成电路化的手法不仅限于LSI,也可以用专用电路或通用处理器来实现。LSI制造后,可以利用可编程的FPGA(FieldProgrammableGateArray)、可再构成LSI内部的电路单元的连接和设定的可重构处理器。进一步,如果通过半导体技术的进步或派生的其他技术出现置换为LSI的集成电路化的技术,也可以利用该技术进行功能块的集成化。有可能适用生物技术等。
产业可利用性
本发明可以在实现多个虚拟计算机的计算机系统和多操作系统中,降低处理(定时处理)系统定时的计数值的更新的开销。另外,通过在与通用的处理器相比电力消耗少的更新处理专用的处理器来进行系统定时的计数值得更新处理的构成,从而可以降低系统整体的消耗电力。就是说,作为以少的物理资源来实现多个虚拟计算机的计算机系统和执行多个操作系统的多个操作系统得定时处理的方法是有用的。
附图标记说明
101总线
102存储器
103、201、202CPU(第一处理装置)
104高速缓冲存储器
105节拍CPU(第2处理装置)
106中断控制器
107硬件定时器
110、111虚拟计算机
112管理程序
140中断处理部
141VM调度器
142CPU管理部(处理装置管理部)
143、144虚拟CPU
241、242虚拟节拍CPU
OS1、OS2操作系统
T11、T12、T21、T22任务
Tb1、Tb2中断表
ST1、ST2系统定时器

Claims (8)

1.一种计算机系统,通过多个虚拟处理单元来执行2个以上的虚拟计算机,其特征在于,具备:
第1处理装置,由进行计算处理的物理资源构成,且当第1虚拟处理单元执行第1虚拟计算机的第1处理时被分配给所述第1虚拟处理单元,当第2虚拟处理单元执行第2虚拟计算机的第1处理时被分配给所述第2虚拟处理单元;
第2处理装置,为第2处理专用,由进行计算处理的物理资源构成,且接受用于通过第1虚拟处理单元来执行所述第1虚拟计算机的第2处理的第1中断请求并被分配给所述第1虚拟处理单元,如果接受用于通过第2虚拟处理单元来执行所述第2虚拟计算机的第2处理的第2中断请求则被分配给所述第2虚拟处理单元;以及
中断控制器,将所述第1中断请求或所述第2中断请求发给所述第2处理装置,
所述第2处理为推进系统定时器的计数值的处理,所述系统定时器规定分别管理多个虚拟计算机的多个操作系统的内部时刻。
2.如权利请求1所述的计算机系统,其特征在于,
具有:处理装置管理部,当所述第1处理装置被分配给所述第1虚拟处理单元时,如果从所述中断控制器对所述第2处理装置发出所述第1中断请求,则停止所述第1处理装置并解除第1处理装置对所述第1虚拟处理单元的分配,并且将所述第2处理装置分配给所述第1虚拟处理单元。
3.如权利请求2所述的计算机系统,其特征在于,
所述处理装置管理部在所述第2处理装置被分配给所述第2虚拟处理单元时,如果从所述中断控制器对所述第2处理装置发出所述第1中断请求,则将所述第2处理装置分配给所述第1虚拟处理单元。
4.如权利请求1所述的计算机系统,其特征在于,
所述第1虚拟计算机由与多处理方式对应的操作系统管理,所述第1虚拟计算机由所述第1虚拟处理单元和第3虚拟处理单元来执行;
所述第2处理装置如果接受到用于通过所述第3虚拟处理单元来执行所述第1虚拟计算机的所述第2处理的第3中断请求,则被分配给所述第3虚拟处理单元。
5.如权利请求1所述的计算机系统,其特征在于,
所述第2处理装置比所述第1处理装置消耗电力少。
6.一种计算机系统的处理方法,通过多个虚拟处理单元来执行2个以上的虚拟计算机,其中,所述计算机系统具备:第1处理装置,由进行计算处理的物理资源构成,且当第1虚拟处理单元执行第1虚拟计算机的第1处理时被分配给所述第1虚拟处理单元,当第2虚拟处理单元执行第2虚拟计算机的第1处理时被分配给所述第2虚拟处理单元;第2处理装置,为第2处理专用,由进行计算处理的物理资源构成且如果接受用于通过第1虚拟处理单元来执行所述第1虚拟计算机的第2处理的第1中断请求,则被分配给所述第1虚拟处理单元,如果接受用于通过第2虚拟处理单元来执行所述第2虚拟计算机的第2处理的第2中断请求,则被分配给所述第2虚拟处理单元;以及中断控制器,将所述第1中断请求或所述第2中断请求发给所述第2处理装置,
所述计算机系统的处理方法的特征在于,包括:处理装置切换步骤,当所述第1处理装置被分配给所述第1虚拟处理单元时,所述中断控制器如果对所述第2处理装置发出所述第1中断请求,则停止所述第1处理装置并解除所述第1处理装置对所述第1虚拟处理单元的分配,并且将所述第2处理装置分配给所述第1虚拟处理单元,
所述第2处理为推进系统定时器的计数值的处理,所述系统定时器规定分别管理多个虚拟计算机的多个操作系统的内部时刻。
7.如权利请求6所述的计算机系统的处理方法,其特征在于,
在所述处理装置切换步骤,当所述第1处理装置被分配给所述第1虚拟处理单元时,如果所述中断控制器对所述第2处理装置发出所述第2中断请求,则将所述第2处理装置分配给所述第2虚拟处理单元。
8.一种计算机系统用集成电路,通过多个虚拟处理单元来执行2个以上的虚拟计算机,具备:
第1处理装置,由进行计算处理的物理资源构成,且当第1虚拟处理单元执行第1虚拟计算机的第1处理时被分配给第1虚拟处理单元,当第2虚拟处理单元执行第2虚拟计算机的第1处理时被分配给第2虚拟处理单元;
第2处理装置,为第2处理专用,由进行计算处理的物理资源构成且如果接受用于通过第1虚拟处理单元来执行第1虚拟计算机的第2处理的第1中断请求,则被分配给所述第1虚拟处理单元,如果接受用于通过第2虚拟处理单元来执行所述第2虚拟计算机的第2处理的第2中断请求,则被分配给所述第2虚拟处理单元;以及
中断控制器,将所述第1中断请求或所述第2中断请求发给所述第2处理装置,
所述第2处理为推进系统定时器的计数值的处理,所述系统定时器规定分别管理多个虚拟计算机的多个操作系统的内部时刻。
CN201180003967.XA 2010-06-25 2011-06-09 计算机系统 Active CN102576315B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010-144878 2010-06-25
JP2010144878 2010-06-25
PCT/JP2011/003280 WO2011161893A1 (ja) 2010-06-25 2011-06-09 計算機システム

Publications (2)

Publication Number Publication Date
CN102576315A CN102576315A (zh) 2012-07-11
CN102576315B true CN102576315B (zh) 2016-01-06

Family

ID=45371100

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180003967.XA Active CN102576315B (zh) 2010-06-25 2011-06-09 计算机系统

Country Status (4)

Country Link
US (1) US8819680B2 (zh)
JP (1) JP5792722B2 (zh)
CN (1) CN102576315B (zh)
WO (1) WO2011161893A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103064746B (zh) * 2013-01-23 2015-08-12 上海交通大学 基于当前credit进行预测调度的处理器资源精确分配方法
US9348359B2 (en) * 2013-01-31 2016-05-24 Red Hat, Inc. Updating a desired tick rate for a kernel
US9778943B2 (en) 2013-05-28 2017-10-03 Red Hat Israel, Ltd. Timer based virtual processor scheduling and suspension on physical processor for use of physical processor by other processing
US9836637B2 (en) * 2014-01-15 2017-12-05 Google Llc Finger print state integration with non-application processor functions for power savings in an electronic device
US9323576B2 (en) * 2014-02-04 2016-04-26 The Boeing Company Removal of idle time in virtual machine operation
US9921891B1 (en) * 2015-03-31 2018-03-20 Integrated Device Technology, Inc. Low latency interconnect integrated event handling
CN105700961B (zh) * 2016-02-29 2019-03-08 华为技术有限公司 业务容器创建方法及装置
JP6974254B2 (ja) * 2018-05-18 2021-12-01 ルネサスエレクトロニクス株式会社 データ処理装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1811718A (zh) * 2005-01-28 2006-08-02 精工爱普生株式会社 处理器及信息处理方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5349680A (en) 1990-11-07 1994-09-20 Kabushiki Kaisha Toshiba Information processing apparatus for executing application programs under control of a system program
JPH0795276B2 (ja) * 1990-11-19 1995-10-11 株式会社東芝 情報処理装置
JPH05158710A (ja) * 1991-12-09 1993-06-25 Toshiba Corp タイマ管理方式
JP2001166954A (ja) 1999-12-10 2001-06-22 Hitachi Ltd 仮想計算機装置および仮想計算機装置の制御方法
US20070106827A1 (en) * 2005-11-08 2007-05-10 Boatright Bryan D Centralized interrupt controller
US7941688B2 (en) * 2008-04-09 2011-05-10 Microsoft Corporation Managing timers in a multiprocessor environment
JP5352848B2 (ja) 2008-11-28 2013-11-27 株式会社日立製作所 仮想計算機の制御方法及び計算機装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1811718A (zh) * 2005-01-28 2006-08-02 精工爱普生株式会社 处理器及信息处理方法

Also Published As

Publication number Publication date
US8819680B2 (en) 2014-08-26
WO2011161893A1 (ja) 2011-12-29
JP5792722B2 (ja) 2015-10-14
US20120174098A1 (en) 2012-07-05
JPWO2011161893A1 (ja) 2013-08-19
CN102576315A (zh) 2012-07-11

Similar Documents

Publication Publication Date Title
CN102576315B (zh) 计算机系统
US8205201B2 (en) Process for maintaining execution synchronization between several asynchronous processors working in parallel and in a redundant manner
US9870252B2 (en) Multi-threaded processing with reduced context switching
KR101640848B1 (ko) 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치
KR20140080434A (ko) 맵리듀스 프레임워크에서 데이터 프로세싱의 최적화를 위한 디바이스 및 방법
CN102081555B (zh) 调整时钟中断周期的方法和装置
CN101395586A (zh) 基于任务的执行阶段动态调整高速缓存分区大小的方法和设备
CN109783255B (zh) 数据解析分发装置及高并发数据处理方法
RU2312388C2 (ru) Способ организации многопроцессорной эвм
EP2487590A2 (en) Processor, computational node, parallel computer system, and arithmetic processing method
US8782293B1 (en) Intra-processor operation control
US11775351B2 (en) Method for processing data and programmable logic controller
Schoeberl et al. Is chip-multiprocessing the end of real-time scheduling?
EP2575040A1 (de) Verfahren für die Verarbeitung von Unterbrechungsanforderungen eines Datenverarbeitungsgerätes und Virtualisierungssteuerung für ein Datenverarbeitungsgerät
Knoche Improving batch performance when migrating to microservices with chunking and coroutines
CN115033356B (zh) 一种基于异构可重构的动态资源调度方法及系统
US20220382587A1 (en) Data processing systems
CN110865969B (zh) 一种支持可扩展处理器机间中断通信的方法和装置
EP1008054A1 (en) Real time software system
CN107621974A (zh) 中断请求分配装置和对此的运行方法
EP1450255B1 (en) Microcontroller device for complex processing procedures and corresponding interrupt management process
JPS63170761A (ja) 電子計算機の入出力制御装置
CN115237242A (zh) 一种控制方法和装置
JPH0581944B2 (zh)
CN112162867A (zh) 一种智能生产线柔性生产的死锁预防方法及其应用

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MATSUSHITA ELECTRIC (AMERICA) INTELLECTUAL PROPERT

Free format text: FORMER OWNER: MATSUSHITA ELECTRIC INDUSTRIAL CO, LTD.

Effective date: 20141008

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20141008

Address after: Seaman Avenue Torrance in the United States of California No. 2000 room 200

Applicant after: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA

Address before: Osaka Japan

Applicant before: Matsushita Electric Industrial Co.,Ltd.

C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: Seaman Avenue Torrance in the United States of California No. 20000 room 200

Applicant after: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA

Address before: Seaman Avenue Torrance in the United States of California No. 2000 room 200

Applicant before: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA

COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM:

C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20170105

Address after: American New York

Patentee after: Sun patent hosting Co.

Address before: Seaman Avenue Torrance in the United States of California No. 20000 room 200

Patentee before: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA