JPH0827716B2 - データ処理装置及びデータ処理方法 - Google Patents
データ処理装置及びデータ処理方法Info
- Publication number
- JPH0827716B2 JPH0827716B2 JP60237359A JP23735985A JPH0827716B2 JP H0827716 B2 JPH0827716 B2 JP H0827716B2 JP 60237359 A JP60237359 A JP 60237359A JP 23735985 A JP23735985 A JP 23735985A JP H0827716 B2 JPH0827716 B2 JP H0827716B2
- Authority
- JP
- Japan
- Prior art keywords
- operand
- instruction
- bit length
- information
- specifying
- 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 - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30192—Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】 [技術分野] この発明は、データ処理システムに関し、特に、プロ
グラム制御方式による命令の処理を行うデータ処理シス
テムの命令形式に適用して有効な技術に関し、例えば、
命令実行に際して2つのオペランドを用いる命令の長さ
を短縮し、メモリの使用効率を向上させ、命令の実行速
度を向上させる技術に関するものである。
グラム制御方式による命令の処理を行うデータ処理シス
テムの命令形式に適用して有効な技術に関し、例えば、
命令実行に際して2つのオペランドを用いる命令の長さ
を短縮し、メモリの使用効率を向上させ、命令の実行速
度を向上させる技術に関するものである。
[背景技術] 従来、[株]日立製作所製HD68000のようなマイクロ
プロセッサにおけるマクロ命令のセットは、(1)ノー
オペランド命令(オペランドを不要とする命令)、
(2)1オペランド命令、(3)2オペランド命令の3
種類の命令形式に大別される。
プロセッサにおけるマクロ命令のセットは、(1)ノー
オペランド命令(オペランドを不要とする命令)、
(2)1オペランド命令、(3)2オペランド命令の3
種類の命令形式に大別される。
第2図には、HD68000における命令形式のうち2オペ
ランド命令(例えばニーモニック記号ADD Do,xで示され
るようなソース側とデスティネーション側の2つのオペ
ランドを有する命令)のフォーマットが示されている。
ランド命令(例えばニーモニック記号ADD Do,xで示され
るようなソース側とデスティネーション側の2つのオペ
ランドを有する命令)のフォーマットが示されている。
すなわち、2オペランド命令は、オペレーションコー
ド指定フィールドOPと、オペランドのサイズ(8ビッ
ト,16ビット,32ビットのようなビット長)を指定するサ
イズ指定フィールドSzおよびソース側とデスティネーシ
ョン側の2つオペランドの位置を示すレジスタ指定フィ
ールドDmと実効アドレス指定フィールドEA2とにより、
構成されていた。([株]日立製作所、1982年9月発
行、「日立マイクロコンピュータ、SEMICONDUCTER DATA
BOOK、8/16ビットマイクロコンピュータ」第945頁〜95
2頁参照)。このように、従来の68000系マイクロプロセ
ッサの2オペランド命令は、一つのサイズ指定フィール
ドSzしか有していない。この場合、例えばADD Do,xのよ
うな命令は、xおよびDoで示されるオペランドが同じビ
ット長でなければ実行することができない。そのため、
例えばxのオペランドを8ビット長、Doのオペランドを
32ビット長としてADD演算を実行するには、前もってx
のオペランドを8ビット長から32ビット長に変更(8ビ
ットのオペランドの頭に3バイト分の“0"ビットを付
加)してから、ADD演算を実行する必要があった。
ド指定フィールドOPと、オペランドのサイズ(8ビッ
ト,16ビット,32ビットのようなビット長)を指定するサ
イズ指定フィールドSzおよびソース側とデスティネーシ
ョン側の2つオペランドの位置を示すレジスタ指定フィ
ールドDmと実効アドレス指定フィールドEA2とにより、
構成されていた。([株]日立製作所、1982年9月発
行、「日立マイクロコンピュータ、SEMICONDUCTER DATA
BOOK、8/16ビットマイクロコンピュータ」第945頁〜95
2頁参照)。このように、従来の68000系マイクロプロセ
ッサの2オペランド命令は、一つのサイズ指定フィール
ドSzしか有していない。この場合、例えばADD Do,xのよ
うな命令は、xおよびDoで示されるオペランドが同じビ
ット長でなければ実行することができない。そのため、
例えばxのオペランドを8ビット長、Doのオペランドを
32ビット長としてADD演算を実行するには、前もってx
のオペランドを8ビット長から32ビット長に変更(8ビ
ットのオペランドの頭に3バイト分の“0"ビットを付
加)してから、ADD演算を実行する必要があった。
このため、演算ステップの前にオペランド長を整合さ
せるステップを必要とし、マクロプログラムのステップ
が長くなると共に、本来1バイトで済むオペランド(8
ビット長の場合)を入れておくのに、オペランド長を整
合させるために2ワード分のオペランドを格納するメモ
リ領域が必要となる。従って、プログラムの実行速度が
命令の形式によっては遅くなり、更にメモリの使用効率
も低下するという不都合がある。
せるステップを必要とし、マクロプログラムのステップ
が長くなると共に、本来1バイトで済むオペランド(8
ビット長の場合)を入れておくのに、オペランド長を整
合させるために2ワード分のオペランドを格納するメモ
リ領域が必要となる。従って、プログラムの実行速度が
命令の形式によっては遅くなり、更にメモリの使用効率
も低下するという不都合がある。
[発明の目的] この発明の目的は、プログラム制御方式のデータ処理
システムにおけるプログラムの実行速度を向上させる命
令形式で命令を実行するデータ処理システムを提供する
ことにある。
システムにおけるプログラムの実行速度を向上させる命
令形式で命令を実行するデータ処理システムを提供する
ことにある。
この発明の他の目的は、プログラム制御方式のデータ
処理システムにおいて、命令およびオペランドの長さを
短縮し、メモリの使用効率を向上させる命令令形式を与
えるデータ処理システムを提供することにある。
処理システムにおいて、命令およびオペランドの長さを
短縮し、メモリの使用効率を向上させる命令令形式を与
えるデータ処理システムを提供することにある。
この発明の前記ならびにそのほかの目的と新規な特徴
については、本明細書の記述および添附図面から明らか
になるであろう。
については、本明細書の記述および添附図面から明らか
になるであろう。
[発明の概要] 本願において開示される発明のうち代表的なものの概
要を説明すれば、下記のとおりである。
要を説明すれば、下記のとおりである。
すなわち、2つのオペランドを有する命令において、
オペレーションワード内にソースオペランドのサイズを
指定するフィールドとともに、オペレーションのサイズ
を指定するフィールドを設け、それらのサイズ情報に基
づいてハードウェアでオペランドのビット長の変更を行
なうようにする。これによって、2つのオペランドをそ
れぞれ本来の形(ビット長)でメモリやレジスタに入れ
ておけるようにし、かつマクロ命令でオペランドの長さ
を変更する必要がないようにして、プログラムの実行速
度を向上させるとともに、メモリの使用効率を向上させ
るという上記目的を達成するものである。
オペレーションワード内にソースオペランドのサイズを
指定するフィールドとともに、オペレーションのサイズ
を指定するフィールドを設け、それらのサイズ情報に基
づいてハードウェアでオペランドのビット長の変更を行
なうようにする。これによって、2つのオペランドをそ
れぞれ本来の形(ビット長)でメモリやレジスタに入れ
ておけるようにし、かつマクロ命令でオペランドの長さ
を変更する必要がないようにして、プログラムの実行速
度を向上させるとともに、メモリの使用効率を向上させ
るという上記目的を達成するものである。
[実施例] 第1図には、本発明により提案された新しい2オペラ
ンド命令のフォーマットの一例が示されている。
ンド命令のフォーマットの一例が示されている。
すなわち、同図(A)に示されているように、オペレ
ーションコード指定フィールドOPに続いてオペレーショ
ンのサイズすなわち演算等の命令を実行する際のビット
長を指定するオペレーションサイズ指定フィールドSz1
が設けられている。このオペレーションサイズ指定フィ
ールドSz1に続いてデスティネーションオペランドの位
置を示す実効アドレスフィールドEAdが設けられてい
る。さらに、この実効アドレス指定フィールドEAdに続
いてソースオペランドのビット長を指定するソースサイ
ズ指定フィールドSz2が、また、これに続いてソースオ
ペランドの位置を示す実効アドレス指定フィールドEAs
が設けられている。
ーションコード指定フィールドOPに続いてオペレーショ
ンのサイズすなわち演算等の命令を実行する際のビット
長を指定するオペレーションサイズ指定フィールドSz1
が設けられている。このオペレーションサイズ指定フィ
ールドSz1に続いてデスティネーションオペランドの位
置を示す実効アドレスフィールドEAdが設けられてい
る。さらに、この実効アドレス指定フィールドEAdに続
いてソースオペランドのビット長を指定するソースサイ
ズ指定フィールドSz2が、また、これに続いてソースオ
ペランドの位置を示す実効アドレス指定フィールドEAs
が設けられている。
上記各実効アドレス指定フィールドEAdとEAsは、例え
ば3ビットのアドレシングモード指定ビットと、4ビッ
トのレジスタ指定ビットとにより構成される。
ば3ビットのアドレシングモード指定ビットと、4ビッ
トのレジスタ指定ビットとにより構成される。
上記命令フォーマットにおいて、サイズ指定フィール
ドSz1が、デスティネーションオペランドのサイズを指
定する構成でなく、オペレーションのサイズすなわち演
算されるデータの長さを指定する構成にされるのは、次
の理由による。すなわち、ALU等においてビット長の異
なるデータ同士を足したり引いたりすることができない
ため、オペレーション実行の際に、演算されるデータの
長さで問題となるからである。通常オペレーションサイ
ズはデスティネーションオペランドのサイズと同じであ
る。従ってオペレーションのサイズを指定すればALU等
における演算が何ら支承なく実行される。Sz1の他にデ
スティネーションオペランドのサイズを指定するフィー
ルドを設けてやれば演算処理後にデータの一部のみを格
納するようなこともできるようになる。
ドSz1が、デスティネーションオペランドのサイズを指
定する構成でなく、オペレーションのサイズすなわち演
算されるデータの長さを指定する構成にされるのは、次
の理由による。すなわち、ALU等においてビット長の異
なるデータ同士を足したり引いたりすることができない
ため、オペレーション実行の際に、演算されるデータの
長さで問題となるからである。通常オペレーションサイ
ズはデスティネーションオペランドのサイズと同じであ
る。従ってオペレーションのサイズを指定すればALU等
における演算が何ら支承なく実行される。Sz1の他にデ
スティネーションオペランドのサイズを指定するフィー
ルドを設けてやれば演算処理後にデータの一部のみを格
納するようなこともできるようになる。
なお、16ビットマイクロプロセッサでは、オペレーシ
ョンサイズやソースオペランドのサイズがバイト長(8
ビット)であるのか、ワード長(16ビット)あるいはロ
ングワード長(32ビット)であるのか区別できればよい
ので、第1図における各サイズ指定フィールドSz1とSz2
は、それぞれ2ビットで構成すればよい。
ョンサイズやソースオペランドのサイズがバイト長(8
ビット)であるのか、ワード長(16ビット)あるいはロ
ングワード長(32ビット)であるのか区別できればよい
ので、第1図における各サイズ指定フィールドSz1とSz2
は、それぞれ2ビットで構成すればよい。
本発明に係る2オペランド命令のフィールドは、第1
図(A)に示すようなものに限定されず、各フィールド
の配列は任意の構成をとることができる。例えば、第1
図(B)に示すごとく、オペレーションサイズ指定フィ
ールドSz1の後にソースオペランドの実効アドレス指定
フィールドEAs、デスティネーションオペランドの実効
アドレス指定フィールドEAdを設けたような配列にする
ことができる。
図(A)に示すようなものに限定されず、各フィールド
の配列は任意の構成をとることができる。例えば、第1
図(B)に示すごとく、オペレーションサイズ指定フィ
ールドSz1の後にソースオペランドの実効アドレス指定
フィールドEAs、デスティネーションオペランドの実効
アドレス指定フィールドEAdを設けたような配列にする
ことができる。
さらに、アドレッシングモードによっては、実効アド
レス指定フィールドEAd,EAsに拡張フィールドを付加し
てやる必要がある場合がある。その場合の2オペランド
命令のフォーマットは第1図(C)のようにされる。同
図の各拡張フィールド(拡張部)には、アドレッシング
モードに応じて、例えば1〜4バイトのディスプレース
メントd(オフセット値)、1〜4バイトのイミーディ
エイトデータ#、1〜4バイトの絶対アドレス@あるい
はインデックスレジスタ指定バイトxが入る。
レス指定フィールドEAd,EAsに拡張フィールドを付加し
てやる必要がある場合がある。その場合の2オペランド
命令のフォーマットは第1図(C)のようにされる。同
図の各拡張フィールド(拡張部)には、アドレッシング
モードに応じて、例えば1〜4バイトのディスプレース
メントd(オフセット値)、1〜4バイトのイミーディ
エイトデータ#、1〜4バイトの絶対アドレス@あるい
はインデックスレジスタ指定バイトxが入る。
次に、上記のようなフォーマットにされた2オペラン
ド命令の実行を可能にするマイクロプロセッサのハード
ウェア構成の一例を第3図を用いて説明する。
ド命令の実行を可能にするマイクロプロセッサのハード
ウェア構成の一例を第3図を用いて説明する。
この実施例のマイクロプロセッサは、マイクロプログ
ラム制御方式の制御部を備えている。すなわち、マイク
ロプロセッサを構成するLSIチップ1内には、マイクロ
プログラムが格納されたマイクロROM(リード・オンリ
・メモリ)2が設けられている。マイクロROM2は、マイ
クロアドレスデコーダ5によってアクセスされ、マイク
ロプログラムを構成するマイクロ命令を順次出力する。
ラム制御方式の制御部を備えている。すなわち、マイク
ロプロセッサを構成するLSIチップ1内には、マイクロ
プログラムが格納されたマイクロROM(リード・オンリ
・メモリ)2が設けられている。マイクロROM2は、マイ
クロアドレスデコーダ5によってアクセスされ、マイク
ロプログラムを構成するマイクロ命令を順次出力する。
マイクロアドレス発生回路4は、命令レジスタ3にフ
ェッチされたマクロ命令のオペレーションコードに基づ
いてマイクロアドレスデコーダ5に供給されるべきアド
レスを発生する。マイクロアドレスデコーダ5は、これ
をデコードする。これに応じて、マイクロROM2からその
マクロ命令を実行する一連のマイクロ命令群の最初の命
令が読み出される。このマイクロ命令コードによって、
各種テンポラリレジスタREG1〜REGn,データバッファDB,
演算論理ユニットALU等からなる実行ユニット6等に対
する制御信号が形成される。
ェッチされたマクロ命令のオペレーションコードに基づ
いてマイクロアドレスデコーダ5に供給されるべきアド
レスを発生する。マイクロアドレスデコーダ5は、これ
をデコードする。これに応じて、マイクロROM2からその
マクロ命令を実行する一連のマイクロ命令群の最初の命
令が読み出される。このマイクロ命令コードによって、
各種テンポラリレジスタREG1〜REGn,データバッファDB,
演算論理ユニットALU等からなる実行ユニット6等に対
する制御信号が形成される。
マクロ命令に対応する一連のマイクロ命令群のうち2
番目以降のマイクロ命令は、直前に読み出されたマイク
ロ命令のネクストアドレスフィールドのコードがマイク
ロアドレスデコーダ5に供給されること等により実行さ
れる。すなわち、前のマイクロ命令内のネクストアドレ
スとマイクロアドレス発生回路4からのアドレスとに基
づいて2番目以降のマイクロ命令が読み出される。この
ようにして、一連のマイクロ命令が読み出されて形成さ
れた制御信号によって実行ユニット6が制御され、ADD
で示されるようなマクロ命令が実行される。
番目以降のマイクロ命令は、直前に読み出されたマイク
ロ命令のネクストアドレスフィールドのコードがマイク
ロアドレスデコーダ5に供給されること等により実行さ
れる。すなわち、前のマイクロ命令内のネクストアドレ
スとマイクロアドレス発生回路4からのアドレスとに基
づいて2番目以降のマイクロ命令が読み出される。この
ようにして、一連のマイクロ命令が読み出されて形成さ
れた制御信号によって実行ユニット6が制御され、ADD
で示されるようなマクロ命令が実行される。
この実施例では、特に制限されないが、外部のメモリ
や内部のレジスタ等から必要に応じてバイト単位あるい
はワード単位、ロングワード単位でデータを読み出した
り書き込んだりする機能を有するメモリアクセス制御回
路7が設けられている。
や内部のレジスタ等から必要に応じてバイト単位あるい
はワード単位、ロングワード単位でデータを読み出した
り書き込んだりする機能を有するメモリアクセス制御回
路7が設けられている。
また、上記命令レジスタ3は特に制限されないがFIFO
(ファーストイン・ファーストアウト)メモリからな
る。外部のメモリに格納されたマクロ命令は、上記メモ
リアクセス制御回路7がアドレスバス8をアクセスする
ことによってバイト単位で読み出され、データバス9を
介してFIFO(命令レジスタ3)に供給される。このよう
にして、前もって複数のオペレーションコードやオペラ
ンドが、FIFO(命令レジスタ3)に取り込まれるように
なっている。
(ファーストイン・ファーストアウト)メモリからな
る。外部のメモリに格納されたマクロ命令は、上記メモ
リアクセス制御回路7がアドレスバス8をアクセスする
ことによってバイト単位で読み出され、データバス9を
介してFIFO(命令レジスタ3)に供給される。このよう
にして、前もって複数のオペレーションコードやオペラ
ンドが、FIFO(命令レジスタ3)に取り込まれるように
なっている。
FIFO(命令レジスタ3)に取り込まれたマクロ命令
が、第1図に示すような2オペランド命令であった場
合、OPコード(オペレーションコード)とともに最初の
8バイトに含まれているオペレーションサイズ指定フィ
ールドSz1内のコーに応じて、対応するマイクロ命令が
読み出される。そのマイクロ命令によって、第3図のフ
ラグメモリSz1のフラグFLGが適当な値にセットされる。
実行ユニット6内のALUは、このフラグFLGの状態に応じ
て8ビット、16ビットまたは32ビットのいずれの演算を
行うか指示される。続いてFIFO(命令レジスタ3)内か
らソースオペランドの実行アドレスEAsおよびソースオ
ペランドのサイズを示すコード(Sz2)がマイクロアド
レス発生回路4に供給されると、対応するマイクロ命令
がマイクロROM2から読み出され、その一部がメモリアク
セス制御回路7に供給される。これによって、メモリア
クセス制御回路7は実行アドレスEAsの示すアドレスか
ら、オペランドサイズSz2に応じてバイト単位またはワ
ードもしくはロングワード単位でソースオペランドを読
み出す。読み出されたソースオペランドは、一旦データ
バッファDBに取り込まれて、適当な回路によって先に指
定されたオペレーションサイズ(Sz1)に変更されてALU
に供給される。なお、(EAs)(EAd)→(EAd)のよ
うな命令の場合、ソースオペランドに続いてデスティネ
ーションオペランドの実効アドレスEAdを示すコードが
マイクロアドレス発生回路4に供給され、対応するマイ
クロ命令が読み出される。すると、メモリアクセス制御
回路7は、フラグFLGに保持されているサイズ情報に従
って、実効アドレスEAdの示す位置から、オペレーショ
ンサイズと同じサイズでオペランドを読み出してALUに
供給する。そして、ALUによる演算終了後、その演算デ
ータがデスティネーションオペランドの位置に格納され
て、マクロ命令の実行が終了する。
が、第1図に示すような2オペランド命令であった場
合、OPコード(オペレーションコード)とともに最初の
8バイトに含まれているオペレーションサイズ指定フィ
ールドSz1内のコーに応じて、対応するマイクロ命令が
読み出される。そのマイクロ命令によって、第3図のフ
ラグメモリSz1のフラグFLGが適当な値にセットされる。
実行ユニット6内のALUは、このフラグFLGの状態に応じ
て8ビット、16ビットまたは32ビットのいずれの演算を
行うか指示される。続いてFIFO(命令レジスタ3)内か
らソースオペランドの実行アドレスEAsおよびソースオ
ペランドのサイズを示すコード(Sz2)がマイクロアド
レス発生回路4に供給されると、対応するマイクロ命令
がマイクロROM2から読み出され、その一部がメモリアク
セス制御回路7に供給される。これによって、メモリア
クセス制御回路7は実行アドレスEAsの示すアドレスか
ら、オペランドサイズSz2に応じてバイト単位またはワ
ードもしくはロングワード単位でソースオペランドを読
み出す。読み出されたソースオペランドは、一旦データ
バッファDBに取り込まれて、適当な回路によって先に指
定されたオペレーションサイズ(Sz1)に変更されてALU
に供給される。なお、(EAs)(EAd)→(EAd)のよ
うな命令の場合、ソースオペランドに続いてデスティネ
ーションオペランドの実効アドレスEAdを示すコードが
マイクロアドレス発生回路4に供給され、対応するマイ
クロ命令が読み出される。すると、メモリアクセス制御
回路7は、フラグFLGに保持されているサイズ情報に従
って、実効アドレスEAdの示す位置から、オペレーショ
ンサイズと同じサイズでオペランドを読み出してALUに
供給する。そして、ALUによる演算終了後、その演算デ
ータがデスティネーションオペランドの位置に格納され
て、マクロ命令の実行が終了する。
次に、本発明に係る命令フォーマットに従って構成さ
れた2オペランド命令を実行可能にするハードウェアの
他の例を第4図を用いて説明する。この実施例のマイク
ロプロセッサの基本な構成は、第3図に示すものと略同
様であるので、同一機能を有する回路には同一符号を付
して重複した説明は省略する。
れた2オペランド命令を実行可能にするハードウェアの
他の例を第4図を用いて説明する。この実施例のマイク
ロプロセッサの基本な構成は、第3図に示すものと略同
様であるので、同一機能を有する回路には同一符号を付
して重複した説明は省略する。
第3図のマイクロプロセッサでは、オペランドのサイ
ズ指定フィールドSz1,Sz2のコードを、マイクロアドレ
ス発生回路4に供給してマイクロROM2のマイクロアドレ
スを発生するのに使用し、これに基づいて読み出される
マイクロ命令そのものを変えるとともに、マイクロ命令
によってオペレーションサイズ(Sz1)に関する情報
を、フラグFLGに与えている。
ズ指定フィールドSz1,Sz2のコードを、マイクロアドレ
ス発生回路4に供給してマイクロROM2のマイクロアドレ
スを発生するのに使用し、これに基づいて読み出される
マイクロ命令そのものを変えるとともに、マイクロ命令
によってオペレーションサイズ(Sz1)に関する情報
を、フラグFLGに与えている。
これに対し、第4図に示すマイクロプロセッサでは、
FIFO(命令レジスタ3)に取り込まれたマクロ命令内の
サイズ指定フィールドSz1とSz2内のコードを直接取り出
して保持する2つのフラグFLG1とFLG2が設けられてい
る。そして、実行ユニット6内のALU等はフラグFLG1に
保持されているオペレーションサイズ(Sz1)に関する
情報に従ってバイト単位またはワード単位もしくはロン
グワード単位の演算を行うように制御される。
FIFO(命令レジスタ3)に取り込まれたマクロ命令内の
サイズ指定フィールドSz1とSz2内のコードを直接取り出
して保持する2つのフラグFLG1とFLG2が設けられてい
る。そして、実行ユニット6内のALU等はフラグFLG1に
保持されているオペレーションサイズ(Sz1)に関する
情報に従ってバイト単位またはワード単位もしくはロン
グワード単位の演算を行うように制御される。
一方、メモリアクセス制御回路7は、第2のフラグFL
G2内に保持されているソースオペランドのサイズに関す
る情報に基づいて、バイト単位またはワード単位もしく
はロングワード単位で外部メモリもしくは内部のレジス
タ等からオペランドを読み出して来てデータバッファDB
にラッチする。そして、データバッファDBにラッチされ
たオペランドは、第1のフラグFLG1の示すオペレーショ
ンサイズに対応して変更され、ALU等に供給される。以
後の動作は、第3図のマイクロプロセッサと同じであ
る。
G2内に保持されているソースオペランドのサイズに関す
る情報に基づいて、バイト単位またはワード単位もしく
はロングワード単位で外部メモリもしくは内部のレジス
タ等からオペランドを読み出して来てデータバッファDB
にラッチする。そして、データバッファDBにラッチされ
たオペランドは、第1のフラグFLG1の示すオペレーショ
ンサイズに対応して変更され、ALU等に供給される。以
後の動作は、第3図のマイクロプロセッサと同じであ
る。
なお、第4図に示すような構成のマイクロプロセッサ
は、第3図のものに比べて2ビットのフラグが一つ余計
に必要ではあるが、オペランドサイズの情報を直接フラ
グに取り込んでいるので、マイクロプログラムが簡単に
なるという利点がある。
は、第3図のものに比べて2ビットのフラグが一つ余計
に必要ではあるが、オペランドサイズの情報を直接フラ
グに取り込んでいるので、マイクロプログラムが簡単に
なるという利点がある。
以上説明したように、2オペランド命令を実施例のよ
うに、ソースオペランドのサイズを指定するフィールド
の他にオペレーションサイズを指定するフィールドを持
つフォーマット構成にしたことにより、従来のフォーマ
ットの2オペランド命令のように、ソースオペランドの
ビット長を予めデスティネーションオペランドと同じビ
ット長に変更しておく必要がない。つまり、8ビットも
しくは16ビット長のオペランドはそのままの形でメモリ
等に入れておいて、これを読み出すことができる。そし
て、読み出されたオペランドは、実行ユニット内で自動
的に所望のビット長に変更され、演算される。
うに、ソースオペランドのサイズを指定するフィールド
の他にオペレーションサイズを指定するフィールドを持
つフォーマット構成にしたことにより、従来のフォーマ
ットの2オペランド命令のように、ソースオペランドの
ビット長を予めデスティネーションオペランドと同じビ
ット長に変更しておく必要がない。つまり、8ビットも
しくは16ビット長のオペランドはそのままの形でメモリ
等に入れておいて、これを読み出すことができる。そし
て、読み出されたオペランドは、実行ユニット内で自動
的に所望のビット長に変更され、演算される。
そのため、オペランドの長さを変更するマクロ命令が
不要になり、その命令を実行しない分だけプログラム実
行速度が速くなる。また、オペランドの長さを変更する
マクロ命令が不要である分だけ、プログラムを格納する
メモリ容量が少なくなり、更に、短いオペランドはその
ままの状態でメモリに入れておくことができるため、メ
モリの使用効率も高くなる。
不要になり、その命令を実行しない分だけプログラム実
行速度が速くなる。また、オペランドの長さを変更する
マクロ命令が不要である分だけ、プログラムを格納する
メモリ容量が少なくなり、更に、短いオペランドはその
ままの状態でメモリに入れておくことができるため、メ
モリの使用効率も高くなる。
なお、上記実施例では、(EAs)(EAd)→(EAd)
のような2オペランド命令を実行した場合について説明
したが、同様にして(EAs1)(EAs2)→(EAd)のよ
うな2つのソースオペランドと一つのデスティネーショ
ンオペランドを有する命令を実行することも可能であ
る。
のような2オペランド命令を実行した場合について説明
したが、同様にして(EAs1)(EAs2)→(EAd)のよ
うな2つのソースオペランドと一つのデスティネーショ
ンオペランドを有する命令を実行することも可能であ
る。
[効果] 2つのオペランドを有する命令において、オペレーシ
ョンワード内にソースオペランドのサイズを指定するフ
ィールドとともに、オペレーションのサイズを指定する
フィールドを設け、それらのサイズ情報に基づいてオペ
ランドのビット長の変更を行うようにしたので、2つの
オペランドをそれぞれ本来の形でメモリやレジスタに入
れておくことができるとともに、マクロ命令でオペラン
ドの長さを変更する必要がないため、プログラムの実行
速度が向上されるとともにメモリの使用効率が向上され
るという効果がある。
ョンワード内にソースオペランドのサイズを指定するフ
ィールドとともに、オペレーションのサイズを指定する
フィールドを設け、それらのサイズ情報に基づいてオペ
ランドのビット長の変更を行うようにしたので、2つの
オペランドをそれぞれ本来の形でメモリやレジスタに入
れておくことができるとともに、マクロ命令でオペラン
ドの長さを変更する必要がないため、プログラムの実行
速度が向上されるとともにメモリの使用効率が向上され
るという効果がある。
以上本発明者によってなされた発明を実施例に基づき
具体的に説明したが、本発明は上記実施例に限定される
ものではなく、その要旨を逸脱しない範囲で種々変更可
能であることはいうまでもない。例えば、上記実施例で
は、2オペランド命令にソースオペランドのサイズ指定
フィールドとともに、オペレーションサイズ指定フィー
ルドを設けるようにしているが、デスティネーションオ
ペランドのサイズがオペレーションサイズに常に一致す
るようなデータ処理システムでは、オペレーションサイ
ズ指定フィールドの代わりにデスティネーションオペラ
ンドのサイズ指定フィールドを設けるようにしてもよ
い。
具体的に説明したが、本発明は上記実施例に限定される
ものではなく、その要旨を逸脱しない範囲で種々変更可
能であることはいうまでもない。例えば、上記実施例で
は、2オペランド命令にソースオペランドのサイズ指定
フィールドとともに、オペレーションサイズ指定フィー
ルドを設けるようにしているが、デスティネーションオ
ペランドのサイズがオペレーションサイズに常に一致す
るようなデータ処理システムでは、オペレーションサイ
ズ指定フィールドの代わりにデスティネーションオペラ
ンドのサイズ指定フィールドを設けるようにしてもよ
い。
[利用分野] 以上の説明では主として本発明者によってなされた発
明をその背景となった利用分野であるマイクロプロセッ
サに適用した場合について説明したが、この発明はそれ
に限定されるものでなく、計算機やミニコン等プログラ
ム制御方式のデータ処理システム一般に利用することが
できる。
明をその背景となった利用分野であるマイクロプロセッ
サに適用した場合について説明したが、この発明はそれ
に限定されるものでなく、計算機やミニコン等プログラ
ム制御方式のデータ処理システム一般に利用することが
できる。
第1図(A)〜(C)はそれぞれ本発明に係る2オペラ
ンド命令のフォーマット例を示す説明図、 第2図は、従来の68000系マイクロプロセッサにおける
2オペランド命令のフォーマットを示す説明図、 第3図は、本発明に係る2オペランド命令を実行可能に
するマイクロプロセッサの構成例を示すブロック図、 第4図は、同じく本発明に係る2オペランド命令を実行
可能にするマイクロプロセッサの他の構成例を示すブロ
ック図である。 OP……オペレーションコード指定フィールド、Sz1……
オペレーションサイズ指定フィールド、Sz2……ソース
サイズ指定フィールド、EAs……ソース側実効アドレ
ス、EAd……デスティネーション側実効アドレス、1…
…マイクロプロセッサ、2……マイクロROM、3……命
令レジスタ(FIFO)、4……マイクロアドレス発生回
路、5……マイクロアドレスデコーダ、6……実行ユニ
ット、7……メモリアクセス制御回路、FLG,FLG1,FLG2
……サイズ指定用フラグ。
ンド命令のフォーマット例を示す説明図、 第2図は、従来の68000系マイクロプロセッサにおける
2オペランド命令のフォーマットを示す説明図、 第3図は、本発明に係る2オペランド命令を実行可能に
するマイクロプロセッサの構成例を示すブロック図、 第4図は、同じく本発明に係る2オペランド命令を実行
可能にするマイクロプロセッサの他の構成例を示すブロ
ック図である。 OP……オペレーションコード指定フィールド、Sz1……
オペレーションサイズ指定フィールド、Sz2……ソース
サイズ指定フィールド、EAs……ソース側実効アドレ
ス、EAd……デスティネーション側実効アドレス、1…
…マイクロプロセッサ、2……マイクロROM、3……命
令レジスタ(FIFO)、4……マイクロアドレス発生回
路、5……マイクロアドレスデコーダ、6……実行ユニ
ット、7……メモリアクセス制御回路、FLG,FLG1,FLG2
……サイズ指定用フラグ。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭57−147752(JP,A) 特開 昭57−43239(JP,A) 特開 昭58−12053(JP,A) 特開 昭52−119130(JP,A)
Claims (3)
- 【請求項1】少なくとも2つのオペランドの実行される
べき演算を指定するオペレーションコード指定情報と、
第1のオペランドのアドレスを指定する第1の実効アド
レス指定情報と、第2のオペランドのアドレスを指定す
る第2の実効アドレス指定情報と、上記第1のオペラン
ドのビット長、すなわちオペレーションサイズを指定す
る第1のビット長指定情報と、上記第2のオペランドの
ビット長を指定する第2のビット長指定情報とを有する
命令を実行するデータ処理装置であって、 上記第2のオペランドとして上記データ処理装置のメモ
リから上記第2のビット長指定情報によって指定された
ビット長のオペランドを読み出すために上記第2のオペ
ランドのアドレスを指定する第2の実効アドレス指定情
報によって制御されるメモリアクセスコントロール回路
と、命令に基づいて動作が制御され、上記オペレーショ
ンコードで指定された演算を実行する実行ユニットとを
有し、上記実行ユニットは、上記メモリアクセスコント
ロール回路によって読まれた第2のオペランドのビット
長を上記第1のビット長指定情報に従って変更する手段
と、上記手段によりビット長が変更された第2のオペラ
ンドと上記第1のオペランドとを演算するALUとを有
し、上記ALUでの演算結果を上記第1の実効アドレス指
定情報に応答して上記メモリに書き込むことを特徴とす
るデータ処理装置。 - 【請求項2】上記データ処理装置は、さらに、上記命令
を含んだマクロ命令を格納する命令レジスタと、上記命
令レジスタから読み出されたマクロ命令に従ったマイク
ロ命令を上記実行ユニットを制御するために出力するマ
イクロROMとを有することを特徴とする特許請求の範囲
第1項に記載のデータ処理装置。 - 【請求項3】少なくとも2つのオペランドの実行される
べき演算を指定するオペレーションコード指定情報と、
第1のオペランドのアドレスを指定する第1の実効アド
レス指定情報と、第2のオペランドのアドレスを指定す
る第2の実効アドレス指定情報と、上記第1のオペラン
ドのビット長、すなわちオペレーションサイズを指定す
る第1のサイズ情報と、上記第2のオペランドのビット
長を指定する第2のサイズ情報とを有する命令によっ
て、上記第1の実効アドレス指定情報に応答して、デー
タ処理装置のメモリから第1のオペランドを読み出し、
上記第2の実効アドレス指定情報に応答して、上記第2
のサイズ情報によって指定された長さで上記メモリから
第2のオペランドを読み出し、演算の前に上記第2のオ
ペランドのビット長を上記第1のサイズ情報に従って変
更し、その後に上記第1のオペランドと第2のオペラン
ドとの演算を実行し、上記演算結果を上記第1の実効ア
ドレス指定情報に応答して上記メモリに書き込むことを
特徴とするデータ処理方法。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60237359A JPH0827716B2 (ja) | 1985-10-25 | 1985-10-25 | データ処理装置及びデータ処理方法 |
US06/899,389 US4825355A (en) | 1985-10-25 | 1986-08-22 | Instruction format for program control type data processing systems |
KR1019860007733A KR940009094B1 (ko) | 1985-10-25 | 1986-09-15 | 데이타처리 시스템 |
EP86114724A EP0220684B1 (en) | 1985-10-25 | 1986-10-23 | Data processing system |
DE86114724T DE3688824T2 (de) | 1985-10-25 | 1986-10-23 | Datenverarbeitungssystem. |
HK176195A HK176195A (en) | 1985-10-25 | 1995-11-16 | Data processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60237359A JPH0827716B2 (ja) | 1985-10-25 | 1985-10-25 | データ処理装置及びデータ処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6298429A JPS6298429A (ja) | 1987-05-07 |
JPH0827716B2 true JPH0827716B2 (ja) | 1996-03-21 |
Family
ID=17014221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60237359A Expired - Fee Related JPH0827716B2 (ja) | 1985-10-25 | 1985-10-25 | データ処理装置及びデータ処理方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US4825355A (ja) |
EP (1) | EP0220684B1 (ja) |
JP (1) | JPH0827716B2 (ja) |
KR (1) | KR940009094B1 (ja) |
DE (1) | DE3688824T2 (ja) |
HK (1) | HK176195A (ja) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5235686A (en) * | 1987-02-24 | 1993-08-10 | Texas Instruments Incorporated | Computer system having mixed macrocode and microcode |
JP2609618B2 (ja) * | 1987-08-13 | 1997-05-14 | 株式会社東芝 | データ処理装置 |
JPH01230125A (ja) * | 1988-03-10 | 1989-09-13 | Nec Corp | レジスタの部分的更新機能を持つデータ処理装置 |
JPH01280832A (ja) * | 1988-05-06 | 1989-11-13 | Mitsubishi Electric Corp | データ処理装置 |
JPH01309130A (ja) * | 1988-06-08 | 1989-12-13 | Toshiba Corp | マイクロプロセッサ |
DE68927313T2 (de) * | 1988-06-27 | 1997-05-07 | Digital Equipment Corp | Operandenspezifiererverarbeitung |
JPH02190930A (ja) * | 1988-12-29 | 1990-07-26 | Internatl Business Mach Corp <Ibm> | ソフトウエア命令実行装置 |
JP2543589B2 (ja) * | 1989-02-17 | 1996-10-16 | 富士通株式会社 | デ―タ処理装置 |
JP2505887B2 (ja) * | 1989-07-14 | 1996-06-12 | 富士通株式会社 | 命令処理システム |
JPH03139726A (ja) * | 1989-10-26 | 1991-06-13 | Hitachi Ltd | 命令読出し制御方式 |
US5442769A (en) * | 1990-03-13 | 1995-08-15 | At&T Corp. | Processor having general registers with subdivisions addressable in instructions by register number and subdivision type |
JPH03271829A (ja) * | 1990-03-20 | 1991-12-03 | Fujitsu Ltd | 情報処理装置 |
CN1094610C (zh) | 1994-12-02 | 2002-11-20 | 英特尔公司 | 可以对复合操作数进行压缩操作和拆开操作的微处理器 |
US5907842A (en) * | 1995-12-20 | 1999-05-25 | Intel Corporation | Method of sorting numbers to obtain maxima/minima values with ordering |
GB2317467B (en) * | 1996-09-23 | 2000-11-01 | Advanced Risc Mach Ltd | Input operand control in data processing systems |
US6182202B1 (en) * | 1997-10-31 | 2001-01-30 | Oracle Corporation | Generating computer instructions having operand offset length fields for defining the length of variable length operand offsets |
US6418527B1 (en) * | 1998-10-13 | 2002-07-09 | Motorola, Inc. | Data processor instruction system for grouping instructions with or without a common prefix and data processing system that uses two or more instruction grouping methods |
JP4693326B2 (ja) * | 1999-12-22 | 2011-06-01 | ウビコム インコーポレイテッド | 組込み型プロセッサにおいてゼロタイムコンテクストスイッチを用いて命令レベルをマルチスレッド化するシステムおよび方法 |
US7308686B1 (en) | 1999-12-22 | 2007-12-11 | Ubicom Inc. | Software input/output using hard real time threads |
US7120783B2 (en) * | 1999-12-22 | 2006-10-10 | Ubicom, Inc. | System and method for reading and writing a thread state in a multithreaded central processing unit |
US7047396B1 (en) | 2000-06-22 | 2006-05-16 | Ubicom, Inc. | Fixed length memory to memory arithmetic and architecture for a communications embedded processor system |
US7010612B1 (en) | 2000-06-22 | 2006-03-07 | Ubicom, Inc. | Universal serializer/deserializer |
US7822950B1 (en) | 2003-01-22 | 2010-10-26 | Ubicom, Inc. | Thread cancellation and recirculation in a computer processor for avoiding pipeline stalls |
EP1622009A1 (en) * | 2004-07-27 | 2006-02-01 | Texas Instruments Incorporated | JSM architecture and systems |
EP1891517A4 (en) * | 2005-05-24 | 2008-08-13 | Texas Instruments Inc | OPERAND WITH DISPLAY FOR PROCESSING MICROSE RATES |
JP5173711B2 (ja) * | 2008-09-30 | 2013-04-03 | ルネサスエレクトロニクス株式会社 | マルチスレッドプロセッサ及びそのハードウェアスレッドのスケジュール方法 |
GB2478731B (en) * | 2010-03-15 | 2013-08-21 | Advanced Risc Mach Ltd | Operand size control |
GB2478726B (en) | 2010-03-15 | 2013-12-25 | Advanced Risc Mach Ltd | Mapping between registers used by multiple instruction sets |
GB2540971B (en) | 2015-07-31 | 2018-03-14 | Advanced Risc Mach Ltd | Graphics processing systems |
US20170315807A1 (en) * | 2016-05-02 | 2017-11-02 | Oracle International Corporation | Hardware support for dynamic data types and operators |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4363091A (en) * | 1978-01-31 | 1982-12-07 | Intel Corporation | Extended address, single and multiple bit microprocessor |
JPS54122043A (en) * | 1978-03-15 | 1979-09-21 | Toshiba Corp | Electronic computer |
US4179738A (en) * | 1978-06-23 | 1979-12-18 | International Business Machines Corporation | Programmable control latch mechanism for a data processing system |
US4325121A (en) * | 1978-11-17 | 1982-04-13 | Motorola, Inc. | Two-level control store for microprogrammed data processor |
US4307445A (en) * | 1978-11-17 | 1981-12-22 | Motorola, Inc. | Microprogrammed control apparatus having a two-level control store for data processor |
US4342078A (en) * | 1979-05-21 | 1982-07-27 | Motorola, Inc. | Instruction register sequence decoder for microprogrammed data processor and method |
US4388682A (en) * | 1979-09-04 | 1983-06-14 | Raytheon Company | Microprogrammable instruction translator |
JPS56149646A (en) * | 1980-04-21 | 1981-11-19 | Toshiba Corp | Operation controller |
JPS5734251A (en) * | 1980-08-07 | 1982-02-24 | Toshiba Corp | Address conversion and generating system |
JPS5743239A (en) * | 1980-08-27 | 1982-03-11 | Hitachi Ltd | Data processor |
US4491908A (en) * | 1981-12-01 | 1985-01-01 | Honeywell Information Systems Inc. | Microprogrammed control of extended integer and commercial instruction processor instructions through use of a data type field in a central processor unit |
US4506345A (en) * | 1982-07-02 | 1985-03-19 | Honeywell Information Systems Inc. | Data alignment circuit |
US4583199A (en) * | 1982-07-02 | 1986-04-15 | Honeywell Information Systems Inc. | Apparatus for aligning and packing a first operand into a second operand of a different character size |
JPS59174948A (ja) * | 1983-03-25 | 1984-10-03 | Toshiba Corp | 情報処理装置 |
US4586130A (en) * | 1983-10-03 | 1986-04-29 | Digital Equipment Corporation | Central processing unit for a digital computer |
-
1985
- 1985-10-25 JP JP60237359A patent/JPH0827716B2/ja not_active Expired - Fee Related
-
1986
- 1986-08-22 US US06/899,389 patent/US4825355A/en not_active Expired - Fee Related
- 1986-09-15 KR KR1019860007733A patent/KR940009094B1/ko not_active IP Right Cessation
- 1986-10-23 EP EP86114724A patent/EP0220684B1/en not_active Expired - Lifetime
- 1986-10-23 DE DE86114724T patent/DE3688824T2/de not_active Expired - Fee Related
-
1995
- 1995-11-16 HK HK176195A patent/HK176195A/xx unknown
Also Published As
Publication number | Publication date |
---|---|
US4825355A (en) | 1989-04-25 |
KR940009094B1 (ko) | 1994-09-29 |
EP0220684A3 (en) | 1989-12-13 |
EP0220684B1 (en) | 1993-08-04 |
DE3688824D1 (de) | 1993-09-09 |
KR870004366A (ko) | 1987-05-09 |
EP0220684A2 (en) | 1987-05-06 |
HK176195A (en) | 1995-11-24 |
JPS6298429A (ja) | 1987-05-07 |
DE3688824T2 (de) | 1993-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0827716B2 (ja) | データ処理装置及びデータ処理方法 | |
JP2554050B2 (ja) | デ−タ処理方法 | |
EP0138419B1 (en) | Central processing unit for a digital computer | |
JP3203401B2 (ja) | データ処理装置 | |
JPH06332792A (ja) | データ処理装置及びそのデータ読み出し制御回路,データ書き込み制御回路 | |
US4312034A (en) | ALU and Condition code control unit for data processor | |
JPH04233640A (ja) | メモリ拡張スキームを切り替える疑似直線バンクを有するマイクロコントローラ | |
JP2970821B2 (ja) | データ処理装置 | |
EP0315139A2 (en) | Microprocessor | |
JPH11272546A (ja) | 可変長レジスタ装置 | |
US5077659A (en) | Data processor employing the same microprograms for data having different bit lengths | |
JPH027097B2 (ja) | ||
JP2847316B2 (ja) | プロセッサ | |
JPH0574096B2 (ja) | ||
JPS6217773B2 (ja) | ||
US5187782A (en) | Data processing system | |
US5463747A (en) | Microprogram data processor processing operand address calculation and instruction execution with common hardware | |
JP2583506B2 (ja) | データ処理装置 | |
JP2513884B2 (ja) | マイクロプロセッサ | |
JP2832900B2 (ja) | データ処理装置およびデータ処理方法 | |
JP2743947B2 (ja) | マイクロプログラム制御方式 | |
JPS6298443A (ja) | デ−タ処理装置 | |
JPS5955546A (ja) | フア−ムウエア処理装置 | |
JP3515018B2 (ja) | パイプライン形データ処理装置 | |
JPS62174833A (ja) | デ−タ処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |