JPH0546389A - 並列処理装置 - Google Patents

並列処理装置

Info

Publication number
JPH0546389A
JPH0546389A JP20277091A JP20277091A JPH0546389A JP H0546389 A JPH0546389 A JP H0546389A JP 20277091 A JP20277091 A JP 20277091A JP 20277091 A JP20277091 A JP 20277091A JP H0546389 A JPH0546389 A JP H0546389A
Authority
JP
Japan
Prior art keywords
instruction
parallel
bus
register
dimensional
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
JP20277091A
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 JP20277091A priority Critical patent/JPH0546389A/ja
Publication of JPH0546389A publication Critical patent/JPH0546389A/ja
Priority to US08/097,325 priority patent/US5299321A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【目的】 ビット数の小さいバスを使用し、ユニット全
体の小型、コンパクト化及び周辺回路の減少を図る。 【構成】 複数の演算を並列的に行なう演算パイプライ
ン110〜113を有する並列処理装置であって、この
並列処理装置に備えた2次元拡張インストラクションレ
ジスタが、各演算パイプライン110〜113に対応し
て2次元のエントリを有し、この2次元のエントリの特
定ラインの各カラムに計算機命令を順次格納すると共
に、特定ラインを指定して複数の計算機命令を同時に実
行して並列演算処理を行う。同時に多量の情報が1つの
バスに集中するのを解消し、ビット数の大きいバスの使
用の必要性を抑える。

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】
【課題を解決するための手段】本発明はかかる問題点を
解決するためになされたもので、複数の演算を並列的に
行なうべく複数並列に設けられた演算パイプラインと、
各演算パイプラインに対応してまたは少なくとも2個以
上の演算パイプラインに対応して2次元のエントリを有
し、この2次元のエントリの特定ラインの各カラムに計
算機命令を順次格納すると共に、特定ラインを指定して
複数の計算機命令を同時に実行させる2次元拡張インス
トラクションレジスタとを備えたことを特徴とする。
【0015】
【作用】前記構成により、計算機命令を順次特定ライン
の各カラムに格納し、特定ラインの指定により各カラム
に格納された計算機命令の実行によって並列演算処理を
行う。これにより、同時に多量の情報が1つのバスに集
中するのを解消し、ビット数の大きいバスの使用の必要
性を抑える。
【0016】
【実施例】以下、本発明の一実施例を図1、図3及び図
4に基づいて説明する。
【0017】図1は本実施例の並列処理装置としての並
列計算機を示すブロック図、図3はデコード命令を示す
説明図、図4は並列エグゼキュート命令を示す説明図で
ある。
【0018】図1において、101は内部バス、102
はデータキャッシュを含むデータユニット、103はイ
ンストラクションキャッシュを含むインストラクション
ユニット、104はバスインターフェイス、105はイ
ンストラクションデコーダ、109はマルチポートレジ
スタ、110〜113は第1〜第4の演算パイプライン
で、これらは前述した従来の並列処理装置とほぼ同様の
構成を有している。
【0019】内部バス101とデータユニット102と
の間は32ビット幅の内部データバスで結ばれている。
データユニット102とバスインターフェイス104間
は32ビット幅の内部データバスで結ばれている。イン
ストラクションユニット103とバスインターフェイス
104との間は32ビットのインストラクションバスで
結ばれている。バスインターフェイス104には全て3
2ビットのアドレスバス、データバス及びコントロール
バスが接続されている。インストラクションユニット1
03は内部バス101と接続されている。
【0020】106はインストラクションレジスタで、
インストラクションデコーダ105でデコードされた1
つのマイクロ命令を保持する。さらに、このインストラ
クションレジスタ106は、インストラクションユニッ
ト103にアドレス情報(ソースオペランド)を送出
し、2次元拡張インストラクションレジスタ107にオ
ペレーション情報(オペレーションコード)を送出し、
さらに、マルチプレクサ108に第1の演算パイプライ
ン110の処理情報(マイクロ命令)を送出するように
なっている。ここで、マイクロ命令とは、通常の処理命
令(計算機命令)及び後述するデコード命令121、並
列エグゼキュート命令131等である。
【0021】107は2次元拡張インストラクションレ
ジスタで、2次元のエントリを有し、複数のマイクロ命
令を保持する(図3,図4参照)。この2次元拡張イン
ストラクションレジスタ107の横の次元をライン、縦
の次元をカラムと呼び、一例としてライン数は256、
カラム数は演算パイプラインに合せて4である。さら
に、カラムは図3中の右から順に第1〜第4の演算パイ
プライン110〜113に対応している。この2次元拡
張インストラクションレジスタ107は2ポート構成に
なっており、1つのエントリを指定しての書き込み動作
と1つのラインを指定しての読み出し動作とが同時に行
えるようになっている。そして、読み出す1つのライン
はインストラクションレジスタ106から指定する。な
お、マイクロ命令は、各演算パイプライン110〜11
3に対応して1ライン中の4つのカラムすべてに格納し
てもよく、また、3以下のカラムに格納してもよい。
【0022】さらに、2次元拡張インストラクションレ
ジスタ107は、インストラクションレジスタ106、
マルチプレクサ108及び各演算パイプライン111〜
113にそれぞれ接続される。そして、インストラクシ
ョンレジスタ106に入力する並列エグゼキュート命令
131によって、2次元拡張インストラクションレジス
タ107の各ラインに格納されたマイクロ命令がマルチ
プレクサ108(第1の演算パイプライン110)及び
第2〜第4の演算パイプライン111〜113にそれぞ
れ出力され、各演算パイプライン110〜113を制御
するようになっている。
【0023】108はマルチプレクサで、インストラク
ションレジスタ106または2次元拡張インストラクシ
ョンレジスタ107の読み出しポートから出力されるマ
イクロ命令を選択的に第1の演算パイプライン110に
送出する。
【0024】そして、インストラクションデコーダ10
5はインストラクションユニット103からインストラ
クションを受取り、デコードしてマイクロ命令とした後
インストラクションレジスタ106又は2次元拡張イン
ストラクションレジスタ107の1エントリに、各アド
レス情報(デスティネーションオペランド)に従って格
納する。
【0025】デコード命令121は図3に示す構成にな
っている。即ち、“デコード”を意味するオペレーショ
ンコードとソースオペランド、デスティネーションオペ
ランドを含んで構成されている。そして、これらのビッ
ト幅の一例としては、例えばオペレーションコードが8
ビット、ソースオペランドが14ビット、デスティネー
ションオペランドが10ビットである。ソースオペラン
ドは、直接またはインデックス修飾等の一般的に知られ
ているアドレッシングモードにより、外部メモリ122
上の特定の命令(計算機命令等)の先頭アドレス、すな
わちイフェクティブアドレスを指す。一方、デスティネ
ーションオペランドはラインフィールドとカラムフィー
ルドとに分けられ、一例としてラインフィールドは8ビ
ット、カラムフィールドは2ビットである。そして、特
定のラインとカラムの指定により、2次元拡張インスト
ラクションレジスタ107の1エントリを指す。そし
て、このデコード命令121は、イフェクティブアドレ
スが指すメモリ内容である計算機命令をインストラクシ
ョンと解釈し、この計算機命令をデコード後に、デステ
ィネーションオペランドが指す2次元拡張インストラク
ションレジスタ107の1エントリに格納される。
【0026】並列エグゼキュート命令131は図4に示
す構成になっている。即ち、“並列エクゼキュート”を
意味するオペレーションコードと、2次元拡張インスト
ラクションレジスタ107のラインを指定するフィール
ドを含んで構成されている。これらのビット幅の一例と
しては、例えばオペレーションコードが24ビット、ラ
インを指定するフィールドが8ビットである。そして、
並列エグゼキュート命令131は、2次元拡張インスト
ラクションレジスタ107の1ラインを指定し、各演算
パイプライン110〜113を同時に実行させる。
【0027】次に、前記構成の並列計算機の処理動作に
ついて説明する。まず、通常の単独演算処理は次のよう
になる。インストラクションユニット103はインスト
ラクションをバスインターフェイス104を介して外部
メモリ122から読み込む。次に読み込んだインストラ
クションをインストラクションデコーダ105でデコー
ドし、マイクロ命令としてインストラクションレジスタ
106に書き込む。インストラクションレジスタ106
に書き込まれたマイクロ命令はマルチプレクサ108を
介して第1の演算パイプライン110を制御する。この
演算パイプライン110は必要に応じ、マルチポートレ
ジスタ109内のデータを読み込み、また、内部バス1
01を介して処理後のデータをマルチポートレジスタ1
09に書き込む。さらに演算パイプライン110は内部
バス101を介して処理後のデータをデータユニット1
02に書き込み、データユニット102は内部バス10
1を介してそのデータをマルチポートレジスタ109に
書き込む。またデータユニット102はバスインターフ
ェイス104を通じ、外部とのデータのやりとりも行
う。
【0028】並列演算処理を行なう場合には次のように
なる。デコード命令121がインストラクションレジス
タ106に格納され、ソースオペランドのアドレス情報
により、インストラクションユニット103がその情報
に対応する外部メモリ122内容をインストラクション
として読み出す。さらにインストラクションデコーダ1
05は、そのメモリ内容をデコードし、インストラクシ
ョンレジスタ106内のデコード命令121のデスティ
ネーションオペランドの情報に従ってラインとカラムを
指定することで、2次元拡張インストラクションレジス
タ107の1エントリを特定し、デコード結果(マイク
ロ命令)を、特定した1エントリに格納する。これを繰
り返し、各演算パイプライン110〜113に対応した
各エントリにそれぞれマイクロ命令を格納する。この処
理はループに入る前に行なう。また、並列演算するイン
ストラクションは、プログラムのコンパイルの段階で、
データ部等に書込んでおく。なお、計算機命令は殆どル
ープ中に含まれ、繰り返し実行される場合が多い。一般
的に全ソースコードの5%に実行時間の95%が費やさ
れるので、2次元拡張インストラクションレジスタ10
7の各エントリにマイクロ命令を格納する処理の時間は
ループ処理に対して殆ど問題にならない程度の時間であ
る。
【0029】そして、並列エグゼキュート命令131が
インストラクションレジスタ106に格納されたとき、
この命令131の各フィールドにより指定された2次元
拡張インストラクションレジスタ107の各マイクロ命
令が各演算パイプライン110〜113にそれぞれ出力
される。このとき、マルチプレクサ108の入力側は2
次元拡張インストラクションレジスタ107側に切り替
えられており、各演算パイプライン110〜113は、
各マイクロ命令に従ってパイプライン演算を行う。そし
て、並列エグゼキュート命令131のデコード、2次元
拡張インストラクションレジスタ107からのマイクロ
命令の読み出し及び各演算パイプライン110〜113
での処理はすべてパイプライン処理されるので、ループ
処理により並列エグゼキュート命令131が続く限り、
1クロックあたり等価的に4命令を実行し続けることに
なる。これにより、実行スピードの観点からは、1並列
エグゼキュート命令を実行することで通常の命令を4命
令実行することになる。なお、ループの中には通常の命
令は最少限にとどめ、なるべく並列エグゼキュート命令
131を置くようにすることが望ましい。
【0030】以上により、従来のVLIW並列計算機が
4基本命令を1ワードとして1クロック毎に実行するの
に128ビット幅のインストラクションバス及びデータ
バスを必要としたのに対し、本実施例の並列計算機は並
列演算処理による高速情報処理能力を維持した状態で、
32ビット幅のインストラクションバス、データバスに
することができ、ユニット全体の小型、コンパクト化及
び周辺回路の減少を図ることができる。
【0031】さらに、本実施例の並列計算機は従来の並
列計算機に2次元拡張インストラクションレジスタ10
7及びマルチプレクサ108を設けた構成であるので、
その拡張を容易に行なうことができる。
【0032】なお、本実施例では、1つの並列エグゼキ
ュート命令131で通常の命令を4命令並列に実行する
場合を例に説明したが、1つの並列エグゼキュート命令
で通常の命令を2命令、3命令または5命令以上を並列
に実行する場合でも、前記同様の作用、効果を奏するこ
とができる。
【0033】そして、5命令以上の並列エグゼキュート
命令とする場合には、これに対応して5以上の演算パイ
プラインが設けられることはいうまでもない。
【0034】さらに、デコードされるインストラクショ
ンは、一例として32ビットの固定長でも、可変長でも
よい。換言すれば、本発明による並列計算機は、RIS
C(リデュースト・インストラクション・セット・コン
ピュータ)、CISC(コンプレックス・インストラク
ション・セット・コンピュータ)のどちらでもよい。
【0035】
【発明の効果】以上、詳述したように本発明によれば、
複数の演算を並列的に行なうべく複数並列に設けられた
演算パイプラインと、各演算パイプラインに対応してま
たは少なくとも2個以上の演算パイプラインに対応して
2次元のエントリを有し、この2次元のエントリの特定
ラインの各カラムに計算機命令を順次格納すると共に、
特定ラインを指定して複数の計算機命令を同時に実行さ
せる2次元拡張インストラクションレジスタとを備え、
計算機命令を特定ラインの各カラムに順次格納し、この
特定ラインを指定して計算機命令の実行を同時に行い、
並列演算処理を行うようにしたので、同時に多量の情報
が1つのバスに集中するのを解消し、ビット数の大きい
バスの使用の必要性を抑えることができる。これによ
り、従来に比べてビット数の小さいバスにすることがで
き、ユニット全体の小型、コンパクト化及び周辺回路の
減少を図ることができる。
【図面の簡単な説明】
【図1】本実施例の並列処理装置としての並列計算機を
示すブロック図である。
【図2】従来の並列計算機を示すブロック図である。
【図3】デコード命令を示す説明図である。
【図4】並列エグゼキュート命令を示す説明図である。
【符号の説明】
101 内部バス 102 データユニット 103 インストラクションユニット 104 バスインターフェイス 105 インストラクションデコーダ 106 インストラクションレジスタ 107 2次元拡張インストラクションレジスタ 108 マルチプレクサ 109 マルチポートレジスタ 110 第1の演算パイプライン 111 第2の演算パイプライン 112 第3の演算パイプライン 113 第4の演算パイプライン

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数の演算を並列的に行なうべく複数並
    列に設けられた演算パイプラインと、 各演算パイプラインに対応してまたは少なくとも2個以
    上の演算パイプラインに対応して2次元のエントリを有
    し、この2次元のエントリの特定ラインの各カラムに計
    算機命令を順次格納すると共に、特定ラインを指定して
    複数の計算機命令を同時に実行させる2次元拡張インス
    トラクションレジスタとを備えたことを特徴とする並列
    処理装置。
JP20277091A 1990-12-18 1991-08-13 並列処理装置 Pending JPH0546389A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP20277091A JPH0546389A (ja) 1991-08-13 1991-08-13 並列処理装置
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
JP20277091A JPH0546389A (ja) 1991-08-13 1991-08-13 並列処理装置

Publications (1)

Publication Number Publication Date
JPH0546389A true JPH0546389A (ja) 1993-02-26

Family

ID=16462887

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20277091A Pending JPH0546389A (ja) 1990-12-18 1991-08-13 並列処理装置

Country Status (1)

Country Link
JP (1) JPH0546389A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6037391A (en) * 1997-06-24 2000-03-14 Mitsubishi Pencil Kabushiki Kaisha Water based dye ink composition for free ink rollerball pen
US6387984B1 (en) 1997-10-28 2002-05-14 Sakura Color Products Corporation Aqueous ballpoint ink composition

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6037391A (en) * 1997-06-24 2000-03-14 Mitsubishi Pencil Kabushiki Kaisha Water based dye ink composition for free ink rollerball pen
US6387984B1 (en) 1997-10-28 2002-05-14 Sakura Color Products Corporation Aqueous ballpoint ink composition

Similar Documents

Publication Publication Date Title
US4896259A (en) Apparatus for storing modifying data prior to selectively storing data to be modified into a register
US5299321A (en) Parallel processing device to operate with parallel execute instructions
JPS6313215B2 (ja)
US7546442B1 (en) Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions
JPS62197830A (ja) デ−タ処理システム
JPH03286332A (ja) デジタルデータ処理装置
JP3212213B2 (ja) データ処理装置
US4812970A (en) Microprogram control system
JP2553200B2 (ja) 情報処理装置
JPH0546389A (ja) 並列処理装置
JPH0553804A (ja) 並列処理装置
JPH0222413B2 (ja)
JP2812610B2 (ja) パイプライン制御方式
JPH04217026A (ja) 並列処理装置
JPS63293638A (ja) データ処理装置
JP3102399B2 (ja) データ処理装置及び方法
JPH033047A (ja) 演算機能付きメモリ
JPH05250156A (ja) Riscプロセッサ
JP3299663B2 (ja) 演算装置
JPH0234058B2 (ja)
JPH0354632A (ja) 演算命令処理装置
JPS6286442A (ja) デ−タ処理装置
JPS61118840A (ja) 電子計算機の制御方式
JPS6149695B2 (ja)
JPH0752402B2 (ja) データ処理装置