JPH07253889A - ワンチップマイクロコンピュータ - Google Patents

ワンチップマイクロコンピュータ

Info

Publication number
JPH07253889A
JPH07253889A JP6045551A JP4555194A JPH07253889A JP H07253889 A JPH07253889 A JP H07253889A JP 6045551 A JP6045551 A JP 6045551A JP 4555194 A JP4555194 A JP 4555194A JP H07253889 A JPH07253889 A JP H07253889A
Authority
JP
Japan
Prior art keywords
program counter
memory
stack
address
instruction
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
JP6045551A
Other languages
English (en)
Inventor
Hideshi Nakazawa
英志 中澤
Satoshi Tanaka
聡 田中
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP6045551A priority Critical patent/JPH07253889A/ja
Publication of JPH07253889A publication Critical patent/JPH07253889A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 【目的】 プログラムカウンタ専用メモリを有して高速
性を維持し、スタックレベルの制限をなくすことのでき
るワンチップマイクロコンピュータを提供する。 【構成】 プログラムカウンタスタック6のスタックレ
ベルの範囲で、サブルーチン分岐命令を行うユーザープ
ログラムであれば、専用メモリと専用バスを有するプロ
グラムカウンタスタック6およびスタックポインタ7の
ブロックで動作を行うので、非常に高速に処理が可能で
ある。また、ユーザープログラムのスタックレベルが深
い場合でも、プログラムカウンタスタック6のスタック
レベルを超えたときには、コントロール回路8の制御に
より、スタックポインタ9の指し示すランダムアクセス
メモリ5のアドレスにプログラムカウンタ2の値をスタ
ックすることが可能となる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、MOS型ワンチップ
マイクロコンピュータに関するものである。
【0002】
【従来の技術】近年、ワンチップマイクロコンピュータ
のプログラムにおいて、現在のアドレスをメモリへ待避
させる分岐命令時に、プログラムカウンタの内容を一旦
待避させる領域の専用メモリおよび専用バスを有して、
サブルーチン分岐命令の高速化をはかった専用スタック
タイプと、通常のデータエリアと同一メモリ上にスタッ
クエリアを持ち、汎用バスを介してサブルーチン分岐命
令を実行する同一メモリタイプの二つのタイプのワンチ
ップマイクロコンピュータが存在する。
【0003】以下に専用スタックタイプの従来のワンチ
ップマイクロコンピュータについて図面を参照しながら
説明する。図2は従来のワンチップマイクロコンピュー
タのブロック図である。図2において、1はプログラム
を格納する読み出し専用メモリ(ROM)である。2は
読み出し専用メモリ1のアドレスを発生させるプログラ
ムカウンタ(PC)である。3は読み出し専用メモリ1
のデータを保持するインストラクションラッチ(IR)
である。4はプログラムカウンタ2により示されるアド
レスの命令を解釈する命令解読回路(PLA)である。
5はプログラム内で使用されるデータをたくわえるラン
ダムアクセスメモリ(RAM)である。6は現在のアド
レスの待避および復帰を行うサブルーチン分岐命令時に
使用されるプログラムカウンタ専用メモリのプログラム
カウンタスタック(PC STACK)である。7はプ
ログラムカウンタスタック6を示すアドレスを発生させ
るスタックポインタ(SP1)である。
【0004】読み出し専用メモリ1は、プログラムカウ
ンタ2のアドレスをうけて、インストラクションラッチ
3にデータを出力し、インストラクションラッチ3は、
命令解読回路4により解釈することにより、プログラム
カウンタ2を制御する。以上のように構成されたワンチ
ップマイクロコンピュータのサブルーチン分岐命令の動
作について説明する。
【0005】サブルーチン分岐命令において、現アドレ
ス待避命令時には、スタックポインタ7をディクリメン
ト後、スタックポインタ7にアドレシングされるプログ
ラムカウンタスタック6にサブルーチン分岐命令の次ア
ドレスのプログラムカウンタ2の値を待避し、サブルー
チン分岐命令で指定されたアドレスをプログラムカウン
タ2にセットし、指定したサブルーチンへ分岐を行う。
【0006】また、スタック復帰命令時には、スタック
ポインタ7で、間接アドレシングされるプログラムカウ
ンタスタック6の値を、プログラムカウンタ2に復帰さ
せた後、スタックポインタ7をインクリメントする。ま
た、スタックポインタ7は、制約された任意のスタック
レベル以下で、現アドレスの待避命令を実行すると、オ
ーバーフローとなり、リセット信号が発生し、そしてま
た、スタックレベル以上で、プログラムカウンタスタッ
ク復帰命令を実行すると、オーバーフローとなり、リセ
ット信号が発生する。
【0007】
【発明が解決しようとする課題】しかしながら上記従来
の構成では、プログラムカウンタ専用メモリのプログラ
ムカウンタスタック6および専用バスを有するため、ユ
ーザープログラムの設定とは無関係にプログラムカウン
タスタック領域に制限ができてしまう欠点を有してい
た。
【0008】また、プログラムカウンタの値の待避を汎
用のメモリエリアに設定する同一メモリタイプの場合、
汎用のバスを使用するため、データ転送用にバスの使用
期間をとられてしまい、サブルーチン分岐命令時の分岐
が遅くなってしまう。この発明の目的は、プログラムカ
ウンタ専用メモリを有して高速性を維持し、スタックレ
ベルの制限をなくすことのできるワンチップマイクロコ
ンピュータを提供することである。
【0009】
【課題を解決するための手段】この目的を達成するため
にこの発明のワンチップマイクロコンピュータは、プロ
グラムを格納する読み出し専用メモリと、この読み出し
専用メモリのアドレスを発生させるプログラムカウンタ
と、このプログラムカウンタが発生した読み出し専用メ
モリのアドレスの命令を解読する命令解読回路と、サブ
ルーチン分岐命令の次アドレスのプログラムカウンタの
値を待避させるプログラムカウンタ専用メモリと、この
プログラムカウンタ専用メモリのアドレスを示し、プロ
グラムカウンタの値を待避させるプログラムカウンタ専
用メモリが容量を超えた際にオーバーフロー信号を発生
する第1のスタックポインタと、読み書き可能メモリ
と、この読み書き可能メモリのアドレスを示す第2のス
タックポインタと、命令解読回路で解読した命令がサブ
ルーチン分岐命令の場合に、サブルーチン分岐命令と第
1のスタックポインタが発生するオーバーフロー信号と
に応答して、第2のスタックポインタの示すアドレスの
読み書き可能メモリにプログラムカウンタの値を待避さ
せるように制御するコントロール回路とを備えている。
【0010】
【作用】この発明の構成によれば、プログラムカウンタ
専用メモリの容量の範囲で、サブルーチン分岐命令を行
うユーザープログラムであれば、第1のスタックポイン
タが示すプログラムカウンタ専用メモリにサブルーチン
分岐命令の次アドレスのプログラムカウンタの値を待避
させることにより、非常に高速に処理が可能である。
【0011】また、プログラムカウンタ専用メモリの容
量を超えた際には、第1のスタックポインタがオーバー
フロー信号を発生し、このオーバーフロー信号が発生し
ているときは、コントロール回路の制御により、第2の
スタックポインタの示すアドレスの読み書き可能メモリ
にサブルーチン分岐命令の次アドレスのプログラムカウ
ンタの値を待避させるようにしているため、サブルーチ
ン分岐命令を処理することが可能になる。
【0012】
【実施例】以下、この発明の一実施例のワンチップマイ
クロコンピュータについて、図面を参照しながら説明す
る。図1はこの発明の一実施例のワンチップマイクロコ
ンピュータのブロック図である。図1において、1はプ
ログラムを格納する読み出し専用メモリ(ROM)であ
る。2は読み出し専用メモリ1のアドレスを発生させる
プログラムカウンタ(PC)である。3は読み出し専用
メモリ1のデータを保持するインストラクションラッチ
(IR)である。4はプログラムカウンタ2により示さ
れるアドレスの命令を解釈する命令解読回路(PLA)
である。5はプログラム内で使用されるデータをたくわ
えるランダムアクセスメモリ(RAM;読み書き可能メ
モリ)である。6は現在のアドレスの待避および復帰を
行うサブルーチン分岐命令時に使用されるプログラムカ
ウンタ専用メモリのプログラムカウンタスタック(PC
STACK)である。7はプログラムカウンタスタック
6を示すアドレスを発生させる(第1の)スタックポイ
ンタ(SP1)である。8はスタックポインタ7および
スタックポインタ9の切り替えを行うコントロール回路
である。9はランダムアクセスメモリ5にプログラムカ
ウンタ2の値を待避させる時、ランダムアクセスメモリ
5を示すアドレスを発生させる(第2の)スタックポイ
ンタ(SP2)である。10は内部データバス、11,
12,13はデータバス、14,15,16,17はア
ドレスバスである。また、aはオーバーフロー信号、b
はサブルーチン分岐命令、cはアドレス制御信号であ
る。
【0013】読み出し専用メモリ1は、プログラムカウ
ンタ2のアドレスをうけて、インストラクションラッチ
3にデータを出力し、インストラクションラッチ3は、
命令解読回路4により解釈することにより、コントロー
ル回路8を介して、プログラムカウンタ2を制御する。
コントロール回路8は、命令解読回路4からのサブルー
チン分岐命令bとスタックポインタ7のオーバーフロー
信号aに応答して、プログラムカウンタ2の値の待避場
所を示すアドレスを、スタックポインタ7からスタック
ポインタ9に切り替えるようにしている。
【0014】以上のように構成されるワンチップマイク
ロコンピュータついて、以下その動作を説明する。ま
ず、サブルーチン分岐命令において、現アドレス待避命
令時には、スタックポインタ7をディクリメント後、ス
タックポインタ7に間接アドレシングされるプログラム
カウンタスタック6にサブルーチン分岐命令の次アドレ
スのプログラムカウンタ2の値を待避し、サブルーチン
分岐命令で指定されたアドレスをプログラムカウンタ2
にセットし、指定したサブルーチンへ分岐を行う。
【0015】ここで、従来の専用スタックタイプでは、
スタックレベルは制限があり、制限を超えて現アドレス
待避命令およびスタック復帰命令がきた場合、スタック
ポインタ7はオーバーフロー信号aを出力しリセットを
かけるが、この実施例では、命令解読回路4をコントロ
ール回路8と接続してあり、コントロール回路8が現ア
ドレス待避命令(サブルーチン分岐命令b)を受け付け
た場合に、スタックポインタ7よりオーバーフロー信号
aが発生しているときは、スタックポインタ9の指し示
すランダムアクセスメモリ5にサブルーチン分岐命令の
次アドレスのプログラムカウンタ2の値を待避させ、サ
ブルーチン分岐命令で指定されたアドレスをプログラム
カウンタ2にセットし、指定したサブルーチンへ分岐を
行う。
【0016】ランダムアクセスメモリ5にプログラムカ
ウンタ2の値をスタックするときは、プログラムカウン
タ2の値を転送する間、内部データバス10を開放する
ために、コントロール回路8は、インストラクションラ
ッチ3,命令解読回路4およびプログラムカウンタ2の
それぞれを制御する。すなわち、コントロール回路8に
より、サブルーチン分岐命令の次アドレスのプログラム
カウンタ2の値の待避が完了する迄のマシンサイクルの
間は、インストラクションラッチ3のデータは、コント
ロール回路8より、ノーオペレーション命令に固定し、
内部データバス10をマシンサイクルの間は開放する。
また、プログラムカウンタ2の動作も固定し、読み出し
専用メモリ1によるワンチップマイクロコンピュータの
基本動作をノーオペレーションとする。
【0017】また、スタックポインタ9には、あらかじ
めリミッタ回路を設けておき、ランダムアクセスメモリ
5をプログラムカウンタスタックメモリとして使用する
場合のスタックレベルの上限値と下限値を設定し、上限
値を超えた場合はスタックポインタ7にスタック制御を
うつす。また、下限値を超えた場合はリセットをかけ
る。
【0018】以上のようにこの実施例によれば、プログ
ラムカウンタスタック6のスタックレベルの範囲で、サ
ブルーチン分岐命令を行うユーザープログラムであれ
ば、専用メモリと専用バスを有するプログラムカウンタ
スタック6およびスタックポインタ7のブロックで動作
を行うので、非常に高速に処理が可能である。また、ユ
ーザープログラムのスタックレベルが深い場合でも、プ
ログラムカウンタスタック6のスタックレベルを超えた
ときには、コントロール回路8の制御により、スタック
ポインタ9の指し示すランダムアクセスメモリ5のアド
レスにプログラムカウンタ2の値をスタックすることが
可能となり、プログラムの操作性が飛躍的に向上する。
【0019】
【発明の効果】この発明のワンチップマイクロコンピュ
ータは、プログラムカウンタ専用メモリの容量の範囲
で、サブルーチン分岐命令を行うユーザープログラムで
あれば、第1のスタックポインタが示すプログラムカウ
ンタ専用メモリにサブルーチン分岐命令の次アドレスの
プログラムカウンタの値を待避させることにより、非常
に高速に処理が可能である。
【0020】また、プログラムカウンタ専用メモリの容
量を超えた際には、第1のスタックポインタがオーバー
フロー信号を発生し、このオーバーフロー信号が発生し
ているときは、コントロール回路の制御により、第2の
スタックポインタの示すアドレスの読み書き可能メモリ
にサブルーチン分岐命令の次アドレスのプログラムカウ
ンタの値を待避させるようにしているため、サブルーチ
ン分岐命令を処理することが可能になり、プログラムの
操作性が飛躍的に向上する。
【図面の簡単な説明】
【図1】この発明の一実施例のワンチップマイクロコン
ピュータのブロック図である。
【図2】従来のワンチップマイクロコンピュータのブロ
ック図である。
【符号の説明】
1 読み出し専用メモリ 2 プログラムカウンタ 3 インストラクションラッチ 4 命令解読回路 5 ランダムアクセスメモリ(読み書き可能メモリ) 6 プログラムカウンタスタック(プログラムカウンタ
専用メモリ) 7 (第1の)スタックポインタ 8 コントロール回路 9 (第2の)スタックポインタ a オーバーフロー信号 b サブルーチン分岐命令

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 プログラムを格納する読み出し専用メモ
    リと、 この読み出し専用メモリのアドレスを発生させるプログ
    ラムカウンタと、 このプログラムカウンタが発生した前記読み出し専用メ
    モリのアドレスの命令を解読する命令解読回路と、 サブルーチン分岐命令の次アドレスの前記プログラムカ
    ウンタの値を待避させるプログラムカウンタ専用メモリ
    と、 このプログラムカウンタ専用メモリのアドレスを示し、
    前記プログラムカウンタの値を待避させる前記プログラ
    ムカウンタ専用メモリが容量を超えた際にオーバーフロ
    ー信号を発生する第1のスタックポインタと、 読み書き可能メモリと、 この読み書き可能メモリのアドレスを示す第2のスタッ
    クポインタと、 前記命令解読回路で解読した命令がサブルーチン分岐命
    令の場合に、前記サブルーチン分岐命令と前記第1のス
    タックポインタが発生するオーバーフロー信号とに応答
    して、前記第2のスタックポインタの示すアドレスの前
    記読み書き可能メモリに前記プログラムカウンタの値を
    待避させるように制御するコントロール回路とを備えた
    ワンチップマイクロコンピュータ。
JP6045551A 1994-03-16 1994-03-16 ワンチップマイクロコンピュータ Pending JPH07253889A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6045551A JPH07253889A (ja) 1994-03-16 1994-03-16 ワンチップマイクロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6045551A JPH07253889A (ja) 1994-03-16 1994-03-16 ワンチップマイクロコンピュータ

Publications (1)

Publication Number Publication Date
JPH07253889A true JPH07253889A (ja) 1995-10-03

Family

ID=12722504

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6045551A Pending JPH07253889A (ja) 1994-03-16 1994-03-16 ワンチップマイクロコンピュータ

Country Status (1)

Country Link
JP (1) JPH07253889A (ja)

Similar Documents

Publication Publication Date Title
JPH02235156A (ja) 情報処理装置
US20060271938A1 (en) Memory mapped lazy preemption control
JP2523653B2 (ja) 仮想計算機システム
JPH07253889A (ja) ワンチップマイクロコンピュータ
JPH04241032A (ja) システムコール実行装置
JPH056281A (ja) 情報処理装置
JPS58200346A (ja) シ−ケンス制御装置
JP2723847B2 (ja) マイクロプロセッサ
JPS59218569A (ja) マイクロ・コンピユ−タ
JPS58107963A (ja) 割込処理装置
JPH059815B2 (ja)
JPS6230452B2 (ja)
JPS58221448A (ja) マイクロコンピユ−タ
JPS61184644A (ja) 仮想計算機システム制御方式
JPS62202236A (ja) マイクロコンピユ−タ装置
JPH0289144A (ja) データ処理装置
JPS6155741A (ja) 演算処理装置
JPH01229332A (ja) 情報処理装置
JPH05143360A (ja) マイクロコンピユータ
JPH01260537A (ja) 機器制御プロセッサ回路
JPS60128532A (ja) 電子計算機装置
JPH03255511A (ja) コンピュータ装置
JPS63101966A (ja) ベクトル処理装置
JPS6336443A (ja) 割り込み処理方式
JPH0883188A (ja) マルチタスク処理を行う計算機