(57)【要約】      （修正有）【課題】演算能力が向上した神経網加速装置及びその動作方法を提供する。【解決手段】神経網加速装置は、第１及び第２の入力信号を既定の条件によって変換し、変換された第１及び第２の演算入力信号の各々に対応するゼロフラッグ信号及びワンフラッグ信号を生成して、第１及び第２の演算入力信号と共に出力する信号感知器と、信号感知器から伝達された複数のフラッグ信号によって第１及び第２の演算入力信号を格納するスクラッチパッドのリード、並びに第１及び第２の演算入力信号に対する演算処理手順を変更するＰＥクラスターと、を備える。【選択図】図２
2020155090.tif 000002
【特許請求の範囲】
【請求項１】
第１及び第２の入力信号を既定の条件によって変換し、変換された第１及び第２の演算入力信号の各々に対応するゼロフラッグ信号及びワンフラッグ信号を生成して、前記第１及び第２の演算入力信号と共に出力する信号感知器と、
前記信号感知器から伝達された複数のフラッグ信号によって前記第１及び第２の演算入力信号を格納するスクラッチパッドのリード、並びに前記第１及び第２の演算入力信号に対する演算処理手順を変更するＰＥクラスターと、
を備え、
前記信号感知器が、
既定の基準によって前記第１及び第２の入力信号を変換又は維持するが、前記第１及び第２の入力信号の少なくとも一つが０でなく、前記第２の入力信号が１又は−１である場合、前記第２の演算入力信号を１に統一させ、前記第１の入力信号が１又は−１である場合、前記第１の演算入力信号を１に統一させることを特徴とする神経網加速装置。
【請求項２】
前記ＰＥクラスターが、
前記信号感知器から伝達された前記ゼロフラッグ信号のロジック値が第１の値である場合、前記第１及び第２の演算入力信号を格納するスクラッチパッドのリード、並びに前記第１及び第２の演算入力信号に対する演算を全部スキップし、
前記ワンフラッグ信号等のロジック値の少なくとも一つが第１の値である場合、前記スクラッチパッドのリードアクセスを一部スキップし、乗算をスキップし、加算を遂行することを特徴とする請求項１に記載の神経網加速装置。
【請求項３】
前記ＰＥクラスターが、
前記ワンフラッグ信号等のロジック値の一つが第１の値である場合、前記ワンフラッグ信号が発生した前記スクラッチパッドのリードアクセスをスキップし、乗算をスキップし、加算を遂行することを特徴とする請求項２に記載の神経網加速装置。
【請求項４】
前記ＰＥクラスターが、
前記第１及び第２の入力信号の少なくとも一つが０である場合、前記第１及び第２の演算入力信号を格納するスクラッチパッドのリード、並びに前記第１及び第２の演算入力信号に対する演算を全部スキップすることを特徴とする請求項１に記載の神経網加速装置。
【請求項５】
前記第１の入力信号がフィーチャー値であり、第２の入力信号が加重値であり、
前記信号感知器は、第１の基準から第４の基準によって前記第１及び第２の入力信号を変換又は維持する信号変換器を備え、
前記信号変換器が、前記第１の基準によって前記第１及び第２の入力信号の少なくとも一つが０である場合、前記第１及び第２の演算入力信号を前記第１及び第２の入力信号と同一に維持し、第２の基準によって前記第２の演算入力信号が１に統一されるように前記第１及び第２の入力信号を変換し、第３の基準によって前記第１の演算入力信号が１に統一されるように前記第１及び第２の入力信号を変換し、前記第４の基準によって前記第１及び第２の入力信号が他の整数である場合、前記第１及び第２の演算入力信号を前記第１及び第２の入力信号と同一に維持することを特徴とする請求項１に記載の神経網加速装置。
【請求項６】
前記信号感知器が、
前記信号変換器から伝達された前記第１の演算入力信号に対する第１のゼロフラッグ信号及び第１のワンフラッグ信号を生成して、各々ルックアップテーブル及び前記ＰＥクラスターに伝達する第１の信号感知器と、
前記信号変換器から伝達された前記第２の演算入力信号に対する第２のゼロフラッグ信号及び第２のワンフラッグ信号を生成して、各々前記ルックアップテーブル及び前記ＰＥクラスターに伝達する第２の信号感知器と、
前記第１のゼロフラッグ信号及び前記第２のゼロフラッグ信号に対応する第３のゼロフラッグ信号を前記ＰＥクラスターに出力するルックアップテーブルと、
を備えることを特徴とする請求項５に記載の神経網加速装置。
【請求項７】
前記ルックアップテーブルが、
前記第１のゼロフラッグ信号及び前記第２のゼロフラッグ信号のロジック値の少なくとも一つが第１の値であれば、前記第３のゼロフラッグ信号のロジック値を第１の値として出力し、残りは第２の値として出力することを特徴とする請求項６に記載の神経網加速装置。
【請求項８】
前記ＰＥクラスターが、
前記第１及び第２の演算入力信号を区分して格納する第１及び第２のスクラッチパッドと、
前記第３のゼロフラッグ信号、並びに第１及び第２のワンフラッグ信号を各々区分して格納するレジスタアレイと、
前記レジスタアレイに格納されたフラッグ信号を参考して、前記第１及び第２のスクラッチパッドのリード又は演算器の演算処理手順を制御するＰＥコントローラと、
前記ＰＥコントローラから伝達される制御信号によって乗算及び加算を処理する演算器と、を備えることを特徴とする、請求項７に記載の神経網加速装置。
【請求項９】
前記ＰＥコントローラが、
前記第３のゼロフラッグ信号のロジック値が第１の値である場合、前記第１及び第２のスクラッチパッドのリードをスキップし、前記第１及び第２の演算入力信号に対する乗算及び加算をスキップするように、乗算入力維持信号及び乗算出力維持信号を前記演算器に出力し、
前記ワンフラッグ信号等のロジック値の少なくとも一つが第１の値である場合、ワンフラッグ信号のロジック値が第１の値である第１又は第２のスクラッチパッドのリードをスキップし、演算入力信号に対する乗算をスキップするように、乗算入力維持信号を前記演算器に出力することを特徴する請求項８に記載の神経網加速装置。    
【請求項１０】
前記演算器が、
前記ＰＥコントローラから乗算入力維持信号がイネーブルされれば、前記第１及び第２の演算入力信号の乗算をスキップし、以前の乗算結果を維持させて、現在の乗算結果として出力する乗算回路と、
前記ＰＥコントローラから加算出力維持信号がイネーブルされれば、前記現在の乗算結果と以前の加算結果との加算をスキップし、前記以前の加算結果を現在の加算結果として出力する加算回路と、
を備えることを特徴とする請求項９に記載の神経網加速装置。  
【請求項１１】
前記乗算回路が、前記乗算入力維持信号がディセーブルされれば、前記第１及び第２の演算入力信号を乗算して前記現在の乗算結果として出力することを特徴とする請求項１０に記載の神経網加速装置。
【請求項１２】
前記加算回路が、前記加算出力維持信号がディセーブルされれば、前記現在の乗算結果及び前記以前の加算結果を加算して、前記現在の加算結果として出力することを特徴とする請求項１０に記載の神経網加速装置。
【請求項１３】
第１及び第２の入力信号を既定の条件によって変換して、第１及び第２の演算入力信号を生成するステップと、
前記第１及び第２の演算入力信号の各々に対応するゼロフラッグ信号及びワンフラッグ信号を生成するステップと、
前記ゼロフラッグ信号及び前記ワンフラッグ信号に基づき、前記第１及び第２の演算入力信号を格納するスクラッチパッドのリード、並びに前記第１及び第２の演算入力信号に対する演算処理手順を変更するステップと、
を含み、
前記第１及び第２の演算入力信号を生成するステップにおいて、
前記第１及び第２の入力信号の少なくとも一つが０であるか否かを優先的に確認し、前記第１及び第２の入力信号の少なくとも一つが０でなく、前記第２の入力信号が１又は−１である場合、前記第２の演算入力信号を１に統一させ、前記第１の入力信号が１又は−１である場合、前記第１の演算入力信号を１に統一させることを特徴とする神経網加速装置の動作方法。  
【請求項１４】
前記演算処理手順を変更するステップが、
前記ゼロフラッグ信号のロジック値が第１の値である場合、前記第１及び第２の演算入力信号を格納するスクラッチパッドのリード、並びに前記第１及び第２の演算入力信号に対する演算を全部スキップし、
前記ワンフラッグ信号等のロジック値の少なくとも一つが第１の値である場合、前記スクラッチパッドのリードアクセスを一部スキップし、乗算をスキップし、加算を遂行することを特徴とする請求項１３に記載の神経網加速装置の動作方法。
【請求項１５】
前記ワンフラッグ信号等のロジック値の一つが第１の値である場合、該ワンフラッグ信号が発生した前記スクラッチパッドのリードアクセスをスキップし、乗算をスキップし、加算を遂行することを特徴とする請求項１４に記載の神経網加速装置の動作方法。
【請求項１６】
前記ゼロフラッグ信号及びワンフラッグ信号を生成するステップが、
前記第１の演算入力信号に対応する第１のゼロフラッグ信号と、第１のワンフラッグ信号とを生成するが、第１の演算入力信号のロジック値が第２の値であれば、第１のゼロフラッグ信号のロジック値を第１の値、第１のワンフラッグ信号のロジック値を第２の値として生成するステップと、
前記第２の演算入力信号に対応する第２のゼロフラッグ信号と、第２のワンフラッグ信号とを生成するが、第２の演算入力信号のロジック値が第２の値であれば、第２のゼロフラッグ信号のロジック値を第１の値、第２のワンフラッグ信号のロジック値を第２の値として生成するステップと、
を含むことを特徴とする請求項１３に記載の神経網加速装置の動作方法。
【請求項１７】
前記第１のゼロフラッグ信号及び前記第２のゼロフラッグ信号のロジック値の少なくとも一つが第１の値であれば、前記第３のゼロフラッグ信号のロジック値を第１の値として出力し、残りは第２の値として出力するステップを含む請求項１６に記載の神経網加速装置の動作方法。
【請求項１８】
前記第１の入力信号がフィーチャー値であり、第２の入力信号が加重値であり、
前記第１及び第２の演算入力信号を生成するステップが、
前記第１及び第２の入力信号の少なくとも一つが０であるか否かを優先的に確認し、前記第１及び第２の入力信号の少なくとも一つが０である場合、前記第１及び第２の演算入力信号を前記第１及び第２の入力信号と同一に維持するステップと、
前記第２の入力信号が１又は−１である場合、前記第２の演算入力信号が１に統一されるように、前記第１及び第２の入力信号を変換するステップと、
前記第１の入力信号が１又は−１である場合、前記第１の演算入力信号が１に統一されるように、前記第１及び第２の入力信号を変換するステップと、
前記第１及び第２の入力信号が他の整数である場合、前記第１及び第２の演算入力信号を前記第１及び第２の入力信号と同一に維持するステップと、
を含む請求項１３に記載の神経網加速装置の動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、神経網加速装置及びその動作方法に関する。
【背景技術】
【０００２】
ＡＮＮ（Artificial  Neural  Network）分野のＦＰＧＡ加速器（Field  Programmable  Gate  Array  Accelerator）は、ソフトウェアで処理しているＭＬＰ（Multi-Layer  Perceptron）やＣＮＮ（Convolutional  Neural  Network）などを独立的なハードウェアモジュールで具現できる。これにより、ＦＰＧＡ加速器は、ＣＰＵ（Central  Processing  Unit）の負担を低減しながら、関連演算の性能が極大化できるアプリケーションであり得る。このようなアプリケーションは、主にシストリックアレイ（Systolic  Array）構造又はＰＥアレイ（Processing  Elements  Array）構造で具現できる。
【０００３】
前述のシストリックアレイ構造は、格子状のアレイを配列し、クロックサイクルごとに行列積（Matrix  Multiplication）を順次進行するアレイ構造であり得る。また、ＰＥアレイ構造は、各処理要素セル（Processing  Elements  Cell）に多様なセルが連結し得るポート（Port）を備えてデータを転送する構造であり得る。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、演算能力が向上した神経網加速装置及びその動作方法を提供することにある。
【課題を解決するための手段】
【０００５】
本発明の実施例に係る神経網加速装置は、第１及び第２の入力信号を既定の条件によって変換し、変換された第１及び第２の演算入力信号の各々に対応するゼロ（Zero）フラッグ信号及びワン（One）フラッグ信号を生成して、前記第１及び第２の演算入力信号と共に出力する信号感知器と、前記信号感知器から伝達された複数のフラッグ信号によって前記第１及び第２の演算入力信号を格納するスクラッチパッドのリード、並びに前記第１及び第２の演算入力信号に対する演算処理手順を変更するＰＥクラスターと、を備え、前記信号感知器は、既定の基準によって前記第１及び第２の入力信号を変換又は維持するが、前記第１及び第２の入力信号の少なくとも一つが０（Zero）でなく、前記第２の入力信号が１又は−１である場合、前記第２の演算入力信号を１に統一させ、前記第１の入力信号が１又は−１である場合、前記第１の演算入力信号を１に統一させる。
【０００６】
本発明の実施例に係る神経網加速装置の動作方法は、第１及び第２の入力信号を既定の条件によって変換して、第１及び第２の演算入力信号を生成するステップと、前記第１及び第２の演算入力信号の各々に対応するゼロ（Zero）フラッグ信号及びワン（One）フラッグ信号を生成するステップと、前記ゼロフラッグ信号及び前記ワンフラッグ信号に基づき、前記第１及び第２の演算入力信号を格納するスクラッチパッドのリード、並びに前記第１及び第２の演算入力信号に対する演算処理手順を変更するステップと、を含み、前記第１及び第２の演算入力信号を生成するステップにおいて、前記第１及び第２の入力信号の少なくとも一つが０（Zero）であるか否かを優先的に確認し、前記第１及び第２の入力信号の少なくとも一つが０でなく、前記第２の入力信号が１又は−１である場合、前記第２の演算入力信号を１に統一させ、前記第１の入力信号が１又は−１である場合、前記第１の演算入力信号を１に統一させる。
【発明の効果】
【０００７】
本発明によれば、特定値に対するデータ経路ゲーティング（Data  Path  Gating）、ＭＡＣ（Multiplier-Accumulator）演算スキップ及びメモリリードスキップにより低電力モードで駆動することで、電力消耗量の節減を図ることができる。
【０００８】
また、本発明の低電力モード演算技術は、通常のＣＮＮ（Convolutional  Neural  Network）だけでなく、ＢＮＮ（Binarized  Neural  Network）などのようなネットワークにも適用できるため、ＭＡＣ演算の効率性が向上できる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施例に係る神経網加速装置の周辺構成図を示す図である。
【図２】本発明の実施例に係る神経網加速装置の構成を示す図である。
【図３】本発明の実施例に係る信号感知器の構成を示す詳細図である。
【図４】本発明の実施例に係る信号感知器の動作を説明するための図である。
【図５】図４のルックアップテーブルの動作を説明するための例示図である。
【図６】本発明の実施例に係るＰＥクラスターの構成を示す図である。
【図７】本発明の実施例に係るＰＥクラスターの動作を説明するための図である。
【図８】本発明の実施例に係る神経網加速装置の動作を説明するための真理表を示す図である。
【図９】本発明の実施例に係る神経網加速装置の動作を説明するための真理表を示す図である。
【図１０】本発明の実施例に係る神経網加速装置の動作を説明するための真理表を示す図である。
【図１１】本発明の実施例に係る神経網加速装置の動作方法を示すフローチャートである。
【図１２】本発明の実施例に係る信号変換方法を説明するためのフローチャートである。
【図１３】本発明の実施例に係るフラッグ信号を生成する方法を説明するためのフローチャートである。
【図１４】本発明の実施例に係るスクラッチパッドのリード及び演算処理手順を制御する方法を説明するためのフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付図面に基づき、本発明の好適な実施例を詳細に説明する。
【００１１】
図１は、本発明の実施例に係る神経網加速装置の周辺構成図を示す図である。
【００１２】
図１に示されるように、本発明の実施例に係る神経網加速装置１００は、ホスト１１０を支援するための構成であって、ホスト１１０から高速インターフェース１２０を介して伝達される信号によって内部メモリ１６０から伝達される第１及び第２の入力信号（Feature、Weight）を受信して演算を遂行した後、結果値を出力フィーチャー生成器（Output  Feature  Generator）１７０に伝達できる。
【００１３】
このとき、ホスト１１０から伝達される信号は、外部メモリ１３０、メモリインターフェース１４０、バスインターフェース１５０及び内部メモリ１６０を介して神経網加速装置１００に伝達されたり、或いは、高速インターフェース１２０、バスインターフェース１５０及び内部メモリ１６０を介して伝達されたりする。ここで、ホスト１１０から伝達される信号が外部メモリ１３０に格納される時も、高速インターフェース１２０及びバスインターフェース１５０を介して伝達されることは自明である。
【００１４】
前述の外部メモリ１３０はＤＲＡＭ（Dynamic  Random  Access  Memory）で具現でき、内部メモリ１６０はＳＲＡＭ（Static  Random  Access  Memory）で具現できるが、これに限定されない。また、高速インターフェース１２０はＰＣＩｅで具現できるが、これに限定されない。
【００１５】
前述の神経網加速装置１００は、第１及び第２の入力信号を感知して、ＰＥクラスター（Processing  Element  Cluster）３００におけるメモリリードアクセス及び演算処理を全部又は部分的にスキップできるように決定するためのフラッグ信号を生成する信号感知器２００と、信号感知器２００から伝達されるフラッグ信号を参照して、メモリリードアクセス及び演算処理手順を制御するＰＥクラスター３００とを備えることができる。
【００１６】
前記ＰＥクラスター３００は、入力（Input）が変化すれば、スイッチング電流（Switching  Current）が発生するが、入力が変化しないようにしてスイッチング電流の発生を抑制するために、スイッチングＰＥクラスター３００の演算パワー消耗量が低減されることがある。すなわち、入力段にゼロフラッグ信号のロジック値が第１の値として入力されるとき、ＰＥクラスター３００のパワー消耗量が低減される。例えば、第１の値はロジック値１（One）の場合を意味し、これに限定されないことは当然である。
【００１７】
具体的には、神経網加速装置１００に入力信号として０（Zero）が入力される場合、信号感知器２００で入力信号が０であることを示すフラッグ信号が生成される。このとき、入力信号が０であることを示すフラッグ信号は、ＰＥクラスター３００の演算器における演算をスキップするか否かを決定するのに活用できる。また、神経網加速装置１００は、入力信号として０（Zero）が入力されない場合、演算器における乗算及び加算が遂行できる。これに関する詳細な説明は後述する。
【００１８】
図２は、本発明の実施例による神経網加速装置の構成を示す図である。
【００１９】
図２に示されるように、神経網加速装置１００は、信号感知器２００と、ＰＥクラスター３００と、出力フィーチャー生成器１７０とを備えることができる。
【００２０】
信号感知器２００は、低電力（Low−Power）ＰＥ（Processing  Element）動作のためのデータ変換及びフラッグ信号生成を遂行する前処理構成であり得る。
【００２１】
信号感知器２００は、第１及び第２の入力信号を既定の条件によって変換し、変換された第１及び第２の演算入力信号の各々に対応するゼロ（Zero）フラッグ信号及びワン（One）フラッグ信号を生成して、前記第１及び第２の演算入力信号と共にＰＥクラスター３００に出力できる。
【００２２】
ＰＥクラスター３００は、信号感知器２００から伝達される複数のフラッグ信号によって、第１及び第２の演算入力信号を格納するスクラッチパッド（図６の３１０）のリード、並びに第１及び第２の演算入力信号に対する演算処理手順を変更できる。
【００２３】
ＰＥクラスター３００は、信号感知器２００から伝達されるゼロフラッグ信号のロジック値が第１の値である場合、第１及び第２の演算入力信号を格納するスクラッチパッド（図６の３１０）のリード、並びに第１及び第２の演算入力信号に対する演算を全部スキップできる。例えば、第１の値はロジック値１（One）である場合を意味し、これに限定されないことは当然である。
【００２４】
また、ＰＥクラスター３００は、ワンフラッグ信号等のロジック値の少なくとも一つが第１の値である場合、スクラッチパッド（図６の３１０）のリードアクセスを一部スキップし、乗算をスキップし、加算を遂行できる。例えば、第１の値はロジック値１（One）である場合を意味し、これに限定されないことは当然である。
【００２５】
また、ＰＥクラスター３００は、ワンフラッグ信号等のロジック値の一つが第１の値である場合、該ワンフラッグ信号が発生したスクラッチパッド（図６の３１０）のリードアクセスをスキップし、乗算をスキップし、加算を遂行できる。
【００２６】
また、ＰＥクラスター３００は、第１及び第２の入力信号の少なくとも一つが０（Zero）である場合、第１及び第２の演算入力信号を格納するスクラッチパッド（図６の３１０）のリード、並びに第１及び第２の演算入力信号に対する演算を全部スキップできる。
【００２７】
出力フィーチャー生成器１７０は、第１及び第２の入力信号（Feature、Weight）を受信して演算を遂行した後、結果値をＰＥクラスター３００から受信し、結果値に対する活性化関数（Activation  Function）を適用して非線形値に変更し、プーリング（pooling）処理して内部メモリ１６００に伝達したり、或いは、ホスト１１０に伝達したりする。このとき、出力フィーチャー生成器１７０が演算の結果値を内部メモリ１６０又はホスト１１０に伝達することに限定されず、必要に応じて他の構成によって伝達することもできる。
【００２８】
前述の信号感知器２００及びＰＥクラスター３００の詳細な説明は後述する。
【００２９】
図３は、本発明の実施例に係る信号感知器の構成を示す詳細図である。
【００３０】
図３を、本発明の実施例による信号感知器の動作を説明するための図４と、図４のルックアップテーブルの動作を説明するための例示図である図５と、本発明の実施例による神経網加速装置の動作を説明するための真理表を示す図８とを参照して説明する。
【００３１】
図３に示されるように、信号感知器２００は、信号変換器２１１と、第１の信号感知器２１３と、第２の信号感知器２１５と、ルックアップテーブル（Lookup  Table；ＬＵＴ）２１７とを備えることができる。
【００３２】
信号変換器２１１は、第１の基準によって第１及び第２の入力信号の少なくとも一つが０（Zero）である場合、第１及び第２の演算入力信号を前記第１及び第２の入力信号と同一に維持できる。前記第１の入力信号はフィーチャー（Feature）値であり、第２の入力信号は加重値（Weight）であり、以下でも同様に適用できる。
【００３３】
前記第１及び第２の演算入力信号は、第１及び第２の入力信号が信号変換器２１１によって変換された信号を意味するものと定義する。
【００３４】
図８に示されるように、信号変換器２１１は、フィーチャー（Feature）値と加重値（Weight）とが、（０、−１）、（−１、０）、（０、０）、（１、０）、（他の整数値、０）、（−（他の整数値）、０）、（０、１）、（０、他の整数値）、（０、−（他の整数値））である場合、第１及び第２の演算入力信号（ｃｆ、ｃｗ）を第１及び第２の入力信号としてそのまま維持できる。このとき、他の整数値を１、０、−１を除いた整数値を意味するものと定義する。図８のｃｆは変換されたフィーチャー値を意味するもので、第１の演算入力信号であり得、ｃｗは変換された加重値を意味するもので、第２の演算入力信号であり得る。
【００３５】
また、信号変換器２１１は、第２の基準によって第２の入力信号が１又は−１である場合、第２の演算入力信号が１に統一されるように前記第１及び第２の入力信号を変換できる。
【００３６】
図８に示されるように、信号変換器２１１は、フィーチャー値と加重値とが（−１、−１）、（１、−１）、（他の整数値、−１）、（−（他の整数値）、−１）、（−１、１）、（１、１）、（他の整数値、１）、（−（他の整数値）、１）である場合、加重値が−１であるフィーチャー値及び加重値の対を各々変換して加重値を１に統一させ、加重値が１であるフィーチャー値及び加重値の対は以前値をそのまま維持して、第１及び第２の演算入力信号を生成できる。
【００３７】
このとき、信号変換器２１１が１又は−１の形態の入力信号を１に統一された形態の演算入力信号に変換するため、ＰＥクラスター３００における関連演算の活用が極大し得るという効果が期待できる。
【００３８】
例えば、ＢＮＮ（Binarized  Neural  Network）は、加重値として−１又は１を使用したり、或いは、−１、０又は１を使用したりするが、信号変換器２１１が１又は−１のような形態の入力信号を１に単純化できる。これにより、ＢＮＮ（Binarized  Neural  Network）の場合には、ＰＥクラスター３００で１値に対するメモリリードアクセススキップ及び演算スキップの効果が期待できる。具体的に、  ＢＮＮ（Binarized  Neural  Network）は、他のネットワークよりも絶対値が１であるパケットが多数発生するネットワークであるが、１又は−１のような形態の入力信号を１に単純化するため、０だけでなく１に対するスキップ効果も期待できる。
【００３９】
また、信号変換器２１１は、第３の基準によって第１の入力信号が１又は−１である場合、第１の演算入力信号が１に統一されるように、第１及び第２の入力信号を変換できる。
【００４０】
図８に示すように、信号変化器２１１は、フィーチャー値と加重値とが（−１、他の整数値）、（１、他の整数値）、（−１、−（他の整数値））、（１、−（他の整数値））である場合、フィーチャー値が１に統一されるように、フィーチャー値が１であるフィーチャー値及び加重値の対は以前値をそのまま維持し、フィーチャー値が−１であるフィーチャー値及び加重値の対は各々変換し、フィーチャー値が１に統一されるように変換して、第１及び第２の演算入力信号を生成できる。    
【００４１】
また、信号変換器２１１は、第４の基準によって第１及び第２の入力信号が他の整数である場合、第１及び第２の演算入力信号を第１及び第２の入力信号と同一に維持するように変換できる。
【００４２】
図８に示されるように、信号変換器２１１は、フィーチャー値と加重値とが（他の整数値、他の整数値）、（−（他の整数値）、他の整数値）、（他の整数値、−（他の整数値））、（−（他の整数値）、−（他の整数値））である場合、フィーチャー値及び加重値の以前値をそのまま維持して、第１及び第２の演算入力信号を生成できる。
【００４３】
前述の第１の基準、第２の基準、第３の基準及び第４の基準は、第１の基準の優先順位が最も高く、第２の基準、第３基準及び第４の基準の順に優先順位が高い。すなわち、信号変換器２１１は、フィーチャー値及び加重値の条件が前述の基準のうちで多数の条件に満足する場合、優先順位が高い基準によって信号変換を遂行できる。
【００４４】
図３及び図４に示されるように、信号変換器２１１は、第１の演算入力信号（ｃｆ）を第１の信号感知器２１３及びＰＥクラスター３００に伝達でき、第２の演算入力信号（ｃｗ）を第２の信号感知器２１５及びＰＥクラスター３００に伝達できる。
【００４５】
第１の信号感知器２１３は、信号変換器２１１から伝達された第１の演算入力信号（ｃｆ）に対する第１のゼロフラッグ信号（ｚｆｆ）及び第１のワンフラッグ信号（ｏｆｆ）を生成して、各々ルックアップテーブル２１７及びＰＥクラスター３００に伝達できる。
【００４６】
例えば、第１の信号感知器２１３は、第１の演算入力信号が０（Zero）である場合、第１のゼロフラッグ信号のロジック値を第１の値、第１のワンフラッグ信号を第２の値として生成し、第１のゼロフラッグ信号はルックアップテーブル２１７に伝達でき、第１のワンフラッグ信号はＰＥクラスター３００に伝達できる。このとき、第１の演算入力信号が０でない場合、第１の信号感知器２１３は、第１のゼロフラッグ信号及び第１のワンフラッグ信号のロジック値を前記と反対に生成できる。前記第２の値は０（Zero）を意味し、これに限定されない。
【００４７】
第２の信号感知器２１５は、信号変換器２１１から伝達された第２の演算入力信号（ｃｗ）に対する第２のゼロフラッグ信号（ｚｆｗ）及び第２のワンフラッグ信号（ｏｆｗ）を生成し、各々ルックアップテーブル２１７及びＰＥクラスター３００に伝達できる。
【００４８】
例えば、第２の信号感知器２１５は、第２の演算入力信号が０（Zero）である場合、第２のゼロフラッグ信号のロジック値を第１の値、第２のワンフラッグ信号を第２の値として生成し、第２のゼロフラッグ信号はルックアップテーブル２１７に伝達でき、第２のワンフラッグ信号はＰＥクラスター３００に伝達できる。このとき、第２の演算入力信号が０でない場合、第２の信号感知器２１５は、第２のゼロフラッグ信号のロジック値を第２の値、第２のワンフラッグ信号のロジック値を第１の値として生成し、第２のゼロフラッグ信号はルックアップテーブル２１７に伝達でき、第２のワンフラッグ信号はＰＥクラスター３００に伝達できる。このとき、第１の値は１（One）、第２の値は０（Zero）であり、これに限定されない。
【００４９】
ルックアップテーブル２１７は、第１のゼロフラッグ信号及び第２のゼロフラッグ信号に対応する第３のゼロフラッグ信号をＰＥクラスター３００に出力できる。
【００５０】
図５に示されるように、ルックアップテーブル２１７は、第１のゼロフラッグ信号及び第２のゼロフラッグ信号のロジック値の少なくとも一つが第１の値であれば、第３のゼロフラッグ信号のロジック値を第１の値として出力し、残りは第２の値として出力できる。このとき、第１の値は１（One）、第２の値は０（Zero）であり、これに限定されない。
【００５１】
図６は、本発明の実施例に係るＰＥクラスターの構成を示す図である。
【００５２】
図６を、本発明の実施例に係るＰＥクラスターの動作を説明するための図７、及び本発明の実施例による神経網加速装置の動作を説明するための真理表を示す図８〜図１０を参照して説明する。
【００５３】
図６に示されるように、ＰＥクラスター３００は、スクラッチパッド３１０と、レジスタアレイ（register  array）３３０と、ＰＥコントローラ３５０と、演算器３７０と、を備えることができる。
【００５４】
スクラッチパッド３１０は、信号変換器２１１から伝達される第１及び第２の演算入力信号（ｃｆ、ｃｗ）をＰＥクラスター３００内で仮に格納することで、オフチップメモリ（Off  chip  memory）にアクセスするレイテンシ（Latency）及びパワー（Power）の消耗を低減できる。このとき、オフチップメモリは図１に示す外部メモリ１３０であり得る。
【００５５】
このとき、スクラッチパッド３１０は、ＳＲＡＭ（Static  Random  Access  Memory）で具現され、第１及び第２の演算入力信号を仮に格納するが、ＳＲＡＭに限定されない。ＳＲＡＭの特性上、チップイネーブル（chip  enable）を印加しなければ格納の値が確認できない。
【００５６】
図６及び図７に示されるように、スクラッチパッド３１０は、第１及び第２の演算入力信号（ｃｆ、ｃｗ）を区分して格納するために、第１及び第２の演算入力信号を各々格納する第１のスクラッチパッド（Scratch  pad（Feature））３１１及び第２のスクラッチパッド（Scratch  pad（Weight））３１３を備えることができる。
【００５７】
レジスタアレイ３３０は、第１及び第２の信号感知器２１３、２１５と、ルックアップテーブル２１７とから伝達される第１及び第２のワンフラッグ信号（ｏｆｆ、ｏｆｗ）と、第３のゼロフラッグ信号（ｚｆ）とを格納できる。
【００５８】
図６及び図７に示されるように、レジスタアレイ３３０は、第３のゼロフラッグ信号（ｚｆ）と、第１及び第２のワンフラッグ信号（ｏｆｆ、ｏｆｗ）とを各々区分して格納するために、ゼロフラッグレジスタアレイ（Register  array  for  zero-value  flag）３３１、第１のワンフラッグレジスタアレイ（Register  array  for  one-value  flag（Feature））３３３及び第２のワンフラッグレジスタアレイ（Register  array  for  one-value  flag（Weight））３３５を備えることができる。
【００５９】
レジスタアレイ３３０は、ゼロフラッグ信号又はワンフラッグ信号をアレイに別途に格納するため、ＰＥコントローラ３５０の制御によってパワーの消耗量が大きいスクラッチパッド３１０のリードアクセス（図７のMem  read）を省略しても、第１及び第２のスクラッチパッド３１１、３１３に格納された第１及び第２の演算入力信号の値が０又は１であるか否かを確認できる。
【００６０】
すなわち、レジスタアレイ３３０が演算器３７０で必要な第１及び第２の演算入力信号の値が０又は１であるか否かのようなデータを提供できるため、スクラッチパッド３１０のチップイネーブル及びアドレスなどの信号によってメモリに接近しなければならない回数を低減することで、エネルギーの消費量を減少させるという効果が期待できる。
【００６１】
ＰＥコントローラ３５０は、レジスタアレイ３３０に格納されたフラッグ信号を参考して、第１及び第２のスクラッチパッド３１１、３１３のリード又は演算器３７０の演算処理手順を制御できる。すなわち、ＰＥコントローラ３５０は、レジスタアレイ３３０の値を確認して、第１及び第２のスクラッチパッド３１１、３１３でデータをリードするか否か、及び演算器３７０のデータ経路をゲーティング（gating）するか否かを決定する。
【００６２】
ＰＥコントローラ３５０は、第３のゼロフラッグ信号のロジック値が第１の値である場合、第１及び第２のスクラッチパッド３１１、３１３のリードをスキップし、第１及び第２の演算入力信号に対する乗算及び加算をスキップするように、乗算入力維持信号及び乗算出力維持信号を演算器３７０に出力できる。
【００６３】
図９に示されるように、ＰＥコントローラ３５０は、優先的にゼロフラッグレジスタアレイ３３１に格納された第３のゼロフラッグ信号（ｚｆ）のロジック値を確認し、ロジック値が第１の値である場合（図９の丸囲み数字の１）、第１及び第２のスクラッチパッド３１１、３１３のリード及び演算器３７０の演算処理をスキップするように、乗算器（Multiplier）３７３の前段に位置した第１及び第２のフリップフロップ３７１、３７２に第１及び第２のフリップフロップ（ｆｆ０、ｆｆ１）３７１、３７２の動作をオフ（off）するように制御する信号（図９の丸囲み数字の２）（ｃ０）を転送できる。また、ＰＥコントローラ３５０は、乗算器３７３の後段に位置したＭＵＸ３７５に以前の乗算結果を維持させる信号（図９の丸囲み数字３）（ｃ１）を転送し、加算器（Adder）３７７の後段に位置した第３のフリップフロップ（ｆｆ２）３７９に第３のフリップフロップ３７９の動作をオフするように制御する信号（図９の丸囲み数字４）（ｃ２）を転送できる。図９において、ｃ０の論理値０はｏｆｆを意味し、１はｏｎを意味し、ｃ２の論理値０はｏｆｆを意味し、１はｏｎを意味するものと定義する。
【００６４】
また、ＰＥコントローラ３５０は、ワンフラッグ信号等のロジック値の少なくとも一つが第１の値である場合、ワンフラッグ信号のロジック値が第１の値である第１又は第２のスクラッチパッド３１１、３１３のリードをスキップし、第１及び第２の演算入力信号に対する乗算をスキップするように乗算入力維持信号を演算器３７０に出力できる。このとき、ＰＥコントローラ３５０は、第１及び第２のワンフラッグ信号（ｏｆｆ、ｏｆｗ）のロジック値を確認する前に、ゼロフラッグ信号（ｚｆ）のロジック値を優先的に確認できる。例えば、第１の値はロジック値１（One）である場合を意味し、これに限定されないことは当然である。
【００６５】
図１０に示されるように、ＰＥコントローラ３５０は、第１及び第２のワンフラッグレジスタアレイ３３３、３３５に格納された第１及び第２のワンフラッグ信号（ｏｆｆ、ｏｆｗ）（図１０の丸囲み数字の５）のロジック値を確認して、その中で少なくとも一つが１（ｏｆｆ又はｏｆｗ：１）である場合、ワンフラッグ信号のロジック値が第１の値であるスクラッチパッドのリードをスキップし、乗算をスキップするように制御できる。
【００６６】
例えば、第２のワンフラッグ信号（ｏｆｗ）のロジック値が第１の値（例えば、１）（図１０の丸囲み数字の６）である場合、ＰＥコントローラ３５０は、第２のスクラッチパッド３１３のメモリリードアクセスをスキップし、乗算をスキップし、加算を遂行させるために、乗算器３７３の前段に位置した第１及び第２のフリップフロップ３７１、３７２に第１及び第２のフリップフロップ３７１、３７２の動作をオフ（ｏｆｆ）するように制御する信号（ｃ０：０）を転送できる。また、ＰＥコントローラ３５０は、乗算器３７３の後段に位置したＭＵＸ３７５に第１の演算入力信号（ｃｆ）を出力させる信号（ｃ１：０）を転送し、加算器３７７の後段に位置した第３のフリップフロップ（ｆｆ２）３７９に第３のフリップフロップ３７９の動作を遂行するように制御する信号（ｃ２：１）を転送できる。図１０において、ｃ０の論理値０はｏｆｆを意味し、ｃ２の論理値１はｏｎを意味するものと定義する。
【００６７】
演算器３７０は、ＰＥコントローラ３５０から伝達される制御信号によって乗算及び加算を処理できる。
【００６８】
演算器３７０は、ニューラルネットワーク（Neural  Network）で主に使用される畳み込み（Convolution）演算を遂行するための構成であり、これに限定されない。
【００６９】
具体的に、演算器３７０は、乗算回路及び加算回路を備えることができる。
【００７０】
乗算回路（図７のＡ）は、ＰＥコントローラ３５０から乗算入力維持信号がイネーブルされれば、第1及び第２の演算入力信号の乗算をスキップし、以前の乗算結果を維持させて現在の乗算結果として出力できる。
【００７１】
乗算回路（Ａ）は、乗算入力維持信号がディセーブルされれば、第１及び第２の演算入力信号の乗算を遂行して、現在の乗算結果が出力できる。
【００７２】
加算回路（図７のＢ）は、ＰＥコントローラ３５０から加算出力維持信号がイネーブルされれば、現在の乗算結果と以前の加算結果との加算をスキップし、以前の加算結果を現在の加算結果として出力できる。
【００７３】
加算回路（Ｂ）は、加算出力維持信号がディセーブルされれば、現在の乗算結果と以前の加算結果とを加算して、現在の加算結果として出力できる。
【００７４】
図１１は、本発明の実施例に係る神経網加速装置の動作方法を示すフローチャートである。
【００７５】
図１１に示されるように、神経網加速装置１００は、第１及び第２の入力信号を受信すれば（Ｓ１０１）、これを既定の条件によって変換して、第１及び第２の演算入力信号を生成できる（Ｓ１０３）。
【００７６】
次に、神経網加速装置１００は、第１及び第２の演算入力信号の各々に対応するゼロ（Zero）フラッグ信号及びワン（One）フラッグ信号を生成できる（Ｓ１０５）。
【００７７】
次に、神経網加速装置１００は、ゼロフラッグ信号及びワンフラッグ信号に基づき、第１及び第２の演算入力信号を格納するスクラッチパッド３１０のリード、並びに第１及び第２の演算入力信号に対する演算処理手順を変更できる（Ｓ１０７）。
【００７８】
図１２は、本発明の実施例に係る信号変換方法を説明するためのフローチャートである。
【００７９】
以下において、図１１の第１及び第２の演算入力信号を生成する方法（Ｓ１０３）をより具体的に説明する。
【００８０】
図１２に示すように、神経網加速装置１００は、第１及び第２の入力信号を受信すれば（Ｓ２０１）、第１及び第２の入力信号の少なくとも一つが０（Zero）であるか否かを優先的に確認できる（Ｓ２０３）。このとき、第１の入力信号はフィーチャー（Feature）値であり、第２の入力信号は加重値（Weight）である。
【００８１】
ステップＳ２０３の確認結果、第１及び第２の入力信号の少なくとも一つが０でない場合、神経網加速装置１００は、第２の入力信号が１又は−１であるか否かを確認できる（Ｓ２０５）。
【００８２】
ステップＳ２０５の確認結果、第２の入力信号が１又は−１でない場合、神経網加速装置１００は、第１の入力信号が１又は−１であるか否かを確認できる（Ｓ２０７）。
【００８３】
ステップＳ２０７の確認結果、第１の入力信号が１又は−１でない場合、神経網加速装置１００は、第１及び第２の演算入力信号を第１及び第２の入力信号と同一に維持できる（Ｓ２０９）。ステップＳ２０９において第１の入力信号が１又は−１でない場合は、第１及び第２の入力信号が１、０及び−１でない他の整数である場合であり得る。
【００８４】
一方、ステップＳ２０３の確認結果、第１及び第２の入力信号の少なくとも一つが０である場合、神経網加速装置１００は、第１及び第２の演算入力信号を前記第１及び第２の入力信号と同一に維持できる（Ｓ２１１）。
【００８５】
一方、ステップＳ２０５の確認結果、第２の入力信号が１又は−１である場合、第２の演算入力信号を１に変換できる（Ｓ２１３）。
【００８６】
図８に示されるように、神経網加速装置１００の信号変換器２１１は、フィーチャー値と加重値とが（−１、−１）、（１、−１）、（他の整数値、−１）、（−（他の整数値）、−１）、（−１、１）、（１、１）、（他の整数値、１）、（−（他の整数値）、１）である場合、加重値が−１であるフィーチャー値及び加重値の対を各々変換して加重値を１に統一させ、加重値が１であるフィーチャー値及び加重値の対は以前値をそのまま維持させ、第１及び第２の演算入力信号を生成できる。
【００８７】
一方、ステップＳ２０７の確認結果、第１の入力信号が１又は−１である場合、神経網加速装置１００は、第１の演算入力信号が１に統一されるように、第１及び第２の入力信号を変換できる（Ｓ２１５）。
【００８８】
図８に示されるように、神経網加速装置１００の信号変換器２１１は、フィーチャー値と加重値とが（−１、他の整数値）、（１、他の整数値）、（−１、−（他の整数値））、（１、−（他の整数値））である場合、フィーチャー値が１に統一されるように、フィーチャー値が1であるフィーチャー値及び加重値の対は以前値をそのまま維持し、フィーチャー値が−１であるフィーチャー値及び加重値の対は各々変換して、加重値が１に統一させ、第１及び第２の演算入力信号を生成できる。
【００８９】
図１３は、本発明の実施例に係るフラッグ信号を生成する方法を説明するためのフローチャートである。
【００９０】
以下において、図１１のフラッグ信号を生成する方法（Ｓ１０５）をより具体的に説明する。
【００９１】
図１３に示されるように、神経網加速装置１００の第１の信号感知器２１３は、信号変換器２１１から伝達された第１の演算入力信号（ｃｆ）に対する第１のゼロフラッグ信号（ｚｆｆ）及び第１のワンフラッグ信号（ｏｆｆ）を生成して（Ｓ３０１〜Ｓ３０５）、各々ルックアップテーブル２１７及びＰＥクラスター３００に伝達できる（Ｓ３０７）。
【００９２】
具体的には、第１の信号感知器２１３は、第１の演算入力信号に対応する第１のゼロフラッグ信号及び第１のワンフラッグ信号を生成するが、第１の演算入力信号の値が０（Zero）であれば、第１のゼロフラッグ信号のロジック値を第１の値、第１のワンフラッグ信号のロジック値を第２の値として生成できる。次に、第１の信号感知器２１３は、第１のゼロフラッグ信号はルックアップテーブル２１７に伝達でき、第１のワンフラッグ信号はＰＥクラスター３００に伝達できる。このとき、第１の演算入力信号が０でない場合、第１の信号感知器２１３は、第１のゼロフラッグ信号及び第１のワンフラッグ信号のロジック値を前記と反対に生成できる。例えば、第１の値は１（One）であり、第２の値は０（Zero）であり、これに限定されない。
【００９３】
次に、神経網加速装置１００の第２の信号感知器２１５は、信号変換器２１１から伝達された第２の演算入力信号（ｃｗ）に対する第２のゼロフラッグ信号（ｚｆｗ）及び第２のワンフラッグ信号（ｏｆｗ）を生成して（Ｓ３０９）、各々ルックアップテーブル２１７及びＰＥクラスター３００に伝達できる（Ｓ３１１）。
【００９４】
具体的には、第２の信号感知器２１５は、第２の演算入力信号に対応する第２のゼロフラッグ信号及び第２のワンフラッグ信号を生成するが、第２の演算入力信号値が０（Zero）であれば、第２のゼロフラッグ信号のロジック値を第１の値、第２のワンフラッグ信号のロジック値を第２の値として生成できる。第２の信号感知器２１５は、第２のゼロフラッグ信号をルックアップテーブル２１７に伝達でき、第２のワンフラッグ信号をＰＥクラスター３００に伝達できる。このとき、第２の演算入力信号が０でない場合、第２の信号感知器２１５は、第２のゼロフラッグ信号及び第２のワンフラッグ信号のロジック値を前記と反対に生成できる。例えば、第１の値は１（One）であり、第２の値は０（Zero）であり、これに限定されない。
【００９５】
次に、ルックアップテーブル２１７は、第１のゼロフラッグ信号及び第２のゼロフラッグ信号に対応する第３のゼロフラッグ信号をＰＥクラスター３００に出力できる（Ｓ３１３）。
【００９６】
図５に示されるように、ルックアップテーブル２１７は、第１のゼロフラッグ信号及び第２のゼロフラッグ信号のロジック値の少なくとも一つが第１の値であれば、第３のゼロフラッグ信号のロジック値を第１の値として出力し、残りは第２の値として出力できる。例えば、第１の値は１（One）であり、第２の値は０（Zero）であり、これに限定されない。
【００９７】
図１４は、本発明の実施例に係るスクラッチパッドリード及び演算処理手順を制御する方法を説明するためのフローチャートである。
【００９８】
以下において、図１１のステップＳ１０７をより具体的に説明する。
【００９９】
図１４に示されるように、神経網加速装置１００のＰＥクラスター３００は、信号感知器２００から伝達された演算入力信号、ゼロフラッグ信号及びワンフラッグ信号を各々スクラッチパッド３１０又はレジスタアレイ３３０に格納できる（Ｓ４０１）。
【０１００】
具体的には、神経網加速装置１００は、第１及び第２の演算入力信号（ｃｆ、ｃｗ）の各々を第１及び第２のスクラッチパッド３１１、３１３に格納し、ゼロフラッグ信号（ｚｆ）をゼロフラッグレジスタアレイ３３１に格納し、第１及び第２のワンフラッグ信号（ｏｆｆ、ｏｆｗ）を第１及び第２のワンフラッグレジスタアレイ３３３、３３５に格納できる。
【０１０１】
次に、神経網加速装置１００のＰＥコントローラ３５０は、優先的にレジスタアレイ３３０をチェックして、ゼロフラッグ信号又はワンフラッグ信号のロジック値が第１の値であるか否かを確認できる（Ｓ４０３、Ｓ４０５）。例えば、第１の値はロジック値１（One）である場合を意味し、これに限定されないことは当然である。
【０１０２】
ステップＳ４０５の確認結果、ゼロフラッグ信号又はワンフラッグ信号が感知される場合、神経網加速装置１００は、ゼロフラッグ信号のロジック値が第１の値であるか否かを確認できる（Ｓ４０７）。すなわち、神経網加速装置１００は、ゼロフラッグ信号又はワンフラッグ信号のロジック値が第１の値である場合、ゼロフラッグ信号又はワンフラッグ信号が感知されると判断するものである。
【０１０３】
ステップＳ４０７の確認結果、ゼロフラッグ信号のロジック値が第１の値である場合、神経網加速装置１００は、第１及び第２の演算入力信号を格納するスクラッチパッド３１０のリード、並びに前記第１及び第２の演算入力信号に対する演算を全部スキップできる（Ｓ４０９、Ｓ４１１）。
【０１０４】
ステップＳ４０７の確認結果、ゼロフラッグ信号のロジック値が第１の値でなく、ワンフラッグ信号等のロジック値の少なくとも一つが第１の値である場合、神経網加速装置１００は、スクラッチパッド３１０のリードアクセスを一部スキップし、乗算をスキップし、加算を遂行できる（Ｓ４１３、Ｓ４１５）。例えば、第１の値はロジック値１（One）である場合を意味し、これに限定されないことは当然である。
【０１０５】
具体的に、神経網加速装置１００は、ワンフラッグ信号等のロジック値の一つが第１の値である場合、該ワンフラッグ信号が発生したスクラッチパッド３１０のリードアクセスをスキップし、乗算をスキップし、加算を遂行できる。
【０１０６】
一方、ステップＳ４０５の確認結果、ゼロフラッグ信号又はワンフラッグ信号が感知されない場合、神経網加速装置１００は、スクラッチパッド３１０のリード及び演算動作を全部遂行できる（Ｓ４１７）。
【０１０７】
本実施例に係る神経網加速装置１００は、入力信号（Feature、Weight）に０が入力される場合、信号感知器２００によってゼロフラッグ信号のロジック値を1として生成し、ＰＥクラスター３００内のＭＵＸ３７５に伝達されるＭＵＸ選択信号（mux  selection  signal）をフィードバックループ経路（feedback  loop  path）を選択できるようにする。
【０１０８】
フィードバックループ経路が選択された場合、演算器３７０には、以前のクロックサイクルで演算した値と同じ値（フィードバックされた値）が入力されるため、演算器３７０内の値は変化しない。このような場合が１回発生する場合、信号入力に対するスイッチング周波数（switching  frequency）は１/２に低減され、各セルのダイナミック電流（dynamic  current）は１/２だけ低減される。ゼロフラッグ信号のロジック値が第１の値に２回連続入力される場合、信号入力に対するスイッチング周波数は１/３に低減され、ダイナミック電流は１/３だけ低減される。
【０１０９】
前述したように、本発明の実施例は、０値が多数生成されるローデータ（raw  data）であるほど、低電力（low-power）で動作できるという効果が期待でき、これに限定されない。
【０１１０】
本発明の属する技術分野における通常の技術者は、本発明がその技術的思想や必須特徴から逸脱しない範囲内において、他の具体的な形態で実施できるので、前述した実施例は全ての面において例示的なものであり、限定的なものでないと理解しなければならない。本発明の範囲は前記詳細な説明よりも後述する特許請求の範囲により示され、特許請求の範囲の意味及び範囲、その等価概念から導出される全ての変更又は変形された形態が、本発明の範囲に含まれるものと解析しなければならない。
【符号の説明】
【０１１１】
１００  神経網加速装置
２００  信号感知器
２１１  信号変換器
２１３  第１の信号感知器
２１５  第２の信号感知器
２１７  ルックアップテーブル
３００  ＰＥクラスター
３１０  スクラッチパッド
３３０  レジスタアレイ
３５０  ＰＥコントローラ
３７０  演算器
【図１】
2020155090.tif 000003
【図２】
2020155090.tif 000004
【図３】
2020155090.tif 000005
【図４】
2020155090.tif 000006
【図５】
2020155090.tif 000007
【図６】
2020155090.tif 000008
【図７】
2020155090.tif 000009
【図８】
2020155090.tif 000010
【図９】
2020155090.tif 000011
【図１０】
2020155090.tif 000012
【図１１】
2020155090.tif 000013
【図１２】
2020155090.tif 000014
【図１３】
2020155090.tif 000015
【図１４】
2020155090.tif 000016