JPH04217026A - 並列処理装置 - Google Patents

並列処理装置

Info

Publication number
JPH04217026A
JPH04217026A JP40322990A JP40322990A JPH04217026A JP H04217026 A JPH04217026 A JP H04217026A JP 40322990 A JP40322990 A JP 40322990A JP 40322990 A JP40322990 A JP 40322990A JP H04217026 A JPH04217026 A JP H04217026A
Authority
JP
Japan
Prior art keywords
parallel
instruction
bus
register
decoder
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.)
Pending
Application number
JP40322990A
Other languages
English (en)
Inventor
Yutaka Iizuka
裕 飯塚
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP40322990A priority Critical patent/JPH04217026A/ja
Publication of JPH04217026A publication Critical patent/JPH04217026A/ja
Priority to US08/097,325 priority patent/US5299321A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、情報処理の高速化を図
るため、複数の情報を並列に処理する電子計算機等の並
列処理装置に関する。
【0002】
【従来の技術】従来から電子計算機等の情報処理装置を
高速化するために、数々の手法が考えられ、1つの命令
を実行するのに数クロックかかっていたものがほぼ1ク
ロックで実行できるようになってきた。すなわちCPI
(サイクル・パー・インストラクション)値が2〜5で
あったものが1に近づいてきた。
【0003】そして、情報処理装置をさらに高速化する
ため、すなわちCPI値を1以下にするため、複数の命
令を同時に実行する並列処理装置が考えられた。
【0004】この種の並列処理装置としてはVLIW(
ベリー・ラージ・インストラクション・ワード)方式(
「並列計算機構成論」、著者冨田眞治、(株)昭晃堂 
 1986年11月)が知られている。以下、「並列計
算機構成論」によるVLIW並列計算機を図2に基づい
て概説する。
【0005】基本命令は32ビットの固定長であり、4
つの基本命令を1ワードすなわち128ビットに格納す
る。そして、実行時には1ワードを同時に読み出し、4
本の演算パイプラインにより、4つの基本命令を並列に
、かつ同時に実行する。これにより、前述のCPI値は
理想的には0.25となる。
【0006】201は32ビット幅の4本の内部バス、
202は内部バス201と32ビット幅のバス4本で結
ばれたデータユニットで、このデータユニット202は
データキャッシュを含む。203はインストラクション
ユニットで、インストラクションキャッシュを含む。2
04はバスインターフェイスで、データユニット202
との間は128ビット幅の内部データバスで結ばれ、イ
ンストラクションユニット203との間は128ビット
幅のインストラクションバスで結ばれる。バスインター
フェイス204は外部と32ビットのアドレスバス、1
28ビットのデータバス及びコントロールバスで接続さ
れる。
【0007】205はインストラクションデコーダ、2
06はインストラクションレジスタである。インストラ
クションデコーダ205はインストラクションユニット
203から128ビット幅のインストラクションを受取
ってデコードし、マイクロ命令としてインストラクショ
ンレジスタ206に格納する。インストラクションレジ
スタ206は4命令分のマイクロ命令を保持し、このマ
イクロ命令を出力することにより、第1〜第4の演算パ
イプライン208〜211を制御する。
【0008】207はマルチポートレジスタで、このマ
ルチポートレジスタ207は、内部バス201と32ビ
ット幅のバス4本で結ばれて内部バス201から処理す
るデータを入力し、32ビット幅の4本のバスを介して
各演算パイプライン208〜211に出力する。各演算
パイプライン208〜211は前記マイクロ命令により
、それぞれ固定少数点演算、論理演算、浮動少数点演算
等のデータ処理を数クロックかけて行う。そして、4本
の演算パイプライン208〜211全体により実効的に
4つの演算を1クロック毎に行う。各演算パイプライン
208〜211の出力側はそれぞれ32ビット幅のバス
を介して内部バス201に接続される。
【0009】次に以上の構成のVLIW並列計算機の動
作について説明する。
【0010】インストラクションユニット203は12
8ビット幅のインストラクションをバスインターフェイ
ス204を介して外部メモリ(図示せず)から読み込む
。次に読み込んだインストラクションをインストラクシ
ョンデコーダ205でデコードし、マイクロ命令として
インストラクションレジスタ206に書き込む。インス
トラクションレジスタ206に書き込まれたマイクロ命
令は各演算パイプライン208〜211に出力され、こ
れらを制御する。各演算パイプライン208〜211は
必要に応じてマルチポートレジスタ207内のデータを
読み込み、演算処理後のデータを内部バス201を介し
てマルチポートレジスタ207に書き込む。そして、各
演算パイプライン208〜211が再びこのデータを読
み込んで複数回の演算処理を施す。また、各演算パイプ
ライン208〜211は演算処理後のデータを内部バス
201を介して一旦データユニット202に書き込み、
データユニット202がデータを内部バス201を介し
てマルチポートレジスタ207に書き込み、複数回の演
算を施す。
【0011】さらに、データユニット202はバスイン
ターフェイス204を介して外部との間でデータのやり
とりを行う。命令のデコード、インストラクションレジ
スタ206からのマイクロ命令の読み出し、各演算パイ
プライン208〜211での処理はすべてパイプライン
処理されるので、1クロックあたり4命令を実行できる
ことになる。
【0012】
【発明が解決しようとする課題】しかしながら、上述の
VLIW並列計算機では、4つの基本命令を1ワードと
して処理するので、通常の計算機のデータバス幅が16
ビットまたは32ビット程度であるのに対し、128ビ
ットものデータバス幅が必要となる。このため、ユニッ
ト全体をパッケージする場合、外部に延出するピン数が
増大して複雑になると共に、周辺回路の量が増えるとい
う問題点がある。
【0013】本発明は、以上の点を考慮してなされたも
ので、高速処理能力を維持したまま、通常の32ビット
幅のバスを用いてピン数を減少させ、周辺回路の簡略化
が図れる並列処理装置を提供することを目的とする。
【0014】
【課題を解決するための手段】本発明はかかる問題点を
解決するためになされたもので、複数の演算を並列的に
行なうべく複数個並列に設けられた演算パイプラインと
、各演算パイプラインにそれぞれ対応して複数個設けら
れ、各演算パイプラインに処理命令をデコードして出力
するデコーダと、複数のレジスタ部を有しいずれかのレ
ジスタ部に各デコーダに出力する処理命令が書込まれる
ジェネラルレジスタとを含んで構成され、処理命令を書
込んだ前記ジェネラルレジスタの各レジスタ部を同時に
指定し、各デコーダに同時に出力して各演算パイプライ
ンを同時に実行させる並列命令手段を備えたことを特徴
とする。
【0015】
【作用】前記構成により、ジェネラルレジスタの各レジ
スタ部に処理命令を順次書込む。そして、並列命令手段
で処理命令を書込んだ各レジスタ部を同時に指定し、処
理命令を各デコーダに同時に出力して各演算パイプライ
ンを同時に実行させる。これにより、同時に多量の情報
が1つのバスに集中するのを解消し、ビット数の大きい
バスの使用の必要性を抑える。
【0016】
【実施例】以下、本発明の一実施例を図1及び図3に基
づいて説明する。
【0017】図1は本実施例の並列処理装置としての並
列計算機を示すブロック図、図3は並列エグゼキュート
命令を示す説明図である。
【0018】図1において、101は内部バス、102
はデータキャッシュを含むデータユニット、103はイ
ンストラクションキャッシュを含むインストラクション
ユニット、104はバスインターフェイス、112〜1
15は第1〜第4の演算パイプラインで、これらは前述
した従来の並列処理装置と同様の構成を有している。
【0019】内部バス101とデータユニット102と
の間は32ビット幅の内部データバスで結ばれている。 データユニット102とバスインターフェイス104間
は32ビット幅の内部データバスで結ばれている。イン
ストラクションユニット103とバスインターフェイス
104との間は32ビットのインストラクションバスで
結ばれている。バスインターフェイス104には全て3
2ビットのアドレスバス、データバス及びコントロール
バスが接続されている。インストラクションユニット1
03は内部バス101と接続されている。
【0020】105は単独演算処理用のデコーダで、イ
ンストラクションユニット103からインストラクショ
ンを受取ってデコードし、マイクロ命令として出力する
。106はマルチプレクサで、単独演算処理用デコーダ
105からのマイクロ命令と、後述の並列第1デコーダ
107からのマイクロ命令とを選択的に第1の演算パイ
プライン112に出力する。
【0021】107は並列演算処理用の並列第1デコー
ダで、後述のジェネラルレジスタ111からの処理命令
を、デコードしてマイクロ命令とし、マルチプレクサ1
06を介して第1の演算パイプライン112に出力する
。108は並列第2デコーダで、ジェネラルレジスタ1
11からの処理命令を、デコードしてマイクロ命令とし
、第2の演算パイプライン113に出力する。109は
並列第3デコーダ、110は並列第4デコーダで、これ
らも並列第2デコーダ108と同様に、ジェネラルレジ
スタ111からの処理命令を、デコードしてマイクロ命
令とし、第3及び第4の演算パイプライン114、11
5にそれぞれ出力する。
【0022】111はジェネラルレジスタで、複数のレ
ジスタ部を含んで構成されている。このジェネラルレジ
スタ111は、具体的には例えば32ビット幅を有して
1つの処理命令を書込むことができるレジスタ部を64
個含んで構成されている。さらに、ジェネラルレジスタ
111はマルチポート構成となっており、内部バス10
1と32ビット幅の双方向バス4本で結ばれてデータの
入出力を行い、さらに、32ビット幅のバスで各演算パ
イプライン112〜115にそれぞれデータを出力する
。ジェネラルレジスタ111の各レジスタ部には、ロー
ド命令により各演算パイプライン112〜115を制御
する処理命令が順次書込まれている。
【0023】並列命令手段としての並列エグゼキュート
命令は図3に示す構成になっている。即ち、“並列エク
ゼキュート”を意味するオペレーションコードと、ジェ
ネラルレジスタ111の特定のレジスタ部をそれぞれ指
定する4つのフィールドを含んで構成されている。これ
らのビット幅の一例としては、例えばオペレーションコ
ードが8ビット、各フィールドが6ビットである。そし
て、並列エグゼキュート命令121は、ジェネラルレジ
スタ111の特定のレジスタ部を全て同時に指定し、各
デコーダ107〜110を介して各演算パイプライン1
12〜115を同時に実行させる。
【0024】次に、前記構成の並列計算機の処理動作に
ついて説明する。まず、通常の単独演算処理は次のよう
になる。インストラクションユニット103は処理命令
をバスインターフェイス104を介して外部メモリから
読み込む。次に読み込んだ処理命令をデコーダ105に
書込み、デコードしてマイクロ命令とし、マルチプレク
サ106を介して第1の演算パイプライン112を制御
する。この演算パイプライン112は必要に応じ、ジェ
ネラルレジスタ111内のデータを読み込み、また、内
部バス101を介して処理後のデータをジェネラルレジ
スタ111に書き込む。さらに演算パイプライン112
は内部バス101を介して処理後のデータをデータユニ
ット102に書き込み、データユニット102は内部バ
ス101を介してそのデータをジェネラルレジスタ11
1に書き込む。またデータユニット102はバスインタ
ーフェイス104を通じ、外部とのデータのやりとりも
行う。
【0025】並列演算処理を行なう場合には次のように
なる。
【0026】まず、ループの中に入る前にロード命令を
使用して並列実行する複数の処理命令をジェネラルレジ
スタ111の特定のレジスタ部に順次格納する。この処
理命令は、32ビット固定長を有し、プログラムのコン
パイルの段階で、データ部等に予め書込んでおく。なお
、処理命令は殆どループ中に含まれ、繰り返し実行され
る場合が多い。一般的に全ソースコードの5%に実行時
間の95%が費やされるので、ジェネラルレジスタ11
1の各レジスタ部に処理命令を格納する時間はループ処
理に対して殆ど問題にならない程度の時間である。
【0027】そして、並列エグゼキュート命令121が
デコーダ105に書込まれたとき、この命令121の各
フィールドにより指定されたジェネラルレジスタ111
の各処理命令が並列第1〜第4デコーダ107〜110
に出力される。各デコーダ107〜110は受けた処理
命令をデコードしてマイクロ命令とした後、各演算パイ
プライン112〜115にそれぞれ出力する。このとき
、マルチプレクサ106の入力側は並列第1デコーダ1
07側に切り替えられており、各演算パイプライン11
2〜115は、各マイクロ命令に従ってパイプライン演
算を行う。そして、並列エグゼキュート命令121のデ
コード、ジェネラルレジスタ111からの処理命令の読
み出し及び並列第1〜第4デコーダ107〜110での
処理命令のデコードはすべてパイプライン処理されるの
で、ループ処理により並列エグゼキュート命令121が
続く限り、1クロックあたり等価的に4命令を実行し続
けることになる。これにより、実行スピードの観点から
は、1並列エグゼキュート命令121を実行することで
通常の命令を4命令実行することになる。なお、ループ
の中には通常の命令は最少限にとどめ、なるべく並列エ
グゼキュート命令121を置くようにすることが望まし
い。
【0028】以上により、従来のVLIW並列計算機が
4基本命令を1ワードとして1クロック毎に実行するの
に128ビット幅のインストラクションバス及びデータ
バスを必要としたのに対し、本実施例の並列計算機は並
列演算処理による高速情報処理能力を維持した状態で、
32ビット幅のインストラクションバス、データバスに
することができ、ユニット全体の小型、コンパクト化及
び周辺回路の減少を図ることができる。
【0029】なお、本実施例では、1つの並列エグゼキ
ュート命令121で通常の命令を4命令並列に実行する
場合を例に説明したが、1つの並列エグゼキュート命令
で通常の命令を2命令、3命令または5命令以上を並列
に実行する場合でも、前記同様の作用、効果を奏するこ
とがこでる。
【0030】また、2命令、3命令、4命令または5命
令以上の通常命令を並列実行する並列エグゼキュート命
令の各フィールドに、別々のオペレーションコードを割
り当て、各演算パイプラインにそれぞれ異なる処理を行
わせるようにしてもよい。
【0031】そして、前記5命令以上の並列エグゼキュ
ート命令とする場合には、これに対応して5以上のデコ
ーダ及び演算パイプラインが設けられることはいうまで
もない。
【0032】
【発明の効果】以上、詳述したように本発明によれば、
複数個並列に設けられた演算パイプラインと、各演算パ
イプラインに処理命令をデコードして出力するデコーダ
と、いずれかのレジスタ部に各デコーダに出力する処理
命令が書込まれるジェネラルレジスタとを含んで構成さ
れ、ジェネラルレジスタの各レジスタ部に処理命令を順
次書込み、並列命令手段で処理命令を書込んだ各レジス
タ部を同時に指定し、処理命令を各デコーダに同時に出
力して各演算パイプラインを同時に実行させるようにし
たので、同時に多量の情報が1つのバスに集中するのを
解消し、ビット数の大きいバスの使用の必要性を抑える
ことができる。これにより、従来に比べてビット数の小
さいバスにすることができ、ユニット全体の小型、コン
パクト化及び周辺回路の減少を図ることができる。
【図面の簡単な説明】
【図1】本実施例の並列処理装置としての並列計算機を
示すブロック図。
【図2】従来の並列計算機を示すブロック図。
【図3】並列エグゼキュート命令を示す説明図。
【符号の説明】
101    内部バス 102    データユニット 103    インストラクションユニット104  
  バスインターフェイス 105    単独演算処理用のデコーダ106   
 マルチプレクサ 107    並列第1デコーダ 108    並列第2デコーダ 109    並列第3デコーダ 110    並列第4デコーダ 111    ジェネラルレジスタ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  複数の演算を並列的に行なうべく複数
    個並列に設けられた演算パイプラインと、各演算パイプ
    ラインにそれぞれ対応して複数個設けられ、各演算パイ
    プラインに処理命令をデコードして出力するデコーダと
    、複数のレジスタ部を有し、いずれかのレジスタ部に各
    デコーダに出力する処理命令が書込まれるジェネラルレ
    ジスタとを含んで構成され、処理命令を書込んだ前記ジ
    ェネラルレジスタの各レジスタ部を同時に指定し、各デ
    コーダに同時に出力して各演算パイプラインを同時に実
    行させる並列命令手段を備えたことを特徴とする並列処
    理装置。
JP40322990A 1990-12-18 1990-12-18 並列処理装置 Pending JPH04217026A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP40322990A JPH04217026A (ja) 1990-12-18 1990-12-18 並列処理装置
US08/097,325 US5299321A (en) 1990-12-18 1993-07-26 Parallel processing device to operate with parallel execute instructions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP40322990A JPH04217026A (ja) 1990-12-18 1990-12-18 並列処理装置

Publications (1)

Publication Number Publication Date
JPH04217026A true JPH04217026A (ja) 1992-08-07

Family

ID=18512983

Family Applications (1)

Application Number Title Priority Date Filing Date
JP40322990A Pending JPH04217026A (ja) 1990-12-18 1990-12-18 並列処理装置

Country Status (1)

Country Link
JP (1) JPH04217026A (ja)

Similar Documents

Publication Publication Date Title
JP3688270B2 (ja) プロセッサの停止
US4740893A (en) Method for reducing the time for switching between programs
EP0241946A2 (en) Information processing system
JPS59114641A (ja) 割込処理装置
US4541045A (en) Microprocessor architecture employing efficient operand and instruction addressing
JPS6313215B2 (ja)
JPS62197830A (ja) デ−タ処理システム
JP2620511B2 (ja) データ・プロセッサ
EP0378415A2 (en) Multiple instruction dispatch mechanism
US6539471B2 (en) Method and apparatus for pre-processing instructions for a processor
JP3212213B2 (ja) データ処理装置
JP2874351B2 (ja) 並列パイプライン命令処理装置
US4812970A (en) Microprogram control system
JPH04217026A (ja) 並列処理装置
JP2553200B2 (ja) 情報処理装置
JPH0546389A (ja) 並列処理装置
KR20060058579A (ko) 고에너지 효율 병렬 처리 데이터 패스 구조
JPH0553804A (ja) 並列処理装置
JP2812610B2 (ja) パイプライン制御方式
JPS63293638A (ja) データ処理装置
JPH09101889A (ja) パイプライン演算装置
EP0862112A2 (en) Data processing system having an instruction pipeline
JP3102399B2 (ja) データ処理装置及び方法
JP2667810B2 (ja) ベクトル処理装置
JP2545594B2 (ja) オペランドデータ先取り方式