(57)【要約】【課題】ニューロシナプティック・コアを多重化する。【解決手段】一実施形態による多重化ニュートラル・コア回路は、ゼロより大きい整数の多重化倍数Ｔに対し、（１）Ｔセットの電子ニューロンと、（２）Ｔセットの電子軸索であって該Ｔセットの電子軸索の各セットがＴセットの電子ニューロンの１つに対応する該Ｔセットの軸索と、（３）各々が、単一の電子軸索を単一の電子ニューロンに相互接続する複数の電子シナプスを含むシナプス相互接続ネットワークであって、該相互接続ネットワークは、Ｔセットの電子軸索の各セットをそれが対応する電子ニューロンのセットに相互接続する、該相互接続ネットワークと、を含む。【選択図】図３
2019515367.tif 000002
【特許請求の範囲】
【請求項１】
多重ニューラル・コア回路であって、ゼロより大きい整数多重化倍数Ｔに対し、
Ｔセットの電子ニューロンと、
Ｔセットの電子軸索であって前記Ｔセットの電子軸索の各セットが前記Ｔセットの電子ニューロンの１つに対応する、前記Ｔセットの電子軸索と、
シナプス相互接続ネットワークであって、各々が単一の電子軸索を単一の電子ニューロンに相互接続する複数の電子シナプスを含み、前記相互接続ネットワークが、前記Ｔセットの電子軸索の各セットをそれが対応する電子ニューロンのセットに相互接続する、前記シナプス相互接続ネットワークと、
を含む、多重ニューラル・コア回路。
【請求項２】
前記シナプス相互接続ネットワークが、前記Ｔセットの電子ニューロンに亘って共有される、請求項１に記載の多重ニューラル・コア回路。
【請求項３】
複数のニューロン・パラメータが、前記Ｔセットの電子ニューロンに亘って共有される、請求項１に記載の多重ニューラル・コア回路。
【請求項４】
複数のニューロン宛先位置が、前記Ｔセットの電子ニューロンに亘って共有される、請求項１に記載の多重ニューラル・コア回路。
【請求項５】
ニューロン状態が、前記Ｔセットの電子ニューロンに亘って共有される、請求項１に記載の多重ニューラル・コア回路。
【請求項６】
前記多重ニューラル・コア回路のオペレーションは、複数の個別時間ステップに関して表され、単一の個別時間ステップ内で、前記Ｔセットの電子軸索の各セットが、前記シナプス相互接続ネットワークを介して、それが対応する電子ニューロンのセットに相互接続される、請求項１に記載の多重ニューラル・コア回路。
【請求項７】
前記複数の個別時間ステップの各々を、Ｔのサブ時間ステップに分割することと、
前記Ｔセットの電子軸索の各セットおよびそれが対応する電子ニューロンのセットに、前記Ｔのサブ時間ステップの１つを割り当てることと、
前記Ｔセットの電子軸索の各セットを、前記シナプス相互接続ネットワークを介して、これらに割り当てられた前記Ｔのサブ時間ステップの１つ内のそれが対応する電子ニューロンのセットに相互接続することと、
をさらに含む、請求項６に記載の多重ニューラル・コア回路。
【請求項８】
２つの個別メモリ・バンクをさらに含み、前記２つの個別メモリ・バンクが、
前記シナプス相互接続ネットワーク、複数のニューロン・パラメータ、複数のニューロン宛先位置、および前記Ｔセットの電子ニューロン内の全電子ニューロンについてのニューロン状態、を包含する第一メモリ・バンクと、
電子軸索バッファ・メモリを包含する第二メモリ・バンクと、
を含む、請求項１に記載の多重ニューラル・コア回路。
【請求項９】
前記電子軸索バッファ・メモリをＴ行×ｍａｘ（Δ）列に分割することをさらに含み、ｍａｘ（Δ）は時間遅延の数である、請求項８に記載の多重ニューラル・コア回路。
【請求項１０】
前記第一メモリ・バンクが、前記シナプス相互接続ネットワークを含む第一メモリ部分と、前記複数のニューロン・パラメータ、前記複数のニューロン宛先位置、および前記Ｔセットの電子ニューロン内の全電子ニューロンについての前記ニューロン状態を含む第二メモリ部分とを用いて実装され、前記第一メモリ部分は、前記第二メモリ部分と異なるかまたは同一である、請求項８に記載の多重ニューラル・コア回路。
【請求項１１】
ニューラル・コア回路を多重化するためのコンピュータ実装の方法であって、ゼロより大きい整数多重化倍数Ｔに対し、
Ｔセットの電子ニューロンを構成するステップと、
Ｔセットの電子軸索を構成するステップであって、前記Ｔセットの電子軸索の各セットが前記Ｔセットの電子ニューロンの１つに対応する、前記電子軸索を構成するステップと、
各々が単一の電子軸索を単一の電子ニューロンに相互接続する複数の電子シナプスを含むシナプス相互接続ネットワークを構成するステップであって、前記相互接続ネットワークは、前記Ｔセットの電子軸索の各セットをそれが対応する電子ニューロンのセットに相互接続する、前記相互接続ネットワークを構成するステップと、
を含む、コンピュータ実装の方法。
【請求項１２】
前記シナプス相互接続ネットワークが、前記Ｔセットの電子ニューロンに亘って共有される、請求項１１に記載のコンピュータ実装の方法。
【請求項１３】
複数のニューロン・パラメータが、前記Ｔセットの電子ニューロンに亘って共有される、請求項１１に記載のコンピュータ実装の方法。
【請求項１４】
複数のニューロン宛先位置が、前記Ｔセットの電子ニューロンに亘って共有される、請求項１１に記載のコンピュータ実装の方法。
【請求項１５】
ニューロン状態が、前記Ｔセットの電子ニューロンに亘って共有される、請求項１１に記載のコンピュータ実装の方法。
【請求項１６】
前記多重ニューラル・コア回路のオペレーションは、複数の個別時間ステップに関して表され、単一の個別時間ステップ内で、前記Ｔセットの電子軸索の各セットが、前記シナプス相互接続ネットワークを介して、それが対応する電子ニューロンのセットに相互接続される、請求項１１に記載のコンピュータ実装の方法。
【請求項１７】
前記複数の個別時間ステップの各々を、Ｔのサブ時間ステップに分割するステップと、
前記Ｔセットの電子軸索の各セットおよびそれが対応する電子ニューロンのセットに、前記Ｔのサブ時間ステップの１つを割り当てるステップと、
前記Ｔセットの電子軸索の各セットを、前記シナプス相互接続ネットワークを介して、これらに割り当てられた前記Ｔのサブ時間ステップの１つ内のそれが対応する電子ニューロンのセットに相互接続するステップと、
をさらに含む、請求項１６に記載のコンピュータ実装の方法。
【請求項１８】
２つの個別メモリ・バンク格納するステップをさらに含み、前記２つの個別メモリ・バンクが、
前記シナプス相互接続ネットワーク、複数のニューロン・パラメータ、複数のニューロン宛先位置、および前記Ｔセットの電子ニューロン内の全電子ニューロンについてのニューロン状態、を包含する第一メモリ・バンクと、
電子軸索バッファ・メモリを包含する第二メモリ・バンクと、
を含む、請求項１１に記載のコンピュータ実装の方法。
【請求項１９】
ニューロシナプティック・チップと、チップ上のコンポーネントとして単一コア・ニューロシナプティック・モジュール、またはチップ上のコンポーネントとして、オンチップ・ネットワークを介して相互接続された複数の多重ニューラル・コア回路を含む、マルチコア・ニューロシナプティック・モジュールと、を含む、ニューロシナプティック・システムであって、前記複数の多重ニューラル・コア回路の各々は、ゼロより大きい整数多重化倍数Ｔに対し、
Ｔセットの電子ニューロンと、
Ｔセットの電子軸索であって、前記Ｔセットの電子軸索の各セットが前記Ｔセットの電子ニューロンの１つに対応する、前記Ｔセットの電子軸索と、
を含み、
シナプス相互接続ネットワークは、各々が単一の電子軸索を単一の電子ニューロンに相互接続する複数の電子シナプスを含み、前記相互接続ネットワークが、前記Ｔセットの電子軸索の各セットをそれが対応する電子ニューロンのセットに相互接続する、
ニューロシナプティック・システム。
【請求項２０】
前記ニューロシナプティック・チップと、前記単一コア・ニューロシナプティック・モジュールまたは前記マルチコア・ニューロシナプティック・モジュールとが、オフチップ・ネットワークを介して相互接続される、請求項１９に記載のニューロシナプティック・システム。
【請求項２１】
前記オンチップ・ネットワークがイベント駆動型である、請求項１９に記載のニューロシナプティック・システム。
【請求項２２】
前記オフチップ・ネットワークがイベント駆動型である、請求項１９に記載のニューロシナプティック・システム。
【請求項２３】
前記複数の多重ニューラル・コア回路の１つ以上が、前記複数の多重ニューラル・コア回路の他の多重ニューラル・コア回路とは異なる整数多重化倍数を有する、請求項１９に記載のニューロシナプティック・システム。
【請求項２４】
前記複数の多重ニューラル・コア回路の第一セットは第一整数多重化倍数Ｔ１を有し、前記第一セットが、前記第一整数多重化倍数Ｔ１とは異なる第二整数多重化倍数Ｔ２を有する多重ニューラル・コア回路の第二セットに接続する、請求項２３に記載のニューロシナプティック・システム。
【請求項２５】
コア間メッセージが、宛先コアの相対アドレス、電子軸索の時間遅延と、電子軸索のセットのアドレス、電子軸索のアドレス、および発信元コアの前記整数多重化倍数Ｔｓと宛先コアの前記整数多重化倍数Ｔｄとの間のマッピングを符号化した情報、を符号化しているスパイク・パケットを含む、請求項２３に記載のニューロシナプティック・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はニューロシナプティック・ネットワークに関し、さらに具体的には、本発明は時分割多重ニューロシナプティック・コアに関する。
【背景技術】
【０００２】
コアベースのニューロシナプティック・システムは複数のニューロシナプティック・コアで構築されており、これらニューロシナプティック・コアはニューロシナプティック・ネットワークを形成するように構成され、接続される。単一のニューロシナプティック・チップは、一定数のニューロシナプティック・コアを包含する。例えば、単一のニューロシナプティック・チップは数百または数千のコアを含み得る。様々なサイズ、すなわち様々なコア数のチップを製造することが可能である。ニューロシナプティック・システムを実装するには、１つ以上のチップが必要である。ニューロシナプティック・チップを製造するのは高コストなので、所与のシステムによって用いられるチップの数を最少にすることが望ましい。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
一部の環境では、同じ機能を実行するために多数のニューロシナプティック・コアがプログラムされることがある。さらに、ニューロシナプティック・コアの所与の構成が、一チップに亘って複数回タイルされることがある。言い換えれば、コアの間のレイアウトまたは接続関係が、一チップまたはチップ群に亘って複数回繰り返され、コアの第一グループがコアの第二グループと同じタスク（群）を実行していることがある。
【課題を解決するための手段】
【０００４】
一実施形態による多重ニューラル・コア回路は、ゼロより大きい整数多重化倍数Ｔに対し、Ｔセットの電子ニューロンと、Ｔセットの電子軸索であって該Ｔセットの電子軸索の各セットがＴセットの電子ニューロンの１つに対応する、該Ｔセットの電子軸索と、各々が、単一の電子軸索を単一の電子ニューロンに相互接続する複数の電子シナプスを包含するシナプス相互接続ネットワークであって、該相互接続ネットワークは、Ｔセットの電子軸索の各セットをそれが対応する電子ニューロンのセットに相互接続する、該相互接続ネットワークと、を含む。
【０００５】
別の実施形態によれば、ニューラル・コア回路を多重化するためのコンピュータ実装の方法は、ゼロより大きい整数多重化倍数Ｔに対し、Ｔセットの電子ニューロンを構成するステップと、Ｔセットの電子軸索を構成するステップであってＴセットの電子軸索の各セットがＴセットの電子ニューロンの１つに対応する、該電子軸索を構成するステップと、各々が単一の電子軸索を単一の電子ニューロンに相互接続する複数の電子シナプスを含むシナプス相互接続ネットワークを構成するステップであって、該相互接続ネットワークは、Ｔセットの電子軸索の各セットをそれが対応する電子ニューロンのセットに相互接続する、該相互接続ネットワークを構成するステップと、を含む。
【０００６】
さらに別の実施形態によれば、ニューロシナプティック・システムは、ニューロシナプティック・チップと、チップ上のコンポーネントとして単一コア・ニューロシナプティック・モジュール、またはチップ上のコンポーネントとして、オンチップ・ネットワークを介して相互接続された複数の多重ニューラル・コア回路を包含する、マルチコア・ニューロシナプティック・モジュールと、を含み、複数の多重ニューラル・コア回路の各々は、ゼロより大きい整数多重化倍数Ｔに対し、Ｔセットの電子ニューロンと、Ｔセットの電子軸索とを含み、Ｔセットの電子軸索の各セットはＴセットの電子ニューロンの１つに対応し、シナプス相互接続ネットワークは、各々が単一の電子軸索を単一の電子ニューロンに相互接続する複数の電子シナプスを含み、相互接続ネットワークは、Ｔセットの電子軸索の各セットをそれが対応する電子ニューロンのセットに相互接続する。
【０００７】
本発明の他の態様および実施形態は、本発明の原理を例証する以下の詳細な説明を、諸図面と併せ読み取れば明らかになろう。
【０００８】
以降に、本発明の諸実施形態を、単に例示の目的で、添付の図面を参照しながら説明することとする。
【図面の簡単な説明】
【０００９】
【図１】本発明の或る実施形態による、ニューロシナプティック・コア・モジュールを示す。
【図２】本発明の或る実施形態による、ニューロシナプティック・ネットワークを示す。
【図３】本発明の或る実施形態による、多重ニューラル・コア回路を示す。
【図４】本発明の或る実施形態による、多重ニューラル・コア回路の複数の可能なメモリ構成を示す。
【図５】一実施形態による、多重ニューロシナプティック・コアの効率を示す。
【図６】一実施形態による、多重ニューロシナプティック・コアの効率を示す。
【図７】一実施形態による、多重ニューロシナプティック・コアの効率を示す。
【図８】図８Ａ〜８Ｂは、一実施形態による、多重ニューロシナプティック・コアの間の、スパイク・イベントの経路制御を示す。
【図９】図９Ａ〜９Ｂは、一実施形態による、多重ニューロシナプティック・コアの間の、スパイク・イベントの経路制御を示す。
【図１０】一実施形態による、多重ニューロシナプティック・コアを構成するための代表的なハードウェア環境を示す。
【発明を実施するための形態】
【００１０】
以降の説明は、本発明の基本的原理を例証するためになされるもので、本明細書で請求される発明の概念を限定する意味合いはない。さらに、本明細書に記載された具体的な諸特徴は、様々の可能な組み合せおよび置き換えの各々において、他の記載された特徴と組み合せて使用することが可能である。
【００１１】
具体的に本明細書中で別途に定義されている場合を除き、全ての用語は、本明細書に含蓄されている意味、ならびに当業者によって理解されている、もしくは辞書、論文などに定義されている、またはその両方の意味を含め、それら用語の可能な最広範囲な解釈を与えられるものとする。
【００１２】
また、本明細書および添付の特許請求の範囲で用いられる単数形「或る（“ａ”、“ａｎ”）」、および「該（“ｔｈｅ”）」は、別途に指定されていなければ、複数の指示対象も含むこと留意する必要がある。さらに、当然のことながら本明細書で用いられる「含む（“ｃｏｍｐｒｉｓｅ”）」もしくは「含んでいる（“ｃｏｍｐｒｉｓｉｎｇ”）」またはその両方は、述べられた特徴、完全体（ｉｎｔｅｇｅｒ）、ステップ、オペレーション、要素、もしくはコンポーネント、またはこれらの組み合わせの存在を特定するが、一つ以上の他の特徴、完全体、ステップ、オペレーション、要素、コンポーネント、もしくはこれらの群、または上記の組み合わせの存在または追加を排除するものではない。
【００１３】
以降の説明では、ニューロシナプティック・コアを多重化するためのシステム、方法、およびコンピュータ・プログラム製品のいくつかの好適な実施形態を開示する。
【００１４】
１つの一般的実施形態において、多重ニューラル・コア回路は、ゼロより大きい整数多重化倍数Ｔに対し、Ｔセットの電子ニューロン、Ｔセットの電子軸索であって、Ｔセットの電子軸索の各セットがＴセットの電子ニューロンの１つに対応する該セットと、各々が単一の電子軸索を単一の電子ニューロンに相互接続する複数の電子シナプス、を包含するシナプス相互接続ネットワークと、を含み、この相互接続ネットワークは、Ｔセットの電子軸索の各セットを、それが対応する電子ニューロンのセットに相互接続する。
【００１５】
別の一般的な実施形態において、ニューラル・コア回路を多重化するためのコンピュータ実装の方法は、ゼロより大きい整数多重化倍数Ｔに対し、Ｔセットの電子ニューロンを構成するステップと、Ｔセットの電子軸索を構成するステップであってＴセットの電子軸索の各セットがＴセットの電子ニューロンの１つに対応する、該電子軸索を構成するステップと、各々が単一の電子軸索を単一の電子ニューロンに相互接続する複数の電子シナプスを含むシナプス相互接続ネットワークを構成するステップであって、この相互接続ネットワークは、Ｔセットの電子軸索の各セットを、それが対応する電子ニューロンのセットに相互接続する、該相互接続ネットワークを構成するステップと、を含む。
【００１６】
別の一般的な実施形態において、ニューロシナプティック・システムは、ニューロシナプティック・チップと、チップ上のコンポーネントとして、単一コア・ニューロシナプティック・モジュール、またはチップ上のコンポーネントとして、オンチップ・ネットワークを介して相互接続された複数の多重ニューラル・コア回路を含む、マルチコア・ニューロシナプティック・モジュールと、を含み、複数の多重ニューラル・コア回路の各々は、ゼロより大きい整数多重化倍数Ｔに対し、Ｔセットの電子ニューロンと、Ｔセットの電子軸索であって該Ｔセットの電子軸索の各セットはＴセットの電子ニューロンの１つに対応する、該セットと、各々が単一の電子軸索を単一の電子ニューロンに相互接続する複数の電子シナプス、を包含するシナプス相互接続ネットワークであって、該相互接続ネットワークは、Ｔセットの電子軸索の各セットをそれが対応する電子ニューロンのセットに相互接続する、該相互接続ネットワークと、を含む。
【００１７】
図１は、本発明の或る実施形態による、ニューロシナプティック・コア・モジュール（「ニューロシナプティック・コア」または「コア」）１０を示す。コア１０は、ニューラル・コア回路／ニューロシナプティック・コア回路である。コア１０は、複数の入来軸索１５および複数のニューロン１１を含む。各ニューロン１１および各軸索１５は設定可能な動作パラメータを有する。コア１０は、複数のシナプス３１、複数の行／軸索パス２６、および複数の列／樹状突起パス３４を包含するシナプス・クロスバー１２をさらに含む。
【００１８】
各シナプス３１は、軸索１５とニューロン１１との間でファイアリング・イベント（例えばスパイク・イベント）を通信する。具体的には、各シナプス３１は、軸索パス２６と樹状突起パス３４との間の交差接合点に、前記シナプス３１を介して軸索パス２６と樹状突起パス３４との間の接続がされるように配置される。各軸索１５は、前記軸索１５が接続された軸索パス２６にスパイクを送信するように、軸索パス２６に接続される。各ニューロン１１は、前記ニューロン１１が接続された樹状突起パス３４からスパイクを受信するように、樹状突起パス３４に接続される。
【００１９】
各シナプス３１は、シナプス・ウェイトを有する。コア１０のシナプス３１のシナプス・ウェイトは、ウェイト・マトリックスＷで表すことが可能で、マトリックスＷの要素Ｗｉｊは、クロスバー１２の行／軸索パスｉ且つ列／樹状突起パスｊに位置するシナプス３１のシナプス・ウェイトを表す。一実施形態において、シナプス３１は、バイナリ・メモリ・デバイスである。例えば、各シナプス３１は、前記シナプス３１が非伝導状態であることを示すウェイト「０」、または前記シナプス３１が伝導状態であることを示すウェイト「１」を有してよい。シナプス３１のシナプス・ウェイトを更新するために、スパイクタイミング依存可塑性（ＳＴＤＰ：ｓｐｉｋｅ−ｔｉｍｉｎｇ  ｄｅｐｅｎｄｅｎｔ  ｐｌａｓｔｉｃｉｔｙ）などの学習則を適用すればよい。
【００２０】
図２は、本発明の或る実施形態による、例示のニューラル・ネットワーク５０を示す。ニューラル・ネットワーク５０は、拡張性のあるニューロモーフィックなシナプトロニック・アーキテクチャである。ニューラル・ネットワーク５０は、複数のチップ構造体７０を含む。各チップ構造体７０は、複数のコア１０を含む。ニューラル・ネットワーク５０のイベント経路制御システム７５は、チップ構造体７０のコア群１０の間のファイアリング・イベントを経路制御する。ニューラル・ネットワーク５０のコア１０は、同一のチップ構造体７０または異なるチップ構造体７０の異なるコア１０にファイアリング・イベントを送信、および異なるコア１０からファイアリング・イベントを受信することができる。
【００２１】
図３は、本発明の或る実施形態による、多重ニューラル・コア回路１００を示す。コア回路１００は、複数のニューロン１１に対するニューロン属性を維持する１つ以上のメモリ含むので、多重ニューロシナプティック・コア回路である。さらに、コア回路１００は、計算の１つ以上を多重化し、複数のニューロン１１に対するロジックを制御する。コア回路１００は、ニューラル・コア回路についての情報を格納するメモリ１１０、メモリ・デバイス１１０に対するコントローラ（すなわち、処理および計算論理回路）１２０、およびメモリ・インターフェース回路１１５を含む。回路１１５は、標準的なメモリ・インターフェース回路であってよい。メモリ１１０は、メモリ１１０ａ、シナプス・クロスバーまたは相互接続ネットワーク１１０ｂ、およびメモリ１１０ｃを含んで示されている。
【００２２】
シナプス・クロスバーまたは相互接続ネットワーク１１０ｂは、複数のニューロン１１についてのシナプス接続関係情報を維持することができ、これによって、ニューラル・コア回路１００の電子軸索をニューラル・コア回路１００の電子ニューロンに相互接続している複数の電子シナプスを含む。相互接続ネットワーク１１０ｂの各シナプスは、電子軸索を電子ニューロンに相互接続する。
【００２３】
様々なさらなるメモリ・サブコンポーネントが、ニューラル・コア回路１００についての情報を格納する。具体的に、コア回路１００は、メモリ１１０ａおよびメモリ１１０ｃを含み、そのそれぞれはニューラル・コア回路についての情報を格納する。さらに、メモリ１１０ａは、Ｔのパーティションに分割することが可能である。Ｔのパーティションの各々は、或る時間ステップのＴのサブ時間ステップの対応する１つに関連付けることができる。メモリ１１０ｃは、ニューラル・コア回路１００についての付加情報を格納する。一実施形態において、この付加情報は、時間ステップのＴのサブ時間ステップの２つ以上に亘って共有されるニューロン属性を含む。例えば、メモリ１１０ｃは、ニューロン１１に対するニューロン・パラメータ、ニューロン１１に対する経路制御データ情報など維持することが可能で、これらについては後記でさらに詳しく説明する。
【００２４】
一実施形態において、この１１０は、複数のエントリまたは行を含んでよい。例えば、シナプス・クロスバー１１０ｂおよびメモリ１１０ｃは、複数のエントリを含むことが可能で、各エントリは、ニューロン１１に対するニューロン属性を維持する。一実施形態で、各エントリはニューロン１１に対する、シナプス接続関係情報（Ｗｉｊ）、ニューロン・パラメータ、および経路制御情報などのニューロン属性を維持する。一実施形態において、各エントリの第一サブセットは、ニューロン１１を軸索１５に相互接続しているシナプス３１のシナプス・ウェイトを維持する。
【００２５】
一実施形態において、コントローラ１２０は、入力処理ファブリックおよび計算ファブリックを含む。各エントリに対し、処理ファブリックは、前記エントリを標的にしたファイアリング・イベントを受信し処理するように構成される。例えば、受信された各ファイアリング・イベントは、前記エントリによって表されるニューロン１１が相互接続されている軸索１５を標的化することができる。上記で示したように、各エントリの第一サブセットは、ニューロン１１を軸索１５に相互接続しているシナプス３１のシナプス・ウェイトを維持する。標的軸索１５と前記エントリによって表されるニューロン１１とを相互接続しているシナプス３１が導電状態であれば、前記ファイアリング・イベントは、計算ファブリックによって組み込むことが可能である。一実施形態において、処理ファブリックは、デコーダと、スケジューラ制御ユニットと、スケジューラと、軸索種類レジスタと、多重化制御ユニットと、点乗積モジュールとを含む。
【００２６】
複数のコア回路１００を含むニューラル・ネットワークにおいて、ファイアリング・イベントは、これらニューラル・ネットワークのコア回路１００の間で、スパイク・イベント・パケットの形で送られる。各スパイク・イベント・パケットは、標的軸索１５を表すバイナリ・アドレスとして符号化されたファイアリング・イベントまたはスパイク・イベントを含んでよく、そのファイアリング・イベントは、同じコア回路１００または異なるコア回路１００中でニューロン１１によって生成されたものである。各スパイク・イベント・パケットは、前記スパイク・イベント・パケット中にカプセル化されたファイアリング・イベントがいつ生成されたかを示す時間ステップおよびサブ時間ステップをさらに含むことが可能である。各コア回路１００のデコーダは、スパイク・イベント・パケットを受信し復号するように構成されてよい。
【００２７】
一実施形態において、スケジューラは、軸索のバッファ保存を管理するように構成され、メモリ１１０ａは、コア回路１００の諸軸索１５に関連付けられた軸索バッファを含む。言い換えれば、コア回路１００のメモリ１１０ａは、Ａの軸索バッファを１セット含むことができ、このＡはコア回路１００の軸索の数である。所与の軸索１５に対し、スケジューラは、軸索１５に宛てられた受信ファイアリング・イベントを、該軸索１５に関連付けられたバッファ中にバッファ保存することができる。さらに、各時間ステップがＴのサブ時間ステップに分割されている場合、軸索に関連付けられたバッファは、Ｔおよびメモリ１１０ａの深さに基づいてサブ分割されてよく、これについては後記でさらに詳しく説明する。
【００２８】
各サブ時間ステップの開始時に、スケジューラは、軸索バッファ中のファイアリング・イベントを位置シフトすることができる。一実施形態において、各サブ時間ステップの開始時に、只今のサブ時間ステップ中の全てのアクティブな軸索１５を示すベクトルが、行としてスケジューラから読み取られてよい。
【００２９】
メモリ１１０の内容は、サブ時間ステップごとに１回読み取られ、書き込むことが可能である。具体的には、各サブ時間ステップに対し、メモリ１１０のエントリは、シーケンシャル・スキャナを使って、逐次的に１回に１つ読み出される。ニューロン１１を表す各エントリに対し、只今のサブ時間ステップ中のアクティブな軸索１５のベクトルと、前記エントリ中に維持されているシナプス接続関係情報、すなわち、全シナプス３１のシナプス・ウェイトとの間の点乗積が計算でき、ニューロン１１の樹状突起パス３４が（Ｗｊ）に接続される。
【００３０】
各エントリに対し、マルチプレクサは、情報を用いてニューロン・パラメータ（すなわち、Ｓｙｎ０、Ｓｙｎ１、Ｓｙｎ２、Ｌｋ）を選択する。例えば、前記エントリ中に維持される漏れ率Ｌｋは、全スパイクが組み込まれた後に選択することができる。加算回路は、マルチプレクサによって選択されたニューロン・パラメータを別のマルチプレクサによって選択された膜電位変数に加算する。各エントリに対し、他のマルチプレクサは、初回の加算に対し前記エントリ中に維持された膜電位変数Ｖを選択することができる。各エントリに対し、他のマルチプレクサは、その後の加算に対する修正された膜電位変数を選択してもよく、この修正膜電位変数は一時的変数である。
【００３１】
各エントリに対し、全スパイクが組み込まれ、漏れ率が適用された後、コンパレータは、修正膜電位変数が、前記エントリ中に維持された閾値パラメータＴｈを超えているかいないかを判定することができる。閾値パラメータＴｈを超えている場合、エンコーダは、スパイクを生成し、生成されたスパイクをスパイク・イベント・パケットにカプセル化／符号化することが可能である。膜電位変数Ｖは、それを前記エントリに書き戻す前に、ゼロにリセットされてよい。
【００３２】
以下に示すいくつかの実施形態において、メモリ１１０は、メモリ１１０が、第一メモリ、第二メモリ、第三メモリなどを含むように割り当てることが可能である。
例えば、メモリ１１０は、複数のメモリ・アレイを含んでよく、第一メモリ・アレイは、複数のニューロン１１（すなわち、シナプス・クロスバー）についてのシナプス接続関係情報を維持し、第二メモリ・アレイは、ニューロン１１に対するニューロン・パラメータを維持し、第三メモリ・アレイは、軸索バッファを含み、第四メモリ・アレイは、ニューロン１１についての経路制御データ情報を維持する。
【００３３】
例えば、ここで図４を参照すると、様々な実施形態による、多重ニューラル・コア回路の複数の可能なメモリ構成が示されている。オプションとして、これらのメモリ構成は、他の諸図を参照して説明したものなど、本明細書に記載の任意の他の実施形態からの特徴と連関させて実装することができる。但し、当然ながら、かかるメモリ構成、および本明細書で提示する他の諸事項は、本明細書に記載の例示的な実施形態中で具体的に説明されていても、または説明されていなくてもよい様々な応用もしくは置き換えまたはその両方で用いられることができる。さらに、本明細書で提示するメモリ構成は、任意の所望の環境中で用いることが可能である。
【００３４】
一実施形態において、メモリ構成５００は、シナプス・クロスバー１１０ｂおよびメモリ１１０ｃを含み、メモリ１１０ｃは、それがニューロン・パラメータ５１２、ニューロン宛先位置５１４、およびニューロン膜電位５１６を含むように割り当てられている。シナプス・クロスバー１１０ｂは、ウェイト・マトリックスＷ中に、コア１０のシナプス３１のシナプス・ウェイトを格納する。前に述べたように、マトリックスＷの要素Ｗｉｊは、クロスバーの行／軸索パスｉ、且つ列／樹状突起パスｊに位置するシナプス３１のシナプス・ウェイトを表す。オプションとして、メモリ構成５００のニューロン・パラメータ５１２は、シナプス・クロスバー１１０ｂに接続された各ニューロン１１に対し、スパイク閾値（Ｔｈ）漏れ率（Ｌｋ）、および各該当の軸索型（Ｓｙｎ０、Ｓｙｎ１、Ｓｙｎ２）のウェイトのうちの１つ以上を含んでよい。さらに、メモリ構成５００のニューロン宛先位置５１４は、シナプス・クロスバー１１０ｂに接続された各ニューロン１１に対し、ニューロン１１の宛先軸索または標的軸索を含むことができる。さらにまた、メモリ構成５００のニューロン膜電位５１６は、シナプス・クロスバー１１０ｂに接続された各ニューロン１１に対し、膜電位変数（Ｖ）を含むことが可能で、この膜電位は、発信元興奮性ニューロンからの入力が受信されたときに増大し、発信元抑制性ニューロンからの入力が受信されたとき低減する、単一またはマルチビット状態を含む。
【００３５】
構成５００によって示されるように、ニューラル・コア回路１００は、各時間ステップが単一のサブ時間ステップだけを含むように、１（Ｔ＝１）の時分割倍数を使って作動するように構成されてもよい。言い換えれば、ニューラル・パラメータ、ニューロン宛先位置、およびニューロン膜電位は、２つ以上のサブ時間ステップの間で共有されることはない。
【００３６】
様々な実施形態において、シナプス・クロスバー１１０ｂおよびメモリ１１０ｃのサイズは、ニューロシナプティック・コア中の軸索およびニューロンの数（Ａ×Ｎ）と、格納されるニューロン・パラメータ、ニューロン宛先位置、およびニューロン膜電位の数とに基づけばよい。例えば、ニューロシナプティック・コアが、２５６軸索×２５６ニューロンのアレイを含む一実施形態では、シナプス・クロスバー１１０ｂは、２５６ｂ×２５６ｂのメモリの配置を含んでよい。さらに、かかる実施形態では、メモリ構成５００は、ニューロン・パラメータ５１２が２５６ｂ×１０２ｂのメモリのアレイを含み、ニューロン宛先位置５１４が２５６ｂ×３２ｂのメモリのアレイを含み、ニューロン膜電位５１６が２５６ｂ×２０ｂのメモリのアレイを含んでよい。したがって、かかる実施形態では、メモリ構成５００のシナプス・クロスバー１１０ｂおよびメモリ１１０ｃは、併せて２５６ｂ×４１０ｂのメモリのアレイを含む。
【００３７】
別の実施形態において、メモリ構成５０２は、シナプス・クロスバー１１０ｂおよびメモリ１１０ｃを含み、メモリ１１０ｃは、それがニューロン・パラメータ５１２と、ニューロン宛先位置５１４と、Ｔセットのニューロン膜電位５１６を含むように割り当てられている。Ｔセットのニューロン膜電位５１６は、ニューラル・コア回路１００の電子ニューロンに対するニューロン膜電位を、Ｔのパーティションの各々がＴのサブ時間ステップのうちの１つに対する複数の電子ニューロンのニューロン膜電位を格納するように、含む。
【００３８】
図４に示されるように、Ｔ＝４であり、構成５０２は、時間ステップの４つのサブ時間ステップに対する４セットのニューロン膜電位５１６を含むが、当然のことながら、Ｔは任意の数に等しくてよい。例えば、他の実施形態では、Ｔは、２、８、１６、６４などに等しくてよい。メモリ構成５０２において、シナプス・クロスバー１１０ｂのシナプス・ウェイト、ニューロン・パラメータ５１２、およびニューロン宛先位置５１４は、Ｔのサブ時間ステップに亘って共有が可能であるが、Ｔのサブ時間ステップの各々は、ニューロン膜電位５１６の相異なるセットに関連付けられる。前述のように、メモリ構成５０２は、単一のニューラル・コア回路が、シナプス・ウェイト、ニューロン・パラメータ、およびニューロン宛先位置は諸サブ時間ステップに亘って共用されるが、各サブ時間ステップはニューロン膜電位５１６の相異なるセットに関連付けられるような仕方で、時間ステップのＴのサブ時間ステップに時間多重化されることを可能にする。これは、単一の物理コア１０が、或る時間ステップの間、４つのコアとして動作し、この４つの模擬的コアの各々がそれ自体の独自のニューロン膜電位を有することを可能にする。
【００３９】
前に述べたように、一実施形態において、シナプス・クロスバー１１０ｂは、２５６ｂ×２５６ｂのメモリの配置を含んでよい。さらに、メモリ構成５０２は、ニューロン・パラメータが２５６ｂ×１０２ｂのメモリのアレイを含み、ニューロン宛先位置５１４が２５６ｂ×３２ｂのメモリのアレイを含み、Ｔセットのニューロン膜電位５１６がＴ×（２５６ｂ×２０ｂのアレイ）を含むように構成されてよい。したがって、Ｔ＝４の場合、メモリ構成５０２のシナプス・クロスバー１１０ｂおよびメモリ１１０ｃは、併せて、２５６ｂ×（２５６＋１０２＋３２＋Ｔ×（２０））ｂ、または２５６ｂ×４７０ｂのメモリのアレイを含む。メモリ構成５０２を含むように構成されたニューラル・コア回路１００は、単一の時間ステップにおいて、同じシナプス・ウェイト、ニューロン・パラメータ、およびニューロン宛先位置を備えるが各サブ時間ステップの間に追跡された相異なるニューロン膜電位を備える４つの別個のニューラル・コア回路１００と同じ数のスパイク計算を実行する能力がある。
【００４０】
さらに別の実施形態において、メモリ構成５０４は、シナプス・クロスバー１１０ｂおよびメモリ１１０ｃを含み、メモリ１１０ｃは、それがニューロン・パラメータ５１２、Ｔセットのニューロン宛先位置５１４、Ｔセットのおよびニューロン膜電位５１６を含むように割り当てられている。Ｔセットのニューロン宛先位置５１４は、ニューラル・コア回路１００の複数の電子ニューロンに対するニューロン宛先位置を、Ｔのパーティションの各々が、Ｔのサブ時間ステップの１つに対する複数の電子ニューロンのニューロン宛先を格納するように、含む。さらに、Ｔセットのニューロン膜電位５１６は、ニューラル・コア回路１００の複数の電子ニューロンに対するニューロン膜電位を、Ｔのパーティションの各々がＴのサブ時間ステップの１つに対する複数の電子ニューロンのニューロン膜電位を格納するように、含む。
【００４１】
図４に示されるように、Ｔ＝４であり、構成５０４は、時間ステップの４つのサブ時間ステップに対する、４セットのニューロン宛先位置５１４、および４セットのニューロン膜電位５１６を含むが、但し当然のことながらＴは任意の数に等しくてよい。例えば、他の実施形態では、Ｔは、２、８、１６、６４などに等しくてよい。メモリ構成５０４において、シナプス・クロスバー１１０ｂのシナプス・ウェイト、およびニューロン・パラメータ５１２は、Ｔのサブ時間ステップに亘って共有が可能であるが、Ｔのサブ時間ステップの各々は、ニューロン宛先位置５１４の相異なるセットおよびニューロン膜電位５１６の相異なるセットに関連付けられる。前述のように、メモリ構成５０４は、単一のニューラル・コア回路が、シナプス・ウェイト、およびニューロン・パラメータ５１２は諸サブ時間ステップに亘って共用されるが、各サブ時間ステップがニューロン宛先位置５１４の相異なるセットおよびニューロン膜電位５１６の相異なるセットに関連付けられるような仕方で、時間ステップのＴのサブ時間ステップに時間多重化されることを可能にする。これは、単一の物理コア１０が、或る時間ステップの間、４つのコアとして動作し、この４つの模擬的コアの各々がそれ自体の独自のニューロン宛先位置およびニューロン膜電位を有することを可能にする。
【００４２】
前に述べたように、一実施形態において、シナプス・クロスバー１１０ｂは、２５６ｂ×２５６ｂのメモリ配置を含むことが可能である。さらに、かかる実施形態では、メモリ構成５０４は、ニューロン・パラメータ５１２が２５６ｂ×１０２ｂのメモリのアレイを含み、Ｔセットのニューロン宛先位置５１４がＴ×（２５６ｂ×３２ｂ）のメモリのアレイを含み、Ｔセットのニューロン膜電位５１６がＴ×（２５６ｂ×２０ｂ）のメモリのアレイを含むように構成することができる。したがって、Ｔ＝４の場合、メモリ構成５０４のシナプス・クロスバー１１０ｂおよびメモリ１１０ｃは、併せて２５６ｂ×（２５６＋１０２＋Ｔ×（３２＋２０））ｂ、または２５６ｂ×５６６ｂのメモリのアレイを含む。メモリ構成５０４を含むように構成されたニューラル・コア回路１００は、単一の時間ステップにおいて、同じシナプス・ウェイトおよびニューロン・パラメータを備えるが各サブ時間ステップの間に追跡された相異なるニューロン宛先位置および相異なるニューロン膜電位を備えた、４つの別個のニューラル・コア回路１００と同じ数のスパイク計算を実行する能力がある。
【００４３】
別の実施形態において、メモリ構成５０６は、シナプス・クロスバー１１０ｂおよびメモリ１１０ｃを含み、メモリ１１０ｃは、それがＴセットのニューロン・パラメータ５１２と、ニューロン宛先位置５１４と、Ｔセットのニューロン膜電位５１６とを含むように割り当てられている。Ｔセットのニューロン・パラメータ５１２は、ニューラル・コア回路１００の複数の電子ニューロンに対するニューロン・パラメータを、Ｔのパーティションの各々がＴのサブ時間ステップの１つに対する複数の電子ニューロンのニューロン・パラメータを格納するように、含む。さらに、Ｔセットのニューロン膜電位５１６は、ニューラル・コア回路１００の複数の電子ニューロンに対するニューロン膜電位を、Ｔのパーティションの各々がＴのサブ時間ステップの１つに対する複数の電子ニューロンのニューロン膜電位を格納するように、含む。
【００４４】
図４に示されるように、Ｔ＝４であり、構成５０６は、時間ステップの４つのサブ時間ステップに対する、４セットのニューロン・パラメータ５１２、４セットのニューロン膜電位５１６を含むが、但し当然のことながら、Ｔは任意の数に等しくてよい。例えば、他の実施形態では、Ｔは、２、８、１６、６４などに等しくてよい。メモリ構成５０６において、シナプス・クロスバー１１０ｂのシナプス・ウェイト、およびニューロン宛先位置５１４は、Ｔのサブ時間ステップに亘って共有が可能であるが、Ｔのサブ時間ステップの各々は、ニューロン・パラメータ５１２の相異なるセットおよびニューロン膜電位５１６の相異なるセットに関連付けられる。前述のように、メモリ構成５０６は、単一のニューラル・コア回路が、シナプス・ウェイト、およびニューロン宛先位置は諸サブ時間ステップに亘って共用されるが、各サブ時間ステップがニューロン・パラメータ５１２の相異なるセットおよびニューロン膜電位５１６の相異なるセットに関連付けられるような仕方で、時間ステップがＴのサブ時間ステップに時間多重化されることを可能にする。
【００４５】
前に述べたように、一実施形態において、シナプス・クロスバー１１０ｂは、２５６ｂ×２５６ｂのメモリの配置を含むことが可能である。さらに、かかる実施形態では、メモリ構成５０６は、Ｔセットのニューロン・パラメータ５１２がＴ×（２５６ｂ×１０２ｂ）のメモリのアレイを含み、ニューロン宛先位置５１４が２５６ｂ×３２ｂのメモリのアレイを含み、Ｔセットのニューロン膜電位５１６がＴ×（２５６ｂ×２０ｂ）のメモリのアレイを含むよう構成されてよい。したがって、Ｔ＝４の場合、メモリ構成５０６のシナプス・クロスバー１１０ｂおよびメモリ１１０ｃは、併せて２５６ｂ×（２５６＋３２＋Ｔ×（１０２＋２０））ｂ、または２５６ｂ×７７６ｂのメモリのアレイを含む。メモリ構成５０６を含むように構成されたニューラル・コア回路１００は、単一の時間ステップにおいて、同じシナプス・ウェイトおよびニューロン宛先位置を備えるが各サブ時間ステップの間に追跡された相異なるニューロン・パラメータおよび相異なるニューロン膜電位を備えた、４つの別個のニューラル・コア回路１００と同じ数のスパイク計算を実行する能力がある。
【００４６】
さらに別の実施形態において、メモリ構成５０８は、シナプス・クロスバー１１０ｂおよびメモリ１１０ｃを含み、メモリ１１０ｃは、それがＴセットのニューロン・パラメータ５１２、Ｔセットのニューロン宛先位置５１４、およびＴセットのニューロン膜電位５１６を含むように割り当てられている。
【００４７】
図４に示されるように、Ｔ＝４であり、構成５０８は、時間ステップの４つのサブ時間ステップに対する、４セットのニューロン・パラメータ５１２、４セットのニューロン宛先位置５１４、および４セットのニューロン膜電位５１６を含むが、但し当然のことながら、Ｔは任意の数に等しくてよい。例えば、他の実施形態では、Ｔは、２、８、１６、６４などに等しくてよい。メモリ構成５０８において、シナプス・クロスバー１１０ｂのシナプス・ウェイトはＴのサブ時間ステップに亘って共有されてよい。また一方、Ｔのサブ時間ステップの各々は、ニューロン・パラメータ５１２の相異なるセット、ニューロン宛先位置５１４の相異なるセット、およびニューロン膜電位５１６の相異なるセットに関連付けられる。前述のように、メモリ構成５０８は、単一のニューラル・コア回路が、シナプス・ウェイトは諸サブ時間ステップに亘って共用されるが、各サブ時間ステップは、ニューロン・パラメータ５１２の相異なるセット、ニューロン宛先位置５１４の相異なるセット、およびニューロン膜電位５１６の相異なるセットに関連付けられるような仕方で、時間ステップがＴのサブ時間ステップに時間多重化されることを可能にする。
【００４８】
前に述べたように、一実施形態において、シナプス・クロスバー１１０ｂは、２５６ｂ×２５６ｂのメモリの配置を含むことが可能である。さらに、かかる実施形態では、メモリ構成５０８は、Ｔセットのニューロン・パラメータ５１２がＴ×（２５６ｂ×１０２ｂ）のメモリのアレイを含み、Ｔセットのニューロン宛先位置５１４がＴ×（２５６ｂ×３２ｂ）のメモリのアレイを含み、Ｔセットのニューロン膜電位５１６がＴ×（２５６ｂ×２０ｂ）のメモリのアレイを含んでよい。したがって、Ｔ＝４の場合、メモリ構成５０８のシナプス・クロスバー１１０ｂおよびメモリ１１０ｃは、併せて２５６ｂ×（２５６＋Ｔ×（１０２＋３２＋２０））ｂ、または２５６ｂ×８７２ｂのメモリのアレイを含む。メモリ構成５０８を含むように構成されたニューラル・コア回路１００は、単一の時間ステップにおいて、同じシナプス・ウェイトを備えるが各サブ時間ステップの間に追跡された相異なるニューロン・パラメータ、相異なるニューロン宛先位置、および相異なるニューロン膜電位を備えた、４つの別個のニューラル・コア回路１００と同じ数のスパイク計算を実行する能力がある。
【００４９】
さらに別の実施形態において、メモリ構成５１０は、シナプス・クロスバー１１０ｂおよびメモリ１１０ｃを含み、メモリ１１０ｃは、それがニューロン・パラメータ５１２、およびニューロン宛先位置５１４を含むように割り当てられている。メモリ構成５１０において、メモリ１１０は、シナプス・ウェイト、ニューロン・パラメータ５１２、およびニューロン宛先位置５１４が時間ステップのサブ時間ステップに亘って共有され、ニューロン膜電位は追跡されないように構成されている。メモリ構成５１０を実装するニューラル・コア回路１００では、ニューロン膜電位は保存されない。結果として、かかるニューラル・コア回路１００は、膜電位と閾値とを比較することがなく、接続された軸索から入力が受信されたときは何時でもスパイクすることが可能である。
【００５０】
本明細書で説明した図４のメモリ構成５００〜５１０を考慮すれば、当然のことながら、ニューラル・コア回路１００は、Ｎのニューロン状態またはＮ×Ｔのニューロン状態、Ｎの膜電位またはＮ×Ｔの膜電位、Ｎのニューロン・パラメータまたはＮ×Ｔのニューロン・パラメータ、およびＮのニューロン宛先位置またはＮ×Ｔのニューロン宛先位置、の任意の組み合せに構成することが可能であって、このＮはニューラル・コア回路１００のニューロンの数であり、Ｔは時分割の倍数（すなわち、サブ時間ステップの総数）である。さらに、図４のメモリ構成５００〜５１０の各々において、相互接続ネットワークまたはシナプス・クロスバー１１０ｂは、Ｔのサブ時間ステップに亘ってニューラル・コア回路１００の電子ニューロン１１によって共有されるシナプス・ウェイトを格納する。さらにまた、図４のメモリ構成５００〜５１０の各々では、ニューラル・コア回路１００は、軸索のバッファ保存のためのメモリを含んでよく、各軸索は、Ｔに基づいて区分化または編成された軸索バッファに関連付けられる。
【００５１】
図５〜７は、一実施形態による、多重ニューロシナプティック・コア・モジュール６１０の効率性を示す。オプションとして、多重ニューロシナプティック・コア・モジュールは、他の諸図を参照して説明したものなど、本明細書に記載の任意の他の実施形態からの特徴と連関させて実装することが可能である。但し、当然のことながら、かかる多重ニューロシナプティック・コア・モジュール６１０、および本明細書で提示された他の諸事項は、本明細書に記載の例示的な実施形態中で具体的に説明されていても、または説明されていなくてもよい様々な応用もしくは置き換えまたはその両方で用いることができる。さらに、本明細書で提示する多重ニューロシナプティック・コア・モジュール６１０は、任意の所望の環境中で用いることが可能である。
【００５２】
ここで図５を参照すると、４つのニューロシナプティック・コア・モジュール１０（１０ａ、１０ｂ、１０ｃ、および１０ｄ）が、多重化されていない仕方で別々に動作しているのが示されている。一実施形態において、これら４つのニューロシナプティック・コア・モジュール１０は、図２のコンテキストで説明したチップ構造体７０のように、全部を同一のチップ上に配置することができる。さらに、これらコア１０の各々は、複数の軸索１５を含んで示されている。具体的には、コア１０ａは軸索１５ａを含み、コア１０ｂは軸索１５ｂを含み、コア１０ｃは軸索１５ｃを含み、コア１０ｄは軸索１５ｄを含む。同様に、これらコア１０の各々は、複数のニューロン１１を含んで示されている。具体的には、コア１０ａはニューロン１１ａを含み、コア１０ｂはニューロン１１ｂを含み、コア１０ｃはニューロン１１ｃを含み、コア１０ｄはニューロン１１ｄを含む。さらに、図５の各軸索１５では、各コア１０が軸索１５と同じ数の軸索バッファ６０５を含むように、独立した軸索バッファ６０５（例えば、軸索バッファ６０５ａ、６０５ｂ、６０５ｃ、・・・６０５ｎ）と通信しているのが示されている。
【００５３】
図５に示されるように、コア１０ａ〜１０ｄのシナプス・クロスバー１２ａ〜１２ｄは、それぞれ同じ仕方で構成されている。言い換えれば、コア１０ａ〜１０ｄのそれぞれのシナプスは、マトリックスＷおよびマトリックスＷの要素Ｗｉｊが、コア１０ａ〜１０ｄの各々に対して同じとなるように構成されている。したがって、コア１０ａの任意の所与の軸索に対し受信されたスパイク・イベントは、コア１０ｂ〜１０ｄの１つの対応する軸索の１つが当該スパイク・イベントを受信したとすれば、コア１０ｂ〜１０ｄの何れかによって出力されたであろうスパイク・イベントを、コア１０ａに出力させることになる。
【００５４】
ここで図６を参照すると、一実施形態による、多重ニューロシナプティック・コア・モジュール（またはコア）６１０が示されている。多重コア６１０は、複数のニューロン６１１と通信している複数の電子軸索６１５を含む。軸索６１５の各々は、多重コア６１０のシナプス・クロスバー６１２のシナプスを介してニューロン６１１の１つ以上に選択的に連結することが可能である。さらに、多重コア６１０のシナプス・クロスバー６１２が、それぞれ、図５のコア１０ａ〜１０ｄのシナプス・クロスバー１２ａ〜１２ｄと同じ仕方で構成されているのが示されている。言い換えれば、多重コア６１０のそれぞれのシナプスは、マトリックスＷおよびマトリックスＷの要素Ｗｉｊが、コア１０ａ〜１０ｄの各々に対して同じとなるように構成されている。
【００５５】
またさらに、図６に示されるように、単一の軸索バッファ６０５は、図５の４つの対応する軸索バッファ６０５中に従前に格納されていたファイアリング・イベントをバッファ保存することができる。例えば、多重コア６１０の軸索バッファ６０５ａは、図５のコア１０ａ〜１０ｄの４つの異なる軸索バッファ６０５ａによって格納されたであろうファイアリング・イベントをバッファ保存する。同様に、多重コア６１０の軸索バッファ６０５ｂは、図５のコア１０ａ〜１０ｄの４つの異なる軸索バッファ６０５ｂによって格納されたであろうファイアリング・イベントをバッファ保存する、等々があろう。所与の軸索６１５に関して、軸索バッファ６０５は、所与の時間ステップの相異なるサブ時間ステップのファイアリング・イベントをインターリーブする方式で構成され／読み取られてよい。
【００５６】
例えば、図６を参照すると、軸索バッファ６０５にバッファ保存されたファイアリング・イベントは、４つの異なる時間ステップ（すなわち、バッファ６０５の各々は、各時間ステップに対し１つの、４つのユニット幅である）の４つのサブ時間ステップの１つ（すなわち、サブ時間ステップ０、サブ時間ステップ１、サブ時間ステップ２、またはサブ時間ステップ３）に関連付けて識別されている。多重コア６１０のオペレーションの過程で、サブ時間ステップ０に関連付けられた軸索バッファ６０５ａ中の第一イベントを処理することができ、次いで、サブ時間ステップ１に関連付けられた軸索バッファ６０５ａ中の第一イベントを処理することができ、次いで、サブ時間ステップ２に関連付けられた軸索バッファ６０５ａ中の第一イベントを処理することができ、次いで、サブ時間ステップ３に関連付けられた軸索バッファ６０５ａ中の第一イベントを処理することができ、次に（シフトした後）、別の時間ステップのサブ時間ステップ０に関連付けられた軸索バッファ６０５ａ中の第一イベントを処理することができる、等々である。
【００５７】
図７に示されるように、メモリ６５０は、多重コア６１０の軸索６１５の各々に関連付けられた軸索バッファ６０５を含んでよい。メモリ６５０は、図３のコンテキストで前に説明したメモリ１１０ａと実質的に同一であってよい。メモリ６５０の幅は、メモリ６５０が情報を格納する対象のコアのサイズに基づいてよい。一実施形態において、メモリ６５０は、多重コア６１０の２５６の軸索をバッファ保存するため２５６ｂ幅である。メモリ６５０が情報を格納する対象の時間ステップ（Δ）／サブ時間ステップの数は、メモリ６５０の高さに依存し得る。例えば、メモリ６５０は、（Ｔ×ｍａｘ（Δ））ビットの高さを有し、このΔは時間ステップの数であり、Ｔは時分割の倍数である。図示のように、メモリ６５０は、Δの時間ステップの各々に対するＴのサブ時間ステップをバッファ保存する。これにより、メモリ６５０の各行は単一のサブ時間ステップに関連付けられ、メモリ６５０の１ｂ幅の各列が単一の軸索に関連付けられる。このように、メモリ６５０は、Ｔ×ｍａｘ（Δ）の行に分割された軸索バッファ・メモリを含むことができ、このｍａｘ（Δ）は時間ステップの最大数である。
【００５８】
しかして、Ｔおよびｍａｘ（Δ）は、メモリ６５０の所与のサイズに対して直接に関係付けられる。例えば、１２８行の深さまたは高さを備えたメモリ６５０は、Ｔ＝６４且つｍａｘ（Δ）＝２、Ｔ＝３２且つｍａｘ（Δ）＝４、Ｔ＝１６且つｍａｘ（Δ）＝８、Ｔ＝８且つｍａｘ（Δ）＝１６、Ｔ＝４且つｍａｘ（Δ）＝３２、Ｔ＝２且つｍａｘ（Δ）＝６４、またはＴ＝１且つｍａｘ（Δ）＝１２８であるように構成することができる。
【００５９】
一実施形態において、多重ニューロシナプティック多重コア６１０は、次のような仕方で動作することができる。Ｔのサブ時間ステップの各々（サブ時間ステップ０からサブ時間ステップＴ−１まで）内で、同期的に、当該軸索が搬送の必要のあるスパイクを有するかどうかを判断するために各軸索ｉｔをチェックする。当該軸索が搬送の必要のあるスパイクを有する場合、次いで、あらゆるニューロンｊｔに対し、シナプス・ウェイトｓｉｊの関数としてニューロンの状態を更新する。当該軸索が搬送の必要のあるスパイクを有するかどうかを判断するために各軸索をチェックした後、次いで、あらゆるニューロンｊｔに対し、その以前の状態とそのパラメータとその入力との関数として、その新規ニューロン状態を計算し、次いでその新規ニューロンがスパイクしたかどうかをチェックする。所与のニューロンがスパイクしていた場合、次いで、そのニューロンの宛先位置をルックアップし、その宛先位置に宛てたスパイク・イベント・パケットを生成し、そのスパイク・イベント・パケットをニューロシナプティック・ネットワーク上で送信し、ニューロンｊｔの状態をリセットする。さらにまた、多重ニューロシナプティック・コア６１０は、ニューロシナプティック・ネットワークからスパイク・イベント・パケットを受信するため非同期的に動作することができ、軸索バッファを更新できる。
【００６０】
別の実施形態において、多重ニューロシナプティック・コア６１０は、次のような仕方で動作することができる。Ｔのサブ時間ステップの各々（サブ時間ステップ０からサブ時間ステップＴ−１まで）内で、同期的に、あらゆるニューロンｊに対し、ニューロンｊの状態、ニューロンｊのニューロン・パラメータ、およびニューロンｊの宛先位置を読み取る。次に、新規のニューロン状態を決めるために、（当該ニューロンに接続されている諸軸索からの）シナプス入力の並列和を前の状態に加算する。これは、ｎ０が前のニューロン状態でありｎ１が新規のニューロン状態であり、ｇが軸索型のｉｄであり、Ａが軸索バッファであり、ｋが軸索型の数であり、ｗがニューロンｊ上の軸索型ｋに関連付けられたウェイトであるとすれば、下記の式として計算することができる。
【００６１】
【数１】
2019515367.tif 000003
【００６２】
次に、新規のニューロン状態がスパイクをトリガするかどうかがチェックされる。新規のニューロン状態がスパイクをトリガする場合、次いで、そのニューロンの宛先位置ルックアップし、その宛先位置に宛てたスパイク・イベント・パケットを生成し、そのスパイク・イベント・パケットをニューロシナプティック・ネットワーク上で送信し、ニューロンｊの状態をリセットする。かかる実施形態において、多重ニューロシナプティック・コア６１０は、ニューロシナプティック・ネットワークからスパイク・イベント・パケットを受信するため非同期的に動作することができ、軸索バッファを更新できる。
【００６３】
１つ以上のニューロン属性またはパラメータを共有することにより、ニューロシナプティック・チップ上に見られるニューロンおよび軸索の繰り返しのネットワークは、該チップ上のより少ない数のコアにローカライズすることができる。結果として、ニューロシナプティックの所与の収集の計算は、多重化のないコアよりもニューロシナプティック・チップ上の少ない物理スペースもしくは少ない電力またはその両方を必要とし得る。
【００６４】
ニューロシナプティック・コア回路のより高速な動作を達成するために、ニューロンの更新は、例えば専用の乗算回路を使って並列実施することが可能である。軸索バッファは、タイム・スタンプもしくは時間遅延またはその両方を使って用いることができる。
【００６５】
チップのニューロシナプティック・コアの多重化の結果として、１つのチップが、可動性と拡張性との間の線引きを可能にし、両者の間で漸近的にトレードしながら面積および電力効率の最高値を達成することができる。さらに、多重ニューロシナプティック・コアは、均質的なアーキテクチャにおいてスペースインバリアントおよびスペースバリアントなカーネルをミックスアンドマッチする能力を備え、なすべき作業がない場合は動的エネルギを浪費することなく、所与の電力予定量に対し所与のチップを最適化することを可能にする。また一方、最適の指標が動作の速度（スループット、待ち時間など）である場合には、次いで、チップは、（所与のアーキテクチャにおいて指定された速度指標が達成可能なことを前提として）最少のリソース割り当て、または最少の電力消費で、必要な速度のために最適化することができる。また、このチップは、（複数のアプリケーションがサイド・バイ・サイドで同一のチップ上で実行される場合）所与のアプリケーションに対し最小のリソース割り当てをするように最適化ことが可能である。さらに、かかる最適化は、チップ全体の再構成フェーズ（静的な最適化／再構成）において、または動作フェーズの間での部分的再構成能力（動的な最適化／再構成）を用いて実施することができる。これらの概念は、チップレベルの最適化に対してだけでなく、システム全体に亘る最適化に対しても適用される。
【００６６】
これらによって、いくつかの実施形態では、ニューロシナプティック・ネットワークが複数の多重コア６１０を含んでよい。さらに、全部の多重コア６１０を、同じ時分割倍数によって多重化しなくてもよい。例えば、第一多重コア６１０は、第一時分割倍数（Ｔ）によって多重化することができ、第一多重コア６１０のニューロン・パラメータ、ニューロン宛先位置、およびニューロン膜電位のうちの１つ以上を、時間ステップのＴのサブ時間ステップに亘って共有してよい。さらに、第一多重コア６１０のニューロン・パラメータ、ニューロン宛先位置、およびニューロン膜電位を格納しているメモリの１つ以上をＴのパーティションに分割することが可能で、これらＴパーティションの各々は、時間ステップのＴのサブ時間ステップの対応する１つに関連付けられる。加えて、第二多重コア６１０は、第二時分割倍数（Ｕ）によって多重化することができ、第二多重コア６１０のニューロン・パラメータ、ニューロン宛先位置、およびニューロン膜電位のうちの１つ以上を、時間ステップのＵのサブ時間ステップに亘って共有してよい。さらにまた、第二多重コア６１０のニューロン・パラメータ、ニューロン宛先位置、およびニューロン膜電位を格納しているメモリの１つ以上をＵのパーティションに分割することが可能で、これらＵパーティションの各々は、時間ステップのＵのサブ時間ステップの対応する１つに関連付けられる。最後に、Ｔは、Ｕと等しくてもそれより大きくても小さくてもよい。
【００６７】
例えば、第一多重コア６１０は、４の時分割倍数（Ｔ＝４）によって多重化することが可能である。これにより、シナプス・ウェイト、ニューロン・パラメータ、およびニューロン宛先位置は、各時間ステップの４つのサブ時間ステップに亘って共有できるが、一方、第一多重コア６１０に対するニューロン膜電位を格納するメモリは４つのパーティションに分けることが可能で、これら４つのパーティションの各々は各時間ステップの４つのサブ時間ステップのうちの対応する１つに関連付けられる。第二多重コア６１０は第一多重コア６１０と通信しており、第二コアは８の時分割倍数（Ｕ＝８）によって多重化されている。第二多重コア６１０に対し、シナプス・ウェイト、ニューロン・パラメータ、およびニューロン宛先位置は、各時間ステップの８つのサブ時間ステップに亘って共有できるが、一方、第二多重コア６１０に対するニューロン膜電位を格納するメモリは８つのパーティションに分けることが可能で、これら８つのパーティションの各々は各時間ステップの８つのサブ時間ステップのうちの対応する１つに関連付けられる。当然のことながら、第一多重コア６１０および第二多重コアの各々は、任意の時分割倍数（例えば、１、２、４、８、１６、３２、６４など）によって多重化されてよい。
【００６８】
第一時分割倍数によって多重化された第一コア６１０と、第一時分割倍数とは異なる第二時分割倍数によって多重化された第二コア６１０と間におけるファイアリング・イベントまたはスパイク・イベントは、空間分布された入力をサブ時間ステップにマップすることによって架橋することができる。
【００６９】
具体的に、スパイク・イベントは、時間ステップのＴのサブ時間ステップに多重化された第一多重ニューラル・コアで、そのスパイク・イベントに対するパケットを生成することによって多重コア間で送られることが可能である。さらに、このパケットは、少なくとも１つのニューラル・コア・アドレス・フィールドと、時間ステップと、軸索アドレスと、時間尺度およびオフセットのうちの少なくとも１つと、を含む。次いで、第一多重ニューラル・コアは、第二ニューラル・コアがスパイク・イベントを受信するようにそのスパイク・イベント・パケットを伝送する。第二ニューラル・コアは、第一多重ニューラル・コアとは異なる時分割倍数によって多重化されていてもよい。例えば、第二ニューラル・コアは、時間ステップの各々に対しＵのサブ時間ステップによって多重化されていてよく、このＵはＴよりも大きいかまたは小さい。
【００７０】
一実施形態において、このパケットの上記少なくとも１つのニューラル・コア・アドレス・フィールドは、（ｄｘ＋ｄｘｔ）フィールドもしくは（ｄｙ＋ｄｙｔ）フィールドまたはその両方を含むことができる。例えば、このパケットの該少なくとも１つのニューラル・コア・アドレス・フィールドは、（ｄｘ＋ｄｘｔ，ｄｙ＋ｄｙｔ）を含むようにフォーマットすることが可能である。オプションとして、ｄｘｔおよびｄｙｔの各々は、ｃｅｉｌ（ｌｏｇ２Ｎ）ビットである。さらに、ｄｘｔおよびｄｙｔの各々は、コア毎、サブ時間ステップ毎にプログラム可能である。様々な実施形態において、ｄｘおよびｄｙのアドレス・フィールドは、ニューラル・ネットワークのＸ座標およびＹ座標のそれぞれにおけるオフセットを提供する。オプションとして、パケットは最初にＸ次元に、次いでＹ次元について経路設定されてよい。さらにまた、パケット中に包含された軸索アドレスは、スパイクが搬送される対象の宛先ニューラル・コア中の電子軸索のアドレスを含むことが可能である。
【００７１】
一実施形態において、パケットは、時間尺度を含むがオフセットは含まない。時間尺度は、定数Ｆによって表すことができ、このＦは、小さい方の時分割倍数で動作しているニューラル・コアの時分割倍数への縮尺数である。時間尺度（Ｆ）は、より大きな時分割倍数で動作しているニューラル・コア（より速いコア）から、より小さな時分割倍数で動作しているニューラル・コア（より遅いコア）にスパイク・イベントを送信するときに使うことができる。時間尺度（Ｆ）がパケットに含まれている場合には、オフセットはそのパケットには含まれない。例えば、Ｔ＝８の多重コアからＴ＝４の多重コアにスパイク・イベント・パケットが送信される場合、Ｆ＝４で、オフセットは＝０かまたは含まれない。
【００７２】
また、ｄｘｔおよびｄｙｔビットも、より大きな時分割倍数で動作しているニューラル・コア（より速いコア）から、より小さな時分割倍数で動作しているニューラル・コア（より遅いコア）にスパイク・イベントを送信するときに用いることができ、このｄｘｔおよびｄｙｔビットは、より遅いコアからより速いコアへ送信されるパケットには含まれない。
【００７３】
別の実施形態において、パケットはオフセットを含むが時間尺度は含まない。このオフセットは、定数Ｃで表すことができ、このＣは、スパイク・イベントをより速いコアのサブ時間ステップ中にマップするオフセットである。しかして、オフセット（Ｃ）は、より小さな時分割倍数で動作しているニューラル・コア（より遅いコア）から、より大きな時分割倍数で動作しているニューラル・コア（より速いコア）にスパイク・イベントを送信するときに使うことができる。さらに、Ｃがパケットに含まれている場合には、時間尺度定数（Ｆ）は０に等しいかまたはそのパケットには含まれなくてもよい。このように、ＣおよびＦの両方の定数は、スパイク・イベントが相異なる時分割倍数のコアの間で伝送される場合に、スパイク・イベントを搬送するためのサブ時間ステップを定義するために使うことができる。
【００７４】
例えば、第一多重ニューラル・コアが、各時間ステップに対しＴのサブ時間ステップで多重化され、第二多重ニューラル・コアが、各時間ステップに対しＵのサブ時間ステップで多重化され、ＴがＵよりも小さい場合、より遅いコアからより速いコアに送信されるパケットは、スパイク・イベントの搬送をより速いコアの適切なサブ時間ステップにマップするためのオフセット（Ｃ）を含むことになる。
【００７５】
一特定の実施形態において、スパイク・イベント・パケットは、（ｄｘ＋ｄｘｔ，ｄｙ＋ｄｙｔ、Ｃ＋（ｔ％Ｆ）、Δ、軸索アドレス）としてフォーマットすることが可能で、この％はモジュロ演算子であり、Δは時間ステップである。これらにより、このパケットは、サブ時間ステップＣ＋（ｔ％Ｆ）のΔの遅延の後、軸索アドレスの軸索で、ニューラル・コア（ｄｘ＋ｄｘｔ，ｄｙ＋ｄｙｔ）に搬送されることができる。
【００７６】
図８Ａ〜８Ｂは、一実施形態による、ニューロシナプティック・コアの間の、スパイク・イベントの経路制御を示す。オプションとして、このスパイク・イベントの経路制御は、他の諸図を参照して説明したものなど、本明細書に記載の任意の他の実施形態からの特徴と連関させて実装することができる。但し、当然ながら、このスパイク・イベントの経路制御のためのシステムおよび方法は、本明細書に記載の例示的な実施形態中で具体的に説明されていても、または説明されていなくてもよい様々な応用もしくは置き換えまたはその両方で用いることができる。さらに、本明細書で提示するスパイク・イベントを経路制御するシステムおよび方法は、任意の所望の環境中で用いることが可能である。
【００７７】
ここで図８Ａを参照すると、ニューラル・コア回路７０２、７０４、７０６、および７０８は、それぞれ、１の時分割倍数を使って、コア７０２、７０４、７０６、および７０８の各々が各時間ステップ（Δ）に対し１回作動するように動作している。コア７０２、７０４、７０６、および７０８は、在来型の多重化なしのニューロシナプティック・コアであってよい。コア７０２、７０４、７０６、および７０８の各々のニューロンからの出力は、多重ニューラル・コア回路７１０に伝送されるスパイク・イベント（すなわちファイアリング・イベント）をもたらすように構成される。図８Ａに示されるように、多重ニューラル・コア７１０は、４の時分割倍数を用い、時間ステップ（Δ）ごとに４回作動するように動作している。
【００７８】
したがって、コア７０２、７０４、７０６、および７０８と、多重コア７１０との間での通信を可能にするため、コア７０２、７０４、７０６、および７０８の各々は、相異なるＣ値を割り当てられている。各Ｃ値は、受信されたスパイク・イベントをより速いコア（すなわちコア７１０）のサブ時間ステップ中にマップするサブ時間ステップのオフセットである。したがって、コア７０２に対してはＣ＝０であり、コア７０２から受信されたスパイク・イベントは、多重コア７１０の第一サブ時間ステップの中にマップされる。コア７０４に対してはＣ＝１であり、コア７０４から受信されたスパイク・イベントは、多重コア７１０の第二サブ時間ステップの中にマップされる。コア７０６に対してはＣ＝２であり、コア７０６から受信されたスパイク・イベントは、多重コア７１０の第三サブ時間ステップの中にマップされる。コア７０８に対してはＣ＝３であり、コア７０８から受信されたスパイク・イベントは、多重コア７１０の第四サブ時間ステップの中にマップされる。図８Ａおよび８Ｂの両方において、ｄｘｔ＝０且つｄｙｔ＝０である。パケットの経路制御は、これらコアの間に配置されたイベント・ルータによって管理することができる。
【００７９】
さらなる別の例として、次いで図８Ｂを参照すると、多重ニューラル・コア回路７５２および７５４は、それぞれ２の時分割倍数を用い、コア７５２および７５４の各々が時間ステップ（Δ）ごとに２回作動するように動作している。コア７５２および７５４のニューロンは、スパイク・イベント（すなわちファイアリング・イベント）を多重ニューラル・コア回路７６０に伝送するように構成される。図８Ｂに示されるように、多重ニューラル・コア回路７６０は、４の時分割倍数を用い、時間ステップ（Δ）ごとに４回作動するように動作している。
【００８０】
したがって、多重コア７５２および７５４から、多重コア７６０への通信を可能にするため、コア７５２および７５４の各々は相異なるＣ値を割り当てられている。具体的に、コア７５２に対してはＣ＝０であり、これは、コア７５２から受信されたスパイク・イベントが多重コア７６０の最初の２つのサブ時間ステップ（ｔ＝０、ｔ＝１）中にマップされる結果をもたらし、また、コア７５４に対してはＣ＝２であり、これは、コア７５４から受信されたスパイク・イベントが多重コア７６０の第三および第四サブ時間ステップ（ｔ＝２、ｔ＝３）中にマップされる結果をもたらす。結果として、多重コア７５２および７５４の両方は、各時間ステップの２つのサブ時間ステップの同一期間の間に計算を実行できるが、コア７５２および７５４から送信されるスパイク・イベントはバッファ保存され、順序付けられた矛盾のない仕方で多重コア７６０に入力される。
【００８１】
図９Ａ〜９Ｂは、一実施形態による、ニューロシナプティック・コアの間でのスパイク・イベントの経路制御を示す。オプションとして、このスパイク・イベントの経路制御は、他の諸図を参照して説明したものなど、本明細書に記載の任意の他の実施形態からの特徴と連関させて実装することができる。但し、当然ながら、このスパイク・イベントの経路制御のためのシステムおよび方法は、本明細書に記載の例示的な実施形態中で具体的に説明されていても、または説明されていなくてもよい様々な応用もしくは置き換えまたはその両方で用いることができる。さらに、本明細書で提示するスパイク・イベントを経路制御するシステムおよび方法は、任意の所望の環境中で用いることが可能である。
【００８２】
ここで図９Ａを参照すると、多重ニューラル・コア回路８１０は、４の時分割倍数を使って、該回路が時間ステップ（Δ）ごとに４回作動するように動作している。多重コア８１０が、ニューラル・コア回路８０２、８０４、８０６、および８０８の各々にスパイク・イベントを伝送しているのが示されており、これらの回路はそれぞれ１の時分割倍数で動作している。言い換えれば、コア８０２、８０４、８０６、および８０８の各々は、各時間ステップ（Δ）に対し１回動作する。
【００８３】
したがって、多重コア８１０から、コア８０２、８０４、８０６、および８０８へのスパイク・イベントの確実な伝送を可能にするため、多重コア８１０からのパケットは、０のＣ値および１のＦ値を含むように構成される。言い換えれば、より遅いコア８０２〜８０８の時分割倍数を反映して、かかるパケットの時間尺度は１（Ｆ＝１）であり、多重コア８１０は、遅いコア８０２〜８０８より速いのでＣ＝０である。さらに、多重コア８１０からコア８０２〜８０８へのスパイク・イベント・パケットが、これらパケットのニューラル・コア・アドレス・フィールド中にｄｘｔフィールドを含んで示されている。具体的に、多重コア８１０からコア８０２へのスパイク・イベント・パケットはｄｘｔ＝０であり、該パケットが各Δの第一サブ時間ステップにマップされることを示しており、多重コア８１０からコア８０４へのスパイク・イベント・パケットはｄｘｔ＝１であり、該パケットが各Δの第二サブ時間ステップにマップされることを示しており、多重コア８１０からコア８０６へのスパイク・イベント・パケットはｄｘｔ＝２であり、該パケットが各Δの第三サブ時間ステップにマップされることを示しており、多重コア８１０からコア８０８へのスパイク・イベント・パケットはｄｘｔ＝４であり、該パケットが各Δの第四サブ時間ステップにマップされることを示している。
【００８４】
オプションとして、ｄｙｔは、空間分布をマップするために、ｄｘｔの代わりにまたはそれに加えて使用することができる。受信コアの各々は、サブ時間ステップの各々内でペア（ｄｘｔ，ｄｙｔ）として符号化されてよい。ｄｘｔおよびｄｙｔの値は、例えばプログラマなどによって事前設定することが可能である。｛（ｄｘｔ，ｄｙｔ）、ｔ＝１，２，・・・，Ｔ｝のセットはおおよそでよい。
【００８５】
次いで図９Ｂを参照すると、多重ニューラル・コア回路８６０は、４の時分割倍数を用い、時間ステップ（Δ）ごとに４回作動するように動作している。多重コア８６０が、多重ニューラル・コア回路８５２および８５４の各々にスパイク・イベントを伝送しているのが示されており、これら回路はそれぞれ２の時分割倍数で動作している。言い換えれば、コア８５２および８５４の各々は、各時間ステップ（Δ）に対し２回動作する。
【００８６】
したがって、多重コア８６０から、コア８５２および８５４へのスパイク・イベントの確実な伝送を可能にするため、多重コア８６０からのパケットは、０のＣ値（Ｃ＝０）および２のＦ値（Ｆ＝２）を含むように構成される。言い換えれば、パケットを受信する、より遅いコア８５２および８５４の時分割倍数を反映して、かかるパケットの時間尺度は２（Ｆ＝２）であり、多重コア８６０は、遅いコア８５２および８５４より速いのでＣ＝０である。さらに、多重コア８６０から多重コア８５２および８５４へのスパイク・イベント・パケットが、これらパケットのニューラル・コア・アドレス・フィールド中にｄｘｔフィールドを含んで示されている。具体的に、多重コア８６０から多重コア８５２へのスパイク・イベント・パケットはｄｘｔ＝０であり、該パケットが各Δの第一サブ時間ステップにマップされることを示しており、多重コア８６０から多重コア８５４へのスパイク・イベント・パケットはｄｘｔ＝１であり、該パケットが各Δの第二サブ時間ステップにマップされることを示している。
【００８７】
一実施形態において、多重ニューラル・コア回路は、ゼロより大きい整数多重化倍数Ｔに対し、Ｔセットの電子ニューロン、Ｔセットの電子軸索を含むことができ、Ｔセットの電子軸索の各セットは、Ｔセットの電子ニューロンの１つに対応し、シナプス相互接続ネットワークは、各々が単一の電子軸索を単一の電子ニューロンに相互接続している、複数の電子シナプスを含み、この相互接続ネットワークは、Ｔセットの電子軸索の各セットをそれが対応する電子ニューロンのセットに相互接続する。
【００８８】
さらに、一実施形態において、シナプス相互接続ネットワークは、Ｔセットの電子ニューロンに亘って共有されてよい。別の実施形態では、複数のニューロン・パラメータが、Ｔセットの電子ニューロンに亘って共有されてよい。さらに別の実施形態においては、複数のニューロン宛先位置が、Ｔセットの電子ニューロンに亘って共有されてよい。またさらなる別の実施形態においては、ニューロン状態が、Ｔセットの電子ニューロンに亘って共有されてよい。
【００８９】
さらに、一実施形態において、多重ニューラル・コア回路のオペレーションは、複数の個別時間ステップに関連させて表すことができ、単一の個別時間ステップ内で、Ｔセットの電子軸索の各セットは、シナプス相互接続ネットワークを介して、それが対応する電子ニューロンのセットに相互接続されてよい。別の実施形態において、複数の個別時間ステップの各々はＴのサブ時間ステップに分割することが可能で、Ｔセットの電子軸索の各セットおよびそれが対応する電子ニューロンのセットに、これらＴのサブ時間ステップの１つを割り当てることができ、これらＴセットの電子軸索の各セットは、シナプス相互接続ネットワークを介して、これらに割り当てられたＴのサブ時間ステップの１つ内のそれが対応する電子ニューロンのセットに相互接続することが可能である。
【００９０】
さらにまた、一実施形態において、多重ニューラル・コア回路は、２つの個別メモリ・バンクをさらに含んでよく、該２つの個別メモリ・バンクは、シナプス相互接続ネットワークと、複数のニューロン・パラメータと、複数のニューロン宛先位置と、Ｔセットの電子ニューロン内の全電子ニューロンについてのニューロン状態と、を包含する第一メモリ・バンク、および電子軸索バッファ・メモリを包含する第二メモリ・バンクを含むことが可能である。別の実施形態において、電子軸索バッファ・メモリは、Ｔ行×ｍａｘ（Δ）列に分割することができ、このｍａｘ（Δ）は時間遅延の数である。
【００９１】
また、一実施形態において、ニューロシナプティック・システムは、ニューロシナプティック・チップと、チップ上のコンポーネントとしての単一コア・ニューロシナプティック・モジュール、またはオンチップ・ネットワークを介して相互接続された複数の多重ニューラル・コア回路を含む、チップ上のコンポーネントとしてのマルチコア・ニューロシナプティック・モジュールとを含むことが可能であり、これら複数の多重ニューラル・コア回路のそれぞれは、ゼロより大きい整数多重化倍数Ｔに対し、Ｔセットの電子ニューロンと、Ｔセットの電子軸索であってこれらＴセットの電子軸索の各セットはＴセットの電子ニューロンの１つに対応する、該Ｔセットの電子軸索と、各々が単一の電子軸索を単一の電子ニューロンに相互接続する複数の電子シナプスを含むシナプス相互接続ネットワークであって、該相互接続ネットワークは、Ｔセットの電子軸索の各セットをそれが対応する電子ニューロンのセットに相互接続する、該相互接続ネットワークと、を含む。
【００９２】
さらに、一実施形態において、ニューロシナプティック・チップと、単一コア・ニューロシナプティック・モジュールまたはマルチコア・ニューロシナプティック・モジュールとは、オフチップ・ネットワークを介して相互接続されてもよい。別の実施形態において、オンチップ・ネットワークはイベント駆動型とすることができる。別の実施形態では、オフチップ・ネットワークはイベント駆動型とすることができる。さらに別の実施形態において、複数の多重ニューラル・コア回路の１つ以上は、該複数の多重ニューラル・コア回路の他の多重ニューラル・コア回路とは異なる整数多重化倍数を有してよい。
【００９３】
さらに、一実施形態において、複数の多重ニューラル・コア回路の第一セットは、第一整数多重化倍数Ｔ１を有してよく、該第一セットは、第一整数多重化倍数Ｔ１とは異なる第二整数多重化倍数Ｔ２を有する多重ニューラル・コア回路の第二セットに接続することができる。別の実施形態において、コア間メッセージは、宛先コアの相対アドレスと、電子軸索の時間遅延と、電子軸索のセットのアドレスと、電子軸索のアドレスと、発信元コアの整数多重化倍数Ｔｓと宛先コアの整数多重化倍数Ｔｄとの間のマッピングを符号化した情報と、を符号化しているスパイク・パケットを含んでよい。
【００９４】
図１０は、一実施形態による、ニューロシナプティック・コアを構成するための代表的なハードウェア環境を示す。この図は、マイクロプロセッサなどの中央処理装置２１０、およびシステム・バス２１２を介して相互接続されたいくつかの他のユニットを有する、ワークステーションの典型的なハードウェア構成を示す。
【００９５】
図１０に示されたワークステーションは、ランダム・アクセス・メモリ（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２１４と、読み取り専用メモリ（ＲＯＭ：Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２１６と、ディスク・ストレージ・ユニット２２０などの周辺デバイスをバス２１２に接続するためのＩ／Ｏアダプタ２１８と、キーボード２２４、マウス２２６、スピーカ２２８、マイクロフォン２３２、もしくは、タッチ・スクリーンおよびデジタル・カメラ（図示せず）などの他のユーザインタフェース・デバイス、またはこれらの組み合わせをバス２１２に接続するためのユーザ・インタフェース・アダプタ２２２と、ワークステーションを通信ネットワーク２３５（例えば、データ処理ネットワーク）に接続するための通信アダプタ２３４と、バス２１２を表示デバイス２３８に接続するためのディスプレイ・アダプタ２３６と、を含む。
【００９６】
このワークステーションは、マイクロソフト・ウィンドウズ（Ｒ）オペレーティングシステム（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、マック（Ｒ）ＯＳ、ユニックス（Ｒ）ＯＳなどの常駐のオペレーティングシステムを有してよい。当然のことながら、好適な実施形態は、上記以外のプラットフォームおよびオペレーティングシステム上にも同様に実装が可能である。好適な実施形態は、オブジェクト指向プログラミング手法に加え、ＸＭＬ、Ｃ、もしくはＣ＋＋言語またはこれらの組み合せあるいは他のプログラミング言語を使って記述することができる。複雑なアプリケーションを開発するためにますます使用されるようになったオブジェクト指向プログラミング（ＯＯＰ：ｏｂｊｅｃｔ  ｏｒｉｅｎｔｅｄ  ｐｒｏｇｒａｍｍｉｎｇ）を用いてもよい。
【００９７】
本発明は、システム、方法、もしくはコンピュータ・プログラム製品、またはこれらの組み合せとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラムをその上に有するコンピュータ可読ストレージ媒体（または媒体群）を含むことが可能である。
【００９８】
このコンピュータ可読ストレージ媒体は、命令実行デバイスによって使用される命令を保持し格納できる有形のデバイスとすることができる。このコンピュータ可読ストレージ媒体は、例えば、以下に限らないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述の任意の適切な組み合せであってよい。コンピュータ可読ストレージ媒体のさらに具体的な例の非包括的リストには、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去およびプログラム可能読み取り専用メモリ（ＥＰＲＯＭ：ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙまたはフラッシュ・メモリ）、静的ランダム・アクセス・メモリ（ＳＲＡＭ：ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、携帯型コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、デジタル多用途ディスク（ＤＶＤ：ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）、メモリ・スティック、フレキシブル・ディスク、パンチカードまたは記録された命令を有する溝中の嵩上げ構造体などの機械的符号化デバイス、および上記の任意の適切な組み合せが含まれる。本明細書で用いられるコンピュータ可読ストレージ媒体は、無線波または他の自由に伝播する電磁波、ウェーブガイドまたは他の伝送媒体を通って伝播する電磁波（例えば、光ファイバを通過する光パルス）、またはワイヤを通って伝送される電気信号など、本質的に一時的な信号として解釈されるべきでない。
【００９９】
本明細書に述べられたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング／処理デバイスに、または、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワークもしくはワイヤレス・ネットワークまたはこれらの組み合せなどのネットワークを介して、外部コンピュータもしくは外部ストレージ・デバイスにダウンロードすることが可能である。このネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバまたはこれらの組み合せを含んでもよい。それぞれのコンピューティング／処理デバイス中のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、そのコンピュータ可読プログラム命令を、ストレージのため、それぞれのコンピューティング／処理デバイス内のコンピュータ可読ストレージ媒体の中に転送する。
【０１００】
本発明のオペレーションを実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ（ＩＳＡ：ｉｎｓｔｒｕｃｔｉｏｎ−ｓｅｔ−ａｒｃｈｉｔｅｃｔｕｒｅ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語もしくは類似のプログラミング言語などの従来式の手続き型プログラミング言語を含む、１つ以上のプログラミング言語の任意の組み合せで記述されたソース・コードもしくはオブジェクト・コードであってよい。このコンピュータ可読プログラム命令は、スタンドアロン・ソフトウェア・パッケージとしてユーザのコンピュータで専ら実行することも、ユーザのコンピュータで部分的に実行することもでき、一部をユーザのコンピュータで一部を遠隔コンピュータで実行することもでき、あるいは遠隔のコンピュータまたはサーバで専ら実行することも可能である。後者の場合は、ローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）または広域ネットワーク（ＷＡＮ：ｗｉｄｅａｒｅａ ｎｅｔｗｏｒｋ）を含む任意の種類のネットワークを介して、遠隔コンピュータをユーザのコンピュータに接続することができ、あるいは（例えばインターネット・サービス・プロバイダを使いインターネットを介して）外部のコンピュータへの接続を行うことも可能である。いくつかの実施形態において、例えば、プログラム可能論理回路、フィールドプログラム可能ゲートアレイ（ＦＰＧＡ：ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、またはプログラム可能論理アレイ（ＰＬＡ：ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ａｒｒａｙ）を含む電子回路は、本発明の諸態様を実行すべく、該電子回路をパーソナライズするためコンピュータ可読プログラム命令の状態情報を利用することによって、該コンピュータ可読プログラム命令を実行することができる。
【０１０１】
本発明の諸態様は、本発明の諸実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方を参照しながら本明細書で説明されている。当然のことながら、フローチャート図もしくはブロック図またはその両方の各ブロックと、フローチャート図もしくはブロック図またはその両方のブロックの組み合せとは、コンピュータ可読プログラム命令によって実装することが可能である。
【０１０２】
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、特殊用途コンピュータ、またはマシンを形成する他のプログラム可能データ処理装置のプロセッサに供給し、そのコンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行されるこれらの命令が、フローチャートもしくはブロック図またはその両方のブロックもしくはブロック群中に特定されている機能群／動作群を実装するための手段を生成するようにすることができる。また、コンピュータ、プログラム可能データ処理装置、もしくは他のデバイスまたはこれらの組み合せに対し特定の仕方で機能するよう命令することが可能なこれらのコンピュータ可読プログラム命令を、コンピュータ可読ストレージ媒体に格納し、格納された命令を有するコンピュータ可読ストレージ媒体が、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群中に特定されている機能／動作の諸態様を実装する命令群を包含する製造品を構成するようにすることができる。
【０１０３】
さらに、これらコンピュータ可読プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードし、そのコンピュータ上で、他のプログラム可能装置上で、または他のデバイス上で一連のオペレーション・ステップを実施させて、当該コンピュータ上で、他のプログラム可能装置上でもしくは他のデバイス上で実行される命令が、フローチャートもしくはブロック図またはその両方のブロックもしくはブロック群中に特定されている機能群／動作群を実装するような実装プロセスをコンピュータに提供するようにすることも可能である。
【０１０４】
図面のフローチャートおよびブロック図は、本発明の様々な実施形態による、システム、方法、およびコンピュータ・プログラム製品の可能となる実装のアーキテクチャ、機能性、およびオペレーションを示している。この点に関し、フローチャートまたはブロック図中の各ブロックは、特定の論理機能（群）を実装するための一つ以上の実行可能命令を含む、モジュール、セグメント、または命令の部分を表し得る。いくつかの別の実装においては、ブロック中に記載された機能が、図面に記載された順序から外れて行われ得る。例えば、連続して示された２つのブロックが、関与する機能によっては、実際にはほぼ同時に実行されることがあり、時にはこれらのブロックが逆の順序で実行されることもあり得る。また、ブロック図もしくはフローチャート図またはその両方の各ブロックと、ブロック図もしくはフローチャート図またはその両方中のブロック群の組み合わせとは、特定の機能または動作を実施する特殊用途ハードウェア・ベースのシステムによって実装でき、または特殊用途ハードウェアとコンピュータ命令との組み合わせによって実行できることにも留意する。
【０１０５】
さらに、様々な実施形態によるシステムは、プロセッサ、およびプロセッサに一体化された、もしくはプロセッサが実行可能な、またはその両方のロジックを含むことが可能で、このロジックは、本明細書に記載したプロセス・ステップの１つ以上を実行するように構成される。一体化されたとは、プロセッサが、ロジックを、特定用途向け集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）、ＦＰＧＡなどのハードウェア・ロジックとして内蔵していることを意味する。プロセッサが実行可能とは、ロジックが、ハードウェア・ロジックか、ファームウェア、オペレーティングシステムの部分、アプリケーション・プログラムの部分などのソフトウェア・ロジックか、など、またはプロセッサがアクセス可能で、プロセッサが実行すると該プロセッサに何らかの機能を行わせるように構成されたハードウェアとソフトウェアとの何らかの組み合せか、であることを意味する。ソフトウェア・ロジックは、当該技術分野で周知の任意のメモリ種類の、ローカルもしくは遠隔のまたはその両方のメモリに格納されてよい。たとえば、ソフトウェア・プロセッサ・モジュール、もしくは、ＡＳＩＣ、ＦＰＧＡ、中央処理装置（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、集積回路（ＩＣ：ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）、グラフィックス処理装置（ＧＰＵ：ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）などのハードウェア・プロセッサ、またはその両方など、当該技術分野で周知の任意のプロセッサが使われてよい。
【０１０６】
前述の諸システムもしくは諸方法またはその両方のさまざまな特徴は、任意の仕方で結合が可能で複数の組み合せを生成できることは、上記で提示した説明から明らかであろう。
【０１０７】
さらに当然のことながら、本発明の諸実施形態は、オン・デマンド・サービスを提供すべく顧客のために展開されるサービスの形で提供されてもよい。
【０１０８】
上記で様々な実施形態を説明してきたが、当然のことながらこれらは例示のために提示したもので限定ではない。しかして、好適な実施形態の発明範囲は、前述の例示的な実施形態のいずれによっても限定されるべきでなく、添付の特許請求の範囲およびこれらの等価物によってのみ定義されるべきである。
【図１】
2019515367.tif 000004
【図２】
2019515367.tif 000005
【図３】
2019515367.tif 000006
【図４】
2019515367.tif 000007
【図５】
2019515367.tif 000008
【図６】
2019515367.tif 000009
【図７】
2019515367.tif 000010
【図８】
2019515367.tif 000011
【図９】
2019515367.tif 000012
【図１０】
2019515367.tif 000013
【手続補正書】
【提出日】平成30年12月26日(2018.12.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
多重ニューラル・コア回路であって、ゼロより大きい整数多重化倍数Ｔに対し、
Ｔセットの電子ニューロンと、
Ｔセットの電子軸索であって前記Ｔセットの電子軸索の各セットが前記Ｔセットの電子ニューロンの１つに対応する、前記Ｔセットの電子軸索と、
シナプス相互接続ネットワークであって、各々が単一の電子軸索を単一の電子ニューロンに相互接続する複数の電子シナプスを含み、前記相互接続ネットワークが、前記Ｔセットの電子軸索の各セットをそれが対応する電子ニューロンのセットに相互接続する、前記シナプス相互接続ネットワークと、
を含む、多重ニューラル・コア回路。
【請求項２】
前記シナプス相互接続ネットワークが、前記Ｔセットの電子ニューロンに亘って共有される、請求項１に記載の多重ニューラル・コア回路。
【請求項３】
複数のニューロン・パラメータが、前記Ｔセットの電子ニューロンに亘って共有される、請求項１に記載の多重ニューラル・コア回路。
【請求項４】
複数のニューロン宛先位置が、前記Ｔセットの電子ニューロンに亘って共有される、請求項１に記載の多重ニューラル・コア回路。
【請求項５】
ニューロン状態が、前記Ｔセットの電子ニューロンに亘って共有される、請求項１に記載の多重ニューラル・コア回路。
【請求項６】
前記多重ニューラル・コア回路のオペレーションは、複数の個別時間ステップに関して表され、単一の個別時間ステップ内で、前記Ｔセットの電子軸索の各セットが、前記シナプス相互接続ネットワークを介して、それが対応する電子ニューロンのセットに相互接続される、請求項１に記載の多重ニューラル・コア回路。
【請求項７】
前記複数の個別時間ステップの各々を、Ｔのサブ時間ステップに分割することと、
前記Ｔセットの電子軸索の各セットおよびそれが対応する電子ニューロンのセットに、前記Ｔのサブ時間ステップの１つを割り当てることと、
前記Ｔセットの電子軸索の各セットを、前記シナプス相互接続ネットワークを介して、これらに割り当てられた前記Ｔのサブ時間ステップの１つ内のそれが対応する電子ニューロンのセットに相互接続することと、
をさらに含む、請求項６に記載の多重ニューラル・コア回路。
【請求項８】
２つの個別メモリ・バンクをさらに含み、前記２つの個別メモリ・バンクが、
前記シナプス相互接続ネットワーク、複数のニューロン・パラメータ、複数のニューロン宛先位置、および前記Ｔセットの電子ニューロン内の全電子ニューロンについてのニューロン状態、を包含する第一メモリ・バンクと、
電子軸索バッファ・メモリを包含する第二メモリ・バンクと、
を含む、請求項１に記載の多重ニューラル・コア回路。
【請求項９】
前記電子軸索バッファ・メモリをＴ行×ｍａｘ（Δ）列に分割することをさらに含み、ｍａｘ（Δ）は時間遅延の数である、請求項８に記載の多重ニューラル・コア回路。
【請求項１０】
前記第一メモリ・バンクが、前記シナプス相互接続ネットワークを含む第一メモリ部分と、前記複数のニューロン・パラメータ、前記複数のニューロン宛先位置、および前記Ｔセットの電子ニューロン内の全電子ニューロンについての前記ニューロン状態を含む第二メモリ部分とを用いて実装され、前記第一メモリ部分は、前記第二メモリ部分と異なるかまたは同一である、請求項８に記載の多重ニューラル・コア回路。
【請求項１１】
ニューラル・コア回路を多重化するためのコンピュータ実装の方法であって、ゼロより大きい整数多重化倍数Ｔに対し、
Ｔセットの電子ニューロンを構成するステップと、
Ｔセットの電子軸索を構成するステップであって、前記Ｔセットの電子軸索の各セットが前記Ｔセットの電子ニューロンの１つに対応する、前記電子軸索を構成するステップと、
各々が単一の電子軸索を単一の電子ニューロンに相互接続する複数の電子シナプスを含むシナプス相互接続ネットワークを構成するステップであって、前記相互接続ネットワークは、前記Ｔセットの電子軸索の各セットをそれが対応する電子ニューロンのセットに相互接続する、前記相互接続ネットワークを構成するステップと、
を含む、コンピュータ実装の方法。
【請求項１２】
前記シナプス相互接続ネットワークが、前記Ｔセットの電子ニューロンに亘って共有される、請求項１１に記載のコンピュータ実装の方法。
【請求項１３】
複数のニューロン・パラメータが、前記Ｔセットの電子ニューロンに亘って共有される、請求項１１に記載のコンピュータ実装の方法。
【請求項１４】
複数のニューロン宛先位置が、前記Ｔセットの電子ニューロンに亘って共有される、請求項１１に記載のコンピュータ実装の方法。
【請求項１５】
ニューロン状態が、前記Ｔセットの電子ニューロンに亘って共有される、請求項１１に記載のコンピュータ実装の方法。
【請求項１６】
多重ニューラル・コア回路のオペレーションは、複数の個別時間ステップに関して表され、単一の個別時間ステップ内で、前記Ｔセットの電子軸索の各セットが、前記シナプス相互接続ネットワークを介して、それが対応する電子ニューロンのセットに相互接続される、請求項１１に記載のコンピュータ実装の方法。
【請求項１７】
前記複数の個別時間ステップの各々を、Ｔのサブ時間ステップに分割するステップと、
前記Ｔセットの電子軸索の各セットおよびそれが対応する電子ニューロンのセットに、前記Ｔのサブ時間ステップの１つを割り当てるステップと、
前記Ｔセットの電子軸索の各セットを、前記シナプス相互接続ネットワークを介して、これらに割り当てられた前記Ｔのサブ時間ステップの１つ内のそれが対応する電子ニューロンのセットに相互接続するステップと、
をさらに含む、請求項１６に記載のコンピュータ実装の方法。
【請求項１８】
２つの個別メモリ・バンク格納するステップをさらに含み、前記２つの個別メモリ・バンクが、
前記シナプス相互接続ネットワーク、複数のニューロン・パラメータ、複数のニューロン宛先位置、および前記Ｔセットの電子ニューロン内の全電子ニューロンについてのニューロン状態、を包含する第一メモリ・バンクと、
電子軸索バッファ・メモリを包含する第二メモリ・バンクと、
を含む、請求項１１に記載のコンピュータ実装の方法。
【請求項１９】
ニューロシナプティック・チップと、チップ上のコンポーネントとして単一コア・ニューロシナプティック・モジュール、またはチップ上のコンポーネントとして、オンチップ・ネットワークを介して相互接続された複数の多重ニューラル・コア回路を含む、マルチコア・ニューロシナプティック・モジュールと、を含む、ニューロシナプティック・システムであって、前記複数の多重ニューラル・コア回路の各々は、ゼロより大きい整数多重化倍数Ｔに対し、
Ｔセットの電子ニューロンと、
Ｔセットの電子軸索であって、前記Ｔセットの電子軸索の各セットが前記Ｔセットの電子ニューロンの１つに対応する、前記Ｔセットの電子軸索と、
を含み、
シナプス相互接続ネットワークは、各々が単一の電子軸索を単一の電子ニューロンに相互接続する複数の電子シナプスを含み、前記相互接続ネットワークが、前記Ｔセットの電子軸索の各セットをそれが対応する電子ニューロンのセットに相互接続する、
ニューロシナプティック・システム。
【請求項２０】
前記ニューロシナプティック・チップと、前記単一コア・ニューロシナプティック・モジュールまたは前記マルチコア・ニューロシナプティック・モジュールとが、オフチップ・ネットワークを介して相互接続される、請求項１９に記載のニューロシナプティック・システム。
【請求項２１】
前記オンチップ・ネットワークがイベント駆動型である、請求項１９に記載のニューロシナプティック・システム。
【請求項２２】
オフチップ・ネットワークがイベント駆動型である、請求項１９に記載のニューロシナプティック・システム。
【請求項２３】
前記複数の多重ニューラル・コア回路の１つ以上が、前記複数の多重ニューラル・コア回路の他の多重ニューラル・コア回路とは異なる整数多重化倍数を有する、請求項１９に記載のニューロシナプティック・システム。
【請求項２４】
前記複数の多重ニューラル・コア回路の第一セットは第一整数多重化倍数Ｔ１を有し、前記第一セットが、前記第一整数多重化倍数Ｔ１とは異なる第二整数多重化倍数Ｔ２を有する多重ニューラル・コア回路の第二セットに接続する、請求項２３に記載のニューロシナプティック・システム。
【請求項２５】
コア間メッセージが、宛先コアの相対アドレス、電子軸索の時間遅延と、電子軸索のセットのアドレス、電子軸索のアドレス、および発信元コアの整数多重化倍数Ｔｓと宛先コアの整数多重化倍数Ｔｄとの間のマッピングを符号化した情報、を符号化しているスパイク・パケットを含む、請求項２３に記載のニューロシナプティック・システム。
【国際調査報告】
2019515367.tif 000014
2019515367.tif 000015