JP4921638B2 - メモリサブシステムに複数のメモリアルゴリズムプロセッサを組込むマルチプロセッサコンピュータアーキテクチャ - Google Patents
メモリサブシステムに複数のメモリアルゴリズムプロセッサを組込むマルチプロセッサコンピュータアーキテクチャ Download PDFInfo
- Publication number
- JP4921638B2 JP4921638B2 JP2000539441A JP2000539441A JP4921638B2 JP 4921638 B2 JP4921638 B2 JP 4921638B2 JP 2000539441 A JP2000539441 A JP 2000539441A JP 2000539441 A JP2000539441 A JP 2000539441A JP 4921638 B2 JP4921638 B2 JP 4921638B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- memory
- algorithm
- reconfigurable
- processors
- 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
Links
Images
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/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
Description
【発明の背景】
この発明は、一般的には、複数個の処理要素を組込むコンピュータアーキテクチャの分野に関する。より特定的には、この発明は、メモリサブシステムに複数のメモリアルゴリズムプロセッサを組込み、全体的なシステム処理速度を大きく向上させるマルチプロセッサコンピュータアーキテクチャに関する。
【0002】
汎用コンピュータはすべて、何らかの形の処理要素を有する回路を基礎としている。これは、マイクロプロセッサチップの形をとってもよく、または互いに結合されてプロセッサを形成するより小さなチップの集合であってもよい。いずれにせよ、これらのプロセッサは、1組のプログラムステップによって定義されるプログラムを実行するように設計される。これらのステップ、すなわちコマンドが、同じコンピュータハードウェアを使用して異なった結果を生じるように再構成され得るということが、コンピュータの柔軟性の鍵となる。残念ながら、この柔軟性のために、ハードウェアはさまざまな起こり得る機能を処理するように設計されなければならず、その結果、1つの特定の機能だけ処理できるように設計された場合よりも動作が一般的に遅くなってしまう。一方で、単一機能のコンピュータというのは、当然のことながら、特に用途の多いコンピュータではない。
【0003】
最近、いくつかの団体が、電気的に再構成可能である回路からプロセッサを作るという試みを始めた。これは、プロセッサがある小さな組の機能をより迅速に実行してから、今度は異なった小さな組を実行するために電気的に再構成されることを可能とするであろう。これはいくつかのプログラム実行速度を加速するが、64ビットの浮動小数点計算など、再構成可能な集積回路において達成可能な回路密度のために、このタイプのシステムにおいてはうまく実現され得ない機能が多くある。加えて、これらのシステムはすべて、単独で動作するプロセッサを含むことが現在の所、意図されている。高性能のシステムにおいては事情が異なる。何百または何万ものプロセッサがたったひとつの問題をタイムリーに解決するためによく用いられる。これは、オペレーティングシステムの単一のコピーの共有など、そのような再構成可能コンピュータが処理できない多くの問題を引き起こす。加えて、このタイプのカスタムハードウェアから構成される大きなシステムは、当然、製造するのが非常に高価となるであろう。
【0004】
【発明の概要】
これらの欠点に答えて、この発明の譲受人であるコロラド州、コロラドスプリングスのエス・アール・シィ・コンピュータズ・インコーポレイテッド(SRC Computers, Inc.)は、ユーザ再構成可能ハードウェア要素と連係して非常に高性能なマイクロプロセッサを利用するメモリアルゴリズムプロセッサ(「MAP」)マルチプロセッサコンピュータアーキテクチャを開発した。MAPと呼ばれるこれらの再構成可能要素は、システム内のすべてのプロセッサによってグローバルにアクセス可能である。加えて、ある特定のマルチプロセッサコンピュータシステムの製造コストおよび設計時間は、これが工業規格の市販の集積回路を使用して組立てられ得るために、比較的低く、ある好ましい実施例においては、各MAPは、再構成可能機能ユニットとして動作するフィールドプログラマブルゲートアレイ(「FPGA」)を含んでもよい。
【0005】
ここに特に開示されるのは、マイクロプロセッサと連係してまたは密結合されてユーザ定義のアルゴリズムを実行するための1つ以上のFPGAの利用である。より特定的には、マルチプロセッサコンピュータシステムにおいては、FPGAは、ユーザ定義可能なアルゴリズムを実行する目的のためにすべてのシステムプロセッサによってグローバルにアクセス可能である。
【0006】
ここに開示されるこの発明の特定の実現化例では、回路は、FPGAの中またはそれに連係して設けられ、これは最終オペランドがMAPを介したそのフローを完了すると制御ビットによって合図して、所与のプロセスへの割込みとその後の再スタートとを可能にする。さらにより具体的な実施例では、1つ以上の読出専用メモリ(「ROM」)集積回路チップを、FPGAに近接して結合して、これによってユーザプログラムがコマンドを1つ使うだけでROMにプリロードされたいくつかの起こり得るアルゴリズムの1つを選択できるようにし、システム再構成時間を減少させることもできる。
【0007】
さらに提供されるのは、コンピュータシステムメモリ構造であって、これは、それにアクセスするために通常のメモリアクセスプロトコルを使用する目的のために1つ以上のFPGAを含み、さらにダイレクトメモリアクセス(「DMA」)動作が可能である。マルチプロセッサコンピュータシステムにおいて、DMA能力を備えて構成されるFPGAは、1つの装置が結果を直接に別の装置に送ることを可能にして、再構成可能ハードウェア内に位置するユーザ定義アルゴリズムの実行をパイプライン化または並列化することを可能にする。この発明のシステムおよび方法はまた、ユーザプログラマブル性能をモニタする能力を提供し、パラレライザソフトウェアを利用して、プログラマブルハードウェアで実行され得るアルゴリズムを含むユーザアプリケーションの並列領域を自動的に検出する。
【0008】
広くは、ここに開示されるのは、プログラム命令に従ってユーザデータを演算するための少なくとも1つのデータプロセッサを含むコンピュータである。このコンピュータは、データおよびアドレスバスを与える少なくとも1つのメモリアレイを含むものであって、メモリアレイに関連付けられデータバスおよびアドレスバスに結合されるメモリアルゴリズムプロセッサを含むことを特徴とする。メモリアルゴリズムプロセッサは、メモリアレイへの書込動作から受取られるオペランドに対して少なくとも1つの特定のアルゴリズムを実行するように構成可能である。
【0009】
ここにまた開示されるのは、プログラム命令に従ってユーザデータを演算するための第1の複数個のデータプロセッサと各々がデータおよびアドレスバスを与える第2の複数個のメモリアレイとを含むマルチプロセッサコンピュータである。このコンピュータは、第2の複数個のメモリアレイの少なくとも1つに関連付けられそのデータおよびアドレスバスに結合される、メモリアルゴリズムプロセッサを含む。メモリアルゴリズムプロセッサは、第2の複数個のメモリアレイの関連付けられた1つへの書込動作から受取られたオペランドに対して少なくとも1つの特定のアルゴリズムを実行するように構成可能である。
【0010】
添付図面と連係して好ましい実施例の以下の説明を参照することによって、この発明の前記および他の特徴および目的ならびにそれらを達成するための方法はより明らかとなり、この発明自体が最もよく理解される。
【0011】
【好ましい実施例の説明】
図1を参照すると、従来のマルチプロセッサコンピュータ10アーキテクチャが示される。マルチプロセッサコンピュータ10は、メモリ相互接続ファブリック14と双方向に結合されるN個のプロセッサ120から12Nを組込んでいる。次にメモリ相互接続ファブリック14はまた、メモリバンクサブシステム160(バンク0)から16M(バンクM)を含むM個のメモリバンクに結合される。
【0012】
図2を参照すると、この発明に従った複数のメモリアルゴリズムプロセッサを組込んだマルチプロセッサコンピュータアーキテクチャ100に対する典型的なアプリケーションプログラムのデコンポジション図が、示される。コンピュータアーキテクチャ100は、デコンポジションの目の粗い部分では、(例のためにのみ)4つの並列領域1021から1024のうちの1つに選択的に向けられたユーザ命令およびデータに応答して動作する。並列領域1021から1024の各々から出力される命令およびデータはそれぞれ、データ領域1041から1044と命令領域1061から1064とに分けられた並列領域に入力される。データ領域1041から1044に維持されるデータおよび命令領域1061から1064に維持される命令は次に、たとえば、図示の対応する対のプロセッサ1081、1082(P1およびP2);1083、1084(P3およびP4);1085、1086(P5およびP6);および1087、1088(P7およびP8)に与えられる。この時点で、命令およびデータの中くらいの粗さの目のデコンポジションが達成される。
【0013】
目の細かいデコンポジション、すなわち並列性は、さらなるアルゴリズムのデコンポジションによって果たされる、すなわち、プロセッサ1081から1088の各々の出力は、たとえば、図示の多数の基本的アルゴリズム1101A、1101B、1102A、1102Bから1108Bに分割される。次に、各アルゴリズムは、コンピュータアーキテクチャ100のメモリ空間内のMAP1121A、1121B、1122A、1122Bから1128Bのうちの対応する1つに与えられて、以下により詳細に述べられるとおり、そこで実行される。
【0014】
さらに図3を参照すると、この発明のMAPシステムコンピュータアーキテクチャ100内のメモリバンク120の好ましい実現化例が、先行の図に例示されたMAP112の代表的な1つについて示される。各メモリバンク120は、コンピュータシステムトランクライン、たとえば、72ラインのバス124に双方向に結合されるバンク制御論理ブロック122を含む。バンク制御論理ブロック122は、双方向データバス126(たとえば256ライン)に結合され、アドレスバス128(たとえば17ライン)上にアドレスを与えてメモリアレイ130内の特定の位置のデータにアクセスする。
【0015】
データバス126およびアドレスバス128はまた、MAPアセンブリ112に結合される。MAPアセンブリ112は、アドレスバス128に結合される制御ブロック132を含む。制御ブロック132はまた、複数の信号ライン136によってユーザフィールドプログラマブルゲートアレイ(「FPGA」)134に双方向に結合される。ユーザFPGA134は、データバス126に直接結合される。ある特定の実施例では、FPGA134は、ルーセント テクノロジーズ OR3T80(Lucent Technologies OR3T80)装置として提供されてもよい。
【0016】
コンピュータアーキテクチャ100は、メモリサブシステム、またはメモリ空間内に位置する1つ以上のMAP112を用いて、共通の共有メモリ上での均一のメモリアクセスを採用したマルチプロセッサシステムを含む。前述のとおり、各MAP112は、再構成可能な機能ユニットとして使用される少なくとも1つの比較的大きいFPGA134を含む。加えて、制御ブロック132および予めプログラムされたまたは動的にプログラム可能な構成の読出専用メモリ(以下でより詳しく述べる「ROM」)は、再構成可能なMAPアセンブリ112によって必要とされる情報を含み、それが特定のアルゴリズムを実行することを可能にする。ユーザは、プログラム制御下で新しい構成をFPGA134に直接にダウンロードすることもまた可能であるが、場合によっては、これは複数のメモリアクセスを消費する可能性があり、もしアルゴリズムが短命であったらばシステム性能の全般的な低下をもたらすおそれがある。
【0017】
FPGAは、いくつかの理由のために、示されたアプリケーションにおいて特定の利点を有する。第1に、市販で入手可能な既製のFPGAは、今や意味のある計算機能を実行するために十分な内部の論理セルを有するようになっている。第2に、これらは、マイクロプロセッサと同等の速度で動作することができ、これによって速度一致用のバッファの必要性がなくなる。さらに、FPGAの内部のプログラム可能なルーティング資源は、今や十分に広範なものとなっているので、入力/出力(「I/O」)ピンの位置を再割当する必要なしに意味のあるアルゴリズムがプログラムされ得る。
【0018】
メモリサブシステムまたはメモリ空間内にMAP112を置くことによって、これは、メモリ読出および書込コマンドの使用によって容易にアクセスでき、これによってさまざまな標準的オペレーティングシステムの使用が可能になる。反対に、他の従来の実現化例は、プロセッサの中または近くに再構成可能論理を置くことを提案する。これは、マルチプロセッサ環境においてはそれほど効果的ではない。そこに高速アクセスするのは1個のプロセッサだけだからである。したがって、再構成可能論理は、マルチプロセッサシステム内のあらゆるプロセッサのそばに置かれなければならず、これが全般的なシステムコストを増加させる。さらに、MAP112はメモリアレイ130自体にアクセスすることができ、これはダイレクトメモリアクセス(「DMA」)と呼ばれ、それがプロセッサと独立して非同期にタスクを実行することを可能にする。比較して、もしそれがプロセッサ近くに置かれたならば、それは、メモリにアクセスするためにシステムルーティング資源をめぐってプロセッサと競合しなければならず、これはプロセッサの性能に有害な影響を及ぼす。MAP112はDMA能力を有する(それがメモリへ書込むことを可能にする)ため、かつメモリへの書込を介してそのオペランドを受取るために、MAP112が別のMAP112へ結果を送ることが可能である。これは、大きいタスクの非常に広範なパイプライン化および並列化を可能にする強力な特徴であって、タスクのより速い完了が可能となる。
【0019】
実現化され得るアルゴリズムの多くは、オペランドを受取り、結果を生成するために多くのクロックサイクルを必要とする。そのような例の1つは、64クロックサイクルかかる乗算であろう。この同じ乗算がまた、何千ものオペランドの演算に必要とされることがある。こういった状況では、入来するオペランドがシーケンシャルに与えられて、第1のオペランドは出力で結果を生成するのに64クロックサイクル必要とするが、1クロックサイクル遅れで入力に到着する第2のオペランドは、1クロックサイクル遅れて出力で結果を示す。したがって、64クロックサイクルの初めの遅延の後、新しい出力データは、最終オペランドの結果が現われるまで、連続するクロックサイクルごとに現われる。これは「パイプライン化」と呼ばれる。
【0020】
マルチプロセッサシステムでは、オペレーティングシステムが、タスクの途中でプロセッサを止め、これをより優先順位のより高いタスクに再割当し、次にこれかまたは他のものを返し、初めのタスクを完了することがよくある。これが、パイプライン化されたアルゴリズムと組合されると、(もしプロセッサがリストの途中でオペランドを発行するのを止め、かつ、結果を受入れるのを止めた場合に)既に発行されたがまだパイプラインを通過していないオペランドに関して問題が生じる。この問題を処理するために、ソフトウェアとハードウェアとを組合せることを伴う解決策が、ここに開示される。
【0021】
どの型の従来の再構成可能ハードウェアも活用するために、プログラマが、自分のアプリケーションプログラムコードに必要なコマンドを埋込むこともできるであろう。この方法の欠点は、そうした場合にはこのプログラムを、MAPハードウェア特有のものに仕立てなければならないということである。この発明のシステムは、この問題を排除する。マルチプロセッサコンピュータはしばしば、パラレライザと呼ばれるソフトウェアを使用する。このソフトウェアの目的は、ユーザのアプリケーションコードを分析し、いかにしてプロセッサ間でそれを最も上手く分割するかを決定することである。この発明は、従来のパラレライザに対して顕著な利点を提供し、これがユーザコードの、そのシステムでのMAP112内に存在するアルゴリズムを表す部分、を認識して、MAP112をもう一つの計算機エレメントとして扱うことを可能にする。次に、パラレライザは、MAP112を利用するのに必要なコードを自動的に発生する。これは、ユーザが自分のコード内に直接にアルゴリズムを書くことを可能にして、それはより移植性が高くなり、ユーザがMAP112を利用するのに必要とするシステムハードウェアの知識を軽減する。
【0022】
図4をさらに参照すると、MAP制御ブロック132のブロック図がより詳細に示される。制御ブロック132は、アドレスバス128からの複数のコマンドビット(たとえば、17)をコマンドデコーダ150で受取るように結合される。コマンドデコーダ150は次に、ステータスレジスタ152の群へ複数のレジスタ制御ビットを8ビットのバス154で与える。コマンドデコーダ150はまた、ライン156で単一ビットの最終オペランドフラグをパイプラインカウンタ158に与える。パイプラインカウンタ158は、バス162で一致コンパレータ160へ8ビットの出力を与える。一致コンパレータ160はまた、FPGA134からのパイプラインの深さを示す8ビットの信号をバス136上で受取る。一致コンパレータは、パイプラインが空であると判断すると、ライン164上で単一ビットのパイプライン空フラグをステータスレジスタ152への入力に対して与える。ステータスレジスタはまた、FPGA134からの8ビットのステータス信号をバス136上で受取るように結合され、かつこれは、バス136、154およびライン164上の信号に応答してバス166上に64ビットのステータスワード出力を生成する。
【0023】
コマンドデコーダ150はまた、5ビットの制御信号を図示のとおり構成マルチプレクサ(「MUX」)170に与える。構成マルチプレクサ170は、256ビットのパラレル−シリアル変換器172の単一ビットの出力をライン176上で受取る。256ビットのパラレル−シリアル変換器172の入力は、256ビットのユーザ構成パターンバス174に結合される。構成マルチプレクサ170はまた、構成ROM(ROM182として例示される)からの16の単一ビットの入力をバス178上で受取り、コマンドデコーダ150からのバス168上の制御信号によって選択されるとおり、ライン180上に単一ビットの構成ファイル信号をユーザFPGA134に与える。
【0024】
動作時には、プロセッサ108がオペレーティングシステムによって停止されると、オペレーティングシステムは、バス128上で、アドレスフィールドに埋込まれたコマンドビットを使用することによってMAP112への最終オペランドコマンドを発行する。このコマンドは、制御ブロック132のコマンドデコーダ150によって認識され、これはハードウェアパイプラインカウンタ158を開始させる。アルゴリズムが、FPGA134に最初にロードされたとき、制御ブロック132に接続されるいくつかの出力ビットは、一致コンパレータ160に入力されるバス136上に、そのパイプラインを通過するのに必要とされるクロックサイクルの数(すなわち、パイプラインの「深さ」)の2進表現を表示するように構成されていた。最終オペランドコマンドを受取った後、制御ブロック132内のパイプラインカウンタ158は、そのカウント数がその特定のアルゴリズムのためのパイプライン深さに等しくなるまで、クロックサイクルを計数する。この時点で、制御ブロック132内の一致コンパレータ160は、ステータスレジスタ152の内部の群中のライン164上のビジービットをデアサートする。最終オペランド信号を発行した後、プロセッサ108は、ステータスレジスタ152を繰返し読出し、バス166上のいかなる出力データも受入れる。ビジーフラグがデアサートされると、タスクを停止しMAP112を異なったタスクのために利用することができる。MAP112を構成されたままにし、プログラムを異なったプロセッサ108に転送して、中断したところからタスクを再開させることもまた可能であることが注目される。
【0025】
所与のアプリケーションにおけるMAP112の使用の効果を評価するために、使用に対する何らかの形のフィードバックが必要とされる。したがって、MAP112は、これが出力データに対する入力オペランドの数、ある時間にわたるアイドルサイクルの数およびある時間にわたって受取られるシステムモニタ割込の数などの、効率に関連する要因をモニタすることができるように制御ブロック132内に内部レジスタを備えてもよい。MAP112の利点の1つは、その再構成可能な性質のために、アルゴリズムが変化すると、実際の機能およびモニタされる機能のタイプもまた変化し得ることである。このため、全要因をずっとモニタし続ける必要なしに、ユーザに与えられるモニタできる要因の数はほぼ無限になる。
【0026】
特定のマルチプロセッサアーキテクチャと連係してこの発明の原理が上述されたが、前記記載は、例としてのみなされこの発明の範囲を制限するものではないことが明らかである。特に、前記開示の教示は、当業者には他の変形を示唆することが認められる。そのような変形は、それ自体周知であって、ここに記載された特徴に代えてまたはそれに加えて用いられ得る他の特徴を含むであろう。クレームが、特徴の特定の組合せに対してこの出願において明確に表現されているが、ここに開示される範囲はまた、当業者には明らかないかなる新規な特徴、または、明示的にまたは非明示的に開示される特徴のいかなる新規な組合せ、または、いかなるその一般化または変形をも含み、これは、そういったものがここでいずれかのクレームにクレームされたのと同じ発明に関連するかどうかにかかわらず、またそれがこの発明が対処するのと同じ技術的課題のすべてまたはいずれかを軽減するかどうかにかかわらない。出願人は、この発明のまたはそこから由来するさらなる出願の手続遂行の間に、そのような特徴または/およびそのような特徴の組合せに対する新しいクレームを明確に表現する権利をここに留保する。
【図面の簡単な説明】
【図1】 標準のマルチプロセッサコンピュータアーキテクチャの簡素化された高レベルの機能ブロック図である。
【図2】 この発明に従って複数のメモリアルゴリズムプロセッサ(「MAP」)を利用してマルチプロセッサコンピュータアーキテクチャと連係して使用される起こり得るコンピュータアプリケーションプログラムのデコンポジションシーケンスの簡素化された論理ブロック図である。
【図3】 バンク制御論理、メモリアレイおよびMAPアセンブリを例示する、先行する図面のMAPのうち個々の1つのより詳細な機能ブロック図である。
【図4】 ユーザFPGAへの相互接続を例示する、先行して例示されるMAPアセンブリの制御ブロックのより詳細な機能ブロック図である。
Claims (70)
- アプリケーションプログラム命令に従ってユーザデータを演算することによりアプリケーションプログラムを実行するための少なくとも1つのデータプロセッサを有するコンピュータシステムにおいて、前記コンピュータシステムは、前記少なくとも1つのデータプロセッサに接続されるデータバスおよびアドレスバスを伴う少なくとも1つのメモリバンクを有し、
前記少なくとも1つのメモリバンクのそれぞれにそれぞれが置かれる複数の再構成可能なメモリアルゴリズムプロセッサと、
前記1つのデータプロセッサが前記アプリケーションプログラムを実行するとき、前記少なくとも1つのデータプロセッサが前記複数の再構成可能なメモリアルゴリズムプロセッサを個別にメモリアドレスすることができるように、前記複数の再構成可能なメモリアルゴリズムプロセッサを前記データバスおよび前記アドレスバスに接続する手段とを含み、
前記複数の再構成可能なメモリアルゴリズムプロセッサは、特定のアルゴリズムに従って前記アプリケーションプログラムに関連するデータ処理を実行するようメモリアドレスされ得る個別のデータ処理マシンとして構成され、前記データ処理は、前記少なくとも1つのデータプロセッサによる前記少なくとも1つのメモリバンクへの書込み動作から受取られる少なくとも1つのオペランドで実行され、
前記複数の再構成可能なメモリアルゴリズムプロセッサの各々は、前記複数の再構成可能なメモリアルゴリズムプロセッサの別の1つによる前記少なくとも1つのメモリバンクへの書込を介して、前記少なくとも1つのオペランドを受取る、コンピュータシステム。 - 前記複数の再構成可能なメモリアルゴリズムプロセッサの各々は、フィールドプログラマブルゲートアレイを含む、請求項1に記載のコンピュータシステム。
- 前記複数の再構成可能なメモリアルゴリズムプロセッサの各々は、前記少なくとも1つのデータプロセッサと独立して前記メモリバンクにメモリアドレスするように動作する、請求項1に記載のコンピュータシステム。
- 特定のアルゴリズムは、前記複数の再構成可能なメモリアルゴリズムプロセッサの各々に予めプログラムされる、請求項1に記載のコンピュータシステム。
- 複数の特定のアルゴリズムは、前記複数の再構成可能なメモリアルゴリズムプロセッサに関連付けられるメモリ装置に予めプログラムされる、請求項4に記載のコンピュータシステム。
- 前記メモリ装置は、少なくとも1つの読出専用メモリ装置を含む、請求項5に記載のコンピュータシステム。
- 前記複数の再構成可能なメモリアルゴリズムプロセッサの所与のいずれか1つは、特定のアルゴリズムが処理したオペランドのデータ処理結果を前記複数の再構成可能なメモリアルゴリズムプロセッサの別の1つに送るように動作する、請求項1に記載のコンピュータシステム。
- マルチプロセッサコンピュータシステムであって、
プログラム命令に従ってユーザデータを演算することにより少なくとも1つのアプリケーションプログラムを実行するための複数のデータプロセッサと、
前記複数のデータプロセッサに接続されるデータバスおよびアドレスバスを有するメモリバンクと、
複数の個別のメモリアドレス可能なメモリ位置における前記メモリバンク内の複数の再構成可能なメモリアルゴリズムプロセッサと、
前記複数の個別のメモリアルゴリズムプロセッサを前記データバスおよび前記アドレスバスに結合する手段とを含み、
前記複数のデータプロセッサのすべてが、前記複数の再構成可能なメモリアルゴリズムプロセッサを個別にメモリアドレス可能であり、さらに、
前記複数の再構成可能なメモリアルゴリズムプロセッサは、それぞれ、前記少なくとも1つの前記複数のデータプロセッサが前記少なくとも1つのアプリケーションプログラムを実行するとき、前記複数のデータプロセッサの1つによる前記メモリバンクへの書込み動作から受取られるオペランドで特定のアルゴリズムを実行し、
前記複数の再構成可能なメモリアルゴリズムプロセッサの各々は、前記複数の再構成可能なメモリアルゴリズムプロセッサの別の1つによる前記メモリバンクへの書込を介して、前記オペランドを受取る、マルチプロセッサコンピュータシステム。 - 前記複数の再構成可能なメモリアルゴリズムプロセッサのすべては、前記複数のデータプロセッサのすべてがメモリアドレスすることができる、請求項8に記載のマルチプロセッサコンピュータシステム。
- 前記複数の再構成可能なメモリアルゴリズムプロセッサのすべては相互にメモリアドレスすることができる、請求項9に記載のマルチプロセッサコンピュータシステム。
- 前記複数の再構成可能なメモリアルゴリズムプロセッサは集合的にメモリアルゴリズムプロセッサアセンブリを含み、前記メモリアルゴリズムプロセッサアセンブリは、
前記メモリアルゴリズムプロセッサアセンブリにより処理された最終オペランドに応答して最終オペランドフラグを与えるように動作する制御ブロックを含む、請求項10に記載のマルチプロセッサコンピュータシステム。 - 複数のプリロードされた特定のアルゴリズムを記憶すべく、前記複数の再構成可能なメモリアルゴリズムプロセッサと関連付けられる少なくとも1つのメモリ装置を含む、請求項8に記載のマルチプロセッサコンピュータシステム。
- 前記少なくとも1つのメモリ装置は、データプロセッサからの予め定められたコマンドに応答し、前記複数の再構成可能なメモリアルゴリズムプロセッサのうちアドレスされた1つが実現する前記複数のプリロードされた特定のアルゴリズムのうちの選択された1つに応答して動作する、請求項12に記載のマルチプロセッサコンピュータシステム。
- 前記少なくとも1つのメモリ装置は少なくとも1つの読出専用メモリ装置を含む、請求項13に記載のマルチプロセッサコンピュータシステム。
- 前記複数の再構成可能なメモリアルゴリズムプロセッサの各々は、フィールドプログラマブルゲートアレイを含む、請求項8に記載のマルチプロセッサコンピュータシステム。
- 前記複数の再構成可能なメモリアルゴリズムプロセッサの各々は、前記メモリバンクにダイレクトメモリアクセス能力を有する、請求項8に記載のマルチプロセッサコンピュータシステム。
- 前記複数の再構成可能なメモリアルゴリズムプロセッサの各々は、処理されたオペランドの結果を別のメモリアルゴリズムプロセッサに送るように動作する、請求項8に記載のマルチプロセッサコンピュータシステム。
- 前記少なくとも1つのアプリケーションプログラムの少なくとも1つの並列領域を自動的に検出するように動作し、少なくとも1つの前記複数の再構成可能なメモリアルゴリズムプロセッサは、前記少なくとも1つのアプリケーションプログラムの前記検出された少なくとも1つの並列領域の機能である、請求項8に記載のマルチプロセッサコンピュータシステム。
- コンピュータシステムであって、
少なくとも1つのプロセッサと、
少なくとも1つの再構成可能なメモリアルゴリズムプロセッサと、
前記少なくとも1つのプロセッサと前記再構成可能なメモリアルゴリズムプロセッサとによりアクセス可能な共有メモリ空間と、
プログラムとを含み、
プログラムは前記少なくとも1つのプロセッサにより実行可能なその第1の部分と前記再構成可能なメモリアルゴリズムプロセッサにより実行可能なその第2の部分とを含み、
前記少なくとも1つの再構成可能なメモリアルゴリズムプロセッサは前記少なくとも1つのプロセッサによる書き込み命令に応答して、オペランドで少なくとも1つの特定のアルゴリズムを実行し、さらに、
前記少なくとも1つの再構成可能なメモリアルゴリズムプロセッサの各々は、別の前記少なくとも1つの再構成可能なメモリアルゴリズムプロセッサによる前記共有メモリ空間への書込を介して、前記オペランドを受取るようプログラムされる、コンピュータシステム。 - コンピュータシステムであって、
少なくとも1つのプロセッサと、
少なくとも1つの再構成可能なメモリアルゴリズムプロセッサと、
前記少なくとも1つのプロセッサと前記少なくとも1つの再構成可能なメモリアルゴリズムプロセッサとによりアクセス可能な共有メモリ空間と、
プログラムとを含み、プログラムは前記少なくとも1つのプロセッサにより実行可能なその第1の部分と前記少なくとも1つの再構成可能なメモリアルゴリズムプロセッサにより実行可能なその第2の部分とを含み、
前記少なくとも1つの再構成可能なメモリアルゴリズムプロセッサは、前記少なくとも1つのプロセッサとは独立に前記共有メモリ空間にアクセスするように動作し、さらに、
前記少なくとも1つの再構成可能なメモリアルゴリズムプロセッサの各々は、別の前記少なくとも1つの再構成可能なメモリアルゴリズムプロセッサによる前記共有メモリ空間への書込を介して、オペランドを受取る、コンピュータシステム。 - 前記少なくとも1つのプロセッサはマイクロプロセッサを含む、請求項19または20に記載のコンピュータシステム。
- 前記少なくとも1つの再構成可能なメモリアルゴリズムプロセッサは少なくとも1つのフィールドプログラマブルゲートアレイを含む、請求項19または20に記載のコンピュータシステム。
- 前記少なくとも1つの再構成可能なメモリアルゴリズムプロセッサは、前記少なくとも1つのプロセッサとは独立に前記共有メモリ空間にアクセスするように動作する、請求項19または20に記載のコンピュータシステム。
- 前記少なくとも1つの特定のアルゴリズムは、再構成可能なメモリアルゴリズムプロセッサに関連付けられたメモリ装置にプログラムされる、請求項19または20に記載のコンピュータシステム。
- 前記メモリ装置は少なくとも1つの読出し専用メモリ装置を含む、請求項24に記載のコンピュータシステム。
- 前記少なくとも1つのプロセッサにより実行可能な前記プログラムの前記第1の部分は前記共有メモリ空間に存在する、請求項19または20に記載のコンピュータシステム。
- 前記プログラムの前記第2の部分は、前記少なくとも1つの再構成可能なメモリアルゴリズムプロセッサに存在する、請求項19または20に記載のコンピュータシステム。
- 前記プログラムの前記第2の部分は、前記少なくとも1つのフィールドプログラマブルゲートアレイに存在する、請求項19または20に記載のコンピュータシステム。
- コンピュータシステムの動作方法であって、
少なくとも1つのプロセッサを与えるステップと、
少なくとも1つの再構成可能なメモリアルゴリズムプロセッサを与えるステップと、
前記少なくとも1つのプロセッサと前記少なくとも1つの再構成可能なメモリアルゴリズムプロセッサとによる共有メモリ空間へのアクセスを可能にするステップと、
プログラムを前記コンピュータシステムで実行するステップとを含み、
前記共有メモリ空間は、前記少なくとも1つのプロセッサと、前記少なくとも1つのメモリアルゴリズムプロセッサに接続された複数のメモリアレイのそれぞれとによって構成され、
前記プログラムの第1の部分は、前記少なくとも1つのプロセッサにより実行可能であり、前記プログラムの第2の部分は前記少なくとも1つの再構成可能なメモリアルゴリズムプロセッサにより実行可能であり、
前記共有メモリ空間は、前記少なくとも1つのプロセッサとは独立に前記少なくとも1つの再構成可能なメモリアルゴリズムプロセッサがアクセスでき、さらに、
前記少なくとも1つの再構成可能なメモリアルゴリズムプロセッサの各々は、別の前記少なくとも1つの再構成可能なメモリアルゴリズムプロセッサによる前記共有メモリ空間への書込を介して、オペランドを受取る、方法。 - 少なくとも1つのプロセッサを与える前記ステップはマイクロプロセッサが実行する、請求項29に記載の方法。
- 少なくとも1つの再構成可能なメモリアルゴリズムプロセッサを与える前記ステップは少なくとも1つのフィールドプログラマブルゲートアレイが実行する、請求項29に記載の方法。
- 前記少なくとも1つの再構成可能なメモリアルゴリズムプロセッサを、前記共有メモリ空間から受取られた少なくとも1つの特定のアルゴリズムを実行するようプログラムするステップをさらに含む、請求項29に記載の方法。
- 前記少なくとも1つの特定のアルゴリズムを前記再構成可能なメモリアルゴリズムプロセッサに関連付けられたメモリ装置に記憶するステップをさらに含む、請求項32に記載の方法。
- 前記少なくとも1つの特定のアルゴリズムを記憶する前記ステップは、読出し専用メモリ装置が実行する、請求項33に記載の方法。
- 前記プログラムの前記第1の部分を前記共有メモリ空間に記憶するステップをさらに含む、請求項29に記載の方法。
- 前記プログラムの前記第2の部分を前記少なくとも1つの再構成可能なメモリアルゴリズムプロセッサに記憶するステップをさらに含む、請求項29に記載の方法。
- 前記プログラムの前記第2の部分を前記少なくとも1つのフィールドプログラマブルゲートアレイに記憶するステップをさらに含む、請求項31に記載の方法。
- 複数の再構成可能なメモリアルゴリズムプロセッサを用いたデータ処理のためのシステムであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと少なくとも1つの前記複数の再構成可能なメモリアルゴリズムプロセッサとに結合された物理メモリにマップされる共有メモリ空間と、
前記共有メモリ空間の第1のアドレスに結合され、前記第1のアドレスに書込まれた第1のデータ値に応答する、前記複数の再構成可能なメモリアルゴリズムプロセッサの第1のものとを含み、前記複数の再構成可能なメモリアルゴリズムプロセッサの前記第1のものはプログラムに従って第1の構成された機能を実行し、第2のデータ値を生成し、前記第2のデータ値を前記共有メモリ空間の第2のアドレスに書込み、さらに、
前記共有メモリ空間の前記第2のアドレスに結合され、前記第2のアドレスに書込まれた前記第2のデータ値に応答する、前記複数の再構成可能なメモリアルゴリズムプロセッサの第2のものを含み、前記複数の再構成可能なメモリアルゴリズムプロセッサの前記第2のものは前記第2のデータ値の書込みを介してオペランドを受け取り、前記プログラムに従って第2の構成された機能を実行し、さらに、
前記共有メモリ空間内で特定されたアドレスにおいてデータにアクセスするための前記少なくとも1つのプロセッサと前記共有メモリ空間との間の第1の通信経路の第1の制御論理ブロックと、
前記第1の制御論理ブロックと前記共有メモリ空間がマップされた物理メモリとを結合するデータバスおよびアドレスバスと、
前記複数の再構成可能なメモリアルゴリズムプロセッサの前記第1のものと前記アドレスバスとの間の第3の経路と、
前記複数の再構成可能なメモリアルゴリズムプロセッサの前記第1のものと前記アドレスバスとの間の前記第3の経路の第2の制御論理ブロックとを含み、
前記第2の制御論理ブロックは前記少なくとも1つのプロセッサからのコマンドをデコードするコマンドデコーダと、クロックサイクルをカウントするためのパイプラインカウンタと、前記パイプラインカウンタの出力が予め定められた数の前記クロックサイクルに対応するか否かを判断するための一致コンパレータと、前記一致コンパレータから出力を受取るためのステータスレジスタとを含む、システム。 - 前記複数の再構成可能なメモリアルゴリズムプロセッサの前記第2のものは第3のデータ値を生成する、請求項38に記載のシステム。
- 前記複数の再構成可能なメモリアルゴリズムプロセッサの前記第1のものと前記データバスとの間の第2の通信経路をさらに含む、請求項38に記載のシステム。
- 前記少なくとも1つのプロセッサは前記アドレスバスで前記メモリアルゴリズムプロセッサにコマンドを伝送する、請求項38に記載のシステム。
- 前記少なくとも1つのプロセッサは定期的に前記ステータスレジスタにアクセスする、請求項38に記載のシステム。
- 前記複数の再構成可能なメモリアルゴリズムプロセッサの前記第1および前記第2のものはフィールドプログラマブルゲートアレイを含む、請求項38に記載のシステム。
- 前記複数の再構成可能なメモリアルゴリズムプロセッサの前記第1および前記第2のものは、前記少なくとも1つのプロセッサとは独立に前記共有メモリ空間にアクセスするように動作する、請求項38に記載のシステム。
- 前記少なくとも1つの再構成可能なメモリアルゴリズムプロセッサの前記第1のものは、前記共有メモリ空間から受取られたオペランドで少なくとも1つの特定のアルゴリズムを実行するようプログラムされる、請求項38に記載のシステム。
- 前記少なくとも1つの特定のアルゴリズムは、前記複数の再構成可能なメモリアルゴリズムプロセッサの前記第1のものと関連付けられるメモリ装置にプログラムされる、請求項45に記載のシステム。
- 前記メモリ装置は少なくとも1つの読出し専用メモリ装置を含む、請求項46に記載のシステム。
- 前記プログラムは前記少なくとも1つのプロセッサにより実行可能なその第1の部分を含み、
前記プログラムの第1の部分は、前記少なくとも1つのプロセッサが実行するべく前記共有メモリ空間に存在する、請求項38に記載のシステム。 - 前記プログラムは前記再構成可能なメモリアルゴリズムプロセッサにより実行可能なその第2の部分を含み、
前記プログラムの第2の部分は、前記複数の再構成可能なメモリアルゴリズムプロセッサの前記第1のものに存在する、請求項38に記載のシステム。 - 複数の再構成可能なメモリアルゴリズムプロセッサを用いたデータ処理のためのシステムであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサおよび前記複数の再構成可能なメモリアルゴリズムプロセッサに接続され、それぞれが共有メモリ空間を構成する、複数のメモリアレイと、
前記共有メモリ空間の第1のアドレスに結合され、前記第1のアドレスに書込まれた第1のデータ値に応答する、前記複数の再構成可能なメモリアルゴリズムプロセッサの第1のものとを含み、前記複数の再構成可能なメモリアルゴリズムプロセッサの前記第1のものは、プログラムに従って第1の構成された機能を実行し、第2のデータ値を生成し、前記第2のデータ値を前記共有メモリ空間の第2のアドレスに書込み、さらに、
前記共有メモリ空間の前記第2のアドレスに結合され、前記第2のアドレスに書込まれた前記第2のデータ値に応答する、前記複数の再構成可能なメモリアルゴリズムプロセッサの第2のものを含み、前記複数の再構成可能なメモリアルゴリズムプロセッサの前記第2のものはメモリからの読み込みを介してオペランドを受け取り、前記プログラムに従って第2の構成された機能を実行し、さらに、
前記複数の再構成可能なメモリアルゴリズムプロセッサの前記第1および前記第2のものは、前記少なくとも1つのプロセッサとは独立に前記共有メモリ空間にアクセスするよう動作する、システム。 - 前記共有メモリ空間内の特定されたアドレスのデータに前記プロセッサがアクセスするべく、前記少なくとも1つのプロセッサと前記共有メモリ空間との第1の通信経路の第1の制御論理ブロックをさらに含む、請求項50に記載のシステム。
- 前記第1の制御論理ブロックと前記共有メモリ空間とを結合するデータバスおよびアドレスバスをさらに含む、請求項51に記載のシステム。
- 前記複数の再構成可能なメモリアルゴリズムプロセッサの前記第1のものと前記データバスとの間の第2の通信経路をさらに含む、請求項52に記載のシステム。
- 前記複数の再構成可能なメモリアルゴリズムプロセッサの前記第1のものと前記アドレスバスとの間の第3の経路をさらに含む、請求項52に記載のシステム。
- 前記複数の再構成可能なメモリアルゴリズムプロセッサの前記第1のものと前記アドレスバスとの間の前記第3の経路に第2の制御論理ブロックをさらに含む、請求項54に記載のシステム。
- 前記第2の制御論理ブロックは、前記少なくとも1つのプロセッサからのコマンドをデコードするコマンドデコーダと、クロックサイクルをカウントするためのパイプラインカウンタと、前記パイプラインカウンタの出力が予め定められた数の前記クロックサイクルに対応するか否かを判断するための一致コンパレータと、前記一致コンパレータから出力を受取るためのステータスレジスタとを含む、請求項55に記載のシステム。
- 前記少なくとも1つのプロセッサは前記アドレスバスで前記メモリアルゴリズムプロセッサにコマンドを伝送する、請求項55に記載のシステム。
- 前記少なくとも1つのプロセッサは定期的に前記ステータスレジスタにアクセスする、請求項56に記載のシステム。
- 前記複数の再構成可能なメモリアルゴリズムプロセッサの前記第1および前記第2のものはフィールドプログラマブルゲートアレイを含む、請求項50に記載のシステム。
- 前記複数の再構成可能なメモリアルゴリズムプロセッサの前記第1のものは、前記共有メモリ空間から受取られたオペランドに少なくとも1つの特定のアルゴリズムを実行するようプログラムされる、請求項50に記載のシステム。
- 前記少なくとも1つの特定のアルゴリズムは、前記複数の再構成可能なメモリアルゴリズムプロセッサの前記第1のものと関連付けられたメモリ装置にプログラムされる、請求項60に記載のシステム。
- 前記メモリ装置は少なくとも1つの読出し専用メモリ装置を含む、請求項61に記載のシステム。
- 前記プログラムは前記少なくとも1つのプロセッサにより実行可能なその第1の部分を含み、
前記プログラムの第1の部分は、前記少なくとも1つのプロセッサにより実行されるために前記共有メモリ空間に存在する、請求項51に記載のシステム。 - 前記プログラムは前記再構成可能なメモリアルゴリズムプロセッサにより実行可能なその第2の部分を含み、
前記プログラムの第2の部分は、前記複数の再構成可能なメモリアルゴリズムプロセッサの前記第1のものに存在する、請求項51に記載のシステム。 - 前記メモリアルゴリズムプロセッサは、前記アドレスバスを介して送られるコマンドに応じて選択される特定のアルゴリズムに従って、特定のアルゴリズムに従って前記アプリケーションプログラムに関連するデータ処理を実行するようメモリアドレスされ得る個別のデータ処理マシンとして構成される、請求項1に記載のコンピュータシステム。
- 前記メモリアルゴリズムプロセッサは、前記アドレスバスを介して送られるコマンドに応じて選択されるアルゴリズムを実行する、請求項8に記載のマルチプロセッサコンピュータシステム。
- 前記再構成可能なメモリアルゴリズムプロセッサは、前記共有メモリ空間におけるアドレスを特定するためのアドレスバスを介して送られるコマンドに応じて選択される少なくとも1つの特定のアルゴリズムを実行する、請求項19または20に記載のコンピュータシステム。
- 前記少なくとも1つの再構成可能なメモリアルゴリズムプロセッサを、前記共有メモリ空間におけるアドレスを特定するためのアドレスバスを介して送られるコマンドに応じて選択される少なくとも1つの特定のアルゴリズムを実行する、請求項29に記載の方法。
- 前記複数の再構成可能なメモリアルゴリズムプロセッサは、前記アドレスバスを介して送られるコマンドに応じて選択される特定のアルゴリズムを実行する、請求項38に記載のシステム。
- 前記複数の再構成可能なメモリアルゴリズムプロセッサは、前記共有メモリ空間におけるアドレスを特定するためのアドレスバスを介して送られるコマンドに応じて選択される特定のアルゴリズムを実行する、請求項50に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/992,763 | 1997-12-17 | ||
US08/992,763 US6076152A (en) | 1997-12-17 | 1997-12-17 | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem |
PCT/US1998/025587 WO1999031617A2 (en) | 1997-12-17 | 1998-12-03 | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009270774A Division JP5364543B2 (ja) | 1997-12-17 | 2009-11-27 | メモリサブシステムに複数のメモリアルゴリズムプロセッサを組込むマルチプロセッサコンピュータアーキテクチャ |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002509302A JP2002509302A (ja) | 2002-03-26 |
JP2002509302A5 JP2002509302A5 (ja) | 2006-01-26 |
JP4921638B2 true JP4921638B2 (ja) | 2012-04-25 |
Family
ID=25538715
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000539441A Expired - Lifetime JP4921638B2 (ja) | 1997-12-17 | 1998-12-03 | メモリサブシステムに複数のメモリアルゴリズムプロセッサを組込むマルチプロセッサコンピュータアーキテクチャ |
JP2009270774A Expired - Lifetime JP5364543B2 (ja) | 1997-12-17 | 2009-11-27 | メモリサブシステムに複数のメモリアルゴリズムプロセッサを組込むマルチプロセッサコンピュータアーキテクチャ |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009270774A Expired - Lifetime JP5364543B2 (ja) | 1997-12-17 | 2009-11-27 | メモリサブシステムに複数のメモリアルゴリズムプロセッサを組込むマルチプロセッサコンピュータアーキテクチャ |
Country Status (5)
Country | Link |
---|---|
US (5) | US6076152A (ja) |
EP (1) | EP1038253B1 (ja) |
JP (2) | JP4921638B2 (ja) |
CA (1) | CA2313462C (ja) |
WO (1) | WO1999031617A2 (ja) |
Families Citing this family (97)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6241734B1 (en) * | 1998-08-14 | 2001-06-05 | Kyphon, Inc. | Systems and methods for placing materials into bone |
US6996656B2 (en) * | 2002-10-31 | 2006-02-07 | Src Computers, Inc. | System and method for providing an arbitrated memory bus in a hybrid computing system |
US7424552B2 (en) * | 1997-12-17 | 2008-09-09 | Src Computers, Inc. | Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices |
US20040236877A1 (en) * | 1997-12-17 | 2004-11-25 | Lee A. Burton | Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices in a fully buffered dual in-line memory module format (FB-DIMM) |
US7003593B2 (en) * | 1997-12-17 | 2006-02-21 | Src Computers, Inc. | Computer system architecture and memory controller for close-coupling within a hybrid processing system utilizing an adaptive processor interface port |
US6339819B1 (en) * | 1997-12-17 | 2002-01-15 | Src Computers, Inc. | Multiprocessor with each processor element accessing operands in loaded input buffer and forwarding results to FIFO output buffer |
US7373440B2 (en) * | 1997-12-17 | 2008-05-13 | Src Computers, Inc. | Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format |
US6434687B1 (en) * | 1997-12-17 | 2002-08-13 | Src Computers, Inc. | System and method for accelerating web site access and processing utilizing a computer system incorporating reconfigurable processors operating under a single operating system image |
US7565461B2 (en) * | 1997-12-17 | 2009-07-21 | Src Computers, Inc. | Switch/network adapter port coupling a reconfigurable processing element to one or more microprocessors for use with interleaved memory controllers |
US7197575B2 (en) * | 1997-12-17 | 2007-03-27 | Src Computers, Inc. | Switch/network adapter port coupling a reconfigurable processing element to one or more microprocessors for use with interleaved memory controllers |
US6076152A (en) | 1997-12-17 | 2000-06-13 | Src Computers, Inc. | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem |
GB9902115D0 (en) * | 1999-02-01 | 1999-03-24 | Axeon Limited | Neural networks |
US7073069B1 (en) * | 1999-05-07 | 2006-07-04 | Infineon Technologies Ag | Apparatus and method for a programmable security processor |
US6999994B1 (en) * | 1999-07-01 | 2006-02-14 | International Business Machines Corporation | Hardware device for processing the tasks of an algorithm in parallel |
US6769122B1 (en) * | 1999-07-02 | 2004-07-27 | Silicon Graphics, Inc. | Multithreaded layered-code processor |
US6438737B1 (en) * | 2000-02-15 | 2002-08-20 | Intel Corporation | Reconfigurable logic for a computer |
US6754677B1 (en) | 2000-05-30 | 2004-06-22 | Outlooksoft Corporation | Method and system for facilitating information exchange |
US7082569B2 (en) * | 2001-01-17 | 2006-07-25 | Outlooksoft Corporation | Systems and methods providing dynamic spreadsheet functionality |
JP4688316B2 (ja) * | 2001-02-28 | 2011-05-25 | 独立行政法人産業技術総合研究所 | シミュレーション装置とシミュレーション方法、及び映像生成装置と映像生成方法 |
BR0213848A (pt) * | 2001-11-01 | 2005-12-20 | Mattel Inc | Jogo, azulejo usado para uso em um jogo de tabuleiro e método de batalha simulada entre peça de jogar móveis |
EP1474662B1 (en) * | 2002-01-18 | 2011-07-27 | SPM Instrument AB | Analysis systems for analysing the condition of a machine |
US6941538B2 (en) * | 2002-02-22 | 2005-09-06 | Xilinx, Inc. | Method and system for integrating cores in FPGA-based system-on-chip (SoC) |
US20030212853A1 (en) * | 2002-05-09 | 2003-11-13 | Huppenthal Jon M. | Adaptive processor architecture incorporating a field programmable gate array control element having at least one embedded microprocessor core |
US7406573B2 (en) * | 2002-05-09 | 2008-07-29 | Src Computers, Inc. | Reconfigurable processor element utilizing both coarse and fine grained reconfigurable elements |
US8641715B2 (en) | 2002-05-31 | 2014-02-04 | Vidacare Corporation | Manual intraosseous device |
EP3292821A1 (en) | 2002-05-31 | 2018-03-14 | Vidacare LLC | Apparatus and method to access bone marrow |
US8668698B2 (en) | 2002-05-31 | 2014-03-11 | Vidacare Corporation | Assembly for coupling powered driver with intraosseous device |
US11337728B2 (en) | 2002-05-31 | 2022-05-24 | Teleflex Life Sciences Limited | Powered drivers, intraosseous devices and methods to access bone marrow |
US10973545B2 (en) | 2002-05-31 | 2021-04-13 | Teleflex Life Sciences Limited | Powered drivers, intraosseous devices and methods to access bone marrow |
US7620678B1 (en) * | 2002-06-12 | 2009-11-17 | Nvidia Corporation | Method and system for reducing the time-to-market concerns for embedded system design |
EP1396792B1 (en) * | 2002-09-06 | 2005-06-15 | Sun Microsystems, Inc. | Memory copy command specifying source and destination of data executed in the memory controller |
US7124211B2 (en) | 2002-10-23 | 2006-10-17 | Src Computers, Inc. | System and method for explicit communication of messages between processes running on different nodes in a clustered multiprocessor system |
EP1573515A2 (en) * | 2002-10-31 | 2005-09-14 | Lockheed Martin Corporation | Pipeline accelerator and related system and method |
US6941539B2 (en) * | 2002-10-31 | 2005-09-06 | Src Computers, Inc. | Efficiency of reconfigurable hardware |
US20040136241A1 (en) * | 2002-10-31 | 2004-07-15 | Lockheed Martin Corporation | Pipeline accelerator for improved computing architecture and related system and method |
US6983456B2 (en) * | 2002-10-31 | 2006-01-03 | Src Computers, Inc. | Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms |
US6964029B2 (en) * | 2002-10-31 | 2005-11-08 | Src Computers, Inc. | System and method for partitioning control-dataflow graph representations |
US7155708B2 (en) * | 2002-10-31 | 2006-12-26 | Src Computers, Inc. | Debugging and performance profiling using control-dataflow graph representations with reconfigurable hardware emulation |
US7299458B2 (en) | 2002-10-31 | 2007-11-20 | Src Computers, Inc. | System and method for converting control flow graph representations to control-dataflow graph representations |
US7225324B2 (en) | 2002-10-31 | 2007-05-29 | Src Computers, Inc. | Multi-adaptive processing systems and techniques for enhancing parallelism and performance of computational functions |
US20040139297A1 (en) * | 2003-01-10 | 2004-07-15 | Huppenthal Jon M. | System and method for scalable interconnection of adaptive processor nodes for clustered computer systems |
US20060265571A1 (en) * | 2003-03-05 | 2006-11-23 | Thomas Bosch | Processor with different types of control units for jointly used resources |
US7873811B1 (en) | 2003-03-10 | 2011-01-18 | The United States Of America As Represented By The United States Department Of Energy | Polymorphous computing fabric |
US9504477B2 (en) | 2003-05-30 | 2016-11-29 | Vidacare LLC | Powered driver |
US7149867B2 (en) * | 2003-06-18 | 2006-12-12 | Src Computers, Inc. | System and method of enhancing efficiency and utilization of memory bandwidth in reconfigurable hardware |
US7299339B2 (en) | 2004-08-30 | 2007-11-20 | The Boeing Company | Super-reconfigurable fabric architecture (SURFA): a multi-FPGA parallel processing architecture for COTS hybrid computing framework |
WO2006039710A2 (en) * | 2004-10-01 | 2006-04-13 | Lockheed Martin Corporation | Computer-based tool and method for designing an electronic circuit and related system and library for same |
US7318143B2 (en) * | 2004-10-20 | 2008-01-08 | Arm Limited | Reuseable configuration data |
US7350055B2 (en) | 2004-10-20 | 2008-03-25 | Arm Limited | Tightly coupled accelerator |
US7343482B2 (en) * | 2004-10-20 | 2008-03-11 | Arm Limited | Program subgraph identification |
US7765250B2 (en) * | 2004-11-15 | 2010-07-27 | Renesas Technology Corp. | Data processor with internal memory structure for processing stream data |
US7890686B2 (en) * | 2005-10-17 | 2011-02-15 | Src Computers, Inc. | Dynamic priority conflict resolution in a multi-processor computer system having shared resources |
US7716100B2 (en) * | 2005-12-02 | 2010-05-11 | Kuberre Systems, Inc. | Methods and systems for computing platform |
US8984256B2 (en) * | 2006-02-03 | 2015-03-17 | Russell Fish | Thread optimized multiprocessor architecture |
KR100812346B1 (ko) * | 2006-02-06 | 2008-03-11 | 삼성전자주식회사 | 재구성 어레이에서의 인터럽트 처리 방법 및 장치 |
US7769754B2 (en) * | 2006-05-15 | 2010-08-03 | Algebraix Data Corporation | Systems and methods for data storage and retrieval using algebraic optimization |
US7877370B2 (en) | 2006-05-15 | 2011-01-25 | Algebraix Data Corporation | Systems and methods for data storage and retrieval using algebraic relations composed from query language statements |
US7865503B2 (en) * | 2006-05-15 | 2011-01-04 | Algebraix Data Corporation | Systems and methods for data storage and retrieval using virtual data sets |
US7613734B2 (en) * | 2006-05-15 | 2009-11-03 | Xsprada Corporation | Systems and methods for providing data sets using a store of albegraic relations |
US7720806B2 (en) * | 2006-05-15 | 2010-05-18 | Algebraix Data Corporation | Systems and methods for data manipulation using multiple storage formats |
US7797319B2 (en) * | 2006-05-15 | 2010-09-14 | Algebraix Data Corporation | Systems and methods for data model mapping |
KR100778459B1 (ko) * | 2006-05-26 | 2007-11-21 | (주) 컴파스 시스템 | 복수의 전자장치를 프로그램, 소거 및 검증하는 장치 |
US7856545B2 (en) * | 2006-07-28 | 2010-12-21 | Drc Computer Corporation | FPGA co-processor for accelerated computation |
US8944069B2 (en) | 2006-09-12 | 2015-02-03 | Vidacare Corporation | Assemblies for coupling intraosseous (IO) devices to powered drivers |
US7555469B2 (en) * | 2006-11-16 | 2009-06-30 | L-3 Communications Integrated Systems L.P. | Reconfigurable neural network systems and methods utilizing FPGAs having packet routers |
US20080282072A1 (en) * | 2007-05-08 | 2008-11-13 | Leonard Todd E | Executing Software Within Real-Time Hardware Constraints Using Functionally Programmable Branch Table |
US9710384B2 (en) | 2008-01-04 | 2017-07-18 | Micron Technology, Inc. | Microprocessor architecture having alternative memory access paths |
US8095735B2 (en) * | 2008-08-05 | 2012-01-10 | Convey Computer | Memory interleave for heterogeneous computing |
US8561037B2 (en) * | 2007-08-29 | 2013-10-15 | Convey Computer | Compiler for generating an executable comprising instructions for a plurality of different instruction sets |
US9015399B2 (en) | 2007-08-20 | 2015-04-21 | Convey Computer | Multiple data channel memory module architecture |
US8122229B2 (en) * | 2007-09-12 | 2012-02-21 | Convey Computer | Dispatch mechanism for dispatching instructions from a host processor to a co-processor |
US8156307B2 (en) * | 2007-08-20 | 2012-04-10 | Convey Computer | Multi-processor system having at least one processor that comprises a dynamically reconfigurable instruction set |
US8429394B1 (en) | 2008-03-12 | 2013-04-23 | Stone Ridge Technology | Reconfigurable computing system that shares processing between a host processor and one or more reconfigurable hardware modules |
US8205066B2 (en) | 2008-10-31 | 2012-06-19 | Convey Computer | Dynamically configured coprocessor for different extended instruction set personality specific to application program with shared memory storing instructions invisibly dispatched from host processor |
US20100115233A1 (en) * | 2008-10-31 | 2010-05-06 | Convey Computer | Dynamically-selectable vector register partitioning |
US8423745B1 (en) | 2009-11-16 | 2013-04-16 | Convey Computer | Systems and methods for mapping a neighborhood of data to general registers of a processing element |
US9069747B2 (en) | 2010-08-26 | 2015-06-30 | Sap Se | Methods, apparatus, systems and computer readable mediums for use in association with electronic spreadsheets |
US20120117318A1 (en) * | 2010-11-05 | 2012-05-10 | Src Computers, Inc. | Heterogeneous computing system comprising a switch/network adapter port interface utilizing load-reduced dual in-line memory modules (lr-dimms) incorporating isolation memory buffers |
DE102011116442A1 (de) * | 2011-10-20 | 2013-04-25 | Robert Bosch Gmbh | Steuervorrichtung und Verfahren zur Steuerung einer Bewegung eines Elements einer Anlage |
US20130157639A1 (en) | 2011-12-16 | 2013-06-20 | SRC Computers, LLC | Mobile electronic devices utilizing reconfigurable processing techniques to enable higher speed applications with lowered power consumption |
US8583687B1 (en) | 2012-05-15 | 2013-11-12 | Algebraix Data Corporation | Systems and methods for indirect algebraic partitioning |
US10430190B2 (en) | 2012-06-07 | 2019-10-01 | Micron Technology, Inc. | Systems and methods for selectively controlling multithreaded execution of executable code segments |
US9177646B2 (en) | 2013-05-06 | 2015-11-03 | International Business Machines Corporation | Implementing computational memory from content-addressable memory |
US10741226B2 (en) | 2013-05-28 | 2020-08-11 | Fg Src Llc | Multi-processor computer architecture incorporating distributed multi-ported common memory modules |
CN103744356B (zh) * | 2014-01-17 | 2016-08-17 | 重庆大学 | 一种基于dsp/fpga动态可配置的机床智能控制器及控制方法 |
CN103973581B (zh) | 2014-05-08 | 2017-04-12 | 华为技术有限公司 | 一种报文数据处理方法、装置及系统 |
US9530483B2 (en) | 2014-05-27 | 2016-12-27 | Src Labs, Llc | System and method for retaining dram data when reprogramming reconfigurable devices with DRAM memory controllers incorporating a data maintenance block colocated with a memory module or subsystem |
US9153311B1 (en) | 2014-05-27 | 2015-10-06 | SRC Computers, LLC | System and method for retaining DRAM data when reprogramming reconfigurable devices with DRAM memory controllers |
US9411528B1 (en) | 2015-04-22 | 2016-08-09 | Ryft Systems, Inc. | Storage management systems and methods |
US9542244B2 (en) | 2015-04-22 | 2017-01-10 | Ryft Systems, Inc. | Systems and methods for performing primitive tasks using specialized processors |
US9411613B1 (en) | 2015-04-22 | 2016-08-09 | Ryft Systems, Inc. | Systems and methods for managing execution of specialized processors |
US11061853B2 (en) * | 2015-12-08 | 2021-07-13 | Via Alliance Semiconductor Co., Ltd. | Processor with memory controller including dynamically programmable functional unit |
CN107656880B (zh) * | 2016-10-28 | 2020-12-15 | 上海兆芯集成电路有限公司 | 具有包括动态可编程的功能单元的存储器控制器的处理器 |
US10599590B2 (en) | 2016-11-30 | 2020-03-24 | International Business Machines Corporation | Uniform memory access architecture |
CN106649157B (zh) * | 2016-12-16 | 2019-10-11 | 广东威创视讯科技股份有限公司 | 基于fpga的sdram控制系统 |
US11099936B2 (en) * | 2018-09-11 | 2021-08-24 | Embraer S.A. | Aircraft integrated multi system electronic architecture |
CN111673767A (zh) * | 2020-06-23 | 2020-09-18 | 浪潮集团有限公司 | 一种机器人数据安全保护协处理方法及系统 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59206972A (ja) * | 1983-05-10 | 1984-11-22 | Toshiba Corp | 共有メモリ |
JPS60189561A (ja) * | 1984-03-09 | 1985-09-27 | Panafacom Ltd | メモリアクセス制御方式 |
US4763294A (en) * | 1985-12-19 | 1988-08-09 | Wang Laboratories, Inc. | Method and apparatus for floating point operations |
JPH0821087B2 (ja) * | 1986-09-30 | 1996-03-04 | 日本電信電話株式会社 | 3次元陰影画像生成処理方法 |
JP2533162B2 (ja) * | 1988-05-13 | 1996-09-11 | 富士通株式会社 | マルチプロセッサシステム |
DE68920388T2 (de) * | 1988-09-19 | 1995-05-11 | Fujitsu Ltd | Paralleles Rechnersystem mit Verwendung eines SIMD-Verfahrens. |
JP2772304B2 (ja) * | 1992-04-10 | 1998-07-02 | 富士通株式会社 | 並列処理の負荷均一化方法 |
US5802290A (en) * | 1992-07-29 | 1998-09-01 | Virtual Computer Corporation | Computer network of distributed virtual computers which are EAC reconfigurable in response to instruction to be executed |
US5509134A (en) * | 1993-06-30 | 1996-04-16 | Intel Corporation | Method and apparatus for execution of operations in a flash memory array |
JPH07154241A (ja) * | 1993-11-29 | 1995-06-16 | Olympus Optical Co Ltd | プログラマブル集積回路を用いた電子回路 |
JPH07282023A (ja) * | 1994-04-06 | 1995-10-27 | Hitachi Ltd | データ転送量可変プロセッサ及びそれを用いたシステム |
JPH0869447A (ja) * | 1994-08-31 | 1996-03-12 | Toshiba Corp | データ処理装置 |
US6052773A (en) | 1995-02-10 | 2000-04-18 | Massachusetts Institute Of Technology | DPGA-coupled microprocessors |
US5570040A (en) * | 1995-03-22 | 1996-10-29 | Altera Corporation | Programmable logic array integrated circuit incorporating a first-in first-out memory |
JP2883035B2 (ja) * | 1995-04-12 | 1999-04-19 | 松下電器産業株式会社 | パイプライン・プロセッサ |
US5903771A (en) | 1996-01-16 | 1999-05-11 | Alacron, Inc. | Scalable multi-processor architecture for SIMD and MIMD operations |
US5737766A (en) * | 1996-02-14 | 1998-04-07 | Hewlett Packard Company | Programmable gate array configuration memory which allows sharing with user memory |
JP3673315B2 (ja) * | 1996-03-01 | 2005-07-20 | 常雄 山本 | 寝たきり病人用等の身辺介護装置 |
US5892962A (en) * | 1996-11-12 | 1999-04-06 | Lucent Technologies Inc. | FPGA-based processor |
US5953502A (en) * | 1997-02-13 | 1999-09-14 | Helbig, Sr.; Walter A | Method and apparatus for enhancing computer system security |
JPH1115773A (ja) * | 1997-06-24 | 1999-01-22 | Matsushita Electron Corp | 半導体集積回路、コンピュータシステム、データ処理装置及びデータ処理方法 |
KR100301036B1 (ko) * | 1997-06-26 | 2001-09-03 | 윤종용 | 데이터입출력마스크입력버퍼의전류소모를감소시키기위한제어부를구비하는동기식반도체메모리장치 |
US5966534A (en) * | 1997-06-27 | 1999-10-12 | Cooke; Laurence H. | Method for compiling high level programming languages into an integrated processor with reconfigurable logic |
US6076152A (en) * | 1997-12-17 | 2000-06-13 | Src Computers, Inc. | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem |
US5968534A (en) * | 1998-03-04 | 1999-10-19 | Campbell; John | Compound for the amelioration of pseudofollicultis |
DE19815323C2 (de) * | 1998-04-06 | 2000-06-15 | Clariant Gmbh | Verfahren zur Herstellung von Isochroman-3-onen |
US6192439B1 (en) | 1998-08-11 | 2001-02-20 | Hewlett-Packard Company | PCI-compliant interrupt steering architecture |
WO2000049496A1 (en) * | 1999-02-15 | 2000-08-24 | Koninklijke Philips Electronics N.V. | Data processor with a configurable functional unit and method using such a data processor |
GB2352548B (en) * | 1999-07-26 | 2001-06-06 | Sun Microsystems Inc | Method and apparatus for executing standard functions in a computer system |
AT410575B (de) * | 2001-04-05 | 2003-06-25 | Jenbacher Ag | Einrichtung zum zünden eines kraftstoff-luftgemisches |
-
1997
- 1997-12-17 US US08/992,763 patent/US6076152A/en not_active Expired - Lifetime
-
1998
- 1998-12-03 EP EP98963778.0A patent/EP1038253B1/en not_active Expired - Lifetime
- 1998-12-03 JP JP2000539441A patent/JP4921638B2/ja not_active Expired - Lifetime
- 1998-12-03 WO PCT/US1998/025587 patent/WO1999031617A2/en active Application Filing
- 1998-12-03 CA CA002313462A patent/CA2313462C/en not_active Expired - Lifetime
-
2000
- 2000-01-12 US US09/481,902 patent/US6247110B1/en not_active Expired - Lifetime
-
2001
- 2001-01-05 US US09/755,744 patent/US20010014937A1/en not_active Abandoned
-
2003
- 2003-01-08 US US10/339,133 patent/US6961841B2/en not_active Expired - Lifetime
-
2004
- 2004-10-20 US US10/969,635 patent/US7237091B2/en not_active Expired - Fee Related
-
2009
- 2009-11-27 JP JP2009270774A patent/JP5364543B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CA2313462A1 (en) | 1999-06-24 |
JP2010102719A (ja) | 2010-05-06 |
EP1038253A2 (en) | 2000-09-27 |
EP1038253A4 (en) | 2007-11-28 |
US6247110B1 (en) | 2001-06-12 |
CA2313462C (en) | 2006-07-18 |
US20050055537A1 (en) | 2005-03-10 |
WO1999031617A3 (en) | 1999-08-26 |
JP2002509302A (ja) | 2002-03-26 |
US6076152A (en) | 2000-06-13 |
WO1999031617A2 (en) | 1999-06-24 |
JP5364543B2 (ja) | 2013-12-11 |
EP1038253B1 (en) | 2016-03-09 |
US20010014937A1 (en) | 2001-08-16 |
US20030097187A1 (en) | 2003-05-22 |
US7237091B2 (en) | 2007-06-26 |
US6961841B2 (en) | 2005-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4921638B2 (ja) | メモリサブシステムに複数のメモリアルゴリズムプロセッサを組込むマルチプロセッサコンピュータアーキテクチャ | |
US7421524B2 (en) | Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format | |
JP4990244B2 (ja) | インターネット処理加速システムおよびデータを処理するための方法 | |
US7926060B2 (en) | iMEM reconfigurable architecture | |
US8745631B2 (en) | Intelligent memory device with ASCII registers | |
US20050223384A1 (en) | iMEM ASCII architecture for executing system operators and processing data operators | |
US7908603B2 (en) | Intelligent memory with multitask controller and memory partitions storing task state information for processing tasks interfaced from host processor | |
US7882504B2 (en) | Intelligent memory device with wakeup feature | |
US20050172085A1 (en) | Intelligent memory device | |
US20050210178A1 (en) | Intelligent memory device with variable size task architecture | |
EP0223849A1 (en) | SUPER COMPUTER SYSTEM ARCHITECTURE. | |
US7823159B2 (en) | Intelligent memory device clock distribution architecture | |
CN115777097A (zh) | 清除寄存器数据 | |
CA2515283C (en) | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem | |
AU2002356010A1 (en) | Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051201 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051201 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080108 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080404 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20080404 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080424 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080424 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20080430 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080430 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080507 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090728 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091127 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20091207 |
|
RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20100218 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20100219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100615 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100908 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100915 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101015 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20101210 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111215 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120203 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150210 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |