国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      處理器故障隔離的方法和裝置的制作方法

      文檔序號:6609809閱讀:274來源:國知局
      專利名稱:處理器故障隔離的方法和裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及數(shù)據(jù)處理,更確切地說,涉及處理器故障隔離的方法、 系統(tǒng)和產(chǎn)品。
      背景技術(shù)
      1948年EDVAC計算機(jī)系統(tǒng)的開發(fā)往往被引證為計算機(jī)時代的 開始。從那時以來,計算機(jī)系統(tǒng)已經(jīng)進(jìn)化為極為復(fù)雜的設(shè)備。今日的 計算機(jī)比早期的系統(tǒng)比如EDVAC深奧得多。典型情況下,計算機(jī)系 統(tǒng)包括硬件與軟件的結(jié)合,應(yīng)用程序、操作系統(tǒng)、處理器、總線、存 儲器、輸入/輸出設(shè)備等等。隨著半導(dǎo)體處理和計算機(jī)架構(gòu)的進(jìn)步推動 計算機(jī)性能越來越高,更深奧的計算機(jī)軟件已經(jīng)進(jìn)化為利用了硬件的 更高性能,結(jié)果是今日的計算機(jī)系統(tǒng)比僅僅幾年前強(qiáng)有力得多。已經(jīng)見到的進(jìn)步相當(dāng)可觀的進(jìn)步之一是多處理,在單一計算機(jī)中 使用不止一個處理器。在這樣的系統(tǒng)中,檢測單一處理器中的故障是 一項挑戰(zhàn)。處理器發(fā)生故障時,它可能不響應(yīng)帶內(nèi)詢問一通過主總線 或前側(cè)總線發(fā)出正常處理器命令。所以故障隔離的一種方法是帶外詢 問處理器,例如通過處理器上的JTAG端口。 'JTAG,是Joint Test Action Group的縮寫詞,而且是參考標(biāo)題為Standard Test Access Port and Boundary-Scan Architectue的IEEE 1149.1標(biāo)準(zhǔn)時通常所用的名 稱。JTAG是測試訪問端口的標(biāo)準(zhǔn),用于使用邊界掃描來測試印刷電 路板和組件(包括計算機(jī)處理器)。邊界掃描是測試印刷電路板上互 連(少量線)或集成電路之內(nèi)子塊的方法。稱為JTAG的邊界掃描標(biāo) 準(zhǔn)已經(jīng)被全世界的電子設(shè)備公司如此廣泛地采用,以至于今天'邊界掃 描,和'JTAG,實際上是同義詞。不過,在本說明書中,'邊界掃描,和 'JTAG,不被視為同義詞。本文作為術(shù)語使用的'邊界掃描,表示泛指的
      邊界掃描操作,而使用'JTAG,表示根據(jù)JTAG標(biāo)準(zhǔn)的邊界掃描。換言 之,在本說明書中,JTAG被視為一種邊界掃描的實例、公認(rèn)為廣泛 使用的實例,然而僅僅是一個實例而已。術(shù)語'邊界掃描,不僅包括 JTAG,而且還包括本領(lǐng)域的技術(shù)人員可以設(shè)想出的任何種類的邊界 掃描。邊界掃描架構(gòu)提供了在不使用物理探針情況下,測試邏輯電路、 存儲器和其他電路元件互連和集束的裝置。它增添了連接到設(shè)備每個 管腳的 一個或多個所謂的'測試單元,,它們可以選擇性地取代該管腳 的功能。這些測試單元可以通過JTAG掃描鏈進(jìn)行編程,以驅(qū)動信號 進(jìn)入管腳并跨越電路板上的個別線路。然后可以使電路板線路目的地 的單元編程為讀取在該管腳處的數(shù)值,從而驗證電路板線路正確地連 接了這兩個管腳。如果該線路被短路到另一個信號,或者該線路已經(jīng) 被切斷,則正確的信號值將不會在目的地管腳處顯示,并且將知道該 電路板有故障。在集成電路內(nèi)部進(jìn)行邊界掃描時,在若干邏輯設(shè)計塊之間增添了 若干邊界掃描鎖存器單元(往往稱"測試單元,或'鎖存單元,或僅僅'鎖 存器,),以便能夠以仿佛它們是物理上獨立的若干電路那樣的方式控 制它們。對于正常操作,所增添的邊界掃描鎖存器單元被設(shè)置為它們 對電路沒有影響,從而實際上不可見。然后將電路設(shè)置為測試模式時, 這些鎖存器便能夠使數(shù)據(jù)流以所謂'掃描鏈,串行地從一個鎖存器傳遞 到下一個。由于這些單元能夠用于迫使數(shù)據(jù)進(jìn)入電路板,所以它們能 夠建立測試條件。然后通過串行地將數(shù)據(jù)字同步地返回,能夠?qū)⑷舾?相關(guān)狀態(tài)反饋到外部測試系統(tǒng),以便能夠分析電路板.通過采用這種技術(shù),測試系統(tǒng)就有可能得到對電路板或集成電路 (比如計算機(jī)處理器或計算機(jī)存儲器模塊)中內(nèi)部邏輯的測試訪問。 由于當(dāng)今的大多數(shù)電路板都密集地填充著組件和線路。所以測試系統(tǒng) 很難訪問電路板的相關(guān)區(qū)域,以使它們能夠測試該電路板。不僅如此, 集成電路之內(nèi)的大多數(shù)內(nèi)部邏輯并沒有外連到管腳或焊盤,所以外部 測試系統(tǒng)根本不能訪問它們。邊界掃描使得這些事情變?yōu)榭赡堋?br> 在產(chǎn)品開發(fā)期間,JTAG端口通常連接到外部測試系統(tǒng),比如, AMD的硬件調(diào)試工具或American Arium,以便為了測試而讀取處理 器寄存器和控制處理器操作。在這種配置中,正在測試的計算機(jī)內(nèi)安 裝的全部處理器都在單一的JTAG鏈內(nèi)。為了與特定的處理器通信, 鏈中的全部其他處理器都需要被置于BYPASS (旁路)模式下,以允 許JTAG命令通過它們傳遞。盡管這種方法適于代碼開發(fā),但是它對 為了故障隔離目的而使用處理器的JTAG端口提出了挑戰(zhàn)。 一個問題 在于,如果處理器故障的災(zāi)難性足以使其JTAG端口無法工作,通路 就斷掉了。這就會阻止與通路中其他處理器的通信,而它們可能仍然 是可運行的而且保持著在哪一方面發(fā)生故障的線索。另一個問題在于,將處理器置于BYPASS模式典型情況下是帶 外因素通過微控制器影響的操作,例如通過基板管理控制器('BMC,)。 BMC是專用微控制器,嵌入在許多計算機(jī)的主板上,尤其是服務(wù)器。 BMC是智能平臺管理接口 ('IPMI,)構(gòu)架中的智能。BMC管理著系 統(tǒng)管理軟件與平臺硬件之間的接口。建造在計算機(jī)系統(tǒng)內(nèi)的不同類型傳感器向BMC報告若干參數(shù), 比如溫度、冷卻風(fēng)扇的速度、電源模式、操作系統(tǒng)狀態(tài)、處理器操作 等。BMC監(jiān)控這些傳感器并且能夠在任何參數(shù)沒有停留在預(yù)設(shè)的限度 之內(nèi)、表明潛在的系統(tǒng)故障時通過網(wǎng)絡(luò)向系統(tǒng)管理員發(fā)送警報。系統(tǒng) 管理員也可以與BMC進(jìn)行遠(yuǎn)程通信,以采取某種矯正的動作,比如 對系統(tǒng)進(jìn)行復(fù)位和動力循環(huán),使掛起的操作系統(tǒng)再次運行。這些能力 節(jié)省了擁有系統(tǒng)的總成本。到BMC的物理接口包括系統(tǒng)管理總線('SMB, ) 、 RS-232總線、 地址線和數(shù)據(jù)線以及智能平臺管理總線OIPMB,),后者使BMC能 夠從系統(tǒng)中的其他管理控制器處接受IPMI請求消息。BMC使用IPMI 協(xié)議與遠(yuǎn)程客戶機(jī)上的BMC管理實用程序('BMU,)通信。BMU通 常是命令行接口 OCLI,)應(yīng)用程序。智能平臺管理接口 ('IPMI,)規(guī) 范定義了一組到計算機(jī)硬件和固件的公共接口,系統(tǒng)管理員能夠利用 它們監(jiān)控系統(tǒng)的健康狀態(tài)和管理該系統(tǒng)。
      IPMI的操作與操作系統(tǒng)無關(guān),而且即使在沒有操作系統(tǒng)或系統(tǒng) 管理軟件,或者即使監(jiān)控系統(tǒng)沒有開機(jī)時,也允許系統(tǒng)管理員遠(yuǎn)程地 管理系統(tǒng)。在操作系統(tǒng)已經(jīng)啟動后IPMI也能夠工作,并且當(dāng)與系統(tǒng) 管理軟件一起使用時能夠提供增強(qiáng)的特點。IPMI允許通過直接串行 連接、局域網(wǎng)('LAN,)或在LAN上的串行('SOL,)連接向遠(yuǎn)程客 戶機(jī)發(fā)送警報。然后系統(tǒng)管理員能夠使用IPMI消息查詢平臺狀態(tài)、 復(fù)查硬件日志或者通過相同連接從遠(yuǎn)程控制臺發(fā)布其他請求。該標(biāo)準(zhǔn) 也定義了報警機(jī)制,用于系統(tǒng)發(fā)送簡單的網(wǎng)絡(luò)管理協(xié)議('SNMP,)平 臺事件陷阱('PET,)。系統(tǒng)管理微控制器比如BMC是小型嵌入式器件,包括小型處理 器、其中存儲著微控制器控制程序的小容量存儲器以及一個或多個 I/O端口 。將處理器置于BYPASS模式的機(jī)制表現(xiàn)了在這種嵌入式微 控制器上的大量操作負(fù)荷。所以,這樣的微控制器詢問處理器和隔離 故障所需的微控制器程序代碼盡可能保持簡單和流水線化是有益的。此外,當(dāng)外部設(shè)備正在使用JTAG鏈即進(jìn)行調(diào)試/開發(fā)時,通常 通過板上機(jī)械開關(guān)或跳線包括或從鏈中除去處理器。這就需要在改變 系統(tǒng)中的處理器數(shù)量和位置時進(jìn)行手工鏈配置和重新配置。發(fā)明內(nèi)容為隔離處理器故障而公開的方法、裝置和產(chǎn)品包括由嵌入式系 統(tǒng)微控制器向可編程邏輯設(shè)備('PLD,)發(fā)送選擇信號以識別用于邊 界掃描操作的一個處理器;發(fā)送將要被發(fā)送到所述識別后處理器的若 干邊界掃描輸入信號;由PLD將所述邊界掃描輸入信號多路傳輸?shù)剿?述識別后的處理器;以及發(fā)送從所述識別后的處理器返回的若千邊界 掃描輸出信號。為隔離處理器故障而公開的方法、裝置和產(chǎn)品還包括 在邊界掃描測試鏈中連接兩個或更多處理器,所述連接由計算機(jī)的 PLD執(zhí)行,所述PLD進(jìn)一步連接到攜帶存在信號的若干傳感線,這 些信號表明在計算機(jī)中是否存在處理器;以及在所述鏈中包括根據(jù)存 在信號表明存在的全部處理器。 從以下對在附圖中所展示的本發(fā)明示范實施例的更詳細(xì)說明,本 發(fā)明以上的和其他的目的、特征和優(yōu)點將會顯而易見,其中相同的附 圖標(biāo)記通常表示本發(fā)明示范實施例的相同部分。


      圖1闡明了示范計算機(jī)的框圖,用于根據(jù)本發(fā)明實施例的處理器故障隔離;圖2闡明了示范裝置的功能框圖,用于根據(jù)本發(fā)明實施例的處理 器故障隔離;圖3闡明了另一個處理器示范裝置的功能框圖,用于根據(jù)本發(fā)明 實施例的處理器故障隔離;圖4闡明了又一個處理器示范裝置的功能框圖,用于根據(jù)本發(fā)明 實施例的處理器故障隔離;圖5闡述了展示示范方法的流程圖,用于根據(jù)本發(fā)明實施例的處 理器故障隔離;圖6闡述了展示另一種示范方法的流程圖,用于根據(jù)本發(fā)明實施 例的處理器故障隔離。
      具體實施方式
      參考以圖l開始的附圖介紹根據(jù)本發(fā)明實施例的處理器故障隔離 的示范方法、系統(tǒng)和產(chǎn)品。作為在本說明書中使用的術(shù)語,'處理器故 障隔離,是指確定處理器問題的原因。所述術(shù)語包括能夠?qū)栴}根源隔 離至某處理器或者隔離至某組件或邏輯電路乃至處理器內(nèi)具體寄存器 的若干方法。這些方法可以包括為了隔離故障的邊界掃描操作。圖1闡明了示范計算機(jī)(246)的框圖,用于根據(jù)本發(fā)明實施例 的處理器故障隔離。圖1的計算機(jī)(246)包括兩臺計算機(jī)處理器(108、 110)即'CPU,以及隨機(jī)存取存儲器(256) ('RAM,),它通過高速 存儲器總線(296)和總線適配器(272)連接到處理器(108、 110) 和該計算機(jī)的其他組件。在這個實例中使用兩臺處理器(108, 110)
      僅僅是為了便于解釋;事實上,根據(jù)本發(fā)明實施例執(zhí)行處理器故障隔 離的計算機(jī)可以具有任意數(shù)量的處理器。圖1的實例計算機(jī)包括的可編程邏輯設(shè)備OPLD,),它根據(jù)本 發(fā)明的實施例,將若干邊界掃描信號多路傳輸?shù)蕉嗯_處理器當(dāng)中的單 一處理器中并為邊界掃描操作而以指定的次序連接處理器。PLD是用 于建立數(shù)字電路的電子組件。與具有固定功能的邏輯門不同,PLD在 制造時具有未定義的功能。PLD必須編程后才能在電路中使用。這樣 的PLD所用的程序代碼可以體現(xiàn)在處理器故障隔離所用的計算機(jī)程 序產(chǎn)品中,而且該計算機(jī)程序產(chǎn)品可以在信號承載介質(zhì)上配置、輸送 或傳遞。信號承栽介質(zhì)可以是可記錄介質(zhì),比如光盤、磁盤或磁帶, 信號承載介質(zhì)還包括傳輸介質(zhì),比如計算機(jī)網(wǎng)絡(luò)或無線介質(zhì)。根據(jù)本 發(fā)明的實施例用于處理器故障隔離裝置中所用的PLD實例包括復(fù)雜 可編程邏輯設(shè)備OCPLD,)、現(xiàn)場可編程門陣列('FPGA,)、可編 程邏輯陣列(TAL,)、專用集成電路('ASIC,)、嵌入式微控制器 以及本領(lǐng)域技術(shù)人員可以設(shè)想出的其他器件。在這個實例中的PLD包括幾個邊界掃描端口 (262、 264、 266、 268),在此表示為JTAG端口。邊界掃描端口是一組邊界掃描連線, 連接到攜帶邊界掃描信號的邊界掃描線路。典型情況下JTAG信號通 過JTAG端口連接,例如包括TDI (測試數(shù)據(jù)輸入)、TDO(測試數(shù) 據(jù)輸出)、TCK (測試時鐘)、TMS (測試模式選擇)、TRST (測 試復(fù)位)。TRST是JTAG下的可選信號。因為JTAG在每個方向僅 僅使用一條數(shù)據(jù)線路,所以TDI和TDO、 JTAG信號必定像SPI — 樣串行化。時鐘輸入在TCK管腳。通過TMS管腳每次一位地操縱狀 態(tài)機(jī)進(jìn)行配置。在每個TCK時鐘脈沖,分別在TDI和TDO的管腳處 傳遞入或傳遞出一位數(shù)據(jù)??梢约虞d不同的指令模式以讀取芯片的 ID、采樣輸入管腳、驅(qū)動(或浮動)輸出管腳、操縱芯片功能或BYPASS (將TDI管道傳送到TDO,以邏輯地縮短多個芯片的鏈)。在這個實例中的PLD (104)提供了動態(tài)邊界掃描測試鏈配置的 性能以及與處理器虛擬鏈中的單一處理器通信的能力。為了隔離故障,
      嵌入式系統(tǒng)微控制器(此處由微控制器BMC(102)表示)操縱選擇線 (242),以表明它希望詢問哪個處理器。然后PLD將微控制器的邊 界掃描信號(292)連接到所選定的處理器(108或110),實際上創(chuàng) 建僅僅包含一個處理器的邊界掃描測試鏈。通過重復(fù)這個過程,每臺 處理器都能夠受到詢問,無論任何其他處理器是否已經(jīng)遭受了災(zāi)難性 故障。同時,在這個過程中微控制器不需要任何處理器的邊界掃描端 口處于BYPASS模式,從而減少了嵌入式系統(tǒng)微控制器(102)控制 程序的規(guī)模和復(fù)雜度。當(dāng)外部測試系統(tǒng)(250)為了開發(fā)目的或制造測試而使用處理器 邊界掃描時,PLD可以使用處理器的當(dāng)前信號(238、 240),動態(tài)地 配置該處理器為邊界掃描測試鏈(如果處理器存在,它將包括在鏈中)。 這就不再需要根據(jù)處理器數(shù)目變化而進(jìn)行手工的鏈配置。提供了若干 取代跳線(190),使得已安裝的處理器,也就是檢測為存在的處理器, 可以應(yīng)測試人的要求而從該鏈中去除。在外部測試系統(tǒng)進(jìn)行的邊界掃 描操作期間,PLD能夠根據(jù)處理器的數(shù)目,也就是根據(jù)檢測為存在的 處理器數(shù)目,將它們配置為單一的邊界掃描鏈。發(fā)生致命的系統(tǒng)故障 時,PLD可以斷開該單一鏈,并且等待來自嵌入式系統(tǒng)微控制器(102 ) 的處理器選擇。在圖1實例計算機(jī)中,應(yīng)用程序(258)—用戶級計算機(jī)程序指 令的模塊和操作系統(tǒng)(260 )存儲在RAM ( 256 )中。根據(jù)本發(fā)明實 施例隔離處理器故障的計算機(jī)中使用的操作系統(tǒng)包括UNIXtm、 LinuxTM、 Microsoft NTTM、 AIXTM、 IBM的i5/OSTM,以及本領(lǐng)域技 術(shù)人員將設(shè)想出的其他系統(tǒng)。圖1實例中的操作系統(tǒng)(260)和應(yīng)用程 序(258)顯示在RAM (256)中,但是典型情況下這種軟件的許多 組件也存儲在非易失存儲器中,例如在磁盤驅(qū)動器(284)上。圖1的計算機(jī)(246)包括總線適配器(272)—包含高速總線、 快速傳送總線(294、 248)、視頻總線(296)和存儲器總線(298) 以及較慢的擴(kuò)展總線(244 )所用的驅(qū)動器電子線路的計算機(jī)硬件組件。 在根據(jù)本發(fā)明實施例執(zhí)行處理器故障隔離的計算機(jī)中所用總線適配器
      的實例包括英特爾北橋、英特爾存儲器控制器中心、英特爾南橋、英特爾1/0控制器中心和快速傳送總線適配器。在根據(jù)本發(fā)明實施例執(zhí)行處理器故障隔離的計算機(jī)中所用擴(kuò)展總線的實例包括工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)('ISA,)總線和外設(shè)部件互連('PCI,)總線??焖賯魉?HyperTransport)總線(294、 248)遵循快速傳送技術(shù) 聯(lián)盟發(fā)布的標(biāo)準(zhǔn)。快速傳送總線(294、 248)是一種非常快的雙向串 行/并行高帶寬、低等待時間計算機(jī)總線。根據(jù)版本不同,快速傳送總 線可以運行在200 MHz到2.6 GHz (相比而言PCI在33 MHz或66 MHz)??焖賯魉涂偩€(294、 248 )還是一種DDR即"雙倍數(shù)據(jù)速率" 總線,意味著它在其總線時鐘信號的上升沿和下降沿都發(fā)送數(shù)據(jù)。這 就允許以2.6GHz運行的每對線路最大數(shù)據(jù)速率為5200M傳遞/s。快 速傳送的主要用途,以及圖1的實例計算機(jī)中顯示快速傳送總線(294、 248)的方式,是為了取代前端總線,目前它對幾乎每一種計算機(jī)都不 同。例如,奔騰處理器不能插入到PCI總線內(nèi)。為了擴(kuò)展系統(tǒng),前端 總線必須通過適配器連接多種標(biāo)準(zhǔn)總線,如AGP或PCI。典型情況下, 它們包括在各自的控制器功能中,即北橋和南橋。以快速傳送實施的 類似計算機(jī)更加靈活以及更加快速。單一的PCK》快速傳送適配器芯 片將與一切允許快速傳送的微處理器合作,而且允許使用具有這些處理器的PCI卡。例如,NVIDIA nForce芯片組使用快速傳送連接其北 橋和南橋。因為快速傳送總線的速度和靈活性,在根據(jù)本發(fā)明實施例 執(zhí)行處理器故障隔離的計算機(jī)中優(yōu)選它們,但是它們不是本發(fā)明必須 的要素。其他的總線也可以使用,包括例如來自Intel的眾所周知的共 享總線架構(gòu)。圖1的計算機(jī)(246)包括磁盤驅(qū)動適配器(278),通過擴(kuò)展總 線(244)和總線適配器(272)連接到處理器(108、 110)和計算機(jī) (246)的其他組件。磁盤驅(qū)動器適配器(278)以磁盤驅(qū)動器(284) 的形式將非易失性數(shù)據(jù)存儲器連接到計算機(jī)。在根據(jù)本發(fā)明實施例執(zhí) 行處理器故障隔離的計算機(jī)中所用的磁盤驅(qū)動器適配器包括集成驅(qū)動 器電路('IDE,)適配器、小型計算機(jī)系統(tǒng)接口 ('SCSI,)適配器以及 本領(lǐng)域的技術(shù)人員將設(shè)想出的其他適配器。除了磁盤驅(qū)動器外,非易 失性計算機(jī)存儲器也可以被實施為光盤驅(qū)動器、電子可擦除可編程只讀存儲器空間(所謂的'EEPROM,或'Flash,存儲器)、電池支持的RAM 驅(qū)動器等,正如本領(lǐng)域的技術(shù)人員可以設(shè)想出的。圖1的實例計算機(jī)包括一個或多個輸入/輸出('i/o,)適配器 (276) 。 1/0適配器通過例如軟件驅(qū)動程序和計算機(jī)硬件實現(xiàn)面向用 戶的輸入/輸出,用于控制向顯示設(shè)備的輸出,比如計算機(jī)顯示屏,以 及控制來自用戶輸入設(shè)備(282)的用戶輸入,比如鍵盤和鼠標(biāo)。圖l 的實例計算機(jī)包括視頻適配器(254),它是專門為顯示設(shè)備(252) 的圖形輸出而設(shè)計的I/O適配器的實例,比如顯示屏或計算機(jī)監(jiān)視器。 視頻適配器(254)通過高速視頻總線(296)、總線適配器(272)和 快速傳送總線(294、 248)(它如以上說明也是高速總線)連接到處 理器(108、 110)。圖1的計算機(jī)包括通信適配器(274),用于與其他計算機(jī)(280) 的數(shù)據(jù)通信。進(jìn)行這樣的數(shù)據(jù)通信時可以通過串行地經(jīng)由RS-232連 接、經(jīng)由外部總線比如通用串行總線('USB,)、經(jīng)由數(shù)據(jù)通信數(shù)據(jù) 通信網(wǎng)絡(luò)比如IP數(shù)據(jù)數(shù)據(jù)通信網(wǎng)絡(luò)以及以本領(lǐng)域的技術(shù)人員可以設(shè) 想出的其他方式。通信適配器實現(xiàn)硬件級的數(shù)據(jù)通信, 一個處理器計 算機(jī)通過它直接地或通過數(shù)據(jù)通信網(wǎng)絡(luò)向另 一個處理器計算機(jī)發(fā)送數(shù) 據(jù)通信。在根據(jù)本發(fā)明實施例執(zhí)行處理器故障隔離的計算機(jī)中所用通 信適配器的實例包括用于有線撥號通信的調(diào)制解調(diào)器、用于有線數(shù)據(jù) 通信網(wǎng)絡(luò)通信的以太網(wǎng)(IEEE 802.3)適配器,以及用于無線數(shù)據(jù)通 信網(wǎng)絡(luò)通信的802.11b/g適配器。為了進(jìn)一步的解釋,圖2闡述了示范裝置的功能框圖,用于根據(jù) 本發(fā)明實施例的處理器故障隔離。圖1顯示了根據(jù)本發(fā)明實施例的處 理器故障隔離的示范裝置組件之間的物理連接。圖2的裝置包括的計 算機(jī)組件為邊界掃描操作而連接,在這個實例中是JTAG邊界掃描操 作。圖2的實例裝置包括四臺計算機(jī)處理器(108、 110、 112、 114), 通過JTAG線(148-180 )連接到PLD (104 )上的JTAG端口 ( 210、 212、 214、 216)。在這個實例中使用四臺處理器僅僅為了便于解釋;事實上,根據(jù)本發(fā)明實施例執(zhí)行處理器故障隔離的計算機(jī)一或任何裝置一可以具有任何數(shù)目的處理器。
      所述裝置包括嵌入式系統(tǒng)微控制器,本文表現(xiàn)為基板管理控制器,BMC (102)。該BMC通過邊界掃描線(124-132)、兩條處理器選擇線(120、 122 )以及一條或多條控制線(182、 184 )連接到PLD (104)上。在這個實例中,嵌入式系統(tǒng)微控制器(102)能夠向PLD (104 )發(fā)送選擇信號,標(biāo)識用于邊界掃描操作的處理器之一。嵌入式系統(tǒng)微控制器(102)也能夠向PLD發(fā)送邊界掃描輸入信號,以便向標(biāo)識出的處理器發(fā)送。
      在這個實例中的PLD (104)由其編程邏輯(118)配置,以便讀取和解碼來自選擇信號(120、 122)的單一處理器的標(biāo)識,以及將通器,并且將在任意TDO線(156、 164、 172、 180)上從所識別的處 理器返回的邊界掃描輸出信號通過TDO線(132)發(fā)送到嵌入式系統(tǒng) 微控制器(102)。所述PLD上有若干離散管腳,用于連接每臺處理 器的TDI、 TCK、 TDO和存在("PRES")信號。TMS和TRST JTAG 信號(16、 148)是這些處理器之間由總線傳輸,因為無論邊界掃墓信 號是被多路傳輸至單一處理器還是被發(fā)送到處理器鏈,它們都能夠被 共享。有四個跳線(190)連接到PLD,以便根據(jù)處理器總數(shù)取代自 動鏈配置。BMC JTAG端口 ( 218 )和外部測試連接JTAG端口 ( 220 ) 中的每一個都具有一組完整的JTAG信號(TCK、 TRST、 TMS、 TDI 和TDO),直接連接到PLD。此外,BMC具有兩個選擇信號(120、 122),以便選擇要詢問哪個處理器。
      圖2的裝置還包括用于外部測試系統(tǒng)(194)的訪問端口,本文 由外部測試連接(106 )表示。外部測試系統(tǒng)可以是運行著AMD的硬 件調(diào)試工具例如American Arium的計算機(jī)系統(tǒng)本身,也可以是本領(lǐng) 域的技術(shù)人員可以設(shè)想出的另 一種外部測試系統(tǒng)。
      為了進(jìn)一步的解釋,圖3闡述了進(jìn)一步示范裝置的功能框圖,用 于根據(jù)本發(fā)明實施例的處理器故障隔離。圖3的裝置具有與圖2裝置 相同的物理配置。不過,圖3顯示了由PLD (104)在適合于用外部 測試系統(tǒng)(120)進(jìn)行邊界掃描操作的運行條件下建立的邏輯連接。 BMC (120)與其到PLD (104)的連接雖然仍舊存在,但是被灰化, 以便集中關(guān)注在外部測試連接(106)。在圖3的實例中,由于典型的 外部測試系統(tǒng)需要,處理器都配置在單一的JTAG鏈中。實現(xiàn)過程如 下 從外部測試連接(106)向所有處理器(108、 110、 112、 114)分發(fā)TCK信號(136、 162), 將外部測試連接(106)的TDI (142)連接到所述鏈中首先安裝的處理器(108)的TDI (152), 將所述鏈中最后安裝的處理器(114 )的TDO (180 )連接到外部測試連接(106)上的TDO (144),以及 將系統(tǒng)中安裝的剩余處理器的TDO與TDI串聯(lián)(202、 204、 206)。所有這四種操作都由PLD(104)內(nèi)部掌控。它們是PLD之內(nèi)的 邏輯連接,根據(jù)其編程邏輯(118 )執(zhí)行。圖3所示裝置的若干組件之 間的物理連接仍然如同圖2中的描述。TMS和TRST信號(140、 138) 由PLD (104)從外部測試連接(106)傳遞到通向鏈中所有處理器的 總線傳輸信號。如果因為某種原因,應(yīng)當(dāng)從鏈中除去已安裝的某處理 器或處理器,可以安裝跳線(190),表明要除去的處理器位置。如此 表明的處理器能夠通過PLD的編程邏輯從鏈中除去。為了進(jìn)一步解釋,圖4闡述了進(jìn)一步示范裝置的功能框圖,用于 根據(jù)本發(fā)明實施例的處理器故障隔離。圖4的裝置具有與圖2裝置相 同的物理配置。不過,圖4顯示了由PLD (104)在適合于用嵌入式 系統(tǒng)微控制器(102 )進(jìn)行邊界掃描操作的運行條件下建立的邏輯連接。 外部測試連接(106)與其到PLD (104)的連接雖然仍舊存在,但是 被灰化,以便集中關(guān)注在嵌入式系統(tǒng)微控制器(102)。圖4顯示了期望由嵌入式系統(tǒng)微控制器(102)進(jìn)行處理器故障 隔離時由所述PLD建立的邏輯連接。出現(xiàn)致命的系統(tǒng)錯誤時,PLD
      (104)將自動地斷開圖3所示的邊界掃描測試鏈。當(dāng)嵌入式系統(tǒng)微控 制器(102)準(zhǔn)備開始對處理器進(jìn)行故障數(shù)據(jù)詢問時,它將使用到PLD 的選擇信號(120、 122),以便識別具體的處理器,例如將選擇線設(shè) 置為M)O,以選擇1號處理器,設(shè)置為'01,以選擇2號處理器,依此類推。 為了響應(yīng)這種情況,PLD被編程為將嵌入式系統(tǒng)微控制器(102)的 TCK和TDI信號(124、 130)連接到所識別的處理器。在這種配置 中,所有處理器的TDO信號都能夠被匯總為返回嵌入式系統(tǒng)微控制 器(102)的單一信號(180、 132)。嵌入式系統(tǒng)微控制器(102)的 TMS和TRST信號(128、 126 )連接到通向所有已安裝處理器(108、 110、 112、 114)的總線傳輸信號(146、 148)。在這種情況下,取代 跳線(l卯)將不起作用。編程邏輯電路(118)可以使用到PLD的處 理器存在信號(150、 158、 166、 174)作為防護(hù)措施,禁止嵌入式系 統(tǒng)微控制器(102)試圖與無處理器的插槽通信。通過實施這種方法, 嵌入式系統(tǒng)微控制器(102)將僅僅需要應(yīng)付單一處理器'鏈,,而且能 夠避免BYPASS模式。同時,如果在一個處理器中出現(xiàn)了災(zāi)難性故障, 嵌入式系統(tǒng)微控制器(102 )能夠簡單地繼續(xù)試圖從系統(tǒng)中的其他活化 處理器收集信息。要是這些處理器在單一鏈中并出現(xiàn)了這樣的災(zāi)難性 故障,則無法詢問任何處理器,因為該JTAG鏈會呈現(xiàn)為完全不可操 作。為了進(jìn)一步的解釋,圖5闡述了展示示范方法的流程圖,用于根 據(jù)本發(fā)明實施例的處理器故障隔離,包括在包含為邊界掃描操作而連 接到PLD的多于一個處理器的計算機(jī)中,由嵌入式系統(tǒng)微控制器向 PLD發(fā)送(502)至少一個選擇信號以識別用于邊界掃描操作的一個 處理器。 一個選擇信號可以識別兩臺處理器之一;兩個選擇信號可以 識別四臺處理器之一;三個選擇信號可以識別八臺處理器之一;對于 任何數(shù)目的處理器和任何數(shù)目的選擇信號都可以依此類推。所述邊界 掃描操作可以是JTAG操作。所述嵌入式系統(tǒng)微控制器可以是根據(jù)本 申請的實施例改進(jìn)的基板管理控制器,操作選擇信號時如同以上參考 圖1至圖3的介紹。在這個實例中,PLD是為處理器故障隔離而編程
      的PLD,并且根據(jù)以上參考圖1至圖3所介紹的本發(fā)明實施例連接到 處理器、連接到嵌入式系統(tǒng)微控制器以及連接到外部測試連接。圖5的方法還包括由嵌入式系統(tǒng)微控制器向PLD發(fā)送(504)將 要發(fā)送到所識別處理器的邊界掃描輸入信號。圖5的方法還包括由 PLD向所識別的處理器多路傳輸(506)這些邊界掃描輸入信號。向 所識別的處理器多路傳輸(506 )這些邊界掃描輸入信號時可以通過將 這一個處理器所識別的處理器連接為僅僅包括這一個處理器所識別的 處理器的邊界掃描測試鏈。而且向所識別的處理器多路傳輸(506)這 些邊界掃描輸入信號時可以通過將這一個處理器所識別的處理器連接 為僅僅包括這一個處理器所識別的處理器的邊界掃描測試鏈而無須將 任何其他處理器置于旁路模式。圖5的方法還包括由PLD向嵌入式系統(tǒng)微控制器發(fā)送(508)從 所識別的處理器返回的邊界掃描輸出信號。邊界掃描信號、邊界掃描 輸入信號和輸出信號可以是JTAG信號。為了進(jìn)一步的解釋,圖6闡述了展示另一個示范方法的流程圖, 用于根據(jù)本發(fā)明實施例的處理器故障隔離,包括連接(606 )邊界掃描 測試鏈中的兩個或多個處理器,該連接由計算機(jī)的PLD執(zhí)行,該計算 機(jī)包括所述兩個或多個處理器,為邊界掃描操作而由邊界掃描線連接 到該PLD,而該PLD又進(jìn)一步連接到攜帶存在信號的傳感線,所述 存在信號表明在計算機(jī)中是否存在處理器。所述邊界掃描操作可以是 JTAG操作。所述嵌入式系統(tǒng)微控制器可以是根據(jù)本申請的實施例改 進(jìn)的基板管理控制器,操作選擇信號時如同以上參考圖1至圖3的介 紹。在這個實例中,PLD是為處理器故障隔離而編程的PLD,并且根 據(jù)以上參考圖1至圖3所介紹的本發(fā)明實施例連接到處理器、連接到 嵌入式系統(tǒng)微控制器以及連接到外部測試連接。圖6的方法還包括在所述鏈中包括(608)根據(jù)存在信號表明存 在的全部處理器。在圖6的方法中,PLD連接到手工操作的跳線,所 述跳線表明將要從鏈中除去的處理器,而且該方法還包括從所述鏈除 去(610)由跳線表明要排除的任何處理器。該跳線是一組手工操作的
      連接、插頭組、跳線開關(guān)、焊線連接等等的一部分,正如本領(lǐng)域的技 術(shù)人員可以i史想出的。圖6的方法還包括從為邊界掃描操作而連接到PLD的外部測試 系統(tǒng)接收(602 )指令的附加替代步驟,以在邊界掃描測試鏈中連接兩 個或多個處理器。從外部測試系統(tǒng)收到這樣的指令時,則響應(yīng)接收到 指令,執(zhí)行在邊界掃描測試鏈中連接兩個或多個處理器(606)。圖6的方法還包括從為邊界掃描操作而連接到PLD的嵌入式系 統(tǒng)微控制器接收(604 )指令的附加替代步驟,以在邊界掃描測試鏈中 連接兩個或多個處理器。從嵌入式系統(tǒng)微控制器收到這樣的指令時, 則響應(yīng)接收到指令,執(zhí)行在邊界掃描測試鏈中連接兩個或多個處理器 (606)。實際上,PLD是模態(tài)的,具有將邊界掃描信號多路傳輸至單一處 理器的一種模態(tài)以及將處理器連接為包括多臺處理器的邊界掃描鏈的 另一種模態(tài)。該PLD能夠檢測模態(tài)變化的需要,如在所述鏈?zhǔn)侥B(tài)中 的邊界掃描徹底失敗表明需要改變?yōu)槎嗦穫鬏斈B(tài)并等待來自嵌入式 系統(tǒng)微控制器的處理器選擇時。即PLD能夠從嵌入式系統(tǒng)微控制器或 從外部測試系統(tǒng)接受改變模式的指令,從而使得系統(tǒng)管理員或測試用 戶有能力決定是將若干信號多路傳輸?shù)教囟ǖ奶幚砥鬟€是將全部現(xiàn)有 未除去的處理器連接為單一掃描鏈。以跳線從掃描鏈中除去處理器使 得用戶和系統(tǒng)管理員有能力從掃描鏈中除去已知有故障的處理器,例 如,已經(jīng)完全失靈不再響應(yīng)邊界掃描的處理器?;仡櫼陨显诒菊f明書中闡述的解說,讀者將理解,根據(jù)本發(fā)明實 施例實現(xiàn)處理器故障隔離提供了以下益處 即使處理器之一具有失靈的JTAG端口使得鏈?zhǔn)絁TAG解決方案不可操作,仍然能夠?qū)ζ溥M(jìn)行故障掃描; 需要時,由系統(tǒng)管理員通過嵌入式系統(tǒng)微控制器或者由測試用戶 通過外部測試系統(tǒng)比如AMD的HDT, PLD能夠?qū)⑻幚砥髦匦屡?置為任意鏈?zhǔn)浇Y(jié)構(gòu)。
      由于顯著地減少了邊界掃描數(shù)據(jù)的長度、減少了掃描鏈的尺寸和
      減少了掃描鏈中BYPASS模式的需要,允許嵌入式系統(tǒng)微控制器 比如資源有限的基板管理控制器使用較少的代碼和存儲器資源操 縱邊界掃描端口 。主要在計算機(jī)系統(tǒng)的全部功能用于處理器故障隔離的情況下介紹了本發(fā)明的示范實施例。不過,本領(lǐng)域的技術(shù)人員讀者將理解,本 發(fā)明也可以以計算機(jī)程序產(chǎn)品的形式體現(xiàn),部署在信號承載介質(zhì)上, 供任何適當(dāng)?shù)臄?shù)據(jù)處理系統(tǒng)使用。這樣的信號承載介質(zhì)可以是傳輸媒 介或機(jī)器可讀信息所用的可記錄介質(zhì),包括磁性介質(zhì)、光學(xué)介質(zhì)或其 他適宜的介質(zhì)??捎涗浗橘|(zhì)的實例包括硬盤驅(qū)動器中的磁盤或軟盤、 用于光盤驅(qū)動器的光盤、磁帶和本領(lǐng)域的技術(shù)人員可以設(shè)想出的其他 種類。傳輸媒介的實例包括用于語音通信的電話網(wǎng)絡(luò)和數(shù)字?jǐn)?shù)據(jù)通信 網(wǎng)絡(luò),比如EthernetTM和以因特網(wǎng)協(xié)議和萬維網(wǎng)通信的網(wǎng)絡(luò)。本領(lǐng)域 的技術(shù)人員將會立即理解,具有適當(dāng)編程工具的任何計算機(jī)系統(tǒng)都將 能夠執(zhí)行以程序產(chǎn)品體現(xiàn)的本發(fā)明方法的步驟。本領(lǐng)域的技術(shù)人員將 會立即理解,盡管本說明書中介紹的某些示范實施例是面向在計算機(jī) 硬件上安裝和執(zhí)行的軟件,然而,作為固件或作為硬件實現(xiàn)的替代實 施例也確實在本發(fā)明的范圍之內(nèi)。從上述說明將會理解,對本發(fā)明的多種實施例可以進(jìn)行修改和改 變而不脫離其真正的實質(zhì)。本說明書中的介紹僅僅是為了展示的目的, 而不應(yīng)當(dāng)以限制的含義進(jìn)行解釋。本發(fā)明的范圍僅僅受限于以下權(quán)利 要求書的術(shù)語。
      權(quán)利要求
      1.一種用于處理器故障隔離的方法,所述方法包括在包含多于一個處理器的計算機(jī)中,由嵌入式系統(tǒng)微控制器向可編程邏輯設(shè)備(‘PLD’)發(fā)送至少一個選擇信號以識別用于邊界掃描操作的一個處理器,所述多于一個的處理器為邊界掃描操作而連接到所述PLD;以及由所述嵌入式系統(tǒng)微控制器向所述PLD發(fā)送將要發(fā)送到所述識別的處理器的邊界掃描輸入信號;由所述PLD向所述識別的處理器多路傳輸所述邊界掃描輸入信號;以及由所述PLD向所述嵌入式系統(tǒng)微控制器發(fā)送從所述識別的處理器返回的邊界掃描輸出信號。
      2. 根據(jù)權(quán)利要求1的方法,其中,向所述識別的處理器多路傳 輸所述邊界掃描輸入信號進(jìn)一步包括連接所述一個識別的處理器作 為僅僅包括所述一個識別的處理器的邊界掃描測試鏈。
      3. 根據(jù)權(quán)利要求1的方法,其中,向所述識別的處理器多路傳 輸所述邊界掃描輸入信號進(jìn)一步包括連接所述一個識別的處理器作 為僅僅包括所述一個識別的處理器的邊界掃描測試鏈而無須將任何其 他處理器置于旁路模式。
      4. 根據(jù)權(quán)利要求1的方法,其中,所述邊界掃描操作是JTAG 操作,而所述邊界掃描信號是JTAG信號。
      5. 根據(jù)權(quán)利要求1的方法,其中,所述嵌入式系統(tǒng)微控制器是 基板管理控制器。
      6. —種用于處理器故障隔離的方法,所述方法包括 在邊界掃描測試鏈中連接兩個或多個處理器,所述連接由計算機(jī)的可編程邏輯設(shè)備('PLD,)執(zhí)行,所述計算機(jī)包括為邊界掃描操作 而由邊界掃描線連接到所述PLD的所述兩個或多個處理器,所述PLD 進(jìn)一步連接到攜帶存在信號的傳感線,所述存在信號表明在計算機(jī)中是否存在處理器;以及在所述鏈中包括根據(jù)存在信號表明存在的全部處理器。
      7. 根據(jù)權(quán)利要求6的方法,其中,所述PLD進(jìn)一步連接到手工操作的跳線,所述跳線表明將要從 所述鏈中除去的處理器;以及所述方法進(jìn)一步包括從所述鏈中除去由跳線表明要排除的任何 處理器。
      8. 根據(jù)權(quán)利要求6的方法,進(jìn)一步包括從為邊界掃描操作而連接到所述PLD的外部測試系統(tǒng)接收指令, 以在邊界掃描測試鏈中連接兩個或多個處理器;其中,在邊界掃描測試鏈中連接兩個或多個處理器是響應(yīng)接收到 所述指令而執(zhí)行的。
      9. 根據(jù)權(quán)利要求6的方法,進(jìn)一步包括從為邊界掃描操作而連接到所述PLD的嵌入式系統(tǒng)微控制器接 收指令,以在邊界掃描測試鏈中連接兩個或多個處理器;其中,在邊界掃描測試鏈中連接兩個或多個所述處理器是響應(yīng)接 收到所述指令而執(zhí)行的。
      10. 根據(jù)權(quán)利要求7的方法,其中,所述嵌入式系統(tǒng)微控制器是 基板管理控制器。
      11. 根據(jù)權(quán)利要求6的方法,其中,所述邊界掃描操作是JTAG操作。
      12. —種用于處理器故障隔離的裝置,所述裝置包括 包括兩個或多個計算機(jī)處理器的計算機(jī);所述計算機(jī)進(jìn)一步包括嵌入式系統(tǒng)微控制器,由邊界掃描線、由 一條或多條處理器選擇線以及可選地由 一條或多條控制線連接到可編 程邏輯設(shè)備(TLD,),所述嵌入式系統(tǒng)微控制器能夠向所述PLD發(fā) 送至少一個選擇信號以識別用于邊界掃描操作的一個處理器,并且能 夠向所述PLD發(fā)送將要發(fā)送到所述識別的處理器的邊界掃描輸入信 號;以及所述計算機(jī)進(jìn)一步包括連接到所述計算機(jī)處理器的所述PLD ,用 于通過邊界掃描線進(jìn)行邊界掃描操作,所述PLD能夠?qū)⑺鲞吔鐠呙?輸入信號多路傳輸至所述識別的處理器,向所述嵌入式系統(tǒng)微控制器 發(fā)送從所述識別的處理器返回的邊界掃描輸出信號。
      13. 根據(jù)權(quán)利要求12的裝置,其中,向所述識別的處理器多路 傳輸所述邊界掃描輸入信號進(jìn)一步包括連接所述一個識別的處理器 作為僅僅包括所述一個識別的處理器的邊界掃描測試鏈。
      14. 根據(jù)權(quán)利要求12的裝置,其中,向所述識別的處理器多路 傳輸所述邊界掃描輸入信號進(jìn)一步包括連接所述一個識別的處理器 作為僅僅包括所述一個識別的處理器的邊界掃描測試鏈而無須將任何 其他處理器置于旁路模式。
      15. 根據(jù)權(quán)利要求12的裝置,進(jìn)一步包括在所述計算機(jī)以外的 外部測試系統(tǒng),所述外部測試系統(tǒng)為邊界掃描操作而連接到所述 PLD,所述PLD進(jìn)一步連接到承載表明在所述計算機(jī)中是否存在處理 器的存在信號的傳感線,所述PLD進(jìn)一步能夠在邊界掃描測試鏈中連接兩個或多個所述處理器;以及 在所述鏈中包括根據(jù)存在信號表明存在的全部處理器。
      16. 根據(jù)權(quán)利要求15的裝置,其中所述PLD進(jìn)一步連接到手工操作的跳線,所述跳線表明將要從 所述鏈中除去的處理器;以及所述PLD進(jìn)一步能夠從所述鏈中除去由跳線表明要排除的任何 處理器。
      17. 根據(jù)權(quán)利要求12的裝置,其中所述PLD進(jìn)一步能夠 從所述外部測試系統(tǒng)接收指令,以在邊界掃描測試鏈中連接兩個或多個所述處理器;以及響應(yīng)接收到所述指令,執(zhí)行在邊界掃描測試鏈中連接兩個或多個 所述處理器。
      18. 根據(jù)權(quán)利要求12的裝置,其中,所述PLD進(jìn)一步能夠 從所述嵌入式系統(tǒng)微控制器接收指令,以在邊界掃描測試鏈中連接兩個或多個所述處理器;以及響應(yīng)接收到所述指令,執(zhí)行在邊界掃描測試鏈中連接兩個或多個 所述處理器。
      19. 根據(jù)權(quán)利要求12的裝置,其中,所述嵌入式系統(tǒng)微控制器 是基板管理控制器。
      20. 根據(jù)權(quán)利要求12的裝置,其中,所述邊界掃描操作是JTAG 操作,而所述邊界掃描信號是JTAG信號。
      全文摘要
      為隔離處理器故障而公開的方法、裝置和產(chǎn)品,包括由嵌入式系統(tǒng)微控制器向可編程邏輯設(shè)備(‘PLD’)發(fā)送選擇信號以識別用于邊界掃描操作的一個處理器;發(fā)送將要被發(fā)送到所述識別后處理器的若干邊界掃描輸入信號;由PLD將所述邊界掃描輸入信號多路傳輸?shù)剿鲎R別后的處理器;以及發(fā)送從所述識別后的處理器返回的若干邊界掃描輸出信號。為隔離處理器故障而公開的方法、裝置和產(chǎn)品還包括在邊界掃描測試鏈中連接兩個或更多處理器,所述連接由計算機(jī)的PLD執(zhí)行,所述PLD進(jìn)一步連接到攜帶存在信號的若干傳感線,這些信號表明在計算機(jī)中是否存在處理器;以及在所述鏈中包括根據(jù)存在信號表明存在的全部處理器。
      文檔編號G06F11/00GK101126996SQ200710112148
      公開日2008年2月20日 申請日期2007年6月19日 優(yōu)先權(quán)日2006年8月14日
      發(fā)明者李·H.·威爾森, 馬克·A.·布蘭迪貝里 申請人:國際商業(yè)機(jī)器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1