JP3168489B2 - TLB control method and device - Google Patents

TLB control method and device

Info

Publication number
JP3168489B2
JP3168489B2 JP11012193A JP11012193A JP3168489B2 JP 3168489 B2 JP3168489 B2 JP 3168489B2 JP 11012193 A JP11012193 A JP 11012193A JP 11012193 A JP11012193 A JP 11012193A JP 3168489 B2 JP3168489 B2 JP 3168489B2
Authority
JP
Japan
Prior art keywords
tlb
address
page address
logical page
flag
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
JP11012193A
Other languages
Japanese (ja)
Other versions
JPH06324946A (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 JP11012193A priority Critical patent/JP3168489B2/en
Publication of JPH06324946A publication Critical patent/JPH06324946A/en
Application granted granted Critical
Publication of JP3168489B2 publication Critical patent/JP3168489B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、フル・アソシアティブ
方式の変換索引バッファ(Translation Lookaside Buff
er:以下TLBと略す)を有するマイクロプロセッサ
(以下MPUと略す)におけるTLB制御方法及び装置
に関し、特にMPUがTLBフォルト処理を行う例外処
理で、特定のマスク・レベルを有しない場合におけるT
LB制御方法及び装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a translation lookaside buffer of a full associative system.
er: Hereinafter, a TLB control method and apparatus in a microprocessor (hereinafter, abbreviated as MPU) having a TLB, particularly when the MPU does not have a specific mask level in exception processing in which TLB fault processing is performed. T at
The present invention relates to an LB control method and apparatus .

【0002】例えば68000系のMPUでは、TLB
フォルトが発生すると、バス・エラーとしてMPUに通
知され、処理されるようになっている。また68000
系のMPUでは、バス・エラーが発生して、バス・エラ
ーの例外処理が動作し始めても、割り込みに対するMP
Uのマスク・レベルは、バス・エラーが発生する以前
の、プログラム走行レベルのままに維持されるようにな
っており、通常は、バス・エラーの例外処理における先
頭の命令で、マスク・レベルを最大の値(レベル7)に
セットしたのちに、バス・エラー処理が行われる。
For example, in a 68000-series MPU, TLB
When a fault occurs, the MPU is notified as a bus error and is processed. Also 68000
Even if a bus error occurs and the bus error exception handling starts to operate, the
The mask level of U is maintained at the program running level before the bus error occurred. Usually, the mask level is set by the first instruction in the exception processing of the bus error. After setting to the maximum value (level 7), bus error processing is performed.

【0003】ところが、バス・エラーの例外処理のため
のスタック動作と、バス・エラー例外処理における先頭
の命令との間で、そのときのプログラム走行レベルより
も高いレベルの割り込み要因があると、バス・エラー例
外処理における先頭の命令を実行する前にこの割り込み
が受け付けられて、割り込み処理が優先して行われるこ
とになる。
However, if there is an interrupt factor of a higher level than the program running level at that time between the stack operation for the exception processing of the bus error and the first instruction in the bus error exception processing, the bus operation is stopped. The interrupt is accepted before the first instruction in the error exception processing is executed, and the interrupt processing is performed with priority.

【0004】そのため、このような種類のMPUにおい
ては、マルチ・タスク環境でプログラムが動作している
場合に、各プロセスに共通な領域に対して、TLBフォ
ルト処理の要求がバス・エラー処理に対して2回発生
し、そのため同一アドレスに対して2つのエントリがT
LBにセットされることにより、ダブル・セレクト・エ
ラーが発生し易いが、このような場合でも、正しく論理
ページアドレスを物理ページアドレスに変換できるよう
にすることが求められている。
[0004] Therefore, in such a type of MPU, when a program is operating in a multi-task environment, a request for TLB fault processing is sent to an area common to each process to bus error processing. Occurs twice, so that two entries for the same address are T
By setting to LB, a double select error is likely to occur, but even in such a case, it is required to be able to correctly convert a logical page address to a physical page address.

【0005】[0005]

【従来の技術】図6は、従来の、および本発明が適用さ
れるシステム構成を示したものであって、1はMPUを
示し、2はメモリ・マネージメント・ユニット(以下M
MUと略す)であって、メモリに対するアドレス変換機
構を形成する。3はメモリ制御部であって、メモリ4の
制御を行う。
2. Description of the Related Art FIG. 6 shows a conventional system configuration to which the present invention is applied, wherein 1 indicates an MPU, and 2 indicates a memory management unit (hereinafter referred to as M).
MU), forming an address translation mechanism for the memory. A memory control unit 3 controls the memory 4.

【0006】図6において、MPU1から論理アドレス
が出力されたとき、MMU2は、論理アドレスに基づい
て、これを物理アドレスに変換してアドレス線(AD
R)に出力する。メモリ制御部3は、この物理アドレス
をメモリ・アドレスとして出力することによって、メモ
リ4からアドレスに対応するデータが出力される。図
中、CTLはコントロール線を示している。
In FIG. 6, when a logical address is output from the MPU 1, the MMU 2 converts the logical address into a physical address based on the logical address and converts the address into an address line (AD).
R). The memory control unit 3 outputs the data corresponding to the address from the memory 4 by outputting the physical address as a memory address. In the figure, CTL indicates a control line.

【0007】図7は、従来の、および本発明が適用され
るMMUの内部ロジックを示したものである。11はエ
ントリ数nに対応するTLBであって、MPUのデータ
における論理ページアドレスと物理ページアドレスとが
それぞれエントリされる。またIはそのエントリが無効
化されたことを示す無効ビット、Rはそのエントリが参
照(リードまたはライト)されたことを示す参照ビッ
ト、Cはそのエントリが更新されたことを示す更新ビッ
トである。12はn個の比較回路であって、MPUのア
ドレスにおける論理ページアドレスと、各TLBにエン
トリされている論理ページアドレスとを比較する。13
はn個のAND回路であって、各比較回路における比較
一致時、TLBにセットされたMPUの論理ページアド
レスに対応する物理ページアドレスを出力する。14は
ダブル・セレクト・エラー検出部であって、2個以上の
比較回路における比較一致時、ダブル・セレクト・エラ
ーを出力する。
FIG. 7 shows the internal logic of a conventional MMU to which the present invention is applied. Reference numeral 11 denotes a TLB corresponding to the number n of entries, in which a logical page address and a physical page address in MPU data are respectively entered. I is an invalid bit indicating that the entry has been invalidated, R is a reference bit indicating that the entry has been referenced (read or written), and C is an update bit indicating that the entry has been updated. . Reference numeral 12 denotes n comparison circuits for comparing a logical page address in an MPU address with a logical page address entered in each TLB. 13
Are n AND circuits, which output a physical page address corresponding to the logical page address of the MPU set in the TLB when the comparison circuits match. Numeral 14 denotes a double select error detection unit which outputs a double select error when two or more comparison circuits match.

【0008】MPUのアドレスは、論理ページアドレス
とページ内アドレスとからなっている。またTLBにセ
ットされるMPUのデータは、図6に示されたメモリ4
に予め格納されているアドレス変換テーブルから読み出
された、論理ページアドレスと物理ページアドレスとか
らなっている。比較回路12において、論理ページアド
レスの一致が検出されたとき、AND回路13を介して
TLBにエントリされた物理ページアドレスが出力さ
れ、MPUのアドレスにおけるページ内アドレスが無変
換で付加されて、図6に示されたメモリ制御部3に対す
る物理アドレス(メモリ・アドレス)が生成される。
[0008] The address of the MPU is composed of a logical page address and an address within a page. MPU data set in the TLB is stored in the memory 4 shown in FIG.
The logical page address and the physical page address are read from an address conversion table stored in advance in the address conversion table. When the comparison circuit 12 detects a match of the logical page address, the physical page address entered in the TLB is output via the AND circuit 13, and the in-page address in the MPU address is added without conversion. A physical address (memory address) for the memory control unit 3 shown in FIG. 6 is generated.

【0009】この際、プログラムが誤ってTLBに2個
以上の同一エントリをセットしたときは、2個の物理ア
ドレスが選択されることによって、誤ったアドレスが出
力されるので、ダブル・セレクト・エラー検出部14に
よって ダブル・セレクト・エラーを出力して、この場
合のアドレス出力を無効にするようになっている。
At this time, if the program erroneously sets two or more identical entries in the TLB, an erroneous address is output by selecting two physical addresses, so that a double select error occurs. A double select error is output by the detection unit 14, and the address output in this case is invalidated.

【0010】図8は、従来のTLB制御方式を示したも
のであって、プロセス1とプロセス2を処理する、マル
チ・タスク処理の場合を例示している。まず、プロセス
1で共通領域のある番地Aに対してアクセスした際に、
TLBにA番地に対するTLBエントリがセットされて
いないために、TLBフォルトが発生すると、このTL
BフォルトはMPUに対してバス・エラーの割り込みに
よって通知される。
FIG. 8 shows a conventional TLB control system, and illustrates a case of a multi-task process in which processes 1 and 2 are processed. First, when an address A having a common area is accessed in the process 1,
If a TLB fault occurs because the TLB entry for address A is not set in the TLB, this TLB
The B fault is notified to the MPU by a bus error interrupt.

【0011】MPUは割り込みに基づいて、走行中のプ
ログラムに対する例外処理としてバス・エラー処理を行
うため、プロセスにおけるレジスタ情報等の、必要な最
小限のハードウエア情報を、スタック領域に退避するス
タック処理を開始する。68000系等のMPUでは、
このスタック処理中に、現走行レベルより高いレベルの
割り込み要求があると、バス・エラー処理の最初の命令
を実行する前に、この割り込みを受け付けるようになっ
ており、これによって、さらにバス・エラー処理に対す
るスタック処理が行われる。そして、スタック処理に引
き続き、割り込み要因を判別してその要因に対する処理
を行う。この処理は割り込み処理の延長で行われるもの
であり、これによって別のプロセス(プロセス2)が動
作を開始したとする。
The MPU performs a bus error process as an exception process for a running program based on an interrupt. Therefore, a stack process for saving necessary minimum hardware information such as register information in a process to a stack area. To start. For MPUs such as the 68000 series,
During this stack processing, if there is an interrupt request of a higher level than the current running level, this interrupt will be accepted before executing the first instruction of the bus error processing. Stack processing is performed for the processing. Then, following the stack processing, the cause of the interrupt is determined and processing for the cause is performed. This process is performed as an extension of the interrupt process, and it is assumed that another process (process 2) has started operation.

【0012】プロセス2を実行中に、プロセス1と同じ
共通領域のA番地にアクセスしたとすると、プロセス1
のA番地に対するTLBフォルト処理がまだ実行されて
いないので、A番地に対するTLBエントリがセットさ
れていないため、再び、A番地に対してTLBフォルト
が発生する。このTLBフォルトも、バス・エラーによ
ってMPUに通知されるため、MPUは、プロセス1の
A番地のTLBフォルト処理をペンディングにしたま
ま、バス・エラー処理としてプロセス2に対するTLB
フォルト処理を先に実行する。
If the address A in the same common area as the process 1 is accessed during the execution of the process 2, the process 1
Since the TLB fault processing for address A has not been executed yet, the TLB entry for address A has not been set, and a TLB fault occurs again for address A. Since this TLB fault is also notified to the MPU by a bus error, the MPU keeps the TLB fault processing of the address A of the process 1 pending and executes the TLB for the process 2 as a bus error processing.
Execute fault processing first.

【0013】MPUは、プロセス2に対するスタック処
理を行い、割り込み処理のマスク・レベルを最高のレベ
ル‘7’にセットして、MMUにおけるTLBフォルト
のステータス(STS)をクリアしたのち、TLBエン
トリに、A番地に対応する論理ページアドレスと、対応
する物理ページアドレスとをセットする。これによって
プロセス2に対するTLBフォルトの処理が終了するの
で、リターン(RTE)命令を実行し、プロセス2のス
タック処理を行って、プロセス2で最初に退避した情報
をもとのハードウエアに復元するとともに、プロセス2
の処理に復帰する。
The MPU performs stack processing for the process 2, sets the mask level of the interrupt processing to the highest level “7”, clears the TLB fault status (STS) in the MMU, and then stores the TLB entry in the TLB entry. A logical page address corresponding to address A and a corresponding physical page address are set. As a result, the process of the TLB fault for the process 2 is completed. Therefore, the return (RTE) instruction is executed, the stack process of the process 2 is performed, and the information first saved in the process 2 is restored to the original hardware. , Process 2
It returns to the processing of.

【0014】プロセス2の処理に復帰することによっ
て、A番地にアクセスされて、プロセス2の処理が実行
される。プロセス2が終了したとき、RTEを実行し、
バス・エラー処理に復帰するスタック処理を行ったの
ち、プロセス1に対するTLBフォルト処理に復帰す
る。
By returning to the process 2, the address A is accessed and the process 2 is executed. When process 2 ends, execute RTE,
After performing the stack processing for returning to the bus error processing, the processing returns to the TLB fault processing for the process 1.

【0015】MPUは、割り込み処理のマスク・レベル
をレベル‘7’にセットして、MMUのTLBフォルト
のSTSをクリアしたのち、TLBエントリに、A番地
に対応する論理ページアドレスと、対応する物理ページ
アドレスとをセットする。この時点で、TLBには、同
一の論理ページアドレスに対して、*で示すように2つ
の物理ページアドレスの対応がエントリされたことにな
る。
The MPU sets the mask level of the interrupt processing to level '7', clears the STS of the TLB fault of the MMU, and then stores the logical page address corresponding to the address A and the corresponding physical address in the TLB entry. Set the page address. At this point, two physical page addresses corresponding to the same logical page address have been entered in the TLB as indicated by *.

【0016】これによってプロセス1に対するTLBフ
ォルトの処理が終了するので、RTEを実行し、プロセ
ス1に復帰するスタック処理を行ったのち、プロセス1
の処理に復帰する。
As a result, the processing of the TLB fault for the process 1 is completed. After the RTE is executed and the stack processing for returning to the process 1 is performed,
It returns to the processing of.

【0017】プロセス1の処理に復帰することによっ
て、A番地がアクセスされるが、A番地はプロセス2に
おいてすでにアクセスされている。MMUはこの状態で
は、ダブル・セレクト・エラーを出力してMPUに通知
することによって、この場合のアドレス出力を無効にす
る。
By returning to the process 1, the address A is accessed, but the address A has already been accessed in the process 2. In this state, the MMU outputs a double select error to notify the MPU, thereby invalidating the address output in this case.

【0018】[0018]

【発明が解決しようとする課題】フル・アソシアティブ
方式のTLBを有し、MPUがバス・エラーの例外処理
によってTLBフォルト処理を行うある種のMPUにお
いては、TLBフォルト処理に対して、特定のマスク・
レベルを有しないため、割り込み発生によって例外処理
が中断されて、TLBフォルト処理の要求が重複して発
生し、そのためTLBエントリにおいて、一つの論理ペ
ージアドレスに2つの物理ページアドレスがセットさ
れ、ダブル・セレクト・エラーが発生する。
In a certain MPU having a TLB of the full associative system and in which the MPU performs the TLB fault processing by the exception processing of the bus error, a specific mask is used for the TLB fault processing.・
Since there is no level, exception processing is interrupted by the occurrence of an interrupt, and TLB fault processing requests are duplicated. Therefore, two physical page addresses are set to one logical page address in the TLB entry, and double A select error occurs.

【0019】本発明は、このような従来技術の課題を解
決しようとするものであって、このようなMPUを使用
した場合でも、常にTLBエントリに対して、論理ペー
ジアドレスと物理ページアドレスとの対応を正しくセッ
トして、論理ページアドレスと物理ページアドレスとの
変換を行うことができる、TLB制御方法及び装置を提
供することを目的としている。
The present invention is intended to solve such a problem of the prior art. Even when such an MPU is used, a logical page address and a physical page address are always assigned to a TLB entry. It is an object of the present invention to provide a TLB control method and apparatus that can set a correspondence correctly and convert between a logical page address and a physical page address.

【0020】[0020]

【課題を解決するための手段】(1) 本発明は、マイクロ
プロセッサ(MPU)1が出力した論理ページアドレス
と物理ページアドレスとの対応を示すデータをセットす
る複数のエントリからなるアドレス変換テーブルをメモ
リ上に持ち、アドレス変換の高速化のために前記データ
をセットする複数エントリからなる変換索引バッファ
(TLB)11を備え、MPUが出力した論理ページア
ドレスとTLBにセットされた論理ページアドレスとの
一致が検出されたとき物理ページアドレスを出力するフ
ル・アソシアティブ方式のメモリ・マネージメント・ユ
ニット(MMU)2を有し、MPUがTLBにおけるア
ドレス変換時のフォルト処理を行う例外処理において特
定のマスク・レベルを有せず、割り込みによってこの例
外処理が中断されるシステムにおいて、アドレス変換テ
ーブル内に、データがTLBエントリにセットされてい
ることを示すフラグを設け、論理ページアドレスと物理
ページアドレスとの対応をTLBエントリにセットする
際にこのフラグをチェックして、フラグがセットされて
いれば、TLBエントリにデータをセットすることなく
TLBにおけるフォルト処理を終了し、フラグがクリア
されていれば、TLBエントリにデータをセットすると
ともにフラグをセットすることによって、TLBの単一
のエントリのみについて論理ページアドレスの一致が生
じるようにするものである。
According to the present invention, there is provided an address conversion table comprising a plurality of entries for setting data indicating correspondence between a logical page address and a physical page address output by a microprocessor (MPU). A translation index buffer (TLB) 11 having a plurality of entries for setting the data for speeding up the address translation is provided on a memory, and a logical page address output by the MPU and a logical page address set in the TLB are provided. It has a full associative memory management unit (MMU) 2 that outputs a physical page address when a match is detected, and a specific mask level in exception processing in which the MPU performs fault processing at the time of address translation in the TLB Interrupt, this exception processing is interrupted by an interrupt. In the system, a flag indicating that data is set in the TLB entry is provided in the address conversion table, and this flag is checked when the correspondence between the logical page address and the physical page address is set in the TLB entry. If the flag is set, the fault processing in the TLB is terminated without setting data in the TLB entry, and if the flag is cleared, the data is set in the TLB entry and the flag is set, thereby setting the TLB. This is to make the logical page address match only for a single entry.

【0021】(2) また本発明は、MPU1が出力した論
理ページアドレスと物理ページアドレスとの対応を示す
データをセットする複数のエントリからなるアドレス変
換テーブルをメモリ上に持ち、アドレス変換の高速化の
ために前記データをセットする複数エントリからなるT
LB11を備え、MPUが出力した論理ページアドレス
とTLBにセットされた論理ページアドレスとの一致が
検出されたとき物理ページアドレスを出力するフル・ア
ソシアティブ方式のMMU2を有し、MPUがTLBに
おけるアドレス変換時のフォルト処理を行う例外処理に
おいて特定のマスク・レベルを有せず、割り込みによっ
てこの例外処理が中断されるとともに、アドレス変換時
にMPUから指定された論理ページアドレスに対してT
LBの複数のエントリにおける論理ページアドレスが一
致することを検出するダブル・セレクト・エラー検出部
14を備えたシステムにおいて、アドレス変換時にダブ
ル・セレクト・エラー検出部によってTLB上の複数の
エントリについてダブル・セレクト・エラーが検出され
たとき、TLB上の全エントリを無効化して再アクセス
によってTLBにおけるフォルトを発生させたのち、再
びこの論理ページアドレスに対するエントリをTLBに
セットすることによって、正しく論理ページアドレスを
物理ページアドレスに変換するものである。
(2) Further, the present invention has an address translation table comprising a plurality of entries for setting data indicating the correspondence between the logical page address and the physical page address output by the MPU 1 in the memory, thereby speeding up the address translation. Consisting of multiple entries to set the data for
LB11, a full associative MMU2 that outputs a physical page address when a match between the logical page address output by the MPU and the logical page address set in the TLB is detected, and the MPU performs address conversion in the TLB. Exception handling for fault handling at the time does not have a specific mask level, this exception handling is interrupted by an interrupt, and T
In a system provided with a double select error detecting unit 14 for detecting that logical page addresses in a plurality of entries of the LB match, a double select error detecting unit performs double-selection of a plurality of entries on the TLB at the time of address translation. When a select error is detected, all entries on the TLB are invalidated, a fault is generated in the TLB by re-access, and then an entry for this logical page address is set in the TLB again, so that the logical page address is correctly set. It is converted to a physical page address.

【0022】(3) また本発明は(2) において、同一の論
理ページアドレスについてダブル・セレクト・エラーが
検出されたTLB上の複数のエントリのみを無効化し、
再アクセスによってTLBフォルトを発生させたのち、
再びこの論理ページアドレスに対するエントリをTLB
にセットすることによって、正しく論理ページアドレス
を物理ページアドレスに変換するものである。
(3) Further, according to (2), the present invention invalidates only a plurality of entries on the TLB where a double select error is detected for the same logical page address,
After generating a TLB fault by re-access,
Again the entry for this logical page address is TLB
, The logical page address is correctly converted to the physical page address.

【0023】(4) また本発明は、MPU1が出力した論
理ページアドレスと物理ページアドレスとの対応を示す
データをセットする複数のエントリからなるアドレス変
換テーブルをメモリ上に持ち、アドレス変換の高速化の
ために前記データをセットする複数エントリからなるT
LB11を備え、MPUが出力した論理ページアドレス
とTLBにセットされた論理ページアドレスとの一致が
検出されたとき物理ページアドレスを出力するフル・ア
ソシアティブ方式のMMU2を有し、MPUがTLBに
おけるアドレス変換時のフォルト処理を行う例外処理に
おいて特定のマスク・レベルを有せず、割り込みによっ
てこの例外処理が中断されるとともに、アドレス変換時
にMPUから指定された論理ページアドレスに対してT
LBの複数のエントリにおける論理ページアドレスが一
致することを検出するダブル・セレクト・エラー検出部
14を備え、さらにTLB上に参照フラグおよび更新フ
ラグを有するシステムにおいて、同一の論理ページアド
レスについてダブル・セレクト・エラーが検出されたT
LB上の複数のエントリのうち、参照フラグと更新フラ
グがともにセットされていないエントリのみを無効化す
ることによって、正しく論理ページアドレスを物理ペー
ジアドレスに変換するものである。
(4) Further, the present invention has an address conversion table in the memory, which includes a plurality of entries for setting data indicating the correspondence between the logical page address and the physical page address output by the MPU 1, and speeds up the address conversion. Consisting of multiple entries to set the data for
LB11, a full associative MMU2 that outputs a physical page address when a match between the logical page address output by the MPU and the logical page address set in the TLB is detected, and the MPU performs address conversion in the TLB. Exception handling for fault handling at the time does not have a specific mask level, this exception handling is interrupted by an interrupt, and T
In a system having a double select error detecting unit 14 for detecting that logical page addresses in a plurality of entries of the LB coincide with each other and further having a reference flag and an update flag on the TLB, double select for the same logical page address is performed. T at which an error was detected
By invalidating only the entry for which neither the reference flag nor the update flag is set among the plurality of entries on the LB, the logical page address is correctly converted to the physical page address.

【0024】[0024]

【作用】(1) フル・アソシアティブ方式のMMU2にお
いては、複数のエントリからなるTLB11を備えて、
MPU1が出力した論理ページアドレスと物理ページア
ドレスとの対応を示すデータをセットする。そして、M
PUが出力した論理ページアドレスと、TLBにセット
された論理ページアドレスとの一致が検出されたとき、
この物理ページアドレスを出力する。
(1) In the MMU 2 of the full associative system, a TLB 11 including a plurality of entries is provided.
Data indicating the correspondence between the logical page address and the physical page address output by the MPU 1 is set. And M
When a match between the logical page address output by the PU and the logical page address set in the TLB is detected,
This physical page address is output.

【0025】また、MPUはTLBにおけるアドレス変
換時のフォルト処理を行う例外処理において特定のマス
ク・レベルを有せず、割り込みによってこの例外処理が
中断される。
Further, the MPU does not have a specific mask level in exception processing for performing fault processing at the time of address translation in the TLB, and this exception processing is interrupted by an interrupt.

【0026】この場合に、アドレス変換テーブル内に、
データがTLBエントリにセットされていることを示す
フラグを設けて、論理ページアドレスと物理ページアド
レスとの対応をTLBエントリにセットする際にこのフ
ラグをチェックして、フラグがセットされていれば、T
LBエントリにデータをセットすることなくTLBにお
けるフォルト処理を終了し、フラグがクリアされていれ
ば、TLBエントリにデータをセットするとともにフラ
グをセットするようにする。
In this case, in the address conversion table,
A flag indicating that data is set in the TLB entry is provided, and this flag is checked when the correspondence between the logical page address and the physical page address is set in the TLB entry. If the flag is set, T
The fault processing in the TLB is completed without setting data in the LB entry, and if the flag is cleared, the data is set in the TLB entry and the flag is set.

【0027】このように本発明では、アドレス変換テー
ブル内のフラグを参照することによって、TLBエント
リにおけるダブル・セレクト・エラーの発生を防止する
ので、常にTLBの単一のエントリのみについて論理ペ
ージアドレスの一致が生じるようにすることができる。
As described above, in the present invention, the occurrence of a double select error in a TLB entry is prevented by referring to the flag in the address translation table. Therefore, the logical page address of only a single entry in the TLB is always maintained. A match can occur.

【0028】(2) またフル・アソシアティブ方式のMM
U2においては、さらにダブル・セレクト・エラー検出
部14を備えて、アドレス変換時にMPUから指定され
た論理ページアドレスに対して、TLBの複数のエント
リにおける論理ページアドレスが一致することを検出す
る。
(2) MM of full associative system
U2 further includes a double select error detection unit 14 for detecting that the logical page address in a plurality of entries of the TLB matches the logical page address specified by the MPU at the time of address translation.

【0029】この場合に、アドレス変換時にダブル・セ
レクト・エラー検出部によってTLB上の複数のエント
リについて一致が検出されたとき、TLB上の全エント
リを無効化し、再アクセスによってTLBにおけるフォ
ルトを発生させたのち、再び論理ページアドレスに対す
るエントリをTLBにセットするようにする。
In this case, when the double select error detector detects a match for a plurality of entries in the TLB at the time of address translation, all entries in the TLB are invalidated, and a fault in the TLB is generated by re-access. After that, the entry for the logical page address is set in the TLB again.

【0030】このように本発明では、一旦、ダブル・セ
レクト・エラーを発生させるが、この場合、TLB上の
全エントリを無効化して再アクセスによってTLBフォ
ルトを発生させることによって、再び論理ページアドレ
スに対するエントリをTLBにセットするので、正しく
論理ページアドレスを物理ページアドレスに変換するこ
とができる。
As described above, in the present invention, a double select error is once generated. In this case, all entries on the TLB are invalidated and a TLB fault is generated by re-access, so that a logical page address for the logical page address is again generated. Since the entry is set in the TLB, the logical page address can be correctly converted to the physical page address.

【0031】(3) (2) の場合に、同一の論理ページアド
レスについてダブル・セレクト・エラーが検出されたT
LB上の複数のエントリのみを無効化し、再アクセスに
よってTLBフォルトを発生させたのち、再びこの論理
ページアドレスに対するTLBエントリをセットするよ
うにしてもよく、これによって、正しく論理ページアド
レスを物理ページアドレスに変換することができる。
(3) In the case of (2), when a double select error is detected for the same logical page address,
After invalidating only a plurality of entries on the LB and causing a TLB fault by re-access, the TLB entry for this logical page address may be set again, whereby the logical page address is correctly changed to the physical page address. Can be converted to

【0032】(4) またフル・アソシアティブ方式のMM
U2においては、さらに参照フラグおよび更新フラグを
設けて、参照フラグによって、そのアドレスが参照(リ
ードまたはライト)されたことを表示し、更新フラグに
よって、そのアドレスが更新されたことを表示してい
る。
(4) MM of full associative system
In U2, a reference flag and an update flag are further provided. The reference flag indicates that the address has been referenced (read or written), and the update flag indicates that the address has been updated. .

【0033】参照フラグまたは更新フラグがセットされ
ているTLB上のエントリにおける論理ページアドレス
は、一旦は正しくアクセスが行われたものであり、この
アドレスは直ちにアクセスして実行可能なものである。
The logical page address in the entry on the TLB in which the reference flag or the update flag is set has been correctly accessed once, and this address can be immediately accessed and executed.

【0034】従って、同一の論理ページアドレスについ
てダブル・セレクト・エラーが検出されたTLB上の複
数のエントリのうち、参照フラグと更新フラグがともに
セットされていないエントリのみを無効化することによ
って、正しく論理ページアドレスを物理ページアドレス
に変換することができる。
Accordingly, by invalidating only the entry in which neither the reference flag nor the update flag is set, out of the plurality of entries on the TLB where a double select error is detected for the same logical page address, the Logical page addresses can be translated into physical page addresses.

【0035】[0035]

【実施例】図1および図2は、本発明の実施例(1)の
動作フローを示したものであって、図1は、フラグのチ
ェックおよびセットを示し、図2は、TLBエントリが
フルの場合のフラグのクリアを示している。図1および
図2の実施例においては、メモリ内のアドレス変換テー
ブル上の各データに対して、このデータが現在TLBエ
ントリにセットされていることを示す、1ビットのフラ
グを設ける。
1 and 2 show the operation flow of an embodiment (1) of the present invention. FIG. 1 shows the checking and setting of a flag, and FIG. 2 shows that the TLB entry is full. In this case, the flag is cleared. In the embodiment shown in FIGS. 1 and 2, a 1-bit flag indicating that the data is currently set in the TLB entry is provided for each data on the address conversion table in the memory.

【0036】図1において、まず、プロセス1で共通領
域のある番地Aに対してアクセスした際に、TLBフォ
ルトが発生すると、このTLBフォルトはMPUに対し
てバス・エラーの割り込みによって通知される。
In FIG. 1, when a TLB fault occurs when the process 1 accesses the address A having the common area, the TLB fault is notified to the MPU by a bus error interrupt.

【0037】MPUは割り込みに基づいて、プロセス1
に対するスタック処理を開始する。このスタック処理中
に、現走行レベルより高いレベルの割り込み要求がある
と、バス・エラー例外処理の最初の命令を実行する前
に、この割り込みが受け付けられる。これによってMP
Uは、さらにバス・エラー処理に対するスタック処理を
行う。そして、スタック処理に引き続き、割り込み要因
を判別してその要因に対する処理を行う。この処理は割
り込み処理の延長で行われ、これによって別のプロセス
(プロセス2)が動作を開始したとする。
The MPU executes the process 1 based on the interrupt.
Start stack processing for. If there is an interrupt request higher than the current running level during this stack processing, this interrupt is accepted before executing the first instruction of the bus error exception processing. This allows MP
U further performs stack processing for bus error processing. Then, following the stack processing, the cause of the interrupt is determined and processing for the cause is performed. This process is performed as an extension of the interrupt process, and it is assumed that another process (process 2) has started operation.

【0038】プロセス2を実行中に、プロセス1と同じ
共通領域のA番地にアクセスしたとすると、プロセス1
のA番地に対するTLBフォルト処理がまだ実行されて
いないので、再び、A番地に対してTLBフォルトが発
生する。このTLBフォルトも、バス・エラーによって
MPUに通知されるため、MPUは、プロセス1のA番
地のTLBフォルト処理をぺンディングにしたまま、バ
ス・エラー処理として、プロセス2に対するTLBフォ
ルト処理を先に実行する。
Assuming that the address A in the same common area as the process 1 is accessed during the execution of the process 2, the process 1
Since the TLB fault processing for address A has not been executed yet, a TLB fault occurs again for address A. Since the TLB fault is also notified to the MPU by a bus error, the MPU first performs the TLB fault process for the process 2 as a bus error process while leaving the TLB fault process of the address A of the process 1 in the pending state. Execute.

【0039】MPUは、プロセス2に対するスタック処
理を行い、割り込み処理のマスク・レベルをレベル
‘7’にセットして、MMUのTLBフォルトのSTS
をクリアしたのち、アドレス変換テーブルにおけるA番
地のフラグをチェックする。このときは、MPUのデー
タがTLBエントリにセットされていないので、フラグ
は‘0’である。
The MPU performs the stack processing for the process 2, sets the mask level of the interrupt processing to the level '7', and sets the STS of the MLB's TLB fault.
Is cleared, the flag of the address A in the address conversion table is checked. At this time, since the data of the MPU is not set in the TLB entry, the flag is “0”.

【0040】MMUにおいて、TLBエントリに、A番
地に対応する論理ページアドレスと、対応する物理ペー
ジアドレスとをセットする。このとき、アドレス変換テ
ーブルのA番地のフラグを‘1’にセットして、このエ
ントリが現在TLBにセットされていることを示す。
In the MMU, a logical page address corresponding to address A and a corresponding physical page address are set in the TLB entry. At this time, the flag of the address A in the address conversion table is set to “1” to indicate that this entry is currently set in the TLB.

【0041】これによってプロセス2に対するTLBフ
ォルトの処理が終了するので、RTEを実行し、プロセ
ス2に復帰するスタック処理を行ったのち、プロセス2
の処理に復帰する。
As a result, the process of the TLB fault for the process 2 is completed, so that the RTE is executed, and the stack process for returning to the process 2 is performed.
It returns to the processing of.

【0042】プロセス2の処理に復帰することによっ
て、A番地がアクセスされてプロセス2の処理が実行さ
れる。プロセス2の処理が終了したとき、RTEを実行
し、バス・エラー処理に復帰するスタック処理を行った
のち、プロセス1に対するTLBフォルト処理に復帰す
る。
By returning to the process 2, the address A is accessed and the process 2 is executed. When the processing of the process 2 is completed, the RTE is executed, the stack processing for returning to the bus error processing is performed, and then the processing returns to the TLB fault processing for the process 1.

【0043】MPUは、割り込み処理のマスク・レベル
をレベル‘7’にセットして、MMUにおけるTLBフ
ォルトのSTSをクリアしたのち、アドレス変換テーブ
ルにおけるA番地のフラグをチェックする。この場合
は、フラグが既に‘1’にセットされているので、この
TLBフォルト処理では何も処理を行わない。従って、
別のTLBエントリに、A番地に対する論理ページアド
レスと物理ページアドレスの対応が誤ってセットされる
ことはない。
The MPU sets the mask level of the interrupt processing to level '7', clears the STS of the TLB fault in the MMU, and then checks the flag of the address A in the address conversion table. In this case, since the flag has already been set to "1", no processing is performed in this TLB fault processing. Therefore,
The correspondence between the logical page address and the physical page address for address A is not erroneously set in another TLB entry.

【0044】このTLB処理後、RTEを実行し、プロ
セス1に復帰するスタック処理を行ったのち、プロセス
1の処理に復帰する。プロセス1の処理に復帰すること
によって、A番地がアクセスされたとき、A番地の処理
が正しく行われる。
After the TLB process, the RTE is executed, the stack process for returning to the process 1 is performed, and then the process returns to the process 1. By returning to the processing of the process 1, when the address A is accessed, the processing of the address A is correctly performed.

【0045】このA番地に対するアドレス変換テーブル
上のフラグは、その後、別の論理ページアドレスと物理
ページアドレスの対応をセットするために、A番地のエ
ントリが無効化されるときに、‘0’にクリアされる。
The flag on the address conversion table for address A is subsequently set to "0" when the entry at address A is invalidated in order to set the correspondence between another logical page address and physical page address. Cleared.

【0046】図2において、プロセス1で共通領域のB
番地に対してアクセスした際に、TLBエントリがフル
であるため、B番地をTLBエントリにセットすること
ができず、TLBフォルトが発生した場合、このTLB
フォルトはMPUに対してバス・エラーの割り込みによ
って通知される。
In FIG. 2, in process 1, B
When the address is accessed, the TLB entry is full, so the address B cannot be set in the TLB entry, and if a TLB fault occurs, this TLB
The fault is notified to the MPU by a bus error interrupt.

【0047】MPUは割り込みに基づいて、バス・エラ
ー処理のための例外処理として、プロセス1のTLBフ
ォルト処理を行うため、プロセス1に対するスタック処
理を行う。そして、割り込み処理のマスク・レベルをレ
ベル‘7’にセットして、MMUのTLBフォルトのS
TSをクリアする。そして、アドレス変換テーブルにお
ける例えばA番地のフラグをクリアして、TLBにおけ
るA番地のエントリをパージする。
Based on the interrupt, the MPU performs stack processing for the process 1 in order to perform TLB fault processing of the process 1 as exception processing for bus error processing. Then, the mask level of the interrupt processing is set to level “7”, and the SLB of the TLB fault of the MMU is set.
Clear TS. Then, for example, the flag of the address A in the address conversion table is cleared, and the entry of the address A in the TLB is purged.

【0048】次にアドレス変換テーブルにおけるB番地
のフラグをチェックすると、‘0’であるから、これを
‘1’にセットする。そして、MMUにおいて、TLB
エントリに、B番地に対応する論理ページアドレスと、
対応する物理ページアドレスとをセットする。
Next, when the flag at address B in the address conversion table is checked, it is set to "1" because it is "0". Then, in the MMU, the TLB
In the entry, a logical page address corresponding to address B,
Set the corresponding physical page address.

【0049】これによってプロセス1に対するTLBフ
ォルトの処理が終了するので、RTEを実行し、プロセ
ス1に復帰するスタック処理を行ったのち、プロセス1
の処理に復帰して、B番地にアクセスすることによっ
て、プロセス1の処理が実行される。
Thus, the process of the TLB fault for the process 1 is completed. The RTE is executed, the stack process for returning to the process 1 is performed, and then the process 1
By returning to the processing of (1) and accessing the address B, the processing of the process 1 is executed.

【0050】図3および図4は、本発明の実施例(2)
の動作フローを示したものであって、図3は、再度TL
Bフォルトを発生させる場合(1)を示し、図4は再度
TLBフォルトを発生させる場合(2)を示している。
FIGS. 3 and 4 show an embodiment (2) of the present invention.
FIG. 3 shows TL again.
FIG. 4 shows a case (1) in which a B fault is generated, and FIG. 4 shows a case (2) in which a TLB fault is generated again.

【0051】図8について説明したように、最初、プロ
セス1で共通領域のA番地において発生したTLBフォ
ルトによって、MPUが、バス・エラー例外処理を実行
するためのスタック処理中に、現走行レベルよりも高い
割り込み要求が受け付けられると、MPUがプロセス1
に対するスタック処理を実行し、割り込み要因に対する
処理を行うことによって、別のプロセス(プロセス2)
が動作を始める。
As described with reference to FIG. 8, first, the TPU fault that occurred at address A of the common area in process 1 causes the MPU to execute the bus error exception processing during the stack processing for executing the bus error exception processing. When an interrupt request with a higher priority is accepted, the MPU
By executing a stack process for the other process and performing a process for the interrupt factor to obtain another process (process 2).
Starts working.

【0052】プロセス2を実行中に、再びA番地にアク
セスすると、プロセス2においてもA番地に対してTL
Bフォルトが発生する。このTLBフォルトもバス・エ
ラーでMPUに通知され、プロセス1のA番地のTLB
フォルト処理をペンディングにして、プロセス2に対す
るTLBフォルト処理が先に実行され、TLBエントリ
にA番地に対する論理ページアドレスと物理ページアド
レスの対応がセットされる。
When the address A is accessed again during the execution of the process 2, the TL is also accessed for the address A in the process 2.
A B fault occurs. This TLB fault is also notified to the MPU by a bus error, and the TLB of the address A of the process 1 is processed.
With the fault process pending, the TLB fault process for process 2 is executed first, and the correspondence between the logical page address and physical page address for address A is set in the TLB entry.

【0053】このTLBフォルト処理(バス・エラー処
理)が終了すると、プロセス2に復帰し、A番地がアク
セスされて、プロセス2の処理が継続され、この処理が
終了すると、中断していたプロセス1に対するバス・エ
ラー処理に復帰する。このバス・エラー処理では、中断
していたA番地に対するTLBフォルト処理を実行し、
別なTLBエントリにA番地に対する論理ページアドレ
スと物理ページアドレスとの対応がセットされる。
When the TLB fault processing (bus error processing) is completed, the process returns to the process 2, the address A is accessed, and the processing of the process 2 is continued. When the processing is completed, the interrupted process 1 is executed. The processing returns to the bus error processing for. In this bus error processing, a TLB fault processing is executed for the interrupted address A,
The correspondence between the logical page address and the physical page address for address A is set in another TLB entry.

【0054】このTLBフォルト処理からプロセス1に
復帰し、A番地をアクセスすると、TLB上に一致する
エントリが複数あるため、ダブル・セレクト・エラーを
発生する。
When the process returns from the TLB fault process to the process 1 and accesses the address A, a double select error occurs because there are a plurality of matching entries on the TLB.

【0055】図3において、プロセス1で共通領域のA
番地に対してアクセスした際に、ダブル・セレクト・エ
ラーが発生すると、ダブル・セレクト・エラーはMPU
に対してバス・エラーの割り込みによって通知される。
In FIG. 3, in process 1, the common area A
If a double select error occurs when accessing an address, the double select error is
Is notified by a bus error interrupt.

【0056】MPUは割り込みに基づいて、プロセス1
に対するスタック処理を行い、割り込み処理のマスク・
レベルをレベル‘7’にセットして、MMUにおけるダ
ブル・セレクト・エラーのSTSをクリアする。その
後、TLBにおけるすべてのエントリをパージする。
The MPU executes the process 1 based on the interrupt.
Stack processing is performed for
The level is set to level '7', and the STS of the double select error in the MMU is cleared. Then, purge all entries in the TLB.

【0057】次にRTEを実行し、プロセス1に復帰す
るスタック処理を行ったのち、プロセス1の処理に復帰
して、A番地をアクセスする。この場合は、TLBエン
トリが無効化されているので、再びTLBフォルトが発
生する。このTLBフォルトは、MPUに対して、バス
・エラーの割り込みによって通知される。
Next, the RTE is executed, a stack process for returning to the process 1 is performed, and then the process returns to the process 1 to access the address A. In this case, since the TLB entry is invalidated, a TLB fault occurs again. This TLB fault is notified to the MPU by a bus error interrupt.

【0058】MPUは割り込みに基づいて、プロセス1
に対するスタック処理を行い、割り込み処理のマスク・
レベルをレベル‘7’にセットして、MMUにおけるT
LBフォルトのSTSをクリアする。その後、A番地に
対するTLBエントリをセットする。これによってプロ
セス1に対するTLBフォルトの処理が終了するので、
RTEを実行し、プロセス1に復帰するスタック処理を
行ったのち、プロセス1の処理に復帰する。
The MPU executes the process 1 based on the interrupt.
Stack processing is performed for
Set the level to level '7' and set the T
Clear the LB fault STS. After that, a TLB entry for address A is set. This terminates the TLB fault processing for process 1.
After executing the RTE and performing the stack processing for returning to the process 1, the processing returns to the processing of the process 1.

【0059】この場合のプロセス1の処理では、A番地
に対するTLBエントリがセットされているので、A番
地に対して正しくアクセスすることが可能となり、プロ
セス1の処理が実行される。
In the process 1 in this case, since the TLB entry for the address A is set, it is possible to correctly access the address A, and the process 1 is executed.

【0060】このように、一旦、ダブル・セレクト・エ
ラーを発生させるが、そのあとシステムダウンさせずに
リトライして、再度、TLBフォルトを発生させること
によって、不要なエントリを排除して、正しくTLBエ
ントリをセットすることができる。
As described above, a double select error is generated once, but then, a retry is performed without causing the system to go down, and a TLB fault is generated again. An entry can be set.

【0061】別の方法として、図4に示すように、プロ
セス1で共通領域のA番地に対してアクセスして、ダブ
ル・セレクト・エラーが発生した場合、ダブル・セレク
ト・エラーをMPUに対してバス・エラーの割り込みに
よって通知することによって、MPUがプロセス1に対
するスタック処理を行ったのち、割り込み処理のマスク
・レベルをレベル‘7’にセットして、MMUにおける
ダブル・セレクト・エラーのSTSをクリアし、TLB
のA番地のすべてのエントリをパージするようにしても
よい。
As another method, as shown in FIG. 4, when a double select error occurs by accessing the address A of the common area in the process 1, a double select error is sent to the MPU. After notifying by a bus error interrupt, the MPU performs stack processing for process 1, sets the mask level of the interrupt processing to level '7', and clears the STS of the double select error in the MMU. And TLB
May be purged.

【0062】以後の処理は図3の場合と同様であり、R
TEを実行し、プロセス1に復帰するスタック処理を行
ったのち、プロセス1の処理に復帰してA番地をアクセ
スすると、この場合もTLBエントリが行われていない
ので、TLBフォルトが発生する。このTLBフォルト
は、MPUに対して、バス・エラーの割り込みによって
通知される。
The subsequent processing is the same as in FIG.
After executing the TE and performing the stack processing for returning to the process 1, when returning to the processing of the process 1 and accessing the address A, a TLB fault occurs because the TLB entry is not performed in this case as well. This TLB fault is notified to the MPU by a bus error interrupt.

【0063】MPUはプロセス1に対するスタック処理
を行ったのち、割り込み処理のマスク・レベルをレベル
‘7’にセットして、MMUにおけるTLBフォルトの
STSをクリアしたのち、TLBにおけるA番地に対す
るエントリをセットする。そしてRTEを実行し、プロ
セス1に復帰するスタック処理を行ったのち、プロセス
1の処理に復帰する。これによって、A番地にアクセス
したとき、プロセス1の処理が実行される。
After performing stack processing for process 1, the MPU sets the mask level for interrupt processing to level '7', clears the STS of the TLB fault in the MMU, and sets an entry for address A in the TLB. I do. Then, the RTE is executed, the stack process for returning to the process 1 is performed, and then the process returns to the process 1. Thus, when the address A is accessed, the processing of the process 1 is executed.

【0064】このように、再度TLBフォルトを発生さ
せる方法のうち、図3に示すように、すべてのエントリ
をパージする方法では、プロセス1以外のプロセスのT
LBエントリもパージされるので、システム性能が低下
することがある。これに対して図4に示す方法では、ダ
ブル・セレクト・エラーが発生したプロセスに対応する
TLBエントリのみをパージしてTLBフォルトを発生
させ、TLBフォルト処理を行うことによって、正しい
実行が可能になるようにする。従って、A番地以外のT
LBエントリについては、TLBフォルトが発生しない
ので、直ちに実行することができ、システム性能はそれ
ほど低下しない。
As described above, in the method of generating a TLB fault again, in the method of purging all entries as shown in FIG.
Since LB entries are also purged, system performance may degrade. On the other hand, in the method shown in FIG. 4, only the TLB entry corresponding to the process in which the double select error has occurred is purged to generate a TLB fault, and the TLB fault processing is performed, whereby correct execution can be performed. To do. Therefore, T other than address A
For the LB entry, since no TLB fault occurs, it can be executed immediately, and the system performance does not decrease so much.

【0065】図5は、本発明の実施例(2)を示したも
のであって、再度、TLBフォルトを発生させない場合
を示している。図5において、プロセス1で共通領域の
A番地に対してアクセスした際に、ダブル・セレクト・
エラーが発生した場合、ダブル・セレクト・エラーはM
PUに対してバス・エラーの割り込みによって通知され
る。
FIG. 5 shows the embodiment (2) of the present invention, and shows a case where a TLB fault is not generated again. In FIG. 5, when the address A of the common area is accessed in the process 1, the double select
If an error occurs, the double select error is M
The PU is notified by a bus error interrupt.

【0066】MPUは割り込みに基づいて、プロセス1
に対するスタック処理を行い、割り込み処理のマスク・
レベルをレベル‘7’にセットして、MMUにおけるダ
ブル・セレクト・エラーのSTSをクリアする。その
後、TLBにおけるA番地のエントリのうち、参照ビッ
トR,更新ビットCがセットされていないエントリをパ
ージする。
The MPU executes the process 1 based on the interrupt.
Stack processing is performed for
The level is set to level '7', and the STS of the double select error in the MMU is cleared. After that, among the entries at the address A in the TLB, the entry in which the reference bit R and the update bit C are not set is purged.

【0067】次にRTEを実行し、プロセス1に復帰す
るスタック処理を行ったのち、プロセス1の処理に復帰
して、A番地をアクセスすることによって、A番地に対
するプロセス1の処理が実行される。
Next, the RTE is executed, a stack process for returning to the process 1 is performed, and then the process returns to the process 1 and the address A is accessed, whereby the process of the process 1 for the address A is executed. .

【0068】A番地に対してダブル・セレクト・エラー
が発生した場合、図8において説明したように、A番地
に対して、一旦は正しくアクセスが行われている。この
場合のエントリに対しては、リードであれば参照ビット
Rが、ライト(更新)であれば更新ビットCがセットさ
れている。そこでこのようなエントリに対してはパージ
することなく、RビットとCビットがともにセットされ
ていない、TLBにおけるA番地のエントリの内容をす
べてパージする。
When a double select error occurs at address A, as described with reference to FIG. 8, the address A is once correctly accessed. For the entry in this case, the reference bit R is set for read, and the update bit C is set for write (update). Therefore, without purging such an entry, all the contents of the entry at the address A in the TLB where both the R bit and the C bit are not set are purged.

