JP2675506B2 - マイクロプロセッサ装置 - Google Patents
マイクロプロセッサ装置Info
- Publication number
- JP2675506B2 JP2675506B2 JP5091364A JP9136493A JP2675506B2 JP 2675506 B2 JP2675506 B2 JP 2675506B2 JP 5091364 A JP5091364 A JP 5091364A JP 9136493 A JP9136493 A JP 9136493A JP 2675506 B2 JP2675506 B2 JP 2675506B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- instruction
- executed
- stack
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Description
イクロプロセッサ装置(以下、「MPU」と略記するこ
とがある)に関する。
ータシステムが1つのLSIに搭載されたり、客先仕様
によるいわゆるカスタムLSIの中にも中央処理装置
(CPU)が搭載される等、LSI中に種々の形でMP
Uが搭載されてきている。このようなMPUは、多数の
命令をあらかじめ定められた順序に従って順次実行する
機能のほか、通常、割込み信号を受け付けてその順序と
は異なる番地に分岐する割込み機構が備えられている。
複数の割込要因が存在する場合は、割込入力端子を複数
備えておいてどの割込入力端子から割込信号が入力され
たかに応じて分岐先が変更されたり、もしくは、割込信
号が入力されたことを受けて動作する割込み認識サイク
ルで取り込まれる割込みベクトルによって分岐先が定め
られる。
レスマップを示した図、図4は、MPUの実行シーケン
スの割込信号の入力時のタイミングチャート、図5は、
MPUの実行シーケンスの、割込ルーチン終了時のタイ
ミングチャートである。ここでは簡単のため、単一の割
込みのみが存在する場合について説明する。メインルー
チンは、1234番地,1235番地を含む領域に格納
されており、2000番地以降には割込みルーチンが格
納されている。またFFFE番地,FFFF番地は、割
込み時にプログラムカウンタPCの内容を退避させるた
めのスタック領域として使用される。
WR- ,AD,DATA,PC,INT- は、それぞれ
クロック,メモリリード,メモリライト,アドレス,デ
ータ,プログラムカウンタ,割込みの各信号を表わして
いる。図4に示すように、メインルーチン中の、123
4番地に格納された命令を実行している途中で割込信号
INT- がアサート(Lレベル)されたものとする。こ
の場合、1234番地の命令が終了すると割込み認識サ
イクルに入り、プログラムカウンタPCの、下位バイ
ト、上位バイトがそれぞれFFFF番地,FFFE番地
に退避される。1234番地の命令が実行されるとプロ
グラムカウンタPCの内容はその次の1235番地を指
標しており、したがってここではプログラムカウンタP
Cの下位バイト“35”がFFFF番地に退避され、上
位バイト“12”がFFFE番地に退避される。その後
割込み処理に移り、割込みルーチンの先頭の2000番
地に分岐する。
地,FFFF番地にそれぞれ退避されているデータ“3
5”,“12”が読み出されてプログラムカウンタに格
納され、“1235番地”を示すアドレス番号が出力さ
れて1235番地からメインルーチンの実行が再開され
る。ところで、MPUの中には、ユーザが自由に使用す
ることのできる割込み以外に、いわゆるデバック専用割
込みを持つものがある。デバック専用割込みとは、ユー
ザが作成したプログラムをデバックする際に、デバック
ソフトウェアが組込まれた、例えばインサーキットエミ
ュレータと呼ばれるデバック装置が使用する割込みであ
って、通常ユーザにはその使用が解放されていないもの
である。したがって、デバック割込みの有無によってユ
ーザが作成したプログラムの実行状況に変化があっては
ならず、ユーザにデバックのための割込みを意識させな
いために、そのデバック割込みによる割込み処理が終了
した時点ではそのデバック割込みを受け付けた時点と同
一の内部状態に戻すことが必要となる。
を停止するHALT命令をもっており、MPUは、この
HALT命令を実行するとHALT状態となりそれ以降
の命令の実行が停止される。このHALT状態は、リセ
ットが行なわれることのほか、割込みが発生した場合も
解除される。これは、図4、図5を用いて説明したよう
に、例えば1234番地にHALT命令が格納されてい
た場合、そのHALT命令が実行されHALT状態とな
った時点ではプログラムカウンタにはその次の1235
番地が格納されており、したがって割込みルーチンが終
了すると1235番地に格納された命令が読み出されて
実行されるからである。
したプログラムが実行されてHALT状態にあるとき
に、デバック割込みがあった場合に問題が生じる。すな
わち、デバック割込みの場合同一の内部状態に戻す必要
があるにも拘らず、上述のようにHALT状態が解除さ
れてしまい、割込み以前の内部状態に戻らないこととな
る。
行中にデバック割込みを受け付けた場合のみ回路動作を
変更し、プログラムカウンタの内容を1だけデクリメン
トしてからスタックに待避するように回路を構成するこ
とが考えられる。しかしこのような回路を構成するとプ
ログラムカウンタの内容をデクリメントするための特別
のハードウェアが必要となり、回路規模の増大化をもた
らすことになる。
加を最小限に押さえ、かつ上記のような場合に柔軟に対
処することのできる構成を備えたマイクロプロセッサ装
置を提供することを目的とする。
明のマイクロプロセッサ装置は、複数種類の命令を順次
実行するとともに、割込みを受け付けて割込み処理に分
岐するマイクロプロセッサ装置において、 (1)次に実行が予定されている命令が格納された、現
在実行中の命令が格納されたアドレスに連続するアドレ
スを指標するプログラムカウンタ (2)プログラムカウンタの内容が退避されるスタック (3)割込みを受け付けプログラムカウンタの内容をス
タックに退避した後割込み処理に分岐する割込み機構 (4)少なくとも1つの所定の割込みが受け付けられた
場合に、その所定の割込みが受け付けられた際に実行さ
れていた命令が、命令の実行を停止させるHALT命令
であるか否かに応じて分岐先を選択する分岐先選択機構(5)上記複数種類の命令にスタックの内容の書換えを
指示する命令を含み該命令に応じて上記スタックの内容
を書き換えるスタック書換機構を備え、 上記所定の割込
みが受け付けられた際に実行されていた命令がHALT
命令であった場合の分岐先の割込みプログラムで、スタ
ックの内容を上記所定の割込みが受け付けられた際に実
行されていたHALT命令が格納されたアドレスに書き
換え、その割り込みプログラムから戻ったときに再びH
ALT命令を実行するようにした ことを特徴とするもの
である。
ク書換機構は、典型的には、上記所定の割込みが受け付
けられた際に実行されていた命令がHALT命令であっ
た場合の分岐先の割込みプログラムで、上記スタックの
内容をデクリメントすることにより、そのスタックの内
容を上記所定の割込みが受け付けられた際に実行されて
いたHALT命令が格納されたアドレスに書き換えるよ
うに構成される。
は、所定の割込みが受け付けられた場合に、その割込み
が受け付けられた際に実行されていた命令がHALT命
令であるかそれ以外の命令であるかに応じて分岐先が選
択される構成を有しているため、例えばHALT命令が
実行されている途中で上記割込みが受け付けられた場合
は、その分岐先で、プログラムカウンタの内容が退避さ
れたスタックの内容をソフトウェアでデクリメントする
ことにより、デバック割込みに対処することができる。
ウェアの増加は、HALT命令であるか否かに応じて分
岐先を変えるだけの極く小規模の増加にとどまり、ハー
ドウェア量は実質的にはほとんど増加しない。
1,図2は本発明の一実施例のMPUの実行シーケンス
の、それぞれ、所定の割込みが入力されたときのタイミ
ングチャート、割込ルーチン終了時のタイミングチャー
トであり、前述した説明における、それぞれ図4,図5
に対応するものである。
割込信号INT- がアサート(Lレベル)され、割込み
認識サイクルでプログラムカウンタの値“1235”の
下位バイト、上位バイトが、それぞれ、スタックとして
用いられるFFFF番地、FFFE番地に退避され、そ
の後割込み処理が実行されるが、その際の分岐先、即
ち、図1に示すタイミングチャートの矢印Aで示す部分
のアドレスが1234番地に格納された命令によって異
なる。例えば1234番地にHALT命令が格納されて
おり、このHALT命令の実行中に割込信号INT- が
入力された場合は例えば2000番地に分岐し、123
4番地にHALT命令以外の命令が格納されており、そ
のHALT命令以外の命令の実行中に割込信号INT-
が入力された場合は、例えば2010番地に分岐する。
そして2000番地から200F番地までの間に、FF
FE番地,FFFF番地に格納された“1235”を読
み出し、これをデクリメントして“1234”を生成
し、再度FFFE番地,FFFF番地に格納しておく。
こうすることにより、図2に示すように、割込み処理が
終了したとき、割込みを受け付けた時点でHALT命令
が実行中であった場合のみ再度1234番地に格納され
たHALT命令が実行されてHALT状態となり、割込
みを受け付けた時点でHALT命令以外の命令が実行さ
れていた場合は、割込み処理終了後は、その命令の次の
命令、即ち1235番地に格納されている命令が実行さ
れることになる。
いた命令がHALT命令であるか否かにより、互いに異
なる番地、例えば上述のように2000番地と2010
番地に分岐しても、命令に寄らず同一の処理を行ないた
い場合は、2000番地に2010番地へ分岐するよう
分岐命令を格納するか、2000番地から200F番地
に何も処理を行なわないことを指示するNOP命令を格
納することにより対処することができる。
プロセッサ装置(MPU)は、所定の割込みが受け付け
られた場合に、その割込みが受け付けられた際に実行さ
れていた命令の種類、すなわちHALT命令とそれ以外
の命令とに応じて分岐先が選択される構成を有している
ため、例えばHALT命令が実行されている途中で上記
割込みが受け付けられた場合は、その分岐先で、プログ
ラムカウンタの内容が退避されたスタックの内容をソフ
トウェアでデクリメントすることにより、デバック割込
みに対処することができる。またこれを実現するための
ハードウェアの増加は極くわずかである。
の、所定の割込みが入力されたときのタイミングチャー
トである。
の、割込ルーチン終了時のタイミングチャートである。
を示した図である。
のタイミングチャートである。
時のタイミングチャートである。
Claims (2)
- 【請求項1】 複数種類の命令を順次実行するととも
に、割込みを受け付けて割込み処理に分岐するマイクロ
プロセッサ装置において、 次に実行が予定されている命令が格納された、現在実行
中の命令が格納されたアドレスに連続するアドレスを指
標するプログラムカウンタと、 前記プログラムカウンタの内容が退避されるスタック
と、 割込みを受け付け前記プログラムカウンタの内容を前記
スタックに退避した後割込み処理に分岐する割込み機構
と、 少なくとも1つの所定の割込みが受け付けられた場合
に、該所定の割込みが受け付けられた際に実行されてい
た命令が、命令の実行を停止させるHALT命令である
か否かに応じて分岐先を選択する分岐先選択機構と、 前記複数種類の命令に前記スタックの内容の書換えを指
示する命令を含み該命令に応じて前記スタックの内容を
書き換えるスタック書換機構とを備え、 前記所定の割込みが受け付けられた際に実行されていた
命令がHALT命令であった場合の分岐先の割込みプロ
グラムで、前記スタックの内容を前記所定の割込みが受
け付けられた際に実行されていたHALT命令が格納さ
れたアドレスに書き換え、該割込みプログラムから戻っ
たときに再びHALT命令を実行するようにした ことを
特徴とするマイクロプロセッサ装置。 - 【請求項2】 前記スタック書換機構は、前記所定の割
込みが受け付けられた際に実行されていた命令がHAL
T命令であった場合の分岐先の割込みプログラムで、前
記スタックの内容をデクリメントすることにより、該ス
タックの内容を前記所定の割込みが受け付けられた際に
実行されていたHALT命令が格納されたアドレスに書
き換えるものであることを特徴とする請求項1記載のマ
イクロプロセッサ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5091364A JP2675506B2 (ja) | 1993-04-19 | 1993-04-19 | マイクロプロセッサ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5091364A JP2675506B2 (ja) | 1993-04-19 | 1993-04-19 | マイクロプロセッサ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06301552A JPH06301552A (ja) | 1994-10-28 |
JP2675506B2 true JP2675506B2 (ja) | 1997-11-12 |
Family
ID=14024335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5091364A Expired - Fee Related JP2675506B2 (ja) | 1993-04-19 | 1993-04-19 | マイクロプロセッサ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2675506B2 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2259167A (en) | 1991-08-30 | 1993-03-03 | Intel Corp | Transparent system interrupts with automated halt state restart |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02191042A (ja) * | 1989-01-20 | 1990-07-26 | Fujitsu Ltd | 割込み制御方式 |
JPH0522387A (ja) * | 1991-07-16 | 1993-01-29 | Nippon Business Syst Kk | 電話機 |
-
1993
- 1993-04-19 JP JP5091364A patent/JP2675506B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2259167A (en) | 1991-08-30 | 1993-03-03 | Intel Corp | Transparent system interrupts with automated halt state restart |
Also Published As
Publication number | Publication date |
---|---|
JPH06301552A (ja) | 1994-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4987537A (en) | Computer capable of accessing a memory by supplying an address having a length shorter than that of a required address for the memory | |
US4878174A (en) | Flexible ASIC microcomputer permitting the modular modification of dedicated functions and macroinstructions | |
US4763296A (en) | Watchdog timer | |
US5619704A (en) | Asynchronous interrupt inhibit method and apparatus for avoiding interrupt of an inseparable operation | |
US4308581A (en) | Single step system for a microcomputer | |
US4315314A (en) | Priority vectored interrupt having means to supply branch address directly | |
JP3970609B2 (ja) | プロセッサシステム | |
EP1125199B1 (en) | Method of debugging a program thread | |
WO1993001542A1 (en) | Microprocessor with oem mode for power management | |
US6205539B1 (en) | Method for manipulating a stack pointer with post increment/decrement operation | |
JP2675506B2 (ja) | マイクロプロセッサ装置 | |
US5524267A (en) | Digital I/O bus controller circuit with auto-incrementing, auto-decrementing and non-incrementing/decrementing access data ports | |
JPH07104830B2 (ja) | コンピュータ・システム及びコンピュータ・システムを作動させる方法 | |
US6345353B2 (en) | Stack pointer with post increment/decrement allowing selection from parallel read/write address outputs | |
JPH03271829A (ja) | 情報処理装置 | |
US5649207A (en) | Microprocessor unit having interrupt mechanism | |
JP2002108647A (ja) | トレースメモリを内蔵した半導体装置及びプロセッサ開発支援装置 | |
JP2562838B2 (ja) | プロセッサ及びストアバッファ制御方法 | |
JP2940309B2 (ja) | プログラム開発用マイクロコンピュータ | |
JPS6242301B2 (ja) | ||
JPS60193046A (ja) | 命令例外検出方式 | |
JPH04332045A (ja) | 演算処理装置 | |
JP2870083B2 (ja) | ウオッチドッグタイマ内蔵マイクロコンピュータ | |
JPH0683986A (ja) | シングルチップ・マイクロコンピュータ | |
KR19980033145A (ko) | 마이크로컴퓨터 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19970701 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080718 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090718 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090718 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100718 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110718 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110718 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120718 Year of fee payment: 15 |
|
LAPS | Cancellation because of no payment of annual fees |