TWI733305B - 晶片及基於神經網路電路的電流調整方法 - Google Patents
晶片及基於神經網路電路的電流調整方法 Download PDFInfo
- Publication number
- TWI733305B TWI733305B TW109101003A TW109101003A TWI733305B TW I733305 B TWI733305 B TW I733305B TW 109101003 A TW109101003 A TW 109101003A TW 109101003 A TW109101003 A TW 109101003A TW I733305 B TWI733305 B TW I733305B
- Authority
- TW
- Taiwan
- Prior art keywords
- circuit
- current
- neural network
- processor core
- instruction
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/28—Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
- G06F1/305—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations in the event of power-supply fluctuations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Power Sources (AREA)
Abstract
一種晶片,其包括:指令儲存單元、處理器核心、輸入電路、神經網路電路、複數個耗能電路以及開關電路。於晶片運作時,處理器核心在電流供電下依據複數個指令進行運算。同時,神經網路電路依據輸入電路所產生之表示時變的電流的數據流預測即將發生的電流的變化並輸出相應的控制訊號。開關電路在控制訊號的控制下選擇性將時脈提供給至少一耗能電路,以使接收到時脈的耗能電路在電流供電下依據時脈進行運算。因此,晶片能預測是否將有高耗電需求,並適時地預先啟動虛耗電流機制,藉以在不影響處理器核心的運算效能的前提下避免電壓過度下降。
Description
本發明是關於一種晶片及基於神經網路電路的電流調整方法,特別是適用於具有處理器核心之晶片。
系統單晶片(System on a chip,SOC)為整合多個功能元件之晶片,例如整合中央處理器、記憶體、邏輯元件、及類比元件之晶片。
系統單晶片運作時,由外部供給電源予系統單晶片,再由系統單晶片供電予其內部元件。在電子迴路中,當金屬導體的電流量有時變上的變化時,金屬導體本身會產生反向電動勢(即電壓)來抵抗電流的改變;此效應造成供電電壓會有瞬間下降的可能。而電壓瞬間下降則有可能造成電路異常。舉例來說,外部電源經由外部電路走線、晶片針腳、接合線(Bonding Wire)與電源焊墊(VDD Pad)等金屬導體所形成的供電路徑來供電給系統單晶片內部的數位訊號處理器(Digital signal processor,DSP)。此些金屬導體都會有前述的感應電動勢效應。因此,當DSP因瞬間增加運算量,其會在瞬間抽取大量電流,而此瞬間的電流差所造成的壓降有可能使DSP異常。尤其是,在DSP從低運算量瞬間轉高運算量時此現象會特別明顯。
在一實施例中,一種晶片,其包括:一指令儲存單元、一處理器核心、一輸入電路、一神經網路電路、複數個耗能電路、以及一開關電路。指令儲存單元用以儲存複數個指令。處理器核心耦接指令儲存單元,並用以在一電流供電下進行運算。於此,處理器核心包括:一控制電路以及一運算電路。控制電路耦接指令儲存單元,並用以依序讀取複數個指令。運算電路耦接控制電路,並用以依據控制電路所讀取的指令進行運算。輸入電路用以產生表示時變的電流的一數據流。其中,數據流包括複數個數據,此些數據分別對應複數個指令,且各數據表示處理器核心依據對應的指令進行運算時所消耗的電流。神經網路電路耦接輸入電路,且神經網路電路包括複數個函式及複數個參數。於此,神經網路電路用以依據數據流、函式及參數預測即將發生的電流的變化並輸出相應的控制訊號。開關電路耦接神經網路電路與耗能電路。開關電路用以在控制訊號的控制下選擇性將一時脈提供給至少一耗能電路,以使接收到時脈的耗能電路在電流供電下依據時脈進行運算。
在一實施例中,一種基於神經網路電路的電流調整方法,其包括:以一電流供應一處理器核心運作所需的電力;由處理器核心依序讀取複數個指令並依據控制電路所讀取的指令進行運算;產生表示時變的電流的一數據流;由一神經網路電路依據數據流預測即將發生的電流的變化;以及根據預測到的即將發生的電流的變化選擇性致能複數個耗能電路中之至少一者。其中,數據流包括複數個數據,複數個數據分別對應複數個指令,且各數據表示處理器核心依據對應的指令進行運算時所消耗的電流。於此,致能後的耗能電路是以電流供應運作所需的電力。
綜上所述,任一實施例之晶片及基於神經網路電路的電流調整方法,其能利用神經網路電路根據處理器核心的繁忙程度預測將有高耗電需求,進而啟動虛耗電流機制,藉以在不影響處理器核心的運算效能的前提下避免電壓過度下降。在一些實施例中,於預測到將有高耗電需求時,採取分階段致能耗能電路來逐步上升晶片所接收的外部電流,以防止瞬間電流差過大,進而預防電壓驟降。
10:晶片
110:處理器核心
112:控制電路
114:運算電路
114a:載入處理單元
114b:儲存處理單元
114c:加處理單元
114d:乘加處理單元
114e:浮加處理單元
116:指令焊墊
117:電源焊墊
120:記憶體
122:指令儲存單元
124:表格儲存單元
126:權重儲存單元
130:預測電流差單元
132:輸入電路
134:神經網路電路
140:虛耗電流單元
142:開關電路
144:耗能電路
150:電源針腳
152:供電線路
154:供電線路
CK:時脈
DS:數據流
CS:指令串
Sc:控制訊號
STORE:儲存指令
LOAD:載入指令
ADD:加指令
NOP:無操作指令
MAC32:乘加指令
圖1為一實施例之晶片的概要示意圖。
圖2為圖1之處理器核心與預測電流差單元之一示範例的示意圖。
參照圖1,在一些實施例中,晶片10包括一處理器核心110、一指令儲存單元122、一預測電流差單元130、以及一虛耗電流單元140。
處理器核心110耦接指令儲存單元122和預測電流差單元130。預測電流差單元130耦接在處理器核心110與虛耗電流單元140之間。
其中,處理器核心110包括一控制電路112以及一運算電路114。控制電路112經由處理器核心110的指令焊墊(Pad)116耦接處理器核心110外部的指令儲存單元122以及預測電流差單元130。此外,控制電路112更耦接處理器核心110內部的運算電路114。
預測電流差單元130包括一輸入電路132以及一神經網路電路134。輸入電路132耦接在處理器核心110與神經網路電路134之間,且神經網路電路134耦接在輸入電路132與虛耗電流單元140之間。神經網路
電路134包括多個函式及多個參數。
虛耗電流單元140包括一開關電路142以及複數個耗能電路144。開關電路142的控制端耦接神經網路電路134。開關電路142的輸入端耦接時脈。開關電路142的多個輸出端分別耦接耗能電路144。在一些實施例中,各耗能電路144可為由一個或多個邏輯閘所構成之邏輯電路。
指令儲存單元122儲存有複數個指令,例如:儲存指令(Store)、載入指令(Load)、無操作指令(No Operation,NOP)、加指令(ADD)、減指令、乘指令、除指令、乘加指令(Multiply Accumulate 32,MAC 32)、及浮加指令(float ADD)等。
晶片10運作時,由外部供給電流給晶片10,以供給晶片10內部元件運行所需之電力,如圖1所示。在圖1中,電力線以粗線示意。應能明瞭的,圖1中雖以晶片10接收到的來自外部的電流直接提供給內部元件為示意,但此供電方式非本發明之限制;依實際需求,晶片10所接收到的電流亦可經由調壓電路來提供給內部元件。
於此,處理器核心110在電流供電下進行運算,即執行程式。參照圖1及圖2,在處理器核心110執行程式期間,控制電路112依序從指令儲存單元122讀取複數個指令並且控制運算電路114,以使運算電路114依據控制電路112所讀取的指令進行運算。
於處理器核心110執行程式的同時,輸入電路132產生表示時變的電流的數據流DS,以供神經網路電路134基於此數據流DS執行預測模式。於此,輸入神經網路電路134的數據流DS包括多個數據,此些數據分別對應複數個指令,且各數據表示處理器核心110依據對應的指令進
行運算時所消耗的電流。換言之,輸入神經網路電路134的數據流DS中的各數據相當於處理器核心110為執行對應指令時所消耗的電流。並且,處理器核心110為執行指令當下所消耗的電流因應指令的複雜度及密集度(即相當於處理器核心110的運算量)而隨時間變化,因此輸入神經網路電路134的數據流DS則指示出處理器核心110所消耗的電流的變化。舉例來說,輸入神經網路電路134的數據流DS中的每一數據可為相對於最大消耗電流的指令執行時處理器核心110所消耗的電流,對應指令執行時處理器核心110的消耗電流的正規化百分比。換言之,最大消耗電流的指令執行時處理器核心110的消耗電流的正規化百分比為100%。在一範例中,假設「MAC64」執行時處理器核心110的消耗電流10μW為最大,因此MAC64對應的正規化百分比為100%。「ADD」執行時處理器核心110的消耗電流5μW。相對於「MAC64」執行時處理器核心110的消耗電流,「ADD」對應的正規化百分比則為50%。
在神經網路電路134的預測模式下,神經網路電路134依據輸入的數據流DS、其函式及其參數預測即將發生的電流的變化並輸出相應即將發生的電流的變化的控制訊號Sc至開關電路142的控制端。於此,開關電路142依據控制訊號Sc選擇性致能至少一耗能電路144,即在控制訊號Sc的控制下選擇性將時脈提供給至少一耗能電路144,以使接收到的時脈的耗能電路144在外部電流供電下依據接收到的時脈進行運算。
在一實施例中,輸入電路132可包括一查表電路。此查表電路耦接在處理器核心110與神經網路電路134之間。於控制電路112從指令儲存單元122讀取指令的同時,查表電路會擷取控制電路112所讀取的各
指令並以擷取到的各指令查表轉換成對應的數據。換言之,晶片10可更包括一表格儲存單元124,且輸入電路132耦接表格儲存單元124。表格儲存單元124儲存有一對照表(如下表一所示)。此對照表記錄各種指令與處理器核心110執行對應指令所消耗的電流量(即各指令對應的數據)。其中,電流量可以消耗電流的正規化百分比表示。在一些實施例中,可藉由電腦模擬來得到各種指令的電流量,進而預先生成指令與電流量的對照表。
於處理器核心110執行程式之前,查表電路從指令儲存單元122讀出對照表並載入其中。隨後,於查表電路於擷取到指令時,查表電路即可依據擷取到的指令的類型配合對照表將指令轉換成對應的處理器核心110消耗的電流量(即數據)並將轉換後的電流量饋入神經網路電路
134。
舉例來說,以圖2所示之指令串CS(即前述之程式之實現)為例。其中,運算電路114可包括複數指令處理單元,例如:載入處理單元114a、儲存處理單元114b、加處理單元114c、乘加處理單元114d、以及浮加處理單元114e等。各指令處理單元經由內部匯流排耦接控制電路112。載入處理單元114a用以依據載入指令LOAD載入資料。儲存處理單元114b用以依據儲存指令STORE將儲存資料儲存至資料儲存單元(圖未示)。加處理單元114c用以依據加指令ADD進行資料的加法運算。乘加處理單元114d用以依據乘加指令MAC32進行資料的乘加法運算。浮加處理單元114e用以依據浮加指令進行資料的浮加法運算。
於處理器核心110執行程式的期間,控制電路112從指令儲存單元122中讀取指令串CS中的第一個指令(即乘加指令MAC32),並控制乘加處理單元114d依據乘加指令MAC32對輸入資料進行乘加運算。此時,查表電路(即輸入電路132)擷取乘加指令MAC32並以乘加指令MAC32查詢表1所示之對照表以得到對應的數據(即「90%」)並饋入至神經網路電路134。接著,控制電路112再從指令儲存單元122中讀取指令串CS中的第二個指令(即加指令ADD),並控制加處理單元114c依據加指令ADD對輸入資料進行加運算。此時,查表電路擷取乘加指令MAC32並以加指令ADD查詢表1所示之對照表以得到對應的數據(即「50%」)並饋入至神經網路電路134。依此類推,直至完成指令串CS中的最後一個指令(即儲存指令STORE)。
換言之,於處理器核心110執行指令串CS的同時,輸入電路
132亦依序擷取指令串CS中的每個指令並轉換為對應的數據,以致輸入電路132饋入對應指令串CS的數據流DS至神經網路電路134。
在一些實施例中,神經網路電路134的函式可以長短期記憶(Long Short-Term Memory,LSTM)演算法實現。於此,神經網路電路134的輸入時階(time step)為第一數量的數據。其中,第一數量可為正整數,例如:50、100、200、300或更多等。換句話說,預測電流差單元130可以基於處理器核心110已執行或正在執行的第一數量的指令來預測在即將來臨的一既定時間內電流的變化,即處理器核心110將依序接續執行第二數量的指令時所消耗的電流的變化。其中,第二數量可為正整數,例如:1、2、3、4、5、、、10或更多等。舉例來說,預測電流差單元130可基於處理器核心110已執行或正在執行的100個指令預測處理器核心110將接續執行的5個指令(即第101~105個指令)時所消耗的電流的變化。
在一些實施例中,當神經網路電路134預測到的即將發生的電流的變化為在即將來臨的既定時間內電流的增加量大於既定閾值(即表示將有高瞬間電流差)時,神經網路電路134輸出指示導通時脈CK的控制訊號Sc給開關電路142,以致開關電路142在控制訊號Sc的控制下分階段提供時脈CK給耗能電路144。換言之,控制訊號Sc為時變的。
在一示範例中,控制訊號Sc可為0~N階。N為正整數且等於耗能電路144的總數。開關電路142包括多個開關,且此些開關分別對應耗能電路144。於此,開關的數量相等於耗能電路144的數量。各開關耦接在時脈CK與對應的耗能電路144之間,並且受控於控制訊號Sc,即開關的控制端耦接神經網路電路134的輸出。當神經網路電路134預測到即將
發生的電流的變化為在即將來臨的既定時間內電流的增加量不大於既定閾值(即表示即將執行的指令的運算程序不會造成高瞬間電流差)時,神經網路電路134輸出為「0階」的控制訊號Sc;此時,開關電路142中的開關在控制訊號Sc的控制下呈現全關狀態,因而斷開時脈CK與全部耗能電路144。當神經網路電路134預測到的即將發生的電流的變化為在即將來臨的既定時間內電流的增加量大於既定閾值(即表示將有高瞬間電流差)時,神經網路電路134輸出的控制訊號Sc逐漸由「1階」變化至「N階」;此時,開關電路142中的開關在控制訊號Sc的控制下逐漸切換為導通狀態,因而逐漸將時脈CK提供給耗能電路144。換言之,當控制訊號Sc為「1階」時,開關電路142將時脈CK提供給1個耗能電路144,並斷開其餘耗能電路144。當控制訊號Sc為「2階」時,開關電路142將時脈CK提供給2個耗能電路144,並斷開其餘耗能電路144。當控制訊號Sc為「3階」時,開關電路142將時脈CK提供給3個耗能電路144,並斷開其餘耗能電路144。依此類推,直到控制訊號Sc為「N階」時,開關電路142的開關則為全開狀態,以將時脈CK提供給全部的耗能電路144。在一些實施例中,於神經網路電路134輸出的控制訊號Sc逐漸由「1階」變化至「N階」的期間,神經網路電路134若預測到即將發生的電流的變化為在即將來臨的既定時間內電流的增加量不大於既定閾值,則神經網路電路134則改為輸出「0階」的控制訊號Sc。
在此實施例中,晶片10可更包括一電源針腳(Pin)150以及一供電線路152。供電線路152耦接在電源針腳150與處理器核心110的電源焊墊117之間。於晶片10運作時,電源針腳150接收來自晶片10外部
的電流,並經由供電線路152流至處理器核心110。在一些實施例中,供電線路152可為一接合線(Bonding Wire)。
在一些實施例中,晶片10可更包括另一供電線路154。供電線路154耦接在電源針腳150與預測電流差單元130之間以及在電源針腳150與虛耗電流單元140之間。於晶片10運作時,電源針腳150接收來自晶片10外部的電流,並且經由供電線路154流至虛耗電流單元140。並且,於神經網路電路134預測到將有高瞬間電流差的期間,隨著耗能電路144的致能(即接收到時脈CK並依據時脈CK進行運算),被致能的耗能電路144亦經由供電線路154由電源針腳150接收到的電流進行供電,以使晶片10接收的外部電流隨著耗能電路144的階段性致能而在高運算量的指令執行前先開始逐步上升。
在一些實施例中,晶片10可更包括一權重選擇電路160以及一權重儲存單元126。權重選擇電路160耦接權重儲存單元126與神經網路電路134。權重選擇電路160儲存有多個權重組合。其中,各權重組合對應處理器核心110的一運作資訊。在一示範例中,假設神經網路電路134的函式是以長短期記憶(Long Short-Term Memory,LSTM)演算法實現,此些權重組合則是神經網路電路134採用不同輸入時階(time step)進行訓練而得之參數。換句話說,在神經網路電路134的訓練模式下,神經網路電路134根據一輸入時階的數據流DS、函式與此數據流DS對應的控制訊號Sc進行訓練以調整神經網路電路134的各神經元對輸入的權重(Weight)(即參數)。在以每一種輸入時階的數據流DS及其控制訊號Sc的進行訓練後,神經網路電路134所具有的權重及其分布狀態會記錄為
一權重組合,並且此權重組合會被儲存在權重儲存單元126中。
於處理器核心110執行程式之前,權重選擇電路160會根據處理器核心110當前的運作資訊從權重儲存單元126中所儲存的多個權重組合選擇對應當前運作資訊的一權重組合並以選擇的權重組合設定神經網路電路134的參數,即設定各神經元的權重,以致使神經網路電路134基於選擇的權重組合執行預測模式。在一些實施例中,運作資訊可為處理器核心110待運算輸入資料的規格資訊(如,位元速率(Bit rate)及/或位元寬度(bit width)等)、及/或處理器核心110的應用領域等。
在一些實施例中,指令儲存單元122、表格儲存單元124、資料儲存單元、及權重儲存單元126可由一個或多個記憶體120實現。
在一些實施例中,預測電流差單元130與/或虛耗電流單元140可由另一處理器核心實現。在一些實施例中,預測電流差單元130與/或虛耗電流單元140亦可為直接形成在晶片的載體上的功能電路。
綜上所述,任一實施例之晶片及基於神經網路電路的電流調整方法,其能利用神經網路電路134根據處理器核心110的繁忙程度預測將有高耗電需求,進而啟動虛耗電流機制,藉以在不影響處理器核心110的運算效能的前提下避免電壓過度下降。在一些實施例中,於預測到將有高耗電需求時,採取分階段致能耗能電路144來逐步上升晶片10所接收的外部電流,以防止瞬間電流差過大,進而預防電壓驟降。
10:晶片
110:處理器核心
112:控制電路
114:運算電路
114a:載入處理單元
114b:儲存處理單元
114c:加處理單元
114d:乘加處理單元
114e:浮加處理單元
116:指令焊墊
117:電源焊墊
120:記憶體
122:指令儲存單元
124:表格儲存單元
126:權重儲存單元
130:預測電流差單元
132:輸入電路
134:神經網路電路
140:虛耗電流單元
142:開關電路
144:耗能電路
150:電源針腳
152:供電線路
CK:時脈
Sc:控制訊號
Claims (10)
- 一種晶片,包括:一指令儲存單元,用以儲存複數個指令;一處理器核心,耦接該指令儲存單元,用以在一電流供電下進行運算,該處理器核心包括:一控制電路,耦接該指令儲存單元,用以依序讀取該複數個指令;以及一運算電路,耦接該控制電路,用以依據該控制電路所讀取的該複數個指令進行運算;一輸入電路,用以產生表示時變的該電流的一數據流,其中該數據流包括複數個數據,該複數個數據分別對應該複數個指令,且各該數據表示該處理器核心依據對應的該指令進行運算時所消耗的該電流;一神經網路電路,耦接該輸入電路,該神經網路電路包括複數個函式及複數個參數,該神經網路電路用以依據該數據流、該複數個函式及該複數個參數預測即將發生的電流的變化並輸出相應的一控制訊號;複數個耗能電路;以及一開關電路,耦接該神經網路電路與該複數個耗能電路,用以在該控制訊號的控制下選擇性將一時脈提供給該複數個耗能電路中至少一者,以使接收到該時脈的該耗能電路在該電流供電下依據該時脈進行運算。
- 如請求項1所述的晶片,其中該輸入電路包括: 一查表電路,耦接在該處理器核心與該神經網路電路之間,用以擷取該控制電路所讀取的各該指令並以擷取到的各該指令查表轉換成對應的該數據。
- 如請求項1所述的晶片,更包括:一權重儲存單元,用以儲存複數個權重組合,其中各該權重組合對應該處理器核心的一運作資訊;以及一權重選擇電路,耦接該權重儲存單元與該神經網路電路,用以根據該處理器核心當前的該運作資訊選擇該複數個權重組合中之對應的該權重組合並以選擇的該權重組合設定該神經網路電路的該複數個參數。
- 如請求項1所述的晶片,更包括:一電源針腳,用以接收來自該晶片外部的該電流;以及一供電線路,耦接在該電源針腳與該處理器核心之間。
- 如請求項4所述的晶片,其中該供電線路為一接合線。
- 如請求項1所述的晶片,其中當該神經網路電路預測到即將發生的該電流的該變化為在即將來臨的一既定時間內該電流的增加量大於一既定閾值時,該開關電路在該控制訊號的控制下分階段提供該時脈給該複數個耗能電路。
- 一種基於神經網路電路的電流調整方法,包括:以一電流供應一處理器核心運作所需的電力;由該處理器核心依序讀取複數個指令並依據所讀取的該複數個指令進行運算; 產生表示時變的該電流的一數據流,其中該數據流包括複數個數據,該複數個數據分別對應該複數個指令,且各該數據表示該處理器核心依據對應的該指令進行運算時所消耗的該電流;由一神經網路電路依據該數據流預測即將發生的電流的變化;以及根據預測到的即將發生的該電流的該變化選擇性致能複數個耗能電路中之至少一者,其中致能後的該耗能電路是以該電流供應運作所需的電力。
- 如請求項7所述的基於神經網路電路的電流調整方法,其中產生表示時變的該電流的該數據流的步驟包括:擷取該處理器核心讀取的該複數個指令並以擷取到的各該指令查表轉換成對應的該數據。
- 如請求項7所述的基於神經網路電路的電流調整方法,更包括:根據該處理器核心當前的運作資訊選擇複數個權重組合中之一;以及以選擇的該權重組合設定該神經網路電路。
- 如請求項7所述的基於神經網路電路的電流調整方法,其中根據預測到的即將發生的該電流的該變化選擇性致能該複數個耗能電路的步驟包括:當預測到的即將發生的該電流的該變化為在即將來臨的一既定時間內該電流的增加量大於一既定閾值時,分階段提供時脈給該複數個耗能電路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109101003A TWI733305B (zh) | 2020-01-10 | 2020-01-10 | 晶片及基於神經網路電路的電流調整方法 |
US16/878,113 US11669138B2 (en) | 2020-01-10 | 2020-05-19 | Chip and neural network-based method for adjusting current |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109101003A TWI733305B (zh) | 2020-01-10 | 2020-01-10 | 晶片及基於神經網路電路的電流調整方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI733305B true TWI733305B (zh) | 2021-07-11 |
TW202127244A TW202127244A (zh) | 2021-07-16 |
Family
ID=76763677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109101003A TWI733305B (zh) | 2020-01-10 | 2020-01-10 | 晶片及基於神經網路電路的電流調整方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11669138B2 (zh) |
TW (1) | TWI733305B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201421383A (zh) * | 2012-11-20 | 2014-06-01 | Qualcomm Inc | 分段線性神經元建模 |
US20180129935A1 (en) * | 2016-11-07 | 2018-05-10 | Electronics And Telecommunications Research Institute | Convolutional neural network system and operation method thereof |
US20190286987A1 (en) * | 2017-04-17 | 2019-09-19 | Cerebras Systems Inc. | Dataflow Triggered Tasks for Accelerated Deep Learning |
TW202001662A (zh) * | 2018-03-30 | 2020-01-01 | 日商索尼股份有限公司 | 半導體裝置及積和運算裝置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69120594T2 (de) * | 1990-04-26 | 1997-01-09 | Fujitsu Ltd | Wellenformentzerrer mit Neuronalnetzwerk |
US7620832B2 (en) * | 2000-09-20 | 2009-11-17 | Mips Technologies, Inc. | Method and apparatus for masking a microprocessor execution signature |
US7200763B2 (en) * | 2003-10-09 | 2007-04-03 | Sun Microsystems, Inc. | Method and apparatus for controlling the power consumption of a semiconductor device |
TWI432953B (zh) * | 2010-12-09 | 2014-04-01 | Ind Tech Res Inst | 具電源管理之超長指令處理器以及其電源管理裝置與方法 |
US9098260B2 (en) * | 2012-10-19 | 2015-08-04 | Broadcom Corporation | System and method for omitting a clock pulse from a clock signal in response to a change in current consumption |
US9411395B2 (en) * | 2013-04-18 | 2016-08-09 | Intel Corporation | Method and apparatus to control current transients in a processor |
-
2020
- 2020-01-10 TW TW109101003A patent/TWI733305B/zh active
- 2020-05-19 US US16/878,113 patent/US11669138B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201421383A (zh) * | 2012-11-20 | 2014-06-01 | Qualcomm Inc | 分段線性神經元建模 |
US20180129935A1 (en) * | 2016-11-07 | 2018-05-10 | Electronics And Telecommunications Research Institute | Convolutional neural network system and operation method thereof |
US20190286987A1 (en) * | 2017-04-17 | 2019-09-19 | Cerebras Systems Inc. | Dataflow Triggered Tasks for Accelerated Deep Learning |
TW202001662A (zh) * | 2018-03-30 | 2020-01-01 | 日商索尼股份有限公司 | 半導體裝置及積和運算裝置 |
Also Published As
Publication number | Publication date |
---|---|
US20210216127A1 (en) | 2021-07-15 |
US11669138B2 (en) | 2023-06-06 |
TW202127244A (zh) | 2021-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3880310B2 (ja) | 半導体集積回路 | |
EP1769314B1 (en) | Closed-loop control for performance tuning | |
US10560022B2 (en) | Setting operating points for circuits in an integrated circuit chip using an integrated voltage regulator power loss model | |
KR102640309B1 (ko) | 집적 회로 칩에 대한 전압 조절기들 | |
US9966781B2 (en) | Apparatus for battery charger with controlled charge current and associated methods | |
KR20150016097A (ko) | 듀얼 서플라이 메모리 | |
CN107005050B (zh) | 智能电力传递网络 | |
KR20130040700A (ko) | 프로세싱 코어를 위한 전원 게이팅 구성 | |
US20190391608A1 (en) | Power multiplexer system for current load migration | |
Shan et al. | Pre-energized auxiliary circuits for very fast transient loads: Coping with load-informed power management for computer loads | |
TWI733305B (zh) | 晶片及基於神經網路電路的電流調整方法 | |
TW201716920A (zh) | 在處理系統中之控制電壓誤差 | |
US11809263B2 (en) | Electronic circuit for controlling power | |
TWI454898B (zh) | 用於電壓調整器功率模式介面之裝置及電腦系統 | |
US20080195878A1 (en) | Control Scheme for Binary Control of a Performance Parameter | |
KR20180051648A (ko) | 전력-인지 cpu 전력 그리드 설계 | |
CN113138652A (zh) | 芯片及基于神经网络的电流调整方法 | |
CN110245109A (zh) | 实现系统级芯片soc低功耗控制的方法及soc | |
KR20240024223A (ko) | 사이클당 명령어 감소를 통해 멀티-프로세서 코어 시스템에서 전류 공급을 제어하기 위한 시스템 및 방법 | |
CN108735250B (zh) | 电源闸控控制器、电源闸控电子系统及其操作方法 | |
CN115777090A (zh) | 用于数据处理器的可编程电压调节 | |
CN104281064B (zh) | 电路装置以及控制电路装置的多个待供电组件运行的方法 | |
US11843311B2 (en) | Switching power supply module and memory storage device | |
Cheng et al. | Dynamic Performance Adjustment of CPU and GPU in a Gaming Notebook at the Battery Mode | |
CN113820952A (zh) | 抽水蓄能电站导叶关闭规律的优化方法及装置 |