JP2687750B2 - Electronic computer processor - Google Patents

Electronic computer processor

Info

Publication number
JP2687750B2
JP2687750B2 JP3074449A JP7444991A JP2687750B2 JP 2687750 B2 JP2687750 B2 JP 2687750B2 JP 3074449 A JP3074449 A JP 3074449A JP 7444991 A JP7444991 A JP 7444991A JP 2687750 B2 JP2687750 B2 JP 2687750B2
Authority
JP
Japan
Prior art keywords
instruction
address
trap
instruction address
bit pattern
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
JP3074449A
Other languages
Japanese (ja)
Other versions
JPH04287135A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP3074449A priority Critical patent/JP2687750B2/en
Publication of JPH04287135A publication Critical patent/JPH04287135A/en
Application granted granted Critical
Publication of JP2687750B2 publication Critical patent/JP2687750B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Executing Machine-Instructions (AREA)

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、デバッグの容易化や、
プログラムの動的統計収集あるいはプロシジャコール時
やプロセス切り替え時の処理を行うことにした電子計算
機用処理装置に関する。
The present invention relates to facilitating debugging,
The present invention relates to a processing device for a computer which decides to perform dynamic statistics collection of a program, a procedure call, or a process switch.

【0002】[0002]

【従来の技術】従来から、電子計算機の開発を行う際に
はプログラムのデバッグや動的統計の収集が必要とされ
ている。ここで動的統計とは、例えばプロシジャやプロ
セスの実行頻度あるいは実行時間を求めることをいう。
2. Description of the Related Art Conventionally, it has been necessary to debug programs and collect dynamic statistics when developing electronic computers. Here, the dynamic statistics means, for example, obtaining the execution frequency or the execution time of a procedure or a process.

【0003】これらのデバッグや動的統計を行うため
に、ブレークポイントやトレースが用いられている。こ
こでブレークポイントとは、プログラム中の例えば分岐
命令等の一部の命令をある特定のロケーションに制御を
移す命令に置き換えることによってプログラムの実行の
様子を知る手法である。これに対してトレースとは、す
べての命令に対してそれらの各命令を実行し終わるたび
に一旦オペレーティングシステムに制御を移して記録を
行い、この後次の命令に制御を移す手法であり、プログ
ラムの実行の様子を詳細に知ることができる。
Breakpoints and traces are used to perform these debugging and dynamic statistics. Here, the break point is a method of knowing the execution state of the program by replacing some instructions such as branch instructions in the program with instructions for transferring control to a specific location. On the other hand, the trace is a method in which control is temporarily transferred to the operating system to record each time each instruction is executed for all instructions, and then control is transferred to the next instruction. You can see the details of the execution of.

【0004】米国モトローラ社のプロセッサ(CPU)
「MC68020」は、ブレークポイントでプログラム
の実行の様子を観察するためにTRAP(トラップ)と
いう命令を有している。
Motorola processor (CPU)
The "MC68020" has an instruction called TRAP (trap) in order to observe the execution state of the program at the breakpoint.

【0005】図8は、このプロセッサの構成の要部を表
わしたものである。このプロセッサは、図示しないメモ
リから読み出された命令11を入力して解読する命令デ
コーダ12を備えている。命令デコーダ12の解読結果
は、次命令アドレス計算器13と、実行ユニット14お
よびトラップコントローラ15のそれぞれに供給される
ようになっている。
FIG. 8 shows the main part of the configuration of this processor. The processor includes an instruction decoder 12 that receives and decodes an instruction 11 read from a memory (not shown). The decoding result of the instruction decoder 12 is supplied to each of the next instruction address calculator 13, the execution unit 14 and the trap controller 15.

【0006】ここで、実行ユニット14は解読された命
令を実行するためのものであり、次命令アドレス計算器
13は次の命令を読み出すためにそのアドレスを計算す
るためのものである。次命令アドレス計算器13で計算
されたアドレスは、命令アドレスマルチプレクサ16の
一方の入力となる。命令アドレスマルチプレクサ16の
他方には、トラップコントローラ15の出力するアドレ
スが入力されるようになっている。命令アドレスマルチ
プレクサ16は、トラップコントローラ15の制御内容
に基づいて制御され、これらの入力のいずれかをアドレ
ス情報17として前記したメモリに供給し、次の命令の
読み出しの際のアドレス情報とする。
Here, the execution unit 14 is for executing the decoded instruction, and the next instruction address calculator 13 is for calculating the address of the next instruction in order to read it. The address calculated by the next instruction address calculator 13 becomes one input of the instruction address multiplexer 16. The address output from the trap controller 15 is input to the other side of the instruction address multiplexer 16. The instruction address multiplexer 16 is controlled based on the control content of the trap controller 15, supplies one of these inputs as address information 17 to the memory described above, and uses it as address information at the time of reading the next instruction.

【0007】すなわち、このプロセッサでは、命令デコ
ーダ12が通常のデコーダとしての機能を持つと共に、
特定の命令が入力されたときにはこれを判別してトラッ
プコントローラ15に解読結果を供給するようになって
いる。トラップコントローラ15は、この場合にはトラ
ップのための特別のアドレスを出力すると共に、命令ア
ドレスマルチプレクサ16の出力するアドレスをトラッ
プコントローラ15側に切り替える。これにより、特定
の命令に対するトラップが実現する。
That is, in this processor, the instruction decoder 12 has a function as a normal decoder and
When a specific command is input, it is discriminated and the decoding result is supplied to the trap controller 15. In this case, the trap controller 15 outputs a special address for the trap and switches the address output by the instruction address multiplexer 16 to the trap controller 15 side. This realizes a trap for a specific instruction.

【0008】一方、米国インテル社のプロセッサ「i4
86」は、ブレークポイントの一変形としてトラップす
べきアドレスを保持するデバックレジスタを有してい
る。そして、デバックレジスタの内容とアドレスを比較
して、これが一致したらトラップを行うようになってい
る。
On the other hand, a processor "i4" manufactured by Intel Corp.
86 ”has a debug register that holds the address to be trapped as a variation of the breakpoint. Then, the contents of the debug register and the address are compared, and if they match, a trap is made.

【0009】更にスーパバイザモードを備えたプロセッ
サでは、PCW(プロセッサコントロールワード)のト
レースビットを立てることによって、トレースを行うこ
とができる。この方法では、ユーザモードで命令を実行
するたびにトラップを起こし、スーパバイザモードでト
ラップハンドラに制御を移すようになっている。
Further, in the processor having the supervisor mode, the trace can be performed by setting the trace bit of PCW (processor control word). In this method, a trap is generated each time an instruction is executed in the user mode, and control is transferred to the trap handler in the supervisor mode.

【0010】[0010]

【発明が解決しようとする課題】以上の従来の技術のう
ちプロセッサ「MC68020」による方法では、トラ
ップを実行するために、元のプログラム中の所要箇所
(ブレークポイント)にこの命令を組み込んで実行する
ための書き換え可能なメモリが必要である。また、ブレ
ークポイントを置いた箇所以外の箇所ではプログラムの
振る舞いを把握することができないという問題がある。
In the method by the processor "MC68020" among the above conventional techniques, in order to execute the trap, this instruction is incorporated into a required position (breakpoint) in the original program and executed. A rewritable memory is needed. In addition, there is a problem that the behavior of the program cannot be grasped at a place other than the place where the breakpoint is set.

【0011】次にプロセッサ「i486」で述べたデバ
ックレジスタを用いる方法では、アドレスを比較するの
で、書き換え可能なメモリを必要とせずROM(リード
・オンリ・メモリ)にもブレークポイントを置くことが
できる。しかしながら、設定されたブレークポイント以
外ではプログラムの振る舞いを把握することができな
い。
Next, in the method using the debug register described in the processor "i486", addresses are compared, so that a rewritable memory is not required and a breakpoint can be set in a ROM (read only memory). . However, the behavior of the program cannot be understood except at the set breakpoints.

【0012】この点で、最後に説明したトレースは、ユ
ーザモードのプログラムについて各命令のステップで振
る舞いを把握することができる。しかしながら、必要で
ない命令のステップについてもトラップを起こし、一々
スーパバイザモードでトラップハンドラに制御を移すの
で、被テストプログラムの実行にとって大きなオーバヘ
ッドとなる。
In this respect, the last-mentioned trace can grasp the behavior at each instruction step for the user mode program. However, since traps are generated for steps of unnecessary instructions and control is transferred to the trap handler one by one in the supervisor mode, it becomes a large overhead for the execution of the program under test.

【0013】また、この方法ではスーパバイザモードを
利用するので、このモードの無いプロセッサについては
トレースを行うことができない。前記したプロセッサ
「MC68020」では、オーバヘッドを改善するため
に分岐命令やジャンプ命令でのみトラップを行うトレー
ス機能を備えている。しかしながら、この場合にもスー
パバイザモードを必要とする他、分岐命令やジャンプ命
令以外の命令、例えばプロシジャコールやプロセス切り
替え等の命令のようにプログラムの振る舞いを把握した
い他の命令に対してはトレースを行うことができない。
Further, since the supervisor mode is used in this method, tracing cannot be performed for a processor that does not have this mode. The above-mentioned processor "MC68020" has a trace function for trapping only a branch instruction or a jump instruction in order to improve the overhead. However, in this case as well, in addition to the need for the supervisor mode, tracing is performed for instructions other than branch instructions and jump instructions, for example, for instructions such as procedure call and process switching, for which you want to understand the behavior of the program. I can't do it.

【0014】そこで本発明の目的は、メモリの書き込み
が可能か不可能かを問わず、スーパバイザモードの無い
プロセッサにおいても、分岐命令やジャンプ命令以外の
命令に対してもトラップを起こすことのできる電子計算
機用処理装置を提供することにある。
Therefore, an object of the present invention is to provide an electronic device capable of trapping instructions other than a branch instruction or a jump instruction, even in a processor without a supervisor mode, regardless of whether writing to a memory is possible or not. To provide a processing device for a computer.

【0015】[0015]

【課題を解決するための手段】請求項1記載の発明で
は、電子計算機の制御のための命令を入力してこれらの
命令のうちの特定の命令が入力されたとき信号“1”を
少なくとも1つ含んだ1または複数ビットのビットパタ
ーンを出力し、これ以外の命令の場合には全ビットが
“0”となったビットパターンを出力するデコーダと、
それぞれの命令に対して制御の移行先となる命令アドレ
スを計算する命令アドレス計算手段と、この命令アドレ
ス計算手段の計算した命令アドレスを入力し、このビッ
ト列のうちの常にビットが“0”となる特定の位置をビ
ットパターンに置き換える命令アドレス置換手段と、こ
の命令アドレス置換手段によって置換された命令アドレ
スの特定の位置にビットパターンが存在するときトラッ
プを発生させるトラップ発生手段とを電子計算機用処理
装置に具備させる。
According to a first aspect of the invention, an instruction for controlling an electronic computer is input, and when a specific instruction of these instructions is input, at least one signal "1" is output. A decoder that outputs a bit pattern of one or more bits including one, and outputs a bit pattern in which all the bits are "0" in the case of other instructions.
The instruction address calculation means for calculating the instruction address to which control is transferred for each instruction and the instruction address calculated by this instruction address calculation means are input, and the bit of this bit string is always "0". An instruction address replacing means for replacing a specific position with a bit pattern, and a trap generating means for generating a trap when a bit pattern exists at a specific position of the instruction address replaced by the instruction address replacing means, and a computer processing device. Prepare for.

【0016】すなわち請求項1記載の発明では、命令ア
ドレス計算手段によって計算された命令アドレスのうち
の常にビットが“0”となる特定の位置のデータを所定
のビットパターンに置き換えるようにする。ここで、こ
のビットパターンは、特定の命令に対して信号“1”を
少なくとも1つ含んだパターンである。トラップ発生手
段は、この特定の位置に信号“1”を含んだビットパタ
ーンが存在するときトラップを発生させることになる。
That is, according to the first aspect of the invention, the data at the specific position where the bit of the instruction address calculated by the instruction address calculation means is always "0" is replaced with a predetermined bit pattern. Here, this bit pattern is a pattern including at least one signal "1" for a specific instruction. The trap generation means will generate a trap when a bit pattern including the signal "1" exists at this specific position.

【0017】請求項2記載の発明では、電子計算機の制
御のための命令を入力してこれらの命令のうちの特定の
命令が入力されたとき信号“0”を少なくとも1つ含ん
だ1または複数ビットのビットパターンを出力し、これ
以外の命令の場合には全ビットが“1”となったビット
パターンを出力するデコーダと、それぞれの命令に対し
て制御の移行先となる命令アドレスを計算する命令アド
レス計算手段と、この命令アドレス計算手段の計算した
命令アドレスを入力し、このビット列のうちの常にビッ
トが“1”となる特定の位置をビットパターンに置き換
える命令アドレス置換手段と、この命令アドレス置換手
段によって置換された命令アドレスの特定の位置にビッ
トパターンが存在するときトラップを発生させるトラッ
プ発生手段とを電子計算機用処理装置に具備させる。
According to a second aspect of the present invention, one or a plurality of commands including at least one signal "0" when a command for controlling the electronic computer is input and a specific command among these commands is input. A decoder that outputs a bit pattern of bits and outputs a bit pattern in which all bits are "1" in the case of other instructions and an instruction address to which control is transferred for each instruction An instruction address calculating means, an instruction address replacing means for inputting the instruction address calculated by the instruction address calculating means, and replacing a specific position of the bit string where the bit is always "1" with a bit pattern, and the instruction address A trap generating means for generating a trap when a bit pattern exists at a specific position of the instruction address replaced by the replacing means. It is provided to the computer processing unit for.

【0018】すなわち請求項2記載の発明では、命令ア
ドレス計算手段によって計算された命令アドレスのうち
の常にビットが“1”となる特定の位置のデータを所定
のビットパターンに置き換えるようにする。ここで、こ
のビットパターンは、特定の命令に対して信号“0”を
少なくとも1つ含んだパターンである。トラップ発生手
段は、この特定の位置に信号“0”を含んだビットパタ
ーンが存在するときトラップを発生させることになる。
That is, according to the second aspect of the invention, the data at the specific position where the bit is always "1" in the instruction address calculated by the instruction address calculation means is replaced with a predetermined bit pattern. Here, this bit pattern is a pattern including at least one signal "0" for a specific instruction. The trap generation means will generate a trap when a bit pattern including the signal "0" exists at this specific position.

【0019】[0019]

【実施例】以下実施例につき本発明を詳細に説明する。
図1は本実施例の電子計算機用処理装置の原理的な構成
を表わしたものである。この電子計算機用処理装置は、
図示しないメモリから読み出された命令11を入力する
命令デコーダ21を備えている。命令デコーダ21の第
1番目の出力は、次命令アドレス計算器22と、XFE
Rトラップ検出器23に供給される。XFERトラップ
とは、特定の命令群によるトラップをいう。本実施例で
は分岐命令やジャンプ命令の他に、プロシジャコールや
プロセス切り替え等の所定の命令がこれに相当する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described in detail below with reference to embodiments.
FIG. 1 shows the basic configuration of the processing unit for electronic computers of this embodiment. This computer processing device is
An instruction decoder 21 for inputting an instruction 11 read from a memory (not shown) is provided. The first output of the instruction decoder 21 is the next instruction address calculator 22 and the XFE.
It is supplied to the R trap detector 23. The XFER trap is a trap by a specific instruction group. In the present embodiment, in addition to branch instructions and jump instructions, predetermined instructions such as procedure calls and process switching correspond to this.

【0020】命令デコーダ21の第2番目の出力は、実
行ユニット24に供給され、第3番目の出力はトラップ
コントローラ25に供給される。トラップコントローラ
25は命令アドレスマルチプレクサ26の選択制御を行
う他、トラップを行うためのトラップ用アドレス27を
出力するようになっている。命令アドレスマルチプレク
サ26は、次命令アドレス計算器22から出力される次
命令アドレス28と前記したトラップ用アドレス27の
一方をアドレス情報29として出力し、前記したメモリ
に供給するようになっている。
The second output of the instruction decoder 21 is supplied to the execution unit 24, and the third output is supplied to the trap controller 25. The trap controller 25 controls the selection of the instruction address multiplexer 26 and outputs a trap address 27 for performing a trap. The instruction address multiplexer 26 outputs one of the next instruction address 28 output from the next instruction address calculator 22 and the trapping address 27 as address information 29 and supplies the address information 29 to the memory.

【0021】また、本実施例の電子計算機用処理装置に
はXTEフラグ発生器31が設けられている。XTEフ
ラグ発生器31は、実行ユニット24の指示によって、
所定のビットパターンからなるXTEフラグ32を次命
令アドレス計算器22に供給し、次命令アドレス28の
所定のビット列をXTEフラグ32と置き換えるように
なっている。
Further, an XTE flag generator 31 is provided in the processing unit for electronic computer of this embodiment. The XTE flag generator 31 is instructed by the execution unit 24 to
The XTE flag 32 having a predetermined bit pattern is supplied to the next instruction address calculator 22, and the predetermined bit string of the next instruction address 28 is replaced with the XTE flag 32.

【0022】以上のような構成の電子計算機用処理装置
では、XFERトラップ検出器23が次命令アドレス2
8の内容を点検し、トラップすべき所定のビットパター
ンの有無を判別する。そして、これと同一のビットパタ
ーンが所定のビット位置に存在したならば、トラップコ
ントローラ25が出力するトラップ用アドレス27を次
命令アドレス28の代わりに前記したメモリに出力する
ことになる。
In the processing device for electronic computer having the above-mentioned configuration, the XFER trap detector 23 sets the next instruction address 2
The contents of 8 are inspected to determine whether or not there is a predetermined bit pattern to be trapped. Then, if the same bit pattern as this exists at a predetermined bit position, the trap address 27 output by the trap controller 25 is output to the above-mentioned memory instead of the next instruction address 28.

【0023】本実施例の電子計算機用処理装置で、命
令の読み出し、デコード、実行、次命令アドレス
計算といった各ステージがパイプライン化されて、効率
的な処理が行われるようになっていてもよい。また、次
命令アドレスの計算は、この計算のための専用のハード
ウェアで行ってもよいし、命令実行ユニットのように異
なった機能を有するものが共用するようにしてもよい。
要するに、次命令のアドレス計算において、計算結果が
XTEフラグ32で修飾できればよい。
In the processing unit for electronic computer of this embodiment, each stage such as instruction reading, decoding, execution, and next instruction address calculation may be pipelined so that efficient processing can be performed. . The calculation of the next instruction address may be performed by dedicated hardware for this calculation, or may be shared by those having different functions such as an instruction execution unit.
In short, it is sufficient that the calculation result can be modified by the XTE flag 32 in the address calculation of the next instruction.

【0024】本実施例の電子計算機用処理装置は、処理
の効率化を図るため4ステージパイプラインの方式を採
用している。
The computer processing device of this embodiment employs a four-stage pipeline system in order to improve the processing efficiency.

