JP3274859B2 - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JP3274859B2 JP3274859B2 JP2000547548A JP2000547548A JP3274859B2 JP 3274859 B2 JP3274859 B2 JP 3274859B2 JP 2000547548 A JP2000547548 A JP 2000547548A JP 2000547548 A JP2000547548 A JP 2000547548A JP 3274859 B2 JP3274859 B2 JP 3274859B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- associative
- unit
- tlb
- stored
- 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
Links
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/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
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)
Description
し、特に半導体集積回路によるデータ処理、中でも連想
記憶を用いるデータ処理に関する。
ュータ技術の民生製品への適応が急速に進み、従来は主
として高級なワークステーションやパーソナルコンピュ
ーター等において使用されていた仮想メモリ管理機構
が、テレビ受像器にCATVやインターネットを接続す
るための装置であるセットトップボックス等の民生機器
においても、複数のタスク処理に対応するオペレーショ
ン・システム(OS)に採用され始めている。
いて主記憶として用いる、高速な半導体メモリを効率的
に用いるために用いられる技術であり、ハードディスク
などの、一般に速度は劣るが大容量である外部記憶装置
をメモリー代わりに利用するものである。仮想メモリ管
理機構によれば、実際に搭載している主記憶(メインメ
モリ)の容量が少ない場合でも、実行に大量のメモリを
要するソフトウェアを起動したり、大量のデータを迅速
に扱ったりすることが可能となる。
場合に、主記憶に格納された内容の一部を外部記憶装置
に書き出し、必要に応じてまた読み込むということが行
われる。仮想メモリ管理機構においては、物理的なメモ
リ容量よりも大きな、論理的なアドレス空間を実現する
ものであり、この論理的なアドレス空間を論理空間とい
い、物理的なメモリ空間を物理空間という。論理空間上
での位置は論理アドレスにより、物理空間上での位置は
物理アドレスにより特定されるので、データ処理装置に
おいて、仮想メモリ管理を行う為には、かかる論理アド
レスと物理アドレスとのアドレス変換機構をサポートす
る必要がある。
複数のタスク(コンピュータが行う仕事の単位)が実行
されるものであるが、タスクが切り替わるごとに、主記
憶に格納されたそのタスクに関する内容のすべてを書き
出し/読み込みすることは、処理速度を低下させること
となるため、論理的なタスク空間をページという単位に
分割し、ページ単位で論理空間と物理空間をマッピング
する、すなわち対応づけることが行われ、これにより効
率の向上が図られている。
テーブル(ページテーブル)を外部メモリ(主記憶等)
上に用意しておき、OSが必要に応じてこの変換テーブ
ルを参照して検索を行うものであるが、かかる処理の処
理負担は大きなものであるため、仮想メモリ管理機構を
利用することで、データ処理装置の処理速度が低下する
場合が多い。そこで、アドレス変換処理を高速に実現す
るために、頻繁に使用する論理アドレスと物理アドレス
との対を、より高速なメモリに格納する、すなわちキャ
ッシュするアドレス変換バッファ(Translation Look-a
side Buffer:以降TLBと記す)が用いられる。TL
Bは、ある項目をキー項目として入力することにより、
連想関係にある連想項目を取得することのできる連想記
憶装置として構成されることが多い。
保持するデータ領域と、データの格納された位置を示す
アドレスやアクセス履歴等を保持するタグ領域とからな
り、いずれの領域も複数のブロックに分割して管理され
る。データ領域を構成するブロックをラインと呼び、キ
ャッシュメモリにおけるデータの入出力はライン単位で
行われるものである。
と、キャッシュメモリのラインとを対応づける方式とし
ては、セット・アソシアティブ方式、ダイレクトマッピ
ング方式、およびフル・アソシアティブ方式がある。セ
ット・アソシアティブ方式は、キャッシュメモリと主記
憶とを複数のセット(ラインの集合)に分割し、主記憶
上のデータは、各セット中の定められたラインにしか格
納できないものとする方式である。そして、セット数が
nのとき、nウェイ・セット・アソシアティブ方式と呼
ぶ。ダイレクト・マッピング方式は、1ウェイ・セット
・アソシアティブに相当するものであり、キャッシュメ
モリ全体を一つのセットとして扱うものである。一方、
データを任意のラインに格納してよいものとするのがフ
ル・アソシアティブ方式である。
トする率を考察すると、置換が起きる可能性が高いダイ
レクト・マッピング方式はミスヒットが多くヒット率が
低いのに比較して、フル・アソシアティブ方式はヒット
率が高くなる。またセット・アソシアティブ方式では、
ヒット率は両方式の中間となる。一般にキャッシュメモ
リの管理には、セット・アソシアティブ方式が採用され
るものであるが、TLBの場合には、ミスヒットによる
処理効率の低下の影響が大きいので、ヒット率の高いフ
ル・アソシアティブ方式の採用が望ましいこととなる。
TLBを含むキャッシュメモリの内容が更新されるもの
である。以下に、特開平8−320829号公報に示さ
れた、かかる更新時における、従来の技術によるTLB
管理方法を説明する。更新時には、TLBエントリの無
効化処理が必要となるが、従来の技術においては、特定
ページに関するエントリの無効化処理において、MOV
命令を用いてIOマップされたTLBのウェイを指定し
た検索を行うものである。
では、TLBの各ウェイのマップ先番地を0xfn00
0000(n=0〜7)、論理ページ番号を0xbee
f0とすると、以下のプログラムで実現できる。 1)MOV “0xbeef0000” R0 2)MOV “0xf0000080” R1 3)MOV “0x01000000” R2 4)MOV R0、(R1) 5)ADD R2、R1
(0xbeef0)および有効フラグ(0=無効)をR
0にセットし、2)において、マップ先アドレス(0x
f0)および比較を行うためのフラグ(0x80)をR
1にセットし、3)において、ウェイ毎のマップ先アド
レスのオフセット(0x01000000)をR2にセ
ットし、4)において、R0の内容(0xbeef00
00)をR1の示すアドレス(0xf0000080)
へ書き込みを行う、論理ページ番号(0xbeef0)
の比較結果が一致した場合、R0の内容(0xbeef
0000)がTLBの該当ウェイに書き込まれ、ヒット
しない場合は書き込みは行われない。5)において、マ
ップ先アドレスにオフセットを加え次のウェイのマップ
先アドレスを作成し、4)へ戻りTLBのウェイ数だけ
繰り返す。
では、各ウェイごとにTLBエントリの内容を検索する
ものである。従って、無効化処理が完了するまでのステ
ップ数はウェイ数に依存するものとなり、ウェイ数が1
の場合は、上記の1)〜5)の5ステップであり、ウェ
イ数がnの場合は、2n+2ステップを必要とすること
となる。上述の特開平8−320829号公報において
は2ウェイ又は4ウェイのセット・アソシアティブ方式
の場合が示されているものであって、このようにウェイ
数のあまり大きくない場合には処理効率等の面での問題
はないが、ウェイ数が大きくなると必要なステップ数が
増大し、処理のために要する時間も増大する。前述のよ
うにフル・アソシアティブ方式を採用するTLBの場合
には、エントリ数とウェイ数とが等しくなり、ウェイ数
に比例して処理時間が増大することが問題となってい
た。
あり、TLBなどの連想メモリの検索処理を高速に行い
得るデータ処理装置、およびデータ処理方法を提供する
ことを目的とする。上記目的を達成するため、本発明
の、請求項1にかかるデータ処理装置は、第1の情報と
第2の情報との対の複数を記憶し、特定の第1の情報を
入力されると、当該第1の情報と対をなす第2の情報を
出力する連想処理を行う連想記憶装置を用いるデータ処
理装置であって、上記第1の情報を保持する第1情報保
持手段と、上記第2の情報を保持する第2情報保持手段
と、上記第1情報保持手段が保持する第1の情報を上記
連想記憶装置に入力して連想処理を実行させ、上記入力
した第1の情報が、上記連想記憶装置において記憶する
いずれかの第1の情報と一致する場合には、上記連想処
理の結果出力される、上記入力した第1の情報と対をな
す第2の情報を上記第2情報保持手段において保持する
ように制御する連想情報制御手段と、上記連想記憶装置
に記憶された上記情報の対のうち、一の対を特定する情
報を保持する情報対特定情報保持手段と、上記連想記憶
装置を用いたデータ処理を制御する中央処理手段と、を
備えてなり、上記連想情報制御手段は、上記中央処理手
段による上記第2情報保持手段が保持する情報の読み出
しに対応して、上記第1情報保持手段が保持する第1の
情報を上記連想記憶装置に入力して連想処理を実行さ
せ、上記入力した第1の情報が、上記連想記憶装置にお
いて記憶するいずれかの第1の情報と一致する場合に
は、上記連想処理の結果出力される、上記入力した第1
の情報と対をなす第2の情報を上記第2情報保持手段に
おいて保持するように制御するとともに、上記一致した
第1の情報と第2の情報との対を特定する情報を上記情
報対特定情報保持手段において保持させる、という制御
を行い、また、上記第1情報保持手段、および上記第2
情報保持手段は、上記中央処理手段が管理するアドレス
空間上に配置されるものであり、上記アドレス空間にお
ける配置位置を特定する情報を指定することによって、
情報の入出力を行い得るものである。
は、第1の情報と第2の情報との対の複数を記憶し、特
定の第1の情報を入力されると、当該第1の情報と対を
なす第2の情報を出力する連想処理を行う連想記憶装置
を用いるデータ処理装置であって、上記第1の情報を保
持する第1情報保持手段と、上記第2の情報を保持する
第2情報保持手段と、上記第1情報保持手段が保持する
第1の情報を上記連想記憶装置に入力して連想処理を実
行させ、上記入力した第1の情報が、上記連想記憶装置
において記憶するいずれかの第1の情報と一致する場合
には、上記連想処理の結果出力される、上記入力した第
1の情報と対をなす第2の情報を上記第2情報保持手段
において保持するように制御する連想情報制御手段と、
上記連想記憶装置に記憶された上記情報の対のうち、一
の対を特定する情報を保持する情報対特定情報保持手段
と、上記連想記憶装置を用いたデータ処理を制御する中
央処理手段と、を備えてなり、上記連想情報制御手段
は、上記中央処理手段が出力する情報の、上記第2情報
保持手段に対する書き込みに対応して、上記第1情報保
持手段に保持されている情報と上記第2情報保持手段に
保持されている情報とを、上記情報対特定情報保持手段
が指し示す上記連想処理装置内の一つの対に対して書き
込む、という制御を行い、また、上記第1情報保持手
段、および上記第2情報保持手段は、上記中央処理手段
が管理するアドレス空間上に配置されるものであり、上
記アドレス空間における配置位置を特定する情報を指定
することによって、情報の入出力を行い得るものであ
る。
は、請求項1又は請求項2に記載のデータ処理装置にお
いて、上記連想記憶装置はアドレス変換テーブルであ
り、上記第1の情報は論理ページアドレス、上記第2の
情報は物理ページアドレスであるものである。また、請
求項4にかかるデータ処理装置は、請求項1又は請求項
2に記載のデータ処理装置において、上記連想記憶装置
はキャッシュメモリであり、上記第1の情報はアドレ
ス、上記第2の情報は命令、またはオペランドのデータ
であるものである。また、請求項5にかかるデータ処理
装置は、請求項1又は請求項2に記載のデータ処理装置
において、上記連想記憶装置は分岐履歴バッファであ
り、上記第1の情報は分岐命令のアドレス、上記第2の
情報は分岐先命令のアドレスであるものである。
は、第1の情報と第2の情報で構成された情報対の複数
を記憶するメモリ部と、上記第1の情報を保持する第1
情報保持手段と、上記第2の情報を保持する第2情報保
持手段と、上記メモリ部に記憶された上記情報対のう
ち、一の対を特定する情報を保持する情報対特定情報保
持手段と、外部制御手段による上記第2情報保持手段が
保持する情報の読み出しに対応して、上記第1情報保持
手段が保持する第1の情報を上記メモリ部に入力して連
想処理を実行させ、上記入力した第1の情報が、上記メ
モリ部において記憶するいずれかの第1の情報と一致す
る場合には、上記連想処理の結果出力される、上記入力
した第1の情報と対をなす第2の情報を上記第2情報保
持手段において保持するように制御するとともに、上記
一致した第1の情報と第2の情報との対を特定する情報
を、上記情報対特定情報保持手段において保持させる、
という制御を行う連想情報制御手段と、を備えるもので
ある。
は、請求項6に記載のデータ処理装置において、上記連
想処理の一致または不一致の結果を記憶する第3情報保
持手段をさらに備えるものである。また、請求項8にか
かるデータ処理装置は、第1の情報と第2の情報で構成
された情報対を複数記憶するメモリ部と、上記第1の情
報を保持する第1情報保持手段と、上記第2の情報を保
持する第2情報保持手段と、上記メモリ部に記憶された
上記情報対のうち、一の対を特定する情報を保持する情
報対特定情報保持手段と、外部制御手段の、上記第2情
報保持手段に対する書き込みに対応して、上記第1情報
保持手段に保持されている情報と上記第2情報保持手段
で保持されている情報とを、上記情報対特定情報保持手
段で指し示す上記メモリ部内の一つのエントリーに対し
て書き込むという制御を行う連想情報制御手段と、を備
えるものである。
用い、高速に検索処理を行い得るものである。図1は、
本実施の形態のデータ処理装置が備えるアドレス変換バ
ッファ(TLB)の構成を示すブロック図である。図2
は、図1に示すTLBが備えるTLBメモリ部の構成を
示す図である。図6は、図1に示すTLBを備える、本
実施の形態によるデータ処理装置の構成を示すブロック
図である。図3〜5、および図7〜10は、本実施の形
態のデータ処理装置におけるTLB管理を説明するため
の図である。
るTLBの構成を説明する。図示するように、本実施の
形態におけるTLB1は、TLB制御部2、TLBメモ
リ部3、リプレースポインタレジスタ(RP)8、ペー
ジテーブルエントリ上位レジスタ(PTE−Hi)9、
ページテーブルエントリ下位レジスタ(PTE−Lo)
10、セレクタ回路11a〜d、トライステートバッフ
ァ12a〜c、およびインクリメンタ15を備え、IO
バス58により外部と接続している。TLBメモリ部3
は、エンコーダ部4、タブ部5、デコーダ部6、および
データ部7を内包している。また、IOバス58は、ア
ドレスバスとデータバスとから構成され、アドレスバス
はアドレスを示す信号ID−ADR58aを伝送し、デ
ータバスはデータ58bを伝送する。
号の入出力、処理、保持を制御する。TLBメモリ部3
は、論理ページ番号、物理ページ番号、およびページ属
性を保持する。RP8は、リプレースエントリ番号を保
持する。PTE−Hi9は、TLBミスを起こした論理
ページ番号、または新たに登録する論理ページ番号を保
持する。PTE−Lo10は、新たに登録する物理ペー
ジ番号、およびページ属性を保持する。
る論理ページ情報を保持するPTE−Hi9は第1情報
保持手段として、第2の情報である物理ページ番号を保
持するPTE−Lo10は第2情報保持手段として、そ
して、論理ページアドレスと物理ページアドレスとの対
を特定するリプレースエントリ番号を保持するRP8は
情報対特定情報保持手段として機能する。また、TLB
制御部2は、連想処理と情報保持を制御する連想情報制
御手段として機能する。
取得するデータであるIO−DATA58b、ヒットし
たエントリの番号(hit−rp)21、および現在の
リプレースポインタに“1”を加算した番号(next
−rp)を入力し、そのうちのいずれか1つをTLB制
御部2の指示に従って選択する。セレクタ回路11bは
IO−DATA58bと、TLBミスを起こした論理ペ
ージ番号(tout)23とを入力し、そのうちのいず
れか1つをTLB制御部2の指示に従って選択する。セ
レクタ回路11cは、論理アドレスvaに含まれる論理
ページ番号と、TLBメモリ部3から出力されるdou
t28に含まれる物理ページ番号とを入力し、そのうち
のいずれか1つをアドレス変換要求信号(tsrq)に
従って選択する。セレクタ回路11dは論理アドレスv
a57aに含まれる論理ページ番号と、PTE−Hi9
に格納された論理ページ番号とを入力し、そのうちのい
ずれか1つをTLB制御部2の指示に従って選択する。
P8、PTE−Hi9、およびPTE−Lo10の読み
出しの際に用いられ、RP8、PTE−Hi9、または
PTE−Lo10が保持していた内容を一時保持し、T
LB制御部2の制御に従ってデータバス58bに出力す
る。インクリメンタ15は、入力した信号に対して1を
加算し、その結果を出力する。IOバス58は、信号伝
送のための共通路であり、格納位置を示すアドレスの伝
送に用いるアドレスバスと、データの伝送に用いられる
データバスとからなる。
データ処理装置の構成を説明する。図示するように、本
実施の形態によるデータ処理装置は、アドレス変換バッ
ファ(TLB)1、中央処理装置(CPU)50、キャ
ッシュ51、および外部ネットワーク・メモリ52を備
え、CPU50、TLB1、およびキャッシュ51はI
Oバス58と接続している。また、CPU50は、演算
部53、バス制御部54、IOバス制御部55、および
汎用レジスタ56を備えており、これらは内部バス59
と接続している。また、CPU50が内包するバス制御
部54は、外部バス57によってTLB1、キャッシュ
51、および外部ネットワーク・メモリ52と接続して
いる。
との対応関係を示すアドレス変換テーブルのコピーを保
持する。CPU50は、当該データ処理装置全体の処理
を制御する。CPU50が内包する演算部53は論理演
算等の演算処理を行う。バス制御部54は、外部バス5
7と内部バス59とにおける伝送を制御する。IOバス
制御部55は、内部バス59とIOバス58とにおける
伝送を制御する。汎用レジスタ56は、CPU内部にお
けるデータの一時保持に用いられる。TLB1は、連想
記憶装置として、またCPU50は、当該データ処理装
置全体の処理を制御する中央処理手段として機能する。
TLBメモリ部3の構成を説明する。図示するように、
本実施の形態におけるTLB1は、エンコーダ部4、タ
グ部5、デコーダ部6、およびデータ部7を内包してい
る。また、エントリ番号によって特定される複数のエン
トリを有するものであり、ここではエントリ0からエン
トリ7までの8個のエントリを有するものとなってい
る。各エントリはそれぞれ一対の論理ページ番号と物理
ページ番号、および付随する情報を保持し、処理するも
のである。
し、タグ部5からmatch信号20を入力し、該信号
が一致を示す場合には当該エントリのエントリ番号を、
エンコーダ4aにおいて符号化(エンコード)処理して
出力する。いずれかのエントリから出力があった場合に
は、特定のエントリ番号を示す信号hit−rp信号2
1がTLBメモリ部3の出力となる。タグ部5は、比較
器5a、validビット保持部5b、およびタグメモ
リ5cを内包している。比較器5aは、タグメモリ5c
の内容と、tin22から入力される論理ベージ番号と
の比較を行い、比較の結果を示すmatch信号20を
生成して出力する。validビット保持部5bは、エ
ントリの有効無効を示すvalidビットを保持する。
タグメモリ5cには、論理ページ番号が格納される。
dx信号24を復号化(デコード)するデコーダ6aを
内包し、TLBタブ部5から出されるmatch信号2
0に基づいて、ワードラインWLを駆動して、タグ部5
とデータ部7との相当するエントリを活性化させる。デ
ータ部7は、物理ページ番号7aとページ属性を格納す
る。
間及び物理空間は32ビットのアドレス空間であり、T
LBの構成はフル・アソシアティブ(上記のように8エ
ントリ・フル・アソシアティブとなる)、ページサイズ
は4KB、リプレースアルゴリズムはFIFO(First
In First Out)であるものとする。図4は本実施の形態
におけるアドレス空間の、32ビットアドレスの構成を
示す図である。図4(a)に示すように、アドレス空間は
4KBのページに分割され、ページの番号である20ビ
ットの論理ページ番号(VPN)と12ビットのページ
内オフセットで構成される。また、図4(b)に示すよう
に、物理アドレスも同様に20ビットの物理ページ番号
(PPN)と12ビットのページ内オフセットで構成さ
れる。なお、対応する論理アドレス及び物理アドレスに
おけるページ内オフセットは同一の値となる。
ントリの構成と、PTE−Hi9およびPTE−Lo1
0の構成とを示す図である。図5(b)に示すように、タ
グ部5の各エントリ(0〜7)は、論理ページ番号と、
エントリの有効無効を現すvalidビットとで構成さ
れる。また、図5(d)に示すように、データ部7の各エ
ントリは物理ページ番号とページ属性で構成される。ペ
ージ属性には2ビットのページ保護情報、汚れビット、
ページ有効ビット等が含まれるが、本発明とは直接関係
しないので説明を省略する。
成は、図5(b)に示すタグ部5のエントリの構成に対応
するものである。同様に、図5(c)に示すPTE−Lo
10の構成は、図5(d)に示すデータ部7のエントリ構
成に対応するものとなっている。さらに、図5(c)に示
すように、PTE−Lo10の有する下位ビットにはT
LB検索結果を示す1ビットのhitbitが格納され
る。
レス空間を示した図である。アドレス空間は4GBであ
り、RP8は0xC0000008番地、PTE−Hi
9は0xC0000000番地、PTE−Lo10は0
xC0000004番地に配置される。他に、CPU5
0を動作させるのに必要な命令やデータもこのアドレス
空間に配置されるが、本発明とは直接関係しないので説
明を省略する。
と、TLB1の動作との関係を示す図である。図8は、
タグ部7の動作を示す図である。図9は、TLB1のリ
プレース動作における処理手順を示すフローチャート図
である。図10は、TLBメモリ部3に与えられる制御
信号と、メモリの動作との関係を示す図である。
ータ処理装置におけるTLB管理の際の動作を、「A.
アドレス変換動作」「B.レジスタの読み書き」「C.
TLBへの登録」「D.TLBの検索」「E.TLBリ
プレース動作」、および「F.無効化処理」について、
図1から図10を用いて説明する。
ドレス変換動作を以下に説明する。図3は、TLB1に
与えられる制御信号と、TLB1の動作との関係を示す
図である。同図において信号tsrqは、論理物理アド
レス変換要求信号であり、その値が“1”の場合は変換
を行い、“0”の場合は変換を行わない旨を示すものと
なる。図3の信号vaは論理アドレスを示し、同図の信
号reg−ncsは前述の3つのレジスタ(図1の8〜
10)に対しての要求を伝達する選択信号である。ま
た、信号reg−r−nwはレジスタ8〜10へのアク
セス状態を示す信号であり、値“1”の場合は読み出
し、“0”の場合は書き込み要求があることを示すもの
である。信号tsrq、reg−ncs、およびreg
−r−nwは、図6においてCPU50から外部バス5
7aを経由してTLB1に出力される信号であり、図1
に示すようにTLB1内部においてTLB制御部2に入
力される。図3の信号IO−ADRは、アドレスを示す
信号、IO−DATAは伝送されるデータであり、いず
れも図6において、CPU50によりIOバス58に出
力されてTLB1に伝送され、図1に示す信号50a、
および58bとなる。
動作モードを指示する信号であり、値が“1”の場合は
TLB検索及び変換を行い、“0”の時は検索及び変換
を行わない。同図の信号ncsはTLBメモリ部3に対
しての指示を伝達する選択信号であり、値“0”の場合
は選択、“1”の場合は非選択を示す。同図の信号r−
nwはTLBメモリ部3へのアクセス状態を示す信号で
あり、値“1”の場合は読み出し、“0”の場合は書き
込み要求があることを示す。信号mode、ncs、お
よびr−nwは、いずれもTLB制御部2において生成
され、TLBメモリ部3に出力される制御信号である。
号であり、値“1”の場合はTLBメモリ部3を検索し
た結果、該当するエントリが存在することを示す。又、
同図の信号paは物理アドレスを示す。信号tlbhi
tはTLB制御部2において生成される信号であり、ア
ドレスpaはセレクタ11cにおいて選択された選択結
果であり、いずれもTLB1の出力となる。
信号VPNは外部より入力される論理ページ番号を示
し、同図の信号validはエントリが有効である旨を
示す信号である。論理ページ番号VPN、および信号v
alidは、図2に示すようにタグ部5に入力される信
号である。図8のタグは、図2においてタグメモリ5c
が保持している内容(論理ページ番号)である。同図の
match信号は、図2において比較器5aが、自らが
行った比較の結果を示すものとして出力する信号であ
る。
に与えられる制御信号と、TLBメモリ部3の動作とを
示す図である。同図における信号mode、ncs、及
びr−nwの各信号は図3に示したものと同様である。
図10の信号tinはTLBタグ部5に入力される論理
ページ番号を示し、同図の信号indxはTLBメモリ
部3のエントリを指定するインデックスであり、同図の
信号dinはデータ部7に入力されるデータであり、物
理ページ番号とページ属性とで構成されるものである。
図1に示すように、信号tin22はセレクタ11dよ
り、信号index24はレジスタrp8より、信号d
in27はレジスタPTE−Lo10よりTLBメモリ
部3に入力される信号である。
あり、図3のtlbhitと対応するものとなってい
る。図10の信号tout、doutはタグ部5、およ
びデータ部7からの出力データであり、そのフォーマッ
トはそれぞれ信号tin、及びdinに対応しているも
のである。図10のhit−rpはTLBメモリ部3に
おける検索の際に、ヒットしたエントリを示すポインタ
であり、非検索時(mode=0)の時は信号indx
の値と一致する値となる。図1に示すように、信号hi
t26はTLB制御部2に、信号tout23はセレク
タ11bに、信号dout28はレジスタPTE−Lo
10とセレクタ11cに、信号hit−rpはセレクタ
11aに、それぞれTLBメモリ部3から出力される信
号である。
において、CPU50は、命令フェッチやデータの読み
書きの際、該当アドレスを外部バス57aを通じてTL
B1へ送る。論理ページ番号VPNを示す信号は、図1
に示す信号vaとなってTLB1に入力される。これに
ともないCPU50は、必要に応じて論理物理変換要求
をTLB1に伝送する。以下に、CPU50からの要求
に対応して、論理物理変換を行う場合(A−1)と、行
わない場合(A−2)とについて、TLB1における動
作を説明する。
cs信号とを、tsrq=1、reg−ncs=1(図
3)としてTLB1に入力する。これらの信号はTLB
1の制御部2に入力され、TLB制御部2はTLBメモ
リ部3に対し、図10に示す表に従い、論理物理変換を
行うように指示を出す。この指示は、図1に示すmod
e信号25a、ncs信号25b、およびr−ns信号
25cを、mode=1、ncs=0、r−nw=1
(図10)として出力することで行われる。また、セレ
クタ11dに対しては、信号13cにより、信号vaを
選択すべき旨を指示する。
るタグ部5は、入力tin22より信号vaとして入力
される論理ページ番号(VPN)と、TLBタグ部5の
各エントリに格納されたタグとの比較を行う。この比較
は図8の表に従って行われる。以降の動作を、TLBヒ
ットとなる場合(A−1−1)と、TLBミスとなる場
合(A−1−2)とについて以下に説明する。
較器5aは、論理ページ番号VPNと、タグメモリ5c
の内容との比較を行う。そして、その結果、一致とする
場合、すなわちVPN=タグ(タグメモリ5cの内容)
であり、かつvalidビット保持部5bの保持する内
容が当該エントリが有効であることを示す(valid
=1)場合には、図8に示すように、match=1と
なるので、比較器5aはmatch信号20を値“1”
として出力する。いずれかのエントリにおいて、“1”
を示すmatch信号20が出力された場合、図2に示
すように、hit信号26が活性化される。すなわち、
値“1”を有するhit信号が出力されることとなる。
また、図2に示すようにWLが活性化され、出力dou
t28からは一致したエントリに格納された物理ページ
番号7a及びページ属性7bが出力される。同時に、エ
ンコーダ部4は、ヒットしたエントリの番号をエンコー
ドして、出力hit−rp21として出力する。
を示すtsrq信号を入力され、これに応じて、TLB
メモリ部3からの出力dout28に含まれる物理ペー
ジ番号と、入力された信号va57aに含まれるページ
オフセットとを、物理アドレスとして、TLB1の出力
pa60としてTLB1の外部に出力する。図6におい
て、TLB1からの出力60は、キャッシュメモリ51
へ送られる。
PN!=タグ)、またはいずれかのエントリにおいて一
致したが、このエントリが無効(VPN=タグ、val
id=0)であった場合、図8に示すように、matc
h=0となり、いずれのエントリにおいても“0”を示
すmatch信号が出力される。従って、図2に示すよ
うにhit信号26が不活性化(=0)されるので、W
Lも不活性化され、dout28の出力は無効となり、
tin22の内容はtout23から出力される。図1
において、TLB制御部2はhit信号26が不活性化
されたのを受け、セレクタ11bにtout23を選択
するよう指示し、それとともにPTE−Hi9書き込み
許可(pte−hi_we)を活性化する。これによ
り、tout23の内容がPTE−Hi9に格納され
る。
cs信号とを、tsrq=0、reg−ncs=*(0
でも1でも可)(図3)としてTLB1に入力する。こ
れらの信号はTLB1の制御部2に入力され、TLB制
御部2はTLBメモリ部3に対して、停止指示を出す。
この指示は、図1に示すmode信号25a、ncs信
号25b、およびr−ns信号25cを、mode=
0、ncs=1、r−nw=*(0でも1でも可)(図
10)とすることで行われる。一方、セレクタ11c
は、tsrq信号が“0”を示すものであることによ
り、論理アドレスva57aをそのまま物理アドレスと
してpa60より出力し、キャッシュメモリ51へ送ら
れる。
対しての書き込み動作、および読み出し動作について説
明する。本実施の形態のTLB内蔵レジスタは図7に示
す様にCPUの管理するメモリ空間において、それぞ
れ、 PTE−Hi :0xC0000000番地 PTE−Lo :0xC0000004番地 RP :0xC0000008番地 に配置されている。
すCPU50内の汎用レジスタ56から、上記番地への
MOV命令を用いることで実現される。例えば、「MO
V R0、(0xC0000008)」によって、CP
U汎用レジスタ56のR0に格納されたデータは内部バ
ス59に転送される。バス制御部54とIOバス制御部
55は転送先のアドレスを識別し、該当する場合は内部
バス59上のデータとアドレスをそれぞれのバスへ転送
する。
セスであるので、IOバス制御部55はIOバス58上
のデバイスに書き込み要求を出力する。この要求は、図
1に示すreg−ncs信号とreg−r−nw信号と
をreg−ncs=0、reg−r−nw=0(図3)
として出力することで行われる。これらの信号の出力に
ともない、CPU50は、データとアドレスとをIOバ
ス58に転送する。TLB制御部2は、上記の各信号に
よる書き込み要求を受けて、アドレスバス58aから取
得するIO−ADR58aをデコードし、該当レジスタ
を判断する。上記のアドレスはRP8のアドレスと一致
し、かつ書き込み要求を示す信号が入力されているの
で、TLB制御部2は、RP8に対して出力する信号r
p−we(図1)を活性化し、それにともなって、セレ
クタ11aに対してIO−DATA58bを選択するよ
うに指示13aを出力し、セレクタ11aがこれに対応
して、データバス58bから取得するIO−DATA5
8bをRP8に出力することで、データがRP8に書き
込まれる。
は、「MOV (0xC0000008)、R0」によ
って行われる。図6においてIOバス制御部55は、I
Oバス58上のデバイスに読み出し要求を行う。この要
求は、図2に示すreg−ncs信号とreg−r−n
w信号とをreg−ncs=0、reg−r−nw=1
(図3)とすることで行われ、これらの信号はTLB制
御部2に入力される。TLB制御部2は、これらの信号
による書き込み要求を受けて、アドレスバス58aから
取得するIO−ADR58aをデコードし、該当レジス
タを判断する。上記のアドレスはRP8のアドレスと一
致し、かつ読み出し要求を示す信号が入力されているの
で、TLB制御部2は、RP8に対して出力する信号r
p_reを活性化し、これとともに、トライステートバ
ッファ12aに対して、データを出力するように指示を
出す。この指示は、図1に示すrp_re信号14aに
よって行われる。これにより、同図におけるトライステ
ートバッファ12aから出力されたデータは、前述の書
き込みの際とは、逆にデータバスIO−DATA58
b、次いで図6に示す内部バス59を経由しCPU内蔵
汎用レジスタ56のR0へ格納される。また、PTE−
Hi9に対する読み出し/書き込みに際しても、以上の
ようなRP8に対する読み出し/書き込みと同様に行わ
れるものである。
−Lo10については、このような読み出し/書き込み
を行うものではなく、登録、検索、およびリプレースに
おいて、TLBメモリ部に格納した内容に対して後述す
る扱いをすることで、レジスタPTE−Lo10におけ
る情報の保持を実現するものである。すなわち、図1に
示すRP8、およびPTE−Hi9は物理的に存在する
レジスタとしてTLB1が内包するものであるが、PT
E−Lo10は物理的なレジスタとして内包するもので
はなく、後述する扱いを行うことで論理的にのみ存在す
るものとしているのであり、これにより本実施の形態で
は、回路構成を簡略化し、処理の効率向上を図るもので
あるが、PTL−Lo10についても、物理的に存在す
るレジスタとしてTLB1が内包するものとし、これに
対して上記のようなRP8やPTE−Hi9に対すると
同様の読み出し/書き込みを行うものとすることも可能
である。
1に対しての登録動作について説明する。TLBへの登
録は、以下のプログラム列を実行することによって実現
される。 1)MOV 0x00000001、R0 2)MOV R0、(0xC0000008) 3)MOV 0x10000000、R1 4)MOV R1、(0xC0000000) 5)MOV 0x20000000、R2 6)MOV R2、(0xC0000004)
1”を、図6に示すCPU50が内蔵する汎用レジスタ
56のR0へ格納する。2)において、R0に格納され
た値を、TLB1のレジスタRP8へ格納(書き込み)
する。この動作は、「B.レジスタの読み書き」におい
て説明したように行われるものである。この時、RP8
の保持する内容は、“0x00000001”となるた
め、TLBメモリ部3のリプレースエントリは“1”と
なり、図1に示すindx24にはこの値が出力され
る。続いて、3)において、即値“0x1000000
0”を、図6に示す汎用レジスタ56のR1へ格納す
る。そして、4)において、レジスタR1に格納された
値を、PTE−Hi9へ格納(書き込み)する。この動
作も「B.レジスタの読み書き」において説明したよう
に行われる。
格納(書き込み)処理は、RP8、およびPTE−Hi
9に対する処理とは異なるものとなる。上記のプログラ
ムの5)で、即値“0x20000000”を、図6に
示す汎用レジスタ56のR2へ格納する。そして、6)
において、レジスタR2に格納された値のPTE−Lo
10への格納動作が開始される。PTE−Lo10への
書き込みの場合、図1に示す、IOバス58において、
IO−ADR58a、およびIO−DATA58bに、
転送先アドレス(0xC0000004)及びデータ
(0x20000000)が出力される。
−Lo10への書き込みを検出すると、TLBメモリ部
3へ書き込みの指示を出力する。この指示は、同図に示
すmode信号25a、ncs信号25b、およびr−
ns信号25cを、mode=0、ncs=0、r−n
w=0(図3)とすることで行われる。また、これにと
もなって、セレクタ11dに対して、予めセットしたP
TE−Hi9の出力(0x10000000)を選択
し、tin22に出力するように信号13cにより指示
を出す。PTE−Lo10からの出力であるdin27
としては、IOバス58から取得されるIO−DATA
58b(0x20000000)がそのまま出力され
る。
6の各エントリのデコーダ6aは、入力されたindx
24をデコードし、該当するエントリのWLを活性化す
る。活性化したWLに対応して、当該エントリのタグ部
5およびデータ部7は書き込み指示に従い、入力するt
in22およびdin27の内容を、それぞれ格納す
る。以上の動作によって、PTE−Hi9に格納された
論理ページ番号と、CPU50のレジスタR2に設定さ
れた物理ページ番号、およびページ属性が、RP8の示
すTLBメモリ部3の該当するエントリに登録される。
は、以下のプログラム列を実行することで実現される。 1)MOV 0x10000000、R1 2)MOV R1、(0xC0000000) 3)MOV (0xC0000004)、R2 1)において、即値“0x10000000”を、図6
に示すCPU50が内蔵する汎用レジスタ56のR1へ
格納する。そして、2)において、レジスタR1に格納
された値を、TLB1のPTE−Hi9へ格納(書き込
み)する。この際の書き込みは「B.レジスタの読み書
き」において説明した動作に従って行われる。
−Lo10に格納された値の、汎用レジスタ56のR2
に対する格納動作が開始される。図2において、TLB
制御部2は、PTE−Lo10からの読み出し要求を検
出すると、TLBメモリ部3に対して論理物理変換の指
示を出力する。この指示は、図1に示すmode信号2
5a、ncs信号25b、およびr−ns信号25c
を、mode=1、ncs=0、r−nw=1(図3)
とすることで行われる。これとともに、TLB制御部2
は、セレクタ11dに対して、レジスタPTE−Hi9
の出力を選択しtin22に出力するように信号13c
により指示をする。また、トライステートバッファ12
cに対して、データを出力するように、信号14cによ
って指示を行う。
換を指示するtsrq信号に対応して、タグ部5におい
て比較を行う。アドレス変換動作は、「A.アドレス変
換動作」において説明したのと同様に行われる。この結
果TLBメモリ部3より出力される信号hit26、お
よびdout28は、レジスタPTE−Loを経由して
トライステートバッファ12cよりIOバス58によ
り、IO−DATA58bとして出力される。出力され
たデータ、および信号hitは、図5(c)に示すPTE
−Lo10のフォーマットに配置され、図6に示すIO
バス58及び内蔵バス59を経由して、CPU50のレ
ジスタR2へ格納される。ヒットした場合には、図5
(c)に示すhitbitは値“1”となって格納される
こととなり、物理ページ番号、およびページ属性は有効
となる。これに対して、ミスの場合は、図5(c)に示す
hitbitは値“0”となり、物理ページ番号、及び
ページ属性は無効となる。
ーダ部4ではヒットしたエントリ番号をエンコードし
て、出力hit−rp21として出力する。出力信号h
it−rp21は、図1に示すセレクタ11aに入力さ
れる。TLB制御部2は、セレクタ11aに対して、信
号hit−rp21を選択するように制御信号13aに
より指示を出す。これにより、ヒットを示す信号hit
26が有効な場合(値“1”の場合)のみ、セレクタ1
1aの出力がRP8に格納される。
納された論理ページ番号と、TLBタグ部5の全エント
リに格納されたタグとの検索および比較が並列的に行わ
れ、検索結果がCPU50のレジスタR2に格納され
る。
1のリプレースの際の動作を、図9に示す処理手順のフ
ローに従って説明する。前述のように、本実施の形態に
おけるTLB1のリプレースはFIFOアルゴリズムに
従って行われる。また、リプレースは、RP8の保持す
る値に従って制御されるものとなる。
テップ901において、初期状態におけるリプレース候
補のエントリとして、エントリ0が設定される。すわな
ち、RP8の保持する内容が値“0”とされる。そし
て、エントリ0においてのリプレースは、「C.TLB
への登録」において説明したような、TLB1への登録
動作として実現される。
行われたか否かが判定される。この判定において、リプ
レースが行われたとされた場合、ステップ903が実行
される。図1においてTLB制御部2は、セレクタ11
aに対して、インクリメンタ15の出力(=1)を選択
するように指示し、RPポインタ書込許可信号(rp_
we)が活性化し、インクリメンタ15の出力をRP8
に格納するので、レジスタRP8の保持する内容は、1
だけ増加したものとなる。
プ902に戻って判定が行われ、同様の繰り返しにおい
て、エントリ7へのリプレースが完了した後、インクリ
メンタ15の出力は0となり、次候補は初期値0に戻
る。一方、ステップ902の判定においてリプレース動
作が行われないとされた場合には、ステップ904が実
行され、RP8への書き込みが行われたか否かが判定さ
れる。RP8への書き込みが行われた場合は、ステップ
905が実行され、書き込まれた値を次のリプレース候
補とする。これに対して、ステップ902、次いでステ
ップ904の判定において、リプレース動作もRP8へ
の書き込みも行われないとされた場合は、ステップ90
3、またはステップ905を経由せずにステップ902
に戻ることにより、次のリプレース動作またはRP8へ
の書き込みまで現在のRP8の値を保持し続ける。
置によれば、リプレースポインタレジスタ(RP)8、
ページテーブルエントリ上位レジスタ(PTE−Hi)
9、およびページテーブルエントリ下位レジスタ(PT
E−Lo)10を有するTLB1を備えたことで、CP
U50の管理するアドレス空間に配置されたPTE−L
o10からCPU内蔵汎用レジスタ56へのMOV動作
(MOV命令に従った動作)により、PTE−Hi9に
格納された論理ページ番号と、TLBタグ部5に格納さ
れた全てのタグとの比較を行い、一致したエントリ番号
をRP8に格納すると同時に、TLBデータ部7に格納
されたデータをCPU内蔵汎用レジスタ56へ格納す
る。また、CPU内蔵汎用レジスタ56からPTE−L
o10へのMOV動作により、PTE−Hi9の内容、
およびCPU内蔵汎用レジスタ56の内容を、RP8の
保持する内容が示すTLBタグ部5、およびTLBデー
タ部7のエントリへ格納する。
場合は、本実施の形態では、以下のプログラム列が実行
される。 1)MOV 0x10000000、R1 2)MOV R1、(0xC0000000) 3)MOV (0xC0000004)、R2 4)AND 0x00000080、R2 5)CMP 0x000080、R2 6)Bne Not_exist 7)MOV 0x00000000、R0 8)MOV R0、(0xC0000000) 9)MOV R0、(0xC0000004) 上記プログラムの1)〜3)は「D.TLBの検索」に
示した3ステップの処理であり、前述のように実行され
るものである。
理であり、AND処理を行うことによりヒットビット以
外のビットを0とするものである。この処理の結果に基
づいて、5)では比較処理によりヒットビットについて
のチェックが行われる。そして、この結果に基づいて
6)比較結果条件分岐が行われ、比較処理において不一
致を示す結果が得られた場合には、あらかじめ設定され
たNot_existへのジャンプが行われ、無効化処
理を行うことなく後続の処理が行われる。なお、ここで
は、AND処理によってヒットビットの抽出を行ってい
るものであるが、OR処理を用いることも可能である。
た場合には、TLBへの登録が行われる。登録は、
「C.TLBへの登録」に示した6ステップの処理を行
うこととしても実現可能であるが、本実施の形態では、
「C.TLBへの登録」に示した処理に代えて上記7)
〜8)の処理を実行することにより、ステップ数を削減
し処理の迅速化を図るものである。
は、RP8への書き込みに2ステップを要するものであ
るが、ここでは、RP8については先の検索でヒットし
たエントリ番号が既に格納されているものであるので、
「C.TLBへの登録」のプログラムの1)、および
2)の2ステップを省略する。従って、ここではTLB
への登録は、PTE−Hi9に対する処理から行われ
る。PTE−Hi9への書き込みは、上記のプログラム
の7)、および8)であり、これらは「C.TLBへの
登録」のプログラムの3)、および4)の2ステップと
同様に実行される。ただし、ここではレジスタR1でな
くレジスタR0を用いることとしている。7)では、エ
ントリをクリアするための即値“0x0000000
0”を、図6に示す汎用レジスタ56のR0へ格納し、
後続の8)で、レジスタR0に格納された値を、PTE
−Hi9へ格納(書き込み)する。この動作は「B.レ
ジスタの読み書き」において説明したように行われる。
れる。エントリのクリアのためには、PTE−Hi9に
対すると同様に、全てのビットを0とすれば良いので、
ここでは上記の7)において既にレジスタ56(図6)
のR0に格納された値を、9)でPTE−Lo10に書
き込む。9)の処理は、「C.TLBへの登録」のプロ
グラムにおける6)と同様に行われ、TLBメモリ部3
(図1)において全て0が書き込まれて無効化処理は終
了する。このように、「C.TLBへの登録」に示した
5)、および6)の2ステップに代えて上記のプログラ
ム9)の1ステップでPTE−Lo10に対する処理を
実行して1ステップの削減がされるものである。
「C.TLBへの登録」に示した6ステップの処理とす
る場合には、上記プログラム列の1)〜6)までの6ス
テップに、登録に要する6ステップを加えて12ステッ
プとなるが、上記プログラム列により処理をする場合に
は、登録処理において3ステップを削減し、合計9ステ
ップで無効化処理を行い得ることとなる。
の技術によるデータ処理装置において無効化を行う場合
は、例えば8エントリ・フル・アソシアティブであれ
ば、エントリ数とウェイ数とが等しいものであり、また
ウェイ数がnの場合に2n+2ステップを必要とするこ
とから、n=8とした場合の2n+2=18ステップを
要するものとなる。従って、ステップ数が9である本実
施の形態では、従来の技術による場合と比較して、50
%のステップ数削減が可能である。
ントリ以上のフル・アソシアティブ構成であり、このよ
うにウェイ(エントリ)数が大きな場合には、本実施の
形態によるデータ処理装置を応用することで大きな効果
が得られることとなる。すなわち、従来の技術によるデ
ータ処理装置では、ウェイ(エントリ)数に応じて繰り
返し回数が増加し、32エントリでは66ステップ必要
となる。これに対して本発明の実施の形態を応用する場
合では、ウェイ数に関係なく上記のような9ステップで
あり83%以上のステップ数削減が可能となる。なお、
本実施の形態において示した、アドレス空間の構成や、
プログラム列は例示であり、他の空間配置や命令列を用
いても、同様の効率的な処理が可能である。
が8エントリのフル・アソシアティブ構成である場合を
示したが、データ処理装置が備えるTLBのエントリ数
が異なる構成である場合にも、インクリメンタ15(図
1)のビット幅を拡張することにより応用可能なもので
ある。また、セット・アソシアティブ構成である場合に
も、PTE−Hi9に格納された論理アドレスの下位ビ
ットをタグインデックスとして使用することにより応用
可能なものである。
対アドレッシングで実現する場合について示したが、他
のアドレッシングモードでも、IOバス58上に現れる
アドレスは同一であるので同様に実現することが可能で
ある。また、リプレースアルゴリズムをFIFOとする
場合について示したが、アルゴリズムがLRUである場
合、あるいはランダム方式である場合にも、インクリメ
ンタ15をLRU制御回路または乱数発生回路にするこ
とにより、同様に実現可能である。
トリに対して行う例を示したが、TLBメモリ部3の書
き込みの際のWL選択を、デコーダ6aの出力のかわり
にmatch信号20を用いることによって、検索結果
が一致したエントリへ書き込むものとすることも実現可
能である。
を示したが、命令およびデータを分離した場合も同様に
応用することが可能である。さらに、命令キャッシュお
よびデータキャッシュまたは、分岐履歴バッファなどの
各種連想記憶装置についても同様に応用することが可能
であり、高速化が図り得る効果が得られる。
理方法によれば、アドレス変換テーブル、キャッシュメ
モリ、分岐履歴バッファ等に連想記憶装置を用いる場合
に、フル・アソシアティブ方式を採用し、エントリ数す
なわちウェイ数が大きなものである場合にも、当該連想
記憶装置に対して高速に検索を行うことが可能となる。
れば、第1の情報と第2の情報との対の複数を記憶し、
特定の第1の情報を入力されると、当該第1の情報と対
をなす第2の情報を出力する連想処理を行う連想記憶装
置を用いるデータ処理装置であって、上記第1の情報を
保持する第1情報保持手段と、上記第2の情報を保持す
る第2情報保持手段と、上記第1情報保持手段が保持す
る第1の情報を上記連想記憶装置に入力して連想処理を
実行させ、上記入力した第1の情報が、上記連想記憶装
置において記憶するいずれかの第1の情報と一致する場
合には、上記連想処理の結果出力される、上記入力した
第1の情報と対をなす第2の情報を上記第2情報保持手
段において保持するように制御する連想情報制御手段と
を備え、第1情報保持手段、および第2情報保持手段と
いう特定の格納手段に対する読み出し動作を行うことに
よって連想記憶装置に対しての連想検索を実現し、特別
な命令の追加等によりハードウェアコストを増大させる
ことなく、処理時間の短縮を図ることが可能である。ま
た、連想記憶装置の全てのエントリを並行的に一度に検
索可能であるため、従来提案されていた各エントリを逐
次処理する方式に比べて処理時間を大幅に削減できると
いう効果が得られる。また、上記連想記憶装置に記憶さ
れた上記情報の対のうち、一の対を特定する情報を保持
する情報対特定情報保持手段をさらに備え、上記連想情
報制御手段は、上記第1情報保持手段が保持する第1の
情報を上記連想記憶装置に入力して連想処理を実行さ
せ、上記入力した第1の情報が、上記連想記憶装置にお
いて記憶するいずれかの第1の情報と一致する場合に
は、上記連想処理の結果出力される、上記入力した第1
の情報と対をなす第2の情報を上記第2情報保持手段に
おいて保持するように制御するとともに、上記一致した
第1の情報と第2の情報との対を特定する情報を上記情
報対特定情報保持手段において保持させるものとしたこ
とで、第1情報保持手段、第2情報保持手段、および情
報対特定情報記憶手段という特定の格納手段に対する読
み出し動作により、連想記憶装置に対しての連想検索を
実現するので、処理の効率化が可能となる。そして、上
記連想記憶装置を用いたデータ処理を制御する中央処理
手段をさらに備え、上記連想情報制御手段は、上記中央
処理手段によるデータ入出力に対応して、上記制御を行
うものとしたことで、中央処理手段たるプロセッサを備
えるコンピュータシステム等において、データ処理の迅
速化を図ることが可能となる。また、上記連想情報制御
手段は、上記中央処理手段による上記第2情報保持手段
が保持する情報の読み出しに対応して上記制御を行うも
のとしたことで上記の効果が得られる。さらに、上記第
1情報保持手段、および上記第2情報保持手段は、上記
中央処理手段が管理するアドレス空間上に配置されるも
のであり、上記アドレス空間における配置位置を特定す
る情報を指定することによって、情報の入出力を行い得
るものとしたことで上記の効果が得られ、いずれかの情
報保持手段を論理的にのみ実現して回路構成を簡略化す
ることが可能となる。
の情報と第2の情報との対の複数を記憶し、特定の第1
の情報を入力されると、当該第1の情報と対をなす第2
の情報を出力する連想処理を行う連想記憶装置を用いる
データ処理装置であって、上記第1の情報を保持する第
1情報保持手段と、上記第2の情報を保持する第2情報
保持手段と、上記第1情報保持手段が保持する第1の情
報を上記連想記憶装置に入力して連想処理を実行させ、
上記入力した第1の情報が、上記連想記憶装置において
記憶するいずれかの第1の情報と一致する場合には、上
記連想処理の結果出力される、上記入力した第1の情報
と対をなす第2の情報を上記第2情報保持手段において
保持するように制御する連想情報制御手段と、上記連想
記憶装置に記憶された上記情報の対のうち、一の対を特
定する情報を保持する情報対特定情報保持手段とを備
え、上記連想情報制御手段は、上記第2情報保持手段に
書き込みを行う場合には、上記情報対特定情報保持手段
が指し示す上記連想処理装置内の一つの対に対して、上
記第1情報保持手段に保持されている情報と第2情報保
持手段に保持されている情報を書き込むものとしたこと
で、連想記憶装置に対する書き込みを、特別な命令の追
加等によりハードウェアスコアを増大させることなく行
い、その処理時間の短縮化を図ることが可能となる。さ
らに、連想記憶装置の無効化処理等のステップ数を削減
することも可能となる。また、連想記憶装置の全てのエ
ントリーを並行的に一度に検索可能であるため、従来提
案されていた各エントリを逐次処理する方式に比べて処
理時間を大幅に削減できるという効果が得られる。そし
て、上記連想記憶装置を用いたデータ処理を制御する中
央処理手段をさらに備え、上記連想情報制御手段は、上
記中央処理手段によるデータ入出力に対応して、上記制
御を行うものとしたことで、中央処理手段たるプロセッ
サを備えるコンピュータシステム等において、データ処
理の迅速化を図ることが可能となる。なお、上記連想情
報制御手段は、上記中央処理手段が出力する情報の、上
記第2情報保持手段に対する書き込みに対応して上記制
御を行うものとしたことで上記の効果が得られる。
項1または請求項2の装置において、上記連想記憶装置
はアドレス変換テーブルであり、上記第1の情報は論理
ページアドレス、上記第2の情報は物理ページアドレス
であるものとしたことで、アドレス変換テーブルを用い
るデータ処理を高速化することが可能となる。
項1または請求項2の装置において、上記連想記憶装置
はキャッシュメモリであり、上記第1の情報はアドレ
ス、上記第2の情報は命令、またはオペランドのデータ
であるものとしたことで、キャッシュメモリを用いるデ
ータ処理を高速化することが可能となる。
項1または請求項2の装置において、上記連想記憶装置
は分岐履歴バッファであり、上記第1の情報は分岐命令
のアドレス、上記第2の情報は分岐先命令のアドレスで
あるものとしたことで、分岐履歴バッファを用いるデー
タ処理を高速化することが可能となる。
ば、第1の情報と第2の情報で構成された情報対の複数
を記憶するメモリ部と、上記第1の情報を保持する第1
情報保持手段と、上記第2の情報を保持する第2情報保
持手段と、上記メモリ部に記憶された上記情報対のう
ち、一の対を特定する情報を保持する情報対特定情報保
持手段と、外部制御手段による上記第2情報保持手段が
保持する情報の読み出しに対応して、上記第1情報保持
手段が保持する第1の情報を上記メモリ部に入力して連
想処理を実行させ、上記入力した第1の情報が、上記メ
モリ部において記憶するいずれかの第1の情報と一致す
る場合には、上記連想処理の結果出力される、上記入力
した第1の情報と対をなす第2の情報を上記第2情報保
持手段において保持するように制御するとともに、上記
一致した第1の情報と第2の情報との対を特定する情報
を上記情報対特定情報保持手段において保持させる、と
いう制御を行う連想情報制御手段と、を備えるようにし
たことで、第1情報保持手段、第2情報保持手段、およ
び情報対特定情報記憶手段という特定の格納手段に対す
る読み出し動作を行うことで、メモリ部および連想情報
制御手段による連想検索を実現することにより、特別な
命令の追加等によりハードウェアコストを増大させるこ
となく、処理時間の短縮化を図ることが可能である。
ば、請求項6に記載のデータ処理装置において、上記連
想処理の一致または不一致の結果を記憶する第3情報保
持手段をさらに備えるようにしたことで、これにより、
第1情報保持手段、第2情報保持手段、第3の情報保持
手段および情報対特定情報保持手段という特定の格納手
段に対する読み出し動作を行うことによって、メモリ部
および連想情報制御手段による連想検索を実現すること
により、特別な命令の追加等によりハードウェアコスト
を増大させることなく、処理時間の短縮化を図ることが
可能である。また、請求項8のデータ処理装置によれ
ば、第1の情報と第2の情報で構成された情報対を複数
記憶するメモリ部と、上記第1の情報を保持する第1情
報保持手段と、上記第2の情報を保持する第2情報保持
手段と、上記メモリ部に記憶された上記情報対のうち、
一の対を特定する情報を保持する情報対特定情報保持手
段と、外部制御手段の、上記第2情報保持手段に対する
書き込みに対応して、上記第1情報保持手段で保持され
ている情報と上記第2情報保持手段で保持されている情
報とを、上記情報対特定情報保持手段で指し示す上記メ
モリ部内の一つのエントリーに対して書き込むという制
御を行う連想情報制御手段と、を備えるようにしたこと
から、メモリ部に対する書き込みを、特別な命令の追加
等によりハードウェアコストを増大させることなく行
い、その処理時間の短縮化を図ることが可能になる。 [図面の簡単な説明]
備えるTLBの構成を示すブロック図である。
の構成を示す図である。
と、TLBの動作との関係を示す図である。
ットアドレスの構成を示す図である。
各エントリの構成と、PTE−HiおよびPTE−Lo
の構成とを示す図である。
ロック図である。
を示した図である。
示す図である。
の処理手順を示すフローチャート図である。
制御信号と、TLBメモリ部の動作との関係を示す図で
ある。
Claims (8)
- 【請求項1】 第1の情報と第2の情報との対の複数を
記憶し、特定の第1の情報を入力されると、当該第1の
情報と対をなす第2の情報を出力する連想処理を行う連
想記憶装置を用いるデータ処理装置であって、 上記第1の情報を保持する第1情報保持手段と、 上記第2の情報を保持する第2情報保持手段と、 上記第1情報保持手段が保持する第1の情報を上記連想
記憶装置に入力して連想処理を実行させ、上記入力した
第1の情報が、上記連想記憶装置において記憶するいず
れかの第1の情報と一致する場合には、上記連想処理の
結果出力される、上記入力した第1の情報と対をなす第
2の情報を上記第2情報保持手段において保持するよう
に制御する連想情報制御手段と、 上記連想記憶装置に記憶された上記情報の対のうち、一
の対を特定する情報を保持する情報対特定情報保持手段
と、 上記連想記憶装置を用いたデータ処理を制御する中央処
理手段と、 を備えてなり、 上記連想情報制御手段は、 上記中央処理手段による上記第2情報保持手段が保持す
る情報の読み出しに対応して、上記第1情報保持手段が
保持する第1の情報を上記連想記憶装置に入力して連想
処理を実行させ、上記入力した第1の情報が、上記連想
記憶装置において記憶するいずれかの第1の情報と一致
する場合には、上記連想処理の結果出力される、上記入
力した第1の情報と対をなす第2の情報を上記第2情報
保持手段において保持するように制御するとともに、上
記一致した第1の情報と第2の情報との対を特定する情
報を上記情報対特定情報保持手段において保持させる、
という制御を行い、 また、上記第1情報保持手段、および上記第2情報保持
手段は、 上記中央処理手段が管理するアドレス空間上に配置され
るものであり、上記アドレス空間における配置位置を特
定する情報を指定することによって、情報の入出力を行
い得るものであること、 を特徴とするデータ処理装置。 - 【請求項2】 第1の情報と第2の情報との対の複数を
記憶し、特定の第1の情報を入力されると、当該第1の
情報と対をなす第2の情報を出力する連想処理を行う連
想記憶装置を用いるデータ処理装置であって、 上記第1の情報を保持する第1情報保持手段と、 上記第2の情報を保持する第2情報保持手段と、 上記第1情報保持手段が保持する第1の情報を上記連想
記憶装置に入力して連想処理を実行させ、上記入力した
第1の情報が、上記連想記憶装置において記憶するいず
れかの第1の情報と一致する場合には、上記連想処理の
結果出力される、上記入力した第1の情報と対をなす第
2の情報を上記第2情報保持手段において保持するよう
に制御する連想情報制御手段と、 上記連想記憶装置に記憶された上記情報の対のうち、一
の対を特定する情報を保持する情報対特定情報保持手段
と、 上記連想記憶装置を用いたデータ処理を制御する中央処
理手段と、 を備えてなり、 上記連想情報制御手段は、 上記中央処理手段が出力する情報の、上記第2情報保持
手段に対する書き込みに対応して、上記第1情報保持手
段に保持されている情報と上記第2情報保持手段に保持
されている情報とを、上記情報対特定情報保持手段が指
し示す上記連想処理装置内の一つの対に対して書き込
む、という制御を行い、 また、上記第1情報保持手段、および上記第2情報保持
手段は、 上記中央処理手段が管理するアドレス空間上に配置され
るものであり、上記アドレス空間における配置位置を特
定する情報を指定することによって、情報の入出力を行
い得るものであること、 を特徴とするデータ処理装置。 - 【請求項3】 請求項1又は請求項2に記載のデータ処
理装置において、 上記連想記憶装置はアドレス変換テーブルであり、 上記第1の情報は論理ページアドレス、上記第2の情報
は物理ページアドレスであるものであることを特徴とす
るデータ処理装置。 - 【請求項4】 請求項1又は請求項2に記載のデータ処
理装置において、 上記連想記憶装置はキャッシュメモリであり、 上記第1の情報はアドレス、上記第2の情報は命令、ま
たはオペランドのデータであるものであることを特徴と
するデータ処理装置。 - 【請求項5】 請求項1又は請求項2に記載のデータ処
理装置において、 上記連想記憶装置は分岐履歴バッファであり、 上記第1の情報は分岐命令のアドレス、上記第2の情報
は分岐先命令のアドレスであるものであることを特徴と
するデータ処理装置。 - 【請求項6】 第1の情報と第2の情報で構成された情
報対の複数を記憶するするメモリ部と、 上記第1の情報を保持する第1情報保持手段と、 上記第2の情報を保持する第2情報保持手段と、 上記メモリ部に記憶された上記情報対のうち、一の対を
特定する情報を保持する情報対特定情報保持手段と、 外部制御手段による上記第2情報保持手段が保持する情
報の読み出しに対応して、上記第1情報保持手段が保持
する第1の情報を上記メモリ部に入力して連想処理を実
行させ、上記入力した第1の情報が、上記メモリ部にお
いて記憶するいずれかの第1の情報と一致する場合に
は、上記連想処理の結果出力される、上記入力した第1
の情報と対をなす第2の情報を上記第2情報保持手段に
おいて保持するように制御するとともに、上記一致した
第1の情報と第2の情報との対を特定する情報を、上記
情報対特定情報保持手段において保持させる、という制
御を行う連想情報制御手段と、 を備えることを特徴とするデータ処理装置。 - 【請求項7】 請求項6に記載のデータ処理装置におい
て、 上記連想処理の一致または不一致の結果を記憶する第3
情報保持手段をさらに備えることを特徴とするデータ処
理装置。 - 【請求項8】 第1の情報と第2の情報で構成された情
報対の複数を記憶するメモリ部と、 上記第1の情報を保持する第1情報保持手段と、 上記第2の情報を保持する第2情報保持手段と、 上記メモリ部に記憶された上記情報対のうち、一の対を
特定する情報を保持する情報対特定情報保持手段と、 外部制御手段の、上記第2情報保持手段に対する書き込
みに対応して、上記第1情報保持手段に保持されている
情報と上記第2情報保持手段に保持されている情報と
を、上記情報対特定情報保持手段で指し示す上記メモリ
部内の一つのエントリーに対して書き込む、という制御
を行う連想情報制御手段と、 を備えることを特徴とするデータ処理装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12218998 | 1998-05-01 | ||
JP10-122189 | 1998-05-01 | ||
PCT/JP1999/002196 WO1999057642A1 (fr) | 1998-05-01 | 1999-04-26 | Dispositif et procede de traitement de donnees |
Publications (1)
Publication Number | Publication Date |
---|---|
JP3274859B2 true JP3274859B2 (ja) | 2002-04-15 |
Family
ID=14829783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000547548A Expired - Fee Related JP3274859B2 (ja) | 1998-05-01 | 1999-04-26 | データ処理装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6598147B1 (ja) |
EP (1) | EP1091300A4 (ja) |
JP (1) | JP3274859B2 (ja) |
AU (1) | AU3536499A (ja) |
WO (1) | WO1999057642A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8161013B2 (en) * | 2004-11-08 | 2012-04-17 | Emc Corporation | Implementing application specific management policies on a content addressed storage device |
US7444464B2 (en) * | 2004-11-08 | 2008-10-28 | Emc Corporation | Content addressed storage device configured to maintain content address mapping |
CN101216778B (zh) * | 2008-01-21 | 2011-04-13 | 中国科学院计算技术研究所 | 一种risc处理器装置及其指令地址转换查找方法 |
JP2011018182A (ja) * | 2009-07-08 | 2011-01-27 | Panasonic Corp | アドレス変換装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3764996A (en) * | 1971-12-23 | 1973-10-09 | Ibm | Storage control and address translation |
JPS579155B2 (ja) * | 1975-02-04 | 1982-02-19 | ||
JPS51115737A (en) * | 1975-03-24 | 1976-10-12 | Hitachi Ltd | Adress conversion versus control system |
JPS60168238A (ja) | 1984-02-10 | 1985-08-31 | Hitachi Ltd | パイプラインデータ処理装置 |
JPH0690686B2 (ja) * | 1987-12-07 | 1994-11-14 | 日本電気株式会社 | アドレス変換索引機構無効化装置 |
EP0508577A1 (en) * | 1991-03-13 | 1992-10-14 | International Business Machines Corporation | Address translation mechanism |
JP3068935B2 (ja) * | 1992-02-05 | 2000-07-24 | 株式会社ピーエフユー | エントリ置き換え制御方法 |
JPH06274341A (ja) * | 1993-03-17 | 1994-09-30 | Hitachi Ltd | マイクロコンピュータ |
JP3713312B2 (ja) * | 1994-09-09 | 2005-11-09 | 株式会社ルネサステクノロジ | データ処理装置 |
US6058447A (en) * | 1997-09-26 | 2000-05-02 | Advanced Micro Devices, Inc. | Handshake circuit and operating method for self-resetting circuits |
-
1999
- 1999-04-26 JP JP2000547548A patent/JP3274859B2/ja not_active Expired - Fee Related
- 1999-04-26 AU AU35364/99A patent/AU3536499A/en not_active Abandoned
- 1999-04-26 WO PCT/JP1999/002196 patent/WO1999057642A1/ja active Application Filing
- 1999-04-26 EP EP99917148A patent/EP1091300A4/en not_active Withdrawn
-
2000
- 2000-04-26 US US09/674,409 patent/US6598147B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP1091300A4 (en) | 2005-03-23 |
EP1091300A1 (en) | 2001-04-11 |
AU3536499A (en) | 1999-11-23 |
WO1999057642A1 (fr) | 1999-11-11 |
US6598147B1 (en) | 2003-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9053049B2 (en) | Translation management instructions for updating address translation data structures in remote processing nodes | |
EP0036110B1 (en) | Cache addressing mechanism | |
JP2618175B2 (ja) | キャッシュ・アクセスのための仮想アドレス変換予測の履歴テーブル | |
CA1325288C (en) | Method and apparatus for controlling the conversion of virtual to physical memory addresses in a digital computer system | |
US4989140A (en) | Single chip pipeline data processor using instruction and operand cache memories for parallel operation of instruction control and executions unit | |
US11775445B2 (en) | Translation support for a virtual cache | |
US5619677A (en) | Data processing system with an enhanced cache memory control | |
JP7062696B2 (ja) | 仮想キャッシュにおける仮想および実変換の共有 | |
JP3045952B2 (ja) | フルアソシアティブ・アドレス変換器 | |
JPH0564813B2 (ja) | ||
US7549035B1 (en) | System and method for reference and modification tracking | |
JP2007048296A (ja) | 複数のアドレス・キャッシュ・エントリーを無効にする方法、装置およびシステム | |
US5206945A (en) | Single-chip pipeline processor for fetching/flushing instruction/data caches in response to first/second hit/mishit signal respectively detected in corresponding to their logical addresses | |
JP3274859B2 (ja) | データ処理装置 | |
KR100373576B1 (ko) | 변환 장치의 엔트리를 무효로 하는 시스템 및 방법 | |
US5051894A (en) | Apparatus and method for address translation of non-aligned double word virtual addresses | |
JP2685455B2 (ja) | データ処理装置 | |
US10140217B1 (en) | Link consistency in a hierarchical TLB with concurrent table walks | |
US7546439B1 (en) | System and method for managing copy-on-write faults and change-protection | |
JPH03211643A (ja) | 並行例外検査及び更新バイパスを有する変換索引バッファ | |
US5349672A (en) | Data processor having logical address memories and purge capabilities | |
JPH02101552A (ja) | アドレス変換バッファ処理方式 | |
JP2001505327A (ja) | 1クロックサイクル内でデータをストアするよう構成されたデータメモリユニット、およびその動作方法 | |
JPH08286928A (ja) | 情報処理装置 | |
JPH0235543A (ja) | ページテーブルエントリ無効化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20020122 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080201 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090201 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100201 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100201 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110201 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120201 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130201 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |