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

データ処理装置

Info

Publication number
JP2970821B2
JP2970821B2 JP3209112A JP20911291A JP2970821B2 JP 2970821 B2 JP2970821 B2 JP 2970821B2 JP 3209112 A JP3209112 A JP 3209112A JP 20911291 A JP20911291 A JP 20911291A JP 2970821 B2 JP2970821 B2 JP 2970821B2
Authority
JP
Japan
Prior art keywords
code
instruction
register
data
data processing
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
JP3209112A
Other languages
English (en)
Other versions
JPH0546383A (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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to JP3209112A priority Critical patent/JP2970821B2/ja
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to EP02078385A priority patent/EP1271305B1/en
Priority to US07/932,652 priority patent/US5440701A/en
Priority to EP99124426A priority patent/EP0984358B1/en
Priority to DE69233681T priority patent/DE69233681T2/de
Priority to DE69233561T priority patent/DE69233561T2/de
Priority to DE69233282T priority patent/DE69233282T2/de
Priority to EP92307632A priority patent/EP0528695B1/en
Priority to DE69231237T priority patent/DE69231237T2/de
Priority to EP99124499A priority patent/EP0989485B1/en
Publication of JPH0546383A publication Critical patent/JPH0546383A/ja
Application granted granted Critical
Publication of JP2970821B2 publication Critical patent/JP2970821B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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/30134Register stacks; shift registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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/3017Runtime instruction translation, e.g. macros
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、CPUやマイクロプロ
セッサなどと称されるデータ処理装置に関するものであ
る。
【0002】
【従来の技術】従来のデータ処理装置には、演算命令の
演算対象として、データを格納するメモリだけを用いる
ように構成されたものがある。この種のデータ処理装置
では、演算内容を示すオペレーションコード、および演
算対象となるメモリを示すための2つのオペランドアド
レス(すなわち、例えばソースオペランドアドレスとデ
ィスティネーションオペランドアドレス)から成るイン
ストラクションに基づいて、所定の演算が行われるよう
になっている。
【0003】また、アキュムレータと称されるレジス
タ、およびその他のレジスタを備え、主な演算の対象と
して上記アキュムレータが含まれるように構成されたデ
ータ処理装置も用いられている。この種のデータ処理装
置では、演算内容を示すオペレーションコード、および
アキュムレータ以外の演算対象となるレジスタを示す1
つのレジスタ指定コードから成るインストラクションに
基づいて、所定の演算が行われるようになっている。
【0004】また、任意の組み合わせで演算対象となり
得る汎用レジスタを備え、演算内容を示すオペレーショ
ンコード、および演算対象となるレジスタを示す2つの
レジスタ指定コードから成るインストラクションに基づ
いて、所定の演算を行うように構成されたものも用いら
れている。
【0005】
【発明が解決しようとする課題】しかしながら、上記メ
モリだけを演算対象として用いるデータ処理装置では、
インストラクションが2つのオペランドアドレスの設定
されるオペランドフィールドを必要とするため、命令語
長が長く、したがってプログラムサイズが大きくなりが
ちである。
【0006】また、アキュムレータを備えたデータ処理
装置では、インストラクションが、オペランドアドレス
よりもビット長の短い1つのレジスタ指定コードが設定
されるレジスタフィールドしか必要としないので、命令
語長は短いものの、主な演算はアキュムレータを対象と
して行われるために、アキュムレータと他のレジスタま
たはメモリとの間の転送を頻繁に行う必要があり、命令
数が多くなってやはりプログラムサイズが大きくなりが
ちであるうえ、処理速度も低下しがちである。
【0007】一方、汎用レジスタを備えたデータ処理装
置では、汎用レジスタを任意の組み合わせで演算対象と
することができるので命令数を比較的小さく抑えること
ができ、また、オペランドアドレスよりもビット長の短
いレジスタ指定コードを用いるため、命令語長も比較的
短い。しかしながら、このようなデータ処理装置でも、
以下に示すように、短い命令語長で、しかも多くの種類
の演算を行えるようにして命令数を少なく抑え得るよう
に構成することは困難であるという問題点を有してい
る。
【0008】すなわち、例えば8本の汎用レジスタが備
えられている場合、1つのレジスタを特定するためのレ
ジスタ指定コードのビット長は3ビットとなり、インス
トラクションは合計6ビットのレジスタフィールドを必
要とする。この場合、例えば命令語長を8ビットにする
ことは、インストラクションが最大でも4種類しか用い
られないことになるので実用的ではなく、実際上は命令
語長を16ビットにする必要がある。したがって、命令
語長を短くするとともに、多くの種類の演算を行えるよ
うにすることは困難である。
【0009】本発明は上記の点に鑑み、短い命令語長で
多くの種類の演算を実行させ得るようにして、プログラ
ムサイズを小さく抑えることができるデータ処理装置の
提供を目的としている。
【0010】
【課題を解決するための手段】上記課題を解決するた
め、本発明のデータ処理装置は、オペレーションコード
と複数のレジスタ指定コードとで直交して指定されるイ
ンストラクションに基づいてデータ処理を行うように構
成されたデータ処理装置であって、少なくとも1つのオ
ペレーションについて、前記レジスタ指定コードの特定
の2つが互いに異なる場合には、直交したインストラク
ションに基づいた第一の処理を行わせ、前記レジスタ指
定コードの特定の2つが同一の場合には、前記直交した
インストラクションに基づいた処理を行わず、第二の処
理を行わせる命令解読器を備えたことを特徴としてい
る。
【0011】
【作用】上記の構成により、命令解読器の制御によっ
て、2つのレジスタ指定コードが互いに異なる場合と同
一である場合とで異なる処理が行われる。
【0012】
【実施例】以下、本発明の一実施例を図1ないし図5に
基づいて説明する。図1はデータ処理装置の要部の構成
を示すブロック図である。同図において、命令バッファ
11は、図示しないメモリから読み出される命令(イン
ストラクション)を一時的に蓄えるものである。
【0013】命令レジスタ12は、上記命令バッファ1
1に蓄えられた命令を、さらに命令の解読、または実行
が完了するまでの間保持するものである。レジスタ指定
コード一致検出部13は、命令に2つのレジスタ指定コ
ードが含まれている場合に、両者が等しいかどうかを検
出するものである。命令解読器14は、上記命令レジス
タ12に保持された命令の解読を行って、データ処理装
置各部の動作を制御する制御信号を出力するものであ
る。ここで、命令解読器14は、命令に含まれるオペレ
ーションコードが所定のオペレーションコードである場
合には、後述するように上記レジスタ指定コード一致検
出部の検出結果に応じて、レジスタ指定コードが一致す
る場合と一致しない場合とで異なる制御を行うようにな
っている。
【0014】レジスタアレイ15は、図2に示すよう
に、それぞれ16ビット長のデータレジスタD0〜D3
から成るデータレジスタ組、アドレスレジスタA0〜A
3から成るアドレスレジスタ組、実行中の命令の格納ア
ドレスを保持するプログラムカウンタPC、およびデー
タ処理装置の状態を示す状態レジスタPSW(processo
r status word )が設けられて構成されている。
【0015】上記データレジスタD0〜D3、およびア
ドレスレジスタA0〜A3は、それぞれデータまたはア
ドレスを保持し、後述する演算器16の演算に用いられ
るようになっている。より具体的には、例えば、データ
レジスタD0〜D3は主として演算における作業用とし
て用いられる一方、アドレスレジスタA0〜A3は、そ
れぞれ、ソースオペランド用、ディスティネーションオ
ペランド用、フレームポインタ用、またはスタックポイ
ンタ用として用いられる。
【0016】各データレジスタD0〜D3、およびアド
レスレジスタA0〜A3は、命令コード中で、00〜1
1(2進数表記)のレジスタ指定コードによって指定さ
れるようになっている。また、上記状態レジスタPSW
は、より詳しくは例えば図3に示すように、デバッグモ
ードで動作中にプログラムのシングルステップ実行を指
定するトレースフラグTと、16レベルの割り込みマス
クを指定する割り込みマスクフラグIM3〜IM0と、
演算の結果を反映するオーバフローフラグV、キャリフ
ラグC、ネガティブフラグN、およびゼロフラグZから
成っている。
【0017】演算器16は、レジスタアレイ15から出
力されるデータやアドレス、命令バッファ11から出力
される即値、および図示しないメモリから読み出された
データ等が内部データバス17を介して入力され、命令
解読器14からの制御信号に従って算術演算や、論理演
算、転送等の所定の演算を行うものである。演算器16
の演算結果は、内部データバス17を介してレジスタア
レイ15やメモリに送られ、命令に応じた所定のレジス
タ等に保持されるようになっている。
【0018】なお、データ処理装置には、上記の他にも
図示しないデータ処理装置外部のデータバスに接続され
るデータバスインタフェイスや、アドレスバスに接続さ
れるアドレスバスインタフェイスなどが設けられている
が、本発明には直接関係しないので、その説明を省略す
る。次に、上記データ処理装置に適用される命令コード
の構造、およびオペレーションコードの割り当ての例を
図4および図5に基づいて説明する。ここで、命令体系
としては、装置の構成を簡素化し得るとともに処理の高
速化が容易なロードストアの命令体系、すなわち各レジ
スタとメモリとの間ではデータ転送だけが可能な命令体
系が適用される場合の例を示す。
【0019】図4は命令コードの構造の例を示すもの
で、(a)は、4ビットのオペレーションコードと、そ
れぞれ2ビットの2つのレジスタ指定コード(D.およ
びD.’、またはD.およびA.)とから成る構造を示
す。 (b)は、(a)と同様のオペレーションコードおよび
レジスタ指定コードに加えて、8ビットの即値(imm
8)、アドレスのディスプレースメント(d8)、また
は8ビットの絶対アドレス(abs8)から成る構造を
示す。
【0020】(c)は、6ビットのオペレーションコー
ドと、1つの2ビットのレジスタ指定コード(D.)か
ら成る構造を示す。 (d)は、8ビットのオペレーションコード、および8
ビット×1〜3の拡張命令や即値、アドレス指定のディ
スプレースメント等の付加部から成る構造を示す。
【0021】図5は命令コードの割り当ての例を示すも
ので、左から順に、命令コード、命令コードの構造(図
4に示した(a)〜(d)の何れであるか)、命令タイ
プ、および演算の内容が対応付けて表わされている。こ
こで図5において、「***」および「**」は、その
3ビットまたは2ビットの値に応じて、演算内容の欄に
示す何れかの演算が行われることを示すものである。
【0022】以下、各命令コードについて命令タイプご
とに説明する。命令タイプ[R−R]は、2つのデータ
レジスタ間の2項演算命令で、命令コード「0***
D.D.’」(ただし、D.≠D.’)で表わされ、3
ビットの「***」の値に応じて、(1)データレジス
タ指定コードD.’で示されるデータレジスタ(以下、
単にデータレジスタD.’等と称する。)から、データ
レジスタD.へのデータ転送、(2)両データレジスタ
に保持されているデータのキャリ無し加算、(3)同、
ボロー無し減算、(4)同、比較、(5)同、キャリ付
き加算、(6)同、ボロー付き減算、(7)同、論理
積、(8)同、論理和 の8種類の演算命令であることを示している。なお、上
記各演算についての演算結果は、データレジスタD.に
格納される。
【0023】命令タイプ[R−imm8]は、上記命令
タイプ[R−R]の命令とは、2つのレジスタ指定コー
ドが互いに等しい(D.=D.’)ことによって区別さ
れ、命令タイプ[R−R]と同様の2項演算が、データ
レジスタD.のデータと、命令コードの「0***D.
D.’」に続く8ビットの即値(imm8)とについて
行われることを示す。ここで、8ビットの即値が演算に
用いられる場合でも、演算器16には16ビットのデー
タが入力されるが、その上位8ビットは演算の種類に応
じて0拡張(例えば論理演算の場合)や、符号拡張(例
えば算術演算の場合)などが行われるようになってい
る。
【0024】命令タイプ[LD]、[ST]は、それぞ
れ、メモリからデータレジスタD.へのデータ転送命令
(load)、またはその逆のデータ転送命令(store )を
示し、メモリにおける転送元または転送先のアドレスは
4種類のアドレッシングモードで示されるようになって
いる。ここで、図5の演算内容の欄における記号「@」
は、これに続く値をアドレスとする領域がデータの転送
元または転送先であることを示し、また、記
号「(,)」は、「,」の両側の値の和を示す。
【0025】すなわち、各転送命令のアドレッシングモ
ードは、データの転送元または転送先が、(1)「@
A.」である場合には、アドレスレジスタ間接アドレッ
シング、(2)同、「@(A.,d8)」である場合に
は、命令コードの「1001D.A.」または「110
1D.A.」に続く8ビットのディスプレースメントd
8を用いる8ビットディスプレースメント付きアドレス
レジスタ間接アドレッシング、(3)同、「@(A.,
D0)」である場合には、アドレスレジスタA.(ただ
しA.≠11)とデータレジスタD0(D0に固定)と
を用いるインデックスアドレッシング、(4)同、「@
abs8」である場合には、命令コードに続く8ビット
の絶対アドレスabs8を用いる8ビット絶対アドレッ
シング、であることを表わしている。
【0026】なお、上記(3)のインデックスアドレッ
シングにおいては、アドレスレジスタをA0〜A2に限
定し、A3を除外しているが、これは、この種のアドレ
ッシングは一般にストリング列や配列などのデータを転
送する際に用いられ、そのようなデータは、通常、メモ
リのスタック領域を対象として転送されることが少な
く、それゆえ、前述のようにアドレスレジスタA3がス
タックポインタ用として用いられる場合に、これをイン
デックスアドレッシングに用いることは希であるからで
ある。
【0027】そして、上記(4)の8ビット絶対アドレ
ッシングでは、インデックスアドレッシングで除外され
たアドレスレジスタA3を示すレジスタ指定コードA.
=11をダミーとして用い、転送元または転送先のデー
タレジスタをD0に限定した命令コードを割り当ててい
る。ここで、8ビット絶対アドレッシングでデータ転送
が行われる場合、データ処理装置からは、16ビットの
アドレスのうちの上位8ビットとして、例えば「000
00000」など、あらかじめ設定された値が出力され
るようになっている。
【0028】命令タイプ[R]は、1つのデータレジス
タを対象とする単項演算命令で、命令コード「1011
**D.」、または「1111**D.」で表わされ、
2ビットの「**」の値に応じて、算術シフト命令
(右、左)、回転命令(右、左)、論理反転命令、値1
の加減算命令、またはプログラム割り込み命令の8種類
の演算命令であることを示している。
【0029】また、以上の説明で演算の割り当てられて
いない命令コードは、上位ビットが「1010」または
「1110」であるものが各3つずつあるが、これらの
命令コードは、アドレスレジスタA0〜A3へのアドレ
ス転送等、図示しない他の命令の割り当てや、16ビッ
ト以上の命令コードに拡張するためなどに用いられる。
すなわち、使用頻度が少なく、プログラムサイズに与え
る影響が小さい命令などは、このように拡張命令コード
として設定すればよい。なお、このような命令コードの
拡張については、本発明とは直接関係しないので詳細な
説明を省略する。
【0030】上記のように構成されたデータ処理装置に
最上位ビットが0である命令コード、例えば「0111
0001」が入力されると、レジスタ指定コード一致検
出部13は下位2ビットの値とこれよりも上位の2ビッ
トの値と、すなわち2つのレジスタ指定コードD.(=
00)と、D.’(=01)とを比較し、一致していな
いことを示す信号を命令解読器14に出力する。
【0031】そこで、命令解読器14はデータレジスタ
D0、D1に制御信号を出力し、これらのデータレジス
タD0、D1に保持されているデータを内部データバス
17を介して演算器16に出力させる。命令解読器14
は、また、命令コードの上位2ビットめから4ビットめ
の値「111」に基づいて論理和演算を行わせるための
制御信号を演算器16に出力し、演算器16はデータレ
ジスタD0、D1から出力されたデータの論理和演算を
行う。演算結果は内部データバス17を介してデータレ
ジスタD0に格納される。
【0032】一方、データ処理装置に「0111000
0」およびこれに続く8ビットの即値が入力されると、
レジスタ指定コード一致検出部13はD.=D.’=0
0であることを検出する。そこで、命令解読器14の制
御により、データレジスタD0に保持されているデー
タ、および命令バッファ11に蓄積されている8ビット
の即値が内部データバス17を介して演算器16に入力
され、論理和演算が行われて演算結果がデータレジスタ
D0に格納される。
【0033】すなわち、従来のデータ処理装置のよう
に、2つのレジスタ指定コードが互いに等しい場合でも
等しくない場合と同じ演算を行わせるとすると、例えば
データレジスタD0のデータどうしの論理和演算は実際
には何もしていないことになる。これに対し、本実施例
のデータ処理装置では、このような場合に異なる演算を
行わせるようにすることにより、図5に「***」で表
わされる3ビットのフィールドで16種類の命令を割り
当てることができ、したがって、基本命令語長が8ビッ
トであっても多くの種類の演算を実行させることが可能
になっている。なお、例えば、減算命令についてはレジ
スタ指定コードが等しい場合でも減算を実行させるよう
にしてレジスタのクリア命令として用いられるようにす
るなど、一部の命令については同じ演算を行わせるよう
にしてもよい。
【0034】また、上記の例ではレジスタアレイ15内
の8本のレジスタをデータレジスタD0〜D3とアドレ
スレジスタA0〜A3との、機能を特化した2組に分け
ることにより、2ビットのフィールドで1つのレジスタ
を指定することができる。それゆえ、8ビットの命令コ
ードにソースレジスタとディスティネーションレジスタ
との2つのレジスタ指定コードを含ませる場合でも、残
りの4ビットで演算の種類を指定できるので、一層、短
い基本命令語長で多くの種類の演算を実行させることが
できる。
【0035】このように、短い基本命令語長で多くの種
類の演算を実行させることができるので、頻繁に用いら
れる基本的な演算(上記の例では、8種類のデータレジ
スタ間演算、8種類のデータレジスタ、即値間演算、8
種類のデータレジスタ、メモリ間転送、および8種類
の、1つのデータレジスタに対する単一オペランド演
算)を短い命令語長の命令で実行させることができる。
【0036】したがって、上記のようなレジスタおよび
演算命令の構成によって、例えばC言語などの高級言語
による処理を効果的に実行させるための必要最小限の環
境を提供することができ、しかもプログラムサイズを小
さく抑え得るとともに処理速度の高速化を図ることがで
きる。なお、上記実施例においては、命令コードにおけ
る即値や絶対アドレスは8ビットで、命令に応じて16
ビットに拡張される例を示したが、これに限らず必要に
応じて16ビットの即値を用い得るようにしてもよい。
【0037】さらに、レジスタ構成や命令コードの構
造、演算の種類、オペレーションコードのビット割り当
て等は上記のものに限らず、データ処理装置の用途に応
じた種々の構成等においても本発明を適用することが可
能である。また、レジスタ指定コード一致検出部13を
設ける構成に限らず、例えば命令解読器14が、レジス
タ指定コードが一致する場合と一致しない場合とで異な
る命令として解読するように構成してもよい。
【0038】
【発明の効果】以上説明したように、本発明によれば、
2つのレジスタ指定コードが互いに異なる場合と同一で
ある場合とで、異なる処理を行わせる命令解読器を備え
ていることにより、同一のオペレーションコードに対し
て2通りの処理を行わせることができるので、短い命令
語長で多くの種類の演算を実行させることができ、した
がってプログラムサイズを小さく抑えることができると
いう効果を奏する。
【図面の簡単な説明】
【図1】データ処理装置の要部の構成を示すブロック図
である。
【図2】レジスタアレイの詳細な構成を示す説明図であ
る。
【図3】状態レジスタPSWの詳細な構成を示す説明図
である。
【図4】命令コードの構造の例を示す説明図である。
【図5】命令コードの割り当ての例を示す説明図であ
る。
【符号の説明】
11 命令バッファ 12 命令レジスタ 13 レジスタ指定コード一致検出部 14 命令解読器 15 レジスタアレイ 16 演算器 17 内部データバス

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 オペレーションコードと複数のレジスタ
    指定コードとで直交して指定されるインストラクション
    に基づいてデータ処理を行うように構成されたデータ処
    理装置であって、少なくとも1つのオペレーションについて、記レジスタ指定コードの特定の2つが互いに異なる場
    合には、直交したインストラクションに基づいた第一の
    処理を行わせ、 前記レジスタ指定コードの特定の2つが同一の場合に
    は、前記直交したインストラクションに基づいた処理を
    行わず、第二の 処理を行わせる命令解読器を備えたこと
    を特徴とするデータ処理装置。
  2. 【請求項2】 前記第二の処理は、前記オペレーション
    コードと前記レジスタ指定コードとに後続する第三のコ
    ードを用いて処理が行われることを特徴とする請求項1
    記載のデータ処理装置。
  3. 【請求項3】 前記第三のコードは、即値である ことを
    特徴とする請求項2記載のデータ処理装置。
  4. 【請求項4】 前記命令解読器は、前記レジスタ指定コ
    ードが互いに異なる場合と同一である場合とで、異なる
    命令として解読する ことを特徴とする請求項1から3の
    いずれか1項に記載のデータ処理装置。
  5. 【請求項5】 レジスタ間での特定の処理をオペレーシ
    ョンコードとレジスタ指定コードで指定したインストラ
    クションに基づいてデータ処理を行うよう構成されたデ
    ータ処理装置であって、 少なくとも1つのオペレーションについて、 前記レジスタ指定コードが互いに異なる場合には、前記
    特定の処理を行わせ、 前記レジスタ指定コードが同一の
    場合には、前記特定の処理を行わず他の処理を行わせる
    命令解読器を備えたことを特徴とするデータ処理装置。
JP3209112A 1991-08-21 1991-08-21 データ処理装置 Expired - Lifetime JP2970821B2 (ja)

Priority Applications (10)

Application Number Priority Date Filing Date Title
JP3209112A JP2970821B2 (ja) 1991-08-21 1991-08-21 データ処理装置
DE69231237T DE69231237T2 (de) 1991-08-21 1992-08-20 Datenverarbeitungsvorrichtung
EP99124426A EP0984358B1 (en) 1991-08-21 1992-08-20 Data processing apparatus
DE69233681T DE69233681T2 (de) 1991-08-21 1992-08-20 Datenverarbeitungsvorrichtung
DE69233561T DE69233561T2 (de) 1991-08-21 1992-08-20 Datenverarbeitungsvorrichtung
DE69233282T DE69233282T2 (de) 1991-08-21 1992-08-20 Datenverarbeitungsvorrichtung
EP02078385A EP1271305B1 (en) 1991-08-21 1992-08-20 Data processing apparatus
US07/932,652 US5440701A (en) 1991-08-21 1992-08-20 For shortening an instruction code length
EP99124499A EP0989485B1 (en) 1991-08-21 1992-08-20 Data processing apparatus
EP92307632A EP0528695B1 (en) 1991-08-21 1992-08-20 Data processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3209112A JP2970821B2 (ja) 1991-08-21 1991-08-21 データ処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP11147962A Division JP3123545B2 (ja) 1999-05-27 1999-05-27 データ処理装置

Publications (2)

Publication Number Publication Date
JPH0546383A JPH0546383A (ja) 1993-02-26
JP2970821B2 true JP2970821B2 (ja) 1999-11-02

Family

ID=16567489

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3209112A Expired - Lifetime JP2970821B2 (ja) 1991-08-21 1991-08-21 データ処理装置

Country Status (4)

Country Link
US (1) US5440701A (ja)
EP (4) EP0984358B1 (ja)
JP (1) JP2970821B2 (ja)
DE (4) DE69233282T2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0626641B1 (en) 1993-05-27 2003-04-09 Matsushita Electric Industrial Co., Ltd. Processor improved in address management
GB9412434D0 (en) * 1994-06-21 1994-08-10 Inmos Ltd Computer instruction compression
US5636352A (en) * 1994-12-16 1997-06-03 International Business Machines Corporation Method and apparatus for utilizing condensed instructions
US5966514A (en) 1995-05-31 1999-10-12 Matsushita Electric Industrial Co., Ltd. Microprocessor for supporting reduction of program codes in size
US6065108A (en) * 1996-01-24 2000-05-16 Sun Microsystems Inc Non-quick instruction accelerator including instruction identifier and data set storage and method of implementing same
US5867681A (en) * 1996-05-23 1999-02-02 Lsi Logic Corporation Microprocessor having register dependent immediate decompression
US6012138A (en) * 1997-12-19 2000-01-04 Lsi Logic Corporation Dynamically variable length CPU pipeline for efficiently executing two instruction sets
EP0942357A3 (en) 1998-03-11 2000-03-22 Matsushita Electric Industrial Co., Ltd. Data processor compatible with a plurality of instruction formats
DE69933323T2 (de) 1998-04-01 2007-01-11 Matsushita Electric Industrial Co., Ltd., Kadoma Kompiler
US6351806B1 (en) 1999-10-06 2002-02-26 Cradle Technologies Risc processor using register codes for expanded instruction set
WO2001025941A1 (en) 1999-10-06 2001-04-12 Cradle Technologies Multiprocessor computer systems with command fifo buffer at each target device
KR20010091132A (ko) * 2000-03-13 2001-10-23 구자홍 마이크로 프로세서의 데이터 연산 처리기
US6633969B1 (en) 2000-08-11 2003-10-14 Lsi Logic Corporation Instruction translation system and method achieving single-cycle translation of variable-length MIPS16 instructions
CN101685388B (zh) * 2008-09-28 2013-08-07 北京大学深圳研究生院 执行比较运算的方法和装置
CN102043750B (zh) * 2010-12-13 2013-05-01 青岛海信信芯科技有限公司 一种微处理器总线结构及微处理器
GB2522990B (en) 2013-12-20 2016-08-03 Imagination Tech Ltd Processor with virtualized instruction set architecture and methods

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5317240A (en) * 1976-07-31 1978-02-17 Toshiba Corp Controller
US4236206A (en) * 1978-10-25 1980-11-25 Digital Equipment Corporation Central processor unit for executing instructions of variable length
US4347566A (en) * 1978-12-11 1982-08-31 Tokyo Shibaura Denki Kabushiki Kaisha Data processor with register file and arithmetic logic circuit on one chip and register means directly connected to the chip
US4250545A (en) * 1978-12-29 1981-02-10 Bell Telephone Laboratories, Incorporated Data processing apparatus providing autoloading of memory pointer registers
JPS55162167A (en) * 1979-06-05 1980-12-17 Canon Inc Electronic program computer
CA1174370A (en) * 1980-05-19 1984-09-11 Hidekazu Matsumoto Data processing unit with pipelined operands
US4530050A (en) * 1981-08-26 1985-07-16 Hitachi, Ltd. Central processing unit for executing instructions of variable length having end information for operand specifiers
US4481571A (en) * 1981-09-11 1984-11-06 Data General Corp. Digital data processing system with accumulation instructions
JPS6140650A (ja) * 1984-08-02 1986-02-26 Nec Corp マイクロコンピユ−タ
DE3532481A1 (de) * 1985-09-12 1987-03-19 Philips Patentverwaltung Datenverarbeitungsanordnung
US4890218A (en) * 1986-07-02 1989-12-26 Raytheon Company Variable length instruction decoding apparatus having cross coupled first and second microengines
US5129087A (en) * 1988-02-03 1992-07-07 International Business Machines, Corp. Computer system and a method of monitoring transient data structures in a computer system
US5148528A (en) * 1989-02-03 1992-09-15 Digital Equipment Corporation Method and apparatus for simultaneously decoding three operands in a variable length instruction when one of the operands is also of variable length

Also Published As

Publication number Publication date
EP0528695B1 (en) 2000-07-12
DE69233681T2 (de) 2007-10-25
DE69233561D1 (de) 2005-12-08
EP1271305B1 (en) 2005-11-02
DE69233681D1 (de) 2007-03-29
EP0989485A2 (en) 2000-03-29
EP1271305A1 (en) 2003-01-02
EP0984358A3 (en) 2000-12-06
EP0528695A3 (en) 1994-08-24
JPH0546383A (ja) 1993-02-26
DE69233561T2 (de) 2006-07-27
DE69231237T2 (de) 2000-11-30
DE69233282T2 (de) 2004-09-30
DE69231237D1 (de) 2000-08-17
EP0989485B1 (en) 2004-01-02
EP0984358A2 (en) 2000-03-08
US5440701A (en) 1995-08-08
DE69233282D1 (de) 2004-02-05
EP0528695A2 (en) 1993-02-24
EP0989485A3 (en) 2000-08-23
EP0984358B1 (en) 2007-02-14

Similar Documents

Publication Publication Date Title
JP2970821B2 (ja) データ処理装置
US4825355A (en) Instruction format for program control type data processing systems
US5249280A (en) Microcomputer having a memory bank switching apparatus for accessing a selected memory bank in an external memory
US7546442B1 (en) Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions
JP2581236B2 (ja) データ処理装置
JPS62197830A (ja) デ−タ処理システム
JPH06332695A (ja) データ処理装置及びその制御回路
JP2773471B2 (ja) 情報処理装置
EP2215544B1 (en) Enhanced microprocessor or microcontroller
US5077659A (en) Data processor employing the same microprograms for data having different bit lengths
JP2551167B2 (ja) マイクロコンピュータ
JP3575496B2 (ja) メモリアドレス指定論理回路およびメモリアドレス指定方法
JP3123545B2 (ja) データ処理装置
JP2832900B2 (ja) データ処理装置およびデータ処理方法
JPS6230455B2 (ja)
JP2743947B2 (ja) マイクロプログラム制御方式
JP3199604B2 (ja) プロセッサ
JP2942449B2 (ja) データ処理装置
JPH0354632A (ja) 演算命令処理装置
JPH0535499A (ja) データ処理装置及びデータ処理方法
JPH05250156A (ja) Riscプロセッサ
JPH05100818A (ja) バレルシフタ
JPH03204029A (ja) 情報処理装置
JPS6380333A (ja) マイクロコンピユ−タ回路
JPH02138623A (ja) ポインタレジスタを備えたマイクロプログラム制御方式のマイクロプロセッサ

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070827

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20080827

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20080827

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090827

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090827

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100827

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110827

Year of fee payment: 12

EXPY Cancellation because of completion of term