CN102057357A - 多处理器*** - Google Patents

多处理器*** Download PDF

Info

Publication number
CN102057357A
CN102057357A CN2009801218133A CN200980121813A CN102057357A CN 102057357 A CN102057357 A CN 102057357A CN 2009801218133 A CN2009801218133 A CN 2009801218133A CN 200980121813 A CN200980121813 A CN 200980121813A CN 102057357 A CN102057357 A CN 102057357A
Authority
CN
China
Prior art keywords
mentioned
processor
program
execution
context
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
CN2009801218133A
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 CN102057357A publication Critical patent/CN102057357A/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/461Saving or restoring of program or task context

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

抑制执行事件处理等的非固定执行的程序的处理器集中,提高多处理器***的性能。为此,多处理器***(100)具备:第一上下文存储器(110),存储由多个处理器中的某一个处理器非固定执行的程序的上下文数据,该第一上下文存储器(110)被共享;保存恢复控制部(103),设有与上述多个处理器的个数相同的个数,分别在对应的处理器有程序的执行请求的情况下,如果该程序是上述非固定执行的程序,则进行与上述第一上下文存储器之间的上下文数据的保存及恢复;以及选择请求部(109),每当发生上述非固定执行的程序的执行请求时,对所选择的处理器进行该程序的执行请求。

Description

多处理器***
技术领域
本发明涉及在多处理器***中高效率地并行执行多个程序的技术。
背景技术
在以往的多处理器***中,有如下方法:程序或任务的切换由OS(Operating System:操作***)执行,作为任务所固有的信息、且执行任务所需要的程序计数器及堆栈等的上下文的切换由OS管理(例如参照专利文献1)。
此外,在处理器中,也有通过硬件进行上下文的切换的方法(例如参照专利文献2)。
专利文献1:日本特开2005-043959号公报
专利文献2:日本特开2003-271399号公报
但是,在由OS执行上下文的切换的情况下,会发生因上下文的保存及恢复造成的开销,成为性能变差的原因。此外,在按照多个处理器执行基于硬件的上下文切换的情况下,如果对指定的处理器进行由非固定执行的程序的执行请求带来的中断,则仅在该处理器中发生因非固定执行的程序的中断带来的调度的妨碍。因此,不能取得多个处理器间的平衡,除了对于指定的处理器的固定执行的多个程序的需要性能以外,单单非固定执行的程序的需要性能(对其添加了发生频率)也成为处理器的要求性能。
发明内容
所以,目的是解决上述问题,不会发生因上下文保存恢复带来的开销,并且通过取得多个处理器中的性能平衡,在使各处理器中的需要性能为最小的同时,作为***整体得到较高的性能。
为了解决上述问题,有关本发明的多处理器***具备:多个处理器,将多个程序一边切换一边执行;第一上下文存储器,存储由上述多个处理器中的某一个处理器非固定执行的程序的上下文数据,该第一上下文存储器由上述多个处理器共享;第二上下文存储器,设有与上述多个处理器的个数相同的个数,分别存储对应的上述处理器固定执行的程序的上下文数据,该第二上下文存储器由相关处理器专用;保存恢复控制部,同样设有与上述多个处理器的个数相同的个数,分别在对于对应的上述处理器有程序的执行请求的情况下,如果该程序是上述非固定执行的程序,则选择上述第一上下文存储器,并且如果是上述固定执行的程序,则选择上述第二上下文存储器,在所选择的上下文存储器与该处理器之间进行该程序的上下文数据的保存及恢复,该保存恢复控制部由相关处理器专用;以及选择请求部,每当发生上述非固定执行的程序的执行请求时,选择上述多个处理器中的某一个处理器,对所选择的处理器进行该程序的执行请求。另外,将“多个A中的各个A进行B(为B)”称作“多个A分别进行B(为B)”。多个第二上下文存储器中的各个第二上下文存储器存储与该第二上下文存储器对应的处理器固定执行的程序的上下文数据。该第二上下文存储器由该处理器专用。
根据该结构,多个处理器能够分别使用该处理器专用的第二上下文存储器,与其他处理器的动作无关地、自由地执行固定执行的程序。例如,能够不受其他处理器的动作妨碍而自由地进行选择在固定执行的多个程序中执行哪一个的调度,或不需要从其他处理器的该程序的数据传送等的大量的数据传送。另一方面,例如通过用户输入带来的中断等的非固定中断而由多个处理器中的某一个处理器非固定执行的程序等的、由多个处理器中的某一个处理器非固定执行的程序,通过由执行该程序的处理器使用第二上下文存储器,不论是哪个处理器都能够执行。由此,每当发生执行请求时,由在该发生时选择的处理器执行,能够防止执行的处理器集中于例如1个处理器等的少数处理器而多处理器***的性能下降的情况。此外,通过将执行非固定执行的程序的处理器充分分散到多个处理器,能够减少例如因非固定执行的程序的执行而阻碍上述固定执行的程序的执行的情况,相反能够阻碍因固定执行的程序的执行而阻碍非固定执行的程序的执行。因此,能够防止多处理器***的性能下降、提高多处理器***的性能。
另外,固定执行的程序例如可以是所谓的服务程序,也可以是所谓的守护(daemon)程序,也可以是HTTP(HyperText Transfer Protocol:超文本传输协议)服务器等的服务器用程序,也可以是常时监视对象的监视程序。
另一方面,非固定执行的程序也可以是处理键输入等的用户输入、基于通信的输入、对发生0的除法等的各种事件进行处理的事件处理用的程序。
这里,该多处理器也可以是具备由上述多个处理器共享的主存储器;上述多个处理器分别使用该主存储器,分别执行上述非固定执行的程序及上述固定执行的程序。
根据该结构,例如上述多个处理器分别使用该处理器专用的专用存储器执行程序。由此,与所选择的处理器从该处理器以外的其他处理器的其专用存储器花费较长时间取得非固定执行的程序的处理过程中的中间数据等的数据的情况等相比,使非固定执行的程序的处理过程中的数据的取得的延迟变少,多处理器***能够更高速地动作。
这里,该多处理器也可以是,上述多个处理器分别具备:多个寄存器组;以及寄存器组选择部,在上述多个寄存器组中选择某一个寄存器组,作为该处理器在程序的执行中利用的执行用的寄存器组,并且将所选择的寄存器组以外的其他某一个寄存器组选择为上下文数据的保存恢复用的寄存器组;上述多个处理器分别使用相关处理器的相关寄存器组选择部选择为上述执行用的寄存器的寄存器组执行程序;在相关处理器使用所选择的上述执行用的寄存器组来执行程序的同时,上述保存恢复控制部对所选择的上述保存恢复用的寄存器组,进行上下文数据的保存及恢复。
根据该结构,通过例如与使用执行用寄存器组的程序的执行并行地进行上下文数据的保存恢复等、与该执行同时进行上下文数据的保存恢复,防止在保存及恢复的处理、程序的执行的处理中发生开销(延迟时间),能够使多处理器***高速化。
这里,该多处理器***也可以是上述多个处理器分别具有本地高速缓冲存储器的共享存储器型多处理器***。
根据该结构,能够避免使固定执行的程序的处理在执行该程序的处理器的外部产生无用的动作,并能够防止因为外部的动作、为了该程序的处理而在该处理器中发生无用的动作,能够使多处理器***的动作高速化。
这里,也可以是,上述选择请求部在每当发生上述非固定执行的程序的执行请求时,在上述多个处理器之中,选择与上次发生上述非固定执行的程序的执行请求时选择的处理器不同的处理器。
根据该结构,不论哪个处理器都能够将非固定执行的程序的处理各进行相同的处理量,能够可靠且充分地将非固定执行的程序的处理分散到多个处理器中,能够充分且可靠地提高多处理器***的性能。
另外,例如选择请求部也可以保持确定多个处理器中的1个处理器的确定数据,选择由所保持的确定数据确定的处理器,并且在每当进行该选择时,将保持的确定数据更新为确定所选择的上述处理器以外的其他处理器的确定数据。
这里,也可以是,上述选择请求部检测上述多个处理器的动作状态,选择对于所检测到的动作状态具有预先设定的对应关系的处理器。
如果是该结构,则能够检测例如在各处理器中哪个是睡眠状态(空闲状态)等的动作状态,即检测哪个处理器处于有用来执行非固定执行的程序的富余的预先设定的状态等的各处理器的动作状态。并且,能够基于该检测选择处于睡眠状态的处理器等、对应于动作状态的适当的处理器,能够可靠地选择适合于选择时的动作状态的实际情况的处理器,能够充分且可靠地提高多处理器***的性能。
此外,在解决上述问题时,有关本发明的他的多处理器***也可以采用以下的结构。即,(a)具有:多个处理器,将多个程序一边切换一边执行;主存储器,由上述多个处理器共享;第二上下文存储器,由上述多个处理器分别专用,用来存储固定执行的1个以上的程序的上下文数据;第一上下文存储器,由上述多个处理器共享,用来存储由上述多个处理器中的某一个处理器非固定执行的1个以上的程序的上下文数据;选择目标切换单元,在每当发生上述非固定执行的1个以上的程序的执行请求时,决定选择上述多个处理器中的哪一个处理器,将上述执行请求对所选择的处理器请求执行;以及处理控制单元,由上述多个处理器分别专用,根据规定的程序切换定时、或来自上述选择目标切换单元的上述执行请求,选择上述第二上下文存储器或上述第一上下文存储器中的某一个,对所连接的处理器进行上下文数据的保存恢复。
由此,能够使非固定执行的程序的处理分散到多个处理器中,并且固定执行的程序能够按照处理器作为本地任务独立地调度。由此,能够维持调度的容易性,并且通过高效率的程序执行而贡献于处理器***的性能提高。
进而,也可以是,(b)上述多个处理器分别具备:多个寄存器组;以及寄存器组选择单元,选择多个寄存器组的某一个作为程序执行对象,选择没有被选择为上述程序执行对象的寄存器组的某一个作为上下文保存恢复对象;上述处理器使用上述寄存器组选择单元选择的寄存器组执行程序,对被选择为上述上下文保存恢复对象的寄存器组,与程序的执行平行地进行上下文数据的保存恢复。
由此,没有保存恢复带来的处理的开销,能够在维持调度的容易性的同时贡献于高效率的程序执行。
进而,也可以是,(c)上述多处理器***是多个处理器分别具有本地高速缓冲存储器的共享存储器型多处理器***。
由此,固定执行的程序不会在处理器间移动,所以能够不产生用于保持放置在本地高速缓冲中的程序的命令及数据的一贯性的探测(snoop)动作等带来开销而进行程序的执行,有利于处理器***的性能提高。
进而,也可以是,(d)上述选择目标切换单元按照预先设定的顺序,每当发生上述非固定执行的1个以上的程序的执行请求时,切换上述多个处理器的选择目标。
由此,能够使非固定执行的程序的处理器的分配次数均等化,能够进行高效率的程序执行,有利于处理器***的性能提高。
或者,也可以是,(e)上述选择目标切换单元基于上述多个处理器的动作状态决定选择目标。
由此,能够将非固定执行的程序的处理器的分配向在该时点为空闲状态等的有富余的处理器分配,有利于处理器***的性能提高。
或者,也可以是,(f)上述多个处理器分别具备事件检测单元,该事件检测单元检测将上述固定执行的1个以上的程序的执行中断的事由的发生及中断的事由消除的情况,控制程序执行的停止/再开始;上述选择目标切换单元基于来自上述事件检测单元的事件信息决定选择目标。
由此,能够将非固定执行的程序的处理器的分配按照各处理器的事件信息灵活地分配给处理器,有利于处理器***的性能提高。
或者,也可以是,(g)上述多个处理器分别具备事件检测单元,该事件检测单元检测将上述固定执行的1个以上的程序的执行中断的事由的发生及中断的事由消除的情况,控制程序执行的停止/再开始;上述选择目标切换单元基于来自上述事件检测单元的事件信息的规定期间内的履历来决定选择目标。
由此,能够将非固定执行的程序的处理器的分配,将各处理器的过去的事件信息也包括在内而灵活地分配给处理器,有利于处理器***的性能提高。
另外,也可以采用以下结构。即,采用一种多处理器***,具有:本地上下文存储器,多个处理器分别专用,存储固定执行的程序的上下文数据;以及共享上下文存储器,多个处理器共享,存储非固定执行的程序的上下文数据;通过将固定执行的程序作为各处理器的本地线程来执行、非固定执行的程序分配给多个处理器中的某一个处理器执行,能够在维持实时性的同时高速地执行事件处理。
发明效果
根据本发明,通过将固定执行的程序用指定的处理器执行,不会发生用于高速缓冲的一贯性保持的开销,并且通过可将非固定执行的程序分配给多个处理器,能够使非固定执行的程序请求的性能分散到多个处理器中,有利于处理器***的性能提高。
附图说明
图1是表示实施方式1的多处理器***的结构的模块图。
图2是表示实施方式1的处理控制部的结构的模块图。
图3是表示实施方式1的选择目标切换部的结构的模块图。
图4是说明实施方式1的上下文切换的时间图。
图5是说明实施方式1的程序的执行的时间图。
图6是说明实施方式1的程序的执行的时间图。
图7是表示实施方式2的多处理器***的结构的模块图。
图8是表示实施方式2的选择目标切换部的结构的模块图。
图9是表示实施方式2的选择目标切换部的结构的模块图。
图10是说明实施方式2的程序的执行的时间图。
图11是表示实施方式3的多处理器***的结构的模块图。
图12是表示实施方式3的选择目标切换部的结构的模块图。
图13是说明实施方式3的程序的执行的时间图。
具体实施方式
(实施方式1)
以下,参照附图,对有关本发明的实施方式1进行说明。
图1是表示有关本发明的实施方式1的多处理器***100的结构的模块图。
多处理器***100如图1所示,具备两个处理器元件101、选择目标切换部109、共享上下文存储器110、上下文数据选择器111、共享总线150、和主存储器151。
两个处理器元件101分别具备CPU102、处理控制部103、本地上下文存储器104、寄存器组105、寄存器组106、上下文数据选择器107、上下文数据选择器108、和本地高速缓冲存储器152。另外,“多个A中的各个A是B(进行B)”称作“多个A分别是B(进行B)”。各个处理器元件101具备该处理器元件101的CPU102(参照图1)。多个处理器元件101具备与包含在多个处理器元件101中的处理器元件101的个数(两个)相同的个数(两个)的CPU102。
以下,将图1中左侧的处理器元件101称作左侧的处理器元件101,将图1中右侧的处理器元件101称作右侧的处理器元件101。
图2是表示有关本发明的实施方式1的各处理控制部103(图1)的内部结构的模块图。以下说明的处理控制部103的内部结构例如是左侧的处理器元件101的内部结构,另一个右侧的处理器元件101具有与以下说明的左侧的处理器元件101的内部结构相同的内部结构。
处理控制部103如图2所示,具备上下文切换控制部120、周期计数器121、和本地事件检测部122。
图3是表示有关本发明的实施方式1的选择目标切换部109(图1)的内部结构的模块图。
选择目标切换部109如图3所示,具备CPU选择状态123、和执行请求目标选择部124。
图4是说明处理器元件101中的、由选择寄存器组105及寄存器组106中的某一个的数据的上下文数据选择器107及上下文数据选择器108构成的选择器的动作、和使用由该选择器选择的数据的、CPU102中的程序A~C的执行的处理的时间图。
另外,在图4的说明中,程序A~C例如是由左侧的处理器元件101的CPU102执行的多个程序,另一个右侧的处理器元件101的CPU102通过与图4的说明同样的多个程序的执行的处理同样的处理,执行多个程序。
在到时刻t3为止的期间,CPU102执行程序A。
在图4中,在时刻t3为止的期间,由上下文数据选择器107及上下文数据选择器108构成的选择器关于通过CPU102中的程序执行进行的读出及写入访问,选择在图1中在上侧表示的寄存器组105作为程序执行对象的寄存器组,关于处理控制部103进行的上下文数据的读出(保存)及写入(恢复)访问,选择另一个下侧的寄存器组106作为上下文保存恢复对象寄存器组。另外,该寄存器如图1所示,在多处理器***100不是仅具有寄存器组105和寄存器组106这两个寄存器组、而具有3个以上的寄存器组的情况下,从各寄存器组中,选择作为程序执行对象的寄存器组以外的他的寄存器组,作为上下文保存恢复对象寄存器组。
在到时刻t3为止的期间,CPU102使用在上下文数据选择器107及上下文数据选择器108选择为执行对象的寄存器组的寄存器组105中保持的、程序A的上下文,执行程序A。
并且,在从时刻t1到时刻t2的期间,处理控制部103通过调度而将CPU102接着计划执行的程序B的上下文数据恢复,所以在从时刻t1到时刻t2的期间,对于由选择器选择为上下文保存恢复对象寄存器组的、不是程序执行对象的下侧的寄存器组106,与CPU102中的程序执行并行地进行存储在该保存恢复对象寄存器组中的已有的程序N的上下文数据的保存、以及向该保存恢复对象寄存器组的、程序B的上下文数据的恢复。
在时刻t3,上下文数据选择器107及上下文数据选择器108切换选择目标,以使得对于来自CPU102的访问选择下侧的寄存器组106、对于来自处理控制部的访问选择上侧的寄存器组105。
由此,CPU102不产生上下文的保存及恢复的处理带来的开销,而从时刻t3起迅速开始程序B的执行。
图5是说明CPU102执行固定执行的多个程序的情况下的多处理器***100的动作的时间图。
如图5所示,各CPU102分别在多处理器***100中没有非固定执行的程序的执行请求的情况下,执行存储在有两个的本地上下文存储器104中的、对应于该CPU102的本地上下文存储器104中的固定执行的多个程序,以独立的调度周期,在这些固定执行的多个程序之中切换所执行的程序。
作为这里的例子,表示了在一个CPU102(例如左侧的处理器元件101的CPU102)中将固定执行的程序A、B、C一边依次切换一边模拟并行地执行、在另一个CPU102(例如右侧的处理器元件101的CPU102)中将固定执行的程序D、E、F一边依次切换一边模拟并行地执行的情况。
如果成为将执行的程序从执行中的程序切换为别的程序的定时,则上下文切换控制部120基于存储在本地上下文存储器104中的各程序的上下文数据所包含的调度顺序,决定下一个执行对象程序(例如程序B),开始上下文数据的保存恢复。
并且,处理控制部103在该保存恢复完成后,切换由上下文数据选择器107及上下文数据选择器108构成的选择器的选择目标。处理控制部103具体而言,作为上述的程序执行对象的寄存器组而选择在该切换紧前进行了上下文数据的保存恢复的寄存器组、即在紧前被选择为上下文保存恢复对象寄存器组的寄存器组,由此,使CPU102开始执行在紧前进行了保存恢复的上下文数据的程序(程序B)的执行。
并且,上下文切换控制部120(图2)在发生了这样的执行的程序的切换时,将通过切换而新开始执行的程序(例如程序B)的上下文数据所包含的计数器初始值向周期计数器121(图2)通知。
周期计数器121如果接收到该通知,则将被通知的计数器初始值设定在自己中,并且在设定之后,按照时钟周期进行递减计数,如果计数值成为0,则将成为0的情况通知给上下文切换控制部120,从而使上下文切换控制部120(处理控制部103)开始向下一个程序(例如程序C)切换。上述的例如从程序A向程序B的切换、或从程序B向程序C的切换等的、执行的程序的切换的定时是有该通知的定时。如果有该通知,则处理控制部103切换执行的程序。
另外,通过上述说明的、将上下文数据的保存恢复与程序执行并行地执行,能够没有保存恢复的开销而进行程序执行,也可以将关于各种各样的调度方法的技术的各种公知的技术应用到多处理器***100中。关于与公知的技术相关的点,为了说明的方便而省略详细的说明。
图6是说明发生了非固定执行的程序的执行请求的情况下的CPU102的动作的时间图。
在图6中,表示在一个CPU102(例如左侧的处理器元件101的CPU102)中将固定执行的程序A、B、C一边依次切换一边模拟并行地执行、在另一个CPU102(例如右侧的处理器元件101的CPU102)中将固定执行的程序D、E、F一边依次切换一边模拟并行地执行、作为非固定执行的程序的执行请求的原因而发生了不依存于各程序的共通的中断请求的情况的例子。例如,该共享的中断请求包括通过用户输入发生的中断请求、以及通过通信的来信而发生的中断请求。
在时刻t1,表示共享的中断请求(图1的共通中断请求信号112)发生的时刻。
如果在时刻t1发生共享的中断请求,则执行请求目标选择部124基于CPU选择状态123(图3)的选择信息,向对应的处理控制部103传递程序执行请求,以使多个CPU102中的一个进行非固定执行的程序的执行。
这里,CPU选择状态123由保持将寄存器组105、寄存器组106中的某一个确定为选择目标切换部109的选择的选择目标的数据的寄存器构成,每当接受到共通中断请求,就将保持的数据确定的CPU102的选择目标更新,更新为依次指定各CPU102。另外,例如CPU选择状态123具有如果接收到共通中断请求则进行更新的更新用的电路,使用该更新用的电路等,在接收到共通中断请求的情况下进行更新。
处理控制部103如果接收到程序执行用请求,即,如果发生上述共享中断、选择目标切换部109对该处理控制部103进行执行请求,则中断固定执行的程序的调度,将非固定执行的程序I作为下一个执行的程序,将已有的固定执行的程序的上下文数据从程序执行对象的寄存器组向本地上下文存储器104保存,从共享上下文存储器110将该下一个执行的程序的、非固定执行的程序的上下文数据恢复到上下文保存恢复对象寄存器组中。
上下文切换控制部120(图2)在如上述那样由处理控制部103将上下文数据从共享上下文存储器110恢复之后,切换上下文数据选择器107及上下文数据选择器108的选择目标,通过进行该切换,被写入了已恢复的上下文数据的寄存器组被选择为程序执行对象的寄存器组,CPU102使用该上下文数据开始程序I的执行。这样,CPU102在由图6的“I执行”的标记表示的期间执行程序I。
另外,周期计数器121在像这样执行非固定执行的程序的过程中停止,即,不进行递减计数而维持相同的计数值,下一个切换定时通过程序I的执行结束来决定。即,在本实施方式的例子中,被中断的程序C在程序I结束之后被分配为下一个CPU102的执行对象(参照图6的“I执行”之后的“C执行”)。
处理控制部103在程序I的执行结束之后,在将存储在作为程序执行对象外的寄存器组、即上下文保存恢复对象寄存器组中的程序I的上下文数据恢复的情况下,向共享上下文存储器110恢复。
两个处理器元件101分别都进行如以上说明的处理。由此,在t2的时刻发生了共通中断请求的情况下,由于CPU选择状态123在基于t1时刻发生的共通中断请求的程序执行时、被预先更新为与进行了该程序执行的CPU102(例如图1的左侧的CPU102)不同的另一个CPU102(例如图1的右侧的CPU102),所以通过该另一个CPU102、即与有关时刻t1时的执行的CPU102不同的CPU102,进行非固定执行的程序的执行。
以上,根据本实施方式的多处理器***100,固定执行的程序被各处理器(图1的左侧的处理器元件101及右侧的处理器元件101)分别单独地调度而执行。因此,能够按照处理器进行独立的调度,而且没有处理器间的固定执行的程序的移动(数据)。因此,也没有经由共享总线150的用于高速缓冲的一贯性保持的高速缓冲探测动作等带来的开销,能够进行高效率的程序执行。进而,关于事件处理等的非固定执行的程序的执行,能够使多个CPU将其处理负荷分散平均化,与使指定的处理器进行事件处理的情况相比,能够降低处理器的需要最大处理性能。
另外,在本实施方式中,表示了两个处理器的结构,但本发明并不限定于具有两个处理器的多处理器***,在具有3个以上的处理器的多处理器***中也能够采用。
此外,在本实施方式中,表示了两个寄存器组(寄存器组105、寄存器组106:参照图1)的结构,但根据切换执行多个程序的调度方法等,对于由3个以上的寄存器组构成的结构更能够减少保存恢复的次数的情况,也能够采用本发明。
这样,构成如下的多处理器***(多处理器***100),具备:多个处理器(左侧的处理器元件101、右侧的处理器元件101:图1),将多个程序一边切换一边执行;第一上下文存储器(共享上下文存储器110),存储由上述多个处理器中的某一个处理器非固定执行的程序的上下文数据,由上述多个处理器共享;第二上下文存储器(左侧的处理器元件101具有的本地上下文存储器104、以及右侧的处理器元件101具有的本地上下文存储器104),设有与上述多个处理器的个数相同的个数,分别存储对应的上述处理器固定执行的程序的上下文数据,由该处理器专用;保存恢复控制部(左侧的处理器元件101具有的处理控制部103、以及右侧的处理器元件101具有的处理控制部103),同样设有与上述多个处理器的个数相同的个数,分别在对于对应的上述处理器有程序的执行请求的情况下,如果该程序是上述非固定执行的程序,则选择上述第一上下文存储器,并且如果是上述固定执行的程序,则选择上述第二上下文存储器,在所选择的上下文存储器与该处理器之间进行该程序的上下文数据的保存及恢复,由该处理器专用;以及选择请求部(选择目标切换部109),每当发生上述非固定执行的程序的执行请求时,选择上述多个处理器中的某一个处理器,对所选择的处理器进行该程序的执行请求。
由此,多个处理器能够分别自由地执行固定执行的程序,由多个处理器中的某一个处理器非固定执行的程序通过任何一个处理器都能够执行,执行非固定执行的程序的处理器被充分分散为多个处理器,减少了例如因非固定执行的程序的执行而阻碍固定执行的程序的执行的情况,相反防止因固定执行的程序的执行而阻碍非固定执行的程序的执行的情况,能够提高性能。
这里,该多处理器具备由上述多个处理器共享的主存储器(主存储器151),上述多个处理器分别使用该主存储器分别执行上述非固定执行的程序及上述固定执行的程序。
这里,在该多处理器中,上述多个处理器分别具备:多个寄存器组(寄存器组105和寄存器组106);以及寄存器组选择部(由上下文数据选择器107及上下文数据选择器108构成的选择器),将上述多个寄存器组中的某一个寄存器组选择为该处理器在程序的执行中利用的执行用的寄存器组,并且将所选择的寄存器组以外的其他某一个寄存器组选择为上下文数据的保存恢复用的寄存器组;上述多个处理器分别使用该处理器的该寄存器组选择部选择为上述执行用的寄存器的寄存器组执行程序;在该处理器使用所选择的上述执行用的寄存器组执行程序的同时,上述保存恢复控制部对所选择的上述保存恢复用的寄存器组进行上下文数据的保存及恢复。
这里,该多处理器***是上述多个处理器分别具有本地高速缓冲存储器(左侧的处理器元件101具有的本地高速缓冲存储器152、以及右侧的处理器元件101具有的本地高速缓冲存储器152)的共享存储器型多处理器***。
这里,上述选择请求部每当发生上述非固定执行的程序的执行请求时,在上述多个处理器之中,选择与发生上次的上述非固定执行的程序的执行请求时选择的处理器不同的处理器。
另外,选择请求部保持确定多个处理器中的1个处理器的确定数据(CPU选择状态123(图3)的选择信息),选择根据保持的确定数据进行确定的处理器(例如,在图6的时刻t1选择的图6上段的处理器元件101),并且每当进行该选择时,将保持的确定数据更新为确定所选择的上述处理器以外的其他处理器(例如在图6的时刻t2选择的图6下段的处理器元件101)的确定数据。
(实施方式2)
以下,参照附图对有关本发明的实施方式2进行说明。
图7是表示有关本发明的实施方式2的多处理器***200的结构的模块图。另外,对于与有关本发明的实施方式1相同的结构,赋予相同的标号而省略说明。
多处理器***200如图7所示,具备两个处理器元件201、选择目标切换部209、共享上下文存储器110、上下文数据选择器111、共享总线150、和主存储器151。
并且,处理器元件201具备CPU102、处理控制部203、本地上下文存储器104、寄存器组105、寄存器组106、上下文数据选择器107、上下文数据选择器108、和本地高速缓冲存储器152。
图8是表示有关本发明的实施方式2的处理控制部203(图7)的内部结构的模块图。
处理控制部203如图8所示,具备上下文切换控制部120、周期计数器121、和本地事件检测部222。
图9是表示有关本发明的实施方式2的选择目标切换部209(图7参照)的结构的模块图。
选择目标切换部209如图9所示,具备CPU选择状态223、和执行请求目标选择部224。
图10是说明发生了非固定执行的程序的执行请求的情况下的CPU102的动作的时间图。
在图10中,表示在一个CPU102(例如图7的左侧的处理器元件201)中将固定执行的程序A、B、C一边依次切换一边模拟并行地执行、在另一个CPU102(例如图7的右侧的处理器元件201)中将固定执行的程序D、E、F一边依次切换一边模拟并行地执行、作为非固定执行的程序的执行请求的原因、而发生了不依存于各程序的共通的中断请求的情况的例子。
这里,各CPU102分别在执行程序时,如果执行中的程序成为睡眠状态,则在该程序执行中设定的计数值的剩余量成为空闲状态,设为在计数值成为0之前、不进行除了成为睡眠状态的程序以外的其他程序的调度。例如,图10所示的在程序A的执行中设定的计数值的剩余量成为空闲状态,在计数值成为0之前不进行其他程序的调度。
时刻t1表示发生了共享的中断请求的第1时刻。此外,时刻t2表示发生了共享的中断请求的第2时刻。
时刻t1是在两个CPU102都不是睡眠状态的期间、发生了共享的中断请求的时刻。
如果在时刻t1发生共享的中断请求,则执行请求目标选择部224基于CPU选择状态223的选择信息,对于多个CPU102中的1个,向对应于该CPU102的处理控制部203传递程序执行请求,以使其进行非固定执行的程序的执行。
另外,CPU选择状态223每当接收到共通中断请求时,将CPU102的选择目标更新,更新为依次指定各CPU102。
处理控制部203如果接收到程序执行用请求,则中断固定执行的程序的调度,将非固定执行的程序I作为下一个执行的程序,将已有的固定执行的程序的上下文数据保存到本地上下文存储器104中,从共享上下文存储器110恢复上下文数据。
上下文切换控制部120在从共享上下文存储器110的上下文数据恢复后,切换上下文数据选择器107及上下文数据选择器108的选择目标,由此,CPU102开始程序I的执行。
另外,在非固定执行的程序的执行中,周期计数器121停止,下一个切换定时由程序I的执行结束来决定。即,在本实施方式的例子中,被中断的程序C在程序I结束后被分配为下一个CPU102执行对象。
处理控制部103在程序I的执行结束之后,在将存储在作为程序执行对象外的寄存器组中的程序I的上下文数据恢复的情况下,向共享上下文存储器110恢复。
另一方面,时刻t2是在一个CPU102为睡眠状态的期间发生了共享的中断请求的时刻。
在t2的时刻,在共通中断请求中,在该时点一个CPU102为睡眠状态,从本地事件检测部222(图8)被通知了包括睡眠状态的事件检测信号(参照图8)的执行请求目标选择部224(参照图9)向与睡眠状态的CPU102对应的处理控制部203传递程序执行请求,以使得比CPU选择状态123的状态更优先而基于事件检测,由睡眠状态的CPU102进行非固定执行的程序的执行。另外,CPU选择状态223在执行请求目标选择部224接收到事件检测信号、对通过事件检测信号确定的CPU102传递了执行请求的情况下不被更新。
以上,根据本实施方式的多处理器***200,由于固定执行的程序被向各处理器单独调度而执行,所以能够按照各个处理器进行独立的调度,而且由于没有处理器间的固定执行的程序的移动,所以也没有经由共享总线150的用于高速缓冲的一贯性保持的高速缓冲探测动作等带来的开销,能够进行高效率的程序执行。进而,关于事件处理等的非固定执行的程序的执行,能够使多个CPU将其处理负荷分散平均化,与使指定的处理器进行事件处理的情况相比,能够降低处理器的需要最大处理性能。
并且,如在多个CPU中的某一个有空闲状态的情况下,通过由该CPU执行事件处理,能够进行更高效率的程序执行。
这样,构成了选择请求部(选择目标切换部209)检测多个处理器的动作状态、选择对于检测到的动作状态具有预先设定的对应关系的处理器的多处理器***200。
这里,构成了如下的多处理器***,即,多个处理器分别具备停止再开始控制部(处理控制部203),该停止再开始控制部分别检测固定执行的程序发生了将该处理器的执行中断的事由的情况、以及该事由消除的情况,在检测到上述发生的情况下使该执行停止,在检测到上述消除的情况下使已停止的该执行再开始;上述选择请求部从上述停止再开始控制部取得上述停止及再开始的信息,在由取得的信息表示处于具备该停止再开始控制部的处理器使上述执行停止之后、并且使该执行再开始之前的情况下,选择该处理器。
(实施方式3)
以下,参照附图对有关本发明的实施方式3进行说明。
图11是表示有关本发明的实施方式3的多处理器***300的结构的模块图。另外,对于与有关本发明的实施方式1或者有关本发明的实施方式2相同的结构赋予相同的标号而省略说明。
多处理器***300如图11所示,具备两个处理器元件201、选择目标切换部309、共享上下文存储器110、上下文数据选择器111、共享总线150、和主存储器151。
图12是表示有关本发明的实施方式3的选择目标切换部309的结构的模块图。
选择目标切换部309如图12所示,具备执行请求目标选择部324、两个事件计数器325以及定时器326。
事件计数器325分别对事件检测信号进行递增计数,此外,通过来自定时器326的溢出通知或共通中断请求而将计数值复位,上述事件检测信号是来自各处理控制部203分别具备的各本地事件检测部(参照图8的本地事件检测部222)中的、与该事件计数器325连接的本地事件检测部的信号。
图13是说明发生了非固定执行的程序的执行请求的情况下的CPU102的动作的时间图。
在图13中,在一个CPU102(例如图11的左侧的处理器元件201)中将固定执行的程序A、B、C、G一边依次切换一边模拟并行地执行。并且,在图13中,在另一个CPU102(例如图11的右侧的处理器元件201)中将固定执行的程序D、E、F、H一边依次切换一边模拟并行地执行。并且,在图13中,表示作为非固定执行的程序的执行请求的原因而发生了不依存于各程序的共通的中断请求的情况的例子。
这里,如果程序成为睡眠状态,则执行该程序中的CPU102开始执行的该程序以外的其他程序的调度,转移到下一个程序执行。例如,在图13中,表示一个CPU102在程序A成为睡眠状态的情况下、发生开始作为其他程序的程序B、C、G的调度、向程序B的执行的转移等的动作的情况。
时刻t1是发生了共享的中断请求的时刻。
事件计数器325将各CPU102的事件检测的履历递增计数,对时刻t1为止的由事件检测信号通知的向睡眠状态的转移进行计数。
并且,如果在时刻t1发生了共享的中断请求,则执行请求目标选择部324按照该事件计数器325中的计数的值的大小,向对应的处理控制部203传递程序执行请求,以使多个CPU102中的一个进行非固定执行的程序的执行。在这里的例子中,执行请求目标选择部324对与计数值大的事件计数器325对应的处理控制部203传递程序执行请求。
以上,根据本实施方式的多处理器***300,固定执行的程序被各处理器单独调度而执行。因此,能够按照处理器进行独立的调度,而且,由于没有处理器间的固定执行的程序的移动,所以也没有经由共享总线150的用于高速缓冲的一贯性保持的高速缓冲探测动作等带来的开销,能够进行高效率的程序执行。进而,关于事件处理等的非固定执行的程序的执行,能够根据多个CPU的状况更灵活地分配其处理负荷。
并且,能够将非固定执行的程序的处理器的分配,将各处理器的过去的事件信息也包括在内、灵活地向处理器分配。
另外,在本实施方式中,表示了对处理器的本地事件的计数值大的处理器进行选择的例子,但根据本地事件的种类,也可以决定计数值小的处理器,或也可以根据情况的组合来决定分配事件处理的处理器。
(其他方式)
也可以构成以下说明的其他方式的多处理器***。既可以对上述各实施方式中的某个实施方式的多处理器***附加其他方式的多处理器***的一部分,也可以对其他方式的多处理器***附加上述实施方式中的某个多处理器***的一部分。
(1)其他方式的多处理器***是如下多处理器***(多处理器***100),具备:第1处理器及第2处理器(左侧的处理器元件101、右侧的处理器元件101:图1);共享的上下文数据存储部(共享上下文存储器110),存储通过例如用户输入带来的中断等的非固定中断、由上述第1处理器及第2处理器中的某一个执行的程序等的非固定执行的程序的上下文数据,由上述第1处理器及第2处理器共享;并且具备:两个上下文数据存储部(左侧的处理器元件101具有的本地上下文存储器104及右侧的处理器元件101具有的本地上下文存储器104),分别对应于上述第1处理器及第2处理器,存储对应的上述处理器固定执行的程序的上下文数据,由对应的该处理器专用;保存恢复控制部(左侧的处理器元件101具有的处理控制部103及右侧的处理器元件101具有的处理控制部103),分别对应于上述第1处理器及第2处理器,在对应的上述处理器与上述共享的上下文数据存储部之间,保存及恢复上述非固定执行的程序的上下文数据,并且将对应的该处理器的上述固定执行的程序的上下文数据在该处理器与对应于该处理器的上述专用的上下文数据存储部之间保存及恢复;非固定执行处理器选择部(选择目标切换部109),如果满足预先设定的条件,则使上述第1处理器执行上述非固定执行的程序,另一方面如果不满足该条件,则使上述第2处理器执行该非固定执行的程序。
另外,固定执行的程序既可以是所谓的服务程序,也可以是所谓的守护(daemon)程序,也可以是HTTP(HyperText Transfer Protocol)服务器等的服务器用程序。
另一方面,非固定执行的程序也可以是处理键输入等的用户输入、基于通信的输入、处理发生0的除法等的各种例外的发生等的各种事件的事件处理用的程序。
(2)并且,其他方式的多处理器***是如下多处理器***,即,如果由对应于保存恢复控制部的处理器执行的程序是上述非固定执行的程序,则上述保存恢复控制部分别在开始该非固定执行的程序的执行时,将由上述共享的上下文数据存储部存储的该非固定执行的程序的上下文数据,向存储该处理器执行的程序的上下文数据的、预先设定的执行时存储部(寄存器组105和寄存器组106中的程序执行对象的寄存器组)恢复,并且在该执行结束时,将该执行结束后的该非固定执行的程序的上下文数据从该执行时存储部保存到上述共享的上下文数据存储部中;如果执行的程序是上述固定执行的程序,则在开始该固定执行的程序的执行时,将由该处理器的上述专用的上下文数据存储部存储的、该固定执行的程序的上下文数据向上述执行时存储部恢复,并且在该执行结束时,将该执行结束后的该固定执行的程序的上下文数据从该执行时存储部保存到上述上下文数据存储部中。
工业实用性
本发明能够作为执行实时处理及事件处理两者的、由多个处理器构成的多处理器***等使用。
标号说明
100、200、300 多处理器***
101、201 处理器元件
102 CPU
103、203 处理控制部
104 本地上下文存储器
105、106 寄存器组
107、108 上下文数据选择器
109、209 选择目标切换部
110 共享上下文存储器
111 上下文数据选择器
112 共通中断请求信号
113 程序执行请求信号
120 上下文切换控制部
121 周期计数器
122 本地事件检测部
123 CPU选择状态
124 执行请求目标选择部
150 共享总线
151 主存储器
213、214 信号
325 事件计数器
326 定时器

Claims (8)

1.一种多处理器***,具备:
多个处理器,将多个程序一边切换一边执行;
第一上下文存储器,存储由上述多个处理器中的某一个处理器非固定执行的程序的上下文数据,该第一上下文存储器由上述多个处理器共享;
第二上下文存储器,设有与上述多个处理器的个数相同的个数,分别存储对应的上述处理器固定执行的程序的上下文数据,该第二上下文存储器由相关处理器专用;
保存恢复控制部,同样设有与上述多个处理器的个数相同的个数,分别在对于对应的上述处理器有程序的执行请求的情况下,如果该程序是上述非固定执行的程序,则选择上述第一上下文存储器,并且如果是上述固定执行的程序,则选择上述第二上下文存储器,在所选择的上下文存储器与该处理器之间进行该程序的上下文数据的保存及恢复,该保存恢复控制部由相关处理器专用;以及
选择请求部,每当发生上述非固定执行的程序的执行请求时,选择上述多个处理器中的某一个处理器,对所选择的处理器进行该程序的执行请求。
2.如权利要求1所述的多处理器***,其中,
具备由上述多个处理器共享的主存储器;
上述多个处理器分别使用该主存储器,分别执行上述非固定执行的程序及上述固定执行的程序。
3.如权利要求2所述的多处理器***,其中,
上述多个处理器分别具备:
多个寄存器组;以及
寄存器组选择部,在上述多个寄存器组中选择某一个寄存器组,作为该处理器在程序的执行中利用的执行用的寄存器组,并且将所选择的寄存器组以外的其他某一个寄存器组选择为上下文数据的保存恢复用的寄存器组;
上述多个处理器分别使用相关处理器的相关寄存器组选择部选择为上述执行用的寄存器的寄存器组执行程序;
在相关处理器使用所选择的上述执行用的寄存器组来执行程序的同时,上述保存恢复控制部对所选择的上述保存恢复用的寄存器组,进行上下文数据的保存及恢复。
4.如权利要求2所述的多处理器***,其中,
该多处理器***是上述多个处理器分别具有本地高速缓冲存储器的共享存储器型多处理器***。
5.如权利要求2所述的多处理器***,其中,
上述选择请求部在每当发生上述非固定执行的程序的执行请求时,在上述多个处理器之中,选择与上次发生上述非固定执行的程序的执行请求时选择的处理器不同的处理器。
6.如权利要求2所述的多处理器***,其中,
上述选择请求部检测上述多个处理器的动作状态,选择对于所检测到的动作状态具有预先设定的对应关系的处理器。
7.如权利要求6所述的多处理器***,其中,
上述多个处理器分别具备停止再开始控制部,该停止再开始控制部分别检测上述固定执行的程序发生了将该处理器的执行中断的事由的情况、以及该事由消除的情况,在检测到上述发生的情况下使该执行停止,在检测到上述消除的情况下使已停止的该执行再开始;
上述选择请求部从上述停止再开始控制部取得上述停止及再开始的信息,在由取得的信息表示处于具备该停止再开始控制部的处理器使上述执行停止之后、并且使该执行再开始之前的情况下,选择该处理器。
8.如权利要求6所述的多处理器***,其中,
上述多个处理器分别具备停止再开始控制部,该停止再开始控制部分别检测上述固定执行的程序发生了将该处理器的执行中断的事由的情况、以及该事由消除的情况,在检测到上述发生的情况下使该程序的执行停止,在检测到上述消除的情况下使已停止的该执行再开始;
上述选择请求部从上述停止再开始控制部取得上述停止及再开始的信息,基于所取得的上述信息的履历,决定是否选择取得了该信息的上述处理器。
CN2009801218133A 2008-06-11 2009-06-08 多处理器*** Pending CN102057357A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008-153199 2008-06-11
JP2008153199 2008-06-11
PCT/JP2009/002571 WO2009150815A1 (ja) 2008-06-11 2009-06-08 マルチプロセッサシステム

Publications (1)

Publication Number Publication Date
CN102057357A true CN102057357A (zh) 2011-05-11

Family

ID=41416528

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801218133A Pending CN102057357A (zh) 2008-06-11 2009-06-08 多处理器***

Country Status (4)

Country Link
US (1) US20110078702A1 (zh)
JP (1) JPWO2009150815A1 (zh)
CN (1) CN102057357A (zh)
WO (1) WO2009150815A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106462551A (zh) * 2014-06-05 2017-02-22 密克罗奇普技术公司 用于为多处理器核心装置分配装置引脚所有权的装置及方法
CN113994647A (zh) * 2019-06-07 2022-01-28 大金工业株式会社 设备控制***、设备的控制方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8340942B2 (en) * 2010-04-26 2012-12-25 International Business Machines Corporation Identifying opportunities to improve multiprocess system performance
US20120192200A1 (en) * 2011-01-21 2012-07-26 Rao Jayanth N Load Balancing in Heterogeneous Computing Environments
TWI561995B (en) * 2011-04-26 2016-12-11 Intel Corp Load balancing in heterogeneous computing environments
US9652282B2 (en) * 2011-11-08 2017-05-16 Nvidia Corporation Software-assisted instruction level execution preemption
US9400545B2 (en) 2011-12-22 2016-07-26 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including autonomous hardware-based deep power down in devices
US9569223B2 (en) * 2013-02-13 2017-02-14 Red Hat Israel, Ltd. Mixed shared/non-shared memory transport for virtual machines
US10606714B2 (en) * 2017-09-05 2020-03-31 International Business Machines Corporation Stopping central processing units for data collection based on event categories of events
US10740030B2 (en) * 2017-09-06 2020-08-11 International Business Machines Corporation Stopping a plurality of central processing units for data collection based on attributes of tasks

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5979332A (ja) * 1982-10-29 1984-05-08 Toshiba Corp 割込み受付け制御方式
JPS63223860A (ja) * 1987-03-12 1988-09-19 Matsushita Electric Ind Co Ltd 複数プロセツサ構成装置
US5179702A (en) * 1989-12-29 1993-01-12 Supercomputer Systems Limited Partnership System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling
JPH04268642A (ja) * 1991-02-25 1992-09-24 Nec Corp 非同期事象処理制御監視方式
JP3008896B2 (ja) * 1997-06-16 2000-02-14 日本電気株式会社 共有バス型マルチプロセッサシステムの割り込み負荷分散システム
US6128728A (en) * 1997-08-01 2000-10-03 Micron Technology, Inc. Virtual shadow registers and virtual register windows
US6128641A (en) * 1997-09-12 2000-10-03 Siemens Aktiengesellschaft Data processing unit with hardware assisted context switching capability
US6836838B1 (en) * 1998-06-29 2004-12-28 Cisco Technology, Inc. Architecture for a processor complex of an arrayed pipelined processing engine
US6804815B1 (en) * 2000-09-18 2004-10-12 Cisco Technology, Inc. Sequence control mechanism for enabling out of order context processing
US6915414B2 (en) * 2001-07-20 2005-07-05 Zilog, Inc. Context switching pipelined microprocessor
JP3813930B2 (ja) * 2002-01-09 2006-08-23 松下電器産業株式会社 プロセッサ及びプログラム実行方法
US7174394B1 (en) * 2002-06-14 2007-02-06 Cisco Technology, Inc. Multi processor enqueue packet circuit
JP3920818B2 (ja) * 2003-07-22 2007-05-30 株式会社東芝 スケジューリング方法および情報処理システム
US7849297B2 (en) * 2003-08-28 2010-12-07 Mips Technologies, Inc. Software emulation of directed exceptions in a multithreading processor
DE10353268B3 (de) * 2003-11-14 2005-07-28 Infineon Technologies Ag Paralleler Multithread-Prozessor (PMT) mit geteilten Kontexten
DE10353267B3 (de) * 2003-11-14 2005-07-28 Infineon Technologies Ag Multithread-Prozessorarchitektur zum getriggerten Thread-Umschalten ohne Zykluszeitverlust und ohne Umschalt-Programmbefehl
DE102004009610B4 (de) * 2004-02-27 2007-08-16 Infineon Technologies Ag Heterogener paralleler Multithread-Prozessor (HPMT) mit geteilten Kontexten
US8001549B2 (en) * 2006-04-27 2011-08-16 Panasonic Corporation Multithreaded computer system and multithread execution control method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106462551A (zh) * 2014-06-05 2017-02-22 密克罗奇普技术公司 用于为多处理器核心装置分配装置引脚所有权的装置及方法
CN113994647A (zh) * 2019-06-07 2022-01-28 大金工业株式会社 设备控制***、设备的控制方法
CN113994647B (zh) * 2019-06-07 2023-11-17 大金工业株式会社 设备控制***、设备的控制方法

Also Published As

Publication number Publication date
US20110078702A1 (en) 2011-03-31
WO2009150815A1 (ja) 2009-12-17
JPWO2009150815A1 (ja) 2011-11-10

Similar Documents

Publication Publication Date Title
CN102057357A (zh) 多处理器***
US7685347B2 (en) Interrupt controller for invoking service routines with associated priorities
CN102460377B (zh) 数据处理设备及方法
CN1973265B (zh) 用于在虚拟机环境中选择虚拟化算法的方法和装置
CN106990941A (zh) 使用寄存器重命名处理移动指令
JPS61110256A (ja) 複数の演算部を有するプロセツサ
CN109983440A (zh) 数据处理
US8447953B2 (en) Instruction controller to distribute serial and SIMD instructions to serial and SIMD processors
EP3090336A1 (en) Checkpointing systems and methods of using data forwarding
US7565659B2 (en) Light weight context switching
JP4971679B2 (ja) プロセッサシステム及びプロセッサシステムの性能測定方法
CN100440153C (zh) 处理器
US6684346B2 (en) Method and apparatus for machine check abort handling in a multiprocessing system
CN105653243B (zh) 一种通用图形处理器多任务并发执行的任务派发方法
EP2393004A1 (en) Data comparison apparatus, cache apparatus comprising it, and control method thereof
US10503541B2 (en) System and method for handling dependencies in dynamic thread spawning for a multi-threading processor
JP2594600B2 (ja) シングルチップマイクロコンピュータ
CN103154919A (zh) 多处理器***中的异常控制
JP5803721B2 (ja) データ処理装置
NO143473B (no) Anordning ved mikroprogrammert datamaskin.
CN103280242B (zh) 适用于片上存储edac的可配置后台刷新方法
JP2986930B2 (ja) 対称型マルチプロセッサのタスクスケジューリング方式
CN104754647B (zh) 一种负载迁移的方法和设备
JPH11184828A (ja) マルチプロセッサシステムのテスト方式
CN109002322B (zh) 用于执行部件模块级验证的寄存器分配与释放方法及部件

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20110511