JPH0731629B2 - アドレス・ジエネレータ - Google Patents

アドレス・ジエネレータ

Info

Publication number
JPH0731629B2
JPH0731629B2 JP61078087A JP7808786A JPH0731629B2 JP H0731629 B2 JPH0731629 B2 JP H0731629B2 JP 61078087 A JP61078087 A JP 61078087A JP 7808786 A JP7808786 A JP 7808786A JP H0731629 B2 JPH0731629 B2 JP H0731629B2
Authority
JP
Japan
Prior art keywords
array
address
index
displacement
length
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 - Lifetime
Application number
JP61078087A
Other languages
English (en)
Other versions
JPS61231639A (ja
Inventor
アラン・ジエイ・デイアフイールド
サン‐チ・シウ
Original Assignee
レイセオン カンパニ−
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 レイセオン カンパニ− filed Critical レイセオン カンパニ−
Publication of JPS61231639A publication Critical patent/JPS61231639A/ja
Publication of JPH0731629B2 publication Critical patent/JPH0731629B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • 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)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)
  • Multi Processors (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 発明の背景 (技術分野) 本発明は、一般的に、デジタルシステムのメモリのアド
レツシングに関し、より詳細には、データ配列のための
メモリ内にアドレツシングシーケンスを規定する1組の
パラメータによる上記メモリのアドレスを行うための方
法及び装置に関する。
(背景技術) 多くのデジタル処理システムにおいて、特別にプログラ
ムされたユニツトは、メモリからのデータアクセスのオ
ーダリング(順位付け)を制御し、一方特別の目的のイ
ンターフエーシングユニツトは、諸構成要素を異なつた
データフオーマツテイング要求条件で結合する。特別な
目的ユニツトの拡大は、非効率をもたらし、高いシステ
ム開発経費をもたらし、開発の時間が長くなり、プログ
ラミング経費が高くなり、システム維持経費が高くな
る。
先行技術のプロセツサにおける演算ユニツト(AU)は通
常、プロセツサ制御ユニツトがデータアイテムを演算セ
クシヨンに対して順番に並べるのをあるいはデータアイ
テムを実行されるオペレーシヨンに対して適当な形に変
換するのを助けるものであつた。そして、これにより制
御ユニツトの複雑性が増すだけでなく、データ処理を妨
害し、これによりプロセツの効率の低下をもたらした。
更に、次の命令が解釈されている間AUはしばしばアイド
ルの状態にある。関連データアイテム、例えば配列に対
するフオーマツテイングオペレーシヨンを連続的に制御
することが望ましく且つAUに連続的なAU機能を実行せし
めることが望ましい。
特別な目的命令は、ベクトル−マトリクス計算の実行を
容易にするためのデジタル信号プロセツサにおいて実施
されることが多い。一般的に、可能な特別の目的命令及
び配列を正しく索引づけし且つ寸法ずけするための他の
命令を用いて信号処理アリゴリズムを実施するには一連
の命令が必要である。付属的なパラメータが配列を索引
づけ且つ寸法づけする必要性を無くするより高位の言語
が特に望ましくなる。特に、斯かる言語を実施するのに
必要なハードウエアを禁じていない時は望ましい。
発明の要約 本発明によると、複数のパラメータを含む配列変換演算
子によつて規定されたメモリにおいて且つ上記メモリの
制御の下で、ベクトル、アトリクスあるいはブロツクを
含む配列に対するアドレスシングシーケンスを発生する
ための方法が提供される。この方法は、上記メモリのア
ドレスジエネレータ部分に初期アドレスパラメータを含
む配列変換演算子の複数のパラメータをロードするステ
ツプ、初期アクセスパラメータに対して相対的な配列変
換の変位及び長さパラメータによつて規定された複数の
行及び列インデツクスを発生するステツプ及び行及び列
インデツクスの各対を上記メモリに対するアドレスに変
換するステツプを含む。この方法は更に、上記変位パラ
メータの1つによつてアドレスが配列の境界外で発生し
た時に上記アドレツシングシーケンスの発生を制御即ち
修正するために上記配列変換の境界パラメータを解釈す
るステツプを含む。この境界パラメータは、ラツプアラ
ウンドモード、ゼロ充填モード及び境界無視モードを含
むオペレーシヨンの境界モードの1つを規定する。
本発明の別の特徴によると、配列変換パラメータによつ
て規定された配列に対するメモリにおけるアドレツシン
グシーケンスを発生するための方法が与えられ、この方
法は、上記メモリのアドレスジエネレータにおけるイン
デツクスジエネレータ手段に配列変換の初期アドレスパ
ラメータデルタ0によつて規定された初期アドレスをロ
ードするステツプ、上記インデツクスジエネレータ手段
に配列変換の変位パラメータをロードするステツプ、上
記アドレスジエネレータにおけるカウンタに配列変換の
長さパラメータL1をロードするステツプ及び上記変位パ
ラメータを有する上記インデツクスジエネレータにおけ
る初期アドレスパラメータを上記長さパラメータに等し
い回数だけ増分することにより複数のアドレスを発生す
るステツプを含む。本発明に係るこの方法は、L1アドレ
スのライン又はベクトルを生成する。本発明に係る別の
方法は、2次元マトリクス又は3次元ブロツクの配列に
対するアドレスのシーケンスを生成する。
本発明の1つの実施例によると、複数のポートを有する
メモリに、配列変換演算子のパラメータに応答してベク
トル、マトリクス又はブロツクを含む配列に対するアド
レスのシーケンスを発生するためのアドレスジエネレー
タを含むインテリジエントポートである上記ポートの少
なくとも3つが配設されている。これらのパラメータ
は、単一又は多次元配列の初期基準点に対する相対的な
複数の行及び列インデツクスを発生するための変位制御
ワード及び長さ制御ワードによつてインデツクスジエネ
レータにロードされる。これらのインデツクスジエネレ
ータに結合されたアドレストランスレータは、行及び列
インデツクスの各対をアドレスに変換する。マイクロプ
ログラムされたシーケンサは、アドレスジエネレータの
オペレーシヨンを制御する。これらのインテリジエント
ポートの各々が、読出しモードあるいは書込みモードで
もつて作動し得る。
本発明の実施例の別の特徴によると、インテリジエント
メモリポートのアドレスジエネレータが提供されてお
り、このアドレスジエネレータは、複数の行及び列イン
デツクスを発生するためのインデツクスジエネレータ手
段であつて、配列変換の初期アドレスパラメータによつ
て規定された初期アドレスがロードされるインデツクス
ジエネレータ手段、配列変換の変位パラメータデルタ1
を上記インデツクスジエネレータ手段に記憶するための
手段、上記変位パラメータを有する初期アドレスを長さ
パラメータに等しい複数の回数だけ増分するために配列
変換の長さパラメータL1を上記アドレスジエネレータに
記憶するための手段、及び上記行及び列インデツクスを
複数のアドレスに変換する手段を含む。このインデツク
スジエネレータ手段は、複数の行インデツクスジエネレ
ータ及び列インデツクスジエネレータを含んでいる。こ
の実施例はL1アドレスのライン又はベクトルを発生し、
2又はそれ以上の次元の複数の配列に対するアドレスを
発生することもできる。
実施例の説明 第1図について説明する。第1図には、本発明を実施す
る配列変換アドレスジエネレータを含むインテリジエン
トメモリ10を用いることができる全体システムを示すマ
クロ・フアンクシヨン信号プロセツサ(MFSP)10のブロ
ツク図が示されている。より詳細に説明すると、インテ
リジエントメモリ12は、複数のインテリジエントポート
14〜22を有し得る。しかしながら、本明細書に記載され
ているMFSP10の実施例の場合、ポート14及び22の2つは
単に、当業者にはよく知られた直接メモリアクセス(DM
A)ポートとして機能するだけである。ポート1 16、ポ
ート2 18及びポート3 20は、第1図のシステムにおける
インテリジエントポートである。これは主に、演算ユニ
ツト38からデータ属性の考慮を完全に隠すと同時に配列
変換演算子に基づくシーケンスのアドレス指定を実施す
る能力があるからである。
インテリジエントメモリ12に加えて、MFSP10は、演算ユ
ニツト38、制御プロセツサ32、ノード制御ユニツト24、
システムI/Oユニツト40、Iバス26、Sバス28及びAバ
ス30を含んでいる。インテリジエントメモリ12のインテ
リジエントポート2 18及びインテリジエントポート3 20
はそれぞれ、演算ユニツト38の諸入力への32ビツト直接
接続及びインテリジエントポート1 16に接続する演算ユ
ニツト38の64ビツトデータを有しており、これにより、
演算ユニツト38及び演算ユニツト38からデータを流すた
めの手段を構成している。Aバス30は、これら3つのイ
ンテリジエントポート16〜20を相互接続するだけでな
く、制御プロセツサ32の2ポートRAM34と演算ユニツト3
8を相互接続するMFSP10内部制御バスとしての機能を果
たす。制御プロセツサ32は、2ポートRAM34と、及び命
令を解釈し且つインテリジエントメモリ12及び上記命令
の実施のための演算ユニツト38を構成するための命令イ
ンタプリタ36を含んでいる。システムバス、即ちSバス
28は、ノード制御ユニツト24、ポート0 14、ポート4 2
2、2ポートRAM34、命令インタプリタ36、演算ユニツト
38及びシステムI/Oユニツト40を含む複数のユニツトを
相互接続する。DMAポート0 14は、Iバス26を経由して
ノード制御ユニツト24に接続されている。このノード制
御ユニツト24は、分散されたマルチプロセツサ及びプロ
セツサ又はMFSP10等の他のデバイスにおける高速度バス
のネツトワーク間のインターフエースを与える。DMAポ
ート24は、システム応用I/O情報転送のためのシステムI
/Oユニット40への直接32ビツト接続を有している。
第2図について説明すると。第2図には、インテリジエ
ントメモリ12のブロツク図が示されている。このメモリ
12は、5つのメモリバンク52〜60、アービトレーシヨン
及びスイツチングネツトワーク62及び、3つのインテリ
ジエントポート16〜20及び2つのDMAポート14及び22を
含む複数のポート14〜22を含んでいる。アービトレーシ
ヨン及びスイツチングネツトワーク62は、ポート14〜22
とメモリバンク52〜60との間のデータの流れを方向づけ
る。即ち、これら5つの入口(ポート)及び5つの出力
(メモリバンク)のためのアービトレーシヨン論理を有
する88ビツト幅5×5クロスバースイツチを構成する。
ここではインテリジエントメモリの特定の実施例がMFSP
10に対して説明されているが、本発明は、特定の数のメ
モリバンクあるいは特定の数のインテリジエントポート
あるいは特定の寸法のクロスバースイツチに限定される
ものではない。
更に第2図について説明する。この5×5クロスバー
は、データのための64ビツト、アドレスのための24ビツ
ト及びポート14〜22の各々からの制御を取り扱う。この
アービトレーシヨン論理は、ポート14〜22間の衝突を解
決する。2つ以上のポートが同一バンクのメモリを要求
する場合、アービトレーシヨン論理は、優先順位が高い
ポートがその転送を完了するまで優先順位が低い(固定
された)ポートを阻止する。アービトレーシヨンは、サ
イクル毎に実行される。これらのメモリバンクの内4つ
即ち、バンク0 52、バンク1 54、バンク2 56及びバンク
3 58は、それぞれが64Kワード×64ビツトとして組織さ
れているランダムアクセスメモリ(RAM)である。メモ
リバンク4の60は、16Kワード×64ビツトとして組織さ
れている読出し専用メモリ(ROM)である。RAMメモリバ
ンク52、58の2つは、主にREADポートとして用いられる
ポート2 18及びポート3 20によつて主に用いられる。他
の2つのRAMメモリバンクは、メモリのスクラツチパツ
ド領域であるため、主にWRITEポートとして用いられる
ポート1 16を経由して中間値を記憶するのにそのような
スクラツチパツド領域として主に用いられる。ROMメモ
リバンク60は、種々のマクロフアンクシヨンの演算中に
用いられる定数及び近似表を記憶する。DMAポート14及
び22は、Iバス26又はシステムI/Oユニツト40とデータ
の大ブロツクを転送する目的のためのインテリジエント
メモリ12との間のインターフエースとして作用する。転
送されたデータのブロツクはインテリジエントメモリ12
における連続的位置に存在する。DMAポート14及び22は
また、制御及び状態のためのSバス28とインターフエー
スし、転送ブロツクデータのためのIバス26又はシステ
ムI/Oユニツト40は、インテリジエントメモリ12の外部
にアクセスし、転送ブロツクデータのためのアービトレ
ーシヨン及びスイツチングネツトワークは、インテリジ
エントメモリ12にアクセスする。
インテリジエントポート、即ちポート1 16、ポート2 18
及びポート3 20は、各データエレメントをアドレス且つ
フオーマツトするための独立の制御を有している。各ポ
ートのセツトアツプパラメータは、それが見つけられる
パツクされたデータの形状(即ちベースアドレス)、及
びアクセス(即ち読出し/書込み、転置、逆転等)の方
法を示している。1つのポートが開始すると、示された
データの第1エレメントのアクセスを開始し、エラーに
関係なくすべてのデータが読出しあるいは書き込まれる
までこれを継続する。読出しポート及び書き込みポート
は、ポートのフアンクシヨンを決定するためのポートID
ビツトを除いて同等である。
ここで第3図について説明する。第3図には、アクセス
ジエネレータ100、メモリ制御装置102及びデータフオー
マツタ104を含むインテリジエントメモリポート16〜20
の内の1つのポートのブロツク図が示されている。アド
レスジエネレータ100は、データ配列が演算ユニツト38
の操作に対する種々の便宜的な形状でもつて現われるこ
とができるようにするためにメモリバンク59におけるデ
ータ配列をアクセスするためにアドレスを生成する。デ
ータフオーマツタ104は、メモリバンク59と演算ユニツ
ト38との間のデータトランスレータとして作用する。デ
ータはメモリバンク59における64ビツトワードにパツク
される。パツクされたデータは、演算ユニツト38におい
て用いられる前に、開放(アンパツク)され、データフ
オーマツタ104において位置調整されたままになる。メ
モリ制御装置102は、演算ユニツト38に対する(制御ラ
イン)インターフエースを構成すると同時にアドレスジ
エネレータ100及びデータフオーマツタ104に対する制御
を構成する。更に、メモリ制御装置102は、アービトレ
ーシヨン及びスイツチングネツトワーク62に結合されて
おり、インテリジエントメモリポートの全てのメモリア
クセスを開始し且つ制御する。
インテリジエントメモリ12は、高水準信号処理言語、例
えば、以下に述べられるマクロフアンクシヨン言語(MF
L)によつて要求された任意のアドレス指定シーケンス
を実施するために小さな組のパラメータを必要とする。
これらのパラメータは、信号処理言語シンタツクスから
のハードウエア制御パラメータを直接規定する配列変換
と呼ばれる唯1つのアドレス指定演算子に一体化されて
いる。アドレスジエネレータ100は、この配列変換によ
つて規定されたアドレス機能を実施する。第4A図及び第
4B図に示され且つ以下に説明されるような一対の16ビツ
ト制御ワード、即ち変位制御ワード80及び長さ制御ワー
ド90は、配列変換パラメータを含んでおり且つインテリ
ジエントポート16〜20の任意の1つのポートのアドレス
ジエネレータ100内のアドレスレジスタを始動し、この
ジエネレータは、次に、配列変換によつて規定されたメ
モリアドレスシーケンスを実施する。
図面と関連させて本発明に係る構成及びオペレーシヨン
を更に説明する前に、本発明を理解するためには、配列
変換におけるパラメータを規定するのに用いられる言語
の配列変換演算子及び特定の特徴を説明することが現時
点では必要である。前述したようなインテリジエントメ
モリ12のアドレスジエネレータ100は、配列変換演算子
によつて関数的に規定される。「演算子」という言葉
は、ここでは、ある入力を演算子の定義に従つてある出
力に変換する存在の一般的な数学的意味合いで用いられ
ている。この入力及び出力は、両方共配列であり、従つ
て「配列変換」と言う名前である。この演算子は、配列
アドレス指定は、入れ子状(ネストされた)アドレス指
定シーケンスの因数分解された級数に換算して説明して
いる。1つの配列変換は、1つのオペレーシヨンを規定
するための10個のパラメータを含んでおり、以下に説明
される次にシンタツクスを有している。
〔Δ4 Δ3 Δ2 Δ1 |Δ0〕 〔L4 L3 L2 L1 | B〕 この言語のシンタツクスは、インテリジエントメモリ12
におけるアドレスジエネレータ100成分を初期化するの
に要するパラメータに直接対応している。その結果、配
列変換演算子の数学的定義は、アドレスジエネレータ10
0のハードウエア定義として機能する。
命令因数分解の技術が、処理プログラムからのデータパ
ラメータの分離と結びついて用いられる時にインテリジ
エントメモリ12が使用可能になる。命令は、制御演算
子、可変関数、配列変更子、及びオペランドに因数分解
される。関数を除くこれらの各々は、メモリオペレーシ
ヨンに重要な影響を与える。制御演算子は、演算ユニツ
ト38にドペランドデータを適用するシーケンスを決定す
るためのアドレス指定制御モードとして作用する。制御
演算子は、長さパラメータ等の配列変換の関係を規定す
る。可変関数は、メモリから取り出されたエレメントに
対して実行される算術論理オペレーシヨンを規定する。
配列変更子は、用いられている制御演算子によつて規定
された通常のアドレス指定モードを変更する。オペラン
ドは、用いられる特定のデータについて言及する。
これらの命令パラメータは、データのパラメータから故
意に分離されると、これらのデータパラメータは、デー
タ記述子に維持することができる。1つのデータ記述子
は、可変オペランドを説明する情報の集まり、例えば、
データ種類、フオーマツト及び位置からなる。実行時間
において、プログラムは変数の記述子を通してオペラン
ドを参照する。データ「形状」における動的変化は、プ
ログラムに影響を与える変化を起こすことなく取り扱う
ことができる。インテリジエントメモリの1つの重要な
要求条件は、可変データ配列の全体を唯1つのオペラン
ドとして処理することである。従つて、データの位置
は、データの配列の初期エレメントを参照するベースア
ドレスあるいは初期参照点によつて決定される。
信号処理アルゴリズムは、マトリクス数字の言語で表現
すると都合がよい。斯かる理由により、MFLは、配列指
向言語である。MFLプログラムにおける大抵の変数は、
単一エンティティとして処理される関数データの多くの
エレメントを表わしている。大抵の演算は、アイテム毎
の命令文を必要とすることなしに配列上に直接定義され
る。MFL配列は、ベクトル、マトリクス及びブロツクの
形をとる。配列の個々のエレメントを参照するには、イ
ンデツクスと呼ばれる1つ又は2つあるいは3つの数が
配列におけるその位置をマークする必要がある。
ベクトルとは、そのエレメントが唯1つのインデツクス
によつて選択される配列である。換言すれば、ベクトル
は、1つの座標を有しており且つラインに配列されたエ
レメントの集まりと見なされる。このラインにおけるエ
レメントの数は、ベクトルの長さと呼ばれる。ゼロベク
トルは、エレメントを含まないベクトルである。ゼロベ
クトルの長さはゼロである。
マトリクスとは、そのエレメントが2つのインデツクス
によつて選択される配列である。マトリクスは、2つの
座標を有しており且つ矩形に配列されたエレメントの集
まりと見なされる。各行におけるエレメントの数は行長
と呼ばれる。行座標に沿つたエレメントの位置は、行位
置あるいは列数と呼ばれる。各列におけるエレメントの
数は、列長と呼ばれる。列座標に沿つたエレメントの位
置は、列位置あるいは行数を呼ばれる。行長I及び列長
Jは共に、マトリクスの「形状」を構成する。この形状
は、J;Iと書かれる。
幾つかの応用においては、マトリクスは、平面イメージ
を表わす画素の配列から引き出されたデータのような幾
つかの物理的実体に対する直接一致を有していた。これ
らの場合、マトリクスの特性は、処理に対して直接適応
可能である。他の場合は、マトリクスは、単に処理の目
的のための便宜である。多くの信号処理オペレーシヨン
において、マトリクスは単にベクトルの集まりである。
形状は、行ベクトルの数及び各ベクトルの長さ(列の数
に同等)に一致する。この処理は、一度に1つのベクト
ルを用い且つ修正するベクトル組の相互作用的使用を必
要とする。従つて、配列変更子の通常の解釈は、それを
配列全体あるいはマトリクスではなく各行ベクトルに適
用することである。勿論、配列全体も修正する必要が時
々生じる。この場合、配列は、唯1つの長いベクトルと
して見なすことができる。
ブロツクは、そのエレメントが3つのインデツクスによ
つて選択される配列である。ブロツクは、3つの座標を
有しており且つ1組のマトリクスの中に配列されたエレ
メントの集まりと見なされる。1つのブロツクは、マト
リクスに対して前に定義された行及び列用語を用いる。
更に、ブロツクKにおけるマトリクスの数は、ブロツク
の深さと呼ばれる。この座標に沿つたエレメントの位置
は、深さ位置あるいはマトリクス数と呼ばれる。行長
さ、列長さ及び深さは、共にブロツクの形状を構成す
る。ブロツクの形状はK;J;Iと書かれる。
因数分解されたアドレス指定の概念を説明するために、
以下の例は、因数分解されたアドレス指定に換算して配
列転置を定量的に説明している。行主オーダにあるマト
リクスがかわりに列によつて読み出されると、出力は、
入力配列から列からなる行を有するマトリクスとなる。
この出力配列は、ランク2であり、これは、この手順が
2つの変位シーケンスを必要としなければならないこと
を意味している。
ここで第5図について説明する。Iが入力配列における
行の長さに等しく且つJが列の長さに等しいとする。配
列変換は、以下のシーケンスによつて説明される。
(0)配列の上部左コーナから開始。
(1)J個の点のラインを定義するために列方向にJ−
1回1点下げる。列方向に最初の変位の前の点に戻る。
(2)行方向に1点水平に動かし且つ1×Jマトリクス
を定義するためにステツプ(1)をI−1回繰り返す。
前の例に示されるシーケンスは、配列変換の手順定義に
集められ得る。即ち (0)初期点デルタ0(Δ0)に進む。
(1)L1個の点のラインを定義するために全部でL1−1
回変位デルタ1(Δ1)だけ動かす。このシーケンスの
最初の変位の前の点に戻る。
(2)変位デルタに(Δ2)だけ動かし且つL2×L1点の
マトリクスを定義するためにステツプ1をL2−1回繰り
返す。このシーケンスの最初の変位の前の点に戻る。
(3)変位デルタ3(Δ3)だけ動かし且つL3×L2×L1
点のブロツクを定義するためにステツプ1及び2をL3−
1回繰り返す。このシーケンスの最初の変位の前の点に
戻る。
(4)変位デルタ4(Δ4)だけ動かし且つステツプ
1、2及び3をL4−1回繰り返し、停止する。
この結果は、L3×L2×L1点のL4ブロツクの1組である。
出力配列のランクは、これを発生するのに必要な変位シ
ーケンスの数に等しい。上記の定義を用いると、ランク
4までの出力配列が可能である。各入れ子状シーケンス
は、独立のハードウエア回路に相当する。必要に応じ
て、より高いランクの形状を生成するためにより多くの
シーケンスをこの定義に加えることができる。
マクロフアンクシヨン言語(MFL)において、入力配列
Cにおける配列変換は、次のシンタツクスに従つて配列
の名前及びそのデータ記述子の真下に書かれている10個
のパラメータによつて規定される。
これらのパラメータは3つのカテゴリ、即ち変位
(Δ)、長さ(L)及び境界モード(B)に分けられ
る。
ここで第6図について説明する。配列変換の境界モード
(B)のパラメータは、変位及び長さに対する幾何学的
内容をセツトする。この境界モードは、与えられた変位
が、配列の境界外に置かれるアドレスの結果をもたらす
場合は、アドレスジエネレータ100の作用を決定する。
これらの境界モードは次の通りである。
W=ラツプアラウンド。境界が変位によつて遭遇される
と、アドレスジエネレータは、配列の他方の側の読出し
を継続する。例えば、行に沿つて左から右に読出しを行
なつている時、アドレスジエネレータ100は、右エツジ
が遭遇された場合、行の最左エレメントに戻る。
Z=ゼロ充填。配列の外側の全ての点は、読出しポート
に対してゼロと仮定され、AU38からの有効データは書込
みポートに対してドロツプする。
I=境界無視。この接尾辞は、ゼロ充填又はラツプアラ
ウンドのどちらかに付けることができる。この場合、配
列における最後の点を除く全ての境界は無視される。従
つて、この接尾辞を有するラツプアラウンドは、アドレ
スポインタを配列の頭に戻し、一方ゼロ充填はポインタ
の進行を保持する。
第6図は、マトリクスの右エツジに遭遇するアドレスジ
エネレータ変位に対する各境界モードの効果を示してい
る。
配列変換の変位は、正規のシーケンスのアドレスを発生
するために反復的に初期的に加えられる。これらの変位
は、2次元面における一般化されたスペーシングを表わ
す数の対として定義され、これにより、マトリクスの各
行及び列の終点の検出を容易にする。この表示は、大抵
の信号処理マクロに対して適当である。所望に応じて、
この概念は、n次元配列にける一般的変位に対してn集
合に延長され得る。配列における変位は、虚数部が行方
向の変位であり、実数部が列方向の変位である複素数と
して書くことができる。実数変位は、列方向における変
位がない行方向の変位である。どの形も、ベクトル、マ
トリクス及びブロツクに用いることができる。シンボル
も用いることができる。第7図に示すように、「i」
は、行方向への水平な右方への単位変位を定義し、
「j」は、列方向への下方の単位変位を定義し、「k」
は、深さ方向への単位変位を定義する。i,j又はkのど
れかの倍数による変位は、このシンボルに変位の寸法を
先行させることにより示される。例えば、−5jは、負の
列方向への5点の変位を示している。
ブロツクを通る一般的な変位は、特定の形(例えば深
さ、列、行)の三重の数を必要とする。大抵の応用の場
合、k方向は、j及びi方向に与えられたフレキシビリ
テイの同じレベルを必要としない。3次元ブロツクに形
成されたデータは通常、1組のマトリクスとして取り扱
うことができる。これらの場合、このブロツクにおける
各マトリクスの順次アクセツシングを伴う各マトリクス
における2次元変位で十分である。その結果、ブロツク
を通る変位三重は、ハードウエアの中に直接支持される
とは限らない。しかしながら、より大きなn集合を実施
するデバイスは幾つかの応用に対して好都合となり得
る。可変変位値は、配列変換に対するコオペランドに記
憶することができる。コオペランドにおける明示値の存
在は、配列変換の対応変位における「d」シンボルによ
つて示される。この「d」は、ユーザ定義変数に対して
用いられ、また、非コード化定数をアドレスジエネレー
タ100の適当なレジスタに挿入するためにトランスレー
タによつて定義され得る。Δ1からΔ4に換算する解釈
と共に配列変換の変位表記法は次のように要約される。
Xi =行X点を右方に水平に動かす。
Yj =Y点を上下に列方向に動かす。
Zk =Z点を深さ方向に動かす。
O =変位するな−前のシーケンスを繰り返せ。
d =変位は配列変換に対する可変コオペランドに含
まれている。
b;a =「a」点を行に沿つて動かし且つ「b」点を列
に沿つて上下に動かす。
c;b;a =「a」点を行に沿つて動かし、「b」点を列に
沿つて上下に動かし、「c」点を深さ方向に動かす。
命令ローデイング時間は、コードを最も頻繁に必要とさ
れる変位に対して割り当てることにより減少する。1つ
の可能性は、±i,±j,±k,又はOに対する3ビツトコー
ドを選択することである。8番目のコードは、「d」に
対してであり、これは、変位値が、命令インタプリタ36
によつて送られる独立の複素数であることを表明するも
のである。±i,±j,±k,又はOに等しくない全ての可変
変位及び定数は、「d」としてアドレスジエネレータ10
0に送られる。2次元アドレスジエネレータにおいて、
各「d」は、合成されたi方向及びj方向への一般的変
位を示す複素数に置き換えられる。実数部あるいは虚数
部のどちらかがゼロである場合、変位は、単に、それぞ
れi方向かるいはj方向である。Zkの形を有する「k」
変位は、Z×Jjとして規定され、これは配列においては
(K×J);Iに再形成される。全三次元表示を直接支持
するハードウエアは、三重の形の「d」を必要とする。
この3ビツトコードを用いると、4つの変位及び初期点
を、第4A図に示すように、唯1つの16ビツトワードに置
くことができる。
第8図及び第9図について説明する。初期点は、O;O;
O、即ち、配列の上部左コーナーからの変位である。負
の値に対しては、その位置は、境界モードに依存する。
第8図及び第9図は、ラツプアランド及びゼロ充填に対
する幾つかの初期点の異なつた位置を比較している。ラ
ツプアランドの場合、ブロツクの幾つかのコーナへの変
位は以下の通りである。
−i =上部右コーナ −j =下部左コーナ −k =上部左奥コーナ −1;−1=下部右コーナ 0 =上部左コーナ ゼロ充填の場合、これらの諸点の全ては、第9図に示す
ように、配列の上左コーナの回りに集まつている。ゼロ
充填モードは、配列を、K;J;I形状の外側のエレメント
がゼロにセツトされている無限エクステントを有するも
のとして解釈する。
配列変換の長さは、変位が実行される回数及びその結果
得られる配列の形状を示す実整数である。出力長さを配
列の入力形状に換算して規定するために幾つかのニーモ
ニツクが与えられる。大文字の「K」は、深さを示し、
「J」は列長さを示し、「I」は入力配列の行長さを示
す。他の数値長さは、それらが定数である場合変換にお
いて明示的に書かれなければならず、それらが明示的変
位と同様な形で可変である場合、コオペランドに書かれ
なければならない。
大抵の数値応用の場合、2項関数に対する1対の入力流
れを形成するために、2つのポートが同時にデータにア
クセスする。他方の入力引き数の対応の変位を2項関数
に一致させるのに必要な回数だけ変位が生じなければな
らない場合、数「1」が書かれる。このシンボルは、他
の引き数の配列変換をつき合わせるために適当な長さを
有する命令インタプリタ36によつて実行時間にオーバー
ライトすることができるあるいはポート1 16及びポート
2 18は、置換長さを動的に決定するために対応のポート
長さをモニタすることができる。2つの配列変換が1に
等しい対応長さを有する場合、このシーケンスに対して
は変位は生じない。このようにして制御演算子が2つの
結合された配列変換になる。
配列の境界が遭遇されるまで継続するために変位を規定
することができる。「境界における停止」を意味する長
さSは、この場合に用いられる。ラツプアラウンドモー
ドにおいて、長さmがSにセツトされる場合、Δmの変
数は、Δmが境界に遭遇するまで継続する。ゼロ充填モ
ードにおいて、Δmの変位は、下部レベル変位が境界に
遭遇するまで継続する。
境界における停止が、二項関数の入力データ流れの1つ
をアドレスするポートの長さパラメータとして用いられ
ると、他方のポートにおける対応長さは、「1」でなけ
ればならず、これは、「他方の配列がその長さにおいて
停止するまで反復せよ」を意味する。以下は、配列変換
長さシンボルを要約している。
K=入力配列の深さ J=入力配列の列長さ I=入力配列の行長さ d=長さが変数に含まれる 1=対応の出力配列形状に一致させるのに必要なだけ反
復せよ S=境界が遭遇される時に変位を停止せよ これら6つの長さは、変位と同様なるビツトコードに換
算して規定されている。長さフイールド及び境界モード
の全体は、第4B図に示すように、唯1つの16ビツトワー
ドを占有している。
以下の列は、配列変換によつて可能な配列オペレーシヨ
ンの幾つかの単純な形を示している。各例は、マクロフ
アンクシヨン言語(MFL)シンタツクスに換算して与え
られている。この配列変換は、そのデータ記述子に含ま
れる幾つかのサンプル形状及び種類の配列B及びCに適
用される。配列変換の下には、変換からの出力配列のデ
ータ記述子が書かれている。この情報を包囲しているか
つこは、それがインテリジエントメモリ12からの応答で
あることを示している。
通常読出し複数組のマトリクスからなるブロツクを有す
る行主オーダの配列の順番は、メモリからのデータの通
常のアクセツシングが、 となることを意味している。この変換は、この例におい
ては、2;8;4の形状を有する16ビツト複素データのブロ
ツクBに適用される。この表記法は、この配列アクセス
が、初期点0、即ち入力配列の上部左コーナから始まる
ことを規定している。主変位は、長さiの出力行を形成
するために、i、即ち行方向である。次に、アクセス
は、j、即ち列方向に移動し、J;Iの形状を有する出力
マトリクスを形成するために最初の組の変位を反復す
る。第3変位シーケンスは、k、即ち深さであり、この
後、最終K;J;I出力形状を生成するために列及び行変位
の反復が続く。第4変位は、必要に応じて、ランク4の
対応の出力配列をつき合わせるためにブロツク形状の反
復を行う長さ1の反復である。この変換は配列をその元
の形においているため、識別演算子と見なされる。
ブロツク転置 幾つかのアルゴリズムは、データのブロ
ツクが、各行に対して深さ、次に列によつて読み出され
ることを必要とする。この場合、配列変換は以下のよう
になる。
この配列アクセスは、初期点0、即ち入力配列の上部左
コーナーから始まる。主変位は、長さKの出力行を形成
するためにk、即ち深さ方向である。次に、アクセス
は、j、即ち列方向に移動し、J;Kの形状を有する出力
マトリクスを形成するために最初の組の変位を反復す
る。第3変位シーケンスは、i;即ち行方向であり、この
後、最終I;J;K出力形状を生成するために列及び深さ変
位の反復が続く。
転置 次の配列変換は、行が列になり且つ列が行になる
ようにするためにマトリクスBを転置する。R16は、10;
20の形状を有する配列が実16ビツトデータを含むことを
意味している。
この例及び後続のマトリクスの例において、ブロツクの
場合、配列変換はブロツクの各マトリクスに対して反復
されると了解される。
内積アドレツシング マトリクス掛算に対するアドレツ
シングは、Bの行ベクトルをCの列ベクトルに対してつ
き合わせる。Bの各行ベクトルは、Bの次の行が読み出
される前にCにおけるC〔I〕列ベクトルの各々をつき
合わせるために反復される。これらの配列変換は以下の
通りである。
B配列変換における最初のシーケンスは、長さIに対し
てiであり、これは、Bからの行ベクトルが読み出され
ていることを意味している。Cに対する対応のシーケン
スは、列を読み出し、これは、B〔I〕、即ちBの行長
さ及びC〔J〕、即ちCの列長さが同等でなければなら
ないことを意味している。Cに対する第2シーケンス
は、長さIに対してiであり、これは、Cの列が連続的
に読み出されることを意味している。Bの行ベクトル
は、ゼロ変位及び1長さによつて示されるように、Cに
おける列の数をつき合わせるために反復される。このつ
き合せは、Bの第3シーケンス及びCに対する対応の繰
返しにおける長さJに対するjによつて示されるよう
に、Bにおける行ベクトル毎に反復される。
幾つかの規則を用いることにより配列変換を以下のよう
に省略することができる。
1.何も変位が書かれない時、0(1)であると仮定す
る。これは、「他方の入力配列をつき合わせるのに必要
なだけ反復せよ」を意味する。
2.i又は−iについて書かれない時、長さはI、即ち可
変の行長さであると仮定する。
3.j又は−jについて書かれない時、長さはJ、即ち可
変の列長さであると仮定する。
4.k又は−kについて書かれない時、長さはK、即ち可
変の深さであると仮定する。
5.初期点が何も与えられない時、0であると仮定する。
初期点が省略されると、初期点を他の変位から分離する
のに用いられる垂直ラインは、抹消される。
6.境界モードが何も与えられないと、Bはラツプアラウ
ンドに等しいと仮定する。
7.配列変換が何も与えられない場合、通常の読出し、即
ち 〔0 k j i | 0〕 〔1 K J I | W〕 であると仮定する。
8.配列変換は、変位ラインの全体を省略した状態で書き
込むことができる。この場合、残りのラインは、通常の
読出しに用いられる形で長さを規定する。変位ラインが
省略されたことを示すために、長さラインに、種類及び
新しいデータ記述子の形の充填が書かれる。セミコロン
は、長さを分離するのに用いられる。
本発明の構造及びオペレーシヨンの説明に戻る。そして
第10図について説明する。第10図には、アドレスジエネ
レータ100のブロツク図が示されている。アドレスジエ
ネレータ100は、各マシンサイクル毎にそのインテリジ
エントポートに対するアドレス130を与える。アドレス
ジエネレータ100は、その制御記憶装置120に伴うマイク
ロシーケンサ122、2つのマトリクスアクセスチツプ(M
AC)110及び112を含むインデツクスジエネレータ111、
アドレストランスレータ114、乗算器118及びアドレスジ
エネレータ100内において情報転送を行うためのpバス1
28を含んでいる。マトリクスアクセスチツプ(MAC)110
及び112は、配列の各及び全てのデータエレメントをア
ドレスするために、第4A図に示される16ビツト変位制御
ワード80及び第4B図に示される16ビツト長さ制御ワード
90を経由してMAC110、112にロードされる配列変換のパ
ラメータによつて規定される行及び列インデツクスを構
成する。
第4A図及び第4B図に示される配列変換パラメータを含む
16ビツト制御ワードのこの対は、インテリジエントポー
ト16−20の任意の1つのポートのアドレスジエネレータ
100内のアドレスレジスタを初期化し、このポートは次
に、配列変換によつて規定されたメモリアドレスシーケ
ンスを実施する。第4A図に示されるような変位制御ワー
ド80は、6つのフイールドを有している。これらのフイ
ールドの5つが、同等であり且つ配列変換の変位パラメ
ータ、即ちデルタ4乃至デルタ0の各々を規定するため
の3ビツトコードを含んでいる。他方のフイールドは、
1にセツトされる時16ビツトデータバスの最小桁5ビツ
トが端数変位を支持するのに用いられることを示す1ビ
ツト端数フイールド(F)である。第1表は、これらの
デルタフイールド(p関数を除く)の大部分に対して得
られる8個の関数を挙げている。
第4B図に示されるような長さ制御ワード90は、6つのフ
イールドを有している。これらのフイールドの内4つ、
即ち長さ4乃至長さ1は、同等であり、且つ配列変換の
長さパラメータの各々を規定するための3ビツトコード
を含んでいる。この「モードフイールド」はまた3ビツ
トでもあり、境界(B)フイールドは1ビツトである。
これらの長さのフイールドの各々は、8個の可能な関数
を有しており、第2表は、これらの関数及びそれらの定
義を挙げている。モードフイールドは、マトリクスアク
セスチツプ110、112のアドレスジエネレータ100内のオ
ペレーシヨンのモードを定義し、第3表は、これらの8
個のモードを挙げている。境界フイールドビツト、B
は、境界状態が遭遇される時のインテリジエントポート
16,18,20の応答を決定する。「0」にセツトされると、
ポートはゼロ充填モードを実施する。境界モードは、本
明細書において述べられ且つ第6図に示されている。
各MACデバイス110,112は、180ピン7500ゲートCMOSゲー
ト配列技術を用いられ得る。アドレストランスレータ11
4は、MAC110及び112並びに乗算器(マルチプライヤ)11
8に結合されている。乗算器118は、95051カルフオルニ
ア州サンタクララスコツトブルバード3236のインテグレ
イテツトデバイステクノロジインコーポレイテツド(In
tegrated Device Technology,Inc.)製造のモデルIDT72
17L乗算器によつて実施され得る。このアドレストラン
スレータ114は、行及び列インデツクスを30ビツトアド
レス130に変換し、このアドレス130は、インテリジエン
トメモリ12におけるデータエレメントの最上桁ビツトの
位置を指示する。行及び列インデスクが共に乗算され
て、FFT係数を生ずるようにするために乗算器116を制御
することができる。アドレストランスレータは、144ピ
ン5700ゲートCMOSゲート配列技術で実施することができ
る。マイクロシーケンサ122及びその関連制御記憶装置1
20は、MAC110及び112におけるインデツクス発生を直接
制御し且つインテリジエントメモリ12のパイプラインの
全体内のデータ流れに対する制御信号を与える。マイク
ロシーケンサは、75265テキサス州ダラスのテキサスイ
ンスツルメントインコーポレイテツド(Texas Instrume
nts Incorporated)製造のAS890シーケンサによつて実
施され得る。MAC110,112デバイスはマイクロシーケンサ
122と共にポート16,18及び20の「インテリジエンス」の
バルクを構成する。
MAC110,112論理を分割すると、各MAC110,112に配列変換
によつて規定された2つの次元変数を独立にアドレスで
きるようにするスライスアーキテクチヤが与えられる。
このインテリジエントメモリアーキテクチヤは、2つの
独立のアドレス流れを1度に1つづつ支持する。尚、こ
れらの流れの間のスイツチングは、長さ制御ワード90に
おける3モードビツトによつて命令されるようなマイク
ロコード制御124の下で行なわれる。従つて、これらの
3モードビツトは、MAC110,112に対する第3表に要約さ
れたオペレーシヨンの8個のモードを与え且つ以下のよ
うになつている。即ち、MAC DUPLEXモードは、各MACの
オペレーシヨンに独立に関係し、それぞれはそれ自身の
アドレスシーケンスを生成する。一方、MAC SIMPLEXモ
ードは、唯1つのアドレスシーケンスを生成するために
MAC110,112デバイスのオペレーシヨンを共に関係する。
単信モードは、全単信モード及び半単信モードを含んで
いる。全単信モードはMAC110,112の両方を用いるが、半
単信モードは、単にマイクロコード分割から来る速度に
対する最適化である。ヂユプレツクスモードは、それぞ
れがスカラ、ベクトル及びマトリクスに対する3つの変
化を有しているフラツシユされたヂユプレツクスモード
及びフラツシユされないヂュプレツクモードと呼ばれる
サブモードを含んでいる。フラツシユされたモードデー
タは、PBUS128を通してアドレスジエネレータ100に送り
返され一方フラツシユされないモードデータはAU38に進
むかあるいはアドレスはAU38データがRAMメモリ50のど
こに行くかを指示する。スカラ、ベクトル及びマトリク
スモードは、インテリジエントメモリの残りが他方のMA
Cによつて発生されたインデツクスに作用する時を決定
する。
MAC110,112デバイスのアーキテクチヤによつて配列変換
命令文(ステートメント)の直接支持が可能であり、MA
C110,112デバイスは、4個までの次元変数を取り扱うた
めにインデツクスジエネレータ112内にカスケード接続
されている。これまで述べてきた変位及び長さパラメー
タの概念は、配列変換命令文の基礎である。第11図は、
インデツクジエネレータ111のカスケード接続された上
部及び下部マトリクスアクセスチツプ110,112内の配列
変換パラメータの位置を示している。MAC110,112デバイ
スの対によつて支持された配列変数は、ランク2の入力
形状配列からランク4の出力形状配列のためのアドレス
シーケンスを発生する一般的な方法を与えている。
第11図、第12図及び第13図について説明する。これらの
図には、MAC110,112デバイスの機能的構造が示されてい
る。各MAC110,112内には、上部行及び列インデツクス対
140,141及び下部行及び列インデツクス対142,143を含む
4つのインデツクスジエネレータ140,143が存在してい
る。各インデツクスジエネレータは、第12図に示すよう
に16ビツトベースワーキングレジスタ162及び16ビツト
変位レジスタ160を含んでいる。これら2つのレジスタ
の各々は、命令実行に先立ちAバス30を経由して書き込
み且つ読み出すことができる。
CI36から一旦ロードされた下記MAC112の変位レジスタ16
0におけるデータは変化しない。MAC110,112に保持され
た全てのデータは、16ビツト2の補数であり、整数とし
てロードされる。部分アドレツシングモードが選択され
ると、シフタ148,149は、インデツクスが生じる前にデ
ータ5ビツトを右方(符号が拡大)にシフトする。部分
アドレツシングモードが選択されないと、ロードされた
全てのデータは整数フオーマツトにあり、シフタは透過
(トランスペアレント)である。
比較器146,147は、現在のインデツクスと2つの境界レ
ジスタ、即ち列長さレジスタ144と行長さレジスタ145の
内容の連続比較を行う。この連続比較を行う。この連続
比較によつて、回路は、現在のインデツクスが状態コー
ドレジスタ及びMUX158における状態ビツトを経由して
「入力形状」の境界限度を越えた時を決定することがで
きる。この入力形状は、列長さレジスタ144と行長さレ
ジスタ145の内容によつて定義される。上部長さカウン
タ150及び下部長さカウンタ151は、同一レベルに含まれ
るΔ0レジスタの内容に課せられる変位増分の数を計数
するのに用いられる。各部位がΔ0の現在の内容に加え
られる毎に、このレベル内の関連の長さカウンタを減分
する。負符号検出回路は、出力形状の境界においてマイ
クロシーケンサ122にフラグする状態152,153ビツトを発
生する。
インデツクスジエネレータ140〜143の1つのブロツク図
を示す第13図について更に説明する。変位レジスタ160
及びワーキングレジスタ162の両方は、4つのクリア及
びプリセツト入力171〜174を有している。これらの入力
の内2つは、レジスタの上部15ビツトの選択的クリア又
はプリセツトに割り当てられる。他の2つのプリセツト
及びクリア入力は、レジスタの最小桁ビツト(LSB)に
割り当てられる。従つて、これらのレジスタ160及び162
は、4つの省略値0,1,−1,−2の1つに非同期的にプリ
セツト且つクリアされる。インデツクスジエネレータ14
0〜143の各々の1つは、排他的論理和ゲート168及び補
数175信号によつて実行される16ビツト補数能力を有し
ている。また、キヤリイ入力176の完備した16ビツト高
速キヤリイアダ170が存在する。このアーキテクチヤに
よつて、変位レジスタ160あるいは列長さレジスタ144及
び行長さレジスタ145の補足されないあるいは補足され
た内容をワーキングレジスタ162の現在の内容に加える
ことができる。
各MAC110,112におけるインデツクスジエネレータ140〜1
43における上部及び下部レベルレジスタが、それぞれ、
接頭辞U及びLによつて区別される。斯くして、MAC11
0,112デバイスのインデツクスジエネレータにおける変
位レジスタ160及びワーキングレジスタ162は、以下の指
名を有している。
uri;uci =行及び列上部レベルワーキングレジスタ (U0) lri;lci =行及び列下部レベルワーキングレジスタ (L0) udri;udci =行及び列上部レベル変位レジスタ (U) ldri;ldci =行及び列下部レベル変位レジスタ (L) 従つて、各MAC110,112は、配列変換のΔ4及びΔ3変位
パラメータを記憶するための上部及び下部インデツクス
ジエネレータ140〜143の各々において上部及び下部変位
レジスタ160を有している。上部及び下部MACを区別する
必要がある場合は、接頭辞UあるいはLが用いられる。
第14図について説明する。第14図には、長さカウンタ15
0,151のブロツク図が示されている。長さ数レジスタ180
は、静的データ(即ち、実施中に更新されない)を含ん
でおり且つ長さ計数値レジスタ182を再初期化するため
の基準として作用する。長さ計数値レジスタ182は、1
次元アクセスシーケンスを発生するためにインデツクス
ジエネレータ140〜143が求められる変位の数の現在の計
数を含んでいる。MAC110,112の各レベルは、1次元を取
り扱う。斯くして、MAC110,112長さレジスタは、以下の
ように呼ばれる。
UN=上部レベル数レジスタ UCN=上部レベル計数値レジスタ LN=下部レベル数レジスタ LCN=下部レベル計数値レジスタ 長さカウンタ150,151には、マイクロコードが同一レベ
ルに属するインデツクスジエネレータ内の変位増分を継
続するか否かをXCNEG194状態ビツトを通して決定せしめ
る負符号検出能力が備えられている。
長さカウンタ150,151は、有効インデツクスオフセツト
対が発生された時に長さ計数値レジスタ182を1だけ減
分する。現在計数が負である場合、状態コードパイプラ
イン遅延により実施された幾つかの減分の後でも負に届
まる。これにより、回路は終了状態を獲得するのにより
長い時間がかかる。長さカウンタ150,151に含まれる長
さ数レジスタ180及び計数値レジスタ182の両方は、イン
デツクスジエネレータ140−143と同様の方法でもつてバ
スを通して読出し及び書込みアクセスを可能にする。し
かしながら、これらのレジスタ180及び182は、独立的に
書込み可能となつていない。これは、この機能が必要で
ないためである。
第15図について説明する。第15図には、その境界の外側
に識別される複数の領域を有するマトリクスが示されて
いる。行長さ200及び列長さ202は、「INPUT SHAPE」
(入力形状)を含んでいる。上部に左手コーナは、ゼロ
基準点と見なされる。初期変位ゼロは、この基準点から
の逸脱である。入力形状即ちマトリクスは、データエレ
メントの行列の数からなつており、従つて2つの次元に
限定される。各データエレメントは、その行インデツク
ス及び列インデツクスに換算して唯一無二に定義され
る。従つて、基準点は(0,0)と定義される。領域1,4あ
るいは7におけるエレメントは、入力形状の下部行境界
を越えたと言われる。任意の斯かるエレメントの列イン
デツクスは負でかる。MAC110,112は、従つて、2の補数
表記法を用いて負の数を取り扱うことを要求される。MA
C110,112は、現在列インデツクスの符号ビツトから出た
状態ビツト157をマイクロシーケンサ122に供給する。領
域1,2又は3におけるエレメントは、入力形状又はマト
リクスの下部列境界を越えたと言われる。任意の斯かる
エレメントの行インデツクスは負である。MAC110,112
は、現在行インデツクスの符号ビツトから出た状態ビツ
トをマイクロシーケンサ122に供給する。
領域3,6又は9におけるエレメントは、入力形状又はマ
トリクスの上部行境界を越えたと言われる。任意の斯か
るエレメントは、正の列インデツクスを有するが、列長
さ202の整数値は、行長さ200より長いかあるいは等し
い。
各レベルの現在列インデツクスと入力形状の列長さとの
間に実行比較が行なわれる。MAC110,112は、この実行比
較の結果を示す状態ビツト154をマイクロシーケンサ122
に供給する。
領域7,8又は9におけるエレメントは、入力形状又はマ
トリクスの上部列境界を越えたと言われる。任意の斯か
るエレメントは、列長さより大きいかあるいは等しい整
数値の正の行インデツクスを有する。各レベルの現在行
インデツクスと列長さとの間に実行比較が行なわれる。
MAC110,112は、この実行比較の結果を示す状態ビツト15
5をマイクロシーケンサに供給する。
第11図乃至第14図に加えて第16図について説明する。MA
C112は、各エレメントが出力形状を定義する行インデツ
クス及び列インデツクス対によつて規定される場合の配
列変換に応答してエレメントのシーケンスを発生するこ
とを要求される。シーケンスにおけるあるエレメントか
ら次のエレメントへの移動は、行及び列変位レジスタ16
0の内容を規定し且つこれを現在ワーキングレジスア162
の内容に加え、MAC112における長さカウンタ182を減少
することによつて達成される。MAC112の下部レベルは、
この1次元移動に用いられる。下部レベルにおける変位
レジスタ160及び下部レベルにおけるワーキングレジス
タ162には、配列変換のΔ1変位インデツクスパラメー
タがロードされる。第16図に示す例の場合、ワーキング
レジスタ162には初期的には配列変換におけるΔ0によ
つて定義される点「1」のインデツクスによる実施モー
ドに行く前に先立ち命令インタプリタ36によつて直接ロ
ードされる。下部レベル変位レジスタ160の内容によつ
て規定される1次元における移動が終点(第16図のイン
デツクス6)に至り且つ長さカウンタが負である時は、
以下のことが生じる。即ち、同じMAC112の上部レベルに
おける変位レジスタ160は、そのレベルの現在インデツ
クスを次の直線シーケンス(即ち第16図において1から
7まで)移動するのに要する配列変換のΔ2変位インデ
ツクスを含む。下部レベルワーキングレジスタ162に戻
つてロードされ且つ妥当化された後、その結果は、MAC1
12の下部レベルワーキングレジスタ162にダウンロード
され、長さカウンタ数(LCN)レジスタ182は、長さ数
(LN)レジスタ180の内容から再ロードされる。MAC112
の下部レベルは、Δ1変位インデツクスパラメータによ
つて規定される第16図の7から12への直線シーケンスを
もう一度完成できる状態になつている。このプロセス
は、Δ1及びΔ2が変化しないため、2次元アドレスシ
ーケンスに対応する。また、この記述は、本実施例では
4次元迄の高次アドレスシーケンスに拡大できる。新し
い次元が求められる毎にMAC110,112ハードウエアの上部
レベルから下部レベルへの転送が要求される。従つて、
各Δ0ワーキングレジスタ162が、上部MAC110から下部M
AC112の転送を含む上のレベルからのアクセスを有する
ことはMAC110,112の要求条件である。
第16図及び第17図について説明する。第16図に示すイン
デツクス5,6及び12は、入力形状の外側即ち「規定領域
を越えている」と言われる。これらのインデツクスの発
生は、選択された境界モードに応じて別々に取り扱われ
る。MAC110,112の各レベルは、第4B図に示す長さ制御ワ
ードを記憶する長さ数レジスタ180を含んでいる。この
長さ数レジスタ180は、初期化の間にCI36からロード可
能であり、この制御ワードの1ビツトは、境界モードB
に割り当てられる。このビツトを通して選択可能な2つ
のモードは、「ラツプアラウンド」及び「ゼロ充填」で
ある。各々は、現在インデツクスが(境界状態ビツトに
よつて示された)領域外にある時、異なつたシステム応
答を求める。ゼロ充填モードの場合、規定領域外インデ
ツクスは「妥当」であるが、メモリから得られたデータ
は、ゼロに置き変えられる。書込みポートにおいて、デ
ータは単にメモリに書き込まれない。ラツプアラウンド
モードの場合、境界外のインデツクスは非妥当と見なさ
れる。唯1つの変位が入力形状(マトリクス)の外側の
インデツクスにおいて生じる場合、入力形状の内側のイ
ンデツクスを指示するように調節しなければならないこ
とはこのモードにおける要求条件である。第17図に示す
例の24から19に進むキンデツクス調節の場合、行長さは
列インデツクスから減算されることが要求される。4か
ら40に進むには、列長さが行インデツクスから引算され
ることが要求される。この調節要求条件を支持するため
には、MAC110,112アーキテクチヤは、MAC110,112の各レ
ベルにおける境界長さレジスタ144,145の長さの選択的
減算を行なう。
第10図について説明する.MAC110,112デバイスは、配列
変換において規定された初期基準又は開始点(Δ0)か
ら逸脱を表わす行及び列インデツクスを生成する。アド
レストランスレータ(AT)114は、乗算器118と共に、こ
の逸脱を30ビツトアドレス130に変換する。このアドレ
スを計算するために、AT114は、ベースアドレス、Δ0
(初期開始点)、行長さ(行におけるエレメントのL1,L
4数)、及びデータエレメントの充填因数(データエレ
メントを含むビツト数)を知らなければならない。これ
らの値は、A BUS30を通して行なわれる命令インタプリ
タ36による現在の命令実施の前にAT114にロードされ
る。AT114レジスタは、二重バンクにされ、これによ
り、命令インタプリタ36、AT114が現在命令を実施して
いる間に次の命令に対して作動する。
アドレストランスレータ114は、データのエレメントの
位置を識別するために、データの位置を識別する行イン
デツクス及び列インデツクスを直線アドレスに実質的に
変換する。AT114は、行長さ139を乗算器118に供給し、
乗算器118は、行インデツクス137逸脱に行長さ139を乗
算し、この結果をAT114に供給する。AT114は、この積に
列インデツクス138逸脱を加えて、これにより初期開始
点からの全インデツクス逸脱を得る。AT114は、インデ
ツクス逸脱をデータエレメントにおけるビツトの数を効
果的に乗算する充填因数に等しい量だけシフトすること
によりこのインデツクス逸脱を物理的逸脱に変換する。
このアドレス逸脱は、ベースアドレスに加えられ、これ
によりデータエレメントのための30ビツトアドレス130
を得る。この30ビツトアドレス130は現時点では、アク
セスされるべきデータエレメントの最上桁ビツトを示
す。高速フーリエ変換(FFT)計数アドレスを発生する
ための代替径路が存在する。この径路は、行長さを列イ
ンデツクス(乗算器167)に置き換え且つこの積と列イ
ンデツクスの和をその積自身(行インデツクスと列イン
デツクスの積)に置き換える。行インデツクス及び列イ
ンデツクスの積は、ROMメモリバンク60に記憶されてい
る複素指数の直線表への直線(線形)オフセツトを表わ
す。デジタルフーリエ変換(DFT)計数マトリクスは、
第18図に示されている。この図は、Wの指数が、行イン
デツクス及び列インデツクスの積であることを示してい
る。
第3図について説明する。データフオーマツタ(DF)10
4は、各々が32ビツトスライスを有する2つの同等な180
ピン2500ゲートCMOSゲート配列によつて実施され且つ読
出しあるいは書込みデータフオーマツタのどちらかとし
て構成され得る。この構成は、ハードワイヤード接続に
よつて制御される。
読出しフオーマツタとして、データフオーマツト104
は、メモリバンク59から64ビツト充填データを読出し、
データエレメントを解放し、全ての不必要なビツトをゼ
ロにシフト且つマスクし、正当化されたままのデータエ
レメントをAU38に与える。シフト量及びマスクパラメー
タ(即ち充填因子等)は、前に、命令インタプリタ36に
よつてデータフオーマツタ104にロードされている。ア
ドレストランスレータ114の場合と同じようにして、デ
ータフオーマツタ104制御レジスタも二重バンクにされ
る。全ての正常化計算は、命令インタプリタ36によつて
行なわれる。命令インタプリタ36は、シフト量によつて
結果のDF104を知らせる。
書込みフオーマツタとして、データフオーマツタ104に
は、演算ユニツト38からの正当化されたままのデータエ
レメントが与えられる。データフオーマツタ104は、読
出し修正書込みオペレーシヨンを実施し、これにより64
ビツトワードの変化しないエレメントの内のこの新しい
データエレメントをインテリジエントメモリ12に充填し
なければならない。インテリジエントメモリ12の制御回
路は、64ビツト境界が交差した場合にのみ読出し修正書
込みに対する読出しが行なわれる回路である。これによ
り、書込みポートによる不必要なメモリ読出しが防止さ
れる。
更に第3図について説明する。第3図には、メモリ制御
装置(MC)102が示されており、このメモリ制御装置
は、144ピン3500ゲートCMOSゲート配列によつて実施さ
れ得る。そして、この制御装置は、インテリジエントメ
モリ12パイプラインに対して全体的な中心制御を行な
う。更に、この制御装置は、命令インタプリタ36、演算
ユニツト38及びアービトレーシヨン及びスイツチングネ
ツトワーク62に対してインターフエースを行なう。
メモリ制御装置102のA BUS30インターフエースは、A BU
Sアドレスを復合し、これにより必要に応じてチツプ選
択を行ない、また、必要に応じて全てのA BUS制御信号
に対して作用しあるいはこれらを分配する。メモリ制御
装置102はまた、A BUS30データ径路のための双方向バツ
フアを制御する。この方法によつて、各インテリジエン
トメモリ16〜20ポートは、A BUS30に負荷を1つだけ与
え、全ての復号回路は、上記ポート16〜20の各々に対す
る1つの中心位置に存在する。
AUインターフエースは、演算ユニツト38にデータレデイ
及びデータ要求制御ラインを供給する。これらのライン
は、AU38とインテリジエントポート16,18,20との間のデ
ータ流を制御するのに用いられる。これらの制御ライン
の状態に基づいて、メモリ制御装置102は、必要に応じ
てインテリジエントポートパイプラインを選択的に開始
し且つ停止する能力を有している。
メモリ制御装置102はまた、アービトレーシヨン及びス
イツチングネツトワーク62へのインテリジエントポート
のインターフエースを行なう。メモリ制御装置102は、
アドレスジエネレータ100から30ビツトアドレス130を受
け、メモリアクセスが必要か否かを(64ビツトワード境
界が交差されたか否かを)を決定する。メモリアクセス
が必要である場合、メモリ制御装置102は、アービトレ
ーシヨン及びスイツチングネツトワーク62に対して3ビ
ツトBANK REQUEST93を発生する。メモリ制御装置103は
次に、アービトレーシヨン論理からのバンク肯定94信号
を求め、インテリジエントポートパイプラインを停止し
且つポートがメモリアービトレーシヨンを失なつたか否
かを演算ユニツト38に知らせる。斯くして、メモリ制御
装置102は、インテリジエントポートパイプラインを通
る且つインテリジエントポート16〜20、演算ユニツト38
とメモリバンク52〜60との間のデータの全体的流れを制
御する。
これで好ましい実施例の説明を完了する。しかしなが
ら、本発明の範囲から逸脱することなく多くの修正及び
変更が当業者に対しては明らかである。例えば、インテ
リジエイントメモリ12におけるRAM又はROM記憶位置の数
は、変化し且つインテリジエントポートの数はシステム
応用に応じて変化し得る。また、アドレスジエネレータ
100における乗算機118は、先ず直線アドレス変位を生成
し次にこれをメモリチツプの内側で行アドレス及び列ア
ドレスに分解する今迄の方法ではなく、行及び列インデ
ツクスに対して外部的に得られた場合は除去できる。こ
の場合、FFT計数は、ジユプレツクスモードにおいて規
定されたと同じような変数「デルタ」を用いて発生され
得る。更に、配列変換のパラメータ及び支持ハードウエ
アの実施例は、より高いランクの配列に対する付加的な
変位シーケンスを規定するために拡大することができ
る。
【図面の簡単な説明】
第1図は、本発明に係るインテリジエントメモリデバイ
スを用いているマクロ・フアンクシヨン信号プロセツサ
(MFSP)のブロツク図。第2図は、インテリジエントメ
モリ及びそのインターフエーシングバスのブロツク図。
第3図は、インテリジエントメモリポートを含む本発明
のブロツク図。第4A図及び第4B図は、配列変換を規定す
るための制御ワードフオーマツトを示す図。第5A図乃至
第5E図は、配列変換によつて規定された配列を転置する
ための因数分解されたアドレス指定のシーケンスを示す
図。第6図は、アドレスジエネレータの変位がマトリク
スの右エツジに遭遇する時の3つの境界モード及び関数
を示す図。第7図は、I;J;Kブロツクにおけるi,j及びk
変位の方向を示す図。第8図は、ラツプアラウンド境界
のためのブロツク内の幾つかの初期点を示す図。第9図
は、図の充填境界モードにおける幾つかの初期点を示す
図。第10図は、本発明に係るアドレスジエネレータのブ
ロツク図。第11図は、上部及び下部マトリクスアクセス
チツプ内の配列変換パラメータの位置を示す図。第12図
は、アクセスジエネレータのインデツクスジエネレータ
におけるマトリツクスチツプの1つのチツプのブロツク
図。第13図は、マトリクスアクセスチツプにおけるイン
デツクスジエネレータの1つのジエネレータのブロツク
図。第14図は、マトリクスアクセスチツプにおける長さ
カウンタの1つのカウンタのブロツク図。第15図は、行
境界及び列境界及び上記境界外の基準ゾーンを有するマ
トリクスを示す図。第16図は、出力形状を画成するため
にマトリクスアクセスチツプによつて発生されたエレメ
ントの1つの例示的シーケンスを示す図。第17図は、外
部配列境界からのインデツクス調整を示す図。第18図
は、Wの指数が行インデツクス及び列インデツクスの積
であることを示すデジタルフーリエ変換係数マトリクス
を示す図。 10…マクロフアンクシヨン信号プロセツサ(MFSP),12
…インテリジエントメモリ、24…ノード制御ユニツト、
32…制御プロセツサ、34…2ポートRAM,36…命令インタ
プリタ,38…演算ユニツト,40…システムI/O,50…64K×6
4RAM,60…メモリバンク4ROM16K×64,62…アービトレー
シヨン及びスイツチングネツトワーク62,80…変位制御
ワード,90…長さ制御ワード,100…アドレスジエネレー
タ,102…メモリ制御装置,111…インデツクスジエネレー
タ,114…アドレストランスレータ,116…マルチプレク
サ,118…乗算器,140…上部行インデツクスジエネレー
タ,141…上部列インデツクスジエネレータ,142…下部行
インデツクスジエネレータ,143…下部列インデツクスジ
エネレータ,144…列長さレジスタ,145…行長さレジス
タ,146,147…比較器,148,149…シフタ,150…上部長さカ
ウンタ,151…下部長さカウンタ,160…変位レジスタ,162
…ワーキングレジスタ,180…長さ数レジスタ,182…長さ
計数値レジスタ,188…デクリメント。

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】高水準プログラミング言語の配列変換に応
    答して多次元データ配列をアクセスするアドレス・ジェ
    ネレータにおいて、 前記配列変換によって規定される複数の多次元インデッ
    クスを発生するインデックス発生手段であって、前記配
    列変換が初期点パラメータと複数の変位及び長さパラメ
    ータ対とを含み、該パラメータ対の各々が前記初期点パ
    ラメータに対して相対的に表現される、インデックス発
    生手段と、 前記インデックス発生手段に結合され、前記多次元イン
    デックスを複数のネストされたアドレス・シーケンスに
    変換して、前記配列変換によって規定されたメモリ手段
    内に位置する前記データ配列のすべてのエレメントを順
    次アドレスするアドレス・トランスレータ手段と、 前記インデックス発生手段と前記トランスレータ手段に
    結合され、前記複数の変位及び長さパラメータ対の各対
    に従って前記多次元インデックスの発生と前記インデッ
    クスの前記ネストされたアドレス・シーケンスへのトラ
    ンスレーションを制御する信号を生じる単一化制御手段
    と、 前記インデックス発生手段、前記トランスレータ手段、
    及び前記制御手段に結合され、前記配列変換パラメータ
    を前記アドレス・ジェネレータに与えるバス手段と、 から構成されるアドレス・ジェネレータ。
  2. 【請求項2】前記インデックス発生手段が、前記配列変
    換の境界パラメータに従って前記データ配列の境界外の
    アドレス・シーケンスの発生を制御する手段を含む、特
    許請求の範囲第1項記載のアドレス・ジェネレータ。
  3. 【請求項3】前記インデックス発生手段と前記アドレス
    ・トランスレータ手段との間に結合される乗算器を有
    し、前記アドレス・トランスレーション動作中に行イン
    デックスに前記配列変換の行長さパラメータを乗算し
    て、インデックスされた行の始まりに対応するアドレス
    に対する線形オフセットを発生する、特許請求の範囲第
    1項記載のアドレス・ジェネレータ。
  4. 【請求項4】前記配列変換のパラメータが、ラップアラ
    ウンド・モード、ゼロ充填モード、及び境界無視モード
    を含む複数のモードで前記アドレス・ジェネレータを動
    作させる境界パラメータを含む、特許請求の範囲第1項
    記載のアドレス・ジェネレータ。
  5. 【請求項5】前記インデックス発生手段が、前記配列変
    換のパラメータのいずれかが配列の境界に達したとき、
    前記データ配列の反対側でアドレス・シーケンスのアド
    レスを発生するラップアラウンド・モード手段を含む、
    特許請求の範囲第1項記載のアドレス・ジェネレータ。
  6. 【請求項6】前記インデックス発生手段が、前記ネスト
    されたアドレス・シーケンスに対し、前記ラップアラウ
    ンド・モードにおいて前記データ配列を進行し、最後の
    アドレス点に達するまですべての境界を無視し前記配列
    変換の初期点パラメータによって規定される初期点に戻
    る境界無視モードを含む、特許請求の範囲第5項記載の
    アドレス・ジェネレータ。
  7. 【請求項7】前記バス手段が、前記配列変換パラメータ
    を構成する変位制御ワード及び長さ制御ワードを前記ア
    ドレス・ジェネレータに転送する特許請求の範囲第1項
    記載のアドレス・ジェネレータ。
  8. 【請求項8】前記インデックス発生手段が、前記ネスト
    されたアドレス・シーケンスに対し、前記ゼロ充填モー
    ドにおいて配列の最後のアドレス点に達するまで前記デ
    ータ配列を進行し、前記最後のアドレス点の後前記アド
    レス・シーケンスの発生を続行する境界無視モードを含
    む、特許請求の範囲第7項記載のアドレス・ジェネレー
    タ。
  9. 【請求項9】前記インデックス発生手段が、前記データ
    配列の境界外で発生されたアドレス・シーケンスのアド
    レスをそこにゼロが記憶されているものとして取り扱う
    ゼロ充填モード手段を含む、特許請求の範囲第1項記載
    のアドレス・ジェネレータ。
  10. 【請求項10】高水準プログラミング言語の配列変換に
    応答して多次元データ配列をアクセスするアドレス・ジ
    ェネレータにおいて、 複数の多次元インデックスを発生するインデックス発生
    手段であって、前記配列変換の初期点パラメータ、デル
    タ0、によって規定される初期点がロードされる、イン
    デックス発生手段と、 前記インデックス発生手段に前記配列変換の変位パラメ
    ータ、デルタ1を記憶する手段と、 前記アドレス・ジェネレータに前記配列変換の長さパラ
    メータ、L1を記憶する手段と、 前記インデックス発生手段において前記初期点を前記変
    位パラメータで前記長さパラメータに等しい複数の回数
    増分する手段と、 前記インデックス発生手段に結合され、前記インデック
    スを複数のネストされたアドレス・シーケンスに変換し
    て、前記配列変換によって規定されたメモリ手段内に位
    置する前記データ配列のすべてのエレメントを順次アド
    レスするトランスレータ手段と、 前記インデックス発生手段と前記トランスレータ手段に
    結合され、前記変位及び長さパラメータに従って前記多
    次元インデックスの発生と前記インデックスの前記ネス
    トされたアドレス・シーケンスへのトランスレーション
    を制御する信号を生じる単一化制御手段と、 前記インデックス発生手段、前記トランスレータ手段、
    及び前記制御手段に結合され、前記配列変換パラメータ
    を前記アドレス・ジェネレータに与えるバス手段と、 から構成されるアドレス・ジェネレータ。
  11. 【請求項11】前記インデックス発生手段が行インデッ
    クス・ジェネレータと列インデックス・ジェネレータを
    含む特許請求の範囲第10項記載のアドレス・ジェネレー
    タ。
JP61078087A 1985-04-05 1986-04-04 アドレス・ジエネレータ Expired - Lifetime JPH0731629B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US720330 1976-09-03
US72033085A 1985-04-05 1985-04-05

Publications (2)

Publication Number Publication Date
JPS61231639A JPS61231639A (ja) 1986-10-15
JPH0731629B2 true JPH0731629B2 (ja) 1995-04-10

Family

ID=24893595

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61078087A Expired - Lifetime JPH0731629B2 (ja) 1985-04-05 1986-04-04 アドレス・ジエネレータ

Country Status (5)

Country Link
EP (1) EP0201174B1 (ja)
JP (1) JPH0731629B2 (ja)
AU (2) AU582632B2 (ja)
CA (1) CA1250370A (ja)
DE (1) DE3650754T2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4882683B1 (en) * 1987-03-16 1995-11-07 Fairchild Semiconductor Cellular addrssing permutation bit map raster graphics architecture
JP2690932B2 (ja) * 1988-03-18 1997-12-17 株式会社日立製作所 ディジタル信号処理プロセッサおよびディシタル信号処理プロセッサシステム
US6170046B1 (en) * 1997-10-28 2001-01-02 Mmc Networks, Inc. Accessing a memory system via a data or address bus that provides access to more than one part
GB0130534D0 (en) * 2001-12-20 2002-02-06 Aspex Technology Ltd Improvements relating to data transfer addressing
WO2012070683A1 (ja) * 2010-11-24 2012-05-31 日本電気株式会社 メモリ制御装置、及びメモリ制御方法
CN113282314B (zh) * 2021-05-12 2024-04-12 聚融医疗科技(杭州)有限公司 一种超声扫描控制参数下发方法及系统
US20230244599A1 (en) * 2022-01-29 2023-08-03 Ceremorphic, Inc. Programmable Multi-Level Data Access Address Generator

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4051551A (en) * 1976-05-03 1977-09-27 Burroughs Corporation Multidimensional parallel access computer memory system
JPS6051732B2 (ja) * 1978-08-31 1985-11-15 富士通株式会社 デ−タ・ベ−スを有するデ−タ処理システム

Also Published As

Publication number Publication date
AU5486086A (en) 1986-10-09
DE3650754D1 (de) 2001-08-02
AU582632B2 (en) 1989-04-06
EP0201174B1 (en) 2001-05-16
EP0201174A3 (en) 1988-12-14
EP0201174A2 (en) 1986-11-12
JPS61231639A (ja) 1986-10-15
AU602293B2 (en) 1990-10-04
CA1262968C (ja) 1989-11-14
CA1250370A (en) 1989-02-21
DE3650754T2 (de) 2001-09-20
AU3478789A (en) 1989-09-07

Similar Documents

Publication Publication Date Title
US4959776A (en) Method and apparatus for addressing a memory by array transformations
US4819152A (en) Method and apparatus for addressing a memory by array transformations
US6260088B1 (en) Single integrated circuit embodying a risc processor and a digital signal processor
KR100319770B1 (ko) 영상화 및 그래픽 처리 시스템내에서의 다차원 주소발생방법
US6948050B1 (en) Single integrated circuit embodying a dual heterogenous processors with separate instruction handling hardware
US4974146A (en) Array processor
US7836116B1 (en) Fast fourier transforms and related transforms using cooperative thread arrays
US8694570B2 (en) Method and apparatus for evaluation of multi-dimensional discrete fourier transforms
JPS5927944B2 (ja) マトリクスデ−タ並列処理システム
EP0532700A4 (en) Multi-dimensional processor system and processor array with massively parallel input/output
US20200050573A1 (en) Superimposing butterfly network controls for pattern combinations
JP2931097B2 (ja) 並列処理アレイの動作をシミュレートするデジタルプロセッサ
JPH0731629B2 (ja) アドレス・ジエネレータ
Johnsson et al. Computing fast Fourier transforms on Boolean cubes and related networks
US9582474B2 (en) Method and apparatus for performing a FFT computation
US5056014A (en) Network simulation system
JPH0477346B2 (ja)
Gupta et al. IMPLEMENTING FAST FOURIER TRANSFORMS ON DISTRIBUTED-MEMORY MULTIPROCESSSORS USING DATA REDISTRIBUTIONS
JPH07271744A (ja) 並列計算機
KAMIN III et al. Fast Fourier transform algorithm design and tradeoffs on the CM-2
Johnsson et al. High radix FFT on Boolean cube networks
CA1262968A (en) Method and apparatus for addressing a memory by array transformations
JP2003186866A (ja) データ駆動型情報処理装置およびその処理方法
Loucks et al. A Vector Processor Based on One-Bit Microprocessors.
US20240045922A1 (en) Zero padding for convolutional neural networks

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term