【0025】図2は、4ステージパイプラインを説明す
るためのものである。この例でパイプラインは、命令フ
ェッチF、命令デコーダD、命令の実行E、および結果
の書き込みWの4ステージから成っている。ほとんどの
命令は1サイクルで実行することができるが、複数サイ
クルを要する命令もある。図2(a)では、コール(C
ALL)命令の実行に2サイクルを要している。図2
(b)は、フェッチされた各アドレスとコールされた命
令の関係を経時変化として表わしたものである。
FIG. 2 is for explaining the 4-stage pipeline. In this example, the pipeline consists of four stages: instruction fetch F, instruction decoder D, instruction execution E, and result writing W. Most instructions can be executed in one cycle, but some instructions require multiple cycles. In FIG. 2A, the call (C
All) takes 2 cycles to execute. FIG.
(B) shows the relationship between each fetched address and the called instruction as a change over time.

【0026】命令フェッチステージは、図1に示した次
命令アドレス計算器22と、XFERトラップ検出器2
3および命令アドレスマルチプレクサ26から構成され
ている。命令デコードステージは、命令デコーダ21か
ら構成されている。命令実行ステージは、実行ユニット
24と、XTEフラグ発生器31およびトラップコント
ローラ25から構成されている。書き込みステージは、
実行ユニット24を利用する。すなわち本実施例の電子
計算機用処理装置で、実行ユニット24は実行ステージ
と書き込みステージに共用されている。
The instruction fetch stage includes the next instruction address calculator 22 and the XFER trap detector 2 shown in FIG.
3 and an instruction address multiplexer 26. The instruction decode stage is composed of an instruction decoder 21. The instruction execution stage includes an execution unit 24, an XTE flag generator 31 and a trap controller 25. The writing stage is
The execution unit 24 is used. That is, in the processing unit for a computer of this embodiment, the execution unit 24 is shared by the execution stage and the writing stage.

【0027】図3は、次命令アドレス計算器の構成を表
わしたものである。次命令アドレス計算器22は、プロ
グラムカウンタ41を備えている。プログラムカウンタ
41の値42は、リターンアドレスのセーブを行うため
に実行ユニット24(図1)に送られる他、第1のマル
チプレクサ43の一方の入力端子に供給される。この第
1のマルチプレクサ43の他方の入力端子には、実行ユ
ニット24からアドレス情報44が供給されるようにな
っている。第1のマルチプレクサ43の加算出力は、ア
ダー45の一方の入力となる。
FIG. 3 shows the configuration of the next instruction address calculator. The next instruction address calculator 22 includes a program counter 41. The value 42 of the program counter 41 is sent to the execution unit 24 (FIG. 1) to save the return address, and is also supplied to one input terminal of the first multiplexer 43. Address information 44 is supplied from the execution unit 24 to the other input terminal of the first multiplexer 43. The addition output of the first multiplexer 43 becomes one input of the adder 45.

【0028】この次命令アドレス計算器22には、第2
のマルチプレクサ46が設けられており、その加算出力
はアダー45の他方の入力となっている。ここで、第2
のマルチプレクサ46には、実行ユニット24からアド
レス情報44が、また図示しない回路から数値“4”を
表わしたビット列がそれぞれ入力されるようになってい
る。第1および第2のマルチプレクサ43、46は、命
令デコーダ21(図1)からのコントロール信号48に
よってコントロールされるようになっている。
The next instruction address calculator 22 has a second
The multiplexer 46 is provided, and the addition output thereof is the other input of the adder 45. Here, the second
The address information 44 is input from the execution unit 24 and the bit string representing the numerical value "4" is input from the circuit (not shown) to the multiplexer 46. The first and second multiplexers 43 and 46 are controlled by the control signal 48 from the instruction decoder 21 (FIG. 1).

【0029】アダー45には、アンドゲート49の出力
側が接続されている。このアンドゲート49は、XTE
フラグの値51と、命令デコーダ21からのコントロー
ル信号52との論理積をとるようになっている。ここ
で、コントロール信号52は、電子計算機用処理装置が
XFERトラップを生じさせるための命令を出力してい
る状態で、“1”となるようになっている。アダー45
の出力は、プログラムカウンタ41に入力される他、次
命令アドレス計算器22の出力として、図1に示したよ
うにXFERトラップ検出器23や命令アドレスマルチ
プレクサ26に供給されることになる。
The output side of an AND gate 49 is connected to the adder 45. This AND gate 49 is XTE
The flag value 51 and the control signal 52 from the instruction decoder 21 are logically ANDed. Here, the control signal 52 is set to "1" while the processing unit for electronic computer outputs the instruction for generating the XFER trap. Adder 45
In addition to being input to the program counter 41, the output of is sent to the XFER trap detector 23 and the instruction address multiplexer 26 as the output of the next instruction address calculator 22 as shown in FIG.

【0030】ところで、CPUのアドレスはバイト単位
になっているが、本実施例では命令の各ワードの幅が4
バイトに固定されたものとなっいる。そこで、本実施例
の装置では各命令は必ず数値“4”で割り切れるアドレ
スから始まるように設定されている。このことは、プロ
グラムカウンタ41の下位2ビットは必ず“0”になる
ことを意味している。
By the way, the address of the CPU is in byte units, but in this embodiment, the width of each word of the instruction is 4
It is fixed on the bite. Therefore, in the apparatus of this embodiment, each instruction is set to start at an address divisible by the numerical value "4". This means that the lower 2 bits of the program counter 41 are always "0".

【0031】プロシジャコールやプロセス切り替え等の
XFERトラップを生じさせる命令が存在しない場合に
は、第1および第2のマルチプレクサ43、46は図で
互いに左側の入力を出力するように命令デコーダ21に
よってコントロールされている。このため、この場合に
は、プログラムカウンタ41の値42がアダー45で
“4”だけ加算され、次命令アドレス計算器22の出力
となると同時に、プログラムカウンタ41を次のサイク
ルに更新するようになっている。
When there is no instruction that causes an XFER trap such as procedure call or process switching, the first and second multiplexers 43 and 46 are controlled by the instruction decoder 21 so as to output the inputs on the left side of each other in the figure. Has been done. For this reason, in this case, the value 42 of the program counter 41 is added by "4" by the adder 45 and becomes the output of the next instruction address calculator 22, and at the same time, the program counter 41 is updated to the next cycle. ing.

【0032】このようなトラップを生じさせない状態で
は、XTEフラグの値51は命令デコーダ21からのコ
ントロール信号52によってアンドゲート49でマスク
されている。そこでアンドゲート49からアダー45へ
のキャリーイン入力Cinは常に“0”となり、アダー4
5から出力される計算後の次命令アドレス28の最下位
は“0”になる。
In a state where such a trap is not generated, the value 51 of the XTE flag is masked by the AND gate 49 by the control signal 52 from the instruction decoder 21. Therefore, the carry-in input C in from the AND gate 49 to the adder 45 is always “0”, and the adder 4
The lowest of the calculated next instruction address 28 output from 5 is "0".

【0033】ジャンプ命令やコール命令等の命令は、実
行ユニット24中に存在する図示しないレジスタとの和
をとって行き先アドレスとしている。このときの下位2
ビットは“0”になるように設定されている。ジャンプ
命令やコール命令等の命令のとき、命令デコーダ21は
第1および第2のマルチプレクサ43、46における図
で右側の入力を出力し、実行ユニット24のレジスタの
値としてのアドレス情報44をアダー45に与えること
になる。
Instructions such as a jump instruction and a call instruction are summed with a register (not shown) existing in the execution unit 24 and used as a destination address. Lower 2 at this time
The bit is set to be "0". In the case of an instruction such as a jump instruction or a call instruction, the instruction decoder 21 outputs the input on the right side in the figure in the first and second multiplexers 43 and 46, and the address information 44 as the value of the register of the execution unit 24 is added to the adder 45. Will be given to.

【0034】一方、XFERトラップを生じさせる命令
が存在する状態では、命令デコーダ21はコントロール
信号52を“1”にし、XTEフラグの値51がアダー
45のキャリーイン入力Cinとして入力される。したが
って、この状態でプロシジャコールやプロセス切り替え
等のXFERトラップを生じさせる命令によってXTE
フラグが“1”になると、アダー45から出力される計
算された次命令アドレス28のLSB(最下位ビット)
は“1”になる。
On the other hand, when there is an instruction that causes an XFER trap, the instruction decoder 21 sets the control signal 52 to "1", and the value 51 of the XTE flag is input as the carry-in input C in of the adder 45. Therefore, in this state, an instruction that causes an XFER trap, such as a procedure call or process switching, causes an XTE
When the flag becomes "1", the LSB (least significant bit) of the calculated next instruction address 28 output from the adder 45
Becomes "1".

【0035】図4は、XFERトラップ検出器の構成を
表わしたものである。XFERトラップ検出器23は、
図3で示したアダー45から出力される次命令アドレス
28の下位2ビットを入力するオアゲート61と、最下
位ビットを一方の入力端子に入力するアンドゲート62
から構成されている。アンドゲート62の他方の入力端
子には、命令デコーダ21からのコントロール信号52
(図3参照)が入力されるようになっている。
FIG. 4 shows the structure of the XFER trap detector. The XFER trap detector 23 is
An OR gate 61 for inputting the lower 2 bits of the next instruction address 28 output from the adder 45 shown in FIG. 3 and an AND gate 62 for inputting the least significant bit to one input terminal.
It is composed of The control signal 52 from the instruction decoder 21 is supplied to the other input terminal of the AND gate 62.
(See FIG. 3) is input.

【0036】このXFERトラップ検出器23では、ア
ンドゲート62の出力をXFERトラップ要求信号64
としている。すなわちXFERトラップ要求信号64
は、XFERトラップが生じうるサイクルを示し、計算
された次命令アドレス28の特定のビットパターン(こ
こではLSB)を見て、このビットが“1”のときにX
FERトラップ要求を起こす。
In the XFER trap detector 23, the output of the AND gate 62 is sent to the XFER trap request signal 64.
And That is, the XFER trap request signal 64
Indicates a cycle in which an XFER trap can occur, looks at a specific bit pattern (here, LSB) of the calculated next instruction address 28, and when this bit is "1", X
Make a FER trap request.

【0037】ところで、この電子計算機用処理装置では
命令アドレスの下位2ビットはトラップを起こさない場
合に必ず“0”となるはずである。そこでオアゲート6
1は下位2ビットの論理和をとり、これが“1”になる
場合にはイリーガルアドレスが生じたとしてトラップを
起こすようになっている。このとき、最下位のビットが
“1”であればXFERトラップによるものとほぼ推測
することができる。
By the way, in this computer processor, the lower 2 bits of the instruction address must be "0" without causing a trap. So OR gate 6
1 takes the logical sum of the lower 2 bits, and when it becomes "1", it is supposed that an illegal address is generated and a trap is generated. At this time, if the least significant bit is "1", it can be almost inferred that it is due to the XFER trap.

【0038】次に図5に示した命令を実行する場合を考
える。アドレス“A1”に存在するコール命令は、RX
とRY の和を行き先アドレスとして、RZ にリターンア
ドレスをセーブし、XFERトラップを生じうる命令で
ある。XFERトラップが発生すれば、XFERトラッ
プハンドラが存在するアドレス“A20”に行き、発生
しないならばプロシジャのエントリのあるアドレス“A
10”に行く。
Next, consider the case of executing the instruction shown in FIG. The call instruction existing at the address “A1” is R X
This is an instruction that can generate an XFER trap by saving the return address in R Z using the sum of R and R Y as the destination address. If an XFER trap occurs, go to the address "A20" where the XFER trap handler exists, and if it does not occur, go to the address "A" with the procedure entry.
Go to 10 ".

【0039】このCPUはディレイドブランチ方式をと
っており、アドレス“A1”にある命令を実行後に直ち
にアドレス“A20”またはアドレス“A10”に行く
のではなく、アドレス“A2”にある命令を実行してか
らこれらいずれかのアドレスに行くようになっている。
This CPU adopts a delayed branch system, and executes the instruction at the address "A2" instead of immediately going to the address "A20" or the address "A10" after executing the instruction at the address "A1". Since then, I have been going to one of these addresses.

【0040】先に示した図2(a)は、コール命令を実
行する場合におけるパイプラインの各ステージの様子を
表わしたものである。コール命令は実行に2サイクルを
要し、最初のサイクルでRX +RY の計算を行う。そし
て、2番目のサイクルでRZ にリターンアドレスをセー
ブする。命令メモリアクセスは、同図(b)に示したよ
うにパイプライン化されている。このため、メモリが命
令語を出力しているとき、そのメモリは次命令のアドレ
スを受け取っている。
FIG. 2A shown above shows the state of each stage of the pipeline when the call instruction is executed. The call instruction requires two cycles to execute, and R X + R Y is calculated in the first cycle. Then, in the second cycle, the return address is saved in R Z. The instruction memory access is pipelined as shown in FIG. Therefore, when the memory outputs the instruction word, the memory receives the address of the next instruction.

【0041】コール命令のアドレス“A1”が図2
(a)のFステージにおいて出力されると、このコール
命令がフェッチされる。次のサイクルでは、Fステージ
にてアドレス“A2”が出力されI2 命令がフェッチさ
れる。これと同時にコール命令がデコードされる。コー
ル命令は実行に2サイクルを要するので、命令デコーダ
21(図1)は次命令アドレス計算器22に1サイクル
分休止するように指示する。
The address "A1" of the call instruction is shown in FIG.
When output in the F stage of (a), this call instruction is fetched. In the next cycle, the address "A2" is output at the F stage and the I 2 instruction is fetched. At the same time, the call instruction is decoded. Since the call instruction requires two cycles to execute, the instruction decoder 21 (FIG. 1) instructs the next instruction address calculator 22 to pause for one cycle.

【0042】次のサイクルで、次命令アドレス計算器2
2はRX +RY の計算を行う。このとき、XTEフラグ
がアダー45のキャリーイン入力Cinとして入力され
る。
In the next cycle, the next instruction address calculator 2
2 calculates R X + R Y. At this time, the XTE flag is input as the carry-in input C in of the adder 45.

【0043】XTEフラグが“1”の場合には、次命令
アドレス計算器22のLSBは“1”となる。このた
め、XFERトラップ検出器23でアンドゲート62の
出力すなわちXFERトラップ要求信号64が“1”に
なり、トラップコントローラ25にXFERトラップの
要求が行われる。
When the XTE flag is "1", the LSB of the next instruction address calculator 22 is "1". Therefore, the output of the AND gate 62, that is, the XFER trap request signal 64 becomes "1" in the XFER trap detector 23, and the XFER trap is requested to the trap controller 25.

【0044】トラップコントローラ25は、XFERト
ラップハンドラのアドレス、すなわちアドレス“A2
0”を生成し、命令アドレスマルチプレクサ26にこれ
を与える。また、この命令アドレスマルチプレクサ26
をトラップアドレス側に切り替え、アドレス“A20”
を図示しない命令メモリに向けて出力して、I20命令を
フェッチする。これでXFERトラップが達成されたこ
とになる。
The trap controller 25 determines the address of the XFER trap handler, that is, the address "A2.
0 "is generated and given to the instruction address multiplexer 26. Also, this instruction address multiplexer 26
To the trap address side, and the address "A20"
To the instruction memory (not shown) to fetch the I 20 instruction. This means that the XFER trap has been achieved.

【0045】(第1の変形例)以上説明した実施例で
は、XTEフラグによる修飾をアドレスの最下位ビット
としたが、これに限られるものではなく、例えば最上位
ビットにしてもよい。このような修飾方法は、例えば命
令語がアドレス可能最小単位境界に並ぶような電子計算
機用処理装置を構成する場合に用いることができる。
(First Modification) In the embodiment described above, the modification by the XTE flag is the least significant bit of the address. However, the modification is not limited to this and may be the most significant bit, for example. Such a modification method can be used, for example, when configuring a computer processing device in which instruction words are aligned on the addressable minimum unit boundary.

【0046】図6はこの第1の変形例に用いられるメモ
リ空間を表わしたものである。メモリ空間71はアドレ
ス“0”からアドレス“M”までの命令用空間72と、
アドレス“M+1”からアドレス“MAX”までのXF
ERトラップ検出用空間73とに2分されている。
FIG. 6 shows a memory space used in this first modification. The memory space 71 is an instruction space 72 from address “0” to address “M”,
XF from address "M + 1" to address "MAX"
It is divided into a space 73 for ER trap detection.

【0047】この変形例では、メモリ空間71が一見す
ると半分になったように思われる。しかしながら、XF
ERトラップの検出に使用するXFERトラップ検出用
空間73は命令のフェッチについてのアドレス計算に用
いられ、データについてのアドレス計算とは関係しな
い。したがって、XFERトラップ検出用空間73をデ
ータの記憶に用いることができ、無駄は生じない。
In this modification, the memory space 71 seems to have been halved at first glance. However, XF
The XFER trap detection space 73 used for detecting an ER trap is used for address calculation for instruction fetch and is not related to data address calculation. Therefore, the XFER trap detection space 73 can be used for storing data, and no waste occurs.

【0048】(第2の変形例)ある種の計算機アーキテ
クチャは、アドレスの上半分と下半分をユーザ用とスー
パバイザ用の空間に分けている場合もある。このような
場合、XTEフラグはアドレスの上から2ビット目を修
飾する。
(Second Modification) In a certain computer architecture, the upper half and the lower half of the address may be divided into a user space and a supervisor space. In such a case, the XTE flag modifies the second bit from the top of the address.

【0049】図7は、この第2の変形例におけるメモリ
空間を表わしたものである。メモリ空間81は、ユーザ
用命令の空間82と、ユーザ用データおよびXFERト
ラップ検出用空間83と、スーパバイザ用命令の空間8
4およびスーパバイザ用データおよびXFERトラップ
検出用空間85とに4分されている。
FIG. 7 shows a memory space in the second modification. The memory space 81 includes a user instruction space 82, a user data and XFER trap detection space 83, and a supervisor instruction space 8
4 and supervisor data and space 85 for XFER trap detection.

【0050】なお、この第2の変形例はスーパバイザモ
ードを備えたプロセッサについての例であるが、この変
形例の場合にはトラップのたびにスーパバイザモードに
移行する必要がないので、従来と比べて制御が簡略化さ
れることになる。
The second modification is an example of a processor having a supervisor mode. However, in the case of this modification, it is not necessary to switch to the supervisor mode each time a trap occurs. The control will be simplified.

【0051】(その他の変形可能性)実施例ではXTE
フラグ発生器31を使用してXTEフラグを発生させた
が、次命令アドレス計算器22のアダー45への2つの
入力の少なくとも1つに出力するレジスタの中にXTE
フラグを設けるようにしてもよい。このレジスタのXT
Eフラグ以外の部分は“0”となっていてもよいし、ア
ドレス計算のための情報を持っていてもよい。この場合
には、XTEフラグを有するレジスタをアドレス計算の
ために使用して、プロシジュコールやプロセス切り替え
を実行することになる。
(Other Modifications) In the embodiment, XTE is used.
The flag generator 31 was used to generate the XTE flag, but the XTE flag was placed in the register that outputs to at least one of the two inputs to the adder 45 of the next instruction address calculator 22.
A flag may be provided. XT of this register
The part other than the E flag may be "0", or may have information for address calculation. In this case, a register having an XTE flag will be used for address calculation to perform a procedure call or process switch.

【0052】このような手法は、イリーガルアドレス検
出器を備えた市販のプロセッサを用いることによっても
実現することができる。例えばバイト単位でアドレス付
けされているが、命令語は必ず4バイト境界に置かれ、
命令アドレスとしてのアドレスの下位2ビットが“0”
以外ではイリーガルアドレスとしてトラップを生じるよ
うなプロセッサを考える。このようなプロセッサでは、
プロシジャコールやプロセス切り替えの命令アドレスの
計算時にXTEをアドレス下位の2ビットのうちの少な
くとも1つに入れることによってXFERトラップを実
現することができる。
Such a technique can also be realized by using a commercially available processor equipped with an illegal address detector. For example, although it is addressed in bytes, instruction words are always placed on 4-byte boundaries,
The lower 2 bits of the address as the instruction address are "0"
Other than that, consider a processor that generates a trap as an illegal address. In such a processor,
An XFER trap can be realized by putting XTE in at least one of the lower two bits of the address when calculating the instruction address for the procedure call or the process switching.

【0053】この場合、イリーガルアドレス検出器はX
FERトラップ検出器として動作している。したがっ
て、XFERトラップはそのプロセッサが本来持ってい
たイリーガルアドレストラップとして検出されることに
なる。
In this case, the illegal address detector is X
It is operating as a FER trap detector. Therefore, the XFER trap is detected as an illegal address trap that the processor originally had.

【0054】また、実施例ではアンドゲート49からア
ダー45へキャリーイン入力Cinを入れることでXFE
Rトラップの検出を行うようにしていたが、アダー45
の2つの入力に対応させて2つのレジスタを設けてお
き、その一方にXFERトラップ検出用のビットパター
ンを格納しておくようにしてもよい。そして、このビッ
トパターンをアダー45に加えることでトラップを発生
させるようにする。また、これら2つのレジスタの内容
の和をとることでジャンプ命令やコール命令に対するプ
ロシジャやプロセスの行き先アドレスを設定する。
Further, in the embodiment, by inputting carry-in input C in from AND gate 49 to adder 45, XFE
I tried to detect the R trap,
It is also possible to provide two registers corresponding to the two inputs, and store a bit pattern for XFER trap detection in one of them. Then, a trap is generated by adding this bit pattern to the adder 45. Further, the destination address of the procedure or process for the jump instruction or call instruction is set by taking the sum of the contents of these two registers.

【0055】この変形は、ソフトウェアによっても実現
することができる。例えば前記した2つレジスタの内容
の和を実効アドレスとするジャンプ(JUM)命令やコ
ール(CALL)命令があるものとする。今、第1のレ
ジスタ“R0”にプロシジャやプロセスの行き先アドレ
スが、また第2のレジスタ“R1”にXTEフラグが入
っているものとする。この場合には、「JMP “R
0”+“R1”」あるいは「CALL “R0”+“R
1”」として、トラップすべきビットパターンを検出す
れば本発明を実現することができる。
This modification can also be realized by software. For example, it is assumed that there is a jump (JUM) instruction or a call (CALL) instruction whose effective address is the sum of the contents of the above two registers. Now, it is assumed that the destination address of the procedure or process is stored in the first register "R0" and the XTE flag is stored in the second register "R1". In this case, "JMP" R
0 ”+“ R1 ”” or “CALL“ R0 ”+“ R
If the bit pattern to be trapped is detected as "1"", the present invention can be realized.

【0056】また、XFERトラップの検出には、一部
のプロセッサが従来から備えているイリーガル命令アド
レス検出メカニズムやMMU(メモリマネージメントユ
ニット)が持っているメモリプロテクションやページフ
ォールト検出のメカニズムを流用することもできる。こ
れらのメカニズムが所定の条件を検出すると、プロセッ
サにトラップや割り込みをかけ、条件が成立したことを
知らせることになる。
Further, for the detection of the XFER trap, the illegal instruction address detection mechanism which some processors conventionally have, and the memory protection and page fault detection mechanism which the MMU (memory management unit) has are diverted. You can also When these mechanisms detect a predetermined condition, they will trap or interrupt the processor to inform that the condition is met.

【0057】この変形の手法では、メモリ管理機能を有
するプロセッサや、それを持たないプロセッサにそれを
付加して使用するときに本発明を実現するのに便利であ
る。
This modified method is convenient for realizing the present invention when a processor having a memory management function or a processor not having the memory management function is added and used.

【0058】なお、実施例では命令アドレス計算手段の
計算した命令アドレスの常に“0”が配置されている箇
所を少なくとも信号“1”が1つ以上存在するビットパ
ターンと置き換えることとして説明したが、これとは逆
に常に“1”が配置されている箇所を少なくとも信号
“0”が1つ以上存在するビットパターンと置き換える
ことも可能である。
In the embodiment, the description has been made on the assumption that the portion where the instruction address calculated by the instruction address calculating means is always "0" is replaced with the bit pattern having at least one signal "1". On the contrary, it is also possible to replace the portion where "1" is always arranged with a bit pattern in which at least one signal "0" exists.

【0059】[0059]

【発明の効果】以上説明したように本発明によれば、命
令アドレス計算手段の計算した命令アドレスの常に一定
不変の値を示している箇所をこれとは異なるビットパタ
ーンと置き換えることにした。したがって、スーパバイ
ザモードの有無に係わらず、必要とする命令に対してト
ラップを行うことができる。また、アドレスの操作を行
ってトレースを行うことにしたので、メモリの内容を書
き換える必要がない。更に本発明によれば、プロシジャ
コール等の所定の命令を小さなオーバヘッドで検出する
ことができるという効果もある。
As described above, according to the present invention, a portion of the instruction address calculated by the instruction address calculating means, which always shows a constant value, is replaced with a bit pattern different from this. Therefore, it is possible to trap the necessary instruction regardless of the presence or absence of the supervisor mode. Moreover, since it is decided to perform the trace by performing the address operation, it is not necessary to rewrite the contents of the memory. Further, according to the present invention, there is an effect that a predetermined instruction such as a procedure call can be detected with a small overhead.

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

【図1】本発明の一実施例における電子計算機用処理装
置の構成の概要を示すブロック図である。
FIG. 1 is a block diagram showing an outline of a configuration of a processing device for an electronic computer according to an embodiment of the present invention.

【図2】本実施例の装置の命令実効時のタイミングを示
すタイミング図である。
FIG. 2 is a timing chart showing the timing when an instruction is executed in the device of this embodiment.

【図3】本実施例の次命令アドレス計算器の構成を表わ
したブロック図である。
FIG. 3 is a block diagram showing a configuration of a next instruction address calculator of this embodiment.

【図4】本実施例のXFERトラップ検出器の構成を表
わした回路図である。
FIG. 4 is a circuit diagram showing a configuration of an XFER trap detector of this embodiment.

