JPH0746321B2 - History information storage device - Google Patents
History information storage deviceInfo
- Publication number
- JPH0746321B2 JPH0746321B2 JP61265343A JP26534386A JPH0746321B2 JP H0746321 B2 JPH0746321 B2 JP H0746321B2 JP 61265343 A JP61265343 A JP 61265343A JP 26534386 A JP26534386 A JP 26534386A JP H0746321 B2 JPH0746321 B2 JP H0746321B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- storage
- history information
- information
- processing step
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 claims description 104
- 238000013519 translation Methods 0.000 claims description 22
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 230000010365 information processing Effects 0.000 claims description 7
- 230000005764 inhibitory process Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 2
- 230000002401 inhibitory effect Effects 0.000 claims 2
- 238000000034 method Methods 0.000 description 38
- 238000004891 communication Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 5
- 239000013256 coordination polymer Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- GHOKWGTUZJEAQD-ZETCQYMHSA-N (D)-(+)-Pantothenic acid Chemical compound OCC(C)(C)[C@@H](O)C(=O)NCCC(O)=O GHOKWGTUZJEAQD-ZETCQYMHSA-N 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Description
【発明の詳細な説明】 (産業上の利用分野) 本発明はアドレス変換手段を有する情報処理システムに
おける、特にソフトウェアによるアドレス変換情報の更
新に伴って生成される履歴情報を記憶する履歴情報記憶
装置に関する。The present invention relates to an information processing system having an address conversion unit, and in particular, a history information storage device for storing history information generated by updating address conversion information by software. Regarding
(従来の技術) データ処理やデータ通信などの分野では、一般にコンピ
ュータを含む情報処理システムが使用されている。この
ような情報処理システムは近年、ますます高度な機能を
含み、複雑化している。(Prior Art) In fields such as data processing and data communication, an information processing system including a computer is generally used. In recent years, such information processing systems have become increasingly complex, including increasingly sophisticated functions.
したがって、システムの稼動時などに発生した不正例外
を調査分析し、その原因を究明することには非常な困難
を伴う場合が多い。特に、プログラム上に論理アドレス
から主メモリ装置上の絶対アドレスへのアドレス変換を
必要とする仮想記憶方式は、ハードウェア、ファームウ
ェア、およびソフトウェアが複雑に絡み合って実行され
るので、そのような局面における不正例外の原因を究明
することは一層至難となる。さらに、複数台のコンピュ
ータシステムから成るマルチプロセサシステムでは、な
お一層至難である。Therefore, it is often very difficult to investigate and analyze an illegal exception that has occurred during system operation and to find out the cause. In particular, a virtual memory system that requires address translation from a logical address on a program to an absolute address on a main memory device is executed because hardware, firmware, and software are complicatedly entangled and executed. It is even more difficult to find out the cause of the illegal exception. Furthermore, it is even more difficult in a multiprocessor system including a plurality of computer systems.
(発明が解決しようとする問題点) 上述した従来技術による情報処理システムは、このよう
な不正例外条件の原因を調査・分析して、問題解決を計
るには多大な工数と時間とを必要とするという欠点があ
る。(Problems to be Solved by the Invention) The above-described conventional information processing system requires a great deal of man-hours and time to investigate and analyze the cause of such an illegal exception condition and measure the problem. There is a drawback that
本発明の目的は、アドレス変換のため変換情報の更新命
令の実行に関する情報を順次記憶しておき、不正例外条
件などが発生したときにそれを読出すことによって上記
欠点を除去し、原因究明を迅速に行うことができるよう
に構成した履歴情報記憶装置を提供することにある。It is an object of the present invention to eliminate the above-mentioned drawbacks by sequentially storing information relating to execution of a translation information update instruction for address translation, and reading it out when an illegal exception condition or the like occurs, to investigate the cause. It is an object of the present invention to provide a history information storage device configured so as to be able to perform quickly.
(問題点を解決するための手段) 本発明による情報処理システムの履歴情報記憶装置は、 少なくとも1台以上の主メモリ装置、該主メモリ装置か
ら情報を読出すときまたは該主メモリ装置へ情報を書込
むときにプログラム上の絶対アドレスに変換を行うアド
レス変換機構とアドレス変換を高速化するためのアドレ
ス変換バッファおよび前記アドレス変換情報を更新する
1つ以上のソフトウェア命令とアドレス変換バッファを
更新する1つ以上のソフトウェア命令を有する中央処
理、およびスーパーバイザプロセッサとからなる情報処
理システムにおいて、 主メモリ装置内にあって、前記ソフトウェア命令の実行
に関わる情報(例えば、命令カウンタ、命令コード、前
記アドレス変換情報を更新するためのアドレス情報およ
び更新データ等)を該ソフトウェア命令の実行の履歴情
報として複数記憶する履歴情報記憶手段と、 記憶許可状態および記憶抑止状態に更新する命令(1命
令であっても2命令であってもよい)により前記履歴情
報記憶手段に対して該履歴情報の記憶を許可する記憶許
可状態と記憶を抑止する記憶抑止状態とを指定する記憶
指定手段と、 中央処理装置内にあって、前記ソフトウェア命令の実行
時に前記記憶指定手段が記憶許可状態または記憶抑止状
態の何れを指定しているかを判断する記憶指定判断手段
と、 該記憶指定判断手段が記憶許可状態を指定していると判
断したときには前記履歴情報を前記履歴情報記憶手段に
逐次記憶するための記憶手段と、 例外発生時に該例外が不正例外であるか機能例外である
かを判断し、不正例外と判断したときには前記記憶指定
手段を記憶抑止状態へ更新するための記憶抑止手段 とにより構成した履歴情報記憶装置を具備することによ
って前記の従来の問題点の解決が図れる。(Means for Solving Problems) A history information storage device of an information processing system according to the present invention is at least one main memory device, when reading information from the main memory device, or storing information in the main memory device. An address translation mechanism for performing translation into an absolute address on a program when writing, an address translation buffer for speeding up address translation, and one or more software instructions for updating the address translation information and an address translation buffer 1 In an information processing system including a central processing unit having one or more software instructions and a supervisor processor, information relating to execution of the software instructions in a main memory device (for example, instruction counter, instruction code, address conversion information) Address information and update data for updating History information storage means for storing a plurality of pieces of history information as execution history information of the software instructions, and the history information storage means by means of an instruction (either one instruction or two instructions) for updating the storage permission state and the storage inhibition state. A storage designation unit that designates a storage permission state that permits storage of the history information and a storage inhibition state that inhibits storage of the history information; and, in the central processing unit, the storage designation unit when executing the software instruction. Storage designation determining means for determining whether the storage permission state or the storage inhibition state is designated; and when the storage designation determination means determines that the storage permission state is designated, the history information is stored as the history information storage means. Storage means for sequentially storing the exceptions, and when the exception occurs, it is determined whether the exception is an illegal exception or a functional exception. Solve the conventional problems of the by having a history information storage device configured by a storage deterrent for updating designating means to the storage inhibited state can be reduced.
(実施例) 次に、本発明による履歴情報記憶装置について図面を参
照して説明する。(Example) Next, a history information storage device according to the present invention will be described with reference to the drawings.
第1図は本発明による履歴情報記憶装置の一部を構成す
る主メモリ装置内の制御構造を示す図である。第1図に
おいて、1は主メモリ、2はポインタ領域、3はFWワー
ク領域、4はFWスタックポインタ、5はFWスタック領
域、6〜9はそれぞれCPU領域、10はポインタ、11は履
歴情報記憶領域である。第1図において主メモリ装置1
は本実施例に関わるポインタ領域2およびFW(ファーム
ウェア:以下、FWという。)ワーク領域3を含んでい
る。FIG. 1 is a diagram showing a control structure in a main memory device which constitutes a part of a history information storage device according to the present invention. In FIG. 1, 1 is a main memory, 2 is a pointer area, 3 is a FW work area, 4 is a FW stack pointer, 5 is a FW stack area, 6-9 are CPU areas, 10 are pointers, and 11 is history information storage. Area. Main memory device 1 in FIG.
Includes a pointer area 2 and an FW (firmware: hereinafter referred to as FW) work area 3 according to this embodiment.
ポインタ領域2は、例えば20H(16進数)番地から始ま
る4バイトのFWスタックポインタ4を備えている。FWス
タックポインタ4は、FWワーク領域3に含まれるFWスタ
ック領域5を指示するアドレスとともに、トレースモー
ドビット(履歴情報を記憶するか否かを示す。)とログ
アウト表示ビット(記憶された履歴情報をログアウト中
であるか否かを示す。)とから成る。The pointer area 2 is provided with a 4-byte FW stack pointer 4 starting from the address 20H (hexadecimal number), for example. The FW stack pointer 4 has an address indicating the FW stack area 5 included in the FW work area 3, a trace mode bit (indicating whether history information is stored or not), and a logout display bit (stored history information is stored). Indicates whether or not you are logged out.)
FWスタック領域5は、各CPU(論理アドレスから絶対ア
ドレスにアドレス変換を行うアドレス変換手段を備えた
中央処理装置、以下の説明ではCPUと称する。)に対応
する同一容量の領域から成る。すなわち、これらの領域
はCPU#0領域6、CPU#1領域7、CPU#2領域8、お
よび#3領域9である。The FW stack area 5 is composed of areas of the same capacity corresponding to each CPU (central processing unit having address conversion means for performing address conversion from a logical address to an absolute address, referred to as CPU in the following description). That is, these areas are the CPU # 0 area 6, the CPU # 1 area 7, the CPU # 2 area 8, and the # 3 area 9.
CPU#0領域6はCPUを特定するポインタ10と、210−1
個の履歴情報記憶領域11とから成る。履歴情報記憶領域
11は実行された命令の種別、命令実行時のタスク名およ
び命令カウンタ(IC)の内容、汎用レジスタG1の内容、
および汎用レジスタG1+1の内容をそれぞれ記憶する。
これらの記憶情報に関しては後述する。CPU # 0 area 6 the pointer 10 to identify the CPU, 2 10 -1
And a history information storage area 11. History information storage area
11 indicates the type of executed instruction, the task name at the time of executing the instruction and the contents of the instruction counter (IC), the contents of general-purpose register G1,
And the contents of the general-purpose register G1 + 1 are stored.
The stored information will be described later.
CPU#1領域7、CPU#2領域8およびCPU#3領域9
も、それぞれ上記のCPU#0領域6と全く同様に構成さ
れている。CPU # 1 area 7, CPU # 2 area 8 and CPU # 3 area 9
Are also configured in exactly the same manner as the CPU # 0 area 6 described above.
第2図(a)はアドレス変換情報更新に関わる命令の形
式を説明する図である。第2図(a)において、命令は
16ビットから成り、各命令は8ビットの命令コードと、
それぞれ4ビットから成る汎用レジスタ番号G1,G2を備
えている。FIG. 2A is a diagram for explaining the format of an instruction related to updating address translation information. In FIG. 2 (a), the instruction is
It consists of 16 bits, and each instruction has an 8-bit instruction code.
It has general-purpose register numbers G1 and G2 each consisting of 4 bits.
第2図(b)は、アドレス変換情報更新に関わる汎用レ
ジスタの形式を説明する図である。FIG. 2B is a diagram for explaining the format of the general-purpose register related to the address translation information update.
STGSD命令の実行には、汎用レジスタG1,G2,G2+1を使
用する。汎用レジスタG1は第0〜15ビットのセグメント
番号SEG#と、第16〜31ビットのタスク名とから成る。
汎用レジスタG2はセグメント記述子SDの第1ワードであ
り、同様に汎用レジスタG2+1はセグメント記述子SDの
第2ワードである。General-purpose registers G1, G2, and G2 + 1 are used to execute the STGSD instruction. The general-purpose register G1 includes a segment number SEG # of 0th to 15th bits and a task name of 16th to 31st bits.
General register G2 is the first word of segment descriptor SD, and similarly general register G2 + 1 is the second word of segment descriptor SD.
STGPD命令の実行には、汎用レジスタG1, G1+1,G2を使
用する。汎用レジスタG1は第0〜15ビットが未定義であ
り、第16〜31ビットがタスク名である。汎用レジスタG1
+1の内容は第0〜15ビットがセグメント番号SEG#、
第16〜19ビットがページ番号P#、および第20〜31ビッ
トが未定義である。汎用レジスタG2は、ページ記述子PD
である。General registers G1, G1 + 1, and G2 are used to execute the STGPD instruction. In the general register G1, the 0th to 15th bits are undefined, and the 16th to 31st bits are the task name. General-purpose register G1
For the contents of +1, the 0th to 15th bits are the segment number SEG #,
The 16th to 19th bits are the page number P #, and the 20th to 31st bits are undefined. General register G2 is the page descriptor PD
Is.
RSTSD命令の実行には、汎用レジスタG1、および汎用レ
ジスタG2を使用する。汎用レジスタG1の形式は、STGSD
命令によって使用される汎用レジスタG1と同一である。The general register G1 and the general register G2 are used to execute the RSTSD instruction. The format of general-purpose register G1 is STGSD
It is identical to the general purpose register G1 used by the instruction.
汎用レジスタG2は第0〜7ビットがリセットマスクRMで
あり、第8ビット以降が未定義である。In the general-purpose register G2, the 0th to 7th bits are the reset mask RM, and the 8th and subsequent bits are undefined.
RSTPD命令の実行には、汎用レジスタG1,G1+1,G2を使用
する。汎用レジスタG1,G+1の形式は、それぞれSTGPD
命令によって使用されるものと同一である。また、汎用
レジスタG2の形式はRSTSD命令によって使用されるもの
と同一である。General-purpose registers G1, G1 + 1, G2 are used to execute the RSTPD instruction. The format of general-purpose registers G1 and G + 1 is STGPD.
Identical to that used by the instruction. Also, the format of general register G2 is the same as that used by the RSTSD instruction.
CLHRS命令の実行には、汎用レジスタG1だけを使用す
る。汎用レジスタG1の形式は、STGSD命令によって使用
される汎用レジスタG1と同一である。Only general-purpose register G1 is used to execute the CLHRS instruction. The format of general register G1 is the same as general register G1 used by the STGSD instruction.
CLHRP命令の実行には、汎用レジスタG1,G1+1が使用さ
れる。これらの形式はSTGPD命令によって使用されるも
のと同一である。The general registers G1 and G1 + 1 are used to execute the CLHRP instruction. These formats are the same as those used by the STGPD instruction.
第3図(a)は、STGSD命令およびSTGPD命令の動作をそ
れぞれ説明する流れ図である。最初に、処理ステップ31
において命令の種類を判別し、命令がSTGSD命令のとき
には処理ステップ32へ移る。処理ステップ32は、STGSD
命令の形式において汎用レジスタG1によって指定される
セグメント記述子SDの絶対アドレスWを求める。続い
て、処理ステップ38では、同じくSTGSD命令の形式にお
いて汎用レジスタG2,G2+1の内容を上記絶対アドレス
Wから始まる8バイトの主メモリ装置1上のセグメント
記述子に格納する。FIG. 3A is a flow chart for explaining the operation of the STGSD instruction and the STGPD instruction. First, process step 31
The type of the instruction is discriminated in step S31, and if the instruction is the STGSD instruction, the process moves to step 32. Process step 32 is STGSD
The absolute address W of the segment descriptor SD specified by the general register G1 in the instruction format is obtained. Then, in process step 38, the contents of the general-purpose registers G2 and G2 + 1 in the same format as the STGSD instruction are stored in the 8-byte segment descriptor on the main memory device 1 starting from the absolute address W.
一方、STGPD命令のときには処理ステップ34へ移る。処
理シテップ34はSTGPD命令の形式において汎用レジスタG
1,G1+1によって指定されるページ記述子PDの絶対アド
レスWを求める。続いて処理ステップ35が同じく、STGP
D命令の形式において汎用レジスタG2の内容を絶対アド
レスWから始まる4バイトの主メモリ装置1上のページ
記述子に格納する。On the other hand, if it is the STGPD instruction, the process proceeds to step 34. Processing step 34 is a general-purpose register G in the format of the STGPD instruction.
The absolute address W of the page descriptor PD specified by 1, G1 + 1 is obtained. Then, step 35 is the same as STGP.
The contents of the general-purpose register G2 in the format of the D instruction are stored in the 4-byte page descriptor on the main memory device 1 starting from the absolute address W.
上述のようにして、STGSD命令、またはSTGPD命令を実行
した後で処理ステップ36へ移行する。処理ステップ36は
履歴情報の記憶処理であり、詳細を後述する。処理ステ
ップ36の後の処理ステップ37は、命令カウンタICに命令
長2を加算する処理である。After executing the STGSD instruction or the STGPD instruction as described above, the process proceeds to the processing step 36. Process step 36 is a process of storing history information, the details of which will be described later. A processing step 37 after the processing step 36 is processing for adding the instruction length 2 to the instruction counter IC.
第3図(b)はRSTSD命令、RSTPD命令、CLHRS命令、お
よびCLHRP命令の各動作と、複数のCPU間の応答の手順を
示す流れ図である。第3図(b)において、処理ステッ
プ41および処理ステップ42はCPU間で排他的に通信を行
うための通信ロックの指示、およびその確認を行うもの
である。さらに処理ステップ43および処理ステップ44
は、他のCPUに対する命令の実行を一時停止させるため
の通信指示(PAUSE)、および他のCPUが受信したことの
確認を行うものである。FIG. 3B is a flow chart showing each operation of the RSTSD instruction, the RSTPD instruction, the CLHRS instruction, and the CLHRP instruction and the procedure of the response between the plurality of CPUs. In FIG. 3B, processing step 41 and processing step 42 are for instructing and confirming a communication lock for exclusive communication between CPUs. Further processing step 43 and processing step 44
Is a communication instruction for temporarily stopping the execution of an instruction to another CPU (PAUSE), and confirms that another CPU has received the instruction.
処理ステップ45は命令の種類を判別する処理ステップで
あり、PSTSD命令またはCLHRS命令のときには処理ステッ
プ45から処理ステップ46に移行して、他のCPUにCLRSD通
信を発する。他のCPUの受信時の処理は後述する。さら
に処理ステップ47はRSTSD命令、およびCLHRS命令を判別
する。The processing step 45 is a processing step for discriminating the type of the instruction, and when the instruction is the PSTSD instruction or the CLHRS instruction, the processing shifts from the processing step 45 to the processing step 46 to issue CLRSD communication to another CPU. The process at the time of reception by another CPU will be described later. Further, the processing step 47 discriminates the RSTSD instruction and the CLHRS instruction.
RSTSD命令のときには、処理ステップ47から処理ステッ
プ48に移行する。一方、CLHRS命令のときには、処理ス
テップ47から処理ステップ50に移行する。When the instruction is the RSTSD instruction, the process moves from the processing step 47 to the processing step 48. On the other hand, when it is the CLHRS instruction, the process moves from the processing step 47 to the processing step 50.
処理ステップ48は、RSTSD命令の形式における汎用レジ
スタG1によって指定されるセグメント記述子SDの絶対ア
ドレスWを求める。処理ステップ49は、RSTSD命令の形
式における汎用レジスタG2によって指定されるリセット
マスクRMと、絶対アドレスWが指示するセグメント記述
子のバイト内のビットとの論理積をとることにより絶対
アドレスWが示すバイト内のビットをリセットする。Process step 48 determines the absolute address W of the segment descriptor SD specified by general register G1 in the form of a RSTSD instruction. The processing step 49 is the byte indicated by the absolute address W by logically ANDing the reset mask RM specified by the general register G2 in the form of the RSTSD instruction with the bit in the byte of the segment descriptor indicated by the absolute address W. Reset the bits in.
さらに処理ステップ50は、RSTSD命令の形式における汎
用レジスタG1によって指定されたセグメントに関する情
報をTLBからクリアする。TLBは論理アドレスから絶対ア
ドレスへの変換を高速に行うためのアドレス変換バッフ
ァである。同様にして、処理ステップ50はCLHRS命令の
形式における汎用レジスタG1によって指定されるセグメ
ントに関する情報をTLBからクリアする。Further processing step 50 clears from the TLB information about the segment specified by general register G1 in the form of an RSTSD instruction. The TLB is an address conversion buffer for converting a logical address to an absolute address at high speed. Similarly, processing step 50 clears from the TLB information about the segment specified by general register G1 in the form of a CLHRS instruction.
一方、処理ステップ45がRSTPD命令またはCLHRP命令を判
別したときには、処理ステップ51に移行して他のCPUにC
LRPG通信を発行する。On the other hand, when the processing step 45 determines the RSTPD instruction or the CLHRP instruction, the processing proceeds to the processing step 51 and the CPU is transferred to the other CPU.
Issue LRPG communication.
さらに、処理ステップ52は、RSTPD命令およびCLHRP命令
を判別する。RSTPD命令であるときには、処理ステップ5
2から処理ステップ53へ移行し、CLHRP命令であるときに
は処理ステップ52から処理ステップ55へ移行する。Further, the processing step 52 determines the RSTPD instruction and the CLHRP instruction. If it is the RSTPD instruction, processing step 5
The processing shifts from 2 to processing step 53, and when the instruction is a CLHRP instruction, the processing shifts from processing step 52 to processing step 55.
処理ステップ53は、RSTPD命令の形式における汎用レジ
スタG1,G1+1によって指定されるページに記述子PDの
絶対アドレスWを求める。処理ステップ54は、RSTPD命
令の形式における汎用レジスタG2によって指定されるリ
セットマスクRMと、絶対アドレスWによって指示される
ページ記述子内のバイト内のビットとの論理積をとるこ
とにより絶対アドレスWによって指定されたバイト内の
ビットをリセットする。さらに処理ステップ55はRSTPD
命令の形式における汎用レジスタG1,G1+1によって指
定されたページに関する情報をTLBからクリアする。同
様にして処理ステップ55では、CLHRP命令の形式におけ
る汎用レジスタG1,G1+1によって指定されるページに
関する情報をTLBからクリアする。The processing step 53 determines the absolute address W of the descriptor PD in the page designated by the general-purpose registers G1, G1 + 1 in the form of the RSTPD instruction. The processing step 54 depends on the absolute address W by ANDing the reset mask RM specified by the general register G2 in the form of the RSTPD instruction with the bit in the byte in the page descriptor pointed to by the absolute address W. Resets the bits in the specified byte. Further processing step 55 is RSTPD
Clears from the TLB information about the page specified by general purpose registers G1, G1 + 1 in the instruction format. Similarly, in process step 55, information about the page designated by the general-purpose registers G1, G1 + 1 in the CLHRP instruction format is cleared from the TLB.
上記のようにしてRSTSD命令、RSTPD命令、CLHRS命令、
およびCLHRP命令のいずれかひとつを実行したとき、処
理ステップ56へ移行する。処理ステップ56は、履歴情報
を記憶する動作である。As above, RSTSD instruction, RSTPD instruction, CLHRS instruction,
When either one of the CLHRP instruction and the CLHRP instruction is executed, the process proceeds to the processing step 56. Processing step 56 is an operation of storing history information.
処理ステップ57は、他のCPUによる各命令に対応した通
信指示に基づく処理の終了を確認する処理である。この
確認がとれたとき、処理ステップ58によって他CPUのPAU
SE状態を開放するための通信FREEを発行する。続いて、
処理ステップ59によって上記FREE通信の受信を確認した
後、処理ステップ60で通信ロックを解除する。処理ステ
ップ61は、命令カウンタICに命令長2を加算する処理で
ある。The process step 57 is a process of confirming the end of the process based on the communication instruction corresponding to each instruction by another CPU. When this confirmation is obtained, the PAU of the other CPU is processed in processing step 58.
Issue a communication FREE to release the SE state. continue,
After confirming the reception of the FREE communication in processing step 59, the communication lock is released in processing step 60. Process step 61 is a process of adding the instruction length 2 to the instruction counter IC.
第3図(c)は、通信時の受信側に置かれた他のCPUの
動作を説明する流れ図である。受信側CPUは、第3図
(b)によって説明した送信側CPUからの通信指示に従
って動作する。FIG. 3C is a flow chart for explaining the operation of another CPU placed on the receiving side during communication. The receiving CPU operates according to the communication instruction from the transmitting CPU described with reference to FIG.
処理ステップ71および処理ステップ71aは、第3図
(b)の処理ステップ43に応答する処理である。すなわ
ち、PAUSE通信の受信と応答とがこれらのステップで実
行される。さらに処理ステップ72から処理ステップ79で
は、第3図(b)の処理ステップ46および処理ステップ
51で送出される通信の受信処理および応答処理をする。
まず、処理ステップ72は受信、処理ステップ73はその通
信指示とを判別する。すなわち、指示がCLRSD通信であ
るときには処理ステップ74へ移行し、CLRPD通信である
ときには処理ステップ75へ移行する。The processing step 71 and the processing step 71a are processing responding to the processing step 43 of FIG. 3 (b). That is, receiving and responding to PAUSE communications is performed in these steps. Further, in processing step 72 to processing step 79, processing step 46 and processing step in FIG.
Receives and responds to the communication sent at 51.
First, the processing step 72 discriminates the reception, and the processing step 73 discriminates the communication instruction. That is, if the instruction is CLRSD communication, the processing moves to processing step 74, and if it is CLRPD communication, the processing moves to processing step 75.
処理ステップ74では、CLRSD通信で指定されるセグメン
トに関する情報をTLBからクリアする。同様にして、処
理ステップ75ではCLRPD通信で指定されるページに関す
る情報をTLBからクリアする。In processing step 74, the information regarding the segment designated by CLRSD communication is cleared from the TLB. Similarly, in processing step 75, the information regarding the page designated by the CLRPD communication is cleared from the TLB.
上記のようにしてCLRSD通信、またはCLRPD通信を実行し
たときには、処理ステップ76へ移行する。処理ステップ
76では履歴情報の記憶処理が実行される。処理ステップ
77では、上記の通信の一連の受信処理が終了したことを
送信側CPUに報告する。これに続く処理ステップ78およ
び処理ステップ79では、第3図(b)の処理ステップ58
および処理ステップ59に対応するFREE通信の受信、およ
び応答が実行される。When CLRSD communication or CLRPD communication is executed as described above, the process proceeds to processing step 76. Processing step
At 76, history information storage processing is executed. Processing step
At 77, the fact that the series of reception processing of the above communication is completed is reported to the transmitting side CPU. In the subsequent processing steps 78 and 79, the processing step 58 of FIG.
And a FREE communication corresponding to the processing step 59 is received and a response is executed.
第3図(d)は、第3図(a)の処理ステップ36、第3
図(b)の処理ステップ56、および第3図(c)の処理
ステップ76の各履歴記憶処理、すなわちアドレス変換情
報更新に関する履歴情報の記憶処理を説明する流れ図で
ある。第3図(d)において処理ステップ81では、第1
図における主メモリ装置1のアドレス20Hの内容をX0と
する。続いて処理ステップ82では、上記のX0の第0ビッ
トおよび第1ビットの並びが“10"であるか否かを判断
する。すなわち、X0の第0ビットはトレースモードビッ
トであり、これが“1"であるときは履歴情報の記憶許可
状態であることをまた“0"であるときは記憶抑止状態で
あることを示す。また、第1ビットはログアウト表示ビ
ットであり、これが“0"であることは記憶された履歴情
報のログアウトを実行中ではないことを示す。なお、ロ
グアウト実行中は履歴情報を固定させるために、新しい
履歴情報の登録を抑止させる。FIG. 3 (d) shows the processing step 36, the third of FIG. 3 (a).
7 is a flowchart illustrating each history storage process in process step 56 of FIG. (B) and process step 76 of FIG. 3 (c), that is, a process of storing history information regarding address translation information update. In the processing step 81 in FIG.
The content of the address 20H of the main memory device 1 in the figure is X 0 . Subsequently, in process step 82, it is determined whether or not the arrangement of the 0th bit and the 1st bit of X 0 is “10”. That is, the 0th bit of X 0 is a trace mode bit, and when it is “1”, it indicates that the history information is in the storage enabled state, and when it is “0”, it indicates the storage inhibited state. The first bit is a logout display bit, and the fact that it is "0" indicates that the stored history information is not being logged out. During logout, registration of new history information is suppressed in order to fix the history information.
処理ステップ83では、X(第1図のFWスタックポインタ
4のアドレス部、すなわち上記X0の第2ビット以降から
生成されるFWスタック領域5の先頭アドレス)にCPU#
(CPU番号、ここではCPU#=0〜3)と214との積を加
算した結果を求め、これをYとする。すなわち、各CPU
について214バイトの主メモリ領域が割当てられてい
て、YはCPU#によって指定されたCPUに対して割当てら
れてた主メモリ領域の先頭アドレスである。In processing step 83, CPU # is set to X (the address part of the FW stack pointer 4 in FIG. 1, that is, the start address of the FW stack area 5 generated from the second and subsequent bits of X 0 ).
The result of adding the products of (CPU number, here CPU # = 0 to 3) and 2 14 is obtained, and this is designated as Y. That is, each CPU
Is allocated a main memory area of 2 14 bytes, and Y is the start address of the main memory area allocated to the CPU designated by CPU #.
処理ステップ84では、上記XにCPU#と“4"との積を加
算した結果を求め、この結果をアドレスとする主メモリ
の内容をZとして与える。すなわち、第1図におけるCP
Uを特定するポインタ10において、各CPUのポインタは4
バイトの領域を有しているので、ZはCPU#によって指
定されたCPUのポインタである。ここで、Zは上記Yに
対する相対アドレスを与えるものとすれば、Y+ZはCP
U#によって指定されたCPUの履歴情報の記憶開始アドレ
スを指定することになる。In processing step 84, the result of adding the product of CPU # and "4" to X is obtained, and the contents of the main memory whose address is the result is given as Z. That is, CP in FIG.
In the pointer 10 that identifies U, the pointer of each CPU is 4
Since it has an area of bytes, Z is a pointer of the CPU designated by CPU #. Here, if Z is a relative address to the above Y, Y + Z is CP
The storage start address of the history information of the CPU specified by U # will be specified.
処理ステップ85では、記憶すべき履歴情報の命令コード
および命令(命令実行CPUの場合)、または通信(通信
の受信CPUの場合)、さらに該当する命令の属するタス
ク名を上記アドレスY+Zから始まる4バイトに格納す
る。In processing step 85, the instruction code and instruction (in the case of the instruction executing CPU) of the history information to be stored, or the communication (in the case of the receiving CPU of the communication), and the task name to which the corresponding instruction belongs are started from the address Y + Z in 4 bytes. To store.
処理ステップ86ではZに4を加算し、処理ステップ87で
は命令カウンタICの内容をアドレスY+Zから始まる4
バイトに格納する。In processing step 86, 4 is added to Z, and in processing step 87, the contents of the instruction counter IC are started from the address Y + Z to 4
Store in bytes.
続いて処理ステップ88では上記Zに再び4を加算し、処
理ステップ89では汎用レジスタG1の内容をアドレスY+
Zから始まる4バイトに格納する。Subsequently, in processing step 88, 4 is again added to Z, and in processing step 89, the contents of the general-purpose register G1 are added to the address Y +.
Store in 4 bytes starting from Z.
さらに、処理ステップ90では上記Zに4を加算し、処理
ステップ91では汎用レジスタG1+1の内容をアドレスY
+Zから始まる4バイトに格納する。Further, in processing step 90, 4 is added to Z, and in processing step 91, the contents of general-purpose register G1 + 1 are added to address Y.
Store in 4 bytes starting from + Z.
これまでの処理によって、第1図の記憶領域の1つは、
アドレス変換情報更新動作に関する情報を1つの履歴情
報として記憶したことになる。その後、処理ステップ92
では上記Zに4を加算し、処理ステップ93ではそのZが
214に等しいか否かをチェックする。そこで、Z=214の
ときにはCPU#に与えられた主メモリ領域がなくなった
ので、処理ステップ94ではZに対して初期値16をセット
する。これによって、次の履歴情報は第1の記憶領域#
1に格納されることになる。According to the processing so far, one of the storage areas in FIG.
The information regarding the address translation information updating operation is stored as one piece of history information. Then process step 92
Then, 4 is added to the above Z, and in processing step 93 the Z is
Check if it equals 2 14 . Therefore, when Z = 2 14 because there is no more main memory area given to CPU #, it sets an initial value of 16 with respect to the processing steps 94 Z. As a result, the next history information is stored in the first storage area #
Will be stored in 1.
一方、Z=214ではないときには、処理ステップ95へ移
行する。処理ステップ95ではZをCPU#が指定するCPUの
ポインタとして、該当するポインタの格納アドレス(X
+CPU#・4)に格納する。このようにして、アドレス
変換情報更新動作に関する履歴情報を、CPUごとに区別
して順次記憶することができる。On the other hand, when Z = 2 14 is not satisfied, the routine proceeds to processing step 95. In processing step 95, Z is used as the pointer of the CPU designated by CPU #, and the storage address (X
Store in + CPU # ・ 4). In this way, the history information regarding the address translation information updating operation can be sequentially stored separately for each CPU.
第4図は、アドレス変換情報を更新するための更新情報
を履歴情報として記憶すべきか否かを指定するため、ト
レースモードビットとして与えられた指定情報を更新す
る命令の動作を説明する流れ図である。FIG. 4 is a flow chart for explaining the operation of the instruction for updating the designated information given as the trace mode bit in order to designate whether or not the update information for updating the address translation information should be stored as the history information. .
命令を実行しているCPUと、それ以外のCPUとの間で、主
メモリ装置の20H番地における参照・更新の競合を解決
するためには、まず最初に処理ステップ96,97において
通信ロックをとる。通信ロックに成功すると、処理ステ
ップ98へ移る。In order to resolve the reference / update conflict at address 20H of the main memory between the CPU executing the instruction and the other CPUs, first take the communication lock in processing steps 96 and 97. . If the communication lock is successful, the process proceeds to processing step 98.
処理ステップ98ではトレースモードビットを含む主メモ
リ装置の20H番地4バイトの内容を読出す。処理ステッ
プ99においては実行命令を判断し、命令が上記指定情報
を履歴情報記憶許可状態とする命令の場合には処理ステ
ップ100へ進み、履歴情報記憶抑止状態とする命令の場
合には処理ステップ101へ進む。In process step 98, the contents of 4 bytes at address 20H of the main memory device including the trace mode bit are read. In the processing step 99, the execution instruction is judged, and if the instruction is an instruction to put the specified information into the history information storage permission state, the process proceeds to processing step 100, and if it is an instruction to put in the history information storage inhibition state, the processing step 101. Go to.
処理ステップ100では、トレースモードビットを“1"と
するために主メモリ装置の20H番地の内容と“80000000
H"との論理和をとり、処理ステップ101では同ビットを
“0"とするために主メモリ装置の20H番地の内容と“7FF
FFFFFH"との論理積をとる。さらに、処理ステップ102に
おいては、上記のようにし求めた結果を主メモリ装置の
20H番地に格納して、主メモリ装置上のトレースモード
ビットを更新する。In processing step 100, the contents of address 20H of the main memory device and "80000000" are set in order to set the trace mode bit to "1".
The logical sum of "H" and "7FF" is set in processing step 101 in order to set the same bit to "0".
FFFFFH "and the logical product with FFFFFH". Further, in processing step 102, the result obtained as described above is stored in the main memory device.
Store in address 20H and update the trace mode bit in the main memory.
処理ステップ103では、先に取った通信ロックを解除
し、処理ステップ104では次の命令を指示するように命
令カウンタICに命令長を加算してICを更新する。In processing step 103, the communication lock previously taken is released, and in processing step 104, the instruction length is added to the instruction counter IC so as to instruct the next instruction, and the IC is updated.
第5図は、例外処理手段のうち、特に本発明に係わる部
分の動作を説明する流れ図である。例外処理手段は、命
令実行中および割込み処理中等で例外条件が検出される
と起動される。例外条件にはミッシングページ例外、あ
るいは浮動小数点データオーバーフロー例外のように、
ソフトウェア処理上、通常に発生し得る、いわゆる機能
例外条件と、記憶保護侵害例外のようにソフトウェア処
理上の誤りによって発生する不正例外とがある、最初に
処理ステップ105においては、検出された例外条件が機
能例外条件であるか、あるいは不正例外条件であるかを
判断する。機能例外条件の場合には、そのまま上記例外
条件をソフトウェアに報告するための処理(省略する)
へ進み、不正例外条件の場合には処理ステップ106へ移
る。処理ステップ106,107においては、第4図の場合と
同様に通信ロックを取り、通信ロックに成功すると処理
ステップ108へ移る。処理ステップ108では、トレースモ
ードビットを含む主メモリ装置の20H番地の内容を読出
す。続いて、処理ステップ109では上記トレースモード
ビットを“0"とするために、上記主メモリ装置の20H番
地の内容と“7FFFFFFFH"との論理積を取る。FIG. 5 is a flow chart for explaining the operation of the part of the exception handling means, which is particularly relevant to the present invention. The exception processing means is activated when an exception condition is detected during instruction execution, interrupt processing, or the like. Exception conditions include missing page exceptions or floating point data overflow exceptions,
In the first processing step 105, there is a so-called functional exception condition that can occur normally in software processing, and an illegal exception that occurs due to an error in software processing such as a memory protection violation exception. Is a functional exception condition or an illegal exception condition. In the case of a functional exception condition, a process for reporting the above exception condition to the software as it is (omitted)
If the condition is an illegal exception condition, the process proceeds to step 106. In process steps 106 and 107, the communication lock is acquired as in the case of FIG. 4, and if the communication lock is successful, the process proceeds to process step 108. In process step 108, the contents of address 20H of the main memory device including the trace mode bit are read. Then, in processing step 109, in order to set the trace mode bit to "0", the logical product of the contents of address 20H of the main memory device and "7FFFFFFFH" is taken.
さらに、処理ステップ110では論理積の結果を主メモリ
装置の20H番地へ格納する。このようにして、トレース
モードビットを“0"として履歴情報記憶抑止状態とした
後、先に検出された例外条件をソフトウェアに報告する
ための処理へ進む。Further, in processing step 110, the result of the logical product is stored in address 20H of the main memory device. In this way, after setting the trace mode bit to "0" to set the history information storage suppression state, the process proceeds to the process for reporting the previously detected exception condition to the software.
このようにして、不正例外条件の発生時に、以降の履歴
情報記憶動作を抑止することにより、それまで記憶を続
けてきたアドレス変換情報更新命令の実行に関する履歴
情報を確立させ、不正例外条件処理用のソフトウェア処
理、あるいはデバッグツールによる情報の取り出し処理
に履歴情報を引き渡す。また、履歴情報の採取後、必要
ならば第4図で説明した上記指定情報を履歴情報記憶許
可状態にするための命令によって履歴情報記憶動作を開
始させることもできる。In this way, when an illegal exception condition occurs, the history information storage operation thereafter is suppressed, whereby history information related to the execution of the address translation information update instruction that has been stored until then is established, and the illegal exception condition processing is performed. The history information is handed over to the software processing of or the processing of extracting the information by the debug tool. Further, after collecting the history information, if necessary, the history information storing operation can be started by a command for setting the designated information described in FIG. 4 into the history information storing permission state.
本実施例ではCPUの数を4台として説明したが、一般に
m台(m≧1)として容易に構成することができること
は言うまでもない。Although the number of CPUs has been described as four in this embodiment, it goes without saying that the number of CPUs can be easily set to m (m ≧ 1) in general.
(発明の効果) 本発明は以上説明したように、アドレス変換情報更新命
令の実行に係わる関連情報を履歴情報として順次記憶す
ることにより、ハードウェア、ファームウェア、および
ソフトウェアが複雑にからんだ障害が発生したとき、こ
れらの履歴情報を読出して、例外条件の原因の究明に有
効なデータを迅速に提供することができるという効果が
ある。(Effects of the Invention) As described above, according to the present invention, by sequentially storing the related information related to the execution of the address translation information update command as history information, a failure caused by complicated hardware, firmware, and software can be prevented. When it occurs, there is an effect that these history information can be read and data effective for investigating the cause of the exceptional condition can be promptly provided.
第1図は、主メモリ装置上に定義した履歴情報記憶手段
および履歴情報を履歴情報記憶手段に記憶すべきか否か
を指定する記憶指定手段の構造を説明する図である。 第2図(a)および(b)は、それぞれ命令形式および
汎用レジスタ形式を説明する図である。 第3図(a)〜(d)は、それぞれ履歴情報記憶装置の
記憶動作を説明する流れ図である。 第4図は、記憶指定手段を更新する動作を説明する流れ
図である。 第5図は、本発明に係わる例外処理手段の動作を説明す
る流れ図である。 1……主メモリ装置 2……ポインタ領域 3……FWワーク領域 4……FWスタックポインタ 5……FWスタック領域 6〜9……CPU領域 10……ポインタ 11……履歴情報記憶領域 31〜37,41〜61,71〜79,81〜95,96〜110……処理ステッ
プFIG. 1 is a diagram for explaining the structures of history information storage means defined on the main memory device and storage designation means for designating whether or not history information should be stored in the history information storage means. FIGS. 2A and 2B are diagrams for explaining the instruction format and the general-purpose register format, respectively. FIGS. 3A to 3D are flow charts for explaining the storage operation of the history information storage device. FIG. 4 is a flow chart for explaining the operation of updating the storage designating means. FIG. 5 is a flow chart for explaining the operation of the exception handling means according to the present invention. 1 ... Main memory device 2 ... Pointer area 3 ... FW work area 4 ... FW stack pointer 5 ... FW stack area 6-9 ... CPU area 10 ... Pointer 11 ... History information storage area 31-37 , 41〜61,71〜79,81〜95,96〜110 …… Processing steps
Claims (1)
メモリ装置から情報を読出すとき、または該主メモリ装
置へ情報を書込むときにプログラム上の論理アドレスか
らアドレス変換情報に基づいて該主メモリ装置上の絶対
アドレスに変換を行うアドレス変換機構とアドレス変換
を高速化するためのアドレス変換バッファおよび前記ア
ドレス変換情報を更新する1つ以上のソフトウェア命令
とアドレス変換バッファを更新する1つ以上のソフトウ
ェア命令を有する中央処理装置ならびにスーパーバイザ
プロセッサとからなる情報処理システムにおいて、 主メモリ装置内にあって、前記ソフトウェア命令の実行
に関わる情報を該ソフトウェア命令の実行の履歴情報と
して複数記憶する履歴情報記憶手段と、 記憶許可状態および記憶抑止状態に更新する命令(1命
令であっても2命令であってもよい)により前記履歴情
報記憶手段に対して該履歴情報の記憶を許可する記憶許
可状態と記憶を抑止する記憶抑止状態とを指定する記憶
指定手段と、 中央処理装置内にあって、前記ソフトウェア命令の実行
時に前記記憶指令手段が記憶許可状態または記憶抑止状
態の何れを指定しているかを判断する記憶指定判断手段
と、 該記憶指定判断手段が記憶許可状態を指定していると判
断したときには前記履歴情報を前記履歴情報記憶手段に
逐次記憶するための記憶手段と、 例外発生時に該例外が不正例外であるか機能例外である
かを判断し、不正例外と判断したときには前記記憶指定
手段を記憶抑止状態へ更新するための記憶抑止手段と、 を有することを特徴とする履歴情報記憶装置。1. At least one main memory device, and when the information is read from the main memory device or when the information is written to the main memory device, the logical address on the program is used to write the information based on the address conversion information. An address translation mechanism for translating an absolute address on a main memory device, an address translation buffer for speeding up address translation, one or more software instructions for updating the address translation information, and one or more for updating the address translation buffer. In an information processing system including a central processing unit having a software instruction and a supervisor processor, history information for storing a plurality of pieces of information related to execution of the software instruction in a main memory device as history information of execution of the software instruction. Means of storage, memory enabled state and memory inhibited state A new instruction (may be either one instruction or two instructions) designates a storage permission state in which the history information storage means is permitted to store the history information and a storage inhibition state in which the storage is inhibited. Storage designation means, a storage designation determination means in the central processing unit for determining whether the storage instruction means designates a storage permission state or a storage inhibition state when the software instruction is executed, and the storage designation means Storage means for sequentially storing the history information in the history information storage means when the determination means determines that the storage permission state is designated, and whether the exception is an illegal exception or a function exception when an exception occurs. And a memory inhibiting means for updating the memory designating means to the memory inhibiting state when it is determined that the illegal exception has occurred.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61265343A JPH0746321B2 (en) | 1986-11-07 | 1986-11-07 | History information storage device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61265343A JPH0746321B2 (en) | 1986-11-07 | 1986-11-07 | History information storage device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS63118957A JPS63118957A (en) | 1988-05-23 |
| JPH0746321B2 true JPH0746321B2 (en) | 1995-05-17 |
Family
ID=17415860
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61265343A Expired - Fee Related JPH0746321B2 (en) | 1986-11-07 | 1986-11-07 | History information storage device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0746321B2 (en) |
-
1986
- 1986-11-07 JP JP61265343A patent/JPH0746321B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPS63118957A (en) | 1988-05-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5386565A (en) | Method and system for controlling/monitoring computer system having plural operating systems to run thereon | |
| US5038281A (en) | Acceleration of system interrupts between operating systems in guest-host relationship | |
| EP0217068A2 (en) | Method of emulating the instructions of a target computer | |
| JPH0114611B2 (en) | ||
| NZ195063A (en) | Data processing system memory protection using capability register | |
| CA1213986A (en) | Selective guest system purge control | |
| US4040037A (en) | Buffer chaining | |
| EP0098172B1 (en) | Register control processing system | |
| JPH0348537B2 (en) | ||
| WO1998034170A1 (en) | Method and apparatus for allowing continued operation for overflow and invalid data | |
| US3599159A (en) | Digital memory with automatic overwrite protection | |
| JPH0746321B2 (en) | History information storage device | |
| CA1304823C (en) | Apparatus and method for synchronization of arithmetic exceptions in central processing units having pipelined execution units simultaneously executing instructions | |
| US7814288B2 (en) | Protecting memory operations involving zero byte allocations | |
| JPH0746320B2 (en) | History information storage device | |
| JPS6049352B2 (en) | data processing equipment | |
| JP2671160B2 (en) | Exception handling method | |
| JP3130798B2 (en) | Bus transfer device | |
| JPH01125633A (en) | System for debugging multi-processing system | |
| EP0938047A1 (en) | Memory protection method and device therefor | |
| JPH11134202A (en) | Task switching device | |
| JPS595932B2 (en) | Data processing method | |
| JP2735523B2 (en) | Procedure / step processing method | |
| JPS59172044A (en) | Instruction control system | |
| JP3428253B2 (en) | Sequencer |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |