TWI528155B - 在多核心處理系統中處理核心之重設 - Google Patents

在多核心處理系統中處理核心之重設 Download PDF

Info

Publication number
TWI528155B
TWI528155B TW101147486A TW101147486A TWI528155B TW I528155 B TWI528155 B TW I528155B TW 101147486 A TW101147486 A TW 101147486A TW 101147486 A TW101147486 A TW 101147486A TW I528155 B TWI528155 B TW I528155B
Authority
TW
Taiwan
Prior art keywords
core
reset
processing
processing core
cores
Prior art date
Application number
TW101147486A
Other languages
English (en)
Other versions
TW201348936A (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 TW201348936A publication Critical patent/TW201348936A/zh
Application granted granted Critical
Publication of TWI528155B publication Critical patent/TWI528155B/zh

Links

Classifications

    • 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/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Description

在多核心處理系統中處理核心之重設
本揭露一般關於微處理器的領域。尤其是,本揭露關於一種重設機制,用來當操作一多核心處理單元之至少一處理器核心時重設另一處理核心。
直到最近,計算裝置通常包括單一處理單元,用於在計算裝置之主電路板上可用的每個插槽。近來,單一處理單元已被改良成包括多個核心,其使得處理器能使用不同核心來平行地執行指令。隨著核心之覆蓋區經過製造的進步而繼續減少,在單晶片上包括額外處理器或核心的能力變得更加容易獲得。單晶片上包括許多核心(稱為「單晶片系統」或「SOC」,這裡的SOC可透過插槽被計算裝置存取)對於硬體和軟體架構師而言可能存在一些新的挑戰。其中一種挑戰在於額外核心應可以連結核心的最小通訊路徑被插槽存取,藉此為額外核心或其他必要元件節省寶貴的空間。當核心之可用性可能在SOC的使用壽命期間改變時,這些挑戰會更為複雜。
概要
本揭露係關於當在多核心處理器中維持至少一其他核心的運作時,進行一或多個核心的控制重設。多核心處理 器可包括許多核心,其可以是中央處理單元(CPU)、圖形處理單元(GPU)、通用處理圖形處理單元(GPGPU)、其他處理邏輯、或以上之組合。不同核心可透過一互連彼此及/或與初始化核心通訊。互連可排成網狀互連、共享互連、點對點(P2P)互連、或環狀互連。
依照至少一些實施例,初始化核心可包括重設邏輯,其可偵測一問題核心或無反應或未適當運作的核心。初始化核心可接著監控問題核心的啟動以偵測其他核心是否將請求傳給核心或等待來自問題核心的資料。初始化核心可使用封包來廣播一信息以與其他核心通訊以阻止請求被傳給問題核心及/或停止給問題核心的目前請求。為了進行重設(且可能是隨後的不重設),初始化核心可產生能夠與問題核心通訊的封包。初始化核心可將一重設封包傳給問題核心以命令問題核心進行重設。在一些實施例中,重設封包可包括用來在問題核心中關閉電力、關閉、或以其他方式終止操作的重設命令。在一些情況下,初始化核心可接著將不重設封包傳給問題核心以命令問題核心進行不重設和啟動核心。在一些實施例中,問題核心無須接收不重設封包便可自動恢復操作。當問題核心回到正常操作(且不再有問題)時,接著初始化核心便可通知其他核心先前的問題核心現在可運作且能夠接收來自其他核心的請求。
本文所述之技術、設備、及系統可以一些方式來實作。於下參考下列圖示來提出示範實作。
示意性環境
第1圖係使用一互連102以便於在核心間通訊的示意性多核心處理單元100之示意圖。在各種實施例中,多核心處理單元100(或處理器)可包括複數個核心104,其可以是中央處理單元(CPU)、圖形處理單元(GPU)、通用處理圖形處理單元(GPGPU)、其他處理邏輯、或以上之組合。
依照一些實施例,不同核心可透過互連102彼此及/或與初始化核心106通訊。依照各種實施例,互連102可排成如第1圖所示之共享互連、如第2圖所示之環狀互連、如第3圖所示之網狀互連、或如第4圖所示之點對點(P2P)互連。
核心可平行操作,且在操作期間,彼此傳送請求以交換資料。因此,在第一核心能完成處理操作之前,第一核心可倚賴於第二核心所進行的處理。在一些情況下,第二核心可能變得無反應且必須在實現對第一核心的請求之前被重設。
初始化核心106可以是包括系統邏輯108的處理核心。系統邏輯108可用來透過使用封包110將重設資訊(且可能是不重設資訊)傳給複數個核心之一或更多者。在一些實施例中,重設資訊可用來關閉核心之電力,而不重設資訊可用來接通核心之電力。然而,在一些實施例中,重設資訊可用來關閉且接著接通核心之電力。系統邏 輯108可包括重設邏輯112和封包產生邏輯114。重設邏輯可決定如何執行重設及/或不重設核心。例如,重設邏輯112可啟動停止將請求從其他核心傳給一問題核心的協定。當多核心處理器的至少一其他核心能夠繼續運作時,重設邏輯112可接著重設且之後可能不重設問題核心。
依照各種實施例,封包產生邏輯114可產生可包括通知封包、重設封包、不重設封包、且可能是其他類型之封包的封包。封包可將指令、命令、及/或資訊傳給多核心處理單元的不同核心。例如,封包產生邏輯114可產生用於每個核心的封包來傳給核心以停止傳送請求給問題核心,直到重設核心為止。封包產生邏輯114可接著產生命令問題核心重設的封包。在一些情況下,封包產生邏輯114可產生傳給先前問題核心的另一封包以進行不重設和接通電力。封包產生邏輯114亦可將封包傳給其他核心以通知其他核心先前問題核心在重設之後何時能夠開始從其他核心接收請求。
封包110可包括如核心n-m或另一核心之接收核心的位址。在一些實施例中,封包可包括不同核心的多個位址,這裡的核心可具有待傳給個別核心的不同資訊或核心可具有待傳給個別核心的相同資訊。當封包110被具有封包所指定之目的位址116的核心收到時,核心可讀取適用於核心之封包的至少部分內容118。在一些實施例中,核心可從封包(例如,從封包的「類型」、「承載資料」或其他部分)讀取一命令。核心可接著例如藉由重設(關閉 電力)、不重設(接通電力)、或進行如本文所述之其他任務或功能來實作命令。
依照一些實施例,初始化核心106可為核心將重設命令和不重設命令兩者合併成單一封包。在這些實施例中,不重設命令可延遲一段預定的時間量,以使得核心保持在一重設(關閉電力)狀態一段預定的時間量。在各種實施例中,重設命令可能不需要不重設命令,由此核心可關閉電力且接著反應於從封包接收一重設命令而接通電力。
第2圖係使用一排成環狀結構202之互連的示意性多核心處理單元200之示意圖。環狀結構202可調節在初始化核心與其他核心之間或在核心之任何組合之間的封包110之交換。
第3圖係使用一排成網狀302之互連的示意性多核心處理單元300之示意圖。網狀302可調節在初始化核心與其他核心之間或在核心之任何組合之間的封包110之交換。
第4圖係使用一排成點對點配置402之互連的示意性多核心處理單元400之示意圖。點對點配置402可調節在初始化核心與其他核心之間或在核心之任何組合之間的封包110之交換。
示意性重設
第5圖係顯示當繼續操作多核心處理器之至少一其他核心時,在時間(t)期間被傳給各種核心以進行一或多 個核心之重設的封包500之示意圖。封包500可反應於來自重設邏輯112的指令而由封包產生邏輯114產生並傳給各種核心502。例如,系統邏輯108決定核心n-1欲被重設,因為核心n-1為無反應或未適當運作的。重設邏輯112可對封包產生邏輯114發出一請求以將通知封包504傳給至少部分核心502,其可在一特定時間t對問題核心n-1傳送請求(或等待回應)。通知封包504可請求核心停止請求及/或停止傳送請求給問題核心n-1。重設邏輯112可接著發出請求給封包產生邏輯114以將重設封包506傳給問題核心n-1。
示意性重設封包506顯示可包括在封包中的示範資訊。封包可包括目的位址508,其指示封包會被傳送到的核心,例如核心n-1等。來源位址510可指示封包之發送器的位址。封包類型512可指示用於核心的操作或對核心提供一般資訊。例如,封包類型512可以是「重設」、「不重設」、或另一種封包類型。當重設封包類型512時,具有目的位址的核心可進行重設。封包亦可包括承載資料514和遮罩516。承載資料514可包括用於具有目的位址之核心的額外資訊或指令。例如,承載資料可命令核心停止傳送請求給如問題核心n-1的另一核心一段預定的時間量或直到收到另一通知為止。
重設邏輯112可命令封包產生邏輯114將不重設封包518傳給已重設的問題核心,因此使核心接通電力。重設邏輯112可接著判斷核心在重設/不重設操作之後是否適 當運作。當核心適當運作時,接著重設邏輯112可命令封包產生邏輯114將通知封包520傳給其他核心(可能是接收通知封包504的相同核心),以通知這些核心先前問題核心n-1現在能接收請求。當重設問題核心n-1(且可能不重設)時,其他核心(例如,核心0、1、等等)可無須重設而繼續進行操作。
第6圖係初始化核心106偵測如核心n-m之問題核心602的多核心處理單元600之示意圖。問題核心602可能是無反應、不可運作、或未適當運作的。在一些實施例中,問題核心可請求一重設。初始化核心106亦可決定問題核心待被重設以補救核心的問題。在各種實施例中,系統邏輯108可例如藉由識別對來自其他核心之請求無反應的核心、或基於在停用核心方面的其他啟動(包括但不限於問題核心602之啟動或停用)來監控各種核心以識別未適當運作的問題核心。例如,系統邏輯108可偵測問題處理核心在一臨界時間量內未成功對一未定請求作反應,而因此是有問題的。未定請求可以是由系統邏輯發出的測試請求以判斷問題核心是否正確運作。例如,測試請求可用來偵測問題核心待被重設,因為問題核心不滿足測試條件(例如,無答覆、不正確答覆、晚答覆、等等)
第7圖係初始化核心106發出一或多個封包702以通知其他核心停止傳送請求給問題核心602的多核心處理單元700之示意圖。在一些實施例中,可將封包702傳給為問題核心602或已傳送請求給問題核心602的核心。然 而,亦可將封包702傳給所有核心以命令核心停止傳送請求給問題核心602及/或停止問題核心的任何未定請求。
第8圖係當操作至少一其他核心時初始化核心106重設問題核心602的多核心處理單元800之示意圖。重設邏輯112可命令封包產生邏輯114將重設封包802傳給問題核心602以啟動問題核心之重設。在一些情況下,重設邏輯112亦可命令封包產生邏輯114將不重設封包傳給問題核心以接通問題核心之電力,其可能不再有問題,而是可能在重設之後回到正常操作。當重設問題核心602時,複數個核心104之至少一其他核心可在正常操作期間繼續處理指令。因此,無須重設在多核心系統中的所有其他核心便可重設問題核心。
示意性操作
第9-11圖顯示當繼續操作多核心處理器之至少一其他核心時,用來進行部分核心之重設的示意性程序。程序在邏輯流程圖中被繪示成大量方塊,其代表能以硬體、軟體、或以上之組合實作的一序列操作。敘述操作的順序不打算被解釋成一種限制,且一些所述之方塊能以任何順序及/或並行結合以實作程序。參考先前所述之環境來說明程序。當然,程序可在其他類似及/或不同環境中進行。
第9圖係當由多核心處理單元之至少一核心繼續處理時,用來進行多核心處理單元的部分核心之重設的示意性程序900之流程圖。
在902中,初始化核心106透過系統邏輯108可偵測一問題核心。例如,系統邏輯108可監控核心104之啟動或停用以決定核心何時為待被重設的問題核心。
在904中,重設邏輯112可命令封包產生邏輯114製成一封包的格式以重設問題核心。例如,封包產生邏輯114可為問題核心產生單一封包,其對此核心啟動重設程序而沒有重設其他核心。
在906中,當多核心處理器之至少一其他核心維持操作且繼續處理指令而亦無重設時,封包產生邏輯114可將重設封包傳給問題核心。
第10圖係用來進行多核心處理單元的部分核心之重設的另一示意性程序1000之流程圖。
在1002中,系統邏輯108可監控處理單元的多個處理核心以判斷核心是否適當運作(例如,及時回應請求、報告錯誤碼、停止資料或信息、等等)。
在1004中,系統邏輯108可識別一問題核心。例如,可藉由偵測核心對來自其他核心或來自系統邏輯108的請求無反應來識別問題核心602。
在1006中,系統邏輯108可追蹤核心的全域唯一重設識別符以判斷哪些核心與問題核心互動。例如,系統邏輯108可偵測多核心處理器的部分核心正等待來自問題核心的資訊。
在1008中,重設邏輯112和封包產生邏輯114可產生並傳送通知(使用封包)給其他核心以停止對問題核心 的請求及/或停止目前請求。因此,通知封包基本上可切斷及/或終止其他核心與問題核心之間的通訊,至少暫時性地。
在1010中,重設邏輯112和封包產生邏輯114可為問題核心產生並傳送一重設封包以重設問題核心而無須重設至少一其他核心。在一些實施例中,重設邏輯112和封包產生邏輯114亦可對問題核心產生並傳送一不重設封包以啟動核心。然而,在一些實作中重設核心可在沒有不重設封包的情況下回到供電。
在1012中,重設邏輯112和封包產生邏輯114可為至少一些核心產生並傳送通知封包以指示先前問題核心已被重設且現在可用來接收請求。例如,通知封包可被傳給在操作1008中接收通知的相同核心。
第11圖係用來偵測問題核心在重設之後是否適當運作的示意性程序1100之流程圖。
在1102中,重設邏輯112和封包產生邏輯114可如上所述地重設問題核心。
在1104中,重設邏輯112可監控重設邏輯以偵測先前問題核心是否已回到正常操作。例如,重設邏輯112可傳送一請求(例如,一測試)給核心以判斷核心是否能適當地回應請求而由此適當運作。
在1106中,重設邏輯112可基於至少部分的監控來偵測先前問題核心是否已回到正常操作。當先前問題核心適當運作時(從決定操作1106沿著「是」的路線),在 1108中,重設邏輯112和封包產生邏輯114可提供通知給其他核心之至少一些者,如以上參考操作1012所述。
當核心仍然有問題且未適當運作時(從決定操作1106沿著「否」的路線),在1110中,由於核心故障可停用或止用核心。核心可被服務以恢復操作或可被永久停用且具有重新分配給其他核心的任何操作。不同於托架系統,多核心處理器可由單矽片構成,其可能使得更換故障核心變得困難及/或不能實行。因此,當問題核心在如本文所述之一或多個重設之後不回到正常操作時,核心在一些實施例中可能被永久停用。
示意性系統
第12圖繪示根據本文中一些實作之示意性系統1200的非限制選擇元件,其可包括上述用來在一多核心處理器中實作部分核心之重設的處理器架構之一或多個實例。系統1200可包括一或多個處理器1202-1、1202-2、...、1202-N(這裡的N是正整數≧1),每個處理器可包括一或多個處理器核心1204-1、1204-2、...、1204-M(這裡的M是正整數≧1)。在一些實作中,如上所述,處理器1202可以是單一核心處理器,而在其他實作中,處理器1202可具有大量的處理器核心,各可包括第12圖所示之一些或所有元件。例如,每個處理器核心1204-1、1204-2、...、1204-M可包括用來為個別處理器核心1204-1、1204-2、...、1204-M進行任務之邏輯1205的實例。邏輯 1205可包括一或多個專用電路、邏輯單元、微碼、或之類。
處理器1202和處理器核心1204能被操作以提取並執行儲存在記憶體1208或其他電腦可讀媒體中的電腦可讀指令。記憶體1208可包括以用來儲存如電腦可讀指令、資料結構、程式模組或其他資料的資訊之任何類型之技術來實作的揮發性和非揮發性記憶體及/或可移除式和不可移除式媒體。上述記憶體可包括,但不限於RAM、ROM、EEPROM、快閃記憶體或其他記憶體技術。在有多個處理器核心1204的情況下,在一些實作中,多個處理器核心1204可共享一共享快取1210。另外,可提供儲存器1212來儲存資料、代碼、程式、記錄、等等。儲存器1212可包括固態儲存器、磁碟儲存器、RAID儲存系統、儲存陣列、網路附接儲存器、儲存區域網路、雲端儲存器、CD-ROM、數位化多功能光碟(DVD)或其他光學儲存器、磁卡、磁帶、或任何其他能用來儲存所欲之資訊且能被計算裝置存取的媒體。依據系統1200之配置,記憶體1208及/或儲存器1212可以是一種電腦可讀儲存媒體類型且可以是非暫態媒體。
記憶體1208可儲存可被處理器1202執行的功能元件。在一些實作中,這些功能元件包含可被處理器1202執行的指令或程式1214。第12圖所示之示範功能元件更包括用來管理系統1200之操作的作業系統(OS)1216。
系統1200可包括一或多個通訊裝置1218,其可包括 一或多個介面和硬體元件用於能夠透過如一或多個網路1220之通訊連結與各種其他裝置通訊。例如,通訊裝置1218可促進透過網際網路、電纜網路、蜂巢式網路、無線網路(例如,Wi-Fi、手機)及有線網路之一或更多者的通訊。用於通訊的元件會取決於至少部分所選擇之網路及/或環境類型。用來透過上述網路通訊的協定和元件係眾所周知的而就不會在本文中詳細說明。
系統1200還可裝備各種輸入/輸出(I/O)裝置1222。這類I/O裝置1222可包括顯示器、各種使用者介面控制(例如,按鍵、操縱桿、鍵盤、觸控螢幕等)、音頻揚聲器、連接埠口等等。可設置可包括系統匯流排、點對點介面、晶片組、或其他適當連線和元件的互連1224,使得處理器1202、記憶體1208、儲存器1212、通訊裝置1218、與I/O裝置1222之間能夠通訊。
結論
雖然已由特用於結構特徵及/或方法行為的語言來說明本主題,但應了解所附之申請專利範圍中定義的主題不一定限於所述之特定特徵或行為。反而,特定結構和行為被揭露成實作申請專利範圍的示意性形式。
100‧‧‧多核心處理單元
102‧‧‧互連
104‧‧‧核心
106‧‧‧初始化核心
108‧‧‧系統邏輯
110‧‧‧封包
112‧‧‧重設邏輯
114‧‧‧封包產生邏輯
116‧‧‧目的位址
118‧‧‧內容
200‧‧‧多核心處理單元
202‧‧‧環狀結構
300‧‧‧多核心處理單元
302‧‧‧網狀
400‧‧‧多核心處理單元
402‧‧‧點對點配置
500‧‧‧封包
502‧‧‧核心
504‧‧‧通知封包
506‧‧‧重設封包
508‧‧‧目的位址
510‧‧‧來源位址
512‧‧‧封包類型
514‧‧‧承載資料
516‧‧‧遮罩
518‧‧‧不重設封包
520‧‧‧通知封包
t‧‧‧時間
600‧‧‧多核心處理單元
602‧‧‧問題核心
700‧‧‧多核心處理單元
702‧‧‧封包
800‧‧‧多核心處理單元
802‧‧‧重設封包
900‧‧‧程序
902-906‧‧‧方塊
1000‧‧‧程序
1002-1012‧‧‧方塊
1100‧‧‧程序
1102-1110‧‧‧方塊
1200‧‧‧系統
1202-1-1202-N‧‧‧處理器
1204-1-1204-M‧‧‧處理器核心
1205‧‧‧邏輯
1208‧‧‧記憶體
1210‧‧‧共享快取
1212‧‧‧儲存器
1214‧‧‧程式
1216‧‧‧作業系統
1218‧‧‧通訊裝置
1220‧‧‧網路
1222‧‧‧輸入/輸出裝置
1224‧‧‧互連
本詳細說明係參考附圖來說明。在圖中,參考數字之最左邊的數字識別出參考數字首次出現的圖。不同圖中的 相同參考數字表示類似或相同的項目。
第1圖係使用一互連以便於在核心間通訊的示意性多核心處理單元之示意圖。
第2圖係使用一排成環狀結構之互連的示意性多核心處理單元之示意圖。
第3圖係使用一排成網狀之互連的示意性多核心處理單元之示意圖。
第4圖係使用一排成點對點配置之互連的示意性多核心處理單元之示意圖。
第5圖係顯示被傳給一或多個核心以進行重設的示意性封包之示意圖。
第6圖係初始化核心偵測一問題核心的多核心處理單元之示意圖。
第7圖係初始化核心發出一封包以通知其他核心停止傳送請求給問題核心的多核心處理單元之示意圖。
第8圖係當操作至少一其他核心時初始化核心重設問題核心的多核心處理單元之示意圖。
第9圖係用來進行多核心處理單元的部分核心之重設的示意性程序之流程圖。
第10圖係用來進行多核心處理單元的部分核心之重設的另一示意性程序之流程圖。
第11圖係用來偵測問題核心在重設之後是否適當運作的示意性程序之流程圖。
第12圖係針對當在一多核心處理器操作至少一處理 器核心時之其他處理器核心的示意性系統之方塊圖。
100‧‧‧多核心處理單元
102‧‧‧互連
104‧‧‧核心
106‧‧‧初始化核心
108‧‧‧系統邏輯
110‧‧‧封包
112‧‧‧重設邏輯
114‧‧‧封包產生邏輯
116‧‧‧目的位址
118‧‧‧內容

Claims (17)

  1. 一種處理器,包含:複數個處理核心;一互連,耦接該複數個處理核心;及一第一邏輯,用來從該複數個處理核心偵測一無反應處理核心並在該互連上將重設資訊傳給該無反應處理核心,其中該重設資訊會被製成一封包的格式,其中該重設資訊包括用來關閉該無反應處理核心之電力的一重設操作以及用來啟動該無反應處理核心的不重設資訊。
  2. 如申請專利範圍第1項所述之處理器,更包含一第二邏輯,用來當該第一邏輯偵測並將該重設資訊傳給該無反應處理核心以重設該無反應處理核心時,維持該複數個處理核心之至少一其他處理核心的處理。
  3. 如申請專利範圍第1項所述之處理器,更包含一第二邏輯,用來將一通知信息傳給該複數個處理核心的至少一其他處理核心,該通知信息命令該至少一其他處理核心停止傳送請求給該無反應處理核心,直到重設該無反應處理核心為止。
  4. 如申請專利範圍第3項所述之處理器,其中該第二邏輯將一第二通知信息傳給該至少一其他處理核心以指示該至少一其他處理核心係用來重新傳送該請求。
  5. 如申請專利範圍第1項所述之處理器,其中該第一邏輯藉由偵測該無反應處理核心在一臨界時間量內未成功對一未定請求作反應來偵測該無反應處理核心。
  6. 如申請專利範圍第1項所述之處理器,其中該互連係排成一環狀結構。
  7. 一種方法,包含:製成一封包的格式以包括重設資訊;及在一互連上將該封包傳給複數個處理核心之間的一特定處理核心,其中該重設資訊包括用來至少關閉該特定處理核心之電力而無須關閉所有該複數個處理核心之電力的資訊。
  8. 如申請專利範圍第7項所述之方法,更包含當進行該傳送時由該複數個處理核心的至少一其他處理核心來處理指令以重設該特定處理核心。
  9. 如申請專利範圍第7項所述之方法,更包含將一通知信息傳給該複數個處理核心的至少一其他處理核心,該通知信息命令該至少一其他處理核心停止給該特定處理核心的請求,至少直到重設該特定處理核心為止。
  10. 如申請專利範圍第9項所述之方法,更包含將一第二通知信息傳給該至少一其他處理核心以指示該至少一其他處理核心係用來重新傳送該請求給該特定處理核心。
  11. 如申請專利範圍第7項所述之方法,其中該特定處理核心會在指示該特定處理核心對至少一對該特定處理核心的請求無反應之後被重設。
  12. 如申請專利範圍第7項所述之方法,其中該互連係排成一環狀結構以便於傳送該封包。
  13. 一種方法,包含: 藉由傳送一測試請求給該無反應處理核心,並當該無反應處理核心不滿足該測試條件時,偵測該無反應處理核心待被重設,從複數個處理核心偵測一無反應處理核心;在一互連上將一通知傳給該複數個處理核心中的剩餘處理核心,以命令該些剩餘處理核心停止該無反應處理核心的請求;及在該互連上將一重設資訊傳給該無反應處理核心,其中該重設資訊會被製成一封包的格式。
  14. 如申請專利範圍第13項所述之方法,更包含當進行將該重設資訊傳給該無反應處理核心時,由至少一些的該些剩餘處理核心來處理指令。
  15. 如申請專利範圍第13項所述之方法,其中該通知係製成一或多個封包的格式以傳送給該些剩餘處理核心之各者。
  16. 如申請專利範圍第13項所述之方法,其中該封包透過該互連從一初始化核心傳至該無反應處理核心。
  17. 如申請專利範圍第13項所述之方法,更包含在該傳送之後監控該無反應處理核心以確保該無反應核心回到正常操作。
TW101147486A 2011-12-29 2012-12-14 在多核心處理系統中處理核心之重設 TWI528155B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/067874 WO2013101082A1 (en) 2011-12-29 2011-12-29 Reset of processing core in multi-core processing system

Publications (2)

Publication Number Publication Date
TW201348936A TW201348936A (zh) 2013-12-01
TWI528155B true TWI528155B (zh) 2016-04-01

Family

ID=48698318

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101147486A TWI528155B (zh) 2011-12-29 2012-12-14 在多核心處理系統中處理核心之重設

Country Status (3)

Country Link
US (1) US9208124B2 (zh)
TW (1) TWI528155B (zh)
WO (1) WO2013101082A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9389657B2 (en) * 2011-12-29 2016-07-12 Intel Corporation Reset of multi-core processing system
US9135126B2 (en) * 2013-02-07 2015-09-15 International Business Machines Corporation Multi-core re-initialization failure control system
JP5968841B2 (ja) * 2013-08-26 2016-08-10 アラクサラネットワークス株式会社 ネットワーク装置及びプロセッサの監視方法
US10585755B2 (en) * 2016-11-29 2020-03-10 Ricoh Company, Ltd. Electronic apparatus and method for restarting a central processing unit (CPU) in response to detecting an abnormality
KR101988558B1 (ko) * 2017-06-07 2019-06-12 현대오트론 주식회사 멀티 코어를 갖는 마이크로콘트롤러 유닛을 감시하는 감시장치 및 그것의 동작 방법
DE102020205146A1 (de) * 2020-04-23 2021-10-28 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zur Steuerung eines technischen Systems
US20220100504A1 (en) * 2020-09-25 2022-03-31 Advanced Micro Devices, Inc. Shared data fabric processing client reset system and method
US11609821B2 (en) * 2020-09-30 2023-03-21 Nxp Usa, Inc. Method and system for managing fault recovery in system-on-chips
CN114527857B (zh) * 2022-02-15 2024-04-19 深圳市航顺芯片技术研发有限公司 多核系统复位方法、装置、设备及可读存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040141461A1 (en) * 2003-01-22 2004-07-22 Zimmer Vincent J. Remote reset using a one-time pad
US7287180B1 (en) * 2003-03-20 2007-10-23 Info Value Computing, Inc. Hardware independent hierarchical cluster of heterogeneous media servers using a hierarchical command beat protocol to synchronize distributed parallel computing systems and employing a virtual dynamic network topology for distributed parallel computing system
US7206966B2 (en) * 2003-10-22 2007-04-17 Hewlett-Packard Development Company, L.P. Fault-tolerant multi-core microprocessing
GB2409303B (en) 2003-12-18 2006-10-18 Advanced Risc Mach Ltd Inter-processor communication mechanism
EP1719056A4 (en) * 2004-08-26 2009-04-08 Availigent Inc METHOD AND SYSTEM FOR PROVIDING HIGH AVAILABILITY TO COMPUTING APPLICATIONS
KR101345964B1 (ko) * 2006-08-18 2013-12-31 엘지전자 주식회사 복수의 코어가 구비된 프로세서 및 그 제어 방법
EP2267983B1 (en) 2009-06-22 2018-08-08 Citrix Systems, Inc. System and method for providing link management in a multi-core system

Also Published As

Publication number Publication date
US9208124B2 (en) 2015-12-08
US20130339663A1 (en) 2013-12-19
WO2013101082A1 (en) 2013-07-04
TW201348936A (zh) 2013-12-01

Similar Documents

Publication Publication Date Title
TWI528155B (zh) 在多核心處理系統中處理核心之重設
EP3314434B1 (en) Partially reconfiguring acceleration components
EP3283957B1 (en) Reconfiguring an acceleration component among interconnected acceleration components
US10819657B2 (en) Allocating acceleration component functionality for supporting services
JP5851503B2 (ja) 高可用性仮想機械環境におけるアプリケーションの高可用性の提供
JP6383839B2 (ja) リモートkvmセッションに使用する方法、記憶装置及びシステム
TWI620072B (zh) 可擴充集中式非揮發性記憶體儲存盒、電腦實施方法以及非暫態電腦可讀取儲存裝置
EP3314435B1 (en) Configuring acceleration components over a network
EP3283954B1 (en) Restoring service acceleration
US9658861B2 (en) Boot strap processor assignment for a multi-core processing unit
WO2015042925A1 (zh) 服务器的控制方法和服务器的控制设备
EP1933234A2 (en) Frozen ring cache
US9372816B2 (en) Advanced programmable interrupt controller identifier (APIC ID) assignment for a multi-core processing unit
JP4259390B2 (ja) 並列演算処理装置
US20140006763A1 (en) Initialization of multi-core processing system
JP6256087B2 (ja) ダンプシステムおよびダンプ処理方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees