JP4370227B2 - プロセッサ - Google Patents
プロセッサ Download PDFInfo
- Publication number
- JP4370227B2 JP4370227B2 JP2004241534A JP2004241534A JP4370227B2 JP 4370227 B2 JP4370227 B2 JP 4370227B2 JP 2004241534 A JP2004241534 A JP 2004241534A JP 2004241534 A JP2004241534 A JP 2004241534A JP 4370227 B2 JP4370227 B2 JP 4370227B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- address
- access
- interrupt
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Multi Processors (AREA)
Description
排他制御された状態で、メモリにおける所定のアクセスアドレスから読み出しデータを読み出し、これに基づいて所定の処理が行われた処理結果データを上記アクセスアドレスに書き込む排他アクセスが行われるプロセッサであって、
命令を実行し、上記所定の処理を行うCPUと、
上記CPUからの指定されたアクセスアドレスを保持するアドレス保持手段と、
上記読み出しデータ、および処理結果データを保持するデータ保持手段と、
上記メモリにおける上記アクセスアドレスに対して、上記読み出しデータの読み出し、および処理結果データの書き込みを行うアクセス制御手段と、
上記読み出しデータの読み出しから処理結果データの書き込みまでの間に、少なくとも割り込み、またはメモリ管理ユニット例外が検出されたことを示す排他性阻害情報を自動的に保持する状態情報保持手段と、
を備え、
上記アクセス制御手段は、上記データ保持手段に上記処理結果データが保持され、かつ、上記状態情報保持手段に排他性阻害情報が保持されている場合に、上記処理結果データの書き込みを停止し、
上記CPUは、読み出し命令で排他性阻害情報を読み出すことにより排他性阻害情報の有無を判断し得るように構成されていることを特徴とする。
請求項1のプロセッサであって、
上記アクセス制御手段は、CPUによりアドレス保持手段にアクセスアドレスが格納されるのに応じて読み出しデータの読み出しを行い、データ保持手段に処理結果データが格納されるのに応じて上記処理結果データの書き込みまたは書き込み停止を行うように構成されていることを特徴とする。
請求項1のプロセッサであって、
上記アクセス制御手段は、割り込み、およびメモリ管理ユニット例外が何れも生じていない場合に、上記処理結果データの書き込みを行う一方、少なくとも何れかが生じていた場合に、書き込みを停止するように構成されていることを特徴とする。
請求項1のプロセッサであって、
上記割り込みが生じたことを示す排他性阻害情報は、割り込み処理が行われた後に、割り込み前の処理に戻るための命令が実行されたことを示す情報であることを特徴とする。
請求項1のプロセッサであって、
上記割り込みが生じたことを示す排他性阻害情報は、割り込みが発生したことを示す情報であるとともに、
上記排他性阻害情報は、さらに、排他アクセスが行われたことを示す情報を含み、
上記アクセス制御手段は、割り込みの発生、および排他アクセスが何れも生じていない場合に、上記処理結果データの書き込みを行う一方、少なくとも何れかが生じていた場合に、書き込みを停止するように構成されていることを特徴とする。
請求項1のプロセッサであって、
さらに、上記アドレス保持手段に保持されたアクセスアドレスと、他のプロセッサによるアクセスアドレスとを比較する比較手段を備えるとともに、
上記排他性阻害情報は、上記比較手段によってアドレスの一致が検出されたことを示す情報を含み、
上記アクセス制御手段は、上記アドレスの一致が検出された場合に、上記処理結果データの書き込みを停止するように構成されていることを特徴とする。
請求項1のプロセッサであって、さらに、
上記アドレス保持手段に保持されたアクセスアドレスと、他のプロセッサによるアクセスアドレスとを比較する比較手段と、
上記比較手段によって上記アドレスの一致が検出された場合に、上記他のプロセッサによるアクセスを阻止する他プロセッサアクセス制御手段と、
を備えたことを特徴とする。
発明の実施形態1として、MMU(メモリ管理ユニット)を備え、アトミックオペレーションの実行中に割り込みまたはMMU例外が発生した場合に、アトミック性が保証されなかったと判定してアトミックオペレーションが実行し直されるプロセッサの例を説明する。
上記の例では、プロセッサ1にMMU110が設けられている例を示したが、MMU110が設けられていない場合でも、判定回路139が割り込み検出フラグ134に基づいてアトミック性保証信号を出力するようにすれば、割り込みの有無に応じてアトミック性の保証された処理を行わせることができる。
アトミックオペレーションの実行中に割り込みが生じたことを割り込み信号によって検出するプロセッサの例を説明する。このような検出は、CPUに入力される割り込み信号などをそのまま利用することができるので、一般に、実施形態1のように割り込み復帰命令が実行されたことを検出するよりも容易に行うことができる。なお、以下の実施形態において、前記実施形態1等と同様の機能を有する構成要素については同一の符号を付して説明を省略する。
実施形態3のプロセッサ1は、アトミックオペレーションが行われる場合に、他のプロセッサ1によるアクセスをロックせずに行わせ、割り込みがあった場合などと同じようにアトミックオペレーションを再度実行させるように構成されている。具体的には、図6に示すように、アトミックオペレーション制御部330には、アトミックオペレーション対象アドレスと、他のプロセッサ1によってアクセスされるアドレスとを比較する比較器337、および上記アドレスが一致した場合にセットされるバスアクセス競合検出フラグ338が設けられている。また、メモリアクセス制御部333は、アトミックオペレーション実行中信号を出力しない点だけが、実施形態1のメモリアクセス制御部133と異なっている。
このように他のプロセッサ1によるアクセスを優先させることにより、バスの転送性能を維持することが容易にできる。
実施形態2と同様に割り込み信号によって割り込みの発生を検出する構成と、実施形態3と同様に他のプロセッサ1によるメモリアクセスを優先させる構成とを組み合わせてもよい。具体的には、図8に示すように、アトミックオペレーション制御部430は、割り込み検出フラグ234と、アトミックオペレーション検出フラグ236と、メモリアクセス制御部333と、比較器337と、バスアクセス競合検出フラグ338とを備えて構成され、図9に示すような動作が行われる。
2 共有バス
3 メインメモリ
4 メインメモリ制御部
100 CPU
110 MMU
120 キャッシュ
130 アトミックオペレーション制御部
131 アドレス格納部
132 データ格納部
133 メモリアクセス制御部
134 割り込み検出フラグ
135 MMU例外検出フラグ
139 判定回路
230 アトミックオペレーション制御部
234 割り込み検出フラグ
236 アトミックオペレーション検出フラグ
330 アトミックオペレーション制御部
333 メモリアクセス制御部
337 比較器
338 バスアクセス競合検出フラグ
401 比較器
402 AND回路
403 アクセスロック制御部
430 アトミックオペレーション制御部
Claims (7)
- 排他制御された状態で、メモリにおける所定のアクセスアドレスから読み出しデータを読み出し、これに基づいて所定の処理が行われた処理結果データを上記アクセスアドレスに書き込む排他アクセスが行われるプロセッサであって、
命令を実行し、上記所定の処理を行うCPUと、
上記CPUからの指定されたアクセスアドレスを保持するアドレス保持手段と、
上記読み出しデータ、および処理結果データを保持するデータ保持手段と、
上記メモリにおける上記アクセスアドレスに対して、上記読み出しデータの読み出し、および処理結果データの書き込みを行うアクセス制御手段と、
上記読み出しデータの読み出しから処理結果データの書き込みまでの間に、少なくとも割り込み、またはメモリ管理ユニット例外が検出されたことを示す排他性阻害情報を自動的に保持する状態情報保持手段と、
を備え、
上記アクセス制御手段は、上記データ保持手段に上記処理結果データが保持され、かつ、上記状態情報保持手段に排他性阻害情報が保持されている場合に、上記処理結果データの書き込みを停止し、
上記CPUは、読み出し命令で排他性阻害情報を読み出すことにより排他性阻害情報の有無を判断し得るように構成されていることを特徴とするプロセッサ。 - 請求項1のプロセッサであって、
上記アクセス制御手段は、CPUによりアドレス保持手段にアクセスアドレスが格納されるのに応じて読み出しデータの読み出しを行い、データ保持手段に処理結果データが格納されるのに応じて上記処理結果データの書き込みまたは書き込み停止を行うように構成されていることを特徴とするプロセッサ。 - 請求項1のプロセッサであって、
上記アクセス制御手段は、割り込み、およびメモリ管理ユニット例外が何れも生じていない場合に、上記処理結果データの書き込みを行う一方、少なくとも何れかが生じていた場合に、書き込みを停止するように構成されていることを特徴とするプロセッサ。 - 請求項1のプロセッサであって、
上記割り込みが生じたことを示す排他性阻害情報は、割り込み処理が行われた後に、割り込み前の処理に戻るための命令が実行されたことを示す情報であることを特徴とするプロセッサ。 - 請求項1のプロセッサであって、
上記割り込みが生じたことを示す排他性阻害情報は、割り込みが発生したことを示す情報であるとともに、
上記排他性阻害情報は、さらに、排他アクセスが行われたことを示す情報を含み、
上記アクセス制御手段は、割り込みの発生、および排他アクセスが何れも生じていない場合に、上記処理結果データの書き込みを行う一方、少なくとも何れかが生じていた場合に、書き込みを停止するように構成されていることを特徴とするプロセッサ。 - 請求項1のプロセッサであって、
さらに、上記アドレス保持手段に保持されたアクセスアドレスと、他のプロセッサによるアクセスアドレスとを比較する比較手段を備えるとともに、
上記排他性阻害情報は、上記比較手段によってアドレスの一致が検出されたことを示す情報を含み、
上記アクセス制御手段は、上記アドレスの一致が検出された場合に、上記処理結果データの書き込みを停止するように構成されていることを特徴とするプロセッサ。 - 請求項1のプロセッサであって、さらに、
上記アドレス保持手段に保持されたアクセスアドレスと、他のプロセッサによるアクセスアドレスとを比較する比較手段と、
上記比較手段によって上記アドレスの一致が検出された場合に、上記他のプロセッサによるアクセスを阻止する他プロセッサアクセス制御手段と、
を備えたことを特徴とするプロセッサ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004241534A JP4370227B2 (ja) | 2004-08-20 | 2004-08-20 | プロセッサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004241534A JP4370227B2 (ja) | 2004-08-20 | 2004-08-20 | プロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006059196A JP2006059196A (ja) | 2006-03-02 |
JP4370227B2 true JP4370227B2 (ja) | 2009-11-25 |
Family
ID=36106607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004241534A Expired - Fee Related JP4370227B2 (ja) | 2004-08-20 | 2004-08-20 | プロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4370227B2 (ja) |
-
2004
- 2004-08-20 JP JP2004241534A patent/JP4370227B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006059196A (ja) | 2006-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6708256B2 (en) | Memory-to-memory copy and compare/exchange instructions to support non-blocking synchronization schemes | |
US7178062B1 (en) | Methods and apparatus for executing code while avoiding interference | |
EP2641171B1 (en) | Preventing unintended loss of transactional data in hardware transactional memory systems | |
KR20210002554A (ko) | 강건한 트랜잭션 메모리 | |
US8103838B2 (en) | System and method for transactional locking using reader-lists | |
JP6568575B2 (ja) | トランザクション・データ処理実行モードのための呼出しスタック維持 | |
JP4874165B2 (ja) | マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス権設定方法 | |
US20120304185A1 (en) | Information processing system, exclusive control method and exclusive control program | |
EP2159703A1 (en) | Information processor, cache memory controller, and memory access sequence assurance method | |
JP3797570B2 (ja) | セマフォ命令用のセマフォ・バッファを用いた装置と方法 | |
JP2017520857A5 (ja) | ||
JP7403541B2 (ja) | メモリ順序付け違反チェックバッファの排出遅延を許容するための投機的命令ウェイクアップ | |
JP2013225208A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP5999216B2 (ja) | データ処理装置 | |
JP4370227B2 (ja) | プロセッサ | |
US10540222B2 (en) | Data access device and access error notification method | |
JP2009230479A (ja) | マイクロプロセッサ | |
US20070288675A1 (en) | Bus system, bus slave and bus control method | |
JP2562838B2 (ja) | プロセッサ及びストアバッファ制御方法 | |
JP4755232B2 (ja) | コンパイラ | |
JP2003256267A (ja) | データ処理方法、これを用いたメモリ領域検索システム及びプログラム | |
JPH0635866A (ja) | マルチプロセッサシステム | |
JPH0512100A (ja) | セルの管理方法及びセル管理テーブル | |
JPH0424836A (ja) | マイクロプロセッサ | |
JP2000089954A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070523 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080613 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080701 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080901 |
|
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: 20090804 |
|
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: 20090831 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120904 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |