(57)【特許請求の範囲】
【請求項１】
ドット積を求めるためのメムリスティブクロスバーアレイであって、
１以上の行ラインと、
前記行ラインと交差して１以上の交差部を形成する１以上の列ラインと、
前記交差部において、前記行ラインと前記列ラインの間に結合された１以上の抵抗変化型メモリデバイスと、
前記抵抗変化型メモリデバイスのそれぞれの列ラインを通って該抵抗変化型メモリデバイスから出力される全ての電流を収集するための電流収集ライン
を備え、
前記抵抗変化型メモリデバイスは、１以上のプログラミング信号を受け取り、該プログラミング信号は、行列内の１以上の値を定め、
前記抵抗変化型メモリデバイスは、１以上のベクトル信号を受け取り、該ベクトル信号は、前記抵抗変化型メモリデバイスに加えられる１以上のベクトル値を定め、
前記収集された電流は、前記行列の行列値と前記ベクトル値とのドット積に等しいことからなる、メムリスティブクロスバーアレイ。
【請求項２】
それぞれの抵抗変化型メモリデバイスに基準電圧を加えるために、それぞれの行ラインに接続された１以上の回路をさらに備える、請求項１のメムリスティブクロスバーアレイ。
【請求項３】
前記回路は、前記メムリスティブクロスバーアレイの動作領域をシフトさせ、該動作領域のシフトは、前記回路への電圧入力の電圧と、前記回路への基準電圧入力の電圧との比に基づく、請求項２のメムリスティブクロスバーアレイ。
【請求項４】
前記比は、前記電圧入力の最大電圧に対する前記基準電圧入力の電圧の比であり、該比が１／２である、請求項３のメムリスティブクロスバーアレイ。
【請求項５】
前記回路は、負帰還オペアンプである、請求項２〜４のいずれかのメムリスティブクロスバーアレイ。
【請求項６】
前記ドット積の合計と積の全ての計算が、前記メムリスティブクロスバーアレイによって同時に実行される、請求項１〜５のいずれかのメムリスティブクロスバーアレイ。
【請求項７】
前記メムリスティブクロスバーアレイは、第２のコンピュータプログラムに関してアクセラレータとして使用され、これによって、前記メムリスティブクロスバーアレイの出力が、該第２のコンピュータプログラムに対する入力として、処理装置に結合されることからなる、請求項１〜６のいずれかのメムリスティブクロスバーアレイ。
【請求項８】
ドット積を得る方法であって、
１以上の第１の電圧を、メムリスティブクロスバーアレイ内の対応する数の行ラインに加えて、該行ラインと１以上の列ラインとの間の交差部に配置された対応する数のメモリスタの抵抗値を変化させるステップであって、前記第１の電圧は、行列内の対応する数の値をそれぞれ定める、ステップと、
１以上の第２の電圧を、前記メムリスティブクロスバーアレイ内の対応する数の行ラインに加えるステップであって、前記第２の電圧は、対応する数のベクトル値を定める、ステップと、
前記列ラインからの出力電流を収集するステップであって、収集された出力電流は前記ドット積を定める、ステップ
を含む方法。
【請求項９】
それぞれのメモリスタに初期電圧を加えて、該メモリスタの抵抗を初期抵抗に設定するステップをさらに含む、請求項８の方法。
【請求項１０】
前記初期電圧が、それぞれの行ラインに接続された１以上の回路によってそれぞれのメモリスタに加えられる、請求項９の方法。
【請求項１１】
メムリスティブクロスバーアレイの動作領域をシフトさせるステップをさらに含み、該動作領域のシフトは、前記回路への電圧入力の電圧値と、前記回路への基準電圧入力の電圧値との比に基づく、請求項１０の方法。
【請求項１２】
前記比は、前記電圧入力の最大電圧値に対する前記基準電圧入力の電圧値の比であり、該比が１／２である、請求項１１の方法。
【請求項１３】
ドット積を求めるためのコンピューティング装置であって、
プロセッサと、
前記プロセッサに結合されたメモリスタクロスバーアレイ
を備え、
前記メモリスタクロスバーアレイは、
１以上の行ラインと、
前記行ラインと交差して１以上の交差部を形成する１以上の列ラインと、
前記交差部において、前記行ラインと前記列ラインの間に結合された１以上のメモリスタデバイスと、
１以上の回路
を備え、
前記メモリスタデバイスは、１以上のプログラミング信号を受け取り、該プログラミング信号は、行列内の１以上の値を定め、
前記メモリスタデバイスは、１以上のベクトル信号を受け取り、該ベクトル信号は、前記メモリスタデバイスに加えられる１以上のベクトル値を定め、
前記１以上の回路は、それぞれのメモリスタデバイスに基準電圧を加えて、該メモリスタデバイスの抵抗を初期抵抗に設定するために、それぞれの行ラインに接続され、
前記回路は、該回路への電圧入力の電圧と、該回路への基準電圧入力の電圧との比に基づいて、前記メモリスタクロスバーアレイの動作領域をシフトさせることからなる、コンピューティング装置。
【請求項１４】
前記メモリスタクロスバーアレイは、前記メモリスタデバイスのそれぞれの列ラインを通って該メモリスタデバイスから出力される全ての電流を収集するための電流収集ラインをさらに備え、
前記収集された電流は、前記行列の行列値と前記ベクトル値とのドット積に等しいことからなる、請求項１３のコンピューティング装置。
【請求項１５】
前記プロセッサは、前記メモリスタクロスバーアレイの出力を第２のコンピュータプログラムに入力する、請求項１３または１４のコンピューティング装置。
【発明の詳細な説明】
【背景技術】
【０００１】
しばしばメモリスタと呼ばれる抵抗変化型メモリ素子（resistivememory element）は、該メモリスタに電圧または電流を加えることによって異なる抵抗状態にプログラムすることができるデバイスである。メモリスタの状態をプログラミングした後に、該メモリスタの状態を読み取ることができる。メモリスタの状態は、該デバイスを不揮発性とみなすのに十分な長さの一定期間にわたって安定である。いくつかのメモリスタをクロスバーアレイ内に含めることができ、該クロスバーアレイ内では、いくつかの列ラインといくつかの行ラインが交差部で交差しており、該メモリスタは、該交差部で該列ライン及び該行ラインに結合している。
【先行技術文献】
【特許文献】
【０００２】
【特許文献１】（補充可能性あり）
【図面の簡単な説明】
【０００３】
添付の図面は、本明細書に開示されている原理の種々の例を示すものであって、本開示の一部である。図示の例は、単に説明のために提供したものであって、特許請求の範囲を限定するものではない。
【図１】本明細書に開示されている原理の１例にしたがう、ドット積を求めるためのコンピューティングシステムの図である。
【図２】本明細書に開示されている原理の１例にしたがう、図１のコンピューティングシステムの差動モードドット積エンジン（ＤＰＥ）メモリスタアレイ内で使用されるメムリスティブクロスバーアレイの図である。
【図３】本明細書に開示されている原理の１例にしたがう、図１及び図２の差動モードドット積エンジン（ＤＰＥ）メモリスタアレイの回路図である。
【図４】本明細書に開示されている原理の１例にしたがう、メモリスタの電流対電圧ループを示す図３のメムリスティブデバイスの関数のグラフである。
【図５】本明細書に開示されている原理の１例にしたがう、図１及び図３の差動モードＤＰＥメムリスティブアレイの動作方法を示すフローチャートである。  図面を通じて、同じ参照番号は類似の（ただし、必ずしも同一ではない）要素を示している。
【発明を実施するための形態】
【０００４】
メモリスタのクロスバーアレイを、不揮発性固体メモリ、プログラマブルロジック（プログラム可能な論理回路）、信号処理、制御システム、パターン認識、及びその他の用途を含む種々の用途で使用することができる。本出願は、たとえば、いくつかの入力行列値（行列値は、該行列の各成分の値である。行列値は、マトリックス値またはマトリクス値ともいう。以下同じ）といくつかの入力ベクトル値とのドット積を求めるために使用されるメムリスティブクロスバーアレイに向けられている。メムリスティブクロスバーアレイは、いくつかの行ライン（行ラインは行線ともいう。以下同じ）、該行ラインと交差していくつかの交差部を形成するいくつかの列ライン（列ラインは列線ともいう。以下同じ）、及び、該交差部において該行ラインと該列ラインの間に結合されたいくつかの抵抗変化型メモリデバイスを備える。線形性を改善し、良好な信号対雑音比及び改善されたノイズマージンを得るために、いくつかの増幅器が、それぞれの行ラインに接続され、それぞれの抵抗変化型メモリデバイスに基準電圧を印加して該増幅器を異なる領域で動作させる。
【０００５】
抵抗変化型メモリデバイス（抵抗変化型メモリ素子ともいう。以下同じ）はまた、いくつかのプログラミング信号を受け取る。それらのプログラミング信号は、行列（マトリックス）内のいくつかの値を定める（すなわち、それぞれのプログラミング信号に対応してそれぞれの値が決まる）。それらの抵抗変化型メモリデバイスはまた、いくつかのベクトル信号を受け取る。それらのベクトル信号は、該抵抗変化型メモリデバイスに加えられることになるいくつかのベクトル値を表している。該抵抗変化型メモリデバイスのそれぞれの列ラインを通って該抵抗変化型メモリデバイスから出力される全ての電流を収集するために、電流収集ラインが、それぞれの列ラインの出力に結合される。収集された電流は、行列値とベクトル値のドット積に等しい。
【０００６】
本明細書及び特許請求の範囲で使用されている「ドット積」という用語は、スカラーを生成する２つのベクトルの積として広義に理解されるべきであることが意図されており、ここで、該ドット積の値は、それらのベクトルの大きさとそれらのベクトル間の角度の余弦（コサイン）との積である。１例では、それらのベクトルを、ドット積を得るために乗算することができる行列（マトリックス）として表すことができる。ドット積の他の通常の名称としてスカラー積や内積がある。ドット積の計算は、デジタルコンピュータにとって計算コストが高いタスクである。これは、特に、行列が、密行列の場合などのように、疎ではないかまたは対称ではない時に当てはまる。対称行列は、正方行列であり、自身の転置行列と等しい。疎行列は、要素（成分）のほとんどがゼロである行列である。これとは対照的に、行列の要素（成分）のほとんどが非ゼロの場合には、その行列は密であるとみなされる。
【０００７】
さらに、本明細書及び特許請求の範囲で使用されている「いくつかの」という用語またはこれに類似の用語は、１（１を含む）から無限大までの任意の正の数（０は数ではないが数がないことを表す）として広義に理解されるべきことが意図されている。
【０００８】
以下の説明では、説明の便宜上、本発明によるシステム及び方法を完全に理解できるようにするために、多くの特定の細部が説明されている。しかしながら、当業者には、それらの特定の細部なくして、本発明による装置、システム、及び方法を実施できることは明らかであろう。本明細書における「１例」もしくはこれに類似の用語は、その例に関連して説明されている特定の特徴、構造、または特性が、説明されているように含まれるが、他の例には含まれなくてもよいことを意味する。
【０００９】
図１は、本開示の原理の１例にしたがう、ドット積を求めるためのコンピューティングシステム（１００）の図である。コンピューティングシステム（１００）を、電子装置において実施することができる（または電子装置に組み込むことができる）。電子装置の例には、いくつかある中でも特に、サーバー、デスクトップコンピューター、ラップトップコンピュータ、携帯情報端末（ＰＤＡ）、モバイル機器、スマートフォン、ゲーム機、及びタブレットが含まれる。
【００１０】
コンピューティングシステム（１００）を、独立型のハードウェア、モバイル用途、コンピューティングネットワーク経由、またはそれらの組み合わせを含む任意のデータ処理状況で使用することができる。さらに、コンピューティングシステム（１００）を、コンピューティングネットワーク、パブリッククラウドネットワーク、プライベートクラウドネットワーク、ハイブリッドクラウドネットワーク、その他の形態のネットワーク、または、それらの組み合わせにおいて使用することができる。１例では、コンピューティングシステム（１００）によって提供される方法は、たとえば、サードパーティーによってネットワークを通じたサービスとして提供される。この例では、該サービスは、いくつかのアプリケーションをホストするＳａａＳ（Software as a Service：サービスとしてのソフトウェア）や、たとえば、とりわけ、オペレーティングシステム、ハードウェア、及び記憶装置を含むコンピューティングプラットフォームをホストするＰａａＳ（Platform as a Service：サービスとしてのプラットフォーム）や、たとえば、とりわけ、サーバー、記憶要素、ネットワーク、及び構成要素（コンポーネント）などの装備をホストするＩａａＳ（Infrastructure as a Service：サービスとしてのインフラストラクチャー）や、ＡＰＩａａＳ（API as a Service：クラウド型ＡＰＩサービス）や、その他の形態のネットワークサービス、またはそれらの組み合わせなどを含むことができる。本発明によるシステムを、１つまたは複数のハードウェアプラットフォームにおいて実施することができ、この場合、該システム内のモジュールを１つのプラットフォームにおいてまたは複数のプラットフォームにわたって実行することができる。それらのモジュールを、種々の形態のクラウド技術及びハイブリッドクラウド技術で動作させることができ、または、クラウドにおいてもしくはクラウド外で実施することができるＳａａＳとして提供することができる。別の例では、コンピューティングシステム（１００）によって提供される方法は、ローカル管理者によって実行される。
【００１１】
コンピューティングシステム（１００）は、その所望の機能を達成するために、種々のハードウェアコンポーネントを備えている。それらのハードウェアコンポーネントには、いくつかのプロセッサ（１０１）、いくつかのデータ記憶装置（１０２）、いくつかの周辺機器アダプタ（１０３）、及び、いくつかのネットワークアダプタ（１０４）がある。これらのハードウェアコンポーネントを、いくつかのバス及び／又はネットワーク接続を用いて相互接続することができる。１例では、プロセッサ（１０１）、データ記憶装置（１０２）、周辺機器アダプタ（１０３）、及びネットワークアダプタ（１０４）を、バス（１０５）を介して通信可能に接続することができる。
【００１２】
プロセッサ（１０１）は、データ記憶装置（１０２）から実行可能コードを取り出して、該実行可能コードを実行するためのハードウェアアーキテクチャを有することができる。該実行可能コードは、プロセッサ（１０１）によって実行されると、プロセッサ（１０１）に、いくつかの（数の）第１の電圧を、メムリスティブクロスバーアレイ内の対応する数の行ラインに加えて、該行ラインといくつかの列ラインとの間の交差部に配置された対応する数のメモリスタの抵抗値を変化させるという機能を少なくとも実施させることができる。ここで、該第１の電圧のそれぞれは、行列内の対応する数の値をそれぞれ表す。該実行可能コードはまた、プロセッサ（１０１）によって実行されると、プロセッサ（１０１）に、いくつかの（数の）第２の電圧を、メムリスティブクロスバーアレイ内の対応する数の行ラインに加えるという機能を少なくとも実施させることができる。ここで、該第２の電圧のそれぞれは、対応する数のベクトル値をそれぞれ表す。該実行可能コードはさらに、プロセッサ（１０１）によって実行されると、プロセッサ（１０１）に、列ラインからの出力電流を収集する（集める）という機能を少なくとも実施させることができる。ここで、該収集された出力電流はドット積を表す。コンピューティングシステム（１００）の機能は、本明細書及び／又は図面に記載されている方法にしたがう。プロセッサ（１０１）は、コードを実行している間に、いくつかの残りのハードウェアユニットから入力を受けとり、及び、それらのハードウェアウニットに出力を提供することができる。
【００１３】
データ記憶装置（１０２）は、プロセッサ（１０１）または他の処理装置によって実行される実行可能なプログラムコードなどのデータを格納することができる。説明されるように、データ記憶装置（１０２）は、プロセッサ（１０１）が本明細書に記載されている機能を少なくとも実施するために実行するいくつかのアプリケーションを表すコンピュータコードを格納することができる。
【００１４】
データ記憶装置（１０２）は、揮発性メモリ及び不揮発性メモリを含む種々のタイプのメモリ（記憶装置）モジュールを含むことができる。たとえば、今の例のデータ記憶装置（１０２）は、ランダムアクセスメモリ（ＲＡＭ）（１０６）、読取り専用メモリ（ＲＯＭ）（１０７）、及びハードディスクドライブ（ＨＤＤ）メモリ（１０８）を備えている。他の多くのタイプのメモリを使用することもでき、本明細書では、本開示の原理の特定の用途に適合しうる（１つ以上の）さまざまなタイプのメモリをデータ記憶装置（１０２）において使用することが考慮されている。いくつかの例では、データ記憶装置（１０２）内の（２以上の）異なるタイプのメモリを、データ記憶の（２以上の）異なる必要性に対してそれぞれ使用することができる。たとえば、いくつかの例では、プロセッサ（１０１）は、読取り専用メモリ（ＲＯＭ）（１０７）からブートすることができ、ハードディスクドライブ（ＨＤＤ）メモリ（１０８）に不揮発性記憶を維持することができ、及び、ランダムアクセスメモリ（ＲＡＭ）（１０６）に格納されているプログラムコードを実行することができる。
【００１５】
データ記憶装置（１０２）は、とりわけ、コンピュータ可読媒体、またはコンピュータ可読記憶媒体、または非一時的なコンピュータ可読媒体を含むことができる。たとえば、データ記憶装置（１０２）を、電子、磁気、光学、電磁、赤外線、もしくは半導体システム／装置／デバイス、または、これらの任意の適切な組み合わせとすることができる（ただし、それらに限定されない）。コンピュータ可読記憶媒体のより具体的な例は、たとえば、いくつかのワイヤ（電線）を有する電気的接続、携帯型コンピュータディスケット（たとえばフロッピーディスク）、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭまたはフラッシュメモリ）、携帯型コンパクトディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、光学式記憶装置、磁気記憶装置、または、これらの任意の適切な組み合わせを含むことができる。本明細書の文脈において、コンピュータ可読記憶媒体を、命令実行システム／装置／デバイスによってまたはそれらに関連して使用されるコンピュータ使用可能プログラムコードを含むことができもしくは格納することができる任意の有形の媒体とすることができる。別の例では、コンピュータ可読記憶媒体を、命令実行システム／装置／デバイスによってまたはそれらに関連して使用されるプログラムを含むことができもしくは格納することができる任意の非一時的な媒体とすることができる。
【００１６】
コンピューティングシステム（１００）内のハードウェアアダプタ（１０３、１０４）は、プロセッサ（１０１）が、コンピューティングシステム（１００）内外の他の種々のハードウェア要素とインターフェースできるようにする。たとえば、周辺機器アダプタ（１０３）は、たとえば、表示装置（１０９）やマウスやキーボードなどの入力／出力装置とのインターフェースを提供することができる。周辺機器アダプタ（１０３）はまた、外部記憶装置などの他の外部装置、及び、たとえば、サーバー、スイッチ、及びルーターなどのいくつかのネットワーク装置、及び、クライアント装置、及びその他のタイプのコンピューティング装置、及びこれらの任意の組み合わせに対するアクセスを提供することができる。
【００１７】
表示装置（１０９）を、コンピューティングシステム（１００）のユーザーがコンピューティングシステム（１００）の機能と相互作用（対話など）し、及び該機能を実施できるようにするために設けることができる。周辺機器アダプタ（１０３）はまた、プロセッサ（１０１）と、表示装置（１０９）、プリンター、または他の媒体出力装置との間のインターフェースを生成することができる。ネットワークアダプタ（１０４）は、たとえばネットワーク内の他のコンピューティング装置とのインターフェースを提供することができ、これによって、コンピューティングシステム（１００）と該ネットワーク内に配置された他の装置との間のデータ伝送を可能にする。
【００１８】
コンピューティングシステム（１００）は、プロセッサ（１０１）によって実行されると、表示装置（１０９）に、データ記憶装置（１０２）に格納されているいくつかのアプリケーションを表す実行可能なプログラムコードに関連付けられているいくつかのグラフィカルユーザーインターフェース（ＧＵＩ）を表示することができる。これらのＧＵＩは、たとえば、より詳細に後述するように、ユーザーが、コンピューティングシステム（１００）と対話して、差動モードドット積エンジン（ＤＰＥ）メモリスタアレイ（１１０）に関連（もしくはそれと共同）して行列値及びベクトル値を入力できるようにするインタラクティブな（すなわち対話型の）スクリーンショットを表示することができる。さらに、ユーザーは、表示装置（１０９）のＧＵＩにおいていくつかのインタラクティブなジェスチャーをする（またはジェスチャー入力をする）ことによって、入力データに基づくドット積の値を得ることができる。表示装置（１０９）の例には、いくつかある中でも特に、コンピュータの画面、ラップトップコンピュータの画面、モバイル機器の画面、携帯情報端末（ＰＤＡ）の画面、及びタブレットの画面が含まれる。
【００１９】
コンピューティングシステム（１００）はさらに、差動モードドット積エンジン（ＤＰＥ）メムリスティブアレイ（１１０）を備えることができる。より詳しく後述するように、差動モードＤＰＥメムリスティブアレイ（１１０）は、複数の入力の加重和（重み付き和）を計算するためにアレイ内で相互に機能し合ういくつかのメモリスタを含むいくつかの要素を備えている。差動モードＤＰＥメムリスティブアレイ（１１０）を、いくつかのアプリケーションで使用することができる。たとえば、差動モードＤＰＥメムリスティブアレイ（１１０）をしきい値論理ゲート（ＴＬＧ）として使用して、行列積（マトリックス積）を計算し、その出力をある閾値と比較することができる。したがって、差動モードＤＰＥメムリスティブアレイ（１１０）を、より汎用的な処理装置で実行されるソフトウェアで可能な速さよりも速くいくつかの機能を実行するアクセラレータとして使用することができる。差動モードＤＰＥメムリスティブアレイ（１１０）は、コンピューティングシステム（１００）の内部にある装置として図示されているが、別の例では、差動モードＤＰＥメムリスティブアレイ（１１０）を、コンピューティングシステム（１００）に結合された周辺装置とすることができ、または、コンピューティングシステム（１００）に結合された周辺装置内に含めることができる。
【００２０】
コンピューティングシステム（１００）はさらに、本明細書で説明されているシステム及び方法の実施に使用されるいくつかのモジュールを備えている。コンピューティングシステム（１００）内の種々のモジュールは、個別に実行されることができる実行可能なプログラムコードを備えている。この例では、それらの種々のモジュールを、別個のコンピュータプログラム製品として格納することができる。別の例では、コンピューティングシステム（１００）内のそれらの種々のモジュールを、いくつかのコンピュータプログラム製品内で組み合わせることができ、この場合、それぞれのコンピュータプログラム製品はいくつかの該モジュールを含む。
【００２１】
コンピューティングシステム（１００）は、プロセッサ（１０１）によって実行されると、差動モードＤＰＥメムリスティブアレイ（１１０）の機能を支援するドット積エンジンモジュール（１１１）を備えることができる。ドット積エンジンモジュール（１１１）は、たとえば、ドット積の数学的計算で処理される行列を定める（または指定する）いくつかの入力値を受け取る。ドット積エンジンモジュール（１１１）は、差動モードＤＰＥメムリスティブアレイ（１１０）内のいくつかのメモリスタをプログラムするために、それらの入力値を、それらのメモリスタへのプログラミング信号として差動モードＤＰＥメムリスティブアレイ（１１０）に送ることができる。ドット積エンジンモジュール（１１１）はまた、それらのメモリスタにプログラムされた行列に関連して処理されるベクトル入力を受け取ることができる。ドット積エンジンモジュール（１１１）はさらに、ドット積を表す値を得て、分析またはさらなる処理のために、該値をコンピューティングシステム（１００）または別のコンピューティング装置にデータとして伝送することができる。
【００２２】
図２は、本開示の原理の１例にしたがう、図１のコンピューティングシステム（１００）の差動モードドット積エンジン（ＤＰＥ）メモリスタアレイ（１１０）内で使用されるメムリスティブクロスバーアレイ（２００）の図である。メムリスティブクロスバーアレイ（２００）は、いくつかの導電性の行ライン（２０１）、及びいくつかの導電性の列ライン（２０２）を備えることができる。図２には、３つの行ライン（２０１）と４つの列ライン（２０２）が示されているが、任意の数の行ライン（２０１）及び任意の数の列ライン（２０２）を、メムリスティブクロスバーアレイ（２００）に設けることができる。行ライン（２０１）と列ライン（２０２）は破線（２０７）で示されているように交差部で交差している。いくつかの抵抗変化型メモリデバイスすなわち「メモリスタ」（２０３）が、それらの交差部（２０７）に配置されて、行ライン（２０１）と列ライン（２０２）を電気的に接続する。
【００２３】
メムリスタンスは、メモリスタと呼ばれる電子部品の特性である。電荷が回路を一方向に流れると、該回路の該電子部品の抵抗（値）は増加する。電荷が該回路内を該一方向とは逆の方向に流れると、該抵抗（値）は減少する。印加電圧をオフにすることによって電荷の流れを止めた場合には、該電子部品は、該電子部品が有していた直近の抵抗値（すなわち、電荷の流れが止められる直前に有していた抵抗値）を「記憶しておき」、電荷の流れが再び開始したときの該回路の抵抗値は、該回路が最後にアクティブであったときの抵抗値である。メモリスタは、その抵抗値を変化させることができる抵抗デバイスである。
【００２４】
メモリスタ（２０３）内のコンダクタンスチャンネルを、各メモリスタ（２０３）内に形成することができ、メモリスタ（２０３）をビットとして個別にアドレス指定することができる。クロスバーは、第１の組の平行なワイヤ（２０１）の各ワイヤを、該第１の組のワイヤ（２０１）と交差する第２の組の平行なワイヤ（２０２）の全ての要素に接続するスイッチの配列（アレイ）である。図２の例では、行ライン（２０１）と列ライン（２０２）は互いに垂直であるが、行ライン（２０１）と列ライン（２０２）を任意の角度で交差させることができる。
【００２５】
メモリスタ（２０３）を、マイクロスケールまたはナノスケールで作製することができ、及び、メモリや論理回路のベースなどの、多種多様な電子回路のコンポーネント（構成要素）として使用することができる。メモリスタ（２０３）がメモリのベースとして使用されるときは、メモリスタ（２０３）を、情報のビットである１または０を格納するために使用することができる。メモリスタ（２０３）が、本明細書に記載されているように論理回路として使用されるときは、メモリスタ（２０３）を、フィールドプログラマブルゲートアレイ中のビットを表すために用いることができ、または、ワイヤードロジックプログラマブルロジックアレイのベースとして用いることができ、または、本明細書に記載されているように、ドット積エンジンとして用いることができる。本明細書に開示されているメモリスタ（２０３）を様々な他の用途で使用することもできる。メモリスタ（２０３）を、たとえば、メモリスタを形成する化学気相成長（化学蒸着）、スパッタリング、エッチング、リソグラフィー、もしくはその他の方法などの任意の適切な製造プロセスを通じて作製することができる。
【００２６】
図２のメムリスティブクロスバーアレイ（２００）はさらに、Ｖ１、Ｖ２、及びＶ３として示されているいくつかの入力値（２０５）を含んでいる。それらの入力値（２０５）を、該クロスバーアレイ内のそれぞれの交差部における個々のメモリスタ（２０３）の抵抗値を変化させて、それぞれの交差部におけるそれぞれの値が数学的行列（数学的マトリックス）内のそれぞれの値を表すところの該行列の表現（たとえばマッピング）を生成するために使用されるプログラム信号（プログラミング信号ともいう。以下同じ）とすることができる。個々のメモリスタ（２０３）の抵抗値のこの変化は、低い値から高い値への、または、高い値から低い値へのアナログ的な変化である。かくして、これらのメモリスタは、それらが有していた最後の抵抗値を「記憶している」点において「記憶抵抗器」である。
【００２７】
入力値（２０５）を、該クロスバーアレイ中の各交差部における個々のメモリスタ（２０３）の抵抗値を読み出すために使用される読み出し信号とすることもでき、また、下記するように、計算に関わるそれぞれのメモリスタ（２０３）において行列値にベクトル値を乗じるための手段とすることもできる。本明細書ではベクトル信号と呼ばれる該読み出し信号を、メムリスティブクロスバーアレイ（２００）の行ライン（２０１）に対する第２の入力値（２０５）として加えることができる。該ベクトル信号は、該プログラム信号によって表される行列に乗じられるベクトルを表すことができる。１例では、それらのベクトル信号は、メモリスタ（２０３）をプログラムするために使用される第１の電圧よりも小さい電圧値を有し、これによって、それらのベクトル信号によって加えられた電圧レベルが、該第１の電圧によってプログラムされているメモリスタ（２０３）の抵抗値を変えないようにする。該ベクトル信号は、このように、メモリスタ（２０３）の抵抗値を変えないことによって、読み出し信号として機能する。
【００２８】
該ベクトル信号は、メモリスタ（２０３）のそれぞれの交差部（２０７）においてメモリスタ（２０３）と相互作用をし、その結果生じた電流は、２０６におけるそれぞれの列ライン（２０２）の端部において収集される。それぞれの列ライン（２０２）の和は、図２に示されているように、
【数１】
0006333477.tif 000002
によって表される。ここで、ｇi1〜ｇi4は、メモリスタ（２０３）のコンダクタンス（値）である。これらの電圧値から得られたこれらの和は、列ベクトルの値を表している。より詳細に後述するように、それぞれの列ライン（２０２）のこれらの和を、変換回路（３１３）によって電流収集ライン（３１１）において合計して、図３に示されている信号値
【数２】
0006333477.tif 000003
を得ることもできる。１例では、メモリスタ（２０３）の抵抗値を既知の値に設定するために、プログラム信号及びベクトル信号を加える前に、初期信号をメモリスタ（２０３）に加えることができる。
【００２９】
図３は、本開示の原理の１例にしたがう、図１及び図２の差動モードＤＰＥメムリスティブアレイ（１１０）の回路図（３００）である。図３の差動モードＤＰＥメムリスティブアレイ（１１０）は、図示のとおり１つの回路配置を有するものとして示されているが、本発明によるシステム及び方法の機能を達成するために任意の数の回路配置を使用することができる。図３に示されている差動モードＤＰＥメムリスティブアレイ（１１０）は、図２に関して上述した行ライン（２０１）、列ライン（２０２）、及びメモリスタ（２０３）を備えている。上記のごとく、省略記号（３０１、３０２）で示されているように、任意の数の行ライン（２０１）及び任意の数の列ライン（２０２）を、差動モードＤＰＥメムリスティブアレイ（１１０）内に含めることができる。１例では、差動モードＤＰＥメムリスティブアレイ（１１０）に含まれる行ライン（２０１）及び列ライン（２０２）の数を、本明細書に記載されているシステム及び方法を用いて計算されるドット積の行列のサイズと同じかまたはこれより大きくすることができる。
【００３０】
差動モードＤＰＥメムリスティブアレイ（１１０）はさらに、たとえば行ライン（２０１）の入力端子において、演算増幅器（オペアンプ）（３０３）などのいくつかの差動入力回路を備えることができる。図３にはオペアンプ（３０３）が示されているが、任意のタイプの差動入力回路を使用することができる。オペアンプ（３０３）は、利得安定性、線形性、周波数応答、及びステップ応答を改善し、及び、製造や環境に起因するパラメータ変動に対する感度を低減するために、オペアンプ（３０３）の出力の一部をその入力から減じる負帰還を有する（すなわち負帰還オペアンプである）ように設計される。本明細書に記載されているように、入力電圧（Ｖin1、Ｖin2、…、Ｖinn）及び基準電圧（Ｖref1、Ｖref2、…、Ｖrefn）をオペアンプ（３０３）に印加して（加えて）、ドット積の値を得ることができる。
【００３１】
オペアンプ（３０３）はまた、差動モードＤＰＥメムリスティブアレイ（１１０）を作製するために、差動増幅器として設計される。ＤＰＥメムリスティブアレイ（１１０）の各出力について、以下の関係がある。
【数３】
0006333477.tif 000004
ここで、Ｒfは、オペアンプ（３０３）のフィードバック抵抗（値）であり、Ｒiは、ドット積の計算前に予め決められているメモリスタの複数レベルのアナログ抵抗（値）である。
【００３２】
メモリスタ（２０３）は、電圧が高いほどより大きな非線形性を有するアナログデバイスである。メモリスタ（２０３）は、信号が小さい間は比較的良好な線形性を有する。たとえば、［０Ｖ、１Ｖ］（図４の４０４）の領域でメモリスタ（２０３）を動作させた場合は、［−１／２Ｖ、１／２Ｖ］の領域（図４の４０５）でメモリスタ（２０３）動作させた場合に比べて非線形性が大きい。これは図４に示されている。
【００３３】
図４は、本開示の原理の１例にしたがう、メモリスタの電流対電圧ループを示す図３のメムリスティブデバイス（２０３）の関数のグラフである。図４に示されているように、ｘ軸は、メモリスタ（２０３）から見た（すなわち該メモリスタが受ける）電圧値を表し、ｙ軸は、メモリスタ（２０３）から見た（すなわち該メモリスタに流れる）電流値を表している。図４に示されている関数、曲線及び値は、例に過ぎず、特定の値を示すことは意図されていない。いくつかの例では、図４の電流対電圧ループを、挟みつぶされた形のヒステリシス曲線として示すことができる。図４に示されているように、メモリスタ（２０３）の電流／電圧ループ（４０１）は、第１のライン（４０２）によって示されている［−１／２Ｖ、１／２Ｖ］の領域（４０５）の方が、第２のライン（４０３）によって示されている［０Ｖ、１Ｖ］（４０４）の領域よりも（該領域では比較的非線形である）はるかに線形性が高い。
【００３４】
負性抵抗という用語は、負の微分抵抗（ＮＤＲ）（Δｖ／Δｉ＜０）を意味している。ＮＤＲは、非線形のいくつかの原因のうちの１つでありうる。［０Ｖ、１Ｖ］（４０４）の領域を、大信号動作領域と呼ぶことができる。メモリスタ（２０３）は、［０Ｖ、１Ｖ］（４０４）の領域内ではより非線形でありうるが、［−１／２Ｖ、１／２Ｖ］の領域（４０５）では、オーム性を有するものとして分類されることができる。負性抵抗デバイスは非線形性であるので、正のオーム抵抗が電気回路で通常示す挙動よりも複雑な挙動を示す。
【００３５】
ドット積エンジン（ＤＰＥ）メモリスタアレイの用途において、メモリスタ（２０３）の線形の電流／電圧挙動は出力エラーを低減する。同相（コモン）モードＤＰＥメモリスタアレイは、種々の１抵抗（０Ｔ１Ｒ）回路アーキテクチャ、１トランジスタ−１抵抗（１Ｔ１Ｒ）回路アーキテクチャ、及び１スイッチ−１抵抗（１Ｓ１Ｒ）回路アーキテクチャで使用される。しかしながら、メモリスタ（２０３）は非線形挙動を示す。これとは対照的に、本明細書において提案されている差動モードＤＰＥ構成は、線形性に関してより良好な性能を提供する。
【００３６】
したがって、オペアンプ（３０３）の動作領域をシフト（移動）させるために、図３においてＶref1、Ｖref2、…、Ｖrefnとして示されている基準電圧を用いて入力を微分することができる。１例では、所与のオペアンプ（３０３）に対するＶrefの値は、最大電圧入力であるＶin（Ｖin_max）の１／２に選択される。これは、大信号［０、Ｖ］の動作領域を小信号［−１／２Ｖ、１／２Ｖ］の動作領域にシフトさせることになる。この微分によるシフトでは、線形性が改善されることによってより高い精度が達成され、かつ、より良好な信号対雑音比及び改善されたノイズマージンが得られる。数学的には、非線形性を、一次の微分dＶ／dＩによって表すことができる。２次の微分は傾向を明らかにする。微分が一定で、２×dＩや２×dＶなどの大きな範囲を想定した場合には、値はより大きくなるだろう。
【００３７】
さらに、より詳細に後述するように、Ｖoutを、所望の正の整数値に容易に再マッピングすることができる。差動モードＤＰＥメムリスティブアレイ（１１０）は、Ｖin1、Ｖin2、…、Ｖinnのすべての値が−１／２Ｖであるときでも良好に動作する。
【００３８】
差動モードＤＰＥメムリスティブアレイ（１１０）はさらに、列ライン（２０２）に沿ってメモリスタ（２０３）から受け取った電流をそれぞれの出力電圧（Ｖout1、Ｖout2、Ｖoutm）に変換するためのいくつかの電流増幅器（３１０）を備えることができる。１例では、電流増幅器（３１０）は、トランスインピーダンス増幅器（ＴＩＡ。トランスインピーダンスアンプともいう）である。ＴＩＡは、電流−電圧変換器であり、図３に示されている演算増幅器を用いて実施される。ＴＩＡは、差動モードＤＰＥメムリスティブアレイ（１１０）の電流出力を使用可能な電圧に増幅するために使用される。
【００３９】
列ライン（２０２）からの電流を、収集ライン（３１１）を用いて収集する（集める）ことができる。収集された電流
【数４】
0006333477.tif 000005
は、行列値とベクトル値のドット積を表す。図３に示されているように、変換回路（３１３）を、電流増幅器（３１０）と収集ライン（３１１）との間に配置することができる。電流増幅器（３１０）から出力された電圧が収集される場合には、全ての電圧は、キルヒホッフの電圧法則にしたがって等しくされて、ドット積のための値は失われるだろう。そのため、メモリスタ（２０３）から得られた電流が合計される。１例では、電流増幅器（３１０）によって出力される電圧ではなく、電流を収集できるようにするために、電流増幅器（３１０）を取り除くことができる。別の例では、図３に示されているように、変換回路（３１３）が、個々の電流増幅器（３１０）から出力された電圧を収集し、それらの電圧を電流に変換して、該電流を合計する。しかしながら、メモリスタ（２０３）からの電流の和を得てドット積を得るために、任意の回路設計を使用することができる。
【００４０】
図３の差動モードＤＰＥメムリスティブアレイ（１１０）は、オペアンプ（３０３）及びトランスインピーダンス増幅器（３１０）を含むものとして示されているが、本明細書に記載されている本発明によるシステム及び方法の機能を達成するために、任意の数の回路配置を使用することができる。
【００４１】
差動モードＤＰＥメムリスティブアレイ（１１０）はさらに、いくつかのセレクタ（３１２）を備えることができる。いくつかの例では、プログラミング信号を加えている間に、スニークパス電流が、差動モードＤＰＥメムリスティブアレイ（１１０）内に生じうる。スニークパス電流は、回路内の意図されていない電流経路である。本発明による差動モードＤＰＥメムリスティブアレイ（１１０）の例では、スニークパス電流は、図５のブロック５０１及び５０２に関連して説明されているように、ターゲットのメモリスタがプログラムされているかまたは読み取られているときに、いくつかの近傍のメモリスタ（２０３）に影響を与えうる。１例では、電圧がターゲットのメモリスタ（２０３）に加えられると、近傍のメモリスタ（２０３）には、差動モードＤＰＥメムリスティブアレイ（１１０）内を流れるスニークパス電流による該電圧の一部が生じうる。このスニークパス電流によって、それらの近傍のメモリスタ（２０３）は、予期せずにかつ不正確にプログラムされ、または別のやり方で不適切に使用されることになる。
【００４２】
１例では、いくつかのセレクタ（３１２）を、差動モードＤＰＥメムリスティブアレイ（１１０）内に含めることができる。図３に示されているように、それらのセレクタを、それぞれの交差部（２０７）においてそれぞれのメモリスタ（２０３）と直列に配置することができる。図３には、該図内を明瞭にするために１つのセレクタ（３１２）が示されているが、任意の数のセレクタ（３１２）を、メモリスタ（３０２）の各々と直列に配置することができる。セレクタは、メモリスタ（２０３）によって表される選択されたビットだけが読み出されまたはプログラムされるのを確保するために、メモリスタ（２０３）をスニーク電流経路から保護する任意の回路要素である。セレクタは、マルチプレクサ（ｍｕｘ）と呼ばれることもある。このようにして、近傍のメモリスタ（２０３）に影響を与えることなく、ターゲットのメモリスタ（２０３）に電流を集中させることができる。図３に示されているように、メモリスタ（２０３）とセレクタ（３１２）は、１セレクタ−１メモリスタ（１Ｓ１Ｍ）回路アーキテクチャ、または、上記した、１セレクタ−１抵抗（１Ｓ１Ｒ）回路アーキテクチャ、または１トランジスタ−１抵抗（１Ｔ１Ｒ）（トランジスタがセレクタの代わりに使用されている）回路アーキテクチャ、または１抵抗（０Ｔ１Ｒ）回路アーキテクチャを形成することができる。
【００４３】
図５は、本開示の原理の１例にしたがう、図１及び図３の差動モードＤＰＥメムリスティブアレイ（１１０）の動作の方法を示すフローチャートである。図５の方法は、いくつかの（数の）第１の電圧を、メムリスティブクロスバーアレイ内の対応する数の行ライン（２０１）に加えて、それらの行ライン（２０１）と（該行ラインの各々と交差する）列ライン（２０２）の間のそれぞれの交差部（２０７）に配置された対応する数のメモリスタ（２０３）の抵抗値を変化させる（ブロック５０１）ことから開始することができる。それらの第１の電圧は、行列内の対応する数の値をそれぞれ表す、上記のプログラム電圧である。このようにして、数学的行列は、差動モードＤＰＥメムリスティブアレイ（１１０）にマッピングされ、ドット積の数学的処理における第１の組の値として処理される準備が整う。
【００４４】
１例では、負の値を有する数学的行列を表すために、２倍の幅及び長さを有する１つの差動モードＤＰＥメムリスティブアレイ（１１０）または２以上の差動モードＤＰＥメムリスティブアレイ（１１０）を使用することができる。この例では、２倍の幅及び長さを有する該１つの差動モードＤＰＥメムリスティブアレイ（１１０）または該２以上の差動モードＤＰＥメムリスティブアレイ（１１０）を、上記のように、コンピューティングシステム（１００）に結合することができる。
【００４５】
図５の方法は、続いて、いくつかの（数の）第２の電圧を、差動モードＤＰＥメムリスティブアレイ（１１０）内の対応する数の行ライン（２０１）に加えるステップ（ブロック５０２）に進むことができる。それらの第２の電圧は、行列値とベクトル値とのドット積を得るために、メモリスタ（２０３）にプログラムされた行列値に加えられるいくつかのベクトル値を表す。それらの第２の電圧が、差動モードＤＰＥメムリスティブアレイ（１１０）のメモリスタ（２０３）に加えられると、それらのメモリスタ（２０３）は、該メモリスタ（２０３）を電流が流れるようにする電圧入力（Ｖin1、Ｖin2、…、Ｖinn）を受ける。それらのメモリスタ（２０３）を流れる電流レベルは、電圧入力（Ｖin1、Ｖin2、…、Ｖinn）にそれらのメモリスタ（２０３）のコンダクタンスを乗じた値であり、メモリスタのコンダクタンスは、該メモリスタ（２０３）の抵抗値を変化させた第１の電圧によって定まる。ベクトル信号は読み出し信号として機能する。ベクトル信号によって加えられた電圧レベルが、第１の電圧によってプログラムされたメモリスタ（２０３）の抵抗値を変化させないように、該ベクトル信号によって加えられる電圧レベルは、メモリスタ（２０３）をプログラムするために使用される第１の電圧よりも小さい。
【００４６】
このように、第２の電圧を印加することによって個々のメモリスタ（２０３）から得られた電流は、それぞれのメモリスタ（２０３）においてプログラミング信号によって得られた行列値に、該それぞれのメモリスタ（２０３）においてベクトル信号によって得られたベクトル値を乗じたものに等しい。
【００４７】
図５の方法は、続いて、列ライン（２０２）からの出力電流を収集するステップ（ブロック５０３）に進むことができる。ここで、収集された出力電流はドット積を表す。図３に示されているように、収集ライン（３１１）を用いて、列ライン（２０２）によって収集されたメモリスタ（２０３）の出力電流をさらに収集することができる。図３の差動モードＤＰＥメムリスティブアレイ（１１０）は、メモリスタ（２０３）によって出力された電流をそれぞれの出力電圧（Ｖout1、Ｖout2、Ｖoutｍ）に変換するためのトランスインピーダンス増幅器（３１０）を含むものとして示されている。しかしながら、所望の値を得るために、任意の回路トポロジーまたは回路設計を使用することができる。収集された電流
【数５】
0006333477.tif 000006
などの、収集ライン（３１１）から得られた収集された信号は、行列値とベクトル値のドット積を表す。
【００４８】
図５のプロセスは、新たな数学的行例及びベクトルを表すために、ブロック５０１にループバックし、該ブロックにおいて、いくつかの新たな第１の電圧が、差動モードＤＰＥメムリスティブアレイ（１１０）内の対応する数の行ライン（２０１）に加えられて、対応する数のメモリスタ（２０３）の抵抗値を変化させる（ブロック６０１）ことができる。このようにして、新たな抵抗値が、該新たな数学的行列を表すメムリスティブクロスバーアレイのメモリスタ（２０３）にプログラムされる。該方法は、続いて、メモリスタ（２０３）にプログラムされた行列値に加えられる対応する数の新たなベクトル値を表す新たな第２の電圧を、差動モードＤＰＥメムリスティブアレイ（１１０）内の対応する数の行ライン（２０１）に加える（５０２）ことによって、上記のブロック５０２及び５０３に進むことができる。
【００４９】
本発明によるシステム及び方法を通じて、電圧及び電流が、列ライン（２０２）の端部で収集され、さらに、収集ライン（３１１）を用いて収集されるものとして説明されている。しかしながら、電圧値、または電流値、または他の回路パラメータなどの所望の出力を得るために、任意の回路トポロジーまたは回路設計を使用することができる。
【００５０】
本明細書では、本発明によるシステム及び方法のいくつかの側面が、本開示の原理のいくつかの例にしたがう方法、装置（システム）及びコンピュータプログラム製品のフローチャート及び／又はブロック図を参照して説明されている。該フローチャート及び該ブロック図の各ブロック、並びに、該フローチャート中のブロックと該ブロック図中のブロックとの組み合わせを、コンピュータ使用可能プログラムコードによって実施することができる。該コンピュータ使用可能プログラムコードを、汎用コンピュータのプロセッサ、専用コンピュータ、または他のプログラム可能なデータ処理装置に提供して、該コンピュータ使用可能プログラムコードが、たとえばコンピューティングシステム（１００）のプロセッサ（１０１）または他のプログラム可能なデータ処理装置によって実行されたときに、該フローチャート及び／又はブロック図の１つもしくは複数のブロックで指定ないし規定されている機能もしくは動作を実施するようにするマシン（装置）を生成することができる。１例では、該コンピュータ使用可能プログラムコードを、該コンピュータプログラム製品の一部であるコンピュータ可読記憶媒体内に具現化することができる。１例では、該コンピュータ可読記憶媒体は、非一時的なコンピュータ可読媒体である。
【００５１】
明細書及び図面は、ドット積を求める（決定する）ためのコンピューティング装置及び関連する方法を記述している。該コンピューティングデバイスは、プロセッサ、及び該プロセッサに結合されたメモリスタクロスバーアレイを備えている。該メモリスタクロスバーアレイは、いくつかの行ライン、該行ラインと交差していくつかの交差部を形成するいくつかの列ライン、及び、該交差部において該行ラインと該列ラインとの間に結合されたいくつかのメモリスタデバイスを備える。それらのメモリスタデバイスは、いくつかのプログラミング信号を受け取る。該プログラミング信号は、行列内のいくつかの値を定める（すなわち、それぞれのプログラミング信号に対応してそれぞれの値が決まる）。該メモリスタデバイスはまた、いくつかのベクトル信号を受け取る。該ベクトル信号は、該メモリスタデバイスに加えられるいくつかのベクトル値を定める（すなわち、それぞれのベクトル信号に対応してそれぞれのベクトル値が決まる）。該メモリスタクロスバーアレイはさらに、それぞれの抵抗変化型メモリデバイスに基準電圧を加えて、該抵抗変化型メモリデバイスを初期抵抗（値）に設定するために、それぞれの行ラインに接続されたいくつかの増幅器を備える。該増幅器は、該増幅器への電圧入力の電圧と該増幅器への基準電圧入力の電圧との比に基づいて、メムリスティブクロスバーアレイの動作領域をシフトさせる。
【００５２】
ドット積を決定するためのこの抵抗型クロスバーアレイは、いくつかある利点の中でも特に下記の（１）〜（５）を含む利点を有しうる。
（１）メムリスティブデバイスを使用しないＤＰＥと比べて、ドット積計算の処理が速く、かつ、該計算のエネルギー効率が良い。
（２）差動モードでのＤＰＥ動作によって、線形性がより良好な領域でメモリスタを動作させることができ、かつ、より良好な信号対雑音比及びノイズマージンがもたらされる。
（３）大信号（［０Ｖ、１Ｖ］）から小信号（［−１／２Ｖ、１／２Ｖ］）への動作領域のシフトによって、メモリスタが意図せず切り替わるリスクが低減し、これによって、出力エラーが低減する。
（４）動作電圧が小さくされることによって、メモリスタデバイスに対する電気的ストレスの影響も小さくなり、これによって、該デバイスの耐久性が向上する。
（５）０Ｔ１Ｒ、１Ｔ１Ｒ、及び１Ｓ１Ｒを含む複数の方式に適合する設計ないし構成を提供する。
【００５３】
上記の記述は、開示されている原理のいくつかの例を図示し及び説明するために提示されたものである。この記述は、それらの原理を網羅することも、それらの原理を開示した形態そのものに限定することも意図していない。上記の教示に照らして多くの修正及び変更が可能である。
【図１】
0006333477.tif 000007
【図２】
0006333477.tif 000008
【図３】
0006333477.tif 000009
【図４】
0006333477.tif 000010
【図５】
0006333477.tif 000011