JPH0362144A - 情報処理システムのメモリアクセスを速くする方法及びこの方法を実施するためのシステム - Google Patents
情報処理システムのメモリアクセスを速くする方法及びこの方法を実施するためのシステムInfo
- Publication number
- JPH0362144A JPH0362144A JP2099156A JP9915690A JPH0362144A JP H0362144 A JPH0362144 A JP H0362144A JP 2099156 A JP2099156 A JP 2099156A JP 9915690 A JP9915690 A JP 9915690A JP H0362144 A JPH0362144 A JP H0362144A
- Authority
- JP
- Japan
- Prior art keywords
- flip
- flop
- entry
- signal
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 98
- 230000010365 information processing Effects 0.000 title claims abstract description 9
- 238000000034 method Methods 0.000 title claims description 28
- 238000012545 processing Methods 0.000 claims abstract description 8
- 239000013256 coordination polymer Substances 0.000 claims description 7
- 238000011144 upstream manufacturing Methods 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 101000714243 Homo sapiens Transcription factor IIIB 90 kDa subunit Proteins 0.000 description 12
- 102100036535 Transcription factor IIIB 90 kDa subunit Human genes 0.000 description 12
- 238000013519 translation Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 108010067445 RA V Proteins 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- TUBWTFZPLDUNIL-HJJYVODLSA-N tpc-a Chemical compound O.O.O.O.O.C1=CC(OC)=CC=C1C[C@H](N(C)C(=O)[C@H](C)NC(=O)[C@H](C)NC(=O)[C@H](N(C1=O)C)C2)C(=O)N[C@H](C)C(=O)N(C)[C@@H]1CC(C=C1)=CC=C1OC1=CC2=CC=C1O.C1=CC(OC)=CC=C1C[C@H](N(C)C(=O)[C@H](C)NC(=O)[C@H](C)NC(=O)[C@H](N(C1=O)C)C2)C(=O)N[C@H](C)C(=O)N(C)[C@@H]1CC(C=C1)=CC=C1OC1=CC2=CC=C1O.C1=CC(OC)=CC=C1C[C@H](N(C)C(=O)[C@H](C)NC(=O)[C@H](C)NC(=O)[C@H](N(C1=O)C)C2)C(=O)N[C@H](C)C(=O)N(C)[C@@H]1CC(C=C1)=CC=C1OC1=CC2=CC=C1O.C1=CC(OC)=CC=C1C[C@H](N(C)C(=O)[C@H](C)NC(=O)[C@H](C)NC(=O)[C@H](N(C1=O)C)C2)C(=O)N[C@H](C)C(=O)N(C)[C@@H]1CC(C=C1)=CC=C1OC1=CC2=CC=C1O TUBWTFZPLDUNIL-HJJYVODLSA-N 0.000 description 3
- 101000975474 Homo sapiens Keratin, type I cytoskeletal 10 Proteins 0.000 description 2
- 102100023970 Keratin, type I cytoskeletal 10 Human genes 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- RZVAJINKPMORJF-UHFFFAOYSA-N Acetaminophen Chemical compound CC(=O)NC1=CC=C(O)C=C1 RZVAJINKPMORJF-UHFFFAOYSA-N 0.000 description 1
- 101100485276 Arabidopsis thaliana XPO1 gene Proteins 0.000 description 1
- CIWBSHSKHKDKBQ-JLAZNSOCSA-N Ascorbic acid Chemical compound OC[C@H](O)[C@H]1OC(=O)C(O)=C1O CIWBSHSKHKDKBQ-JLAZNSOCSA-N 0.000 description 1
- 101100298824 Caenorhabditis elegans rpt-1 gene Proteins 0.000 description 1
- 101000802094 Homo sapiens mRNA decay activator protein ZFP36L1 Proteins 0.000 description 1
- 101100482085 Mus musculus Trim30a gene Proteins 0.000 description 1
- 101150054327 RAR1 gene Proteins 0.000 description 1
- 101100011885 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) ERG12 gene Proteins 0.000 description 1
- 101100407739 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) PET18 gene Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000035484 reaction time Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
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)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は、情報処理システムの分野に関するものであり
、特に、これらのシステムの主記憶装置中に記憶された
情報へのアクセスの加速に関するものである。
、特に、これらのシステムの主記憶装置中に記憶された
情報へのアクセスの加速に関するものである。
情報処理システムの中央サブシステムは、通常、3種の
装置を備える。すなわち、プロセッサ、主記憶装置を形
成するメモリモジュール及び入力−出力コントローラで
ある。従来、プロセッサは、バスを介して、メモリモジ
ュールと接続する。このバスによってプロセッサと主記
憶装置間のアドレッシングとデータ転送を行うことがで
きる。プログラム命令を実施するためには、そのオペラ
ンドを主記憶装置中に探索しなければならない。連続し
たプログラム命令を実行する場合も同様である。多重プ
ログラミングで作動するシステムの場合、メモリはプロ
グラム間での多重化を可能にするように分割されなけれ
ばならない。そのためには、通常、ページング技術と組
み合わせた仮想アドレッシングを使用する。このページ
ング技術とは、アドレス可能な空間、すなわち、「仮想
空間」を「ページ」と呼ばれる一定のサイズの区間に分
割することからなる。このようなシステムでは、実行中
のプログラムは仮想空間をアドレスすることができる。
装置を備える。すなわち、プロセッサ、主記憶装置を形
成するメモリモジュール及び入力−出力コントローラで
ある。従来、プロセッサは、バスを介して、メモリモジ
ュールと接続する。このバスによってプロセッサと主記
憶装置間のアドレッシングとデータ転送を行うことがで
きる。プログラム命令を実施するためには、そのオペラ
ンドを主記憶装置中に探索しなければならない。連続し
たプログラム命令を実行する場合も同様である。多重プ
ログラミングで作動するシステムの場合、メモリはプロ
グラム間での多重化を可能にするように分割されなけれ
ばならない。そのためには、通常、ページング技術と組
み合わせた仮想アドレッシングを使用する。このページ
ング技術とは、アドレス可能な空間、すなわち、「仮想
空間」を「ページ」と呼ばれる一定のサイズの区間に分
割することからなる。このようなシステムでは、実行中
のプログラムは仮想空間をアドレスすることができる。
主記憶装置の一部は、その仮想空間に対応しなければな
らない。従って、論理または仮想アドレスは、物理アド
レス、すなわち、メモリのアドレッシングを可能にする
実際のアドレスに変換されなければならない。
らない。従って、論理または仮想アドレスは、物理アド
レス、すなわち、メモリのアドレッシングを可能にする
実際のアドレスに変換されなければならない。
アドレッシングを必要とする命令は、それを実行するプ
ロセッサが結果として仮想アドレスを有するアドレスの
発生を実施することができるようにする表示を含む。通
常、この仮想アドレスはセグメント化されており、すな
わち、セグメント番号とページ番号とページ中のディス
プレイスメントによって構成されている。セグメント番
号は、それ自体、セグメントのテーブル番号とこのテー
ブル内でのディスブl/イスメントに更に分割される。
ロセッサが結果として仮想アドレスを有するアドレスの
発生を実施することができるようにする表示を含む。通
常、この仮想アドレスはセグメント化されており、すな
わち、セグメント番号とページ番号とページ中のディス
プレイスメントによって構成されている。セグメント番
号は、それ自体、セグメントのテーブル番号とこのテー
ブル内でのディスブl/イスメントに更に分割される。
メモリ内で、このセグメント化されたアドレスに組合わ
された情報にアクセスするためには、複数のメモリアク
セスが必要である。まず、このテーブル内で、その処理
(実行中のプログラム〉に割り当てられた空間にアクセ
スし、セグメントのテーブル番号を使用して、対応する
セグメントテーブルの実アドレスを得て、セグメントテ
ーブル内のディスプレイスメントに応じて、ページテー
ブルの実アドレスを計算することのできるセグメントの
記述子にアクセスし、最後に、このページテーブル内の
ディスプレイスメントを決定するページ番号に応じて、
メモリにアドレッシングすることのできるページの実ア
ドレスを得る。■ワードまたは1バイトの実アドレスは
、ページの実アドレスと、仮想アドレスの最下位部分に
よって規定されたこのページ内でのディスプレイスメン
トとを結合することによって得られる。
された情報にアクセスするためには、複数のメモリアク
セスが必要である。まず、このテーブル内で、その処理
(実行中のプログラム〉に割り当てられた空間にアクセ
スし、セグメントのテーブル番号を使用して、対応する
セグメントテーブルの実アドレスを得て、セグメントテ
ーブル内のディスプレイスメントに応じて、ページテー
ブルの実アドレスを計算することのできるセグメントの
記述子にアクセスし、最後に、このページテーブル内の
ディスプレイスメントを決定するページ番号に応じて、
メモリにアドレッシングすることのできるページの実ア
ドレスを得る。■ワードまたは1バイトの実アドレスは
、ページの実アドレスと、仮想アドレスの最下位部分に
よって規定されたこのページ内でのディスプレイスメン
トとを結合することによって得られる。
また、メモリアクセスの実行は、特に、プロセッサやメ
モリモジュールと共通のバスを使用するため、かなりの
時間がかかる。従って、システムの性能を改善するため
に、原則的に各々のアドレッシングを必要とする連続し
たメモリアクセスを可能な限り避けるようにする。さら
に、大部分の処理はロケーション特性を示し、それに応
じて、その実行の所定の7エイズの間、処理によって使
用されるページ数は、それに割り当てられたページの総
数に対して極めて少ない。
モリモジュールと共通のバスを使用するため、かなりの
時間がかかる。従って、システムの性能を改善するため
に、原則的に各々のアドレッシングを必要とする連続し
たメモリアクセスを可能な限り避けるようにする。さら
に、大部分の処理はロケーション特性を示し、それに応
じて、その実行の所定の7エイズの間、処理によって使
用されるページ数は、それに割り当てられたページの総
数に対して極めて少ない。
この特性を利用して、仮想アドレスの実アドレスへの変
換を速くすることができる。そのために、高速メモリも
しくはレジスタ内に仮想アドレスと組み合わされた実ア
ドレスの複数のセットを記憶する。このアドレスのセッ
トは、「エントリ (対応表)」と呼ばれ、実行中のプ
ログラムによって使用される。次に、仮想アドレスを実
アドレスに変換するために、連想的にこの高速メモリに
アクセスし、変換すべき仮想アドレスが高速メモリ中に
存在するかどうかをさがす。存在する場合、主記憶装置
にアクセスしなくても、実アドレスが直接得られる。
換を速くすることができる。そのために、高速メモリも
しくはレジスタ内に仮想アドレスと組み合わされた実ア
ドレスの複数のセットを記憶する。このアドレスのセッ
トは、「エントリ (対応表)」と呼ばれ、実行中のプ
ログラムによって使用される。次に、仮想アドレスを実
アドレスに変換するために、連想的にこの高速メモリに
アクセスし、変換すべき仮想アドレスが高速メモリ中に
存在するかどうかをさがす。存在する場合、主記憶装置
にアクセスしなくても、実アドレスが直接得られる。
局在性は、また、最も最近に参照されたページを常に維
持しているサイズの小さな複数の高速メモリによって構
成されているキャッシュメモリ(「キャッシュ」と呼ば
れることもある)の使用に基づくことがある。新しい参
照がすでにキャッシュメモリに存在する情報に関するも
のである見込みが高い時、明らかに情報へのアクセス時
間は減少される。仮想アドレスの実アドレスへの変換と
同様に、キャッシュメモリは、キャッシュメモリ中に存
在するページの実アドレスを含むテーブルを備える。デ
ィレクトリと呼ばれるこのテーブルを連想的に参照して
、実アドレスデータに組み合わされた情報がキャッシュ
メモリに含まれているかどうかを調べることができる。
持しているサイズの小さな複数の高速メモリによって構
成されているキャッシュメモリ(「キャッシュ」と呼ば
れることもある)の使用に基づくことがある。新しい参
照がすでにキャッシュメモリに存在する情報に関するも
のである見込みが高い時、明らかに情報へのアクセス時
間は減少される。仮想アドレスの実アドレスへの変換と
同様に、キャッシュメモリは、キャッシュメモリ中に存
在するページの実アドレスを含むテーブルを備える。デ
ィレクトリと呼ばれるこのテーブルを連想的に参照して
、実アドレスデータに組み合わされた情報がキャッシュ
メモリに含まれているかどうかを調べることができる。
含まれている場合、■ワードまたはバイトを得て、この
1ワードまたはバイトの仮想アドレスの最下位部分を利
用して、キャッシュメモリにアドレッシングする。
1ワードまたはバイトの仮想アドレスの最下位部分を利
用して、キャッシュメモリにアドレッシングする。
以下の説明では、キャッシュメモリの問題にも同様の考
察を当てはめることができるので、アドレス変換に関す
る問題についてのみ説明する。実際、どちらの場合も、
問題は、ページアドレスに組み合わされた情報を迅速に
得ることにある。アドレス変換の場合、ページアドレス
は仮想アドレスであり、組み合わされた情報は対応する
実アドレスであるが、キャッシュメモリの場合、ページ
アドレスは実アドレスであり、組みあわされた情報はペ
ージに含まれるデータの全体によって構成されている。
察を当てはめることができるので、アドレス変換に関す
る問題についてのみ説明する。実際、どちらの場合も、
問題は、ページアドレスに組み合わされた情報を迅速に
得ることにある。アドレス変換の場合、ページアドレス
は仮想アドレスであり、組み合わされた情報は対応する
実アドレスであるが、キャッシュメモリの場合、ページ
アドレスは実アドレスであり、組みあわされた情報はペ
ージに含まれるデータの全体によって構成されている。
上記のように、アドレス変換高速メモリは、複数のレジ
スタ、または、より一般的には、複数のロケーションを
備え、その各々に仮想アドレスとそれに組み合わされた
実アドレスからなるエントリを記憶するこのとのできる
連想メモリである。
スタ、または、より一般的には、複数のロケーションを
備え、その各々に仮想アドレスとそれに組み合わされた
実アドレスからなるエントリを記憶するこのとのできる
連想メモリである。
各エントリには、アクセス権フラッグや、書き込みアク
セスがこのエントリに組み合わされたページ中で実行さ
れたことを示すフラッグ等の補足的な情報が伴うことが
ある。また、各エントリは、所定の論理値について、組
み合わされたエン) IJが有効であることを示す存在
フラッグに組み合わされている。これらの存在フラッグ
は、初期化の際、すなわち、問題のプロセッサで処理が
開始されるたびに、例えば、0に設定される。次に、処
理が新しいページを使用するにつれて、組み合わされた
エントリは連想メモリにロードされ、同時に、存在フラ
ッグは1に設定される。メモリアクセスを実行しなけれ
ばならない時、仮想アドレスを連想メモリに含まれた各
仮想アドレスと比較して、存在フラッグが1の時に探索
中の仮想アドレスとメモリに含まれる仮想アドレスの1
つとの間に一致があると、対応する実アドレスは、実ア
ドレスレジスタの簡単な読出しによって直接得られる。
セスがこのエントリに組み合わされたページ中で実行さ
れたことを示すフラッグ等の補足的な情報が伴うことが
ある。また、各エントリは、所定の論理値について、組
み合わされたエン) IJが有効であることを示す存在
フラッグに組み合わされている。これらの存在フラッグ
は、初期化の際、すなわち、問題のプロセッサで処理が
開始されるたびに、例えば、0に設定される。次に、処
理が新しいページを使用するにつれて、組み合わされた
エントリは連想メモリにロードされ、同時に、存在フラ
ッグは1に設定される。メモリアクセスを実行しなけれ
ばならない時、仮想アドレスを連想メモリに含まれた各
仮想アドレスと比較して、存在フラッグが1の時に探索
中の仮想アドレスとメモリに含まれる仮想アドレスの1
つとの間に一致があると、対応する実アドレスは、実ア
ドレスレジスタの簡単な読出しによって直接得られる。
この変換システムを実際に実現可能にするためには、連
想メモリのサイズが限定されなければならないことは明
らかである。その結果、ある処理のためには、このサイ
ズはこの処理に使用される全部のページのエントリを含
むには不十分であることがある。従って、連想メモリが
一杯の場合、存在するエントリの1つを排除して、その
場所に新規なエントリをロードすることを考えなければ
ならない。そのため、排除すべきエン) IJを選択す
るための置換アルゴリズムを使用する。多数のアルゴリ
ズムが既に提案されており、例えば、以下のものがある
。
想メモリのサイズが限定されなければならないことは明
らかである。その結果、ある処理のためには、このサイ
ズはこの処理に使用される全部のページのエントリを含
むには不十分であることがある。従って、連想メモリが
一杯の場合、存在するエントリの1つを排除して、その
場所に新規なエントリをロードすることを考えなければ
ならない。そのため、排除すべきエン) IJを選択す
るための置換アルゴリズムを使用する。多数のアルゴリ
ズムが既に提案されており、例えば、以下のものがある
。
−F I F 0(first in first 0
ut) ;最も古イエントリが除去される。
ut) ;最も古イエントリが除去される。
−RAND(random choice) ; エ
ントリを偶然に選択する。
ントリを偶然に選択する。
−LFU(least frequently use
d) ;使用頻度が最も低いエントリを排除する。
d) ;使用頻度が最も低いエントリを排除する。
−LRU(least recently used)
;最も昔に使用されたエントリを置換する。
;最も昔に使用されたエントリを置換する。
LRUアルゴリズムは、理論的には良好な繕果を示すが
、実際には、疑似LRUと呼ばれる、単純化されたバー
ジョンを使用するのが好ましい。
、実際には、疑似LRUと呼ばれる、単純化されたバー
ジョンを使用するのが好ましい。
実際、n個のエントリを管理するためには、本当のLR
Uはエントリごとにlog2(n) ビットの存在と
管理を必要として、最近使用されたエントリの順序を保
つ。一方、疑似LRUは、エントリごとに参照ビットも
しくは参照フラッグと呼ばれる1個のビットを使用する
だけでよい。
Uはエントリごとにlog2(n) ビットの存在と
管理を必要として、最近使用されたエントリの順序を保
つ。一方、疑似LRUは、エントリごとに参照ビットも
しくは参照フラッグと呼ばれる1個のビットを使用する
だけでよい。
疑似LRUアルゴリズムによると、参照ビットは、それ
に組み合わされた存在するエン) IJが使用される時
、最初の論理値(例えば、1〉に設定される。連想メモ
リが一杯なのに新しいエントリをロードしなければなら
ない時、すなわち、存在フラッグが全部1の時、除去す
べきエントリは、ロードの順番において時間的に最も古
いものであり、その参照ビットは0である。飽和に達し
〜た時、すなわち、参照ビットが1つを除いて全部1に
なった時、全ての参照ビットを0に再設定し、参照ビッ
トが0になったエントリを新しいエントリで置換する。
に組み合わされた存在するエン) IJが使用される時
、最初の論理値(例えば、1〉に設定される。連想メモ
リが一杯なのに新しいエントリをロードしなければなら
ない時、すなわち、存在フラッグが全部1の時、除去す
べきエントリは、ロードの順番において時間的に最も古
いものであり、その参照ビットは0である。飽和に達し
〜た時、すなわち、参照ビットが1つを除いて全部1に
なった時、全ての参照ビットを0に再設定し、参照ビッ
トが0になったエントリを新しいエントリで置換する。
この瞬間から、ページの使用の時間的順序は失われる。
飽和による時間的順序の喪失によって、アルゴリズムの
有効性が低下する。また、新たにロードされたエントリ
はそのロードの直後に再使用される可能性が高いことを
考慮すると、最後のエントリがロードされると飽和が生
じることになる。
有効性が低下する。また、新たにロードされたエントリ
はそのロードの直後に再使用される可能性が高いことを
考慮すると、最後のエントリがロードされると飽和が生
じることになる。
発明が解決しようとする課題
この時間的順序の損失の結果を判定するために、システ
ムによって従来処理されている方法の特有の処理の母集
団に関するシミュレーションを実施することが有効であ
る。例えば、ある処理の母集団では、65%の場合、必
要なエントリは32個だけであることが確かめられる。
ムによって従来処理されている方法の特有の処理の母集
団に関するシミュレーションを実施することが有効であ
る。例えば、ある処理の母集団では、65%の場合、必
要なエントリは32個だけであることが確かめられる。
このことは、処理の65%は、置換アルゴリズムの使用
を必要としないことを意味する。反対に、35%の処理
では、少なくとも1回はアルゴリズムが必要とされる。
を必要としないことを意味する。反対に、35%の処理
では、少なくとも1回はアルゴリズムが必要とされる。
従って、時間的順序の喪失は、35%の場合、少なくと
も1回は起こることになる。
も1回は起こることになる。
また、シミュレーションの際、所定の瞬間に、90%の
場合、プログラムは、最近呼び出された7つのエントリ
の1つにアクセスすることが確かめられた。この結果と
して、前述の局所性の現象が確かめられる。また、飽和
後参照ビットを0に再設定した後、除去すべきエン)
IJを選択する唯一の参照は連想メモリ中のエン) I
Jの位置である。
場合、プログラムは、最近呼び出された7つのエントリ
の1つにアクセスすることが確かめられた。この結果と
して、前述の局所性の現象が確かめられる。また、飽和
後参照ビットを0に再設定した後、除去すべきエン)
IJを選択する唯一の参照は連想メモリ中のエン) I
Jの位置である。
しかし、エントリのロケーションは、その最後の使用の
時についての情報を示すのではなく、最小の使用の時に
ついての除法を示している。さらに、処理の姶めに使用
されたページは飽和の直前に再度使用されることがある
。従って、この場合、参照ビットを0に再設定すると、
これらのページは、迅速に再使用される機会があるにも
かかわらず、優先的に除去される。
時についての情報を示すのではなく、最小の使用の時に
ついての除法を示している。さらに、処理の姶めに使用
されたページは飽和の直前に再度使用されることがある
。従って、この場合、参照ビットを0に再設定すると、
これらのページは、迅速に再使用される機会があるにも
かかわらず、優先的に除去される。
従って、この問題を解決するために、本発明によると、
処理の実行の始めの間、及び、存在するエントリ数が所
定の閾値により小さい限り、ずっと参照フラッグをその
初期値(例えば1)に保つことを提案した。閾値に達す
ると、通常、参照フラッグが明らかになる。従って、連
想メモリが一杯になると、ロードの終わりに対応する実
行フェイズの間使用されたエントリだけが使用を示す論
理値(例えば1)の参照フラッグを持つことができる。
処理の実行の始めの間、及び、存在するエントリ数が所
定の閾値により小さい限り、ずっと参照フラッグをその
初期値(例えば1)に保つことを提案した。閾値に達す
ると、通常、参照フラッグが明らかになる。従って、連
想メモリが一杯になると、ロードの終わりに対応する実
行フェイズの間使用されたエントリだけが使用を示す論
理値(例えば1)の参照フラッグを持つことができる。
そのため、平均して、かなり大きな数の処理が飽和によ
る時間的順序の喪失を逃れることができる。
る時間的順序の喪失を逃れることができる。
課題を解決するための手段
より詳細には、本発明は、情報がアドレスによって参照
され、情報と組み合わされたアドレスによって形成され
る組が「エントリ」と呼ばれる情報処理システムの主記
憶装置に含まれる情報にアクセスする方法であって、こ
のシステムは、各々が1つのエントリを記憶することの
できる複数のロケーションによって構成された高速メモ
リを備え、上記エントリは各々所定の第1の論理値に初
期化された存在フラッグと参照フラッグとに組み合わさ
れており、上記存在フラッグは対応するエントリが上記
高速メモリ中に存在すると第2の論理値を取り、該高速
メモリ中に存在し、そのアドレスが探索中の情報のアド
レスと一致するエントリを探索する連想読出しによって
情報へのアクセスを実施し、上記参照フラッグは組み合
わされたエントリの使用を示し、それによって、サーチ
しているが、まだ、上記高速メモリ中に存在していない
新規なエントリのロードのアルゴリズムを実施すること
ができる方法において、上記参照フラッグは、上記高速
メモリ中に存在するエントリ数が所定の閾値値より小さ
い限りその第1の論理値に維持され、上記の存在するエ
ントリ数が閾値以上の時、上記の組み合わされたエント
リが使用されると、参照フラッグが第2の論理値になる
ことを特徴とする方法を提供することを目的とする。
され、情報と組み合わされたアドレスによって形成され
る組が「エントリ」と呼ばれる情報処理システムの主記
憶装置に含まれる情報にアクセスする方法であって、こ
のシステムは、各々が1つのエントリを記憶することの
できる複数のロケーションによって構成された高速メモ
リを備え、上記エントリは各々所定の第1の論理値に初
期化された存在フラッグと参照フラッグとに組み合わさ
れており、上記存在フラッグは対応するエントリが上記
高速メモリ中に存在すると第2の論理値を取り、該高速
メモリ中に存在し、そのアドレスが探索中の情報のアド
レスと一致するエントリを探索する連想読出しによって
情報へのアクセスを実施し、上記参照フラッグは組み合
わされたエントリの使用を示し、それによって、サーチ
しているが、まだ、上記高速メモリ中に存在していない
新規なエントリのロードのアルゴリズムを実施すること
ができる方法において、上記参照フラッグは、上記高速
メモリ中に存在するエントリ数が所定の閾値値より小さ
い限りその第1の論理値に維持され、上記の存在するエ
ントリ数が閾値以上の時、上記の組み合わされたエント
リが使用されると、参照フラッグが第2の論理値になる
ことを特徴とする方法を提供することを目的とする。
閾値の選択は、高速メモリのロケーションの数nを考慮
し、閾値とこのnの数との間の範囲に含まれるエントリ
数が考えられる利用法のための最適の経時的な期間に対
応するようにされることに注目するとよい。
し、閾値とこのnの数との間の範囲に含まれるエントリ
数が考えられる利用法のための最適の経時的な期間に対
応するようにされることに注目するとよい。
本発明の特徴によると、この方法は、さらに、範囲は上
記高速メモリの各ロケーションに当てはめられるので、
エントリは当初範囲が増大するロケーション内で時間的
順序によってロードされ、上記範囲が上記閾値に等しい
存在フラッグは上記闇値に到達したという表示を提供す
ることを特徴とする。
記高速メモリの各ロケーションに当てはめられるので、
エントリは当初範囲が増大するロケーション内で時間的
順序によってロードされ、上記範囲が上記閾値に等しい
存在フラッグは上記闇値に到達したという表示を提供す
ることを特徴とする。
本発明の別の特徴によると、この方法は、探索中の情報
が高速メモリに存在しないと、該情報は主記憶装置中で
探索され、対応するエントリは範囲がロードのアルゴリ
ズムによって決定されたロケーションに配置され、上記
の組み合わされた存在フラッグは上記ロードと同期して
第2の論理値にされ、次に、探索中の情報の新規な連想
的探索が実施されることを特徴とする。
が高速メモリに存在しないと、該情報は主記憶装置中で
探索され、対応するエントリは範囲がロードのアルゴリ
ズムによって決定されたロケーションに配置され、上記
の組み合わされた存在フラッグは上記ロードと同期して
第2の論理値にされ、次に、探索中の情報の新規な連想
的探索が実施されることを特徴とする。
また別の特徴によると、この方法は、上記ロードアルゴ
リズムは、増大する順序で上記存在フラッグが上記の所
定の第1の論理値である第1のエントリ、または、そう
でなければ、参照フラッグが上記の所定の第1の論理値
である第1のエントリの範囲を探索することを特徴とす
る。
リズムは、増大する順序で上記存在フラッグが上記の所
定の第1の論理値である第1のエントリ、または、そう
でなければ、参照フラッグが上記の所定の第1の論理値
である第1のエントリの範囲を探索することを特徴とす
る。
本発明は、また、上記の方法を実施することのできる情
報処理システムであり、該システムの主記憶装置へのア
ドレッシングによってアクセスすることのできる処理手
段を備え、該主記憶装置中に含まれるアドレスとそれに
組み合わされた情報とによって形成された組が「エント
リ」と呼ばれ、上記処理手段は複数のロケーションによ
って槽底された高速メモリを備え、このロケーションは
各々上記エン) +Jの1つの記憶することができ、各
々、当初第1の論理値に設定された存在フリップフロッ
プ及び参照フリップフロップに接続され、エントリが上
記の接続されたロケーションにロードされた時上記存在
フリップフロップは第2の論理値にされ、上記高速メモ
リは探索中の情報のアドレスが上記ロケーションに存在
するエントリのアドレスに一致する第1の論理値を有す
る一致信号を各ロケーションに出力することのできる比
較手段に接続されており、上記システムは、上記高速メ
モリ中に存在するエン) IJ数が所定の閾値以上であ
るかどうかをその論理値が示す閾値信号を発生させる閾
値検出手段を備え、各存在するエントリのため、上記の
接続された参照フリップフロップの状態は、上記一致信
号が一致を示し、同時に、上記閾値信号が闇値に達した
ことを示す時、該参照フリップフロップを第2の論理状
態にする管理回路によって制御されていることを特徴と
するシステムを提供することを目的とする。
報処理システムであり、該システムの主記憶装置へのア
ドレッシングによってアクセスすることのできる処理手
段を備え、該主記憶装置中に含まれるアドレスとそれに
組み合わされた情報とによって形成された組が「エント
リ」と呼ばれ、上記処理手段は複数のロケーションによ
って槽底された高速メモリを備え、このロケーションは
各々上記エン) +Jの1つの記憶することができ、各
々、当初第1の論理値に設定された存在フリップフロッ
プ及び参照フリップフロップに接続され、エントリが上
記の接続されたロケーションにロードされた時上記存在
フリップフロップは第2の論理値にされ、上記高速メモ
リは探索中の情報のアドレスが上記ロケーションに存在
するエントリのアドレスに一致する第1の論理値を有す
る一致信号を各ロケーションに出力することのできる比
較手段に接続されており、上記システムは、上記高速メ
モリ中に存在するエン) IJ数が所定の閾値以上であ
るかどうかをその論理値が示す閾値信号を発生させる閾
値検出手段を備え、各存在するエントリのため、上記の
接続された参照フリップフロップの状態は、上記一致信
号が一致を示し、同時に、上記閾値信号が闇値に達した
ことを示す時、該参照フリップフロップを第2の論理状
態にする管理回路によって制御されていることを特徴と
するシステムを提供することを目的とする。
本発明のその他の特徴及び詳細な実施態様を添付図面を
参照して、以下に説明する。
参照して、以下に説明する。
実施例
第1図は、本発明を実施することのできる情報処理シス
テムの装置の概略図である。この装置は、高速メモリま
たは連想メモリ1を備える。このメモリは、そのコント
ローラ2とプロセッサの他の回路3に接続されている。
テムの装置の概略図である。この装置は、高速メモリま
たは連想メモリ1を備える。このメモリは、そのコント
ローラ2とプロセッサの他の回路3に接続されている。
従来の方法では、プロセッサは、回路3を介して主記憶
装置(図示せず)に接続されていた。回路3は、アドレ
ス変換に関するものを除いて、他の全部のプロセッサの
処理手段を備える。特に、通常、マイクロプログラミン
グされたアドレス生成ユニットを備えており、求められ
ている情報の仮想アドレスAVを命令から計算する。回
路3のマイクロプログラムにより、テーブル内を探索し
て、仮想アドレスに応じて実アドレスを得る。このアド
レス変換は、n個の仮想アドレスレジスタRAMと同じ
数の実アドレスレジスタRARによって構成されている
連想メモIJ 1によって、加速される。メモリ1は、
また、n個のフリップフロップBPRの装置を備えてお
り、このフリッププロップは各々仮想アドレス及び実ア
ドレスのレジスタに接続されている。行1の仮想アドレ
スレジスタに含まれた仮想アドレスAV、と同じ行の実
アドレスレジスタに含まれた実アドレスAR,は、エン
トリlを構成する。このエントリ1は、存在フラッグP
R,に組み合わされている。このフラッグの論理値は、
対応する存在フリップフロップの状態に対応する。コン
パレータ4は仮想アドレスレジスタRAVの出力Avl
に接続されており、マイクロプログラム回路から変換す
べき仮想アドレスAVを受ける。比較回路4は、存在フ
リップフロップBPRの出力PRIの信号によって有効
化される。回路4は、一致信号HITiを出力する。こ
の信号の論理値は、求めていた論理アドレスとレジスタ
RAVに含まれた論理アドレスの1つが等しいことを示
す。信号HIT+ は、有効化回路8に入力される。こ
の回路は、アドレス変換が成功したかどうかを示すアド
レス有効化信号AD VALをマイクロプログラム回
路に出力する。
装置(図示せず)に接続されていた。回路3は、アドレ
ス変換に関するものを除いて、他の全部のプロセッサの
処理手段を備える。特に、通常、マイクロプログラミン
グされたアドレス生成ユニットを備えており、求められ
ている情報の仮想アドレスAVを命令から計算する。回
路3のマイクロプログラムにより、テーブル内を探索し
て、仮想アドレスに応じて実アドレスを得る。このアド
レス変換は、n個の仮想アドレスレジスタRAMと同じ
数の実アドレスレジスタRARによって構成されている
連想メモIJ 1によって、加速される。メモリ1は、
また、n個のフリップフロップBPRの装置を備えてお
り、このフリッププロップは各々仮想アドレス及び実ア
ドレスのレジスタに接続されている。行1の仮想アドレ
スレジスタに含まれた仮想アドレスAV、と同じ行の実
アドレスレジスタに含まれた実アドレスAR,は、エン
トリlを構成する。このエントリ1は、存在フラッグP
R,に組み合わされている。このフラッグの論理値は、
対応する存在フリップフロップの状態に対応する。コン
パレータ4は仮想アドレスレジスタRAVの出力Avl
に接続されており、マイクロプログラム回路から変換す
べき仮想アドレスAVを受ける。比較回路4は、存在フ
リップフロップBPRの出力PRIの信号によって有効
化される。回路4は、一致信号HITiを出力する。こ
の信号の論理値は、求めていた論理アドレスとレジスタ
RAVに含まれた論理アドレスの1つが等しいことを示
す。信号HIT+ は、有効化回路8に入力される。こ
の回路は、アドレス変換が成功したかどうかを示すアド
レス有効化信号AD VALをマイクロプログラム回
路に出力する。
失敗の場合、信号AD VALはテーブル内で探索マ
イクロプログラムを始動させ、実アドレスを得る。探索
が実施されると、組み合わされた仮想アドレスAV@と
実アドレスAR@は、各々、仮想アドレスレジスタと実
アドレスレジスタの入力インターフェース5及び6に入
力され、各々、書き込み制御信号WRVI及びWRR,
の制御下でこれらのレジスタの1つに書き込まれる。
イクロプログラムを始動させ、実アドレスを得る。探索
が実施されると、組み合わされた仮想アドレスAV@と
実アドレスAR@は、各々、仮想アドレスレジスタと実
アドレスレジスタの入力インターフェース5及び6に入
力され、各々、書き込み制御信号WRVI及びWRR,
の制御下でこれらのレジスタの1つに書き込まれる。
変換が成功した場合、一致信号HITiはインターフェ
ース7によって、求めていた変換を含むアドレスレジス
タの読出しを実施させる。
ース7によって、求めていた変換を含むアドレスレジス
タの読出しを実施させる。
コントローラ2は、複数の参照フリップフロップBRF
を備える。これらのフリップフロップは、各々、メモリ
1のロケーションに組み合わされている。フリップフロ
ップBRFの状態RFlは、制御回路9によって決定さ
れている。この制御回路9には一致信号HITzが入力
され、また、この制御回路は参照フリップフロップBR
Fの出力RF、に接続されている。存在フリップフロッ
プBPRと参照フリップフロップBRFの出力に接続さ
れた選択回路10は選択信号Siを出力し、この信号は
、ロード制御回路11に入力される。このロード制御回
路11は、前記の信号WHV、とWRRIを出力する。
を備える。これらのフリップフロップは、各々、メモリ
1のロケーションに組み合わされている。フリップフロ
ップBRFの状態RFlは、制御回路9によって決定さ
れている。この制御回路9には一致信号HITzが入力
され、また、この制御回路は参照フリップフロップBR
Fの出力RF、に接続されている。存在フリップフロッ
プBPRと参照フリップフロップBRFの出力に接続さ
れた選択回路10は選択信号Siを出力し、この信号は
、ロード制御回路11に入力される。このロード制御回
路11は、前記の信号WHV、とWRRIを出力する。
この選択信号S、によって、テーブルに存在しない新し
いエントリをロードすべきである仮想アドレスレジスタ
と実アドレスレジスタを決定することができる。書き込
み制御WRVlとWRRlは、選択信号Siとマイクロ
プログラム回路によって出力される書き込み制御共通信
号WRRSWRVにに応じてロード制御回路11によっ
て決定される。また、マイクロプログラム回路3は、存
在フリップフロップ及び参照フリップフロップを0にリ
セットする信号R3を出力する。
いエントリをロードすべきである仮想アドレスレジスタ
と実アドレスレジスタを決定することができる。書き込
み制御WRVlとWRRlは、選択信号Siとマイクロ
プログラム回路によって出力される書き込み制御共通信
号WRRSWRVにに応じてロード制御回路11によっ
て決定される。また、マイクロプログラム回路3は、存
在フリップフロップ及び参照フリップフロップを0にリ
セットする信号R3を出力する。
第を図の装置は、以下の方法で動作する。仮想アドレス
AVを変換すべき時、マイクロプログラム回路はコンパ
レータ4の入力にこのアドレスを配置する。一致の場合
、信号HI Tl は求めていた変換を含む実アドレス
レジスタを有効化し、回路8は信号ADVALによって
このアドレスを有効化する。一致信号HIT、、高速メ
モリに存在するエントリ数及び参照フリップフロップの
前段の状態RF+ に応じて、制御回路9はこの参照フ
リップフロップの状態を再活性化する。これらのフリッ
プフロップの新規な状態RF、及び存在フラッグPR0
に応じて、選択回路lOは選択信号Slを再活性化し、
ロードされるべき次のエントリが書き込まれる新規なレ
ジスタを決定することができる。
AVを変換すべき時、マイクロプログラム回路はコンパ
レータ4の入力にこのアドレスを配置する。一致の場合
、信号HI Tl は求めていた変換を含む実アドレス
レジスタを有効化し、回路8は信号ADVALによって
このアドレスを有効化する。一致信号HIT、、高速メ
モリに存在するエントリ数及び参照フリップフロップの
前段の状態RF+ に応じて、制御回路9はこの参照フ
リップフロップの状態を再活性化する。これらのフリッ
プフロップの新規な状態RF、及び存在フラッグPR0
に応じて、選択回路lOは選択信号Slを再活性化し、
ロードされるべき次のエントリが書き込まれる新規なレ
ジスタを決定することができる。
失敗の場合、この状態は、テーブル内でリサーチマイク
ロプログラムを再始動させる信号ADVALによって信
号化される。リサーチを実施すると、対応するエントリ
AV、 、AR,はインターフェース5及び6の入力に
存在する。次に、このエントリは、書き込み信号WRR
,WRV及び選択信号St に応じて回路11の制御下
でロードされる。この選択されたレジスタにエントリが
ロードさると、マイクロプログラムは変換すべき仮想ア
ドレス変換の新規な試みを実施する。
ロプログラムを再始動させる信号ADVALによって信
号化される。リサーチを実施すると、対応するエントリ
AV、 、AR,はインターフェース5及び6の入力に
存在する。次に、このエントリは、書き込み信号WRR
,WRV及び選択信号St に応じて回路11の制御下
でロードされる。この選択されたレジスタにエントリが
ロードさると、マイクロプログラムは変換すべき仮想ア
ドレス変換の新規な試みを実施する。
この実施態様の特徴によると、制御回路9はメモリ中に
存在するエン) IJ数を考慮する。この数が所定の閾
値tより小さい限り、参照フラッグRF1は変わらず、
従って、例えば、ディスパッチングに続いて、処理の実
施の始めに信号R3によって与えられた初期値(例えば
、0)を維持する。
存在するエン) IJ数を考慮する。この数が所定の閾
値tより小さい限り、参照フラッグRF1は変わらず、
従って、例えば、ディスパッチングに続いて、処理の実
施の始めに信号R3によって与えられた初期値(例えば
、0)を維持する。
存在するエントリ数がtの値に達するかそれ以上になる
と、フラッグRF、は従来のアルゴリズム疑似LRUに
よって変更される。以下の説明で、この闇値が実際にど
のようにして検出されるかを説明する。
と、フラッグRF、は従来のアルゴリズム疑似LRUに
よって変更される。以下の説明で、この闇値が実際にど
のようにして検出されるかを説明する。
閾値は、n−tの最大値を求めることによって決定され
る。このn−tは、閾値に達した時と連想メモリが一杯
になった時との間にロードされたエントリ数に対応する
。そのため、特に、2つのディスパッチングと再使用さ
れたページの古さとの間で、処理によって使用されるエ
ントリ数についての統計データを使用することができる
。もし1つの解決法は、閾値を変化させながら、プログ
ラムの特性でシステムの機能シミュレーションを実施す
ることである。
る。このn−tは、閾値に達した時と連想メモリが一杯
になった時との間にロードされたエントリ数に対応する
。そのため、特に、2つのディスパッチングと再使用さ
れたページの古さとの間で、処理によって使用されるエ
ントリ数についての統計データを使用することができる
。もし1つの解決法は、閾値を変化させながら、プログ
ラムの特性でシステムの機能シミュレーションを実施す
ることである。
非限定的な実施例として、n=32のマイクロプロセッ
サ型汎用コンピュータの場合、t=24を選択する。
サ型汎用コンピュータの場合、t=24を選択する。
第2図は、エン) IJの1つに組み合わされたメモリ
1の一部分を図示したものである。想定されたエントリ
iの仮想アドレス及び実アドレスは、各々、仮想アドレ
スレジスタRAV+ と実アドレスレジスタRA Ri
に含ま、れている。仮想アドレスRA V tの並列
出力A V t はコンパレータ4の比較回路14の第
1の入力に接続されており、その第2の入力にはレジス
タRcによって出力された変換すべき仮想アドレスAV
が入力される。存在フリップフロップBPRi の出力
PRI は、回路14の有効入力に接続されている。ま
た、出力PRsは、コントローラ2に接続されている。
1の一部分を図示したものである。想定されたエントリ
iの仮想アドレス及び実アドレスは、各々、仮想アドレ
スレジスタRAV+ と実アドレスレジスタRA Ri
に含ま、れている。仮想アドレスRA V tの並列
出力A V t はコンパレータ4の比較回路14の第
1の入力に接続されており、その第2の入力にはレジス
タRcによって出力された変換すべき仮想アドレスAV
が入力される。存在フリップフロップBPRi の出力
PRI は、回路14の有効入力に接続されている。ま
た、出力PRsは、コントローラ2に接続されている。
回路14の出力は、一方はコントローラ2に、他方は同
期化ゲート17の入力に接続されている。ゲート17は
、クロック信号の第1の位相CKIによって同期化され
る。
期化ゲート17の入力に接続されている。ゲート17は
、クロック信号の第1の位相CKIによって同期化され
る。
実アドレスレジスタRARIの並列出力は、同期化ゲー
ト17の出力信号RD、によって有効化される増幅器1
8Bの入力に接続されている。信号RD 1は、また、
増幅器18Aを有効化し、増幅器18Aは、論理値1に
対応する電圧をその入力に受ける。増幅器18A及び1
8Bから出力された信号ADVAL及びAR,はマイク
ロプログラム回路に送られる。
ト17の出力信号RD、によって有効化される増幅器1
8Bの入力に接続されている。信号RD 1は、また、
増幅器18Aを有効化し、増幅器18Aは、論理値1に
対応する電圧をその入力に受ける。増幅器18A及び1
8Bから出力された信号ADVAL及びAR,はマイク
ロプログラム回路に送られる。
レジスタにロードされるべき仮想アドレス及び実アドレ
スAV、 、AR,は、当初、マイクロプログラム回路
の出力R0のレジスタに配置される。
スAV、 、AR,は、当初、マイクロプログラム回路
の出力R0のレジスタに配置される。
レジスタR@の並列出力は、増幅器15及び16を介し
てレジスタの並列入力RAVI及びRAR,に接続され
ている。増幅器15及び16は、各々コントローラ2に
よって出力された信号WRVi及びWRRiによって有
効化される。
てレジスタの並列入力RAVI及びRAR,に接続され
ている。増幅器15及び16は、各々コントローラ2に
よって出力された信号WRVi及びWRRiによって有
効化される。
第2図の回路は、以下のように作動する。クロック(図
示せず〉は、2つの位相のクロック信号CKI及びCK
2を出力する。位相CK2の間、マイクロプログラム回
路はレジスタRc内に変換すべき仮想アドレスを配置す
る。次の位相CKIの間、このアドレスを回路14中で
レジスタRA V +に含まれる仮想アドレスAV、に
比較する。これらのアドレスAVとAV、が異なる時、
または、存在フラッグPR,が0の時、一致信号HIT
+はOの値をとる。その結果、位相CKIの間、増幅器
18A及び18Bは高インピーダンス状態に維持される
。
示せず〉は、2つの位相のクロック信号CKI及びCK
2を出力する。位相CK2の間、マイクロプログラム回
路はレジスタRc内に変換すべき仮想アドレスを配置す
る。次の位相CKIの間、このアドレスを回路14中で
レジスタRA V +に含まれる仮想アドレスAV、に
比較する。これらのアドレスAVとAV、が異なる時、
または、存在フラッグPR,が0の時、一致信号HIT
+はOの値をとる。その結果、位相CKIの間、増幅器
18A及び18Bは高インピーダンス状態に維持される
。
反対に、アドレスAVとAVIが同じで、存在フラッグ
PRtが1の時、一致信号HIT、は1の値をとる。こ
のように、位相CK1の間、レジスタRAR1に含まれ
る実アドレスARユは、増幅器18Bを介してマイクロ
プログラムに転送される。同時に、信号AD VAL
は1であり、このようにして変換の成功を表示する。メ
モリの他のエントリに組み合わされた増幅器18Aはワ
イヤード○R機能を実施する。これは、好ましくは、位
相CK2中にあらかじめ充電され、位相CKl中に信号
RD tによって選択的に放電された線を介して、実施
することができる。
PRtが1の時、一致信号HIT、は1の値をとる。こ
のように、位相CK1の間、レジスタRAR1に含まれ
る実アドレスARユは、増幅器18Bを介してマイクロ
プログラムに転送される。同時に、信号AD VAL
は1であり、このようにして変換の成功を表示する。メ
モリの他のエントリに組み合わされた増幅器18Aはワ
イヤード○R機能を実施する。これは、好ましくは、位
相CK2中にあらかじめ充電され、位相CKl中に信号
RD tによって選択的に放電された線を介して、実施
することができる。
高速メモリ内に新規なエントリをロードするには、まず
、レジスタ段0内にエントリの仮想アドレスAV、を配
置し、仮想アドレスの書き込み制御信号’vVRVを活
性化する。レジスタRAVIが選択された時、コントロ
ーラ2のロード回路11は信号WRV、を出力して、増
幅器15を有効化させる。同様に、対応する実アドレス
AR,を出力レジスタR8に配置して、信号WRRi
は増幅器16を有効化させる。
、レジスタ段0内にエントリの仮想アドレスAV、を配
置し、仮想アドレスの書き込み制御信号’vVRVを活
性化する。レジスタRAVIが選択された時、コントロ
ーラ2のロード回路11は信号WRV、を出力して、増
幅器15を有効化させる。同様に、対応する実アドレス
AR,を出力レジスタR8に配置して、信号WRRi
は増幅器16を有効化させる。
第3図は、参照フリップフロップBRFとその制御回路
9を詳細に図示したものである。制御回路9は、1つの
共通制御回路19Bと複数のフリップフロップBRFの
管理回路19Aに分解される。
9を詳細に図示したものである。制御回路9は、1つの
共通制御回路19Bと複数のフリップフロップBRFの
管理回路19Aに分解される。
連想メモリの配置(レジスタのセット)は表示112・
・・、11 ・・・、nによって参照されるので、それ
らに各々プリップフロップBRFI 、BRF2、・・
・、BRFl、・・・、BRF、1を組み合わせる。各
フリッププロップB RF i は、組み合わされた管
理回路GRFによって出力された信号WRFI によっ
て制御される。出力RF +、RF2、・・・、RF、
、・・・、RF、は、共通制御回路19Bに接続されて
おり、各管理回路GRFに1へのセット信号Vと0への
リセット信号CL2とを出力する。回路19Bは、また
、一致信号HIT、、HIT2 、・・・、HIT、、
・・・HIT、、を受ける。
・・、11 ・・・、nによって参照されるので、それ
らに各々プリップフロップBRFI 、BRF2、・・
・、BRFl、・・・、BRF、1を組み合わせる。各
フリッププロップB RF i は、組み合わされた管
理回路GRFによって出力された信号WRFI によっ
て制御される。出力RF +、RF2、・・・、RF、
、・・・、RF、は、共通制御回路19Bに接続されて
おり、各管理回路GRFに1へのセット信号Vと0への
リセット信号CL2とを出力する。回路19Bは、また
、一致信号HIT、、HIT2 、・・・、HIT、、
・・・HIT、、を受ける。
各管理回路GRFは、組み合わされた一致信号HIT+
のフリップフロップBHLによる位相CK1でのラッチ
によって得られた信号HL Lを受ける。
のフリップフロップBHLによる位相CK1でのラッチ
によって得られた信号HL Lを受ける。
第3図は、第4図及び第5図によって説明される。第4
図及び第5図は、各々、共通制御回路19B及び管理回
路GRFの実施態様を詳細に図示したものである。以下
の説明は、正の論理で行われる。
図及び第5図は、各々、共通制御回路19B及び管理回
路GRFの実施態様を詳細に図示したものである。以下
の説明は、正の論理で行われる。
第4図の共通制御回路19Bは、判定回路19C、フリ
ップフロップBCL及び同期化回路19Dとによって構
成されている。
ップフロップBCL及び同期化回路19Dとによって構
成されている。
判定回路19Cは、判定線CLを備える。この判定線の
状態は、高速メモリが飽和状態に達しているかどうかを
示す。判定回路19Cは、CMO3技術の複雑な論理ゲ
ートによって構成されている。
状態は、高速メモリが飽和状態に達しているかどうかを
示す。判定回路19Cは、CMO3技術の複雑な論理ゲ
ートによって構成されている。
その線CLは、PMO3)ランジスタp1及びP2を使
用して、位相CK2の間にあらかじめロードされる。線
CLは、信号HITr”及びRFI”に応じて決定され
る。これらの信号は、各々、高速メモリ内に含まれたエ
ントリに組み合わされた一致信号HIT、及び参照信号
RF +の反転信号である。線CLの状態は、位相CK
1によってフリップフロップBCL中にラッチされる。
用して、位相CK2の間にあらかじめロードされる。線
CLは、信号HITr”及びRFI”に応じて決定され
る。これらの信号は、各々、高速メモリ内に含まれたエ
ントリに組み合わされた一致信号HIT、及び参照信号
RF +の反転信号である。線CLの状態は、位相CK
1によってフリップフロップBCL中にラッチされる。
このフリップフロップは、ラッチされた判定信号CLI
を出力する。
を出力する。
線CLは、共通のNMO3)ランジスタN3と、各エン
トリごとに、2つのNMO3)ランジスタN1及びN2
で形成された直列回路を介してアースV5sに接続され
ている。その2つのNMO5)ランジスタNl及びN2
のゲートには、各々、組み合わされたエントリの信号R
F 1°及びHITt”が入力される。この構成によっ
て、論理関数を演算(位相CKIの間に計算)すること
ができる。
トリごとに、2つのNMO3)ランジスタN1及びN2
で形成された直列回路を介してアースV5sに接続され
ている。その2つのNMO5)ランジスタNl及びN2
のゲートには、各々、組み合わされたエントリの信号R
F 1°及びHITt”が入力される。この構成によっ
て、論理関数を演算(位相CKIの間に計算)すること
ができる。
CL=ΣI(RFt”・HITt”)
(但し、上記式において、Σ9は、論理積RF、”・H
IT+”の全体に当てはめられるNOR関数である。〉 位相CK2の間ブロックされたトランジスタN3は、C
L線のプリロードに役立つ。
IT+”の全体に当てはめられるNOR関数である。〉 位相CK2の間ブロックされたトランジスタN3は、C
L線のプリロードに役立つ。
従って、全てのフラッグが0に初期化された連想メモリ
の作動の最初から、飽和状態に達しておらず、この状態
が一致がある場合だけを除いて、参照フラッグが全部1
である場合に対応する限り、CL線は各判定フェイズで
放電する。一致がある場合、CL線は判定フェイズの間
論理値1を保持し、このようにして飽和状態に達したこ
とを信号化する。
の作動の最初から、飽和状態に達しておらず、この状態
が一致がある場合だけを除いて、参照フラッグが全部1
である場合に対応する限り、CL線は各判定フェイズで
放電する。一致がある場合、CL線は判定フェイズの間
論理値1を保持し、このようにして飽和状態に達したこ
とを信号化する。
同期化回路19Dは、3つの入力を有するANDゲート
21を備える。第1の入力にはラッチされた判定信号C
LIが入力され、第2の入力には位相CK2が、第3の
入力には作動許可信号USEが入力される。USE信号
は、マイクロプログラム回路によって出力される作動制
御信号である。
21を備える。第1の入力にはラッチされた判定信号C
LIが入力され、第2の入力には位相CK2が、第3の
入力には作動許可信号USEが入力される。USE信号
は、マイクロプログラム回路によって出力される作動制
御信号である。
また、同期化回路19Dは、3つの入力を有するNAN
Dゲート20を備える。この3つの入力には、各々、ク
ロックの位相CK2、USE信号及び高速メモリのロー
ド限界に達した時1の値をとる閾値信号PRtが入力さ
れる。ゲート20は、信号V9を出力する。この信号V
*は、lにあらかじめ決定される信号Vの反転信号であ
る。ロケーションが所定の順序でロードされているなら
ば、閾値信号は、フリップフロップBPRiの読出しに
よって、容易に得られる。その範囲は、閾値に等しく、
あらかじめ選択されたものである。
Dゲート20を備える。この3つの入力には、各々、ク
ロックの位相CK2、USE信号及び高速メモリのロー
ド限界に達した時1の値をとる閾値信号PRtが入力さ
れる。ゲート20は、信号V9を出力する。この信号V
*は、lにあらかじめ決定される信号Vの反転信号であ
る。ロケーションが所定の順序でロードされているなら
ば、閾値信号は、フリップフロップBPRiの読出しに
よって、容易に得られる。その範囲は、閾値に等しく、
あらかじめ選択されたものである。
第5図は、参照フリップフロップBRFi と接続され
た管理回路GRFを図示した者である。フリップフロッ
プB RF i は、互い違いに接続されたインバータ
によって簡単に構成されている。これらのインバータは
、参照フラッグRF を及びその反転信号RF+”を出
力する。
た管理回路GRFを図示した者である。フリップフロッ
プB RF i は、互い違いに接続されたインバータ
によって簡単に構成されている。これらのインバータは
、参照フラッグRF を及びその反転信号RF+”を出
力する。
フリップフロップBRF、の状態RF、は、線WRFI
によって制御される。線W RF + は、2つのN
MO3)ランジスタN4、N5によって構成された直列
回路を介してまたはNMO3)ランジスタN6を介して
放電される。トランジスタN4、N5及びN6のゲート
には、各々、信号HLIの反転信号であるHLi”、C
L2信号及びR3信号が入力される。その結果、HL、
信号が0で、R3信号が1の時またはCL2信号が1の
時、WRFI線は放電される。このように、接続された
レジスタに含まれた仮想アドレスが変換すべき仮想アド
レスと一致しない時、飽和状態が検出されると、フリッ
プフロップBRFiは0にされる。
によって制御される。線W RF + は、2つのN
MO3)ランジスタN4、N5によって構成された直列
回路を介してまたはNMO3)ランジスタN6を介して
放電される。トランジスタN4、N5及びN6のゲート
には、各々、信号HLIの反転信号であるHLi”、C
L2信号及びR3信号が入力される。その結果、HL、
信号が0で、R3信号が1の時またはCL2信号が1の
時、WRFI線は放電される。このように、接続された
レジスタに含まれた仮想アドレスが変換すべき仮想アド
レスと一致しない時、飽和状態が検出されると、フリッ
プフロップBRFiは0にされる。
W RF を線は、2つのPMO3)ランジスタP3、
P4によって形成された直列回路を介して、論理値1に
される。このPMO3)ランジスタP3及びP4のゲー
トには、HLi”及びv0信号が入力される。この構成
によって、■及びHL+信号が1の時、すなわち、闇値
に達せずに、求めている仮想アドレスがレジスタ内に含
まれている仮想アドレスと一致する時、フリップフロッ
プBRF。
P4によって形成された直列回路を介して、論理値1に
される。このPMO3)ランジスタP3及びP4のゲー
トには、HLi”及びv0信号が入力される。この構成
によって、■及びHL+信号が1の時、すなわち、闇値
に達せずに、求めている仮想アドレスがレジスタ内に含
まれている仮想アドレスと一致する時、フリップフロッ
プBRF。
は1にされる。
第6図のタイミングチャートを参照して、第3図、第4
図及び第5図の回路の完全な機能を以下に説明する。
図及び第5図の回路の完全な機能を以下に説明する。
第6図のタイミングチャートは、共通制御回路19Bに
よって生成した信号CL、CLI、CL2及び連想メモ
リのエントリlに組み合わされた信号HIT、 、HL
i及びRF +の時間を関数とした変動を図示したもの
である。使用されているエントリlは存在しており、す
なわち、フラッグPR[はlであるが分かる。また、既
に閾値に達しており、位相CK2の間、従って、この位
相の開信号VIがこの0の時、すでに閾値に達している
、すなわち、信号Vが1であると考えられる。さらに、
最初の時t。の時、参照フラッグRFI及びラッチされ
た判定信号CLIはどちらもOであると考える。
よって生成した信号CL、CLI、CL2及び連想メモ
リのエントリlに組み合わされた信号HIT、 、HL
i及びRF +の時間を関数とした変動を図示したもの
である。使用されているエントリlは存在しており、す
なわち、フラッグPR[はlであるが分かる。また、既
に閾値に達しており、位相CK2の間、従って、この位
相の開信号VIがこの0の時、すでに閾値に達している
、すなわち、信号Vが1であると考えられる。さらに、
最初の時t。の時、参照フラッグRFI及びラッチされ
た判定信号CLIはどちらもOであると考える。
toの時から、位相CK2の間は、回路19CのCL線
のプリロードが実施される。t、の時から、次の位相C
KIの間、1をとると仮定された一致信号HIT、の判
定が実施される。この位相の間、信号HITI はフリ
ップフロップBHLによってラッチされる。このフリッ
プフロップの状aHLiは、1になる。同時に、CL、
を判定する。飽和に達しないと仮定すると、CL線は0
になり、信号CLI及びCl3もまた0である。t2時
から次の位相CK2の間、CL線は再度ロードされる。
のプリロードが実施される。t、の時から、次の位相C
KIの間、1をとると仮定された一致信号HIT、の判
定が実施される。この位相の間、信号HITI はフリ
ップフロップBHLによってラッチされる。このフリッ
プフロップの状aHLiは、1になる。同時に、CL、
を判定する。飽和に達しないと仮定すると、CL線は0
になり、信号CLI及びCl3もまた0である。t2時
から次の位相CK2の間、CL線は再度ロードされる。
また、一致信号HL + と有効化信号が1の時、管理
回路GRFのトランジスタP3及びP4はオン状態であ
り、WRFi線はこのようにフラッグRF1をlにする
正の電圧にロードされる。
回路GRFのトランジスタP3及びP4はオン状態であ
り、WRFi線はこのようにフラッグRF1をlにする
正の電圧にロードされる。
t3時から次の位相CK10間、一致がないとすると、
一致信号HIT+は0になり、従って、信号HL 、を
0にする。常に、飽和状態に達していないと仮定すると
、CL線はこの位相の間放電され、信号CLI及びCl
3は0のままである。
一致信号HIT+は0になり、従って、信号HL 、を
0にする。常に、飽和状態に達していないと仮定すると
、CL線はこの位相の間放電され、信号CLI及びCl
3は0のままである。
その結果、t、から次の位相CK2の間、0の信号CL
2はトランジスタN5をオフ状態に保ち、このようにし
て、フリッププロップBRFLが0にリセットされるの
を防ぐ。
2はトランジスタN5をオフ状態に保ち、このようにし
て、フリッププロップBRFLが0にリセットされるの
を防ぐ。
16時から以下の位相CK10間、閾値状態に達して、
信号HI T iは0であると仮定した。その結果、C
L線はロードされ、このようにしてフリップフロップを
1にセットし、その状態を1にする。次に、16時から
以下の位相CK2の間、0にリセットする位置決定信号
CL2は1になり、トランジスタN5をオンにする。信
号HL+ は0なので、トランジスタN4もオンになり
、WRFiは放電され、フラッグRFiを0にリセット
する。
信号HI T iは0であると仮定した。その結果、C
L線はロードされ、このようにしてフリップフロップを
1にセットし、その状態を1にする。次に、16時から
以下の位相CK2の間、0にリセットする位置決定信号
CL2は1になり、トランジスタN5をオンにする。信
号HL+ は0なので、トランジスタN4もオンになり
、WRFiは放電され、フラッグRFiを0にリセット
する。
上記の説明によって、参照フラッグが0にリセットされ
なければならない時でさえ連想メモリは常に2つの位相
のクロックで作動することが示されている。
なければならない時でさえ連想メモリは常に2つの位相
のクロックで作動することが示されている。
第7図は、第」図を参照して説明した選択回路10を図
示したものである。この図には、存在フリップフロップ
BPRISBPR2、・・・、BPRl、・・・BPR
,及び連想メモリの行1.2、・・・ i、・・・nの
エントリに各々接続された参照フリップフロップBRF
ISBRF2、・・、BRFi、 ・・・、BRF、
が示されている。
示したものである。この図には、存在フリップフロップ
BPRISBPR2、・・・、BPRl、・・・BPR
,及び連想メモリの行1.2、・・・ i、・・・nの
エントリに各々接続された参照フリップフロップBRF
ISBRF2、・・、BRFi、 ・・・、BRF、
が示されている。
各エントリiには、選択セルC8及び各々、エントリの
存在フリップフロップと参照フリップフロップに接続さ
れた要求信号の2つの伝播回路CPが接続されている。
存在フリップフロップと参照フリップフロップに接続さ
れた要求信号の2つの伝播回路CPが接続されている。
伝播回路CPは、各々、要求信号V P を及びRP。
を出力し、接続されたフリップフロップのフラッグPR
,及びRFl、同様に、上流の伝播回路から出力された
要求信号VPl−+及びRPi−、が入力される。
,及びRFl、同様に、上流の伝播回路から出力された
要求信号VPl−+及びRPi−、が入力される。
n列の最後のエン) IJの存在フリップフロップBP
R1,に接続された伝播回路CPの出力VP、は、第1
のエントリの参照フリップフロップBRFIに接続され
た伝播回路の要求入力に入力される。
R1,に接続された伝播回路CPの出力VP、は、第1
のエントリの参照フリップフロップBRFIに接続され
た伝播回路の要求入力に入力される。
また、第1のエントリの参照フリップフロップBPF、
に接続された伝播回RCPの要求入力には、常に、要求
の存在について示す信号が入力される。
に接続された伝播回RCPの要求入力には、常に、要求
の存在について示す信号が入力される。
図示した実施例ては、要求信号がlである時要求が存在
すると考えられる。もちろん、この取り決めを逆に選択
しても、本発明の範囲を越えることはない。
すると考えられる。もちろん、この取り決めを逆に選択
しても、本発明の範囲を越えることはない。
伝播回路は、各々、要求信号VP、及びRPIを発生さ
せるように設計されている。この要求信号は、各々、上
流の要求信号VP=、及びRPt−+が要求の存在を示
し、フラッグPRt及びRF tが1である時、要求の
存在を示す。また、上流の要求信号VP+−+ または
RPt−1が要求の存在を示し、接続されたフリップフ
ロップBPRIまたはBRFlが0の時、エントリ1の
選択を示す選択信号S、を出力する。
せるように設計されている。この要求信号は、各々、上
流の要求信号VP=、及びRPt−+が要求の存在を示
し、フラッグPRt及びRF tが1である時、要求の
存在を示す。また、上流の要求信号VP+−+ または
RPt−1が要求の存在を示し、接続されたフリップフ
ロップBPRIまたはBRFlが0の時、エントリ1の
選択を示す選択信号S、を出力する。
第°7図の回路は、以下のように動作する。存在フリッ
ププロップ及び参照フリップフロップの状態に応じて、
第1の存在プリップフロップBPR。
ププロップ及び参照フリップフロップの状態に応じて、
第1の存在プリップフロップBPR。
に接続された伝播回路の入力に常に入力されている要求
信号は、まず、存在フリップフロップに接続された伝播
回路を介して、次に、参照フリップフロップに接続され
た伝播回路を介してエントリの増加順序で少しずつ伝播
する。要求信号の伝播は、0である存在フリップフロッ
プまたは参照フリップフロップに接続された伝播回路の
位置で停止する。このエン) IJに接続された選択セ
ルは、この時、選択信号Stを、接続されたレジスタ中
に新規なエントリの書き込みが実行されなければならな
いことを示す所定の論理値にする。
信号は、まず、存在フリップフロップに接続された伝播
回路を介して、次に、参照フリップフロップに接続され
た伝播回路を介してエントリの増加順序で少しずつ伝播
する。要求信号の伝播は、0である存在フリップフロッ
プまたは参照フリップフロップに接続された伝播回路の
位置で停止する。このエン) IJに接続された選択セ
ルは、この時、選択信号Stを、接続されたレジスタ中
に新規なエントリの書き込みが実行されなければならな
いことを示す所定の論理値にする。
従って、第7図の回路は、常に、ロードすべき新規なエ
ントリを入力するための連想メモリの位置を示すことが
できる。この回路によって実行されるロードのアルゴリ
ズムは、従って、位置に影響する行の増加する順序によ
って、エン) IJを全く含まない(その最初の存在フ
ラッグPRi は0である)第1の位置、次に、最近使
用されなくなった第1のエントリ(その最初の存在フラ
ッグRFtは0である)を求めることからなる。この実
施態様では、選択信号Stの発見は、存在フリップフロ
ップ及び参照フリップフロップの状態の変化に自動的に
従う。
ントリを入力するための連想メモリの位置を示すことが
できる。この回路によって実行されるロードのアルゴリ
ズムは、従って、位置に影響する行の増加する順序によ
って、エン) IJを全く含まない(その最初の存在フ
ラッグPRi は0である)第1の位置、次に、最近使
用されなくなった第1のエントリ(その最初の存在フラ
ッグRFtは0である)を求めることからなる。この実
施態様では、選択信号Stの発見は、存在フリップフロ
ップ及び参照フリップフロップの状態の変化に自動的に
従う。
伝播回路の縦続接続を考慮すると、この反応時間はかな
り長い。しかし、選択信号は、ロードすべき新規なエン
トリをテーブル内で探索した後しか使用されず、この探
索はかなり時間のかかる操作なので、この欠点は決定的
ではない。しかし、連想メモリが多数のエントリを有す
る時、選択回路の遅さは大きな欠点となることもなる。
り長い。しかし、選択信号は、ロードすべき新規なエン
トリをテーブル内で探索した後しか使用されず、この探
索はかなり時間のかかる操作なので、この欠点は決定的
ではない。しかし、連想メモリが多数のエントリを有す
る時、選択回路の遅さは大きな欠点となることもなる。
従って、この欠点を解消するために、好ましい別の実施
態様によって、これらの回路の層の数を減少させて、従
って、動作の速度を大きくして、選択セルと伝播回路の
最適化を提案した。
態様によって、これらの回路の層の数を減少させて、従
って、動作の速度を大きくして、選択セルと伝播回路の
最適化を提案した。
この目的では、偶数の行か奇数の行の位置に接続するか
によって2つの異なる型のセルを使用した。
によって2つの異なる型のセルを使用した。
第8図は、選択セルC3I及び奇数の行の位置に接続さ
れた伝播回路を図示したものである。伝播回路CPIは
、NANDゲートによって構成されており、その第1の
入力には接続されたフラッグRF+、PRtが、その第
2の入力には上流の要求信号RP+−+、VP、−Iが
入力される。CPIのゲートは、反転した要求信号RP
i”、VPj”を出力する。C3Iセルは、複合論理ゲ
ートであり、その入力に上流の要求信号RPt−+、V
P s−+とフラッグRF、 、PR,の反転したR
FiI、 PRl”が入力される。C3Iゲートは、信
号81″、この選択信号SLの反転信号を出力する。こ
れは、以下の式によって確かめられる。
れた伝播回路を図示したものである。伝播回路CPIは
、NANDゲートによって構成されており、その第1の
入力には接続されたフラッグRF+、PRtが、その第
2の入力には上流の要求信号RP+−+、VP、−Iが
入力される。CPIのゲートは、反転した要求信号RP
i”、VPj”を出力する。C3Iセルは、複合論理ゲ
ートであり、その入力に上流の要求信号RPt−+、V
P s−+とフラッグRF、 、PR,の反転したR
FiI、 PRl”が入力される。C3Iゲートは、信
号81″、この選択信号SLの反転信号を出力する。こ
れは、以下の式によって確かめられる。
5i=RF+”−RPt−++PRi”VPt−を信号
Stを得るために、C3Iゲートの出力は、インバータ
に接続される。
Stを得るために、C3Iゲートの出力は、インバータ
に接続される。
第9図は、選択セルC3P及び偶数行の位置に接続され
た伝播回路CPPを図示したものである。
た伝播回路CPPを図示したものである。
伝播セルCPPは、NORゲートを使用して実施される
。その第1の入力には、接続されたフラッグRF、 5
PRtの反転信号が、第2の入力には前段の奇数の段か
ら出力された要求信号RPi−+、vp、、の反転した
RPt−+”、VPt−+”が入力される。選択セルC
3Pは、複合ゲートであり、その入力にはフラッグRF
、、PR,及び関連する要求信号RP+−+、VP、、
の反転信号が入力される。
。その第1の入力には、接続されたフラッグRF、 5
PRtの反転信号が、第2の入力には前段の奇数の段か
ら出力された要求信号RPi−+、vp、、の反転した
RPt−+”、VPt−+”が入力される。選択セルC
3Pは、複合ゲートであり、その入力にはフラッグRF
、、PR,及び関連する要求信号RP+−+、VP、、
の反転信号が入力される。
C3Pゲートは、上記の論理式で確かめられる選択信号
Siを出力する。
Siを出力する。
C3lSC3Pセル及びC3I、CPPゲートは、CM
O3技術で容易に実施することかできる。
O3技術で容易に実施することかできる。
第10図は、制御信号WHV、WRR及び選択信号S、
に応じて各々レジスタRA V を及びRA Rtに接
続された書き込み制御信号WRV、及びWRRIを生成
することできる回路を図示したものである。
に応じて各々レジスタRA V を及びRA Rtに接
続された書き込み制御信号WRV、及びWRRIを生成
することできる回路を図示したものである。
第10図の回路は、各々、選択信号S、によって有効化
され、クロック位相CK2によって同期化される仮想ア
ドレスWRV及び実アドレスWRRの書き込み制御共通
信号を転送することのできるANDゲートを使用して簡
単に実現される。
され、クロック位相CK2によって同期化される仮想ア
ドレスWRV及び実アドレスWRRの書き込み制御共通
信号を転送することのできるANDゲートを使用して簡
単に実現される。
第1図は、本発明を実施するための情報処理システムの
概略図であり、 第2図は、高速メモリの1実施態様を図示したものであ
り、 第3図は、参照フラッグの制御回路を図示したものであ
り、 第4図は、第3図の制御回路の実施態様を詳細に図示し
たものであり、 第5図は、参照フリップフロップの1つの管理回路を図
示したものであり、 第6図は、第3図から第5図に図示した回路の動作を説
明するためのタイミングチャートであり、第7図は、新
規なエントリをロードしなければならない高速メモリの
位置を決定することのできる選択回路を図示したもので
あり、 第8図及び第9図は、第7図の回路の実施態様を詳細に
図示したものであり、 第10図は、高速メモリの位置の1つのロード制御回路
を図示したものである。 (主な参照番号〉 ■:・・高速メモリ 2・・・コントローラ3・・・
マイクロプログラム回路 4・・・比較回路 5.6.7・・・インターフェース 9・・・制御回路 10・・・選択回路11・・・
ロード制御回路 14・・・比較回路 15.16.18・・・増幅器 19・・・管理回路 20・・・NANDゲート2
1・・・ANDゲート AV・・・仮想アドレス RAM、 RAR・・・高速メモリ PR,・・・存在フラッグ RFユ・・・参照フラッグ BPR,・・・存在フリップフロップ BRF、・・・参照フリップフロップ HIT、・・・一致信号
概略図であり、 第2図は、高速メモリの1実施態様を図示したものであ
り、 第3図は、参照フラッグの制御回路を図示したものであ
り、 第4図は、第3図の制御回路の実施態様を詳細に図示し
たものであり、 第5図は、参照フリップフロップの1つの管理回路を図
示したものであり、 第6図は、第3図から第5図に図示した回路の動作を説
明するためのタイミングチャートであり、第7図は、新
規なエントリをロードしなければならない高速メモリの
位置を決定することのできる選択回路を図示したもので
あり、 第8図及び第9図は、第7図の回路の実施態様を詳細に
図示したものであり、 第10図は、高速メモリの位置の1つのロード制御回路
を図示したものである。 (主な参照番号〉 ■:・・高速メモリ 2・・・コントローラ3・・・
マイクロプログラム回路 4・・・比較回路 5.6.7・・・インターフェース 9・・・制御回路 10・・・選択回路11・・・
ロード制御回路 14・・・比較回路 15.16.18・・・増幅器 19・・・管理回路 20・・・NANDゲート2
1・・・ANDゲート AV・・・仮想アドレス RAM、 RAR・・・高速メモリ PR,・・・存在フラッグ RFユ・・・参照フラッグ BPR,・・・存在フリップフロップ BRF、・・・参照フリップフロップ HIT、・・・一致信号
Claims (10)
- (1)情報がアドレスによって参照され、情報と組み合
わされたアドレスによって形成される組が「エントリ」
と呼ばれる情報処理システムの主記憶装置に含まれる情
報にアクセスする方法であって、このシステムは、各々
が1つのエントリを記憶することのできる複数のロケー
ション(RAR_i、RAV_i)によって構成された
高速メモリ(1、RAR、RAV)を備え、上記エント
リは各々所定の第1の論理値に初期化された存在フラッ
グ(PR_i)と参照フラッグ(RF_i)とに組み合
わされており、上記存在フラッグ(PR_i)は対応す
るエントリが上記高速メモリ中に存在すると第2の論理
値を取り、該高速メモリ中に存在し、そのアドレスが探
索中の情報のアドレスと一致するエントリを探索する連
想読出しによって情報へのアクセスを実施し、上記参照
フラッグ(RF_i)は組み合わされたエントリの使用
を示し、それによって、探索しているが、まだ、上記高
速メモリ(1、RAR、RAV)中に存在していない新
規なエントリのロードのアルゴリズムを実施することが
できる方法において、上記参照フラッグ(RF_i)は
、上記高速メモリ中に存在するエントリ数が所定の閾値
(t)より小さい限りその第1の論理値に維持され、上
記の存在するエントリ数が閾値(t)以上の時、上記の
組み合わされたエントリが使用されると、参照フラッグ
(RF_i)が第2の論理値になることを特徴とする方
法。 - (2)範囲を上記高速メモリの各ロケーションに対応さ
せ、上記エントリは当初範囲が増大するロケーション内
で時間的順序によってロードされ、上記範囲(i)が上
記閾値(t)に等しいとき存在フラッグ(PR_i)は
上記閾値(t)に到達した表示をすることを特徴とする
請求項1に記載の方法。 - (3)探索中の情報が上記高速メモリに存在しないと、
該情報は上記主記憶装置中で探索され、上記の対応する
エントリは上記範囲がそのロードのアルゴリズムによっ
て決定されたロケーションに配置され、上記の組み合わ
された存在フラッグ(PR_i)は上記ロードと同期化
して第2の論理値にされ、次に、探索中の情報の新規な
連想的探索が実施されることを特徴とする請求項1もし
くは2に記載の方法。 - (4)上記ロードアルゴリズムは、増大する順序で上記
存在フラッグ(PR_i)が上記の所定の第1の論理値
である第1のエントリ、または、そうでなければ、上記
参照フラッグ(RF_i)が上記の所定の第1の論理値
である第1のエントリの範囲を探索することを特徴とす
る請求項3に記載の方法。 - (5)上記システムはページ化された仮想アドレス機構
を備え、上記エントリの各々のアドレスはページの仮想
アドレスであり、上記の組み合わされた情報は該ページ
の実アドレスであることを特徴とする請求項1〜4のい
ずれか1項に記載の方法。 - (6)上記主記憶装置はページで管理され、上記の各エ
ントリのアドレスはページの実アドレスであり、上記の
組み合わされた情報は該ページに含まれるデータによっ
て構成されていることを特徴とする請求項1〜4のいず
れか1項に記載の方法。 - (7)主記憶装置へのアドレッシングによってアクセス
することのできる処理手段(1、2、3)を備える情報
処理システムであって、該主記憶装置中に含まれるアド
レスとそれに組み合わされた情報とによって形成された
組が「エントリ」と呼ばれ、上記処理手段(1、2、3
)は複数のロケーション(RAR_i、RAV_i)に
よって構成された高速メモリ(1、RAR、RAV)を
備え、このロケーションは各々上記エントリの1つに記
憶することができ、各々、当初第1の論理値に設定され
た存在フリップフロップ(BPR_i)及び参照フリッ
プフロップ(BRF_i)に接続され、エントリが上記
の接続されたロケーションにロードされた時上記存在フ
リップフロップ(BPR_i)は第2の論理値にされ、
上記高速メモリ(1、RAR、RAV)は探索中の情報
のアドレスが上記ロケーションに存在するエントリのア
ドレスに一致する第1の論理値を有する一致信号(HI
T_i)を各ロケーションに出力することのできる比較
手段(4、14)に接続されており、上記システムは、
上記高速メモリ中に存在するエントリ数が所定の閾値以
上であるかどうかをその論理値が示す閾値信号(V)を
発生させる閾値検出手段(20)を備え、各存在するエ
ントリごとに、上記の接続された参照フリップフロップ
(BRF_i)の状態は、上記一致信号(HIT_i)
が一致を示し、同時に、上記閾値信号(V)が閾値(t
)に達したことを示す時、該参照フリップフロップ(B
RF_i)を第2の論理状態にする管理回路(19、1
9A、GRF)によって制御されていることを特徴とす
るシステム。 - (8)上記高速メモリ中にまだ存在しないエントリをロ
ードするためのロケーションを選択するために、各存在
フリップフロップ(BPR_i)または参照フリップフ
ロップ(BRF_i)は要求信号(VP_i、RP_i
)の伝播回路(CP)に接続されており、範囲(i)が
各ロケーション(RAR_i、RAV_i)に割り当て
られており、上記存在フリップフロップ(BPR_i)
または参照フリップフロップ(BRF_i)に接続され
た伝播回路(CP)は各々縦続接続されており、上記の
最後の存在フリップフロップ(BPR_n)に接続され
た伝播回路(CP)の出力は上記の最小の参照フリップ
フロップ(BRF_i)に接続された伝播回路の入力(
BCP)に接続されており、各伝播回路(CP)は上流
の要求信号(VP_i_−_1、RP_i_−_1)が
要求の存在を示し、上記の接続されたフリップフロップ
(BPR_i、BRF_i)が所定の第2の論理状態に
ある時、要求の存在を示す信号(VP_i、RP_i)
を発生させ、上記第1の存在フリップフロップ(BPR
_i)に接続された伝播回路(CP)には常に要求の存
在を示す信号が入力され、上記ロケーションのフリップ
フロップ(BPR_i、BRF_i)の1つに接続され
た上流の要求信号(VP_i_−_1、RP_i_−_
1)が要求の存在を示し、該フリップフロップ(BPR
_i、BRF_i)が上記の所定の第1の状態にある時
、上記ロケーションは各々該ロケーションの選択を示す
信号(S_i)を発生させる選択回路(CS)に接続さ
れていることを特徴とする請求項7に記載のシステム。 - (9)上記閾値検出手段(20)は、範囲が上記の予め
決定された閾値(t)に等しいロケーションに接続され
た上記存在フリップフロップ(BPR_t)の状態信号
を使用することを特徴とする請求項8に記載のシステム
。 - (10)ページ化された仮想メモリ機構を備え、上記の
各エントリのアドレスは仮想アドレスであり、上記の組
み合わされた情報は実アドレスであり、該メモリ(1、
RAV、RAR)は仮想アドレスレジスタ(RAV_i
)と実アドレスレジスタ(RAR_i)とによって構成
されていることを特徴とする請求項7〜9のいずれか1
項に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR898904882A FR2645986B1 (fr) | 1989-04-13 | 1989-04-13 | Procede pour accelerer les acces memoire d'un systeme informatique et systeme pour la mise en oeuvre du procede |
FR8904882 | 1989-04-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0362144A true JPH0362144A (ja) | 1991-03-18 |
JPH0529945B2 JPH0529945B2 (ja) | 1993-05-06 |
Family
ID=9380676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2099156A Granted JPH0362144A (ja) | 1989-04-13 | 1990-04-13 | 情報処理システムのメモリアクセスを速くする方法及びこの方法を実施するためのシステム |
Country Status (6)
Country | Link |
---|---|
US (1) | US5218687A (ja) |
EP (1) | EP0392932B1 (ja) |
JP (1) | JPH0362144A (ja) |
DE (1) | DE69010739T2 (ja) |
ES (1) | ES2060090T3 (ja) |
FR (1) | FR2645986B1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003098440A1 (fr) * | 2002-05-20 | 2003-11-27 | Fujitsu Limited | Antémémoire de compression |
WO2005029336A1 (ja) * | 2003-09-19 | 2005-03-31 | Matsushita Electric Industrial Co., Ltd. | キャッシュメモリおよびキャッシュメモリ制御方法 |
JP2010538390A (ja) * | 2007-09-04 | 2010-12-09 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | プロセッサの非常にアソシエティビティの高いキャッシュメモリ用のセカンドチャンス置換機構 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2678401A1 (fr) * | 1991-06-28 | 1992-12-31 | Philips Electronique Lab | Dispositif de traitement de l'information plus particulierement adapte a un langage chaine, du type forth notamment. |
US5444489A (en) * | 1993-02-11 | 1995-08-22 | Georgia Tech Research Corporation | Vector quantization video encoder using hierarchical cache memory scheme |
US5668972A (en) * | 1994-10-05 | 1997-09-16 | International Business Machines Corporation | Method and system for efficient miss sequence cache line allocation utilizing an allocation control cell state to enable a selected match line |
US5594886A (en) * | 1994-10-23 | 1997-01-14 | Lsi Logic Corporation | Pseudo-LRU cache memory replacement method and apparatus utilizing nodes |
US5822759A (en) * | 1996-11-22 | 1998-10-13 | Versant Object Technology | Cache system |
US6657959B1 (en) | 1998-06-27 | 2003-12-02 | Intel Corporation | Systems and methods for implementing ABR with guaranteed MCR |
US6603768B1 (en) | 1998-06-27 | 2003-08-05 | Intel Corporation | Multi-protocol conversion assistance method and system for a network accelerator |
US6735773B1 (en) | 1998-06-27 | 2004-05-11 | Intel Corporation | Method and apparatus for issuing commands to a network processor configured to provide a plurality of APIs |
US6604136B1 (en) | 1998-06-27 | 2003-08-05 | Intel Corporation | Application programming interfaces and methods enabling a host to interface with a network processor |
US6724767B1 (en) * | 1998-06-27 | 2004-04-20 | Intel Corporation | Two-dimensional queuing/de-queuing methods and systems for implementing the same |
US6728249B2 (en) | 1998-06-27 | 2004-04-27 | Intel Corporation | System and method for performing cut-through forwarding in an ATM network supporting LAN emulation |
FR2787901B1 (fr) | 1998-12-28 | 2001-02-09 | Bull Sa | Organisation memoire par zones physiques |
KR20020060419A (ko) * | 2001-01-11 | 2002-07-18 | 최웅림 | 메모리 접근 방법 |
KR100398954B1 (ko) * | 2001-07-27 | 2003-09-19 | 삼성전자주식회사 | 멀티웨이 세트 연관 구조의 캐쉬 메모리 및 데이터 판독방법 |
US9069672B2 (en) * | 2009-06-12 | 2015-06-30 | Intel Corporation | Extended fast memory access in a multiprocessor computer system |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3829840A (en) * | 1972-07-24 | 1974-08-13 | Ibm | Virtual memory system |
US4008460A (en) * | 1975-12-24 | 1977-02-15 | International Business Machines Corporation | Circuit for implementing a modified LRU replacement algorithm for a cache |
US4181937A (en) * | 1976-11-10 | 1980-01-01 | Fujitsu Limited | Data processing system having an intermediate buffer memory |
US4453230A (en) * | 1977-12-29 | 1984-06-05 | Tokyo Shibaura Electric Co., Ltd. | Address conversion system |
US4490782A (en) * | 1981-06-05 | 1984-12-25 | International Business Machines Corporation | I/O Storage controller cache system with prefetch determined by requested record's position within data block |
US4489378A (en) * | 1981-06-05 | 1984-12-18 | International Business Machines Corporation | Automatic adjustment of the quantity of prefetch data in a disk cache operation |
JPS6049950B2 (ja) * | 1981-08-27 | 1985-11-06 | 富士通株式会社 | Lruエラ−処理方式 |
US4571674A (en) * | 1982-09-27 | 1986-02-18 | International Business Machines Corporation | Peripheral storage system having multiple data transfer rates |
US4607331A (en) * | 1983-05-13 | 1986-08-19 | Motorola, Inc. | Method and apparatus for implementing an algorithm associated with stored information |
US4731739A (en) * | 1983-08-29 | 1988-03-15 | Amdahl Corporation | Eviction control apparatus |
US4680700A (en) * | 1983-12-07 | 1987-07-14 | International Business Machines Corporation | Virtual memory address translation mechanism with combined hash address table and inverted page table |
JPS62131353A (ja) * | 1985-12-04 | 1987-06-13 | Fujitsu Ltd | ペ−ジング制御方式 |
US4774659A (en) * | 1986-04-16 | 1988-09-27 | Astronautics Corporation Of America | Computer system employing virtual memory |
US4914582A (en) * | 1986-06-27 | 1990-04-03 | Hewlett-Packard Company | Cache tag lookaside |
US4843542A (en) * | 1986-11-12 | 1989-06-27 | Xerox Corporation | Virtual memory cache for use in multi-processing systems |
GB8728494D0 (en) * | 1987-12-05 | 1988-01-13 | Int Computers Ltd | Multi-cache data storage system |
US5043885A (en) * | 1989-08-08 | 1991-08-27 | International Business Machines Corporation | Data cache using dynamic frequency based replacement and boundary criteria |
-
1989
- 1989-04-13 FR FR898904882A patent/FR2645986B1/fr not_active Expired - Fee Related
-
1990
- 1990-04-12 US US07/508,931 patent/US5218687A/en not_active Expired - Lifetime
- 1990-04-13 DE DE69010739T patent/DE69010739T2/de not_active Expired - Fee Related
- 1990-04-13 EP EP90401027A patent/EP0392932B1/fr not_active Expired - Lifetime
- 1990-04-13 JP JP2099156A patent/JPH0362144A/ja active Granted
- 1990-04-13 ES ES90401027T patent/ES2060090T3/es not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003098440A1 (fr) * | 2002-05-20 | 2003-11-27 | Fujitsu Limited | Antémémoire de compression |
WO2005029336A1 (ja) * | 2003-09-19 | 2005-03-31 | Matsushita Electric Industrial Co., Ltd. | キャッシュメモリおよびキャッシュメモリ制御方法 |
JP2010538390A (ja) * | 2007-09-04 | 2010-12-09 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | プロセッサの非常にアソシエティビティの高いキャッシュメモリ用のセカンドチャンス置換機構 |
Also Published As
Publication number | Publication date |
---|---|
EP0392932A1 (fr) | 1990-10-17 |
US5218687A (en) | 1993-06-08 |
FR2645986A1 (fr) | 1990-10-19 |
EP0392932B1 (fr) | 1994-07-20 |
ES2060090T3 (es) | 1994-11-16 |
DE69010739D1 (de) | 1994-08-25 |
JPH0529945B2 (ja) | 1993-05-06 |
DE69010739T2 (de) | 1995-01-12 |
FR2645986B1 (fr) | 1994-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4685082A (en) | Simplified cache with automatic update | |
US5953738A (en) | DRAM with integral SRAM and arithmetic-logic units | |
US5737750A (en) | Partitioned single array cache memory having first and second storage regions for storing non-branch and branch instructions | |
US6205521B1 (en) | Inclusion map for accelerated cache flush | |
EP0622737B1 (en) | High performance memory system | |
JPH0362144A (ja) | 情報処理システムのメモリアクセスを速くする方法及びこの方法を実施するためのシステム | |
JP2968486B2 (ja) | メモリ、メモリサブシステム、メモリ装置およびメモリシステムアドレス方法 | |
US5617348A (en) | Low power data translation circuit and method of operation | |
US5329629A (en) | Apparatus and method for reading, writing, and refreshing memory with direct virtual or physical access | |
US4375678A (en) | Redundant memory arrangement providing simultaneous access | |
JPH0863958A (ja) | ランダム・アクセス・メモリ・システムおよびランダム・アクセス・メモリ | |
JP3666689B2 (ja) | 仮想アドレス変換方法 | |
JPH0652633B2 (ja) | メモリ・サブシステム | |
JPH08227380A (ja) | データ処理システム | |
US20220398198A1 (en) | Tags and data for caches | |
US20070168762A1 (en) | Method and apparatus for implementing directory organization to selectively optimize performance or reliability | |
JPH0362243A (ja) | 情報処理システムにおいてメモリアクセスを速くする装置 | |
JPS6015968B2 (ja) | 制御記憶装置 | |
JPH0438014B2 (ja) | ||
US5434990A (en) | Method for serially or concurrently addressing n individually addressable memories each having an address latch and data latch | |
JPH08115262A (ja) | アドレス変換回路および該アドレス変換回路を具備する電子計算機 | |
JP2004046593A (ja) | キャッシュメモリ及びその制御方法 | |
JP2700147B2 (ja) | 命令キャッシュ・フラッシュ・オン・rei制御 | |
JP2010108381A (ja) | 集積回路、集積回路の制御方法および半導体デバイス | |
JPH04324187A (ja) | ダイナミックram |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |