JPH0622034B2 - マルチポートベクトルレジスタファイル - Google Patents

マルチポートベクトルレジスタファイル

Info

Publication number
JPH0622034B2
JPH0622034B2 JP63507500A JP50750088A JPH0622034B2 JP H0622034 B2 JPH0622034 B2 JP H0622034B2 JP 63507500 A JP63507500 A JP 63507500A JP 50750088 A JP50750088 A JP 50750088A JP H0622034 B2 JPH0622034 B2 JP H0622034B2
Authority
JP
Japan
Prior art keywords
read
write
vector
register
coupled
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 - Lifetime
Application number
JP63507500A
Other languages
English (en)
Other versions
JPH02501243A (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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH02501243A publication Critical patent/JPH02501243A/ja
Publication of JPH0622034B2 publication Critical patent/JPH0622034B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30141Implementation provisions of register files, e.g. ports
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • G06F15/8076Details on data register access
    • G06F15/8084Special arrangements thereof, e.g. mask or switch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30112Register structure comprising data of variable length
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/3013Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups

Description

【発明の詳細な説明】 I.発明の背景 本発明は、一般的にはメモリの分野に関し、特定的には
データプロセッサのためのベクトルレジスタの分野に関
する。
コンピュータは、屡々アクセスするデータを記憶するた
めに、長期に亘って特別目的及び汎用の両レジスタを使
用していた。近年に至ってベクトル指令によって作動す
るデータであるベクトル要素を記憶するベクトルレジス
タが若干のコンピュータに付加された。ベクトル処理
は、順次データ要素に遂行される急速な繰返し動作に特
に適する。ベクトルレジスタの例は、クレイJr.の合
衆国特許4,128,880号、チェン等の合衆国特許4,636,942
号、及びチェン等の合衆国特許4,661,900号に示されて
いる。
ベクトル処理は屡々パイプライン形状で遂行される。ベ
クトル要素のフェッチ、それらに対する演算動作の遂
行、及び結果の記憶の仕事は、専用のハードウェアによ
って並列に実行される小断片に細分される。ベクトル動
作が反覆性であるため、このようなパイプライン方式
は、もしベクトルレジスタが全てのパイプライン段に対
して充分なベクトル要素を同時に発生することが可能で
あり、また結果を記憶することが可能であれば、パイプ
ライン段の数にほぼ等しい係数まで処理の速さを増加さ
せる。“チェイニング(Chaining)”なる語は、若干の動
作から得られた結果を、遅延を付加することなく後の動
作にオペランドとして使用するメカニズムを指すために
使用される。事情は若干異なるが、前記チェン等の合衆
国特許4,661,900号にチェイニングの検討がなされてい
る。
しかしながら、チェイニング及びパイプライン処理を使
用してさえ、従来のベクトルレジスタは若干の欠陥を呈
する。例えば、もしベクトルを主メモリ内に記憶させれ
ば大きいメモリ遅延を生じ、またメモリとベクトルプロ
セッサとの間に広帯域通信路を設けなければならない。
従って、ベクトルは特別なベクトルレジスタ内に記憶さ
せることが好ましい。
特別なベクトルレジスタの設計には、若干のトレードオ
フが包含される。一方はハードウェア価格であり、他方
は性能である。速さ及び適応性の両者を得るために、ベ
クトルレジスタはフリップフロップ或はラッチを使用し
て手作業で得られる。しかしこのようなレジスタはかさ
ばると共に高価になる。普通のRAMチップを使用すれ
ば寸法及び価格の問題からは回避できるが、これらのチ
ップのモノリシック構成のためにアクセス要求が満足さ
れない。
ベクトルレジスタは複数の処理の流れにオペランドを供
給し、また結果を受入れなければならない。性能を最高
にするためには、ベクトルレジスタファイルは各プロセ
ッササイクル中に複数の同時アクセスを維持しなければ
ならない。この要求は、普通のRAM成分を使用して達
成することは困難である。
更に、ベクトルレジスタはオペランドを交換するために
処理要素に物理的に接続する必要がある。これらの接続
は屡々過大なピン要求、過大な信号負荷及びワイヤ配分
に基く競合の諸問題を発生する。
最後に、ベクトル処理の主目的は高い処理性能を達成す
ることである。従って記憶要素を極めて短時間周期で循
環させる必要がある。従来のRAMチップを使用すると
アドレス配分、RAMアクセス時間、及びデータ配分を
含ませるのに必要なサイクルのために短時間周期を達成
することは困難である。高速の達成は、クロックスキュ
ーを許容する必要があるために更に複雑になる。
従って本発明の目的は、例えば短いサイクル時間を使用
することによって、ベクトル処理をスピードアップする
ために極めて効率的に使用可能なベクトルレジスタを提
供することである。
また非標準RAMセル技術を使用し、高速ベクトルレジ
スタのアクセス要求を満足するベクトルレジスタを形成
することも本発明の目的である。
本発明の別の目的は、ベクトルレジスタと処理要素との
間の物理的相互接続問題を最小にすることである。
本発明の更に別の目的は、ベクトルレジスタへの同時多
重アクセスを設けることによって、重ね技術及びパイプ
ライン処理を使用するようにベクトルレジスタの能力を
改良することである。
本発明の更に別の目的は、任意の個々のレジスタへの連
続的なレジスタアクセス中の競合を最低にするベクトル
レジスタを提供することである。
本発明の付加的な目的及び長所は、部分的に以下の説明
の中で述べまた部分的にはこの説明から明白になろう。
或はこれらの目的及び長所は本発明の実行によって習得
できるであろう。本発明の目的及び長所は、特に請求の
範囲において指摘する方法及び装置によって実現し、達
成することが可能である。
II.発明の概要 本発明は従来技術の諸問題を解消し、同時読出し動作並
びに同時書込み動作が可能なベクトルレジスタによって
上述した目的を達成する。
これらの目的を達成するために、及び本発明の目的によ
れば、実施例に示し以下に詳述するように、書込みアド
レスを有する書込み命令或は読出しアドレスを有する読
出し命令の何れかからなる複数のファイルアクセス要求
に同時にサービスできる本発明のベクトルレジスタファ
イルは;データを記憶するレジスタアレー;レジスタア
レーに結合され、読出し選択信号に応答して複数の読出
しポートの少なくとも2つを通して記憶したデータを同
時に出力する読出し手段;レジスタアレーに結合され、
書込み選択信号に応答して複数の書込みポートの少なく
とも2つを通して該アレー内にデータを同時に記憶させ
る書込み手段;読出し手段に結合され、読出しアドレス
及び読出し命令に応答して読出し選択信号を発生する第
1の選択手段;及び書込み手段に結合され、書込みアド
レス及び書込み命令に応答して書込み選択信号を発生す
る第2の選択手段を具備する。
詳述すれば、本発明のベクトルレジスタは経済的なRA
Mセル構造を使用するが、このRAMを独立して循環可
能なより小さいユニットに分割してアクセスを容易にし
ている。RAM構造は、独立的にアクセス可能な規定
数、例えば16に分割される。これによって独立的にア
クセス可能な読出しポート及び書込みポートを複数設け
ることが可能とする。更に、ベクトルレジスタを、ずら
せてらせん状にした記憶要素パターンのバンク(床屋の
看板柱技術とも呼ばれる)に配列することによってバン
ク間の競合数を減少させることができ、またベクトルレ
ジスタの一部の記憶待合せによって、バンクが一時的に
繁忙の時は結果を一時的に記憶させることができる。
RAM構造の使用は、RAMのアクセス時間中に重なり
合う信号を配分可能ならしめるべく、アドレス及びデー
タを局部的にラッチすることによって能率的になる。ま
た個々のバンクのアドレスを局部的に選択することによ
ってクロックスキューは、これもまた局部的に発生され
る書込みパルスのスキューと同様に最低になる。
各処理要素毎に若干の専用読出しポート及び書込みポー
トを使用することによってレジスタと処理要素との間の
接続を簡略化することが可能となり、それによって競合
数も減少させることができる。データ源及び結果のルー
チングの局部的選択、並びにベクトルレジスタと同一接
続を使用したスカラレジスタの使用によって、競合数は
更に減少する。
本明細書に組合わされ、本明細書の一部をなす添附図面
は本発明の一実施例を示し、その説明と共に本発明の原
理を解説する。
III.図面の簡単な説明 第1図は本発明によるベクトルレジスタの好ましい実施
例を組入れたデータ処理システムの図であり、 第2図は本発明のベクトルレジスタの好ましい実施例を
組入れた第1図のベクトル処理ユニットのブロック線図
であり、 第3A図及び第3B図は第2図内のベクトルレジスタの
好ましい実施例内の要素の回路図であり、 第4図は第3A図及び第3B図に示すベクトルレジスタ
における読出し及び書込みのタイミング図であり、 第5図は本発明の好ましい実施例内のベクトルレジスタ
要素のらせん状或は“床屋の看板柱”配列を示す概念図
であり、 第6図は本発明による競合検出回路の好ましい実施例の
ブロック線図であり、 第7図は第2図の乗算ユニット70のためのアドレス発
生回路の好ましい実施例であり、 第8図は第2図の加算ユニット80のためのアドレス発
生回路の好ましい実施例であり、そして 第9図は第2図のマスクユニット90のためのアドレス
発生回路の好ましい実施例である。
IV.好ましい実施例の説明 添附図面に例示してある現在では好ましい本発明の実施
例に関して詳細に説明する。
第1図は各種要素からなるデータ処理システム10の例
を示す。ベクトル処理ユニット30は、本発明のベクト
ルレジスタファイルの好ましい実施例を含む。指令処理
ユニット25は、指令解析回路を含み、該回路はメモリ
処理ユニット20から指令を受け、スカラ処理ユニット
15へ指令データを送る。スカラ処理ユニット15は全
てのスカラ指令を実行し、ベクトル指令及びベクトルデ
ータをベクトル処理ユニット30へ送る。メモリ処理ユ
ニット20は、指令処理ユニット25、スカラ処理ユニ
ット15、及びベクトル処理ユニット30から制御信号
及びデータ信号を受け、これらの信号を調停し、処理
し、そしてこれらの信号に応答する。データ処理システ
ム10内には他の要素が存在していても差支えないが、
これらの要素の理解は本発明の理解には不必要である。
第2図は、第1図内のベクトル処理ユニット30の好ま
しい実施例を示す図である。第2図に示すように、ベク
トル処理ユニット30は、データ処理システム10との
主インターフェイスとしての制御論理ユニット60、及
びファイルアクセス要求にサービスするためのベクトル
レジスタファイル35を含む。ファイルアクセス要求と
は、書込み制御信号及び書込みアドレスからなる書込要
求、或は読出し制御信号及び読出しアドレスからなる読
出し要求の何れかであることができる。ベクトルレジス
タファイル35は、WT.PORT 0〜WT.PORT 2と名付け参照
番号41〜43を附した複数の書込みポート、及びRD.P
ORT 0〜RD.PORT 4と名付け参照番号51〜55を附した
複数の読出しポートを含む。書込みポートは書込み制御
信号、書込みアドレス及び書込みデータを受ける。例え
ば、書込みポート42(WT.PORT0)に対する書込み制
御信号は、制御論理ユニット60からのWPORT 0.WT.EN
信号である。これもまた制御論理ユニット60から受け
る書込みアドレスは、WPORT 0、VREG.SEL及びWPORT 0.V
ELM.ADR信号である。
書込みポート42のための書込みデータは、制御論理ユ
ニット60によって供給されるデータラインから到来す
る。他の書込みポートは、WT.PORT 1及びWT.PORT 2が、
ベクトル乗算ユニット70及びベクトル加算ユニット8
0のような他の回路要素の出力からデータを受けること
を除いては、類似している。全ての書込みポートはそれ
らの制御信号を制御論理ユニット60から受ける。
読出しポートは書込みポートと同様に動作する。例え
ば、RD.PORT 0に対応する読出しポート53は、制御論
理ユニット60から制御信号RPORT 0.RD.EN、及びアド
レス信号RPORT 0.VREG.SEL及びRPORT 0.VELM.ADRを受け
る。読出しポート53からの読出しデータはマスクユニ
ット90へ供給される。
他の読出しポートも制御論理ユニット60から制御信号
及びアドレス信号を受ける。読出しポート55(RD.POR
T 1)及び54(RD.PORT 2)からの出力はベクトル乗算
ユニット70へ接続され、また読出しポート52(RD.P
ORT3)及び51(RD.PORT 4)の出力はベクトル加算ユ
ニット80へ接続される。
これらのインターフェイス論理回路の他に制御論理ユニ
ット60は、好ましくは制御論理回路(その若干に関し
ては以下に説明する)及び指令解析回路を含む。指令解
析回路はスカラ処理ユニット15から情報(即ちベクト
ル指令)を受け、この情報を使用してベクトル乗算ユニ
ット70、ベクトル加算ユニット80或はマスクユニッ
ト90の動作を制御する。制御論理ユニット60内の制
御論理回路は、ベクトル処理ユニット内の全ての活動の
スケジューリングを監督する。
ベクトルレジスタファイル35の詳細を第3A図及び第
3B図に示す。これらの図に示されている回路は単一の
集積回路チップ上に集積して速度増加という所望の目的
を達成することが好ましい。ベクトルレジスタファイル
は、データを記憶するためのレジスタアレー99を含
む。このレジスタアレー99は変形したRAM構造であ
ることが好ましい。レジスタアレー99は複数のサブア
レー100〜115(VREG 0〜VREG 15)からなり、こ
れらのサブアレーが一緒になってベクトルレジスタのフ
ァイルを形成している。好ましくは、各サブアレーは6
4要素を有し、従ってレジスタアレー99は1,024の6
4ビット要素(即ち8,192バイト)の合計記憶容量を提
供する。勿論本発明によれば異なるサイズのアレー及び
異なる構成のアレーを使用することが可能である。
第3B図に示すように、レジスタアレー99は複数のサ
ブアレー部分で構成することが好ましい。好ましい実施
例においては、レジスタアレー99に論理的に16サブ
アレーからなる。本発明の好ましい実施例においては、
レジスタアレー99は物理的に8デミアレーに“スライ
ス”されており、各デミアレーは64要素ずつの16サ
ブアレーからなる。これらの各要素は8データビット及
び1パリティビットを有する。第3A図及び第3B図は
1,024バイトを有するベクトルレジスタアレー99の
“スライス”を示す。しかし、スライスの使用が好まし
いのではあるが、本発明の広い面によれば必要なもので
はない。
書込みポート及び読出しポートの両方のためのアドレス
は2部分に分割される。RPORTx.VREG.SEL或はWPORTx.VR
EG.SELで表わされる第1部分(小文字の“x”は説明す
る読出しポート或は書込みポートを特定する)は、16
のサブアレーの1つを選択するのに使用される。好まし
い実施例においては、これらの各信号は4ビットからな
ることが好ましい。アドレスの第2部分はRPORTx. VEL
M.ADR或はWPORTx.VELM.ADRに対応し、選択されたサブア
レー内の64要素の1つを選択するのに使用される。本
発明の好ましい実施例においては、これらの信号は6ビ
ットを有する。
本発明のベクトルレジスタファイルは、スカラ値を収容
するスカラレジスタファイル(第3A図参照)をも含
む。第3A図に示すように、スカラレジスタ120〜1
24はこれらのスカラ値を収納する。各スカラレジスタ
120〜124は1対のラッチ120a/120b〜124a/124bに
よって構成されている。本発明の好ましい実施例におい
ては、5つの読出しポートのそれぞれに1つのスカラレ
ジスタが専用されているが、このような対応は本発明の
全ての実施例に必ずしも必要ではない。
スカラレジスタ120〜124は、それぞれのための適
切な制御信号SCAL 0.LD〜SCAL 4.LDに応答してWPORT 0.
データラインからロードすることが好ましい。SCALx.LD
信号は制御論理ユニット60内の指令解析回路から受け
る。SCAL 0.LD〜SCAL 4.LD信号の値に依存してそれぞれ
のスカラレジスタ120〜124は、クロックパルスTA
CLKによってその出力を再循環させるか、或はWPORT 0
ラインからのデータをロードする。
第3A図に示すように、スカラレジスタ120〜124
の出力はそれぞれS0〜S4で表わされる。各スカラレ
ジスタ120〜124もレジスタアレー99の要素と同
様に64ビット巾であり、合計8ビットのパリティを含
む。好ましくはスカラレジスタも、それぞれレジスタア
レー99のそれぞれのスライスに対応する8つの等サイ
ズ要素のスライスでで構成する。
本発明によれば、ベクトルレジスタファイルは読出し手
段を含む。読出し手段はレジスタアレーに結合され、読
出し選択信号に応答して記憶されたデータをレジスタア
レーから少なくとも2つの読出しポートを通して同時に
出力する。読出し手段は少なくとも2つのサブアレーか
らデータを同時に出力する信号ルーチング手段をも含む
ことができる。第3A図及び第3B図に示す本発明のベ
クトルレジスタファイルの好ましい実施例においては、
信号ルーチング手段は複数のマルチプレクサを含み、各
マルチプレクサの入力はサブアレーに、また出力はそれ
ぞれ読出しポートの各々に結合されている。マルチプレ
クサ130〜134は読出し手段として作用する。
各マルチプレクサ130〜134は16の入力を有し、
これらの各入力はそれぞれサブアレー100〜115の
各々に接続されている。各マルチプレクサ130〜13
4は1つの出力を有し、この出力は、結果的に、読出し
ポートの各々に結合することができる。各マルチプレク
サ130〜134が発生する出力は、レジスタサブアレ
ーから受ける入力の1つに一致する。各マルチプレクサ
130〜134は選択端子SELをも有し、これらの各
端子は読出し論理回路210から、どどのサブアレーか
らデータを読出すのかを識別する異なる4ビットの選択
コードを受ける。各マルチプレクサ130〜134のた
めの4ビット選択コードは同時に発生し、それによって
少なくとも2つのサブアレーからのデータが同時に出力
される。
本発明のベクトルレジスタファイルは、読出し手段の一
部として、選択信号に応答してスカラレジスタファイル
の内容を出力する手段をも含む。第3A図及び第3B図
から自由なように、異なるスカラレジスタファイル12
0〜124の内容を出力するために、それぞれマルチプ
レクサ140〜14を使用することができる。各マルチ
プレクサ140〜144の一方の入力はそれぞれマルチ
プレクサ130〜134の各々の出力に接続され、第2
の入力はスカラレジスタ120〜124の各々の出力に
結合されている。各マルチプレクサ140〜144は選
択入力(SEL)を有し、それぞれ信号SCAL 0.SEL〜SC
AL 4.SELを受けるように結合されている。これらの選択
信号は、クロック入力信号AT CLKを受けているラッチ1
48によって緩衝されている。SCALx.SEL信号は制御論
理ユニット60内の指令解析回路から受ける。
SCALx.SEL信号に応答してマルチプレクサ140〜14
4は、マルチプレクサ130〜134の出力或はスカラ
レジスタ120〜124の出力の何れかを選択する。こ
れによってマルチプレクサ140〜144の出力に現わ
れる選択された信号は、TB CLK信号に応答して記憶要素
150〜154内にそれぞれラッチされる。記憶要素1
50〜154はそれぞれ、読出しポート50〜54(RD
PORT 0〜RD PORT 4)のためのデータ出力を収納する。
本発明によれば、読出し手段は第1の組のマルチプレク
サをも含み、これらの各マルチプレクサの出力はサブア
レーの各々のアドレス端子に、また入力は読出しアドレ
スの語選択部分を受けるように結合されている。第3A
図及び第3B図に示すように、マルチプレクサ1601
〜16016が本発明の好ましい実施例におけるこれらの
マルチプレクサの組である。各マルチプレクサの入力端
子はラッチ165の出力端子に接続され、ラッチ165
自体の入力端子は各読出しポートのためのRPORTx.VELM.
ADR信号から5ビットを受けるように接続されている。
ラッチ165のクロック端子はTA CLK信号を受ける。ラ
ッチ165への入力、従ってマルチプレクサ1601
16016への入力は特定のサブアレー内の要素のための
アドレスである。
各マルチプレクサ1601〜16016の制御端子(SE
L)は、出力として選択すべき入力はどれかを指示する
読出し論理回路210からの3ビットのコードを受け
る。3ビットSEL入力は、5つの読出しポートの1つ
に関係する要素のアドレスを識別する。
本発明のベクトルレジスタファイルは第1選択手段をも
含む。第1選択手段は読出し手段に結合され、読出しア
ドレス信号及び読出し制御信号に応答して読出し選択信
号を発生する。第3B図に示すように、読出し論理回路
210は、マルチプレクサ1601〜16016及びマル
チプレクサ130〜134の両者に選択信号を供給する
ことによって、本発明の好ましい実施例における上記選
択手段の機能を提供する。読出し論理回路210は入力
としてRPORTx.RD.EN信号を、またアドレスとしてRPORT
x.VREG.SEL信号を受ける。RPORTx.RD.EN信号は単一ライ
ンの信号であり、これらの信号は付活されると特定読出
しポートのための特定アドレスが有効であることを指示
する。読出し論理回路210は、公知の技術で各ポート
毎にRPORTx.RD.EN信号及びRPORTx.VREG.SEL信号をエン
コードしてマルチプレクサ1601〜16016のための
3ビット信号を作る。これらの信号は、レジスタ要素ア
ドレスの源である読出しポートを識別し、またRPORTx.V
REG.SEL信号を正確にマルチプレクサ130〜134へ
導びいて各マルチプレクサのためのデータを収納してい
るサブアレーを決定させる。
更に本発明によれば、ベクトルレジスタファイルは書込
み手段をも含む。書込み手段はレジスタアレーに結合さ
れ、書込み選択信号に応答して複数の書込みポートの中
の少なくとも2つのポートを通してレジスタアレー内に
データを同時に記憶させる。書込み手段は、少なくとも
2つのサブアレー内にデータを同時に記憶させる手段を
含むことができる。好ましくは、このような記憶手段は
複数のマルチプレクサを含み、各マルチプレクサの入力
をデータの源に、また出力をサブアレーの各々に接続す
る。このようなマルチプレクサは第3B図にマルチプレ
クサ2601〜26016として示してあり、これらのマルチプ
レクサの入力は各書込みポートからデータを受け、また
出力はレジスタアレー99のサブアレー100〜115
に接続されている。
各マルチプレクサ2601〜26016の制御端子は、デ
ータの源(即ちそこから書込みポートデータが取出され
る)を特定する書込み論理回路220から2ビットのコ
ードを受ける。
書込み手段も第1の組のマルチプレクサを含むことがで
きる。各マルチプレクサの出力はサブアレーの各々のア
ドレス端子に、また入力は書込みアドレスの語選択部分
を受けるように接続されている。第3B図に示すマルチ
プレクサ1701〜17016がこのような機能を提供す
る。各マルチプレクサ1701〜17016の入力は、ラ
ッチ265によって緩衝されTA CLK信号によって限時さ
れたWPORTx.VELM.ADR信号の各々を受けるように接続さ
れている。
マルチプレクサ1701〜17016の制御端子はSEL
で示されており、各制御端子は書込み論理回路220か
ら2ビット信号を受ける。この信号は、後述するよう
に、書込み制御信号から誘導する。
第3B図に示すように、別の組のマルチプレクサ180
1〜18016も存在しており、各マルチプレクサ1801
〜18016はマルチプレクサ1701〜17016の対応
する各々からの入力と、マルチプレクサ1601〜16
16の対応する各々からの入力とを受ける。マルチプレ
クサ1801〜18016の出力はそれぞれサブアレー1
00〜115の各々に接続されている。マルチプレクサ
1801〜18016は、それらにどの入力を選択するの
かを指示する書込み論理回路220からの制御信号も受
けている。
本発明のベクトルレジスタファイルは第2の選択手段を
も含む。第2の選択手段は書込み手段に結合され、書込
みアドレス及び書込み制御信号に応答して書込み選択信
号を発生する。第3B図に示すように、書込み論理回路
220が、マルチプレクサ1701〜17016、マルチ
プレクサ1801〜18016、及びマルチプレクサ26
1〜26016へこれらの選択信号を供給する。書込み
論理回路220は、TA CLK信号に応答してラッチ225
を通して緩衝されたWPORTx.WT.EN信号及びWPORTx.VREG.
SEL信号を受ける。WPORTx.WT.EN信号は、対応する入力
上のデータが有効であることを指示する。次で書込み論
理回路220はWPORTx.VREG.SEL信号を用いてマルチプ
レクサ1701〜17016を制御する。書込み論理回路
220は、同じ信号によってマルチプレクサ1801
18016及び2601〜26016も制御する。
レジスタ選択論理回路250も書込み論理回路220か
らの制御信号を受けて書込み可能化信号をベクトルレジ
スタ100〜115へ導く。16の書込み可能化信号
は、WPORTx.VREG.SEL信号をデコードすることによって
書込み論理回路220が発生する。
ベクトルレジスタ要素に加えて、本発明のベクトルレジ
スタ回路は演算手段を含むことができる。演算手段は読
出しポートの中に選択されたポートに接続されている入
力と、書込みポートの中に選択されたポートに接続され
ている出力とを有する。第2図に示す演算手段の例は、
ベクトル乗算ユニット70、ベクトル加算ユニット8
0、及びマスクユニット90を含む。
ベクトル加算ユニット80は、ベクトルレジスタファイ
ル35からRD.PORT 3及びRD.PORT 4を通して供給される
2つの64ビット語に対して整数及び浮動点加算或は減
算動作を遂行する。好ましくは加算ユニット80は若干
の論理動作及びシフト動作も遂行する。ベクトル加算ユ
ニット80の出力(“結果”)はWT.PORT 1へのデータ
入力となる。ベクトル加算ユニット80は除外論理回路
82をも含む。除外論理回路82はマスクユニット90
に結合され、条件が整った時に加算ユニット80の動作
の遂行を可能ならしめ、またマスクユニット90に演算
除外状態(例えばオーバフロー)を通知する。
ベクトル乗算ユニット70はベクトルレジスタファイル
35のRD.PORT 1及びRD.PORT 2から受ける2つの64ビ
ット語に対して整数或は浮動点乗算或は除算を遂行す
る。これらの入力の積或は商も“結果”で示され、WT.P
ORT 2への入力データとなる。マスクユニット90に結
合されている除外論理回路72は、乗算ユニット70に
よる乗算或は除算の結果生じた演算除外状態(例えばオ
ーバフロー)が存在する時はマスクユニット90に指示
する。
マスクユニット90はRD.PORT 0を通してベクトルレジ
スタファイル35からデータを受け、ベクトルデータを
ベクトル処理ユニット30からスカラ処理ユニット15
へ供給する。また、マスクユニット90はRD.PORT 0か
らデータを読出してそれを処理ユニット20のためのア
ドレスに変換することができる。更に、マスクユニット
90は除外論理回路72及び82に結合されていてそれ
らの除外状態をラッチする。
マスクユニット90の中には64ビットのマスクレジス
タ92が収容されており、各ビットは全ベクトルレジス
タ内のベクトル要素に対応している。マスクレジスタ9
2は制御論理ユニット60を介してスカラ処理ユニット
15からのデータをロードすることが可能であり、ベク
トル要素に対するマスクレジスタ92の状態に基いてベ
クトル要素内への書込みを制御するのに使用することが
できる。
第4図は読出し及び書込みの基本タイミングを示す図で
ある。ベクトルレジスタ99のための外部タイミング及
び内部タイミングの両方を示してある。第3B図のタイ
ミング論理回路205はX信号及びY信号を使用してTA
CKK信号及びTB CLK信号を発生する。TA CLK信号は外部
制御信号のために使用される。タイミングを説明するた
めの約束として、主サイクルは連続するTA CLK信号の発
生の間の時間として定義する。各主サイクルは読出しサ
イクル及び書込みサイクルの両者からなる。
要約すれば、読出しアドレスは主サイクルの始めに有効
になる。前述のように、読出しアドレスはRPORTx.VREG.
SEL信号及びRPORTx.VELM.ADR信号からなる。RPORTx.RD.
EN信号は、そのポートのためのアドレスが有効であり、
読出し動作が行われることであろうことを指示する。ベ
クトルレジスタ99から読出されたデータは、サイクル
の開始後約8nS有効である。
内部的には、主サイクルの第1の部分は読出しサイクル
であり、このサイクル中にアレー/読出しアドレスがマ
ルチプレクサ1801〜18016によって選択される。
アレー読出しデータ出力は読出しサイクルの終りに内部
的に利用可能となる。
要約すれば、書込みアドレスは読出しアドレスと同一時
間に外部的に有効である。書込みアドレスはWPORTx.VRE
G.SEL信号及びWPORTx.VELM.ADR信号からなる。読出しア
ドレスのタイミングと同様に、書込みアドレスはTA CLK
信号時にベクトルレジスタファイル35内へクロックさ
れる。WRORT 0データはTA CLK信号時にラッチされる。W
PORT1データ及びWPORT2データはTA CLK信号後約5nSの
間有効である。WPORTx.WT.EN信号は指示された書込みポ
ートのための書込み動作が行われるであろうことを指示
する。
読出し及び書込みアドレスは、外部的にはほぼ同一の時
間に有効となるが、内部的には読出しサイクル後に現わ
れる書込みサイクル中にマルチプレクサ1801〜18
16によって選択されるまでアレー書込みアドレスは有
効とはならない。書込み可能化信号は、書込みサイクル
中の書込みデータが有効である間にレジスタ選択論理回
路250によって発生される。
以上のタイミングを使用して、本発明の好ましい実施例
は各主サイクル中に5読出しアクセス及び3書込みアク
セスまでのアクセスを可能ならしめることによって、パ
イプライン処理及びチェイニングを利用している。更に
この本発明の好ましい実施例は、同じベクトルレジスタ
に対してこれら全てのアクセスを可能ならしめることに
よって従来技術とは区別される。チェン等の合衆国特許
4,661,900号に記載されているような従来技術のベクト
ルレジスタファイルのベクトルレジスタは、各主クロッ
クサイクル中に1読出し及び1書込みだけが可能であ
る。
当業者ならば第3A図及び第3B図に示す論理図から、
各サブアレー(100〜115)が各主サイクル中に1
読出しアクセスのみ及び1書込みアクセスのみしか許容
しないことは容易に理解されよう。もしベクトルレジス
タの要素が個々のサブアレーに割当てられているものと
すれば、明らかに競合を生ずるので主サイクル中に1以
上の読出し或は1以上の書込みが望まれよう。競合の発
生を最低とし、また本発明の全ての可能性を実現するた
めに、ベクトルレジスタをらせん状に、即ち“床屋の看
板柱”状配列に構成することが好ましい。このような配
列においては、アーチテキチャ的に限定されプログラマ
が見ることが可能なレジスタは、実際には物理的にベク
トルレジスタファイルサブアレーにまたがって広がって
いる論理レジスタである。各論理レジスタ内で連続する
要素は、異なるサブアレー内に対応する位置を有する。
ベクトルレジスタをこのように配列することによってパ
イプライン処理に大きい融通性を与えることが可能とな
り、また任意のベクトルレジスタが5読出し及び3書込
みに同時にサービス可能であることから、ソフトウェア
はより効率的にベクトルレジスタファイルを使用するこ
とが可能となる。
この配列の例を第5図に示す。第5図にはベクトルレジ
スタファイル99、並びに個々のレジスタ0〜F
(“F”は16進法の15)を示してある。各ベクトル
レジスタアレー0〜15(番号100〜115)は64
ビット及び8パリティビットを有する64要素を収納し
ている。しかし実際にはベクトルレジスタからの要素は
500〜515で示すように16バンクのらせん即ち床
屋の看板柱配列に納められている。各バンクの順次要素
は連続するパンク内に納まっている。例えば、ベクトル
レジスタ0の要素0(V0-00で表わす)はバンク500
内に納まり、ベクトルレスタ0の要素1(V0-01)はバ
ンク501の第2の要素として収納されている。ベクト
ルレジスタ0の要素2(V0-02)はバンク502の第3
の要素として収納されている。このパターンはベクトル
レジスタ0の要素15(V0-15)がバンク515の16
番目の要素として収納されるまで続く。しかしベクトル
レジスタ0の要素16(V0-16)はバンク500に戻っ
てその17番目の要素として収納されている。
他のベクトルレジスタに関しても同じパターンが用いら
れている。例えば、ベクトルレジスタ1の要素0(V1-0
0)はバンク501の第1の要素として収納され、ベク
トルレジスタ1の要素1(V1-01)はバンク502の第
2の要素として収納されている等々である。16バンク
方式におけるベクトル要素の位置は、ベクトルレジスタ
nのm番目の要素がm+nバンク(16進法)のm番目
の要素として収納されていることから決定できる。
より一般的に物理的バンク番号を決定する式は、[(V
+I)+(J*E)]n進法、である。但し、Vは実際
のレジスタの数、Iはバンクオフセット値、Jはバンク
増分値、Eは実際のレジスタの要素の数、及びnは物理
的バンクの数であって実際のレジスタアレーの数に等し
くすることが好ましい。また一般的な場合において、物
理的バンク内の要素の数は[(E*K)+L]m進法、
によって決定される。但し、Kは要素増分値、Lは要素
オフセット値、及びmは物理的バンク内の要素数であ
る。J及びnは、K及びmと同様に互に素とすべきであ
る。増分値J及びKは非0であり、第5図に示す好まし
い実施例においては1に等しい。
前述のように、この記憶装置配列は、ベクトル処理に関
して若干の長所を有している。この配列はレジスタアク
セス競合の可能性を根絶するものではないが、それらの
発生を著しく減少させる。更に、この配列は全ての先行
ベクトル指令が完了するまで待機することなく競合の解
消を可能にすることを保証する。
しかしながら、競合の発生を検出する手段を工夫するこ
とが残されている。本発明によれば、ベクトルレジスタ
回路は競合状態を検知する手段を含むことができる。第
6図は本発明によるかかわる競合検出のための好ましい
実施例を示す。第6図に示す要素は第2図に示すベクト
ル処理ユニット30の好ましい実施例の中の制御論理ユ
ニット60の一部である。
競合検出回路600内の源Aデコーダ602、源Bデコ
ーダ604、及びDSTデコーダ606はそれぞれ4−
16デコーダである。これらのデコーダへの入力はそれ
ぞれSRC.A.REG信号、RC.B.REG信号及びDST.REG信号であ
る。これらの各信号は制御論理ユニット60内の指令解
析回路から受けた4ビットの信号であって、ある動作に
関連する論理レジスタ位置を識別している。即ち、指令
解析回路はスカラ処理ユニット15から送られる指令か
らオペランドの源を収納している論理ベクトルレジスタ
を指示する。SRC.A.REG信号及びSRC.B.REG信号と、結果
が送られる論理ベクトルレジスタを指示するDST.REG信
号を決定する。デコーダ602、604、及び606の
16ビットの出力は、1ビット位置が付活され残余が付
活されていないコードである。
これらの16ビットのコードは遂行される指令の型に従
って、加算回路源スケジュールレジスタ610、乗算回
路源スケジュールレジスタ615、或は汎用源スケジュ
ールレジスタ618の何れかの中にロードされる。即
ち、加算指令の場合にはデコーダ602及び604から
のコードが加算回路源スケジュールレジスタ610内に
ロードされる。同様に、乗算指令の場合にはデコーダ6
02及び604からのコードは乗算回路源スケジュール
レジスタ615内へロードされる。従って、源スケジュ
ールレジスタ610、615及び618の出力はデュア
ルオペランド指令に対する2付活ビット位置か、単一オ
ペランド指令に対する1付活ビット位置か、或はこれら
のレジスタを使用しない動作に対する無付活ビット位置
の何れかである。
これらのレジスタは制御論理ユニット60が発生するBI
T SET ADD信号、BIT SET MUL信号或はBIT SET GEN信号
に従ってロードされる。各レジスタ610、615及び
618はシフトレジスタであって、第5図に関して説明
した床屋の看板柱計画を遂行する。即ち第5図に示すよ
うに、ベクトルが初期にロードされる時にはバンク50
0〜515の実際のアドレスはベクトルレジスタ0〜F
に一致している。各ベクトル動作の後にはレジスタ61
0、615及び618は、そのレジスタに対応する動作
が進行中であれば、シフトしている。付活されたビット
のこのようなシフトによって、その位置は第5図に例示
した床屋の看板柱方式に従って所望のデータの源となる
べき次のバンクに一致する位置まで効果に進られる。
ベクトル動作が異なる要素に対して続行されて行くにつ
れて、レジスタ610、615及び618の各々内の付
活されたビットの位置がシフトし、“源”データが得ら
れる実際のメモリバンクを指示して行く。次で、レジス
タ出力はAND回路網630及びOR回路網635を用
いる競合検出に使用される。
以上に説明した第6図の要素は源競合を検出する手段を
構成している。これらの要素は有効性競合をチェックす
るのにも使用できる。好しくは記憶用レジスタであって
シフトレジスタではない錠止レジスタ620は、爾後の
指令のために必要な情報を含んでいる先行指令の先行を
表す16ビットのコードを収納する。このようにする
と、爾後の指令が未だに有効情報を有していない源から
の情報を必要としているか否かの決定を行うことができ
る。
もし必要情報が加算指令の結果であれば、データの先行
のためのコードは4ビット信号ADD BIT SETである。ADD
BIT SET信号は4−16デコーダ621への入力であ
り、該デコーダはレジスタ620内の対応ビット位置を
セットする。そのビット位置をクリヤする場合には、4
ビットのADD BIT CLR信号をデコーダ622の入力へ供
給してこの識別されたビット位置をクリヤさせる。4−
16デコーダ623及び624への入力であるMUL BIT
SET信号及びMUL BIT CLR信号はそれぞれ乗算指令に関し
て同じように動作する。ADD BIT SET、ADD BIT CLR、MU
L BIT SET及びMUL BIT CLR信号は後述するベクトルアド
レス回路によって発生される。
錠止レジスタ620からの16ビットコードは、源レジ
スタ610、615及び618の出力と同様にAND回
路網630への入力である。AND回路網630は複数
の2入力ANDゲートからなる。各2入力ANDゲート
は、同一のビット位置に関してレジスタ610、61
5、618及び622からの出力の異なる対を入力とし
ている。例えば、ビット位置0の場合、錠止レジスタ6
20と各源スケジュールレジスタ610、615及び6
18との別々の組合せに対してそれぞれ異なる対の2入
力ANDゲートが設けられている。更に、ビット位置0
に対しては、各源スケジュールレジスタ610と618
との組合に対して異なる2入力ANDゲートが存在す
る。最後に各乗算回路源スケジュールレジスタ615毎
に、ビット位置0に関して源スケジュールレジスタ61
8との間に2入力ANDゲートが存在している。他の各
ビット位置に関しても同じような組の2入力ANDゲー
トを設けてある。
これら全ての2入力ANDゲートの出力は各ビット位置
毎に論理和(OR)され、各ビットが異なるサブアレー
に対応している16ビットの出力が形成される。従っ
て、もし16のビット位置の何れかが付活されれば、そ
れはそのビット位置に対応するレジスタサブアレーにお
いて競合が存在するためである。
ORゲート635は16入力ORゲートであり、その出
力は源競合信号である。もし16の入力の何れかが付活
されれば、源競合信号が付活される。
行先競合は源競合及び有効競合の検出と同じ技法で検出
される。3組の行先レジスタ、即ち加算回路行先スケジ
ュールレジスタ640、乗算回路行先スケジュールレジ
スタ646、及び汎用行先スケジュールレジスタ643
が存在する。シフトレジスタであるこれらの各レジスタ
は行先デコーダ(DSTデコーダ)606から16ビッ
ト入力を受ける。それぞれのレジスタは制御論理ユニッ
ト60からのBIT SET ADD、BIT SET MUL或はBIT SET GE
N信号に従ってロードされ、ベクトルの新しい要素が処
理されるとシフトする。
AND回路網650はAND回路網630と類似してお
り、16ビットの出力を発生する。もしAND回路網6
50内の何れかの2入力ANDゲートが付活されれば、
そのビット位置に対応するレジスタサブアレー内に行先
競合が存在する。16入力ORゲート655はその何れ
かの入力が付活されれば出力に付活された行先競合信号
を発生する。行先競合信号及び源競合信号は2入力OR
ゲート660への入力であり、該ORゲート660は行
先出力、源競合、或は効力競合の何れかが存在すれば付
活された出力を発生する。
ORゲート660の出力はANDゲート662及びAN
Dゲート664への入力である。ANDゲート662は
一方の入力端子にORゲート660の出力の否定を受
け、それと指令の存在を表わすINSTR信号とを組合わせ
る。ANDゲート662の出力は“無競合”を指示し、
これはORゲート660の出力が付活されず且つベクト
ル処理ユニット30が遂行すべき指令が存在する時に付
活される。INSTR指令が付活され且つ行先競合、源競
合、或は効力競合が存在することをANDゲート664
の出力が指示すれば、この“指令ペンディング”信号は
競合の存在を表わす。この信号は、制御論理ユニット6
0に競合が解決されるまでそれ以上の指令を送らないよ
うに通知するのに用いられる。
もし、特にデータ書込みに、競合が発生すれば、WT.POR
T 0上のデータを遅延させなければならない。これは第
3A図に示すように、9ビットのフリップフロップ27
1、272、273、及び274からなる4段シフトレ
ジスタによって行われる。WT PORT 0データはTA CLKク
ロックパルスによって順次にフリップフロップの異なる
段内へシフトする。各フリップフロップの出力はマルチ
プレクサ270内へ入力される。マルチプレクサ270
は制御入力として、ラッチ268によって緩衝されたWP
ORT 0.CNF.SEL信号を受ける。ラッチ268はクロック
信号の制御下にある。WPORT 0.CNF.SEL信号は、第6図
に示す指令ペンディング信号及び無競合信号から、制御
論理ユニット60によって作られる。
制御論理ユニット60からのWPORT 0データ信号は3ク
ロックサイクルまで遅延することができる。何故なら、
これが競合の無い動作前に発生可能な最大数の主サイク
ルだからである。データを遅延させなければならないク
ロックサイクルの数は、競合検出回路600に基いて制
御論理ユニット60によって決定することができる。こ
の回路に基いて、論理制御ユニット60はWPORT 0.CNF.
SEL信号を適切にセットし、適切な時間量に亘って遅延
させた後、マルチプレクサ270がWPORT 0データ信号
を読出すことを示す。
以上のように本発明によれば、同時読出し書込みを可能
ならしめ、従ってパイプライン及びチェーン能力を最大
ならしめるばかりではなく、床屋の看板柱配列を通して
競合を回避するようにメモリを構成可能としたベクトル
レジスタが提供される。検出される何等かの競合は、レ
ジスタが床屋の看板柱記憶配列と同期して正しく動作可
能になるまでの一時的であるに過ぎない。
ベクトルレジスタドレッシングのらせん即ち床屋の看板
柱方式を反映する一方法は、第6図の競合検出回路内の
諸シフトレジスタによって示唆されている。実際のアド
レスを発生するためには異なる方法が用いられる。
本発明によれば、メモリバンクに結合された制御手段
は、各ベクトルレジスタ毎の連続する語がメモリバンク
の各々内の語に対応するように、記憶及び読出しのため
のバンク内の語にアクセスを行う。全ての読出しポート
及び書込みポートのためのこのような回路の好ましい実
施例を制御論理ユニット60の一部として第7図〜第9
図に示す。
第7図は乗算ユニット70のためのアドレス発生回路の
好ましい実施例であって、乗算ユニット70は入力デー
タをRD.PORT 1及びRD.PORT 2から受け、WT.PORT 2に出
力を発生する。第7図のカウンタ700及び705は、
乗算指令中に制御論理ユニット600によって発生され
るMUL.UNIT.INSTR信号に応答してSRC.A.REG信号及びSR
C.B.REG信号をロードする。SRC.A.REG信号及びSRC.B.RE
G信号は制御論理ユニット60内の指令解析回路から受
け、第6図において競合検出に用いたものと同一の信号
である。一旦ロードしてしまうと、カウンタ700及び
705はTB CLK信号によってカウントする。カウンタ7
00及び705の出力はそれぞれ、第2図のシステム図
に示すRPORT 1.VREG.SEL信号及びRPORT 2.VREG.SEL信号
である。
カウンタ700及び705の使用は、第5図に示す床屋
の看板柱方式の効果を援助する。これらのカウンタを使
用すると、初期にSRC.A.REG信号及びSRC.B.REG信号によ
って表わされる論理ベクトルアドレスは、連続ベクトル
要素としてバンク番号(RPORTx.VREG.SEL)増分がアク
セスされるため、順次のバンク内に記憶される。更に、
好ましい実施例におけるカウンタ700及び705が4
ビット(即ち16進)カウンタであるため、カウントが
15に達した後に0に戻る。これは第5図と一致してい
る。
RPORT 1.VELM.ADR信号及びRPORT 2.VELM.ADR信号はカウ
ンタ708によってRPORT 1/2.VELM.ADR信号として発生
される。各ベクトル要素のアドレスを特定するこれらの
信号は同一であることが好ましい。何故なら好ましい実
施例においてはベクトル動作が2つのベクトルレジスタ
の対応要素を包含するからである。例えば2つのベクト
ルの加算は、各ベクトルの第1の要素の和、各ベクトル
の第2の要素の和等々の計算を含む。
カウンタ708はMUL.UNIT.INSTR信号に応答してクリヤ
される。これは、任意のベクトルの第1の要素を常に論
理ベクトルレジスタ及びバンクの両方方の“0番目”の
位置に記憶するという好ましい条件覆行を反映してい
る。論理ベクトルレジスタ内の各後続位置はアドレスさ
れる後続位置に記憶されて行く。カウンタ708もTB C
LK信号で進められる。
RPORT 1.RD.EN信号及びRPORT 2.RD.EN信号はそれぞれA
NDゲート712及び710によって作られる。これら
の信号はそれぞれMUL.UNIT.INSTR信号とLA.MUL.SRC.B.V
ALID信号及びLA.MUL.SRC.A.VALID信号との論理積であ
る。LA.MUL.SRC.A.VALID信号及びLA.MUL.SRC.B.VALID信
号は制御論理ユニット60内の指令解析回路によって作
られ、それぞれSRC.A.REG信号及びSRC.B.REG信号が有効
であることを指示している。
レジスタ714及びコンパレータ716は集合的に使用
され、乗算動作のためのアドレス発生が完了した時点を
決定する。制御論理ユニット60内の指令解析回路から
のVLR(ベクトル長レジスタ)信号は処理中のベクトル
の長さを表わす。好ましい実施例においては、VLR信号
は各バンク或は各論理ベクトルレジスタ内の64要素の
全補数を表わすことが可能な6ビット信号である。この
VLR信号は、MUL.UNIT.INSTR信号に応答して乗算指令中
にレジスタ714内へロードされる。次でコンパレータ
716がレジスタ714の出力とRPORT 1/2.VELM.ADR信
号とを比較する。これらの信号が等しくなった時にコン
パレータ716はMUL.LAST.SRC.VELM信号を出力して乗
算動作の完了を指示する。
好ましい実施例においては、WPORT 2アドレスを発生す
る回路もカウンタを使用している。第7図に示すよう
に、カウンタ728はロードされ、進められてWPORT 2.
VREG.SEL信号を発生し、またカウンタ736はクリヤさ
れ、進められてWPORT 2.VELM.ADR信号を発生する。明ら
かなように、WPORT 2アドレスのためのカウンタ28及
び736は、RPORT 1及びRPORT 2アドレスのためのカウ
ンタ700、705及び708と同様に動作する。しか
しカウンタ728及び736への入力は、カウンタ70
0、705及び708への入力とは異なる。
カウンタ728内へ実質的にロードされる値はDST.REG
信号であり、レジスタ720の出力としてのこの信号は
レジスタ724及び726からなるパイプライン内に配
置される。レジスタ726の内容は、START.MUL.WT信号
が現われた時にカウンタ728内へロードされる。
レジスタ720、724及び726の3段パイプライン
内のDST.REG値は、制御論理ユニット60によって各主
サイクルに1回発生されるTB CLK信号によってシフトさ
れる。乗算指令は3主サイクルを要するから、この3段
パイプラインは行先アドレスのために“遅れ”を発生し
て乗算動作結果が完了した時にWPORT 2.VREG.SEL信号の
準備が整うことを保証する。第6図に示されているMUL
BIT SET信号及びMUL BIT CLR信号は第7図に示すように
して作られている。
カウンタ728にロードさせ、カウンタ736をクリヤ
させる信号は、制御論理ユニット60からのSTART.MUL.
INSTR信号の後に3つの遅延段によって発生されるSTAR
T.MUL.WT信号である。3段の遅延はTB CLK信号を受けて
いるレジスタ730、732及び734によって発生す
る。これらのレジスタは、RPORT 1及びRPORT 2の後まで
WPORT 2を正確に遅らせる。
START.MUL.INSTR信号は、制御論理ユニット60から乗
算指令のペンディング及び無競合を表わすMUL.NO.CNF信
号を受けてフリップフロップ740が発生する。フリッ
プフロップ740はコンパレータ716からのMUL.LAS
T.SRC.VELM信号が付活されるとクリヤされる。何故なら
ば、この信号はフリップフロップ742にクロック信号
を発生させ、フリップフロップ740に“0”を入力さ
せるからである。
カウンタ728及び736は、TB CLKパルス及び別の3
段パイプラインの出力からWPORT 2.WT.EN信号を受ける
と進められる。この別のパイプラインはレジスタ75
0、752及び754を含み、これらのレジスタは全て
TB CLK信号を受けている。この3段パイプラインへの入
力は、乗算指令が遂行されている時に制御論理ユニット
60が発生するMUL.RD.IN.PROGRESS信号である。レジス
タ750、752及びび754を含むこの3段遅延回路
の目的もWPORT 2をRPORT 1及びRPORT 2の後まで遅らせ
ることである。
各レジスタ750、752、754の出力はANDゲー
ト760の否定入力に印加される。ANDゲート760
の別の否定入力は、乗算ユニット70が別の指令を受入
れることができないことを表わす制御論理ユニット60
からのMUL.UNIT.BUSY信号である。ANDゲート760
の出力は、乗算ユニット70がある指令を完了し、この
パイプライン内においては後続の指令がペンディングに
なっていないことを表わすMUL.UNIT.DONE信号である。
第8図は加算ユニット80のためのアドレス発生回路の
好ましい実施例を示す。この回路に含まれる要素は第7
図に示されている選択信号と同一であるので詳細な説明
は省略する。即ち、RPORT 3.RD.EN、RPORT 4.RD.EN、RP
ORT 3.VREG.SEL、RPORT 4.VREG.SEL、RPORT 3/4.VELM.A
DR、WPORT 1.VREG.SEL及びWPORT 1.VELM.ADRの諸信号を
発生するのに使用される要素は、第7図において対応諸
信号を発生するのに使用された回路と同一の回路に構成
されている。ハードウェ一致を強調するために、第7図
と第8図の参照番号の下2桁を同一にしてある。
RD.PORT 0及びWT.PORT 0のためのアドレスを発生する回
路は他の回路とは若干異なっている。何故ならば、RD.P
ORT 0はマスクユニット90への入力を供給し、WT.PORT
0はベクトルレジスタへの外部入力だからである。しか
し乗算ユニット70或は加算回路80の出力とは異なっ
て、マスクユニット90の出力はベクトルレジスタファ
イル内へ戻される入力ではないので、他のポートのため
のようにRD.PORT 0とWT.PORT 0との間に同じ型の遅延同
期を設ける必要はない。
第9図に示すように、カウンタ900はLOAD.GEN.SRC信
号に応答してSRC.A.REG信号をロードする。またLOAD.GE
N.SRC信号はカウンタ905をクリヤすに。これらの両
カウンタを進めるための信号は、INC.GEN.SRC.REG信号
である。この信号が付活されるとカウンタ900及び9
05はTB CLK信号を計数する。これらの両信号は制御論
理ユニット60において作られる。
カウンタ900の出力はRPORT 0.VREG.SEL信号である。
カウンタ905はRPORT 0.VELM.ADR信号を発生する。A
NDゲート930はRPORT 0.EN信号及びSRC DATA VALID
信号からRPORT 0.RD.EN信号を発生する。
コンパレータ932はRPORT 0.VELM.ADR信号と、GEN.UN
IT.INSTR信号によってレジスタ935内に記憶されたVL
R信号とを比較する。コンパレータ932の出力はGEN.L
AST.SRC.VELM信号であり、この信号が付活されると最終
ベクトルアドレスを表わす。GEN.LAST.SRC.VELM信号は
フリップフロップ903への入力としても使用され、フ
リップフロップ902をリセットさせる。フリップフロ
ップ902は、RD.PORT 0に関して競合が検出されない
時に制御論理ユニット60からのGEN.STORE.NO.CNF信号
によってセットされる。フリップフロップ902はフリ
ップフロップ901をセットしてINC.GEN.SRC.REG信号
を発生させ、カウンタ900及び905を計数可能なら
しめる。
WT.PORT 0はRD.PORT 0と遅延周期させる必要はないか
ら、第7図及び第8図に示す乗算ユニット70のための
読出し及び書込みポート(RD.PORT 1、RD.PORT 2、WT.P
ORT 2)及び加算ユニット80のための読出し及び書込
みポート(RD.PORT 3、RD.PORT 4、WT.PORT 1)に設け
てある遅延回路は必要としない。好ましい実施例におい
てはWPORT 0.VREG.SEL信号を発生するために、制御論理
ユニット60からのLOAD.GEN.DST信号に応答してカウン
タ912内へDST.REG信号をロードする。このLOAD.GEN.
DST信号はカウンタ914のクリヤリングも行い、カウ
ンタ914の出力はWPORT 0.VELM.ADR信号である。
WPORT 0.VELM.ADR信号は、レジスタ935からのVLR信
号と共にコンパレータ947への入力にもなる。コンパ
レータ947の出力はGEN.LAST.DST.VELM信号であり、
この信号はある書込み指令に対する最終ベクトル要素が
ベクトルレジスタ内へロードされたことを指示する。
GEN.LAST.DST.VELM信号はフリップフロップ950をセ
ットし、該フリップフロップ950の出力が付活される
とフリップフロップ955がリセットされる。フリップ
フロップ955は制御論理ユニット60からのWT.PORT
0に関しては競合が存在しないことを意味するGEN.LOAD.
NO.CNF信号に応答してセットされる。フリップフロップ
955はフリップフロップ960をセットし、INC.GEN.
DST.REG信号を発生させカウンタ912及び914を計
数可能ならしめる。
ANDゲート931は入力として、共に制御論理ユニッ
トが発生するWPORT.EN信号並びにSRC DATA VALID信号を
受ける。ANDゲート931の出力はWPORT 0.WT.EN信
号である。
当業者ならば本発明のベクトルレジスタファイルの種々
の変更及び変化を考案できよう。本発明はその広い面に
おいて上述の方法及び装置の細部及び特定実施例に限定
されるものではない。本発明の思想或は範囲から逸脱す
ることなくこれらの細部から発展させることが可能であ
る。
フロントページの続き (72)発明者 マッキーン フランシス エックス アメリカ合衆国 マサチューセッツ州 01581 ウェストボロ オニール 30 (72)発明者 テラニアン マイケル エム アメリカ合衆国 マサチューセッツ州 01719 ボックスボロ オールド オーチ ャード レーン 21 (56)参考文献 特開 昭60−247783(JP,A) 特開 昭60−146362(JP,A) 特開 昭60−15770(JP,A) 特開 昭59−77574(JP,A) 特開 昭57−30078(JP,A) 特開 昭56−88559(JP,A) 特開 昭58−31471(JP,A) 特開 昭59−114677(JP,A)

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】読出し制御信号及び読出しアドレスからな
    る読出し要求、及び書込み制御信号及び書込みアドレス
    からなる書込み要求を含むファイルアクセス要求にサー
    ビスするための複数の読出しポート及び書込みポートを
    含むベクトルレジスタ回路であって、上記ベクトルレジ
    スタ回路は複数のタイミングサイクルに従って動作し、
    各タイミングサイクルはそのサイクルの間に読出し要求
    及び書込み要求の両方にサービスできるように編成され
    ており、ベクトルレジスタ回路が、 レジスタアレーと、スカラレジスタファイルと、読出し
    手段と、書込み手段と、第1の選択手段と、第2の選択
    手段とを具備し、 上記レジスタアレーは、複数のサブアレーを含み、ベク
    トルを表すデータを記憶し、 上記スカラレジスタファイルは、スカラ値を含み、 上記読出し手段は、レジスタアレーに結合され、読出し
    選択信号に応答して何れかのタイミングサイクルの間
    に、記憶されている何れかのデータを何れかの読出しポ
    ートに結合し、且つ同一のタイミングサイクルの間に、
    記憶されているデータ内のベクトルを少なくとも2つの
    読出しポートを通して出力し、それによって連続するタ
    イミングサイクルの間に少なくとも2つの完全ベクトル
    を同時にレジスタアレーから出力することを可能にし、
    上記読出し手段は、 サブアレーに結合されている入力と、異なる読出しポー
    トの1つに結合されている出力とを各々が有する複数の
    マルチプレクサ回路を含み、読出し選択信号に応答して
    スカラレジスタファイルの内容を読出しポートへ出力す
    る信号経路指定手段と、 少なくとも2つのサブアレーからデータを同時に出力す
    る手段とを含み、 上記書込み手段は、レジスタアレーに結合され、書込み
    選択信号に応答して何れかのタイミングサイクルの間
    に、データを表すベクトルを何れかの書込みポートを通
    してレジスタアレーへ経路指定し、且つ同一のタイミン
    グサイクルの間に少なくとも2つの書込みポートを通し
    てベクトルをレジスタアレー内に同時に記憶させ、それ
    によって連続するタイミングサイクルの間に少なくとも
    2つの完全ベクトルを同時にレジスタアレー内に記憶さ
    せることを可能にし、上記書込み手段は、 少なくとも2つのサブアレー内にデータを同時に記憶さ
    せる手段を含み、 上記第1の選択手段は、読出し手段に結合され、読出し
    アドレス及び読出し制御信号に応答して読出し選択信号
    を生成し、 上記第2の選択手段は、書込み手段に結合され、書込み
    アドレス及び書込み制御信号に応答して書込み選択信号
    を生成する ことを特徴とするベクトルレジスタ回路。
  2. 【請求項2】読出し制御信号及び読出しアドレスからな
    る読出し要求、及び書込み制御信号及び書込みアドレス
    からなる書込み要求を含むファイルアクセス要求にサー
    ビスするための複数の読出しポート及び書込みポートを
    含むベクトルレジスタ回路であって、上記ベクトルレジ
    スタ回路は複数のタイミングサイクルに従って動作し、
    各タイミングサイクルはそのサイクルの間に読出し要求
    及び書込み要求の両方にサービスできるように編成され
    ており、ベクトルレジスタ回路が、 レジスタアレーと、スカラレジスタファイルと、読出し
    手段と、書込み手段と、第1の選択手段と、第2の選択
    手段とを具備し、 上記レジスタアレーは、複数のサブアレーを含み、ベク
    トルを表すデータを記憶し、 上記スカラレジスタファイルは、スカラ値を含み、 上記読出し手段は、レジスタアレーに結合され、読出し
    選択信号に応答して何れかのタイミングサイクルの間
    に、記憶されている何れかのデータを何れかの読出しポ
    ートに結合し、且つ同一のタイミングサイクルの間に、
    記憶されているデータ内のベクトルを少なくとも2つの
    読出しポートを通して出力し、それによって連続するタ
    イミングサイクルの間に、少なくとも2つの完全ベクト
    ルを同時にレジスタアレーから出力することを可能に
    し、上記読出し手段は、 読出し選択信号に応答してスカラレジスタファイルの内
    容を読出しポートへ出力する手段と、 少なくとも2つのサブアレーからデータを同時に出力す
    る経路指定手段とを含み、 上記書込み手段は、レジスタアレーに結合され、書込み
    選択信号に応答して何れかのタイミングサイクルの間
    に、データを表すベクトルを何れかの書込みポートを通
    してレジスタアレーへ経路指定し、且つ同一のタイミン
    グサイクルの間にベクトルを少なくとも2つの書込みポ
    ートを通してレジスタアレー内に同時に記憶させ、それ
    によって連続するタイミングサイクルの間に少なくとも
    2つの完全ベクトルを同時にレジスタアレー内に記憶さ
    せることを可能にし、上記書込み手段は、 データを少なくとも2つのサブアレー内に同時に記憶さ
    せる手段と、 データ源に結合されている入力と、異なるサブアレーの
    1つに接続されている出力とを各々が有する複数のマル
    チプレクサ回路を含み、 上記第1の選択手段は、読出し手段に結合され、読出し
    アドレス及び読出し制御信号に応答して読出し選択信号
    を生成し、 上記第2の選択手段は、書込み手段に結合され、書込み
    アドレス及び書込み制御信号に応答して書込み選択信号
    を生成する ことを特徴とするベクトルレジスタ回路。
  3. 【請求項3】読出し制御信号及び読出しアドレスからな
    る読出し要求、及び書込み制御信号及び書込みアドレス
    からなる書込み要求を含むファイルアクセス要求にサー
    ビスするための複数の読出しポート及び書込みポートを
    含むベクトルレジスタ回路であって、上記ベクトルレジ
    スタ回路は複数のタイミングサイクルに従って動作し、
    各タイミングサイクルはそのサイクルの間に読出し要求
    及び書込み要求の両方にサービスできるように編成され
    ており、ベクトルレジスタ回路が、 レジスタアレーと、スカラレジスタファイルと、読出し
    手段と、書込み手段と、第1の選択手段と、第2の選択
    手段とを具備し、 上記レジスタアレーは、複数のサブアレーを含み、ベク
    トルを表すデータを記憶し、上記レジスタアレーは、 各完全ベクトルが単一のベクトルレジスタ内に記憶さ
    れ、各ベクトルレジスタのベクトル要素が複数のサブア
    レー内に記憶されるように複数のベクトルレジスタとし
    て編成されているベクトル要素のマトリクス(各読出し
    アドレスがベクトルレジスタ選択部分とベクトル要素選
    択部分を含む)を含み、 上記スカラレジスタファイルは、スカラ値を含み、 上記読出し手段は、レジスタアレーに結合され、読出し
    選択信号に応答して何れかのタイミングサイクルの間
    に、記憶されている何れかのデータを何れかの読出しポ
    ートに結合し、且つ同一のタイミングサイクルの間に、
    記憶されているデータ内のベクトルを少なくとも2つの
    読出しポートを通して出力し、それによって連続するタ
    イミングサイクルの間に、少なくとも2つの完全ベクト
    ルを同時にレジスタアレーから出力することを可能に
    し、上記読出し手段は、 読出し選択信号に応答してスカラレジスタファイルの内
    容を読出しポートへ出力する手段と、 異なるサブアレーの1つのアドレス端子に結合されてい
    る出力と、読出しアドレスのベクトル要素選択部分を受
    信するように結合されている入力と、読出し入力マルチ
    プレクサ制御信号を受信するように結合されている制御
    端子とを各々が有する第1の集合のマルチプレクサとを
    含み、 上記書込み手段は、レジスタアレーに結合され、書込み
    選択信号に応答して何れかのタイミングサイクルの間
    に、データを表すベクトルを何れかの書込みポートを通
    してレジスタアレーへ経路指定し、且つ同一のタイミン
    グサイクルの間にベクトルを少なくとも2つの書込みポ
    ートを通してレジスタアレー内に同時に記憶させ、それ
    によって連続するタイミングサイクルの間に少なくとも
    2つの完全ベクトルを同時にレジスタアレー内に記憶さ
    せることを可能にし、 上記第1の選択手段は、読出し手段に結合され、読出し
    アドレス及び読出し制御信号に応答して読出し選択信号
    を生成し、上記第1の選択手段は、 読出しアドレスのベクトルレジスタ選択部分に応答し、
    読出しアドレスによって識別されるサブアレーに結合さ
    れている第1の集合の各マルチプレクサのための読出し
    入力マルチプレクサ制御信号を生成する読出し論理を含
    み、 上記第2の選択手段は、書込み手段に結合され、書込み
    アドレス及び書込み制御信号に応答して書込み選択信号
    を生成する ことを特徴とするベクトルレジスタ回路。
  4. 【請求項4】上記読出し手段は、サブアレーのデータ出
    力に結合されている入力と、異なる読出しポートの1つ
    に結合されている出力と、読出し出力マルチプレクサ制
    御信号を受信するように読出し論理に結合されている制
    御端子とを各々が有する第2の集合のマルチプレクサを
    も含み、 上記読出し論理は、ベクトルレジスタ選択部分から読出
    し出力マルチプレクサ制御信号を形成する手段を含む請
    求項3に記載のベクトルレジスタ回路。
  5. 【請求項5】読出し制御信号及び読出しアドレスからな
    る読出し要求、及び書込み制御信号及び書込みアドレス
    からなる書込み要求を含むファイルアクセス要求にサー
    ビスするための複数の読出しポート及び書込みポートを
    含むベクトルレジスタ回路であって、上記ベクトルレジ
    スタ回路は複数のタイミングサイクルに従って動作し、
    各タイミングサイクルはそのサイクルの間に読出し要求
    及び書込み要求の両方にサービスできるように編成され
    ており、ベクトルレジスタ回路が、 レジスタアレーと、スカラレジスタファイルと、読出し
    手段と、書込み手段と、第1の選択手段と、第2の選択
    手段とを具備し、 上記レジスタアレーは、複数のサブアレーを含み、ベク
    トルを表すデータを記憶し、上記レジスタアレーは、 各完全ベクトルが単一のベクトルレジスタ内に記憶さ
    れ、各ベクトルレジスタのベクトル要素が複数のサブア
    レー内に記憶されるように複数のベクトルレジスタとし
    て編成されているベクトル要素のマトリクス(各書込み
    アドレスがベクトルレジスタ選択部分とベクトル要素選
    択部分を含む)を含み、 上記スカラレジスタファイルは、スカラ値を含み、 上記読出し手段は、レジスタアレーに結合され、読出し
    選択信号に応答して何れかのタイミングサイクルの間
    に、記憶されている何れかのデータを何れかの読出しポ
    ートに結合し、且つ同一のタイミングサイクルの間に、
    記憶されているデータ内のベクトルを少なくとも2つの
    読出しポートを通して出力し、それによって連続するタ
    イミングサイクルの間に、少なくとも2つの完全ベクト
    ルを同時にレジスタアレーから出力することを可能に
    し、上記読出し手段は、 読出し選択信号に応答してスカラレジスタファイルの内
    容を読出しポートへ出力する手段を含み、 上記書込み手段は、レジスタアレーに結合され、書込み
    選択信号に応答して何れかのタイミングサイクルの間
    に、データを表すベクトルを何れかの書込みポートを通
    してレジスタアレーへ経路指定し、且つ同一のタイミン
    グサイクルの間にベクトルを少なくとも2つの書込みポ
    ートを通してレジスタアレー内に同時に記憶させ、それ
    によって連続するタイミングサイクルの間に少なくとも
    2つの完全ベクトルを同時にレジスタアレー内に記憶さ
    せることを可能にし、上記書込み手段は、 異なるサブアレーの1つのアドレス端子に結合されてい
    る出力と、書込みアドレスのベクトル要素選択部分を受
    信するように結合されている入力と、書込み入力マルチ
    プレクサ制御信号を受信するように結合されている制御
    端子とを各々が有する第1の集合のマルチプレクサを含
    み、 上記第1の選択手段は、読出し手段に結合され、読出し
    アドレス及び読出し制御信号に応答して読出し選択信号
    を生成し、 上記第2の選択手段は、書込み手段に結合され、書込み
    アドレス及び書込み制御信号に応答して書込み選択信号
    を生成し、上記第2の選択手段は、 書込みアドレスのベクトルレジスタ選択部分に応答し、
    書込みアドレスによって識別されるサブアレーに結合さ
    れている第1の集合の各マルチプレクサのための書込み
    入力マルチプレクサ制御信号を生成する書込み論理を含
    む ことを特徴とするベクトルレジスタ回路。
  6. 【請求項6】上記書込み手段は、サブアレー内に記憶さ
    れるデータを受信するように結合されている入力と、異
    なるサブアレーの1つにに結合されている出力と、書込
    み論理からの書込み入力マルチプレクサ制御信号の対応
    する1つを受信するように結合されている制御端子とを
    各々が有する第2の集合のマルチプレクサをも含み、 上記書込み論理は、書込み入力マルチプレクサ制御信号
    を形成する手段を含む請求項5に記載のベクトルレジス
    タ回路。
  7. 【請求項7】読出し制御信号及び読出しアドレスからな
    る読出し要求、及び書込み制御信号及び書込みアドレス
    からなる書込み要求を含むファイルアクセス要求にサー
    ビスするための複数の読出しポート及び書込みポートを
    含むベクトルレジスタ回路であって、上記ベクトルレジ
    スタ回路は複数のタイミングサイクルに従って動作し、
    各タイミングサイクルはそのサイクルの間に読出し要求
    及び書込み要求の両方にサービスできるように編成され
    ており、ベクトルレジスタ回路が、 レジスタアレーと、読出し手段と、書込み手段と、第1
    の選択手段と、第2の選択手段と、競合検出手段と、遅
    延手段とを具備し、 上記レジスタアレーは、ベクトルを表すデータを記憶
    し、 上記読出し手段は、レジスタアレーに結合され、読出し
    選択信号に応答して何れかのタイミングサイクルの間
    に、記憶されている何れかのデータを何れかの読出しポ
    ートに結合し、且つ同一のタイミングサイクルの間に、
    記憶されているデータ内のベクトルを少なくとも2つの
    読出しポートを通して出力し、それによって連続するタ
    イミングサイクルの間に、少なくとも2つの完全ベクト
    ルを同時にレジスタアレーから出力することを可能に
    し、 上記書込み手段は、レジスタアレーに結合され、書込み
    選択信号に応答して何れかのタイミングサイクルの間
    に、データを表すベクトルを何れかの書込みポートを通
    してレジスタアレーへ経路指定し、且つ同一のタイミン
    グサイクルの間にベクトルを複数の書込みポートの少な
    くとも2つのポートを通してレジスタアレー内に同時に
    記憶させ、それによって上記タイミングサイクルの連続
    するタイミングサイクルの間にベクトルの少なくとも2
    つの完全ベクトルを同時にレジスタアレー内に記憶させ
    ることを可能にし、 上記第1の選択手段は、読出し手段に結合され、読出し
    アドレス及び読出し制御信号に応答して読出し選択信号
    を生成し、 上記第2の選択手段は、書込み手段に結合され、書込み
    アドレス及び書込み制御信号に応答して書込み選択信号
    を生成し、 上記競合検出手段は、第1及び第2の選択手段に結合さ
    れ読出し及び書込みアドレスを受信し、データを同時に
    書込むことができないレジスタアレー内の2つの位置に
    書込み手段がデータを同時に記憶させようとすることが
    発生した時にそれを競合状態として検知し、 上記遅延手段は、競合検出手段に応答し、レジスタアレ
    ー内に記憶されるデータを競合状態中一時的に保持し、
    上記遅延手段は、書込みポートの数に対応する第1の数
    の記憶段を含み、 上記書込み手段が競合手段に結合され、且つ競合状態中
    の同時記憶動作を阻止する手段を含むことを特徴とする
    ベクトルレジスタ回路。
  8. 【請求項8】読出し制御信号及び読出しアドレスからな
    る読出し要求、及び書込み制御信号及び書込みアドレス
    からなる書込み要求を含むファイルアクセス要求にサー
    ビスするための複数の読出しポート及び書込みポートを
    含むベクトル回路であって、上記ベクトルレジスタ回路
    は複数のタイミングサイクルに従って動作し、各タイミ
    ングサイクルはそのサイクルの間に読出し要求及び書込
    み要求の両方にサービスできるように編成されており、
    ベクトルレジスタ回路が、 レジスタアレーと、読出し手段と、書込み手段と、転送
    手段と、第1の選択手段と、第2の選択手段とを具備
    し、 上記レジスタアレーは、複数のサブアレーを含み、ベク
    トルを表すデータを記憶し、 上記読出し手段は、レジスタアレーに結合され、読出し
    選択信号に応答して何れかのタイミングサイクルの間
    に、記憶されている何れかのデータを読出しポートの何
    れかに結合し、且つ記憶されているデータ内のベクトル
    を少なくとも2つの読出しポートを通して同時に出力
    し、それによって連続するタイミングサイクルの間に、
    少なくとも2つの完全ベクトルを同時にレジスタアレー
    から出力することを可能にし、上記読出し手段は、 サブアレーに結合されている入力と、異なる読出しポー
    トの1つに結合されている出力とを各々が有する複数の
    マルチプレクサを含み、少なくとも2つのサブアレーか
    らデータを同時に出力する信号経路指定手段を含み、 上記書込み手段は、レジスタアレーに結合され、書込み
    選択信号に応答して何れかのタイミングサイクルの間
    に、データを表すベクトルを何れかの書込みポートを通
    してレジスタアレーへ経路指定し、且つベクトルを少な
    くとも2つの書込みポートを通してレジスタアレー内に
    同時に記憶させ、それによって連続するタイミングサイ
    クルの間に少なくとも2つの完全ベクトルを同時にレジ
    スタアレー内に記憶させることを可能にし、上記書込み
    手段は、 少なくとも2つのサブアレー内にデータを同時に記憶さ
    せる手段を含み、 上記転送手段は、読出しポートに結合され、記憶されて
    いるデータの処理及び経路指定を制御し、 上記第1の選択手段は、読出し手段に結合され、読出し
    アドレス及び読出し制御信号に応答して読出し選択信号
    を生成し、 上記第2の選択手段は、書込み手段に結合され、書込み
    アドレス及び書込み制御信号に応答して書込み選択信号
    を生成する ことを特徴とするベクトル回路。
  9. 【請求項9】読出し制御信号及び読出しアドレスからな
    る読出し要求、及び書込み制御信号及び書込みアドレス
    からなる書込み要求を含むファイルアクセス要求にサー
    ビスするための複数の読出しポート及び書込みポートを
    含むベクトルレジスタ回路であって、上記ベクトルレジ
    スタ回路は複数のタイミングサイクルに従って動作し、
    各タイミングサイクルはそのサイクルの間に読出し要求
    及び書込み要求の両方にサービスできるように編成され
    ており、ベクトルレジスタ回路が、 レジスタアレーと、読出し手段と、書込み手段と、転送
    手段と、第1の選択手段と、第2の選択手段とを具備
    し、 上記レジスタアレーは、複数のサブアレーを含み、ベク
    トルを表すデータを記憶し、 上記読出し手段は、レジスタアレーに結合され、読出し
    選択信号に応答して何れかのタイミングサイクルの間
    に、記憶されている何れかのデータを何れかの読出しポ
    ートに結合し、且つ記憶されているデータ内のベクトル
    を少なくとも2つの読出しポートを通して同時に出力
    し、それによって連続するタイミングサイクルの間に、
    少なくとも2つの完全ベクトルを同時にレジスタアレー
    から出力することを可能にし、上記読出し手段は、 少なくとも2つのサブアレーからデータを同時に出力す
    る信号経路指定手段を含み、 上記書込み手段は、レジスタアレーに結合され、書込み
    選択信号に応答して何れかのタイミングサイクルの間
    に、データを表すベクトルを何れかの書込みポートを通
    してレジスタアレーへ経路指定し、且つベクトルを少な
    くとも2つの書込みポートを通してレジスタアレー内に
    同時に記憶させ、それによって連続するタイミングサイ
    クルの間に少なくとも2つの完全ベクトルを同時にレジ
    スタアレー内に記憶させることを可能にし、上記書込み
    手段は、 少なくとも2つのサブアレー内にデータを同時に記憶さ
    せる手段と、 データ源に接続されている入力と、異なるサブアレーの
    1つに接続されている出力とを各々が有する複数のマル
    チプレクサとを含み、 上記転送手段は、読出しポートに結合され、記憶されて
    いるデータの処理及び経路指定を制御し、 上記第1の選択手段は、読出し手段に結合され、読出し
    アドレス及び読出し制御信号に応答して読出し選択信号
    を生成し、 上記第2の選択手段は、書込み手段に結合され、書込み
    アドレス及び書込み制御信号に応答して書込み選択信号
    を生成する ことを特徴とするベクトルレジスタ回路。
  10. 【請求項10】読出し制御信号及び読出しアドレスから
    なる読出し要求、及び書込み制御信号及び書込みアドレ
    スからなる書込み要求を含むファイルアクセス要求にサ
    ービスするための複数の読出しポート及び書込みポート
    を含むベクトルレジスタ回路であって、上記ベクトルレ
    ジスタ回路は複数のタイミングサイクルに従って動作
    し、各タイミングサイクルはそのサイクルの間に読出し
    要求及び書込み要求の両方にサービスできるように編成
    されており、ベクトルレジスタ回路が、 レジスタアレーと、読出し手段と、書込み手段と、転送
    手段と、第1の選択手段と、第2の選択手段とを具備
    し、 上記レジスタアレーは、複数のサブアレーを含み、ベク
    トルを表すデータを記憶し、上記レジスタアレーは、 各完全ベクトルが単一のベクトルレジスタ内に記憶さ
    れ、各ベクトルレジスタのベクトル要素が複数のサブア
    レー内に記憶されるように複数のベクトルレジスタとし
    て編成されているベクトル要素のマトリクス(各読出し
    アドレスがベクトルレジスタ選択部分とベクトル要素選
    択部分を含む)を含み、 上記読出し手段は、レジスタアレーに結合され、読出し
    選択信号に応答して何れかのタイミングサイクルの間
    に、記憶されている何れかのデータを何れかの読出しポ
    ートに結合し、且つ記憶されているデータ内のベクトル
    を少なくとも2つの読出しポートを通して同時に出力
    し、それによって連続するタイミングサイクルの間に少
    なくとも2つの完全ベクトルを同時にレジスタアレーか
    ら出力することを可能にし、上記読出し手段は、 異なるサブアレーの1つのアドレス端子に結合されてい
    る出力と、読出しアドレスのベクトル要素選択部分を受
    信するように結合されている入力と、読出し入力マルチ
    プレクサ制御信号を受信するように結合されている制御
    端子とを各々が有する第1の集合のマルチプレクサを含
    み、 上記書込み手段は、レジスタアレーに結合され、書込み
    選択信号に応答して何れかのタイミングサイクルの間
    に、データを表すベクトルを何れかの書込みポートを通
    してレジスタアレーへ経路指定し、且つベクトルを少な
    くとも2つの書込みポートを通してレジスタアレー内に
    同時に記憶させ、それによって連続するタイミングサイ
    クルの間に少なくとも2つの完全ベクトルを同時にレジ
    スタアレー内に記憶させることを可能にし、 上記転送手段は、読出しポートに結合され、記憶されて
    いるデータの処理及び経路指定を制御し、 上記第1の選択手段は、読出し手段に結合され、読出し
    アドレス及び読出し制御信号に応答して読出し選択信号
    を生成し、上記第1の選択手段は、 読出しアドレスのベクトルレジスタ選択部分に応答し、
    読出しアドレスによって識別されるサブアレーに結合さ
    れている第1の集合の各マルチプレクサのための読出し
    入力マルチプレクサ制御信号を生成する読出し論理を含
    み、 上記第2の選択手段は、書込み手段に結合され、書込み
    アドレス及び書込み制御信号に応答して書込み選択信号
    を生成する ことを特徴とするベクトルレジスタ回路。
  11. 【請求項11】上記読出し手段は、サブアレーのデータ
    出力に結合されている入力と、異なる読出しポートの1
    つに結合されている出力と、読出し出力マルチプレクサ
    制御信号を受信するように読出し論理に結合されている
    制御端子とを各々が有する第2の集合のマルチプレクサ
    をも含み、 上記読出し論理は、ベクトルレジスタ選択部分から読出
    し出力マルチプレクサ制御信号を形成する手段を含む請
    求項10に記載のベクトルレジスタ回路。
  12. 【請求項12】読出し制御信号及び読出しアドレスから
    なる読出し要求、及び書込み制御信号及び書込みアドレ
    スからなる書込み要求を含むファイルアクセス要求にサ
    ービスするための複数の読出しポート及び書込みポート
    を含むベクトルレジスタ回路であって、上記ベクトルレ
    ジスタ回路は複数のタイミングサイクルに従って動作
    し、各タイミングサイクルはそのサイクルの間に読出し
    要求及び書込み要求の両方にサービスできるように編成
    されており、ベクトルレジスタ回路が、 レジスタアレーと、読出し手段と、書込み手段と、転送
    手段と、第1の選択手段と、第2の選択手段とを具備
    し、 上記レジスタアレーは、複数のサブアレーを含み、ベク
    トルを表すデータを記憶し、上記レジスタアレーは、 各完全ベクトルが単一のベクトルレジスタ内に記憶さ
    れ、各ベクトルレジスタのベクトル要素が複数のサブア
    レー内に記憶されるように複数のベクトルレジスタとし
    て編成されているベクトル要素のマトリクス(各読出し
    アドレスがベクトルレジスタ選択部分とベクトル要素選
    択部分を含む)を含み、 上記読出し手段は、レジスタアレーに結合され、読出し
    選択信号に応答して何れかのタイミングサイクルの間
    に、記憶されている何れかのデータを何れかの読出しポ
    ートに結合し、且つ記憶されているデータ内のベクトル
    を少なくとも2つの読出しポートを通して同時に出力
    し、それによって連続するタイミングサイクルの間に、
    少なくとも2つの完全ベクトルを同時にレジスタアレー
    から出力することを可能にし、 上記書込み手段は、レジスタアレーに結合され、書込み
    選択信号に応答して何れかのタイミングサイクルの間
    に、データを表すベクトルを何れかの書込みポートを通
    してレジスタアレーへ経路指定し、且つベクトルを少な
    くとも2つの書込みポートを通してレジスタアレー内に
    同時に記憶させ、それによって連続するタイミングサイ
    クルの間に少なくとも2つの完全ベクトルを同時にレジ
    スタアレー内に記憶させることを可能にし、上記書込み
    手段は、 異なるサブアレーの1つのアドレス端子に結合されてい
    る出力と、書込みアドレスのベクトル要素選択部分を受
    信するように結合されている入力と、書込み入力マルチ
    プレクサ制御信号を受信するように結合されている制御
    端子とを各々が有する第1の集合のマルチプレクサを含
    み、 上記転送手段は、読出しポートに結合され、記憶されて
    いるデータの処理及び経路指定を制御し、 上記第1の選択手段は、読出し手段に結合され、読出し
    アドレス及び読出し制御信号に応答して読出し選択信号
    を生成し、 上記第2の選択手段は、書込み手段に結合され、書込み
    アドレス及び書込み制御信号に応答して書込み選択信号
    を生成し、上記第2の選択手段は、 書込みアドレスのベクトルレジスタ選択部分に応答し、
    書込みアドレスによって識別されるサブアレーに結合さ
    れている第1の集合の各マルチプレクサのための書込み
    入力マルチプレクサ制御信号を生成する書込み論理を含
    む ことを特徴とするベクトルレジスタ回路。
  13. 【請求項13】上記書込み手段は、サブアレー内に記憶
    されるデータを受信するように結合されている入力と、
    異なるサブアレーの1つに結合されている出力と、書込
    み論理からの書込み入力マルチプレクサ制御信号の対応
    する1つを受信するように結合されている制御端子とを
    各々が有する第2の集合のマルチプレクサをも含み、 上記書込み論理は、書込み入力マルチプレクサ制御信号
    を形成する手段を含む請求項12に記載のベクトルレジ
    スタ回路。
  14. 【請求項14】読出し制御信号及び読出しアドレスから
    なる読出し要求、及び書込み制御信号及び書込みアドレ
    スからなる書込み要求を含むファイルアクセス要求にサ
    ービスするための複数の読出しポート及び書込みポート
    を含むベクトルレジスタ回路であって、上記ベクトルレ
    ジスタ回路は複数のタイミングサイクルに従って動作
    し、各タイミングサイクルはそのサイクルの間に読出し
    要求及び書込み要求の両方にサービスできるように編成
    されており、ベクトルレジスタ回路が、 レジスタアレーと、読出し手段と、書込み手段と、第1
    の選択手段と、第2の選択手段とを具備し、 上記レジスタアレーは、ベクトル要素からなる複数のサ
    ブアレーに編成され、ベクトルを表すデータを記憶し、
    上記レジスタアレーは、 各々が異なるサブアレーの1つからの複数のベクトル要
    素からなり、各々が完全ベクトルの1つを含む複数のベ
    クトルレジスタと、 サブアレーに結合され、ベクトルレジスタ内へのベクト
    ルの記憶及びベクトルレジスタ内のベクトルの検索のた
    めにサブアレーへのアクセスを提供する制御手段とを含
    み、 上記読出し手段は、レジスタアレーに結合され、読出し
    選択信号に応答して何れかのタイミングサイクルの間
    に、記憶されている何れかのデータを何れかの読出しポ
    ートのに結合し、且つ記憶されているデータ内のベクト
    ルを少なくとも2つの読出しポートを通して同時に出力
    し、それによって連続するタイミングサイクルの間に、
    少なくとも2つの完全ベクトルを同時にレジスタアレー
    から出力することを可能にし、各読出しアドレスはベク
    トルレジスタ選択部分とベクトル要素選択部分とを含
    み、上記読出し手段は、 異なるサブアレーの1つのアドレス端子に結合されてい
    る出力と、読出しアドレスのベクトル要素選択部分を受
    信するように結合されている入力と、読出し入力マルチ
    プレクサ制御信号を受信するように結合されている制御
    端子とを各々が有する第1の集合のマルチプレクサを含
    み、 上記書込み手段は、レジスタアレーに結合され、書込み
    選択信号に応答して何れかのタイミングサイクルの間
    に、データを表すベクトルを何れかの書込みポートを通
    してレジスタアレーへ経路指定し、且つベクトルを少な
    くとも2つの書込みポート通してレジスタアレー内の何
    れかのベクトル要素内に同時に記憶させ、それによって
    連続するタイミングサイクルの間に少なくとも2つの完
    全ベクトルを同時にレジスタアレー内に記憶させること
    を可能にし、 上記第1の選択手段は、読出し手段に結合され、読出し
    アドレス及び読出し制御信号に応答して読出し選択信号
    を生成し、上記第1の選択手段は、 読出しアドレスのベクトルレジスタ選択部分に応答し、
    読出しアドレスによって識別されるサブアレーに結合さ
    れている第1の集合の各マルチプレクサのための読出し
    入力マルチプレクサ制御信号を生成する読出し論理を含
    み、 上記第2の選択手段は、書込み手段に結合され、書込み
    アドレス及び書込み制御信号に応答して書込み選択信号
    を生成する ことを特徴とするベクトルレジスタ回路。
  15. 【請求項15】上記読出し手段は、サブアレーのデータ
    出力に結合されている入力と、異なる読出しポートの1
    つに結合されている出力と、読出し出力マルチプレクサ
    制御信号を受信するように読出し論理に結合されている
    制御端子とを各々が有する第2の集合のマルチプレクサ
    をも含み、 上記読出し論理は、読出しアドレスから読出し出力マル
    チプレクサ制御信号を形成する手段を含む請求項14に
    記載のベクトルレジスタ回路。
  16. 【請求項16】読出し制御信号及び読出しアドレスから
    なる読出し要求、及び書込み制御信号及び書込みアドレ
    スからなる書込み要求を含むファイルアクセス要求にサ
    ービスするための複数の読出しポート及び書込みポート
    を含むベクトルレジスタ回路であって、上記ベクトルレ
    ジスタ回路は複数のタイミングサイクルに従って動作
    し、各タイミングサイクルはそのサイクルの間に読出し
    要求及び書込み要求の両方にサービスできるように編成
    されており、ベクトルレジスタ回路が、 レジスタアレーと、読出し手段と、書込み手段と、第1
    の選択手段と、第2の選択手段とを具備し、 上記レジスタアレーは、ベクトル要素からなる複数のサ
    ブアレーに編成され、ベクトルを表すデータを記憶し、
    上記レジスタアレーは、 各々が異なるサブアレーの1つからの複数のベクトル要
    素からなり、各々が完全ベクトルの1つを含む複数のベ
    クトルレジスタと、サブアレーに結合され、ベクトルレ
    ジスタ内へのベクトルの記憶及びベクトルレジスタ内の
    ベクトルの検索のためにサブアレーへのアクセスを提供
    する制御手段とを含み、 上記読出し手段は、レジスタアレーに結合され、読出し
    選択信号に応答して何れかのタイミングサイクルの間
    に、記憶されている何れかのデータを何れかの読出しポ
    ートに結合し、且つ記憶されているデータ内のベクトル
    を少なくとも2つの読出しポートを通して同時に出力
    し、それによって連続するタイミングサイクルの間に、
    少なくとも2つの全ベクトルを同時にレジスタアレーか
    ら出力することを可能にし、 上記書込み手段は、レジスタアレーに結合され、書込み
    選択信号に応答して何れかのタイミングサイクルの間
    に、データを表すベクトルを何れかの書込みポートを通
    してレジスタアレーへ経路指定し、且つベクトルを少な
    くとも2つの書込みポートを通してレジスタアレー内の
    何れかのベクトル要素内に同時に記憶させ、それによっ
    て連続するタイミングサイクルの間に少なくとも2つの
    完全ベクトルを同時にレジスタアレー内に記憶させるこ
    とを可能にし、各書込みアドレスはベクトルレジスタ選
    択部分及びベクトル要素選択部分を含み、上記書込み手
    段は、 異なるサブアレーの1つのアドレス端子に結合されてい
    る出力と、書込みアドレスのベクトル要素選択部分を受
    信するように結合されている入力と、書込み入力マルチ
    プレクサ制御信号を受信するように結合されている制御
    端子とを各々が有する第1の集合のマルチプレクサを含
    み、 上記第1の選択手段は、読出し手段に結合され、読出し
    アドレス及び読出し制御信号に応答して読出し選択信号
    を生成し、 上記第2の選択手段は、書込み手段に結合され、書込み
    アドレス及び書込み制御信号に応答して書込み選択信号
    を生成し、上記第2の選択手段は、 書込みアドレスのベクトルレジスタ選択部分に応答し、
    書込みアドレスによって識別されるサブアレーに結合さ
    れている第1の集合の各マルチプレクサのための書込み
    入力マルチプレクサ制御信号を生成する書込み論理を含
    む ことを特徴とするベクトルレジスタ回路。
  17. 【請求項17】上記書込み手段は、サブアレー内に記憶
    されるデータを受信するように結合されている入力と、
    異なるサブアレーの1つに結合されている出力と、書込
    み論理からの書込み入力マルチプレクサ制御信号の対応
    する1つを受信するように結合されている制御端子とを
    各々が有する第2の集合のマルチプレクサをも含む請求
    項16に記載のベクトルレジスタ回路。
  18. 【請求項18】読出し制御信号及び読出しアドレスから
    なる読出し要求、及び書込み制御信号及び書込みアドレ
    スからなる書込み要求を含むファイルアクセス要求にサ
    ービスするための複数の読出しポート及び書込みポート
    を含むベクトルレジスタ回路を動作させる方法であっ
    て、 完全ベクトルの1つが個々のベクトルレジスタ内に記憶
    されるように複数のベクトルレジスタとして編成されて
    いるベクトル要素のマトリクスを含むレジスタアレー内
    にベクトルを表すデータを記憶させる段階と(各ベクト
    ルレジスタのベクトル要素が複数のサブアレーの中の複
    数のサブアレー内に記憶され、各読出しアドレスがベク
    トルレジスタ選択部分とベクトル要素選択部分を含
    む)、 読出しアドレス及び読出し制御信号に応答し、ベクトル
    要素選択部分及びベクトルレジスタ選択部分を復号して
    読出し入力多重化制御信号を作成することによって読出
    し選択信号を生成する段階と、 連続する複数のタイミング信号の間に、且つ読出し選択
    信号に応答し、多重化信号に従って各サブアレーからの
    出力を各読出しポートへ多重化することによって少なく
    とも2つのサブアレーからの完全ベクトルを少なくとも
    2つの読出しポートを通して同時に出力する段階と、 書込みアドレス及び書込み選択信号に応答して書込み選
    択信号を生成する段階と、 書込み選択信号に応答し、且つ連続するタイミング信号
    の間に、完全ベクトルをレジスタアレー内に同時に記憶
    させる段階 を有することを特徴とする方法。
  19. 【請求項19】読出し制御信号及び読出しアドレスから
    なる読出し要求、及び書込み制御信号及び書込みアドレ
    スからなる書込み要求を含むファイルアクセス要求にサ
    ービスするための複数の読出しポート及び書込みポート
    を含むベクトルレジスタ回路の動作方法であって、 完全ベクトルの1つが個々のベクトルレジスタ内に記憶
    されるように複数のベクトルレジスタとして編成されて
    いるベクトル要素のマトリクスを含むレジスタアレー内
    にベクトルを表すデータを記憶させる段階と(各ベクト
    ルレジスタのベクトル要素が複数のサブアレーの中の複
    数のサブアレー内に記憶され、各書込みアドレスがベク
    トルレジスタ選択部分とベクトル要素選択部分を含
    む)、 読出しアドレス及び読出し制御信号に応答して読出し選
    択信号を生成する段階と、 連続する複数のタイミング信号の間に、且つ読出し選択
    信号に応答し、少なくとも2つの読出しポートを通して
    レジスタアレーからの完全をベクトルを同時に出力する
    段階と、 書込みアドレス及び書込み制御信号に応答し、ベクトル
    レジスタ選択部分及びベクトル要素選択部分に従って多
    重化制御信号を生成することによって書込み選択信号を
    生成する段階と、 書込み選択信号に応答し、且つ連続するタイミング信号
    の間に、多重化制御信号に従って各書込みポートからの
    信号を各サブアレーへ多重化することによって、少なく
    とも2つのサブアレー内に完全ベクトルを同時に記憶さ
    せる段階 を有することを特徴とする方法。
JP63507500A 1987-08-31 1988-08-16 マルチポートベクトルレジスタファイル Expired - Lifetime JPH0622034B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US93,499 1987-08-31
US07/093,499 US4980817A (en) 1987-08-31 1987-08-31 Vector register system for executing plural read/write commands concurrently and independently routing data to plural read/write ports
PCT/US1988/002810 WO1989002130A1 (en) 1987-08-31 1988-08-16 Multi-port vector register file

Publications (2)

Publication Number Publication Date
JPH02501243A JPH02501243A (ja) 1990-04-26
JPH0622034B2 true JPH0622034B2 (ja) 1994-03-23

Family

ID=22239297

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63507500A Expired - Lifetime JPH0622034B2 (ja) 1987-08-31 1988-08-16 マルチポートベクトルレジスタファイル

Country Status (5)

Country Link
US (1) US4980817A (ja)
EP (1) EP0328632A4 (ja)
JP (1) JPH0622034B2 (ja)
CA (1) CA1323444C (ja)
WO (1) WO1989002130A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020144449A (ja) * 2019-03-04 2020-09-10 日本電気株式会社 ベクトル処理装置

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68928507T2 (de) * 1988-06-07 1998-04-16 Fujitsu Ltd Vektordatenverarbeitungsvorrichtung
JP2941817B2 (ja) * 1988-09-14 1999-08-30 株式会社日立製作所 ベクトル処理装置
US5253308A (en) * 1989-06-21 1993-10-12 Amber Engineering, Inc. Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing
EP0550427A1 (en) * 1990-08-03 1993-07-14 Du Pont Pixel Systems Limited Data-array parallel-processing system
JP2616182B2 (ja) * 1990-08-29 1997-06-04 三菱電機株式会社 データ処理装置
US5539911A (en) 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US5493687A (en) 1991-07-08 1996-02-20 Seiko Epson Corporation RISC microprocessor architecture implementing multiple typed register sets
US5420997A (en) * 1992-01-02 1995-05-30 Browning; Gary A. Memory having concurrent read and writing from different addresses
EP0636256B1 (en) 1992-03-31 1997-06-04 Seiko Epson Corporation Superscalar risc processor instruction scheduling
WO1993022722A1 (en) 1992-05-01 1993-11-11 Seiko Epson Corporation A system and method for retiring instructions in a superscalar microprocessor
EP0682789B1 (en) 1992-12-31 1998-09-09 Seiko Epson Corporation System and method for register renaming
US5628021A (en) 1992-12-31 1997-05-06 Seiko Epson Corporation System and method for assigning tags to control instruction processing in a superscalar processor
FR2737589B1 (fr) * 1995-07-31 1997-09-12 Suisse Electronique Microtech Systeme d'organisation et procede de sequencement des circuits d'un microprocesseur
US6111584A (en) * 1995-12-18 2000-08-29 3Dlabs Inc. Ltd. Rendering system with mini-patch retrieval from local texture storage
US5937178A (en) * 1996-02-13 1999-08-10 National Semiconductor Corporation Register file for registers with multiple addressable sizes using read-modify-write for register file update
US6775752B1 (en) 2000-02-21 2004-08-10 Hewlett-Packard Development Company, L.P. System and method for efficiently updating a fully associative array
JP2002288121A (ja) * 2001-03-26 2002-10-04 Ando Electric Co Ltd データ転送回路および方法
GB2383145B (en) * 2001-10-31 2005-09-07 Alphamosaic Ltd Data access in a processor
GB2382886B (en) 2001-10-31 2006-03-15 Alphamosaic Ltd Vector processing system
US20030154363A1 (en) * 2002-02-11 2003-08-14 Soltis Donald C. Stacked register aliasing in data hazard detection to reduce circuit
US20040224158A1 (en) * 2002-03-08 2004-11-11 Vladimir Moravek Method of application of a protective coating to a substrate
US8533435B2 (en) * 2009-09-24 2013-09-10 Nvidia Corporation Reordering operands assigned to each one of read request ports concurrently accessing multibank register file to avoid bank conflict
US9575755B2 (en) 2012-08-03 2017-02-21 International Business Machines Corporation Vector processing in an active memory device
US9632777B2 (en) 2012-08-03 2017-04-25 International Business Machines Corporation Gather/scatter of multiple data elements with packed loading/storing into/from a register file entry
US9569211B2 (en) 2012-08-03 2017-02-14 International Business Machines Corporation Predication in a vector processor
US9594724B2 (en) * 2012-08-09 2017-03-14 International Business Machines Corporation Vector register file
US9268571B2 (en) * 2012-10-18 2016-02-23 Qualcomm Incorporated Selective coupling of an address line to an element bank of a vector register file
US20210012051A1 (en) * 2020-09-25 2021-01-14 Intel Corporation Circuit design visibility in integrated circuit devices

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5688559A (en) * 1979-12-21 1981-07-18 Fujitsu Ltd Pipeline arithmetic unit
JPS5730078A (en) * 1980-07-31 1982-02-18 Fujitsu Ltd Vector data processor
JPS5831471A (ja) * 1981-08-18 1983-02-24 Fujitsu Ltd ベクトル命令処理装置におけるコンフリクト・チエツク回路
JPS5977574A (ja) * 1982-10-25 1984-05-04 Hitachi Ltd ベクトル・プロセツサ
JPS59114677A (ja) * 1982-12-22 1984-07-02 Hitachi Ltd ベクトル処理装置
JPS6015770A (ja) * 1983-07-06 1985-01-26 Nec Corp ベクトルデ−タ処理装置
JPS60146362A (ja) * 1984-01-10 1985-08-02 Fujitsu Ltd ベクトルレジスタの構成方式
JPS60247783A (ja) * 1984-05-24 1985-12-07 Fujitsu Ltd ベクトル処理装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4128880A (en) * 1976-06-30 1978-12-05 Cray Research, Inc. Computer vector register processing
KR860001434B1 (ko) * 1980-11-21 1986-09-24 후지쑤 가부시끼가이샤 데이타 처리시 스템
JPS57209570A (en) * 1981-06-19 1982-12-22 Fujitsu Ltd Vector processing device
JPS58114274A (ja) * 1981-12-28 1983-07-07 Hitachi Ltd デ−タ処理装置
JPS59160267A (ja) * 1983-03-02 1984-09-10 Hitachi Ltd ベクトル処理装置
ATE74675T1 (de) * 1983-04-25 1992-04-15 Cray Research Inc Mehrprozessorsteuerung fuer vektorrechner.
US4661900A (en) * 1983-04-25 1987-04-28 Cray Research, Inc. Flexible chaining in vector processor with selective use of vector registers as operand and result registers
US4636942A (en) * 1983-04-25 1987-01-13 Cray Research, Inc. Computer vector multiprocessing control
JPS6015771A (ja) * 1983-07-08 1985-01-26 Hitachi Ltd ベクトルプロセッサ
JPS6069746A (ja) * 1983-09-26 1985-04-20 Fujitsu Ltd ベクトル・デ−タ処理装置の制御方式
JPS6266377A (ja) * 1985-09-19 1987-03-25 Fujitsu Ltd マスクパタ−ン生成方式
US4783732A (en) * 1985-12-12 1988-11-08 Itt Corporation Two-wire/three-port RAM for cellular array processor

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5688559A (en) * 1979-12-21 1981-07-18 Fujitsu Ltd Pipeline arithmetic unit
JPS5730078A (en) * 1980-07-31 1982-02-18 Fujitsu Ltd Vector data processor
JPS5831471A (ja) * 1981-08-18 1983-02-24 Fujitsu Ltd ベクトル命令処理装置におけるコンフリクト・チエツク回路
JPS5977574A (ja) * 1982-10-25 1984-05-04 Hitachi Ltd ベクトル・プロセツサ
JPS59114677A (ja) * 1982-12-22 1984-07-02 Hitachi Ltd ベクトル処理装置
JPS6015770A (ja) * 1983-07-06 1985-01-26 Nec Corp ベクトルデ−タ処理装置
JPS60146362A (ja) * 1984-01-10 1985-08-02 Fujitsu Ltd ベクトルレジスタの構成方式
JPS60247783A (ja) * 1984-05-24 1985-12-07 Fujitsu Ltd ベクトル処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020144449A (ja) * 2019-03-04 2020-09-10 日本電気株式会社 ベクトル処理装置

Also Published As

Publication number Publication date
WO1989002130A1 (en) 1989-03-09
US4980817A (en) 1990-12-25
EP0328632A1 (en) 1989-08-23
JPH02501243A (ja) 1990-04-26
CA1323444C (en) 1993-10-19
EP0328632A4 (en) 1990-12-05

Similar Documents

Publication Publication Date Title
JPH0622034B2 (ja) マルチポートベクトルレジスタファイル
US4875161A (en) Scientific processor vector file organization
US5226171A (en) Parallel vector processing system for individual and broadcast distribution of operands and control information
US4789925A (en) Vector data logical usage conflict detection
US8332580B2 (en) System, method and apparatus for memory with embedded associative section for computations
US5751987A (en) Distributed processing memory chip with embedded logic having both data memory and broadcast memory
US5499349A (en) Pipelined processor with fork, join, and start instructions using tokens to indicate the next instruction for each of multiple threads of execution
US4734850A (en) Data process system including plural storage means each capable of concurrent and intermediate reading and writing of a set of data signals
US5197137A (en) Computer architecture for the concurrent execution of sequential programs
US5513366A (en) Method and system for dynamically reconfiguring a register file in a vector processor
US5887183A (en) Method and system in a data processing system for loading and storing vectors in a plurality of modes
US5261113A (en) Apparatus and method for single operand register array for vector and scalar data processing operations
US4974146A (en) Array processor
US4706191A (en) Local store for scientific vector processor
US4725973A (en) Vector processor
EP0424618A2 (en) Input/output system
US5440717A (en) Computer pipeline including dual-ported, content-addressable writebuffer
JPH0425586B2 (ja)
US5168573A (en) Memory device for storing vector registers
JPH05173837A (ja) オペランド内の情報のスタティックおよびダイナミック・マスキングを兼ね備えるデータ処理システム
JP2008181551A (ja) ベクトルレジスタを備えたコンピュータにおけるベクトルテールゲーティング
US5940625A (en) Density dependent vector mask operation control apparatus and method
EP0367995B1 (en) Vector data transfer controller
US7178008B2 (en) Register access scheduling method for multi-bank register file of a super-scalar parallel processor
JPS58149555A (ja) 並列処理装置