JPH02299025A - マイクロコンピュータ - Google Patents

マイクロコンピュータ

Info

Publication number
JPH02299025A
JPH02299025A JP11980189A JP11980189A JPH02299025A JP H02299025 A JPH02299025 A JP H02299025A JP 11980189 A JP11980189 A JP 11980189A JP 11980189 A JP11980189 A JP 11980189A JP H02299025 A JPH02299025 A JP H02299025A
Authority
JP
Japan
Prior art keywords
internal
stack
data
external memory
microcomputer
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
JP11980189A
Other languages
English (en)
Inventor
Katsumi Miura
勝己 三浦
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP11980189A priority Critical patent/JPH02299025A/ja
Publication of JPH02299025A publication Critical patent/JPH02299025A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロコンピュータ、特に、内蔵メモリを有
し、外部メモリに接続可能なマイクロコンピュータに関
する。
〔従来の技術〕
従来のマイクロコンピュータ(以下マイコンという)は
、内蔵RAMと外部バス端子とを含んで構成される。
内蔵RAMは、内部バスに直結され、高速にアクセスで
きるメリットから高速のデータエリアとして使用でき、
また外部バスに接続された外部メ・  モリは、通常の
データエリアとして使用される。
上述のような従来のマイコンでは、スタックエリア(サ
ブルーチンコール時の戻りアドレスの退避等に使用され
る)は、外部メモリに設定し使用される。
従来のマイクロコンピュータについて図面を参照して詳
細に説明する。
第1】図は従来のマイクロコンピュータの一例を示すブ
ロック図である。
第11図に示すマイクロコンピュータは、サブルーチン
コール時のスタックの処理を説明するもので、マイコン
1100の内部では、演算部101、内蔵RAM102
.プログラムカウンタ(以下PCという>120.スタ
ックポインタ(以下SPという)1110が内部バス1
04で接続されており、制御部1103の制御により、
各データの読み出し、書き込みや演算が実行される。
制御部1103は、一般的な構成手法の一つのマイクロ
プログラム制御で実現されているものとする。
内部バス104は、外部バス130に接続され、さらに
外部バス130には外部メモリ131が接続されている
なお、PC120のビット幅は16ビツトとする。ゆえ
に、PC120をスタックエリアに格納するために必要
なエリアは2バイト(16ビツト)である。
また、すべてのメモリのアドレスは、バイト単位で割り
付けられているものとする。
つぎに、マイコン1100のサブルーチンコール命令の
処理を説明する。
サブルーチンコール命令を入力すると、サブルーチンコ
ール命令のマイクロプログラムを制御部1103で実行
する。
第12図は第11図に示す制御部1103がサブルーチ
ンコール命令のマイクロプログラムを実行する際の動作
を説明するためのフローチャートである。
まず、5P1110の内容を2(=PC120をスタッ
クに格納するために必要なバイト数)を減する。
次に、PCI20の値を読み出し、5P1110の値が
示す外部メモリのアドレスに書き込むためのバスサイク
ル(ライトサイクル)を起動する。
続いて、サブルーチンコール命令のオペランドであるサ
ブルーチンのアドレスをPCI20に設定し、サブルー
チンへプログラムの制御が渡るように分岐サイクルを起
動し、マイクロプログラムを終了する。
ライトサイクルと分岐サイクルは、制御部1103で制
御されるものである。
ライトサイクルは、マイクロプログラムで指定されたア
ドレスとデータを内部バス104.外部バス130を通
して、外部メモリ131に書き込むものである。
分岐サイクルは、続く命令処理を中止し、マイクロプロ
グラムで指定されたアドレスを内部バス104、外部バ
ス130を通して、外部メモリ131に出力し、そのア
ドレスからデータ(この場合はプログラムの命令コード
)を読み込み、この命令コードから命令の実行を再開す
るものである。
第13図は第11図に示す制御部1103がサブルーチ
ンリターン命令を実行する場合の動作を説明するための
フローチャートである。
まず、5PIIIOの値が示す外部メモリのアドレスか
らデータ(この場合は、プログラムにおけるサブルーチ
ンからの戻り先アドレス)を読み出すためのバスサイク
ル(リードサイクル)を起動する。
次に、゛リードしたデータをPCI20に格納し、サブ
ルーチンコール命令の次からプログラムの制御が再開す
るように、分岐サイクルを起動する。
最後に、5PIIIOの値を2インクリメントし、マイ
クロプログラムを終了する。
リードサイクルは、制御部1103で制御されたもので
あり、マイクロプログラムで指定されたアドレスを内部
バス104.外部バス130を通して、外部メモリ13
1に出力し、そのアドレスからデータを読み込む。
このように、外部メモリにスタックエリアを設定するマ
イコンでは、サブルーチンコール命令とサブルーチンリ
ターン命令の実行の各々において、外部バスのサイクル
を2回必要とする。
マイコンがスタックをアクセスする処理には、ほかにブ
ツシュ・ポツプ命令におけるデータの退避と復帰、割り
込み処理におけるPCとPSW(プログラム・ステータ
ス・ワード)の退避と復帰などがあるが、いづれの場合
も当然外部医バスサイクルを起動する。
〔発明が解決しようとする課題〕
上述した従来のマイクロコンピュータは、下記のような
欠点があった。
(1)サブルーチンコール命令では、プログラムポイン
タの値を外部バスのライトサイクルを起動し、外部メモ
リのスタックに退避する。この退避を内蔵メモリで行な
った場合に比べ実行速度が低下する。
(a サブルーチンリターン命令では、プログラムポイ
ンタの値を外部バスのリードサイクルを起動し、外部メ
モリのスタックから読み出し復帰する。この復帰を内蔵
メモリで行なった場合に比べ実行速度が低下する。
(3)スタックをアクセスするほかの命令や処理におい
ても、外部メモリのスタックに対し書き込みと読み出し
を行なうため、内蔵メモリに対し行なう場合と比べ実行
速度が低下する。
(4)上記のような実行速度の低下は、安価なシステム
を構築するために低速の外部メモリを使用した場合に、
より顕著になる。
〔課題を解決するための手段〕
本発明のマイクロコンピュータは、内蔵RAMを有し外
部メモリに接続可能なマイクロコンピュータにおいて、 (人)前記内蔵RAM内にデータを退避するために設定
されたスタック領域の境界アドレスを記憶する第1の記
憶手段、 (B)前記スタック領域に退避したアドレスを記憶する
第2の記憶手段、 (C)前記スタック領域の全域を、前記外部メモリに書
き込んだ回数から、読み出した回数を減じた値を記憶す
る第3の記憶手段、 (D)データ退避要求に対し、前記スタック領域に退避
可能であれば退避し、可能でなければ前記スタック領域
の所定サイズ分を前記外部メモリに書き込んだ後、デー
タを前記スタック領域に退避する第1の制御手段、 (E)データ復帰要求に対し、前記外部メモリに書き込
んでなければ前記第2の記憶手段の示すアドレスから復
帰し、書き込んでいれば前記外部メモリから所定のサイ
ズ分を前記スタックに読み出した後、前記第2の記憶手
段の示すアドレスから復帰する第2の制御手段、 とを含んで構成される。
〔実施例〕 次に、本発明の実施例について図面を参照して説明する
本発明のマイクロコンピュータは、スタックエリアを内
蔵RAMに有する(内蔵スタック)。
そして、データのスタックへの退避が次々の発生し、内
部RAMがいっばいになり、それ以上、内部スタックに
データを退避できなくなると、所定のサイズ分だけ外部
メモリに書き出し、その分空いた内部スタックを再利用
する。
逆に、退避したデータを内部スタックから復帰する場合
、外部スタックに書き出した内部スタックのエリアに至
ると、所定のデータを外部スタックから内部スタックへ
読み戻したうえで、内部スタックからデータを復帰する
第1図は本発明の第1の実施例を示すブロック図である
第1図に示すマイクロコンピュータは、マイコン100
のサブルーチンコール時のスタックの処理を説明するも
ので、マイコン100の内部では演算部101.内蔵R
AM102.PC120゜内蔵スタックエリアを指す2
つの8ビツトの内部スタックポインタ5P110とBS
PIII、外部スタックエリアを指すX5P112.作
業用の8ビツトのレジスタMCNTl13が内部バス1
04で接続されており、制御部103の制御により各デ
ータの読み出し、書き込みや演算が実行される。
制御部103は、一般的な構成手法の一つの、マイクロ
プログラム制御で実現されているものとする。
内部バス104は外部バス130に接続され、さらに外
部バス130には外部メモリ131が接続されている。
なお、PC120のビット幅は従来例と同様16ビツト
とする。ゆえに、PC120をスタックエリアに格納す
るために必要なエリアは2バイト(=16ビツト)であ
る。また、すべてのメモリのアドレスは、バイト単位で
割り付けられているものとする。
内蔵メモリ102は、512バイトあるものとし、その
うち256バイトを内部スタックに、残りの256ビツ
トをプログラムの一般のデータ領域に使用されるものと
する。
内部スタックの256バイトは、64バイトの4ブロツ
クに分割されており、この64バイトを所定のサイズと
して、内部スタックから外部メモリ(外部スタック)に
データを書き出したり、逆に外部スタックから、内部ス
タックにデータを読み出す。
なお、ユーザのプログラムの初期設定により、5PII
OとBSPlllは、ともに254 (16進数表現で
はFEH)に、MCNT13は255 (16進数表現
ではFFH)に初期化されているものとする。
第2図および第3図は第1図に示す制御部103で実行
されるサブルーチンコール命令およびサブルーチンリタ
ーン命令のマイクロプログラムの処理内容を示すフロー
チャートである。
次に、サブルーチンコール命令処理を説明するが、本発
明の特徴の一つである、内部スタックがいっばいにたっ
たときにデータが外部スタックへはき出される様子の説
明を容易にするために、サブルーチンコール命令を連続
して実行する場合を想定する。
第4図はサブルーチンコール命令の処理内容の動作を説
明するための模式図である。
内部スタックの初期状態は(1)に示される。
SPI 10.BSPI 11.MCNTl 13の値
は、上述した初期値を保持している。つまり、SP=F
EH BSP=FEH MCNT=FEH ここで、マイコン100がサブルーチンコール命令を入
力すると、第2図に示すマイクロプログラムが起動され
、その処理は第2図の (ア)→(力) →(キ) →(り) →(つ) →(
I)と実行されて、PCI20の値は内部スタックに格
納され、サブルーチンコール命令のオペランドであるサ
ブルーチンのアドレスをPC120に設定し、サブルー
チンへプログラムの制御が渡るように分岐サイクルを起
動し、マイクロプログラムを終了する。
5PIIO,BSPIII、MCNT11.3の値は、 SP=OH BSP=FEH MCNT=OH となり、内部スタックの状態は第4図の(2)に移る。
ここで、さらにマイコン100がマイクロプログラムを
入力すると、第2図の (ア)→(イ) →(つ) →(1) と実行されて、PC120と値は、内部スタックに格納
され、分岐サイクルを起動し、マイクロプログラムは終
了する。
SPI 10.BSPI 11.MCNT113の値は
、 SP=48 BSP=FEH MCNT=OH となり、さらにマイコン100がサブルーチンコ−ル命
令を繰り返し実行すると、第4図のく3)の内部スタッ
クの状態を経て、第4図の(4)に移る。
このときのSPI 10.BSPI 11.MCNT1
13の値は、 SP=FEH BSP=FEH MCNT113 となる。
さらにマイコン100がサブルーチンコール命令を実行
すると第2図の、 くア)→(力) →(キ) →(ケ) →()) →(
つ) →(I)と実行される。
ここで1、内部スタックの64バイトのブロックを外部
メモリ131に書き込む理由は、PS120の値を格納
すべき内部スタックのエリアは既に第4図の(2)の状
態で使用されているので、外部メモリ131に退避する
必要があるからである。
このとき、外部メモリに書き込むためのライトサイクル
は、32回発生する。
その結果、PCI20の値は、内部スタックに格納でき
、分岐サイクルを起動し、マイクロプログラムを終了す
る。
内部スタックの状態は、第4図の(5〉の状態になり、
SPI 10.BSPI ]、1.MCNT113の値
は、 S P = OH BSP=3EH M CN T = 1. )( となる。
さらにマイコン100がサブルーチンコール命令を実行
すると第2図の、 (7)→(力) →(す) →(シ) →()) →(
つ) →(1)と実行され、内部スタックの64バイト
のブロックを外部メモル131に書き込み、PC120
の値は内部スタックに格納され、分岐サイクルを起動し
マイクロプログラムは終了する。
内部スタックの状態は、第4図の(7)の状態になり、
5PIIO,BSPIIl、、MCNT113の値は、 SP=408 BSP=7EH MCNT=LH となる。
さらにマイコン]、00がサブルーチンコール命令を実
行すると第4図の(8)に移る。
このときのSPI 1.0.BSPI 11.MCNT
113の値は、 SP=7EH BSP=7EH MCNT=LH となり、さらにマイコン100がサブルーチンコール命
令を実行すると第2図の、 (ア)→(力) →(す)→(シ) →(コ)−(つ)
 →(1)と実行され、内部スタックの64バイトのブ
ロックを外部メモリ131に書き込み、PC120の値
は内部スタックに格納され、分岐サイ7を起動し、マイ
クロプログラムは終了する。
さらにマイコン100がサブルーチンコール命令を実行
すると第4図の(9)の状態になり、このときのSPI
 10.BSPI 11.MCNT113の値は、 S  P  =  F  E  H BSP=FEH MCNT113 となり、さらにマイコン100がサブルーチンコール命
令を実行すると第2図の、 くア)→(力) →(キ) →くケ) →くコ) →く
つ) →(1)と実行され、内部スタックの64バイト
のブロックを外部メモリ131に書き込み、PCI°2
0の値は内部スタックに格納され、分岐サイ7を起動し
、マイクロプログラムは終了する。
内部スタックは、第4図の(10)の状態になり、5P
IIO,BSPIII、MCNT113の値は、 5P=OH B S P = 3 E H MCNT113 となる。
以降、マイコン100がサブルーチンコール命令を繰り
返し実行すると、内部スタックは第4図の(6)から(
10)の状態を繰り返す。
なお、ライトサイクルと分岐サイクルは、制御部103
で制御される。
ライトサイクルは、マイクロプログラムで指定されたア
ドレスとデータを、内部バス104.外部バス130を
通して、外部メモリ131に書き込むものである。
分岐サイクルは、続く命令を中止し、マイクロプログラ
ムで指定されたアドレスを内部バス104、外部バス1
30を通して、外部メモリ131に出力し、そのアドレ
スからデータ(この場合はプログラムの命令コード)を
読み込み、この命令コードから命令実行を再開するもの
である。
次に、サブルーチンリターン命令処理を説明するが、本
発明の特徴の一つである、外部スタックに書き出してい
たデータを内部スタックへ読み戻す様子の説明を容易に
するために、サブルーチンリターン命令を連続して実行
する場合を想定する。
第5図はサブルーチンコール命令の処理内容の動作を説
明するための模式図である。
内部スタックの初期状態は、上述のサブルーチンコール
の最終状態、つまり5PIIO,BSPl 11、MC
NTl 13の値は、 SP=28 BSP=3EH MCNT113 であり、内部スタックは第5図の(11)の状態とする
ここで、マイコン100がサブルーチンリターン命令を
入力すると、第3図のマイクロプログラムが起動され、
その処理は第3図の (り)→(チ)→(ツ)→(テ)→(ト)と実行される
5PIIOの値が示す内部メモリ(内部スタック)のア
ドレスからデータ(この場合は、プログラムにおけるサ
ブルーチンからの戻り先アドレス)を読み出し、読み出
したデータをP(,120に格納し、サブルーチンリタ
ーン命令の次からプログラムの制御が再開できるように
、分岐サイクルを起動する。
そして、5PIIOの値を2デクリメントして、マイク
ロプログラムの実行を終了する。
5PIIO,BSPIII、MCNT113の値は、 SP=OH BSP=3EH M′CNT−2H となり、内部スタックの状態は第5図の(12)に移る
ここで、さらにマイコン100がサブルーチンリターン
命令を入力すると、第3図のマイクロプログラムが起動
され、その処理は第3図の(り)→(チ)→(ハ)→(
ヤ)→(ユ〉 →(へ)→(ト)と実行されて、5PI
IOが示す内部スタックからプログラムにおけるサブル
ーチンからの戻り先アドレスを読み出しPC120に格
納し、分岐サイクルを起動して、マイクロプログラムの
実行を終了する。
5PIIO,BSPIII、MCNT113の値は、 SP=FEH BSP=3EH M CN T = L H となり、内部スタックの状態は第5図のく13)に移る
ここで、さらにマイコン100がサブルーチンリターン
命令を入力すると、第3図の (り)→(チ)→(ツ) →(テ) →(ト)と実行さ
れて、内部スタックからプログラムの戻り先アドレスを
読み出しPCI20に格納し、分岐サイクルを起動して
、マイクロプログラムの実行を終了する。
5PIIO,BSP1’ll、MCNT113の値は、 SP=408 BSP=3EH MCNT=IH となり、さらにマイコン100がサブルーチンリターン
命令を入力すると、第3図の (り)→(チ)→()) →け) →(ネ〉 →(ハ 
→(ト)と実行される。
ここで、外部メモリから64バイトを内部スタックのブ
ロックに読み出す理由は、次にPct20の値を読み出
すべき内部スタックのブロックは外部メモリ131に退
避されており、内部スタックに復帰しておく必要がある
からである。
このとき、外部メモリから読み出すためのリードサイク
ルは、32回発生する。
その結果、内部スタックは第5図の(16)の状態にな
り、SPI 10.BSPI 11.MCNT113の
値は、 5P=3EH B S P = F E H MCNT=IH となる。
さらにマイコン100がサブルーチンリターン命令を繰
り返し入力すると第5図の(17)に至る。
1このときSPI 10.BSPI 11.MCNT1
13の値は、 SP=OH BSP=FEH MCNT=IH となる。さらにマイコン100がサブルーチンリターン
命令を入力すると、第3図の (り)→〈チ)−(ハ) →(ヒ)→(ホ)−(マ) 
→(ト)と実行され、外部メモリから64バイトを内部
スタックのブロックに読み出す。
その結果、内部スタックは第5図の(18)の状態にな
り、このときSPI 10.BSPI ]1、MCNT
113の値は、 5P=COH B S P = B E i−( MCNT=OH となる。さらにマイコン100がサブルーチンリターン
命令を入力すると、第3図の (り)→(チ) →()) →け) →に) →(ヌ)
 →(1・)と実行され、外部メモリから64バイトを
内部スタックのブロックに読み出す。
その結果、内部スタックは第5図の(20)の状態にな
り、このとき5PIIO,BSPIll 、 MCNT
 113の値は、 SP=BBH BSP=7EH MCNT=OH となる。さらにマイコン100がサブルーチンリターン
命令を繰り返し入力すると、第5図のく21〉に至る。
このときSPI 10.BSPI 11.MCNT11
3の値は、 SP=40H BSP=3EH M CN T = OH となり、さらにマイコン100がサブルーチンリターン
命令を入力すると、第3図の (り)→(チ)→())→(す)→(ネ)→(ハ →(
ト)と実行され、外部メモリから64バイトを内部スタ
ックのブロックに読み出す。
その結果、内部スタックは第5図の(22)の状態にな
り、このときSP1]、O,BSPIll、MCNT1
13の値は、 SP=3EH BSP=FEH M CN ′T’ = OH となる。
さらにマイコン100がサブルーチンリターン命令を繰
り返し入力すると、第5図の(23)になり、SPI 
10.BSPI 11.MCNTl 13の値は、 S P = OH BSP=FEH MCNT= OH となる。さらにマイコン100がサブルーチンリターン
命令を入力すると、第3図の (り)→(チ)→(八)→(L)  →(7)→(へ)
→(ト)と実行され、内部スタックは第5図の(24)
の状態になり。SPI 10.BSPI 11.MCN
T113の値は、 SP=FEH BSP=FEH MCNT=FEH となり、最初のサブルーチンコールを実行する前の初期
状態に戻る。
なお、リードサイクルは制御部103で制御され、マイ
クロプログラムで指定されたアドレスを内部バス104
.外部バス130を通して、外部メモリ131に出力し
、そのアドレスからデータを読み込む。
サブルーチンコール命令とサブルーチンリターン命令が
ランダムに入力される場合のマイコンの処理と内部スタ
ックの状態遷移は、以上の説明から容易に解釈可能であ
るので省略する。
また、スタックをアクセスするほかの処理であるブツシ
ュ・ポツプ命令や、割り込み処理等におけるデータの退
避と復帰には、第2図、第3図の内部スタックの管理ア
ルゴリズムを容易に適用可能である。
従って、第2図、第3図から明がなように、スタックを
アクセスする処理において、内部スタックエリアが使用
可能であれば外部スタックをアクセスしないので、デー
タの退避、復帰のための外部バスサイクルを起動しない
なお、内部スタックサイズを128バイト、ブロックサ
イズを64バイトとしたが、内部スタックサイズをブロ
ックサイズの整数倍にすることに留意して任意のサイズ
に決定できる。
また、SPI 1.0.BSPI 11.MCNT11
3は、内部スタックサイズとブロックサイズから適切な
ビット数に設定するものであり、8ビツトに制限される
ものでない。
第6図は本発明の第2の実施例を示すブロック図である
この実施例の特有の機能は、内蔵メモリの内部スタック
領域と一般のデータ領域の境界を、ユーザがプログラム
で初期設定できることである。
マイコン600のサブルーチンコール時のスタック処理
の場合、マイコン600が第1の実施例と異なる点は、
マイコン600に内部スタックエリアを指す3番目の8
ビツトの内部スタックポインタTSP610が追加され
ていることである。
TSP610は、内蔵メモリの内部スタック領域と一般
のデータ領域の境界を記憶するレジスタであり、ユーザ
がプログラムで任意に初期設定できる。
例えば、内蔵RAMが512バイトあるものとし、その
うち256バイトを内部スタックに、残りの256バイ
トを一般のデータ領域に使用する場合は、TSP410
にFEHを設定する。
なお、内部スタックは、64バイトの4ブロツクに分割
されているものとする。
第7図は第6図に示す制御部60Bで実行されるサブル
ーチンコール命令のマイクロプログラム処理内容を示す
フローチャート、第8図は第6図に示す制御部603で
実行されるサブルーチンリターン命令のマイクロプログ
ラム処理内容を示すフローチャートである。
第9図および第10図はサブルーチンコール命令および
サブルーチンリターン命令を連続して実行する場合の状
態遷移を動作を説明するための模式図である。
詳細な動作は、次のように初期設定した場合に第1の実
施例と同様になるので、説明を省略する。
SP=FEH BSP=FEH MCNT=FEH TSP=FEH 本実施例の応用として、内部スタックエリアを指す4番
目の8ビツトの内部スタックポインタを設定し、第7図
、第8図のマイクロプログラムを変更することによって
、この4番目のポインタとTSP610により内部スタ
ックが使用する内蔵RAMのエリアを容易に、設定する
ことが可能である。
なお、内部スタックサイズ、ブロックサイズ。
3つの内部スタックを指すポインタのビット長は、この
実施例に限定されるものでない。
〔発明の効果〕
本発明のマイクロコンピュータは、スタックエリアを高
速アクセス可能な内蔵RAM内に有し、内部スタックが
いっばいになる等の場合にのみ外部メモリをアクセスす
るので、次のような効果を得ることができる。
(1)サブルーチンコール命令では、プログラムポイン
タの値を内蔵RAMに退避するなめ、内部スタックがい
っばいでなければ外部バスのライトサイクルを起動する
必要がないので、実行速度が上昇する。
(2)サブルーチンリターン命令では、プログラムポイ
ンタの値を内蔵RAMから復帰するため、そのデータが
内部スタックに存在すれば外部バスのリードサイクルを
起動する必要がないので、実行速度が上昇する。
(3)スタックをアクセスするほかの命令や処理におけ
るデータの退避において、内部スタックがいっばいでな
ければ、あるいは復帰するデータが内部スタックに存在
すれば、外部バスサイクルを起動する必要がないので、
実行速度が上昇する。
(4)上述のような実行速度の上昇は、安価なシステム
を構築するために低速の外部メモリを使用した場合にも
、無関係に得られる。
図面の簡単な説明 第1図は本発明の第1の実施例を示すブロック図、第2
図および第3図は第1図に示す制御部103で実行され
るサブルーチンコール命令およびサブルーチンリターン
命令のマイクロプログラムの処理内容を示すフローチャ
ート、第4図はサブルーチンコール命令の処理内容の動
作を説明するための模式図、第5図はサブルーチンコー
ル命令の処理内容の動作を説明するための模式図、第6
図は本発明の第2の実施例を示すブロック図、第7図は
第6図に示す制御部603で実行されるサブルーチンコ
ール命令のマイクロプログラム処理内容を示すフローチ
ャート、第8図は第6図に示す制御部603で実行され
るサブルーチンリターン命令のマイクロプログラム処理
内容を示すフローチャート、第9図および第10図はサ
ブルーチンコール命令およびサブルーチンリターン命令
を連続して実行する場合の状態遷移を動作を説明するた
めの模式図、第11図は従来のマイクロコンピュータの
一例を示すブロック図、第12図は第11図に示す制御
部1103がサブルーチンコール命令のマイクロプログ
ラムを実行する際の動作を説明するためのフローチャー
ト、第13図は第11図に示す制御部103がサブルー
チンリターン命令を実行する場合の動作を説明するため
のフローチャートである。
101・・・・・・マイコン、101・・・・・・演算
部102・・・・・・内蔵RAM、103・・・・・・
制御部、104・−・・・・内部バス、110,111
・・・・・・内部スタックポインタ、112・・・・・
・外部スタックポインタ、113・・・・・・作業用レ
ジスタ、120・・・・・・プログラムカウンタ、13
0・・・・・・外部バス、131・・・・・・外部メモ
リ。

Claims (1)

  1. 【特許請求の範囲】 内蔵RAMを有し外部メモリに接続可能なマイクロコン
    ピュータにおいて、 (A)前記内蔵RAM内にデータを退避するために設定
    されたスタック領域の境界アドレスを記憶する第1の記
    憶手段、 (B)前記スタック領域に退避したアドレスを記憶する
    第2の記憶手段、 (C)前記スタック領域の全域を、前記外部メモリに書
    き込んだ回数から、読み出した回数を減じた値を記憶す
    る第3の記憶手段、 (D)データ退避要求に対し、前記スタック領域に退避
    可能であれば退避し、可能でなければ前記スタック領域
    の所定サイズ分を前記外部メモリに書き込んだ後、デー
    タを前記スタック領域に退避する第1の制御手段、 (E)データ復帰要求に対し、前記外部メモリに書き込
    んでなければ前記第2の記憶手段の示すアドレスから復
    帰し、書き込んでいれば前記外部メモリから所定のサイ
    ズ分を前記スタックに読み出した後、前記第2の記憶手
    段の示すアドレスから復帰する第2の制御手段、 とを含むことを特徴とするマイクロコンピュータ。
JP11980189A 1989-05-12 1989-05-12 マイクロコンピュータ Pending JPH02299025A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11980189A JPH02299025A (ja) 1989-05-12 1989-05-12 マイクロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11980189A JPH02299025A (ja) 1989-05-12 1989-05-12 マイクロコンピュータ

Publications (1)

Publication Number Publication Date
JPH02299025A true JPH02299025A (ja) 1990-12-11

Family

ID=14770563

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11980189A Pending JPH02299025A (ja) 1989-05-12 1989-05-12 マイクロコンピュータ

Country Status (1)

Country Link
JP (1) JPH02299025A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05250161A (ja) * 1992-03-06 1993-09-28 Matsushita Electric Ind Co Ltd マイクロコンピュータ装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5023944A (ja) * 1973-06-26 1975-03-14
JPS5873099A (ja) * 1981-10-23 1983-05-02 Canon Inc デ−タ処理装置
JPS58103043A (ja) * 1981-12-15 1983-06-18 Matsushita Electric Ind Co Ltd スタック形成方法
JPS59146344A (ja) * 1983-02-10 1984-08-22 Fujitsu Ltd 仮想スタツク先行制御方式

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5023944A (ja) * 1973-06-26 1975-03-14
JPS5873099A (ja) * 1981-10-23 1983-05-02 Canon Inc デ−タ処理装置
JPS58103043A (ja) * 1981-12-15 1983-06-18 Matsushita Electric Ind Co Ltd スタック形成方法
JPS59146344A (ja) * 1983-02-10 1984-08-22 Fujitsu Ltd 仮想スタツク先行制御方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05250161A (ja) * 1992-03-06 1993-09-28 Matsushita Electric Ind Co Ltd マイクロコンピュータ装置

Similar Documents

Publication Publication Date Title
JP3878851B2 (ja) 連結リストdma記述子アーキテクチャ
US5386563A (en) Register substitution during exception processing
WO2009073542A1 (en) Enhanced microprocessor or microcontroller
JP3605978B2 (ja) マイクロコンピュータ
EP2215544B1 (en) Enhanced microprocessor or microcontroller
JPH0414385B2 (ja)
US5757685A (en) Data processing system capable of processing long word data
EP0614137B1 (en) Data processing system providing an extensible register and method thereof
JPS5911921B2 (ja) 数値制御装置
JPH02299025A (ja) マイクロコンピュータ
JPH027097B2 (ja)
JP3005626B2 (ja) データ処理システムおよびデータ転送方法
JP2568017B2 (ja) マイクロプロセッサ及びそれを使用したデータ処理システム
JPS62197842A (ja) キヤツシユメモリ制御方式
JPS62107339A (ja) マイクロコンピユ−タの命令構成方法
JPH0333934A (ja) レジスタ退避復帰方式
JP2000029508A (ja) プログラマブルコントローラ
JPS6313214B2 (ja)
JP3091674B2 (ja) マイクロコンピュータ
JP3239042B2 (ja) マイクロコンピュータ
JPH0353327A (ja) マイクロコンピュータ
JPS63271567A (ja) 非対称密結合マルチプロセツサシステム
JPH04162135A (ja) データ処理装置
JPS6124735B2 (ja)
JP2000035875A (ja) レジスタのダイナミックレンジを拡大する方法と装置