JP3702522B2 - Address translation device - Google Patents

Address translation device Download PDF

Info

Publication number
JP3702522B2
JP3702522B2 JP01183596A JP1183596A JP3702522B2 JP 3702522 B2 JP3702522 B2 JP 3702522B2 JP 01183596 A JP01183596 A JP 01183596A JP 1183596 A JP1183596 A JP 1183596A JP 3702522 B2 JP3702522 B2 JP 3702522B2
Authority
JP
Japan
Prior art keywords
address
previous
tlb
conversion
tag
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
JP01183596A
Other languages
Japanese (ja)
Other versions
JPH09204359A (en
Inventor
廣 岡野
敦浩 須賀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP01183596A priority Critical patent/JP3702522B2/en
Publication of JPH09204359A publication Critical patent/JPH09204359A/en
Application granted granted Critical
Publication of JP3702522B2 publication Critical patent/JP3702522B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

【0001】
【発明の属する技術分野】
本発明はコンピュータシステムにおけるアドレス変換装置に関わり、特にアドレス変換の高速化を図ると共にアドレス変換装置の消費電力の低減を図る技術に関わる。
【0002】
【従来の技術】
超大型コンピュータからパーソナルコンピュータに至るコンピュータ技術の内で、近年の記憶装置の大容量化や高密度化の進展に伴い、メモリアクセスの高速化技術と共に省熱化のための低消費電力化技術が益々重要になってきている。
【0003】
ユーザが使用する仮想メモリ空間は、CPUが実際にアクセスする主記憶の容量を上回っており、アドレス変換装置は仮想アドレスすなわち論理アドレスを物理アドレスすなわち実アドレスに高速に且つ効率的に変換する必要がある。
【0004】
こうしたアドレス変換においては、高速化の度合いとハードウェア規模の兼ね合いから様々な方法が考案されている。代表的なものとしてダイレクトマップ方式、セットアソシアティブ方式、フルアソシアティブ方式がある。
【0005】
これらのアドレス変換の方式では、何れも主記憶に設けてあるページアドレス表やセグメントアドレス表を毎回参照しなくても良いように、論理アドレスと論理アドレスを変換した実アドレスの変換対をアドレス変換装置内の一般にアドレス変換バッファと呼ばれる記憶手段(以下TLBと呼ぶ。Table Lookaside Buffer)に格納しておき、アクセス頻度の高いアドレス変換を高速で行う。
【0006】
図12に従来のセットアソシアティブ方式のアドレス変換を示す。図12の1の論理アドレスはタグとインデクスとオフセットで構成され、タグとインデクスとで論理ページアドレスが定義される。ここでインデクスはTLB内のアドレスになり、オフセットはページ内の変位を示し、アドレス変換後の実ページアドレスと結合されて実アドレスになる。
【0007】
図12では2ウェイのセットアソシアティブ方式でありTLBが2セットある。(図12の20、21)論理アドレスが与えられると、図12の30、31の制御により、各TLBから対応するタグと実ページアドレスが読み出される。
【0008】
読み出されたタグはそれぞれ比較回路22と23で与えられた論理アドレスのタグと比較される。比較結果が一致していればTLBヒット信号を出力しウェイ選択回路26によりTLB20かTLB21かどちらか一方の実ページアドレスが選択される。
【0009】
比較結果が一致していなければ主記憶に設けてあるページアドレス表を参照し、実ページアドレスを主記憶より読み出す。読み出した実ページアドレスは対応するタグと共にTLBに格納しておく。
【0010】
またTLB以外に論理アドレスと一つ前のアドレス変換で使用した論理アドレスと実アドレスをレジスタに保持しておき、論理アドレスを一つ前のアドレス変換で使用した論理アドレスと比較して一致していれば保持していた実アドレスを使用し、TLBアクセス乃至アドレス変換を高速化する技術(例えば特開昭63−39059 アドレス変換方式、特開平3−74742 アドレス変換方式、特開平1−197857 アドレス変換回路)が知られている。
【0011】
一方、高密度化に伴って発生する熱が問題になり、回路素子乃至装置の消費電力は極力抑制することが望ましい。半導体記憶素子の消費電力を低減するために、従来より様々な回路技術が考案されている。例えば半導体記憶素子のチップ選択信号をオフにすることで不必要な電力消費を抑制する技術(例えば特開平4−160518 メモリ制御回路)が知られている。
【0012】
【発明が解決しようとする課題】
従来のアドレス変換装置においては、アドレス変換を高速に行うために半導体記憶素子で構成されるTLBを設けたり、TLBアクセスの時間を短縮するために小規模であるがレジスタやその周辺回路を付加したりした。そのためにアドレス変換装置の消費電力が増大するという問題があった。
【0013】
またシステムの規模が大きくなってもアドレス変換の時間を短縮しようとすれば、それだけTLBの容量や付加するハードウェア量を大きくする必要があり、アドレス変換装置の消費電力が更に増大してしまうことが予想される。
【0014】
本発明はこのような点にかんがみて、与えられた論理アドレスを実アドレスに変換するプロセスを高速化すると共に、その装置の消費電力を低減するアドレス変換装置を提供することを目的とする。
【0015】
【課題を解決するための手段】
上記の課題は下記の如くに構成された本発明のアドレス変換装置によって解決される。本発明のアドレス変換装置は、論理アドレスを実アドレスに変換するアドレス変換装置であって、論理アドレスと対を成す実アドレスとを保持する変換対保持手段と、論理アドレスと変換対保持手段に保持される論理アドレスとを比較する比較手段と、複数の論理アドレスと対を成す複数の実アドレスとを格納する変換対記憶手段と、変換対記憶手段を活性化するか否かを制御する制御手段と、変換対保持手段に保持される実アドレスと変換対記憶手段に格納される実アドレスとのいずれかを選択する選択手段とを備える。
【0016】
図1は本発明の原理図である。図1に示すように比較手段101により、論理アドレス1と変換対保持手段100に保持される論理アドレスとを比較する。その結果が一致する場合は、変換対記憶手段200を活性化するか否かを制御する制御手段3により変換対記憶手段200を不活性化すると共に、変換対保持手段100に保持される実アドレスと変換対記憶手段200に格納される実アドレスの内で、選択手段4により変換対保持手段100に保持される実アドレスを選択する。
【0017】
本発明のアドレス変換装置によって、与えられた論理アドレスを実アドレスに変換するアドレス変換を行うときに、与えられた論理アドレス1と変換対保持手段100に保持される論理アドレスとを比較して、その結果が一致する場合は変換対保持手段100に保持される実アドレスを使用することができるので、変換対記憶手段200をアクセスしなくて済み、変換対記憶手段200を活性化する必要がなくなるので不活性にした分だけ、変換対記憶手段200の消費電力を低減することが可能になると共に、アドレス変換のプロセスを高速化することが可能になる。
【0018】
次に本発明のアドレス変換装置における変換対保持手段100が保持する実アドレスについて説明する。変換対保持手段100は一般的には、論理アドレスと実アドレスを対にしたレジスタで構成される。
【0019】
しかし実アドレスについては、制御手段3によって変換対記憶手段200を不活性化するとき、すなわち与えられた論理アドレス1と変換対保持手段100に保持される論理アドレスとを比較して、その結果が一致する場合は、変換対記憶手段200の出力信号は求めるべき実アドレスを示しており、変換対記憶手段200を不活性にしてもこの信号を保持すれば変換対保持手段100として特別にレジスタを設ける必要がなくなる。
【0020】
これによりハードウェアの量を更に削減することが可能になり、アドレス変換装置の消費電力の低減に寄与する。
【0021】
【発明の実施の形態】
本発明の実施の形態について図面を用いて詳細に説明する。図2はダイレクトマップ方式のアドレス変換を行う本発明実施の形態(1)を示す図である。
【0022】
図2の1は論理アドレス、2は変換対記憶手段であるTLB、3はTLBを活性化するか否かを制御する制御手段、4はTLBの出力である実アドレスを選択するか否かを選択する選択手段である。
【0023】
論理アドレス1はタグとインデクスとオフセットで構成される。タグとインデクスとで論理ページアドレスが定義される。ここでインデクスはダイレクトマップ方式においてはTLB内のアドレスになる。オフセットはページ内の変位を示し、アドレス変換後の実ページアドレスと結合されて実アドレスになる。
【0024】
図2の10、12、14は変換対保持手段であり、実際にTLBをアクセスしたり主記憶にあるページアドレス表をアクセスしてアドレス変換を実行したときに使用したタグ、インデクス、および実ページアドレスを保持しておくためのレジスタである。ここでは、前回もしくはそれ以前にアドレス変換を実行したとして、説明の便宜上、以降は前回タグ、前回インデクス、前回RPA(実ページアドレス)と呼ぶ。
【0025】
図2の16、18、22は比較回路であり、与えられた論理アドレスのタグと前回タグ10、与えられた論理アドレスのインデクスと前回インデクス12、与えられた論理アドレスのタグとTLBから読み出されるタグとをそれぞれ比較する。
【0026】
図3は本発明実施の形態(1)の処理フロー図である。まずステップs1では与えられた論理アドレス1のインデクスとレジスタ12内の前回インデクスとを比較回路18によって比較する。
【0027】
ステップs2で比較結果が一致していればステップs3に進み、一致していなければステップs10に進む。
ステップs3では制御手段3によってTLB2を不活性にしてステップs4に進む。ステップs4では選択手段4によってレジスタ14内の前回RPAを選択しステップs5に進む。
【0028】
ステップs5では与えられた論理アドレス1のタグとレジスタ10内の前回タグとを比較回路16によって比較することにより、選択した実ページアドレスの有効性を判定する。
【0029】
ステップs6で比較結果が一致していればアドレス変換を終了し、一致していなければステップs15に進む。論理アドレス1のインデクスとレジスタ12内の前回インデクスとが一致していても、論理アドレス1のタグとレジスタ10内の前回タグとは一致していない場合がある。この場合(TLBミスヒット)はステップs15以下のアドレス変換処理を行う。
【0030】
ステップs10では制御手段3によってTLB2を活性化し、与えられた論理アドレス1のインデクスによってTLB2を読み出しステップs11に進む。
ステップs11では比較回路22によって、TLB2から読み出したタグと与えられた論理アドレス1のタグを比較する。
【0031】
ステップs12で比較結果が一致していればステップs13に進み、一致していなければステップs15に進む。
ステップs13では、選択手段4によってTLB2から読み出した実アドレスを選択しステップs14に進む。
【0032】
ステップs14では、与えられた論理アドレス1のタグとインデクスと、TLB2から読み出した実アドレスを、それぞれレジスタ10、12、14に前回の変換対として保持し、アドレス変換を終了する。
【0033】
ステップs15では、図示していないが主記憶にあるページアドレス表をアクセスしてアドレス変換を行い、主記憶から実ページアドレスを得る。続いてステップs16に進む。
【0034】
ステップs16では、与えられた論理アドレス1のタグとインデクスと、主記憶から読み出した実ページアドレスを、それぞれレジスタ10、14、16に前回の変換対として保持しステップs17に進む。
【0035】
ステップs17では、与えられた論理アドレス1のタグと主記憶から読み出した実アドレスを対にしてTLBに格納し、アドレス変換を終了する。変換対を格納するときはTLBを活性化し、TLB内のアドレスは論理アドレス1のインデクスを用いる。
【0036】
図4はダイレクトマップ方式のアドレス変換を行う本発明実施の形態(2)を示す図である。図4の各符号は図2の各符号と同じである。本発明実施の形態(2)は(1)とは以下の点で相違しているが他の処理は(1)と同じである。
【0037】
すなわち図4においては選択手段4と前回RPAを保持するレジスタ13が存在しない。その代わりに本発明実施の形態(2)では、与えられた論理アドレス1のインデクスをレジスタ12内の前回インデクスとを比較したときに、比較結果が一致していれば、制御手段3によってTLB2を不活性にすると共にTLBの実アドレスの出力信号を保持しておき、前回RPAとしてTLBの実ページアドレスの出力信号を選択する。
【0038】
図5はダイレクトマップ方式のアドレス変換を行う本発明実施の形態(3)を示す図である。図5の24はレジスタ10の前回タグかTLBから読出すタグかを選択する選択回路である。図5の他の各符号は図2の各符号と同じである。すなわち図5においては、レジスタ10の前回タグの入力をTLBの出力にして、選択回路24を付加し図2の比較回路22を削除した。
【0039】
本発明実施の形態(3)においてはTLBをアクセスしてタグを読み出すときに選択回路24をTLB側のタグを選択するよう制御すれば、比較回路16によって論理アドレス1のタグとTLB2のタグとを比較することができる。本発明実施の形態(3)における他の処理は(1)と同じである。
【0040】
図6はダイレクトマップ方式のアドレス変換を行う本発明実施の形態(4)を示す図である。図6の11、13、15は図6の10、12、14と同じ変換対保持手段であるレジスタであり、前回タグ、前回インデクス、前回RPA(実ページアドレス)を保持する。
【0041】
図6の17、19は図6の16、18と同じ比較回路であり、与えられた論理アドレスのタグと前回タグ11、与えられた論理アドレスのインデクスと前回インデクス13とをそれぞれ比較する。図6の他の各符号は図2の各符号と同じである。
【0042】
本発明実施の形態(4)は本発明実施の形態(1)に上記レジスタ11、13、15および比較回路17、19を付加したものである。すなわち本発明実施の形態(4)ではレジスタを追加することでヒット率を高めることを目的にした。他の制御は本発明実施の形態(1)と同じである。
【0043】
前回タグ、前回インデクス、前回RPAを保持するレジスタおよび関連する比較回路を2重化し、前回および前々回のアドレス変換実行時のタグ、インデクス、RPAを保持する。
【0044】
図7は2ウェイのセットアソシアティブ方式のアドレス変換を行う本発明実施の形態(5)を示す図である。図7の20、21は変換対記憶手段であるTLBであり、30、31はTLBを活性化するか否かを制御する制御手段である。
【0045】
セットアソシアティブ方式でも論理アドレス1はタグとインデクスとオフセットで構成される。ダイレクトマップ方式と同じくタグとインデクスとで論理ページアドレスが定義され、インデクスはTLB内のアドレスになる。
【0046】
図7の10、11は前回タグを、14、15は前回RPAをそれぞれのウェイ毎に保持し、12は前回インデクスをウェイ共通に保持する変換対保持手段である。
【0047】
図7の16、17は前回タグと、18前回インデクスとそれぞれ与えられた論理アドレスを比較する比較回路であり、図7の22、23はそれぞれのTLBから読み出されるタグと与えられた論理アドレスを比較する比較回路である。
【0048】
図7の40、41はそれぞれのTLBから読み出される実ページアドレスか前回RPAかを選択する選択回路であり、26は2ウェイのどちらかを選択するウェイ選択回路である。
【0049】
本発明実施の形態(5)では2ウェイのセットアソシアティブ方式であり、与えられた論理アドレスのインデクスで2ウェイのTLBの両方を同時にアクセスして、ヒット率を高めることを目的にしている。他の制御は本発明実施の形態(1)と同じである。
【0050】
図8は2ウェイのセットアソシアティブ方式のアドレス変換を行う本発明実施の形態(6)を示す図である。図8の24、25はそれぞれレジスタ10、11の前回タグかTLBから読出すタグかを選択する選択回路である。
【0051】
図8の他の各符号は図7の各符号と同じである。すなわち図8においては、レジスタ10、11の前回タグの入力をTLBの出力にして、選択回路24、25を付加し図7の比較回路22、23を削除した。
【0052】
本発明実施の形態(6)においてはTLBをアクセスしてタグを読み出すときに選択回路24あるいは25をTLB側のタグを選択するよう制御すれば、比較回路16あるいは17によって論理アドレス1のタグとTLB20あるいは21のタグとを比較することができる。本発明実施の形態(6)における他の処理は(5)と同じである。
【0053】
図9は2ウェイのセットアソシアティブ方式のアドレス変換を行う本発明実施の形態(7)を示す図である。図9の27は前回ウェイヒットレジスタであり、前回のアドレス変換で2ウェイのどちらのTLBがヒットしたかを保持しておくためのレジスタである。
【0054】
図9の他の各符号は図7の各符号と同じである。すなわち図9においては、前回ウェイヒットレジスタ27を付加し図7のレジスタ11と比較回路17を削除した。このように前回ウェイヒットレジスタ27を備えることにより、全体のハードウェア量を削減した。本発明実施の形態(7)における他の処理は(5)と同じである。
【0055】
図10は2ウェイのセットアソシアティブ方式のアドレス変換を行う本発明実施の形態(8)を示す図である。図10の4はウェイ選択回路の出力か前回RPAを選択する選択手段である。また図10では前回タグ、前回インデクス、前回RPAの変換対保持手段を2ウェイで共通のレジスタにしてある。
【0056】
図10の他の各符号は図9の各符号と同じである。すなわち図10においては図9の前回ウェイヒットレジスタ27と前回RPAレジスタ15とを削除し全体のハードウェア量を更に削減した。本発明実施の形態(8)における他の処理は(7)と同じである。
【0057】
図11はフルアソシアティブ方式のアドレス変換を行う本発明実施の形態(9)を示す図である。フルアソシアティブ方式では論理アドレス1は論理ページアドレスとオフセットで構成される。従って図11の10には前回の論理ページアドレスを保持する。図11の他の各符号は図2の各符号と同じである。
【0058】
またアドレス変換を高速で行うためにTLBのエントリには論理ページアドレスと実ページアドレスの対の他に制御ビットが付加されている。他の制御は本発明実施の形態(1)と同じである。
【0059】
以上の本発明実施の形態では主記憶をページ単位に分割するページアドレス変換についてのみ説明したが、本発明がセグメントアドレスとページアドレスを持つような多段階のアドレス変換においても適用できるのは勿論である。
【0060】
またハードウェアの規模との兼ね合いで本発明実施の形態(4)に示すように変換対保持手段として複数対の保持レジスタを用いて一向に差し支えない。
更にまた本発明実施の形態(5)乃至(8)では、セットアソシアティブ方式で2ウェイのTLBを用いたが、やはりハードウェアの規模との兼ね合いで、更に多くのウェイ数を持つTLBに適用できるのは勿論である。
【0061】
【発明の効果】
以上の説明から明らかなように本発明によれば、与えられた論理アドレスを実アドレスに変換するプロセスを高速化すると共に、その装置の消費電力を低減することが可能になるという効果がある。
【図面の簡単な説明】
【図1】 本発明の原理図
【図2】 本発明実施の形態(1)(ダイレクトマップ方式)
【図3】 本発明実施の形態(1)の処理フロー図
【図4】 本発明実施の形態(2)(ダイレクトマップ方式)
【図5】 本発明実施の形態(3)(ダイレクトマップ方式)
【図6】 本発明実施の形態(4)(ダイレクトマップ方式)
【図7】 本発明実施の形態(5)(セットアソシアティブ方式)
【図8】 本発明実施の形態(6)(セットアソシアティブ方式)
【図9】 本発明実施の形態(7)(セットアソシアティブ方式)
【図10】 本発明実施の形態(8)(セットアソシアティブ方式)
【図11】 本発明実施の形態(9)(フルアソシアティブ方式)
【図12】 従来のアドレス変換方式(セットアソシアティブ方式)
【符号の説明】
1 論理アドレス
2 TLB
3 制御手段
4 選択手段
10、11 前回タグレジスタ
12、13 前回インデクスレジスタ
14、15 前回RPAレジスタ
16、17、18、19 比較回路
20、21 TLB
22、23 比較回路
24、25 選択回路
26 ウェイ選択回路
27 前回ウェイヒットレジスタ
30、31 制御手段
40、41 選択手段
100 変換対保持手段
101 比較手段
200 変換対記憶手段
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an address translation device in a computer system, and more particularly to a technique for speeding up address translation and reducing power consumption of the address translation device.
[0002]
[Prior art]
Among the computer technologies from ultra-large computers to personal computers, along with the recent progress in increasing the storage capacity and density of storage devices, there are technologies for lowering power consumption for heat saving as well as higher speed memory access technologies. It is becoming increasingly important.
[0003]
The virtual memory space used by the user exceeds the capacity of the main memory that the CPU actually accesses, and the address translation device needs to convert the virtual address, that is, the logical address, into the physical address, that is, the real address at high speed and efficiently. is there.
[0004]
In such address translation, various methods have been devised in consideration of the degree of speeding up and the hardware scale. Typical examples include a direct map method, a set associative method, and a full associative method.
[0005]
In these address conversion methods, the address conversion is performed on the conversion pair of the logical address and the real address converted so that it is not necessary to refer to the page address table and the segment address table provided in the main memory every time. It is stored in a storage means (hereinafter referred to as TLB, generally referred to as TLB) in the apparatus, and address conversion with high access frequency is performed at high speed.
[0006]
FIG. 12 shows a conventional set associative address translation. The logical address 1 in FIG. 12 includes a tag, an index, and an offset, and a logical page address is defined by the tag and the index. Here, the index is an address in the TLB, the offset indicates a displacement in the page, and is combined with the real page address after address conversion to become a real address.
[0007]
In FIG. 12, it is a 2-way set associative system and there are two sets of TLB. (20 and 21 in FIG. 12) When a logical address is given, the corresponding tag and actual page address are read from each TLB by the control of 30 and 31 in FIG.
[0008]
The read tag is compared with the tag of the logical address given by the comparison circuits 22 and 23, respectively. If the comparison results match, a TLB hit signal is output and either the TLB 20 or the TLB 21 real page address is selected by the way selection circuit 26.
[0009]
If the comparison results do not match, the page address table provided in the main memory is referred to read the actual page address from the main memory. The read real page address is stored in the TLB together with the corresponding tag.
[0010]
In addition to the TLB, the logical address, the logical address used in the previous address translation, and the real address are held in a register, and the logical address matches the logical address used in the previous address translation. If this is the case, a technique for speeding up the TLB access or address conversion using the stored real address (for example, Japanese Patent Laid-Open No. 63-39059, Japanese Patent Laid-Open No. 3-74742, address conversion method, Japanese Patent Laid-Open No. 1-197857) Circuit) is known.
[0011]
On the other hand, heat generated with higher density becomes a problem, and it is desirable to suppress power consumption of circuit elements or devices as much as possible. In order to reduce the power consumption of the semiconductor memory element, various circuit technologies have been conventionally devised. For example, a technique for suppressing unnecessary power consumption by turning off a chip selection signal of a semiconductor memory element (for example, Japanese Patent Laid-Open No. 4-160518 memory control circuit) is known.
[0012]
[Problems to be solved by the invention]
In the conventional address translation device, a TLB composed of semiconductor memory elements is provided to perform address translation at high speed, or a register or its peripheral circuit is added to reduce the time for TLB access. I did. Therefore, there is a problem that the power consumption of the address translation device increases.
[0013]
Even if the scale of the system is increased, if the time for address translation is to be shortened, it is necessary to increase the TLB capacity and the amount of hardware to be added, and the power consumption of the address translation device further increases. Is expected.
[0014]
In view of these points, an object of the present invention is to provide an address translation device that speeds up the process of converting a given logical address into a real address and reduces the power consumption of the device.
[0015]
[Means for Solving the Problems]
The above problem is solved by the address translation apparatus of the present invention configured as follows. The address translation device of the present invention is an address translation device that translates a logical address into a real address, and holds the translation pair holding means for holding the logical address and the logical address and the logical address and the translation pair holding means. Comparing means for comparing logical addresses to be read, conversion pair storage means for storing a plurality of real addresses paired with a plurality of logical addresses, and control means for controlling whether to activate the conversion pair storage means And a selection means for selecting either a real address held in the conversion pair holding means or a real address stored in the conversion pair storage means.
[0016]
FIG. 1 shows the principle of the present invention. As shown in FIG. 1, the comparison unit 101 compares the logical address 1 with the logical address held in the conversion pair holding unit 100. If the results match, the control means 3 that controls whether or not to activate the conversion pair storage means 200 deactivates the conversion pair storage means 200, and the real address held in the conversion pair holding means 100 Among the real addresses stored in the conversion pair storage unit 200, the selection unit 4 selects the real address held in the conversion pair holding unit 100.
[0017]
When performing the address conversion for converting the given logical address into the real address by the address translation device of the present invention, the given logical address 1 is compared with the logical address held in the translation pair holding means 100; If the results match, the real address held in the conversion pair holding unit 100 can be used, so that it is not necessary to access the conversion pair storage unit 200, and it is not necessary to activate the conversion pair storage unit 200. Therefore, it is possible to reduce the power consumption of the conversion pair storage means 200 by the amount of inactivation, and to speed up the address conversion process.
[0018]
Next, the real address held by the translation pair holding means 100 in the address translation apparatus of the present invention will be described. The conversion pair holding means 100 is generally composed of a register in which a logical address and a real address are paired.
[0019]
However, with respect to the real address, when the conversion pair storage means 200 is inactivated by the control means 3, that is, the given logical address 1 is compared with the logical address held in the conversion pair holding means 100, and the result is obtained. If they match, the output signal of the conversion pair storage means 200 indicates the actual address to be obtained. If this signal is held even if the conversion pair storage means 200 is inactivated, a special register is provided as the conversion pair storage means 100. There is no need to provide it.
[0020]
As a result, the amount of hardware can be further reduced, which contributes to a reduction in power consumption of the address translation device.
[0021]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described in detail with reference to the drawings. FIG. 2 is a diagram showing an embodiment (1) of the present invention in which direct map type address conversion is performed.
[0022]
In FIG. 2, 1 is a logical address, 2 is a TLB which is a translation pair storage means, 3 is a control means which controls whether to activate the TLB, 4 is whether to select a real address which is an output of the TLB It is a selection means to select.
[0023]
The logical address 1 includes a tag, an index, and an offset. A logical page address is defined by the tag and the index. Here, the index is an address in the TLB in the direct map method. The offset indicates a displacement within the page, and is combined with the real page address after address conversion to become a real address.
[0024]
Reference numerals 10, 12, and 14 in FIG. 2 denote conversion pair holding means, which are tags, indexes, and actual pages used when address conversion is performed by actually accessing the TLB or by accessing the page address table in the main memory. This is a register for holding an address. Here, for the sake of convenience of explanation, it is assumed that the address translation has been executed before or before the previous time, and hereinafter, the previous tag, the previous index, and the previous RPA (actual page address) will be referred to.
[0025]
Reference numerals 16, 18, and 22 in FIG. 2 denote comparison circuits, which are read from the tag of the given logical address and the previous tag 10, the index of the given logical address and the previous index 12, and the tag and TLB of the given logical address. Compare each tag.
[0026]
FIG. 3 is a processing flowchart of the embodiment (1) of the present invention. First, in step s1, the comparison circuit 18 compares the index of the given logical address 1 with the previous index in the register 12.
[0027]
If the comparison results match in step s2, the process proceeds to step s3, and if they do not match, the process proceeds to step s10.
In step s3, TLB2 is inactivated by the control means 3, and the process proceeds to step s4. In step s4, the previous RPA in the register 14 is selected by the selection means 4, and the process proceeds to step s5.
[0028]
In step s5, the comparison circuit 16 compares the given logical address 1 tag with the previous tag in the register 10 to determine the validity of the selected real page address.
[0029]
If the comparison results match in step s6, the address conversion is terminated. If they do not match, the process proceeds to step s15. Even if the index of logical address 1 and the previous index in register 12 match, the tag of logical address 1 and the previous tag in register 10 may not match. In this case (TLB miss hit), the address conversion process after step s15 is performed.
[0030]
In step s10, TLB2 is activated by the control means 3, TLB2 is read by the index of the given logical address 1, and the process proceeds to step s11.
In step s11, the comparison circuit 22 compares the tag read from the TLB 2 with the tag of the given logical address 1.
[0031]
If the comparison results match in step s12, the process proceeds to step s13, and if they do not match, the process proceeds to step s15.
In step s13, the selection unit 4 selects the real address read from the TLB 2, and the process proceeds to step s14.
[0032]
In step s14, the tag and index of the given logical address 1 and the real address read from the TLB 2 are held in the registers 10, 12, and 14 as the previous conversion pair, and the address conversion is completed.
[0033]
In step s15, although not shown, a page address table in the main memory is accessed to perform address conversion, and an actual page address is obtained from the main memory. Then, it progresses to step s16.
[0034]
In step s16, the tag and index of the given logical address 1 and the real page address read from the main memory are held in the registers 10, 14, and 16 as the previous conversion pair, and the process proceeds to step s17.
[0035]
In step s17, the tag of the given logical address 1 and the real address read from the main memory are paired and stored in the TLB, and the address conversion is terminated. When storing the translation pair, the TLB is activated, and the index of the logical address 1 is used as an address in the TLB.
[0036]
FIG. 4 is a diagram showing an embodiment (2) of the present invention in which direct map type address conversion is performed. 4 are the same as those in FIG. Embodiment (2) of the present invention differs from (1) in the following points, but the other processes are the same as (1).
[0037]
That is, in FIG. 4, the selection means 4 and the register 13 for holding the previous RPA do not exist. Instead, in the embodiment (2) of the present invention, when the index of the given logical address 1 is compared with the previous index in the register 12, if the comparison results match, the TLB2 is set by the control means 3. The TLB real address output signal is held inactive and the TLB real page address output signal is selected as the previous RPA.
[0038]
FIG. 5 is a diagram showing an embodiment (3) of the present invention in which direct map type address conversion is performed. Reference numeral 24 in FIG. 5 denotes a selection circuit that selects whether the register 10 is a previous tag or a tag read from the TLB. The other symbols in FIG. 5 are the same as the symbols in FIG. That is, in FIG. 5, the input of the previous tag of the register 10 is TLB output, the selection circuit 24 is added, and the comparison circuit 22 of FIG. 2 is deleted.
[0039]
In the embodiment (3) of the present invention, if the selection circuit 24 is controlled to select the TLB side tag when the TLB is accessed and the tag is read, the comparison circuit 16 causes the tag of the logical address 1 and the tag of the TLB 2 to be selected. Can be compared. Other processes in the embodiment (3) of the present invention are the same as those in (1).
[0040]
FIG. 6 is a diagram showing an embodiment (4) of the present invention that performs direct map type address conversion. Reference numerals 11, 13, and 15 in FIG. 6 denote registers that are the same conversion pair holding means as in FIGS. 6, 12, and 14, and hold the previous tag, the previous index, and the previous RPA (actual page address).
[0041]
Reference numerals 17 and 19 in FIG. 6 denote the same comparison circuits as 16 and 18 in FIG. 6, which compare the tag of the given logical address with the previous tag 11 and the index of the given logical address and the previous index 13, respectively. The other symbols in FIG. 6 are the same as the symbols in FIG.
[0042]
The embodiment (4) of the present invention is obtained by adding the registers 11, 13, 15 and the comparison circuits 17, 19 to the embodiment (1) of the present invention. That is, the embodiment (4) of the present invention aims to increase the hit rate by adding a register. Other controls are the same as in the embodiment (1) of the present invention.
[0043]
The register that holds the previous tag, the previous index, and the previous RPA and the related comparison circuit are duplicated, and the tag, index, and RPA at the time of the previous and previous address conversion are held.
[0044]
FIG. 7 is a diagram showing an embodiment (5) of the present invention that performs 2-way set associative address translation. Reference numerals 20 and 21 in FIG. 7 denote TLBs as conversion pair storage means, and reference numerals 30 and 31 denote control means for controlling whether to activate the TLB.
[0045]
Even in the set associative method, the logical address 1 is composed of a tag, an index, and an offset. Similar to the direct map method, a logical page address is defined by a tag and an index, and the index becomes an address in the TLB.
[0046]
In FIG. 7, reference numerals 10 and 11 denote previous tags, reference numerals 14 and 15 denote previous RPAs for each way, and reference numeral 12 denotes conversion pair holding means for holding the previous index in a common way.
[0047]
Reference numerals 16 and 17 in FIG. 7 are comparison circuits that compare the previous tag and 18 previous index with the given logical addresses, respectively, and 22 and 23 in FIG. 7 show the tags read from the respective TLBs and the given logical addresses. It is a comparison circuit to compare.
[0048]
Reference numerals 40 and 41 in FIG. 7 denote selection circuits for selecting the actual page address read from each TLB or the previous RPA, and reference numeral 26 denotes a way selection circuit for selecting one of the two ways.
[0049]
The embodiment (5) of the present invention is a two-way set associative method, and aims to increase the hit rate by simultaneously accessing both two-way TLBs with a given logical address index. Other controls are the same as in the embodiment (1) of the present invention.
[0050]
FIG. 8 is a diagram showing an embodiment (6) of the present invention that performs 2-way set associative address translation. Reference numerals 24 and 25 in FIG. 8 denote selection circuits for selecting whether the previous tags of the registers 10 and 11 or tags to be read from the TLB, respectively.
[0051]
The other symbols in FIG. 8 are the same as the symbols in FIG. That is, in FIG. 8, the previous tag input of the registers 10 and 11 is set to TLB output, the selection circuits 24 and 25 are added, and the comparison circuits 22 and 23 of FIG. 7 are deleted.
[0052]
In the embodiment (6) of the present invention, if the selection circuit 24 or 25 is controlled to select the TLB side tag when the TLB is accessed and the tag is read, the comparison circuit 16 or 17 determines the tag of the logical address 1. A TLB 20 or 21 tag can be compared. Other processes in the embodiment (6) of the present invention are the same as those in (5).
[0053]
FIG. 9 is a diagram showing an embodiment (7) of the present invention that performs 2-way set associative address translation. Reference numeral 27 in FIG. 9 denotes a previous way hit register, which is a register for holding which TLB of the 2-way hit in the previous address conversion.
[0054]
The other symbols in FIG. 9 are the same as the symbols in FIG. That is, in FIG. 9, the previous way hit register 27 is added, and the register 11 and the comparison circuit 17 in FIG. 7 are deleted. Thus, by providing the previous way hit register 27, the total amount of hardware was reduced. Other processes in the embodiment (7) of the present invention are the same as those in (5).
[0055]
FIG. 10 is a diagram showing an embodiment (8) of the present invention that performs 2-way set associative address translation. Reference numeral 4 in FIG. 10 denotes selection means for selecting the output of the way selection circuit or the previous RPA. In FIG. 10, the conversion pair holding means of the previous tag, the previous index, and the previous RPA is a common register in two ways.
[0056]
The other symbols in FIG. 10 are the same as the symbols in FIG. That is, in FIG. 10, the previous way hit register 27 and the previous RPA register 15 of FIG. 9 are deleted to further reduce the overall hardware amount. Other processes in the embodiment (8) of the present invention are the same as those in (7).
[0057]
FIG. 11 is a diagram showing an embodiment (9) of the present invention in which full-associative address translation is performed. In the full associative method, the logical address 1 is composed of a logical page address and an offset. Accordingly, the previous logical page address is held at 10 in FIG. The other symbols in FIG. 11 are the same as the symbols in FIG.
[0058]
Further, in order to perform address translation at high speed, a control bit is added to the TLB entry in addition to the logical page address and real page address pair. Other controls are the same as in the embodiment (1) of the present invention.
[0059]
In the above embodiment of the present invention, only the page address conversion for dividing the main memory into pages has been described. However, the present invention can be applied to multi-stage address conversion having a segment address and a page address. is there.
[0060]
In view of the scale of the hardware, as shown in the embodiment (4) of the present invention, a plurality of pairs of holding registers may be used as the conversion pair holding means.
Furthermore, in the embodiments (5) to (8) of the present invention, the 2-way TLB is used in the set associative method, but it can be applied to a TLB having a larger number of ways in consideration of the hardware scale. Of course.
[0061]
【The invention's effect】
As is apparent from the above description, according to the present invention, it is possible to speed up the process of converting a given logical address into a real address and to reduce the power consumption of the apparatus.
[Brief description of the drawings]
FIG. 1 is a principle diagram of the present invention. FIG. 2 is an embodiment of the present invention (1) (direct map system).
FIG. 3 is a processing flow diagram of the embodiment (1) of the present invention. FIG. 4 is an embodiment of the present invention (2) (direct map method).
FIG. 5 shows an embodiment (3) of the present invention (direct map method).
FIG. 6 is an embodiment (4) of the present invention (direct map method).
FIG. 7 shows a fifth embodiment (set associative method) of the present invention.
FIG. 8 is an embodiment (6) of the present invention (set associative method).
FIG. 9 is an embodiment (7) of the present invention (set associative method).
FIG. 10 is an embodiment (8) of the present invention (set associative method).
FIG. 11 is an embodiment (9) of the present invention (full associative method).
[Fig. 12] Conventional address translation method (set associative method)
[Explanation of symbols]
1 Logical address 2 TLB
3 Control means 4 Selection means 10, 11 Previous tag register 12, 13 Previous index register 14, 15 Previous RPA register 16, 17, 18, 19 Comparison circuit 20, 21 TLB
22, 23 Comparison circuit 24, 25 Selection circuit 26 Way selection circuit 27 Previous way hit register 30, 31 Control means 40, 41 Selection means 100 Conversion pair holding means 101 Comparison means 200 Conversion pair storage means

