CN101061462B - 多处理器系统以及其中的排他控制方法 - Google Patents

多处理器系统以及其中的排他控制方法 Download PDF

Info

Publication number
CN101061462B
CN101061462B CN2005800400253A CN200580040025A CN101061462B CN 101061462 B CN101061462 B CN 101061462B CN 2005800400253 A CN2005800400253 A CN 2005800400253A CN 200580040025 A CN200580040025 A CN 200580040025A CN 101061462 B CN101061462 B CN 101061462B
Authority
CN
China
Prior art keywords
lock
mentioned
variable
read
register
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
CN2005800400253A
Other languages
English (en)
Other versions
CN101061462A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101061462A publication Critical patent/CN101061462A/zh
Application granted granted Critical
Publication of CN101061462B publication Critical patent/CN101061462B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms

Abstract

本发明提供一种能够用简单的结构实现与具有锁变量的原子读出修改写入功能的高成本的系统同样的功能的多处理器系统。如果某一CPU断言读出信号READ,则从锁寄存器18读出锁变量LOCK,并且将锁定状态“1”的锁变量LOCK写入到锁寄存器18。在所读出的锁变量LOCK是非锁定状态“0”的情况下,该CPU能够获得锁。由于读出锁变量LOCK并且写入锁定状态“1”的主锁变量LOCK,所以此后即使另一CPU断言读出信号READ,也会因为从锁寄存器18读出锁定状态“1”的锁变量LOCK,而使该另一CPU不能获得锁。

Description

多处理器系统以及其中的排他控制方法
技术领域
本发明涉及多处理器系统以及其中的排他控制方法,更具体地,涉及在执行排他控制之前获得锁并在执行排他控制之后释放锁的多处理器系统以及其中的排他控制方法。
背景技术
以往,作为多线程程序设计的执行环境,需要MESI(ModifiedExclusive Shared Invalid,修改、排他、共享、无效)那样的高速缓存一致性协议和支持不可分(原子)传送的总线。但是,安装有它们的CPU(Central Processing Unit,中央处理单元)以及总线将是高成本的。
目前,作为低成本的CPU,也根据Linux支持的必要性而具有TLB(Translation Look-aside Buffer,转换后援缓冲器)。在使用了这种CPU的情况下,只要安装支持原子传送的总线,就能够构筑多处理器系统。在这种情况下,即使没有总线窥探(スヌ一プ)的硬件支持,如果利用与NUMA(Non-Uniform Memory Access:非均匀存储器访问)相同的OS(Operating System:操作系统),则也可以使用TLB的支持来维持高速缓存一致性。
在此,之所以需要支持原子传送的总线,是为了可以进行CPU之间的排他控制。例如为了排他地改写各CPU的TLB,需要对锁变量原子地进行读出修改写入。但是,准备单处理器而设计的、低成本的嵌入式处理器及其总线规则,并不支持原子读出修改写入。
下面,参照图5说明原子读出修改写入的必要性。其中,将锁变量lock分配到了存储器上。
首先,CPU从存储器读出锁变量lock(S1),判断是否lock=1(S2)。只要lock=1,即锁变量成为锁定状态(在S2为是),CPU就反复读出锁变量lock(S1)。另一方面,在lock=0、即锁变量为非锁定状态的情况下(在S2为否),CPU改写为lock=1,由此获得排他控制所需要的锁(S3)。在获得锁之后,CPU执行规定的排他控制(S4)。在完成排他控制之后,CPU改写为lock=0,由此释放锁(S5)。
但是,在从读出lock=0到改写为lock=1的期间,如果其他的CPU读出lock=0,则有可能误认为能够获得锁。为了防止这种情况,必须原子地执行上述的锁变量的读出操作S1和写入操作S3。
此外,用于使CPU执行上述的原子读出修改写入的程序,由于使用在原子传送中所需要的专用命令,所以不用C那样的高级语言,而必须用汇编语言来描述。
美国专利第5175829号说明书(以下记作专利文献1)公开了将原子传送组装到CPU以及局部总线内的装置。这种多处理器系统,为了消减总线带宽,而通过采用共享总线方式并使用MESI协议而使得不能获得锁的CPU不重复无用的读访问。
美国专利第5175829号说明书(以下记作专利文献2)公开了将用于管理锁的交换寄存器内置于CPU内的装置。该装置用存储在存储器中的锁变量时刻对存储在交换寄存器中的锁变量进行交换更新,并对该交换寄存器进行用于获得锁的读访问。该装置也是以高成本并且复杂的原子读出修改写入功能的存在为前提。
美国专利第5666515号说明书(以下记作专利文献3)公开了通过发送重试信号而加锁、减轻了总线带宽的饱和的装置。该装置也是以高成本并且复杂的原子读出修改写入功能的存在为前提。
专利文献1:美国专利第5175829号说明书
专利文献2:美国专利第5535365号说明书
专利文献3:美国专利第5666515号说明书
发明内容
本发明的目的在于提供一种能够用简单的构成实现与具有锁变量的原子读出修改写入功能的高成本的系统同样的功能的多处理器系统以及其中的排他控制方法。
本发明的多处理器系统具备多个处理器和锁寄存器。处理器的各个在执行排他控制之前,为了获得锁而断言读出信号,并且在执行排他控制之后,为了释放锁而断言写入信号。锁寄存器与多个处理器连接。锁寄存器包括保存单元、锁变量输出单元和锁变量输入单元。保存单元保存锁定状态或者非锁定状态的第1锁变量。锁变量输出单元在处理器的1个断言读出信号时,输出此前保存在保存单元中的第1锁变量。锁变量输入单元在处理器的1个断言读出信号时,将锁定状态的第1锁变量设定到保存单元,并且在处理器的1个断言写入信号时,将非锁定状态的第1锁变量设定到保存单元。
在上述多处理器系统中,在某一处理器断言读出信号时,从锁寄存器读出第1锁变量,并且将锁定状态的第1锁变量写入到锁寄存器。在所读出的第1锁变量为非锁定状态的情况下,该处理器能够获得锁。由于读出第1锁变量并且写入锁定状态的第1锁变量,所以此后即使另一处理器断言读出信号,也会因为从锁寄存器读出锁定状态的第1锁变量,而使该另一处理器不能获得锁。这样,本发明的多处理器系统仅设置锁寄存器,就能够实现与具有锁变量的原子读出修改写入功能的高成本的系统相同的功能。
优选地,锁寄存器进一步包括总线重试单元。总线重试单元在第1锁变量被设定为锁定状态的期间,在处理器的1个断言读出信号时,生成用于提供给处理器的总线重试信号。
在此情况下,由于处理器接收总线重试信号并且由此认识到不可能获得锁,所以能够使其不会随便地断言读出信号。
优选地,多处理器系统进一步具备第1总线、存储器、第2总线。第1总线与多个处理器共同连接。存储器与第1总线连接。第2总线与多个处理器共同连接。锁寄存器连接到第2总线。
在此情况下,在由于某一处理器已获得了锁而另一处理器等待其释放锁时,该另一处理器经由第2总线断言读出信号而从锁寄存器读出第1锁变量,另一方面,获得了锁的处理器经由第1总线访问存储器。因而,不会妨碍从获得了锁的处理器对存储器的访问。
进而优选地,存储器存储1个、或者2个或2个以上的第2锁变量。处理器的各个断言读出信号而从锁寄存器读出第1锁变量,且在所读出的第1锁变量为非锁定状态的情况下,从存储器读出第2锁变量,在所读出的第2锁变量为非锁定状态的情况下,将第2锁变量改写为锁定状态。
在此情况下,处理器首先从锁寄存器读出第1锁变量而获得锁,接着从存储器读出第2锁变量而获得锁。这样,因为分阶段地获得锁,所以能够设定多个锁变量。
此外,本发明的排他控制方法,是具备多个处理器和与多个处理器连接的、保存锁定状态或者非锁定状态的第1锁变量的锁寄存器的多处理器中的排他控制方法,包括:在处理器的1个为了获得锁而断言读出信号时,从锁寄存器读出第1锁变量并且将锁定状态的第1锁变量写入到锁寄存器的步骤;在所读出的第1锁变量为非锁定状态的情况下,由该1个处理器执行排他控制的排他控制步骤;以及在执行排他控制之后,在该1个处理器为了释放锁而断言写入信号时,将非锁定状态的第1锁变量写入到锁寄存器的步骤。
在上述排他控制方法中,如果某一处理器断言读出信号,则从锁寄存器读出第1锁变量,并且将锁定状态的第1锁变量写入到锁寄存器。在所读出的第1锁变量为非锁定状态的情况下,该处理器能够获得锁。由于读出第1锁变量并且写入锁定状态的第1锁变量,所以此后即使另一处理器断言读出信号,也会从锁寄存器读出锁定状态的第1锁变量。因而,该另一处理器不能获得锁。这样,本发明的排他控制方法仅设置锁寄存器,就能够实现与具有锁变量的原子读出修改写入功能的高成本的系统相同的功能。
优选地,排他控制方法进一步包括:在第1锁变量为锁定状态的期间,在处理器的1个断言读出信号时,生成用于提供给处理器的总线重试信号的步骤。
在此情况下,由于处理器接收总线重试信号并由此认识到不可能获得锁,所以能够使其不会随便地断言读出信号。
优选地,多处理器系统进一步具备存储1个、或者2个或2个以上的第2锁变量的存储器。上述排他控制步骤包括:在所读出的第1锁变量为非锁定状态的情况下,从存储器读出第2锁变量的步骤;在所读出的第2锁变量为非锁定状态的情况下,将第2锁变量改写为锁定状态的步骤;以及在将第2锁变量改写为锁定状态之后,执行排他控制的步骤。
在此情况下,处理器首先从锁寄存器读出第1锁变量而获得锁,接着从存储器读出第2锁变量而获得锁。这样,因为分阶段地获得锁,所以能够设定多个锁变量。
具体实施方式
以下,参照附图详细地说明本发明的实施方式。图中,对于相同或者相当的部分标注相同符号而不重复其说明。
参照图1,本实施方式的多处理器系统10具备CPU11以及12;总线主控器13以及14;交叉总线15以及16;系统存储器17;锁寄存器18。
CPU11以及12、总线主控器13以及14共同连接到交叉总线15。CPU11以及12、总线主控器13以及14还共同连接到另一个交叉总线16。系统存储器17连接到交叉总线15,锁寄存器18连接到交叉总线16。CPU11或者12经由交叉总线15可以访问系统存储器17,经由交叉总线16还可以访问锁寄存器18。总线主控器13或者14经由交叉总线15可以访问系统存储器17,经由交叉总线16还可以访问锁寄存器18。
锁寄存器18是用于管理在排他控制中所需要的锁的寄存器。CPU11或者12在执行排他控制之前断言读出信号而从锁寄存器18获得锁,在执行排他控制之后断言写入信号而释放该锁。锁寄存器18虽然被映射到存储器上,但可以被分配与系统存储器17所不同的地址。
参照图2,锁寄存器18从CPU11或者12接收读出信号READ以及写入信号WRITE,输出读出数据总线信号READ databus以及总线重试信号BUS Retry。锁寄存器18具备延迟触发器(DFF)19以及20;OR电路21;AND电路22以及23;多路复用器24。OR电路21接收读出信号READ和DFF19的输出信号。AND电路22接收OR电路21的输出信号、写入信号WRITE的逻辑反相信号以及复位信号RESET的逻辑反相信号。DFF19与时钟信号CLK同步地锁存AND电路22的输出信号。在读出信号READ是H(逻辑高)电平“1”的情况下,多路复用器24选择输出DFF19的输出信号的输出信号。另一方面,在读出信号READ是L(逻辑低)电平“0”的情况下,多路复用器24选择输出DFF20的输出信号。DFF20与时钟信号CLK同步地锁存多路复用器24的输出信号,作为读出数据总线信号READ databus输出。AND电路23接收读出信号READ以及DFF19的输出信号,生成总线重试信号BUS Retry。
DFF19具有保存锁定状态“1”或者非锁定状态“0”的主锁变量LOCK的功能。OR电路21以及AND电路22具有在CPU11或者12断言读出信号READ时将锁定状态“1”的主锁变量LOCK设定到DFF19中,在CPU11或者12断言写入信号WRITE时将非锁定状态“0”的主锁变量LOCK设定到DFF19中的功能。多路复用器24以及DFF20具有在CPU11或者12断言读出信号READ时,输出此前保存在DFF19中的主锁变量LOCK的功能。AND电路23具有在主锁变量LOCK被设定为锁定状态“1”的期间、在CPU11或者12断言读出信号READ时,生成用于提供给CPU11以及12的总线重试信号BUS Retry的功能。
此外,在系统存储器17中,存储有1个、或者2个或2个以上的子锁变量lock。由于CPU11或者12不具有窥探高速缓存,所以将用于分配子锁变量lock的存储区域设定在非高速缓存区域。
以下,参照图3说明锁寄存器18的动作。
如果复位信号RESET被断言为H电平,则在时钟信号CLK上升的时刻t1,进行锁寄存器18的初始化。具体地,AND电路22与读出信号READ以及写入信号WRITE没有关系,输出L电平的信号,DFF19将之锁存。即,DFF19保存非锁定状态“0”的主锁变量LOCK。
接着,在为了确认1个CPU11或者12是否可以获得锁而将读出信号READ断言为H电平时,AND电路22的输出信号变成H电平。DFF19在时钟信号CLK上升的时刻t2,锁存并输出其H电平的信号。由于DFF19的输出信号被提供给OR电路21,所以在读出信号READ恢复为L电平之后,DFF19还继续锁存H电平的信号,由此保存锁存状态“1”的主锁变量LOCK。
在读出信号READ恢复为L电平时,多路复用器24选择DFF20的输出信号,由于DFF20继续锁存L电平的信号,所以读出数据总线信号READdatabus维持L电平不变。因而,认识到该CPU11或者12可以获得锁。
在认识到可以获得锁之后,即使为了确认其他的CPU12或者11是否能够获得锁而将读出信号READ断言为H电平,由于DFF19的输出信号已变成H电平,AND电路23也将总线重试信号BUS Rrery断言为H电平。因而,认识到该其他的CPU不能获得锁。此外,由于读出信号READ被断言为H电平并且多路复用器24选择DFF19的输出信号,所以在时钟信号CLK上升的时刻t3,DFF20锁存H电平的信号,由此将读出数据总线信号READ databus断言为H电平。
接着,在该CPU11或者12为了释放锁而将写入信号WRITE断言为H电平时,AND电路22的输出信号变成L电平。DFF19在时钟信号CLK上升的时刻t4锁存并输出其L电平信号。由此,主锁变量LOCK被清除为非锁定状态“0”。
其后,在为了再次确认CPU11或者12是否可以获得锁而将读出信号READ断言为H电平时,在时钟信号CLK上升的时刻t5,DFF19与前一次同样地锁存并输出H电平的信号。此时,由于多路复用器24选择L电平的信号,所以DFF20将之锁存并输出。因而,读出数据总线信号READdatabus恢复为L电平,从而认识到CPU11或者12可以获得锁。
以下,参照图4说明使用了该锁寄存器18的多处理器系统10全体的动作。
CPU11或者12从锁寄存器18读出主锁变量LOCK(S11),判断是否LOCK=1,即主锁变量LOCK是否为锁定状态“1”(S12)。在非锁定状态“0”的情况下(在S12为否),CPU11或者12从系统存储器17读出子锁变量lock(S13),判断是否lock=1,即子锁变量lock是否为锁定状态“1”(S14)。在非锁定状态“0”的情况下(在S14为否),CPU11或者12将“1”写入到子锁变量lock,由此获得锁(S15)。在锁的获得之后,CPU11或者12执行规定的排他控制(S16)。排他控制结束后,CPU11或者12将“0”写入到子锁变量lock,由此释放锁(S17)。
如上所述,如果采用本发明的实施方式,则在CPU11或者12断言读出信号READ时,由于从锁寄存器18读出主锁变量LOCK并且立即将锁定状态“1”的主锁变量LOCK写入到锁寄存器18,所以其后,即使另一CPU12或者11断言读出信号LOCK,也会从锁寄存器18读出锁定状态“1”的主锁变量LOCK。因此,另一CPU12或者11不能获得锁。因而,通过仅设置锁寄存器18就能够实现与具有锁变量的原子读出修改写入功能的高成本的多处理器系统相同的功能。
此外,在主锁变量LOCK被设定为锁定状态“1”的期间,如果CPU11或者12断言读出信号READ,则由于总线重试信号BUS Retry生成并且CPU11以及12接收该总线重试信号BUS Retry而认识到不可能获得锁,所以能够使其不会随便地断言读出信号READ。
此外,由于经由专用的交叉总线16进行用于获得或者释放锁的从CPU11或者12对锁寄存器18的访问,所以在由于CPU11或者12获得了锁而另一CPU12或者11等待其释放锁时,另一CPU12或者11经由交叉总线16断言读出信号READ而从锁寄存器18读出主锁变量LOCK,另一方面,获得了锁的CPU11或者12经由交叉总线15访问系统存储器17。因而,不会妨碍从获得了锁的CPU11或者12对系统存储器17的访问。
此外,由于以预先将1个、或者2个或2个以上的子锁变量lock存储在系统存储器17中、CPU11或者12首先从锁寄存器18读出主锁变量LOCK而获得锁、接着从系统存储器17读出子锁变量lock而获得锁的方式分阶段地获得锁,所以能够设定多个锁变量lock。
以上,说明了本发明的实施方式,但上述的实施方式只不过是用于实现本发明的示例。因而,本发明并不限于上述的实施方式,而是可以在不脱离其主旨的范围内适宜对上述的实施方式进行变形。
附图说明
图1是表示本发明的实施方式的多处理器系统的整体结构的功能方框图;
图2是表示图1中的锁寄存器的结构的电路图;
图3是表示图2所示的锁寄存器的动作的时序图;
图4是表示图1所示的多处理器系统的锁获得动作的流程图;以及
图5是表示以往的多处理器的锁获得动作的流程图。
符号说明
10:多处理器系统
11、12:CPU
15、16:交叉总线
17:系统存储器
18:锁寄存器
LOCK:主锁变量
lock:子锁变量
READ:读出信号
WRITE:写入信号
BUS Retry:总线重试信号
READ databus:读出数据总线信号

Claims (7)

1.一种多处理器系统,其特征在于,具备:
多个处理器,其各个在执行排他控制之前,为了获得锁而断言读出信号,并且在执行排他控制之后,为了释放锁而断言写入信号;以及
锁寄存器,其与上述多个处理器连接;
其中,上述锁寄存器包括:
保存单元,其保存锁定状态或者非锁定状态的第1锁变量;
锁变量输出单元,其在上述处理器中的1个断言读出信号时,输出此前保存在上述保存单元中的第1锁变量;以及
锁变量输入单元,其在上述处理器中的1个断言读出信号时,通过对该读出信号的逻辑电平与上述保存单元中保存的、表示第1锁变量的锁定状态或者非锁定状态的逻辑电平进行逻辑运算,将锁定状态的第1锁变量设定到上述保存单元,并且在上述处理器中的1个断言写入信号时,通过对该写入信号的逻辑电平与上述保存单元中保存的、表示上述第1锁变量的锁定状态或者非锁定状态的逻辑电平进行逻辑运算,将非锁定状态的第1锁变量设定到上述保存单元。
2.如权利要求1所述的多处理器系统,其特征在于,上述锁寄存器进一步包括:
总线重试单元,其在上述第1锁变量被设定为锁定状态的期间,在上述处理器中的1个断言读出信号时,生成用于提供给上述处理器的总线重试信号。
3.如权利要求1所述的多处理器系统,其特征在于,进一步具备:
与上述多个处理器共同连接的第1总线;
与上述第1总线连接的存储器;以及
与上述多个处理器共同连接的第2总线;
其中,上述锁寄存器连接到上述第2总线。
4.如权利要求1所述的多处理器系统,其特征在于,进一步具备:
存储1个、或者2个或2个以上的第2锁变量的存储器;
上述处理器中的各个断言读出信号而从上述锁寄存器读出第1锁变量,且在所读出的第1锁变量为非锁定状态的情况下,从上述存储器读出第2锁变量,在所读出的第2锁变量为非锁定状态的情况下,将第2锁变量改写为锁定状态。
5.一种多处理器系统中的用于实现排他控制的方法,是具备多个处理器和与上述多个处理器连接的、保存锁定状态或者非锁定状态的第1锁变量的锁寄存器的多处理器系统中的用于实现排他控制的方法,其特征在于,包括:
在上述处理器中的1个为了获得锁而断言读出信号时,通过使上述锁寄存器对该读出信号的逻辑电平与该锁寄存器中保存的、表示第1锁变量的锁定状态或者非锁定状态的逻辑电平进行逻辑运算,将锁定状态的第1锁变量写入到该锁寄存器的步骤;
在所读出的第1锁变量为非锁定状态的情况下,由该1个处理器执行排他控制的排他控制步骤;以及
在执行排他控制之后,在该1个处理器为了释放锁而断言写入信号时,通过使上述锁寄存器对该写入信号的逻辑电平与该锁寄存器中保存的、表示上述第1锁变量的锁定状态或者非锁定状态的逻辑电平进行逻辑运算,将非锁定状态的第1锁变量写入到该锁寄存器的步骤。
6.如权利要求5所述的多处理器系统中的用于实现排他控制的方法,其特征在于,进一步包括:
在上述第1锁变量为锁定状态的期间,在上述处理器中的1个断言读出信号时,生成用于提供给上述处理器的总线重试信号的步骤。
7.如权利要求5所述的多处理器系统中的用于实现排他控制的方法,其特征在于:
上述多处理器系统进一步具备存储1个、或者2个或2个以上的第2锁变量的存储器;
上述排他控制步骤包括:
在所读出的第1锁变量为非锁定状态的情况下,从上述存储器读出第2锁变量的步骤;
在所读出的第2锁变量为非锁定状态的情况下,将第2锁变量改写为锁定状态的步骤;以及
在将第2锁变量改写为锁定状态之后,执行排他控制的步骤。
CN2005800400253A 2004-11-26 2005-11-21 多处理器系统以及其中的排他控制方法 Expired - Fee Related CN101061462B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004341466 2004-11-26
JP341466/2004 2004-11-26
PCT/JP2005/021336 WO2006057208A1 (ja) 2004-11-26 2005-11-21 マルチプロセッサシステム及びそれにおける排他制御方法

Publications (2)

Publication Number Publication Date
CN101061462A CN101061462A (zh) 2007-10-24
CN101061462B true CN101061462B (zh) 2010-10-06

Family

ID=36497945

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800400253A Expired - Fee Related CN101061462B (zh) 2004-11-26 2005-11-21 多处理器系统以及其中的排他控制方法

Country Status (6)

Country Link
US (1) US20080270723A1 (zh)
EP (1) EP1832980B1 (zh)
JP (1) JP4852427B2 (zh)
CN (1) CN101061462B (zh)
AT (1) ATE555437T1 (zh)
WO (1) WO2006057208A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106980544A (zh) * 2017-03-31 2017-07-25 北京奇艺世纪科技有限公司 一种线程同步方法及线程同步系统

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006052703A2 (en) * 2004-11-04 2006-05-18 Board Of Trustees Of Michigan State University Secure bit
JP4874165B2 (ja) * 2006-07-07 2012-02-15 ルネサスエレクトロニクス株式会社 マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス権設定方法
CN103377086A (zh) * 2012-04-27 2013-10-30 华为技术有限公司 用于异步多核系统操作共享资源的方法、装置及系统
WO2014021879A1 (en) * 2012-07-31 2014-02-06 Hewlett-Packard Development Company, L.P. Systems and methods for controlling access to a shared data structure with reader-writer locks using multiple sub-locks
US9501332B2 (en) * 2012-12-20 2016-11-22 Qualcomm Incorporated System and method to reset a lock indication
CN104268105B (zh) * 2014-09-23 2017-06-30 天津国芯科技有限公司 处理器局部总线互斥存取的扩展结构及操作方法
CN114036091B (zh) * 2021-10-30 2023-06-16 西南电子技术研究所(中国电子科技集团公司第十研究所) 多处理器外设复用电路及其复用方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5287503A (en) * 1991-09-27 1994-02-15 Sun Microsystems, Inc. System having control registers coupled to a bus whereby addresses on the bus select a control register and a function to be performed on the control register
US5669002A (en) * 1990-06-28 1997-09-16 Digital Equipment Corp. Multi-processor resource locking mechanism with a lock register corresponding to each resource stored in common memory
US6226717B1 (en) * 1999-02-04 2001-05-01 Compaq Computer Corporation System and method for exclusive access to shared storage
US6782440B2 (en) * 2000-07-26 2004-08-24 T.N.S. Holdings, Inc. Resource locking and thread synchronization in a multiprocessor environment

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01286070A (ja) * 1988-05-13 1989-11-17 Nec Corp データ処理システム
US5175829A (en) * 1988-10-25 1992-12-29 Hewlett-Packard Company Method and apparatus for bus lock during atomic computer operations
JPH0680497B2 (ja) * 1989-12-15 1994-10-12 富士通株式会社 排他記憶域制御方式
JPH07191944A (ja) * 1991-09-11 1995-07-28 Internatl Business Mach Corp <Ibm> 多重プロセッサによる多数の資源への命令におけるデッドロックを防止するためのシステムおよび方法
JPH07113909B2 (ja) * 1992-11-27 1995-12-06 工業技術院長 並列計算機
US5666515A (en) * 1993-02-18 1997-09-09 Unisys Corporation Information processing system having multiple modules and a memory on a bus, where any module can lock an addressable portion of the memory by sending retry signals to other modules that try to read at the locked address
JP3255759B2 (ja) * 1993-06-11 2002-02-12 富士通株式会社 マルチプロセッサシステム
US5535365A (en) * 1993-10-22 1996-07-09 Cray Research, Inc. Method and apparatus for locking shared memory locations in multiprocessing systems
KR100598668B1 (ko) * 2001-02-24 2006-07-13 인터내셔널 비지네스 머신즈 코포레이션 지연 시간이 적은 메모리 시스템 액세스
US6986005B2 (en) * 2001-12-31 2006-01-10 Hewlett-Packard Development Company, L.P. Low latency lock for multiprocessor computer system
JP6080497B2 (ja) * 2012-10-31 2017-02-15 ルネサスエレクトロニクス株式会社 抵抗補正回路、抵抗補正方法、及び半導体装置
WO2020100252A1 (ja) * 2018-11-15 2020-05-22 株式会社Fuji プラズマ照射装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5669002A (en) * 1990-06-28 1997-09-16 Digital Equipment Corp. Multi-processor resource locking mechanism with a lock register corresponding to each resource stored in common memory
US5287503A (en) * 1991-09-27 1994-02-15 Sun Microsystems, Inc. System having control registers coupled to a bus whereby addresses on the bus select a control register and a function to be performed on the control register
US6226717B1 (en) * 1999-02-04 2001-05-01 Compaq Computer Corporation System and method for exclusive access to shared storage
US6782440B2 (en) * 2000-07-26 2004-08-24 T.N.S. Holdings, Inc. Resource locking and thread synchronization in a multiprocessor environment

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JP特公平6-80497B2 1994.10.12
JP特公平7-113909B2 1995.12.06
US 2004/0003021 A1,全文.

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106980544A (zh) * 2017-03-31 2017-07-25 北京奇艺世纪科技有限公司 一种线程同步方法及线程同步系统
CN106980544B (zh) * 2017-03-31 2020-03-03 北京奇艺世纪科技有限公司 一种线程同步方法及线程同步系统

Also Published As

Publication number Publication date
JP4852427B2 (ja) 2012-01-11
JPWO2006057208A1 (ja) 2008-08-07
EP1832980A4 (en) 2011-02-23
EP1832980A1 (en) 2007-09-12
US20080270723A1 (en) 2008-10-30
WO2006057208A1 (ja) 2006-06-01
ATE555437T1 (de) 2012-05-15
EP1832980B1 (en) 2012-04-25
CN101061462A (zh) 2007-10-24

Similar Documents

Publication Publication Date Title
CN101061462B (zh) 多处理器系统以及其中的排他控制方法
US11119923B2 (en) Locality-aware and sharing-aware cache coherence for collections of processors
CN101097544B (zh) 虚拟化事务存储器的全局溢出方法
CN101313285B (zh) 高速缓存包含性的按组放宽
JP2565642B2 (ja) マルチプロセッサのための拡張プロセッサバッファインターフェース
US5737759A (en) Method and apparatus for maintaining cache coherency in a computer system with a highly pipelined bus and multiple conflicting snoop requests
US20110219215A1 (en) Atomicity: a multi-pronged approach
JP2717752B2 (ja) プロセッサ
US20120089760A1 (en) Increasing Functionality Of A Reader-Writer Lock
US6795901B1 (en) Shared memory interface with conventional access and synchronization support
US8904073B2 (en) Coherence processing with error checking
US20030041225A1 (en) Mechanism for handling load lock/store conditional primitives in directory-based distributed shared memory multiprocessors
JP6244916B2 (ja) 演算処理装置,演算処理装置の制御方法及び情報処理装置
US11445020B2 (en) Circuitry and method
JP2004538536A (ja) ラウンド・ロビンおよびロッキング・キャッシュの置換法を実行する方法および装置
US6601145B2 (en) Multiprocessor system snoop scheduling mechanism for limited bandwidth snoopers that uses dynamic hardware/software controls
US7464227B2 (en) Method and apparatus for supporting opportunistic sharing in coherent multiprocessors
US11586462B2 (en) Memory access request for a memory protocol
TW548547B (en) Method and system for maintaining cache coherency for write-through store operations in a multiprocessor system
JP2007058493A (ja) マルチプロセッサシステム及びそれにおける排他制御方法
US6546468B2 (en) Multiprocessor system snoop scheduling mechanism for limited bandwidth snoopers performing directory update
US6546469B2 (en) Multiprocessor system snoop scheduling mechanism for limited bandwidth snoopers
US6338116B1 (en) Method and apparatus for a data-less write operation within a cache memory hierarchy for a data processing system
US9454482B2 (en) Duplicate tag structure employing single-port tag RAM and dual-port state RAM
KR920010968B1 (ko) 공유 캐쉬 메모리의 어드레스경로 제어회로

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101006

Termination date: 20181121

CF01 Termination of patent right due to non-payment of annual fee