JPH0756813A - データ処理システム及びデータ・ストア方法 - Google Patents

データ処理システム及びデータ・ストア方法

Info

Publication number
JPH0756813A
JPH0756813A JP6140434A JP14043494A JPH0756813A JP H0756813 A JPH0756813 A JP H0756813A JP 6140434 A JP6140434 A JP 6140434A JP 14043494 A JP14043494 A JP 14043494A JP H0756813 A JPH0756813 A JP H0756813A
Authority
JP
Japan
Prior art keywords
data
cache
processor
words
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP6140434A
Other languages
English (en)
Other versions
JP3360700B2 (ja
Inventor
Michael T Dibrino
マイケル・トーマス・ダィブリノ
Dwain A Hicks
ドワイン・アラン・ヒックス
George M Lattimore
ジョージ・マックネイル・ラティモア
Kimming K So
キミング・ケー・ソー
Hanaa Youssef
ハナア・ユーセフ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0756813A publication Critical patent/JPH0756813A/ja
Application granted granted Critical
Publication of JP3360700B2 publication Critical patent/JP3360700B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0879Burst mode
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0851Cache with interleaved addressing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 マルチプロセツサ・システムにおいて、プロ
セツサによるキヤツシユへのアクセス動作に最大の並列
性を与え、1のプロセツサ要求を1マシン・サイクル毎
に処理する共有キヤツシユを与える。 【構成】 本発明の共有キヤツシユは、パイプライン処
理によるキヤツシユ動作と、バースト・モードのデータ
・アクセスとを用いる。パイプライン処理により、1マ
シン・サイクル間で1の要求を処理することと、バース
ト・モードにより、システムバス幅より大きなビツト幅
のデータが1キヤツシユ・アクセス動作でキヤツシユへ
ストアされ又はキヤツシユから検索されることが可能と
なる。データの一方の部分はキヤツシユ中のロジツクに
保持され、他方の部分(システムバス幅)は1サイクル
の間で要求装置(プロセツサ又は主メモリ)に転送され
る。データの保持された部分は次のマシン・サイクルの
間で転送される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マルチプロセツサ(M
P)コンピユータ・システムにおいて用いられるキヤツ
シユ・メモリに係り、より詳細に言えば、プロセツサの
1マシン・サイクル当り1つのデータ要求(データのロ
ード要求、またはデータのストア要求)に適合する能力
が与えられているキヤツシユ・メモリに関する。インタ
ーリーブ、パイプライン手段、バースト・モード・ロジ
ツクや、複数のデータ・ポート及び複数のアドレス/要
求ポートを使用する技術のようなキヤツシユ・メモリの
性能を強化する技術が本発明に用いられる。
【0002】
【従来の技術】通常のマルチプロセツサ・システムにお
いて、通常、ユニプロセツサ・システムにおいて使用さ
れるキヤツシユ・メモリ(単に、キヤツシユと言う)の
容量よりも大きな容量を持つキヤツシユを設計すること
が広く行なわれている。このことは、マルチプロセツサ
・システムにおける殆どのプログラムのアプリケーシヨ
ンは、ユニプロセツサ・システムのアプリケーシヨンよ
りも大量のデータ処理を必要とするという事実に起因し
ている。大容量のキヤツシユによつて生じる問題は、信
号の転送時間に、より長い遅延が生じることと、データ
・アドレスをデコードするのにより多くのロジツク・レ
ベルが必要であることとであつて、このことは、大容量
のキヤツシユに起因してキヤツシユ・アクセス時間を増
加する。従つて、キヤツシユの設計者は、充分に大きな
キヤツシユ密度を与えることによつてマルチプロセツサ
・システムの要求を満足させる試練に遭遇する。
【0003】1991年6月のIBMテクニカル・デイ
スクロージヤ・ブレテイン第34巻第1号に、各プロセ
ツサが、プロセツサごとのレベル1(L1)のキヤツシ
ユと、複数のプロセツサにより共有されているレベル2
(L2)のキヤツシユとを有するマルチプロセツサのた
めのメモリ階層が記載されている。1のライン(デー
タ)がL2キヤツシユからロードされ、L1キヤツシユ
に与えられる時、L1キヤツシユの位置が記録される。
これは、L2のデイレクトリを検索することなくL1キ
ヤツシユの位置を使用して、後続のストア動作のために
L2キヤツシユへアクセスし得るようにするためであ
る。
【0004】米国特許第4371929号は、共通バス
に対して時間ベースで多重処理される態様で、インター
リーブされたアクセスを有する複数個のストレージ・パ
ーテイシヨンを用いたメモリに対して制御可能なキヤツ
シユ・メモリ・インターフエースを有するマルチプロセ
ツサ・システムを開示している。このストレージ・パー
テイシヨンは、各プロセツサに対応した各ホスト・アダ
プタに特別に関連されている。インターリーブされたア
クセス動作は、ホスト・プロセツサの1つのI/Oチヤ
ネル転送期間の間で複数のホスト・プロセツサに配給さ
れる。然しながら、キヤツシユから主メモリへ、全デー
タ・ブロツク転送が開始された時には、全データ・ブロ
ツク転送と他のデータ転送をインターリーブすることは
できない。従つて、幾つかのデータ転送は、全データ・
ブロツク転送が終了するまで待機しなければならない。
【0005】米国特許第4056845号は、インター
リーブされた動作、またはインターリーブされていない
動作に対して使用することのできるキヤツシユ・システ
ムを開示している。米国特許第4445174号は、各
プロセツサが個別のキヤツシユを有し、共通のキヤツシ
ユ及び他のプロセツサの持つ主メモリを共有しているマ
ルチプロセツサ・システムを開示している。米国特許第
4905141号は、キヤツシユが、並列に独立して動
作するパーテイシヨンに分割されているキヤツシユ・シ
ステムが開示されている。このキヤツシユは、1つのマ
シン・サイクルの間で、独立した複数のキヤツシユ動作
を発生することのできるような複数のポートを含んでい
る。
【0006】上述したように、大容量のキヤツシユによ
り生じる問題は、信号の伝達遅延時間がより長くなるこ
とと、データ・アドレスをデコードするロジツク回路の
レベルがより多くなることである。この要素は、増加し
たキヤツシユ容量と、コンピユータの処理能力との間で
妥協を計る結果、キヤツシユ・アクセス時間、またはコ
ンピユータの応答時間を増加させる。コンピユータ・ア
クセスの応答時間を減少させる必要性に加えて、キヤツ
シユのサイクル時間(要求の間隔)は、性能に関する他
の問題であり、マルチプロセツサのコンピユータ・シス
テムを設計する時にはこの問題もまた考慮されねばなら
ない。データをロードし、またはデータをストアする要
求は、各CPUサイクル、即ち各マシン・サイクルの間
でキヤツシユによつて処理されるのが望ましい。若しこ
の性能が達成されたならば、このようなキヤツシユは、
マルチプロセツサ・システムにおける処理装置(CP
U)のマシン・サイクルで測定されるような性能のレベ
ルを維持することができる。
【0007】マルチプロセツサ・システムの性能を向上
するのに用いられた従来のキヤツシユの設計技術は、複
数ポートと組み合わせたキヤツシユ・インターリーブの
ようなキヤツシユ・システムの性能を推進する特性を指
向している。インターリーブは、キヤツシユの中の異な
つたアレイ・ブロツク中にあるデータに対して同時にア
クセスすることを可能にする。更に、データが小さなア
レイ・ブロツク(インターリーフ)に配分され、インタ
ーリーブされない同じ寸法のキヤツシユよりもキヤツシ
ユ・アクセス時間を短かくするので、インターリーブ
は、1アクセス毎のキヤツシユ応答時間を減少する。デ
ータは複数のインターリーフから同時にアクセスされ
る、要求元の処理装置への並列データ通路を必要とする
ので、インターリーブ・キヤツシユ・システムをサポー
トするためにはキヤツシユの中に複数のポートが使用さ
れる。
【0008】本発明においては、複数のポートを伴うイ
ンターリーブの特徴を効果的に用いている。然しなが
ら、従来のシステムにおいては、各処理装置は、各マシ
ン・サイクルにおいて同時にキヤツシユにアクセスする
ことはできない。従つて、本発明は、システム全体の性
能を顕著に向上させ、かつ、各プロセツサからの1つの
要求を、キヤツシユにより1マシン・サイクルでサービ
ス(処理)させるように他の性能改善技術が更に加えら
れる。
【0009】
【発明が解決しようとする課題】本発明は、マルチプロ
セツサ・システムにおいて、個々の処理装置からの要求
を、キヤツシユにより1マシン・サイクルでサービスさ
せるように、キヤツシユ・インターリーブ(interleavi
ng)、複数のポート、パイプライン手段を用いたアーキ
テクチヤ技術及びバースト・モード・アクセスをすべて
効果的に使用している点で従来の技術とは異なつてい
る。
【0010】概して言えば、本発明は、キヤツシユにア
クセスする時、最大の並列度でマルチプロセツサ・シス
テムをサポートするために、共有された高性能のキヤツ
シユを与えるものである。つまり、1つのプロセツサ要
求に対して、キヤツシユが各マシン・サイクル毎にサー
ビス(処理)を与え、システムの応答時間を短縮し、シ
ステムのスループツトを向上させることが目的である。
【0011】
【課題を解決するための手段】従来のシステムはシステ
ムの性能を最適化するために上述の技術のすべてを用い
ていない。本発明は、キヤツシユを最大限に共有させる
ために、インターリーブ及び複数ポートを用いた性能強
化技術を更に付加するものである。より特定して言え
ば、本発明のキヤツシユ・システムの性能は、従来の技
術に比較して約2倍ほど改善される。この性能の向上
は、パイプライン処理とバースト・モード・アクセスと
のシステム・アーキテクチヤ技術を用いて達成される。
ビルトイン・パイプライン処理段階を含ませることによ
つて、キヤツシユは、複数の処理装置のうちの任意の1
つの処理装置からの要求に対して1マシン・サイクル毎
にサービスすることが可能となる。これは、システムの
スループツトに顕著に貢献し、かつ、各マシン・サイク
ル毎に、つまり、キヤツシユ・サイクル時間=CPUサ
イクル時間毎に、キヤツシユが1つの要求を受け取るの
を可能にすることによつて100%のキヤツシユ・アレ
イ利用率を保証する。第2に、本発明はバースト・モー
ド・ロジツクとして知られているロジツクを使用するこ
とにより全体のスループツトを増加する。バースト・モ
ード・ロジツクについては後述する。
【0012】ビルトイン・パイプライン処理段階を含ま
せることにより、キヤツシユは処理装置のうちの任意の
1つの処理装置からの要求に対して1マシン・サイクル
毎にサービスすることが可能になる。これはシステムの
スループツトに著しく貢献し、キヤツシユの100%利
用を保証する。バースト・モードのデータ・アクセスに
関して述べると、1キヤツシユ・アクセス動作の間で、
キヤツシユから最も幅の広いデータ(データ・ワード)
をキヤツシユにストアし、またはキヤツシユから検索す
ることができる。データの一方の部分はキヤツシユ中の
ロジツク内に保持されるが、他方、データの他方の部分
(システム・バスと同じ幅)は1マシン・サイクルで要
求元の処理装置に転送される。次に、保持されたデータ
の部分は次のマシン・サイクルで転送することができ
る。キヤツシユと外部装置(例えば、プロセツサの主メ
モリ)との間でデータを転送するために1マシン・サイ
クルよりも多いマシン・サイクルを取ることはできるけ
れども、キヤツシユへの、またはキヤツシユからの実際
のデータ転送は単一のキヤツシユ動作サイクルで達成さ
れる。
【0013】共有されたキヤツシユ(以下、共有キヤツ
シユという)の設計にパイプライン及びバースト・モー
ドの特性を加えることによつて、本発明はマシン・サイ
クルの約44%の節約を与える。この改良の程度は、
(1)処理装置からの要求を受け取るために1マシン・
サイクルを取ることと、(2)1つのインターリーフに
対するキヤツシユ・アレイ待ち時間(cache array late
ncy)は1マシン・サイクルであることと、(3)1マ
シン・サイクルが、キヤツシユ・アレイからアクセスさ
れたデータを差し向けるためと、要求元装置のポートの
データ・ドライバを付勢するために使われることと、
(4)1マシン・サイクルが処理装置にデータを転送す
るのに使用されることとに基づいている。これらの状態
の下で、バースト・モード・ロジツクもパイプライン手
段も持たないキヤツシユ・システムにおいて、4Lビツ
ト幅(本発明の良好な実施例において、4Lビツト幅は
160ビツトである)の所望のデータ・ワードは16マ
シン・サイクルでアクセスされるが、これに対して、本
発明のパイプライン手段とバースト・モード・ロジツク
を有するシステムは同じデータの合計アクセス時間は7
マシン・サイクルでアクセスできる。従つて、7マシン
・サイクル対16マシン・サイクルは、システム性能を
44%向上することになる。
【0014】
【実施例】図1は本発明を適用するためのX個のデータ
通路を持つマルチプロセツサ・システムを示すブロツク
図である。図1において、プロセツサ3乃至3Xは、夫
々、IBM社で販売されているRISCシステム/60
00のプロセツサのような中央処理装置(CPU)を表
わしている。これらのプロセツサは、頻繁に用いられる
データをストアするためにCPUそれ自身の中にあるレ
ベル1(L1)キヤツシユを含んでいる。本発明の良好
な実施例において、4台の処理装置3がマルチプロセツ
サ・システムに用いられているが、性能とコストとの妥
協が成立することを条件として、任意の数の処理装置に
対して本発明の共有キヤツシユを用いることができる。
【0015】参照番号100は本発明のインターリーブ
された共有キヤツシユ装置を表わしている。NをX(プ
ロセツサの数)と等しいか、またはそれよりも大きな数
として、この共有キヤツシユ装置はN個のインターリー
フ(アレイ・ブロツク)を含んでいる。加えて、図1に
は、メモリ制御装置(MCU)10が示されている。デ
ータに対するアドレス/要求の形式を持つ制御信号は、
処理装置3乃至3Xから、信号ライン6乃至6Xを介し
て直接に受け取られる。入力論理回路110(図2及び
図3)中にある仲裁回路は、例えば101、102、1
03、104(図2)のような目標のインターリーフ
へ、これらのプロセツサの要求を向けるのに用いられる
回路構成を与える。インターリーフがアクセスされた
後、検索されたデータは、出力回路150(図2及び図
3)を介して要求元プロセツサに送られる。2つ、また
はそれ以上の処理装置の要求が競合した場合、つまり、
両方の要求が同じサイクルの間で同じインターリーフを
目標とした場合、ただ1つの要求しかサービス(処理)
されない。どちらの要求がサービスされるかは、最も最
近サービスされていないプロセツサからの要求を選択す
る状態マシン・ロジツクに基づいて行なわれる。サービ
スされなかつた要求は、MCU10の中のバツフアや、
ラツチなどの待ち行列用メモリに入れられて、信号ライ
ン15を介して後刻、サービスされる。MCU10は、
最も最近サービスされていないプロセツサを決定するこ
とができるようにデータ要求(データのロード要求及び
データのストア要求)のデイレクトリを保持している。
仲裁回路の選択は最も最近サービスされていない処理装
置だけに基づいて行なわれる。MCUのデイレクトリ
(要求の待ち行列)中の待ち行列に入れられたこれらの
要求、例えば、前の段階で仲裁における選択を失つた要
求は、CPUから直接に受け取つた要求を上まわる優先
性が与えられる。従つて、本発明は、前の要求に優先権
を与えることによつてこの問題を解決しており、この場
合、MCUデイレクトリは、CPUからの新しい要求で
あつてサービスされずに待ち行列に入る要求で満たされ
る。
【0016】加えて、本発明は、共有キヤツシユ100
を介して、データをプロセツサ3乃至3Xの間で転送さ
せるデータ流路(図2の信号路160)を含んでおり、
従つて、キヤツシユ・アレイのアクセスの遅延時間を節
約し、この節約時間を利用して、異なつたソース(処理
装置)からの他のアクセスのためにキヤツシユ・アレイ
を自由に使用させる。このデータ流の通路は、MCU1
0中に含まれたロジツクによつて制御され、そして、信
号ライン15を介してキヤツシユ100に与えられる。
信号ライン7は共有キヤツシユ100及びシステム・メ
モリ(図示せず)間のデータ流の通路である。プロセツ
サが、L2キヤツシユ中にはないデータを要求した時、
キヤツシユ・ミスが発生して、MCU10の中の制御ロ
ジツクは制御信号ライン9を介して主メモリへその要求
を差し向ける。この要求に対して主メモリがアクセスさ
れた後、キヤツシユ装置中の入力ロジツク(110)及
び出力ロジツク(150)を使用して、データは、共有
キヤツシユ100を介して主メモリから要求元プロセツ
サへ流れるので、これらのデータは信号ライン15を経
たMCU10からの制御信号と共にキヤツシユ100の
該当するインターリーフ内に同時にストアされる。キヤ
ツシユ・ミスの間、メモリからのデータ流は、プロセツ
サからプロセツサへの上述のデータ流と同じ流れであ
る。主メモリの制御信号及びデータ流は、キヤツシユ1
00の中のI/Oポートを介して入/出力(I/O)装
置に印加することができる。システム・メモリからの検
索データの上述の説明は、データ信号ライン8及び制御
信号ライン11がデータ信号ライン7及び制御信号ライ
ン9の代わりに用いられることを除いて、I/Oデータ
転送にも同様に当嵌る。これらのI/O装置は、固定デ
イスク・ストレージ装置、小型コンピユータ・システム
のインターフエース(SCSI)装置、通信ポートなど
を含む。
【0017】プロセツサ3及び3Xは、制御信号ライン
6及び6Xと、データ信号ライン5及び5Xとによつて
共有キヤツシユ装置100を通して複数個のインターリ
ーフ(アレイ・ブロツク)に接続される。このような態
様で、データは、共有キヤツシユを介して、データ信号
ライン5及び5Xを通して一方のプロセツサから他方の
プロセツサへ流すことができ、これにより、そのデータ
が存在するインターリーフにアクセスするための遅延時
間を節約することができる。つまり、共有キヤツシユと
プロセツサとの間でデータを流すことにより、各プロセ
ツサは、他方のプロセツサのデータを検索し、そのデー
タを転送するための独立したロード動作及びストア動作
を遂行する必要をなくしたということである。制御信号
ラインは、タイミング信号などを与え、そして、プロセ
ツサ3及び共有キヤツシユ100との間のストア動作及
びロード動作を援助するために使用される。
【0018】データ信号ライン7は、キヤツシユ100
に接続されたシステム・メモリ(図示せず)からデータ
をロードさせ、またはシステム・メモリへデータをスト
アさせる信号路である。また、制御信号ライン9はシス
テム・メモリに接続されており、システム・メモリとキ
ヤツシユ100との間でデータを転送するために必要な
信号を制御する信号ラインである。更に、データは、キ
ヤツシユ100と相互接続された任意のI/O装置(図
示せず)との間で転送することができる。これらのI/
O装置は、固定デイスク・ストレージ装置、SCSI装
置、通信ポート、あるいはプロセツサ3へデータを送
り、またはプロセツサ3からのデータを受け取るような
任意の入/出力装置を含む。制御信号ライン11は、M
CU10と種々のI/O装置との間のデータ転送を制御
する信号を与えるのに用いられる。
【0019】図2を参照すると、図1に示した共有キヤ
ツシユ100の主要な機能素子と、それらの素子の間の
データの論理的流れを示すブロツク図が示されている。
既に述べたように、キヤツシユ100は、X個のデータ
路のマルチプロセツサ・システム中にあるX個のプロセ
ツサに対応するX個のデータ入力ポートを持つている。
更に、NをXよりも大きいか、または等しい数として
(図2においては、N及びXは4に等しい)、キヤツシ
ユ100は、N路を持つインターリーブされたキヤツシ
ユを含んでいる。従つて、X個のプロセツサの内の任意
の1つのプロセツサは、与えられた時間において、N個
のインターリーフのうちの任意の1つのインターリーフ
に独立してアクセスすることができる。これをより特定
して言えば、NをXよりも大きな数とすれば、各プロセ
ツサは、各マシン・サイクルの間で1つのキヤツシユ・
インターリーフにアクセスすることが常に可能であるこ
とを意味する。然しながら、NがXよりも小さな数とす
れば、対応するインターリーフがないから、少なくとも
1個のプロセツサが各サイクルの間で待機しなければな
らないことが理解できる。
【0020】図7はX個(図示の例では4個)のプロセ
ツサ3乃至3Xと、N個(図示の例では5個)のキヤツ
シユ・インターリーフ101、102、103、104
とを有するマルチプロセツサ・システムが示されてい
る。従つて、どのようにして、4個のプロセツサ、即ち
CPU0乃至CPU3が、5個のインターリーフ101
乃至Nの間でデータを転送することができるか、そし
て、各マシン・サイクルの間で、各プロセツサが1つの
インターリーフにアクセスすることがてきるかを理解す
ることができる。また、若しプロセツサの数よりも少な
い数のインターリーフが与えられたならば、少なくとも
1個のプロセツサは、他のプロセツサがキヤツシユ・イ
ンターリーフにアクセスしている間で、待機しなければ
ならないことは明らかである。従つて、Nよりも小さな
Xの場合には、キヤツシユは、各プロセツサからのデー
タ転送要求を1マシン・サイクル毎にサービスすること
は不可能である。その結果、インターリーフの数はプロ
セツサの数よりも大きな数か、または等しい数であるこ
とが、本発明の共有キヤツシユの要件である。
【0021】図2を再度参照すると、参照番号100
は、キヤツシユ100に接続されて示された3個のプロ
セツサ、即ちP0乃至Pxを有する本発明の共有キヤツ
シユである。入力ロジツク110は共有キヤツシユ10
0において、3個のプロセツサによつて操作されるデー
タをストアするのに必要な装置を含んでいる。これらの
装置は、入力装置、データ・バツフア、データ選択用マ
ルチプレクサ等である。入力ロジツク110は図3を参
照して後述する。キヤツシユ・インターリーフ101、
102、103及び104はキヤツシユの中で明確な位
置を持つている。ここで説明する4路のマルチプロセツ
サ・システムは本発明の1実施例であり、他の数のプロ
セツサを有するマルチプロセツサ・システムも本発明の
下で考えられることは自明である。本発明の実施例であ
る4路のマルチプロセツサ・システムは、4メガバイト
の総ストレージ密度を持つL2キヤツシユ・メモリを用
いて良好な性能を発揮することが分つている。この性能
を達成するために、本発明の実施例は、共有キヤツシユ
中の各チツプが4メガバイトのストレージ容量を持ち、
そして、8個のチツプが所望の総ストレージ密度を達成
するのに使用されている。キヤツシユ装置の中の各イン
ターリーフが1メガバイトのストレージ容量を作るよう
に、8個のキヤツシユ・チツプの各チツプ毎に4メガバ
イトの総ストレージ密度を、4個のインターリーフに亙
つて配分することができる。良好な実施例において、8
個のスタテイツク・ランダム・アクセス・メモリ・チツ
プ(SRAMS)が4路のマルチプロセツサ・システム
に使用されている。加えて、システムの設計者は、
(1)余分なインターリーフにフアンアウトするために
プロセツサからのデータ・バスを必要とし、かつ、キヤ
ツシユ・チツプ100を内部的に変更するが、しかし処
理装置(図7)へのデータ・バスには影響しないように
修正したキヤツシユ・チツプ100の各々に対して、付
加的なインターリーフ(図2及び図3に示したようなイ
ンターリーフ)を使用することと、(2)チツプ内部の
インターリーフの数を変更すること(余分なチツプをサ
ポートするためプロセツサからのデータ・バスを広げる
必要がある。但し、チツプそれ自身における変更は必要
でない)なく、付加的なL2キヤツシユ・チツプ100
を用いることとによつて、上述したキヤツシユよりも大
きい容量のキヤツシユを構成することができる。
【0022】出力ロジツク150は共有キヤツシユ10
0中の複数個のキヤツシユ・アレイから検索されたデー
タを受け取り、そして、そのデータを要求元プロセツサ
に出力する。このロジツクはN個のハードウエア装置の
組であり、バースト・モード・ロジツク、データ選択ス
イツチ、ラツチ、ロード・スイツチ、レジスタ、ドライ
バ等を含んでいる。共有データ・キヤツシユ100の中
にN個のキヤツシユ・アレイの各々に対応してN個の出
力ロジツク装置がある。
【0023】図2から、プロセツサ3乃至3Xは、デー
タを処理する入力ロジツク110にデータを転送するこ
とによつて共有キヤツシユ100中にデータをストア
し、そして、プロセツサ3乃至3Xの内の任意の1つの
プロセツサによつて与えられたアドレスに基づいて、デ
ータ信号ライン105、106、107、108によつ
て該当するインターリーフにデータを送る。MCU10
は、前の仲裁の間で、主メモリ要求、またはI/O要求
を失つたCPU要求のためのアドレスだけを与える。デ
ータがキヤツシユ中にストアされた後に、要求元プロセ
ツサによつて、入力ロジツク110を通つて転送される
ロード・インストラクシヨン(若しロードが仲裁の結果
であるならばMCU10からのロード・インストラクシ
ヨン)がキヤツシユに送られた時に、キヤツシユにスト
アされたデータが検索される。目標のキヤツシユ・イン
ターリーフ101乃至104がアクセスされた後に、イ
ンターリーフにストアされたデータは、信号ライン11
1、112、113、114を介して出力ロジツク15
0に転送される。MCU10からの信号の制御の下で、
データは出力ロジツク150から、信号ライン12
0...120Xを経て要求元処理装置3乃至3Xに転
送される。インターリーフ101、102、103、1
04は、マルチプロセツサからのストア動作及びロード
動作が同時に発生されること、つまり、本発明によつて
与えられるパイプライン手段によつて、上述の2つの動
作を重複させることが図2から理解できるであろう。
【0024】共有キヤツシユ100の中のデータ流を示
した模式図である図3を参照して、入力ロジツク110
及び出力ロジツク150の個々の素子を以下に説明す
る。このデータ流は、ストア用の待ち行列バツフアの中
に入る入力データ流と、ストア用のスイツチとして構成
されている複数個のデータ選択スイツチに出る出力デー
タ流とを示している。ロード動作の間で、データは、選
択されたインターリーフから、バースト・モード・ロジ
ツク200乃至200nの中に流入し、そして、ロード
・スイツチとして構成された複数個のデータ選択スイツ
チに流入し、次に要求元プロセツサ3のデータ入力ポー
トに流入する。待ち行列バツフア、ストア・スイツチ、
キヤツシユ・アレイへのロード動作及びキヤツシユ・ア
レイからのストア動作、バースト・モード・ロジツク、
ロード・スイツチ及びドライバの付勢の制御は、すべて
メモリ制御装置10から与えられる。
【0025】上述の記載を更に詳細に説明すると、プロ
セツサ3乃至3Xはデータ・ライン121を介してビツ
ト幅Lのデータ・ワードを入力することによつてデータ
をストアする。良好な実施例において、データ・ワード
は40ビツト幅であり、この中で、32ビツトはデータ
に用いられ、8ビツトはエラー・チエツク及び訂正コー
ド(ECCコード)のために用いられている。データ受
け取り装置123はデータを受け取り、そして、そのデ
ータをラツチ124にストアする。次のCPUサイクル
において、データは、データ・ライン125を経て待ち
行列バツフア127に転送される。MCU10からの制
御信号が、データをストア・スイツチ128中にアンロ
ードするために送られ、次に目標のインターリーフ10
1、102、103、104の中にアンロードするため
に送られるまで、データは、待ち行列バツフア127の
中に保持される。
【0026】ストア・アドレスは信号ライン15を経て
MCU10によつてキヤツシユ100に与えられること
を注意されたい。従つて、MCU10は、通常の環境の
下(プロセツサによるキヤツシユ・アクセスの間)ばか
りでなく、仲裁、メモリのデータ転送、またはI/Oの
データ転送が発生した時でも、アドレスを与え、また、
待ち行列バツフア127中のデータがデータ選択スイツ
チ128に転送される時点を知らせる制御信号も与え
る。待ち行列バツフア127は、キヤツシユ中に含まれ
ており(1つのデータ・ポート当り1つの待ち行列バツ
フア、即ちX個の待ち行列バツフアが存在する)、デー
タがL1キヤツシユ(第1のレベルのキャツシユ)及び
共有L2キヤツシユ100の両方の中に直接にストアさ
れる場合に通る待ち行列バツフアに生じるデータ流をキ
ヤツシユに吸収させる機能を持つている。Lビツト幅の
データを受け取る待ち行列バツフア127は、このデー
タを蓄積し、そして、先入れ先出し(FIFO)アクセ
ス・モードにおいて、2Lビツト幅(例えば、64ビツ
トのデータと、16ビツトのECCコード及びタグとを
持つ80ビツト)のワードを待ち行列バツフア127か
らアンロードする。つまり、これは、Lビツト幅である
データの第1の部分と、Lビツト幅でありかつバス12
5上に後のサイクルで到着するデータの第2の部分とが
連結されることを意味する。従つて、「アンロード・バ
ツフア(アンロード待ち行列バツフア)」コマンドがM
CU10から受け取られた時、2Lビツト幅のデータ・
ワードは、待ち行列バツフア127からアンロードさ
れ、そして、ストア・スイツチ128に入力される。
【0027】ストア動作の間で、処理装置3乃至3Xの
内の任意の1つから受け取られたデータは、キヤツシユ
100のインターリーフ101...104の内の任意
の1つの中にストアすることができるのは理解されるべ
きである。データはこれらの待ち行列バツフアによつて
バツフア作用を受け、そしてバースト・モード・ロジツ
ク200によつて、例えば2Lビツト幅のデータに対し
て、より大きな細分性を持つキヤツシユ・アレイにスト
アされる。プロセツサ3乃至3Xの各々は、対応する受
け取り装置123と、待ち行列バツフア127と、プロ
セツサによつてキヤツシユ中にストアされるべきデータ
を受け取るための関連データ・ラインとを持つているこ
とには注意を向けられたい。説明を簡略にするために図
3に示したこれらの装置は、プロセツサ3(P0)の装
置だけが示されているが、上述の装置は各プロセツサに
設けられていることには注意を向ける必要がある。更
に、下記の説明はプロセツサ3(P0)に関連した素子
だけに向けられているが、マルチプロセツサ・システム
における各プロセツサが同じように動作することは当業
者であれば容易に理解できる。
【0028】ストア・スイツチ128は、待ち行列バツ
フア127から、先入れ先出し順序で40ビツトのデー
タを受け取り、そして、複数個の待ち行列バツフア12
7からデータがストアされている実際のインターリーフ
へのストア・データの経路付けを含んでスイツチ機能を
遂行する。つまり、これは、プロセツサ3から転送さ
れ、待ち行列バツフア127中にストアされているデー
タは、インターリーフ104等にストアされる必要があ
るということを意味する。ストア・スイツチ128の中
に含まれたデータ選択スイツチ129乃至129nは上
述のスイツチ機能を与える。MCU10は、ストア・ス
イツチ128へデータ・ライン15を介して制御を与え
る、つまり、入力プロセツサから、所望のキヤツシユ・
インターリーフへデータを送るデータ選択スイツチ12
9の1つへデータ・ライン15を介して制御を与える。
プロセツサ3乃至3Xからのデータは、データ・バス1
22乃至122nによつてデータ選択スイツチ129の
任意の1つに入力することができるのは理解できるであ
ろう。これらのバスは、データ選択スイツチ129乃至
129nの各々によつてプロセツサ3乃至3Xの各々に
接続できるので、待ち行列バツフア127乃至127n
(対応するプロセツサに関連した待ち行列バツフア)の
任意の1つからのデータはインターリーフ101乃至1
04の任意の1つに書き込むことができる。複数個のデ
ータ・バス(データ・ポート)はキヤツシユ装置のI/
Oピンを節約するために双方向ポートとして構成され
る。各データ・ポートは各データ・ポートに関連したア
ドレス/要求信号のポートを持つている。主メモリ及び
I/Oデータ転送のためのアドレス/要求信号のポート
はMCU10のアドレス/要求信号のポート(図1の信
号ライン15)を介して送られる。
【0029】データ選択スイツチ129乃至129nが
各インターリーフに対して与えられている。これらのデ
ータ選択スイツチは、本質的には、対応するインターリ
ーフへのX個の入力信号(X個のプロセツサからの入力
信号)に対応する1つの入力信号を通すマルチプレクサ
である。
【0030】本発明の良好な実施例において、インター
リーフに与えられるデータは、80ビツト幅であるデー
タ・ワードの形式を持つている。これらの80ビツト・
ワードは、2つの40ビツト・ワードを持つており、こ
の実施例の構成において、各40ビツト・ワードはデー
タのための32ビツトと、ECCコード及びタグのため
の8ビツトとで構成されている。既に述べたように、L
ビツト幅のデータ・ワードは40ビツトで構成されてい
ると考えることができるから、従つて2Lビツト幅のデ
ータ・ワードは80ビツトのデータ・ワードである。実
施例の4路のマルチプロセツサ・システムにおいて、各
プロセツサは4個の待ち行列レジスタを含んでいる。従
つて、この実施例のインターリーフは、80ビツトのデ
ータ・ワード、つまり2Lビツト幅のワードを処理する
能力があることが図3から理解できるであろう。
【0031】ストア・スイツチ128中のデータ選択ス
イツチ、即ちマルチプレクサ129は、4組の80ビツ
ト幅(各待ち行列バツフア127から、80ビツト幅の
1つの2Lビツト幅のデータ・ワード)のデータ・ワー
ドを受け取る。4個のデータ・ワードの内のどのデータ
・ワードが4個のインターリーフ101乃至104の内
のどのインターリーフに書き込まれるかに基づいて、M
CU10は、ライン15を介して、ストア・スイツチ1
28に該当する制御信号を送る。このMCU制御信号
は、例えばCPU0(CPU3)からのデータをインタ
ーリーフ0(参照番号101)中にストアする。2Lビ
ツト幅のデータ・ワードは、データ・ライン131乃至
131nを経てインターリーフのポートに与えられる。
従つて、異なつたプロセツサ3乃至3Xから、80ビツ
ト・データ・ワードを同時にストアするために複数個の
ポートが、本発明の共有キヤツシユの中にどのように含
れているかを理解することができるであろう。
【0032】更に、プロセツサ3乃至3Xのうちの1個
以上のプロセツサが、どのようにしてインターリーフ1
01乃至104のうちの同じものの中にデータを同時に
ストアするのを試みることを可能にしたかは、当業者で
あれば理解できるであろう。従つて、この場合、競合、
即ち衝突が生じる。MCU10中の制御ロジツクは、ス
トア・スイツチのロジツク回路中の各マルチプレクサ1
29が各インターリーフ中に一時に1つのストアを許容
する別個の直交選択信号を持つているので、これらの競
合の発生を回避する。異なつた2つのインターリーフの
中にデータがストアされないこと、つまり、各キヤツシ
ユ・アレイはキヤツシユ全体を通じて特有のデータを保
持していることは注意を払う必要がある。
【0033】加えて、仲裁ロジツク300(図4)は、
最も長い期間の間、特定のインターリーフ(競合の対象
となつたインターリーフ)にアクセスしなかつたプロセ
ツサだけに対してアクセスを与えることに使用される。
この仲裁ロジツク300は図4を参照して後述する。
【0034】上述の説明は、少なくとも1個のプロセツ
サが後で使用されるデータをキヤツシユ中に保持させる
ストア動作に関している。ロード動作は、処理動作にお
いて用いられる、前にストアされたデータを本発明の共
有キヤツシユから検索する動作を含んでいる。アレイ、
またはインターリーフにデータを入力するのと同じよう
に、出力データもまた2Lビツト幅のワード(80ビツ
トのデータ・ワード)である。このことは、単一のキヤ
ツシユ・サイクルにおいて、同じデータ量をキヤツシユ
にストアさせ、そして、キヤツシユからロードさせるこ
とができる。プロセツサ3にロードされるデータは、デ
ータ・ライン133乃至133nを経てインターリーフ
から検索され、そして、バースト・モード・ロジツク装
置200乃至200nに与えられる。
【0035】バースト・モード・ロジツク装置はインタ
ーリーフからの80ビツトのデータ・ワードを、40ビ
ツト幅しかないシステム・バスによつて処理することの
できる40ビツトのデータ・ワードに分割する。
【0036】データがプロセツサ3乃至3Xの1つによ
つて要求された時、インターリーフ、またはキヤツシユ
・アレイは、80ビツトのデータ・ワード(本発明の良
好な実施例においては2Lビツト幅のデータ・ワード)
をバースト・モード・ロジツク装置200に出力する。
第1の部分の40ビツト(下部データ)は、信号ライン
206を経て、要求元プロセツサへの第1のデータ転送
としてバースト・モード・マルチプレクサ201に転送
され、他方、第2のデータ転送としての40ビツト(上
部データ)のラツチ203に与えられ、次のサイクルの
間で出力される。バースト・モード・ロジツク200乃
至200nは、例えばライン206乃至206nからの
第1の40ビツトである元の80ビツトのデータ・ワー
ドの40ビツト位置の1つを選択する選択マルチプレク
サを含み、そして、そのデータ・ワードが受け取られる
サイクルと同じサイクルの間でバースト・モード・ロジ
ツク200を通してそのデータを送る。バースト・モー
ド・ロジツク200の他の素子は、元の80ビツトのデ
ータ・ワードの選択されなかつた40ビツト位置がラツ
チされる選択ラツチ203乃至203nである。この実
施例において、マルチプレクサ動作によつて、選択され
なかつたライン208乃至208nからの第2の40ビ
ツトはラツチ203で保持される。この第2の40ビツ
ト位置は、第1の40ビツト位置がロード・スイツチ2
05に通されるサイクルの後の次のマシン・サイクルで
出力される。従つて、インターリーフからの80ビツト
のデータは、連続した40ビツト位置の2つの転送に直
列化される。直列化されたデータ・ワードは、MCU1
0からの信号によつて制御される境界選択レジスタ20
7乃至207nを通つて通過される。境界選択レジスタ
207乃至207nからのデータ・ワードは、ドライバ
209乃至209nを付勢することによつて、キヤツシ
ユ・チツプから、バス120乃至120nを経てプロセ
ツサ・チツプに転送される。境界選択レジスタからのデ
ータ信号の出力電力は、ライン120中に存在する電力
損失を補償するために、ドライバ209によつて増幅さ
れなければならない。また、ドライバ209の増幅制御
は、MCU中に維持されているデレクトリ中のバス12
0の可用性に従つてMCU10により与えられる。
【0037】従つて、1つのプロセツサ要求(ロード要
求、またはストア要求)に対して、1マシン・サイクル
毎にサービス(処理)を与えることができるように、本
発明は、インターリーブされた複数のポートと、パイプ
ライン手段とを有する共有キヤツシユ・システムを、バ
ースト・モード・ロジツクを用いてどのようにして与え
るかが理解できた。
【0038】図4は仲裁ロジツク及びアドレス/要求信
号の選択路を示すブロツク図である。有効な要求信号3
10乃至310nは、各要求元処理装置(例えばプロセ
ツサ3乃至3Xか、またはMCU)から受け取られる1
ビツト信号である。要求開始の結果として1つ、または
それ以上の有効な要求信号が付勢された場合において、
仲裁状態にあるマシンを表示するロジツク301は、選
択信号のライン311乃至311xに活動値(高電位、
または低電位)を持つ信号を発生する。これらの信号ラ
インはアドレス/要求信号のライン313乃至313x
上のただ1つの信号を選択した場合のラインである。上
述したように、この選択は、複数個のポートの中で最も
最近サービスされていない要求元処理装置のポートに基
づいて行なわれ、このMCUの要求は最も高い優先度を
持つている。参照数字303は、アドレス/要求信号の
マルチプレクサ装置を示し、このマルチプレクサ装置を
介して、競合に勝つたアドレス/要求信号はライン30
5を通つて出力され、アクセスを必要とするアレイで受
け取られる。
【0039】仲裁ロジツク300は、キヤツシユの中の
入力ロジツク110に含まれており、MCU10のチツ
プに重複されている。従つて、プロセツサによりデータ
・アクセスが要求された時、それらのプロセツサは、キ
ヤツシユ装置100及びMCU10の両方にアドレス/
要求情報を送る。信号ライン310乃至310xは、ど
の装置源(プロセツサ)が有効なデータ転送要求を送つ
たかに関する情報を転送する。仲裁ロジツク300は、
ライン310乃至310x上でプロセツサから受け取つ
た要求信号の間の競合を仲裁し、特定のインターリーフ
の要求の有効性をチエツクする。最も最近サービスされ
ていないプロセツサが仲裁に勝つ。例えば、若し310
及び310xが付勢されており(両方のラインは有効要
求信号を転送している)、かつ、310x(CPUx)
がアレイにアクセスした最後のプロセツサであれば、3
10(CPU0)は仲裁に勝ち、従つて、仲裁ロジツク
はライン311上の選択信号を付勢する。仲裁ロジツク
300は、複数のプロセツサの内の1つが仲裁に勝つた
ことを表示する選択信号を発生し、この信号をライン3
11乃至311xに出力する。プロセツサ3乃至3Xか
らの実際のアドレス/要求信号は信号ライン313乃至
313xに入力される。上述の選択信号が付勢された
時、対応するアドレス/要求信号は選択されて、アドレ
ス/要求信号用のマルチプレクサ303を経て出力され
る。従つて、付勢された選択信号は、アドレス/要求信
号の1つを通すマルチプレクサ303に実質的に出力さ
れ、これにより、対応するプロセツサは所望のインター
リーフにアクセス可能になる。ライン313乃至313
xの1つからの勝つたアドレス/要求信号は信号ライン
305上のキヤツシユ・インターリーフに出力される。
前の例において、ライン311は付勢された選択信号を
含んでいるから、ライン313上のアドレス/要求信号
(プロセツサ3、即ちCPU0からの信号)はマルチプ
レクサ303によつて選択され、ライン305を介して
キヤツシユ100の中の所望のインターリーフに通過さ
れる。仲裁選択信号のマルチプレクサからの選択された
アドレス/要求信号は、キユツシユ・アレイに所望のア
クセスを開始させる。仲裁に負けたプロセツサに対応す
るアドレス/要求信号(この例の場合、ライン313x
上のアドレス/要求信号)は、MCU要求信号のポート
(信号ライン15)を介して所望のキヤツシユ・インタ
ーリーフへ後でアクセスするために、そのプロセツサの
要求を中断することができるように、MCU10の中の
待ち行列バツフアにストアされる。仲裁ロジツク300
は、MCU10からの待ち行列にされた要求が次の選択
動作における仲裁に勝つことを保証する。
【0040】図5は、一方がパイプライン手段を持ち、
他方がパイプライン手段を持たず、両方ともバースト・
モード・ロジツクを持つていない2つのキヤツシユにお
いて、顕著なタイミング差があることを説明するための
論理的なタイミング図である。パイプライン手段を持つ
キヤツシユは、データをバツフアなどの中にラツチする
能力を参照する。これは、全体の処理が終了する必要が
ない、つまり、キヤツシユ・システムに入力したデータ
が複数個の論理的素子の間で移動する時に、データがラ
ツチされる(保存される)ことなく、データがキヤツシ
ユ・システムに入力することが可能であり、従つて、存
在するデータがキヤツシユ・システムを介して移動して
いる間で、付加的なデータを入力することができる。パ
イプライン処理は、複数の論理ステツプの実行を重複す
ることによつてスループツトを改善する技術である。
【0041】図5において、パイプライン処理の論理動
作は、(1)アドレス/要求信号の到着及び仲裁段階
と、(2)アレイへのアクセス段階と、(3)出力ロジ
ツクの出力段階と、(4)要求元プロセツサへのデータ
転送段階との4つの段階を含んでいる。第1のタイミン
グ図(A)は、バースト・モード・ロジツクもパイプラ
イン手段も持たないが、インターリーブされたキヤツシ
ユに関するものである。単純化を計るために、各段階は
1マシン・サイクルを取るものと仮定する。パイプライ
ン手段によるアクセスのないキヤツシユ・システムの場
合のタイミング図(A)は、データの第2のアクセス
は、第1のアクセスが完全に終了するまで開始すること
ができず、従つて、2つのデータ転送要求をサービスす
るためのサイクル数の2倍のサイクル数、例えばタイミ
ング図(A)に示した8サイクルを取ることを示してい
る。これとは対照的に、タイミング図(B)は、2つの
データ転送要求を重複することによつて、パイプライン
手段を持つキヤツシユ・システムがどのようにして5個
のマシン・サイクルの間で2つの転送動作を完了するか
を示している。より特定して言えば、タイミング図
(A)においては、アドレス/要求信号はマシン・サイ
クル1の間でプロセツサからキヤツシユへ送られる。ア
レイはサイクル2においてアクセスされ、データはサイ
クル3において出力され、次にデータはサイクル4の間
でプロセツサに与えられる。サイクル5乃至サイクル8
は上述と同じプロセツサか、またはマルチプロセツサ・
システム中の他のプロセツサに対する同じステツプを示
している。夫々Lビツト幅の2つのデータ・ワードに与
えるために、1つのプロセツサに対して8個のマシン・
サイクルが必要なことが理解できる。
【0042】また、図5のタイミング図(B)は、パイ
プライン手段によるアクセスを有し、複数ポートを有
し、インターリーブされたキヤツシユ・システムがどの
ようにしてシステムの性能を改善するかを示している。
パイプライン処理の利点は、図5に示した2つのタイミ
ング図(A)及び(B)を比較すれば自ずから明白であ
る。タイミング図(A)において、他のプロセツサが他
のデータ要求/アドレス動作を開始する前に、データ要
求のすべての処理が完了されなければならないことが理
解できる。これとは対照的に、タイミング図(B)にお
いては、データが各ステツプの間で保存(ラツチ)され
るので、アドレス/要求動作を同時に(重複した動作
で)行なうことができる。より特定して言えば、タイミ
ング図(B)においては、サイクル2の間で、第2のプ
ロセツサは、キヤツシユ中の特定のインターリーフのア
ドレスを要求する。サイクル3の間で、第1のプロセツ
サにより要求されたデータは出力ロジツク中に置かれ、
第2のプロセツサはインターリーフにアクセスする。次
に、サイクル4において、第1のプロセツサは要求され
たデータを受け取り、第2のプロセツサのデータは出力
ロジツクの中に置かれる。最後に、サイクル5におい
て、要求されたデータは第2のプロセツサに与えられ
る。パイプライン処理が、重複動作をさせることにより
システムの性能を顕著に向上させることが理解できる。
【0043】図6はバースト・モード・ロジツクを用い
た場合の効果に焦点を置いた論理的タイミング図の他の
組を示している。タイミング図(C)を参照すると、バ
ースト・モード・ロジツクを持つているが、パイプライ
ン手段を持たないキヤツシユ・システムの処理動作が示
されており、キヤツシユ・システムがデータ転送要求に
サービスを与えるのに、5サイクルを取ることが理解で
きる。然しながら、この要求は、図5において示された
40ビツト(Lビツト幅)のデータ幅の2倍のデータ幅
を持つデータに対する要求である。つまり、図6のデー
タは、図5のデータ幅(Lビツト幅)の2倍のデータ幅
の80ビツト(2Lビツト幅)を持つている。従つて、
タイミング図(A)及び(C)を比較すると、バースト
・モード・ロジツクなしの場合、転送処理は8マシン・
サイクルを取り、これに対して、バースト・モード・ロ
ジツクを持つ処理が用いられた時(タイミング図
(C))、転送処理は同じ量のデータ(2Lビツト幅)
にアクセスするのに5サイクルしか取らない。図6のタ
イミング図(D)は、パイプライン手段と、バースト・
モード・ロジツクとを組み合わせたキヤツシユ・システ
ムの効果を示す図である。タイミング図(C)に示され
たように、この処理は、パイプライン処理を用いずバー
スト・モード・ロジツクだけしか使用しない時に、4L
ビツト幅のデータ・ワード(160ビツト)を転送させ
るための2つのデータ転送要求にサービスを与えるため
に10マシン・サイクルを取る。然しながら、パイプラ
イン手段とバースト・モード・ロジツクとを有するキヤ
ツシユ・システムを使用すると、2つの4Lビツト幅の
データ・ワードの転送動作は7マシン・サイクル(タイ
ミング図(D))で完了される。タイミング図(D)の
斜線部分は、データ・バスが与えられた時間でLビツト
幅のデータしか転送しないことを示している。
【0044】上述のことをより詳細に説明すると、タイ
ミング図(C)においては、バースト・モードの特徴が
用いられているが、パイプライン処理の能力は持つてい
ない。サイクル1において、プロセツサはキヤツシユに
対してアドレス/要求信号を送る。サイクル2におい
て、アレイはアクセスされ、そして、サイクル3におい
て、2Lビツト幅を持つデータがバースト・モード出力
ロジツク中に置かれる。次に、このデータはサイクル4
及び5の間でプロセツサに与えられ、与えられた各デー
タ・ワードは、キヤツシユ中にストアされる2Lビツト
幅のデータ・ワードと等価のデータを与えるためにLビ
ツト幅を持つている。サイクル6乃至10は、同じプロ
セツサか、または他のプロセツサに対して2Lビツト幅
のデータを与えるために、同じステツプを用いる。タイ
ミング図(D)は、キヤツシユ中のデータにアクセスす
るために必要とされるサイクル数を更に減少するため
に、パイプライン手段とバースト・モード・ロジツクと
の組み合わせを用いている。サイクル1において、プロ
セツサはアドレス/要求信号をキヤツシユ・インターリ
ーフに送る。次に、サイクル2において、アレイがアク
セスされ、そして、同じプロセツサか、または他のプロ
セツサによつてキヤツシユに他のアドレス/要求信号が
送られる。サイクル3において、第1の要求データがバ
ースト・モード・ロジツクの中に置かれ、第2の要求デ
ータがアクセスされる。次に、サイクル4において、L
ビツト幅の第1のデータ・ワード(第1の要求のデータ
・ワード)が第1の要求プロセツサに与えられ、他方、
第2の要求のデータ・ワードはバースト・モード・ロジ
ツクの中に置かれる。サイクル5において、第1の要求
のワードのLビツト幅の第2のデータ・ワードが第1の
要求プロセツサに与えられる。サイクル6において、第
2の要求のデータ・ワードのLビツト幅の第1のデータ
・ワードが要求プロセツサに与えられ、サイクル7にお
いて、Lビツト幅の第2のデータ・ワードが要求プロセ
ツサに与えられる。この処理は、アドレス/要求信号が
プロセツサによりキヤツシユに送られてから、キヤツシ
ユからデータが与えられるまでに要する時間が4サイク
ルであることがタイミング図(D)から理解できる。
【0045】以上、要約すると、タイミング図(A)
(パイプライン処理ではなく、かつバースト・モードで
もない処理)においては、この処理は、合計4Lビツト
幅のデータ・ワードのためのデータ要求を完了するため
には16サイクルを必要とする。然しながら、パイプラ
イン手段とバースト・モード・ロジツクとを使用するこ
とにより、タイミング図(D)に示したように、同じビ
ツト数のデータ(4Lビツト)は7マシン・サイクルで
アクセスすることができる。
【0046】本発明のパイプライン処理及びバースト・
モード処理技術を用いた4路のマルチプロセツサ・シス
テムが与えられた時、プロセツサ要求は、サイクル4で
始まる各マシン・サイクル毎にサービスされる。図6は
プロセツサに与えられた4Lビツト幅のデータを示して
いるのに反して、図5は2Lビツトの幅を持つデータを
示しているのは注意を払う必要がある。図6は、パイプ
ライン手段とバースト・モード・ロジツクを用いた場合
には、プロセツサは、2倍の量のデータをキヤツシユに
アクセスすることができる。
【0047】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0048】(1)複数個の処理装置を有するデータ処
理システムであつて、上記処理装置によつて用いられる
データをストアするキヤツシユと、上記キヤツシユと上
記処理装置の間でデータを転送するシステム・バスと、
上記システム・バスの容量よりも大量のデータを、上記
キヤツシユへ又は上記キヤツシユから、1の動作で転送
する転送手段とを有するデータ処理システム。 (2)上記キヤツシユにストアされ、かつ上記キヤツシ
ユから検索されるデータを保持するためのパイプライン
手段をさらに含む上記(1)に記載のデータ処理システ
ム。 (3)上記キヤツシユは、上記複数個の処理装置が上記
キヤツシユに同時にアクセスできるように、各々入力ポ
ート及び出力ポートを有する複数個のインターリーフを
含む上記(1)に記載のデータ処理システム。 (4)上記転送手段は、上記処理装置から上記キヤツシ
ユへデータを入力する入力手段と、上記キヤツシユから
上記処理装置へデータを出力する出力手段とを含む上記
(1)に記載のデータ処理システム。 (5)上記入力手段は、上記処理装置から上記キヤツシ
ユへ入力されるデータ・ワードを順番にストアする保持
手段と、上記順番にストアされたデータ・ワードに隣接
したデータ・ワードを組み合せる組み合せ手段と、上記
組み合せられたデータ・ワードを上記キヤツシユに与え
る手段とを有する上記(4)に記載のデータ処理システ
ム。 (6)上記出力手段は、上記組み合わされたデータ・ワ
ードを複数個のデータ・ワードに分離する分離手段と、
上記複数個のデータ・ワードを上記システム・バス上に
送り出す送出手段とを有する上記(5)に記載のデータ
処理システム。 (7)上記組み合わせ手段は、マルチプレクサを含み、
かつ上記保持手段は待ち行列バツフアを含む上記(6)
に記載のデータ処理システム。 (8)上記分離手段はマルチプレクサ及びラツチを含
み、かつ上記送出手段はレジスタ及びドライバを含む上
記(7)に記載のデータ処理システム。 (9)2以上の上記処理装置が上記キヤツシユの複数個
のインターリーフのうちの1つのインターリーフに対し
て同時にアクセスを要求した時、上記1つのインターリ
ーフに対して最も最近アクセスしていない処理装置に、
上記1つのキユツシユ・インターリーフへのアクセスの
優先権を与える仲裁手段を含む上記(8)に記載のデー
タ処理システム。 (10)上記処理装置のうちの複数の処理装置の間でデ
ータを直接に転送する手段を含む上記(4)に記載のデ
ータ処理システム。 (11)データを直接に転送する上記手段は、データが
上記キヤツシユをバイパスするように、上記入力手段か
ら上記出力手段に上記データを直接に与える手段を含む
上記(10)に記載のデータ処理システム。 (12)複数個の処理装置を有するデータ処理システム
中にデータ・ストアする方法であつて、上記処理装置に
よつて用いられるデータをキヤツシユ中にストアするス
トア・ステツプと、上記キヤツシユと上記処理装置の間
のシステム・バスにデータを与えるステツプと、上記シ
ステム・バスの容量よりも大量のデータを、上記キヤツ
シユへ又は上記キヤツシユから、1の動作で転送する転
送ステツプとを含むデータ・ストア方法。 (13)上記キヤツシユにストアされ、かつ上記キヤツ
シユから検索されるデータを保持するステツプを含む上
記(12)に記載のデータ・ストア方法。 (14)上記ストア・ステツプは、夫々が入力ポート及
び出力ポートを持つ複数個のインターリーフを介して、
上記複数個の処理装置によつて上記キヤツシユに同時に
アクセスするステツプを含む上記(13)に記載のデー
タ・ストア方法。 (15)上記転送ステツプは、上記処理装置から上記キ
ヤツシユへデータを入力ステツプと、上記キヤツシユか
ら上記処理装置へデータを出力ステツプとを含む上記
(12)に記載のデータ・ストア方法。 (16)上記入力ステツプは、上記処理装置から上記キ
ヤツシユへ入力されるデータ・ワードを順番にストアす
るステツプと、上記順番にストアされたデータ・ワード
に隣接したデータ・ワードを組み合せるステツプと、上
記組み合せられたデータ・ワードを上記キヤツシユに与
えるステツプとを含む上記(15)に記載のデータ・ス
トア方法。 (17)上記出力ステツプは、上記組み合わされたデー
タ・ワードを複数個のデータ・ワードに分離するステツ
プと、上記複数個のデータ・ワードを上記システム・バ
ス上に送り出すステツプとを含む上記(16)に記載の
データ・ストア方法。
【0049】
【発明の効果】本発明によれば、マルチプロセツサ・シ
ステムにおいて、プロセツサによるキヤツシユ・メモリ
のアクセス動作に最大の並列性を与え、各マシン・サイ
クル毎に1つのプロセツサ要求を処理し、システムの応
答時間を減少し、システムのスループツトを増加するよ
うな高性能の共有キヤツシユ・メモリが提供される。
【図面の簡単な説明】
【図1】本発明の共有キヤツシユとサポート用のメモリ
制御装置とを含むX個のデータ路を持つマルチプロセツ
サ・システムを示すブロツク図である。
【図2】本発明の共有キヤツシユ中に設けられたデータ
・ポート及びインターリーフのような主要素子を説明す
るための共有キヤツシユの高レベルの模式図である。
【図3】共通キヤツシユの回路素子と、キヤツシユに入
力されるデータ流及びキヤツシユから出力されるデータ
流とを示すブロツク図である。
【図4】複数の要求が同じインターリーフに同時に差し
向けられた時に、アドレス/要求信号を選択し、アレイ
へのアクセスを開始するための本発明によつて用いられ
る仲裁ロジツクの高レベルのブロツク図である。
【図5】本発明に従つてパイプライン手段を持つ第1の
キヤツシユと、パイプライン手段を持たない第2のキヤ
ツシユとの間のタイミングの著しい相異を比較するため
の論理的なタイミング図である。
【図6】バースト・モード・ロジツクを持つがパイプラ
イン手段を持たないキヤツシユと、バースト・モード・
ロジツクとパイプライン手段との両方を持つたキヤツシ
ユとの間のタイミングの相異を示す他の論理的なタイミ
ング図である。
【図7】本発明のシステム中の個々のインターリーフへ
のアクセス処理を示す高レベルのブロツク図である。
【符号の説明】
3、3X プロセツサ 4、4X、6、6X、9、11 制御信号ライン 5、5X、7、8 データ信号ライン 10 メモリ制御装置(MCU) 100 n路のインターリーブされた共有キヤツシユ 101、102、103、104、101、102 イ
ンターリーフ 110 入力ロジツク 123 データ受け取り装置 124 ラツチ 127 待ち行列バツフア 128 ストア・スイツチ 129、129n データ選択スイツチ 150 出力ロジツク 200、200n バースト・モード・ロジツク 201、201n バースト・モード・マルチプレクサ 203、203n 保持用ラツチ 205 ロード・スイツチ 207、207n 境界選択レジスタ 209、209n ドライバ 300 仲裁ロジツク 301 仲裁状態の表示ロジツク 303 アドレス/要求信号のマルチプレクサ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ドワイン・アラン・ヒックス アメリカ合衆国 テキサス州、セダー・パ ーク、デイフラワー・トレイス 1810 (72)発明者 ジョージ・マックネイル・ラティモア アメリカ合衆国 テキサス州、オースチ ン、ウェスターカーク・ドライブ 9108 (72)発明者 キミング・ケー・ソー アメリカ合衆国 テキサス州、オースチ ン、ロックレブン・ループ 9021 (72)発明者 ハナア・ユーセフ アメリカ合衆国 テキサス州、オースチ ン、グレート・ヒルズ・トレイル、ナンバ ー・フォーハンドレッドトゥエンティーセ ブン 90009

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】複数個の処理装置を有するデータ処理シス
    テムであつて、 上記処理装置によつて用いられるデータをストアするキ
    ヤツシユと、 上記キヤツシユと上記処理装置の間でデータを転送する
    システム・バスと、 上記システム・バスの容量よりも大量のデータを、上記
    キヤツシユへ又は上記キヤツシユから、1の動作で転送
    する転送手段とを有するデータ処理システム。
  2. 【請求項2】上記キヤツシユにストアされ、かつ上記キ
    ヤツシユから検索されるデータを保持するためのパイプ
    ライン手段をさらに含む請求項1記載のデータ処理シス
    テム。
  3. 【請求項3】上記キヤツシユは、上記複数個の処理装置
    が上記キヤツシユに同時にアクセスできるように、各々
    入力ポート及び出力ポートを有する複数個のインターリ
    ーフを含む請求項1記載のデータ処理システム。
  4. 【請求項4】上記転送手段は、 上記処理装置から上記キヤツシユへデータを入力する入
    力手段と、 上記キヤツシユから上記処理装置へデータを出力する出
    力手段とを含む請求項1記載のデータ処理システム。
  5. 【請求項5】上記入力手段は、 上記処理装置から上記キヤツシユへ入力されるデータ・
    ワードを順番にストアする保持手段と、 上記順番にストアされたデータ・ワードに隣接したデー
    タ・ワードを組み合せる組み合せ手段と、 上記組み合せられたデータ・ワードを上記キヤツシユに
    与える手段とを有する請求項4記載のデータ処理システ
    ム。
  6. 【請求項6】上記出力手段は、 上記組み合わされたデータ・ワードを複数個のデータ・
    ワードに分離する分離手段と、 上記複数個のデータ・ワードを上記システム・バス上に
    送り出す送出手段とを有する請求項5記載のデータ処理
    システム。
  7. 【請求項7】上記組み合わせ手段はマルチプレクサを含
    み、かつ上記保持手段は待ち行列バツフアを含む請求項
    6記載のデータ処理システム。
  8. 【請求項8】上記分離手段はマルチプレクサ及びラツチ
    を含み、かつ上記送出手段はレジスタ及びドライバを含
    む請求項7記載のデータ処理システム。
  9. 【請求項9】2以上の上記処理装置が上記キヤツシユの
    複数個のインターリーフのうちの1つのインターリーフ
    に対して同時にアクセスを要求した時、上記1つのイン
    ターリーフに対して最も最近アクセスしていない処理装
    置に、上記1つのキユツシユ・インターリーフへのアク
    セスの優先権を与える仲裁手段を含む請求項8記載のデ
    ータ処理システム。
  10. 【請求項10】上記処理装置のうちの複数の処理装置の
    間でデータを直接に転送する手段を含む請求項4記載の
    データ処理システム。
  11. 【請求項11】データを直接に転送する上記手段は、デ
    ータが上記キヤツシユをバイパスするように、上記入力
    手段から上記出力手段に上記データを直接に与える手段
    を含む請求項10記載のデータ処理システム。
  12. 【請求項12】複数個の処理装置を有するデータ処理シ
    ステム中にデータをストアするデータ・ストア方法であ
    つて、 上記処理装置によつて用いられるデータをキヤツシユ中
    にストアするストア・ステツプと、 上記キヤツシユと上記処理装置の間のシステム・バスに
    データを与えるステツプと、 上記システム・バスの容量よりも大量のデータを、上記
    キヤツシユへ又は上記キヤツシユから、1の動作で転送
    する転送ステツプとを含むデータ・ストア方法。
  13. 【請求項13】上記キヤツシユにストアされ、かつ上記
    キヤツシユから検索されるデータを保持するステツプを
    含む請求項12記載のデータ・ストア方法。
  14. 【請求項14】上記ストア・ステツプは、夫々が入力ポ
    ート及び出力ポートを持つ複数個のインターリーフを介
    して、上記複数個の処理装置によつて上記キヤツシユに
    同時にアクセスするステツプを含む請求項13記載のデ
    ータ・ストア方法。
  15. 【請求項15】上記転送ステツプは、 上記処理装置から上記キヤツシユへデータを入力ステツ
    プと、 上記キヤツシユから上記処理装置へデータを出力ステツ
    プと を含む請求項12記載のデータ・ストア方法。
  16. 【請求項16】上記入力ステツプは、 上記処理装置から上記キヤツシユへ入力されるデータ・
    ワードを順番にストアするステツプと、 上記順番にストアされたデータ・ワードに隣接したデー
    タ・ワードを組み合せるステツプと、 上記組み合せられたデータ・ワードを上記キヤツシユに
    与えるステツプとを含む請求項15記載のデータ・スト
    ア方法。
  17. 【請求項17】上記出力ステツプは、 上記組み合わされたデータ・ワードを複数個のデータ・
    ワードに分離するステツプと、 上記複数個のデータ・ワードを上記システム・バス上に
    送り出すステツプとを含む請求項16記載のデータ・ス
    トア方法。
JP14043494A 1993-08-02 1994-06-22 多重プロセッサ・システム Expired - Fee Related JP3360700B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US101144 1993-08-02
US08/101,144 US5581734A (en) 1993-08-02 1993-08-02 Multiprocessor system with shared cache and data input/output circuitry for transferring data amount greater than system bus capacity

Publications (2)

Publication Number Publication Date
JPH0756813A true JPH0756813A (ja) 1995-03-03
JP3360700B2 JP3360700B2 (ja) 2002-12-24

Family

ID=22283231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14043494A Expired - Fee Related JP3360700B2 (ja) 1993-08-02 1994-06-22 多重プロセッサ・システム

Country Status (3)

Country Link
US (1) US5581734A (ja)
EP (1) EP0637799A3 (ja)
JP (1) JP3360700B2 (ja)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983327A (en) * 1995-12-01 1999-11-09 Nortel Networks Corporation Data path architecture and arbitration scheme for providing access to a shared system resource
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
US5838631A (en) 1996-04-19 1998-11-17 Integrated Device Technology, Inc. Fully synchronous pipelined ram
US5905999A (en) * 1996-04-29 1999-05-18 International Business Machines Corporation Cache sub-array arbitration
US5752260A (en) * 1996-04-29 1998-05-12 International Business Machines Corporation High-speed, multiple-port, interleaved cache with arbitration of multiple access addresses
US5960453A (en) * 1996-06-13 1999-09-28 Micron Technology, Inc. Word selection logic to implement an 80 or 96-bit cache SRAM
US5860107A (en) * 1996-10-07 1999-01-12 International Business Machines Corporation Processor and method for store gathering through merged store operations
JPH10214225A (ja) * 1996-10-31 1998-08-11 Texas Instr Inc <Ti> キャッシュ読み出し時間を短縮したマイクロプロセッサ回路、システムおよび方法
KR100240572B1 (ko) * 1996-12-05 2000-01-15 윤종용 프로그램 메모리를 공유하는 멀티 프로세서 시스템
US5924117A (en) * 1996-12-16 1999-07-13 International Business Machines Corporation Multi-ported and interleaved cache memory supporting multiple simultaneous accesses thereto
DE19654595A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
US5966547A (en) * 1997-01-10 1999-10-12 Lsi Logic Corporation System for fast posting to shared queues in multi-processor environments utilizing interrupt state checking
US5922057A (en) * 1997-01-10 1999-07-13 Lsi Logic Corporation Method for multiprocessor system of controlling a dynamically expandable shared queue in which ownership of a queue entry by a processor is indicated by a semaphore
US6341301B1 (en) 1997-01-10 2002-01-22 Lsi Logic Corporation Exclusive multiple queue handling using a common processing algorithm
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
US6182201B1 (en) * 1997-04-14 2001-01-30 International Business Machines Corporation Demand-based issuance of cache operations to a system bus
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
US6115320A (en) 1998-02-23 2000-09-05 Integrated Device Technology, Inc. Separate byte control on fully synchronous pipelined SRAM
DE19809640A1 (de) * 1998-03-06 1999-09-09 Pact Inf Tech Gmbh Geschwindigkeitsoptimiertes Cachesystem
US6154769A (en) * 1998-03-27 2000-11-28 Hewlett-Packard Company Scheduling server requests to decrease response time and increase server throughput
US6101589A (en) * 1998-04-01 2000-08-08 International Business Machines Corporation High performance shared cache
US6233655B1 (en) * 1998-04-30 2001-05-15 International Business Machines Corporation Method for Quad-word Storing into 2-way interleaved L1 cache
US6249851B1 (en) * 1998-08-25 2001-06-19 Stmicroelectronics, Inc. Computer system having non-blocking cache and pipelined bus interface unit
US6173367B1 (en) * 1999-05-19 2001-01-09 Ati Technologies, Inc. Method and apparatus for accessing graphics cache memory
US8230411B1 (en) * 1999-06-10 2012-07-24 Martin Vorbach Method for interleaving a program over a plurality of cells
US7069406B2 (en) 1999-07-02 2006-06-27 Integrated Device Technology, Inc. Double data rate synchronous SRAM with 100% bus utilization
US6886063B1 (en) * 1999-11-10 2005-04-26 Digi International, Inc. Systems, devices, structures, and methods to share resources among entities
US6810432B1 (en) * 2000-04-03 2004-10-26 Hewlett-Packard Development Company, L.P. Method for guaranteeing a device minimun bandwidth on a usb bus
JP2004506261A (ja) 2000-06-13 2004-02-26 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト パイプラインctプロトコルおよびct通信
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US6892266B2 (en) * 2000-11-15 2005-05-10 Texas Instruments Incorporated Multicore DSP device having coupled subsystem memory buses for global DMA access
US6988167B2 (en) * 2001-02-08 2006-01-17 Analog Devices, Inc. Cache system with DMA capabilities and method for operating same
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US7434191B2 (en) 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
US6687791B2 (en) * 2002-01-07 2004-02-03 Sun Microsystems, Inc. Shared cache for data integrity operations
US6931576B2 (en) * 2002-01-07 2005-08-16 Sun Microsystems, Inc. Data integrity device providing heightened error protection in a data processing system
WO2003060747A2 (de) 2002-01-19 2003-07-24 Pact Xpp Technologies Ag Reconfigurierbarer prozessor
EP2043000B1 (de) 2002-02-18 2011-12-21 Richter, Thomas Bussysteme und Rekonfigurationsverfahren
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US7328314B2 (en) * 2002-06-19 2008-02-05 Alcatel-Lucent Canada Inc. Multiprocessor computing device having shared program memory
AU2003286131A1 (en) 2002-08-07 2004-03-19 Pact Xpp Technologies Ag Method and device for processing data
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
WO2005010632A2 (en) * 2003-06-17 2005-02-03 Pact Xpp Technologies Ag Data processing device and method
WO2004038599A1 (de) 2002-09-06 2004-05-06 Pact Xpp Technologies Ag Rekonfigurierbare sequenzerstruktur
US20040199727A1 (en) * 2003-04-02 2004-10-07 Narad Charles E. Cache allocation
JP4700611B2 (ja) 2003-08-28 2011-06-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データ処理装置およびデータ処理方法
US7240168B2 (en) * 2004-03-10 2007-07-03 Intel Corporation Method and system to order memory operations
DE102004055013A1 (de) * 2004-11-15 2006-05-24 Infineon Technologies Ag Computereinrichtung
US20060195662A1 (en) * 2005-02-28 2006-08-31 Honeywell International, Inc. Method for deterministic cache partitioning
US8219761B2 (en) * 2005-11-17 2012-07-10 Freescale Semiconductor, Inc. Multi-port high-level cache unit and a method for retrieving information from a multi-port high-level cache unit
WO2007082730A1 (de) 2006-01-18 2007-07-26 Pact Xpp Technologies Ag Hardwaredefinitionsverfahren
WO2009062496A1 (de) * 2007-11-17 2009-05-22 Pact Xpp Technologies Ag Rekonfiguri erbare fliesskomma- und bit- ebenen datenverarbeitungseinheit
US8332590B1 (en) 2008-06-25 2012-12-11 Marvell Israel (M.I.S.L.) Ltd. Multi-stage command processing pipeline and method for shared cache access
JP5482145B2 (ja) * 2009-11-25 2014-04-23 富士通株式会社 演算処理装置および演算処理装置の制御方法
US20110197031A1 (en) * 2010-02-05 2011-08-11 Nokia Corporation Update Handler For Multi-Channel Cache
US9720834B2 (en) 2015-12-11 2017-08-01 Oracle International Corporation Power saving for reverse directory
US9971691B2 (en) * 2016-09-12 2018-05-15 Intel Corporation Selevtive application of interleave based on type of data to be stored in memory
US10805421B2 (en) 2018-04-03 2020-10-13 Citrix Systems, Inc. Data caching for cloud services
US10802973B1 (en) 2019-07-01 2020-10-13 Bank Of America Corporation Data access tool

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5466727A (en) * 1977-11-07 1979-05-29 Fujitsu Ltd Access control system for buffer memory
JPS58109952A (ja) * 1981-12-23 1983-06-30 Fujitsu Ltd 記憶アクセス処理装置
JPH01315849A (ja) * 1988-06-16 1989-12-20 Nec Corp 情報処理装置
JPH02207351A (ja) * 1989-02-03 1990-08-17 Digital Equip Corp <Dec> データ路の巾が予め定められたコンピュータシステムのデータ記憶レートを増加する方法及び装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4056845A (en) * 1975-04-25 1977-11-01 Data General Corporation Memory access technique
JPS5454536A (en) * 1977-10-08 1979-04-28 Fujitsu Ltd Data processor
US4195342A (en) * 1977-12-22 1980-03-25 Honeywell Information Systems Inc. Multi-configurable cache store system
US4317168A (en) * 1979-11-23 1982-02-23 International Business Machines Corporation Cache organization enabling concurrent line castout and line fetch transfers with main storage
US4371929A (en) * 1980-05-05 1983-02-01 Ibm Corporation Multiprocessor system with high density memory set architecture including partitionable cache store interface to shared disk drive memory
US4445174A (en) * 1981-03-31 1984-04-24 International Business Machines Corporation Multiprocessing system including a shared cache
US4442487A (en) * 1981-12-31 1984-04-10 International Business Machines Corporation Three level memory hierarchy using write and share flags
US4527238A (en) * 1983-02-28 1985-07-02 Honeywell Information Systems Inc. Cache with independent addressable data and directory arrays
US4736293A (en) * 1984-04-11 1988-04-05 American Telephone And Telegraph Company, At&T Bell Laboratories Interleaved set-associative memory
US4695943A (en) * 1984-09-27 1987-09-22 Honeywell Information Systems Inc. Multiprocessor shared pipeline cache memory with split cycle and concurrent utilization
US4941088A (en) * 1985-02-05 1990-07-10 Digital Equipment Corporation Split bus multiprocessing system with data transfer between main memory and caches using interleaving of sub-operations on sub-busses
US4783736A (en) * 1985-07-22 1988-11-08 Alliant Computer Systems Corporation Digital computer with multisection cache
US4953073A (en) * 1986-02-06 1990-08-28 Mips Computer Systems, Inc. Cup chip having tag comparator and address translation unit on chip and connected to off-chip cache and main memories
JP2561261B2 (ja) * 1987-02-18 1996-12-04 株式会社日立製作所 バッファ記憶アクセス方法
US4959777A (en) * 1987-07-27 1990-09-25 Motorola Computer X Write-shared cache circuit for multiprocessor system
US5185878A (en) * 1988-01-20 1993-02-09 Advanced Micro Device, Inc. Programmable cache memory as well as system incorporating same and method of operating programmable cache memory
US4905141A (en) * 1988-10-25 1990-02-27 International Business Machines Corporation Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification
US5386537A (en) * 1991-03-28 1995-01-31 Minolta Camera Kabushiki Kaisha System with reduced instruction set processor accessing plural memories at different speeds using bank interleaving
AU3330793A (en) * 1991-12-23 1993-07-28 Intel Corporation Interleaved cache for multiple accesses per clock in a microprocessor
US5398325A (en) * 1992-05-07 1995-03-14 Sun Microsystems, Inc. Methods and apparatus for improving cache consistency using a single copy of a cache tag memory in multiple processor computer systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5466727A (en) * 1977-11-07 1979-05-29 Fujitsu Ltd Access control system for buffer memory
JPS58109952A (ja) * 1981-12-23 1983-06-30 Fujitsu Ltd 記憶アクセス処理装置
JPH01315849A (ja) * 1988-06-16 1989-12-20 Nec Corp 情報処理装置
JPH02207351A (ja) * 1989-02-03 1990-08-17 Digital Equip Corp <Dec> データ路の巾が予め定められたコンピュータシステムのデータ記憶レートを増加する方法及び装置

Also Published As

Publication number Publication date
US5581734A (en) 1996-12-03
EP0637799A3 (en) 1997-04-02
EP0637799A2 (en) 1995-02-08
JP3360700B2 (ja) 2002-12-24

Similar Documents

Publication Publication Date Title
JPH0756813A (ja) データ処理システム及びデータ・ストア方法
US6393531B1 (en) Queue based data control mechanism for queue based memory controller
US5822772A (en) Memory controller and method of memory access sequence recordering that eliminates page miss and row miss penalties
EP1725936B1 (en) Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system
JP2509766B2 (ja) キャッシュメモリ交換プロトコル
US5598551A (en) Cache invalidation sequence system utilizing odd and even invalidation queues with shorter invalidation cycles
EP1069509B1 (en) Improvements in or relating to microprocessors
JPH0756815A (ja) キャッシュ動作方法及びキャッシュ
JPH0642225B2 (ja) Dma機能を有する計算機システム
CN1961302B (zh) 具有命令前瞻的存储器控制器
US6101589A (en) High performance shared cache
US7284102B2 (en) System and method of re-ordering store operations within a processor
US5924120A (en) Method and apparatus for maximizing utilization of an internal processor bus in the context of external transactions running at speeds fractionally greater than internal transaction times
US5283880A (en) Method of fast buffer copying by utilizing a cache memory to accept a page of source buffer contents and then supplying these contents to a target buffer without causing unnecessary wait states
US6334159B1 (en) Method and apparatus for scheduling requests within a data processing system
US5333291A (en) Stride enhancer for high speed memory accesses with line fetching mode and normal mode employing boundary crossing determination
EP0803818A2 (en) Single-cycle multi-accessible interleaved cache
EP0437160B1 (en) Main storage memory cards having single bit set and reset functions
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
US6360305B1 (en) Method and apparatus for optimizing memory performance with opportunistic pre-charging
JP4173858B2 (ja) 命令キャッシュ、及びメモリ競合を低減する方法
JP2716350B2 (ja) 電子データ記憶システム
US6904474B1 (en) Using write request queue to prevent bottlenecking on slow ports in transfer controller with hub and ports architecture
JP2005508549A (ja) アンキャッシュ素子のための帯域幅の向上
EP0304587B1 (en) Interruptible cache loading

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees