JPH0696030A - マルチプロセッサのための拡張プロセッサバッファインターフェース - Google Patents
マルチプロセッサのための拡張プロセッサバッファインターフェースInfo
- Publication number
- JPH0696030A JPH0696030A JP5143916A JP14391693A JPH0696030A JP H0696030 A JPH0696030 A JP H0696030A JP 5143916 A JP5143916 A JP 5143916A JP 14391693 A JP14391693 A JP 14391693A JP H0696030 A JPH0696030 A JP H0696030A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- processor
- address
- register
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1657—Access to multiple memories
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】
【目的】 マルチプロセッサシステム(10)で使用さ
れる拡張プロセッサバッファインターフェース(22
c)を提供する。 【構成】 拡張プロセッサバッファインターフェース
は、マルチプロセッサの整合性の維持と、ロードされた
メモリロケーションの読取りおよび書込みにおいて、付
加プロセッサ(22a)の必要な関与を最小とするため
に、アトミックフェッチおよび加算動作を実行し、ま
た、400Mバイトに及ぶレートでバーストモードメモ
リアクセスの動作を行なうインターリーブされたメモリ
バンク(22d)をサポートし、また、異なるメモリア
クセスタイミングをサポートするのに必要とされるよう
な待ち状態を選択的に提供するために切り換え可能な状
態マシーン(52、54、100)を含み、さらに、外
部の多数素子LEDディスプレー(110)への改良さ
れたシリアルインターフェースを提供する。
れる拡張プロセッサバッファインターフェース(22
c)を提供する。 【構成】 拡張プロセッサバッファインターフェース
は、マルチプロセッサの整合性の維持と、ロードされた
メモリロケーションの読取りおよび書込みにおいて、付
加プロセッサ(22a)の必要な関与を最小とするため
に、アトミックフェッチおよび加算動作を実行し、ま
た、400Mバイトに及ぶレートでバーストモードメモ
リアクセスの動作を行なうインターリーブされたメモリ
バンク(22d)をサポートし、また、異なるメモリア
クセスタイミングをサポートするのに必要とされるよう
な待ち状態を選択的に提供するために切り換え可能な状
態マシーン(52、54、100)を含み、さらに、外
部の多数素子LEDディスプレー(110)への改良さ
れたシリアルインターフェースを提供する。
Description
【0001】
【産業上の利用分野】この発明は、一般的には、マルチ
プロセッサデータ処理システム、より具体的には、各プ
ロセッサを共用メモリを含むシステム資源へインターフ
ェースするための方法および装置に関する。
プロセッサデータ処理システム、より具体的には、各プ
ロセッサを共用メモリを含むシステム資源へインターフ
ェースするための方法および装置に関する。
【0002】
【従来の技術】多量の時間依存データセットと対話し、
眼に見えるようにするのに必要とされるシステム要件
は、処理されるデータセットの全体を蓄えるための大容
量の広帯域幅のディスクアレー、問題セットをダウンロ
ードするための高速ネットワーク、単一のシミュレーシ
ョンタイムステップを処理するのに必要とされる全ての
データをバッファするための大容量、高速メモリ、デー
タセットを操作し、拡張し、眼に見えるようにするのに
適した計算能力、およびリアルタイム、高解像度の可視
ディスプレーを含む。さらに、これらの機能が高速にプ
ログラム可能で柔軟なユーザ環境に提供されることが重
要である。
眼に見えるようにするのに必要とされるシステム要件
は、処理されるデータセットの全体を蓄えるための大容
量の広帯域幅のディスクアレー、問題セットをダウンロ
ードするための高速ネットワーク、単一のシミュレーシ
ョンタイムステップを処理するのに必要とされる全ての
データをバッファするための大容量、高速メモリ、デー
タセットを操作し、拡張し、眼に見えるようにするのに
適した計算能力、およびリアルタイム、高解像度の可視
ディスプレーを含む。さらに、これらの機能が高速にプ
ログラム可能で柔軟なユーザ環境に提供されることが重
要である。
【0003】かかる大規模で複雑なシステムを実現する
ために、同一のタスクの同じ局面あるいは異なる局面に
ついて複数のデータプロセッサが並列に動作する、マル
チプロセッサ手法が採られる。
ために、同一のタスクの同じ局面あるいは異なる局面に
ついて複数のデータプロセッサが並列に動作する、マル
チプロセッサ手法が採られる。
【0004】マルチプロセッサシステムにおいて特に考
慮すべきことは、各プロセッサを共通の、あるいは共用
のシステム資源に対して、また、ローカルあるいは私用
のプロセッサ資源に対してもインターフェースすること
である。一例として、そこに結合された共用(グローバ
ル)システムメモリを有するグローバルバスに対して各
プロセッサをインターフェースし、然も、各プロセッサ
を私用のローカルメモリに対しても結合することが必要
とされる。
慮すべきことは、各プロセッサを共通の、あるいは共用
のシステム資源に対して、また、ローカルあるいは私用
のプロセッサ資源に対してもインターフェースすること
である。一例として、そこに結合された共用(グローバ
ル)システムメモリを有するグローバルバスに対して各
プロセッサをインターフェースし、然も、各プロセッサ
を私用のローカルメモリに対しても結合することが必要
とされる。
【0005】米国特許出願第733,517号、名称
「マルチプロセッサシステムのためのプロセッサバッフ
ァインターフェース」、フォスター他には、多数の機能
を行なうプロセッサバッファインターフェース(PBI
F)が開示されている。これらの機能は、32メガバイ
ト(Mバイト)のローカルメモリの制御およびアドレス
生成によるローカルメモリインターフェースの提供、グ
ローバルメモリ動作をキャッシュするための256ビッ
ト幅の読取りおよび書込みバッファを設けることによる
グローバルメモリインターフェースの提供、8個の内部
あるいは8個の外部割込みのための割込み制御の提供で
ある。PBIFによって提供される付加的な機能は、D
MA機能、タイマー/カウンタのようなその他の機能、
およびシリアル診断バスインターフェースの提供であ
る。PBIFは、メモリアクセスおよびLED指示器と
のインターフェースを含む多数の動作のタイミングおよ
びシーケンスを制御するために、状態マシーンを含む。
「マルチプロセッサシステムのためのプロセッサバッフ
ァインターフェース」、フォスター他には、多数の機能
を行なうプロセッサバッファインターフェース(PBI
F)が開示されている。これらの機能は、32メガバイ
ト(Mバイト)のローカルメモリの制御およびアドレス
生成によるローカルメモリインターフェースの提供、グ
ローバルメモリ動作をキャッシュするための256ビッ
ト幅の読取りおよび書込みバッファを設けることによる
グローバルメモリインターフェースの提供、8個の内部
あるいは8個の外部割込みのための割込み制御の提供で
ある。PBIFによって提供される付加的な機能は、D
MA機能、タイマー/カウンタのようなその他の機能、
およびシリアル診断バスインターフェースの提供であ
る。PBIFは、メモリアクセスおよびLED指示器と
のインターフェースを含む多数の動作のタイミングおよ
びシーケンスを制御するために、状態マシーンを含む。
【0006】PBIFタイミングおよび動作は、インテ
ル社製のi860XR(N10)として知られているマ
イクロプロセッサタイプをサポートするために最適化さ
れる。セマフォー動作を実現するのに採用されるものの
ようなメモリフェッチおよび加算タイプメモリ動作を実
現するために、ロックされた読取りがなされ、続いて共
用メモリからデータ戻りがなされる。データ戻りは、ア
ドレス指定されたメモリロケーションをロックし、他の
プロセッサによるアクセスが阻止される。戻りデータ
は、プロセッサの識別を提供することによってプロセッ
サにより変更され、この変更データがロックされた書込
みサイクルを使用して共用メモリに対して書き戻され
る。ロックされた書込みサイクルの完了は、アドレス指
定されたロケーションのロックを解除し、それによっ
て、他のプロセッサがアクセス可能となる。典型的に
は、ロケーションの内容が共用システム資源の現在の所
有権を示す。
ル社製のi860XR(N10)として知られているマ
イクロプロセッサタイプをサポートするために最適化さ
れる。セマフォー動作を実現するのに採用されるものの
ようなメモリフェッチおよび加算タイプメモリ動作を実
現するために、ロックされた読取りがなされ、続いて共
用メモリからデータ戻りがなされる。データ戻りは、ア
ドレス指定されたメモリロケーションをロックし、他の
プロセッサによるアクセスが阻止される。戻りデータ
は、プロセッサの識別を提供することによってプロセッ
サにより変更され、この変更データがロックされた書込
みサイクルを使用して共用メモリに対して書き戻され
る。ロックされた書込みサイクルの完了は、アドレス指
定されたロケーションのロックを解除し、それによっ
て、他のプロセッサがアクセス可能となる。典型的に
は、ロケーションの内容が共用システム資源の現在の所
有権を示す。
【0007】しかしながら、例えば全ての32個のプロ
セッサがメモリ中の単一の共用要素についてのロックを
獲得しようとする時には、このプロトコルに付加される
オーバーヘッドがかなりのものとなる。すなわち、各プ
ロセッサがそれがロック済かどうかを決定するためにそ
のロケーションを読取り、ロケーションがフリー(ロッ
ク解除される)まで待ち、ロック要求を発行し、ロック
要求が認可されたかどうかを決定し、そして、データの
変更を始めなければならない。
セッサがメモリ中の単一の共用要素についてのロックを
獲得しようとする時には、このプロトコルに付加される
オーバーヘッドがかなりのものとなる。すなわち、各プ
ロセッサがそれがロック済かどうかを決定するためにそ
のロケーションを読取り、ロケーションがフリー(ロッ
ク解除される)まで待ち、ロック要求を発行し、ロック
要求が認可されたかどうかを決定し、そして、データの
変更を始めなければならない。
【0008】さらに、PBIFがたとえその意図するア
プリケーションに対して良く適合しいるにしても、ロー
カルマイクロプロセッサをより速いレート、すなわち、
1クロックサイクルおきではなく、各クロックサイクル
でデータを受け取ることができる装置へ上位移行させた
いならば、PBIFの拡張と、対応するローカルメモリ
およびメモリインターフェース回路の拡張が望ましく、
それにより上位移行されたマイクロプロセッサの付加的
性能および速度を完全に活用することが可能となる。
プリケーションに対して良く適合しいるにしても、ロー
カルマイクロプロセッサをより速いレート、すなわち、
1クロックサイクルおきではなく、各クロックサイクル
でデータを受け取ることができる装置へ上位移行させた
いならば、PBIFの拡張と、対応するローカルメモリ
およびメモリインターフェース回路の拡張が望ましく、
それにより上位移行されたマイクロプロセッサの付加的
性能および速度を完全に活用することが可能となる。
【0009】
【発明が解決しようとする課題】従って、この発明の一
つの目的は、マルチプロセッサシステムで使用される拡
張されたプロセッサバッファインターフェースを提供す
ることにある。
つの目的は、マルチプロセッサシステムで使用される拡
張されたプロセッサバッファインターフェースを提供す
ることにある。
【0010】この発明の他の目的は、マルチプロセッサ
の整合性を維持するとともに、ロックされたメモリロケ
ーションの読取りおよび書込みにおけるプロセッサの必
要とされる関与を最小とするために、アトミックフェッ
チおよび加算動作を実行する、拡張されたバッファイン
ターフェースを提供することにある。
の整合性を維持するとともに、ロックされたメモリロケ
ーションの読取りおよび書込みにおけるプロセッサの必
要とされる関与を最小とするために、アトミックフェッ
チおよび加算動作を実行する、拡張されたバッファイン
ターフェースを提供することにある。
【0011】この発明の他の目的は、400Mバイト/
秒に及ぶレートでバーストモードメモリアクセスで動作
するインターリーブされたメモリバンクをサポートする
拡張されたプロセッサバッファインターフェースを提供
することにある。
秒に及ぶレートでバーストモードメモリアクセスで動作
するインターリーブされたメモリバンクをサポートする
拡張されたプロセッサバッファインターフェースを提供
することにある。
【0012】この発明のさらに他の目的は、異なるメモ
リアクセスタイミングのために要求されるような待ち状
態を選択的に提供するための切り換え可能な状態マシー
ンを含む拡張されたプロセッサバッファインターフェー
スを提供することにある。
リアクセスタイミングのために要求されるような待ち状
態を選択的に提供するための切り換え可能な状態マシー
ンを含む拡張されたプロセッサバッファインターフェー
スを提供することにある。
【0013】この発明のよりさらに他の目的は、プロセ
ッサ介入の必要量を最小とするように、改良されたLE
D状態マシーンを備える、拡張されたプロセッサバッフ
ァインターフェースを提供することにある。
ッサ介入の必要量を最小とするように、改良されたLE
D状態マシーンを備える、拡張されたプロセッサバッフ
ァインターフェースを提供することにある。
【0014】
【課題を解決するための手段】上述のこの発明の目的
は、マルチプロセッサシステムのプロセッサをローカ
ル、私用メモリおよびグローバル、共用メモリを含む他
のシステム構成要素へ結合させるインターフェースユニ
ットによって達成される。
は、マルチプロセッサシステムのプロセッサをローカ
ル、私用メモリおよびグローバル、共用メモリを含む他
のシステム構成要素へ結合させるインターフェースユニ
ットによって達成される。
【0015】この発明の一つの態様によれば、ロックさ
れたメモリ読取り/書込みサイクルを第1のデータプロ
セッサによって実行するための方法および装置が提供さ
れる。この方法は、(A)メモリに書込まれる値を第1
のレジスタ内に格納するステップと、(B)メモリ内の
ロケーションのアドレスを第2のレジスタに格納し、こ
のアドレスの格納ステップに応答して値が格納されるス
テップと、(C)第1のレジスタに格納されたアドレス
によって特定されるメモリ内のロケーションに対してロ
ックされた読取りサイクルを開始するステップと、
(D)アドレス指定されたロケーションの内容をメモリ
から受け取るステップと、(E)第3のレジスタ内に受
け取った内容を格納するステップと、(F)第2のレジ
スタの内容をアドレス指定されたロケーションの受け取
られた内容と結合し、結合値を作成するステップと、
(G)そのロケーションに対して結合値を格納するため
に、第1のレジスタ内に格納されているアドレスによっ
て特定されるメモリ内のロケーションに対してロックさ
れた書込みサイクルを開始するステップとからなる。
れたメモリ読取り/書込みサイクルを第1のデータプロ
セッサによって実行するための方法および装置が提供さ
れる。この方法は、(A)メモリに書込まれる値を第1
のレジスタ内に格納するステップと、(B)メモリ内の
ロケーションのアドレスを第2のレジスタに格納し、こ
のアドレスの格納ステップに応答して値が格納されるス
テップと、(C)第1のレジスタに格納されたアドレス
によって特定されるメモリ内のロケーションに対してロ
ックされた読取りサイクルを開始するステップと、
(D)アドレス指定されたロケーションの内容をメモリ
から受け取るステップと、(E)第3のレジスタ内に受
け取った内容を格納するステップと、(F)第2のレジ
スタの内容をアドレス指定されたロケーションの受け取
られた内容と結合し、結合値を作成するステップと、
(G)そのロケーションに対して結合値を格納するため
に、第1のレジスタ内に格納されているアドレスによっ
て特定されるメモリ内のロケーションに対してロックさ
れた書込みサイクルを開始するステップとからなる。
【0016】受け取りのステップは、第2のデータプロ
セッサによるアクセスに対してメモリ内のロケーション
をロックするステップと、メモリ内のロックを解除する
ステップを含むロックされた書込みサイクルを開始する
ステップとを含む。
セッサによるアクセスに対してメモリ内のロケーション
をロックするステップと、メモリ内のロックを解除する
ステップを含むロックされた書込みサイクルを開始する
ステップとを含む。
【0017】ロックされた読取りサイクルは、第1のデ
ータプロセッサに対する保持要求信号を生成するステッ
プと、第1のデータプロセッサから保持アクノリッジ信
号を受け取るステップとを含む。保持アクノリッジ信号
の受け取りは、メモリと結合されるバスの制御を第1の
データプロセッサが解放したことを指示する。
ータプロセッサに対する保持要求信号を生成するステッ
プと、第1のデータプロセッサから保持アクノリッジ信
号を受け取るステップとを含む。保持アクノリッジ信号
の受け取りは、メモリと結合されるバスの制御を第1の
データプロセッサが解放したことを指示する。
【0018】この方法は、さらに、(H)第3のレジス
タ手段の内容をデータプロセッサによって読取るステッ
プと、(I)そのロケーションが以前に第2のデータプ
ロセッサによって書込まれていることを第3のレジスタ
の内容が指示するかどうかを決定し、若し、そう指示さ
れるのであれば、ステップ(A)〜(G)を実行し、第
3のレジスタの内容をそのロケーションに復元するステ
ップとを含む。
タ手段の内容をデータプロセッサによって読取るステッ
プと、(I)そのロケーションが以前に第2のデータプ
ロセッサによって書込まれていることを第3のレジスタ
の内容が指示するかどうかを決定し、若し、そう指示さ
れるのであれば、ステップ(A)〜(G)を実行し、第
3のレジスタの内容をそのロケーションに復元するステ
ップとを含む。
【0019】この方法は、必要なプロセッサのオーバー
ヘッドを低減し、また、幾つかのプロセッサがロックさ
れたロケーションに関してそれぞれ競合する時に、ロッ
クを獲得するための待ち時間をかなり少なくできる。
ヘッドを低減し、また、幾つかのプロセッサがロックさ
れたロケーションに関してそれぞれ競合する時に、ロッ
クを獲得するための待ち時間をかなり少なくできる。
【0020】この発明の他の態様によれば、データプロ
セッサのためのインターフェースが提供され、このイン
ターフェースは、インターフェースの外部の装置をアク
セスするためのプログラム可能な待ち状態を有する。こ
のインターフェースは、データプロセッサによってセッ
ト可能なビットを有する制御レジスタを含む。さらに、
インターフェースは、第2のメモリインターフェースを
含み、これは、アドレス信号ラインおよび制御信号ライ
ンを第2のメモリシステムに対して提供する間に、1以
上の待ちタイミング状態を選択的に挿入あるいは非挿入
するために、制御レジスタのビットの少なくとも1ビッ
トの状態に応答する。第1のメモリシステムは、広帯域
幅を達成するためにインターリーブされたメモリバンク
を有する、私用、ローカルプロセッサメモリシステムで
あり、第2のメモリシステムは、システムバス上でアク
セス可能な共用、グローバルメモリである。
セッサのためのインターフェースが提供され、このイン
ターフェースは、インターフェースの外部の装置をアク
セスするためのプログラム可能な待ち状態を有する。こ
のインターフェースは、データプロセッサによってセッ
ト可能なビットを有する制御レジスタを含む。さらに、
インターフェースは、第2のメモリインターフェースを
含み、これは、アドレス信号ラインおよび制御信号ライ
ンを第2のメモリシステムに対して提供する間に、1以
上の待ちタイミング状態を選択的に挿入あるいは非挿入
するために、制御レジスタのビットの少なくとも1ビッ
トの状態に応答する。第1のメモリシステムは、広帯域
幅を達成するためにインターリーブされたメモリバンク
を有する、私用、ローカルプロセッサメモリシステムで
あり、第2のメモリシステムは、システムバス上でアク
セス可能な共用、グローバルメモリである。
【0021】この発明の一つのさらなる態様は、外部に
設けられた多数素子LEDディスプレーに対する改良さ
れたインターフェースを有するインターフェース装置を
提供する。状態マシーンは、インターフェース装置内の
レジスタの所望の表示内容を初期的に格納する以外に
は、プロセッサ介入を要求することなく、ビットシリア
ルでLEDディスプレーをロードする。
設けられた多数素子LEDディスプレーに対する改良さ
れたインターフェースを有するインターフェース装置を
提供する。状態マシーンは、インターフェース装置内の
レジスタの所望の表示内容を初期的に格納する以外に
は、プロセッサ介入を要求することなく、ビットシリア
ルでLEDディスプレーをロードする。
【0022】
【実施例】図1を参照すると、図1には、この発明によ
り構成され、また、動作する拡張プロセッサバッファイ
ンターフェース(EPBIF)が図示されている。すな
わち、科学的可視システム(SVS)10の構成要素が
示されている。SVS10の目的は、対話的な速度で複
雑なデータセットを処理し、操作し、見えるようにす
る。しかしながら、このシステム10の利用は、この一
つの重要なアプリケーションのみに限定されない。さら
に、明確に分かるように、この発明によるEPBIFの
利用は、この特定のシステムのみに制限されない。すな
わち、EPBIFは、この発明により教示されるよう
に、多数の異なるタイプのマルチプロセッサシステムに
おいて有効に使用される。
り構成され、また、動作する拡張プロセッサバッファイ
ンターフェース(EPBIF)が図示されている。すな
わち、科学的可視システム(SVS)10の構成要素が
示されている。SVS10の目的は、対話的な速度で複
雑なデータセットを処理し、操作し、見えるようにす
る。しかしながら、このシステム10の利用は、この一
つの重要なアプリケーションのみに限定されない。さら
に、明確に分かるように、この発明によるEPBIFの
利用は、この特定のシステムのみに制限されない。すな
わち、EPBIFは、この発明により教示されるよう
に、多数の異なるタイプのマルチプロセッサシステムに
おいて有効に使用される。
【0023】SVS10は、幾つかの主要構成要素を有
する。第1の構成要素は、データ処理システム内に具体
化されるサーバ12である。これは、大規模な計算能力
と、高速メモリと、インテリジェントI/Oプロセッサ
を提供し、これらの全てが高速グローバルバスによって
相互接続されている。グローバルバス、共有バスおよび
共通相互接続は、ここでは、交換可能な意味に使われて
いる。
する。第1の構成要素は、データ処理システム内に具体
化されるサーバ12である。これは、大規模な計算能力
と、高速メモリと、インテリジェントI/Oプロセッサ
を提供し、これらの全てが高速グローバルバスによって
相互接続されている。グローバルバス、共有バスおよび
共通相互接続は、ここでは、交換可能な意味に使われて
いる。
【0024】第2の構成要素は、コンソールプロセッサ
14であり、一例として、IBM社製のRISC シス
テム/6000(RS6000)により具体化される
(RISC システム/6000は、IBM社の商標で
ある)。コンソール14は、遠隔ワークステーション
(図示しない)からのネットワークアクセスを提供す
る。
14であり、一例として、IBM社製のRISC シス
テム/6000(RS6000)により具体化される
(RISC システム/6000は、IBM社の商標で
ある)。コンソール14は、遠隔ワークステーション
(図示しない)からのネットワークアクセスを提供す
る。
【0025】第3の構成要素は、一例としてそのために
コンソール機能を提供するRS/6000を含む、フレ
ームバッファ16である。フレームバッファ16は、リ
アルタイム表示能力を高解像度ディスプレー18に与え
るために、ANSI標準の高性能並列インターフェース
(HIPP)を介して付加されたインターフェースおよ
び画像バッファリングハードウエア16aを有する。シ
ステム10の他の構成要素は、ディスクアレー20であ
る。ディスクアレー20は、HIPPインターフェース
を介して55Mバイト/秒の転送レートの21Gバイト
の容量を有する記憶システムに組み入れられる。
コンソール機能を提供するRS/6000を含む、フレ
ームバッファ16である。フレームバッファ16は、リ
アルタイム表示能力を高解像度ディスプレー18に与え
るために、ANSI標準の高性能並列インターフェース
(HIPP)を介して付加されたインターフェースおよ
び画像バッファリングハードウエア16aを有する。シ
ステム10の他の構成要素は、ディスクアレー20であ
る。ディスクアレー20は、HIPPインターフェース
を介して55Mバイト/秒の転送レートの21Gバイト
の容量を有する記憶システムに組み入れられる。
【0026】なお、システム10の正確な構成は、意図
する使用に応じて変化し、また、図1の構成は、この発
明の実施上の制約を表すものではない。
する使用に応じて変化し、また、図1の構成は、この発
明の実施上の制約を表すものではない。
【0027】図2を参照すると、図2には、SVS10
のサーバ12のブロック図が示されている。サーバ12
は、印刷回路カード22毎に4個のプロセッサ(P1〜
P4)として編成された、複数の個別プロセッサ22a
からなる。サーバ12は、8個に及ぶカード、合計で3
2個までのプロセッサを含むことができる。各プロセッ
サカード22は、ローカルプロセッサカード(LPC)
バス32をSVSグローバルバス24へ結合するための
汎用バスインターフェース(UBIF)34を含む。S
VSグローバルバス24に対しては、複数のグローバル
メモリカード26、複数のI/Oプロセッサカード2
8、RS/6000コンソール14に対するインターフ
ェース30、およびバックプレーンアービタ36も結合
されている。
のサーバ12のブロック図が示されている。サーバ12
は、印刷回路カード22毎に4個のプロセッサ(P1〜
P4)として編成された、複数の個別プロセッサ22a
からなる。サーバ12は、8個に及ぶカード、合計で3
2個までのプロセッサを含むことができる。各プロセッ
サカード22は、ローカルプロセッサカード(LPC)
バス32をSVSグローバルバス24へ結合するための
汎用バスインターフェース(UBIF)34を含む。S
VSグローバルバス24に対しては、複数のグローバル
メモリカード26、複数のI/Oプロセッサカード2
8、RS/6000コンソール14に対するインターフ
ェース30、およびバックプレーンアービタ36も結合
されている。
【0028】SVS10のこの実施例では、各グローバ
ルメモリカードがエラー訂正ロジックを有する128M
Bあるいは256MBのいずれかのランダムアクセスメ
モリによって構成される。サーバ12は、4個までのグ
ローバルメモリカード26を含む。各グローバルメモリ
カード26は、システム10の各プロセッサにおけるメ
モリアクセス待ち時間を低減する方法で、640MB/
秒のデータ帯域幅を提供する。これは、各メモリカード
26上のグローバルメモリを4個のメモリバンク(B0
〜B3)へ区分することによって達成される。各メモリ
バンクは、ブロック読取りサイクル、ページモード読取
りあるいは書込みサイクル、およびランダム読取りある
いは書込みサイクルを独立して行なうことができる。グ
ローバルメモリカード(GMC)バス26aによって、
各バンク(B0〜B3)が独立して動作でき、一方、共
用グローバルバス資源を使用することができる。
ルメモリカードがエラー訂正ロジックを有する128M
Bあるいは256MBのいずれかのランダムアクセスメ
モリによって構成される。サーバ12は、4個までのグ
ローバルメモリカード26を含む。各グローバルメモリ
カード26は、システム10の各プロセッサにおけるメ
モリアクセス待ち時間を低減する方法で、640MB/
秒のデータ帯域幅を提供する。これは、各メモリカード
26上のグローバルメモリを4個のメモリバンク(B0
〜B3)へ区分することによって達成される。各メモリ
バンクは、ブロック読取りサイクル、ページモード読取
りあるいは書込みサイクル、およびランダム読取りある
いは書込みサイクルを独立して行なうことができる。グ
ローバルメモリカード(GMC)バス26aによって、
各バンク(B0〜B3)が独立して動作でき、一方、共
用グローバルバス資源を使用することができる。
【0029】I/Oプロセッサカード28は、プロセッ
サカード22と同様に、プロセッサノード28aを有
し、そのうえ、2個のHIPPI受信機28bおよび2
個のHIPPI送信機28cを有する。各IOP28
は、それぞれが100MB/秒の転送レートで動作する
ことができる4個のHIPPIインターフェースを備え
る。各IOP28は、プロセッサカード22におけるよ
うな専用のプロセッサノード28aを含み、それは、1
6MBのローカルメモリと結合されたマイクロプロセッ
サを有する。2個の受信機チャンネル28bと2個の送
信機チャンネル28cが各IOP28に設けられてい
る。これらのチャンネルは、それぞれが100Mバイト
/秒で伝送するように独立に動作する。HIPPIイン
ターフェースは、高速ディスクアレーをサポートし、H
IPPIが付加されたフレームバッファへリアルタイム
画像を提供し、また、スーパーコンピュータのような外
部デバイスとの高速通信を実現するために、使用され
る。
サカード22と同様に、プロセッサノード28aを有
し、そのうえ、2個のHIPPI受信機28bおよび2
個のHIPPI送信機28cを有する。各IOP28
は、それぞれが100MB/秒の転送レートで動作する
ことができる4個のHIPPIインターフェースを備え
る。各IOP28は、プロセッサカード22におけるよ
うな専用のプロセッサノード28aを含み、それは、1
6MBのローカルメモリと結合されたマイクロプロセッ
サを有する。2個の受信機チャンネル28bと2個の送
信機チャンネル28cが各IOP28に設けられてい
る。これらのチャンネルは、それぞれが100Mバイト
/秒で伝送するように独立に動作する。HIPPIイン
ターフェースは、高速ディスクアレーをサポートし、H
IPPIが付加されたフレームバッファへリアルタイム
画像を提供し、また、スーパーコンピュータのような外
部デバイスとの高速通信を実現するために、使用され
る。
【0030】コンソールインターフェース30が2個の
カードへ区分され、その一つがサーバ12内にあり、他
の一つがコンソール14内にある。2個のカード間のリ
ンクによって、SVSサーバグローバルメモリと、順番
に各プロセッサのローカルメモリとEPBIFへのアク
セスを可能とするシリアルバスへのアクセスが可能とな
る。
カードへ区分され、その一つがサーバ12内にあり、他
の一つがコンソール14内にある。2個のカード間のリ
ンクによって、SVSサーバグローバルメモリと、順番
に各プロセッサのローカルメモリとEPBIFへのアク
セスを可能とするシリアルバスへのアクセスが可能とな
る。
【0031】システム10は、グローバルバス24へ結
合されたアービタ36も有し、これは、プロセッサ2
2、メモリ26、コンソールインターフェース30、お
よびI/Oプロセッサ28間のグローバルバスの要求を
調停するように動作する。
合されたアービタ36も有し、これは、プロセッサ2
2、メモリ26、コンソールインターフェース30、お
よびI/Oプロセッサ28間のグローバルバスの要求を
調停するように動作する。
【0032】グローバルバス24は、種々の構成要素を
相互接続し、同期転送でもって1280MB/秒転送レ
ートを提供するために、エミッタ結合ロジック(EC
L)技術でもって実現される。グローバルバス24の主
要な信号グループは、32ビットアドレスバス(ABU
S)24a、256ビットデータバス(DBUS)24
b、および制御バスである。
相互接続し、同期転送でもって1280MB/秒転送レ
ートを提供するために、エミッタ結合ロジック(EC
L)技術でもって実現される。グローバルバス24の主
要な信号グループは、32ビットアドレスバス(ABU
S)24a、256ビットデータバス(DBUS)24
b、および制御バスである。
【0033】図2および3から分かるように、システム
10の各構成要素カードは、UBIF34の一つを含
む。UBIF34は、グローバルバス24に対して、共
用で、同期した、非結合のインターフェースを提示し、
また、LPCバス32あるいはGMCバス26a上のロ
ーカル調停を提供し、さらに、グローバルバス24に関
して、ハンドシェーキングおよび再試行順序付けに必要
な全てを実行する。この実施例では、UBIF34がプ
ロセッサ22aのような4個に及ぶローカルマスターデ
バイス、あるいはメモリバンクB1〜B4のような4個
までのスレーブデバイスをサポートするために、双方向
のパイプラインバッファリングを提供する。UBIF3
4は、8ビットおよび256ビット間のデータバス幅を
サポートし、また、40MHzのバス動作(25ナノ秒
バスサイクル)を想定した時に、ローカルバス32およ
びグローバルバス24間で1280Mバイト/秒のピー
クデータ転送レートを提供する。
10の各構成要素カードは、UBIF34の一つを含
む。UBIF34は、グローバルバス24に対して、共
用で、同期した、非結合のインターフェースを提示し、
また、LPCバス32あるいはGMCバス26a上のロ
ーカル調停を提供し、さらに、グローバルバス24に関
して、ハンドシェーキングおよび再試行順序付けに必要
な全てを実行する。この実施例では、UBIF34がプ
ロセッサ22aのような4個に及ぶローカルマスターデ
バイス、あるいはメモリバンクB1〜B4のような4個
までのスレーブデバイスをサポートするために、双方向
のパイプラインバッファリングを提供する。UBIF3
4は、8ビットおよび256ビット間のデータバス幅を
サポートし、また、40MHzのバス動作(25ナノ秒
バスサイクル)を想定した時に、ローカルバス32およ
びグローバルバス24間で1280Mバイト/秒のピー
クデータ転送レートを提供する。
【0034】図3のブロック図から分かるように、各プ
ロセッサカードが4個に及ぶプロセッサノードを含み、
プロセッサノードのそれぞれがマイクロプロセッサ22
aを有する。この実施例では、各プロセッサ22aがi
860タイプのデバイスであり、より具体的には、イン
テル社製のi860XP(N11)マイクロプロセッサ
デバイスである(i860は、インテル社の商標であ
る)。ローカルノードデータバス23a、ローカルノー
ドアドレスバス23b、およびローカルノード制御バス
23cからなるローカルノードバス23を通じて、16
Mバイトあるいは32Mバイトの記憶を提供するローカ
ルノードメモリ22bが各マイクロプロセッサ22aに
対して結合される。ローカルノードメモリは、ローカル
ノードデータバス23a、従って、プロセッサ22aと
の間でのデータ転送レートを最高とするために、インタ
ーリーブされた2個のメモリバンク(バンクAおよびバ
ンクB)に編成される。各プロセッサノードは、この発
明に従って、EPBIF22cをも含む。これは、LP
Cバス32へのインターフェースを具体化する。さら
に、各プロセッサノードがシリアルバス(S)へのイン
ターフェース22d(図2参照)を含む。LPCバス3
2が複数のマルチプロセッサノードをUBIF34へ接
続し、また、さらなる共用資源へのアクセスを可能とす
る。
ロセッサカードが4個に及ぶプロセッサノードを含み、
プロセッサノードのそれぞれがマイクロプロセッサ22
aを有する。この実施例では、各プロセッサ22aがi
860タイプのデバイスであり、より具体的には、イン
テル社製のi860XP(N11)マイクロプロセッサ
デバイスである(i860は、インテル社の商標であ
る)。ローカルノードデータバス23a、ローカルノー
ドアドレスバス23b、およびローカルノード制御バス
23cからなるローカルノードバス23を通じて、16
Mバイトあるいは32Mバイトの記憶を提供するローカ
ルノードメモリ22bが各マイクロプロセッサ22aに
対して結合される。ローカルノードメモリは、ローカル
ノードデータバス23a、従って、プロセッサ22aと
の間でのデータ転送レートを最高とするために、インタ
ーリーブされた2個のメモリバンク(バンクAおよびバ
ンクB)に編成される。各プロセッサノードは、この発
明に従って、EPBIF22cをも含む。これは、LP
Cバス32へのインターフェースを具体化する。さら
に、各プロセッサノードがシリアルバス(S)へのイン
ターフェース22d(図2参照)を含む。LPCバス3
2が複数のマルチプロセッサノードをUBIF34へ接
続し、また、さらなる共用資源へのアクセスを可能とす
る。
【0035】図7は、ローカルプロセッサノードにおけ
るローカルプロセッサ22a、ローカルメモリ22b、
グローバルメモリインターフェース22e、およびLP
C32に対するEPBIF22cの相互接続をより詳細
に示す。図から分かるように、ローカルメモリ22bが
2個のバンク(バンクAおよびバンクB)へ区分され
る。各バンクが8Mバイトあるいは16MバイトのDR
AMを含む。各メモリバンクが関連するメモリパリティ
情報を記憶するために、パリティ記憶部をも含む。メモ
リバンクAが関連するアドレスレジスタ25aと関連す
る登録済みデータのトランシーバ25cを有する。同様
に、メモリバンクBが関連するアドレスレジスタ25b
と関連する登録済みデータのトランシーバ25dを有す
る。レジスタ25a、25bと登録済みトランシーバ2
5c、25dは、以下に述べるように、EPBIF22
cの制御52aからのローカルメモリ(LM)制御出力
によって、それぞれ制御され、ローカルメモリ22bを
多重化されたローカルメモリアドレス(LMA)バスお
よびローカルノード64ビットデータバス23aへそれ
ぞれインターフェースする。8個のトランシーバからな
る一組が双方向的にローカルノードデータバス23aを
256ビット読取りバッファ86と256ビット書込み
バッファ88とへそれぞれ結合する。
るローカルプロセッサ22a、ローカルメモリ22b、
グローバルメモリインターフェース22e、およびLP
C32に対するEPBIF22cの相互接続をより詳細
に示す。図から分かるように、ローカルメモリ22bが
2個のバンク(バンクAおよびバンクB)へ区分され
る。各バンクが8Mバイトあるいは16MバイトのDR
AMを含む。各メモリバンクが関連するメモリパリティ
情報を記憶するために、パリティ記憶部をも含む。メモ
リバンクAが関連するアドレスレジスタ25aと関連す
る登録済みデータのトランシーバ25cを有する。同様
に、メモリバンクBが関連するアドレスレジスタ25b
と関連する登録済みデータのトランシーバ25dを有す
る。レジスタ25a、25bと登録済みトランシーバ2
5c、25dは、以下に述べるように、EPBIF22
cの制御52aからのローカルメモリ(LM)制御出力
によって、それぞれ制御され、ローカルメモリ22bを
多重化されたローカルメモリアドレス(LMA)バスお
よびローカルノード64ビットデータバス23aへそれ
ぞれインターフェースする。8個のトランシーバからな
る一組が双方向的にローカルノードデータバス23aを
256ビット読取りバッファ86と256ビット書込み
バッファ88とへそれぞれ結合する。
【0036】図4及び5を参照すると、これらの図に
は、拡張プロセッサバッファインターフェース(EPB
IF)22cの好適な実施例が示される。EPBIF2
2cは、関連する計算プロセッサ22aあるいはI/O
プロセッサ28aのためのインターフェースおよび制御
デバイスとして機能する。EPBIF22cがトランシ
ーバおよびメモリを除いて、全ての必要なロジックを提
供し、高性能マイクロプロセッサを高性能マルチプロセ
ッサシステムにインターフェースする。以下の記載は、
計算プロセッサ22aに主として関するものであるが、
EPBIF22cは、同様の仕方でI/Oプロセッサ2
8aに関しても機能するものである。
は、拡張プロセッサバッファインターフェース(EPB
IF)22cの好適な実施例が示される。EPBIF2
2cは、関連する計算プロセッサ22aあるいはI/O
プロセッサ28aのためのインターフェースおよび制御
デバイスとして機能する。EPBIF22cがトランシ
ーバおよびメモリを除いて、全ての必要なロジックを提
供し、高性能マイクロプロセッサを高性能マルチプロセ
ッサシステムにインターフェースする。以下の記載は、
計算プロセッサ22aに主として関するものであるが、
EPBIF22cは、同様の仕方でI/Oプロセッサ2
8aに関しても機能するものである。
【0037】EPBIF22cアーキテクチャは、特定
用途向けIC(ASIC)とともに、一組のディスクリ
ートなデータレジスタとして実現される。EPBIF2
2cが下記の機能をSVS10内の各プロセッサに対し
て提供する。
用途向けIC(ASIC)とともに、一組のディスクリ
ートなデータレジスタとして実現される。EPBIF2
2cが下記の機能をSVS10内の各プロセッサに対し
て提供する。
【0038】ローカルメモリ22bインターフェース:
各EPBIF22cが32Mバイトまでのローカルメ
モリ22bの制御およびアドレス生成を提供する。
各EPBIF22cが32Mバイトまでのローカルメ
モリ22bの制御およびアドレス生成を提供する。
【0039】グローバルメモリ26インターフェース:
各EPBIF22cがグローバルメモリ26の動作を
キャッシュするために、制御信号を外部の256ビット
幅の読取りおよび書込みバッファ22eに対して供給す
る。
各EPBIF22cがグローバルメモリ26の動作を
キャッシュするために、制御信号を外部の256ビット
幅の読取りおよび書込みバッファ22eに対して供給す
る。
【0040】割り込み制御: 各EPBIF22cが外
部的に生成された8個までの割り込みと、内部的に生成
される8個までの割り込みをサポートする。
部的に生成された8個までの割り込みと、内部的に生成
される8個までの割り込みをサポートする。
【0041】プロセッサ間割り込み能力: 各EPBI
F22cがプロセッサ間割り込みメカニズムを提供し、
それによって、システム内でプロセッサが他のプロセッ
サ(あるいはプロセッサグループ)を中断させることが
できる。
F22cがプロセッサ間割り込みメカニズムを提供し、
それによって、システム内でプロセッサが他のプロセッ
サ(あるいはプロセッサグループ)を中断させることが
できる。
【0042】ダイレクトメモリアクセス(DMA)機
能: 各EPBIF22cがダイレクトメモリアクセス
を使用して、グローバルメモリ26および関連するロー
カルメモリ22bの間で高速にデータを転送する手段を
提供する。
能: 各EPBIF22cがダイレクトメモリアクセス
を使用して、グローバルメモリ26および関連するロー
カルメモリ22bの間で高速にデータを転送する手段を
提供する。
【0043】その他の機能: 各EPBIF22cに
は、後述するように、制御および状態レジスタ(CS
R)、2個のプログラム可能なタイマー/カウンタ、関
連するプロセッサ22aあるいは28aをリセットする
ためのロジック、および他の機能が組み込まれている。
は、後述するように、制御および状態レジスタ(CS
R)、2個のプログラム可能なタイマー/カウンタ、関
連するプロセッサ22aあるいは28aをリセットする
ためのロジック、および他の機能が組み込まれている。
【0044】シリアル診断バスインターフェース: 各
EPBIF22cは、上述の米国特許出願第733,7
67号(1991年7月22日出願、「マルチプロセッ
サシステムのためのシリアル診断インターフェース」、
ガルシア他)に述べられているように、シリアル診断バ
スと提携して動作する回路を含む。
EPBIF22cは、上述の米国特許出願第733,7
67号(1991年7月22日出願、「マルチプロセッ
サシステムのためのシリアル診断インターフェース」、
ガルシア他)に述べられているように、シリアル診断バ
スと提携して動作する回路を含む。
【0045】EPBIF22cが複数のクロックで動作
され、独立な状態マシーンを含み、これは、制御/状態
レジスタ(CSR)状態マシーン50、ローカルメモリ
状態マシーン52、およびグローバルメモリ状態マシー
ン54を含む。これらの3個の状態マシーンが付加プロ
セッサ22aあるいは28aの制御およびあるいは信号
ラインと接続された入力を有する。また、グローバルメ
モリ状態マシーン54がDMAコントローラ56とプロ
セッサ間通信(IPC)レジスタ58からの入力を受け
取る。ローカルメモリ状態マシーン52は、そこへのア
クセスを制御するために、インターフェース52aを介
してローカルメモリ22bへ結合されるローカルメモリ
アドレスおよび制御信号ラインを発生する。グローバル
メモリ状態マシーン54がLPC制御54a、LPCバ
ス54bおよびLPCトランシーバ制御54cのインタ
ーフェースを介して、ローカルプロセッサバス32、U
BIF34へ、従って、グローバルバス24へ結合され
る、グローバルメモリアドレスおよび制御信号ラインを
発生する。グローバルメモリ状態マシーン54は、ロー
カルプロセッサ22aあるいは28aに応答して、また
はDMAコントローラ56あるいはIPCレジスタ58
の動作に応答して、グローバルメモリアドレスおよび制
御信号を発生する。
され、独立な状態マシーンを含み、これは、制御/状態
レジスタ(CSR)状態マシーン50、ローカルメモリ
状態マシーン52、およびグローバルメモリ状態マシー
ン54を含む。これらの3個の状態マシーンが付加プロ
セッサ22aあるいは28aの制御およびあるいは信号
ラインと接続された入力を有する。また、グローバルメ
モリ状態マシーン54がDMAコントローラ56とプロ
セッサ間通信(IPC)レジスタ58からの入力を受け
取る。ローカルメモリ状態マシーン52は、そこへのア
クセスを制御するために、インターフェース52aを介
してローカルメモリ22bへ結合されるローカルメモリ
アドレスおよび制御信号ラインを発生する。グローバル
メモリ状態マシーン54がLPC制御54a、LPCバ
ス54bおよびLPCトランシーバ制御54cのインタ
ーフェースを介して、ローカルプロセッサバス32、U
BIF34へ、従って、グローバルバス24へ結合され
る、グローバルメモリアドレスおよび制御信号ラインを
発生する。グローバルメモリ状態マシーン54は、ロー
カルプロセッサ22aあるいは28aに応答して、また
はDMAコントローラ56あるいはIPCレジスタ58
の動作に応答して、グローバルメモリアドレスおよび制
御信号を発生する。
【0046】図6のブロック図は、リセット状態マシー
ン74およびLED状態マシーン76を含むいくつかの
他の状態マシーンも示す。シリアル診断コントローラ7
0がシリアル状態マシーン70a、アドレスレジスタ7
0bおよびデータレジスタ70cを含むようになされ、
これらは、互いに直列に接続され、システム10内のE
PBIFのそれぞれを通り抜けるシステム出力信号ライ
ンと接続された出力を有する。
ン74およびLED状態マシーン76を含むいくつかの
他の状態マシーンも示す。シリアル診断コントローラ7
0がシリアル状態マシーン70a、アドレスレジスタ7
0bおよびデータレジスタ70cを含むようになされ、
これらは、互いに直列に接続され、システム10内のE
PBIFのそれぞれを通り抜けるシステム出力信号ライ
ンと接続された出力を有する。
【0047】リセット状態マシーン74は、EPBIF
内の全てのレジスタが例えば電源オンの後に正しく初期
化されるまで、プロセッサ22aをリセットに保持する
ことを確実にする。これらのレジスタは、システムコン
ソール(ホスト14)からシステム診断インターフェー
スバスを介して初期的にロードされる。
内の全てのレジスタが例えば電源オンの後に正しく初期
化されるまで、プロセッサ22aをリセットに保持する
ことを確実にする。これらのレジスタは、システムコン
ソール(ホスト14)からシステム診断インターフェー
スバスを介して初期的にロードされる。
【0048】DMAコントローラ56は、ソースアドレ
スレジスタ56a、宛先アドレスレジスタ56b、およ
び長さ/ブロックサイズレジスタ56cを含む。これら
のレジスタは、DMA動作を制御するために、付加プロ
セッサによってロードされる。ソースアドレスレジスタ
56aは、データが読取られるべきメモリアドレスが初
期的にロードされる。宛先アドレスレジスタ56bは、
データが記憶されるべきアドレスが初期的にロードされ
る。長さ/ブロックサイズレジスタ56cには、DMA
動作中に転送されるデータユニット数を表す値が初期的
にロードされる。
スレジスタ56a、宛先アドレスレジスタ56b、およ
び長さ/ブロックサイズレジスタ56cを含む。これら
のレジスタは、DMA動作を制御するために、付加プロ
セッサによってロードされる。ソースアドレスレジスタ
56aは、データが読取られるべきメモリアドレスが初
期的にロードされる。宛先アドレスレジスタ56bは、
データが記憶されるべきアドレスが初期的にロードされ
る。長さ/ブロックサイズレジスタ56cには、DMA
動作中に転送されるデータユニット数を表す値が初期的
にロードされる。
【0049】CSR SM50は、より詳細にその動作
を後述する制御状態レジスタ(CSR)62、タイマー
/カウンタレジスタ60a、および1ブロックの割込み
関連レジスタを含む。これは、割込みレジスタ64a、
割込みマスクレジスタ64b、クリア割込みレジスタ6
4c、およびメモリ障害アドレスレジスタ(MFAR)
64dを含む。リフレッシュレジスタ66がローカルメ
モリ22b(DRAM)のためのリフレッシュタイミン
グパラメータを制御するために設けられている。
を後述する制御状態レジスタ(CSR)62、タイマー
/カウンタレジスタ60a、および1ブロックの割込み
関連レジスタを含む。これは、割込みレジスタ64a、
割込みマスクレジスタ64b、クリア割込みレジスタ6
4c、およびメモリ障害アドレスレジスタ(MFAR)
64dを含む。リフレッシュレジスタ66がローカルメ
モリ22b(DRAM)のためのリフレッシュタイミン
グパラメータを制御するために設けられている。
【0050】上述のレジスタは、ローカルプロセッサ2
2aに対して、データマルチプレクサ72を介して双方
向に結合され、その結果、ローカルプロセッサ22aが
これらのレジスタ内の状態を記憶することができ、ま
た、これらのレジスタからの情報を読取ることができ
る。
2aに対して、データマルチプレクサ72を介して双方
向に結合され、その結果、ローカルプロセッサ22aが
これらのレジスタ内の状態を記憶することができ、ま
た、これらのレジスタからの情報を読取ることができ
る。
【0051】EPBIF22cをより詳細に説明するの
に先立って、図4および5に示されるインターフェース
信号ピンの機能をまず説明する。各信号名は、入力(−
−I)、出力(−−O)あるいは双方向信号(−−−I
/O)として定義される。信号名は、図5では、左上か
ら下に読まれ、そして、右下から上に読まれる順序でも
って現れる。
に先立って、図4および5に示されるインターフェース
信号ピンの機能をまず説明する。各信号名は、入力(−
−I)、出力(−−O)あるいは双方向信号(−−−I
/O)として定義される。信号名は、図5では、左上か
ら下に読まれ、そして、右下から上に読まれる順序でも
って現れる。
【0052】以下の信号は、i860XPプロセッサ2
2aに対して特有のものであり、EPBIF22cのプ
ロセッサ制御ロジックブロック27によって、駆動およ
び受信される。これらの信号のタイミングおよび他の特
性に関してのさらなる詳細は、i860プロセッサファ
ミリー用の仕様中に見出すことができる。
2aに対して特有のものであり、EPBIF22cのプ
ロセッサ制御ロジックブロック27によって、駆動およ
び受信される。これらの信号のタイミングおよび他の特
性に関してのさらなる詳細は、i860プロセッサファ
ミリー用の仕様中に見出すことができる。
【0053】+RESET i860 −−O。 プロ
セッサ22a用のリセットピン;リセット状態マシーン
74により駆動され、ハイ(+)でアクティブである。
セッサ22a用のリセットピン;リセット状態マシーン
74により駆動され、ハイ(+)でアクティブである。
【0054】+INT CS8 −−O。 これは、プ
ロセッサ22aに対する単一の割込み入力であり、プロ
セッサ22aの初期化時に8ビットおよび64ビットモ
ードを選択するのにも役立つ。
ロセッサ22aに対する単一の割込み入力であり、プロ
セッサ22aの初期化時に8ビットおよび64ビットモ
ードを選択するのにも役立つ。
【0055】−ADS −−I。 この信号は、プロセ
ッサ22aのメモリサイクルの開始を示し、ロー(−)
でアクティブである。
ッサ22aのメモリサイクルの開始を示し、ロー(−)
でアクティブである。
【0056】W/R −−I。 プロセッサ22aの読
取り(−)/書込み(+)信号ラインである。
取り(−)/書込み(+)信号ラインである。
【0057】−PEN −−O。 プロセッサ22aの
パリティイネーブルピンであり、読取り時にアクティブ
の時に、プロセッサ22aが読取りデータパリティを正
しいかどうか検査する。
パリティイネーブルピンであり、読取り時にアクティブ
の時に、プロセッサ22aが読取りデータパリティを正
しいかどうか検査する。
【0058】−NENE −−I。 プロセッサ22a
のネクスト/ニアピンである。これは、現在のメモリ動
作が以前のメモリ動作と同一のメモリページである時に
アクティブである。
のネクスト/ニアピンである。これは、現在のメモリ動
作が以前のメモリ動作と同一のメモリページである時に
アクティブである。
【0059】−KEN −−O。 プロセッサ22aに
対して現在戻された読取しがキャッシュ可能かどうかを
指示する。
対して現在戻された読取しがキャッシュ可能かどうかを
指示する。
【0060】+PCD −−I。 プロセッサ22aか
らのページキャッシュのディスエーブルラインである。
この信号ラインが現在のメモリアクセスについてのキャ
ッシュ情報を提供する。
らのページキャッシュのディスエーブルラインである。
この信号ラインが現在のメモリアクセスについてのキャ
ッシュ情報を提供する。
【0061】+PWT −−I。 プロセッサ22aか
らのページライトスルーラインである。この信号ライン
は、現在のアクセスについてのキャッシュ情報も提供す
る。
らのページライトスルーラインである。この信号ライン
は、現在のアクセスについてのキャッシュ情報も提供す
る。
【0062】LOCK −−I。 プロセッサ22aの
ロックピンである。ローがロックされたメモリサイクル
を指示する。
ロックピンである。ローがロックされたメモリサイクル
を指示する。
【0063】−NA−−O。 プロセッサ22aがその
バス上に他のメモリ要求を駆動することを指示する(た
とえ、以前のメモリ要求が完了していないとしても)。
これは、プロセッサの性能を利用して、未解決の3個の
要求をパイプライン処理する。
バス上に他のメモリ要求を駆動することを指示する(た
とえ、以前のメモリ要求が完了していないとしても)。
これは、プロセッサの性能を利用して、未解決の3個の
要求をパイプライン処理する。
【0064】−READY−−O。 プロセッサ22a
に対して、書込みの完了(あるいはポスティング)、ま
たは戻された読取りデータがバス上で有効であることを
指示する。これは、EPBIF22cからプロセッサ2
2aへの出力である。
に対して、書込みの完了(あるいはポスティング)、ま
たは戻された読取りデータがバス上で有効であることを
指示する。これは、EPBIF22cからプロセッサ2
2aへの出力である。
【0065】+LEN −−I。 プロセッサ22aか
らの長さ入力である。このラインのアクティブは、プロ
セッサ22aからの128ビットのバーストサイクルを
指示する。
らの長さ入力である。このラインのアクティブは、プロ
セッサ22aからの128ビットのバーストサイクルを
指示する。
【0066】−CACHE −−I。 プロセッサ22
aからのキャッシュ入力である。このラインのアクティ
ブは、プロセッサ22aからの256ビットのバースト
サイクルを指示する(LENアクティブを無効にす
る)。
aからのキャッシュ入力である。このラインのアクティ
ブは、プロセッサ22aからの256ビットのバースト
サイクルを指示する(LENアクティブを無効にす
る)。
【0067】+PCYC −−I。 この信号ライン
は、プロセッサ22aがページテーブル動作を行ってい
ることを指示する。
は、プロセッサ22aがページテーブル動作を行ってい
ることを指示する。
【0068】+HOLD −−O。 プロセッサ22a
保持信号ラインであり、その代入によって、プロセッサ
22aがそのI/Oピンを高インピーダンス状態とす
る。
保持信号ラインであり、その代入によって、プロセッサ
22aがそのI/Oピンを高インピーダンス状態とす
る。
【0069】+HLDA −−I。 プロセッサ22a
保持アクノリッジ信号ラインであり、それがアクティブ
なことは、プロセッサ22aが停止されることを示す。
保持アクノリッジ信号ラインであり、それがアクティブ
なことは、プロセッサ22aが停止されることを示す。
【0070】+ADDR(28:0) −−I。 プロ
セッサ22aからの29個のアドレス信号ラインであ
る。
セッサ22aからの29個のアドレス信号ラインであ
る。
【0071】−BE(7:0) −−I/O。 8個の
プロセッサ22aバイトイネーブルであり、それらは、
プロセッサ書込みサイクル期間にアクティブである。こ
れらは、シリアルバスがLPCバスへ書込むことを可能
とするためのI/Oである。
プロセッサ22aバイトイネーブルであり、それらは、
プロセッサ書込みサイクル期間にアクティブである。こ
れらは、シリアルバスがLPCバスへ書込むことを可能
とするためのI/Oである。
【0072】DATA(63:0) −−−I/O。
64ビットのプロセッサ22aデータバスである。
64ビットのプロセッサ22aデータバスである。
【0073】DP(7:0) −−I/O。 プロセッ
サ22aデータパリティバスである。
サ22aデータパリティバスである。
【0074】以下の信号は、構成ロジック29に対する
全ての入力であり、以下に述べるように、CSR62の
状態が良く反映され、従ってプロセッサ22aによって
読取ることが可能である。
全ての入力であり、以下に述べるように、CSR62の
状態が良く反映され、従ってプロセッサ22aによって
読取ることが可能である。
【0075】+HWID(7:0) −−I。 8ビッ
トハードウエアプロセッサノードIDであり、これは、
ローカルプロセッサID(LOC PROCID)、ス
ロットID(SLOTID)、およびユニットID(U
NITID)の信号からなる。
トハードウエアプロセッサノードIDであり、これは、
ローカルプロセッサID(LOC PROCID)、ス
ロットID(SLOTID)、およびユニットID(U
NITID)の信号からなる。
【0076】+HWREV(3:0) −−I。 プロ
セッサカード22のハードウエア改訂レベルを指示す
る。
セッサカード22のハードウエア改訂レベルを指示す
る。
【0077】+MSIZE −−I。 ローカルメモリ
コントローラ52aに対してローカルメモリ22bの大
きさ(16あるいは32Mバイト)を指示する。この入
力は、ローカルメモリ22bを駆動するために、多数の
行アドレスストローブ(RAS)ラインを選択するのに
使用される。
コントローラ52aに対してローカルメモリ22bの大
きさ(16あるいは32Mバイト)を指示する。この入
力は、ローカルメモリ22bを駆動するために、多数の
行アドレスストローブ(RAS)ラインを選択するのに
使用される。
【0078】以下の信号は、LED状態マシーンに対し
て接続される。
て接続される。
【0079】−WR LED−−O。 EPBIF22
cのこの出力が外部シリアルLEDレジスタの出力を外
部LEDディスプレー(図15に示される)へ書込む
(その立ち上がりエッジで)。
cのこの出力が外部シリアルLEDレジスタの出力を外
部LEDディスプレー(図15に示される)へ書込む
(その立ち上がりエッジで)。
【0080】+LED D−−O。 外部LEDシフト
レジスタ(図15に示される)に対するシリアル出力デ
ータである。
レジスタ(図15に示される)に対するシリアル出力デ
ータである。
【0081】−CK LED SR−−O。 LED出
力データをLEDシフトレジスタへ入れるためのクロッ
クである。
力データをLEDシフトレジスタへ入れるためのクロッ
クである。
【0082】下記の4個の信号は、雑機能ロジックブロ
ック31に結合される。
ック31に結合される。
【0083】+CLOCK −−I。 EPBIF22
cに対する1相のクロック入力である。
cに対する1相のクロック入力である。
【0084】−INT(7:0) −−I。 EPBI
F22cに対する外部割込みである。
F22cに対する外部割込みである。
【0085】+TRIGGER −−O。 トリガー出
力ピンである。
力ピンである。
【0086】−RESET −−I。 LPCバスから
EPBIF22cへのリセット入力である。
EPBIF22cへのリセット入力である。
【0087】以下の2個の信号は、シリアル連鎖インタ
ーフェース(レジスタ70bおよび70c)とシリアル
SM70aに結合される。
ーフェース(レジスタ70bおよび70c)とシリアル
SM70aに結合される。
【0088】+S IN−−I。 シリアル診断バス入
力である。
力である。
【0089】+SOUT −−O。 シリアル診断バス
出力である。
出力である。
【0090】下記の信号ラインは、全て種々のEPBI
F22cの生産およびテスト動作のために予約されてい
る。
F22cの生産およびテスト動作のために予約されてい
る。
【0091】+SCAN −−I、−TE −−I、−
TN −−I、+PLL TCO−−O、+RESET
DIS−−I、−IGN PARITY −−I、+
PLL TD −−I、+PO−−O、および+SCA
N −−O。
TN −−I、+PLL TCO−−O、+RESET
DIS−−I、−IGN PARITY −−I、+
PLL TD −−I、+PO−−O、および+SCA
N −−O。
【0092】状態ロジックブロック33は、次の2個の
信号を出力する。
信号を出力する。
【0093】+BAD PARITY −−O。 状態
ブロック82からの標識であり、これは、シリアル連鎖
状態マシーン80が不良パリティを有するシリアルデー
タパケットを受信したことを指示する。
ブロック82からの標識であり、これは、シリアル連鎖
状態マシーン80が不良パリティを有するシリアルデー
タパケットを受信したことを指示する。
【0094】+GOOD PARITY −−O。 シ
リアル連鎖状態マシーン80が正しいパリティを有する
シリアルデータパケットを受信したことを指示する。
リアル連鎖状態マシーン80が正しいパリティを有する
シリアルデータパケットを受信したことを指示する。
【0095】下記の信号は、オンチップされた位相ロッ
クループ35により使用される。
クループ35により使用される。
【0096】+ANALOG VDD −−I、+AN
ALOG VSS −−I、+ANALOG GND
−−I、+LP2 −−O、および+LP1 −−O。
ALOG VSS −−I、+ANALOG GND
−−I、+LP2 −−O、および+LP1 −−O。
【0097】以下の3個の信号がグローバルバス24の
アクティビィティーをモニタするために、スヌープバス
ロジックブロック54dへ結合される。
アクティビィティーをモニタするために、スヌープバス
ロジックブロック54dへ結合される。
【0098】+GB ACYCLE −−I。 GB2
4上に有効なアドレスサイクルが存在することを指示す
る。この信号は、コンパレータ94(図6)によるスヌ
ープアドレス一致を修飾するために使用される。
4上に有効なアドレスサイクルが存在することを指示す
る。この信号は、コンパレータ94(図6)によるスヌ
ープアドレス一致を修飾するために使用される。
【0099】+GB R/W −−I。 GB24の書
込み/読取しラインであり、アドレススヌーピングのた
めに使用される。
込み/読取しラインであり、アドレススヌーピングのた
めに使用される。
【0100】+GB A(26:0) −−I。 GB
24スヌープアドレスであり、GB24上の27最下位
アドレスビット(256ビットワードのアドレスから)
から形成される。
24スヌープアドレスであり、GB24上の27最下位
アドレスビット(256ビットワードのアドレスから)
から形成される。
【0101】下記の6個の信号ラインがトランシーバ2
2gおよびレジスタ86、88および88aを制御する
ために、LPCトランシーバ制御54cに対して全て結
合される。
2gおよびレジスタ86、88および88aを制御する
ために、LPCトランシーバ制御54cに対して全て結
合される。
【0102】−UNSET W ACT −−O。 ア
ンセット書込みバッファアクティブ。この信号は、LP
Cバス書込みの後で、LPCバスバイトイネーブル(レ
ジスタ88a)をリセットするのに使用される。
ンセット書込みバッファアクティブ。この信号は、LP
Cバス書込みの後で、LPCバスバイトイネーブル(レ
ジスタ88a)をリセットするのに使用される。
【0103】+TRANS DIR −−O。 LPC
バス32データパスバッファへのプロセッサ22aのた
めの指示ラインである。
バス32データパスバッファへのプロセッサ22aのた
めの指示ラインである。
【0104】−ENB L2N(3:0) −−O。
プロセッサ22aに対して4個の64ビットLPC読取
りバッファ86の一つをイネーブルにする。
プロセッサ22aに対して4個の64ビットLPC読取
りバッファ86の一つをイネーブルにする。
【0105】−CLK L2N −−O。 LPCバス
から読取りデータバッファ86へ256ビットのデータ
をクロックするためのクロックイネーブル。
から読取りデータバッファ86へ256ビットのデータ
をクロックするためのクロックイネーブル。
【0106】−ENB N2L −−O。 書込みバッ
ファ88からLPCバス32への256ビットのデータ
のイネーブル。
ファ88からLPCバス32への256ビットのデータ
のイネーブル。
【0107】−CLK L2N(3:0) −−O。
プロセッサ22aデータバスから4個の書込データバッ
ファ88の一つへデータをクロックするためのクロック
イネーブル。
プロセッサ22aデータバスから4個の書込データバッ
ファ88の一つへデータをクロックするためのクロック
イネーブル。
【0108】次の信号ラインがLPCバスインターフェ
ース54bあるいはLPC制御インターフェース54a
に結合される。
ース54bあるいはLPC制御インターフェース54a
に結合される。
【0109】+GB PERR −−I。 GB24に
戻された不良パリティの報告。
戻された不良パリティの報告。
【0110】+LPC ERRTYPE −−I。 グ
ローバルメモリ26から戻されたECC状態。0が1ビ
ットエラーの訂正を指示し、一方、1が訂正不可能な2
ビットエラーを指示する。
ローバルメモリ26から戻されたECC状態。0が1ビ
ットエラーの訂正を指示し、一方、1が訂正不可能な2
ビットエラーを指示する。
【0111】+LPC ECCERR −−I。 グロ
ーバルメモリ26のデータ戻りパスのエラーを指示す
る。
ーバルメモリ26のデータ戻りパスのエラーを指示す
る。
【0112】+LPC MID(1:0) −−I。
メモリ戻りIDフィールドであり、データ戻りのための
宛先識別子を識別する。
メモリ戻りIDフィールドであり、データ戻りのための
宛先識別子を識別する。
【0113】+LPC LEN(3:0) −−O。
LPCバス32の長さフィールドである。通常、グロー
バルメモリ26の読取り時にローに駆動されるが、IP
C割込みサイクルを出力する時には、実値を有する。
LPCバス32の長さフィールドである。通常、グロー
バルメモリ26の読取り時にローに駆動されるが、IP
C割込みサイクルを出力する時には、実値を有する。
【0114】+LPC A(31:0) −−O。 L
PCバス32のアドレスビットである。
PCバス32のアドレスビットである。
【0115】+LPC LOCK −−O。 LPCバ
ス32ロックラインであり、ハイがロックされたサイク
ルを指示する。
ス32ロックラインであり、ハイがロックされたサイク
ルを指示する。
【0116】+LPC ATYPE −−O。 LPC
バス32アドレスタイプであり、ハイが通常サイクルを
指示し、ローがIPC割込みサイクルを指示する。
バス32アドレスタイプであり、ハイが通常サイクルを
指示し、ローがIPC割込みサイクルを指示する。
【0117】+LPC RMW −−O。 書込みサイ
クル時に全ての32バイトイネーブルがアクティブ(読
取−変更−書込みサイクル)かどうかを指示する。
クル時に全ての32バイトイネーブルがアクティブ(読
取−変更−書込みサイクル)かどうかを指示する。
【0118】+LPC NOCACHE −−I。 L
PCバス32上で戻されているデータがキャッシュ可能
でないことをEPBIF22cに対して指示する。
PCバス32上で戻されているデータがキャッシュ可能
でないことをEPBIF22cに対して指示する。
【0119】+LPC R/W −−O。 LPCバス
32読取り/書込みラインであり、ローが書込みサイク
ルが指示する。
32読取り/書込みラインであり、ローが書込みサイク
ルが指示する。
【0120】+LPC NAK −−I。 LPCバス
32非アクノリッジピン。
32非アクノリッジピン。
【0121】+LPC ACK −−I。 LPCバス
32アクノリッジピン。
32アクノリッジピン。
【0122】+LPC L/G −−O。 現在のLP
CバスサイクルがUBIF34(ロー)あるいはローカ
ルメモリ22b(ハイ)の何れのためのものかどうかを
指示する。この信号ラインは、EPBIF22cによっ
て代入される。
CバスサイクルがUBIF34(ロー)あるいはローカ
ルメモリ22b(ハイ)の何れのためのものかどうかを
指示する。この信号ラインは、EPBIF22cによっ
て代入される。
【0123】+LPC READY −−O。 LPC
バスレディラインであり、EPBIF22cがデータを
受諾可能なことを指示する。
バスレディラインであり、EPBIF22cがデータを
受諾可能なことを指示する。
【0124】+LPC DCYCLE −−I。 LP
Cバス32上にUBIF34から戻されている有効なデ
ータが存在することを指示する。このラインは、未解決
のグローバルメモリ26読取り要求が存在している時に
EPBIF22cによってスヌープされる。
Cバス32上にUBIF34から戻されている有効なデ
ータが存在することを指示する。このラインは、未解決
のグローバルメモリ26読取り要求が存在している時に
EPBIF22cによってスヌープされる。
【0125】+LPC PGNT−−I。 LPCバス
32許可ライン。
32許可ライン。
【0126】+LPC RREQ−−O。 LPCバス
32読取り要求。
32読取り要求。
【0127】+LPC WREQ−−O。 LPCバス
32書込み要求。
32書込み要求。
【0128】次の信号ラインは、全てローカルメモリ2
2bインターフェース52aに対して結合される。
2bインターフェース52aに対して結合される。
【0129】−CK ADR(1:0) −−O。 ク
ロックローカルメモリアドレス。これらの信号は、ロー
カルメモリ22b外部アドレスレジスタ25aおよび2
5bのためのクロックイネーブルである。
ロックローカルメモリアドレス。これらの信号は、ロー
カルメモリ22b外部アドレスレジスタ25aおよび2
5bのためのクロックイネーブルである。
【0130】−ENB RDATA(1:0) −−
O。 ローカルメモリ読取りバッファ25cおよび25
dからプロセッサ22aデータバス23aへの各メモリ
バンク毎に64ビットデータのイネーブルである。
O。 ローカルメモリ読取りバッファ25cおよび25
dからプロセッサ22aデータバス23aへの各メモリ
バンク毎に64ビットデータのイネーブルである。
【0131】−ENB WDATA −−O。 ローカ
ルメモリ書込みバッファ25cおよび25dからローカ
ルメモリ22bへの64ビットデータのイネーブルであ
る。
ルメモリ書込みバッファ25cおよび25dからローカ
ルメモリ22bへの64ビットデータのイネーブルであ
る。
【0132】−CLK RDATA(1:0) −−
O。 ローカルメモリ32からの64ビットデータをロ
ーカルメモリ読取りバッファ25cおよび25dへ各メ
モリバンク毎にラッチするためのクロックイネーブルで
ある。
O。 ローカルメモリ32からの64ビットデータをロ
ーカルメモリ読取りバッファ25cおよび25dへ各メ
モリバンク毎にラッチするためのクロックイネーブルで
ある。
【0133】−CLK WDATA(1:0) −−
O。 プロセッサ22aデータバスからの64ビットデ
ータをローカルメモリ書込みバッファ25cおよび25
dへ各メモリバンク毎にラッチするためのクロックイネ
ーブルである。
O。 プロセッサ22aデータバスからの64ビットデ
ータをローカルメモリ書込みバッファ25cおよび25
dへ各メモリバンク毎にラッチするためのクロックイネ
ーブルである。
【0134】−WEPAR −−O。 パリティメモリ
書込みイネーブルラインであり、これは、8個のローカ
ルメモリ書込みイネーブル(WE(7 :0))の何れか
がアクティブならば、アクティブである。
書込みイネーブルラインであり、これは、8個のローカ
ルメモリ書込みイネーブル(WE(7 :0))の何れか
がアクティブならば、アクティブである。
【0135】−−OEX −−O。 ローカルメモリ出
力イネーブルライン(読取りのため)。
力イネーブルライン(読取りのため)。
【0136】−CSX(1:0) −−O。 バンク毎
に1個で、2個のローカルメモリ22bチップ選択(C
AS)ラインである。
に1個で、2個のローカルメモリ22bチップ選択(C
AS)ラインである。
【0137】−RAS(1:0) −−O。 ローカル
メモリ22bのための2個のRASラインである。一つ
がメモリの各16Mバイトバンクをイネーブルするため
に使用される。駆動されるRASライン数は、MEMS
IZE入力(上述した)の状態に依存する。
メモリ22bのための2個のRASラインである。一つ
がメモリの各16Mバイトバンクをイネーブルするため
に使用される。駆動されるRASライン数は、MEMS
IZE入力(上述した)の状態に依存する。
【0138】−WE(7:0) −−O。 バイト毎に
1個で、8個のローカルメモリ書込みイネーブルであ
る。
1個で、8個のローカルメモリ書込みイネーブルであ
る。
【0139】+LMAddr(9:0) −−O。 1
0ローカルメモリ22b多重化されたアドレスビットで
あり、アドレスレジスタ25aおよび25bによってラ
ッチされる。
0ローカルメモリ22b多重化されたアドレスビットで
あり、アドレスレジスタ25aおよび25bによってラ
ッチされる。
【0140】EPBIF22cの外部インターフェース
を詳細に述べたが、以下にEPBIF22cの主たる機
能をより詳細に説明する。
を詳細に述べたが、以下にEPBIF22cの主たる機
能をより詳細に説明する。
【0141】ローカルメモリ ローカルメモリインターフェース52aが行および列ア
ドレスの多重化と、32Mバイトに及ぶローカルメモリ
22bに対するインターフェースのために必要な制御信
号を提供する。さらに、読取られあるいは書込まれるべ
き4個までの64ビットデータワードをプロセッサ22
aからの単一アドレスが要求する、プロセッサ22aバ
ーストモードをEPBIF22bがサポートする。この
機能をサポートするために、アドレスカウンタ52bが
そのバーストの次の3ワード(長さ2のバーストもサポ
ートされる)ために開始アドレスに基づいて正しいメモ
リアドレスを自動的に生成する。ローカルメモリ22b
の2個の完全に独立なインターリーブされたバンクがサ
ポートされる。その結果として、バーストモードにおい
てデータがクロックサイクル(20ns)毎に読取ら
れ、書込まれることができる。上述したように、各メモ
リバンクが関連アドレスおよびデータレジスタ(25)
と、独自の制御ラインとを有している。
ドレスの多重化と、32Mバイトに及ぶローカルメモリ
22bに対するインターフェースのために必要な制御信
号を提供する。さらに、読取られあるいは書込まれるべ
き4個までの64ビットデータワードをプロセッサ22
aからの単一アドレスが要求する、プロセッサ22aバ
ーストモードをEPBIF22bがサポートする。この
機能をサポートするために、アドレスカウンタ52bが
そのバーストの次の3ワード(長さ2のバーストもサポ
ートされる)ために開始アドレスに基づいて正しいメモ
リアドレスを自動的に生成する。ローカルメモリ22b
の2個の完全に独立なインターリーブされたバンクがサ
ポートされる。その結果として、バーストモードにおい
てデータがクロックサイクル(20ns)毎に読取ら
れ、書込まれることができる。上述したように、各メモ
リバンクが関連アドレスおよびデータレジスタ(25)
と、独自の制御ラインとを有している。
【0142】ローカルメモリ22bインターフェース5
2aがアドレスマルチプレクサ82を含み、これは、行
および列アドレスの多重化、およびローカルメモリ状態
マシーンの両者を提供し、ローカルメモリ状態マシーン
が32Mバイトまでのローカルメモリ22bに対するイ
ンターフェースのために必要な制御信号を生成する。こ
のケイパビリティは、このEPBIF22cの特定の実
現が生成する多重化されたアドレスライン(10)の数
に基づいている。他の実施例によれば、32Mバイトよ
り大きいか、またはより小さいローカルメモリに対する
アクセスが可能である。
2aがアドレスマルチプレクサ82を含み、これは、行
および列アドレスの多重化、およびローカルメモリ状態
マシーンの両者を提供し、ローカルメモリ状態マシーン
が32Mバイトまでのローカルメモリ22bに対するイ
ンターフェースのために必要な制御信号を生成する。こ
のケイパビリティは、このEPBIF22cの特定の実
現が生成する多重化されたアドレスライン(10)の数
に基づいている。他の実施例によれば、32Mバイトよ
り大きいか、またはより小さいローカルメモリに対する
アクセスが可能である。
【0143】EPBIF22cは、また、ローカルメモ
リ22bに関するプログラム可能なリフレッシュレート
を提供する。リフレッシュレジスタ66は、システムク
ロックを分周したものによって書込まれる。結果分周ク
ロックが周期的にリフレッシュサイクルを発生するのに
使用される。リフレッシュ要求は、現在実行されている
メモリサイクルが完了するまで、待ち行列に入れられ
る。そして保留リフレッシュ要求は、プロセッサ22a
によって要求される新たなサイクルよりも優先権を有し
ている。若し、プロセッサ22aがメモリ内の他の領域
(グローバルメモリ26のような)をアクセスしている
ならば、ローカルメモリ22bリフレッシュが支障され
ないで生じる。
リ22bに関するプログラム可能なリフレッシュレート
を提供する。リフレッシュレジスタ66は、システムク
ロックを分周したものによって書込まれる。結果分周ク
ロックが周期的にリフレッシュサイクルを発生するのに
使用される。リフレッシュ要求は、現在実行されている
メモリサイクルが完了するまで、待ち行列に入れられ
る。そして保留リフレッシュ要求は、プロセッサ22a
によって要求される新たなサイクルよりも優先権を有し
ている。若し、プロセッサ22aがメモリ内の他の領域
(グローバルメモリ26のような)をアクセスしている
ならば、ローカルメモリ22bリフレッシュが支障され
ないで生じる。
【0144】グローバルメモリインターフェース プロセッサ22aは、内部の8KBデータキャッシュお
よび4KB命令キャッシュを含み、これらは、256ビ
ット幅のキャッシュラインおよび64ビット幅の外部デ
ータバスを有する。プロセッサ22aデータバス23a
の幅がDBUS24bのものより少ない1/4であるに
もかかわらず、内部のキャッシュラインの幅は、グロー
バルデータバス(DBUS24b)の幅と一致する。2
個の外部の256ビットレジスタ86および88がデー
タバス幅の整合を提供し、また、プロセッサ22aのた
めに、外部の1ラインの同等の2個のキャッシュを提供
する。
よび4KB命令キャッシュを含み、これらは、256ビ
ット幅のキャッシュラインおよび64ビット幅の外部デ
ータバスを有する。プロセッサ22aデータバス23a
の幅がDBUS24bのものより少ない1/4であるに
もかかわらず、内部のキャッシュラインの幅は、グロー
バルデータバス(DBUS24b)の幅と一致する。2
個の外部の256ビットレジスタ86および88がデー
タバス幅の整合を提供し、また、プロセッサ22aのた
めに、外部の1ラインの同等の2個のキャッシュを提供
する。
【0145】プロセッサ22aがグローバルメモリ26
ロケーションへの読取りを発行する時に、EPBIF2
2cにおいて、アドレス復号ブロック84によって、ア
ドレスが復号され、UBIF34(これはグローバルバ
ス24を制御する)に対して、関連する要求が与えられ
る。UBIF34によってバスサイクルが許可される
と、EPBIF22cが必要な制御ラインと共に、LP
Cバス32上にアドレスを駆動する。そして、EPBI
F22cがローカルバス32を「スヌープ」し、グロー
バルメモリ26にデータが戻されるのを待つ。読取り要
求を作成したプロセッサと関連し、ローカルバス32上
のデータ有効ラインと共に、独自のプロセッサIDフィ
ールドがデータ戻り条件を規定する。グローバルメモリ
26から識別されたプロセッサへデータが戻される時
に、EPBIF22cが制御信号を発生し、戻りデータ
が外部読取りバッファ86中へラッチされ、そして、ロ
ーカルノードデータバス23aを介して識別されたプロ
セッサ22aへ適切なワード(64ビット)が戻され
る。若し、プロセッサ22aが第1の読取りの後に、や
はり256ビット読取りバッファ86内へキャッシュさ
れる、64ビットワードの他の要求が付け加えられる
に、第2の64ビットワードが最小の待ち時間で、ま
た、共用バス(LPC32およびGB24)のいずれか
のバス帯域幅をなんら利用することなく、読取りバッフ
ァ86からプロセッサ22aに対して戻される。
ロケーションへの読取りを発行する時に、EPBIF2
2cにおいて、アドレス復号ブロック84によって、ア
ドレスが復号され、UBIF34(これはグローバルバ
ス24を制御する)に対して、関連する要求が与えられ
る。UBIF34によってバスサイクルが許可される
と、EPBIF22cが必要な制御ラインと共に、LP
Cバス32上にアドレスを駆動する。そして、EPBI
F22cがローカルバス32を「スヌープ」し、グロー
バルメモリ26にデータが戻されるのを待つ。読取り要
求を作成したプロセッサと関連し、ローカルバス32上
のデータ有効ラインと共に、独自のプロセッサIDフィ
ールドがデータ戻り条件を規定する。グローバルメモリ
26から識別されたプロセッサへデータが戻される時
に、EPBIF22cが制御信号を発生し、戻りデータ
が外部読取りバッファ86中へラッチされ、そして、ロ
ーカルノードデータバス23aを介して識別されたプロ
セッサ22aへ適切なワード(64ビット)が戻され
る。若し、プロセッサ22aが第1の読取りの後に、や
はり256ビット読取りバッファ86内へキャッシュさ
れる、64ビットワードの他の要求が付け加えられる
に、第2の64ビットワードが最小の待ち時間で、ま
た、共用バス(LPC32およびGB24)のいずれか
のバス帯域幅をなんら利用することなく、読取りバッフ
ァ86からプロセッサ22aに対して戻される。
【0146】グローバルメモリ状態マシーン54は、連
続するワードがプロセッサ22aに対してロードされ
る、キャッシュの再ロードをサポートするために、最適
化される。第1のグローバルメモリ26読取りのための
初期的な待ち時間の後に、全ての連続するワードが2バ
スサイクルで戻される。EPBIF22cにおいて、レ
ジスタ90aおよび90b、コンパレータ92a、92
b、92cおよび94によって、種々のアドレス比較機
能がなされる。レジスタ90aおよび90bは、現在、
外部バッファ22eに格納されているワードのアドレス
のレコードを保持する。若し、バッファ86からの順不
同読取りが要求されると(すなわち、最下位64ビット
の後に最上位64ビットが続く)、送受反転のために付
加的サイクルが与えられ、その読取りが完了するのに3
サイクルが必要である。グローバルメモリ26の書込み
タイミング図(図8)および読取りタイミング図(図
9)が参照される。
続するワードがプロセッサ22aに対してロードされ
る、キャッシュの再ロードをサポートするために、最適
化される。第1のグローバルメモリ26読取りのための
初期的な待ち時間の後に、全ての連続するワードが2バ
スサイクルで戻される。EPBIF22cにおいて、レ
ジスタ90aおよび90b、コンパレータ92a、92
b、92cおよび94によって、種々のアドレス比較機
能がなされる。レジスタ90aおよび90bは、現在、
外部バッファ22eに格納されているワードのアドレス
のレコードを保持する。若し、バッファ86からの順不
同読取りが要求されると(すなわち、最下位64ビット
の後に最上位64ビットが続く)、送受反転のために付
加的サイクルが与えられ、その読取りが完了するのに3
サイクルが必要である。グローバルメモリ26の書込み
タイミング図(図8)および読取りタイミング図(図
9)が参照される。
【0147】若し、プロセッサ22aが現在キャッシュ
されていないワードを要求するならば、または現在キャ
ッシュされているワードがグローバルバス24へ書込ま
れることが検出されるならば、読取りバッファ86の内
容は、無効とされる。EPBIF22cがグローバルバ
ス24についての全てのバスサイクルをスヌープし、関
連する読取りバッファ86内で現在キャッシュされるグ
ローバルメモリ26中のロケーションに対して書込みが
発生するかどうかが決定される。このスヌープ機能は、
コンパレータ94によって達成される。さらに、読取り
バッファ86の無効を生じさせるいくつかの条件があ
る。一例として、LOCKがアクティブのプロセッサ2
2aからの読取りは、読取りバッファ86の現在の内容
を無効にし、また、データがGM26から代わりにフェ
ッチされる。ローカルバス32上の他の信号ライン(L
PC NOCACHE)によって、外部デバイスがキャ
ッシュ可能でないデータを戻されていることを合図す
る。然も、若し、プロセッサ22aが読取りのために現
在キャッシュされたのと同じアドレスを書込むならば、
読取りバッファ86が無効にされる。さらに、フェール
セーフメカニズムとして、グローバルメカニズム26か
ら読取りバッファ86が再ロードされることなく、同一
のキャッシュされたデータの256の読取りの後に、E
PBIF22cによって自動的に読取りバッファ86が
無効にされる。この機能は、CSR62内の1ビットに
よって制御される。これらの機能の結合によって、読取
りバッファ86内に蓄えられたデータがグローバルメカ
ニズム26内に蓄えられたコピーと矛盾なく残ることが
保証される。
されていないワードを要求するならば、または現在キャ
ッシュされているワードがグローバルバス24へ書込ま
れることが検出されるならば、読取りバッファ86の内
容は、無効とされる。EPBIF22cがグローバルバ
ス24についての全てのバスサイクルをスヌープし、関
連する読取りバッファ86内で現在キャッシュされるグ
ローバルメモリ26中のロケーションに対して書込みが
発生するかどうかが決定される。このスヌープ機能は、
コンパレータ94によって達成される。さらに、読取り
バッファ86の無効を生じさせるいくつかの条件があ
る。一例として、LOCKがアクティブのプロセッサ2
2aからの読取りは、読取りバッファ86の現在の内容
を無効にし、また、データがGM26から代わりにフェ
ッチされる。ローカルバス32上の他の信号ライン(L
PC NOCACHE)によって、外部デバイスがキャ
ッシュ可能でないデータを戻されていることを合図す
る。然も、若し、プロセッサ22aが読取りのために現
在キャッシュされたのと同じアドレスを書込むならば、
読取りバッファ86が無効にされる。さらに、フェール
セーフメカニズムとして、グローバルメカニズム26か
ら読取りバッファ86が再ロードされることなく、同一
のキャッシュされたデータの256の読取りの後に、E
PBIF22cによって自動的に読取りバッファ86が
無効にされる。この機能は、CSR62内の1ビットに
よって制御される。これらの機能の結合によって、読取
りバッファ86内に蓄えられたデータがグローバルメカ
ニズム26内に蓄えられたコピーと矛盾なく残ることが
保証される。
【0148】若し、データがグローバルメモリ26から
ECC(エラー検出および訂正)エラー条件セットと共
に戻され、データが読取られた時にグローバルメモリ2
6がECCエラーを検出したことが指示されるならば、
データが読取りバッファ86にキャッシュされないで、
プロセッサ22aへ戻され、プロセッサ22aに対する
割込みがEPBIF22Cによって発生される。
ECC(エラー検出および訂正)エラー条件セットと共
に戻され、データが読取られた時にグローバルメモリ2
6がECCエラーを検出したことが指示されるならば、
データが読取りバッファ86にキャッシュされないで、
プロセッサ22aへ戻され、プロセッサ22aに対する
割込みがEPBIF22Cによって発生される。
【0149】書込バッファ88は、同様に動作する。プ
ロセッサ22aかグローバルメモリ26ロケーションへ
ワードを書込む時に、それは、書込みバッファ88へキ
ャッシュされる。同一の256ビット内におけるさらな
る書込みは、書込みバッファ88中に蓄えられる。書込
みバッファ88の回路は、プロセッサ22aバイトイネ
ーブルを蓄えるために32ビットレジスタを含み、ま
た、これらのバッファされた書込みイネーブルを適切に
更新する。若し、書込みバッファ88内に現在キャッシ
ュされていないロケーションへプロセッサ22aが書込
むならば、書込みバッファ88の内容がグローバルメモ
リ26外へフラッシュされ、EPBIF22cが適切な
制御信号を発生し、書込みバッファ88内で旧いものが
新たに書込まれたワードで置き換えられる。さらに、ソ
フトウェア制御可能なモードによって、関連するプロセ
ッサ22aによって全ての32バイトが書込まれた後
に、書込みバッファ88がグローバルメモリ26へ書き
出される。
ロセッサ22aかグローバルメモリ26ロケーションへ
ワードを書込む時に、それは、書込みバッファ88へキ
ャッシュされる。同一の256ビット内におけるさらな
る書込みは、書込みバッファ88中に蓄えられる。書込
みバッファ88の回路は、プロセッサ22aバイトイネ
ーブルを蓄えるために32ビットレジスタを含み、ま
た、これらのバッファされた書込みイネーブルを適切に
更新する。若し、書込みバッファ88内に現在キャッシ
ュされていないロケーションへプロセッサ22aが書込
むならば、書込みバッファ88の内容がグローバルメモ
リ26外へフラッシュされ、EPBIF22cが適切な
制御信号を発生し、書込みバッファ88内で旧いものが
新たに書込まれたワードで置き換えられる。さらに、ソ
フトウェア制御可能なモードによって、関連するプロセ
ッサ22aによって全ての32バイトが書込まれた後
に、書込みバッファ88がグローバルメモリ26へ書き
出される。
【0150】書込みバッファ88も、若し、プロセッサ
22aがグローバルメモリ26に対するロックされた書
込みを発行するならば、フラッシュされる。ロックされ
た書込みは、プロセッサ22aが実行する書込みサイク
ルの特殊なタイプである。ロックされたメモリサイクル
の間では、ロックを開始したプロセッサのみがロックさ
れたデータを変更することができる。このことは、多数
のプロセッサが同一のデータを共用しようとするマルチ
プロセッサシステムにおける首尾一貫性を保証する。そ
のサイクルの間、特定の出力ピン(LOCK)をイネー
ブルすることによって、ロックされたサイクルをプロセ
ッサ22aが指示される。若し、ロックされた書込みが
グローバルメモリ26に対して要求されると、この条件
は、順序を保持するように、書込みバッファ88の現在
の内容を最初にフラッシュし、そして、ロックされたワ
ードをバッファすることなく書込む。この動作は、前述
したロックされた読取りと似ている。然も、前述したよ
うに、書込みバッファ88に現在バッファされているグ
ローバルメモリ26アドレスの読取りによって、読取り
要求が発行される前に、書込みバッファ88がフラッシ
ュされる。このことは、若し、グローバルメモリ26内
に含まれるものよりも、書込みバッファ88内のデータ
のコピーがより新しければ、最新のバージョンが要求プ
ロセッサに対して戻されることを保証する。
22aがグローバルメモリ26に対するロックされた書
込みを発行するならば、フラッシュされる。ロックされ
た書込みは、プロセッサ22aが実行する書込みサイク
ルの特殊なタイプである。ロックされたメモリサイクル
の間では、ロックを開始したプロセッサのみがロックさ
れたデータを変更することができる。このことは、多数
のプロセッサが同一のデータを共用しようとするマルチ
プロセッサシステムにおける首尾一貫性を保証する。そ
のサイクルの間、特定の出力ピン(LOCK)をイネー
ブルすることによって、ロックされたサイクルをプロセ
ッサ22aが指示される。若し、ロックされた書込みが
グローバルメモリ26に対して要求されると、この条件
は、順序を保持するように、書込みバッファ88の現在
の内容を最初にフラッシュし、そして、ロックされたワ
ードをバッファすることなく書込む。この動作は、前述
したロックされた読取りと似ている。然も、前述したよ
うに、書込みバッファ88に現在バッファされているグ
ローバルメモリ26アドレスの読取りによって、読取り
要求が発行される前に、書込みバッファ88がフラッシ
ュされる。このことは、若し、グローバルメモリ26内
に含まれるものよりも、書込みバッファ88内のデータ
のコピーがより新しければ、最新のバージョンが要求プ
ロセッサに対して戻されることを保証する。
【0151】この発明の特徴である、ロックされたメモ
リサイクルを行なうためのアトミックフェッチおよび加
算と称される拡張について以下に説明しよう。
リサイクルを行なうためのアトミックフェッチおよび加
算と称される拡張について以下に説明しよう。
【0152】EPBIF22cは、全ての共用バスアク
セスのためにタイムアウトメカニズムも実現する。さら
に、32ビットローカルバスアドレスが256ビットデ
ータアドレスに対応するので、EPBIF122c内の
セグメントレジスタ90cを通じて最上位の5アドレス
ビットがプログラム可能であり、128Gバイトのグロ
ーバルメモリ26がアドレス指定可能である。
セスのためにタイムアウトメカニズムも実現する。さら
に、32ビットローカルバスアドレスが256ビットデ
ータアドレスに対応するので、EPBIF122c内の
セグメントレジスタ90cを通じて最上位の5アドレス
ビットがプログラム可能であり、128Gバイトのグロ
ーバルメモリ26がアドレス指定可能である。
【0153】EPBIF22cは、それによってEPB
IF内の単一のレジスタ(FLUSH 50b)を書込
むことによって、ソフトウェア制御の下で明示的に書込
みバッファがフラッシュされうる機能も含む。同様にし
て、第2のレジスタ(INVAL 50c)を書込むこ
とによって、読取りバッファが明示的に無効とされる。
IF内の単一のレジスタ(FLUSH 50b)を書込
むことによって、ソフトウェア制御の下で明示的に書込
みバッファがフラッシュされうる機能も含む。同様にし
て、第2のレジスタ(INVAL 50c)を書込むこ
とによって、読取りバッファが明示的に無効とされる。
【0154】要約すると、上述のように、共にCSR6
2中のビットによって、選択的にイネーブルあるいはデ
ィスエーブルされる、256ビットの読取りバッファ8
6と256ビットの書込みバッファ88を設けているこ
とにより、GM26に対するデータ経路性能が改良され
る。バッファ86および88は、プロセッサ22aおよ
びLPCバス32間のバス幅の整合を提供し、然も、書
込みとパイプライン読取り時の増大したスループットの
ためのポスティングケイパビリティも提供する。読取り
の場合では、読取りバッファ86の内容が次の状況の下
で無効とされる。すなわち、(a)GB24の現在の読
取りアドレスに対する書込み(スヌープ一致)、(b)
現在の読取りアドレスに対するGM26書込み要求、
(c)現在の読取りアドレスと異なるアドレスに対する
読取り、(d)揮発性読取り(LPCバス32の+NO
CACHEにより指示される)、(e)PCDビットが
セットされた(また、CSR62でイネーブルされ)、
プロセッサ22aからの読取り、(f)同一の32バイ
トアドレスからの256読取りの後のオートフラッシュ
である。なお、上述したように、INVALレジスタ5
0cへの書込みによって明白に読取りバッファ86が無
効とされる。
2中のビットによって、選択的にイネーブルあるいはデ
ィスエーブルされる、256ビットの読取りバッファ8
6と256ビットの書込みバッファ88を設けているこ
とにより、GM26に対するデータ経路性能が改良され
る。バッファ86および88は、プロセッサ22aおよ
びLPCバス32間のバス幅の整合を提供し、然も、書
込みとパイプライン読取り時の増大したスループットの
ためのポスティングケイパビリティも提供する。読取り
の場合では、読取りバッファ86の内容が次の状況の下
で無効とされる。すなわち、(a)GB24の現在の読
取りアドレスに対する書込み(スヌープ一致)、(b)
現在の読取りアドレスに対するGM26書込み要求、
(c)現在の読取りアドレスと異なるアドレスに対する
読取り、(d)揮発性読取り(LPCバス32の+NO
CACHEにより指示される)、(e)PCDビットが
セットされた(また、CSR62でイネーブルされ)、
プロセッサ22aからの読取り、(f)同一の32バイ
トアドレスからの256読取りの後のオートフラッシュ
である。なお、上述したように、INVALレジスタ5
0cへの書込みによって明白に読取りバッファ86が無
効とされる。
【0155】完了するのに失敗した(例えばタイムアウ
ト)読取り要求の結果としては、または不良データ(例
えばGM26パリティあるいはECCエラー)を戻す読
取り要求の結果としては、読取りバッファ86がセット
されない。
ト)読取り要求の結果としては、または不良データ(例
えばGM26パリティあるいはECCエラー)を戻す読
取り要求の結果としては、読取りバッファ86がセット
されない。
【0156】書込みバッファ88の内容が幾つかの条件
の一つの下で、GM26へフラッシュされる。この条件
は、(a)CSR62モードビットにより指示される条
件が遭遇されるとき、(b)ロックされた書込み要求の
性能、すなわち、書込みバッファ88内に現在あるデー
タをフラッシュし、そして、GM26に対するロックさ
れた書込みを行なう性能、(c)書込みバッファ88内
に現在アクティブであるアドレスに対する読取り、であ
る。この場合には、読取り要求が発行される前に、書込
みバッファ88がフラッシュされる。上述したように、
書込みバッファ88もFLUSHレジスタ50bへの書
込みによって明白にフラッシュされる。
の一つの下で、GM26へフラッシュされる。この条件
は、(a)CSR62モードビットにより指示される条
件が遭遇されるとき、(b)ロックされた書込み要求の
性能、すなわち、書込みバッファ88内に現在あるデー
タをフラッシュし、そして、GM26に対するロックさ
れた書込みを行なう性能、(c)書込みバッファ88内
に現在アクティブであるアドレスに対する読取り、であ
る。この場合には、読取り要求が発行される前に、書込
みバッファ88がフラッシュされる。上述したように、
書込みバッファ88もFLUSHレジスタ50bへの書
込みによって明白にフラッシュされる。
【0157】書込みフラッシュモードは、ソフトウェア
制御の下で設定されうる。若し、上述のCSR62ビッ
トがイネーブルされるらば、書込みバッファ88が有効
なデータを含み、また、プロセッサ22aがGM26の
異なったアドレスへ書込む時は、常に動作の省略モード
が書込みバッファ88の内容をフラッシュすることにな
る。第2のモードでは、バイトイネーブルによって指示
されるように、256ビットワードの全ての32バイト
が書込まれた時は、常に書込みバッファ88の内容がフ
ラッシュされる。GM26書込みが発生する時は、常に
GM26状態マシーン54内のレジスタがバイトイネー
ブルをラッチし、また、全ての32ビットがセットされ
る時に、状態マシーン54遷移を生じさせる、信号−B
YTES FULLを発生する。書込みバッファ88の内
容がフラッシュされる時は、何時も内部レジスタがリセ
ットされる。
制御の下で設定されうる。若し、上述のCSR62ビッ
トがイネーブルされるらば、書込みバッファ88が有効
なデータを含み、また、プロセッサ22aがGM26の
異なったアドレスへ書込む時は、常に動作の省略モード
が書込みバッファ88の内容をフラッシュすることにな
る。第2のモードでは、バイトイネーブルによって指示
されるように、256ビットワードの全ての32バイト
が書込まれた時は、常に書込みバッファ88の内容がフ
ラッシュされる。GM26書込みが発生する時は、常に
GM26状態マシーン54内のレジスタがバイトイネー
ブルをラッチし、また、全ての32ビットがセットされ
る時に、状態マシーン54遷移を生じさせる、信号−B
YTES FULLを発生する。書込みバッファ88の内
容がフラッシュされる時は、何時も内部レジスタがリセ
ットされる。
【0158】GM26状態マシーン54によって、他の
ローカル装置のために、LPCバス32上に要求が出さ
れることも可能である。この場合には、アドレスデコー
ダ84によるGM26アドレス復号よりもむしろIOア
ドレス復号によって、GM26動作が開始される。
ローカル装置のために、LPCバス32上に要求が出さ
れることも可能である。この場合には、アドレスデコー
ダ84によるGM26アドレス復号よりもむしろIOア
ドレス復号によって、GM26動作が開始される。
【0159】バッファおよびコンパレータ データ経路のための読取りバッファ86および書込みバ
ッファ88を提供するのと同様に、LPCバス32イン
ターフェースは、アドレスバッファ90aおよび90b
をも提供する。バッファ90aが現在の読取りバッファ
86のアドレスを蓄え、また、読取りサイクル期間にL
PCバス32上へイネーブルされる。バッファ90bが
現在の書込みアドレスを蓄える。二つのバッファが必要
とされるのは、若し、プロセッサ22aが64ビットワ
ードを書込み、そして、256ビットの残りを書込む
(および書込みバッファ88をフラッシュする)前に、
キャッシュラインで読取りを始めるとすると、正しい書
込みアドレスが書込みサイクルの期間にLPCバス32
に対して駆動されるためである。
ッファ88を提供するのと同様に、LPCバス32イン
ターフェースは、アドレスバッファ90aおよび90b
をも提供する。バッファ90aが現在の読取りバッファ
86のアドレスを蓄え、また、読取りサイクル期間にL
PCバス32上へイネーブルされる。バッファ90bが
現在の書込みアドレスを蓄える。二つのバッファが必要
とされるのは、若し、プロセッサ22aが64ビットワ
ードを書込み、そして、256ビットの残りを書込む
(および書込みバッファ88をフラッシュする)前に、
キャッシュラインで読取りを始めるとすると、正しい書
込みアドレスが書込みサイクルの期間にLPCバス32
に対して駆動されるためである。
【0160】GM26読取りバッファ86および書込バ
ッファ88アドレスを格納するために、バッファ90a
および90bが27ビットレジスタとして実現される。
これらのバッファがGM26状態マシーン54の制御の
下でラッチされる。なお、GB24アドレスバスの27
最上位ビットがLPCアドレスバスの27最下位ビット
により駆動される。GB24アドレスが29アドレスビ
ット(64ビットのアドレス指定のために3ビットが無
視される)を駆動するのと丁度同じように、EPBIF
22cが27ビット(256ビットアドレス指定のため
に5ビットが無視される)を駆動する。LPCアドレス
フィールドの最上位5ビットが全てのGM26(あるい
はIOSEL)動作について、セグメントレジスタ(S
EGREG)90cに格納される値へセットされる。こ
のレジスタは、リセットによってゼロに初期化され、若
し、必要であれば、より大きなGM26アドレス空間を
アドレス指定するように、引き続いて書込まれる。
ッファ88アドレスを格納するために、バッファ90a
および90bが27ビットレジスタとして実現される。
これらのバッファがGM26状態マシーン54の制御の
下でラッチされる。なお、GB24アドレスバスの27
最上位ビットがLPCアドレスバスの27最下位ビット
により駆動される。GB24アドレスが29アドレスビ
ット(64ビットのアドレス指定のために3ビットが無
視される)を駆動するのと丁度同じように、EPBIF
22cが27ビット(256ビットアドレス指定のため
に5ビットが無視される)を駆動する。LPCアドレス
フィールドの最上位5ビットが全てのGM26(あるい
はIOSEL)動作について、セグメントレジスタ(S
EGREG)90cに格納される値へセットされる。こ
のレジスタは、リセットによってゼロに初期化され、若
し、必要であれば、より大きなGM26アドレス空間を
アドレス指定するように、引き続いて書込まれる。
【0161】さらに、ラッチされたアドレスは、幾つか
のコンパレータに対する入力として使用される。コンパ
レータ92aおよび92bは、バッファされた読取りア
ドレスおよび書込みアドレスをそれぞれプロセッサ22
aアドレス(ビット28〜2)と比較する。その結果と
して、若し、読取りバッファ86が現在アクティブな読
取りアドレスを有し、また、プロセッサ22aがそのア
ドレスビットと一致するような同一ページに対する読取
り要求を発行するならば、コンパレータ92aが信号R
MATCHを代入し、また、状態マシーン54がこれ
に従って応答する。信号W MATCHが同様にコンパ
レータ92bによって生成される。第3のコンパレータ
92cがラッチされた読取りアドレスおよび書込みアド
レスを比較する。この比較は、以前の二つの比較と同時
になされる。第4のコンパレータ94が読取りアドレス
をLPCバス32からのスヌープアドレスと比較する。
最後に第5のコンパレータ(図示しない)がEPBIF
22cへ向けられるデータ戻りを検出するように、LP
Cバス32からのMIDの2ビットをEPBIF22c
に対して配線されたPROCIDと比較する。
のコンパレータに対する入力として使用される。コンパ
レータ92aおよび92bは、バッファされた読取りア
ドレスおよび書込みアドレスをそれぞれプロセッサ22
aアドレス(ビット28〜2)と比較する。その結果と
して、若し、読取りバッファ86が現在アクティブな読
取りアドレスを有し、また、プロセッサ22aがそのア
ドレスビットと一致するような同一ページに対する読取
り要求を発行するならば、コンパレータ92aが信号R
MATCHを代入し、また、状態マシーン54がこれ
に従って応答する。信号W MATCHが同様にコンパ
レータ92bによって生成される。第3のコンパレータ
92cがラッチされた読取りアドレスおよび書込みアド
レスを比較する。この比較は、以前の二つの比較と同時
になされる。第4のコンパレータ94が読取りアドレス
をLPCバス32からのスヌープアドレスと比較する。
最後に第5のコンパレータ(図示しない)がEPBIF
22cへ向けられるデータ戻りを検出するように、LP
Cバス32からのMIDの2ビットをEPBIF22c
に対して配線されたPROCIDと比較する。
【0162】ここで、注意すべきことは、書込みバッフ
ァ88がフラッシュされる時は、何時でもLPCバス3
2のために32バイトイネーブル信号を格納するレジス
タ88aの内容もクリアもされることである。レジスタ
88aがLPCバス32を駆動するためにEPBIF2
2cの外部に存在し、また、EPBIF22c内で「シ
ャドウ」レジスタとして存在もしている。レジスタ88
aの8ビットセグメントが個別にロードされ、また、レ
ジスタ88aが一つの信号(UNSET W ACT)に
よってクリアされる。それぞれが書込みバッファ88内
の1バイトと対応する、格納されたバイトイネーブル
は、結合され、信号LPC RMWが発生する。このラ
インは、書込み時にLPCバス32アドレスによって駆
動され、若し、全てのバイトイネーブルがセットされて
いるならば、ローである。若し、ワード位置合わせされ
た32ビットスライスに関して、一部のバイトイネーブ
ルがセットされるならば、高レベルに駆動される。一例
として、プロセッサ22aが64ビットワードを書込
み、また、全ての8個のバイトイネーブルがアクティブ
であるならば、このワードがフラッシュされる場合にL
PC RMWがローである。若し、2個の64ビットワ
ードが書込みバッファ88へ書込まれ、また、全ての1
6バイトイネーブルがアクティブであるならば、これら
の2ワードもLPC RMWがローによって書込まれ
る。若し、第3のワードが書込みバッファ88へ書込ま
れ、そして、フラッシュされ、また、この第3の64ビ
ットワード内の何れか一つの32ビットワードが非アク
ティブイネーブルを有するならば、書込みバッファ88
がフラッシュされる時に、LPC RMWがハイに留ま
る。これは、GM26のデータの不注意なオーバーライ
トを防止する。
ァ88がフラッシュされる時は、何時でもLPCバス3
2のために32バイトイネーブル信号を格納するレジス
タ88aの内容もクリアもされることである。レジスタ
88aがLPCバス32を駆動するためにEPBIF2
2cの外部に存在し、また、EPBIF22c内で「シ
ャドウ」レジスタとして存在もしている。レジスタ88
aの8ビットセグメントが個別にロードされ、また、レ
ジスタ88aが一つの信号(UNSET W ACT)に
よってクリアされる。それぞれが書込みバッファ88内
の1バイトと対応する、格納されたバイトイネーブル
は、結合され、信号LPC RMWが発生する。このラ
インは、書込み時にLPCバス32アドレスによって駆
動され、若し、全てのバイトイネーブルがセットされて
いるならば、ローである。若し、ワード位置合わせされ
た32ビットスライスに関して、一部のバイトイネーブ
ルがセットされるならば、高レベルに駆動される。一例
として、プロセッサ22aが64ビットワードを書込
み、また、全ての8個のバイトイネーブルがアクティブ
であるならば、このワードがフラッシュされる場合にL
PC RMWがローである。若し、2個の64ビットワ
ードが書込みバッファ88へ書込まれ、また、全ての1
6バイトイネーブルがアクティブであるならば、これら
の2ワードもLPC RMWがローによって書込まれ
る。若し、第3のワードが書込みバッファ88へ書込ま
れ、そして、フラッシュされ、また、この第3の64ビ
ットワード内の何れか一つの32ビットワードが非アク
ティブイネーブルを有するならば、書込みバッファ88
がフラッシュされる時に、LPC RMWがハイに留ま
る。これは、GM26のデータの不注意なオーバーライ
トを防止する。
【0163】割込み EPBIF22cは、8個の外部のレベル起動型割込み
と8個の内部で生成された割込みとをサポートする。割
込みは、割込みマスクレジスタ64bによって個別にマ
スク可能であり、また、割込みクリアレジスタ64cに
よって個別にクリア可能である。アクティブで、マスク
されていない割込みは、一緒にオアされ、プロセッサ2
2aの単一の割込み入力ピンに対して渡される。メモリ
障害アドレスレジスタ(MFAR)64dは、プロセッ
サ22aによって、アクセスされた最後の3個のアドレ
スを蓄え、パリティ、ECCあるいはバスエラー割込み
の場合には、障害アドレスの読取りが可能とされる。
と8個の内部で生成された割込みとをサポートする。割
込みは、割込みマスクレジスタ64bによって個別にマ
スク可能であり、また、割込みクリアレジスタ64cに
よって個別にクリア可能である。アクティブで、マスク
されていない割込みは、一緒にオアされ、プロセッサ2
2aの単一の割込み入力ピンに対して渡される。メモリ
障害アドレスレジスタ(MFAR)64dは、プロセッ
サ22aによって、アクセスされた最後の3個のアドレ
スを蓄え、パリティ、ECCあるいはバスエラー割込み
の場合には、障害アドレスの読取りが可能とされる。
【0164】8個の外部割込みが特定の実現によって要
求されるように接続されるのに対して、ここでは以下の
ように、内部割込みが実現される。
求されるように接続されるのに対して、ここでは以下の
ように、内部割込みが実現される。
【0165】タイマー/カウンタ割込み。この割込み
は、タイマー/カウンタ60aが開始値に初期化され、
続いてゼロへディクレメントした後にセットされる。
は、タイマー/カウンタ60aが開始値に初期化され、
続いてゼロへディクレメントした後にセットされる。
【0166】バッドアドレス。この割込みは、EPBI
F22cがマップされていないアドレスに対するプロセ
ッサ22aからの要求を受け取る時にセットされる。
F22cがマップされていないアドレスに対するプロセ
ッサ22aからの要求を受け取る時にセットされる。
【0167】診断割込み。この割込みは、EPBIF2
2cがシリアル診断インターフェースバス上の割込みパ
ケットを受け取る時にセットされる。
2cがシリアル診断インターフェースバス上の割込みパ
ケットを受け取る時にセットされる。
【0168】バスエラー割込み。この割込みは、EPB
IF22cがローカルバス32をアクセスしようとする
にもかかわらず、タイムアウトする時にセットされる。
IF22cがローカルバス32をアクセスしようとする
にもかかわらず、タイムアウトする時にセットされる。
【0169】DMA割込みの終了。この割込みは、DM
A動作の完了時にセットされる。
A動作の完了時にセットされる。
【0170】さらに、上述した二つの入力ピン(+LP
C ECCERR−−Iおよび+LPC ERRTYP
E−−I)は、グローバルメモリ26から読取られたデ
ータと共に、戻されるECCエラーを指示するために、
割込み入力として使用される。
C ECCERR−−Iおよび+LPC ERRTYP
E−−I)は、グローバルメモリ26から読取られたデ
ータと共に、戻されるECCエラーを指示するために、
割込み入力として使用される。
【0171】内部プロセッサ割込み(IPC)サポート EPBIF22cは、二つのレジスタ58および68を
含み、これらは、プロセッサ間割込みの送出をサポート
する。IPCレジスタ58は、プロセッサ選択マスクレ
ジスタ58aとGSIレジスタ58bへ区別される。プ
ロセッサ選択マスクレジスタ58a(図10)は、宛先
マスクを規定し、32ビット幅であり、その各ビットが
システム10プロセッサの一つと関連している。これに
よって、プロセッサがシステム内の何れか一つのプロセ
ッサ、あるいはシステム内のプロセッサ群に対して割込
みを送出できる。GSIレジスタ58b内に蓄えられる
付加的な4ビットが宛先システムユニット、あるいはプ
ロセッサの種類(計算あるいはI/O)を選択する。第
2のレジスタは、割込みのディスパッチをセットする送
出割込みレジスタ68(図4)である。このメカニズム
を通じてプロセッサは、自身に対する割込みも可能であ
る。
含み、これらは、プロセッサ間割込みの送出をサポート
する。IPCレジスタ58は、プロセッサ選択マスクレ
ジスタ58aとGSIレジスタ58bへ区別される。プ
ロセッサ選択マスクレジスタ58a(図10)は、宛先
マスクを規定し、32ビット幅であり、その各ビットが
システム10プロセッサの一つと関連している。これに
よって、プロセッサがシステム内の何れか一つのプロセ
ッサ、あるいはシステム内のプロセッサ群に対して割込
みを送出できる。GSIレジスタ58b内に蓄えられる
付加的な4ビットが宛先システムユニット、あるいはプ
ロセッサの種類(計算あるいはI/O)を選択する。第
2のレジスタは、割込みのディスパッチをセットする送
出割込みレジスタ68(図4)である。このメカニズム
を通じてプロセッサは、自身に対する割込みも可能であ
る。
【0172】IPC割込みは、特殊なローカルバス32
サイクルとして行なわれる。すなわち、EPBIF22
cは、LPC ATYPE信号によって、通常の読取り
サイクルと区別される特殊な読取りサイクルとして、I
PC割込みメッセージを送出する。この特殊なローカル
バス読取りサイクルは、関連するUBIF34によって
グローバルバス24へ渡され、また、宛先フィールド内
にセットされたその特定の識別子を有するカード上のU
BIFによって、復号される(図11)。LPCバスア
ドレスライン、LPC A(31:0)は、32ビット
プロセッサ22aマスクを送るのに使用され、また、長
さフィールド、LPC LEN(3:0)は、付加的な
記述子情報を送るのに使用される。宛先フィールド中の
有効ビットを復号するカード上のUBIF34は、1あ
るいは複数の関連プロセッサに割込むために、信号IP
CINTR<3:0>を発生する。
サイクルとして行なわれる。すなわち、EPBIF22
cは、LPC ATYPE信号によって、通常の読取り
サイクルと区別される特殊な読取りサイクルとして、I
PC割込みメッセージを送出する。この特殊なローカル
バス読取りサイクルは、関連するUBIF34によって
グローバルバス24へ渡され、また、宛先フィールド内
にセットされたその特定の識別子を有するカード上のU
BIFによって、復号される(図11)。LPCバスア
ドレスライン、LPC A(31:0)は、32ビット
プロセッサ22aマスクを送るのに使用され、また、長
さフィールド、LPC LEN(3:0)は、付加的な
記述子情報を送るのに使用される。宛先フィールド中の
有効ビットを復号するカード上のUBIF34は、1あ
るいは複数の関連プロセッサに割込むために、信号IP
CINTR<3:0>を発生する。
【0173】図10および11は、EPBIF22cの
IPC部分の動作をより詳細に示す。特に、図10は、
IPCレジスタ58フォーマット並びにローカルバス3
2およびグローバルバス24へのIPCレジスタ58の
結合を示す。図11は、IPCロジック80、特に、I
PCサイクル検出ロジックブロック80aおよびIPC
プロセッサ選択ロジックブロック80bをより詳細に示
す。
IPC部分の動作をより詳細に示す。特に、図10は、
IPCレジスタ58フォーマット並びにローカルバス3
2およびグローバルバス24へのIPCレジスタ58の
結合を示す。図11は、IPCロジック80、特に、I
PCサイクル検出ロジックブロック80aおよびIPC
プロセッサ選択ロジックブロック80bをより詳細に示
す。
【0174】DMA機能 EPBIF22cは、グローバルメモリ26および関連
するローカルメモリ22bとの間で、ソースアドレスレ
ジスタ56a、宛先アドレスレジスタ56b、および長
さ/ブロックサイズレジスタ56cによって、ブロック
DMAをサポートする。グローバルバス24がブロック
データ転送をサポートするので、伝送されるブロックの
サイズおよびブロック数の両者が特定される。戻りデー
タブロックは、EPBIF22cにより要求されるま
で、UBIF34内に蓄えられる。この好ましいUBI
F34の実現においては、8個の256ビットワードが
プロセッサ22a毎に蓄えられる。DMAデータは、ロ
ーカルメモリ22bデータトランシーバ22fおよび2
2g(64ビット)へ一度に転送される前に、UBIF
34からグローバルメモリ26読取りバッファ86へ書
込まれる。動作中、DMAコントローラは、その全帯域
幅でローカルメモリ22bを書込み、また、DMA動作
中でローカルメモリ22bリフレッシュに適応し、さら
に、待ち時間を最小とするように、グローバルメモリ2
6からの次の256ビットワードをローカルバス32に
前もって要求する。DMA動作がなされている間、EP
BIF22cがプロセッサ22aがローカルバス32を
オフすることを保持し、グローバルバス24について競
合がないとすると、200Mバイト/秒に及ぶ転送が達
成される。DMA割込み終わりで、動作の完了が知らさ
れる。
するローカルメモリ22bとの間で、ソースアドレスレ
ジスタ56a、宛先アドレスレジスタ56b、および長
さ/ブロックサイズレジスタ56cによって、ブロック
DMAをサポートする。グローバルバス24がブロック
データ転送をサポートするので、伝送されるブロックの
サイズおよびブロック数の両者が特定される。戻りデー
タブロックは、EPBIF22cにより要求されるま
で、UBIF34内に蓄えられる。この好ましいUBI
F34の実現においては、8個の256ビットワードが
プロセッサ22a毎に蓄えられる。DMAデータは、ロ
ーカルメモリ22bデータトランシーバ22fおよび2
2g(64ビット)へ一度に転送される前に、UBIF
34からグローバルメモリ26読取りバッファ86へ書
込まれる。動作中、DMAコントローラは、その全帯域
幅でローカルメモリ22bを書込み、また、DMA動作
中でローカルメモリ22bリフレッシュに適応し、さら
に、待ち時間を最小とするように、グローバルメモリ2
6からの次の256ビットワードをローカルバス32に
前もって要求する。DMA動作がなされている間、EP
BIF22cがプロセッサ22aがローカルバス32を
オフすることを保持し、グローバルバス24について競
合がないとすると、200Mバイト/秒に及ぶ転送が達
成される。DMA割込み終わりで、動作の完了が知らさ
れる。
【0175】その他の機能 制御および状態レジスタ(CSR)62は、読取りバッ
ファ86および書込みバッファ88の動作のためのモー
ド設定を含む、EPBIF22c内の多数の機能を制御
する。CSR62は、32ビットレジスタであり、その
幾つかのビットは、読取り/書込み(r/w)であり、
また、その幾つかのビットが読取り専用(r/o)であ
り、さらに、その他のビットが書込み専用(w/o)で
ある。CSR62ビット規定は、下記のものである。
ファ86および書込みバッファ88の動作のためのモー
ド設定を含む、EPBIF22c内の多数の機能を制御
する。CSR62は、32ビットレジスタであり、その
幾つかのビットは、読取り/書込み(r/w)であり、
また、その幾つかのビットが読取り専用(r/o)であ
り、さらに、その他のビットが書込み専用(w/o)で
ある。CSR62ビット規定は、下記のものである。
【0176】(r/w)ビットにより書込みバッファ8
8が自動フラッシュモードとされる。1にセットされる
時に、このビットによって、ローカルプロセッサ22a
によって全ての32バイトが書込まれた時に、EPBI
F22c書込みバッファ88がグローバルメモリ26へ
自動的にフラッシュアウトされることができる。ゼロ
(省略時値)へクリアされる時に、(a)関連するプロ
セッサのグローバル書込みアドレスがアクティブな32
バイト書込みブロックの外部である時、(b)プロセッ
サ22aがアクティブな32バイト書込みブロック中に
含まれるアドレスに対する読取りを発行する時、または
(c)プロセッサ22aがグローバルメモリ26に対す
るLOCK書込みサイクルを発行する時にだけ、EPB
IF22c書込みバッファ88がフラッシュされる。
8が自動フラッシュモードとされる。1にセットされる
時に、このビットによって、ローカルプロセッサ22a
によって全ての32バイトが書込まれた時に、EPBI
F22c書込みバッファ88がグローバルメモリ26へ
自動的にフラッシュアウトされることができる。ゼロ
(省略時値)へクリアされる時に、(a)関連するプロ
セッサのグローバル書込みアドレスがアクティブな32
バイト書込みブロックの外部である時、(b)プロセッ
サ22aがアクティブな32バイト書込みブロック中に
含まれるアドレスに対する読取りを発行する時、または
(c)プロセッサ22aがグローバルメモリ26に対す
るLOCK書込みサイクルを発行する時にだけ、EPB
IF22c書込みバッファ88がフラッシュされる。
【0177】(r/w)ビットにより読取りバッファ8
6が自動無効モードとされる。1にセットされる時に、
このビットによって、同一の32バイトグローバルメモ
リ26アドレスに対する256個の連続するプロセッサ
22aの読取りの後に、EPBIF22c読取りバッフ
ァ86が無効にされる。
6が自動無効モードとされる。1にセットされる時に、
このビットによって、同一の32バイトグローバルメモ
リ26アドレスに対する256個の連続するプロセッサ
22aの読取りの後に、EPBIF22c読取りバッフ
ァ86が無効にされる。
【0178】(r/w)ビットにより読取りバッファ8
6がイネーブルされる。1にセットされる時に、このビ
ットによって、EPBIF22c読取りデータバッファ
からバッファされた読取りが可能となる。これは、32
バイトグローバルアドレス境界上に位置合わせされた3
2個に及ぶ連続バイトを保持する。ゼロ(省略時値)に
クリアされる時に、LPCバスおよびグローバルバス2
4上のグローバルアドレス空間に対する各プロセッサ2
2a読取りをEPBIF22cが反映する。すなわち、
読取りバッファ86に以前に蓄えられたデータからでは
なくて、GM26から全ての読取りが生じる。
6がイネーブルされる。1にセットされる時に、このビ
ットによって、EPBIF22c読取りデータバッファ
からバッファされた読取りが可能となる。これは、32
バイトグローバルアドレス境界上に位置合わせされた3
2個に及ぶ連続バイトを保持する。ゼロ(省略時値)に
クリアされる時に、LPCバスおよびグローバルバス2
4上のグローバルアドレス空間に対する各プロセッサ2
2a読取りをEPBIF22cが反映する。すなわち、
読取りバッファ86に以前に蓄えられたデータからでは
なくて、GM26から全ての読取りが生じる。
【0179】(r/w)ビットにより書込みバッファ8
8がイネーブルされる。1にセットされる時に、このビ
ットによって、プロセッサ書込みが書込みデータバッフ
ァ88内にバッファされることが可能となる。書込みバ
ッファ88は、32バイトグローバルアドレス境界上に
位置合わせされた32個に及ぶ連続バイトを保持する。
ゼロ(省略時値)にクリアされる時に、書込みバッファ
88を介して、LPCバスおよびグローバルバス24上
のグローバルアドレス空間に対する各プロセッサ22a
書込みをEPBIF22cが反映する。
8がイネーブルされる。1にセットされる時に、このビ
ットによって、プロセッサ書込みが書込みデータバッフ
ァ88内にバッファされることが可能となる。書込みバ
ッファ88は、32バイトグローバルアドレス境界上に
位置合わせされた32個に及ぶ連続バイトを保持する。
ゼロ(省略時値)にクリアされる時に、書込みバッファ
88を介して、LPCバスおよびグローバルバス24上
のグローバルアドレス空間に対する各プロセッサ22a
書込みをEPBIF22cが反映する。
【0180】(w/o)ビットが障害条件をリセットす
る。このビットロケーションに対して1が書込まれる時
に、現在の障害条件がクリアされ、プロセッサ22aに
よって発行されたメモリ26アドレスのラッチをメモリ
障害アドレスレジスタ64dが再開する。障害条件が発
生する時は、常にメモリ障害アドレスレジスタ64dが
エラー条件を生じさせた最新のメモリ参照の物理アドレ
スを反映する。
る。このビットロケーションに対して1が書込まれる時
に、現在の障害条件がクリアされ、プロセッサ22aに
よって発行されたメモリ26アドレスのラッチをメモリ
障害アドレスレジスタ64dが再開する。障害条件が発
生する時は、常にメモリ障害アドレスレジスタ64dが
エラー条件を生じさせた最新のメモリ参照の物理アドレ
スを反映する。
【0181】(r/w)ビットは、タイマーモード選択
として機能する。1にセットされる時に割込みタイマー
60aが初期値から連続的にディクレメントし、また、
プロセッサ22a割込みを発生し、さらに、その初期値
へリセットする。ゼロ(省略時値)にクリアされる時
に、タイマー60aがその初期値からディクレメント
し、また、プロセッサ22a割込みを発生し、そして、
プロセッサ22aによって再ロードされるまでに動作が
終わる。
として機能する。1にセットされる時に割込みタイマー
60aが初期値から連続的にディクレメントし、また、
プロセッサ22a割込みを発生し、さらに、その初期値
へリセットする。ゼロ(省略時値)にクリアされる時
に、タイマー60aがその初期値からディクレメント
し、また、プロセッサ22a割込みを発生し、そして、
プロセッサ22aによって再ロードされるまでに動作が
終わる。
【0182】(r/o)ビットは、ローカルメモリ22
bのサイズを指示し、0=16Mバイト、1=32Mバ
イトである。
bのサイズを指示し、0=16Mバイト、1=32Mバ
イトである。
【0183】8(r/o)ビットがプロセッサ識別子ビ
ットである。結果8ビットコードは、付加されたプロセ
ッサ22aの独自のハードウエア識別子を反映し、これ
は、グローバルバス24に対するプロセッサ読取り要求
にタグを付けるのに使用される。この8ビットコード
は、密結合されたマルチSVS構成中のSVS10シス
テムユニットを識別する、2ビットのUNITIDと、
プロセッサカードが接続されるバックプレーンスロット
を識別する、4ビットのSLOTIDと、プロセッサカ
ード22上のプロセッサ22aの番号を一意的に識別す
る、2ビットのLOC PROCIDとからなる。
ットである。結果8ビットコードは、付加されたプロセ
ッサ22aの独自のハードウエア識別子を反映し、これ
は、グローバルバス24に対するプロセッサ読取り要求
にタグを付けるのに使用される。この8ビットコード
は、密結合されたマルチSVS構成中のSVS10シス
テムユニットを識別する、2ビットのUNITIDと、
プロセッサカードが接続されるバックプレーンスロット
を識別する、4ビットのSLOTIDと、プロセッサカ
ード22上のプロセッサ22aの番号を一意的に識別す
る、2ビットのLOC PROCIDとからなる。
【0184】4(r/o)ビットがプロセッサカード2
2の改訂水準を反映する。
2の改訂水準を反映する。
【0185】(r/w)ビットがプロセッサブートビッ
トとして機能する。このビットは、プロセッサ22aが
8ビットモードか、リセットが続く64ビットモードの
何れでブートされるかを制御する。省略時が64ビット
モードである。
トとして機能する。このビットは、プロセッサ22aが
8ビットモードか、リセットが続く64ビットモードの
何れでブートされるかを制御する。省略時が64ビット
モードである。
【0186】(r/w)ビットは、要求(REQ)を認
可(GNT)タイムアウト期間として特定する。このビ
ットは、若し、ある所定サイクル数の内に、LPC R
EQあるいはLPC WREQがLPC GNTを受け
取らない時に、EPBIF22cがタイムアウトかどう
かを制御する。イネーブルされたこのビットによるタイ
ムアウトの発生により、プロセッサ22aに対するBU
SERR割込みがセットされる。
可(GNT)タイムアウト期間として特定する。このビ
ットは、若し、ある所定サイクル数の内に、LPC R
EQあるいはLPC WREQがLPC GNTを受け
取らない時に、EPBIF22cがタイムアウトかどう
かを制御する。イネーブルされたこのビットによるタイ
ムアウトの発生により、プロセッサ22aに対するBU
SERR割込みがセットされる。
【0187】他の(r/w)ビットが読取り応答タイム
アウトビットであり、若し、LPCバス32に戻される
データを待っており、ある所定サイクル数の内に、ID
MATCHを有するLPC DCYCLE信号を受け
取らない時に、EPBIFがタイムアウトかどうかを制
御する。イネーブルされたこのビットによるタイムアウ
トの発生により、プロセッサ22aに対するBUSER
R割込みがセットされる。
アウトビットであり、若し、LPCバス32に戻される
データを待っており、ある所定サイクル数の内に、ID
MATCHを有するLPC DCYCLE信号を受け
取らない時に、EPBIFがタイムアウトかどうかを制
御する。イネーブルされたこのビットによるタイムアウ
トの発生により、プロセッサ22aに対するBUSER
R割込みがセットされる。
【0188】(r/w)ビットは、PTBイネーブルビ
ットであり、これのローによって、グローバルメモリ状
態マシーン54が各メモリ要求に関してプロセッサ22
aPCD/PWT信号ラインを試験し、若し、このPC
D/PWT信号ラインがアクティブ(ハイ)であれば、
要求をキャッシュしない(読取るあるいは書込む)。若
し、PTBイネーブルビットが非アクティブならば、P
CD/PWT信号ラインが無視される。
ットであり、これのローによって、グローバルメモリ状
態マシーン54が各メモリ要求に関してプロセッサ22
aPCD/PWT信号ラインを試験し、若し、このPC
D/PWT信号ラインがアクティブ(ハイ)であれば、
要求をキャッシュしない(読取るあるいは書込む)。若
し、PTBイネーブルビットが非アクティブならば、P
CD/PWT信号ラインが無視される。
【0189】(r/w)ビットは、ECCイネーブルビ
ットとして機能する。若し、このビットが非アクティブ
ならば、EPBIF22cが全ての到来ECCエラーを
無視する。このビットがアクティブならば、ECCエラ
ーが割込みを生成し、グローバルメモリ26読取りバッ
ファ86を適切に無効とする。
ットとして機能する。若し、このビットが非アクティブ
ならば、EPBIF22cが全ての到来ECCエラーを
無視する。このビットがアクティブならば、ECCエラ
ーが割込みを生成し、グローバルメモリ26読取りバッ
ファ86を適切に無効とする。
【0190】さらに、(r/w)ビット(モード40)
がこの発明に従って機能し、グローバル状態マシーン5
4およびローカルメモリ状態マシーン52に対して加え
られる付加的タイミング状態を生じさせる。付加的タイ
ミング状態の挿入は、LPCバス32およびGB24を
アクセスする時のタイミング要件を緩和する。この発明
の態様は、図14を参照して以下に詳細に説明する。
がこの発明に従って機能し、グローバル状態マシーン5
4およびローカルメモリ状態マシーン52に対して加え
られる付加的タイミング状態を生じさせる。付加的タイ
ミング状態の挿入は、LPCバス32およびGB24を
アクセスする時のタイミング要件を緩和する。この発明
の態様は、図14を参照して以下に詳細に説明する。
【0191】シリアル診断インターフェースバス EPBIF22cがシリアル診断バスを実現する。これ
によって、ホストコンピュータが多数の制御機能を行な
い、あるいはローカルプロセッサ22aがアクセス可能
なメモリの一部をアクセスすることができる。従って、
シリアルバスマスターによって、グローバルあるいはロ
ーカルメモリまたはEPBIF22c内のレジスタの何
れかを読取りあるいは書込むことができる。。さらに、
シリアルバスマスターが停止することができ、その後
に、プロセッサがプロセッサあるいはプロセッサノード
を再ブートするか、または個別のプロセッサあるいはプ
ロセッサグループに対して割込みを送出する。従って、
シリアルバスは、プロセッサの動作と「模擬的」動作を
行ない、プロセッサが行ないうる動作をこのようになし
うる。
によって、ホストコンピュータが多数の制御機能を行な
い、あるいはローカルプロセッサ22aがアクセス可能
なメモリの一部をアクセスすることができる。従って、
シリアルバスマスターによって、グローバルあるいはロ
ーカルメモリまたはEPBIF22c内のレジスタの何
れかを読取りあるいは書込むことができる。。さらに、
シリアルバスマスターが停止することができ、その後
に、プロセッサがプロセッサあるいはプロセッサノード
を再ブートするか、または個別のプロセッサあるいはプ
ロセッサグループに対して割込みを送出する。従って、
シリアルバスは、プロセッサの動作と「模擬的」動作を
行ない、プロセッサが行ないうる動作をこのようになし
うる。
【0192】アトミックフェッチおよび加算動作 PBIFは、上述で参照した米国特許出願第733,5
17号、名称「マイクロプロセッサシステムのためのプ
ロセッサバッファインターフェース」、フォスター他で
述べられている。i860OXRプロセッサロックプロ
トコルの実現、すなわち、ロックされた要求がグローバ
ルメモリ26に対して返され、グローバルメモリ26の
個別のワードが他のプロセッサによるアクセスに対して
ロックされる。この種のプロトコル(あるいは等化なも
の)は、マイクロプロセッサシステムにおいて、プロセ
ッサ間で共用されているデータが一貫性をもって管理さ
れることを確実とするのに必要とされる。しかしなが
ら、例えば全ての32個のプロセッサがメモリ内の単一
の共用要素についてのロックを獲得しようとする時に
は、このプロトコルに対して付加されるプロセッサ22
aオーバーヘッドがかなり存在しうる。すなわち、各プ
ロセッサが最初にロケーションを読取り、それが既にロ
ックされているかどうかを決定し、そのロケーションが
フリー(ロック解除される)となるまで待ち、ロック要
求を発行し、ロック要求が認可されたかを決定し、それ
からデータの変更を始める必要がある。
17号、名称「マイクロプロセッサシステムのためのプ
ロセッサバッファインターフェース」、フォスター他で
述べられている。i860OXRプロセッサロックプロ
トコルの実現、すなわち、ロックされた要求がグローバ
ルメモリ26に対して返され、グローバルメモリ26の
個別のワードが他のプロセッサによるアクセスに対して
ロックされる。この種のプロトコル(あるいは等化なも
の)は、マイクロプロセッサシステムにおいて、プロセ
ッサ間で共用されているデータが一貫性をもって管理さ
れることを確実とするのに必要とされる。しかしなが
ら、例えば全ての32個のプロセッサがメモリ内の単一
の共用要素についてのロックを獲得しようとする時に
は、このプロトコルに対して付加されるプロセッサ22
aオーバーヘッドがかなり存在しうる。すなわち、各プ
ロセッサが最初にロケーションを読取り、それが既にロ
ックされているかどうかを決定し、そのロケーションが
フリー(ロック解除される)となるまで待ち、ロック要
求を発行し、ロック要求が認可されたかを決定し、それ
からデータの変更を始める必要がある。
【0193】EPBIF22cが上述のアトミックフェ
ッチおよび加算(AFA)動作を使用することによっ
て、プロセッサ22aオーバーヘッドをかなり低減する
ことができる。ここで、図12および13を参照して、
EPBIF22cのアトミックフェッチおよび加算(A
FA)動作について説明する。
ッチおよび加算(AFA)動作を使用することによっ
て、プロセッサ22aオーバーヘッドをかなり低減する
ことができる。ここで、図12および13を参照して、
EPBIF22cのアトミックフェッチおよび加算(A
FA)動作について説明する。
【0194】図13から分かるように、AFA回路は、
アドレスレジスタ102、値レジスタ104、およびデ
ータ戻りレジスタ106の動作を制御するために、アト
ミック状態マシーン100を含む。レジスタ102およ
び104は、プロセッサ22aによって書込み可能であ
り、レジスタ106がプロセッサ22aによって読取り
可能である。AFA回路は、インクリメンタ/ディクリ
メンタ(ALU108)をも含み、それは、値レジスタ
104の出力と結合される第1の入力と、LPCデータ
バス32aと結合される第2の入力とを有する。LPC
データバス32aがUBIF34を介してGB24およ
びGM26に対して結合される。
アドレスレジスタ102、値レジスタ104、およびデ
ータ戻りレジスタ106の動作を制御するために、アト
ミック状態マシーン100を含む。レジスタ102およ
び104は、プロセッサ22aによって書込み可能であ
り、レジスタ106がプロセッサ22aによって読取り
可能である。AFA回路は、インクリメンタ/ディクリ
メンタ(ALU108)をも含み、それは、値レジスタ
104の出力と結合される第1の入力と、LPCデータ
バス32aと結合される第2の入力とを有する。LPC
データバス32aがUBIF34を介してGB24およ
びGM26に対して結合される。
【0195】アトミック状態マシーン100の動作が図
12の状態遷移図に示される。
12の状態遷移図に示される。
【0196】動作において、値レジスタ104が最初に
プロセッサ22aによって、好ましくはPROCIDと
対応するする値が書込まれる。次に、プロセッサ22a
がアドレスレジスタ102にGM26のアドレスを書込
む。アドレスレジスタ102を書込むアクションは、信
号ATOMIC ENAを生成し、それによって、アト
ミック状態マシーン100がアイドル状態(S0)およ
び入力(S1)から出る。状態マシーン100は、シリ
アルインターフェース、DMAの何れでもなく、または
IPCが使用中(BSY)でない(!)条件が指示され
るまで、S1にとどまる。
プロセッサ22aによって、好ましくはPROCIDと
対応するする値が書込まれる。次に、プロセッサ22a
がアドレスレジスタ102にGM26のアドレスを書込
む。アドレスレジスタ102を書込むアクションは、信
号ATOMIC ENAを生成し、それによって、アト
ミック状態マシーン100がアイドル状態(S0)およ
び入力(S1)から出る。状態マシーン100は、シリ
アルインターフェース、DMAの何れでもなく、または
IPCが使用中(BSY)でない(!)条件が指示され
るまで、S1にとどまる。
【0197】GM26内の特定されたアドレスに対する
ロックされた読取り要求がそれから行なわれる(状態S
1〜S4)。若し、他のプロセッサによってそのアドレ
ス指定されたロケーションが既にロックされているなら
ば、この要求がGM26に保持され、また、そのロケー
ションがフリーになるまで、自動的に再試行される。よ
り具体的には、S2においてHOLD要求がLPCバス
32へのアクセスを獲得するために、プロセッサ22a
に対して発行される。アトミック状態マシーン100
は、プロセッサ22aがLPCバス32を解放したこと
を指示する、HOLDAが受け取られるまでS2の状態
にとどまる。S3において、状態マシーン100は、ア
ドレスレジスタ102の内容をLPCバスへ駆動し、ま
た、S4において、GM26に対するロックされた読取
りサイクルが発生する。
ロックされた読取り要求がそれから行なわれる(状態S
1〜S4)。若し、他のプロセッサによってそのアドレ
ス指定されたロケーションが既にロックされているなら
ば、この要求がGM26に保持され、また、そのロケー
ションがフリーになるまで、自動的に再試行される。よ
り具体的には、S2においてHOLD要求がLPCバス
32へのアクセスを獲得するために、プロセッサ22a
に対して発行される。アトミック状態マシーン100
は、プロセッサ22aがLPCバス32を解放したこと
を指示する、HOLDAが受け取られるまでS2の状態
にとどまる。S3において、状態マシーン100は、ア
ドレスレジスタ102の内容をLPCバスへ駆動し、ま
た、S4において、GM26に対するロックされた読取
りサイクルが発生する。
【0198】ロックされたロケーションがロック解除と
なる時に、アドレス指定されたメモリロケーションから
のデータがGM26から戻され(S5)、また、メモリ
ロケーションが自動的にGM26によってロックされ
る。戻りデータは、データ戻りレジスタ106に格納さ
れる(S6)。ALU108によって、戻りデータが値
レジスタ104の内容に対して加算され(S7)、その
結果がロックされた書込みサイクルを使用してアトミッ
ク状態マシーン100によってGM26へ自動的に書き
出され(S8およびS9)、それによって、メモリロケ
ーションのロックを解除する。より具体的には、S8で
GM26書込みサイクルが開始され、また、ロックされ
た書込みが受信確認される(GM RDY)まで、アト
ミック状態マシーン100がS9にとどまる。プロセッ
サ22aは、それからそのメモリロケーションの元の内
容を反映する、データ戻りレジスタ106の内容を読取
る。若し、ゼロならば、プロセッサ22aは、それがロ
ックを既に獲得していることを知らされる。さらに、ロ
ックされた読取りによって戻されたゼロのデータ値に対
して値レジスタ104の内容が加算されるので、プロセ
ッサ22aにそのPROCIDがアドレス指定されたメ
モリロケーションに今や蓄えられたことが保証される。
すなわち、若し、各プロセッサがそれ自身のPROCI
Dをメモリロケーションへ書込み、そのロケーションを
ロックするならば、ゼロのメモリロケーション内容は、
そのロケーションをプロセッサが未だロックしていない
ことを指示する。
なる時に、アドレス指定されたメモリロケーションから
のデータがGM26から戻され(S5)、また、メモリ
ロケーションが自動的にGM26によってロックされ
る。戻りデータは、データ戻りレジスタ106に格納さ
れる(S6)。ALU108によって、戻りデータが値
レジスタ104の内容に対して加算され(S7)、その
結果がロックされた書込みサイクルを使用してアトミッ
ク状態マシーン100によってGM26へ自動的に書き
出され(S8およびS9)、それによって、メモリロケ
ーションのロックを解除する。より具体的には、S8で
GM26書込みサイクルが開始され、また、ロックされ
た書込みが受信確認される(GM RDY)まで、アト
ミック状態マシーン100がS9にとどまる。プロセッ
サ22aは、それからそのメモリロケーションの元の内
容を反映する、データ戻りレジスタ106の内容を読取
る。若し、ゼロならば、プロセッサ22aは、それがロ
ックを既に獲得していることを知らされる。さらに、ロ
ックされた読取りによって戻されたゼロのデータ値に対
して値レジスタ104の内容が加算されるので、プロセ
ッサ22aにそのPROCIDがアドレス指定されたメ
モリロケーションに今や蓄えられたことが保証される。
すなわち、若し、各プロセッサがそれ自身のPROCI
Dをメモリロケーションへ書込み、そのロケーションを
ロックするならば、ゼロのメモリロケーション内容は、
そのロケーションをプロセッサが未だロックしていない
ことを指示する。
【0199】プロセッサがロックを獲得してない場合
(すなわち、データ戻りレジスタ106の内容が0より
も大きい)では、データ戻りレジスタ106の内容がプ
ロセッサ22aによってメモリロケーションへ書き戻さ
れ、その元の値に対するロケーションを復元する。デー
タ戻りレジスタ106の内容によってゼロであることが
指示されるような、プロセッサ22aがロックを獲得す
る場合に関しては、プロセッサ22aが共用資源あるい
はデータを使用して必要な動作は何でも行ない、それか
ら、それが共用データあるいは資源の所有権を解放した
ことを指示するために、そのロケーションに対してゼロ
を書込む。
(すなわち、データ戻りレジスタ106の内容が0より
も大きい)では、データ戻りレジスタ106の内容がプ
ロセッサ22aによってメモリロケーションへ書き戻さ
れ、その元の値に対するロケーションを復元する。デー
タ戻りレジスタ106の内容によってゼロであることが
指示されるような、プロセッサ22aがロックを獲得す
る場合に関しては、プロセッサ22aが共用資源あるい
はデータを使用して必要な動作は何でも行ない、それか
ら、それが共用データあるいは資源の所有権を解放した
ことを指示するために、そのロケーションに対してゼロ
を書込む。
【0200】グローバルメモリ26およびプロセッサ2
2aの両者の観点からフェッチおよび加算(読取り変更
書込み)命令がアトミック動作として発生することが分
かる。
2aの両者の観点からフェッチおよび加算(読取り変更
書込み)命令がアトミック動作として発生することが分
かる。
【0201】なお、アドレスレジスタ102および値レ
ジスタ104は、単一のレジスタ内、例えば64ビット
幅のレジスタ内に実現することができる。この実施例で
は、プロセッサ22aが上述のように、二つの動作を使
用するのに代えて一つの動作でアドレスおよび値の両者
を書込む。単一の書込み動作は、上述のように、アトミ
ック状態マシーン100の動作を開始するのに使用され
る。
ジスタ104は、単一のレジスタ内、例えば64ビット
幅のレジスタ内に実現することができる。この実施例で
は、プロセッサ22aが上述のように、二つの動作を使
用するのに代えて一つの動作でアドレスおよび値の両者
を書込む。単一の書込み動作は、上述のように、アトミ
ック状態マシーン100の動作を開始するのに使用され
る。
【0202】上述のものに基づいて、また、図16の流
れ図に従うと、この発明の態様が第1のデータプロセッ
サによってロックされたメモリ読取り/書込みサイクル
を実行するための方法を提供することが分かる。この方
法は、(A)第1のレジスタにメモリに書込まれる値を
格納するステップ、(B)第2のレジスタにメモリ内の
ロケーションのアドレスを格納し、アドレスを格納する
ステップに応答して値が格納されるステップ、(C)第
1のレジスタ内に格納されたアドレスによって特定され
るメモリのロケーションに対するロックされた読取りサ
イクルを開始するステップ、(D)メモリからのアドレ
ス指定されたロケーションの内容を受け取るステップ、
(E)受け取った内容を第3のレジスタに格納するステ
ップ、(F)第2のレジスタの内容をアドレス指定され
たロケーションの受け取った内容と結合し、結合値を作
成するステップ、(G)結合値をそのロケーションへ蓄
えるために、第1のレジスタ内に格納されたアドレスに
よって特定されるメモリ内のロケーションに対するロッ
クされた書込みサイクルを開始するステップとからな
る。
れ図に従うと、この発明の態様が第1のデータプロセッ
サによってロックされたメモリ読取り/書込みサイクル
を実行するための方法を提供することが分かる。この方
法は、(A)第1のレジスタにメモリに書込まれる値を
格納するステップ、(B)第2のレジスタにメモリ内の
ロケーションのアドレスを格納し、アドレスを格納する
ステップに応答して値が格納されるステップ、(C)第
1のレジスタ内に格納されたアドレスによって特定され
るメモリのロケーションに対するロックされた読取りサ
イクルを開始するステップ、(D)メモリからのアドレ
ス指定されたロケーションの内容を受け取るステップ、
(E)受け取った内容を第3のレジスタに格納するステ
ップ、(F)第2のレジスタの内容をアドレス指定され
たロケーションの受け取った内容と結合し、結合値を作
成するステップ、(G)結合値をそのロケーションへ蓄
えるために、第1のレジスタ内に格納されたアドレスに
よって特定されるメモリ内のロケーションに対するロッ
クされた書込みサイクルを開始するステップとからな
る。
【0203】受け取りのステップは、第2のデータプロ
セッサによるアクセスに対してメモリ内のロケーション
をロックするステップを含み、また、ロックされた書込
みサイクルを開始するステップは、メモリ内のロケーシ
ョンのロックを解除するステップを含む。
セッサによるアクセスに対してメモリ内のロケーション
をロックするステップを含み、また、ロックされた書込
みサイクルを開始するステップは、メモリ内のロケーシ
ョンのロックを解除するステップを含む。
【0204】ロックされた読取りサイクルを開始するス
テップは、第1のデータプロセッサに対する保持要求信
号を生成し、また、第1のデータプロセッサからの保持
アクノリッジ信号を受け取る、初期ステップを含む。保
持アクノリッジ信号の受け取りは、第1のデータプロセ
ッサがそのメモリと結合するバスの制御を解放したこと
を指示する。
テップは、第1のデータプロセッサに対する保持要求信
号を生成し、また、第1のデータプロセッサからの保持
アクノリッジ信号を受け取る、初期ステップを含む。保
持アクノリッジ信号の受け取りは、第1のデータプロセ
ッサがそのメモリと結合するバスの制御を解放したこと
を指示する。
【0205】この方法は、さらに、(H)データプロセ
ッサによって、第3のレジスタの内容を読取るステップ
と、(I)そのロケーションが以前に第2のデータプロ
セッサによって書込まれていることを第3のレジスタの
内容が指示するかどうかを決定し、若し、そう指示され
るならば、ステップ(A)からステップ(G)を実行
し、第3のレジスタの内容をそのロケーションへ復元す
るステップを含む。
ッサによって、第3のレジスタの内容を読取るステップ
と、(I)そのロケーションが以前に第2のデータプロ
セッサによって書込まれていることを第3のレジスタの
内容が指示するかどうかを決定し、若し、そう指示され
るならば、ステップ(A)からステップ(G)を実行
し、第3のレジスタの内容をそのロケーションへ復元す
るステップを含む。
【0206】この技術は、プロセッサ22aについてよ
り少ないオーバーヘッドを与え、また、ロックされたロ
ケーションに関して幾つかのプロセッサの各々が競合し
ている時にロックを獲得するために、かなり少ない待ち
時間を提供する。
り少ないオーバーヘッドを与え、また、ロックされたロ
ケーションに関して幾つかのプロセッサの各々が競合し
ている時にロックを獲得するために、かなり少ない待ち
時間を提供する。
【0207】選択可能な待ち状態 この発明の態様によれば、ローカルメモリ状態マシーン
52およびグローバルメモリ状態マシーン54の両者が
プログラム可能な待ち状態を含む。これらは、プロセッ
サ22aのクロック周波数の上昇に適応するために設け
られている。何故ならば、例えば要求される速度の等級
のメモリ装置が利用可能でないために、設計された最高
周波数における動作が信頼性をもって可能ではない事情
が存在するからである。この理由のために、プログラム
可能な待ち状態は、メモリのような外部装置のアクセス
を制御するそれらの状態マシーン内に含まれている。こ
のように、若し、要求される速度を持つメモリ装置が利
用可能でない場合、あるいは若し、バックプレーンやG
M26のような他のシステム構成要素が要求される最高
クロック周波数において信頼性をもって機能することが
できない場合では、プログラム可能な待ち状態の使用
は、有益である。このために、プロセッサ22aは、最
高クロック周波数例えば50MHzで走行されることが
でき、また、CSR62モード40ビットを通じて、待
ち状態が可能とされる。その結果、プロセッサ22aを
その最高定格クロック周波数で動作させているにもかか
わらず、ローカルおよびグローバルメモリタイミング要
件が緩和される。このように、プロセッサ22aは、そ
の内部キャッシュを超えてより速いレートで走行し、ま
た、より遅い外部メモリが使用され、より遅い全体のク
ロック速度でシステムを走行させる以上に性能の向上を
図ることができる。
52およびグローバルメモリ状態マシーン54の両者が
プログラム可能な待ち状態を含む。これらは、プロセッ
サ22aのクロック周波数の上昇に適応するために設け
られている。何故ならば、例えば要求される速度の等級
のメモリ装置が利用可能でないために、設計された最高
周波数における動作が信頼性をもって可能ではない事情
が存在するからである。この理由のために、プログラム
可能な待ち状態は、メモリのような外部装置のアクセス
を制御するそれらの状態マシーン内に含まれている。こ
のように、若し、要求される速度を持つメモリ装置が利
用可能でない場合、あるいは若し、バックプレーンやG
M26のような他のシステム構成要素が要求される最高
クロック周波数において信頼性をもって機能することが
できない場合では、プログラム可能な待ち状態の使用
は、有益である。このために、プロセッサ22aは、最
高クロック周波数例えば50MHzで走行されることが
でき、また、CSR62モード40ビットを通じて、待
ち状態が可能とされる。その結果、プロセッサ22aを
その最高定格クロック周波数で動作させているにもかか
わらず、ローカルおよびグローバルメモリタイミング要
件が緩和される。このように、プロセッサ22aは、そ
の内部キャッシュを超えてより速いレートで走行し、ま
た、より遅い外部メモリが使用され、より遅い全体のク
ロック速度でシステムを走行させる以上に性能の向上を
図ることができる。
【0208】一例として、図14は、二つの状態マシー
ンタイミング状態S0およびS1を図示する。条件(C
OND)の発生時に、S0がS1へ遷移する。この例で
は、COND =MEM READY and DATA
LATCHED and OUTPUT ENBである。選
択可能な中間のタイミング状態(S0A)の入力がS0
の出力へスイッチ(SW)によって接続されて論理的に
示される。CSR MODE40ビットがスイッチを動
作し、FAST条件では、S0の出力がS1の入力へ結
合され、!FAST条件では、S0の出力が遅いため
に、S0Aの入力へ結合されるようになされる。図14
の状態マシーンによって制御される装置が要求される時
間間隔内でDATA LATCHEDおよびOUTPU
T ENBの両者を受け取ることができない場合のため
に、MODE40ビットがセットされ、S0の出力がS
0Aの入力に接続されるようになされる。その結果、S
0A状態によるOUTPUT ENBの実行と、S0A
状態からS1状態への遷移と間に1クロック時間の遅延
が導入され、外部装置に応答のための付加的時間が与え
られる。
ンタイミング状態S0およびS1を図示する。条件(C
OND)の発生時に、S0がS1へ遷移する。この例で
は、COND =MEM READY and DATA
LATCHED and OUTPUT ENBである。選
択可能な中間のタイミング状態(S0A)の入力がS0
の出力へスイッチ(SW)によって接続されて論理的に
示される。CSR MODE40ビットがスイッチを動
作し、FAST条件では、S0の出力がS1の入力へ結
合され、!FAST条件では、S0の出力が遅いため
に、S0Aの入力へ結合されるようになされる。図14
の状態マシーンによって制御される装置が要求される時
間間隔内でDATA LATCHEDおよびOUTPU
T ENBの両者を受け取ることができない場合のため
に、MODE40ビットがセットされ、S0の出力がS
0Aの入力に接続されるようになされる。その結果、S
0A状態によるOUTPUT ENBの実行と、S0A
状態からS1状態への遷移と間に1クロック時間の遅延
が導入され、外部装置に応答のための付加的時間が与え
られる。
【0209】一般的に、少なくとも一つの選択的に挿入
される待ち状態(S0A)が図12のアトミック状態マ
シーン100の状態S3およびS4間のような、外部ア
クションが発生する二つの状態マシーンの状態間に挿入
される。所望であれば、待ち状態S0Aの1以上が挿入
されることができ、選択的にそれらをイネーブルするた
めに、付加的制御ビットが使用される。
される待ち状態(S0A)が図12のアトミック状態マ
シーン100の状態S3およびS4間のような、外部ア
クションが発生する二つの状態マシーンの状態間に挿入
される。所望であれば、待ち状態S0Aの1以上が挿入
されることができ、選択的にそれらをイネーブルするた
めに、付加的制御ビットが使用される。
【0210】この発明の態様を使用することによって、
工場および現場で診断のテストを行なうのが容易とな
る。また、この発明の態様の利用によって、プロセッサ
をその最高クロックレートで動作させるにもかかわら
ず、その定格速度で信頼性をもって動作しないことが認
められる、メモリ装置による障害の発生の場合に、動作
を続行するように、システムがプログラム可能に設定さ
れることがさらに、可能である。
工場および現場で診断のテストを行なうのが容易とな
る。また、この発明の態様の利用によって、プロセッサ
をその最高クロックレートで動作させるにもかかわら
ず、その定格速度で信頼性をもって動作しないことが認
められる、メモリ装置による障害の発生の場合に、動作
を続行するように、システムがプログラム可能に設定さ
れることがさらに、可能である。
【0211】LEDインターフェース 図15に示されるように、LED状態マシーン76がプ
ロセッサ22aのためのインターフェースを提供し、診
断の目的のために書かれる4個の情報英数字ディスプレ
ー110を制御する。EPBIF22cのピン数を減少
するために、EPBIF22cおよびディスプレー11
0間のシリアルインターフェースが実装される。第1の
表示レジスタ90を書込むことによって、どのディスプ
レー要素を書くかが達成される。32ビットワード(A
SCIIディジット毎に8ビット)がこのレジスタへ書
込まれ、そして、LED状態マシーン76がLEDシフ
トレジスタ112を介して各文字ディジットへ順番にデ
ータをクロック出力する。表示レジスタ90の内容のL
EDシフトレジスタ112へシフトが完了する時に、L
ED状態マシーン76が第2のクロックを活動化し、L
EDシフトレジスタ112の内容を関連するディスプレ
ー要素へクロック出力する。
ロセッサ22aのためのインターフェースを提供し、診
断の目的のために書かれる4個の情報英数字ディスプレ
ー110を制御する。EPBIF22cのピン数を減少
するために、EPBIF22cおよびディスプレー11
0間のシリアルインターフェースが実装される。第1の
表示レジスタ90を書込むことによって、どのディスプ
レー要素を書くかが達成される。32ビットワード(A
SCIIディジット毎に8ビット)がこのレジスタへ書
込まれ、そして、LED状態マシーン76がLEDシフ
トレジスタ112を介して各文字ディジットへ順番にデ
ータをクロック出力する。表示レジスタ90の内容のL
EDシフトレジスタ112へシフトが完了する時に、L
ED状態マシーン76が第2のクロックを活動化し、L
EDシフトレジスタ112の内容を関連するディスプレ
ー要素へクロック出力する。
【0212】すなわち、表示レジスタ90へのデータの
格納と応答して、LED状態マシーン76は、−CK
LED SR出力ピンにクロックを発生している間に、
表示レジスタ90の内容を+LED D出力ピンへ駆動
する。このアクションは、LEDシフトレジスタ112
へ表示レジスタ90の内容をシフトする。LED状態マ
シーンは、それから−WR LED出力ピンを活動化
し、LEDシフトレジスタ112の内容が関連する表示
要素へクロック出力され、それによって、全ての表示要
素を並列にロードする。
格納と応答して、LED状態マシーン76は、−CK
LED SR出力ピンにクロックを発生している間に、
表示レジスタ90の内容を+LED D出力ピンへ駆動
する。このアクションは、LEDシフトレジスタ112
へ表示レジスタ90の内容をシフトする。LED状態マ
シーンは、それから−WR LED出力ピンを活動化
し、LEDシフトレジスタ112の内容が関連する表示
要素へクロック出力され、それによって、全ての表示要
素を並列にロードする。
【0213】これは、上述の参照した米国特許出願73
3,517号、名称「マイクロプロセッサシステムのた
めのプロセッサバッファインターフェース」、フォスタ
ー他に記述されたPBIFを超える拡張であり、各表示
ディジット(およびディジットアドレス)が個別にLE
Dディスプレーに書き出される、
3,517号、名称「マイクロプロセッサシステムのた
めのプロセッサバッファインターフェース」、フォスタ
ー他に記述されたPBIFを超える拡張であり、各表示
ディジット(およびディジットアドレス)が個別にLE
Dディスプレーに書き出される、
【0214】なお、EPBIF22cにより実現される
多数の機能は、多くの種類のデータ処理システム、特
に、アトミックフェッチおよび加算、待ち状態のプログ
ラム可能なシステムを有する状態マシーンのようなマル
チプロセッサシステムにおいて有用である。ここに述べ
た好適な実施例において、ある機能は、選択されたマイ
クロプロセッサ装置の特性に対して最適化される。従っ
て、この発明の他の実施例では、付加されたマイクロプ
ロセッサの特性に適応するために、ある種の機能が変更
されうる。
多数の機能は、多くの種類のデータ処理システム、特
に、アトミックフェッチおよび加算、待ち状態のプログ
ラム可能なシステムを有する状態マシーンのようなマル
チプロセッサシステムにおいて有用である。ここに述べ
た好適な実施例において、ある機能は、選択されたマイ
クロプロセッサ装置の特性に対して最適化される。従っ
て、この発明の他の実施例では、付加されたマイクロプ
ロセッサの特性に適応するために、ある種の機能が変更
されうる。
【0215】このように、この発明の好適な実施例が示
され、また、記述されているが、この発明の精神を逸脱
することなく、種々の変更が可能なことは、当業者にと
って理解されよう。
され、また、記述されているが、この発明の精神を逸脱
することなく、種々の変更が可能なことは、当業者にと
って理解されよう。
【図1】科学的可視システムのシステム構成要素を示す
図である。
図である。
【図2】図1のシステムサーバ構成要素のブロック図で
ある。
ある。
【図3】4個のプログラムノードを含むカードをより詳
細に示すブロック図である。
細に示すブロック図である。
【図4】この発明による拡張プロセッサバッファインタ
ーフェースのレジスタおよび状態マシーンを示すブロッ
ク図である。
ーフェースのレジスタおよび状態マシーンを示すブロッ
ク図である。
【図5】それぞれのインターフェースを有する種々の状
態マシーンの関連を示す簡略化したブロック図である。
態マシーンの関連を示す簡略化したブロック図である。
【図6】種々のレジスタ、状態マシーンおよび外部イン
ターフェースの相互接続をより詳細に示す拡張プロセッ
サバッファインターフェースの他のブロック図である。
ターフェースの相互接続をより詳細に示す拡張プロセッ
サバッファインターフェースの他のブロック図である。
【図7】ローカルプロセッサノードと、ローカルプロセ
ッサ、拡張プロセッサバッファインターフェース、ロー
カル、私用メモリ、およびグローバルメモリインターフ
ェースの相互接続とを示すブロック図である。
ッサ、拡張プロセッサバッファインターフェース、ロー
カル、私用メモリ、およびグローバルメモリインターフ
ェースの相互接続とを示すブロック図である。
【図8】グローバルメモリ書込みタイミングを示すタイ
ミング図である。
ミング図である。
【図9】グローバル読取りタイミングを示すタイミング
図である。
図である。
【図10】プロセッサ間通信レジスタフォーマットと、
プロセッサ間通信レジスタのローカルバス/グローバル
バスへの結合を示す図である。
プロセッサ間通信レジスタのローカルバス/グローバル
バスへの結合を示す図である。
【図11】グローバルバスインターフェース内に具体化
され、図10のロジックによって生成されるプロセッサ
間通信割込みメッセージを受け取り、また、復号する、
プロセッサ間通信ロジックを示すブロック図である。
され、図10のロジックによって生成されるプロセッサ
間通信割込みメッセージを受け取り、また、復号する、
プロセッサ間通信ロジックを示すブロック図である。
【図12】この発明の特徴であるアトミックフェッチお
よび加算状態マシーンの動作を示す状態遷移図である。
よび加算状態マシーンの動作を示す状態遷移図である。
【図13】図12のアトミックフェッチおよび加算状態
マシーンの制御の下でアトミックフェッチおよび加算機
能を実現するロジックを示す図である。
マシーンの制御の下でアトミックフェッチおよび加算機
能を実現するロジックを示す図である。
【図14】種々の状態マシーンタイミング要件に適応す
るために、選択的に切り換え可能な待ち状態の利用を示
す図である。
るために、選択的に切り換え可能な待ち状態の利用を示
す図である。
【図15】好適なLEDインターフェースを示す図であ
る
る
【図16】アトミックフェッチおよび加算動作を行なう
方法を示す流れ図である。
方法を示す流れ図である。
Claims (8)
- 【請求項1】 データプロセッサと結合するためのイン
ターフェース装置であって、 バスを介してデータプロセッサと結合される入力手段
と、 上記入力手段と結合され、上記バスと結合されるメモリ
手段中のロケーションに対するアトミックフェッチおよ
び加算サイクルを実行する手段であって、 メモリ手段内のデータプロセッサが値を蓄えるロケーシ
ョンのアドレスであって、データプロセッサから受け取
られるアドレスを格納するための第1のレジスタ手段
と、 データプロセッサから受け取られる値を格納するための
第2のレジスタ手段と、 メモリ手段から読取られるロケーションの内容を格納す
るための第3のレジスタ手段とを具備する実行手段と、 第1あるいは第2のレジスタ手段内にデータを格納する
データプロセッサに応答する入力を有する制御手段であ
って、 第1のレジスタ手段内に格納されたアドレスによって特
定されるメモリ手段内のロケーションに対するロックさ
れた読取りサイクルを開始するための手段と、 メモリ手段からアドレス指定された内容を受け取り、そ
の内容を、第3のレジスタ手段に格納するための手段
と、 第2のレジスタ手段の内容を前記受け取られた内容と結
合し、結合値を作成するための手段と、 上記結合値をロケーション内へ蓄えるために、第1のレ
ジスタ手段内に格納されたアドレスによって特定される
メモリ手段内のロケーションに対するロックされた書込
みサイクルを開始するための手段を具備する制御手段
と、 を含むインターフェース装置。 - 【請求項2】 上記制御手段がさらに、第1あるいは第
2のレジスタ手段内にデータプロセッサがデータを格納
するのに応答し、データプロセッサに対する保持要求信
号を生成するための手段を含み、 上記制御手段がさらに、データプロセッサからの保持ア
クノリッジ信号であって、そのデータプロセッサがバス
の制御を解放したことを指示する保持アクノリッジ信号
を受け取るための手段を含み、 上記開始手段が保持アクノリッジ信号の受け取りに応答
して、ロックされた読取りサイクルの開始を始めること
を特徴とする請求項1のインターフェース装置。 - 【請求項3】 第1のデータプロセッサによって、ロッ
クされたメモリの読取り/書込みサイクルを実行するた
めの方法であって、 (a)メモリ手段へ書込まれる値を第1のレジスタ手段
へ格納するステップと、 (b)値が蓄えられるメモリ手段内のロケーションのア
ドレスを第2のレジスタ手段内に格納するステップと、 アドレスを格納するステップに応答して、 (c)第1のレジスタ手段に格納されたアドレスによっ
て特定されるメモリ手段内のロケーションに対してロッ
クされた読取りサイクルを開始するステップと、 (d)アドレス指定されたロケーションの内容をメモリ
手段から受け取るステップと、 (e)第3のレジスタ手段内にこの内容を格納するステ
ップと、 (f)第2のレジスタ手段の内容をアドレス指定された
ロケーションの受け取られた内容と結合し、結合値を作
成するステップと、 (g)結合値をロケーションに対して格納するために、
第1のレジスタ手段内に格納されているアドレスによっ
て特定されるメモリ手段内のロケーションに対してロッ
クされた書込みサイクルを開始するステップとからな
り、 上記受け取りステップは、第2のデータプロセッサによ
るアクセスに対して、メモリ手段内のロケーションをロ
ックするステップを含み、 上記ロックされた書込みサイクルを開始するステップ
は、メモリ手段内のロケーションのロックを解除するス
テップを含む方法。 - 【請求項4】 ロックされた読取りサイクルを開始する
ステップが初期ステップを含み、 この初期ステップは、 第1のデータプロセッサに対する保持要求信号を生成す
るステップと、 第1のデータプロセッサがメモリ手段と結合されるバス
の制御を解放したことを指示する保持アクノリッジ信号
を第1のデータプロセッサから受け取るステップとから
なる請求項3の方法。 - 【請求項5】 さらに、第3のレジスタ手段の内容をデ
ータプロセッサによって読取るステップと、 そのロケーションが第2のデータプロセッサによって以
前に書込まれていることを第3のレジスタ手段の内容が
指示するかどうかを決定するステップと、 若し、そう指示されるのであれば、ステップ(a)から
(g)を実行し、第3のレジスタ手段の内容をそのロケ
ーションに復元するステップとからなる請求項3の方
法。 - 【請求項6】 マイクロプロセッサ装置へ結合するため
のインターフェース装置であって、 マイクロプロセッサ装置によって生成されたアドレス信
号ラインおよび制御信号ラインを受け取るために、マイ
クロプロセッサ装置に対して結合するための入力手段
と、 受け取られたアドレス信号ラインに応答し、マイクロプ
ロセッサ生成のメモリアクセスが特定のマイクロプロセ
ッサ装置のみによってアクセス可能な私用メモリ手段に
対するものか、あるいは複数のマイクロプロセッサ装置
によってアクセス可能な共用メモリ手段に対するものか
を決定するためのアドレス復号手段と、 上記アドレス復号手段に応答し、私用メモリ手段に対す
るメモリアクセスをマイクロプロセッサ装置が生成する
のに応答して、私用メモリ手段に対する第1のアドレス
信号ラインおよび第1の制御信号ラインを提供するため
の第1の出力手段と、 上記アドレス復号手段に応答し、共用メモリ手段に対す
るメモリアクセスをマイクロプロセッサ装置が生成する
のに応答して、共用メモリ手段に結合するために、第2
のアドレス信号ラインおよび第2の制御信号ラインを提
供するための第2の出力手段と、 上記マイクロプロセッサ装置によって設定可能なビット
を有する制御レジスタ手段とからなり、 上記第1の出力手段は、第1のアドレス信号ラインおよ
び第1の制御信号ラインを提供している間に、1以上の
待ちタイミング状態を選択的に挿入あるいは非挿入する
ために、上記制御レジスタ手段のビットの少なくとも1
ビットの状態に応答する手段を含み、 上記第2の出力手段は、第2のアドレス信号ラインおよ
び第2の制御信号ラインを提供している間に、1以上の
待ちタイミング状態を選択的に挿入あるいは非挿入する
ために、上記制御レジスタ手段のビットの少なくとも1
ビットの状態に応答する手段を含む装置。 - 【請求項7】 上記マイクロプロセッサ装置、上記イン
ターフェース装置および上記私用メモリ間に結合される
データバスをさらに有し、 上記私用メモリ手段は、それぞれが関連する双方向デー
タバッファ手段を介して上記データバスに対して結合さ
れる、複数のインターリーブされたメモリバンクを含
み、上記メモリバンクのそれぞれが上記第1のアドレス
信号ラインに関連するアドレスバッファ手段を介して結
合され、 データバスに対して結合され、マイクロプロセッサ装置
によって共用メモリ手段から読取られたデータをバッフ
ァするとともに、マイクロプロセッサ装置によって共用
メモリ手段に書込まれたデータをバッファするための手
段とからなる請求項8のインターフェース装置。 - 【請求項8】 マイクロプロセッサ装置を結合するため
のインターフェース装置であって、 マイクロプロセッサ装置によって生成されたアドレス信
号ライン、制御信号ラインおよびデータ信号ラインを受
け取るために、マイクロプロセッサ装置に結合するため
の入力手段と、 複数の独立の表示素子を有し、上記インターフェース装
置の外部のものであり、上記インターフェース装置から
のシリアルビットストリームを受け取るために、上記イ
ンターフェース装置の第1の出力と結合されるシリアル
入力バスを有する表示手段であり、さらに、上記表示手
段の第2の出力と結合され、受け取られるシリアルビッ
トストリーム中でクロックするためのクロック入力とを
含む表示手段と、 その中に値を格納させるために、データ信号ラインと結
合する入力を有し、さらに、上記インターフェース装置
の上記第1の入力に結合される出力を有するレジスタ手
段と、 マイクロプロセッサ装置が上記レジスタ手段に値を格納
するのに応答し、上記レジスタ手段の内容を上記表示手
段へクロックするために、上記第2の出力についてのク
ロック信号を提供する間に、上記第1の出力から上記レ
ジスタ手段の内容をシリアルにシフトするための制御手
段とからなる装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US917246 | 1992-07-17 | ||
| US07/917,246 US5485594A (en) | 1992-07-17 | 1992-07-17 | Apparatus and method using an atomic fetch and add for establishing temporary ownership of a common system resource in a multiprocessor data processing system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0696030A true JPH0696030A (ja) | 1994-04-08 |
| JP2565642B2 JP2565642B2 (ja) | 1996-12-18 |
Family
ID=25438532
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5143916A Expired - Lifetime JP2565642B2 (ja) | 1992-07-17 | 1993-06-15 | マルチプロセッサのための拡張プロセッサバッファインターフェース |
Country Status (3)
| Country | Link |
|---|---|
| US (3) | US5485594A (ja) |
| EP (1) | EP0580961A1 (ja) |
| JP (1) | JP2565642B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8473705B2 (en) | 2008-11-05 | 2013-06-25 | Sanyo Electric Co., Ltd. | Memory access apparatus |
| US9218240B2 (en) | 2013-09-26 | 2015-12-22 | Globalfoundries Inc. | Error detection and isolation |
Families Citing this family (47)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5822601A (en) * | 1989-12-29 | 1998-10-13 | Packard Bell Nec | Apparatus to allow a CPU to control the relocation of code blocks for other CPUs |
| JPH04306735A (ja) * | 1991-04-04 | 1992-10-29 | Toshiba Corp | 非同期割込み禁止機構 |
| US5634099A (en) * | 1994-12-09 | 1997-05-27 | International Business Machines Corporation | Direct memory access unit for transferring data between processor memories in multiprocessing systems |
| US5600804A (en) * | 1995-03-23 | 1997-02-04 | Canon Kabushiki Kaisha | Shared RAM access arrangement |
| US6529933B1 (en) * | 1995-06-07 | 2003-03-04 | International Business Machines Corporation | Method and apparatus for locking and unlocking a semaphore |
| US7577782B2 (en) * | 1996-02-02 | 2009-08-18 | Sony Corporation | Application programming interface for data transfer and bus management over a bus structure |
| US6519268B1 (en) * | 1996-03-07 | 2003-02-11 | Sony Corporation | Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure |
| JPH09311839A (ja) * | 1996-05-21 | 1997-12-02 | Hitachi Ltd | データ共用方式 |
| JPH1042212A (ja) * | 1996-07-24 | 1998-02-13 | Sony Corp | 受信装置および方法 |
| US5860013A (en) * | 1996-07-26 | 1999-01-12 | Zilog, Inc. | Flexible interrupt system for an integrated circuit |
| JP3934710B2 (ja) * | 1996-09-13 | 2007-06-20 | 株式会社ルネサステクノロジ | マイクロプロセッサ |
| US5838960A (en) * | 1996-09-26 | 1998-11-17 | Bay Networks, Inc. | Apparatus for performing an atomic add instructions |
| FR2754925B1 (fr) * | 1996-10-18 | 1998-11-20 | Bull Sa | Operation atomique sur memoire distante et dispositif permettant d'effectuer cette operation |
| JPH10134008A (ja) * | 1996-11-05 | 1998-05-22 | Mitsubishi Electric Corp | 半導体装置およびコンピュータシステム |
| US6272600B1 (en) * | 1996-11-15 | 2001-08-07 | Hyundai Electronics America | Memory request reordering in a data processing system |
| JPH10177560A (ja) * | 1996-12-17 | 1998-06-30 | Ricoh Co Ltd | 記憶装置 |
| US6003112A (en) * | 1997-06-30 | 1999-12-14 | Intel Corporation | Memory controller and method for clearing or copying memory utilizing register files to store address information |
| US6370585B1 (en) * | 1997-09-05 | 2002-04-09 | Sun Microsystems, Inc. | Multiprocessing computer system employing a cluster communication launching and addressing mechanism |
| JP3803196B2 (ja) * | 1998-07-03 | 2006-08-02 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置、情報処理方法および記録媒体 |
| US6643726B1 (en) * | 1999-08-18 | 2003-11-04 | Ati International Srl | Method of manufacture and apparatus of an integrated computing system |
| US6567094B1 (en) * | 1999-09-27 | 2003-05-20 | Xerox Corporation | System for controlling read and write streams in a circular FIFO buffer |
| US6647450B1 (en) | 1999-10-06 | 2003-11-11 | Cradle Technologies, Inc. | Multiprocessor computer systems with command FIFO buffer at each target device |
| US7039047B1 (en) | 1999-11-03 | 2006-05-02 | Intel Corporation | Virtual wire signaling |
| US6615306B1 (en) | 1999-11-03 | 2003-09-02 | Intel Corporation | Method and apparatus for reducing flow control and minimizing interface acquisition latency in a hub interface |
| US6611893B1 (en) * | 1999-12-29 | 2003-08-26 | Agere Systems Inc. | Data bus method and apparatus providing variable data rates using a smart bus arbiter |
| US6631474B1 (en) * | 1999-12-31 | 2003-10-07 | Intel Corporation | System to coordinate switching between first and second processors and to coordinate cache coherency between first and second processors during switching |
| US6636928B1 (en) * | 2000-02-18 | 2003-10-21 | Hewlett-Packard Development Company, L.P. | Write posting with global ordering in multi-path systems |
| US6452789B1 (en) * | 2000-04-29 | 2002-09-17 | Hewlett-Packard Company | Packaging architecture for 32 processor server |
| US6356983B1 (en) * | 2000-07-25 | 2002-03-12 | Src Computers, Inc. | System and method providing cache coherency and atomic memory operations in a multiprocessor computer architecture |
| JP4915631B2 (ja) | 2000-09-06 | 2012-04-11 | エスティー‐エリクソン、ソシエテ、アノニム | プロセッサ間通信システム |
| DE60038172T2 (de) * | 2000-09-25 | 2009-02-26 | Bull S.A. | Verfahren um Daten in einem Verarbeitungsystem zu übertragen |
| US6938112B1 (en) * | 2000-12-21 | 2005-08-30 | Sprint Communications Company L.P. | Use of bus hold to prevent bus contention between high speed processor and slow peripheral |
| US7870195B1 (en) * | 2001-01-24 | 2011-01-11 | Emc Corporation | Inter-processor messaging |
| US6754788B2 (en) * | 2001-03-15 | 2004-06-22 | International Business Machines Corporation | Apparatus, method and computer program product for privatizing operating system data |
| JP3807250B2 (ja) * | 2001-05-18 | 2006-08-09 | 日本電気株式会社 | クラスタシステム、コンピュータ及びプログラム |
| WO2002096043A1 (en) * | 2001-05-21 | 2002-11-28 | Xelerated Ab | Method and apparatus for processing blocks in a pipeline |
| CN1280734C (zh) * | 2001-09-07 | 2006-10-18 | 皇家菲利浦电子有限公司 | 用于分段存取控制的控制装置和方法和具有该控制装置的视频存储器装置 |
| GB2391336B (en) * | 2002-04-09 | 2005-10-26 | Micron Technology Inc | Method and system for local memory addressing in single instruction, multiple data computer system |
| US6912621B2 (en) * | 2002-04-17 | 2005-06-28 | International Business Machines Corporation | Method and apparatus for updating data in mass storage subsystem using emulated shared memory |
| GB2391963B (en) * | 2002-08-14 | 2004-12-01 | Flyingspark Ltd | Method and apparatus for preloading caches |
| CN101069211A (zh) * | 2004-11-23 | 2007-11-07 | 高效存储技术公司 | 分页存储器及其智能存储器区段的交错寻址的多次缩略的方法和装置 |
| US8190809B2 (en) * | 2004-11-23 | 2012-05-29 | Efficient Memory Technology | Shunted interleave for accessing plural memory banks, particularly those having partially accessed cells containing data for cache lines |
| US7610449B2 (en) * | 2006-10-04 | 2009-10-27 | International Business Machines Corporation | Apparatus and method for saving power in a trace cache |
| US8386712B2 (en) * | 2006-10-04 | 2013-02-26 | International Business Machines Corporation | Structure for supporting simultaneous storage of trace and standard cache lines |
| JP2010140361A (ja) * | 2008-12-12 | 2010-06-24 | Fujitsu Microelectronics Ltd | コンピュータシステム及び異常検出回路 |
| JP5321203B2 (ja) * | 2009-03-31 | 2013-10-23 | 富士通株式会社 | システム制御装置、情報処理システムおよびアクセス処理方法 |
| CN112328533A (zh) * | 2020-11-09 | 2021-02-05 | 哲库科技(上海)有限公司 | 多核处理系统及其核间通信方法、存储介质 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62115564A (ja) * | 1985-10-04 | 1987-05-27 | ノ−ザン・テレコム・リミテツド | インタ−フエ−ス回路 |
| JPH03226852A (ja) * | 1990-01-24 | 1991-10-07 | Internatl Business Mach Corp <Ibm> | データ処理装置 |
Family Cites Families (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| USRE30331E (en) * | 1973-08-10 | 1980-07-08 | Data General Corporation | Data processing system having a unique CPU and memory timing relationship and data path configuration |
| US4065862A (en) * | 1975-09-15 | 1978-01-03 | American Express Company | Method and apparatus for synchronizing data and clock signals |
| US4153941A (en) * | 1976-11-11 | 1979-05-08 | Kearney & Trecker Corporation | Timing circuit and method for controlling the operation of cyclical devices |
| US4121283A (en) * | 1977-01-17 | 1978-10-17 | Cromemco Inc. | Interface device for encoding a digital image for a CRT display |
| US4366540A (en) * | 1978-10-23 | 1982-12-28 | International Business Machines Corporation | Cycle control for a microprocessor with multi-speed control stores |
| US4458308A (en) * | 1980-10-06 | 1984-07-03 | Honeywell Information Systems Inc. | Microprocessor controlled communications controller having a stretched clock cycle |
| US4589092A (en) * | 1983-12-12 | 1986-05-13 | International Business Machines Corporation | Data buffer having separate lock bit storage array |
| DE3501569C2 (de) * | 1984-01-20 | 1996-07-18 | Canon Kk | Datenverarbeitungseinrichtung |
| US4663728A (en) * | 1984-06-20 | 1987-05-05 | Weatherford James R | Read/modify/write circuit for computer memory operation |
| US4727491A (en) * | 1984-06-27 | 1988-02-23 | Compaq Computer Corporation | Personal computer having normal and high speed execution modes |
| US4835681A (en) * | 1984-06-27 | 1989-05-30 | Compaq Computer Corporation | Personal computer having normal and high speed execution modes |
| US4742474A (en) * | 1985-04-05 | 1988-05-03 | Tektronix, Inc. | Variable access frame buffer memory |
| JPS6222128A (ja) * | 1985-07-22 | 1987-01-30 | Sharp Corp | デ−タ処理装置 |
| US4821229A (en) * | 1985-12-12 | 1989-04-11 | Zenith Electronics Corporation | Dual operating speed switchover arrangement for CPU |
| IT1189150B (it) * | 1986-06-10 | 1988-01-28 | Honeywell Inf Systems | Unita' di temporizzazione in tecnologia ttl |
| JPS6353669A (ja) * | 1986-08-22 | 1988-03-07 | Hitachi Micro Comput Eng Ltd | マイクロプロセツサ |
| US4858116A (en) * | 1987-05-01 | 1989-08-15 | Digital Equipment Corporation | Method and apparatus for managing multiple lock indicators in a multiprocessor computer system |
| IT1223142B (it) * | 1987-11-17 | 1990-09-12 | Honeywell Bull Spa | Sistema multiprocessore di elaborazione con multiplazione di dati globali |
| US4975878A (en) * | 1988-01-28 | 1990-12-04 | National Semiconductor | Programmable memory data protection scheme |
| DE3809059A1 (de) * | 1988-03-18 | 1989-09-28 | Erwin Albiez | Verfahren zum uebertragen einer abbildung von einem primaertraeger auf einen sekundaertraeger |
| US4984153A (en) * | 1988-04-27 | 1991-01-08 | Unisys Corporation | Storage locking control for a plurality of processors which share a common storage unit |
| JPH0212541A (ja) * | 1988-04-29 | 1990-01-17 | Internatl Business Mach Corp <Ibm> | コンピユーテイング・システム及びその動作方法 |
| US5097437A (en) * | 1988-07-17 | 1992-03-17 | Larson Ronald J | Controller with clocking device controlling first and second state machine controller which generate different control signals for different set of devices |
| US4888741A (en) * | 1988-12-27 | 1989-12-19 | Harris Corporation | Memory with cache register interface structure |
| US4958309A (en) * | 1989-01-30 | 1990-09-18 | Nrc Corporation | Apparatus and method for changing frequencies |
| US5021775A (en) * | 1989-02-27 | 1991-06-04 | Motorola, Inc. | Synchronization method and circuit for display drivers |
| GB8914352D0 (en) * | 1989-06-22 | 1989-08-09 | Int Computers Ltd | Multiprocessor data processing system |
| US4991170A (en) * | 1989-07-17 | 1991-02-05 | Ag Communication Systems Corporation | Circuit for interfacing a digital signal processor to a serial interface controller |
| JPH03172947A (ja) * | 1989-11-13 | 1991-07-26 | Matra Design Semiconductor Inc | マイクロコンピュータ・システム |
| US5261059A (en) * | 1990-06-29 | 1993-11-09 | Digital Equipment Corporation | Crossbar interface for data communication network |
| US5276684A (en) * | 1991-07-22 | 1994-01-04 | International Business Machines Corporation | High performance I/O processor |
| US5410654A (en) * | 1991-07-22 | 1995-04-25 | International Business Machines Corporation | Interface with address decoder for selectively generating first and second address and control signals respectively in response to received address and control signals |
| US5280591A (en) * | 1991-07-22 | 1994-01-18 | International Business Machines, Corporation | Centralized backplane bus arbiter for multiprocessor systems |
| US5327570A (en) * | 1991-07-22 | 1994-07-05 | International Business Machines Corporation | Multiprocessor system having local write cache within each data processor node |
-
1992
- 1992-07-17 US US07/917,246 patent/US5485594A/en not_active Expired - Fee Related
-
1993
- 1993-04-16 EP EP93106222A patent/EP0580961A1/en not_active Withdrawn
- 1993-06-15 JP JP5143916A patent/JP2565642B2/ja not_active Expired - Lifetime
-
1995
- 1995-06-01 US US08/456,776 patent/US5634034A/en not_active Expired - Fee Related
- 1995-06-01 US US08/456,774 patent/US5564008A/en not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62115564A (ja) * | 1985-10-04 | 1987-05-27 | ノ−ザン・テレコム・リミテツド | インタ−フエ−ス回路 |
| JPH03226852A (ja) * | 1990-01-24 | 1991-10-07 | Internatl Business Mach Corp <Ibm> | データ処理装置 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8473705B2 (en) | 2008-11-05 | 2013-06-25 | Sanyo Electric Co., Ltd. | Memory access apparatus |
| US9218240B2 (en) | 2013-09-26 | 2015-12-22 | Globalfoundries Inc. | Error detection and isolation |
Also Published As
| Publication number | Publication date |
|---|---|
| US5564008A (en) | 1996-10-08 |
| US5485594A (en) | 1996-01-16 |
| EP0580961A1 (en) | 1994-02-02 |
| JP2565642B2 (ja) | 1996-12-18 |
| US5634034A (en) | 1997-05-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2565642B2 (ja) | マルチプロセッサのための拡張プロセッサバッファインターフェース | |
| US5410654A (en) | Interface with address decoder for selectively generating first and second address and control signals respectively in response to received address and control signals | |
| US5327570A (en) | Multiprocessor system having local write cache within each data processor node | |
| US5519839A (en) | Double buffering operations between the memory bus and the expansion bus of a computer system | |
| EP0549164B1 (en) | Memory controller with snooping mechanism | |
| US6405271B1 (en) | Data flow control mechanism for a bus supporting two-and three-agent transactions | |
| US5659710A (en) | Cache coherency method and system employing serially encoded snoop responses | |
| KR0185966B1 (ko) | 복식 프로세서 시스템의 프로세서 및 캐시 제어기의 독립 리세팅 장치 및 방법 | |
| US5276886A (en) | Hardware semaphores in a multi-processor environment | |
| US5696910A (en) | Method and apparatus for tracking transactions in a pipelined bus | |
| US5809280A (en) | Adaptive ahead FIFO with LRU replacement | |
| US5919254A (en) | Method and apparatus for switching between source-synchronous and common clock data transfer modes in a multiple processing system | |
| US20020065967A1 (en) | Transmission of signals synchronous to a common clock and transmission of data synchronous to strobes in a multiple agent processing system | |
| US5271020A (en) | Bus stretching protocol for handling invalid data | |
| CN105095254B (zh) | 一种实现数据一致性的方法及装置 | |
| JPH0345407B2 (ja) | ||
| US5161162A (en) | Method and apparatus for system bus testability through loopback | |
| JPH0771103B2 (ja) | データ通信ネットワークおよびトークン・リング調停方法 | |
| US6108735A (en) | Method and apparatus for responding to unclaimed bus transactions | |
| JPH06318174A (ja) | キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法 | |
| US5603007A (en) | Methods and apparatus for controlling back-to-back burst reads in a cache system | |
| US5923857A (en) | Method and apparatus for ordering writeback data transfers on a bus | |
| JPH05227247A (ja) | データを捕捉・検証するための回路および方法 | |
| JPH06348593A (ja) | データ転送制御装置 | |
| US5600802A (en) | Methods and apparatus for translating incompatible bus transactions |