JPH0962503A - マイクロコンピュータ - Google Patents
マイクロコンピュータInfo
- Publication number
- JPH0962503A JPH0962503A JP21779695A JP21779695A JPH0962503A JP H0962503 A JPH0962503 A JP H0962503A JP 21779695 A JP21779695 A JP 21779695A JP 21779695 A JP21779695 A JP 21779695A JP H0962503 A JPH0962503 A JP H0962503A
- Authority
- JP
- Japan
- Prior art keywords
- ram
- bits
- microcomputer
- address
- program counter
- 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
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 abstract 4
- 101100087530 Caenorhabditis elegans rom-1 gene Proteins 0.000 abstract 1
- 101100305983 Mus musculus Rom1 gene Proteins 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 2
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
のRAMの一時待避用アドレス数及び命令サイクル数を
減少させる。 【解決手段】 演算論理ユニットがnビット単位で演算
を行うマイクロコンピュータに於いて、前記マイクロコ
ンピュータの動作を制御する為のプログラムデータが記
憶されたROMのアドレスをアクセスする(2n+1)
ビットのプログラムカウンタと、各アドレスが(n+
1)ビットで構成される、データの書き込み及び読み出
しが可能なRAMと、前記プログラムカウンタの値を前
記RAMの所定アドレスに格納する時に前記RAMの所
定アドレスをアクセスするスタックポインタと、を備
え、前記プログラムカウンタの値を、上位(n+1)ビ
ット且つ下位nビットに分割して前記RAMの2アドレ
スに格納する。
Description
ータに関する。
マイクロコンピュータの動作制御を行う為のプログラム
データが記憶されたROM、演算データの書き込み及び
読み出しが行われるRAMが内蔵されている。ここで、
前記ROMをアクセスするプログラムカウンタを2nビ
ットで構成すると、前記ROMの全アドレス数は2↑2
n(2の2n乗)となる。また、前記RAMの各アドレ
スはnビットで構成されているものとする(1バイトが
nビット)。
該プログラムカウンタ値でアクセスされ前記ROMから
読み出されたプログラムデータに基づき、メインルーチ
ンからサブルーチンへ移行する所謂サブルーチンコール
命令が実行されると、該サブルーチン命令実行後に復帰
すべきメインルーチン実行の為の前記ROMのアドレス
データ即ちその時必要とされる前記プログラムカウンタ
の値を前記RAMに一時的に格納しておかなければなら
ない。上記した様に、アドレスデータのビット長が2n
ビット、前記RAMの各アドレスのバイト長がnビット
の為、前記サブルーチンコール命令が実行された時、ス
タックポインタで前記RAMの2つのアドレスをアドレ
ッシングし、前記アドレスデータをnビットずつに分け
て前記RAMに格納する必要があった。
イクロコンピュータの機能拡大の為、前記ROMのプロ
グラム領域を2倍(例えば64Kバイトから128Kバ
イト)に拡張する場合、前記プログラムカウンタ(アド
レスデータ)のビット長は2nビットから1ビット増え
た(2n+1)ビット必要となる。この時、前記アドレ
スデータのスタックの為に用いる前記RAMのバイト長
をnビットのままとしておくと、サブルーチンコール命
令時に前記RAMにメインルーチン復帰後のアドレスデ
ータを一時記憶させる為には、前記アドレスデータをn
ビット、nビット及び1ビットに3分割する必要があ
り、即ち前記RAMの3つのアドレスを使用することに
なり、この結果、前記RAMのスタック領域の使用量及
び命令サイクル数の増大を招く問題があった。
倍に拡張する場合であっても、サブルーチンコール命令
及びリターン命令時にアクセスするRAMのアドレス数
を従来よりも減らすことのできるマイクロコンピュータ
を提供することを目的とする。
解決する為に成されたものであり、その特徴とするとこ
ろは、演算論理ユニットがnビット単位で演算を行うマ
イクロコンピュータに於いて、前記マイクロコンピュー
タの動作を制御する為のプログラムデータが記憶された
ROMのアドレスをアクセスする(2n+1)ビットの
プログラムカウンタと、各アドレスが(n+1)ビット
で構成される、データの書き込み及び読み出しが可能な
RAMと、前記プログラムカウンタの値を前記RAMの
所定アドレスに格納する時に前記RAMの所定アドレス
をアクセスするスタックポインタと、を備え、前記プロ
グラムカウンタの値を、上位(n+1)ビット且つ下位
nビットに分割して前記RAMの2アドレスに格納する
点である。
的に説明する。図1は、本発明のマイクロコンピュータ
を示す図である。図1において、(1)はROMであ
り、マイクロコンピュータの動作を制御する為のプログ
ラムデータが予めマスク等で記憶されたものである。
尚、前記ROMの記憶容量は例えば128Kバイトとす
る(例えば1バイトは8ビット構成)。(2)はプログ
ラムカウンタであり、前記ROM(1)の各アドレスを
アクセスするものである。前記プログラムカウンタ
(2)のビット数即ち前記ROM(1)のアドレスデー
タのビット長は、前記ROM(1)の全アドレスをアク
セスできる様に、17ビットで構成されている。(3)
はALU(演算論理ユニット)であり、8ビット単位の
論理演算を行うものである。(4)はRAMであり、マ
イクロコンピュータ内部で論理演算されたデータ、又は
該マイクロコンピュータ外部とインターフェースされる
データ等の書き込み読み出しを行うものである。尚、前
記RAM(4)の各バイトは9ビットで構成される。
(5)はスタックポインタであり、前記ROM(1)の
プログラム命令に基づき、サブルーチンコール命令が実
行されたり、或いは、サブルーチンからメインルーチン
に復帰する際のリターン命令が実行された時、前記RA
M(4)の一時待避用のアドレスをアドレッシングする
ものである。
インルーチン実行時において、プログラムカウンタ
(2)でアクセスされ、ROM(1)から読み出された
プログラムデータを解読した結果、このプログラム命令
がサブルーチンコール命令であった時、マイクロコンピ
ュータは、該命令に基づきメインルーチン動作からサブ
ルーチン動作へ移行する。この時、サブルーチン動作終
了後にメインルーチン動作に復帰できる様に、該メイン
ルーチン動作を実行する為に必要とされるアドレスデー
タがRAM(4)の一時待避用アドレスにスタックされ
る。具体的には、前記サブルーチンコール命令が実行さ
れると、現時点のプログラム命令に基づくメインルーチ
ン動作を終了した後にサブルーチン動作へ移行する為、
メインルーチン復帰後に必要とされるアドレスデータは
+1インクリメントされたものとなる。そこで、プログ
ラムカウンタ(2)に保持されていた前記サブルーチン
動作移行直前のメインルーチン動作実行時のアドレスデ
ータをALU(3)で+1インクリメントする。詳細に
は、プログラムカウンタ(2)の下位8ビットをALU
(3)に取り込み、+1インクリメントする演算を行
い、再びプログラムカウンタ(2)に戻す。尚、プログ
ラムカウンタ(2)及びALU(3)との間では、プロ
グラムカウンタ(2)の下位7ビット及びALU(3)
の入出力のみが接続されている。そして、スタックポイ
ンタ(5)により、RAM(4)の一時待避用の異なる
2つのアドレスが連続してアドレッシングされ、一方の
アドレスにプログラムカウンタ(2)の上位9ビットの
値が書き込まれ、他方のアドレスにプログラムカウンタ
(2)の下位8ビットの値が書き込まれる。
ンルーチン動作へ復帰する為のリターン命令が実行され
ると、スタックポインタ(5)が、メインルーチン実行
に必要とされるアドレスデータが2分割されて記憶され
ているRAM(4)の前記2アドレスをアドレッシング
し、プログラムカウンタ(2)に前記メインルーチン実
行の為の17ビットのアドレスデータがセットされる。
これより、メインルーチン動作が再び開始される。
バイトであったROM(1)の記憶容量を、マイクロコ
ンピュータの機能拡大等の目的で、2倍の128Kバイ
トに拡張する場合、プログラムカウンタ(2)のビット
数は16ビットから17ビットへと1ビットだけ増加す
る。そこで、RAM(4)の各バイト長を従来の8ビッ
トから9ビットへと1ビットだけ長い構成とする。そし
て、プログラムカウンタ(2)の値を上位9ビット及び
下位8ビットに分割し、RAM(4)の一時待避用の2
つのアドレスに書き込む。尚、プログラムカウンタ
(2)の値を下位8ビットで分割する理由は、ALU
(3)での論理演算を容易とする為である。こうするこ
とにより、ROM(1)の記憶容量を増大させる場合で
も、ALU(3)の論理演算の形態を8ビット単位のま
まで変更することなく、設計コストを低く抑えることが
できる。更に、RAM(4)の一時待避アドレス数を従
来の3アドレスから2アドレスに減じることができる
為、RAM(4)のアドレスの使用量及び命令サイクル
数を減じることが可能となる。
大させる場合でも、演算論理ユニットの論理演算の形態
を8ビット単位のままで変更することなく、設計コスト
を低く抑えることができる。更に、RAMの一時待避ア
ドレス数を従来の使用アドレス数より減じることができ
る為、前記RAMの全体のアドレスの使用量及び命令サ
イクル数を減じることが可能となる利点が得られる。
る。
Claims (2)
- 【請求項1】 演算論理ユニットがnビット単位で演算
を行うマイクロコンピュータに於いて、 前記マイクロコンピュータの動作を制御する為のプログ
ラムデータが記憶されたROMのアドレスをアクセスす
る(2n+1)ビットのプログラムカウンタと、 各アドレスが(n+1)ビットで構成される、データの
書き込み及び読み出しが可能なRAMと、 前記プログラムカウンタの値を前記RAMの所定アドレ
スに格納する時に前記RAMの所定アドレスをアクセス
するスタックポインタと、を備え、 前記プログラムカウンタの値を、上位(n+1)ビット
且つ下位nビットに分割して前記RAMの2アドレスに
格納することを特徴とするマイクロコンピュータ。 - 【請求項2】 前記スタックポインタは、少なくとも、
サブルーチンコール命令及びサブルーチンからメインル
ーチンへのリターン命令が実行された時に、前記RAM
の所定アドレスをアクセスすることを特徴とする請求項
1記載のマイクロコンピュータ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP07217796A JP3091674B2 (ja) | 1995-08-25 | 1995-08-25 | マイクロコンピュータ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP07217796A JP3091674B2 (ja) | 1995-08-25 | 1995-08-25 | マイクロコンピュータ |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0962503A true JPH0962503A (ja) | 1997-03-07 |
| JP3091674B2 JP3091674B2 (ja) | 2000-09-25 |
Family
ID=16709873
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP07217796A Expired - Fee Related JP3091674B2 (ja) | 1995-08-25 | 1995-08-25 | マイクロコンピュータ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3091674B2 (ja) |
-
1995
- 1995-08-25 JP JP07217796A patent/JP3091674B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP3091674B2 (ja) | 2000-09-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6915413B2 (en) | Micro-controller for reading out compressed instruction code and program memory for compressing instruction code and storing therein | |
| JPS6159554A (ja) | キャッシュメモリを有するデータ処理装置 | |
| JPH0248931B2 (ja) | ||
| JP3605978B2 (ja) | マイクロコンピュータ | |
| US4949242A (en) | Microcomputer capable of accessing continuous addresses for a short time | |
| JPH0962503A (ja) | マイクロコンピュータ | |
| JPH05197619A (ja) | マルチcpu用メモリ制御回路 | |
| JP2000207203A (ja) | マイクロコントロ―ラ | |
| US6029210A (en) | Memory initialization system selectively outputting a data between a normal data stored in the memory and a fixed value according to a registered access state | |
| JPS62120543A (ja) | メモリバンクの切替方式 | |
| JP4629198B2 (ja) | 演算装置及び演算方法 | |
| JP2918570B2 (ja) | 中央演算処理装置 | |
| JP3449749B2 (ja) | 情報処理装置 | |
| JP3239042B2 (ja) | マイクロコンピュータ | |
| JP2959299B2 (ja) | ステータス表示回路 | |
| JPS6227825A (ja) | 汎用高速プロセツサ | |
| JPS61250752A (ja) | アドレス拡張方式 | |
| JPS6313214B2 (ja) | ||
| JPS60245049A (ja) | デ−タ処理装置 | |
| JP2954988B2 (ja) | 情報処理装置 | |
| JPS59106047A (ja) | マイクロコンピユ−タ | |
| JPH0256029A (ja) | 汎用レジスタ切換方式 | |
| JPH05303543A (ja) | プロセッサシステム | |
| JPH01263750A (ja) | シングルチップマイクロコンピュータ | |
| JPH02299025A (ja) | マイクロコンピュータ |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080721 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080721 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090721 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090721 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100721 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100721 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110721 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110721 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120721 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120721 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130721 Year of fee payment: 13 |
|
| LAPS | Cancellation because of no payment of annual fees |