第1のメモリから、少なくとも1つの結合値に基づいて格納されたコンテキスト情報を読み出すステップと、第2のメモリから、上記少なくとも1つの結合値をマッチングさせる動作値を読み出すステップと、第1のプロセッサによって、上記コンテキスト情報及び上記動作値を複数のマイクロエンジンの少なくとも1つに対して送信してニューロンとして上記少なくとも1つのマイクロエンジンを構成するステップと、上記少なくとも1つのマイクロエンジンにおいて、上記ニューロンの出力を示す値を発生するステップとを含むことを特徴とする方法。上記第1のメモリから読み出すステップはさらに、上記複数のマイクロエンジンにおいて実装されたニューロンに対する結合値に基づいて、メモリ内に順次格納された上記コンテキスト情報を含むデータ構造を読み出すステップを含むことを特徴とする請求項1記載の方法。上記データ構造は、複数のブロックを含み、上記複数のブロックのそれぞれは、上記ニューロンにおける実行を定義するタイプと、上記少なくとも1つの結合値を含む上記コンテキスト情報が格納された上記第1のメモリ内のロケーションを示す第1のアドレスと、上記動作値が格納された上記第2のメモリ内のロケーションを示す第2のアドレスとを含むことを特徴とする請求項1記載の方法。上記データ構造は、複数のシーケンシャルブロックを含み、上記複数のシーケンシャルブロックのそれぞれは、結合値と、上記複数のマイクロエンジンの1つにおいて実装された対応するニューロンを定義するニューロンタイプとを含むことを特徴とする請求項1記載の方法。上記各シーケンシャルブロックは、上記複数のマイクロエンジンのうちの少なくとも1つに対してパケットとして送信され、上記複数のマイクロエンジンのそれぞれは、少なくとも1つのプロセッサと少なくとも1つのメモリとを備えたことを特徴とする請求項4記載の方法。上記データ構造は、複数のシーケンシャルブロックを含み、上記各シーケンシャルブロックは、対応するニューロンに対して、ニューロンタイプ及び複数の結合値を含むことを特徴とする請求項1記載の方法。上記第1のプロセッサは、上記第1のメモリからの読み出すステップを可能とするために、上記第1のメモリに対して結合されたことを特徴とする請求項1記載の方法。上記発生するステップは、上記少なくとも1つのマイクロエンジンにおいて、上記第1のメモリ及び上記第2のメモリにアクセスすることなしに、上記コンテキスト情報及び上記動作値に基づいて上記値を発生して追加的なコンテキスト情報を取得するステップを含むことを特徴とする請求項1記載の方法。上記第1のメモリ及び上記第2のメモリは、集積回路の同一のメモリ内に実装されたことを特徴とする請求項1記載の方法。上記値を、少なくとも上記第2のメモリに送信するステップをさらに含んだことを特徴とする請求項1記載の方法。少なくとも1つの結合値に基づいて格納されたコンテキスト情報を含む第1のメモリと、上記少なくとも1つの結合値をマッチングさせる動作値を含む第2のメモリと、上記第1のメモリから読み出された上記コンテキスト情報と、上記第2のメモリから読み出された上記動作値とを送信するように構成された第1のプロセッサと、上記第1のメモリから読み出された上記コンテキスト情報と、上記第2のメモリから読み出された上記動作値とを受信して少なくとも1つのニューロンのセットの出力を示す少なくとも1つの値を発生するように構成された少なくとも1つの第2のセットのプロセッサとを備えたことを特徴とする装置。上記第1のメモリはさらに、上記第2のセットのプロセッサにおいて実装された上記少なくとも1つのニューロンのセットに対する結合値に基づいてメモリ内に順次格納された上記コンテキスト情報を含むデータ構造を備えたことを特徴とする請求項11記載の装置。上記データ構造は、複数のブロックを含み、上記複数のブロックのそれぞれは、ニューロンタイプと、上記コンテキスト情報が格納された上記第1のメモリ内のロケーションを示す第1のアドレスと、上記動作値が格納された上記第2のメモリ内のロケーションを示す第2のアドレスとを含むことを特徴とする請求項11記載の装置。少なくとも1つのプログラマブルプロセッサによって実行されるときに上記少なくとも1つのプログラマブルプロセッサが、第1のメモリから、少なくとも1つの結合値に基づいて格納されたコンテキスト情報を読み出すステップと、第2のメモリから、少なくとも1つの結合値とマッチングさせる動作値を読み出すステップと、第1のプロセッサによって、上記コンテキスト情報及び上記動作値を複数のマイクロエンジンの少なくとも1つに対して送信してニューロンとして上記少なくとも1つのマイクロエンジンを構成するステップと、上記少なくとも1つのマイクロエンジンにおいて、上記ニューロンの出力を示す値を発生するステップとを含む動作を実行することができる命令を格納する機械可読媒体を備えたことを特徴とするコンピュータプログラム製品。上記第1のメモリから読み出すステップはさらに、上記複数のマイクロエンジンにおいて実装されたニューロンに対する結合値に基づいて、メモリ内に順次格納された上記コンテキスト情報を含むデータ構造を読み出すステップを含むことを特徴とする請求項14記載のコンピュータプログラム製品。上記データ構造は、複数のブロックを含み、上記複数のブロックのそれぞれは、上記ニューロンにおける実行を定義するタイプと、上記少なくとも1つの結合値を含む上記コンテキスト情報が格納された上記第1のメモリ内のロケーションを示す第1のアドレスと、上記動作値が格納された上記第2のメモリ内のロケーションを示す第2のアドレスとを含むことを特徴とする請求項14記載のコンピュータプログラム製品。各ブロックがニューロンに対する少なくとも1つの結合値と上記ニューロンのタイプを示す情報とを含むブロック内に格納されたコンテキスト情報を含む第1のメモリと、上記第1のメモリをインターフェースし、上記第1のメモリから読み出すこと及び上記第1のメモリに対して書き込むことのうちの少なくとも1つを制御するメモリコントローラと、上記コンテキスト情報を転送し、さらに上記メモリコントローラ及び上記第1のメモリからの上記コンテキスト情報を受信するように構成された第1のプロセッサと、上記第1のプロセッサによって転送された上記コンテキスト情報を受信し、複数の動作値のうちの少なくとも1つを上記少なくとも1つの結合値とマッチングさせ、上記マッチングする上記複数の動作値の少なくとも1つをフェッチし、上記フェッチされた上記複数の動作値の少なくとも1つ及び上記少なくとも1つの結合値を転送するように構成されたインターフェースと、上記転送された上記複数の動作値の少なくとも1つと上記少なくとも1つの結合値とを受信し、少なくとも1つのセットのニューロンとして構成された少なくとも1つの第2のセットのプロセッサの出力を示す少なくとも1つの値を発生するように構成された上記少なくとも1つの第2のセットのプロセッサとを備えたことを特徴とする装置。少なくとも1つのプログラマブルプロセッサによって実行されるときに上記少なくとも1つのプログラマブルプロセッサが、第1のメモリから、各ブロックがニューロンに対する少なくとも1つの結合値及び上記ニューロンのタイプを示す情報を含むブロック内に格納されたコンテキスト情報を読み出すステップと、上記第1のメモリをインターフェースするメモリコントローラにおいて、上記第1のメモリから読み出すこと及び上記第1のメモリに書き込むことのうちの少なくとも1つを制御するステップと、上記コンテキスト情報をインターフェースに転送するように構成された第1のプロセッサにおいて、上記第1のメモリコントローラ及び上記第1のメモリから上記コンテキスト情報を受信するステップと、上記インターフェースにおいて、上記第1のプロセッサによって転送された上記コンテキスト情報を受信するステップと、上記インターフェースにおいて、複数の動作値の少なくとも1つを上記少なくとも1つの結合値とマッチングさせるステップと、上記インターフェースにおいて、上記マッチングする複数の動作値の少なくとも1つをフェッチするステップと、上記インターフェースにおいて、上記フェッチされた複数の動作値の少なくとも1つ及び上記少なくとも1つの結合値を転送するステップと、1つもしくはそれ以上の第2のセットのプロセッサにおいて、上記転送された複数の動作値のうちの少なくとも1つ及び上記転送された少なくとも1つの結合値を受信するステップと、上記1つもしくはそれ以上の第2のセットのプロセッサにおいて、出力を発生するステップとを含む動作を実行することができる命令を格納する機械可読媒体を備えたことを特徴とするコンピュータプログラム製品。第1のメモリから、各ブロックがニューロンに対する少なくとも1つの結合値及び上記ニューロンのタイプを示す情報を含むブロック内に格納されたコンテキスト情報を読み出すステップと、上記第1のメモリをインターフェースするメモリコントローラにおいて、上記第1のメモリから読み出すこと及び上記第1のメモリに書き込むことのうちの少なくとも1つを制御するステップと、上記コンテキスト情報をインターフェースに転送するように構成された第1のプロセッサにおいて、上記第1のメモリコントローラ及び上記第1のメモリから上記コンテキスト情報を受信するステップと、上記インターフェースにおいて、上記第1のプロセッサによって転送された上記コンテキスト情報を受信するステップと、上記インターフェースにおいて、複数の動作値のうちの少なくとも1つを上記少なくとも1つの結合値とマッチングさせるステップと、上記インターフェースにおいて、上記マッチングする複数の動作値のうちの少なくとも1つをフェッチするステップと、上記インターフェースにおいて、上記フェッチされた複数の動作値のうちの少なくとも1つ及び上記少なくとも1つの結合値を転送するステップと、1つもしくはそれ以上の第2のセットのプロセッサにおいて、上記転送された複数の動作値のうちの少なくとも1つ及び上記転送された少なくとも1つの結合値を受信するステップと、上記1つもしくはそれ以上の第2のセットのプロセッサにおいて、出力を発生するステップとを含むことを特徴とする方法。少なくとも1つの結合値に基づいて格納されたコンテキスト情報を読み出すための手段と、上記少なくとも1つの結合値をマッチングさせる動作値を読み出すための手段と、上記コンテキスト情報及び上記動作値を、複数のマイクロエンジンのうちの少なくとも1つに対して送信して上記少なくとも1つのマイクロエンジンをニューロンとして構成するための手段と、上記ニューロンの出力を示す値を発生するための手段とを備えたことを特徴とする装置。ここで開示された主題は、ニューラル処理のための製造の方法、装置、及び物を提供する。一態様では、方法が提供される。当該方法は、第1のメモリから、少なくとも1つの結合値に基づいて格納されたコンテキスト情報を読み出すステップと、第2のメモリから、少なくとも1つの結合値とマッチングさせる動作値を読み出すステップと、第1のプロセッサによって、コンテキスト情報及び動作値を、複数のマイクロエンジンの少なくとも1つに送信して上記少なくとも1つのマイクロエンジンをニューロンとして構成するステップと、上記少なくとも1つのマイクロエンジンにおいて、ニューロンの出力を示す値を発生するステップとを含んでもよい。方法の実施態様は、1つもしくはそれ以上の以下の特徴を含む、ここで説明された1つもしくはそれ以上の特徴を含む。第1のメモリから読み出すステップは、複数のマイクロエンジンで実装されたニューロンのための結合値に基づいて、メモリ内に順次格納されたコンテキスト情報を含むデータ構造を読み出すステップをさらに含んでもよい。データ構造は、複数のブロックを含んでもよく、複数のブロックのそれぞれは、ニューロンにおける実行を定義するタイプと、少なくとも1つの結合値を含むコンテキスト情報が格納された第1のメモリでのロケーションを示す第1のアドレスと、動作値が格納された第2のメモリでのロケーションを示す第2のアドレスとを含む。データ構造は、複数のシーケンシャルブロックを含んでもよく、複数のシーケンシャルブロックのそれぞれは、結合値と、複数のマイクロエンジンの1つで実装された、対応するニューロンを定義するニューロンタイプとを含む。シーケンシャルブロックは、複数のマイクロエンジンの少なくとも1つに対して、パケットとして送信されてもよく、複数のマイクロエンジンのそれぞれは、少なくとも1つのプロセッサと少なくとも1つのメモリとを含んでもよい。データ構造は、複数のシーケンシャルブロックを含んでもよく、シーケンシャルブロックのそれぞれは、ニューロンタイプと、対応するニューロンに対する複数の結合値とを含む。第1のプロセッサは、第1のメモリからの読み出しを可能とするために、第1のメモリに対して結合されてもよい。その値は、追加的なコンテキスト情報を取得するために、第1のメモリ及び第2のメモリにアクセスすることなしにコンテキスト情報及び動作値に基づいて、少なくとも1つのマイクロエンジンにおいて発生されてもよい。第1のメモリ及び第2のメモリは、集積回路の同一のメモリ内に実装されてもよい。発生された値は、少なくとも第2のメモリに送信されてもよい。1つもしくはそれ以上の例えば、コンピュータなどの機械がここで説明された動作が得られるように動作可能な、タンジブルに具現化された機械可読媒体を備えた物がまた説明される。同様に、プロセッサと、当該プロセッサに結合されたメモリを含むシステムがまた説明される。メモリは、プロセッサにここで説明された1つもしくはそれ以上の動作を実行させる1つもしくはそれ以上のプログラムを含んでもよい。ここで説明された主題に対する1つもしくはそれ以上の変形例の詳細が、添付図面及び以下の説明文において説明される。ここで説明された主題の特徴及び利点は、説明文、図面及び特許請求の範囲から明らかとなろう。同様の表示ラベルは、同一の素子もしくは同様の素子に参照される。ここで説明された主題は、コンテキスト情報を含む少なくとも1つのパケットによって構成されたニューラル処理ユニットNPUに関する。ここで使用されるように、コンテキスト情報は、ニューラル処理ユニットとしてプロセッサを構成するための情報に言及する。さらに、コンテキスト情報の全部ではないがいくつかは、結合値に基づいて、メモリ内に順次格納されてニューラル処理ユニットによる処理を容易化してもよい。ニューラル処理ユニットの詳細を説明する前に、ニューラル処理ユニットを使用して実装されたニューロンによって実行された処理に関する説明が以下に提供される。図1は、ニューラル処理ユニットによって実装されてもよいニューロンAj150を含むシステム100を図示する。図1は単一のニューロン150を図示するが、システム100は、複数のニューロンもまた含んでもよい。ニューロン150は、A0-A8に対応する動作値Ait-1160A-Iに基づいた出力Ajt170と、C0jからC8jまでと表示された結合Wij165A-Iと、S0-S8と表示された入力値110A-Iとを発生してもよい。入力値110A-Iは、他のニューロンの出力から、メモリから、及び/又は例えば電圧値などの値を提供する1つもしくはそれ以上のセンサから受信されてもよい。1つもしくは複数の動作値はホストコンピュータによってもまた提供されてもよいが、動作値Ait-1は、メモリから受信されてもよく、例えば、システム100の例えばt-1におけるなどの前のサイクルもしくはエポックの前の動作値などの出力に対応してもよい。重み、結合重み、及び結合値としてまた言及された結合Wij165A-Iは、メモリから受信されてもよく、及び/もしくはホストコンピュータによって提供されてもよい。例の目的で例示するために、所定の時間tにおいて、動作値160A-Iの各1つは、対応する結合165A-Iの1つによって乗算される。例えば、結合重みC0j165Aは、動作値A0160Aによって乗算され、結合重みC1j165Bは動作値A1160Bによって乗算される、など。次に、積すなわち、結合と動作値との乗算の積は合計され、その結果生じた合計は、基底関数Kによって演算されてノードAj150に対して時間tにおける出力Ajt170を得る。出力170は、例えばt1などにおける後に続く時間では動作値として使用されてもよい。システム100は、例えばニューロン150などの複数のニューロンを含んでもよく、各ニューロンは、ここで説明されたニューラル処理ユニット上に実装されてもよい。さらに、ニューロンはあるニューラルモデルに従って構成されてもよく、その例は次式の通りである。ここで、Kは例えばシグモイド関数、ウェーブレット関数及び任意の他の基底関数などを含む基底関数に対応する。Ajtは、所定の時間tにおける、例えばj番目のニューロンなどの所定のニューロンによって提供された出力値に対応する。Ait-1は、前の時間t-1における、j番目のニューロンに対する結合iに割り当てられた前の出力値もしくは動作値に対応する。Wijは、j番目のニューロンに対するi番目の結合値を示す。jはニューロンの量に従って変化し、所定のニューロンを識別し、iは0からn―1まで変化し、nはニューロンに対する結合数に対応する。ここでの説明は、ニューラルモデルの例として式1に言及するが、他のモデルがまた使用されてニューロンのタイプを定義してもよい。さらに、いくつかの実施例では、各結合は、複数のニューロンタイプのうちの1つに関連付けされてもよい。例えば、結合Wij165A-Cは、第1のニューロンのタイプに対応する第1のニューラルモデルを実装してもよく、結合Wij165D-Eは、第2のニューロンのタイプに対応する第2のニューラルモデルを実装してもよい。この例では、コンテキスト情報は、結合値及びニューロンのタイプを示す情報を含むであろう。図2は、例えば図1に関して上述説明されたニューロン150などのニューロンとして動作するように構成されたニューラル処理ユニット200の例示的な実施例を図示する。ニューラル処理ユニット200は、例えばシーケンシャルメモリ205などの第1のメモリと、プロセッサ210と、例えばSRAMと表示されたスタティックランダムアクセスメモリ215などの第2のメモリと、例えばニューロンを実装するように構成された1つもしくはそれ以上のマイクロエンジン220A-Eなどの1つもしくはそれ以上のプロセッサとを含む。図2は、単一のニューラル処理ユニット200を図示するが、いくつかの実施例では、システムは複数のニューラル処理ユニットを含んでもよい。例えば、複数のニューラル処理ユニットは、集積回路上及び/もしくは特定用途向け集積回路上に実装されてニューラル処理システムを提供してもよい。シーケンシャルメモリ205は、例えばランダムアクセスメモリ、ダイナミックランダムアクセスメモリ、ダブルデータレート同期式ダイナミックアクセスメモリ、フラッシュメモリ、強誘電体ランダムアクセスメモリ、機械的な磁気ディスクドライブ、光ドライブなどの任意のタイプのメモリとして実装されてもよい。シーケンシャルメモリ205は、ニューロンとして、例えばマイクロエンジン220Aなどのマイクロエンジンを構成するために必要とされる情報のすべてではないがいくつかを備えたコンテキスト情報を含んでもよい。例えば、シーケンシャルメモリ205は、以下のうちの1つもしくはそれ以上を含むデータ構造を含んでもよい。すなわち、例えば、j個のニューロンのうちのどのニューロンが構成されたかなどのニューロンのアイデンティティ同一性、各結合iのための結合値Wij、使用される基底関数Kの指示、及び/もしくは前の動作値Ait-1。いくつかの実施例では、コンテキスト情報は、パケットフォーマットでシーケンシャルメモリ205から取得される。用語パケットは、コンテキスト情報及び/もしくはコンテキスト情報に対するポインタを含むコンテナに言及される。パケットは、結合値及び例えばニューロンのタイプを構成するための命令、基底関数Kの指示、j番目のニューロンのアイデンティティなどの他の情報を提供するが、前の動作値Ait-1は、例えばスタティックランダムアクセスメモリ215などのもう1つのメモリから取得される。シーケンシャルメモリ205から読み出されたパケットは、図3A-Bに関して以下に説明されたデータ構造として構成されたコンテキスト情報を含んでもよい。いくつかの実施例では、シーケンシャルメモリ205はまた、ホストコンピュータからコンテキスト情報を受信してもよい。プロセッサ210には、他のタイプのプロセッサがまた使用されてもよいが、例えば超長命令語VLIWをハンドリングするように構成された中央処理ユニットなどの任意のタイプのプロセッサとして実装されてもよい。プロセッサ210は、シーケンシャルメモリ205から、1つもしくはそれ以上のパケットとしてフォーマットされたコンテキスト情報を格納してもよいし、及び/又は検索してもよい。クラスタとしてもまた言及された1つもしくはそれ以上の追加的なニューラル処理ユニットは、プロセッサ210からコンテキスト情報を受信してもよいし、及び/又は結合230を介してコンテキスト情報をプロセッサ210に提供してもよい。プロセッサ210はまた、例えばスタティックランダムアクセスメモリ215から、前の動作値Ait-1などの中間値を検索してもよい。プロセッサ210は、メモリ205から取得されたコンテキスト情報及び例えばスタティックランダムアクセスメモリ215から取得された前の動作値Ait-1などの任意の中間値を含むパケットをマイクロエンジンに対してルーティングしてニューロンとしてマイクロエンジンを構成してもよい。いくつかの実施例では、メモリ205内のコンテキスト情報は、図3A-Bに関して以下にさらに説明されるように、シーケンシャルブロック内に編成される。メモリ205内のコンテキスト情報は、メモリ205内のシーケンシャルブロックから読み出されてニューロンとしてマイクロエンジンを構成する。さらに、もしシステムが複数のニューロンを含むならば、プロセッサ210は、コンテキスト情報を含むパケットのセットを各マイクロエンジン220A-Eにルーティングして、例えば上記式1のニューラルモデルなどのモデルに従って動作するニューロンとして各マイクロエンジンを構成してもよい。さらに、マイクロエンジンの構成及び実行は、結合、ニューロン、及び/もしくはエポックそれぞれに対して時間にわたって繰り返されてもよい。各マイクロエンジン220A-Eは、例えば中央処理ユニット、減少された命令セットのプロセッサなどのプロセッサとして実装されてもよい。減少された命令セットのプロセッサを用いた実施例では、減少された命令セットのプロセッサの機能性は制限されてもよく、それ故に、例えば集積回路などのチップ上に使用されたスペース/サイズを減少させる。任意のケースでは、ニューロンがマイクロエンジンにおいて実装されることを可能とするために、マイクロエンジン220A-Eはそれぞれ、プロセッサ210によって提供されたコンテキスト情報によって構成されてもよい。図3Aは、例えばシーケンシャルメモリ205などのシーケンシャルメモリ内に格納されたデータ構造300の例を図示する。図3Aの例では、シーケンシャルメモリは、データ構造300の終わりまで順次読み出される及び/もしくは書き込まれるブロック310A-Bのコンテキスト情報を格納するように構成され、次に読み出し及び書き込みが、例えばブロック310Aなどのメモリの初めにおいて再び始まるであろう。ブロック310A-Bは、ニューラル処理システムの複数のニューロンのそれぞれに対応する。例えば、j番目のニューロンなどの所定のニューロンに対して、ブロック310Aは、コンテキスト情報を格納してもよい。特に、ブロック310Aは、ニューロンのタイプ320を定義する情報を含んでもよい。そのタイプ320は、ニューロンの種類及び当該ニューロンをどのように実行すべきかを定義する。例えば、タイプ320は、式1により定義されるニューラルモデルを定義してもよく、もしくは、基底関数Kはj番目のニューロンによって使用される。この例では、ニューロンタイプは、マイクロエンジンがコンテキスト情報を処理し出力を発生することが可能となるようにマイクロエンジン内にロードされた、対応するコードセットを有してもよい。さらに、いくつかの実施例では、システムがコンテキスト情報において指示されたニューロンのタイプに対する対応するコードセットを有するマイクロエンジンを構成するように、複数のニューロンタイプがサポートされる。ブロック310A内のコンテキスト情報はまた、シーケンシャルメモリ内で使用されたアドレス330を含んでブロック310Aを格納してもよい。もし例えば学習及び可塑性に対する重みを変更するなどによってブロック310Aのコンテンツが変更されるならば、アドレス330はシーケンシャルメモリに対するライトバックを可能とさせる。ブロック310A内のコンテキスト情報はまた、ブロック310Aのニューロンの所定の結合に関連付けされた動作アドレス340を含んでもよい。例えば、動作アドレス340は、スタティックランダムアクセスメモリ215から、ブロック310A内で使用される結合に対する動作値のローディングを可能としてもよい。ブロック310Aはまた、350A-Nを使用した結合値を含んでもよい。例えば、10個の結合を有する所定のニューロンjに対して、ブロック310Aは、W0jからW9jに対応する10個の結合値を含むであろう。データ構造300は、ニューラル処理システムによって実装された各ニューロンに対して、例えばブロック310Bなどの他のブロックを含んでもよい。データ構造300の使用が、各ニューロンに対するパケットベースのフォーマットでフォーマットされたコンテキスト情報の順次読み出しを可能とし次にマイクロエンジンにおいてそれらのニューロンの構成及び実行を可能とさせてもよい。いくつかの実施例では、データ構造300はもし取り除かなければ減少させてもよく、非効率的なランダムメモリは、マイクロエンジンのニューロンの実行の間に、マイクロエンジンによってメモリ205及び215に対して読み出される。図3Bは、シーケンシャルメモリ内に格納されたデータ構造305のもう1つの例を図示する。図3Bの例では、各ブロック390A-Cは、ニューロンに対して、単一の結合値を含んでもよい。特に、ニューロンの第1の結合値のセットのすべてが実行のために構成されてしまうまでなどは、ブロック390Aは、第1の結合350A及び第1のニューロンを構成するための他のコンテキスト情報320-340を含み、ブロック390Bは、第1の結合値333及び第2のニューロンを構成するための他のコンテキスト情報を含む。一旦実行されると、出力動作値は、例えばスタティックランダムアクセスメモリ215内に格納されてもよく、次にニューロンに対する次の結合のセットが処理される。ブロック390Cは、第2の結合350B及び第1のニューロンを構成するための他のコンテキスト情報を含む。一旦第2の結合値によって構成されると、ニューロンに対する第2の結合のセットが処理され、出力動作値のもう1つのセットが得られる。このプロセスは、すべての結合が処理されるまでニューロンに対する各結合に対して反復されてもよく、その時、当該プロセスはデータ構造305のブロック390Aにおける第1の結合からスタートすることを繰り返す。いくつかの実施例では、データ構造300及び305は、プロセッサがニューラルモデルを実行し、そのモデルを実行するために必要とされるデータを検索するときのメモリアクセスの量を減少させてもよい。例えば、ここで説明されたデータ構造に従って構成されない典型的なマイクロプロセッサにおいては、当該マイクロプロセッサは、例えば0からnまでの、1からiまでの、及び1からjまでのインデキシングによって、式1のニューラルモデルを実行するために、メモリからデータの広範囲に及ぶランダムなフェッチを必要とするであろう。対照的に、ここで説明されたマイクロエンジンは、いくつかの実施例では、例のデータ構造300及び305において図示されたメモリ内のコンテキスト情報を順次に順序付けすることによって、メモリからランダムなフェッチをもし取り除かなければ減少させてもよい。さらに、システム200のランダムなフェッチは、いくつかの実施例では、スタティックランダムアクセスメモリ215から動作値を検索するプロセッサ205に制限されてもよい。いくつかの実施例では、例えばプロセッサ210などの第1のプロセッサは、上述されたインデキシングと関連付けされたメモリ205及び215からすべてのメモリフェッチをハンドリングし、例えばマイクロエンジンなどの第2のプロセッサは、メモリ205及び215にアクセスすることなしにニューロンを実装する。さらに、マイクロエンジンは、図5に関して以下にさらに説明されたそのレジスタメモリからアクセスされたデータを用いてニューロンを動作させるように構成されてもよい。さらに、第1のプロセッサ及び第2のプロセッサを含むシステムは、いくつかの実施例では、特に、例えば式1などの例えばニューラルモデルと関連するスパース行列のコンテキストにおいて効率的な処理を容易化してもよい。図4は、ここで説明されたニューラル処理システムによって実装されるプロセス400を図示する。図4の説明はまた、図2及び図3A-Bを参照してなされる。492では、プロセッサ210は、メモリ205から順次読み出されてもよい。この順次読み出しには、コンテキスト情報を含む複数のパケットの少なくとも1つを、メモリ205内の連続的なアドレスのブロックから読み出すことを含んでもよい。例えば、データは、図3A-Bに関して説明されたようにブロックにおいて順次読み出されてもよい。コンテキスト情報は、例えば式1などのニューラルモデルに従ってニューロンとしてマイクロエンジンを構成するための情報を含んでもよい。例えば、シーケンシャルメモリ205から受信されたパケットは、結合値及び例えば、ニューロンタイプを指示する命令、動作値などの他の情報を提供してニューロンを構成してもよい。493では、プロセッサ210はまた、スタティックランダムアクセスメモリ215から前の動作値Ait-1を読み出してもよい。図3A-Bを参照すると、プロセッサ210は、結合値350A、ニューロンタイプ320、シーケンシャルメモリ内のアドレス330、及びスタティックランダムアクセスメモリ215内のアドレス340を含むパケットを受信してもよい。次に、プロセッサ210は、スタティックランダムアクセスメモリ215をロケーションするためにアドレス340を使用してもよく、その場合は結合値350Aに対応する動作値を決定するためのルックアップテーブルを使用してもよい。494では、プロセッサ210は、コンテキスト情報及び動作値をマイクロエンジンに対して転送してマイクロエンジンを構成してもよい。例えば、プロセッサ210は、例えば、結合値350A、ニューロンタイプ320などのコンテキスト情報と、スタティックランダムアクセスメモリ215から取得された動作値を含む少なくとも1つのパケットとを、マイクロエンジン220Aに転送してもよい。マイクロエンジンは少なくとも1つのパケットを受信するとき、マイクロエンジン220Aは、例えば、ニューロンタイプ320によって指示されたニューロンタイプに対するコードセット/命令をロードすることなどによって、ニューロンタイプに基づいてそれ自身を構成し、次に結合値350A、動作値、及びマイクロエンジンに提供されてもよい他のコンテキスト情報を用いてニューロンを実行してもよい。496では、構成された少なくとも1つのマイクロエンジンは、所定の時間tの間に、例えばAjtなどの出力を発生する。その出力Ajtはまた、出力Ajtをスタティックランダムアクセスメモリ215もしくは他のニューラル処理ユニット230に対してルーティングしてもよいプロセッサ210に提供されてもよい。当該プロセッサ290は、システムの、結合、ニューロン、及び/もしくはエポックのそれぞれに対して反復されてもよい。図5は、ニューラル処理ユニット500のもう1つの例示的な実施例を図示する。ニューラル処理ユニット500は、いくつかの点ではシステム200に類似するが、メモリインターフェース505と、アプリケーションインターフェース510と、ディスパッチャ520とをさらに含む。メモリインターフェース505は、シーケンシャルメモリ205及びプロセッサ210に結合され、アプリケーションインターフェース510は、プロセッサ210及び、マイクロエンジン220A-Eにさらに結合されたディスパッチャ520に結合される。メモリインターフェース505は、シーケンシャルメモリ205に対するアクセスを制御する。例えば、メモリインターフェース505は、メモリ205内に順次索引付けしてプロセッサ210に送信されたコンテキスト情報の次のパケットを検索してもよい。プロセッサ210はさらにルータとして構成されてもよい。プロセッサ210は、シーケンシャルメモリ205及び/もしくはメモリ215から、パケットフォームでコンテキスト情報を受信する場合、その場合には、プロセッサ210は、パケットベースのコンテキスト情報をマイクロエンジンにルーティングしてニューロンとしてマイクロエンジンを構成してもよい。ニューロンが実行された後、パケットプロセッサ210はまた、マイクロエンジンによって発生された出力値Ajtを受信してもよい。次に、受信された出力値Ajtは、結合565A-Dを介して他のニューラル処理ユニットに提供されてもよく、及び/もしくは例えばスタティックランダムアクセスメモリ215などのメモリ内に格納されてもよい。システム500を構成するためのホストコンピュータからのデータの初期ロードの間、プロセッサ210は、ホストコンピュータからデータのブロックを、例えばシーケンシャルメモリ205内のシーケンシャルロケーション並びに例えばスタティックランダムアクセスメモリ215、結合565A-Dを介して他の隣接したニューラル処理ユニット、及び/もしくは1つもしくはそれ以上のマイクロエンジン220A-Eなどの他のロケーションに移動させてもよい。マイクロエンジンにおけるニューロンの実行の間、プロセッサ210は、結合重みを動作値とマッチングさせてもよい。例えば、プロセッサ210は、シーケンシャルメモリ205から、j番目のニューロンのi番目の結合に対する結合重みWijを含むパケットを受信してもよい。次に、i番目の結合に対して、プロセッサ210は、結合重みWijを、スタティックランダムアクセスメモリ215内に格納された、前の動作値Ait-1とマッチングさせてもよい。いくつかの実施例では、ルックアップテーブルが、結合重みWijのそれぞれをスタティックランダムアクセスメモリ215内に格納された、対応する動作値Ait-1とマッチングさせるために使用される。アプリケーションインターフェース510は、各マイクロエンジン220A-Eに対してインターフェースを提供する。いくつかの実施例では、アプリケーションインターフェース510は、スタティックランダムアクセスメモリ215から、受信されたパケット内に含まれた結合値をマッチングさせる動作値をフェッチしてもよい。マッチング動作値のアドレスは、プロセッサ210から受信されたパケット内に含まれてもよい。例えば、マッチング動作アドレスのアドレスは、ニューロンスタティックランダムアクセスメモリ動作アドレス340としてパケット内に格納されてもよい。その場合は、例えばニューロンタイプ、結合値、動作値などのコンテキスト情報を含むパケットは、マイクロエンジンに転送される。ディスパッチャ520は、アプリケーションインターフェース510及びマイクロエンジン220A-E間で交換されたパケットに対してハンドリングしてキューイングするパケットを提供する。いくつかの実施例では、ディスパッチャ520は、コンテキスト情報を含むパケットに対して、宛先マイクロエンジンを選択する。ディスパッチャ520はまた、コンテキスト情報を有したマイクロエンジンのレジスタを含むマイクロエンジンをロードしてもよく、マイクロエンジン220A-Eからの出力データを、他のニューラル処理ユニット、スタティックランダムアクセスメモリ215、及び/もしくはシーケンシャルメモリ205に送信してもよい。ニューラル処理ユニット500は、ノース、イースト、ウエスト及びサウスと表示された結合565A-Dを介して、他のニューラル処理ユニットに接続されてもよい。例えば、ニューラル処理ユニット500は、例えばユニット500のニューラル処理ユニットノース、ユニット500のニューラル処理ユニットサウス、ユニット500のニューラル処理ユニットイースト及びユニット500のニューラル処理ユニットウエストなどの4つの他のニューラル処理ユニットに対する結合565A-Dを有してもよい。さらに、他のニューラル処理ユニットのそれぞれは、4つの他のニューラル処理ユニットに結合されてもよく、いくつかの実施例では、各ニューラル処理ユニットは、1つもしくはそれ以上の特定用途向けの集積回路上に実装されてもよい。図6は、ニューラル処理ユニット660A-Dを含むシステム600の例を図示する。各ニューラル処理ユニットは、DDR2と表示されたシーケンシャルメモリ632と、メモリコントローラ634と、メモリインターフェース636と、アプリケーションインターフェース640と、スタティックランダムアクセスメモリ642と、ディスパッチャ644と、複数のNMEと表示されたマイクロエンジン646とを含んでもよい。図6に図示された実施例では、各ニューラル処理ユニット660A-Dは、プロセッサ210に関して上述説明されたように実装されてもよいルータ610に結合される。しかしながら、ルータ610は、いくつかの実施例では、例えばメモリインターフェース及びアプリケーションインターフェースなどの入力と出力との間の、複数の並列パスを提供する、ノンブロッキングの、クロスバーパケットルータとしてさらに構成されてもよい。ニューラル処理ユニット660A内の素子に関する説明を以下に提供するが、他のニューラル処理ユニット660B-Dが、ニューラル処理ユニット660Aと同様の方法で構成されてもよい。さらに、ニューラル処理ユニット660A-Dを含むシステム600は、例えば特定用途向け集積回路ASICなどのチップ上に実装されてもよく、4つのニューラル処理ユニット660A-Dだけが図6で図示されるが、システム600はまた、他の量のニューラル処理ユニットを含んでもよい。シーケンシャルメモリ632は、シーケンシャルメモリ205に関して上述説明されたように実装されてもよい。図6の例では、シーケンシャルメモリ632は、他のタイプのメモリがまた使用されてもよいが、ダブルデータレート同期式ダイナミックアクセスメモリとして実装されてもよい。シーケンシャルメモリ632からの読み出し及びシーケンシャルメモリ632への書き込みを可能とするために、シーケンシャルメモリ632は、メモリコントローラ634に電気的に結合されてもよい。メモリコントローラ634は、シーケンシャルメモリ632からの読み出し及びシーケンシャルメモリ632への書き込みを制御してもよい。コンテキスト情報は、シーケンシャルメモリ632のシーケンシャルアドレス内に格納されてもよく、コンテキスト情報は、パケットベースのフォーマットで、メモリ632から読み出されてもよく、もしくはメモリ632へ書き込まれてもよい。パケットベースのフォーマットが実装される場合、パケットは、メモリインターフェース636に対する電気的結合を介して、ルータ610に対して提供されてもよいし、もしくはルータ610から受信されてもよい。さらに、メモリコントローラ634は、いくつかの実施例では、例えばメモリ632などのメモリから取得されたデータからパケットを発生し、発生されたパケットをルータ610に送信するインターフェースを提供してもよい。メモリコントローラ634はまた、ルータ610からパケットを受信してパケットのコンテンツをメモリ632に書き込んでもよい。スタティックランダムアクセスメモリ、ダイナミックランダムアクセスメモリから、より高い永続的性を有する光学的な記憶機構までの範囲に及ぶ異なるタイプのメモリがメモリ632において使用されてもよいが、使用されたメモリのタイプにもかかわらず、メモリコントローラ634はパケットをハンドリングしてパケットに対してメモリのためのアドレスを指定する。メモリインターフェース636は、上述されたメモリインターフェース505と同様の方法で実装されてもよい。図6の例では、メモリインターフェース636は、メモリコントローラ634に対して送信されたパケットもしくはメモリコントローラ634から受信されたパケットをバッファリングしてもよい。ルータ610は、660A-Dにおける各アプリケーションインターフェース及び結合692A-Cに対して電気的に結合されてもよい。結合692A-Cは、例えば他のニューラル処理ユニット、メモリ、ホストコンピュータなどの他のデバイスに対する結合を提供してもよい。いくつかの実施例では、結合692Cは、PCIインターフェースとして実装されて1秒あたり132メガビットまでの速度でルータ610に対する及びルータ610からのデータ転送を可能としてもよい。結合692Cはまた、システム600のために、データをロードすること、データをデバッグすること、及びデータを処理することをハンドリングしてもよい。例えば、結合692A-Cは、システム600をホストコンピュータに結合するために使用されてもよい。ホストコンピュータは、動作値を含むコンテキスト情報を提供し、マイクロエンジンによって発生された出力値を受信し、各マイクロエンジン対してコードを提供してニューロンとしてマイクロエンジンを構成してもよい。アプリケーションインターフェース640は、アプリケーションインターフェース510と同様の方法で実装されてもよい。しかしながら、図6における例では、アプリケーションインターフェース640は、スタティックランダムアクセスメモリ642及びディスパッチャ644に電気的に結合されてもよい。スタティックランダムアクセスメモリ642は、スタティックランダムアクセスメモリ215と同様の方法で実装されてもよく、ディスパッチャ644は、ディスパッチャ520と同様の方法で実装されてもよい。ディスパッチャ644は、マイクロエンジン210A-Eと同様の方法で実装されてもよい、複数のNMEと表示されたマイクロエンジン646に電気的に結合される。図7は、ここで説明されたニューラル処理システムによって実装されてもよいプロセス700を図示する。プロセス700の説明はまた、図3A-B及び図6を参照するであろう。793では、メモリコントローラ634は、メモリ632のシーケンシャルアドレスからデータを読み出してもよい。この読み出し動作は、ニューラルモデルに従って、ニューロンとしてマイクロエンジンを構成するために、コンテキスト情報を含む複数のパケットの少なくとも1つを読み出すことを含んでもよい。メモリコントローラ634は、1つもしくは複数の読み出しパケットをメモリインターフェース636に提供してもよく、ここで1つもしくは複数のパケットは、ルータ610に提供される前にキューイングされてもよい。メモリコントローラ634はまた、例えばルータ610から受信されたパケットなどのデータをメモリ632に対して書き込むことを制御してもよい。794では、ルータ610は、複数のパケットの少なくとも1つをメモリインターフェース636から受信し、次に受信されたパケットを660A-Dにおけるアプリケーションインターフェースの1つに提供してもよい。例えば、ルータ610は、j番目のニューロンのi番目の結合に対する結合重みWijを含む少なくとも1つのパケットを、アプリケーションインターフェース640に対してルーティングしてもよい。797では、アプリケーションインターフェースは、メモリからマッチング動作値をフェッチしてもよい。例えば、アプリケーションインターフェース640は、結合重みを前の動作値Ait-1とマッチングさせ、その場合は例えばスタティックランダムアクセスメモリ642などのメモリからマッチング動作値をフェッチしてもよい。受信された各パケットに対して、アプリケーションインターフェース640は、パケット内に含まれた結合重みWijを読み出し、次にスタティックランダムアクセスメモリ642内に格納されたマッチング動作値を決定してもよい。上述されたように、アプリケーションインターフェース640は、どの動作値をフェッチすべきであるかを指示するルックアップテーブルに基づいてマッチングを決定してもよい。次に、798では、例えばアプリケーションインターフェース640などのアプリケーションインターフェースは、例えば結合重みWij、マッチング動作値Ait-1などのコンテキスト情報を、例えばディスパッチャ644などのディスパッチャに提供してもよい。次に、ディスパッチャ644は、このコンテキスト情報をマイクロエンジン646の1つに提供してニューロンとしてマイクロエンジンを構成する。799では、構成されたマイクロエンジンは、例えばAjtなどの出力を発生する。出力Ajtは、ディスパッチャ644と、出力Ajtをスタティックランダムアクセスメモリ642もしくは他のニューラル処理ユニット660B-Dに提供してもよいアプリケーションインターフェース640とに提供されてもよい。プロセス700は、ニューロンの各結合に対して反復されてもよく、ニューラル処理システムの各ニューロンに対して反復されてもよい。さらに、プロセス700は、複数のエポックに対して反復されてもよい。図8は、マイクロエンジン220A-E及び/もしくはマイクロエンジン646において使用されてもよいマイクロエンジン800の例を図示する。マイクロエンジン800は、レジスタメモリ820と、中央処理ユニット830と、プログラムメモリ850とを含んでもよい。マイクロエンジン800は、マイクロエンジン800がディスパッチャ520からコンテキスト情報、動作値などを含むパケットを受信し、ディスパッチャ520に対して出力動作を提供することができるように、ディスパッチャ520に対して電気的に結合されてもよい。いくつかの実施例では、マイクロエンジン800は、例えば図3Bに図示されたブロック390Aなどのコンテキスト情報を含むパケットを受信する。マイクロエンジン800は、レジスタ820内にブロック390Aを格納する。その場合は、マイクロエンジン800は、プログラムメモリ850にアクセスして例えばプログラムコードなどの命令を取得してレジスタ820内に格納されたブロック390Aのコンテキスト情報によって指示されたニューラルタイプ320に従ってマイクロエンジンを構成してもよい。次に、マイクロエンジン800は、レジスタ820において格納されたブロック内に含まれた、例えば、動作値及び結合値などのコンテキスト情報を用いて命令を実行する。その場合は、出力は、ディスパッチャ520に送信され、ここで、それは、例えばスタティックランダムアクセスメモリなどのもう1つのデバイス、もう1つのニューラル処理ユニット、及び/もしくはホストコンピュータに対してさらにルーティングされてもよい。出力は、後に続く時間では動作値として使用されてもよい。レジスタ820は、ディスパッチャ520から、例えば図3A-Bに関して上述されたように構造化されたコンテキスト情報を受信してもよい。レジスタ820はまた、制御ステータスレジスタCSRと、累積レジスタと、プログラムカウンタPCと、多数のスクラッチパッドレジスタとを含んでもよい。レジスタ820は、少なくともデータ構造300及び305並びに/又は図3A-Bで図示されたデータ構造300及び305のブロックのうちの少なくとも1つを格納するのに十分な記憶スペースを含むように実装されてもよい。レジスタ820はまた、ディスパッチャ520がレジスタ820のバンクの1つの中に書き込むことが可能となる一方で中央処理ユニット830がレジスタ820の他のバンクから読み出して実行することが可能となるように、2つの同一のレジスタバンクを含むピンポン構成で実装されてもよい。マイクロエンジン800は、マイクロエンジンにおいて実装された可能なニューラルモデルのセットを定義する例えば、コードなどの命令のセットを含んでもよい。従って、プログラムメモリ850内に格納されてもよい命令のセットは、マイクロエンジンを構成してコード化して複数のニューロンタイプの少なくとも1つとして動作するように使用されてもよい。さらに、命令のセットは、マイクロエンジン間で移植されて構成を容易化してもよい。マイクロエンジン800に対するコードはまた、アセンブリ言語プログラムをハンドリングしてマイクロエンジン内にローディングするためにそのプログラムをバイナリーコードファイルに変換するためにアセンブラを使用してもよい。例えば、ニューラルアセンブラは、コマンドラインを介して起動してマイクロエンジン内にローディングするためにアセンブリコードプログラムを受け取ってアセンブリコードをバイナリファイルに変換してもよい。図9は、ここでハイブとして言及されたシステム900を図示する。NPUとしてそれぞれが表示されたニューラル処理ユニットは、2次元グリッドレイアウトにおいて相互接続されてもよい。いくつかの実施例では、単一のメモリバスを共有する複数のプロセッサと比較すると、2次元グリッド構造は、処理電力は増加するかもしれない。ニューラル処理ユニット間の相互接続は、高速シリアルデータ線を提供する電気的な相互接続として実装されてもよい。ホストインターフェース990は、ニューラル処理ユニットとホストコンピュータ992との間をインターフェースしてもよい。例えば、ホストインターフェース990は、パケットをハイブの中に通過させ、ニューラル処理ユニット間で交換されたパケットを読み出し、ニューラル処理ユニット間で送信されたパケットを妨害してもよい。各ニューラル処理ユニットは、各ニューラル処理ユニットのロケーショニング及び/もしくはアドレッシングを可能とするための固有の識別子を有してもよい。ここで説明された主題は、所望された構成によるシステム、装置、方法及び/または物において具現化されてもよい。特に、ここで説明された主題の種々の実施例は、デジタル電子回路、集積回路、特別に設計されたASIC特定用途向け集積回路、コンピュータハードウエア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせにおいて利用されてもよい。これらの種々の実施例は、特別なもしくは一般的な目的であってもよい、記憶システム、少なくとも1つの入力デバイス及び少なくとも1つの出力デバイスからのデータ及び命令を受信するために、並びに記憶システム、少なくとも1つの入力デバイス及び少なくとも1つの出力デバイスにデータ及び命令を送信するために結合された、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムに対して実行可能な及び/又はインタプリタ可能である1つもしくはそれ以上のコンピュータプログラムにおける実施例を含んでもよい。プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリケーション、コンポーネント、又はコードとしてもまた知られたこれらのコンピュータプログラムは、プログラマブルプロセッサに対する機械命令を含み、高水準手続き及び/もしくはオブジェクト指向のプログラミング言語において、並びに/又はアセンブリ/機械言語において実装されてもよい。ここで使用されたように、用語機械可読媒体は、機械命令及び/又はデータをプログラマブルプロセッサに提供するために使用された任意のコンピュータプログラム製品、装置及び/もしくは例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイスPLDなどのデバイスに言及し、機械可読信号として機械命令を受信する機械可読媒体を含む。同様に、プロセッサ及び当該プロセッサに結合されたメモリを含んでもよいシステムがまたここで説明される。メモリは、プロセッサがここで説明された1つもしくはそれ以上の動作を実行させる1つもしくはそれ以上のプログラムを含んでもよい。さらに、ここで説明されたシステムは、ニューラル処理のコンテキスト内であるが、ここで説明されたシステムは、例えば有限要素解析及びフィルターバンク処理などを含む他の環境において使用されてもよい。さらに、用語セットは、空のセットを含む任意の量に言及してもよい。数個の変形例が詳細に上述されたが、他の変更もしくは追加が可能である。特に、さらなる特徴及び/又は変形例が、ここで説明された特徴及び/又は変形例に加えて提供されてもよい。例えば、上述された実施例は、開示された特徴の種々のコンビネーション及びサブコンビネーション並びに/又は上記開示されたいくつかのさらなる特徴のコンビネーション及びサブコンビネーションに対して指示されてもよい。さらに、添付された図面において図示された及び/又はここで説明されたロジックフローは、所望される結果を獲得するために、表示された特定の順番、もしくは順次の順番を必要としない。以下の特許請求の範囲の範囲内で他の実施形態が可能である。