JP2547219B2 - ベクトルデータのアクセス制御装置及び方法 - Google Patents
ベクトルデータのアクセス制御装置及び方法Info
- Publication number
- JP2547219B2 JP2547219B2 JP62229815A JP22981587A JP2547219B2 JP 2547219 B2 JP2547219 B2 JP 2547219B2 JP 62229815 A JP62229815 A JP 62229815A JP 22981587 A JP22981587 A JP 22981587A JP 2547219 B2 JP2547219 B2 JP 2547219B2
- Authority
- JP
- Japan
- Prior art keywords
- vector data
- data
- vector
- access
- bytes
- 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
Links
Landscapes
- Complex Calculations (AREA)
Description
【発明の詳細な説明】 〔概要〕 ベクトル演算装置と主記憶装置との間で複数種の同一
のデータ幅を有する一連のベクトルデータを主記憶装置
からベクトルレジスタにロード、若しくはベクトルレジ
スタから主記憶装置にストアするためのベクトルデータ
のアクセス制御方式に関し、 主記憶装置とロード/ストアデータレジスタ間のベク
トルデータのブロック転送時のベクトルデータ数をベク
トルデータ長に応じて増減させ、ベクトルデータ長が最
大バイト長以下の場合にそれに応じて上記レジスタを空
けて他のユニットによる主記憶装置のアクセスを可能に
し、また主記憶装置と上記レジスタ、及び該レジスタと
アクセスパイプライン間のアクセス頻度を等しくするこ
とにより、アクセス制御を単純化することのできるベク
トルデータのアクセス制御方式を提供することを目的と
し、 ベクトルレジスタに接続されるP本のデータパスを有
するアクセスパイプラインと、該各データパスに任意に
接続されるP個のLバイト幅のレジスタと、該各レジス
タと主記憶装置とを接続するP個のLバイト幅のアクセ
スバスとを用いて前記アクセスパイプラインと前記主記
憶装置との間で最大Lバイト以下の任意のMバイト幅の
一連のベクトルデータを転送するベクトルデータのアク
セス制御方式において、前記主記憶装置と前記各レジス
タとの間で転送されるベクトルデータは、(ベクトルデ
ータ幅M)×(並列転送数P)バイトをブロック単位と
して前記各アクセスバス及び前記各レジスタの全部若し
くは一部を用いてブロック転送され、前記各レジスタと
前記各データパスとの間で転送されるベクトルデータ
は、ベクトルデータ幅Mバイトを単位としてP個並列に
転送されるように構成する。
のデータ幅を有する一連のベクトルデータを主記憶装置
からベクトルレジスタにロード、若しくはベクトルレジ
スタから主記憶装置にストアするためのベクトルデータ
のアクセス制御方式に関し、 主記憶装置とロード/ストアデータレジスタ間のベク
トルデータのブロック転送時のベクトルデータ数をベク
トルデータ長に応じて増減させ、ベクトルデータ長が最
大バイト長以下の場合にそれに応じて上記レジスタを空
けて他のユニットによる主記憶装置のアクセスを可能に
し、また主記憶装置と上記レジスタ、及び該レジスタと
アクセスパイプライン間のアクセス頻度を等しくするこ
とにより、アクセス制御を単純化することのできるベク
トルデータのアクセス制御方式を提供することを目的と
し、 ベクトルレジスタに接続されるP本のデータパスを有
するアクセスパイプラインと、該各データパスに任意に
接続されるP個のLバイト幅のレジスタと、該各レジス
タと主記憶装置とを接続するP個のLバイト幅のアクセ
スバスとを用いて前記アクセスパイプラインと前記主記
憶装置との間で最大Lバイト以下の任意のMバイト幅の
一連のベクトルデータを転送するベクトルデータのアク
セス制御方式において、前記主記憶装置と前記各レジス
タとの間で転送されるベクトルデータは、(ベクトルデ
ータ幅M)×(並列転送数P)バイトをブロック単位と
して前記各アクセスバス及び前記各レジスタの全部若し
くは一部を用いてブロック転送され、前記各レジスタと
前記各データパスとの間で転送されるベクトルデータ
は、ベクトルデータ幅Mバイトを単位としてP個並列に
転送されるように構成する。
本発明はベクトル演算処理装置と主記憶装置との間の
ベクトルデータのアクセス制御方式に係り、特に複数種
の同一のデータ幅を有する一連のベクトルデータを主記
憶装置からベクトルレジスタにロード、若しくはベクト
ルレジスタから主記憶装置にストアするためのベクトル
データのアクセス制御方式に関する。
ベクトルデータのアクセス制御方式に係り、特に複数種
の同一のデータ幅を有する一連のベクトルデータを主記
憶装置からベクトルレジスタにロード、若しくはベクト
ルレジスタから主記憶装置にストアするためのベクトル
データのアクセス制御方式に関する。
近年、スーパーコンピュータの利用が急速に進んでい
る。スーパーコンピュータにおいては、ベクトル演算ユ
ニットを用いて各データ列に対して複数の命令を高速パ
イプライン処理で実行し、またそれを並列に配置して多
数のデータを同時に扱うことにより、科学技術計算等を
超高速で実行することが可能である。
る。スーパーコンピュータにおいては、ベクトル演算ユ
ニットを用いて各データ列に対して複数の命令を高速パ
イプライン処理で実行し、またそれを並列に配置して多
数のデータを同時に扱うことにより、科学技術計算等を
超高速で実行することが可能である。
この場合、ベクトル演算ユニットが超高速でデータを
処理するため、相対的に主記憶装置のデータ処理速度が
遅くなってしまう。そこで主記憶装置とベクトル演算ユ
ニットの間の動作速度の格差を埋めるために、中間に高
速アクセスが可能なベクトルレジスタを置き、このレジ
スタ上に置いたベクトルデータをベクトル演算ユニット
により次々に実行することにより、演算を主記憶装置を
介さずに高速に行なうことを可能にしている。
処理するため、相対的に主記憶装置のデータ処理速度が
遅くなってしまう。そこで主記憶装置とベクトル演算ユ
ニットの間の動作速度の格差を埋めるために、中間に高
速アクセスが可能なベクトルレジスタを置き、このレジ
スタ上に置いたベクトルデータをベクトル演算ユニット
により次々に実行することにより、演算を主記憶装置を
介さずに高速に行なうことを可能にしている。
更に、主記憶装置とベクトルレジスタ間のベクトルデ
ータのアクセス速度の差を埋めるために、主記憶装置を
複数のバンクに分割し、各バンクに接続される複数のア
クセスバスと、それらアクセスバスとベクトルレジスタ
との間に接続されるアクセスパイプラインを用いて、上
記複数のバンクにインターリーブして記憶される一連の
ベクトルデータ列を同時にアクセスすることにより、主
記憶装置とベクトルレジスタ間のベクトルデータの高速
転送を実現している。
ータのアクセス速度の差を埋めるために、主記憶装置を
複数のバンクに分割し、各バンクに接続される複数のア
クセスバスと、それらアクセスバスとベクトルレジスタ
との間に接続されるアクセスパイプラインを用いて、上
記複数のバンクにインターリーブして記憶される一連の
ベクトルデータ列を同時にアクセスすることにより、主
記憶装置とベクトルレジスタ間のベクトルデータの高速
転送を実現している。
第4図に、上記動作のうち主記憶装置からベクトルレ
ジスタへベクトルデータをロードする動作を実現するた
めの一般的な構成を示す。なお、ストア動作はロード動
作の全く逆として実現できるため、その構成は省略す
る。まず、ベクトル演算処理ユニット(VXU)3は、ベ
クトルレジスタ7、ALIGN回路4、及び特には図示しな
いベクトル演算ユニット、マスクレジスタなどにより構
成される。次に、第4図では主記憶装置は、MSU1−1と
MSU1−2の2つから構成され、各MSU1−1、1−2は更
にBANK#0とBANK#1の2つのバンク(記憶領域)に分
割されており、各バンクとVXU3内のALIGN回路4の4つ
のロードデータレジスタ(LDR)5−1〜5−4は、2
−1A、2−1B、2−2A、2−2Bの4本のアクセスバスに
よって接続されている。そしてALIGN回路4において、
各LDR5−1〜5−4と4つのロードレジスタスタック
(LRS)6−1〜6−4は、バス群7により任意に接続
され、各LRS6−1〜6−4はベクトルレジスタ7に接続
される。ここで、各アクセスバス2−1A、1B、2A、2Bは
8バイト(64ビット)のベクトルデータを転送でき、各
LDR5−1〜5−4はそれに対応して8バイトのベクトル
データを一時記憶できる。また、各LRS6−1〜6−4は
8バイトの他に4バイトのベクトルデータをベクトルレ
ジスタに転送できるアクセスパイプラインである。
ジスタへベクトルデータをロードする動作を実現するた
めの一般的な構成を示す。なお、ストア動作はロード動
作の全く逆として実現できるため、その構成は省略す
る。まず、ベクトル演算処理ユニット(VXU)3は、ベ
クトルレジスタ7、ALIGN回路4、及び特には図示しな
いベクトル演算ユニット、マスクレジスタなどにより構
成される。次に、第4図では主記憶装置は、MSU1−1と
MSU1−2の2つから構成され、各MSU1−1、1−2は更
にBANK#0とBANK#1の2つのバンク(記憶領域)に分
割されており、各バンクとVXU3内のALIGN回路4の4つ
のロードデータレジスタ(LDR)5−1〜5−4は、2
−1A、2−1B、2−2A、2−2Bの4本のアクセスバスに
よって接続されている。そしてALIGN回路4において、
各LDR5−1〜5−4と4つのロードレジスタスタック
(LRS)6−1〜6−4は、バス群7により任意に接続
され、各LRS6−1〜6−4はベクトルレジスタ7に接続
される。ここで、各アクセスバス2−1A、1B、2A、2Bは
8バイト(64ビット)のベクトルデータを転送でき、各
LDR5−1〜5−4はそれに対応して8バイトのベクトル
データを一時記憶できる。また、各LRS6−1〜6−4は
8バイトの他に4バイトのベクトルデータをベクトルレ
ジスタに転送できるアクセスパイプラインである。
上記構成において、MSU1−1、1−2上の8バイト単
位のベクトルデータを並列してベクトルレジスタ7へロ
ードする場合のアクセス制御方式を第5図に示す。MSU1
−1、1−2上の各BANK#0、#1には例えば番号0〜
7、8〜15、16〜23、24〜31で示す8バイト単位の4個
のベクトルデータが、同図に示すように8バイト単位で
各バンクにインタリーブして記憶されている。これに対
して8バイトベクトルデータのロード動作を実行する
と、8バイトの各アクセスバス2−1A、1B、2A、2Bを介
して上記8バイト単位の4個のベクトルデータが、各LD
R5−1〜5−4に並列して同時に読み出され(これをブ
ロックロードと呼ぶ)、続いて、各LRS6−1〜6−4に
8バイト単位で高速にアライン(並びかえ)して転送さ
れる。これにより各アクセス周期毎に8バイト×4個の
一連のベクトルデータが同時にロードされる。そして各
LRS6−1〜6−4上に読み出された上記ベクトルデータ
は、各アクセス周期でベクトルレジスタ7(第4図)へ
パイプライン処理により高速転送される。このような8
バイト単位のベクトルデータとしては、64ビット倍精度
浮動小数点データ等がある。
位のベクトルデータを並列してベクトルレジスタ7へロ
ードする場合のアクセス制御方式を第5図に示す。MSU1
−1、1−2上の各BANK#0、#1には例えば番号0〜
7、8〜15、16〜23、24〜31で示す8バイト単位の4個
のベクトルデータが、同図に示すように8バイト単位で
各バンクにインタリーブして記憶されている。これに対
して8バイトベクトルデータのロード動作を実行する
と、8バイトの各アクセスバス2−1A、1B、2A、2Bを介
して上記8バイト単位の4個のベクトルデータが、各LD
R5−1〜5−4に並列して同時に読み出され(これをブ
ロックロードと呼ぶ)、続いて、各LRS6−1〜6−4に
8バイト単位で高速にアライン(並びかえ)して転送さ
れる。これにより各アクセス周期毎に8バイト×4個の
一連のベクトルデータが同時にロードされる。そして各
LRS6−1〜6−4上に読み出された上記ベクトルデータ
は、各アクセス周期でベクトルレジスタ7(第4図)へ
パイプライン処理により高速転送される。このような8
バイト単位のベクトルデータとしては、64ビット倍精度
浮動小数点データ等がある。
次に、第6図に、第4図の構成で8バイト以外、例え
ば4バイト単位のベクトルデータを、並列してベクトル
レジスタ7へロードする場合のアクセス制御方式を示
す。まず、第6図(a)において、MSU1−1、1−2上
の各BANK#0、#1には、例えば番号0〜3、4〜7、
8〜11、12〜15、16〜19、20〜23、24〜27、及び28〜31
の4バイト単位の8個のベクトルデータが、8バイト単
位で各バンクにインターリーブして記憶されている。こ
れに対して4バイトベクトルデータのロード動作を実行
すると、8バイトの各アクセスバス2−1A、1B、2A、2B
を介して上記4バイト×8個のベクトルデータが、各LD
R5−1〜5−4に並列して同時にブロックロードされ、
続いてまず第1のアクセス周期で、LDR5−3、5−4上
の4個の4バイトベクトルデータが、各LRS6−1〜6−
4に高速にアラインして転送される。そして次の第2の
アスセス周期で、第6図(b)に示すようにLDR5−1、
5−2上の残りの4個の4バイトベクトルデータが、各
LRS6−1〜6−4に高速にアラインして転送される。こ
れにより、各アクセス周期毎に4バイト×4個の一連の
ベクトルデータが各LRS6−1〜6−4に同時にロードさ
れ、ベクトルレジスタ7(第4図)へパイプライン処理
により高速転送される。このような4バイト単位のベク
トルデータとしては、32ビット単精度浮動小数点データ
又は固定小数点データ等がある。
ば4バイト単位のベクトルデータを、並列してベクトル
レジスタ7へロードする場合のアクセス制御方式を示
す。まず、第6図(a)において、MSU1−1、1−2上
の各BANK#0、#1には、例えば番号0〜3、4〜7、
8〜11、12〜15、16〜19、20〜23、24〜27、及び28〜31
の4バイト単位の8個のベクトルデータが、8バイト単
位で各バンクにインターリーブして記憶されている。こ
れに対して4バイトベクトルデータのロード動作を実行
すると、8バイトの各アクセスバス2−1A、1B、2A、2B
を介して上記4バイト×8個のベクトルデータが、各LD
R5−1〜5−4に並列して同時にブロックロードされ、
続いてまず第1のアクセス周期で、LDR5−3、5−4上
の4個の4バイトベクトルデータが、各LRS6−1〜6−
4に高速にアラインして転送される。そして次の第2の
アスセス周期で、第6図(b)に示すようにLDR5−1、
5−2上の残りの4個の4バイトベクトルデータが、各
LRS6−1〜6−4に高速にアラインして転送される。こ
れにより、各アクセス周期毎に4バイト×4個の一連の
ベクトルデータが各LRS6−1〜6−4に同時にロードさ
れ、ベクトルレジスタ7(第4図)へパイプライン処理
により高速転送される。このような4バイト単位のベク
トルデータとしては、32ビット単精度浮動小数点データ
又は固定小数点データ等がある。
しかし上記従来例において、最大バイト長(第5、6
図では8バイト)以下のベクトルデータをアクセスする
場合、第6図(a),(b)に示したように、主記憶装
置MSUとロードデータレジスタLDRとの間のベクトルデー
タのブロックロードは、最大バイト長のアクセスバス2
−1A、1B、2A、2Bの全てを用いて行ない、また、各LDR
と各ロードレジスタスタックLRSとの間のベクトルデー
タの転送は、最大バイト長以下のベクトルデータ長で並
列に行なうため、MSUとLDR間の転送レートと、LDRとLRS
間の転送レートとが等しくなくなる。例えば、第6図
(a),(b)の4バイトのベクトルデータのロードを
行なう場合、MSUとLDRの間のアクセス頻度は、LDRとLRS
間のアクセス頻度の2分の1になる。これにより、MSU
に接続されるアクセスバス2−1A、1B、2A、2Bが休止す
る時間が生ずるが、LDRはLRSとの間のベクトルデータの
転送のために常にビジ−状態になっているため、LDRを
共有する他のユニットがアクセスバスが空いているにも
かかわらず、MSUをアクセスできず、MSUアクセスの効率
が悪くなってしまうという問題点を有していた。また、
LDRとLRSとの間で転送を行なう間に、MSUを転送するベ
クトルデータのデータ長に応じて一定の間隔で休止させ
るような制御を、インターバルIDと呼ばれる制御コード
を用いて行なわなければならず、制御が複雑になってし
まうという問題点を有していた。これらの問題点は、ベ
クトルレジスタから主記憶装置へのベクトルデータのス
トア動作時にも全く同様に発生していた。
図では8バイト)以下のベクトルデータをアクセスする
場合、第6図(a),(b)に示したように、主記憶装
置MSUとロードデータレジスタLDRとの間のベクトルデー
タのブロックロードは、最大バイト長のアクセスバス2
−1A、1B、2A、2Bの全てを用いて行ない、また、各LDR
と各ロードレジスタスタックLRSとの間のベクトルデー
タの転送は、最大バイト長以下のベクトルデータ長で並
列に行なうため、MSUとLDR間の転送レートと、LDRとLRS
間の転送レートとが等しくなくなる。例えば、第6図
(a),(b)の4バイトのベクトルデータのロードを
行なう場合、MSUとLDRの間のアクセス頻度は、LDRとLRS
間のアクセス頻度の2分の1になる。これにより、MSU
に接続されるアクセスバス2−1A、1B、2A、2Bが休止す
る時間が生ずるが、LDRはLRSとの間のベクトルデータの
転送のために常にビジ−状態になっているため、LDRを
共有する他のユニットがアクセスバスが空いているにも
かかわらず、MSUをアクセスできず、MSUアクセスの効率
が悪くなってしまうという問題点を有していた。また、
LDRとLRSとの間で転送を行なう間に、MSUを転送するベ
クトルデータのデータ長に応じて一定の間隔で休止させ
るような制御を、インターバルIDと呼ばれる制御コード
を用いて行なわなければならず、制御が複雑になってし
まうという問題点を有していた。これらの問題点は、ベ
クトルレジスタから主記憶装置へのベクトルデータのス
トア動作時にも全く同様に発生していた。
本発明は上記問題点を解決するために、主記憶装置と
ロード/ストアデータレジスタ間のベクトルデータのブ
ロック転送時のベクトルデータ数をベクトルデータ長に
応じて増減させ、ベクトルデータ長が最大バイト長以下
の場合にそれに応じて上記レジスタを空けて他のユニッ
トによる主記憶装置のアクセスを可能にし、また主記憶
装置と上記レジスタ、及び該レジスタとアクセスパイプ
ライン間のアクセス頻度を等しくすることにより、アク
セス制御を単純化することのできるベクトルデータのア
クセス制御方式を提供することを目的とする。
ロード/ストアデータレジスタ間のベクトルデータのブ
ロック転送時のベクトルデータ数をベクトルデータ長に
応じて増減させ、ベクトルデータ長が最大バイト長以下
の場合にそれに応じて上記レジスタを空けて他のユニッ
トによる主記憶装置のアクセスを可能にし、また主記憶
装置と上記レジスタ、及び該レジスタとアクセスパイプ
ライン間のアクセス頻度を等しくすることにより、アク
セス制御を単純化することのできるベクトルデータのア
クセス制御方式を提供することを目的とする。
第1図は本発明による装置の基本原理を示す図であ
る。本発明は、主記憶装置8と、ベクトルレジスタ13
と、主記憶装置8とベクトルレジスタ13の間で、最大L
バイト以下の任意のMバイトの同一幅のベクトルデータ
15をP個並列に転送する、ベクトルレジスタ13に接続さ
れたP本のデータパス12を有するアクセスパイプライン
11と、各データパス12に接続され、データパス12との間
でMバイト幅の一連のベクトルデータ15をベクトルデー
タ幅Mバイトを単位としてP個並列に転送する、Lバイ
ト幅のP個のレジスタ10と、該各レジスタ10と該主記憶
装置8とを接続する、Lバイト幅のP本のアクセスバス
9と、からなる。主記憶装置8は各レジスタ10との間で
一度に転送されるベクトルデータ14を、M×Pバイトを
ブロック単位として各アクセスバス9及び各レジスタ10
の全部若しくは一部を用いてブロック転送する。
る。本発明は、主記憶装置8と、ベクトルレジスタ13
と、主記憶装置8とベクトルレジスタ13の間で、最大L
バイト以下の任意のMバイトの同一幅のベクトルデータ
15をP個並列に転送する、ベクトルレジスタ13に接続さ
れたP本のデータパス12を有するアクセスパイプライン
11と、各データパス12に接続され、データパス12との間
でMバイト幅の一連のベクトルデータ15をベクトルデー
タ幅Mバイトを単位としてP個並列に転送する、Lバイ
ト幅のP個のレジスタ10と、該各レジスタ10と該主記憶
装置8とを接続する、Lバイト幅のP本のアクセスバス
9と、からなる。主記憶装置8は各レジスタ10との間で
一度に転送されるベクトルデータ14を、M×Pバイトを
ブロック単位として各アクセスバス9及び各レジスタ10
の全部若しくは一部を用いてブロック転送する。
例えば、今、最大L=8バイト幅のベクトルデータの
主記憶装置8からベクトルレジスタ13へのロードが4個
並列に可能であり、M=4バイト幅のベクトルデータの
ロードを行なう場合、主記憶装置8からレジスタ10へ転
送されるベクトルデータ14は、M×P=4×4=16バイ
ト単位でブロック転送される。このとき、P=4つのア
クセスバス9及びレジスタ10は、最大L×P=8×4=
32バイトのベクトルデータの転送及び記憶が可能である
ため、上記転送時には4つのうち2つのアクセスバス9
とレジスタ10のみが使用される。そして、各レジスタ10
からのデータパス12へ転送されるベクトルデータ15は、
上記ブロック転送されたベクトルデータが記憶されてい
る2つのレジスタ10から4本のデータパス12へ、M=4
バイト単位で4個並列に転送される。そしてアクセスパ
イプライン11の各データパス12へ転送されたベクトルデ
ータ15は、ベクトルレジスタ13へパイプライン転送され
る。
主記憶装置8からベクトルレジスタ13へのロードが4個
並列に可能であり、M=4バイト幅のベクトルデータの
ロードを行なう場合、主記憶装置8からレジスタ10へ転
送されるベクトルデータ14は、M×P=4×4=16バイ
ト単位でブロック転送される。このとき、P=4つのア
クセスバス9及びレジスタ10は、最大L×P=8×4=
32バイトのベクトルデータの転送及び記憶が可能である
ため、上記転送時には4つのうち2つのアクセスバス9
とレジスタ10のみが使用される。そして、各レジスタ10
からのデータパス12へ転送されるベクトルデータ15は、
上記ブロック転送されたベクトルデータが記憶されてい
る2つのレジスタ10から4本のデータパス12へ、M=4
バイト単位で4個並列に転送される。そしてアクセスパ
イプライン11の各データパス12へ転送されたベクトルデ
ータ15は、ベクトルレジスタ13へパイプライン転送され
る。
ベクトルレジスタ13から主記憶装置8へのベクトルデ
ータのストア動作は、上記と全く逆の動作により実現で
きる。
ータのストア動作は、上記と全く逆の動作により実現で
きる。
これらのことは、ベクトルデータのアクセス制御方法
として構成することも可能である。
として構成することも可能である。
上記装置、あるいは上記装置により達成されるベクト
ルデータのアクセス制御方法によれば、主記憶装置8と
ベクトルレジスタ13の間で最大Lバイト以下のMバイト
幅のベクトルデータの転送を行なう場合には、それに応
じてアクセスバス9及びレジスタ10が空くことになり、
他のユニットによる主記憶装置8のアクセスが可能にな
る。
ルデータのアクセス制御方法によれば、主記憶装置8と
ベクトルレジスタ13の間で最大Lバイト以下のMバイト
幅のベクトルデータの転送を行なう場合には、それに応
じてアクセスバス9及びレジスタ10が空くことになり、
他のユニットによる主記憶装置8のアクセスが可能にな
る。
また、一回のアクセスで主記憶装置8とレジスタ10と
の間で転送されるベクトルデータの数と、同じくレジス
タ10とアクセスパイプライン11との間で転送されるベク
トルデータの数は一致するため、両者を同一のアクセス
タイミングで制御することができ、制御が単純化され
る。
の間で転送されるベクトルデータの数と、同じくレジス
タ10とアクセスパイプライン11との間で転送されるベク
トルデータの数は一致するため、両者を同一のアクセス
タイミングで制御することができ、制御が単純化され
る。
以下、本発明の実施例につき詳細に説明を行なう。ま
ず、本発明によるベクトル演算処理ユニットと主記憶装
置のロード時の構成図は、第4図の従来例と同様である
ので、その構成は省略する。次に第2図は、第4図の主
記憶装置1−1及び1−2のアクセス制御を行なうため
の、本発明によるアクセス制御回路の構成図である。ベ
クトル・アクセス・アドレス・ジェネレータ16の入力線
18には、先頭アドレスSA若しくは前回のブロックアドレ
スBAが入力し、入力線19にはブロックサイズBS(16バイ
ト又は32バイト)が入力する。これにより同ジェネレー
タ16は先頭アドレスSAから順に32バイト若しくは16バイ
ト単位でブロックアドレスBAを発生し、バッファ20を介
してPRIORITY回路17へ出力する。同回路17は、第4図の
アクセスバス2−1A、1B、2A、2Bなどが他のユニットに
使用されているか否か(バス・コンフリクト・チェッ
ク)、又は第4図の主記憶装置1−1,1−2内のアクセ
スするバンクがビジ−状態でないか否か(バンクビジ−
チェック)などをチェックした後、ベクトル・アクセス
・ジェネレータ16からのブロックアドレスBAに対応し
て、第4図の主記憶装置1−1、1−2内の各BANK#
0、#1を選択するためのバンクアドレス選択信号22を
各BANKへ出力する。
ず、本発明によるベクトル演算処理ユニットと主記憶装
置のロード時の構成図は、第4図の従来例と同様である
ので、その構成は省略する。次に第2図は、第4図の主
記憶装置1−1及び1−2のアクセス制御を行なうため
の、本発明によるアクセス制御回路の構成図である。ベ
クトル・アクセス・アドレス・ジェネレータ16の入力線
18には、先頭アドレスSA若しくは前回のブロックアドレ
スBAが入力し、入力線19にはブロックサイズBS(16バイ
ト又は32バイト)が入力する。これにより同ジェネレー
タ16は先頭アドレスSAから順に32バイト若しくは16バイ
ト単位でブロックアドレスBAを発生し、バッファ20を介
してPRIORITY回路17へ出力する。同回路17は、第4図の
アクセスバス2−1A、1B、2A、2Bなどが他のユニットに
使用されているか否か(バス・コンフリクト・チェッ
ク)、又は第4図の主記憶装置1−1,1−2内のアクセ
スするバンクがビジ−状態でないか否か(バンクビジ−
チェック)などをチェックした後、ベクトル・アクセス
・ジェネレータ16からのブロックアドレスBAに対応し
て、第4図の主記憶装置1−1、1−2内の各BANK#
0、#1を選択するためのバンクアドレス選択信号22を
各BANKへ出力する。
上記構成において、まず第4図のMSU1−1、1−2上
の8バイト単位のベクトルデータ(例えば64ビット倍精
度浮動小数点データ)を、並列してベクトルレジスタ7
へロードする場合のアクセス制御方式は、第5図の従来
方式と全く同じである。この場合、第2図のアクセス制
御回路の入力線19に入力するブロックサイズBSは32が与
えられる。これにより、ベクトル・アクセス・アドレス
・ジェネレータ16では32バイト単位でブロックアドレス
BAが指定され、PRIORITY回路17からのバンクアドレス選
択信号22は、例えば第5図に示した各MSU1−1、1−2
上の各BANK#0、#1内の番号0〜7、8〜15、16〜2
3、24〜31で示した8バイト単位の4個のベクトルデー
タのブロックロードを指定する。以下の動作は第5図で
前記したため省略する。
の8バイト単位のベクトルデータ(例えば64ビット倍精
度浮動小数点データ)を、並列してベクトルレジスタ7
へロードする場合のアクセス制御方式は、第5図の従来
方式と全く同じである。この場合、第2図のアクセス制
御回路の入力線19に入力するブロックサイズBSは32が与
えられる。これにより、ベクトル・アクセス・アドレス
・ジェネレータ16では32バイト単位でブロックアドレス
BAが指定され、PRIORITY回路17からのバンクアドレス選
択信号22は、例えば第5図に示した各MSU1−1、1−2
上の各BANK#0、#1内の番号0〜7、8〜15、16〜2
3、24〜31で示した8バイト単位の4個のベクトルデー
タのブロックロードを指定する。以下の動作は第5図で
前記したため省略する。
次に第3図に、第4図の構成で8バイト以外、例えば
4バイト単位のベクトルデータ(例えば32ビット単精度
浮動小数点データ、32ビット固定小数点データ)を、並
列してベクトルレジスタ7へロードする場合のアクセス
制御方式を示す。まず第3図(a)において、MSU1−
1、1−2上の各BANK#0、#1には、例えば番号0〜
3、4〜7、8〜11、12〜15、16〜19、20〜23、24〜2
7、及び28〜31の4バイト単位の8個のベクトルデータ
が、8バイト単位で各バンクにインタリーブして記憶さ
れている(第6図と同じ条件である)。
4バイト単位のベクトルデータ(例えば32ビット単精度
浮動小数点データ、32ビット固定小数点データ)を、並
列してベクトルレジスタ7へロードする場合のアクセス
制御方式を示す。まず第3図(a)において、MSU1−
1、1−2上の各BANK#0、#1には、例えば番号0〜
3、4〜7、8〜11、12〜15、16〜19、20〜23、24〜2
7、及び28〜31の4バイト単位の8個のベクトルデータ
が、8バイト単位で各バンクにインタリーブして記憶さ
れている(第6図と同じ条件である)。
これに対して4バイトベクトルデータのロード動作を
実行するためには、まず第2図のアクセス制御回路にお
いて、入力線19に入力するブロックサイズBSとして16を
与える。これにより、ベクトル・アクセス・アドレス・
ジェネレータ16バイト単位でブロックアドレスBAが指定
され、PRIORITY回路17からのバンクアドレス選択信号22
は、まず最初のアクセス周期において、第3図(a)に
示したMSU1−1のBANK#1の番号0〜7、及びMSU1−2
のBANK#1の番号8〜15の4バイト単位の4個のベクト
ルデータのブロックロードを指定する。
実行するためには、まず第2図のアクセス制御回路にお
いて、入力線19に入力するブロックサイズBSとして16を
与える。これにより、ベクトル・アクセス・アドレス・
ジェネレータ16バイト単位でブロックアドレスBAが指定
され、PRIORITY回路17からのバンクアドレス選択信号22
は、まず最初のアクセス周期において、第3図(a)に
示したMSU1−1のBANK#1の番号0〜7、及びMSU1−2
のBANK#1の番号8〜15の4バイト単位の4個のベクト
ルデータのブロックロードを指定する。
これにより、第1アクセス周期ではアクセスバス2−
1A、1B、2A、2Bのうち2−1B、2Bのみがビジーになり、
上記計16バイトのベクトルデータがロードデータレジス
タLDR5−1〜5−4のうちLDRに5−3、5−4にブロ
ックロードされる。続いて、同レジスタ上の4個の4バ
イトデータが、各LRS6−1〜6−4に高速にアラインし
て転送される。この時、第1アクセス周期においては、
アクセスバス2−1A、1B及びLDR5−1、5−2は未使用
であるため、LDRを共有する他のユニットがMSU1−1、
1−2の各BANK#0をアクセスすることが可能となる。
1A、1B、2A、2Bのうち2−1B、2Bのみがビジーになり、
上記計16バイトのベクトルデータがロードデータレジス
タLDR5−1〜5−4のうちLDRに5−3、5−4にブロ
ックロードされる。続いて、同レジスタ上の4個の4バ
イトデータが、各LRS6−1〜6−4に高速にアラインし
て転送される。この時、第1アクセス周期においては、
アクセスバス2−1A、1B及びLDR5−1、5−2は未使用
であるため、LDRを共有する他のユニットがMSU1−1、
1−2の各BANK#0をアクセスすることが可能となる。
次に、第2図のPRIORITY回路17からのバンクアドレス
選択信号22は、第2のアクセス周期において、第3図
(b)に示したMSU1−1のBANK#0の番号16〜23、及び
MSU1−2のBANK#0の番号24〜31の4バイト単位の残り
の4個のベクトルデータのブロックロードを指定する。
選択信号22は、第2のアクセス周期において、第3図
(b)に示したMSU1−1のBANK#0の番号16〜23、及び
MSU1−2のBANK#0の番号24〜31の4バイト単位の残り
の4個のベクトルデータのブロックロードを指定する。
これにより、第2アクセス周期ではアクセスバス2−
1A、2Aのみがビジーになり、上記残りの計16バイトのベ
クトルデータがLDR5−1、5−2にブロックロードされ
る。続いて、同レジスタ上の4個の4バイトデータが、
各LRS6−1〜6−4に高速にアラインして転送される。
この時、第2アクセス周期においては、アクセスバス2
−2A、2B及びLDR5−3、5−4は未使用となるため、他
のユニットがMSU1−1、1−2の各BANK#1をアクセス
することが可能となる。
1A、2Aのみがビジーになり、上記残りの計16バイトのベ
クトルデータがLDR5−1、5−2にブロックロードされ
る。続いて、同レジスタ上の4個の4バイトデータが、
各LRS6−1〜6−4に高速にアラインして転送される。
この時、第2アクセス周期においては、アクセスバス2
−2A、2B及びLDR5−3、5−4は未使用となるため、他
のユニットがMSU1−1、1−2の各BANK#1をアクセス
することが可能となる。
以上の動作により、各アクセス周期毎にLRS6−1〜6
−4にロードされる4バイト単位のベクトルデータは、
第4図のベクトルレジスタ7に高速にパイプライン転送
される。
−4にロードされる4バイト単位のベクトルデータは、
第4図のベクトルレジスタ7に高速にパイプライン転送
される。
以上示したように、本発明においてはベクトルデータ
のデータ幅が8バイトから4バイトになった場合には、
各MSUから各LDRへのブロックロード時のデータ数を半分
にすることにより、アクセスバスとLDRを半分空けて他
のユニットに開放することができる。また、これにより
MSUとLDR間の転送バイト数と、LDRとLRS間の転送バイト
数を等しくすることができ、両者のアクセス制御を同一
タイミングで行なうことが可能となる。これにより、従
来例の問題点として示したインターバルIDの制御が不要
となり、アクセス制御が単純化される。
のデータ幅が8バイトから4バイトになった場合には、
各MSUから各LDRへのブロックロード時のデータ数を半分
にすることにより、アクセスバスとLDRを半分空けて他
のユニットに開放することができる。また、これにより
MSUとLDR間の転送バイト数と、LDRとLRS間の転送バイト
数を等しくすることができ、両者のアクセス制御を同一
タイミングで行なうことが可能となる。これにより、従
来例の問題点として示したインターバルIDの制御が不要
となり、アクセス制御が単純化される。
以上の実施例は、ベクトルデータのロード時のみの動
作に関するものであるが、ベクトルレジスタから主記憶
装置MSUへのベクトルデータのストア時の動作について
も、ロード時と全く逆の構成により実現することができ
る。
作に関するものであるが、ベクトルレジスタから主記憶
装置MSUへのベクトルデータのストア時の動作について
も、ロード時と全く逆の構成により実現することができ
る。
また、ここでベクトル長は8バイトと4バイトの2種
類で並列数は4つのみであったが、最大長Lバイトに対
してそれ以下のMバイトで並列数Pの転送を行なうとい
うような一般化されたケースにおいても、MSUからLDRへ
のブロックロード(又はストア)のサイズを、M×Pバ
イトとすることにより、同様の動作を行なうことが可能
である。
類で並列数は4つのみであったが、最大長Lバイトに対
してそれ以下のMバイトで並列数Pの転送を行なうとい
うような一般化されたケースにおいても、MSUからLDRへ
のブロックロード(又はストア)のサイズを、M×Pバ
イトとすることにより、同様の動作を行なうことが可能
である。
本発明によれば、主記憶装置とアクセスパイプライン
のレジスタ間のブロック転送のサイズを、扱うベクトル
データ幅に応じて増減させることにより、他のユニット
のためにアクセスバス及びレジスタを一部開放させるこ
とができ、他のユニットによる主記憶装置の同時アクセ
スが可能となる。
のレジスタ間のブロック転送のサイズを、扱うベクトル
データ幅に応じて増減させることにより、他のユニット
のためにアクセスバス及びレジスタを一部開放させるこ
とができ、他のユニットによる主記憶装置の同時アクセ
スが可能となる。
また、主記憶装置とレジスタ間、及びレジスタとアク
セスパイプライン間のベクトルデータの転送バイト数を
等しくすることができるため、両者のアクセス制御を同
一タイミングで行なうことができ、アクセス制御の単純
化を実現できる。
セスパイプライン間のベクトルデータの転送バイト数を
等しくすることができるため、両者のアクセス制御を同
一タイミングで行なうことができ、アクセス制御の単純
化を実現できる。
第1図は、本発明の機能ブロック図、 第2図は、本発明によるアクセス制御回路の構成図、 第3図(a),(b)は、本発明の実施例によるベクト
ルデータのアクセス制御方式の動作説明図、 第4図は、ベクトル演算処理ユニットと主記憶装置の構
成図、 第5図は、従来例によるベクトルデータのアクセス制御
方式の第1の動作説明図、 第6図(a),(b)は、従来例によるベクトルデータ
のアクセス制御方式の第2の動作説明図である。 8……主記憶装置、 9……アクセスバス、 10……レジスタ、 11……アクセスパイプライン、 12……データパス、 13……ベクトルレジスタ、 14、15……ベクトルデータ。
ルデータのアクセス制御方式の動作説明図、 第4図は、ベクトル演算処理ユニットと主記憶装置の構
成図、 第5図は、従来例によるベクトルデータのアクセス制御
方式の第1の動作説明図、 第6図(a),(b)は、従来例によるベクトルデータ
のアクセス制御方式の第2の動作説明図である。 8……主記憶装置、 9……アクセスバス、 10……レジスタ、 11……アクセスパイプライン、 12……データパス、 13……ベクトルレジスタ、 14、15……ベクトルデータ。
Claims (8)
- 【請求項1】ベクトルレジスタ(13)に接続され、最大
Lバイト以下の任意のMバイトの同一幅のベクトルデー
タ(15)をP個並列に転送するP本のデータパス(12)
を有するアクセスパイプライン(11)と、 該各データパスに任意に接続され、前記データパス(1
2)との間で、前記Mバイト幅の一連のベクトルデータ
(15)を前記ベクトルデータ幅Mバイトを単位として前
記P個で並列に転送する、前記P個の前記Lバイト幅の
レジスタ(10)と、 該各レジスタに接続される前記P個の前記Lバイト幅の
アクセスバス(9)と、 前記各アクセスバス(9)を介して前記各レジスタ(1
0)と接続され、前記各レジスタ(10)との間で転送さ
れる前記Mバイト幅の一連のベクトルデータ(14)を
(前記ベクトルデータ幅M)×(前記並列転送数P)バ
イトをブロック単位として前記各アクセスバス(9)及
び前記各レジスタ(10)の全部若しくは一部を用いてブ
ロック転送する主記憶装置と、 からなることを特徴とするベクトルデータのアクセス制
御装置。 - 【請求項2】前記主記憶装置(8)はN個のバンクに分
割され、該主記憶装置(18)と前記各レジスタ(10)と
の間でブロック転送される前記ベクトルデータ(14)は
前記各バンク間でインタリーブして記憶され、前記ブロ
ック転送時には前記各バンクは前記アクセスバス(9)
を介して並列にアクセスされることを特徴とする特許請
求の範囲第1項記載のベクトルデータのアクセス制御装
置。 - 【請求項3】前記最大ベクトルデータ幅Lバイト及びそ
れ以下の前記ベクトルデータ幅Mバイトは、2のべき乗
で規定されるバイト数であることを特徴とする特許請求
の範囲第1項記載のベクトルデータのアクセス制御装
置。 - 【請求項4】前記各レジスタは、前記各データパス(1
2)との間で前記P個で並列に転送される前記Mバイト
幅の前記ベクトルデータ(15)を、前記各レジスタ(1
0)と前記各データパス(12)との間で必要に応じて前
記Mバイト単位でアラインして出力することを特徴とす
る特許請求の範囲第1項記載のベクトルデータのアクセ
ス制御装置。 - 【請求項5】ベクトルレジスタ(13)に接続され最大L
バイト以下の任意のMバイトの同一幅のベクトルデータ
(15)をP個並列に転送するP本のデータパス(12)を
有するアクセスパイプライン(11)と該各データパスに
任意に接続される前記P個の前記Lバイト幅のレジスタ
(10)と、該各レジスタと主記憶装置(8)とを接続す
る前記P個の前記Lバイト幅のアクセスバス(9)とを
用いて、前記アクセスパイプライン(11)と前記主記憶
装置(8)との間で一連のベクトルデータを転送するベ
クトルデータのアクセス制御方法において、 前記主記憶装置(8)と前記各レジスタ(10)との間で
転送される前記Mバイト幅の一連のベクトルデータ(1
4)を(前記ベクトルデータ幅M)×(前記並列転送数
P)バイトをブロック単位として前記アクセスバス
(9)及び前記各レジスタ(10)の全部若しくは一部を
用いてブロック転送し、 前記各レジスタ(10)と前記各データパス(12)との間
で転送される前記Mバイト幅の一連のベクトルデータ
(15)を、前記ベクトルデータ幅Mバイトを単位として
前記P個で並列に転送することを特徴とするベクトルデ
ータのアクセス制御方法。 - 【請求項6】前記主記憶装置(8)はN個のバンクに分
割され、該主記憶装置(18)と前記各レジスタ(10)と
の間でブロック転送される前記ベクトルデータ(14)は
前記各バンク間でインタリーブして記憶され、前記ブロ
ック転送時には前記各バンクは前記アクセスバス(9)
を介して並列にアクセスされることを特徴とする特許請
求の範囲第5項記載のベクトルデータのアクセス制御方
法。 - 【請求項7】前記最大ベクトルデータ幅Lバイト及びそ
れ以下の前記ベクトルデータ幅Mバイトは、2のべき乗
で規定されるバイト数であることを特徴とする特許請求
の範囲第5項記載のベクトルデータのアクセス制御方
法。 - 【請求項8】前記各レジスタ(10)と前記各データパス
(12)との間で前記P個で並列に転送される前記Mバイ
ト幅の前記ベクトルデータ(15)を、前記各レジスタ
(10)と前記各データパス(12)との間で必要に応じて
前記Mバイト単位でアラインして転送することを特徴と
する特許請求の範囲第5記載のベクトルデータのアクセ
ス制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62229815A JP2547219B2 (ja) | 1987-09-16 | 1987-09-16 | ベクトルデータのアクセス制御装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62229815A JP2547219B2 (ja) | 1987-09-16 | 1987-09-16 | ベクトルデータのアクセス制御装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6473458A JPS6473458A (en) | 1989-03-17 |
JP2547219B2 true JP2547219B2 (ja) | 1996-10-23 |
Family
ID=16898102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62229815A Expired - Fee Related JP2547219B2 (ja) | 1987-09-16 | 1987-09-16 | ベクトルデータのアクセス制御装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2547219B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8316215B2 (en) | 2007-03-08 | 2012-11-20 | Nec Corporation | Vector processor with plural arithmetic units for processing a vector data string divided into plural register banks accessed by read pointers starting at different positions |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2899986B2 (ja) * | 1990-08-08 | 1999-06-02 | 株式会社日立製作所 | データ格納方法,ベクトルデータバッファ装置およびベクトルデータ処理装置 |
EP0564148B1 (en) * | 1992-03-31 | 1998-07-22 | Canon Kabushiki Kaisha | Magnetooptical information recording/reproducing apparatus and method using magnetic head |
-
1987
- 1987-09-16 JP JP62229815A patent/JP2547219B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8316215B2 (en) | 2007-03-08 | 2012-11-20 | Nec Corporation | Vector processor with plural arithmetic units for processing a vector data string divided into plural register banks accessed by read pointers starting at different positions |
Also Published As
Publication number | Publication date |
---|---|
JPS6473458A (en) | 1989-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5881302A (en) | Vector processing unit with reconfigurable data buffer | |
EP0054888A2 (en) | Data-processing system with main and buffer storage control | |
JPS618785A (ja) | 記憶装置アクセス制御方式 | |
JPS59160267A (ja) | ベクトル処理装置 | |
JP3971535B2 (ja) | Simd型プロセッサ | |
JPH03189843A (ja) | データ処理システムおよび方法 | |
JP2547219B2 (ja) | ベクトルデータのアクセス制御装置及び方法 | |
JP2752902B2 (ja) | ベクトル処理装置 | |
EP0359192B1 (en) | Vector processors and vector register control | |
JPH0341554A (ja) | ベクトル処理装置 | |
JPH0496172A (ja) | データ格納方法,ベクトルデータバッファ装置およびベクトルデータ処理装置 | |
JPH1091593A (ja) | マイクロプロセッサと付加的計算ユニットとを含むデータ処理装置 | |
JP3704367B2 (ja) | スイッチ回路 | |
JPS59218558A (ja) | 情報処理装置 | |
JPH04107665A (ja) | 入出力制御装置 | |
JPS61118860A (ja) | デイジタル制御装置 | |
JPH0232647B2 (ja) | ||
JPH0332829B2 (ja) | ||
JPS60205647A (ja) | デ−タ処理装置 | |
JPH0253820B2 (ja) | ||
JPH0477945B2 (ja) | ||
JPS59123974A (ja) | ベクトルデ−タ記憶制御方式 | |
JPH0713765A (ja) | 高速データ転送装置 | |
JPS61217868A (ja) | ベクトルデ−タアクセス制御方式 | |
JPH0690711B2 (ja) | メモリアクセス制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |