JPH0764853A - Simdマルチプロセッサ用の可変正確度間接的アドレス方法およびそれを行う装置 - Google Patents
Simdマルチプロセッサ用の可変正確度間接的アドレス方法およびそれを行う装置Info
- Publication number
- JPH0764853A JPH0764853A JP6190729A JP19072994A JPH0764853A JP H0764853 A JPH0764853 A JP H0764853A JP 6190729 A JP6190729 A JP 6190729A JP 19072994 A JP19072994 A JP 19072994A JP H0764853 A JPH0764853 A JP H0764853A
- Authority
- JP
- Japan
- Prior art keywords
- local memory
- processing element
- shift register
- bit
- processing
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title description 10
- 238000012545 processing Methods 0.000 claims abstract description 72
- 238000012546 transfer Methods 0.000 claims abstract description 13
- 238000013461 design Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
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)
- Multi Processors (AREA)
- Memory System (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】
【目的】 本発明は、単一命令流多重データ流実行規範
にしたがった並列処理構造のコンピュータで間接的アド
レスおよび表検索を実行することのできるコンピュータ
構造を提供することを目的とする。 【構成】 処理素子10に関係し、命令の第1の予め定め
られたセットにしたがって関係した処理素子10によって
計算あるいは負荷された局部的メモリオフセットアドレ
ス値を受信し、そこに保持するように構成されている処
理素子シフトレジスタ29を具備し、この処理素子シフト
レジスタは処理素子と関係した局部的メモリの局部的メ
モリシフトレジスタ29にその内容をビット単位で転送す
るように構成され、最上位桁のビット位置のビット値が
命令の第2の予め定められたセットにしたがって局部的
メモリシフトレジスタ29の最下位桁のビット位置に順次
転送されることを特徴とする。
にしたがった並列処理構造のコンピュータで間接的アド
レスおよび表検索を実行することのできるコンピュータ
構造を提供することを目的とする。 【構成】 処理素子10に関係し、命令の第1の予め定め
られたセットにしたがって関係した処理素子10によって
計算あるいは負荷された局部的メモリオフセットアドレ
ス値を受信し、そこに保持するように構成されている処
理素子シフトレジスタ29を具備し、この処理素子シフト
レジスタは処理素子と関係した局部的メモリの局部的メ
モリシフトレジスタ29にその内容をビット単位で転送す
るように構成され、最上位桁のビット位置のビット値が
命令の第2の予め定められたセットにしたがって局部的
メモリシフトレジスタ29の最下位桁のビット位置に順次
転送されることを特徴とする。
Description
【0001】
【産業上の利用分野】本発明は、一般にコンピュータ構
造に関し、特に単一命令流多重データ流(SIMD)多
重プロセッサ構造における間接的なアドレスおよび検索
表を実行を可能にする方法および装置に関する。
造に関し、特に単一命令流多重データ流(SIMD)多
重プロセッサ構造における間接的なアドレスおよび検索
表を実行を可能にする方法および装置に関する。
【0002】
【従来の技術】現存のSIMDコンピュータ構造におい
て、通常、メモリはメモリ位置の単一平面としてプロセ
ッサアレイによってアクセスされる。
て、通常、メモリはメモリ位置の単一平面としてプロセ
ッサアレイによってアクセスされる。
【0003】通常のSIMD構造において、メモリアド
レス位置は命令ワードと共に制御装置によって全処理素
子に放送される。通常、この構造はメモリにおけるデー
タの単一平面をアクセスする処理素子を生じる。
レス位置は命令ワードと共に制御装置によって全処理素
子に放送される。通常、この構造はメモリにおけるデー
タの単一平面をアクセスする処理素子を生じる。
【0004】
【発明が解決しようとする課題】データのこの平面から
のオフセットは、各プロセッサにおける局部的データに
基づいて各プロセッサに関係した局部的メモリアドレス
を特定化あるいは変更するための手段がないので、この
構造を使用して行われることはできない。
のオフセットは、各プロセッサにおける局部的データに
基づいて各プロセッサに関係した局部的メモリアドレス
を特定化あるいは変更するための手段がないので、この
構造を使用して行われることはできない。
【0005】このロックステップ方法の結果として、単
一命令流多重データ流実行規範に従っている並列処理構
造において間接的なアドレスおよび検索表を効果的に実
行することは特に難しい。間接的なアドレスは動作の直
列化を必要とし、Nプロセッサシステムにおいてメモリ
アクセスを実行するためにO(N)サイクルを使用す
る。
一命令流多重データ流実行規範に従っている並列処理構
造において間接的なアドレスおよび検索表を効果的に実
行することは特に難しい。間接的なアドレスは動作の直
列化を必要とし、Nプロセッサシステムにおいてメモリ
アクセスを実行するためにO(N)サイクルを使用す
る。
【0006】
【課題を解決するための手段】一般に、本発明は、単一
命令流多重データ流実行規範に追従している並列処理構
造における間接的アドレスおよび検索表を実行する方法
およびコンピュータ構造で実施される。
命令流多重データ流実行規範に追従している並列処理構
造における間接的アドレスおよび検索表を実行する方法
およびコンピュータ構造で実施される。
【0007】SIMD構造は処理素子のアレイに接続さ
れた制御装置素子を利用し、それにおける各処理素子は
局部的メモリアドレスシフトレジスタを有する局部的メ
モリと関係している。局部的メモリアドレスシフトレジ
スタは、処理素子とその各局部的メモリの間のアクセス
および転送データにおける処理素子による使用のため
に、ホストコンピュータ、あるいは制御装置素子から受
信された全体的な放送メモリベースレジスタアドレス値
を受信し、保持するように構成されている。
れた制御装置素子を利用し、それにおける各処理素子は
局部的メモリアドレスシフトレジスタを有する局部的メ
モリと関係している。局部的メモリアドレスシフトレジ
スタは、処理素子とその各局部的メモリの間のアクセス
および転送データにおける処理素子による使用のため
に、ホストコンピュータ、あるいは制御装置素子から受
信された全体的な放送メモリベースレジスタアドレス値
を受信し、保持するように構成されている。
【0008】各処理素子は、命令の第1の予め定められ
たセットに従って処理素子によって計算あるいは負荷さ
れた局部的メモリオフセットアドレス値を受信し、保持
するように構成されている処理素子シフトレジスタと関
連する。処理素子シフトレジスタはその関係した局部的
メモリの局部的メモリシフトレジスタにその内容をビッ
トずつ転送するように構成されており、最上位桁のビッ
ト位置のビット値は命令の第2の予め定められたセット
に従って局部的メモリシフトレジスタの最下位桁のビッ
ト位置に順次転送される。
たセットに従って処理素子によって計算あるいは負荷さ
れた局部的メモリオフセットアドレス値を受信し、保持
するように構成されている処理素子シフトレジスタと関
連する。処理素子シフトレジスタはその関係した局部的
メモリの局部的メモリシフトレジスタにその内容をビッ
トずつ転送するように構成されており、最上位桁のビッ
ト位置のビット値は命令の第2の予め定められたセット
に従って局部的メモリシフトレジスタの最下位桁のビッ
ト位置に順次転送される。
【0009】代りとなるものとして、処理素子シフトレ
ジスタは、以下にさらに十分に説明されるような並列転
送においてその関係した局部的メモリの局部的メモリシ
フトレジスタにその内容を転送するように構成されるこ
とができる。
ジスタは、以下にさらに十分に説明されるような並列転
送においてその関係した局部的メモリの局部的メモリシ
フトレジスタにその内容を転送するように構成されるこ
とができる。
【0010】与えられた本発明の説明は、特定の構成へ
の本発明の設計および構成の一般的なガイドラインとし
て行われる。それ故、クロック速度、各レジスタにおけ
るビット数等のような設計の特定の詳細は、構成技術お
よび最終的な製品の割り当てられたコストに基づいて決
定される。以下において、本発明の特別な詳細が詳述さ
れている。本発明の構造および動作の新しい特徴は、本
発明の装置の好ましい形が示されており、同じ符号が同
じ部分を示す添付図面と共に以下の説明においてさらに
明瞭となるであろう。
の本発明の設計および構成の一般的なガイドラインとし
て行われる。それ故、クロック速度、各レジスタにおけ
るビット数等のような設計の特定の詳細は、構成技術お
よび最終的な製品の割り当てられたコストに基づいて決
定される。以下において、本発明の特別な詳細が詳述さ
れている。本発明の構造および動作の新しい特徴は、本
発明の装置の好ましい形が示されており、同じ符号が同
じ部分を示す添付図面と共に以下の説明においてさらに
明瞭となるであろう。
【0011】
【実施例】図面を参照すると、本発明の好ましい実施例
は、種々の神経ネットワークの処理に関係した計算の効
率的な実行のためにプラットホームを供給する方法およ
び装置に関して説明されている。本発明は、単一命令流
多重データ流(SIMD)媒体または微粒子の並列式コ
ンピュータとしておおよそ分類されるコンピュータ構造
において実施される。このような実施例の最高レベル構
造は、各処理素子10が2次元プロセッサアレイ格子12上
に配列されている図1に示されている。
は、種々の神経ネットワークの処理に関係した計算の効
率的な実行のためにプラットホームを供給する方法およ
び装置に関して説明されている。本発明は、単一命令流
多重データ流(SIMD)媒体または微粒子の並列式コ
ンピュータとしておおよそ分類されるコンピュータ構造
において実施される。このような実施例の最高レベル構
造は、各処理素子10が2次元プロセッサアレイ格子12上
に配列されている図1に示されている。
【0012】この構造は、ホストコンピュータ16、制御
装置18、およびプロセッサアレイ20の機能的装置の3つ
の主なグループ化において最も容易に論じられる。
装置18、およびプロセッサアレイ20の機能的装置の3つ
の主なグループ化において最も容易に論じられる。
【0013】制御装置18は、ホストコンピュータ16およ
びプロセッサアレイ20の両方にインターフェイスする。
制御装置18は、ホストコンピュータ16によってアクセス
されることができるマイクロプログラムメモリ領域32を
含む。高いレベルのプログラムはホストコンピュータ16
において書き込まれて編集され、生成された制御情報は
ホストコンピュータ16から制御装置18のマイクロプログ
ラムメモリ32に下方負荷されることができる。制御装置
18は、各処理サイクル中に命令および恐らくはメモリア
ドレスをプロセッサアレイ20に放送する。プロセッサア
レイ20中の処理素子10は、各処理素子10において利用可
能なマスクフラッグに基づいて制御装置18から受信され
る動作を実行する。
びプロセッサアレイ20の両方にインターフェイスする。
制御装置18は、ホストコンピュータ16によってアクセス
されることができるマイクロプログラムメモリ領域32を
含む。高いレベルのプログラムはホストコンピュータ16
において書き込まれて編集され、生成された制御情報は
ホストコンピュータ16から制御装置18のマイクロプログ
ラムメモリ32に下方負荷されることができる。制御装置
18は、各処理サイクル中に命令および恐らくはメモリア
ドレスをプロセッサアレイ20に放送する。プロセッサア
レイ20中の処理素子10は、各処理素子10において利用可
能なマスクフラッグに基づいて制御装置18から受信され
る動作を実行する。
【0014】プロセッサアレイ装置20は、全ての処理素
子10および支持相互接続ネットワーク14を含む。プロセ
ッサアレイ20における各処理素子10は、構造のメモリ空
間23内のメモリの局部的列に直接アクセスしている。こ
の分布されたメモリ機構により、メモリ衝突は除去され
る。その結果としてハードウェアおよびソフトウェアの
両方の設計を簡単にする。
子10および支持相互接続ネットワーク14を含む。プロセ
ッサアレイ20における各処理素子10は、構造のメモリ空
間23内のメモリの局部的列に直接アクセスしている。こ
の分布されたメモリ機構により、メモリ衝突は除去され
る。その結果としてハードウェアおよびソフトウェアの
両方の設計を簡単にする。
【0015】本発明の構造において、処理素子10はシス
テムの計算エンジンを形成する。上記されたように、処
理素子10はプロセッサアレイ20の一部であり、同じ命令
流をすべて受信するが、それら自体の局部的データ流に
ついて要求された動作を実行する。各処理素子10は、図
2に示されているように多数の機能ユニット24、小型レ
ジスタファイル26、プロセッサ内通信ポート28、シフト
レジスタ(S/R)29、およびマスクフラッグ30から構
成されている。
テムの計算エンジンを形成する。上記されたように、処
理素子10はプロセッサアレイ20の一部であり、同じ命令
流をすべて受信するが、それら自体の局部的データ流に
ついて要求された動作を実行する。各処理素子10は、図
2に示されているように多数の機能ユニット24、小型レ
ジスタファイル26、プロセッサ内通信ポート28、シフト
レジスタ(S/R)29、およびマスクフラッグ30から構
成されている。
【0016】プロセッサアレイ20にメモリアドレスおよ
び制御命令を供給することに加えて、各命令ワードは、
メモリアドレス変更レジスタ29へのデータの負荷および
シフトを制御するために特定のフィールドを含む。この
フィールドは、命令によって供給されるメモリアドレス
が表検索の場合のように各処理素子10における同じ局部
的情報に基づいて独特に変更される必要があるときに使
用される。
び制御命令を供給することに加えて、各命令ワードは、
メモリアドレス変更レジスタ29へのデータの負荷および
シフトを制御するために特定のフィールドを含む。この
フィールドは、命令によって供給されるメモリアドレス
が表検索の場合のように各処理素子10における同じ局部
的情報に基づいて独特に変更される必要があるときに使
用される。
【0017】本発明を実施するコンピュータ構造の新し
い特徴は、SIMD構造における間接的アドレスを実行
するためのハードウェア支持機構あるいは可変正確度の
検索表にある。
い特徴は、SIMD構造における間接的アドレスを実行
するためのハードウェア支持機構あるいは可変正確度の
検索表にある。
【0018】神経ネットワークモデルは、SIMD構造
における本発明の使用の実際例である。このような神経
ネットワークモデルは、S字湾曲部、傾斜、およびしき
い値関数のような種々の非線形伝達関数を使用する。こ
れらの関数は、検索表の使用によって効果的に実行され
ることができる。SIM構造上の検索表機構の実行は、
各処理素子10における幾つかの局部値に基づいて制御装
置18によって供給されるメモリアドレスの生成あるいは
変形方法を必要とする。
における本発明の使用の実際例である。このような神経
ネットワークモデルは、S字湾曲部、傾斜、およびしき
い値関数のような種々の非線形伝達関数を使用する。こ
れらの関数は、検索表の使用によって効果的に実行され
ることができる。SIM構造上の検索表機構の実行は、
各処理素子10における幾つかの局部値に基づいて制御装
置18によって供給されるメモリアドレスの生成あるいは
変形方法を必要とする。
【0019】D.W.Blevins 氏、E.W.Davis 氏、R.A.Heat
on氏およびJ.H.Rief氏によって開発され、文献(1990年
のParallel and Distributed Computing、第8巻、150
乃至160 頁)に記載されたBLITZENと呼ばれる従
来の構造は、局部的レジスタ値を制御装置によって供給
されるメモリアドレスの10個の最上位桁ビットを論理
的オア処理することによってこの目的を実行する。この
ような方法は、汎用の神経コンピュータ設計に必要とさ
れるような十分な柔軟性は提供しない。神経ネットワー
クによって許容されるニューロン出力値の量子化の正確
さあるいはレベルは、異なる神経ネットワークモデルお
よび各モデルの異なる適用の間に顕著に(2から16ビ
ットへ)変化することができる。
on氏およびJ.H.Rief氏によって開発され、文献(1990年
のParallel and Distributed Computing、第8巻、150
乃至160 頁)に記載されたBLITZENと呼ばれる従
来の構造は、局部的レジスタ値を制御装置によって供給
されるメモリアドレスの10個の最上位桁ビットを論理
的オア処理することによってこの目的を実行する。この
ような方法は、汎用の神経コンピュータ設計に必要とさ
れるような十分な柔軟性は提供しない。神経ネットワー
クによって許容されるニューロン出力値の量子化の正確
さあるいはレベルは、異なる神経ネットワークモデルお
よび各モデルの異なる適用の間に顕著に(2から16ビ
ットへ)変化することができる。
【0020】変化する寸法の検索表を適応させるため、
本発明を実施する構造は、制御装置18によって供給され
るアドレスを変化させるために使用されている図3にお
ける2つのシフトレジスタ44、46(図3におけるシフト
レジスタ44は図2におけるシフトレジスタと同等のもの
である)を設ける。1つのシフトレジスタ44は処理素子
10と関係しており、検索表をアドレスするために使用さ
れるデータ値を保持する。他方のシフトレジスタ46は処
理素子の局部的メモリ38と関係しており、制御装置18か
ら受信されるアドレスを変更するために使用される。図
3を参照すると、2k の大きさの表に関する表検索過程
は、制御装置18が放送命令を使用している各処理素子の
局部的メモリ38と関係した各シフトレジスタ46に表のベ
ースアドレスを負荷するときに開始される。ベースアド
レス値は、制御装置18によて放送される前にkビットだ
け正確にシフトされる。これは、適当な値がkビットオ
フセット値の増加後に使用されていることを保証する。
オフセット値は、メモリアドレスレジスタ46の最上位桁
のビットから最下位桁のビットに動く処理素子10におけ
る局部的レジスタ44から同時に1ビットをこのレジスタ
46にシフトされる。このシフト動作のための制御信号は
制御装置18によって生成され、マイクロ命令ワードの一
部として全処理素子10に放送される。この過程に関し
て、2k の大きさの表に関するアドレスは、各プロセッ
サによってk個の時間ステップにおいて生成されること
ができる。ビット単位のシフト動作を使用することによ
って、可変の正確度はメモリアレイ22からのデータのア
クセスにおいて達成される。
本発明を実施する構造は、制御装置18によって供給され
るアドレスを変化させるために使用されている図3にお
ける2つのシフトレジスタ44、46(図3におけるシフト
レジスタ44は図2におけるシフトレジスタと同等のもの
である)を設ける。1つのシフトレジスタ44は処理素子
10と関係しており、検索表をアドレスするために使用さ
れるデータ値を保持する。他方のシフトレジスタ46は処
理素子の局部的メモリ38と関係しており、制御装置18か
ら受信されるアドレスを変更するために使用される。図
3を参照すると、2k の大きさの表に関する表検索過程
は、制御装置18が放送命令を使用している各処理素子の
局部的メモリ38と関係した各シフトレジスタ46に表のベ
ースアドレスを負荷するときに開始される。ベースアド
レス値は、制御装置18によて放送される前にkビットだ
け正確にシフトされる。これは、適当な値がkビットオ
フセット値の増加後に使用されていることを保証する。
オフセット値は、メモリアドレスレジスタ46の最上位桁
のビットから最下位桁のビットに動く処理素子10におけ
る局部的レジスタ44から同時に1ビットをこのレジスタ
46にシフトされる。このシフト動作のための制御信号は
制御装置18によって生成され、マイクロ命令ワードの一
部として全処理素子10に放送される。この過程に関し
て、2k の大きさの表に関するアドレスは、各プロセッ
サによってk個の時間ステップにおいて生成されること
ができる。ビット単位のシフト動作を使用することによ
って、可変の正確度はメモリアレイ22からのデータのア
クセスにおいて達成される。
【0021】可変正確度の検索が必要でない場合、本発
明は処理素子10における局部的レジスタ44の内容のレジ
スタ46への並列転送によって実行される。ビット単位の
直列シフト機構の利点に優るこれら2つのレジスタ間の
データの並列シフトの利点は、構造の単一サイクルだけ
しか必要とされないことである。しかしながら、それは
構造の様々な機能的部品を具備している物理的なチップ
の相互接続のためにさらに物理的なピンおよびワイヤを
必要とし、メモリ中に保持されている所望の表に一定の
正確度のみを提供する。
明は処理素子10における局部的レジスタ44の内容のレジ
スタ46への並列転送によって実行される。ビット単位の
直列シフト機構の利点に優るこれら2つのレジスタ間の
データの並列シフトの利点は、構造の単一サイクルだけ
しか必要とされないことである。しかしながら、それは
構造の様々な機能的部品を具備している物理的なチップ
の相互接続のためにさらに物理的なピンおよびワイヤを
必要とし、メモリ中に保持されている所望の表に一定の
正確度のみを提供する。
【0022】同様に、上記されたビット単位のシフト方
式は並列転送方式に優る利点として、単一の出力ピンお
よびワイヤのみを必要とし、所望のメモリ表に可変正確
度を提供する。しかしながら、それは、別の方式の並列
転送よりもビット単位形式でレジスタ内容をシフトして
出力するためにさらに機械サイクルを必要とする。
式は並列転送方式に優る利点として、単一の出力ピンお
よびワイヤのみを必要とし、所望のメモリ表に可変正確
度を提供する。しかしながら、それは、別の方式の並列
転送よりもビット単位形式でレジスタ内容をシフトして
出力するためにさらに機械サイクルを必要とする。
【0023】上記された発明は、もちろん多くの変形、
変更および変化が可能であり、それらは当業者の技術的
範囲内である。このような全ての変形、変更および変化
が本発明および特許請求の範囲の技術的範囲内であるこ
とは理解されるべきである。同様に、例示の目的に関し
て開示された本発明の好ましい実施例の全ての変化、変
更および変形は本発明の技術的範囲から逸脱することな
くカバーされるものである。
変更および変化が可能であり、それらは当業者の技術的
範囲内である。このような全ての変形、変更および変化
が本発明および特許請求の範囲の技術的範囲内であるこ
とは理解されるべきである。同様に、例示の目的に関し
て開示された本発明の好ましい実施例の全ての変化、変
更および変形は本発明の技術的範囲から逸脱することな
くカバーされるものである。
【図1】本発明を実施しているコンピュータ構造の最高
レベル設計を示している理想的な概略ブロック図。
レベル設計を示している理想的な概略ブロック図。
【図2】本発明を実施している図1と類似したコンピュ
ータ構造におけるプロセッサアレイを形成している処理
素子の最高レベル設計を示している理想化された概略ブ
ロック図。
ータ構造におけるプロセッサアレイを形成している処理
素子の最高レベル設計を示している理想化された概略ブ
ロック図。
【図3】本発明を実施している図1と類似したコンピュ
ータ構造におけるプロセッサおよびメモリレベル設計を
示している理想化された概略ブロック図。
ータ構造におけるプロセッサおよびメモリレベル設計を
示している理想化された概略ブロック図。
Claims (4)
- 【請求項1】 制御装置素子が、全体的な放送メモリベ
ースアドレス値を受信し、そこに保持するように構成さ
れた局部的メモリアドレスシフトレジスタを有している
局部的メモリを備えた少なくとも1つの処理素子に接続
されており、前記全体的な放送メモリベースアドレス値
は処理素子とその各局部的メモリとの間のデータのアク
セスおよび転送のために処理素子が使用するために制御
素子から受信される、単一命令流多重データ流実行規範
にしたがった並列処理構造で間接的アドレスおよび表検
索を実行するコンピュータ構造において、 少なくとも1つの処理素子に関係し、命令の第1の予め
定められたセットにしたがって関係した処理素子によっ
て計算あるいは負荷された局部的メモリオフセットアド
レス値を受信し、そこに保持するように構成されている
処理素子シフトレジスタを具備し、この処理素子シフト
レジスタは処理素子と関係した局部的メモリの局部的メ
モリシフトレジスタにその内容をビット単位で転送する
ように構成され、最上位桁のビット位置のビット値が命
令の第2の予め定められたセットにしたがって局部的メ
モリシフトレジスタの最下位桁のビット位置に順次転送
されることを特徴とするコンピュータ構造。 - 【請求項2】 制御装置素子が、全体的な放送メモリベ
ースアドレス値を受信し、そこに保持するように構成さ
れた局部的メモリアドレスシフトレジスタを有している
局部的メモリを備えた少なくとも1つの処理素子に接続
されており、前記全体的な放送メモリベースアドレス値
は処理素子とその各局部的メモリとの間のデータのアク
セスおよび転送のために処理素子が使用するために制御
素子から受信される、単一命令流多重データ流実行規範
にしたがった並列処理構造で間接的アドレスおよび表検
索を実行するコンピュータ構造において、 少なくとも1つの処理素子に関係し、命令の第1の予め
定められたセットにしたがって関係した処理素子によっ
て計算あるいは負荷された局部的メモリオフセットアド
レス値を受信し、そこに保持するように構成されている
処理素子シフトレジスタを具備し、この処理素子シフト
レジスタは処理素子と関係した局部的メモリの局部的メ
モリシフトレジスタにその内容を2つのレジスタ間の並
列転送で転送するように構成されることを特徴とするコ
ンピュータ構造。 - 【請求項3】 単一命令流多重データ流実行規範にした
がっている並列処理構造で間接的アドレスおよび表検索
を実行するコンピュータ構造において、 少なくとも1つの処理素子に接続されている制御素子を
具備し、前記処理素子は全体的な放送メモリベースアド
レス値を受信し、保持するように構成された局部的メモ
リアドレスシフトレジスタを有する局部的メモリと関連
し、前記全体的な放送メモリベースアドレス値は処理素
子とその各局部的メモリとの間のデータのアクセスおよ
び転送のために処理素子が使用するために前記制御素子
から受信され、 前記少なくとも1つの処理素子はさらに、命令の第1の
予め定められたセットにしたがって前記処理素子によっ
て計算あるいは負荷された局部的メモリオフセットアド
レス値を受信し、そこに保持するように構成されている
処理素子シフトレジスタに関連し、この処理素子シフト
レジスタは処理素子と関連した前記局部的メモリの局部
的メモリシフトレジスタにその内容をビット単位で転送
するように構成され、最上位桁のビット位置のビット値
が命令の第2の予め定められたセットにしたがって局部
的メモリシフトレジスタの最下位桁のビット位置に順次
転送されることを特徴とするコンピュータ構造。 - 【請求項4】 複数の処理素子に接続され、関係した処
理素子とその関係した局部的メモリとの間のデータのア
クセスおよび転送のために局部的メモリシフトレジスタ
を備えた局部的メモリが各処理素子と関係している制御
装置を有しており、コンピュータシステムと、単一命令
流多重データ流実行規範にしたがっている並列処理構造
で間接的なアドレスおよび表検索を実行するコンピュー
タシステムにおけるコンピュータ構造おいて、 処理素子のそれぞれ1つと関係し、局部的メモリオフセ
ットアドレス値を受信し、そこに保持するようにそれぞ
れ構成されている複数の処理素子シフトレジスタを具備
し、前記局部的メモリオフセットアドレス値は命令の第
1の予め定められたセットにしたがってそれぞれ関係し
た処理素子によって計算され、前記各処理素子シフトレ
ジスタは処理素子と関係した局部的メモリの局部的メモ
リシフトレジスタにその内容をビット単位で転送するよ
うに構成され、最上位桁のビット位置のビット値が命令
の第2の予め定められたセットにしたがって局部的メモ
リシフトレジスタの最下位桁のビット位置に順次転送さ
れることを特徴とするコンピュータ構造。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US106343 | 1979-12-21 | ||
US08/106,343 US5526501A (en) | 1993-08-12 | 1993-08-12 | Variable accuracy indirect addressing scheme for SIMD multi-processors and apparatus implementing same |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0764853A true JPH0764853A (ja) | 1995-03-10 |
Family
ID=22310902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6190729A Pending JPH0764853A (ja) | 1993-08-12 | 1994-08-12 | Simdマルチプロセッサ用の可変正確度間接的アドレス方法およびそれを行う装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5526501A (ja) |
EP (1) | EP0638868A3 (ja) |
JP (1) | JPH0764853A (ja) |
CA (1) | CA2129497A1 (ja) |
IL (1) | IL110607A0 (ja) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3276782B2 (ja) * | 1994-08-18 | 2002-04-22 | 本田技研工業株式会社 | 電動補助自転車 |
FR2737589B1 (fr) | 1995-07-31 | 1997-09-12 | Suisse Electronique Microtech | Systeme d'organisation et procede de sequencement des circuits d'un microprocesseur |
CN1120413C (zh) * | 1998-04-01 | 2003-09-03 | 北京多思科技工业园股份有限公司 | 数据相关串行操作的错位并行处理方法 |
US6334176B1 (en) * | 1998-04-17 | 2001-12-25 | Motorola, Inc. | Method and apparatus for generating an alignment control vector |
US6275984B1 (en) | 1998-11-20 | 2001-08-14 | Sega Of America, Inc. | System and method for delaying indirect register offset resolution |
GB2348979A (en) * | 1999-04-09 | 2000-10-18 | Pixelfusion Ltd | Parallel data processing system with shared memory |
US7506136B2 (en) | 1999-04-09 | 2009-03-17 | Clearspeed Technology Plc | Parallel data processing apparatus |
US7526630B2 (en) | 1999-04-09 | 2009-04-28 | Clearspeed Technology, Plc | Parallel data processing apparatus |
GB2348980B (en) * | 1999-04-09 | 2004-05-12 | Pixelfusion Ltd | Parallel data processing systems |
US7627736B2 (en) | 1999-04-09 | 2009-12-01 | Clearspeed Technology Plc | Thread manager to control an array of processing elements |
HUP0102356A2 (hu) * | 2001-06-06 | 2003-02-28 | Afca-System Kft. | Eljárás és kapcsolási elrendezés előnyösen ciklikusan ismétlődő adatfeldolgozási feladatok párhuzamos üzemű végrehajtására, továbbá az eljárás végrehajtásához szükséges műveleti kódok előállítására és szimulálására szolgáló programrendszer |
US7673223B2 (en) * | 2001-06-15 | 2010-03-02 | Qualcomm Incorporated | Node processors for use in parity check decoders |
US6938196B2 (en) * | 2001-06-15 | 2005-08-30 | Flarion Technologies, Inc. | Node processors for use in parity check decoders |
US6633856B2 (en) * | 2001-06-15 | 2003-10-14 | Flarion Technologies, Inc. | Methods and apparatus for decoding LDPC codes |
DE10159283A1 (de) * | 2001-12-04 | 2003-06-12 | Systemonic Ag | Verfahren und Anordnung zur Adressgenerierung in einem Prozessor |
US7681013B1 (en) * | 2001-12-31 | 2010-03-16 | Apple Inc. | Method for variable length decoding using multiple configurable look-up tables |
US6961888B2 (en) * | 2002-08-20 | 2005-11-01 | Flarion Technologies, Inc. | Methods and apparatus for encoding LDPC codes |
US20040157626A1 (en) * | 2003-02-10 | 2004-08-12 | Vincent Park | Paging methods and apparatus |
KR100959425B1 (ko) * | 2003-02-26 | 2010-05-26 | 콸콤 인코포레이티드 | 반복 디코딩을 위한 소프트 정보 스케일링 |
US6957375B2 (en) * | 2003-02-26 | 2005-10-18 | Flarion Technologies, Inc. | Method and apparatus for performing low-density parity-check (LDPC) code operations using a multi-level permutation |
US20070234178A1 (en) * | 2003-02-26 | 2007-10-04 | Qualcomm Incorporated | Soft information scaling for interactive decoding |
US7434145B2 (en) * | 2003-04-02 | 2008-10-07 | Qualcomm Incorporated | Extracting soft information in a block-coherent communication system |
US8196000B2 (en) * | 2003-04-02 | 2012-06-05 | Qualcomm Incorporated | Methods and apparatus for interleaving in a block-coherent communication system |
US7231557B2 (en) * | 2003-04-02 | 2007-06-12 | Qualcomm Incorporated | Methods and apparatus for interleaving in a block-coherent communication system |
CN100472505C (zh) | 2003-08-15 | 2009-03-25 | Nxp股份有限公司 | 并行处理阵列 |
US7237181B2 (en) | 2003-12-22 | 2007-06-26 | Qualcomm Incorporated | Methods and apparatus for reducing error floors in message passing decoders |
US7346832B2 (en) * | 2004-07-21 | 2008-03-18 | Qualcomm Incorporated | LDPC encoding methods and apparatus |
US7395490B2 (en) * | 2004-07-21 | 2008-07-01 | Qualcomm Incorporated | LDPC decoding methods and apparatus |
US7127659B2 (en) * | 2004-08-02 | 2006-10-24 | Qualcomm Incorporated | Memory efficient LDPC decoding methods and apparatus |
US7441099B2 (en) * | 2006-10-03 | 2008-10-21 | Hong Kong Applied Science and Technology Research Institute Company Limited | Configurable SIMD processor instruction specifying index to LUT storing information for different operation and memory location for each processing unit |
US8112691B1 (en) | 2008-03-25 | 2012-02-07 | Oracle America, Inc. | Method for efficient generation of a Fletcher checksum using a single SIMD pipeline |
US8737736B2 (en) * | 2010-12-31 | 2014-05-27 | Microsoft Corporation | Tone mapping of very large aerial image mosaic |
US9436847B2 (en) * | 2014-09-26 | 2016-09-06 | Intel Corporation | Cryptographic pointer address encoding |
US11314674B2 (en) * | 2020-02-14 | 2022-04-26 | Google Llc | Direct memory access architecture with multi-level multi-striding |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4065808A (en) * | 1975-01-25 | 1977-12-27 | U.S. Philips Corporation | Network computer system |
US5129092A (en) * | 1987-06-01 | 1992-07-07 | Applied Intelligent Systems,Inc. | Linear chain of parallel processors and method of using same |
US5212777A (en) * | 1989-11-17 | 1993-05-18 | Texas Instruments Incorporated | Multi-processor reconfigurable in single instruction multiple data (SIMD) and multiple instruction multiple data (MIMD) modes and method of operation |
-
1993
- 1993-08-12 US US08/106,343 patent/US5526501A/en not_active Expired - Lifetime
-
1994
- 1994-08-04 CA CA002129497A patent/CA2129497A1/en not_active Abandoned
- 1994-08-09 IL IL11060794A patent/IL110607A0/xx unknown
- 1994-08-09 EP EP94112404A patent/EP0638868A3/en not_active Withdrawn
- 1994-08-12 JP JP6190729A patent/JPH0764853A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
CA2129497A1 (en) | 1995-02-13 |
IL110607A0 (en) | 1994-11-11 |
EP0638868A3 (en) | 1995-11-15 |
US5526501A (en) | 1996-06-11 |
EP0638868A2 (en) | 1995-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0764853A (ja) | Simdマルチプロセッサ用の可変正確度間接的アドレス方法およびそれを行う装置 | |
US5872987A (en) | Massively parallel computer including auxiliary vector processor | |
US3787673A (en) | Pipelined high speed arithmetic unit | |
JP2665111B2 (ja) | ベクトル処理装置 | |
US6061779A (en) | Digital signal processor having data alignment buffer for performing unaligned data accesses | |
US4524416A (en) | Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system | |
US3983539A (en) | Polymorphic programmable units employing plural levels of sub-instruction sets | |
US4314333A (en) | Data processor | |
US5586256A (en) | Computer system using multidimensional addressing between multiple processors having independently addressable internal memory for efficient reordering and redistribution of data arrays between the processors | |
US3983541A (en) | Polymorphic programmable units employing plural levels of phased sub-instruction sets | |
JPS6027964A (ja) | メモリアクセス制御回路 | |
JPH10187661A (ja) | コンピュータにおけるスカラ値をベクトルに記入する方法 | |
CA1181865A (en) | Microprogrammed control of extended integer instructions through use of a data type field in a central processor unit | |
US5708839A (en) | Method and apparatus for providing bus protocol simulation | |
US5465369A (en) | Network structure for parallel software processing | |
US5893928A (en) | Data movement apparatus and method | |
US5548771A (en) | Multi-processor data processing system having multiple ports coupled to multiple interface circuits | |
JP2576589B2 (ja) | 仮想記憶アクセス制御方式 | |
JPH09231347A (ja) | 画像処理装置 | |
EP0226103A2 (en) | Address generation for cellular array processors | |
JPH0436852A (ja) | Dma制御装置 | |
JPH0962654A (ja) | リストベクトル処理装置 | |
JP2847729B2 (ja) | 情報処理装置 | |
JPH0429095B2 (ja) | ||
JPH0690714B2 (ja) | ロジック・シミュレーション・マシン及び処理方法 |