JPH03201135A - マイクロプロセッサ - Google Patents

マイクロプロセッサ

Info

Publication number
JPH03201135A
JPH03201135A JP1340759A JP34075989A JPH03201135A JP H03201135 A JPH03201135 A JP H03201135A JP 1340759 A JP1340759 A JP 1340759A JP 34075989 A JP34075989 A JP 34075989A JP H03201135 A JPH03201135 A JP H03201135A
Authority
JP
Japan
Prior art keywords
circuit
operand
instruction
address
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP1340759A
Other languages
English (en)
Inventor
Takahiro Watabe
隆弘 渡部
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP1340759A priority Critical patent/JPH03201135A/ja
Publication of JPH03201135A publication Critical patent/JPH03201135A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 産皇上生机里公立 本発明は、パイプライン制御を行なうマイクロプロセッ
サに関し、特にそのようなマイクロプロセッサにおける
プログラムのデバッグに有効な改良に関する。
従」凶1直 開発直後のプログラムは多数の誤りを内蔵するのが普通
であり、これを取り除く必要がある。この作業をデバッ
グという、プログラムをデバッグする技術として従来は
特開昭62−179033号公報に開示されたものがあ
る。
これはプログラムのデバッグを行なうために、プロセッ
サ内部にオペランドアクセスに関するブレークポイント
による割込みを生じるアドレスを格納するレジスタを設
け、ブレークポイントによる割込みをプロセッサ内部に
おいて発生させる手法である。
(°5 ところで開発されるプログラムが複雑化するとそれに伴
ってデバッグのためのブレークポイントの数も増やす必
要が生じるが、多くのブレークポイントを設定すると実
時間における動作と大きく異なった動作を行う可能性が
あり、有効なデバッグが行えないこともあるし、また、
近年のようにプロセッサに実装する機能が増大してくる
と、プロセッサ内部にブレークポイントによる割込みを
生じさせるためのレジスタを多く設けることが困難にな
るという課題がある。
このような課題に対してプロセッサ外部にオペランドア
クセスに対するブレークポイントによる割込みを生じさ
せる回路を付加することが考えられるが、データ処理能
力を高めるためにパイプライン制御を行なっているマイ
クロプロセッサにおいては、オペランドの読出し又は書
き込みが命令の実行とは独立して行われているため、外
部回路から任意の命令に対してブレークポイントによる
割込みを生じさせることができないといった問題がある
本発明は上記点に鑑み、パイプライン制御を行うマイク
ロプロセッサにおいて、任意の命令に対してブレークポ
イントによる割込みを発生させることのできる回路をプ
ロセッサ外部に構築することを可能とし、しかも実時間
動作に近い状況においてデパックを可能とすることを目
的としている。
!   ”るための 上記目的を達成するため、本発明はパイプライン制御を
行なうマイクロプロセッサであって、アクセスするオペ
ランドのアドレス計算を行なうアドレス演算手段と、オ
ペランドに対応する命令を実行する命令実行手段と、ア
ドレス演算手段から出力されたオペランドアドレスが所
定範囲のアドレスであるかどうか判定する判定手段と、
この判定結果によりオペランドアドレスが所定範囲のア
ドレスであった場合、そのオペランドをアクセスする命
令の実行が終了した時点で命令実行手段の動作を停止さ
せる停止手段と、前記命令によるオペランドアクセスが
終了したとき、前記命令実行手段の動作を再開させ次命
令の実行を開始する開始手段とを備えてなることを特徴
としている。
生−一一且 上記構成によれば、オペランドアドレスが所定範囲のア
ドレスであった場合、そのオペランドアドレスに対応す
る命令の実行が終了した時点で命令実行手段の動作を停
止させ、次の命令の処理を行わないで待機する。このと
き既に処理した命令に関するオペランドアクセスが続行
されているので、外部においてそれを監視し、ブレーク
ポイントによる割込みを生じさせるオペランドに対して
アクセスが行われた際には外部割込要求を行なうことに
よりオペランドをアクセスする命令の終了時点での割込
の発生を可能とする。一方、ブレークポイントによる割
込みを生じさせる必要のないオペランドに対するアクセ
スの場合には、外部割込みを行わないことにより、オペ
ランドアクセスが終了した時点で自動的に命令実行手段
が動作を再開し、次命令の処理を実行する。
裏−一胤−−班 第1図は本発明の一実施例におけるマイクロプロセッサ
の構成を示すものである。第1図において、lはパイプ
ラインの制御を行なうパイプライン制御回路、2はイン
ストラクション(オペレーションコ;ドとオペランドか
ら戒っている。〉のフェッチを行なうインストラクショ
ンフェッチ回路、3は前記インストラクションフェッチ
回路2においてフェッチされたインストラクションのデ
コードを行なうデコード回路、4はデコード回路4にお
いてインストラクションをデコードした結果に基づいて
アクセスするオペランドのアト、レスを計算するオペラ
ンドアドレス計算回路、5はデコード回路4においてイ
ンストラクションをデコードした結果に基づいて命令を
実行する命令実行回路、6は命令実行回路5の実行結果
を図外のメモリに格納するオペランドライト回路、7は
前記アドレス計算回路4から出力されるオペランドアド
レスがブレークポイントを設定することを希望する範囲
(所定範囲)のアドレスであるかどうか判定する判定手
段、101103.105.107.109は前記各回
路での処理が終了し各回路が空いている事をパイプライ
ン制御回路1に通知するステージ状態信号、102.1
04.106.108.110はパイプライン制御回路
1が前記各回路に対して次命令の実行を停止させるため
のホールド信号、200はストア要求信号である。
前記判定手段7は基準アドレスを格納したレジスタ(以
下、ARという)11と、マスク情報を格納したレジス
タ(以下、MRという)12と、マスク回路13と、比
較回路14とからなる。ARllはブレークポイントを
設定することを希望する範囲の基準となるアドレスを格
納する。例えば、オペランドアドレスが5ビツトで表わ
され、ブレークポイントを設定することを希望する範囲
がオペランドアドレスのr10000J〜「10111
」の範囲であったとすると、ARに格納する基準アドレ
スはrlooooJとされる。
一方、MR12に格納されるマスク情報はオペランドア
ドレスの下位3ビツトをマスクするための情報としてr
llooOJが用いられる。マスク回路13は、オペラ
ンドアドレス計算回路4から出力されるオペランドアド
レスと前記MR12から出力されるマスク情報とを各ビ
ット毎に論理積をとる回路であり、マスク情報が上記の
ように上位2ビツトのみrlJの場合は、マスク回路1
3からはオペランドアドレスの上位2ビツトのみそのま
ま出力される。比較回路14はARIIの格納する基準
アドレスとマスク回路13の出力データとを比較し、両
者が一致すれば一致信号を発する。上記例の場合、基準
アドレスがrloo。
O」であるので、マスク回路13から同じデータが出力
されたとき、比較回路14が一致信号を発する。ここで
、マスク回路13がrl 0000Jの出力を発するの
はオペランドアドレスが「10000」〜r10111
Jの間であり、その間は一致信号が発されることになる
15は前記−敗信号を有効にすることを指示するイネー
ブルピント(以下、Eビットという)を保持するレジス
タ(以下、CRという)である。
第2図は上記マイクロプロセッサにおいてCR15のイ
ネーブルビットをOにした場合の動作、或いはイネーブ
ルビットが1であってもオペランドアドレスが所定範囲
外のアドレスで判定手段から一致信号が出力されない場
合の動作を示しており、これは判定手段7をもたない一
般的なマイクロプロセッサのパイプライン制御動作に等
しい。
第2図においてIFはインストラクションフェッチステ
ージを、DECはデコードステージを、OAはオペラン
ドアドレス計算ステージを、EXloFは命令実行ステ
ージとオペランドのフェッチステージを、OWはオペラ
ンドのライトステージを、N−N+3は処理される各イ
ンストラクション(命令)をあられす。IF、DEC,
OA、EXloF、OWの各ステージは、第1図におい
てそれぞれインストラクションフェッチ回路2、デコー
ド回路3、オペランドアドレス計算回路4、命令実行回
路5、オペランドライト回路6が行う処理に対応する。
尚、本実施例においてはオペランドのフェッチと命令の
実行はEX10Fステージにおいて排他的に行われてい
る。
第2図に基づいてパイプライン制御動作を説明する。先
ず、インストラフシタフェッチステージIFにおいてイ
ンストラクションがフェッチされると、そのインストラ
クションはデコードステージDECに送られデコードさ
れる。デコードステージDECはデコード結果に基づき
オペランドアドレス計算回路4、命令実行回路5、オペ
ランドライト回路6を制御する。即ち、オペランドアド
レス計算ステージOAにおいてオペランドアドレスが計
算され、そのアドレスによりオペランドのフェッチがな
され、フェッチされたオペランドは命令実行ステージE
Xにて処理される。実行結果をメモリに書き込む場合は
、実行結果がオペランドライトステージOWに送られ図
外メモリへの書き込みが実行される。
上記各ステージがインストラクションNに基づく処理を
終えて、次ステージへ送出すると、すぐ次のインストラ
クションN+1に基づく処理を開始する。こうして、各
サイクルにおいてステージ毎に夫々別のインストラクシ
ョンに基づく処理を行うこととなり、高速でデータ処理
が可能となる。
ところで、上記説明はパイプライン制御の一般的な動作
であるが、ここでCR15のイネーブルビットが1にな
っており、しかもオペランドアドレス計算回路4から所
定範囲のオペランドアドレスが出力された場合には、上
記と異なり判定手段7から一致信号114がパイプライ
ン制御回路1へ与えられるので、オペランドアクセスが
終了するまでオペランドアクセスを行なった命令の次命
令の実行を待たせることになる。
次にこの動作を詳述する。先ず、パイプライン制御回路
1はデコード回路3より命令実行回路5において処理さ
れる命令の処理結果のストアがあることをインストラフ
シランデコード時にストア要求信号200により受は取
っており、その情報を前記命令が命令実行回路5に到達
するまで保持している。そして、この情報と共に、CR
15のイネーブルビットと判定手段7からの一致信号1
14とを受は取ると、パイプライン制御回路はホールド
信号108を有効にする。命令実行回路5はこのホール
ド信号108によって次の命令の実行を停止する。この
停止はオペランドライト回路6が図外メモリにオペラン
ドの書き込みを終了し、オペランドライト回路6がエン
プティになってステージ状態信号109が無効から有効
に転じるまで続く。このとき、オペランドライト回路6
から出力されるオペランド信号をマイクロプロセッサ外
部から監視し、ブレークポイントによる割込みを生じさ
せる場合は、マイクロプロセッサに外部割込要求を行う
ことによって、マイクロプロセッサの処理をオペランド
ライト回路6のオペランドアクセスが完了した時点で中
断させる。
一方、ブレークポイントによる割込みを生じさせない場
合は、オペランドライト回路6が前記オペランドの書き
込みを完了しステージ状態信号109が有効となること
によって、命令実行回路5が次命令の実行を開始する。
第3図に上記動作例のタイミングチャートを示す。
第3図においてt1〜t7はマシンサイクルを、N−N
+4は処理される各インストラクションをあられす、イ
ンストラクションNにおけるOAXステージおいて計算
されたオペランドアドレスがサイクルt3において出力
され、そのアドレスがMR12の内容に従ってマスクさ
れ、このマスク結果とARIIの内容と比較され、一致
結果114がサイクルt4において出力される。CR1
5のイネーブルビットがセントされているため、サイク
ルt5においてEXステージのホールド信号10Bが出
力され、t4においてインストラクションNに基づく命
令の処理を実行したEXステージの処理はOWステージ
が終了するまでインストラクションN+1に基づく命令
(以下、N+1命令という)の実行を停止され、N+1
命令はOAXステージおいてホールドされる。サイクル
t6においてOWステージが空になったことを示すステ
ージ状Li信号109が有効となることによって、EX
ステージのホールド信号10Bが無効となるサイクルt
7よりN+1命令に対する処理がEXステージにおいて
開始する。サイクルt5〜t6においてN+1命令の実
行が待たされいる間に、オペランドライトが行われる。
この時、マイクロプロセッサの外部においてブレークポ
イントによる割込みを生じさせるかどうかを判断し、ブ
レークポイントによる割込みを生じさせる場合はサイク
ルt6までにマイクロプロセッサに対し外部割込み要求
を行なうことによって、マイクロプロセッサは該オペラ
ンドライトが完了した時点において命令の処理を中断す
る。
以上のように本構成のマイクロプロセッサによれば、所
定のアドレスの範囲内に対するオペランドアクセスが終
了するまで次命令の実行を待たせることが可能となり、
所定のオペランドに対してアクセスを行った命令の実行
が終了するまでに外部割込み要求を行なう事ができる。
従って、プロセッサ外部にブレークポイントによる割込
みを発生する回路を構築することが可能であり、また、
マイクロプロセンサ内部と異なりサイズの制限を受ける
ことなく多くのブレークポイントによる割込みを発生す
る回路を実現できる。
又、常時オペランドアクセスが終了するまでオペランド
アクセスを行った命令の次命令の実行が開始出来なけれ
ば、実時間における動作と大きく異なった動作を行なう
可7能性があり、有効なデバッグを行えない可能性があ
るが、本実施例では指定範囲外のオペランドアクセスを
行った場合には、オペランドアクセスの終了を待つこと
なく次命令を開始することができ、実時間動作に近い状
況においてデバッグが可能となる。
なお、実施例において命令実行回路が停止する条件をオ
ペランドライト時だけに限定したが、オペランドライト
を行なう命令の次命令、或いはオペランドライトまたは
、オペランドフェッチの何れかを行なう命令の次命令の
実行を停止するようにしてもよい。
発咀生並来 以上説明したように、本発明によれば、判定手段により
所定範囲内のオペランドアクセスである 4゜ことを検
出し、オペランドをアクセスする命令の次の命令の実行
をオペランドアクセスが終了するまで待たせるものであ
るから、プロセッサ外部においてオペランドアクセスを
監視して、ブレークポイントによる割込みを生じさせる
オペランドに対するアクセスが行われた際に外部割込要
求を行ってオペランドをアクセスする命令の終了時点で
処理を中断することができる。このため、マイクロプロ
セッサ内部にブレークポイントによる割込みを発生させ
るレジスタを設けるという従来手段に比べてより多くの
オペランドアクセスに対してブレークポイントによる割
込みを外部回路において発生できるという効果がある。
加えて、命令の実行を停止させる範囲を所定の範囲に制
限しているので、パイプライン制御の流れを大きく乱す
ことなく、実時間動作に近い状態でのプログラムのデバ
ッグを行なうことができ、プログラム開発における効率
の向上に貢献し、その実用的効果は頗る大である。
【図面の簡単な説明】
第1図は本発明における一実施例のマイクロプロセッサ
の構成国、第2図は同実施例の基本パイプライン動作を
示すタイミング図、第3図は同実施例においてブレーク
ポイントによる割込みが発生した場合の動作例を示すタ
イミング図である。 第1図 1・・・パイプライン制御回路、2・・・インストラク
ションフェッチ回路、3・・・デコード回路、4・・・
オペランドアドレス計算回路、5・・・命令実行回路、
6・・・オペランドアドレス回路、7・・・判定手段、
ll・・・AR,12・・・MR,13・・・マスク回
路、14・・・比較回路、15・・・CR

Claims (1)

    【特許請求の範囲】
  1. (1)パイプライン制御を行なうマイクロプロセッサで
    あって、 アクセスするオペランドのアドレス計算を行なうアドレ
    ス演算手段と、 オペランドに対応する命令を実行する命令実行手段と、 アドレス演算手段から出力されたオペランドアドレスが
    所定範囲のアドレスであるかどうか判定する判定手段と
    、 この判定結果によりオペランドアドレスが所定範囲のア
    ドレスであった場合、そのオペランドをアクセスする命
    令の実行が終了した時点で命令実行手段の動作を停止さ
    せる停止手段と、 前記命令によるオペランドアクセスが終了したとき、前
    記命令実行手段の動作を再開させ次命令の実行を開始す
    る開始手段と、 を備えてなるマイクロプロセッサ。
JP1340759A 1989-12-28 1989-12-28 マイクロプロセッサ Pending JPH03201135A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1340759A JPH03201135A (ja) 1989-12-28 1989-12-28 マイクロプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1340759A JPH03201135A (ja) 1989-12-28 1989-12-28 マイクロプロセッサ

Publications (1)

Publication Number Publication Date
JPH03201135A true JPH03201135A (ja) 1991-09-03

Family

ID=18340039

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1340759A Pending JPH03201135A (ja) 1989-12-28 1989-12-28 マイクロプロセッサ

Country Status (1)

Country Link
JP (1) JPH03201135A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05204709A (ja) * 1992-01-24 1993-08-13 Mitsubishi Electric Corp プロセッサ
US8297120B2 (en) 2007-08-31 2012-10-30 Rohm Co., Ltd. Angular velocity signal detection circuit and angular velocity signal detection method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05204709A (ja) * 1992-01-24 1993-08-13 Mitsubishi Electric Corp プロセッサ
US8297120B2 (en) 2007-08-31 2012-10-30 Rohm Co., Ltd. Angular velocity signal detection circuit and angular velocity signal detection method

Similar Documents

Publication Publication Date Title
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
JPH0215369A (ja) ベクター処理システムの命令を実行する方法及び装置
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
JP2734468B2 (ja) プロセッサ
JPH1021074A (ja) 割り込み制御方式、プロセッサ及び計算機システム
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
US4914578A (en) Method and apparatus for interrupting a coprocessor
JPH0728670A (ja) 情報処理装置
JPH0810437B2 (ja) 仮想計算機システムのゲスト実行制御方式
JPH03201135A (ja) マイクロプロセッサ
JP2710994B2 (ja) データ処理装置
US4758978A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
US5787276A (en) Microprocessor including circuit for generating signal used for tracing executed instruction stream
JP2808757B2 (ja) デバッグ用マイクロプロセッサ
JP3762608B2 (ja) 計算機とその制御方法
JPH0250259A (ja) ベクタープロセッサによって非同期メモリ管理例外を取り扱う方法及び装置
JP5012562B2 (ja) マイクロコンピュータ
JPS60124746A (ja) デ−タ処理装置
JP2572821B2 (ja) 命令再実行による演算処理方式
US4811274A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPH0248739A (ja) デバッグ用マイクロプロセッサ
JPS61214030A (ja) 演算処理装置
JPH0259829A (ja) マイクロコンピュータ
JPS6349941A (ja) 演算処理装置
JPH03296832A (ja) マイクロプロセッサ