JPH07120312B2 - バッファメモリ制御装置 - Google Patents
バッファメモリ制御装置Info
- Publication number
- JPH07120312B2 JPH07120312B2 JP62251472A JP25147287A JPH07120312B2 JP H07120312 B2 JPH07120312 B2 JP H07120312B2 JP 62251472 A JP62251472 A JP 62251472A JP 25147287 A JP25147287 A JP 25147287A JP H07120312 B2 JPH07120312 B2 JP H07120312B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- buffer
- real
- logical address
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- 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/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
- G06F12/1054—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed
-
- 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
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)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明はバッファメモリ制御装置に関する。
近年の大型及び中型に類する電子計算機は、仮想記憶方
式とバッファ記憶方式を一般的に併用している。仮想記
憶方式はプログラマに実記憶の大きさを意識することな
くコーディングを可能とする方式で、プログラマは実記
憶上の実アドレスではなく仮想記憶上の論理アドレスが
与えられる。一方バッファ記憶方式は大容量ではあるが
演算速度に比較して低速な主記憶とのギャップを補うた
め中央処理装置と主記憶の間に高速小容量のバッファ記
憶を配して記憶階層を構成する方式である。
式とバッファ記憶方式を一般的に併用している。仮想記
憶方式はプログラマに実記憶の大きさを意識することな
くコーディングを可能とする方式で、プログラマは実記
憶上の実アドレスではなく仮想記憶上の論理アドレスが
与えられる。一方バッファ記憶方式は大容量ではあるが
演算速度に比較して低速な主記憶とのギャップを補うた
め中央処理装置と主記憶の間に高速小容量のバッファ記
憶を配して記憶階層を構成する方式である。
仮想記憶方式では、主記憶参照に先立って、論理アドレ
スを実アドレスに変換する必要がある。論理アドレスの
実アドレスへの変換はプログラムが用意した主記憶上の
アドレス変換テーブルを参照して行なうが、毎回低速な
主記憶を参照していたのではアドレス変換のオーバヘッ
ドが大きい。そこで一度主記憶を参照して得た論理アド
レスと実アドレスの変換対を記憶しておくアドレス変換
バッファ(以下TLB:Translation Lookaside Bufferと呼
ぶ)を配し、主記憶参照時に該当論理アドレスがTLBに
存在するか否かチェックし、存在する時(プログラムの
局所性によりこの確率が非常に高い)は高速に実アドレ
スを得られるようにしている。
スを実アドレスに変換する必要がある。論理アドレスの
実アドレスへの変換はプログラムが用意した主記憶上の
アドレス変換テーブルを参照して行なうが、毎回低速な
主記憶を参照していたのではアドレス変換のオーバヘッ
ドが大きい。そこで一度主記憶を参照して得た論理アド
レスと実アドレスの変換対を記憶しておくアドレス変換
バッファ(以下TLB:Translation Lookaside Bufferと呼
ぶ)を配し、主記憶参照時に該当論理アドレスがTLBに
存在するか否かチェックし、存在する時(プログラムの
局所性によりこの確率が非常に高い)は高速に実アドレ
スを得られるようにしている。
バッファ記憶方式に於ては、バッファ記憶は主記憶の一
部の写しであるため、その対応関係を記憶するためには
バッファ・アドレス・アレイ(以下BAA:Buffer Address
Arrayと呼ぶ)が配されている。中央処理装置が論理ア
ドレスで主記憶参照を起動すると、TLBにより変換され
た実アドレスがBAAに存在するか否かチェックされ、存
在する時(プログラムの局所性によりこの確率が非常に
高い)はバッファ記憶から高速に該当データが読み出さ
れて中央処理装置に送られる。
部の写しであるため、その対応関係を記憶するためには
バッファ・アドレス・アレイ(以下BAA:Buffer Address
Arrayと呼ぶ)が配されている。中央処理装置が論理ア
ドレスで主記憶参照を起動すると、TLBにより変換され
た実アドレスがBAAに存在するか否かチェックされ、存
在する時(プログラムの局所性によりこの確率が非常に
高い)はバッファ記憶から高速に該当データが読み出さ
れて中央処理装置に送られる。
以上の説明ではTLB,BAAの参照はシリアルに行なわれる
様に説明したが、処理の高速化の為には、パラレルに参
照することが必要である。この場合、論理アドレスでBA
Aが参照される。システムによって、BAAのカラム索引を
論理アドレス内の実アドレス部(ページ内アドレス)で
行なうものと、論理アドレス(ページ内アドレスを含ん
でいる)で行なうものがある。後者の方式ではTLBとBAA
のカラム索引アドレスビットに重複がある。
様に説明したが、処理の高速化の為には、パラレルに参
照することが必要である。この場合、論理アドレスでBA
Aが参照される。システムによって、BAAのカラム索引を
論理アドレス内の実アドレス部(ページ内アドレス)で
行なうものと、論理アドレス(ページ内アドレスを含ん
でいる)で行なうものがある。後者の方式ではTLBとBAA
のカラム索引アドレスビットに重複がある。
第2図は前記のTLBとBAAをパラレルに参照する方式のバ
ッファ記憶装置の一例を示すブロック図である。中央処
理装置で発生するメモリ要求リクエストは論理アドレス
をレジスタ91に格納する。論理アドレスのページ・アド
レスの下位ビットでTLB92の該当エントリが索引され
る。本例ではTLB92はkカラム×2ロウから成り、92-1
が第1ロウ、92-2が第2ロウを示している。つまり、第
1ロウと第2ロウにそれぞれk組のエントリがある。TL
Bの各ロウ92-1,92-2の各エントリは論理アドレス(L)
部、有効フラグ・ビット部(V)及び実アドレス部
(R)から成る。TLBの論理アドレス部をTLBIA、実アド
レス部をTLBRAと呼ぶ。TLB92の各ロウから読み出された
L部及びV部の内容は、該当する論理アドレス比較回路
94-1,94-2によってレジスタ91内のページ・アドレスの
上位ビットと比較される。
ッファ記憶装置の一例を示すブロック図である。中央処
理装置で発生するメモリ要求リクエストは論理アドレス
をレジスタ91に格納する。論理アドレスのページ・アド
レスの下位ビットでTLB92の該当エントリが索引され
る。本例ではTLB92はkカラム×2ロウから成り、92-1
が第1ロウ、92-2が第2ロウを示している。つまり、第
1ロウと第2ロウにそれぞれk組のエントリがある。TL
Bの各ロウ92-1,92-2の各エントリは論理アドレス(L)
部、有効フラグ・ビット部(V)及び実アドレス部
(R)から成る。TLBの論理アドレス部をTLBIA、実アド
レス部をTLBRAと呼ぶ。TLB92の各ロウから読み出された
L部及びV部の内容は、該当する論理アドレス比較回路
94-1,94-2によってレジスタ91内のページ・アドレスの
上位ビットと比較される。
ページ内アドレスの上位ビットでBAAが索引される。本
例ではBAA93はlカラム×2ロウから成り、93-1と93-2
が第1ロウ、第2ロウを示している。つまり、各ロウ
は、それぞれl組のエントリを持っている。BAA93の各
エントリは実アドレス部(R)及び有効フラグ・ビット
部(V)から成る。実アドレス比較回路96-1,96-2は、
選択回路95を通じて入力されるところのTLB92-1のR部
から読出される実アドレス(ページ内アドレス)または
中央処理装置が直接レジスタ91に格納する実アドレス
(ページ内アドレス)と、対応するBAA93-1,93-2のR部
から読出される内容とを比較する。選択回路95は、中央
処理装置が直接実アドレスをレジスタに格納した場合に
レジスタ91の内容を選択し、レジスタ91に論理アドレス
が格納された場合はTLB92-1の内容を選択する。他方の
実アドレス比較回路97-1,97-2は、TLB92-2のR部から読
出される実アドレスと、対応するBAA93-1,93-2のR部か
ら読出される実アドレスとを比較する。前記各実アドレ
ス比較回路96-1,96-2,97-1,97-2はそれぞれの2入力が
一致するときにその出力が“1"になる。
例ではBAA93はlカラム×2ロウから成り、93-1と93-2
が第1ロウ、第2ロウを示している。つまり、各ロウ
は、それぞれl組のエントリを持っている。BAA93の各
エントリは実アドレス部(R)及び有効フラグ・ビット
部(V)から成る。実アドレス比較回路96-1,96-2は、
選択回路95を通じて入力されるところのTLB92-1のR部
から読出される実アドレス(ページ内アドレス)または
中央処理装置が直接レジスタ91に格納する実アドレス
(ページ内アドレス)と、対応するBAA93-1,93-2のR部
から読出される内容とを比較する。選択回路95は、中央
処理装置が直接実アドレスをレジスタに格納した場合に
レジスタ91の内容を選択し、レジスタ91に論理アドレス
が格納された場合はTLB92-1の内容を選択する。他方の
実アドレス比較回路97-1,97-2は、TLB92-2のR部から読
出される実アドレスと、対応するBAA93-1,93-2のR部か
ら読出される実アドレスとを比較する。前記各実アドレ
ス比較回路96-1,96-2,97-1,97-2はそれぞれの2入力が
一致するときにその出力が“1"になる。
実アドレス比較回路96-1,96-2,97-1,97-2による比較結
果はエンコーダ98に入力され、論理アドレス比較回路94
-1,94-2の結果により選択された後、エンコードされた
出力(本例では1ビット)がレジスタ9の上位に格納さ
れる。レジスタ99の下位にはレジスタ91のページ内アド
レスが格納される。かくしてレジスタ91に格納された論
理アドレスまたは実アドレスに対応するバッファ記憶ア
ドレスがレジスタ99に得られる。このレジスタ99のアド
レスでバッファ記憶を索引し読み出したデータは中央処
理装置へ転送される。
果はエンコーダ98に入力され、論理アドレス比較回路94
-1,94-2の結果により選択された後、エンコードされた
出力(本例では1ビット)がレジスタ9の上位に格納さ
れる。レジスタ99の下位にはレジスタ91のページ内アド
レスが格納される。かくしてレジスタ91に格納された論
理アドレスまたは実アドレスに対応するバッファ記憶ア
ドレスがレジスタ99に得られる。このレジスタ99のアド
レスでバッファ記憶を索引し読み出したデータは中央処
理装置へ転送される。
ところで、前記TLB92およびBAA92は高速性と同時にある
程度の容量を必要とするため、バイポーラ・メモリで構
成されるのが普通である。かかる用途のバイポーラ・メ
モリの従来例を第3図に示す。
程度の容量を必要とするため、バイポーラ・メモリで構
成されるのが普通である。かかる用途のバイポーラ・メ
モリの従来例を第3図に示す。
第3図において、入力ピンA0〜A2及びA3〜A5に印加され
るアドレス信号は、それぞれ、Xアドレス・デコーダ11
0及びYアドレス・デコーダ114でデコードされた後ドラ
イバー111及び113を経てメモリ・セル112を起動する。
本例では、メモリ・セル112は8ビット×8ビットから
成る64ビット構成である。メモリ・セル112から選択さ
れた1ビットはセンス・アンプ115を経て出力回路116に
導かれ、出力ピンDO(データ・アウト)に読出しデータ
を出力する。WE(ライト・イネーブル)が有効な時にラ
イト・モードとなる。ライトモードでは、入力ピンDI
(データ・イン)がゲート117を経てアンド回路118及び
119でWEとアンドがとられ、これらアンド回路118,119の
出力によって出力にライト“1"あるいはライト“0"信号
が有効とされ、ドライバー113を経てアドレスA0〜A5で
指定されたメモリ・セル112のビットに書き込み指示を
行なう。
るアドレス信号は、それぞれ、Xアドレス・デコーダ11
0及びYアドレス・デコーダ114でデコードされた後ドラ
イバー111及び113を経てメモリ・セル112を起動する。
本例では、メモリ・セル112は8ビット×8ビットから
成る64ビット構成である。メモリ・セル112から選択さ
れた1ビットはセンス・アンプ115を経て出力回路116に
導かれ、出力ピンDO(データ・アウト)に読出しデータ
を出力する。WE(ライト・イネーブル)が有効な時にラ
イト・モードとなる。ライトモードでは、入力ピンDI
(データ・イン)がゲート117を経てアンド回路118及び
119でWEとアンドがとられ、これらアンド回路118,119の
出力によって出力にライト“1"あるいはライト“0"信号
が有効とされ、ドライバー113を経てアドレスA0〜A5で
指定されたメモリ・セル112のビットに書き込み指示を
行なう。
前述のTLBまたはBAAとして使用する時は、この種のバイ
ポーラ・メモリをマトリクス状に配置して所望のワード
幅、ビット幅を実現している。
ポーラ・メモリをマトリクス状に配置して所望のワード
幅、ビット幅を実現している。
さて、近年電子計算機は超高密度LSIの開発、改良によ
って大規模化、高速化が実現され始め、この傾向は今後
とも推し進められることと思われる。このように、演算
装置等多くの論理装置がLSI化され高速化される一方、
バイポーラ・メモリを含む論理部はバイポーラ・メモリ
へのアドレスの拡散及びバイポーラ・メモリからの読み
出しデータの収束のゲートがその大部分を占めLSI化し
にくくその効果を生かすことが出来ず、電子計算機のマ
シン・サイクルを制限するクリティカル・パスになる可
能性が大きい。また、主記憶の容量も大容量化する傾向
があり、従ってバッファ記憶の容量増加も要求される。
即ち、BAAの容量増加が要求される。一方ではバイポー
ラ・メモリの高集積化も進められて高速のメモリも可能
になっている。第3図に述べたような構成の従来のバイ
ポーラ・メモリを用いて大容量のBAAを構成すること
は、バイポーラ・メモリのパッケージ・ピン数が著しく
増えてしまい容易に実現できない。
って大規模化、高速化が実現され始め、この傾向は今後
とも推し進められることと思われる。このように、演算
装置等多くの論理装置がLSI化され高速化される一方、
バイポーラ・メモリを含む論理部はバイポーラ・メモリ
へのアドレスの拡散及びバイポーラ・メモリからの読み
出しデータの収束のゲートがその大部分を占めLSI化し
にくくその効果を生かすことが出来ず、電子計算機のマ
シン・サイクルを制限するクリティカル・パスになる可
能性が大きい。また、主記憶の容量も大容量化する傾向
があり、従ってバッファ記憶の容量増加も要求される。
即ち、BAAの容量増加が要求される。一方ではバイポー
ラ・メモリの高集積化も進められて高速のメモリも可能
になっている。第3図に述べたような構成の従来のバイ
ポーラ・メモリを用いて大容量のBAAを構成すること
は、バイポーラ・メモリのパッケージ・ピン数が著しく
増えてしまい容易に実現できない。
ちなみに、4Kビット・メモリを64ワードで構成すると64
ビットを収容可能であるが、必要ピン数はアドレス線、
データ線共で140ピンにも達してしまい、バイポーラ・
メモリのパッケージ・サイズは入出力ピン数で制約され
てしまう。
ビットを収容可能であるが、必要ピン数はアドレス線、
データ線共で140ピンにも達してしまい、バイポーラ・
メモリのパッケージ・サイズは入出力ピン数で制約され
てしまう。
特公昭57-57784号公報は、比較回数内蔵形のメモリを使
ってTLBとBAAを構成する装置を開示している。例えば第
2図の点線で囲んだ部分をメモリ・チップに内蔵するこ
とによりこれを解決しようとしている。
ってTLBとBAAを構成する装置を開示している。例えば第
2図の点線で囲んだ部分をメモリ・チップに内蔵するこ
とによりこれを解決しようとしている。
特公昭57-57784号公報は、TLBから読出された実アドレ
スはTLBを構成するメモリ・チップから一旦外部へ出た
後、BAAを構成するメモリ・チップに入力され、BAAから
読出された実アドレスと比較される。このため、TLB,BA
Aの入出力に要するピン数、プロパゲーション・ディレ
イが増加するという問題がある。
スはTLBを構成するメモリ・チップから一旦外部へ出た
後、BAAを構成するメモリ・チップに入力され、BAAから
読出された実アドレスと比較される。このため、TLB,BA
Aの入出力に要するピン数、プロパゲーション・ディレ
イが増加するという問題がある。
本発明の目的とするところは、前記の如き従来の問題点
を除去し、プロパゲーション・ディレイの減少及びパッ
ケージの入出力ピンの減少を図る記憶制御装置を提供す
ることにある。
を除去し、プロパゲーション・ディレイの減少及びパッ
ケージの入出力ピンの減少を図る記憶制御装置を提供す
ることにある。
上記目的は、TLBRAとBAAを各カラムの索引論理アドレス
でいくつかに分割し、同時に索引される可能性のあるも
の同志を、高速に情報の授受が可能な領域、例えば1つ
のLSIに格納することにより達成される。
でいくつかに分割し、同時に索引される可能性のあるも
の同志を、高速に情報の授受が可能な領域、例えば1つ
のLSIに格納することにより達成される。
本発明では、TLBRAとBAAが1つのLSIに内蔵されるの
で、プロパゲーション・ディレーおよびピン数削減がで
きると共に、索引論理アドレスによってTLBRAとBAAが分
割されるので、TLBRA、BAAの容量が大きくても、上記プ
ロパゲーション・ディレイとピン数削減が達成される。
で、プロパゲーション・ディレーおよびピン数削減がで
きると共に、索引論理アドレスによってTLBRAとBAAが分
割されるので、TLBRA、BAAの容量が大きくても、上記プ
ロパゲーション・ディレイとピン数削減が達成される。
以下本発明の一実施例を第1図により説明する。図にお
いて、1〜31の数字はアドレスのビット位置を示すもの
であり、破線で四角に囲った内部は、高速に情報の授受
が可能な区域である。例えば1つのLSI内がこれに当た
り、以下の説明ではLSI60,LSI70として示す。他の40以
上の数字は各構成部品に付された参照数字である。
いて、1〜31の数字はアドレスのビット位置を示すもの
であり、破線で四角に囲った内部は、高速に情報の授受
が可能な区域である。例えば1つのLSI内がこれに当た
り、以下の説明ではLSI60,LSI70として示す。他の40以
上の数字は各構成部品に付された参照数字である。
第1図において、命令フェッチあるいはオペランドフェ
ッチのための論理アドレスは論理アドレス用レジスタLA
R40にセットされる。この論理アドレスは、1〜31の31
ビットからなる。また、アドレス変換バッファに登録さ
れているエントリのディレクトリをTLBLA、実アドレス
を格納しているデータ部分をTLBRAと呼ぶ。バッファメ
モリに保持されたデータの実アドレスを保持するバッフ
ァアドレスアレイをBAAと呼ぶ。バッファメモリをBSと
呼ぶ。
ッチのための論理アドレスは論理アドレス用レジスタLA
R40にセットされる。この論理アドレスは、1〜31の31
ビットからなる。また、アドレス変換バッファに登録さ
れているエントリのディレクトリをTLBLA、実アドレス
を格納しているデータ部分をTLBRAと呼ぶ。バッファメ
モリに保持されたデータの実アドレスを保持するバッフ
ァアドレスアレイをBAAと呼ぶ。バッファメモリをBSと
呼ぶ。
LAR40にセットされた論理アドレスは、アドレス変換バ
ッファ、バッファアドレスアレイ、バッファメモリをア
クセスする。アドレス変換バッファは2ローで、カラム
は論理アドレスのビット12-19で索引されるが、第1図
では以下に述べるように異なる実装をしている。バッフ
ァアドレスアレイは16ローで、カラムは論理アドレスの
ビット18-24で索引されるが、第1図では以下に述べる
ように異なる実装をしている。TLBRAとBAAを同じLSI内
に格納することによって、BSからは4ローのデータが読
み出されるが、その中から1つのローのデータの選択が
高速に行なえる。TLBRAとBAAを総てを1つのLSIに格納
することができないとき、TLBRAとBAAを分割して幾つか
のLSIに格納する必要がある。本発明の目的はこの分割
方法を示すことにある。
ッファ、バッファアドレスアレイ、バッファメモリをア
クセスする。アドレス変換バッファは2ローで、カラム
は論理アドレスのビット12-19で索引されるが、第1図
では以下に述べるように異なる実装をしている。バッフ
ァアドレスアレイは16ローで、カラムは論理アドレスの
ビット18-24で索引されるが、第1図では以下に述べる
ように異なる実装をしている。TLBRAとBAAを同じLSI内
に格納することによって、BSからは4ローのデータが読
み出されるが、その中から1つのローのデータの選択が
高速に行なえる。TLBRAとBAAを総てを1つのLSIに格納
することができないとき、TLBRAとBAAを分割して幾つか
のLSIに格納する必要がある。本発明の目的はこの分割
方法を示すことにある。
TLBRAとBAAのカラム索引論理アドレスはビット18,19が
共通であり、この2ビットが異なるTLBRAとBAAのカラム
同志は同時に索引されることはないから、4グループま
でTLBRAとBAAの組み合せを分割できる。第1図では、カ
ラム索引論理アドレスビット19が“0"と“1"でTLBRA,BA
Aを2つに分割し、該ビット19が“0"で索引されるTLBR
A,BAAの部分をLSI60に、該ビットが“1"で索引されるTL
BRA,BAAの部分をLSI70に格納している。TLBRA61,71は論
理アドレスビット12-18で索引され、BAA62,72は論理ア
ドレスビット18,20-24で索引される。読み出された実ア
ドレスを比較器63,73で比較し、一致したロー番号をエ
ンコーダ64a46b,74a,74bでコード化する。TLBLA51は論
理アドレスビット12-19で索引される。読み出された論
理アドレスビット1-10とLAR40にセットされている論理
アドレスビッ1-11を比較器52で比較して一致したロー番
号をエンコーダ53でコード化する。エンコーダ64a,64b,
74a,74bの出力は、セレクタ80でLAR40にセットされた論
理アドレスビット19と、エンコーダ53の出力の組み合わ
せにより1つが選択される。該ビット19が“0"の時は、
エンコーダ74a,74bの出力は無効である。逆に該ビット1
9が“1"の時は、エンコーダ64a,64bの出力は無効であ
る。エンコーダ53の出力するTLBLAの一致信号がロー0
を示している時は、エンコーダ64b,74bの出力は無効で
ある。逆に該一致信号がロー1を示している時は、エン
コーダ64a,74aの出力は無効である。セレクタ80で選択
されたBAAの一致信号はBS82の出力の4ローのうち1ロ
ーをセレクタ82で選択し、8バイトのデータが出力され
る。
共通であり、この2ビットが異なるTLBRAとBAAのカラム
同志は同時に索引されることはないから、4グループま
でTLBRAとBAAの組み合せを分割できる。第1図では、カ
ラム索引論理アドレスビット19が“0"と“1"でTLBRA,BA
Aを2つに分割し、該ビット19が“0"で索引されるTLBR
A,BAAの部分をLSI60に、該ビットが“1"で索引されるTL
BRA,BAAの部分をLSI70に格納している。TLBRA61,71は論
理アドレスビット12-18で索引され、BAA62,72は論理ア
ドレスビット18,20-24で索引される。読み出された実ア
ドレスを比較器63,73で比較し、一致したロー番号をエ
ンコーダ64a46b,74a,74bでコード化する。TLBLA51は論
理アドレスビット12-19で索引される。読み出された論
理アドレスビット1-10とLAR40にセットされている論理
アドレスビッ1-11を比較器52で比較して一致したロー番
号をエンコーダ53でコード化する。エンコーダ64a,64b,
74a,74bの出力は、セレクタ80でLAR40にセットされた論
理アドレスビット19と、エンコーダ53の出力の組み合わ
せにより1つが選択される。該ビット19が“0"の時は、
エンコーダ74a,74bの出力は無効である。逆に該ビット1
9が“1"の時は、エンコーダ64a,64bの出力は無効であ
る。エンコーダ53の出力するTLBLAの一致信号がロー0
を示している時は、エンコーダ64b,74bの出力は無効で
ある。逆に該一致信号がロー1を示している時は、エン
コーダ64a,74aの出力は無効である。セレクタ80で選択
されたBAAの一致信号はBS82の出力の4ローのうち1ロ
ーをセレクタ82で選択し、8バイトのデータが出力され
る。
第1図は命令あるいはオペランドフェッチのバッファメ
モリ制御装置である。オペランドストアの際にもBS81の
4ローのうちどのローに書き込むかの判定回路は同様な
考え方で構成される。また、TLBにLAR40にセットされた
論理アドレスが登録されていない時は、周知の手段によ
って論理アドレスに対応する実アドレスを求めた後、実
アドレスレジスタ41(以下、RARと略称)にセットし、
リプレースするローを例えばLRUアルゴリズムなどで決
定した後、TLBLAには、論理アドレスビット12-19で指定
されたカラムの該ローに論理アドレスビット1-11を格納
し、TLBRAは、論理アドレスビット19が“0"ならTLBRA61
に、該ビットが“1"ならTLBRA71に論理アドレスビット1
2-18で指定されたカラムの該ローにRAR41にセットされ
た実アドレスビット1-19を格納する。
モリ制御装置である。オペランドストアの際にもBS81の
4ローのうちどのローに書き込むかの判定回路は同様な
考え方で構成される。また、TLBにLAR40にセットされた
論理アドレスが登録されていない時は、周知の手段によ
って論理アドレスに対応する実アドレスを求めた後、実
アドレスレジスタ41(以下、RARと略称)にセットし、
リプレースするローを例えばLRUアルゴリズムなどで決
定した後、TLBLAには、論理アドレスビット12-19で指定
されたカラムの該ローに論理アドレスビット1-11を格納
し、TLBRAは、論理アドレスビット19が“0"ならTLBRA61
に、該ビットが“1"ならTLBRA71に論理アドレスビット1
2-18で指定されたカラムの該ローにRAR41にセットされ
た実アドレスビット1-19を格納する。
また、BAAにLAR40にセットされた論理アドレスで指定さ
れたブロックが登録されていない時は、該論理アドレス
をTLBを用いて実アドレスに変換したものをRAR41にセッ
トし、リプレースするローを例えばLRUアルゴリズムな
どで決定した後、論理アドレスビット19が“0"ならBAA6
2に、“1"ならBAA72に、論理アドレスビット18,20-24で
指定されたカラムのローに、RAR41にセットされた実ア
ドレスビット1-19を格納する。またBS81にはLAR40にセ
ットされた論理アドレスで指定されたブロックが転送・
格納される。
れたブロックが登録されていない時は、該論理アドレス
をTLBを用いて実アドレスに変換したものをRAR41にセッ
トし、リプレースするローを例えばLRUアルゴリズムな
どで決定した後、論理アドレスビット19が“0"ならBAA6
2に、“1"ならBAA72に、論理アドレスビット18,20-24で
指定されたカラムのローに、RAR41にセットされた実ア
ドレスビット1-19を格納する。またBS81にはLAR40にセ
ットされた論理アドレスで指定されたブロックが転送・
格納される。
本発明によれば、与えられた論理アドレスに対応するデ
ータをバッファメモリより高速に読み出し、書き込みを
行なうことができる。
ータをバッファメモリより高速に読み出し、書き込みを
行なうことができる。
第1図は本発明の一実施例を示すバッファメモリ制御装
置のブロック図、第2図は従来例を示すブロック図、第
3図はバイポーラメモリの構成を示すブロック図であ
る。 40……フェッチ用論理アドレスレジスタ(LAR)、51…
…アドレス変換バッファディレクトリ(TLBLA)、61,71
……アドレス変換バッファデータ部(TLBRA)、62,72…
…バッファアドレスアレイ(BAA)、60,70……高速で情
報の授受可能な領域、81……バッファメモリ(BS)、91
……アドレスレジスタ、92……アドレス変換バッファ、
93……バッファアドレスアレイ。
置のブロック図、第2図は従来例を示すブロック図、第
3図はバイポーラメモリの構成を示すブロック図であ
る。 40……フェッチ用論理アドレスレジスタ(LAR)、51…
…アドレス変換バッファディレクトリ(TLBLA)、61,71
……アドレス変換バッファデータ部(TLBRA)、62,72…
…バッファアドレスアレイ(BAA)、60,70……高速で情
報の授受可能な領域、81……バッファメモリ(BS)、91
……アドレスレジスタ、92……アドレス変換バッファ、
93……バッファアドレスアレイ。
Claims (1)
- 【請求項1】主記憶装置に格納されている情報の一部を
蓄えるバッファメモリと、該バッファメモリに格納され
るブロックのそれぞれの実アドレスを蓄えているバッフ
ァアドレスアレイと、読出要求及び書込要求が論理アド
レスで行なわれた時に該論理アドレスを実アドレスに変
換するアドレス変換機構とを有する情報処理装置におい
て、前記アクセス要求の論理アドレスを前記アドレス変
換機構を用いて変換した実アドレスと前記バッファアド
レスアレイに格納されている実アドレスとの一致の検出
を高速に行なうために、前記アドレス変換機構と前記バ
ッファアドレスアレイを、各カラムの索引論理アドレス
で複数の組に分割し、各組を同時に索引される可能性の
あるアドレス変換機構の少なくともその実アドレス格納
部とバッファアドレスアレイと実アドレス比較回路とを
高速に情報授受可能な領域に格納することを特徴とする
バッファメモリ制御装置。
Priority Applications (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62251472A JPH07120312B2 (ja) | 1987-10-07 | 1987-10-07 | バッファメモリ制御装置 |
| CA000579106A CA1310135C (en) | 1987-10-07 | 1988-10-03 | Buffer memory control apparatus |
| US07/252,686 US5050126A (en) | 1987-10-07 | 1988-10-03 | Buffer memory control apparatus |
| EP88116446A EP0311034B1 (en) | 1987-10-07 | 1988-10-05 | Cache memory control apparatus for a virtual memory data-processing system |
| DE3888438T DE3888438T2 (de) | 1987-10-07 | 1988-10-05 | Cachespeichersteuerungsvorrichtung für eine Datenverarbeitungsanordnung mit virtuellem Speicher. |
| KR1019880013086A KR910005510B1 (ko) | 1987-10-07 | 1988-10-07 | 버퍼 메모리 제어장치 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62251472A JPH07120312B2 (ja) | 1987-10-07 | 1987-10-07 | バッファメモリ制御装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0194459A JPH0194459A (ja) | 1989-04-13 |
| JPH07120312B2 true JPH07120312B2 (ja) | 1995-12-20 |
Family
ID=17223321
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62251472A Expired - Lifetime JPH07120312B2 (ja) | 1987-10-07 | 1987-10-07 | バッファメモリ制御装置 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US5050126A (ja) |
| EP (1) | EP0311034B1 (ja) |
| JP (1) | JPH07120312B2 (ja) |
| KR (1) | KR910005510B1 (ja) |
| CA (1) | CA1310135C (ja) |
| DE (1) | DE3888438T2 (ja) |
Families Citing this family (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6336180B1 (en) | 1997-04-30 | 2002-01-01 | Canon Kabushiki Kaisha | Method, apparatus and system for managing virtual memory with virtual-physical mapping |
| JPH035851A (ja) * | 1989-06-01 | 1991-01-11 | Fujitsu Ltd | バッファ記憶装置 |
| US5077826A (en) * | 1989-08-09 | 1991-12-31 | International Business Machines Corporation | Cache performance in an information handling system employing page searching |
| JPH0748191B2 (ja) * | 1989-08-10 | 1995-05-24 | 株式会社日立製作所 | バッファ記憶制御装置 |
| JP2747610B2 (ja) * | 1989-08-17 | 1998-05-06 | 臼井国際産業株式会社 | 高圧流体供給管の製造方法 |
| US5412611A (en) * | 1992-03-17 | 1995-05-02 | Fujitsu, Limited | FIFO memory device capable of writing contiguous data into rows |
| US5588128A (en) * | 1993-04-02 | 1996-12-24 | Vlsi Technology, Inc. | Dynamic direction look ahead read buffer |
| AUPO648397A0 (en) | 1997-04-30 | 1997-05-22 | Canon Information Systems Research Australia Pty Ltd | Improvements in multiprocessor architecture operation |
| US6311258B1 (en) | 1997-04-03 | 2001-10-30 | Canon Kabushiki Kaisha | Data buffer apparatus and method for storing graphical data using data encoders and decoders |
| US6055204A (en) * | 1997-04-29 | 2000-04-25 | Texas Instruments Incorporated | Circuits, systems, and methods for re-mapping memory column redundancy |
| US6707463B1 (en) | 1997-04-30 | 2004-03-16 | Canon Kabushiki Kaisha | Data normalization technique |
| US6349379B2 (en) | 1997-04-30 | 2002-02-19 | Canon Kabushiki Kaisha | System for executing instructions having flag for indicating direct or indirect specification of a length of operand data |
| AUPO647997A0 (en) | 1997-04-30 | 1997-05-22 | Canon Information Systems Research Australia Pty Ltd | Memory controller architecture |
| US6259456B1 (en) | 1997-04-30 | 2001-07-10 | Canon Kabushiki Kaisha | Data normalization techniques |
| US6122837A (en) * | 1997-06-25 | 2000-09-26 | Verteq, Inc. | Centrifugal wafer processor and method |
| KR100328726B1 (ko) * | 1999-04-29 | 2002-03-20 | 한탁돈 | 메모리 엑세스 시스템 및 그 제어방법 |
| JP3881869B2 (ja) * | 2001-11-05 | 2007-02-14 | 株式会社ルネサステクノロジ | 半導体記憶装置 |
| JP2015176309A (ja) * | 2014-03-14 | 2015-10-05 | 株式会社東芝 | 半導体記憶装置 |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3829840A (en) * | 1972-07-24 | 1974-08-13 | Ibm | Virtual memory system |
| US4218743A (en) * | 1978-07-17 | 1980-08-19 | International Business Machines Corporation | Address translation apparatus |
| US4332010A (en) * | 1980-03-17 | 1982-05-25 | International Business Machines Corporation | Cache synonym detection and handling mechanism |
| JPS5928289A (ja) * | 1982-08-09 | 1984-02-14 | Hitachi Ltd | バツフア記憶制御方式 |
| JPH0658646B2 (ja) * | 1982-12-30 | 1994-08-03 | インタ−ナショナル・ビジネス・マシ−ンズ・コ−ポレ−ション | デ−タ持続性が制御される仮想記憶アドレス変換機構 |
| US4577293A (en) * | 1984-06-01 | 1986-03-18 | International Business Machines Corporation | Distributed, on-chip cache |
| JPS62118457A (ja) * | 1985-11-19 | 1987-05-29 | Hitachi Ltd | バツフア記憶制御方式 |
| JPH0661066B2 (ja) * | 1986-10-20 | 1994-08-10 | 株式会社日立製作所 | 記憶制御装置 |
-
1987
- 1987-10-07 JP JP62251472A patent/JPH07120312B2/ja not_active Expired - Lifetime
-
1988
- 1988-10-03 US US07/252,686 patent/US5050126A/en not_active Expired - Fee Related
- 1988-10-03 CA CA000579106A patent/CA1310135C/en not_active Expired - Lifetime
- 1988-10-05 DE DE3888438T patent/DE3888438T2/de not_active Expired - Fee Related
- 1988-10-05 EP EP88116446A patent/EP0311034B1/en not_active Expired - Lifetime
- 1988-10-07 KR KR1019880013086A patent/KR910005510B1/ko not_active Expired
Also Published As
| Publication number | Publication date |
|---|---|
| DE3888438D1 (de) | 1994-04-21 |
| KR910005510B1 (ko) | 1991-07-31 |
| DE3888438T2 (de) | 1994-09-01 |
| CA1310135C (en) | 1992-11-10 |
| EP0311034A2 (en) | 1989-04-12 |
| EP0311034A3 (en) | 1990-07-04 |
| US5050126A (en) | 1991-09-17 |
| EP0311034B1 (en) | 1994-03-16 |
| JPH0194459A (ja) | 1989-04-13 |
| KR890007169A (ko) | 1989-06-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4823259A (en) | High speed buffer store arrangement for quick wide transfer of data | |
| US5230045A (en) | Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus | |
| US5123101A (en) | Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss | |
| US5319763A (en) | Data processor with concurrent static and dynamic masking of operand information and method therefor | |
| US5257361A (en) | Method and apparatus for controlling one or more hierarchical memories using a virtual storage scheme and physical to virtual address translation | |
| US4525778A (en) | Computer memory control | |
| KR920005280B1 (ko) | 고속 캐쉬 시스템 | |
| US4589092A (en) | Data buffer having separate lock bit storage array | |
| JPH07120312B2 (ja) | バッファメモリ制御装置 | |
| US6901501B2 (en) | Data processor | |
| JPH05173837A (ja) | オペランド内の情報のスタティックおよびダイナミック・マスキングを兼ね備えるデータ処理システム | |
| US4943914A (en) | Storage control system in which real address portion of TLB is on same chip as BAA | |
| EP0166192B1 (en) | High-speed buffer store arrangement for fast transfer of data | |
| JPS62202247A (ja) | キヤツシユメモリ内容一致処理方式 | |
| EP0310446A2 (en) | Cache memory management method | |
| US5396605A (en) | Buffer storage control apparatus including a translation lookaside buffer and an improved address comparator layout arrangement | |
| JP2654590B2 (ja) | 半導体集積回路装置 | |
| JPS6152504B2 (ja) | ||
| JPH01199250A (ja) | データ処理装置 | |
| JP2507721B2 (ja) | バツフアメモリ装置 | |
| JPS59218692A (ja) | ロジカルバツフア記憶制御方式 | |
| JPS62171058A (ja) | アドレス変換装置 | |
| JPH0719224B2 (ja) | 演算処理装置 | |
| JPH087716B2 (ja) | 半導体記憶装置 | |
| JPH0313616B2 (ja) |