【図5】本実施例における命令の一部を示した説明図で
ある。
FIG. 5 is an explanatory diagram showing a part of instructions in the present embodiment.

【図6】第1の変形例におけるメモリ空間を表わした説
明図である。
FIG. 6 is an explanatory diagram showing a memory space in a first modified example.

【図7】第2の変形例におけるメモリ空間を表わした説
明図である。
FIG. 7 is an explanatory diagram showing a memory space in a second modified example.

【図8】従来のプロセッサの構成の概要を表わした説明
図である。
FIG. 8 is an explanatory diagram showing an outline of a configuration of a conventional processor.

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

21…命令デコーダ、22…次命令アドレス計算器、2
3…XFERトラップ検出器、24…実効ユニット、2
5…トラップコントローラ、26…命令アドレスマルチ
プレクサ、41…プログラムカウンタ、43、46…マ
ルチプレクサ、45…アダー、49…アンドゲート
21 ... Instruction decoder, 22 ... Next instruction address calculator, 2
3 ... XFER trap detector, 24 ... Effective unit, 2
5 ... Trap controller, 26 ... Instruction address multiplexer, 41 ... Program counter, 43, 46 ... Multiplexer, 45 ... Adder, 49 ... AND gate

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 電子計算機の制御のための命令を入力し
てこれらの命令のうちの特定の命令が入力されたとき信
号“1”を少なくとも1つ含んだ1または複数ビットの
ビットパターンを出力し、これ以外の命令の場合には全
ビットが“0”となったビットパターンを出力するデコ
ーダと、それぞれの命令に対して制御の移行先となる命
令アドレスを計算する命令アドレス計算手段と、この命
令アドレス計算手段の計算した命令アドレスを入力し、
このビット列のうちの常にビットが“0”となる特定の
位置を前記ビットパターンに置き換える命令アドレス置
換手段と、この命令アドレス置換手段によって置換され
た命令アドレスの前記特定の位置に前記ビットパターン
が存在するときトラップを発生させるトラップ発生手段
とを具備することを特徴とする電子計算機用処理装置。
1. A command for controlling an electronic computer is input, and when a specific command among these commands is input, a bit pattern of one or a plurality of bits including at least one signal "1" is output. However, in the case of other instructions, a decoder that outputs a bit pattern in which all bits are "0", and an instruction address calculation unit that calculates an instruction address to which control is transferred for each instruction, Enter the instruction address calculated by this instruction address calculation means,
An instruction address replacement unit that replaces a specific position of the bit string where the bit is always "0" with the bit pattern, and the bit pattern exists at the specific position of the instruction address replaced by the instruction address replacement unit. And a trap generating means for generating a trap when the processing is performed.
【請求項2】 電子計算機の制御のための命令を入力し
てこれらの命令のうちの特定の命令が入力されたとき信
号“0”を少なくとも1つ含んだ1または複数ビットの
ビットパターンを出力し、これ以外の命令の場合には全
ビットが“1”となったビットパターンを出力するデコ
ーダと、それぞれの命令に対して制御の移行先となる命
令アドレスを計算する命令アドレス計算手段と、この命
令アドレス計算手段の計算した命令アドレスを入力し、
このビット列のうちの常にビットが“1”となる特定の
位置を前記ビットパターンに置き換える命令アドレス置
換手段と、この命令アドレス置換手段によって置換され
た命令アドレスの前記特定の位置に前記ビットパターン
が存在するときトラップを発生させるトラップ発生手段
とを具備することを特徴とする電子計算機用処理装置。
2. A command for controlling a computer is input, and when a specific command among these commands is input, a bit pattern of 1 or more bits including at least one signal "0" is output. However, in the case of other instructions, a decoder that outputs a bit pattern in which all bits are “1”, and an instruction address calculation unit that calculates an instruction address to which control is transferred for each instruction, Enter the instruction address calculated by this instruction address calculation means,
An instruction address replacement unit that replaces a specific position of the bit string where the bit is always "1" with the bit pattern, and the bit pattern exists at the specific position of the instruction address replaced by the instruction address replacement unit. And a trap generating means for generating a trap when the processing is performed.
JP3074449A 1991-03-15 1991-03-15 Electronic computer processor Expired - Fee Related JP2687750B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3074449A JP2687750B2 (en) 1991-03-15 1991-03-15 Electronic computer processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3074449A JP2687750B2 (en) 1991-03-15 1991-03-15 Electronic computer processor

Publications (2)

Publication Number Publication Date
JPH04287135A JPH04287135A (en) 1992-10-12
JP2687750B2 true JP2687750B2 (en) 1997-12-08

Family

ID=13547560

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3074449A Expired - Fee Related JP2687750B2 (en) 1991-03-15 1991-03-15 Electronic computer processor

Country Status (1)

Country Link
JP (1) JP2687750B2 (en)

Also Published As

Publication number Publication date
JPH04287135A (en) 1992-10-12

Similar Documents

Publication Publication Date Title
EP1003095B1 (en) A computer system for executing branch instructions
US6134710A (en) Adaptive method and system to minimize the effect of long cache misses
US6708326B1 (en) Method, system and program product comprising breakpoint handling mechanism for debugging and/or monitoring a computer instruction sequence
JP2731692B2 (en) Debug device
JP2937485B2 (en) Method and apparatus for detecting and executing traps in a superscalar processor
US20070136565A1 (en) Stack underflow debug with sticky base
JPH0588948A (en) Method and device for analyzing sampling performance
JPS63193230A (en) High performance microprocessor integrated circuit and reference of memory
US6249906B1 (en) Adaptive method and system to minimize the effect of long table walks
JP2002342114A (en) Processor capable of collecting trace data
JPH01310441A (en) Data processor
JP3590282B2 (en) Stop point interrupt generator for superscalar microprocessor
JP2687750B2 (en) Electronic computer processor
US6308242B1 (en) Apparatus for adaptively controlling a prefetch queue based on various flush conditions
JPH1196006A (en) Information processor
JP2002014868A (en) Microprocessor having memory referring operation detecting mechanism and compile method
JPH1049373A (en) Method and device for operating multiplex and highly accurate event for pipeline digital processor
US6807628B2 (en) System and method for supporting precise exceptions in a data processor having a clustered architecture
JPH03175548A (en) Microprocessor and address control system
JP3130421B2 (en) Program analysis method and apparatus
JPS59112350A (en) Supervising and controlling system of program
JP3119859B2 (en) Computer system
JPH0795288B2 (en) Microcomputer
JPH04287231A (en) Microprocessor
JPH02187831A (en) Exception processing system in virtual computer system

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees