JP2000231513A - N次元矩形データアレイの任意の所与次元におけるパラレルデータアクセスのためのメモリアーキテクチャ - Google Patents

N次元矩形データアレイの任意の所与次元におけるパラレルデータアクセスのためのメモリアーキテクチャ

Info

Publication number
JP2000231513A
JP2000231513A JP11375826A JP37582699A JP2000231513A JP 2000231513 A JP2000231513 A JP 2000231513A JP 11375826 A JP11375826 A JP 11375826A JP 37582699 A JP37582699 A JP 37582699A JP 2000231513 A JP2000231513 A JP 2000231513A
Authority
JP
Japan
Prior art keywords
data
address
permuter
vector
data element
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.)
Withdrawn
Application number
JP11375826A
Other languages
English (en)
Inventor
Soumya Jana
ジャナ ソウミャ
Bansaru Pankaji
バンサル パンカジ
Shin Barubindaa
シン バルビンダー
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.)
SILICON AUTOMATION SYSTEMS PVT
SILICON AUTOMATION SYSTEMS PVT Ltd
Original Assignee
SILICON AUTOMATION SYSTEMS PVT
SILICON AUTOMATION SYSTEMS PVT 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 SILICON AUTOMATION SYSTEMS PVT, SILICON AUTOMATION SYSTEMS PVT Ltd filed Critical SILICON AUTOMATION SYSTEMS PVT
Publication of JP2000231513A publication Critical patent/JP2000231513A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】 n次元矩形データアレイのためのメモリアー
キテクチャの汎化フレームワークを提供する。 【解決手段】 本発明の装置は、n次元矩形アレイのデ
ータベクトルのデータエレメントへの並行アクセスを提
供する装置であって、アドレス生成論理モジュールと、
アドレス生成論理モジュールに結合されたパーミュータ
と、パーミュータに結合されて、パーミュータによりs
個のメモリバンクへの並行アクセスを可能にして、アド
レスを受け取って、データベクトルの各データエレメン
トを格納する、s個のメモリバンクとを含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、メモリアーキテク
チャの分野に関し、より詳細には、各次元においてs個
のデータ要素を有するn次元ハイパーマトリックス(矩
形データアレイ)に関する。
【0002】
【従来の技術】n次元矩形データアレイのためのメモリ
アーキテクチャの設計は周知の問題であり、その範囲は
無数のアプリケーションに及ぶ。2次元、3次元矩形デ
ータアレイにおけるパラレルデータアクセスのあるもの
は、信号処理アプリケーションにおいて重要である。特
に、2次元データアクセスのためのメモリアーキテクチ
ャは、ビデオ、画像、およびグラフィックス処理にとっ
て魅力であり、3次元空間へのアクセスは、3次元グラ
フィクスおよびビデオ信号処理にとって魅力である。
【0003】多くの画像およびビデオ処理アルゴリズム
は、二次元データアレイ内のデータ(画像またはビデオ
シーケンスのフレーム)に対して、行方式または列方式
アクセスのいずれかを要する。最も適合するアプリケー
ションは、画像およびビデオに対する損失圧縮アルゴリ
ズムであって、これらは、Discrete Cosi
ne Transform(DCT)およびInver
se Discrete Cosine Transf
orm(IDCT)などの2次元分離可能変換を用い
る。これらの変換は、MPEG(Moving Pic
ture Expert Group)、H.261、
H.263、JPEG(Joint Photogra
phic Expert Group)など、広く普及
しているビデオおよび画像圧縮規格を利用する圧縮技術
の要となる部分である。これらの規格での推奨による
と、各画像またはビデオシーケンスのフレームは、マク
ロブロックに分割され、このマクロブロックが、(8×
8)データアレイのブロックにさらに分割される。エン
コーダ内では、この(8×8)データアレイのブロック
に2D−DCT処理が施され、続いて圧縮を行うための
定量化およびエントロピー符号化が行われる。デコーダ
内では、様々な長さの解読および非定量化処理のあとで
2D−IDCT処理が実行される。2D−DCT(また
は、2D−IDCT)は分離可能変換であって、すべて
の行に1D−DCT(または、1D−IDCT)処理を
施してから、すべての列に1D−DCT(または、1D
−IDCT)処理を施すか、この逆順の処理を施すこと
により計算され得る。
【0004】図1に示すように、第1の1D−(I)D
CT処理12が、8×8ブロック11のすべての行(ま
たは、列)に施され、第2の1D−(I)DCT14
に、列(または、行)方式でデータが供給される。これ
により、メモリ13は、行方式および列方式アクセスの
両方を可能にするメモリ13を必要とする。これは、第
1の1D−(I)DCT処理12の後では、行(列)方
式でデータがメモリに書き込まれるが、第2の1D−
(I)DCT処理14に対しては、列(行)方式でメモ
リからデータが読み出されるからである。4個のデータ
要素をオペランドとして有するSIMDアーキテクチャ
を備えるDSPプロセッサに対しては、各(8×8)ブ
ロックが(4×4)寸法の4つのデータアレイに分割さ
れ得る。この(8×8)ブロックの各行(または、列)
に対しては、2行方式(または、列方式)アクセスが行
われる必要があり、各アクセスが、4個の連続要素をフ
ェッチする。本発明は、この要素を満たすスキームを提
供する。
【0005】同様に、3D−(I)DCTも、1D−D
CTを用いて達成され得るが、この場合、転置メモリ
が、3つの次元すべてにおけるデータに対してパラレル
アクセスを可能にするべきである。本発明は、任意のn
次元におけるデータに対するパラレルアクセスを可能に
するn次元データアレイのためのメモリアーキテクチャ
を記載する。
【0006】行方式および列方式を可能にする2次元メ
モリアーキテクチャの問題は、新しいものではないが、
筆者らの知る限り、より高次元に同様の概念を拡張する
記録は存在しない。2次元マトリックス転置処理を実行
する解決策としては、これまで、いくつかの転置メモリ
が提案されてきた。
【0007】米国特許第5,740,340号において
知られるように、メモリセルは、(s×s)データアレ
イとして編成される。s行およびs列は、2s個のアド
レスによりアドレスされ、この2s個のアドレスの任意
の一つを解読して、このs行のデータおよびs列のデー
タへのアクセスを可能にするデコーダが存在する。この
解決策は、アクセスの時点で任意の行および任意の列が
イネーブルし得る特殊な2Dメモリを必要とするので、
極めて限定的である。さらに、イネーブルされたロケー
ションのすべてが、同時にアクセスされる。従って、デ
ータアレイの一部ではなく、行(または、列)全体でし
かイネーブルされないので、このアーキテクチャの延長
は、小さな(s×s)データサブアレイに区画化される
大きなデータアレイに対しては、非常に複雑になる。こ
の複雑性は、上述の特許開示には記載されていない。さ
らに、このスキームの複雑性は、本発明のs個のバンク
に比べて、s2個のバンクを扱う際、より増大する。ま
た、このスキームは、n次元のデータアレイに汎化する
ことができない。
【0008】米国特許第5,481,487号は、一つ
の(8×8)データアレイを格納するために4パラレル
バンクを要する、別のメモリアーキテクチャを提案して
いると思われる。これは、各バンクは、4クワドラント
のデータアレイの一つを格納し、各クワドラントは、
(4×4)データアレイである。このスキームは、以下
の制約を有すると思われる。 1.4つのバンクすべてにアドレスおよびデータバスが
供給されているが、すべてがパラレルにアクセスされる
わけではない。 2.このメモリアーキテクチャは、転置機能のみを実施
するという点において制約的である。データが行(列)
順序で書き込まれる場合、列(行)順序でしか読み出す
ことができない。 3.このスキームは、一つの(8×8)ブロックのみに
限定され、より大きな2次元データアレイの格納に汎化
できない。 4.このアーキテクチャは、連続(8×8)ブロック
(同一のメモリロケーション)を格納できるが、以下の
制限を有する。第1の(8×8)ブロックが、行方式
(列方式)の順序で書き込まれる場合、第2のブロック
は、列方式(行方式)の順序で書き込まれなければなら
ない。 5.このスキームは、n次元のデータアレイを格納する
ために汎化し得ない。
【0009】米国特許第4,603,348号では、多
次元アレイを格納するためのメモリアーキテクチャが記
載されている。このスキームによると、n次元アレイ
が、重複しない複数の区画に分割される。そのような区
画のそれぞれは、各次元に2つの要素を有するn次元ア
レイとして定義される。提案されているアーキテクチャ
におけるバンクの数は、これらの各区画における要素の
数に等しい。各バンクは、所与の区画からの一つのデー
タ要素を有するので、区画のすべての要素にパラレルア
クセスすることが可能である。このスキームは、n次元
アレイの区画にのみしかアクセスを提供しないと思われ
る。一方、本発明で開示するスキームは、任意の所与次
元におけるデータにアクセスを供給する。
【0010】米国特許第4,740,927号では、二
次元アレイのビットが、供給されるパラレルメモリモジ
ュール(バンク)の数に等しいパーティションセクタに
分割される、ビットアドレス可能メモリが提案されてい
る。各メモリモジュールは、各パーティションセクタに
おけるビット数に等しいアドレスを有する。各パーティ
ションは、複数のs×sマトリックスに分割される。こ
こで、sは、パラレルバンクの数である。これらのマト
リックスのビットの論理的配置は、任意の行または列の
ビットが異なるメモリモジュールに存在するようになっ
ており、行および列においてパラレルアクセスを供給す
る。
【0011】
【発明が解決しようとする課題】しかしながら、本発明
は、さらに簡易なアドレス生成ロジックを有するアーキ
テクチャを提案する。提案されるアーキテクチャの特定
のものは、2進法順列を有するメモリアーキテクチャと
呼ばれ、従来技術で提案されるアドレス生成論理におけ
る加算処理に対して、主動作が論理EXOR処理である
アドレス生成論理を提供する。さらに、上記スキームと
異なり、本願において開示される発明は、より汎用的で
あり、2以上の次元に対しても、同様に有効である。
【0012】本発明は、従来技術の欠点を克服する新規
の解決策を提供する。
【0013】本発明の目的は、n次元矩形データアレイ
のためのメモリアーキテクチャの汎化フレームワークを
提供し、任意のn次元におけるデータへのパラレルアク
セスを可能にすることである。
【0014】
【課題を解決するための手段】本発明の装置は、n次元
矩形アレイのデータベクトルのデータエレメントへの並
行アクセスを提供する装置であって、装置は、メモリに
格納されるデータベクトルの第1のデータエレメントの
インデックスを受け取り、かつ、アクセスの次元を受け
取り、それにより、データベクトルのデータエレメント
を格納するアドレスを生成する、アドレス生成論理モジ
ュールであって、アドレス生成論理モジュールは、デー
タベクトルの各データエレメントが異なるメモリバンク
に格納されることを要求して、n次元矩形アレイのいず
れかの次元に沿った並行アクセスを可能にする、アドレ
ス生成論理モジュールと、アドレス生成論理モジュール
に結合されたパーミュータであって、アドレス情報を受
け取り、かつ、データベクトルの第1のデータエレメン
トのインデックス情報を受け取り、アドレスが発行され
るメモリバンクのバンクナンバを生成することによりア
ドレス上で順列動作を実行し、パーミュータはデータベ
クトルの各データエレメントが異なるメモリバンクに格
納されることを要求して、n次元矩形アレイのいずれか
の次元に沿って並行アクセスを可能にし、さらに、デー
タベクトルの各データエレメントに対応する生成された
アドレス情報およびバンクナンバにおいてデータエレメ
ントを格納する、パーミュータと、s個のメモリバンク
であって、パーミュータに結合されて、パーミュータに
よりs個のメモリバンクへの並行アクセスを可能にし
て、アドレスを受け取って、データベクトルの各データ
エレメントを格納する、s個のメモリバンクであって、
sが第3のベクトル内のデータエレメントの数に等し
い、s個のメモリバンクとを含み、それにより上記目的
が達成される。
【0015】逆パーミュータであって、データベクトル
の第1のデータエレメントのインデックス情報を受け取
り、かつ、読み出し動作の情報を受け取り、逆パーミュ
ータはs個のメモリバンクに結合され、逆パーミュータ
はさらに、アドレス上でパーミュータによって実行され
る順列動作とは逆の順列動作をデータエレメント上で実
行して、データベクトルのデータエレメントが取り出さ
れるバンクナンバを生成する、逆パーミュータをさらに
含んでもよい。
【0016】逆パーミュータは書き込み動作についての
情報を受け取り、かつ、結合されて、アドレス上でパー
ミュータによって実行される順列動作と同じ順列動作を
実行することに応答してs個のメモリバンクにデータを
格納して、データベクトルのデータエレメントが格納さ
れるバンクナンバを生成してもよい。
【0017】アドレス生成論理およびパーミュータが、
単一のモジュールに一体化されてもよい。
【0018】アドレス生成論理が、データベクトルの各
データエレメントをメモリに格納するアドレスを生成
し、かつ、パーミュータが、データベクトルの各データ
エレメントをメモリバンクに格納する、生成されたアド
レスについてのメモリバンクナンバを生成してもよい。
【0019】アドレス生成論理が、メモリからデータベ
クトルの各データエレメントを取り出すアドレスを生成
し、かつ、パーミュータが、メモリバンクからデータベ
クトルの各データエレメントを取り出す、生成されたア
ドレスについてのメモリバンクナンバを生成してもよ
い。
【0020】逆パーミュータが、データベクトルの各デ
ータエレメントについてのメモリバンクナンバを生成し
て、メモリバンクからデータを取り出した後に、データ
エレメントのシャッフリングを達成してもよい。
【0021】逆パーミュータが、データベクトルの各デ
ータエレメントについてのメモリバンクナンバを生成し
て、データをメモリバンクに送信する前に、データエレ
メントのシャッフリングを達成してもよい。
【0022】パーミュータおよび逆パーミュータが、循
環回転を実行してもよい。
【0023】(s,n)ハイパーマトリクスについて、
[an-1,an-2,...,a0]がデータベクトルの第
1のデータエレメントのインデックスであり、nがデー
タアレイの次元であり、sがデータベクトル内のデータ
エレメントの数である場合、パーミュータおよび逆パー
ミュータによって実行される循環回転が
【0024】
【数12】
【0025】によって与えられてもよい。
【0026】(s,n)ハイパーマトリクス内のインデ
ックス[an-1,an-2,...,a 0]におけるデータ
について、アドレス論理生成器が
【0027】
【数13】
【0028】に応答してアドレスを生成してもよい。
【0029】(m,n)ハイパーマトリクスについて、
パーミュータおよび逆パーミュータによって実行される
循環回転が、2つの隣接する(s,n)ハイパーマトリ
クスに亘り得る任意のデータベクトルの全s個のデータ
エレメントへの並行アクセスを可能にし、[an-1,a
n-2,...,a0]がデータベクトルの第1のデータエ
レメントのインデックスであり、jがアクセスの次元で
あり、nがデータアレイの次元であり、sがデータベク
トル内のデータエレメントの数であり、m=stであ
り、tを整数とする場合、パーミュータについてのパラ
メータが
【0030】
【数14】
【0031】によって与えられ、逆パーミュータについ
てのパラメータが
【0032】
【数15】
【0033】によって与えられてもよい。
【0034】アドレス論理生成器が、k=0,...,
(s−1)、ai”=(ai mods)、ai’=(ai
−ai”)とするときの、
【0035】
【数16】
【0036】に応答してアドレスを生成してもよい。
【0037】パーミュータおよび逆パーミュータが、2
進法順列を実行してもよい。
【0038】パーミュータおよび逆パーミュータは、
【0039】
【数17】
【0040】がビットのEXORを意味し、[an-1
n-2,...,a0]がデータベクトルの第1のデータ
エレメントのインデックスであり、nがデータアレイの
次元であるときの、
【0041】
【数18】
【0042】に応答して2進法順列を実行してもよい。
【0043】アドレス生成論理が、
【0044】
【数19】
【0045】に応答してアドレスを生成してもよい。
【0046】(m,n)ハイパーマトリクスについて、
パーミュータによって実行される順列が2進法順列であ
り、逆パーミュータによって実行される順列が2進法順
列および循環順列の組合せであり、このことが、2つの
隣接する(s,n)ハイパーマトリクスに亘り得る任意
のデータベクトルの全s個のデータエレメントへの並行
アクセスを可能にし、
【0047】
【数20】
【0048】がビットのEXORを行うことを意味し、
[an-1,an-2,...,a0]がデータベクトルの第
1のデータエレメントのインデックスであり、jがアク
セスの次元であり、nがデータアレイの次元であり、s
がデータベクトル内のデータエレメントの数であり、m
=stであり、tを整数とするとき、パーミュータおよ
び逆パーミュータ内での2進法順列についてのパラメー
タが
【0049】
【数21】
【0050】によって与えられ、循環順列についてのパ
ラメータがaj mod sによって与えらてもよい。
【0051】アドレス論理生成器は、k=0,...,
(s−1)、ai”=(ai mods)、ai’=(ai
−ai”)とするときの、
【0052】
【数22】
【0053】に応答してアドレスを生成してもよい。
【0054】本発明の方法は、2次元矩形アレイのデー
タベクトルのデータエレメントへの並行アクセスを提供
する方法であって、方法は、メモリバンクに格納される
データベクトルの第1のデータエレメントのインデック
ス、アクセスの方向、および格納されるデータベクトル
を受け取るステップと、データエレメントを格納するア
ドレスを生成するステップであって、データベクトルの
各データエレメントが異なるアドレスに格納されて、並
行アクセスを可能にする、ステップと、データエレメン
トが格納されるメモリバンクのバンクナンバを生成する
ステップであって、データベクトルの各データエレメン
トが異なるメモリバンクに格納されて、並行アクセスを
可能にする、ステップと、データエレメントに対応する
生成されたアドレス情報およびバンクナンバに全てのデ
ータエレメントを格納するステップとを含み、それによ
り上記目的が達成される。
【0055】本発明の方法は、2次元矩形アレイのデー
タベクトルのデータエレメントへの並行アクセスを提供
する方法であって、方法は、メモリバンクから取り出さ
れるデータベクトルの第1のデータエレメントのインデ
ックスおよびアクセスの方向を受け取るステップと、デ
ータエレメントが取り出されるアドレスを生成するステ
ップであって、データベクトルの各データエレメントが
異なるアドレスに格納されて、並行アクセスを可能にす
る、ステップと、データエレメントが取り出されるメモ
リバンクのバンクナンバを生成するステップであって、
データベクトルの各データエレメントが異なるメモリバ
ンクに格納されて、並行アクセスを可能にする、ステッ
プと、生成されたアドレス情報およびバンクナンバの全
てのデータエレメントを取り出して、所望のデータベク
トルを得るステップとを含み、それにより上記目的が達
成される。
【0056】本発明の目的は、n次元矩形データアレイ
のためのメモリアーキテクチャの汎化フレームワークを
提供し、任意のn次元におけるデータへのパラレルアク
セスを可能にすることである。本発明のメモリアーキテ
クチャは、従来技術に記載されたアーキテクチャに比し
て、汎用的であり、複雑ではない。また、本発明は、2
次元転置メモリに対する従来技術の欠点を克服してい
る。本発明の目的は、データアレイの要素を再配置する
(順列換えする)簡単且つ効率的な方法を適用しなが
ら、メモリに対してデータを読み出し/書き込みするこ
とにより達成される。この再配置は、本発明固有の特徴
である。以下、本発明の簡単な説明である。
【0057】提案されるメモリアーキテクチャは、各次
元がs個のデータ要素を有する、n次元データアレイの
任意の所与次元におけるs個のデータ要素に対するパラ
レルアクセスを可能にする(2次元の(s×s)データ
アレイにおいては、本発明のメモリアーキテクチャが、
このデータアレイの任意の行または列におけるすべての
s個の要素に対するパラレルアクセスを可能にすること
を意味する)。s個のデータアレイにパラレルアクセス
するためには、s個のパラレルメモリバンクが存在しな
ければならないのは明らかである。このアレイのデータ
は、データのベクトルのすべてのs個のデータ要素で、
任意のn次元にパラレルなものが異なるバンクに存在す
るような様態において格納される。 1.より詳細には、本スキームは、各次元においてs個
のデータ要素を備える、n次元データアレイの任意の所
与次元における、s個のデータ要素に対するパラレルア
クセスを可能にする。例えば、n=s=3の場合に関
し、図2のサブアレイ21を参照されたい。 2.本スキームのハードウェアの複雑性は、従来提案さ
れた同様の解決策よりも低い。複雑性の低減は、メモリ
に対して読み出し/書き込みされるデータにおける所定
の型の再配置により達成される。この所定の特徴は、本
スキームを、所与の問題に対する他の解決策とは異なっ
たものにしている。 3.従来技術において提案されたスキームと異なり、本
発明に記載されるスキームは、2次元データアレイのみ
に限定されない。本スキームは、n次元矩形データアレ
イに対し汎用的である。 4.他の同様の解決策と異なり、本スキームは、各次元
においてm個(m=st。ここで、tは1より大きい)
のデータ要素を有する、より大きなn次元データアレイ
を包含するよう拡張し得る。m個のデータ要素は、各次
元においてs個の要素を有するn次元矩形データサブア
レイへ分割され得る。 n=s=3、およびm=6の場
合に関し、図2を参照されたい。 5.さらに、多少の複雑さを犠牲にすれば、本発明のス
キームは、s個のデータ要素にパラレルにアクセスする
ように汎用化し得る。より正確には、s個のデータ要素
へのアクセスは、一つのサブアレイの境界から開始する
必要はなく、従って、隣接するn次元サブアレイに延長
し得る(図2のサブアレイ22、23、および24を参
照されたい)。 6.本発明において、アドレス生成ロジックの複雑性
は、パラメータsが2の整数の累乗である場合に、大幅
に低減される。 7.本スキームは、アドレスがシリアルで生成される場
合、データにシリアルアクセスするためにも用い得る。
【0058】
【発明の実施の形態】本発明は、n次元矩形データアレ
イに対するメモリアーキテクチャのための一般化された
フレームワークを与えるものである。これにより、n次
元の任意の次元に沿ってデータに並列アクセスすること
が可能になる。本発明の基礎となる概念を、本スキーム
のすべての可能な変形例を含む1クラスのアーキテクチ
ャを定義することを目的として、包括的な意味合いにお
いて、まず説明する。その後、特定の場合について実施
例を用いて1つのスキームを説明する。このスキームは
明らかに、この場合の変形例のクラスにおいて最も複雑
性が小さいものである。話しを進める前に、本明細書が
より理解しやすくなるように以下の3つの定義を与え
る。
【0059】1.1定義 1.n次元ハイパーマトリックス:これはn次元方形デ
ータアレイである。n次元ハイパーマトリックス中のデ
ータ要素の任意の位置は、インデックス[an- 1
n-2,...,aj,...,a0]によって与えられ
る。ここで、ajは、次元jのインデックスである。デ
ータアレイは、各位置に格納された1つだけデータ値を
有する。
【0060】2.p有界n次元ハイパーマトリックス
これは、各次元に沿ってpデータ要素を有するn次元ハ
イパーマトリックスである(すなわち、ai∈{0,
1,...,p−1})。例えば、p有界2次元ハイパ
ーマトリックスは、(p×p)マトリックスである。p
有界n次元ハイパーマトリックスを表現するために
(p,n)ハイパーマトリックスという表記を使用す
る。本明細暑中では、(m,n)ハイパーマトリックス
は、m=st(tは、1より大きい整数である)であ
り、tn個のより小さい(s,n)ハイパーマトリック
スに分割され得る。(m,n)ハイパーマトリックスに
おける各(s,n)ハイパーマトリックスの開始インデ
ックスは、n次元の各々にそったsの整数倍である。
【0061】3.データベクトル:(m,n)ハイパー
マトリックス中のデータベクトルは、任意の与えられた
次元に沿ってハイパーマトリックス中のsデータ列であ
る。これは、ハイパーマトリックス中の開始位置のイン
デックスおよび要素が沿って位置する次元によって定義
される。次元jに沿うデータベクトルは、インデックス
[an-1,an-2,...,aj=d,...,a0]から
始まり、[an-1,an -2,...,aj=d,...,
0]、[an-1,an-2,...,aj=(d+
1),...,a0]、...、[an-1
n-2,...,aj=(d+s−1),...,a0
によって与えられるインデックスで示されるデータ列が
続く。ここで、0<=d<=m−sである。(s,n)
ハイパーマトリックス中の次元jに沿ったデータベクト
ルについて、開始位置におけるインデックスajは0で
あり得る。 1.2 基礎となる概念の理論 本発明は、データベクトルのすべてのsデータ要素に並
列アクセスを可能にするために、(s,n)ハイパーマ
トリックスのすべてのデータ要素を格納するためのs並
列バンクを有するメモリアーキテクチャを説明する。s
データ要素が並列にアクセスされるので、本発明におい
て使用されるバンクの総数は、実際のところ最小限であ
る。(s,n)ハイパーマトリックスのデータは、メモ
リのs並列バンク中に格納される前に再配置される。デ
ータの再配置は、この(s,n)ハイパーマトリックス
における任意のデータベクトルのs要素すべてが異なる
バンク中に格納されることを確実にするようになされ
る。
【0062】2つの関数、gおよびfは、上記の再配置
を定義する。これらの関数は、引数としてデータ要素の
インデックスをとる。(s,n)ハイパーマトリックス
中のインデックス[an-1,an-2,...,a0]のデ
ータ要素は、バンク番号f(an-1,an-2,...,a
0)中のアドレスg(an-1,an-2,...,a0)にマ
ップされる。
【0063】式1: g,f:[an-1,an-2,...,a0]→(addr
ess=g(an-1,an- 2,...,a0),bank
_number=g(an-1,an-2,...,a0)) 関数fおよびgは、任意のデータベクトルのすべての要
素に並列アクセスを確実にするために以下の条件を満足
しなければならない。
【0064】条件1:g(an-1,an-2,...,
0)∈{0,1,...,sn-1−1}およびf(a
n-1,an-2,...,a0)∈{0,1,...,s−
1}条件2 :関数f(an-1,an-2,...,a0)は、任
意の値のjに対し、f(an-1,an-2,...,aj
p,...,a0)とf(an-1,an-2,...,aj
q,...,a0)は、p=qの場合のみ等しい。この
条件は、任意のデータベクトルのs要素のすべてが異な
るメモリバンクにマップされることを確実にする。
【0065】条件3:さらに、gおよびfは、上記マッ
ピングが1対1であるべきである。これは、対(g(a
n-1,an-2,...,a0),f(an-1
n-2,...,a0))が、任意に与えられたインデッ
クス[an-1,an-2,...,a0]に対して一意であ
り得ることを意味する。この条件は、ハイパーマトリッ
クスの2つのデータが同一のバンク中で同一のアドレス
に格納されないことを確実にする。
【0066】任意の値のnおよびsに対して((s,
n)ハイパーマトリックス中で)、多くのこのような再
配置が可能である。言い換えると、与えられた値nおよ
びsに対して1つより多い異なる関数対(g,f)が存
在する。
【0067】本発明のスキームは、(s,n)ハイパー
マトリックスに分割されると仮定される(m,n)ハイ
パーマトリックスに容易に一般化され得る(図2の例を
参照のこと)。(m,n)ハイパーマトリックス中の異
なる(s,n)ハイパーマトリックスは、s並列バンク
中に線形にマップされる。各(s,n)ハイパーマトリ
ックスに対して、データは、メモリに格納される前に再
配置される。この意味合いにおいて、少なくとも2つの
変形例が可能である。 1.アクセスされるデータベクトルのsデータ要素のす
べてが、与えられた(s,n)ハイパーマトリックス内
に位置する。 2.アクセスされるべきデータベクトルのsデータ要素
のすべてが、2つの隣り合う(s,n)ハイパーマトリ
ックスをまたがり得る。
【0068】1.3 基本メモリアーキテクチャの説明 (m,n)ハイパーマトリックスについて提案されるメ
モリの基本アーキテクチャは、図3に示す。ここで、m
=stであり、tは整数である。任意のデータベクトル
のsデータ要素をメモリバンクに格納するために、n次
元開始インデックス、データが沿って格納されるべき次
元、およびsデータ要素が、このアーキテクチャに与え
られる。sデータ要素を並列に読み出すために、n次元
開始インデックスおよびアクセスの次元が、メモリアー
キテクチャに与えられる。これらに基づき、sバンク3
4すべてのアドレスが、アドレス生成論理31によって
計算され、順列論理32によって順列(再配置)が実行
された後にバンク34に発行される。順列論理32は、
要求された位置だけが各バンクにおいてアクセスされる
ことを確実にする。メモリから読み出される(に書き込
まれる)データのための逆順列論理33は、アドレスに
対する順列論理32の逆(同じ)である。アドレス生成
論理31および順列論理32は、別々のブロックとして
表されるが、1つのブロックに合併することもできる。
【0069】上記のように、与えられた値のnおよびs
について((s,n)ハイパーマトリックスにおい
て)、多くのこのような再配置が可能である。関数gお
よびfによって定義されるアドレス生成論理31は、各
再配置ごとに異なる。したがって、図3において説明さ
れるアーキテクチャ中のアドレス生成論理31および順
列32の複雑性は、異なる再配置に対してまた異なり得
る。すべての可能な再配置のうち、より簡単でより規則
正しいハードウェアとなるようなものが好ましい。与え
られた値のnおよびsについての他のすべての可能な再
配置は、異なるアーキテクチャによって実現されると考
えられるが、概念的には本発明において議論されるもの
と同じである。このような再配置の1つのクラスは、任
意の1つの次元に沿った順列である。本明細書の残りの
部分においては、一般性を失うことなしに、0番目の次
元に沿った順列を取り挙げるする。この場合について
も、順列およびアドレス生成論理が与えられる。
【0070】1.1 0番目次元に沿った順列 (s,n)ハイパーマトリックスにおいて、0番目次元
に沿ってsn-1データベクトルがある。これらのデータ
ベクトルに対する開始インデックスが、[an- 1
n-2,...,a1,0]によって与えられる。この場
合、任意のこのようなデータベクトルのs要素が、同じ
メモリアドレスだが異なるバンク中に格納される。任意
のこのような与えられたデータベクトルの要素について
のバンク番号は、上記の条件を満足する関数fを使用す
ることによって得られる。この再配置の利点は、データ
ベクトルの要素のバンク中のアドレスへのマッピング
(関数g)が、関数fに独立となることである。アドレ
ス関数g(an-1,an-2,...,a1,a0)は、関数
gについての条件1を明らかに満足する
【0071】
【数23】
【0072】をとる。但し、これらのデータベクトルの
すべての要素についてアドレスが同じであるので、a0
は、バンク34についてのアドレスの計算に関与しな
い。a0は、任意のそのようなデータベクトルのすべて
の要素に対して異なるので、関数fは、これらの要素が
実際に異なるバンク中に格納されることを確実にする。
このように条件3はまた、満足される。
【0073】この場合について図3のメモリアーキテク
チャを参照すると、(s,n)ハイパーマトリックス中
のインデックス[an-1,an-2,...,a0]のデー
タは、f(an-1,an-2,...,a0)によって与え
られるバンク番号におけるアドレスg(an-1
n-2,...,a1,a0
【0074】
【数24】
【0075】に格納される。ここで、j番目次元に沿
い、インデックス[an-1,an-2,...,aj
0,...,a0]から開始するデータベクトルにアク
セスするために、アドレス生成論理31は、アドレス
【0076】
【数25】
【0077】を生成する。順列論理32は、関数fを使
用してこれらのアドレスを順列、バンクf(an-1,a
n-2,...,aj=0,...,a0)、f(an-1,a
n-2,...,aj=1,...,a0)、...、f
(an-1,an-2,...,aj=s−1,...,a0
のそれぞれに送信する。読み出しベクトルは、逆順列論
理33において逆順列を行った後に得られる。
【0078】順列関数fが定義されると、メモリアーキ
テクチャの記述が完成する。任意の与えられた次元に沿
った順列に対応するすべての再配置のうち、2進法順列
(dyadic permutation)によって得
られるものは、2の整数乗であるsの値に対して最も複
雑性が小さい。任意の一般的な値のsについて、循環順
列(circular permutation)が使
用され得る。これらの2つの順列を用いて、以下の3つ
のシナリオについての概念を説明する。
【0079】ケースA このメモリアーキテクチャは、
任意のデータベクトルのすべての要素への並列アクセス
を可能にする(s,n)ハイパーマトリックスのためも
のである。
【0080】ケースB このメモリアーキテクチャは、
(s,n)ハイパーマトリックスに分割される(m,
n)ハイパーマトリックスのためのものである。このメ
モリアーキテクチャは、1つの(s,n)ハイパーマト
リックス内に位置する任意のデータベクトルのすべての
要素への並列アクセスを可能にする。
【0081】ケースC このメモリアーキテクチャは、
(s,n)ハイパーマトリックスに分割される(m,
n)ハイパーマトリックスのためのものである。このメ
モリアーキテクチャは、2つの隣り合う(s,n)ハイ
パーマトリックスをまたがる任意のデータベクトルのs
要素のすべてへの並列アクセスを可能にする。なお、ケ
ースBはケースCの特別のケースである。
【0082】1.4.1 円回転順列のメモリアーキテ
クチャ 円回転に対応する順列関数は、以下に与えられる。この
関数が条件1および3を満足することは、mod sの
加算の性質から明らかである。
【0083】式2: f(an-1,an-2,...,a0)=(an-1+a
n-2+...+a0)mod sケースA この順列関数について、(s,n)ハイパー
マトリックス中のインデックス[an-1
n-2,...,a0]のデータは、
【0084】
【数26】
【0085】によって与えられるバンク番号におけるア
ドレス
【0086】
【数27】
【0087】に格納される(図4参照)。より詳細に
は、[an-1,an-2,...,aj=0,...,a0
の開始インデックス41からj番目次元42に沿って並
列的な方法でsデータ要素のすべてにアクセスするため
に、sアドレス47は、
【0088】
【数28】
【0089】である。ここで、s-1は、0として扱われ
るべきである。アドレスのための順列論理44は、
【0090】
【数29】
【0091】によって反時計回り円回転である。逆順列
論理45における円回転の方向は、データをメモリに格
納するためには反時計回りであり、他方データをメモリ
から読み出すためには逆向き(時計回り)である。デー
タ読み出し/書き込み動作のための逆順列論理45にお
ける回転シフト量は、アドレスに対する量と同じままで
ある。
【0092】ケースC:この一般化(m=stかつ次元
iに沿った指数がai's(0<=i<n;0<=ai
m)のとき、(m,n)ハイパーマトリックスである)
のための基本的アーキテクチャ(図5に示す)は、ケー
スAと同じままであるが、アドレス発生論理およびアド
レスバスの幅が変化する。インデックスaiの所定の値
として、ai"=(aimod s)かつai'=(ai
i”)とする。j次元52に沿ってアクセスされるs
個の連続したデータ要素を、インデックス[an-1,
n-2,...aj,...a0]51から始め、
【0093】
【数30】
【0094】により表わされるk次アクセス要素のイン
デックスとする。
【0095】n次元のインデックスにおけるインデック
【0096】
【数31】
【0097】のみアクセスされる全てのs個のデータ要
素は異なり、その他は同じままである。インデックス
【0098】
【数32】
【0099】は、aj+kに等しい。従って、アドレス
発生論理53によりメモリバンク56用に発生するs個
のアドレスは、k=0,...,(s−1)のとき、
【0100】
【数33】
【0101】により求められる。アドレス用順列論理5
4は、
【0102】
【数34】
【0103】による左回り循環回転である。逆順列論理
55における循環回転の方向は、メモリ内にデータを格
納するためには左回りであるが、メモリからデータを読
み出すためにはその逆(右回り)である。逆順列論理5
5におけるデータ読み出し/書き込み演算のための回転
遷移の量は、
【0104】
【数35】
【0105】により求められる。
【0106】ケースB:これは、ケースCの特定の例で
ある。このケースにおいて、必要とされるデータベクト
ル内の第1データのn次元のインデックスにおけるイン
デックスajは、aj”=0のようになる。
【0107】
【数36】
【0108】は、s個の連続したデータにおける(aj
+k)に等しくなる。従って、アドレス計算
【0109】
【数37】
【0110】の条件は、b+ksj-1に簡略化され得、
ここで
【0111】
【数38】
【0112】である。また、s-1は0とされる。
【0113】1.4.2 2進法の順列下のメモリアーキ
テクチャ(s=2Xのとき) 多数の信号処理アプリケーションにおいて、2の整数乗
としてのsを備えたn次元のメモリアーキテクチャは、
非常に重要なものである。サブセクション1.4.1で述
べた全てのアーキテクチャを実現するためのハードウェ
アの複雑性は、sが2の1乗である場合に顕著に低減さ
れる。この利点は、タイプaii-1の全ての条件の計算
が(i−1).xビットによるaiの左遷移に等しく、
(mods)演算が(s−1)の論理AND演算に等し
いという事実から明らかである。さらに、2進法(dy
adic)順列関数は、非常により単純な順列論理を与
える。この順列関数のもう一つの利点は、順列論理が逆
順列論理に変わるということである。この順列関数が条
件1および3を満たすことは容易にわかる。
【0114】式3は、
【0115】
【数39】
【0116】であり、ここで
【0117】
【数40】
【0118】は、ビット的なEXOR(bit−wis
e EXORing)を表す。
【0119】ケースA:上記の2進法順列関数におい
て、ハイパーマトリックスにおけるインデックス
[an-1,an-2,...,a0]でのデータは、
【0120】
【数41】
【0121】により与えられるバンク番号内のアドレス
【0122】
【数42】
【0123】に格納される。より正確には、j次元62
に平行であり、インデックス[an-1,an-2,...,a
j=0,...,a1,a0]61から始まるデータベクト
ルのs個のデータ要素全てにアクセスするために、s個
のアドレス66は、
【0124】
【数43】
【0125】である。ここで、s-1は0とされるべきで
ある。推薦されるメモリアーキテクチャを図6に示す。
【0126】演算
【0127】
【数44】
【0128】は、an-1,an-2,...,a1のバイナリ
値を結合したものに等しく、単一のx(n−1)ビット
アドレスを形成する。s個の連続したアドレスは、x
(n−1)ビットアドレスにおけるajに対応するビッ
ト位置において、スタッフィング値0,1,...,
(s−1)により発生する。逆順列論理64は、k次ア
ドレスをメモリバンク
【0129】
【数45】
【0130】へ発行することに等しい。図6において、
bは
【0131】
【数46】
【0132】に等しい。アドレス発生論理および順列論
理モジュールが、単一のモジュール63に一体化され得
ることは容易にわかる。
【0133】ケースB:m=2x+yである(m,n)ハ
イパーマトリックスを除算して(s,n)ハイパーマト
リックスとする。これら(s,n)ハイパーマトリック
スは、メモリ空間に一直線にマップされる。しかし、ハ
イパーマトリックス内にあるデータへアクセスするアー
キテクチャは、同じままである。従って、s個の平行デ
ータがインデックス[an-1,an-2,...,
j,...,a1]71から始まるj次元72に平行な
方向に沿ってアクセスされるならば、指数aiの上方y
ビットは(s,n)ハイパーマトリックスのアドレス7
4を得、指数aiの下方xビットは、(s,n)ハイパ
ーマトリックス内にあるデータのためのアドレス75を
与える。さらには、ajの下方xビットは、データが
(s,n)ハイパーマトリックスの境界からアクセスさ
れるときに0となる。ここで、aiは(x+y)ビット
幅である。図7に示すアーキテクチャにおいて、a’i
およびa”iは、aiの上方yビットおよび下方xビット
を意味する。ynビット74は、a’iを結合して得ら
れ、各バンク77用のアドレスの上方ビットを与える
が、下方xビットは、ケースAにおいて述べた方法で
a”iを用いて得られる。ここで、bは
【0134】
【数47】
【0135】に等しい。
【0136】ケースC:このケースにおいては、データ
ベクトルにおける第1のデータのインデックスは、
(s,n)ハイパーマトリックスの境界上にはないデー
タ要素から始まり得る。アクセスされる第1のデータ
が、任意の(s,n)ハイパーマトリックスの境界から
lデータ要素だけ離れているならば(すなわち、l=
a”j)、まず(s−l)データ要素は同じ(s,n)
ハイパーマトリックスに属し、次にl要素がj次元に沿
った近位の(s,n)ハイパーマトリックスに属する。
より正確には、上方yビットは、まず(s−l)データ
用のa’j、そして次のlデータ用に(a’j+1)とな
る。lが0に等しいならば、a’jは全バンク88用の
アドレス84および85の上方ynビットを計算するた
めに用いられる。さらに、データの順列はまた、l87
による循環回転に関与する。書き込み演算において、循
環回転は左回り方向であるが、データ読み出し演算とし
ては右回り方向である(図8参照)。
【0137】1.5 s=4である単一2次元データア
レイの実施例 本実施例は、2次元(4×4)マトリックス91用に上
述のスキームを示す。データ要素のためのマトリックス
91とメモリバンク92との相関関係を、2進法順列の
ケースとして図9に示す。示される再構成から、同じ行
(または列)にあるマトリックス91の要素が複数の異
なるバンク92に格納されることは明らかである。この
メモリバンク92へのアクセス方法は、2つの工程、つ
まり 1.各バンクにおいてアドレスを計算する工程と、 2.4つのバンクから読み出した後(書き込む前)に4
要素を再整列する工程と、を含む。
【0138】以下の表は、a次行(または列)内のi次
データ要素があるバンク番号を示す。これは、メモリバ
ンクからの読み出し、またはメモリバンクへの書き込み
のためにデータ要素を再整列するために用いられ得る。 表1:a次行または列におけるi次データ要素のための
バンク番号
【0139】
【表1】
【0140】列的アクセスにおいて、メモリから読み出
される(または書き込まれる)列内のデータ要素全ての
ための2ビットアドレスが、インデックスiと同じであ
ることは明らかである。一方、行的なアドレスへのアク
セスは、データ要素の行番号aと同じである。
【0141】2 発明の他の実施の形態 以下は、本発明の他の実施の形態である。 1.スキームは、2つの再構成のみにおいて説明されて
きたが、先行セクションで述べた範囲内での他のすべて
の再構成は、同じスキームの他の代替的な実現につなが
る。 2.任意のアプリケーションが特定の次元においてのみ
に沿ってアクセスを要求する場合、提案されたスキーム
の小さな変化がハードウェアの複雑性における顕著な削
減につながる。 3.セクション0において述べたケースBおよびCにお
いて、各次元に沿った要素の数は、より大きなハイパー
マトリックスのために同じである必要はない。すなわ
ち、mの値は各次元において異なり得る。この代替的実
現において、任意の(s,n)ハイパーマトリックスに
アクセスするためのアドレス計算のみが変化し、(s,
n)ハイパーマトリックス内における要素データベクト
ルのためのアドレスを計算する論理は、同じままであ
る。 4.スキームは平行のアクセス用に説明されてきたが、
連続状態のデータにアクセスするためにもまた用いられ
得る。このことは、s個データ要素に対応しているアド
レス全てを連続して発行することにより達成され得る。
連続的アクセスの制約が与えられると、アーキテクチャ
におけるいくつかの小さな変更が、ハードウェアの複雑
性の低減につながる。
【0142】本発明によれば、n次元データアレイのい
ずれかの次元に沿って並行アクセスを可能にするメモリ
アーキテクチャが提供される。いずれかの次元に沿って
s個のデータエレメントの並行アクセスを可能にするた
めに、いずれかの次元に沿った連続するs個のデータエ
レメントが異なるメモリバンクにマッピングされるよう
に、n次元のデータアレイのデータエレメントがs個の
並行メモリバンクにマッピングされる。このマッピング
は2つの機能によって規定される。これらの機能が、n
次元データアレイ内の各データエレメントについてメモ
リバンクナンバおよびメモリバンク内のロケーションを
規定する。並行データアクセスを可能にするために、マ
ッピング機能が満たす必要のある必要十分条件が説明さ
れる。全ての(n,s)の組合せについて、これらの一
般的な関数ペアが説明される。マッピングの2つの特定
的な例、つまり、第0次元に沿った循環順列(回転)お
よび第0次元に沿った2進法順列を詳細に説明した。第
0次元に沿った2進法順列として規定されたマッピング
は、sの値についてのみ保持する。sは2の整数乗であ
る。循環回転として規定されたマッピングは、sの任意
の整数値について保持する。これらのマッピングについ
て、基本アーキテクチャおよびその範囲について説明さ
れる。各次元に沿ってs個のデータエレメントのみを有
するn次元データアレイについてのものであり、それに
対して、範囲は、mがsの整数倍であるという制約下
で、各次元に沿ってm個のデータエレメントを有するデ
ータアレイについてのものである。
【0143】
【発明の効果】本発明によれば、簡易なアドレス生成ロ
ジックを有するアーキテクチャが提供され、n次元矩形
データアレイのためのメモリアーキテクチャの汎化フレ
ームワークを提供されることにより、任意のn次元にお
けるデータへのパラレルアクセスが可能になる。
【図面の簡単な説明】
【図1】8ポイント1D−(I)DCTを用いた8×8
2D−(I)DCTの実施形態を示す図である。
【図2】3次元データアレイにおける3個のデータ要素
(即ち、s=3)へのパラレルアクセスを可能にするよ
う提案されるメモリアーキテクチャにおける可能なアク
セスを示す図である。
【図3】各次元にm個のデータ要素を有するn次元矩形
データアレイのための基本メモリアーキテクチャを示す
図である。
【図4】循環回転順列におけるケースAのためのメモリ
アーキテクチャを示す図である。
【図5】循環回転順列におけるケースCのためのメモリ
アーキテクチャを示す図である。
【図6】2進法順列におけるケースAのためのメモリア
ーキテクチャを示す図である。
【図7】2進法順列におけるケースBのためのメモリア
ーキテクチャを示す図である。
【図8】2進法順列におけるケースCのためのメモリア
ーキテクチャを示す図である。
【図9】4×4マトリックスにおけるインデックスとメ
モリバンクにおけるロケーションとの間の対応を示す図
である。
【符号の説明】
31、43、53 アドレス生成論理 32 順列論理 33 逆順列論理 46、56、65、77、88、92 バンク
───────────────────────────────────────────────────── フロントページの続き (71)出願人 500010886 3008 12th “B” Main, 8t h Cross, Hal 2nd St age, Indiranagar, B angalore, 560 008 Indi a (72)発明者 ソウミャ ジャナ インド国 700094, カルカッタ, バグ ハジャティン パーク, ティーチャーズ エイチエスジー エステート, ウッタ ラン (番地なし), ドクター ディ ー. ジャナ気付 (72)発明者 パンカジ バンサル インド国 281001, ユーピー, マス ラ, ダンピア ナガー, 2093/11 (72)発明者 バルビンダー シン インド国 247667, ユーピー, ロール キー, ユニバーシティ オブ ロールキ ー, サラスワティ クン, 206/1

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 n次元矩形アレイのデータベクトルのデ
    ータエレメントへの並行アクセスを提供する装置であっ
    て、該装置は、 メモリに格納されるデータベクトルの第1のデータエレ
    メントのインデックスを受け取り、かつ、アクセスの次
    元を受け取り、それにより、該データベクトルの該デー
    タエレメントを格納するアドレスを生成する、アドレス
    生成論理モジュールであって、該アドレス生成論理モジ
    ュールは、データベクトルの各データエレメントが異な
    るメモリバンクに格納されることを要求して、n次元矩
    形アレイのいずれかの次元に沿った並行アクセスを可能
    にする、アドレス生成論理モジュールと、 該アドレス生成論理モジュールに結合されたパーミュー
    タであって、該アドレス情報を受け取り、かつ、該デー
    タベクトルの第1のデータエレメントの該インデックス
    情報を受け取り、該アドレスが発行されるメモリバンク
    のバンクナンバを生成することにより該アドレス上で順
    列動作を実行し、該パーミュータはデータベクトルの各
    データエレメントが異なるメモリバンクに格納されるこ
    とを要求して、n次元矩形アレイのいずれかの次元に沿
    って並行アクセスを可能にし、さらに、該データベクト
    ルの該各データエレメントに対応する該生成されたアド
    レス情報およびバンクナンバにおいてデータエレメント
    を格納する、パーミュータと、 s個のメモリバンクであって、該パーミュータに結合さ
    れて、該パーミュータにより該s個のメモリバンクへの
    並行アクセスを可能にして、アドレスを受け取って、該
    データベクトルの各データエレメントを格納する、s個
    のメモリバンクであって、sが第3のベクトル内のデー
    タエレメントの数に等しい、s個のメモリバンクと、を
    含む装置。
  2. 【請求項2】 逆パーミュータであって、データベクト
    ルの前記第1のデータエレメントの該インデックス情報
    を受け取り、かつ、読み出し動作の該情報を受け取り、
    該逆パーミュータは前記s個のメモリバンクに結合さ
    れ、該逆パーミュータはさらに、前記アドレス上で前記
    パーミュータによって実行される前記順列動作とは逆の
    順列動作をデータエレメント上で実行して、該データベ
    クトルの該データエレメントが取り出される前記バンク
    ナンバを生成する、逆パーミュータをさらに含む請求項
    1に記載の装置。
  3. 【請求項3】 前記逆パーミュータは書き込み動作につ
    いての情報を受け取り、かつ、結合されて、前記アドレ
    ス上で該パーミュータによって実行される前記順列動作
    と同じ順列動作を実行することに応答して前記s個のメ
    モリバンクにデータを格納して、前記データベクトルの
    前記データエレメントが格納される前記バンクナンバを
    生成する、請求項2に記載の装置。
  4. 【請求項4】 前記アドレス生成論理および前記パーミ
    ュータが、単一のモジュールに一体化される、請求項1
    に記載の装置。
  5. 【請求項5】 前記アドレス生成論理が、データベクト
    ルの各データエレメントをメモリに格納するアドレスを
    生成し、かつ、前記パーミュータが、データベクトルの
    各データエレメントを該メモリバンクに格納する、前記
    生成されたアドレスについてのメモリバンクナンバを生
    成する、請求項1に記載の装置。
  6. 【請求項6】 前記アドレス生成論理が、メモリからデ
    ータベクトルの各データエレメントを取り出すアドレス
    を生成し、かつ、前記パーミュータが、該メモリバンク
    からデータベクトルの各データエレメントを取り出す、
    前記生成されたアドレスについてのメモリバンクナンバ
    を生成する、請求項1に記載の装置。
  7. 【請求項7】 前記逆パーミュータが、前記データベク
    トルの各データエレメントについての前記メモリバンク
    ナンバを生成して、前記メモリバンクから該データを取
    り出した後に、該データエレメントのシャッフリングを
    達成する、請求項2に記載の装置。
  8. 【請求項8】 前記逆パーミュータが、前記データベク
    トルの各データエレメントについての前記メモリバンク
    ナンバを生成して、該データを該メモリバンクに送信す
    る前に、該データエレメントのシャッフリングを達成す
    る、請求項3に記載の装置。
  9. 【請求項9】 前記パーミュータおよび前記逆パーミュ
    ータが、循環回転を実行する、請求項3に記載の装置。
  10. 【請求項10】 (s,n)ハイパーマトリクスについ
    て、[an-1,an-2,...,a0]が前記データベク
    トルの第1のデータエレメントの前記インデックスであ
    り、nが前記データアレイの次元であり、sが前記デー
    タベクトル内のデータエレメントの数である場合、前記
    パーミュータおよび前記逆パーミュータによって実行さ
    れる前記循環回転が 【数1】 によって与えられる、請求項9に記載の装置。
  11. 【請求項11】 (s,n)ハイパーマトリクス内のイ
    ンデックス[an-1,an-2,...,a0]におけるデ
    ータについて、前記アドレス論理生成器が 【数2】 に応答してアドレスを生成する、請求項10に記載の装
    置。
  12. 【請求項12】 (m,n)ハイパーマトリクスについ
    て、前記パーミュータおよび前記逆パーミュータによっ
    て実行される前記循環回転が、2つの隣接する(s,
    n)ハイパーマトリクスに亘り得る任意のデータベクト
    ルの全s個のデータエレメントへの並行アクセスを可能
    にし、[an-1,an-2,...,a0]が前記データベ
    クトルの第1のデータエレメントの前記インデックスで
    あり、jがアクセスの次元であり、nが前記データアレ
    イの次元であり、sが該データベクトル内のデータエレ
    メントの数であり、m=stであり、tを整数とする場
    合、パーミュータについてのパラメータが 【数3】 によって与えられ、逆パーミュータについてのパラメー
    タが 【数4】 によって与えられる、請求項9に記載の装置。
  13. 【請求項13】 前記アドレス論理生成器が、k=
    0,...,(s−1)、ai”=(ai mod
    s)、ai’=(ai−ai”)とするときの、 【数5】 に応答してアドレスを生成する、請求項12に記載の装
    置。
  14. 【請求項14】 前記パーミュータおよび前記逆パーミ
    ュータが、2進法順列を実行する、請求項3に記載の装
    置。
  15. 【請求項15】 前記パーミュータおよび逆パーミュー
    タは、 【数6】 がビットのEXORを示し、[an-1,an-2,...,
    0]が前記データベクトルの第1のデータエレメント
    の前記インデックスであり、nが前記データアレイの次
    元であるときの、 【数7】 に応答して2進法順列を実行する、請求項14に記載の
    装置。
  16. 【請求項16】 前記アドレス生成論理が、 【数8】 に応答してアドレスを生成する、請求項15に記載の装
    置。
  17. 【請求項17】 (m,n)ハイパーマトリクスについ
    て、前記パーミュータによって実行される順列が2進法
    順列であり、前記逆パーミュータによって実行される順
    列が2進法順列および循環順列の組合せであり、このこ
    とが、2つの隣接する(s,n)ハイパーマトリクスに
    亘り得る任意のデータベクトルの全s個のデータエレメ
    ントへの並行アクセスを可能にし、 【数9】 がビットのEXORを行うことを意味し、[an-1,a
    n-2,...,a0]が前記データベクトルの第1のデー
    タエレメントの前記インデックスであり、jがアクセス
    の次元であり、nが前記データアレイの次元であり、s
    が該データベクトル内の該データエレメントの数であ
    り、m=stであり、tを整数とするとき、パーミュー
    タおよび逆パーミュータ内での2進法順列についてのパ
    ラメータが 【数10】 によって与えられ、循環順列についてのパラメータがa
    j mod sによって与えられる、請求項14に記載
    の装置。
  18. 【請求項18】 前記アドレス論理生成器は、k=
    0,...,(s−1)、ai”=(ai mod
    s)、ai’=(ai−ai”)とするときの、 【数11】 に応答してアドレスを生成する、請求項17に記載の装
    置。
  19. 【請求項19】 2次元矩形アレイのデータベクトルの
    データエレメントへの並行アクセスを提供する方法であ
    って、該方法は、 メモリバンクに格納されるデータベクトルの第1のデー
    タエレメントのインデックス、アクセスの方向、および
    格納される該データベクトルを受け取るステップと、 該データエレメントを格納するアドレスを生成するステ
    ップであって、データベクトルの各データエレメントが
    異なるアドレスに格納されて、並行アクセスを可能にす
    る、ステップと、 該データエレメントが格納されるメモリバンクのバンク
    ナンバを生成するステップであって、データベクトルの
    各データエレメントが異なるメモリバンクに格納され
    て、並行アクセスを可能にする、ステップと、 該データエレメントに対応する該生成されたアドレス情
    報およびバンクナンバに全てのデータエレメントを格納
    するステップと、を含む方法。
  20. 【請求項20】 2次元矩形アレイのデータベクトルの
    データエレメントへの並行アクセスを提供する方法であ
    って、該方法は、 メモリバンクから取り出されるデータベクトルの第1の
    データエレメントのインデックスおよびアクセスの方向
    を受け取るステップと、 該データエレメントが取り出されるアドレスを生成する
    ステップであって、データベクトルの各データエレメン
    トが異なるアドレスに格納されて、並行アクセスを可能
    にする、ステップと、 該データエレメントが取り出されるメモリバンクのバン
    クナンバを生成するステップであって、データベクトル
    の各データエレメントが異なるメモリバンクに格納され
    て、並行アクセスを可能にする、ステップと、 該生成されたアドレス情報およびバンクナンバの全ての
    データエレメントを取り出して、所望のデータベクトル
    を得るステップと、を含む方法。
JP11375826A 1998-12-30 1999-12-28 N次元矩形データアレイの任意の所与次元におけるパラレルデータアクセスのためのメモリアーキテクチャ Withdrawn JP2000231513A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11437498P 1998-12-30 1998-12-30
US60/114.374 1998-12-30

Publications (1)

Publication Number Publication Date
JP2000231513A true JP2000231513A (ja) 2000-08-22

Family

ID=22354843

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11375826A Withdrawn JP2000231513A (ja) 1998-12-30 1999-12-28 N次元矩形データアレイの任意の所与次元におけるパラレルデータアクセスのためのメモリアーキテクチャ

Country Status (3)

Country Link
US (1) US6604166B1 (ja)
EP (1) EP1016970A3 (ja)
JP (1) JP2000231513A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008299438A (ja) * 2007-05-29 2008-12-11 Yamaha Corp メモリ制御装置
JP2009517763A (ja) * 2005-12-01 2009-04-30 エヌエックスピー ビー ヴィ メモリ中の行列要素に効率的にアクセスするための方法および構成
JP2015022765A (ja) * 2013-07-17 2015-02-02 インフィネオン テクノロジーズ アーゲーInfineon Technologies Ag アドレスビット並べ替えを用いたメモリアクセス
US10996949B2 (en) 2019-05-10 2021-05-04 International Business Machines Corporation Address generation for high-performance vector processing

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040236920A1 (en) * 2003-05-20 2004-11-25 Sheaffer Gad S. Methods and apparatus for gathering and scattering data associated with a single-instruction-multiple-data (SIMD) operation
JP3985797B2 (ja) * 2004-04-16 2007-10-03 ソニー株式会社 プロセッサ
US7903118B2 (en) * 2004-11-12 2011-03-08 Amd Inc. Methods for allocating information to system resources using improved mapping
EP1821254A1 (en) * 2006-02-17 2007-08-22 Deutsche Börse Ag Parallelization command driven data handling
DE602007011755D1 (de) * 2006-05-16 2011-02-17 Nxp Bv Speicherarchitektur
US7752398B2 (en) * 2006-05-23 2010-07-06 Lsi Corporation Multi-port memory architecture for storing multi-dimensional arrays I
US7707363B2 (en) * 2006-05-23 2010-04-27 Lsi Corporation Multi-port memory architecture for storing multi-dimensional arrays II
US8397010B1 (en) 2007-04-16 2013-03-12 Juniper Networks, Inc. Convenient, flexible, and efficient management of memory space and bandwidth
US8051239B2 (en) * 2007-06-04 2011-11-01 Nokia Corporation Multiple access for parallel turbo decoder
US20090187771A1 (en) * 2008-01-17 2009-07-23 Mclellan Jr Hubert Rae Secure data storage with key update to prevent replay attacks
US20100199067A1 (en) * 2009-02-02 2010-08-05 International Business Machines Corporation Split Vector Loads and Stores with Stride Separated Words
US20120047344A1 (en) * 2010-08-17 2012-02-23 Sheaffer Gad S Methods and apparatuses for re-ordering data
WO2012059121A1 (en) 2010-11-01 2012-05-10 Telefonaktiebolaget L M Ericsson (Publ) Memory arrangement for accessing matrices
US20120221788A1 (en) * 2011-02-28 2012-08-30 Microsoft Corporation Multi-dimensional array manipulation
WO2013106210A1 (en) * 2012-01-10 2013-07-18 Intel Corporation Electronic apparatus having parallel memory banks
CN104575584B (zh) * 2013-10-23 2018-11-30 钰创科技股份有限公司 具有嵌入式内存的***级封装内存模块
EP3018587B1 (en) * 2014-11-05 2018-08-29 Renesas Electronics Europe GmbH Memory access unit
KR20230091200A (ko) * 2015-12-14 2023-06-22 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치 및 삼차원 데이터 복호 장치
GB2551188B (en) * 2016-06-10 2020-06-03 Advanced Risc Mach Ltd Storing and Reading Arrays of Data in Data Processing Systems Comprising a Plurality of Memory Banks

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3996559A (en) * 1974-11-07 1976-12-07 International Business Machines Corporation Method and apparatus for accessing horizontal sequences, vertical sequences and regularly spaced rectangular subarrays from an array stored in a modified word organized random access memory system
JPS58128078A (ja) * 1982-01-27 1983-07-30 Dainippon Screen Mfg Co Ltd メモリ装置の構成方法
US4740927A (en) * 1985-02-13 1988-04-26 International Business Machines Corporation Bit addressable multidimensional array
US4918600A (en) * 1988-08-01 1990-04-17 Board Of Regents, University Of Texas System Dynamic address mapping for conflict-free vector access
US5598514A (en) * 1993-08-09 1997-01-28 C-Cube Microsystems Structure and method for a multistandard video encoder/decoder
US5481487A (en) * 1994-01-28 1996-01-02 Industrial Technology Research Institute Transpose memory for DCT/IDCT circuit
JP3247018B2 (ja) * 1994-12-06 2002-01-15 富士通株式会社 アドレス生成装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009517763A (ja) * 2005-12-01 2009-04-30 エヌエックスピー ビー ヴィ メモリ中の行列要素に効率的にアクセスするための方法および構成
JP2008299438A (ja) * 2007-05-29 2008-12-11 Yamaha Corp メモリ制御装置
JP2015022765A (ja) * 2013-07-17 2015-02-02 インフィネオン テクノロジーズ アーゲーInfineon Technologies Ag アドレスビット並べ替えを用いたメモリアクセス
US9323654B2 (en) 2013-07-17 2016-04-26 Infineon Technologies Ag Memory access using address bit permutation
US10996949B2 (en) 2019-05-10 2021-05-04 International Business Machines Corporation Address generation for high-performance vector processing

Also Published As

Publication number Publication date
EP1016970A2 (en) 2000-07-05
US6604166B1 (en) 2003-08-05
EP1016970A3 (en) 2001-06-13

Similar Documents

Publication Publication Date Title
JP2000231513A (ja) N次元矩形データアレイの任意の所与次元におけるパラレルデータアクセスのためのメモリアーキテクチャ
JP5089842B2 (ja) マルチバンク、フォルトトレラント、高性能メモリアドレス指定のシステム及び方法
JP5689282B2 (ja) 行列をsimdマルチコア・プロセッサ・アーキテクチャ上で転置するためのコンピュータ実装方法、コンピュータ可読ストレージ媒体及びシステム
US8341362B2 (en) System, method and apparatus for memory with embedded associative section for computations
TW594502B (en) Length-scalable fast Fourier transformation digital signal processing architecture
US6748480B2 (en) Multi-bank, fault-tolerant, high-performance memory addressing system and method
JPS63136167A (ja) 直交変換プロセッサ
US8436865B2 (en) Memory controller and memory system using the same
KR20230081697A (ko) 팽창 컨볼루션 계산 가속화 방법 및 장치
JP3802783B2 (ja) 衝突防止メモリ装置及びそれを用いたアドレス計算とデータルーティング方法
US6640296B2 (en) Data processing method and device for parallel stride access
Sorokin et al. Conflict-free parallel access scheme for mixed-radix FFT supporting I/O permutations
US9170985B1 (en) Bidirectional fast fourier transform in an integrated circuit device
KR0139699B1 (ko) 이산 코사인 변환장치
JPH07121507A (ja) 離散コサイン変換装置
US5825420A (en) Processor for performing two-dimensional inverse discrete cosine transform
JP2851804B2 (ja) 2次元直交変換装置
CN100442272C (zh) 数字信号处理装置
CN116935923A (zh) 一种矩阵显式转置消除静态随机存储器及方法
Cormen Determining an out-of-core FFT decomposition strategy for parallel disks by dynamic programming
CN115562850A (zh) 数据处理方法、装置、设备和存储介质
CN114706812A (zh) 基于可重构处理器的数据存储方法和可重构处理器
CN113542770A (zh) 一种dct变换方法及dct变换电路***
Sánchez et al. An efficient architecture for the in-place fast cosine transform
Verdier et al. Addressing scheme for a parallel memory system

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070306