JP7707977B2 - ニューラルネットワーク演算装置 - Google Patents
ニューラルネットワーク演算装置Info
- Publication number
- JP7707977B2 JP7707977B2 JP2022047092A JP2022047092A JP7707977B2 JP 7707977 B2 JP7707977 B2 JP 7707977B2 JP 2022047092 A JP2022047092 A JP 2022047092A JP 2022047092 A JP2022047092 A JP 2022047092A JP 7707977 B2 JP7707977 B2 JP 7707977B2
- Authority
- JP
- Japan
- Prior art keywords
- clock
- neural network
- processor elements
- main controller
- processing
- 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.)
- Active
Links
Landscapes
- Power Sources (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
Description
(第1の実施の形態)
図1は、第1の実施の形態のニューラルネットワーク演算装置10を含むLSIを表した図である。
10は、本実施の形態のニューラルネットワーク演算装置である。
11は、SOC1全体にクロックを供給するクロックジェネレータである。該クロックジェネレータは、ニューラルネットワーク演算装置10にもクロックを供給する。本クロックは、設計によっては1種類の周波数を供給する場合もあるし、複数種類の周波数のクロックを供給する場合もある。本実施の形態においては、簡単のため1種類のクロックを供給する場合について説明するが、本発明は複数種類のクロックにおいても実現可能である。
101はメインコントローラである。メインコントローラ101は、ニューラルネットワーク演算装置10全体の処理シーケンスや、入出力データの管理、後述のプロセッサエレメントに対する動作要求を制御するモジュールである。加えて、メインコントローラ101はニューラルネットワーク演算装置10の動作状態の情報に基づいて電力制御も行う。
第2の実施の形態のニューラルネットワーク演算装置の基本的な構成は、第1の実施の形態のニューラルネットワーク演算装置と同じである。第2の実施の形態では、第1の実施の形態に対して、消費電力の上昇をさらに穏やかにする。
図6は、第3の実施の形態のニューラルネットワーク演算装置を含むLSIを表した図である。
60は、本実施の形態のニューラルネットワーク演算装置である。
61は、ニューラルネットワーク演算装置60全体にクロックを供給するクロックジェネレータである。該クロックジェネレータ61は、ニューラルネットワーク演算装置60にもクロックを供給する。本クロックは、設計によっては1種類の周波数を供給する場合もあるし、複数種類の周波数のクロックを供給する場合もある。本実施の形態においては、簡単のため1種類のクロックを供給する場合について説明するが、本発明は複数種類のクロックにおいても実現可能である。
601はメインコントローラである。メインコントローラ601は、ニューラルネットワーク演算装置60全体の処理シーケンスや、入出力データの管理、後述のプロセッサエレメントに対する動作要求を制御するモジュールである。加えて、メインコントローラ601は、ニューラルネットワーク演算装置60の動作状態の情報に基づいて電力制御も行う。
図7は、第4の実施の形態のニューラルネットワーク演算装置を含むLSIの物理的構成の例を示した図である。一方で、図8は、LSIの対応する論理構造を表した図である。各内部モジュールについて、図8を用いて説明する。
80は、第4の実施の形態のニューラルネットワーク演算装置である。
81は、SOC8全体にクロックを供給するクロックジェネレータである。該クロックジェネレータはニューラルネットワーク演算装置80にもクロックを供給する。本クロックは、設計によっては1種類の周波数を供給する場合もあるし、複数種類の周波数のクロックを供給する場合もある。本実施の形態においては、簡単のため1種類のクロックを供給する場合について説明するが、本発明は、複数種類のクロックにおいても実現可能である。
801は、メインコントローラである。メインコントローラ801は、ニューラルネットワーク演算装置80全体の処理シーケンスや、入出力データの管理、後述のプロセッサエレメントに対する動作要求を制御するモジュールである。加えて、メインコントローラ801はニューラルネットワーク演算装置80の動作状態の情報に基づいて電力制御も行う。
図9は、第5の実施の形態のニューラルネットワーク演算装置を含むLSIを表した図である。上記した実施の形態では、演算の起動時にクロックの供給開始タイミングを遅延させる構成について説明したが、本実施の形態では、診断回路での電力消費を利用することで、ニューラルネットワーク演算装置の電力消費の変動を抑制する例について説明する。
90は、本実施の形態のニューラルネットワーク演算装置である。
91はSOC9全体にクロックを供給するクロックジェネレータである。該クロックジェネレータ91は、ニューラルネットワーク演算装置90にもクロックを供給する。本クロックは、設計によっては1種類の周波数を供給する場合もあるし、複数種類の周波数のクロックを供給する場合もある。本実施の形態においては、簡単のため1種類のクロックを供給する場合について説明するが、本発明は複数種類のクロックにおいても実現可能である。
901は、メインコントローラである。メインコントローラ901はニューラルネットワーク演算装置90全体の処理シーケンスや、入出力データの管理、後述のプロセッサエレメントに対する動作要求を制御するモジュールである。加えて、メインコントローラ901はニューラルネットワーク演算装置90の動作状態の情報に基づいて電力制御も行う。
第6の実施の形態のニューラルネットワーク演算装置の基本的な構成は、第5の実施の形態のニューラルネットワーク演算装置50と同じである。第6の実施の形態のニューラルネットワーク演算装置は、第5の実施の形態のニューラルネットワーク演算装置90において、診断回路の起動数を変えることで電力を順次増加させる。
第7の実施の形態のニューラルネットワーク演算装置の基本的な構成は、第5の実施の形態のニューラルネットワーク演算装置90と同じである(図9参照)。第7の実施の形態では、診断回路の起動数を、ニューラルネットワーク処理の状態に応じて変化させることで電力を一定化する。
第8の実施の形態のニューラルネットワーク演算装置の基本的な構成は、第5の実施の形態のニューラルネットワーク演算装置50と同じである。上記した実施の形態においては、ニューラルネットワーク演算装置の演算の起動時に、一斉にクロック供給を開始することに伴う電力変動の抑制に着目して説明してきたが、電力変動はクロック供給を停止する場合にも起こり得る。
図13は、第9の実施の形態のニューラルネットワーク演算装置の構成を示す図である。上記した実施の形態では、クロック供給の単位がプロセッサエレメントであるとして説明してきたが、本実施の形態では、電力消費の変動を抑制する更にきめ細かい制御について説明する。
101 メインコントローラ、102 クロックコントローラ、
103 アクティベーションメモリ、104 プロセッシングエレメント、
201~204 Enable信号、205~208 クロック信号、
401~404 Enable信号、405~408 クロック信号、
6 SOC、60 ニューラルネットワーク演算装置、61 クロックジェネレータ、
601 メインコントローラ、602 クロックコントローラ、
603 アクティベーションメモリ、604 プロセッシングエレメント、
605~609 グループ、
8 SOC、80 ニューラルネットワーク演算装置、81 クロックジェネレータ、
801 メインコントローラ、802 クロックコントローラ、
803 アクティベーションメモリ、804 プロセッシングエレメント、
805~807 グループ、
9 SOC、90 ニューラルネットワーク演算装置、91 クロックジェネレータ、
901 メインコントローラ、902 クロックコントローラ、
903 アクティベーションメモリ、904 プロセッシングエレメント、
905 診断回路、
13 SOC、130 ニューラルネットワーク演算装置、
131 クロックジェネレータ、
1301 メインコントローラ、1302 クロックコントローラ、
1303 アクティベーションメモリ、1304 プロセッシングエレメント、
13041 演算部、13042 データ転送部。
Claims (9)
- ニューラルネットワーク処理を行うニューラルネットワーク演算装置(10)であって、
アレイ状に配置された複数のプロセッサエレメント(104)と、
前記プロセッサエレメントに対して供給する入力アクティベーションデータを記憶するアクティベーションメモリ(103)と、
前記プロセッサエレメントのそれぞれの動作を制御するメインコントローラ(101)と、
を備え、
クロックジェネレータのクロック線はアレイ状に配列されたプロセッサエレメントの端点から放射状にプロセッサエレメント(604)を論理的にまとめたグループ(605~609)を形成したうえで、該グループのそれぞれに独立にクロック線が接続され、
前記メインコントローラ(601)は、演算処理を放射状に接続された前記グループごとに起動するとともにクロックジェネレータ(61)の当該プロセッサエレメントのグループへのクロック供給を指示し、ニューラルネットワーク演算のためのデータの供給に同期して、前記プロセッサエレメントの端点から順次クロックを供給するニューラルネットワーク演算装置。 - ニューラルネットワーク処理を行うニューラルネットワーク演算装置(10)であって、
アレイ状に配置された複数のプロセッサエレメント(104)と、
前記プロセッサエレメントに対して供給する入力アクティベーションデータを記憶するアクティベーションメモリ(103)と、
前記プロセッサエレメントのそれぞれの動作を制御するメインコントローラ(101)と、
を備え、
前記各プロセッサエレメントまたは前記メインコントローラのいずれか一方もしくは両方が演算検査処理機能を備え、
前記メインコントローラは、クロックジェネレータ(11)から供給されるクロックをそれぞれのプロセッサエレメントに供給するタイミングを制御し、かつ、前記プロセッサエレメントに対して演算処理と演算検査処理を選択的に実行指示するニューラルネットワーク演算装置。 - ニューラルネットワーク処理を行うニューラルネットワーク演算装置(10)であって、
アレイ状に配置された複数のプロセッサエレメント(104)と、
前記プロセッサエレメントに対して供給する入力アクティベーションデータを記憶するアクティベーションメモリ(103)と、
前記プロセッサエレメントのそれぞれの動作を制御するメインコントローラ(101)と、
を備え、
前記メインコントローラ(101)は、クロックジェネレータ(11)から供給されるクロックをそれぞれのプロセッサエレメントに供給するタイミングを制御し、かつ、ニューラルネットワーク処理の開始前に、演算検査処理の実行数が漸進的に増加するように実行指示するニューラルネットワーク演算装置。 - ニューラルネットワーク処理を行うニューラルネットワーク演算装置(10)であって、
アレイ状に配置された複数のプロセッサエレメント(104)と、
前記プロセッサエレメントに対して供給する入力アクティベーションデータを記憶するアクティベーションメモリ(103)と、
前記プロセッサエレメントのそれぞれの動作を制御するメインコントローラ(101)と、
を備え、
前記メインコントローラ(101)は、クロックジェネレータ(11)から供給されるクロックをそれぞれのプロセッサエレメントに供給するタイミングを制御し、かつ、ニューラルネットワーク処理の種類を検出し、前記ニューラルネットワーク処理の種類に応じて予め規定された消費電力に基づいて、前記プロセッサエレメントの一部に対して演算検査処理を指示するニューラルネットワーク演算装置。 - アレイ状に配列されたプロセッサエレメントは、隣接するプロセッサエレメント間でメインコントローラからの命令を転送する機能を備え、
前記クロックジェネレータのクロック線は前記プロセッサエレメントを論理的にまとめたグループごとに接続され、
前記メインコントローラは、前記プロセッサエレメントへのニューラルネットワーク演算のためのデータの供給に同期して、前記グループごとに前記プロセッサエレメントにクロックを供給し、演算処理の起動からの時間の経過に伴ってクロックを供給する前記グループを増加させる請求項2~4のいずれか1項に記載のニューラルネットワーク演算装置。 - アレイ状に配列されたプロセッサエレメントは、隣接するプロセッサエレメント間でメインコントローラからの命令を転送する機能を備え、
前記クロックジェネレータのクロック線はプロセッサエレメントの列ごとに接続され、
前記メインコントローラは、演算処理を列ごとに起動するとともに、クロックジェネレータの当該列のクロック供給を指示し、ニューラルネットワーク演算のためデータの供給に同期して前記プロセッサエレメントの列の一端側から順次クロックを供給する請求項2~4のいずれか1項に記載のニューラルネットワーク演算装置。 - クロックジェネレータのクロック線は半導体シリコン上に配置配線されたプロセッサエレメント(804)の物理的配置に応じてプロセッサエレメントをまとめたグループを形成したうえで該グループのそれぞれに独立にクロック線が接続され、
前記メインコントローラは、演算処理を前記グループごとに起動するとともにクロックジェネレータの当該プロセッサエレメントのクロック供給を指示し、半導体シリコン上の電力消費が均等になるように順次クロックを供給する請求項2~4のいずれか1項に記載のニューラルネットワーク演算装置。 - 前記メインコントローラは、ニューラルネットワーク処理の進行状態を検出する機能を備え、ニューラルネットワーク処理の進行状態によって、クロック供給を継続するか、クロックを停止するかを決定する請求項1~7のいずれか1項に記載のニューラルネットワーク演算装置。
- 前記プロセッサエレメントは、各々が異なる機能を実行する複数の処理部を有し、各処理部に独立にクロックを供給可能な構成を有し、
前記メインコントローラは、演算処理の起動時に各プロセッサエレメントの複数の処理部に対する起動タイミングを個別に制御し、段階的に前記プロセッサエレメントを起動する請求項1~8のいずれか1項に記載のニューラルネットワーク演算装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022047092A JP7707977B2 (ja) | 2022-03-23 | 2022-03-23 | ニューラルネットワーク演算装置 |
| JP2025077759A JP2025114723A (ja) | 2022-03-23 | 2025-05-08 | ニューラルネットワーク演算装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022047092A JP7707977B2 (ja) | 2022-03-23 | 2022-03-23 | ニューラルネットワーク演算装置 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2025077759A Division JP2025114723A (ja) | 2022-03-23 | 2025-05-08 | ニューラルネットワーク演算装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023140990A JP2023140990A (ja) | 2023-10-05 |
| JP7707977B2 true JP7707977B2 (ja) | 2025-07-15 |
Family
ID=88206581
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022047092A Active JP7707977B2 (ja) | 2022-03-23 | 2022-03-23 | ニューラルネットワーク演算装置 |
| JP2025077759A Pending JP2025114723A (ja) | 2022-03-23 | 2025-05-08 | ニューラルネットワーク演算装置 |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2025077759A Pending JP2025114723A (ja) | 2022-03-23 | 2025-05-08 | ニューラルネットワーク演算装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (2) | JP7707977B2 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN121511148A (zh) | 2023-07-14 | 2026-02-10 | 软银集团股份有限公司 | 控制系统 |
| CN117829231A (zh) * | 2023-12-29 | 2024-04-05 | 北京地平线信息技术有限公司 | 神经网络处理器处理神经网络特征图的方法、装置和设备 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006048467A (ja) | 2004-08-06 | 2006-02-16 | Seiko Epson Corp | 半導体集積回路 |
| JP2006065471A (ja) | 2004-08-25 | 2006-03-09 | Fuji Xerox Co Ltd | 半導体集積回路およびその節電制御方法および節電制御プログラム |
| JP2006079505A (ja) | 2004-09-13 | 2006-03-23 | Matsushita Electric Ind Co Ltd | 半導体装置のクロック制御装置 |
| JP2007233718A (ja) | 2006-03-01 | 2007-09-13 | Canon Inc | 制御装置及び半導体集積回路 |
| JP2009037335A (ja) | 2007-07-31 | 2009-02-19 | Toshiba Corp | 電源管理装置及び電源管理方法 |
| WO2021204435A1 (en) | 2020-04-07 | 2021-10-14 | International Business Machines Corporation | Neural network weight distribution from a grid of memory elements |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08202468A (ja) * | 1995-01-27 | 1996-08-09 | Hitachi Ltd | マルチプロセッサシステム |
| JP4711287B2 (ja) * | 2005-04-13 | 2011-06-29 | ルネサスエレクトロニクス株式会社 | 半導体集積回路装置 |
| JP7135941B2 (ja) * | 2019-03-01 | 2022-09-13 | コニカミノルタ株式会社 | 放射線撮影装置 |
-
2022
- 2022-03-23 JP JP2022047092A patent/JP7707977B2/ja active Active
-
2025
- 2025-05-08 JP JP2025077759A patent/JP2025114723A/ja active Pending
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006048467A (ja) | 2004-08-06 | 2006-02-16 | Seiko Epson Corp | 半導体集積回路 |
| JP2006065471A (ja) | 2004-08-25 | 2006-03-09 | Fuji Xerox Co Ltd | 半導体集積回路およびその節電制御方法および節電制御プログラム |
| JP2006079505A (ja) | 2004-09-13 | 2006-03-23 | Matsushita Electric Ind Co Ltd | 半導体装置のクロック制御装置 |
| JP2007233718A (ja) | 2006-03-01 | 2007-09-13 | Canon Inc | 制御装置及び半導体集積回路 |
| JP2009037335A (ja) | 2007-07-31 | 2009-02-19 | Toshiba Corp | 電源管理装置及び電源管理方法 |
| WO2021204435A1 (en) | 2020-04-07 | 2021-10-14 | International Business Machines Corporation | Neural network weight distribution from a grid of memory elements |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2023140990A (ja) | 2023-10-05 |
| JP2025114723A (ja) | 2025-08-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2025114723A (ja) | ニューラルネットワーク演算装置 | |
| Negrini et al. | Fault tolerance techniques for array structures used in supercomputing | |
| US20070033369A1 (en) | Reconfigurable integrated circuit device | |
| US20050104653A1 (en) | Multiple circuit blocks with interblock control and power conservation | |
| US11392535B2 (en) | Loading operands and outputting results from a multi-dimensional array using only a single side | |
| US20090282213A1 (en) | Semiconductor integrated circuit | |
| KR20220015813A (ko) | 딥러닝 연산 수행 방법 및 장치 | |
| JP4686065B2 (ja) | クロック制御装置およびクロック制御方法 | |
| US12242416B2 (en) | Systolic neural CPU processor | |
| CN116113905B (zh) | 多时钟控制 | |
| CN113656346A (zh) | 一种三维芯片及计算系统 | |
| US8972769B2 (en) | Data processing apparatus and control method for controlling clock frequency based on calculated frequency-to-response-time ratios | |
| JP4753895B2 (ja) | 遅延調整回路を有するアレイ型プロセッサ | |
| US8190856B2 (en) | Data transfer network and control apparatus for a system with an array of processing elements each either self- or common controlled | |
| CN112862079B (zh) | 一种流水式卷积计算架构设计方法及残差网络加速系统 | |
| US20040250047A1 (en) | Method and apparatus for a shift register based interconnection for a massively parallel processor array | |
| EP4571747A1 (en) | Computing-in-memory chip architecture, packaging method, and apparatus | |
| CN113515240A (zh) | 一种芯片计算器件及计算系统 | |
| US12353337B2 (en) | Methods and circuits for aggregating processing units and dynamically allocating memory | |
| JP7701296B2 (ja) | 半導体装置 | |
| CN215769709U (zh) | 一种芯片计算器件及计算系统 | |
| US11811401B2 (en) | Dual-mode operation of application specific integrated circuits | |
| JP5107152B2 (ja) | Cpu動作クロック同調式plcバスシステム | |
| US20250363071A1 (en) | Calculation device and data moving method | |
| JP2006048467A (ja) | 半導体集積回路 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20240201 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240610 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250221 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250311 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250508 |
|
| 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: 20250603 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250616 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7707977 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |