JP2002132499A - データ処理装置及び記録媒体 - Google Patents

データ処理装置及び記録媒体

Info

Publication number
JP2002132499A
JP2002132499A JP2000329525A JP2000329525A JP2002132499A JP 2002132499 A JP2002132499 A JP 2002132499A JP 2000329525 A JP2000329525 A JP 2000329525A JP 2000329525 A JP2000329525 A JP 2000329525A JP 2002132499 A JP2002132499 A JP 2002132499A
Authority
JP
Japan
Prior art keywords
register
general
instruction
instruction code
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.)
Withdrawn
Application number
JP2000329525A
Other languages
English (en)
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 JP2000329525A priority Critical patent/JP2002132499A/ja
Publication of JP2002132499A publication Critical patent/JP2002132499A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 汎用レジスタの使用効率の向上を図るための
技術を提供する。 【解決手段】 命令コード中のレジスタを指定するフィ
ールドにおいて、すべての汎用レジスタ(ER0〜ER
31)を指定するに十分なビット数をもつ第1命令コー
ドと、それより小さいビット数の第2命令コードを用意
し、第2命令コードでは、バイト/ワード/ロングワー
ドといったサイズなどの命令コード中の別の情報に応じ
て、汎用レジスタを異なったグループから選択可能にす
ることで、汎用レジスタの使用効率の向上を図る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ処理装置、
更にはそのレジスタアーキテクチャに関し、例えば半導
体集積回路化されたマイクロコンピュータ等に適用して
有効な技術に関するものである。
【0002】
【従来の技術】半導体集積回路装置の製造技術の高度化
に伴って、半導体単結晶からなるシングルチップに、中
央演算処理装置(Central Processin
g Unit;以下、単に「CPU」と称する)、プロ
グラムを格納するROM(Read Only Mem
ory)、切り換え可能に各種データを格納するRAM
(Random Access Memory)等を含
む構成素子を集積して製造した、マイクロコンピュータ
が広範囲に普及してきており、種々の目的のデータ処理
装置として使用されてきている。このマイクロコンピュ
ータは、CPUが同時に処理し得る情報の量によって性
能が異なり、例えば4ビット、8ビット、16ビット、
32ビット等のマイクロコンピュータとして区分されて
いる。
【0003】このようなマイクロコンピュータは、アド
レス空間の拡張や、命令セットの拡大、高速化などが図
られてきた。マイクロコンピュータのCPU(中央処理
装置)は、ソフトウェアによって、その機能が定義され
ているから、アドレス空間の拡張や、命令セット拡大、
高速化などを図ったマイクロコンピュータにおいても、
既存のマイクロコンピュータのソフトウェア資産を有効
に利用できることが望ましい。
【0004】オブジェクトレベルで互換性を保ちつつ、
アドレス空間の拡張や、命令セット拡大を実現した例と
して、例えば、特開平6−51981号公報に記載のマ
イクロコンピュータ等がある。この中で、いわゆるRI
SC(Reduced InstructionSet Computer)アーキテク
チャのようなロードストア型アーキテクチャを採用する
ことが、命令セットの拡張を図る上で有効であることが
示されている。
【0005】
【発明が解決しようとする課題】本発明者は、互換性を
維持して、ソフトウェア資産を有効に利用できるように
しつつ、CPUの汎用レジスタを増加することを検討し
た。
【0006】上記ロードストアアーキテクチャを採用し
たCPUにおいては、データ処理はCPUの汎用レジス
タが中心になるから、汎用レジスタが多いことは都合が
よい。
【0007】逆に、汎用レジスタの数が必要なデータの
数よりも少なければ、当面必要でないものをスタックな
どのメモリ空間上に待避したり、また、そのデータが必
要になったときに復帰したりする必要がある。スタック
に待避したり、スタックから復帰したりするためには命
令の実行を必要とするから、ユーザにとっては不必要な
待避/復帰のための命令を配置せざるをえず、また、ど
のデータを一時的に待避するかなどの判断が必要にな
る。これらはプログラムの容易性を低下させる。上記待
避/復帰のための命令は、データの処理に直接は必要が
ないから、データ処理速度を低下させることにもなる。
【0008】一方、汎用レジスタが多いことはユーザに
とって、プログラムの容易性や高速化など種々のメリッ
トを生じる。必要なデータ量は、通常のCPUの汎用レ
ジスタの数よりも多いし、また、タスクの数は複数存在
し、これを時分割で実行することになるから、非活性の
タスク用のデータための汎用レジスタを確保しておくこ
とができれば、そのタスクを実行することになったと
き、データを待避/回復したりすることなく、即座に実
行することが可能になるからである。これによって、デ
ータ処理速度の向上に寄与することができる。同様に割
込み処理時に使用する汎用レジスタを確保しておけば、
割込み処理時に、汎用レジスタを待避したりすることな
く、即座に汎用レジスタを使用でき、割込みに応答して
所望の処理を行なうまでの応答時間を短縮することがで
きる。割込みの応答時間を短縮することによって、種々
の機器を制御する場合の時間的な精度、いわゆるリアル
タイム性を向上することができる。
【0009】しかしながら、汎用レジスタを増加するに
当たっては、次のような問題の有ることが本発明者によ
って明らかにされた。
【0010】何れの汎用レジスタに対して処理を実行す
るかは、一般に、命令コードで指定するから、汎用レジ
スタ数に対応したレジスタ指定フィールドを命令コード
中に保持することが必要である。例えば、汎用レジスタ
16本に対しては、レジスタ指定フィールド4ビットを
必要とする。汎用レジスタを増加しようとすれば、レジ
スタ指定フィールドが増加する。例えば、汎用レジスタ
を4倍の64本とすれば、レジスタ指定フィールド6ビ
ットが必要になる。処理対象は一般に2つ(ソースとデ
スティネーション)のデータになるから、レジスタ指定
フィールドは2倍のビット数が必要になる。
【0011】命令の基本単位を例えば16ビット(以下
「ワード」と呼ぶ)とすれば、レジスタ指定フィールド
で占有される分が多くなり、結局、命令コード長を増加
させなければならなくなる。例えば、オペレーションフ
ィールド(命令の種類やデータの指定方法を示す)が8
ビット、レジスタ指定フィールド(レジスタを指定す
る)が4ビットを2個を含んで1ワードの命令が形成さ
れるのに対して、汎用レジスタを64本にすると、レジ
スタ指定フィールドの6ビットが2個必要になり、命令
コードを1ワードで実現するためには、オペレーション
フィールドを4ビットにせざるを得ず、そうすると、4
ビットのオペレーションフィールドで示すことのできる
命令の種類は限られてしまう。このため、汎用レジスタ
16本の場合に実現できた1ワード長の命令の大部分
は、汎用レジスタ64本の場合には1ワード長では構成
できないと考えられる。少くとも、従来同等の命令セッ
トを、従来同等の命令コード長では実現できない。
【0012】命令コードを長くすれば、処理速度を低下
させることにつながってしまう。CPUの処理命令をリ
ードすることによって実行されるが、この命令のリード
するワード数(ビット数)が大きくなれば、命令自体の
リード回数も増加するからである。
【0013】また、レジスタ指定フィールドを拡大する
ことは、既存のCPUの既存の命令と相容れず、既存の
CPUとの互換性を保つことが困難になってしまう。
【0014】汎用レジスタを見掛け上増やす技術とし
て、汎用レジスタをバンクと呼ばれるグループに分け、
いずれかのバンクを排他的に選択するようにする、レジ
スタバンク方式がある。いずれのバンクを選択するか
は、制御レジスタや制御命令などによって指定する。こ
のため、命令コードには、バンク内の汎用レジスタに対
応するレジスタ指定フィールドのみを持ち、命令コード
長の増加を抑止できる。しかし、上記レジスタバンクを
切り換えるための命令が必要になり、また、プログラム
作成に当っては、どのバンクを選択しているかを意識し
なければならず、プログラムの容易性を損いやすい。同
時に使用できる汎用レジスタ数は増えていないので、デ
ータ量の多いタスクや少ないタスクなどがある場合に、
相互に汎用レジスタの割当てを融通し合うことが困難に
なる。
【0015】本発明の別の目的は、汎用レジスタの利用
効率の向上を図るための技術を提供することにある。
【0016】本発明の上記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
【0017】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
【0018】すなわち、命令コード中のレジスタを指定
するフィールドにおいて、すべての汎用レジスタを指定
するに十分なビット数をもつ命令コードと、それより小
さいビット数の命令コードを命令セットに用意し、後者
の場合には、例えばバイト/ワード/ロングワードとい
ったサイズなどの、命令コード中の別の情報に応じて、
指定される汎用レジスタを、異なったグループから選択
可能にする。換言すれば、サイズなどに応じて、短い命
令コードで指定可能な汎用レジスタを異なったグループ
になるようにする。上記サイズなどの情報に応じて汎用
レジスタのグループが選択され、第2命令コードにおけ
る汎用レジスタの指定フィールドの内容によって、上記
選択されたグループの中から汎用レジスタが選択され
る。
【0019】上記の手段によれば、命令コード中のレジ
スタ指令フィールドのビット数を増加させることなく、
短い命令コードで、例えば、32ビットデータ又はアド
レスレジスタ(例えば8本、ER0〜ER7)、16ビ
ットデータレジスタ(例えば16本、E8〜E15、R
8〜R15)、8ビットデータレジスタ(例えば16
本、R16H〜R23H、R16L〜R23L)を、独
立のリソースとして指定できるため、全体的なプログラ
ム容量を短縮することができる。すべての汎用レジスタ
を指定可能なレジスタ指定フィールドを持つ長い命令コ
ードを含むことから、当該命令コード1本の汎用レジス
タ(例えばER0)の一部を16ビットデータレジスタ
(例えばE0、R0)、8ビットデータレジスタ(例え
ばR0H、R0L)として指定でき、使い勝手を損なう
ことがない。従来同様の使用方法が可能であり、少なく
ともソースプログラムの再利用が可能であり、プログラ
ム開発効率の向上に寄与することができる。
【0020】また、汎用レジスタを指定するレジスタ指
定フィールドを、2つの部分に分割し、この2つの部分
を命令コードの基本単位上の別のワードに配置するとと
もに、一方のワードを省略可能とし、省略可能なワード
を省略すると、暗黙的な指定が行われるようにし、さら
に、省略可能なワードには、レジスタ指定フィールドの
一部のみを持つようにし、演算の種類などは指定しない
ようにしておき、上記省略可能なワードを省略した場合
に、暗黙的に指定される値を、上記サイズなどに応じ
て、相異なるようにする。
【0021】さらに、省略不可能なワードは既存のCP
Uの命令コードと同一にしておくことにより、論理構成
を共通にでき、設計資産を有効に利用して、設計品質を
向上したり、開発期間を短縮したりできる。
【0022】汎用レジスタのグループ選択を可能とする
第1モードと、グループ選択を不可能とする第2モード
とを設定可能なモード設定手段と、上記モード設定手段
に設定された情報に従って上記汎用レジスタを選択する
ためのレジスタ選択手段とを設けることにより、省略不
可能なワードのみで指定可能な汎用レジスタを、既存の
汎用レジスタとして、既存のプログラムをそのまま使用
することができる。例えば省略不可能なワードのみで指
定可能な汎用レジスタを、サイズなどで指定するか、既
存の汎用レジスタとするかを切り換えることによって、
使用目的などに応じて選択が可能になり、使い勝手を向
上できる。
【0023】上記モード設定手段へのモード設定を的確
に行うようにし、モード設定に応じたプログラムを生成
する様にするため、ソースプログラムに従って、上記デ
ータ処理装置で実行されるオブジェクトプログラムを生
成するためのコンパイラにおいて、上記ソースプログラ
ムに基づいて上記モード設定手段へのモード設定を可能
とするオブジェクトコードを生成する手段を設けると良
い。
【0024】
【発明の実施の形態】図11には本発明にかかるデータ
処理装置の一例であるシングルチップマイクロコンピュ
ータが示される。このシングルチップマイクロコンピュ
ータ1は、全体の処理を司るCPU2、シングルチップ
マイクロコンピュータ1の全体的な制御を行なうシステ
ムコントローラ(SYSC)3、割込コントローラ(I
NT)4、CPU2の処理プログラムなどを格納するメ
モリであるROM5、CPU2の作業領域並びにデータ
の一時記憶用のメモリであるRAM6、タイマA7、タ
イマB8、シリアルコミュニケーションインタフェース
(SCI)9、A/D変換器10、第1乃至第9入出力
ポート(IOP[1]〜IOP[9])11〜19、ク
ロック発振器(CPG)20の機能ブロック乃至はモジ
ュールから構成され、公知の半導体製造技術により1つ
の半導体基板上に形成される。
【0025】上記シングルチップマイクロコンピュータ
1は、電源端子として、グランドレベル(Vss)、電
源電圧レベル(Vcc)、アナロググランドレベル(A
Vss)、アナログ電源電圧レベル(AVcc)、アナ
ログ基準電圧(Vref)、の入力端子を有し、更に制
御端子として、リセット(RES)、スタンバイ(ST
BY)、モード制御(MD2〜0)、クロック入力(E
XTAL、XTAL)の各端子を有する。
【0026】シングルチップマイクロコンピュータ1
は、CPG20の端子EXTAL、XTALに接続され
る水晶発振子又はEXTAL端子に入力れる外部クロッ
クに基づいて生成される基準クロック信号(システムク
ロック信号φ)に同期して、動作を行う。この基準クロ
ック信号の1周期をステートと呼ぶ。
【0027】シングルチップマイクロコンピュータ1の
機能ブロックは、内部バス21によって相互に接続され
る。内部バス21はアドレスバス、データバスの他、リ
ード信号、ライト信号、バスサイズ信号(これらはバス
コマンドとしてコード化される)或いはシステムクロッ
クなどの信号線を含んでもよい。
【0028】かかる機能ブロックやモジュールは内部バ
ス21を介して、CPU2によってリード/ライトされ
る。内部バス21のデータバス幅は、特に制限されない
が、16ビットとする。
【0029】尚、SYSC3、INT4、タイマA7、
タイマB8、SCI9、A/D変換器10、IOP
[1]11〜IOP[9]19、CPG20が有する制
御レジスタを総称して、内部I/Oレジスタと呼ぶ。S
YSC3はCPU2の制御を行なう内部I/Oレジスタ
(CPUCR)22等を含む。
【0030】各入出力ポートIOP[1]11〜IOP
[9]19は、アドレスバス、データバス、バス制御信
号あるいはタイマ7,8、SCI9、A/D変換器10
の入出力端子と兼用されている。すなわち、タイマ7,
8、SCI9、A/D変換器10は、それぞれ入出力信
号を有し、入出力ポートと兼用にされた端子を介して、
外部と入出力されるものである。例えばIOP[5]1
5、IOP[6]16、IOP[7]17は、タイマA
7、タイマB8の入出力端子と兼用、IOP[8]18
はSCI9の入出力端子と兼用にされている。アナログ
データの入出力端子は、IOP[9]19と兼用にされ
ている。
【0031】上記シングルチップマイクロコンピュータ
1にリセット信号RESが与えられると、CPU2を始
めとし、シングルチップマイクロコンピュータ1はリセ
ット状態になる。このリセットが解除されると、CPU
2は所定のアドレスからスタートアドレスをリードし
て、このスタートアドレスから命令のリードを開始する
リセット例外処理を行う。この後、CPU2は逐次、R
OM5などから命令をリードし、解読して、その解読内
容に基づいてデータの処理あるいはRAM6、タイマ
7,8、SCI9、入出力ポート11〜19などとのデ
ータ転送を行う。すなわち、CPU2は、入出力ポート
11〜19、A/D変換器10などから入力されるデー
タ、あるいはSCI9などから入力される指示を参照し
つつ、ROM5などに記憶されている命令に基づいて処
理を行い、その結果に基づいて、入出力ポート11〜1
9、タイマ7,8などを使用して、外部に信号を出力
し、各種機器の制御を行う。
【0032】タイマ7,8、SCI9、外部信号などの
状態を割込み信号として、CPU2に伝達することがで
きる。割込み信号は、A/D変換器10、タイマA7、
タイマB8、SCI9、入出力ポートが出力し、割込コ
ントローラ4はこれを入力して、所定の内部I/Oレジ
スタなどの指定に基づいて、CPU2に割込要求信号を
与える。CPU2に割込要求が発生されると、CPU2
は実行中の処理を中断して、例外処理状態を経て、所定
の処理ルーチンに分岐し、所望の処理を行い、割込要因
をクリアしたりする。所定の処理ルーチンの最後には、
通常復帰命令(RTE命令)が置かれ、この命令を実行
することによって上記中断した処理を再開する。
【0033】図3には、CPUに内蔵されている汎用レ
ジスタ及び制御レジスタの構成例(プログラミングモデ
ル)が示され、図4には汎用レジスタのデータ構成が示
される。
【0034】CPU2は、32ビット長の汎用レジスタ
を32本持っている。汎用レジスタは、すべて同等の機
能を持っており、アドレスレジスタとしてもデータレジ
スタとしても使用することができる。データレジスタと
しては32ビット、16ビット及び8ビットレジスタと
して使用できる。アドレスレジスタ及び32ビットレジ
スタとしては、一括して汎用レジスタER(ER0〜E
R31)として使用する。16ビットレジスタとして
は、汎用レジスタERを分割して汎用レジスタE(E0
〜E31)、汎用レジスタR(R0〜R31)として使
用する。これらは同等の機能を持っており、16ビット
レジスタを最大64本まで使用することができる。8ビ
ットレジスタとしては、汎用レジスタRを分割して汎用
レジスタRH(R0H〜R31H)、汎用レジスタRL
(R0L〜R31L)として使用する。これらは同等の
機能を持っており、8ビットレジスタを最大64本まで
使用することができる。各レジスタ独立に使用方法を選
択することができる。
【0035】CPU2が扱うバイトデータは、8ビット
レジスタである汎用レジスタRH(RiH(i=0,
1,…,31))又は汎用レジスタRL(RiL)に格
納される。ワードデータは16ビットレジスタである汎
用レジスタR(Ri(RiH及びRiL))又は汎用レ
ジスタE(Ei)に格納される。32ビットのロングワ
ードデータは汎用レジスタER(Ri及びEi)に格納
される。24ビットのアドレスデータはロングワードデ
ータとして拡張レジスタEiと汎用レジスタRiに格納
される。このとき、上位8ビットは予約領域とされる。
尚、予約された8ビットと24ビットのアドレスデータ
を併せて単にロングワードデータとも称する。なお、M
SBは最上位ビット、LSBは最下位ビットを示す。
【0036】汎用レジスタER7には、汎用レジスタと
しての機能に加えて、スタックポインタ(SP)として
の機能が割り当てられており、例外処理やサブルーチン
分岐などで暗黙的に使用される。例外処理は上記割込み
例外処理を含む。
【0037】尚、内部論理構成上はER0〜ER7をグ
ループ0、ER8〜ER15をグループ1、ER16〜
ER23をグループ2、ER24〜ER31をグループ
3としている。
【0038】上記汎用レジスタは、プログラミング仕様
上は相違なく、すべて同等に使用できる。少なくとも、
アセンブリ言語でプログラムする場合には、グループを
意識せず、例えば、R0H、E8、R16,ER31、
などと記述できる。例えば平成7年3月(株)日立製作
所発行『H8S/2600シリーズH8S/2000シ
リーズプログラミングマニュアル』のアセンブラフォー
マットに従って記述すれば、 MOV.L ER0,ER31 ADD.W E8,R16 などのようにレジスタ番号のみで記述できる。例えば、
アドレスAAAから始まる配列(バイト単位)のうち、
アドレスBBBに格納されている番号のデータ(ワード
サイズ)をリードする場合は、 MOV.W @BBB,R0 EXTS.L ER0 MOV.B @(AAA,ER0),R9 などとなる。
【0039】CPU2は更に、コントロールレジスタと
して、24ビットのプログラムカウンタ(PC)と8ビ
ットのエクステンドレジスタ(EXR)及び8ビットの
コンディションコードレジスタ(CCR)を含んでい
る。
【0040】PCは24ビットのカウンタで、CPU2
が次に実行する命令のアドレスを示す。特に制限されな
いもののCPUの命令は、すべて2バイト(ワード)を
単位としているため、最下位ビットは無効であり、命令
リード時には最下位ビットは0とみなされる。
【0041】CCRは8ビットのレジスタで、CPUの
内部状態を示している。モード選択ビット(m)、ハー
フキャリ(H)、ネガティブ(N)、ゼロ(Z)、オー
バフロー(V)、キャリ(C)の各フラグを含む8ビッ
トで構成されている。
【0042】EXRは8ビットのレジスタで、割込みな
どの例外処理の制御を行なう。割込みマスクビット(I
2〜I0)とトレース(T)の各ビットを含んでいる。
【0043】図5には、CPU2の機械語の命令フォー
マットと命令コードの一例が示される。
【0044】CPU2の命令は、2バイト(ワード)を
単位にしている。各命令はオペレーションフィード(o
p)、レジスタ指定フィールド(r、gr)、EA拡張
部(EA)、及びコンディションフィールド(cc)を
含む。特に制限されないが、この命令フォーマットは、
上記平成7年3月(株)日立製作所発行『H8S/26
00シリーズH8S/2000シリーズプログラミング
マニュアル』記載のCPUの命令フォーマットと同様と
される。
【0045】オペレーションフィールド(op)は、命
令の機能を表し、アドレッシングモードの指定オペラン
ドの処理内容を指定する。命令の先頭4ビットを必ず含
む。2つのオペレーションフィールドを持つ場合もあ
る。
【0046】レジスタ指定フィールド(r、gr)は組
合わせて汎用レジスタを指定する。レジスタ指定フィー
ルド(r)はアドレスレジスタのとき3ビット、データ
レジスタのとき3ビット(32ビットレジスタ)又は4
ビット(8あるいは16ビットレジスタ)である。2つ
のレジスタ指定フィールドを持つ場合、又はレジスタ指
定フィールドを持たい場合もある。レジスタ指定フィー
ルド(gr)は4ビット存在するが、特に制限されない
が下位2ビットを有効にする。レジスタ番号n=gr
[1:0]<<3+r[2:0]で求められる(<<3
は3ビット左シフトを示す)。すなわち、grを上位と
し、rの下位3ビットr[2:0]を下位とした5ビッ
トで指定される番号のレジスタを指定する。例えば、g
r=0、r=1の場合はレジスタ番号n=1となり、g
r=2、r=3の場合はレジスタ番号n=19、とな
る。このレジスタ番号nに対応する汎用レジスタERn
の、命令コードのサイズを指定する部分や、r[3]の
内容によって、レジスタE、レジスタR、レジスタR
H、レジスタRLが指定される。レジスタフィールド
(gr)を含むワードは省略可能とされる。省略された
場合は、第1のモードにおいては、0が与えられたもの
と想定され、レジスタ番号は0〜7とされ、汎用レジス
タER0〜ERが選択できる。これは、既存のプログラ
ムをそのまま利用可能にできる。
【0047】第2のモードにおいては、アドレスレジス
タ及びロングワードサイズのデータレジスタとしてはグ
ループ0(ER0〜ER7)が、ワードサイズのデータ
レジスタとしてはグループ1(E8〜E15、R8〜R
15)が、バイトサイズのデータレジスタとしてはグル
ープ2(R16H〜R23H、R16L〜R23L)
が、それぞれ想定される。
【0048】尚、gr1(命令コードの基本ワード中の
ビット7〜4)はr1(命令コードの基本ワード中のビ
ット7〜4又はビット6〜4)に、gr2(命令コード
の基本ワード中のビット3〜0)はr2(命令コードの
基本ワード中のビット11〜8又はビット3〜0)に対
応する。
【0049】EA拡張部(EA)は、イミディエイトデ
ータ、絶対アドレス又はディスプレースメントを指定す
る。8ビット、16ビット、又は32ビットである。コ
ンディションフィールド(cc)は条件分岐命令(Bc
c命令)の分岐条件を指定する。
【0050】図5においては、16進数で表記した機械
語を示している。本例は第2のモードの場合とし、グル
ープ指定フィールドを持つ前置命令コードを省略する
と、アドレスレジスタ又は32ビットデータレジスタを
使用する場合はグループ0、16ビットデータレジスタ
を使用する場合はグループ1、8ビットデータレジスタ
を使用する場合はグループ2が指定されるようにする。
【0051】例えば、H'0901を単独で使用する場
合、オペレーションフィールドがADD.Wであり、ワ
ードサイズであるため、グループ1が指定され、AD
D.WR8,R9となる。これに、グループ指定フィー
ルドを持つ前置命令コードH'0012を付加し、H'0
0120901は、ADD.W R8,R17となる。
同様に、バイトサイズの加算を行なう場合には、グルー
プ2に対しては、グループ指定フィールドを持つ前置命
令コードは不要とされ、ADD.B R16H,R16
Lは、機械語H'0808となる。グループ2以外を使
用する場合には、グループ指定フィールドを持つ前置命
令コードを付加し、ADD.B R0H,R16Lは、
機械語H'00020808となる。この場合はオペレ
ーションフィールドに含まれるビット8がバイトサイ
ズ、ワードサイズを識別する情報となっている。
【0052】アドレスレジスタをER0とし、8ビット
データレジスタR16Lの内容をメモリにライトするM
OV.B R16L,@ER0場合は、グループ指定フ
ィールドを持つ前置命令コードは不要とされ、機械語
H'6888となる。アドレスレジスタをER0とし、
8ビットデータレジスタR0Lの内容をメモリにライト
するMOV.B R0L,@ER0場合は、グループ指
定フィールドを持つ前置命令コードを付加し、機械語
H'00006888となる。
【0053】上記のプログラム例においては、「MO
V.W @BBB,R0」は、前置命令コードH'00
00を付加する。「EXTS.L ER0」、及び「M
OV.B @(AAA,ER0),R9」は、前置命令
コードは不要である。
【0054】汎用レジスタER0の代わりに、汎用レジ
スタER16を使用する場合において、「MOV.W
@BBB,R16には前置命令コードH'0002を、
「EXTS.L ER16」には前置命令コードH'0
002を、「MOV.B @(AAA,ER16),R
9」には前置命令コードH'0021をそれぞれ付加す
る。このように、使用する汎用レジスタによって命令コ
ード長が変化する。当然、命令コード長が短くなる様に
汎用レジスタを使用するのが望ましい。
【0055】レジスタ指定フィールド(gr)は4ビッ
トあるので、論理的には汎用レジスタグループを16に
拡張することができる。この場合では32ビット汎用レ
ジスタ128本(又は16ビット汎用レジスタ256
本)を利用できる。レジスタ指定フィールド(gr)に
対応するオペレーションフィールドは複数種類あってよ
い。例えば、単純にレジスタ指定のみを行うものと、そ
のほかの機能(アドレッシングモードなど)を切り換え
る機能とを合わせ持つオペレーションコードとを用意し
もよい。
【0056】図6には汎用レジスタの指定例が示され
る。
【0057】汎用レジスタの指定は、前記の通りモード
によって異なる。
【0058】モード0(前記の第1のモード)のとき、
グループ0は、アドレスレジスタ/データレジスタの使
用方法や、サイズに依存せず、前置命令コードを不要
(省略)にして選択可能である。
【0059】モード1(前記の第2のモード)のとき、
前置命令コードを使用しない(省略)場合には、アドレ
スレジスタ及び32ビットレジスタとしては、グループ
0(ER0〜ER7)が指定される。16ビットレジス
タとしては、グループ1(E8〜E15、R8〜R1
5)が指定される。8ビットレジスタとしては、グルー
プ2(R16H〜R23H、R16L〜R23L)が指
定される。
【0060】前置命令コードを使用せず、短い命令コー
ドで指定できる汎用レジスタは、モード0のとき、32
ビット×8=256ビットであり、モード1のとき、3
2ビット×8+16ビット×16+8ビット×16=6
40ビットとすることができる。データレジスタのサイ
ズは、当該命令の演算や転送のサイズと解釈される。
【0061】図7及び図8には、上記汎用レジスタの使
用例が示される。
【0062】図7はモード0のときの例である。アドレ
スレジスタ及び32ビットレジスタが10本使用され、
16ビットデータレジスタが32本使用され、8ビット
データレジスタが24本使用される。グループ0が、上
記前記命令コードを使用せずに使用可能であるため、使
用頻度の高いデータをおくようにすると良い。
【0063】図8はモード1のときに好適な例である。
前置命令コードを使用しないように、アドレスレジスタ
及び32ビットレジスタは、グループ0(ER0〜ER
7)に配置すると良い。同様に16ビットレジスタは、
グループ1(E8〜E15、R8〜R15)に配置し、
8ビットレジスタは、グループ2(R16H〜R23
H、R16L〜R23L)に配置すると良い。グループ
2の汎用レジスタEは、16ビットレジスタとして使用
される。グループ3には、グループ0〜2で配置できな
かったデータを任意に配置するとよい。
【0064】尚、上記のレジスタ使用例は、プログラム
の実行に従って随時変更することができる。
【0065】図9及び図10には実効アドレスの計算例
が示される。
【0066】図9(A)に示されるレジスタ間接では、
命令コード中にレジスタを指定する部分(レジスタ指定
フィールド)を含み、この命令コードで指定された汎用
レジスタERの内容の合計32ビットをアドレスとして
メモリ上のアドレスを指定する。特に制限されないが、
アドレス空間は16Mバイトとし、アドレスは24ビッ
トでよいので、上位8ビットは無視する。
【0067】図9(B),(C)に示されるディスプレ
ースメント付レジスタ間接では、上記レジスタ間接と同
様に得られた32ビットのアドレスに、命令コード中に
含まれるディスプレースメントを加算した結果をアドレ
スとしてメモリ上のアドレスを指定する。この加算結果
はアドレスの指定のみに使用され、汎用レジスタERの
内容には反映されない。特に制限されないが、ディスプ
レースメントは32ビット又は16ビットであり、16
ビットディスプレースメントは加算する場合には上位1
6ビットは符号拡張される。すなわち、ディスプレース
メントの上位16ビットは16ビットディスプレースメ
ントのビット15と同じ値であるとして加算が行われ
る。この場合も上位8ビットは無視される。
【0068】図9(D)に示されるポストインクリメン
トレジスタ間接では、上記レジスタ間接と同様に得られ
た32ビットのアドレスでメモリ上のアドレスを指定す
る。その後、このアドレスに1又は2又は4を加算し、
その加算結果が汎用レジスタERに格納される。メモリ
上のバイトデータを指定する場合1が、ワードデータを
指定する場合2が、アドレスデータを指定する場合4
が、それぞれ加算される。加算結果の上位8ビットも拡
張レジスタに格納される。
【0069】図9(E)に示されるプリデクリメントレ
ジスタ間接では、上記レジスタ間接と同様に得られた3
2ビットのアドレスから1又は2又は4を減算した結果
の24ビットでメモリ上のアドレスを指定する。その
後、その減算結果が汎用レジスタERに格納される。メ
モリ上のバイトデータを指定する場合には1が減算さ
れ、ワードデータを指定する場合には2が減算され、ア
ドレスデータを指定する場合には4が減算される。上記
同様に、減算結果の上位8ビットも拡張レジスタに格納
される。
【0070】図10(A),(B),(C)に示される
絶対アドレスでは、それぞれ命令コード中に含まれる、
8ビット、16ビット又は24ビットの絶対アドレスを
アドレスとしてメモリ上のアドレスを指定する。8ビッ
ト絶対アドレスは、上位16ビットが1拡張される。す
なわち、アドレスのビット23〜8は全ビット1とされ
る。従って使用可能なアドレスは、H’FFFF00〜
H’FFFFFFの256バイトである。また、16ビ
ット絶対アドレスは、上位8ビットが符号拡張される。
すなわち、16ビット絶対アドレスのビット15が0で
あればアドレスのビット23〜16は全ビット0とさ
れ、ビット15が1であればアドレスのビット23〜1
6は全ビット1とされる。従って使用可能なアドレスは
H’000000〜H’007FFF及びH’FF80
00〜H’FFFFFFの64kバイトである。
【0071】図10(D),(E)に示されるプログラ
ムカウンタ相対では、プログラムカウンタの内容の24
ビットアドレスに、命令コード中に含まれるディスプレ
ースメントを加算した結果をアドレスとしてメモリ上の
アドレスを指定する。加算結果はプログラムカウンタに
格納される。特に制限されないが、ディスプレースメン
トは16ビット又は8ビットであり、これらのディスプ
レースメントは加算する場合には上位8ビット又は16
ビットは符号拡張される。すなわち、ディスプレースメ
ントの上位8ビットは16ビットディスプレースメント
のビット15と、又は上位16ビットは8ビットディス
プレースメントのビット7と同じ値であるとみなして加
算が行われる。プログラムカウンタ相対は分岐命令のみ
で使用される。
【0072】上記の他にイミディエイト、レジスタ直
接、メモリ間接などのアドレッシングモードを実行され
る。また、アドレス空間の小さい(64kバイト)モー
ドを持つ場合には、実効アドレスの上位8ビットが無視
され、下位16ビットが有効になるようにする。
【0073】尚、上記図9(A)〜(E)に示されるよ
うに、汎用レジスタを実効アドレス計算に用いる場合に
は、当該汎用レジスタをアドレスレジスタと呼ぶ。
【0074】図1には、上記CPU2の構成例が示され
る。
【0075】CPU2は、制御部(CONT)30と、
上記汎用レジスタER0〜ER31、プログラムカウン
タPC、コンディションコードレジスタCCRを含む実
行部(EXEC)40とを含んで成る。
【0076】制御部(CONT)30は、命令レジスタ
(IR1)31、命令レジスタ(IR2)32、命令デ
コーダ(DEC)33、レジスタデコーダ(RDEC)
34、割込受け付け回路(INT)35を含む。
【0077】命令デコーダ(DEC)33は、例えば、
マイクロROMあるいはPLA(Programmab
le Logic Array)又は布線論理で構成さ
れる。レジスタデコーダ(RDEC)34には、命令デ
コーダ33の出力信号、命令レジスタ31,32の出力
信号が供給される。また、図示はされないが、必要に応
じて上記SYSC3に含まれる内部I/Oレジスタ(C
PUCR)22の出力する信号を供給してもよい。
【0078】実行部(EXEC)40には、更に、テン
ポラリレジスタTR、算術論理演算器ALU、インクリ
メンタINC、リードデータバッファDBR、ライトデ
ータバッファDBW、アドレスバッファABを含む。こ
れらのブロックはGBバス、DBバス、WBバスによっ
て相互に接続されている。前記データバスGB、DBは
レジスタER0〜ER31に対するデータリードバス、
データバスWBはレジスタER0〜ER31に対するデ
ータライトバスとして位置付けられる。
【0079】尚、詳細な図示を省いているが、実行部4
0の各部は、汎用レジスタの分割E(16ビット)、H
(8ビット)、L(8ビット)に呼応して分割されてい
る。
【0080】算術論理演算器ALUは、命令によって指
定される各種の演算や実効アドレスの計算など用いる。
インクリメンタINCは、主にPCの加算に用いられ
る。
【0081】リードデータバッファDBRは、上記RO
M5、RAM6、内部I/Oレジスタ、あるいは図示さ
れない外部メモリから、リードした命令コードやデータ
を一時的に格納する。ライトデータバッファDBWは、
ROM5、RAM6、内部I/Oレジスタ、あるいは外
部メモリへのライトデータを一時的に格納する。リード
データバッファDBR、ライトデータバッファDBWに
よってCPU2内部動作と、CPU2の外部のリード/
ライト動作のタイミングを調整している。
【0082】GBバス、DBバス、WBバスが32ビッ
トであるのに対して、内部データバスIDBが16ビッ
トであるため、32ビットのデータを、2回の16ビッ
トデータのアクセスとする場合に、2回目のデータアク
セスに先立って、アドレスバッファの内容をインクリメ
ントする。
【0083】命令コードは、命令リード時に命令レジス
タ(IR1)31に蓄えられ、順次命令デコーダ(DE
C)33で解読されて、各種制御信号が発生され、命令
が実行される。前置命令コード実行時には、割込み要求
があっても、引き続き次の命令コードを実行し、一連の
命令が途中で中断されないようにされている。
【0084】図2には、上記レジスタデコーダ(RDE
C)34の一部と命令レジスタ(IR2)32の詳細な
構成例が示される。
【0085】命令レジスタ(IR2)32は、保持手段
としてのラッチ回路(LGR1、LGR2)321,3
22で構成され、このラッチ回路(LGR1、LGR
2)321,322は、レジスタグループ指定フィール
ドgr1、gr2を保持する。かかるラッチ回路32
1,322は、いわゆるリセット付きD型フリップフロ
ップで構成することができる。リセット信号RSLGR
として、命令デコーダ33から指定される命令実行終了
信号を入力する。ラッチクロックとして、命令デコーダ
から指定されるLGRCLを入力し、また、データとし
て、命令レジスタ(IR1)31に保持する命令コード
ビット7〜4、3〜0(グループ4個の場合は、ビット
5、4、1、0のみでもよい)を入力する。ラッチクロ
ックLGRCLは、汎用レジスタグループを指定する命
令コード(省略可能な命令コード、すなわち前置命令コ
ード)を実行したときの活性状態になって、そのときの
レジスタフィード(gr)である、ビット7〜4、3〜
0をラッチさせる。ラッチ回路321,322は、命令
の実行終了時点で、命令デコーダからの制御信号(リセ
ット信号RSLGR)に基づいて、所定の値に設定され
る。本例では、全ビットが論理値“0”にクリアされ
る。また、LGRCL信号に従って、LGRが有効であ
ることを示す制御信号ELGRが出力(セット)され
る。制御信号ELGRはリセット信号RSLGRによっ
てクリアされる。
【0086】レジスタデコーダ(RDEC)34は、次
のように構成される。
【0087】レジスタデコーダ34のデスティネーショ
ンレジスタ指定側には、ラッチ回路(LGR2)322
から出力されるレジスタグループ指定フィールド(gr
2)の情報を保持するラッチ回路341と、命令レジス
タ(IR1)31から出力されるレジスタ指定フィール
ド(r2)の情報をラッチするラッチ回路342が設け
られている。それらラッチ回路341,342は、シス
テムクロックφの反転クロックφ#でラッチされるよう
になっており、ソースレジスタの選択動作より遅くデス
ティネーションレジスタの選択動作が行なわれる。これ
によって、デスティネーション側のレジスタ指定情報の
ラッチタイミング、すなわちデスティネーションレジス
タ選択タイミングがソースレジスタ選択タイミングより
も0.5ステート遅くなるようにされる。ソースレジス
タはアドレスレジスタとして先行して選択され、デステ
ィネーションレジスタはデータの書込みのために遅れて
選択されることが可能になっている。
【0088】さらに、レジスタデコーダ(RDEC)3
4には、論理回路(LOGIC)343,344が設け
られる。上記ラッチ回路321,341の出力信号は、
それに対応する論理回路(LOGIC)343,344
において、制御信号mode、ELGR、ad、byt
e、wordよって制御されるようになっており、この
論理回路(LOGIC)343,344の出力信号がレ
ジスタ選択に用いられる。制御信号ELGRの論理は、
図6における前置命令コードの省略/使用に対応する。
制御信号modeが論理値“0”のときは、制御信号a
d、byte、wordは無視され、ラッチ回路LGR
1,LGR2の出力信号が選択的に出力される。制御信
号modeが論理値“1”のときは、制御信号ELGR
が論理値“1”であれば、前置命令コードによって、レ
ジスタグループが指定されているため、制御信号ad、
byte、wordは無視され、ラッチ回路LGR1,
LGR2の出力信号が選択的に出力される。制御信号E
LGRが論理値“0”であれば、前置命令コードによっ
て、レジスタグループが指定されていないため、制御信
号adが論理値“1”であればgr1が論理値“0”と
され、byteが論理値“1”であればgr1又はgr
2が論理値“0”とされ、wordが論理値“1”であ
れば、gr1又はgr2が論理値“1”とされる。by
te及びwordが論理値“0”であれば、ロングワー
ドデータとして、gr1又はgr2が論理値“0”とさ
れる。図2において、345にはこの場合の論理記述の
一例が示される。制御信号modeは、コンディション
コードレジスタCCRのビット7であるmビットで指定
される。gr1とr1を組合せた番号の汎用レジスタ、
及びgr2とr2を組合せた番号の汎用レジスタが選択
される。ここで上記コンディションコードレジスタCC
Rが、本発明におけるモード設定手段の一例とされる。
また、上記レジスタデコーダ34が、本発明におけるレ
ジスタ選択手段の一例とされる。
【0089】図12には、第1の加算命令(ADD.L
ER0,ER1)の実行タイミングが示される。
【0090】ADD.L ER0,ER1は、ロングワ
ードサイズで、グループ0の汎用レジスタのみを使用す
るので、汎用レジスグループを指定する命令コードを必
要とせず、例えば平成7年3月(株)日立製作所発行
『H8S/2600シリーズH8S/2000シリーズ
プログラミングマニュアル』に記載のCPUと同じ1ワ
ードの命令とする。モード0/1ともに同じである。特
に制限されないが、内部データバスは16ビットであっ
て、内蔵ROM、RAMリード/ライトを1ステートで
リード/ライト可能とする。T0のC2(φ#同期を示
し、#は反転論理を示す)で、CPUのアドレスバッフ
ァ(AB)かアドレスがIABに出力される。また、命
令デコーダから、命令フェッチ(if)を示す、バスコ
マンド(BCMD)が出力される。
【0091】T1のC1(φ同期)で、IABの内容が
PABに出力され、バスコマンドに基づき、リードサイ
クルが開始され、PDBにデータが出力される。T1の
C2でPDBのリードデータが内部データバスIDBに
得られ、これをT2のC1でIRにラッチする。以上の
動作は以前の命令実行の制御によって行われる。
【0092】直前の命令の実行が終了すると、最も早く
命令の実行が開始される場合には、T2のC1で命令コ
ードがDECに入力されて、命令の内容が解読される。
この解読結果に従って、制御信号を出力して、各部の制
御が行われる。命令の一部(レジスタ指定フィード:S
EL入力信号1(r1))がレジスタセレクトに与えら
れる。
【0093】レジスタ間演算命令では、T2のC2で、
PCの内容を内部バスGBに読み出して、ABとINC
に入力する。ABからアドレスIABが出力される。レ
ジスタデコーダに制御信号を与える。LGR1及びLG
R2がいずれも0にクリアされているので、SEL入力
信号とDECの出力する制御信号controlA(R
s−DB、Rd−GB)とに基づいて、レジスタ選択信
号selectB(ER0−DB、ER1−GB)が生
成される。
【0094】SEL入力信号2(r2)がレジスタセレ
クトに与えられる。
【0095】T3から、次の次の命令がリードされる。
【0096】T3のC1で、INCでインクリメント
(+2)された結果が、内部バスWBを経由してPCに
ライトされる。SEL入力信号2と制御信号B(WB−
Rd)とに基づいて、レジスタ選択信号Cが生成され
る。レジスタ選択信号Bがレジスタを択して、ソース
側、デスティネーション側のレジスタ(Rs、Rd)の
データをALUに入力する。ALUの演算内容はDEC
が制御信号Cによって指示する。加算・論理演算・シフ
トなどは1クロックで演算を行うことができる。例え
ば、上記命令では32ビットの加算を行う。SEL入力
信号2と制御信号B(WB−Rd入力)とに基づいて、
レジスタ選択信号selectC(WB−ER1)が生
成される。
【0097】制御信号B(RSLGR)によって、LG
R1、LGR2のクリアが指示される。LGR1はT3
のC1で、LGR2はT3のC2でクリアされた結果が
伝達される。
【0098】T3のC2で、ALUの演算結果が、内部
バスWBを経由して、レジスタ選択信号が選択したデス
ティネーション側のレジスタ(ER1)にライトされ
る。図示はされないが、制御信号Cによって、CCRの
更新を行う。更に次の次の命令をIRに取り込む。同時
に、次の命の実行が開始され、例えば、PCの内容が読
み出され、アドレスバッファABと割込み受付回路35
に入力される。
【0099】このように短い命令コードでは、レジスタ
間演算を実質的に1ステートで実行できる。
【0100】図13には、第2の加算命令(ADD.W
R8,R9)のモード1での実行タイミングが示され
る。
【0101】ADD.W R8,R9は、ワードサイズ
で、グループ1の汎用レジスタのみを使用するので、汎
用レジスグループを指定する命令コードを必要とせず、
1ワードの命令とする。
【0102】上記同様に、T2のC1で命令コード(a
dd)がDECに入力されて、命令の内容が解読され
る。解読結果に従って、制御信号を出力して、各部の制
御を行う。サイズを示す制御信号controlA(w
ord)が出力される。
【0103】LGR1=0及びLGR2=0であるが、
word=1であるため、gr1=gr2=1とされ、
RDEC入力信号とDECの出力する制御信号cont
rolA(Rs−DB、Rd−GB)とに基づいて、レ
ジスタ選択信号selectB(R8−DB、R9−G
B)、レジスタ選択信号selectC(WB−R9)
が生成される。ALUにはワードサイズ演算が指示され
(図示せず)、汎用レジスタへの書込みもR9の16ビ
ットのみとされる。これ以外の動作は第1の加算命令
(ADD.L ER0,ER1)と同一にできる。
【0104】図14には、第3の加算命令(ADD.W
R0,R1)のモード1での実行タイミングが示され
る。
【0105】汎用レジスタグループを指定する命令コー
ド(H’0000)を付加して2ワード命令とする。第
2ワードは上記ADD.W R8,R9と同一である。
【0106】上記同様に、T2のC1で命令コード(前
置コード)がDECに入力されて、命令の内容が解読さ
れる。解読結果に従って、制御信号を出力して、各部の
制御を行う。グループフィールドラッチ信号LGRCL
が発行されて、レジスタグループ指定フィールド(IR
1のビット7〜0)がLGR1、LGR2にラッチされ
る。
【0107】T2のC2で、制御信号ControlB
として、割込み禁止信号(intmsk)が出力され、
割込み受け付け回路に出力する。本信号によって、割込
み要求などが発生していても、第1ワードと第2ワード
以降が分割されず、命令の実行を継続することができ
る。また、LGR1、LGR2の内容が保持される。P
Cの内容が内部バスGBに読み出され、アドレスバッフ
ァABと割込受付回路35に入力される。アドレスバッ
ファABからアドレスIABが出力される。
【0108】T3から、次の次の命令がリードされる。
【0109】T3のC1で、INCでインクリメント
(+2)された結果が、内部バスWBを経由してPCに
ライトされる。
【0110】一方、T3のC1で命令コード(add)
がDECに入力されて、命令の内容が解読される。解読
結果に従って、制御信号を出力して、各部の制御を行
う。LGR1=0及びLGR2=0であり、制御信号C
ontrolCとして、ELGRが出力されているた
め、gr1=gr2=0とされる。これと、SEL入力
信号とDECの出力する制御信号A(Rs−DB、Rd
−GB)とに基づいて、レジスタ選択信号Select
B(R0−DB、R1−GB)が生成される。ALUに
はワードサイズ演算が指示される(図示せず)。これ以
外の第2ワードによる動作は第1の加算命令(ADD.
L ER0,ER1)と同一にできる(第1の加算命令
同様に、制御信号B(RSLGR)によって、LGR
1、LGR2のクリアが指示される。LGR1はT4の
C1で、LGR2はT4のC2でクリアされた結果が伝
達される)。
【0111】モード0の場合、第2の加算命令(AD
D.W R8,R9)は前置命令コードを付加した命令
コードとなるため、図14と同じ実行タイミングとな
る。第3の加算命令(ADD.W R0,R1)は前置命
令コードが不要であり、図13と同じ実行タイミングと
なる。
【0112】すなわち、第1ワード(前置コード)に対
応するLGR1、LGR2のラッチ信号、連続命令信号
を出力する以外は、命令デコーダ(DEC)33の内容
を、既存の命令デコーダと同等にできる。命令デコーダ
(DEC)33の前置コードに対応する部分は、相対的
に小さいことは言うまでもない。すなわち、論理的な規
模の追加を最小限にできる。また、命令デコーダ(DE
C)33の大部分を既存の命令デコーダと同等にできる
から、従来の設計資産を有効に利用することができる。
【0113】また、そのほかの命令についても、同様の
前置コードを付加することによって、汎用レジスタのい
ずれをも指定できる。レジスタ指定フィールドを持つ命
令コードを持つ命令について適用できる。
【0114】図15には、CPU2で実行されるオブジ
ェクトプログラムを生成するためのコンパイラの構成例
が示される。
【0115】コンパイラは、ソースプログラムの字句解
析、構文解析、意味解析の各解析を行なう解析部21、
この解析部21の出力を取り込んでソースプログラムを
中間コードに変換する中間部22、中間コードを解析し
て最適化を行なう最適化部23、最適化された中間コー
ドを、ターゲットとなるCPUの命令に変換する出力部
24、及びこの出力部24に使用可能な命令を指示する
オプション指定部209を含む。
【0116】オプション指定部209は、解析部21に
よって、ソースプログラムからその内容を抽出する場
合、CPU定義情報ファイルによって与えられる場合、
又はコンパイルオプションとして与えられる場合があ
る。
【0117】図16には、上記CPU2のシステム開発
装置におけるCPUのモード設定の仕方が示される。
【0118】ここでは、m0がモード0を、m1がモー
ド1を示すものとする。図16(A)に示される通り、
パーソナルコンピュータなどのシステム開発装置上のデ
ィスプレイでプロンプトが表示された状態で、例えば、 SET CPU=CPU−m0 と入力すればよいようにする。あるいは、図16(B)
に示されるようにプロンプトが表示された状態で、 SET OPTION などとコマンドを入力し、それに対してメニュー番号の
入力が要求されたなら、使用者がメニュー番号1〜2の
いずれかを入力すればよいようにする。ここで、CPU
−m0はモード0であり、CPU−m1はモード1を示
すものとする。
【0119】CPUの種類及び動作モードのメニューを
表示し、そのメニューの中から必要な項目を選択するよ
うにしてもよい。
【0120】このほか、ウィンドウのドロップダウンメ
ニューで選択可能にしてもよいし、ワークステーション
などであれば、Cシェルコマンドとして入力することも
でき、これらによってCPU定義情報ファイルが生成さ
れる。
【0121】さらに、後述の様にアセンブラやCコンパ
イラなどの、ソースプログラムの制御命令として、CP
Uの種類及び動作モードを入力することができる。
【0122】また、図16(C)に示されるように、C
コンパイラを実行する場合のオプションとして設定して
もよい。例えば、 ccomp−m1 source.c と入力する。オプション「−m1」でモード1を指定
し、「source.c」をコンパイルする。例えば、
「sourceC」は1つの関数が記述されているものと
し、当該関数の先頭で、コンディションコードレジスタ
CCRの保持内容を待避し、当該コンディションコード
レジスタCCRのmビットを1にセットするようにす
る。これは例えば、 STC.W CCR,@−SP ORC #H’80,CCR としたプログラムが生成されて実行されることになる。
上記「ORC #H’80,CCR」はコンディション
コードレジスタCCRのビット7(mビット)の書き換
えを意味する。ソースプログラムをCコンパイラでコン
パイルする過程において、上記「ORC #H’80,
CCR」に対応するオブジェクトコードが生成される
が、このオブジェクトコードを生成する手段を含むこと
が、上記Cコンパイラの特徴点の一つとなっている。
【0123】関数の最後では、CCRが復帰される。こ
れは同様に、 LDC.W @SP+,CCR となる。Cコンパイラは、C言語によるソースプログラ
ムを、解析及び最適化した後、選択されたオプション、
及びCPUの種類及び動作モードに従って、使用可能な
オペレーション、データサイズ、アドレッシングモード
の組合せで示される命令や、汎用レジスタ、アドレス空
間を判別し、出力部においてそのCPUの命令に変換
し、アセンブリ言語プログラムやオブジェクトモジュー
ルとして出力する。例えば、上記関数をコンパイルする
にあたっては、指定されたモードに従って、プログラム
容量が少なく、実行時間が短くなる様に、汎用レジスタ
の使用方法が行われる。例えばモード1の場合は図8の
様にする。これは図15の出力部24において行われ
る。
【0124】図17には、C言語のソースプログラムに
おけるオプション指定の仕方が示される。
【0125】C言語のソースプログラムは、コンパイル
処理前に、プリプロセッサの処理を受ける。ソースプロ
グラムでは、「#」で示されるプリプロセッサ文によっ
て、プリプロセッサは処理を行い、コンパイラに指示が
行われる。
【0126】図17に示されるのは、C言語で記述され
たソースプログラムであり、プリプロセッサ文(#pr
agma)で、コンパイラの処理を指示することができ
る。図17(A)の場合、 #pragma m0(kansu2) で、関数「kansu2」はモード0でコンパイルする
ことが指示される。また、図17(B)の場合、 #pragma m1 ... #pragma m1end で、括られた記述(この場合は、whileループ)
が、モード1でコンパイルされる。
【0127】図18には、コンパイラの動作するコンピ
ュータシステム(システム開発装置)が示される。
【0128】コンピュータシステム100は、表示装置
と180、入力装置182と、本体181を含む。本体
181は、マイクロプロセッサ111とメモリ112と
ハードディスク113を含む。ハードディスク113に
は、コンパイラ201と、コンパイル対象であるソース
プログラム202と、オブジェクトプログラム203が
別々のファイルとして格納されている。コンパイラ20
1の起動を指示すると、コンパイラ201は、メモリに
転送され、マイクロプロセッサ111によって実行され
る。そして上記ソースプログラム202が与えられる
と、コンパイル結果プログラム203が出力される。コ
ンパイル結果プログラム203は、ターゲットとなるC
PU2のアセンブリ言語プログラム又はオブジェクトプ
ログラムである。
【0129】図19にはCPU2の開発環境が示され
る。
【0130】使用者は、各種エディタなどを用いて、C
言語やアセンブリ言語でソースプログラムを作成する。
これは通常、複数のモジュールに分割して作成される。
コンパイラ201は、使用者の作成したC言語ソースプ
ログラムを入力し、アセンブリ言語ソースプログラム又
はオブジェクトプログラムを出力する。アセンブラ20
5は、アセンブリ言語ソースプログラムを入力し、オブ
ジェクトプログラム203を出力する。ここで、上記コ
ンパイラ201によってオブジェクトプログラムが直接
生成される場合には、生成されたオブジェクトプログラ
ムはアセンブラ205で処理されることなく、リンケー
ジエディタ206に取り込まれる。ソースプログラムの
記述誤りなどのチェックのために、C言語ソースプログ
ラムをアセンブリ言語ソースプログラムに変換する場合
があり、その場合には、得られたアセンブリ言語はアセ
ンブラ205で処理されることでオブジェクトプログラ
ムに変換される。
【0131】リンケージエディタ206は、上記コンパ
イラ201やアセンブラ205によって生成された複数
のオブジェクトプログラム203を取り込んで、各モジ
ュールの外部参照や相対アドレスなどの解決を行い、リ
ンケージエディタ206によって一つのプログラムに結
合して、ロードモジュール204を形成する。このロー
ドモジュール204は、シミュレータデバッガ61に取
り込まれてシミュレーションが行われる。また、エミュ
レータ62に入力されて、実際の応用システム上などで
動作する、いわゆるインサーキットエミュレーションが
行われる。インサーキットエミュレーションでは、マイ
クロコンピュータ全体としての実動作の解析や評価を行
うことができる。評価済みのロードモジュールは、PR
OMライタ63等により、マイクロコンピュータ内蔵の
プログラムメモリに書き込まれる。
【0132】またはロードモジュール乃至PROMに従
った内容で半導体製造工程においてマイクロコンピュー
タ内蔵のプログラムメモリに書き込まれる。上記プログ
ラムメモリは、通常は読み出し専用メモリ(ROM)と
される。
【0133】上記実施例によれば、以下の作用効果を得
るものである。
【0134】(1)命令コード中のレジスタを指定する
フィールドにおいて、すべての汎用レジスタを指定する
に十分なビット数をもつ命令コードと、それより小さい
ビット数の命令コードを用意し、後者の場合には、バイ
ト/ワード/ロングワードといったサイズなどの、命令
コード中の別の情報に応じて、指定される汎用レジスタ
を、異なったグループから選択可能にする。換言すれ
ば、サイズなどに応じて、短い命令コードで指定可能な
汎用レジスタを異なったグループになるようにする。或
は、サイズなどの情報と命令コードに含まれるレジスタ
フィールドを組合せて汎用レジスタを指定するようにす
る。これにより、命令コード中のレジスタ指令フィール
ドのビット数を増加させることなく、短い命令コード
で、例えば、32ビットデータ又はアドレスレジスタ
(例えば8本、ER0〜ER7)、16ビットデータレ
ジスタ(例えば16本、E8〜E15、R8〜R1
5)、8ビットデータレジスタ(例えば16本、R16
H〜R23H、R16L〜R23L)を、独立のリソー
スとして指定でき、短い命令コードで指定可能な汎用レ
ジスタを実質的に増加することができ、全体的なプログ
ラム容量を短縮することができる。すべての汎用レジス
タを指定可能なレジスタ指定フィールドを持つ長い命令
コードによって、1本の汎用レジスタ(例えばER0)
の一部を16ビットデータレジスタ(例えばE0、R
0)、8ビットデータレジスタ(例えばR0H、R0
L)として指定でき、使い勝手を損なうことがない。従
来同様の使用方法が可能であり、少なくともソースプロ
グラムの再利用が可能であり、プログラム開発効率の向
上に寄与することができる。
【0135】さらに、省略不可能なワードは既存のCP
Uの命令コードと同一にしておくことにより、論理構成
を共通にでき、設計資産を有効に利用して、設計品質を
向上したり、開発期間を短縮したりできる。
【0136】汎用レジスタのグループ選択を可能とする
第1モードと、上記グループ選択を不可能とする第2モ
ードとを設定可能なコンディションコードレジスタCC
Rと、その出力信号(mode)に従って汎用レジスタ
の選択を行うレジスタデコーダ34を有することによ
り、例えば省略不可能なワードのみ(短い命令コード)
で指定可能な汎用レジスタを、既存の汎用レジスタ(例
えばER0〜ER7)として、既存のプログラムをその
まま使用することができる。機器制御などにおいて、所
定のタイミングでプログラム実行が必要な場合などに、
既存のプログラムをそのまま利用可能にでき、プログラ
ム開発効率を向上できる。オブジェクトプログラムの利
用も可能である。
【0137】ソースプログラムに従って、データ処理装
置で実行されるオブジェクトプログラムを生成するため
のコンパイラ201において、上記ソースプログラムに
基づいてコンディションコードレジスタCCRへのモー
ド設定を可能とするオブジェクトコードを生成する手段
を設けることにより、コンディションコードレジスタC
CRへのモード設定を的確に行うことができる。また、
自動的にプログラム容量が少なく、実行時間が短くなる
様なプログラムを生成する様にコンパイルでき、使用者
は汎用レジスタ上のデータの配置を意識する必要がな
く、使い勝手を向上できる。
【0138】省略不可能なワード(短い命令コード)の
みで指定可能な汎用レジスタを、サイズなどで指定する
か、既存の汎用レジスタとするかを切り換えることによ
って、使用目的などに応じて選択が可能になり、使い勝
手を向上できる。さらに、所定のタスクやサブルーチン
の単位で切替え可能にして、全体的なプログラム容量の
縮小と高速化を図りつつ、所望のタスクやサブルーチン
は、既存のプログラムを利用することが可能になる。ま
た、この指定を行なう手段として、割込み時に自動的に
待避/復帰されるレジスタ(例えばCCR)のビットに
よって、指定するようにすると、割込み処理の先頭で所
望のモードを設定するのみで、直前の状態の待避/復帰
が自動的に行われるので使い勝手がよい。
【0139】(2)前置命令コードで、レジスタグルー
プを指定し、この前置命令コードを省略可能とし、更に
は前置命令コードを付加しない場合の命令コードを既存
のCPUの命令コードと同一とすることにより、互換性
を損なわずに、汎用レジスタを増加させることができ
る。ソフトウェア資産を有効に利用可能とするととも
に、使い勝手を向上し、処理速度を向上することができ
る。前置命令コードを用いることにより、全ての汎用レ
ジスタは同時に指定可能であるから、汎用レジスタ上の
データの配置などを考慮する必要がなく、プログラムの
作成を容易にすることができる。
【0140】(3)また、汎用レジスタのみをCPUが
直接処理可能なアーキテクチャにあっては、直接利用可
能なデータ数を増やすことができ、メモリアクセス頻度
を減らして、また、データを待避したり復帰したりする
頻度を減らして、処理速度をより一層向上することでき
る。また、割込処理で直ちに(汎用レジスタの待避など
を行うことなく)利用可能な汎用レジスタを確保してお
くことも容易にでき、割込処理の高速化を行い、いわゆ
るリアルタイム性を向上することができる。
【0141】(4)グループ指定フィールドを既存の命
令コードの前に配置することにより、汎用レジスタを使
用する全ての命令について、汎用レジスタを増加させる
ことができる。この指定方法を共通化することにより、
必要な論理的物理的規模の増加を抑止し、ひいては製造
費用の増加も抑止することができる。既存の論理と大部
分を共通にできるから、設計資産を有効に利用して、設
計品質を向上したり、開発期間を短縮したりできる。ま
た、互換性を保った、アドレス空間の広いCPUと狭い
CPUがある場合、双方に、互換性を維持しつつ汎用レ
スタを追加することも可能である。
【0142】(5)グループ指定フィールドに余裕を持
たせることにより、半導体製造プロセスの進展などに対
応して、互換性を維持しつつ、汎用レジスタを増加させ
ることができる。使い勝手を更に向上し、処理速度を向
上することができる。方式的には同一にできるので、開
発効率を向上することができる。また、アセンブラやC
コンパイラ、シミュレータ、逆アセンブラなどのソフト
ウェアツールなどを、上記拡張を考慮して設計してお
く、乃至、予め、上記拡張に対応させておくことによ
り、開発効率を向上することができる。
【0143】以上本発明者等によってなされた発明を実
施例に限定されるものではなく、その要旨を逸脱しない
範囲において種々変更可能である。
【0144】例えば、CPUの命令セットやレジスタ構
成、アドレス空間は変更可能である。
【0145】汎用レジスタは、アドレス及びデータに共
通に利用可能なものである必要はなく、一部または全部
がアドレスまたはデータ専用のものであってもよい。汎
用レジスタのデータサイズについても任意とすることが
できる。複数のレジスタを持ち、これを指定する情報を
命令コード中に持つものについては適用できる。
【0146】前置命令コードに含まれるレジスタグルー
プ情報は、そのままレジスタ番号に対応するものとして
いるが、これはエンコードされたものであってもよい。
前置命令コードのために割り当て可能な命令コードによ
って、適当な方法を選択すればよい。
【0147】サイズとグループの対応が任意に変更可能
であることはいうまでもない。
【0148】短い命令コードで指定される汎用レジスタ
が、サイズ以外の他の命令機能やレジスタなどによって
選択されてもよい。EXRのビット6〜3といった設定
とサイズによって、変更するようにしてもよい。例え
ば、サイズがワードのときに、上記ビット4と3が00
の場合はグループ0、01の場合はグループ1、10の
場合はグループ2、11の場合はグループ3が短い命令
コードで指定可能にすることができる。汎用レジスタ上
の部分を指定するフィールドと組合せてもよい。例えば
16ビットレジスタとして汎用レジスタRはグループ
0、汎用レジスタEはグループ3が暗黙的に(短い命令
コードで)指定されるようにしてもよい。CPUのアー
キテクチャにも限定されず、ロードストアアーキテクチ
ャに限定されない。命令コードの基本単位16ビットに
限定する必要はなく、8ビット或いは32ビットなど任
意のビット幅にできる。但し、アドレス空間上の大部分
より、高速に利用できるレジスタ手段を持っていること
が望ましい。また、モードの選択は、必ずしも必要では
ない。モードの選択方法も、CPU内部のレジスタによ
る他、アドレス空間上の、いわゆる内部I/Oレジスタ
(図11のCPUCR)での設定や、モード制御端子
(MD2−0)で設定することもできる。不揮発性記憶
素子や、半導体集積回路製造上の配線変更などであって
もよい。モードの数も適宜増やすことができる。CPU
の論理的な構成、複数レジスタの転送命令の論理的な実
現方法についても種々変更可能である。さらに、内部バ
ス幅や内部バス構成なども変更可能である。
【0149】マイクロコンピュータのその他の機能ブロ
ックについても何等制約されない。
【0150】以上の説明では主として本発明者によって
なされた発明をその背景となった利用分野であるマイク
ロコンピュータに適用した場合について説明したが、そ
れに限定されるものではなく、その他のデータ処理装置
にも適用可能である。本発明は少なくとも、命令コード
を読み込んで動作することを条件に適用することができ
る。
【0151】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
【0152】すなわち、命令コード中のレジスタを指定
するフィールドにおいて、すべての汎用レジスタを指定
するに十分なビット数をもつ命令コードと、それより小
さいビット数の命令コードを用意し、後者の場合には、
例えば、バイト/ワード/ロングワードといったサイズ
などの、命令コード中の別の情報に応じて、指定される
汎用レジスタを、異なったグループから選択可能にす
る。このようにサイズなどに応じて、短い命令コードで
指定可能な汎用レジスタを異なったグループになるよう
にすることで、命令コード中のレジスタ指令フィールド
のビット数を増加させることなく、短い命令コードでレ
ジスタを独立のリソースとして指定でき、全体的なプロ
グラム容量を短縮することができる。
【0153】また、命令コード中のレジスタを指定する
フィールドのビット数を増加させることなく、指定可能
なレジスタを増加させることができる。
【0154】さらに、汎用レジスタのグループ選択を可
能とする第1モードと、グループ選択を不可能とする第
2モードとを設定可能なモード設定手段と、上記モード
設定手段に設定された情報に従って上記汎用レジスタを
選択するためのレジスタ選択手段とを設けることによ
り、省略不可能なワードのみで指定可能な汎用レジスタ
を、既存の汎用レジスタとして、既存のプログラムをそ
のまま使用することができる。例えば省略不可能なワー
ドのみで指定可能な汎用レジスタを、サイズなどで指定
するか、既存の汎用レジスタとするかを切り換えること
によって、使用目的などに応じて選択が可能になり、使
い勝手を向上できる。
【0155】ソースプログラムに従って、データ処理装
置で実行されるオブジェクトプログラムを生成するため
のコンパイラにおいて、上記ソースプログラムに基づい
て上記モード設定手段へのモード設定を可能とするオブ
ジェクトコードを生成する手段を設けることにより、モ
ード設定手段へのモード設定を的確に行うことができ
る。
【図面の簡単な説明】
【図1】本発明にかかるデータ処理装置の一例であるマ
イクロコンピュータに含まれるCPUの構成例ブロック
図である。
【図2】上記CPUに含まれる上記レジスタデコーダ
(RDEC)の一部と命令レジスタ(IR2)の詳細な
構成例ブロック図である。
【図3】上記CPUに内蔵されている汎用レジスタ及び
制御レジスタの構成例説明図である。
【図4】上記汎用レジスタのデータ構成例説明図であ
る。
【図5】上記CPUの機械語の命令フォーマットと命令
コードの一例説明図である。
【図6】上記汎用レジスタの指定例説明図である。
【図7】上記汎用レジスタの使用例説明図である。
【図8】上記汎用レジスタの使用例説明図である。
【図9】上記汎用レジスタの実効アドレスの計算例説明
図である。
【図10】上記汎用レジスタの実効アドレスの計算例説
明図である。
【図11】本発明にかかるデータ処理装置の一例である
マイクロコンピュータの構成例ブロック図である。
【図12】上記マイクロコンピュータにおける第1の加
算命令の実行タイミングの説明図である。
【図13】上記マイクロコンピュータにおける第2の加
算命令の実行タイミングの説明図である。
【図14】上記マイクロコンピュータにおける第3の加
算命令の実行タイミングの説明図である。
【図15】上記CPUで実行されるオブジェクトプログ
ラムを生成するためのコンパイラの構成例説明図であ
る。
【図16】上記CPUのシステム開発装置におけるCP
Uのモード設定の説明図である。
【図17】C言語のソースプログラムにおけるオプショ
ン指定の説明図である。
【図18】上記コンパイラの動作するコンピュータシス
テムの構成例ブロック図である。
【図19】上記CPUの開発環境の説明図である。
【符号の説明】
1 シングルチップマイクロコンピュータ 2 CPU 3 システムコントローラ 22 内部I/Oレジスタ(CPUCR) 30 制御部 31、32 命令レジスタ 33 命令デコーダ 34 レジスタデコーダ 35 割り込み受付回路 40 実行部 180 表示装置 181 コンピュータシステムの本体 182 入力装置 201 コンパイラ 321,322 ラッチ回路 341,342 ラッチ回路 343,344 論理回路 CCR コンディションコードレジスタ ER0〜ER31 汎用レジスタ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 命令コードを読み込んで動作し、データ
    又はアドレスを格納可能なレジスタを複数個持つデータ
    処理装置であって、 全ての汎用レジスタを指定するに十分なビット数で構成
    されたレジスタ指定フィールドを有する第1命令コード
    と、 上記第1命令コードよりも少ないビット数で構成された
    第2命令コードと、を命令セットに含み、 上記第2命令コードは、汎用レジスタの指定フィールド
    とこのフィールドとは別の指定情報とを含み、上記汎用
    レジスタの指定フィールドとそれとは別の上記指定情報
    との組合わせによって上記汎用レジスタが選択されるこ
    とを特徴とするデータ処理装置。
  2. 【請求項2】 命令コードを読み込んで動作し、データ
    又はアドレスを格納可能なレジスタを複数個持つデータ
    処理装置であって、 全ての汎用レジスタを指定するに十分なビット数で構成
    されたレジスタ指定フィールドを有する第1命令コード
    と、 上記第1命令コードよりも少ないビット数で構成された
    第2命令コードと、を命令セットに含み、 上記第1命令コードは、複数の汎用レジスタのグループ
    中の一つを指定する第1フィールドと、上記第1フィー
    ルドによって指定されたグループにおける汎用レジスタ
    の番号を指定する第2フィールドとを含んで成ることを
    特徴とするデータ処理装置。
  3. 【請求項3】 上記汎用レジスタを指定する情報が複数
    の命令コード基本単位に分割されて、分割された一方の
    レジスタを指定する情報を持つ命令コードが省略可能と
    され、省略された場合に、省略されたレジスタ情報に代
    わって所定のレジスタ情報が暗黙的に想定される請求項
    1又は2記載のデータ処理装置。
  4. 【請求項4】 上記汎用レジスタのグループ選択を可能
    とする第1モードと、上記グループ選択を不可能とする
    第2モードとを設定可能なモード設定手段と、上記モー
    ド設定手段に設定された情報に従って上記汎用レジスタ
    を選択するためのレジスタ選択手段とを含む請求項1乃
    至3の何れか1項記載のデータ処理装置。
  5. 【請求項5】 ソースプログラムに従って、請求項4項
    記載のデータ処理装置で実行されるオブジェクトプログ
    ラムを生成するためのコンパイラをコンピュータによっ
    て読み取り可能に記録した記録媒体であって、上記コン
    パイラは、上記ソースプログラムに基づいて上記モード
    設定手段へのモード設定を可能とするオブジェクトコー
    ドを生成する手段を含んで成るものであることを特徴と
    する記録媒体。
JP2000329525A 2000-10-27 2000-10-27 データ処理装置及び記録媒体 Withdrawn JP2002132499A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000329525A JP2002132499A (ja) 2000-10-27 2000-10-27 データ処理装置及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000329525A JP2002132499A (ja) 2000-10-27 2000-10-27 データ処理装置及び記録媒体

Publications (1)

Publication Number Publication Date
JP2002132499A true JP2002132499A (ja) 2002-05-10

Family

ID=18806183

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000329525A Withdrawn JP2002132499A (ja) 2000-10-27 2000-10-27 データ処理装置及び記録媒体

Country Status (1)

Country Link
JP (1) JP2002132499A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015201216A (ja) * 2006-08-02 2015-11-12 クゥアルコム・インコーポレイテッドQualcomm Incorporated マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム
CN112307431A (zh) * 2020-11-09 2021-02-02 哲库科技(上海)有限公司 一种vdsp、数据处理方法及通讯设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015201216A (ja) * 2006-08-02 2015-11-12 クゥアルコム・インコーポレイテッドQualcomm Incorporated マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム
CN112307431A (zh) * 2020-11-09 2021-02-02 哲库科技(上海)有限公司 一种vdsp、数据处理方法及通讯设备
CN112307431B (zh) * 2020-11-09 2023-10-27 哲库科技(上海)有限公司 一种vdsp、数据处理方法及通讯设备

Similar Documents

Publication Publication Date Title
KR100462951B1 (ko) Risc 구조를 갖는 8 비트 마이크로콘트롤러
JPH0827716B2 (ja) データ処理装置及びデータ処理方法
JP2001202243A (ja) データ処理装置
JP2006313561A (ja) データ処理装置
JP4004915B2 (ja) データ処理装置
JP4073721B2 (ja) データ処理装置
JP3432532B2 (ja) データ処理装置
JP3705811B2 (ja) 再構成可能なプログラム状態語を有するマイクロコントローラ
JP3786575B2 (ja) データ処理装置
JP3839835B2 (ja) データ処理装置及びマイクロコンピュータ
JP2002132499A (ja) データ処理装置及び記録媒体
JP3760093B2 (ja) マイクロコンピュータ
JP4545777B2 (ja) データ処理装置
US20020004877A1 (en) Method and system for updating user memory in emulator systems
JP3539951B2 (ja) データ処理装置
JP4498338B2 (ja) データ処理装置
JP2731618B2 (ja) エミュレータ
KR100264758B1 (ko) 마이크로컴퓨터
JP4029016B2 (ja) データ処理装置
JP3097602B2 (ja) データ処理装置
JP2001337821A (ja) データ処理装置
JP2001297002A (ja) データ処理装置
JP4382076B2 (ja) データ処理装置
JP2003162411A (ja) データプロセッサ
JP2883489B2 (ja) 命令処理装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080108