Claims (1)

論理アドレスを実アドレスに変換するアドレス変換装置において、
アドレスと対を成す論理アドレスを保持する変換対保持手段と、
実アドレスに変換すべき、比較対象の論理アドレスと前記変換対保持手段に保持される論理アドレスとを比較する比較手段と、
複数の論理アドレスと、それぞれが論理アドレスと対を成す複数の実アドレスとを格納する変換対記憶手段と、
前記変換対記憶手段を活性化するか否かを制御する制御手段と、を備え、
前記比較手段の比較結果が一致する場合に、前記制御手段により前記変換対記憶手段を不活性化すると共に、実アドレスを前記変換対記憶手段が不活性化したときの実アドレスの出力保持信号より得ることを特徴とするアドレス変換装置。
In an address translation device that translates a logical address into a real address,
A translation pair holding means for holding a logical address paired with a real address;
A comparison means for comparing a logical address to be compared with a logical address held in the conversion pair holding means to be converted into a real address ;
Conversion pair storage means for storing a plurality of logical addresses and a plurality of real addresses each paired with a logical address ;
Control means for controlling whether to activate the conversion pair storage means,
When the comparison result of the comparison means coincides, the control means deactivates the conversion pair storage means, and the real address is obtained from the output holding signal of the real address when the conversion pair storage means is deactivated. An address translation device characterized by being obtained .
JP01183596A 1996-01-26 1996-01-26 Address translation device Expired - Fee Related JP3702522B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01183596A JP3702522B2 (en) 1996-01-26 1996-01-26 Address translation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01183596A JP3702522B2 (en) 1996-01-26 1996-01-26 Address translation device

