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

マイクロコンピュータ

Info

Publication number
JPH0784784A
JPH0784784A JP23198793A JP23198793A JPH0784784A JP H0784784 A JPH0784784 A JP H0784784A JP 23198793 A JP23198793 A JP 23198793A JP 23198793 A JP23198793 A JP 23198793A JP H0784784 A JPH0784784 A JP H0784784A
Authority
JP
Japan
Prior art keywords
instruction
rom
address
ram
register
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
JP23198793A
Other languages
English (en)
Inventor
Shizuka Ishimura
静 石村
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP23198793A priority Critical patent/JPH0784784A/ja
Publication of JPH0784784A publication Critical patent/JPH0784784A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【目的】 本発明は、サブルーチンコール命令又はメイ
ンルーチンリターン命令を実行する時、RAMの複数の
記憶領域を選択する命令を不要とできるマイクロコンピ
ュータを提供することを目的とする。 【構成】 本発明によれば、ROM(1)から読み出さ
れたプログラム命令がサブルーチンコール命令である
時、サブルーチンを実行する直前におけるプログラムカ
ウンタ(2)及びバンクレジスタ(9)の情報ビットを
スタックレジスタ(17)に保持する。又、ROM
(1)から読み出されたプログラム命令がメインルーチ
ンリターン命令である時、スタックレジスタ(17)に
保持されている前記情報ビットをプログラムカウンタ
(2)及びバンクレジスタ(9)に戻す。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マイクロコンピュータ
に関する。
【0002】
【従来の技術】一般に、マイクロコンピュータは、RO
Mに記憶されたプログラムデータの解読結果に応じて様
々な論理演算を実行できる仕組みになっている。例え
ば、前記ROMは、命令を表す命令コード及びRAMの
アドレスを表すアドレスコード等をシリアル接続して成
るプログラムデータを各アドレスに記憶している。この
場合、前記アドレスコードのビット長は、前記プログラ
ムデータのビット長に依存してしまう。即ち、前記アド
レスコードが前記RAMの全アドレスをアクセスできる
ビット長の時は何ら問題ないが、前記アドレスコードが
前記RAMの一部アドレスしかアクセスできないビット
長の時は、前記RAMの全アドレスをアクセスできる様
に何か対策が必要である。この場合、前記RAMの全記
憶領域を同じアドレス領域を有する複数の記憶領域に分
け、何れか1つの記憶領域を選択した後に該記憶領域の
アドレスをアクセスする様にしている。尚、前記RAM
の複数の記憶領域を選択する命令は、前記ROMの命令
コードに事前に記憶されている。
【0003】さて、前記RAMの或る記憶領域をアクセ
スしているメインルーチンから、前記RAMの他の記憶
領域をアクセスするサブルーチンへ移行する命令を実行
する時、該命令を実行する直前に、前記RAMの記憶領
域を変更する命令を実行しなければならない。反対に、
前記サブルーチンから前記メインルーチンへ復帰する命
令を実行する時、該命令を実行する直前に、前記RAM
の記憶領域を元へ戻す命令を実行する必要がある。従っ
て、前記ROMの或るアドレスにサブルーチンコール命
令又はメインルーチンリターン命令が記憶されている
時、前記ROMの直前のアドレスに前記RAMの複数の
記憶領域の選択命令を記憶させておく必要があった。
【0004】
【発明が解決しようとする課題】しかしながら、サブル
ーチンコール命令又はメインルーチンリターン命令を実
行する際、前記RAMの分割記憶領域の変更を必要とす
る度に、前記ROMに前記RAMの分割記憶領域を変更
する命令を書き込んでいかなければならない。従って、
前記ROMのプログラムステップ数が増え、プログラム
効率が低下する問題があった。又、前記RAMの分割記
憶領域を変更する命令が増えると、該命令を書き誤る可
能性が高くなり、プログラムミスが発生する問題があっ
た。
【0005】そこで、本発明は、サブルーチンコール命
令又はメインルーチンリターン命令を実行する時、RA
Mの複数の記憶領域を選択する命令を不要とできるマイ
クロコンピュータを提供することを目的とする。
【0006】
【課題を解決するための手段】本発明は、前記問題点を
解決する為に成されたものであり、その特徴とするとこ
ろは、命令部及びアドレス部を含むプログラムデータが
記憶されたROMと、前記ROMのアドレスをアクセス
するプログラムカウンタと、前記ROMから読み出され
たプログラムデータの命令部を解読するインストラクシ
ョンデコーダと、前記インストラクションデコーダの解
読内容に応じて論理演算を実行する論理演算ユニット
と、同じアドレス領域を付した複数の記憶領域から成
り、少なくとも前記論理演算ユニットの入出力データが
記憶されるRAMと、前記ROMから読み出されたプロ
グラムデータの命令部が前記RAMの何れか1つの記憶
領域を選択する指示である時、該プログラムデータのア
ドレス部を保持し、前記RAMの何れか1つの記憶領域
を切換えて選択するバンクレジスタと、前記ROMから
読み出されたプログラムデータの命令部が少なくとも論
理演算を実行する情報である時、該プログラムデータの
アドレス部を保持し、前記RAMの何れか1つの記憶領
域のアドレスをアクセスするアドレスレジスタと、を備
えたマイクロコンピュータにおいて、前記プログラムカ
ウンタ及び前記バンクレジスタの情報ビットを同時に保
持するスタックレジスタを備え、前記ROMから読み出
されたプログラムデータの命令部がサブルーチンを実行
する情報である時、前記サブルーチンを実行する直前に
おける前記プログラムカウンタ及び前記バンクレジスタ
の情報ビットを前記スタックレジスタに保持する点であ
る。
【0007】
【作用】本発明によれば、ROMから読み出されたプロ
グラム命令がサブルーチンコール命令である時、サブル
ーチンを実行する直前におけるプログラムカウンタ及び
バンクレジスタの情報ビットをスタックレジスタに保持
する。又、ROMから読み出されたプログラム命令がメ
インルーチンリターン命令である時、スタックレジスタ
に保持されている前記情報ビットをプログラムカウンタ
及びバンクレジスタに戻す。
【0008】
【実施例】本発明の詳細を図面に従って具体的に説明す
る。図1は本発明のマイクロコンピュータを示す図であ
る。図1において、(1)はROMであり、例えば4K
(全アドレス数)×16ビット(各アドレスのビット
数)の記憶容量を有し、プログラムデータが記憶されて
いる。該プログラムデータは、マイクロコンピュータを
制御する命令コード、及び、後述するRAMのロウ及び
カラムのアドレスコード等を含んで成っている。(2)
はプログラムカウンタであり、12ビットの記憶容量を
有し、ROM(1)のアドレスデータを計数するもので
ある。(3)はアドレスデコーダであり、プログラムカ
ウンタ(2)の内容を解読し、ROM(1)をアクセス
するものである。(4)はインストラクションデコーダ
であり、ROM(1)から読み出された命令コードを解
読し、解読結果に応じて、様々な処理を指示するもので
ある。特に、インストラクションデコ−ダ(4)は、サ
ブルーチンコール命令を解読した時にサブルーチンコー
ル信号CALを発生し、又、メインルーチンリターン命
令を解読した時にメインルーチンリターン信号RTを発
生する。(5)はRAMであり、例えば256(全アド
レス数)×4ビット(各アドレスのビット数)の記憶容
量を有し、少なくとも演算データ等が記憶される。
(6)はロウラッチ回路であり、4ビットの記憶容量を
有し、ROM(1)から読み出された2ビットのロウア
ドレスコードを下位2ビットの記憶位置にラッチするも
のである。同様に、(7)はカラムラッチ回路であり、
4ビットの記憶容量を有し、ROM(1)から読み出さ
れた4ビットのカラムアドレスコードを、ロウラッチ回
路(6)と同じタイミングでラッチするものである。
尚、ロウ及びカラムアドレスコードは、プログラムデー
タのビット長の制限から、各々2及び4ビットに設定さ
れている。(8)はアドレスデコーダであり、ロウラッ
チ回路(6)及びカラムラッチ回路(7)の内容を解読
し、RAM(5)をアクセスするものである。ところ
で、ロウ及びカラムアドレスコードは6ビットの為、R
AM(5)の256個のアドレスの内64個のアドレス
しかアクセスできない。そこで、RAM(5)の256
個の全アドレスを64個のアドレス00H〜3FH
(H:ヘキサデシマル)を有する4つの記憶領域に分割
し、何れか1つの記憶領域を選択した後にアドレスをア
クセスできる様にしている。(9)はバンクレジスタで
あり、2ビットの記憶容量を有し、ROM(1)から読
み出された2ビットのバンク切換コードを保持し、ロウ
ラッチ回路(6)の上位2ビットの記憶位置に出力する
ものである。これより、RAM(5)の何れか1つの記
憶領域のアドレスをアクセスできる。(10)(11)
はラッチ回路であり、RAM(5)から読み出されたデ
ータをバス(12)を介してラッチするものである。
(13)はALU(論理演算ユニット)であり、インス
トラクションデコ−ダ(4)の解読結果に従って、ラッ
チ回路(10)(11)の内容に論理演算を施すもので
ある。ALU(13)の出力はバス(12)を介してR
AM(5)の何れか1つの記憶領域のアドレスに書き込
まれたりする。(14)はラッチ回路であり、バス(1
2)のデータをラッチするものである。(15)は出力
端子であり、ラッチ回路(14)の内容をバッファ(1
6)を介して出力するものである。(17)はスタック
レジスタであり、14ビットの記憶容量を有し、サブル
ーチンコール信号CALを受け取った時、プログラムカ
ウンタ(2)及びバンクレジスタ(9)の内容を保持
し、メインルーチンリターン信号RTを受け取った時、
保持内容をプログラムカウンタ(2)及びバンクレジス
タ(9)に戻すものである。
【0009】図1において、メインルーチンが実行さ
れ、RAM(5)の或る分割記憶領域がアクセスされて
いる状態を想定する。先ず、メインルーチンからサブル
ーチンへ移行する為の命令コードがROM(1)から読
み出されると、該命令コードがインストラクションデコ
ーダ(4)で解読され、サブルーチンコール信号CAL
がインストラクションデコーダ(4)からスタックレジ
スタ(17)へ取り込まれる。すると、サブルーチンが
実行される直前のプログラムカウンタ(2)及びバンク
レジスタ(9)の内容はスタックレジスタ(17)に一
旦待避される。そして、プログラムカウンタ(2)の内
容が変更され、サブルーチンが実行される。そして、バ
ンク変更命令に応じてバンクレジスタ(9)の内容も変
更される。次に、サブルーチンからメインルーチンへ移
行する命令コードがROM(1)から読み出されると、
該命令コードがインストラクションデコーダ(4)で解
読され、メインルーチンリターン信号RTがインストラ
クションデコーダ(4)からスタックレジスタ(17)
へ取り込まれる。すると、スタックレジスタ(17)の
内容がプログラムカウンタ(2)及びバンクレジスタ
(9)に復元され、サブルーチンへ移行する直前のメイ
ンルーチンが再び実行される。
【0010】以上より、サブルーチンコール命令を実行
する時、プログラムカウンタ(2)及びバンクレジスタ
(9)の内容をスタックレジスタ(17)に待避し、そ
の後メインルーチンリターン命令を実行する時、スタッ
クレジスタ(17)の内容をプログラムカウンタ(2)
及びバンクレジスタ(9)に復元する。従って、RAM
(5)の分割記憶領域を変更するサブルーチンコール命
令を実行する場合であっても、RAM(5)の分割記憶
領域の変更命令を不要とでき、これより、プログラム効
率を向上できると共にプログラムミスを未然に防止でき
る。
【0011】
【発明の効果】本発明によれば、サブルーチンを実行す
る時、プログラムカウンタ及びバンクレジスタの内容を
スタックレジスタに待避し、その後メインルーチンを実
行する時、スタックレジスタの内容をプログラムカウン
タ及びバンクレジスタに復元する。従って、RAMの分
割記憶領域を変更するサブルーチンを実行する場合であ
っても、RAMの分割記憶領域の変更命令を不要とで
き、これより、プログラム効率を向上できると共にプロ
グラムミスを未然に防止できる利点が得られる。
【図面の簡単な説明】
【図1】本発明のマイクロコンピュータを示す図であ
る。
【符号の説明】
(1) ROM (2) プログラムカウンタ (4) インストラクションデコーダ (5) RAM (9) バンクレジスタ (17) スタックレジスタ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 命令部及びアドレス部を含むプログラム
    データが記憶されたROMと、前記ROMのアドレスを
    アクセスするプログラムカウンタと、前記ROMから読
    み出されたプログラムデータの命令部を解読するインス
    トラクションデコーダと、前記インストラクションデコ
    ーダの解読内容に応じて論理演算を実行する論理演算ユ
    ニットと、同じアドレス領域を付した複数の記憶領域か
    ら成り、少なくとも前記論理演算ユニットの入出力デー
    タが記憶されるRAMと、前記ROMから読み出された
    プログラムデータの命令部が前記RAMの何れか1つの
    記憶領域を選択する指示である時、該プログラムデータ
    のアドレス部を保持し、前記RAMの何れか1つの記憶
    領域を切換えて選択するバンクレジスタと、前記ROM
    から読み出されたプログラムデータの命令部が少なくと
    も論理演算を実行する情報である時、該プログラムデー
    タのアドレス部を保持し、前記RAMの何れか1つの記
    憶領域のアドレスをアクセスするアドレスレジスタと、
    を備えたマイクロコンピュータにおいて、 前記プログラムカウンタ及び前記バンクレジスタの情報
    ビットを同時に保持するスタックレジスタを備え、前記
    ROMから読み出されたプログラムデータの命令部がサ
    ブルーチンを実行する情報である時、前記サブルーチン
    を実行する直前における前記プログラムカウンタ及び前
    記バンクレジスタの情報ビットを前記スタックレジスタ
    に保持することを特徴とするマイクロコンピュータ。
  2. 【請求項2】 前記ROMから読み出されたプログラム
    データの命令部がサブルーチンからメインルーチンへ復
    帰する情報である時、前記スタックレジスタの情報ビッ
    トを前記プログラムカウンタ及び前記バンクレジスタに
    戻すことを特徴とする請求項1記載のマイクロコンピュ
    ータ。
JP23198793A 1993-09-17 1993-09-17 マイクロコンピュータ Pending JPH0784784A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23198793A JPH0784784A (ja) 1993-09-17 1993-09-17 マイクロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23198793A JPH0784784A (ja) 1993-09-17 1993-09-17 マイクロコンピュータ

Publications (1)

Publication Number Publication Date
JPH0784784A true JPH0784784A (ja) 1995-03-31

Family

ID=16932171

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23198793A Pending JPH0784784A (ja) 1993-09-17 1993-09-17 マイクロコンピュータ

Country Status (1)

Country Link
JP (1) JPH0784784A (ja)

Similar Documents

Publication Publication Date Title
US4654781A (en) Byte addressable memory for variable length instructions and data
US5093783A (en) Microcomputer register bank accessing
US20070055832A1 (en) Method and system for fast data access using a memory array
US5574880A (en) Mechanism for performing wrap-around reads during split-wordline reads
US4446517A (en) Microprogram memory with page addressing and address decode in memory
US5611042A (en) Data error detection and correction for a shared SRAM
JPH01269293A (ja) 単一符号化スタックポインタを備えたスタック
US5165029A (en) Cache memory with test function
US3395392A (en) Expanded memory system
US4371949A (en) Time-shared, multi-phase memory accessing system having automatically updatable error logging means
US4949242A (en) Microcomputer capable of accessing continuous addresses for a short time
JPH0784784A (ja) マイクロコンピュータ
US20010042155A1 (en) Instruction memory circuit
US4982379A (en) Semiconductor memory device having associative function
US6772271B2 (en) Reduction of bank switching instructions in main memory of data processing apparatus having main memory and plural memory
US20070150641A1 (en) Bus Address Selecting Circuit and Bus Address Selecting Method
JP2001216193A (ja) キャッシュ機構およびキャッシュ機構の動作制御方法
JPH0259560B2 (ja)
EP0444624A2 (en) Apparatus for generating an address to access a memory
JPH0795269B2 (ja) 命令コードのデコード装置
US6178120B1 (en) Memory structure for speeding up data access
JP3251265B2 (ja) メモリ出力制御回路
JP3091522B2 (ja) メモリ回路
JPH08221322A (ja) メモリの制御装置およびメモリの制御方法
KR830000265B1 (ko) 정보처리 장치