JP4985478B2 - Information processing device - Google Patents

Information processing device Download PDF

Info

Publication number
JP4985478B2
JP4985478B2 JP2008054692A JP2008054692A JP4985478B2 JP 4985478 B2 JP4985478 B2 JP 4985478B2 JP 2008054692 A JP2008054692 A JP 2008054692A JP 2008054692 A JP2008054692 A JP 2008054692A JP 4985478 B2 JP4985478 B2 JP 4985478B2
Authority
JP
Japan
Prior art keywords
access
unit
identification information
request
control 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.)
Active
Application number
JP2008054692A
Other languages
Japanese (ja)
Other versions
JP2009211484A (en
Inventor
雅則 数野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2008054692A priority Critical patent/JP4985478B2/en
Publication of JP2009211484A publication Critical patent/JP2009211484A/en
Application granted granted Critical
Publication of JP4985478B2 publication Critical patent/JP4985478B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理装置に関する。   The present invention relates to an information processing apparatus.

近年、多プロセッサ傾向やマルチスレッド化が強まっている。マルチプロセッサ方式及びマルチスレッド方式の情報処理装置においては、複数のアクセスが同一の記憶領域に競合するため、排他制御機能を有することが一般的である。   In recent years, the trend toward multiple processors and multithreading have increased. In a multiprocessor type and multithread type information processing apparatus, since a plurality of accesses compete for the same storage area, it is common to have an exclusive control function.

この種の排他制御に関連する技術として、ロック要求専用の命令及びアンロック要求専用の命令を設けることによって、共有資源の読込み回数を減らし、処理負荷を軽減した排他制御方式が、特許文献1に記載されている。   As a technique related to this type of exclusive control, Patent Document 1 discloses an exclusive control method that reduces the processing load by reducing the number of reads of a shared resource by providing an instruction dedicated to a lock request and an instruction dedicated to an unlock request. Are listed.

また、複数の主記憶要求元を備える実行処理装置からシステム制御装置への出力部が一つであり、該出力部が先行処理を一旦受け付けると後続処理を受け付けない構成において、一の主記憶要求元からアンロック要求を出力する際に、他の主記憶要求元から出力されたロック要求が該出力部を専有しているとデッドロックになる。これを回避する目的で、一の主記憶要求元が出力したアンロック要求を実行処理装置内で優先処理する排他制御方式が、特許文献2に記載されている。   Further, in the configuration in which there is one output unit from the execution processing device having a plurality of main memory request sources to the system control device, and the output unit does not accept subsequent processing once the preceding processing is accepted, one main memory request When an unlock request is output from the source, if the lock request output from another main memory request source occupies the output unit, a deadlock occurs. For the purpose of avoiding this, Patent Document 2 describes an exclusive control method in which an unlock request output from one main memory request source is preferentially processed in the execution processing device.

また、複数の主記憶要求元が一つの記憶装置を共有する構成において、競合する複数のアクセス要求の実行順序を決定する方法の一例が、特許文献3に記載されている。   Patent Document 3 describes an example of a method for determining the execution order of a plurality of competing access requests in a configuration in which a plurality of main storage request sources share one storage device.

また、命令解読装置にてアトミック命令を解読した場合、アトミック命令専用の判別信号を出力し、実行する命令の優先順位判定に用いる方法の一例が、特許文献4に記載されている。
特開昭60−107170号公報 特開昭62−028866号公報 特開平06−195313号公報 特開平09−146838号公報
Patent Document 4 describes an example of a method of outputting a determination signal dedicated to an atomic instruction when the instruction decoding device decodes the atomic instruction and using it for determining the priority order of instructions to be executed.
JP 60-107170 A JP-A-62-028866 Japanese Patent Laid-Open No. 06-195313 JP 09-146838 A

しかしながら、上記文献記載の技術は、以下の点で改善の余地を有していた。   However, the technique described in the above document has room for improvement in the following points.

一般的に多プロセッサ傾向やマルチスレッド化が強まるほどに、ロック取得期間は延長する傾向にある。情報処理装置におけるシステム性能のボトルネックとなる危険性が非常に高い。   Generally, the lock acquisition period tends to be extended as the trend toward multiprocessors and multithreading increase. The risk of becoming a bottleneck in system performance in information processing apparatuses is very high.

本発明は上記事情に鑑みてなされたものであり、その目的とするところは、排他制御を行う情報処理装置において、ロック取得期間を短縮し、高性能の情報処理装置を提供することにある。   The present invention has been made in view of the above circumstances, and an object thereof is to provide a high-performance information processing apparatus that shortens the lock acquisition period in an information processing apparatus that performs exclusive control.

本発明によれば、主記憶装置と、所定のプログラムを実行する処理装置と、前記処理装置から前記主記憶装置に含まれる同一の記憶領域に対してアクセスが競合した場合に排他制御を行う制御装置と、を備えた情報処理装置であって、前記処理装置は、前記所定のプログラムをデコードするデコード部と、前記処理装置から前記主記憶装置へのアクセスを要求するアクセス制御部と、を含み、前記制御装置は、前記アクセス制御部からのアクセス要求を受け付けるアクセス受付部と、前記アクセス受付部にて受け付けた複数のアクセス要求が前記主記憶装置に含まれる同一の記憶領域に競合した場合、前記複数のアクセス要求を調停し、実行するアクセス要求を選択する競合制御部と、前記競合制御部が選択したアクセス要求を前記主記憶装置に対して実行するアクセス実行部と、前記複数のアクセス要求に前記排他制御に伴うロック処理を解除するためのアンロック要求が含まれる場合、前記競合制御部に前記アンロック要求を優先して選択させるアンロック優先部と、を含むことを特徴とする情報処理装置が提供される。   According to the present invention, a control for performing exclusive control when access conflicts from the processing device to the same storage area included in the main storage device, a processing device that executes a predetermined program, and the like. An information processing device comprising: a decoding unit that decodes the predetermined program; and an access control unit that requests access from the processing device to the main storage device. The control device, when an access reception unit that receives an access request from the access control unit and a plurality of access requests received by the access reception unit compete with the same storage area included in the main storage device, The contention control unit that arbitrates the plurality of access requests and selects an access request to be executed, and the access request selected by the contention control unit is the main storage device. And when the unlock request for releasing the lock process accompanying the exclusive control is included in the plurality of access requests, the unlock request is selected with priority over the contention control unit. An information processing apparatus including an unlock priority unit to be provided is provided.

ここで、主記憶装置、処理装置及び制御装置を備えている構成は、複数のアクセスが同一の記憶領域に対して競合する構成となっている情報処理装置においては、一般的な構成である。また、処理装置に含まれるデコード部及びアクセス制御部、制御装置に含まれるアクセス受付部、競合制御部及びアクセス実行部も、同様に一般的な構成である。   Here, the configuration including the main storage device, the processing device, and the control device is a general configuration in an information processing device configured such that a plurality of accesses compete for the same storage area. Similarly, the decoding unit and the access control unit included in the processing device, the access receiving unit, the contention control unit, and the access execution unit included in the control device have the same general configuration.

この発明によれば、競合している複数のアクセス要求に排他制御に伴うロック処理を解除するためのアンロック要求が含まれる場合、アンロック要求を優先して実行することが可能となる。   According to the present invention, when an unlock request for releasing lock processing associated with exclusive control is included in a plurality of competing access requests, the unlock request can be executed with priority.

上記情報処理装置において、前記処理装置は、前記デコード部にてデコードされた前記所定のプログラムから、アンロック要求の識別情報を検出する識別情報検出部と、前記識別情報検出部にて前記識別情報を検出した場合は、前記識別情報を前記アクセス制御部と同期して前記制御装置に対して前記識別情報を出力する識別情報制御部と、を含み、前記制御装置は、前記識別情報制御部から前記識別情報を受け付ける識別情報受付部を含むことができる。   In the information processing apparatus, the processing device includes an identification information detection unit that detects identification information of an unlock request from the predetermined program decoded by the decoding unit, and the identification information detection unit that detects the identification information. An identification information control unit that outputs the identification information to the control device in synchronization with the access control unit, the control device from the identification information control unit An identification information receiving unit that receives the identification information may be included.

この構成によれば、処理装置がデコードされた所定のプログラムに含まれるアンロック要求の識別情報を検出し、アクセス要求と同期して該識別情報を制御装置に伝達することができる。   According to this configuration, the identification information of the unlock request included in the predetermined program decoded by the processing device can be detected, and the identification information can be transmitted to the control device in synchronization with the access request.

上記情報処理装置において、前記アクセス制御部はキャッシュ間のコヒーレンシ制御を必要としない前記主記憶装置に対するアクセス要求を、前記主記憶装置に対して直接実行することができる。   In the information processing apparatus, the access control unit can directly execute an access request to the main storage device that does not require coherency control between caches.

この構成によれば、キャッシュ間のコヒーレンシ制御を必要としないアクセス要求は、制御装置を介さず、アクセス制御部から主記憶装置に直接実行することができる。   According to this configuration, an access request that does not require coherency control between caches can be directly executed from the access control unit to the main storage device without going through the control device.

上記情報処理装置において、処理装置を複数用いて構成することができる。   The information processing apparatus can be configured using a plurality of processing apparatuses.

この構成によれば、単一の処理装置(マルチスレッド方式)に限らず、複数の処理装置(マルチプロセッサ方式)を用いることができる。   According to this configuration, not only a single processing device (multi-thread method) but also a plurality of processing devices (multi-processor method) can be used.

上記情報処理装置において、前記アンロック要求の命令コードは任意の専用コードとすることができる。   In the information processing apparatus, the instruction code for the unlock request may be an arbitrary dedicated code.

この構成によれば、所定のプログラムがデコードされた段階で、アンロック要求は識別可能となる。   According to this configuration, the unlock request can be identified when a predetermined program is decoded.

本発明によれば、複数のアクセス要求の中からアンロック要求を優先して実行することができるため、ロック取得期間を短縮することが可能となり、高性能の情報処理装置が提供される。   According to the present invention, an unlock request can be preferentially executed from among a plurality of access requests, so that a lock acquisition period can be shortened and a high-performance information processing apparatus is provided.

以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In all the drawings, the same reference numerals are given to the same components, and the description will be omitted as appropriate.

(第1実施形態)
図1は、本発明に係る実施の形態の情報処理装置の機能を示す機能ブロック図である。
本発明に係る実施の形態の情報処理装置1は、主記憶装置13と、所定のプログラムを実行する処理装置11と、処理装置11から主記憶装置13に含まれる同一の記憶領域に対してアクセスが競合した場合に排他制御を行う制御装置12と、を備えた情報処理装置であって、処理装置11は、所定のプログラムをデコードするデコード部111と、処理装置11から主記憶装置13へのアクセスを要求するアクセス制御部112と、を含み、制御装置12は、アクセス制御部112からのアクセス要求を受け付けるアクセス受付部121と、アクセス受付部121にて受け付けた複数のアクセス要求が主記憶装置13に含まれる同一の記憶領域に競合した場合、複数のアクセス要求を調停し、実行するアクセス要求を選択する競合制御部122と、競合制御部122が選択したアクセス要求を主記憶装置13に対して実行するアクセス実行部123と、複数のアクセス要求に排他制御に伴うロック処理を解除するためのアンロック要求が含まれる場合、競合制御部122にアンロック要求を優先して選択させるアンロック優先部124と、を含む。
(First embodiment)
FIG. 1 is a functional block diagram showing functions of the information processing apparatus according to the embodiment of the present invention.
The information processing apparatus 1 according to the embodiment of the present invention accesses the main storage device 13, the processing device 11 that executes a predetermined program, and the processing device 11 to the same storage area included in the main storage device 13. Is an information processing device that includes a control device 12 that performs exclusive control when there is a conflict, and the processing device 11 includes a decoding unit 111 that decodes a predetermined program, and the processing device 11 to the main storage device 13. An access control unit 112 that requests access. The control device 12 includes an access receiving unit 121 that receives an access request from the access control unit 112, and a plurality of access requests received by the access receiving unit 121 are stored in a main storage device. 13, when there is contention with the same storage area included in 13, a contention control unit 1 that arbitrates a plurality of access requests and selects an access request to be executed. 2, an access execution unit 123 that executes the access request selected by the contention control unit 122 for the main storage device 13, and an unlock request for releasing the lock process associated with the exclusive control is included in the plurality of access requests. The unlock priority unit 124 that causes the contention control unit 122 to select the unlock request with priority.

なお、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。   The various components of the present invention do not necessarily have to be independent of each other. A plurality of components are formed as a single member, and a single component is formed of a plurality of members. It may be that a certain component is a part of another configuration, a part of a certain component overlaps a part of another component, and the like.

情報処理装置1の主な構成物は処理装置11、制御装置12、主記憶装置13であるが、排他制御機能を有する情報処理装置としては、一般的な構成である。   The main components of the information processing device 1 are the processing device 11, the control device 12, and the main storage device 13, but the information processing device having an exclusive control function has a general configuration.

図1に示すように、処理装置11は、デコード部111と、アクセス制御部112と、を含む。   As illustrated in FIG. 1, the processing device 11 includes a decoding unit 111 and an access control unit 112.

デコード部111は、実行すべき所定のプログラムをデコードする。所定のプログラムは主記憶装置13に限らず、外部装置や外部ネットワークなど、読込先は問わない。   The decoding unit 111 decodes a predetermined program to be executed. The predetermined program is not limited to the main storage device 13, and the reading destination is not limited, such as an external device or an external network.

アクセス制御部112は、主記憶装置13へのアクセスを要求する。また、キャッシュへのアクセスやキャッシュ間のコヒーレンシ制御が必要な際のアクセスなども要求する。   The access control unit 112 requests access to the main storage device 13. It also requests access to the cache and access when coherency control between the caches is necessary.

また、図1に示すように、制御装置12はアクセス受付部121と、競合制御部122と、アクセス実行部123と、アンロック優先部124と、を含む。   As illustrated in FIG. 1, the control device 12 includes an access receiving unit 121, a contention control unit 122, an access execution unit 123, and an unlock priority unit 124.

アクセス受付部121は、処理装置11から主記憶装置13に対するアクセス要求を受け付ける。また、キャッシュ間のコヒーレンシ制御が必要な際のアクセスなども受け付ける。   The access receiving unit 121 receives an access request for the main storage device 13 from the processing device 11. It also accepts access when coherency control between caches is required.

競合制御部122は、主記憶装置13に含まれる同一の記憶領域に対して複数のアクセス要求が競合した場合、複数のアクセス要求の中から実行するアクセス要求を選択する。   When a plurality of access requests compete for the same storage area included in the main storage device 13, the contention control unit 122 selects an access request to be executed from among the plurality of access requests.

アクセス実行部123は、主記憶装置13に対するアクセス要求を実行する。   The access execution unit 123 executes an access request for the main storage device 13.

アンロック優先部124は、アクセス受付部121からアクセス要求の情報およびアンロック要求の識別情報を取得し、アクセス受付部121が受け付けたアクセス要求がアンロック要求であることを識別した場合、競合制御部122にアンロック要求を優先して選択させる。アンロック要求の識別情報の取得方法及びアンロック要求の優先選択方法の詳細については、後述する。   When the unlock priority unit 124 acquires the access request information and the unlock request identification information from the access reception unit 121 and identifies that the access request received by the access reception unit 121 is an unlock request, the unlock priority unit 124 The unit 122 is made to select the unlock request with priority. Details of the unlock request identification information acquisition method and the unlock request priority selection method will be described later.

主記憶装置13は、読み出し要求を受けた場合、要求元に対してデータを返却する。また、書き込み要求の場合、記憶内容を更新する。   When receiving a read request, the main storage device 13 returns data to the request source. In the case of a write request, the stored contents are updated.

次に、本発明に係わる実施の形態の情報処理装置における動作フローについて、図2を用いて説明する。   Next, an operation flow in the information processing apparatus according to the embodiment of the present invention will be described with reference to FIG.

まず、処理装置11は実行するプログラムを読み込む。上述のとおり、その読込先は問わない(ステップS101)。   First, the processing device 11 reads a program to be executed. As described above, the reading destination does not matter (step S101).

デコード部111は読み込まれたプログラムをデコードする(ステップS102)。   The decoding unit 111 decodes the read program (step S102).

アクセス制御部112は、デコードされた命令に従い、主記憶装置13に対してアクセス要求を出力する(ステップS103)。   The access control unit 112 outputs an access request to the main storage device 13 according to the decoded instruction (step S103).

アクセス受付部121は、アクセス要求を受け付ける。アンロック優先部124は、アクセス受付部121からアンロック要求の優先判定に必要な情報を取得し、優先判定を行う(ステップS104)。   The access receiving unit 121 receives an access request. The unlock priority unit 124 acquires information necessary for priority determination of the unlock request from the access reception unit 121, and performs priority determination (step S104).

判定結果が優先調停となった場合(S104の判定がYESの場合)、競合制御部122は優先調停状態に遷移し(ステップS105)、判定結果に従ってアンロック要求を優先して選択する。また、判定結果が通常調停となった場合(S104の判定がNOの場合)、競合制御部122は通常の調停を行う(ステップS106)。   When the determination result is priority arbitration (when the determination in S104 is YES), the contention control unit 122 transitions to the priority arbitration state (step S105), and selects the unlock request with priority according to the determination result. When the determination result is normal arbitration (when the determination in S104 is NO), the competition control unit 122 performs normal arbitration (step S106).

アクセス実行部123は、調停されたアクセス要求を主記憶装置13に対して実行する。主記憶装置13はそのアクセス要求に従い、任意の処理を実行する(ステップS107)。   The access execution unit 123 executes the arbitrated access request to the main storage device 13. The main storage device 13 executes arbitrary processing in accordance with the access request (step S107).

(第2実施形態)
次に、上述したアンロック要求の識別情報の取得方法の一例について、具体的に説明する。図3は、本発明に係る実施の形態の情報処理装置において、アンロック要求の識別情報取得専用機能を追加した機能ブロック図である。
(Second Embodiment)
Next, an example of a method for acquiring the above-described unlock request identification information will be specifically described. FIG. 3 is a functional block diagram in which an identification information acquisition dedicated function for an unlock request is added to the information processing apparatus according to the embodiment of the present invention.

図3に示すように、本発明に係る実施の形態の情報処理装置2において、処理装置21、22、23及び24は、デコード部211にてデコードされた所定のプログラムから、アンロック要求の識別情報を検出する識別情報検出部213と、識別情報検出部213にて識別情報を検出した場合は、識別情報をアクセス制御部212と同期して制御装置25に対して識別情報を出力する識別情報制御部214と、を含み、制御装置25は、識別情報制御部214から識別情報を受け付ける識別情報受付部255を含むことができる。   As shown in FIG. 3, in the information processing device 2 according to the embodiment of the present invention, the processing devices 21, 22, 23, and 24 identify the unlock request from a predetermined program decoded by the decoding unit 211. When the identification information is detected by the identification information detection unit 213 that detects information and the identification information detection unit 213, the identification information is output to the control device 25 in synchronization with the access control unit 212. The control device 25 can include an identification information receiving unit 255 that receives identification information from the identification information control unit 214.

情報処理装置2の主な構成物は四台の処理装置21、22、23、24と、制御装置25と主記憶装置26である。本実施形態においては、処理装置は四台にて構成しているが、その台数は一または複数の任意で構わない。   The main components of the information processing device 2 are four processing devices 21, 22, 23, and 24, a control device 25, and a main storage device 26. In the present embodiment, four processing apparatuses are configured, but the number of processing apparatuses may be one or more.

図3に示すように、処理装置21は、デコード部211と、アクセス制御部212と、識別情報検出部213と、識別情報制御部214と、を含む。また、他の処理装置22、23、24においても同様の構成とする。   As illustrated in FIG. 3, the processing device 21 includes a decoding unit 211, an access control unit 212, an identification information detection unit 213, and an identification information control unit 214. The other processing apparatuses 22, 23, and 24 have the same configuration.

デコード部211は、上述したデコード部111の機能と同様である。   The decoding unit 211 has the same function as that of the decoding unit 111 described above.

アクセス制御部212は、上述したアクセス制御部112の機能に加えて、キャッシュ間のコヒーレンシ制御を必要としないアクセス要求は、主記憶装置26へ直接実行できる。これによって、アクセス受付部251へのアクセス数を軽減することができる。   In addition to the function of the access control unit 112 described above, the access control unit 212 can directly execute an access request that does not require coherency control between caches to the main storage device 26. As a result, the number of accesses to the access receiving unit 251 can be reduced.

識別情報検出部213は、デコード部211にてデコードされた所定のプログラムからアンロック要求の識別情報を検出する。識別情報を検出する方法の詳細については、後述する。   The identification information detection unit 213 detects the identification information of the unlock request from the predetermined program decoded by the decoding unit 211. Details of the method for detecting the identification information will be described later.

識別情報制御部214は、識別情報検出部213にて識別情報を検出した場合に、アクセス制御部212が出力するアクセス要求と同期して、制御装置25に対して識別情報を出力する。   The identification information control unit 214 outputs the identification information to the control device 25 in synchronization with the access request output by the access control unit 212 when the identification information detection unit 213 detects the identification information.

また、図3に示すように、制御装置25は、アクセス受付部251と、競合制御部252と、アクセス実行部253と、アンロック優先部254と、識別情報受付部255と、を含む。   As illustrated in FIG. 3, the control device 25 includes an access receiving unit 251, a contention control unit 252, an access execution unit 253, an unlock priority unit 254, and an identification information receiving unit 255.

アクセス受付部251と、競合制御部252と、アクセス実行部253は、それぞれ上述したアクセス受付部121と、競合制御部122と、アクセス実行部123の機能と同様である。   The access receiving unit 251, the contention control unit 252, and the access execution unit 253 have the same functions as the access reception unit 121, the contention control unit 122, and the access execution unit 123, respectively.

識別情報受付部255は、識別情報制御部214の出力した識別情報を受け付ける。   The identification information receiving unit 255 receives the identification information output from the identification information control unit 214.

アンロック優先部254は、上述したアンロック優先部124の機能と同様である。ただし、本構成においては、アンロック要求の識別情報の入手先は識別情報受付部255となる。   The unlock priority unit 254 has the same function as the unlock priority unit 124 described above. However, in this configuration, the identification information receiving unit 255 is a source for obtaining the identification information of the unlock request.

主記憶装置26は、上述した主記憶装置13の機能と同様である。   The main storage device 26 has the same function as that of the main storage device 13 described above.

上述した識別情報を検出する方法の一例について、具体的に説明する。   An example of the method for detecting the identification information described above will be specifically described.

所定のプログラムがアンロック要求を伴う場合、アンロック要求の命令コードを任意のアンロック要求専用の命令コードとする。プログラムをデコードする度に、そのプログラムの命令コードとアンロック要求専用命令コードのリストを比較し、一致すればアンロック要求と識別できる。   When a predetermined program is accompanied by an unlock request, the instruction code for the unlock request is an instruction code dedicated to any unlock request. Each time the program is decoded, the instruction code of the program is compared with the list of instruction codes dedicated to the unlock request, and if they match, it can be identified as an unlock request.

図4は上述した識別情報の検出方法を実現するための識別情報検出部の回路である。デコード回路311は、所定のプログラムの命令コードをデコードする。一致回路312はデコード回路311にてデコードされた命令コードと、任意のアンロック専用命令コードが一致していることを検出する。   FIG. 4 is a circuit of an identification information detection unit for realizing the above-described identification information detection method. The decode circuit 311 decodes an instruction code of a predetermined program. The coincidence circuit 312 detects that the instruction code decoded by the decode circuit 311 matches an arbitrary unlock dedicated instruction code.

上述したアンロック要求を優先して調停する方法の一例として、具体的に説明する。   A specific example will be described as an example of a method of arbitrating with priority given to the unlock request described above.

アンロック優先部254は、アクセス受付部251及び識別情報受付部255から取得した情報から、図5のような調停論理に従って、優先判定結果を得る。   The unlock priority unit 254 obtains a priority determination result from the information acquired from the access reception unit 251 and the identification information reception unit 255 according to the arbitration logic as shown in FIG.

図5の要求元A〜Dは、それぞれ処理装置21〜24に対応している。アンロック識別有りの識別情報を出力した要求元が一つ存在した場合、優先判定結果は該要求元優先となる。この判定に従い、アンロック優先部254は競合制御部252に該要求元のアクセス要求を優先して選択させる。全ての要求元がアンロック識別なしの識別情報を出力する、またはアンロック識別有りの識別情報を出力した要求元が複数存在する場合、優先判定結果は通常調停となる。この判定に従い、アンロック優先部254は競合制御部252に通常調停をさせる。   Requesters A to D in FIG. 5 correspond to the processing devices 21 to 24, respectively. When there is one request source that outputs identification information with unlock identification, the priority determination result is the request source priority. In accordance with this determination, the unlock priority unit 254 causes the contention control unit 252 to preferentially select the request source access request. If all request sources output identification information without unlock identification, or there are a plurality of request sources that output identification information with unlock identification, the priority determination result is normal arbitration. According to this determination, the unlock priority unit 254 causes the contention control unit 252 to perform normal arbitration.

以上図3、図4、図5において説明してきた方法を用いた場合の動作フローについて、図6を用いて説明する。   The operation flow when the method described above with reference to FIGS. 3, 4, and 5 is used will be described with reference to FIG.

まず、処理装置21は実行するプログラムを読み込む。上述のとおり、その読込先は問わない(ステップS201)。   First, the processing device 21 reads a program to be executed. As described above, the reading destination does not matter (step S201).

デコード部211は読み込まれたプログラムをデコードする(ステップS202)。   The decoding unit 211 decodes the read program (step S202).

デコードされたプログラムによって要求されるアクセスについて、キャッシュ間のコヒーレンシ制御不要な場合(S203の判定がNOの場合)、アクセス制御部212は、主記憶装置26に対して直接アクセスする(ステップS203)。   When access requested by the decoded program does not require coherency control between caches (when the determination in S203 is NO), the access control unit 212 directly accesses the main storage device 26 (step S203).

キャッシュ間のコヒーレンシ制御が必要なアクセス要求の場合(S203の判定がYESの場合)、識別情報検出部213は、そのアクセス要求の命令コードからアンロック要求の識別情報を検出する(ステップS204)。   When the access request requires coherency control between caches (when the determination in S203 is YES), the identification information detection unit 213 detects the identification information of the unlock request from the instruction code of the access request (step S204).

アクセス制御部212は、主記憶装置26に対してアクセス要求を出力する。この時、識別情報制御部214は、識別情報検出部213によって検出された識別情報を取得し、アクセス制御部212と同期して出力する(ステップS205)。   The access control unit 212 outputs an access request to the main storage device 26. At this time, the identification information control unit 214 acquires the identification information detected by the identification information detection unit 213, and outputs it in synchronization with the access control unit 212 (step S205).

アクセス受付部251及び識別情報受付部255は、それぞれアクセス要求及び識別情報を受け付ける。アンロック優先部254は、アクセス受付部251及び識別情報受付部255からアンロック要求の優先判定に必要な情報を取得し、図5の論理に従って優先判定を行う(ステップS206)。   The access receiving unit 251 and the identification information receiving unit 255 receive an access request and identification information, respectively. The unlock priority unit 254 acquires information necessary for the priority determination of the unlock request from the access reception unit 251 and the identification information reception unit 255, and performs priority determination according to the logic of FIG. 5 (step S206).

判定結果が優先調停となった場合(S206の判定がYESの場合)、競合制御部252は優先調停状態に遷移し(ステップS207)、判定結果に従ってアンロック要求を優先して調停する。また、判定結果が通常調停となった場合(S206の判定がNOの場合)、競合制御部252は通常の調停を行う(ステップS208)。   When the determination result is priority arbitration (when the determination in S206 is YES), the contention control unit 252 transitions to the priority arbitration state (step S207), and arbitrates with priority on the unlock request according to the determination result. If the determination result is normal arbitration (if the determination in S206 is NO), the competition control unit 252 performs normal arbitration (step S208).

アクセス実行部253は、調停されたアクセス要求を主記憶装置26に対して実行する。主記憶装置26はそのアクセス要求に従い、任意の処理を実行する(ステップS209)。   The access execution unit 253 executes the arbitrated access request to the main storage device 26. The main storage device 26 executes arbitrary processing in accordance with the access request (step S209).

以上説明したように、本発明の実施の形態の情報処理装置によれば、複数のアクセス要求の中からアンロック要求を優先して実行することができる。   As described above, according to the information processing apparatus of the embodiment of the present invention, an unlock request can be preferentially executed from among a plurality of access requests.

図7は、複数のアクセス要求の中からアンロック要求を優先して実行することができることによって、本発明は従来処理よりロック取得期間が短くなることを示している。   FIG. 7 shows that the lock acquisition period is shorter than that of the conventional processing because the unlock request can be executed with priority given to a plurality of access requests.

従来の処理方法において、複数の処理装置からロック要求があった場合は、調停を行い、その中で一つのロック要求が選択され、該ロック要求の要求元である処理装置(CPU#0)がロック成功となる。ロック成功と同時に、対象記憶領域に対するロックが成立することを意味するので、ロック成功した処理装置はロック取得状態となる。   In the conventional processing method, when there are lock requests from a plurality of processing devices, arbitration is performed, and one lock request is selected, and the processing device (CPU # 0) that is the request source of the lock request is selected. The lock is successful. Since this means that the lock on the target storage area is established at the same time as the lock is successful, the processing device that has succeeded in the lock enters the lock acquisition state.

処理装置(CPU#0)が要求したアンロック要求が処理されるまで、ロック取得状態は継続する。この期間がロック取得期間である。ロック取得期間中、他の処理装置(CPU#mまたはCPU#n)は、調停時に選択されてもロック要求は受け付けられないので、ロック失敗と判定されるため、図2及び図6のフローに示すように、再度要求を繰り返す。   The lock acquisition state continues until the unlock request requested by the processing device (CPU # 0) is processed. This period is the lock acquisition period. During the lock acquisition period, the other processing devices (CPU #m or CPU #n) do not accept the lock request even if selected at the time of arbitration. Repeat the request again as shown.

従来の処理方法では、調停時にアンロック要求と他のロック要求と区別ができず、同等として扱われるため、アンロック要求と他のロック要求が競合した場合、必ずしもアンロック要求が選択されるとは限らない。アンロック要求が調停にて選択されるまでアンロック処理ができず、ロック取得期間が延長する結果となる。   In the conventional processing method, an unlock request cannot be distinguished from other lock requests at the time of arbitration, and they are treated as equivalent. Therefore, when an unlock request and another lock request conflict, the unlock request is always selected. Is not limited. Unlock processing cannot be performed until an unlock request is selected by arbitration, resulting in an extended lock acquisition period.

これに対して、本発明の処理方法では、調停時にアンロック要求と他のロック要求を区別して扱うので、アンロック要求と他のロック要求が競合した場合、アンロック要求が選択され、他のロック要求は次回の調停に繰り越しとなる。これによって、アンロック処理を実施するまでの時間を短縮できるので、従来の処理方法に比べてロック取得期間を短縮することができ、情報処理装置の性能向上が実現できる。   On the other hand, in the processing method of the present invention, since the unlock request and other lock requests are distinguished and handled at the time of arbitration, when the unlock request and another lock request conflict, the unlock request is selected, The lock request is carried forward to the next mediation. As a result, the time until the unlock process is performed can be shortened, so that the lock acquisition period can be shortened compared to the conventional processing method, and the performance of the information processing apparatus can be improved.

以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。   As mentioned above, although embodiment of this invention was described with reference to drawings, these are the illustrations of this invention, Various structures other than the above are also employable.

本実施形態では、アンロック要求の識別情報は、専用の命令コードを持たせたが、識別情報として明示できればよく、その方法は問わない。たとえば、識別情報専用ビットを設けて、アンロック要求の有無をビット単位で明示する方法でもよい。   In the present embodiment, the identification information of the unlock request has a dedicated instruction code, but it is only necessary to be able to clearly indicate the identification information, and the method is not limited. For example, a method may be used in which a bit dedicated to identification information is provided and the presence or absence of an unlock request is clearly indicated in bit units.

また、アンロック要求の識別情報取得専用機能として、識別情報検出部、識別情報制御部を処理装置に、識別情報受付部を制御装置に設けた事例にて説明したが、制御装置が識別情報を認識できればよく、この構成に限らない。たとえば、処理装置及び制御装置間にて授受するデータの構造やアクセスパターンによっては、処理装置にて識別情報を検出し、伝達しなくても、制御装置が識別情報を認識することも可能である。   In addition, as an identification information acquisition dedicated function for an unlock request, the identification information detection unit, the identification information control unit are described in the processing device, and the identification information receiving unit is provided in the control device. The configuration is not limited to this as long as it can be recognized. For example, depending on the structure and access pattern of data exchanged between the processing device and the control device, the control device can recognize the identification information without detecting the identification information and transmitting it. .

実施の形態に係る情報処理装置の機能を示した機能ブロック図である。It is a functional block diagram which showed the function of the information processing apparatus which concerns on embodiment. 実施の形態に係る情報処理装置の動作フローを示すフロー図である。It is a flowchart which shows the operation | movement flow of the information processing apparatus which concerns on embodiment. 他の実施形態として図1の情報処理装置にアンロック要求の識別情報取得用の専用機能を追加した機能ブロック図である。FIG. 6 is a functional block diagram in which a dedicated function for acquiring identification information of an unlock request is added to the information processing apparatus of FIG. 1 as another embodiment. 識別情報検出部の一例を示す図である。It is a figure which shows an example of an identification information detection part. 調停時にアンロック要求を優先して選択する調停論理の一例を示す図である。It is a figure which shows an example of the arbitration logic which preferentially selects an unlock request at the time of arbitration. 他の実施形態における情報処理装置の動作フローを示すフロー図である。It is a flowchart which shows the operation | movement flow of the information processing apparatus in other embodiment. 従来処理と本発明の処理の比較図である。It is a comparison figure of the conventional process and the process of this invention.

符号の説明Explanation of symbols

1 情報処理装置
11 処理装置
111 デコード部
112 アクセス制御部
12 制御装置
121 アクセス受付部
122 競合制御部
123 アクセス実行部
124 アンロック優先部
13 主記憶装置
2 情報処理装置
21〜24 処理装置(要求元A〜D)
211 デコード部
212 アクセス制御部
213 識別情報検出部
214 識別情報制御部
25 制御装置
251 アクセス受付部
252 競合制御部
253 アクセス実行部
254 アンロック優先部
255 識別情報受付部
26 主記憶装置
311 デコード回路
312 一致回路
DESCRIPTION OF SYMBOLS 1 Information processing apparatus 11 Processing apparatus 111 Decoding part 112 Access control part 12 Control apparatus 121 Access reception part 122 Contention control part 123 Access execution part 124 Unlock priority part 13 Main storage apparatus 2 Information processing apparatus 21-24 Processing apparatus (request origin) A to D)
211 Decoding unit 212 Access control unit 213 Identification information detection unit 214 Identification information control unit 25 Control device 251 Access reception unit 252 Contention control unit 253 Access execution unit 254 Unlock priority unit 255 Identification information reception unit 26 Main storage device 311 Decoding circuit 312 Match circuit

Claims (4)

主記憶装置と、
所定のプログラムを実行する処理装置と、
前記処理装置から前記主記憶装置に含まれる同一の記憶領域に対してアクセスが競合した場合に排他制御を行う制御装置と、を備えた情報処理装置であって、
前記処理装置は、
前記所定のプログラムをデコードするデコード部と、
前記デコード部によりデコードされたプログラムに応じて前記処理装置から前記主記憶装置へのアクセスを要求するアクセス制御部と、
を含み、
前記制御装置は、
前記アクセス制御部からのアクセス要求を受け付けるアクセス受付部と、
前記アクセス受付部にて受け付けた複数のアクセス要求が前記主記憶装置に含まれる同一の記憶領域に競合した場合、前記複数のアクセス要求を調停し、実行するアクセス要求を選択する競合制御部と、
前記競合制御部が選択したアクセス要求を前記主記憶装置に対して実行するアクセス実行部と、
前記複数のアクセス要求に前記排他制御に伴うロック処理を解除するためのアンロック要求が含まれる場合、前記競合制御部に前記アンロック要求を優先して選択させるアンロック優先部と、
を含み、
前記アクセス制御部は、前記デコード部によりデコードされたプログラムに応じた前記主記憶装置へのアクセス要求がキャッシュ間のコヒーレンシ制御を必要とするか否かを判定し、キャッシュ間のコヒーレンシ制御を必要としないアクセス要求を前記制御装置を介することなく前記主記憶装置に対して直接実行する、
ことを特徴とする情報処理装置。
A main storage device;
A processing device for executing a predetermined program;
A control device that performs exclusive control when access conflicts from the processing device to the same storage area included in the main storage device,
The processor is
A decoding unit for decoding the predetermined program;
An access control unit that requests access from the processing device to the main storage device according to the program decoded by the decoding unit ;
Including
The controller is
An access receiving unit that receives an access request from the access control unit;
When a plurality of access requests received by the access receiving unit compete with the same storage area included in the main storage device, the contention control unit arbitrates the plurality of access requests and selects an access request to be executed;
An access execution unit that executes the access request selected by the contention control unit with respect to the main storage device;
When the plurality of access requests include an unlock request for releasing the lock process associated with the exclusive control, an unlock priority unit that causes the contention control unit to preferentially select the unlock request;
Only including,
The access control unit determines whether an access request to the main storage device according to the program decoded by the decoding unit requires coherency control between caches, and requires coherency control between caches. Execute an access request not to the main storage device directly without going through the control device;
An information processing apparatus characterized by that.
請求項1に記載の情報処理装置において、
前記処理装置は、
前記デコード部にてデコードされた前記所定のプログラムから、アンロック要求の識別情報を検出する識別情報検出部と、
前記識別情報検出部にて前記識別情報を検出した場合は、前記識別情報を前記アクセス制御部と同期して前記制御装置に対して前記識別情報を出力する識別情報制御部と、を含み、
前記制御装置は、
前記識別情報制御部から前記識別情報を受け付ける識別情報受付部
を含むことを特徴とする情報処理装置。
The information processing apparatus according to claim 1,
The processor is
From the predetermined program decoded by the decoding unit, an identification information detection unit for detecting identification information of an unlock request;
An identification information control unit that outputs the identification information to the control device in synchronization with the access control unit when the identification information is detected by the identification information detection unit;
The controller is
An information processing apparatus comprising: an identification information receiving unit that receives the identification information from the identification information control unit.
請求項1又は2に記載の情報処理装置において、
前記処理装置を複数用いて構成することを特徴とする情報処理装置。
The information processing apparatus according to claim 1 or 2 ,
An information processing apparatus comprising a plurality of the processing apparatuses.
請求項1から3のいずれか1項に記載の情報処理装置において、
前記アンロック要求の命令コードは任意の専用コードとすることを特徴とする情報処理装置。
The information processing apparatus according to any one of claims 1 to 3 ,
An information processing apparatus according to claim 1, wherein an instruction code for the unlock request is an arbitrary dedicated code.
JP2008054692A 2008-03-05 2008-03-05 Information processing device Active JP4985478B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008054692A JP4985478B2 (en) 2008-03-05 2008-03-05 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008054692A JP4985478B2 (en) 2008-03-05 2008-03-05 Information processing device

Publications (2)

Publication Number Publication Date
JP2009211484A JP2009211484A (en) 2009-09-17
JP4985478B2 true JP4985478B2 (en) 2012-07-25

Family

ID=41184552

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008054692A Active JP4985478B2 (en) 2008-03-05 2008-03-05 Information processing device

Country Status (1)

Country Link
JP (1) JP4985478B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60107170A (en) * 1983-11-15 1985-06-12 Nec Corp Multiprocessor control system
JPH03268052A (en) * 1990-03-19 1991-11-28 Fujitsu Ltd I/o bus adaptor
JPH052569A (en) * 1991-06-25 1993-01-08 Yaskawa Electric Corp Exclusive control system for multi-processor system
JP2794996B2 (en) * 1991-07-18 1998-09-10 日本電気株式会社 Exclusive control register device
JP3853829B1 (en) * 2005-10-31 2006-12-06 株式会社ソニー・コンピュータエンタテインメント Drawing processing apparatus, parallel processing apparatus, and exclusive control method

Also Published As

Publication number Publication date
JP2009211484A (en) 2009-09-17

Similar Documents

Publication Publication Date Title
CN108459877B (en) Data processing
JP4603583B2 (en) Processor, apparatus, and method
JP5498505B2 (en) Resolving contention between data bursts
JP5243711B2 (en) Processor
US20220156084A1 (en) Processor architecture with micro-threading control by hardware-accelerated kernel thread
CN106991073B (en) Data read-write scheduler and reservation station for vector operation
JP4874165B2 (en) Multiprocessor system and access right setting method in multiprocessor system
JP2008130056A (en) Semiconductor circuit
JP2539021B2 (en) Interrupt request generation node that sends an interrupt request to the pending bus
JPH1196124A (en) Parallel processor system
JP2010140290A (en) Multiprocessor system and arbitration method for exclusive control thereof
JP5745868B2 (en) Multiprocessor system
WO2007081029A1 (en) Multi-processor system and program for computer to carry out a control method of interrupting multi-processor system
CN114201219B (en) Instruction scheduling method, instruction scheduling device, processor and storage medium
CN106068497B (en) Transactional memory support
JP5163220B2 (en) Cache control device, information processing device
US20100058001A1 (en) Distributed shared memory multiprocessor and data processing method
CN114168202B (en) Instruction scheduling method, instruction scheduling device, processor and storage medium
JP4985478B2 (en) Information processing device
US7650483B2 (en) Execution of instructions within a data processing apparatus having a plurality of processing units
JP2004005710A (en) Information processor
JP2007219800A (en) Parallel processor and exclusive control method
JP2011107939A (en) Redundant system information processor
JP2009217375A (en) Inter-multiprocessor communication method
JP2009505267A (en) Method and system for accessing memory using auxiliary memory

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100831

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110607

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120403

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120416

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4985478

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350