Publications (2)

Publication Number Publication Date
JPH09204359A JPH09204359A (en) 1997-08-05
JP3702522B2 true JP3702522B2 (en) 2005-10-05

Family

ID=11788806

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01183596A Expired - Fee Related JP3702522B2 (en) 1996-01-26 1996-01-26 Address translation device

Country Status (1)

Country Link
JP (1) JP3702522B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004094807A (en) 2002-09-03 2004-03-25 Toshiba Corp Instruction cache, microprocessor, and design method for same
WO2004104841A1 (en) 2003-05-21 2004-12-02 Fujitsu Limited Address conversion buffer power control method and device thereof

Also Published As

Publication number Publication date
JPH09204359A (en) 1997-08-05

Similar Documents

Publication Publication Date Title
US6901501B2 (en) Data processor
JPH07287668A (en) Data processor
EP0407119B1 (en) Apparatus and method for reading, writing and refreshing memory with direct virtual or physical access
JP4065660B2 (en) Translation index buffer with distributed functions in parallel
JPS61141055A (en) Information processor
JPH08101797A (en) Translation lookaside buffer
JPS63101944A (en) Memory controller
EP0745940B1 (en) An apparatus and method for providing a cache indexing scheme less susceptible to cache collisions
JPH0981459A (en) Address conversion buffer device
US7305521B2 (en) Methods, circuits, and systems for utilizing idle time in dynamic frequency scaling cache memories
JP3702522B2 (en) Address translation device
JPH04308953A (en) Virtual address computer system
EP1285340B1 (en) Shared bus interface for digital signal processor
JPH05197619A (en) Memory control circuit for multi-cpu
JP3447588B2 (en) Memory management device, method, and storage medium storing program
US6516399B2 (en) Dynamically configurable page table
US20040059887A1 (en) Cache memory
JPH01193961A (en) Address converting device
JP2000267932A (en) Tag address comparing device
JPH1055308A (en) Cache memory
JPH06259329A (en) Information processor equipped with address converting function
JPH0981454A (en) Cache storage device
JP3273799B2 (en) Cache memory for extended storage device
JPS59218691A (en) Prefetching system
JPS63180171A (en) Information processor

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050419

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050614

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050628

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050711

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080729

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090729

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100729

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100729

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110729

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110729

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120729

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120729

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130729

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees