JP2016507096A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2016507096A5 JP2016507096A5 JP2015552800A JP2015552800A JP2016507096A5 JP 2016507096 A5 JP2016507096 A5 JP 2016507096A5 JP 2015552800 A JP2015552800 A JP 2015552800A JP 2015552800 A JP2015552800 A JP 2015552800A JP 2016507096 A5 JP2016507096 A5 JP 2016507096A5
- Authority
- JP
- Japan
- Prior art keywords
- entry
- input
- page size
- tlb
- page
- 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
- 230000000875 corresponding Effects 0.000 claims description 24
- 241000287463 Phalacrocorax Species 0.000 claims 1
- 230000004048 modification Effects 0.000 description 1
- 238000006011 modification reaction Methods 0.000 description 1
Description
[0080]開示された実施形態の前述の記載は、開示された実施形態を当業者が製造または使用することを可能にするために提供される。これらの実施形態への様々な変更は、当業者には容易に明らかとなるであろうし、本明細書において定義される原理は、本開示の範囲から逸脱することなく、他の実施形態に適用され得る。したがって、本開示は、本明細書において示される実施形態に限定されることは意図されないが、下記の請求項によって定義されるような原理および新規な特徴と一致する、考え得る最も広い範囲と合致すべきである。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
[請求項1]
入力仮想アドレスと入力ページサイズ指標とを変換索引バッファ(TLB)において受け取ることと、前記入力仮想アドレスおよび前記入力ページサイズ指標は、入力ページに対応し、
前記入力ページサイズ指標と前記TLBのエントリのエントリページサイズ指標との比較に基づいて、算出ページサイズを決定することと、ここにおいて、前記TLBの前記エントリは、エントリページに対応し、
前記入力ページが前記エントリページに重複するかを決定するために、前記算出ページサイズに基づいて、前記入力仮想アドレスと前記エントリのエントリ仮想アドレスとのマスクされた比較を実行することと、
を備える方法。
[請求項2]
前記算出ページサイズを決定することが、前記入力ページサイズ指標によって表される入力ページサイズおよび前記エントリページサイズ指標によって表されるエントリページサイズのうちの大きい方を前記算出ページサイズとして選択することを備える、請求項1に記載の方法。
[請求項3]
前記TLBの第2のエントリの第2のエントリページサイズ指標と前記入力ページサイズ指標との比較に基づいて、第2の算出ページサイズを決定することと、ここにおいて、前記TLBの前記第2のエントリは、第2のエントリページに対応し、
前記入力ページが前記第2のエントリページに重複するかを決定するために、前記第2の算出ページサイズに基づいて、前記入力仮想アドレスと前記第2のエントリの第2のエントリ仮想アドレスとの第2のマスクされた比較を実行することと、
をさらに備える、請求項1に記載の方法。
[請求項4]
前記算出ページサイズが、前記第2の算出ページサイズと異なる、請求項3に記載の方法。
[請求項5]
少なくとも1つのエントリを備える変換索引バッファ(TLB)と、前記少なくとも1つのエントリは、エントリページに対応するエントリ仮想アドレスとエントリページサイズ指標とを含み、
入力ページに対応する入力ページサイズ指標と入力仮想アドレスとを受け取るように構成された入力ロジックと、
前記エントリページサイズ指標および前記入力ページサイズ指標に少なくとも一部は基づいて、前記入力ページが前記エントリページに重複するかを決定するように構成された重複検査ロジックと、
を備える装置。
[請求項6]
前記重複検査ロジックが、
前記エントリページサイズ指標と前記入力ページサイズ指標との比較に基づいて、算出ページサイズを決定し、
前記入力ページが前記エントリページに重複するかを決定するために、前記算出ページサイズに基づいて、前記入力仮想アドレスと前記エントリ仮想アドレスとのマスクされた比較を実行する
ようにさらに構成される、請求項5に記載の装置。
[請求項7]
前記少なくとも1つのエントリが、アプリケーション空間識別子(ASID)とグローバル指標とをさらに含み、前記入力ロジックが、入力ASIDを受け取るようにさらに構成され、ここにおいて、前記重複検査ロジックが、
第1の値を有する前記グローバル指標に応答して、前記入力ページが前記エントリページに重複するかを決定する際に前記ASIDと前記入力ASIDとを比較し、
第2の値を有する前記グローバル指標に応答して、前記入力ページが前記エントリページに重複するかを決定する際に前記ASIDと前記入力ASIDとを比較することを控える
ようにさらに構成される、請求項6に記載の装置。
[請求項8]
前記入力ページサイズ指標が、第1のマスクによって表され、前記エントリページサイズ指標が、第2のマスクによって表される、請求項5に記載の装置。
[請求項9]
前記入力ページサイズ指標が、第1のページサイズによって表され、前記エントリページサイズ指標が、第2のページサイズによって表される、請求項5に記載の装置。
[請求項10]
前記少なくとも1つのエントリが、前記エントリ仮想アドレス、アプリケーション空間識別子(ASID)、キャッシュ可能指標、許可指標、グローバル指標、またはこれらの任意の組み合わせにマッピングされる物理アドレスを含む、請求項5に記載の装置。
[請求項11]
プロセッサにおいて重複検査命令を実行することを備え、ここにおいて、前記重複検査命令は、入力ページに対応する入力仮想アドレスと入力ページサイズ指標とを含み、前記重複検査命令を実行することは、
変換索引バッファ(TLB)のエントリのエントリページサイズ指標と前記入力ページサイズ指標との比較に基づいて、算出ページサイズを決定することと、
前記入力ページがエントリページに重複するかを決定するために、前記算出ページサイズに基づいて、前記入力仮想アドレスと前記エントリのエントリ仮想アドレスとのマスクされた比較を実行することと、
前記入力ページが前記エントリページに重複するかの前記決定に基づいて、実行結果を出力することと、
を含む、方法。
[請求項12]
前記実行結果が、ブール出力を備える、請求項11に記載の方法。
[請求項13]
前記実行結果が、前記入力ページに重複するエントリページに対応する、前記TLBのエントリの数を識別する、請求項11に記載の方法。
[請求項14]
前記実行結果が、前記入力ページに重複する特定のエントリページに対応する、前記TLBの特定のエントリを識別する、請求項11に記載の方法。
[請求項15]
前記重複検査命令を実行することが、前記実行結果を前記プロセッサのレジスタに記憶することをさらに備える、請求項11に記載の方法。
[請求項16]
TLBを含むプロセッサにおいて条件付き変換索引バッファ(TLB)書き込み命令を実行することを備え、ここにおいて、前記TLBは、エントリページに対応するエントリ仮想アドレスとエントリページサイズ指標とを有する第1のエントリを含み、前記条件付きTLB書き込み命令は、入力ページに対応する入力仮想アドレスと入力ページサイズ指標とを含み、
前記条件付きTLB書き込み命令を実行することは、
前記エントリページサイズ指標と前記入力ページサイズ指標との比較に基づいて、算出ページサイズを決定することと、
前記入力ページが前記エントリページに重複するかを決定するために、前記算出ページサイズに基づいて、前記入力仮想アドレスと前記エントリ仮想アドレスとのマスクされた比較を実行することと、
前記入力ページが前記エントリページに重複しないと決定することに応答して、前記入力ページサイズ指標と前記入力仮想アドレスとを前記TLBの第2のエントリに書き込むことと、
を備える、方法。
[請求項17]
前記条件付きTLB書き込み命令を実行することが、前記入力ページが前記エントリページに重複すると決定することに応答して、書き込みエラーを示す実行結果を出力することをさらに備える、請求項16に記載の方法。
[請求項18]
前記実行結果が、前記入力ページに重複するエントリページに対応する、前記TLBのエントリの数を識別し、前記入力ページに重複する特定のエントリページに対応する、前記TLBの特定のエントリ、またはこれらの任意の組み合わせを識別する、請求項17に記載の方法。
[請求項19]
少なくとも1つのエントリを記憶するための手段と、前記少なくとも1つのエントリは、エントリページに対応するエントリ仮想アドレスとエントリページサイズ指標とを含み、
入力ページに対応する入力ページサイズ指標と入力仮想アドレスとを受け取るための手段と、
前記エントリページサイズ指標と前記入力ページサイズ指標との比較に基づいて、算出ページサイズを決定するための手段と、
前記入力ページが前記エントリページに重複するかを決定するために、前記算出ページサイズに基づいて、前記入力仮想アドレスと前記エントリ仮想アドレスとのマスクされた比較を実行するための手段と、
を備える、装置。
[請求項20]
重複検査命令を備え、
ここにおいて、前記重複検査命令は、入力ページに対応する入力仮想アドレスと入力ページサイズ指標とを含み、
前記重複検査命令は、変換索引バッファ(TLB)を含むプロセッサによって、
前記TLBのエントリのエントリページサイズ指標と前記入力ページサイズ指標との比較に基づいて、算出ページサイズを決定し、
前記入力ページがエントリページに重複するかを決定するために、前記算出ページサイズに基づいて、前記入力仮想アドレスと前記エントリのエントリ仮想アドレスとのマスクされた比較を実行し、
前記入力ページが前記エントリページに重複するかの決定に基づいて、実行結果を出力する
ように実行可能である、非一時的なプロセッサ読取可能な媒体。
[請求項21]
条件付き変換索引バッファ(TLB)書き込み命令を備え、
ここにおいて、前記条件付きTLB書き込み命令は、入力ページに対応する入力仮想アドレスと入力ページサイズ指標とを含み、
前記条件付きTLB書き込み命令は、エントリページに対応するエントリ仮想アドレスとエントリページサイズ指標とを有する第1のエントリを含むTLBを含むプロセッサによって、
前記エントリページサイズ指標と前記入力ページサイズ指標との比較に基づいて、算出ページサイズを決定し、
前記入力ページが前記エントリページに重複するかを決定するために、前記算出ページサイズに基づいて、前記入力仮想アドレスと前記エントリ仮想アドレスとのマスクされた比較を実行し、
前記入力ページが前記エントリページに重複しないと決定することに応答して、前記入力ページサイズ指標と前記入力仮想アドレスとを前記TLBの第2のエントリに書き込むように実行可能である、非一時的なプロセッサ読取可能な媒体。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
[請求項1]
入力仮想アドレスと入力ページサイズ指標とを変換索引バッファ(TLB)において受け取ることと、前記入力仮想アドレスおよび前記入力ページサイズ指標は、入力ページに対応し、
前記入力ページサイズ指標と前記TLBのエントリのエントリページサイズ指標との比較に基づいて、算出ページサイズを決定することと、ここにおいて、前記TLBの前記エントリは、エントリページに対応し、
前記入力ページが前記エントリページに重複するかを決定するために、前記算出ページサイズに基づいて、前記入力仮想アドレスと前記エントリのエントリ仮想アドレスとのマスクされた比較を実行することと、
を備える方法。
[請求項2]
前記算出ページサイズを決定することが、前記入力ページサイズ指標によって表される入力ページサイズおよび前記エントリページサイズ指標によって表されるエントリページサイズのうちの大きい方を前記算出ページサイズとして選択することを備える、請求項1に記載の方法。
[請求項3]
前記TLBの第2のエントリの第2のエントリページサイズ指標と前記入力ページサイズ指標との比較に基づいて、第2の算出ページサイズを決定することと、ここにおいて、前記TLBの前記第2のエントリは、第2のエントリページに対応し、
前記入力ページが前記第2のエントリページに重複するかを決定するために、前記第2の算出ページサイズに基づいて、前記入力仮想アドレスと前記第2のエントリの第2のエントリ仮想アドレスとの第2のマスクされた比較を実行することと、
をさらに備える、請求項1に記載の方法。
[請求項4]
前記算出ページサイズが、前記第2の算出ページサイズと異なる、請求項3に記載の方法。
[請求項5]
少なくとも1つのエントリを備える変換索引バッファ(TLB)と、前記少なくとも1つのエントリは、エントリページに対応するエントリ仮想アドレスとエントリページサイズ指標とを含み、
入力ページに対応する入力ページサイズ指標と入力仮想アドレスとを受け取るように構成された入力ロジックと、
前記エントリページサイズ指標および前記入力ページサイズ指標に少なくとも一部は基づいて、前記入力ページが前記エントリページに重複するかを決定するように構成された重複検査ロジックと、
を備える装置。
[請求項6]
前記重複検査ロジックが、
前記エントリページサイズ指標と前記入力ページサイズ指標との比較に基づいて、算出ページサイズを決定し、
前記入力ページが前記エントリページに重複するかを決定するために、前記算出ページサイズに基づいて、前記入力仮想アドレスと前記エントリ仮想アドレスとのマスクされた比較を実行する
ようにさらに構成される、請求項5に記載の装置。
[請求項7]
前記少なくとも1つのエントリが、アプリケーション空間識別子(ASID)とグローバル指標とをさらに含み、前記入力ロジックが、入力ASIDを受け取るようにさらに構成され、ここにおいて、前記重複検査ロジックが、
第1の値を有する前記グローバル指標に応答して、前記入力ページが前記エントリページに重複するかを決定する際に前記ASIDと前記入力ASIDとを比較し、
第2の値を有する前記グローバル指標に応答して、前記入力ページが前記エントリページに重複するかを決定する際に前記ASIDと前記入力ASIDとを比較することを控える
ようにさらに構成される、請求項6に記載の装置。
[請求項8]
前記入力ページサイズ指標が、第1のマスクによって表され、前記エントリページサイズ指標が、第2のマスクによって表される、請求項5に記載の装置。
[請求項9]
前記入力ページサイズ指標が、第1のページサイズによって表され、前記エントリページサイズ指標が、第2のページサイズによって表される、請求項5に記載の装置。
[請求項10]
前記少なくとも1つのエントリが、前記エントリ仮想アドレス、アプリケーション空間識別子(ASID)、キャッシュ可能指標、許可指標、グローバル指標、またはこれらの任意の組み合わせにマッピングされる物理アドレスを含む、請求項5に記載の装置。
[請求項11]
プロセッサにおいて重複検査命令を実行することを備え、ここにおいて、前記重複検査命令は、入力ページに対応する入力仮想アドレスと入力ページサイズ指標とを含み、前記重複検査命令を実行することは、
変換索引バッファ(TLB)のエントリのエントリページサイズ指標と前記入力ページサイズ指標との比較に基づいて、算出ページサイズを決定することと、
前記入力ページがエントリページに重複するかを決定するために、前記算出ページサイズに基づいて、前記入力仮想アドレスと前記エントリのエントリ仮想アドレスとのマスクされた比較を実行することと、
前記入力ページが前記エントリページに重複するかの前記決定に基づいて、実行結果を出力することと、
を含む、方法。
[請求項12]
前記実行結果が、ブール出力を備える、請求項11に記載の方法。
[請求項13]
前記実行結果が、前記入力ページに重複するエントリページに対応する、前記TLBのエントリの数を識別する、請求項11に記載の方法。
[請求項14]
前記実行結果が、前記入力ページに重複する特定のエントリページに対応する、前記TLBの特定のエントリを識別する、請求項11に記載の方法。
[請求項15]
前記重複検査命令を実行することが、前記実行結果を前記プロセッサのレジスタに記憶することをさらに備える、請求項11に記載の方法。
[請求項16]
TLBを含むプロセッサにおいて条件付き変換索引バッファ(TLB)書き込み命令を実行することを備え、ここにおいて、前記TLBは、エントリページに対応するエントリ仮想アドレスとエントリページサイズ指標とを有する第1のエントリを含み、前記条件付きTLB書き込み命令は、入力ページに対応する入力仮想アドレスと入力ページサイズ指標とを含み、
前記条件付きTLB書き込み命令を実行することは、
前記エントリページサイズ指標と前記入力ページサイズ指標との比較に基づいて、算出ページサイズを決定することと、
前記入力ページが前記エントリページに重複するかを決定するために、前記算出ページサイズに基づいて、前記入力仮想アドレスと前記エントリ仮想アドレスとのマスクされた比較を実行することと、
前記入力ページが前記エントリページに重複しないと決定することに応答して、前記入力ページサイズ指標と前記入力仮想アドレスとを前記TLBの第2のエントリに書き込むことと、
を備える、方法。
[請求項17]
前記条件付きTLB書き込み命令を実行することが、前記入力ページが前記エントリページに重複すると決定することに応答して、書き込みエラーを示す実行結果を出力することをさらに備える、請求項16に記載の方法。
[請求項18]
前記実行結果が、前記入力ページに重複するエントリページに対応する、前記TLBのエントリの数を識別し、前記入力ページに重複する特定のエントリページに対応する、前記TLBの特定のエントリ、またはこれらの任意の組み合わせを識別する、請求項17に記載の方法。
[請求項19]
少なくとも1つのエントリを記憶するための手段と、前記少なくとも1つのエントリは、エントリページに対応するエントリ仮想アドレスとエントリページサイズ指標とを含み、
入力ページに対応する入力ページサイズ指標と入力仮想アドレスとを受け取るための手段と、
前記エントリページサイズ指標と前記入力ページサイズ指標との比較に基づいて、算出ページサイズを決定するための手段と、
前記入力ページが前記エントリページに重複するかを決定するために、前記算出ページサイズに基づいて、前記入力仮想アドレスと前記エントリ仮想アドレスとのマスクされた比較を実行するための手段と、
を備える、装置。
[請求項20]
重複検査命令を備え、
ここにおいて、前記重複検査命令は、入力ページに対応する入力仮想アドレスと入力ページサイズ指標とを含み、
前記重複検査命令は、変換索引バッファ(TLB)を含むプロセッサによって、
前記TLBのエントリのエントリページサイズ指標と前記入力ページサイズ指標との比較に基づいて、算出ページサイズを決定し、
前記入力ページがエントリページに重複するかを決定するために、前記算出ページサイズに基づいて、前記入力仮想アドレスと前記エントリのエントリ仮想アドレスとのマスクされた比較を実行し、
前記入力ページが前記エントリページに重複するかの決定に基づいて、実行結果を出力する
ように実行可能である、非一時的なプロセッサ読取可能な媒体。
[請求項21]
条件付き変換索引バッファ(TLB)書き込み命令を備え、
ここにおいて、前記条件付きTLB書き込み命令は、入力ページに対応する入力仮想アドレスと入力ページサイズ指標とを含み、
前記条件付きTLB書き込み命令は、エントリページに対応するエントリ仮想アドレスとエントリページサイズ指標とを有する第1のエントリを含むTLBを含むプロセッサによって、
前記エントリページサイズ指標と前記入力ページサイズ指標との比較に基づいて、算出ページサイズを決定し、
前記入力ページが前記エントリページに重複するかを決定するために、前記算出ページサイズに基づいて、前記入力仮想アドレスと前記エントリ仮想アドレスとのマスクされた比較を実行し、
前記入力ページが前記エントリページに重複しないと決定することに応答して、前記入力ページサイズ指標と前記入力仮想アドレスとを前記TLBの第2のエントリに書き込むように実行可能である、非一時的なプロセッサ読取可能な媒体。
Claims (21)
- 変換索引バッファを管理する方法であって、前記方法は、
入力仮想アドレスと入力ページサイズ指標とを変換索引バッファ(TLB)において受け取ることと、前記入力仮想アドレスおよび前記入力ページサイズ指標は、入力ページに対応し、
前記入力ページサイズ指標によって表される入力ページサイズと前記TLBのエントリのエントリページサイズ指標によって表されるエントリページサイズとのうちの大きい方を決定することと、ここにおいて、前記TLBの前記エントリは、エントリページに対応し、
前記入力ページサイズと前記エントリページサイズとのうちの前記決定された大きい方を第1の選択されたページサイズとして選択することと、
前記第1の選択されたページサイズに基づいて、前記入力仮想アドレスと前記エントリのエントリ仮想アドレスとの第1のマスクされた比較を実行することと、
前記第1のマスクされた比較を実行した後、前記TLBが未調査のエントリを含む決定に基づいて、前記TLBによって、第2のマスクされた比較を選択的に実行することと、
を備える方法。 - 前記第1のマスクされた比較を実行することが、
前記入力仮想アドレスと前記エントリ仮想アドレスとの両方の、マスクされるべきビットの数を決定することと、前記ビットの数は、前記第1の選択されたページサイズに基づき、
前記入力ページが前記エントリページに重複するかを決定することと
を含む、請求項1に記載の方法。 - 前記TLBが前記未調査のエントリを含むと決定した後で、
前記入力ページサイズと第2のエントリページサイズとのうちの大きい方を識別するために、前記TLBの第2のエントリの第2のエントリページサイズ指標と前記入力ページサイズ指標とを比較することと、ここにおいて、前記TLBの前記第2のエントリは、第2のエントリページに対応し、
前記入力ページサイズと前記第2のエントリページサイズとのうちの前記識別された大きい方を第2の選択されたページサイズとして選択することと、
前記入力ページが前記第2のエントリページに重複するかを決定するために、前記第2の選択されたページサイズに基づいて、前記入力仮想アドレスと前記第2のエントリの第2のエントリ仮想アドレスとの前記第2のマスクされた比較を実行することと、ここにおいて、前記第2のマスクされた比較を実行することは、前記第2の選択されたページサイズに基づいて、前記入力仮想アドレスと前記第2のエントリ仮想アドレスとの両方の、マスクされるべきビットの第2の数を決定することを含む、
をさらに備える、請求項1に記載の方法。 - 前記第1の選択されたページサイズは、前記第2の選択されたページサイズと異なり、前記第1の選択されたページサイズは、前記入力ページサイズに対応し、前記第2の選択されたページサイズは、前記第2のエントリページサイズに対応する、請求項3に記載の方法。
- 前記第2のエントリページサイズ指標と前記入力ページサイズ指標とを比較することに先立って、前記第2のエントリページを前記TLBの未調査のエントリとして識別することをさらに備える、請求項3に記載の方法。
- 重複検査命令を実行するように構成されたプロセッサと、前記重複検査命令は、入力ページに対応する入力ページサイズ指標と入力仮想アドレスとを含み、前記プロセッサは、
少なくとも1つのエントリを備える変換索引バッファ(TLB)と、前記少なくとも1つのエントリは、エントリページに対応するエントリ仮想アドレスとエントリページサイズ指標とを含み、
前記入力ページサイズ指標と前記入力仮想アドレスとを受け取るように構成された入力ロジックと、
前記入力ページサイズ指標によって表される入力ページサイズと前記エントリページサイズ指標によって表されるエントリページサイズとのうちの大きい方を決定し、
前記入力ページサイズと前記エントリページサイズとのうちの前記決定された大きい方を選択されたページサイズとして選択し、
前記選択されたページサイズに基づいて、前記重複検査命令の結果を決定し、ここにおいて、前記結果は、前記入力ページが前記エントリページに重複するかに基づき、
前記重複検査の前記結果が決定された後で、前記TLBが、前記TLBは未調査のエントリを含む決定に基づいて、第2の重複検査の第2の結果を選択的に決定する
ように構成された重複検査ロジックと
を含み、
前記重複検査ロジックから1つまたは複数の結果を受け取るように構成されたレジスタと
を備える装置。 - 前記少なくとも1つのエントリが、アプリケーション空間識別子(ASID)とグローバル指標とをさらに含み、前記入力ロジックが、入力ASIDを受け取るようにさらに構成され、ここにおいて、前記重複検査ロジックが、
第1の値を有する前記グローバル指標に応答して、前記ASIDと前記入力ASIDとの比較に基づいて、前記入力ページが前記エントリページに重複するかを決定し、
第2の値を有する前記グローバル指標に応答して、前記ASIDと前記入力ASIDととは無関係に、前記入力ページが前記エントリページに重複するかを決定する
ようにさらに構成される、請求項6に記載の装置。 - 前記入力ページサイズ指標が、第1のマスクまたは前記入力ページサイズによって表され、前記エントリページサイズ指標が、第2のマスクまたは前記エントリページサイズによって表される、請求項6に記載の装置。
- 前記少なくとも1つのエントリが、前記エントリ仮想アドレス、アプリケーション空間識別子(ASID)、キャッシュ可能指標、許可指標、グローバル指標、またはこれらの任意の組み合わせにマッピングされる物理アドレスを含む、請求項6に記載の装置。
- 前記重複検査ロジックは、前記プロセッサに記憶された専用の重複検査ロジックを含む、請求項6に記載の装置。
- 重複検査命令を実行する方法であって、前記方法は、
プロセッサにおいて重複検査命令を実行することと、ここにおいて、前記重複検査命令は、入力ページに対応する入力仮想アドレスと入力ページサイズ指標とを含み、前記重複検査命令を実行することは、
前記入力ページサイズ指標によって表される入力ページサイズと変換索引バッファ(TLB)のエントリのエントリページサイズ指標によって表されるエントリページサイズとのうちの大きい方を決定することと、
前記入力ページサイズと前記エントリページサイズとのうちの前記決定された大きい方を第1の選択されたページサイズとして選択することと、
前記入力ページがエントリページに重複するかを決定するために、前記第1の選択されたページサイズに基づいて、前記入力仮想アドレスと前記エントリのエントリ仮想アドレスとのマスクされた比較を実行することと、
前記マスクされた比較を実行した後、前記TLBが未調査のエントリを含む決定に基づいて、前記TLBによって、第2のマスクされた比較を選択的に実行することと、
前記入力ページが前記エントリページに重複するかの前記決定に基づいて、および前記TLBが前記未調査のエントリを含まない前記決定に基づいて、実行結果を出力することと
を含み、
前記実行結果に基づいて、前記TLBを選択的に更新することと、ここにおいて、前記TLBを選択的に更新することは、前記実行結果が重複を示さないことに応答して、前記入力ページサイズ指標と前記入力仮想アドレスとを前記TLBの第2のエントリに書き込むことを含む、
を備える、方法。 - 前記実行結果に基づいて、前記TLBを選択的に更新することをさらに備え、前記TLBを選択的に更新することは、前記実行結果が重複を示すことに応答して前記TLBを維持することを含み、前記実行結果は、ブール出力を備える、請求項11に記載の方法。
- 前記プロセッサは、前記重複検査命令を実行するために専用の重複検査ロジックを含み、前記重複検査命令を実行することは、前記実行結果を前記プロセッサのレジスタに記憶することをさらに備える、請求項11に記載の方法。
- 条件付き変換索引バッファ書き込み命令を実行する方法であって、前記方法は、
TLBを含むプロセッサにおいて条件付き変換索引バッファ(TLB)書き込み命令を実行することを備え、ここにおいて、前記TLBは、エントリページに対応するエントリ仮想アドレスとエントリページサイズ指標とを有する第1のエントリを含み、前記条件付きTLB書き込み命令は、入力ページに対応する入力仮想アドレスと入力ページサイズ指標とを含み、
前記条件付きTLB書き込み命令を実行することは、
前記入力ページサイズ指標によって表される入力ページサイズと前記エントリページサイズ指標によって表されるエントリページサイズとのうちの大きい方を決定することと、
前記入力ページサイズと前記エントリページサイズとのうちの前記決定された大きい方を第1の選択されたページサイズとして選択することと、
前記入力ページが前記エントリページに重複するかを決定するために、前記第1の選択されたページサイズに基づいて、前記入力仮想アドレスと前記エントリ仮想アドレスとのマスクされた比較を実行することと、
前記マスクされた比較を実行した後、前記TLBが未調査のエントリを含む決定に基づいて、前記TLBによって、第2のマスクされた比較を選択的に実行することと、
前記入力ページが前記エントリページに重複しないと決定することと、前記TLBが前記未調査のエントリを含まないと決定することとに応答して、前記入力ページサイズ指標と前記入力仮想アドレスとを前記TLBの第2のエントリに書き込むことと、
を備える、方法。 - 前記条件付きTLB書き込み命令を実行することが、前記入力ページが前記エントリページに重複すると決定することに応答して、書き込みエラーを示す実行結果を出力することをさらに備え、前記実行結果が、前記入力ページに重複する1つまたは複数のエントリページに対応する、前記TLBのエントリの数を識別し、前記入力ページに重複する特定のエントリページに対応する、前記TLBの特定のエントリ、またはこれらの組み合わせを識別する、請求項14に記載の方法。
- 重複検査命令を備え、
ここにおいて、前記重複検査命令は、入力ページに対応する入力仮想アドレスと入力ページサイズ指標とを含み、
前記重複検査命令は、変換索引バッファ(TLB)を含むプロセッサによって、
前記入力ページサイズ指標によって表される入力ページサイズと前記TLBのエントリページのエントリページサイズ指標によって表されるエントリページサイズとのうちの大きい方を決定し、
前記入力ページサイズと前記エントリページサイズとのうちの前記決定された大きい方を選択されたページサイズとして選択し、
前記入力ページが前記エントリページに重複するかを決定するために、前記選択されたページサイズに基づいて、前記入力仮想アドレスと前記エントリのエントリ仮想アドレスとのマスクされた比較を実行し、
前記マスクされた比較が実行された後、前記TLBが未調査のエントリを含む決定に基づいて、前記TLBによって、第2のマスクされた比較を選択的に実行し、
前記マスクされた比較に部分的に基づいて、実行結果を出力する
ように実行可能である、非一時的なプロセッサ読取可能な媒体。 - 前記実行結果が、前記入力ページに重複する少なくとも1つのエントリページに対応する、前記TLBの少なくとも1つのエントリを識別する、請求項16に記載の非一時的なプロセッサ読取可能な媒体。
- 条件付き変換索引バッファ(TLB)書き込み命令を備え、
ここにおいて、前記条件付きTLB書き込み命令は、入力ページに対応する入力仮想アドレスと入力ページサイズ指標とを含み、
前記条件付きTLB書き込み命令は、エントリページに対応するエントリ仮想アドレスとエントリページサイズ指標とを有する第1のエントリを含むTLBを含むプロセッサによって、
前記入力ページサイズ指標によって表される入力ページサイズと前記エントリページサイズ指標によって表されるエントリページサイズとのうちの大きい方を決定し、
前記入力ページサイズと前記エントリページサイズとのうちの前記決定された大きい方を選択されたページサイズとして選択し、
前記入力ページが前記エントリページに重複するかを決定するために、前記選択されたページサイズに基づいて、前記入力仮想アドレスと前記エントリ仮想アドレスとのマスクされた比較を実行し、
前記マスクされた比較が実行された後、前記TLBが未調査のエントリを含む決定に基づいて、前記TLBによって、第2のマスクされた比較を選択的に実行し、
前記入力ページが前記エントリページに重複しないと決定することと、前記TLBが前記未調査のエントリを含まないと決定することとに応答して、前記入力ページサイズ指標と前記入力仮想アドレスとを前記TLBの第2のエントリに書き込む
ように実行可能である、非一時的なプロセッサ読取可能な媒体。 - 前記条件付きTLB書き込み命令は、前記プロセッサによって、前記入力ページが前記エントリページに重複すると決定することに応答して、前記TLB内の前記エントリページを維持するようにさらに実行可能である、請求項18に記載の非一時的なプロセッサ読取可能な媒体。
- 命令を変換索引バッファ(TLB)において受け取るための手段と、前記命令は、入力ページに対応する入力ページサイズ指標と入力仮想アドレスとを含み、
前記TLBのエントリページのエントリページサイズ指標と前記入力ページサイズ指標とのうちの大きい方を決定するための手段、
前記入力ページサイズ指標と前記エントリページサイズ指標とのうちの前記決定された大きい方を選択されたページサイズ指標として選択するための手段と、
前記選択されたページサイズ指標に基づいて、前記入力ページが前記エントリぺージに重複するかを決定するために、前記入力仮想アドレスと前記エントリページに対応するエントリ仮想アドレスとの第1のマスクされた比較を実行し、前記第1のマスクされた比較が実行された後、前記TLBが未調査のエントリを含む決定に基づいて、前記TLBによって、第2のマスクされた比較を選択的に実行するための手段と
を備える、装置。 - 前記命令は、重複検査命令または条件付き変換索引バッファ(TLB)書き込み命令である、請求項20に記載の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/741,981 US9208102B2 (en) | 2013-01-15 | 2013-01-15 | Overlap checking for a translation lookaside buffer (TLB) |
US13/741,981 | 2013-01-15 | ||
PCT/US2014/011027 WO2014113286A2 (en) | 2013-01-15 | 2014-01-10 | Overlap checking for a translation lookaside buffer (tlb) |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016507096A JP2016507096A (ja) | 2016-03-07 |
JP2016507096A5 true JP2016507096A5 (ja) | 2016-04-14 |
JP5922317B2 JP5922317B2 (ja) | 2016-05-24 |
Family
ID=50030520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015552800A Expired - Fee Related JP5922317B2 (ja) | 2013-01-15 | 2014-01-10 | 変換索引バッファ(tlb)のための重複検査 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9208102B2 (ja) |
EP (1) | EP2946297B1 (ja) |
JP (1) | JP5922317B2 (ja) |
KR (1) | KR101623465B1 (ja) |
CN (1) | CN104885063B (ja) |
WO (1) | WO2014113286A2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2536205A (en) * | 2015-03-03 | 2016-09-14 | Advanced Risc Mach Ltd | Cache maintenance instruction |
US10372618B2 (en) * | 2016-10-14 | 2019-08-06 | Arm Limited | Apparatus and method for maintaining address translation data within an address translation cache |
US10853262B2 (en) | 2016-11-29 | 2020-12-01 | Arm Limited | Memory address translation using stored key entries |
US10083126B2 (en) * | 2016-12-06 | 2018-09-25 | Arm Limited | Apparatus and method for avoiding conflicting entries in a storage structure |
US11106596B2 (en) * | 2016-12-23 | 2021-08-31 | Advanced Micro Devices, Inc. | Configurable skewed associativity in a translation lookaside buffer |
US10866904B2 (en) | 2017-11-22 | 2020-12-15 | Arm Limited | Data storage for multiple data types |
US10831673B2 (en) | 2017-11-22 | 2020-11-10 | Arm Limited | Memory address translation |
US10929308B2 (en) * | 2017-11-22 | 2021-02-23 | Arm Limited | Performing maintenance operations |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4654790A (en) * | 1983-11-28 | 1987-03-31 | Amdahl Corporation | Translation of virtual and real addresses to system addresses |
JPH06202954A (ja) * | 1992-12-28 | 1994-07-22 | Fujitsu Ltd | タグ比較回路及びこれを用いたトランスレーション・ルック・アサイド・バッファ |
US5765209A (en) * | 1993-09-23 | 1998-06-09 | Hewlett-Packard Co. | Method and apparatus to eliminate redundant mapping in a TLB utilizing variable sized pages |
JPH08329687A (ja) * | 1995-06-05 | 1996-12-13 | Hitachi Ltd | 半導体集積回路 |
WO1996012231A1 (en) | 1994-10-14 | 1996-04-25 | Silicon Graphics, Inc. | A translation buffer for detecting and preventing conflicting virtual addresses from being stored therein |
US5630087A (en) | 1994-11-02 | 1997-05-13 | Sun Microsystems, Inc. | Apparatus and method for efficient sharing of virtual memory translations |
US6233652B1 (en) | 1998-10-30 | 2001-05-15 | Intel Corporation | Translation lookaside buffer for multiple page sizes |
US6560689B1 (en) | 2000-03-31 | 2003-05-06 | Intel Corporation | TLB using region ID prevalidation |
US6549997B2 (en) * | 2001-03-16 | 2003-04-15 | Fujitsu Limited | Dynamic variable page size translation of addresses |
US6643759B2 (en) * | 2001-03-30 | 2003-11-04 | Mips Technologies, Inc. | Mechanism to extend computer memory protection schemes |
US20070005932A1 (en) * | 2005-06-29 | 2007-01-04 | Intel Corporation | Memory management in a multiprocessor system |
US8195916B2 (en) | 2009-03-04 | 2012-06-05 | Qualcomm Incorporated | Apparatus and method to translate virtual addresses to physical addresses in a base plus offset addressing mode |
US8635428B2 (en) | 2009-12-09 | 2014-01-21 | Oracle America, Inc. | Preventing duplicate entries in a non-blocking TLB structure that supports multiple page sizes |
JP5459006B2 (ja) | 2010-03-24 | 2014-04-02 | 富士通株式会社 | メモリ管理装置、メモリ管理方法及びメモリ管理プログラム |
US20110295587A1 (en) | 2010-06-01 | 2011-12-01 | Eeckhout Lieven | Methods and systems for simulating a processor |
-
2013
- 2013-01-15 US US13/741,981 patent/US9208102B2/en active Active
-
2014
- 2014-01-10 CN CN201480003984.7A patent/CN104885063B/zh not_active Expired - Fee Related
- 2014-01-10 WO PCT/US2014/011027 patent/WO2014113286A2/en active Application Filing
- 2014-01-10 JP JP2015552800A patent/JP5922317B2/ja not_active Expired - Fee Related
- 2014-01-10 EP EP14702142.2A patent/EP2946297B1/en active Active
- 2014-01-10 KR KR1020157017790A patent/KR101623465B1/ko active IP Right Grant
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016507096A5 (ja) | ||
US9411745B2 (en) | Multi-core heterogeneous system translation lookaside buffer coherency | |
RU2016126975A (ru) | Связанное с выбранными архитектурными функциями администрирование обработки | |
JP2017526071A5 (ja) | ||
JP2013519965A5 (ja) | ||
JP2016535373A5 (ja) | ||
US20170220485A1 (en) | Routing direct memory access requests in a virtualized computing environment | |
JP2019504403A5 (ja) | ||
RU2016109436A (ru) | Селективное обеспечение соблюдения целостности кода, обеспечиваемое менеджером виртуальной машины | |
JP2014067445A5 (ja) | ||
JP2016517992A5 (ja) | ||
JP2018503154A5 (ja) | ||
US9286248B2 (en) | Methods and systems for moving and resizing I/O activity logs | |
JP2016534486A5 (ja) | ||
JP5922317B2 (ja) | 変換索引バッファ(tlb)のための重複検査 | |
US11113321B2 (en) | Method and device for managing map data of a digital map for a navigation apparatus | |
JP2018537800A5 (ja) | ||
JP2020531951A5 (ja) | ||
JP2016515265A5 (ja) | ||
JP2017510925A5 (ja) | ||
JP2018528515A5 (ja) | ||
JP2015523668A5 (ja) | ||
US20140380319A1 (en) | Address translation/specification field for hardware accelerator | |
JP2016513836A5 (ja) | ||
GB2577468A (en) | Sharing virtual and real translations in a virtual cache |