JP3088129B2 - マイクロプロセッサ - Google Patents
マイクロプロセッサInfo
- Publication number
- JP3088129B2 JP3088129B2 JP03124242A JP12424291A JP3088129B2 JP 3088129 B2 JP3088129 B2 JP 3088129B2 JP 03124242 A JP03124242 A JP 03124242A JP 12424291 A JP12424291 A JP 12424291A JP 3088129 B2 JP3088129 B2 JP 3088129B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- bus
- cycle
- state
- microprocessor
- 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
- 230000004044 response Effects 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 2
- 238000000034 method Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 13
- 238000012546 transfer Methods 0.000 description 11
- 239000000872 buffer Substances 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000007704 transition Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000004913 activation Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 230000003213 activating effect Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 3
- 239000000725 suspension Substances 0.000 description 2
- 238000010408 sweeping Methods 0.000 description 2
- 206010048669 Terminal state Diseases 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007562 laser obscuration time method Methods 0.000 description 1
- 238000012544 monitoring process Methods 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/22—Microcontrol or microprogram arrangements
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30079—Pipeline control instructions, e.g. multicycle NOP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
- G06F11/364—Software debugging by tracing the execution of the program tracing values on a bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
-
- 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/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Microcomputers (AREA)
- Advance Control (AREA)
Description
は一時的な停止を行う命令機能を有するマイクロプロセ
ッサの状態通知に関する。
命令実行を中断、あるいは一時的に停止し、以降の命令
実行処理を先に進めないための命令を持つことがある。
例えばインテル(Intel)社の32ビット・マイク
ロプロセッサi80386におけるHALT(ホール
ト)命令である。このHALT命令は、HALT命令以
降に記述された命令列の実行を先に進めず、マイクロプ
ロセッサの内部状態を保持する機能を持つ。この保持状
態は、ホールト状態と呼ばれる。ホールト状態は、リセ
ット、ノンマスカブル割込み、あるいはマスカブル割込
み等の外部端子が活性化されることで解除される。
T命令以外の命令を実行している場合と同様に、マイク
ロプロセッサは初期化される。一方、ノンマスカブル割
込みあるいはマスカブル割込み要求が活性化された場合
は、HALT命令以外の命令を実行している場合と同様
に、割込み処理が行われる。割込み処理は、通常命令の
実行が終了した時点で受け付けられるが、ホールト状態
では割込み要求に対してただちに受け付けられる。
は、割込みが受け付けられるといくつかのレジスタ資源
の状態(PC:プログラム・カウンタ、CS:コード・
セグメント・レジスタ、PSW:プログラム・ステータ
ス・ワード)が、メモリ上のスタック領域に自動的に退
避される。これらの退避は、割込み処理が終了した場合
にHALT命令が配置されていたアドレスに引続いて配
置されている命令から、新たな命令列の実行を再開する
ために行われる。
ッサの動作停止/中断命令は以下の目的で使用される。
セッサの停止。
(リアルタイム)処理のための待合せ。
るデバッグ。
に対してバス・サイクルの起動等の端子状態の変化が起
こらなくなるため、プログラムのデバッグ段階では命令
列のどの位置でホールト状態に遷移したかを検出する必
要がある。
は、ホールト状態に遷移することをホールト表示サイク
ル(HALT Indication Cycle)と
いう特殊なバス・サイクルを起動することで認識され
る。ホールト表示サイクルは、メモリやI/O(入出力
装置)をアクセスするためのバス・サイクルと区別する
ために、バス・サイクルの種類を認識するためのステー
タス信号(BE#3−BE#0)に特定の値(1011
b)を持つ。
子をマイクロプロセッサが起動するライト系と、高イン
ピーダンス(Hi−Z)状態に保つリード系がある。i
80386マイクロプロセッサのホールト表示サイクル
は、ライト系のバス・サイクルでありアドレス・バス端
子(A31−A2)にはオール0がドライブされるとと
もに、データ・バス端子(D31−D0)には不定値が
ドライブされる。
知する方法として、モトローラ(Motorola)社
の16ビット・マイクロプロセッサMC68000の方
式がある。MC68000マイクロプロセッサでは、ホ
ールト状態を示す専用の端子HALTを持ち、マイクロ
プロセッサがHALT状態に遷移すればこの端子を活性
化する。HALT端子は入出力端子であり、出力端子と
してホールト状態を示す他、非ホールト状態で入力端子
として外部から活性化することで、マイクロプロセッサ
を強制的にホールト状態に一時的に遷移させることがで
きる。
なバス・サイクルは起動されない。
含むプログラムをデバッグする場合、これらの命令が実
行された時点のマイクロプロセッサのレジスタ資源ある
いは内部状態を知る必要がある。
は、命令列がどこまでも処理されたかを示すプログラム
・カウンタである。命令フェッチのためのメモリ・リー
ド・サイクル(フェッチ・サイクル)に出力されるアド
レス・バス端子の状態を監視することにより、プログラ
ム実行のある程度の流れを知ることはできる。
ALT端子の活性化の直前に発行されたフェッチ・サイ
クルのアドレス・バス端子の状態を記憶することで、動
作停止/中断命令が実行されたアドレスの範囲を推測で
きる。
るアドレス・バス端子の状態は、以下の場合に正しく動
作停止/中断命令が実行されたアドレスを特定できな
い。
ドレスまで特定するに十分でない場合。
は、プログラム・カウンタは32ビット幅であるのに対
し、アドレス・バス端子はワード・アドレス(32ビッ
ト単位データ)を特定するための30ビット幅(A31
−A2)である。このため、ワード・アドレス内のどの
バイトに配置されたHALT命令によってホールト状態
に遷移したかを知ることができない。
処理を行う場合。
命令をいくつかの処理(ステージ)に分割して、同時に
複数の命令処理を行うパイプライン処理が採用される場
合である。代表的なパイプライン・ステージとしては、
1)命令コード・フェッチ、2)命令デコード、3)メ
モリ・オペランドの実効アドレス計算、4)(仮想記憶
方式を採用した場合)仮想アドレスから物理アドレスへ
のアドレス変換、5)オペランドの読出し、6)命令実
行、7)結果の格納、で構成される。
ジが採用された場合、“命令コード・フェッチ”は実際
に一連の命令処理が終了する“結果の格納”に対し、数
命令分先行することになる。したがって、ホールト表示
サイクルの発行あるいはHALT端子の活性化が外部で
検知された時点に対し、直前のフェッチ・サイクルで示
されるアドレスは、ホールト状態に遷移した命令のアド
レスに対して、進んでしまうことになり補正が必要にな
る。
ステージの処理時間が異なるため、フェッチ・サイクル
が先行している命令数を特定することはできない。
る場合。
・キャッシュを持つマイクロプロセッサ(ex.i80
486マイクロプロセッサ)の場合、命令列が命令コー
ド・キャッシュに格納されている間(ヒットしている場
合)、外部メモリに対する命令フェッチを行わず(フェ
ッチ・サイクルを起動せず)、命令コード・キャッシュ
から命令コードを供給する。
トしている間にホールト状態に遷移した場合、アドレス
検出に関して直前のフェッチ・サイクルはまったく意味
の無い値を持つことになる。
ッサは、命令実行の中断あるいは一時的な停止を行う命
令機能を有するマイクロプロセッサにおいて、前記命令
を検出しバス・サイクルを発生する手段、前記バス・サ
イクルに同期して、特定のステータス信号を出力する第
一の出力手段、およびプログラム・カウンタの内容をア
ドレス・バスに出力する第二の出力手段を有している。
あるいは一時的な停止を行う命令機能を有するマイクロ
プロセッサにおいて、前記命令を検出しバス・サイクル
を発生する手段、前記バス・サイクルに同期して、特定
のステータス信号を出力する第一の出力手段、およびプ
ログラム・カウンタの内容をデータ・バスに出力する第
二の出力手段を有するマイクロプロセッサが得られる。
バス・サイクルの発生手段によって発生されたバス・サ
イクルに同期してプロセッサ・ステータス・ワードの内
容をデータ・バスに出力する第三の出力手段を持つこと
を特徴とする。
命令としてHALT命令を持つマイクロプロセッサ10
0の構成を示す図面である。
イン処理を行うために、命令フェッチ・ユニット(以下
IUと称する)101、命令デコード・ユニット(以下
DUと称する)102、命令実行ユニット(以下EUと
称する)103、実効アドレス計算ユニット(以下AU
と称する)104、バス・サイクル制御ユニット(以下
BUと称する)105を持つ。この他にIU101、D
U102、EU103のそれぞれが処理している命令の
アドレスをそれぞれ保持する32ビット幅のプログラム
・カウンタPCIU 111,PCDU 112,PC
EU113を持つ。
制御、およびフェッチ・サイクルで外部より取り込んだ
命令コードを蓄積する。命令コード・キャッシュを含む
ような構成を考えられる。命令コードは、16ビット長
あるいは32ビット長のいずれかである。
令コードをデコードし、個々の命令に特有な処理を示す
信号を発生させる。DU102で発生された信号は、図
面では一部省略されているがその他の各ユニットに対す
る動作指示信号として与えられる。
用レジスタ、32ビット幅の演算装置を含み、DU10
2によって指定された命令実行処理を行う。その内部制
御はハードワイアド論理によるもの、マイクロプロセッ
サを用いたもの等が考えられる。
はI/Oに対するアクセスを含む命令であることを検知
すると、オペランドに対するアドレスを計算する。アド
レス計算に使用される要素は、命令コード中に含まれる
ディスプレースメント値、あるいは汎用レジスタの値が
用いられる。前者はIU101から、後者はEU103
から供給される。
るアドレス情報、データ情報、および起動要求に基づい
て、外部バス・サイクルを発生する。バス・サイクルで
外部から読み込まれたデータは、命令コードはIU10
1に、オペランド・データはEU103に供給される。
ス構造で内部接続される。
01とDU102間は命令コードを転送するために、A
U104とIU101間、およびAU104とEU10
3間はアドレス計算に使用されるアドレス要素を転送す
るために、EU103とBU105間はリード・オペラ
ンドまたはライト・オペランドを双方向的に転送するた
めに、AU104とBU105間は実効アドレスを転送
するために、PCIU111,PCDU 112,PC
EU 113とBU間はオペランド・アクセス以外のバ
ス・サイクルで使用するアドレスを転送するために、E
U103とBU105の間は任意のバス・サイクルで使
用するアドレスを転送するために接続される。
起動要求はFREQ信号、DU102からのものはOP
REQ信号、EU103からのものはACREQ信号で
表現される。これらの要求信号は、実際にはバス・サイ
クルの種類を表現するための複数の信号、およびタイミ
ングを規定する信号等の複数の信号によって構成され
る。
能について詳しく説明する。
31ビットのハーフワード・アドレス(16ビット単位
アドレス)を出力するアドレス・バス端子A31−A1
121、32ビット・データの授受を行うデータ・バ
ス端子D31−D0 122、バス・サイクルの種類を
示すステータス信号ST2−ST0、バス・サイクルの
開始タイミングを示す信号BCYST(−)、リード系
/ライト系のバス・サイクルを識別する信号R/W
(−)を出力する出力端子群123,124,125、
バス・サイクルの終了を外部から通知する信号READ
Y(−)を入力する端子を持つ。ここで、(−)は負論
理信号であることを示す。
セッサ100のクロック入力端子127に加えれる基準
クロック信号CLKに同期した2つのステートで構成さ
れる。第一のステートT1の先頭ではアドレス・バス端
子A31−A1 121、およびステータス信号ST2
−ST0、および識別信号R/W(−)用の出力端子1
23,125がドライブされる。また、T1ステート期
間中、タイミング信号BCYST(−)用出力端子12
4が活性化される。ライト系のバス・サイクルでは、T
1ステートの中央で書込のためのデータがデータ・バス
端子D31−D0 122にドライブされる。
ADY(−)端子126の状態がサンプリングされ、活
性化されていればバス・サイクルは完了し、アイドル・
ステートT1に遷移する。通知信号READY(−)端
子126が活性化されていない場合、再度T2ステート
が繰り返される。
2ステートの終了時にデータ・バス端子D31−D0
122上のデータがマイクロプロセッサ100にサンプ
リングされる。
の状態は、第三図に示したようにバス・サイクルの種類
を識別する。メモリ・アクセスやI/Oアクセスの他
に、ホールト状態に遷移したことを通知する“ホールト
表示”のためのバス・サイクルが定義される。
ェッチ・サイクルの起動を要求すれば、PCIU 11
1が含むアドレスがBU105に転送され、ST2−S
T0端子123に011bを出力するリード系のバス・
サイクルが起動される。バス・サイクルの終了時にデー
タ・バス端子D31−D0 122の状態がサンプリン
グされ、IU101に転送される。
/Oのリード等のリード・オペランド(シングル)が必
要なことが検知されると、EU103による実行処理に
先立ってAU104で実効アドレスが計算された上でB
U105に転送され、ST2−ST0端子123に01
0bまたは110bを出力するリード系のバス・サイク
ルが起動される。バス・サイクルの終了時にデータ・バ
ス端子D31−D0122の状態がサンプリングされ、
EU105に転送される。
/Oライト等のライト・オペランド(シングル)が必要
なことが検知されると、EU103による実行処理に先
立ってAU104で実効アドレスが計算された上でBU
105に転送される。EU105で実行処理を終了する
際に、EU103からBU105に対してオペランド・
データが転送されるとともにライト系バス・サイクルの
起動が要求される。データ・バス端子D31−D0 1
22にオペランド・データを、ST2−ST0端子12
3に010bまたは110bを出力するライト系のバス
・サイクルが起動される。
要とする命令(ex.文字列操作命令)等では、ストリ
ング系オペランドのアクセスが行われる。この場合、バ
ス・サイクルで必要なアドレスは命令実行処理段階の中
途でEU103からBU105に対して転送されるとと
もに、EU103から直接BU105に対してST2−
ST0端子123に001bを出力するバス・サイクル
の起動要求が発行される。データ・バス端子D31−D
0 122とやりとりされるオペランド・データの授受
は、EU103とBU105の間で行われる。
力するバス・サイクル(マシン・フォルト表示)に関す
る説明は省略する次にHALT命令の実行に関する説明
をする。
と、IU101に対して引続く命令コード供給を保留す
るように指示する。HALT命令はオペランドを伴わな
い命令であるため、AU104には動作指示が与えられ
い。同時にEU103に対しては、HALT命令の実行
処理が指定される。EU103はPCEU113の内容
をバス・サイクルに対するアドレスとしてBU105に
転送する。PCEU113は、HALT命令が格納され
ているアドレスを保持している。
123に111bを出力するバス・サイクルの起動要求
が発行される。データ・バス端子D31−D0 122
のドライブにより、消費電力の増加を避けるために、リ
ード系のバス・サイクルが起動される。消費電力を考慮
する必要が無ければ、リード系バス・サイクルにこだわ
る必要はない。
おいてT1ステートの先頭から、アドレス・バス端子A
31−A1 121にはPCEU 113の内容が、S
T2−ST0端子123には111bが、R/W(−)
端子125には1bがそれぞれ出力される。BCYST
(−)端子124は、他のバス・サイクルと同様にT1
期間中活性化される(0bにドライブされる)。
はREADY(−)端子126の状態サンプリング、な
らびにバス・サイクル終了保留制御を行わない。バス・
サイクルに対してREADY(−)端子126を活性化
する外部ハードウェアを簡略化するためである。
は、T1,T2ステートともにHi−Z状態を保持す
る。
令に引続く命令コードの供給が停止し、EU103には
DU102から実行処理の指示が発生しない。このた
め、図面では省略しているがEU103はリセット要求
あるいは割込み要求が外部から加えられるまで停止し、
マイクロプロセッサ100はホールト状態に遷移する。
要求が外部から加えられたことを検知すると、他のユニ
ットに対して再起動を指示し、マイクロプロセッサ10
0はホールト状態を解除する。
ST(−)端子が活性化された時)で、アドレス・バス
端子A31−A1 121の状態をサンプリングするこ
とで、HALT命令が配置されているアドレスを外部で
知ることができる。
ホールト状態が解除されるまでBU105にはバス・サ
イクル起動が要求されない。このため新たなT1ステー
トが発生せず、アドレス・バス端子A31−A1 12
1およびT1ステートで変化する出力端子ST2−ST
0 123,R/W(−) 125の状態はホールト表
示用バス・サイクルで出力された値を保持する。
れた時点のみならず、マイクロプロセッサ100にホー
ルト状態の解除を要求(リセットあるいは割込み要求)
するまでは、任意のタイミングでHALT命令の配置ア
ドレスを知り得る。
21をLED表示装置等で観測するようなシステムにお
いても、人間が直接HALT命令の配置アドレスを観測
できる。
タイミングを図4に示す。
対して、アドレス・バス端子A31−A1 121は3
1ビットしか無いが、命令コード長が16ビットあるい
は32ビットであるため、アドレスの最小有意ビット
(LSB)を出力する必要はない。
の起動はEU103が行うが、DU102が行うような
構成も可能である。
用いて説明する。第一の実施例では、ホールト表示サイ
クルでHALT命令の配置アドレスのみを通知したが、
本実施例ではさらにマイクロプロセッサの状態を示すプ
ロセッサ・ステータス・ワード(PSW)の値を通知す
ることを特徴とする。
でEU203以外の構成は第一の実施例と同一である。
EU203内には整数演算の状態を示すフラグ、浮動小
数点演算の状態を示すフラグ、割込みや例外の制御なら
びに状態を示すフラグを含む32ビット幅のPSW 2
01を持つ。これらのフラグの状態は、マイクロプロセ
ッサ200の内部状態を知る上で重要な情報である。し
かしながらPSW 201の状態は、条件分岐命令で間
接的にチェックできる他は、特殊の転送命令でのみ参照
される。
介して、オペランド・データの転送と同様にBU105
とデータの授受が可能なように構成される。
T命令の実行処理が指定されるまでの動作は第一の実施
例と同一である。EU203はPCEU113の内容を
バス・サイクルに対するアドレスとしてBU105に転
送する。また、PSW 201の内容がライト系バス・
サイクルの出力データとしてBU105に転送される。
123に111bを出力するバス・サイクルの起動要求
が発行される。データ・バス端子D31−D0 122
にPSW 201の値を出力するために、ライト系のバ
ス・サイクルが起動される。
おいてT1ステートの先頭から、アドレス・バス端子A
31−A1 121にはPCEU 113の内容が、S
T2−ST0端子123には111bが、R/W(−)
端子125には0bがそれぞれ出力される。BCYST
(−)端子124は、他のバス・サイクルと同様にT1
期間中活性化される(0bにドライブされる)。
は、T1ステートの中央からBU105に転送されたP
SW 201の内容が出力される。
プリング、ならびにバス・サイクルの終了保留制御につ
いては、第一の実施例と同一である。また、ホールト状
態の解除に関する制御についても第一の実施例と同一で
ある。
T命令が実行され、ホールト状態に遷移した後にPSW
の状態を知るためには、割込みを要求した上でその内容
を外部に掃き出すという処理が必要になる。
でPSW 201の状態がデータ・バス端子D31−D
0 122に出力されるため、割込みの要求、状態掃出
し等の処理が不要になる。さらに、アドレス・バス端子
A31−A1 121に出力されるPCEU 113の
内容と同様に、データ・バス端子D31−D0 122
の状態はホールト状態中変化しない。したがって、PS
W 201の内容もLED表示器などによって観測でき
る。
タイミングを図5に示す。
いてアドレス・バス端子A31−A1 121にPCE
U113の内容を、データ・バス端子D31−D0 1
22にPSW 201の内容を出力するような動作を行
う。しかし、EU203の制御を一部変更すること(e
x.マイクロプログラムの一部変更)で、容易に出力す
る内部資源を逆にすること、すなわちアドレス・バス端
子A31−A1 121にPSW 201の内容を、デ
ータ・バス端子D31−D0 122にPCEU 11
3の内容を出力できる。
アドレス・バス端子A31−A1121あるいはデータ
・バス端子D31−D0 122に出力する構成に容易
に変更できる。
BU105の構成、ならびに動作について図6を用いて
説明する。
信号FREQ、DU102からのOPREQ信号、EU
103からのACREQ信号は、アクセスの優先順位に
従って調停され、バス・サイクルの種類を示すAC3−
AC0信号、要求のタイミングを示すACSTB信号に
分割される。
1、データは内部バスD31−D0を経由してBU10
5に転送される。BU105がバス・サイクルを起動中
であり、新たなバス・サイクルの起動要求を受け付けら
れないことはACBUSY信号により各ユニットに通知
される。
CRと略す)151は、AC3−AC0信号をACST
B信号によりラッチするレジスタ、アクセス要求バッフ
ァ(ACBと略す)152はバス・サイクルの状態を複
数信号より成るTstate信号により検知しラッチさ
れた要求(ACR3−ACR0信号)をST2−ST0
端子123ならびにR/W(−)端子125をドライブ
するバッファである。
54は、ラッチされた要求をデコードしリード系アクセ
スであることを示すRD信号、ホールト表示サイクルで
あることを示すHLTD信号等を発生するデコータであ
る。
す)153は、バス・サイクルのTステートを管理する
シーケンサでありACSTB信号の検知により起動す
る。Tステートの状態は、複数ビットのTstate信
号により他ブロックに通知される。
ば、他ユニットにACSTB信号を発生しないようにビ
ジー信号ACBUSYを発生する。STSEQ 153
はREADY(−)端子126の状態を検知して、バス
・サイクルの終了を制御する。ホールト表示サイクルの
起動が要求されると、ACD 154がHLTD信号を
発生し、READY(−)端子126の状態によるバス
・サイクルの終了待合せを行わないようにする。さらに
バス・サイクルの開始時にはBCYST(−)端子12
4をドライブする。
す)155は、内部バスID31−ID0上のデータを
ライト信号IDTWRよりラッチするレジスタ、データ
・バッファ(DTBと略す)156はTstate信号
によりラッチされたデータをライト系のバス・サイクル
でデータ・バス端子D31−D0 122にドライブす
るバッファである。データ・リード・レジスタ(DTR
Rと略す)157はリード系バス・サイクルの終了をT
state信号により検知し、データ・バス端子D31
−D0 122の状態をラッチし、リード信号IDTR
Dにより内部バスID31−ID0にドライブするバッ
ファ機能付きのラッチである。
8は、内部バスIAD31−IAD1上のアドレスをア
クセス要求ストローブ信号ACSTBによりラッチする
レジスタ、アドレス・バッファ(ADBと略す)159
はTstate信号によりラッチされたアドレスをアド
レス・バス端子A31−A1 121にドライブするバ
ッファである。
の種類は、アクセス要求信号AC3−AC0の値を変更
するのみで対応でき、出力されるアドレスは内部バスI
AD31−IAD1の値により、ライト系バス・サイク
ルで出力されるデータは内部バスD31−D0の値によ
り決定できるので、融通性の高いバス・サイクルの制御
が可能である。
とでホールト状態に遷移した時の内部状態を、アドレス
・バス端子およびデータ・バス端子を用いて外部に容易
に通知するマイクロプロセッサを実現できる。これらの
端子は、従来のマイクロプロセッサについても不可欠な
端子で、内部状態の通知のために端子が増加することは
ない。
り、プログラムはホールト状態に遷移した時点における
プログラム・カウンタや、プロセッサ・ステータス・ワ
ードの内容を、性格にかつ容易に知ることができるた
め、効率的なプログラム・デバッグを可能にする。
る。
る。
の値に対応するバス・サイクルの意味の関係を示す図で
ある。
タイミングを示す図である。
タイミングを示す図である。
御ユニットの構成を示す図である。
ンタ 112 命令デコード・ユニット用プログラム・カウ
ンタ 113 命令実行・ユニット用プログラム・カウンタ 121 アドレス・バス端子 122 データ・バス端子 123 ステータス出力端子 124 BCYST(−)信号出力端子 125 R/W(−)信号出力端子 126 READY(−)信号入力端子 127 クロック信号入力端子 151 アクセス要求レジスタ 152 アクセス要求バッファ 153 ステート・シーケンサ 154 アクセス要求デコーダ 155 データ・ライト・レジスタ 156 データ・バッファ 157 データ・リード・レジスタ 158 アドレス・バッファ 159 アドレス・バッファ
Claims (3)
- 【請求項1】 命令実行の中断あるいは一時的な停止を
行う命令を実行する機能を有するマイクロプロセッサに
おいて、前記命令の実行に応答してバス・サイクルを発
生する手段、前記バス・サイクルに同期して、特定のス
テータス信号を出力する第一の出力手段、およびプログ
ラム・カウンタの内容をアドレス・バスに出力する第二
の出力手段を有し、前記命令の実行によりプログラム・
カウンタの内容を外部に通知することを特徴とするマイ
クロプロセッサ。 - 【請求項2】 命令実行の中断あるいは一時的な停止を
行う命令を実行する機能を有するマイクロプロセッサに
おいて、前記命令の実行に応答してバス・サイクルを発
生する手段、前記バス・サイクルに同期して、特定のス
テータス信号を出力する第一の出力手段、およびプログ
ラム・カウンタの内容をデータ・バスに出力する第二の
出力手段を有し、前記命令の実行によりプログラム・カ
ウンタの内容を外部に通知することを特徴とするマイク
ロプロセッサ。 - 【請求項3】 請求項1記載のマイクロプロセッサにお
いて、前記バス・サイクルの発生手段によって発生され
たバス・サイクルに同期してプロセッサ・ステータス・
ワードの内容をデータ・バスに出力する第三の出力手段
を有し、前記命令の実行により、プログラム・カウンタ
およびプロセッサ・ステータス・ワードの内容を外部に
通知することを特徴とするマイクロプロセッサ。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03124242A JP3088129B2 (ja) | 1991-05-29 | 1991-05-29 | マイクロプロセッサ |
US07/891,556 US5440700A (en) | 1991-05-29 | 1992-05-29 | Microprocessor including device for detecting predetermined instruction and generating bus cycle |
DE69218493T DE69218493T2 (de) | 1991-05-29 | 1992-05-29 | Mikroprozessor mit Haltbefehl |
KR1019920009274A KR100263262B1 (ko) | 1991-05-29 | 1992-05-29 | 마이크로프로세서 |
EP92109137A EP0516172B1 (en) | 1991-05-29 | 1992-05-29 | Microprocessor with halt instruction |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03124242A JP3088129B2 (ja) | 1991-05-29 | 1991-05-29 | マイクロプロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04350732A JPH04350732A (ja) | 1992-12-04 |
JP3088129B2 true JP3088129B2 (ja) | 2000-09-18 |
Family
ID=14880487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03124242A Expired - Lifetime JP3088129B2 (ja) | 1991-05-29 | 1991-05-29 | マイクロプロセッサ |
Country Status (5)
Country | Link |
---|---|
US (1) | US5440700A (ja) |
EP (1) | EP0516172B1 (ja) |
JP (1) | JP3088129B2 (ja) |
KR (1) | KR100263262B1 (ja) |
DE (1) | DE69218493T2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2720174B1 (fr) * | 1994-05-20 | 1996-08-14 | Sgs Thomson Microelectronics | Procédé pour tester le déroulement d'un programme d'instructions exécutées par un circuit intégré spécialisé, et circuit intégré spécialisé s'y rapportant. |
WO1996038788A2 (en) * | 1995-05-31 | 1996-12-05 | Advanced Micro Devices, Inc. | Internal state dump mechanism for saving processor values during system testing |
US5931956A (en) * | 1997-06-10 | 1999-08-03 | Atmel Corporation | Digital circuit using memory for monitoring signals for occurrences of predefined breakpoint conditions |
US6321331B1 (en) * | 1998-04-22 | 2001-11-20 | Transwitch Corporation | Real time debugger interface for embedded systems |
US20020188813A1 (en) * | 2001-05-04 | 2002-12-12 | Hugo Cheung | On-chip hardware breakpoint generator with comprehensive memory operation detection |
US7010672B2 (en) * | 2002-12-11 | 2006-03-07 | Infineon Technologies Ag | Digital processor with programmable breakpoint/watchpoint trigger generation circuit |
US7237151B2 (en) * | 2002-12-17 | 2007-06-26 | Texas Instruments Incorporated | Apparatus and method for trace stream identification of a processor reset |
US20070169022A1 (en) * | 2003-06-18 | 2007-07-19 | Jones Anthony M | Processor having multiple instruction sources and execution modes |
WO2009022371A1 (ja) * | 2007-08-16 | 2009-02-19 | Netcleus Systems Corporation | タスク処理装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS592056B2 (ja) * | 1975-05-30 | 1984-01-17 | 松下電工株式会社 | マイクロコンピユ−タノ プログラムカウンタヒヨウジホウシキ |
US4308581A (en) * | 1979-09-28 | 1981-12-29 | Motorola Inc. | Single step system for a microcomputer |
JPS57157362A (en) * | 1981-03-25 | 1982-09-28 | Hitachi Ltd | Method and apparatus of execution path career data pickup for architecture program |
JPH06103472B2 (ja) * | 1986-10-29 | 1994-12-14 | 日本電気株式会社 | デバツグ用マイクロプロセツサ |
JPH01201737A (ja) * | 1988-02-05 | 1989-08-14 | Nec Corp | マイクロプロセッサ |
JPH0259828A (ja) * | 1988-08-24 | 1990-02-28 | Nec Ic Microcomput Syst Ltd | マイクロコンピュータ開発支援装置 |
US5289587A (en) * | 1988-11-30 | 1994-02-22 | National Semiconductor Corporation | Apparatus for and method of providing the program counter of a microprocessor external to the device |
EP0371418A3 (en) * | 1988-11-30 | 1991-09-04 | National Semiconductor Corporation | Apparatus for and method of providing the program counter of a microprocessor external to the device |
US5134701A (en) * | 1989-02-10 | 1992-07-28 | Hewlett-Packard Co. | Test apparatus performing runtime replacement of program instructions with breakpoint instructions for processor having multiple instruction fetch capabilities |
JPH03204737A (ja) * | 1990-01-08 | 1991-09-06 | Nec Corp | 信号処理プロセッサのデバッグ回路 |
-
1991
- 1991-05-29 JP JP03124242A patent/JP3088129B2/ja not_active Expired - Lifetime
-
1992
- 1992-05-29 US US07/891,556 patent/US5440700A/en not_active Expired - Fee Related
- 1992-05-29 EP EP92109137A patent/EP0516172B1/en not_active Expired - Lifetime
- 1992-05-29 DE DE69218493T patent/DE69218493T2/de not_active Expired - Fee Related
- 1992-05-29 KR KR1019920009274A patent/KR100263262B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP0516172A3 (en) | 1993-06-30 |
KR920022094A (ko) | 1992-12-19 |
KR100263262B1 (ko) | 2000-08-01 |
DE69218493T2 (de) | 1997-10-09 |
JPH04350732A (ja) | 1992-12-04 |
EP0516172B1 (en) | 1997-03-26 |
US5440700A (en) | 1995-08-08 |
EP0516172A2 (en) | 1992-12-02 |
DE69218493D1 (de) | 1997-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4990829B2 (ja) | 指定されたメモリアクセスが発生するまでスレッドの実行をサスペンドする方法及び装置 | |
JP5571784B2 (ja) | プロセッサ、方法、システム、及び、プログラム | |
US6449709B1 (en) | Fast stack save and restore system and method | |
US5822779A (en) | Microprocessor-based data processing apparatus that commences a next overlapping cycle when a ready signal is detected not to be active | |
US8171266B2 (en) | Look-ahead load pre-fetch in a processor | |
US5488728A (en) | Microprocessor having a run/stop pin for accessing an idle mode | |
JPH05204709A (ja) | プロセッサ | |
JP3088129B2 (ja) | マイクロプロセッサ | |
KR950010825B1 (ko) | 분기 타겟 명령 버퍼를 내장한 마이크로컴퓨터 | |
JPH07120338B2 (ja) | 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ | |
US6772266B2 (en) | Detecting transfer of universal serial bus (USB) host controller information from operating system drivers to basic input output system (BIOS) | |
US7051146B2 (en) | Data processing systems including high performance buses and interfaces, and associated communication methods | |
JPS63193239A (ja) | 命令順序監視装置と方法 | |
JP2004005747A (ja) | マイクロプロセッサ及びマイクロプロセッサを動作する方法 | |
JPH06295243A (ja) | データ処理装置 | |
US5421026A (en) | Data processor for processing instruction after conditional branch instruction at high speed | |
JP2536726B2 (ja) | マイクロプロセッサ | |
JP2885548B2 (ja) | パイプライン制御方式 | |
JPH06324861A (ja) | Cpu制御システム及び制御方法 | |
JPS63167951A (ja) | 情報処理装置 | |
JP2924004B2 (ja) | 命令コード転送方式 | |
JPH10240570A (ja) | マイクロプロセッサ及びその開発支援装置 | |
JPS6221130B2 (ja) | ||
JPH1055289A (ja) | デバッグ情報生成回路、およびそれを用いた情報処理装置 | |
JP2004362368A (ja) | プロセッサおよび例外処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070714 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080714 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090714 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100714 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100714 Year of fee payment: 10 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100714 Year of fee payment: 10 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110714 Year of fee payment: 11 |
|
EXPY | Cancellation because of completion of term |