JPH1165930A - マイクロプロセッサ - Google Patents
マイクロプロセッサInfo
- Publication number
- JPH1165930A JPH1165930A JP9224589A JP22458997A JPH1165930A JP H1165930 A JPH1165930 A JP H1165930A JP 9224589 A JP9224589 A JP 9224589A JP 22458997 A JP22458997 A JP 22458997A JP H1165930 A JPH1165930 A JP H1165930A
- Authority
- JP
- Japan
- Prior art keywords
- tlb
- physical address
- address
- microprocessor
- cpu
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】 割り込み処理時のTLB入れ替えに起因する
処理性能の低下を回避できるマイクロプロセッサを提供
する。 【解決手段】 MMUを内臓したマイクロプロセッサで
ある。プログラムの内容に応じた複数のTLB120a
および120bを有している。TLB120aおよび1
20bはそれぞれ、仮想アドレス対物理アドレスの変換
表を格納している。
処理性能の低下を回避できるマイクロプロセッサを提供
する。 【解決手段】 MMUを内臓したマイクロプロセッサで
ある。プログラムの内容に応じた複数のTLB120a
および120bを有している。TLB120aおよび1
20bはそれぞれ、仮想アドレス対物理アドレスの変換
表を格納している。
Description
【0001】
【発明の属する技術分野】本発明は、マイクロプロセッ
サに関し、特に、MMU(メモリマネージメントユニッ
ト)を内臓したマイクロプロセッサに関する。
サに関し、特に、MMU(メモリマネージメントユニッ
ト)を内臓したマイクロプロセッサに関する。
【0002】
【従来の技術】この種のマイクロプロセッサでは、CP
Uから出力されるアドレスをメインメモリ内のアドレス
変換テーブルで変換し、変換されたアドレスをアドレス
バスを通して出力する。アドレス変換は、メインメモリ
を介して行うと、オーバーヘッドが非常に大きくなり、
マイクロプロセッサの高速処理に関して不利である。こ
のため、一度メインメモリを介してアドレス変換したア
ドレスをアドレス変換テーブルキャッシュとしてのTL
B(Translation Lookaside Buffer、変換索引バッフ
ァ)内にキャッシングし、2回目以降のアドレス変換は
TLBを介して行い、マイクロプロセッサの高速処理を
実現することが多い。
Uから出力されるアドレスをメインメモリ内のアドレス
変換テーブルで変換し、変換されたアドレスをアドレス
バスを通して出力する。アドレス変換は、メインメモリ
を介して行うと、オーバーヘッドが非常に大きくなり、
マイクロプロセッサの高速処理に関して不利である。こ
のため、一度メインメモリを介してアドレス変換したア
ドレスをアドレス変換テーブルキャッシュとしてのTL
B(Translation Lookaside Buffer、変換索引バッフ
ァ)内にキャッシングし、2回目以降のアドレス変換は
TLBを介して行い、マイクロプロセッサの高速処理を
実現することが多い。
【0003】図4は、従来のこの種のマイクロプロセッ
サの構成を示すブロック図である。図4を参照して、マ
イクロプロセッサ300は、CPU310と、TLB3
20と、TLB入れ替え回路330と、タイマ340
と、仮想アドレスバス360と、物理アドレスバス37
0と、データバス380とを有している。また、マイク
ロプロセッサ300には、メインメモリ400が接続し
ている。
サの構成を示すブロック図である。図4を参照して、マ
イクロプロセッサ300は、CPU310と、TLB3
20と、TLB入れ替え回路330と、タイマ340
と、仮想アドレスバス360と、物理アドレスバス37
0と、データバス380とを有している。また、マイク
ロプロセッサ300には、メインメモリ400が接続し
ている。
【0004】マイクロプロセッサ300が動作すると、
CPU310は、TLBアクセス信号S31および仮想
アドレスを出力する。仮想ドレスは、仮想アドレスバス
360を通して、TLB320に入力される。
CPU310は、TLBアクセス信号S31および仮想
アドレスを出力する。仮想ドレスは、仮想アドレスバス
360を通して、TLB320に入力される。
【0005】メインメモリ400には、仮想アドレス対
物理アドレスの変換表が格納されている。TLB320
にも、仮想アドレス対物理アドレスへの変換表が格納さ
れている。しかし、TLB320の変換表には最近のア
ドレス変換の結果が格納されているに過ぎず、全ての仮
想空間に対応した変換表はあくまでもメインメモリ40
0の変換表に格納されている。
物理アドレスの変換表が格納されている。TLB320
にも、仮想アドレス対物理アドレスへの変換表が格納さ
れている。しかし、TLB320の変換表には最近のア
ドレス変換の結果が格納されているに過ぎず、全ての仮
想空間に対応した変換表はあくまでもメインメモリ40
0の変換表に格納されている。
【0006】TLB320は、CPU310から与えら
れた仮想アドレスが自らのアドレス変換表に存在する場
合には、物理アドレスに変換する。TLB320は、変
換した物理アドレスを、物理アドレスバス370を通し
て出力する。物理アドレスは、メインメモリ400に入
力される。
れた仮想アドレスが自らのアドレス変換表に存在する場
合には、物理アドレスに変換する。TLB320は、変
換した物理アドレスを、物理アドレスバス370を通し
て出力する。物理アドレスは、メインメモリ400に入
力される。
【0007】TLB320は、CPU310から与えら
れた仮想アドレスが自らのアドレス変換表に存在しない
場合、即ちTLBミスヒットの場合には、その部分に対
応したアドレス変換表をメインメモリ400から取って
くる必要がある。
れた仮想アドレスが自らのアドレス変換表に存在しない
場合、即ちTLBミスヒットの場合には、その部分に対
応したアドレス変換表をメインメモリ400から取って
くる必要がある。
【0008】TLBミスヒットの場合には、TLB32
0は、TLB入れ替え回路330に対して、TLB入れ
替え要求信号S34を出力し、メインメモリ400から
所望のアドレス変換表を取ってくるように要求する。T
LB入れ替え回路330は、要求されたアドレス変換表
を、物理アドレスバス370およびデータバス380を
通して取り出し、TLB320に格納させる。このよう
な動作は、TLBの入れ替えと呼ばれる。
0は、TLB入れ替え回路330に対して、TLB入れ
替え要求信号S34を出力し、メインメモリ400から
所望のアドレス変換表を取ってくるように要求する。T
LB入れ替え回路330は、要求されたアドレス変換表
を、物理アドレスバス370およびデータバス380を
通して取り出し、TLB320に格納させる。このよう
な動作は、TLBの入れ替えと呼ばれる。
【0009】上記説明から明らかなように、TLBの入
れ替えは、CPU310から与えられた仮想アドレスが
TLB320のアドレス変換表に存在しない場合に発生
する。このような状態は、マイクロプロセッサ300を
初期化した直後、あるいは、メインメモリ400内に初
めてアクセスした領域や殆どアクセスされない領域があ
るときに発生する。
れ替えは、CPU310から与えられた仮想アドレスが
TLB320のアドレス変換表に存在しない場合に発生
する。このような状態は、マイクロプロセッサ300を
初期化した直後、あるいは、メインメモリ400内に初
めてアクセスした領域や殆どアクセスされない領域があ
るときに発生する。
【0010】
【発明が解決しようとする課題】図4に示した例をも含
め、従来のマイクロプロセッサにおけるTLBの入れ替
えは、アドレス変換表をメインメモリから読み出してT
LB内に格納する動作、即ち一連したメモリリード動作
である。TLBの入れ替え中、即ち一連したリード動作
中には、CPUは動作を停止している。一般に、メモリ
リード動作の速度は、マイクロプロセッサにおけるその
他の動作の速度よりも格段に遅いため、TLBの入れ替
えが発生すると、マイクロプロセッサ全体の動作は格段
に遅くなる。
め、従来のマイクロプロセッサにおけるTLBの入れ替
えは、アドレス変換表をメインメモリから読み出してT
LB内に格納する動作、即ち一連したメモリリード動作
である。TLBの入れ替え中、即ち一連したリード動作
中には、CPUは動作を停止している。一般に、メモリ
リード動作の速度は、マイクロプロセッサにおけるその
他の動作の速度よりも格段に遅いため、TLBの入れ替
えが発生すると、マイクロプロセッサ全体の動作は格段
に遅くなる。
【0011】TLBには最近頻繁に変換が行われたアド
レスに関する仮想アドレス対物理アドレスの変換表が格
納されているため、定常的に行われているプログラム、
例えばメインルーチンは、格納されている可能性が高
い。一方、あまり頻繁には行われていないプログラム、
例えば突発的に発生する割り込み処理のルーチンは、格
納されている可能性が低い。即ち、割り込み処理のルー
チンについては、TLBの入れ替えが発生しやすい。
レスに関する仮想アドレス対物理アドレスの変換表が格
納されているため、定常的に行われているプログラム、
例えばメインルーチンは、格納されている可能性が高
い。一方、あまり頻繁には行われていないプログラム、
例えば突発的に発生する割り込み処理のルーチンは、格
納されている可能性が低い。即ち、割り込み処理のルー
チンについては、TLBの入れ替えが発生しやすい。
【0012】割り込み処理のルーチンは、緊急を要する
ため、素早く実行されるべきである。ところが、TLB
の入れ替えが発生すると、割り込みハンドラの実行が抑
制されるため、結果として、マイクロプロセッサ全体の
動作速度(処理性能)は、著しく低下する。
ため、素早く実行されるべきである。ところが、TLB
の入れ替えが発生すると、割り込みハンドラの実行が抑
制されるため、結果として、マイクロプロセッサ全体の
動作速度(処理性能)は、著しく低下する。
【0013】本発明の課題は、割り込み処理時のTLB
入れ替えに起因する処理性能の低下を回避できるマイク
ロプロセッサを提供することである。
入れ替えに起因する処理性能の低下を回避できるマイク
ロプロセッサを提供することである。
【0014】
【課題を解決するための手段】本発明によれば、MMU
を内臓したマイクロプロセッサにおいて、仮想アドレス
対物理アドレスの変換表を格納したTLBを、プログラ
ムの内容に応じて複数有することを特徴とするマイクロ
プロセッサが得られる。
を内臓したマイクロプロセッサにおいて、仮想アドレス
対物理アドレスの変換表を格納したTLBを、プログラ
ムの内容に応じて複数有することを特徴とするマイクロ
プロセッサが得られる。
【0015】本発明によればまた、CPUは、プログラ
ムの内容を示す信号を出力するものであり、前記信号に
基づいて、前記複数のTLBを使い分ける前記マイクロ
プロセッサが得られる。
ムの内容を示す信号を出力するものであり、前記信号に
基づいて、前記複数のTLBを使い分ける前記マイクロ
プロセッサが得られる。
【0016】本発明によればさらに、主にメインルーチ
ンに関する仮想アドレス対物理アドレスの変換表を格納
した第1のTLBと、割り込み処理のルーチンに関する
仮想アドレス対物理アドレスの変換表を格納した第2の
TLBとを有する前記マイクロプロセッサが得られる。
ンに関する仮想アドレス対物理アドレスの変換表を格納
した第1のTLBと、割り込み処理のルーチンに関する
仮想アドレス対物理アドレスの変換表を格納した第2の
TLBとを有する前記マイクロプロセッサが得られる。
【0017】本発明によればまた、前記CPUは、割り
込みハンドラが実行中か否かを示す割り込みハンドラ実
行信号を出力するものである前記マイクロプロセッサが
得られる。
込みハンドラが実行中か否かを示す割り込みハンドラ実
行信号を出力するものである前記マイクロプロセッサが
得られる。
【0018】本発明によればさらに、前記割り込みハン
ドラ実行信号に基づいて前記第1および前記第2のTL
Bのどちらか一方を選択するセレクタを有し、前記第1
および前記第2のTLBは、仮想アドレスバスを介して
前記CPUに接続していると共に、物理アドレスバスを
介してメインメモリに接続している前記マイクロプロセ
ッサが得られる。
ドラ実行信号に基づいて前記第1および前記第2のTL
Bのどちらか一方を選択するセレクタを有し、前記第1
および前記第2のTLBは、仮想アドレスバスを介して
前記CPUに接続していると共に、物理アドレスバスを
介してメインメモリに接続している前記マイクロプロセ
ッサが得られる。
【0019】本発明によればまた、前記割り込みハンド
ラ実行信号に基づいて前記第1および前記第2のTLB
のどちらか一方を選択するセレクタを有し、前記第1お
よび前記第2のTLBは、仮想アドレスバスを介して前
記CPUに接続していると共に、物理アドレスバスを介
して前記セレクタに接続しており、前記セレクタは、物
理アドレスバスを介してメインメモリに接続している前
記マイクロプロセッサが得られる。
ラ実行信号に基づいて前記第1および前記第2のTLB
のどちらか一方を選択するセレクタを有し、前記第1お
よび前記第2のTLBは、仮想アドレスバスを介して前
記CPUに接続していると共に、物理アドレスバスを介
して前記セレクタに接続しており、前記セレクタは、物
理アドレスバスを介してメインメモリに接続している前
記マイクロプロセッサが得られる。
【0020】
【発明の実施の形態】以下、本発明の実施の形態による
マイクロプロセッサを説明する。
マイクロプロセッサを説明する。
【0021】[実施の形態1]図1は、本発明の実施の
形態1によるマイクロプロセッサを示す図である。図2
は、本マイクロプロセッサの動作を説明するための図で
あり、CPUの動作、後述するハンドラ実行信号の内
容、後述するセレクタの出力、およびTLBの状態を示
す。
形態1によるマイクロプロセッサを示す図である。図2
は、本マイクロプロセッサの動作を説明するための図で
あり、CPUの動作、後述するハンドラ実行信号の内
容、後述するセレクタの出力、およびTLBの状態を示
す。
【0022】図1を参照して、マイクロプロセッサ10
0は、従来例と同様に、CPU110と、TLB入れ替
え回路130と、タイマ140と、仮想アドレスバス1
60と、物理アドレスバス170と、データバス180
とを有している。また、マイクロプロセッサ100に
は、メインメモリ400が接続している。
0は、従来例と同様に、CPU110と、TLB入れ替
え回路130と、タイマ140と、仮想アドレスバス1
60と、物理アドレスバス170と、データバス180
とを有している。また、マイクロプロセッサ100に
は、メインメモリ400が接続している。
【0023】さらに、マイクロプロセッサ100は、主
にメインルーチンに関する仮想アドレス対物理アドレス
の変換表が格納されている第1のTLBとしてのTLB
120aと、割り込み処理のルーチンに関する仮想アド
レス対物理アドレスの変換表が格納されている第2のT
LBとしてのTLB120bと、セレクタ150とを有
している。
にメインルーチンに関する仮想アドレス対物理アドレス
の変換表が格納されている第1のTLBとしてのTLB
120aと、割り込み処理のルーチンに関する仮想アド
レス対物理アドレスの変換表が格納されている第2のT
LBとしてのTLB120bと、セレクタ150とを有
している。
【0024】図1および図2を参照して、マイクロプロ
セッサ100が動作すると、CPU110は、仮想アド
レスを出力する。仮想アドレスは、仮想アドレスバス1
60を通して、TLB120aおよび120bに入力さ
れる。CPU110はまた、メインメモリ400をアク
セスするときに、TLBアクセス信号S11を出力す
る。CPU110はさらに、割り込みハンドラが実行中
か否かを示す割り込みハンドラ実行信号S12を出力す
る。TLBアクセス信号S11およびハンドラ実行信号
S12は、セレクタ150に入力される。
セッサ100が動作すると、CPU110は、仮想アド
レスを出力する。仮想アドレスは、仮想アドレスバス1
60を通して、TLB120aおよび120bに入力さ
れる。CPU110はまた、メインメモリ400をアク
セスするときに、TLBアクセス信号S11を出力す
る。CPU110はさらに、割り込みハンドラが実行中
か否かを示す割り込みハンドラ実行信号S12を出力す
る。TLBアクセス信号S11およびハンドラ実行信号
S12は、セレクタ150に入力される。
【0025】セレクタ150は、TLBアクセス信号S
11が入力されると、ハンドラ実行信号S12が割り込
みハンドラの非実行を示すときはTLBアクセス信号S
13aを出力する一方、ハンドラ実行信号S12が割り
込みハンドラの実行中を示すときはTLBアクセス信号
S13bを出力する。
11が入力されると、ハンドラ実行信号S12が割り込
みハンドラの非実行を示すときはTLBアクセス信号S
13aを出力する一方、ハンドラ実行信号S12が割り
込みハンドラの実行中を示すときはTLBアクセス信号
S13bを出力する。
【0026】TLB120aは、TLBアクセス信号S
13aが入力されると、CPU110から与えられた仮
想アドレスが自らのアドレス変換表に存在する場合に
は、物理アドレスに変換する。TLB120aは、変換
した物理アドレスを、物理アドレスバス170を通して
出力する。物理アドレスは、メインメモリ400に入力
される。ミスヒットの場合には、TLB入れ替え回路1
30に対して、TLB入れ替え要求信号S14を出力
し、メインメモリ400から所望のアドレス変換表を取
ってくるように要求する。TLB入れ替え回路130
は、要求されたアドレス変換表を、物理アドレスバス1
70およびデータバス180を通して取り出し、TLB
120aに格納させる。
13aが入力されると、CPU110から与えられた仮
想アドレスが自らのアドレス変換表に存在する場合に
は、物理アドレスに変換する。TLB120aは、変換
した物理アドレスを、物理アドレスバス170を通して
出力する。物理アドレスは、メインメモリ400に入力
される。ミスヒットの場合には、TLB入れ替え回路1
30に対して、TLB入れ替え要求信号S14を出力
し、メインメモリ400から所望のアドレス変換表を取
ってくるように要求する。TLB入れ替え回路130
は、要求されたアドレス変換表を、物理アドレスバス1
70およびデータバス180を通して取り出し、TLB
120aに格納させる。
【0027】一方、TLB120bは、TLBアクセス
信号S13bが入力されると、CPU110から与えら
れた仮想アドレスが自らのアドレス変換表、即ち割り込
み処理のルーチンに関するアドレス変換表に存在する場
合には、物理アドレスに変換する。TLB120bは、
変換した物理アドレスを、物理アドレスバス170を通
して出力する。物理アドレスは、メインメモリ400に
入力される。
信号S13bが入力されると、CPU110から与えら
れた仮想アドレスが自らのアドレス変換表、即ち割り込
み処理のルーチンに関するアドレス変換表に存在する場
合には、物理アドレスに変換する。TLB120bは、
変換した物理アドレスを、物理アドレスバス170を通
して出力する。物理アドレスは、メインメモリ400に
入力される。
【0028】TLB120bは、割り込み処理のルーチ
ンに関するアドレス変換表を格納しているので、TLB
ミスヒットの確率は低い。しかしながら、ミスヒットの
場合には、TLB入れ替え回路130に対して、TLB
入れ替え要求信号S14を出力し、メインメモリ400
から所望のアドレス変換表を取ってくるように要求す
る。TLB入れ替え回路130は、要求されたアドレス
変換表を、物理アドレスバス170およびデータバス1
80を通して取り出し、TLB120bに格納させる。
ンに関するアドレス変換表を格納しているので、TLB
ミスヒットの確率は低い。しかしながら、ミスヒットの
場合には、TLB入れ替え回路130に対して、TLB
入れ替え要求信号S14を出力し、メインメモリ400
から所望のアドレス変換表を取ってくるように要求す
る。TLB入れ替え回路130は、要求されたアドレス
変換表を、物理アドレスバス170およびデータバス1
80を通して取り出し、TLB120bに格納させる。
【0029】[実施の形態2]図3は、本発明の実施の
形態2によるマイクロプロセッサを示す図である。図1
を参照して、マイクロプロセッサ200は、従来例と同
様に、CPU210と、TLB入れ替え回路230と、
タイマ240と、仮想アドレスバス260と、物理アド
レスバス270a、270b、および270cと、デー
タバス280とを有している。また、マイクロプロセッ
サ200には、メインメモリ400が接続している。
形態2によるマイクロプロセッサを示す図である。図1
を参照して、マイクロプロセッサ200は、従来例と同
様に、CPU210と、TLB入れ替え回路230と、
タイマ240と、仮想アドレスバス260と、物理アド
レスバス270a、270b、および270cと、デー
タバス280とを有している。また、マイクロプロセッ
サ200には、メインメモリ400が接続している。
【0030】さらに、マイクロプロセッサ200は、主
にメインルーチンに関する仮想アドレス対物理アドレス
の変換表が格納されている第1のTLBとしてのTLB
220aと、割り込み処理のルーチンに関する仮想アド
レス対物理アドレスの変換表が格納されている第2のT
LBとしてのTLB220bと、セレクタ250とを有
している。
にメインルーチンに関する仮想アドレス対物理アドレス
の変換表が格納されている第1のTLBとしてのTLB
220aと、割り込み処理のルーチンに関する仮想アド
レス対物理アドレスの変換表が格納されている第2のT
LBとしてのTLB220bと、セレクタ250とを有
している。
【0031】図3を参照して、マイクロプロセッサ20
0が動作すると、CPU210は、仮想アドレスを出力
する。仮想アドレスは、仮想アドレスバス260を通し
て、TLB220aおよび220bに入力される。CP
U210はまた、メインメモリ400をアクセスすると
きに、TLBアクセス信号S21を出力する。TLBア
クセス信号S21は、TLB220aおよび220bの
両方に入力される。CPU210はさらに、割り込みハ
ンドラが実行中か否かを示す割り込みハンドラ実行信号
S22を出力する。ハンドラ実行信号S12は、セレク
タ250に入力される。
0が動作すると、CPU210は、仮想アドレスを出力
する。仮想アドレスは、仮想アドレスバス260を通し
て、TLB220aおよび220bに入力される。CP
U210はまた、メインメモリ400をアクセスすると
きに、TLBアクセス信号S21を出力する。TLBア
クセス信号S21は、TLB220aおよび220bの
両方に入力される。CPU210はさらに、割り込みハ
ンドラが実行中か否かを示す割り込みハンドラ実行信号
S22を出力する。ハンドラ実行信号S12は、セレク
タ250に入力される。
【0032】TLB220aおよび220bはそれぞ
れ、TLBアクセス信号S21が入力されると、CPU
210から与えられた仮想アドレスが自らのアドレス変
換表に存在する場合には、物理アドレスに変換する。T
LB220aおよび220bはそれぞれ、変換した物理
アドレスを、物理アドレスバス270aおよび270b
を通して出力する。物理アドレスは、セレクタ250に
入力される。一方、ミスヒットの場合には、TLB22
0aおよび220bはそれぞれ、セレクタ250に対し
て、TLB入れ替え要求信号S24aおよび24bを出
力する。
れ、TLBアクセス信号S21が入力されると、CPU
210から与えられた仮想アドレスが自らのアドレス変
換表に存在する場合には、物理アドレスに変換する。T
LB220aおよび220bはそれぞれ、変換した物理
アドレスを、物理アドレスバス270aおよび270b
を通して出力する。物理アドレスは、セレクタ250に
入力される。一方、ミスヒットの場合には、TLB22
0aおよび220bはそれぞれ、セレクタ250に対し
て、TLB入れ替え要求信号S24aおよび24bを出
力する。
【0033】セレクタ250は、ハンドラ実行信号S2
2が割り込みハンドラの非実行を示し、かつTLB22
0aから物理アドレスが入力されているときはこの物理
アドレスを物理アドレスバス270cを通してメインメ
モリ400に出力する一方、ハンドラ実行信号S22が
割り込みハンドラの実行中を示し、かつTLB220b
から物理アドレスが入力されているときはすときはこの
物理アドレスを物理アドレスバス270cを通してメイ
ンメモリ400に出力する。
2が割り込みハンドラの非実行を示し、かつTLB22
0aから物理アドレスが入力されているときはこの物理
アドレスを物理アドレスバス270cを通してメインメ
モリ400に出力する一方、ハンドラ実行信号S22が
割り込みハンドラの実行中を示し、かつTLB220b
から物理アドレスが入力されているときはすときはこの
物理アドレスを物理アドレスバス270cを通してメイ
ンメモリ400に出力する。
【0034】他方、セレクタ250は、ハンドラ実行信
号S22が割り込みハンドラの非実行を示し、かつTL
B220aからTLB入れ替え要求信号S24aが入力
されているときはTLB入れ替え回路230に対して、
TLB入れ替え要求信号S24cを出力し、メインメモ
リ400から所望のアドレス変換表を取ってくるように
要求する。TLB入れ替え回路230は、要求されたア
ドレス変換表を、物理アドレスバス270cおよびデー
タバス280を通して取り出し、TLB220aに格納
させる。一方、セレクタ250は、ハンドラ実行信号S
22が割り込みハンドラの実行中を示し、かつTLB2
20bからTLB入れ替え要求信号S24bが入力され
ているときはTLB入れ替え回路230に対して、TL
B入れ替え要求信号S24cを出力し、メインメモリ4
00から所望のアドレス変換表を取ってくるように要求
する。TLB入れ替え回路230は、要求されたアドレ
ス変換表を、物理アドレスバス270cおよびデータバ
ス280を通して取り出し、TLB220bに格納させ
る。
号S22が割り込みハンドラの非実行を示し、かつTL
B220aからTLB入れ替え要求信号S24aが入力
されているときはTLB入れ替え回路230に対して、
TLB入れ替え要求信号S24cを出力し、メインメモ
リ400から所望のアドレス変換表を取ってくるように
要求する。TLB入れ替え回路230は、要求されたア
ドレス変換表を、物理アドレスバス270cおよびデー
タバス280を通して取り出し、TLB220aに格納
させる。一方、セレクタ250は、ハンドラ実行信号S
22が割り込みハンドラの実行中を示し、かつTLB2
20bからTLB入れ替え要求信号S24bが入力され
ているときはTLB入れ替え回路230に対して、TL
B入れ替え要求信号S24cを出力し、メインメモリ4
00から所望のアドレス変換表を取ってくるように要求
する。TLB入れ替え回路230は、要求されたアドレ
ス変換表を、物理アドレスバス270cおよびデータバ
ス280を通して取り出し、TLB220bに格納させ
る。
【0035】
【発明の効果】本発明によるマイクロプロセッサは、仮
想アドレス対物理アドレスの変換表を格納したTLBを
プログラムの内容に応じて複数有しているため、割り込
み処理時のTLB入れ替えに起因する処理性能の低下を
回避できる。
想アドレス対物理アドレスの変換表を格納したTLBを
プログラムの内容に応じて複数有しているため、割り込
み処理時のTLB入れ替えに起因する処理性能の低下を
回避できる。
【図1】本発明の実施の形態1によるマイクロプロセッ
サの構成を示す図である。
サの構成を示す図である。
【図2】本発明の実施の形態1によるマイクロプロセッ
サの動作を説明するための図である。
サの動作を説明するための図である。
【図3】本発明の実施の形態2によるマイクロプロセッ
サの構成を示す図である。
サの構成を示す図である。
【図4】従来例によるマイクロプロセッサの構成を示す
図である。
図である。
100、200、300 マイクロプロセッサ 110、210、310 CPU 120a、120b、220a、220b、320
TLB 130、230、330 TLB入れ替え回路 140、240、340 タイマ 150、250 セレクタ 160、260、360 仮想アドレスバス 170、270a、270b、270c、370 物
理アドレスバス 180、280、380 データバス 400 メインメモリ S11、S21、S31 TLBアクセス信号 S12、S22 割り込みハンドラ実行信号 S13a、S13b TLBアクセス信号 S14、S24a、S24b、S24c、S34 T
LB入れ替え要求信号
TLB 130、230、330 TLB入れ替え回路 140、240、340 タイマ 150、250 セレクタ 160、260、360 仮想アドレスバス 170、270a、270b、270c、370 物
理アドレスバス 180、280、380 データバス 400 メインメモリ S11、S21、S31 TLBアクセス信号 S12、S22 割り込みハンドラ実行信号 S13a、S13b TLBアクセス信号 S14、S24a、S24b、S24c、S34 T
LB入れ替え要求信号
Claims (6)
- 【請求項1】 MMUを内臓したマイクロプロセッサに
おいて、仮想アドレス対物理アドレスの変換表を格納し
たTLBを、プログラムの内容に応じて複数有すること
を特徴とするマイクロプロセッサ。 - 【請求項2】 CPUは、プログラムの内容を示す信号
を出力するものであり、前記信号に基づいて、前記複数
のTLBを使い分ける請求項1に記載のマイクロプロセ
ッサ。 - 【請求項3】 主にメインルーチンに関する仮想アドレ
ス対物理アドレスの変換表を格納した第1のTLBと、
割り込み処理のルーチンに関する仮想アドレス対物理ア
ドレスの変換表を格納した第2のTLBとを有する請求
項1または2に記載のマイクロプロセッサ。 - 【請求項4】 前記CPUは、割り込みハンドラが実行
中か否かを示す割り込みハンドラ実行信号を出力するも
のである請求項3に記載のマイクロプロセッサ。 - 【請求項5】 前記割り込みハンドラ実行信号に基づい
て前記第1および前記第2のTLBのどちらか一方を選
択するセレクタを有し、前記第1および前記第2のTL
Bは、仮想アドレスバスを介して前記CPUに接続して
いると共に、物理アドレスバスを介してメインメモリに
接続している請求項4に記載のマイクロプロセッサ。 - 【請求項6】 前記割り込みハンドラ実行信号に基づい
て前記第1および前記第2のTLBのどちらか一方を選
択するセレクタを有し、前記第1および前記第2のTL
Bは、仮想アドレスバスを介して前記CPUに接続して
いると共に、物理アドレスバスを介して前記セレクタに
接続しており、前記セレクタは、物理アドレスバスを介
してメインメモリに接続している請求項4に記載のマイ
クロプロセッサ。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9224589A JPH1165930A (ja) | 1997-08-21 | 1997-08-21 | マイクロプロセッサ |
| KR1019980033605A KR19990023701A (ko) | 1997-08-21 | 1998-08-19 | 메모리 관리 장치를 구비한 마이크로프로세서 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9224589A JPH1165930A (ja) | 1997-08-21 | 1997-08-21 | マイクロプロセッサ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH1165930A true JPH1165930A (ja) | 1999-03-09 |
Family
ID=16816105
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9224589A Pending JPH1165930A (ja) | 1997-08-21 | 1997-08-21 | マイクロプロセッサ |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JPH1165930A (ja) |
| KR (1) | KR19990023701A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100403897B1 (ko) * | 2000-11-30 | 2003-11-05 | 주식회사 마이다스엔지니어링 | 윈도우즈 에물레이션 80씨196(16비트) 트레이너 |
| US7024536B2 (en) * | 2002-03-19 | 2006-04-04 | Samsung Electronics Co., Ltd. | Translation look-aside buffer for improving performance and reducing power consumption of a memory and memory management method using the same |
| CN100387006C (zh) * | 2000-04-18 | 2008-05-07 | 国际商业机器公司 | 内部使用网络交换的计算机系统和方法 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101103818B1 (ko) * | 2010-01-22 | 2012-01-06 | 한국과학기술원 | 메모리 관리 유닛 제어 장치, 이를 포함하는 멀티 코어 프로세서, 컴퓨터 시스템 및 메모리 관리 유닛 제어 방법 |
-
1997
- 1997-08-21 JP JP9224589A patent/JPH1165930A/ja active Pending
-
1998
- 1998-08-19 KR KR1019980033605A patent/KR19990023701A/ko not_active Abandoned
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100387006C (zh) * | 2000-04-18 | 2008-05-07 | 国际商业机器公司 | 内部使用网络交换的计算机系统和方法 |
| KR100403897B1 (ko) * | 2000-11-30 | 2003-11-05 | 주식회사 마이다스엔지니어링 | 윈도우즈 에물레이션 80씨196(16비트) 트레이너 |
| US7024536B2 (en) * | 2002-03-19 | 2006-04-04 | Samsung Electronics Co., Ltd. | Translation look-aside buffer for improving performance and reducing power consumption of a memory and memory management method using the same |
Also Published As
| Publication number | Publication date |
|---|---|
| KR19990023701A (ko) | 1999-03-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8799621B2 (en) | Translation table control | |
| US5918251A (en) | Method and apparatus for preloading different default address translation attributes | |
| EP0797149B1 (en) | Architecture and method for sharing tlb entries | |
| US5752275A (en) | Translation look-aside buffer including a single page size translation unit | |
| US6324634B1 (en) | Methods for operating logical cache memory storing logical and physical address information | |
| US5918250A (en) | Method and apparatus for preloading default address translation attributes | |
| US5282274A (en) | Translation of multiple virtual pages upon a TLB miss | |
| US4774653A (en) | Hybrid hardware/software method and apparatus for virtual memory address translation using primary and secondary translation buffers | |
| US6343345B1 (en) | Cache blocking of specific data to secondary cache with a first and a second OR circuit | |
| US6304944B1 (en) | Mechanism for storing system level attributes in a translation lookaside buffer | |
| US20020065989A1 (en) | Master/slave processing system with shared translation lookaside buffer | |
| US5555395A (en) | System for memory table cache reloads in a reduced number of cycles using a memory controller to set status bits in the main memory table | |
| JPH08320829A (ja) | データ処理装置 | |
| JPH11501744A (ja) | アドレス変換速度アップのための並列アクセスマイクロ−tlb | |
| EP2115599A1 (en) | Method and apparatus for setting cache policies in a processor | |
| JP3958561B2 (ja) | マイクロプロセッサ及びマイクロプロセッサのアドレス変換方法 | |
| JP3227707B2 (ja) | 走行モード別キャッシュメモリ制御方式 | |
| JP4266629B2 (ja) | ページ・テーブル属性によるバス・インタフェース選択 | |
| WO2004031943A1 (ja) | データプロセッサ | |
| US8688952B2 (en) | Arithmetic processing unit and control method for evicting an entry from a TLB to another TLB | |
| JP2768503B2 (ja) | 仮想記憶アドレス空間アクセス制御方式 | |
| JP3970705B2 (ja) | アドレス変換装置、アドレス変換方法および2階層アドレス変換装置 | |
| US5991848A (en) | Computing system accessible to a split line on border of two pages within one cycle | |
| JPH04308953A (ja) | 仮想アドレス計算機装置 | |
| JPH1165930A (ja) | マイクロプロセッサ |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20000517 |