JPH06309196A - Information processor with trace function - Google Patents

Information processor with trace function

Info

Publication number
JPH06309196A
JPH06309196A JP5116377A JP11637793A JPH06309196A JP H06309196 A JPH06309196 A JP H06309196A JP 5116377 A JP5116377 A JP 5116377A JP 11637793 A JP11637793 A JP 11637793A JP H06309196 A JPH06309196 A JP H06309196A
Authority
JP
Japan
Prior art keywords
address
register
stored
identifier
space
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
Application number
JP5116377A
Other languages
Japanese (ja)
Inventor
Masatoshi Hotta
正利 堀田
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP5116377A priority Critical patent/JPH06309196A/en
Publication of JPH06309196A publication Critical patent/JPH06309196A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To prevent an influence of a prescribed program on contents of a TLB or a cache memory. CONSTITUTION:At the time of execution of a program, the identifier stored in a first space identifier register 11 and that stored in a second space identifier register 12 are compared with each other by a comparing circuit 13. The identifier of the prescribed program is stored in the second space identifier register 12. At the time of execution of a trace program, this execution is detected by the comparing circuit 13, and storage to a TLB 1 and a cache memory 3 is inhibited by a TLB control part 14 and a cache control part 15. Thus, contents of the TLB 1 or the cache memory 3 are prevented from being changed from normal contents by tracing. Consequently, contents of the TLB 1 and the cache memory 3 can be traced.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、仮想記憶方式あるいは
キャッシュ記憶方式を備えたトレース機能付情報処理装
置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus with a trace function having a virtual memory system or a cache memory system.

【0002】[0002]

【従来の技術】一般に、トレース機能付情報処理装置に
おいては、トレースによりプログラムの実行途中の主記
憶装置の内容等を出力することができる。このようなト
レースは、被トレースプログラムとともにトレース用プ
ログラムを実行することにより行なわれる。
2. Description of the Related Art Generally, in an information processing apparatus with a trace function, it is possible to output the contents of a main storage device during execution of a program by tracing. Such tracing is performed by executing the tracing program together with the traced program.

【0003】一方、情報処理装置は、多重仮想記憶方式
を用いたものが一般的である。多重仮想記憶方式では、
複数のアドレス空間(仮想記憶空間)が設けられ、1つ
のプログラムに対して1つのアドレス空間が割当てられ
る。従って、トレース用プログラムに対しても1つのア
ドレス空間が割当てられる。このような仮想記憶方式で
は、DAT変換により各アドレス空間の論理アドレスを
物理アドレスに変換する。そして、アドレス変換を高速
に行なうため一度アドレス計算を行なった物理アドレス
を論理アドレスと対応させてTLBと呼ばれるテーブル
に格納する。また、多くの情報処理装置には、キャッシ
ュ記憶方式が用いられている。このようなキャッシュ記
憶方式では、主記憶装置の記憶内容の一部を高速のアク
セスが可能なキャッシュメモリに格納するようにしてい
る。そして、キャッシュメモリに参照頻度の高いデータ
を格納し、主記憶装置をアクセスする代わりに高速のキ
ャッシュメモリをアクセスして処理速度を向上させるよ
うにしている。
On the other hand, an information processing apparatus generally uses a multiple virtual storage system. In the multiple virtual memory system,
A plurality of address spaces (virtual storage spaces) are provided, and one address space is assigned to one program. Therefore, one address space is also allocated to the trace program. In such a virtual memory system, the logical address of each address space is converted into a physical address by DAT conversion. Then, in order to perform the address conversion at a high speed, the physical address once calculated is stored in a table called TLB in association with the logical address. A cache storage method is used in many information processing apparatuses. In such a cache storage system, a part of the storage contents of the main storage device is stored in a cache memory that can be accessed at high speed. Then, the data frequently referred to is stored in the cache memory, and instead of accessing the main storage device, the high-speed cache memory is accessed to improve the processing speed.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、上述し
た従来の技術には、次のような問題があった。即ち、従
来の情報処理装置では、トレースを行なう場合にトレー
ス用プログラムについてもアドレス空間内の論理アドレ
スから物理アドレスへのアドレス計算を行なった後、そ
の結果をTLBに格納していた。従って、トレースを行
なう場合と、トレースを行なわない通常の場合とでTL
Bの内容が異なってしまった。このため、トレースによ
り通常の実行状態でのTLBの内容を調べることができ
なかった。
However, the above-mentioned conventional technique has the following problems. That is, in the conventional information processing apparatus, when tracing is performed, the address of the trace program is calculated from the logical address in the address space to the physical address, and the result is stored in the TLB. Therefore, TL is used in the case of tracing and in the normal case of not tracing.
The contents of B are different. For this reason, the contents of the TLB in the normal execution state cannot be examined by tracing.

【0005】また、従来の情報処理装置では、トレース
を行なう場合にトレース用プログラムについても主記憶
装置からキャッシュメモリへのデータ転送を行なってい
た。従って、トレースを行なう場合と、トレースを行な
わない通常の場合とでキャッシュメモリの内容も異なっ
てしまった。このため、トレースにより通常の実行状態
でのキャッシュメモリの内容を調べることができなかっ
た。従って、トレースによりTLBやキャッシュメモリ
の内容を解析することはできなかった。本発明は、以上
の点に着目してなされたもので、トレースによりTLB
及びキャッシュメモリの内容が変更されず、これらの内
容も解析してプログラムの作成に利用できるようにした
トレース機能付情報処理装置を提供することを目的とす
るものである。
Further, in the conventional information processing apparatus, when the trace is performed, the data for the trace program is also transferred from the main memory to the cache memory. Therefore, the contents of the cache memory are different between when tracing is performed and when normal tracing is not performed. Therefore, it was not possible to examine the contents of the cache memory in the normal execution state by tracing. Therefore, it was not possible to analyze the contents of the TLB and cache memory by tracing. The present invention has been made by paying attention to the above points.
It is also an object of the present invention to provide an information processing apparatus with a trace function, in which the contents of the cache memory are not changed and these contents are analyzed and can be used for creating a program.

【0006】[0006]

【課題を解決するための手段】第1発明のトレース機能
付情報処理装置は、現在アクセス対象となる論理アドレ
スを格納する論理アドレスレジスタと、現在実行されて
いるプログラムが格納されるアドレス空間の識別子を格
納する第一空間識別子レジスタと、所定のプログラムが
格納されるアドレス空間の識別子を格納する第二空間識
別子レジスタと、前記論理アドレスレジスタに格納され
た論理アドレスを物理アドレスに変換する際、前記第一
空間識別子レジスタに格納された識別子及び前記第二空
間識別子レジスタに格納された識別子が一致しているか
否かを判定する比較回路と、当該比較回路によりこれら
の識別子が一致していると判定される場合は、前記論理
アドレスレジスタに格納された論理アドレスを物理アド
レスに変換した際これのTLBへの格納を禁止するTL
B制御部とを備えたことを特徴とするものである。
According to a first aspect of the present invention, there is provided an information processing device with trace function, which is a logical address register for storing a logical address to be currently accessed and an identifier of an address space in which a program currently being executed is stored. A first space identifier register for storing a second space identifier register for storing an identifier of an address space in which a predetermined program is stored, and a logical address stored in the logical address register for conversion into a physical address. A comparison circuit that determines whether the identifier stored in the first space identifier register and the identifier stored in the second space identifier register match, and the comparison circuit determines that these identifiers match. If the logical address stored in the logical address register is converted to a physical address, TL to prohibit the storage of the records of the TLB
A B control unit is provided.

【0007】第2発明のトレース機能付情報処理装置
は、現在アクセス対象となるアドレスを格納するアドレ
スレジスタと、現在実行されているプログラムが格納さ
れるアドレス空間の識別子を格納する第一空間識別子レ
ジスタと、所定のプログラムが格納されるアドレス空間
の識別子を格納する第二空間識別子レジスタと、前記第
一空間識別子レジスタに格納された識別子及び前記第二
空間識別子レジスタに格納された識別子が一致している
か否かを判定する比較回路と、当該比較回路によりこれ
らの識別子が一致していると判定される場合は、前記ア
ドレスレジスタに格納されたアドレスに存在するデータ
をキャッシュメモリへ転送することを禁止するキャッシ
ュ制御部とを備えたことを特徴とするものである。
An information processing apparatus with a trace function according to a second aspect of the invention includes an address register for storing an address to be currently accessed and a first space identifier register for storing an identifier of an address space in which a program currently being executed is stored. A second space identifier register that stores an identifier of an address space in which a predetermined program is stored, the identifier stored in the first space identifier register and the identifier stored in the second space identifier register are matched. If it is determined by the comparison circuit that determines whether or not these identifiers match, it is prohibited to transfer the data existing at the address stored in the address register to the cache memory. And a cache control unit for performing the same.

【0008】[0008]

【作用】第1発明のトレース機能付情報処理装置におい
ては、プログラムの実行の際、第一空間識別子レジスタ
に格納された識別子と、第二空間識別子レジスタに格納
された識別子とが比較回路により比較される。第二空間
識別子レジスタには、トレース用プログラムの識別子が
格納される。トレース用プログラムが実行される際は、
それが比較回路により検出され、TLB制御部によりT
LBへのアドレスの格納が禁止される。これにより、ト
レースを行なうことによりTLBの内容が通常の内容と
変わってしまうことを防止できる。従って、TLBの内
容を含めたトレースを行なうことができ、例えば、TL
Bのヒット率が向上するよう、プログラムの構造を決定
することが可能となる。
In the information processing apparatus with trace function of the first invention, the identifier stored in the first space identifier register and the identifier stored in the second space identifier register are compared by the comparison circuit when the program is executed. To be done. The identifier of the trace program is stored in the second space identifier register. When the trace program is executed,
It is detected by the comparison circuit, and TLB control unit T
Storing the address in the LB is prohibited. As a result, it is possible to prevent the contents of the TLB from changing from the normal contents due to the tracing. Therefore, the trace including the contents of the TLB can be performed.
It is possible to determine the structure of the program so that the hit rate of B is improved.

【0009】第2発明のトレース機能付情報処理装置に
おいても、プログラムの実行の際、第一空間識別子レジ
スタに格納された識別子と、第二空間識別子レジスタに
格納された識別子とが比較回路により比較される。第二
空間識別子レジスタには、トレース用プログラムの識別
子が格納される。トレース用プログラムが実行される際
は、それが比較回路により検出され、キャッシュ制御部
によりキャッシュメモリへのアドレスの格納が禁止され
る。これにより、トレースを行なうことによりキャッシ
ュメモリの内容が通常の内容と変わってしまうことを防
止できる。従って、キャッシュメモリの内容を含めたト
レースを行なうことができ、例えば、キャッシュメモリ
のヒット率が向上するよう、プログラムの構造を決定す
ることが可能となる。
Also in the information processing apparatus with trace function of the second invention, the identifier stored in the first space identifier register and the identifier stored in the second space identifier register are compared by the comparison circuit when the program is executed. To be done. The identifier of the trace program is stored in the second space identifier register. When the trace program is executed, it is detected by the comparison circuit, and the cache control unit prohibits the storage of the address in the cache memory. As a result, it is possible to prevent the contents of the cache memory from being changed from normal contents due to the tracing. Therefore, the trace including the contents of the cache memory can be performed, and for example, the structure of the program can be determined so that the hit rate of the cache memory is improved.

【0010】[0010]

【実施例】以下、本発明の実施例を図面を参照して詳細
に説明する。図1は、第1発明及び第2発明のトレース
機能付情報処理装置の一実施例のブロック図である。図
示の情報処理装置は、論理アドレスレジスタ10、第一
空間識別子レジスタ11、第二空間識別子レジスタ1
2、比較回路13、TLB制御部14、キャッシュ制御
部15等から成る。論理アドレスレジスタ10は、アク
セス対象となる論理アドレスを格納している。即ち、論
理アドレスレジスタ10は、ページ21及びオフセット
22を格納する。ページ21は、論理ページであり、オ
フセット22は、そのページ内のオフセット(変位)で
ある。
Embodiments of the present invention will now be described in detail with reference to the drawings. FIG. 1 is a block diagram of an embodiment of an information processing apparatus with a trace function according to the first invention and the second invention. The illustrated information processing apparatus includes a logical address register 10, a first space identifier register 11, and a second space identifier register 1.
2, a comparison circuit 13, a TLB control unit 14, a cache control unit 15 and the like. The logical address register 10 stores a logical address to be accessed. That is, the logical address register 10 stores the page 21 and the offset 22. The page 21 is a logical page, and the offset 22 is an offset (displacement) within the page.

【0011】第一空間識別子レジスタ11には、OSに
よって多重論理アドレス空間内の現在のある特定の空間
識別子が格納される。この空間識別子と論理アドレスに
よりTLB(アドレス変換テーブル)1又はDAT(動
的アドレス変換装置)2にアクセスしてこれらのいずれ
かにより物理アドレスが求められる。DAT2は、論理
アドレスと空間識別子を用いて主記憶上のテーブルを検
索し、動的に論理アドレスから物理アドレスを求める。
The first space identifier register 11 stores a current specific space identifier in the multiple logical address space by the OS. The TLB (address translation table) 1 or DAT (dynamic address translation device) 2 is accessed by the space identifier and the logical address, and the physical address is obtained by either of them. The DAT 2 searches the table on the main memory using the logical address and the space identifier and dynamically obtains the physical address from the logical address.

【0012】TLB1は、仮想記憶方式において、論理
アドレスを物理アドレスに変換するアドレス変換を高速
に行なうためのものである。このTLB1は、ある有限
個のエントリから成り、各エントリには論理アドレスと
物理アドレスの対であるアドレス変換対が格納される。
即ち、TLB1の各エントリには、論理ページアドレス
LA、空間識別子ID、当該エントリが有効/無効であ
ることを示すVビット、及びこれらに対応する物理ペー
ジアドレスPAが格納されている。TLB1は、論理ア
ドレスレジスタ10のページ21と第一空間識別子レジ
スタ11の空間識別子によって検索される。そして、も
し該当するエントリがあれば、そこから物理ページアド
レスPAが読み出され、これが論理アドレスレジスタ1
0のオフセット22とアドレス加算器23で足し合わさ
れる。この結果、主記憶上の物理アドレスを求めること
ができる。
The TLB 1 is for performing high-speed address conversion for converting a logical address into a physical address in the virtual memory system. The TLB 1 is composed of a certain finite number of entries, and each entry stores an address translation pair which is a pair of a logical address and a physical address.
That is, each entry of TLB1 stores a logical page address LA, a space identifier ID, a V bit indicating that the entry is valid / invalid, and a physical page address PA corresponding to these. The TLB1 is searched by the page 21 of the logical address register 10 and the space identifier of the first space identifier register 11. If there is a corresponding entry, the physical page address PA is read from this entry, and this is the logical address register 1
The offset 22 of 0 and the address adder 23 are added. As a result, the physical address on the main memory can be obtained.

【0013】もし、対応するエントリが見つからなかっ
た場合はTLBフォールトであるので、DAT2を用い
てOS又はマイクロプログラムが主記憶上のテーブルを
参照して論理アドレスから物理アドレスを求めてそれを
TLB1に登録する。TLB1のエントリが一杯の場合
はLRU順に選ばれたエントリが置き換えられる。TL
B1あるいはDAT2によって求められた物理アドレス
はキャッシュ制御部15に送られ、この物理アドレスに
よりキャッシュメモリ3がアクセスされる。ただし、比
較回路13の判定で識別子が一致する場合はTLB制御
部14でTLB1の置き換えを禁止し、キャッシュ制御
部15でキャッシュメモリ3の置き換えを禁止する。
If the corresponding entry is not found, it is a TLB fault. Therefore, the OS or the microprogram uses DAT2 to refer to the table in the main memory to obtain the physical address from the logical address, and to assign it to the TLB1. register. When the entry of TLB1 is full, the entry selected in LRU order is replaced. TL
The physical address obtained by B1 or DAT2 is sent to the cache control unit 15, and the cache memory 3 is accessed by this physical address. However, when the comparison circuit 13 determines that the identifiers match, the TLB control unit 14 prohibits the replacement of the TLB 1 and the cache control unit 15 prohibits the replacement of the cache memory 3.

【0014】キャッシュ制御部15には、現在キャッシ
ュメモリに格納されている主記憶の写しがどの物理アド
レスに対応するかの情報が管理されている。即ち、物理
アドレスに対応してキャッシュメモリ3上のアドレスが
格納され管理されている。また、これとともに空間識別
子が格納されている。キャッシュメモリ3には、そのエ
ントリの有効/無効を示すVビットと、キャッシュメモ
リ3に主記憶の写しが転送されてから書き換えられたか
を示すCビットと、主記憶の写しとが格納されている。
もし、キャッシュメモリ3に求める有効な主記憶の写し
が格納されていれば、その主記憶の写しにアクセスす
る。もし、そのような主記憶の写しがなければ、フォー
ルトとなり、主記憶から写しが転送され、キャッシュ制
御部15のエントリに登録される。その際にエントリが
一杯だと適当なエントリを選んで置き換えられる。この
場合、キャッシュ制御部は、Cビットにより単に古いエ
ントリを捨てればよいのか、主記憶に書き戻すかを決定
する。
The cache control unit 15 manages information about which physical address corresponds to the copy of the main memory currently stored in the cache memory. That is, the address on the cache memory 3 is stored and managed in correspondence with the physical address. A space identifier is also stored together with this. The cache memory 3 stores a V bit indicating whether the entry is valid / invalid, a C bit indicating whether a copy of the main memory has been transferred to the cache memory 3 and then rewritten, and a copy of the main memory. .
If a valid copy of the main memory is stored in the cache memory 3, the copy of the main memory is accessed. If there is no such copy of the main memory, a fault occurs and the copy is transferred from the main memory and registered in the entry of the cache control unit 15. At that time, if the entry is full, an appropriate entry is selected and replaced. In this case, the cache control unit determines whether to simply discard the old entry or write it back to the main memory according to the C bit.

【0015】第二空間識別子レジスタ12には、TLB
1やキャッシュメモリ3に影響を与えたくないようなプ
ログラムの空間識別子が格納される。図示の例では、複
数の空間識別子エントリが格納できるようになってい
る。この第二空間識別子レジスタ12は、連想記憶構造
になっている。第二空間識別子レジスタ12のエントリ
は、1つでもよく、その場合、一度に設定できるTLB
1及びキャッシュメモリ3に影響を及ぼさないプログラ
ムは1つだけになるが、連想記憶構造をとらなくてよい
のでハードウェアが簡単になる。また、第二空間識別子
レジスタ12のエントリには、そのエントリの有効/無
効を示すVビットが設けられている。比較回路13は、
第一空間識別子レジスタ11に格納された空間識別子
と、第二空間識別子レジスタ12に格納された空間識別
子とが一致するか否かを判定する回路である。これらの
識別子が一致したか否かの情報は、それぞれDAT2、
TLB制御部14、及びキャッシュ制御部15に送られ
る。
The second space identifier register 12 contains the TLB
1 or a space identifier of a program that does not want to affect the cache memory 3 is stored. In the illustrated example, a plurality of space identifier entries can be stored. The second space identifier register 12 has an associative memory structure. The number of entries in the second space identifier register 12 may be one, in which case the TLB that can be set at one time.
Although there is only one program that does not affect 1 and the cache memory 3, the hardware is simplified because the associative memory structure is not required. Further, each entry of the second space identifier register 12 is provided with a V bit indicating whether the entry is valid or invalid. The comparison circuit 13
It is a circuit that determines whether or not the space identifier stored in the first space identifier register 11 and the space identifier stored in the second space identifier register 12 match. Information on whether or not these identifiers match is DAT2,
It is sent to the TLB control unit 14 and the cache control unit 15.

【0016】もし、一致していた場合は、TLB制御部
14はTLB1への登録を禁止し、キャッシュ制御部1
5はキャッシュメモリ3への登録を禁止する。即ち、T
LB制御部14は、比較回路13が一致信号を出してい
る限り、DAT2が求めた物理アドレスを登録しない。
また、DAT2が主記憶にアクセスしてTLB1のエン
トリに登録することを禁止する。また、キャッシュ制御
部15は、一致信号が出力されている間、主記憶の写し
をキャッシュメモリ3に格納することを禁止する。尚、
キャッシュ制御部15は、比較回路13で一致した空間
識別子と同じ空間識別子を持ったエントリを追い出す。
つまり、エントリのCビットを見て、Cビットがセット
されていないときは、そのエントリを捨て、Cビットが
セットされているときはエントリを主記憶に書き戻す。
If they match, the TLB control unit 14 prohibits registration in the TLB 1, and the cache control unit 1
5 prohibits registration in the cache memory 3. That is, T
The LB control unit 14 does not register the physical address obtained by the DAT 2 as long as the comparison circuit 13 outputs the coincidence signal.
In addition, DAT2 is prohibited from accessing the main memory and registering in the entry of TLB1. Also, the cache control unit 15 prohibits storing a copy of the main memory in the cache memory 3 while the coincidence signal is being output. still,
The cache control unit 15 drives out the entry having the same space identifier as the space identifier matched by the comparison circuit 13.
That is, looking at the C bit of the entry, if the C bit is not set, the entry is discarded, and if the C bit is set, the entry is written back to the main memory.

【0017】次に、上述した装置の動作を説明する。第
二空間識別子レジスタ12には、トレース用プログラム
が格納されたアドレス空間の識別子が格納される。プロ
グラムのトレースを行なうときは、被トレースプログラ
ムとトレース用プログラムが交互に実行される。
Next, the operation of the above-mentioned device will be described. The second space identifier register 12 stores the identifier of the address space in which the trace program is stored. When the program is traced, the traced program and the trace program are executed alternately.

【0018】被トレースプログラムが実行されるとき
は、第一空間識別子レジスタ11に被トレースプログラ
ムが格納されたアドレス空間の識別子が格納される。第
二空間識別子レジスタ12には、この被トレースプログ
ラムが格納されたアドレス空間の識別子は格納されてい
ないので、比較回路13の比較結果は不一致となり、D
AT2、TLB制御部14及びキャッシュ制御部15に
不一致信号が送られる。これにより、DAT2では、ア
ドレス計算が開始される。また、TLB制御部14で
は、TLB1の検索が開始される。即ち、論理アドレス
レジスタ10に格納されたページ21と、TLB1の各
エントリの論理ページアドレスLAとが比較される。そ
して、ページ21と一致する論理ページアドレスLAが
存在し、その有効ビットVが有効であるときは、論理ア
ドレスレジスタ10のオフセット22と論理ページアド
レスLAに対応するページアドレスとがアドレス加算器
23によって加算され、物理アドレスが求められる。
When the traced program is executed, the first space identifier register 11 stores the identifier of the address space in which the traced program is stored. Since the identifier of the address space in which the traced program is stored is not stored in the second space identifier register 12, the comparison result of the comparison circuit 13 becomes a mismatch and D
A mismatch signal is sent to the AT2, the TLB controller 14, and the cache controller 15. As a result, the address calculation is started in DAT2. Further, the TLB control unit 14 starts searching for TLB1. That is, the page 21 stored in the logical address register 10 is compared with the logical page address LA of each entry of the TLB 1. When the logical page address LA that matches the page 21 exists and the valid bit V is valid, the offset 22 of the logical address register 10 and the page address corresponding to the logical page address LA are determined by the address adder 23. The physical address is calculated by adding.

【0019】一方、DAT2では、論理アドレスレジス
タ10のページ21とオフセット22とからOS等によ
り物理アドレスが計算される。このアドレス計算は、T
LB1により物理アドレスが求められたときは途中で打
ち切られる。ところが、TBL1にヒットしないことに
より物理アドレスが求められなかったときは、DAT2
によりアドレス計算が続行され、物理アドレスが求めら
れる。そして、この求められた物理アドレスがTBL1
の空きエントリ(Vビットが“0”のエントリ)に格納
される。TBL1に空きエントリがないときはLRU順
で最も古く使用されたエントリに置き換えて新たに求め
られた物理ページアドレスPA及びこれに対応する論理
ページアドレスLA及び識別子IDが格納される。この
ようにTLB1又はDAT2で求められた物理アドレス
はキャッシュ制御部15に送られる。
On the other hand, in DAT2, the physical address is calculated by the OS or the like from the page 21 and the offset 22 of the logical address register 10. This address calculation is T
When the physical address is obtained by LB1, it is aborted midway. However, when the physical address is not obtained because TBL1 is not hit, DAT2
The address calculation is continued by and the physical address is obtained. Then, the calculated physical address is TBL1.
Stored in the empty entry (entry having V bit of "0"). When there is no empty entry in TBL1, the oldest used entry in the LRU order is replaced and the newly obtained physical page address PA and the corresponding logical page address LA and identifier ID are stored. The physical address obtained by TLB1 or DAT2 in this way is sent to the cache control unit 15.

【0020】キャッシュ制御部15では、物理アドレス
に対応したデータブロックがキャッシュメモリ3に存在
するか否かが判定される。キャッシュメモリ3にデータ
ブロックが存在するときは、そのデータブロックからデ
ータが読み出される。キャッシュメモリ3にデータブロ
ックが存在しないときは主記憶装置からデータブロック
がキャッシュメモリ3の空き領域(Vビットが“0”の
領域)に転送され、そのデータブロックからアクセス対
象のデータが読み出される。キャッシュメモリ3に空き
領域がないときは、LRU順で最も古く参照された領域
に主記憶装置から新たに転送されたデータブロックが格
納される。この場合、元のデータブロックはCビットが
“0”のときは捨てられ、Cビットが“1”のときは主
記憶装置に書き戻される。
The cache control unit 15 determines whether or not the data block corresponding to the physical address exists in the cache memory 3. When a data block exists in the cache memory 3, data is read from that data block. When the data block does not exist in the cache memory 3, the data block is transferred from the main memory device to the empty area (area where V bit is "0") of the cache memory 3, and the data to be accessed is read from the data block. When there is no free area in the cache memory 3, the data block newly transferred from the main memory is stored in the oldest referenced area in the LRU order. In this case, the original data block is discarded when the C bit is "0" and written back to the main memory when the C bit is "1".

【0021】これに対し、トレース用プログラムが実行
されるときは、第一空間識別子レジスタ11に被トレー
スプログラムが格納されたアドレス空間の識別子が格納
されるとともに、第二空間識別子レジスタ12にもこの
トレース用プログラムが格納されたアドレス空間の識別
子が格納される。従って、比較回路13の比較結果は一
致となり、DAT2、TLB制御部14及びキャッシュ
制御部15に一致信号が送られる。これにより、DAT
2では、アドレス計算が開始される。また、TLB制御
部14では、TLB1の検索が開始されるが、物理アド
レスが求められることはなく、識別子IDが一致するエ
ントリが存在すればそのエントリのVビットは“0”に
される。
On the other hand, when the tracing program is executed, the first space identifier register 11 stores the identifier of the address space in which the traced program is stored, and the second space identifier register 12 also stores this identifier. The identifier of the address space in which the trace program is stored is stored. Therefore, the comparison result of the comparison circuit 13 becomes a match, and a match signal is sent to the DAT 2, the TLB control unit 14, and the cache control unit 15. This allows DAT
At 2, the address calculation is started. Further, the TLB control unit 14 starts the search for TLB1, but the physical address is not obtained, and if there is an entry with a matching identifier ID, the V bit of that entry is set to "0".

【0022】一方、DAT2では、論理アドレスレジス
タ10のページ21とオフセット22とからOS等によ
り物理アドレスが計算される。そして、この求められた
物理アドレスはTBL1に格納されることがない。従っ
て、トレース用プログラムの実行によりTLB1の内容
が書き換えられることはなく、被トレースプログラムの
みによりTLB1が書き換えられる。このため、トレー
スにより被トレースプログラムの通常の実行途中のTL
B1の内容を読み出すことができ、この内容を解析する
ことが可能となる。
On the other hand, in DAT2, the physical address is calculated by the OS or the like from the page 21 and the offset 22 of the logical address register 10. Then, the obtained physical address is not stored in TBL1. Therefore, the contents of TLB1 are not rewritten by the execution of the trace program, and TLB1 is rewritten only by the traced program. For this reason, the TL during the normal execution of the traced program is traced.
The contents of B1 can be read and this contents can be analyzed.

【0023】また、キャッシュ制御部15では、DAT
2で計算された物理アドレスに対応したデータが主記憶
装置から読み出される。そして、このデータはキャッシ
ュメモリ3に格納されることはない。従って、トレース
用プログラムの実行によりキャッシュメモリ3の内容が
書き換えられることはなく、被トレースプログラムのみ
によりキャッシュメモリ3が書き換えられる。このた
め、トレースにより被トレースプログラムの通常の実行
途中のキャッシュメモリ3の内容を読み出すことがで
き、この内容を解析することが可能となる。
Further, the cache control unit 15 uses the DAT
The data corresponding to the physical address calculated in 2 is read from the main storage device. Then, this data is not stored in the cache memory 3. Therefore, the contents of the cache memory 3 are not rewritten by executing the trace program, and the cache memory 3 is rewritten only by the traced program. Therefore, the contents of the cache memory 3 during the normal execution of the traced program can be read by tracing, and the contents can be analyzed.

【0024】以上のようにして、TLB1とキャッシュ
メモリ3の内容を解析して処理効率のよいプログラムを
構築することが可能となる。また、第二空間識別子レジ
スタ12に識別子が格納されたプログラムは、TLB1
やキャッシュメモリ3の影響を受けずに常に一定の処理
速度でプログラムを実行することができる。従って、本
発明のトレース機能付情報処理装置は、トレース用プロ
グラムを実行する場合だけでなく、TLB1やキャッシ
ュメモリ3の影響を受けずに常に一定の時間をかけて処
理を行ないたいプログラムを実行する場合にも使用する
ことができる。尚、上述した実施例においては、TLB
制御部14と、キャッシュ制御部15との双方を備えた
情報処理装置について説明したが、本発明はこれに限定
されることなく、いずれか一方を備えた情報処理装置も
含むことはもちろんである。
As described above, it is possible to analyze the contents of the TLB 1 and the cache memory 3 to construct a program with good processing efficiency. The program whose identifier is stored in the second space identifier register 12 is TLB1
The program can always be executed at a constant processing speed without being affected by the cache memory 3. Therefore, the information processing apparatus with trace function of the present invention executes not only the case of executing the trace program, but also the program that is desired to be processed for a certain time without being affected by the TLB 1 and the cache memory 3. Can also be used in cases. Incidentally, in the above-mentioned embodiment, the TLB
Although the information processing apparatus including both the control unit 14 and the cache control unit 15 has been described, the present invention is not limited to this, and it goes without saying that an information processing apparatus including either one is included. .

【0025】[0025]

【発明の効果】以上説明したように、本発明のトレース
機能付情報処理装置によれば、所定のアドレス空間に格
納されたプログラムがTLBの内容に影響を及ぼさない
ようにしたので、トレースによりTLBの内容が通常の
内容と違ったものとなることを防止することができる。
従って、TLBの内容についてもトレースを行なうこと
ができ、TLBのヒット状況を調べることができるの
で、実行速度の速いプログラムを作成することができ
る。また、所定のアドレス空間に格納されたプログラム
がキャッシュメモリの内容に影響を及ぼさないようにし
たので、トレースによりキャッシュメモリの内容が通常
の内容と違ったものとなることを防止することができ
る。従って、キャッシュメモリの内容についてもトレー
スを行なうことができ、キャッシュ制御部のヒット状況
を調べることができるので、実行速度の速いプログラム
を作成することができる。
As described above, according to the information processing apparatus with the trace function of the present invention, the program stored in the predetermined address space is prevented from affecting the contents of the TLB. The contents of can be prevented from being different from normal contents.
Therefore, the contents of the TLB can be traced, and the hit status of the TLB can be checked, so that a program with a high execution speed can be created. Further, since the program stored in the predetermined address space does not affect the contents of the cache memory, it is possible to prevent the contents of the cache memory from being different from the normal contents by tracing. Therefore, the contents of the cache memory can be traced, and the hit status of the cache control unit can be checked, so that a program with a high execution speed can be created.

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

【図1】本発明のトレース機能付情報処理装置の一実施
例のブロック図である。
FIG. 1 is a block diagram of an embodiment of an information processing apparatus with a trace function of the present invention.

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

1 TLB 2 DAT 10 論理アドレスレジスタ 11 第一空間識別子レジスタ 12 第二空間識別子レジスタ 13 比較回路 14 TLB制御部 15 キャッシュ制御部 1 TLB 2 DAT 10 Logical Address Register 11 First Space Identifier Register 12 Second Space Identifier Register 13 Comparison Circuit 14 TLB Controller 15 Cache Controller

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 現在アクセス対象となる論理アドレスを
格納する論理アドレスレジスタと、 現在実行されているプログラムが格納されるアドレス空
間の識別子を格納する第一空間識別子レジスタと、 所定のプログラムが格納されるアドレス空間の識別子を
格納する第二空間識別子レジスタと、 前記論理アドレスレジスタに格納された論理アドレスを
物理アドレスに変換する際、前記第一空間識別子レジス
タに格納された識別子及び前記第二空間識別子レジスタ
に格納された識別子が一致しているか否かを判定する比
較回路と、 当該比較回路によりこれらの識別子が一致していると判
定される場合は、前記論理アドレスレジスタに格納され
た論理アドレスを物理アドレスに変換した際これのTL
Bへの格納を禁止するTLB制御部とを備えたことを特
徴とするトレース機能付情報処理装置。
1. A logical address register that stores a logical address that is currently accessed, a first space identifier register that stores an identifier of an address space in which a program currently being executed is stored, and a predetermined program is stored. A second space identifier register for storing an identifier of an address space, and an identifier stored in the first space identifier register and the second space identifier when converting a logical address stored in the logical address register into a physical address. The comparison circuit that determines whether the identifiers stored in the register match, and if the comparison circuit determines that these identifiers match, the logical address stored in the logical address register TL of this when converted to physical address
An information processing apparatus with a trace function, comprising: a TLB control unit that prohibits storage in B.
【請求項2】 現在アクセス対象となるアドレスを格納
するアドレスレジスタと、 現在実行されているプログラムが格納されるアドレス空
間の識別子を格納する第一空間識別子レジスタと、 所定のプログラムが格納されるアドレス空間の識別子を
格納する第二空間識別子レジスタと、 前記第一空間識別子レジスタに格納された識別子及び前
記第二空間識別子レジスタに格納された識別子が一致し
ているか否かを判定する比較回路と、 当該比較回路によりこれらの識別子が一致していると判
定される場合は、前記アドレスレジスタに格納されたア
ドレスに存在するデータをキャッシュメモリへ転送する
ことを禁止するキャッシュ制御部とを備えたことを特徴
とするトレース機能付情報処理装置。
2. An address register for storing an address to be currently accessed, a first space identifier register for storing an identifier of an address space for storing a program currently being executed, and an address for storing a predetermined program. A second space identifier register that stores a space identifier, a comparison circuit that determines whether the identifier stored in the first space identifier register and the identifier stored in the second space identifier register match, If the comparison circuit determines that these identifiers match, a cache control unit that prohibits transfer of data existing at the address stored in the address register to the cache memory is provided. A characteristic information processing device with a trace function.
JP5116377A 1993-04-20 1993-04-20 Information processor with trace function Pending JPH06309196A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5116377A JPH06309196A (en) 1993-04-20 1993-04-20 Information processor with trace function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5116377A JPH06309196A (en) 1993-04-20 1993-04-20 Information processor with trace function

Publications (1)

Publication Number Publication Date
JPH06309196A true JPH06309196A (en) 1994-11-04

Family

ID=14685492

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5116377A Pending JPH06309196A (en) 1993-04-20 1993-04-20 Information processor with trace function

Country Status (1)

Country Link
JP (1) JPH06309196A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011111172A1 (en) * 2010-03-09 2011-09-15 富士通株式会社 Information processing device, information processing method, and program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011111172A1 (en) * 2010-03-09 2011-09-15 富士通株式会社 Information processing device, information processing method, and program
JP5423871B2 (en) * 2010-03-09 2014-02-19 富士通株式会社 Information processing apparatus, information processing method, and program
KR101393992B1 (en) * 2010-03-09 2014-05-12 후지쯔 가부시끼가이샤 Information processing device, information processing method, and computer readable recording medium having program
US9122597B2 (en) 2010-03-09 2015-09-01 Fujitsu Limited Information processing apparatus, information processing method and medium storing program

Similar Documents

Publication Publication Date Title
US6145064A (en) Method of efficiently updating hashed page tables
CA1226372A (en) Address translation control system
JP2825550B2 (en) Multiple virtual space address control method and computer system
US5493660A (en) Software assisted hardware TLB miss handler
US6430668B2 (en) Speculative address translation for processor using segmentation and optical paging
US5123101A (en) Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
US5230045A (en) Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus
US7831799B1 (en) Speculative address translation for processor using segmentation and optional paging
US5182805A (en) Method and system for determining copy-on-write condition
JPH04320553A (en) Address converting mechanism
US5226132A (en) Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system
US5479629A (en) Method and apparatus for translation request buffer and requestor table for minimizing the number of accesses to the same address
US6990551B2 (en) System and method for employing a process identifier to minimize aliasing in a linear-addressed cache
JPH0650480B2 (en) Multiple virtual memory system and address controller
JPH06309196A (en) Information processor with trace function
JPH02308349A (en) Buffer storage control system
JP2845754B2 (en) Multiprocessor system
JPH06124237A (en) Address translation buffer device
JP3030037B2 (en) Main storage device
JP3061818B2 (en) Access monitor device for microprocessor
AU708232B2 (en) A method of efficiently updating hashed page tables
JPH0337217B2 (en)
JPH0458347A (en) Control system for shared address space
JPH05225063A (en) Buffer memory clear system
JPH0336648A (en) Electronic computer, tlb device and microprocessor chip