JPH0332818B2 - - Google Patents
Info
- Publication number
- JPH0332818B2 JPH0332818B2 JP59131476A JP13147684A JPH0332818B2 JP H0332818 B2 JPH0332818 B2 JP H0332818B2 JP 59131476 A JP59131476 A JP 59131476A JP 13147684 A JP13147684 A JP 13147684A JP H0332818 B2 JPH0332818 B2 JP H0332818B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- break
- signal output
- cpu
- queue
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 claims description 22
- 238000001514 detection method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000010365 information processing Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Advance Control (AREA)
Description
〔技術分野〕
本発明は命令先取り機能を有する情報処理装置
に関し、特にプログラムの実行シーケンスを制御
する方式に関する。 〔従来技術〕 情報処理装置、例えばマイクロプロセツサを用
いたソフトウエアの開発に必要とされるソフトウ
エアのデバツグの1つの方法として、所定のアド
レスに格納されている命令の実行の直後にプログ
ラム全体の流れを中断し、情報処理装置の中核を
なす中央処理装置(以下、CPUと称す)内の各
部の状態を観察する方法があり、この方法により
ソフトウエアのデバツグを効率的に行うことがで
きる。この場合、プログラム全体の流れを中断す
ることをブレークと呼び、ブレークするアドレス
をブレーク・ポイントと呼ぶ。 従来のマイクロプロセツサにおいては、第1図
に示すように、CPUは1命令の実行を終えると
次の1命令を外部メモリからフエツチして実行
し、必要に応じて結果を外部メモリやI/Oポー
トに書き出すという動作を繰返している。このよ
うに、従来のCPUは、命令やオペランドをフエ
ツチしている期間と命令の実行結果を書出してい
る期間は外部バスを専有しているが、命令を解続
し実行している期間は外部バスを専有しておら
ず、外部バスは空き状態になつている。 第2図はこのような従来のCPUを用いて前述
のデバツグ方法を実現する場合のマイクロプロセ
ツサの要部ブロツク図である。レジスタ5に予め
ブレーク・ポイントを格納しておく。フエツチ動
作においてはCPU1がメモリ2に対しアドレス
バス3を通じてアドレスを発行すると、メモリ2
はこのアドレスに格納されていたデータをデータ
バス4上に出力する。このフエツチ動作と並行し
て比較器6においては、データ信号路7上のレジ
スタ5に予め格納されているブレーク・ポイント
とアドレスバス3上に出力された前記アドレスが
比較され、比較結果が信号路8を通つて逐次
CPU1に帰還されている。CPU1は信号路8か
らの入力信号が変化するまで一連の命令を順次実
行し、レジスタ5の内容とアドレスバス3上に出
力された前記アドレスとが一致すると比較器6の
出力信号が変化して、CPU1は比較器6の前記
信号を入力した時点で実行中であつた命令の実行
終了直後にプログラム全体の実行を中断する。 ところで、情報処理装置の性能を向上させるこ
とを考えた場合、従来のこのようなCPUを用い
ていたのでは著しい性能の向上は望めない。
CPUの性能を向上させる方法の1つとして、次
に実行す命令は現在実行中の命令の次の命令であ
る確率が非常に高いというノイマン型の情報処理
装置の特徴を利用した命令先取り方式がある。こ
の命令先取り方式を実現するためにはCPUの内
部に、命令を解読して実行する部分(以下、命令
実行部と称する)と外部メモリからの命令をフエ
ツチし、外部メモリまたはI/Oなどに結果を出
力する部分(以下、バスインターフエース部と称
する)が少なくとも必要である。そして、このバ
スインターフエース部内には、外部メモリからフ
エツチした命令複数個記憶するためのFIFO
(First−In−Firat−Out)構造の複数個のレジス
タ群(以下、命令キユーと称する)が必要とな
る。 第3図はこのような構成を有する命令先取
り方式のCPUの従来例を示すブロツク図である。
CPU10は命令実行部13と、レジスタA,B,
C,D,E,F,G,Hの8つのレジスタから構
成され、書込み、読出しともこの順序に行なわれ
る命令キユー14、命令キユー制御部15、命令
キユー制御部15から出力される命令キユー14
の入出力を制御する制御信号を命令キユー14に
送る制御信号路16からなるインターフエース部
12と命令キユー14の内容を命令実行部13へ
転送するためのデータ信号路17、命令実行部1
3が命令キユー制御部15に対して命令キユー1
4の内容を出力するよう要求する信号を出力する
制御信号路18からなる。外部データバス11の
データ幅はフエツチ動作時の効率を上げるために
最小の命令コードのデータ幅の2倍である。 第4図は、第3図のCPU10について命令実
行部13とバスインターフエース部12およびデ
ータバス11と命令キユー14の状態の1例を示
すタイムチヤートで、このタイムチヤートを参照
しながらCPU10の動作を説明する。 今、命令キユー14のレジスタAとレジスタB
にすでに命令Aのコードが格納されており、命令
実行部13は命令Xを実行中と仮定する。命令キ
ユー14にはまだ空きがあるためにCPU10は
フエツチを行う。不図示のメモリはこのフエツチ
動作でCPU10から出力されたアドレスに対応
した命令BのオペコードBをデータバス11のI
を通して、前記アドレス+1に対応した命令Bの
アドレスフイールドBをデータバス11のを通
してそれぞれ出力する。命令キユー制御部15は
制御信号路16を通して命令キユー14にデータ
バス11上の命令を格納することを指示する制御
信号を送る。この制御信号により命令キユー14
はデータバス11のに送られてきているオペコ
ードBをレジスタCに、データバス11のに送
られてきているアドレスフイールドBをレジスタ
Dにそれぞれ格納する。このフエツチ動作が終了
した時点での命令キユー14の状態を示したのが
第4図の141である。一方、命令実行部13は
前記命令Xの実行が終了すると、制御信号路18
を通して命令キユー制御部15に命令キユー14
の内容を出力することを要求する制御信号を出
す。命令キユー制御部15は命令実行部13から
の制御信号により制御信号路16を通して命令キ
ユー14にレジスタAに格納されているオペコー
ドAをデータ信号路17を通して命令実行部13
に出力するように指示する信号を出力する。命令
実行部13はオペコードAをうけとつた後、命令
Aの残りの部分であるアドレスフイールドAをう
けとるために、制御信号路18を通して命令キユ
ー制御部15に命令キユー14の内容を出力する
ことを要求する信号を出力する。次に、命令実行
部13は前述のようにアドレスフイールドAをう
けとり命令Aを実行する。以下、命令実行部13
は命令B,Cと実行し、命令キユー14内のレジ
スタA〜Gの内容は142,143と変化する。 このように命令先取り方式のCPU10は、命
令キユー4に空きがあり、かつ外部のデータバス
11が空いているときに命令フエツチ動作を行つ
て命令を命令キユー14に格納してゆく。そして
命令キユー14から逐次、命令をとり出して実行
をしてゆく。ここで注意すべき点は、CPU10
はバスインターフエース部12と命令実行部13
が互いに独立しているために命令フエツチ動作で
出力するアドレスと現在実行中の命令のメモリ上
でのアドレスとが一致しないということである。 次に、命令先取り方式のCPU10を用いた情
報処理装置に対して所定のブレークポイントにて
プログラムの実行を中断させることを考えてみ
る。第2図に示した従来のCPUに対して実現さ
れている方式においてCPU1を前記CPU10と
おきかえてブレークを行うものとする。CPU1
0はフエツチ動作を行うためにアドレスバス3に
アドレスを出力する。比較器6はCPU10が制
御信号路8を通して出力するフエツチ動作を示す
信号によりレジスタ5に格納されているブレーク
ポイントと前記アドレスとを比較する、今、前記
ブレークポイントと前記アドレスが一致したとす
ると、比較器6はデータ信号路9を通して前記ブ
レークポイントと前記アドレスが一致したことを
示す信号をCPU10に出力する。CPU10はこ
の信号をうけとると現在実行中の命令終了直後、
プログラムの実行を中断する。しかし前述したよ
うに、現在実行中の命令というのは複数回前のフ
エツチ動作によつてフエツチされた命令であり、
前記ブレークポイントより前のアドレスに格納さ
れていたものである。 以上のように、命令先取り方式のCPU10に
従来のデバツグ方式を適用してブレークを行うと
ブレークポイントより前のアドレスでプログラム
の実行が中断してしまうという問題が生じてしま
う。 〔発明の目的〕 したがつて、本発明の目的は、命令先取り方式
のCPUに対し、所定のブレークポイントにて
CPUの命令の実行シーケンスを確実に中断させ
るプロセツサ制御方式を提供することにある。 〔発明の構成〕 本発明は、一回に複数個の命令コードを先取り
するCPUにおいて、外部から入力される制御信
号を前記CPUの実行シーケンスを制御する、前
記命令コードの各々に対応する制御情報に変換す
る変換手段と、前記各命令コードと対応する前記
制御情報の組を格納するレジスタの複数本によつ
て構成されるレジスタ群と、前記命令コードと前
記制御情報を前記レジスタ群に格納し、FIFO方
式で、かつ一組ずつ出力させる制御手段を設け、
前記レジスタ群からFIFO動作によつて出力され
る前記制御情報により前記CPUの実行シーケン
スを制御することを特徴とする。 〔実施例〕 以下、図面を参照しながら本発明の実施例を説
明する。第5図は本発明のプロセツサ制御方式を
適用したCPUのブロツタ図である。 バスインターフエース制御部22と命令実行部
23からなる、命令先取り方式のCPU20は、
命令キユー制御部24、データ幅が最小である命
令と同じデータ幅のQ0,Q1,Q2,Q3,Q4,Q5,
Q6,Q7の8つのレジスタで構成され、命令の書
き込みと読み出しはともにレジスタQ0,Q1,Q2,
Q3,Q4,Q5,Q6,Q7の順に行われる命令キユー
25、命令キユー25のレジスタQ0,Q1,……,
Q7にそれぞれ対応している8個のビツトT0,
T1,T2,T3,T4,T5,T6,T7で構成されてい
るブレークポイント検出用ビツト群26、命令キ
ユー制御部24から出力される外部データバス
(データ幅が最小である2倍のデータ幅を有する)
21上のデータを命令キユー25内のレジスタ
Q0,Q1,……,Q7に格納することを指示する信
号を命令キユー25に送るための制御信号路2
7、命令キユー制御部24から出力される命令キ
ユー25内のレジスタQ1,Q1,……,Q7の内容
を命令実行部23へ送ることを指示する信号を命
令キユー25に送るための制御信号路28、外部
からのコード化された制御情報をCPU20に入
力するためのデータ信号路29,30、データ信
号路29,30によつて入力された制御情報をデ
コードしてブレークポイント検出用ビツト群26
に書き込む制御情報デコード31からなるインタ
ーフエース部22と、外部からの割込み要求に対
してCPU20の内部を割込み処理が行えるよう
な状態にして、実行中であつたプログラムを所定
の割込み処理プログラムへ分枝させる割込処理部
32、命令キユー25から送られてくる命令を解
続する命令デコーダ33、命令キユー25から出
力される命令を命令デコーダ33へ送るためのデ
ータ信号路34、外部からの割込み要求を示す信
号を入力するためのデータ信号路35、ブレーク
ポイント検出用ビツト群26から出力される制御
情報を送るためのデータ信号路36、制御情報デ
コーダ31から出力される割込み要求を示す信号
を送るためのデータ信号路37、データ信号路3
5,36,37を通して送られてくる信号の論理
和をとつた結果を割込み処理部32へ送るための
データ信号路38、命令実行部23が出力する、
命令キユー25の内容を出力するよう要求する信
号を命令キユー制御部24へ送るための制御信号
路39からなる。 第6図は第5図の制御情報デコーダ31の具体
的回路例である。信号線aは第5図のデータ信号
路29に、信号線bは第5図のデータ信号路30
に、信号線cは第5図のデータ信号線37にそれ
ぞれ対応している。また、信号線dを通して出力
されるデコード結果は、ブレークポイント検出用
ビツトT1,T3,T5,T7のいずれかのビツトに格
納され、信号線eを通して出力されるデコード結
果は、ブレークポイント検出用ビツトT0,T2,
T4,T6のいずれかに格納される。 表−1は本実施例におけるコード化された制御
情報の意味を示している。
に関し、特にプログラムの実行シーケンスを制御
する方式に関する。 〔従来技術〕 情報処理装置、例えばマイクロプロセツサを用
いたソフトウエアの開発に必要とされるソフトウ
エアのデバツグの1つの方法として、所定のアド
レスに格納されている命令の実行の直後にプログ
ラム全体の流れを中断し、情報処理装置の中核を
なす中央処理装置(以下、CPUと称す)内の各
部の状態を観察する方法があり、この方法により
ソフトウエアのデバツグを効率的に行うことがで
きる。この場合、プログラム全体の流れを中断す
ることをブレークと呼び、ブレークするアドレス
をブレーク・ポイントと呼ぶ。 従来のマイクロプロセツサにおいては、第1図
に示すように、CPUは1命令の実行を終えると
次の1命令を外部メモリからフエツチして実行
し、必要に応じて結果を外部メモリやI/Oポー
トに書き出すという動作を繰返している。このよ
うに、従来のCPUは、命令やオペランドをフエ
ツチしている期間と命令の実行結果を書出してい
る期間は外部バスを専有しているが、命令を解続
し実行している期間は外部バスを専有しておら
ず、外部バスは空き状態になつている。 第2図はこのような従来のCPUを用いて前述
のデバツグ方法を実現する場合のマイクロプロセ
ツサの要部ブロツク図である。レジスタ5に予め
ブレーク・ポイントを格納しておく。フエツチ動
作においてはCPU1がメモリ2に対しアドレス
バス3を通じてアドレスを発行すると、メモリ2
はこのアドレスに格納されていたデータをデータ
バス4上に出力する。このフエツチ動作と並行し
て比較器6においては、データ信号路7上のレジ
スタ5に予め格納されているブレーク・ポイント
とアドレスバス3上に出力された前記アドレスが
比較され、比較結果が信号路8を通つて逐次
CPU1に帰還されている。CPU1は信号路8か
らの入力信号が変化するまで一連の命令を順次実
行し、レジスタ5の内容とアドレスバス3上に出
力された前記アドレスとが一致すると比較器6の
出力信号が変化して、CPU1は比較器6の前記
信号を入力した時点で実行中であつた命令の実行
終了直後にプログラム全体の実行を中断する。 ところで、情報処理装置の性能を向上させるこ
とを考えた場合、従来のこのようなCPUを用い
ていたのでは著しい性能の向上は望めない。
CPUの性能を向上させる方法の1つとして、次
に実行す命令は現在実行中の命令の次の命令であ
る確率が非常に高いというノイマン型の情報処理
装置の特徴を利用した命令先取り方式がある。こ
の命令先取り方式を実現するためにはCPUの内
部に、命令を解読して実行する部分(以下、命令
実行部と称する)と外部メモリからの命令をフエ
ツチし、外部メモリまたはI/Oなどに結果を出
力する部分(以下、バスインターフエース部と称
する)が少なくとも必要である。そして、このバ
スインターフエース部内には、外部メモリからフ
エツチした命令複数個記憶するためのFIFO
(First−In−Firat−Out)構造の複数個のレジス
タ群(以下、命令キユーと称する)が必要とな
る。 第3図はこのような構成を有する命令先取
り方式のCPUの従来例を示すブロツク図である。
CPU10は命令実行部13と、レジスタA,B,
C,D,E,F,G,Hの8つのレジスタから構
成され、書込み、読出しともこの順序に行なわれ
る命令キユー14、命令キユー制御部15、命令
キユー制御部15から出力される命令キユー14
の入出力を制御する制御信号を命令キユー14に
送る制御信号路16からなるインターフエース部
12と命令キユー14の内容を命令実行部13へ
転送するためのデータ信号路17、命令実行部1
3が命令キユー制御部15に対して命令キユー1
4の内容を出力するよう要求する信号を出力する
制御信号路18からなる。外部データバス11の
データ幅はフエツチ動作時の効率を上げるために
最小の命令コードのデータ幅の2倍である。 第4図は、第3図のCPU10について命令実
行部13とバスインターフエース部12およびデ
ータバス11と命令キユー14の状態の1例を示
すタイムチヤートで、このタイムチヤートを参照
しながらCPU10の動作を説明する。 今、命令キユー14のレジスタAとレジスタB
にすでに命令Aのコードが格納されており、命令
実行部13は命令Xを実行中と仮定する。命令キ
ユー14にはまだ空きがあるためにCPU10は
フエツチを行う。不図示のメモリはこのフエツチ
動作でCPU10から出力されたアドレスに対応
した命令BのオペコードBをデータバス11のI
を通して、前記アドレス+1に対応した命令Bの
アドレスフイールドBをデータバス11のを通
してそれぞれ出力する。命令キユー制御部15は
制御信号路16を通して命令キユー14にデータ
バス11上の命令を格納することを指示する制御
信号を送る。この制御信号により命令キユー14
はデータバス11のに送られてきているオペコ
ードBをレジスタCに、データバス11のに送
られてきているアドレスフイールドBをレジスタ
Dにそれぞれ格納する。このフエツチ動作が終了
した時点での命令キユー14の状態を示したのが
第4図の141である。一方、命令実行部13は
前記命令Xの実行が終了すると、制御信号路18
を通して命令キユー制御部15に命令キユー14
の内容を出力することを要求する制御信号を出
す。命令キユー制御部15は命令実行部13から
の制御信号により制御信号路16を通して命令キ
ユー14にレジスタAに格納されているオペコー
ドAをデータ信号路17を通して命令実行部13
に出力するように指示する信号を出力する。命令
実行部13はオペコードAをうけとつた後、命令
Aの残りの部分であるアドレスフイールドAをう
けとるために、制御信号路18を通して命令キユ
ー制御部15に命令キユー14の内容を出力する
ことを要求する信号を出力する。次に、命令実行
部13は前述のようにアドレスフイールドAをう
けとり命令Aを実行する。以下、命令実行部13
は命令B,Cと実行し、命令キユー14内のレジ
スタA〜Gの内容は142,143と変化する。 このように命令先取り方式のCPU10は、命
令キユー4に空きがあり、かつ外部のデータバス
11が空いているときに命令フエツチ動作を行つ
て命令を命令キユー14に格納してゆく。そして
命令キユー14から逐次、命令をとり出して実行
をしてゆく。ここで注意すべき点は、CPU10
はバスインターフエース部12と命令実行部13
が互いに独立しているために命令フエツチ動作で
出力するアドレスと現在実行中の命令のメモリ上
でのアドレスとが一致しないということである。 次に、命令先取り方式のCPU10を用いた情
報処理装置に対して所定のブレークポイントにて
プログラムの実行を中断させることを考えてみ
る。第2図に示した従来のCPUに対して実現さ
れている方式においてCPU1を前記CPU10と
おきかえてブレークを行うものとする。CPU1
0はフエツチ動作を行うためにアドレスバス3に
アドレスを出力する。比較器6はCPU10が制
御信号路8を通して出力するフエツチ動作を示す
信号によりレジスタ5に格納されているブレーク
ポイントと前記アドレスとを比較する、今、前記
ブレークポイントと前記アドレスが一致したとす
ると、比較器6はデータ信号路9を通して前記ブ
レークポイントと前記アドレスが一致したことを
示す信号をCPU10に出力する。CPU10はこ
の信号をうけとると現在実行中の命令終了直後、
プログラムの実行を中断する。しかし前述したよ
うに、現在実行中の命令というのは複数回前のフ
エツチ動作によつてフエツチされた命令であり、
前記ブレークポイントより前のアドレスに格納さ
れていたものである。 以上のように、命令先取り方式のCPU10に
従来のデバツグ方式を適用してブレークを行うと
ブレークポイントより前のアドレスでプログラム
の実行が中断してしまうという問題が生じてしま
う。 〔発明の目的〕 したがつて、本発明の目的は、命令先取り方式
のCPUに対し、所定のブレークポイントにて
CPUの命令の実行シーケンスを確実に中断させ
るプロセツサ制御方式を提供することにある。 〔発明の構成〕 本発明は、一回に複数個の命令コードを先取り
するCPUにおいて、外部から入力される制御信
号を前記CPUの実行シーケンスを制御する、前
記命令コードの各々に対応する制御情報に変換す
る変換手段と、前記各命令コードと対応する前記
制御情報の組を格納するレジスタの複数本によつ
て構成されるレジスタ群と、前記命令コードと前
記制御情報を前記レジスタ群に格納し、FIFO方
式で、かつ一組ずつ出力させる制御手段を設け、
前記レジスタ群からFIFO動作によつて出力され
る前記制御情報により前記CPUの実行シーケン
スを制御することを特徴とする。 〔実施例〕 以下、図面を参照しながら本発明の実施例を説
明する。第5図は本発明のプロセツサ制御方式を
適用したCPUのブロツタ図である。 バスインターフエース制御部22と命令実行部
23からなる、命令先取り方式のCPU20は、
命令キユー制御部24、データ幅が最小である命
令と同じデータ幅のQ0,Q1,Q2,Q3,Q4,Q5,
Q6,Q7の8つのレジスタで構成され、命令の書
き込みと読み出しはともにレジスタQ0,Q1,Q2,
Q3,Q4,Q5,Q6,Q7の順に行われる命令キユー
25、命令キユー25のレジスタQ0,Q1,……,
Q7にそれぞれ対応している8個のビツトT0,
T1,T2,T3,T4,T5,T6,T7で構成されてい
るブレークポイント検出用ビツト群26、命令キ
ユー制御部24から出力される外部データバス
(データ幅が最小である2倍のデータ幅を有する)
21上のデータを命令キユー25内のレジスタ
Q0,Q1,……,Q7に格納することを指示する信
号を命令キユー25に送るための制御信号路2
7、命令キユー制御部24から出力される命令キ
ユー25内のレジスタQ1,Q1,……,Q7の内容
を命令実行部23へ送ることを指示する信号を命
令キユー25に送るための制御信号路28、外部
からのコード化された制御情報をCPU20に入
力するためのデータ信号路29,30、データ信
号路29,30によつて入力された制御情報をデ
コードしてブレークポイント検出用ビツト群26
に書き込む制御情報デコード31からなるインタ
ーフエース部22と、外部からの割込み要求に対
してCPU20の内部を割込み処理が行えるよう
な状態にして、実行中であつたプログラムを所定
の割込み処理プログラムへ分枝させる割込処理部
32、命令キユー25から送られてくる命令を解
続する命令デコーダ33、命令キユー25から出
力される命令を命令デコーダ33へ送るためのデ
ータ信号路34、外部からの割込み要求を示す信
号を入力するためのデータ信号路35、ブレーク
ポイント検出用ビツト群26から出力される制御
情報を送るためのデータ信号路36、制御情報デ
コーダ31から出力される割込み要求を示す信号
を送るためのデータ信号路37、データ信号路3
5,36,37を通して送られてくる信号の論理
和をとつた結果を割込み処理部32へ送るための
データ信号路38、命令実行部23が出力する、
命令キユー25の内容を出力するよう要求する信
号を命令キユー制御部24へ送るための制御信号
路39からなる。 第6図は第5図の制御情報デコーダ31の具体
的回路例である。信号線aは第5図のデータ信号
路29に、信号線bは第5図のデータ信号路30
に、信号線cは第5図のデータ信号線37にそれ
ぞれ対応している。また、信号線dを通して出力
されるデコード結果は、ブレークポイント検出用
ビツトT1,T3,T5,T7のいずれかのビツトに格
納され、信号線eを通して出力されるデコード結
果は、ブレークポイント検出用ビツトT0,T2,
T4,T6のいずれかに格納される。 表−1は本実施例におけるコード化された制御
情報の意味を示している。
【表】
以上説明したように、本発明によれば、命令先
取り方式のCPUに対して所定のブレークポイン
トにおいて確実にプログラムの実行シーケンスを
変えることができ、また、CPUがブレークポイ
ントに格納された命令をフエツチするときフエツ
チ動作のために出力されたアドレスに連続したア
ドレスがブレークポイントであつたとしても、所
定のブレークポイントにおいて確実にプログラム
の実行シーケンスを変えることができる。さら
に、命令実行中のデータの読込み、データの書込
み動作においてもプログラムの実行シーケンスを
変えることができる。
取り方式のCPUに対して所定のブレークポイン
トにおいて確実にプログラムの実行シーケンスを
変えることができ、また、CPUがブレークポイ
ントに格納された命令をフエツチするときフエツ
チ動作のために出力されたアドレスに連続したア
ドレスがブレークポイントであつたとしても、所
定のブレークポイントにおいて確実にプログラム
の実行シーケンスを変えることができる。さら
に、命令実行中のデータの読込み、データの書込
み動作においてもプログラムの実行シーケンスを
変えることができる。
第1図は命令先取り方式を実施例していない従
来のCPUにおけるCPUの動作とこのCPUに接続
されているバスの状態の一例を示すタイムチヤー
ト、第2図は命令先取り方式を実施していない従
来のCPUにおいてブレークポイントにおいてプ
ログラムの実行を中断する方法を示す図、第3図
は命令先取り方式のCPUのブロツク図、第4図
は第3図のCPU10について命令実行部13と
バスインターフエース部12の動作および命令キ
ユー14とデータバス11の状態の一例を示すタ
イムチヤート、第5図は本発明の一実施例に係る
CPUのブロツク図、第6図は第5図の制御情報
デコーダ31の具体的回路例である。 20……命令先取り方式のCPU、21……デ
ータバス、22……バスインターフエース部、2
3……命令実行部、24……命令キユー制御部、
25……命令キユー、26……ブレークポイント
検出用ビツト群、27,28……制御信号路、2
9,30,34,35,36,37,38,39
……データ信号路、31……制御情報デコーダ、
32……割込み処理部、33……命令デコーダ。
来のCPUにおけるCPUの動作とこのCPUに接続
されているバスの状態の一例を示すタイムチヤー
ト、第2図は命令先取り方式を実施していない従
来のCPUにおいてブレークポイントにおいてプ
ログラムの実行を中断する方法を示す図、第3図
は命令先取り方式のCPUのブロツク図、第4図
は第3図のCPU10について命令実行部13と
バスインターフエース部12の動作および命令キ
ユー14とデータバス11の状態の一例を示すタ
イムチヤート、第5図は本発明の一実施例に係る
CPUのブロツク図、第6図は第5図の制御情報
デコーダ31の具体的回路例である。 20……命令先取り方式のCPU、21……デ
ータバス、22……バスインターフエース部、2
3……命令実行部、24……命令キユー制御部、
25……命令キユー、26……ブレークポイント
検出用ビツト群、27,28……制御信号路、2
9,30,34,35,36,37,38,39
……データ信号路、31……制御情報デコーダ、
32……割込み処理部、33……命令デコーダ。
Claims (1)
- 1 最小の長さの命令が有するビツト長を単位命
令コードとして1回に複数個の単位命令コードを
先取りする先取り手段と、1回に先取りされる単
位命令コードの数と同様のレジスタを一組として
これを複数組有する命令キユーと、この命令キユ
ーのレジスタの夫々に対応して設けられた複数の
ブレーク情報格納手段と、1回に先取りされる単
位命令コードの数と同数のブレーク情報入力端子
と、これらブレーク情報入力端子にそれぞれ接続
された複数の信号入力端、これら信号入力端にそ
れぞれ対応する複数の第1の信号出力端および第
2の信号出力端を有し、前記ブレーク情報入力端
子に供給される情報の組合せが特定の組合せのと
きは前記第2の信号出力端にアクテイブレベルを
出力しそれ以外のときはその時の情報を前記第1
の信号出力端にそれぞれ出力する制御情報デコー
ド手段と、前記先取り手段により先取りされた複
数個の単位命令コードを前記命令キユーの所定の
組のレジスタにそれぞれ格納するとともに当該組
のレジスタに対応するブレーク情報格納手段に前
記制御情報デコード手段の前記第1の信号出力端
に得られる情報をそれぞれ格納する手段と、前記
命令キユーの所定のレジスタおよびこれに対応す
るブレーク情報格納手段の内容をそれぞれ読み出
す手段と、当該読み出されたブレーク情報格能手
段の内容がブレーク指示を示すとき又は前記制御
情報デコード手段が前記第2の信号出力端にアク
テイブレベルを出力したときに命令実行部に対し
ブレーク要求を発行する手段とを備えることを特
徴とするプロセツサ制御方式。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59131476A JPS619734A (ja) | 1984-06-26 | 1984-06-26 | プロセツサ制御方式 |
EP85107889A EP0166431B1 (en) | 1984-06-26 | 1985-06-26 | An information processing apparatus having an instruction prefetch circuit |
US06/749,143 US4747045A (en) | 1984-06-26 | 1985-06-26 | Information processing apparatus having an instruction prefetch circuit |
DE8585107889T DE3583973D1 (de) | 1984-06-26 | 1985-06-26 | Informationsverarbeitungsanlage mit instruktionsvorabrufschaltung. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59131476A JPS619734A (ja) | 1984-06-26 | 1984-06-26 | プロセツサ制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS619734A JPS619734A (ja) | 1986-01-17 |
JPH0332818B2 true JPH0332818B2 (ja) | 1991-05-14 |
Family
ID=15058863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP59131476A Granted JPS619734A (ja) | 1984-06-26 | 1984-06-26 | プロセツサ制御方式 |
Country Status (4)
Country | Link |
---|---|
US (1) | US4747045A (ja) |
EP (1) | EP0166431B1 (ja) |
JP (1) | JPS619734A (ja) |
DE (1) | DE3583973D1 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6356732A (ja) * | 1986-08-27 | 1988-03-11 | Nec Corp | マイクロコンピユ−タシステム |
JPS6398737A (ja) * | 1986-10-15 | 1988-04-30 | Mitsubishi Electric Corp | デ−タ処理装置 |
JPS63245525A (ja) * | 1987-03-31 | 1988-10-12 | Toshiba Corp | マイクロプログラム処理装置 |
US5026367A (en) * | 1988-03-18 | 1991-06-25 | Cardiovascular Laser Systems, Inc. | Laser angioplasty catheter and a method for use thereof |
JPH0215340A (ja) * | 1988-07-04 | 1990-01-19 | Fujitsu Ltd | 状態履歴記憶装置の制御方式 |
JP2810068B2 (ja) * | 1988-11-11 | 1998-10-15 | 株式会社日立製作所 | プロセッサシステム、コンピュータシステム及び命令処理方法 |
JPH02234239A (ja) * | 1989-03-08 | 1990-09-17 | Ando Electric Co Ltd | 実行ブレーク制御回路 |
EP0436341B1 (en) * | 1990-01-02 | 1997-05-07 | Motorola, Inc. | Sequential prefetch method for 1, 2 or 3 word instructions |
EP0453268B1 (en) * | 1990-04-20 | 1997-10-22 | Hitachi, Ltd. | A microprocessor for inserting a bus cycle to output an internal information for an emulation |
JPH04177435A (ja) * | 1990-11-08 | 1992-06-24 | Nec Corp | 評価用プロセッサ |
US5479616A (en) * | 1992-04-03 | 1995-12-26 | Cyrix Corporation | Exception handling for prefetched instruction bytes using valid bits to identify instructions that will cause an exception |
JPH07182170A (ja) * | 1993-12-24 | 1995-07-21 | Ricoh Co Ltd | マイクロプロセッサ |
KR100206887B1 (ko) * | 1995-12-31 | 1999-07-01 | 구본준 | 프로그램 오동작 방지를 위한 씨피유 |
US5889981A (en) * | 1996-05-07 | 1999-03-30 | Lucent Technologies Inc. | Apparatus and method for decoding instructions marked with breakpoint codes to select breakpoint action from plurality of breakpoint actions |
US6915416B2 (en) * | 2000-12-28 | 2005-07-05 | Texas Instruments Incorporated | Apparatus and method for microcontroller debugging |
US7386712B2 (en) * | 2003-02-17 | 2008-06-10 | Hewlett-Packard Development Company, L.P. | Firmware developer user interface with break command polling |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS509586A (ja) * | 1973-05-29 | 1975-01-31 | ||
JPS56127247A (en) * | 1980-03-11 | 1981-10-05 | Toshiba Corp | Operation controller |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3401376A (en) * | 1965-11-26 | 1968-09-10 | Burroughs Corp | Central processor |
US3551895A (en) * | 1968-01-15 | 1970-12-29 | Ibm | Look-ahead branch detection system |
US3577190A (en) * | 1968-06-26 | 1971-05-04 | Ibm | Apparatus in a digital computer for allowing the skipping of predetermined instructions in a sequence of instructions, in response to the occurrence of certain conditions |
US3764988A (en) * | 1971-03-01 | 1973-10-09 | Hitachi Ltd | Instruction processing device using advanced control system |
US4106090A (en) * | 1977-01-17 | 1978-08-08 | Fairchild Camera And Instrument Corporation | Monolithic microcomputer central processor |
US4298933A (en) * | 1978-07-08 | 1981-11-03 | Tokyo Shibaura Denki Kabushiki Kaisha | Data-processing device including means to suppress the execution of unnecessary instructions |
US4438492A (en) * | 1980-08-01 | 1984-03-20 | Advanced Micro Devices, Inc. | Interruptable microprogram controller for microcomputer systems |
JPS58189739A (ja) * | 1982-04-30 | 1983-11-05 | Hitachi Ltd | デ−タ処理システム |
US4498136A (en) * | 1982-12-15 | 1985-02-05 | Ibm Corporation | Interrupt processor |
-
1984
- 1984-06-26 JP JP59131476A patent/JPS619734A/ja active Granted
-
1985
- 1985-06-26 US US06/749,143 patent/US4747045A/en not_active Expired - Lifetime
- 1985-06-26 DE DE8585107889T patent/DE3583973D1/de not_active Expired - Fee Related
- 1985-06-26 EP EP85107889A patent/EP0166431B1/en not_active Expired
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS509586A (ja) * | 1973-05-29 | 1975-01-31 | ||
JPS56127247A (en) * | 1980-03-11 | 1981-10-05 | Toshiba Corp | Operation controller |
Also Published As
Publication number | Publication date |
---|---|
JPS619734A (ja) | 1986-01-17 |
EP0166431B1 (en) | 1991-09-04 |
US4747045A (en) | 1988-05-24 |
EP0166431A3 (en) | 1987-05-27 |
EP0166431A2 (en) | 1986-01-02 |
DE3583973D1 (de) | 1991-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4090238A (en) | Priority vectored interrupt using direct memory access | |
US4879646A (en) | Data processing system with a pipelined structure for editing trace memory contents and tracing operations during system debugging | |
KR100588790B1 (ko) | 데이터처리기에서의후속명령처리에작용하는방법및장치 | |
US5717952A (en) | DMA controller with mechanism for conditional action under control of status register, prespecified parameters, and condition field of channel command | |
EP1324190B1 (en) | Data processing system having a read-modify-write unit | |
JPH0332818B2 (ja) | ||
JPH0636515B2 (ja) | 通信プロセッサ装置 | |
KR100875377B1 (ko) | 처리 시스템에서 스택 팝 및 푸쉬 동작들을 수행하는 장치 및 방법 | |
JPS61109147A (ja) | 命令フェッチ及び実行制御方法 | |
US6581120B1 (en) | Interrupt controller | |
JPH04140880A (ja) | ベクトル処理装置 | |
EP0123337A2 (en) | A method and apparatus for coordinating execution of an instruction by a coprocessor | |
US4758950A (en) | Method and apparatus for selectively delaying an interrupt of a coprocessor | |
EP0010196B1 (en) | Control circuit and process for digital storage devices | |
US4967339A (en) | Operation control apparatus for a processor having a plurality of arithmetic devices | |
EP0385136B1 (en) | Microprocessor cooperating with a coprocessor | |
US5455918A (en) | Data transfer accelerating apparatus and method | |
US5287522A (en) | External procedure invocation apparatus utilizing internal branch vector interrupts and vector address generation, in a RISC chip | |
US4807178A (en) | Programmable sequence controller having indirect and direct input/output apparatus | |
US5278840A (en) | Apparatus and method for data induced condition signalling | |
US5440689A (en) | Interprocessor communication system for direct processor to processor communication between internal general purpose registers transparent to the execution of processors thereof | |
US5050076A (en) | Prefetching queue control system | |
JPS58115565A (ja) | デ−タ処理装置 | |
JP2616542B2 (ja) | 疑似障害発生システム | |
CA1303745C (en) | Apparatus and method for data induced condition signaling |