TWI736079B - 晶片及其異常處理方法 - Google Patents

晶片及其異常處理方法 Download PDF

Info

Publication number
TWI736079B
TWI736079B TW108147275A TW108147275A TWI736079B TW I736079 B TWI736079 B TW I736079B TW 108147275 A TW108147275 A TW 108147275A TW 108147275 A TW108147275 A TW 108147275A TW I736079 B TWI736079 B TW I736079B
Authority
TW
Taiwan
Prior art keywords
circuit
neural network
processor
abnormal
chip
Prior art date
Application number
TW108147275A
Other languages
English (en)
Other versions
TW202125246A (zh
Inventor
謝瀚頡
Original Assignee
瑞昱半導體股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 瑞昱半導體股份有限公司 filed Critical 瑞昱半導體股份有限公司
Priority to TW108147275A priority Critical patent/TWI736079B/zh
Priority to US17/123,723 priority patent/US20210191723A1/en
Publication of TW202125246A publication Critical patent/TW202125246A/zh
Application granted granted Critical
Publication of TWI736079B publication Critical patent/TWI736079B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • G06F1/305Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations in the event of power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Power Sources (AREA)

Abstract

一種晶片及其異常處理方法。該晶片包括一處理器。該處理器包括一控制電路、一電壓偵測電路、一神經網路電路、及一處理電路。該控制電路用以讀取指令以執行被讀取的指令。該電壓偵測電路用以偵測該處理器之一電壓以輸出一電壓值。該神經網路電路依據該電壓值及該指令進行預測並輸出一輸出訊號,該處理電路於該輸出訊號為異常時,執行一異常程序。因此,晶片能預測處理器是否可能在低於額定電壓情形運作,並做出對應措施,以確保晶片之正常運作。

Description

晶片及其異常處理方法
本發明是關於一種晶片及其異常處理方法,特別是一種具有處理器之晶片及其異常處理方法。
系統單晶片(System on a Chip, SoC)為整合多個功能元件之晶片,例如整合中央處理器、記憶體、邏輯元件、及類比元件之晶片。
系統單晶片運作時,由外部供給電源予該系統單晶片,再由系統單晶片供電予其內部元件。系統晶片依據晶片外部之需求(request),而使其內部各元件依該需求而運作。在特定需求下,某一內部元件可能會在滿載或接近滿載之狀態下運作,當該內部元件在接近滿載狀態下運作時,該內部元件之耗電量提高,可能產生大電流變化並導致該內部元件被供給之電力的電壓下降,在某些情形下,該下降的電壓低於該內部元件的額定電壓(rated voltage),使得該內部元件未能正常運作或停止運作。較常發生上述情形之內部元件例如中央處理器。然而,中央處理器的行為極為複雜,實際上設計者很難透過模擬(simulation)的方法預測中央處理器在何種應用場景、執行何種運算時,容易產生大電流變化造成電壓過低。
鑑於上述,發明人提出一種具有處理器之晶片及一種異常處理方法,用以減少該處理器因被供給的電壓下降導致無法正常運作之情形。
依據一些實施例,晶片包括一處理器。處理器包括一記憶體、一控制電路、一電壓偵測電路、一神經網路電路及一處理電路。該記憶體用以儲存至少一指令。該控制電路用以讀取該至少一指令,以執行被讀取的該至少一指令。該電壓偵測電路用以偵測該處理器之一電壓以輸出一電壓值。該神經網路電路包括多個函式及多個參數,該神經網路電路用以被控制以運作於一訓練模式或一預測模式。當該神經網路電路運作於該預測模式時,依據該控制電路讀取的該至少一指令、該些函式及該些參數,輸出一輸出訊號。當該神經網路電路運作於該訓練模式時,依據該控制電路讀取的該至少一指令、該些函式及該電壓值,調整該些參數。該處理電路,於該輸出訊號為異常時,執行一異常程序。
依據一些實施例,該處理電路依據該電壓值、一電壓門檻及該輸出訊號而決定一模式命令,當該模式命令為一訓練時,該處理電路控制該神經網路電路運作於該訓練模式,當該模式命令為一預測時,該處理電路控制該神經網路電路運作於該預測模式。
依據一些實施例,該神經網路電路依據一外部命令而運作於該訓練模式。
依據一些實施例,該處理電路執行的該異常程序為該處理電路通知該控制電路暫停或減少讀取該至少一指令,直到該輸出訊號非為異常。
依據一些實施例,該晶片另包括一晶片電路,該晶片電路耦接該處理電路,該處理電路執行該異常程序為通知該晶片電路以提供供給該處理器之一電壓。
依據一些實施例,該處理器另包括一運算電路,該控制電路控制該記憶體及該運算電路,以執行被讀取的該至少一指令。
依據一些實施例,該處理器另包括一時脈產生電路,用以產生一時脈(clock),該處理器依據該時脈運作,該處理電路執行的該異常程序為調整該時脈產生電路以降低該時脈之頻率。
依據一些實施例,異常處理方法適於一處理器,該異常處理方法包括讀取至少一指令、執行該至少一指令、以該處理器之一神經網路電路,依據該至少一指令、該神經網路之多個函式、及該神經網路之多個參數,獲得一輸出訊號、以及當該輸出訊號為異常時,執行一異常程序。
依據一些實施例,異常程序為暫停或減少該讀取該至少一指令,直到該輸出訊號非為異常。
依據一些實施例,異常程序為發出一對外命令,以提高該處理器30之該電壓。
依據一些實施例,異常程序為降低該處理器30之一時脈之頻率。
綜上所述,依據一些實施例,處理器可預測所接收到的電壓是否可能低於一電壓門檻,並於可能低於該電壓門檻時,做出對應措施,以避免處理器所接收到的電壓降至低於該電壓門檻導致不正常運作,如此一來,能確保晶片之正常運作。
參照圖1,圖1繪示依據一些實施例之晶片之電路方塊示意圖。依據一些實施例,晶片10包括一處理器30。依據一些實施例,晶片10包括一晶片電路20、以及一處理器30。
晶片10是具有處理器30的晶片,例如但不限於系統晶片(System on a chip, SOC),晶片電路20是該晶片中除了處理器30以外之電路。在一些實施例中,晶片10為具有中央處理器的系統晶片,處理器30即為該系統晶片的中央處理器(Central Processing Unit, CPU),而晶片電路20即為該系統晶片除了中央處理器之外的其他電路,例如電源管理電路、記憶體、週邊介面電路、匯流排、特定功能電路、及輸出入埠等,該週邊介面電路例如但不限於積體電路匯流排(Inter-Integrated Circuit, I2C)、通用序列匯流排(USB, Universal Serial Bus)等。其中,晶片電路20的電源管理電路可以控制提供給處理器30的電力電壓。
請參閱圖2,繪示依據一些實施例之晶片之電路方塊示意圖。在一些實施例中,晶片10a具有多個處理器30及一晶片電路20a,在此實施例中,該些處理器30各別為中央處理器30a、圖形處理器(Graphics Processing Unit, GPU) 30b、及影像處理器(Image processing Unit) 30c。該晶片電路20a為該晶片除了該三個處理器30a、30b、30c之外之電路,例如但不限於記憶體及週邊介面電路,其中週邊介面電路例如通用非同步收發傳輸器(Universal Asynchronous Receiver/Transmitter, UART)、定步序列資料協定(Serial Peripheral Interface, SPI)、顯示介面(Display interface)、高畫質多媒體介面(High Definition Multimedia Interface, HDMI)、及/或移動行業處理器介面(Mobile Industry Processor Interface, MIPI)等,而記憶體例如快閃記憶體(Flash)及/或動態隨機存取記憶體(Dynamic Random Access Memory, DRAM)等。在一些實施例中,該些處理器30a、30b、30c中至少一是具有如圖1之處理器30之電路方塊圖。
在一些實施例中,晶片10除了包括中央處理器30a、圖形處理器30b、及影像處理器30c外,亦包括視訊處理器(Video Processing Unit, 圖中未示)。該中央處理器30a、該圖形處理器30b、該影像處理器30c及該視訊處理器中至少一之內部電路方塊圖為如圖1之處理器30所示。
晶片10運作時,由外部供給電力給晶片10,晶片10將該外部電力供給予該晶片電路20及該處理器30。
請參閱圖1,在一些實施例中,處理器30包括一記憶體31、一控制電路33、一電壓偵測電路34、一神經網路電路(Neural Network Circuit) 36及一處理電路(Processing Circuit) 38。以下以中央處理器30a為例說明處理器30內部電路之運作。在本實施例中,記憶體31為處理器30內部的記憶體,然本發明不限於此。在其他實施例中,記憶體31可以是處理器30外部的記憶體,處理器30耦接記憶體31。
處理器30用以連接該晶片電路20,晶片電路20與處理器30之間的連接例如但不限於控制訊號、資料匯流排、及位址匯流排(處理器30外部匯流排)。
處理器30除了包括上述電路外,亦可包括匯流排(亦可稱處理器30內部匯流排),該匯流排例如但不限於位址匯流排、資料匯流排及控制匯流排。
記憶體31用以儲存至少一指令及多個資料。在圖1實施例中,記憶體31為處理器30之內部記憶體。記憶體31可以是但不限於靜態隨機存取記憶體(Static Random Access Memory,SRAM)、指令暫存器(register)、位址暫存器、一般用途暫存器、旗標暫存器、及快取記憶體中任一種或其任何組合,記憶體31所儲存之指令(instruction)例如但不限於精簡指令集(RISC, Reduced Instruction Set)及/或複雜指令集(CISC, Complex Instruction Set),記憶體31所儲存之資料為供控制電路33及運算電路32依指令進行運算。
控制電路33用以讀取該至少一指令,以執行被讀取的該至少一指令。例如,控制電路33從記憶體31讀取的指令是「加」,控制電路33即執行加法運算。
在一些實施例中,處理器30包括一記憶體31、一運算電路(Operation Circuit) 32、一控制電路33、一電壓偵測電路34、一神經網路電路36及一處理電路38。記憶體31用以儲存多個指令及多個資料。運算電路32可以是但不限於算術邏輯電路(Arithmetic Logic Unit)。算術邏輯電路用以進行數學運算、邏輯運算及移動資料等。在一些實施例中,運算電路32為浮點運算電路(floating-point unit)。在一些實施例中,運算電路32包括算術邏輯電路及浮點運算電路。控制電路33用以依序讀取該些指令,並控制該記憶體31及該運算電路32,以進行對應讀取的該指令的運算。例如,控制電路33從記憶體31讀取的指令是「加」,控制電路33即控制運算電路32對記憶體31儲存的數值(資料)進行加法運算。
前述電壓偵測電路34用以偵測該處理器30之一電壓以輸出一電壓值。如同前述,晶片10將外部供給之電力給供予處理器30,該電壓偵測電路34用以偵測該處理器30所接收到之該電力之電壓並輸出該電壓值。如同前述,該處理器30依據記憶體所儲存之指令進行運作,當該處理器30之運作所需之功率消耗較大時,電壓偵測電路34所偵測到的該處理器30之電壓值即會隨之變動。在一些實施例中,電壓偵測電路34是類比電路。
前述神經網路電路36可以是但不限於前饋神經網絡(Feedforward Neural Network)、循環神經網絡(Recurrent Neural Network)、結構遞歸神經網絡(Recursive Neural Network)。請參考圖3,圖3繪示依據一些實施例,晶片之神經網路電路之電路方塊示意圖。圖3的神經網路電路36為前饋神經網絡。依據一些實施例,前述神經網路電路36包括多個函式及多個參數。該神經網路電路36用以被控制以運作於一訓練模式或一預測模式,當該神經網路電路36運作於該預測模式時,依據該控制電路33讀取的該些指令、該些函式及該些參數,輸出一輸出訊號,當該神經網路電路36運作於該訓練模式時,依據該控制電路33讀取的該些指令、該些函式及電壓偵測電路34所偵測到的該電壓值,以調整該些參數。
在一些實施例中,神經網路電路36包括一輸入層(input layer) 360、一隱藏層(hidden layer) 363及一輸出層(output layer) 367。輸入層360包括多個輸入埠361a、361b及多個神經元(Neuron) 362a、362b。隱藏層363包括多個神經元365a、365b、多個輸入連結364a、364b、及多個輸出連結366a、366b。輸出層367包括一神經元368及一輸出埠369。前述輸入連結364a、364b係用以連結該輸入層360之每一個神經元362a、362b至該隱藏層363之每一個神經元365a、365b,前述輸出連結366a、366b係用以連結該隱藏層363之每一個神經元365a、365b至該輸出層367之神經元368。
輸入埠361a、361b用以接收來自神經網路電路36外部之資料。以圖1的處理器30為例,輸入埠361a、361b用以接收控制電路33讀取的該些指令,因此,輸入埠361a、361b之數量小於或等於該些指令種類的數量。舉例而言,控制電路33之指令種類的數量為10,在一些實施例中,輸入埠361a、361b之數量與該些指令種類數量相同。在一些實施例中,選擇該些指令種類中的6個做為該輸入埠361a、361b之輸入,其中被選擇的指令種類可以是影響處理器30耗功率較大之指令的種類,例如但不限於浮點運算指令、整數運算指令等。
輸入層360之每個神經元362a、362b在接收該輸入資料後,會透過前述輸入連結364a、364b傳送該輸入資料至對應的隱藏層363的神經元365a、365b,隱藏層363之每個神經元365a、365b接收來自輸入層360之每個神經元362a、362b之輸入資料,對每個接收到之輸入資料依一對應函式(function)而獲得一計算結果,接著該隱藏層363之每個神經元365a、365b再依一整合函式及該些計算結果獲得一整合結果,做為己身之輸出資料。在一些實施例中,前述對應函式及整合函式如下式(1):
Figure 02_image003
……式(1)
其中,i表示該輸入層360之該些神經元362a、362b之編號,n為該輸入層360之該些神經元362a、362b之數量,wi為隱藏層363之每個神經元365a、365b對接收到來自輸入層360之每個神經元362a、362b之輸入資料的權重(weighting),xi為接收的輸入資料,b為偏置(bias)。因此前述對應函式即為「輸入層360之每個神經元362a、362b之輸入資料」乘以「其權重」再加上「其偏置」,該整合函式為一加總運算,意即將來自隱藏層363之每個神經元365a、365b經過對應函式計算後之值加總,做為該隱藏層363之該神經元365a、365b之輸出。在一些實施例中,隱藏層363之每一神經元365a、365b之該些對應函式可以全部相同、部分相同或都不相同。隱藏層363之該些神經元365a、365b之該些整合函式可以全部相同、部分相同或都不相同,視神經網路電路36之設計及應用需求而決定。
類似的,該輸出層367之該神經元368亦具有多個對應函式及一整合函式,該神經元368依據該對應函式、整合函式及來自隱藏層363之每個神經元365a、365b之輸出,而獲得該神經元368之輸出。該輸出層367之該神經元368的該對應函式可以與該隱藏層363之該些神經元365a、365b的該些對應函式之一相同,或不相同,該輸出層367之該神經元368的該整合函式可以與該隱藏層363之該些神經元365a、365b的該些整合函式之一相同,或不相同。
輸出層367之該神經元368之整合結果經由一傳遞函式(transfer function)轉換,再經由該輸出埠369輸出該轉換後的整合結果。
前述隱藏層363及輸出層367之該些對應函式的該些權重及該些偏置即為該神經網路電路36運作時之該些參數,該些對應函式及該整合函式即為該神經網路電路36運作(該訓練模式或該預測模式)時的該些函式。
圖3之神經網路電路36具有一個隱藏層363。在一些實施例中,神經網路電路36具有多個隱藏層363。在一些實施例中,神經網路電路36包括二個隱藏層363 (分別稱第一隱藏層與第二隱藏層),第一隱藏層的每一神經元連結至第二隱藏層的每一神經元,每一神經元具有一對應函式及一整合函式。其運算與前述類似,不再贅述。
圖3實施例中,輸出層367包括一神經元368。在一些實施例中,輸出層367可包括多個神經元368,依應用而定。
在一些實施例中,圖3之神經網路電路36之輸入訊號為該控制電路33讀取的該些指令,舉例而言,神經網路電路36之輸入資料為在每一個時間點,每一指令種類是否正在運作(可以數位訊號0代表未運作,數位訊號1代表運作中),神經網路電路36依據該些輸入資料(控制器讀取的該些指令)及該些函式(對應函式及整合函式)及該些參數,獲得該輸出結果,而由該輸出埠369輸出。
在一些實施例中,該神經網路電路36之輸入與輸出均為數位訊號0或1。該電壓值會先被轉換為一數位訊號,此轉換可由該電壓偵測電路34、該神經網路電路36、或介於該神經網路電路36及該電壓偵測電路34之間的一轉換電路(圖中未示)來執行。在一些實施例中,該轉換是將該電壓值與一電壓門檻比較,當該電壓值小於該電壓門檻時,則輸出數位訊號1。反之,輸出數位訊號0。前述電壓門檻可以是但不限於該處理器30的額定電壓,意即當該電壓值低於該電壓門檻時(數位訊號1),該處理器30可能無法正常運作。在一些實施例中,該數位訊號0代表該電壓值小於該電壓門檻,該數位訊號1代表該電壓值不小於該電壓門檻。其次,該神經網路電路36被控制而運作於該預測模式時,該神經網路電路36依據該控制電路33讀取的該些指令、該些函式及該些參數,所輸出的該輸出訊號亦為數位訊號0或1。在一些實施例中,該輸出訊號為數位訊號1表示「異常」,該輸出訊號為數位訊號0表示「非異常」。
神經網路電路36被控制以運作於該訓練模式或預測模式。在一些實施例中,該神經網路電路36之該些參數尚未確定前,使用者可以透過一主機(圖未繪示)給予晶片10一外部命令,該晶片電路20依據該外部命令,發出一強制命令予該處理器30,該神經網路電路36依據該強制命令而運作於該訓練模式,例如但不限於使晶片10運行於壓力測試負載。在一些實施例中,該神經網路電路36依據該外部命令而運作於該訓練模式。當該神經網路電路36運作於該訓練模式時,該神經網路電路36依據該控制電路33讀取的該些指令、該些函式及該電壓值,調整該些參數。具體而言,當該神經網路電路36運作於該訓練模式時,神經網路電路36以該些指令做輸入,依隱藏層363與輸出層367之對應函式、整合函式,調整該些參數。當該神經網路電路36依據該些指令、該些函式及該些參數運算所得之輸出訊號與電壓偵測電路34所偵測到的該電壓值一致時,固定該些參數。
在一些實施例中,為了使該神經網路電路36依據該些參數及該些函式能更精確地輸出與電壓偵測電路34所偵測到的該電壓值一致之輸出訊號,使用者會以前述外部命令控制該神經網路電路36運作於該訓練模式。
當該神經網路電路36運作於該預測模式且該輸出訊號為異常時,該處理電路38執行一異常程序。反之,當該輸出訊號為「非異常」,則處理電路38不執行該異常程序。
在一些實施例中,該處理電路38依據該電壓值、該電壓門檻及該輸出訊號而決定一模式命令,當該模式命令為一「訓練」時,該處理電路38控制該神經網路電路36運作於該訓練模式,當該模式命令為一「預測」時,該處理電路38控制該神經網路電路36運作於該預測模式。具體而言,當該神經網路電路36運作於該預測模式,該處理電路38比對該輸出訊號與該電壓值(前述與電壓門檻比較後後的該電壓值),當兩者不相同時(表示該神經網路電路36預測時的輸出訊號與該電壓值不一致),該處理電路38控制該神經網路電路36運作於該訓練模式,該神經網路電路36依據該些指令、該些函式、及該電壓值,而獲得該些參數。當該處理電路38比對該輸出訊號與該電壓值之結果為相同時,處理電路38控制該神經網路電路36運作於該預測模式。
前述處理電路38於該輸出訊號為異常時,執行該異常程序。在一些實施例中,該異常程序是該處理電路38通知該控制電路33暫停或減少讀取該至少一指令,直到該輸出訊號非為異常。因此,處理器30即可避免持續執行耗功較大之指令並避免該電壓下降之情形。當該神經網路電路36之輸出訊號為「非異常」時,該處理電路38即停止該異常程序。在此實施例中,該處理電路38通知該控制電路33回復讀取該些指令。
在一些實施例中,該異常程序是該處理電路38通知該控制電路33延後特定指令之運算,直到該輸出訊號非為異常。具體而言,該特定指令是耗功率較大的指令,例如但不限於浮點運算指令。因此,處理器30即可避免立即執行耗功較大之指令以避免該電壓下降之情形。當該神經網路電路36之輸出訊號為「非異常」時,該處理電路38即停止該異常程序。在此實施例中,該處理電路38通知該控制電路33回復執行該特定指令。
在一些實施例中,該異常程序是該處理電路38通知該晶片電路20提高供給該處理器30之電壓,例如,處理電路38透過晶片電路20的電源管理電路(圖未繪示),增加供給該處理器30之電壓的10%至20%,該電壓增加百分比可依實際需求進行調整。因此,處理器30所接收到的電壓將不致降低至無法正常運作之情形。續,當該神經網路電路36之輸出訊號為「非異常」時,該處理電路即停止該異常程序。在此實施例中,該處理電路38通知該晶片電路20回復正常供電。
請參閱圖4,圖4繪示依據一些實施例之晶片之電路方塊示意圖。晶片10'包括一晶片電路20'、以及一處理器30'。處理器30'包括一記憶體31'、一運算電路32'、一控制電路33'、一電壓偵測電路34'、一神經網路電路36'、一處理電路38'及一時脈產生電路39。時脈產生電路39用以產生時脈(clock),以提供處理器30'內部之硬體使用,使該處理器30'依據該時脈運作。在一些實施例中,該處理器30’的該記憶體31'、該運算電路32'、該控制電路33'、該處理電路38'、該電壓偵測電路34'及/或該神經網路電路36'依據該時脈運作,然各電路所依據之時脈可依實際需求選擇,本發明不限於此。
當該神經網路電路36'運作於該預測模式且該輸出訊號為異常時,該處理電路38'執行一異常程序。在一些實施例中,該異常程序是該處理電路38'調降該處理器30之時脈。因此,當該時脈被調降後,處理器30'之運作速度即變慢,即可避免處理器30'因耗功過大導致該電壓不足之情形。
請參閱圖5,圖5繪示依據一些實施例之異常處理方法之流程圖。依據一些實施例,一種異常處理方法適於一處理器,該異常處理方法包括:
S60:讀取至少一指令;
S62:執行該至少一指令;
S64:偵測該處理器之一電壓以獲得一電壓值;
S66:以該處理器之一神經網路電路,依據該至少一指令、該神經網路電路之多個函式、及該神經網路電路之多個參數,獲得一輸出訊號;以及
S68及S70:當該輸出訊號為異常時,執行一異常程序。
以下以該異常處理方法被執行於圖1之處理器30為例進行說明。該處理器30執行S60時,該處理器30之該控制電路33讀取記憶體31儲存之指令。該處理器30執行S62時,該控制電路33執行該至少一指令。該處理器30執行S64時,該處理器30之該電壓偵測電路34偵測並獲得該處理器30被供給之電力之一電壓值。處理器30執行S66時,該處理器30之該神經網路電路36依據該至少一指令、該神經網路電路之多個函式、及該神經網路電路之多個參數,獲得一輸出訊號。其中,該輸出訊號有二個狀態:異常及非異常。處理器30執行S68時,處理器30之該處理電路38判斷該輸出訊號是否為異常,若該輸出訊號為異常,則該處理電路38執行該異常程序。若該輸出訊號非為異常時,處理器30回到執行S60。
前述步驟S60至S70並非必須採順序方式執行。舉例而言,步驟S64之該電壓偵測電路34可以隨時偵測並獲得該電壓值。步驟S66之該神經網路電路36可以隨時依據該至少一指令、該些函式、及該些參數,獲得該輸出訊號。步驟S68之該處理電路38在該神經網路電路36輸出該輸出訊號時,即判斷該輸出訊號是否為異常,並決定是否執行該異常程序。當該輸出訊號非為異常時,該處理器30之該處理電路38仍可運作,持續判斷該神經網路電路36所輸出之該輸出訊號是否為異常。在處理電路38持續判斷該輸出訊號是否為異常的同時,該電壓偵測電路34持續偵測並獲得該電壓值、控制電路33持續讀取與執行該至少一指令。因此,圖5之S68在判斷該輸出訊號非為異常時,處理器30可同步進行S60、S64、S66及S68,具體而言,控制電路33執行S60、電壓偵測電路34執行S64、該神經網路電路36輸出該輸出訊號、及該處理電路38判斷該輸出訊號是否為異常可同步執行,且無先後順序之要求。
該異常程序可以是以下幾個實施例中任一或任何組合:暫停或減少該讀取該至少一指令,直到該輸出訊號非為異常、發出一對外命令,以提高該處理器30之該電壓、以及降低該處理器30之一時脈之頻率。
其中,處理器30發出該對外命令可以是發給該晶片電路20或該晶片10之外部元件,使該晶片電路20提高供給予該處理器30之電力的電壓、或使該晶片10之外部元件提供供給該晶片10及該處理器30之電力的電壓。
在一些實施例中,該異常處理方法之S68之獲得該輸出訊號之步驟包括控制該神經網路電路36運作於一預測模式。具體而言,該處理器30控制該神經網路電路36運作於該預測模式。在一些實施例中,該晶片電路20或晶片10接受一外部命令,使該神經網路電路36運作於該預測模式。
在一些實施例中,S68之獲得該輸出訊號之步驟包括控制該神經網路電路36運作於一訓練模式、及該神經網路電路36依據該至少一指令、該些函式及該電壓值,調整該些參數。在一些實施例中,該神經網路電路36尚未經過該訓練模式時,該晶片電路20控制、或晶片10接受一外部命令而控制該神經網路電路36運作於該訓練模式。在一些實施例中,當該神經網路電路36運作於該預測模式時,該處理電路38比對該神經網路電路36之該輸出訊號與該電壓偵測電路34獲得之該電壓值,並於比對結果為不一致時,該處理電路38控制該神經網路電路36運作於該訓練模式。當該神經網路電路36運作於該訓練模式,該神經網路電路36依據該至少一指令、該些函式及該電壓值,調整該些參數。
在一些實施例中,一種異常處理方法包括讀取至少一指令(S60)、執行該至少一指令(S62)、以該處理器之一神經網路電路,依據該至少一指令、該神經網路電路之多個函式、及該神經網路電路之多個參數,獲得一輸出訊號(S66)、以及當該輸出訊號為異常時,執行一異常程序(S68及S70)。此實施例的異常處理方法係應用於前述預測模式。舉例而言,該異常處理方法所應用的處理器30已完成其神經網路電路36之訓練,處理器30進行實施操作時,可以不進入訓練模式。
綜上所述,依據一些實施例,處理器可預測所接收到的電壓是否可能低於一電壓門檻,並於可能低於該電壓門檻時,做出對應措施,以避免處理器所接收到的電壓降至低於該電壓門檻導致不正常運作,如此一來,能確保晶片之正常運作。
10、10' 、10a                            晶片             20、20'、20a  晶片電路 30、30' 、30a、30b、30c            處理器 31、31'        記憶體                   32、32'        運算電路 33、33'        控制電路                34、34'        電壓偵測電路 36、36'        神經網路電路          360              輸入層 361a、361b  輸入埠                   363              隱藏層 362a、362b、365a、365b、368   神經元 364a、364b、366a、366b           連結 367              輸出層                   369              輸出埠 38、38'        處理電路                39               時脈產生電路 S60~S70       步驟
圖1繪示依據一些實施例之晶片之電路方塊示意圖; 圖2繪示依據一些實施例之晶片之電路方塊示意圖; 圖3繪示依據一些實施例,晶片之神經網路電路之電路方塊示意圖; 圖4繪示依據一些實施例之晶片之電路方塊示意圖;以及 圖5繪示依據一些實施例之異常處理方法之流程圖。
10          晶片                      20               晶片電路 30          處理器                   31               記憶體 32          運算電路                33               控制電路 34          電壓偵測電路          36               神經網路電路 38          處理電路

Claims (10)

  1. 一種晶片,包括:一處理器,包括:一記憶體,用以儲存至少一指令;一控制電路,用以讀取該至少一指令,以執行被讀取的該至少一指令;一電壓偵測電路,用以偵測該處理器之一電壓以輸出一電壓值;一神經網路電路,包括多個函式及多個參數,該神經網路電路用以被控制以運作於一訓練模式或一預測模式,當該神經網路電路運作於該預測模式時,依據該控制電路讀取的該至少一指令、該些函式及該些參數,輸出一輸出訊號,當該神經網路電路運作於該訓練模式時,依據該控制電路讀取的該至少一指令、該些函式及該電壓值,調整該些參數,其中,該至少一指令為該神經網路電路之輸入;以及一處理電路,於該輸出訊號為異常時,執行一異常程序。
  2. 如請求項1所述之晶片,其中,該處理電路依據該電壓值、一電壓門檻及該輸出訊號而決定一模式命令,當該模式命令為一訓練時,該處理電路控制該神經網路電路運作於該訓練模式,當該模式命令為一預測時,該處理電路控制該神經網路電路運作於該預測模式。
  3. 如請求項1所述之晶片,其中,該神經網路電路依據一外部命令而運作於該訓練模式。
  4. 如請求項1至3中任一項所述之晶片,其中,該處理電路執行的該異常程序為通知該控制電路暫停或減少讀取該至少一指令,直到該輸出訊號非為異常。
  5. 如請求項1至3中任一項所述之晶片,另包括一晶片電路,該晶片電路耦接該處理電路,該處理電路執行的該異常程序為通知該晶片電路以提高供給該處理器之一電壓。
  6. 如請求項5所述之晶片,其中,該處理器另包括一運算電路,該控制電路控制該記憶體及該運算電路,以執行被讀取的該至少一指令。
  7. 如請求項1至3中任一項所述之晶片,其中該處理器另包括一時脈產生電路,用以產生一時脈,該處理器依據該時脈運作,該處理電路執行的該異常程序為調整該時脈產生電路,以降低該時脈之頻率。
  8. 一種異常處理方法,適於一處理器,該異常處理方法包括:讀取至少一指令;執行該至少一指令;以該處理器之一神經網路電路,依據該至少一指令、該神經網路電路之多個函式、及該神經網路電路之多個參數,獲得一輸出訊號,其中,該至少一指令為該處理器之該神經網路電路之輸入;以及當該輸出訊號為異常時,執行一異常程序。
  9. 如請求項8所述之異常處理方法,其中該異常程序包括暫停或減少該讀取該至少一指令,直到該輸出訊號非為異常,其中該獲得該輸出訊號之步驟包括控制該神經網路電路運作於一預測模式。
  10. 如請求項8所述之異常處理方法,其中在該獲得該輸出訊號之步驟前,該異常處理方法另包括偵測該處理器之一電壓以獲得一電壓值,該獲得該輸出訊號之步驟包括:控制該神經網路電路運作於一訓練模式;及該神經網路電路依據該至少一指令、該些函式及該電壓值,調整該些參數。
TW108147275A 2019-12-23 2019-12-23 晶片及其異常處理方法 TWI736079B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW108147275A TWI736079B (zh) 2019-12-23 2019-12-23 晶片及其異常處理方法
US17/123,723 US20210191723A1 (en) 2019-12-23 2020-12-16 Chip including processor and exception handling method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108147275A TWI736079B (zh) 2019-12-23 2019-12-23 晶片及其異常處理方法

Publications (2)

Publication Number Publication Date
TW202125246A TW202125246A (zh) 2021-07-01
TWI736079B true TWI736079B (zh) 2021-08-11

Family

ID=76437214

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108147275A TWI736079B (zh) 2019-12-23 2019-12-23 晶片及其異常處理方法

Country Status (2)

Country Link
US (1) US20210191723A1 (zh)
TW (1) TWI736079B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116090388B (zh) * 2022-12-21 2024-05-17 海光信息技术股份有限公司 芯片内部电压预测模型生成方法、预测方法及相关装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200915094A (en) * 2007-09-20 2009-04-01 Univ Far East Monitoring device and method for analyzing output signal of programmable logic chip by using wavelet transform
TW201219756A (en) * 2010-11-03 2012-05-16 Ind Tech Res Inst Diagnosing device and an associated method for a motor device
TW201640273A (zh) * 2015-02-13 2016-11-16 英特爾股份有限公司 在多核心處理器中執行電源管理
TW201800898A (zh) * 2016-01-14 2018-01-01 英特爾股份有限公司 動態更新處理器的電源管理政策
CN108710555A (zh) * 2018-05-23 2018-10-26 郑州云海信息技术有限公司 一种基于监督学习的服务器错误诊断方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200915094A (en) * 2007-09-20 2009-04-01 Univ Far East Monitoring device and method for analyzing output signal of programmable logic chip by using wavelet transform
TW201219756A (en) * 2010-11-03 2012-05-16 Ind Tech Res Inst Diagnosing device and an associated method for a motor device
TW201640273A (zh) * 2015-02-13 2016-11-16 英特爾股份有限公司 在多核心處理器中執行電源管理
TW201730715A (zh) * 2015-02-13 2017-09-01 英特爾股份有限公司 在多核心處理器中執行電源管理
TW201800898A (zh) * 2016-01-14 2018-01-01 英特爾股份有限公司 動態更新處理器的電源管理政策
CN108710555A (zh) * 2018-05-23 2018-10-26 郑州云海信息技术有限公司 一种基于监督学习的服务器错误诊断方法

Also Published As

Publication number Publication date
TW202125246A (zh) 2021-07-01
US20210191723A1 (en) 2021-06-24

Similar Documents

Publication Publication Date Title
US11687139B2 (en) Multi-level CPU high current protection
US7392413B2 (en) Changing of operating voltage in semiconductor integrated circuit
JP6424271B2 (ja) 半導体装置
US7814343B2 (en) Semiconductor integrated circuit for reducing power consumption and enhancing processing speed
WO2022183877A1 (zh) 一种gpu服务器的电源冗余控制系统、方法及介质
US20090089543A1 (en) Integrated circuit performance improvement across a range of operating conditions and physical constraints
US20190286210A1 (en) Control scheme to temporarily raise supply voltage in response to sudden change in current demand
KR20210038288A (ko) 인공지능 칩 테스트 방법, 장치, 기기 및 저장매체
US9958922B2 (en) Low ripple mechanism of mode change in switched capacitor voltage regulators
TWI736079B (zh) 晶片及其異常處理方法
CN101196776B (zh) 加速器、信息处理装置和信息处理方法
CN118202319A (zh) 电源电压下降期间的性能管理
CN113127240A (zh) 芯片及其异常处理方法
US20190018470A1 (en) Interconnect serialization system and method
US20070055898A1 (en) Control of signal line voltages on a bus
US20210360118A1 (en) Communication apparatus, imaging apparatus, control method of the same, and storage medium
US11256537B2 (en) Interrupt control apparatus, interrupt control method, and computer readable medium
US7080185B2 (en) Bus control device altering drive capability according to condition
US20230421048A1 (en) Auto phase scaling for dynamic voltage id
US11899551B1 (en) On-chip software-based activity monitor to configure throttling at a hardware-based activity monitor
US11774993B2 (en) Power supply management device and power supply management method
TWI779586B (zh) 測試電路系統的方法及相關電路系統
US20240192755A1 (en) Mechanism to override standby power in large memory configuration of workstations to eliminate the need to increase power of standby power rail
TWI733305B (zh) 晶片及基於神經網路電路的電流調整方法
US20240219995A1 (en) Charge isolation architecture in voltage regulator for improved battery life, responsiveness and reduced acoustic noise