JPH10149285A - 命令実行制御方法および情報処理装置 - Google Patents
命令実行制御方法および情報処理装置Info
- Publication number
- JPH10149285A JPH10149285A JP8306209A JP30620996A JPH10149285A JP H10149285 A JPH10149285 A JP H10149285A JP 8306209 A JP8306209 A JP 8306209A JP 30620996 A JP30620996 A JP 30620996A JP H10149285 A JPH10149285 A JP H10149285A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- execution
- unit
- wait
- synchronization
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】
【課題】 主記憶装置を共有する複数の処理装置間にお
ける同期操作を高速に行う。 【解決手段】 処理装置1の命令実行制御部10が、同
期完了指示を監視するウエイト命令を実行すると、後続
のロード命令の実行を抑止し、命令実行部11に対して
他の命令(演算、分岐など)を実行させる。通信制御部
12が、通信手段5を介して処理装置2から同期完了指
示を受信すると、命令実行制御部10はウエイト命令の
実行を終了させ、命令実行部11に対して、待機させて
いたロード命令を実行させる。
ける同期操作を高速に行う。 【解決手段】 処理装置1の命令実行制御部10が、同
期完了指示を監視するウエイト命令を実行すると、後続
のロード命令の実行を抑止し、命令実行部11に対して
他の命令(演算、分岐など)を実行させる。通信制御部
12が、通信手段5を介して処理装置2から同期完了指
示を受信すると、命令実行制御部10はウエイト命令の
実行を終了させ、命令実行部11に対して、待機させて
いたロード命令を実行させる。
Description
【0001】
【発明の属する技術分野】本発明は、複数の処理装置か
らなる計算機システムにおいて、各処理装置が連動して
処理を実行するための同期操作を行う場合に、処理装置
間の同期完了指示を監視し、同期完了指示が行われるま
で後続の命令群の中で特定の命令を選択的に待機させる
命令実行の制御を行う命令実行制御方法および情報処理
装置に関する。
らなる計算機システムにおいて、各処理装置が連動して
処理を実行するための同期操作を行う場合に、処理装置
間の同期完了指示を監視し、同期完了指示が行われるま
で後続の命令群の中で特定の命令を選択的に待機させる
命令実行の制御を行う命令実行制御方法および情報処理
装置に関する。
【0002】
【従来の技術】従来、複数の処理装置が連動して処理を
行う場合の処理装置間の同期操作は、図14に示すよう
に同期指示元処理装置の命令列と被同期処理装置の命令
列により行われている。
行う場合の処理装置間の同期操作は、図14に示すよう
に同期指示元処理装置の命令列と被同期処理装置の命令
列により行われている。
【0003】すなわち、同期指示元処理装置は、命令1
のST(ストア命令)により演算前処理あるいは演算処
理結果を主記憶装置に出力し、命令2のSYNC(シン
ク命令)で命令1のストアが他処理装置から見て完全に
終了したことを保証した後、被同期処理装置に対して処
理装置間の通信手段あるいは主記憶装置に代表されるよ
うな共有領域を介して命令3のST(ストア命令)で同
期指示を行う。
のST(ストア命令)により演算前処理あるいは演算処
理結果を主記憶装置に出力し、命令2のSYNC(シン
ク命令)で命令1のストアが他処理装置から見て完全に
終了したことを保証した後、被同期処理装置に対して処
理装置間の通信手段あるいは主記憶装置に代表されるよ
うな共有領域を介して命令3のST(ストア命令)で同
期指示を行う。
【0004】一方、被同期処理装置は、命令4のLD
(ロード命令)で処理装置間の通信手段あるいは主記憶
装置に代表されるような共有領域を読み込み、同期指示
元処理装置からの同期完了の指示が行われるまで、命令
5のBC(条件付き分岐命令)により、上記命令4のロ
ード命令を繰り返し、共有領域の監視を続けることによ
り待ち合わせを行う。そして、同期完了の指示が行われ
ると、監視のための命令4のロード命令と命令5の条件
付き分岐命令のスピンループを抜けて、後続の処理を実
行する。
(ロード命令)で処理装置間の通信手段あるいは主記憶
装置に代表されるような共有領域を読み込み、同期指示
元処理装置からの同期完了の指示が行われるまで、命令
5のBC(条件付き分岐命令)により、上記命令4のロ
ード命令を繰り返し、共有領域の監視を続けることによ
り待ち合わせを行う。そして、同期完了の指示が行われ
ると、監視のための命令4のロード命令と命令5の条件
付き分岐命令のスピンループを抜けて、後続の処理を実
行する。
【0005】上記したスピンループは、絶えず条件テス
トを繰返しながら待つものであるが、排他制御を行うた
めの同期操作においては、図15に示すように、命令1
のTS(テストアンドセット命令)と命令2のBC(条
件付き分岐命令)のスピンロックウエイトによって、排
他領域へのアクセス許可を示す同期完了指示の待ち合わ
せを行う、同期のための機構が採られている(例えば、
中澤喜三郎著「計算機アーキテクチャと構成方式」 朝
倉書店 1995年11月 pp383−391を参
照)。
トを繰返しながら待つものであるが、排他制御を行うた
めの同期操作においては、図15に示すように、命令1
のTS(テストアンドセット命令)と命令2のBC(条
件付き分岐命令)のスピンロックウエイトによって、排
他領域へのアクセス許可を示す同期完了指示の待ち合わ
せを行う、同期のための機構が採られている(例えば、
中澤喜三郎著「計算機アーキテクチャと構成方式」 朝
倉書店 1995年11月 pp383−391を参
照)。
【0006】すなわち、テストアンドセット命令は、主
記憶装置内のフラグ領域をテストし(即ち、値を読み込
み、評価する)、セットを行う(即ち、前記評価した値
が0であれば1を書き込む)。該テストアンドセット命
令は、命令実行の間、他処理装置からのフラグ領域への
アクセスを禁止するロック付き命令である。このよう
に、スピンループ方式、スピンロックウエイト方式で
は、いずれも同期完了指示の待ち合わせは、監視のため
のロード系命令と同期完了指示が行われるまで該ロード
系命令を繰り返す分岐命令によって行われている。
記憶装置内のフラグ領域をテストし(即ち、値を読み込
み、評価する)、セットを行う(即ち、前記評価した値
が0であれば1を書き込む)。該テストアンドセット命
令は、命令実行の間、他処理装置からのフラグ領域への
アクセスを禁止するロック付き命令である。このよう
に、スピンループ方式、スピンロックウエイト方式で
は、いずれも同期完了指示の待ち合わせは、監視のため
のロード系命令と同期完了指示が行われるまで該ロード
系命令を繰り返す分岐命令によって行われている。
【0007】
【発明が解決しようとする課題】上記した従来の同期方
法では、同期完了指示が行われるまで、共有領域の監視
のためのロード系命令と繰り返しのための分岐命令以後
のプログラム中の全ての後続命令群が実行されないこと
になる。
法では、同期完了指示が行われるまで、共有領域の監視
のためのロード系命令と繰り返しのための分岐命令以後
のプログラム中の全ての後続命令群が実行されないこと
になる。
【0008】しかし、本来、被同期処理装置において、
同期完了指示を受けるまで待機する必要がある命令は、
例えば、同期指示元処理装置が演算前処理あるいは演算
処理結果をストア命令により主記憶装置の内容を更新す
る場合に、この更新前に、誤って先行して主記憶装置か
ら被同期処理装置のレジスタあるいはキャッシュ記憶部
へ更新前を読み込む可能性を持つロード命令のみであ
り、このロード命令以外の演算命令や分岐命令などは、
必要のない待機を強いられることになる。
同期完了指示を受けるまで待機する必要がある命令は、
例えば、同期指示元処理装置が演算前処理あるいは演算
処理結果をストア命令により主記憶装置の内容を更新す
る場合に、この更新前に、誤って先行して主記憶装置か
ら被同期処理装置のレジスタあるいはキャッシュ記憶部
へ更新前を読み込む可能性を持つロード命令のみであ
り、このロード命令以外の演算命令や分岐命令などは、
必要のない待機を強いられることになる。
【0009】言い換えれば、同期完了指示を受けたとき
には、本来、プログラムで指示される命令順序とは関係
なく先行して実行されているべき演算命令や分岐命令な
どについても、実行しなければならず、この結果、同期
操作における実行性能が低下するという問題があった。
には、本来、プログラムで指示される命令順序とは関係
なく先行して実行されているべき演算命令や分岐命令な
どについても、実行しなければならず、この結果、同期
操作における実行性能が低下するという問題があった。
【0010】本発明の目的は、主記憶装置を共有する複
数の処理装置間における同期操作を高速に行う命令実行
制御方法および情報処理装置を提供することにある。
数の処理装置間における同期操作を高速に行う命令実行
制御方法および情報処理装置を提供することにある。
【0011】
【課題を解決するための手段】前記目的を達成するため
に、本発明の命令実行制御方法では、処理装置間の同期
制御を行うための同期完了指示を監視するウエイト命令
を設け、該ウエイト命令は、同期完了指示が行われるま
で後続の命令群の中で選択的にロード命令のみを待機さ
せ、その他の命令は待機させることなく実行することを
特徴としている。また、処理装置内の命令実行順序を制
御する命令実行制御部に、前記ウエイト命令を実行する
ウエイト命令制御部を設け、該ウエイト命令制御部で
は、前記ウエイト命令の動作を制御するためにウエイト
命令実行中であることを記憶するレジスタを設け、ウエ
イト命令が実行中のとき、ロード命令の実行を抑止する
制御信号を生成する手段を設けることを特徴としてい
る。
に、本発明の命令実行制御方法では、処理装置間の同期
制御を行うための同期完了指示を監視するウエイト命令
を設け、該ウエイト命令は、同期完了指示が行われるま
で後続の命令群の中で選択的にロード命令のみを待機さ
せ、その他の命令は待機させることなく実行することを
特徴としている。また、処理装置内の命令実行順序を制
御する命令実行制御部に、前記ウエイト命令を実行する
ウエイト命令制御部を設け、該ウエイト命令制御部で
は、前記ウエイト命令の動作を制御するためにウエイト
命令実行中であることを記憶するレジスタを設け、ウエ
イト命令が実行中のとき、ロード命令の実行を抑止する
制御信号を生成する手段を設けることを特徴としてい
る。
【0012】
【発明の実施の形態】以下、本発明の一実施例を図面を
用いて具体的に説明する。 〈実施例1〉図1は、本発明の実施例を構成する情報処
理装置のシステム構成図である。本実施例の情報処理装
置は、複数の処理装置(IP)1、2と、主記憶制御装
置(SC)3と、主記憶装置(MS)4と、サービス装
置(SVP)6およびコンソール装置(CD)7から構
成されている。IP1、2は、本情報処理装置の中心と
なる装置である。IP1、2は、プログラムで与えられ
る処理を分担し、各々連動しながら演算命令やMSアク
セス命令などの命令を実行する。
用いて具体的に説明する。 〈実施例1〉図1は、本発明の実施例を構成する情報処
理装置のシステム構成図である。本実施例の情報処理装
置は、複数の処理装置(IP)1、2と、主記憶制御装
置(SC)3と、主記憶装置(MS)4と、サービス装
置(SVP)6およびコンソール装置(CD)7から構
成されている。IP1、2は、本情報処理装置の中心と
なる装置である。IP1、2は、プログラムで与えられ
る処理を分担し、各々連動しながら演算命令やMSアク
セス命令などの命令を実行する。
【0013】IP1,2のMS4に対するアクセスは、
インターフェース信号20、21によりSC3にリクエ
ストが発行される。SC3は、IP1,2からのリクエ
ストについてプライオリティを付け、MS4に対してイ
ンターフェース信号22によってリクエストを発行す
る。MS4は、プログラムおよびプログラムで使用する
データを記憶する装置である。
インターフェース信号20、21によりSC3にリクエ
ストが発行される。SC3は、IP1,2からのリクエ
ストについてプライオリティを付け、MS4に対してイ
ンターフェース信号22によってリクエストを発行す
る。MS4は、プログラムおよびプログラムで使用する
データを記憶する装置である。
【0014】SVP6は、本情報処理装置のデバッグや
ブート時の制御を行う装置である。SVP6は、インタ
ーフェース信号23、24によって外部からIP1、I
P2の内部状態を識別し、また強制的に状態を変化させ
ることができる。CD7は、SVP6を操作するための
装置であり、キーボードおよびディスプレイから構成さ
れる。CD7は、インターフェース信号25によってS
VP6に接続される。
ブート時の制御を行う装置である。SVP6は、インタ
ーフェース信号23、24によって外部からIP1、I
P2の内部状態を識別し、また強制的に状態を変化させ
ることができる。CD7は、SVP6を操作するための
装置であり、キーボードおよびディスプレイから構成さ
れる。CD7は、インターフェース信号25によってS
VP6に接続される。
【0015】IP1とIP2との間には、各IPが連動
して処理を行うための同期操作を行う際に、処理装置間
の同期完了指示を高速に行うための通信手段5が接続さ
れている。
して処理を行うための同期操作を行う際に、処理装置間
の同期完了指示を高速に行うための通信手段5が接続さ
れている。
【0016】次に、IP1の内部構成について説明す
る。IP1は、命令実行制御部10、命令実行部11、
通信制御部12およびキャッシュ記憶部13から構成さ
れる。キャッシュ記憶部13はMS4の内容の一部を記
憶するIP内に設けられた高速な記憶装置である。IP
が命令を実行するときは、SC3を経由しMS4にアク
セスし、MS4からキャッシュ記憶部13に命令および
データを取り込む。命令実行制御部10は、まず、イン
ターフェース信号15を介してキャッシュ記憶部13か
ら命令を読み込み、次いで命令を解析し、命令実行部1
1が実行可能になると、インターフェース信号17を介
して命令実行部11に命令を発行する。
る。IP1は、命令実行制御部10、命令実行部11、
通信制御部12およびキャッシュ記憶部13から構成さ
れる。キャッシュ記憶部13はMS4の内容の一部を記
憶するIP内に設けられた高速な記憶装置である。IP
が命令を実行するときは、SC3を経由しMS4にアク
セスし、MS4からキャッシュ記憶部13に命令および
データを取り込む。命令実行制御部10は、まず、イン
ターフェース信号15を介してキャッシュ記憶部13か
ら命令を読み込み、次いで命令を解析し、命令実行部1
1が実行可能になると、インターフェース信号17を介
して命令実行部11に命令を発行する。
【0017】また、命令実行制御部10は、本発明のウ
エイト命令の制御を行う。このウエイト命令の制御につ
いては後述する。命令実行部11は、命令実行制御部1
0から発行された命令を実行する。通信制御部12は、
各IPが連動して処理を行うために、処理装置間の通信
手段5を介して行われる同期指示の通信を制御するもの
であり、インターフェース信号18を介して命令実行部
11から同期指示を受ける。また、通信制御部12は、
インターフェース信号14を介して命令実行制御部10
に対して同期完了を報告する。IP2もIP1と同様に
構成されていて、IP2の通信制御部は、処理装置間の
通信手段5を介してIP1と同期指示の通信を行う。
エイト命令の制御を行う。このウエイト命令の制御につ
いては後述する。命令実行部11は、命令実行制御部1
0から発行された命令を実行する。通信制御部12は、
各IPが連動して処理を行うために、処理装置間の通信
手段5を介して行われる同期指示の通信を制御するもの
であり、インターフェース信号18を介して命令実行部
11から同期指示を受ける。また、通信制御部12は、
インターフェース信号14を介して命令実行制御部10
に対して同期完了を報告する。IP2もIP1と同様に
構成されていて、IP2の通信制御部は、処理装置間の
通信手段5を介してIP1と同期指示の通信を行う。
【0018】図2は、図1の主記憶制御装置の内部構成
を示す。SC3は、リクエスト制御部30、31、リク
エストキュー32、33およびリクエストプライオリテ
ィ34から構成される。リクエスト制御部30は、イン
ターフェース信号20を介して送られる処理装置1から
のリクエストを受け付け、インターフェース信号37を
介してリクエストキュー32にリクエストを送出する。
リクエストキュー32は、送られてきたリクエストを一
旦キューに積み、インターフェース信号39を介してリ
クエストプライオリティ34に送る。
を示す。SC3は、リクエスト制御部30、31、リク
エストキュー32、33およびリクエストプライオリテ
ィ34から構成される。リクエスト制御部30は、イン
ターフェース信号20を介して送られる処理装置1から
のリクエストを受け付け、インターフェース信号37を
介してリクエストキュー32にリクエストを送出する。
リクエストキュー32は、送られてきたリクエストを一
旦キューに積み、インターフェース信号39を介してリ
クエストプライオリティ34に送る。
【0019】同様に、リクエスト制御部31は、インタ
ーフェース信号21を介して送られる処理装置2からの
リクエストを受け付け、インターフェース信号38を介
してリクエストキュー33にリクエストを送出する。リ
クエストキュー33は、送られてきたリクエストを一旦
キューに積み、インターフェース信号40を介してリク
エストプライオリティ34に送る。リクエストプライオ
リティ34は、インターフェース信号39、インターフ
ェース信号40を介して送られる処理装置1、処理装置
2からのMSアクセスリクエストのプライオリティを決
め、何れか一方のリクエストを選択して、インターフェ
ース信号22を介してMSアクセスを行う。
ーフェース信号21を介して送られる処理装置2からの
リクエストを受け付け、インターフェース信号38を介
してリクエストキュー33にリクエストを送出する。リ
クエストキュー33は、送られてきたリクエストを一旦
キューに積み、インターフェース信号40を介してリク
エストプライオリティ34に送る。リクエストプライオ
リティ34は、インターフェース信号39、インターフ
ェース信号40を介して送られる処理装置1、処理装置
2からのMSアクセスリクエストのプライオリティを決
め、何れか一方のリクエストを選択して、インターフェ
ース信号22を介してMSアクセスを行う。
【0020】また、キャッシュコヒーレンスを保証する
ために、リクエスト制御部30は、インターフェース信
号36を介して処理装置2のリクエストを受け付ける。
そして、処理装置2がMS4を更新するストアリクエス
トを発行したとき、処理装置1内部のキャッシュを無効
化するリクエストをインターフェース信号20を介して
処理装置1に報告する。同様に、リクエスト制御部31
は、インターフェース信号35を介して処理装置1のリ
クエストを受け付ける。そして、処理装置1がMS4を
更新するストアリクエストを発行したとき、処理装置2
内部のキャッシュを無効化するリクエストをインターフ
ェース信号21を介して処理装置2に報告する。
ために、リクエスト制御部30は、インターフェース信
号36を介して処理装置2のリクエストを受け付ける。
そして、処理装置2がMS4を更新するストアリクエス
トを発行したとき、処理装置1内部のキャッシュを無効
化するリクエストをインターフェース信号20を介して
処理装置1に報告する。同様に、リクエスト制御部31
は、インターフェース信号35を介して処理装置1のリ
クエストを受け付ける。そして、処理装置1がMS4を
更新するストアリクエストを発行したとき、処理装置2
内部のキャッシュを無効化するリクエストをインターフ
ェース信号21を介して処理装置2に報告する。
【0021】図3は、命令実行制御部10の内部構成を
示す。命令実行制御部10は、ウエイト命令制御部10
0と、命令実行待ち部101と、命令解析部102から
構成される。命令解析部102は、インターフェース信
号15を介してキャッシュ記憶部13から命令を読み出
し、命令を解析する。読み出した命令がウエイト命令で
はない通常の命令である場合には、命令解析部102は
命令実行待ち部101に対してインターフェース信号1
03を介して命令を送出する。命令実行待ち部101で
は、送出された命令を一旦キューに積み、命令実行部1
1が実行可能になると、インターフェース信号17を介
して命令実行部11に命令を発行する。
示す。命令実行制御部10は、ウエイト命令制御部10
0と、命令実行待ち部101と、命令解析部102から
構成される。命令解析部102は、インターフェース信
号15を介してキャッシュ記憶部13から命令を読み出
し、命令を解析する。読み出した命令がウエイト命令で
はない通常の命令である場合には、命令解析部102は
命令実行待ち部101に対してインターフェース信号1
03を介して命令を送出する。命令実行待ち部101で
は、送出された命令を一旦キューに積み、命令実行部1
1が実行可能になると、インターフェース信号17を介
して命令実行部11に命令を発行する。
【0022】また、読み出した命令がウエイト命令であ
る場合には、インターフェース信号105を介してウエ
イト命令制御部100に対してウエイト命令を発行す
る。ウエイト命令制御部100は、本発明に係る命令実
行順序の制御を行うウエイト命令を実行する。ウエイト
命令制御部100はウエイト命令が実行中である間、イ
ンターフェース信号104を介して命令実行待ち部10
1に対し、ロード命令の実行を抑止する制御信号を送出
し続ける。
る場合には、インターフェース信号105を介してウエ
イト命令制御部100に対してウエイト命令を発行す
る。ウエイト命令制御部100は、本発明に係る命令実
行順序の制御を行うウエイト命令を実行する。ウエイト
命令制御部100はウエイト命令が実行中である間、イ
ンターフェース信号104を介して命令実行待ち部10
1に対し、ロード命令の実行を抑止する制御信号を送出
し続ける。
【0023】ウエイト命令は、通信制御部12からイン
ターフェース信号14を介して送られる同期完了の指示
が行われると命令の実行を終了し、インターフェース信
号104を介して命令実行待ち部101に対し送出して
いたロード命令の実行を抑止する制御信号の送出を終了
する。
ターフェース信号14を介して送られる同期完了の指示
が行われると命令の実行を終了し、インターフェース信
号104を介して命令実行待ち部101に対し送出して
いたロード命令の実行を抑止する制御信号の送出を終了
する。
【0024】図4は、命令実行部11の内部構成を示
す。命令実行部11は、命令分配部110と、ロードス
トア実行部111と、レジスタ群112および演算実行
部113から構成される。命令分配部110は、インタ
ーフェース信号17を介して命令実行待ち部101から
発行された命令を命令の種類を基に実行部111、11
3、通信制御部12に分配する。
す。命令実行部11は、命令分配部110と、ロードス
トア実行部111と、レジスタ群112および演算実行
部113から構成される。命令分配部110は、インタ
ーフェース信号17を介して命令実行待ち部101から
発行された命令を命令の種類を基に実行部111、11
3、通信制御部12に分配する。
【0025】すなわち、発行された命令がロードあるい
はストア命令である場合には、インターフェース信号1
14を介してロードストア実行部111に送る。発行さ
れた命令が演算命令である場合には、インターフェース
信号118を介して演算実行部113に送る。また、発
行された命令が処理装置間の通信を使用する同期指示を
与える命令である場合には、インターフェース信号18
を介して通信制御部12に送る。
はストア命令である場合には、インターフェース信号1
14を介してロードストア実行部111に送る。発行さ
れた命令が演算命令である場合には、インターフェース
信号118を介して演算実行部113に送る。また、発
行された命令が処理装置間の通信を使用する同期指示を
与える命令である場合には、インターフェース信号18
を介して通信制御部12に送る。
【0026】ロードストア実行部111は、ロード命令
の場合、インターフェース信号16を介してキャッシュ
記憶部13からデータを読み込み、インターフェース信
号115を介してレジスタ群112にデータを書き込
む。また、ストア命令の場合、インターフェース信号1
15を介してレジスタ群112からデータを読み込み、
インターフェース信号16を介してキャッシュ記憶部1
3にデータを書き込む。演算実行部113は、インター
フェース信号116を介してレジスタ群112からデー
タを読み込み、演算を行った結果をインターフェース信
号117を介してレジスタ群112に書き戻す。
の場合、インターフェース信号16を介してキャッシュ
記憶部13からデータを読み込み、インターフェース信
号115を介してレジスタ群112にデータを書き込
む。また、ストア命令の場合、インターフェース信号1
15を介してレジスタ群112からデータを読み込み、
インターフェース信号16を介してキャッシュ記憶部1
3にデータを書き込む。演算実行部113は、インター
フェース信号116を介してレジスタ群112からデー
タを読み込み、演算を行った結果をインターフェース信
号117を介してレジスタ群112に書き戻す。
【0027】図5は、通信制御部12の内部構成を示
す。通信制御部12は、同期完了指示報告部120と、
処理装置間通信制御部121および同期指示制御部12
2から構成される。同期指示制御部122は、インター
フェース信号18を介して命令実行部11から同期指示
を与える命令が送られると、インターフェース信号12
4を介して処理装置間通信制御部121に同期指示を与
える。
す。通信制御部12は、同期完了指示報告部120と、
処理装置間通信制御部121および同期指示制御部12
2から構成される。同期指示制御部122は、インター
フェース信号18を介して命令実行部11から同期指示
を与える命令が送られると、インターフェース信号12
4を介して処理装置間通信制御部121に同期指示を与
える。
【0028】処理装置間通信制御部121は、受信した
同期指示を、処理装置間の通信手段5を介して処理装置
2に伝える。また、処理装置間の通信手段5を介して送
られる同期指示は、インターフェース信号123を介し
て同期完了指示報告部120に同期完了指示として送出
する。同期完了指示報告部120は、受信した同期完了
指示を、インターフェース信号14を介して命令実行制
御部10に報告する。
同期指示を、処理装置間の通信手段5を介して処理装置
2に伝える。また、処理装置間の通信手段5を介して送
られる同期指示は、インターフェース信号123を介し
て同期完了指示報告部120に同期完了指示として送出
する。同期完了指示報告部120は、受信した同期完了
指示を、インターフェース信号14を介して命令実行制
御部10に報告する。
【0029】図6は、ウエイト命令制御部100の内部
構成を示す。ウエイト命令制御部100は、ウエイト状
態保持部1000と、抑止命令制御部1001と、OR
回路1002から構成される。ウエイト状態保持部10
00は、命令解析部102から発行されるウエイト命令
をウエイト状態セット信号線105を介して受信し、ウ
エイト命令実行中であることを記憶するレジスタであ
る。そして、ウエイト状態保持部1000は、抑止命令
制御部1001に対し、インターフェース信号1003
を介してウエイト命令の実行中であるか否かの状態を伝
える。
構成を示す。ウエイト命令制御部100は、ウエイト状
態保持部1000と、抑止命令制御部1001と、OR
回路1002から構成される。ウエイト状態保持部10
00は、命令解析部102から発行されるウエイト命令
をウエイト状態セット信号線105を介して受信し、ウ
エイト命令実行中であることを記憶するレジスタであ
る。そして、ウエイト状態保持部1000は、抑止命令
制御部1001に対し、インターフェース信号1003
を介してウエイト命令の実行中であるか否かの状態を伝
える。
【0030】ウエイト命令の実行状態は、外部識別信号
線24を介してSVP6からウエイト状態保持部100
0のレジスタ内容を読み込むことにより、IP外部から
識別することができる。
線24を介してSVP6からウエイト状態保持部100
0のレジスタ内容を読み込むことにより、IP外部から
識別することができる。
【0031】ウエイト命令の実行状態は、通信制御部1
2から同期完了指示が行われた場合に「真」となるウエ
イト状態リセット信号線14の値と、IP外部からウエ
イト命令の実行を強制的に終了させる際に「真」となる
SVP6からの外部強制リセット信号線23の値との論
理和の結果を出力する信号線1004の値が「真」とな
ったとき、ウエイト命令実行中であることを記憶するレ
ジスタをリセットし、ウエイト命令の実行を終了する。
2から同期完了指示が行われた場合に「真」となるウエ
イト状態リセット信号線14の値と、IP外部からウエ
イト命令の実行を強制的に終了させる際に「真」となる
SVP6からの外部強制リセット信号線23の値との論
理和の結果を出力する信号線1004の値が「真」とな
ったとき、ウエイト命令実行中であることを記憶するレ
ジスタをリセットし、ウエイト命令の実行を終了する。
【0032】抑止命令制御部1001は、インターフェ
ース信号1003を介してウエイト状態保持部1000
から送信される実行状態を基に、命令実行待ち部101
に対し抑止命令制御信号線104を介して、ロード命令
の制御信号を送信する。
ース信号1003を介してウエイト状態保持部1000
から送信される実行状態を基に、命令実行待ち部101
に対し抑止命令制御信号線104を介して、ロード命令
の制御信号を送信する。
【0033】図7は、命令実行待ち部101の内部構成
を示す。命令実行待ち部101は、命令キュー1010
と、デコーダ1011と、比較器1012と、命令送出
制御部1013と、OR回路1014から構成される。
命令解析部102から発行命令線103を介して発行さ
れた命令は、まず命令キュー1010に積まれる。デコ
ーダ1011は、ウエイト命令制御部100から抑止命
令制御信号線104を介して送られる制御信号を命令コ
ードにデコードし、その値はインターフェース信号線1
019を介して比較器1012の一方の入力となる。
を示す。命令実行待ち部101は、命令キュー1010
と、デコーダ1011と、比較器1012と、命令送出
制御部1013と、OR回路1014から構成される。
命令解析部102から発行命令線103を介して発行さ
れた命令は、まず命令キュー1010に積まれる。デコ
ーダ1011は、ウエイト命令制御部100から抑止命
令制御信号線104を介して送られる制御信号を命令コ
ードにデコードし、その値はインターフェース信号線1
019を介して比較器1012の一方の入力となる。
【0034】比較器1012の他方の入力は、インター
フェース1015を介して送られる命令キュー1010
から取り出した1つの命令コードの値である。比較器1
012は、デコーダ1011で命令コードにデコードし
た値と、命令キュー1010から取り出した命令コード
の値とを比較し、一致したとき「真」をインターフェー
ス1017に出力する。
フェース1015を介して送られる命令キュー1010
から取り出した1つの命令コードの値である。比較器1
012は、デコーダ1011で命令コードにデコードし
た値と、命令キュー1010から取り出した命令コード
の値とを比較し、一致したとき「真」をインターフェー
ス1017に出力する。
【0035】OR回路1014は、比較器1012の出
力結果であるインターフェース信号1017と、命令実
行部11が実行不可能である場合に「真」となる命令実
行部ビジー信号線1021の論理和をとる。命令送出制
御部1013は、インターフェース信号1016を介し
て命令キュー1010から入力される命令を、OR回路
1014の出力結果であるインターフェース1018が
「真」であれば、インターフェース信号1020を介し
て再び命令キュー1010に入力することにより積み直
し、「偽」であれば送出命令線17を介して命令実行部
11に命令を送出する。
力結果であるインターフェース信号1017と、命令実
行部11が実行不可能である場合に「真」となる命令実
行部ビジー信号線1021の論理和をとる。命令送出制
御部1013は、インターフェース信号1016を介し
て命令キュー1010から入力される命令を、OR回路
1014の出力結果であるインターフェース1018が
「真」であれば、インターフェース信号1020を介し
て再び命令キュー1010に入力することにより積み直
し、「偽」であれば送出命令線17を介して命令実行部
11に命令を送出する。
【0036】以下、同期操作を行う具体的なプログラム
の命令列を用いて、本発明のウエイト命令動作の概要を
説明する。図8は、上記した情報処理装置において、I
P1がIP2に対して処理の起動指示を行う場合に、同
期操作に関する同期指示元IP1の命令列と被同期IP
2の命令列を示す。
の命令列を用いて、本発明のウエイト命令動作の概要を
説明する。図8は、上記した情報処理装置において、I
P1がIP2に対して処理の起動指示を行う場合に、同
期操作に関する同期指示元IP1の命令列と被同期IP
2の命令列を示す。
【0037】すなわち、同期指示元IP1は、命令1の
ST(ストア命令)を実行して、演算前処理または演算
処理結果のデータをMS4に出力する。次いで、命令2
のSYNC(シンク命令)を実行し、IP2側のキャッ
シュをキャンセルし、MS4への書き込みを完了させ、
被同期IP2からMS4に対する書き込みの保証を行
う。最後に、命令3のST(ストア命令)を実行し、被
同期IP2に対して同期を指示する。
ST(ストア命令)を実行して、演算前処理または演算
処理結果のデータをMS4に出力する。次いで、命令2
のSYNC(シンク命令)を実行し、IP2側のキャッ
シュをキャンセルし、MS4への書き込みを完了させ、
被同期IP2からMS4に対する書き込みの保証を行
う。最後に、命令3のST(ストア命令)を実行し、被
同期IP2に対して同期を指示する。
【0038】一方、被同期IP2では、命令4のWAI
T(ウエイト命令)を実行することにより、同期完了指
示を監視する。そして、後続の命令5であるLD(ロー
ド命令)を待機させる。
T(ウエイト命令)を実行することにより、同期完了指
示を監視する。そして、後続の命令5であるLD(ロー
ド命令)を待機させる。
【0039】次いで、ウエイト命令によって待機されな
い命令6の演算命令と命令7の分岐命令を実行する。つ
まり、待機されている命令5を追い越して、ロード命令
5の結果を必要とする命令8までの命令を実行する。最
後に、同期完了の指示が行われた時点で、待機されたロ
ード命令5を実行し、同期指示元IP1がMS4にスト
アした演算前処理または演算結果のデータを読み込み、
命令5によって読み込まれたデータを用いる命令8が実
行される。
い命令6の演算命令と命令7の分岐命令を実行する。つ
まり、待機されている命令5を追い越して、ロード命令
5の結果を必要とする命令8までの命令を実行する。最
後に、同期完了の指示が行われた時点で、待機されたロ
ード命令5を実行し、同期指示元IP1がMS4にスト
アした演算前処理または演算結果のデータを読み込み、
命令5によって読み込まれたデータを用いる命令8が実
行される。
【0040】本発明に係る同期操作が高速に行われる点
を、従来技術と比較しながら、具体例を用いて以下、詳
細に説明する。図10は、従来技術による同期完了指示
の監視を行う命令列を示し、図11は、図10の命令列
を実行したときの命令実行パイプラインの経過を示す。
図11は、横軸方向に時刻の経過を示し、縦軸方向に逐
次実行される各命令を示す。
を、従来技術と比較しながら、具体例を用いて以下、詳
細に説明する。図10は、従来技術による同期完了指示
の監視を行う命令列を示し、図11は、図10の命令列
を実行したときの命令実行パイプラインの経過を示す。
図11は、横軸方向に時刻の経過を示し、縦軸方向に逐
次実行される各命令を示す。
【0041】ステップ1では、命令1の同期完了指示を
監視するLD(ロード命令)がパイプラインに投入され
る。IステージではLD命令が取り出され、Dステージ
ではLD命令がデコードされ、Aステージではアドレス
が計算され、EステージではLD命令が実行され、4サ
イクルでLD命令が実行される。
監視するLD(ロード命令)がパイプラインに投入され
る。IステージではLD命令が取り出され、Dステージ
ではLD命令がデコードされ、Aステージではアドレス
が計算され、EステージではLD命令が実行され、4サ
イクルでLD命令が実行される。
【0042】この間に1サイクル遅れて、命令2のBC
(条件付き分岐命令)がパイプラインに投入され、4サ
イクルでBC命令が実行される。ステップ4までは同期
完了指示が行われていないので、条件付き分岐命令は分
岐し、LD、BCが繰返し実行され、同期完了指示を監
視する。
(条件付き分岐命令)がパイプラインに投入され、4サ
イクルでBC命令が実行される。ステップ4までは同期
完了指示が行われていないので、条件付き分岐命令は分
岐し、LD、BCが繰返し実行され、同期完了指示を監
視する。
【0043】そして、ステップ5で、ロード命令の実行
中に同期完了指示が行われた場合には、ステップ6で命
令2の条件付き分岐命令は分岐せずに、次の命令3(L
D)を実行する。同期完了指示が行われた場合、ステッ
プ6で命令2の分岐予測が失敗するため、該命令は4サ
イクルでは終了せずに、分岐予測失敗のペナルティが加
わり(Xステージ)、実行に7サイクルかかる。また、
次のステップ7の命令3(LD)も上記した分岐予測失
敗によってパイプライン処理が乱れるために、パイプラ
インへの投入が4サイクル遅れる。この結果、命令3の
LD(ロード命令)が終了するのは、同期完了指示が行
われてから6サイクル後となる。ステップ7の後、ステ
ップ8、9と順次命令が実行される。
中に同期完了指示が行われた場合には、ステップ6で命
令2の条件付き分岐命令は分岐せずに、次の命令3(L
D)を実行する。同期完了指示が行われた場合、ステッ
プ6で命令2の分岐予測が失敗するため、該命令は4サ
イクルでは終了せずに、分岐予測失敗のペナルティが加
わり(Xステージ)、実行に7サイクルかかる。また、
次のステップ7の命令3(LD)も上記した分岐予測失
敗によってパイプライン処理が乱れるために、パイプラ
インへの投入が4サイクル遅れる。この結果、命令3の
LD(ロード命令)が終了するのは、同期完了指示が行
われてから6サイクル後となる。ステップ7の後、ステ
ップ8、9と順次命令が実行される。
【0044】図12は、本発明に係る同期完了指示の監
視を行う命令列を示し、図13は、図12の命令列を実
行したときの命令実行パイプラインの経過を示す。図1
2は、横軸方向に時刻の経過を示し、縦軸方向に逐次実
行される各命令を示す。
視を行う命令列を示し、図13は、図12の命令列を実
行したときの命令実行パイプラインの経過を示す。図1
2は、横軸方向に時刻の経過を示し、縦軸方向に逐次実
行される各命令を示す。
【0045】ステップ1のIステージで、命令1がキャ
ッシュ記憶部13から命令解析部102に取り出され、
Dステージで命令を解析する。解析の結果、命令1は同
期完了指示を監視するWAIT(ウエイト命令)である
ので、命令解析部102はウエイト命令制御部100に
対してインタフェース信号105を介してウエイト命令
を発行する。
ッシュ記憶部13から命令解析部102に取り出され、
Dステージで命令を解析する。解析の結果、命令1は同
期完了指示を監視するWAIT(ウエイト命令)である
ので、命令解析部102はウエイト命令制御部100に
対してインタフェース信号105を介してウエイト命令
を発行する。
【0046】ウエイト命令制御部100は、Aのアドレ
ス計算ステージで、実行を抑止すべき命令(LD命令)
を選択する。Eステージでは、ウエイト命令制御部10
0はウエイト命令を実行し、その間、インタフェース信
号104を介して命令実行待ち部101に対してロード
命令の実行を抑止する制御信号を出力し続ける。該ウエ
イト命令は、他方の処理装置から同期完了指示が行われ
るまで実行状態が続く。
ス計算ステージで、実行を抑止すべき命令(LD命令)
を選択する。Eステージでは、ウエイト命令制御部10
0はウエイト命令を実行し、その間、インタフェース信
号104を介して命令実行待ち部101に対してロード
命令の実行を抑止する制御信号を出力し続ける。該ウエ
イト命令は、他方の処理装置から同期完了指示が行われ
るまで実行状態が続く。
【0047】ステップ2では、1サイクル遅れて次の命
令2(LD)がパイプラインに投入される。Iステージ
で、命令2がキャッシュ記憶部13から命令解析部10
2に取り出され、Dステージで命令2を解析する。解析
の結果がインタフェース信号103を介して命令実行待
ち部101に入力される。Aステージで、命令実行待ち
部101はアドレスを計算する。命令2がロード命令で
あるので、ウエイト命令が実行中の間、図7の比較器1
012は「真」を出力し、命令2は命令実行待ち部10
1で実行が抑止され、Wステージで待機される。つま
り、命令2のLD(ロード命令)は、MS4からデータ
を読み込む直前の状態まで実行して、図7の命令送出制
御部1013はLD命令2を命令キュー1010にスタ
ックし、その状態で待機させる。
令2(LD)がパイプラインに投入される。Iステージ
で、命令2がキャッシュ記憶部13から命令解析部10
2に取り出され、Dステージで命令2を解析する。解析
の結果がインタフェース信号103を介して命令実行待
ち部101に入力される。Aステージで、命令実行待ち
部101はアドレスを計算する。命令2がロード命令で
あるので、ウエイト命令が実行中の間、図7の比較器1
012は「真」を出力し、命令2は命令実行待ち部10
1で実行が抑止され、Wステージで待機される。つま
り、命令2のLD(ロード命令)は、MS4からデータ
を読み込む直前の状態まで実行して、図7の命令送出制
御部1013はLD命令2を命令キュー1010にスタ
ックし、その状態で待機させる。
【0048】上記したウエイト命令以降において、ロー
ド命令以外の他の命令は実行できるため、ステップ3で
命令3の演算命令、ステップ4で命令4の分岐命令がパ
イプラインに投入され、実行される。
ド命令以外の他の命令は実行できるため、ステップ3で
命令3の演算命令、ステップ4で命令4の分岐命令がパ
イプラインに投入され、実行される。
【0049】その後、他方の処理装置から同期完了指示
が行われると、処理装置間の通信手段5、通信制御部1
2を介して、ウエイト状態リセット信号線14が「真」
になり、ウエイト命令制御部100内のウエイト状態保
持部1000がリセットされ、ウエイト命令の実行が終
了する。抑止命令制御部1001は抑止命令制御信号1
04の送出を止め、これにより、命令実行待ち部101
におけるロード命令の実行待機が解除される。
が行われると、処理装置間の通信手段5、通信制御部1
2を介して、ウエイト状態リセット信号線14が「真」
になり、ウエイト命令制御部100内のウエイト状態保
持部1000がリセットされ、ウエイト命令の実行が終
了する。抑止命令制御部1001は抑止命令制御信号1
04の送出を止め、これにより、命令実行待ち部101
におけるロード命令の実行待機が解除される。
【0050】ロード命令は命令実行待ち部101から命
令実行部11に渡され、Eステージで、命令実行を再開
し、MS4から値を読み込む命令を実行する。そして、
命令2のロード命令が終了するのは、同期完了指示が行
われてから1サイクル後である。
令実行部11に渡され、Eステージで、命令実行を再開
し、MS4から値を読み込む命令を実行する。そして、
命令2のロード命令が終了するのは、同期完了指示が行
われてから1サイクル後である。
【0051】このように、本発明では、スピンループの
ための条件付き分岐命令の分岐予測失敗による命令実行
パイプラインの乱れを防止することができ、また、同期
操作において本来待機させる必要のない命令を実行でき
ることから、上記した処理例では従来に比べて、実行時
間を5サイクル短縮することができる。
ための条件付き分岐命令の分岐予測失敗による命令実行
パイプラインの乱れを防止することができ、また、同期
操作において本来待機させる必要のない命令を実行でき
ることから、上記した処理例では従来に比べて、実行時
間を5サイクル短縮することができる。
【0052】なお、上記した実施例では、選択的に待機
させる命令はロード命令であるが、本発明はこれに限定
されるものではなく、図6の抑止命令制御部1001に
おいてウエイト命令によって抑止させる命令を、オペラ
ンドで指定することにより、ロード命令以外の命令を選
択して待機することができる。
させる命令はロード命令であるが、本発明はこれに限定
されるものではなく、図6の抑止命令制御部1001に
おいてウエイト命令によって抑止させる命令を、オペラ
ンドで指定することにより、ロード命令以外の命令を選
択して待機することができる。
【0053】〈実施例2〉図6のウエイト命令制御部1
00では、ウエイト状態保持部1000の状態をインタ
ーフェース信号1003によって抑止命令制御部100
1に通知している。抑止命令制御部1001では、ウエ
イト状態に変化したとき抑止命令制御信号線104を介
して、命令実行待ち部101に対して抑止すべきロード
命令の命令コードを送出する。
00では、ウエイト状態保持部1000の状態をインタ
ーフェース信号1003によって抑止命令制御部100
1に通知している。抑止命令制御部1001では、ウエ
イト状態に変化したとき抑止命令制御信号線104を介
して、命令実行待ち部101に対して抑止すべきロード
命令の命令コードを送出する。
【0054】ところで、MS4からキャッシュ記憶部1
3にデータを転送する命令として、プリフェッチ命令が
あるが、本実施例の抑止命令制御部1001は、このプ
リフェッチ命令の実行を、ウエイト命令によって待機さ
せない。
3にデータを転送する命令として、プリフェッチ命令が
あるが、本実施例の抑止命令制御部1001は、このプ
リフェッチ命令の実行を、ウエイト命令によって待機さ
せない。
【0055】図9は、プリフェッチ命令を含む処理装置
間で、同期処理を行う同期指示元IP1の命令列と被同
期IP2の命令列を示す。同期指示元IP1は、命令1
のST(ストア命令)を実行し、被同期IP2に渡すデ
ータをMS4に書き込む。このIP1のストアは、IP
2のキャッシュコヒーレンスを保証するためにIP2が
持つ該ストアアドレスと同一ラインのキャッシュをキャ
ンセルする。
間で、同期処理を行う同期指示元IP1の命令列と被同
期IP2の命令列を示す。同期指示元IP1は、命令1
のST(ストア命令)を実行し、被同期IP2に渡すデ
ータをMS4に書き込む。このIP1のストアは、IP
2のキャッシュコヒーレンスを保証するためにIP2が
持つ該ストアアドレスと同一ラインのキャッシュをキャ
ンセルする。
【0056】次に、命令2のWAC(Wait Until M
S Access Complete 以下、ワック命令)を実行す
る。複数のIPによるワック命令は、全てのIPにおい
て該ワック命令の前後のMSアクセス順序を保証する。
ワック命令は以下のように機能する。すなわち、図2に
示すSC3内のリクエストキュー32、33において、
一方のリクエストキューからリクエストプライオリティ
34に対してワックリクエストが送出されたとき、該ワ
ックリクエストは、他方のリクエストキューからワック
リクエストが送出されるまで待される。その間、他方の
リクエストキューに積まれているリクエストは、リクエ
ストプライオリティを通過して処理される。そして、2
つのリクエストキューからのワックリクエストが揃った
とき、通常のプライオリティに戻る。
S Access Complete 以下、ワック命令)を実行す
る。複数のIPによるワック命令は、全てのIPにおい
て該ワック命令の前後のMSアクセス順序を保証する。
ワック命令は以下のように機能する。すなわち、図2に
示すSC3内のリクエストキュー32、33において、
一方のリクエストキューからリクエストプライオリティ
34に対してワックリクエストが送出されたとき、該ワ
ックリクエストは、他方のリクエストキューからワック
リクエストが送出されるまで待される。その間、他方の
リクエストキューに積まれているリクエストは、リクエ
ストプライオリティを通過して処理される。そして、2
つのリクエストキューからのワックリクエストが揃った
とき、通常のプライオリティに戻る。
【0057】このように、ワック命令は、複数のIPに
おいて、ワック命令の後に発行されたMSアクセス命令
が該ワック命令の前に発効されたMSアクセス命令を追
い越して実行することはない、しきいの働きを持つ(な
お、WAC命令については、例えば、特公平6−103
494号公報などを参照)。
おいて、ワック命令の後に発行されたMSアクセス命令
が該ワック命令の前に発効されたMSアクセス命令を追
い越して実行することはない、しきいの働きを持つ(な
お、WAC命令については、例えば、特公平6−103
494号公報などを参照)。
【0058】同期指示元の処理装置1は、命令3のST
(ストア命令)を実行し、被同期IP2に対して同期指
示を送る。被同期処理装置IP2においては、命令4の
ワック命令と前記命令2のワック命令により、以降発行
するMSアクセス命令が、該ワック命令4の前に発行し
たMSアクセス命令を追い越さない。
(ストア命令)を実行し、被同期IP2に対して同期指
示を送る。被同期処理装置IP2においては、命令4の
ワック命令と前記命令2のワック命令により、以降発行
するMSアクセス命令が、該ワック命令4の前に発行し
たMSアクセス命令を追い越さない。
【0059】次に、命令5のWAIT(ウエイト命令)
を実行し、同期完了指示が行われるまで後続のロード命
令7が待機される。しかし、命令6のプリフェッチ命令
は、命令5のウエイト命令によって待機されず、MS4
からキャッシュ記憶部13にデータを読み込む。命令7
のLD(ロード命令)は、同期完了指示が行われるまで
ウエイト命令5によって待機され、通信手段5を介して
IP1から同期完了指示が行われると、同期指示元IP
1がストアしたデータをMS4から読み込む。
を実行し、同期完了指示が行われるまで後続のロード命
令7が待機される。しかし、命令6のプリフェッチ命令
は、命令5のウエイト命令によって待機されず、MS4
からキャッシュ記憶部13にデータを読み込む。命令7
のLD(ロード命令)は、同期完了指示が行われるまで
ウエイト命令5によって待機され、通信手段5を介して
IP1から同期完了指示が行われると、同期指示元IP
1がストアしたデータをMS4から読み込む。
【0060】しかし実際には、同期完了指示後に実行さ
れる命令7のロード命令によって読み込むべきデータ
が、すでに命令6のプリフェッチ命令によってMS4か
らキャッシュ記憶部13に転送されているので、キャッ
シュ記憶部13からデータを読み込むことになる。従っ
て、MS4から読み込むよりも高速にレジスタ群112
にデータを読み込むことができる。
れる命令7のロード命令によって読み込むべきデータ
が、すでに命令6のプリフェッチ命令によってMS4か
らキャッシュ記憶部13に転送されているので、キャッ
シュ記憶部13からデータを読み込むことになる。従っ
て、MS4から読み込むよりも高速にレジスタ群112
にデータを読み込むことができる。
【0061】なお、上記したウエイト命令が存在しなけ
れば、同期指示元の処理装置IP1がストアする領域の
内容が被同期処理装置IP2のキャッシュ記憶部にある
場合に、命令7のロード命令ではキャッシュ記憶部から
誤ったデータを取り込むことになる。従って、ロード命
令の実行に対しては同期を監視するウエイト命令が必要
となる。
れば、同期指示元の処理装置IP1がストアする領域の
内容が被同期処理装置IP2のキャッシュ記憶部にある
場合に、命令7のロード命令ではキャッシュ記憶部から
誤ったデータを取り込むことになる。従って、ロード命
令の実行に対しては同期を監視するウエイト命令が必要
となる。
【0062】〈実施例3〉図1の情報処理装置は、外部
識別信号線24によってSVP6とIP1、IP2が接
続されている。SVP6は、CD7からインターフェー
ス信号25を介して操作される。外部識別信号線24
は、図6で説明したようにIP内部のウエイト状態保持
部1000に接続されている。
識別信号線24によってSVP6とIP1、IP2が接
続されている。SVP6は、CD7からインターフェー
ス信号25を介して操作される。外部識別信号線24
は、図6で説明したようにIP内部のウエイト状態保持
部1000に接続されている。
【0063】外部からウエイト状態を認識する場合、ま
ずCD7を操作し、インターフェース信号25を介して
SVP6に対し、処理装置1または2の番号を指示す
る。次に、ウエイト状態を識別する指示を受けたSVP
6は、外部識別信号線24によって指定された処理装置
番号のIP内部のウエイト状態保持部1000のレジス
タを読み込む。そして、読み込んだウエイト状態をイン
ターフェース信号25によってCD7に出力する。
ずCD7を操作し、インターフェース信号25を介して
SVP6に対し、処理装置1または2の番号を指示す
る。次に、ウエイト状態を識別する指示を受けたSVP
6は、外部識別信号線24によって指定された処理装置
番号のIP内部のウエイト状態保持部1000のレジス
タを読み込む。そして、読み込んだウエイト状態をイン
ターフェース信号25によってCD7に出力する。
【0064】これにより、ウエイト命令が実行中である
か否かをIPの外部から識別することができる。本実施
例3は、情報処理装置のデバッグあるいはオペレーティ
ングシステム(OS)、コンパイラのソフトウェアのデ
バッグを行う場合に有効となる。
か否かをIPの外部から識別することができる。本実施
例3は、情報処理装置のデバッグあるいはオペレーティ
ングシステム(OS)、コンパイラのソフトウェアのデ
バッグを行う場合に有効となる。
【0065】〈実施例4〉図1の情報処理装置は、外部
強制リセット信号線23によってSVP6とIP1、I
P2が接続されている。SVP6はCD7からインター
フェース信号25を介して操作される。外部強制リセッ
ト信号線23は、図6で説明したようにIP内部でOR
回路1002に接続されている。OR回路1002の出
力1004は、ウエイト状態保持部1000に接続され
ている。
強制リセット信号線23によってSVP6とIP1、I
P2が接続されている。SVP6はCD7からインター
フェース信号25を介して操作される。外部強制リセッ
ト信号線23は、図6で説明したようにIP内部でOR
回路1002に接続されている。OR回路1002の出
力1004は、ウエイト状態保持部1000に接続され
ている。
【0066】外部からウエイト命令の実行を強制的に終
了させる場合には、まずCD7を操作し、インターフェ
ース信号25を介してSVP6に対し、処理装置1また
は2の番号を指示する。次に、ウエイト命令の実行を強
制的に終了させる指示を受けたSVP6は、外部強制リ
セット信号線23によって、指示された処理装置のウエ
イト命令の実行を終了させるために、「真」の信号を送
る。
了させる場合には、まずCD7を操作し、インターフェ
ース信号25を介してSVP6に対し、処理装置1また
は2の番号を指示する。次に、ウエイト命令の実行を強
制的に終了させる指示を受けたSVP6は、外部強制リ
セット信号線23によって、指示された処理装置のウエ
イト命令の実行を終了させるために、「真」の信号を送
る。
【0067】「真」の信号を受けたOR回路1002
は、論理和の出力結果としてインターフェース信号10
04に対し「真」を出力する。そして、OR回路100
2の出力信号1004から「真」の値を受信したウエイ
ト状態保持部1000は、ウエイト命令の実行中である
ことを記憶するレジスタをリセットし、ウエイト命令の
実行を終了する。
は、論理和の出力結果としてインターフェース信号10
04に対し「真」を出力する。そして、OR回路100
2の出力信号1004から「真」の値を受信したウエイ
ト状態保持部1000は、ウエイト命令の実行中である
ことを記憶するレジスタをリセットし、ウエイト命令の
実行を終了する。
【0068】本実施例では、ウエイト命令の実行をIP
の外部から強制的に終了させることができるので、情報
処理装置のデバッグあるいはオペレーティングシステム
(OS)、コンパイラのソフトウェアのデバッグを行う
場合に有効となる。
の外部から強制的に終了させることができるので、情報
処理装置のデバッグあるいはオペレーティングシステム
(OS)、コンパイラのソフトウェアのデバッグを行う
場合に有効となる。
【0069】
【発明の効果】以上、説明したように、本発明によれ
ば、複数の処理装置の間で同期操作を行うとき、ロード
命令の実行を待機させ、待機する必要のない演算命令や
分岐命令などを実行し、同期が完了した後、待機してい
たロード命令を実行する命令処理の実行順序を採ってい
るので、複数の処理装置間における同期処理を高速に行
うことができる。
ば、複数の処理装置の間で同期操作を行うとき、ロード
命令の実行を待機させ、待機する必要のない演算命令や
分岐命令などを実行し、同期が完了した後、待機してい
たロード命令を実行する命令処理の実行順序を採ってい
るので、複数の処理装置間における同期処理を高速に行
うことができる。
【図1】本発明の実施例を構成する情報処理装置のシス
テム構成図である。
テム構成図である。
【図2】主記憶制御装置の内部構成を示す。
【図3】命令実行制御部の内部構成を示す。
【図4】命令実行部の内部構成を示す。
【図5】通信制御部の内部構成を示す。
【図6】ウエイト命令制御部の内部構成を示す。
【図7】命令実行待ち部の内部構成を示す。
【図8】同期指示元処理装置の命令列と、被同期処理装
置の命令列を示す。
置の命令列を示す。
【図9】同期指示元処理装置の命令列と、被同期処理装
置のプリフェッチ命令を含む命令列を示す。
置のプリフェッチ命令を含む命令列を示す。
【図10】従来技術による同期完了指示の監視を行う命
令列を示す。
令列を示す。
【図11】図10の命令列を実行したときの命令実行パ
イプラインの経過を示す。
イプラインの経過を示す。
【図12】本発明に係る同期完了指示の監視を行う命令
を含む命令列を示す。
を含む命令列を示す。
【図13】図12の命令列を実行したときの命令実行パ
イプラインの経過を示す。
イプラインの経過を示す。
【図14】従来技術で同期操作を行う場合の各処理装置
の命令列を示す。
の命令列を示す。
【図15】従来のスピンロックウエイト方式による待合
せの命令列を示す。
せの命令列を示す。
1、2 処理装置(IP) 3 主記憶制御装置(SC) 4 主記憶装置(MS) 5 処理装置間の通信手段 6 サービス装置(SVP) 7 コンソール装置(CD) 10 命令実行制御部 11 命令実行部 12 通信制御部 13 キャッシュ記憶部 14 命令実行制御部と通信制御部間のインターフェー
ス 15 命令実行制御部とキャッシュ記憶部間のインター
フェース 16 キャッシュ記憶部と命令実行部間のインターフェ
ース 17 命令実行制御部と命令実行部間のインターフェー
ス 18 命令実行部と通信制御部間のインターフェース 20 IP1とSC間のインターフェース 21 IP2とSC間のインターフェース 22 SCとMS間のインターフェース 23 ウエイト状態の外部強制リセット信号線 24 ウエイト状態の外部識別信号線 25 SVPとCD間のインターフェース信号 30、31 リクエスト制御部 32、33 リクエストキュー 34 リクエストプライオリティ 35、36 リクエスト制御部間のインターフェース 37、38 リクエスト制御部とリクエストキュー間の
インターフェース 39、40 リクエストキューとリクエストプライオリ
ティ間のインターフェース 100 ウエイト命令制御部 101 命令実行待ち部 102 命令解析部 103 命令解析部と命令実行待ち部間のインターフェ
ース 104 ウエイト命令制御部と命令実行待ち部間のイン
ターフェース 105 命令解析部とウエイト命令制御部間のインター
フェース 110 命令分配部 111 ロードストア実行部 112 レジスタ群 113 演算実行部 114 命令分配部とロードストア実行部間のインター
フェース 115 ロードストア実行部とレジスタ群間のインター
フェース 116 レジスタ群と演算実行部間のインターフェース 117 演算実行部とレジスタ群間のインターフェース 118 命令分配部と演算実行部間のインターフェース 120 同期完了指示報告部 121 処理装置間通信制御部 122 同期指示制御部 123 同期完了指示報告部と処理装置間通信制御部間
のインターフェース 124 同期指示制御部と処理装置間通信制御部間のイ
ンターフェース 1000 ウエイト状態保持部 1001 抑止命令制御部 1002 OR回路 1003 ウエイト状態保持部と抑止命令制御部間のイ
ンターフェース 1004 OR回路の出力信号 1010 命令キュー 1011 デコーダ 1012 比較器 1013 命令送出制御部 1014 OR回路 1015 命令キューと比較器間のインターフェース 1016 命令キューと命令送出制御部間のインターフ
ェース 1017 比較器の出力信号 1018 OR回路の出力信号 1019 デコーダと比較器間のインターフェース 1020 リキューの命令線 1021 命令実行部ビジー信号線
ス 15 命令実行制御部とキャッシュ記憶部間のインター
フェース 16 キャッシュ記憶部と命令実行部間のインターフェ
ース 17 命令実行制御部と命令実行部間のインターフェー
ス 18 命令実行部と通信制御部間のインターフェース 20 IP1とSC間のインターフェース 21 IP2とSC間のインターフェース 22 SCとMS間のインターフェース 23 ウエイト状態の外部強制リセット信号線 24 ウエイト状態の外部識別信号線 25 SVPとCD間のインターフェース信号 30、31 リクエスト制御部 32、33 リクエストキュー 34 リクエストプライオリティ 35、36 リクエスト制御部間のインターフェース 37、38 リクエスト制御部とリクエストキュー間の
インターフェース 39、40 リクエストキューとリクエストプライオリ
ティ間のインターフェース 100 ウエイト命令制御部 101 命令実行待ち部 102 命令解析部 103 命令解析部と命令実行待ち部間のインターフェ
ース 104 ウエイト命令制御部と命令実行待ち部間のイン
ターフェース 105 命令解析部とウエイト命令制御部間のインター
フェース 110 命令分配部 111 ロードストア実行部 112 レジスタ群 113 演算実行部 114 命令分配部とロードストア実行部間のインター
フェース 115 ロードストア実行部とレジスタ群間のインター
フェース 116 レジスタ群と演算実行部間のインターフェース 117 演算実行部とレジスタ群間のインターフェース 118 命令分配部と演算実行部間のインターフェース 120 同期完了指示報告部 121 処理装置間通信制御部 122 同期指示制御部 123 同期完了指示報告部と処理装置間通信制御部間
のインターフェース 124 同期指示制御部と処理装置間通信制御部間のイ
ンターフェース 1000 ウエイト状態保持部 1001 抑止命令制御部 1002 OR回路 1003 ウエイト状態保持部と抑止命令制御部間のイ
ンターフェース 1004 OR回路の出力信号 1010 命令キュー 1011 デコーダ 1012 比較器 1013 命令送出制御部 1014 OR回路 1015 命令キューと比較器間のインターフェース 1016 命令キューと命令送出制御部間のインターフ
ェース 1017 比較器の出力信号 1018 OR回路の出力信号 1019 デコーダと比較器間のインターフェース 1020 リキューの命令線 1021 命令実行部ビジー信号線
───────────────────────────────────────────────────── フロントページの続き (72)発明者 助川 直伸 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 石橋 優子 神奈川県秦野市堀山下1番地 株式会社日 立製作所汎用コンピュータ事業部内
Claims (5)
- 【請求項1】 命令実行の順序を制御する命令実行制御
手段と主記憶装置の一部の写しを保持するキャッシュ記
憶手段とを有する複数の処理装置と、該複数の処理装置
で共有される主記憶装置を備えた情報処理装置におい
て、前記処理装置の間で同期をとりながら命令を実行す
る命令実行制御方法であって、他方の処理装置から同期
完了が指示されるまで監視を続ける命令を実行し、該命
令を実行中は、該命令に続く命令群の内、特定の命令の
実行を選択的に待機させることを特徴とする命令実行制
御方法。 - 【請求項2】 前記特定の命令は、前記主記憶装置また
はキャッシュ記憶手段からデータを転送するロード命令
であることを特徴とする請求項1記載の命令実行制御方
法。 - 【請求項3】 前記命令群の内、前記主記憶装置からキ
ャッシュ記憶手段にデータを転送するプリフェッチ命令
を待機させないことを特徴とする請求項1記載の命令実
行制御方法。 - 【請求項4】 命令実行の順序を制御する命令実行制御
手段と主記憶装置の一部の写しを保持するキャッシュ記
憶手段とを有する複数の処理装置と、該複数の処理装置
で共有される主記憶装置を備えた情報処理装置であっ
て、前記処理装置の間で同期をとりながら命令を実行す
るために処理装置間で通信する手段と、該通信手段を介
して他方の処理装置から同期完了が指示されるまで監視
を続ける手段と、該監視を続けているとき特定の命令の
実行を抑止する手段と、前記同期の完了が指示されたと
き該抑止されている前記特定の命令を実行する手段とを
備えたことを特徴とする情報処理装置。 - 【請求項5】 前記監視手段を前記処理装置の外部から
参照する手段と、前記監視手段が監視を続けていると
き、前記処理装置の外部から強制的に終了させる手段と
を備えたことを特徴とする請求項4記載の情報処理装
置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8306209A JPH10149285A (ja) | 1996-11-18 | 1996-11-18 | 命令実行制御方法および情報処理装置 |
| US08/972,539 US5968135A (en) | 1996-11-18 | 1997-11-18 | Processing instructions up to load instruction after executing sync flag monitor instruction during plural processor shared memory store/load access synchronization |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8306209A JPH10149285A (ja) | 1996-11-18 | 1996-11-18 | 命令実行制御方法および情報処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH10149285A true JPH10149285A (ja) | 1998-06-02 |
Family
ID=17954313
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8306209A Pending JPH10149285A (ja) | 1996-11-18 | 1996-11-18 | 命令実行制御方法および情報処理装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5968135A (ja) |
| JP (1) | JPH10149285A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009054032A (ja) * | 2007-08-28 | 2009-03-12 | Toshiba Corp | 並列プロセッサ |
| JP2020027616A (ja) * | 2018-08-10 | 2020-02-20 | 北京百度网▲訊▼科技有限公司Beijing Baidu Netcom Science And Technology Co.,Ltd. | コマンド実行方法及び装置 |
Families Citing this family (68)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3636871B2 (ja) * | 1997-09-16 | 2005-04-06 | 株式会社日立製作所 | 並列プロセッサシステム |
| US6170005B1 (en) * | 1997-11-04 | 2001-01-02 | Motorola, Inc. | Synchronization and information exchange between communication components using a network management operations and control paradigm |
| US6571301B1 (en) * | 1998-08-26 | 2003-05-27 | Fujitsu Limited | Multi processor system and FIFO circuit |
| JP3858492B2 (ja) | 1998-12-28 | 2006-12-13 | 株式会社日立製作所 | マルチプロセッサシステム |
| US6460133B1 (en) * | 1999-05-20 | 2002-10-01 | International Business Machines Corporation | Queue resource tracking in a multiprocessor system |
| US6615281B1 (en) * | 2000-05-05 | 2003-09-02 | International Business Machines Corporation | Multi-node synchronization using global timing source and interrupts following anticipatory wait state |
| US6725340B1 (en) | 2000-06-06 | 2004-04-20 | International Business Machines Corporation | Mechanism for folding storage barrier operations in a multiprocessor system |
| US6963967B1 (en) | 2000-06-06 | 2005-11-08 | International Business Machines Corporation | System and method for enabling weak consistent storage advantage to a firmly consistent storage architecture |
| US6748518B1 (en) | 2000-06-06 | 2004-06-08 | International Business Machines Corporation | Multi-level multiprocessor speculation mechanism |
| US6728873B1 (en) | 2000-06-06 | 2004-04-27 | International Business Machines Corporation | System and method for providing multiprocessor speculation within a speculative branch path |
| US8160864B1 (en) * | 2000-10-26 | 2012-04-17 | Cypress Semiconductor Corporation | In-circuit emulator and pod synchronized boot |
| US7765095B1 (en) | 2000-10-26 | 2010-07-27 | Cypress Semiconductor Corporation | Conditional branching in an in-circuit emulation system |
| US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
| US8149048B1 (en) | 2000-10-26 | 2012-04-03 | Cypress Semiconductor Corporation | Apparatus and method for programmable power management in a programmable analog circuit block |
| US8176296B2 (en) | 2000-10-26 | 2012-05-08 | Cypress Semiconductor Corporation | Programmable microcontroller architecture |
| US8103496B1 (en) | 2000-10-26 | 2012-01-24 | Cypress Semicondutor Corporation | Breakpoint control in an in-circuit emulation system |
| US7406674B1 (en) | 2001-10-24 | 2008-07-29 | Cypress Semiconductor Corporation | Method and apparatus for generating microcontroller configuration information |
| US8078970B1 (en) | 2001-11-09 | 2011-12-13 | Cypress Semiconductor Corporation | Graphical user interface with user-selectable list-box |
| US7526422B1 (en) | 2001-11-13 | 2009-04-28 | Cypress Semiconductor Corporation | System and a method for checking lock-step consistency between an in circuit emulation and a microcontroller |
| US8042093B1 (en) | 2001-11-15 | 2011-10-18 | Cypress Semiconductor Corporation | System providing automatic source code generation for personalization and parameterization of user modules |
| US7770113B1 (en) | 2001-11-19 | 2010-08-03 | Cypress Semiconductor Corporation | System and method for dynamically generating a configuration datasheet |
| US7774190B1 (en) | 2001-11-19 | 2010-08-10 | Cypress Semiconductor Corporation | Sleep and stall in an in-circuit emulation system |
| US8069405B1 (en) | 2001-11-19 | 2011-11-29 | Cypress Semiconductor Corporation | User interface for efficiently browsing an electronic document using data-driven tabs |
| US7844437B1 (en) | 2001-11-19 | 2010-11-30 | Cypress Semiconductor Corporation | System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit |
| US6971004B1 (en) | 2001-11-19 | 2005-11-29 | Cypress Semiconductor Corp. | System and method of dynamically reconfiguring a programmable integrated circuit |
| US20030110232A1 (en) * | 2001-12-11 | 2003-06-12 | International Business Machines Corporation | Distributing messages between local queues representative of a common shared queue |
| US8103497B1 (en) | 2002-03-28 | 2012-01-24 | Cypress Semiconductor Corporation | External interface for event architecture |
| JP3798726B2 (ja) * | 2002-04-26 | 2006-07-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メモリ・アクセス順序付け及びロック管理の方法、装置、プログラム及び記録媒体 |
| US7308608B1 (en) | 2002-05-01 | 2007-12-11 | Cypress Semiconductor Corporation | Reconfigurable testing system and method |
| US7761845B1 (en) | 2002-09-09 | 2010-07-20 | Cypress Semiconductor Corporation | Method for parameterizing a user module |
| US7213093B2 (en) * | 2003-06-27 | 2007-05-01 | Intel Corporation | Queued locks using monitor-memory wait |
| US7295049B1 (en) | 2004-03-25 | 2007-11-13 | Cypress Semiconductor Corporation | Method and circuit for rapid alignment of signals |
| US8286125B2 (en) | 2004-08-13 | 2012-10-09 | Cypress Semiconductor Corporation | Model for a hardware device-independent method of defining embedded firmware for programmable systems |
| US8082531B2 (en) | 2004-08-13 | 2011-12-20 | Cypress Semiconductor Corporation | Method and an apparatus to design a processing system using a graphical user interface |
| US8069436B2 (en) | 2004-08-13 | 2011-11-29 | Cypress Semiconductor Corporation | Providing hardware independence to automate code generation of processing device firmware |
| US7257679B2 (en) * | 2004-10-01 | 2007-08-14 | Advanced Micro Devices, Inc. | Sharing monitored cache lines across multiple cores |
| US8429192B2 (en) * | 2004-12-02 | 2013-04-23 | International Business Machines Corporation | System and method for supporting a plurality of access control list types for a file system in an operating system |
| US7332976B1 (en) | 2005-02-04 | 2008-02-19 | Cypress Semiconductor Corporation | Poly-phase frequency synthesis oscillator |
| US7400183B1 (en) | 2005-05-05 | 2008-07-15 | Cypress Semiconductor Corporation | Voltage controlled oscillator delay cell and method |
| US8089461B2 (en) | 2005-06-23 | 2012-01-03 | Cypress Semiconductor Corporation | Touch wake for electronic devices |
| US8085067B1 (en) | 2005-12-21 | 2011-12-27 | Cypress Semiconductor Corporation | Differential-to-single ended signal converter circuit and method |
| US9390015B2 (en) * | 2006-03-16 | 2016-07-12 | International Business Machines Corporation | Method for performing cacheline polling utilizing a store and reserve instruction |
| US9983874B2 (en) * | 2006-03-16 | 2018-05-29 | International Business Machines Corporation | Structure for a circuit function that implements a load when reservation lost instruction to perform cacheline polling |
| US8117389B2 (en) * | 2006-03-16 | 2012-02-14 | International Business Machines Corporation | Design structure for performing cacheline polling utilizing store with reserve and load when reservation lost instructions |
| US8219763B2 (en) | 2006-03-16 | 2012-07-10 | International Business Machines Corporation | Structure for performing cacheline polling utilizing a store and reserve instruction |
| US8067948B2 (en) | 2006-03-27 | 2011-11-29 | Cypress Semiconductor Corporation | Input/output multiplexer bus |
| US8026739B2 (en) | 2007-04-17 | 2011-09-27 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
| US8516025B2 (en) | 2007-04-17 | 2013-08-20 | Cypress Semiconductor Corporation | Clock driven dynamic datapath chaining |
| US8130025B2 (en) | 2007-04-17 | 2012-03-06 | Cypress Semiconductor Corporation | Numerical band gap |
| US8092083B2 (en) | 2007-04-17 | 2012-01-10 | Cypress Semiconductor Corporation | Temperature sensor with digital bandgap |
| US8040266B2 (en) | 2007-04-17 | 2011-10-18 | Cypress Semiconductor Corporation | Programmable sigma-delta analog-to-digital converter |
| US7737724B2 (en) | 2007-04-17 | 2010-06-15 | Cypress Semiconductor Corporation | Universal digital block interconnection and channel routing |
| US9564902B2 (en) | 2007-04-17 | 2017-02-07 | Cypress Semiconductor Corporation | Dynamically configurable and re-configurable data path |
| US8065653B1 (en) | 2007-04-25 | 2011-11-22 | Cypress Semiconductor Corporation | Configuration of programmable IC design elements |
| US8266575B1 (en) | 2007-04-25 | 2012-09-11 | Cypress Semiconductor Corporation | Systems and methods for dynamically reconfiguring a programmable system on a chip |
| US9720805B1 (en) | 2007-04-25 | 2017-08-01 | Cypress Semiconductor Corporation | System and method for controlling a target device |
| US8049569B1 (en) | 2007-09-05 | 2011-11-01 | Cypress Semiconductor Corporation | Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes |
| US9448964B2 (en) | 2009-05-04 | 2016-09-20 | Cypress Semiconductor Corporation | Autonomous control in a programmable system |
| US8850166B2 (en) * | 2010-02-18 | 2014-09-30 | International Business Machines Corporation | Load pair disjoint facility and instruction therefore |
| US8868843B2 (en) * | 2011-11-30 | 2014-10-21 | Advanced Micro Devices, Inc. | Hardware filter for tracking block presence in large caches |
| US20200034146A1 (en) * | 2018-07-30 | 2020-01-30 | International Business Machines Corporation | Synchronized access to data in shared memory by protecting the load target address of a fronting load |
| US11068407B2 (en) | 2018-10-26 | 2021-07-20 | International Business Machines Corporation | Synchronized access to data in shared memory by protecting the load target address of a load-reserve instruction |
| US10884740B2 (en) | 2018-11-08 | 2021-01-05 | International Business Machines Corporation | Synchronized access to data in shared memory by resolving conflicting accesses by co-located hardware threads |
| US11119781B2 (en) * | 2018-12-11 | 2021-09-14 | International Business Machines Corporation | Synchronized access to data in shared memory by protecting the load target address of a fronting load |
| US11106608B1 (en) | 2020-06-22 | 2021-08-31 | International Business Machines Corporation | Synchronizing access to shared memory by extending protection for a target address of a store-conditional request |
| US11693776B2 (en) | 2021-06-18 | 2023-07-04 | International Business Machines Corporation | Variable protection window extension for a target address of a store-conditional request |
| US12511801B2 (en) * | 2022-10-27 | 2025-12-30 | Capital One Services, Llc | Generating video streams to depict bot performance during an automation run |
| JP2024077426A (ja) * | 2022-11-28 | 2024-06-07 | 株式会社Preferred Networks | プロセッサ及びプロセッサの制御方法 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0353819B1 (en) * | 1988-08-02 | 1997-04-09 | Koninklijke Philips Electronics N.V. | Method and apparatus for synchronizing parallel processors using a fuzzy barrier |
| JPH0640324B2 (ja) * | 1989-10-26 | 1994-05-25 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチプロセッサ・システムおよびそのプロセス同期方法 |
| JPH07101410B2 (ja) * | 1990-01-17 | 1995-11-01 | インターナショナル、ビジネス、マシーンズ、コーポレーション | データ処理ネットワークにおいて逐次化手段の試験のため命令流の実行を同期させる方法 |
| JPH07117942B2 (ja) * | 1990-06-28 | 1995-12-18 | 富士通株式会社 | システム間同期処理方式 |
| DE69130630T2 (de) * | 1990-09-14 | 1999-09-09 | Hitachi | Synchrones Verfahren und Gerät für Prozessoren |
-
1996
- 1996-11-18 JP JP8306209A patent/JPH10149285A/ja active Pending
-
1997
- 1997-11-18 US US08/972,539 patent/US5968135A/en not_active Expired - Fee Related
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009054032A (ja) * | 2007-08-28 | 2009-03-12 | Toshiba Corp | 並列プロセッサ |
| JP2020027616A (ja) * | 2018-08-10 | 2020-02-20 | 北京百度网▲訊▼科技有限公司Beijing Baidu Netcom Science And Technology Co.,Ltd. | コマンド実行方法及び装置 |
| US11422817B2 (en) | 2018-08-10 | 2022-08-23 | Kunlunxin Technology (Beijing) Company Limited | Method and apparatus for executing instructions including a blocking instruction generated in response to determining that there is data dependence between instructions |
Also Published As
| Publication number | Publication date |
|---|---|
| US5968135A (en) | 1999-10-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5968135A (en) | Processing instructions up to load instruction after executing sync flag monitor instruction during plural processor shared memory store/load access synchronization | |
| US10698690B2 (en) | Synchronisation of execution threads on a multi-threaded processor | |
| JP3636871B2 (ja) | 並列プロセッサシステム | |
| US7020871B2 (en) | Breakpoint method for parallel hardware threads in multithreaded processor | |
| JP4759273B2 (ja) | データ処理装置及び共用資源へのアクセス制御方法 | |
| US6944850B2 (en) | Hop method for stepping parallel hardware threads | |
| EP1003095B1 (en) | A computer system for executing branch instructions | |
| US7213093B2 (en) | Queued locks using monitor-memory wait | |
| US8539485B2 (en) | Polling using reservation mechanism | |
| CA2016532C (en) | Serializing system between vector instruction and scalar instruction in data processing system | |
| KR100951092B1 (ko) | 정교한 멀티스레드 디스패치 차단 방법, 장치 및 컴퓨터 판독가능한 기록 매체 | |
| JPH02224025A (ja) | コンピューターシステム | |
| JPH05282264A (ja) | 自己並列化式のコンピュータ・システムと方法 | |
| WO2012068494A2 (en) | Context switch method and apparatus | |
| JPH03210657A (ja) | 多重プロセッサ・システム | |
| JPH0689205A (ja) | プロセッサの状態を監視する方法及び監視システム | |
| JP3797570B2 (ja) | セマフォ命令用のセマフォ・バッファを用いた装置と方法 | |
| JPH05282266A (ja) | 自己編成式並列コンピュータ・システムおよびその方法 | |
| US20010023479A1 (en) | Information processing unit, and exception processing method for specific application-purpose operation instruction | |
| KR20140131199A (ko) | 재구성 가능 프로세서 및 재구성 가능 프로세서의 동작 방법 | |
| WO2003040948A1 (en) | Computer and control method | |
| US20090031118A1 (en) | Apparatus and method for controlling order of instruction | |
| KR19980058221A (ko) | 파이프라인 정지회로를 구비한 프로세서 | |
| JPH10111857A (ja) | マルチプロセッサ | |
| JPH06324861A (ja) | Cpu制御システム及び制御方法 |