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

データ処理装置

Info

Publication number
JPH0651981A
JPH0651981A JP4226447A JP22644792A JPH0651981A JP H0651981 A JPH0651981 A JP H0651981A JP 4226447 A JP4226447 A JP 4226447A JP 22644792 A JP22644792 A JP 22644792A JP H0651981 A JPH0651981 A JP H0651981A
Authority
JP
Japan
Prior art keywords
register
bit
data
instruction
bits
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
Application number
JP4226447A
Other languages
English (en)
Other versions
JP3432532B2 (ja
Inventor
Naomiki Mitsuishi
直幹 三ツ石
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP22644792A priority Critical patent/JP3432532B2/ja
Priority to KR1019930014080A priority patent/KR100277805B1/ko
Publication of JPH0651981A publication Critical patent/JPH0651981A/ja
Priority to US08/582,379 priority patent/US5666510A/en
Application granted granted Critical
Publication of JP3432532B2 publication Critical patent/JP3432532B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30138Extension of register space, e.g. register cache
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • G06F9/30038Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30112Register structure comprising data of variable length
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/3013Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30192Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/321Program or instruction counter, e.g. incrementing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/324Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address using program counter relative addressing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/342Extension of operand address space
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/35Indirect addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Abstract

(57)【要約】 【目的】 下位CPUとの上位互換を実現し、連続的に
使用可能なアドレス空間を相対的に広げることができる
CPUを提供する。 【構成】 データ情報の保持には2分割利用可能であ
り、下位CPUのアドレスビット数以上のビット数を以
ってアドレスレジスタとしても利用可能なレジスタ構成
を採用し、データ情報のバイト/ワードサイズはオペレ
ーションコードのサイズビットで指定し、ロングワード
サイズのデータ情報の利用はプリフィックスコード或は
下位CPUと同一ビット数の新たに追加したオペレーシ
ョンコードで指定し、バイトサイズのデータ情報に対し
利用するバイトサイズレジスタの上位/下位はレジスタ
指定フィールドの所定1ビットで指定し、ワードサイズ
のデータ情報に対してはその所定1ビットでワードサイ
ズレジスタの上位/下位を指定する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ処理装置にかか
り、例えば、シングルチップマイクロコンピュータの中
央処理装置に利用して有効な技術に関するものである。
【0002】
【従来の技術】シングルチップマイクロコンピュータに
は、それらの中央処理装置(以下単にCPUとも記す)
が主として扱うデータ長によって4ビット、8ビット、
16ビットマイクロコンピュータなどがある。現在、こ
れらの中では8ビットシングルチップマイクロコンピュ
ータが最も多く使用され、機器組込制御用として用いら
れている。このような8ビットシングルチップマイクロ
コンピュータとしては、(株)日立製作所平成元年6月
発行『H8/330 HD6473308 HD643
3308 ハードウェアマニュアル』などがある。8ビ
ットシングルチップマイクロコンピュータの中央処理装
置(以下8ビットCPU)は主として扱うデータ長が8
ビットであり、このため、8ビットCPUは8ビット長
のレジスタまたはアキュムレータと、かつ8ビットレジ
スタの2倍長である16ビットレジスタを有する。これ
らの8ビットCPUは、特に制限はされないものの、デ
ータ処理には主として8ビットレジスタまたは16ビッ
トレジスタを使用し、メモリを参照するためのアドレス
レジスタとしては16ビットレジスタのみを使用する。
このようなアドレスレジスタとしての16ビットレジス
タはインデックスレジスタ、スタックポインタ、プログ
ラムカウンタなどと呼ばれる場合がある。
【0003】前記8ビットCPUでは、命令の最小単位
が16ビット(2バイト)とされている。また、命令ま
たは16ビットデータをメモリに配置する場合には、偶
数から始まる連続した2バイトの領域に配置する様に限
定されている。さらに、前記8ビットCPUの演算命令
はCPU内部のレジスタ間でのみ可能とされ、メモリに
配置したデータの操作は、かかるデータを一旦CPU内
部のレジスタに転送した後に、演算命令による操作を行
わなければならない。このような制限を有する代りに、
CPUの内部構成、特にCPUの実行状態を制御する制
御部の構成を単純化し、論理的並びに物理的規模の縮小
を実現している。論理的並びに物理的規模の縮小の効果
として、製造費用を削減できる。また、副次的な効果と
して、動作速度の向上を図ることができる。すなわち、
相対的に小さい製造費用で、相対的に大きな処理性能を
実現できる。
【0004】
【発明が解決しようとする課題】しかしながら、前記C
PUでは、アドレスレジスタが16ビット長であり、C
PUが参照できるメモリは65536バイト(=216
以下64kバイト)である。これに対して、8ビットシ
ングルチップマイクロコンピュータが用いられる機器組
込制御の応用では、機器の高性能化によって大容量のプ
ログラムあるいはデータを扱うことが要求されている。
かつ、この時、前記従来のCPUに対して機能が上位互
換であることがのぞましい。すなわち、使用者は、既に
前記従来のCPUで開発したソースプログラム若しくは
オブジェクトプログラムの全部又は一部をそのまま利用
できる。これにより、マイクロコンピュータの周辺機能
あるいは応用システムに依存する部分だけを変更して、
ただちにソフトウェアあるいは応用システムを開発し、
その開発期間を短縮できる。
【0005】このような要求に対して、本発明者は、前
記CPUの前記論理的・物理的規模の縮小、または相対
的に小さい製造費用で、相対的に大きな処理性能を実現
しつつ、64kバイト以上のメモリを参照できるCPU
について検討した。
【0006】これに対し、8ビットCPUに8ビットの
ページレジスタを付加し、16ビットレジスタと組合せ
て、アドレスを生成することにより参照できるメモリを
16777216バイト(=224、以下16Mバイト)
としたシングルチップマイクロコンピュータの例として
(株)日立製作所昭和63年12月発行『H8/532
HD6475328 HD6435328 ハードウ
ェアマニュアル』などがある。このようなメモリ参照方
法は、ページレジスタとアドレスレジスタが全く独立し
ているために、ハードウェアの実現方法が簡単化される
反面、ページレジスタとアドレスレジスタの間にキャリ
またはボローの伝播が行われず、プログラムあるいはコ
ンパイラを作成する場合には、一群のプログラムあるい
はデータがページ境界を越えない様に常に注意しなけれ
ばならない。すなわち、上記の例で、命令を0番地から
実行すると、当初、プログラムカウンタはH’0000
(H’は16進数を示す),これに対応するページレジ
スタ(以下コードページレジスタ)はH’00である。
分岐命令を使用せずに演算命令などを実行し続け、65
535(H’FFFF)番地に達した後、次の命令を実
行しようとした場合、プログラムカウンタはH’FFF
F→H’0000となってオーバフローする。この時の
キャリはコードページレジスタに伝播されないために、
次の命令は0番地に戻ってしまう。このため、プログラ
ムは64kバイトを越えないように分割して作成し、分
割したプログラムをそれぞれ別のページに割当て、ある
ページに存在するプログラムから別のページに存在する
プログラムに実行を移す場合はページ間分岐命令を使用
する必要がある。すなわち、プログラム中で分岐命令を
使用する場合は、分岐先が同一ページ内に存在するか、
別ページに存在するかを意識してページ内分岐命令とペ
ージ間分岐命令を使い分ける必要がある。データも同様
に64kバイトを越えないように分割して、管理する必
要がある。すなわち、いわゆるポストインクリメントレ
ジスタ間接モードなどの様にメモリをアクセスする毎に
アドレスレジスタの内容を更新していく場合、上記同様
にアドレスレジスタがオーバフローしても対応するペー
ジレジスタ(以下データページレジスタ)にキャリが伝
播されない。また、ディスプレースメント付レジスタ間
接で、16ビットのディスプレースメントを使用する場
合、16ビットのアドレスレジスタに16ビットのディ
スプレースメントを加算し、キャリまたはボローが発生
してもページレジスタには伝播されず、16ビットの加
算結果とページレジスタが組み合わされてアドレスが生
成される。すなわち、ページレジスタがH’00、アド
レスレジスタがH’FFFF、ディスプレースメントが
H’4000の場合、結果として得られるアドレスは
H’003FFFになってしまう。したがって、ページ
レジスタを利用したアドレス拡張技術においては、実質
的に利用可能なアドレシングモードも制限されてしま
う。
【0007】このようなプログラムあるいはデータがペ
ージ境界を越えない様に常に注意して、ページレジスタ
の管理を行なうことは、いわゆる高級言語を用いてプロ
グラムした内容をCPUのいわゆる機械語によるプログ
ラム(オブジェクトプログラム)に自動的に変換するコ
ンパイラの作成上の大きな制約となり、コンパイラの設
計効率を低下させ、また、作成されるオブジェクトプロ
グラムの規模を著しく大きくし、さらにその結果とし
て、プログラムの実行時間も低下してしまう。
【0008】また、64kバイト以下のメモリ空間で充
分な応用に対して、前記ページレジスタは、データレジ
スタとして使用できないために論理的並びに物理的に無
駄となってしまい、前記相対的に小さい製造費用で、相
対的に大きな処理性能を実現する目的に反してしまう。
【0009】本発明の目的は、論理的・物理的規模の増
加を最小限としつつ、下位CPUのような別のデータ処
理装置ために既に開発されたプログラムの一部若しくは
全部を利用可能な、下位CPUとの上位互換を実現しつ
つ、連続的に使用可能なアドレス空間を相対的に広げる
ことができるデータ処理装置を提供することにある。連
続的に使用可能なアドレス空間を相対的に広げるとは、
例えば、8ビットCPUを用いて64kバイト以上のア
ドレス空間を連続的に使用できるということである。本
発明の別の目的は、上記目的に加えて更に、高級言語に
より作成されたプログラムのコンパイルを容易化できる
データ処理装置を提供することにある。
【0010】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
【0011】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
【0012】すなわち、CPUの汎用レジスタに対し、
データ情報の保持には全部、又は2等分割して、或は2
等分割した一方を更に2等分割して使用し、アドレス情
報の保持には、下位CPUのアドレスビット数よりも多
いビット数を以って利用可能にする。例えば、8ビット
CPUの16ビット汎用レジスタに16ビットの拡張レ
ジスタを追加し、全体で32ビットのレジスタを一括し
て又はその一部分をアドレスレジスタとして使用すると
ともに、データレジスタとしては、32ビット全体を1
単位として、2分割して2個の16ビットデータレジス
タとして、さらに16ビットデータレジスタの一方を2
分割して2個の8ビットレジスタとして使用可能にす
る。斯るレジスタの利用形態の指定は次のように行う。
8ビットレジスタとして利用するか16ビットレジスタ
として利用するかは、オペレーションコードに含まれ
る、データ情報のサイズビットによって決定される。デ
ータ情報のサイズが8ビット(バイト)のとき、8ビッ
トレジスタの上位・下位は、命令に含まれるレジスタ指
定フィールドの所定1ビットによって指定される。デー
タ情報のサイズが16ビット(ワード)のとき、当該所
定1ビットは、16ビットレジスタの上位・下位を指定
することになる。そして、32ビット(ロングワード)
レジスタとしての利用は、オペレーションコードを含む
命令の前置きコード(プリフィックスコード)によって
指定する。或は、下位CPUのオペレーションコードと
同一ビット数の新たなオペレーションコードを追加して
指定する。このようなレジスタ構成に基づいて、16ビ
ットレジスタを備える下位CPUの命令実行機能を包含
する。これにより、下位CPUのために開発されたプロ
グラムは、少なくとも、ソースプログラムのレベル(高
級言語での記述レベル)で本発明に係る上位CPUに利
用可能になる。すなわち、少なくとも、ソースプログラ
ムレベルで上位互換を実現する。ここで下位CPUと
は、そのレジスタ構成並びにその命令セットが本発明に
係るCPUのようなデータ処理装置のレジスタ構成及び
命令セットに包含されるようなCPUをいう。
【0013】更に、オブジェクトプログラムレベルでの
上位互換を実現するには、有効なアドレスのビット数
と、ベクタ及びスタックの単位サイズとを、前記レジス
タの利用形態に応じて切り替える動作モード、例えばマ
キシマムモードとミニマムモードを用意しておけばよ
い。ミニマムモードにおいてCPUは下位CPUと全く
同様に動作する。マキシマムモードにおいてCPUはそ
れに備えられた最大限の機能を以って上位CPUとして
動作される。
【0014】前記前置きコードは、下位CPUの命令コ
ードと重複しないことが必要であるから、これを未定義
命令のコードに相当するコードとするのが最適である。
【0015】命令の単位は、データ情報の単位の2倍長
にすることができる。例えば、CPUのレジスタを32
ビットに拡張したとき、将来における4Gバイトのアド
レス空間の使用を考慮するときには、命令長を2バイト
単位として、24ビット絶対アドレス・ディスプレース
メントを予約領域を含めて4バイトとする。更に、実行
手段及び制御手段の構成を単純化し、論理的並びに物理
的な規模の縮小に寄与するには、命令コード中の実効ア
ドレス指定部の最下位ビットを命令コード中のワードの
最下位ビットにすることが望ましい。
【0016】
【作用】上記した手段によれば、データ情報の保持には
2分割利用可能であり、下位CPUのアドレスビット数
以上のビット数を以ってアドレスレジスタとしても利用
可能なレジスタ構成を採用すること、データ情報のバイ
ト/ワードサイズはオペレーションコードのサイズビッ
トで指定されること、ロングワードサイズのデータ情報
の利用はプリフィックスコード或は下位CPUと同一ビ
ット数の新たに追加したオペレーションコードで指定さ
れること、バイトサイズのデータ情報に対して利用する
バイトサイズレジスタの上位/下位はレジスタ指定フィ
ールドの所定1ビットで指定されること、ワードサイズ
のデータ情報に対してはその所定1ビットでワードサイ
ズレジスタの上位/下位が指定されることの夫々を以っ
て、少なくともソースプログラムレベルでの上位互換を
実現する。
【0017】前記マキシマムモードとミニマムモードを
用意しておくことは、オブジェクトプログラムレベルで
の上位互換を実現する。
【0018】8ビットCPUの16ビット汎用レジスタ
に16ビットの拡張レジスタを追加して、全体で32ビ
ットで構成されるようなレジスタ構成は、ソフトウェア
上並びにハードウェア上でのデータ保持手段の使い勝手
を良好にし、ひいては、CPUのようなデータ処理装置
の論理的並びに物理的な規模の縮小を達成する。また、
データ保持手段の全体又は一部分を使用したアドレスデ
ータの保持という点に関しては、リニアに利用可能なア
ドレス空間の拡張を容易化し、また、ページレジスタに
よるアドレス空間拡張技術に比べてプログラムの作成並
びにコンパイルを容易化する。
【0019】
【実施例】図1には本発明に係るデータ処理装置の第一
実施例であるシングルチップマイクロコンピュータが示
される。同図に示されるシングルチップマイクロコンピ
ュータ100は、全体の制御を司るCPU(中央処理装
置)1、CPU1の動作プログラムなどを保有するRO
M(リードオンリメモリ)2、CPU1の作業領域並び
にデータの一時記憶領域などとして利用されるRAM
(ランダムアクセスメモリ)3、タイマ4、シリアルコ
ミュニケーションインタフェース(SCI)5、クロッ
クパルスジェネレータ68、及び、入出力ポート(IO
P)61乃至67などの機能ブロックから構成され、こ
れらは内部バス69で相互に接続されてなる。内部バス
69は特に制限はされないものの、アドレスバス、デー
タバス、コントロールバスを含む。斯るシングルチップ
マイクロコンピュータ100は公知の半導体集積回路製
造技術によってシリコン基板のような1つの半導体基板
上に形成されている。
【0020】シングルチップマイクロコンピュータ10
0はクロックパルスジェネレータCPGの端子XTA
L,EXTALに接続される水晶発振子又は外部から入
力される外部クロックに基づいて生成される基準クロッ
クに同期して動作を行なう。この基準クロックの最小単
位をステートと呼ぶ。尚、図においてVss,Vccは
電源端子である。MODE1乃至MODE3はCPU1
に対するモード信号である。
【0021】前記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ステ
ートで実行するものとする。
【0022】かかるCPU1の命令の最小単位は2バイ
トとされ、また、命令または16ビットデータをメモリ
に配置する場合には、偶数から始まる連続した2バイト
の領域に配置するものとされている。
【0023】図2には前記CPU1の下位CPUに相当
するCPUのレジスタ構成例が示される。本実施例にお
いて下位CPUとは、本実施例に係るCPU1の開発以
前に提供されていたCPUである。換言すれば、本実施
例に係るCPU1は下位CPUに対するバージョンアッ
プ版として位置付けることもできる。
【0024】同図に示される下位CPUは、それぞれ1
6ビット長の8本の汎用レジスタR0L,R0H〜R7
L,R7Hと、16ビット長のプログラムカウンタPC
と、8ビット長のコンディションコードレジスタCCR
とを有している。汎用レジスタR0L,R0H〜R7
L,R7Hは、特に制限はされないものの、上位8ビッ
トと下位8ビットを独立させて8ビット長のデータを格
納することも、上位・下位を連結して16ビット長のデ
ータを格納することもできる。コンディションコードレ
ジスタCCRは割込みマスクビット(I)、キャリフラ
グ(C)、ゼロフラグ(Z)、ネガティブフラグ
(N)、及びオーバフローフラグ(V)を含んでいる。
割込みマスクビットIは1のとき、CPU1を割込み禁
止状態とし、0のとき割込み許可状態とする。その他の
フラグは演算の結果などを反映する。
【0025】図3には図2のレジスタ構成で利用される
データが示される。
【0026】下位CPUが扱うバイトデータは、前記同
様に、汎用レジスタの上位RiHまたは下位RiLに格
納される(i=0〜7)。ワードデータは汎用レジスタ
Riに格納される。ビット15がデータの最上位ビット
に、ビット0が最下位ビットにそれぞれ対応する。アド
レス情報(アドレスデータとも記す)はワードデータと
して汎用レジスタRiに格納される。ビット15がデー
タの最上位ビットに、ビット0が最下位ビットにそれぞ
れ対応する。16ビットレジスタ8本、8ビットレジス
タ16本を利用可能である。データのサイズがバイトで
あるかワードであるかは命令のオペレーションコードに
含まれる1ビットのサイズビットによって決定される。
【0027】図4には本発明の一実施例に係る上位CP
UとしてのCPU1のレジスタ構成例が示される。
【0028】CPU1はそれぞれ16ビット長の8本の
汎用レジスタR0L,R0H〜R7L,R7Hと、それ
ぞれ16ビット長の8本の拡張レジスタE0〜E7と、
24ビット長のプログラムカウンタPCと、8ビット長
のコンディションコードレジスタCCRとを有してい
る。汎用レジスタR0L,R0H〜R7L,R7Hは、
特に制限はされないものの、上位8ビットと下位8ビッ
トを独立させて8ビット長のデータを格納することも、
上位・下位を連結して16ビット長のデータを格納する
こともできる。拡張レジスタEiは、8ビットに分割し
てそれぞれ独立的に使用することはできない。
【0029】汎用レジスタRiL,RiHをアドレスレ
ジスタとして使用する場合は、汎用レジスタRiH,R
iLが保有する16ビットをアドレスの下位16ビット
とし、対応する拡張レジスタEiの内容をアドレスの上
位16ビットとして合計32ビット、または拡張レジス
タEiの上位8ビットを無視して24ビットのアドレス
を生成するものである。CPU1は24ビット又は32
ビットのアドレスで規定される連続的なアドレス空間を
利用することができる。さらにこの32ビットまたは2
4ビットのアドレスを種々修飾することができる。この
修飾を行なう場合、下位16ビットの計算にて、キャリ
またはボローが発生した場合には、上位側の拡張レジス
タEiに対して桁上げまたは桁下げが行われる。尚、以
下の説明では、アドレスデータは24ビットとする。こ
れに応じて図4におけるプログラムカウンタPCのビッ
ト長は24ビットとされている。プログラムカウンタP
Cのビット長を32ビットにしておいてもよい。
【0030】拡張レジスタE0〜E7はデータレジスタ
としては16ビットレジスタとして汎用レジスタ同様に
使用できる。すなわち、拡張レジスタ同士、及び拡張レ
ジスタと汎用レジスタとの間で、データの演算を行なう
ことができるようになっている。尚、コンディションコ
ードレジスタCCRは前記同様であるのでその詳細な説
明は省略する。プログラムカウンタPCはビット長以外
は前記同様である。
【0031】図5には汎用レジスタR0L,R0H〜R
7L,R7Hと拡張レジスタE0〜E7のデータ構成例
が示される。CPU1が扱うバイトデータは、汎用レジ
スタの上位RiH(i=0,1,…,7)または下位R
iLに格納される。ワードデータは汎用レジスタRi
(RiH,RiL)または拡張レジスタEiに格納され
る。このときビット15がデータの最上位ビットに、ビ
ット0が最下位ビットにそれぞれ対応する。32ビット
のロングワードデータは汎用レジスタRi及び拡張レジ
スタEiに格納される。24ビットのアドレスデータは
ロングワードデータとして拡張レジスタEiと汎用レジ
スタRiに格納される。このとき拡張レジスタEiの上
位8ビットは予約領域とされる。尚、予約された8ビッ
トと24ビットのアドレスデータを併せて単にロングワ
ードアドレスデータとも称する。
【0032】かかるレジスタ構成によれば、8ビットレ
ジスタ16本、16ビットレジスタ16本、24ビット
レジスタが8本使用できる。これは、前記下位CPUと
上位互換性があり、下位CPUが有するレジスタを使用
して作成されたソフトウェアを、少なくともソースプロ
グラムレベルを以って上記CPU1で利用可能であるこ
とを意味する。CPU1が下位CPUに対して上位互換
を実現するにはレジスタの指定のしかたについても共通
性を要する。これについては後で詳述するが、アドレス
レジスタとしては、レジスタ番号のみを考慮すればよ
く、8ビット演算及び16ビット演算の何れについて
も、命令のレジスタ指定フィールド中でのレジスタの指
定は4ビットで可能になっており、下位CPUと命令フ
ォーマットを共通化することができる。また、16本の
レジスタの指定に4ビットを使用するので、無駄が生ぜ
ず、この点において斯るレジスタ構成は、CPU1の内
部構成を単純化し、論理的・物理的規模の縮小し、製造
費用の削減・動作速度の向上の実現を図る目的を損なう
ことがない。
【0033】図6乃至図8にはCPU1のアドレッシン
グモードと実効アドレスの計算手法の一例が示される。
【0034】図6の(1)に示されるレジスタ間接では
命令コード中にレジスタを指定する部分を含み、この命
令コードで指定されたレジスタとこれに対応する拡張レ
ジスタの内容の合計24ビットをアドレスとしてメモリ
上のアドレスを指定する。アドレスは24ビットでよい
ため、上位8ビットは無視する。
【0035】図6の(2),(3)に示されるディスプ
レースメント付レジスタ間接は、上記レジスタ間接と同
様に得られた24ビットのアドレスに、命令コード中に
含まれるディスプレースメントを加算した結果をアドレ
スとしてメモリ上のアドレスを指定する。加算結果はア
ドレスの指定のみに使用され、拡張レジスタEi及び汎
用レジスタRiの内容には反映されない。特に制限はさ
れないものの、ディスプレースメントは24ビットまた
は16ビットであり、16ビットディスプレースメント
は加算する場合には上位16ビットは符号拡張される。
すなわち、ディスプレースメントの上位16ビットは1
6ビットディスプレースメントのビット15と同じ値で
あるとして加算が行われる。この場合、24ビットディ
スプレースメントの上位8ビットは、命令が2バイト単
位であること並びに将来の拡張にそなえて、予約領域を
併せて、32ビットのディスプレースメント指定部を命
令コードに含ませている。
【0036】図7の(4)に示されるポストインクリメ
ントレジスタ間接は、前記レジスタ間接と同様に得られ
た24ビットのアドレスでメモリ上のアドレスを指定す
る。その後、このアドレスに1または2または4を加算
し、その加算結果が拡張レジスタ・汎用レジスタに格納
される。メモリ上のバイトデータを指定する場合1が、
ワードデータを指定する場合2が、アドレスデータを指
定する場合4が、それぞれ加算される。加算結果の上位
8ビットも拡張レジスタに格納される。
【0037】図7の(5)に示されるプリデクリメント
レジスタ間接は、前記レジスタ間接と同様に得られた2
4ビットのアドレスから1または2または4を減算した
結果の24ビットのアドレスでメモリ上のアドレスを指
定する。その後、その減算結果が拡張レジスタ・汎用レ
ジスタに格納される。メモリ上のバイトデータを指定す
る場合1が、ワードデータを指定する場合2が、アドレ
スデータを指定する場合4が、それぞれ減算される。前
記同様に、アドレスが24ビットでよい場合には、特に
制限はされないものの、減算結果の上位8ビットも拡張
レジスタに格納される。
【0038】図7の(6)に示されるプログラムカウン
タ相対は、プログラムカウンタの内容の24ビットのア
ドレスに命令コード中に含まれるディスプレースメント
を加算した結果をアドレスとしてメモリ上のアドレスを
指定する。加算結果はプログラムカウンタに格納され
る。特に制限はされないものの、ディスプレースメント
は16ビットまたは8ビットであり、これらのディスプ
レースメントは加算する場合には上位8ビットまたは1
6ビットは符合拡張される。すなわち、ディスプレース
メントの上位8ビットは16ビットディスプレースメン
トのビット15と、または上位16ビットは8ビットデ
ィスプレースメントのビット7と同じ値であるとみなし
て加算が行われる。プログラムカウンタ相対は分岐命令
のみで使用される。
【0039】図8に示される絶対アドレスは命令コード
中に含まれる、8ビット、16ビットまたは24ビット
の絶対アドレスをアドレスとしてメモリ上のアドレスを
指定する。8ビット絶対アドレスは、上位16ビットが
1拡張される。すなわちアドレスのビット23〜8は全
ビット1とされる。従って使用可能なアドレスはH’F
FFF00〜H’FFFFFFの256バイトである。
また、16ビット絶対アドレスは、上位8ビットが符号
拡張される。すなわち、16ビット絶対アドレスのビッ
ト15が0であればアドレスのビット23〜16は全ビ
ット0とされ、ビット15が1であればアドレスのビッ
ト23〜16は全ビット1とされる。従って使用可能な
アドレスはH’000000〜H’007FFF及び
H’FF8000〜H’FFFFFFの64kバイトで
ある。
【0040】CPU1は、上記の他にイミディエイト、
レジスタ直接などのアドレッシングモードを実行する
が、これらは本発明に直接は関係しないので詳細な説明
は省略する。
【0041】下位CPUはアドレス空間が64kバイト
であるため、24ビットディスプレースメント付レジス
タ間接、24ビットの絶対アドレスは存在しない。ま
た、プリデクリメントレジスタ間接などのロングワード
サイズも存在しない。図6乃至図8に示されるその他の
アドレッシングモードはアドレス情報の上位8ビットを
無視すれば、下位CPUがサポートするアドレシングモ
ード並びに実効アドレス計算と同一視できる。したがっ
て、CPU1は、アドレシングモード及びアドレス計算
という点においても下位CPUと従来CPUと機能互換
である。
【0042】図9乃至図16には主要なアドレッシング
モードの命令の命令フォーマットを示す。
【0043】それぞれの命令のフォーマットは、各命令
の機能及びアドレッシングモードを示すためのオペレー
ションコード部opを有し、そのオペレーションコード
部opのオペレーションコードに応じて、使用するレジ
スタを指定するためのレジスタ指定部(rs,rd,e
rs,erd)、絶対アドレス(aa)、ディスプレー
スメント(d)、又はイミディエイト(xx)を含んで
いる。命令フォーマットは2バイト単位とされ、レジス
タ指定部は、命令コードの第一ワードのビット7〜ビッ
ト4、ビット3〜ビット0、又は特殊形としてビット1
1〜ビット8に含まれる。前記レジスタ指定部rsはバ
イト又はワードサイズのソースレジスタを指定し、前記
レジスタ指定部rdはバイト又はワードサイズのディス
ティネーションレジスタを指定する。指定すべきレジス
タがバイトサイズであかワードサイズであるかはオペレ
ーションコード部のオペレーションコードによって決定
される。すなわち、16ビットの演算を伴うオペレーシ
ョンコードに付随する場合、レジスタ指定部rs,rd
の下位側3ビットは、8本のレジスタR0〜R7の何れ
であるかを指定し、指定されたレジスタのうち拡張レジ
スタを利用するのか汎用レジスタを利用するのかは、当
該レジスタ指定部の残りの上位側1ビットによって指定
される。8ビットの演算を伴うオペレーションコードに
付随する場合、レジスタ指定部rs,rdの下位側3ビ
ットは、8本のレジスタR0〜R7の何れであるかを指
定し、指定されたレジスタのうち汎用レジスタの上位側
を利用するのか下位側を利用するのかは、当該レジスタ
指定部の残りの上位側1ビットによって決定される。レ
ジスタ指定部ersは、ロングワードサイズのソースレ
ジスタを指定し、前記レジスタ指定部erdはロングワ
ードサイズのディスティネーションレジスタを指定す
る。4ビット確保されているレジスタ指定部ers,e
rdの最上位1ビットは命令デコードに際して実質的に
無視される。この場合に実質的に有意の3ビットで指定
するレジスタが32ビットであることは、ロングワード
データを利用するそれ専用のオペレーションコードを新
たに追加できる場合には、そのオペレーションコードに
よって明らかにされる。その様な新たにオペレーション
コードを追加できない場合、若しくは追加することが得
策ではないと判断した場合には、後述するプリフィック
スコードを利用する。ここで、前記ロングワードデータ
を利用するそれ専用のオペレーションコードのビット数
は、下位CPUのオペレーションコードのビット数と同
じである。
【0044】命令フォーマット中における絶対アドレス
aa,ディスプレースメントd,イミディエイトxx
は、最下位ビットが偶数番めのビット0となるように命
令コードに含まれる。すなわち16ビット以上の絶対ア
ドレスaa,ディスプレースメントd,イミディエイト
xxは、2バイトを単位として含まれる。このため、2
4ビットの絶対アドレスaa,ディスプレースメントd
は、その先頭(上位ビット側)1バイトの領域中に所定
ビット数の予約部を含んで4バイトとされる。8ビット
の絶対アドレスaa,ディスプレースメントd,イミデ
ィエイトxxは第一ワードのビット7〜0に含まれる。
【0045】上記命令フォーマットによれば、命令フォ
ーマット中においてレジスタを指定する部分が命令の第
一ワードの一部分に固定されているから、命令のデコー
ド論理構成が簡単になる。更に、レジスタ指定領域の下
位側3ビットによって8本のレジスタの何れを指定する
かを決定し、指定された1本のレジスタの内の何れの領
域を使用するかを上位側1ビットで決定すると共に、当
該1ビットで決定される領域のサイズは、命令中で指定
されるデータサイズによって、換言すれば、オペレーシ
ョンコード部のオペレーションコードによって、決定さ
れるから、レジスタに格納されるデータ並びにアドレス
データが、バイト、ワード、ロングワードの数種類に亘
るときにも、レジスタ指定部のビット数を最小限に抑え
ることができる。
【0046】下位CPUは、前記同様、24ビットディ
スプレースメント付レジスタ間接、24ビットの絶対ア
ドレスの2つのアドレッシングモードおよびロングワー
ドサイズの命令が存在しない。その他の命令は下位CP
UとCPU1で共通であり、CPU1は下位CPUと命
令フォーマットを共通化している。
【0047】図17には命令フォーマット中におけるレ
ジスタ指定部のデータとそれによって指定されるレジス
タとの対応例が示される。
【0048】レジスタ指定部はビット0〜2でレジスタ
の番号(0〜7)を指定し、ビット3は、バイトサイズ
のとき汎用レジスタRiの上位側か下位側か(RiH/
RiL)を、ワードサイズのときには汎用レジスタRi
か拡張レジスタEiかを指定する。なお、ロングワード
サイズデータとアドレスレジスタとしての利用において
は前述のようにビット3は無視され実質的に存在しな
い。
【0049】図18にはCPU1の内部ブロック図が示
される。CPU1は、主としてマイクロROMあるいは
PLA(Plogrammable Logic Ar
ray)で構成される制御部CONT、前記汎用レジス
タR0L,R0H〜R7L,R7H、拡張レジスタE0
〜E7、プログラムカウンタPC(PCL,PCH,P
CE)、コンディションコードレジスタCCRなどを含
む実行部EXE、及びレジスタ選択部REGSELから
構成される。制御部CONTは命令をフェッチし、これ
を解読して、命令の実行に必要な各種制御信号を生成し
たり、命令の実行手順を制御する。レジスタ選択部RE
GSELは、前記命令の解読結果にしたがってレジスタ
の選択信号を生成したりする。
【0050】実行部EXEはさらに、テンポラリレジス
タTRL,TRH,TRE、算術論理演算器ALUL,
ALUH,ALUE、リードデータバッファRDBL,
RDBH,RDBE、ライトデータバッファWDBL,
WDBH,WDBE、及びアドレスバッファABL,A
BH,ABEを含み、これらが3本の内部バスA(L,
H,E)、B(L,H,E)、C(L,H,E)、及び
セレクタ回路部SELを介して接続されている。リード
データバッファRDBL,RDBH,RDBEは、外部
のデータバスD7〜D0,D15〜D8に接続される。
ライトデータバッファWDBL,WDBH,WDBE
は、ライトデータ出力バッファWDBOL,WDBOH
を介して前記データバスD7〜D0,D15〜D8に接
続される。算術論理演算器ALUL,ALUH,ALU
Eは、命令によって指定される各種演算、プログラムカ
ウンタPCの加算、実効アドレスの計算などに用いられ
る。リードデータバッファRDBL,RDBH,RDB
Eは、ROM2、RAM3あるいは図示はされない外部
メモリなどからリードした命令やデータを一時的に格納
し、またライトデータバッファWDBL,WDBH,W
DBEは前記ROM2、RAM3あるいは外部メモリな
どにライトすべきデータを一時的に格納する。これによ
ってCPU1の内部動作とCPU1外部のリード/ライ
ト動作のタイミングを調整している。アドレスバッファ
ABL,ABH,ABEはCPU1がリード/ライトす
るアドレスを一時的に格納する。
【0051】特に制限はされないものの、基本的に上記
実行部EXE内の各回路ブロックは8ビットの2ブロッ
ク及び16ビットの1ブロックから構成されている。汎
用レジスタは8ビットの2ブロックで構成され、R0H
〜R7Hがビット15〜ビット8、R0L〜R7Lがビ
ット7〜ビット0に対応する。汎用レジスタの更に上位
側のビット、すなわちビット31〜ビット16は16ビ
ットの1ブロックの拡張レジスタE0〜E7が対応す
る。内部バスは、これらのビット31〜ビット16、ビ
ット15〜ビット8、ビット7〜ビット0に対応して夫
々A,B,Cが並行して設けられている。その他前記テ
ンポラリレジスタTR,ALU,リードデータバッフ
ァ,ライトデータバッファなども同様である。これらの
物理的な配置は特に制限はされない。
【0052】このような汎用レジスタRi,拡張レジス
タEiを設け、下位CPUとの互換性を維持しつつ、1
6Mバイトのアドレス空間を使用可能とした場合、下位
CPUとも、主要な演算はレジスタ間で行い、メモリと
レジスタの演算は直接行わない(すなわち1命令では行
わない)命令体系とするのが得策である。
【0053】第1に、下位CPUが、メモリとレジスタ
間での直接的な演算をサポートして、命令体系を最適化
してある場合には、上位CPUのために新たな命令を追
加することが困難である。すなわち、メモリとレジスタ
の演算についてはメモリのアドレッシングモードと演算
の種類との組合せで決定されるオペレーションコードの
種類が飛躍的に多くなってしまい、新規のオペレーショ
ンコードを追加することが困難である。または、新規の
オペレーションコードは必然的に最適化できず、命令長
が長くなって、プログラムサイズを大きくし、ひいては
プログラムの実行効率も悪化してしまう。
【0054】第2に、16Mバイトのアドレス空間を有
効に利用するには、前記のような複雑なアドレッシング
モードが必要である。演算命令の多くにこのような複雑
なアドレッシングモードを実行可能とすると、制御部C
ONTの構成が複雑になり、論理的並びに物理的規模を
最小限とする目的に反してしまうためである。メモリの
アクセスには、前述の種々のアドレッシングモードを有
する転送命令でレジスタとのデータの転送を行い、レジ
スタ上で演算などのデータ処理を行うものとすればよ
い。汎用レジスタRiは8ビット長で最大16本分とし
て使用でき、また、汎用レジスタRi及び拡張レジスタ
Eiは16ビット長で最大16本分として使用でき、あ
る処理に必要なデータはレジスタ上に置くことができ
る。或は、少なくとも、使用頻度の高いデータの大部分
はレジスタ上に置くことができる。したがって、処理プ
ログラムの増加や実行速度の低下といった不都合が発生
する場合は少ないと考えられる。
【0055】メモリに対する演算を行う必要がある命令
としては、ビット操作命令がある。これらは、バイト単
位で割り当てられたアドレスの第nビットとして指定さ
れるものの、バイト単位で扱われるデータではなく、そ
れぞれのビットが独立した機能を有している。たとえ
ば、タイマの動作を制御するレジスタのような場合、第
0ビット・第1ビットでタイマのクロックを選択し、第
2ビットではタイマカウンタと比較レジスタの内容が一
致した時、タイマカウンタをクリアするかしないかを指
定し、第3ビットでは前記一致した時、割込みを発生す
るかしないかを指定するものである。これらは1ビット
単位で1にセットしたり、0にクリアしたりする必要が
ある。あるいは入力ポートの所定の1ビットが0である
か1であるかによってCPU1の処理プログラムが異な
る場合、前記1ビットのデータを判定する必要がある。
かかる1ビットデータはメモリに対して直接演算しなけ
ればならない。バイト単位で一旦レジスタに転送した後
にビット操作を行うと、前記転送とビット操作の間に割
込みが入ってしまい、例えば前記入力ポートの値が変化
してしまうような不都合が発生するためである。しかし
ながらこのようなビット操作命令の対象となるアドレス
は固定的で、複雑なアドレッシングモードは必要ではな
い。絶対アドレスと、最低限レジスタ間接を実行できれ
ばよい。しかも絶対アドレスの場合も全アドレス空間を
使用できる必要はなく、前記タイマ・入出力ポートなど
の存在するアドレス範囲にのみ使用できれば十分と考え
られる。このようなアドレス範囲の指定に使用できる絶
対アドレスは8ビットで十分である。16ビットとすれ
ば使用可能なアドレス範囲が広がるが、命令長が長くな
り制御が複雑になってしまう。少なくとも24ビットと
して16Mバイトの全空間を使用可能としなければなら
ない場合は非常に稀であると考えられる。そこで、本実
施例におけるCPU1は、汎用レジスタのような内部の
レジスタと周辺回路の制御用レジスタのような外部レジ
スタとの間での直接的な演算のためのビット操作命令に
ついてはサポートするが、これによって、1ビット又は
数ビットのビット操作命令を直接外部周辺回路との間で
行っても、これによって制御部の規模や命令の種類が極
端に増大する虞はない。
【0056】図19には命令の機能とアドレシッシング
モードの組合せとの関係の一例が示される。
【0057】同図において#はイミディエイト、Rはレ
ジスタ直接、@Rはレジスタ間接、@(d16,R)及
び@(d24,R)はディスプレースメント付きレジス
タ間接、@−Rはプリデクリメントレジスタ間接、@R
+はポストインクリメントレジスタ間接、@a8,@a
16,@a24は絶対アドレス、@(d8,PC),@
(d16,PC)はプログラムカウンタ相対、の各アド
レシングモードを意味する。また同図においてBはバイ
ト、Wはワード、Lはロングワードを意味する。プログ
ラムカウンタ相対は分岐命令専用である。そのほかのア
ドレシッシングモードは転送命令で使用可能である。演
算命令はイミディエイトとレジスタ直接を使用可能であ
る。但し単項演算はレジスタ直接のみである。
【0058】図19において、下位CPUでサポートす
るものは〇印を付してある。インクリメント・デクリメ
ントのロングワードは、下位CPUではアドレスレジス
タがワードサイズであるため、ワードサイズの演算にな
る。
【0059】算術演算命令は前記のとおりバイト,ワー
ド,ロングワードを使用可能であるが、キャリ付き加減
算はバイトサイズのみ使用可能である。インクリメン
ト,デクリメントはレジスタをカウンタとする場合のた
めに、±1はバイト,ワード,ロングワードを使用可能
とするが、±2,±4はアドレス計算用であるため、ロ
ングワードのみを使用可能としている。論理演算命令,
シフト命令,ローテート命令は特に制限はされないもの
のバイト,ワード,ロングワードを使用可能である。こ
れは、16Mバイトのアドレス空間を使用する応用の一
つとして、プリンタの文字データを扱う場合に、文字デ
ータの白黒反転や斜体等の加工にこれら命令が多用され
ると考えられるためである。逆に、64kバイトのアド
レス空間のサポートする下位CPUでは、論理演算命
令,シフト命令,ローテート命令は特に制限はされない
もののバイトのみを使用可能である。
【0060】前記の通り、主要な演算はレジスタ間で行
い、メモリとレジスタ間での直接的な演算は行わない命
令体系としても、新規のオペレーションコードの追加が
困難な場合には、例えば、ロングワードサイズの転送命
令,演算命令を、ワードサイズの相当命令に1ワードの
プリフィックスコードを追加したものとすれば、特に、
制御部の論理的・物理的規模を最低限とすることができ
る。
【0061】図20及び21にはプリフィックスコード
を利用した一例命令フォーマットが示される。
【0062】前記の通り、ディスプレースメント付レジ
スタ間接のワードサイズの命令フォーマットの前に、1
ワードのプリフィックスコードを設けて、ロングワード
サイズを表現している。プリフィックスコードは、下位
CPUの命令コードと重複しないことが必要であるか
ら、これを未定義命令のコードに相当するコードとする
のが最適である。その外に、オペランド指定フィールド
の情報を実質的に必要としないノン・オペレーション
(NOP)命令のような命令のオペランド指定フィール
ドを所定のコードで満たしたものを、可能ならプリフィ
ックスコードとして利用することができる。
【0063】図22にはかかるマイクロコンピュータの
アドレスマップが示される。
【0064】内蔵ROMはアドレスH’00000から
配置され、内蔵周辺機能と内蔵RAMはH’FF800
以降に配置されており、これらの間は外部空間とされ
る。内蔵周辺機能と内蔵RAMをアドレス空間の中途、
例えば、H’0F800からH’0FFFFなどに配置
することができるが、この場合には外部空間が2ヵ所に
分離され、また、内蔵ROMに書き込んだプログラムと
外部空間に存在するプログラムを連続的に使用できず、
本発明の目的に反する。従って主としてプログラム領域
とされるべき内蔵ROMと、主としてデータ領域とされ
るべき内蔵周辺機能・内蔵RAMは互いにアドレス空間
の反対に配置し、この間は連続した空間とすべきであ
る。特に内蔵ROMはスタートアドレスまたはスタート
アドレスを格納したアドレスを含む必要がある。
【0065】なお、16ビット絶対アドレスは上位8ビ
ットを符号拡張して、実効アドレスを生成するため、指
定範囲はH’000000〜H’007FFFおよび
H’FF8000〜H’FFFFFFであって、内蔵R
OMの32kバイトおよび内蔵RAMと内蔵周辺機能を
指定できる。32kバイトより大きい内蔵ROMの部分
を除き、下位CPU同様に16ビット絶対アドレスで内
蔵機能ブロックを指定できる。従って、下位CPUから
のソフトウェアの移植を容易に行うことができる。ま
た、16ビットディスプレースメントレジスタ間接の場
合、ディスプレースメントを基準アドレス、レジスタの
内容を相対値と解釈したときの基準アドレスの指定範囲
と一致する。
【0066】以上の実施例においては、アドレス空間を
16Mバイトとしたが、また、本発明において拡張され
た機能は必要であるが、アドレス空間は従来同様に64
kバイトで十分な応用も考えられる。
【0067】例えば、外部空間を使用せず、シングルチ
ップマイクロコンピュータの全ての端子を入出力ポート
として使用し、応用システムの実装面積を縮小したい場
合などは、内蔵領域の合計が64kバイト以下であれ
ば、アドレス空間は従来同様に64kバイトで問題な
い。
【0068】かかる応用においては、ベクタのリードあ
るいはプログラムカウンタのスタックは16ビットすな
わち2バイト単位で行なえば良く、4バイト分のアクセ
スを行なうことは無駄であり、実行時間の低下・メモリ
の利用効率低下となる。
【0069】特に制限はされないものの、64kバイト
のアドレス空間で動作するモードをミニマムモード、前
記の通り、64kバイト以上のアドレス空間で動作する
モードをマキシマムモードとする。なお、これらミニマ
ムモード・マキシマムモードは図1にMODE1〜MO
DE3端子によって適宜指定される。
【0070】図23にはミニマムモード、マキシマムモ
ードでのCPUの動作の相異が示される。
【0071】前記のとおり、マキシマムモードでは、ア
ドレスの最大本数は24ビットであり、ベクタ・例外処
理時のスタック・サブルーチンコール時のスタックはい
ずれもアドレス24ビットを含み4バイト単位である。
【0072】ミニマムモードでは、アドレスの最大本数
は16ビットであり、ベクタ・サブルーチンコール時の
スタックはいずれもアドレス16ビット分の2バイトに
縮小される。また、特に制限はされないものの、CPU
1がアドレッシングモードとして、いわゆるポストイン
クリメントレジスタ間接・プリデクリメントレジスタ間
接を有するものとし、アドレスレジスタの更新は下位1
6ビットとする。すなわち、拡張アドレスの更新は行な
わない。ミニマムモードは、マキシマムモードに対し
て、高速化とメモリ利用効率の向上を実現できる。
【0073】図24にはミニマムモード、マキシマムモ
ードでのメモリ上のデータ形式が示される。
【0074】マキシマムモードでは、ベクタは4バイト
単位で4の倍数番地を先頭にして配置される。先頭1バ
イトは予約領域で、残りの3バイトがスタートアドレス
として使用される。スタックは、例外処理時・サブルー
チンコール時とも、4バイト単位で偶数番地を先頭にし
て配置される。
【0075】ミニマムモードでは、ベクタは2バイト単
位で偶数番地を先頭にして配置される。これらがスター
トアドレス(下位16ビット。上位8ビットは0とみな
される。)として使用される。スタックは、例外処理時
は、4バイト単位で偶数番地を先頭にしてCCR・予約
領域とPC下位16ビットが格納される。サブルーチン
コール時は、2バイト単位で偶数番地を先頭にしてPC
下位16ビットが格納される。
【0076】係るミニマムモードとマキシマムモードを
用意しておけば、ミニマムモードで動作するCPU1
は、オブジェクトプログラムレベルで上位互換を実現す
ることができる。
【0077】かかるシングルチップマイクロコンピュー
タをテストすることを考えると、ミニマムモードおよび
マキシマムモードの何れにおいても、ベクタ領域を外部
メモリとすることが可能であることが望ましい。マキシ
マムモードは広いアドレスを有効に利用するため、RO
M無効拡張モードを設定すると考えられ、かかるROM
無効拡張モードではベクタ領域が外部メモリとなるので
問題はない。しかしながら、ミニマムモードをシングル
チップモードのみとした場合には、最低限テスト用にベ
クタ領域を外部メモリとする必要がある。テスト時に
は、内蔵ROMの内容は、使用者のプログラムが格納さ
れており、製造者は利用できない。このため、ミニマム
モード/マキシマムモードのベクタ構造の切り替え機能
がテストできなくなってしまうためである。
【0078】これに対しては、例えばテストモード時に
のみリード/ライト可能なレジスタを設け、かかるビッ
トの設定によって、ミニマムモードでかつROM無効拡
張モードが設定できるようにすればよい。最低限、RO
M上のベクタ領域をリードしたときにデータを外部から
入力できるようにすればよい。
【0079】上記実施例によれば以下の効果を得るもの
である。すなわち、 (1)8ビットCPUの16ビット汎用レジスタに16
ビットの拡張レジスタを追加したような形態を以って、
全体で32ビットのレジスタ(Ri+Ei)を一括して
又はその一部分をアドレスレジスタとして使用するとと
もに、データレジスタとしては、32ビット全体を1単
位として、2分割して2個の16ビットデータレジスタ
(Ei,Ri)として、さらに16ビットデータレジス
タの一方を2分割して2個の8ビットレジスタ(Ri
H,RiL)として使用可能にする。そして、8ビット
レジスタとして利用するか16ビットレジスタとして利
用するかは、オペレーションコードに含まれる、データ
情報のサイズビットによって決定する。データ情報のサ
イズが8ビット(バイト)のとき、8ビットレジスタの
上位(RiH)・下位(RiL)は、命令に含まれるレ
ジスタ指定フィールドの所定1ビットによって指定す
る。データ情報のサイズが16ビット(ワード)のと
き、当該所定1ビットは、16ビットレジスタの上位
(Ei)・下位(Ri)を指定することになる。そし
て、32ビットレジスタ(Ri+Ei)としての利用
は、オペレーションコードを含む命令の前置きコード
(プリフィックスコード)によって指定する。或は、下
位CPUのオペレーションコードと同一ビット数の新た
なオペレーションコードを追加して指定する。このよう
にレジスタの指定方式をも含めてCPU1のレジスタ構
成は下位CPUのレジスタ構成を包含する。これを基
に、16ビット汎用レジスタを備える下位CPUがサポ
ートする命令実行機能をCPU1が包含する。これによ
り、下位CPUのために開発されたプログラムは、少な
くとも、ソースプログラムのレベル上位CPU1に利用
可能になる。すなわち、少なくとも、ソースプログラム
レベルで上位互換を実現することができる。 (2)有効なアドレスのビット数と、ベクタ及びスタッ
クの単位サイズとを、前記レジスタEi,Ri,Ri
H,RiLの利用形態に応じて切り替える動作モードと
して、マクシマムモードとミニマムモードを用意してお
くことにより、ミニマムモードで動作するCPI1は、
オブジェクトプログラムレベルでの上位互換を実現する
ことができる。 (3)ロングワードデータを利用する命令にプリフィッ
クスコードを採用することにより、主要な演算はレジス
タ間で行い、メモリとレジスタ間での直接的な演算は行
わない命令体系としても、新規のオペレーションコード
の追加が困難な場合に対処できると共に、制御部の論理
的・物理的規模の増大を著しく抑えることができる。 (4)プリフィックスコードとして、未定義命令のコー
ドに相当するコードを採用することにより、他のオペレ
ーションコードとの重複を完全に阻止できる。 (5)全体で32ビットのレジスタRi、Eiを一括し
て或は一部をアドレスレジスタとして使用するととも
に、2分割して16ビットデータレジスタとし、さらに
16ビットデータレジスタの一方を8ビットレジスタと
して使用可能とすることによって、データ処理を効率良
く行ないつつ、16Mバイトの広いアドレス空間を使用
することができる。 (6)命令長を2バイト単位として、24ビット絶対ア
ドレス・ディスプレースメントを予約領域を含めて4バ
イトとすることにより、将来4Gバイトのアドレス空間
を使用することができる。 (7)8ビットレジスタとして利用可能なレジスタの数
と、16ビットレジスタとして利用可能なレジスタの数
を同数とすることにより、命令長を短縮してプログラム
効率を向上することができる。 (8)命令コード中のレジスタ指定部をレジスタ全体を
指定する3ビット及びレジスタの部分を指定する1ビッ
トで構成することにより、レジスタ選択回路の論理的・
物理的規模を縮小できる。 (9)命令コード中の実効アドレス指定部の最下位ビッ
トを命令コード中のワードの最下位ビットとすることに
より、実行部及び制御部の構成を単純化し、論理的並び
に物理的規模を縮小できる。 (10)シングルチップマイクロコンピュータ100の
論理的並びに物理的規模を最小限として、64kバイト
以上のアドレス空間を使用できる。
【0080】以上本発明者によってなされた発明を実施
例に基づいて具体的に説明したが、本発明はそれに限定
されるものではなく、その要旨を逸脱しない範囲におい
て種々変更可能であることは言うまでもない。
【0081】例えば、CPU1のブロック構成,レジス
タ構成,具体的な論理回路例などについては何ら限定さ
れない。レジスタのビット数あるいはレジスタの本数な
どは任意に選択することもできる。アドレッシングモー
ドと実効アドレスの計算方法についても種々変更可能で
ある。
【0082】以上の説明では主として本発明者によって
なされた発明をその背景となった利用分野シングルチッ
プマイクロコンピュータに適用した場合について説明し
たが、それに限定されるものではなく、その他のデータ
処理装置に適用可能であり、データの処理性能よりもデ
ータの規模が重要である場合などに適用することができ
る。
【0083】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
【0084】(1)レジスタ指定方式も含めて下位CP
Uのような別のデータ処理装置のレジスタ構成、並びに
下位CPUの命令実行機能を包含することにより、下位
CPUのために開発されたプログラムは、少なくとも、
ソースプログラムのレベルで本発明に係るデータ処理装
置に利用可能になり、少なくとも、ソースプログラムレ
ベルでの上位互換を実現することができる。 (2)有効なアドレスのビット数と、ベクタ及びスタッ
クの単位サイズとを、前記レジスタの利用形態に応じて
切り替える動作モードを予め用意しておくことにより、
オブジェクトプログラムレベルでの上位互換も簡単に実
現できるようになる。 (3)8ビットCPUの16ビット汎用レジスタに16
ビットの拡張レジスタを追加して、全体で32ビットで
構成されるようなデータ保持手段は、データの保持には
全部、又は2分割して、或は2分割した一方を更に2分
割して使用可能であり、これによって、ソフトウェア上
並びにハードウェア上でのデータ保持手段の使い勝手が
良好になり、ひいては、データ処理装置の論理的並びに
物理的な規模の縮小を達成することができる。また、デ
ータ保持手段の全体又は一部分を使用したアドレスデー
タの保持という点に関しては、リニアに利用可能なアド
レス空間の拡張が容易になり、また、ページレジスタに
よるアドレス空間拡張技術に比べてプログラムの作成並
びにコンパイルを容易化することができる。したがっ
て、高級言語により作成されたプログラムを効率よく実
行できる。 (4)nビットデータの演算命令と2nビットデータの
演算命令とを考慮したとき、全体を2等分割して使用さ
れる部分と、2等分割された一方を更に2等分割して使
用される部分とを有するように個々のデータ保持手段を
構成すると共に、2等分割で利用される部分の全体の数
が、更に2等分割で利用される部分の全体の数と等しく
なるように、複数単位の前記データ保持手段を設けるこ
とにより、命令長を短縮してプログラム効率を向上させ
ることができる。 (5)命令の単位を、データの単位の2倍長にすること
により、将来におけるアドレス空間の拡張に容易に対応
できる。さらに、命令コード中の実効アドレス指定部の
最下位ビットを命令コード中のワードの最下位ビットに
することにより、実行手段及び制御手段の構成を単純化
し、論理的並びに物理的な規模の縮小に寄与する。 (6)データ保持手段を指定する部分が命令の単位中の
一部分に固定された命令フォーマットを採用することに
より、レジスタのような前記データ保持手段のための選
択回路若しくは命令デコード回路の論理的並びに物理的
な規模を縮小することができる。更にその場合に、前記
指定する部分を、複数単位の中から所要のデータ保持手
段を指定する領域と、一つのデータ保持手段内の何れの
部分かを指定する領域とで構成し、更に、命令中で指定
されるデータサイズに基づいて、前記データ保持手段内
の何れの部分かを指定する領域が、2等分割された何れ
の部分を指定するのか、更に2等分割された何れの部分
を指定するのかを決定するようにすることにより、デー
タ保持手段に格納されるデータ並びにアドレスデータ
が、バイト、ワード、ロングワードの数種類に亘るとき
にも、命令フォーマット中におけるレジスタ指定部のビ
ット数を最小限に抑えることができる。 (7)したがって、論理的・物理的規模の増加を最小限
としつつ、下位CPUのような別のデータ処理装置ため
に既に開発されたプログラムの一部若しくは全部を利用
可能な、下位CPUとの上位互換を実現しつつ、連続的
に使用可能なアドレス空間を相対的に広げることができ
る。
【図面の簡単な説明】
【図1】本発明の一実施例に係るシングルチップマイク
ロコンピュータのブロック図である。
【図2】下位CPUのレジスタ構成例の説明図である。
【図3】図2のCPUの汎用レジスタのデータ構成を示
す説明図である。
【図4】本発明に係るデータ処理装置の一実施例である
CPUのレジスタ構成説明図である。
【図5】本実施例に係るCPUのレジスタ上のデータ構
成図である。
【図6】今実施例に係るCPUによるアドレシングモー
ドと実効アドレス計算方法の一例説明図である。
【図7】本実施例に係るCPUによるアドレシングモー
ドと実効アドレス計算方法の他の例の説明図である。
【図8】本実施例に係るCPUによるアドレシングモー
ドと実効アドレス計算方法の別の例の説明図である。
【図9】本実施例に係るCPUの命令フォーマットの一
例説明図である。
【図10】本実施例に係るCPUの他の命令フォーマッ
トの説明図である。
【図11】本実施例に係るCPUのその他の命令フォー
マットの説明図である。
【図12】本実施例に係るCPUの別の命令フォーマッ
トの説明図である。
【図13】本実施例に係るCPUの更に別の命令フォー
マットの説明図である。
【図14】本実施例に係るCPUの更に他の命令フォー
マットの説明図である。
【図15】本実施例に係るCPUの更にその他の命令フ
ォーマットの説明図である。
【図16】本実施例に係るCPUの残りの一部の命令フ
ォーマットの説明図である。
【図17】図4に示されるレジスタの指定態様に関する
説明図である。
【図18】本実施例に係るCPUの一例ブロック図であ
る。
【図19】本実施例に係るCPUの命令とアドレッシン
グモードとの組合せを示す説明図である。
【図20】プリフィックスコードを利用した命令フォー
マットの説明図である。
【図21】プリフィックスコードを利用した別の命令フ
ォーマットの説明図である。
【図22】本発明の一実施例に係るマイクロコンピュー
タのアドレスマップである。
【図23】ミニマムモードとマキシマムモードでのCP
Uの動作の相異を示す説明図である。
【図24】ミニマムモードとマキシマムモードでのメモ
リ上のデータ形式の相違を示す説明図である。
【符号の説明】
1 CPU 2 ROM 3 RAM 4 タイマ 5 SCI 100 シングルチップマイクロコンピュータ Ri(R0L,R0H〜R7L,R7H) 汎用レジス
タ E(E0〜E7) 拡張レジスタ PC プログラムカウンタ SEL セレクタ回路部 EXE 実行部 CONT 制御部 REGSEL レジスタ選択回路部 ABL,ABH,ABE アドレスバッファ ALUL,ALUH,ALUE 算術論理演算器 RDBL,RDBH,RDBE リードデータバッファ RDB1,RDB3 第1のリードデータバッファ部分 RDB2,RDB4 第2のリードデータバッファ部分 WDBL,WDBH,WDBE ライトデータバッファ WDBOL,WDBOH ライトデータ出力バッファ

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 命令を所定の手順にしたがって実行する
    データ処理装置であって、 データ情報の保持には全体又は2等分割した領域を利用
    可能であり、且つ、2等分割された前記一方のビット数
    よりも多いビット数を以ってアドレス情報の保持にも利
    用可能なデータ保持手段を有し、 2等分割した前記一方のビット数に相当するデータ保持
    手段を有する別のデータ処理装置のオペレーションコー
    ドと同一ビット数のオペレーションコードを以って、当
    該別のデータ処理装置の命令実行機能を包含した上で、
    前記データ保持手段の全体を利用する命令を実行する命
    令実行手段を備えて成るものであることを特徴とするデ
    ータ処理装置。
  2. 【請求項2】 命令を所定の手順にしたがって実行する
    データ処理装置であって、 データ情報の保持には全体又は2等分割した領域を利用
    可能であり、且つ、2等分割された前記一方のビット数
    よりも多いビット数を以ってアドレス情報の保持にも利
    用可能なデータ保持手段を有し、 2等分割した前記一方のビット数に相当するデータ保持
    手段を有する別のデータ処理装置の命令実行機能を包含
    し、 前記データ保持手段の全体の利用は、処理の内容を指定
    するオペレーションコードを含む命令の前置きコードに
    よって指定されるものであることを特徴とするデータ処
    理装置。
  3. 【請求項3】 命令を所定の手順にしたがって実行する
    データ処理装置であって、 データ情報の保持には全体を、或は全体を2等分割した
    2等分割領域の双方を選択的に、又は一方の2等分割領
    域を更に2等分割した4等分割領域の双方を選択的に、
    利用可能であり、且つ、前記2等分割領域のビット数よ
    りも多いビット数を以ってアドレス情報の保持にも利用
    可能なデータ保持手段を複数個有し、 前記4等分割領域を利用するか2等分割領域を利用する
    かは命令のオペレーションコードに含まれる所定の1ビ
    ットによって指定され、 何れの4等分割領域を利用するか何れの2等分割領域を
    利用するかは、命令のオペランド指定フィールドに含ま
    れる所定の1ビットによって指定され、 前記2等分割領域のビット数に相当するデータ保持手段
    を有する別のデータ処理装置の命令実行機能を包含し、 前記データ保持手段の全体の利用は、処理の内容を指定
    するオペレーションコードを含む命令の前置きコードに
    よって指定される、ものであることを特徴とするデータ
    処理装置。
  4. 【請求項4】 前記前置きコードは、未定義命令のコー
    ドに相当するコードであることを特徴とする請求項2又
    は3記載のデータ処理装置。
  5. 【請求項5】 有効なアドレスのビット数と、ベクタ及
    びスタックの単位サイズとを、前記データ保持手段の利
    用形態に応じて切り替える動作モードを備えて成るもの
    であることを特徴とする請求項1乃至4の何れか1項記
    載のデータ処理装置。
  6. 【請求項6】 演算手段をさらに含み、前記演算手段
    は、前記データ保持手段の全体に対する算術的演算を単
    位マシンサイクルで実行するものであることを特徴とす
    る請求項1乃至5の何れか1項記載のデータ処理装置。
  7. 【請求項7】 制御手段をさらに含み、前記制御手段
    は、前記データ保持手段の全体または一部分に対する算
    術的並びに論理的演算制御の全部または一部を、前記デ
    ータ保持手段とデータ処理装置外部との間では一つの命
    令で直接的に実現することを不可能とする制御論理を有
    するものであることを特徴とする請求項1乃至6の何れ
    か1項記載のデータ処理装置。
  8. 【請求項8】 前記データ処理装置が実行する命令の単
    位が、データの単位の2倍長であることを特徴とする請
    求項1乃至7の何れか1項記載のデータ処理装置。
  9. 【請求項9】 前記別のデータ処理装置が実行する命令
    のコードを、全て相当の命令として実行することを特徴
    とする請求項1乃至8の何れか1項記載のデータ処理装
    置。
JP22644792A 1991-05-08 1992-08-03 データ処理装置 Expired - Lifetime JP3432532B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP22644792A JP3432532B2 (ja) 1992-08-03 1992-08-03 データ処理装置
KR1019930014080A KR100277805B1 (ko) 1992-08-03 1993-07-24 데이타처리장치
US08/582,379 US5666510A (en) 1991-05-08 1996-01-11 Data processing device having an expandable address space

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22644792A JP3432532B2 (ja) 1992-08-03 1992-08-03 データ処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2003037571A Division JP3539951B2 (ja) 2003-02-17 2003-02-17 データ処理装置

Publications (2)

Publication Number Publication Date
JPH0651981A true JPH0651981A (ja) 1994-02-25
JP3432532B2 JP3432532B2 (ja) 2003-08-04

Family

ID=16845245

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22644792A Expired - Lifetime JP3432532B2 (ja) 1991-05-08 1992-08-03 データ処理装置

Country Status (2)

Country Link
JP (1) JP3432532B2 (ja)
KR (1) KR100277805B1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001202243A (ja) * 1999-04-30 2001-07-27 Hitachi Ltd データ処理装置
JP2005196729A (ja) * 2003-12-10 2005-07-21 Renesas Technology Corp コンパイラおよび命令コード出力装置
JP2005353105A (ja) * 1999-04-30 2005-12-22 Renesas Technology Corp データ処理装置及びマイクロコンピュータ
JP2007234065A (ja) * 2002-06-28 2007-09-13 Renesas Technology Corp データ処理装置
US7376819B2 (en) 2002-06-28 2008-05-20 Renesas Technology Corp. Data processor with selectable word length
JP2008204249A (ja) * 2007-02-21 2008-09-04 Renesas Technology Corp データプロセッサ
JP2010066893A (ja) * 2008-09-09 2010-03-25 Renesas Technology Corp データプロセッサ
JP2012009020A (ja) * 2010-06-22 2012-01-12 Internatl Business Mach Corp <Ibm> 命令が利用可能な汎用レジスタの数を拡張するための上位ワード・ファシリティ

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100788913B1 (ko) * 2005-11-18 2007-12-27 주식회사디아이 반도체 장치의 테스트 시스템을 위한 전치 분기 패턴 발생장치

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001202243A (ja) * 1999-04-30 2001-07-27 Hitachi Ltd データ処理装置
US6745320B1 (en) 1999-04-30 2004-06-01 Renesas Technology Corp. Data processing apparatus
JP2005353105A (ja) * 1999-04-30 2005-12-22 Renesas Technology Corp データ処理装置及びマイクロコンピュータ
JP2007234065A (ja) * 2002-06-28 2007-09-13 Renesas Technology Corp データ処理装置
US7376819B2 (en) 2002-06-28 2008-05-20 Renesas Technology Corp. Data processor with selectable word length
JP2005196729A (ja) * 2003-12-10 2005-07-21 Renesas Technology Corp コンパイラおよび命令コード出力装置
JP2008204249A (ja) * 2007-02-21 2008-09-04 Renesas Technology Corp データプロセッサ
JP2010066893A (ja) * 2008-09-09 2010-03-25 Renesas Technology Corp データプロセッサ
JP2012009020A (ja) * 2010-06-22 2012-01-12 Internatl Business Mach Corp <Ibm> 命令が利用可能な汎用レジスタの数を拡張するための上位ワード・ファシリティ
US9459872B2 (en) 2010-06-22 2016-10-04 International Business Machines Corporation High-word facility for extending the number of general purpose registers available to instructions

Also Published As

Publication number Publication date
JP3432532B2 (ja) 2003-08-04
KR100277805B1 (ko) 2001-01-15
KR940004440A (ko) 1994-03-15

Similar Documents

Publication Publication Date Title
US10514922B1 (en) Transfer triggered microcontroller with orthogonal instruction set
US4449184A (en) Extended address, single and multiple bit microprocessor
US4992934A (en) Reduced instruction set computing apparatus and methods
KR100462951B1 (ko) Risc 구조를 갖는 8 비트 마이크로콘트롤러
US6401197B1 (en) Microprocessor and multiprocessor system
US5249280A (en) Microcomputer having a memory bank switching apparatus for accessing a selected memory bank in an external memory
KR20010043826A (ko) 마이크로 컨트롤러 명령어 집합
US5666510A (en) Data processing device having an expandable address space
US6745320B1 (en) Data processing apparatus
JPS604491B2 (ja) デ−タ処理システム
JPS5811654B2 (ja) デ−タシヨリシステム
KR20000053047A (ko) Risc 구조의 8비트 마이크로 제어기
KR100272622B1 (ko) 데이타 처리장치
JP3432532B2 (ja) データ処理装置
JP2004086837A (ja) データ処理装置
EP2215544A1 (en) Enhanced microprocessor or microcontroller
US6253305B1 (en) Microprocessor for supporting reduction of program codes in size
US5680632A (en) Method for providing an extensible register in the first and second data processing systems
EP0272198A2 (en) Reduced instruction set computing apparatus and methods
JP2556182B2 (ja) デ−タ処理装置
JP2006313561A (ja) データ処理装置
JP3539951B2 (ja) データ処理装置
JP3839835B2 (ja) データ処理装置及びマイクロコンピュータ
JP3669984B2 (ja) マイクロコンピュータ
JP3154542B2 (ja) データ処理装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030513

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

Free format text: PAYMENT UNTIL: 20080523

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080523

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090523

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100523

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110523

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: 20110523

Year of fee payment: 8

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 10