JPH09269933A - マルチプロセッサシステム - Google Patents
マルチプロセッサシステムInfo
- Publication number
- JPH09269933A JPH09269933A JP8078057A JP7805796A JPH09269933A JP H09269933 A JPH09269933 A JP H09269933A JP 8078057 A JP8078057 A JP 8078057A JP 7805796 A JP7805796 A JP 7805796A JP H09269933 A JPH09269933 A JP H09269933A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- information
- breakpoint
- cpus
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【課題】 マルチプロセッサシステムを構成する各CP
U間で、ハードウエアブレークポイントの設定の同期を
取れるようにする。 【解決手段】 バス6を介して接続されている複数のC
PU1のそれぞれに、全CPU1で情報を共有可能なグ
ローバルレジスタ3を組み込み、このグローバルレジス
タ3をグローバルブレークポイントレジスタ3aとして
使用することで、バススヌープ機能により、あるCPU
1のグローバルレジスタ3にブレークポイント情報が設
定されると、このブレークポイント情報が他のCPU1
のグローバルレジスタ3にも設定され、全CPU1で直
ちに有効となる。
U間で、ハードウエアブレークポイントの設定の同期を
取れるようにする。 【解決手段】 バス6を介して接続されている複数のC
PU1のそれぞれに、全CPU1で情報を共有可能なグ
ローバルレジスタ3を組み込み、このグローバルレジス
タ3をグローバルブレークポイントレジスタ3aとして
使用することで、バススヌープ機能により、あるCPU
1のグローバルレジスタ3にブレークポイント情報が設
定されると、このブレークポイント情報が他のCPU1
のグローバルレジスタ3にも設定され、全CPU1で直
ちに有効となる。
Description
【0001】
【発明の属する技術分野】本発明は、マルチプロセッサ
システムに関するもので、特に、プロセッサ間でのハー
ドウエアブレークポイントの設定方式に関するものであ
る。
システムに関するもので、特に、プロセッサ間でのハー
ドウエアブレークポイントの設定方式に関するものであ
る。
【0002】
【従来の技術】従来、マルチプロセッサシステムにおけ
るハードウエアブレークポイントの設定は、各CPU毎
に別々に実行する必要があった。例えば、各CPU毎に
モニタツールを起動して、ハードウエアブレークポイン
トを設定する方式や、初めにブレークポイントの設定を
行ったCPUから他のCPUに対してプロセッサ間通信
等の手段を使い、ブレークポイントの設定を通知する方
式のいずれかで行われていた。
るハードウエアブレークポイントの設定は、各CPU毎
に別々に実行する必要があった。例えば、各CPU毎に
モニタツールを起動して、ハードウエアブレークポイン
トを設定する方式や、初めにブレークポイントの設定を
行ったCPUから他のCPUに対してプロセッサ間通信
等の手段を使い、ブレークポイントの設定を通知する方
式のいずれかで行われていた。
【0003】
【発明が解決しようとする課題】しかしながら、上述し
た従来のブレークポイントの設定方式では、1番目のC
PUのブレークポイントの設定から、他の全てのCPU
のブレークポイントの設定が完了するまでの間にタイム
ラグが発生するため、クリティカルなタイミングでのブ
レークポイントの設定ができないという問題があった。
た従来のブレークポイントの設定方式では、1番目のC
PUのブレークポイントの設定から、他の全てのCPU
のブレークポイントの設定が完了するまでの間にタイム
ラグが発生するため、クリティカルなタイミングでのブ
レークポイントの設定ができないという問題があった。
【0004】例えば、プロセッサ間通信を用いた場合、
受信側のCPUで割り込みマスク等を設定している場合
は、この割り込みが終了するまでブレークポイント設定
の通知は行えず、結果として、ブレークポイントの設定
の同期を取ることができないものであった。
受信側のCPUで割り込みマスク等を設定している場合
は、この割り込みが終了するまでブレークポイント設定
の通知は行えず、結果として、ブレークポイントの設定
の同期を取ることができないものであった。
【0005】
【課題を解決するための手段】上述した課題を解決する
ため、本発明は、バスを介して接続されている複数のC
PUのそれぞれに、全CPUで情報を共有可能なグロー
バルレジスタを組み込み、このグローバルレジスタをブ
レークポイントレジスタとして使用することで、バスス
ヌープ機能により、ある1つのCPUのグローバルレジ
スタに設定したブレークポイント情報をバス上に送信
し、他のCPUはこのブレークポイント情報を取り込ん
で自身のグローバルレジスタに設定して、このブレーク
ポイント情報を各CPUで直ちに有効とするものであ
る。
ため、本発明は、バスを介して接続されている複数のC
PUのそれぞれに、全CPUで情報を共有可能なグロー
バルレジスタを組み込み、このグローバルレジスタをブ
レークポイントレジスタとして使用することで、バスス
ヌープ機能により、ある1つのCPUのグローバルレジ
スタに設定したブレークポイント情報をバス上に送信
し、他のCPUはこのブレークポイント情報を取り込ん
で自身のグローバルレジスタに設定して、このブレーク
ポイント情報を各CPUで直ちに有効とするものであ
る。
【0006】
【発明の実施の形態】図1は本発明のマルチプロセッサ
システムの実施の形態の一例を示すブロック図である。
図において、1はマルチプロセッサシステムを構成する
CPUで、n個のCPU1を備えている。
システムの実施の形態の一例を示すブロック図である。
図において、1はマルチプロセッサシステムを構成する
CPUで、n個のCPU1を備えている。
【0007】各CPU1は、ローカルレジスタ群2、グ
ローバルレジスタ群3、1次キャッシュ4、TLB(ア
ドレス変換キャッシュ)5等を備えている。ここで、各
CPU1に搭載されるグローバルレジスタ群3は、全C
PU1から参照および更新が可能なもので、汎用レジス
タとGBR(グローバルブレークポイントレジスタ)3
a等の特定の目的を持つ専用レジスタから構成され、こ
の各専用レジスタの機能は、全CPU1で有効なもの
で、ある1つのCPU1がグローバルレジスタ3に設定
した情報は、スヌープ機能により直ちに他の全CPU1
に反映され、有効になる。
ローバルレジスタ群3、1次キャッシュ4、TLB(ア
ドレス変換キャッシュ)5等を備えている。ここで、各
CPU1に搭載されるグローバルレジスタ群3は、全C
PU1から参照および更新が可能なもので、汎用レジス
タとGBR(グローバルブレークポイントレジスタ)3
a等の特定の目的を持つ専用レジスタから構成され、こ
の各専用レジスタの機能は、全CPU1で有効なもの
で、ある1つのCPU1がグローバルレジスタ3に設定
した情報は、スヌープ機能により直ちに他の全CPU1
に反映され、有効になる。
【0008】また、GBR3aは、各CPU1のハード
ウエアブレークポイントの情報が設定されるものであ
る。さらに、バス6上には、各CPU1との間に2次キ
ャッシュ7があり、バス6上の共用メモリ8は、各CP
U1からアクセス可能な密結合方式のマルチプロセッサ
システムとなっている。
ウエアブレークポイントの情報が設定されるものであ
る。さらに、バス6上には、各CPU1との間に2次キ
ャッシュ7があり、バス6上の共用メモリ8は、各CP
U1からアクセス可能な密結合方式のマルチプロセッサ
システムとなっている。
【0009】次に、上記構成におけるハードウエアブレ
ークポイントの設定方式を説明する。各CPU1が共用
メモリ8にアクセスする場合のハードウエアブレークポ
イントの設定は、従来、各CPU1固有のローカルレジ
スタ群2をブレークポイントレジスタとして使用し、こ
こにブレークポイントの情報を各CPU1毎に設定する
ものであった。
ークポイントの設定方式を説明する。各CPU1が共用
メモリ8にアクセスする場合のハードウエアブレークポ
イントの設定は、従来、各CPU1固有のローカルレジ
スタ群2をブレークポイントレジスタとして使用し、こ
こにブレークポイントの情報を各CPU1毎に設定する
ものであった。
【0010】本実施の形態では、各CPU1の内部にグ
ローバルレジスタ群3を組み込み、全てのCPU1間で
共通の情報を参照できるようにする、さらに、グローバ
ルレジスタ群3をGBR3aとして使用することで、全
CPU1で共通のブレークポイントレジスタを実現す
る。ここで、各CPU1毎のGBR3aの同期は、キャ
ッシュの一貫性維持のためのスヌープ機能を用いて行
う。
ローバルレジスタ群3を組み込み、全てのCPU1間で
共通の情報を参照できるようにする、さらに、グローバ
ルレジスタ群3をGBR3aとして使用することで、全
CPU1で共通のブレークポイントレジスタを実現す
る。ここで、各CPU1毎のGBR3aの同期は、キャ
ッシュの一貫性維持のためのスヌープ機能を用いて行
う。
【0011】図2は本実施の形態のマルチプロセッサシ
ステムにおけるハードウエアブレークポイント設定方式
の動作を示すブロック図である。あるCPU1#iが、
ブレークポイントを設定するために、自CPUのGBR
3aにブレークポイント情報を設定する。この設定情報
は、キャッシュの一貫性維持のためのバススヌープ機能
を介してバス6上に送信され、他のCPU1は、この情
報を取り込んで各CPU1のGBR3aを設定する。
ステムにおけるハードウエアブレークポイント設定方式
の動作を示すブロック図である。あるCPU1#iが、
ブレークポイントを設定するために、自CPUのGBR
3aにブレークポイント情報を設定する。この設定情報
は、キャッシュの一貫性維持のためのバススヌープ機能
を介してバス6上に送信され、他のCPU1は、この情
報を取り込んで各CPU1のGBR3aを設定する。
【0012】そして、更新されたGBR3aの内容は、
各CPU1上で直ちに有効となり、全てのCPU1での
ブレークポイント設定の同期が可能である。以上説明し
たように、本実施の形態のマルチプロセッサシステムに
おけるハードウエアブレークポイント設定方式では、あ
る一つのCPU1上でGBR3aにブレークポイントの
情報を設定すると、通常のメモリアクセスと同じクロッ
ク数で全てのCPU1のGBR3aにブレークポイント
の情報が設定されるため、他のCPU1で割り込みマス
ク等が行われていても、ブレークポイント設定のタイミ
ングに遅れが発生せず、各CPU1間のハードウエアブ
レークポイントの設定の同期が可能となる。
各CPU1上で直ちに有効となり、全てのCPU1での
ブレークポイント設定の同期が可能である。以上説明し
たように、本実施の形態のマルチプロセッサシステムに
おけるハードウエアブレークポイント設定方式では、あ
る一つのCPU1上でGBR3aにブレークポイントの
情報を設定すると、通常のメモリアクセスと同じクロッ
ク数で全てのCPU1のGBR3aにブレークポイント
の情報が設定されるため、他のCPU1で割り込みマス
ク等が行われていても、ブレークポイント設定のタイミ
ングに遅れが発生せず、各CPU1間のハードウエアブ
レークポイントの設定の同期が可能となる。
【0013】具体的には、共用メモリ上の命令やデータ
等を使用して各CPUが同時に実行される密結合型のマ
ルチスレッドオペレーティングシステムでは、共用メモ
リ上のデータに対する各CPUのアクセスが非同期に発
生するため、ブレークポイントの設定時は、全CPUの
ブレークポイントを同期を取って同一の値に設定する必
要があるが、従来は、同期をとることができないため
に、クリティカルなタイミングでの設定が行えず、オペ
レーティングシステムの障害解析や性能分析等において
十分な結果が得られない場合があった。これに対して、
本実施の形態のマルチプロセッサシステムでは、全CP
Uのブレークポイントの同期が可能となったので、密結
合型のマルチスレッドオペレーティングシステムにおけ
る障害解析や性能分析等の機能向上が可能となる。
等を使用して各CPUが同時に実行される密結合型のマ
ルチスレッドオペレーティングシステムでは、共用メモ
リ上のデータに対する各CPUのアクセスが非同期に発
生するため、ブレークポイントの設定時は、全CPUの
ブレークポイントを同期を取って同一の値に設定する必
要があるが、従来は、同期をとることができないため
に、クリティカルなタイミングでの設定が行えず、オペ
レーティングシステムの障害解析や性能分析等において
十分な結果が得られない場合があった。これに対して、
本実施の形態のマルチプロセッサシステムでは、全CP
Uのブレークポイントの同期が可能となったので、密結
合型のマルチスレッドオペレーティングシステムにおけ
る障害解析や性能分析等の機能向上が可能となる。
【0014】また、共用メモリ8を介さなくても各CP
U1間で情報の受渡しが可能であるので、各CPU1の
レジスタへの情報設定において、情報通知のためのプロ
セッサ間通信等のソフトウエアアルゴリズムを必要とせ
ず、あるCPU1のレジスタから別のあるCPU1のレ
ジスタへと直接情報の受渡しが可能で、ソフトウエアの
オーバヘッドが減少する。
U1間で情報の受渡しが可能であるので、各CPU1の
レジスタへの情報設定において、情報通知のためのプロ
セッサ間通信等のソフトウエアアルゴリズムを必要とせ
ず、あるCPU1のレジスタから別のあるCPU1のレ
ジスタへと直接情報の受渡しが可能で、ソフトウエアの
オーバヘッドが減少する。
【0015】ここで、図1および図2では、グローバル
レジスタ3をGBR3aとして使用することで、ブレー
クポイントの設定を同期を取って行えるものであった
が、あるCPU1のグローバルレジスタ3は全CPU1
から参照および更新が可能なもので、このグローバルレ
ジスタ3の中の専用レジスタの機能は、全CPU1で有
効なものであり、ある1つのCPU1がグローバルレジ
スタ3に設定した情報は、直ちに全CPUに反映され、
有効となるので、ブレークポイント以外の情報であって
も、グローバルレジスタ3を使用することで、あるCP
U1に設定した情報を他のCPU1にも設定可能であ
る。
レジスタ3をGBR3aとして使用することで、ブレー
クポイントの設定を同期を取って行えるものであった
が、あるCPU1のグローバルレジスタ3は全CPU1
から参照および更新が可能なもので、このグローバルレ
ジスタ3の中の専用レジスタの機能は、全CPU1で有
効なものであり、ある1つのCPU1がグローバルレジ
スタ3に設定した情報は、直ちに全CPUに反映され、
有効となるので、ブレークポイント以外の情報であって
も、グローバルレジスタ3を使用することで、あるCP
U1に設定した情報を他のCPU1にも設定可能であ
る。
【0016】すなわち、ある1つのCPU1が自CPU
1内のグローバルレジスタ3に情報を設定すると、この
設定情報は、バススヌープ機能を介してバス6上に送信
され、他のCPU1はこの情報を取り込んで各CPU1
のグローバルレジスタ3を設定する。そして、この設定
された情報は各CPU1で直ちに有効になる。例えば、
グローバルレジスタ3をTLB等として使用すれば、プ
ロセススイッチ時の論理アドレスの切り替えおよびTL
Bエントリの無効化を効率的に行うことが可能である。
1内のグローバルレジスタ3に情報を設定すると、この
設定情報は、バススヌープ機能を介してバス6上に送信
され、他のCPU1はこの情報を取り込んで各CPU1
のグローバルレジスタ3を設定する。そして、この設定
された情報は各CPU1で直ちに有効になる。例えば、
グローバルレジスタ3をTLB等として使用すれば、プ
ロセススイッチ時の論理アドレスの切り替えおよびTL
Bエントリの無効化を効率的に行うことが可能である。
【0017】このように、ブレークポイントの情報以外
でも、共用メモリ8を介さず各CPU1間で情報の受渡
しが可能であるので、各CPU1のレジスタへの情報設
定において、情報通知のためのプロセッサ間通信等のソ
フトウエアアルゴリズムを必要とせず、あるCPU1の
レジスタから別のあるCPU1のレジスタへと直接情報
の受渡しが可能で、ソフトウエアのオーバヘッドが減少
する。
でも、共用メモリ8を介さず各CPU1間で情報の受渡
しが可能であるので、各CPU1のレジスタへの情報設
定において、情報通知のためのプロセッサ間通信等のソ
フトウエアアルゴリズムを必要とせず、あるCPU1の
レジスタから別のあるCPU1のレジスタへと直接情報
の受渡しが可能で、ソフトウエアのオーバヘッドが減少
する。
【0018】
【発明の効果】以上説明したように、本発明は、バスを
介して接続されている複数のCPUのそれぞれに、全C
PUで情報を共有可能なグローバルレジスタを組み込
み、このグローバルレジスタをブレークポイントレジス
タとして使用することで、バススヌープ機能により、あ
る1つのCPUのグローバルレジスタに設定したブレー
クポイント情報が他のCPUのグローバルレジスタに設
定され、このブレークポイント情報が各CPUで直ちに
有効となるものである。
介して接続されている複数のCPUのそれぞれに、全C
PUで情報を共有可能なグローバルレジスタを組み込
み、このグローバルレジスタをブレークポイントレジス
タとして使用することで、バススヌープ機能により、あ
る1つのCPUのグローバルレジスタに設定したブレー
クポイント情報が他のCPUのグローバルレジスタに設
定され、このブレークポイント情報が各CPUで直ちに
有効となるものである。
【0019】これにより、各CPU間のハードウエアブ
レークポイントの設定の同期が可能となる。
レークポイントの設定の同期が可能となる。
【図1】本発明のマルチプロセッサシステムの実施の形
態の一例を示すブロック図
態の一例を示すブロック図
【図2】本実施の形態のマルチプロセッサシステムにお
けるハードウエアブレークポイント設定方式の動作を示
すブロック図
けるハードウエアブレークポイント設定方式の動作を示
すブロック図
1 CPU 3 グローバルレジスタ 3a GBR
Claims (2)
- 【請求項1】 バスを介して接続されている複数のCP
Uのそれぞれに、全CPUで情報を共有可能なグローバ
ルレジスタを組み込み、 バススヌープ機能により、ある1つのCPUのグローバ
ルレジスタに設定した情報をバス上に送信し、他のCP
Uはこの設定情報を取り込んで自身のグローバルレジス
タに情報を設定し、この設定情報は各CPUで直ちに有
効となることを特徴とするマルチプロセッサシステム。 - 【請求項2】 請求項1記載のマルチプロセッサシステ
ムにおいて、 前記グローバルレジスタをブレークポイントレジスタと
して使用し、 バススヌープ機能により、ある1つのCPUのグローバ
ルレジスタに設定したブレークポイント情報を他のCP
Uに設定させることを特徴とするマルチプロセッサシス
テム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8078057A JPH09269933A (ja) | 1996-04-01 | 1996-04-01 | マルチプロセッサシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8078057A JPH09269933A (ja) | 1996-04-01 | 1996-04-01 | マルチプロセッサシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09269933A true JPH09269933A (ja) | 1997-10-14 |
Family
ID=13651233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8078057A Pending JPH09269933A (ja) | 1996-04-01 | 1996-04-01 | マルチプロセッサシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09269933A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008210107A (ja) * | 2007-02-26 | 2008-09-11 | Fujitsu Ltd | シミュレーション方法及びシミュレーション装置 |
CN109240721A (zh) * | 2018-08-24 | 2019-01-18 | 江苏恒宝智能系统技术有限公司 | 一种mcu在线升级的方法 |
-
1996
- 1996-04-01 JP JP8078057A patent/JPH09269933A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008210107A (ja) * | 2007-02-26 | 2008-09-11 | Fujitsu Ltd | シミュレーション方法及びシミュレーション装置 |
CN109240721A (zh) * | 2018-08-24 | 2019-01-18 | 江苏恒宝智能系统技术有限公司 | 一种mcu在线升级的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7047320B2 (en) | Data processing system providing hardware acceleration of input/output (I/O) communication | |
US5802585A (en) | Batched checking of shared memory accesses | |
JP3927556B2 (ja) | マルチプロセッサ・データ処理システム、変換索引バッファ無効化インストラクション(tlbi)のハンドリングを行うための方法、およびプロセッサ | |
US20040139305A1 (en) | Hardware-enabled instruction tracing | |
US7178062B1 (en) | Methods and apparatus for executing code while avoiding interference | |
US6065101A (en) | Pipelined snooping of multiple L1 cache lines | |
US6976148B2 (en) | Acceleration of input/output (I/O) communication through improved address translation | |
EP0514024A2 (en) | Method and apparatus for an improved memory architecture | |
US5748937A (en) | Computer system that maintains processor ordering consistency by snooping an external bus for conflicts during out of order execution of memory access instructions | |
KR940002340B1 (ko) | 다중 운영 체제 컴퓨터 장치 | |
JPH0354660A (ja) | マルチプロセッサシステムにおける共有メモリ管理方式 | |
US5765195A (en) | Method for distributing interprocessor interrupt requests via cache memory coherency mechanisms | |
CN113900968B (zh) | 多副本非原子写的存储序同步操作实现方法与实现装置 | |
US6647468B1 (en) | Method and system for optimizing translation buffer recovery after a miss operation within a multi-processor environment | |
JPH0564825B2 (ja) | ||
US7783842B2 (en) | Cache coherent I/O communication | |
JPH09269933A (ja) | マルチプロセッサシステム | |
US5781925A (en) | Method of preventing cache corruption during microprocessor pipelined burst operations | |
Terasawa et al. | A cache coherency protocol for multiprocessor chip | |
GB2206714A (en) | Multiprocessing architecture | |
JPH0478908A (ja) | クロック制御装置 | |
Chaudhry et al. | A case for the multithreaded processor architecture | |
JPH0769825B2 (ja) | 並列処理装置 | |
JP2845754B2 (ja) | マルチプロセッサシステム | |
JPH076049A (ja) | 多重プロセッサにおける割込み同期化方式 |