JPH07319767A - コンピュータ・システム - Google Patents

コンピュータ・システム

Info

Publication number
JPH07319767A
JPH07319767A JP7111435A JP11143595A JPH07319767A JP H07319767 A JPH07319767 A JP H07319767A JP 7111435 A JP7111435 A JP 7111435A JP 11143595 A JP11143595 A JP 11143595A JP H07319767 A JPH07319767 A JP H07319767A
Authority
JP
Japan
Prior art keywords
information
cache
memory
data
external cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7111435A
Other languages
English (en)
Inventor
David James Shippy
デーヴィッド・ジェームズ・シッピー
David Benjamin Shuler
デーヴィッド・ベンジャミン・シューラー
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 JPH07319767A publication Critical patent/JPH07319767A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0884Parallel mode, e.g. in parallel with main memory or CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels

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)

Abstract

(57)【要約】 【目的】 L2キャッシュとメイン・メモリの両方で同
時にデータ検索が開始されるメモリ・システムを提供す
る。 【構成】 本システムでは、プロセッサが求めるデータ
がL2キャッシュ内に存在しない(ミスヒット)場合
に、アービトレーション、メモリDRAMアドレス変換
などに付随するメモリ待ち時間を最小にすることができ
る。本発明では、メモリ信号が活動化される前に記憶制
御装置内で発生するメモリ・アクセスへの割込みを考慮
している。L2およびメモリのアクセス制御は、記憶制
御装置(SCU)という単一構成要素に統合されてい
る。L2とメイン・メモリはどちらもCPUに通じる固
有ポートを有し、それにより、データを直接転送するこ
とができる。このため、キャッシュまたはメモリ制御装
置などの中間装置にデータを格納する場合に付随するオ
ーバヘッドが解消される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般的には、プロセッ
サがレベル2(L2)キャッシュとメイン・メモリに対
する並列アクセスを開始する、データ処理システムに関
する。より具体的には、並列アクセスが開始され、命令
またはデータがL2キャッシュで検出されると、メモリ
がアクセスされる前にメモリ・アクセスが打ち切られ
る。さらに、2つの固有データ・ポートがプロセッサに
設けられている、プロセッサ・ロード操作用の新規の非
階層メモリ構造を開示する。
【0002】
【従来の技術】最新の多くのコンピュータ・アーキテク
チャでは、データおよび命令に高速アクセスするために
階層構造の記憶素子を使用している。通常、レベル1
(L1)キャッシュが中央演算処理装置(CPU)に統
合され、CPUと同期動作可能な小型(8〜256キロ
バイト)の高速アクセス記憶装置を提供している。レベ
ル2キャッシュは、これより記憶容量が大きい大型のキ
ャッシュを提供するもので、L1キャッシュとレベル3
(L3)メイン・メモリ(CPUの外部にある)との間
に位置する。通常、L2キャッシュは、CPUクロック
と同じ速度で動作し、スタティック・ランダム・アクセ
ス・メモリ(SRAM)で構成されている。一方、メイ
ン・メモリは、より低速のダイナミック・ランダム・ア
クセス・メモリ(DRAM)が使用されていることと、
アドレス変換、アービトレーションなどの機能のため、
CPUのクロック速度より数サイクル遅い。
【0003】従来の3レベル・メモリ階層システムは、
L2キャッシュ用のキャッシュ制御装置と、メイン・メ
モリ用の個別の記憶制御装置とを有する。CPUが必要
とするデータまたは命令がキャッシュ内に存在しない
と、キャッシュのミスヒットが発生する。通常、L1キ
ャッシュのミスヒットはL2キャッシュ制御装置に送ら
れ、次にこの制御装置がL2キャッシュを検査してヒッ
ト(所望のデータまたは命令がL2キャッシュ内に存在
すること)の有無を確認する。L2のミスヒットが発生
すると、メイン・メモリからデータを取り出すための要
求が記憶制御装置に送られる。これらの事象は連続発生
するが、CPUのアイドル時間がかなり長くなる原因に
なる場合もある。つまり、データ要求がL2キャッシュ
に届くまでに時間がかかり、ミスヒットが発生した場合
は、さらにメイン・メモリを検査してデータの有無を確
認するために時間がかかるため、時間的に不利である。
【0004】CPUのアイドル時間を最小限に抑えるた
め、米国特許第4663440号では、低レベル・メモ
リがメモリ・チップ(複数も可)へのデュアル・ポート
・アクセスを含む、階層メモリ・システムを示してい
る。この場合、低レベル・メモリの1つのポートと逐次
対話する、高レベル・メモリも含まれている。このた
め、高レベル・メモリから低レベル・メモリへの順次ア
クセスと、コンピュータ・システムから低レベル・メモ
リへのアクセスとを並行して行うことができる。しか
し、このシステムでは、データのミスヒットが発生した
場合の各種レベルのメモリの同時アクセスが開示されて
いない。ヨーロッパ特許出願第0 468 786 A
2号は、個別のキャッシュ制御装置とメモリ制御装置を
備えたメモリ・システムについて説明している。この場
合、キャッシュとメイン・メモリ内のデータに対する探
索は、マイクロプロセッサが同時に開始する。データが
キャッシュ内で検出されない場合は、キャッシュ探索待
ち時間というペナルティなしでデータをメイン・メモリ
から取り出すことができる。しかし、データがキャッシ
ュで検出された場合は、メモリからデータを取り出す必
要がなく、メモリ制御装置へのアクセスが取り消され
る。この場合、メモリ制御装置は、「ヒット」ラインを
アサートするか、「ミスヒット」ラインをアサート解除
することで、前に開始したメイン・メモリ内での探索を
終了する。データがキャッシュで検出されているため、
メモリ制御装置による上記のアクションのいずれでも、
メイン・メモリ・アクセス・サイクルを終了するための
要求がやりとりされるはずである。したがって、この既
存システムでは、バスのアービトレーションを行い、メ
モリ・アドレスを変換し、メモリ・サイクルを使用する
メモリ位置を探索することで、メイン・メモリへのアク
セスを開始する、すなわち、上記のアクティビティが行
われている間、メモリを使用することができないことに
留意されたい。このため、マイクロプロセッサがキャッ
シュとメモリを同時に探索するたびにメモリ・アクセス
が行われるので、データがキャッシュで検出されても、
周辺制御装置などからの直接メモリ・アクセス転送(D
MA)のような他のプロセス中にメモリが使用できなく
なる。その結果、データがキャッシュで検出されても、
メモリ拘束という問題が発生する。
【0005】米国特許第3896419号には、L1キ
ャッシュおよびメモリを備えた典型的なプロセッサが示
されている。このシステムは、メモリ検索操作の処理中
にキャッシュを検査してデータの有無を確認する。デー
タがキャッシュで検出されると、メモリからの検索が阻
止される。しかし、データがキャッシュで検出された場
合は、メモリからデータを取り出すためのポート・サイ
クルを取り消す必要がある。このため、データがキャッ
シュで検出されると、メモリ操作が影響を受ける。
【0006】IBMテクニカル・ディスクロージャ・ブ
ルテンvol.26、No.10B(1984年3月、
5488〜5490ページ)の5489ページには、L
2ヒットによってキャッシュ内に存在するデータが示さ
れ、所要のデータがL1キャッシュと出力レジスタに出
力される、従来の階層メモリ・システムが論じられてい
る。
【0007】典型的な先行技術の階層メモリ・システム
を図1に示すが、この場合、CPU100はL1キャッ
シュ102を含み、データ・バス104を介して独立型
L2キャッシュ制御装置106に接続されている。L2
キャッシュ制御装置はL2キャッシュ108にアドレス
および制御情報を出力し、L2キャッシュからバス10
7によってデータを受け取る。データ・バス110は、
L2キャッシュ制御装置106とメモリ制御装置112
とを相互接続し、このメモリ制御装置112はメモリ1
14にアドレスおよび制御情報を出力する。メモリ・ア
ドレスおよび制御情報と、メモリ114から受け取った
データは、バス113によってメモリ制御装置112に
転送される。同図のメモリ・システム・アーキテクチャ
を見ると、L2キャッシュ・ヒットの場合、L2キャッ
シュ108からL2キャッシュ制御装置106へ、さら
にCPU100へと、チップを2回横断してデータを出
力する必要があることが分かる。このため、この従来の
システムでは、L2キャッシュからキャッシュ制御装置
106を通ってデータ・バス104へとデータを移動さ
せるのに追加のクロック・サイクルが必要になる。同様
に、キャッシュのミスヒットが発生し、メモリ114か
らデータを取り出す必要がある場合は、メモリ制御装置
112を介してデータ・バス110にデータを移動さ
せ、さらにCPU100が使用できるようにするため
に、データ・バス104に乗せる前にL2キャッシュ制
御装置を介してデータを移動させる(すなわち、チップ
を3回横断する)必要がある。
【0008】
【発明が解決しようとする課題】したがって、L2キャ
ッシュとメイン・メモリへのアクセスが同時に開始され
るが、L2キャッシュでデータが検出されたときにメイ
ン・メモリへのアクセスが行われないようなメモリ・シ
ステムの必要性がどの程度であるかは、当業者には理解
できるだろう。しかも、キャッシュ制御装置を介してL
1キャッシュにデータを渡すのではなく、L2キャッシ
ュが処理装置に直接データを出力できるように固有ポー
トが設けられたメモリ・システムであれば、システムの
速度と効率が改善されることも分かるだろう。さらに、
メモリ制御装置とキャッシュ制御装置を経由せずにCP
U内のL1キャッシュにメイン・メモリを直接接続でき
るようにする固有ポートを設けると、やはりシステムの
効率が改善されるだろう。
【0009】
【課題を解決するための手段】先行技術とは対照的に、
本発明は、L2キャッシュとメイン・メモリの両方でデ
ータ検索を同時に開始する非階層メモリ・システムを提
供する。このため、プロセッサが求めるデータがL2内
に存在しない(ミスヒット)場合に、アービトレーショ
ン、メモリDRAMアドレス変換などに付随するメモリ
待ち時間を最小にすることができる。本発明では、メモ
リ制御信号を活動化する前に記憶制御装置内で発生する
メモリ・アクセスへの割込みを考慮している。したがっ
て、L2とメモリへのアクセスを同時に開始することが
できるが、L2キャッシュでデータが検出された(ヒッ
ト)場合は、パフォーマンス上の影響が発生する前に記
憶制御装置がメモリ・アクセスを打ち切ることができ
る。このため、メモリ側は、アクセスが進行中だったこ
とすら知らずに、DMA転送などの他の作業を続行する
ことができる。他のメモリ操作が一切行われなくても、
DRAMアクセスがまったく開始されていないので、大
幅なパフォーマンスの節約が実現される。DRAMでは
バック・ツー・バック・アクセスの間にプリチャージ時
間が必要であることは、当業者には理解されるだろう。
したがって、DRAMの予備充電時間のために、間違っ
た(L2ヒット)メモリ操作に続いて行われるメモリ操
作を遅らせる必要がなくなる。
【0010】また、本発明は、L2キャッシュがデータ
または命令をCPUに直接出力する、固有の非階層メモ
リ構造を提供する。従来の3レベル・メモリ・システム
では、プロセッサが必要とするデータ/命令がL2から
L1キャッシュに渡され、次にL1キャッシュがそのデ
ータ/命令をCPUに出力している。つまり、先行技術
のシステムでは、メイン・メモリからのデータをCPU
に出力する場合、L2キャッシュを経由する必要があ
る。言い換えると、データをプロセッサに直接出力でき
るようにするための固有ポートがCPUに設けられてい
ないのである。しかし、本発明のシステムでは、情報を
要求した処理装置に対して、L2キャッシュからデータ
または命令が直接渡される。同時に、処理装置があとで
使用できるように、その命令/データがL1キャッシュ
に置かれる。このため、L1キャッシュを迂回すること
で、相当なサイクル数が節約できる。
【0011】大まかに言えば、本発明では、L2および
メモリへのアクセス制御が記憶制御装置(SCU)など
の単一構成要素に統合されている。このため、L2キャ
ッシュ制御装置はきわめて短時間の間にL2ヒットの発
生をメモリ制御装置に連絡することができ、それによ
り、メイン・メモリそのものに影響する前に、メモリ制
御装置がメモリ・アクセス操作を打ち切ることができ
る。つまり、メモリ信号を活動化する前に、メモリ・ア
クセスが打ち切られるのである。このため、前述の通
り、間違ったDRAM予備充電時間による後続のメモリ
操作の遅れがなくなる。
【0012】さらに、L2キャッシュからのデータ/命
令(「情報」)をL1キャッシュに格納し、その後、プ
ロセッサがL1から情報を取り出す場合に付随するサイ
クル数の増加を伴わずに、情報を要求したプロセッサに
その情報を直接出力できるように、本発明のL2キャッ
シュは、L1および各種の処理装置と並列に接続されて
いる。第一の固有ポートは、メイン・メモリからCPU
内のL1キャッシュまで設けられている。第二の固有ポ
ートは、CPU内の固定小数点ユニットと浮動小数点ユ
ニットとの間で情報を転送するためのレジスタと、L2
キャッシュとの間の直接アクセスを可能にする。レベル
2(L2)キャッシュ・ヒットの場合、さらにチップを
横断することはないので、従来より少ないサイクル数で
CPUにデータが返される。たとえば、図1の先行技術
のシステムでは、CPU100に出力する前に、L2キ
ャッシュ108からのデータをL2キャッシュ制御装置
106に格納しなければならないことに留意されたい。
L2キャッシュ108からデータを取り出し、それを制
御装置106に格納し、さらにバス104によってデー
タをCPU100に出力するには、相当な処理時間が必
要である。本発明では、L2キャッシュのミスヒットが
発生した場合、先行技術の階層メモリ・システムに比
べ、サイクル数が節約できる。この場合、データはメイ
ン・メモリから取り出さなければならない。また、図1
の従来のシステムでは、メモリ114からのデータをメ
モリ制御装置112に渡し、L2制御装置106に渡
し、さらにCPU100に渡さなければならないことに
留意されたい。これに対して、本発明では、L2キャッ
シュのミスヒットが発生したときに、メイン・メモリか
らCPUにデータを直接出力できるようにする固有ポー
トが設けられている。
【0013】上記およびその他の目的、特徴、および利
点は、添付図面とともに以下の説明を考慮すれば、当業
者には明らかになるだろう。
【0014】
【実施例】図2を参照すると、同図には本発明の全体構
造を示すブロック図が示されているが、参照番号1は、
IBM製のRISCシステム/6000ワークステーシ
ョン(RISCシステム/6000はIBMの商標であ
る)に使用されているような、マルチチップ・モジュー
ル・スーパスカラ・プロセッサ・チップ・セット(CP
U)を表している。命令キャッシュ・ユニット3は、分
岐処理装置4(図4)とレベル1命令キャッシュ11と
を含む。分岐命令ユニット(BIU)と分岐処理装置
(BPU)は、入力命令を処理し、その命令を浮動小数
点ユニット(FPU)5と固定小数点ユニット(FX
U)7にディスパッチする。BPUは、システム内の分
岐、割込み、および条件コードのすべての機能を提供す
る。当業者には、FPU5が浮動小数点命令を実行する
のに対し、FXU7は固定小数点算術演算を実行するこ
とが理解できるだろう。
【0015】記憶制御装置(SCU)9は、CPUと、
レベル2キャッシュ15およびメイン・メモリ17との
間のアクセスを制御する。SCU9は、L2キャッシュ
内のデータまたは命令(本明細書で使用する「情報」
は、データと命令の両方を意味する)のアドレスを、所
望の情報のアドレスと比較して、L2キャッシュのヒッ
トまたはミスヒットが発生したかどうかを判定する場合
に使用する、レベル2キャッシュ・ディレクトリ10を
含んでいる。図2から、SCU9がL2キャッシュ15
またはメイン・メモリ17のどちらからもデータを受け
取らないことが分かるだろう。SCU9は、L2および
メモリにアドレスおよび制御情報を出力するだけであ
る。(1)L2キャッシュ15からDCU13およびB
PU3へ、(2)メモリ17からDCU13へと固有ポ
ートが設けられているため、中間的にSCU9にデータ
を格納する場合に付随するオーバヘッドが発生せずに、
CPUにデータを直接出力することができる。
【0016】レベル1データ・キャッシュ・ユニット
(DCU)13は、FPU5およびFXU7に接続され
ており、FPUまたはFXUがもう一度要求する可能性
のある最新アクセス・データを格納する。DCU13
は、データを格納するだけのデータ・キャッシュ(Dキ
ャッシュ)14とともに、レジスタ、ラッチなど(図示
せず)を含んでいる。本発明を実現する好ましい実施例
のアーキテクチャでは、L1キャッシュがデータ記憶構
成要素14と命令構成要素(Iキャッシュ)11とに分
離されていることに留意されたい。このため、L1キャ
ッシュ・システムに格納されたデータおよび命令は、そ
のデータおよび命令を使用するそれぞれの処理装置に物
理的により接近する。つまり、Iキャッシュ11は、I
キャッシュ11に格納された命令をBPU4との間で容
易かつ迅速にやりとりできるように、BPU3(ICU
3に含まれている)に物理的にきわめて接近している。
同様に、Dキャッシュ14は、FPU5およびFXU7
の近くに位置するため、これらのユニットはDキャッシ
ュ14に格納されたデータに容易にアクセスできる。L
2キャッシュ15は、ともに記憶制御装置9と再ロード
・バス2に接続された複数のスタティック・ランダム・
アクセス・メモリ(SRAM)である。L2キャッシュ
15に格納された情報に関する要求はSCU9から受け
取られるが、L2で検出されると、再ロード・バス2に
よってその情報が要求側の処理装置とL1キャッシュに
出力される。
【0017】第三のレベルのメモリは、SCU9とDC
U13に接続された1組のダイナミック・ランダム・ア
クセス・メモリ(DRAM)であるメイン・メモリ17
である。メイン・メモリ17は、そこから情報を取り出
すのに必要なクロック・サイクル数が最も多いため、本
発明のシステム内では最も低速のメモリ素子である。こ
のメイン・メモリ17は、メモリからの情報をFPU5
とFXU7に直接出力できるようになっているDCU1
3に直接接続されている。その情報は、DCU13内の
レジスタなどで受け取られ、実行ユニットに出力され
る。当然のことながら、メイン・メモリ17からの情報
をDキャッシュ14に出力することもできる。メイン・
メモリ17から命令を受け取る場合は、その命令情報が
DCU13から再ロード・バス2に出力され、さらにI
CU3に出力される。このため、データおよび命令情報
をメイン・メモリ17から処理装置1に直接出力するこ
とができる。
【0018】図2には、データまたは命令に関する要求
をSCU9に伝送するPBUS6も示されている。DC
U13(および各種処理装置)と入出力制御チップ(X
IO)21および23との間は、システム入出力バス
(SIO)によって相互接続されている。このXIOチ
ップ21および23は、マイクロチャネル(MCA)バ
ス(マイクロチャネルはIBMの商標である)などの外
部バスと、各種処理装置の相互接続に使用する内部CP
Uバスとの間のデータ転送を調整するものである。読取
り専用記憶装置(ROS)チップ19は、やはりSIO
バス12に接続された状態で示されているが、これは、
パワー・オン自己検査(POST)など、CPUのブー
トに使用する基本ルーチンおよびコードの一部を提供す
るものである。
【0019】図2および図4から、ICU3は情報に関
する要求をPBUS6を介してSCU9に送るだけでな
く、実行のためにFPU5およびFXU7に対する命令
転送も行うことに留意されたい。FPU5とFXU7
は、L1キャッシュ14と処理装置との間で情報を転送
するための2本のクワッド・ワード・バスによってDC
U13に接続されている。また、FXU7は、固定小数
点ユニットがL1キャッシュ14から情報を要求できる
ように、PBUS6にも接続されている。L2キャッシ
ュ15は、バス16(このキャッシュとSCU9とを相
互接続するもの)からアドレスおよび制御情報を受け取
るが、同時に、再ロード・バス2によってL1キャッシ
ュ13内のレジスタ51(図4を参照)を介してFPU
5およびFXU7に直接接続されている。さらに、再ロ
ード・バス2は、図4に示すように、レジスタ50を介
してICU3内のBPU4にL2キャッシュ15を接続
している。メイン・メモリ17は、そのメモリとSCU
9とを相互接続するバス18からアドレスおよび制御情
報を受け取るが、同時に、バス20によってDCU13
に直接接続されている。図2には、L2キャッシュ15
とメイン・メモリ17のそれぞれに処理装置およびL1
キャッシュに通じる固有ポートが1つずつ備わっている
という、本発明の構成の新規な特徴の1つも示されてい
る。このため、メイン・メモリ17からの情報は、L1
キャッシュに転送する前にL2キャッシュ15を通過す
る必要がない。しかも、L2キャッシュは、再ロード・
バス2と、ICU3およびL1キャッシュ13内のレジ
スタ(図4を参照)を介して処理装置に直接接続されて
いる。このため、L2キャッシュ15からの情報は、余
分にチップを横断しなくて済むので、従来のシステムよ
り速く要求側の実行ユニットに移動することができる。
したがって、本発明は、L2キャッシュが処理装置に直
接接続され、それにより、L1キャッシュ13を迂回す
るような非階層メモリ・システムであることに留意され
たい。また、メイン・メモリ17はL1キャッシュ13
に直接接続され、それによりL2キャッシュ15を迂回
している。図1の先行技術のシステムと比較すると、要
求された情報をCPUに出力するのにチップの横断が1
回だけで済むように、メイン・メモリはメモリ制御装置
とキャッシュ制御装置も迂回する。
【0020】さらに、本発明の固有ポートにより、バス
へのロードが最小限になるように、メモリ・バス20と
再ロード・バス2を分離することができる。このため、
制御装置などとは対照的に、これらのバスからCPUに
情報を直接入力することができる。したがって、バス2
および20は、CPUに接続された単一バスにメモリ・
システム全体(たとえば、L2キャッシュとメイン・メ
モリ)が直接拘束されるような従来のシステムに比べ、
はるかに速い速度で動作することができる。
【0021】図4は、本発明の非階層態様をより詳細に
示している。より具体的には、ICU3は、レジスタ5
0とともに、L1Iキャッシュ11およびBPU4を備
えたものとして示されている。このIキャッシュ11
は、このキャッシュからBPU4に命令が出力されるよ
うに、分岐プロセッサ4に相互接続されていることに留
意されたい。レジスタ50は、再ロード・バス2に直接
接続され、それにより、さらにL2キャッシュ15に接
続されている。BIUが浮動小数点ユニットと固定小数
点ユニットに命令をディスパッチできるように、命令お
よび分岐プロセッサ3はFPU5とFXU7にも接続さ
れている。FPU5とFXU7が命令の実行のために必
要とするデータをすばやく入手できるようにするため、
Dキャッシュ14を含むL1キャッシュ13が、これら
の処理装置に相互接続された状態で示されている。DC
U13は、再ロード・バス2とL2キャッシュ15に相
互接続されたレジスタ51も含んでいる。本発明の好ま
しい実施例では、L1キャッシュが命令およびデータ用
としてそれぞれIキャッシュ11とDキャッシュ14に
区分されていることに留意されたい。これらの個別の区
画は、そこに格納されている情報を必要とする可能性が
最も高い処理装置に物理的に近い位置に置かれる。つま
り、BPU4は命令を必要とするため、Iキャッシュ1
1がBPU4の近くに置かれるのである。同様に、FP
U5とFXU7はデータを必要とするため、Dキャッシ
ュ14がこれらの処理装置の近くに位置する。
【0022】前述の通り、従来の階層メモリ・システム
では、最終的に情報が要求側の処理装置に届くまで、各
レベルのメモリから次のレベルのメモリへと情報を順次
伝達する。しかし、本発明では、レベル2キャッシュで
検出された情報を要求側のプロセッサに直接出力するこ
とができる。たとえば、そこに格納されている命令につ
いてL2キャッシュのヒットが発生すると、その命令
が、再ロード・バス2を介してL2キャッシュ15から
レジスタ50に直接出力される。この命令は、次のサイ
クル中にBPU4とIキャッシュ11の両方に同時に移
動する。したがって、L2キャッシュに格納されている
命令についてキャッシュ・ヒットが発生すると、L1キ
ャッシュが完全に迂回されることに留意されたい。ま
た、データ情報についてL2キャッシュのヒットが発生
した場合は、その情報は、L1Dキャッシュ14に事前
格納されずに、レジスタ51に出力されたあとで、FP
U5またはFXU7のいずれかによってアクセスされる
はずである。当然のことながら、命令とデータ情報はそ
れぞれIキャッシュ11とDキャッシュ14に同時に格
納されるので、次にその情報が必要になったときにその
情報をよりすばやく取り出すことができる。つまり、L
1キャッシュの方が実行ユニットに近いので、L2キャ
ッシュよりL1キャッシュから情報を取り出す方が速度
が速くなる。
【0023】さらに、本発明の非階層性はメイン・メモ
リ17にも及んでいる。従来、L1およびL2キャッシ
ュのミスヒットが発生し、情報がメイン・メモリ内にあ
ると判断されると、その情報は、メモリ制御装置、L2
キャッシュ制御装置へと順に渡され、最終的にL1キャ
ッシュに渡されて、要求側の処理装置が取り出せる状態
になる。これに対して、本発明では、バス20を介して
メイン・メモリ17とCPU内のL1キャッシュ13と
を接続する固有ポートが設けられている。このようなメ
イン・メモリ17とCPUとの直接接続は、メモリ制御
装置とL2キャッシュ制御装置をともにSCU9内に配
置し、SCU9だけがアドレス信号および制御信号を出
すようにすることで実現される。前述の通り、従来のシ
ステムでは、要求されたデータを受け取るキャッシュ制
御装置とメモリ制御装置が別々に設けられているため、
余分にチップを横断しないとデータをCPUに出力する
ことができない。このように余分にチップを横断する
と、アドレス信号と制御信号の生成だけでなく、要求さ
れたデータを中間的に格納することによって、マシン・
サイクルの点で大量のオーバヘッドが必要になる。
【0024】より具体的には、図4から、メイン・メモ
リ17がDCU13内のレジスタ51に直接接続されて
いることが分かるだろう。このため、データ情報と命令
情報をメイン・メモリ17からレジスタ51に直接出力
することができる。その結果、データ情報は、実行ユニ
ット5および7によってレジスタ51からアクセスされ
ることになる。しかし、命令情報は、レジスタ50に転
送するために再ロード・バス2に置かれる。その後、命
令情報はBPU4によってレジスタ50からアクセスさ
れる。また、実行ユニットがあとで使用できるように、
命令情報とデータ情報はレジスタ50および51からI
キャッシュ11およびDキャッシュ14にもそれぞれ出
力される。
【0025】FPU5またはFXU7のいずれかが要求
したデータは、再ロード・バス2を介してL2キャッシ
ュ15から直接出力することもできる。つまり、データ
が要求され、L2キャッシュ15でヒットが発生する
と、そのデータはレジスタ51に置かれてから、次のサ
イクル中に要求側の処理装置(FPU5またはFXU
7)とL1Dキャッシュ14に移動する。レジスタ51
は物理的にはL1キャッシュ・チップ13内に位置する
が、そこにL2キャッシュ15からのデータを格納する
場合、L1の待ち時間は発生しない。つまり、アドレス
変換などは一切行われない。このため、L2キャッシュ
15とメイン・メモリ17からのデータはL1キャッシ
ュ13を迂回することになる。好ましい実施例では、レ
ジスタ51用のスペースがなかったため、便宜上、レジ
スタ51がL1キャッシュ13と同じチップ上に置かれ
ていた。追加レジスタを含むようにFPU5またはFX
U7の設計変更を行うことは、実用的ではなかったよう
だ。同様に、レジスタだけを含む個別のチップを設ける
ことも好ましくない。要求された命令およびデータはも
う一度必要になる可能性があるので、このような命令と
データをL1Iキャッシュ11とL1Dキャッシュ14
のそれぞれに移動させると、時間の節約になることは当
業者には理解できるだろう。
【0026】図3は、SCU9を構成する各種構成要素
のブロック図である。同図には、ICU3からSCU9
に情報に関する要求を伝送するPBUS6が示されてい
る。この情報要求がL2要求待ち行列53とメモリ要求
待ち行列52の両方に置かれることに留意されたい。そ
の結果、SCU9がメイン・メモリ17とL2キャッシ
ュ15の両方の制御装置を含むため、PBUS6からの
情報要求は並列処理することができる。情報に関する要
求が待ち行列53に存在すると、その要求はL2キャッ
シュ・ディレクトリ10と比較器57の両方に入力され
る。要求された情報はL2キャッシュ15内の位置と比
較される。つまり、ディレクトリ10は比較器57にア
ドレス・タグを出力し、次に比較器57は、キャッシュ
内の情報がICU3によって要求された情報かどうかを
判定する。要求された情報ではないと、キャッシュのミ
スヒットが発生し、メモリ操作を完了することができ
る。つまり、所望の情報を求めてメイン・メモリの探索
が行われる。L2キャッシュ内の情報が待ち行列53か
らの所望の情報と一致すると比較器57が判断すると、
キャッシュのヒットが発生し、ヒット信号がL2キャッ
シュ制御装置55に送られ、次にこの制御装置55がメ
モリ制御装置59にメモリ操作停止信号を送る。
【0027】メモリ要求待ち行列51からの情報要求
は、L2要求待ち行列53からL2キャッシュ・ディレ
クトリ10に要求が送られると同時に、メモリ制御装置
59とメモリDRAMアドレス変換器61の両方に送ら
れる。このため、要求されたデータを求めてL2キャッ
シュの探索を開始すると同時に、メモリ・アクセス操作
を開始することができる。これにより、メイン・メモリ
17から情報を取り出す場合に付随する待ち時間が最小
限になるという利点が得られる。
【0028】メモリ制御装置59とL2キャッシュ制御
装置55がともに同じ集積回路(IC)素子上に置かれ
ていることに留意されたい。このため、1つのサイクル
でL2キャッシュ制御装置55からメモリ制御装置59
にメモリ操作停止信号を直接出力することができる。当
業者には、単一IC上の各種構成要素間で信号を転送す
る場合に発生するサイクル時間を大幅に節約できること
が分かるだろう。通常、チップ境界を越えて伝送する
と、大量のオーバヘッドが付随して発生する。たとえ
ば、両方のチップがバスの所有権についてアービトレー
ションを行い、それから転送プロトコルを実施しなけれ
ばならない。このため、チップ境界を解消すれば、大量
のクロック・サイクルを節約でき、それにより、パフォ
ーマンスが向上する。つまり、L2キャッシュのヒット
が発生すると、メモリ・アクセス操作が完了し、制御信
号がバス18上でメイン・メモリ17に出力される前
に、メモリ制御装置59がメモリ操作停止信号を受け取
るのである。したがって、L2キャッシュ・ヒットが発
生した場合、メモリ操作信号は一切活動化されないた
め、次のメモリ操作が遅延しなくなる。たとえば、バス
21または23に接続されたMCAアダプタはDMA転
送中にメイン・メモリ17へのデータ書込みを続行する
ことができ、メモリの所有権に関するアービトレーショ
ンが行われないため、割込みは一切発生しない。しか
も、DRAMの混乱は一切発生しない。つまり、DRA
Mの予備充電による後続のメモリ操作の遅れがなくなる
のである。
【0029】要約すると、L2キャッシュとメモリのア
クセスを同時に開始することにより、メモリ・アクセス
に付随する待ち時間が最小限になるだけでなく、キャッ
シュ・ヒットが発生したときにメモリが処理を続行でき
るため、メモリの使用可能時間が最大になる。情報が要
求されていることをメイン・メモリが意識するのは、キ
ャッシュのミスヒットが発生したと比較器57が判定し
た場合だけである。
【0030】図5は、図1に示すような従来のシステム
でL2キャッシュのミスヒットが発生した場合に使用す
るサイクルを示すタイミング図である。サイクル1で
は、再ロード要求がデータ・バス104に置かれ、サイ
クル2で、L2キャッシュのミスヒットが発生したかど
うかを従来のキャッシュ制御装置106が判定する。続
いてサイクル4で、メモリ制御装置要求信号がアクティ
ブになり(チップの横断が発生したため、キャッシュ制
御装置106からメモリ制御装置112にL2キャッシ
ュ・ミスヒット信号を送るためにサイクル3と4が必要
になった)、サイクル5では、メモリ制御装置112で
メモリ・アービトレーションとDRAMアドレス変換が
行われる。サイクル6と7では、行/列アドレスが生成
され、サイクル6と7のそれぞれで行アドレス・ストロ
ーブ(RAS)信号と列アドレス・ストローブ(CA
S)信号が活動化される。これらの信号がアクティブに
なると、行アドレスと列アドレスの情報がバス上に置か
れる。サイクル12で、メモリからの情報が(メモリ・
データ・バス113上で)メモリ制御装置112に出力
され、サイクル14で、その情報がデータ・バス110
(図1および図5のデータ・バス2)上に置かれる。こ
こでもう一度チップの横断が検出されないと、取り出し
たデータをサイクル16でデータ・バス104(図1お
よび図5のデータ・バス1)上に置き、それをCPU1
00内のL1キャッシュ102に移動することができな
い。チップ間でデータを移動するために時間的ペナルテ
ィとしてクロック・サイクル2つ分が使用されるが、他
の従来のシステムでは、チップを横断するたびにサイク
ル3つ分以上を要する場合もあることに留意されたい。
したがって、L2キャッシュのミスヒットが発生したと
きにメイン・メモリから情報を受け取るには、従来の階
層メモリ・システムでは少なくとも16サイクル必要で
あることが分かるだろう。
【0031】図6を参照して説明すると、同図には、キ
ャッシュのミスヒットが発生した場合の本発明のL2キ
ャッシュ15とメイン・メモリ17との間の制御シーケ
ンスを示す別のタイミング図が示されている。サイクル
1では、有効PBUS信号が示すように、処理装置の1
つが再ロード要求をPBUS6上に乗せ、サイクル2
で、SCU9が要求されたアドレスをロードし、L2キ
ャッシュ・ディレクトリ探索を行う。ここで、ディレク
トリ・タグと、PBUS6上で送られた読取りアドレス
からのビットとの比較が行われ、要求がヒットかミスヒ
ットかが判定される。これと並列して、サイクル2で、
メモリ・アービトレーションとメモリDRAM行/列ア
ドレス生成が行われる。この場合、図6に示すように、
キャッシュのミスヒットが発生し、STOP_MEMO
RY信号が活動化されていないものと想定されている。
このため、サイクル3および4でメモリ行/列アドレス
が生成されるが、行アドレス・ストローブ信号はサイク
ル3で活動化され、列アドレス・ストローブ信号はサイ
クル4で活動化される。その結果、サイクル4では、行
アドレスと列アドレスがバス(図2のバス18)上に置
かれる。その後、これらの信号はSCU9によって出力
され、サイクル9で、メイン・メモリ17がメモリ・デ
ータ・バス20への情報転送を開始する。この時点でデ
ータはDCU13に出力される。メモリへの要求がデー
タに関するものであれば、本発明では、メモリからデー
タを取り出してDCU13内のDキャッシュ14がその
データを利用できるようにするのに、9サイクルしか必
要としない。しかし、要求が命令に関するものであれ
ば、その命令は、サイクル11で再ロード・バス上に置
かれ、この時点でICU11が使用できるようになる。
いずれにしても、その情報(データと命令を含む)がL
2キャッシュに出力されるように、情報はサイクル11
で再ロード・バス2上に置かれる。このため、次にこの
情報が要求されたときに、この情報はL2キャッシュで
検出されるので、L2キャッシュのミスヒットではな
く、キャッシュ・ヒットが発生する。サイクル11で
は、L2書込みイネーブル信号とチップ・イネーブル信
号が活動化され、今後のキャッシュ・ミスヒットを防止
するため、メモリ・データ・バス20によるメイン・メ
モリ17からL1キャッシュ13への書込みと並行し
て、L2キャッシュ15へも同時に情報を書き込むこと
ができる。
【0032】したがって、従来のシステムでは16サイ
クルであったのに対し、本発明のシステムでは、(デー
タの場合)わずか9サイクルで情報をDCU13に入れ
ることができ、(命令の場合)わずか11サイクルで情
報を再ロード・バス2に乗せることができることに留意
されたい。このような短縮は、情報をCPUに直接出力
するためにメモリに固有ポートを設けた本発明の新規な
態様によるものである。
【0033】図7は、L2キャッシュ・ヒットが発生し
た場合の従来の階層メモリ・システムのタイミングを示
すタイミング図である。サイクル1では、要求側の処理
装置がデータ・バス104に再ロード要求を乗せ、サイ
クル2で、L2キャッシュ制御装置106がディレクト
リ探索を行って、その情報がL2キャッシュ内にあるか
どうかを判定する。サイクル2では、取り出す情報がキ
ャッシュ内にあることを示すHIT信号が活動化され
る。サイクル4で、L2キャッシュ・チップ・イネーブ
ル信号が活動化され、L2アドレスがL2キャッシュ1
08に送られる。サイクル5では、取り出された情報が
L2キャッシュ108からキャッシュ制御装置106に
出力される。次にサイクル7で、このデータがデータ・
バス104からCPU100に出力される。この操作
は、データがバス104に置かれる前にL2キャッシュ
108からキャッシュ制御装置106に出力される場合
に必要な、余分なチップ横断によるものである。したが
って、従来の階層メモリ・システムでは、L2キャッシ
ュからの命令またはデータがデータ・バス104に置か
れるまでに少なくとも7サイクル経過してしまうことに
留意されたい。
【0034】図1に示す先行技術では、L2キャッシュ
内に情報が存在するため、アービトレーション、メモリ
DRAMのアドレス変換、行/列アドレス生成などのメ
モリ操作が均等に開始されないほどメモリ・アクセスの
速度が遅い。つまり、L2操作とメモリ操作は互いに独
立し、逐次行われるのである。しかし、これ以外の従来
のシステムでは、キャッシュ・ディレクトリの読取り
(サイクル2)と同時にメモリ・アクセスが開始される
場合もある。この場合、個々のキャッシュ制御装置が個
別のメモリ制御装置に信号を送らなければならないの
で、少なくとも3サイクルがメモリ操作に追加されるは
ずである。これに対して、本発明では、キャッシュ制御
装置とメモリ制御装置を組み合わせ、L2キャッシュと
メイン・メモリを直接制御する単一記憶制御装置(SC
U9)に統合している。このため、SCU9からメイン
・メモリ17に信号を送る前に、メモリ操作を打ち切る
ことができる。したがって、メイン・メモリ17は通常
の操作を続行することができる。
【0035】図8は、L2キャッシュとCPUとの間に
設けられた本発明の固有ポートによって、従来のシステ
ムより速い速度でデータと命令がCPUに出力される様
子を示すタイミング図である。また、図8は、L2キャ
ッシュ・ヒットが発生した場合に、SCU9からメイン
・メモリ17に信号が出力される前にメモリ・アクセス
を停止する様子も示している。
【0036】サイクル1では、PBUS有効信号がアク
ティブになることで示されているように、FXU7また
はBPU4などの処理装置の1つが、プロセッサ・バス
PBUS6に再ロード要求を乗せる。次にPBUS6は
SCU9に信号を伝達する。サイクル2で、SCU9は
要求された情報のアドレスをロードし、L2キャッシュ
・ディレクトリ10を読み取ってL2キャッシュ・ディ
レクトリ探索を行う。ここで、ディレクトリ10からの
ディレクトリ・タグと、PBUS6上で送られた実アド
レスからのビットとの比較が行われ(図3の比較器57
を使用する)、キャッシュのヒットまたはミスヒットが
発生しているかどうかが判定される。これと並行して、
サイクル2ではSCU9内のメモリ・アクセス操作が開
始される。このサイクル2では、メモリ・アービトレー
ションとメモリDRAM行/列アドレス生成も行われ
る。この場合、L2キャッシュ・ヒットが発生している
ので、メモリ操作の開始を防止するため、STOP_M
EMORY信号が活動化される。STOP_MEMOR
Y信号は、SCU9によるメモリ行/列アドレスの生成
を阻止するものである。また、メモリRASとメモリC
ASはメイン・メモリに送られない(図6を参照)。
【0037】サイクル4では、L2チップ・イネーブル
信号を活動化し、SCU9からキャッシュ15にL2ア
ドレスを送ることで、SCU9がL2キャッシュ読取り
アクセスを開始する。サイクル5以降のサイクルで、L
2キャッシュ15からの情報が再ロード・バス2に置か
れ、要求側の処理装置に送られる(図2を参照)。図7
と図8との比較によって分かるように、従来の階層メモ
リでは、L2キャッシュから情報を取り出すのに7サイ
クルを要するのに対し、本発明では、わずか5サイクル
で済み、その結果、大量の処理時間が節約される。この
ような節約は、固有L2ポートによって、中間的なキャ
ッシュ制御装置チップなどを経由せず、キャッシュから
CPUにデータを直接転送できるためである。
【0038】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0039】(1)処置装置と、外部キャッシュと、メ
モリとを含むコンピュータ・システムにおいて、前記処
理装置が要求する情報が前記外部キャッシュまたは前記
メモリに格納されているかどうかを判定する判定手段
と、前記外部キャッシュまたは前記メモリのいずれか一
方から前記処理装置に前記情報を直接出力する出力手段
とを含む、コンピュータ・システム。 (2)前記出力手段が、前記外部キャッシュまたは前記
メモリのいずれか一方から、前記処理装置に含まれる少
なくとも1つの実行ユニットに、前記情報を転送する転
送手段を含むことを特徴とする、上記(1)に記載のシ
ステム。 (3)前記転送手段が、前記外部キャッシュから前記情
報を受け取る第一の受取り手段と、前記メモリから前記
情報を受け取る第二の受取り手段とを含むことを特徴と
する、上記(2)に記載のシステム。 (4)前記第一の受取り手段が、前記外部キャッシュか
ら前記処理装置に前記情報を直接伝送するキャッシュ・
バスと、外部キャッシュからの前記情報を前記処理装置
に格納する格納手段と、前記少なくとも1つの実行ユニ
ットによって外部キャッシュからの前記情報にアクセス
するアクセス手段とを含むことを特徴とする、上記
(3)に記載のシステム。 (5)前記第二の受取り手段が、前記メモリから前記処
理装置に前記情報を直接伝送するメモリ・バスと、メモ
リからの前記情報を前記処理装置に格納する格納手段
と、前記少なくとも1つの実行ユニットによってメモリ
からの前記情報にアクセスするアクセス手段とを含むこ
とを特徴とする、上記(4)に記載のシステム。 (6)前記情報が、データ情報と命令情報とを含むこと
を特徴とする、上記(5)に記載のシステム。 (7)前記第一および第二の受取り手段が、前記処理シ
ステム内部にあるデータ・キャッシュ・ユニットに前記
データ情報を格納する格納手段と、前記処理システム内
部にある命令キャッシュ・ユニットに前記命令情報を格
納する格納手段とをさらに含むことを特徴とする、上記
(6)に記載のシステム。 (8)前記第一および第二の受取り手段が、前記データ
情報が前記少なくとも1つの実行ユニットに直接出力さ
れるときに、同時に前記内部データ・キャッシュに前記
データ情報を格納する格納手段と、前記命令情報が前記
少なくとも1つの実行ユニットに直接出力されるとき
に、同時に前記内部命令キャッシュに前記命令情報を格
納する格納手段とをさらに含むことを特徴とする、上記
(7)に記載のシステム。 (9)前記転送手段が、前記処理装置に含まれる内部キ
ャッシュを迂回する迂回手段を含むことを特徴とする、
上記(2)に記載のシステム。 (10)前記判定手段が、前記外部キャッシュと前記メ
モリから情報を取り出すための要求を同時に開始する開
始手段と、前記情報が前記外部キャッシュ内にあるかど
うかを判定する判定手段と、前記情報が前記外部キャッ
シュ内にある場合に、前記処理装置からメモリ・アクセ
ス操作が伝送される前に、前記メモリから情報を取り出
す前記要求を打ち切る打切り手段とを含むことを特徴と
する、上記(1)に記載のシステム。 (11)コンピュータ・システムの処理装置と、外部キ
ャッシュおよびメモリとの間で情報を転送する方法にお
いて、前記処理装置が要求する情報が前記外部キャッシ
ュまたは前記メモリに格納されているかどうかを判定す
るステップと、前記外部キャッシュまたは前記メモリの
いずれか一方から前記処理装置に前記要求情報を直接出
力するステップとを含む、方法。 (12)前記出力ステップが、前記外部キャッシュまた
は前記メモリのいずれか一方から、前記処理装置に含ま
れる少なくとも1つの実行ユニットに、前記情報を転送
するステップを含むことを特徴とする、上記(11)に
記載の方法。 (13)前記転送ステップが、前記外部キャッシュから
前記情報を受け取るステップと、前記メモリから前記情
報を受け取るステップとを含むことを特徴とする、上記
(12)に記載の方法。 (14)前記外部キャッシュから情報を受け取る前記ス
テップが、前記外部キャッシュから前記処理装置に前記
情報を直接伝送するステップと、外部キャッシュからの
前記情報を前記処理装置に格納するステップと、前記少
なくとも1つの実行ユニットによって外部キャッシュか
らの前記情報にアクセスするステップとを含むことを特
徴とする、上記(13)に記載の方法。 (15)前記メモリから情報を受け取る前記ステップ
が、前記メモリから前記処理装置に前記情報を直接伝送
するステップと、メモリからの前記情報を前記処理装置
に格納するステップと、前記少なくとも1つの実行ユニ
ットによってメモリからの前記情報にアクセスするステ
ップとを含むことを特徴とする、上記(14)に記載の
方法。 (16)前記情報が、データ情報と命令情報とを含むこ
とを特徴とする、上記(15)に記載の方法。 (17)前記外部キャッシュから情報を受け取る前記ス
テップと、前記メモリから情報を受け取る前記ステップ
とが、前記処理システム内部にあるデータ・キャッシュ
・ユニットに前記データ情報を格納するステップと、前
記処理システム内部にある命令キャッシュ・ユニットに
前記命令情報を格納するステップとをさらに含むことを
特徴とする、上記(16)に記載の方法。 (18)前記外部キャッシュから情報を受け取る前記ス
テップと、前記メモリから情報を受け取る前記ステップ
とが、前記データ情報が前記少なくとも1つの実行ユニ
ットに直接出力されるときに、同時に前記内部データ・
キャッシュに前記データ情報を格納するステップと、前
記命令情報が前記少なくとも1つの実行ユニットに直接
出力されるときに、同時に前記内部命令キャッシュに前
記命令情報を格納するステップとをさらに含むことを特
徴とする、上記(17)に記載の方法。 (19)前記転送ステップが、前記処理装置に含まれる
内部キャッシュを迂回するステップを含むことを特徴と
する、上記(12)に記載の方法。 (20)前記判定ステップが、前記外部キャッシュと前
記メモリから情報を取り出すための要求を同時に開始す
るステップと、前記情報が前記外部キャッシュ内にある
かどうかを判定するステップと、前記情報が前記外部キ
ャッシュ内にある場合に、前記処理装置からメモリ・ア
クセス操作が伝送される前に、前記メモリから情報を取
り出すための前記要求を打ち切るステップとを含むこと
を特徴とする、上記(11)に記載の方法。
【0040】
【発明の効果】上述のように、本発明によってL2キャ
ッシュとメイン・メモリの両方で同時にデータ検索が開
始されるメモリ・システムが提供されることとなった。
【図面の簡単な説明】
【図1】先行技術の階層メモリ・システムにおける各種
装置の相互接続を示す図である。
【図2】L1、L2、およびメイン・メモリが示されて
いる、本発明を取り入れたプロセッサ・システムのブロ
ック図である。
【図3】L2とメイン・メモリの並列アクセス機能を示
す、本発明のプロセッサの記憶制御装置(SCU)構成
要素のブロック図である。
【図4】本発明のL1およびL2キャッシュと、これら
のキャッシュと各種処理装置との間でデータを転送する
ためのバスとの相互接続を示すブロック図である。
【図5】従来のシステムでL2キャッシュのミスヒット
が発生した場合にメイン・メモリ内のデータまたは命令
にアクセスするのに必要なCPUサイクルを示すタイミ
ング図である。
【図6】本発明のシステムでL2キャッシュのミスヒッ
トが発生した場合にメイン・メモリ内のデータまたは命
令にアクセスするのに必要なCPUサイクルを示すタイ
ミング図である。
【図7】従来のシステムでキャッシュ・ヒットが発生し
た場合にメイン・メモリ内のデータまたは命令にアクセ
スするのに必要なCPUサイクルを示すタイミング図で
ある。
【図8】本発明のメモリ・システム内のL2キャッシュ
からデータまたは命令を取り出すのに必要なCPUサイ
クルを示すタイミング図である。
【符号の説明】
1 マルチチップ・モジュール・スーパスカラ・プロセ
ッサ・チップ・セット(CPU/MCM) 2 再ロード・バス 3 命令キャッシュ・ユニット(ICU) 5 浮動小数点ユニット(FPU) 6 PBUS 7 固定小数点ユニット(FXU) 9 記憶制御装置(SCU) 10 レベル2キャッシュ・ディレクトリ 11 命令構成要素(Iキャッシュ) 12 SIOバス 13 レベル1データ・キャッシュ・ユニット(DC
U) 14 データ・キャッシュ(Dキャッシュ) 15 レベル2キャッシュ 16 バス 17 メイン・メモリ 18 バス 19 読取り専用記憶装置(ROS)チップ 20 メモリ・バス 21 入出力制御チップ(XIO) 23 入出力制御チップ(XIO)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 デーヴィッド・ベンジャミン・シューラー アメリカ合衆国78759 テキサス州オース チン クイーンズベリー・コーヴ 10605

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】処置装置と、外部キャッシュと、メモリと
    を含むコンピュータ・システムにおいて、 前記処理装置が要求する情報が前記外部キャッシュまた
    は前記メモリに格納されているかどうかを判定する判定
    手段と、 前記外部キャッシュまたは前記メモリのいずれか一方か
    ら前記処理装置に前記情報を直接出力する出力手段とを
    含む、コンピュータ・システム。
  2. 【請求項2】前記出力手段が、前記外部キャッシュまた
    は前記メモリのいずれか一方から、前記処理装置に含ま
    れる少なくとも1つの実行ユニットに、前記情報を転送
    する転送手段を含むことを特徴とする、請求項1に記載
    のシステム。
  3. 【請求項3】前記転送手段が、 前記外部キャッシュから前記情報を受け取る第一の受取
    り手段と、 前記メモリから前記情報を受け取る第二の受取り手段と
    を含むことを特徴とする、請求項2に記載のシステム。
  4. 【請求項4】前記第一の受取り手段が、 前記外部キャッシュから前記処理装置に前記情報を直接
    伝送するキャッシュ・バスと、 外部キャッシュからの前記情報を前記処理装置に格納す
    る格納手段と、 前記少なくとも1つの実行ユニットによって外部キャッ
    シュからの前記情報にアクセスするアクセス手段とを含
    むことを特徴とする、請求項3に記載のシステム。
  5. 【請求項5】前記第二の受取り手段が、 前記メモリから前記処理装置に前記情報を直接伝送する
    メモリ・バスと、 メモリからの前記情報を前記処理装置に格納する格納手
    段と、 前記少なくとも1つの実行ユニットによってメモリから
    の前記情報にアクセスするアクセス手段とを含むことを
    特徴とする、請求項4に記載のシステム。
  6. 【請求項6】前記情報が、データ情報と命令情報とを含
    むことを特徴とする、請求項5に記載のシステム。
  7. 【請求項7】前記第一および第二の受取り手段が、 前記処理システム内部にあるデータ・キャッシュ・ユニ
    ットに前記データ情報を格納する格納手段と、 前記処理システム内部にある命令キャッシュ・ユニット
    に前記命令情報を格納する格納手段とをさらに含むこと
    を特徴とする、請求項6に記載のシステム。
  8. 【請求項8】前記第一および第二の受取り手段が、 前記データ情報が前記少なくとも1つの実行ユニットに
    直接出力されるときに、同時に前記内部データ・キャッ
    シュに前記データ情報を格納する格納手段と、 前記命令情報が前記少なくとも1つの実行ユニットに直
    接出力されるときに、同時に前記内部命令キャッシュに
    前記命令情報を格納する格納手段とをさらに含むことを
    特徴とする、請求項7に記載のシステム。
  9. 【請求項9】前記転送手段が、前記処理装置に含まれる
    内部キャッシュを迂回する迂回手段を含むことを特徴と
    する、請求項2に記載のシステム。
  10. 【請求項10】前記判定手段が、 前記外部キャッシュと前記メモリから情報を取り出すた
    めの要求を同時に開始する開始手段と、 前記情報が前記外部キャッシュ内にあるかどうかを判定
    する判定手段と、 前記情報が前記外部キャッシュ内にある場合に、前記処
    理装置からメモリ・アクセス操作が伝送される前に、前
    記メモリから情報を取り出す前記要求を打ち切る打切り
    手段とを含むことを特徴とする、請求項1に記載のシス
    テム。
  11. 【請求項11】コンピュータ・システムの処理装置と、
    外部キャッシュおよびメモリとの間で情報を転送する方
    法において、 前記処理装置が要求する情報が前記外部キャッシュまた
    は前記メモリに格納されているかどうかを判定するステ
    ップと、 前記外部キャッシュまたは前記メモリのいずれか一方か
    ら前記処理装置に前記要求情報を直接出力するステップ
    とを含む、方法。
  12. 【請求項12】前記出力ステップが、前記外部キャッシ
    ュまたは前記メモリのいずれか一方から、前記処理装置
    に含まれる少なくとも1つの実行ユニットに、前記情報
    を転送するステップを含むことを特徴とする、請求項1
    1に記載の方法。
  13. 【請求項13】前記転送ステップが、 前記外部キャッシュから前記情報を受け取るステップ
    と、 前記メモリから前記情報を受け取るステップとを含むこ
    とを特徴とする、請求項12に記載の方法。
  14. 【請求項14】前記外部キャッシュから情報を受け取る
    前記ステップが、 前記外部キャッシュから前記処理装置に前記情報を直接
    伝送するステップと、 外部キャッシュからの前記情報を前記処理装置に格納す
    るステップと、 前記少なくとも1つの実行ユニットによって外部キャッ
    シュからの前記情報にアクセスするステップとを含むこ
    とを特徴とする、請求項13に記載の方法。
  15. 【請求項15】前記メモリから情報を受け取る前記ステ
    ップが、 前記メモリから前記処理装置に前記情報を直接伝送する
    ステップと、 メモリからの前記情報を前記処理装置に格納するステッ
    プと、 前記少なくとも1つの実行ユニットによってメモリから
    の前記情報にアクセスするステップとを含むことを特徴
    とする、請求項14に記載の方法。
  16. 【請求項16】前記情報が、データ情報と命令情報とを
    含むことを特徴とする、請求項15に記載の方法。
  17. 【請求項17】前記外部キャッシュから情報を受け取る
    前記ステップと、前記メモリから情報を受け取る前記ス
    テップとが、 前記処理システム内部にあるデータ・キャッシュ・ユニ
    ットに前記データ情報を格納するステップと、 前記処理システム内部にある命令キャッシュ・ユニット
    に前記命令情報を格納するステップとをさらに含むこと
    を特徴とする、請求項16に記載の方法。
  18. 【請求項18】前記外部キャッシュから情報を受け取る
    前記ステップと、前記メモリから情報を受け取る前記ス
    テップとが、 前記データ情報が前記少なくとも1つの実行ユニットに
    直接出力されるときに、同時に前記内部データ・キャッ
    シュに前記データ情報を格納するステップと、 前記命令情報が前記少なくとも1つの実行ユニットに直
    接出力されるときに、同時に前記内部命令キャッシュに
    前記命令情報を格納するステップとをさらに含むことを
    特徴とする、請求項17に記載の方法。
  19. 【請求項19】前記転送ステップが、前記処理装置に含
    まれる内部キャッシュを迂回するステップを含むことを
    特徴とする、請求項12に記載の方法。
  20. 【請求項20】前記判定ステップが、 前記外部キャッシュと前記メモリから情報を取り出すた
    めの要求を同時に開始するステップと、 前記情報が前記外部キャッシュ内にあるかどうかを判定
    するステップと、 前記情報が前記外部キャッシュ内にある場合に、前記処
    理装置からメモリ・アクセス操作が伝送される前に、前
    記メモリから情報を取り出すための前記要求を打ち切る
    ステップとを含むことを特徴とする、請求項11に記載
    の方法。
JP7111435A 1994-05-19 1995-05-10 コンピュータ・システム Pending JPH07319767A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/245,786 US6226722B1 (en) 1994-05-19 1994-05-19 Integrated level two cache and controller with multiple ports, L1 bypass and concurrent accessing
US245786 1994-05-19

Publications (1)

Publication Number Publication Date
JPH07319767A true JPH07319767A (ja) 1995-12-08

Family

ID=22928068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7111435A Pending JPH07319767A (ja) 1994-05-19 1995-05-10 コンピュータ・システム

Country Status (11)

Country Link
US (1) US6226722B1 (ja)
EP (1) EP0760133A1 (ja)
JP (1) JPH07319767A (ja)
KR (1) KR950033837A (ja)
CN (1) CN1089462C (ja)
BR (1) BR9502022A (ja)
CA (1) CA2142799A1 (ja)
CZ (1) CZ9603197A3 (ja)
HU (1) HUT76241A (ja)
PL (1) PL176554B1 (ja)
WO (1) WO1995032472A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011527060A (ja) * 2008-07-07 2011-10-20 インターナショナル・ビジネス・マシーンズ・コーポレーション リージョン・キャッシュの援助によってデータ要求を効率的に処理する方法
US8473682B2 (en) 2010-08-12 2013-06-25 Kabushiki Kaisha Toshiba Cache unit and processing system

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000181796A (ja) * 1998-12-14 2000-06-30 Nec Corp 情報処理装置
US6578110B1 (en) 1999-01-21 2003-06-10 Sony Computer Entertainment, Inc. High-speed processor system and cache memories with processing capabilities
US6484237B1 (en) * 1999-07-15 2002-11-19 Texas Instruments Incorporated Unified multilevel memory system architecture which supports both cache and addressable SRAM
US6625707B2 (en) * 2001-06-25 2003-09-23 Intel Corporation Speculative memory command preparation for low latency
US7566478B2 (en) * 2001-07-25 2009-07-28 Nantero, Inc. Methods of making carbon nanotube films, layers, fabrics, ribbons, elements and articles
US6706402B2 (en) 2001-07-25 2004-03-16 Nantero, Inc. Nanotube films and articles
US6919592B2 (en) * 2001-07-25 2005-07-19 Nantero, Inc. Electromechanical memory array using nanotube ribbons and method for making same
US6574130B2 (en) * 2001-07-25 2003-06-03 Nantero, Inc. Hybrid circuit having nanotube electromechanical memory
US6835591B2 (en) * 2001-07-25 2004-12-28 Nantero, Inc. Methods of nanotube films and articles
US6643165B2 (en) 2001-07-25 2003-11-04 Nantero, Inc. Electromechanical memory having cell selection circuitry constructed with nanotube technology
US6789169B2 (en) * 2001-10-04 2004-09-07 Micron Technology, Inc. Embedded DRAM cache memory and method having reduced latency
US7176505B2 (en) * 2001-12-28 2007-02-13 Nantero, Inc. Electromechanical three-trace junction devices
US6784028B2 (en) * 2001-12-28 2004-08-31 Nantero, Inc. Methods of making electromechanical three-trace junction devices
KR100541366B1 (ko) * 2002-07-19 2006-01-16 주식회사 하이닉스반도체 고속 데이터 억세스를 위한 디램
US6892281B2 (en) * 2002-10-03 2005-05-10 Intel Corporation Apparatus, method, and system for reducing latency of memory devices
US7467377B2 (en) * 2002-10-22 2008-12-16 Intel Corporation Methods and apparatus for compiler managed first cache bypassing
US6941421B2 (en) * 2002-10-29 2005-09-06 International Business Machines Corporation Zero delay data cache effective address generation
US20040221117A1 (en) * 2003-05-02 2004-11-04 Shelor Charles F. Logic and method for reading data from cache
US20060248287A1 (en) * 2005-04-29 2006-11-02 Ibm Corporation Methods and arrangements for reducing latency and snooping cost in non-uniform cache memory architectures
US7562190B1 (en) 2005-06-17 2009-07-14 Sun Microsystems, Inc. Cache protocol enhancements in a proximity communication-based off-chip cache memory architecture
US7444473B1 (en) * 2005-06-17 2008-10-28 Sun Microsystems, Inc. Speculative memory accesses in a proximity communication-based off-chip cache memory architecture
US7496712B1 (en) 2005-06-17 2009-02-24 Sun Microsystems, Inc. Proximity communication-based off-chip cache memory architectures
US20070130114A1 (en) * 2005-06-20 2007-06-07 Xiao-Feng Li Methods and apparatus to optimize processing throughput of data structures in programs
US7596661B2 (en) * 2005-09-01 2009-09-29 Mediatek Inc. Processing modules with multilevel cache architecture
US10474584B2 (en) * 2012-04-30 2019-11-12 Hewlett Packard Enterprise Development Lp Storing cache metadata separately from integrated circuit containing cache controller
US9405687B2 (en) * 2013-11-04 2016-08-02 Intel Corporation Method, apparatus and system for handling cache misses in a processor
KR102161689B1 (ko) * 2013-12-10 2020-10-05 삼성전자 주식회사 L2 캐시 특성을 조절할 수 있는 멀티-코어 cpu 시스템, 이의 동작 방법, 및 이를 포함하는 장치들
CN105701040B (zh) * 2014-11-28 2018-12-07 杭州华为数字技术有限公司 一种激活内存的方法及装置
US9658963B2 (en) * 2014-12-23 2017-05-23 Intel Corporation Speculative reads in buffered memory
JP6367704B2 (ja) * 2014-12-25 2018-08-01 株式会社バイオス 記憶制御システム及び記憶制御装置
JP6478843B2 (ja) * 2015-07-07 2019-03-06 ルネサスエレクトロニクス株式会社 半導体装置及びキャッシュメモリ制御方法
US11055221B2 (en) * 2019-03-22 2021-07-06 Samsung Electronics Co., Ltd. Speculative DRAM read, in parallel with cache level search, leveraging interconnect directory
US11288067B2 (en) * 2019-05-24 2022-03-29 Texas Instruments Incorporated Vector reverse
US11422947B2 (en) * 2020-08-12 2022-08-23 International Business Machines Corporation Determining page size via page table cache

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3896419A (en) * 1974-01-17 1975-07-22 Honeywell Inf Systems Cache memory store in a processor of a data processing system
US4161024A (en) 1977-12-22 1979-07-10 Honeywell Information Systems Inc. Private cache-to-CPU interface in a bus oriented data processing system
US4823259A (en) * 1984-06-29 1989-04-18 International Business Machines Corporation High speed buffer store arrangement for quick wide transfer of data
US4797814A (en) * 1986-05-01 1989-01-10 International Business Machines Corporation Variable address mode cache
US5202972A (en) * 1988-12-29 1993-04-13 International Business Machines Corporation Store buffer apparatus in a multiprocessor system
US5155828A (en) * 1989-07-05 1992-10-13 Hewlett-Packard Company Computing system with a cache memory and an additional look-aside cache memory
US5214765A (en) * 1989-08-31 1993-05-25 Sun Microsystems, Inc. Method and apparatus for executing floating point instructions utilizing complimentary floating point pipeline and multi-level caches
US5261066A (en) * 1990-03-27 1993-11-09 Digital Equipment Corporation Data processing system and method with small fully-associative cache and prefetch buffers
US5210845A (en) * 1990-11-28 1993-05-11 Intel Corporation Controller for two-way set associative cache
US5345576A (en) * 1991-12-31 1994-09-06 Intel Corporation Microprocessor simultaneously issues an access to an external cache over an external cache bus and to an internal cache, cancels the external cache access on an internal cache hit, and reissues the access over a main memory bus on an external cache miss

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011527060A (ja) * 2008-07-07 2011-10-20 インターナショナル・ビジネス・マシーンズ・コーポレーション リージョン・キャッシュの援助によってデータ要求を効率的に処理する方法
US8473682B2 (en) 2010-08-12 2013-06-25 Kabushiki Kaisha Toshiba Cache unit and processing system

