JP3486630B2 - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JP3486630B2
JP3486630B2 JP13204291A JP13204291A JP3486630B2 JP 3486630 B2 JP3486630 B2 JP 3486630B2 JP 13204291 A JP13204291 A JP 13204291A JP 13204291 A JP13204291 A JP 13204291A JP 3486630 B2 JP3486630 B2 JP 3486630B2
Authority
JP
Japan
Prior art keywords
address
register
data
unit
registers
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.)
Expired - Lifetime
Application number
JP13204291A
Other languages
English (en)
Other versions
JPH04333153A (ja
Inventor
直幹 三ツ石
志朗 馬場
ひろみ 永山
努 林
幸秀 早川
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology 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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP13204291A priority Critical patent/JP3486630B2/ja
Priority to KR1019920007701A priority patent/KR100272622B1/ko
Publication of JPH04333153A publication Critical patent/JPH04333153A/ja
Priority to US08/583,763 priority patent/US5687344A/en
Priority to US08/582,379 priority patent/US5666510A/en
Priority to US08/607,568 priority patent/US5771363A/en
Application granted granted Critical
Publication of JP3486630B2 publication Critical patent/JP3486630B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)
  • Memory System (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ処理装置にかか
り、例えば、シングルチップマイクロコンピュータの中
央処理装置に利用して有効な技術に関するものである。
【0002】
【従来の技術】シングルチップマイクロコンピュータ
は、それに含まれる中央処理装置が主として扱うデータ
長によって4ビット、8ビット、16ビットマイクロコ
ンピュータなどに区別される。現在、これらの中では8
ビットシングルチップマイクロコンピュータが最も多く
使用され、機器組込制御用として用いられている。この
ような8ビットシングルチップマイクロコンピュータ
は、株式会社日立製作所平成元年6月発行の『H8/3
30 HD6473308 HD6433308 ハー
ドウェアマニュアル』などにより公知であるのでその詳
細な説明は省略するが、8ビットシングルチップマイク
ロコンピュータの中央処理装置(以下8ビットCPUと
も記す)は、主として扱うデータ長が8ビットであり、
このため、8ビットCPUは8ビット長のレジスタまた
はアキュムレータと、8ビットレジスタの2倍長である
16ビットレジスタを有する。これらの8ビットCPU
は、特に制限はされないものの、データ処理には主とし
て8ビットレジスタを使用し、メモリを参照したりする
ためのアドレスレジスタとしては16ビットレジスタを
使用する。このような16ビットレジスタは、インデッ
クスレジスタ、スタックポインタ、プログラムカウンタ
などと呼ばれる場合がある。アドレスレジスタが16ビ
ット長である場合、CPUが参照できるメモリは655
36(=216)バイト(以下64kバイトとも記す)に
限定される。しかしながら、8ビットシングルチップマ
イクロコンピュータが用いられる機器組込制御の応用で
は、機器の高性能化によって大容量のプログラムあるい
はデータを扱うことが要求されている。
【0003】これに対し、CPUに8ビットのページレ
ジスタを付加し、16ビットレジスタと組合せてアドレ
スを生成することにより、参照できるメモリを1677
7216(=224)バイト(以下16Mバイトとも記
す)としたシングルチップマイクロコンピュータの例と
して株式会社日立製作所昭和63年12月発行『H8/
532 HD6475328 HD6435328 ハ
ードウェアマニュアル』に記載のものがある。このよう
なページレジスタを利用してメモリなどを参照するため
の構成は、ページレジスタとアドレスレジスタとを全く
独立させて、演算器などのハードウェアの構成を簡素化
しているが、その反面、ページレジスタとアドレスレジ
スタとの間にキャリまたはボローの伝播が行われず、プ
ログラムあるいはコンパイラを作成する場合には、一群
のプログラムあるいはデータがページ境界を越えない様
に常に注意しなければならない。例えば、上記の例で、
命令を0番地から実行すると、当初、プログラムカウン
タはH’0000(H’は16進数を示す),これに対
応するページレジスタ(以下コードページレジスタとも
記す)はH’00である。分岐命令を使用せずに演算命
令などを実行し続け、65535(H’FFFF)番地
に達し、次の命令を実行しようとした場合、プログラム
カウンタはH’FFFF→H’0000となってオーバ
フローするが、この時のキャリはコードページレジスタ
に伝播されないために、次の命令は0番地に戻ってしま
う。このため、プログラムは64kバイトを越えないよ
うに分割して作成し、分割したプログラムをそれぞれ別
のページに割当て、あるページに存在するプログラムか
ら別のページに存在するプログラムに実行を移す場合は
ページ間分岐命令を使用する必要がある。すなわち、プ
ログラム中で分岐命令を使用する場合は、分岐先が同一
ページ内に存在するか、別ページに存在するかを意識し
てページ内分岐命令とページ間分岐命令を使い分ける必
要がある。データも同様に64kバイトを越えないよう
に分割して管理する必要がある。このとき、いわゆるポ
ストインクリメントレジスタ間接モードなどの様にメモ
リをアクセスする毎にアドレスレジスタの内容を更新し
ていく場合、上記同様にアドレスレジスタがオーバフロ
ーしても対応するページレジスタ(以下データページレ
ジスタとも記す)にキャリが伝播されない。また、ディ
スプレースメント付レジスタ間接で、16ビットのディ
スプレースメントを使用する場合、16ビットのアドレ
スレジスタに16ビットのディスプレースメントを加算
し、キャリまたはボローが発生してもページレジスタに
は伝播せず、16ビットの加算結果とページレジスタが
組み合わされてアドレスが生成される。すなわち、ペー
ジレジスタH’00、アドレスレジスタH’FFFF、
ディスプレースメントH’4000の場合、結果として
得られるアドレスはH’003FFFとなる。したがっ
て、ページレジスタを利用したアドレス拡張技術におい
ては、実質的に利用可能なアドレシングモードも制限さ
れてしまう。
【0004】これに対し、株式会社日立製作所昭和62
年9月発行『日立16ビットマイクロプロセッサ HD
641016』などに記載されている16ビットCPU
では16Mバイトの連続したアドレス空間を使用できる
ものの、主としてデータ処理のために32ビットレジス
タを有するなどCPU全体の機能が8ビットCPUに対
して格段に高く、これに比例して論理的な規模やチップ
占有面積といった物理的な規模が8ビットCPUに比べ
て相当に大きくなり、このため、機器制御応用でシステ
ム構成に必要なタイマなどの周辺機能を当該16ビット
CPUと共に1チップに内蔵できなかったり、充分な記
憶容量のメモリを内蔵できず、機器制御応用のための所
要のシステムをオンチップ化して所謂シングルチップマ
イクロコンピュータ化を実現することが難しくなるとい
う問題が本発明者によって見い出された。
【0005】
【発明が解決しようとする課題】本発明の目的は、論理
的並びに物理的規模の増加を最小限にしつつ、連続的に
使用可能なアドレス空間を相対的に広げることができる
データ処理装置、例えば8ビットCPUを用いて64k
バイト以上のアドレス空間を連続的に使用できるデータ
処理装置を提供することにある。本発明の更に別の目的
は、命令の種類を相対的に極端に増やさず、連続する相
対的に広いアドレス空間を利用でき、しかも当該アドレ
ス空間の広さに見合うように相対的に豊富なアドレシン
グモードをサポートすることができるデー処理装置を提
供することにある。
【0006】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
【0007】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
【0008】 すなわち、アドレスデータの保持には全
体(第1ビット長の第1レジスタ部及び第2ビット長の
第2レジスタ部)が使用され、データの保持にはその一
部分(第1レジスタ部)が使用されるデータ保持手段と
してのレジスタを複数個採用し、第1レジスタ部に結合
した第1算術論理ユニットと第2レジスタ部に結合した
第2算術論理ユニットを含む算術論理演算器を設ける。
一のレジスタに格納されたアドレスデータと他のレジス
タに格納されたアドレスデータとの間のアドレス演算
は、第1算術論理ユニット及び第2算術論理ユニットに
より、前記第1ビット長と第2ビット長の和のビット長
単位で実行する。前記第1レジスタ部内に格納されたデ
ータを用いたデータ演算は、前記第1算術論理ユニット
により、前記第1ビット長の単位で実行する。例えば、
8ビットCPUに内蔵の既存の16ビットレジスタ(第
1レジスタ部の一例)にアドレス専用の拡張レジスタ
(第2レジスタ部の一例)を追加し、追加された拡張レ
ジスタを含めた全体をアドレスデータとして一括把握し
て、メモリなどをアクセス可能にするものである。アド
レス演算は拡張レジスタと対応レジスタとの双方を一単
位として行われ、アドレスデータを保持するとき斯るレ
ジスタの更新は前記拡張レジスタも一緒に行われる。
【0009】
【0010】
【0011】
【作用】上記した手段によれば、データ保持手段の全体
に対する利用はアドレスデータに限定され、アドレスデ
ータのビット数は、その他のデータの保持に利用される
当該データ保持手段の一部分のビット数に比べて拡張さ
れ、このことは、リニアに利用可能なアドレス空間を拡
張するように作用する。アドレス空間がリニアに拡張さ
れることは、ページレジスタによる従来のアドレス空間
拡張技術に比べて、種々のアドレス修飾を可能して、ア
ドレス空間の広さに見合うように相対的に豊富なアドレ
シングモードをサポートする。更にこのとき、前記デー
タ保持手段の全体の利用はアドレス生成に用途を限定し
ており、このことは、CPUの論理的並びに物理的な規
模の増大を抑制し、システム構成に必要な周辺機能やメ
モリなどのオンチップ化による1チップマイクロコンピ
ュータ化を容易に実現可能に作用する。
【0012】
【実施例】図1には本発明に係るマイクロコンピュータ
の一実施例であるシングルチップマイクロコンピュータ
が示される。
【0013】上記シングルチップマイクロコンピュータ
100は、全体の制御を司るCPU(中央処理装置)
1、CPU1の動作プログラムなどを保有するROM
(リードオンリメモリ)2、CPU1の作業領域並びに
データの一時記憶領域などとして利用されるRAM(ラ
ンダムアクセスメモリ)3、タイマ4、シリアルコミュ
ニケーションインタフェース(SCI)5、クロックパ
ルスジェネレータ68、及び、入出力ポート(IOP)
61乃至67などの機能ブロックから構成され、これら
は内部バス69で相互に接続されてなる。内部バスは特
に制限はされないものの、アドレスバス、データバス、
コントロールバスを含む。斯るシングルチップマイクロ
コンピュータ100は公知の半導体集積回路製造技術に
よってシリコン基板のような1つの半導体基板上に形成
されている。
【0014】シングルチップマイクロコンピュータ10
0はクロックパルスジェネレータCPGの端子XTA
L,EXTALに接続される水晶発振子又は外部から入
力される外部クロックに基づいて生成される基準クロッ
クに同期して動作を行なう。この基準クロックの最小単
位をステートと呼ぶ。尚、図においてVss,Vccは
電源端子である。
【0015】前記CPU1にリセット信号RESが加え
られると、シングルチップマイクロコンピュータ100
はリセット状態になる。このリセット状態を解除する
と、CPU1は、スタートアドレスをリードして、この
スタートアドレスから命令のリードを開始するリセット
例外処理を行なう。前記スタートアドレスは、特に制限
はされないものの0番地に格納されているものとする。
この後、CPU1は、特に制限はされないものの、逐
次、ROM2から命令を読出して解読し、その解読結果
に基づいてデータの処理或いはRAM3、タイマ4、S
CI5、入出力ポート61乃至67などとデータの転送
を行なう。すなわち、CPU1は、入出力ポート61乃
至67などから入力されるデータ、あるいはSCI5な
どから入力される指示を参照しつつ、ROM2に記憶さ
れている命令に基づいて処理を行ない、その結果に従っ
て入出力ポート61〜7、タイマ4などを使用して外部
に信号を出力し、各種機器の制御を行なうものである。
特に制限はされないものの、上記ROM2、RAM3、
タイマ4などのリード/ライトは、バイト(例えば8ビ
ット)/ワード(例えば16ビット)のいずれも2ステ
ートで実行するものとする。
【0016】図2にはCPU1の内蔵レジスタの第1構
成例が示される。CPU1はそれぞれ16ビット長の8
本の汎用レジスタR0L,R0H〜R7L,R7Hと、
それぞれ8ビット長の8本の拡張レジスタとE0からE
7と、24ビット長のプログラムカウンタPCと、8ビ
ット長のコンディションコードレジスタCCRとを有し
ている。汎用レジスタR0L,R0H〜R7L,R7H
は、特に制限はされないものの、上位8ビットと下位8
ビットを独立させて8ビット長のデータを格納すること
も、上位・下位を連結して16ビット長のデータを格納
することもできる。
【0017】汎用レジスタR0L,R0H〜R7L,R
7Hをアドレスレジスタとして使用する場合は、汎用レ
ジスタが保有する16ビットをアドレスの下位16ビッ
トとし、対応する拡張レジスタが保有する8ビットをア
ドレスの上位8ビットとして、合計24ビットのアドレ
スを生成するものである。換言すれば、CPU1は最大
限24ビットのアドレスで規定される連続的なアドレス
空間を利用することができる。さらにこの24ビットの
アドレスを種々のモードで修飾することができるように
なっている。例えば、前記24ビットアドレスにディス
プレースメントを加算する、定数倍をする、あるいは他
のレジスタの内容を加算するといったことを行うことが
できる。この修飾を行なう場合、下位16ビットの計算
にて、キャリまたはボローが発生した場合には、上位8
ビットに桁上げまたは桁下げを行なう。この結果をアド
レスレジスタに保持させる場合には同時に上位8ビット
の結果も、対応する拡張レジスタに保持させる。
【0018】拡張レジスタE0〜E7はアドレスレジス
タとしての利用に専用化され、データレジスタとしては
使用できないようになっている。拡張レジスタE0〜E
7の操作は、特に制限はされないものの、アドレスデー
タを転送するために、拡張レジスタを汎用レジスタと組
合せてロード/ストアする場合と、拡張レジスタと汎用
レジスタとの間でデータ転送する場合に限定され、汎用
レジスタとは無関係に拡張レジスタに対して演算を行な
うことはできないようになっている。斯る制限は、CP
U1が実行すべき命令を解読して制御信号を生成する制
御部によって実現される。
【0019】プログラムカウンタPCは24ビットのカ
ウンタであり、CPU1が次に実行する命令のアドレス
を示している。コンディションコードレジスタCCRは
割込みマスクビット(I)と、キャリフラグ(C)、ゼ
ロフラグ(Z)、ネガティブフラグ(N)、オーバフロ
ーフラグ(V)を含んでいる。割込みマスクビットは1
のとき、CPU1を割込み禁止状態とし、0のとき、割
込み許可状態とする。その他のフラグは演算の結果など
を反映する。
【0020】図3には汎用レジスタR0L,R0H〜R
7L,R7Hと拡張レジスタE0〜E7のデータ構成例
が示される。CPU1が扱うバイトデータは、汎用レジ
スタの上位RiH(i=1,2,…,7)または下位R
iLに格納される。汎用レジスタの上位RiHを使用す
る場合、ビット15がデータの最上位ビット(MSB)
に、ビット8が最下位ビット(LSB)にそれぞれ対応
する。同様に、汎用レジスタの下位RiLを使用する場
合、ビット7が最上位ビットに、ビット0が最下位ビッ
トに対応する。ワードデータは汎用レジスタRiL及び
RiHに格納される。ビット15がデータの最上位ビッ
トに、ビット0が最下位ビットにそれぞれ対応する。ア
ドレスデータは拡張レジスタEiと汎用レジスタRi
L,RiHに格納される。拡張レジスタEiのビット7
がアドレスデータの最上位ビットに、汎用レジスタRi
Lのビット0が最下位ビットにそれぞれ対応する。
【0021】CPU1は、これらの他に、1ビットデー
タ、あるいは2進化10進数データなどを扱うが、これ
らは本発明に直接は関係しないので詳細な説明は省略す
る。
【0022】図4にはRAM3,ROM2などのメモリ
のデータ構成例が示される。特に制限はされないもの
の、メモリはバイト単位にアドレスが付けられている。
CPU1が扱うバイトデータは、メモリの各アドレスに
格納される。ワードデータはメモリの偶数アドレスと奇
数アドレスを連結して格納される。偶数アドレスのビッ
ト7がデータの最上位ビットに、奇数アドレスのビット
0が最下位ビットにそれぞれ対応する。アドレスデータ
は偶数アドレスから始まる4バイトのアドレスに格納さ
れる。先頭の偶数アドレスの1バイトは将来拡張用にシ
ステム上予約され、例えば利用が制限されている。次の
奇数アドレスのビット7がアドレスデータの最上位ビッ
トに、4バイトめの奇数アドレスのビット0が最下位ビ
ットにそれぞれ対応する。
【0023】図5及び図6にはCPU1のアドレッシン
グモードと実効アドレスの計算方法の一例が示される。
【0024】レジスタ間接モードでは命令コード中にレ
ジスタを指定する部分を含み、この命令コードで指定さ
れた汎用レジスタとこれに対応する拡張レジスタとが保
有する24ビットをアドレスとしてメモリ上のアドレス
を指定する。
【0025】ディスプレースメント付レジスタ間接モー
ドは、上記レジスタ間接モードと同様に得られた24ビ
ットのアドレスに、命令コード中に含まれるディスプレ
ースメントを加算した結果をアドレスとしてメモリ上の
アドレスを指定する。加算結果はアドレスの指定のみに
使用され、拡張レジスタEi及び汎用レジスタRiL,
RiHの内容には反映されない。特に制限はされないも
のの、ディスプレースメントは24ビットまたは16ビ
ットであり、16ビットディスプレースメントの場合は
加算の際に上位8ビットが符号拡張される。すなわち、
全24ビットのディスプレースメントの上位8ビットは
16ビットディスプレースメントのビット15と同じ値
であるとして加算が行われる。
【0026】ポストインクリメントレジスタ間接モード
は、前記レジスタ間接と同様に得られた24ビットのア
ドレスでメモリ上のアドレスを指定する。その後、この
アドレスに1または2または4を加算し、その加算結果
が拡張レジスタEi及び汎用レジスタRiH,RiLに
格納される。メモリ上のバイトデータを指定する場合は
1が、ワードデータを指定する場合は2が、アドレスデ
ータを指定する場合は4が、それぞれ加算される。
【0027】プリデクリメントレジスタ間接モードは、
前記レジスタ間接と同様に得られた24ビットのアドレ
スから1または2または4を減算して得られる24ビッ
トのアドレスでメモリ上のアドレスを指定する。その
後、その減算結果が拡張レジスタEi及び汎用レジスタ
RiH,RiLに格納される。メモリ上のバイトデータ
を指定する場合は1が、ワードデータを指定する場合は
2が、アドレスデータを指定する場合は4が、それぞれ
減算される。
【0028】プログラムカウンタ相対モードは、プログ
ラムカウンタPCが保有する24ビットのアドレスに命
令コード中に含まれるディスプレースメントを加算した
結果をアドレスとしてメモリ上のアドレスを指定する。
加算結果はプログラムカウンタPCに格納される。特に
制限はされないものの、ディスプレースメントは16ビ
ットまたは8ビットであり、加算されるディスプレース
メントはその上位8ビットまたは16ビットが符合拡張
される。すなわち、全24ビットのディスプレースメン
トの上位8ビットは16ビットディスプレースメントの
ビット15と、または上位16ビットは8ビットディス
プレースメントのビット7と同じ値であるとみなして加
算が行われる。プログラムカウンタ相対は分岐命令のみ
で使用される。
【0029】CPU1は、上記の他にイミディエイト、
レジスタ直接、絶対アドレスなどのアドレッシングモー
ドを実行するが、これらは本発明に直接は関係しないの
で詳細な説明は省略する。
【0030】図7にはCPU1の内部ブロックの一例が
示される。CPU1は主としてマイクロROMあるいは
PLA(Plogrammable LogicArr
ay)で構成される制御部CONT、前記汎用レジスタ
R0L,R0H〜R7L,R7H、拡張レジスタE0〜
E7、プログラムカウンタPC、コンディションコード
レジスタCCRを含む実行部EXEから構成される。
【0031】実行部EXEはさらに、テンポラリレジス
タTRL,TRH,TRE、算術論理演算器ALUL,
ALUH,ALUE、リードデータバッファRDBL,
RDBH,RDBE、ライトデータバッファWDBL,
WDBH,WDBE、及びアドレスバッファABL,A
BH,ABEを含み、これらが3本の内部バスA、B、
Cを介して接続されている。算術論理演算器ALUL,
ALUH,ALUEは、命令によって指定される各種演
算、プログラムカウンタの加算、実効アドレスの計算な
どに用いられる。リードデータバッファRDBL,RD
BH,RDBEはROM2、RAM3あるいは図示はさ
れない外部メモリなどからリードした命令やデータを一
時的に格納し、またライトデータバッファWDBL,W
DBH,WDBEは前記ROM2、RAM3あるいは外
部メモリなどにライトすべきデータを一時的に格納す
る。これによってCPU1の内部動作とCPU1外部の
リード/ライト動作のタイミングを調整している。アド
レスバッファABL,ABH,ABEはCPU1がリー
ド/ライトするアドレスを一時的に格納する。
【0032】特に制限はされないものの、上記実行部E
XE内の各ブロックは8ビットを単位としている。すな
わち、例えば、プログラムカウンタは8ビット単位で3
ブロックに分割されている。PCEがビット23〜1
6、PCHがビット15〜8、PCLがビット7〜0に
対応する。汎用レジスタはR0H〜R7Hがビット15
〜8、R0L〜R7Lがビット7〜0に対応する。そし
てそれら汎用レジスタに対するビット23〜16が拡張
レジスタE0〜E7とされる。内部バスA,B,Cは、
これらのビット23〜16、15〜8、ビット7〜0に
対応して3本が並行して設けられている。その他に前記
テンポラリレジスタ・ALU・データバッファなども同
様に8ビットを単位に構成されている。これらの物理的
な配置は特に制限はされない。
【0033】図8乃至図11には図7のCPU1が処理
する代表的な命令や例外処理のフローチャートの一例が
示される。
【0034】リセット例外処理(図8)においては、C
PU1は0番地から始まる4バイトのアドレスに格納さ
れたスタートアドレスをリードする。なお、この4バイ
トの内、0番地の1バイトは、前記の通り将来拡張用に
予約されたものであり、無視される。CPU1は第1ス
テップSa1で、割込みマスクビットIを1にセットす
る。同時にCPU1内部でバスA上にデータ0を生成
し、これをアドレスバッファABL,ABH,ABE
(以下単にABとも記す)に転送するとともに、ALU
L,ALUH,ALUE(以下単にALUとも記す)で
2を加算する。加算結果はテンポラリレジスタTRL,
TRH,TRE(以下単にTRとも記す)に格納する。
第2ステップSa2で前記アドレスバッファABの内容
をアドレスとしてワードデータのリードを開始する。第
3ステップSa3ではリード動作を終了し、リードした
ワードデータをデータバッファRDBL,RDBH,R
DBE(以下単にRDBとも記す)に格納する。同時に
テンポラリレジスタTRの内容をバスAに出力し、アド
レスバッファABに転送する。第4ステップSa4で前
記アドレスバッファABの内容をアドレスとしてワード
データのリードを開始する。第5ステップSa5ではリ
ード動作を終了し、リードしたワードデータをデータバ
ッファRDBに格納する。この時、特に制限はされない
もののデータバッファRDBは、いわゆるファーストイ
ンファーストアウトとなっている。第6ステップSa6
では、第3ステップSa3及び第5ステップSa5でデ
ータバッファRDBに格納したデータの内24ビットを
スタートアドレスとしてバスAに出力し、アドレスバッ
ファABに転送するとともに、ALUで2を加算する。
加算結果はプログラムカウンタPCに格納する。なお、
第3ステップSa3でデータバッファRDBに格納され
たデータの上位8ビットは、前記の通り、無視される。
第7ステップSa7で前記アドレスバッファABの内容
をアドレスとしてプログラムの先頭命令のリードをワー
ドで開始する。第8ステップSa8ではリード動作を終
了し、リードしたワードデータをデータバッファRDB
に格納する。同時にプログラムカウンタPCの内容をバ
スAに出力し、アドレスバッファABに転送し、さらに
ALUで2を加算する。加算結果はプログラムカウンタ
PCに格納する。第9ステップSa9で前記アドレスバ
ッファABの内容をアドレスとしてプログラムの3バイ
トめ・4バイトめの命令のリードをワードで開始する。
さらに、第8ステップSa8でデータバッファRDBに
格納した命令を制御部に転送し、解読を開始する。次の
ステップからは、プログラムの先頭命令である、第9ス
テップSa9で解読を開始した命令に基づいた動作を開
始する。第9ステップSa9でリードを開始したワード
データはこの命令実行中にデータバッファRDBに格納
する。
【0035】イミディエイトデータをレジスタに転送す
る命令の処理フローが図9に示されており、例えば、デ
ータ34を汎用レジスタR0Lに転送する命令(MO
V.B#34,R0L)は、特に制限はされないもの
の、命令コード中にイミディエイトデータ34を含み2
バイトの命令長であるとする。本命令は、第1ステップ
Sb1では、直前に実行した命令または例外処理の最後
のステップで開始したリード動作を終了し、リードした
ワードデータをデータバッファRDBに格納する。同時
に、プログラムカウンタPCの内容をバスAに出力し、
アドレスバッファABに転送し、さらにALUで2を加
算する。加算結果はプログラムカウンタPCに格納す
る。第2ステップSb2で、アドレスバッファABに格
納された内容に基づいて、本命令から3バイトめ・4バ
イトめの命令のリードをワードで開始する。同時に、既
にデータバッファRDBに格納してある本命令コード中
に含まれるイミディエイトデータ34をバスAに出力
し、ALUを通過し、ALUからバスCに出力してレジ
スタR0Lに転送する。ALUを通過した時にデータを
検査し、コンディションコードレジスタのZ及びNフラ
グに反映する。さらに、第1ステップSb1でデータバ
ッファRDBに格納した命令を制御部CONTに転送
し、解読を開始する。次のステップからは、次の命令で
ある、第2ステップSb2で解読を開始した命令に基づ
いた動作を開始する。第2ステップSb2でリードを開
始したワードデータはこの命令実行中にデータバッファ
RDBに格納する。
【0036】ディスプレースメント付レジスタ間接アド
レッシングモードでメモリの内容をレジスタ転送する命
令の処理フローが図10に示されており、例えば、レジ
スタR0(R0L,R0H)と拡張レジスタE0で示さ
れるアドレスに相対値1234を加えたアドレスからバ
イトデータを汎用レジスタR1Hに転送する命令{MO
V.B @(1234,R0),R1H}は、特に制限
はされないものの、命令コード中にディスプレースメン
ト1234を含み4バイトの命令長であるとする。本命
令は、第1ステップSc1で、直前に実行した命令また
は例外処理の最後のステップで開始したリード動作を終
了し、リードしたワードデータ(本命例の第3・第4バ
イト)をデータバッファRDBに格納する。同時にプロ
グラムカウンタPCの内容をバスAに出力し、アドレス
バッファABに転送し、さらにALUで2を加算する。
加算結果はプログラムカウンタPCに格納する。第2ス
テップSc2で、アドレスバッファABに格納された内
容に基づいて、本命令から3バイトめ・4バイトめの命
令である、次の命令のリードをワードで開始する。同時
に既にデータバッファRDBに格納してある本命令コー
ド中に含まれるディスプレースメント1234をバスB
に,汎用レジスタR0と拡張レジスタE0の内容をバス
Aに出力し、ALUでこれらの加算を行ない、ALUか
らバスCに出力してテンポラリレジスタTRに転送す
る。加算に際してディスプレースメントは001234
に拡張される。第3ステップSc3でリード動作を終了
し、リードしたワードデータをデータバッファRDBに
格納する。同時にテンポラリレジスタTRの内容をバス
Aに出力しアドレスバッファABに転送する。第4ステ
ップSc4で前記アドレスバッファABの内容をアドレ
スとしてデータのリードをバイトで開始する。第5ステ
ップSc5でリード動作を終了し、リードしたバイトデ
ータをデータバッファRDBに格納する。前記同様にプ
ログラムカウンタPCの内容をアドレスバッファABに
転送し、2を加算する。第6ステップSc6で前記アド
レスバッファABの内容をアドレスとしてデータのリー
ドをバイトで開始する。第5ステップSc5でデータバ
ッファRDBに格納したデータをバスAに出力し、AL
Uを通過し、ALUからバスCに出力してレジスタR1
Hに転送する。ALUを通過した時にデータを検査し、
コンディションコードレジスタCCRのZ及びNフラグ
に反映する。第3ステップSc3でデータバッファRD
Bに格納した命令を制御部CONTに転送し、解読を開
始する。次のステップからは、前記同様に、次の命令の
動作を開始する。
【0037】ポストインクリメントレジスタ間接アドレ
ッシングモードでメモリの内容をレジスタ転送する命令
の処理フローが図11に示されており、例えば、汎用レ
ジスタR7(R7L,R7H)と拡張レジスタE7で示
されるアドレスから拡張データを汎用レジスタR2(R
2L,R2H)と拡張レジスタE2に転送する命令{M
OV.L @R7+,R2}は、特に制限はされないも
のの、2バイトの命令長であるとする。本命令は、第1
ステップSd1で、直前に実行した命令または例外処理
の最後のステップで開始したリード動作を終了し、リー
ドしたワードデータをデータバッファRDBに格納す
る。第2ステップSd2で、レジスタR7と拡張レジス
タE7の内容をバスAに出力し、アドレスバッファAB
に転送し、同時にALUで2を加算すし、結果を汎用レ
ジスタR7と拡張レジスタE7に格納する。第3ステッ
プSd3で前記アドレスバッファABの内容をアドレス
としてデータのリードをワードで開始する。第4ステッ
プSd4でリード動作を終了し、リードしたワードデー
タをデータバッファRDBに格納する。同時に汎用レジ
スタR7と拡張レジスタE7の内容をバスAに出力し、
アドレスバッファABに転送し、同時にALUで2を加
算する。加算結果は汎用レジスタR7と拡張レジスタE
7に格納する。第5ステップSd5で前記アドレスバッ
ファABの内容をアドレスとしてデータのリードをワー
ドで開始する。第6ステップSd6でリード動作を終了
し、リードしたワードデータをデータバッファRDBに
格納する。前記同様にプログラムカウンタPCの内容を
アドレスバッファABに転送し、2を加算する。第7ス
テップSd7で前記アドレスバッファABの内容をアド
レスとしてデータのリードをワードで開始する。データ
バッファRDBに格納したデータの内24ビットをバス
Aに出力し、ALUを通過し、ALUからバスCに出力
して汎用レジスタR2と拡張レジスタE2に転送する。
なお、第4ステップSd4でデータバッファRDBに格
納されたデータの上位8ビットは、無視される。特に制
限はされないものの、ALUを通過した時にデータを検
査せず、コンディションコードレジスタCCRのフラグ
は変化しない。第1ステップSd1でデータバッファR
DBに格納した命令を制御部CONTに転送し、解読を
開始する。次のステップからは、前記同様に、次の命令
の動作を開始する。
【0038】図31には前記CPU1が実行可能な算術
演算命令の一覧が示される。その算術演算は、具体的に
は加算・減算・比較を含む。
【0039】加算には機能別にADD、ADDC、AD
DE命令があり、さらに、ADD命令ではバイトサイ
ズ、ワードサイズがある。ADD命令では、指定された
ソースデータ(イミディエィトまたはレジスタの内容)
とディスティネーションデータ(レジスタの内容)を加
算し、結果をディスティネーションのレジスタに格納す
るとともに、結果をC,V,Z,Nの各フラグに反映す
る。特に制限はされないものの、メモリの内容とレジス
タの内容の直接的な演算若しくは1命令による演算は行
なわない。
【0040】ADD命令では、データ演算命令としての
性質上、バイトサイズ、ワードサイズがある。ADDC
命令もADD命令と同様であるが、加算はキャリフラグ
Cを含めて行なわれる。ADDC命令は、データ演算命
令としての性質上、バイトサイズ、ワードサイズがある
のが望ましいが、ワードサイズのADDC命令は25ビ
ット以上のデータを扱わない限り必要ない。これに対し
てADDC命令をバイトサイズのみとすれば、CPU1
の命令フォーマット・内部制御方式の単純化を行なっ
て、論理的・物理的規模を縮小可能である。前記必要性
と前記縮小規模を考慮して、特に制限はされないもの
の、ADDC命令をバイトサイズのみとしている。AD
DE命令はアドレスデータ計算用に使用すべきものであ
り、汎用レジスタと拡張レジスタを組合せて加算を行な
う。ADDE命令は、アドレスデータ演算命令としての
性質上、アドレスワードサイズのみとされ、フラグの変
化は禁止されている。減算についても同様である。
【0041】比較には、キャリ付きの比較命令は存在し
ない。SUBE命令はキャリ、ゼロ、ネガティブフラグ
のみ変化し、オーバフローフラグは変化しない。アドレ
スデータには符号を考慮する必要がないためである。
【0042】なお、#x:8、#x:16はそれぞれ8
ビット、16ビットイミディエィトデータ、Rd8、R
d16は8ビット、16ビット汎用レジスタ、Ed:R
d:16は拡張レジスタと汎用レジスタの内容などを示
す。
【0043】図12にはCPU1のレジスタ構成の第2
の実施例が示される。CPU1は8本の16ビット長の
汎用レジスタR0(R0L,RH)〜R7(R7L,R
7H)と、5本の8ビット長の拡張レジスタE01,E
23,E45,E6,E7と、24ビット長のプログラ
ムカウンタPCと、8ビット長のコンディションコード
レジスタCCRとを有している。
【0044】汎用レジスタをアドレスレジスタとして使
用する場合は、汎用レジスタの内容16ビットをアドレ
スの下位16ビットとし、対応する拡張レジスタの内容
をアドレスの上位8ビットとして、合計24ビットのア
ドレスを生成するものである。アドレッシングモードあ
るいは実効アドレスの計算方法は第1の実施例と同様で
ある。本実施例では汎用レジスタR0とR1、R2とR
3、R4とR5に対してそれぞれ1個の拡張レジスタE
01、E23、E45が対応し、第1実施例に対して拡
張レジスタの数を減らしている。例えばR0を指定して
ポストインクリメントレジスタ間接を使用すると、拡張
レジスタE01とR0の内容が書き変えられる。次にR
1を指定してポストインクリメントレジスタ間接を使用
すると、拡張レジスタE01とR1の内容が書き変えら
れる。このため、ユーザは、特に制限はされないもの
の、汎用レジスタR0をデータレジスタとして、R1を
アドレスレジスタとして使用する。したがって、この場
合には、拡張レジスタE01は、つねに汎用レジスタR
1と組合せて使用し、汎用レジスタR0とは組合せては
使用しないようにすることになる。このようにユーザの
プログラム作成上の制約が発生することになるが、すべ
ての汎用レジスタをアドレスレジスタとして使用し、デ
ータレジスタとしては使用しない応用例は存在しないと
考えられるので、上記制約は実質上の問題とならない。
【0045】図13にはCPU1のレジスタ構成の第3
の実施例が示される。CPU1は、第2の実施例同様
に、8本の16ビット長の汎用レジスタR0(R0L,
RH)〜R7(R7L,R7H)と、5本の夫々8ビッ
ト長の拡張レジスタE3〜E7と、24ビット長のプロ
グラムカウンタPC、8ビット長のコンディションコー
ドレジスタCCRとを有している。
【0046】汎用レジスタをアドレスレジスタとして使
用する場合は、汎用レジスタの内容16ビットをアドレ
スの下位16ビットとし、対応する拡張レジスタの内容
をアドレスの上位8ビットとして、合計24ビットのア
ドレスを生成するものである。アドレッシングモードあ
るいは実効アドレスの計算方法は第1の実施例と同様で
ある。本実施例では汎用レジスタR0、R1、R2に対
して対応する拡張レジスタが存在しない。これらの汎用
レジスタをアドレスレジスタとして指定する場合には上
位8ビットを自動的に拡張して24ビットのアドレスと
するようになっている。特に制限はされないものの、汎
用レジスタR0の場合には、上位8ビットは自動的にR
0のビット15の内容と同一となる。汎用レジスタR1
の場合には、上位8ビットは自動的に全ビット0とな
る。また、汎用レジスタR2の場合には上位8ビットは
自動的に全ビット1となる。
【0047】図14には図13の実施例における汎用レ
ジスタR0、R1、R2をアドレスレジスタとして指定
する場合におけるアドレスの拡張可能な範囲が示され
る。
【0048】汎用レジスタR0の場合には、24ビット
アドレスとしての上位8ビットは自動的にR0のビット
15の内容と同一とされ、これにより、H’00000
0〜H’007FFFとH’FF8000〜H’FFF
FFFの範囲が指定される。汎用レジスタR1の場合に
は、上位8ビットは自動的に全ビット0とされ、これに
より、H’000000〜H’00FFFFの範囲が指
定される。また、汎用レジスタR2の場合には上位8ビ
ットは自動的に全ビット1とされ、これにより、H’F
F0000〜H’FFFFFFの範囲が指定される。こ
れらのH’000000〜H’00FFFFとH’FF
0000〜H’FFFFFFの範囲に使用頻度の高いプ
ログラムやデータ領域を配置すれば、それらはリニアな
アドレス範囲でアクセス可能にされる。
【0049】図15には、CPU1のレジスタ構成の第
4の実施例が示される。CPU1は、第2の実施例同様
に、8本の夫々16ビット長の汎用レジスタR0(R0
L,RH)〜R7(R7L,R7H)と、5本の夫々8
ビット長の拡張レジスタE01,E23,E45,E
6,E7と、24ビット長のプログラムカウンタPC
と、8ビット長のコンディションコードレジスタCCR
とを有している。本実施例の汎用レジスタと拡張レジス
タは、互いに独立とされ、アドレス計算時にキャリまた
はボローの伝播が禁止されている。プログラムカウンタ
PCは前記同様に24ビットのレジスタとして使用でき
る。
【0050】本実施例によれば、24ビットのプログラ
ムカウンタPCを有するから、プログラムに関してはペ
ージ境界をいっさい考慮しなくてもよい。但し、データ
がページ境界を超えないようにプログラム作成者が管理
しなければならないが、データの管理はプログラムの管
理より容易であると考えられる。汎用レジスタと拡張レ
ジスタを独立とすることで、24ビットディスプレース
メントや24ビット絶対的データの転送など比較的命令
長の長い命令を実行することはできないが、その反面、
制御部CONTの論理的並びに物理的規模を縮小でき
る。
【0051】汎用レジスタR7と拡張レジスタE7をい
わゆるスタックポインタとして使用する場合には、この
間のキャリまたはボローの伝播を許可してもよい。すな
わち、サブルーチンコール命令や割込み処理時などに、
暗黙的にスタックポインタ(汎用レジスタR7と拡張レ
ジスタE7)を使用する場合には、汎用レジスタR7と
拡張レジスタE7の間のキャリまたはボローの伝播を許
可するものである。
【0052】上記第1乃至第4実施例のレジスタ構成で
説明したように、汎用レジスタ・拡張レジスタを設け、
16Mバイトのアドレス空間を使用可能とした場合、主
要な演算はレジスタ間で行い、メモリとレジスタとの間
の演算は直接行わない即ち1命令では行わない命令体系
とするのが得策である。16Mバイトのアドレス空間を
有効に利用するには、前記のような複雑なアドレッシン
グモードが必要である。演算命令の多くにこのような複
雑なアドレッシングモードを実行可能とすると、制御部
CONTの構成が複雑になり、論理的・物理的規模を最
小限とする目的に反してしまうためである。メモリのア
クセスには、前記の通り、種々のアドレッシングモード
を有する転送命令でレジスタとのデータの転送を行い、
レジスタ上で演算などのデータ処理を行うものとすれば
よい。レジスタが8ビット長16本分として使用でき、
ある処理に必要なデータはレジスタ上に置くことができ
る。少なくとも、使用頻度の高いデータの大部分はレジ
スタ上に置くことができる。したがって、処理プログラ
ムの増加や実行速度の低下といった不都合が発生する場
合は少ないと考えられる。
【0053】メモリに対する演算を行う必要がある命令
としては、ビット操作命令がある。これらは、バイト単
位で割り当てられたアドレスの第nビットとして指定さ
れるものの、バイト単位で扱われるデータではなく、そ
れぞれのビットが独立した機能を有している。たとえ
ば、タイマの動作を制御するようなレジスタのような場
合、第0ビット・第1ビットでタイマのクロックを選択
し、第2ビットではタイマカウンタと比較レジスタの内
容が一致した時、タイマカウンタをクリアするかしない
かを指定し、第3ビットでは前記一致した時、割込みを
発生するかしないかを指定するものである。これらは1
ビット単位で1にセットしたり、0にクリアしたりする
必要がある。あるいは入力ポートの所定の1ビットが0
であるか1であるかによってCPU1の処理プログラム
が異なる場合、前記1ビットのデータを判定する必要が
ある。かかる1ビットデータは前記タイマ制御用レジス
タに対して直接演算しなければならない。バイト単位で
一旦レジスタに転送した後にビット操作を行うと、前記
転送とビット操作の間に割込みが入ってしまい、例えば
前記入力ポートの値が変化してしまうような不都合が発
生するためである。従って本実施例におけるCPU1
は、汎用レジスタのような内部のレジスタと周辺回路の
制御用レジスタのような外部レジスタとの間での直接的
な演算のためのビット操作命令はサポートしている。
尚、このようなビット操作命令の対象となるアドレスは
固定的で、複雑なアドレッシングモードは必要ではな
い。絶対アドレスと、最低限レジスタ間接を実行できれ
ばよい。しかも絶対アドレスの場合も全アドレス空間を
使用できる必要はなく、前記タイマ・入出力ポートなど
の存在するアドレス範囲にのみ使用できれば十分と考え
られる。このようなアドレス範囲の指定に使用できる絶
対アドレスは8ビットで十分である。16ビットとすれ
ば使用可能なアドレス範囲が広がるが、命令長が長くな
り制御が複雑になってしまう。少なくとも24ビットと
して16Mバイトの全空間を使用可能としなければなら
ない場合は非常に稀であると考えられる。したがって、
1ビット又は数ビットのビット操作命令を直接外部周辺
回路との間で行っても、これによって制御部の規模や命
令の種類が極端に増大する虞はない。
【0054】図16には本実施例のマイクロコンピュー
タ100におけるアドレスマップの一例が示される。
【0055】内蔵ROM2はアドレスH’00000か
ら配置され、内蔵周辺機能(タイマ4,SCI5など)
と内蔵RAM3はH’FF800以降に配置されてお
り、これらの間は外部空間とされる。内蔵周辺機能と内
蔵RAM3をアドレス空間の中途、例えば、H’0F8
00からH’0FFFFなどに配置することができる
が、この場合には外部空間が2ヵ所に分離される、ま
た、内蔵ROM2に書き込んだプログラムと外部空間に
存在するプログラムを連続的に使用できず、本発明の目
的に反する。従って主としてプログラム領域とされるべ
き内蔵ROM2と、主としてデータ領域とされるべき内
蔵周辺機能及び内蔵RAM3は互いにアドレス空間の反
対に配置し、この間は連続した空間とすべきである。こ
のようにすることにより、マイクロコンピュータ100
が適用されるシステムに応じてデータ領域やプログラム
領域が大きくなっても、夫々を容易に連続したアドレス
空間に確保する事ができるようになり、システム上、デ
ータやプログラムを管理したり、それらをアクセスする
ための手順が簡素化されたりする。尚、内蔵ROM2は
リセット処理に際してのスタートアドレスまたはスター
トアドレスを格納したアドレス(スタートベクタ)を含
む。
【0056】以上の実施例では、アドレス空間16Mバ
イトであるとしたが、CPU1の機能としては16Mバ
イトのアドレス空間をもちながらも、シングルチップコ
ンピュータ100全体としては各機能ブロックの組合せ
などにより、16Mバイトのアドレス空間は必要とせ
ず、かつ入出力ポートの端子数を多く必要とする場合が
考えられる。このような場合、アドレス端子24本を持
つことは得策ではなく、アドレス端子数を減らし、入出
力ポート端子数を増加させなければならない。例えばア
ドレス端子を20本とすると、実際に利用できるアドレ
ス空間は1Mバイトとなる。
【0057】図17にはシングルチップマイクロコンピ
ュータ100に含まれる機能ブロック選択回路の一例が
示される。
【0058】同図に示される機能ブロック選択回路は、
特に制限はされないものの、CPU1が出力する24ビ
ットのアドレス信号A0〜A23をデコードして各機能
ブロックの選択信号を生成し、ゲートG1,G2,G
3,G4,G6,G9,及びデコーダDEC1によって
構成される。シングルチップマイクロコンピュータ10
0に含まれる各機能ブロックにはアドレス信号A0〜A
23の全ビットは入力されず、当該機能ブロックが選択
されたことを示す機能ブロック選択信号と、当該機能ブ
ロックの中のいずれのアドレスが選択されたかを示す下
位アドレスビットが入力されるものである。本例によれ
ば、ROM2の容量が32kバイトであるとすると、R
OM2には1本の機能ブロック選択信号とアドレス信号
A0〜A14の下位15ビットが入力される。
【0059】上記機能ブロック選択回路により図16の
アドレスマップを実現する場合、アドレスの下位16ビ
ットを入力したデコーダDEC1において、H’000
0〜7FFFを検出するとBSEL1信号が1レベルと
される。さらにゲートG6において上位アドレスがH’
00を検出すると、ゲートG6、G1の出力、すなわ
ち、内蔵ROM2の選択信号が1レベルとなってがRO
M2にが選択される。RAM3および内蔵周辺機能につ
いても同様である。とくに制限はされないものの、これ
らのいずれもが選択されないと外部空間が選択される。
【0060】図18には外部アドレス端子を20本と
し、実際に利用できるアドレス空間を1Mバイトとする
ようなマイクロコンピュータのアドレスマップが示され
る。
【0061】斯るシングルチップマイクロコンピュータ
のアドレスマップは、前記の通り、主としてプログラム
領域とされるべき内蔵ROM2と、主としてデータ領域
とされるべき内蔵周辺機能及び内蔵RAM3とを互いに
アドレス空間の反対に配置し、この間を連続した空間と
するには、図18の(a),(b)の2通りのマッピン
グが考えられる。(a)の場合には内蔵周辺機能及び内
蔵RAMを16Mバイトの空間のH’FFFFFF側に
配置している。(b)の場合には内蔵周辺機能及び内蔵
RAM3を1Mバイトの空間のH’FFFFF側に配置
している。図18からも明らかなように、(a)の方が
利用可能な外部アドレス空間は大きくなるが、その反
面、データ領域は外部アドレス空間と内部アドレス空間
とで分離される。
【0062】図19には図18のアドレスマップを実現
する機能ブロック選択回路が示される。
【0063】同図に示される機能ブロック選択回路は、
ゲートき1〜G10、デコーダDEC1、及びレジスタ
REGによって構成され、特に制限はされないものの、
レジスタREGの内容によって、図18の(a),
(b)の2種類のアドレスマップを選択する。レジスタ
REGの内容を1とするとゲートG7、G10の出力が
アドレスの上位4ビットに依存せず常に1となり、図1
8の(b)に示されるアドレスマップとなる。レジスタ
REGの内容を0とすると図18の(a)に示されるア
ドレスマップとなる。特に制限はされないものの、アド
レスマップの予約済みの空間は使用禁止とされる。レジ
スタREGはCPU1がリード/ライト可能なもののほ
か、外部端子によって設定可能としてもよいし、内部で
電源に接続して固定的に設定するものとしてもよい。
【0064】図20には図18の(b)に示されるアド
レスマップを実現する機能ブロック選択回路が示され
る。この機能ブロック選択回路は、図19においてレジ
スタREGを1レベルにし、ゲートG7,G10を削除
して成る構成と等価である。内蔵RAM3と連続した外
部空間を使用可能になる。アドレスバス4本及び上記ゲ
ートG5,G7〜G8,G10などを削除でき、論理規
模・物理的規模を縮小できる。
【0065】図21には前記各種汎用レジスタ・拡張レ
ジスタ・プログラムカウンタ・テンポラリレジスタの具
体的な論理回路例が示される。
【0066】図21には代表的に3ビットの構成が示さ
れている。レジスタはフリップフロップ回路FFで構成
され、バスCからデータの入力が可能とされ、バスA・
Bに出力が可能とされている。データの入出力は制御部
からの信号に基づいて、システムクロックφ(図におけ
る記号*はローイネーブルであることを意味する)がロ
ウレベルの期間に行なわれる。汎用レジスタRiH、R
iL、及び拡張レジスタEiには夫々独立した制御信号
AH,BH,CH、AL,BL,CL、AE,BE,C
Eが与えられ、それぞれ独立した入出力が可能とされて
いる。プログラムカウンタPCは24ビット長固定のた
め、AEとAHとAL、BEとBHとBL、CEとCH
とCLはそれぞれ共通の信号APC、BPC、CPCと
して与えられ、一括した入出力を行う。テンポラリレジ
スタTRについては、その使用方法に依存するが、汎用
レジスタ及び拡張レジスタと同様とする。
【0067】特に制限はされないものの、それぞれのバ
スA,B,Cは負論理とされている。また、バスA及び
Bはシステムクロックφがハイレベルの期間にPチャネ
ル型MOSトランジスタQpによりハイレベル(0レベ
ル)に固定される。システムクロックφがロウレベルの
期間に、いずれのブロックもデータを出力しなければハ
イレベルが保持される。
【0068】図22には図10で説明した前記{MO
V.B @(1234,R0),R1H命令}実行時の
汎用レジスタ及び拡張レジスタの一例動作タイミングチ
ャートが示される。
【0069】システムクロックφに同期した第1サイク
ル即ち前記第1ステップSc1と第5サイクルとしての
第5ステップSc5で制御信号APCが1レベルとな
り、プログラムカウンタPCの内容がAバスに出力され
る。同時に制御信号CPCが1レベルとなり、Cバスの
内容がプログラムカウンタPCに入力される。特に制限
はされないもののプログラムカウンタPCの出力はいわ
ゆるマスタ・スレーブとなっているためAバスにはCバ
スの内容ではなく、直前のプログラムカウンタPCの内
容が出力される。第2ステップSc2で拡張レジスタE
0と汎用レジスタR0との制御信号AE0、AH0、A
L0が1レベルとなり、拡張レジスタE0と汎用レジス
タR0の内容がAバスに出力される。第6ステップSc
6で汎用レジスタR1の制御信号AH1が1レベルとな
り、Cバスの内容が汎用レジスタR1Hに出力される。
制御信号AE1、AL1は0レベルであり、拡張レジス
タE1と汎用レジスタR1Lとの内容は保持される。
【0070】図23には図11に示される前記{MO
V.L @R7+,R2}命令実行時の汎用レジスタの
一例動作タイミングチャートが示される。
【0071】システムクロックφに同期した第2サイク
ルとしての第2ステップSd2で拡張レジスタE7と汎
用レジスタR7の制御信号AE7、AH7、AL7が1
レベルとなり、拡張レジスタE7と汎用レジスタR7と
の内容がAバスに出力される。同時に制御信号CE7、
CH7、CL7が1レベルとなり、Cバスの内容が拡張
レジスタE7と汎用レジスタR7とに入力される。前記
同様に汎用レジスタの出力はいわゆるマスタ・スレーブ
となっているためAバスにはCバスの内容ではなく、直
前のプログラムカウンタPCの内容が出力される。第6
ステップSd6で制御信号APCが1レベルとなり、プ
ログラムカウンタPCの内容がAバスに出力される。同
時に制御信号CPCが1レベルとなり、Cバスの内容が
プログラムカウンタPCに入力される。第7ステップS
d7で拡張レジスタE2と汎用レジスタR2との制御信
号CE2、CH2、CL2が1レベルとなり、Cバスの
内容が拡張レジスタE2と汎用レジスタR2に入力され
る。
【0072】図24には図7に示されるリードデータバ
ッファRDB(RDBL,RDBH,RDBE)の具体
的な一例論理回路図画示される。
【0073】リードデータバッファはバスA及びBとシ
ングルチップマイクロコンピュータ100の含まれる内
部データバスL(D0〜D7),H(D8〜D15)に
結合されてなる第1のリードバッファ部分RDB1(R
DB1L,RDB1H)、バスA及びBと第1のリード
バッファ部分RDB1とに結合されてなる第2のリード
バッファ部分RDB2(RDB2L,RDB2H)、バ
スA及びBと第2のリードバッファ部分RDB2とに結
合されてなる拡張リードバッファ部分RDBE、CPU
1の制御部CONTと第2のリードバッファ部分RDB
2とに結合されてなる命令リードバッファ部分RDBI
(RDBIL,RDBIH)から構成される。第1のリ
ードバッファ部分RDB1と第2のリードバッファ部分
RDB2と命令リードバッファ部分RDBIはいずれも
16ビットである。拡張リードバッファ部分RDBEは
8ビットである。第1のリードバッファ部分RDB1と
第2のリードバッファ部分RDB2は、バスA及びBの
ビット15〜0に接続されている。特に制限はされない
ものの、拡張リードバッファ部分RDBEは、バスA及
びBのビット23〜16,及びビット7〜0に接続され
ている。リードされたデータはまずシステムクロックφ
がロウレベルの期間に第1のリードバッファ部分RDB
1に格納され、システムクロックφがハイレベルの期間
に第2のリードバッファ部分RDB2に転送される。リ
ードしたデータが後で必要になる場合には、次のデータ
をリードする前に、前記第2のリードバッファ部分RD
B2から拡張リードバッファ部分RDBEまたは命令リ
ードバッファ部分RDBIに転送され、保持される。
【0074】図25には図10で説明した前記{MO
V.B @(1234,R0),R1H}命令実行時の
リードデータバッファの一例動作タイミングチャートが
示される。
【0075】第1ステップと第3ステップと第5ステッ
プで制御信号1が1レベルとなり、データバスD0〜D
15の内容が第1のリードバッファ部分RDB1に格納
される。これらの内容は次のステップで第2のリードバ
ッファ部分RDB2に転送される。第2ステップで制御
信号2が1レベルとなり、第2のリードバッファ部分R
DB2に保持されているディスプレースメントがBバス
に出力される。第3ステップで制御信号4が1レベルと
なり、第2のリードバッファ部分RDB2に保持されて
いる次の命令の下位8ビットの内容が拡張リードバッフ
ァ部分RDBEに転送される。第5ステップで制御信号
7が1レベルとなり、第2のリードバッファ部分RDB
2に保持されている次の命令のの内容が命令リードバッ
ファ部分RDBIに転送される。制御部CONTでは第
6ステップからこの内容を使用し、次の命令の解読を開
始する。第6ステップで制御信号3が1レベルとなり、
第2のリードバッファ部分RDB2に保持されているリ
ードデータがAバスに出力される。
【0076】図26には図11で説明した前記{MO
V.L @R7+,R2}命令実行時における図24の
リードデータバッファの一例動作タイミングチャートが
示される。
【0077】第1ステップと第4ステップと第6ステッ
プで制御信号1が1レベルとなり、データバスD0〜D
15の内容が第1のリードバッファ部分RDB1に格納
される。これらの内容は次のステップで第2のリードバ
ッファ部分RDB2に転送される。第2ステップで制御
信号7が1レベルとなり、第2のリードバッファ部分R
DB2に保持されている次の命令の内容が命令リードバ
ッファ部分RDBIに転送される。制御部CONTでは
第7ステップからこの内容を使用し、次の命令の解読を
開始する。第6ステップで制御信号4が1レベルとな
り、第2のリードバッファ部分RDB2に保持されてい
るリードデータが拡張リードバッファ部分RDBEに転
送される。第7ステップで制御信号3、5が1レベルと
なり、第2のリードバッファ部分RDB2と拡張リード
バッファ部分RDBEに保持されている24ビットのリ
ードデータがAバスに出力される。
【0078】図27にはアドレスバッファAB(AB
L,ABH,ABE)の具体的な一例論理回路が示され
る。同図において、アドレスバッファABの各ビットは
フリップフロップ回路MAB1、MAB2で構成され、
フリップフロップ回路MAB1はバスAとフリップフロ
ップ回路MAB2に接続され、フリップフロップ回路M
AB2はフリップフロップ回路MAB1とアドレスバス
に接続されている。フリップフロップ回路MAB1のA
バスからのデータの入力は制御信号が1レベルのとき、
システムクロックφがロウレベルの期間に行なわれる。
フリップフロップ回路MAB1の内容はフリップフロッ
プ回路MAB2にシステムクロックφがハイレベルの期
間に転送されアドレスバスに出力される。
【0079】図28には図10で説明した前記{MO
V.B @(1234,R0),R1H}命令実行時に
おける図27のアドレスバッファの一例動作タイミング
チャートが示される。第1ステップと第3ステップと第
5ステップで制御信号が1レベルとなり、Aバスの内容
がフリップフロップ回路MAB1に格納される。これら
の内容は次のステップでフリップフロップ回路MAB2
に転送され、アドレスバスに出力される。
【0080】図29にはアドレスバッファABの変形例
が示される。図27のアドレスバッファに対し、フリッ
プフロップ回路MAB1とMAB2の間に、加算器例え
ばインクリメンタINCが付加されており、定数値2を
加算できる。24ビットのデータをアクセスするために
は16ビット単位のアクセスを2回に分けて行うため、
1回目のアクセスの後、アドレスに2を加算しなければ
ならないが、この加算に前記インクリメンタINCを使
用する。汎用のALUを使用する場合に比べてハードウ
ェア規模が増大するが、汎用の演算器を使用したときに
一旦計算したアドレスを例えばテンポラリレジスタなど
に一時的に確保した後で前記テンポラリレジスタの内容
を読み出してALUで2を加算し当該加算結果をアドレ
スバッファに転送するような手間を省くことができ、制
御部CONTの規模を縮小できる。これらアドレスバッ
ファの形式はCPUの全体的な構成に基づいて選択すれ
ばよく、例えば、実行部EXEの規模に比べて制御部C
ONTの規模が大きくなり過ぎてチップレイアウト上な
どで好ましくないと考えられる場合には図29のアドレ
スバッファを採用すればよい。
【0081】図30には図10で説明した前記{MO
V.B @(1234,R0),R1H}命令実行時に
おける図29のアドレスバッファの一例動作タイミング
チャートが示される。第1ステップと第5ステップで制
御信号A1が1レベルとなり、Aバスの内容がフリップ
フロップ回路MAB1に格納される。これらの内容は次
のステップでフリップフロップ回路MAB2に転送さ
れ、アドレスバスに出力される。第3ステップの後半か
ら制御信号A2が1レベルとなり、フリップフロップ回
路MAB1に2を加えた内容が第4ステップでフリップ
フロップ回路MAB2に転送され、アドレスバスに出力
される。
【0082】上記実施例によれば以下の効果を得るもの
である。
【0083】(1)8ビットCPU1に内蔵の既存の1
6ビットの汎用レジスタにアドレス専用の拡張レジスタ
を追加し、追加された拡張レジスタを含めた全体をアド
レスデータとして一括把握して、メモリなどをアクセス
可能にし、このとき、アドレス演算は拡張レジスタ及び
これに対応する汎用レジスタの双方を一単位として行
い、アドレスデータを保持する汎用レジスタの更新は対
応する拡張レジスタと共に行い、また、拡張レジスタも
含めた全体で一単位のデータとして把握して、アドレス
演算で発生するキャリーやボローを処理するから、16
ビットのアドレスレジスタを用いる場合に比べてリニア
に利用可能なアドレス空間を64kバイトから最大限1
6Mバイトまで拡張することができる。更に、ページレ
ジスタによる従来のアドレス空間拡張技術に比べて、プ
ログラムやコンパイラの作成が容易になり、しかも種々
のアドレス修飾も可能になって、アドレス空間の広さに
見合うように相対的に豊富なアドレシングモードをサポ
ートすることができるようになる。
【0084】(2)更に、前記拡張レジスタはアドレス
生成に用途を限定してあるから、実行可能な命令の種別
若しくは組み合わせ数を、データ処理能力の極端な低下
を招くことなく減らすことができ、CPUの論理的並び
に物理的な規模の増大を抑制することができる。
【0085】(3)リニアなアドレス空間の拡張と共に
アドレシングモードを多様化するとき、その多様化に応
じてアドレシングモードと命令との組み合わせも必然的
に増大するが、このとき、アドレスデータ以外のデータ
を保持する汎用レジスタとCPUの外部との間では、ビ
ット操作処理などを除いて、1つの命令で直接的な演算
を不可能にすることにより、CPUの処理能力の極端な
低下を抑制しつつ、前記組み合わせの増大によってCP
Uの論理的並びに物理的な規模が増大することを極力抑
えることができる。
【0086】(4)上記により、16ビットCPUと同
等にアドレス空間を拡張しつつ、機器制御応用でシステ
ム構成に必要なタイマやメモリなどの周辺機能を1チッ
プに内蔵でき、機器制御応用のための所要のシステムを
オンチップ化して所謂シングルチップマイクロコンピュ
ータを実現することが容易になる。
【0087】(5)前記拡張レジスタと汎用レジスタの
全体をアドレスデータのために利用したときと前記汎用
レジスタをその他のデータのために利用したときの機能
の相違に鑑みて、CPUの内外において、拡張レジスタ
と汎用レジスタの全体を一括する全24ビットのデータ
転送制御と、前記汎用レジスタを一括する全16ビット
のデータ転送制御との双方が可能にされており、このと
き、一組の前記拡張レジスタ及び汎用レジスタが保持す
るアドレスデータに基づいてCPU外部のアドレスを指
定し、別の汎用レジスタとCPU外部との間でデータ転
送制御することができる。
【0088】(6)算術論理演算器は拡張レジスタ及び
汎用レジスタの内容に対して、算術演算(本実施例にお
いてはシフト演算も含む)、論理演算、比較等を行う
が、当該算術論理演算器は、前記拡張レジスタ及び汎用
レジスタの全体に対する24ビットのアドレスデータに
対する算術的な演算を、1マシンサイクルで実行可能な
24ビットの演算ビット数を有するから、一括把握され
るアドレスデータの演算で生ずるキャリーやボローの処
理を別のマシンサイクルを使って行う必要はなく、アド
レス演算を効率的に行うことができる。
【0089】以上本発明者によってなされた発明を実施
例に基づいて具体的に説明したが、本発明はそれに限定
されるものではなく、その要旨を逸脱しない範囲におい
て種々変更可能であることは言うまでもない。
【0090】例えば、CPU1のブロック構成・レジス
タ構成・具体的な論理回路例などについては何ら限定さ
れない。レジスタのビット数あるいはレジスタの本数な
どは任意に選択することもできる。アドレッシングモー
ドと実効アドレスの計算方法についても種々の変形例を
使用することができる。ALUは24ビット構成とした
が、16ビット構成とし、24ビットデータは下位16
ビットと上位8ビットの2回に分けて演算する構成とす
れば、物理的規模を縮小できる。拡張レジスタは16ビ
ット長としてもよい。また、上記実施例において拡張レ
ジスタと汎用レジスタとの間で相互にデータ転送可能に
することができる。
【0091】以上の説明では主として本発明者によって
なされた発明をその背景となった利用分野であるシング
ルチップマイクロコンピュータに適用した場合について
説明したが、本発明はそれに限定されるものではなく、
その他のデータ処理装置に適用可能であり、データの処
理能力に比べて処理可能なデータやプログラムの規模を
相対的に優先させる条件のもの、また、CPUの論理的
並びに物理的な規模の増大を抑えつつアドレス空間を拡
張して有効な条件のものに広く適用することができる。
【0092】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
【0093】 すなわち、アドレスデータの保持には全
体が使用され、データの保持にはその一部が使用される
レジスタを採用したから、CPUの論理的及び物理的な
規模の増大を招かずに、リニアに利用可能なアドレス空
間を拡張できる。さらに、アドレスデータの演算は前記
レジスタのビット数を単位として行なうから、豊富なア
ドレシングモードのサポートも可能である。
【0094】
【0095】
【図面の簡単な説明】
【図1】図1は本発明に係るデータ処理装置の一実施例
であるシングルチップマイクロコンピュータのブロック
図である。
【図2】図2はCPU1の内蔵レジスタの第1構成例を
示す説明図である。
【図3】図3は汎用レジスタR0L,R0H〜R7L,
R7Hと拡張レジスタE0〜E7のデータ構成例を示す
説明図である。
【図4】図4はメモリのデータ構成例を示す説明図であ
る。
【図5】図5はCPU1のアドレッシングモードと実効
アドレスの計算手法の一例を示す説明図である。
【図6】図6はCPU1のアドレッシングモードと実効
アドレスの計算手法の更に別の例を示す説明図である。
【図7】図7はCPU1内部の一例ブロック図である。
【図8】図8はCPU1によるリセット例外処理の一例
フローチャートである。
【図9】図9はイミディエイトデータをレジスタに転送
する命令の一例フローチャートである。
【図10】図10はディスプレースメント付レジスタ間
接アドレッシングモードでメモリの内容をレジスタ転送
する命令の一例フローチャートである。
【図11】図11はポストインクリメントレジスタ間接
アドレッシングモードでメモリの内容をレジスタ転送す
る命令の一例フローチャートである。
【図12】図12はCPU1のレジスタ構成の第2例を
示す説明図である。
【図13】図13はCPU1のレジスタ構成の第3例を
示す説明図である。
【図14】図14は図13の例における汎用レジスタを
アドレスレジスタとして指定する場合におけるアドレス
の拡張可能な範囲を示す説明図である。
【図15】図15はCPU1のレジスタ構成の第4例を
示す説明図である。
【図16】図16は本実施例のマイクロコンピュータ1
00における一例アドレスマップである。
【図17】図17はシングルチップマイクロコンピュー
タ100に含まれる機能ブロック選択回路の一例論理図
である。
【図18】図18は外部アドレス端子を20本とし、実
際に利用できるアドレス空間を1Mバイトとするような
マイクロコンピュータの一例アドレスマップである。
【図19】図19は図18のアドレスマップを実現する
機能ブロック選択回路の論理図である。
【図20】図20は図18の(b)に示されるアドレス
マップを実現する機能ブロック選択回路の論理図であ
る。
【図21】図21は前記各種汎用レジスタ・拡張レジス
タ・プログラムカウンタ・テンポラリレジスタの具体的
な論理回路図である。
【図22】図22は図10に示される{MOV.B @
(1234,R0),R1H}命令実行時の汎用レジス
タ及び拡張レジスタの一例動作タイミングチャートであ
る。
【図23】図23は図11に示される{MOV.L @
R7+,R2}命令実行時の汎用レジスタの一例動作タ
イミングチャートである。
【図24】図24は図7に示されるリードデータバッフ
ァRDBの具体的な一例論理回路図である。
【図25】図25は図10に示される{MOV.B @
(1234,R0),R1H}命令実行時のリードデー
タバッファの一例動作タイミングチャートである。
【図26】図26は図11に示される{MOV.L @
R7+,R2}命令実行時における図24のリードデー
タバッファの一例動作タイミングチャートである。
【図27】図27はアドレスバッファABの具体的な一
例論理回路である。
【図28】図28は図10に示される{MOV.B @
(1234,R0),R1H}命令実行時における図2
7のアドレスバッファの一例動作タイミングチャートで
ある。
【図29】図29はアドレスバッファABの変形例を示
す論理図である。
【図30】図30は図10に示される{MOV.B @
(1234,R0),R1H}命令実行時における図2
9のアドレスバッファの一例動作タイミングチャートで
ある。
【図31】図31は前記CPU1が実行可能な算術演算
命令の説明図である。
【符号の説明】
1 CPU 2 ROM 3 RAM 4 タイマ 5 SCI 100 シングルチップマイクロコンピュータ R0L,R0H〜R7L,R7H 汎用レジスタ E0〜E7 拡張レジスタ PC プログラムカウンタ EXE 実行部 CONT 制御部 ABL,ABH,ABE アドレスバッファ ALUL,ALUH,ALUE 算術論理演算器 RDBL,RDBH,RDBE リードデータバッファ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 永山 ひろみ 東京都小平市上水本町5丁目20番1号 株式会社日立製作所 武蔵工場内 (72)発明者 林 努 東京都小平市上水本町5丁目20番1号 株式会社日立製作所 武蔵工場内 (72)発明者 早川 幸秀 東京都小平市上水本町5丁目20番1号 株式会社日立製作所 武蔵工場内 (56)参考文献 特開 昭61−84735(JP,A) 特開 平2−33638(JP,A) 特開 昭60−134937(JP,A) 特開 平1−177636(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/02 G06F 9/36

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項1】 第1ビット長を持つ第1レジスタ部と第
    2ビット長を持つ第2レジスタ部とを含む複数のレジス
    タと、 前記第1レジスタ部に連結され算術論理演算を実行する
    第1算術論理ユニットと、前記第2レジスタ部に連結さ
    れ算術論理演算を実行する第2算術論理ユニットとを含
    む算術論理演算部とを有し、 前記第1及び第2算術論理ユニットにより、前記複数の
    レジスタの一つにおける第1及び第2レジスタ部内に格
    納された第1アドレスデータと前記複数のレジスタの他
    の一つにおける前記第1及び第2レジスタ部内に格納さ
    れた第2アドレスデータとの間のアドレス演算を前記第
    1ビット長と第2ビット長の和のビット長単位で実行
    し、 前記第1算術論理ユニットにより、前記第1レジスタ部
    内に格納されたデータを用いたデータ演算を前記第1ビ
    ット長の単位で実行するものであることを特徴とするデ
    ータ処理装置。
  2. 【請求項2】 前記データ処理装置は、一つの半導体基
    板に形成され、 前記第1及び第2算術論理ユニットにより実行された前
    記第1アドレスデータと前記第2アドレスデータとの間
    のアドレス演算の結果は、アドレスバスに接続されたア
    ドレスバッファに出力されることを特徴とする請求項1
    記載のデータ処理装置。
  3. 【請求項3】 複数のビット構成のコンディションコー
    ドレジスタを更に有し、 前記算術論理演算部は、第1の命令に応答して前記アド
    レス演算を行い、第2の命令に応答して前記データ演算
    を行い、 前記アドレス演算では前記コンディションコードレジス
    タの内容の変更が禁止され、前記データ演算では演算結
    果に応答して前記コンディションコードレジスタの内容
    が変更されることを特徴とする請求項2記載のデータ処
    理装置。
  4. 【請求項4】 前記第1レジスタ部と第2レジスタ部と
    を一単位として前記アドレス演算で発生するキャリー又
    はボローの処理を行うものであることを特徴とする請求
    項2記載のデータ処理装置。
  5. 【請求項5】 複数のレジスタと、算術論理演算部とを
    含んで成るデータ処理装置であって、 前記複数のレジスタの夫々は、第1ビット長のアドレス
    又はデータを格納する第1レジスタ部と、第2ビット長
    のアドレスを格納する第2レジスタ部とを有し、前記第
    1ビット長と前記第2ビット長との合計に等しい第3ビ
    ット長のアドレスを格納可能にされて成り、 前記算術論理演算部は、前記第1レジスタ部に接続され
    た第1算術論理ユニットと、前記第2レジスタ部に接続
    された第2算術論理ユニットを含み、 前記複数のレジスタの一つにおける前記第1及び第2レ
    ジスタ部から読み出された第1アドレスと前記複数のレ
    ジスタのうちの他の一つにおける前記第1及び第2レジ
    スタ部から読み出された第2アドレスは、前記第1及び
    第2算術論理ユニットに供給されて前記第1ビット長と
    第2ビット長の和のビット長単位のアドレスを生成する
    ためのアドレス演算に用いられ、 前記第1レジスタ部から読み出された前記第1ビット長
    のデータは、前記第1算術論理ユニットに供給されて前
    記第1ビット長の単位でのデータ演算に用いられことを
    特徴とするデータ処理装置。
  6. 【請求項6】 命令を解読して前記複数のレジスタ及び
    算術論理演算部を用いた動作を制御する制御手段を有
    し、この制御手段は、前記第1レジスタ部に対する情報
    転送と、前記第1及び第2レジスタ部に対する情報転送
    とを制御可能であることを特徴とする請求項5記載のデ
    ータ処理装置。
  7. 【請求項7】 前記制御手段は、前記複数のレジスタの
    一つにおける第1及び第2レジスタ部の記憶情報に基づ
    いてデータ処理装置外部のアドレスを指定して、前記複
    数のレジスタの他の一つにおける第1レジスタ部とデー
    タ処理装置外部との間で情報転送制御可能であることを
    特徴とする請求項6記載のデータ処理装置。
  8. 【請求項8】 前記データ処理装置外部のアドレスの指
    定は、前記複数のレジスタの一つにおける第1及び第2
    レジスタ部の記憶情報を算術論理演算部を用いて修飾す
    ることによって行なわれるものである請求項7記載のデ
    ータ処理装置。
  9. 【請求項9】 前記データ処理装置は、一つの半導体基
    板に形成されることを特徴とする請求項1記載のデータ
    処理装置。
  10. 【請求項10】 命令を解読して前記複数のレジスタ及
    び算術論理演算部を用いた動作を制御する制御手段を有
    し、この制御手段は、前記第1レジスタ部に対する情報
    転送と、前記第1及び第2レジスタ部に対する情報転送
    とを制御可能であることを特徴とする請求項9記載のデ
    ータ処理装置。
  11. 【請求項11】 前記制御手段は、前記複数のレジスタ
    の一つにおける第1及び第2レジスタ部の記憶情報に基
    づいてデータ処理装置外部のアドレスを指定して、前記
    複数のレジスタの他の一つにおける第1レジスタ部とデ
    ータ処理装置外部との間で情報転送制御可能であること
    を特徴とする請求項10記載のデータ処理装置。
  12. 【請求項12】 前記データ処理装置外部のアドレスの
    指定は、前記複数のレジスタにおける第1及び第2レジ
    スタ部の記憶情報を算術論理演算部を用いて修飾するこ
    とによって行なわれるものである請求項11記載のデー
    タ処理装置。
JP13204291A 1991-05-08 1991-05-08 データ処理装置 Expired - Lifetime JP3486630B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP13204291A JP3486630B2 (ja) 1991-05-08 1991-05-08 データ処理装置
KR1019920007701A KR100272622B1 (ko) 1991-05-08 1992-05-07 데이타 처리장치
US08/583,763 US5687344A (en) 1991-05-08 1996-01-10 Single-chip microcomputer having an expandable address area
US08/582,379 US5666510A (en) 1991-05-08 1996-01-11 Data processing device having an expandable address space
US08/607,568 US5771363A (en) 1991-05-08 1996-02-27 Single-chip microcomputer having an expandable address area

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13204291A JP3486630B2 (ja) 1991-05-08 1991-05-08 データ処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2002297670A Division JP3669984B2 (ja) 2002-10-10 2002-10-10 マイクロコンピュータ

Publications (2)

Publication Number Publication Date
JPH04333153A JPH04333153A (ja) 1992-11-20
JP3486630B2 true JP3486630B2 (ja) 2004-01-13

Family

ID=15072155

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13204291A Expired - Lifetime JP3486630B2 (ja) 1991-05-08 1991-05-08 データ処理装置

Country Status (1)

Country Link
JP (1) JP3486630B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5854939A (en) * 1996-11-07 1998-12-29 Atmel Corporation Eight-bit microcontroller having a risc architecture

Also Published As

Publication number Publication date
JPH04333153A (ja) 1992-11-20

Similar Documents

Publication Publication Date Title
US10514922B1 (en) Transfer triggered microcontroller with orthogonal instruction set
TWI541658B (zh) 資料處理裝置及半導體積體電路裝置
KR100462951B1 (ko) Risc 구조를 갖는 8 비트 마이크로콘트롤러
CN104375972A (zh) 用于可配置数学硬件加速器的微处理器集成配置控制器
US5666510A (en) Data processing device having an expandable address space
JPH05502125A (ja) 後入れ先出しスタックを備えるマイクロプロセッサ、マイクロプロセッサシステム、及び後入れ先出しスタックの動作方法
JP2001256105A (ja) 非整列循環アドレス指定を用いるマイクロプロセッサ
US8145804B2 (en) Systems and methods for transferring data to maintain preferred slot positions in a bi-endian processor
JP2001092662A (ja) プロセッサコア及びこれを用いたプロセッサ
JP3694531B2 (ja) Riscアーキテクチャを有する8ビットマイクロコントローラ
KR100272622B1 (ko) 데이타 처리장치
JP4004915B2 (ja) データ処理装置
JP3432532B2 (ja) データ処理装置
JP3556252B2 (ja) オフセット合計を計算するデータ処理システムとその方法
JP3486630B2 (ja) データ処理装置
JP3669984B2 (ja) マイクロコンピュータ
JP2556182B2 (ja) デ−タ処理装置
JP3154542B2 (ja) データ処理装置
JPH04104350A (ja) マイクロプロセッサ
JP3539951B2 (ja) データ処理装置
JP4545777B2 (ja) データ処理装置
JP2696578B2 (ja) データ処理装置
JPH05173778A (ja) データ処理装置
JP4498338B2 (ja) データ処理装置
JP4553622B2 (ja) データ処理装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020813

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081031

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081031

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091031

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091031

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101031

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101031

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 8

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 8