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
Application number
JP5091364A
Other languages
English (en)
Other versions
JPH06301552A (ja
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.)
JFE Steel Corp
Original Assignee
JFE Steel 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 JFE Steel Corp filed Critical JFE Steel Corp
Priority to JP5091364A priority Critical patent/JP2675506B2/ja
Publication of JPH06301552A publication Critical patent/JPH06301552A/ja
Application granted granted Critical
Publication of JP2675506B2 publication Critical patent/JP2675506B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、割込み機構を有するマ
イクロプロセッサ装置(以下、「MPU」と略記するこ
とがある)に関する。
【0002】
【従来の技術】近年のLSI技術の発達によりコンピュ
ータシステムが1つのLSIに搭載されたり、客先仕様
によるいわゆるカスタムLSIの中にも中央処理装置
(CPU)が搭載される等、LSI中に種々の形でMP
Uが搭載されてきている。このようなMPUは、多数の
命令をあらかじめ定められた順序に従って順次実行する
機能のほか、通常、割込み信号を受け付けてその順序と
は異なる番地に分岐する割込み機構が備えられている。
複数の割込要因が存在する場合は、割込入力端子を複数
備えておいてどの割込入力端子から割込信号が入力され
たかに応じて分岐先が変更されたり、もしくは、割込信
号が入力されたことを受けて動作する割込み認識サイク
ルで取り込まれる割込みベクトルによって分岐先が定め
られる。
【0003】図3は命令が格納されたメモリ領域のアド
レスマップを示した図、図4は、MPUの実行シーケン
スの割込信号の入力時のタイミングチャート、図5は、
MPUの実行シーケンスの、割込ルーチン終了時のタイ
ミングチャートである。ここでは簡単のため、単一の割
込みのみが存在する場合について説明する。メインルー
チンは、1234番地,1235番地を含む領域に格納
されており、2000番地以降には割込みルーチンが格
納されている。またFFFE番地,FFFF番地は、割
込み時にプログラムカウンタPCの内容を退避させるた
めのスタック領域として使用される。
【0004】図4,図5においてCLK,MRD- ,M
WR- ,AD,DATA,PC,INT- は、それぞれ
クロック,メモリリード,メモリライト,アドレス,デ
ータ,プログラムカウンタ,割込みの各信号を表わして
いる。図4に示すように、メインルーチン中の、123
4番地に格納された命令を実行している途中で割込信号
INT- がアサート(Lレベル)されたものとする。こ
の場合、1234番地の命令が終了すると割込み認識サ
イクルに入り、プログラムカウンタPCの、下位バイ
ト、上位バイトがそれぞれFFFF番地,FFFE番地
に退避される。1234番地の命令が実行されるとプロ
グラムカウンタPCの内容はその次の1235番地を指
標しており、したがってここではプログラムカウンタP
Cの下位バイト“35”がFFFF番地に退避され、上
位バイト“12”がFFFE番地に退避される。その後
割込み処理に移り、割込みルーチンの先頭の2000番
地に分岐する。
【0005】割込みルーチンが終了すると、FFFE番
地,FFFF番地にそれぞれ退避されているデータ“3
5”,“12”が読み出されてプログラムカウンタに格
納され、“1235番地”を示すアドレス番号が出力さ
れて1235番地からメインルーチンの実行が再開され
る。ところで、MPUの中には、ユーザが自由に使用す
ることのできる割込み以外に、いわゆるデバック専用割
込みを持つものがある。デバック専用割込みとは、ユー
ザが作成したプログラムをデバックする際に、デバック
ソフトウェアが組込まれた、例えばインサーキットエミ
ュレータと呼ばれるデバック装置が使用する割込みであ
って、通常ユーザにはその使用が解放されていないもの
である。したがって、デバック割込みの有無によってユ
ーザが作成したプログラムの実行状況に変化があっては
ならず、ユーザにデバックのための割込みを意識させな
いために、そのデバック割込みによる割込み処理が終了
した時点ではそのデバック割込みを受け付けた時点と同
一の内部状態に戻すことが必要となる。
【0006】ところで、一般的なMPUは、命令の実行
を停止するHALT命令をもっており、MPUは、この
HALT命令を実行するとHALT状態となりそれ以降
の命令の実行が停止される。このHALT状態は、リセ
ットが行なわれることのほか、割込みが発生した場合も
解除される。これは、図4、図5を用いて説明したよう
に、例えば1234番地にHALT命令が格納されてい
た場合、そのHALT命令が実行されHALT状態とな
った時点ではプログラムカウンタにはその次の1235
番地が格納されており、したがって割込みルーチンが終
了すると1235番地に格納された命令が読み出されて
実行されるからである。
【0007】
【発明が解決しようとする課題】ここで、ユーザが作成
したプログラムが実行されてHALT状態にあるとき
に、デバック割込みがあった場合に問題が生じる。すな
わち、デバック割込みの場合同一の内部状態に戻す必要
があるにも拘らず、上述のようにHALT状態が解除さ
れてしまい、割込み以前の内部状態に戻らないこととな
る。
【0008】これを回避するために、HALT命令の実
行中にデバック割込みを受け付けた場合のみ回路動作を
変更し、プログラムカウンタの内容を1だけデクリメン
トしてからスタックに待避するように回路を構成するこ
とが考えられる。しかしこのような回路を構成するとプ
ログラムカウンタの内容をデクリメントするための特別
のハードウェアが必要となり、回路規模の増大化をもた
らすことになる。
【0009】本発明は、上記事情に鑑み、回路規模の増
加を最小限に押さえ、かつ上記のような場合に柔軟に対
処することのできる構成を備えたマイクロプロセッサ装
置を提供することを目的とする。
【0010】
【課題を解決するための手段】上記目的を達成する本発
明のマイクロプロセッサ装置は、複数種類の命令を順次
実行するとともに、割込みを受け付けて割込み処理に分
岐するマイクロプロセッサ装置において、 (1)次に実行が予定されている命令が格納された、現
在実行中の命令が格納されたアドレスに連続するアドレ
スを指標するプログラムカウンタ (2)プログラムカウンタの内容が退避されるスタック (3)割込みを受け付けプログラムカウンタの内容をス
タックに退避した後割込み処理に分岐する割込み機構 (4)少なくとも1つの所定の割込みが受け付けられた
場合に、その所定の割込みが受け付けられた際に実行さ
れていた命令が、命令の実行を停止させるHALT命令
であるか否かに応じて分岐先を選択する分岐先選択機構(5)上記複数種類の命令にスタックの内容の書換えを
指示する命令を含み該命令に応じて上記スタックの内容
を書き換えるスタック書換機構を備え、 上記所定の割込
みが受け付けられた際に実行されていた命令がHALT
命令であった場合の分岐先の割込みプログラムで、スタ
ックの内容を上記所定の割込みが受け付けられた際に実
行されていたHALT命令が格納されたアドレスに書き
換え、その割り込みプログラムから戻ったときに再びH
ALT命令を実行するようにした ことを特徴とするもの
である。
【0011】ここで、上記本発明において、上記スタッ
ク書換機構は、典型的には、上記所定の割込みが受け付
けられた際に実行されていた命令がHALT命令であっ
た場合の分岐先の割込みプログラムで、上記スタックの
内容をデクリメントすることにより、そのスタックの内
容を上記所定の割込みが受け付けられた際に実行されて
いたHALT命令が格納されたアドレスに書き換えるよ
うに構成される。
【0012】
【作用】本発明のマイクロプロセッサ装置(MPU)
は、所定の割込みが受け付けられた場合に、その割込み
が受け付けられた際に実行されていた命令HALT命
であるかそれ以外の命令であるかに応じて分岐先が選
択される構成を有しているため、例えばHALT命令が
実行されている途中で上記割込みが受け付けられた場合
は、その分岐先で、プログラムカウンタの内容が退避さ
れたスタックの内容をソフトウェアでデクリメントする
とにより、デバック割込みに対処することができる
【0013】また、上記のように構成した場合のハード
ウェアの増加は、HALT命令であるか否かに応じて分
岐先を変えるだけの極く小規模の増加にとどまり、ハー
ドウェア量は実質的にはほとんど増加しない。
【0014】
【実施例】以下、本発明の実施例につい説明する。図
1,図2は本発明の一実施例のMPUの実行シーケンス
の、それぞれ、所定の割込みが入力されたときのタイミ
ングチャート、割込ルーチン終了時のタイミングチャー
トであり、前述した説明における、それぞれ図4,図5
に対応するものである。
【0015】1234番地に格納された命令の実行中に
割込信号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番地に格納されている命令が実行さ
れることになる。
【0016】尚、割込みを受け付けた時点で実行されて
いた命令がHALT命令であるか否かにより、互いに異
なる番地、例えば上述のように2000番地と2010
番地に分岐しても、命令に寄らず同一の処理を行ないた
い場合は、2000番地に2010番地へ分岐するよう
分岐命令を格納するか、2000番地から200F番地
に何も処理を行なわないことを指示するNOP命令を格
納することにより対処することができる
【0017】
【発明の効果】以上説明したように、本発明のマイクロ
プロセッサ装置(MPU)は、所定の割込みが受け付け
られた場合に、その割込みが受け付けられた際に実行さ
れていた命令の種類、すなわちHALT命令とそれ以外
の命令に応じて分岐先が選択される構成を有している
ため、例えばHALT命令が実行されている途中で上記
割込みが受け付けられた場合は、その分岐先で、プログ
ラムカウンタの内容が退避されたスタックの内容をソフ
トウェアでデクリメントすることにより、デバック割込
みに対処することができる。またこれを実現するための
ハードウェアの増加は極くわずかである。
【図面の簡単な説明】
【図1】本発明の一実施例のMPUの実行シーケンス
の、所定の割込みが入力されたときのタイミングチャー
トである。
【図2】本発明の一実施例のMPUの実行シーケンス
の、割込ルーチン終了時のタイミングチャートである。
【図3】命令が格納されたメモリ領域のアドレスマップ
を示した図である。
【図4】CPUの実行シーケンスの、割込信号の入力時
のタイミングチャートである。
【図5】CPUの実行シーケンスの、割込ルーチン終了
時のタイミングチャートである。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平5−22387(JP,A) 特開 平2−191042(JP,A) 特開 昭59−182389(JP,A) 特開 平5−257712(JP,A) 英国特許出願公開2259167(GB,A)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数種類の命令を順次実行するととも
    に、割込みを受け付けて割込み処理に分岐するマイクロ
    プロセッサ装置において、 次に実行が予定されている命令が格納された、現在実行
    中の命令が格納されたアドレスに連続するアドレスを指
    標するプログラムカウンタと、 前記プログラムカウンタの内容が退避されるスタック
    と、 割込みを受け付け前記プログラムカウンタの内容を前記
    スタックに退避した後割込み処理に分岐する割込み機構
    と、 少なくとも1つの所定の割込みが受け付けられた場合
    に、該所定の割込みが受け付けられた際に実行されてい
    た命令が、命令の実行を停止させるHALT命令である
    か否かに応じて分岐先を選択する分岐先選択機構と、 前記複数種類の命令に前記スタックの内容の書換えを指
    示する命令を含み該命令に応じて前記スタックの内容を
    書き換えるスタック書換機構とを備え、 前記所定の割込みが受け付けられた際に実行されていた
    命令がHALT命令であった場合の分岐先の割込みプロ
    グラムで、前記スタックの内容を前記所定の割込みが受
    け付けられた際に実行されていたHALT命令が格納さ
    れたアドレスに書き換え、該割込みプログラムから戻っ
    たときに再びHALT命令を実行するようにした ことを
    特徴とするマイクロプロセッサ装置。
  2. 【請求項2】 前記スタック書換機構は、前記所定の割
    込みが受け付けられた際に実行されていた命令がHAL
    T命令であった場合の分岐先の割込みプログラムで、前
    記スタックの内容をデクリメントすることにより、該ス
    タックの内容を前記所定の割込みが受け付けられた際に
    実行されていたHALT命令が格納されたアドレスに書
    き換えるものであることを特徴とする請求項1記載のマ
    イクロプロセッサ装置。
JP5091364A 1993-04-19 1993-04-19 マイクロプロセッサ装置 Expired - Fee Related JP2675506B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 電話機

Patent Citations (1)

* Cited by examiner, † Cited by third party
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