JPH06301552A - マイクロプロセッサ装置 - Google Patents
マイクロプロセッサ装置Info
- Publication number
- JPH06301552A JPH06301552A JP9136493A JP9136493A JPH06301552A JP H06301552 A JPH06301552 A JP H06301552A JP 9136493 A JP9136493 A JP 9136493A JP 9136493 A JP9136493 A JP 9136493A JP H06301552 A JPH06301552 A JP H06301552A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- interrupt
- address
- executed
- branch destination
- 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.)
- Granted
Links
Abstract
ッサ装置において、回路規模の増加を最小限に押えた上
で自由度を高める。 【構成】割込みが受け付けられた時点で実行中されてい
た命令に応じて分岐先を変更する。
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命令を含み、上記分岐先選択機構により、
上記所定の割込みが受け付けられた際に実行されていた
命令がHALT命令であるか否かに応じて分岐先が選択
されるように構成される。
は、所定の割込みが受け付けられた場合に、その割込み
が受け付けられた際に実行されていた命令の種類、例え
ばHALT命令とそれ以外の命令に応じて分岐先が選択
される構成を有しているため、例えばHALT命令が実
行されている途中で上記割込みが受け付けられた場合
は、その分岐先で、プログラムカウンタの内容が退避さ
れたスタックの内容をソフトウェアでデクリメントする
こと等により、デバック割込みに対処することができ
る。また本発明のMPUは実行中の命令の種類に応じて
分岐先が変更されることから、デバック割込みのときの
有効性にとどまらず、極めて自由なシステムが実現する
ことになる。
ウェアの増加は、例えば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命令を格
納することにより対処することができる。また、本発明
を採用すると、HALT命令であるか否かという分類に
とどまらず、命令を2つもしくはそれ以上の命令群に分
けて各命令群毎に分岐先を変え、各分岐先で各命令群毎
に適切な処理を実行するように構成することもでき、広
範な自由度のあるMPUが実現する。
プロセッサ装置(MPU)は、所定の割込みが受け付け
られた場合に、その割込みが受け付けられた際に実行さ
れていた命令の種類、例えばHALT命令とそれ以外の
命令に応じて分岐先が選択される構成を有しているた
め、例えばHALT命令が実行されている途中で上記割
込みが受け付けられた場合は、その分岐先で、プログラ
ムカウンタの内容が退避されたスタックの内容をソフト
ウェアでデクリメントすること等により、デバック割込
みに対処することができる。また本発明のMPUは実行
中の命令の種類に応じて分岐先が変更されることから、
デバック割込みのときにとどまらず、極めて自由なシス
テムが実現することになる等、極めて自由度のあるMP
Uが実現する。またこれを実現するためのハードウェア
の増加は極くわずかである。
の、所定の割込みが入力されたときのタイミングチャー
トである。
の、割込ルーチン終了時のタイミングチャートである。
を示した図である。
のタイミングチャートである。
時のタイミングチャートである。
Claims (2)
- 【請求項1】 複数種類の命令を順次実行するととも
に、割込みを受け付けて割込み処理に分岐するマイクロ
プロセッサ装置において、 次に実行が予定されている命令が格納された、現在実行
中の命令が格納されたアドレスに連続するアドレスを指
標するプログラムカウンタと、 前記プログラムカウンタの内容が退避されるスタック
と、 割込みを受け付け前記プログラムカウンタの内容を前記
スタックに退避した後割込み処理に分岐する割込み機構
と、 少なくとも1つの所定の割込みが受け付けられた場合
に、該所定の割込みが受け付けられた際に実行されてい
た命令の種類に応じて分岐先を選択する分岐先選択機構
とを備えたことを特徴とするマイクロプロセッサ装置。 - 【請求項2】 前記複数種類の命令に命令の実行を停止
させるHALT命令を含み、前記分岐先選択機構が、前
記所定の割込みが受け付けられた際に実行されていた命
令が前記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 true JPH06301552A (ja) | 1994-10-28 |
JP2675506B2 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 (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 | 電話機 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5291604A (en) | 1991-08-30 | 1994-03-01 | Intel Corporation | Transparent system interrupts with automated halt state restart |
-
1993
- 1993-04-19 JP JP5091364A patent/JP2675506B2/ja not_active Expired - Fee Related
Patent Citations (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 | 電話機 |
Also Published As
Publication number | Publication date |
---|---|
JP2675506B2 (ja) | 1997-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4090238A (en) | Priority vectored interrupt using direct memory access | |
KR0168656B1 (ko) | 데이터 처리 시스템 | |
US5621886A (en) | Method and apparatus for providing efficient software debugging | |
US5488688A (en) | Data processor with real-time diagnostic capability | |
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 | |
KR100588790B1 (ko) | 데이터처리기에서의후속명령처리에작용하는방법및장치 | |
US4763296A (en) | Watchdog timer | |
US4924382A (en) | Debugging microprocessor capable of switching between emulation and monitor without accessing stack area | |
EP0315275A2 (en) | Flexible asic microcomputer | |
US4308581A (en) | Single step system for a microcomputer | |
US4056847A (en) | Priority vector interrupt system | |
EP0777877B1 (en) | Processing system, processor, memory storing instruction stream and compiler | |
EP1125199B1 (en) | Method of debugging a program thread | |
US7831979B2 (en) | Processor with instruction-based interrupt handling | |
KR20030072347A (ko) | 이벤트 처리 방법 및 장치 | |
US5287522A (en) | External procedure invocation apparatus utilizing internal branch vector interrupts and vector address generation, in a RISC chip | |
JP2675506B2 (ja) | マイクロプロセッサ装置 | |
JPH03271829A (ja) | 情報処理装置 | |
US5649207A (en) | Microprocessor unit having interrupt mechanism | |
JPS5826043B2 (ja) | プロセツサのリセツト方式 | |
JPS6242301B2 (ja) | ||
JPS60124746A (ja) | デ−タ処理装置 | |
JPS60193046A (ja) | 命令例外検出方式 | |
JP2536103B2 (ja) | デ―タ処理装置 | |
JPH0683986A (ja) | シングルチップ・マイクロコンピュータ |
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 |