(57)【特許請求の範囲】
【請求項１】
論理アドレスを実アドレスに変換するアドレス変換装置において、
実アドレスと対を成す論理アドレスを保持する変換対保持手段と、
実アドレスに変換すべき、比較対象の論理アドレスと前記変換対保持手段に保持される論理アドレスとを比較する比較手段と、
複数の論理アドレスと、それぞれが論理アドレスと対を成す複数の実アドレスとを格納する変換対記憶手段と、
前記変換対記憶手段を活性化するか否かを制御する制御手段と、を備え、
前記比較手段の比較結果が一致する場合に、前記制御手段により前記変換対記憶手段を不活性化すると共に、実アドレスを前記変換対記憶手段が不活性化したときの実アドレスの出力保持信号より得ることを特徴とするアドレス変換装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はコンピュータシステムにおけるアドレス変換装置に関わり、特にアドレス変換の高速化を図ると共にアドレス変換装置の消費電力の低減を図る技術に関わる。
【０００２】
【従来の技術】
超大型コンピュータからパーソナルコンピュータに至るコンピュータ技術の内で、近年の記憶装置の大容量化や高密度化の進展に伴い、メモリアクセスの高速化技術と共に省熱化のための低消費電力化技術が益々重要になってきている。
【０００３】
ユーザが使用する仮想メモリ空間は、ＣＰＵが実際にアクセスする主記憶の容量を上回っており、アドレス変換装置は仮想アドレスすなわち論理アドレスを物理アドレスすなわち実アドレスに高速に且つ効率的に変換する必要がある。
【０００４】
こうしたアドレス変換においては、高速化の度合いとハードウェア規模の兼ね合いから様々な方法が考案されている。代表的なものとしてダイレクトマップ方式、セットアソシアティブ方式、フルアソシアティブ方式がある。
【０００５】
これらのアドレス変換の方式では、何れも主記憶に設けてあるページアドレス表やセグメントアドレス表を毎回参照しなくても良いように、論理アドレスと論理アドレスを変換した実アドレスの変換対をアドレス変換装置内の一般にアドレス変換バッファと呼ばれる記憶手段（以下ＴＬＢと呼ぶ。Ｔａｂｌｅ  Ｌｏｏｋａｓｉｄｅ  Ｂｕｆｆｅｒ）に格納しておき、アクセス頻度の高いアドレス変換を高速で行う。
【０００６】
図１２に従来のセットアソシアティブ方式のアドレス変換を示す。図１２の１の論理アドレスはタグとインデクスとオフセットで構成され、タグとインデクスとで論理ページアドレスが定義される。ここでインデクスはＴＬＢ内のアドレスになり、オフセットはページ内の変位を示し、アドレス変換後の実ページアドレスと結合されて実アドレスになる。
【０００７】
図１２では２ウェイのセットアソシアティブ方式でありＴＬＢが２セットある。（図１２の２０、２１）論理アドレスが与えられると、図１２の３０、３１の制御により、各ＴＬＢから対応するタグと実ページアドレスが読み出される。
【０００８】
読み出されたタグはそれぞれ比較回路２２と２３で与えられた論理アドレスのタグと比較される。比較結果が一致していればＴＬＢヒット信号を出力しウェイ選択回路２６によりＴＬＢ２０かＴＬＢ２１かどちらか一方の実ページアドレスが選択される。
【０００９】
比較結果が一致していなければ主記憶に設けてあるページアドレス表を参照し、実ページアドレスを主記憶より読み出す。読み出した実ページアドレスは対応するタグと共にＴＬＢに格納しておく。
【００１０】
またＴＬＢ以外に論理アドレスと一つ前のアドレス変換で使用した論理アドレスと実アドレスをレジスタに保持しておき、論理アドレスを一つ前のアドレス変換で使用した論理アドレスと比較して一致していれば保持していた実アドレスを使用し、ＴＬＢアクセス乃至アドレス変換を高速化する技術（例えば特開昭６３−３９０５９  アドレス変換方式、特開平３−７４７４２  アドレス変換方式、特開平１−１９７８５７  アドレス変換回路）が知られている。
【００１１】
一方、高密度化に伴って発生する熱が問題になり、回路素子乃至装置の消費電力は極力抑制することが望ましい。半導体記憶素子の消費電力を低減するために、従来より様々な回路技術が考案されている。例えば半導体記憶素子のチップ選択信号をオフにすることで不必要な電力消費を抑制する技術（例えば特開平４−１６０５１８  メモリ制御回路）が知られている。
【００１２】
【発明が解決しようとする課題】
従来のアドレス変換装置においては、アドレス変換を高速に行うために半導体記憶素子で構成されるＴＬＢを設けたり、ＴＬＢアクセスの時間を短縮するために小規模であるがレジスタやその周辺回路を付加したりした。そのためにアドレス変換装置の消費電力が増大するという問題があった。
【００１３】
またシステムの規模が大きくなってもアドレス変換の時間を短縮しようとすれば、それだけＴＬＢの容量や付加するハードウェア量を大きくする必要があり、アドレス変換装置の消費電力が更に増大してしまうことが予想される。
【００１４】
本発明はこのような点にかんがみて、与えられた論理アドレスを実アドレスに変換するプロセスを高速化すると共に、その装置の消費電力を低減するアドレス変換装置を提供することを目的とする。
【００１５】
【課題を解決するための手段】
上記の課題は下記の如くに構成された本発明のアドレス変換装置によって解決される。本発明のアドレス変換装置は、論理アドレスを実アドレスに変換するアドレス変換装置であって、論理アドレスと対を成す実アドレスとを保持する変換対保持手段と、論理アドレスと変換対保持手段に保持される論理アドレスとを比較する比較手段と、複数の論理アドレスと対を成す複数の実アドレスとを格納する変換対記憶手段と、変換対記憶手段を活性化するか否かを制御する制御手段と、変換対保持手段に保持される実アドレスと変換対記憶手段に格納される実アドレスとのいずれかを選択する選択手段とを備える。
【００１６】
図１は本発明の原理図である。図１に示すように比較手段１０１により、論理アドレス１と変換対保持手段１００に保持される論理アドレスとを比較する。その結果が一致する場合は、変換対記憶手段２００を活性化するか否かを制御する制御手段３により変換対記憶手段２００を不活性化すると共に、変換対保持手段１００に保持される実アドレスと変換対記憶手段２００に格納される実アドレスの内で、選択手段４により変換対保持手段１００に保持される実アドレスを選択する。
【００１７】
本発明のアドレス変換装置によって、与えられた論理アドレスを実アドレスに変換するアドレス変換を行うときに、与えられた論理アドレス１と変換対保持手段１００に保持される論理アドレスとを比較して、その結果が一致する場合は変換対保持手段１００に保持される実アドレスを使用することができるので、変換対記憶手段２００をアクセスしなくて済み、変換対記憶手段２００を活性化する必要がなくなるので不活性にした分だけ、変換対記憶手段２００の消費電力を低減することが可能になると共に、アドレス変換のプロセスを高速化することが可能になる。
【００１８】
次に本発明のアドレス変換装置における変換対保持手段１００が保持する実アドレスについて説明する。変換対保持手段１００は一般的には、論理アドレスと実アドレスを対にしたレジスタで構成される。
【００１９】
しかし実アドレスについては、制御手段３によって変換対記憶手段２００を不活性化するとき、すなわち与えられた論理アドレス１と変換対保持手段１００に保持される論理アドレスとを比較して、その結果が一致する場合は、変換対記憶手段２００の出力信号は求めるべき実アドレスを示しており、変換対記憶手段２００を不活性にしてもこの信号を保持すれば変換対保持手段１００として特別にレジスタを設ける必要がなくなる。
【００２０】
これによりハードウェアの量を更に削減することが可能になり、アドレス変換装置の消費電力の低減に寄与する。
【００２１】
【発明の実施の形態】
本発明の実施の形態について図面を用いて詳細に説明する。図２はダイレクトマップ方式のアドレス変換を行う本発明実施の形態（１）を示す図である。
【００２２】
図２の１は論理アドレス、２は変換対記憶手段であるＴＬＢ、３はＴＬＢを活性化するか否かを制御する制御手段、４はＴＬＢの出力である実アドレスを選択するか否かを選択する選択手段である。
【００２３】
論理アドレス１はタグとインデクスとオフセットで構成される。タグとインデクスとで論理ページアドレスが定義される。ここでインデクスはダイレクトマップ方式においてはＴＬＢ内のアドレスになる。オフセットはページ内の変位を示し、アドレス変換後の実ページアドレスと結合されて実アドレスになる。
【００２４】
図２の１０、１２、１４は変換対保持手段であり、実際にＴＬＢをアクセスしたり主記憶にあるページアドレス表をアクセスしてアドレス変換を実行したときに使用したタグ、インデクス、および実ページアドレスを保持しておくためのレジスタである。ここでは、前回もしくはそれ以前にアドレス変換を実行したとして、説明の便宜上、以降は前回タグ、前回インデクス、前回ＲＰＡ（実ページアドレス）と呼ぶ。
【００２５】
図２の１６、１８、２２は比較回路であり、与えられた論理アドレスのタグと前回タグ１０、与えられた論理アドレスのインデクスと前回インデクス１２、与えられた論理アドレスのタグとＴＬＢから読み出されるタグとをそれぞれ比較する。
【００２６】
図３は本発明実施の形態（１）の処理フロー図である。まずステップｓ１では与えられた論理アドレス１のインデクスとレジスタ１２内の前回インデクスとを比較回路１８によって比較する。
【００２７】
ステップｓ２で比較結果が一致していればステップｓ３に進み、一致していなければステップｓ１０に進む。
ステップｓ３では制御手段３によってＴＬＢ２を不活性にしてステップｓ４に進む。ステップｓ４では選択手段４によってレジスタ１４内の前回ＲＰＡを選択しステップｓ５に進む。
【００２８】
ステップｓ５では与えられた論理アドレス１のタグとレジスタ１０内の前回タグとを比較回路１６によって比較することにより、選択した実ページアドレスの有効性を判定する。
【００２９】
ステップｓ６で比較結果が一致していればアドレス変換を終了し、一致していなければステップｓ１５に進む。論理アドレス１のインデクスとレジスタ１２内の前回インデクスとが一致していても、論理アドレス１のタグとレジスタ１０内の前回タグとは一致していない場合がある。この場合（ＴＬＢミスヒット）はステップｓ１５以下のアドレス変換処理を行う。
【００３０】
ステップｓ１０では制御手段３によってＴＬＢ２を活性化し、与えられた論理アドレス１のインデクスによってＴＬＢ２を読み出しステップｓ１１に進む。
ステップｓ１１では比較回路２２によって、ＴＬＢ２から読み出したタグと与えられた論理アドレス１のタグを比較する。
【００３１】
ステップｓ１２で比較結果が一致していればステップｓ１３に進み、一致していなければステップｓ１５に進む。
ステップｓ１３では、選択手段４によってＴＬＢ２から読み出した実アドレスを選択しステップｓ１４に進む。
【００３２】
ステップｓ１４では、与えられた論理アドレス１のタグとインデクスと、ＴＬＢ２から読み出した実アドレスを、それぞれレジスタ１０、１２、１４に前回の変換対として保持し、アドレス変換を終了する。
【００３３】
ステップｓ１５では、図示していないが主記憶にあるページアドレス表をアクセスしてアドレス変換を行い、主記憶から実ページアドレスを得る。続いてステップｓ１６に進む。
【００３４】
ステップｓ１６では、与えられた論理アドレス１のタグとインデクスと、主記憶から読み出した実ページアドレスを、それぞれレジスタ１０、１４、１６に前回の変換対として保持しステップｓ１７に進む。
【００３５】
ステップｓ１７では、与えられた論理アドレス１のタグと主記憶から読み出した実アドレスを対にしてＴＬＢに格納し、アドレス変換を終了する。変換対を格納するときはＴＬＢを活性化し、ＴＬＢ内のアドレスは論理アドレス１のインデクスを用いる。
【００３６】
図４はダイレクトマップ方式のアドレス変換を行う本発明実施の形態（２）を示す図である。図４の各符号は図２の各符号と同じである。本発明実施の形態（２）は（１）とは以下の点で相違しているが他の処理は（１）と同じである。
【００３７】
すなわち図４においては選択手段４と前回ＲＰＡを保持するレジスタ１３が存在しない。その代わりに本発明実施の形態（２）では、与えられた論理アドレス１のインデクスをレジスタ１２内の前回インデクスとを比較したときに、比較結果が一致していれば、制御手段３によってＴＬＢ２を不活性にすると共にＴＬＢの実アドレスの出力信号を保持しておき、前回ＲＰＡとしてＴＬＢの実ページアドレスの出力信号を選択する。
【００３８】
図５はダイレクトマップ方式のアドレス変換を行う本発明実施の形態（３）を示す図である。図５の２４はレジスタ１０の前回タグかＴＬＢから読出すタグかを選択する選択回路である。図５の他の各符号は図２の各符号と同じである。すなわち図５においては、レジスタ１０の前回タグの入力をＴＬＢの出力にして、選択回路２４を付加し図２の比較回路２２を削除した。
【００３９】
本発明実施の形態（３）においてはＴＬＢをアクセスしてタグを読み出すときに選択回路２４をＴＬＢ側のタグを選択するよう制御すれば、比較回路１６によって論理アドレス１のタグとＴＬＢ２のタグとを比較することができる。本発明実施の形態（３）における他の処理は（１）と同じである。
【００４０】
図６はダイレクトマップ方式のアドレス変換を行う本発明実施の形態（４）を示す図である。図６の１１、１３、１５は図６の１０、１２、１４と同じ変換対保持手段であるレジスタであり、前回タグ、前回インデクス、前回ＲＰＡ（実ページアドレス）を保持する。
【００４１】
図６の１７、１９は図６の１６、１８と同じ比較回路であり、与えられた論理アドレスのタグと前回タグ１１、与えられた論理アドレスのインデクスと前回インデクス１３とをそれぞれ比較する。図６の他の各符号は図２の各符号と同じである。
【００４２】
本発明実施の形態（４）は本発明実施の形態（１）に上記レジスタ１１、１３、１５および比較回路１７、１９を付加したものである。すなわち本発明実施の形態（４）ではレジスタを追加することでヒット率を高めることを目的にした。他の制御は本発明実施の形態（１）と同じである。
【００４３】
前回タグ、前回インデクス、前回ＲＰＡを保持するレジスタおよび関連する比較回路を２重化し、前回および前々回のアドレス変換実行時のタグ、インデクス、ＲＰＡを保持する。
【００４４】
図７は２ウェイのセットアソシアティブ方式のアドレス変換を行う本発明実施の形態（５）を示す図である。図７の２０、２１は変換対記憶手段であるＴＬＢであり、３０、３１はＴＬＢを活性化するか否かを制御する制御手段である。
【００４５】
セットアソシアティブ方式でも論理アドレス１はタグとインデクスとオフセットで構成される。ダイレクトマップ方式と同じくタグとインデクスとで論理ページアドレスが定義され、インデクスはＴＬＢ内のアドレスになる。
【００４６】
図７の１０、１１は前回タグを、１４、１５は前回ＲＰＡをそれぞれのウェイ毎に保持し、１２は前回インデクスをウェイ共通に保持する変換対保持手段である。
【００４７】
図７の１６、１７は前回タグと、１８前回インデクスとそれぞれ与えられた論理アドレスを比較する比較回路であり、図７の２２、２３はそれぞれのＴＬＢから読み出されるタグと与えられた論理アドレスを比較する比較回路である。
【００４８】
図７の４０、４１はそれぞれのＴＬＢから読み出される実ページアドレスか前回ＲＰＡかを選択する選択回路であり、２６は２ウェイのどちらかを選択するウェイ選択回路である。
【００４９】
本発明実施の形態（５）では２ウェイのセットアソシアティブ方式であり、与えられた論理アドレスのインデクスで２ウェイのＴＬＢの両方を同時にアクセスして、ヒット率を高めることを目的にしている。他の制御は本発明実施の形態（１）と同じである。
【００５０】
図８は２ウェイのセットアソシアティブ方式のアドレス変換を行う本発明実施の形態（６）を示す図である。図８の２４、２５はそれぞれレジスタ１０、１１の前回タグかＴＬＢから読出すタグかを選択する選択回路である。
【００５１】
図８の他の各符号は図７の各符号と同じである。すなわち図８においては、レジスタ１０、１１の前回タグの入力をＴＬＢの出力にして、選択回路２４、２５を付加し図７の比較回路２２、２３を削除した。
【００５２】
本発明実施の形態（６）においてはＴＬＢをアクセスしてタグを読み出すときに選択回路２４あるいは２５をＴＬＢ側のタグを選択するよう制御すれば、比較回路１６あるいは１７によって論理アドレス１のタグとＴＬＢ２０あるいは２１のタグとを比較することができる。本発明実施の形態（６）における他の処理は（５）と同じである。
【００５３】
図９は２ウェイのセットアソシアティブ方式のアドレス変換を行う本発明実施の形態（７）を示す図である。図９の２７は前回ウェイヒットレジスタであり、前回のアドレス変換で２ウェイのどちらのＴＬＢがヒットしたかを保持しておくためのレジスタである。
【００５４】
図９の他の各符号は図７の各符号と同じである。すなわち図９においては、前回ウェイヒットレジスタ２７を付加し図７のレジスタ１１と比較回路１７を削除した。このように前回ウェイヒットレジスタ２７を備えることにより、全体のハードウェア量を削減した。本発明実施の形態（７）における他の処理は（５）と同じである。
【００５５】
図１０は２ウェイのセットアソシアティブ方式のアドレス変換を行う本発明実施の形態（８）を示す図である。図１０の４はウェイ選択回路の出力か前回ＲＰＡを選択する選択手段である。また図１０では前回タグ、前回インデクス、前回ＲＰＡの変換対保持手段を２ウェイで共通のレジスタにしてある。
【００５６】
図１０の他の各符号は図９の各符号と同じである。すなわち図１０においては図９の前回ウェイヒットレジスタ２７と前回ＲＰＡレジスタ１５とを削除し全体のハードウェア量を更に削減した。本発明実施の形態（８）における他の処理は（７）と同じである。
【００５７】
図１１はフルアソシアティブ方式のアドレス変換を行う本発明実施の形態（９）を示す図である。フルアソシアティブ方式では論理アドレス１は論理ページアドレスとオフセットで構成される。従って図１１の１０には前回の論理ページアドレスを保持する。図１１の他の各符号は図２の各符号と同じである。
【００５８】
またアドレス変換を高速で行うためにＴＬＢのエントリには論理ページアドレスと実ページアドレスの対の他に制御ビットが付加されている。他の制御は本発明実施の形態（１）と同じである。
【００５９】
以上の本発明実施の形態では主記憶をページ単位に分割するページアドレス変換についてのみ説明したが、本発明がセグメントアドレスとページアドレスを持つような多段階のアドレス変換においても適用できるのは勿論である。
【００６０】
またハードウェアの規模との兼ね合いで本発明実施の形態（４）に示すように変換対保持手段として複数対の保持レジスタを用いて一向に差し支えない。
更にまた本発明実施の形態（５）乃至（８）では、セットアソシアティブ方式で２ウェイのＴＬＢを用いたが、やはりハードウェアの規模との兼ね合いで、更に多くのウェイ数を持つＴＬＢに適用できるのは勿論である。
【００６１】
【発明の効果】
以上の説明から明らかなように本発明によれば、与えられた論理アドレスを実アドレスに変換するプロセスを高速化すると共に、その装置の消費電力を低減することが可能になるという効果がある。
【図面の簡単な説明】
【図１】  本発明の原理図
【図２】  本発明実施の形態（１）（ダイレクトマップ方式）
【図３】  本発明実施の形態（１）の処理フロー図
【図４】  本発明実施の形態（２）（ダイレクトマップ方式）
【図５】  本発明実施の形態（３）（ダイレクトマップ方式）
【図６】  本発明実施の形態（４）（ダイレクトマップ方式）
【図７】  本発明実施の形態（５）（セットアソシアティブ方式）
【図８】  本発明実施の形態（６）（セットアソシアティブ方式）
【図９】  本発明実施の形態（７）（セットアソシアティブ方式）
【図１０】  本発明実施の形態（８）（セットアソシアティブ方式）
【図１１】  本発明実施の形態（９）（フルアソシアティブ方式）
【図１２】  従来のアドレス変換方式（セットアソシアティブ方式）
【符号の説明】
１  論理アドレス
２  ＴＬＢ
３  制御手段
４  選択手段
１０、１１  前回タグレジスタ
１２、１３  前回インデクスレジスタ
１４、１５  前回ＲＰＡレジスタ
１６、１７、１８、１９  比較回路
２０、２１  ＴＬＢ
２２、２３  比較回路
２４、２５  選択回路
２６  ウェイ選択回路
２７  前回ウェイヒットレジスタ
３０、３１  制御手段
４０、４１  選択手段
１００  変換対保持手段
１０１  比較手段
２００  変換対記憶手段
【図１】
0003702522.tif 000002
【図２】
0003702522.tif 000003
【図３】
0003702522.tif 000004
【図４】
0003702522.tif 000005
【図５】
0003702522.tif 000006
【図６】
0003702522.tif 000007
【図７】
0003702522.tif 000008
【図８】
0003702522.tif 000009
【図９】
0003702522.tif 000010
【図１０】
0003702522.tif 000011
【図１１】
0003702522.tif 000012
【図１２】
0003702522.tif 000013