JP2848727B2 - 並列演算処理装置 - Google Patents

並列演算処理装置

Info

Publication number
JP2848727B2
JP2848727B2 JP30147091A JP30147091A JP2848727B2 JP 2848727 B2 JP2848727 B2 JP 2848727B2 JP 30147091 A JP30147091 A JP 30147091A JP 30147091 A JP30147091 A JP 30147091A JP 2848727 B2 JP2848727 B2 JP 2848727B2
Authority
JP
Japan
Prior art keywords
instruction
field
data
word
instruction word
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
Application number
JP30147091A
Other languages
English (en)
Other versions
JPH05143333A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP30147091A priority Critical patent/JP2848727B2/ja
Publication of JPH05143333A publication Critical patent/JPH05143333A/ja
Application granted granted Critical
Publication of JP2848727B2 publication Critical patent/JP2848727B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、複数の命令語フィー
ルドで構成された命令語を受けて、各命令語フィールド
の指定する演算を並列に処理する並列演算処理装置に係
り、特に無効とする命令語フィールドを持つ命令語が多
数存在する場合に好適な並列演算処理装置に関する。
【0002】
【従来の技術】近年、命令語を複数の命令語フィールド
に区切り、個々の命令語フィールドに対応させてそれぞ
れ独立の演算器を設け、これら各演算器を対応する命令
語フィールドに設定されたデータに従って並列に動作さ
せる、いわゆるVLIW(VeryLong Instruction Word
)方式の並列演算処理装置が各種開発されている。
【0003】このVLIW方式の並列演算処理装置で適
用される命令語は、VLIW型命令と呼ばれる。VLI
W型命令を構成する各命令語フィールドには、一般には
命令コード(OPコード)とソース、デスティネーショ
ンなどのオペランド指定データが設定されており、この
オペランド指定データで指定されるオペランドを対象と
してOPコードで指定される演算が行われるようになっ
ている。
【0004】さて、VLIW方式の並列演算処理装置の
各命令実行サイクルにおいて、いずれの演算器を並列に
実行させるかの判断は、プログラマまたはコンパイラに
よって行われる。プログラマまたはコンパイラは、この
判断結果をもとに、並列に動作させるべき演算器に対応
したVLIW型命令内の命令語フィールドに、その動作
を指定するデータを配置する。また、動作させる必要の
ない演算器に対応するVLIW型命令内の命令語フィー
ルドには、動作しないことを指示するための特別の制御
データ、即ちNOP(ノーオペレーション)データを配
置する。
【0005】一般に、依存関係のある命令処理(例え
ば、命令Aと、この命令Aの演算結果を使用する命令B
などによる命令処理)は並列に実行できない。このよう
な場合、VLIW型命令中の命令語フィールドの多くが
NOPデータとなる。また、依存関係の有無とは関係な
く、単に並列に動作させる必要のない演算器が多くなる
プログラムの場合にも、VLIW型命令中の命令語フィ
ールドの多くがNOPデータとなる。
【0006】周知のように、命令語は主記憶に格納され
ることから、複数の命令語フィールド(の設定データ)
の大半がNOPデータとなっている命令語(VLIW型
命令)が多い場合には、主記憶の領域の利用効率が極端
に悪くなる。
【0007】そこで、これを避けるために、主記憶中に
はNOPデータを省略した別の命令データで格納してお
き、これを読出したとき本来の命令形式に変換するとい
った方式も適用されていた。
【0008】
【発明が解決しようとする課題】上記したように従来の
並列演算処理装置では、演算器を動作させない場合に、
その演算器に対応する命令語(VLIW型命令)中の命
令語フィールドにNOPデータを設定していたため、命
令語を格納する主記憶の利用効率が悪いという問題があ
った。
【0009】また、主記憶の利用効率を上げるために、
NOPデータを省略した別の命令データで格納してお
き、これを読出したとき本来の命令形式に変換するとい
った方式もあるが、本来の命令形式(VLIW型命令)
と主記憶中での命令形式が異なるため、デコード処理の
オーバヘッドが大きく、また命令が可変長となるため分
岐時の命令ロードの制御(どこから読むかの制御)が極
度に複雑となるという問題があった。
【0010】この発明は上記事情に鑑みてなされたもの
でその目的は、命令語内の任意の命令語フィールドの内
容が、その設定データに無関係にNOPデータとして扱
えるようにすることにより、その命令語フィールドをデ
ータ格納領域として使用できるようにし、もって主記憶
の有効利用を図ることのできる並列演算処理装置を提供
することにある。
【0011】
【課題を解決するための手段】この発明は、命令語中の
複数の命令語フィールドの内容に従い並列に動作する複
数の演算器を備えた並列演算処理装置において、命令語
中の各命令語フィールドのデータが無効であるか否かを
示すための無効化指定データが設定される無効化指定フ
ィールドを同命令語中に設けると共に、この無効化指定
フィールドのデータをもとに、同データにより無効化指
定されている命令語フィールドに対応する演算器の動作
を無効化する無効化制御手段を設け、命令語中で無効と
する命令語フィールドをデータ格納領域として使用する
ことを可能としたことを特徴とするものである。
【0012】
【作用】上記の構成においては、複数の命令語フィール
ドを持つ命令語(VLIW型命令)中に無効化指定フィ
ールドが設けられる。この無効化指定フィールドには、
同じ命令語中の各命令語フィールドのデータが無効であ
るか否かを、例えば命令語フィールド別にビット対応で
示すための無効化指定データが設定される。
【0013】このような新規な形式の命令語(VLIW
型命令)が主記憶やキャッシュ等の記憶手段からフェッ
チされた場合、無効化制御手段は、このフェッチされた
命令語の無効化指定フィールドのデータに従い、同デー
タにより無効化指定されている命令語フィールドに対応
する演算器の動作を、その命令語フィールドの設定デー
タに無関係に無効化する。この無効化制御は、演算器に
対してNOPを示す信号を出力したり、演算器の演算結
果を無効とするなどにより実現される。
【0014】このように上記の構成によれば、命令語フ
ィールドにNOPデータを設定しておかなくても、その
命令語フィールドに対応する演算器の動作をNOP指定
時と同様に無効化させることができる。そこで、本来で
あればNOPデータが設定される命令語フィールドを、
プログラムが使用する定数や変数の設定領域(データ格
納領域)として用いることで、たとえ命令語中に無効と
する命令語フィールドが多数あっても同フィールドを有
効に活用でき、主記憶の効率的使用が図れる。
【0015】
【実施例】図1はこの発明の一実施例に係るVLIW方
式の並列演算処理装置の要部のブロック構成図である。
【0016】図1において、10は本装置での実行の対
象となるVLIW型命令である。VLIW型命令10
は、n個の命令語フィールド11-1〜11-nの他に、命
令語フィールド11-1〜11-nのデータが演算等を指定
するための本来の命令語フィールドデータとしては無効
であることを例えばビット対応で指定(ここでは“1”
で無効化指定)するための(ビット0〜n−1の)nビ
ット構成の無効化指定フィールド12を持つ。
【0017】20-1〜20-nは実行対象となるVLIW
型命令10の命令語フィールド11-1〜11-nの設定デ
ータおよび無効化指定フィールド12のビット0〜n−
1の設定ビットデータを入力してデコード処理を行うデ
コーダ、30-1〜30-nはVLIW型命令10の命令語
フィールド11-1〜11-nに対応して設けられ、同フィ
ールド11-1〜11-nの指定する演算をデコーダ20-1
〜20-nのデコード結果に従って実行する演算器であ
る。
【0018】次に、図1の構成の動作を説明する。ま
ず、デコーダ20-1〜20-nは、VLIW型命令10の
デコードステージにおいて、同命令10中の対応した命
令語フィールド11-1〜11-nの設定データと、無効化
指定フィールド12の対応ビット0〜n−1とを、それ
ぞれ入力する。
【0019】各デコーダ20-i(i=1〜n)は、入力
した命令語フィールド11-iの設定データと無効化指定
フィールド12のビットi−1の設定ビットデータとの
入力データをデコードする。
【0020】この際、無効化指定フィールド12のビッ
トi−1が“1”であれば、即ち同ビットi−1により
対応する命令語フィールド11-iのデータが無効である
ことが示されているならば、デコーダ20-iは、命令語
フィールド11-iの設定データに無関係に、演算器30
-iに対してNOPを示す信号を出力する。これにより演
算器30-iの動作は、命令語フィールド11-iにNOP
データが設定されていなくてもNOPとなる。
【0021】一方、無効化指定フィールド12のビット
i−1が“0”であれば、即ち同ビットi−1により対
応する命令語フィールド11-iのデータが無効でないこ
と(有効であること)が示されているならば、デコーダ
20-iは、命令語フィールド11-iの設定データをデコ
ードし、同データの示す演算指示を演算器30-iに対し
て出力する。これにより演算器30-iでは、命令語フィ
ールド11-iで指定された演算動作が行われる。
【0022】このように本実施例によれば、無効化指定
フィールド12のビットi−1により対応する命令語フ
ィールド11-iのデータが無効であることが示されてい
る場合には、命令語フィールド11-iにNOPデータが
設定されていなくても、演算器30-iに対してNOP指
定を行うこと、即ち演算器30-iの動作を無効とするこ
とができる。
【0023】したがって、従来であればNOPデータを
設定する必要があったVLIW型命令10中の命令語フ
ィールド11-iを、プログラムが使用する定数や変数と
いったデータの格納領域として利用することが可能とな
る。このようなVLIW型命令10の使用例を図2に示
す。
【0024】まず図2(a)は、無効化指定フィールド
12のビット1に“1”を設定して命令語フィールド1
1-2のデータを無効化指定(命令語フィールド11-2に
従う演算実行を無効化指定)すると共に、同フィールド
11-2に定数#1を設定し、同フィールド11-2をこの
定数#1の格納領域とした例を示す。
【0025】また図2(b)は、無効化指定フィールド
12のビット0,n−1に“1”を設定して命令語フィ
ールド11-1,11-nのデータを無効化指定すると共
に、同フィールド11-1,11-nに変数#1,定数#2
を設定し、同フィールド11-1,11-nをこの変数#
1,定数#2の格納領域とした例を示す。
【0026】また図2(c)は、無効化指定フィールド
12のビットn−1に“1”を設定して命令語フィール
ド11-nのデータを無効化指定すると共に、同フィール
ド11-nに変数#2を設定し、同フィールド11-nをこ
の変数#2の格納領域とした例を示す。
【0027】このように、従来であればNOPデータが
設定されるVLIW型命令10内の命令語フィールドを
データ格納領域とすることで、このVLIW型命令10
が格納される主記憶等の領域を有効に利用することがで
きる。
【0028】なお、前記実施例では、VLIW型命令が
命令語フィールドとは別に独立の無効化指定フィールド
を持つ場合について説明したが、これに限るものではな
い。例えば命令語フィールド(デコーダ,演算器)の数
nが少ない場合には、VLIW型命令中の特定の命令語
フィールドの一部を無効化指定フィールドとして用いる
ようにしてもよい。但し、この方式では、本来の命令語
フィールドとして使用可能な領域が小さくなるため、特
定命令語フィールドで指定可能な命令の種類は制限され
る。
【0029】また、前記実施例では、無効化指定フィー
ルドの各ビットデータを対応するデコーダに供給する場
合について説明したが、演算器に直接供給してその演算
器の動作を無効とすることも可能である。
【0030】
【発明の効果】以上詳述したようにこの発明によれば、
並列演算処理のための命令語に、同命令語中の各命令語
フィールドのデータが無効であるか否かを示すための無
効化指定データが設定される無効化指定フィールドを設
けると共に、この無効化指定フィールドのデータをもと
に、同データにより無効化指定されている命令語フィー
ルドに対応する演算器の動作を無効化する無効化制御手
段を設けることにより、命令語フィールドにNOPデー
タを設定しなくても同命令語フィールドに対応する演算
器の動作を無効化することができるようになるため、次
のような作用効果を得ることができる。
【0031】(1)従来であればNOPデータを設定す
べき命令語中の命令語フィールドを、プログラムが使用
する定数や変数を格納するためのデータ格納領域として
使用することができるので、たとえ並列に動作させる必
要のある演算器が少ないプログラムの場合でも、命令語
が格納される主記憶の領域を有効に利用でき、命令語長
が長いことによる主記憶領域の無駄な消費はない。
【0032】(2)主記憶上の命令語データを読出した
際にその命令形式を変換する必要がなく、主記憶上の命
令語データをそのまま実行対象命令語の命令形式として
利用可能なため、デコードや分岐時の命令ロードの制御
が簡単となり、処理の高速化が図れる。
【図面の簡単な説明】
【図1】この発明の一実施例に係るVLIW方式の並列
演算処理装置の要部のブロック構成図。
【図2】図1に示すVLIW型命令10中の命令語フィ
ールドをデータ格納領域として使用する場合の具体例を
示す図。
【符号の説明】
10…VLIW型命令(命令語)、11-1〜11-n…命
令語フィールド、12…無効化指定フィールド、20-1
〜20-n…デコーダ(無効化制御手段)、30-1〜30
-n…演算器。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 命令語を複数の命令語フィールドで構成
    し、この命令語の各命令語フィールドで指定される演算
    を並列に実行するために、各命令語フィールドに対応さ
    せてそれぞれ独立の演算器を設け、これら各演算器を対
    応する命令語フィールドの内容に従って並列に動作させ
    る並列演算処理装置において、 前記命令語中の各命令語フィールドのデータが無効であ
    るか否かを示すための無効化指定データが設定される無
    効化指定フィールドを同命令語中に設けると共に、この
    無効化指定フィールドのデータをもとに、同データによ
    り無効化指定されている命令語フィールドに対応する前
    記演算器の動作を無効化する無効化制御手段を設け、 前記命令語中で無効とする命令語フィールドをデータ格
    納領域として使用することを可能としたことを特徴とす
    る並列演算処理装置。
JP30147091A 1991-11-18 1991-11-18 並列演算処理装置 Expired - Fee Related JP2848727B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30147091A JP2848727B2 (ja) 1991-11-18 1991-11-18 並列演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30147091A JP2848727B2 (ja) 1991-11-18 1991-11-18 並列演算処理装置

Publications (2)

Publication Number Publication Date
JPH05143333A JPH05143333A (ja) 1993-06-11
JP2848727B2 true JP2848727B2 (ja) 1999-01-20

Family

ID=17897286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30147091A Expired - Fee Related JP2848727B2 (ja) 1991-11-18 1991-11-18 並列演算処理装置

Country Status (1)

Country Link
JP (1) JP2848727B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2752586B2 (ja) * 1993-08-13 1998-05-18 昌幸 清水 Vliwプロセッサの命令発行方式及び圧縮符号展開部
WO1996029646A1 (fr) * 1995-03-17 1996-09-26 Hitachi, Ltd. Processeur
JP3790607B2 (ja) 1997-06-16 2006-06-28 松下電器産業株式会社 Vliwプロセッサ
US8775777B2 (en) * 2007-08-15 2014-07-08 Nvidia Corporation Techniques for sourcing immediate values from a VLIW

Also Published As

Publication number Publication date
JPH05143333A (ja) 1993-06-11

Similar Documents

Publication Publication Date Title
US5233694A (en) Pipelined data processor capable of performing instruction fetch stages of a plurality of instructions simultaneously
JP2816248B2 (ja) データプロセッサ
KR100309566B1 (ko) 파이프라인프로세서에서다중명령어를무리짓고,그룹화된명령어를동시에발행하고,그룹화된명령어를실행시키는방법및장치
US4954943A (en) Data processing system
JPH04245540A (ja) 条件付き分岐を有するプログラムの効率的実行をするためのコンピュータシステム
JPH0823818B2 (ja) 命令群用マイクロコード生成装置及びコンピュータにおける組合せ装置
JPH0810428B2 (ja) データ処理装置
JPH05233271A (ja) データプロセッサ
US5771377A (en) System for speculatively executing instructions using multiple commit condition code storages with instructions selecting a particular storage
US7552313B2 (en) VLIW digital signal processor for achieving improved binary translation
US6292845B1 (en) Processing unit having independent execution units for parallel execution of instructions of different category with instructions having specific bits indicating instruction size and category respectively
JP2003525476A (ja) プログラムの命令を実行するための装置及び方法
JP3781519B2 (ja) プロセッサの命令制御機構
JPH07120278B2 (ja) データ処理装置
JPH05150979A (ja) 即値オペランド拡張方式
KR100573334B1 (ko) 실시간 동적 수정이 가능한 명령어 집합을 가지는 컴퓨터
KR19990072270A (ko) 무순서동작시예외를트래킹하는장치를구비하는데이터처리시스템및그방법
JP2848727B2 (ja) 並列演算処理装置
KR100374401B1 (ko) 마이크로 명령을 기초로 프로그램 가능한 명령을 실행하는하드웨어 장치
JP2538053B2 (ja) 制御装置
JP2002024008A (ja) データ処理装置およびプログラム変換装置
US5187782A (en) Data processing system
JP3737573B2 (ja) Vliwプロセッサ
JPH0769806B2 (ja) データ処理装置
JPS61273637A (ja) 情報処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees