JP2001142861A - Multiprocessor system - Google Patents
Multiprocessor systemInfo
- Publication number
- JP2001142861A JP2001142861A JP32398599A JP32398599A JP2001142861A JP 2001142861 A JP2001142861 A JP 2001142861A JP 32398599 A JP32398599 A JP 32398599A JP 32398599 A JP32398599 A JP 32398599A JP 2001142861 A JP2001142861 A JP 2001142861A
- Authority
- JP
- Japan
- Prior art keywords
- semaphore
- bit
- processor
- register
- bits
- 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.)
- Withdrawn
Links
Landscapes
- Multi Processors (AREA)
- Memory System (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】この発明は、マルチプロセッ
サシステムにおける共有資源(共有メモリ、共有I/O
装置等)の獲得に関し、バスの使用頻度を軽減するもの
である。[0001] The present invention relates to a shared resource (shared memory, shared I / O) in a multiprocessor system.
This is to reduce the frequency of use of the bus with respect to the acquisition of devices.
【0002】[0002]
【従来の技術】マルチプロセッサシステムにおいては、
メモリやI/O装置などの資源(共有資源)は複数のプ
ロセッサにより共有される。ある資源に対して、複数の
プロセッサが同時にアクセスを実行すると、データの不
整合が生じてしまう。この不整合を防止するためには、
共有資源にアクセスするプロセッサを1つに制限する排
他制御の機能が必要となる。2. Description of the Related Art In a multiprocessor system,
Resources (shared resources) such as memories and I / O devices are shared by a plurality of processors. When a plurality of processors simultaneously access a certain resource, data inconsistency occurs. To prevent this mismatch,
An exclusive control function for limiting the number of processors accessing the shared resource to one is required.
【0003】マルチプロセッサシステムにおいて、排他
制御機能を実現する方法としては、従来ではバスのロッ
クトランザクション機能、メモリバスのリードモディフ
ァイライト機能、セマフォレジスタなどが使用されてい
た。セマフォレジスタを使用する方法は、システムバス
にロックトランザクション機能がサポートされていない
場合でも、比較的容易に排他制御を実現可能とする方法
である。In a multiprocessor system, as a method of realizing an exclusive control function, a lock transaction function of a bus, a read-modify-write function of a memory bus, a semaphore register, and the like have conventionally been used. The method of using a semaphore register is a method that makes it possible to implement exclusive control relatively easily even when the lock transaction function is not supported by the system bus.
【0004】従来の技術として、図13に示されるセマ
フォレジスタによる排他制御方法が特開平5―8905
7に記載されている。As a prior art, an exclusive control method using a semaphore register shown in FIG.
7.
【0005】本例によると、セマフォレジスタ1を使用
することにより、排他的な資源獲得を行う方法が記載さ
れている。このセマフォレジスタ1とは、ライト動作は
通常のレジスタ動作と同様に実施され、リード動作はリ
ードデータを出力した直後にレジスタ値を予め決められ
た値(資源の占有を示す値)に変更する機能を持つレジ
スタである。本例では、16ビットデータバスのシステ
ムにおいて、1バイト当たり1つのセマフォレジスタ1
が割当てられる。[0005] According to this example, a method of acquiring exclusive resources by using the semaphore register 1 is described. The semaphore register 1 has a function of performing a write operation in the same manner as a normal register operation and changing a register value to a predetermined value (a value indicating resource occupation) immediately after outputting read data. Is a register with In this example, one semaphore register 1 per byte in a 16-bit data bus system.
Is assigned.
【0006】[0006]
【発明が解決しようとする課題】複数のプロセッサによ
る共有資源の占有率が高くなると、セマフォビットの獲
得失敗/再獲得が頻発し、処理に対するオーバヘッドが
増大する。前記例(特開平5―89057)では、図1
3に示される通り、データバス16ビット当たり2つの
セマフォビット(101、102)を備えているが、こ
れらのセマフォビットはバイトアドレス単位に割当てら
れるもので、1つのレジスタアクセスにて同時に複数の
セマフォビットは獲得できない。そのため、1つのセマ
フォを獲得するために、1つのレジスタアクセスが必要
となり、複数のセマフォを獲得する場合には、バスの使
用頻度が増大する。When the occupation rate of the shared resource by a plurality of processors increases, semaphore bit acquisition failure / reacquisition frequently occurs, and the overhead for processing increases. In the above example (JP-A-5-89057), FIG.
As shown in FIG. 3, two semaphore bits (101, 102) are provided for each 16 bits of the data bus. These semaphore bits are allocated in units of byte addresses, and a plurality of semaphores are simultaneously accessed by one register access. Bits cannot be acquired. Therefore, one register access is required to acquire one semaphore, and when acquiring a plurality of semaphores, the frequency of use of the bus increases.
【0007】また、セマフォを獲得したプロセッサが何
らかの異常によりハングした場合、その共有資源は占有
されたままの状態となってしまうという不都合が生じ
る。[0007] Further, when the processor that has acquired the semaphore hangs due to some abnormality, there is a disadvantage that the shared resource remains occupied.
【0008】本発明は、従来の課題を克服するため、セ
マフォレジスタが複数のセマフォビットにより構成され
るものとし、1つのアクセスにより同時に複数のセマフ
ォビットを獲得可能とする方式を提供する。これにより
セマフォビットの獲得処理が軽減される。The present invention provides a system in which a semaphore register is constituted by a plurality of semaphore bits and a plurality of semaphore bits can be obtained simultaneously by one access. This reduces the semaphore bit acquisition process.
【0009】さらに、プロセッサIDビットフィールド
を合わせ持ち、異常発生時の障害解析に有効な情報を提
供する方法を提供する。Further, the present invention provides a method which has a processor ID bit field and provides information effective for failure analysis when an abnormality occurs.
【0010】また、タイマ機能を合わせ持つことによ
り、異常の発生通知機能を備える方法を提供する。Further, the present invention provides a method having a function of notifying occurrence of abnormality by having a timer function.
【0011】[0011]
【課題を解決するための手段】この発明に係るマルチプ
ロセッサシステムは、複数の共有アクセス対象に対して
アクセスできるプロセッサ部を複数有し、更に、上記複
数の共有アクセス対象のうちいずれかの共有アクセス対
象に対応付けられ、対応する上記共有アクセス対象の占
有と非占有を管理するセマフォビットを記憶し、上記セ
マフォビットがリードされると、リードされた上記セマ
フォビットを占有に移行させように動作し、更に、外部
から指示があると、上記セマフォビットを占有から非占
有に移行させるように動作するセマフォレジスタを有す
るマルチプロセッサシステムであって、上記セマフォレ
ジスタは、上記セマフォビットを複数有し、上記プロセ
ッサ部は、上記セマフォレジスタから上記セマフォビッ
トを複数リードし、上記セマフォレジスタは、リードさ
れた複数の上記セマフォビットを占有に移行させ、上記
プロセッサ部は、リードした複数の上記セマフォビット
のうち、非占有のセマフォビットであって、アクセスし
ない共有アクセス対象に対応するセマフォビットである
開放セマフォビットを非占有に移行するように指示し、
上記セマフォレジスタは、上記プロセッサ部からの指示
によって、指示された開放セマフォビットを非占有に移
行させ、上記プロセッサ部は、リードした複数の上記セ
マフォビットのうち、非占有のセマフォビットであっ
て、上記開放セマフォビット以外のセマフォビットであ
る獲得セマフォビットに対応する共有アクセス対象にア
クセスし、更に、アクセスした後、上記獲得セマフォビ
ットを非占有に移行するように指示し、上記セマフォレ
ジスタは、上記プロセッサ部からの指示によって、指示
された獲得セマフォビットを非占有に移行させることを
特徴とする。A multiprocessor system according to the present invention has a plurality of processor units capable of accessing a plurality of shared access targets, and further includes any one of the plurality of shared access targets. A semaphore bit that is associated with a target and manages the occupation and non-occupation of the corresponding shared access target is stored, and when the semaphore bit is read, the read semaphore bit is operated to shift to the occupation. Further, a multiprocessor system having a semaphore register that operates to shift the semaphore bit from occupation to non-occupation when instructed from the outside, wherein the semaphore register has a plurality of the semaphore bits, The processor reads a plurality of the semaphore bits from the semaphore register. The semaphore register causes the read plurality of semaphore bits to be occupied, and the processor unit is an unoccupied semaphore bit among the read semaphore bits and corresponds to a shared access target that is not accessed. Instructing an open semaphore bit to be unoccupied,
The semaphore register shifts the designated open semaphore bit to non-occupied by an instruction from the processor unit, and the processor unit is an unoccupied semaphore bit among the plurality of read semaphore bits, The shared semaphore bit other than the open semaphore bit is accessed, and the shared semaphore bit is accessed.In addition, after the access, the acquired semaphore bit is instructed to be unoccupied. According to an instruction from the processor unit, the designated acquisition semaphore bit is shifted to non-occupation.
【0012】上記プロセッサ部は、上記プロセッサ部の
動作を定めたプログラムを記憶するプログラム部と、演
算部とを有し、上記演算部は、上記プログラム部から上
記プログラムを読み込み、上記プログラムに従って動作
することを特徴とする。The processor section has a program section for storing a program that defines the operation of the processor section, and an operation section. The operation section reads the program from the program section and operates according to the program. It is characterized by the following.
【0013】上記複数の共有アクセス対象は、一つの記
憶装置に含まれる複数の記憶領域であることを特徴とす
る。[0013] The plurality of shared access targets are a plurality of storage areas included in one storage device.
【0014】上記プロセッサ部は、上記セマフォレジス
タから上記セマフォビットを複数リードする際に、リー
ドする上記セマフォビットを指定することを特徴とす
る。When reading the plurality of semaphore bits from the semaphore register, the processor specifies the semaphore bits to be read.
【0015】上記マルチプロセッサシステムは、バスを
有し、上記プロセッサ部は、上記バスを介して、上記セ
マフォレジスタから上記セマフォビットをリードする際
に、上記バスに出力する上記セマフォレジスタのアドレ
スの中に、指定する上記セマフォビットを識別する情報
を含めることを特徴とする。The multiprocessor system has a bus, and the processor unit, when reading the semaphore bit from the semaphore register via the bus, stores the address of the semaphore register output to the bus. The information includes information for identifying the specified semaphore bit.
【0016】上記マルチプロセッサシステムは、上記セ
マフォレジスタを制御する制御部を有し、上記プロセッ
サ部は、上記セマフォレジスタから上記セマフォビット
を複数リードする際に、要求するセマフォビットの数を
指定し、上記制御部は、上記セマフォレジスタが記憶す
る複数のセマフォビットの中から、要求するセマフォビ
ットの数分の非占有であるセマフォビットを選択し、選
択した上記セマフォビットを出力し、上記プロセッサ部
は、上記制御部が出力した上記セマフォビットをリード
することを特徴とする。The multiprocessor system has a control unit for controlling the semaphore register. The processor unit specifies a required number of semaphore bits when reading a plurality of semaphore bits from the semaphore register. The control unit selects, from the plurality of semaphore bits stored in the semaphore register, semaphore bits that are not occupied by the number of requested semaphore bits, outputs the selected semaphore bits, and outputs the selected semaphore bits. And reading the semaphore bit output by the control unit.
【0017】上記マルチプロセッサシステムは、バスを
有し、上記プロセッサ部は、上記バスを介して、上記セ
マフォレジスタから上記セマフォビットをリードする際
に、上記バスに出力する上記セマフォレジスタのアドレ
スの中に、要求するセマフォビットの数を含めることを
特徴とする。The multiprocessor system has a bus, and the processor unit, when reading the semaphore bit from the semaphore register via the bus, stores an address of the semaphore register output to the bus. Is characterized by including the number of requested semaphore bits.
【0018】上記マルチプロセッサシステムは、上記セ
マフォビットに対応付けられるプロセッサIDレジスタ
を複数有し、上記プロセッサ部は、上記獲得セマフォビ
ットに対応する上記プロセッサIDレジスタに、上記プ
ロセッサ部自身を識別するプロセッサIDを記憶するこ
とを特徴とする。The multiprocessor system has a plurality of processor ID registers associated with the semaphore bits, and the processor unit identifies the processor unit itself in the processor ID registers corresponding to the acquired semaphore bits. It is characterized by storing an ID.
【0019】上記マルチプロセッサシステムは、上記セ
マフォレジスタを制御する制御部と、バスとを有し、上
記プロセッサ部は、上記バスを介して、上記セマフォレ
ジスタから上記セマフォビットをリードする際に、上記
バスに出力する上記セマフォレジスタのアドレスの中
に、上記プロセッサIDを含め、上記制御部は、上記ア
ドレスの中に含められている上記プロセッサIDを、上
記獲得セマフォビットに対応するプロセッサIDレジス
タに記憶することを特徴とする。The multiprocessor system has a control unit for controlling the semaphore register, and a bus. The processor unit reads the semaphore bit from the semaphore register via the bus. The control unit stores the processor ID included in the address in the processor ID register corresponding to the acquired semaphore bit, including the processor ID in the address of the semaphore register output to the bus. It is characterized by doing.
【0020】上記マルチプロセッサシステムは、バスを
有し、上記プロセッサ部は、上記バスを介して、上記セ
マフォレジスタから上記セマフォビットをリードする際
に、上記バスに出力する上記セマフォレジスタのアドレ
スの中に、要求するセマフォビットの数と、上記プロセ
ッサ部自身を識別するプロセッサIDとを含めることを
特徴とする。The multiprocessor system has a bus, and the processor unit, when reading the semaphore bit from the semaphore register via the bus, stores an address of the semaphore register output to the bus. The number of requested semaphore bits and a processor ID for identifying the processor unit itself are included in the above.
【0021】上記マルチプロセッサシステムは、上記セ
マフォビットが、制限期間以上占有である場合に警告を
出力する警告部を有することを特徴とする。[0021] The multiprocessor system is characterized in that it has a warning unit for outputting a warning when the semaphore bit is occupied for a limited period or more.
【0022】上記警告部は、各セマフォビット毎に異な
る制限期間を用いること特徴とする。The warning section uses a different restriction period for each semaphore bit.
【0023】[0023]
【発明の実施の形態】実施の形態1.以下、本発明を図
面に示す実施例に基づいて説明する。図1は、8ビット
構成のセマフォレジスタの使用例を示す図である。セマ
フォレジスタ1は、セマフォビット100〜107から
構成される。各セマフォビット100〜107は、以下
に示すリードセット/ライトクリアの機能を持つ。すな
わち、リードアクセスの場合、リード値を出力した直後
にビット値を“1”にセットする(リードセット)。ラ
イトアクセスの場合、対応するビットへの“0”のライ
トは無視され、“1”のライトにより1にセットされて
いたビット値が“0”にクリアされる(ライトクリ
ア)。なお、ライトアクセスによりセマフォビットを
“1”にセットすることはできない。DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiment 1 Hereinafter, the present invention will be described based on embodiments shown in the drawings. FIG. 1 is a diagram showing an example of using an 8-bit semaphore register. The semaphore register 1 includes semaphore bits 100 to 107. Each of the semaphore bits 100 to 107 has a read set / write clear function described below. That is, in the case of read access, the bit value is set to “1” immediately after the output of the read value (read set). In the case of a write access, the writing of “0” to the corresponding bit is ignored, and the writing of “1” clears the bit value set to 1 to “0” (write clear). The semaphore bit cannot be set to "1" by write access.
【0024】この例では、セマフォビットは、“1”で
資源占有、“0”で資源非占有を示す。また、図3は、
共有資源と各セマフォビットとの対応を示す図である。In this example, the semaphore bit indicates that the resource is occupied by "1" and that the resource is not occupied by "0". Also, FIG.
FIG. 3 is a diagram illustrating a correspondence between a shared resource and each semaphore bit.
【0025】図2は、マルチプロセッサシステムの構成
例である。バス27に、プロセッサ部21,22と共有
メモリ23と共有I/Oデバイス24,25と排他制御
回路26が接続されている。プロセッサ部21は、プロ
グラム部211と演算部212を有している。演算部2
12は、プログラム部211に記憶されたプログラムを
読み込み、それに従って動作する。プロセッサ部22も
同様である。FIG. 2 shows a configuration example of a multiprocessor system. The processor 27 and the shared memory 23, the shared I / O devices 24 and 25, and the exclusive control circuit 26 are connected to the bus 27. The processor unit 21 has a program unit 211 and a calculation unit 212. Arithmetic unit 2
12 reads the program stored in the program unit 211 and operates according to it. The same applies to the processor unit 22.
【0026】図4は、実施の形態1の動作フローを示す
図である。ここでは、セマフォビット3,4が他のプロ
セッサにより占有状態となっていることを仮定する。本
例では、あるプロセッサ部がメモリサイズ0x2000
の容量の共有メモリを使用する場合について説明する。FIG. 4 is a diagram showing an operation flow of the first embodiment. Here, it is assumed that semaphore bits 3 and 4 are occupied by another processor. In this example, a certain processor unit has a memory size of 0x2000.
A case of using a shared memory having a capacity of will be described.
【0027】プロセッサ部は、セマフォを獲得するため
にセマフォレジスタのリードを実行する(S401)。
セマフォビット3,4が他のプロセッサ部により占有状
態となっていることを仮定していため、プロセッサ部の
レジスタ読み値は0x0018となる。レジスタリード
完了の時点で、全てのセマフォビットは“1”にセット
される。The processor unit executes reading of the semaphore register to acquire a semaphore (S401).
Since it is assumed that the semaphore bits 3 and 4 are occupied by other processor units, the register read value of the processor unit is 0x0018. When the register read is completed, all semaphore bits are set to "1".
【0028】プロセッサ部は、他のプロセッサ部が占有
していないビット0(100),1(101)を確保す
れば、要求するメモリ容量0x2000を満足すること
を認識する。The processor unit recognizes that if the bits 0 (100) and 1 (101) not occupied by other processor units are secured, the required memory capacity 0x2000 is satisfied.
【0029】このとき、セマフォレジスタ1のビットは
全てリードセットされている状態なので、占有不要なセ
マフォビットは開放する必要がある。レジスタ読み値
(0x0018)にビット0(100),1(101)
を“1”にセットした値(0x001B)のビット反転
値(0xFFE2)をセマフォレジスタにライトバック
する(S402,S403)。この動作により、占有不
要なビットの開放を行うと共に、他のプロセッサ部によ
り既に占有されているビットを誤ってクリアしていまう
危険を防止することができる。At this time, since all the bits of the semaphore register 1 are in a read-set state, it is necessary to release the semaphore bits that do not need to be occupied. Bit 0 (100), 1 (101) in the register reading (0x0018)
The bit inverted value (0xFFE2) of the value (0x001B) in which is set to “1” is written back to the semaphore register (S402, S403). By this operation, unnecessary bits can be released, and the risk of erroneously clearing bits already occupied by another processor can be prevented.
【0030】このとき、共有メモリを排他的に獲得でき
たので、ビット0,1に対応する共有メモリ領域(0x
00000000〜0x00001FFF番地)に対し
てアクセス可能となる(S404)。At this time, since the shared memory has been exclusively acquired, the shared memory area (0x
00000000-0x00001FFF) (S404).
【0031】共有メモリに対する処理が終わり、メモリ
の占有を開放する場合は、セマフォレジスタに対してラ
イトクリアを行う(S405)。ライトデータは、0x
0003としてビット0、1をライトクリアする。When the process for the shared memory is completed and the occupation of the memory is released, the semaphore register is write-cleared (S405). Write data is 0x
As 0003, the bits 0 and 1 are write-cleared.
【0032】実施の形態2.実施の形態2では、リード
するビットを指定するセマフォレジスタの使用方法につ
いて説明する。図5は、実施の形態2におけるセマフォ
レジスタとアクセスアドレス構成を示す図である。ま
た、図6は、実施の形態2の動作フローを示す図であ
る。共有資源と各セマフォビットとの対応は図3に示す
通りとする。ここでは、あるプロセッサが共有メモリの
0x00001000〜0x00002FFF番地を使
用する場合を例にして説明する。このメモリ領域は、セ
マフォビット1(101),2(102)に対応してい
る。Embodiment 2 FIG. In the second embodiment, a method of using a semaphore register for designating a bit to be read will be described. FIG. 5 is a diagram showing a semaphore register and an access address configuration according to the second embodiment. FIG. 6 is a diagram showing an operation flow of the second embodiment. The correspondence between the shared resource and each semaphore bit is as shown in FIG. Here, an example will be described in which a certain processor uses addresses 0x00001000 to 0x00002FFF of the shared memory. This memory area corresponds to semaphore bits 1 (101) and 2 (102).
【0033】ビットの指定情報をリードアクセスにて通
知し、複数のセマフォビットの内の任意ビットを選択
し、指定してアクセスすることによって、セマフォレジ
スタによるセマフォ獲得を単一のリードアクセスにより
完了させることができる。図5に示す通り、リードアク
セスの際にバスに出力するアクセスアドレス5の内、上
位フィールド(デバイスデコードフィールド)530
は、システムバス上のデバイス(例えば、排他制御回路
26)を選択するために必要となる。また、下位のフィ
ールド(冗長フィールド520及びレジスタレコードフ
ィールド510)はデバイス内のレジスタ等の選択に使
用される。ここで、下位フィールドに、レジスタ等の選
択に実質上必要の無い冗長フィールド520を設ける。
この冗長フィールド520を使用して、単一のリードア
クセスにて付加情報を通知することが可能となる。The bit designation information is notified by read access, and an arbitrary bit among a plurality of semaphore bits is selected, designated and accessed to complete the semaphore acquisition by the semaphore register by a single read access. be able to. As shown in FIG. 5, the upper field (device decode field) 530 of the access address 5 output to the bus at the time of read access
Is required to select a device on the system bus (for example, the exclusive control circuit 26). The lower fields (redundancy field 520 and register record field 510) are used for selecting registers and the like in the device. Here, a redundant field 520 that is substantially unnecessary for selecting a register or the like is provided in the lower field.
Using this redundant field 520, it is possible to notify additional information by a single read access.
【0034】本実施の形態では、アクセスアドレス5
に、セマフォビット数と同数の冗長フィールド520を
設け、このフィールドにてセマフォビット選択情報を通
知する。In this embodiment, the access address 5
, The same number of redundant fields 520 as the number of semaphore bits are provided, and semaphore bit selection information is notified in this field.
【0035】プロセッサ部は、共有メモリの0x000
01000〜0x00002FFF番地の使用を要求す
るため、セマフォビット1、2の選択指定をしてセマフ
ォレジスタ1をリードする。プロセッサ部は、リードア
ドレス冗長フィールド520の値を0x06とし、ビッ
ト1(101),2(102)を選択することをセマフ
ォレジスタ1に通知する(S601)。The processor unit is a shared memory of 0x000
In order to request the use of addresses 01000 to 0x00002FFF, semaphore registers 1 and 2 are selected and the semaphore register 1 is read. The processor sets the value of the read address redundancy field 520 to 0x06, and notifies the semaphore register 1 that bits 1 (101) and 2 (102) are to be selected (S601).
【0036】プロセッサ部は、セマフォレジスタ1の読
み値によりセマフォビット1,2が“0”(非占有)で
あることを確認する(S602)。ビット1(10
1),2(102)のいづれか又は両ビットが“1”で
あった場合は、“0”が読み取れるまで獲得動作を継続
する(S603)。The processor unit confirms that the semaphore bits 1 and 2 are "0" (unoccupied) based on the read value of the semaphore register 1 (S602). Bit 1 (10
If either 1) or 2 (102) or both bits are "1", the acquisition operation is continued until "0" is read (S603).
【0037】ビット(101),2(102)に対して
セマフォが獲得できたら、共有メモリの0x00001
000〜0x00002FFF番地に対してアクセス可
能となる(S604)。When a semaphore can be acquired for bits (101) and 2 (102), 0x00001 of the shared memory is obtained.
It becomes possible to access the addresses from 000 to 0x00002FFF (S604).
【0038】共有メモリに対する処理が終わり、メモリ
の占有を開放する場合は、セマフォレジスタに対してラ
イトクリアを行う。ライトデータは、0x06としてビ
ット(101),2(102)をライトクリアする(S
605)。When the processing for the shared memory is completed and the occupation of the memory is released, the semaphore register is write-cleared. The write data is set to 0x06, and the bits (101) and 2 (102) are write-cleared (S
605).
【0039】本実施の形態では、セマフォビットを指定
獲得するため、獲得を失敗するケースも発生するが、実
施の形態1における不要ビットの開放処理が省略できる
という利点がある。In the present embodiment, the semaphore bit is designated and acquired, so that the acquisition may fail. However, there is an advantage that the unnecessary bit release processing in the first embodiment can be omitted.
【0040】実施の形態3.実施の形態3では、要求セ
マフォの数を指定してセマフォレジスタへアクセスする
方式について説明する。図7は、セマフォレジスタとア
クセスアドレスの構成と共有資源と各セマフォビットと
の対応を示す図である。また、図8は、実施の形態3の
動作フローを示す図である。セマフォレジスタが8ビッ
ト構成の場合、ビット数の指定のため3ビットを冗長フ
ィールドに確保する。冗長フィールドの値が0x0の場
合は、全てのビット数(8ビット)を指定することとす
る。Embodiment 3 In the third embodiment, a method of specifying the number of request semaphores and accessing a semaphore register will be described. FIG. 7 is a diagram showing a configuration of a semaphore register and an access address, and a correspondence between a shared resource and each semaphore bit. FIG. 8 is a diagram showing an operation flow of the third embodiment. When the semaphore register has an 8-bit configuration, three bits are reserved in the redundant field to specify the number of bits. If the value of the redundant field is 0x0, all bits (8 bits) are specified.
【0041】セマフォビット0(100),1(10
1)が既に占有状態にある状態で、プロセッサが共有メ
モリ容量0x3000のサイズの使用を要求する場合を
例にして説明する。Semaphore bits 0 (100), 1 (10
The case where the processor requests the use of the size of the shared memory capacity 0x3000 in the state where 1) is already in the occupied state will be described as an example.
【0042】プロセッサ部は、セマフォ獲得のため要求
セマフォビット数を3ビットとしてセマフォレジスタ1
をリードする。プロセッサ部は、アドレス冗長フィール
ド520の値を0x3とし、セマフォ数を3ビット要求
することを通知する(S801)。The processor unit sets the required semaphore bit number to 3 bits to acquire the semaphore and sets the semaphore register 1
Lead. The processor sets the value of the address redundancy field 520 to 0x3, and notifies that the semaphore number is required to be 3 bits (S801).
【0043】セマフォレジスタ1は、ビット0(10
0),1(101)が既に占有状態であるため、ビット
2(102),3(103),4(104)をプロセッ
サ部に獲得させる(S802)。これにより、セマフォ
レジスタ1は、読み値として0x1Cを出力する(S8
03)。セマフォビットが既に占有状態であり、要求す
るビット数が確保できない場合は、セマフォレジスタは
0x00の読み値を出力して、獲得が失敗したことをプ
ロセッサ部に通知する。The semaphore register 1 stores bits 0 (10
Since bits 0) and 1 (101) are already in the occupied state, the bits 2 (102), 3 (103) and 4 (104) are obtained by the processor unit (S802). As a result, the semaphore register 1 outputs 0x1C as a read value (S8).
03). If the semaphore bit is already occupied and the required number of bits cannot be secured, the semaphore register outputs a reading of 0x00 to notify the processor unit that the acquisition has failed.
【0044】プロセッサ部はセマフォレジスタ1の読み
値が0x1Cであるから、要求通りセマフォを獲得でき
たことを確認し、共有メモリの0x2000〜0x3F
FF番地(ビット2,3,4に対応)に対してアクセス
を実施する(S804)。また、セマフォレジスタ1の
読み値が0x00であった場合は、セマフォビットの獲
得に失敗したため、獲得動作を繰り返す。Since the read value of the semaphore register 1 is 0x1C, the processor unit confirms that the semaphore has been obtained as requested, and checks the 0x2000 to 0x3F of the shared memory.
An access is made to the FF address (corresponding to bits 2, 3, and 4) (S804). If the read value of the semaphore register 1 is 0x00, the acquisition operation is repeated because the acquisition of the semaphore bit has failed.
【0045】共有メモリに対する処理が終わり、メモリ
の占有を開放する場合は、セマフォレジスタに対してラ
イトクリアを行う。ライトデータは、0x1Cとしてビ
ット2(102),3(103),4(104)をライ
トクリアする(S805)。When the processing on the shared memory is completed and the occupation of the memory is released, the semaphore register is write-cleared. As the write data, bits 2 (102), 3 (103), and 4 (104) are written and cleared as 0x1C (S805).
【0046】実施の形態4.実施の形態4では、セマフ
ォに対応したプロセッサIDレジスタを備える場合につ
いて説明する。図9は、実施の形態4におけるセマフォ
とプロセッサIDの構成を示す図である。本形態では、
セマフォレジスタ1は、8ビット構成(100〜10
7)とし、各ビット毎にプロセッサIDレジスタ60〜
67が割当てられる。プロセッサIDレジスタ60〜6
7には、セマフォビット(100〜107)を獲得した
プロセッサ部のプロセッサIDが格納される。Embodiment 4 FIG. In the fourth embodiment, a case will be described in which a processor ID register corresponding to a semaphore is provided. FIG. 9 is a diagram illustrating a configuration of a semaphore and a processor ID according to the fourth embodiment. In this embodiment,
The semaphore register 1 has an 8-bit configuration (100 to 10
7), and the processor ID register 60 to
67 are assigned. Processor ID registers 60 to 6
7 stores the processor ID of the processor unit that has acquired the semaphore bits (100 to 107).
【0047】セマフォビット100〜107は、実施の
形態1と同様のリードセット/ライトクリアの機能を備
える。また、プロセッサIDレジスタ60〜67は、通
常のリード/ライト可能なレジスタとしてアクセスする
ことができる。The semaphore bits 100 to 107 have the same read set / write clear function as in the first embodiment. The processor ID registers 60 to 67 can be accessed as ordinary readable / writable registers.
【0048】あるプロセッサ部は、セマフォビットを獲
得するため、セマフォレジスタ1のリードアクセスを行
う。セマフォレジスタ1は、リードアクセスにより、現
状のセマフォビット値を出力すると同時にビット値を
“1”(占有を示す。)にセットする。このセマフォレ
ジスタ1の動作は、実施の形態1と同様である。A certain processor unit performs read access to the semaphore register 1 to acquire a semaphore bit. The semaphore register 1 outputs the current semaphore bit value by read access and sets the bit value to “1” (indicating occupancy) at the same time. The operation of the semaphore register 1 is the same as in the first embodiment.
【0049】セマフォ獲得のためのリードアクセスによ
り、セマフォレジスタのビット値は、全てセット状態に
なっているため、不必要なセマフォビットはライトクリ
アする必要がある。ライトクリアの動作は、実施の形態
1と同様である。Since the bit values of the semaphore register are all set by read access for acquiring the semaphore, unnecessary semaphore bits need to be written and cleared. The write clear operation is the same as in the first embodiment.
【0050】プロセッサ部は、セマフォを獲得したビッ
トに対応するプロセッサIDレジスタ60〜67に対し
て、自らのプロセッサIDを格納する。この時点でプロ
セッサ部は、獲得したセマフォに対応する共有資源に対
してアクセスが可能となる。The processor unit stores its own processor ID in the processor ID registers 60 to 67 corresponding to the bits that have acquired the semaphore. At this point, the processor unit can access the shared resource corresponding to the acquired semaphore.
【0051】プロセッサ部は、共有資源を使用した処理
が終了したら、共有資源を開放するためにセマフォレジ
スタ1に対してライトクリアを行う。また、対応するプ
ロセッサIDレジスタ60〜67の内容も“0”をライ
トし、クリアする。When the processing using the shared resource is completed, the processor unit performs a write clear on the semaphore register 1 to release the shared resource. In addition, the contents of the corresponding processor ID registers 60 to 67 are also cleared by writing "0".
【0052】実施の形態5.実施の形態5では、セマフ
ォに対応したプロセッサIDレジスタ60〜67を備
え、なおかつアドレスの一部を使用してプロセッサID
を通知する方法について説明する。図10は、実施の形
態5におけるセマフォとプロセッサIDレジスタとアク
セスアドレスの構成を示す図である。本例では、セマフ
ォレジスタ1は、8ビット構成(100〜107)と
し、各ビット毎にプロセッサIDレジスタ60〜67が
割当てられる。プロセッサIDレジスタ60〜67に
は、セマフォビット100〜107を獲得したプロセッ
サ部のプロセッサIDが格納される。Embodiment 5 FIG. In the fifth embodiment, processor ID registers 60 to 67 corresponding to semaphores are provided.
Will be described. FIG. 10 is a diagram showing a configuration of a semaphore, a processor ID register, and an access address according to the fifth embodiment. In this example, the semaphore register 1 has an 8-bit configuration (100 to 107), and processor ID registers 60 to 67 are assigned to each bit. The processor IDs of the processor units that have acquired the semaphore bits 100 to 107 are stored in the processor ID registers 60 to 67.
【0053】セマフォビット100〜107は、実施の
形態1と同様のリードセット/ライトクリアの機能を備
える。また、プロセッサIDレジスタ60〜67は、通
常のリードオンリレジスタとしてレジスタの内容を読み
出すことができる。The semaphore bits 100 to 107 have the same read set / write clear function as in the first embodiment. The processor ID registers 60 to 67 can read the contents of the registers as ordinary read-only registers.
【0054】あるプロセッサ(プロセッサID=0x0
Aとする)は、セマフォビットを獲得するため、セマフ
ォレジスタ1のリードアクセスを行う。この時、リード
アドレスには、冗長フィールド520に自らのプロセッ
サID:0x0Aを格納する。A certain processor (processor ID = 0x0)
A) performs a read access to the semaphore register 1 to acquire a semaphore bit. At this time, its own processor ID: 0x0A is stored in the redundant field 520 as the read address.
【0055】セマフォレジスタ1は、リードアクセスに
より、現状のセマフォビット値を出力すると同時にビッ
ト値を“1”(占有を示す。)にセットする。元々のセ
マフォビット値が“0”(非占有を示す。)であった場
合は、そのセマフォビット100〜107に対応するプ
ロセッサIDレジスタ60〜67をアドレスの冗長フィ
ールド520の内容(ここでは0x0A)に変更する。The semaphore register 1 outputs the current semaphore bit value by read access and sets the bit value to "1" (indicating occupancy). If the original semaphore bit value is “0” (indicating non-occupancy), the processor ID registers 60 to 67 corresponding to the semaphore bits 100 to 107 are stored in the address redundancy field 520 (here, 0x0A). Change to
【0056】元々のセマフォビット値が“1”であった
場合は、そのセマフォビット100〜107に対応する
プロセッサIDレジスタ60〜67は変更されない。When the original semaphore bit value is "1", the processor ID registers 60 to 67 corresponding to the semaphore bits 100 to 107 are not changed.
【0057】セマフォ獲得のためのリードアクセスによ
り、セマフォレジスタ1のビット値は、全てセット状態
になっているため、不必要なセマフォビット100〜1
07はライトクリアする必要がある。ライトクリアの要
領は、実施の形態1と同様である。このライトクリアに
より、不必要なセマフォビット100〜107はクリア
されると共に、対応する不必要なプロセッサIDレジス
タ60〜67の内容もクリアされる。Since the bit values of the semaphore register 1 are all set by read access for acquiring the semaphore, unnecessary semaphore bits 100 to 1 are set.
07 needs to be write-cleared. The procedure for write clear is the same as in the first embodiment. By this write clear, the unnecessary semaphore bits 100 to 107 are cleared, and the contents of the corresponding unnecessary processor ID registers 60 to 67 are also cleared.
【0058】プロセッサ部は、共有メモリ74,75を
使用した処理が終了したら、共有メモリを開放するため
にセマフォレジスタ1に対してライトクリアを行う。セ
マフォレジスタ1はライトクリアが実施されたら、対応
するセマフォビット100〜107に対応するプロセッ
サIDレジスタ60〜67の内容もクリアする。When the processing using the shared memories 74 and 75 is completed, the processor unit performs a write clear on the semaphore register 1 to release the shared memory. When the semaphore register 1 performs the write clear, the contents of the processor ID registers 60 to 67 corresponding to the corresponding semaphore bits 100 to 107 are also cleared.
【0059】実施の形態6.実施の形態6では、プロセ
ッサIDレジスタを備え、獲得するセマフォビット数を
指定して使用する方法について説明する。図11は、実
施の形態6におけるセマフォとプロセッサIDレジスタ
とアクセスアドレスの構成を示す図である。セマフォレ
ジスタ1及びプロセッサIDレジスタ60〜67の機能
は、前述と同様である。また、アクセスアドレス5の冗
長フィールド520は、プロセッサIDと要求セマフォ
数とを指定するフィールドから構成される。冗長フィー
ルドにてセマフォ数を指定する方法は、前述と同様であ
る。Embodiment 6 FIG. In the sixth embodiment, a method will be described in which a processor ID register is provided and the number of semaphore bits to be acquired is specified and used. FIG. 11 shows a configuration of a semaphore, a processor ID register, and an access address according to the sixth embodiment. The functions of the semaphore register 1 and the processor ID registers 60 to 67 are the same as described above. The redundant field 520 of the access address 5 is composed of fields for designating a processor ID and the number of requested semaphores. The method of specifying the number of semaphores in the redundant field is the same as described above.
【0060】セマフォ要求するプロセッサ部は、アクセ
スアドレスの冗長フィールド520に、自らのプロセッ
サID及び、要求セマフォ数を格納する。セマフォレジ
スタ1が8ビット構成の場合、アクセスアドレス5にお
ける要求セマフォのフィールドは3ビットで足りる。ま
た、プロセッサIDのフィールドは、例えば最大16の
プロセッサをサポートするシステムの場合、4ビット構
成で足りる。これらのビット数程度であれば、プロセッ
サIDとセマフォ数の情報をアドレスの冗長フィールド
に合わせ持つことが現実的に可能であり、有効な機能を
備えるセマフォシステムを構成できる。The processor requesting a semaphore stores its own processor ID and the number of requested semaphores in the redundant field 520 of the access address. If the semaphore register 1 has an 8-bit configuration, the required semaphore field in the access address 5 needs only 3 bits. In the case of a system supporting a maximum of 16 processors, for example, a 4-bit configuration is sufficient for the processor ID field. With these bit numbers, it is practically possible to have the information of the processor ID and the number of semaphores in the redundant field of the address, and a semaphore system having an effective function can be configured.
【0061】実施の形態7.実施の形態7では、セマフ
ォビットに対応するカウンタを備える場合の方法につい
て説明する。図12は、実施の形態7におけるセマフォ
レジスタとカウンタの構成を示す図である。各セマフォ
ビット100〜107ごとに対応するカウンタ70〜7
7を設け、セマフォビットの占有されている時間を監視
する。あるプロセッサによりセマフォビット100〜1
07が占有状態となったら、セマフォビット対応のカウ
ンタ70〜77がカウントアップを開始する。セマフォ
ビット100〜107が開放されると、カウンタのカウ
ントはストップされ、初期値にリセットされる。Embodiment 7 FIG. In the seventh embodiment, a method in which a counter corresponding to a semaphore bit is provided will be described. FIG. 12 is a diagram showing a configuration of a semaphore register and a counter according to the seventh embodiment. Counters 70-7 corresponding to each semaphore bit 100-107
7 to monitor the occupied time of the semaphore bit. Semaphore bits 100 to 1 depending on a processor
When 07 becomes occupied, the counters 70 to 77 corresponding to the semaphore bit start counting up. When the semaphore bits 100 to 107 are released, the counter stops counting and resets to the initial value.
【0062】何らかの異常により、セマフォを獲得した
プロセッサ部がハングし、セマフォビットがセットされ
たままの状態となっても、カウンタ70〜77は、予め
設定された規定時間を経過した時点でタイムアウトを検
出する。Even if the processor section that has acquired the semaphore hangs due to some abnormality and the semaphore bit remains set, the counters 70 to 77 continue to time out when a predetermined time period has elapsed. To detect.
【0063】カウンタ70〜77がタイムアウトを検出
した時点で、セマフォビットは強制的にリセットされ
る。また、タイムアウトが発生した旨、警告部80より
システム(例えば、プロセッサ部)に警告信号を出力す
る。When the counters 70 to 77 detect a timeout, the semaphore bit is forcibly reset. In addition, a warning signal is output from the warning unit 80 to the system (for example, the processor unit) to the effect that a timeout has occurred.
【0064】実施の形態8.実施の形態8では、セマフ
ォビット100〜107が前述のカウンタを備え、なお
かつセマフォビット毎にタイムアウト値が異なる場合の
方法について説明する。セマフォレジスタ構成は、図1
2と同様である。Embodiment 8 FIG. In the eighth embodiment, a method will be described in which the semaphore bits 100 to 107 include the above-described counter, and the timeout value differs for each semaphore bit. The semaphore register configuration is shown in FIG.
Same as 2.
【0065】セマフォビット100〜107には予め優
先度が設けられる。各ビットに対応するカウンタ70〜
77のタイムアウト値は、ビット毎に設定された優先度
によって、異なる値が設定される。例えば、優先度の高
いビットには小さいタイムアウト値、優先度の低いビッ
トには大きいタイムアウト値が設定される。The semaphore bits 100 to 107 are provided with priorities in advance. The counter 70 corresponding to each bit
As the timeout value of 77, different values are set depending on the priority set for each bit. For example, a small timeout value is set for a high-priority bit, and a large timeout value is set for a low-priority bit.
【0066】何らかの異常により、セマフォを獲得した
プロセッサがハングし、セマフォビットがセットされた
ままの状態となった場合でも、優先度が高いセマフォビ
ットであった場合は、タイムアウト値が小さいため、警
告信号が早めに通知され、セマフォが早めに他のプロセ
ッサへ開放される。Even if the processor that acquired the semaphore hangs due to some abnormality and the semaphore bit remains set, if the semaphore bit has a high priority, the timeout value is small, so the warning is issued. The signal is notified early, and the semaphore is released to other processors early.
【0067】[0067]
【発明の効果】セマフォレジスタが複数のビットから構
成されていることは、同時に複数のセマフォビットを獲
得することを可能にする。複数のセマフォビットにわた
る大きな共有メモリ領域を占有する必要がある場合に、
バスの負荷を増大することなく効果的な獲得方法が実現
可能となる。また、セマフォビットの獲得が失敗するケ
ースがほとんど無くなる。The fact that the semaphore register is composed of a plurality of bits makes it possible to acquire a plurality of semaphore bits at the same time. If you need to occupy a large shared memory area across multiple semaphore bits,
An effective acquisition method can be realized without increasing the load on the bus. In addition, there is almost no case where acquisition of the semaphore bit fails.
【0068】また、複数のセマフォビット構成の場合、
各セマフォビット毎にイネーブル機能が備えられていれ
ば、不必要なセマフォの獲得をすることが無くなる。こ
れにより複数のプロセッサによるセマフォ獲得の競合が
軽減される。In the case of a multiple semaphore bit configuration,
If an enable function is provided for each semaphore bit, unnecessary semaphores are not obtained. This reduces contention for semaphore acquisition by a plurality of processors.
【0069】また、プロセッサ部は、要求するセマフォ
の数のみを指定し、どのビットが獲得できるかの判断
は、セマフォレジスタを含む排他制御回路が実施するこ
とにより、セマフォの獲得失敗のケースがほとんど無く
なる。Further, the processor specifies only the number of semaphores requested, and the exclusive control circuit including the semaphore register determines which bits can be acquired. Disappears.
【0070】セマフォレジスタを含む排他制御回路がプ
ロセッサID情報を装備することにより、セマフォを占
有しているプロセッサ部を識別することが可能となる。
セマフォを占有したプロセッサ部が何らかの原因でハン
グした場合、セマフォを占有したままとなっているプロ
セッサ部を判別することが可能となる。By providing the exclusive control circuit including the semaphore register with the processor ID information, it becomes possible to identify the processor section occupying the semaphore.
If the processor occupying the semaphore hangs for some reason, it is possible to determine which processor has occupied the semaphore.
【0071】また、セマフォレジスタがプロセッサID
情報を装備する場合、アドレスの冗長フィールドにてプ
ロセッサIDを通知する機能を備えれば、プロセッサ部
がプロセッサIDレジスタへのアクセスを実施する必要
が無くなり、セマフォ獲得と同時にプロセッサIDレジ
スタへのプロセッサID格納が可能となる。Also, if the semaphore register has the processor ID
In the case where information is provided, if a function of notifying the processor ID in the redundant field of the address is provided, the processor unit does not need to access the processor ID register, and the processor ID to the processor ID register is obtained at the same time when the semaphore is acquired. Storage becomes possible.
【0072】さらに、プロセッサIDに加えて、要求セ
マフォ数もセマフォレジスタに通知することにより、占
有プロセッサの識別機能を備えつつ、セマフォの獲得失
敗のケースも軽減することが可能となる。Further, by notifying the number of requested semaphores to the semaphore register in addition to the processor ID, it is possible to provide a function of identifying an occupied processor and reduce the number of semaphore acquisition failure cases.
【0073】セマフォビットを含む排他制御回路にカウ
ンタを装備することにより、プロセッサによるセマフォ
占有の監視を行うことができる。セマフォを獲得したプ
ロセッサが何らかの異常によりハングした場合、セマフ
ォビットが占有状態のまま規定時間を経過した時点で警
告信号を出力することにより、セマフォの無限占有を回
避することが可能となる。By equipping the exclusive control circuit including the semaphore bit with a counter, the semaphore occupancy can be monitored by the processor. If the processor that has acquired the semaphore hangs for some reason, a warning signal is output when the semaphore bit has passed the specified time while the semaphore bit is occupied, thereby making it possible to avoid infinite occupancy of the semaphore.
【0074】セマフォビットが備える優先度に基づい
て、タイムアウトのカウンタ設定値を変えることによ
り、例えば、獲得要求の多いセマフォビットは、タイム
アウト時間のカウンタ値を小さくして他のプロセッサへ
早く開放させることが可能となる。By changing the set value of the timeout counter based on the priority of the semaphore bit, for example, for a semaphore bit with many acquisition requests, the timeout value counter value is reduced and released to other processors as soon as possible. Becomes possible.
【図1】 8ビット構成のセマフォレジスタの使用例を
示す図である。FIG. 1 is a diagram illustrating an example of using an 8-bit semaphore register.
【図2】 マルチプロセッサシステムの構成例を示す図
である。FIG. 2 is a diagram illustrating a configuration example of a multiprocessor system.
【図3】 共有資源と各セマフォビットとの対応を示す
図である。FIG. 3 is a diagram showing a correspondence between a shared resource and each semaphore bit.
【図4】 実施の形態1の動作フローを示す図である。FIG. 4 is a diagram showing an operation flow according to the first embodiment.
【図5】 実施の形態2におけるセマフォレジスタとア
クセスアドレス構成を示す図である。FIG. 5 is a diagram showing a semaphore register and an access address configuration according to a second embodiment.
【図6】 実施の形態2の動作フローを示す図である。FIG. 6 is a diagram illustrating an operation flow according to the second embodiment.
【図7】 セマフォレジスタとアクセスアドレスの構成
と共有資源と各セマフォビットの対応を示す図である。FIG. 7 is a diagram showing a configuration of a semaphore register and an access address, and a correspondence between a shared resource and each semaphore bit.
【図8】 実施の形態3の動作フローを示す図である。FIG. 8 is a diagram showing an operation flow according to the third embodiment.
【図9】 実施の形態4におけるセマフォとプロセッサ
IDの構成を示す図である。FIG. 9 is a diagram illustrating a configuration of a semaphore and a processor ID according to the fourth embodiment.
【図10】 実施の形態5におけるセマフォとプロセッ
サIDとアクセスアドレスの構成を示す図である。FIG. 10 is a diagram showing a configuration of a semaphore, a processor ID, and an access address according to the fifth embodiment.
【図11】 実施の形態6におけるセマフォとプロセッ
サIDレジスタとアクセスアドレスの構成を示す図であ
る。FIG. 11 is a diagram showing a configuration of a semaphore, a processor ID register, and an access address according to the sixth embodiment.
【図12】 実施の形態7におけるセマフォレジスタと
カウンタの構成を示す図である。FIG. 12 is a diagram illustrating a configuration of a semaphore register and a counter according to a seventh embodiment.
【図13】 従来のセマフォレジスタによる排他制御方
法を示す図である。FIG. 13 is a diagram showing a conventional exclusive control method using a semaphore register.
1 セマフォレジスタ、5 アクセスアドレス、21,
22 プロセッサ部、23 共有メモリ、24,25
共有I/Oデバイス、26 排他制御回路、60〜67
プロセッサIDレジスタ、70〜77 カウンタ、8
0 警告部、100〜107 セマフォビット、211
プログラム部、212 演算部、510 レジスタデ
コードフィールド、520 冗長フィールド、530
デバイスデコードフィールド。1 semaphore register, 5 access address, 21
22 processor unit, 23 shared memory, 24, 25
Shared I / O device, 26 exclusive control circuit, 60 to 67
Processor ID register, 70-77 counter, 8
0 Warning part, 100-107 Semaphore bit, 211
Program section, 212 arithmetic section, 510 register decode field, 520 redundant field, 530
Device decode field.
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B014 HA02 5B045 EE01 EE03 EE08 EE19 JJ05 JJ07 JJ48 5B060 AA02 AA06 AA13 AB12 AC11 CD15 CD17 KA02 KA05 ──────────────────────────────────────────────────続 き Continued on the front page F term (reference) 5B014 HA02 5B045 EE01 EE03 EE08 EE19 JJ05 JJ07 JJ48 5B060 AA02 AA06 AA13 AB12 AC11 CD15 CD17 KA02 KA05
Claims (12)
スできるプロセッサ部を複数有し、 更に、上記複数の共有アクセス対象のうちいずれかの共
有アクセス対象に対応付けられ、対応する上記共有アク
セス対象の占有と非占有を管理するセマフォビットを記
憶し、上記セマフォビットがリードされると、リードさ
れた上記セマフォビットを占有に移行させように動作
し、更に、外部から指示があると、上記セマフォビット
を占有から非占有に移行させるように動作するセマフォ
レジスタを有するマルチプロセッサシステムであって、 上記セマフォレジスタは、上記セマフォビットを複数有
し、 上記プロセッサ部は、上記セマフォレジスタから上記セ
マフォビットを複数リードし、 上記セマフォレジスタは、リードされた複数の上記セマ
フォビットを占有に移行させ、 上記プロセッサ部は、リードした複数の上記セマフォビ
ットのうち、非占有のセマフォビットであって、アクセ
スしない共有アクセス対象に対応するセマフォビットで
ある開放セマフォビットを非占有に移行するように指示
し、 上記セマフォレジスタは、上記プロセッサ部からの指示
によって、指示された開放セマフォビットを非占有に移
行させ、 上記プロセッサ部は、リードした複数の上記セマフォビ
ットのうち、非占有のセマフォビットであって、上記開
放セマフォビット以外のセマフォビットである獲得セマ
フォビットに対応する共有アクセス対象にアクセスし、 更に、アクセスした後、上記獲得セマフォビットを非占
有に移行するように指示し、 上記セマフォレジスタは、上記プロセッサ部からの指示
によって、指示された獲得セマフォビットを非占有に移
行させることを特徴とするマルチプロセッサシステム。A plurality of processor units that can access a plurality of shared access targets; and a plurality of processor units that are associated with any one of the plurality of shared access targets, and A semaphore bit for managing occupancy and non-occupancy is stored, and when the semaphore bit is read, the semaphore bit is operated to shift to occupancy. A semaphore register that operates to shift from occupied to unoccupied, wherein the semaphore register has a plurality of the semaphore bits, and the processor unit has a plurality of the semaphore bits from the semaphore register. The semaphore register reads the plurality of semaphores read. The processor shifts the bit to occupied, and the processor unit unoccupies the open semaphore bit, which is a non-occupied semaphore bit among the plurality of read semaphore bits and is a semaphore bit corresponding to a shared access target that is not accessed. The semaphore register instructs to shift, and the semaphore register shifts the designated open semaphore bit to non-occupied by an instruction from the processor unit, and the processor unit unoccupies among the plurality of read semaphore bits. The shared semaphore bit is accessed, and the shared semaphore bit other than the open semaphore bit is accessed, and the shared access target corresponding to the acquired semaphore bit is accessed.After the access, the acquired semaphore bit is instructed to shift to the non-occupied state. , The semaphore register is an instruction from the processor unit. Thus, the multiprocessor system, characterized in that shifting the acquired semaphore bit instructed unoccupied.
の動作を定めたプログラムを記憶するプログラム部と、
演算部とを有し、 上記演算部は、上記プログラム部から上記プログラムを
読み込み、上記プログラムに従って動作することを特徴
とする請求項1記載のマルチプロセッサシステム。2. A program unit for storing a program defining an operation of the processor unit,
2. The multiprocessor system according to claim 1, further comprising an operation unit, wherein the operation unit reads the program from the program unit and operates according to the program. 3.
記憶装置に含まれる複数の記憶領域であることを特徴と
する請求項1記載のマルチプロセッサシステム。3. The multiprocessor system according to claim 1, wherein the plurality of shared access targets are a plurality of storage areas included in one storage device.
スタから上記セマフォビットを複数リードする際に、リ
ードする上記セマフォビットを指定することを特徴とす
る請求項1記載のマルチプロセッサシステム。4. The multiprocessor system according to claim 1, wherein said processor specifies the semaphore bit to be read when reading a plurality of said semaphore bits from said semaphore register.
を有し、 上記プロセッサ部は、上記バスを介して、上記セマフォ
レジスタから上記セマフォビットをリードする際に、上
記バスに出力する上記セマフォレジスタのアドレスの中
に、指定する上記セマフォビットを識別する情報を含め
ることを特徴とする請求項4記載のマルチプロセッサシ
ステム。5. The multiprocessor system has a bus, and the processor unit outputs an address of the semaphore register to be output to the bus when reading the semaphore bit from the semaphore register via the bus. 5. The multiprocessor system according to claim 4, wherein information for identifying the semaphore bit to be specified is included.
セマフォレジスタを制御する制御部を有し、 上記プロセッサ部は、上記セマフォレジスタから上記セ
マフォビットを複数リードする際に、要求するセマフォ
ビットの数を指定し、 上記制御部は、上記セマフォレジスタが記憶する複数の
セマフォビットの中から、要求するセマフォビットの数
分の非占有であるセマフォビットを選択し、選択した上
記セマフォビットを出力し、 上記プロセッサ部は、上記制御部が出力した上記セマフ
ォビットをリードすることを特徴とする請求項1記載の
マルチプロセッサシステム。6. The multiprocessor system has a control unit for controlling the semaphore register. The processor unit specifies a required number of semaphore bits when reading a plurality of the semaphore bits from the semaphore register. The control unit selects, from among the plurality of semaphore bits stored in the semaphore register, semaphore bits that are not occupied by the number of requested semaphore bits, outputs the selected semaphore bits, and outputs the selected semaphore bits. The multiprocessor system according to claim 1, wherein the unit reads the semaphore bit output by the control unit.
を有し、 上記プロセッサ部は、上記バスを介して、上記セマフォ
レジスタから上記セマフォビットをリードする際に、上
記バスに出力する上記セマフォレジスタのアドレスの中
に、要求するセマフォビットの数を含めることを特徴と
する請求項6記載のマルチプロセッサシステム。7. The multiprocessor system has a bus, and the processor unit reads the semaphore bit from the semaphore register via the bus, and outputs the address of the semaphore register to be output to the bus. 7. The multiprocessor system according to claim 6, wherein the number of requested semaphore bits is included in the number.
セマフォビットに対応付けられるプロセッサIDレジス
タを複数有し、 上記プロセッサ部は、上記獲得セマフォビットに対応す
る上記プロセッサIDレジスタに、上記プロセッサ部自
身を識別するプロセッサIDを記憶することを特徴とす
る請求項1記載のマルチプロセッサシステム。8. The multiprocessor system has a plurality of processor ID registers associated with the semaphore bits, and the processor unit identifies the processor units themselves in the processor ID registers corresponding to the acquired semaphore bits. 2. The multiprocessor system according to claim 1, wherein a processor ID is stored.
セマフォレジスタを制御する制御部と、バスとを有し、 上記プロセッサ部は、上記バスを介して、上記セマフォ
レジスタから上記セマフォビットをリードする際に、上
記バスに出力する上記セマフォレジスタのアドレスの中
に、上記プロセッサIDを含め、 上記制御部は、上記アドレスの中に含められている上記
プロセッサIDを、上記獲得セマフォビットに対応する
プロセッサIDレジスタに記憶することを特徴とする請
求項8記載のマルチプロセッサシステム。9. The multiprocessor system has a control unit for controlling the semaphore register and a bus, and the processor unit reads the semaphore bit from the semaphore register via the bus. , Including the processor ID in the address of the semaphore register to be output to the bus, the control unit stores the processor ID included in the address in a processor ID register corresponding to the acquired semaphore bit. 9. The multiprocessor system according to claim 8, wherein the information is stored in the multiprocessor system.
スを有し、 上記プロセッサ部は、上記バスを介して、上記セマフォ
レジスタから上記セマフォビットをリードする際に、上
記バスに出力する上記セマフォレジスタのアドレスの中
に、要求するセマフォビットの数と、上記プロセッサ部
自身を識別するプロセッサIDとを含めることを特徴と
する請求項1記載のマルチプロセッサシステム。10. The multiprocessor system has a bus, and the processor unit outputs an address of the semaphore register to be output to the bus when reading the semaphore bit from the semaphore register via the bus. 2. The multiprocessor system according to claim 1, wherein the number of semaphore bits requested and a processor ID for identifying the processor unit itself are included in the number.
記セマフォビットが、制限期間以上占有である場合に警
告を出力する警告部を有することを特徴とする請求項1
記載のマルチプロセッサシステム。11. The multiprocessor system according to claim 1, further comprising a warning unit for outputting a warning when the semaphore bit is occupied for a limited period or more.
A multiprocessor system as described.
異なる制限期間を用いること特徴とする請求項11記載
のマルチプロセッサシステム。12. The multiprocessor system according to claim 11, wherein said warning unit uses a different time limit for each semaphore bit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32398599A JP2001142861A (en) | 1999-11-15 | 1999-11-15 | Multiprocessor system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32398599A JP2001142861A (en) | 1999-11-15 | 1999-11-15 | Multiprocessor system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001142861A true JP2001142861A (en) | 2001-05-25 |
Family
ID=18160844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32398599A Withdrawn JP2001142861A (en) | 1999-11-15 | 1999-11-15 | Multiprocessor system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001142861A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008062508A1 (en) * | 2006-11-21 | 2008-05-29 | Fujitsu Limited | Multiprocessor system |
US7921250B2 (en) * | 2004-07-29 | 2011-04-05 | International Business Machines Corporation | Method to switch the lock-bits combination used to lock a page table entry upon receiving system reset exceptions |
-
1999
- 1999-11-15 JP JP32398599A patent/JP2001142861A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7921250B2 (en) * | 2004-07-29 | 2011-04-05 | International Business Machines Corporation | Method to switch the lock-bits combination used to lock a page table entry upon receiving system reset exceptions |
WO2008062508A1 (en) * | 2006-11-21 | 2008-05-29 | Fujitsu Limited | Multiprocessor system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0543560B1 (en) | Arbitrating multiprocessor accesses to shared resources | |
US5115499A (en) | Shared computer resource allocation system having apparatus for informing a requesting computer of the identity and busy/idle status of shared resources by command code | |
US6986005B2 (en) | Low latency lock for multiprocessor computer system | |
EP0397476B1 (en) | Error logging data storing system | |
JP2005050368A (en) | Multiprocessor system | |
WO2006082989A2 (en) | System and method of interrupt handling | |
EP0333593B1 (en) | A data processing system capable of fault diagnosis | |
JP2001142861A (en) | Multiprocessor system | |
JPS63184146A (en) | Information processor | |
EP0067294B1 (en) | Data processing apparatus with master/slave control | |
JP2007241922A (en) | Arbitration method for use of shared resource, and arbitration device therefor | |
JPH03118650A (en) | Cache support structure | |
RU2189630C1 (en) | Method and device for filtering interprocessor requests in multiprocessor computer systems | |
JPS60122422A (en) | File control system | |
JPS58201157A (en) | Control circuit of bank memory | |
RU1824651C (en) | Buffer memory unit | |
JP2003131944A (en) | Memory system with clusters | |
JP2972568B2 (en) | Bus extender | |
JP2505021B2 (en) | Main memory controller | |
JP3013993B2 (en) | Vector processing method | |
JP3099355B2 (en) | I / O processor | |
JP2002366511A (en) | Bus arbitration circuit | |
JPH03198144A (en) | Down loading system for computer system | |
JPS62114053A (en) | Information processor | |
JPS6315626B2 (en) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20051011 |
|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070206 |