JPS60144873A - メモリ装置 - Google Patents

メモリ装置

Info

Publication number
JPS60144873A
JPS60144873A JP7384A JP7384A JPS60144873A JP S60144873 A JPS60144873 A JP S60144873A JP 7384 A JP7384 A JP 7384A JP 7384 A JP7384 A JP 7384A JP S60144873 A JPS60144873 A JP S60144873A
Authority
JP
Japan
Prior art keywords
data
vector
tag
memory
working memory
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
JP7384A
Other languages
English (en)
Other versions
JPH0319988B2 (ja
Inventor
Akira Maeda
明 前田
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 JP7384A priority Critical patent/JPS60144873A/ja
Publication of JPS60144873A publication Critical patent/JPS60144873A/ja
Publication of JPH0319988B2 publication Critical patent/JPH0319988B2/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)

Abstract

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

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は計詐掘システムにおいて効率の良いベクトル演
算を可能どするメモリ装置に関する。
〔発明の技術的背景とその問題点〕
スーパーコンピュータと称される高速51n機では、ベ
クトル演算を高速に、且つ効率良く処理する為に種々の
工夫がなされている。上記ベタ1〜ルなる要素の配列デ
ータCをめるものである。このベクトル演算は上記各ベ
クトルの各要素毎に同1−の計算を施すことによって実
行され、例えば■ 指数部の比較 ■ 仮数部の桁合せ ■ 仮数部の加算処理 ■ 四捨五入処理 ■ 正規化処理 等にその演算を分解し、前記各要素毎に順次パイプライ
ン的に行われる。第1図はその一例を示づもので、パイ
プライン段数が5段の演算を6回に亙って実行する様子
を示している。この演算方式はパイプライン方式と称さ
れ、上記パイプライン段数をm、このパイプライン演算
の各段における演算時間(パイプラインピッチ)をτ、
データ数をnどしたどき、その演算に要する時間TはT
=mτ十(n−1)τ =(1η−1)τ+nτ どなる。この式から明らかなJ:うに、データ数nが多
いときには、そのベクトル演算を略(+1τ)の時間で
実行できる。また前記パイプライン段数上を図ることが
可能どなる。
ところで、この種のパイプライン方式によってベクトル
演算を効率良く実行するには、その演算に供されるデー
タ(配列データの各要素)を前記パイプラインピッチτ
毎に次々と与えることが必要である。然し乍ら、回路網
解析、電力潮流計篩等で用いられるベクトルは所謂スパ
ースベクトル(疎ベクトル)であり、そのベクトル要素
の殆んどが零(0)であると云う性質を有している。即
ち、スパースベクトルの非零要素は、例えば第2図に示
すように高々数パーセントである。この為、これらのデ
ータを順に読出してパイプライン演算に供したとしても
、実質的にその演算効率の向上を望むことができなかっ
I;。またこのようなスパースベクトルSA、SBをそ
のままメモリに格納して演算に供するには、余りにも多
くのメモリ容量を必要どし、問題があった。
そこで従来、第2図に示すスパースベクトルSA、SS
の非零要素のデータ位置に着目し、そのデータ位置をイ
ンデックスデータIA、IBとして表わし、例えば第3
図に示すように非零要素のとにより密ベクトルの形式で
表現してベクトル演゛コに用いることが考えられている
。尚、第3図にベクトル演算処理の流れを示す図である
。この処理の流れについて簡単に説明すると、上記密ベ
クトルの要素を順に指定する2つのパラメータI。
Jを用い、これらのパラメータI、Jに従って前記イン
デックスデータIA(1)、IBLJ)をデータX、Y
どして読出づ。そしてこれらの7−タX、Yが等しいど
き、これらのデータX、Yを10た上記パラメータI、
Jの値から前記ベクトルSA、SB中のアータ位置く番
地)をめ、その番地LA、LBに格納されたデータSA
N、SBNを読出してパイプライン演算部に与え、その
演算を行わせる。しかるのち、前記パラメータI。
Jをそれぞれインクリメントシて、次にデータX。
Yが等しくなるときのデータ抽出処理に移る。また前記
比較においてデータX、Yが異なる場合には、その大小
関係に応じて上記データXまたはデブライン演算部に与
えることにより、そのペクト(し演算の高速化が図られ
る。尚、このようにして・姐”理を実行する場合には、
前記インデックスデータが所謂昇べきの順に並んていな
Cプればならないことは云うま−Cもない。
然し乍ら、このような処理を実行づる場合、一方のベク
トルの1つのインデックスに対して他方のベクトルの殆
んどのインデックスとの比較照合を行うことが必要とな
る。鴇に、前記各密ベクトルのインデックスがそれぞれ
屏べきの順序て並んていない場合には、一方のヘタ1ヘ
ルの1つのインデックス毎に他方のベクI〜ルの全ての
インデックスに対してそれぞれ比較照合を行う必要が生
じ、その処理効率が非常に悪い。しかもそのインデック
スの比較処理に多くの時間が費やされることになるので
、前記パイプラインピッチτに同期してベクトル演算に
供するデータを順に抽出することがtffシいと云う問
題があった。
そこで本発明者等は、第3図に示を畜ペク1ヘル′l 
ベタ1−ル演rγを11う処理載置の要部概略構成図て
clうり、1はl\り(・ルデータSAN、SBNを格
納しIζデータメモリ、2は上記ヘタ1ヘルS△、SB
iこ対り−るrン〜jツクスデータIA、lB’2帽l
内したインテックスメモリ、3は上記ペク1〜ルS A
 lrlら疎ベクi〜ルを作成する作業メモリである。
4(J。
ベクトルS△のデータSAN、I△を前記メモリ1.2
から順に読出す為のカウンタであり、レジスタ5.6に
は上記メモリ1,2におけるペタ1−ルS△の格納番地
が初期設定されている。しかして前記カウンタ4−U示
されるデータと前記レジスタ5,6に初期設定されたデ
ータとが加算器7゜8によってそれぞれ加算され、これ
らのデータにより前記メモリ1,2がアクセスされて前
記データSAN、IAが順に続出される。このとぎ、イ
ンデックスデータrAは加算器9にて、レジスタ10に
初期設定された疎ベクトルの作業メモリ3における格納
開始番地データWAと加算され、その加算データが前記
作業メモリ“3の番地指定データどして与えられ、該番
地に前記データメモリ1かる。この処理が前記ベクl〜
ルSAの全ての要素に対して(1われ、この結果前記作
業メモリ3には第:2図に示す形式に変換されたベクト
ルが得られる11,1 ′ことになる。
しかして次に前記データメモリ1およびインデックスメ
モリ2からベクトルSBの要素がそれぞれ順に読出され
る。そして上記インデックスメモリ2から読出されたイ
ンデックスデータIBに前記レジスタ10に設定された
データが加算され、そのデータによって前記作業メモリ
3がアクセスされる。この結果、作業メモリ3からは、
ベクトルSBのインデックスデータIBに等しいインデ
ックスに存在−りるデータが前記ベクトルSSの各デー
タSBNと共に読出されることになる。これによってパ
イプライン演惇部111こは、ベタ1−ル演算に供され
るデータSAN、SBNが順にMaして与えられること
になる。尚、この場合、作業メモリ3から読出されるデ
ータがベクトルSAの非零要素以外の乙のを含む場合か
あり、その” o ”データがベクトル演算にとって無
駄な処理となるこ、て遥かにベタ1−ル演算の処理効率
が良くなる。
;゛ところで、このようにしてベクトルに対する処理を
行う場合、処理対象とするベタ1〜ルが変わ4口 ′都度、前記作業メモリ3の全てを零(0)に初W11
′設!対したり、或いは先にデータSANが格納された
アドレスであって、現データ処理において新たなデータ
SANによってデータ更新されなかったアドレスについ
てはこれを’!(0)にリセットする必要がある。仮に
このリセット処理が行われないと、前記データSBNの
読出し詩に、そのインデックステータIBに該当した先
のべりj〜ルSAのデータSANが作業メモリ3から読
出されることになり、ベクトル演算に悪影響を及ぼす。
従って上記リセット処理を省略することができない。
ところが、前述したように作業メ上り3はベクトルSA
をスパースベクトルの形式に変換して格納するものでお
るから、そのアドレス数が非常に多い。この為、これら
の全てのアドレスのデータをそれぞれリセットするには
、そのリセット処理に多大な時間を必要とすると云う問
題があった。ま奇ゾ 5′ l ・“・1゛・ 、【 ハ、 に!設け、一方のメモリを用いて前述したベクトルのよ
うに装置を構成すると前記作業メモリ3として大容量の
メモリが必要となり、そのハードウェアが大規模化する
と云う問題が生じた。
(発明の目的) 本発明はこのような事情を考慮してなされたもので、そ
の目的とするところは、パイプライン処理によるベタ1
−ル演算に供されるスパースベクトルの要素を簡易に、
且つ効率良く連続的に抽出することのできる実用性の高
いメモリamを提供することにある。
〔発明の概要〕
本発明は、演韓処理に供せられるデータを格納するメモ
リに上記データと共にそのデータの種類を示すタグ情報
を一体的に登録し、このメモリから上記データとタグ情
報を読みだしたとき、そのタグ情報と読出し指定された
タグ情報とを比較し1、−書?にしたものである。
・パト一体的にはバクトルデー1に異tt Zp 9 
’) 1fi、報1.を設定してそのタグ情報と共に上
記ベクトルの一ミ1°デ、ニタ8作柔メエIJ[I録し
、。。作業バ、から前記データを読出したとき、そのタ
グ情報が指定されたものである場合にのみ上記データを
出力し、その他の場合には上記データに代えて特定のデ
ータ、例えば零(0)データを出力するようにしたもの
である。
〔発明の効果〕
かくして本発明によれば、ベクトルSBのインデックス
データIBに従って作業メモリから読出したデータが、
目的とするベクトルA(ベクトルSAをスパースベクト
ルに変換したベクトル)のデータSAN以外のものであ
っても、前記タグ情報の比較処理によって例えば零(0
)データに変換されて出力されるので、結局ベクトル演
算に有効な前記ベタ1〜ルSAのデータSANだ【プを
出力づることが可能となる。しかも作業メモリにベクト
ルデータを書込むとき、そのベタ1−ルを識別す“−一
−ド゛ルに対する処理を極めて効率良く実行することが
可能となる。またパイプライン処理に対してデータを効
率良く、且つ連続的に与えることができ実用上多大な効
果が奏せられる。
〔発明の実施例〕
以下、図面を参照して本発明の実施例につき説 ′明す
る。
第6図は実施例装置の要部概略構成を示すものであり、
図中3は前記第5図に承り作業メモリに相当するもので
ある。この作檗メモリ3はインデックスデータによって
アドレス指定されるもので、メモリ領域をデータ部3a
とタグ部3bとに分けている。上記タグ部3bは前記デ
ータ部3a+:II録されるベタ1〜ルデータSANが
属するベタ1−ルSA毎に設定されるタグ情報を、上記
データSへNに対応して登録するものである。しかして
このタグ情報は、上述したように作業メモリ3に書込む
ベクトルに対応してタグレジスタ12に設定され、この
タグレジスタ12から作業メモリ3に与えられる。この
作業メモリ3へのデータの書込みは、前述した−ように
して行われる。即ち、前記第3図に示すような密ベク1
−ルSAのデータSANをそのインテ)クスデータIA
に従って作業メモリ3の該当ア、l−ルスにそれぞれ書
込むことによって行われる。
この際、タグレジスタ12に設定されたタグデータを、
上記作業メモリ3のタグ部3bの前記インデックスデー
タIAによって示されるアドレスにそれぞれ同時に囚込
む。これによって作業メモリ3にはベタ1〜ルSAがス
パースベクトルの形式に展開され、且つその非零要素の
データにそれぞれタグデータが付された形式として書込
まれることになる。尚、この作業メモリ3に新たな別の
ベクトルのデータを書込むときには、前記タグデータの
値を変更した上で、その書込みが行われることは云うま
でもない。
即ち、例えば第7図に作業メモリ3の構成を示すように
、1つのベクトルに対してタグデータ111 FTを設
定して作業メモリ3にデータを書込み、その処理を終了
して前記作業メモリ3に次のベクトルのデータを書込む
とき、前述したようにタグ−データによって指定される
アドレスに、既に先のベクトルデータが書込まれていた
としても、今回新たに書込まれるデータによってそのア
ドレスに既に登録されていたデータが更新されることに
なたアドレスを含めて、作業メモリ3の新たなベクトル
のデータが書込まれたアドレスには、今までとは全く異
なるタグデータ゛2”がそれぞれ付されることになる。
しかして、このようにして作業メモリ3に登録されたベ
クトルデータを読出す場合には、前記タグレジスタ12
にそのベクトルを示すタグデータをセリトンた上で、つ
まりデータ書込み時に用いたタグデータを変更すること
なしに行われる。そして、ベクトル演算に供するベクト
ルSBのインデックスデータIBに従って、作業メモリ
3から前記ベク1〜ルSAのデータSANと共にそのタ
グデータを読出す。このとき、作業メモリ3のタグ部3
bから読出されたタグデータは比較器13により前記タ
グレジスタ12に設定されたタグデータと比較コ・ま夕
を出力して、これをパイプライン演算部1に、与えてい
る。また前記比較器13は前記2つのり□I グjfデータが異なるとき、前記ゲート回路14に対し
bゲート開成信号を発生し、前記データ部3aから読出
したデータのパイプライン演n部11への出力を阻止し
ている。この結果、パイプライン演算部11には前記作
業メモリ3から読出されたデータに代えて、零(0)デ
ータが出力されることになる。
このようにしてベタ1〜ルSBのインデックスデータI
Bに従って作業メモリ3からベタ1〜ルSAの該当デー
タの全てを読出したのら、次のベクトル演算を行うべく
、作業メモリ3に次のベクトルのデータ書込みが行われ
る。この場合、そのベク(−ルが異なることがら前jホ
したように値の異なるタグデータが用いられることは云
うまでもない。
かくして上記の如く構成された装置によれば、作業メモ
リ3から前記インデックスデータ1Bに従つCベタ1〜
ルSAの要素以外のデータが読出されたとしても、前記
タグ情報の比較結果に基くゲート回路14の制御によっ
て、そのデータ出力が阻止されるので前記へりl・ルS
A以外のデータが出゛6、れることになる。従って、従
来問題となってい尖1リセット処理が不要となり、その
処理効率の大□。
た場合、そのタグデータを再び用いることが必要となる
。この時、先に使用されたタグデータに対応するベクト
ルデータと、再使用されるタグデータに対応するベクト
ルとの識別ができなくなると云う不具合が発生する。従
って、このような場合には、前記作業メモリ3を全て零
(0)リセットすることが必要となるが、そのリセット
処理の頻度は極めて少ない。具体的に前記タグ情報とし
て8ピッ1−のデータを用いるものとすると、前記第5
図に示す装置において1つのベクトルを処理する都度、
作業メモリ3のリセットを行う場合に比較して、そのリ
セット処理の回数が256分の1に減少づる。従って上
記リセッ1−処理を含むベタ1〜ル演算処理を極めて効
率良く実行づることが可能となり、その実用的利点が絶
大である。またこのようにしてベクトルに対するメモリ
処理を行つれたデータどしてオールパ1′なるデータを
出力するようにしてもよい。つまり、ノ\り1−ル演算
に必要な固定的データを予め設定しておき、前記タグデ
ータが異なる場合に、これを出力するようにすればよい
。このようにしても、パイプライン演算部から見れば前
記1′「業メモリが等価的にリセットされたと看做すこ
とかできる。またこの処理で用いられるタグ情報のヒッ
l〜数や、処理対客とするベクトルの要素数等は装置の
演算仕様に応じて定めれば良いものである。その他、本
発明はその要旨を逸脱しない範囲で種々変形して実施す
ることができることは云うまでもない。
【図面の簡単な説明】
第1図はベク)・ル演算のパイプライン処理を模式的に
示す図、第2図はスパースベクトルのデータ(構造を示
す図、第3図は構造変換した密ヘク1〜;、、:F@、
−実施例に係るメモリ装置の概略構成図、第71. Σ ’l”it’図、(は同実施例における作業メモリの構
造を示す図11・・・パイプライン演算部、12・・・
タグレジスタ、13・・・比較器、14・・・グー1〜
回路。 出願人 工業技術院長 用田裕部 第1図 第2図 第3図 第4図

Claims (1)

  1. 【特許請求の範囲】 指定されたタグ情報どを比較して、これらのタグに代え
    て予め時定されたデータを出ツノする手段とを具備した
    ことを特徴どするメモリ装置。 く2) メモリは、少数のデータをそのタグ情報と共に
    それぞれアドレス指定して登録するものである特許請求
    の範囲第1項記載のメモリ装@。 (3) メモリから読出されたデータに代えて出力され
    る予め特定されたデータは、II OI+デデーからな
    るものである特許請求の範囲第1項記載のメモリ装置。
JP7384A 1984-01-05 1984-01-05 メモリ装置 Granted JPS60144873A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7384A JPS60144873A (ja) 1984-01-05 1984-01-05 メモリ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7384A JPS60144873A (ja) 1984-01-05 1984-01-05 メモリ装置

Publications (2)

Publication Number Publication Date
JPS60144873A true JPS60144873A (ja) 1985-07-31
JPH0319988B2 JPH0319988B2 (ja) 1991-03-18

Family

ID=11463995

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7384A Granted JPS60144873A (ja) 1984-01-05 1984-01-05 メモリ装置

Country Status (1)

Country Link
JP (1) JPS60144873A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4932585A (en) * 1989-04-20 1990-06-12 Senju Metal Industry Co., Ltd. Method and apparatus for solder plating an object
JP2022533221A (ja) * 2019-05-21 2022-07-21 アーム・リミテッド 行列演算用の装置及び方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51138346A (en) * 1975-05-26 1976-11-29 Toshiba Corp Buffer memory device
JPS54145441A (en) * 1978-04-03 1979-11-13 Nec Corp Converter
JPS54146932A (en) * 1978-05-10 1979-11-16 Nec Corp Address converter

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51138346A (en) * 1975-05-26 1976-11-29 Toshiba Corp Buffer memory device
JPS54145441A (en) * 1978-04-03 1979-11-13 Nec Corp Converter
JPS54146932A (en) * 1978-05-10 1979-11-16 Nec Corp Address converter

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4932585A (en) * 1989-04-20 1990-06-12 Senju Metal Industry Co., Ltd. Method and apparatus for solder plating an object
JP2022533221A (ja) * 2019-05-21 2022-07-21 アーム・リミテッド 行列演算用の装置及び方法

Also Published As

Publication number Publication date
JPH0319988B2 (ja) 1991-03-18

Similar Documents

Publication Publication Date Title
CA1073553A (en) Error recovery and control in a mass storage system
US3163850A (en) Record scatter variable
US3771136A (en) Control unit
US4525777A (en) Split-cycle cache system with SCU controlled cache clearing during cache store access period
US3618040A (en) Memory control apparatus in multiprocessor system
US4476525A (en) Pipeline-controlled data processing system capable of performing a plurality of instructions simultaneously
EP0155211A2 (en) System for by-pass control in pipeline operation of computer
US3510847A (en) Address manipulation circuitry for a digital computer
GB979632A (en) Improvements in or relating to electronic digital computing machines
US2856595A (en) Control apparatus for digital computing machinery
US4630192A (en) Apparatus for executing an instruction and for simultaneously generating and storing related information
GB1270483A (en) Data processing system
US3699528A (en) Address manipulation circuitry for a digital computer
US4621324A (en) Processor for carrying out vector operation wherein the same vector element is used repeatedly in succession
US5210838A (en) Method and apparatus for predicting the effective addresses of future memory load operations in a microprocessor
JPS60144873A (ja) メモリ装置
US3633179A (en) Information handling systems for eliminating distinctions between data items and program instructions
RU2066067C1 (ru) Центральный процессор для многопроцессорной вычислительной системы
EP0388506A2 (en) Normalizer
US3618028A (en) Local storage facility
Black Ray tracing on the Manchester university electronic computing machine
JP3198977B2 (ja) 演算装置及び演算方法並びにそれを実行するプログラムを格納した記録媒体
GB1574104A (en) Data processing apparatus
JPH0441375B2 (ja)
Bacillieri et al. Hardware processor for data reduction task in the field of experimental high energy nuclear physics

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term