JP2009507292A - 分離したシリアルモジュールを備えるプロセッサアレイ - Google Patents

分離したシリアルモジュールを備えるプロセッサアレイ Download PDF

Info

Publication number
JP2009507292A
JP2009507292A JP2008528646A JP2008528646A JP2009507292A JP 2009507292 A JP2009507292 A JP 2009507292A JP 2008528646 A JP2008528646 A JP 2008528646A JP 2008528646 A JP2008528646 A JP 2008528646A JP 2009507292 A JP2009507292 A JP 2009507292A
Authority
JP
Japan
Prior art keywords
processing
data line
serial
processor
module
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
Application number
JP2008528646A
Other languages
English (en)
Inventor
ペー クレイホルスト,リシャルト
アー アッボ,アンテネー
チョーダリー,ヴィシャル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
Koninklijke Philips Electronics NV
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 Koninklijke Philips NV, Koninklijke Philips Electronics NV filed Critical Koninklijke Philips NV
Publication of JP2009507292A publication Critical patent/JP2009507292A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures 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
    • G06F15/8015One dimensional arrays, e.g. rings, linear arrays, buses

Abstract

プロセッサアレイは、プロセッサ要素(2)と、プロセッサ要素(2)によりパラレルにアクセス可能なパラレル接続されたメモリ(4)とを有する。分離したシリアルモジュール(30)は、ルックアップテーブルモジュール(30)の形式などにより追加的な機能を提供する。シリアルモジュール(3)は、モジュール(30)に入力される各データラインをシリアルに処理する。処理は、適切なプログラミングステップを利用して、プロセッサ要素(2)においてパラレルに継続することが可能である。

Description

本発明は、プロセッサアレイに関し、限定するものではないが特に、分離したシリアルモジュール、特にLUT(Look Up Table)モジュールを備えたSIMD(Single Instruction Multiple Data)データプロセッサアレイと、当該プロセッサアレイの動作方法及び動作コンピュータプログラムとに関する。
SIMD処理アレイでは、複数の処理要素(PE)のそれぞれが、共通の命令ストリームから同一の命令を受け取り、ローカルデータと呼ばれる当該処理要素に固有のデータに基づき命令を実行する。このような処理アレイは、例えば、画像処理の分野において行われる同一の処理を同時に複数のデータアイテムに実行する繰り返しの多いタスクに適している。
図1は、複数の処理要素2と当該要素により共有されるメモリ4とを備えた従来のSIMDアレイを示す。命令入力6は、すべての処理要素に対してパラレルに命令を提供し、すなわち、すべての要素が同一の命令を実行する。しかしながら、これらの要素はメモリ4の各データをパラレルにアクセスする。
しかしながら、SIMD処理アレイは、例えば、ルックアップテーブル処理の実行時など、処理がデータに依存する場合には特に効率性が低くなる。このような場合、ルックアップテーブルがメモリ4に格納される場合、各プロセッサは、同時にメモリの各部分へのアクセスを要求する可能性があり、それは、試行されるシーケンシャルなアクセスのためパフォーマンスを低減する。このため、いくつかのアーキテクチャでは、特にSIMDアーキテクチャでは、ルックアップテーブル処理は機能的に計算されることとなり、これは、多数の処理を必要とする可能性がある。
この問題を解消する1つのアプローチは、US6,665,768(Redford)に記載されている。このアプローチでは、単一のメモリバンクが複数のプロセッサによりアクセスされる。しかしながら、これは、ルックアップテーブルの複数のコピーが複数のメモリバンクに格納されるという欠点を有している。複数のメモリバンクが、各処理要素によりパラレルにアクセス可能である。各処理要素は、バンクの1つを選択可能な識別値を有し、これにより、スピードの向上を図ることができる。
改良されたルックアップテーブルを処理するための処理アレイが、WO2005/017765(Philips)に記載されている。この処理アレイの簡単化されたバージョンが、図2に簡単化された形式により示されている。各処理要素2は、算術論理ユニット10と、当該処理要素2に専用の複数の記憶要素12とを有する。処理要素は、内部のアキュミュレータ16と共に、係数入力14と共通命令入力6とを有する。各処理要素はまた、各種マルチプレクサと算術論理ユニットとを有するが、これらは、簡単化のため図2では省略されている。
データアイテムは、係数入力14によりインデックス化された記憶要素のアキュミュレータにデータを格納するため、命令入力も適切な命令と係数入力にインデックスとを供給することによって、処理要素2の記憶要素12の1つに格納することができる。他方、データは、係数入力によりインデックス化された記憶要素からアキュミュレータにロードすることができる。係数入力14によりインデックス化された記憶要素12からのデータがまた、アキュミュレータ16におけるデータと乗算することができる。
ルックアップテーブル処理のため正しいデータを記憶要素にロードするための他のいくつかの方法が、WO2005/017765に記載されている。データをロードした後、アキュミュレータ16のデータは、記憶要素の1つを選択し、対応する記憶要素に格納されているデータを直接的に又は内部のレジスタに出力するためのインデックスとして利用可能である。
このため、WO2005/017765の処理アレイは3つの方法により動作可能である。第1に、各処理要素は、通常のアレイ装置についてと同様に、配信された命令に基づきローカルデータに対して同一の命令を実行することが可能である。第2に、各処理要素は、係数入力に供給される異なる係数によってであるが、ローカルデータに対して同一の命令を実行することが可能である。第3に、各処理要素は、ルックアップテーブルにおいて決定される機能を実行することが可能である。従って、WO2005/017765の処理アレイは、データに依存した処理において向上したパフォーマンスによるSIMD処理の効果を提供することができる。
しかしながら、図2の構成と同様に、各処理要素にローカルメモリを設けることは、図1の構成と同様に、より多数のプロセッサにわたる従来のワイドなメモリよりはるかに大きなシリコンエリアを占有する。さらに、このコンプレクシティの増大は、アドレスデコーダなどの各処理要素においてより大きなオーバヘッドを要求する。
このコンプレクシティは、間接的なアドレス処理によるSIMD装置が高価なものとなりうることを意味する。
さらに、パラレルなルックアップテーブル処理のケースでは、ルックアップテーブルを各処理要素の記憶要素に格納する必要がある。実際には、各処理要素が大きなルックアップテーブルの格納を可能にするのに十分な記憶位置を提供することはできない。
同じ問題が、パラレル処理アレイに追加される他のタイプの追加的な処理について生じる可能性がある。
従って、追加的な機能を提供するためのより改良されたパラレルな処理アレイが必要とされる。
本発明によると、各データラインをパラレルに処理する複数のプロセッサ要素と、前記複数のプロセッサ要素によりパラレルにアクセス可能なメモリと、シリアル入力と出力とを有し、前記シリアル入力において入力されたデータラインに対して、前記データラインを変更するための処理を実行し、結果を変更されたデータラインとして前記シリアル出力に出力するシリアルモジュールと、前記プロセッサ要素とメモリからのデータラインをシリアルに前記シリアル入力に提供し、前記処理後に前記シリアル出力から前記プロセッサ要素とメモリに前記変更されたデータラインを返す手段とを有するプロセッサアレイが提供される。
前記シリアルモジュールは、ルックアップテーブルモジュールであってもよい。
各実施例では、前記データラインを提供する手段は、モジュールが前記処理要素における処理の継続中に処理を実行することが可能となるように、前記メモリのデータラインに直接アクセスし、前記処理の結果を前記メモリに格納するDMA(Direct Memory Access)コントローラである。
他の実施例では、前記データラインを提供する手段は、少なくとも1つのシフトレジスタを有するシフトレジスタユニットを有し、前記シフトレジスタユニットは、シリアル出力とシリアル入力とを有し、前記シリアル入力は、前記処理テーブルモジュールのシリアル出力に接続され、前記シリアル出力は、前記シリアルモジュールのシリアル入力に接続され、前記メモリは、前記シフトレジスタユニットのデータにパラレルにアクセス可能である。
当該プロセッサアレイは、特にSIMD(Single Instruction set Multiple Data)プロセッサアレイであってもよい。
あるいは、本発明は、MIMD(Multiple Instruction set Multiple Data)プロセッサアレイ又はロックステップモードで動作するVLIW(Very Long Instruction Word)プロセッサなどを含む他のマルチプロセッサ構成に適用されてもよい。
他の特徴では、本発明は、複数のプロセッサ要素と、前記複数のプロセッサ要素によりパラレルにアクセス可能なメモリと、シリアルモジュールとを有するプロセッサアレイの動作方法であって、前記複数のプロセッサ要素を使用してデータラインを処理するステップと、前記プロセッサ要素におけるデータラインの処理中に、次のデータラインを前記処理要素とメモリから前記シリアルモジュールにシリアル送信するステップと、変更された次のデータラインを生成するため、前記シリアルモジュールにおける次のデータラインに対する処理を実行するステップと、前記変更された次のデータラインを前記シリアルモジュールから前記プロセッサ要素とメモリとに返すステップと、前記シリアルモジュールにおける次のデータラインに対する処理の実行とパラレルに、前記プロセッサ要素を利用して各データラインを処理するため上記各ステップを繰り返すステップとを有する方法に関する。
これは、パイプライン化された処理を実現する。
他の特徴では、本発明は、上記方法を、複数のプロセッサ要素と、前記複数のプロセッサ要素によりパラレルにアクセス可能なメモリと、ルックアップテーブルモジュールとを有するプロセッサアレイに実行させるよう構成されるコンピュータプログラムコード手段を有するコンピュータプログラムに関する。
図3を参照するに、本発明によるプロセッサアレイは、複数のプロセッサ要素2と、各プロセッサ要素によりパラレルにアクセス可能なメモリ4と、共通の命令入力6とを有する。これらの特徴は、図1に示される従来技術による構成のものと類似している。プロセッサ要素の個数は、以下においてNにより参照される。ここで、Nは1より大きな正の整数である。
中央コントローラ8が、プロセッサアレイを制御するのに設けられる。
ルックアップテーブルモジュール30の形式によるシリアルモジュールに、メモリ4に接続されたDMA(Direct Memory Access)コントローラ39を介したメモリ4への直接的なアクセスと、ルックアップテーブルモジュール30のシリアルデータ出力36及びシリアルデータ入力34への直接的なアクセスが提供される。制御入力32が提供される。ルックアップテーブルモジュール30内のルックアップテーブルメモリ38が、1以上のルックアップテーブルを格納するため設けられる。
ルックアップテーブルモジュール30は、制御入力32を介し制御され、シリアルデータ入力34を介しデータを受信し、出力36を介し処理されたデータを出力する。中央コントローラ8は、プロセッサ及びルックアップテーブルモジュールに命令を提供する。中央コントローラは、新たなルックアップテーブルのルックアップテーブルメモリ38への格納を指示することができる。
ルックアップテーブルモジュール30は、シリアルデータ入力34を介しシリアルにデータラインを受信し、データラインを変更するためルックアップテーブル処理を実行し、出力36を介しシリアルに変更されたデータラインを出力するよう構成される。本実施例では、データラインは、DMAにより、すなわち、プロセッサから独立にメモリ4から直接取得される。
典型的には、データラインは、それぞれが各プロセッサ要素に対するN個のデータを含む。ルックアップテーブルモジュールはデータに対してシリアルに動作し、プロセッサ要素はパラレルに動作することが理解される。このため典型的には、ルックアップテーブルモジュールがクロックサイクルにおいてシリアルに入力された1つのデータに対してルックアップ処理を実行することが可能であると仮定すると、ルックアップテーブルモジュールは、N個のクロックサイクルがラインを構成するN個のデータに対してルックアップテーブル処理を実行することを要求することとなる。
まず、このような遅延は、特にパラレルプロセッサの個数とデータラインのデータアイテムの個数が大きなものである状況では、大きなものとなると考えられるかもしれない。
しかしながら、適切な技術を利用して、ルックアップテーブル処理の実行は、後述されるように、プログラマにとって1つの命令として考えられるかもしれない。
図4は、データベクトルa、b及びf(c)として表される複数のデータラインに対するプロセッサアレイの動作方法を示す。ループは、各データラインの処理を実行し、kはループインデックスを表す。ルックアップテーブル処理を除くすべての処理は、処理要素2によりパラレルに実行される。
ループの各繰り返しについて、各プロセッサ要素はデータaをパラレルに取得する(ステップ40)。各プロセッサは、それぞれが各プロセッサ要素2に対するN個のデータ要素を有する効果的なデータラインを生成する異なるデータアイテムを取得する。
次のステップ(ステップ42)は、k番目のデータラインに対してルックアップテーブル処理を実行するものである。これは、図示されるようなデータラインに対するシンプルなルックアップテーブル処理としてプログラムされる。このステップは、ルックアップテーブルモジュールにプロセッサ要素に関係しないメモリへの直接的なシリアルデータアクセスを利用したデータラインの処理をスタートさせる。
このシリアルルックアップテーブル処理が継続するNクロックサイクルを待機するのでなく、次のステップ(ステップ44)は、前のデータライン(k−1)に対するルックアップテーブル処理の結果のさらなる処理を実行するものである。1つの計算ステップしか示されていないが、実際にはルックアップテーブル処理の結果に対していくつかの計算ステップが実行される必要があるかもしれない。
その後、インデックスkがインクリメントされ(ステップ46)、すべてのデータラインが処理されるまでループが継続される(ステップ48)。
プロセッサアレイ及びルックアップテーブルの各クロックは、全く異なるものとすることが可能であり、遅延を低減することをさらに支援することに留意されたい。
このため、図4に示された方法は、シリアルルックアップテーブル処理の大きな遅延を表面化せず、ルックアップテーブル処理は、1つのクロックサイクルしか必要としないかのようにプログラマには見える。
簡単化のため、いくつかの詳細は図4から省略されていることは当業者に理解されるであろう。例えば、第1サイクルについて、ステップ44は、前のデータラインが存在しないため実行されず、最後のサイクルについて、ステップ40は不要となる。
図3のプロセッサアレイ及び図4の方法は、典型的には、複数のデータラインの処理をシーケンシャルに要求し、処理ステップの1つとしてルックアップテーブル処理を利用して、各データラインに対した同一の処理を実行する画像処理に対して特に適している。
ルックアップテーブル処理を実行するための各プロセッサ要素に係るメモリによる構成とは異なって、メモリ38にはルックアップテーブルの1つのコピーしか必要でなく、これは、各処理要素2のメモリに細かくロードされる必要はない。このため、メモリ及びルックアップテーブルは、小さなルックアップテーブルしか必要としない構成において不要なオーバヘッドを有することなく必要に応じた大きさにすることが可能である。
ルックアップテーブル処理をシリアルに実行するために独立した要素を設けることによって、1つのルックアップテーブルしか必要としない。各プロセッサが異なるメモリバンクにアクセスするUS6,665,768の従来のアプローチでは、複数のプロセッサがルックアップテーブルの全体に一度にアクセスすることは不可能であり、このため、複数のコピーが要求されるかもしれない。さらに、US6,665,768は、ルックアップテーブル処理について個別のプロセッサ要素を利用して、これは、大きな外部メモリにアクセスするのにいくつかのクロックサイクルを必要とする可能性があり、処理を遅延させる。
さらに、独立したルックアップテーブルモジュールを設けることによって、これは、プロセッサ要素の従来のやや異なる処理を害することなく、ルックアップテーブル処理について最適化することができる。
本実施例の変形では、要素30はルックアップテーブル処理を実行するのでなく、他の形態の処理を実行するよう構成されるシリアルモジュールとなる。
要素30自体は、シリアル入出力に関してプロセッサ要素2と必ずしも同一でない何れか適切なクロックスピードにより実行可能なプロセッサを有するかもしれない。モジュール30は、例えば、Huffman、算術又はランレングス符号化を実行してもよい。モジュール30はまた、例えば、限定アクセスモジュールであってもよい。
さらなる実施例が、図5に関して示される。
この構成では、DMA装置は、メモリ4にアクセスするのに使用されない。その代わりに、シフトレジスタユニット51として、シフトレジスタのペアが使用される。シフトレジスタユニット51は、パラレルな出力とシリアルな入力とを有する第1シフトレジスタ50と、パラレルな入力とシリアルな出力とを有する第2シフトレジスタ52とを有する。第1シフトレジスタ50のシリアル入力54は、ルックアップテーブルモジュール30の出力36と接続され、第2シフトレジスタのシリアル出力56は、ルックアップテーブルモジュール30の入力34に接続される。本実施例では、各シフトレジスタ50、52は、N個のポジションを有する。ここで、Nはプロセッサ2の個数である。
パラレルポート58は、メモリ4のアドレススペース内でアドレス指定され、このため、通常のラインメモリとしてプログラマには見える。
図6において、単一のシフトレジスタ60を用いた同様の構成が示される。シフトレジスタ60は、シリアル入力54とシリアル出力56とを有し、シリアル出力56はルックアップテーブルモジュールの入力34に接続され、シリアル入力54はルックアップテーブルモジュールの出力36に接続される。シフトレジスタ60のコンテンツは、メモリ4によりパラレルにアドレス指定することが可能である。
図5及び6の実施例はルックアップテーブルモジュールの代わりに、他のシリアルモジュールにより利用可能であるということが理解されるであろう。
各実施例は、ルックアップテーブル処理を含む多数のタイプのシリアル処理を可能にする。例えば、ルックアップテーブル処理は、sin()、arctan()、sqrt()などのいくつかの関数を計算する効率的な方法とすることが可能であり、これにより、各実施例は、パラレル処理に使用されるしばしばシンプルなプロセッサを上記関数に容易に含める。各実施例はまた、リアルタイムビデオ処理に利用可能である。
当業者者は、記載された実施例に対する多数の変形が可能であることを理解するであろう。例えば、当業者は、DMAでなくラインのデータにアクセスするための他のアプローチが可能であるということを認識するであろう。
処理ユニットの個数は調整可能であり、シフトレジスタポジションと同数のプロセッサ要素を有する必要はない。
図1は、従来技術によるSIMDアレイを示す。 図2は、さらなる従来技術によるSIMDアレイを示す。 図3は、本発明の第1実施例によるプロセッサアレイを示す。 図4は、図3のプロセッサアレイを使用した方法のフローチャートを示す。 図5は、他の実施例を示す。 図6は、さらなる他の実施例を示す。

Claims (14)

  1. 各データラインをパラレルに処理する複数のプロセッサ要素と、
    前記複数のプロセッサ要素によりパラレルにアクセス可能なメモリと、
    シリアル入力と出力とを有し、前記シリアル入力において入力されたデータラインに対して、前記データラインを変更するための処理を実行し、結果を変更されたデータラインとして前記シリアル出力に出力するシリアルモジュールと、
    前記プロセッサ要素とメモリからのデータラインをシリアルに前記シリアル入力に提供し、前記処理後に前記シリアル出力から前記プロセッサ要素とメモリに前記変更されたデータラインを返す手段と、
    を有するプロセッサアレイ。
  2. 前記シリアルモジュールは、ルックアップテーブルモジュール、ルックアップテーブル処理、Huffman、算術若しくはランレングス符号化モジュール又はデータへの限定アクセスを可能にする限定アクセスモジュールである、請求項1記載のプロセッサアレイ。
  3. 前記シリアルモジュールは、前記処理としてルックアップテーブル処理を実行するよう構成されるルックアップテーブルモジュールである、請求項2記載のプロセッサアレイ。
  4. 当該プロセッサアレイは、
    前記複数のプロセッサ要素をパラレルに使用して各データラインを処理し、
    前記プロセッサ要素におけるデータラインの処理中に、前記プロセッサ要素が前記変更されたデータラインを要求する前に前記変更されたデータラインが返されるように、前記シリアルモジュールにおいて次のデータラインに対する前記処理を実行する、
    よう構成される、請求項1乃至3何れか一項記載のプロセッサアレイ。
  5. 当該プロセッサアレイは、
    ルックアップテーブル処理のk番目のデータラインを決定し、
    前記決定されたk番目のデータラインに対して処理を指示し、
    前の(k−1)番目のデータラインに対して実行された処理の結果を処理し、
    すべてのデータラインの処理が完了するまで、前記決定、指示及び処理の各ステップを繰り返す、
    ことによって、複数のデータラインを処理するよう構成される、請求項1乃至4何れか一項記載のプロセッサアレイ。
  6. 前記データラインを提供する手段は、前記メモリのデータラインに直接アクセスし、前記処理の結果を前記メモリに格納するDMA(Direct Memory Access)コントローラであり、
    前記DMAコントローラは、前記シリアルモジュールが前記処理要素における処理の継続中にシリアルに入力されたデータラインに対して処理を実行することが可能となるように、前記シリアルモジュールのシリアル入力とシリアル出力とに接続される、請求項1乃至5何れか一項記載のプロセッサアレイ。
  7. 前記データラインを提供する手段は、少なくとも1つのシフトレジスタを有するシフトレジスタユニットを有し、
    前記シフトレジスタユニットは、シリアル出力とシリアル入力とを有し、
    前記シリアル入力は、前記処理テーブルモジュールのシリアル出力に接続され、
    前記シリアル出力は、前記シリアルモジュールのシリアル入力に接続され、
    前記メモリは、前記シフトレジスタユニットのデータにパラレルにアクセス可能である、請求項1乃至6何れか一項記載のプロセッサアレイ。
  8. 当該プロセッサアレイは、SIMD(Single Instruction Multiple Data)プロセッサアレイである、請求項1乃至7何れか一項記載のプロセッサアレイ。
  9. 複数のプロセッサ要素と、前記複数のプロセッサ要素によりパラレルにアクセス可能なメモリと、シリアルモジュールとを有するプロセッサアレイの動作方法であって、
    前記複数のプロセッサ要素を使用してデータラインを処理するステップと、
    前記プロセッサ要素におけるデータラインの処理中に、次のデータラインを前記処理要素とメモリから前記シリアルモジュールにシリアル送信するステップと、
    変更された次のデータラインを生成するため、前記シリアルモジュールにおける次のデータラインに対する処理を実行するステップと、
    前記変更された次のデータラインを前記シリアルモジュールから前記プロセッサ要素とメモリとに返すステップと、
    前記シリアルモジュールにおける次のデータラインに対する処理の実行とパラレルに、前記プロセッサ要素を利用して各データラインを処理するため上記各ステップを繰り返すステップと、
    を有する方法。
  10. 前記処理するステップは、各k番目のデータラインに対して、
    シリアル処理のためのk番目のデータラインを決定するステップと、
    前記決定されたk番目のデータラインに対するシリアル処理を指示するステップと、
    前の(k−1)番目のデータラインに対して実行されたシリアル処理の結果を処理するステップと、
    すべてのデータラインの処理が完了するまで、前記決定、指示及び処理の各ステップを繰り返すステップと、
    を実行する、請求項9記載の方法。
  11. 前記処理は、ルックアップテーブル処理、Huffman、算術若しくはランレングス符号化処理又はデータへの限定アクセスを可能にする限定アクセス処理である、請求項9又は10記載の方法。
  12. 前記処理は、ルックアップテーブル処理である、請求項11記載の方法。
  13. 請求項9乃至12何れか一項記載の方法を、複数のプロセッサ要素と、前記複数のプロセッサ要素によりパラレルにアクセス可能なメモリと、ルックアップテーブルモジュールとを有するプロセッサアレイに実行させるよう構成されるコンピュータプログラムコード手段を有するコンピュータプログラム。
  14. データキャリアに記録された請求項13記載のコンピュータプログラム。
JP2008528646A 2005-09-05 2006-09-04 分離したシリアルモジュールを備えるプロセッサアレイ Pending JP2009507292A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP05108126 2005-09-05
PCT/IB2006/053102 WO2007029169A2 (en) 2005-09-05 2006-09-04 Processor array with separate serial module

Publications (1)

Publication Number Publication Date
JP2009507292A true JP2009507292A (ja) 2009-02-19

Family

ID=37745162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008528646A Pending JP2009507292A (ja) 2005-09-05 2006-09-04 分離したシリアルモジュールを備えるプロセッサアレイ

Country Status (6)

Country Link
US (1) US20080229063A1 (ja)
EP (1) EP1927056A2 (ja)
JP (1) JP2009507292A (ja)
KR (1) KR20080049727A (ja)
CN (1) CN101258480A (ja)
WO (1) WO2007029169A2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100940792B1 (ko) * 2008-06-30 2010-02-11 엠텍비젼 주식회사 가변 프로세싱 유닛을 구비한 프로세서 칩 및 가변프로세싱 방법
US7940755B2 (en) * 2009-03-19 2011-05-10 Wisconsin Alumni Research Foundation Lookup engine with programmable memory topology
WO2013106210A1 (en) * 2012-01-10 2013-07-18 Intel Corporation Electronic apparatus having parallel memory banks
US20170322906A1 (en) * 2016-05-04 2017-11-09 Chengdu Haicun Ip Technology Llc Processor with In-Package Look-Up Table

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0567203A (ja) * 1991-09-10 1993-03-19 Sony Corp 信号処理用プロセツサ
JP2004038544A (ja) * 2002-07-03 2004-02-05 Fuji Xerox Co Ltd 画像処理装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8414109D0 (en) * 1984-06-02 1984-07-04 Int Computers Ltd Data reorganisation apparatus
GB2211638A (en) * 1987-10-27 1989-07-05 Ibm Simd array processor
US5341044A (en) * 1993-04-19 1994-08-23 Altera Corporation Flexible configuration logic array block for programmable logic devices
US5473266A (en) * 1993-04-19 1995-12-05 Altera Corporation Programmable logic device having fast programmable logic array blocks and a central global interconnect array
US5434629A (en) * 1993-12-20 1995-07-18 Focus Automation Systems Inc. Real-time line scan processor
AU3059297A (en) * 1996-05-08 1997-11-26 Integrated Computing Engines, Inc. Parallel-to-serial input/output module for mesh multiprocessor system
US6097212A (en) * 1997-10-09 2000-08-01 Lattice Semiconductor Corporation Variable grain architecture for FPGA integrated circuits
US6665768B1 (en) * 2000-10-12 2003-12-16 Chipwrights Design, Inc. Table look-up operation for SIMD processors with interleaved memory systems
US7506135B1 (en) * 2002-06-03 2009-03-17 Mimar Tibet Histogram generation with vector operations in SIMD and VLIW processor by consolidating LUTs storing parallel update incremented count values for vector data elements
US7134143B2 (en) * 2003-02-04 2006-11-07 Stellenberg Gerald S Method and apparatus for data packet pattern matching
EP1656622B1 (en) * 2003-08-15 2007-05-16 Koninklijke Philips Electronics N.V. Parallel processing array
US7174441B2 (en) * 2003-10-17 2007-02-06 Raza Microelectronics, Inc. Method and apparatus for providing internal table extensibility with external interface
US7282950B1 (en) * 2004-11-08 2007-10-16 Tabula, Inc. Configurable IC's with logic resources with offset connections
US7295037B2 (en) * 2004-11-08 2007-11-13 Tabula, Inc. Configurable IC with routing circuits with offset connections

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0567203A (ja) * 1991-09-10 1993-03-19 Sony Corp 信号処理用プロセツサ
JP2004038544A (ja) * 2002-07-03 2004-02-05 Fuji Xerox Co Ltd 画像処理装置

Also Published As

Publication number Publication date
WO2007029169A2 (en) 2007-03-15
US20080229063A1 (en) 2008-09-18
CN101258480A (zh) 2008-09-03
WO2007029169A3 (en) 2007-07-05
EP1927056A2 (en) 2008-06-04
KR20080049727A (ko) 2008-06-04

Similar Documents

Publication Publication Date Title
WO2017185396A1 (zh) 一种用于执行矩阵加/减运算的装置和方法
JP2002333978A (ja) Vliw型プロセッサ
JP2010532063A (ja) 条件命令を無条件命令および選択命令へと拡張する方法およびシステム
CN111183418B (zh) 可配置硬件加速器
US20140047218A1 (en) Multi-stage register renaming using dependency removal
US5036454A (en) Horizontal computer having register multiconnect for execution of a loop with overlapped code
JP2620511B2 (ja) データ・プロセッサ
JP2009507292A (ja) 分離したシリアルモジュールを備えるプロセッサアレイ
US20040236929A1 (en) Logic circuit and program for executing thereon
US7260709B2 (en) Processing method and apparatus for implementing systolic arrays
JP2013161484A (ja) 再構成可能コンピューティング装置、その第1メモリ制御器及び第2メモリ制御器、並びにそのデバッギング用のトレースデータを処理する方法
US20110271078A1 (en) Processor structure of integrated circuit
Eisenbiegler et al. Implementation issues about the embedding of existing high level synthesis algorithms in HOL
JP2008102599A (ja) プロセッサ
WO2020246598A1 (ja) 演算装置、演算方法、および演算プログラム
JP2925842B2 (ja) パイプライン処理装置
US20050228970A1 (en) Processing unit with cross-coupled alus/accumulators and input data feedback structure including constant generator and bypass to reduce memory contention
CN117009287A (zh) 一种于弹性队列存储的动态可重构处理器
JP4151497B2 (ja) パイプライン処理装置
JP3669841B2 (ja) マイクロプロセッサ
JP3647078B2 (ja) プロセッサ
JP2000250869A (ja) マルチプロセッサの制御方法およびその装置
JPH07200291A (ja) 可変長パイプライン制御装置
JPH0869407A (ja) データメモリを有するプロセッサ
JP2000081973A (ja) データ処理装置及びデータ処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090901

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100803

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101025

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101101

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110308