(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024003111
(43)【公開日】2024-01-11
(54)【発明の名称】データ計算システム
(51)【国際特許分類】
G06F 9/38 20180101AFI20231228BHJP
【FI】
G06F9/38 370C
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023188892
(22)【出願日】2023-11-02
(62)【分割の表示】P 2020546455の分割
【原出願日】2019-03-06
(31)【優先権主張番号】201810235312.9
(32)【優先日】2018-03-21
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】520011175
【氏名又は名称】シー-スカイ マイクロシステムズ カンパニー,リミテッド
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】ヤン,チェンヤン
(72)【発明者】
【氏名】ラオ,マオユアン
(57)【要約】
【課題】プロセッサの実行効率を改善し、プロセッサの計算オーバヘッドを減らす枠組みを提供する。
【解決手段】
データ計算システムは、メモリ(11)と、プロセッサ(12)と、アクセラレータ(13)とを含み、メモリ(11)はプロセッサ(12)に通信可能に結合され、計算用データ及び計算結果を記憶するように構成され、データはプロセッサ(12)によって書き込まれ、プロセッサ(12)はアクセラレータ(13)に通信可能に結合され、アクセラレータ(13)を制御するように構成され、アクセラレータ(13)はメモリ(11)に通信可能に結合され、予め構成された制御情報に従ってメモリ(11)にアクセスし、計算プロセスを実施して計算結果をもたらし、計算結果をメモリ(11)に書き戻すように構成される。
【選択図】
図1
【特許請求の範囲】
【請求項1】
計算用データを記憶するように構成されるメモリと、
前記メモリに通信可能に結合され、前記メモリに前記データを書き込むように構成されるプロセッサと、
前記メモリ及び前記プロセッサに通信可能に結合され、前記プロセッサから制御情報を受信し、前記制御情報に従って前記メモリにアクセスし、計算結果をもたらす計算プロセスを実施し、前記計算結果を前記メモリに書き戻すように構成されるアクセラレータと
を含む、データ計算システム。
【請求項2】
前記アクセラレータが、
前記プロセッサに通信可能に結合され、命令を含む前記制御情報を記憶するように構成される制御レジスタモジュールと、
前記メモリに通信可能に結合され、前記制御情報に従って前記メモリにアクセスし、前記計算プロセスを実施し、前記計算結果を前記メモリに書き戻すように構成される計算モジュールと
を含む、請求項1に記載のデータ計算システム。
【請求項3】
前記制御レジスタモジュール内に記憶される前記制御情報が、前記計算用データのための開始アドレス、オペランドの数、計算方式、前記計算結果のためのライトバックアドレス、及び計算イネーブルフラグを含む、請求項2に記載のデータ計算システム。
【請求項4】
前記計算方式が、乗累算演算、指数関数、シグモイド関数、正規化線形関数、又はソフトマックス関数のうちの1つを含む、請求項3に記載のデータ計算システム。
【請求項5】
前記計算イネーブルフラグが有効にされたことを検出した後、前記計算モジュールが前記開始アドレス及び前記オペランドの数に従って前記メモリから前記データを読み出し、前記計算方式に従って前記計算プロセスを実施し、前記ライトバックアドレスに従って前記計算結果を前記メモリに書き戻すように更に構成される、請求項3又は4に記載のデータ計算システム。
【請求項6】
前記計算モジュールは、前記計算プロセスが完了した後で前記計算イネーブルフラグをリセットするように構成される、請求項5に記載のデータ計算システム。
【請求項7】
前記計算モジュールが、
結果を生成するために乗累算演算を実行するように構成される乗累算ユニット
を含む、請求項4乃至6の何れか一項に記載のデータ計算システム。
【請求項8】
前記計算モジュールが、
入力データ又は前記乗累算ユニットからの前記結果に対して正規化線形関数を実行するように構成される正規化線形計算ユニットと、
前記乗累算ユニットからの前記結果又は前記入力データを前記正規化線形計算ユニットへのデータ入力として選択するように構成される第1のマルチプレクサと
を含む、請求項7に記載のデータ計算システム。
【請求項9】
前記計算モジュールが、
前記乗累算ユニット又は前記正規化線形計算ユニットからの前記結果を前記計算結果として選択するように構成される第2のマルチプレクサ
を含む、請求項8に記載のデータ計算システム。
【請求項10】
前記メモリ内に記憶される前記データが前記計算プロセス中に更新されない、請求項1乃至9の何れか一項に記載のデータ計算システム。
【請求項11】
外部プロセッサに通信可能に結合され、前記外部プロセッサから制御情報を受信するように構成される制御レジスタモジュールと、
前記外部プロセッサに関連する外部メモリに通信可能に結合され、前記制御情報に従って前記外部メモリにアクセスし、計算結果をもたらす計算プロセスを実施し、前記計算結果を前記外部メモリに書き戻すように構成される計算モジュールと
を含む、アクセラレータ。
【請求項12】
前記制御情報が、前記計算用データのための開始アドレス、オペランドの数、計算方式、前記計算結果のためのライトバックアドレス、及び計算イネーブルフラグを含む、請求項11に記載のアクセラレータ。
【請求項13】
前記計算方式が、乗累算演算、指数関数、シグモイド関数、正規化線形関数、又はソフトマックス関数のうちの1つを含む、請求項12に記載のアクセラレータ。
【請求項14】
前記計算イネーブルフラグが有効にされたことを検出した後、前記計算モジュールが前記開始アドレス及び前記オペランドの数に従って前記外部メモリから前記データを読み出し、前記計算方式に従って前記計算プロセスを実施し、前記ライトバックアドレスに従って前記計算結果を前記外部メモリに書き戻すように更に構成される、請求項12又は13に記載のアクセラレータ。
【請求項15】
前記計算モジュールは、前記計算プロセスが完了した後で前記計算イネーブルフラグをリセットするように構成される、請求項14に記載のアクセラレータ。
【請求項16】
前記計算モジュールが、
結果を生成するために乗累算演算を実行するように構成される乗累算ユニット
を含む、請求項13乃至15の何れか一項に記載のアクセラレータ。
【請求項17】
前記計算モジュールが、
入力データ又は前記乗累算ユニットからの前記結果に対して正規化線形関数を実行するように構成される正規化線形計算ユニットと、
前記乗累算ユニットからの前記結果又は前記入力データを前記正規化線形計算ユニットへのデータ入力として選択するように構成される第1のマルチプレクサと
を含む、請求項16に記載のアクセラレータ。
【請求項18】
前記計算モジュールが、
前記乗累算ユニット又は前記正規化線形計算ユニットからの前記結果を前記計算結果として選択するように構成される第2のマルチプレクサ
を含む、請求項17に記載のアクセラレータ。
【請求項19】
前記メモリ内に記憶される前記データが前記計算プロセス中に更新されない、請求項11乃至18の何れか一項に記載のアクセラレータ。
【請求項20】
データ計算システムのアクセラレータによって実行されるデータ計算方法であって、
計算用データのための開始アドレス、計算方式、及びライトバックアドレスを前記データ計算システムのプロセッサから前記データ計算システムの前記アクセラレータによって受信すること、
前記開始アドレスに従って、前記プロセッサに結合されるメモリに前記アクセラレータによってアクセスすること、
前記計算方式に従って前記データに対して計算プロセスを実行して計算結果をもたらすこと、及び
前記ライトバックアドレスに従って前記計算結果を前記メモリに書き込むこと
を含む、データ計算方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
[1] 本開示は、参照によりその全体を本明細書に援用する、2018年3月21日に出願された中国特許出願第201810235312.9号の優先権の利益を主張する。
【背景技術】
【0002】
背景
[2] 人工知能(AI)技術の発展と共に、計算能力及び計算速度はAIの分野で不可欠な役割を果たしている。従来の計算の実装方法は次の通りである:プロセッサがバス経由でメモリにアクセスしてデータを読み出し、結果を得るために計算を行い、次いで、計算結果をバス経由でメモリに書き戻す。従来の計算の実装方法での1つの問題はプロセッサが大量のバス資源を占有することであり、それはプロセッサが計算中に絶えずメモリにアクセスする必要があるからである。プロセッサの実行効率が悪影響を受ける。
【発明の概要】
【課題を解決するための手段】
【0003】
開示の概要
[3] 本開示は、メモリと、プロセッサと、アクセラレータとを含むデータ計算システムを提供する。メモリはプロセッサに通信可能に結合され、計算用データを記憶するように構成され、データはプロセッサによって書き込まれる。プロセッサはアクセラレータに通信可能に結合され、アクセラレータを制御するように構成される。アクセラレータはメモリに通信可能に結合され、予め構成された制御情報に従ってメモリにアクセスし、データの計算を実施し、計算結果をメモリ内に書き戻すように構成される。本開示は、データ計算システムのアクセラレータ及びアクセラレータによって実行される方法も提供する。
【図面の簡単な説明】
【0004】
図面の簡単な説明
【
図1】[4]本開示の一部の実施形態による例示的なデータ計算システムの概略図である。
【
図2】[5]本開示の一部の実施形態による例示的なアクセラレータの概略図である。
【
図3】[6]本開示の一部の実施形態による例示的な計算モジュールの概略図である。
【
図4】[7]本開示の一部の実施形態による、例示的な32チャネル8x8乗累算データ記憶形式及び計算プロセスの図である。
【
図5】[8]本開示の一部の実施形態による、例示的な4チャネル16x16乗累算データ記憶形式及び計算プロセスの図である。
【
図6】[9]本開示の一部の実施形態による、指数関数、ソフトマックス関数、及びシグモイド関数のための例示的なデータ記憶形式及び計算プロセスの図である。
【発明を実施するための形態】
【0005】
詳細な説明
[10] 本開示の実施形態の目的、技術的解決策、及び利点をより明確にするために、本開示の実施形態における技術的解決策を本開示の実施形態において添付図面を参照して以下で説明する。当然ながら、記載する実施形態は本開示の実施形態の全てではなく一部に過ぎない。本開示の実施形態に基づき、創造的な取り組みなしに当業者が得る他の全ての実施形態が本開示の保護範囲に含まれるものとする。
【0006】
[11] 本開示で示すデータ計算システムはプロセッサの実行効率を改善し、プロセッサの計算オーバヘッドを減らすことができる。本開示の一部の実施形態で示すデータ計算システムは、元のメモリ及びプロセッサに基づいてアクセラレータを追加する。プロセッサはバスを使用してアクセラレータを制御し、アクセラレータはメモリにアクセスし、データの計算を実行し、計算を完了した後で計算結果をメモリに書き戻す。従来の構造と比較し、プロセッサはアクセラレータを制御し、具体的なデータの計算はアクセラレータによって完了される。計算プロセスはアクセラレータによって独立に実行され、プロセッサの計算ユニットもバス資源も占有しない。アクセラレータが計算プロセスを実行している間プロセッサは他のイベントを処理することができ、アクセラレータの計算性能が悪影響を受けることはない。従ってプロセッサの実行効率が改善され、プロセッサの計算オーバヘッドが低減され、データの計算に費やされる時間も短縮される。
【0007】
[12] 本開示の実施形態はデータ計算システムを提供する。
図1は、本開示の一部の実施形態による例示的なデータ計算システムの概略図である。
図1に示すように、データ計算システムはメモリ11と、プロセッサ12と、アクセラレータ13とを含む。
【0008】
[13] メモリ11はプロセッサ12に通信可能に結合され、計算用データを記憶するように構成される。全ての計算用データはプロセッサ12によってメモリ11内に書き込まれる。
【0009】
[14] プロセッサ12はアクセラレータ13に通信可能に結合され、アクセラレータ13を制御するように構成される。
【0010】
[15] アクセラレータ13はメモリ11に通信可能に結合され、予め構成された制御情報に従ってメモリ11にアクセスし、データ計算プロセスを実施し、計算結果をメモリ11に書き戻すように構成される。
【0011】
[16] 一部の実施形態では、データ計算プロセスを実行するとき、本開示の実施形態で示すデータ計算システムのプロセッサ12はアクセラレータ13を制御するがデータ計算プロセスは実行しない。データ計算プロセスはアクセラレータ13によって完了される。従って、計算プロセスの間プロセッサ12はメモリ11にアクセスする必要がなく、従ってバスを占有せず、それによりバスの利用率を改善する。同時に、アクセラレータ13がデータの計算を実行するときプロセッサ12は他のイベントを処理することができ、従ってプロセッサの利用率も改善される。加えて、アクセラレータ13は計算のために任意の種類のメモリに結合することができる。
【0012】
[17] 加えて、本開示の一部の実施形態を使用してwake-on-voiceアルゴリズムの実験的検証を行うことができる。従来のシステムでは、同じwake-on-voiceアルゴリズムで処理速度を196MCPS(Millions of Cycles Per Second:100万サイクル/秒)に保つ必要があることを実験データの結果が示している。本開示では、アクセラレータ13を使用して処理速度が90MCPSに達し得る。性能を約55%改善することができる。
【0013】
[18]
図2は、本開示の一部の実施形態による例示的なアクセラレータの概略図である。
図2に示すように、アクセラレータ13は制御レジスタモジュール131及び計算モジュール132を含む。
【0014】
[19] 制御レジスタモジュール131はプロセッサ12に通信可能に結合され、制御情報を記憶するように構成される。制御情報は、命令を届けるためのバスを使用してプロセッサ12によって予め構成される。
【0015】
[20] 計算モジュール132はメモリ11に通信可能に結合され、制御情報に従ってメモリ11にアクセスし、データ計算を実施し、計算結果をメモリ11に書き戻すように構成される。
【0016】
[21] 一部の実施形態では、制御情報が計算用データのための開始アドレス、オペランドの数、計算方式、計算結果のためのライトバックアドレス、及び計算イネーブルフラグを含む。計算方式は、乗累算演算、指数関数、シグモイド関数、正規化線形(ReLU)関数、及びソフトマックス関数を含む。換言すれば、計算モジュール132は乗累算演算、指数関数、シグモイド関数、正規化線形(ReLU)関数、及びソフトマックス関数を実装することができる。但し本開示の計算方式は上記の数種類に限定されず、計算方式はソフトウェアアプリケーションの実際の要件に従ってカスタマイズすることができる。実行中、その使用が柔軟且つ便利であるように、プロセッサによって計算方式を制御することができる。更に、チップ面積を最適化する効果を実現するために、計算方式のハードウェア実装を実際の要件に従って追加し又は削除することができる。
【0017】
[22] 計算イネーブルフラグが1だと検出した後、計算モジュール132は、計算用データのための開始アドレスに従ってメモリ11から逐次的に計算用データとオペランドの数とを読み出し、計算方式に従ってデータの計算を実行し、計算結果のためのライトバックアドレスに従って計算結果をメモリ11に書き戻す。同時に、計算モジュール132は計算イネーブルフラグをリセットする。計算イネーブルフラグが0だと読み取った後、プロセッサ12は次の計算を開始することができ、又は計算結果をメモリ11から読み出すことができる。
【0018】
[23]
図3は、本開示の一部の実施形態による例示的な計算モジュールの概略図である。
図3に示すように、乗累算演算又は正規化線形(ReLU)関数を実装する場合、計算モジュール132は乗累算ユニット1321、正規化線形(ReLU)計算ユニット1322、第1のマルチプレクサ1323、及び第2のマルチプレクサ1324を含む。
【0019】
[24] 乗累算ユニット1321は、2チャネル16ビット乗算器13211、2チャネル8ビット乗算器13212、累算器13214、及びレジスタ13213を含む。乗累算ユニット1321は、2チャネル16ビット乗算器13211及び2チャネル8ビット乗算器13212を使用して並列計算を実行し、乗累算計算された結果をレジスタ13213内に記憶するように構成される。
【0020】
[25] 正規化線形(ReLU)計算ユニット1322は、入力データ1320又は乗累算ユニット1321からの乗累算計算された結果に対して正規化線形(ReLU)関数の計算を実行するように構成される。
【0021】
[26] 第1のマルチプレクサ1323は、ReLU_bypass信号に従い、乗累算ユニット1321からの乗累算計算された結果又は入力データ1320を正規化線形(ReLU)計算ユニット1322へのデータ入力として選択するように構成される。
【0022】
[27] 第2のマルチプレクサ1324は、ReLU_bypass信号に従い、乗累算ユニット1321からの乗累算計算された結果に対して正規化線形(ReLU)関数の計算を実行するかどうかを選択するように構成される。
【0023】
[28]
図4は、本開示の一部の実施形態による、例示的な32チャネル8x8データ記憶形式及び計算プロセスの図である。32チャネル8x8乗累算計算を実行するために、
図4に従って計算プロセスを以下に示す。
【0024】
[29] プロセッサ12がデータA及びデータBをバス経由でメモリ11内に書き込み、その後の計算プロセスが完了するまでデータは書き込まれない。計算プロセスの完了後に計算用データを置換する必要がある場合、プロセッサ12が計算用データを書き換える。
【0025】
[30] 計算用データがメモリ11内に書き込まれた後、プロセッサ12は、アクセラレータ13の制御レジスタモジュール131、データAのための開始アドレス(DATA0_Start_addr)、データBのための開始アドレス(DATA1_Start_addr)、及び計算結果のためのライトバックアドレス(Result_wb_addr)を構成する。
【0026】
[31] 次いでプロセッサ12は、計算方式を32チャネル8x8乗累算計算(例えば
図4の計算)であるように構成し、オペランドの数を32に設定し、計算イネーブルフラグを1に設定する。
【0027】
[32] 計算イネーブルフラグが1だと検出した後、アクセラレータ13の計算モジュール132は計算プロセスを開始し、データAのための開始アドレス(DATA0_Start_addr)、データBのための開始アドレス(DATA1_Start_addr)、及びオペランドの数に従ってメモリ11から計算用データを読み出し、乗累算計算を実行する。
【0028】
[33] 計算が完了した後、計算結果がライトバックアドレス(Result_wb_addr)に従ってメモリ11内に書き戻され、計算イネーブルフラグがリセットされる。
【0029】
[34] 計算イネーブルフラグが0だと読み取った後、プロセッサ12は次の計算プロセスを開始することができ、又は計算結果をメモリ11から読み出すことができる。
【0030】
[35]
図5は、本開示の一部の実施形態による、例示的な4チャネル16x16乗累算データ記憶形式及び計算プロセスの図である。4チャネル16x16乗累算計算を実行するために、
図5に従って計算プロセスを以下に示す。
【0031】
[36] プロセッサ12がデータA及びデータBをバス経由でメモリ11内に書き込み、その後の計算プロセスが完了するまでデータは書き込まれない。計算プロセスの完了後に計算用データを置換する必要がある場合、プロセッサ12が計算用データを書き換える。
【0032】
[37] データがメモリ11内に書き込まれた後、プロセッサ12は、アクセラレータ13の制御レジスタモジュール131、データAのための開始アドレス(DATA0_Start_addr)、データBのための開始アドレス(DATA1_Start_addr)、及び計算結果のためのライトバックアドレス(Result_wb_addr)を構成する。
【0033】
[38] 次いでプロセッサ12は、計算方式を4チャネル16x16乗累算計算(例えば
図5の計算)であるように構成し、オペランドの数を4に設定し、計算イネーブルフラグを1に設定する。
【0034】
[39] 計算イネーブルフラグが1だと検出した後、アクセラレータ13の計算モジュール132は計算プロセスを開始し、データAのための開始アドレス(DATA0_Start_addr)、データBのための開始アドレス(DATA1_Start_addr)、及びオペランドの数に従ってメモリ11から計算用データを読み出し、乗累算計算を実行する。
【0035】
[40] 計算が完了した後、計算結果がライトバックアドレス(Result_wb_addr)に従ってメモリ11内に書き戻され、計算イネーブルフラグがリセットされる。
【0036】
[41] 計算イネーブルフラグが0だと読み取った後、プロセッサ12は次の計算プロセスを開始することができ、又は計算結果をメモリ11から読み出すことができる。
【0037】
[42]
図6は、本開示の一部の実施形態による、指数関数、ソフトマックス関数、及びシグモイド関数のための例示的なデータ記憶形式及び計算プロセスの図である。
図6の計算プロセスは、
図4及び
図5の乗累算計算プロセスと同様である。乗累算計算の代わりに、プロセッサ12は指数関数、ソフトマックス関数、又はシグモイド関数であるように計算方式を構成する。
【0038】
[43] 本開示の幾つかの具体的な実施形態を上記で説明したが、本開示の保護範囲はそれらの実施形態に限定されない。本開示によって開示する技術的範囲の中で当業者によって容易に考案され得る如何なる変更又は置換も本開示の保護範囲に含まれるものとする。従って、本開示を保護する保護範囲は特許請求の範囲の保護範囲に服するものとする。
【手続補正書】
【提出日】2023-11-17
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
計算用データを記憶するように構成されるメモリと、
前記メモリに通信可能に結合され、前記メモリに前記計算用データを書き込むように構成されるプロセッサと、
前記メモリ及び前記プロセッサに通信可能に結合され、前記プロセッサから制御情報を受信し、前記制御情報に従って前記メモリにアクセスし、計算結果をもたらす計算プロセスを実施し、前記計算結果を前記メモリに書き戻すように構成されるアクセラレータと
を含み、
前記計算プロセスは、前記アクセラレータによって前記プロセッサから独立に実行され、
前記制御情報が、前記計算用データのための開始アドレス、オペランドの数、計算方式、前記計算結果のためのライトバックアドレス、及び計算イネーブルフラグを含み、
前記計算イネーブルフラグが有効にされたことを検出した後、前記アクセラレータが前記開始アドレス及び前記オペランドの数に従って前記メモリから前記計算用データを読み出し、前記計算方式に従って前記計算プロセスを実施し、前記ライトバックアドレスに従って前記計算結果を前記メモリに書き戻すように構成される、データ計算システム。
【請求項2】
前記アクセラレータが、
前記プロセッサに通信可能に結合され、命令を含む前記制御情報を記憶するように構成される制御レジスタモジュールと、
前記メモリに通信可能に結合され、前記制御情報に従って前記メモリにアクセスし、前記計算プロセスを実施し、前記計算結果を前記メモリに書き戻すように構成される計算モジュールと
を含む、請求項1に記載のデータ計算システム。
【請求項3】
前記制御情報が前記制御レジスタモジュール内に記憶される、請求項2に記載のデータ計算システム。
【請求項4】
前記計算方式が、乗累算演算、指数関数、シグモイド関数、正規化線形関数、又はソフトマックス関数のうちの1つを含む、請求項1に記載のデータ計算システム。
【請求項5】
前記計算モジュールは、前記計算プロセスが完了した後で前記計算イネーブルフラグをリセットするように構成される、請求項2に記載のデータ計算システム。
【請求項6】
前記計算モジュールが、
結果を生成するために乗累算演算を実行するように構成される乗累算ユニット
を含む、請求項2に記載のデータ計算システム。
【請求項7】
前記計算モジュールが、
入力データ又は前記乗累算ユニットからの前記結果に対して正規化線形関数を実行するように構成される正規化線形計算ユニットと、
前記乗累算ユニットからの前記結果又は前記入力データを前記正規化線形計算ユニットへのデータ入力として選択するように構成される第1のマルチプレクサと
を含む、請求項6に記載のデータ計算システム。
【請求項8】
前記計算モジュールが、
前記乗累算ユニット又は前記正規化線形計算ユニットからの前記結果を前記計算結果として選択するように構成される第2のマルチプレクサ
を含む、請求項7に記載のデータ計算システム。
【請求項9】
前記メモリ内に記憶される前記計算用データが前記計算プロセス中に更新されない、請求項1に記載のデータ計算システム。
【請求項10】
外部プロセッサに通信可能に結合され、前記外部プロセッサから制御情報を受信するように構成される制御レジスタモジュールと、
前記外部プロセッサに関連する外部メモリに通信可能に結合され、前記制御情報に従って前記外部メモリにアクセスし、計算結果をもたらす計算プロセスを実施し、前記計算結果を前記外部メモリに書き戻すように構成される計算モジュールと
を含み、
前記制御情報が、計算用データのための開始アドレス、オペランドの数、計算方式、前記計算結果のためのライトバックアドレス、及び計算イネーブルフラグを含み、
前記計算イネーブルフラグが有効にされたことを検出した後、前記計算モジュールが前記開始アドレス及び前記オペランドの数に従って前記外部メモリから前記計算用データを読み出し、前記計算方式に従って前記計算プロセスを実施し、前記ライトバックアドレスに従って前記計算結果を前記外部メモリに書き戻すように更に構成される、アクセラレータ。
【請求項11】
前記計算方式が、乗累算演算、指数関数、シグモイド関数、正規化線形関数、又はソフトマックス関数のうちの1つを含む、請求項10に記載のアクセラレータ。
【請求項12】
前記計算モジュールは、前記計算プロセスが完了した後で前記計算イネーブルフラグをリセットするように構成される、請求項10に記載のアクセラレータ。
【請求項13】
前記計算モジュールが、
結果を生成するために乗累算演算を実行するように構成される乗累算ユニット
を含む、請求項10に記載のアクセラレータ。
【請求項14】
前記計算モジュールが、
入力データ又は前記乗累算ユニットからの前記結果に対して正規化線形関数を実行するように構成される正規化線形計算ユニットと、
前記乗累算ユニットからの前記結果又は前記入力データを前記正規化線形計算ユニットへのデータ入力として選択するように構成される第1のマルチプレクサと
を含む、請求項13に記載のアクセラレータ。
【請求項15】
前記計算モジュールが、
前記乗累算ユニット又は前記正規化線形計算ユニットからの前記結果を前記計算結果として選択するように構成される第2のマルチプレクサ
を含む、請求項14に記載のアクセラレータ。
【請求項16】
前記外部メモリ内に記憶される前記計算用データが前記計算プロセス中に更新されない、請求項10に記載のアクセラレータ。
【請求項17】
データ計算システムのアクセラレータによって実行されるデータ計算方法であって、
計算用データのための開始アドレス、オペランドの数、計算方式、及びライトバックアドレスを含む制御情報を、前記データ計算システムのプロセッサから前記データ計算システムの前記アクセラレータによって受信することであって、前記アクセラレータは、前記プロセッサから分離されていること、
前記開始アドレス及び前記オペランドの数に従って、前記プロセッサに結合される前記メモリに前記アクセラレータによってアクセスすることであって、前記アクセラレータは、前記メモリから分離されていること、
前記計算方式に従って前記計算用データに対して計算プロセスを実行して計算結果をもたらすことであって、前記計算プロセスは、前記アクセラレータによって前記プロセッサから独立に実行されること、及び
前記ライトバックアドレスに従って前記計算結果を前記メモリに書き込むこと
を含む、データ計算方法。
【請求項18】
前記アクセラレータが、
前記プロセッサに通信可能に結合され、命令を含む前記制御情報を記憶するように構成される制御レジスタモジュールと、
メモリに通信可能に結合され、前記制御情報に従って前記メモリにアクセスし、前記計算プロセスを実施し、前記計算結果を前記メモリに書き戻すように構成される計算モジュールと
を含む、請求項17に記載のデータ計算方法。
【請求項19】
前記計算モジュールが、
結果を生成するために乗累算演算を実行するように構成される乗累算ユニット
を含む、請求項17に記載のデータ計算方法。
【請求項20】
前記計算モジュールが、
入力データ又は前記乗累算ユニットからの前記結果に対して正規化線形関数を実行するように構成される正規化線形計算ユニットと、
前記乗累算ユニットからの前記結果又は前記入力データを前記正規化線形計算ユニットへのデータ入力として選択するように構成される第1のマルチプレクサと
を含む、請求項19に記載のデータ計算方法。
【外国語明細書】