JP2018525726A - 並列確率的マイクロプロセッサ - Google Patents

並列確率的マイクロプロセッサ Download PDF

Info

Publication number
JP2018525726A
JP2018525726A JP2017568453A JP2017568453A JP2018525726A JP 2018525726 A JP2018525726 A JP 2018525726A JP 2017568453 A JP2017568453 A JP 2017568453A JP 2017568453 A JP2017568453 A JP 2017568453A JP 2018525726 A JP2018525726 A JP 2018525726A
Authority
JP
Japan
Prior art keywords
microprocessor
output
random
input
signals
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.)
Granted
Application number
JP2017568453A
Other languages
English (en)
Other versions
JP6916119B2 (ja
Inventor
ドルレ ジャック
ドルレ ジャック
ベシエール ピエール
ベシエール ピエール
Original Assignee
サントル ナシオナル ドゥ ラ ルシェルシェサイアンティフィク(セエヌエールエス)
サントル ナシオナル ドゥ ラ ルシェルシェサイアンティフィク(セエヌエールエス)
コルジュ ドゥ フランス
コルジュ ドゥ フランス
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by サントル ナシオナル ドゥ ラ ルシェルシェサイアンティフィク(セエヌエールエス), サントル ナシオナル ドゥ ラ ルシェルシェサイアンティフィク(セエヌエールエス), コルジュ ドゥ フランス, コルジュ ドゥ フランス filed Critical サントル ナシオナル ドゥ ラ ルシェルシェサイアンティフィク(セエヌエールエス)
Publication of JP2018525726A publication Critical patent/JP2018525726A/ja
Application granted granted Critical
Publication of JP6916119B2 publication Critical patent/JP6916119B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/70Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using stochastic pulse trains, i.e. randomly occurring pulses the average pulse rates of which represent numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • G06F7/584Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/58Indexing scheme relating to groups G06F7/58 - G06F7/588
    • G06F2207/582Parallel finite field implementation, i.e. at least partially parallel implementation of finite field arithmetic, generating several new bits or trits per step, e.g. using a GF multiplier

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Microcomputers (AREA)
  • Logic Circuits (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

【課題】本発明は、確率的タイプのマイクロプロセッサに関する。【解決手段】マイクロプロセッサは、入力として、それぞれが2つの所与の入力確率値のバイナリコーディングをそれぞれ表す2つのランダムかつ独立バイナリ入力信号(A、B)を受信でき、出力として、ランダムバイナリ出力信号(C)を生成できる確率的計算基本モジュール(1)を備える。基本モジュールは、−2つの入力信号(A、B)を合成して出力信号(C)を生成できるプログラマブルロジックユニット(2)と、−ロジックユニット(2)により生成された出力信号(C)によりコード化された出力確率値を格納できるアドレス指定可能メモリ(3)と、−第1クロック信号(CLK1)を作成できる第1確率的クロック(4)と、−第2クロック信号(CLK2)を作成できる第2確率的クロック(5)と、を備える。【選択図】図1

Description

本発明は、確率的タイプ(type stochastique)のマイクロプロセッサに関し、特に、並列計算を行うことを可能にするマイクロプロセッサに関する。本発明は、金融市場、マクロ経済モデル、天気予報、ロングタームエボルーションモデルなどの、確率の計算(calcul de probabilite’)および不確定性の管理(la gestion de l'incertitude)が頻繁に使用される分野に対して特に適用可能である。本発明は、また、学習法(me’thodes d'apprentissage)が使用される分野、例えば、特に、ロボット工学および人工知能における遺伝的アルゴリズム(algorithmes ge’ne’tiques)の場合にも適用可能である。また、暗号化の分野に対しても適用可能である。一般的に、本発明は、確率のまたは確率的性質の集中計算(calculs intensifs de nature probabiliste ou stochastique)が必要とされるいかなる分野にも適用可能である。
現在、周知のコンピュータシステムにおいて使用されるクラシックマイクロプロセッサ(microprocesseurs classiques)は、計算速度の点において物理的上限に達している。
実際には、光の速度は、クロックタイミングに上限境界(borne supe’rieure)を課す。2000年代以降、クラシックマイクロプロセッサのクロックのタイミングは、3または4GHz程度で停滞している。
更に、これらのクラシックマイクロプロセッサは、小型化(miniaturisation)の点においても物理的下限に達する。
実際には、集積回路のエッチング寸法は、10nmのレベルより下がらず、それより下では、ロジック回路の動作が不安定になり確定的でなくなる(non de’terministe)。したがって、ロジック回路は、その信頼性を損ねることなく更に小型化することはできない。
これらの限界を越え、計算力に対してますます高まる需要に対応するために、多数のプロセッサを並列に動作させることができる。しかし、この動作に基づくシステムは、高額かつ煩雑であり(volumineux)、適切な基盤(infrastructure)を必要とし、大量のエネルギを消費する。
更に、より具体的にはエネルギ消費に関して、熱雑音(bruit thermique)の概念が重要な役割を果たす。実際には、熱雑音「レベル」より下では、クラシックマイクロプロセッサの構成要素の大半を構成するトランジスタから、確定的動作を得ることはもはや不可能である。
更に現在、増大しつつあるアプリケーションは、確率の計算および不確定性の管理(gestion de l'incertitude)を大量に引き起こす。これらのアプリケーションは、クラシックコンピュータシステム上で実施される場合、コンピュータシステムが完全に確定的に作用する(fonctionner)ように設計されているので、計算能力の点において非常に高額なものとなる。
しかし、実際、アプリケーションの分野に関係なく、大規模な確率モデルのシミュレーションは、特に「マルチコア」の空調および冷却をかなり必要とするインフラおよびエネルギ消費の点で非常に高額な設備において、クラスタまたはスーパーコンピュータタイプのアーキテクチャに従って、相互接続された多数のプロセッサを備える確定的マシンにより実現されている。
したがって、本発明の目的の1つは、上述した問題を解決することである。このように、本発明は、特に、完全に確定的な動作の制約を放棄することにより、上記の技術的障壁を解決することを可能にするマイクロプロセッサを提案することを目的とする。
したがって、本発明は、第1態様によれば、入力として、それぞれが2つの所与の入力確率値のバイナリコーディングをそれぞれ表す(repre’sant chacun un codage binaire respectivement de deux valeurs de probabilite’ en entre’e donne’es)、少なくとも2つのランダムかつ独立バイナリ入力信号を受信でき、出力として、2つの入力信号から少なくとも1つのランダムバイナリ出力信号を生成できる、少なくとも1つの確率的計算基本モジュールを備えるマイクロプロセッサに関する。
基本モジュールは、出力信号が、所与の入力確率値に関連する出力確率値(une valeur de probabilite en sortie fonction des valeurs de probabilite’ en entre’e donne’es)のバイナリコーディングを表すように、2つの入力信号を合成して、少なくとも1つの決定されたロジック関数に従う(selon)出力信号を生成できる、少なくとも1つのプログラマブルロジックユニットを備える。
基本モジュールは、また、ロジックユニットにより生成された出力信号によりコード化された出力確率値を格納(stocker)できる少なくとも1つのアドレス指定可能メモリ(me’moire adressable)も備える。
基本モジュールは、更に、ロジックユニットにより生成された出力信号によりコード化された出力確率値の、メモリにおける書き込み速度を制御するための第1ランダムインパルスクロック信号を作成できる少なくとも1つの第1確率的クロックを備える。
基本モジュールは、また、メモリに格納された出力確率値の、所与の時間帯における現在の評価(e’valuation courante)を提供するように、メモリの読み取り速度を制御するための第2ランダムインパルスクロック信号を作成できる少なくとも1つの第2確率的クロックも備える。
ある実施の形態によれば、マイクロプロセッサは、更に、単独で考察されるか、またはすべての技術的に可能な組み合わせによる、下記の特徴の1つまたは複数を有する。
−基本モジュールは、一方では、入力として、それぞれが2つの所与の入力確率値の確率的インパルスバイナリコーディング(codage binaire impulsionnel stochastique)または電信時間バイナリコーディング(codage binaire temporel te’le’graphique)をそれぞれ表すランダムかつ独立バイナリ入力信号を受信でき、他方では、出力として、電信またはインパルスタイプのランダムバイナリ出力信号を生成でき、ロジックユニットは、出力信号が、所与の入力確率値に関連する出力確率値の確率的インパルスバイナリコーディングまたは電信時間バイナリコーディングを表すように、2つの入力信号を合成して、決定されたロジック関数に従う出力信号を生成できる。
−ロジックユニットは、出力信号によりコード化された出力確率値が2つの入力信号によりそれぞれコード化された入力確率値の積、和、および除法にそれぞれ対応するように、2つの入力信号を合成して、積、和、および除法関数の1つまたは複数に従う出力信号を生成できる。
−マイクロプロセッサは、複数の上記のような基本モジュールを備えており、少なくとも2つの対応する確率的計算を並列して実施できるように、前記基本モジュールから決定された少なくとも2つの基本モジュールを介して、少なくとも2つの出力信号を並列して生成できる。
−少なくとも2つの決定された基本モジュールは、それらの間で信号が交換されることを可能とするように相互接続される。
−相互接続された2つの基本モジュールの少なくとも1つのメモリは、相互接続された2つの基本モジュール間の相互接続と入力および出力信号の交換とに関する相互接続指令を格納できる。
−マイクロプロセッサは、少なくとも2つの離れた基本モジュールと、2つの離れた基本モジュール間で、入力および出力信号が交換されることを可能にするように、1つまたは複数のアドレス指定可能スイッチボックス(boi^tes d’interrupteurs)と、を備える。
−マイクロプロセッサは、1つまたは複数のランダム信号生成器を備えており、各信号生成器は、二進数と関連付けられた確率値のバイナリコーディングを表すランダムバイナリ信号を生成でき、基本モジュールは、入力として、ランダム信号生成器により生成された2つのランダムかつ独立バイナリ入力信号を受信できる。
本発明は、また、第2態様によれば、コンピュータシステム(syste’me informatique)にも関し、コンピュータシステムは、指令を格納できる少なくとも1つの中央メモリ(me’moire centrale)と、中央メモリに格納された指令を実行できる少なくとも1つの中央演算装置と、を備えており、中央演算装置は、上記のような、少なくとも1つのマイクロプロセッサを備える。
このように、本発明に係るマイクロプロセッサは、ロジックゲート、アドレス指定可能メモリおよびスイッチなどの確定的動作を有するクラシック構成要素と、ランダム動作を有するナノ構成要素(nano-composants)と、を同一基板上で合成して、製造、保守、運用およびエネルギ消費のコストを削減しつつ、確率計算における性能レベルを相当に増大させることを可能にする。
複数の基本モジュールが並列に動作するアーキテクチャの場合、本発明の確率的マイクロプロセッサは、多数のメモリおよびロジック回路と共に、多数のクロックおよびランダム事象を生成する構成要素を同一集積回路内に集約する。
事象の確率的性質は、同期ロックを除去し(supprime)、多数の動作を並列に行うことを可能にする。
実際、ランダムクロックを使用できる高度な並行処理(le haut degre’ de paralle’lisme qu'autorise l'utilisation d'horloges ale’atoires)は、性能レベルを大幅に増大する。
このように、従来のアーキテクチャを有するマイクロプロセッサに対して、本発明に係るマイクロプロセッサは、確率および確率的計算を、格段に速く行う(effectuer)ことを可能にする。
より一般的には、クラシックマイクロプロセッサの完全に確定的および予測可能な作用(fonctionnement)の制約を放棄することより、本発明に係るマイクロプロセッサを、非常に大きな規模で、確率的プロセスを生成かつシミュレートするために使用することを可能にし、それにより、複雑な現象のモンテカルロタイプのシミュレーションの適用分野を大幅に拡大し、金融市場、マクロ経済モデル、天気予報、またはロングタームエボルーションモデルにより示されるような、多数のランダム変数に関連する確率推論問題を解決またはそれにアプローチすることを可能にする。
本発明に係るマイクロプロセッサは、更に、非アルゴリズム的、または部分的にアルゴリズム的な方法で、任意の分布から引き出される乱数を生成することを可能にする。
本発明に係るマイクロプロセッサの一例における確率的計算基本モジュールのアーキテクチャを示す概略図である。 本発明に係るマイクロプロセッサにおける確率的計算基本モジュールのプログラマブルロジックユニットのすべてまたは一部を形成する基本ロジック構成要素の例を示す概略図である。 本発明に係るマイクロプロセッサにおける推論計算基本モジュールのプログラマブルロジックユニットのすべてまたは一部を形成する基本ロジック構成要素の例を示す概略図である。 本発明に係るマイクロプロセッサにおける推論計算基本モジュールのプログラマブルロジックユニットのすべてまたは一部を形成する基本ロジック構成要素の例を示す概略図である。 本発明に係るマイクロプロセッサにおける推論計算基本モジュールのプログラマブルロジックユニットのすべてまたは一部を形成する基本ロジック構成要素の例を示す概略図である。 本発明に係るマイクロプロセッサにおける推論計算基本モジュールのプログラマブルロジックユニットのすべてまたは一部を形成する基本ロジック構成要素の例を示す概略図である。
本発明の特徴と利点は、非制限的な例としてのみのために提供される下記の記述を、下記の付随する図面を参照して読むことにより明白となろう。
本発明に係るマイクロプロセッサは、図1における1つの例に例示されるように、少なくとも1つの確率的計算基本モジュール1を備える。
この基本モジュールは、入力として、2つの入力信号AおよびB、またはそれ以上の信号を受信できる。
これらの入力信号AおよびBは、ランダムかつ独立バイナリ信号であり、それぞれは、2つの所与の入力確率値(deux valeurs de probabilite’ en entre’e donne’es)のバイナリコーディングをそれぞれ表す。
確率値に対する基本コーディングの2つのタイプ、すなわち、確率的インパルスコーディング(codage impulsionnel stochastique)および電信時間コーディング(codage temporel te’le’graphique)を使用できる。
確率的インパルスコーディングでは、任意の時間にパルスを観測する可能性がコード化された確率値に関連するように、信号は、一連の超短パルスを有する。
このように、このタイプのコーディングでは、決定された時間間隔の間に観測されるパルス数は、コード化された確率の値の推定値を提供する。パルスの平均周波数を考慮すると、決定された時間間隔が長いほど、確率値のコーディングの精度はより高くなる。
電信時間コーディングでは、決定された観測時間間隔の合計持続時間に対する、信号が状態1である累積時間の比が、コード化された確率値に等しくなるように、信号は、0の状態と1の状態との2つの状態間でランダムに切り替わる。
確率値のコーディングのこれらの2つのタイプは相補的である。両者はバイナリ電気信号に基づいており、したがって、クラシックロジック回路と互換性がある。
インパルス信号における2つの連続するパルス間の、または電信信号における2つの状態遷移間の時間間隔の統計的分布に対する理論的制約はない。
特に、ポアソン統計に従う分布は、完全に適切である。この場合、確率的パルスを生成するクロックは、単一のパラメータ、すなわち、平均周波数により定義される。パルスの持続時間は、可能な限り短くてよいが、スイッチの状態遷移を可能にする程度には十分でなければならない。
構成要素のランダム動作の原因となる物理プロセスは、互いに対して独立でなければならない。特に、物理プロセスは、2つの個別の信号間で時間的相関をなしてはならない。
本発明に係るマイクロプロセッサは、図1には示されていないが、それぞれが、例えば、上記のタイプの1つに従う、二進数に関連付けられた確率値のバイナリコーディングを表すランダムバイナリ信号を生成することを可能にする1つまたは複数のランダム信号生成器を備えてもよい。そして、基本モジュール1は、入力として、ランダム信号生成器により生成された入力信号AおよびBを受信する。
基本モジュール1は、出力として、2つの入力信号AおよびBから、少なくとも1つのランダムバイナリ出力信号Cを生成できる。
この基本モジュール1は、また、少なくとも1つのプログラマブルロジックユニット2を備える。
このロジックユニット2は、入力信号AおよびBの組み合わせから決定される少なくとも1つのロジック関数に従う出力信号Cを生成することを可能にするように、決定されたロジックアーキテクチャに従って編成された、一定数のクラシックロジック構成要素を備える。
このように、出力信号Cは、入力信号AおよびBによりそれぞれコード化された入力確率値の関数である出力確率値のバイナリコーディングを表す。
ロジックユニット2により実現される関数に従って、および入力信号Aの性質および入力信号Bの性質に従って、出力信号Cは、入力確率値に関連する出力確率値の確率的インパルスバイナリコーディングまたは電信時間バイナリコーディングを表す。
図2〜図6は、基本モジュール1のロジックユニット2のすべてまたは一部を形成できる基本ロジック構成要素の例を示す。
一般的に、本発明に係るマイクロプロセッサは、ランダム信号AおよびBを使用する確率計算のいかなるタイプをも行うことを可能にしなければならない。しかし、確率論においては、すべての計算は、記述するのは容易であるが、従来のマイクロプロセッサで実装するにはコストがかかる3つの規則(re`gles)の組み合わせに基づいている。
第1の規則は、積の規則、またはベイズの規則であり、それに従うと、2つの変数AおよびBの結合確率(probabilite’ conjointes)は、2つの変数AおよびBのうちの第1の変数の確率に、第1の変数による条件付きの他方の変数の確率を掛けた積に等しい。
P(A&B)=P(A)・P(B|A)=P(B)・P(A|B)
第2の規則は、和の規則、または周辺化(marginalisation)規則であり、それに従うと、第1変数A上の確率分布は、第1変数Aと第2変数Bのすべての可能な値に対する第2変数Bとの結合確率の和(la somme des probabilite’ conjointes de la premie`re variable A et d'une deuxie`me variable B pour toutes les valeurs possibles de la deuxie`me variable B)に等しい。このように、第2変数Bが1からnのn個の値を取ることができる場合、和の規則により、
P(A)=P(A&B=1)+P(A&B=2)+・・・+P(A&B=n−1)+P(A&B=n)
となる。
第3の規則は、正規化の規則である。これは、確率論において課せられる制約に起因し、それによると、変数の可能な値のすべての確率の和は1に等しくなければならない。しかし、計算を乗法因子内で(a` un facteur multiplicatif pre`s)行うと、より容易であることがよくある。したがって、この正規化の規則は、該変数の可能な値のすべてに対する確率の最終的な和が1に等しくなるように、比例中間計算(calcul interme’diaires proportionnels)の結果を正規化因子で割ることを課する。
このように、本発明に係るマイクロプロセッサは、確率値を表すランダム物理信号に、積、和、および除法演算と同等なことを行うことを可能にしなければならない。
これら3つの演算は、前に見たように、入力として電信またはインパルスタイプの2つの確率的またはランダム信号を使用するロジックユニット2において実装されたロジック回路により行うことができる。
例として、図2および3に例示されるが、積は、入力として両方とも電信タイプの(図3)、または1つが電信タイプで他方がインパルスタイプの(図2)2つの独立ランダム信号を使用する「AND」ロジックゲートにより行うことができる。
このように、図2の例においては、「AND」ロジックゲートは、入力として、1である確率がP(A=1)と記述される電信信号Aと、平均周波数がFBと記述されるインパルス信号Bを受信する。この2つの入力信号AおよびBはランダムかつ独立である。
そして、出力信号Cは、平均周波数FCが、入力インパルス信号Bの平均周波数と入力電信信号Aの1である確率(probabilite’)との積であるランダムインパルス信号である。
C=FB・P(A=1)
言い換えれば、出力信号Cの平均周波数FCは、入力信号Bの平均周波数FBに、合計観測時間に対する入力信号Aが状態1で経た時間(temps passe’ par le signal d'entre’e A dans l'e’tat 1)の比を掛けた積に等しい。
更に、図2における例により例示されるように、「AND」ロジックゲートは、電信タイプの入力信号AまたはBを、インパルスタイプの出力信号Cに変換することを可能にする基本ロジック構成要素を構成する。
図3の例においては、「AND」ロジックゲートは、入力として、1である確率がそれぞれP(A=1)とP(B=1)と記述される2つの電信信号AおよびBを受信する。この2つの入力信号AおよびBはランダムで独立である。
そして、出力信号Cは、1である確率が、入力電信信号Aの1である確率と入力電信信号Bの1である確率との積であるランダム電信信号である。
P(C=1)=P(A=1)・P(B=1)
言い換えれば、出力信号Cは、合計観測時間に対する状態1で経た時間の比が、それぞれが合計観測時間に対する入力信号Aが状態1で経た時間の比と、入力信号Bが経た時間の比と、の積に等しい。
上述した、ランダム信号AおよびBの生成のベースとなる(sous-jacents)物理プロセスの時間的独立の条件が遵守される限りは、上記のことは真実であるということが思い起こされるであろう。
例として、図4に例示されるが、和は、入力として、2つの独立ランダム信号AおよびB、すなわち、時間的に相関を解消され(de’corre’le’s)両方ともインパルスタイプの信号を使用する「OR」ロジックゲートにより行うことができる。
このように、図4のこの例においては、「OR」ロジックゲートは、入力として、それぞれの平均周波数がFAおよびFBと記述されるこれらの2つのインパルス信号AおよびBを受信する。この2つの信号AおよびBはランダムかつ独立である。
そして出力信号Cは、その平均周波数FCが、入力インパルス信号AおよびBそれぞれの平均周波数の和であるランダムインパルス信号である。
C=FA+FB
例として、図5に例示されるが、除法演算は、入力として、1つが入力S(「set(セット)」)上で、他方が入力R(「reset(リセット)」)上にある、共にインパルスタイプの2つの時間的に相関を解消されたランダム信号AおよびBを使用するスイッチロジックゲート(1ビットメモリ)により行うことができる。
図5のこの例において、スイッチは、入力として、それぞれの平均周波数がFAおよびFBとして記述される2つのインパルス信号AおよびBを受信する。この2つの入力信号AおよびBはランダムかつ独立である。
そして、出力信号Cは、そのスコア(co^te)、すなわち、出力信号Cが0である確率に対する、この出力信号Cが1である確率の比が、入力信号Bの平均周波数に対する、入力信号Aの平均周波数の比に等しいランダム電信信号である。
P(C=1)/P(C=0)=FA/FB
言い換えれば、電信タイプの出力信号Cは、平均して、状態0において費やされた時間に対する、状態1において費やされた時間の比が、入力インパルス信号AおよびBの平均周波数FAおよびFBの商に等しいように得られる。
更に、図5における例により例示されるように、スイッチまたは1ビットメモリは、インパルスタイプの入力信号AまたはBを、電信タイプの出力信号Cに変換することを可能にする基本ロジック構成要素を構成する。
図6の例において、2つのランダムかつ独立な入力電信信号AおよびBは、すべて、図3の例においてと同様に、第1「AND」ロジックゲートを通過することによりまず合成される。
並列して、それぞれが入力信号AおよびBに対して相補的である2つの入力電信信号
Figure 2018525726
もまたランダムかつ独立であり、図3の例においてと同様に、第2「AND」ロジックゲートを通過することにより合成される。
第1および第2「AND」ロジックゲートの出力ランダム電信信号は、それぞれ、2つの他の「AND」ロジックゲートにおいてランダムインパルス信号と再合成される。これらの2つの他の「AND」ロジックゲートの出力として、2つのランダムインパルス信号が得られ、図5の例においてと同様に、スイッチ(または1ビットメモリ)を通過することにより合成される。
そして、このスイッチの出力信号Cは、そのスコア、すなわち、出力信号Cが0である確率に対する、この出力信号Cが1である確率の比が、入力電信信号AおよびBのスコアの積に等しいランダム電信信号である。
P(C=1)/P(C=0)=[P(A=1)/P(A=0)]・[P(B=1)/P(B=0)]
図1に再び戻って、基本モジュール1は、また、ロジックユニット2により生成された出力信号Cによりコード化された出力確率値を格納することを可能にする、少なくとも1つのアドレス指定可能メモリ3を備える。
第1確率的クロック4は、メモリ3における書き込みを制御するために使用される。この目的のため、第1クロック4は、ロジックユニット2の出力信号Cと並列して、メモリ3により入力として受信される第1ランダムインパルスクロック信号CLK1を作成する。したがって、信号CLK1のインパルスは、出力信号Cによりコード化された出力確率値の書き込みを制御することを可能にする。
第2確率的クロック5は、メモリ3における読み取りを制御するために使用される。この目的のため、第2クロック5は、メモリ3により受信される第2ランダムインパルスクロック信号CLK2を作成する。したがって、信号CLK2のインパルスは、メモリ3に格納された出力確率値の、所与の時間帯における現在の評価を提供することを可能にする。
複雑な確率計算を行うためには、大量の和、積、および除法演算子が必要である。この場合、上述したように、本発明に係るマイクロプロセッサは、相互接続される複数の基本モジュール1を備える。このように、各基本モジュール1は、確率的計算基本ユニットを構成する。
この場合、並列確率的マイクロプロセッサ(microprocesseur paralle`le stochastique)について話す。並列確率的マイクロプロセッサは、決定された基本モジュール1の1つにそれぞれが対応する複数の確率的計算を並列して実施できるように、自体が備える基本モジュール1のセットにより決定された複数の基本モジュール1を介して複数の出力信号Cを並列して生成できる。
したがって、複数の相互接続される基本モジュール1を有する本発明に係るマイクロプロセッサは、1つまたは複数の確率的構成要素と、1つまたは複数のスイッチと、複数のアドレス指定可能メモリ3と、種々のプログラマブルロジックユニット2において実装される種々のロジック回路を備える。
ロジックユニット2において実装されるロジック回路は、対応する基本モジュール1により行うことができる関数を定義する。
基本モジュール1間の相互接続は、基板上で物理的に隣接する2つの基本モジュール1が、入力および出力信号A、B、およびCを交換できるように実現される。
具体的には、他方の基本モジュール1と相互接続される基本モジュール1のメモリ3は、2つの基本モジュール1が入力および出力信号A、B、およびCを交換して、これらの信号を1つの基本モジュール1から他方の基本モジュール1に搬送する方法に関連する相互接続指令を含む。
更に、任意の基本モジュール1のメモリ3は、出力信号Cを得るための、ロジックユニット2より入力信号AおよびBに適用される関数の指定を含む。
更に、マイクロプロセッサは、また、確率的基本モジュール1の外部に、1つまたは複数のアドレス復号回路と、メモリ3の読み取りおよび書き込みサイクルの同期のための確定的クロックも備える。
離れた基本モジュール1間の交換のために、これらの離れた基本モジュール1間の入力および出力信号A、B、およびCの交換を可能にするアドレス指定可能スイッチボックスを設けることができる。
隣接または離れた基本モジュール1間の相互接続は、2つのタイプの信号、すなわち、スイッチの出力として作成されるものと類似するランダム電信信号と、確率的クロックにより作成されるものと類似するランダムインパルス信号と、を搬送することを可能にする。
アドレス指定可能メモリ3の内容を初期化および修正するために、種々の特定入力/出力モジュールを使用できる。このように、プログラミングのために、本発明に係るマイクロプロセッサと従来のコンピュータとの間のインタフェースを取ることができる。この場合、マイクロプロセッサは、集中確率計算における特殊化周辺機器とみなされる。
したがって、本発明に係る並列確率的マイクロプロセッサは、同じ基板上で、ロジックゲート、アドレス指定可能メモリ、およびスイッチなどの、典型的な電界効果トランジスタ技術(FET、MOSFET)に従って作成可能な、確定的動作を伴うクラシック構成要素と、クラシックロジック回路により合成および操作することが可能な信号であるランダム信号を生成するための、ランダム動作を有するナノ構成要素を合成する。
異なる物理プロセッサを、トンネル効果、光子の捕捉もしくは送信、または、パワー不足もしくはナノメトリックサイズのトランジスタの不安定な動作の単なる利用(effet tunnel, capture ou e’mission de photons, ou simplement exploitation du comportement instable des transistors sous-alimente’s ou de taille nanome’trique)のための、ナノメトリックサイズの確率的クロックおよび構成要素を実現するために使用できる。
そのような並列確率的マイクロプロセッサは、確率分布を最も基本的なレベル、すなわち電気信号およびナノ構成要素のレベルで記述および操作することを可能にする。実際には、確率的電気信号は、確率情報に対する本来の媒体(support naturel)を構成する。
本記述は例として提供され、本発明に関して制限的でない。
特に、図2から6に示される簡単なロジック回路は、本発明に係るマイクロプロセッサの基本モジュール1のプログラマブルロジックユニット2において実装できるロジック回路の例に過ぎない。

Claims (9)

  1. 入力として、それぞれが2つの所与の入力確率値のバイナリコーディングをそれぞれ表す少なくとも2つのランダムかつ独立バイナリ入力信号(A、B)を受信でき、出力として、2つの入力信号(A、B)から少なくとも1つのランダムバイナリ出力信号(C)を生成できる、少なくとも1つの確率的計算基本モジュール(1)を備えるマイクロプロセッサであって、前記基本モジュール(1)は、
    前記出力信号(C)が、前記所与の入力確率値に関連する出力確率値のバイナリコーディングを表すように、2つの入力信号(A、B)を合成して、少なくとも1つの決定されたロジック関数に従う前記出力信号(C)を生成できる、少なくとも1つのプログラマブルロジックユニット(2)と、
    前記ロジックユニット(2)により生成された出力信号(C)によりコード化された出力確率値を格納できる少なくとも1つのアドレス指定可能メモリ(3)と、
    前記ロジックユニット(2)により生成された前記出力信号(C)によりコード化された出力確率値の、前記メモリ(3)における書き込み速度を制御するための第1ランダムインパルスクロック信号(CLK1)を作成できる少なくとも1つの第1確率的クロック(4)と、
    前記メモリ(3)に格納された出力確率値の、所与の時間帯における現在の評価を提供するように、前記メモリ(3)の読み取り速度を制御するための第2ランダムインパルスクロック信号(CLK2)を作成できる少なくとも1つの第2確率的クロック(5)と、を備える、マイクロプロセッサ。
  2. 前記基本モジュール(1)は、一方では、入力として、それぞれが前記2つの所与の入力確率値の確率的インパルスバイナリコーディングまたは電信時間バイナリコーディングをそれぞれ表すランダムかつ独立バイナリ入力信号(A、B)を受信でき、他方では、出力として、前記電信またはインパルスタイプのランダムバイナリ出力信号(C)を生成でき、
    前記ロジックユニット(2)は、前記出力信号(C)が、前記所与の入力確率値に関連する前記出力確率値の確率的インパルスバイナリコーディングまたは電信時間バイナリコーディングを表すように、前記2つの入力信号(A、B)を合成して、前記決定されたロジック関数に従う前記出力信号(C)を生成できる、請求項1に記載のマイクロプロセッサ。
  3. 前記ロジックユニット(2)は、前記出力信号(C)によりコード化された前記出力確率値が、前記2つの入力信号(A、B)によりそれぞれコード化された前記入力確率値の積、和、および除法にそれぞれ対応するように、前記2つの入力信号(A、B)を合成して、積、和、および除法関数の1つまたは複数に従う前記出力信号(C)を生成できる、請求項1または2に記載のマイクロプロセッサ。
  4. 前記マイクロプロセッサは、請求項1〜3のいずれか一項に記載の複数の基本モジュール(1)を備え、前記マイクロプロセッサは、少なくとも2つの対応する確率的計算を並列して実施できるように、前記基本モジュール(1)から決定された少なくとも2つの基本モジュール(1)を介して、少なくとも2つの出力信号(C)を並列して生成できる、請求項1〜3のいずれか一項に記載のマイクロプロセッサ。
  5. 前記少なくとも2つの決定された基本モジュール(1)は、2つの基本モジュール(1)間で信号が交換されることを可能にするように相互接続される、請求項4に記載のマイクロプロセッサ。
  6. 前記相互接続された2つの基本モジュール(1)の少なくとも1つの前記メモリ(3)は、前記相互接続された2つの基本モジュール(1)間の相互接続と入力および出力信号(A、B、C)の交換とに関する相互接続指令を格納できる、請求項5に記載のマイクロプロセッサ。
  7. 前記マイクロプロセッサは、少なくとも2つの離れた基本モジュール(1)と、2つの離れた基本モジュール(1)間で入力および出力信号(A、B、C)が交換されることを可能にするように、1つまたは複数のアドレス指定可能スイッチボックスと、を備える、請求項4〜6のいずれか一項に記載のマイクロプロセッサ。
  8. 前記マイクロプロセッサは、それぞれが二進数と関連付けられた確率値のバイナリコーディングを表すランダムバイナリ信号を生成できる1つまたは複数のランダム信号生成器を備え、
    前記基本モジュール(1)は、入力として、前記ランダム信号生成器により生成された2つのランダムかつ独立バイナリ入力信号(A、B)を受信できる、請求項1〜7のいずれか一項に記載のマイクロプロセッサ。
  9. 指令を格納できる少なくとも1つの中央メモリと、前記中央メモリに格納された指令を実行できる少なくとも1つの中央演算装置と、を備えるコンピュータシステムであって、前記中央演算装置は、請求項1〜8のいずれか一項に記載の少なくとも1つのマイクロプロセッサを備える、コンピュータシステム。
JP2017568453A 2015-06-29 2016-06-17 並列確率的マイクロプロセッサ Active JP6916119B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1556102A FR3038084B1 (fr) 2015-06-29 2015-06-29 Microprocesseur parallele stochastique
FR1556102 2015-06-29
PCT/EP2016/064023 WO2017001212A1 (fr) 2015-06-29 2016-06-17 Microprocesseur parallèle stochastique

Publications (2)

Publication Number Publication Date
JP2018525726A true JP2018525726A (ja) 2018-09-06
JP6916119B2 JP6916119B2 (ja) 2021-08-11

Family

ID=54608650

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017568453A Active JP6916119B2 (ja) 2015-06-29 2016-06-17 並列確率的マイクロプロセッサ

Country Status (7)

Country Link
US (1) US10437561B2 (ja)
EP (1) EP3314394B1 (ja)
JP (1) JP6916119B2 (ja)
KR (1) KR102557733B1 (ja)
CN (1) CN107850998B (ja)
FR (1) FR3038084B1 (ja)
WO (1) WO2017001212A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10520975B2 (en) * 2016-03-03 2019-12-31 Regents Of The University Of Minnesota Polysynchronous stochastic circuits
US10740686B2 (en) 2017-01-13 2020-08-11 Regents Of The University Of Minnesota Stochastic computation using pulse-width modulated signals
US11018689B2 (en) 2017-10-19 2021-05-25 Regents Of The University Of Minnesota Parallel computing using stochastic circuits and deterministic shuffling networks
US10763890B2 (en) 2017-11-10 2020-09-01 Regents Of University Of Minnesota Computational devices using thermometer coding and scaling networks on unary encoded data
US10996929B2 (en) 2018-03-15 2021-05-04 Regents Of The University Of Minnesota High quality down-sampling for deterministic bit-stream computing
CN114281304A (zh) * 2022-01-12 2022-04-05 北京京东方技术开发有限公司 随机计算方法、电路、芯片及设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1184652A (en) * 1966-03-07 1970-03-18 Standard Telephones Cables Ltd Stochastic Computing Arrangement.
BR9712722A (pt) * 1996-10-31 1999-10-26 Discovision Ass Receptor digital para sinais de multiportadora, e, processo para estimar uma resposta de frequência de uma canal.
SE9803901D0 (sv) * 1998-11-16 1998-11-16 Ericsson Telefon Ab L M a device for a service network
KR20010113669A (ko) * 1999-02-17 2001-12-28 케네쓰 올센 병렬적 샘플-픽셀 연산을 수행하도록 구성된 그래픽 시스템
DE50003679D1 (de) * 2000-01-18 2003-10-16 Infineon Technologies Ag Mikroprozessoranordnung mit verschlüsselung
US6745219B1 (en) * 2000-06-05 2004-06-01 Boris Zelkin Arithmetic unit using stochastic data processing
CN1323113A (zh) * 2001-01-19 2001-11-21 深圳市中兴集成电路设计有限责任公司 结构简单的伪随机噪声序列发生器
JP5018757B2 (ja) * 2008-12-09 2012-09-05 富士通株式会社 パラレル−シリアル変換器及びデータ受信システム
US8719649B2 (en) * 2009-03-04 2014-05-06 Alcatel Lucent Method and apparatus for deferred scheduling for JTAG systems
WO2011103565A1 (en) * 2010-02-22 2011-08-25 Lyric Semiconductor, Inc. Mixed signal stochastic belief propagation

Also Published As

Publication number Publication date
US10437561B2 (en) 2019-10-08
CN107850998A (zh) 2018-03-27
US20180196642A1 (en) 2018-07-12
EP3314394B1 (fr) 2019-07-03
JP6916119B2 (ja) 2021-08-11
FR3038084B1 (fr) 2017-12-29
KR20180021744A (ko) 2018-03-05
KR102557733B1 (ko) 2023-07-19
CN107850998B (zh) 2021-08-06
WO2017001212A1 (fr) 2017-01-05
FR3038084A1 (fr) 2016-12-30
EP3314394A1 (fr) 2018-05-02

Similar Documents

Publication Publication Date Title
JP6916119B2 (ja) 並列確率的マイクロプロセッサ
Agrawal et al. Abcd-strategy: Budgeted experimental design for targeted causal structure discovery
Drechsler et al. Improving ESOP-based synthesis of reversible logic using evolutionary algorithms
Das et al. A parallel encryption algorithm for block ciphers based on reversible programmable cellular automata
Zhang et al. Robust two-mode-dependent controller design for networked control systems with random delays modelled by Markov chains
Deibuk et al. Design of a ternary reversible/quantum adder using genetic algorithm
Sushma et al. QCA Based Universal Shift Register using 2 to 1 Mux and D flip-flop
Tsmots et al. Neural-like means for data streams encryption and decryption in real time
WO2017200088A1 (ja) ニューラルネットワーク回路及びニューラルネットワーク集積回路
Xu Reversible logic synthesis with minimal usage of ancilla bits
Xu et al. The stochastic loss of spikes in spiking neural P systems: Design and implementation of reliable arithmetic circuits
Schröter et al. Quantum Computing and the Analog/Digital Distinction
Schönborn et al. Optimizing DD-based synthesis of reversible circuits using negative control lines
JP2017211972A (ja) ニューラルネットワーク回路及びニューラルネットワーク集積回路
US20210342681A1 (en) Semi-Stochastic Boolean-Neural Hybrids for Solving Hard Problems
CN104681091A (zh) 一种可重构线性反馈移位寄存器
Deb et al. An efficient reduction of common control lines for reversible circuit optimization
Podlaski Reversible circuit synthesis with particle swarm optimization using crossover operator
JP4230399B2 (ja) パルス論理回路
Ionescu et al. FPGA implementation of an associative content addressable memory
Anghelescu et al. The projection and the analyses of the cellular automata for processing of information
Dua et al. 2 Novelfor 8: 1 Multiplexerand
Subero et al. Randomness
Dua et al. Novel 8: 1 Multiplexer for Low Power and Area Efficient Design in Industry 4.0
JP2020204888A (ja) 情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200818

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20201117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210217

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210615

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210715

R150 Certificate of patent or registration of utility model

Ref document number: 6916119

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150