JP4370227B2 - プロセッサ - Google Patents

プロセッサ Download PDF

Info

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
Application number
JP2004241534A
Other languages
English (en)
Other versions
JP2006059196A (ja
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2004241534A priority Critical patent/JP4370227B2/ja
Publication of JP2006059196A publication Critical patent/JP2006059196A/ja
Application granted granted Critical
Publication of JP4370227B2 publication Critical patent/JP4370227B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)

Description

本発明は、割り込み処理や他のプロセッサの動作などに対して、アトミックオペレーションの実行が可能なプロセッサに関するものである。
一般に、複数のプロセッサが共有バスを介してメインメモリと接続されるマルチプロセッサシステムにおいては、データの一貫性を保つために排他制御を行う必要がある。また、割り込み処理などによってデータの一貫性が損なわれないようにするためにも、排他制御を行う必要がある。すなわち、メモリからデータがロードされた後、所定の処理が行われて、その結果がストアされるまでの一連の動作を排他的に行うアトミックオペレーションが必要とされる。
アトミックオペレーションを可能にする技術としては、例えば、load-linked/store-conditional命令などと呼ばれるアトミックオペレーションを行うための専用命令をプロセッサが実行できるようにする技術が用いられている。詳しくは、上記命令では、データをロードした時にそのロードアドレスを保持しておき、処理結果をストアするまでの期間に他のプロセッサによって上記アドレスまたは近傍の領域に書き込みが行われたり、割り込みや例外処理が発生した場合には、ストアを行わずに再度データのロードからの動作を繰り返すようになっている。
また、上記のような専用命令を持たないプロセッサでは、データをロードしてからストアするまでの期間、共有バスを他のプロセッサなどが一時的に使用できない状態にロック(バスロック)したりすることで、アトミックオペレーションを実現する技術も知られている。
また、例えば、該当プロセッサがアクセスしたいアドレスのデータが該当プロセッサに対応するキャッシュメモリに存在し、かつ他のプロセッサに対応するキャッシュメモリのいずれにも存在しない場合において、該当プロセッサがアクセスしたいアドレスを保持するタグメモリと共有バスのアドレスを比較し、一致した場合に該当アドレスへの他のプロセッサからのアクセスを保留することで、バスロック自体は行わずに、該当アドレス以外のアクセスは許可できるようにして、排他制御の高速を図る技術も提案されている(例えば、特許文献1参照。)。
特開平8−161228号公報
上記のようにアトミックオペレーションのための専用命令を実行可能にすることは、命令セットの増加やアーキテクチャの複雑化を招くことになるため、適用が容易ではない。特に、汎用のプロセッサやCPUコアに適用することは困難である。
また、何れかのプロセッサがアトミックオペレーションを行う際に他のプロセッサ等による全てのメモリアクセス(データ転送)に対してバスロックをする技術では、転送性能が低下して、マルチプロセッサなどとしての処理能力が低下しがちであるという課題があった。
さらに、特許文献1のような構成においては、特殊なキャッシュメモリを構成する必要があるため、回路規模が大きくなるとともに、汎用のプロセッサに適用することなども困難であるという問題点を有していた。
本発明は、上記の点に鑑み、専用の命令を用いたり、バスロックしたりすることなく、また、特殊なキャッシュメモリを設けたりすることなく排他制御を行えるようにして、簡潔な構成で、しかも処理能力の大幅な低下を招くことなく、他のプロセッサの動作や割り込み処理に対するアトミック性を容易に確保できるようにすることを課題としている。
上記の点に鑑み、請求項1の発明は、
排他制御された状態で、メモリにおける所定のアクセスアドレスから読み出しデータを読み出し、これに基づいて所定の処理が行われた処理結果データを上記アクセスアドレスに書き込む排他アクセスが行われるプロセッサであって、
命令を実行し、上記所定の処理を行うCPUと、
上記CPUからの指定されたアクセスアドレスを保持するアドレス保持手段と、
上記読み出しデータ、および処理結果データを保持するデータ保持手段と、
上記メモリにおける上記アクセスアドレスに対して、上記読み出しデータの読み出し、および処理結果データの書き込みを行うアクセス制御手段と、
上記読み出しデータの読み出しから処理結果データの書き込みまでの間に、少なくとも割り込み、またはメモリ管理ユニット例外が検出されたことを示す排他性阻害情報を自動的に保持する状態情報保持手段と、
を備え、
上記アクセス制御手段は、上記データ保持手段に上記処理結果データが保持され、かつ、上記状態情報保持手段に排他性阻害情報が保持されている場合に、上記処理結果データの書き込みを停止し、
上記CPUは、読み出し命令で排他性阻害情報を読み出すことにより排他性阻害情報の有無を判断し得るように構成されていることを特徴とする。
また、請求項2の発明は、
請求項1のプロセッサであって、
上記アクセス制御手段は、CPUによりアドレス保持手段にアクセスアドレスが格納されるのに応じて読み出しデータの読み出しを行い、データ保持手段に処理結果データが格納されるのに応じて上記処理結果データの書き込みまたは書き込み停止を行うように構成されていることを特徴とする。
また、請求項3の発明は、
請求項1のプロセッサであって、
上記アクセス制御手段は、割り込み、およびメモリ管理ユニット例外が何れも生じていない場合に、上記処理結果データの書き込みを行う一方、少なくとも何れかが生じていた場合に、書き込みを停止するように構成されていることを特徴とする。
これらにより、割り込み処理等の有無に応じて、排他制御性の保証されない処理結果データが書き込まれることが抑制される。それゆえ、専用の命令を用いたり、バスロックしたりすることなく、排他制御性を確保することができる。
また、請求項4の発明は、
請求項1のプロセッサであって、
上記割り込みが生じたことを示す排他性阻害情報は、割り込み処理が行われた後に、割り込み前の処理に戻るための命令が実行されたことを示す情報であることを特徴とする。
これにより、割り込み処理が終了するときの情報に基づいて割り込みの有無が判断できるので、割り込み処理中に、さらに排他アクセスが行われた場合でも、確実に割り込みの有無が判断できる。
また、請求項5の発明は、
請求項1のプロセッサであって、
上記割り込みが生じたことを示す排他性阻害情報は、割り込みが発生したことを示す情報であるとともに、
上記排他性阻害情報は、さらに、排他アクセスが行われたことを示す情報を含み、
上記アクセス制御手段は、割り込みの発生、および排他アクセスが何れも生じていない場合に、上記処理結果データの書き込みを行う一方、少なくとも何れかが生じていた場合に、書き込みを停止するように構成されていることを特徴とする。
これにより、割り込み信号などによって割り込みの発生が容易に検出できるとともに、割り込み処理中にさらに排他アクセスが行われた場合には、そのことを示す情報によって、実質的に割り込みの有無が判断できるので、やはり、確実に割り込みの有無が判断できる。
また、請求項6の発明は、
請求項1のプロセッサであって、
さらに、上記アドレス保持手段に保持されたアクセスアドレスと、他のプロセッサによるアクセスアドレスとを比較する比較手段を備えるとともに、
上記排他性阻害情報は、上記比較手段によってアドレスの一致が検出されたことを示す情報を含み、
上記アクセス制御手段は、上記アドレスの一致が検出された場合に、上記処理結果データの書き込みを停止するように構成されていることを特徴とする。
これにより、他のプロセッサとのアクセス競合が生じた場合には、前記割り込み処理等の場合と同様に書き込みの停止が行われるので、他のプロセッサによる処理能力を低下させることなく、排他アクセスを行うことができる。
また、請求項7の発明は、
請求項1のプロセッサであって、さらに、
上記アドレス保持手段に保持されたアクセスアドレスと、他のプロセッサによるアクセスアドレスとを比較する比較手段と、
上記比較手段によって上記アドレスの一致が検出された場合に、上記他のプロセッサによるアクセスを阻止する他プロセッサアクセス制御手段と、
を備えたことを特徴とする。
これにより、他のプロセッサとのアクセス競合が生じた場合には、他のプロセッサによるアクセスが阻止されるので、当該プロセッサによる処理能力を低下させることなく、排他アクセスを行うことができる。
本発明によれば、簡潔な構成で、しかも処理能力の大幅な低下を招くことなく、他のプロセッサの動作や割り込み処理に対するアトミック性を容易に確保できる。
以下、本発明の実施形態を図面に基づいて詳細に説明する。
《発明の実施形態1》
発明の実施形態1として、MMU(メモリ管理ユニット)を備え、アトミックオペレーションの実行中に割り込みまたはMMU例外が発生した場合に、アトミック性が保証されなかったと判定してアトミックオペレーションが実行し直されるプロセッサの例を説明する。
図1は、アトミックオペレーションの実行が可能な複数のプロセッサ1…を有するマルチプロセッサシステムの構成を示すブロック図である。このマルチプロセッサシステムは、上記プロセッサ1…の他に、共有バス2と、メインメモリ3と、メインメモリ制御部4とを備えて構成されている。各プロセッサ1は、CPU100、MMU110、キャッシュ120、およびアトミックオペレーション制御部130を備えて構成されている。
上記アトミックオペレーション制御部130は、アドレス格納部131、データ格納部132、メモリアクセス制御部133、割り込み検出フラグ134、MMU例外検出フラグ135、および判定回路139を備えている。
アドレス格納部131は、アトミックオペレーションでアクセスされるメインメモリ3のアドレスであるアトミックオペレーション対象アドレスを格納するもので、CPU100により例えばI/Oバスを介してアドレスが格納されることによって、アトミックオペレーションの開始が示され、アトミックオペレーション開始信号を出力するようになっている。
データ格納部132は、共有バス2を介してメインメモリ3との間でデータの読み書きを行うようになっている。また、例えばI/Oバスを介してCPU100と接続され、メインメモリ3から読み込まれたデータがCPU100に取り込まれるようになっている。さらに、CPU100によりアトミックオペレーションの処理結果のデータが格納されることによってアトミックオペレーションの終了が示され、アトミックオペレーション終了信号を出力するとともに、格納されたデータをメインメモリ3に書き込むようになっている。
メモリアクセス制御部133は、アドレス格納部131から出力される上記アトミックオペレーション開始信号に応じて、後述するようにフラグクリア信号、アドレス切り替え信号、アトミックオペレーション実行中信号、およびデータ格納信号等を出力するようになっている。また、データ格納部132から出力される上記アトミックオペレーション終了信号に応じて、判定回路139から出力されるアトミック性保証信号に基づき、アトミックオペレーション実行中信号の停止などを行うようになっている。
割り込み検出フラグ134は、メモリアクセス制御部133から出力されるフラグクリア信号に応じてクリアされ、CPU100が割り込み復帰命令を実行したときに出力する割り込み復帰信号に応じてセットされるようになっている。
MMU例外検出フラグ135は、同様にフラグクリア信号に応じてクリアされる一方、MMU110から出力されるMMU例外信号に応じてセットされるようになっている。
判定回路139は、割り込み検出フラグ134およびMMU例外検出フラグ135が何れもセットされていない場合に、アトミック性保証信号を出力するようになっている。
また、メインメモリ制御部4は、具体的には例えば図2に示すように、各プロセッサ1に対応する比較器401とAND回路402と、およびアクセスロック制御部403とを備えて構成されている。比較器401は、各プロセッサ1のアドレス格納部131に格納されているアトミックオペレーション対象アドレスと、何れかのプロセッサ1が実際にアクセスしようとしているアドレスとを比較するようになっている。AND回路402は、対応するプロセッサ1のメモリアクセス制御部133からアトミックオペレーション実行中信号が出力されているときに上記比較器401によってアドレスの一致が検出されると、一致信号を出力するようになっている。また、アクセスロック制御部403は、上記AND回路402から一致信号が出力され、かつ、アトミックオペレーション実行中信号を出力しているプロセッサ1とアドレスを出力しているプロセッサ1(メインメモリ3にアクセスしようとしているプロセッサ1)とが異なる場合に、ロック信号を出力してメインメモリ3へのアクセスを保留させるようになっている。ここで、上記アドレスを出力しているプロセッサ1の判別は、例えば図示しないアクセス権獲得信号などによって行われる。
上記のように構成されたプロセッサシステムでアトミックオペレーションが行われる場合の動作について、まず、プロセッサ1内のCPU100によって例えば図3に(S101)〜(S108)で示すようなプログラムが実行される場合の動作を説明する。
(S101、S102) CPU100は、例えば、I/Oバスを介して、I/Oアドレスが“AAR”であるアトミックオペレーション制御部130のアドレス格納部131に、アトミックオペレーション対象アドレス“AD”を格納する。
(S103) 上記アドレスの格納に応じて、アトミックオペレーション制御部130では、後述するようにメインメモリ3のアドレス“AD”からデータが読み出され、例えばI/Oアドレスが“ADR”であるデータ格納部132に格納される。そこで、CPU100はI/Oバスを介してデータ格納部132から上記データを取り込み、例えばレジスタ“d1”に保持する。
(S104) 上記保持されたデータに対して所定の処理を実行し、処理結果のデータをレジスタ再度“d1”に保持する。
(S105) 上記処理結果のデータをI/Oバスを介してデータ格納部132に格納する。
(S106〜S108) 割り込み検出フラグ134およびMMU例外検出フラグ135をステータスレジスタ“ASR”として参照し、これらのフラグが共にクリアされたままであれば、アトミックオペレーションを完了して次の処理に移る一方、少なくとも何れか一方がセットされていれば、(S101)に戻って、再度、メインメモリ3からのデータの読み込みや処理(アトミックオペレーション)を繰り返す。
すなわち、アトミックオペレーションの実行中に割り込みまたはMMU例外が発生すると、例えば同図に併せて示すように、割り込み処理(S111)が行われた後に割り込み復帰命令が実行(S112)された際、またはMMU例外処理(S121)が行われる際に、CPU100またはMMU110から割り込み復帰信号またはMMU例外信号が出力され、これらに応じ、割り込み検出フラグ134またはMMU例外検出フラグ135がセットされる。
そして、割り込みが発生していれば、メインメモリ3のアドレス“AD”に記憶されるデータが更新された可能性があり、また、MMU例外が発生していれば、メインメモリ3から適切な読み出しがなされていない可能性があり、アトミック性が保証されなかったり適切な処理が行われていない可能性があるので、上記のようにアトミックオペレーションが繰り返されることによって、アトミック性の保証された適切な処理が行われる。
また、アトミックオペレーションが行われている間は、他のプロセッサ1による同じアドレスへのアクセスは保留されるので、やはりアトミック性は保証される一方、他のアドレスへのアクセスは保留されないので、上記他のプロセッサ1の処理能力の低下を小さく抑えることができる。
次に、CPU100による上記のようなプログラムの実行に対応して、アトミックオペレーション制御部130で行われる動作(S131)〜(S139)を説明する。ここで、同ステップ(S131)〜(S139)はアトミックオペレーション制御部130の各部の動作を模式的に示すもので、同図に示すのと異なる順序や同時に並行した動作が行われるなどしてもよい。
(S131) メモリアクセス制御部133は、アドレス格納部131からアトミックオペレーション開始信号が出力されるのを監視する。すなわち、CPU100によりI/Oバスを介してアドレス格納部131にアトミックオペレーション対象アドレスが格納されるのを待つ。
(S132〜S135) アドレスが格納されると、メモリアクセス制御部133は、フラグクリア信号、アドレス切り替え信号、アトミックオペレーション実行中信号、およびデータ格納信号を出力する。これに応じて、割り込み検出フラグ134およびMMU例外検出フラグ135は保持する値をクリアし、MMU110はアドレス格納部131から出力されるアドレスを出力し、メインメモリ制御部4は他のプロセッサが上記アトミックオペレーション対象アドレスにアクセスするのを監視してアクセスを保留させる(ロックする)ようになり、データ格納部132は、MMU110から出力されるアドレスに応じてメインメモリ3から読み出されるデータを格納する。(なお、キャッシュ120が有効である場合には、キャッシュ120から図示しないデータ線を介して出力されるデータが格納される。)そこで、CPU100によって、前記のように上記格納データに基づいた処理が行われる。
(S136) 次に、メモリアクセス制御部133は、データ格納部132からアトミックオペレーション終了信号が出力されるのを監視する。すなわち、CPU100によるデータ処理が行われてデータ格納部132に処理結果のデータが格納されるのを待つ。
(S137) 処理結果のデータが格納されると、メモリアクセス制御部133は、CPU100の処理についてアトミック性が保証されているかどうか、すなわち割り込み検出フラグ134およびMMU例外検出フラグ135が共にクリアされていて、判定回路139からアトミック性保証信号が出力されているかどうかを判定する。そして、アトミック性が保証されていなければ、データ格納部132に格納されたデータは、メインメモリ3における更新前のデータに基づくものである可能性があるので、メインメモリ3に書き込まずに(S131)に戻る。すなわち、CPU100では前記のようにアトミックオペレーションが繰り返されるのに対応して、アトミックオペレーション制御部130では(S131)以降の動作が繰り返される。
(S138、S139) 一方、アトミック性保証信号が出力されている場合には、データ格納部132に格納されたデータが、メインメモリ3における、アドレス格納部131に格納されている元のアドレスの領域に書き込まれる。また、アトミックオペレーション実行中信号が停止され、上記アドレスへの他のプロセッサ1からのアクセスができるようになる。
上記のように、アトミックオペレーション制御部130を設けることによって、CPU100がアトミックオペレーション専用の命令などを実行しなくても、割り込みなどが発生した場合にアトミックオペレーションが繰り返されることによってアトミック性の保証された処理を行わせることができる。また、それゆえ、アトミックオペレーションの実行の有無に係わらず割り込み処理を行わせることができるので、迅速性を必要とする処理を行わせることなども容易にできる。
また、本実施形態1では、割り込みが発生したことは割り込み復帰命令が実行されることによって検出されるため、後述する実施形態2で説明するようにアトミックオペレーションの実行中に生じた割り込み処理中でさらにアトミックオペレーションが行われたかどうかに係わらず、割り込みの発生は確実に検出され、アトミック性が保証されないと判定される。
《発明の実施形態1の変形例》
上記の例では、プロセッサ1にMMU110が設けられている例を示したが、MMU110が設けられていない場合でも、判定回路139が割り込み検出フラグ134に基づいてアトミック性保証信号を出力するようにすれば、割り込みの有無に応じてアトミック性の保証された処理を行わせることができる。
また、キャッシュ120は設けなくても、上記のような効果は同じように得られる。
また、これらの点については、以下の他の実施形態においても同様に適用可能である。
《発明の実施形態2》
アトミックオペレーションの実行中に割り込みが生じたことを割り込み信号によって検出するプロセッサの例を説明する。このような検出は、CPUに入力される割り込み信号などをそのまま利用することができるので、一般に、実施形態1のように割り込み復帰命令が実行されたことを検出するよりも容易に行うことができる。なお、以下の実施形態において、前記実施形態1等と同様の機能を有する構成要素については同一の符号を付して説明を省略する。
本実施形態2のプロセッサ1は、図4に示すようにアトミックオペレーション制御部230を備えている。このアトミックオペレーション制御部230は、実施形態1のアトミックオペレーション制御部130と比べて、割り込み検出フラグ134に代えて割り込み検出フラグ234を備えるとともに、アトミックオペレーション検出フラグ236を備えている点が異なっている。
上記割り込み検出フラグ234は、CPU100に入力されるのと同じ割り込み信号が入力されることによってセットされるようになっている。
アトミックオペレーション検出フラグ236は、他のフラグと同様に、アトミックオペレーションの実行が開始される際のフラグクリア信号によってクリアされる一方、アトミックオペレーションの終了時にデータ格納部132から出力されるアトミックオペレーション終了信号によってセットされるようになっている。
上記のように構成されたプロセッサ1の動作は、図5に示すように、実施形態1と比べて以下の点が異なっている。すなわち、(S132)に代えて、(S232)で、割り込み検出フラグ234と、MMU例外検出フラグ135と、アトミックオペレーション検出フラグ236とがクリアされる。また、割り込み検出フラグ234は、割り込み処理が開始される時点でセットされる。さらに、(S106)および(S137)に代えて、(S206)および(S237)で、アトミック性が保証されるかどうかの判定が上記3つのフラグに基づいて行われる。つまり、何れもセットされていない場合に、アトミック性が保証されていると判定される。また、アトミック性が保証されていると判定された場合に、(S241)でアトミックオペレーション検出フラグ236がセットされる。
上記のように、割り込み信号によって割り込み検出フラグ234をセットすることにより割り込みが生じたことを検出する場合、割り込み処理中でさらにアトミックオペレーションが行われると、そのアトミックオペレーションが開始される際に(そのアトミックオペレーション中の割り込み発生を検出するために)割り込み検出フラグ234はクリアされてしまうことになる。そこで、アトミックオペレーションが行われる場合にアトミックオペレーション検出フラグ236がセットされるようにすることにより、割り込み検出フラグ234がクリアされたとしてもアトミックオペレーション検出フラグ236がセットされることによって、アトミック性が保証されないと判定することができる。
《発明の実施形態3》
実施形態3のプロセッサ1は、アトミックオペレーションが行われる場合に、他のプロセッサ1によるアクセスをロックせずに行わせ、割り込みがあった場合などと同じようにアトミックオペレーションを再度実行させるように構成されている。具体的には、図6に示すように、アトミックオペレーション制御部330には、アトミックオペレーション対象アドレスと、他のプロセッサ1によってアクセスされるアドレスとを比較する比較器337、および上記アドレスが一致した場合にセットされるバスアクセス競合検出フラグ338が設けられている。また、メモリアクセス制御部333は、アトミックオペレーション実行中信号を出力しない点だけが、実施形態1のメモリアクセス制御部133と異なっている。
このプロセッサ1においては、図7に示すように、(S332)で、上記バスアクセス競合検出フラグ338もクリアされ、(S341)で競合バスアクセスが生じたときにセットされ、(S306)および(S337)では、上記バスアクセス競合検出フラグ338がセットされている場合にも、アトミック性は保証されないと判定される。(実施形態1の(S134)(S139)のように実行中信号の出力や停止は行われない。)
このように他のプロセッサ1によるアクセスを優先させることにより、バスの転送性能を維持することが容易にできる。
《発明の実施形態4》
実施形態2と同様に割り込み信号によって割り込みの発生を検出する構成と、実施形態3と同様に他のプロセッサ1によるメモリアクセスを優先させる構成とを組み合わせてもよい。具体的には、図8に示すように、アトミックオペレーション制御部430は、割り込み検出フラグ234と、アトミックオペレーション検出フラグ236と、メモリアクセス制御部333と、比較器337と、バスアクセス競合検出フラグ338とを備えて構成され、図9に示すような動作が行われる。
すなわち、(S432)では、割り込み検出フラグ234、MMU例外検出フラグ135、アトミックオペレーション検出フラグ236、およびバスアクセス競合検出フラグ338がクリアされる。また、(S406)および(S437)では、上記割り込み検出フラグ234、MMU例外検出フラグ135、アトミックオペレーション検出フラグ236、およびバスアクセス競合検出フラグ338が、何れもクリアされたままである場合に、アトミック性が保証されていると判定され、処理結果のデータがメインメモリ3に書き込まれてアトミックオペレーションが完了する一方、何れかがセットされていれば、(S101)に戻って、再度、メインメモリ3からのデータの読み込みや処理(アトミックオペレーション)が繰り返される。
本発明にかかるプロセッサは、簡潔な構成で、しかも処理能力の大幅な低下を招くことなく、他のプロセッサの動作や割り込み処理に対するアトミック性を容易に確保できる効果を有し、割り込み処理や他のプロセッサの動作などに対して、アトミックオペレーションの実行が可能なプロセッサ等として有用である。
実施形態1のプロセッサシステムの構成を示すブロック図である。 同、メインメモリ制御部4の構成を示すブロック図である。 同、各部の動作を示すフローチャートである。 実施形態2のプロセッサシステムの構成を示すブロック図である。 同、各部の動作を示すフローチャートである。 実施形態3のプロセッサシステムの構成を示すブロック図である。 同、各部の動作を示すフローチャートである。 実施形態4のプロセッサシステムの構成を示すブロック図である。 同、各部の動作を示すフローチャートである。
符号の説明
1 プロセッサ
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)

  1. 排他制御された状態で、メモリにおける所定のアクセスアドレスから読み出しデータを読み出し、これに基づいて所定の処理が行われた処理結果データを上記アクセスアドレスに書き込む排他アクセスが行われるプロセッサであって、
    命令を実行し、上記所定の処理を行うCPUと、
    上記CPUからの指定されたアクセスアドレスを保持するアドレス保持手段と、
    上記読み出しデータ、および処理結果データを保持するデータ保持手段と、
    上記メモリにおける上記アクセスアドレスに対して、上記読み出しデータの読み出し、および処理結果データの書き込みを行うアクセス制御手段と、
    上記読み出しデータの読み出しから処理結果データの書き込みまでの間に、少なくとも割り込み、またはメモリ管理ユニット例外が検出されたことを示す排他性阻害情報を自動的に保持する状態情報保持手段と、
    を備え、
    上記アクセス制御手段は、上記データ保持手段に上記処理結果データが保持され、かつ、上記状態情報保持手段に排他性阻害情報が保持されている場合に、上記処理結果データの書き込みを停止し、
    上記CPUは、読み出し命令で排他性阻害情報を読み出すことにより排他性阻害情報の有無を判断し得るように構成されていることを特徴とするプロセッサ。
  2. 請求項1のプロセッサであって、
    上記アクセス制御手段は、CPUによりアドレス保持手段にアクセスアドレスが格納されるのに応じて読み出しデータの読み出しを行い、データ保持手段に処理結果データが格納されるのに応じて上記処理結果データの書き込みまたは書き込み停止を行うように構成されていることを特徴とするプロセッサ。
  3. 請求項1のプロセッサであって、
    上記アクセス制御手段は、割り込み、およびメモリ管理ユニット例外が何れも生じていない場合に、上記処理結果データの書き込みを行う一方、少なくとも何れかが生じていた場合に、書き込みを停止するように構成されていることを特徴とするプロセッサ。
  4. 請求項1のプロセッサであって、
    上記割り込みが生じたことを示す排他性阻害情報は、割り込み処理が行われた後に、割り込み前の処理に戻るための命令が実行されたことを示す情報であることを特徴とするプロセッサ。
  5. 請求項1のプロセッサであって、
    上記割り込みが生じたことを示す排他性阻害情報は、割り込みが発生したことを示す情報であるとともに、
    上記排他性阻害情報は、さらに、排他アクセスが行われたことを示す情報を含み、
    上記アクセス制御手段は、割り込みの発生、および排他アクセスが何れも生じていない場合に、上記処理結果データの書き込みを行う一方、少なくとも何れかが生じていた場合に、書き込みを停止するように構成されていることを特徴とするプロセッサ。
  6. 請求項1のプロセッサであって、
    さらに、上記アドレス保持手段に保持されたアクセスアドレスと、他のプロセッサによるアクセスアドレスとを比較する比較手段を備えるとともに、
    上記排他性阻害情報は、上記比較手段によってアドレスの一致が検出されたことを示す情報を含み、
    上記アクセス制御手段は、上記アドレスの一致が検出された場合に、上記処理結果データの書き込みを停止するように構成されていることを特徴とするプロセッサ。
  7. 請求項1のプロセッサであって、さらに、
    上記アドレス保持手段に保持されたアクセスアドレスと、他のプロセッサによるアクセスアドレスとを比較する比較手段と、
    上記比較手段によって上記アドレスの一致が検出された場合に、上記他のプロセッサによるアクセスを阻止する他プロセッサアクセス制御手段と、
    を備えたことを特徴とするプロセッサ。
JP2004241534A 2004-08-20 2004-08-20 プロセッサ Expired - Fee Related JP4370227B2 (ja)

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)

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
US20110208921A1 (en) Inverted default semantics for in-speculative-region memory accesses
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)
JP2013225208A (ja) 情報処理装置、情報処理方法、及びプログラム
JP5999216B2 (ja) データ処理装置
JP7403541B2 (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) マイクロプロセッサ

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