【0069】このようにすることによって、RTEを実
行し、プロセス1に復帰するスタック処理を行ったと
き、正しくアクセスされたA番地に対するTLBエント
リだけが残っているので、直ちにA番地にアクセスし
て、プロセス1の処理を実行することができる。この方
法では、A番地に対してTLBフォルトを発生させる必
要がないので、オーバヘッドを減少させることができ、
システム性能をより向上させることが可能となる。
In this way, when the RTE is executed and the stack processing for returning to the process 1 is performed, only the TLB entry corresponding to the correctly accessed address A remains. , Process 1 can be executed. In this method, it is not necessary to generate a TLB fault for address A, so that overhead can be reduced.
System performance can be further improved.

【0070】図3ないし図5に説明した方法では、通常
のTLBフォルト処理のオーバヘッドが不要になるの
で、システム性能をより向上させることが可能となる。
この場合、一旦、ダブル・セレクト・エラーを発生させ
てから、TLB内のエントリをパージして、A番地の処
理を行うようにするが、ダブル・セレクト・エラーが発
生するのは、バス・エラー処理の最初の命令を実行する
前に、より優先順位の高い割り込みがあった場合だけな
ので、その発生頻度はかなり低く、これによってシステ
ム性能を低下させる恐れは少ない。
In the methods described with reference to FIGS. 3 to 5, the overhead of the normal TLB fault processing is not required, so that the system performance can be further improved.
In this case, an entry in the TLB is purged after a double select error is generated, and the address A is processed. However, the double select error occurs only when a bus error occurs. Since there is only a higher priority interrupt before the first instruction of the process is executed, the frequency of occurrence is considerably lower, and there is little risk of degrading system performance.

【0071】[0071]

【発明の効果】以上説明したように本発明によれば、T
LBフォルトを処理するためのバス・エラー例外処理に
対して、特定の高いマスク・レベルが割り付けられてい
ないMPUを使用したシステムにおいて、1つの論理ペ
ージアドレスに対して、複数の物理ページアドレスが誤
って割り付けられことを防止して、TLBエントリに対
して、常に、正しく論理ページアドレスと物理ページア
ドレスとの対応をセットすることができるようになる。
As described above, according to the present invention, T
In a system using an MPU to which a specific high mask level is not assigned for a bus error exception handling for handling an LB fault, a plurality of physical page addresses are incorrect for one logical page address. Thus, it is possible to always correctly set the correspondence between the logical page address and the physical page address in the TLB entry.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実施例(1)の動作フローにおける、
フラグのチェックおよびセットを示す図である。
FIG. 1 shows an operation flow of an embodiment (1) of the present invention.
It is a figure which shows a check of a flag and a set.

【図2】本発明の実施例(1)の動作フローにおける、
TLBエントリがフルの場合のフラグのクリアを示す図
である。
FIG. 2 shows an operation flow of an embodiment (1) of the present invention.
FIG. 14 is a diagram illustrating clearing of a flag when a TLB entry is full.

【図3】本発明の実施例(2)の動作フローにおける、
再度TLBフォルトを発生させる場合(1)を示す図で
ある。
FIG. 3 shows an operation flow of the embodiment (2) of the present invention.
FIG. 9 is a diagram illustrating a case (1) in which a TLB fault is generated again.

【図4】本発明の実施例(2)の動作フローにおける、
再度TLBフォルトを発生させる場合(2)を示す図で
ある。
FIG. 4 shows an operation flow of the embodiment (2) of the present invention.
FIG. 9 is a diagram illustrating a case (2) in which a TLB fault is generated again.

【図5】本発明の実施例(2)の動作フローにおける、
再度TLBフォルトを発生させない場合を示す図であ
る。
FIG. 5 shows an operation flow of the embodiment (2) of the present invention.
FIG. 11 is a diagram illustrating a case where a TLB fault is not generated again.

【図6】従来の、および本発明が適用されるシステム構
成を示す図である。
FIG. 6 is a diagram showing a conventional system configuration to which the present invention is applied.

【図7】従来の、および本発明が適用されるMMUの内
部ロジックを示す図である。
FIG. 7 is a diagram showing the internal logic of a conventional MMU and to which the present invention is applied.

【図8】従来のTLB制御方式を示す図である。FIG. 8 is a diagram showing a conventional TLB control method.

【符号の説明】[Explanation of symbols]

1 マイクロプロセッサ(MPU) 2 メモリ・マネージメント・ユニット(MMU) 11 変換索引バッファ(TLB) 14 ダブル・セレクト・エラー検出部 DESCRIPTION OF SYMBOLS 1 Microprocessor (MPU) 2 Memory management unit (MMU) 11 Conversion look-up buffer (TLB) 14 Double select error detector

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭49−60640(JP,A) 特開 平2−300951(JP,A) 特開 平3−235148(JP,A) 特開 平2−23431(JP,A) 特開 昭63−241637(JP,A) 特開 昭58−57688(JP,A) 特開 昭61−173359(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 - 12/12 ──────────────────────────────────────────────────続 き Continuation of front page (56) References JP-A-49-60640 (JP, A) JP-A-2-300951 (JP, A) JP-A-3-235148 (JP, A) JP-A-2- 23431 (JP, A) JP-A-63-241637 (JP, A) JP-A-58-57688 (JP, A) JP-A-61-173359 (JP, A) (58) Fields investigated (Int. 7 , DB name) G06F 12/08-12/12

Claims (4)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 マイクロプロセッサ(以下MPUと略
す)が出力した論理ページアドレスと物理ページアドレ
スとの対応を示すデータをセットする複数のエントリか
らなるアドレス変換テーブルをメモリ上に持ち、アドレ
ス変換の高速化のために前記データをセットする複数エ
ントリからなる変換索引バッファ(以下TLBと略す)
を備え、MPUが出力した論理ページアドレスと該TL
Bにセットされた論理ページアドレスとの一致が検出さ
れたとき、前記物理ページアドレスを出力するメモリ・
マネージメント・ユニット(以下MMUと略す)を有
し、MPUがTLBにおけるアドレス変換時のフォルト
処理を行う例外処理において特定のマスク・レベルを有
さず、割り込みによって該例外処理が中断されるシステ
ムにおいて、 前記アドレス変換テーブル内に、該データがTLBエン
トリにセットされていることを示すフラグを設け、前記
論理ページアドレスと物理ページアドレスとの対応をT
LBエントリにセットする際に該フラグをチェックし
て、該フラグがセットされていれば、TLBエントリに
データをセットすることなくTLBにおけるフォルト処
理を終了し、該フラグがクリアされていれば、TLBエ
ントリにデータをセットするとともに該フラグをセット
することによって、TLBの単一のエントリのみについ
て前記論理ページアドレスの一致が生じるようにするこ
とを特徴とするTLB制御方法
An address conversion table comprising a plurality of entries for setting data indicating correspondence between a logical page address and a physical page address output by a microprocessor (hereinafter abbreviated as MPU) is provided in a memory, and a high-speed address conversion is performed. Conversion index buffer (hereinafter abbreviated to TLB) consisting of a plurality of entries for setting the data for data conversion
And the logical page address output by the MPU and the TL
A memory that outputs the physical page address when a match with the logical page address set in B is detected.
In a system having a management unit (hereinafter abbreviated as MMU), the MPU does not have a specific mask level in exception processing for performing fault processing at the time of address translation in TLB, and the exception processing is interrupted by an interrupt, A flag indicating that the data is set in the TLB entry is provided in the address conversion table, and the correspondence between the logical page address and the physical page address is set to T.
When the flag is set in the LB entry, the flag is checked. If the flag is set, the fault processing in the TLB is terminated without setting data in the TLB entry. If the flag is cleared, the TLB is cleared. A TLB control method comprising: setting data in an entry and setting the flag so that the logical page address matches only for a single entry in the TLB.
【請求項2】 MPUが出力した論理ページアドレスと
物理ページアドレスとの対応を示すデータをセットする
複数のエントリからなるアドレス変換テーブルをメモリ
上に持ち、アドレス変換の高速化のために前記データを
セットする複数エントリからなるTLBを備え、MPU
が出力した論理ページアドレスと該TLBにセットされ
た論理ページアドレスとの一致が検出されたとき前記物
理ページアドレスを出力するMMUを有し、MPUがT
LBにおけるアドレス変換時のフォルト処理を行う例外
処理において特定のマスク・レベルを有さず、割り込み
によって該例外処理が中断されるとともに、アドレス変
換時にMPUから指定された論理ページアドレスに対し
てTLBの複数のエントリにおける論理ページアドレス
が一致することを検出するダブル・セレクト・エラー検
出部を備え、さらにTLB上に参照フラグおよび更新フ
ラグを有するシステムにおいて、 同一の論理ページアドレスについて前記ダブル・セレク
ト・エラーが検出されたTLB上の複数のエントリのう
ち、該参照フラグと更新フラグがともにセットされてい
ないエントリのみを無効化することによって、正しく論
理ページアドレスを物理ページアドレスに変換すること
を特徴とするTLB制御方法
2. An address conversion table comprising a plurality of entries for setting data indicating a correspondence between a logical page address and a physical page address output by an MPU is provided in a memory. MPU with TLB consisting of multiple entries to be set
Has an MMU that outputs the physical page address when a match between the logical page address output from the TLB and the logical page address set in the TLB is detected.
In the exception processing for performing the fault processing at the time of address conversion in the LB, the exception processing does not have a specific mask level, and the exception processing is interrupted by an interrupt. In a system having a double select error detecting unit for detecting that logical page addresses in a plurality of entries match, and further having a reference flag and an update flag on a TLB, the double select error is detected for the same logical page address. Invalidates only the entry for which both the reference flag and the update flag are not set out of the plurality of entries on the TLB in which is detected, thereby correctly converting the logical page address to the physical page address. TLB control method .
【請求項3】 マイクロプロセッサ(以下MPUと略
す)が出力した論理ページアドレスと物理ページアドレ
スとの対応を示すデータをセットする複数のエントリか
らなるアドレス変換テーブルをメモリ上に持ち、アドレ
ス変換の高速化のために前記データをセットする複数エ
ントリからなる変換索引バッファ(以下TLBと略す)
を備え、MPUが出力した論理ページアドレスと該TL
Bにセットされた論理ページアドレスとの一致が検出さ
れたとき、前記物理ページアドレスを出力するメモリ・
マネージメント・ユニット(以下MMUと略す)を有
し、MPUがTLBにおけるアドレス変換時のフォルト
処理を行う例外処理において特定のマスク・レベルを有
さず、割り込みによって該例外処理が中断されるシステ
ムにおいて、 前記アドレス変換テーブル内に、該データがTLBエン
トリにセットされていることを示すフラグを設けてお
き、前記論理ページアドレスと物理ページアドレスとの
対応をTLBエントリにセットする際に該フラグをチェ
ックする手段と、該フラグがセットされていれば、TL
BエントリにデータをセットすることなくTLBにおけ
るフォルト処理を終了し、該フラグがクリアされていれ
ば、TLBエントリにデータをセットするとともに該フ
ラグをセットする手段と、を備えたことを特徴とするT
LB制御装置
3. An address translation table comprising a plurality of entries for setting data indicating correspondence between a logical page address and a physical page address output by a microprocessor (hereinafter abbreviated as MPU) is provided in a memory, and a high-speed address translation is performed. Conversion index buffer (hereinafter abbreviated to TLB) consisting of a plurality of entries for setting the data for data conversion
And the logical page address output by the MPU and the TL
A memory that outputs the physical page address when a match with the logical page address set in B is detected.
In a system having a management unit (hereinafter abbreviated as MMU), the MPU does not have a specific mask level in exception processing for performing fault processing at the time of address translation in TLB, and the exception processing is interrupted by an interrupt, in said address conversion table, the data is checked to the flag when set may be provided a flag indicating that is set in the TLB entry, the correspondence between the logical page address and the physical page address in the TLB entry Means and TL if the flag is set
Means for terminating the fault processing in the TLB without setting data in the B entry and, if the flag is cleared, setting data and setting the flag in the TLB entry. T
LB control device .
【請求項4】 MPUが出力した論理ページアドレスと
物理ページアドレスとの対応を示すデータをセットする
複数のエントリからなるアドレス変換テーブルをメモリ
上に持ち、アドレス変換の高速化のために前記データを
セットする複数エントリからなるTLBを備え、MPU
が出力した論理ページアドレスと該TLBにセットされ
た論理ページアドレスとの一致が検出されたとき前記物
理ページアドレスを出力するMMUを有し、MPUがT
LBにおけるアドレス変換時のフォルト処理を行う例外
処理において特定のマスク・レベルを有さず、割り込み
によって該例外処理が中断されるとともに、アドレス変
換時にMPUから指定された論理ページアドレスに対し
てTLBの複数のエントリにおける論理ページアドレス
が一致することを検出するダブル・セレクト・エラー検
出部を備え、さらにTLB上に参照フラグおよび更新フ
ラグを有するシステムにおいて、 同一の論理ページアドレスについて前記ダブル・セレク
ト・エラーが検出されたTLB上の複数のエントリのう
ち、該参照フラグと更新フラグがともにセットされてい
ないエントリのみを無効化する手段を備えたことを特徴
とするTLB制御装置
4. An address conversion table comprising a plurality of entries for setting data indicating a correspondence between a logical page address and a physical page address output by an MPU is provided in a memory. MPU with TLB consisting of multiple entries to be set
Has an MMU that outputs the physical page address when a match between the logical page address output from the TLB and the logical page address set in the TLB is detected.
In the exception processing for performing the fault processing at the time of address conversion in the LB, the exception processing does not have a specific mask level, the exception processing is interrupted by an interrupt, and the TLB of the logical page address specified by the MPU at the time of the address conversion is used. In a system having a double select error detecting unit for detecting that logical page addresses in a plurality of entries match, and further having a reference flag and an update flag on a TLB, the double select error is detected for the same logical page address. A TLB control device comprising means for invalidating only an entry in which both the reference flag and the update flag are not set, among a plurality of entries on the TLB in which is detected.
JP11012193A 1993-05-12 1993-05-12 TLB control method and device Expired - Fee Related JP3168489B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11012193A JP3168489B2 (en) 1993-05-12 1993-05-12 TLB control method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11012193A JP3168489B2 (en) 1993-05-12 1993-05-12 TLB control method and device

Publications (2)

Publication Number Publication Date
JPH06324946A JPH06324946A (en) 1994-11-25
JP3168489B2 true JP3168489B2 (en) 2001-05-21

Family

ID=14527572

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11012193A Expired - Fee Related JP3168489B2 (en) 1993-05-12 1993-05-12 TLB control method and device

Country Status (1)

Country Link
JP (1) JP3168489B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4576172B2 (en) * 2004-07-29 2010-11-04 富士通株式会社 Arithmetic processing device, information processing device, and control method of arithmetic processing device

Also Published As

Publication number Publication date
JPH06324946A (en) 1994-11-25

Similar Documents

Publication Publication Date Title
US5386565A (en) Method and system for controlling/monitoring computer system having plural operating systems to run thereon
EP0730230B1 (en) Method for prioritizing and handling errors in a computer system
JP4395425B2 (en) Data processing apparatus and method for processing corrupted data values
Namjoo et al. Watchdog processors and capability checking
JP4294626B2 (en) Technology to convert merge buffer system kill error to process kill error
US6332181B1 (en) Recovery mechanism for L1 data cache parity errors
EP0316252B1 (en) Storage addressing error detection
US6108753A (en) Cache error retry technique
US4731740A (en) Translation lookaside buffer control system in computer or virtual memory control scheme
EP0762282B1 (en) Atomic update of EDC protected data
US20030023932A1 (en) Method and apparatus for parity error recovery
US5916314A (en) Method and apparatus for cache tag mirroring
JP3168489B2 (en) TLB control method and device
US7607048B2 (en) Method and apparatus for protecting TLB's VPN from soft errors
US6546501B1 (en) Cache memory apparatus and computer readable recording medium on which a program for controlling a cache memory is recorded
JP3494072B2 (en) Cache memory and fault detection method thereof
JPH05165719A (en) Memory access processor
JP3229045B2 (en) Address translation buffer mechanism
JP3222218B2 (en) Control method of associative memory device
JPS59172044A (en) Instruction control system
JP2818562B2 (en) Address translation circuit
JP2796162B2 (en) Instruction processing method
JPH04273348A (en) Cache memory
JPH0564376B2 (en)
JPH0520200A (en) Error processing system for address conversion buffer

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: 20010123

LAPS Cancellation because of no payment of annual fees