JP3066688B2 - 配列データのアクセス方式 - Google Patents

配列データのアクセス方式

Info

Publication number
JP3066688B2
JP3066688B2 JP5123653A JP12365393A JP3066688B2 JP 3066688 B2 JP3066688 B2 JP 3066688B2 JP 5123653 A JP5123653 A JP 5123653A JP 12365393 A JP12365393 A JP 12365393A JP 3066688 B2 JP3066688 B2 JP 3066688B2
Authority
JP
Japan
Prior art keywords
storage device
array data
elements
transfer
distance
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
Application number
JP5123653A
Other languages
English (en)
Other versions
JPH06332630A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP5123653A priority Critical patent/JP3066688B2/ja
Publication of JPH06332630A publication Critical patent/JPH06332630A/ja
Application granted granted Critical
Publication of JP3066688B2 publication Critical patent/JP3066688B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、配列データのアクセス
方式に関するものである。科学技術分野ではプログラム
上で巨大な配列データを利用する場合がある。このよう
な場合にこの巨大データを実メモリ上で作成できずに、
外部媒体上に作成する。この外部媒体へのアクセスは専
用命令を利用する。このようなアクセスを行なう場合、
ハードは各転送をページ単位に行なう。そのため、ディ
スタンス転送時にページにまたがった転送が発生した場
合、極端に性能が低下するので、この性能の低下を防止
することが望まれている。
【0002】
【従来の技術】図5の(a)に示すように、主記憶装置
21と外部記憶装置22との間でディスタンス転送を行
なう場合がある。ディスタンス転送は、図5の(a)の
主記憶装置21上の配列データの要素、・・・を外
部記憶装置22に転送して格納する場合に、転送先の外
部記憶装置22上でディスタンス値dを指定してこのd
だけアドレスの離れた位置に要素、・・・を順次転
送して格納するものである。
【0003】図5の(b)、(c)に示すように、主記
憶装置21上の要素をページ単位に外部記憶装置22に
ディスタンス転送する場合、 (1)転送前処理 (2)ページ固定 (3)転送 (4)ページ解放 (5)転送後処理 の順で行なう。この際、ページ単位に要素、・・・
を順に転送するので、同一ページ内の要素であれば、
(1)→(2)→(3)→(4)→(5)の1回の処理
でディスタンス転送を終了する。一方、ページに跨がる
場合には、(2)→(3)→(4)をその都度繰り返
す。
【0004】
【発明が解決しようとする課題】ディスタンス転送のと
きにディスタンス値dが負の場合には、図5の(c)に
示す次の要素の転送先アドレスを以下の式(1)によっ
て計算する。
【0005】 c=b+[アドレス表現の最大値]+d (1) ・cは、次の要素の転送先のアドレス ・[アドレス表現の最大値]は、システムが扱っている
アドレス表現の最大値、例えば231=2147483648 ・dは、負のディスタンス値 このディスタンス値dが負の場合のこの式(1)は、
[アドレス表現の最大値]を加算しているため、同一ペ
ージ内であってもbのページと異なるページであるとみ
なされてしまい、要素転送(異なるページの要素の転
送)となってしまい、上記(2)→(3)→(4)の処
理を繰り返すこととなり、転送性能が極端に低下してし
まうという問題があった。例えば後述する図4の(a)
のプログラム例に示す負のディスタンス転送の場合に
は、図5の(d)に示すように、の要素“100”、
の要素“98”・・・というディスタンス転送毎に、
式(1)によって外部記憶装置22の転送先のアドレス
計算時に異なるページと見なされてしまい、合計50回
の上記(2)→(3)→(4)を繰り返すこととなり、
転送速度が極端に低下してしまう。
【0006】本発明は、これらの問題を解決するため、
負のディスタンス転送時に配列データの要素を逆方向に
並び変えて正のディスタンス転送にして外部記憶装置に
転送したり、絶対値のディスタンス転送で外部記憶装置
から転送した要素を逆方向に並び変えて元の配列データ
の要素に戻したりし、負のディスタンス値を持つ転送に
おいても正のディスタンス値を持つ転送と同様の高速転
送性能を実現することを目的としている。
【0007】
【課題を解決するための手段】図1は、本発明の原理構
成図を示す。図1において、主記憶装置1は、複数の要
素からなる配列データを格納するメモリである。
【0008】作業域2は、配列データの要素を逆方向に
展開するためのものである。展開処理3は、配列データ
の要素を逆方向に展開するものである。外部記憶装置5
は、配列データを格納して保存するものである。
【0009】
【作用】本発明は、図1に示すように、主記憶装置1上
の配列データについて、負のディスタンス転送が指示さ
れたことに対応して、展開処理3がこの指示された主記
憶装置1上の配列データの要素を逆方向に詰めて作業域
2に展開して格納した後、この作業域2の配列データの
要素を正のディスタンス転送によって外部記憶装置5に
指示されたディスタンス値の位置に順次格納するように
している。
【0010】また、外部記憶装置5から絶対値のディス
タンス値によって配列データを転送して作業域2に格納
した後、展開処理3が作業域2上の配列データの要素を
逆方向に詰めて主記憶装置1に元の配列データの要素の
順に格納するようにしている。
【0011】従って、負のディスタンス転送時に配列デ
ータの要素を逆方向に並び変えて正のディスタンス転送
によって外部記憶装置5に転送したり、絶対値のディス
タンス転送で外部記憶装置5から転送した要素を逆方向
に並び変えて元の配列データの要素順に戻したりするこ
とにより、負のディスタンス値を持つ転送においても正
のディスタンス値を持つ転送と同様の高速転送性能を実
現することが可能となる。
【0012】
【実施例】次に、図1から図4を用いて本発明の実施例
の構成および動作を順次詳細に説明する。
【0013】図1は、本発明の原理構成図を示す。図1
において、主記憶装置1は、配列データの要素を格納す
る高速アクセス可能なメモリであって、図示外の処理装
置が当該主記憶装置1上の配列データの要素を高速アク
セスして処理を行なうためのものである。
【0014】作業域2は、主記憶装置1上の配列データ
の要素を逆方向に展開して格納したり、外部記憶装置5
から転送されてきた要素を格納したりなどする高速アク
セス可能なメモリである。
【0015】展開処理3は、負のディスタンス転送のと
きに、主記憶装置1上の配列データの要素を逆方向に展
開して作業域2に格納したり、外部記憶装置5から転送
されて作業域2に格納された要素を逆方向に展開して主
記憶装置1上に元の配列データの要素の順に戻したりな
どするものである。
【0016】転送機構4は、作業域2や主記憶装置1
と、外部記憶装置5との間でデータ転送(ディスタンス
転送など)を制御するものである。外部記憶装置5は、
配列データを格納して保存する、大容量の不揮発性のメ
モリ(磁気ディスク装置など)である。
【0017】次に、図2を用いて負のディスタンス転送
を行なう場合の動作を詳細に説明する。図2の(イ)
は、渡されるパラメタ値を示す。これは、負のディスタ
ンス転送が指示されるときに渡されるパラメタ値であ
る。
【0018】a:主記憶装置1上の転送開始アドレス b:外部記憶装置5上の転送開始アドレス l:主記憶装置1上の転送データの長さ d:ディスタンス値(転送毎に一定値を指示、ここでは
負の値を持つ) ここで、各値は、図2の(ロ)の図中に示す位置のアド
レス、長さとなる。
【0019】図2の(ロ)は、動作説明図を示す。図2
の(ロ−1)は、主記憶装置1上の配列データ(A)の
様子を示す。ここで、転送開始アドレスa、長さlと
し、主記憶装置1上の配列データ(A)の要素を、負の
ディスタンスdで外部記憶装置5にディスタンス転送が
指示されたとする。
【0020】図2の(ロ−2)は、負のディスタンス転
送が指示されたことに対応して、主記憶装置1上の配列
データ(A)の要素を逆方向の要素の順に詰めて作業域
2に格納した様子を示す。これは、図1の展開処理3が
行なう。この配列データ(A)の要素の逆方向に展開し
て作業域2に格納したことにより、要素は正の方向に並
び変えられたこととなる。
【0021】図2の(ロ−3)は、作業域2上の要素を
ディスタンスdでディスタンス転送して外部記憶装置5
上に格納した様子を示す。このディスタンス転送では、
外部記憶装置5上の転送開始アドレスbから転送データ
の長さlを引いてディスタンス値分を加算した(b−l
+|d|)の位置を格納開始アドレスとし、作業域2上
の先頭の要素から正のディスタンス転送によって順次格
納したものである。この場合には、正のディスタンス転
送で、しかも同一ページ内に配列データ(A)が全て納
まったので、1回の転送で終了することとなる。
【0022】以上のように、負のディスタンス値dのデ
ィスタンス転送の指示があった場合に、主記憶装置1上
の配列データ(A)の要素を逆方向に展開して作業域2
に格納した後、正のディスタンス値|d|のディスタン
ス転送によって外部記憶装置5に転送して格納する。こ
れにより、図2の(ロ−3)の場合には、配列データ
(A)の要素が同一ページに納まっているので、1回の
転送で終了することとなり、負のディスタンス値dのデ
ィスタンス転送を、正のディスタンス転送と同等に高速
転送することが可能となった。
【0023】次に、図3を用いて、負のディスタンス転
送によって格納した配列データ(A)を外部記憶装置5
から主記憶装置1に転送する場合の動作を説明する。図
3の(イ)は、渡されるパラメタ値を示す。これは、負
のディスタンス転送によって外部記憶装置5に保存した
要素を、主記憶装置1上に取り出して元の配列データに
戻すときに渡されるパラメタ値である。
【0024】a:主記憶装置1上の転送開始アドレス b:外部記憶装置5上の転送開始アドレス l:主記憶装置1上の転送データの長さ d:ディスタンス値(転送毎に一定値を指示、ここでは
負の値を持つ) ここで、各値は、図3の(ロ)の図中に示す位置のアド
レス、長さとなる。
【0025】図3の(ロ)は、動作説明図を示す。図3
の(ロ−1)は、参照指示があったときの外部記憶装置
5上の配列データ(A)の様子を示す。これは、既述し
た図2の(ロ)により、負のディスタンス転送指示に対
応して外部記憶装置5に格納した要素の様子を示す。転
送開始アドレスb、長さlである。
【0026】図3の(ロ−2)は、参照指示によって負
のディスタンス転送が指示されたことに対応して、外部
記憶装置5上の要素からディスタンス値|d|の距離の
要素を正のディスタンス転送によってページ内の要素を
一括して転送し、作業域2に図示のように詰めて格納し
た様子を示す。
【0027】図3の(ロ−3)は、(ロー2)で作業域
2に詰めて格納した要素を、逆方向の要素に詰めて主記
憶装置1に格納した様子を示す。ここで、転送開始アド
レスa、長さlである。これにより、図2で主記憶装置
1から負のディスタンス転送指示に対応して外部記憶装
置5に一括して正のディスタンス転送で書き込んだ要素
について、逆の処理によって、正のディスタンス転送お
よび要素の逆方向への展開を行って元の配列データ
(A)の要素の並び順に戻したこととなる。
【0028】以上によって、負のディスタンス転送指示
に対応して要素の並び順を逆にして正のディスタンス転
送によって高速に外部記憶装置5に格納して保存した要
素を、同様に正のディスタンス転送によって作業域2に
格納した後に要素の並び順を逆にして元の配列データの
要素の順に戻すことにより、主記憶装置1と外部記憶装
置5との間を正のディスタンス転送によっていずれも転
送することが可能となり、負のディスタンス転送による
ページを跨がったとみなされることによる転送遅れを無
くすことが可能となる。
【0029】図4は、本発明の具体例説明図を示す。図
4の(a)は、プログラム例を示す。このプログラム
は、SSU配列機能のもとで、FORTRANのDOル
ープにより、主記憶装置1上の配列データを外部記憶装
置5に負のディスタンス転送するものである。プログラ
ムの記述は、右側に記載したように、下記を実行する。
【0030】 8バイトを1要素とし、10000要
素分の領域を外部記憶装置5に確保する。 そして、DOループによって、要素100から要素
1まで−2毎にディスタンス値−16(=8バイト×
2)で50要素を、主記憶装置から外部記憶装置にディ
スタンス転送する(負のディスタンス転送する)。
【0031】図4の(b)は、図4の(a)のDOルー
プによる負のディスタンス転送指示があったときの、本
発明の正(絶対値)のディスタンス転送を行なう場合の
様子を示す。
【0032】図4の(b−1)は、主記憶装置1上のデ
ータ(配列データ)を示す。ここでは、配列データの要
素は、100.0、98.0・・・2.0の合計50要
素である。
【0033】図4の(b−2)は、作業域2上のデータ
(配列データ)を示す。ここでは、(b−1)の配列デ
ータの要素を逆方向に詰め、2.0、4.0・・・10
0.0の合計50要素である。この(b−1)から(b
−2)への転送は、主記憶装置1上と、主記憶装置1上
に設けた作業域2との間の転送であるため、十分高速に
行える。
【0034】図4の(b−3)は、外部記憶装置5上の
データ(配列データ)を示す。ここでは、(b−2)の
作業域2上のデータを正のディスタンス値dを持つディ
スタンス転送によって、図示のように2.0、4.0・
・・100.0までディスタンス値d毎の位置にそれぞ
れ順に格納したものである。この場合の転送は、ページ
内の転送であるため、1回の転送で終了し、極めて高速
に転送できる(従来の負のディスタンス転送によれば、
図5の(d)に示すように50回の転送が必要となって
しまうことに比し、極めて高速に転送可能となる)。
【0035】以上のように、FORTRANのDOルー
プによって配列データを、主記憶装置1と外部記憶装置
5との間で負のディスタンス転送する場合に、本発明に
よれば、同一ページ内にあれば一度の転送で外部記憶装
置5に格納することができ、負のディスタンス転送を極
めて高速に実行可能となる。同様に、外部記憶装置5に
格納した配列データを主記憶装置1上に元の配列データ
の要素順に戻すことも極めて高速に実行可能となる。
【0036】
【発明の効果】以上説明したように、本発明によれば、
負のディスタンス転送時に配列データの要素を逆方向に
並び変えて正(絶対値)のディスタンス転送によって外
部記憶装置5に転送したり、正(絶対値)のディスタン
ス転送で外部記憶装置5から転送した要素を逆方向に並
び変えて元の配列データの要素順に戻したりする構成を
採用しているため、負のディスタンス値を持つ転送にお
いても正のディスタンス値を持つ転送と同様の高速転送
性能を実現することができた。これにより、従来のディ
スタンス転送機能を活かしたまま、巨大配列データの要
素を外部記憶装置に高速展開し、必要な部分のみを取り
出して主記憶装置に高速展開して処理を行なう応用プロ
グラムの処理速度を大幅に向上させることが可能とな
り、応用プログラムの使い勝手を向上させることができ
た。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明のディスタンス転送の説明図(その1)
である。
【図3】本発明のディスタンス転送の説明図(その2)
である。
【図4】本発明の具体例説明図である。
【図5】従来技術の説明図である。
【符号の説明】
1:主記憶装置 2:作業域 3:展開処理 4:転送機構 5:外部記憶装置
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭61−26128(JP,A) 特開 昭63−263524(JP,A) 特開 平2−228743(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 3/06 302 G06F 3/06 301

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】複数の要素からなる配列データを格納する
    主記憶装置(1)と、 配列データの要素を逆方向に展開して格納する作業域
    (2)と、 負のディスタンス転送時に上記主記憶装置(1)上の配
    列データの要素を逆方向に展開して上記作業域(2)に
    格納する展開処理(3)と、 複数の要素からなる配列データを格納して保存する外部
    記憶装置(5)とを備え、 主記憶装置(1)上の配列データについて、負のディス
    タンス転送が指示されたことに対応して、上記展開処理
    (3)がこの指示された主記憶装置(1)上の配列デー
    タの要素を逆方向に上記作業域(2)に展開して格納し
    た後、この作業域(2)の配列データの要素を正のディ
    スタンス転送によって上記外部記憶装置(5)に転送
    し、指示されたディスタンス値の位置に順次格納するよ
    うに構成したことを特徴とする配列データのアクセス方
    式。
  2. 【請求項2】複数の要素からなる配列データを格納して
    保存する外部記憶装置(5)と、 逆方向の配列データの要素を格納する作業域(2)と、 この作業域(2)上の配列データの要素を逆方向に展開
    して上記主記憶装置(1)に格納する展開処理(3)
    と、 複数の要素からなる配列データを格納する主記憶装置
    (1)とを備え、 外部記憶装置(5)から絶対値のディスタンス値によっ
    て配列データの要素を転送して上記作業域(2)に格納
    した後、展開処理(3)がこの作業域(2)上の配列デ
    ータの要素を逆方向に上記主記憶装置(1)に元の配列
    データの要素の順に格納するように構成したことを特徴
    とする配列データのアクセス方式。
JP5123653A 1993-05-26 1993-05-26 配列データのアクセス方式 Expired - Fee Related JP3066688B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5123653A JP3066688B2 (ja) 1993-05-26 1993-05-26 配列データのアクセス方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5123653A JP3066688B2 (ja) 1993-05-26 1993-05-26 配列データのアクセス方式

Publications (2)

Publication Number Publication Date
JPH06332630A JPH06332630A (ja) 1994-12-02
JP3066688B2 true JP3066688B2 (ja) 2000-07-17

Family

ID=14865945

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5123653A Expired - Fee Related JP3066688B2 (ja) 1993-05-26 1993-05-26 配列データのアクセス方式

Country Status (1)

Country Link
JP (1) JP3066688B2 (ja)

Also Published As

Publication number Publication date
JPH06332630A (ja) 1994-12-02

Similar Documents

Publication Publication Date Title
JPH0433029A (ja) メモリ装置とその駆動方法
JP3066688B2 (ja) 配列データのアクセス方式
US5703810A (en) DRAM for texture mapping
JPS58115673A (ja) 記憶情報制御方式及び装置
JP2005182538A (ja) データ転送装置
JPS58225443A (ja) 高速デ−タ処理装置
JP2005534120A (ja) 並列に複数のベクトル要素にアクセスするための装置及び方法
JP2845746B2 (ja) マイクロプログラム制御装置
JPH07141258A (ja) データ記録再生装置
JPS61120260A (ja) 順次デ−タ記憶回路のアクセス装置
JPS61217868A (ja) ベクトルデ−タアクセス制御方式
JPS61206063A (ja) メモリアクセス制御装置
JPS6145260B2 (ja)
JPH01207848A (ja) 記憶装置
JPS6327795B2 (ja)
JPS5916066A (ja) デ−タ転送方式
JPS602703B2 (ja) 記憶装置リ−ド/ライト処理方式
JPH08179894A (ja) メモリシステム及びディスク記録再生装置に適用されるメモリシステム
JPH0431130B2 (ja)
JPH0255822B2 (ja)
JPH04333950A (ja) 情報処理システム
JPS617953A (ja) メモリ装置
JPS61145659A (ja) 半導体フアイル
JPS6343782B2 (ja)
JPH04365123A (ja) データ転送制御装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000404

LAPS Cancellation because of no payment of annual fees