JP3352947B2 - 高性能マルチポート支援lruメモリ - Google Patents

高性能マルチポート支援lruメモリ

Info

Publication number
JP3352947B2
JP3352947B2 JP18542598A JP18542598A JP3352947B2 JP 3352947 B2 JP3352947 B2 JP 3352947B2 JP 18542598 A JP18542598 A JP 18542598A JP 18542598 A JP18542598 A JP 18542598A JP 3352947 B2 JP3352947 B2 JP 3352947B2
Authority
JP
Japan
Prior art keywords
output
signal
port
lru
inverter
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 - Fee Related
Application number
JP18542598A
Other languages
English (en)
Other versions
JPH1196073A (ja
Inventor
ムン ウォン アン
ホイ シキ カン
Original Assignee
ヒュンダイ エレクトロニクス インダストリーズ カムパニー リミテッド
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
Priority claimed from KR1019970029665A external-priority patent/KR100246469B1/ko
Priority claimed from KR1019970029666A external-priority patent/KR100246468B1/ko
Application filed by ヒュンダイ エレクトロニクス インダストリーズ カムパニー リミテッド filed Critical ヒュンダイ エレクトロニクス インダストリーズ カムパニー リミテッド
Publication of JPH1196073A publication Critical patent/JPH1196073A/ja
Application granted granted Critical
Publication of JP3352947B2 publication Critical patent/JP3352947B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明はスーパースカラーマ
イクロプロセッサー(superscalar microprocessor)に関
し、特にメモリ内容の交替(replacement) または変更(u
pdate)のためのメモリアクセスのヒストリーを貯蔵する
LRU(Least Recently Used) メモリに関する。
【0002】
【従来の技術】スーパースカラー構造のマイクロプロセ
ッサーは毎サイクルごとに2個以上の命令語を実行し、
このためにキャッシュメモリ、TLB(Translation Loo
kasideBuffer)、BTB(Branch Target Buffer)等は2
ポート以上を支援しなければならず、4ウェイセットア
ソシエイチブ(4way set associative)で具現されること
が一般的である。
【0003】この時、4ウェイセットアソシエイチブの
具現のために必要なLRUメモリが2ポート以上を支援
するために考慮するべき点は同時にアクセスされるエン
トリーの結果を全部反映してエントリーアクセスヒスト
リー(LRUデータ)を変更しなければならない点であ
る。
【0004】一例として、2つのポートを支援するキャ
ッシュメモリのメモリアクセスの結果を考察してみる
と、二つのポートともにミス(miss)の場合、一番目のポ
ートはミスで二番目のポートがヒット(hit) の場合、一
番目のポートはヒットで二番目のポートがミスの場合、
二つのポートが皆ヒットの場合に区分される。
【0005】このような4種類のケースに該当されるキ
ャッシュメモリアクセス情報を区分してエントリーアク
セスヒストリー(LRUデータ) に反映しなければなら
ず、LRUメモリをアクセスしウェイヒット(way hit)
の情報を反映しLRUデータを修正してLRUメモリに
再び記録する作業を毎サイクルごとに実行すべきで、従
来はこのような機能をキャッシュ制御ブロックで実行す
る。
【0006】この場合、LRUデータ経路(パス)はL
RUメモリで判読(read out)されてキャッシュ制御ブロ
ックに伝えられて、キャッシュ制御ブロックで修正(mod
ification)(または反映(reflection)) してから再びL
RUメモリに伝えられて記録される。これはキャッシュ
メモリアクセスの臨界経路(critical path) ということ
ができる。
【0007】図1は8エントリー4ウェイセットアソシ
エイチブ2ポート支援LRUメモリを従来の方式で具現
した例を図示したもので、アドレスデコーダーブロック
102とLRU SRAMブロック104を含む。
【0008】図1を参照すれば、アドレスデコーダーブ
ロック102は8エントリーのための3ビットインデッ
クスアドレスをクロックに同期してラッチしてデコーデ
ィングする。
【0009】そして、LRU判読信号(LRU READ SIGNA
L) がイネーブルされる時、判読時間信号(Read TIME SI
GNAL)に同期してデコーディング結果からワードライン
信号(WORD[7:0]) を作ってLRU SRAMブロック1
04に出力する。
【0010】また、LRU記録信号(LRU WRITE signal)
がイネーブルになれば記録時間信号(WRITE TIME signa
l) に同期してデコーディング結果からWORD[7:0] を作
ってLRU SRAMブロック104に出力する。
【0011】LRU SRAMブロック104はLRU RE
AD信号がイネーブルの場合上記アドレスデコーダーブロ
ック102から入力されたWORD[7:0] に応答してイネー
ブルエントリーだけを読んで貯蔵された3ビットの判読
データ(READ DATA) を制御ブロック(図示せず) に出力
して、これと反対にLRU WRITE 信号がイネーブルの場合
アドレスデコーダーブロック102から入力されたWORD
[7:0] に応答してイネーブルされたエントリーに外部か
ら入力された3ビットの記録データ(WRITE DATA)を貯蔵
する。
【0012】上記のように従来の方式はLRUメモリを
簡単に具現することはできるが、これを運用する制御ブ
ロックでREAD TIME ,WRITE TIME, WRITE DATAなどのよ
うな信号とデータを正確に制御しなければならないとい
う難しさがあり、READ DATAを伝達されてウェイヒット
(WAY HIT) 情報を反映させたWRITE DATA(LRU更新デ
ータ) を作る過程を早く進行しなければならないという
負担があり、またLRUメモリを判読して判読されたRE
AD DATA を制御ブロックで伝達されてWRITE DATAにして
再びLRUメモリに伝達してから再び記録する過程が毎
サイクルごとに実行されるのでこのような過程により高
性能を実現できないという問題がある。
【0013】
【発明が解決しようとする課題】本発明は、このような
従来の問題点を解決すべくなされたもので、LRU変更
を早く実行して制御ブロックを簡単に具現することによ
ってスーパースカラーマイクロプロセッサーの性能を向
上させることができる高性能マルチポート支援LRUメ
モリを提供することにその目的がある。
【0014】
【課題を解決するための手段】本発明は、上記の課題を
解決するために、擬似交替ポリシーを実行可能なLRU
メモリにおいて、インデックスアドレスをデコーディン
グしてクロック信号の第1位相に応答して判読ワードを
出力し、クロック信号の第2位相に応答して記録ワード
を出力するアドレスデコーディング手段と、複数のLR
Uデータを貯蔵して上記判読ワードに応答するセルから
LRUデータを判読データとして出力し上記記録ワード
に応答するセルに記録データを記入するLRU貯蔵手段
と、ウェイヒットをデコーディングして上記クロック信
号の第2位相に応答して修正制御信号を出力するウェイ
ヒットデコーディング手段と、上記LRU貯蔵手段から
の判読データをラッチして検知データとして出力し、上
記修正制御信号に応答して上記判読データを修正して上
記LRU貯蔵手段に上記記録データを出力するデータ修
正手段と、擬似LRU交替ポリシーにより上記検知デー
タを分析して記録ウェイを出力する記録ウェイデコーデ
ィング手段とを含む。
【0015】
【発明の実施の形態】以下、本発明の望ましい実施例に
ついて添付された図面を参照して詳細に説明する。
【0016】まず、本発明での技術的な特徴は既存には
制御ブロックで具現された機能をLRUメモリで自主的
に支援するということで、メモリ構造自体が多少複雑に
なる点はあるけれどデータ経路と制御経路の単純化され
て本発明が目的とする高性能を実現できる。
【0017】また、本発明ではLRUメモリを判読して
判読されたデータをウェイヒット情報により修正(modif
ied)して、この修正されたLRUデータをLRUメモリ
に記録するLRUメモリアクセスの臨界経路をLRUメ
モリ判読/修正データ経路と、LRU修正/記録経路に
分離してLRU判読動作とウェイヒットデコーディング
動作を並行して処理するようにし、LRU記録ビット(h
istory bits)をデコーディングして記録できるアソシエ
イチブウェイを決定してくれる一連の過程の記録ウェイ
デコーディング経路を分離して併行に実行することによ
って高性能を実現できる。
【0018】図2は本発明の望ましい実施例に係る高性
能マルチポート支援LRUメモリのブロック構成図で、
2ポート支援8エントリー4ウェイセットアソシエイチ
ブでなるLRUメモリの具現例を図示したことである。
【0019】図2に示すように、本発明のLRUメモリ
はアドレスデコーダーブロック202、LRU RAM
ブロック204、セルフタイム発生ブロック206、記
録ウェイデコーダーブロック212、データ検知/修正
ブロック210及びウェイヒットデコーダーブロック2
08を含む。
【0020】図2を参照すれば、アドレスデコーダーブ
ロック202では本実施例が8エントリーを支援するの
でAポートとBポートが3ビットインデックスアドレス
を入力して外部からのクロック(clock) に同期してラッ
チしてからデコーディングし、また後述するセルフタイ
ム発生ブロック206から提供される判読時間信号(REA
D TIME signal)に応答して8ビットの判読ワード(READ
WORD) を後述するLRU SRAMブロック204に伝
達して、セルフタイム発生ブロック206から提供され
る記録時間信号(WRITE TIME signal) に応答して8ビッ
トの記録ワード(WRITE WORD)を作ってLRU SRAM
ブロック204に伝達する。
【0021】また、アドレスデコーダーブロック202
ではAポートとBポートが同じエントリーをアクセスす
る時修正されたLRUデータは一回だけ記録されるべき
なのでAポートインデックスとBポートインデックスと
を比較して同じ場合比較ヒット信号(COMPARE HIT Signa
l)をイネーブルさせて後述するウェイヒットデコーダー
ブロック208に伝達した後、B WRITE WORDはディセー
ブルさせてA WRITE WORDはイネーブルさせる。
【0022】このように本発明のLRUメモリに採用さ
れるアドレスデコーダーブロック202は、一例として
図3に示すように多数の論理素子を利用して構成でき
る。
【0023】すなわち、本発明の望ましい実施例によっ
て一例として採用されるアドレスデコーダーブロック2
02は3ビットのAポートインデックスアドレスを各々
入力してラッチする3個のラッチ(LH31,LH3
2,LH33)を含むラッチブロック2021、3ビッ
トのBポートインデックスアドレスを各々入力してラッ
チする3個のラッチ(LH34,LH35,LH36)
でなるラッチブロック2023と、READ TIME 及びWRIT
E TIME信号に応答して上記ラッチブロック2021から
インデックスアドレスを入力してデコーディングしてA
ポートに対する8ビットのWRITE WORD及びREAD WORD を
生成するAポート判読/記録ワード生成ブロック202
5,READ TIME 及びWRITE TIME信号に応答して上記ラッ
チブロック2023からインデックスアドレスを入力し
てデコーディングしてBポートに対する8ビットのWRIT
E WORD及びREAD WORD を生成するBポート判読/記録ワ
ード生成ブロック2027及び上記ラッチブロック20
21, 2023から各々Aポートのインデックスアドレ
ス及びBポートのインデックスアドレスを入力して相互
比較してCOMPARE HIT 信号を出力する比較器2029を
含む。
【0024】図3を参照すれば、ラッチブロック202
1の各ラッチ(LH31,LH32,LH3)はクロッ
ク信号及びインバータ(I31)を通じ反転されたクロ
ック信号に各々同期されてクロックがハイの間Aポート
を通じ入力される3ビットのインデックスアドレスをラ
ッチしてから次端のAポート判読/記録ワード生成ブロ
ック2025に伝達して、またラッチブロック2023
の各ラッチ(LH34,LH35,LH36)はクロッ
ク信号及びインバータ(I31)を通じ反転されたクロ
ック信号に各々同期されてクロックがハイの間Bポート
を通じ入力される3ビットのインデックスアドレスをラ
ッチしてから次端のBポート判読/記録ワード生成ブロ
ック2027に伝達する。
【0025】次に、Aポート判読/記録ワード生成ブロ
ック2025は、三個のラッチ(LH1,LH32,L
H33) からの各出力と各インバータ(I32,I3
3,I34)を通じこれらラッチの各出力を反転させた
三個の各反転出力をそれぞれの3入力とする8個のナン
ドゲートでなるナンドゲートグループと、各ナンドゲー
トの出力をそれぞれの一側の入力として図2のセルフタ
イム発生ブロック206から提供されるREAD TIME 信号
をインバータ(I38)を通じ反転させた反転されたRE
AD TIME 号をそれぞれの他側の入力とする8個のノアゲ
ートで構成されてA READ WORD[7:0]を発生するノアゲー
トグループと、各ナンドゲートの出力をそれぞれの一側
の入力として図2のセルフタイム発生ブロック206か
ら提供されるWRITE TIME信号をインバータ(I39)を
通じ反転させた反転されたWRITE TIME信号をそれぞれの
他側の入力とする8個のノアゲートで構成されてA WRIT
E WORD[7:0] 発生するノアゲートグループで構成され
る。
【0026】また、Bポート判読/記録ワード生成ブロ
ック2027は、三個のラッチ(LH4,LH35,L
H36)からの各出力と各インバータ(I35,I3
6,I37)を通じこれらラッチの各出力を反転させた
三個の各反転出力をそれぞれの3入力とする8個のナン
ドゲートでなるナンドゲートグループと、各ナンドゲー
トの出力をそれぞれの一側の入力として図2のセルフタ
イム発生ブロック206から提供されるREAD TIME 信号
をインバータ(I38)を通じ反転させた反転されたRE
AD TIME 号をそれぞれの他側の入力とする8個のノアゲ
ートで構成されてB READ WORD[7:0]を発生するノアゲー
トグループと、各ナンドゲートの出力をそれぞれの一側
の入力として図2のセルフタイム発生ブロック206か
ら提供されるWRITE TIME信号をインバータ(I39)を
通じ反転させた反転されたWRITE TIME信号をそれぞれの
他側の入力とし比較器2029の出力をそれぞれの別の
他側の入力とする8個のノアゲートで構成されてB WRIT
E WORD[7:0] を発生するノアゲートグループで構成され
る。
【0027】そして、比較器2029はラッチブロック
2021内の各ラッチ(LH31,LH2,LH33)
の出力とラッチブロック2023内の各ラッチ(LH3
4,LH35,LH36)の出力を入力としてインデッ
クスが同一であるかを比較して、その比較結果に応答し
てCOMPARE HIT 信号を発生して後述するウェイヒットデ
コーダーブロック208に提供する。
【0028】AポートとBポートが同じエントリーをア
クセスする時、修正されたLRUデータは一回だけ記録
しなければならないのでAポートインデックスアドレス
とBートインデックスアドレスを比較して同じ場合COMP
ARE HIT 信号をイネーブルさせることによりB WRITE WO
RDはディセーブルさせてA WRITE WORDはイネーブルさせ
る。
【0029】上記図2を参照すれば、LRU SRAM
ブロック204は2ポート(A,Bポート) クセスデュアル
ポート(判読、記録ポート)支援8*3 SRAMセル
アレイブロックにLRUヒストリービットをエントリー
別に貯蔵する。ここでデュアルポートを支援する理由は
判読と記録を分離して記録時間と判読ポートプリチャー
ジ期限を同時に処理するためでLRU判読データ経路と
修正/記録データ経路の分離を可能にする。
【0030】本発明のLRU SRAMブロックを構成
する各セルは、一例として図4に示すように6個のトラ
ンジスター(TR41−TR46)と2個のインバータ
(I41, 42)でなる二重化構造で構成されて、A,
Bポートのアクセスを同時に支援して、判読動作と記録
動作が分離されるデュアルポート(判読データポートと
記録データポート)を具現することによって、判読動作
後の記録時間に判読データポートをプリチャージさせ高
性能を実現する。すなわち、各SRAMセルはゲートが
A WRITE WORDラインに連結されソースにA WRITE DATAラ
インが連結されたトランジスター(TR41)と、上記
トランジスター(TR41)のドレーンに入力が連結さ
れたインバータ(I41)と、ゲートがインバータ(I
41)の出力に連結されソースが接地に連結されたトラ
ンジスター(TR42)と、ゲートがA READ WORD ライ
ンに連結されソースにトランジスター(TR42)のド
レーンが連結されドレーンがA READ DATAラインに連結
されたトランジスター(TR43) と、ゲートがB WRIT
E WORDラインに連結されソースがB WRITE DATAラインに
連結されたトランジスター(TR44)と、このトラン
ジスター(TR44)のドレーンに出力端が連結された
インバータ(I42)と、ゲートがこのインバータ(I
42)の入力端に連結されてソースが接地に連結された
トランジスター(TR45)と、ゲートがB READ WORD
ラインに連結されソースがトランジスター(TR45)
のドレーンに連結されドレーンがB READ DATAラインに
連結されたトランジスター(TR46)とで構成され
る。この時トランジスター(TR41)のドレーン、イ
ンバータ(I41)の入力、トランジスター(TR4
4)のドレーン、インバータ(I42)の出力端間は相
互に共通に連結されて、またインバータ(I41)の出
力、トランジスター(TR42)のゲート、インバータ
(I42)の入力端及びトランジスター(TR45)の
ゲートは相互に共通に連結する。
【0031】図2のセルフタイム発生ブロック206
は、本発明で得ようとする高速動作を実現するために複
雑でかつ正確性が要求される制御クロックと制御信号を
自主的に発生するブロックとして、図示しない外部制御
ブロックから提供されるクロック信号とLRU READ信号及
びLRU WRITE 信号に基づいて、READ TIME 信号及びWRIT
E TIME信号を発生して前述したアドレスデコーダーブロ
ック202に提供して、ウェイデコーダーラッチ時間信
号(WAY DECODER LATCH TIME signal) 発生して後述する
記録ウェイデコーダーブロック212に提供して、判読
ラッチ時間信号(READ LATCH TIME signal)及び判読プリ
チャージ時間信号(READ PRECHARGE TIME signal)を発生
してデータ検知/修正ブロック210に提供して、LR
U修正時間信号(LRU MODIFY TIME) を発生してウェイヒ
ットデコーダーブロック208に提供する。
【0032】このようにセルフタイム発生ブロック20
6で生成される各種信号に対するタイミングが図6に詳
細に図示されている。同図面を参照すれば、READ TIME
信号(アクティブハイ)とREAD PRECHARGE TIME 信号
(アクティブロー)のアクティブ区間が重複されない
し、READ PRECHARGE TIME 信号(アクティブロー)とRE
ADLATCH TIME 信号(アクティブハイ)のアクティブ区
間が重複にならないし、LRU MODIFY TIME 信号(アクテ
ィブハイ)がイネーブルされてからWRITE TIME信号(ア
クティブハイ) がイネーブルされ、READ LATCH TIME 信
号(アクティブハイ) とWAY DECODER LATCH TIME(アク
ティブハイ)が重複にならないことが分かる。
【0033】図6でLRU メモリでのREADに関する動
作をクロック信号の第1位相(例えば、ハイ状態区間)
に応答して実行され、WRITE に関する動作はクロック信
号の第2位相(例えば、ロー状態区間) に応答して実行
される。そうして、LRUメモリの動作の並列処理が可
能になって、処理速度を改善できる。
【0034】したがって、このようなインタバルクロッ
ク間のタイミングの関係は本発明で得ようとする高性能
マルチポートLRUメモリを具現することに非常に重要
な機能である。
【0035】この時、セルフタイム発生ブロック206
から生成される信号中READ TIME 信号は3ビットインデ
ックスアドレスをデコーディングして8個のデコーディ
ングされたラインが有効の時イネーブルされてREAD WOR
D が十分に実行されて判読データが有効になればディセ
ーブルされる信号で、WRITE TIME信号はデータ検知/正
ブロック210から記録データが有効になればイネーブ
ルされてWRITE WORDが十分に実行されてLRU SRA
Mブロック204のSRAMセルが更新されればディセ
ーブルされる信号であり、LRU MODIFY TIME 信号は記録
データがデータ検知/修正ブロック210にラッチされ
てウェイヒット情報がウェイヒットデコーダーブロック
208からLRUデータ修正に必要な情報を得た時イネ
ーブルされてデータ検知/修正ブロック210でウェイ
ヒットデコーディング結果がLRUデータに十分に反映
された時ディセーブルされる信号である。
【0036】また、セルフタイム発生ブロック206か
ら生成される信号中READ PRECHARGE TIME 信号はREAD WO
RD 信号がディセーブルなればイネーブルされてREAD WO
RD号がイネーブルされる前にディセーブルされる信号
で、READ LATCH TIME 信号はREAD WORD 信号がイネーブ
ルされてREAD DATAが有効にならばそのREAD DATAをラ
ッチするのに使用する時間であり、WAY DECODER LATCH
TIME信号は記録ウェイデコーダーブロック212でデコ
ーディングされた記録ウェイデータをラッチするのに使
われる信号である。
【0037】上記のように高速実行に必要な各種信号を
生成するセルフタイム発生ブロック206は、入力クロ
ックの周波数の変化に影響を受けないようにした一例と
して図5に示すような2位相ノンオバーラップ(non-ove
rlap) クロックドライバーを利用して構成できる。
【0038】ここで、READ PRECHARGE TIME 信号はアク
ティブローで、その他の信号はアクティブハイである。
すなわち、図5を参照すれば、セルフタイム発生ブロッ
ク206で生成されるREAD PRECHARGE TIME 信号は、ク
ロック信号を入力するインバータ(I51) と、一側の
入力端がインバータ(I51)の出力端に連結されて他
側の入力端がインバータ(I55)の出力端に連結され
たナンドゲート(ND51)と、ナンドゲート(ND5
1)の出力に直列連結される二つのインバータ(I5
2,I53)とで構成された論理回路グループを通じ生
成される。図面でLRU READ信号とLRU WRITE 信号はアク
ティブロー信号である。
【0039】また、セルフタイム発生ブロック206で
生成されるREAD TIME 信号は、一側の入力端がクロック
信号に連結されて他側の入力端がインバータ(I60)
の出力端に連結されたナンドゲート(ND52)と、こ
のナンドゲート(ND52)の出力端に直列連結される
二つのインバータ(I54,I55)と、一側の入力端
がインバータ(I55)の出力端が連結されて他側の入
力端が外部制御ブロックから提供されるLRU READ信号に
連結されたノアゲート(NR51)で構成された論理回
路グループを通じ生成されて、READ LATCH TIME 信号は
上記のノアゲート(NR51)の出力に直列連結される
二つのインバータ(I56,I57) で構成された論理
回路グループを通じ生成される。
【0040】一方、セルフタイム発生ブロック206で
生成されるLRU MODIFY TIME信号は、入力端がクロック
信号に連結されたインバータ(I58)と、一側の入力
端が上記のインバータ(I55)の出力端に連結されて
他側の入力端がインバータ(I58)の出力端に連結さ
れたナンドゲート(ND53)と、このナンドゲート
(ND3)の出力端に直列連結される三個のインバータ
(I59,I60,I61) で構成された論理回路グル
ープを通じ生成される。
【0041】次に、セルフタイム発生ブロック206で
生成されるWAY DECODER LATCH TIME信号は、一側の入力
端がインバータ(I61)の出力端に連結されて他側の
入力がインバータ(I58)の出力端に連結されたナン
ドゲート(ND54)及び一側の入力端が外部制御ブロ
ックから提供されるLRU READ信号に連結されて他側の入
力端が上記のナンドゲート(ND54)の出力端に連結
されたノアゲート(NR2)で構成された論理回路グル
ープを通じ生成されて、またWRITE TIME信号は一側の入
力端が上記ナンドゲート(ND54)の出力端に連結さ
れて他側の入力端が外部制御ブロックから提供されるLR
U WRITE 信号に連結されたノアゲート(NR3)とを通
じ生成される。
【0042】図2のウェイヒットデコーダーブロック2
08では外部キャッシュのタグブロックからA,Bポー
トとも4ビットずつのウェイヒット信号(WAY HIT signa
l)伝達されて擬似LRU交替ポリシーにより修正すべき
ビットの情報を得て、セルフタイム発生ブロック206
から提供されるLRU MODIFY TIME 信号に基づいてA,B
ポートはともに6ビットずつ修正制御信号を生成してデ
ータ検知/修正ブロック210に提供して、前述したア
ドレスデコーダーブロック202から提供されるCOMPAR
E HIT 信号がイネーブルならばAポートとBポートのウ
ェイヒット情報を順次に適用した修正制御信号を生成し
てAポートの修正制御信号に反映させる。
【0043】この時、修正制御信号はポート当りり6ビ
ットとしてLRUデータ各ビット別に2個の信号、すな
わちセットイネーブルとリセットイネーブル信号であ
り、これはウェイヒットをデコーディングして変更しよ
うとするLRUビットをセット(論理“0”から論理
“1”に変更が必要な場合)させたりリセット(論理
“1”から論理“0”に変更が必要な場合)させたりす
る方法を使用してLRUデータの修正をより早く実行す
ることによって本発明で得ようとする高性能動作を可能
にする。このような機能を支援するために後述するデー
タ検知/修正ブロック210内の判読データラッチ回路
ではセット、リセット機能を支援する。
【0044】図7は上記のような機能を持つ本発明に係
るウェイヒットデコーダーブロックの細部的な論理回路
図を示す。
【0045】図7を参照すれば、ウェイヒットデコーダ
ーブロック208は複数のナンドゲート群(ND71,
ND72,ND73,ND74,ND75,ND76,
ND77)、インバータ(I71)、複数のインバータ
群(I72,I74,I75)及びオアゲート群(OG
1)を含む。インバータ群(I72)は4個のインバー
タで構成され、Aポートのウェイヒット信号(A WAY HHI
T[3:0])の該当ビットを各々反転する。
【0046】ナンドゲート群(ND71)は4個のナン
ドゲートで構成され、各ナンドゲートはインバータ群
(I72)の該当される出力とインバータ(I71)か
ら反転された比較ヒット信号を入力する。ナンドゲート
群(ND76)はBポートのウェイヒット信号(B WAY H
IT[3:0] )の該当されるビットとインバータ群(I7
2)の出力中のいずれかの一つを各々入力する4個のナ
ンドゲートで構成される。
【0047】ナンドゲート群(ND77)はインバータ
群(I72)の該当される出力とナンドゲート群(ND
76)の該当される出力を各々入力する4個のナンドゲ
ートで構成される。オアゲート群(OG71)は4個の
オアゲートで構成され、各オアゲートはナンドゲート群
(ND77)の該当される出力とインバータ(I71)
から反転比較ヒット信号を入力する。
【0048】ナンドゲート群(ND72)は4個の3入
力ナンドゲートで構成されて上記インバータ群(I7
2)内の各インバータの各出力と上記ノアゲート群(N
R73)内の各ノアゲートの各出力を各ナンドゲートの
一側及び他側の入力として図2のセルフタイム発生ブロ
ック206から提供されるLRU MODIFY TIME 信号を各ナ
ンドゲートの別の他側の共通入力とする。
【0049】ナンドゲート群(ND73)はナンドゲー
ト群(ND72)内の2個のナンドゲートの各出力を一
側及び他側の入力とする一つのナンドゲートとナンドゲ
ート群(ND72)内の他の二つのナンドゲートの各出
力を一側及び他側の入力とする他の一つのナンドゲート
で構成されて修正制御信号中でAポートに対する6ビッ
ト信号中でA0 CLEAR信号及びA0 SET信号を発生する。
【0050】インバータ群(I74)はナンドゲート群
(ND72)内の各ナンドゲートの各出力に各々連結す
る4個のインバータで構成されて修正制御信号中でAポ
ートに対する6ビット信号中でA1 CCLEAR ,A1 SET,A2
CLEAR及びA2 SETを各々発生する。また、ナンドゲート
群(ND74)は4個のナンドゲートで構成されて各ナ
ンドゲートが外部のキャッシュタグブロックから提供さ
れるBポートのWAY HIT[3:0]の各ビットをそれぞれの一
側の入力として図2のセルフタイム発生ブロック206
から提供されるLRU MODIFY TIME 信号をそれぞれの他側
の入力とする。
【0051】ナンドゲート群(ND75)はナンドゲー
ト群(ND74)の出力中で2個の出力を各々一側及び
他側の入力とする一つのナンドゲートとナンドゲート群
(ND74)の出力中で他の2個の出力を各々一側及び
他側の入力とする他の一つのナンドゲートで構成されて
修正制御信号中でBポートに対する6ビット信号中でB0
CLEAR及びB0 SETを発生する。
【0052】インバータ群(I75)はナンドゲート群
(ND74)内の各ナンドゲートの各出力に各々連結さ
れる4個のインバータで構成されて修正制御信号中でB
ポートに対する6ビット信号中でB1 CLEAR,B1 SET,B2
CLEAR及びB2 SETを各々発生する。
【0053】再び図2を参照すれば、データ検知/修正
ブロック210は前述したLRU SRAMブロック204と
A,Bポートの各3ビットずつのREAD DATAライン及び
WRITE DATAラインで連結する。上述したセルフタイム発
生ブロック206から提供されるREAD PRECHARGE TIME
信号に基づいてREAD DATAラインをプリチャージさせ
て、READ DATAを検知して、検知したREAD DATAをREAD
LATCH TIME 信号に同期させAポートは2ケ所に、Bポ
ートは1ケ所に貯蔵して、Aポートの貯蔵データを検知
データにして記録ウェイデコーダーブロック212に伝
達して、またLRUデータにして図示しない外部制御ブ
ロックに伝達する。
【0054】また、データ検知/修正ブロック210は
ウェイヒットデコーダーブロック208からLRU修正
に必要なポート当り6ビットずつの修正制御信号を提供
されてAポートの他のラッチデータとBポートのラッチ
データを変更させて、この変更された修正LRUデータ
を記録データとして支援する機能を実行する。
【0055】図8は上記のデータ検知/修正ブロック2
10のAポートとBポートの3ビット中の一例として一
ビットずつのみを具現したもので、前述した図2のLRU
SRAMブロック204からのREAD DATA ラインが連結され
ていて、このREAD DATA インはREAD PRECHARGE TIME(ア
クティブロー) 信号によりハイにプリチャージして、RE
AD WORD 信号がイネーブルなれば該当ワードのデータを
検知するようになる。
【0056】この時、READ DATAを検知する二つのイン
バータ(I81,I83)は必要によって既存の検知増
幅器で代えることができる。
【0057】図8を参照すれば、データ検知/修正ブロ
ック210は、図2のセルフタイム発生ブロック206
から提供されるREAD PRECHARGE TIME 信号が各ゲートに
連結された二つのP型トランジスター(TR81,TR
82)と、A READ DATA ラインに直列連結される二つの
インバータ(I81,I82)と、B READ DATA ライン
に直列連結される二つのインバータ(I83,I84)
及びREAD LATCH TIME信号に連結されたインバータ(I
85)とを含む。ここで、P型トランジスター(TR8
1,TR82)はA READ DATA ライン及びB READ DATA
ライン間に直列接続されて、共通ソース端に電源電圧が
連結される。
【0058】また、データ検知/修正ブロック210
は、READ DATA が検知される時READ LATCH TIME 信号に
よりデータを貯蔵する三個のラッチ(LH81,LH8
2,LH83)を含む。ラッチ(LH81)はAポート
の場合にだけデータを貯蔵してこのラッチしたデータを
検知データ及びLRUデータにして出力し、ラッチ(L
H82)はAポートの時データを貯蔵してA SET 信号ま
たはA CLEAR 信号がイネーブルされる時ラッチされるデ
ータをセットさせたりクリアさせたりしてWRITE DATAを
生成し、ラッチ(LH83)はBポートの時データを貯
蔵してB SET 信号またはB CLEAR 信号がイネーブルされ
る時ラッチされるデータをセットさせたりクリアさせた
りしてWRITE DATAを生成する。
【0059】ここで、二つのラッチ(LH82,LH8
3)は実質的に同じ構成を持つ。一例としてラッチ(L
H82)はREAD LATCH TIME 信号及びインバータ(I8
5)の出力端に各ゲートが各々連結されて各ソースが共
通にインバータ(I82)の出力端に連結されて各ドレ
ーンが共通に連結された二つのトランジスター(TR8
5,TR86)と、二トランジスター(TR85,TR
86)の共通出力端に入力端が連結されたインバータ
(I86)と、入力がインバータ(I86)の出力に連
結されて出力が二トランジスター(TR85,TR8
6)の共通出力に連結されたインバータ(I87)び入
力端がインバータ(I86)の出力端に連結されて出力
がA READ DATA ラインに連結されたインバータ(I8
8)と、ゲートがA CLEAR 信号に連結されてソースが接
地に連結されてドレーンが二トランジスター(TR8
5,TR86)の共通ドレーンに連結されたトランジス
ター(TR87)と、ゲートがA SET 信号に連結されて
ソースが接地に連結されてドレーンがインバータ(I8
6)の出力端とインバータ(I88)の入力端に連結さ
れたトランジスター(TR88)で構成される。
【0060】したがって、データ検知/修正ブロック2
10ではREAD DATA が検知される時READ LATCH TIME 信
号に基づいて各ラッチ(LH81,LH82,LH8
3)にデータを貯蔵、すなわちAポートの場合ラッチ
(LH81)及びラッチ(LH82)にデータを貯蔵
し、Bポートの場合ラッチ(LH83)にだけデータを
貯蔵して、このようにデータが貯蔵された状態でウェイ
ヒットデコーダーブロック208から提供されるセット
信号またはクリア信号がイネーブルされる時該当ラッチ
(LH82又はLH83)にラッチをセットさせたりク
リアさせたりしてWRITE DATAをLRU SRAMブロック204
に伝達する。
【0061】図2の記録ウェイデコーダーブロック21
2ではデータ検知/修正ブロック210から検知された
3ビットデータを提供されて擬似LRU交替ポリシーに
より最も先に使われたウェイを判別して、上述したセル
フタイム発生ブロック206から提供されるWAY DECODE
R LATCH TIME信号によって判別結果をラッチしてWRITE
WAY 信号を生成する。
【0062】このような記録ウェイデコーダーブロック
212の一例が図9に図示される。
【0063】図9を参照すれば、本発明に採用される記
録ウェイデコーダーブロック212は検知データの各ビ
ットを入力とする三個のインバータ(I91,I92,
I93)と、対応する各インバータ(I91,I92,
I93)の出力端に各々連結された三個のインバータ
(I94,I95,I96)と、一側の入力端がインバ
ータ(I94)の出力に連結されて他側入力がインバー
タ(I95)の出力に連結されたナンドゲート(ND9
1) と、一側の入力端がインバータ(I91)の出力端
に連結されて他側の入力端がインバータ(I95)の出
力端に連結されたナンドゲート(ND92)、一側の入
力端がインバータ(I92)の出力に連結されて他側の
入力端がインバータ(I96)の出力端に連結されたナ
ンドゲート(ND93)と、一側の入力端がインバータ
(I92)の出力端に連結されて他側の入力端がインバ
ータ(I93)の出力端に連結されたナンドゲート(N
D94)と、四個のナンドゲート(ND91,ND9
2,ND93,ND94)の各出力をそれぞれの一側の
入力として図2のセルフタイム発生ブロック206から
提供されるWAY DECODER LATCH TIME信号及びインバータ
(I97)を通じ反転されたWAY DECODER LATCH TIME信
号をそれぞれの二入力としてWRITE WAY[3:0]を発生する
四個のラッチ(LH91,LH92,LH93,LH9
4)で構成される。
【0064】したがって、記録ウェイデコーダーブロッ
ク212では判読された3ビットデータをデコーディン
グして、検知データ[1:0]が論理“11”ならばウ
ェイ 0が最も先に使われたことが分かるので論理“00
01”のWRITE WAY[3:0]を生成して、 検知データ[1:
0]が論理“01”ならばウェイ 1が最も先に使われ
たことが分かるので論理“0010”のWRITE WAY[3:0]
を生成して、同様に検知データ{[2],[0]}が論
理“10”ならば論理“0100”のWRITE WAY[3:0]を
生成して、検知データ{[2],[0]}が論理“0
0”ならば論理“1000”のWRITE WAY[3:0]を生成す
る。
【0065】これは本発明に係るセルフ更新LRUメモ
リがLRU[0]をグループビットとして使用して、WA
Y HIT がローグループ(ウェイ 0又はウェイ 1がヒ
ットの場合)ならば論理“0”に、ハイグループ(ウェ
2又はウェイ 3がヒットの場合) ならば論理
“1”に更新して、LRU[1]はローグループビット
としてWAY HIT のウェイ 0がヒットならば論理“0”
に、ウェイ 1がヒットならば論理“1”に更新して、
LRU[ 2] はハイグループビットとしてウェイヒット
のウェイ 2がヒットの場合論理“0”に、ウェイ
がヒットの場合論理“1”に更新して擬似LRU記録(h
istory) を貯蔵する方式を使用するためである。
【0066】一方、本発明では擬似LRU交替ポリシー
のLRU[2:0]の機能を必要によって違うように
(グループビット、ローグループビット、ハイグループ
ビットをお互いに変更して使用する場合)具現できるの
に、この場合記録ウェイデコーダーブロックとウェイヒ
ットデコーダーブロックを変更されたLRUビットの機
能に合うように変更することによって高性能のマルチポ
ート支援LRUメモリを具現できる。
【0067】また、本発明の望ましい実施例ではアクセ
スエントリーが同じ場合Aポートに修正LRUデータを
記録して具現したが、アドレスデコーダーでB記録ワー
ドをイネーブルさせて、ウェイヒットデコーダーブロッ
クでA,Bポートのウェイヒット情報をBポートの修正
制御信号に具現してBポートによりLRUデータが更新
されるようにもできる。
【0068】さらに、本発明の望ましい実施例ではアク
セスエントリーが同じ場合Bポートが先にアクセスされ
てAポートはその後にアクセスされる方法で修正制御信
号を具現したが、二ポートのアクセス順序を変えてから
それに合わせてウェイヒットデコーダーブロックの簡単
な修正を通じ高性能のマルチポート支援LRUメモリを
具現することもできる。
【0069】一方、本発明の望ましい実施例では8エン
トリを支援するLRUメモリを一例として説明したが、
本発明は必ずこれに限定されるものではなく、16エン
トリー、32エントリー、64エントリーなどのLRU
メモリにも適用可能で、この場合アドレスデコーダーブ
ロックとLRU SRAMブロックが拡張された高性能
マルチポート支援LRUメモリを具現できる。そして、
本発明の望ましい実施例ではマルチポート(Aポート及
びBポート)を支援するLRUメモリを一例として説明
したが、本発明は必ずこれに限定されるものではなく、
シングルポートを支援するLRUメモリにも適用可能
で、図10のように同じ構造を持つことによって、シン
グルポートに対するより一層簡単な構造で具現できる。
【0070】本発明の望ましい実施例に係るLRUメモ
リは擬似LRU(Pseudo Least Recently Used)交替ポリ
シーを使用するキャッシュメモリに適用可能で、エント
リーアクセスヒストリー修正(modify)機能を自主的に持
っていて、また記録(write)方式デコーディング機能を
もっているため高性能スーパースカラーマイクロプロセ
ッサーのキャッシュメモリ、TLB(Translation Looka
side Buffer)、BTB(Branch Target Buffer)などのL
RUメモリに使用することに適合する。
【0071】以上で説明した本発明はまた上記実施の形
態になんら限定されるものではなく、本発明の要旨を逸
脱しない範囲で種々の形態で実施することができる。
【0072】
【発明の効果】以上説明したように本発明によれば、ス
ーパースカラー技法を採択してキャッシュメモリ、TL
B又はBTBを使用する4ウェイセットアソシエイチブ
で具現される高性能マイクロプロセッサーで各ブロック
等の運用に必要なマルチポート支援LRUメモリを具現
することができる。これによって、キャッシュタグブロ
ックからウェイヒット情報を提供されてLRUヒストリ
ーを自主的に記録して、LRUヒストリーを分析してキ
ャッシュメモリが4ウェイ記録する時、擬似LRU交替
ポリシーによる記録ウェイを自主的に提供して、このよ
うな機能を安定に支援するためのセルフタイム発生ブロ
ックを含むようにし、スーパースカラーマイクロプロセ
ッサーでのキャッシュメモリ、TLBブロック、BTB
ブロック等の制御ブロックの負担を減らしインターフェ
ースを単純化させることによってLRU更新過程を早く
動作させてスーパースカラーマイクロプロセッサーの性
能を向上させることができる効果がある。
【図面の簡単な説明】
【図1】8エントリー4ウェイセットアソシエイチブ2
ポート支援LRUメモリを従来の方式で具現した例を図
示した図である。
【図2】本発明の望ましい一実施例に係る高性能マルチ
ポート支援LRUメモリのブロック構成図である。
【図3】図2のアドレスデコーダーブロックの詳細論理
回路図である。
【図4】図2のLRU SRAMブロックのメモリセル
の具現例を図示した論理回路図である。
【図5】図2のセルフタイム発生ブロックの詳細論理回
路図である。
【図6】図2のセルフタイム発生ブロックでの信号タイ
ミング図である。
【図7】図2のウェイヒットデコーダーブロックの詳細
論理回路図である。
【図8】図2のデータ検知/修正ブロックの詳細論理回
路図である。
【図9】図2の記録ウェイデコーダーブロックの詳細論
理回路図である。
【図10】本発明の望ましい一実施例に係る単一ポート
支援LRUメモリのブロック構成図である。
【符号の説明】
202 アドレスデコーダブロック 204 LRU SRAMブロック 208 ウェイヒットデコーダブロック 210 データ検知/修正ブロック 212 記録ウェイデコーダブロック
───────────────────────────────────────────────────── フロントページの続き (72)発明者 カン ホイ シキ 大韓民国 467−860 キュンキド イチ ョンクン ブバリウム アミーリ サン 136−1 ヒュンダイ エレクトロニ クス インダストリーズ カムパニー リミテッド内 (56)参考文献 特開 平2−191053(JP,A) 特開 平4−233051(JP,A) 特開 平4−308945(JP,A) 特開 昭64−19448(JP,A) 特開 平2−22751(JP,A) 特開 昭62−22164(JP,A) 特開 昭56−22280(JP,A) 特開 平2−311937(JP,A) 特開 昭55−122285(JP,A) 特開 昭58−35784(JP,A) 特開 昭61−6748(JP,A) 特開 平2−187840(JP,A) 特開 昭59−3773(JP,A) 特開 平10−177521(JP,A) 米国特許5611072(US,A) 米国特許5325504(US,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 - 12/12

Claims (20)

    (57)【特許請求の範囲】
  1. 【請求項1】 擬似交替ポリシーを実行可能なLRUメ
    モリにおいて、 インデックスアドレスをデコーディングしてクロック信
    号の第1位相に応答して判読ワードを出力し、クロック
    信号の第2位相に応答して記録ワードを出力するアドレ
    スデコーディング手段と、 複数のLRUデータを貯蔵して上記判読ワードに応答す
    るセルからLRUデータを判読データとして出力し上記
    記録ワードに応答するセルに記録データを記入するLR
    U貯蔵手段と、 ウェイヒットをデコーディングして上記クロック信号の
    第2位相に応答して修正制御信号を出力するウェイヒッ
    トデコーディング手段と、 上記LRU貯蔵手段からの判読データをラッチして検知
    データとして出力し、上記修正制御信号に応答して上記
    判読データを修正して上記LRU貯蔵手段に上記記録デ
    ータを出力するデータ修正手段と、 擬似LRU交替ポリシーにより上記検知データを分析し
    て記録ウェイを出力する記録ウェイデコーディング手段
    とを含むことを特徴とするLRUメモリ。
  2. 【請求項2】 上記クロック信号、LRU判読信号及び
    LRU記録信号に応答して上記LRUメモリで必要とす
    る複数の制御信号を発生する制御手段をさらに含んで、
    上記制御手段は、 上記クロックの第1位相に応答してノンアクティブにさ
    れて上記判読データをプリチャージすることに使われる
    判読プリチャージ時間信号と、 上記クロック信号が第1位相であり上記判読プリチャー
    ジ時間信号がノンアクティブであり上記LRU判読信号
    がアクティブの時アクティブにされ上記アドレスデコー
    ディング手段で上記判読ワードを発生するのに使われる
    判読時間信号と、 上記判読時間信号がアクティブにされてからアクティブ
    にされて上記データ修正手段で使われる判読ラッチ時間
    信号と、 上記クロック信号の第2位相に応答してアクティブにさ
    れて上記ウェイヒットデコーディング手段で上記修正制
    御信号を発生するのに使われるLRU修正時間信号と、 上記クロック信号が第2位相であり上記LRU修正時間
    信号がアクティブで、上記LRU記録信号がアクティブ
    の時アクティブにされて上記アドレスデコーディング手
    段で上記記録ワードを出力するのに使われる記録時間信
    号とを出力することを特徴とする請求項1記載のLRU
    メモリ。
  3. 【請求項3】 上記制御手段は、上記クロック信号が第
    2位相で、上記LRU修正時間信号がアクティブであり
    上記LRU記録信号がアクティブの時アクティブにされ
    て上記記録ウェイデコーディング手段で上記記録ワード
    を発生するのに使われるウェイデコーダーラッチ時間信
    号をさらに出力することを特徴とする請求項2記載のL
    RUメモリ。
  4. 【請求項4】 上記制御手段は、 1) 上記クロック信号を入力する第1インバータと、 2個の入力を持ち、一側の入力が上記第1インバータの
    出力端に連結された第1ナンドゲートと、 上記第1ナンドゲートの出力端に直列連結された第2及
    び第3インバータとを含んで上記判読プリチャージ時間
    信号を生成する第1組合せ論理手段と、 2) 2個の入力を持ち、一側の入力が上記クロック信号
    に連結された第2ナンドゲートと、 上記第2ナンドゲートの出力端に直列連結された第4イ
    ンバータ及び上記第5インバータと、 一側の入力が上記第5インバータの出力に連結されて他
    側の入力が上記LRU判読信号に連結された第1ノアゲ
    ートとを含んで、 上記第5インバータの出力端が上記第1ナンドゲートの
    他の入力として印加されて上記判読時間信号を生成する
    第2組合せ論理手段と、 3) 上記第1ノアゲートの出力端に直列連結されて上記
    判読ラッチ時間信号を生成する第6及び第7インバータ
    と、 4) 入力が上記クロック信号に連結された第8インバー
    タと、 一側の入力が上記第5インバータの出力端に連結され他
    側入力が上記第8インバータの出力端に連結された第3
    ナンドゲートと、 上記第3ナンドゲートの出力端に直列連結される第9、
    第10及び第11インバータとを含んで上記第10イン
    バータの出力が上記第2ナンドゲートの他の入力として
    印加されて上記LRU修正時間信号を生成する第3組合
    せ論理手段と、 5) 一側の入力が上記第11インバータの出力端に連結
    されて他側の入力が上記第8インバータの出力に連結さ
    れた第4ナンドゲートと、 一側の入力が上記LRU判読信号に連結されて他側の入
    力が上記第4ナンドゲートの出力に連結された第2ノア
    ゲートとを含んで上記ラッチ時間信号を生成する第4組
    合せ論理手段と、 6) 一側の入力が上記第4ナンドゲートの出力端に連結
    され他側の入力が上記LRU記録信号に連結された第3
    ノアゲートを含んで上記記録時間信号を生成する第5組
    合せ論理手段とを含むことを特徴とする請求項3記載の
    LRUメモリ。
  5. 【請求項5】 上記アドレスデコーディング手段は、各
    ポート別上記インデックスアドレスを比較して同じ場合
    第1ポートの上記記録ワードだけをイネーブルさせて残
    るポートの記録ワードはディセーブルさせることを特徴
    とする請求項1記載のLRUメモリ。
  6. 【請求項6】 複数のポートをさらに含み、上記インデ
    ックスアドレスは各々一つのポートに関連する複数のポ
    ートインデックスアドレス信号を含んで、 上記アドレスデコーディング手段は、上記ポートインデ
    ックスアドレス信号がすべて同じ場合にイネーブルされ
    る比較ヒット信号を上記ウェイヒットデコーディング手
    段に出力することを特徴とする請求項1記載のLRUメ
    モリ。
  7. 【請求項7】 上記ポートは2個で、上記インデックス
    アドレスは各々がNビットで構成される第1ポートイン
    デックスアドレス信号と第2ポートインデックスアドレ
    ス信号とを含んで、 上記アドレスデコーディング手段は、第1ポートインデ
    ックスアドレス信号をラッチするN個のラッチを含む第
    1ラッチ手段と、 第2ポートインデックスアドレス信号をラッチするN個
    のラッチを含む第2ラッチ手段と、 上記第1ラッチ手段の出力と上記第2ラッチ手段の出力
    とを比較して上記比較ヒット信号信号を出力する比較手
    段と、 上記判読時間信号がアクティブの時上記第1ラッチ手段
    の出力をデコーディングして第1ポート判読ワードを発
    生する第1判読ワード発生手段と、 上記記録時間信号がアクティブの時上記第1ラッチ手段
    の出力をデコーディングして第1ポート記録ワードを発
    生する第1記録ワード発生手段と、 上記判読時間信号がアクティブの時上記第2ラッチ手段
    の出力をデコーディングして第2ポート判読ワードを発
    生する第2判読ワード発生手段と、 上記記録時間信号がアクティブの時上記第2ラッチ手段
    の出力をデコーディングして第2ポート記録ワードを発
    生する第2記録ワード発生手段とを含んでなることを特
    徴とする請求項6記載のLRUメモリ。
  8. 【請求項8】 上記第1ラッチ手段及び第2ラッチ手段
    は各々三つのラッチを具備することを特徴とする請求項
    7記載のLRUメモリ。
  9. 【請求項9】 第1判読ワード生成手段は、各々上記第
    1ラッチ手段の出力の一ビットを反転する3個のインバ
    ータと、 各々上記第1ラッチ手段の出力と上記3個のインバータ
    の出力を選択的に入力する8個のナンドゲートと、 各々上記応答するナンドゲートの出力と上記判読時間信
    号を受信して上記第1ポート判読ワードの応答するビッ
    トを出力する8個のノアゲートとを含む請求項8記載の
    LRUメモリ。
  10. 【請求項10】 第1記録ワード生成手段は、各々上記
    第1ラッチ手段の出力中の一つのビットを反転する3個
    のインバータと、 各々上記第1ラッチ手段の出力と上記3個のインバータ
    の出力を選択的に入力する8個のナンドゲートと、 各々上記応答するナンドゲートの出力と上記記録時間信
    号とを受信して上記第1ポート記録ワードの応答するビ
    ットを出力する8個のノアゲートとを含むことを特徴と
    する請求項8記載のLRUメモリ。
  11. 【請求項11】 第2判読ワード生成手段は、各々上記
    第2ラッチ手段の出力中の一つのビットを反転する3個
    のインバータと、 各々上記第2ラッチ手段の出力と上記3個のインバータ
    の出力を選択的に入力する8個のナンドゲートと、 各々上記応答するナンドゲートの出力と上記判読時間信
    号とを受信して上記第2ポート判読ワードの応答するビ
    ットを出力する8個のノアゲートとを含むことを特徴と
    する請求項8記載のLRUメモリ。
  12. 【請求項12】 第2記録ワード生成手段は、各々上記
    第2ラッチ手段の出力中の一つのビットを反転する3個
    のインバータと、 各々上記第2ラッチ手段の出力と上記3個のインバータ
    の出力とを選択的に入力する8個のナンドゲートと、 各々上記応答するナンドゲートの出力と上記記録時間信
    号とを受信して上記第2ポート記録ワードの応答するビ
    ットを出力する8個のノアゲートとを含むことを特徴と
    する請求項8記載のLRUメモリ。
  13. 【請求項13】 上記ポートは2個で、 上記記録ワードは第1ポート記録ワードと第2ポート記
    録ワードを含んで、上記記録データは第1ポート記録デ
    ータと第2ポート記録データとを含んで、上記判読ワー
    ドは第1ポート判読ワードと第2ポート判読ワードを含
    んで、上記判読データは第1ポート判読データと第2ポ
    ート判読データとを含んで、 上記LRU貯蔵手段は多数の単位メモリセルを含み、各
    メモリセルは、ゲートが第1ポートの上記記録ワードラ
    インに連結されソースが上記第1ポートの記録データラ
    インに連結された第1トランジスターと、 上記第1トランジスターのドレーンに入力が連結された
    第1インバータと、ゲートが上記第1インバータの出力
    端に連結されソースが接地に連結された第2トランジス
    ターと、 ゲートが上記第1ポートの判読ワードラインに連結され
    ソースが上記第2トランジスターのドレーンに連結され
    ドレーンが上記第1ポートの判読データラインに連結さ
    れた第3トランジスターと、 ゲートが第2ポートの上記記録ワードラインに連結され
    ソースが上記第2ポートの記録データラインに連結され
    た第4トランジスターと、 上記第4トランジスターのドレーンに出力が連結された
    第2インバータと、 ゲートが上記第2インバータの入力端に連結されソース
    が接地に連結された第5トランジスターと、 ゲートが上記第2ポートの判読ワードラインに連結され
    ソースが上記第5トランジスターのドレーンに連結され
    ドレーンが上記第2ポートの判読データラインに連結さ
    れた第6トランジスターを具備して、 上記第1トランジスターのドレーン及び上記第1インバ
    ータの入力間と上記第4トランジスターのドレーンと上
    記第2インバータの出力間とは相互に共通に連結され、
    上記第1インバータの出力及び上記第2トランジスター
    のゲート間と上記第2インバータの入力及び上記第5ト
    ランジスターのゲート間とが相互に共通に連結されたこ
    とを特徴とする請求項2記載のLRUメモリ。
  14. 【請求項14】 上記ウェイヒットデコーディング手段
    は、上記第1ポートのウェイヒット信号の該当ビットを
    各々反転する複数のインバータを含む第1組合せ論理手
    段と複数のナンドゲートとを具備し、上記各ナンドゲー
    トが上記第1組合せ論理手段の応答するインバータの出
    力を一側の入力として上記比較ヒット信号を反転させた
    反転比較ヒット信号をそれぞれの他側の入力とする第2
    組合せ論理手段と、 各々上記第1組合せ論理手段の出力のひとつと上記第2
    ポートのウェイヒット信号のひとつとを各々入力する複
    数のナンドゲートを含む第3組合せ論理手段と、 各々上記第1ポートのウェイヒット信号の該当ビットを
    一側の入力として上記第3組合せ論理手段の出力のひと
    つを他側入力とする複数のナンドゲートを含む第4組合
    せ論理手段と、 各々一側の入力が反転比較ヒット信号に連結され他側の
    入力が上記第4組合せ論理手段の該当出力端に連結され
    た複数のオアゲートを含む第5組合せ論理手段と、 各々上記第2組合せ論理手段の該当出力と上記第5組合
    せ論理手段の該当出力及び上記LRU修正時間信号とを
    入力とする複数の3入力ナンドゲートを含む第6組合せ
    論理手段と、 上記第6組合せ論理手段の出力中の2個を各々入力とす
    る2個のナンドゲートを含む第7組合せ論理手段と、 上記第6組合せ論理手段の出力を各々反転する複数のイ
    ンバータを含む第8組合せ論理手段と、 各々上記第2ポートのウェイヒット信号の該当ビットと
    上記LRU修正時間信号を入力する複数のナンドゲート
    を含む第9組合せ論理手段と、 上記第9組合せ論理手段の出力中の2個を各々入力する
    2個のナンドゲートを含む第10組合せ論理手段と、 上記第9組合せ論理手段の出力を各々反転する複数のイ
    ンバータを含む第11組合せ論理手段とを含んで、 上記第7及び第8組合せ論理手段によって上記修正制御
    信号中の第1ポートに対するセット信号及びクリア信号
    を出力して、上記第10及び第11組合せ論理手段によ
    って上記修正制御信号中の第2ポートに対するセット信
    号及びクリア信号を出力することを特徴とする請求項6
    記載のLRUメモリ。
  15. 【請求項15】 上記データ修正手段は、ゲートが上記
    制御手段からの判読プリチャージ時間信号に連結されド
    レーンが第1ポートの上記判読データラインに連結され
    た第1トランジスターと、 ゲートが上記判読プリチャージ時間信号に連結されドレ
    ーンが上記第1トランジスターのソースに連結されソー
    スが第2ポートの上記判読データラインに連結された第
    2トランジスターと、 上記第1ポートの判読データラインに直列連結された第
    1及び第2インバータと、 上記第2ポートの判読データラインに直列連結された第
    3及び第4インバータと、 上記判読データが検知された時上記制御手段からのラッ
    チ時間信号に応答してデータを貯蔵し該貯蔵されたデー
    タを検知データ及びLRUデータに変換して発生する第
    1ラッチ手段と、 上記第1ポートの判読データラインを通じ入力されるデ
    ータを貯蔵し上記ウェイヒットデコーディング手段から
    出力される上記第1ポートに対する上記修正制御信号の
    セット信号またはクリア信号がイネーブルされる時上記
    貯蔵されたデータをセットまたはクリアさせて上記LR
    U貯蔵手段に入力される記録データを生成する第2ラッ
    チ手段と、 上記第2ポートの判読データラインを通じ入力されるデ
    ータを貯蔵し上記ウェイヒットデコーディング手段から
    出力される上記第2ポートに対する上記修正制御信号の
    セット信号またはクリア信号がイネーブルされる時上記
    貯蔵されたデータをセットまたはクリアさせて上記LR
    U貯蔵手段に入力される記録データを生成する第3ラッ
    チ手段とを含んでなることを特徴とする請求項2記載の
    LRUメモリ。
  16. 【請求項16】 上記第2ラッチ手段及び第3ラッチ手
    段は各々、 上記判読ラッチ時間信号に応答して第2インバータから
    出力される信号を伝達する第1トランスファーゲート
    と、 上記第1トランスファーゲートの出力に入力が連結され
    た第5インバータと、 入力が上記第5インバータの出力に連結され出力が上記
    第1トランスファーゲートの出力に連結された第6イン
    バータと、 入力が上記第5インバータの出力に連結され出力が上記
    第1ポートまたは上記第2ポートの判読データラインに
    連結された第7インバータと、 ゲートが上記第1及び第2ポートのクリア信号に連結さ
    れソースが接地に連結されドレーンが上記第1トランス
    ファーゲートの出力に連結された第3トランジスター
    と、 ゲートが上記第1ポートまたは上記第2ポートのセット
    信号に連結されソースが接地に連結されドレーンが上記
    第5インバータの出力と第7インバータの入力間に連結
    された第4トランジスターとを含むことを特徴とする請
    求項15記載のLRUメモリ。
  17. 【請求項17】 上記記録ウェイデコーディング手段
    は、上記検知データの各ビットを各入力とする第1、第
    2及び第3インバータと、 上記第1ないし3インバータの出力に各々連結された第
    4、第5及び第6インバータと、 一側の入力が上記第4インバータの出力に連結され他側
    の入力が上記第5インバータの出力に連結された第1ナ
    ンドゲートと、 一側の入力が上記第1インバータの出力に連結され他側
    の入力が上記第5インバータの出力に連結された第2ナ
    ンドゲートと、 一側の入力が上記第2インバータの出力に連結され他側
    の入力が上記第6インバータの出力に連結された第3ナ
    ンドゲートと、 一側の入力が上記第2インバータの出力に連結され他側
    の入力が上記第3インバータの出力に連結された第4ナ
    ンドゲートと、 上記各ナンドゲートの出力をそれぞれの一側の入力とし
    て上記ラッチ時間信号に応答して所定ビットの上記記録
    ウェイを発生する4個のラッチ手段とを含むことを特徴
    とする請求項2記載のLRUメモリ。
  18. 【請求項18】 上記記録ウェイデコーディング手段
    は、最も先に使われたウェイを上記記録ウェイであると
    決定することを特徴とする請求項14記載のLRUメモ
    リ。
  19. 【請求項19】 上記記録ウェイデコーディング手段
    は、最も先に使われたウェイを上記記録ウェイであると
    決定することを特徴とする請求項1記載のLRUメモ
    リ。
  20. 【請求項20】 上記LRUメモリは単一ポートを支援
    することを特徴とする請求項1記載のLRUメモリ。
JP18542598A 1997-06-30 1998-06-30 高性能マルチポート支援lruメモリ Expired - Fee Related JP3352947B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1997-29665 1997-06-30
KR1019970029665A KR100246469B1 (ko) 1997-06-30 1997-06-30 고성능 멀티포트 지원 엘알유(lru) 메모리
KR1019970029666A KR100246468B1 (ko) 1997-06-30 1997-06-30 자체 갱신 기능을 갖는 엘알유(lru) 메모리
KR1997-29666 1997-06-30

Publications (2)

Publication Number Publication Date
JPH1196073A JPH1196073A (ja) 1999-04-09
JP3352947B2 true JP3352947B2 (ja) 2002-12-03

Family

ID=26632898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18542598A Expired - Fee Related JP3352947B2 (ja) 1997-06-30 1998-06-30 高性能マルチポート支援lruメモリ

Country Status (3)

Country Link
US (1) US6138211A (ja)
JP (1) JP3352947B2 (ja)
TW (1) TW374873B (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6373779B1 (en) * 2000-05-19 2002-04-16 Xilinx, Inc. Block RAM having multiple configurable write modes for use in a field programmable gate array
US6820127B2 (en) * 2001-05-03 2004-11-16 International Business Machines Corporation Method, system, and product for improving performance of network connections
US6981169B2 (en) * 2002-02-26 2005-12-27 Sun Microsystems, Inc. Modified glitch latch for use with power saving dynamic register file structures
US7516275B2 (en) * 2006-04-25 2009-04-07 International Business Machines Corporation Pseudo-LRU virtual counter for a locking cache
US8214609B2 (en) * 2008-07-16 2012-07-03 International Business Machines Corporation Data transference to virtual memory
US8301842B2 (en) * 2009-08-26 2012-10-30 Via Technologies, Inc. Efficient pseudo-LRU for colliding accesses
KR102354990B1 (ko) 2014-09-17 2022-01-24 삼성전자주식회사 캐시 메모리 시스템 및 그 동작방법
US10838659B2 (en) 2019-02-08 2020-11-17 International Business Machines Corporation Controlling write access to a memory structure based on write request priority

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4008460A (en) * 1975-12-24 1977-02-15 International Business Machines Corporation Circuit for implementing a modified LRU replacement algorithm for a cache
US4168541A (en) * 1978-09-25 1979-09-18 Sperry Rand Corporation Paired least recently used block replacement system
ATE158882T1 (de) * 1990-06-15 1997-10-15 Compaq Computer Corp Vorrichtung zur echten lru-ersetzung
US5471605A (en) * 1992-08-27 1995-11-28 Intel Corporation Apparatus for updating a multi-way set associative cache memory status array
US5845320A (en) * 1996-04-29 1998-12-01 Micron Technology, Inc. Circuit and method to implement a least recently used cache set replacement technique

Also Published As

Publication number Publication date
JPH1196073A (ja) 1999-04-09
TW374873B (en) 1999-11-21
US6138211A (en) 2000-10-24

Similar Documents

Publication Publication Date Title
JP3850669B2 (ja) キャッシュメモリ
EP0690386A1 (en) Address translator and method of operation
JPH03286495A (ja) 半導体記憶装置
JPH10232837A (ja) 完全統合型キャッシュ・アーキテクチャ
US5450565A (en) Circuit and method for selecting a set in a set associative cache
US5802594A (en) Single phase pseudo-static instruction translation look-aside buffer
JPH07295889A (ja) アドレス変換回路
JP3352947B2 (ja) 高性能マルチポート支援lruメモリ
US5535351A (en) Address translator with by-pass circuit and method of operation
US6219764B1 (en) Memory paging control method
JPH11191078A (ja) 半導体装置
EP3570286B1 (en) Apparatus for simultaneous read and precharge of a memory
US6272595B1 (en) N-way set-associative cache memory which includes a store hit buffer for improved data access
JP2003256275A (ja) バンク競合決定
US5802586A (en) Cache memory having a read-modify-write operation and simultaneous burst read and write operations and a method therefor
US5659697A (en) Translation lookaside buffer for faster processing in response to availability of a first virtual address portion before a second virtual address portion
US6385696B1 (en) Embedded cache with way size bigger than page size
JPH03219326A (ja) データ比較回路
US5295253A (en) Cache memory utilizing a two-phase synchronization signal for controlling saturation conditions of the cache
Heald et al. A 6-ns cycle 256-kb cache memory and memory management unit
US6230237B1 (en) Content addressable memory with an internally-timed write operation
JP3997404B2 (ja) キャッシュメモリ及びその制御方法
US6707752B2 (en) Tag design for cache access with redundant-form address
KR100246469B1 (ko) 고성능 멀티포트 지원 엘알유(lru) 메모리
KR100246468B1 (ko) 자체 갱신 기능을 갖는 엘알유(lru) 메모리

Legal Events

Date Code Title Description
S631 Written request for registration of reclamation of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313631

S633 Written request for registration of reclamation of name

Free format text: JAPANESE INTERMEDIATE CODE: R313633

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S631 Written request for registration of reclamation of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313631

S633 Written request for registration of reclamation of name

Free format text: JAPANESE INTERMEDIATE CODE: R313633

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees