TWI818250B - 為計算核提供時鐘頻率的方法、晶片和資料處理設備 - Google Patents

為計算核提供時鐘頻率的方法、晶片和資料處理設備 Download PDF

Info

Publication number
TWI818250B
TWI818250B TW110113125A TW110113125A TWI818250B TW I818250 B TWI818250 B TW I818250B TW 110113125 A TW110113125 A TW 110113125A TW 110113125 A TW110113125 A TW 110113125A TW I818250 B TWI818250 B TW I818250B
Authority
TW
Taiwan
Prior art keywords
clock frequency
frequency
auxiliary
computing
main
Prior art date
Application number
TW110113125A
Other languages
English (en)
Other versions
TW202132938A (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 大陸商深圳比特微電子科技有限公司
Publication of TW202132938A publication Critical patent/TW202132938A/zh
Application granted granted Critical
Publication of TWI818250B publication Critical patent/TWI818250B/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/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • 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/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals
    • 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/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Computing Systems (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Power Sources (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Complex Calculations (AREA)

Abstract

本公開涉及為計算核提供時鐘頻率的方法、晶片和資料處理設備。提供了一種為計算核提供時鐘頻率的方法,包括:使主時頻單元向多個計算核提供第一主時鐘頻率;對在第一主時鐘頻率下運行的計算核進行測試,以確定計算核在第一主時鐘頻率下正常運行的通過率是大於第一通過率上限閾值還是小於第一通過率下限閾值;當通過率小於第一通過率下限閾值時,使附屬時頻單元向在第一主時鐘頻率下不正常運行的計算核提供比第一主時鐘頻率低的第一附屬時鐘頻率,並使主時頻單元繼續向其餘計算核提供第一主時鐘頻率;當通過率大於第一通過率上限閾值時,使主時頻單元向計算核提供比第一主時鐘頻率高的第二主時鐘頻率。

Description

為計算核提供時鐘頻率的方法、晶片和資料處理設備
本公開涉及計算機技術領域,特別涉及為計算核提供時鐘頻率的方法、具有計算核的晶片和包含這樣的晶片的資料處理設備,還涉及具有多計算核的計算機提高算力和降低功耗算力比的方法及系統。
隨著計算機技術的進步,各種具有超强算力的計算機出現了,這種計算機可以應用到各種所需的要求强算力的應用領域中,比如作為虛擬貨幣挖礦機用於賺取虛擬貨幣。通常,這種計算機可以包括多個晶片,每個晶片可以具有多個計算核,多個計算核可以並行進行大資料量的計算。當這種計算機作為虛擬貨幣挖礦機時,在多個計算核中並行運行挖礦算法,當計算結果符合某種特定要求時就可得到相應的虛擬貨幣。期望的是作為虛擬貨幣挖礦機的計算機在較短的時間獲取更多的虛擬貨幣。作為虛擬貨幣挖礦機的計算機的功耗對應成本,所以儘量提高算力(增加收益),降低功耗算力比(每單位算力消耗的成本)就成為提升虛擬貨幣挖礦機性能的關鍵。
這種具有多計算核的計算機在進行計算時為了實現最高算力和最低功耗算力比,在每個晶片中設置了多個並行運行的計算核以並行進行計算。對於這種計算機中的每個計算核,在理想狀態下,希望都能夠達到最高算力和最低功耗比。但是,考慮到這種計算機整機運行的穩定性及為各個計算核提供時鐘頻率的諸如鎖相環模組(PLL)或鎖頻環模組(FLL)之類的時頻單元所佔的面積及功耗,一個晶片中的所有計算核同時由設置在該晶片中的一個時頻單元提供時鐘頻率,也就是說,這種計算機中的每個晶片通常只有一個時頻單元用於為該晶片中的所有計算核提供統一的時鐘頻率。在這種情況下,為了保證該晶片中的所有計算核都能夠正常運行,該晶片的時頻單元提供的時鐘頻率通常由算力最差的計算核所需的時鐘頻率確定,而對於該晶片中的其他計算核,以所確定的較低的時鐘頻率運行往往無法達到其最高的算力。如果算力達不到要求,則為了提高算力,通常會提高該晶片的運行電壓,從而導致功耗就會相應增加,這帶來了計算機的算力損失和功耗算力比的增加。
根據本公開的第一方面,提供了一種為計算核提供時鐘頻率的方法,包括:使主時頻單元向多個計算核提供第一主時鐘頻率;對在第一主時鐘頻率下運行的多個計算核進行測試,以確定多個計算核在第一主時鐘頻率下正常運行的通過率是大於第一通過率上限閾值還是小於第一通過率下限閾值;當多個計算核在第一主時鐘頻率下正常運行的通過率小於第一通過率下限閾值時,使附屬時頻單元向多個計算核中的在第一主時鐘頻率下不正常運行的計算核提供比第一主時鐘頻率低的第一附屬時鐘頻率,並使主時頻單元繼續向多個計算核中的其餘計算核提供第一主時鐘頻率;以及當多個計算核在第一主時鐘頻率下正常運行的通過率大於第一通過率上限閾值時,使主時頻單元向多個計算核提供比第一主時鐘頻率高的第二主時鐘頻率。
在一些實施例中,該方法還包括:對在第二主時鐘頻率下運行的多個計算核進行測試,以確定多個計算核在第二主時鐘頻率下正常運行的通過率是大於第一通過率上限閾值還是小於第一通過率下限閾值;當多個計算核在第二主時鐘頻率下正常運行的通過率小於第一通過率下限閾值時,使附屬時頻單元向多個計算核中的在第二主時鐘頻率下不正常運行的計算核提供比第二主時鐘頻率低的第二附屬時鐘頻率,並使主時頻單元繼續向多個計算核中的其餘計算核提供第二主時鐘頻率;以及當多個計算核在第二主時鐘頻率下正常運行的通過率大於第一通過率上限閾值時,使主時頻單元向多個計算核提供比第二主時鐘頻率高的第三主時鐘頻率。
在一些實施例中,該方法還包括在使附屬時頻單元向多個計算核中的在第一主時鐘頻率下不正常運行的計算核提供比第一主時鐘頻率低的第一附屬時鐘頻率之後:對在第一主時鐘頻率下運行的其餘計算核進行測試,以確定其餘計算核在第一主時鐘頻率下正常運行的通過率是大於第二通過率上限閾值還是小於第二通過率下限閾值;當其餘計算核在所述第一主時鐘頻率下正常運行的通過率小於第二通過率下限閾值時,使主時頻單元向其餘計算核提供比第一主時鐘頻率低且比第一附屬時鐘頻率高的第四主時鐘頻率;以及當其餘計算核在第一主時鐘頻率下正常運行的通過率大於第二通過率上限閾值時,使主時頻單元向其餘計算核提供比第一主時鐘頻率高的第二主時鐘頻率。
在一些實施例中,該方法還包括在使主時頻單元向其餘計算核提供比第一主時鐘頻率低且比第一附屬時鐘頻率高的第四主時鐘頻率之後,通過包括如下步驟的過程確定主時頻單元要被配置為提供的最終主時鐘頻率:第一步驟,包括對由主時頻單元提供主時鐘頻率的所有計算核在主時頻單元當前所提供的主時鐘頻率下進行測試,以確定計算核在該主時鐘頻率下正常運行的通過率是大於第三通過率上限閾值還是小於第三通過率下限閾值,如果大於第三通過率上限閾值則執行第二步驟,如果小於第三通過率下限閾值則執行第三步驟,如果在第三通過率上限閾值與第三通過率下限閾值之間或者如果執行第二步驟和第三步驟的總次數超過第一預定次數閾值則執行第四步驟;第二步驟,包括使主時頻單元所提供的主時鐘頻率在小於第一主時鐘頻率的範圍內升高,並返回第一步驟;第三步驟,包括使主時頻單元所提供的主時鐘頻率在大於第一附屬時鐘頻率的範圍內降低,並返回第一步驟;以及第四步驟,包括將主時頻單元當前所提供的主時鐘頻率確定為主時頻單元的最終主時鐘頻率。
在一些實施例中,當其餘計算核在第一主時鐘頻率下正常運行的通過率在第二通過率上限閾值與第二通過率下限閾值之間時,將主時鐘單元的時鐘頻率確定為第一主時鐘頻率,並將附屬時鐘單元的時鐘頻率確定為第一附屬時鐘頻率,並將當前由主時鐘單元提供時鐘頻率的計算核確定為最終由主時鐘單元提供時鐘頻率的計算核,以及將當前由附屬時鐘單元提供時鐘頻率的計算核確定為最終由附屬時鐘單元提供時鐘頻率的計算核。
在一些實施例中,該方法還包括:對在第二主時鐘頻率下運行的其餘計算核進行測試,以確定其餘計算核在第二主時鐘頻率下正常運行的通過率是大於第二通過率上限閾值還是小於第二通過率下限閾值;當其餘計算核在第二主時鐘頻率下正常運行的通過率小於第二通過率下限閾值時,使附屬時頻單元向其餘計算核中的在第二主時鐘頻率下不正常運行的計算核提供比第二主時鐘頻率低的第二附屬時鐘頻率;以及當其餘計算核在第二主時鐘頻率下正常運行的通過率大於第二通過率上限閾值時,使主時頻單元向所述其餘計算核提供比第二主時鐘頻率高的第三主時鐘頻率。
在一些實施例中,當其餘計算核在第二主時鐘頻率下正常運行的通過率在第二通過率上限閾值與第二通過率下限閾值之間時,將主時鐘單元的時鐘頻率確定為第二主時鐘頻率,並將附屬時鐘單元的時鐘頻率確定為第一附屬時鐘頻率,並將當前由主時鐘單元提供時鐘頻率的計算核確定為最終由主時鐘單元提供時鐘頻率的計算核,以及將當前由附屬時鐘單元提供時鐘頻率的計算核確定為最終由附屬時鐘單元提供時鐘頻率的計算核。
在一些實施例中,第二通過率上限閾值等於或低於第一通過率上限閾值,或者第二通過率下限閾值等於或低於第一通過率下限閾值。
在一些實施例中,第二附屬時鐘頻率等於第一附屬時鐘頻率,或者附屬時頻單元所提供的附屬時鐘頻率隨主時頻單元當前所提供的主時鐘頻率變化而變化。
在一些實施例中,附屬時頻單元包括多個附屬時頻單元,該多個附屬時頻單元被配置為提供多個不同的附屬時鐘頻率。
在一些實施例中,該方法還包括當多個計算核在第一主時鐘頻率下正常運行的通過率小於第一通過率下限閾值時:將多個附屬時頻單元中的每個附屬時頻單元配置為提供比第一主時鐘頻率低的固定的附屬時鐘頻率;或者將多個附屬時頻單元配置為提供比第一主時鐘頻率低的與第一主時鐘頻率成等差數列的多個附屬時鐘頻率;或者將多個附屬時頻單元配置為提供比第一主時鐘頻率低的與第一主時鐘頻率成等比數列的多個附屬時鐘頻率;或者將多個附屬時頻單元中的每個附屬時頻單元配置為提供比第一主時鐘頻率低的初始附屬時鐘頻率,然後通過包括如下步驟的過程確定該附屬時頻單元要被配置為提供的最終附屬時鐘頻率:第一步驟,包括對由該附屬時頻單元提供附屬時鐘頻率的所有計算核在該附屬時頻單元當前所提供的附屬時鐘頻率下進行測試,以確定計算核在該附屬時鐘頻率下正常運行的通過率是大於第四通過率上限閾值還是小於第四通過率下限閾值,如果大於第四通過率上限閾值則執行第二步驟,如果小於第四通過率下限閾值則執行第三步驟,如果在第四通過率上限閾值與第四通過率下限閾值之間或者如果執行第二步驟和第三步驟的總次數超過第二預定次數閾值則執行第四步驟;第二步驟,包括使該附屬時頻單元所提供的附屬時鐘頻率升高,並返回第一步驟;第三步驟,包括使該附屬時頻單元所提供的附屬時鐘頻率降低,並返回第一步驟;以及第四步驟,包括將該附屬時頻單元當前所提供的附屬時鐘頻率確定為該附屬時頻單元的最終附屬時鐘頻率。
在一些實施例中,附屬時頻單元還包括兜底附屬時頻單元,兜底附屬時頻單元被配置為提供在計算核的工藝下能夠接受的最低時鐘頻率,或者被配置為提供多個計算核中算力最差的計算核所需的時鐘頻率。
在一些實施例中,當多個計算核在第一主時鐘頻率下正常運行的通過率小於第一通過率下限閾值時,將多個計算核中的在第一主時鐘頻率下不正常運行的計算核切換到多個附屬時頻單元。
在一些實施例中,將多個計算核中的在第一主時鐘頻率下不正常運行的計算核切換到多個附屬時頻單元包括將多個計算核中的在第一主時鐘頻率下不正常運行的計算核逐檔切換到多個附屬時頻單元,逐檔切換包括:將多個附屬時頻單元按照其提供的附屬時鐘頻率從高到低的順序分檔;使多個附屬時頻單元中的提供最高附屬時鐘頻率的最高檔的附屬時頻單元向在第一主時鐘頻率下不正常運行的計算核提供附屬時鐘頻率;以及將該最高檔的附屬時頻單元作為當前附屬時頻單元,並對當前附屬時頻單元循環進行如下逐檔切換過程:對由當前附屬時頻單元提供附屬時鐘頻率的所有計算核進行測試,以確定是否存在不正常運行的計算核;當存在不正常運行的計算核時,使比當前附屬時頻單元低一檔的附屬時頻單元向不正常運行的計算核提供附屬時鐘頻率,使當前附屬時頻單元向正常運行的計算核提供附屬時鐘頻率,並將比當前附屬時頻單元低一檔的附屬時頻單元作為更新的當前附屬時頻單元;以及當不存在不正常運行的計算核或不存在比當前附屬時頻單元低一檔的附屬時頻單元時,結束逐檔切換過程。
在一些實施例中,該方法還包括:當外部條件變化時,測試由多個附屬時頻單元中的每個附屬時頻單元提供時鐘頻率的計算核的運行情況;當由該附屬時頻單元提供時鐘頻率的計算核保持正常運行的時間段超過預定閾值時間段時,將該計算核切換到在多個附屬時頻單元和主時頻單元當中提供比該附屬時頻單元所提供的時鐘頻率高的時鐘頻率的時頻單元。
在一些實施例中,該方法是在包括多個計算核的晶片初始化時進行的。
在一些實施例中,當多個計算核在第一主時鐘頻率下正常運行的通過率大於第一通過率上限閾值時,使附屬時頻單元向多個計算核中的在第一主時鐘頻率下不正常運行的計算核提供比第一主時鐘頻率低的第一附屬時鐘頻率,並使主時頻單元向多個計算核中的其餘計算核提供比第一主時鐘頻率高的第二主時鐘頻率。
在一些實施例中,該方法還包括設置多個時鐘頻率範圍並針對所述多個時鐘頻率範圍中的每個時鐘頻率範圍設置對應的時鐘頻率調節步長,其中所述第一主時鐘頻率與所述第二主時鐘頻率之差是與所述多個時鐘頻率範圍中的所述第一主時鐘頻率落入其中的時鐘頻率範圍對應的時鐘頻率調節步長。
根據本公開的第二方面,提供了一種晶片,該晶片包括多個計算核以及用於為多個計算核提供時鐘頻率的主時頻單元和附屬時頻單元,其中,多個計算核中的由主時頻單元提供時鐘頻率的計算核、主時鐘單元所提供的時鐘頻率、多個計算核中的由所述附屬時頻單元提供時鐘頻率的計算核以及附屬時鐘單元所提供的時鐘頻率通過根據本公開的第一方面的任一實施例所述的方法確定。
根據本公開的第三方面,提供了一種資料處理設備,該資料處理設備包括一個或多個根據本公開的第二方面的任一實施例所述的晶片。
在一些實施例中,資料處理設備是虛擬貨幣挖礦機。
根據本公開的第四方面,提供了一種具有多計算核的計算機提高算力和降低功耗算力比的方法,該方法包括:在具有多計算核的計算機的每個晶片中,設置主時頻單元及至少一個附屬時頻單元;主時頻單元的時鐘頻率、晶片中的由主時頻單元提供時鐘頻率的計算核、及晶片中的由附屬時頻單元提供時鐘頻率的計算核經過測試確定,滿足晶片中的計算核運行正常通過率大於或等於設定的通過率閾值;測試是在具有多計算核的計算機初始化時進行的。
在一些實施例中,主時頻單元的時鐘頻率、晶片中的由主時頻單元提供時鐘頻率的計算核、及晶片中的由附屬時頻單元提供時鐘頻率的計算核經過測試確定包括執行根據本公開的第一方面的任一實施例任一項所述的方法。
根據本公開的第五方面,提供了一種提高虛擬貨幣挖礦機的算力和降低功耗算力比的系統,該系統包括具有多計算核的計算機中的至少一個晶片,其中,每個晶片包括:主時頻單元、附屬時頻單元及多個計算核,其中,主時頻單元用於為晶片中的部分計算核提供時鐘頻率;附屬時頻單元用於為晶片中的另外部分計算核提供時鐘頻率;主時頻單元的時鐘頻率、晶片中的由主時頻單元提供時鐘頻率的計算核、及晶片中的由附屬時頻單元提供時鐘頻率的計算核經過測試確定,滿足晶片中的計算核運行正常通過率大於或等於設定的通過率閾值;測試是在具有多計算核的計算機初始化時進行的。
在一些實施例中,主時頻單元的時鐘頻率、晶片中的由主時頻單元提供時鐘頻率的計算核、及晶片中的由附屬時頻單元提供時鐘頻率的計算核經過測試確定包括執行根據本公開的第一方面的任一實施例所述的方法。
根據本公開的第六方面,提供了一種計算裝置,包括:一個或多個處理器;以及存儲計算機可執行指令的記憶體,計算機可執行指令在被一個或多個處理器執行時使得一個或多個處理器執行根據本公開的第一方面的任一實施例所述的方法。
根據本公開的第六方面,提供了一種其上存儲有計算機可執行指令的非瞬態存儲介質,計算機可執行指令在被計算機執行時使得計算機執行根據本公開的第一方面的任一實施例所述的方法。
為使本公開的目的、技術方案及優點更加清楚明白,以下參照圖式並舉實施例,對本公開進一步詳細說明。應當注意,除非另外具體說明,否則在這些實施例中闡述的部件和步驟的相對佈佈置、數字表達式和數值不限制本公開的範圍。以下對至少一個示例性實施例的描述實際上僅僅是說明性的,決不作為對本公開及其應用或使用的任何限制。本領域的技術人員將會理解,它們僅僅說明可以用來實施本公開的示例性方式,而不是窮盡的方式。對於相關領域普通技術人員已知的技術、方法和設備可能不作詳細討論,但在適當情況下,所述技術、方法和設備應當被視為授權說明書的一部分。
對於具有多個計算核(core)的晶片(也可稱為計算晶片),通常在其中設置一個時頻單元(clock frequency unit)來為該晶片的所有計算核提供統一的時鐘頻率(“clock frequency”,在本文中,也可簡稱為頻率),以便這些計算核能夠執行並行計算。然而,由於生産過程中的工藝偏差等因素,同一晶片中所包括的不同計算核的性能可能各有優劣,這使得從單個計算核的角度來看,性能較好的計算核能夠在較高時鐘頻率下運行,而性能較差的計算核却只能在較低時鐘頻率下運行。這就造成當在同一晶片中設置一個時頻單元來為該晶片的所有計算核提供統一的時鐘頻率時,該時頻單元所提供的時鐘頻率往往由該晶片中性能最差的計算核決定,造成許多性能較好的計算核並不能在其所能適用的最高時鐘頻率下運行,從而導致算力的損失。而且,在這種情況下,為了提高算力,有時不得不提高晶片的運行電壓,這意味著功耗的上升。因此,這樣的晶片通常不期望地具有低算力、高功耗算力比。
有鑒於此,在本公開中,首先對於多個計算核由單一時頻單元提供時鐘頻率的情況,可以通過以下搜頻方法來搜索該時頻單元應該提供的時鐘頻率:
步驟1:設定該時頻單元的當前頻率,並在此當前頻率下,對由該時頻單元提供時鐘頻率的所有計算核進行測試,以確定計算核在該當前頻率下正常運行的通過率是大於通過率上限閾值還是小於通過率下限閾值,如果大於通過率上限閾值(這通常可以說明大多數計算核都能正常工作,較多計算核還有進一步提升頻率的潜力)則執行下述步驟2,如果小於通過率下限閾值(這通常可以說明一些計算核已不能正常工作)則執行下述步驟3,如果此時所有計算核已處於一個比較臨界的良好運行狀態(例如,如果通過率在通過率上限閾值與通過率下限閾值之間(應注意,本文所述的範圍“在A與B之間”可以包括A和B),或者如果執行調頻(即執行步驟2和步驟3)的總次數超過預定次數閾值)則執行以下步驟4;
步驟2:提升該時頻單元所提供的當前頻率(通常可以遞增固定的值,也可以具體視調頻情況而定,諸如但不限於隨著接近臨界情況而以越來越小的值進行升頻),並返回步驟1;
步驟3:降低該時頻單元所提供的當前頻率(通常可以遞减固定的值(該遞减值可以與步驟2的遞增值不同或相同),也可以具體視調頻情況而定,諸如但不限於隨著接近臨界情況而以越來越小的值進行降頻),並返回步驟1;
步驟4:將時頻單元當前所提供的時鐘頻率確定為該時頻單元應該提供的時鐘頻率。
例如,步驟1中的測試可以是指算力測試。當N(N為正整數)個計算核在時鐘頻率f下運行,此時總體理論算力可以表示為N×f。然後,可以對這N個計算核進行實際的算力測試。在對計算核進行算力測試時,可以向計算核發送測試向量(在本文中,也可稱為測試激勵)。計算核在接收測試向量或者說測試激勵後基於測試向量運行計算,並反饋計算結果(即測試激勵響應)。如果N個計算核中有n(n為不大於N的自然數)個計算核反饋正確計算結果,那麽在此時鐘頻率f下總體實際算力可以為n×f。因此,計算核在該頻率下正常運行的通過率可以表示為在該頻率下的總體實際算力與總體理論算力之比(n/N),其是指在當前時鐘頻率下運行正常的計算核數量佔計算核總數量的比例(在本文中可稱為“好核比”),此參數綜合考慮了由該時頻單元服務的所有計算核。
通過率上限閾值與通過率下限閾值可以根據實際情況(由該時頻單元服務的計算核數量、預期應用的需求、系統的穩定性等)具體設置,並且通過率下限閾值可以小於或等於通過率上限閾值。作為非限制性示例,通過率上限閾值例如可以取99%,此時通過率下限閾值例如可以取99%、98%、97%等。步驟2或步驟3中的調頻步長可以根據實際情況具體設置,例如可以為50MHz、30MHz、20MHz、15MHz、10MHz、5MHz等。
在上述單一時頻單元的搜頻方法中,可以綜合考慮由該單一時頻單元服務的所有計算核來確定這些計算核的適宜運行頻率。相比於使用性能最差的計算核所需的時鐘頻率而言,以這種方式確定的頻率可以實現較高的總體算力。
然而,本申請的發明人注意到,在上述單一時頻單元的搜頻方法中,還是存在性能優異的計算核犧牲算力而性能低劣的計算核亦無法正常運行導致其算力直接完全損失的問題。因此,本申請的發明人想到,可以在晶片中設置多個時頻單元,讓不同時頻單元為不同性能的計算核分別提供時鐘頻率,這樣可以讓不同性能的計算核在各自適宜的時鐘頻率下正常運行以開發其更大算力潜能。
因此,本公開的第一方面提供了一種為計算核提供時鐘頻率的方法,該方法能夠提高包含這些計算核的晶片的總體算力並實現降低的功耗算力比。下面結合圖式詳細描述根據本公開的一些實施例的為計算核提供時鐘頻率的方法。
圖1示出了根據本公開的一些實施例的為計算核提供時鐘頻率的方法100的流程圖。在晶片中可以設置多個時頻單元,該多個時頻單元可以包括主時頻單元(main clock frequency unit)和附屬時頻單元(auxiliary clock frequency unit)。例如,可以先測試晶片中包括的多個時頻單元中的每個時頻單元的性能(例如可以考慮該時頻單元所提供的時鐘信號的抖動量、時鐘頻率準確度等等),然後將性能較好或最好的那個時頻單元作為該晶片的主時頻單元(其可以為大多數計算核提供時鐘頻率),其餘時頻單元作為附屬時頻單元。主時頻單元和附屬時頻單元可以是任何適於設置在晶片中以用於為計算核提供時鐘頻率的部件,諸如但不限於鎖相環模組(PLL)或鎖頻環模組(FLL)等。
如圖1所示,方法100可以包括:在步驟101處,使主時頻單元向多個計算核提供第一主時鐘頻率;在步驟102處,對在第一主時鐘頻率下運行的該多個計算核進行測試;在步驟103處,確定該多個計算核在第一主時鐘頻率下正常運行的通過率是大於第一通過率上限閾值還是小於第一通過率下限閾值。當該多個計算核在第一主時鐘頻率下正常運行的通過率小於第一通過率下限閾值時,則方法100可以前進到步驟105,在步驟105處,使附屬時頻單元向該多個計算核中的在第一主時鐘頻率下不正常運行的計算核提供比第一主時鐘頻率低的第一附屬時鐘頻率,並使主時頻單元繼續向該多個計算核中的其餘計算核提供第一主時鐘頻率。當該多個計算核在第一主時鐘頻率下正常運行的通過率大於第一通過率上限閾值時,則方法100可以前進到步驟104,在步驟104處,使主時頻單元向該多個計算核提供比第一主時鐘頻率高的第二主時鐘頻率。另外,當該多個計算核在第一主時鐘頻率下正常運行的通過率在第一通過率上限閾值與第一通過率下限閾值之間時,說明此時從整體上看目前晶片的設置已滿足期望算力需求,因此可以前進到步驟106結束方法100。此時各時頻單元與計算核的對應關係以及各時頻單元的時鐘頻率被確定為用於晶片的最終設置。
在一些實施例中,當該多個計算核在第一主時鐘頻率下正常運行的通過率大於第一通過率上限閾值時,在步驟104處可以替代地進行以下操作:使附屬時頻單元向該多個計算核中的在第一主時鐘頻率下不正常運行的計算核提供比第一主時鐘頻率低的第一附屬時鐘頻率,並使主時頻單元向該多個計算核中的其餘計算核提供比第一主時鐘頻率高的第二主時鐘頻率。在這樣的情況下,即使該多個計算核在第一主時鐘頻率下正常運行的通過率大於第一通過率上限閾值,如果並不是通過率為100%(通過率為100%即該多個計算核中的所有計算核在第一主時鐘頻率下都正常運行),那麽獨立於對主時頻單元升頻的過程,也可以將該多個計算核中的在第一主時鐘頻率下不正常運行的計算核中的一些或全部切換到附屬時頻單元,使得留在主時頻單元上的計算核整體上更具升頻空間。應理解,將計算核從主時頻單元切換到附屬時頻單元以及對主時頻單元進行升頻可以是獨立的過程,二者並不衝突。
可以理解的是,雖然在本文中將等於第一通過率上限閾值或第一通過率下限閾值的情況分配至步驟106,但是在一些實施例中,也可以將等於第一通過率上限閾值的情況分配至步驟104,或將等於第一通過率下限閾值的情況分配給步驟105。這在本公開中不受特別限制,並且這樣的描述也適用於本文中其它類似之處。在一些實施例中,第一通過率下限閾值可以等於第一通過率上限閾值。在這樣的情況下,可以將通過率上限閾值和通過率下限閾值統稱為通過率閾值,由此,在一些示例中,可以在通過率大於或等於(或者大於)通過率閾值時升頻(以及在一些示例中,附加地進行附屬時頻單元切換(如果存在不正常運行的計算核的話))並在通過率小於(或者小於或等於)通過率閾值時進行附屬時頻單元切換,或者在另一些示例中,可以在通過率大於通過率閾值時升頻(以及在一些示例中,附加地進行附屬時頻單元切換(如果存在不正常運行的計算核的話))、在通過率小於通過率閾值時進行附屬時頻單元切換、並在通過率等於通過率閾值時結束調整。
應理解,術語“主時鐘頻率”和“附屬時鐘頻率”都是時鐘頻率,僅是為了區分由主時頻單元提供的時鐘頻率和由附屬時頻單元提供的時鐘頻率。此外,術語“測試”和“通過率”與前文描述的“測試”和“通過率”的含義相同,在此不再贅述。
在方法100中,可以先將晶片中的多個計算核都分配給主時頻單元並讓主時頻單元向計算核提供初始主時鐘頻率,然後根據計算核在該初始主時鐘頻率下的測試通過率進行決策。如果通過率高於上限閾值,則說明由主時頻單元服務的這些計算核在整體上還存在算力提升的空間,因而可以對主時頻單元升頻(以及在一些示例中,附加地進行附屬時頻單元切換(如果存在不正常運行的計算核的話))。如果通過率低於下限閾值,則說明已有部分計算核不能正常運行,此時可以將部分不能正常運行的計算核切換給附屬時頻單元,以免它們拖累尚能正常運行的其餘計算核。如果通過率在上限閾值與下限閾值之間,則說明此時的設置已經滿足預期。
在一些實施例中,方法100還可以包括如圖2所示的步驟。圖2描述的是在方法100的步驟104之後的操作。在步驟104處,由於在步驟103處發現計算核在第一主時鐘頻率下正常運行的通過率大於第一通過率上限閾值而使主時頻單元向計算核提供比第一主時鐘頻率高的第二主時鐘頻率,因此如圖2所示,在主時頻單元升頻之後可以在步驟1042處對在第二主時鐘頻率下運行的該多個計算核進行測試,然後在步驟1043處確定該多個計算核在第二主時鐘頻率下正常運行的通過率是大於第一通過率上限閾值還是小於第一通過率下限閾值。當多個計算核在第二主時鐘頻率下正常運行的通過率小於第一通過率下限閾值時,可以在步驟1045處使附屬時頻單元向該多個計算核中的在第二主時鐘頻率下不正常運行的計算核提供比第二主時鐘頻率低的第二附屬時鐘頻率,並使主時頻單元繼續向該多個計算核中的其餘計算核提供第二主時鐘頻率。當該多個計算核在第二主時鐘頻率下正常運行的通過率大於第一通過率上限閾值時,可以在步驟1044處使主時頻單元向該多個計算核提供比第二主時鐘頻率高的第三主時鐘頻率(即,對主時頻單元繼續升頻)。另外,當該多個計算核在第二主時鐘頻率下正常運行的通過率在第一通過率上限閾值與第一通過率下限閾值之間時,說明此時從整體上看目前晶片的設置已滿足算力需求,因此可以前進到步驟1046結束方法。此時各時頻單元與計算核的對應關係以及各時頻單元的時鐘頻率被確定為用於晶片的最終設置。
在一些實施例中,當該多個計算核在第二主時鐘頻率下正常運行的通過率大於第一通過率上限閾值時,在步驟1044處可以替代地進行以下操作:使附屬時頻單元向該多個計算核中的在第二主時鐘頻率下不正常運行的計算核提供比第二主時鐘頻率低的第二附屬時鐘頻率,並使主時頻單元向該多個計算核中的其餘計算核提供比第二主時鐘頻率高的第三主時鐘頻率。
在一些實施例中,主時頻單元可以通過遞增固定的頻率差來進行升頻,即第一主時鐘頻率與第二主時鐘頻率之間以及第二主時鐘頻率與第三主時鐘頻率之間可以相差固定的頻率差值。該固定的頻率差值可以根據實際情況具體設置,例如可以為50MHz、30MHz、20MHz、15MHz、10MHz、5MHz等。
在一些實施例中,還可以設置多個時鐘頻率範圍並針對該多個時鐘頻率範圍中的每個時鐘頻率範圍設置對應的時鐘頻率調節步長。在一些示例中,這些時鐘頻率範圍可以彼此不重疊但彼此相接(例如,第一時鐘頻率範圍為[0, f1 ),第二時鐘頻率範圍為[f1 , f2 ),第三時鐘頻率範圍為[f2 , f3 ),…,第i時鐘頻率範圍為[fi-1 , fi ),…,等等,其中fi >fi-1 >...>f3 >f2 >f1 >0)。在一些示例中,較高的時鐘頻率範圍可以具有較小的時鐘頻率調節步長(例如,第一時鐘頻率範圍[0, f1 )的時鐘頻率調節步長為Δf1 ,第二時鐘頻率範圍[f1 , f2 )的時鐘頻率調節步長為Δf2 ,第三時鐘頻率範圍[f2 , f3 ) 的時鐘頻率調節步長為Δf3 ,…,第i時鐘頻率範圍[fi-1 , fi ) 的時鐘頻率調節步長為Δfi ,…,等等,其中Δfi <...<Δf3 <Δf2 <Δf1 )。因此,對於方法100來說,第一主時鐘頻率與第二主時鐘頻率之差可以是與多個時鐘頻率範圍中的第一主時鐘頻率落入其中的時鐘頻率範圍對應的時鐘頻率調節步長,第二主時鐘頻率與第三主時鐘頻率之差可以是與多個時鐘頻率範圍中的第二主時鐘頻率落入其中的時鐘頻率範圍對應的時鐘頻率調節步長。在一些示例中,第一主時鐘頻率與第二主時鐘頻率之差可以大於第二主時鐘頻率與第三主時鐘頻率之差。這樣,在動態調頻過程中,可以根據當前時鐘頻率來控制調頻精度,以儘量精確地、高效地確定時頻單元的時鐘頻率。
在一些實施例中,還可以設置多個升頻次數閾值和多個升頻遞增值,例如在不超過第一升頻次數閾值時,可以設置第一升頻遞增值,在超過第一升頻次數閾值但不超過大於第一升頻次數閾值的第二升頻次數閾值時,可以設置小於第一升頻遞增值的第二升頻遞增值,依次類推。這樣是因為,在升頻過程中將越來越接近晶片的極限,因此可以從粗調升頻逐漸轉變為細調升頻,以儘量精確地確定主時頻單元的時鐘頻率。
在一些實施例中,第二附屬時鐘頻率可以等於第一附屬時鐘頻率。在其它一些實施例中,附屬時頻單元所提供的附屬時鐘頻率隨主時頻單元當前所提供的主時鐘頻率變化而變化。例如,附屬時頻單元所提供的附屬時鐘頻率可以始終與主時頻單元所提供的主時鐘頻率相差預設百分比(例如,10%、7%、5%、3%、2%、1%等),或者附屬時頻單元所提供的附屬時鐘頻率可以始終與主時頻單元所提供的主時鐘頻率相差預設差值(例如,100MHz、50MHz、30MHz、20MHz、15MHz、10MHz、5MHz等)。舉例來說,當在步驟103中發現該多個計算核在第一主時鐘頻率下正常運行的通過率小於第一通過率下限閾值時,假設此時第一主時鐘頻率為600MHz,則此時可以將不能正常運行的計算核切換給附屬時頻單元並使附屬時頻單元提供580MHz的第一附屬時鐘頻率(與第一主時鐘頻率相差20MHz)。當在步驟103中發現該多個計算核在第一主時鐘頻率下正常運行的通過率大於第一通過率上限閾值但在步驟1043中發現該多個計算核在第二主時鐘頻率下正常運行的通過率小於第一通過率下限閾值時,假設此時第二主時鐘頻率為650MHz,則此時可以將不能正常運行的計算核切換給附屬時頻單元並使附屬時頻單元提供630MHz的第二附屬時鐘頻率(與第二主時鐘頻率相差20MHz)。在一些實施例中,當附屬時頻單元未被分配有計算核時,可以不開啓附屬時頻單元以節省功耗。
可以理解,在步驟1044之後,可以重複應用圖2所示的過程,如果這些計算核還能在升頻後的主時頻單元下實現高於通過率上限閾值的正常運行通過率,則可以繼續對主時頻單元升頻(以及在一些示例中,附加地進行附屬時頻單元切換(如果存在不正常運行的計算核的話))。一旦在主時頻單元的後續升頻過程中發現這些計算核不再能實現高於通過率上限閾值的正常運行通過率,就可以在通過率低於通過率下限閾值時將不能正常運行的計算核切換到附屬時頻單元,如步驟105、1045那樣,或者在通過率介於通過率上限閾值與通過率下限閾值之間時結束方法。
在一些實施例中,方法100還可以包括如圖3所示的步驟。圖3描述的是在方法100的步驟105之後的操作。在步驟105處,由於在步驟103處發現計算核在第一主時鐘頻率下正常運行的通過率小於第一通過率下限閾值而使附屬時頻單元向該多個計算核中的在第一主時鐘頻率下不正常運行的計算核提供比第一主時鐘頻率低的第一附屬時鐘頻率並使主時頻單元繼續向該多個計算核中的其餘計算核提供第一主時鐘頻率,因此如圖3所示,在不正常運行的計算核被切換給附屬時頻單元之後,可以在步驟1052處對在第一主時鐘頻率下運行的其餘計算核進行測試,並在步驟1053處確定其餘計算核在第一主時鐘頻率下正常運行的通過率是大於第二通過率上限閾值還是小於第二通過率下限閾值。當其餘計算核在第一主時鐘頻率下正常運行的通過率小於第二通過率下限閾值時,可以在步驟1055處使主時頻單元向其餘計算核提供比第一主時鐘頻率低且比第一附屬時鐘頻率高的第四主時鐘頻率(即,對主時頻單元降頻)。當其餘計算核在第一主時鐘頻率下正常運行的通過率大於第二通過率上限閾值時,可以在步驟1054處使主時頻單元向其餘計算核提供比第一主時鐘頻率高的第二主時鐘頻率(即,對主時頻單元繼續升頻)。另外,當其餘計算核在第一主時鐘頻率下正常運行的通過率在第二通過率上限閾值與第二通過率下限閾值之間時,說明此時從整體上看目前晶片的設置已滿足算力需求,因此可以前進到步驟1056結束方法。此時各時頻單元與計算核的對應關係以及各時頻單元的時鐘頻率被確定為用於晶片的最終設置,即可以將主時鐘單元的時鐘頻率確定為第一主時鐘頻率,並將附屬時鐘單元的時鐘頻率確定為第一附屬時鐘頻率,並將當前由主時鐘單元提供時鐘頻率的計算核確定為最終由主時鐘單元提供時鐘頻率的計算核,以及將當前由附屬時鐘單元提供時鐘頻率的計算核確定為最終由附屬時鐘單元提供時鐘頻率的計算核。
在一些實施例中,當其餘計算核在第一主時鐘頻率下正常運行的通過率大於第二通過率上限閾值時,在步驟1054處可以替代地進行以下操作:使附屬時頻單元向該多個計算核中的在第一主時鐘頻率下不正常運行的計算核提供比第一主時鐘頻率低的第一附屬時鐘頻率,並使主時頻單元向該多個計算核中的其餘計算核提供比第一主時鐘頻率高的第二主時鐘頻率。也就是說,如果在將部分不正常運行的計算核切換至附屬時頻單元後發現其餘計算核的通過率大於通過率上限閾值了,那麽除了可以對主時頻單元進行升頻之外,還可以附加地將更多不正常運行的計算核(如果還有的話)切換至附屬時頻單元,以進一步拓展留在主時頻單元上的計算核的升頻空間。
第二通過率上限閾值與第二通過率下限閾值的相對關係可以類似於第一通過率上限閾值與第一通過率下限閾值的相對關係,在此不再贅述。
在一些實施例中,第二通過率上限閾值可以等於或低於第一通過率上限閾值。在一些實施例中,第二通過率下限閾值可以等於或低於第一通過率下限閾值。在一些實施例中,第二通過率上限閾值可以等於或低於第一通過率上限閾值,並且第二通過率下限閾值可以等於或低於第一通過率下限閾值。這是因為,此時由主時頻單元服務的計算核的數量减少了。可以理解,當100個計算核中只有10個計算核不正常運行時,通過率為90%,但是50個計算核中也有10個計算核不正常運行時,通過率僅為80%。因此,可以隨著由主時頻單元服務的計算核的數量的變化,而適當調節通過率上限閾值和通過率下限閾值中的至少一個。
如果在步驟1053中確定其餘計算核在第一主時鐘頻率下正常運行的通過率大於第二通過率上限閾值,則說明在移除不正常運行的計算核之後,其餘計算核仍有算力提升空間,因而可以對主時頻單元繼續升頻(以及在一些示例中,附加地進行附屬時頻單元切換(如果存在不正常運行的計算核的話))。在步驟1054之後的操作可以類似於圖2。例如,可以對在第二主時鐘頻率下運行的其餘計算核進行測試,以確定其餘計算核在第二主時鐘頻率下正常運行的通過率是大於第二通過率上限閾值還是小於第二通過率下限閾值。當其餘計算核在第二主時鐘頻率下正常運行的通過率小於第二通過率下限閾值時,可以使附屬時頻單元向其餘計算核中的在第二主時鐘頻率下不正常運行的計算核提供比第二主時鐘頻率低的第二附屬時鐘頻率(在此之後,還可以類似地繼續重複圖3的方法)。當其餘計算核在第二主時鐘頻率下正常運行的通過率大於第二通過率上限閾值時,可以使主時頻單元向其餘計算核提供比第二主時鐘頻率高的第三主時鐘頻率(以及在一些示例中,附加地進行附屬時頻單元切換(如果存在不正常運行的計算核的話))(在此之後,還可以類似地繼續重複圖2的方法)。另外,在一些實施例中,當其餘計算核在第二主時鐘頻率下正常運行的通過率在第二通過率上限閾值與第二通過率下限閾值之間時,可以將主時鐘單元的時鐘頻率確定為第二主時鐘頻率,並將附屬時鐘單元的時鐘頻率確定為第一附屬時鐘頻率,並將當前由主時鐘單元提供時鐘頻率的計算核確定為最終由主時鐘單元提供時鐘頻率的計算核,以及將當前由附屬時鐘單元提供時鐘頻率的計算核確定為最終由附屬時鐘單元提供時鐘頻率的計算核。
如果在步驟1053中確定其餘計算核在第一主時鐘頻率下正常運行的通過率仍低於第二通過率下限閾值,則說明即使將性能差的部分計算核部分切換到附屬時頻單元後,主時頻單元所關聯的計算核正常運行的通過率還是未達標,此時晶片可能已經快達到極限了,或者此時把過多的計算核切換到附屬時頻單元可能不利地帶來算力損失,因而可以對主時頻單元降頻。通常,主時頻單元的降頻幅度可以小於主時頻單元與附屬時頻單元的頻率差。在一些實施例中,在步驟1055處使主時頻單元向其餘計算核提供比第一主時鐘頻率低且比第一附屬時鐘頻率高的第四主時鐘頻率之後,可以通過包括如下步驟的過程確定主時頻單元要被配置為提供的最終主時鐘頻率:第一步驟,包括對由主時頻單元提供主時鐘頻率的所有計算核在主時頻單元當前所提供的主時鐘頻率下進行測試,以確定計算核在該主時鐘頻率下正常運行的通過率是大於第三通過率上限閾值還是小於第三通過率下限閾值,如果大於第三通過率上限閾值則執行第二步驟,如果小於第三通過率下限閾值則執行第三步驟,如果在第三通過率上限閾值與第三通過率下限閾值之間則執行第四步驟;第二步驟,包括使主時頻單元所提供的主時鐘頻率在小於第一主時鐘頻率的範圍內升高,並返回第一步驟;第三步驟,包括使主時頻單元所提供的主時鐘頻率在大於第一附屬時鐘頻率的範圍內降低,並返回第一步驟;第四步驟,包括將主時頻單元當前所提供的主時鐘頻率確定為主時頻單元的最終主時鐘頻率。附加地或替代地,還可以包括對調頻次數(執行第二步驟和第三步驟的總次數)的確定,如果執行第二步驟和第三步驟的總次數超過第一預定次數閾值則執行第四步驟。這樣是為了權衡調頻效率與耗時。
第三通過率上限閾值與第三通過率下限閾值的相對關係可以類似於第一通過率上限閾值與第一通過率下限閾值的相對關係,在此不再贅述。
例如,方法100還可以包括如圖4所示的步驟。圖4描述的是在步驟1055之後的操作,這些操作可以類似於上述單一時頻單元的搜頻方法,此時對象是主時頻單元。也就是說,在此階段,不再對計算核的分配進行進一步調整,而只是對主時頻單元的具體頻率進一步調整。具體地,在圖4中,在步驟1055處,使主時頻單元向其餘計算核提供比第一主時鐘頻率低且比第一附屬時鐘頻率高的第四主時鐘頻率。此後,在步驟1055A處,對由主時頻單元提供主時鐘頻率的所有計算核在主時頻單元當前所提供的主時鐘頻率下進行測試。在步驟1055B處,確定計算核在該主時鐘頻率下正常運行的通過率是大於第三通過率上限閾值還是小於第三通過率下限閾值。如果大於第三通過率上限閾值則可以前進到步驟1055C以判斷調頻次數是否超過第一預定次數閾值,如果沒超過則可以前進到步驟1055E以使主時頻單元所提供的主時鐘頻率在小於第一主時鐘頻率的範圍內升高(例如,可以遞增固定的頻率差值),然後返回步驟1055A。如果小於第三通過率下限閾值則可以前進到步驟1055D以判斷調頻次數是否超過第一預定次數閾值,如果沒超過則可以前進到步驟1055F以使主時頻單元所提供的主時鐘頻率在大於第一附屬時鐘頻率的範圍內降低(例如,可以遞减固定的頻率差值),然後返回步驟1055A。如果在步驟1055B中確定計算核在該主時鐘頻率下正常運行的通過率在第三通過率上限閾值與第三通過率下限閾值之間或者如果在步驟1055C或步驟1055D中確定調頻次數超過第一預定次數閾值,則可以前進到步驟1055G以將主時頻單元當前所提供的主時鐘頻率確定為主時頻單元的最終主時鐘頻率。
在一些實施例中,主時頻單元的時鐘頻率調節步長(包括步驟1055F中的降頻步長和步驟1055E中的升頻步長)可以隨著調頻(包括升頻和降頻)次數的增加而减小。這樣,可以逐漸趨近主時頻單元的合適時鐘頻率。
在一些實施例中,第三通過率上限閾值可以等於第二通過率上限閾值。在一些實施例中,第三通過率下限閾值可以等於第二通過率下限閾值。
對於以上需要將不能正常運行的計算核切換至附屬時頻單元的各種情況,在一些實施例中,可以通過以下方法來尋找不能正常運行的計算核:對該計算核發送一次測試向量,如果返回結果錯誤則說明該計算核不能正常運行。這樣是考慮到切換過程的及時性和響應性要求。否則可能出現還沒選擇好將哪些計算核切換走但主時頻單元可能已經調頻(升頻/降頻)的情況,這會影響對調頻後的主時頻單元的判斷。在另一些實施例中,也可以對該計算核發送多次不同的測試向量,如果返回結果的錯誤比例超出預設閾值比例則說明該計算核不能正常運行。這樣是考慮到判斷結果的準確性。在另一些實施例中,也可以對該計算核連續發送多次不同的測試向量,如果連續返回錯誤結果的次數超出預設閾值次數(比如連續三次返回的結果都是錯誤的)則說明該計算核不能正常運行。這樣也是考慮到判斷結果的準確性。
此外,對於以上需要將不能正常運行的計算核切換至附屬時頻單元的各種情況,可以將不能正常運行的計算核中的一部分或全部切換至附屬時頻單元。例如,被切換至附屬時頻單元的計算核佔不能正常運行的計算核的數量比可以為至少50%,或者至少60%,或者至少70%,或者至少80%,或者90%,或者為100%。在一些實施例中,對於圖3中在步驟1053中確定其餘計算核在第一主時鐘頻率下正常運行的通過率低於第二通過率下限閾值之後在進行步驟1055中的主時頻單元的降頻之前,還可以附加地包括以下步驟:確定被切換至附屬時頻單元的計算核佔在第一主時鐘頻率下不能正常運行的計算核的數量比是否達到預設閾值數量比(可以根據具體需要設置,例如可以設置為100%、95%、90%等),如果已達到則可以繼續進行步驟1055中的主時頻單元的降頻,如果尚未達到則可以進一步將更多的在第一主時鐘頻率下不能正常運行的計算核切換至附屬時頻單元(例如可以增加預設數量的計算核,或增加預設比例(例如在第一主時鐘頻率下不能正常運行的計算核的5%、3%、1%等)的計算核,或以其他方式增加被切換的計算核),然後返回圖3中的步驟105。應理解,將計算核從主時頻單元切換到附屬時頻單元以及對主時頻單元進行升頻/降頻可以是獨立的過程,二者並不衝突。
在一些實施例中,附屬時頻單元可以包括多個附屬時頻單元,該多個附屬時頻單元可以被配置為提供多個不同的附屬時鐘頻率。在一些實施例中,考慮到時頻單元在晶片中的佔用面積及功耗等,可以控制時頻單元的總數量。在一些示例中,可以將時頻單元的總數量控制在4個以內,例如可以有一個主時頻單元以及兩到三個附屬時頻單元。當然,設置更多的時頻單元也是可行的。
在包括多個附屬時頻單元的情況下,以圖1的步驟105為例,當多個計算核在第一主時鐘頻率下正常運行的通過率小於第一通過率下限閾值時:在一些實施例中,可以將每個附屬時頻單元配置為提供比第一主時鐘頻率低的固定(不隨主時鐘頻率變化而變化)的附屬時鐘頻率;在一些實施例中,可以將多個附屬時頻單元配置為提供比第一主時鐘頻率低的與第一主時鐘頻率成等差數列(例如,該等差數列的公差可以是50MHz、30MHz、20MHz、10MHz、5MHz等)的多個附屬時鐘頻率;在一些實施例中,可以將多個附屬時頻單元配置為提供比第一主時鐘頻率低的與第一主時鐘頻率成等比數列(例如,該等比數列的公比可以是10%、7%、5%、3%等)的多個附屬時鐘頻率;在一些實施例中,可以將每個附屬時頻單元配置為提供比第一主時鐘頻率低的初始附屬時鐘頻率,然後可以通過類似於上述單一時頻單元的搜頻方法來將該附屬時頻單元作為對象進行搜頻。例如,附屬時頻單元的搜頻方法可以包括具有如下步驟的過程來確定該附屬時頻單元要被配置為提供的最終附屬時鐘頻率:第一步驟,包括對由該附屬時頻單元提供附屬時鐘頻率的所有計算核在該附屬時頻單元當前所提供的附屬時鐘頻率下進行測試,以確定計算核在該附屬時鐘頻率下正常運行的通過率是大於第四通過率上限閾值還是小於第四通過率下限閾值,如果大於第四通過率上限閾值則執行第二步驟,如果小於第四通過率下限閾值則執行第三步驟,如果在第四通過率上限閾值與第四通過率下限閾值之間或者如果執行第二步驟和第三步驟的總次數超過第二預定次數閾值則執行第四步驟;第二步驟,包括使該附屬時頻單元所提供的附屬時鐘頻率升高(例如,可以遞增固定的頻率差值),並返回第一步驟;第三步驟,包括使該附屬時頻單元所提供的附屬時鐘頻率降低((例如,可以遞减固定的頻率差值)),並返回第一步驟;第四步驟,包括將該附屬時頻單元當前所提供的附屬時鐘頻率確定為該附屬時頻單元的最終附屬時鐘頻率。
圖5示出了附屬時頻單元的示例搜頻方法200。在步驟201處,使附屬時頻單元向由其提供附屬時鐘頻率的計算核提供初始附屬時鐘頻率。此後,在步驟202處,對由附屬時頻單元提供附屬時鐘頻率的所有計算核在附屬時頻單元當前所提供的附屬時鐘頻率下進行測試。在步驟203處,確定計算核在該附屬時鐘頻率下正常運行的通過率是大於第四通過率上限閾值還是小於第四通過率下限閾值。如果大於第四通過率上限閾值則可以前進到步驟204以判斷調頻次數是否超過第二預定次數閾值,如果沒超過則可以前進到步驟206以使附屬時頻單元所提供的附屬時鐘頻率升高(例如,可以遞增固定的頻率差值),然後返回步驟202。如果小於第四通過率下限閾值則可以前進到步驟205以判斷調頻次數是否超過第二預定次數閾值,如果沒超過則可以前進到步驟207以使附屬時頻單元所提供的附屬時鐘頻率降低(例如,可以遞减固定的頻率差值),然後返回步驟202。如果在步驟203中確定計算核在該附屬時鐘頻率下正常運行的通過率在第四通過率上限閾值與第四通過率下限閾值之間或者如果在步驟204或步驟205中確定調頻次數超過第二預定次數閾值,則可以前進到步驟208以將附屬時頻單元當前所提供的附屬時鐘頻率確定為附屬時頻單元的最終附屬時鐘頻率。如前所述,步驟204和步驟205是可選的。
在一些實施例中,附屬時頻單元的時鐘頻率調節步長(包括步驟207中的降頻步長和步驟206中的升頻步長)可以隨著調頻(包括升頻和降頻)次數的增加而减小。這樣,可以逐漸趨近附屬時頻單元的合適時鐘頻率。
第四通過率上限閾值與第四通過率下限閾值的相對關係可以類似於第一通過率上限閾值與第一通過率下限閾值的相對關係,在此不再贅述。
應理解,第四通過率上限閾值可以等於或低於前述第三通過率上限閾值,第四通過率下限閾值可以等於或低於前述第三通過率上限閾值,這是因為,如前所述,附屬時頻單元上所分配的計算核數量往往小於主時頻單元上所分配的計算核數量。另外第二預定次數閾值可以與針對主時頻單元的第一預定次數閾值相同或不同,具體可視情況而定。
應注意,在一些實施例中,在多個附屬時鐘頻率與主時鐘頻率成等差數列或等比數列的情況下,多個附屬時鐘頻率可以隨主時鐘頻率變化而變化。例如,在步驟105中,此時主時頻單元提供的第一主時鐘頻率為600MHz,多個附屬時頻單元提供的多個附屬時鐘頻率可以是580MHz、560MHz、540MHz、……(公差為20MHz),或者可以為570MHz、542MHz、514MHz、……(公比為5%)。當進行到步驟1045時,此時主時頻單元提供的第二主時鐘頻率為650MHz,多個附屬時頻單元提供的多個附屬時鐘頻率可以是630MHz、610MHz、590MHz、……(公差為20MHz),或者可以為618MHz、587MHz、557MHz、……(公比為5%)。當然,附屬時鐘頻率也可以與主時鐘頻率具有其它類型的相關性,在本文中不作具體限制。
在一些實施例中,附屬時頻單元還可以包括兜底附屬時頻單元,該兜底附屬時頻單元可以被配置為提供在計算核或者說晶片的工藝下能夠接受的最低時鐘頻率,或者被配置為提供多個計算核(晶片)中算力最差的計算核所需的時鐘頻率。該兜底附屬時頻單元提供的時鐘頻率可以是固定值。在另一些實施例中,該兜底附屬時頻單元提供的時鐘頻率也可以是通過使該兜底附屬時頻單元對晶片中的所有計算核提供時鐘頻率然後執行前述單一時頻單元的搜頻方法來確定的。
對於上述附屬時頻單元的各種頻率設定方式,可以根據包含計算核的晶片的具體製造工藝等多方面因素來具體選擇。例如,可以根據具體晶片製造工藝下不同計算核之間的工藝偏差分佈來選擇。在一些實施例中,工藝偏差分佈是線性的,則可以採用多個附屬時鐘頻率與主時鐘頻率成等差數列的設定方式。在一些實施例中,工藝偏差分佈是冪律分佈的,則可以採用多個附屬時鐘頻率與主時鐘頻率成等比數列的設定方式。在一些實施例中,工藝偏差分佈包括個別偏差極大者,則可以採用圖5所示的設定方式。
另外,對於包括多個附屬時頻單元的情況,將不正常運行的計算核分別切換到不同的附屬時頻單元可以根據設置的切換方式進行,所設置的切換方式有多種,比如:隨機切換方式、輪詢切換方式、逐檔切換方式等等。例如對於逐檔切換方式,在一些實施例中,將不正常運行的計算核逐檔切換到多個附屬時頻單元可以包括將多個附屬時頻單元按照其提供的附屬時鐘頻率從高到低的順序分檔,使多個附屬時頻單元中的提供最高附屬時鐘頻率的最高檔的附屬時頻單元向不正常運行的計算核提供附屬時鐘頻率,將該最高檔的附屬時頻單元作為當前附屬時頻單元,並對當前附屬時頻單元循環進行如下逐檔切換過程:對由當前附屬時頻單元提供附屬時鐘頻率的所有計算核進行測試,以確定是否存在不正常運行的計算核;當存在不正常運行的計算核時,使比當前附屬時頻單元低一檔的附屬時頻單元向不正常運行的計算核提供附屬時鐘頻率,使當前附屬時頻單元向正常運行的計算核提供附屬時鐘頻率,並將比當前附屬時頻單元低一檔的附屬時頻單元作為更新的當前附屬時頻單元;以及當不存在不正常運行的計算核或不存在比當前附屬時頻單元低一檔的附屬時頻單元時,結束逐檔切換過程。在一些實施例中,在進行逐檔切換附屬時頻單元時,也可以類似於針對主時頻單元的操作,即把當前檔的附屬時頻單元看作是“主時頻單元”,並把較低檔的附屬時頻單元看作是相對於當前檔的附屬時頻單元的“附屬時頻單元”,然後對當前檔的附屬時頻單元進行前述通過率測試,並在通過率低於預設閾值時,將不正常運行的計算核中的部分或全部切換到較低檔的附屬時頻單元,在此不再贅述。
具體地,圖6詳細地描述了多個附屬時頻單元的逐檔切換方式的示例過程300。在步驟301處,可以將多個附屬時頻單元按照其提供的附屬時鐘頻率從高到低的順序分檔。例如,提供最高附屬時鐘頻率的附屬時頻單元被定為最高檔,提供最低附屬時鐘頻率的附屬時頻單元被定為最低檔。在步驟302處,可以使多個附屬時頻單元中的提供最高附屬時鐘頻率的最高檔的附屬時頻單元向在主時頻單元所提供的主時鐘頻率(例如,對於步驟105是第一主時鐘頻率,對於步驟1045是第二主時鐘頻率,等等)下不正常運行的計算核提供附屬時鐘頻率。在步驟303處,可以將該最高檔的附屬時頻單元作為當前附屬時頻單元。此後,可以對當前附屬時頻單元循環進行如下逐檔切換過程:在步驟304處,可以對由當前附屬時頻單元提供附屬時鐘頻率的所有計算核進行測試;在步驟305處,可以確定是否存在不正常運行的計算核,如果是則可以前進到步驟306,如果否則可以前進到步驟308結束逐檔切換過程;在步驟306處,可以確定是否存在比當前附屬時頻單元低一檔的附屬時頻單元,如果是則可以前進到步驟307,如果否則可以前進到步驟308結束逐檔切換過程;在步驟307處,可以使比當前附屬時頻單元低一檔的附屬時頻單元向不正常運行的計算核提供附屬時鐘頻率,使當前附屬時頻單元向正常運行的計算核提供附屬時鐘頻率,並將比當前附屬時頻單元低一檔的附屬時頻單元作為更新的當前附屬時頻單元,然後返回至步驟304。在一些實施例中,如果在步驟306中為“否”,即又存在不正常的計算核又沒有更低檔的附屬時頻單元了,此時也可以對當前附屬時頻單元進行降頻。
另外,對於以任何切換方式切換至相應附屬時頻單元的計算核,計算核與附屬時頻單元的對應關係並非只能固定不變的。因為外部條件(例如晶片電壓等)可能會變化,或者之前對計算核是否正常運行的判斷可能存在錯誤,或者可能有其它原因的存在,所以在首次切換後還可以對計算核與時頻單元的對應關係進行調整。除了可以將不正常運行的計算核向下切換至提供更低時鐘頻率的附屬時頻單元(例如類似於上述逐檔切換)外,還可以將正常運行甚至表現優秀的計算核向上切換至提供更高時鐘頻率的附屬時頻單元甚至切換回主時頻單元。
在一些實施例中,當外部條件(例如晶片電壓等)變化時,可以測試由多個附屬時頻單元中的每個附屬時頻單元提供時鐘頻率的計算核的運行情況;當由該附屬時頻單元提供時鐘頻率的計算核保持正常運行的時間段超過預定閾值時間段時,將該計算核切換到在多個附屬時頻單元和主時頻單元當中提供比該附屬時頻單元所提供的時鐘頻率高的時鐘頻率的時頻單元。
該預定閾值時間段可以是根據經驗設定的,或者根據實際需要設定的。在一些實施例中,預定閾值時間段可以與該計算核已經歷的切換次數有關。在一些示例中,在該計算核經歷了越多次的向下切換時,用於判斷該計算核是否可以向上切換到提供更高時鐘頻率的時頻單元的預定閾值時間段可以被設置得越長。在一些實施例中,預定閾值時間段可以與該計算核目前所對應的附屬時頻單元所提供的時鐘頻率有關。在一些示例中,在該計算核目前所對應的附屬時頻單元所提供的時鐘頻率越高時,用於判斷該計算核是否可以向上切換到提供更高時鐘頻率的時頻單元的預定閾值時間段可以被設置得越長。
在一些實施例中,在超出該預定閾值時間段的時間段中,可以多次向計算核發送測試激勵以查看其運行狀況,如果該計算核一直可以返回正確結果,可以說明該計算核在該時間段內一直正常運行。在一些實施例中,當計算核在與其對應的附屬時頻單元所提供的時鐘頻率下保持正常運行的時間段超過預定閾值時間段時,可以將計算核切換至上一檔(或多檔)附屬時頻單元。如果切換後計算核仍可以保持正常運行的時間段超過預定閾值時間段,則可以將計算核切換至再上一檔(或多檔)附屬時頻單元。如果計算核已對應於最高檔附屬時頻單元,則當計算核在與其對應的最高檔附屬時頻單元所提供的最高附屬時鐘頻率下保持正常運行的時間段超過預定閾值時間段時,可以將計算核切換回主時頻單元。如果切換後計算核不能正常運行了(例如可以經由多次測試確定),則可以將計算核又切換回原先檔(或低一檔)附屬時頻單元。在一些實施例中,可以進行如下限制:經過一次或多次向上切換後的計算核一旦再經歷一次向下切換就不再進行附加切換了。
在一些實施例中,根據本公開的上述方法可以在包含計算核的晶片初始化時進行。由於在晶片或包括晶片的資料處理設備(例如,計算機,虛擬貨幣挖礦機等)開始正常工作之前的初始化階段進行上述方法,確定晶片所包括的多個計算核和多個時頻單元之間的對應關係以及相應時頻單元的時鐘頻率,使得在正式工作之後,無需再調整計算核的運行頻率,促進晶片的穩定運行,利於從整體上提高晶片的算力並降低功耗算力比。
在上述方法中,以“通過率閾值”作為是否切換時頻單元的判斷條件,可以從整體上綜合考慮晶片的所有計算核的總體算力。將性能偏差的計算核切換到附屬時頻單元可以有助於提升保留在主時頻單元上的計算核正常運行的通過率(即好核比),從而幫助那些性能較好的保留在主時頻單元上的計算核可以實現整體升頻的目的。
在上述方法中,主時頻單元總體上可以處於動態升頻過程,然後在趨於極限時可以採用包含升/降頻的搜頻方法確定最終頻率。附屬時頻單元可以提供固定頻率,也可以提供隨主時鐘頻率變化的頻率,還可以獨立採用包含升/降頻的搜頻方法確定最終頻率。附屬時頻單元的頻率調整過程可以獨立於主時頻單元的頻率調整過程,二者並不衝突。
下面描述確定晶片所包括的多個計算核和多個時頻單元之間的對應關係以及相應時頻單元的時鐘頻率的具體示例流程。
首先,啓動晶片,啓用晶片的主時頻單元並給主時頻單元設定一個較低的初始頻率,可以將晶片的所有計算核都分配給主時頻單元。具體地,為了使得晶片預熱以及保持運行穩定,主時頻單元通常會從低時鐘頻率向高時鐘頻率逐漸上升。例如,該初始頻率可以是人為設定的經驗值,也可以是在晶片的工藝下能夠接受的最低時鐘頻率,或者可以是晶片中算力最差的計算核所需的時鐘頻率,還可以是通過使主時頻單元對晶片中的所有計算核提供時鐘頻率然後執行前述單一時頻單元的搜頻方法來確定的。可以在晶片預熱完成之後(此時電路狀態較為穩定)進行後續步驟。
然後,在該初始頻率下,對所有計算核進行算力測試。由於初始頻率較低,此時計算核正常運行的通過率往往可以達到預設上限閾值。
接著,對主時頻單元升頻(例如,遞增預設固定值)。在一些情況下,在通過率達到預設上限閾值但不是100%時,可以附加地進行以下過程:啓用(一個或多個)附屬時頻單元並按如前所述的方式為附屬時頻單元設定附屬時鐘頻率,然後將不正常運行的計算核中的至少一部分切換至附屬時頻單元,以拓展主時頻單元的升頻空間。
當主時頻單元的時鐘頻率上升到一定值時,計算核正常運行的通過率會低於預設下限閾值,說明出現較多計算核不能正常運行。此時,可以啓用(一個或多個)附屬時頻單元並按如前所述的方式為附屬時頻單元設定附屬時鐘頻率,然後將不正常運行的計算核中的至少一部分切換至附屬時頻單元。
此時,由於部分性能差的計算核已被切換走,因此留在主時頻單元上的計算核在整體上通常可以表現出更高的通過率,當通過率高於預設上限閾值時,可以繼續對主時頻單元升頻(例如,遞增預設固定值)。如果在後續升頻過程中,發現即使移除性能差的計算核後,留在主時頻單元上的計算核在整體上表現出的通過率依然低於預設下限閾值,則說明晶片接近極限,因此可以對主時頻單元進行降頻。當在某一主時鐘頻率下留在主時頻單元上的計算核的通過率在預設上限閾值和預設下限閾值之間時,可以將該主時鐘頻率確定為最終要由主時頻單元提供的時鐘頻率,並將當前留在主時頻單元上的計算核確定為晶片中由主時頻單元提供時鐘頻率的計算核。與之獨立地,在附屬時頻單元的切換和頻率調整結束後,可以將各個附屬時頻單元的當前時鐘頻率確定為最終要由附屬時頻單元提供的時鐘頻率,並將當前留在各個附屬時頻單元上的計算核確定為晶片中由各個附屬時頻單元分別提供時鐘頻率的計算核。
因此,根據本公開的為計算核提供時鐘頻率的方法能夠提升多個計算核的總體算力、降低功耗算力比。
本公開還可以提供一種計算裝置,該計算裝置可以包括一個或多個處理器以及存儲計算機可執行指令的記憶體,計算機可執行指令在被一個或多個處理器執行時使得一個或多個處理器執行根據本公開的第一方面的任一實施例所述的方法。如圖10所示,計算裝置700可以包括(一個或多個)處理器701以及存儲計算機可執行指令的記憶體702,計算機可執行指令在被(一個或多個)處理器701執行時使得(一個或多個)處理器701執行根據本公開的第一方面的任一實施例所述的方法。(一個或多個)處理器701例如可以是計算裝置700的中央處理單元(CPU)。(一個或多個)處理器701可以是任何類型的通用處理器,或者可以是專門設計用於確定如何為晶片中的計算核提供時鐘頻率的處理器,諸如專用集成電路(“ASIC”)。記憶體702可以包括可由(一個或多個)處理器701訪問的各種計算機可讀介質。在各種實施例中,本文描述的記憶體702可以包括易失性和非易失性介質、可移除和不可移除介質。例如,記憶體702可以包括以下的任何組合:隨機存取記憶體(“RAM”)、動態RAM(“DRAM”)、靜態RAM(“SRAM”)、唯讀記憶體(“ROM”)、閃存、高速緩衝記憶體和/或任何其它類型的非瞬態計算機可讀介質。記憶體702可以存儲在被處理器701執行時使得處理器701執行根據本公開的第一方面的任一實施例所述的方法。
另外,本公開還可以提供一種其上存儲有計算機可執行指令的非瞬態存儲介質,計算機可執行指令在被計算機執行時使得計算機執行根據本公開的第一方面的任一實施例所述的方法。
本公開的第二方面提供了一種晶片,該晶片可以包括多個計算核以及用於為多個計算核提供時鐘頻率的主時頻單元和附屬時頻單元,其中,多個計算核中的由主時頻單元提供時鐘頻率的計算核、主時鐘單元所提供的時鐘頻率、多個計算核中的由附屬時頻單元提供時鐘頻率的計算核以及附屬時鐘單元所提供的時鐘頻率可以通過根據本公開的第一方面的任一實施例所述的方法確定。
圖9示出了根據本公開的第二方面的一些實施例的晶片600。晶片600可以包括多個計算核611、612、……、61n以及主時頻單元620和(一個或多個)附屬時頻單元630。主時頻單元620和(一個或多個)附屬時頻單元630可以為多個計算核611、612、……、61n中的相應計算核提供時鐘頻率。多個計算核611、612、……、61n中的由主時頻單元620提供時鐘頻率的計算核、主時鐘單元620所提供的時鐘頻率、多個計算核611、612、……、61n中的由(一個或多個)附屬時頻單元630提供時鐘頻率的計算核以及(一個或多個)附屬時頻單元630所提供的時鐘頻率可以通過根據本公開的第一方面的任一實施例所述的方法確定。應理解,實際的晶片600可能還存在其它部件,但是為了避免模糊本公開的要點,本文沒有討論並且圖式也沒有圖示其它部件。
根據本公開的第三方面,還可以提供包括一個或多個根據本公開的第二方面所述的晶片的資料處理設備。在一些實施例中,資料處理設備可以是虛擬貨幣挖礦機。
為了使得諸如虛擬貨幣挖礦機的具有多計算核的計算機提高算力和降低功耗算力比,本公開的第四方面還提供了一種具有多計算核的計算機提高算力和降低功耗算力比的方法,該方法包括在具有多計算核的計算機的每個晶片中,設置主時頻單元及至少一個附屬時頻單元,其中,主時頻單元的時鐘頻率、晶片中的由主時頻單元提供時鐘頻率的計算核、及晶片中的由附屬時頻單元提供時鐘頻率的計算核是經過測試確定的,滿足晶片中的計算核運行正常通過率大於或等於設定的通過率閾值,從而能夠讓晶片中的最大數量的計算核運行正常。
在一些實施例中,附屬時頻單元提供的時鐘頻率可以是預設值,或者可以是根據主時頻單元提供的時鐘頻率及預設的階梯差值確定的。在一些實施例中,附屬時頻單元提供的時鐘頻率可以按照以上在本公開第一方面中描述的用於設定附屬時頻單元的附屬時鐘頻率的任何合適方式來確定。
在本公開的實施例中,主時頻單元和附屬時頻單元都可以是鎖相環模組(PLL),或者是鎖頻環模組(FLL),只要能為計算核提供時鐘頻率即可。
圖7示出了根據本公開的第四方面的一些實施例的具有多計算核的計算機提高算力和降低功耗算力比的方法400的流程圖。方法400可以包括如下步驟:
在步驟401處,在具有多計算核的計算機的每個晶片中,設置主時頻單元及至少一個附屬時頻單元;
在步驟402處,主時頻單元的時鐘頻率、晶片中的由主時頻單元提供時鐘頻率的計算核、及晶片中的由附屬時頻單元提供時鐘頻率的計算核是經過測試確定的,滿足晶片中的計算核運行正常通過率大於或等於設定的通過率閾值。
在一些實施例中,附屬時頻單元提供的時鐘頻率可以採用預設值。在一些實施例中,附屬時頻單元提供的時鐘頻率可以根據主時頻單元提供的時鐘頻率及預設的階梯差值確定,具體可以被設置為主時頻單元提供的時鐘頻率與預設的階梯差值之間的差值。在一些實施例中,附屬時頻單元提供的時鐘頻率可以按照以上在本公開第一方面中描述的用於設定附屬時頻單元的附屬時鐘頻率的任何合適方式來確定。
在一些實施例中,附屬時頻單元可以包括至少一個附屬時頻單元,分別為不同的計算核提供時鐘頻率。在一些實施例中,至少一個附屬時頻單元中的每個附屬時頻單元提供的時鐘頻率可以採用預設值。在一些實施例中,至少一個附屬時頻單元中的每個附屬時頻單元提供的時鐘頻率可以根據主時頻單元提供的時鐘頻率及預設的階梯差值確定。在一些實施例中,至少一個附屬時頻單元中的每個附屬時頻單元提供的時鐘頻率可以按照以上在本公開第一方面中描述的用於設定附屬時頻單元的附屬時鐘頻率的任何合適方式來確定。至少一個附屬時頻單元中的不同附屬時頻單元提供的時鐘頻率可以不同。
在一些實施例中,測試過程是具有多計算核的計算機在進行初始化時進行的
在一些實施例中,主時頻單元的時鐘頻率、晶片中的由主時頻單元提供時鐘頻率的計算核、及晶片中的由附屬時頻單元提供時鐘頻率的計算核經過測試確定可以包括執行根據本公開的第一方面的任一實施例所述的方法。
圖8具體示出了根據本公開的第四方面的一些實施例提供的測試過程的示例方法500的流程圖,方法500可以具體包括如下步驟。
在步驟501處,啓動晶片後,晶片中的主時頻單元為晶片中的所有計算核提供初始時鐘頻率。在一些實施例中,晶片中的主時頻單元提供的初始時鐘頻率可以是一個較低的頻率值。具體地,為了使得具有多計算核的計算機預熱以及保持運行穩定,主時頻單元通常會從低時鐘頻率向高時鐘頻率逐漸上升。主時頻單元的初始時鐘頻率可以如以上在第一方面中所討論的那樣。在一些實施例中,附屬時頻單元提供的時鐘頻率可以由該晶片中的算力最差的計算核所需的時鐘頻率確定,該晶片中的算力最差的計算核所需的時鐘頻率是基於同等工藝條件下的計算核所需的時鐘頻率經驗值確定的,當然,也可以按照以上在第一方面中所討論的那樣設定附屬時頻單元的頻率。
在步驟502處,晶片中的所有計算核在發送的測試激勵(或者說測試向量)下進行測試。在一些實施例中,測試激勵可以是由計算機的中央處理器發送給每個晶片中的計算核的,計算核在接收後基於測試激勵運行,反饋測試激勵響應,以便後續計算機的中央處理器根據激勵響應判斷計算核是否運行正常,如果是,則該計算核測試通過,如果否,則該計算核測試不通過。計算核通過測試的通過率也可以看作是計算核運行正常的通過率。
在步驟503處,判斷晶片中的進行測試的計算核的測試通過率是否大於或等於設定的通過率閾值,如果是,則執行步驟504,如果否,則執行步驟505。
在步驟504處,將晶片中的主時頻單元的時鐘頻率遞增設定的頻率差值,返回步驟502繼續執行。例如,所設定的頻率差值可以是預設的經驗值,在本文中不具體限定。
在步驟505處,將晶片中未通過運行測試的計算核切換到附屬時頻單元上,由附屬時頻單元採用設置的時鐘頻率為其提供時鐘頻率,返回步驟502執行。在一些實施例中,附屬時頻單元的時鐘頻率可以為固定值,該固定值可以為工藝條件下晶片的最慢時鐘頻率的經驗值,也就是短板效應的短板值,比如是晶片中的算力最差的計算核所需的時鐘頻率。在一些實施例中,附屬時頻單元的時鐘頻率也可以是一個變化值,該變化值是根據主時頻單元提供的時鐘頻率確定的,例如根據時頻單元提供的時鐘頻率及預設的階梯差值確定的,該階梯差值可以是根據工藝條件下晶片中的不同計算核的工作時鐘差值範圍及經驗值結合確定的。另外,在一些實施例中,附屬時頻單元的時鐘頻率也可以根據本公開第一方面中描述的方式確定。
在一些實施例中,如果有多個附屬時頻單元,也可以將晶片中未通過運行測試的計算核分別切換到不同的附屬時頻單元上,由不同的附屬時頻單元為切換到自身的計算核提供時鐘頻率。在這裡,如前所述,將晶片中未通過運行測試的計算核分別切換到不同的附屬時頻單元上可以根據設置的切換方式進行,所設置的切換方式可以有多種,比如:隨機切換方式、輪詢切換方式、逐檔切換方式等等。
圖8所示的過程雖然使得晶片中的計算核要經過多次切換才能確定為其提供時鐘頻率的時頻單元(可以是主時頻單元或者是附屬時頻單元),但是由於圖8的過程是在測試時進行的,具體是在計算機初始化時進行的,所以在計算機後續的工作狀態下,就不會再進行計算核的時鐘頻率切換,不會影響計算機中各個晶片的工作穩定性。
在圖8的過程中,當步驟503判斷晶片中的進行測試的計算核通過測試的通過率是否大於或等於設定的通過率閾值還包括:當判斷晶片中的進行測試的計算核通過測試的通過率等於設定的通過率閾值,或者超出通過率閾值的量在設定範圍內時,則結束測試過程;在結束測試過程時,將主時頻單元當前提供的時鐘頻率、由主時頻單元當前提供時鐘頻率的計算核、由附屬時頻單元當前提供時鐘頻率的計算核,分別作為晶片中的主時頻單元的時鐘頻率、由主時頻單元提供時鐘頻率的計算核、及由附屬時頻單元提供時鐘頻率的計算核。
該設定範圍通常可以為可設定的較小範圍。在一些實施例中,設定範圍是一個經驗值,其使得通過率不會超過通過率閾值很多,比如兩者差值僅僅是個位數級別。也就是說,設定範圍實際上就是通過率閾值的一個修訂範圍值,來保證通過率超過通過率閾值的量落入設定範圍時,整個測試也可以結束。如果設定範圍設置得過大,則可能存在問題,說明整個測試過程中晶片的各個計算核可能還沒有最終確定出最合適的時鐘頻率,仍需要按照圖8的過程繼續執行,直到為晶片中的各個計算核確定出最合適的時鐘頻率。
以下以具有多計算核的計算機為虛擬貨幣挖礦機為例,對採用本公開實施例的測試方法的一個非限制性示例進行具體說明。
第一步驟,虛擬貨幣挖礦機中的一個晶片啓動,同時開啓該晶片的2個或更多個時頻單元。在這裡,開啓時頻單元的數目取決於晶片內的時頻單元數量,可以將1個性能最佳的時頻單元設置為主時頻單元,該時頻單元提供一個較低的起始時鐘頻率,從低時鐘頻率逐步上升到高時鐘頻率對晶片中的計算核測試;同時也將另外的時頻單元設置為附屬時頻單元,設定固定時鐘頻率,該固定時鐘頻率值是將在該工藝條件下晶片最慢頻率的經驗值,也就是短板效應的短板值。根據可以使用的附屬時頻單元的數目,分階梯地去設置相對較低的時鐘頻率值,也就是不同的附屬時頻單元設置的固定時鐘頻率可以是不同的。在第一步驟中,根據晶片所設置的工藝條件,就可以知道各個時頻單元的性能,將其中的性能最佳的時頻單元作為主時頻單元。
第二步驟,採用主時頻單元為晶片中的每個計算核提供由低到高的時鐘頻率,時鐘頻率由低開始,每次增加設定的頻率差值,發送測試激勵使得晶片中的每個計算核進行運行測試,檢查所有計算核是否通過測試,當通過率達到要求,將繼續提升時鐘頻率,當通過率沒有達到要求,進行進一步的分析。
第三步驟,當通過率達不到要求時,也就是有一部分工藝偏差大的計算核無法在目前的時鐘頻率下運行正常,導致晶片中的計算核的運行測試失敗率增多,不能再繼續提高主時頻單元的時鐘頻率,否則很多計算核不能正常工作,損失算力。此時可以將這部分計算核切換到之前設定的提供相對低的時鐘頻率的附屬時頻單元上,其他計算核繼續由主時頻單元提供時鐘頻率,同時主時頻單元繼續升頻。
第四步驟,經過運行測試,切換到附屬時頻單元的計算核可以成功通過測試,並且附屬時頻單元的頻率是之前設定好的,不會發生變動,所以這些計算核將會穩定的工作。這樣整體測試通過率提高,主時頻單元會保持將時鐘頻率繼續升頻,當又有一批計算核測試運行失敗時,繼續重複第三步驟和第四步驟,如果有其他的附屬時頻單元沒有使用,比如提供的時鐘頻率相對最慢的附屬時頻單元快一些,也可以將新的一批測試失敗的計算核切換到新的附屬時頻單元,可以提高更多的算力。
這樣,本公開實施例通過對晶片中的少部分的算力不强的計算核切換到提供相對低時鐘頻率的附屬時頻單元上,讓晶片中的大多數計算核具有其能夠具有的最高算力,有效提高了算力和降低了功耗算力比。
本公開的第五方面還提供了具有多計算核的計算機提高算力和降低功耗算力比的系統。該系統可以包括具有多計算核的計算機中的至少一個晶片(例如參考圖9的晶片600),其中,每個晶片可以包括主時頻單元、附屬時頻單元及多個計算核。主時頻單元可以用於為晶片中的部分計算核提供時鐘頻率。附屬時頻單元可以用於為晶片中的另外部分計算核提供時鐘頻率。主時頻單元的時鐘頻率、晶片中的由主時頻單元提供時鐘頻率的計算核、及晶片中的由附屬時頻單元提供時鐘頻率的計算核是經過測試確定的,滿足晶片中的計算核運行正常通過率大於或等於設定的通過率閾值。
在一些實施例中,主時頻單元的時鐘頻率、晶片中的由主時頻單元提供時鐘頻率的計算核、及晶片中的由附屬時頻單元提供時鐘頻率的計算核經過測試確定可以包括執行根據本公開的第一方面的任一實施例所述的方法。
在一些實施例中,該系統還可以包括中央處理器。該中央處理器可以用於控制主時頻單元及附屬時頻單元的時鐘頻率以及對計算核進行主時頻單元及附屬時頻單元的切換。該中央處理器還可以用於向計算核發送測試激勵。
在一些實施例中,附屬時頻單元提供的時鐘頻率可以採用根據本公開第一方面描述的各種頻率設定方法來設定。在一些實施例中,附屬時頻單元提供的時鐘頻率可以採用預設值。在一些實施例中,附屬時頻單元提供的時鐘頻率可以根據主時頻單元提供的時鐘頻率及預設的階梯差值確定,具體可以被設置為主時頻單元提供的時鐘頻率與預設的階梯差值之間的差值。
在一些實施例中,測試過程可以是系統在初始化時進行的。
在一些實施例中,系統可以包括至少一個附屬時頻單元,每個附屬時頻單元分別為不同的計算核提供時鐘頻率。在一些實施例中,每個附屬時頻單元提供的時鐘頻率可以採用根據本公開第一方面描述的各種頻率設定方法來設定。在一些實施例中,每個附屬時頻單元提供的時鐘頻率可以採用預設值。在一些實施例中,每個附屬時頻單元提供的時鐘頻率可以根據主時頻單元提供的時鐘頻率及預設的階梯差值確定。不同附屬時頻單元提供的時鐘頻率可以不同。
如果在諸如虛擬貨幣挖礦機的具有多計算核的計算機中的工作狀態下,頻繁動態切換晶片中的時頻單元,則會使得晶片的電壓不穩定,從而影響具有多計算核的計算機的穩定性,本公開的實施例採用測試方法,在晶片初始化階段,就確定了主時頻單元的時鐘頻率、晶片中的由主時頻單元提供時鐘頻率的計算核、及晶片中的由附屬時頻單元提供時鐘頻率的計算核,在實際運行中不需要再頻繁切換晶片中的時頻單元,從而保持了具有多計算核的計算機工作的穩定性,同時又能將算力較差的計算核正確地切換到對應的多檔附屬時頻單元上,由多檔附屬時頻單元提供時鐘頻率,也不需要提高晶片電壓去提高晶片中的計算核的算力,使得諸如虛擬貨幣挖礦機的具有多計算核的計算機具有更高的算力和更低的功耗算力比。
說明書及申請專利範圍中的詞語“左”、“右”、“前”、“後”、“頂”、“底”、“上”、“下”、“高”、“低”等,如果存在的話,用於描述性的目的而並不一定用於描述不變的相對位置。應當理解,這樣使用的詞語在適當的情況下是可互換的,使得在此所描述的本公開的實施例,例如,能夠在與在此所示出的或另外描述的那些取向不同的其它取向上操作。例如,在圖式中的裝置倒轉時,原先描述為在其它特徵“之上”的特徵,此時可以描述為在其它特徵“之下”。裝置還可以以其它方式定向(旋轉90度或在其它方位),此時將相應地解釋相對空間關係。
在說明書及申請專利範圍中,稱一個元件位於另一元件“之上”、“附接”至另一元件、“連接”至另一元件、“耦合”至另一元件、或“接觸”另一元件等時,該元件可以直接位於另一元件之上、直接附接至另一元件、直接連接至另一元件、直接耦合至另一元件或直接接觸另一元件,或者可以存在一個或多個中間元件。相對照的是,稱一個元件“直接”位於另一元件“之上”、“直接附接”至另一元件、“直接連接”至另一元件、“直接耦合”至另一元件或“直接接觸”另一元件時,將不存在中間元件。在說明書及申請專利範圍中,一個特徵佈置成與另一特徵“相鄰”,可以指一個特徵具有與相鄰特徵重疊的部分或者位於相鄰特徵上方或下方的部分。
如在此所使用的,詞語“示例性的”意指“用作示例、實例或說明”,而不是作為將被精確複製的“模型”。在此示例性描述的任意實現方式並不一定要被解釋為比其它實現方式優選的或有利的。而且,本公開不受在技術領域、背景技術、發明內容或具體實施方式中所給出的任何所表述的或所暗示的理論所限定。如在此所使用的,詞語“基本上”意指包含由設計或製造的缺陷、器件或元件的容差、環境影響和/或其它因素所致的任意微小的變化。詞語“基本上”還允許由寄生效應、噪聲以及可能存在於實際的實現方式中的其它實際考慮因素所致的與完美的或理想的情形之間的差異。
另外,僅僅為了參考的目的,還可以在本文中使用“第一”、“第二”等類似術語,並且因而並非意圖限定。例如,除非上下文明確指出,否則涉及結構或元件的詞語“第一”、“第二”和其它此類數字詞語並沒有暗示順序或次序。還應理解,“包括/包含”一詞在本文中使用時,說明存在所指出的特徵、整體、步驟、操作、單元和/或組件,但是並不排除存在或增加一個或多個其它特徵、整體、步驟、操作、單元和/或組件以及/或者它們的組合。在本公開中,術語“提供”從廣義上用於涵蓋獲得對象的所有方式,因此“提供某對象”包括但不限於“購買”、“製備/製造”、“佈置/設置”、“安裝/裝配”、和/或“訂購”對象等。如本文所使用的,術語“和/或”包括相關聯的列出項目中的一個或多個的任何和所有組合。本文中使用的術語只是出於描述特定實施例的目的,並不旨在限制本公開。如本文中使用的,單數形式“一”、“一個”和“該”也旨在包括複數形式,除非上下文另外清楚指示。
本領域技術人員應當意識到,在上述操作之間的邊界僅僅是說明性的。多個操作可以結合成單個操作,單個操作可以分佈於附加的操作中,並且操作可以在時間上至少部分重疊地執行。而且,另選的實施例可以包括特定操作的多個實例,並且在其它各種實施例中可以改變操作順序。但是,其它的修改、變化和替換同樣是可能的。可以以任何方式和/或與其它實施例的方面或元件相結合地組合以上公開的所有實施例的方面和元件,以提供多個附加實施例。因此,本說明書和圖式應當被看作是說明性的,而非限制性的。
雖然已通過示例對本公開的一些特定實施例進行了詳細說明,但本領域技術人員應該理解,以上示例僅是為了進行說明,而不是為了限制本公開的範圍。在此公開的各實施例可以任意組合而不脫離本公開的精神和範圍。本領域技術人員還應理解,可以對實施例進行多種修改而不脫離本公開的範圍和精神。本公開的範圍由所附申請專利範圍來限定。
600:晶片 611,612,61n:計算核 620:主時頻單元 630:附屬時頻單元 700:計算裝置 701:處理器 702:記憶體
圖1至圖4是示出根據本公開的一些實施例的為計算核提供時鐘頻率的方法的流程圖;
圖5是示出根據本公開的一些實施例的用於確定附屬時頻單元的附屬時鐘頻率的方法的流程圖;
圖6是示出根據本公開的一些實施例的用於將計算核逐檔切換到多個附屬時頻單元的方法的流程圖;
圖7是示出根據本公開的一些實施例的具有多計算核的計算機提高算力和降低功耗算力比的方法的流程圖;
圖8是示出根據本公開的一些實施例的測試過程的流程圖;
圖9是示出根據本公開的一些實施例的晶片的示意性方塊圖;
圖10是示出根據本公開的一些實施例的計算裝置的示意性方塊圖。

Claims (25)

  1. 一種為計算核提供時鐘頻率的方法,包括:使主時頻單元向多個計算核提供第一主時鐘頻率;對在所述第一主時鐘頻率下運行的所述多個計算核進行測試,以確定所述多個計算核在所述第一主時鐘頻率下正常運行的通過率是大於第一通過率上限閾值還是小於第一通過率下限閾值;當所述多個計算核在所述第一主時鐘頻率下正常運行的通過率小於所述第一通過率下限閾值時,使附屬時頻單元向所述多個計算核中的在所述第一主時鐘頻率下不正常運行的計算核提供比所述第一主時鐘頻率低的第一附屬時鐘頻率,並使所述主時頻單元繼續向所述多個計算核中的其餘計算核提供所述第一主時鐘頻率;以及當所述多個計算核在所述第一主時鐘頻率下正常運行的通過率大於所述第一通過率上限閾值時,使所述主時頻單元向所述多個計算核提供比所述第一主時鐘頻率高的第二主時鐘頻率。
  2. 如請求項1所述為計算核提供時鐘頻率的方法,還包括:對在所述第二主時鐘頻率下運行的所述多個計算核進行測試,以確定所述多個計算核在所述第二主時鐘頻率下正常運行的通過率是大於所述第一通過率上限閾值還是小於所述第一通過率下限閾值;當所述多個計算核在所述第二主時鐘頻率下正常運行的通過率小於所述第一通過率下限閾值時,使所述附屬時頻單元向所述多個計算核中的在所述第二主時鐘頻率下不正常運行的計算核提供比所述第二主時鐘頻率低的第二附屬時鐘頻率,並使所述主時頻單元繼續向所述多個計算核中的其餘計算核提供所述第二主時鐘頻率;以及 當所述多個計算核在所述第二主時鐘頻率下正常運行的通過率大於所述第一通過率上限閾值時,使所述主時頻單元向所述多個計算核提供比所述第二主時鐘頻率高的第三主時鐘頻率。
  3. 如請求項1所述為計算核提供時鐘頻率的方法,還包括在使所述附屬時頻單元向所述多個計算核中的在所述第一主時鐘頻率下不正常運行的計算核提供比第一主時鐘頻率低的第一附屬時鐘頻率之後:對在所述第一主時鐘頻率下運行的所述其餘計算核進行測試,以確定所述其餘計算核在所述第一主時鐘頻率下正常運行的通過率是大於第二通過率上限閾值還是小於第二通過率下限閾值;當所述其餘計算核在所述第一主時鐘頻率下正常運行的通過率小於所述第二通過率下限閾值時,使所述主時頻單元向所述其餘計算核提供比所述第一主時鐘頻率低且比所述第一附屬時鐘頻率高的第四主時鐘頻率;以及當所述其餘計算核在所述第一主時鐘頻率下正常運行的通過率大於所述第二通過率上限閾值時,使所述主時頻單元向所述其餘計算核提供比所述第一主時鐘頻率高的第二主時鐘頻率。
  4. 如請求項3所述為計算核提供時鐘頻率的方法,還包括在使所述主時頻單元向所述其餘計算核提供比所述第一主時鐘頻率低且比所述第一附屬時鐘頻率高的第四主時鐘頻率之後,通過包括如下步驟的過程確定所述主時頻單元要被配置為提供的最終主時鐘頻率:第一步驟,所述第一步驟包括:對由所述主時頻單元提供主時鐘頻率的所有計算核在所述主時頻單元當前所提供的主時鐘頻率下進行測試,以確定計算核在該主時鐘頻率下正常運行的通過率是大於第三通過率上限閾值還是小於第三通過率下限閾值,如果大於所述第三通過率上限閾值則執行第二步驟,如果小於所述第三通過率下限閾值則執行第三步驟,如果在所述第三通過率上限閾 值與所述第三通過率下限閾值之間或者如果執行第二步驟和第三步驟的總次數超過第一預定次數閾值則執行第四步驟;第二步驟,所述第二步驟包括:使所述主時頻單元所提供的主時鐘頻率在小於所述第一主時鐘頻率的範圍內升高,並返回第一步驟;第三步驟,所述第三步驟包括:使所述主時頻單元所提供的主時鐘頻率在大於所述第一附屬時鐘頻率的範圍內降低,並返回第一步驟;以及第四步驟,所述第四步驟包括:將所述主時頻單元當前所提供的主時鐘頻率確定為所述主時頻單元的最終主時鐘頻率。
  5. 如請求項3所述為計算核提供時鐘頻率的方法,其中,當所述其餘計算核在所述第一主時鐘頻率下正常運行的通過率在所述第二通過率上限閾值與所述第二通過率下限閾值之間時,將所述主時鐘單元的時鐘頻率確定為第一主時鐘頻率,並將所述附屬時鐘單元的時鐘頻率確定為第一附屬時鐘頻率,並將當前由所述主時鐘單元提供時鐘頻率的計算核確定為最終由所述主時鐘單元提供時鐘頻率的計算核,以及將當前由所述附屬時鐘單元提供時鐘頻率的計算核確定為最終由所述附屬時鐘單元提供時鐘頻率的計算核。
  6. 如請求項3所述為計算核提供時鐘頻率的方法,還包括:對在所述第二主時鐘頻率下運行的所述其餘計算核進行測試,以確定所述其餘計算核在所述第二主時鐘頻率下正常運行的通過率是大於所述第二通過率上限閾值還是小於所述第二通過率下限閾值;當所述其餘計算核在所述第二主時鐘頻率下正常運行的通過率小於所述第二通過率下限閾值時,使所述附屬時頻單元向所述其餘計算核中的在所述第二主時鐘頻率下不正常運行的計算核提供比所述第二主時鐘頻率低的第二附屬時鐘頻率;以及 當所述其餘計算核在所述第二主時鐘頻率下正常運行的通過率大於所述第二通過率上限閾值時,使所述主時頻單元向所述其餘計算核提供比所述第二主時鐘頻率高的第三主時鐘頻率。
  7. 如請求項6所述為計算核提供時鐘頻率的方法,其中,當所述其餘計算核在所述第二主時鐘頻率下正常運行的通過率在所述第二通過率上限閾值與所述第二通過率下限閾值之間時,將所述主時鐘單元的時鐘頻率確定為第二主時鐘頻率,並將所述附屬時鐘單元的時鐘頻率確定為第一附屬時鐘頻率,並將當前由所述主時鐘單元提供時鐘頻率的計算核確定為最終由所述主時鐘單元提供時鐘頻率的計算核,以及將當前由所述附屬時鐘單元提供時鐘頻率的計算核確定為最終由所述附屬時鐘單元提供時鐘頻率的計算核。
  8. 如請求項3所述為計算核提供時鐘頻率的方法,其中,所述第二通過率上限閾值等於或低於所述第一通過率上限閾值,或者所述第二通過率下限閾值等於或低於所述第一通過率下限閾值。
  9. 如請求項2或6所述為計算核提供時鐘頻率的方法,其中,所述第二附屬時鐘頻率等於所述第一附屬時鐘頻率,或者其中,所述附屬時頻單元所提供的附屬時鐘頻率隨所述主時頻單元當前所提供的主時鐘頻率變化而變化。
  10. 如請求項1所述為計算核提供時鐘頻率的方法,其中,所述附屬時頻單元包括多個附屬時頻單元,所述多個附屬時頻單元被配置為提供多個不同的附屬時鐘頻率。
  11. 如請求項10所述為計算核提供時鐘頻率的方法,還包括當所述多個計算核在所述第一主時鐘頻率下正常運行的通過率小於所述第一通過率下限閾值時: 將所述多個附屬時頻單元中的每個附屬時頻單元配置為提供比所述第一主時鐘頻率低的固定的附屬時鐘頻率;或者將所述多個附屬時頻單元配置為提供比所述第一主時鐘頻率低的與所述第一主時鐘頻率成等差數列的多個附屬時鐘頻率;或者將所述多個附屬時頻單元配置為提供比所述第一主時鐘頻率低的與所述第一主時鐘頻率成等比數列的多個附屬時鐘頻率;或者將所述多個附屬時頻單元中的每個附屬時頻單元配置為提供比所述第一主時鐘頻率低的初始附屬時鐘頻率,然後通過包括如下步驟的過程確定該附屬時頻單元要被配置為提供的最終附屬時鐘頻率:第一步驟,所述第一步驟包括:對由該附屬時頻單元提供附屬時鐘頻率的所有計算核在該附屬時頻單元當前所提供的附屬時鐘頻率下進行測試,以確定計算核在該附屬時鐘頻率下正常運行的通過率是大於第四通過率上限閾值還是小於第四通過率下限閾值,如果大於所述第四通過率上限閾值則執行第二步驟,如果小於所述第四通過率下限閾值則執行第三步驟,如果在所述第四通過率上限閾值與所述第四通過率下限閾值之間或者如果執行第二步驟和第三步驟的總次數超過第二預定次數閾值則執行第四步驟;第二步驟,所述第二步驟包括:使該附屬時頻單元所提供的附屬時鐘頻率升高,並返回第一步驟;第三步驟,所述第三步驟包括:使該附屬時頻單元所提供的附屬時鐘頻率降低,並返回第一步驟;以及第四步驟,所述第四步驟包括:將該附屬時頻單元當前所提供的附屬時鐘頻率確定為該附屬時頻單元的最終附屬時鐘頻率。
  12. 如請求項11所述為計算核提供時鐘頻率的方法,其中所述附屬時頻單元還包括兜底附屬時頻單元,所述兜底附屬時頻單元被配置為提供在計算核的工藝下能夠接受的最低時鐘頻率,或者被配置為提供所述多個計算核中算力最差的計算核所需的時鐘頻率。
  13. 如請求項10至12中任一項所述為計算核提供時鐘頻率的方法,其中當所述多個計算核在所述第一主時鐘頻率下正常運行的通過率小於所述第一通過率下限閾值時,將所述多個計算核中的在所述第一主時鐘頻率下不正常運行的計算核切換到所述多個附屬時頻單元。
  14. 如請求項13所述為計算核提供時鐘頻率的方法,其中將所述多個計算核中的在所述第一主時鐘頻率下不正常運行的計算核切換到所述多個附屬時頻單元包括將所述多個計算核中的在所述第一主時鐘頻率下不正常運行的計算核逐檔切換到所述多個附屬時頻單元,所述逐檔切換包括:將所述多個附屬時頻單元按照其提供的附屬時鐘頻率從高到低的順序分檔;使所述多個附屬時頻單元中的提供最高附屬時鐘頻率的最高檔的附屬時頻單元向在所述第一主時鐘頻率下不正常運行的計算核提供附屬時鐘頻率;以及將該最高檔的附屬時頻單元作為當前附屬時頻單元,並對當前附屬時頻單元循環進行如下逐檔切換過程:對由當前附屬時頻單元提供附屬時鐘頻率的所有計算核進行測試,以確定是否存在不正常運行的計算核;當存在不正常運行的計算核時,使比當前附屬時頻單元低一檔的附屬時頻單元向不正常運行的計算核提供附屬時鐘頻率,使當前附屬時頻單元向正常運行的計算核提供附屬時鐘頻率,並將比當前附屬時頻單元低一檔的附屬時頻單元作為更新的當前附屬時頻單元;以及 當不存在不正常運行的計算核或不存在比當前附屬時頻單元低一檔的附屬時頻單元時,結束逐檔切換過程。
  15. 如請求項13所述為計算核提供時鐘頻率的方法,還包括:當外部條件變化時,測試由所述多個附屬時頻單元中的每個附屬時頻單元提供時鐘頻率的計算核的運行情況;當由該附屬時頻單元提供時鐘頻率的計算核保持正常運行的時間段超過預定閾值時間段時,將該計算核切換到在所述多個附屬時頻單元和所述主時頻單元當中提供比該附屬時頻單元所提供的時鐘頻率高的時鐘頻率的時頻單元。
  16. 如請求項1所述為計算核提供時鐘頻率的方法,所述方法是在包括所述多個計算核的晶片初始化時進行的。
  17. 如請求項1所述為計算核提供時鐘頻率的方法,其中當所述多個計算核在所述第一主時鐘頻率下正常運行的通過率大於所述第一通過率上限閾值時,使所述附屬時頻單元向所述多個計算核中的在所述第一主時鐘頻率下不正常運行的計算核提供比所述第一主時鐘頻率低的第一附屬時鐘頻率,並使所述主時頻單元向所述多個計算核中的其餘計算核提供比所述第一主時鐘頻率高的第二主時鐘頻率。
  18. 如請求項1所述為計算核提供時鐘頻率的方法,還包括設置多個時鐘頻率範圍並針對所述多個時鐘頻率範圍中的每個時鐘頻率範圍設置對應的時鐘頻率調節步長,其中所述第一主時鐘頻率與所述第二主時鐘頻率之差是與所述多個時鐘頻率範圍中的所述第一主時鐘頻率落入其中的時鐘頻率範圍對應的時鐘頻率調節步長。
  19. 一種晶片,所述晶片包括多個計算核以及用於為所述多個計算核提供時鐘頻率的主時頻單元和附屬時頻單元,其中,所述多個計算核中的由所述主時頻單元提供時鐘頻率的計算核、所述主時鐘單元所提供的時鐘頻 率、所述多個計算核中的由所述附屬時頻單元提供時鐘頻率的計算核以及所述附屬時鐘單元所提供的時鐘頻率通過如請求項1至18中任一項所述為計算核提供時鐘頻率的方法確定。
  20. 一種資料處理設備,所述資料處理設備包括一個或多個如請求項19所述的晶片。
  21. 如請求項20所述的資料處理設備,其中所述資料處理設備是虛擬貨幣挖礦機。
  22. 一種具有多計算核的計算機提高算力和降低功耗算力比的方法,所述方法包括:在具有多計算核的計算機的每個晶片中,設置主時頻單元及至少一個附屬時頻單元;所述主時頻單元的時鐘頻率、所述晶片中的由主時頻單元提供時鐘頻率的計算核、及所述晶片中的由附屬時頻單元提供時鐘頻率的計算核經過測試確定,滿足所述晶片中的計算核運行正常通過率大於或等於設定的通過率閾值;所述測試是在所述具有多計算核的計算機初始化時進行的,其中,所述主時頻單元的時鐘頻率、所述晶片中的由主時頻單元提供時鐘頻率的計算核、及所述晶片中的由附屬時頻單元提供時鐘頻率的計算核經過測試確定包括執行如請求項1至18中任一項所述為計算核提供時鐘頻率的方法。
  23. 一種提高虛擬貨幣挖礦機的算力和降低功耗算力比的系統,所述系統包括具有多計算核的計算機中的至少一個晶片,其中,每個晶片包括:主時頻單元、附屬時頻單元及多個計算核,其中,主時頻單元,用於為所述晶片中的部分計算核提供時鐘頻率;附屬時頻單元,用於為所述晶片中的另外部分計算核提供時鐘頻率; 所述主時頻單元的時鐘頻率、所述晶片中的由主時頻單元提供時鐘頻率的計算核、及所述晶片中的由附屬時頻單元提供時鐘頻率的計算核經過測試確定,滿足所述晶片中的計算核運行正常通過率大於或等於設定的通過率閾值;所述測試是在所述具有多計算核的計算機初始化時進行的,其中,所述主時頻單元的時鐘頻率、所述晶片中的由主時頻單元提供時鐘頻率的計算核、及所述晶片中的由附屬時頻單元提供時鐘頻率的計算核經過測試確定包括執行如請求項1至18中任一項所述為計算核提供時鐘頻率的方法。
  24. 一種計算裝置,包括:一個或多個處理器;以及存儲計算機可執行指令的記憶體,所述計算機可執行指令在被所述一個或多個處理器執行時,使得所述一個或多個處理器執行如請求項1至18中任一項所述為計算核提供時鐘頻率的方法。
  25. 一種其上存儲有計算機可執行指令的非瞬態存儲介質,所述計算機可執行指令在被計算機執行時,使得計算機執行如請求項1至18中任一項所述為計算核提供時鐘頻率的方法。
TW110113125A 2020-04-14 2021-04-12 為計算核提供時鐘頻率的方法、晶片和資料處理設備 TWI818250B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010288797.5 2020-04-14
CN202010288797.5A CN111506154B (zh) 2020-04-14 2020-04-14 计算机提高算力和降低功耗算力比的方法及***

Publications (2)

Publication Number Publication Date
TW202132938A TW202132938A (zh) 2021-09-01
TWI818250B true TWI818250B (zh) 2023-10-11

Family

ID=71869237

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110113125A TWI818250B (zh) 2020-04-14 2021-04-12 為計算核提供時鐘頻率的方法、晶片和資料處理設備

Country Status (5)

Country Link
US (1) US20230123281A1 (zh)
CN (1) CN111506154B (zh)
CA (1) CA3171509A1 (zh)
TW (1) TWI818250B (zh)
WO (1) WO2021208846A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111506154B (zh) * 2020-04-14 2021-05-25 深圳比特微电子科技有限公司 计算机提高算力和降低功耗算力比的方法及***
CN111736059B (zh) * 2020-07-02 2022-08-26 深圳比特微电子科技有限公司 芯片测试方法、测试设备和测试***
CN111966202B (zh) * 2020-08-18 2021-06-04 深圳比特微电子科技有限公司 数字货币矿机的电源电压控制方法、装置和数字货币矿机
CN115113675B (zh) * 2022-08-25 2022-11-18 深圳比特微电子科技有限公司 一种电源电压控制方法、装置、区块链服务器和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201430553A (zh) * 2010-12-22 2014-08-01 Via Tech Inc 多核心處理器的電源狀態同步化
TW201643714A (zh) * 2015-02-13 2016-12-16 英特爾股份有限公司 在多核心處理器中執行電源管理
TW201643597A (zh) * 2015-01-30 2016-12-16 惠普發展公司有限責任合夥企業 處理器效能狀態設定技術
TW201704931A (zh) * 2015-06-04 2017-02-01 英特爾股份有限公司 繪圖處理器電源管理情境及順序控制迴路
TW201716926A (zh) * 2015-11-10 2017-05-16 英特爾公司 動態最佳化處理器之電源管理操作參數
CN108984469A (zh) * 2018-06-06 2018-12-11 北京嘉楠捷思信息技术有限公司 计算设备的芯片调频方法、装置、算力板、计算设备及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7996743B1 (en) * 2008-04-01 2011-08-09 Altera Corporation Logic circuit testing with reduced overhead
US8122312B2 (en) * 2009-04-14 2012-02-21 International Business Machines Corporation Internally controlling and enhancing logic built-in self test in a multiple core microprocessor
CN103376874B (zh) * 2012-04-24 2017-03-08 深圳市中兴微电子技术有限公司 一种多核处理器设备及其实现时钟控制的方法
US20150149800A1 (en) * 2013-11-27 2015-05-28 Alexander Gendler Performing an operating frequency change using a dynamic clock control technique
CN107239348B (zh) * 2017-06-23 2020-05-15 厦门美图移动科技有限公司 一种多核处理器调度方法、装置及移动终端
US11134534B2 (en) * 2017-10-23 2021-09-28 Avago Technologies International Sales Pte. Limited System on a chip with multiple cores
CN108983069A (zh) * 2018-05-28 2018-12-11 北京比特大陆科技有限公司 芯片扫频***和方法
CN109002356B (zh) * 2018-06-06 2022-06-10 北京嘉楠捷思信息技术有限公司 计算设备的芯片调频方法、装置、算力板、计算设备及存储介质
CN109086130B (zh) * 2018-06-06 2022-06-10 北京嘉楠捷思信息技术有限公司 计算设备的芯片调频方法、装置、算力板、计算设备及存储介质
WO2020107460A1 (zh) * 2018-11-30 2020-06-04 北京比特大陆科技有限公司 运算方法、芯片、***、可读存储介质及计算机程序产品
US10803548B2 (en) * 2019-03-15 2020-10-13 Intel Corporation Disaggregation of SOC architecture
CN111506154B (zh) * 2020-04-14 2021-05-25 深圳比特微电子科技有限公司 计算机提高算力和降低功耗算力比的方法及***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201430553A (zh) * 2010-12-22 2014-08-01 Via Tech Inc 多核心處理器的電源狀態同步化
TW201643597A (zh) * 2015-01-30 2016-12-16 惠普發展公司有限責任合夥企業 處理器效能狀態設定技術
TW201643714A (zh) * 2015-02-13 2016-12-16 英特爾股份有限公司 在多核心處理器中執行電源管理
TW201704931A (zh) * 2015-06-04 2017-02-01 英特爾股份有限公司 繪圖處理器電源管理情境及順序控制迴路
TW201716926A (zh) * 2015-11-10 2017-05-16 英特爾公司 動態最佳化處理器之電源管理操作參數
CN108984469A (zh) * 2018-06-06 2018-12-11 北京嘉楠捷思信息技术有限公司 计算设备的芯片调频方法、装置、算力板、计算设备及存储介质

Also Published As

Publication number Publication date
WO2021208846A1 (zh) 2021-10-21
CN111506154A (zh) 2020-08-07
TW202132938A (zh) 2021-09-01
US20230123281A1 (en) 2023-04-20
CA3171509A1 (en) 2021-10-21
CN111506154B (zh) 2021-05-25

Similar Documents

Publication Publication Date Title
TWI818250B (zh) 為計算核提供時鐘頻率的方法、晶片和資料處理設備
JP3490403B2 (ja) クロック周波数を設定する方法
CN113722061A (zh) 整体全局性能和功率管理
US10055259B2 (en) Method for performing processor resource allocation in an electronic device, and associated apparatus
US20140173623A1 (en) Method for controlling task migration of task in heterogeneous multi-core system based on dynamic migration threshold and related computer readable medium
JP6309641B2 (ja) 低レイテンシスイッチングを用いた動的クロックおよび電圧スケーリング
CN109842412B (zh) 用于时钟重定时的装置及其操作方法
CN1941171A (zh) 延迟锁定回路电路
TW201415211A (zh) 用於嵌入式系統之最佳化功率之系統,用於嵌入式系統之執行時間最佳化之方法,以及時序回授模組
US8656197B2 (en) Semiconductor device and control method for semiconductor device
US8937511B2 (en) Frequency scaling of variable speed systems for fast response and power reduction
US20180191335A1 (en) A PVTM-based Wide Voltage Range Clock Stretching Circuit
US20200293415A1 (en) Memory training
US20080284474A1 (en) Techniques for integrated circuit clock management
CN106716390A (zh) 频率和功率管理
US8014485B2 (en) Techniques for integrated circuit clock management using multiple clock generators
US11646739B2 (en) Clock synthesis for frequency scaling in programmable logic designs
US10404152B2 (en) Voltage regulator circuitry including module for switching frequency self-optimization
US9698801B2 (en) Phase locked loop circuit control device and control method of phase locked loop circuit
US20180173288A1 (en) Multi power domains to reduce ocv using cpr infrastructure
CN109753831A (zh) 一种puf电路的管理方法、装置、设备及存储介质
JP2017027204A (ja) 半導体装置および半導体装置の制御方法
CN103346769B (zh) 状态机电路及状态调整方法
US11950358B1 (en) Integrated circuit package with voltage droop mitigation
US20230315539A1 (en) Systems and methods for distributed quantum computing