Also Published As

Publication number Publication date
WO1995032472A1 (en) 1995-11-30
BR9502022A (pt) 1996-01-30
CZ9603197A3 (cs) 2002-06-12
CN1123933A (zh) 1996-06-05
US6226722B1 (en) 2001-05-01
HU9603142D0 (en) 1997-01-28
PL316998A1 (en) 1997-03-03
HUT76241A (en) 1997-07-28
KR950033837A (ko) 1995-12-26
PL176554B1 (pl) 1999-06-30
CN1089462C (zh) 2002-08-21
CA2142799A1 (en) 1995-11-20
EP0760133A1 (en) 1997-03-05

Similar Documents

Publication Publication Date Title
US6226722B1 (en) Integrated level two cache and controller with multiple ports, L1 bypass and concurrent accessing
US6185660B1 (en) Pending access queue for providing data to a target register during an intermediate pipeline phase after a computer cache miss
US5848432A (en) Data processor with variable types of cache memories
US5265236A (en) Method and apparatus for increasing the speed of memory access in a virtual memory system having fast page mode
US5499355A (en) Prefetching into a cache to minimize main memory access time and cache size in a computer system
KR100264401B1 (ko) 마이크로프로세서내의 메모리 종류 정보 처리 방법 및 장치
US5388247A (en) History buffer control to reduce unnecessary allocations in a memory stream buffer
US6321296B1 (en) SDRAM L3 cache using speculative loads with command aborts to lower latency
US5202972A (en) Store buffer apparatus in a multiprocessor system
KR970008187B1 (ko) 명령 연속흐름을 갖는 프로세서 제어된 인터페이스
US5490113A (en) Memory stream buffer
JPH04230551A (ja) 階層集積回路キャッシュメモリ
JP2000003308A (ja) オ―バラップしたl1およびl2メモリ・アクセス方法および装置
EP0474450A2 (en) Processor system with improved memory transfer means
US6434665B1 (en) Cache memory store buffer
US6389527B1 (en) Microprocessor allowing simultaneous instruction execution and DMA transfer
KR960007833B1 (ko) 고속 페이지 모드 선택을 위한 방법 및 장치
JPH02184946A (ja) キヤツシユ・バイパス装置
JPS60225262A (ja) 2重キヤツシユメモリを有するパイプラインプロセツサ
JPH05120124A (ja) マイクロプロセツサ内蔵型のメモリ制御構造
US6282626B1 (en) No stall read access-method for hiding latency in processor memory accesses
JPH0516061B2 (ja)
EP0318702A2 (en) Data processor with direct data transfer between coprocessor and memory
EP0304587A2 (en) Interruptible cache loading
JPS63240651A (ja) キヤツシユメモリ