JPS62295175A - アドレス生成回路 - Google Patents

アドレス生成回路

Info

Publication number
JPS62295175A
JPS62295175A JP13732086A JP13732086A JPS62295175A JP S62295175 A JPS62295175 A JP S62295175A JP 13732086 A JP13732086 A JP 13732086A JP 13732086 A JP13732086 A JP 13732086A JP S62295175 A JPS62295175 A JP S62295175A
Authority
JP
Japan
Prior art keywords
address
data
memory
vector
stored
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.)
Granted
Application number
JP13732086A
Other languages
English (en)
Other versions
JPH046033B2 (ja
Inventor
Kazunori Sekido
一紀 関戸
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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP13732086A priority Critical patent/JPS62295175A/ja
Publication of JPS62295175A publication Critical patent/JPS62295175A/ja
Publication of JPH046033B2 publication Critical patent/JPH046033B2/ja
Granted legal-status Critical Current

Links

Classifications

    • 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

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)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 [発明の目的] (従来の技術) ベクトル計算機では、ベクトル・データを格納するメモ
リを間接アクセスしてベクトル演算を行なう3アドレス
方式か有効である。
この3アドレス方式は、基本的には第1および第2のオ
ペランドによって指定されるメモリの第1および第2の
アドレスに格納されたベクトル・データ間の演算を行い
、その演算結果を第3のオペランドによって指定される
上記メモリの第3のアドレスに格納するものである。3
アドレス方式のベクトル計算機は、間接アドレス・デー
タを用いて前記メモリに格納されたベクトル要素を順に
指定しながら、上述した演算処理を繰返し実行するもの
である。
第3図はこのようなベクトル計算機の概略構成図であり
、1はそのアドレス生成回路である。また2はベクトル
・データや間接アクセス・データ等゛を格納するメモリ
であり、3はベクトル演算を実行するベクトル演算器、
4は上記メモリ2に格納された間接アクセス・データに
対するアドレスを発生する間接アドレス発生器である。
しかしてアドレス生成回路1は、前記メモリ2に対して
3つのアドレスを指定する為の第1乃至第3のオペラン
ドに対して、そのベース・アドレスをそれぞれ格納する
3つのアドレス・レジスタ5a、 5b、 5c、メモ
リ2に格納されたベクトル要素の各アドレス間隔を示す
データをそれぞれ格納する増分レジスタGa、 6b、
 Beを備えている。そして前記間接アドレス発生器4
によってアクセスされ、前記メモリ2から読出される間
接アクセス・データ、と上記各増分レジスタ6a、 8
b、 6cに格納されたデータと3つの乗算器7a、 
7b、 7cにてそれぞれ乗算し、これらの各乗算値を
3つの加算器8a、 8b。
8cにて前記アドレス−レジスタ5a、 5b、 5c
にそれぞれ格納されたベース・アドレスに加算して前記
メモリ2に対する3つのアドレス・データを生成するよ
うに構成されてにる。
このように構成されたアドレス生成回路1によれば、ベ
クトルA、B、Cのメモリ2に対するベース・アドレス
Ao、 Bo、 Coをアドレス・レジスタ5a、 5
b、 5cにそれぞれセットし、上記メモリ2に対する
上記各ベクトルA、B、Cのデータの格納アドレス間隔
a、b、cを増分レジスタ8a、 Gb、 8cにそれ
ぞれセットして、前記間接アドレス発生器4の制御の下
でメモリ2から間接アクセス・データを、例えば(1,
2,〜n)の順序で与えれば、メモリ2に対する3つの
アドレスが次のように頭に生成される。
■ Ao+ jl*a、  Bo+ jl*b、  C
o+ jl*c  (N−J(1))■  Ao+j2
木a、  Bo+ j2*b、  Co+j2*c  
 (j2−J(2))■  Ao+jn*a、  Bo
+ jn*b、  Co+ jn*c   (jn=J
(n))従って、例えば C(J(+)) −A (J(1)) + B (J(
1))1 = 1.2.〜100 なるベクトル演算を行なうものとすれば、先すアドレス
(Ao+j 1*a) 、(Bo+jl*b)に格納さ
れたベクトル・データA (J(1)) 、  B (
J(1))との間でC(J(1)) =A(J(1))
 +B (J(1))なる演算か行われ、その演算結果
C(J(1))がメモリ2のアドレス(Co+jHc)
に格納される。次に、同様にしてアドレス(Δo+j 
Ha) 、(Bo+j2*b)に格納されたベクトル・
データA (J(2)) 、  B (J(2))との
間で C(J(2)) −A (J(2)) + B (J(
2))なる演算が行われ、その演算結果C(J(2))
がメモリ2のアドレス(CO”j2*C)に格納される
ことになる。
このようなアドレス制御の下でその演算処理がC(J(
100)) −A (J(100)) + B (J(
loo))に至るまで繰返し実行され、上述した。ベク
トル演算が行われる。
ところでこのような3アドレス方式のベクトル計算機で
は、4つ以上のアドレスを同時に発生することはできな
い。また3つ以上のベクトル・データ間の演算を行なう
こともできない。そこで1、例えば D (J(1))−A (J(I))+ B (J(1
))+ c (Jm)!  = 1.2.〜,100 、するベクトル演算を行な゛う場合には、T (J(1
)) −A (J(1)) + B (J(I))D 
(J(1)) −T (J(1)) +C(J(1))
1 −1.2.〜100 9ように、その演算を2回のステップに分けて行われる
。ここでT (J’(1))は、そのベクトル演算の途
中結果を一時記憶する為のテンポラル配列である。
しかして、最初の処理ステップではアドレス(りで指定
されるベクトルA、HのデータA(J(1)) 、  
B (J(+))の演算結果T (J(1))を上記テ
ンポラル配列のアドレスJ (1)に格納し、次のステ
ップではアドレスJ (1)で指定されるテンポラル配
列のデータT (J(+))とベクトルCのデータC(
J(1))の演算結果D (J(1))を上記アドレス
J(1)で指定されるベクトルDの領域に格納して、そ
のベクトル演算が実行される。
ところがこのようにして3つのベクトル・データA、B
、C間のベクトル演算を実行する場合、次、のような不
具合がある。
即ち、間接アドレス・データIによって指定される間接
アクセス・データJ(1)が取り得る値は、一般に上記
間接アドレス・データIの最大値よりも多い。例えば第
4図に示すように各ベクトルA。
B、Cの要素がそれぞれ1000個あり、その中の10
0個のベクトル要素を用いてベクトル演算を行なう場合
、 1〜100の値を取る間接アドレス・データIによ
って指定される間接アクセス・データ11)の最大値は
1000となる。
従って前記テンポラル配列T(J(1))を格納する為
のアドレスJ(1)も、最大で1000の値をとること
になる。これ故、テンポラル配列T (J(1))を格
納する為のアドレス空間としては、少なくとも前記各ベ
クトルA、B、C,Dのデータ(要素)をそれぞれ格納
する為のアドレス空間と同じ大きさを必要とする。つま
り少なくとも1000個のアドレス空間を必要とする。
然し乍ら、上述したベクトル演算の途中結果として求め
られる前記テンポラル配列T (J(1))の数は、前
記間接アドレス・データ■によって指定される間接アク
セス・データJ(1)の数、つまり上記間接アドレス・
データ■の数に等しい。従ってこの例では、テンポラル
配列T (J(+))を格納する為のアドレス空間とし
ては 100個のアドレスがあれば十分である。
これにも拘らず、上述したように大量のアドレス空間を
準備することは、甚だ不経済なことである。ちなみにこ
の例では、テンポラル配列T (J(1))を格納する
為に準備されたアドレス空間のl/lOシか実際のベク
トル演算に利用しないことになる。
このような不具合は、ベクトル演算が複雑化するに従っ
て増大し、メモリ2の利用効率の低下を゛招来する。そ
してベクトル計算機のコスト・パフォーマンスの低下を
招く要因となっている。
(発明が解決しようとする問題点) 本発明はこのような事情を考慮してなされたもので、そ
の目的とするところは、3アドレス方式の計算機におい
て、複雑なベクトル演算を行なう場合であってもそのテ
ンポラル配列T (J(+))を格納する為のメモリ・
アドレス空間を最少限に抑え、且つそのメモリ・アドレ
ス空間を 100%有効に利用してそのベクトル演算の
実行を可能ならしめるアドレス生成回路を提供すること
にある。
[発明のt1′4成コ (問題点を解決するための手段) 本発明は、メモリに対して指定する3つのアドレスにそ
れぞれ対応して、そのベース・アドレスを保持する第1
のレジスタと、アドレス間隔のデータを保持する第2の
レジスタと、順に指定される間接アクセス・データと上
記アドレス間隔のデータとの乗算値を求める乗算器と、
この乗算値を前記ベース・アドレスに加算してアドレス
・データを求める加算器とをそれぞれ備えたアドレス生
成回路において、 た乗算値を前記加算器に選択的に与えるセレクダを設け
たことを特徴とするものである。
(作用) かくしてこのように構成されたアドレス生成回路によれ
ば、テンポラル配列を生成するとき、およびその生成さ
れたテンポラル配列を利用するときには、間接アクセス
・データに基く乗算値に代えて数列発生器が順に発生す
る所定の数値系列の数値をベース・アドレスに加算して
そのアドレスを生成することにより、テンポラル配列を
格納する為のアドレス空間を上記数列発生器が発生する
所定の数値系列に合せて設定することが可能となる。
つまり演算対象となるベクトルの要素を上記間接アクセ
ス・データに基く乗算値に従って順にアクセスしてメモ
リから求め、その演算の途中結果として求められるテン
ポラル配列のデータを数列発生器が発生する所定の数値
系列に従って順にメモリに格納できる。そしてこのテン
ポラル配列のデータを数列発生器が発生する所定の数値
系列にこの結果、各ベクトルの要素の数に拘らず、その
ベクトル演算の対象となるベクトルの要素の数(演算の
数)だけテンポラル配列を格納する為のアドレス空間を
準備すれば十分となる。これ故、テンポラル配列の為の
アドレス空間を100%有効に利用し、メモリのアドレ
ス空間を無駄なく利用したベクトル演算が可能となる。
(実施例) 以下、図面を参照して本発明の一実施例につき説明する
第1図は実施例に係るアドレス生成回路を用いて構成さ
れるベクトル計算機の概略構成図である。
尚、従来システムと同一部分には同一符号を付して示し
である。
このアドレス生成回路1が特徴とするところは、乗算器
7a、 7b、 7cと加算器8a、 8b、 tic
との間にセレクタ9a、 9b、 9cを設け、加算器
8a、 8b、 8cにて前記アドレス・レジスタ5a
、 5b、 5cにセットされたベース・アドレスに加
算するデータとして、上記乗算器7a、 7b、 7c
からの前述した乗算値、またiは1数列発生器10から
発生する数値を選択するようにしたものである。
つまりセレクタ9a、 9b、 9cにて前記各乗算器
7a。
7’b、 7cが求めた乗算値、または数列発生器10
が発生する数値をそれぞれ選択を選択し、これを加算る
ここで数列発生器10は、所定の数値系列、例えば予め
設定された成る値(初期値)から順に1づつインクリメ
ントされる数値の系列を前記間接アクセス・データの出
力に同期して順に発生するものである。
しかしてアドレス生成回路1では、セレクタ9a。
9b、 9cが乗算器7a、 7b、 7cによる乗算
値を選択しているときには前述した従来回路と全く同様
に機能して、メモリ2に対する3つのアドレスを順に出
力する。これに対してセレクタ9a、 9b、 9cが
数列発生器lOが出力する所定の数値系列を選択してい
るときには、加算器8a、 8b、 8cはその数値を
前記ベース・アドレスに加算してメモリ2に対するアド
レスを生成する。
例えば数列発生器10が1〜100の数値を順に発生す
るものとすれば、加算H8a、 8b、 8cは前記ア
ドレス・レジスタ5a、 5b、 5cにセットされた
ベース・アドレスTに上記数値を加算したアドレスを順
に生成することになる。この結果、メモリ2はいて、例
えば前述した D (J(I))= A (J(1))+ B’([1
))+ C(Jul))1−1.2.〜,100 なるベクトル演算を行なう場合、これをT (1)  
= A (J(I)) + B (Hl))D (J(
1)) −T (I )  + C(Hl))1 = 
1.2.〜100 のように2回のステップに分けて次のようにして行われ
る。
即ち、第1ステツプの演算を実行するべく、アドレス・
レジスタ5a、 5aにはベクトルA、Bに関するベー
ス・アドレスをそれぞれセットし、アドレス・レジスタ
5cにはその演算途中結果であるテンポラル配列Tを格
納する為のベース・アドレスをセットする。同時に増分
レジスタ6a、 8bに、上記ベクトルA、Bに関する
アドレス間隔を示すデータをそれぞれセットする。そし
てセレクタ9a。
9bには、乗算器7a、 7bの乗算値を選択するべく
制御信号を与え、セレクタ96には数列発生器10から
の数値を選択するべく制御信号を与える。
このような初期設定の下で前述した第1の演算チップで
あるベクトルA、Bのデータ (J(+)) 、  B (J(+))の演算結果T 
(1)を求づる処理を起動すると、第2図に例示するよ
うにアドレス」(I)で指定されるデータA (J(+
)) 。
B (J(1))の演算結果T (1)は、その間接ア
クセス・データJ(1)とは独立に数値系列Iで示され
るアドレスに順に格納されることになる。
例えば1000個の要素からなるベクトルA、Bの間接
アクセス・データJ(1)で指定される 100個の要
素についてベクトル演算を実行する場合、その演算途中
結果として求められる 100個のテンポラル配列Tの
データは、そのデータ格納領域に数列発生器10が出力
する所定の数値系列に従って順に格納されることになる
しかる後、第1の演算ステップが終了した時、今度はア
ドレス・レジスタ5aに上記テンポラル配列Tを格納し
たメモリ領域のベース・アドレスをセットし、アドレス
・レジスタ5b、 5cにはベクトルC,Dに関するベ
ース・アドレスをそれぞれセットする。そして増分レジ
スタ8b、 Beに、上記ベクトルC,Dに関するアド
レス間隔を示すデータをそれぞれセットし、セレクタ9
aには数列発生器ツブである前記テンポラル配列Tとベ
クトルCの演算結果D (J(1))を求める処理を起
動すると、第2図に例示するようにアドレスJ(1)で
指定されるデータC(J(1))の読出しに同期して前
記演算途中結果T (+)が順に読出されてその演算結
果D (J(1))が求められ、アドレスJ (+)で
指定されるアドレスに順に格納されることになる。
この結果、 D (Jm)−A (Jm)+ B (J(1))+ 
C(J(1))1−1.2.〜.100 なる演算が行われることになる。
このように本アドレス生成回路によれば、ベクトル演算
の途中結果であるテンポラル配列を格納し、またこのテ
ンポラル配列を読出す為のアドレス・データを、その間
接アクセス・データJ (+)で指定されるアドレスで
はなく、数値系列Iで指定され名アドレスとして順に生
成するので、テンポラル配列を格納する為のアドレス領
域を、その演算対象する各ベクトルの要素の数に拘らず
、そトル演算を実行する場合、従来にあってはテンポラ
ル配列を格納するアドレス領域を上記各ベクトルの要素
数に対応して1000個準備する必要があっこれ故、テ
ンポラル配列を格納する為のアドレス空間必要最小限だ
け準備し、そのアドレス空間を100%有効に、つまり
メモリ2のアドレス空間を無駄なく利用してベクトル演
算を行なうことか可能となる。
ところでこのように構成されたアドレス生成回路によれ
ば、例えば2種類以上の配列を持つベクトル・データ間
の演算を行なうことも可能となる。
例えば2つの相異なる2つの配列J、にのベクトル間の
演算を C(J(+))−A (J(I))+ B (K(1)
)1=1.2.〜.100 として行なう場合、例えば T (1)  −B (K(り) C(J(1))−A  (J(1))+  T  (+
)1−1.2.〜.100 として2回のステップに分けてその演算を実行すれば良
い。
即ち、配列にのベクトルB (K(+))を一旦テンポ
ラ元配列T (1)に変換し、このテンポラル配列−f
可能となる。
このように本アドレス生成回路1によれば、その演算途
中結果として求められるテンポラル配列を、数列発生器
IOが出力する所定系列の数値に従ってメモリ2のアド
レス空間に順に格納していくので、その間接アクセスの
数に応じたメモリ空間をテンポラル配列用として準備す
れば良い。従ってベクトル演算の対象となるベクトルの
配列およびその要素の数に拘らず、テンポラル配列を格
納する為の必要最少限のメモリ空間を準備し、そのメモ
リ空間を 100%有効に活用して効率よくベクトル演
算を実行することが可能となる。
しかも上述したように所定の系列の数値を発生する数列
発生器10と、ベース・アドレスに加算する為のデータ
を選択するセレクタ9a、 9b、 9cとを設け、そ
の選択動作を制御するだけと云う簡単な構成によって、
そのベクトル演算の効率化、およびメモリ空間の有効利
用を図り得る等の実用上多大なる効果を奏する。故に、
3アドレス方式のベクトル計算機に適用して絶大なる効
果が奏せられる。
尚、本発明は上述した実施例に限定されるれるものでは
ない。例えば演算対象とするベクトルの数、およびその
ベクトルの要素数、更にはベクトルの配列構成は種々変
形可能なものである。そして、そのベクトルに応じて間
接アクセス用の配列を決定すれば良いものである。また
メモリ2に対する各ベクトル・データのアドレス領域の
割付けも、その仕様に応じて定めれば良いものである。
またベクトル演算のみならず、成る配列構成のスカラー
・データに対する演算にも同様に適用することができる
。要するに本発明はその要旨を逸脱しない範囲で種々変
形して実施することができる。
[発明の効果] 以上説明したように本発明は、間接アクセス・データに
同期して成る系列の数値を発生させ、その演算過程でテ
ンポラル配列を用いる場合には、上記所定の数値系列に
従って該テンポラル配列に対するアドレスを順に生成す
るようにしたものであり、簡易な構成とその制御によっ
てテンポラル配列を格納する為のメモリ・アドレス空間
を最少限に抑え、且つそのメモリ・アドレス空間を 1
0096有効に利用して種々の演算を効率良く実行させ
得ることを可能とする等の実用上多大なる効果を奏する
構成図、第2図は実施例回路による生成アドレスの概念
を示す図、第3図は従来のアドレス生成回路を用いて構
成されるベクトル計算機の概略構成図、第4図は従来回
路による生成アドレスの概念を示す図である。
1・・・アドレス生成回路、2・・・メモリ、3・・・
ベクトル演算器、4・・・間接アドレス発生器、5a、
 5b。
5c・・・アドレス・レジスタ、ea、 ab、 Be
・・・増分レジスタ、7a、 7b、 7cm乗算器、
8a、 8b、 8a−・・加算器、9a、 9b、 
9c・・・加算器、10・・・数列発生器。
出願人 工業技術院長 等々力 達 第2図 第3図

Claims (2)

    【特許請求の範囲】
  1. (1)メモリに対して3つのアドレスを指定し、上記メ
    モリの第1のアドレスに格納されたデータと第2のアド
    レスに格納されたデータの演算結果を第3のアドレスに
    格納する3アドレス方式の計算機において、 前記メモリに対するベース・アドレスを保持する第1の
    レジスタと、前記メモリに対するアドレス間隔のデータ
    を保持する第2のレジスタと、この第2のレジスタに保
    持されたアドレス間隔のデータと順に指定される間接ア
    クセス・データとの乗算値を求める乗算器と、数列発生
    器が発生する所定の数値系列の数値または前記乗算器が
    求めた乗算値を選択するセレクタと、このセレクタが選
    択した上記数値または乗算値を前記第1のレジスタに格
    納されたベース・アドレスに加算して前記メモリに対す
    るアドレス・データを求める加算器とを、前記3つのア
    ドレスをそれぞれ指定する第1乃至第3のオペランドに
    対してそれぞれ設けたことを特徴とするアドレス生成回
    路。
  2. (2)数列発生器は、間接アクセス・データの入力に同
    期して所定値から1づつインクリメントされる数値系列
    を発生するものである特許請求の範囲第1項記載のアド
    レス生成回路。
JP13732086A 1986-06-14 1986-06-14 アドレス生成回路 Granted JPS62295175A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13732086A JPS62295175A (ja) 1986-06-14 1986-06-14 アドレス生成回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13732086A JPS62295175A (ja) 1986-06-14 1986-06-14 アドレス生成回路

Publications (2)

Publication Number Publication Date
JPS62295175A true JPS62295175A (ja) 1987-12-22
JPH046033B2 JPH046033B2 (ja) 1992-02-04

Family

ID=15195923

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13732086A Granted JPS62295175A (ja) 1986-06-14 1986-06-14 アドレス生成回路

Country Status (1)

Country Link
JP (1) JPS62295175A (ja)

Also Published As

Publication number Publication date
JPH046033B2 (ja) 1992-02-04

Similar Documents

Publication Publication Date Title
JP2007317179A (ja) 帯域幅要件が軽減された行列乗算
CN111104164A (zh) 一种用于执行矩阵乘运算的装置和方法
KR860001433B1 (ko) Rom을 사용하여 10진 승산을 수행하는 데이터 프로세서
US6505288B1 (en) Matrix operation apparatus and digital signal processor capable of performing matrix operations
JPS62295175A (ja) アドレス生成回路
Hou et al. DECOMPOSER: a synthesizer for systolic systems
US20100138463A1 (en) Digital Signal Processor Having Instruction Set With One Or More Non-Linear Functions Using Reduced Look-Up Table
JP2885197B2 (ja) 演算処理装置及び演算処理方法
US7213127B2 (en) System for producing addresses for a digital signal processor
JP2010123083A (ja) 相関処理装置及びその相関処理装置で読みとり可能な媒体
JP3278441B2 (ja) ベクトル処理装置
JPS6058503B2 (ja) デ−タ処理制御方式
JPS62295138A (ja) アドレス生成方式
JPH06342450A (ja) 行列乗算装置
JP2696903B2 (ja) 数値計算装置
JPH05143447A (ja) デイジタルプロセツサ及びその制御方法
JP3723311B2 (ja) 並列演算プロセッサ
JPS6252899B2 (ja)
JP3531208B2 (ja) ディジタル信号処理装置
JPH05290080A (ja) 並列処理装置
JP2835366B2 (ja) 高速フーリエ変換用アドレス情報発生装置
JPH02204828A (ja) 演算処理装置
JP2003216416A (ja) 論理演算回路
JPH036547B2 (ja)
JPH117440A (ja) プロセッサ、コンパイラ、積和演算方法及び記録媒体

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term