JPH06119297A - データ処理システムにおける命令の実行順序を決定する方法および装置 - Google Patents

データ処理システムにおける命令の実行順序を決定する方法および装置

Info

Publication number
JPH06119297A
JPH06119297A JP5046085A JP4608593A JPH06119297A JP H06119297 A JPH06119297 A JP H06119297A JP 5046085 A JP5046085 A JP 5046085A JP 4608593 A JP4608593 A JP 4608593A JP H06119297 A JPH06119297 A JP H06119297A
Authority
JP
Japan
Prior art keywords
bus
instruction
xmem
processor
data processing
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.)
Granted
Application number
JP5046085A
Other languages
English (en)
Other versions
JP3431941B2 (ja
Inventor
William C Moyer
ウィリアム・シー・モイヤー
James B Gullette
ジェイムズ・ビー・ガレット
Kara B Pepe
カーラ・バスデン・ペペ
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.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of JPH06119297A publication Critical patent/JPH06119297A/ja
Application granted granted Critical
Publication of JP3431941B2 publication Critical patent/JP3431941B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30087Synchronisation or serialisation instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag

Abstract

(57)【要約】 (修正有) 【目的】データ処理システム10における命令の実行順
序を決定する方法・装置を提供する。 【構成】データ処理装置10は制御ビットを用いて、標
準命令かまたは変更命令を実施するかを判定する。標準
命令は読み取りバス・サイクルの後に書き込みバス・サ
イクルを実行する。バスをロックする代りに、一度に1
つのプロセッサしか、資源使用可能を表示するセマフォ
ー値を受取らないよう保証するため、一度に1つのプロ
セッサしか資源利用を試みないように保証される。バス
をロックする必要がないので、一部のマルチプロセッサ
はバスの潜在処理能力を大幅に増大できる。変更命令
は、バッファ付き書き込みバスサイクルの後に、読取り
バスサイクルを実行。このバス12は一貫性を保つの
に、書込みと読取りサイクル間のロック不要。一部のバ
スでは、バス12をロックしないことによって、バス帯
域幅を増加できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ処理システムに関
し、具体的にはデータ処理システムにおけるアクセス順
序に関する。
【0002】
【従来の技術】マイクロプロセッサ・システムがより複
雑化するにつれ、システム資源の効率的な使用を確保す
るために新しい技術が必要になる。たとえば、多くのマ
ルチプロセッサ・システムでは、メモリ,プリンタまた
は表示画面に対するポートなど、いくつかのマイクロプ
ロセッサで同じいくつかのシステム資源を共用しようと
する。このようなマルチプロセッサ・システムでは、マ
イクロプロセッサとシステム資源との間で情報を伝搬す
る通信路またはバスを、可能な限り効率的に用いること
が重要である。
【0003】通信路を介してマイクロプロセッサからシ
ステム資源へと伝搬するメッセージは、都市のある部分
から道路を通って別の部分に進む車に似ている。通信路
の通信量をできるだけ効率的にさばかなければ、通信の
流れが停滞し始めて、通信路が込み合った状態になる。
その結果、マイクロプロセッサとシステム資源との通信
の速度が遅くなり、このためにシステム全体の動作速度
が低下する。通信路の渋滞がラッシュアワー時のように
ひどくなれば、マイクロプロセッサ・システム全体が遅
々として進まなくなる恐れがある。
【0004】しかしながら、車と違って、従来の導線を
用いるマイクロプロセッサ・バスを介しては、一度に1
つのメッセージしか転送できない。そのため、一度に1
個のマイクロプロセッサしか、バスの制御下に入って、
別のマイクロプロセッサもしくはシステム資源に情報を
送ることができない。
【0005】どのプロセッサがアービトレーション(ar
bitration )を獲得して、バスの制御下に入るかを決定
するために、マイクロプロセッサは互いに調整を行わな
ければならない。マイクロプロセッサはアービトレーシ
ョンを獲得して「バス・マスタ」になる場合に限り、当
該バスを介して情報の送受信ができる。他のマイクロプ
ロセッサは、当該バスを介して情報を送受信するために
は、バス・マスタになる順番を待たなければならない。
【0006】バスを効率的に利用するニーズとは別に、
たとえばプリンタなどのシステム資源を効率的に共用す
るニーズも存在する。複数のプロセッサで1台のプリン
タを共用している場合、現在どのプロセッサが資源を利
用しているか、またそのプロセッサが、中断できない機
能を実行しているか否かを示す方法がなくてはならな
い。多くのマルチプロセッサ・システムでは、この機能
にセマフォーを用いている。
【0007】セマフォーは、システム資源の現在の状態
を示す一種のフラグまたは状態標識である。通常、セマ
フォーの状態情報は、システム資源が現在使用中か否か
を示す。一部のマルチプロセッサ・システムでは、セマ
フォーは、どのマイクロプロセッサが資源を使用してい
るか、およびその資源を介して実行されている機能の種
類に関する情報も含めることができる。
【0008】たとえば、メモリ内の特定の記憶位置を、
プリンタ資源のセマフォーの記憶位置として指定でき
る。いずれかのマイクロプロセッサがそのプリンタを使
用したい場合には、当該マイクロプロセッサは、メモリ
内の特定の記憶位置を読み取ることによって、プリンタ
・セマフォーを読み取らなければならない。プリンタ・
セマフォーは、現在プリンタが使用中か否かなど、プリ
ンタの状態に関する情報を含んでいる。当該プリンタが
現在使用中であることをプリンタ・セマフォーが表示す
る場合には、マイクロプロセッサは待機しなければなら
ない。マイクロプロセッサは、当該プリンタが依然使用
中であるか、または使用可能になったかを見るために、
定期的にプリンタ・セマフォーを読み取ることによっ
て、プリンタ・セマフォーをポーリングし続けることが
できる。
【0009】当該プリンタが使用可能であることをプリ
ンタ・セマフォーが示したなら、待機中のマイクロプロ
セッサはプリンタ・セマフォーに書き込みを行い、状態
を使用中に変更する。こうすることによって、待機中の
マイクロプロセッサは、プリンタ資源を自分だけが使用
できるように効果的にロックする。プリンタのセマフォ
ーがプリンタの使用中を示している間、他のプロセッサ
はプリンタを使用できない。待機中のプロセッサはプリ
ンタの使用を終えると、プリンタ・セマフォーの記憶位
置に新しい値を書き込み、プリンタが再び使用可能にな
ったことを表示すべくプリンタ・セマフォーを変更す
る。
【0010】セマフォーを用いて共用システム資源を配
分するシステムでは、1つ重要な問題が発生する。その
問題は、資源が使用可能になったかを見るために、共用
資源のセマフォーを複数のマイクロプロセッサがポーリ
ングする際に生じる。たとえば、マイクロプロセッサ#
1とマイクロプロセッサ#2が共にプリンタ・セマフォ
ーにポーリングしていると仮定しよう。マイクロプロセ
ッサ#1は、プリンタが使用可能であるという表示に変
更された後、最初にプリンタ・セマフォーを読み取る。
そのときマイクロプロセッサ#2もプリンタ・セマフォ
ーを読み取って、プリンタが使用可能であることを知
る。マイクロプロセッサ#1もマイクロプロセッサ#2
も、このプリンタの使用をめぐって別のプロセッサと競
合していることに気づいていない。
【0011】マイクロプロセッサ#1が割り込みを受け
る場合には、マイクロプロセッサ#1は、予めソフトウ
ェア割り込みルーチンを実行してから、割り込み前の状
態に戻らなければならない。ところがその間に、マイク
ロプロセッサ#2がプリンタ・セマフォーに値を書き込
み、当該プリンタが現在使用中であると表示させる。つ
いでマイクロプロセッサ#2はプリンタの使用を進め
る。マイクロプロセッサ#1は割り込みルーチンを終了
して、ソフトウェア・プログラム内の割り込み前の状態
に戻る。マイクロプロセッサ#1は、プリンタが使用可
能状態であることを知って、動作を中断したのであるか
ら、プリンタ・セマフォーに値を書き込み、当該プリン
タが現在使用中であると表示させて、プリンタの使用を
進める。しかし、当該プリンタは既にマイクロプロセッ
サ#2が使用しているため、プリンタに向かうバス上で
衝突が起こる。その結果、当該プリンタは、どちらのマ
イクロプロセッサからの情報も正しくプリントアウトで
きなくなる。
【0012】この問題の一つの解決方法は、プロセッサ
がメモリ内のセマフォーの読み取りとその後の書き込み
の両方を実行している間ずっと、バスをロックすること
である。バスを「ロック」することは、現在のバス・マ
スタが、多重バス・サイクルのために当該バスを使用で
きる唯一のプロセッサということになる。通常、すべて
のプロセッサに、バスを利用する機会が定期的な間隔で
めぐってくるように、バスのアービトレーションは頻繁
に発生する。他のプロセッサがバス・マスタになって、
当該バスを使用する機会を得ないように、当該バスのロ
ックが実行される。
【0013】バス・アービトレーションを獲得して、バ
ス・マスタになったプロセッサは、予めバスをロックし
てからセマフォーを読み取る。バスがロックされるの
で、他のプロセッサはバスを使用できない。ついでバス
・マスタ・プロセッサは、メモリからセマフォーを読み
取って、システム資源が使用可能か否か判定する。資源
が使用中の場合には、バス・マスタ・プロセッサはバス
・ロックを外して、新たなバス・マスタを決めるアービ
トレーションを行える。しかし資源が使用可能な場合に
は、バス・マスタ・プロセッサは、セマフォーに新しい
値を書き込んで、システム資源が現在使用中であること
を表示できるまで、引き続きバスをロックする。
【0014】バスをロックすることにより、一度に1つ
のプロセッサしか、セマフォーを読み取って、システム
資源が使用可能であることを知り、セマフォーに値を書
き込んで、資源が現在使用中であると表示させることが
できない。そのため、バスをロックすることによって、
一度に1つのプロセッサしか実際にシステム資源を使用
しないことが保証される。そのため、バス上の衝突は回
避される。
【0015】
【発明が解決しようとする課題】しかしながら、バスを
ロックすることには重大な欠点がある。他のマイクロプ
ロセッサとシステム資源との通信の速度が大幅に低下す
る可能性があることである。その結果、システム全体の
動作速度が大幅に低下する。
【0016】たとえば、多重バスを利用する階層的バス
構造を使用しているときに、問題が生じる恐れがある。
バス・マスタ・プロセッサと、セマフォーを含んでいる
メモリとが互いに距離が離れたバス上にある場合、バス
・マスタは、セマフォーの読み取りとその後の書き込み
動作の間、自身と遠隔のメモリの間にあるすべてのバス
を絶えずロックしなければならない。セマフォーへのア
クセスは通常、マルチプロセッサ・システムでは極めて
頻度が多いことを特に考慮すれば、これはバス時間のあ
まり効果的な利用とはいえない。そのため、バスをロッ
クすることは満足のいく解決法ではない。
【0017】
【課題を解決するための手段】本発明によって、前述の
ニーズが満足されると共に、他の長所も達成される。本
発明は、1つの形態では、データ処理システムにおける
アクセス順序を決定する装置および方法によって構成さ
れる。データ処理装置は、複数の段階を有する命令を実
行できる。
【0018】データ処理装置は、命令の実行を制御する
第1部分を有する。データ処理装置はまた、前記第1部
分に結合された第2部分を有する。第2部分は、第1論
理状態および第2論理状態を有する。第2部分が第1論
理状態にある場合には、第2部分は、第1部分に、第1
順序の複数の段階を実行せしめる。また第2部分が第2
論理状態にある場合には、第2部分は、第1部分に、第
2順序の複数の段階を実行せしめる。
【0019】当業者は、添付図面と合わせて以下の詳細
な説明から、本発明を理解しよう。
【0020】
【実施例】本発明では、バスをロックする代わりに、一
度に1つのプロセッサしか、資源が使用可能であること
を表示するセマフォー値を受け取らないよう保証するた
めに異なる方法を利用する。そのため本発明では、一度
に1つのプロセッサしか資源の利用を試みないように保
証される。また本発明はバスをロックする必要がないの
で、一部のマルチプロセッサ・システムではバスの潜在
的処理能力を大幅に増大できる。
【0021】図1は、外部バス12に接続されたデータ
処理装置10を示したものである。図1に示すデータ処
理装置10は具体的にはRISC(縮小命令セットコン
ピューター)アーキテクチャを有しているが、任意のア
ーキテクチャもしくは種類のデータ処理装置10を使用
してもよい。データ処理装置10は、ユーザがソフトウ
ェア・プログラムで指定する命令を実行できる。
【0022】整数装置14,浮動小数点装置16,グラ
フィック装置18,ロード/格納実行装置20,レジス
タ・ファイル22およびスーパースカラ命令装置24は
すべて、内部バス26と双方向に接続されている。ロー
ド/格納実行装置20は、データ処理装置10内部で、
命令の実行を制御するのに用いる。本発明の一部の実施
例では、ロード/格納実行装置20は制御ピン27から
の入力を受け取ることができる。レジスタ・ファイル2
2は、たとえば、数値およびアドレスなど各種のデータ
型を格納するのに使用できる情報レジスタを含む。目標
命令キャッシュ28は、情報をスーパースカラ命令装置
24に伝送するために、スーパースカラ命令装置24に
接続されている。
【0023】「メモリ管理装置」は「MMU」と省略で
きる。データ・キャッシュMMU30は、メモリ管理装
置32,タグ34およびデータ・キャッシュ36を有し
ている。データ・キャシュMMU30内のブロックはす
べて、情報を、データ・キャッシュMMU30内の他の
どのブロックにも転送できる。タグ34はロード/格納
実行装置20から情報を受け取る。データ・キャッシュ
36は、ロード/格納実行装置20と双方向に接続され
ている。命令キャッシュMMU38は、メモリ管理装置
40,タグ42および命令キャッシュ44を有する。命
令キャッシュMMU38内のブロックはすべて、命令キ
ャッシュMMU38内の他のどのブロックにも情報を転
送できる。
【0024】タグ42およびメモリ管理装置40は、ス
ーパースカラ命令装置24から情報を受け取る。命令キ
ャッシュ44はスーパースカラ命令装置24に情報を送
出する。メモリ管理装置32は制御レジスタ・ファイル
46を含む。制御レジスタ・ファイル46は、内部バス
26を用いて、ユーザが読み書きおよびプログラムがで
きる。内部バス26を用いて、制御レジスタ・ファイル
46を読み書きするためのデータ・パスは、ロード/格
納命令装置20からデータ・キャッシュ36に至る。ま
た制御レジスタ・ファイル46は、制御情報をロード/
格納実行装置20に送出する。
【0025】バス・インタフェース48はデータ・キャ
ッシュ36と双方向に接続されている。バス・インタフ
ェース48はメモリ管理装置32およびメモリ管理装置
40から情報を受け取る。またバス・インタフェース4
8は、情報をタグ34および命令キャッシュ44に送出
する。バス・インタフェース48はまた外部バス12と
双方向に接続されている。
【0026】図2は、図1の制御レジスタ・ファイル4
6の1つの実現を示したものである。制御レジスタ・フ
ァイル46は32ビット幅となるように図示されている
が、他の幅を使用することもできる。またこの実施例は
メモリ管理装置32の一部として制御レジスタ・ファイ
ル46を示しているが、制御レジスタ・ファイル46は
実際には、データ処理装置10内で、ロード/格納実行
装置20にアクセスできる任意の場所に置くことができ
る。制御レジスタ・ファイル46はいくつかの制御レジ
スタを含んでおり、その内の1つだけ、すなわちデータ
MMU/キャッシュ制御レジスタ50だけを図示してい
る。
【0027】この仕様では、データMMU/キャッシュ
制御レジスタ50を制御レジスタ50という。制御レジ
スタ50は、制御レジスタ・ファイル46内の任意の場
所に置ける。事実、制御レジスタ50は制御レジスタ・
ファイル46の一部である必要ではなく、データ処理装
置10内の任意の場所に置ける。
【0028】制御レジスタ50はXMEM(レジスタと
メモリを交換)制御ビット52(縮尺どおりの図ではな
い)を含む。他の実施例では、XMEM制御ビット52
は、データ処理装置10内のメモリの中の都合の良い任
意の場所に置くことができる。XMEM制御ビット52
は制御レジスタ内に置く必要はないが、普通便利の良い
場所に置かれる。XMEM制御ビット52は本実施例で
は制御レジスタ50のビット位置13に位置している
が、XMEM制御ビット52は、制御レジスタ50内の
任意の場所に置ける。制御レジスタ50内に位置する他
の制御ビットは図示していない。
【0029】本発明の長所は、主に、XMEM制御ビッ
ト52およびロード/格納実行装置20、ならびに任意
のデータ処理システムで使用できる関連論理によって達
成される。XMEM制御ビット52およびその関連論理
の動作について以下に検討する。
【0030】図3は、階層的バス構造を用いたマルチプ
ロセッサ・システムを示したものである。データ処理装
置54,60,66はそれぞれ、XMEM制御ビット5
2とその関連論理を有する任意の種類のデータ処理装置
でよい。単純化するため、データ処理装置54,60,
66はすべて図1のデータ処理装置10と同一であると
仮定する。
【0031】データ処理装置54およびメモリ56はバ
ス58と双方向に接続されている。データ処理装置60
およびメモリ62はバス64と双方向に接続されてい
る。データ処理装置66およびメモリ68はバス70と
双方向に接続されている。バス58は、バス・スイッチ
72を介して、バス64と双方向に結合されている。バ
ス64は、バス・スイッチ74を介してバス70と双方
向に結合されている。バス64はバス・スイッチ76を
介して、バス78と双方向に接続されている。
【0032】図3に示すように階層的バス構造は、バス
・スイッチを介して他のバスと通信できる複数のローカ
ル・バスを配列したものである。同一のローカル・バス
上にあるプロセッサと他の装置とは、そのローカル・バ
スのみを用いて互いに通信できる。しかしプロセッサが
別のローカル・バス上の装置と通信を希望する場合に
は、1つまたは複数のバス・スイッチおよび(恐らく)
他の中間バスを介して、2つのローカル・バス間で情報
を伝達しなければならない。
【0033】たとえばデータ処理装置54がメモリ56
内のある記憶位置を読み取りたい場合には、伝送を実行
するのにローカルバス、すなわちバス58しか必要がな
い。データ処理装置54は最初にバス58のバス・マス
タシップについてアービトレーションを得る。注意すべ
きことは、あるバスに関して現在のバス・マスタである
ことは、当該バスの所有権を有しているのと同じだとい
うことである。データ処理装置54がバス58の所有権
を握ったなら、データ処理装置54は、読み取りを実行
すべきことを示す信号と共に、アドレスをバス58を介
してメモリ56に単に送出する。メモリ56は、該当す
る記憶位置にアクセスした後、バス58を介して当該メ
モリ位置に含まれるデータを返す。この情報転送にはバ
ス58だけが関与している。
【0034】しかしデータ処理装置54がメモリ68な
どより遠隔のメモリ内のある記憶位置を読み取りたい場
合には、その転送を実施するのにバス58,64,70
のすべてが必要になる。データ処理装置54は最初にバ
ス58のバス・マスタシップについてアービトレーショ
ンを得る。ついでデータ処理装置54は、バス・スイッ
チ72を介してバス64のバス・マスタシップについて
アービトレーションを得る。最後にデータ処理装置54
はバス・スイッチ74を介してバス70のバス・マスタ
シップについてアービトレーションを得る。注意すべき
ことは、データ処理装置54は、残りのバスの所有権を
獲得しようとしている間、所有権を獲得しているバスを
専有していることである。
【0035】データ処理装置54は、3つのバス58,
64,70全部の所有権を獲得した上でなければ、前記
3つのバスを介してメモリ68にアドレスおよび読み取
り信号を送出できない。メモリ68は、アドレスおよび
読み取り信号を受け取ったなら、前記アドレスが示す記
憶位置に内部的にアクセスする。メモリ68が、アクセ
スした記憶位置に含まれているデータを返すのに、再
び、3つのバス全部の所有権が必要になる。3つのバス
58,64,70はすべて、アドレス情報の転送と、そ
の後のデータ情報の転送の両方に関与している。
【0036】本発明の長所を、図3に示すマルチプロセ
ッサ・システムを用いて説明する。バスをロックしない
ことの長所は、分割バス・トランザクションおよび/ま
たは逐次制御方式を用いるマルチプロセッサ・システム
において最も顕著になる。したがってバス58,64,
70は本実施例では分割トランザクション・バスおよび
逐次制御バスの両方であると見なされる。
【0037】分割バス・トランザクションを用いるシス
テムは、異なるプロセッサがアドレス・バスとデータ・
バスの所有権を同時にもてるようにするシステムであ
る。この種のバスを分割トランザクション・バスとい
う。一例として、分割トランザクション・バスを用いる
場合、マイクロプロセッサ#1はマイクロプロセッサ#
2がデータ・バスを用いるのと同時に、アドレスバスを
使用できる。非分割トランザクション・バスでは、同じ
プロセッサが、アドレス・バスとデータ・バスの両方の
バス・マスタになる。したがって非分割トランザクショ
ン・バスを用いる場合には、アドレス・バスとデータ・
バスの所有権は分割できない。分割トランザクション・
バスは、バスの帯域幅を増すために、マルチプロセッサ
・システムでよく用いられる。
【0038】逐次制御バスは、あるトランザクションの
アドレス段階を別のトランザクションのデータ段階にオ
ーバラップできるバスである。多くのマルチプロセッサ
・バスは、アドレス・バスとデータ・バスの両方を介し
て情報転送を最大限に行うために、分割トランザクショ
ンと逐次制御方式とを結合している。
【0039】図2に示すXMEM制御ビット52は、あ
る特定の命令、すなわちXMEM(レジスタとメモリを
交換)命令の間だけ使用できる。XMEM命令は、メモ
リの内容を、図1のレジスタ・ファイル22に位置する
レジスタの内容と交換する。すなわち、XMEM命令
は、ある記憶位置の内容を、レジスタの内容と交換する
わけである。当該記憶位置が最初値「X」を含んでお
り、レジスタが最初値「Y]を含んでいる場合に、XM
EM命令はこれらの内容を交換する。XMEM命令の実
行後、当該記憶位置は値「Y」を含み、レジスタは値
「X」を含むようになる。XMEM命令は、図1に示す
回路の部分によって、従来の方法で受け取られ、実行さ
れる。
【0040】XMEM命令は、特にセマフォーを用いる
マルチプロセッサ・システムで役立つ。特定のシステム
資源を使用したいプロセッサは、その資源が使用可能か
どうかを見るために、当該資源のセマフォーを読み取
る。資源が使用可能でない場合には、プロセッサは、定
期的にセマフォーを読み取ることによって、このセマフ
ォーを引き続きポーリングする。セマフォーの値が資源
の使用可能を示したなら、プロセッサはXMEM命令を
実行し、この命令によって最初にセマフォーの現在の値
をレジスタにロードし、ついでセマフォーに新しい値を
書き込んで、当該資源が現在使用中であることを示す。
【0041】ついでプロセッサはレジスタにロードされ
たセマフォーの値を見て、当該資源が使用中か使用可能
かを判定する。セマフォーが資源の使用可能を示すな
ら、プロセッサはXMEM命令の開始時に資源が使用可
能であったことを知る。また先行技術の装置では、XM
EM命令中バスをロックする必要があったので、プロセ
ッサは、XMEM命令の読み取り部分と書き込み部分と
の間、他のプロセッサがセマフォーにアクセスできなか
ったことを知る。そのため、プロセッサは、結果として
衝突が起こらないということを踏まえて、自由に資源を
使用できる。
【0042】しかしXMEM命令の間にレジスタにロー
ドされたセマフォーが、当該資源の使用中を示す場合に
は、プロセッサはセマフォーの最新のポーリング読み取
りと、XMEM命令の実行の間に、別のプロセッサが当
該資源を獲得したことを知る。そのため資源が使用可能
状態を示すまで、プロセッサは資源を使用せず、代わり
に、セマフォーをポーリングし続けるべきであることを
知る。
【0043】先行のデータ処理装置では、メモリの内容
とレジスタの内容を交換するXMEM命令は、あるバス
に関して、XMEM動作が発生しているときを示すバス
・ロック信号を伴っていた。メモリおよびバス・アービ
トレーション論理はこのバス・ロック信号を用いて、X
MEM命令の読み取りとその後の書き込みが、バスの所
有権を獲得している別のプロセッサによって決して邪魔
されないように保証していた。プロセッサに対して、X
MEM命令の読み取りとその後の書き込みが、分かち難
い一組の動作として実行されるように保証するために
は、XMEM命令の間、バスをロックしなければならな
かった。XMEM命令の読み取り部分と書き込み部分と
の間で、他のプロセッサがバスの所有権を獲得できた場
合には、XMEMはセマフォー転送に役立たなくなる。
【0044】しかしながら本発明では、XMEM読み取
りバス・サイクルと、XMEM書き込みバス・サイクル
との間、バスをロックする必要がない。そのため一部の
バス環境では、バスの潜在的処理能力が大幅に増加す
る。先行技術のデータ処理装置では、XMEM命令は読
み取り(「ロード」ともいう)の後に書き込み(「格
納」ともいう)が来ていた。本発明では、XMEM命令
の書き込み部分を、読み取り部分の前に実行できるので
ある。結果として、バスをロックする必要はない。たと
えば図3で、データ処理装置54が、メモリ68に位置
するセマフォーにアクセスすることを希望していると仮
定する。先行技術のシステムでは、3つのバス58,6
4,70はすべて、XMEM命令の読み取り部分とその
後の書き込み部分の両方の実行中、ロックしなければな
らなかった。しかし本発明では、XMEM命令の読み取
り部分と書き込み部分の両方の実行中、3つのバスすべ
てを絶えずロックしなくても、同じXMEM命令を実行
できる。
【0045】最初にXMEM命令の書き込み部分を実行
すれば、XMEM命令の書き込み部分と読み取り部分と
の間、バスをロックする必要がない。先行技術のシステ
ムにおいてバスをロックするのに用いたバス信号は代わ
りに、ただXMEM命令が現在実行中であることを示す
のに用いることができる。
【0046】読み取りの前に書き込みを実行するXME
M命令を実行する新しい方法は、変更SMEM命令と言
われる。今度は、セマフォーのアプリケーションにおけ
る変更XMEM命令の使用について説明しよう。
【0047】プロセッサが変更XMEM命令を実行する
場合、発生する最初のバス・サイクルは、セマフォーを
入れている記憶位置への書き込みである。プロセッサは
常に、当該資源が使用中であることを示す値を書き込
む。同じ書き込みバス・サイクルの間、どのプロセッサ
がXMEM命令を開始したのかメモリが把握できるよう
に、プロセッサはプロセッサ識別値も送出する。バス信
号はXMEM命令が現在実行中であることを示すのに使
用できる。メモリは、プロセッサから書き込みを受け取
ると、セマフォーの既存の値をバッファにロードし、つ
いで新しい値を同じ記憶位置に書き込む。適正なプロセ
ッサに適正なセマフォー値を返すことができるように、
メモリは、セマフォーのバッファ付き値と共にプロセッ
サ識別値も格納する。
【0048】この時点で、セマフォーを読み取るプロセ
ッサはいずれも、資源が使用中であることを示す値を読
み取ることになる。またXMEM命令の実行を試みるプ
ロセッサはいずれも、資源が使用中であることを示す同
じ値をセマフォーに書き込み直すだけである。
【0049】注意すべき重要なことは、第2プロセッサ
が受け取るセマフォー値は、第1プロセッサが以前書き
込んだ値、すなわち、資源の使用中を示す値だというこ
とである。そのため第2プロセッサのXMEM命令の読
み取り部分が第1プロセッサの読み取り部分よりも前に
実行される場合には、メモリは第2プロセッサの識別値
を受け取り、資源の使用中を示すセマフォー値を第2プ
ロセッサに返す。また第1プロセッサのXMEM命令の
読み取り部分が最終的に実行されると、メモリは第1プ
ロセッサの識別値を受け取り、資源が使用可能であるこ
とを示すバッファ付きセマフォー値を返す。このため一
度に1つのプロセッサしか、資源が使用可能であること
を示すセマフォー値を受け取れない。
【0050】もう一度図3において、データ処理装置5
4がメモリ68に位置するセマフォーにアクセスするこ
とを希望していると仮定する。プロセッサ54は変更X
MEM命令を実行する。第1バス・サイクルは、データ
処理装置54からメモリ68への書き込みである。デー
タ処理装置54は書き込みのために3つのバス58,6
4,70すべてを使用しなければならないが、バス・ロ
ックは必要ない。1回のバス・サイクル書き込みの後、
データ処理装置54はバスの所有権を放棄し、他のプロ
セッサが自由に当該バスを使用できる。データ処理装置
54が3つのバスのアービトレーションを行い、再び所
有権を取り戻すと、XMEM命令の読み取り部分が実行
され、データ処理装置は、セマフォーの適正な値を受け
取ることができる。
【0051】ここでも一度に1つのプロセッサしか、資
源の使用可能状態を示すセマフォー値を受け取らないの
で、重要な一貫性が保たれている。また先行技術のシス
テムではXMEM命令の読み取り部分と書き込み部分と
の間、バスのロックを必要としたが、この一貫性はロッ
クしなくても得られる。
【0052】注意すべきことは、変更XMEM命令にお
いては、どのプロセッサが変更XMEM命令を実行して
いるか示すために、なんらかの方法で、書き込みサイク
ルおよび読み取りサイクルに標識を付ける必要があるこ
とである。この表示を行わない場合には、システムは、
XMEM転送中にメモリに書き込みを行う第1プロセッ
サが、資源の使用可能状態を示す初期セマフォー値を読
み取って受け取る唯一のプロセッサであるように保証す
ることによって、一貫性を確保する必要がある。XME
M転送では、XMEM命令の間になんらかの順序で発生
する段階、すなわち、読み取りバス・サイクルと書き込
みバス・サイクルを必要とする。
【0053】さらに本発明では、XMEM命令が標準X
MEM命令として実行されるのか、または変更XMEM
命令として実行されるのかユーザが判定できるようにし
ている。標準XMEM命令は既存の多くのバス環境で依
然必要とされており、読み取りサイクルの後に書き込み
サイクルを実行する。変更XMEM命令は分割トランザ
クション・バス・システムにおいて帯域幅を改善するの
に必要とされており、これはバッファ付き書き込みサイ
クルの後に読み取りサイクルを実行する。
【0054】本実施例では、ユーザは、XMEM命令が
標準XMEM命令として実行されるのか、または変更X
MEM命令として実行されるのか判定するために、制御
レジスタ・ビットを用いている。使用する制御ビット
は、図2に示すXMEM制御ビット52である。本実施
例では、XMEM制御ビット52が、デジタル論理状態
「ゼロ」に相当する2進数のゼロ値の場合には、標準X
MEM命令が実行される。XMEM制御ビット52がデ
ジタル論理状態「1」に相当する2進数の1の値をとる
場合には、変更XMEM命令が実行される。
【0055】これに代わる方法として、本発明の他の実
施例では、ユーザが、実行するXMEM命令の種類を選
択できる別の方法として、XMEM制御ビット52の代
わりに、制御ピン27を使用できる。制御ピン27の上
に、デジタル論理状態「1」に相当する電圧、またはデ
ジタル論理状態「0」に相当する電圧をかけることによ
って、ユーザは実行するXMEM命令の種類を選択でき
る。図1に示すように、制御ピン27はロード/格納実
行装置20に直接接続できる。このピンは外部バス12
に結合してもしなくてもよい。これに代わる方法とし
て、ピンを外部バス12およびバス・インタフェース4
8に接続することもできる。この場合、ロード/格納実
行装置20は、命令キャッシュ44,スーパースカラ命
令装置24および内部バス26を介して、ピンから制御
情報を受け取ることができる。
【0056】また代わりの方法として、本発明のさらに
他の実施例では、実行するXMEM命令の種類をユーザ
が選択できる方法として、命令自体の2進符号内部の1
つまたは複数のビットのビット・フィールドを、制御レ
ジスタ・ビットの代わりに使用できる。本実施例の1つ
における命令は、複数のビット・フィールドに配列され
た32個のビットによって構成される。他の実施例で
は、合計ビット数が32個以上でも以下でもよい。XM
EM命令の適正なビット・フィールドに適正な2進値を
入れることにより、ユーザは、実行するXMEM命令の
種類を選択できる。たとえば、1つのビットのビット・
フィールドを2進数のゼロ値と共に用いて標準XMEM
命令を表したり、2進数の1の値と共に用いて変更XM
EM命令を表したりできる。
【0057】図1で、XMEM命令に属するビット・フ
ィールドを用いてXMEM命令の段階もしくはタスクの
順序を選択する場合でも、XMEM命令は依然、他の命
令と同じ方法で、データ処理装置10が受け取る。他の
命令同様、XMEM命令は外部バス12からバス・イン
タフェース48によって受け取られる。XMEM命令の
各種のビット・フィールドは、XMEM命令の段階もし
くはタスクの順序を選択するのに用いるビット・フィー
ルドを除き、他の命令のビット・フィールドと同じよう
に用いられる。このタスク順序付けビット・フィールド
は、命令の実行を制御するのに用いられるロード/格納
実行装置20に転送される。本実施例では、タスク順序
付けビット・フィールドは、命令キャッシュ44,スー
パースカラ命令装置24および内部バス26を介して、
ロード/格納実行装置20に転送される。
【0058】要約すると、変更XMEM命令は、XME
M転送中にバスをロックする必要をなくすることによっ
て、分割トランザクション・バスの帯域幅を潜在的に増
加できる。XMEM制御ビット52によって、ユーザ
は、各自のシステムに最適なXMEM命令を選択でき
る。標準バス環境のシステムを有するユーザは、標準X
MEM命令を選択できる。また分割トランザクション・
バスとより複雑なバス環境を有するユーザは、変更XM
EM命令を選択できる。このソフトウェア制御を用いれ
ば、同じデータ処理装置10によって、各種のバス環境
を利用するユーザのニーズに答えることができる。また
このソフトウェア制御によって、ユーザは、各自のシス
テムのためにデータ処理装置10を最適化できる。
【0059】XMEM制御ビット52は、単にXMEM
命令を実施するのに必要な段階もしくはタスクの順序を
変更するだけであることに注意すべきである。XMEM
命令を実行する場合、XMEM制御ビット52の論理状
態と関係なく、常に同じ段階もしくはタスクが実行され
るのであり、段階もしくはタスクの順序だけが変更され
る。このため命令の結果もしくは成果はユーザにとって
同じである。標準および変更XMEM命令の両方の成果
もしくは結果として、レジスタ内の数値と記憶位置の値
が交換される。しかしユーザがこの命令の実行に用いる
段階の順序を選択できるという事実によって、結果とし
て一定のバス環境ではバス帯域幅を大幅に改善できる。
【0060】本発明は特定の命令、すなわちXMEM命
令に関連して説明しているが、複数の段階もしくはタス
クを有するいずれの命令についても使用できる。本発明
によって、ユーザは、命令の段階もしくはタスクの順序
を変更できる。ここで検討しているXMEM命令は2通
りの順序しかないが、本発明の他の実施例では、複数の
制御ビットを用いて、被選択命令の段階もしくはタスク
の複数通りの順序の中から選択することができる。
【0061】本発明は、特定の実施例について説明して
きたが、当業者はさらに変形および改良を加えられよ
う。
【0062】したがって本発明は説明した特定の形態に
限定されないこと、また本発明の精神および範囲から逸
脱しないすべての変更をカバーすることが添付クレイム
で意図されていることが、是とされる。
【図面の簡単な説明】
【図1】本発明の1つの実施例に従って、データ処理シ
ステムおよびバスをブロック図形式で示したものであ
る。
【図2】本発明の1つの実施例に従って、図1の制御レ
ジスタ・ファイルをブロック図形式で示したものであ
る。
【図3】本発明の1つの実施例に従って、階層的バス・
システムをブロック図形式で示したものである。
【符号の説明】
10 データ処理装置 12 外部バス 14 整数装置 16 浮動小数点装置 18 グラフィック装置 20 ロード/格納実行装置 22 レジスタ・ファイル 24 スーパースカラ命令装置 27 制御ピン 28 目標命令キャッシュ 30 データ・キャッシュMMU 32,40 メモリ管理装置 34,42 タグ 36 データ・キャッシュ 38 命令キャッシュMMU 44 命令キャッシュ 46 制御レジスタ・ファイル 48 バス・インタフェース 50 制御レジスタ 52 XMEM制御ビット 54,60,66 データ処理装置 56,62,68 メモリ 58,64,70,78 バス 72,74,76 バス・スイッチ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジェイムズ・ビー・ガレット アメリカ合衆国テキサス州オースティン、 385、スパイグラス・アパートメント1781 (72)発明者 カーラ・バスデン・ペペ アメリカ合衆国テキサス州オースティン、 シャンハイ・ピアス・ロード5910

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数の段階を有する命令を実行できるデ
    ータ処理装置(10)であって、前記装置は:命令の実
    行を制御する第1手段(20);および前記第1手段に
    結合されており、第1論理状態および第2論理状態を有
    する第2手段(52または27)であって、前記第2手
    段(52または27)が前記第1論理状態にある場合に
    は、前記第1手段(20)に第1順序で複数の段階を実
    行せしめ、前記第2手段(52または27)が前記第2
    論理状態にある場合には、前記第1手段(20)に、第
    2順序で複数の段階を実行せしめるための前記第2手段
    (52または27);によって構成されることを特徴と
    するデータ処理装置。
  2. 【請求項2】 外部メモリ(56)に結合でき、また命
    令を実行できるデータ処理装置(10)であって、前記
    装置(10)は:命令の実行を制御する第1手段(2
    0);および前記第1手段に結合されており、第1論理
    状態および第2論理状態(20)を有する第2手段(5
    2または27)であって、前記第2手段(52または2
    7)が前記第1論理状態にある場合には、前記第1手段
    (20)に、命令の読み取り段階の実行後、命令の書き
    込み段階を実行せしめ、前記第2手段(52または2
    7)が前記第2論理状態にある場合には、前記第1手段
    (20)に、命令の書き込み段階の実行後、命令の読み
    取り段階を実行せしめるための前記第2手段(52また
    は27);によって構成されることを特徴とするデータ
    処理装置。
  3. 【請求項3】 データ処理装置(10)において命令を
    実行するのに必要な複数のタスクの順序を決定する方法
    であって、前記方法は:前記データ処理装置(10)の
    ユーザが、制御手段(52または27)の論理状態を決
    定できるようにする段階;前記制御手段(52または2
    7)を用いて、命令のための複数のタスクの第1順序
    と、同じ命令のための同じ複数のタスクの第2順序の内
    1つを、被選択順序として選択する段階;および前記被
    選択順序を用いて命令を実行する段階;によって構成さ
    れることを特徴とする複数のタスクの順序を決定する方
    法。
JP04608593A 1992-02-14 1993-02-12 データ処理システムにおける命令の実行順序を決定する方法および装置 Expired - Lifetime JP3431941B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US83747092A 1992-02-14 1992-02-14
US837470 1992-02-14

Publications (2)

Publication Number Publication Date
JPH06119297A true JPH06119297A (ja) 1994-04-28
JP3431941B2 JP3431941B2 (ja) 2003-07-28

Family

ID=25274538

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04608593A Expired - Lifetime JP3431941B2 (ja) 1992-02-14 1993-02-12 データ処理システムにおける命令の実行順序を決定する方法および装置

Country Status (5)

Country Link
US (1) US5594880A (ja)
EP (1) EP0555680B1 (ja)
JP (1) JP3431941B2 (ja)
KR (1) KR100315880B1 (ja)
DE (1) DE69326705T2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3411300B2 (ja) * 1992-02-18 2003-05-26 株式会社日立製作所 情報処理装置
US5734874A (en) * 1994-04-29 1998-03-31 Sun Microsystems, Inc. Central processing unit with integrated graphics functions
US5732244A (en) * 1995-07-24 1998-03-24 Unisys Corp. Multiprocessor with split transaction bus architecture for sending retry direction to other bus module upon a match of subsequent address bus cycles to content of cache tag
US5872980A (en) * 1996-01-25 1999-02-16 International Business Machines Corporation Semaphore access control buffer and method for accelerated semaphore operations
US5784640A (en) * 1996-03-18 1998-07-21 Advanced Micro Devices, Inc. CPU with DSP function preprocessor having look-up table for translating instruction sequences intended to perform DSP function into DSP macros
US5794068A (en) * 1996-03-18 1998-08-11 Advanced Micro Devices, Inc. CPU with DSP having function preprocessor that converts instruction sequences intended to perform DSP function into DSP function identifier
US5754878A (en) * 1996-03-18 1998-05-19 Advanced Micro Devices, Inc. CPU with DSP function preprocessor having pattern recognition detector that uses table for translating instruction sequences intended to perform DSP function into DSP macros
US5781792A (en) * 1996-03-18 1998-07-14 Advanced Micro Devices, Inc. CPU with DSP having decoder that detects and converts instruction sequences intended to perform DSP function into DSP function identifier
FR2759472B1 (fr) * 1997-02-12 1999-05-07 Thomson Csf Registre semaphore rapide a fonctionnement securise sans protocole de bus specifique
US6263425B1 (en) * 1997-07-08 2001-07-17 National Semiconductor Corporation Circuit that implements semaphores in a multiprocessor environment without reliance on atomic test and set operations of the processor cores
US6000029A (en) 1997-11-03 1999-12-07 Motorola, Inc. Method and apparatus for affecting subsequent instruction processing in a data processor
US6032178A (en) * 1998-01-12 2000-02-29 Siemens Aktiengesellschaft Method and arrangement for data transmission between units on a bus system selectively transmitting data in one of a first and a second data transmission configurations
US6415369B1 (en) * 2000-08-29 2002-07-02 Agere Systems Guardian Corp. Shared devices and memory using split bus and time slot interface bus arbitration

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3699526A (en) * 1971-03-26 1972-10-17 Ibm Program selection based upon intrinsic characteristics of an instruction stream
US3886525A (en) * 1973-06-29 1975-05-27 Ibm Shared data controlled by a plurality of users
US4142246A (en) * 1976-12-23 1979-02-27 Fuji Electric Company, Ltd. Sequence controller with dynamically changeable program
US4336602A (en) * 1979-09-24 1982-06-22 Control Data Corporation Network for generating modified microcode addresses
US4354227A (en) * 1979-11-19 1982-10-12 International Business Machines Corp. Fixed resource allocation method and apparatus for multiprocessor systems having complementarily phased cycles
US4510582A (en) * 1981-06-01 1985-04-09 International Business Machines Corp. Binary number substitution mechanism
US4594657A (en) * 1983-04-22 1986-06-10 Motorola, Inc. Semaphore for memory shared by two asynchronous microcomputers
US4604694A (en) * 1983-12-14 1986-08-05 International Business Machines Corporation Shared and exclusive access control
US4722049A (en) * 1985-10-11 1988-01-26 Unisys Corporation Apparatus for out-of-order program execution
US4881194A (en) * 1987-11-16 1989-11-14 Intel Corporation Stored-program controller for equalizing conditional branch delays
US4815039A (en) * 1988-01-11 1989-03-21 Texas Instruments Incorporated Fast real-time arbiter
US4933901A (en) * 1988-01-11 1990-06-12 Texas Instruments Incorporated Method for assigning priority to read and write requests received closely in time
US5088048A (en) * 1988-06-10 1992-02-11 Xerox Corporation Massively parallel propositional reasoning
US5163140A (en) * 1990-02-26 1992-11-10 Nexgen Microsystems Two-level branch prediction cache

Also Published As

Publication number Publication date
US5594880A (en) 1997-01-14
DE69326705T2 (de) 2000-04-27
EP0555680B1 (en) 1999-10-13
KR100315880B1 (ko) 2002-02-19
JP3431941B2 (ja) 2003-07-28
EP0555680A1 (en) 1993-08-18
DE69326705D1 (de) 1999-11-18
KR930018389A (ko) 1993-09-21

Similar Documents

Publication Publication Date Title
EP0760135B1 (en) Method and apparatus for maintaining transaction ordering and supporting deferred replies in a bus bridge
US5444853A (en) System and method for transferring data between a plurality of virtual FIFO's and a peripheral via a hardware FIFO and selectively updating control information associated with the virtual FIFO's
US6115761A (en) First-In-First-Out (FIFO) memories having dual descriptors and credit passing for efficient access in a multi-processor system environment
US20020165896A1 (en) Multiprocessor communication system and method
JP3431941B2 (ja) データ処理システムにおける命令の実行順序を決定する方法および装置
JPH0772889B2 (ja) 情報処理システム
JP2001117859A (ja) バス制御装置
AU603876B2 (en) Multiple i/o bus virtual broadcast of programmed i/o instructions
KR20040017822A (ko) 데이터 전송 방법, 시스템 및 컴퓨터 판독가능 매체
JPH0997184A (ja) 効率的な割込み処理を含む情報処理システム
JP4642531B2 (ja) データ要求のアービトレーション
JP2591502B2 (ja) 情報処理システムおよびそのバス調停方式
JP2003271574A (ja) 共有メモリ型マルチプロセッサシステムにおけるデータ通信方法
US6502150B1 (en) Method and apparatus for resource sharing in a multi-processor system
US5666545A (en) Direct access video bus computer system and method for transferring video information using a dedicated video bus
JP2813182B2 (ja) マルチプロセッサコンピュータ複合装置
KR960005395B1 (ko) 최소 경합 프로세서 및 시스템 버스 시스템
JP2001236335A (ja) 分散メモリ型並列計算機及びそのデータ転送終了確認方法
JPH05216794A (ja) 相互問い合わせ要求に優先権を与える方法及び装置
JPH1185673A (ja) 共有バスの制御方法とその装置
EP0537898B1 (en) Computer system including video subsystem
JPH1173403A (ja) クロスバスイッチ制御回路
JPH07114522A (ja) マルチプロセッサシステム
JP2001075826A (ja) 並列計算機における高効率セマフォ処理方式
JPH0512219A (ja) プロセス転送方式

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D04

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090523

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100523

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100523

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 10

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 10