JPS6156546B2 - - Google Patents
Info
- Publication number
- JPS6156546B2 JPS6156546B2 JP10589880A JP10589880A JPS6156546B2 JP S6156546 B2 JPS6156546 B2 JP S6156546B2 JP 10589880 A JP10589880 A JP 10589880A JP 10589880 A JP10589880 A JP 10589880A JP S6156546 B2 JPS6156546 B2 JP S6156546B2
- Authority
- JP
- Japan
- Prior art keywords
- bank
- pipeline
- vector
- access
- register
- 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
Links
- 239000013598 vector Substances 0.000 claims description 74
- 238000000034 method Methods 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 23
- 238000004364 calculation method Methods 0.000 description 17
- 230000004913 activation Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】
本発明はベクトル処理装置、特に主記憶装置に
格納されている一連のデータを順次複数の演算パ
イプラインに入力して演算するベクトル処理装置
において、上記主記憶装置と演算パイプラインと
の間に複数個のバンク単位により構成され、イン
タリーブ構造をもつベクトル・レジスタを備え、
更に上記演算パイプラインなど複数のパイプライ
ン装置がベクトル・レジスタへアクセスするタイ
ミングを管理するバンク管理部とを備えたベクト
ル処理装置に関する。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a vector processing device, particularly a vector processing device that sequentially inputs a series of data stored in a main memory to a plurality of arithmetic pipelines and performs an operation. It is composed of multiple bank units and has vector registers with an interleaved structure between it and the pipeline.
Furthermore, the present invention relates to a vector processing device including a bank management unit that manages the timing at which a plurality of pipeline devices such as the above-mentioned arithmetic pipeline access the vector register.
例えばベクトル処理装置においては、ベクトル
Bに属するエレメント・データb0,b1…および/
またはベクトルCに属するエレメント・データを
パイプライン処理によつて演算し、その結果得ら
れたエレメント・データa0,a1…をベクトルAに
属するエレメント・データとして抽出することが
行なわれる。この場合、主記憶装置から直接ロー
ドして演算パイプライン(以下パイプライン演算
部と呼ぶ)に入力したり、パイプライン演算部5
から主記憶装置に直接ストアすることは主記憶装
置のアクセス速度に制限され、処理速度が遅くな
つてしまう。 For example, in a vector processing device, element data b 0 , b 1 , etc. belonging to vector B, and /
Alternatively, element data belonging to vector C is calculated by pipeline processing, and the resulting element data a 0 , a 1 . . . are extracted as element data belonging to vector A. In this case, it may be loaded directly from the main memory and input to the arithmetic pipeline (hereinafter referred to as pipeline arithmetic unit), or the pipeline arithmetic unit 5
Storing directly from the main memory to the main memory is limited by the access speed of the main memory, resulting in slow processing speed.
このため、主記憶装置とパイプライン演算部と
の間に複数個のバンク単位により構成されインタ
リーブ構造をもつ、ベクトル・レジスタを備え、
該ベクトル・レジスタは1つのベクトル・レジス
タに属するエレメント・データの例えば第番目
のデータと第(+1)番目のデータとが互いに
異なるバンク単位に格納されて構成され、各バン
ク単位の読出し出力が互いに異なるバスを介して
上記パイプライン演算部に供給されるように、ま
たパイプライン演算部より得られた結果を互いに
異なるバスを介して各バンク単位に書込むように
構成されている。ところで、このパイプライン演
算部が複数装置である場合に、パイプライン演算
部からの要請によつてベクトル・レジスタへ同時
に並列的にアクセスすることが可能な数は、例え
ば8バンク単位にインタリーブされているとすれ
ば8個まで可能である。このために、各パイプラ
イン演算部からベクトル・レジスタへのアクセス
において、同時に同一バンク単位にアクセスしな
いように、また各バンク単位ないし各パイプライ
ン演算部が効率よく動作するようなベクトル・レ
ジスタへのアクセスタイミングの管理がきわめて
重要となる。 For this reason, a vector register is provided between the main memory device and the pipeline calculation unit, which is composed of a plurality of bank units and has an interleaved structure.
The vector register is configured such that, for example, the th data and the (+1)th data of element data belonging to one vector register are stored in different bank units, and the read outputs of each bank unit are mutually different. It is configured to be supplied to the pipeline calculation unit via different buses, and to write the results obtained from the pipeline calculation unit in each bank via different buses. By the way, when this pipeline operation unit has multiple devices, the number of vector registers that can be accessed simultaneously in parallel upon request from the pipeline operation unit is interleaved in units of eight banks, for example. If there are, it is possible to have up to eight. For this reason, when accessing vector registers from each pipeline operation unit, we make sure that the same bank unit is not accessed at the same time, and that the vector registers are accessed in such a way that each bank unit or each pipeline operation unit operates efficiently. Management of access timing is extremely important.
従来のベクトル・レジスタへの各エレメント・
データの格納においては、例えば上述のエレメン
ト・データb0,b1,…c0,c1,…,について同じ
エレメント番号のデータが演算される関係から、
同じタイミングで読出しすると好都合であるため
可能な限り異なつたバンク単位に位置するように
されている。従つて、ベクトル.レジスタへアク
セスするためのハードウエアでは各エレメント・
データの最初の格納アドレス(例えば第0番目の
エレメントに対するバンク情報)について記憶す
る手段が必要であると共に、同時に同一バンク単
位へアクセスしないような働きが必要となりアク
セス制御のためのハードウエアが複雑であつた。 Each element into a conventional vector register
In data storage, for example, due to the relationship in which data with the same element number is calculated for the above element data b 0 , b 1 , ... c 0 , c 1 , ...,
Since it is convenient to read out data at the same timing, they are arranged in different bank units as much as possible. Therefore, vector. In the hardware for accessing registers, each element
A means for storing the first storage address of data (for example, bank information for the 0th element) is required, and a function to prevent access to the same bank unit at the same time is required, making the hardware for access control complicated. It was hot.
本発明の目的はバンク単位に分割されたベクト
ル・レジスタへ、各パイプライン演算部から簡易
なハードウエアによつてアクセスし待ち時間の少
ない効率のよいベクトル処理装置を提供すること
にある。そしてそのための本発明のベクトル処理
装置は複数のエレメント・データが、インタリー
ブされた複数のバンク単位に記憶されたベクト
ル・レジスタと、該ベクトル・レジスタの各エレ
メントをアクセスする1つ又は複数の演算パイプ
ライン及び1つ又は複数のメモリパイプライン
と、前記パイプライン装置が各バンク単位をアク
セスできるタイミングを示すバンクスロツトを管
理するバンク管理部とを有し、前記パイプライン
装置が前記ベクトル・レジスタの各バンクを順次
アクセスして各エレメント・データを処理するベ
クトル処理装置において、前記パイプライン装置
を起動する時点で、前記バンク管理部よりバンク
スロツト信号を送出することにより前記パイプラ
イン装置のアクセスタイミングを規定することを
特徴としている。以下図面を参照しつつ説明す
る。 SUMMARY OF THE INVENTION An object of the present invention is to provide an efficient vector processing device that allows each pipeline operation unit to access vector registers divided into banks using simple hardware and has low waiting time. The vector processing device of the present invention for this purpose includes a vector register in which a plurality of element data are stored in a plurality of interleaved banks, and one or more arithmetic pipes for accessing each element of the vector register. a bank management section that manages bank slots indicating the timing at which the pipeline device can access each bank unit; In a vector processing device that sequentially accesses banks to process each element data, the access timing of the pipeline device is defined by sending a bank slot signal from the bank management section when starting the pipeline device. It is characterized by This will be explained below with reference to the drawings.
第1図は本発明の一実施例構成を示し、第2図
は第1図の動作を説明するタイムチヤート、第3
図は本発明の一実施例を説明するバンク管理部の
ブロツク図、第4図は第3図の動作を説明するタ
イムチヤートである。 FIG. 1 shows the configuration of an embodiment of the present invention, FIG. 2 is a time chart explaining the operation of FIG. 1, and FIG.
FIG. 4 is a block diagram of a bank management section illustrating an embodiment of the present invention, and FIG. 4 is a time chart illustrating the operation of FIG. 3.
第1図において、#0VR,#1VR,…#nVRは
それぞれベクトル・レジスタ、1―0,1―1,
…1―7はそれぞれバンク単位、2は主記憶装置
MEMとベクトル・レジスタ間において、各エレ
メント・データを高速にロードないしストアする
ためパイプライン構成されたメモリ・パイプライ
ン3―0,ないし3―1はそれぞれ書込みレジス
タ、4―0,4―1,…4―7はそれぞれ読出し
レジスタ、5はパイプライン演算部、6は命令制
御部、7はベクトル・レジスタへアクセスするタ
イミングを管理するバンク管理部、7―1は各バ
ンク単位へのアクセス・タイミングを規制するバ
ンクスロツトカウンタを表わしている。 In Figure 1, #0VR, #1VR, ... #nVR are vector registers, 1-0, 1-1,
...1-7 are bank units, 2 is main memory
Memory pipelines 3-0, 3-1, which are pipeline-configured to load or store each element data at high speed between the MEM and the vector register, are write registers, 4-0, 4-1, and 4-1, respectively. ...4-7 are read registers, 5 is a pipeline calculation unit, 6 is an instruction control unit, 7 is a bank management unit that manages the timing of accessing vector registers, and 7-1 is the access timing for each bank unit. This represents a bank slot counter that regulates the bank slot counter.
図示の場合、各ベクトル・レジスタ#0VR,
#1VR,…#nVRは各バンク単位1―0,ないし
1―7にそれぞれ分散するように対応づけられて
いる。そして、各ベクトル・レジスタに格納され
るエレメント・データは、総て第0番目のデータ
がバンク単位1―0,第1番目のデータがバンク
単位1―1、第7番目のデータがバンク単位1―
7…に記憶されるようにし、いわゆるインタリー
ブした形に格納され、同じナンバのデータが同じ
バンク単位に位置するようにされている。例えば
ベクトルBに属するエレメント・データb0,b1,
…が主記憶装置MEMからロードされてベクト
ル・レジスタ#1VR内に格納されているものと
し、またベクトルCに属するエレメント・データ
c0,c1,…が同じくベクトル・レジスタ#2VR内
に格納されているものとする。 In the case shown, each vector register #0VR,
#1VR, . . . #nVR are associated with each other so as to be distributed in each bank unit 1-0 to 1-7. The element data stored in each vector register is such that the 0th data is bank unit 1-0, the 1st data is bank unit 1-1, and the 7th data is bank unit 1. ―
7... and are stored in a so-called interleaved format, so that data with the same number is located in the same bank unit. For example, element data b 0 , b 1 , belonging to vector B
... has been loaded from main memory MEM and stored in vector register #1VR, and element data belonging to vector C
Assume that c 0 , c 1 , . . . are also stored in vector register #2VR.
この状態で、例えばベクトル加算命令
#0VR(i)←(#1VR(i))+(#2VR(i))
が与えられたとすると次の如く処理される。なお
この場合、パイプライン演算部5が3段のステツ
プ段数をもつものとする。(第2図参照)。 In this state, if a vector addition instruction #0VR(i)←(#1VR(i))+(#2VR(i)) is given, the processing will be as follows. In this case, it is assumed that the pipeline calculation unit 5 has three steps. (See Figure 2).
(1) タイミング・サイクルT0,T1,…におい
て、バンク単位1―0,1―1,〜1―7,に
対して順次にリード・アクセスが行なわれ、そ
の結果読出しレジスタ4―0,4―1,…4―
7を介してエレメント・データb0,b1,…及び
c0,c1,…が読出しされる。(1) In timing cycles T 0 , T 1 , ..., read access is performed sequentially to bank units 1-0, 1-1, to 1-7, and as a result, read registers 4-0, 4-1,...4-
7 through element data b 0 , b 1 , ... and
c 0 , c 1 , ... are read out.
(2) タイミング・サイクルT2において、データ
b0とc0とは演算部5のステツプに入力され
る。(2) In timing cycle T 2 , data
b 0 and c 0 are input to the step of the calculation section 5.
(3) タイミング・サイクルT3において、データ
b0とc0とは演算部5のステツプに入力され、
データb1とc1とは演算部5のステツプに入力
される。(3) In timing cycle T 3 , the data
b 0 and c 0 are input to the step of the calculation section 5,
Data b 1 and c 1 are input to the step of the calculation section 5.
(4) タイミング・サイクルT4において、データ
b0とc0とは演算部5のステツプに入力され、
データb1とc1とは演算部5のステツプに入力
され、データb2とc2とは演算部5のステツプ
に入力される。(4) In timing cycle T 4 , the data
b 0 and c 0 are input to the step of the calculation section 5,
Data b 1 and c 1 are input to the step of the calculation unit 5, and data b 2 and c 2 are input to the step of the calculation unit 5.
(5) タイミング・サイクルT5において、データ
b0とc0との加算結果のデータa0が書込みレジス
タ3―0にセツトされる。(5) At timing cycle T 5 , the data
Data a0 , which is the result of addition of b0 and c0 , is set in the write register 3-0.
(6) タイミング・サイクルT6において、このデ
ータa0がバンク単位1―0に書込みされる。(6) At timing cycle T6 , this data a0 is written in bank units 1-0.
以下順次に得られるデータa1,a2…が書込みレ
ジスタ3―0にセツトされ、書込みレジスタ3―
0にセツトされたデータa1,a2…はそれぞれバン
ク単位1―1,〜1―7,1―0…に順次書込み
される。 The data a 1 , a 2 . . . obtained sequentially thereafter are set in the write register 3-0, and
Data a 1 , a 2 . . . set to 0 are sequentially written in bank units 1-1, .about.1-7, 1-0 . . . .
ここで演算部5では同じナンバのエレメント・
データがステツプに入力されるように、ベクト
ルBに属するエレメント・データの入力側にタイ
ミング合わせのためにバツフア・レジスタが1段
設けられている。このように構成することによつ
て、ベクトルB,Cに関して加算しその結果得ら
れたベクトルAをバツク単位1―0,1―1〜の
順にアクセスすることが可能になる。 Here, in the calculation unit 5, the elements with the same number
One stage of buffer register is provided on the input side of element data belonging to vector B for timing adjustment so that data is input to the step. With this configuration, vectors B and C can be added and the resulting vector A can be accessed in the order of back units 1-0, 1-1, and so on.
本発明は、前記各バンク単位へのアクセス制御
をきわめて簡略化するものであり、次にそのアク
セス制御を行なうバンク管理部について、第3図
及び第4図を参照して説明する。 The present invention greatly simplifies the access control to each bank. Next, the bank management section that performs the access control will be explained with reference to FIGS. 3 and 4.
第3図において、11―1,11―2,11―
3はメモリ・パイプライン2ないしはパイプライ
ン演算部5がベクトル・レジスタにアクセスする
タイミング・サイクル(以下バンクスロツトと称
する)を記憶する管理レジスタ、12はバンクス
ロツト割当回路、13はバンクスロツトを記憶し
メモリ・パイプライン2へ通知する通知レジス
タ、14は起動信号制御部である。 In Figure 3, 11-1, 11-2, 11-
3 is a management register that stores the timing cycle (hereinafter referred to as bank slot) in which the memory pipeline 2 or the pipeline calculation unit 5 accesses the vector register; 12 is a bank slot allocation circuit; and 13 is a management register that stores the bank slot. A notification register 14 that notifies the memory pipeline 2 is an activation signal control unit.
バンク管理部7は各バンク単位1―0,1―
1,〜1―7にアクセスするパイプライン装置
(メモリ・パイプライン2など)が同一バンク単
位へ同時にアクセスすることのないように、更に
無駄な空き時間を生じない効率のよいアクセスが
可能になるアクセス制御を実現する。 The bank management unit 7 stores each bank 1-0, 1-
Pipeline devices (memory pipeline 2, etc.) that access 1, to 1-7 do not access the same bank unit at the same time, and more efficient access is possible without wasting idle time. Achieve access control.
上記各バンク単位1―0,1―1,〜1―7は
8個のバンクから構成されており、同時に8個の
独立なベクトルレジスタをアクセスすることがで
きる。 Each bank unit 1-0, 1-1, to 1-7 is composed of eight banks, and can access eight independent vector registers at the same time.
又、第2図で示されているように、パイプライ
ン演算部5での、ベクトル・レジスタ#1VR、ベ
クトルレジスタ#2VRからの読み出し動作、及び
ベクトル・レジスタ#0VRへの書き込み動作は、
全て、演算対象のエレメントに対応して、バンク
単位1―0から順次昇順に行われるので、バンク
単位1―0へアクセスするタイミング(前述のバ
ンクスロツト)を決めることによつて、複数のパ
イプライン装置で生じる読み出し/書き込み動作
を並行して行うことができる。 Further, as shown in FIG. 2, the read operation from vector register #1VR and vector register #2VR, and the write operation to vector register #0VR in pipeline calculation unit 5 are as follows:
All operations are performed in ascending order starting from bank unit 1-0, corresponding to the element to be operated on, so by determining the timing of accessing bank unit 1-0 (bank slot described above), multiple pipelines can be Read/write operations occurring in the device can be performed in parallel.
つまり、第2図で示されているパイプライン演
算部5のベクトル・レジスタ#1VRからの読み出
しアクセスである、タイミングサイクルT0にお
いては、該ベクトル・レジスタに対するアクセス
タイミングを規定する為に設けられているタイミ
ングカウンタ(以下、バンクスロツトカウンタと
云う)7―1は“1”である。 In other words, in timing cycle T0 , which is a read access from vector register #1VR of pipeline operation unit 5 shown in FIG. The timing counter (hereinafter referred to as bank slot counter) 7-1 is "1".
このベクトル・レジスタをアクセスする為のタ
イミングサイクルをバンクスロツト番号と呼ぶ
と、上記ベクトル・レジスタ#1VRへのアクセス
は、バンクスロツト番号“1”となる。 If the timing cycle for accessing this vector register is called a bank slot number, then the access to the vector register #1VR becomes bank slot number "1".
同様に、ベクトル・レジスタ#2VRからの読み
出しタイミングは、上記バンクスロツトカウンタ
7―1の値が“2”であることから、バンクスロ
ツト番号“2”を使用してアクセスする。 Similarly, the read timing from the vector register #2VR is accessed using the bank slot number "2" since the value of the bank slot counter 7-1 is "2".
又、同様に、ベクトル・レジスタ#0VRへの書
き込みタイミングでは、上記バンクスロツトカウ
ンタ7―1の値が“7”であることから、バンク
スロツト番号“7”を使用してアクセスする。 Similarly, at the timing of writing to the vector register #0VR, since the value of the bank slot counter 7-1 is "7", access is made using the bank slot number "7".
上記バンクアクセス制御を更に詳細に説明する
と、例えば、タイミングサイクルT6において
は、ベクトル・レジスタ#1VRからの読み出しレ
ジスタ4―0に対する読み出しアクセスで、エレ
メントb6が読み出されており、パイプライン演算
部5においては、該ベクトル・レジスタ#1VRに
対するアクセスタイミングとして、バンクスロツ
ト番号“1”を記憶しているので、この時点での
バンクスロツトカウンタ7―1の値“7”と、上
記バンクスロツト番号“1”とから、例えば、
「7−1=6」なる演算を行つて、バンク単位1
―6にアクセスを行うようにしている。 To explain the above bank access control in more detail, for example, in timing cycle T 6 , element b 6 is read out by read access to read register 4-0 from vector register #1VR, and pipeline operation Since the bank slot number "1" is stored in the section 5 as the access timing for the vector register #1VR, the value "7" of the bank slot counter 7-1 at this point and the bank slot number From “1”, for example,
By performing the calculation "7-1=6", the bank unit is 1.
-6 is accessed.
ベクトル・レジスタ#2VRからの読み出しアク
セス、ベクトル・レジスタ#0VRへの書き込みア
クセスについても、同じようにして、それぞれバ
ンク単位1―5,1―0にアクセスするように機
能する。 Read access from vector register #2VR and write access to vector register #0VR function in the same way to access bank units 1-5 and 1-0, respectively.
このように、該バンクスロツトカウンタ7―1
は、上記バンク単位の個数だけの状態を持つ事が
できる、例えば、2進カウンタで構成される必要
があり、本例においては、8バンクにインタリー
ブされているので、8つの状態が必要であり、3
ビツトの2進カウンタで構成されている。 In this way, the bank slot counter 7-1
can have as many states as the number of banks mentioned above. For example, it must be composed of a binary counter. In this example, it is interleaved into 8 banks, so 8 states are required. ,3
It consists of a bit binary counter.
以上のようにして、ベクトル・レジスタ1―0
〜1―7へのアクセスは、当該バンク管理部7
が、各読み出しアクセス、或いは書き込みアクセ
ス毎に割り当てられたバンクスロツト番号と、そ
の時々のバンクスロツトカウンタ7―1の値を、
各パイプライン装置5へ通知することによつて、
各パイプライン装置5で生じる所望のバンク単位
へのアクセスを可能にしている。 In the above manner, vector registers 1-0
~1-7 can be accessed by the bank management section 7.
However, the bank slot number assigned for each read access or write access and the value of the bank slot counter 7-1 at that time are
By notifying each pipeline device 5,
Access to desired bank units generated in each pipeline device 5 is possible.
管理レジスタ11―1,11―2,11―3は
各パイプライン装置が有する各バンク単位にデー
タ転送するためのベクトルレジスタへのアクセス
に対して、起動する時点において割当てられるバ
ンクスロツト番号Biを記憶する例えば3ビツトの
記憶素子(実際には記憶内容の有効無効表示のた
め更に1ビツトが必要)で構成するレジスタであ
り、パイプライン装置がベクトル・レジスタにア
クセスしている期間に、そのベクトルレジスタを
アクセスする為に割り当てられたバンクスロツト
番号を記憶している。 Management registers 11-1, 11-2, and 11-3 store bank slot numbers Bi assigned at the time of startup for access to vector registers for data transfer in units of banks of each pipeline device. For example, it is a register consisting of a 3-bit storage element (actually, 1 more bit is required to indicate whether the stored contents are valid or invalid), and while the pipeline device is accessing the vector register, the vector register is It remembers the bank slot number assigned to access the bank slot.
バンクスロツト割当回路12は、各パイプライ
ン装置を起動する時点で、管理レジスタ11―
1,11―2,11―3出力と、バンクスロツト
カウンタ7―1出力とによつて、使用中のバンク
スロツト番号と現在のバンクスロツト番号とを知
り、起動のあるパイプライン装置に対して空き時
間の最小となるようなバンクスロツト番号を割当
てる選択回路である。ここで、命令制御部6がバ
ンク管理部7に起動信号を与え、例えばメモリ・
パイプライン2が主記憶装置MEMへアクセス
し、読出しデータをベクトル・レジスタ#0VRへ
データ転送要求しようとする。このとき、バンク
スロツト割当回路12はメモリ・パイプライン2
を起動する時点において選択したバンクスロツト
番号を通知レジスタ13を介して、メモリ・パイ
プライン2へ伝え、更に当該メモリ・パイプライ
ンでのベクトル・レジスタへのアクセスタイミン
グに対応する管理レジスタ11―1,11―2,
11―3に、その選択したバンクスロツト番号を
セツト信号として伝え記憶する。 The bank slot allocation circuit 12 registers the management registers 11-- at the time of starting each pipeline device.
1, 11-2, 11-3 outputs and the bank slot counter 7-1 output, the bank slot number in use and the current bank slot number are known, and the idle number is determined for the activated pipeline device. This is a selection circuit that allocates the bank slot number that takes the least amount of time. Here, the instruction control unit 6 gives a start signal to the bank management unit 7, and for example, the memory
Pipeline 2 accesses main memory MEM and attempts to request data transfer of read data to vector register #0VR. At this time, the bank slot allocation circuit 12 connects the memory pipeline 2
The bank slot number selected at the time of activation is transmitted to the memory pipeline 2 via the notification register 13, and the management registers 11-1 and 11-1 corresponding to the access timing to the vector register in the memory pipeline are transmitted. 11-2,
11-3, the selected bank slot number is transmitted as a set signal and stored.
第4図は上述の動作を詳細に説明している。メ
モリ・パイプライン2が起動信号によつて起動す
ると、エレメント・データa0,a1…an(主記憶装
置MEMに格納されているとする)にメモリ・ア
クセスが開始されアクセス・タイムtAの後にメ
モリ・パイプライン2のバツフア・レジスタ(第
3図には図示せず)にその読出し内容がロードさ
れる。ところで、起動信号によつてバンク管理部
7が起動されバンクスロツト信号を選択しメモ
リ・パイプライン2へ伝えているから、メモリ・
パイプライン2ではその後バンクスロツトカウン
タ7―1出力と参照し一致検出したときにバツフ
ア・レジスタに一時記憶していたエレメント・デ
ータa0,a1,a2,…anをベクトル・レジスタ
#0VR、へ順次転送する。最後のデータを転送す
るとパイプ終了信号によつてリセツト信号をバン
ク管理部へ送出し、当該メモリ・パイプラインで
のベクトル・レジスタへのアクセスタイミングに
対応する管理レジスタ11―1,または11―
2,11―3の内容をリセツトし無効にする。 FIG. 4 explains the above operation in detail. When the memory pipeline 2 is activated by the activation signal, memory access to element data a 0 , a 1 ...an (assumed to be stored in the main memory MEM) is started, and the access time t A is reached. The read contents are then loaded into a buffer register (not shown in FIG. 3) of memory pipeline 2. By the way, since the bank management unit 7 is activated by the activation signal and selects the bank slot signal and transmits it to the memory pipeline 2, the memory
Pipeline 2 then refers to the output of bank slot counter 7-1, and when a match is detected, element data a 0 , a 1 , a 2 , ... an temporarily stored in the buffer register is stored in vector register #0VR, Transfer sequentially to When the last data is transferred, a reset signal is sent to the bank management section by the pipe end signal, and the management register 11-1 or 11- is activated according to the access timing to the vector register in the memory pipeline.
2.Reset and invalidate the contents of 11-3.
バツフア・レジスタは主記憶装置MEMの読出
し出力をストロープするタイミングと、一致検出
するまでの期間を調整する複数個のレジスタであ
る。 The buffer registers are a plurality of registers that adjust the timing of strobing the readout output of the main memory MEM and the period until a match is detected.
ところで、上述の例では主記憶装置MEMがビ
ジーであるなどを考慮すると、起動してからベク
トル・レジスタ#0VRを使用するまでの時間が一
定でない。すなわち、上述の例ではパイプライン
長が不定な装置とすることができる。しかるにパ
イプライン演算部5はステツプ数(すなわちパイ
プライン長)が固定であり、主記憶装置MEMの
状況に影響されず起動してからベクトル・レジス
タ#0VRを使用するまでの時間は一定となる。こ
の場合は第2図において説明のように、パイプラ
イン演算部5がベクトル・レジスタ#0VRにアク
セスするタイミング関係は固定している。このた
め、パイプライン長が固定の装置においてベクト
ル・レジスタからの読み出しアクセスタイミング
から、ベクトルレジスタへの書き込みアクセスタ
イミング迄のずれを認識することにより第3図に
示す如く、起動信号制御部14において、使用中
のバンクスロツト番号、バンクスロツトカウンタ
7―1の内容及び起動信号などを知つて、前記パ
イプライン装置へバンクスロツト番号を伝えるか
わりにアクセスの起動信号のタイミングで書き込
み、或いは読み出しを行う為のバンクスロツト番
号を伝えることが可能である。 By the way, in the above example, considering that the main memory device MEM is busy, etc., the time from startup until vector register #0VR is used is not constant. That is, in the above example, the pipeline length can be made into an undefined device. However, the number of steps (that is, the pipeline length) of the pipeline calculation unit 5 is fixed, and the time from startup to use of vector register #0VR is constant without being affected by the status of the main memory MEM. In this case, as explained in FIG. 2, the timing relationship in which the pipeline calculation unit 5 accesses the vector register #0VR is fixed. Therefore, in a device with a fixed pipeline length, by recognizing the deviation from the read access timing from the vector register to the write access timing to the vector register, the activation signal control unit 14, as shown in FIG. It is possible to know the bank slot number in use, the contents of the bank slot counter 7-1, the activation signal, etc., and write or read at the timing of the access activation signal instead of transmitting the bank slot number to the pipeline device. It is possible to convey the bank slot number.
以上説明のように本発明によつて、ベクトル・
レジスタにアクセスするパイプライン装置に対し
て共通にアクセス制御するバンク管理部を設け、
各ベクトルのエレメント・データをバンク単位1
―0,1―1,…1―7,1―0の順にして、更
に同じナンバのエレメント・データは同一バンク
単位に格納するようにして、パイプライン装置の
アクセスするタイミングはバンク管理部が伝える
バンクスロツト番号によるか、あるいはアクセス
の起動信号を伝えるようにしているので、アクセ
ス制御のためのハードウエアはバンクスロツト番
号のみを管理するだけでよく簡略であり、空き時
間の少ない効率のよいアクセス制御が可能とな
る。 As explained above, according to the present invention, vector
A bank management unit is provided to commonly control access to pipeline devices that access registers.
Element data of each vector in 1 bank unit
-0, 1-1, ... 1-7, 1-0, and element data with the same number is stored in the same bank unit, and the bank management unit determines the access timing of the pipeline device. Since the bank slot number is transmitted or an access start signal is transmitted, the hardware for access control is simple and only needs to manage the bank slot number, allowing efficient access with less idle time. Control becomes possible.
第1図は本発明の一実施例構成を示し、第2図
は第1図の動作を説明するタイムチヤート、第3
図は本発明の一実施例を説明するバンク管理部の
ブロツク図、第4図は第3図の動作を説明するタ
イムチヤートである。
図において、1―0,1―1,〜1―7はバン
ク単位、2はメモリ・パイプライン、3―0,3
―1は書込みレジスタ、4―0,4―1,〜4―
7は読出しレジスタ、5はパイプライン演算部、
6は命令制御部、7はバンク管理部、7―1はバ
ンクスロツトカウンタ、11―1,11―2,1
1―3は管理レジスタ、12はバンクスロツト割
当回路、13は通知レジスタ、14は起動信号制
御部、MEMは主記憶装置、#0VR,#1VR,〜
#nVRはベクトル・レジスタである。
FIG. 1 shows the configuration of an embodiment of the present invention, FIG. 2 is a time chart explaining the operation of FIG. 1, and FIG.
FIG. 4 is a block diagram of a bank management section illustrating an embodiment of the present invention, and FIG. 4 is a time chart illustrating the operation of FIG. 3. In the figure, 1-0, 1-1, to 1-7 are bank units, 2 is memory pipeline, 3-0, 3
-1 is write register, 4-0, 4-1, ~4-
7 is a read register, 5 is a pipeline operation section,
6 is an instruction control unit, 7 is a bank management unit, 7-1 is a bank slot counter, 11-1, 11-2, 1
1-3 is a management register, 12 is a bank slot allocation circuit, 13 is a notification register, 14 is a start signal control unit, MEM is a main storage device, #0VR, #1VR, ~
#nVR is a vector register.
Claims (1)
された複数のバンク単位に記憶されたベクトル・
レジスタと、該ベクトル・レジスタの各エレメン
トをアクセスする1つ又は複数の演算パイプライ
ン及び1つ又は複数のメモリパイプラインと、前
記パイプライン装置が各バンク単位をアクセスで
きるタイミングを示すバンクスロツトを管理する
バンク管理部とを有し、前記パイプライン装置が
前記ベクトル・レジスタの各バンクを順次アクセ
スして各エレメント・データを処理するベクトル
処理装置において、前記パイプライン装置を起動
する時点で、前記バンク管理部よりバンクスロツ
ト信号を送出することにより前記パイプライン装
置のアクセスタイミングを規定することを特徴と
するベクトル処理装置。 2 複数のエレメント・データが、インタリーブ
された複数のバンク単位に記憶されたベクトル・
レジスタと該ベクトル・レジスタの各エレメント
をアクセスする1つ又は複数の演算パイプライン
及び1つ又は複数のメモリパイプラインと、前記
パイプライン装置が各バンク単位をアクセスでき
るタイミングを示すバンクスロツトを管理するバ
ンク管理部とを有し、前記パイプライン装置が前
記ベクトル・レジスタの各バンクを順次アクセス
して各エレメント・データを処理するベクトル処
理装置において、前記パイプライン装置のうち、
パイプライン長が不定なパイプライン装置に対し
ては、起動する時点で、前記バンク管理部よりバ
ンクスロツト信号を送出し、パイプライン長が固
定なパイプライン装置に対しては、バンクスロツ
トのタイミングに合わせて起動することにより各
パイプライン装置のアクセスタイミングを規定す
ることを特徴とするベクトル処理装置。[Claims] 1. A vector system in which a plurality of element data are stored in a plurality of interleaved banks.
Manages a register, one or more arithmetic pipelines and one or more memory pipelines that access each element of the vector register, and a bank slot that indicates the timing at which the pipeline device can access each bank unit. and a bank management section in which the pipeline device sequentially accesses each bank of the vector register to process each element data, when the pipeline device is activated, the bank management unit A vector processing device characterized in that access timing of the pipeline device is defined by sending a bank slot signal from a management section. 2 Multiple element data is stored in vector units in multiple interleaved banks.
one or more arithmetic pipelines and one or more memory pipelines that access a register and each element of the vector register; and a bank slot that indicates the timing at which each bank unit can be accessed by the pipeline device. and a bank management unit, wherein the pipeline device sequentially accesses each bank of the vector register to process each element data, the pipeline device comprising:
For a pipeline device with an undefined pipeline length, the bank management section sends a bank slot signal at the time of startup, and for a pipeline device with a fixed pipeline length, the bank slot signal is sent at the timing of the bank slot. A vector processing device characterized in that the access timing of each pipeline device is defined by starting them together.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10589880A JPS5731079A (en) | 1980-07-31 | 1980-07-31 | Vector processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10589880A JPS5731079A (en) | 1980-07-31 | 1980-07-31 | Vector processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS5731079A JPS5731079A (en) | 1982-02-19 |
JPS6156546B2 true JPS6156546B2 (en) | 1986-12-03 |
Family
ID=14419700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10589880A Granted JPS5731079A (en) | 1980-07-31 | 1980-07-31 | Vector processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS5731079A (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60220467A (en) * | 1984-04-17 | 1985-11-05 | Fujitsu Ltd | Access control circuit of vector register |
JPS6315088A (en) * | 1986-07-07 | 1988-01-22 | Agency Of Ind Science & Technol | Heat pipe of loop type |
JPS6349699A (en) * | 1986-08-15 | 1988-03-02 | Akutoronikusu Kk | Loop shaped heat pipe |
JPH063354B2 (en) * | 1987-06-23 | 1994-01-12 | アクトロニクス株式会社 | Loop type thin tube heat pipe |
JPH077387B2 (en) * | 1988-06-07 | 1995-01-30 | 富士通株式会社 | Vector register control method |
JP3080740B2 (en) * | 1991-12-04 | 2000-08-28 | 甲府日本電気株式会社 | Instruction issue control unit |
-
1980
- 1980-07-31 JP JP10589880A patent/JPS5731079A/en active Granted
Also Published As
Publication number | Publication date |
---|---|
JPS5731079A (en) | 1982-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6217876Y2 (en) | ||
JPS5938620B2 (en) | Priority designation device for memory controller | |
JP3092566B2 (en) | Memory control method using pipelined bus | |
JPS6156546B2 (en) | ||
JPS62120574A (en) | Vector processor | |
JPS6156547B2 (en) | ||
EP0465847B1 (en) | Memory access control having commonly shared pipeline structure | |
JP2908273B2 (en) | Vector processing equipment | |
JPH0140432B2 (en) | ||
GB2037466A (en) | Computer with cache memory | |
JPS592058B2 (en) | Storage device | |
JPH0877143A (en) | Vector data processor | |
JP2531207B2 (en) | Channel device | |
JP2531209B2 (en) | Channel device | |
JPS582975A (en) | Controlling system for vector data processing device | |
JP2716254B2 (en) | List vector processing device | |
JPH07319840A (en) | Multi-cpu device | |
JPS61128371A (en) | Vector processor | |
JPH047761A (en) | Memory access method | |
JP2847729B2 (en) | Information processing device | |
JP2972568B2 (en) | Bus extender | |
JP2550964B2 (en) | Memory access control method | |
JPH04293136A (en) | Cache control system | |
JPH07200542A (en) | Vector processor | |
JPS6058500B2 (en) | Access control method |