CN1666180B - 多处理器计算机系统及方法 - Google Patents

多处理器计算机系统及方法 Download PDF

Info

Publication number
CN1666180B
CN1666180B CN038157187A CN03815718A CN1666180B CN 1666180 B CN1666180 B CN 1666180B CN 038157187 A CN038157187 A CN 038157187A CN 03815718 A CN03815718 A CN 03815718A CN 1666180 B CN1666180 B CN 1666180B
Authority
CN
China
Prior art keywords
processor
treatment progress
cache memory
wake
memory unit
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.)
Expired - Fee Related
Application number
CN038157187A
Other languages
English (en)
Other versions
CN1666180A (zh
Inventor
J·胡格布鲁格
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1666180A publication Critical patent/CN1666180A/zh
Application granted granted Critical
Publication of CN1666180B publication Critical patent/CN1666180B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • 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/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5014Reservation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)
  • Power Sources (AREA)

Abstract

本发明涉及一种多处理器计算机系统包括,至少两个处理器用于并行执行进程,至少两个高速缓冲存储器单元,每个高速缓冲存储器单元都与一个分离的处理器相关并且与其相连,一个将所述的处理器和所述的高速缓冲存储器单元相连的连接总线,以及一个与所述的连接线相连的进程列表单元,用于存储对所述处理器的执行可用的进程列表。如果没有可用的执行进程,同时保证一个快速的唤醒进程是否存在这样的进程,为了节省能量,建议根据本发明的进程来进行,其中所述的处理器用于将全局唤醒变量装载到它们相关的相关的高速缓冲存储器单元,该变量表明在所述的进程列表中增加了一个进程,如果所述的进程列表不含有由所述的处理器执行的进程,处理器转换到一个低能耗模式,如果所述的唤醒变量向所述的进程列表发信号表示增加进程,处理器就转换到正常能耗模式。这样,根据本发明,使用高速缓冲存储器相干协议来传输和通知用于执行的进程的存在。

Description

多处理器计算机系统及方法
技术领域
本发明涉及一种多处理器计算机系统,包括:
-至少两个用于并行执行进程的处理器,
-至少两个高速缓冲存储器单元,每个高速缓冲存储器单元都与一个分离的处理器相关并且与其相连,
-一个将所述的处理器和所述的高速缓冲存储器单元相连的连接总线,以及
-一个与所述的连接线相连的进程列表单元,用于存储对于所述处理器执行可用的进程列表。
而且,本发明涉及一个相应的处理器,一种调度进程的执行的方法以及一种由这样的一个多处理器计算机系统中的一个处理器执行进程的方法。而且,本发明涉及一种用于实现所述方法的计算机程序。
背景技术
多处理器计算机系统并行的执行多个进程。每个处理器重复地选择一个正准备执行的进程,并且执行它,直到进程中断或者,在预空闲调度中,运行进程的时间片到期。当不存在已经准备好的进程可供处理器或者特别是其关联的调度器选择时,处理器或其调度器分别等待一个旋转循环,直到在进程列表中出现一个已经准备好用于执行的进程。一个准备好的进程通过一个解锁操作变得可用,例如由运行在另一个处理器上的进程所执行的一个V去阻塞操作。
为了节省能量消耗,最好使处理器转换到一个低能耗或者睡眠模式,而不能让其循环直到一个准备好的进程变得可用。但是,其他的处理器在不花费很大开销的情况下就能够唤醒睡眠的处理器非常重要。将睡眠模式的处理器唤醒的一个标准方法是向其发送一个中断。这种方法的开销对于大多具有精细粒度同步的并行应用来说非常巨大。
发明内容
本发明的一个目的是提供一种多处理器计算机系统,一个相应的处理器,一种调度进程执行的方法以及一种由处理器执行进程的方法,在处理器中提供了一种执行进程的快速有效的方式,处理器能够在非常短的时间内在没有巨大开销的情况下在低能耗模式和正常能耗模式之间转换。
根据本发明的一个方面,提供了一种多处理器计算机系统,包括:
-至少两个处理器,用于并行执行处理进程,
-至少两个高速缓冲存储器单元,每个高速缓冲存储器单元都与一个分离的处理器相关并且与其相连,
-一个将所述处理器和所述高速缓冲存储器单元相连的连接总线,以及
-一个与所述连接线相连的处理进程列表单元,用于存储由所述处理器进行执行的处理进程列表,
其中,所述处理器用于将表明在所述的处理进程列表中增加一个处理进程的综合全局唤醒变量装载到它们相关的高速缓冲存储器单元内,如果所述处理进程列表不含有由所述处理器执行的处理进程,则转换到一个低能耗模式,而如果所述唤醒变量表明向所述处理进程列表发信号增加处理进程,则处理器就转换到正常能耗模式,所述多处理器计算机系统还包含:
一第一附加通信线,用于将唤醒地址从所述处理器传递到所述高速缓冲存储器单元;
一第二附加通信线,用于将唤醒信号从所述高速缓冲存储器单元传递到所述处理器,以使所述处理器从所述低能耗模式转换到所述正常能耗模式。
本发明是基于使用高速缓冲存储器相干协议来唤醒睡眠处理器的思想。高速缓冲存储器相干协议被设计成比中断更快速的通信,因此允许其以非常有效和快速的方式唤醒睡眠处理器。根据本发明引入了一个全局唤醒变量,该变量由处理器的高速缓冲存储器单元保存。如果已经在进程列表中增加了一个进程,所述的唤醒变量就发出信号。如果一个处理器增加了一个进程到该进程列表当中,这将通过高速缓冲存储器相干协议立即通知处理器的高速缓冲存储器单元,使处理器从低能耗模式转换到正常能耗模式。
优选地,如果由于在所述处理进程列表中增加了一个处理进程从而改变了相关高速缓冲存储器单元中存储的唤醒变量,则所述处理器用于转换到正常能耗模式。
优选地,当在所述处理进程列表中增加一个处理进程时,所述处理器用于对所述唤醒变量执行一个存储命令。
优选地,当在所述处理进程列表中增加一个处理进程时,所述处理器用于向其他的处理器发送一个请求,从而从它们的相关高速缓冲存储器单元中卸除丢弃唤醒变量。
优选地,所述计算机系统用于实现执行一个基于无效的高速缓冲存储器相干协议。
根据本发明的另一方面,提供了一种用于在多处理器计算机系统中调度处理进程执行的方法,所述多处理器计算机系统包括
-至少两个处理器,用于并行执行处理进程,
-至少两个高速缓冲存储器单元,每个高速缓冲存储器单元都与一个分离的处理器相关并且与其相连,
-一个将所述处理器和所述高速缓冲存储器单元相连的连接总线,以及
-一个与所述的连接线相连的处理进程列表单元,用于存储由所述处理器执行的处理进程列表,
一第一附加通信线,用于将唤醒地址从所述处理器传递到所述高速缓冲存储器单元;
一第二附加通信线,用于将唤醒信号从所述高速缓冲存储器单元传递到所述处理器;
所述方法包括步骤:
-通过处理器将一个综合全局唤醒变量装载到其相关的高速缓冲存储器单元当中,该唤醒变量表明在所述处理进程列表中增加了一个处理进程,
-在所述处理进程列表中增加一个处理进程,以及
-改变表明向所述处理进程列表增加一个处理进程的唤醒变量,从而使所述的处理器从低能耗模式转换到正常能耗模式,
其中,将所述唤醒信号从所述高速缓冲存储器单元传递到所述处理器,以提醒所述处理器从所述低能模式转换到所述正常能耗模式。
根据本发明的再一方面,提供了一种由多处理器计算机系统中的处理器执行的处理进程方法,包括:
-至少两个处理器,用于并行执行处理进程,
-至少两个高速缓冲存储器单元,每个高速缓冲存储器单元都与一个分离的处理器相关并且与其相连,
-一个将所述处理器和所述高速缓冲存储器单元相连的连接总线,以及
-一个与所述连接线相连的处理进程列表单元,用于存储由所述处理器执行的处理进程列表,
一第一附加通信线,用于将唤醒地址从所述处理器传递到所述高速缓冲存储器单元;
一第二附加通信线,用于将唤醒信号从所述高速缓冲存储器单元传递到所述处理器;
所述方法包括步骤:
-将一个综合全局唤醒变量装载到相关的高速缓冲存储器单元当中,该唤醒变量表明在所述处理进程列表中增加了一个处理进程,
-如果所述处理进程列表不含有由所述处理器执行的处理进程,则转换到低能耗模式,所述转换是采用所述唤醒变量作为参数,通过执行“睡眠-同时-缓存”指令来实现的,
-如果所述唤醒变量表明向所述处理进程列表增加了一个处理进程,则转换到正常能耗模式,并且
其中,将所述唤醒信号从所述高速缓冲存储器单元传递到所述处理器提醒所述处理器从所述低能耗模式转换到所述正常能耗模式,以及
-访问所述处理进程列表从而获得所述增加的执行处理进程。
根据本发明的一个优选实施例,通过在进程列表中增加进程改变唤醒变量来使处理器转换到正常能耗模式。在进程列表中增加进程的处理器仅需要改变唤醒变量,例如,通过执行存储命令,并且将任意的新的值写入到所述变量。这将立即通知给所有的保存所述唤醒变量的高速缓冲存储器单元,从而使相关的处理器从低能耗模式转换到正常能耗模式。
根据本发明的另一方面,当在所述的进程列表中增加一个进程时,处理器向其他的处理器发送一个请求将唤醒变量从它们的相关高速缓冲存储器单元中丢弃。而且,以这种方式,其他的处理器被立即通知在进程列表中增加了一个新的进程,这样转换到正常能耗模式,在该模式下它们竭力从进程列表中获得用于执行的进程。
最好是,在根据本发明的多处理器计算机系统中应用一个基于无效的高速缓冲存储器相干协议。这意味着在存储器单元的读取命令下,检测其他的高速缓冲存储器单元从而检查它们是否包含一个比存储器单元中的数据更新的日期版本。如果处理器保存着数据的更新日期的版本,就将该版本提供给存储器。在向高速缓冲存储器单元写入数据的命令下,检测其他的处理器从而检查它们是否高速缓存了同样的数据项目。如果发生这种情况,它们应当将这些数据无效,即从它们的高速缓冲存储器单元中去除。关于高速缓冲存储器相干协议的更多的细节,特别是基于无效的高速缓冲存储器相干协议的细节可以参考John L.Hennessy和David A.Patterson,“计算机结构,定量方法”,Morgan Kaufman出版,第二版,第8.3章。
附图说明
现在将参照附图详细说明本发明,其中
附图1表明了一个已知的多处理器计算机系统的方框图,
附图2表明了一个已知的调度进程的执行的方法的流程图,
附图3表明了根据本发明的调度进程的执行的方法的流程图,
附图4表明了根据本发明在进程列表中增加一个进程的方法流程图,以及
附图5表明了根据本发明的一个多处理器计算机系统的方框图。
具体实施方式
附图1表明了一个已知的多处理器计算机系统的方框图。所述的计算机系统包括多个处理器1,在本发明中是4个,所谓的中央处理单元(CPU),在每个中央处理单元上连接一个高速缓冲存储器单元2。而且,提供了一个共享的存储器单元3,例如一个随机访问存储器,在该存储器单元中包括将被所述的处理器1执行的进程列表。处理器1通过高速缓冲存储器单元2,经过互连线4,例如一个总线,相互连接,存储单元3,其被认为含有一个进程列表单元,也与处理器1相互连接。
在附图2的流程图中表明了一种在该多处理器计算机系统中执行这样的调度执行进程的已知方法。已准备好的进程的选择,即已经准备好由一个处理器执行的进程,包括等待直到一个进程出现在所谓的“进程列表”的已经准备好的讲程列表中(步骤S10)。有多个处理器在等待,因此进程列表不得不用一个锁来保护,否则,在处理器从列表中获得已准备好的进程之前,很可能其已经被另一个处理器所获得(S11)。然后在步骤S12中从列表中获得准备好的进程,以后进程列表被再次解锁,用于对其他的试图获得执行进程的处理器访问(S13)。在处理器成功从进程列表中获得用于执行的进程的情况下(S14),其执行该进程,而在相反情况下,其返回到开始,其中其被设定成试图从进程列表中获得进程的状态。目前没有执行进程的处理器因此持续地检查进程列表是否为空(S10),作为备用状态或者旋转循环。
附图3以流程图的形式表明了根据本发明的调度执行进程的方法的一个例子。根据本发明,引入了一个用于向进程列表发出增加进程信号的全局“唤醒”变量。假设在开始,处理器处于正常能耗模式并且正在寻找一个准备好的进程。在第一步骤S20,如果高速缓冲存储器中没有唤醒变量,处理器将使用正常的装载指令,将含有唤醒变量的高速缓冲线装载到高速缓冲存储器当中。接下来,处理器检查进程列表是否为空(S21)。如果在步骤S21,处理器已经在进程列表中发现一个准备好的进程,在步骤S22其首先锁定进程列表,从而防止其他的处理器访问所述的列表。接下来,处理器从进程列表中获得进程(S23),以后进程列表被再次解锁(S24)。
如果步骤S23成功,处理器将执行其获得的进程(S25)。该进程的上下文被恢复并且进程继续执行。
如果步骤S23没有成功,将以唤醒变量作为参数执行一个所谓的睡眠-同时-高速缓存(swc)指令。这意味着处理器其从其正常功耗模式转换到低功耗模式,即某种睡眠模式,其中只要唤醒变量位于其相关的高速缓冲存储器单元当中,或者更精确的说,只要其高速缓冲存储器单元的高速缓冲线保存唤醒变量,该模式将持续保持。在步骤S21给出一个积极结果的情况下,即如果已经发现进程列表为空的情况下(S26),执行相同的swc指令。
如图4所示,如果另一个处理器在进程列表中增加了一个进程来执行,其在实际增加进程(S31)以前,其首先阻塞进程列表(S30)。在再次解锁进程列表以后(S32),将对唤醒变量执行一个存储命令,即将为唤醒变量分配一个新的值(S33)。这将立即通知所有处于低能耗模式的处理器在进程列表中已经增加了一个新的进程,并且这将导致这种处理器的高速缓冲存储器单元的高速缓冲线无效,然后处理器从低能耗模式转换到正常能耗模式,并且再次开始步骤S20(参见附图3)。
由于没有执行进程的处理器没有在正常能耗模式下在旋转循环中等待,而是转换到低能耗模式,因此这样方法节省了很多能量。但是,由于根据本发明使用了一个高速缓冲存储器相干协议,使用存储在睡眠存储器中的高速缓冲存储器单元中的所述唤醒变量来向进程列表发出增加进程的信号,唤醒程序是非常迅速的,尤其比使用中断快速。
在附图5中显示了一个用于执行本发明的多处理器计算机系统的方框图。根据本发明,在处理器1和高速缓冲存储器单元2之间,除了正常数据路径6以外,还增加了附加的通信线7,8。通信线7用于从处理器1向高速缓冲存储器单元2传送唤醒地址,即向高速缓冲存储器单元2传递swc指令所指定的地址。通信线8用于从高速缓冲存储器单元2向处理器1传输唤醒信息从而当指定的地址从高速缓冲存储器单元中消失时,使处理器从低能耗模式转换到正常能耗模式。
在附图4的步骤S33中,如果一个处理器向一个唤醒变量存储一个任意值,该唤醒变量是随后发生的正常存储指令。如果另一个处理器正在寻找一个准备好的进程,那么该处理器具有其高速缓冲存储器单元中的唤醒变量,这意味着高速缓冲存储器含有与存储块相应的高速缓冲线,唤醒变量存储在上述存储块中。如果另一个处理器正在高速缓存着唤醒变量,那么试图向唤醒变量存储一个任意值的处理器由于高速缓冲存储器相干协议而不能通过存储指令该变唤醒变量。为了进行存储操作,处理器向所有其它处理器发送一个广播,要求从它们的高速缓冲存储器单元中丢弃唤醒变量。对于高速缓冲存储器相干协议来说,尤其是MSI,MESI,MOESI类型,处理器从共享或者无效转换到修改状态。这使得正在睡眠的处理器在一个swc指令之后唤醒并且转换到正常能耗模式。然后这些处理器将检查进程列表,并且它们中的一个将成功找到刚刚加入的进程。其他的处理器将根据swc指令,转换回低能耗模式。
应当注意处理器在努力从进程列表中得到一个进程之前装载唤醒变量。以相反的顺序执行上述进程可能造成这种情形:处理器转换到低能耗模式,同时在进程列表中存在一个准备好的进程。
除了节省进程调度器中的能源以外,上述介绍的根据本发明的swc指令也可以用于诸如需要处理器之间的快速同步的其他目的。尽管多种处理器都具有转换到低能耗睡眠模式的指令,但是由于根据本发明建议的高速缓冲相干转换,没有任何已知的处理器和多处理器计算机系统能够唤醒和转换到正常能耗模式,本发明提供一个非常快速和有效的解决方案。

Claims (7)

1.多处理器计算机系统,包括:
-至少两个处理器,用于并行执行处理进程,
-至少两个高速缓冲存储器单元,每个高速缓冲存储器单元都与一个分离的处理器相关并且与其相连,
-一个将所述处理器和所述高速缓冲存储器单元相连的连接总线,以及
-一个与所述连接线相连的处理进程列表单元,用于存储由所述处理器进行执行的处理进程列表,
其中,所述处理器用于将表明在所述的处理进程列表中增加一个处理进程的综合全局唤醒变量装载到它们相关的高速缓冲存储器单元内,如果所述处理进程列表不含有由所述处理器执行的处理进程,则转换到一个低能耗模式,而如果所述唤醒变量表明向所述处理进程列表发信号增加处理进程,则处理器就转换到正常能耗模式,所述多处理器计算机系统还包含:
一第一附加通信线,用于将唤醒地址从所述处理器传递到所述高速缓冲存储器单元;
一第二附加通信线,用于将唤醒信号从所述高速缓冲存储器单元传递到所述处理器,以使所述处理器从所述低能耗模式转换到所述正常能耗模式。
2.根据权利要求1所述的多处理器计算机系统,
其中,如果由于在所述处理进程列表中增加了一个处理进程从而改变了相关高速缓冲存储器单元中存储的唤醒变量,则所述处理器用于转换到正常能耗模式。
3.根据权利要求1所述的多处理器计算机系统,
其中,当在所述处理进程列表中增加一个处理进程时,所述处理器用于对所述唤醒变量执行一个存储命令。
4.根据权利要求1所述的多处理器计算机系统,
其中,当在所述处理进程列表中增加一个处理进程时,所述处理器用于向其他的处理器发送一个请求,从而从它们的相关高速缓冲存储器单元中卸除丢弃唤醒变量。
5.根据权利要求1所述的多处理器计算机系统,
其中,所述计算机系统用于实现执行一个基于无效的高速缓冲存储器相干协议。
6.用于在多处理器计算机系统中调度处理进程执行的方法,所述多处理器计算机系统包括
-至少两个处理器,用于并行执行处理进程,
-至少两个高速缓冲存储器单元,每个高速缓冲存储器单元都与一个分离的处理器相关并且与其相连,
-一个将所述处理器和所述高速缓冲存储器单元相连的连接总线,以及
-一个与所述的连接线相连的处理进程列表单元,用于存储由所述处理器执行的处理进程列表,
一第一附加通信线,用于将唤醒地址从所述处理器传递到所述高速缓冲存储器单元;
一第二附加通信线,用于将唤醒信号从所述高速缓冲存储器单元传递到所述处理器;
所述方法包括步骤:
-通过处理器将一个综合全局唤醒变量装载到其相关的高速缓冲存储器单元当中,该唤醒变量表明在所述处理进程列表中增加了一个处理进程,
-在所述处理进程列表中增加一个处理进程,以及
-改变表明向所述处理进程列表增加一个处理进程的唤醒变量,从而使所述的处理器从低能耗模式转换到正常能耗模式,
其中,将所述唤醒信号从所述高速缓冲存储器单元传递到所述处理器,以提醒所述处理器从所述低能模式转换到所述正常能耗模式。
7.一种由多处理器计算机系统中的处理器执行的处理进程方法,包括:
-至少两个处理器,用于并行执行处理进程,
-至少两个高速缓冲存储器单元,每个高速缓冲存储器单元都与一个分离的处理器相关并且与其相连,
-一个将所述处理器和所述高速缓冲存储器单元相连的连接总线,以及
-一个与所述连接线相连的处理进程列表单元,用于存储由所述处理器执行的处理进程列表,
一第一附加通信线,用于将唤醒地址从所述处理器传递到所述高速缓冲存储器单元;
一第二附加通信线,用于将唤醒信号从所述高速缓冲存储器单元传递到所述处理器;
所述方法包括步骤:
-将一个综合全局唤醒变量装载到相关的高速缓冲存储器单元当中,该唤醒变量表明在所述处理进程列表中增加了一个处理进程,
-如果所述处理进程列表不含有由所述处理器执行的处理进程,则转换到低能耗模式,所述转换是采用所述唤醒变量作为参数,通过执行“睡眠-同时-缓存”指令来实现的,
-如果所述唤醒变量表明向所述处理进程列表增加了一个处理进程,则转换到正常能耗模式,并且
其中,将所述唤醒信号从所述高速缓冲存储器单元传递到所述处理器提醒所述处理器从所述低能耗模式转换到所述正常能耗模式,以及
-访问所述处理进程列表从而获得所述增加的执行处理进程。
CN038157187A 2002-07-03 2003-06-23 多处理器计算机系统及方法 Expired - Fee Related CN1666180B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP02077637 2002-07-03
EP02077637.3 2002-07-03
PCT/IB2003/002849 WO2004006097A2 (en) 2002-07-03 2003-06-23 Multi-processor computer system

Publications (2)

Publication Number Publication Date
CN1666180A CN1666180A (zh) 2005-09-07
CN1666180B true CN1666180B (zh) 2010-05-26

Family

ID=30011147

Family Applications (1)

Application Number Title Priority Date Filing Date
CN038157187A Expired - Fee Related CN1666180B (zh) 2002-07-03 2003-06-23 多处理器计算机系统及方法

Country Status (6)

Country Link
US (1) US7577823B2 (zh)
EP (1) EP1520228A2 (zh)
JP (1) JP2005531860A (zh)
CN (1) CN1666180B (zh)
AU (1) AU2003281389A1 (zh)
WO (1) WO2004006097A2 (zh)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3813930B2 (ja) 2002-01-09 2006-08-23 松下電器産業株式会社 プロセッサ及びプログラム実行方法
JP4750350B2 (ja) 2003-03-13 2011-08-17 パナソニック株式会社 タスク切換装置、方法及びプログラム
GB2414575B (en) * 2004-05-26 2007-06-06 Advanced Risc Mach Ltd Management of polling loops in a data processing apparatus
GB2414573B (en) 2004-05-26 2007-08-08 Advanced Risc Mach Ltd Control of access to a shared resource in a data processing apparatus
US7447927B2 (en) * 2005-08-23 2008-11-04 Apple Inc. Method and apparatus for waking up a sleeping system
CN100377041C (zh) * 2005-12-02 2008-03-26 威盛电子股份有限公司 多处理器系统的电源管理装置及方法
US8806228B2 (en) 2006-07-13 2014-08-12 International Business Machines Corporation Systems and methods for asymmetrical performance multi-processors
US9015501B2 (en) * 2006-07-13 2015-04-21 International Business Machines Corporation Structure for asymmetrical performance multi-processors
CN100530107C (zh) * 2007-03-02 2009-08-19 中国科学院声学研究所 基于io事件通知机制的单进程内容服务器装置及方法
JP2008276331A (ja) * 2007-04-25 2008-11-13 Toshiba Corp マルチプロセッサの制御装置及び方法
KR20090032415A (ko) * 2007-09-28 2009-04-01 삼성전자주식회사 프로세서 웨이크 업 기능을 갖는 멀티포트 반도체 메모리장치 및 이를 채용한 멀티 프로세서 시스템 그리고 멀티프로세서 시스템에서의 프로세서 웨이크 업 방법
US8225120B2 (en) 2008-02-01 2012-07-17 International Business Machines Corporation Wake-and-go mechanism with data exclusivity
US8516484B2 (en) 2008-02-01 2013-08-20 International Business Machines Corporation Wake-and-go mechanism for a data processing system
US8452947B2 (en) * 2008-02-01 2013-05-28 International Business Machines Corporation Hardware wake-and-go mechanism and content addressable memory with instruction pre-fetch look-ahead to detect programming idioms
US8250396B2 (en) * 2008-02-01 2012-08-21 International Business Machines Corporation Hardware wake-and-go mechanism for a data processing system
US8312458B2 (en) 2008-02-01 2012-11-13 International Business Machines Corporation Central repository for wake-and-go mechanism
US8127080B2 (en) 2008-02-01 2012-02-28 International Business Machines Corporation Wake-and-go mechanism with system address bus transaction master
US8316218B2 (en) * 2008-02-01 2012-11-20 International Business Machines Corporation Look-ahead wake-and-go engine with speculative execution
US8725992B2 (en) 2008-02-01 2014-05-13 International Business Machines Corporation Programming language exposing idiom calls to a programming idiom accelerator
US8612977B2 (en) * 2008-02-01 2013-12-17 International Business Machines Corporation Wake-and-go mechanism with software save of thread state
US8732683B2 (en) 2008-02-01 2014-05-20 International Business Machines Corporation Compiler providing idiom to idiom accelerator
US8386822B2 (en) * 2008-02-01 2013-02-26 International Business Machines Corporation Wake-and-go mechanism with data monitoring
US8880853B2 (en) 2008-02-01 2014-11-04 International Business Machines Corporation CAM-based wake-and-go snooping engine for waking a thread put to sleep for spinning on a target address lock
US8145849B2 (en) * 2008-02-01 2012-03-27 International Business Machines Corporation Wake-and-go mechanism with system bus response
US8015379B2 (en) * 2008-02-01 2011-09-06 International Business Machines Corporation Wake-and-go mechanism with exclusive system bus response
US8640141B2 (en) 2008-02-01 2014-01-28 International Business Machines Corporation Wake-and-go mechanism with hardware private array
US8171476B2 (en) 2008-02-01 2012-05-01 International Business Machines Corporation Wake-and-go mechanism with prioritization of threads
US8341635B2 (en) 2008-02-01 2012-12-25 International Business Machines Corporation Hardware wake-and-go mechanism with look-ahead polling
US8788795B2 (en) * 2008-02-01 2014-07-22 International Business Machines Corporation Programming idiom accelerator to examine pre-fetched instruction streams for multiple processors
US8886919B2 (en) 2009-04-16 2014-11-11 International Business Machines Corporation Remote update programming idiom accelerator with allocated processor resources
US8230201B2 (en) * 2009-04-16 2012-07-24 International Business Machines Corporation Migrating sleeping and waking threads between wake-and-go mechanisms in a multiple processor data processing system
US8082315B2 (en) * 2009-04-16 2011-12-20 International Business Machines Corporation Programming idiom accelerator for remote update
US8145723B2 (en) * 2009-04-16 2012-03-27 International Business Machines Corporation Complex remote update programming idiom accelerator
US9501705B2 (en) * 2009-12-15 2016-11-22 Micron Technology, Inc. Methods and apparatuses for reducing power consumption in a pattern recognition processor
US20120054752A1 (en) * 2010-08-27 2012-03-01 Htc Corporation Electronic device having operation mode dynamic adjusting mechanism and method of the same
US9298627B2 (en) * 2013-01-14 2016-03-29 Marvell World Trade Ltd. Shared op-symmetric update-sensitive variables
KR102110812B1 (ko) * 2013-05-30 2020-05-14 삼성전자 주식회사 멀티 코어 시스템 및 멀티 코어 시스템의 작업 스케줄링 방법
JP6255721B2 (ja) * 2013-06-07 2018-01-10 日本電気株式会社 処理割り当て装置、処理割り当て方法及び処理割り当てプログラム
US20160170474A1 (en) * 2013-08-02 2016-06-16 Nec Corporation Power-saving control system, control device, control method, and control program for server equipped with non-volatile memory
DE102016106939B4 (de) 2015-04-17 2024-05-02 Suunto Oy Eingebettetes Rechengerät
US10802712B2 (en) 2015-10-13 2020-10-13 Axell Corporation Information processing apparatus and method of processing information
US10990159B2 (en) * 2017-04-25 2021-04-27 Apple Inc. Architected state retention for a frequent operating state switching processor

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0942368A2 (en) * 1998-03-10 1999-09-15 Lucent Technologies Inc. Context controller having automatic entry to power saving mode and processor employing the same

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4747041A (en) * 1983-06-27 1988-05-24 Unisys Corporation Automatic power control system which automatically activates and deactivates power to selected peripheral devices based upon system requirement
US5182810A (en) * 1989-05-31 1993-01-26 Dallas Semiconductor Corp. Isolation gates to permit selective power-downs within a closely-coupled multi-chip system
US5754436A (en) * 1994-12-22 1998-05-19 Texas Instruments Incorporated Adaptive power management processes, circuits and systems
US6158000A (en) * 1998-09-18 2000-12-05 Compaq Computer Corporation Shared memory initialization method for system having multiple processor capability

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0942368A2 (en) * 1998-03-10 1999-09-15 Lucent Technologies Inc. Context controller having automatic entry to power saving mode and processor employing the same

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
DUBOIS M ET AL.SYNCHRONIZATION COHERENCE, AND EVENT ORDERING IN MULTIPROCESSORS.COMPUTER,IEEE COMPUTER SOCIETY,LONG BEACH.,CA,US,US,21 2.1998,全文.
DUBOIS M ET AL.SYNCHRONIZATION COHERENCE, AND EVENT ORDERING IN MULTIPROCESSORS.COMPUTER,IEEE COMPUTER SOCIETY,LONG BEACH.,CA,US,US,21 2.1998,全文. *
LORCH JACOB R ET AL.Reducing processor power consumption by improving processor time management in a single-user operation system.PROC ANNU INT CONF MOBILE COMPUT NETWORKING *
PROCEEDINGS OF THE ANNUAL INTERNATIONAL CONFERENCE ON MOBILE COMPUTERING AND NETWORKING,MOBICOM 1996 ACM,NEW YORK, NY, USA, 1996.1996,全文. *
SADUN ANIK.Architectural and Software Support for Executing NumericalApplications on High Performance Computer.URL:http://www.crhc.uiuc.edu/IMPACT/ftp/report/phd-thesis-sadun-anik.pdf.1993,第10页第4列-第21页第2列,第41页第8列-第42页左列. *

Also Published As

Publication number Publication date
WO2004006097A3 (en) 2004-12-02
AU2003281389A8 (en) 2004-01-23
CN1666180A (zh) 2005-09-07
EP1520228A2 (en) 2005-04-06
US20060069738A1 (en) 2006-03-30
US7577823B2 (en) 2009-08-18
AU2003281389A1 (en) 2004-01-23
JP2005531860A (ja) 2005-10-20
WO2004006097A2 (en) 2004-01-15

Similar Documents

Publication Publication Date Title
CN1666180B (zh) 多处理器计算机系统及方法
CN101529383B (zh) 任务处理装置
US10949249B2 (en) Task processor
CN108920267B (zh) 任务处理装置
CN109462881B (zh) 消息处理单元
US7409506B2 (en) Multiprocessor system with high-speed exclusive control
EP0945798A2 (en) High speed remote storage cluster interface controller
US8352710B2 (en) Off-loading of processing from a processor blade to storage blades
US20080307422A1 (en) Shared memory for multi-core processors
US8566493B2 (en) Interrupt controller and methods of operation
CN102077181A (zh) 用于在多核处理器中和在某些共享存储器多处理器系统中产生并输送处理器间中断的方法和系统
CN102495756A (zh) 操作系统在不同的中央处理器之间切换的方法及系统
CN102446158A (zh) 多核处理器及多核处理器组
US5948088A (en) Bus system providing dynamic control of pipeline depth for a multi-agent computer
CN1898647B (zh) 具有被动线程和活动信标的处理架构
CN102436393B (zh) 任务处理装置
WO2002088970A1 (en) Crossbar multipath resource controller system and method
US5594880A (en) System for executing a plurality of tasks within an instruction in different orders depending upon a conditional value
US20210182187A1 (en) Flushing Cache Lines Involving Persistent Memory
JP2005346672A (ja) メモリ制御方法、メモリ制御システム、プログラム及び記憶媒体
CN116302402A (zh) 嵌入式系统任务处理方法及装置
CN103164384A (zh) 多机系统共享内存的同步实现方法及其系统
US6009477A (en) Bus agent providing dynamic pipeline depth control
CN100561439C (zh) 使用于多处理器系统的同步方法与装置
CN111670432A (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: NXP CO., LTD.

Free format text: FORMER OWNER: KONINKLIJKE PHILIPS ELECTRONICS N.V.

Effective date: 20070824

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

Effective date of registration: 20070824

Address after: Holland Ian Deho Finn

Applicant after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Applicant before: Koninklijke Philips Electronics N.V.

C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100526

Termination date: 20110623