多中央處理單元偵錯(cuò)切換的方法
【專利摘要】本發(fā)明是關(guān)于一種多中央處理單元偵錯(cuò)切換的方法,多中央處理單元至少包含一第一及一第二處理器,而以第一處理器為預(yù)設(shè)處理器。偵錯(cuò)切換的方法包含:利用一微控制器模塊,偵測第一處理器是否故障,包含無法偵測到或無法正常開機(jī);當(dāng)偵測到第一處理器故障時(shí),微控制器模塊發(fā)出一故障訊號,并將故障訊號傳輸至一切換器模塊,以將預(yù)設(shè)處理器由第一處理器切換至第二處理器;以及偵測第二處理器是否故障,包含無法偵測到或無法正常開機(jī),若第二處理器故障,則微控制器模塊重新將第一處理器設(shè)定為預(yù)設(shè)處理器,并重新開機(jī)。
【專利說明】多中央處理單元偵錯(cuò)切換的方法 【【技術(shù)領(lǐng)域】】
[0001]本發(fā)明是關(guān)于一信息處理平臺,尤其關(guān)于一種多中央處理單元偵錯(cuò)切換的方法。 【【背景技術(shù)】】
[0002]隨著信息科技的進(jìn)步,開發(fā)出了多中央處理單元的運(yùn)算平臺,以應(yīng)付日趨復(fù)雜的 數(shù)據(jù)運(yùn)算及處理需求。相較于一般單中央處理單元的運(yùn)算平臺,多中央處理單元的運(yùn)算平 臺不僅較為穩(wěn)定,整體運(yùn)算處理能力亦提升許多。因此,不論是企業(yè)的服務(wù)器或者家庭的個(gè) 人計(jì)算機(jī),皆適合使用多中央處理單元。
[0003]然而,在多中央處理單元系統(tǒng)中,不免遭遇其中一中央處理單元故障的情形。以目 前技術(shù)水平而言,多中央處理單元系統(tǒng)可分為主從式架構(gòu)及對等式架構(gòu)。在對等式架構(gòu)中, 操作系統(tǒng)可以在任何一個(gè)中央處理單元上執(zhí)行,每一個(gè)中央處理單元亦可自行進(jìn)行排程, 因此,若其中一中央處理單元故障,此運(yùn)算平臺仍可以其它中央處理單元繼續(xù)執(zhí)行程序。然 而,此種架構(gòu)將使操作系統(tǒng)的安排更復(fù)雜,且在設(shè)計(jì)系統(tǒng)時(shí),必須確定此多中央處理單元不 會執(zhí)行相同的程序。
[0004]另一方面,相較于對等式架構(gòu),主從式架構(gòu)的設(shè)計(jì)較簡單,成本亦較低廉。只是在 主從式架構(gòu)中,操作系統(tǒng)及主要核心功能皆在一主要的中央處理器上執(zhí)行,此中央處理器 必須負(fù)責(zé)工作的排程。因此,若主要的中央處理器故障,其它中央處理器并無法單獨(dú)運(yùn)作, 因而造成系統(tǒng)當(dāng)機(jī),甚至無法開機(jī)。例如INTEL Romeley/Grantley等系列的雙中央處理 器系統(tǒng),在中央處理器與PCH(Platform Controller Hub)芯片組之間是利用DMI (Direct Media Interface)接口溝通,倘若連接DMI的中央處理器故障,即使另一中央處理器也無 法單獨(dú)運(yùn)作。如此,不僅無法發(fā)揮雙中央處理單元平臺的優(yōu)點(diǎn),亦可能對企業(yè)或個(gè)人帶來極 大的損失。 【
【發(fā)明內(nèi)容】
】
[0005] 本發(fā)明的一范疇在于提供一種多中央處理單元偵錯(cuò)切換的方法。
[0006] 根據(jù)本發(fā)明的一具體實(shí)施例,一種多中央處理單元偵錯(cuò)切換的方法包含下列步 驟。首先,利用一微控制器模塊,偵測第一處理器是否故障,包含無法偵測到或無法正常開 機(jī)。接著,當(dāng)偵測到第一處理器故障時(shí),微控制器模塊發(fā)出一故障訊號,并將此故障訊號傳 輸至一切換器模塊,以將預(yù)設(shè)處理器由第一處理器切換至第二處理器。最后,微控制器模塊 偵測第二處理器是否故障,若第二處理器故障,則微控制器模塊再次將第一處理器設(shè)定為 預(yù)設(shè)處理器,并重新開機(jī)。
[0007] 在本發(fā)明的一具體實(shí)施例中,微控制器模塊通過一通用型輸入輸出模塊,判斷第 一或第二處理器是否能夠正常開機(jī)。通用型輸入輸出模塊與一 PCH(Platform Controller Hub)芯片組電性連接,當(dāng)開機(jī)成功時(shí)將發(fā)出一開機(jī)成功訊號。
[0008] 在本發(fā)明的另一具體實(shí)施例中,微控制器模塊通過一定時(shí)器,判斷第一或第二處 理器是否能夠正常開機(jī)。第一或第二處理器以一預(yù)定時(shí)間間隔重置定時(shí)器,當(dāng)定時(shí)器倒數(shù) 至零時(shí),則判斷第一或第二處理器故障。
[0009],本發(fā)明的功效在于:針對主從式架構(gòu)多中央處理單元的信息處理平臺,通過獨(dú)立 或內(nèi)含微控制器的芯片模塊,自動(dòng)偵測第一中央處理器是否故障,若是,則切換至第二中央 處理器,并以第二中央處理器繼續(xù)程序執(zhí)行,以期將損失降到最低。另外可以注意的是,此 種多中央處理單元的信息處理平臺可包含兩個(gè)以上的中央處理器,因此,通過獨(dú)立或內(nèi)含 微控制器的芯片模塊,自動(dòng)偵測第一中央處理器是否故障,若是,則切換至第二中央處理 器,若偵測到第二中央處理器故障,則切換至第三中央處理器,依此類推,直至偵測到有未 故障的處理器,則以處理器繼續(xù)執(zhí)行程序。 【【專利附圖】
【附圖說明】】
[0010]圖1是根據(jù)本發(fā)明第一實(shí)施例的多中央處理單元偵錯(cuò)切換的方法流程圖。
[0011]圖2是根據(jù)本發(fā)明第二實(shí)施例的多中央處理單元偵錯(cuò)切換的方法流程圖。
[0012] 圖3是根據(jù)本發(fā)明第三實(shí)施例的多中央處理單元偵錯(cuò)切換的方法流程圖。
[0013] 圖4是根據(jù)本發(fā)明第四實(shí)施例的多中央處理單元偵錯(cuò)切換的方法流程圖。
[0014] 主要組件符號說明:
[0015] 100 步驟:遍 _薩::微控1?機(jī)_鼴 W5.:錄傭_篤一IM翳 '過;^猶獬義翁切· 是喔_至_ 靡二處理臟擰開機(jī)' 110 .錄徽翻樓機(jī)_逮 135 雜觀_器模纖 過:r輸入出模填·或 _模塊,繡認(rèn)第1? 時(shí)孤痛認(rèn)篇一處 ailMg瓶成功 M0 麵:IE鑛機(jī) 115 步勸正雷瓶 145 雜::纖 120 步齡重觀親 2D0 纖機(jī) 125 步?鎖麵第二處理器205 .驟::憤測第三處纏器是否連接至
[0016] 21Q 步驟?微控制器_^逋310 步藏重新并機(jī) 置,換器模塊,切換_ 步驗(yàn)開機(jī) 4〇s _偵測笫一魏_^_接至 215 步黴控_觀通賴 輸纖塊,或 410 纖:微控制器樓_1?^^ 讀時(shí)器· _認(rèn)窠三處 出樣塊,或;纖·議賴, 理器是^?成_ 機(jī)纖 220 步驟:正常開機(jī) 415 步驟:正常開機(jī) 22S 步囊:重新?m 420 步驟:由微控制_?5發(fā)出: 測 步廳偵測鎖》MU 號'令切換器模麵第二處理器改 是至輸*預(yù)設(shè)處理器 235: 纖驗(yàn)制器模塊通働飄重新開機(jī) 過一切換諸模塊,切換 430 步驟:偵測第二劃遽器是否連_ 至第四處理器執(zhí)行開機(jī) _ 240 寧爾:#控制器棋塊遇.435 步驟:#控制器榫塊€過 過T輸入輸出橫塊,戚 出機(jī)塊,或二定時(shí)II,確胃二Λ: 一定時(shí)雅,確認(rèn)第四處踽鐮愚資開機(jī)成功 理ΙΙ^?Τ機(jī)成功 4? 步驟》正常開機(jī) m 步藤:正常開視 :2'50 步藏:關(guān)機(jī) 300 步驟:Μ封開機(jī)次數(shù)是 否達(dá):預(yù)定次數(shù) S0S _.關(guān)機(jī) 【【具體實(shí)施方式】】
[0017] 圖1是根據(jù)本發(fā)明一具體實(shí)施例的多中央處理單元偵錯(cuò)切換的方法流程圖。此實(shí) 施例是以兩個(gè)中央處理單元為說明。
[0018] 如圖1所示,首先執(zhí)行步驟100的開機(jī)程序,于此實(shí)施例中,開機(jī)程序泛指一般開 機(jī)程序,例如包括但不限于冷啟動(dòng)(cold boot)及熱啟動(dòng)(warm boot)。
[0019] 接著,利用微控制器模塊,偵測第一處理器是否連接至電源(步驟105),其中微控 制器模塊與第一及第二處理器相連接。在此步驟中,微控制器模塊由第一處理器讀取是否 能成功連接至電源的訊號。假設(shè)此訊號的默認(rèn)值為高準(zhǔn)位,若可成功連接至電源,則此訊號 會被更改成低準(zhǔn)位,因此,若微控制器模塊接收到的訊號為低準(zhǔn)位,表示第一處理器可成功 連接至電源,且由第一處理器執(zhí)行開機(jī)程序;相反的,若訊息為高準(zhǔn)位,則表示第一處理器 并未成功連接至電源。
[0020] 接著,在步驟110中,微控制器模塊通過一通用型輸入輸出模塊,以判斷第一處理 器是否開機(jī)成功。通用型輸入輸出模塊與微控制器模塊及一 PCH(Platform Controller Hub)芯片組相連接,此PCH芯片組可于開機(jī)成功時(shí)發(fā)出一開機(jī)成功訊號。假設(shè)此訊號的默 認(rèn)值為高準(zhǔn)位,若開機(jī)成功,則此訊號會被更改成低準(zhǔn)位,因此若微控制器模塊接收到低準(zhǔn) 位的訊號,表示開機(jī)成功;相反的,若微控制器模塊接收到高準(zhǔn)位的訊號,則表示開機(jī)失敗, 此時(shí)確認(rèn)第一處理器故障。
[0021] 或者,在步驟110中,微控制器模塊亦可通過一定時(shí)器,以確認(rèn)第一處理器是否開 機(jī)成功。此定時(shí)器可例如設(shè)置于微控制器模塊內(nèi),且分別連接至第一處理器及第二處理器。 在此狀況下,第一處理器以一預(yù)定時(shí)間間隔重置定時(shí)器,當(dāng)定時(shí)器倒數(shù)至零時(shí),則表示第一 處理器開機(jī)失敗,可確認(rèn)第一處理器故障。若否,則表示第一處理器開機(jī)成功。
[0022] 于步驟110中,若偵測到第一處理器并未故障,則由第一處理器完成開機(jī)程序(步 驟II5);若偵測到第一處理器故障,則啟動(dòng)關(guān)機(jī),并且等待一預(yù)定時(shí)間,令主機(jī)板充分放電 之后,重新開機(jī)(步驟120)。
[0023] 在偵測到第一處理器并未連接至電源(步驟1〇5)或第一處理器故障且執(zhí)行重新 開機(jī)(步驟110及120)的情況下,接著,微控制器模塊偵測第二處理器是否連接至電源(步 驟125)。此時(shí),微控制器模塊由第二處理器讀取是否成功連接至電源的訊號,假設(shè)此訊號的 默認(rèn)值為高準(zhǔn)位,若成功連接至電源,則此訊號會被更改成低準(zhǔn)位。因此,若微控制器模塊 接收到的訊號為低準(zhǔn)位,表示第二處理器可成功連接至電源;相反的,若訊息為高準(zhǔn)位,則 表示第二處理器并未成功連接至電源。
[0024]于步驟125中,若偵測到第二處理器已成功連接至電源,則微控制器模塊通過一 切換器模塊,將電路切換至第二處理器并執(zhí)行開機(jī)(步驟130)。切換器模塊連接至第一及第 二處理器,亦通過通用型輸入輸出模塊連接至微控制器模塊。因此,當(dāng)微控制器模塊偵測到 第二處理器已成功連接至電源時(shí),將發(fā)出一訊號,此訊號通過通用型的輸入輸出模塊而傳 輸至切換器模塊,切換器模塊在接收訊號后,便將電路切換至第二處理器,由第二處理器執(zhí) 行開機(jī)。
[0025] 接著,在步驟I35中,微控制器模塊通過一通用型輸入輸出模塊,以判斷第二處理 器是否開機(jī)成功。通用型輸入輸出模塊與微控制器模塊及一 PCH(Platform Controller Hub)芯片組相連接,此PCH芯片組用以于開機(jī)成功時(shí)發(fā)出一開機(jī)成功訊號。假設(shè)此訊號默 認(rèn)值為尚準(zhǔn)位,若開機(jī)成功,則此訊號會被更改成低準(zhǔn)位,因此若微控制器模塊接收到低準(zhǔn) 位的訊號,表示開機(jī)成功;相反的,若接收到高準(zhǔn)位的訊號,則表示開機(jī)失敗,此時(shí)確認(rèn)第二 處理器故障。
[0026] 或者,同步驟135,微控制器模塊可通過一定時(shí)器,以確認(rèn)第二處理器是否開機(jī)成 功。此定時(shí)器位于微控制器模塊的內(nèi)部,且分別連接至第一處理器及第二處理器,第二處理 器以一預(yù)定時(shí)間間隔重置定時(shí)器,當(dāng)定時(shí)器倒數(shù)至零時(shí),則表示第二處理器開機(jī)失敗,可確 認(rèn)第二處理器故障。若否,則表示第二處理器開機(jī)成功。
[0027]于步驟I35中,若偵測到第二處理器并未故障,則接著由第二處理器完成開機(jī)程 序(步驟140);若偵測到第二處理器故障,則啟動(dòng)關(guān)機(jī)(步驟145)。
[0028]圖2是根據(jù)本發(fā)明第二具體實(shí)施例的多中央處理單元偵錯(cuò)切換的方法流程圖。 [0029]如圖2所示,第二實(shí)施例是以四個(gè)中央處理單元為實(shí)施例,可視為圖!的第一實(shí)施 例的延伸,因此大致上與第一實(shí)施例相同,差別在于當(dāng)?shù)诙幚砥魑茨苷i_機(jī)時(shí)(步驟 1:35),則啟動(dòng)關(guān)機(jī),并且等待一預(yù)定時(shí)間,令主機(jī)板充分放電之后,重新開機(jī)(步驟 2〇〇)。 [0030]接著,微控制器模塊偵測第三處理器是否連接至電源(步驟205)。此時(shí),微控制器 模塊由第三處理器讀取是否成功連接至電源的訊號,假設(shè)此訊號的默認(rèn)值為高準(zhǔn)位,若成 功連接至電源,則此訊號會被更改成低準(zhǔn)位。因此,若微控制器模塊接收到的訊號為低準(zhǔn) 位,表示第三處理器可成功連接至電源;相反的,若訊息為高準(zhǔn)位,則表示第三處理器并未 成功連接至電源。
[0031]于步驟2〇5中,若偵測到第三處理器已成功連接至電源,則微控制器模塊通過一 切換器模塊,將電路切換至第三處理器并執(zhí)行開機(jī)(步驟210)。切換器模塊連接至第一、第 二、第三及第四處理器,亦通過通用型輸入輸出模塊連接至微控制器模塊。因此,當(dāng)微控制 器模塊偵測到第三處理器已成功連接至電源時(shí),將發(fā)出一訊號,此訊號通過通用型的輸入 輸出模塊而傳輸至切換器模塊,切換器模塊在接收訊號后,便將電路切換至第三處理器,由 第三處理器執(zhí)行開機(jī)。
[0032] 接著,在步驟215中,微控制器模塊通過一通用型輸入輸出模塊,以判斷第三處理 器是否開機(jī)成功。通用型輸入輸出模塊與微控制器模塊及一 PCH(Platform Controller Hub)芯片組相連接,此PCH芯片組用以于開機(jī)成功時(shí)發(fā)出一開機(jī)成功訊號。假設(shè)此訊號默 認(rèn)值為高準(zhǔn)位,若開機(jī)成功,則此訊號會被更改成低準(zhǔn)位,因此若微控制器模塊接收到低準(zhǔn) 位的訊號,表示開機(jī)成功;相反的,若接收到高準(zhǔn)位的訊號,則表示開機(jī)失敗,此時(shí)確認(rèn)第三 處理器故障。
[0033]或者,同步驟215,微控制器模塊可通過一定時(shí)器,以確認(rèn)第三處理器是否開機(jī)成 功。此定時(shí)器位于微控制器模塊的內(nèi)部,且分別連接至第一、第二、第三及第四處理器,第三 處理器以一預(yù)定時(shí)間間隔重置定時(shí)器,當(dāng)定時(shí)器倒數(shù)至零時(shí),則表示第三處理器開機(jī)失敗, 可確認(rèn)第三處理器故障。若否,則表示第三處理器開機(jī)成功。
[0034]于步驟215中,若偵測到第三處理器并未故障,則接著由第三處理器完成開機(jī)程 序(步驟220);若偵測到第三處理器故障,則啟動(dòng)關(guān)機(jī),并且等待一預(yù)定時(shí)間,令主機(jī)板充分 放電之后,重新開機(jī)(步驟225 )。
[0035] 接著,微控制器模塊偵測第四處理器是否連接至電源(步驟230)。此時(shí),微控制器 模塊由第四處理器讀取是否成功連接至電源的訊號,假設(shè)此訊號的默認(rèn)值為高準(zhǔn)位,若成 功連接至電源,則此訊號會被更改成低準(zhǔn)位。因此,若微控制器模塊接收到的訊號為低準(zhǔn) 位,表示第四處理器可成功連接至電源;相反的,若訊息為高準(zhǔn)位,則表示第四處理器并未 成功連接至電源。
[0036] 于步驟23〇中,若偵測到第四處理器已成功連接至電源,則微控制器模塊通過一 切換器模塊,將電路切換至第四處理器并執(zhí)行開機(jī)(步驟235)。切換器模塊連接至第一、第 二、第三及第四處理器,亦通過通用型輸入輸出模塊連接至微控制器模塊。因此,當(dāng)微控制 器模塊偵測到第四處理器已成功連接至電源時(shí),將發(fā)出一訊號,此訊號通過通用型的輸入 輸出検塊而傳輸至切換器模塊,切換器模塊在接收訊號后,便將電路切換至第四處理器,由 第四處理器執(zhí)行開機(jī)。
[0037]接著,在步驟240中,微控制器模塊通過一通用型輸入輸出模塊,以判斷第四處理 器是否開機(jī)成功。通用型輸入輸出模塊與微控制器模塊及一 PCH(Platf〇rm c〇ntr〇ller Hub)芯2組相連接,此PCH芯片組用以于開機(jī)成功時(shí)發(fā)出一開機(jī)成功訊號。假設(shè)此訊號默 認(rèn)值為高準(zhǔn)位,若開機(jī)成功,則此訊號會被更改成低準(zhǔn)位,因此若微控制器模塊接收到低準(zhǔn) 位的訊號,表示開機(jī)成功;相反的,若接收到高準(zhǔn)位的訊號,則表示開機(jī)失敗,此時(shí)確認(rèn)第四 處理器故障。
[0038]或者,同步驟240,微控制器模塊可通過一定時(shí)器,以確認(rèn)第四處理器是否開機(jī)成 功。此定時(shí)器位于微控制器模塊的內(nèi)部,且分別連接至第一、第二、第三及第四處理器,第四 處理器以一預(yù)定時(shí)間間隔重置定時(shí)器,當(dāng)定時(shí)器倒數(shù)至零時(shí),則表示第四處理器開機(jī)失敗, 可確認(rèn)第四處理器故障。若否,則表示第四處理器開機(jī)成功。
[0039]于步驟240中,若偵測到第四處理器并未故障,則接著由第四處理器完成開機(jī)程 序(步驟245);若偵測到第四處理器故障,則啟動(dòng)關(guān)機(jī)(步驟250)。
[0040]圖3是根據(jù)本發(fā)明第三具體實(shí)施例的多中央處理單元偵錯(cuò)切換的方法流程圖。 [0041]如圖3所示,第三實(shí)施例的方法大致上與第一實(shí)施例相同,差別僅在于當(dāng)?shù)诙?理器未能正常開機(jī)時(shí)(步驟135),再次重新開機(jī),并增加判斷重新開機(jī)的次數(shù)是否已達(dá)一 預(yù)定次數(shù)的步驟(步驟300)。倘若已達(dá)一預(yù)定次數(shù),則進(jìn)行關(guān)機(jī)(步驟305);倘若未達(dá)預(yù)定 次數(shù),則啟動(dòng)關(guān)機(jī),并且等待一預(yù)定時(shí)間,令主機(jī)板充分放電之后,再重新開機(jī)(步驟310)。 [00 42] 由于信息處理平臺未能開機(jī)成功的原因眾多,除了中央處理器故障,還包括電源 供應(yīng)的電壓不穩(wěn)等問題。因此,吾人設(shè)定一重新開機(jī)的預(yù)定次數(shù),以嘗試排除此類因電源供 應(yīng)電壓不穩(wěn)而導(dǎo)致未能開機(jī)成功的情況。
[0043] 于第二實(shí)施例中,是以如下方式計(jì)算重新開機(jī)的次數(shù)。若判斷第一及第二處理器 皆為故障,則將此時(shí)所執(zhí)行的重新開機(jī)計(jì)數(shù)為一次(當(dāng)執(zhí)行至步驟310時(shí),計(jì)數(shù)一次),以此 類推。然而,應(yīng)了解的是,計(jì)算重新開機(jī)次數(shù)及判斷重新開機(jī)是否已達(dá)一預(yù)定次數(shù),可由程 序自動(dòng)或以手動(dòng)方式完成,惟本發(fā)明不應(yīng)以此為限。此外,吾人可視實(shí)際狀況而定義重新開 機(jī)次數(shù),例如,偵測到第一處理器故障之后的重新開機(jī),即計(jì)數(shù)為一次(當(dāng)執(zhí)行至步驟120 時(shí),即計(jì)數(shù)一次),且偵測到第二處理器故障之后的重新開機(jī),亦計(jì)數(shù)為一次(當(dāng)執(zhí)行至步 驟310時(shí),亦計(jì)數(shù)一次)?;蛘?,對于偵測到第一處理器及第二處理器皆故障之后的重新開 機(jī),方才計(jì)數(shù)為一次(當(dāng)執(zhí)行至步驟310時(shí),總共計(jì)數(shù)一次)。
[0044] 圖4是根據(jù)本發(fā)明的第四具體實(shí)施例的多中央處理單元偵錯(cuò)切換的方法的步驟 流程圖。
[0045] 如圖4所示,首先執(zhí)行步驟400的開機(jī)程序,于此實(shí)施例中,開機(jī)程序泛指一般開 機(jī)程序,例如包括但不限于冷啟動(dòng)(cold boot)及熱啟動(dòng)(warm boot)。
[0046] 接著,利用微控制器模塊,偵測第一處理器是否連接至電源(步驟405),其中微控 制器模塊與第一及第二處理器相連接。在此步驟中,微控制器模塊由第一處理器讀取是否 能成功連接至電源的訊號。假設(shè)此訊號的默認(rèn)值為高準(zhǔn)位,若可成功連接至電源,則此訊號 會被更改成低準(zhǔn)位,因此,若微控制器模塊接收到的訊號為低準(zhǔn)位,表示第一處理器可成功 連接至電源,且由第一處理器執(zhí)行開機(jī)程序;相反的,若訊息為高準(zhǔn)位,則表示第一處理器 并未成功連接至電源。
[0047]接著,在步驟410中,微控制器模塊通過一通用型輸入輸出模塊,以判斷第一處理 器是否開機(jī)成功。通用型輸入輸出模塊與微控制器模塊及一 PCH(Platf〇rm Orntrolle!· Hub)芯2組相連接,此PCH芯片組可于開機(jī)成功時(shí)發(fā)出一開機(jī)成功訊號。假設(shè)此訊號的默 認(rèn)值為聞準(zhǔn)位,若開機(jī)成功,則此訊號會被更改成低準(zhǔn)位,因此若微控制器模塊接收到低準(zhǔn) 位的訊號,表不開機(jī)成功;相反的,若微控制器模塊接收到高準(zhǔn)位的訊號,則表示開機(jī)失敗, 此時(shí)確認(rèn)第一處理器故障。
[0048]或者,在步驟410中,微控制器模塊亦可通過一定時(shí)器,以確認(rèn)第一處理器是否開 機(jī)成功。此定時(shí)器可例如設(shè)置于微控制器模塊內(nèi),且分別連接至第一處理器及第二處理器。 在此狀況下,第一處理器以一預(yù)定時(shí)間間隔重置定時(shí)器,當(dāng)定時(shí)器倒數(shù)至零時(shí),則表示第一 處理器開機(jī)失敗,可確認(rèn)第一處理器故障。若否,則表示第一處理器開機(jī)成功。
[0049]于步驟410中,若偵測到第一處理器并未故障,則由第一處理器完成開機(jī)程序(步 驟415);若偵測到第一處理器并未連接到電源或故障,則微控制器模塊通過一切換器模塊, 將預(yù)設(shè)處理器切換為第二處理器(步驟420)。切換器模塊連接至第一及第二處理器,亦通過 通用型輸入輸出模塊連接至微控制器模塊。因此,當(dāng)微控制器偵測到第一處理器并未連接 至電源或故障,即發(fā)出一訊號,此訊號通過通用型的輸入輸出模塊,而傳輸至切換器模塊, 切換器模塊在接收訊號后,便將預(yù)設(shè)處理器由第一處理器切換至第二處理器。
[0050]在步驟425中,啟動(dòng)關(guān)機(jī),并且等待一預(yù)定時(shí)間,令主機(jī)板充分放電之后,重新開 機(jī)。
[0051] 接著,微控制器模塊偵測第二處理器是否連接至電源(步驟430)。此時(shí),微控制器 模塊由第二處理器讀取是否成功連接至電源的訊號,假設(shè)此訊號的默認(rèn)值為高準(zhǔn)位,若成 功連接至電源,則此訊號會被更改成低準(zhǔn)位。因此,若微控制器模塊接收到的訊號為低準(zhǔn) 位,表示第二處理器可成功連接至電源;相反的,若訊息為高準(zhǔn)位,則表示第二處理器并未 成功連接至電源。
[0052]于步驟430中,若偵測到第二處理器已成功連接至電源,則微控制器模塊通過一 通用型輸入輸出模塊,以判斷第二處理器是否開機(jī)成功(在步驟435)。通用型輸入輸出模 塊與微控制器模塊及一 PCH(Platform Controller Hub)芯片組相連接,此PCH芯片組用以 于開機(jī)成功時(shí)發(fā)出一開機(jī)成功訊號。假設(shè)此訊號默認(rèn)值為高準(zhǔn)位,若開機(jī)成功,則此訊號會 被更改成低準(zhǔn)位,因此若微控制器模塊接收到低準(zhǔn)位的訊號,表示開機(jī)成功;相反的,若接 收到高準(zhǔn)位的訊號,則表示開機(jī)失敗,此時(shí)確認(rèn)第二處理器故障。
[0053]或者,同步驟435,微控制器模塊可通過一定時(shí)器,以確認(rèn)第二處理器是否開機(jī)成 功。此定時(shí)器位于微控制器模塊的內(nèi)部,且分別連接至第一處理器及第二處理器,第二處理 器以一預(yù)定時(shí)間間隔重置定時(shí)器,當(dāng)定時(shí)器倒數(shù)至零時(shí),則表示第二處理器開機(jī)失敗,可確 認(rèn)第二處理器故障。若否,則表示第二處理器開機(jī)成功。
[0054] 于步驟435中,若偵測到第二處理器并未故障,則接著由第二處理器完成開機(jī)程 序(步驟440)。若偵測到第二處理器故障,則接著判斷重新開機(jī)的次數(shù)是否已達(dá)一預(yù)定次數(shù) 的步驟(圖3步驟300)。倘若已達(dá)一預(yù)定次數(shù),則進(jìn)行關(guān)機(jī)(圖3步驟305);倘偌位達(dá)預(yù) 定次數(shù),則啟動(dòng)關(guān)機(jī),并且等待一預(yù)定時(shí)間,令主機(jī)板充分放電之后,再重新開機(jī)(圖3步驟 310) 〇
[0055]在上述具體實(shí)施例中,主要通過微控制器模塊以及切換器模塊,再搭配其它的必 要組件,使得兩中央處理器皆可作為預(yù)設(shè)處理器,執(zhí)行開機(jī)及其它運(yùn)算。因此,在多中央處 理器的信息處理系統(tǒng)中,可利用此方法以偵測預(yù)設(shè)處理器是否故障。若是,則切換到其它處 理器并執(zhí)行開機(jī)及其它運(yùn)算,如此便可維持此信息處理系統(tǒng)的功能。
[0056]由于計(jì)算機(jī)的運(yùn)算日趨復(fù)雜,商用的信息處理系統(tǒng)大多使用數(shù)目為兩個(gè)以上的中 央處理器,例如4, 6,或8個(gè)。盡管本發(fā)明是以2及4個(gè)CPU的系統(tǒng)為例說明如上,然應(yīng)注 意者,本發(fā)明并不限制于此。換言之,本發(fā)明的方法可使用于多個(gè)中央處理器的信息處理系 統(tǒng),而在不同的中央處理器之間進(jìn)行切換。如此一來,即使其中一中央處理器故障,系統(tǒng)仍 能正常運(yùn)作,如此可將損失降至最低。
【權(quán)利要求】
1. 一種多中央處理單元偵錯(cuò)切換的方法,所述多中央處理單元至少包含一第一及一第 二處理器,而以所述第一處理器為預(yù)設(shè)處理器,所述方法包含: (a) 利用一微控制器模塊,偵測所述第一及第二處理器是否連接至電源; (b) 利用一微控制器模塊,偵測所述第一處理器是否能夠正常開機(jī),若否,則表示所述 第一處理器故障; (c) 當(dāng)偵測到所述第一處理器未連接至電源或故障,且所述第二處理器有連接至電源 時(shí),所述微控制器模塊發(fā)出一訊號,并將所述訊號傳輸至一切換器模塊,以令所述切換器模 塊將所述預(yù)設(shè)處理器由所述第一處理器切換至所述第二處理器;以及 (d) 利用一微控制器模塊,偵測所述第二處理器是否能夠正常開機(jī),若否,則表示所述 第二處理器故障,當(dāng)所述第二處理器故障時(shí),則執(zhí)行重新開機(jī)程序。
2. 如請求項(xiàng)1的多中央處理單元偵錯(cuò)切換的方法,其中,在步驟(b)及(d)中,所述微 控制器模塊通過一通用型輸入輸出模塊而判斷所述第一或第二處理器是否能夠正常開機(jī), 所述通用型輸入輸出模塊與一PCH(Platform Controller Hub)芯片組連結(jié),用以于開機(jī)成 功時(shí)發(fā)出一開機(jī)成功訊號。
3. 如請求項(xiàng)1的多中央處理單元偵錯(cuò)切換的方法,其中,在步驟(b)及(d)中,所述微 控制器模塊通過一定時(shí)器而判斷所述第一或第二處理器是否能夠正常開機(jī),所述第一或第 二處理器以一預(yù)定時(shí)間間隔重置所述定時(shí)器,當(dāng)所述定時(shí)器倒數(shù)至零時(shí),則判斷所述第一 或第二處理器故障。
4. 如請求項(xiàng)1或2的多中央處理單元偵錯(cuò)切換的方法,其中,在步驟(c)中,所述微控 制器模塊通過所述通用型輸入輸出模塊,進(jìn)而連接至一切換器模塊,令所述切換器模塊將 所述預(yù)設(shè)處理器切換至所述第二處理器。
5. 如請求項(xiàng)1的多中央處理單元偵錯(cuò)切換的方法,其中,在所述步驟(d)中的重新開機(jī) 包含使主機(jī)板充分放電。
6. 如請求項(xiàng)1的多中央處理單元偵錯(cuò)切換的方法,還包含重復(fù)步驟(a)-(d) -預(yù)定次 數(shù)。
7. 如請求項(xiàng)1的多中央處理單元偵錯(cuò)切換的方法,還包含當(dāng)所述第一處理器故障時(shí), 由所述微控制器模塊發(fā)出一訊號,通過所述通用型的輸入輸出模塊,傳輸至所述切換器模 塊,令其將所述預(yù)設(shè)處理器由所述第一處理器改為所述第二處理器。
【文檔編號】G06F11/07GK104252396SQ201310264240
【公開日】2014年12月31日 申請日期:2013年6月28日 優(yōu)先權(quán)日:2013年6月28日
【發(fā)明者】李怡明, 廖峻德, 栗宇平 申請人:技嘉科技股份有限公司