JPH0588890A - データ処理方法 - Google Patents
データ処理方法Info
- Publication number
- JPH0588890A JPH0588890A JP25120691A JP25120691A JPH0588890A JP H0588890 A JPH0588890 A JP H0588890A JP 25120691 A JP25120691 A JP 25120691A JP 25120691 A JP25120691 A JP 25120691A JP H0588890 A JPH0588890 A JP H0588890A
- Authority
- JP
- Japan
- Prior art keywords
- specified
- storage destination
- operand
- parts
- instruction
- 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
Links
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】
【目的】並列演算により、プログラムステップ数の一層
の減少を図ることを目的とする。 【構成】1つの命令語中に、動作の種類を指定する部分
とオペランドの格納先を指定する部分とを含み、指定さ
れた格納先のオペランドに対して指定された動作を実行
するデータ処理方法であって、前記オペランドの格納先
を指定する部分を第1から第4までの4つの部分とし、
第1の部分と第2の部分で指定された2つの格納先のオ
ペランドに対して指定された動作を実行するとともに、
第3の部分と第4の部分で指定された2つの格納先のオ
ペランドに対しても指定された動作を実行することを特
徴とする。
の減少を図ることを目的とする。 【構成】1つの命令語中に、動作の種類を指定する部分
とオペランドの格納先を指定する部分とを含み、指定さ
れた格納先のオペランドに対して指定された動作を実行
するデータ処理方法であって、前記オペランドの格納先
を指定する部分を第1から第4までの4つの部分とし、
第1の部分と第2の部分で指定された2つの格納先のオ
ペランドに対して指定された動作を実行するとともに、
第3の部分と第4の部分で指定された2つの格納先のオ
ペランドに対しても指定された動作を実行することを特
徴とする。
Description
【0001】
【産業上の利用分野】本発明は、データ処理方法に関す
る。コンピュータ等、データ処理装置で用いられる命令
語は、動作(処理や演算)の種類を指定する部分(op
code:オペレーションコード)と、演算の対象とな
るオペランド(operand:演算数)を指定する部
分(メモリ直接指定の場合にはアドレス部)とを含んで
構成される。
る。コンピュータ等、データ処理装置で用いられる命令
語は、動作(処理や演算)の種類を指定する部分(op
code:オペレーションコード)と、演算の対象とな
るオペランド(operand:演算数)を指定する部
分(メモリ直接指定の場合にはアドレス部)とを含んで
構成される。
【0002】命令語中のアドレス部の数により、1アド
レス方式、2アドレス方式、または、3アドレス方式に
分けられる。1アドレス方式 演算はアキュムレータとアドレス部(1個)の指定する
オペランド間で行われ、演算結果はアキュムレータに格
納される。命令語が短く解読も容易なために、簡易なシ
ステムに用いられることが多い。2アドレス方式 1つの命令語中に2つのアドレス部があり、これらによ
って2個のレジスタ(またはメモリ、以下レジスタで代
表)を指定する。演算は2個のレジスタ内のオペランド
に対して行われ、結果は2個のレジスタの一方に書き戻
される。3アドレス方式 2アドレス方式を拡張して3つのアドレスを持ち、例え
ば (A)+(B)→(C) の形で演算を行う。すなわち、アドレスAのオペランド
とアドレスBのオペランドに対して演算を行い、その結
果をアドレスCに格納する。1命令の機能が高くなり、
プログラムステップ数を少なくできる反面、命令語が長
くなる短所を持つ。
レス方式、2アドレス方式、または、3アドレス方式に
分けられる。1アドレス方式 演算はアキュムレータとアドレス部(1個)の指定する
オペランド間で行われ、演算結果はアキュムレータに格
納される。命令語が短く解読も容易なために、簡易なシ
ステムに用いられることが多い。2アドレス方式 1つの命令語中に2つのアドレス部があり、これらによ
って2個のレジスタ(またはメモリ、以下レジスタで代
表)を指定する。演算は2個のレジスタ内のオペランド
に対して行われ、結果は2個のレジスタの一方に書き戻
される。3アドレス方式 2アドレス方式を拡張して3つのアドレスを持ち、例え
ば (A)+(B)→(C) の形で演算を行う。すなわち、アドレスAのオペランド
とアドレスBのオペランドに対して演算を行い、その結
果をアドレスCに格納する。1命令の機能が高くなり、
プログラムステップ数を少なくできる反面、命令語が長
くなる短所を持つ。
【0003】
【従来の技術】図6は32ビット長の従来の命令語であ
る。この図において、opcodeは命令コード部、r
d、rs1およびrs2は3つのアドレス部であり、o
pcodeはビット24からビット31までの8ビット
に割り当てられ、rs1、rs2およびrdは、それぞ
れビット0からビット4、ビット14からビット18、
あるいは、ビット19からビット23までの各5ビット
づつに割り当てられている。なお、ビット5からビット
12までの8ビットは、使用されない無効ビット(ig
nored)である。また、この命令語は、図7に示す
ように、ビット0からビット12までを既値とすること
もある。
る。この図において、opcodeは命令コード部、r
d、rs1およびrs2は3つのアドレス部であり、o
pcodeはビット24からビット31までの8ビット
に割り当てられ、rs1、rs2およびrdは、それぞ
れビット0からビット4、ビット14からビット18、
あるいは、ビット19からビット23までの各5ビット
づつに割り当てられている。なお、ビット5からビット
12までの8ビットは、使用されない無効ビット(ig
nored)である。また、この命令語は、図7に示す
ように、ビット0からビット12までを既値とすること
もある。
【0004】
【発明が解決しようとする課題】しかしながら、かかる
命令語形式は、アドレス部が3つのいわゆる3アドレス
方式であるため、例えば (rs1)+(rs2)→(rd) のように1命令/1演算しか行うことができず、プログ
ラムステップをより一層減少しようとする場合に限界が
ある。
命令語形式は、アドレス部が3つのいわゆる3アドレス
方式であるため、例えば (rs1)+(rs2)→(rd) のように1命令/1演算しか行うことができず、プログ
ラムステップをより一層減少しようとする場合に限界が
ある。
【0005】そこで、本発明は、並列演算により、プロ
グラムステップ数の一層の減少を図ることを目的とす
る。
グラムステップ数の一層の減少を図ることを目的とす
る。
【0006】
【課題を解決するための手段】本発明は、上記目的を達
成するために、1つの命令語中に、動作の種類を指定す
る部分とオペランドの格納先を指定する部分とを含み、
指定された格納先のオペランドに対して指定された動作
を実行するデータ処理方法であって、前記オペランドの
格納先を指定する部分を第1から第4までの4つの部分
とし、第1の部分と第2の部分で指定された2つの格納
先のオペランドに対して指定された動作を実行するとと
もに、第3の部分と第4の部分で指定された2つの格納
先のオペランドに対しても指定された動作を実行するこ
とを特徴とする。
成するために、1つの命令語中に、動作の種類を指定す
る部分とオペランドの格納先を指定する部分とを含み、
指定された格納先のオペランドに対して指定された動作
を実行するデータ処理方法であって、前記オペランドの
格納先を指定する部分を第1から第4までの4つの部分
とし、第1の部分と第2の部分で指定された2つの格納
先のオペランドに対して指定された動作を実行するとと
もに、第3の部分と第4の部分で指定された2つの格納
先のオペランドに対しても指定された動作を実行するこ
とを特徴とする。
【0007】
【作用】本発明では、1つの命令語で1度に4つのオペ
ランドが指定され、例えば、4つのオペランドをa、
b、c、dとし、当該命令語の命令種別を加算とする
と、a+b=bおよびc+d=dが演算される。すなわ
ち、かかる2つの式の並列演算が可能になる。
ランドが指定され、例えば、4つのオペランドをa、
b、c、dとし、当該命令語の命令種別を加算とする
と、a+b=bおよびc+d=dが演算される。すなわ
ち、かかる2つの式の並列演算が可能になる。
【0008】
【実施例】以下、本発明の実施例を図面に基づいて説明
する。図1〜図5は本発明に係るデータ処理方法を適用
したデータ処理装置の一実施例を示す図である。このデ
ータ処理装置で使用する命令語mは、例えば32ビット
長であり、その形式は図1に示すように、動作の種類を
指定する命令コード部分opcodeとオペランドの格
納先(レジスタまたはメモリ)を指定する4つの部分r
d1、rs1、rd2、rs2を含むものである。
する。図1〜図5は本発明に係るデータ処理方法を適用
したデータ処理装置の一実施例を示す図である。このデ
ータ処理装置で使用する命令語mは、例えば32ビット
長であり、その形式は図1に示すように、動作の種類を
指定する命令コード部分opcodeとオペランドの格
納先(レジスタまたはメモリ)を指定する4つの部分r
d1、rs1、rd2、rs2を含むものである。
【0009】opcodeはビット24からビット31
までの8ビットに割り当てられ、また、rd1はビット
19からビット23までの5ビットに割り当てられ、r
s1はビット14からビット18までの5ビットに割り
当てられる。さらに、rd2はビット8からビット12
までの5ビットに割り当てられ、rs2はビット0から
ビット4までの5ビットに割り当てられる。
までの8ビットに割り当てられ、また、rd1はビット
19からビット23までの5ビットに割り当てられ、r
s1はビット14からビット18までの5ビットに割り
当てられる。さらに、rd2はビット8からビット12
までの5ビットに割り当てられ、rs2はビット0から
ビット4までの5ビットに割り当てられる。
【0010】4つの部分rd1、rs1、rd2、rs
2の内容に従って4つの格納先が指定され、全部で4つ
のオペランドが取り出される。以下、rd1、rs1、
rd2、rs2に括弧付きの添字Vを付した場合はその
部分の内容(例えばレジスタ指定値やメモリアドレス
値)を表すものとし、あるいは、括弧付きの添字Oを付
した場合はその部分の内容に従って取り出されたオペラ
ンド(演算数)を表すものとする。
2の内容に従って4つの格納先が指定され、全部で4つ
のオペランドが取り出される。以下、rd1、rs1、
rd2、rs2に括弧付きの添字Vを付した場合はその
部分の内容(例えばレジスタ指定値やメモリアドレス
値)を表すものとし、あるいは、括弧付きの添字Oを付
した場合はその部分の内容に従って取り出されたオペラ
ンド(演算数)を表すものとする。
【0011】図2はデータ処理装置の要部構成図であ
り、10はレジスタファイル、11は第1演算ユニッ
ト、12はマルチプレクサ、13は第2演算ユニットで
ある。レジスタファイル10は、上記形式の命令語を格
納する命令レジスタや多数の汎用レジスタ等を含み、第
1演算ユニット11は、レジスタファイル10から取り
出された4つのオペランドrd1(O)、rs1(O)、rd
2(O)、rs2(O)のうちの1組「rd2(O)、rs
2(O)」に対し、opcodeによって指定された種類
の演算を実行する。マルチプレクサ12は、rd1(O)
とrs2(O)の一方を選択し、第2演算ユニット13
は、マルチプレクサ12の出力「rd1(O)/rs
2(O)」と「rs1(O)」に対し、opcodeで指定さ
れた種類の演算を実行する。
り、10はレジスタファイル、11は第1演算ユニッ
ト、12はマルチプレクサ、13は第2演算ユニットで
ある。レジスタファイル10は、上記形式の命令語を格
納する命令レジスタや多数の汎用レジスタ等を含み、第
1演算ユニット11は、レジスタファイル10から取り
出された4つのオペランドrd1(O)、rs1(O)、rd
2(O)、rs2(O)のうちの1組「rd2(O)、rs
2(O)」に対し、opcodeによって指定された種類
の演算を実行する。マルチプレクサ12は、rd1(O)
とrs2(O)の一方を選択し、第2演算ユニット13
は、マルチプレクサ12の出力「rd1(O)/rs
2(O)」と「rs1(O)」に対し、opcodeで指定さ
れた種類の演算を実行する。
【0012】図3は演算ユニット11、13に共通の図
であり、2つのオペランドに対してALU14による演
算および乗算器15による演算を実行し、演算の種類
(例えば加算や乗算)に応じてマルチプレクサを切り換
え、どちらか一方の演算結果を出力する。ここで、演算
の種類が「乗算」(mlt命令)の場合には、次の2つ
の演算が実行される。
であり、2つのオペランドに対してALU14による演
算および乗算器15による演算を実行し、演算の種類
(例えば加算や乗算)に応じてマルチプレクサを切り換
え、どちらか一方の演算結果を出力する。ここで、演算
の種類が「乗算」(mlt命令)の場合には、次の2つ
の演算が実行される。
【0013】 (rs1(V))×(rd1(V))→(rd1(V)) (rs2(V))×(rd2(V))→(rd2(V)) すなわち、 (1) 1つの演算は、rs1の内容rs1(V)で指定
された格納先(例えばレジスタファイル10内の所定レ
ジスタr0)から取り出されたオペランドrs1
(O)と、rd1の内容rd1(V)で指定された格納先(例
えばレジスタファイル10内の所定レジスタr2)から
取り出されたオペランドrd1(O)とに対し、乗算を実
行してその結果を再びレジスタr2に書き戻すという一
連の処理である。 (2) また、他の1つの演算は、rs2の内容rs2
(V)で指定された格納先(例えばレジスタファイル10
内の所定レジスタr0)から取り出されたオペランドr
s2(O)と、rd1の内容rd2(V)で指定された格納先
(例えばレジスタファイル10内の所定レジスタr4)
から取り出されたオペランドrd2(O)とに対し、乗算
を実行してその結果を再びレジスタr4に書き戻すとい
う一連の処理である。
された格納先(例えばレジスタファイル10内の所定レ
ジスタr0)から取り出されたオペランドrs1
(O)と、rd1の内容rd1(V)で指定された格納先(例
えばレジスタファイル10内の所定レジスタr2)から
取り出されたオペランドrd1(O)とに対し、乗算を実
行してその結果を再びレジスタr2に書き戻すという一
連の処理である。 (2) また、他の1つの演算は、rs2の内容rs2
(V)で指定された格納先(例えばレジスタファイル10
内の所定レジスタr0)から取り出されたオペランドr
s2(O)と、rd1の内容rd2(V)で指定された格納先
(例えばレジスタファイル10内の所定レジスタr4)
から取り出されたオペランドrd2(O)とに対し、乗算
を実行してその結果を再びレジスタr4に書き戻すとい
う一連の処理である。
【0014】図4はかかる2つの演算を含むいくつかの
命令ステップを示す図であり、4つのmlt命令(乗算
命令)の後にadd命令(加算命令)を続けた例であ
る。1行目に書かれたmlt命令が上記2つの演算
(1)(2)に対応する。なお、命令の右側に書かれた
コードは、各命令の内容を2進数で表したものである。
例えばopcodeコードの[11101000]は乗
算を表し、rd1コードの[00010]はレジスタ番
号[r2]を表し、rs1コードの[00000]はレ
ジスタ番号[r0]を表し、rd2コードの[0010
0]はレジスタ番号[r4]を表し、rs2コードの
[00000]はレジスタ番号[r0]を表している。
命令ステップを示す図であり、4つのmlt命令(乗算
命令)の後にadd命令(加算命令)を続けた例であ
る。1行目に書かれたmlt命令が上記2つの演算
(1)(2)に対応する。なお、命令の右側に書かれた
コードは、各命令の内容を2進数で表したものである。
例えばopcodeコードの[11101000]は乗
算を表し、rd1コードの[00010]はレジスタ番
号[r2]を表し、rs1コードの[00000]はレ
ジスタ番号[r0]を表し、rd2コードの[0010
0]はレジスタ番号[r4]を表し、rs2コードの
[00000]はレジスタ番号[r0]を表している。
【0015】以上述べたように、本実施例では、1つの
命令語mのオペランドの格納先を指定する部分を、rs
1、rd1、rs2、rd2、すなわち第1から第4ま
での4つの部分とし、第1の部分(rs1)と第2の部
分(rd1)で指定された2つの格納先のオペランドに
対し、opcodeによって指定された演算を実行する
とともに、第3の部分(rs2)と第4の部分(rd
2)で指定された2つの格納先のオペランドに対して
も、指定された演算を同時並行的に実行することができ
る。したがって、並列演算により、プログラムステップ
数の一層の減少を図ることができる。
命令語mのオペランドの格納先を指定する部分を、rs
1、rd1、rs2、rd2、すなわち第1から第4ま
での4つの部分とし、第1の部分(rs1)と第2の部
分(rd1)で指定された2つの格納先のオペランドに
対し、opcodeによって指定された演算を実行する
とともに、第3の部分(rs2)と第4の部分(rd
2)で指定された2つの格納先のオペランドに対して
も、指定された演算を同時並行的に実行することができ
る。したがって、並列演算により、プログラムステップ
数の一層の減少を図ることができる。
【0016】なお、オペランドの格納先を指定する4つ
の部分の1つ(rs2)を、図5に示すように、既値と
しても構わない。
の部分の1つ(rs2)を、図5に示すように、既値と
しても構わない。
【0017】
【発明の効果】本発明によれば、1つの命令語のオペラ
ンドの格納先を指定する部分を第1から第4までの4つ
の部分としたので、第1の部分と第2の部分で指定され
た2つの格納先のオペランドに対して指定された動作を
実行するとともに、第3の部分と第4の部分で指定され
た2つの格納先のオペランドに対しても指定された動作
を実行することができ、並列演算により、プログラムス
テップ数の一層の減少を図ることができる。
ンドの格納先を指定する部分を第1から第4までの4つ
の部分としたので、第1の部分と第2の部分で指定され
た2つの格納先のオペランドに対して指定された動作を
実行するとともに、第3の部分と第4の部分で指定され
た2つの格納先のオペランドに対しても指定された動作
を実行することができ、並列演算により、プログラムス
テップ数の一層の減少を図ることができる。
【図1】一実施例の命令フォーマットである。
【図2】一実施例のデータ処理装置の要部構成図であ
る。
る。
【図3】一実施例の演算ユニットの構成図である。
【図4】一実施例の命令コード図である。
【図5】一実施例の他の命令フォーマットである。
【図6】従来例の命令フォーマットである。
【図7】従来例の他の命令フォーマットである。
m:命令語 opcode:命令コード部分 rd1、rs1、rd2、rs2:4つの部分
Claims (1)
- 【請求項1】1つの命令語中に、動作の種類を指定する
部分とオペランドの格納先を指定する部分とを含み、指
定された格納先のオペランドに対して指定された動作を
実行するデータ処理方法であって、 前記オペランドの格納先を指定する部分を第1から第4
までの4つの部分とし、 第1の部分と第2の部分で指定された2つの格納先のオ
ペランドに対して指定された動作を実行するとともに、 第3の部分と第4の部分で指定された2つの格納先のオ
ペランドに対しても指定された動作を実行することを特
徴とするデータ処理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP25120691A JPH0588890A (ja) | 1991-09-30 | 1991-09-30 | データ処理方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP25120691A JPH0588890A (ja) | 1991-09-30 | 1991-09-30 | データ処理方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0588890A true JPH0588890A (ja) | 1993-04-09 |
Family
ID=17219277
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP25120691A Withdrawn JPH0588890A (ja) | 1991-09-30 | 1991-09-30 | データ処理方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0588890A (ja) |
-
1991
- 1991-09-30 JP JP25120691A patent/JPH0588890A/ja not_active Withdrawn
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR910010301A (ko) | 명령 지정방법 및 실행장치 | |
| JPH04172533A (ja) | 電子計算機 | |
| JPH0248931B2 (ja) | ||
| US7546442B1 (en) | Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions | |
| JPH034936B2 (ja) | ||
| JPH0588890A (ja) | データ処理方法 | |
| JPS623332A (ja) | 情報処理装置 | |
| KR100246465B1 (ko) | 마이크로프로세서 스택 명령어의 수행사이클을 줄이기 위한 장치 및 그 방법 | |
| US5854919A (en) | Processor and its operation processing method for processing operation having bit width exceeding data width of bit storage unit | |
| JPS61235985A (ja) | ベクトルプロセツサ | |
| JP2671161B2 (ja) | レジスタ干渉チェック方式 | |
| JP2883488B2 (ja) | 命令処理装置 | |
| JP2856784B2 (ja) | 電子計算機 | |
| JPS59223846A (ja) | 演算処理装置 | |
| JPS6149695B2 (ja) | ||
| JP2001092633A (ja) | 複数の結果を出力する命令を有する演算装置 | |
| JP2657947B2 (ja) | データ処理装置 | |
| JPH01287742A (ja) | 即値命令処理方式 | |
| JPH03164935A (ja) | 演算処理装置 | |
| JPS61143850A (ja) | 処理装置 | |
| JPH11143710A (ja) | 処理対象値入力装置及びプログラム変換装置 | |
| JPS62251930A (ja) | 情報処理装置 | |
| JPH03119424A (ja) | 情報処理方式及び装置 | |
| JPH0619713B2 (ja) | 論理型デ−タ処理装置 | |
| JPH03229324A (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: 19981203 |