JPH02288931A - 非アラインメント・アクセスをサポートするキャッシュ・メモリ - Google Patents
非アラインメント・アクセスをサポートするキャッシュ・メモリInfo
- Publication number
- JPH02288931A JPH02288931A JP1273602A JP27360289A JPH02288931A JP H02288931 A JPH02288931 A JP H02288931A JP 1273602 A JP1273602 A JP 1273602A JP 27360289 A JP27360289 A JP 27360289A JP H02288931 A JPH02288931 A JP H02288931A
- Authority
- JP
- Japan
- Prior art keywords
- word
- words
- address
- mwdu
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3816—Instruction alignment, e.g. cache line crossing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0886—Variable-length word access
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1021—Hit rate improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は、−船釣にデジタル・メモリ・システムに関し
、更に詳しくは、マルチワード・データ・ユニットを記
憶すると共に取り出すシステムに使用するキャッシュ・
メモリに関する。
、更に詳しくは、マルチワード・データ・ユニットを記
憶すると共に取り出すシステムに使用するキャッシュ・
メモリに関する。
多くのプロセッサ・システムはプロセッサのデータ及び
(または)命令を与える方法として1つ以上のキャッシ
ュ・メモリを使用する。これらのキャッシュは、しばし
ばマルチプル・ワードのデータを記憶する所定のセット
の記憶位置からデータを取り出すことができるように設
計されている。
(または)命令を与える方法として1つ以上のキャッシ
ュ・メモリを使用する。これらのキャッシュは、しばし
ばマルチプル・ワードのデータを記憶する所定のセット
の記憶位置からデータを取り出すことができるように設
計されている。
しかし、プログラムに柔軟性を持たせるためには、ワー
ドをアドレスする能力が設けられている。
ドをアドレスする能力が設けられている。
第1図は、代表的なキャンシュ・メモリ10の図である
。1つのワード・ロケーション12は、各々2つのワー
ド12を含むマルチワード・データ・ユニット(MWD
U)14内で水平方向にグループ化されている。各ワー
ド12に対して3ビツトのワード・アドレスがアドレス
・バス16を介してキャッシュに転送される。各シング
ル・1ノード・ロケーション12ば、括弧によって示さ
れる等価2進数(decimal equivalen
t)の2進ワード・アドレスによって表示される。
。1つのワード・ロケーション12は、各々2つのワー
ド12を含むマルチワード・データ・ユニット(MWD
U)14内で水平方向にグループ化されている。各ワー
ド12に対して3ビツトのワード・アドレスがアドレス
・バス16を介してキャッシュに転送される。各シング
ル・1ノード・ロケーション12ば、括弧によって示さ
れる等価2進数(decimal equivalen
t)の2進ワード・アドレスによって表示される。
各ワード・アドレスの2つの最上位ビア 1・ば、マル
チワード・フィールド(MWF)を形成し、こればキャ
ッシュのMWDUの1つをアドレスする。キャッシュは
、全てのワード・アドレスでMWSに応答し、1つのキ
ャッシュ・サイクル中にこのフィールドによってアドレ
スされるMWDUに記す、Oされているデータを取り出
す。1ノード・アドレスの最下位ビットは、MWDUの
ワード・1.Jケーシコンの位置を識別する1つのワー
I・・フィールド(SWF)を形成する。
チワード・フィールド(MWF)を形成し、こればキャ
ッシュのMWDUの1つをアドレスする。キャッシュは
、全てのワード・アドレスでMWSに応答し、1つのキ
ャッシュ・サイクル中にこのフィールドによってアドレ
スされるMWDUに記す、Oされているデータを取り出
す。1ノード・アドレスの最下位ビットは、MWDUの
ワード・1.Jケーシコンの位置を識別する1つのワー
I・・フィールド(SWF)を形成する。
例えば、ワード・アドレスI−001、Jの場合、MW
Fフィールド・ビ・ント[00−1は、二1−ヤソシュ
10記位されている第1のMWDUを識別する。
Fフィールド・ビ・ント[00−1は、二1−ヤソシュ
10記位されている第1のMWDUを識別する。
従って、アドレスr000J及びrool、Jによって
識別されるワードがキャッシュから取り出される。
識別されるワードがキャッシュから取り出される。
一般的に、任意の数「M−1個のワードをMWDtlに
含むごとができる。プログラミングに最大限の柔軟性を
持たせるためには、キャッシュは、M個の連続するワー
ドの全てのグループを、全てのワードが同じMWDUに
記憶されているか否かに関係なく、取り出すことができ
るように設計されなければならない。
含むごとができる。プログラミングに最大限の柔軟性を
持たせるためには、キャッシュは、M個の連続するワー
ドの全てのグループを、全てのワードが同じMWDUに
記憶されているか否かに関係なく、取り出すことができ
るように設計されなければならない。
第2A図及び第2B図は、2つのデータ・アライメント
の構成を示す。第2A図の場合、ロケーションr OO
O、J及びr o o i 、−+に記憶されているワ
ードが取り出されなげればならない。いずれのアドレス
も同じMWFを有し、MWFに応答してキャッシュから
取り出される。従って、取り出されるべきワードは、M
WDUとアライメントされ、1つのキャッシュ・サイク
ルの中で取り出すことができる。
の構成を示す。第2A図の場合、ロケーションr OO
O、J及びr o o i 、−+に記憶されているワ
ードが取り出されなげればならない。いずれのアドレス
も同じMWFを有し、MWFに応答してキャッシュから
取り出される。従って、取り出されるべきワードは、M
WDUとアライメントされ、1つのキャッシュ・サイク
ルの中で取り出すことができる。
第2B図の場合、ロケーションrooIJ及びIQ 1
0Jに記憶されているワードが取り出されなければなら
ない。これらのアライメントされていないワードのアド
レスのMWFは異なっており、これらのワードは異なっ
たMWDUに記憶されている。従って、両方のM W
i) 1.Jからのデータは、2つの取り出しサイクル
にわたって取り出されなげればならず、各々のMWDU
からの所望のワードはマージされなければならない。
0Jに記憶されているワードが取り出されなければなら
ない。これらのアライメントされていないワードのアド
レスのMWFは異なっており、これらのワードは異なっ
たMWDUに記憶されている。従って、両方のM W
i) 1.Jからのデータは、2つの取り出しサイクル
にわたって取り出されなげればならず、各々のMWDU
からの所望のワードはマージされなければならない。
幾つかの現存する装置の場合、この2番目の取り出しは
ハードウェアによって自動的に処理されるが、他の装置
の場合にはアライメントされていないメモリを参照する
ことによって2番目の取り出しとマージを行うソフトウ
ェアがトランプされる。
ハードウェアによって自動的に処理されるが、他の装置
の場合にはアライメントされていないメモリを参照する
ことによって2番目の取り出しとマージを行うソフトウ
ェアがトランプされる。
従って、アライメンI・されていないデータを取り出す
には別の時間が必要であり、このことQこよってブロセ
ンザ全体の性能にペナルティが課・けられる。
には別の時間が必要であり、このことQこよってブロセ
ンザ全体の性能にペナルティが課・けられる。
(発明の概要)
本発明は、ワードのシーケンスがメモリ・システムのワ
ー]−の境界とアライメントされていると否とにかかわ
らず、1つのメモリ・リーイクルで所定のシーケンスの
ワードを取り出すメーしり・システムに関する。所定の
MWDtJのワードは別のメモリ・ユニット内に記ta
され、このユニットでは、各メモリ・ユニットの記go
ケーシコンが所定のMWDUのワードのワード・アドレ
スのMWFによってアドレスされる。
ー]−の境界とアライメントされていると否とにかかわ
らず、1つのメモリ・リーイクルで所定のシーケンスの
ワードを取り出すメーしり・システムに関する。所定の
MWDtJのワードは別のメモリ・ユニット内に記ta
され、このユニットでは、各メモリ・ユニットの記go
ケーシコンが所定のMWDUのワードのワード・アドレ
スのMWFによってアドレスされる。
アドレス処理用のハードウェアは、メモリ・ユニットの
アドレス・ポートに設けられる1セットの変更されたM
WI”を発生ずるために所定のシーケンスの第1ワード
のワード・アドレスを使用する。これらの変更されたM
WFは、メモリ・ユニットからシーケンスになっている
ワードをアクセスするが、これらのワード41所定のシ
ーケンスのワードと同じ順序になっていない。
アドレス・ポートに設けられる1セットの変更されたM
WI”を発生ずるために所定のシーケンスの第1ワード
のワード・アドレスを使用する。これらの変更されたM
WFは、メモリ・ユニットからシーケンスになっている
ワードをアクセスするが、これらのワード41所定のシ
ーケンスのワードと同じ順序になっていない。
メモリ・ユニットの出力は、データ供給装置の入力に接
続され、この装置は制御フィールドとしてシーケンスの
第1ワードのSWFを使用する。
続され、この装置は制御フィールドとしてシーケンスの
第1ワードのSWFを使用する。
このデータ供給装置は、メモリ・コ、ニットの出力を出
力ハスに接続し、シーケンスになっているワードを正し
い順序でこのハスに転送する。
力ハスに接続し、シーケンスになっているワードを正し
い順序でこのハスに転送する。
本発明の1つの特徴によれば、アドレス処理用のハード
ウェアは1セツトの増分器(インクリメンタ)を有し、
これらは所定のシーケンスの第1ワードのワード・アド
レスを受け取るために使用される。各々の増分器がイン
クリメントされたワード・アドレスのMWFは関連する
メモリ・ユニットのアドレス・ポートに加えられる。各
々の増分器のインクリメント量はMWDUの関連するメ
モリ・ユニットに記憶されているワードの位置によって
決められる。例えば、2つのワードのシステムの場合、
第1 (偶数)のメモリ・ユニットに対するインクリメ
ントは行われず、第2 (奇数)のメモリ・ユニットに
対してば1だけインクリメントが行われる。
ウェアは1セツトの増分器(インクリメンタ)を有し、
これらは所定のシーケンスの第1ワードのワード・アド
レスを受け取るために使用される。各々の増分器がイン
クリメントされたワード・アドレスのMWFは関連する
メモリ・ユニットのアドレス・ポートに加えられる。各
々の増分器のインクリメント量はMWDUの関連するメ
モリ・ユニットに記憶されているワードの位置によって
決められる。例えば、2つのワードのシステムの場合、
第1 (偶数)のメモリ・ユニットに対するインクリメ
ントは行われず、第2 (奇数)のメモリ・ユニットに
対してば1だけインクリメントが行われる。
これ以外の特徴及び利点は、添付図面及び下記の詳細な
説明を参照することによって明らかとなる。
説明を参照することによって明らかとなる。
(好適な実施例)
本発明の好適な実施例を図面を参照して説明するが、同
一の参照番号は幾つかの図を通して同じ対応する部品を
識別する。第3図は、2つのワードを含むマルチワード
・データ・ユニット(MWDU)を有する実施例の概略
図を示す。
一の参照番号は幾つかの図を通して同じ対応する部品を
識別する。第3図は、2つのワードを含むマルチワード
・データ・ユニット(MWDU)を有する実施例の概略
図を示す。
第3図で、N+1ビツト・アドレス・バス30は+1増
分器32の入力に接続される。第1アドレス・バス10
は、Nビットの奇数MWFバス34と1ビツトの非アラ
イメント (unaligned)ピント・バス36に
分岐する。本明細書では、最下位アドレス・ビット(L
S B)はNで表され、最上位ビン)(MSB)は0
で表わされる。部分的アドレス・フィールドは<1:k
>で表され、ここで1はMSBであり、kはLSBであ
る。増分器(インクリメンタ)32の出力はNビットの
偶数MWFバス38に接続される。
分器32の入力に接続される。第1アドレス・バス10
は、Nビットの奇数MWFバス34と1ビツトの非アラ
イメント (unaligned)ピント・バス36に
分岐する。本明細書では、最下位アドレス・ビット(L
S B)はNで表され、最上位ビン)(MSB)は0
で表わされる。部分的アドレス・フィールドは<1:k
>で表され、ここで1はMSBであり、kはLSBであ
る。増分器(インクリメンタ)32の出力はNビットの
偶数MWFバス38に接続される。
偶数MWFバス38の選択線は偶数キャッシュ40のア
ドレス入力、偶数タグ記憶装置42のアドレス入力、及
び偶数タグ記憶装置42と偶数キャッシュ・ヒツト比較
器44のデータ入力に接続される。同様に、奇数MWF
バス34の選択線は奇数キャッシュ46のアドレス人力
、奇数タグ記憶装置49のアドレス入力、及び奇数タグ
記憶装置5 置48と奇数キャッシュ・ヒント比較器50のデータ入
力に接続される。
ドレス入力、偶数タグ記憶装置42のアドレス入力、及
び偶数タグ記憶装置42と偶数キャッシュ・ヒツト比較
器44のデータ入力に接続される。同様に、奇数MWF
バス34の選択線は奇数キャッシュ46のアドレス人力
、奇数タグ記憶装置49のアドレス入力、及び奇数タグ
記憶装置5 置48と奇数キャッシュ・ヒント比較器50のデータ入
力に接続される。
第1データ出力マルチプレクサ52と第2データ出力マ
ルチプレクサ54は、いずれも0と1の入力ポート、非
アライメント・ビット・バス36に接続された制御ポー
ト及び第1データ出力バス56と第2データ出力バス5
8に接続された出力ポートをそれぞれ有する。偶数キャ
ッシュ40のデータ出力ポートは、第1データ出力マル
チプレクサ52の0入カポートと第2データ出力マルチ
プレクサ54の1入カポートに接続される。奇数キャッ
シュ46のデータ出力ポートは、第1データ出力マルチ
プレクサ52の1入カポートと第2データマルチプレク
ザ54の0入カポートに接続される。
ルチプレクサ54は、いずれも0と1の入力ポート、非
アライメント・ビット・バス36に接続された制御ポー
ト及び第1データ出力バス56と第2データ出力バス5
8に接続された出力ポートをそれぞれ有する。偶数キャ
ッシュ40のデータ出力ポートは、第1データ出力マル
チプレクサ52の0入カポートと第2データ出力マルチ
プレクサ54の1入カポートに接続される。奇数キャッ
シュ46のデータ出力ポートは、第1データ出力マルチ
プレクサ52の1入カポートと第2データマルチプレク
ザ54の0入カポートに接続される。
第1及び第2データ入力マルチブレクサ60.62は、
いずれもOと1の入力ポート、非アライメント・ビット
・バス46の制御ポート及び第1データ入力バス64と
第2データ入力バスに接続された出力ポートをそれぞれ
有する。第1データ人力マルチプレクサ60のデータ出
力ポートは偶数キャッシュ40のデータ入力ポートに接
続され、0入カポートは第1データ・バス64に接続さ
れ、1入カポートは第2データ入力バス66に接続され
る。第2データ入カマルチブレクサ62のデータ出力ポ
ートは奇数キャッシュ48のデータ入力ポートに接続さ
れ、0入カポートは第2データ入力バス66に接続され
、1入カポートは第1データ人力バス64に接続され、
1入カポートは第1データ入力バス64に接続される。
いずれもOと1の入力ポート、非アライメント・ビット
・バス46の制御ポート及び第1データ入力バス64と
第2データ入力バスに接続された出力ポートをそれぞれ
有する。第1データ人力マルチプレクサ60のデータ出
力ポートは偶数キャッシュ40のデータ入力ポートに接
続され、0入カポートは第1データ・バス64に接続さ
れ、1入カポートは第2データ入力バス66に接続され
る。第2データ入カマルチブレクサ62のデータ出力ポ
ートは奇数キャッシュ48のデータ入力ポートに接続さ
れ、0入カポートは第2データ入力バス66に接続され
、1入カポートは第1データ人力バス64に接続され、
1入カポートは第1データ入力バス64に接続される。
第3図に示すこのシステムの動作を第1図乃至第3図を
参照して説明する。第1図を参照して、図の左側の偶数
ワード(ワードO12,4等)は偶数キャッシュ40の
連続した記憶場所に記憶される。図の右側の奇数ワード
(ワード1.3.5等)は奇数キャッシュ46の連続し
た記憶場所に記憶される。ワード・アドレスのMWFは
キャッシュ40と46の記憶場所をアドレスするために
機能する。MWFrOOJは偶数キャッシュ40からワ
ード(0)を取り出し、奇数キャッシュからワード (
1)を取り出ず。MWFrO]jば偶数キャッシュ40
からワード(2)を取り出し、奇数キャッシュ46から
ワード(3)を取り出す等々である。このワード・アド
レスのLSB (最下位ビット)はシングル・ワード領
域(SWF)であり、偶数キャッシュ40に記taされ
たワードに対しては常に「O−1であり、奇数=1−ヤ
ノシュ46に記憶されたワードに対し2ては常に「]]
である。
参照して説明する。第1図を参照して、図の左側の偶数
ワード(ワードO12,4等)は偶数キャッシュ40の
連続した記憶場所に記憶される。図の右側の奇数ワード
(ワード1.3.5等)は奇数キャッシュ46の連続し
た記憶場所に記憶される。ワード・アドレスのMWFは
キャッシュ40と46の記憶場所をアドレスするために
機能する。MWFrOOJは偶数キャッシュ40からワ
ード(0)を取り出し、奇数キャッシュからワード (
1)を取り出ず。MWFrO]jば偶数キャッシュ40
からワード(2)を取り出し、奇数キャッシュ46から
ワード(3)を取り出す等々である。このワード・アド
レスのLSB (最下位ビット)はシングル・ワード領
域(SWF)であり、偶数キャッシュ40に記taされ
たワードに対しては常に「O−1であり、奇数=1−ヤ
ノシュ46に記憶されたワードに対し2ては常に「]]
である。
先ず、第2A図に示すアライメントされたメモリ・リフ
ァレンスを説明する。取り出されるべきワードは(0)
と(1)である。従って、取り出されるべきセソ1〜の
ワードの第1ワードに対するワード・アドレスはro
OOJであり、両方のワードに対するMWFはr 00
−1である。このMWFは奇数MWFバスの奇数キャッ
シュ46のアドレス・ポートに転送され、ワード(1)
は奇数キャッシュ46のデータ出力ポートで出力される
。ワード・アドレス全体は、増分器32によってインク
リメントされ、この増分器32はワード・アドレスを(
000)から(001)に変更する。
ァレンスを説明する。取り出されるべきワードは(0)
と(1)である。従って、取り出されるべきセソ1〜の
ワードの第1ワードに対するワード・アドレスはro
OOJであり、両方のワードに対するMWFはr 00
−1である。このMWFは奇数MWFバスの奇数キャッ
シュ46のアドレス・ポートに転送され、ワード(1)
は奇数キャッシュ46のデータ出力ポートで出力される
。ワード・アドレス全体は、増分器32によってインク
リメントされ、この増分器32はワード・アドレスを(
000)から(001)に変更する。
MWFはこの増分によって変化しないことに留意するこ
と。従って、MWFrooJば偶数キャッシュ40のア
ドレス・ポートに転送され、その結果、ブーF’(0)
が偶数キャッシュ40のデータ出力ポートで出力される
。「0」に等しいSWFがマルチプレクサ52と54に
転送され、これによって各マルチプレクサの0人力がそ
れぞれのマルチプレクサの出力ポートに接続される。従
って、第2A図に示すように、ワード(0)が第1デー
タ出力ハス56に転送され、ワード(1)が第2データ
出力バス58に転送される。
と。従って、MWFrooJば偶数キャッシュ40のア
ドレス・ポートに転送され、その結果、ブーF’(0)
が偶数キャッシュ40のデータ出力ポートで出力される
。「0」に等しいSWFがマルチプレクサ52と54に
転送され、これによって各マルチプレクサの0人力がそ
れぞれのマルチプレクサの出力ポートに接続される。従
って、第2A図に示すように、ワード(0)が第1デー
タ出力ハス56に転送され、ワード(1)が第2データ
出力バス58に転送される。
次に、第2B図に示すアライメン1−されないリファレ
ンスを説明する。取り出されるべきセットのワードの第
1ワードの第1ワード・アドレスrooIJのMWFフ
ィールドは「OO」でありS W Fは「]」である。
ンスを説明する。取り出されるべきセットのワードの第
1ワードの第1ワード・アドレスrooIJのMWFフ
ィールドは「OO」でありS W Fは「]」である。
このMWFは奇数MWFパス34の奇数キャッシュ46
のアドレス・ホトに転送され、ワード (1)は奇数キ
ャッシュ46のデータ出力ポートで出力される。ワード
・アドレス全体は、増分器32によってインクリメント
され、この増分器32によってワード・アドレスばro
O]、Jからro 10Jに変更される。
のアドレス・ホトに転送され、ワード (1)は奇数キ
ャッシュ46のデータ出力ポートで出力される。ワード
・アドレス全体は、増分器32によってインクリメント
され、この増分器32によってワード・アドレスばro
O]、Jからro 10Jに変更される。
従って、MWFは01に変更されて偶数キャッシュ40
のアドレス・ポートに転送され、その結果、ワード(2
)は偶数キャッシュ40のデータ出力ポートで出力され
る。「1」に等しいSWFは、マルチプレクサ52と5
4に転送され、これによって各マルチプレクサの1の入
力がそれぞれのマルチプレクリ・の出力ポートに接続さ
れる。従って、第2A図に示すように、ワード(1)は
第1デタ出力バス56に転送され、ワード(2)は第2
データ出力ハス58に転送される。
のアドレス・ポートに転送され、その結果、ワード(2
)は偶数キャッシュ40のデータ出力ポートで出力され
る。「1」に等しいSWFは、マルチプレクサ52と5
4に転送され、これによって各マルチプレクサの1の入
力がそれぞれのマルチプレクリ・の出力ポートに接続さ
れる。従って、第2A図に示すように、ワード(1)は
第1デタ出力バス56に転送され、ワード(2)は第2
データ出力ハス58に転送される。
−L述したところに鑑みて、第3図に示すシステムが1
つのキャソシュザイクルでアライメントされたデータだ
けでなくアライメントされないデータの取り出しをも可
能にすることが明らかである。
つのキャソシュザイクルでアライメントされたデータだ
けでなくアライメントされないデータの取り出しをも可
能にすることが明らかである。
従って、アライメン1−されないデータを取り出すこと
と関連する性能上のペナルティ−がなくなる。
と関連する性能上のペナルティ−がなくなる。
別のタグ記憶装置42と48及びキャッシュ4゜ヒソl
−比較器が必要であるが、その理由はアライメン1−さ
れないリファレンスがキャッシュ線の境界を横切る可能
性があるからである。従って、偶数キャッシュ40と奇
数キャッシュ46のいずれかは他方がヒントを行ってい
る間にキャッシュ・ミスを行う可能性がある。この回路
の機能は標準的なものであり、本発明の一部を構成する
ものではない。
−比較器が必要であるが、その理由はアライメン1−さ
れないリファレンスがキャッシュ線の境界を横切る可能
性があるからである。従って、偶数キャッシュ40と奇
数キャッシュ46のいずれかは他方がヒントを行ってい
る間にキャッシュ・ミスを行う可能性がある。この回路
の機能は標準的なものであり、本発明の一部を構成する
ものではない。
第1及び第2データ入力マルチプレクサ60と62は、
データ出力マルチプレクサに対してアナログ的な手法で
機能しアライメントされたリファレンスまたはアライメ
ントされないリファレンスを1つのキャッシュ・サイク
ル中にキャッジ、ブーに載置する。
データ出力マルチプレクサに対してアナログ的な手法で
機能しアライメントされたリファレンスまたはアライメ
ントされないリファレンスを1つのキャッシュ・サイク
ル中にキャッジ、ブーに載置する。
なお、この第3図の装置は、以下の形式のものに変形す
ることができる。大部分のメモリ・システムはメモリ・
アドレスを記憶するために、パイプレジスタを有し:い
る。このようなレジスタは、またこの第3図の実施例に
付加することが可能である。これらのアドレス・レジス
タは入カアドレス、第1及び第2アドレス、または偶数
及び奇数アドレスを捕捉することができる利点がある。
ることができる。大部分のメモリ・システムはメモリ・
アドレスを記憶するために、パイプレジスタを有し:い
る。このようなレジスタは、またこの第3図の実施例に
付加することが可能である。これらのアドレス・レジス
タは入カアドレス、第1及び第2アドレス、または偶数
及び奇数アドレスを捕捉することができる利点がある。
また、データ・レジスフは、偶数または奇数データのい
ずれかを入力または出力に保持することもできる。
ずれかを入力または出力に保持することもできる。
本発明は、特定の数のワードを有するいずれかのMWD
Uに限定されるものではない。第4図ないし第6図は、
各MWDUが4ワードを有するシステムを示す。第4A
図乃至第4D図は、4つの可能なアライメントの場合を
示す。各ワードに対するSWFは2ピツ1へのフィール
ドである。
Uに限定されるものではない。第4図ないし第6図は、
各MWDUが4ワードを有するシステムを示す。第4A
図乃至第4D図は、4つの可能なアライメントの場合を
示す。各ワードに対するSWFは2ピツ1へのフィール
ドである。
第5図を参照して、第1キヤツシユ40(0)は各MW
DUに第1ワードを記憶し、第2キヤツシユ40 (
1)は第2ワードを記憶し等々である。
DUに第1ワードを記憶し、第2キヤツシユ40 (
1)は第2ワードを記憶し等々である。
選択されたMWDU内の全てのワードのワード・アドレ
スのMWFは各キャッシュ40から選択されたMWDU
のワードをアクセスする。
スのMWFは各キャッシュ40から選択されたMWDU
のワードをアクセスする。
動作上、取り出されるべき所望のセットの4つのシーケ
ンスになったワードの第1ワードのワード・アドレスが
アドレス・バス30に載置される。
ンスになったワードの第1ワードのワード・アドレスが
アドレス・バス30に載置される。
増分器32は、このワード・アドレスを受け取り、所望
のセットのこれらのワードを各キャッシュ40から取り
出すために必要はMWFフィールドを発生する。
のセットのこれらのワードを各キャッシュ40から取り
出すために必要はMWFフィールドを発生する。
データ・スイッチ100は、第4A図ないし第4D図に
従って取り出されたワードの順序を決めるためにSWF
フィールドによってmlf卸される。
従って取り出されたワードの順序を決めるためにSWF
フィールドによってmlf卸される。
第6図は、異なったSWFのフィールドに対するデータ
・スイッチ100の入力及び出力の相互接続を示す表で
ある。
・スイッチ100の入力及び出力の相互接続を示す表で
ある。
第7図ば2ワードのMWDUを有する実施例を示し、こ
のMWDUは、取り出されるべき1対のワードの第1ワ
ード・アドレスのベース・アドレスとオフセットから直
接必要とされるMWFを発生する。
のMWDUは、取り出されるべき1対のワードの第1ワ
ード・アドレスのベース・アドレスとオフセットから直
接必要とされるMWFを発生する。
第1及び第2加算器70と72は各々0と1のデータ人
力、キャリー・イン入力及びデータ出力を有する。これ
らの加算器によって発生された合計のMWFのみが偶数
バス34と奇数バス38に転送される。ベース・アドレ
ス・バス74は加算器70と72の各々のOデータ入力
に接続され、オフセット・バス76は加算器70と72
の各々の1データ入力に接続される。ベース・アドレス
・バス74とオフセット・バス76とのLSB線7線表
80は、エクスクル−シブORデーI・82の入力ポー
トに接続される。EORゲート82の出力は第1加算器
70のCI大入力接続されると共に第3図のマルチプレ
クサ52.54.60及び62の制御ポートに接続され
る。このシステムの残りの部分は第3図に示すものと同
様である。
力、キャリー・イン入力及びデータ出力を有する。これ
らの加算器によって発生された合計のMWFのみが偶数
バス34と奇数バス38に転送される。ベース・アドレ
ス・バス74は加算器70と72の各々のOデータ入力
に接続され、オフセット・バス76は加算器70と72
の各々の1データ入力に接続される。ベース・アドレス
・バス74とオフセット・バス76とのLSB線7線表
80は、エクスクル−シブORデーI・82の入力ポー
トに接続される。EORゲート82の出力は第1加算器
70のCI大入力接続されると共に第3図のマルチプレ
クサ52.54.60及び62の制御ポートに接続され
る。このシステムの残りの部分は第3図に示すものと同
様である。
動作」−2XORされたLSBの状態が第1加算器70
に加えられて偶数アドレスの正しいインクリメントを行
い、正しいMWFが偶数キャッシュ40に転送され取り
出されたワードを正しく順序付ける制御信号としてマル
チプレクサに加えられることを保障する。
に加えられて偶数アドレスの正しいインクリメントを行
い、正しいMWFが偶数キャッシュ40に転送され取り
出されたワードを正しく順序付ける制御信号としてマル
チプレクサに加えられることを保障する。
本発明は、好適な実施例を参照して説明された。
マルチワード・ユニットのワード数及び1ワードのビッ
ト数は必要に応じて変更されてもよく、これば本発明を
限定するものではない。更に上述の説明ではMWDUは
、最下位アドレスを有する左端のワードとアライメント
された。しかし、本発明は、MWDUの右端のワード数
が最下位アドレスを有するシステムにも同様に適用可能
である。
ト数は必要に応じて変更されてもよく、これば本発明を
限定するものではない。更に上述の説明ではMWDUは
、最下位アドレスを有する左端のワードとアライメント
された。しかし、本発明は、MWDUの右端のワード数
が最下位アドレスを有するシステムにも同様に適用可能
である。
これ以外の変更及び置換えは当業者にとって明らかであ
る。従って、本発明は、添イづの特許請求の範囲以外に
よって限定されないこを意図するものである。
る。従って、本発明は、添イづの特許請求の範囲以外に
よって限定されないこを意図するものである。
第1図は、キャッシュ・メモリ・システムの概略図であ
る。 第2A図及び第2B図は、2ワード・システムに対する
アライメントされたリファレンスとアライメントされな
いリファレンスを示す概略図である。 第3図は、2ワード・システムの好適・な実施例のブロ
ック図である。 第4八図ないし第4D図は、4ワード・システムのアラ
イメントされたリファレンスとアライメントされないリ
ファレンスを示す概略図である。 第5図は、4ワード・システムの好適な実施例のブロッ
ク図である。 第6図は、データ・スイッチの動作を示す表である。 第7図は、別のアドレス処理システムのブロック図であ
る。 10・・・・・・メモリ 12・・・・・・ワード・ロケーション14・・・・・
・マルチ・ワード・データ・ユニソl−30,34,3
8,56,74・・・・・・ハス32・・・・・・増幅
器 40・・・・・・偶数キャッシュ 46・・・・・・奇数キャッシュ 42.48・・・・・・タグ記憶装置 52.54.60.62・・・・・・マルチプレクサ7
0.72・・・・・・加算器 82・・・・・・E(エクスクル−シブ)ORゲート1
00・・・・・・データ・スイソチ ■、小事件表示 平成1年特許願第273602号 3、補正をする者 事件との関係 出 願 人 4、代 理 人 5、補正命令の日付 平成2年2月27日
る。 第2A図及び第2B図は、2ワード・システムに対する
アライメントされたリファレンスとアライメントされな
いリファレンスを示す概略図である。 第3図は、2ワード・システムの好適・な実施例のブロ
ック図である。 第4八図ないし第4D図は、4ワード・システムのアラ
イメントされたリファレンスとアライメントされないリ
ファレンスを示す概略図である。 第5図は、4ワード・システムの好適な実施例のブロッ
ク図である。 第6図は、データ・スイッチの動作を示す表である。 第7図は、別のアドレス処理システムのブロック図であ
る。 10・・・・・・メモリ 12・・・・・・ワード・ロケーション14・・・・・
・マルチ・ワード・データ・ユニソl−30,34,3
8,56,74・・・・・・ハス32・・・・・・増幅
器 40・・・・・・偶数キャッシュ 46・・・・・・奇数キャッシュ 42.48・・・・・・タグ記憶装置 52.54.60.62・・・・・・マルチプレクサ7
0.72・・・・・・加算器 82・・・・・・E(エクスクル−シブ)ORゲート1
00・・・・・・データ・スイソチ ■、小事件表示 平成1年特許願第273602号 3、補正をする者 事件との関係 出 願 人 4、代 理 人 5、補正命令の日付 平成2年2月27日
Claims (1)
- 【特許請求の範囲】 1、取り出されるべき一対のワードを参照するためのメ
モリ・ワード・アドレスを受け取るデータ処理システム
用キャッシュ・メモリ装置において、 上記のメモリ・ワード・アドレスに応答して前記参照ワ
ードの第1キャッシュ・アドレス及び第2キャッシュ・
アドレスを発生する手段;上記の第1及び第2キャッシ
ュ・アドレスにそれぞれ応答して取り出されるべき第1
及び第2ワードを記憶する偶数キャッシュ及び奇数キャ
ッシュ;及び 上記の取り出されたワードを受取り、メモリ・ワード・
アドレスに応答して上記の取り出されたワードを第1及
び第2の読み出されたデータ値として順序づけるデータ
供給手段とを備え、第1の読み出しデータ値が前記受け
取られたメモリ・ワード・アドレスによってアドレスさ
れるワードであることを特徴とするキャッシュ・メモリ
装置。 2、所定のグループのN個のワード・ロケーションに記
憶され、メモリ内の残りのワードに対して固定されたワ
ード境界を有するワードによって構成されるマルチワー
ド・データ・ユニット(MWDU)が1つの取り出しサ
イクル中にメモリから取り出される形式のデータ処理装
置であって、メモリ内の所定のワード・ロケーションが
、所定のワードの含まれている所定のマルチワード・デ
ータ・ユニットを識別するマルチワード・フィールド(
MWF)と所定のMWDU内の所定のワードのロケーシ
ョンを識別する単一ワード・フィールド(SWF)とを
有するワード・アドレスによって識別される上記のデー
タ処理装置に於けるシステムであって、所定のセットの
連続したワードが第1と第2のMWDUの固定された境
界とアライメントされていると否とにかかわらず、この
所定のセットのワードを1つの取り出しサイクルで取り
出し、このセットが1セットの第1と第2の連続するM
WDUに含まれている上記のシステムにおいて、上記の
システムは: N個のメモリ・ユニットの順序づけられたセットであっ
て、各ユニットのMWDU内のワードのワード・アドレ
スのMWFによって識別された記憶位置にある各MWD
U内のN個のワードの異なった1つを記憶し、各MWD
U内の第1のワードは上記のメモリ・ユニットの中の第
1ユニットに記憶され、第2のワードは第2ユニットに
記憶される等々である上記のメモリ・ユニット; N個の変形されたMWFの順序づけられたセットを形成
する手段であって、第1の変形されたMWFは取り出さ
れるべきセットのワードの中の第1ワードのワード・ア
ドレスのMWFに等しく、第2の変形されたMWFは1
インクリメントされることによって取り出されるべきセ
ットのワードの中の第1ワードのワード・アドレスのM
WFに等しく、第3の変形されたMWFは2インクリメ
ントされることによって取り出されるべきセットのワー
ドの中の第1ワードのワード・アドレスのMWFに等し
い等々であり、第1の変形されたアドレスは上記の第1
メモリ・ユニットからワードを取り出すために使用され
、第2の変形されたアドレスは上記の第2メモリ・ユニ
ットからワードを取り出すために使用される等々である
上記の手段;及び 上記のメモリ・ユニットから取り出されたワードを上記
のワードを受け取る1セットの入力ポート、取り出され
るべき上記の順序づけされたセットのワード中の第1ワ
ードのワード・アドレスのSWFを受け取る制御ポート
及び順序づけされたセットの出力ポートを有し、上記の
受け取られたSWFに制御されて上記の受け取られたワ
ードを上記の順序づけされたセットの出力ポートに供給
するデータ供給装置であって、上記の順序づけされたセ
ット内の第1ワードは上記の第1出力ポートに供給され
、第2ワードは上記の第2出力ポートに供給される等々
であり、その結果、連続するワードのセットが、第1及
び第2MWDUのワード境界とアライメントされている
と否とにかかわらず、1つの取り出しサイクル内に取り
出される上記のデータ供給装置によって構成されること
を特徴とするシステム。 3、所定のグループのN個のワード・ロケーションに記
憶され、メモリ内の残りのワード・ロケーションに対し
て固定されたワード・ロケーション境界を有するワード
によって構成されるマルチワード・データ・ユニット(
MWDU)が1つの取り出しサイクル中にメモリから取
り出される形式のデータ処理装置に於けるシステムであ
って、所定のセットのワード・ロケーションが第1と第
2のMWDUの固定された境界とアライメントされてい
ると否とにかかわらず、第1及び第2の連続したMWD
Uのセットに含まれる所定のセットの連続したワード・
ロケーションからワードを1つの取り出しサイクルで取
り出し、所定のセットが第1及び第2MWDUの境界と
アライメントされない場合、所定のセットのワード・ロ
ケーションが第1MWDUに含まれる第1サブセットの
ワード・ロケーションと第2MWDUに含まれる第2サ
ブセットのワード・ロケーションによって構成される上
記のシステムにおいて:上記のシステムは: 1つの取り出しサイクル中に第1及び第2サブセットの
ワード・ロケーションに記憶されているワードを取り出
す手段;及び 所定のセットのワード・ロケーションの順序づけに対応
するため上記の取りだしたワードを連続的に順序づける
手段によって構成されることを特徴とするシステム。 4、第1MWDUが第1MWDUアドレスによって取り
出され、第2MWDUが第2MWDUアドレスによって
取り出れ、上記の取り出し手段が: N個の別個にアドレス可能なワード記憶装置を有するメ
モリ・ユニットであって、所定のMWDUのMWDUア
ドレスを与えられた場合、各ワード記憶装置がワード記
憶ロケーションの中の1つのロケーションに記憶されて
いるワードを取り出す上記のメモリ・ユニット;及び第
1サブセットのワード記憶位置の中のワード記憶位置に
ワードを記憶するワード記憶装置のみに第1MWDUの
MWDUアドレスを設け、第2サブセットのワード記憶
位置の中のワード記憶位置にワードを記憶するワード記
憶装置のみに第2MWDUのMWDUアドレスを設ける
手段によって構成されることを特徴とする請求項3記載
のシステム。 5、1つの取り出しサイクル中に取り出すべきアライメ
ントされた連続データ・ワードの複数対を記憶する偶数
及び奇数キャッシュを有するデータ処理システムであっ
て、各ワード・アドレスが偶数及び奇数キャッシュとア
ライメントされた一対のワードを識別する一対のフィー
ルドと上記の一対のワードの位置を識別するワード・フ
ィールドを有する上記のデータ処理システムで、1つの
取り出しサイクル中に一対のアライメントされていない
一対のワードを取り出す方法に於いて、上記の方法は: 第1ワードを偶数キャッシュの各々のアライメントされ
た対に記憶し、第2ワードを奇数キャッシュの各々のア
ライメントされた対に記憶するステップであって、各第
1及び第2ワードが対になったいずれかのワードのワー
ド・アドレスの対になったフィールドによってアクセス
される上記のステップ; 第1ワードの第1ワード・アドレスをアクセスされるべ
き一対のワードに設けるステップであって、上記の第1
ワード・アドレスのワード・フィールドが、その対がア
ライメントされているか否かを指示する上記のステップ
; 上記の第1ワード・アドレスの対になったフィールドを
奇数キャッシュに設けて奇数対のワードを取り出すステ
ップ; 上記の第1ワード・アドレスをインクリメントしてイン
クリメントされたアドレスを形成するステップ; 上記のインクリメントされたアドレスの対になったフィ
ールドを偶数キャッシュに設けて偶数対のワードを取り
出すステップ;及び 上記の取り出されたワードを正しく順序づけるために上
記の指示を使用するステップによって構成されることを
特徴とする方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US26015288A | 1988-10-20 | 1988-10-20 | |
| US260152 | 1988-10-20 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02288931A true JPH02288931A (ja) | 1990-11-28 |
Family
ID=22987984
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1273602A Pending JPH02288931A (ja) | 1988-10-20 | 1989-10-20 | 非アラインメント・アクセスをサポートするキャッシュ・メモリ |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP0365281A3 (ja) |
| JP (1) | JPH02288931A (ja) |
| AU (1) | AU624425B2 (ja) |
| CA (1) | CA2000031A1 (ja) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0756815A (ja) * | 1993-07-28 | 1995-03-03 | Internatl Business Mach Corp <Ibm> | キャッシュ動作方法及びキャッシュ |
| US5761713A (en) * | 1996-03-01 | 1998-06-02 | Hewlett-Packard Co. | Address aggregation system and method for increasing throughput to a multi-banked data cache from a processor by concurrently forwarding an address to each bank |
| US6226707B1 (en) | 1997-11-17 | 2001-05-01 | Siemens Aktiengesellschaft | System and method for arranging, accessing and distributing data to achieve zero cycle penalty for access crossing a cache line |
| US6289420B1 (en) * | 1999-05-06 | 2001-09-11 | Sun Microsystems, Inc. | System and method for increasing the snoop bandwidth to cache tags in a multiport cache memory subsystem |
| US8127078B2 (en) | 2009-10-02 | 2012-02-28 | International Business Machines Corporation | High performance unaligned cache access |
| KR20150090491A (ko) * | 2014-01-29 | 2015-08-06 | 삼성전자주식회사 | 전자 장치 및 전자 장치에서 데이터를 액세스하는 방법 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0055579B1 (en) * | 1980-12-31 | 1991-03-20 | Bull HN Information Systems Inc. | Cache memories with double word access |
| DE3669213D1 (de) * | 1985-09-30 | 1990-04-05 | Siemens Ag | Schaltungsanordnung zur generierung von splitting-adressen. |
-
1989
- 1989-10-02 CA CA002000031A patent/CA2000031A1/en not_active Abandoned
- 1989-10-11 AU AU42807/89A patent/AU624425B2/en not_active Ceased
- 1989-10-17 EP EP19890310654 patent/EP0365281A3/en not_active Withdrawn
- 1989-10-20 JP JP1273602A patent/JPH02288931A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| AU4280789A (en) | 1990-04-26 |
| AU624425B2 (en) | 1992-06-11 |
| CA2000031A1 (en) | 1990-04-20 |
| EP0365281A3 (en) | 1991-07-31 |
| EP0365281A2 (en) | 1990-04-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5091851A (en) | Fast multiple-word accesses from a multi-way set-associative cache memory | |
| US4685082A (en) | Simplified cache with automatic update | |
| US7240159B2 (en) | Data processor having cache memory | |
| US4961162A (en) | Multiprocessing system for performing floating point arithmetic operations | |
| US7073026B2 (en) | Microprocessor including cache memory supporting multiple accesses per cycle | |
| EP0407052A2 (en) | Method to increase performance in a multi-level cache system by the use of forced cache misses | |
| EP0321793B1 (en) | Apparatus for forcing a reload from main memory upon cache memory error | |
| EP0614146A1 (en) | A data processor with speculative data transfer and method of operation | |
| JPS58500226A (ja) | 共用メモリの環境におけるキャッシュメモリの完全を維持するための装置および方法 | |
| WO1999013404A1 (en) | Data processing system with multi-way set associative cache | |
| JPS598185A (ja) | 階層記憶機構を備えたデ−タ処理システム | |
| JPS6298440A (ja) | プログラマブルアクセスメモリ | |
| US20030196058A1 (en) | Memory system for supporting multiple parallel accesses at very high frequencies | |
| JPH05503381A (ja) | 算術パイプラインをオペレーティングする方法及びデータプロセッシング装置 | |
| KR101371931B1 (ko) | 제어된 데이터 액세스를 이용하여 다중 데이터 타입을 저장하는 데이터 파일 | |
| EP0167089B1 (en) | Memory access control system and method for an information processing apparatus | |
| TW200406671A (en) | Low power set associative cache | |
| JPS6250856B2 (ja) | ||
| JPS62102497A (ja) | ランダム・アクセス・メモリ | |
| JPH02288931A (ja) | 非アラインメント・アクセスをサポートするキャッシュ・メモリ | |
| US6553478B1 (en) | Computer memory access | |
| US4837738A (en) | Address boundary detector | |
| JPS62154032A (ja) | インストラクシヨンカツシユメモリ | |
| EP0166192A2 (en) | High-speed buffer store arrangement for fast transfer of data | |
| US4953079A (en) | Cache memory address modifier for dynamic alteration of cache block fetch sequence |