專利名稱:用于初始化數(shù)據(jù)處理系統(tǒng)的方法和數(shù)據(jù)處理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及特別是計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)處理系統(tǒng)中的加電初始化步驟。
技術(shù)背景計(jì)算需求的指數(shù)增長(zhǎng)已導(dǎo)致大型復(fù)雜計(jì)算機(jī)系統(tǒng)的創(chuàng)建。對(duì)于這些計(jì) 算機(jī)系統(tǒng)進(jìn)行加電和初始化直至正常操作系統(tǒng)完全可用通常依賴于嵌入式 控制器,其使得加電時(shí)對(duì)于計(jì)算機(jī)系統(tǒng)的所述初始化更便利。計(jì)算機(jī)系統(tǒng)的所述復(fù)雜控制結(jié)構(gòu)的示例在2002年IBM J. Res. & Dev.第46巻第4/5號(hào) 中F. Baitinger等人的"System control structure of the IBM eServer z900" 的第523-535頁中描述。在所述計(jì)算機(jī)系統(tǒng)中,硬件被打包為多個(gè)硬件"籠罩(cage enclosure)" (所謂的籠(cage))。所述嵌入式控制器被劃分為兩類支持單元和籠 控制器。所述支持單元可選冗余地具有主要支持單元和輔助支持單元。在 所述計(jì)算機(jī)系統(tǒng)中存在僅一個(gè)主要支持單元。所述籠控制器總是冗余地具 有主控籠控制器和從屬籠控制器?;\控制器關(guān)聯(lián)于所迷計(jì)算機(jī)系統(tǒng)的整個(gè) 硬件籠。其經(jīng)由私有服務(wù)控制網(wǎng)絡(luò)與所述主要支持單元交互??蛇x地,同 樣,所述服務(wù)控制網(wǎng)絡(luò)是冗余的。所述主要支持單元控制所述計(jì)算機(jī)系統(tǒng)的初始化(系統(tǒng)控制范圍), 而所述籠控制器對(duì)于其所關(guān)聯(lián)的籠實(shí)施實(shí)際的系統(tǒng)控制和監(jiān)視任務(wù)(籠內(nèi) 控制范圍)。在某種意義上,籠控制器充當(dāng)服務(wù)單元與實(shí)際硬件之間的代 理。特別地,僅J5良務(wù)單元維護(hù)和訪問所謂的工程數(shù)據(jù),其中,所述工程數(shù) 據(jù)描述所有硬件寄存器的初始值。所述加電初始化步驟主要包括所謂的 IML (初始機(jī)器加載)。所述IML步驟的一些詳細(xì)信息以及其與服務(wù)單元和籠控制器的關(guān)系可以在2004年IBM J. Res. & Dev.第48巻第3/4號(hào)中 K. —D. Schubert等人的 "Accelerating system integration by enhancing hardware, firmware, and co-simulation"的第569-581頁中找到(其中所 謂的靈活支持處理器作為籠控制器)。該系統(tǒng)控制結(jié)構(gòu)暗示所述籠控制器的運(yùn)轉(zhuǎn)的固有并行性。其以主控-從屬運(yùn)轉(zhuǎn)模型的形式被實(shí)現(xiàn),其中所述(主要)支持單元運(yùn)轉(zhuǎn)作為主控以 及所述(主控)籠控制器運(yùn)轉(zhuǎn)作為從屬。然而,所述籠控制器的運(yùn)轉(zhuǎn)之間 存在依賴(dependency),其中,所述籠控制器的運(yùn)轉(zhuǎn)必須在實(shí)施于所述 支持單元上的系統(tǒng)控制任務(wù)的運(yùn)轉(zhuǎn)中反映出來。這些依賴由這一事實(shí)導(dǎo)致 各個(gè)籠中的硬件并不相互獨(dú)立地工作。這些依賴經(jīng)由硬件對(duì)象模型(HOM)來管理,其中,所述硬件對(duì)象模 型在2002年IBM J. Res. & Dev.第46巻第4/5號(hào)中A. Bieswanger等人的 "Hardware configuration framework for the IBM eServer z900" 的第 537-550頁中描述。所述HOM ^皮用作為在所述支持單元上執(zhí)行的系統(tǒng)控 制固件的一部分。繼續(xù)對(duì)由硬件部件提供的功能的打包隨每個(gè)新計(jì)算機(jī)系 統(tǒng)平臺(tái)而改變的體驗(yàn),計(jì)算機(jī)系統(tǒng)硬件部件及其功能在所述HOM的設(shè)計(jì) 中是獨(dú)立的。其可以在其啟動(dòng)時(shí)刻經(jīng)由存儲(chǔ)在規(guī)則數(shù)據(jù)庫中的配置規(guī)則來 控制,其中,所述配置規(guī)則對(duì)于計(jì)算機(jī)系統(tǒng)是專用的。所述HOM允許集 中控制所述計(jì)算機(jī)系統(tǒng)中的各個(gè)IC(集成電路)芯片。由于所述計(jì)算機(jī)系 統(tǒng)支持硬件的熱插拔,以及由于硬件子系統(tǒng)可以被拆分并且需要在系統(tǒng)配 置中被隔離,所以,所述HOM需要被動(dòng)態(tài)地改變以便反映所述計(jì)算機(jī)系 統(tǒng)的當(dāng)前狀態(tài)。一種與eServer z卯O HOM類似的HOM在ACM OOPSLA 2002 Practitioners report (ISBN 1-58113-471-1 )中A. Kreissig/J. Armstrong的 "A Common Multi-Platform Hardware Object Model"中描述。該HOM 繼承了 eServer z900 HOM的一些設(shè)計(jì)模式。計(jì)算機(jī)系統(tǒng)特定的HOM配 置的實(shí)際實(shí)現(xiàn)的 一 些詳細(xì)信息在專利申請(qǐng)US 2005/0086637 Al中提供。 隨著特別是高端服務(wù)器計(jì)算機(jī)系統(tǒng)的復(fù)雜計(jì)算機(jī)系統(tǒng)(例如具有多芯片模塊的系統(tǒng))中的芯片數(shù)量的持續(xù)增長(zhǎng),對(duì)這些芯片的控制可以變得非 常時(shí)間密集。甚至在所述芯片內(nèi)部,多個(gè)子系統(tǒng)可以一定程度上獨(dú)立地被運(yùn)轉(zhuǎn)(例如,支持SMT (同時(shí)多線程)的處理器)。所述問題對(duì)于不支持 一次對(duì)多個(gè)芯片廣播操作的硬件設(shè)計(jì)而言變得甚至更糟。例如,IBMeServerz卯O具有連接到功能系統(tǒng)結(jié)構(gòu)(區(qū)別于系統(tǒng)控制 結(jié)構(gòu))的所有芯片的中央時(shí)鐘芯片。所述內(nèi)容例如在2002年IBM J. Res. & Dev.第46巻第4/5號(hào)中L. C. Alves等人的"RAS Design for the IBM eServerz卯O"的第503-521頁(特別是圖2)中示出。除了為所連接的芯 片饋入時(shí)鐘信號(hào)外,所述時(shí)鐘芯片還控制其狀態(tài)。經(jīng)由該時(shí)鐘芯片控制機(jī) 制,籠控制器可以一次尋址多個(gè)芯片以便實(shí)施芯片控制操作或監(jiān)視芯片狀 態(tài)。所述方法的詳細(xì)實(shí)現(xiàn)在專利申請(qǐng)US 2006/0106556 Al中描述。其它服 務(wù)器計(jì)算機(jī)系統(tǒng)可能不具有所述中央時(shí)鐘芯片,例如IBM System i/System p機(jī)器。作為代替,每個(gè)芯片被提供了其自己的時(shí)鐘硬件邏輯,從而節(jié)省 因此的附加時(shí)鐘芯片硬件的成本。在類似于IBMeServerz900的系統(tǒng)控制結(jié)構(gòu)中,所述籠控制器單獨(dú)僅 提供有限的并行化選項(xiàng)。這是由這一事實(shí)導(dǎo)致許多計(jì)算機(jī)系統(tǒng)相關(guān)數(shù)據(jù) 僅可用于所述服務(wù)單元,例如工程數(shù)據(jù)。因此,所述服務(wù)單元需要在許多 并行操作中被涉及。因此,作為計(jì)算機(jī)系統(tǒng)控制操作的 一部分的用于控制芯片的并行操作 是高度被需要的。典型地,所述并行化經(jīng)由改變HOM的設(shè)計(jì)以及因此改 變其實(shí)際實(shí)現(xiàn)、或經(jīng)由調(diào)整所述HOM配置規(guī)則來手動(dòng)實(shí)施。例如,可以 在初始化與中央處理單元(CPU)關(guān)聯(lián)的存儲(chǔ)器芯片之前初始化中央處理 單元(CPU)。但這并未完全利用并行化操作的能力,因?yàn)樗鰞煞N初始 化可以某種程度上重疊(在某時(shí)刻,CPU將訪問其關(guān)聯(lián)的存儲(chǔ)器芯片,但 需要被相應(yīng)地進(jìn)行配置來這樣做,例如經(jīng)由特定的寄存器設(shè)置)。由于手動(dòng)并行化耗時(shí)且易錯(cuò)并且可能并未完全利用并行化能力,所以 明顯存在對(duì)一種自動(dòng)化并行化方法的需求。發(fā)明內(nèi)容因此本發(fā)明的目的是提供一種基于現(xiàn)有技術(shù)進(jìn)行改進(jìn)的、用于初始化 數(shù)據(jù)處理系統(tǒng)的方法,以及對(duì)應(yīng)的計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品和對(duì)應(yīng)的 數(shù)據(jù)處理系統(tǒng)。該目的由在獨(dú)立權(quán)利要求中定義的發(fā)明來實(shí)現(xiàn)。本發(fā)明的進(jìn)一步有利 實(shí)施例在從屬權(quán)利要求中定義。本發(fā)明的優(yōu)點(diǎn)經(jīng)由對(duì)于數(shù)據(jù)處理系統(tǒng)的所選功能硬件單元(例如芯片、 籠、接口 )的初始化步驟序列的定義以及經(jīng)由確定這些初始化步驟之間的 依賴來實(shí)現(xiàn)。這些定義步驟優(yōu)選在所述數(shù)據(jù)處理系統(tǒng)的設(shè)計(jì)和開發(fā)期間被 實(shí)施。通過對(duì)所述初始化步驟之間的依賴的認(rèn)識(shí),因而可以自動(dòng)地并行化 所述功能硬件單元的初始化。所述初始化步驟的序列及其依賴在單一控制流表中表示,其中,所述 控制流表被自動(dòng)地分析和用于所述并行化。優(yōu)選地,所述控制流表以人可 讀的格式來實(shí)現(xiàn),因此允許手動(dòng)創(chuàng)建、修改和分析所述控制流表。該控制 流表然后在所述數(shù)據(jù)處理系統(tǒng)的初始化階段期間被系統(tǒng)管理控制器分析。 作為所述分析的結(jié)果,所述序列將關(guān)聯(lián)于所選功能硬件單元。對(duì)于每個(gè)關(guān) 聯(lián)的初始化步驟序列,所述系統(tǒng)管理控制器將創(chuàng)建并執(zhí)行并行執(zhí)行線程。在本發(fā)明的優(yōu)選實(shí)施例中,初始化步驟之間的依賴由被插入所述初始 化步驟序列中的觸發(fā)和等待步驟來表示。當(dāng)?shù)谝徊⑿袌?zhí)行線程實(shí)施觸發(fā)步驟時(shí),其將用信號(hào)通知其它并行執(zhí)行線程與在該觸發(fā)步驟之前的初始化 步驟的依賴被解決。當(dāng)所述其它并行執(zhí)行線程實(shí)施等待步驟時(shí),其將延遲 其執(zhí)行直到其接收到來自該第一并行執(zhí)行線程的這樣的信號(hào)通知該等待 步驟之后的初始化步驟的依賴被解決。所述觸發(fā)和等待步驟其自身是一般 化的。與具體數(shù)據(jù)處理系統(tǒng)的依賴由所述步驟的連接所引入。本發(fā)明的自動(dòng)并行化方法允許增大對(duì)所述系統(tǒng)管理控制器的利用。由 功能硬件單元的初始化步驟之間的依賴導(dǎo)致的所述數(shù)據(jù)處理系統(tǒng)的初始化 階段中的延遲可以被最小化。本發(fā)明還具有這一優(yōu)點(diǎn)關(guān)于初始化步驟之間的依賴的認(rèn)識(shí)被存儲(chǔ)和維護(hù)在單一地方一一所述控制流表中。這允許容易和快速地修改所述功能 硬件單元的初始化步驟序列。這對(duì)于非常遲的硬件設(shè)計(jì)改變和在設(shè)計(jì)周期 中非常遲地檢測(cè)到的硬件和固件問題是非常有用的。實(shí)際上,在開發(fā)期間 經(jīng)常發(fā)生硬件設(shè)計(jì)者非常遲地引入需要在所述初始化序列中被反映或甚至 導(dǎo)致功能硬件單元之間的附加依賴的改變。例如,可以非常遲地認(rèn)識(shí)到, 當(dāng)一次進(jìn)行太多同類型初始化步驟(例如芯片自測(cè)試)時(shí)過多功率將被消 耗。隨著所述數(shù)據(jù)處理系統(tǒng)中的初始化步驟和功能硬件單元的數(shù)量越來越 多,根據(jù)本發(fā)明的自動(dòng)并行化方法導(dǎo)致對(duì)于數(shù)據(jù)處理系統(tǒng)的開發(fā)者變得越 來越不可預(yù)測(cè)的初始化動(dòng)作序列。該問題可以被看作是根據(jù)本發(fā)明的自動(dòng) 并行化方法的不利之處。然而,其可以經(jīng)由跟蹤當(dāng)前^^皮系統(tǒng)管理控制器實(shí) 施的初始化步驟加上時(shí)間戳(例如在中央跟蹤數(shù)據(jù)文件中)來避開。在出 現(xiàn)錯(cuò)誤的情況下(由硬件或固件引起),所述跟蹤數(shù)據(jù)可以被分析,以及 具體初始化動(dòng)作序列可以被導(dǎo)出。
本發(fā)明及其優(yōu)點(diǎn)現(xiàn)在結(jié)合附圖被描述。圖1是示出了用于計(jì)算機(jī)系統(tǒng)的子系統(tǒng)的系統(tǒng)控制結(jié)構(gòu)的框圖; 圖2是示出了根據(jù)本發(fā)明的芯片初始化任務(wù)的數(shù)據(jù)流圖; 圖3是示出了根據(jù)本發(fā)明的芯片初始化任務(wù)的數(shù)據(jù)流圖; 圖4是根據(jù)本發(fā)明的方法的數(shù)據(jù)流圖; 圖5是在其中特定實(shí)施例可以被實(shí)現(xiàn)的系統(tǒng)的框圖。
具體實(shí)施方式
圖1示出了針對(duì)本發(fā)明的實(shí)施例的用于計(jì)算機(jī)系統(tǒng)的子系統(tǒng)的系統(tǒng)控 制結(jié)構(gòu)。服務(wù)單元10控制計(jì)算機(jī)系統(tǒng)的節(jié)點(diǎn)20。例如,節(jié)點(diǎn)20可以是用 于產(chǎn)業(yè)標(biāo)準(zhǔn)(EIA 310-D、 IEC 60297和DIN 41494 SC48D ) 19英寸機(jī)架 的可安裝機(jī)架的籠。節(jié)點(diǎn)20收容了支持處理器30,其中,該支持處理器30負(fù)責(zé)節(jié)點(diǎn)20的系統(tǒng)管理。支持處理器30例如經(jīng)由基于以太網(wǎng)技術(shù)的私 有系統(tǒng)控制服務(wù)網(wǎng)絡(luò)連接到服務(wù)單元10。服務(wù)單元10的簡(jiǎn)單示例是標(biāo)準(zhǔn) 個(gè)人計(jì)算機(jī),例如IBMThinkPad。服務(wù)處理器30可以被實(shí)現(xiàn)為ASIC(專 用集成電路),例如IBM eServer z卯O籠控制器ASIC (例如上面引用的 Batinger等人的文章中的圖7 )。所述ASIC的詳細(xì)實(shí)現(xiàn)描述在Proc. of the IEEE SOCC 2006中J. Saalmueller/J. Wuertz的"Embedded Controllers for solving complex Industry Applications" 中給出。在服務(wù)單元10和支持處理器30上執(zhí)行的計(jì)算機(jī)程序的集合是所述計(jì) 算機(jī)系統(tǒng)的固件的一部分。服務(wù)單元10和支持處理器30每個(gè)都執(zhí)行例如 現(xiàn)有操作系統(tǒng)的操作系統(tǒng),其中可能帶有一些由于特別硬件需求的特定修 改。除所述操作系統(tǒng)之外,附加固件部件負(fù)責(zé)所述計(jì)算機(jī)系統(tǒng)的系統(tǒng)控制 任務(wù),特別是負(fù)責(zé)計(jì)算機(jī)系統(tǒng)初始化任務(wù)。節(jié)點(diǎn)20進(jìn)一步包括兩個(gè)獨(dú)立的時(shí)鐘電路CLK—0 40和CLK一l 50。 CLK—0 40控制芯片60,而CKL一150控制另一芯片70。所述芯片的示例 如用作所述計(jì)算機(jī)系統(tǒng)的CPU (中夬處理單元)的微處理器。其它的芯片 示例如存儲(chǔ)器芯片。芯片60和70可以是多芯片模塊(MCM)的一部分, 以及同樣,時(shí)鐘電路CKL—0 40和CLK_1 50可以被部分或完全地包括在 同一 MCM中。支持處理器30連接到CLK—0 40和CLK_1 50以及芯片 60和70。所述連接的示例如IBM eServer z卯0的串4亍系統(tǒng)支持接口 ( SSI) (例如上面引用的Baitinger等人的文章中的圖4到6 ) 、 I2C (IIC:內(nèi)置 集成電路)總線、GPIO (通用輸入/輸出)接口、 UART (通用異步接收 器/發(fā)射器; 一般稱為串行端口 )接口以及JTAG (聯(lián)合測(cè)試關(guān)聯(lián)組;IEEE 1149.1邊界掃描標(biāo)準(zhǔn))接口 。支持處理器30分別使用CFAM 100和CFAM 110控制芯片60和70。 CFAM (公共FRU訪問宏;FRU:現(xiàn)場(chǎng)可替代單元)是一種專門設(shè)計(jì)的 芯片子系統(tǒng),該芯片子系統(tǒng)是所述計(jì)算機(jī)系統(tǒng)的系統(tǒng)控制結(jié)構(gòu)的 一部分。 在上面引用的Saalmueller/Wuertz的文章中給出的支持處理器30的示例 實(shí)現(xiàn)中,該支持處理器使用其PDI (外圍設(shè)備接口 )和HIS (高速接口 )接口來訪問CFAM 100和110。芯片60和70經(jīng)由彈性接口 (elastic interface) 80連接,其中,該彈 性接口 80是源同步管道化(總線泵(bus-pumping))芯片到芯片接口。 所述彈性接口連接的示例在US 6,954,870 B2中描述。彈性接口連接在實(shí)際 數(shù)據(jù)凈荷可以被發(fā)送之前需要校準(zhǔn)步驟。在所述^f交準(zhǔn)步驟中,各個(gè)傳輸線 之間的定時(shí)差被確定,以及基于這些差,所述芯片被相應(yīng)地配置(例如經(jīng) 由寄存器設(shè)置)從而防止在該彈性接口連接上的數(shù)據(jù)傳輸期間的數(shù)據(jù)丟失。 所述校準(zhǔn)步驟由支持處理器30控制,但由服務(wù)單元10觸發(fā)和監(jiān)視。彈性接口 80的校準(zhǔn)需要用兩個(gè)步驟實(shí)施,每個(gè)步驟對(duì)應(yīng)所述連接的一 個(gè)方向。首先,服務(wù)單元10經(jīng)由支持處理器30在CRAM100中的專用寄 存器中寫入特定值。這迫使芯片60中的硬件負(fù)責(zé)以特定驅(qū)動(dòng)模式與彈性接 口 80的連接。在所述驅(qū)動(dòng)模式中,芯片60在彈性接口 80上向芯片70發(fā) 送數(shù)據(jù)分組。為使芯片70能夠接收這些數(shù)據(jù)分組,服務(wù)單元10在CFAM 110中的專用寄存器中寫入特定值。這迫^f吏芯片70中的石更件負(fù)責(zé)以特定接 收模式與彈性接口 80的連接。 一旦該校準(zhǔn)步驟被成功完成,則所述情形被 芯片70經(jīng)由CFAM110中的特定寄存器值用信號(hào)通知。當(dāng)支持處理器30 檢測(cè)到這些值時(shí),其將相應(yīng)地通知服務(wù)單元10。然后,類似的校準(zhǔn)步驟在 所述彈性接口 80連接的另一個(gè)方向上被實(shí)施。對(duì)于IBM eServer z卯O,對(duì)于彈性接口的所述校準(zhǔn)步驟在IML序列的 步驟3中被實(shí)施(例如上面引用的Schubert等人的文章中的圖4)。在同 一IML步驟3中,同樣,IBMeServerz900的芯片時(shí)鐘當(dāng)需要針對(duì)時(shí)鐘電 路CLK—0 40和CLK—1 50完成時(shí)開始彈性接口校準(zhǔn)在各自的芯片時(shí)鐘 開始之前無法開始。在多個(gè)芯片以級(jí)聯(lián)方式被連接的情形中(例如,在高 端服務(wù)器系統(tǒng)中,存儲(chǔ)器芯片可以被級(jí)聯(lián)3或4次),各自的彈性接口需 要遵循所述級(jí)聯(lián)的層次被一個(gè)接一個(gè)地校準(zhǔn)。當(dāng)芯片初始化步驟被定義時(shí), 在所述計(jì)算機(jī)系統(tǒng)的開發(fā)期間,所述計(jì)算機(jī)系統(tǒng)中的芯片初始化步驟的這 些和類似依賴需要被確定。根據(jù)本發(fā)明,針對(duì)所述計(jì)算機(jī)系統(tǒng)中的每個(gè)芯片的專用芯片初始化任所述任務(wù)可以使用單一操作系統(tǒng)任務(wù)中的多個(gè)執(zhí)行線程和/或經(jīng)由使用專用操作系統(tǒng)線程來實(shí)現(xiàn)。圖2示出了分別針對(duì)芯片60和70的兩個(gè)示例芯片初 始化任務(wù)200和210。任務(wù)200和210包括分別針對(duì)芯片60和70 ^皮隨后 執(zhí)行的幾個(gè)芯片初始化步驟。在這些步驟中,服務(wù)單元IO指示支持處理器 30在節(jié)點(diǎn)20中實(shí)施特定硬件動(dòng)作。任務(wù)200開始于步驟CFAM初始化,其中,芯片60的CFAM100被 初始化。在步驟開始EI必需(start EI vital) 202中,彈性接口 80的校準(zhǔn) 開始。在該步驟中,使能對(duì)彈性接口 80的訪問的寄存器設(shè)置被完成。在步 驟觸發(fā)203中,與芯片70的初始化的依賴被解決芯片70的初始化必須 在特定點(diǎn)停止,以及僅可以在芯片60的初始化已到達(dá)特定點(diǎn)時(shí)才繼續(xù)。根 據(jù)本發(fā)明,任務(wù)210因此在步驟等待205中等待,直到任務(wù)200已執(zhí)行所 述觸發(fā)203步驟。然后,任務(wù)210經(jīng)由執(zhí)行CFAM初始化206步驟和LBIST 207步驟繼續(xù)芯片70的初始化。在LBIST 207步驟中,芯片70被觸發(fā)以 便實(shí)施LBIST (邏輯內(nèi)置自測(cè)試)操作。在觸發(fā)203步驟中,任務(wù)200通知任務(wù)210關(guān)于其狀態(tài)的信息??梢杂虻募夹g(shù)人員是熟知的。 一旦所述觸發(fā)步驟被完成(其可以在所述等待206 步驟被完成之前發(fā)生),則任務(wù)200繼續(xù)進(jìn)行步驟ABIST206。在ABIST 206步驟中,芯片60被觸發(fā)以便實(shí)施ABIST (自治內(nèi)置自觀'〗試)操作。 LBIST和ABIST操作是在其中硬件針對(duì)正確操作測(cè)試其自己的測(cè)試方法。 圖3是多個(gè)芯片之間的根據(jù)本發(fā)明的依賴解決的示例。任務(wù)300、 310、 320和330在服務(wù)單元10上并行地被執(zhí)行,并且各自關(guān)聯(lián)于所述計(jì)算機(jī)系 統(tǒng)中的芯片。任務(wù)300具有對(duì)任務(wù)310的依賴。因此,任務(wù)300在等待340 步驟中等待來自任務(wù)310的通知。在觸發(fā)350步驟中,該通知被從任務(wù)310 發(fā)送到任務(wù)300。任務(wù)320具有對(duì)任務(wù)310和任務(wù)330的聯(lián)合依賴。因此, 任務(wù)320在等待360步驟中等待來自任務(wù)310和330的通知。在觸發(fā)350 步驟中,任務(wù)310通知任務(wù)320所述依賴被滿足。在觸發(fā)370步驟中,任務(wù)330通知任務(wù)320所述依賴被滿足。 一旦任務(wù)320已接收到所述兩個(gè)通 知,則其通過隨后的芯片初始化步驟繼續(xù)其執(zhí)行。圖4是才艮據(jù)本發(fā)明的方法的數(shù)據(jù)流圖。在步驟400中,用于所述芯片初 始化步驟的控制流表410作為所述計(jì)算機(jī)系統(tǒng)的開發(fā)過程的一部分被手動(dòng) 創(chuàng)建。該控制流表410由的固件開發(fā)組創(chuàng)建,所述固件開發(fā)組與負(fù)責(zé)所述 計(jì)算機(jī)系統(tǒng)的硬件開發(fā)的組緊密合作,負(fù)責(zé)運(yùn)行在服務(wù)單元10和支持處理 器30上的固件。典型地,在控制流表410的第一個(gè)版本可以被創(chuàng)建之前, 將召開幾次會(huì)議、討論會(huì)以及獲得設(shè)計(jì)文檔的幾個(gè)版本。在控制流表410 中,所述計(jì)算機(jī)系統(tǒng)的芯片被按不同類型分類??刂屏鞅?10例如作為XML (可擴(kuò)展標(biāo)記語言)文件存儲(chǔ)在計(jì)算枳* 可讀媒體上。圖2中所示的依賴的簡(jiǎn)化示例編碼如下被給出<formula>formula see original document page 12</formula>控制流表410優(yōu)選存儲(chǔ)在服務(wù)單元10的永久存儲(chǔ)設(shè)備中,例如硬盤驅(qū)動(dòng)器或閃存設(shè)備上。在所述計(jì)算機(jī)系統(tǒng)的初始化期間(例如加電或復(fù)位之后),在服務(wù)單元10上被執(zhí)行的固件部件分析控制流表410的內(nèi)容。例如, 控制流表410的內(nèi)容可以以有注釋圖形結(jié)構(gòu)的形式存儲(chǔ)在服務(wù)單元10的主存寸諸器中。所述固件部件在步驟420中從系統(tǒng)配置數(shù)據(jù)庫430創(chuàng)建所述計(jì) 算才幾系統(tǒng)中的所有活動(dòng)芯片的列表。系統(tǒng)配置數(shù)據(jù)庫430的示例實(shí)現(xiàn)如上 面描述的IBMHOM。系統(tǒng)配置數(shù)據(jù)庫430可以經(jīng)由標(biāo)識(shí)出節(jié)點(diǎn)20中的可 用石更件部件來建立。例如,每個(gè)可標(biāo)識(shí)硬件部件可以包括包含唯一標(biāo)識(shí)數(shù) 據(jù)的SEEPROM (串行電可擦除可編程只讀存儲(chǔ)器),其中,所述唯一標(biāo) 識(shí)數(shù)據(jù)在所述計(jì)算機(jī)系統(tǒng)的制造期間被創(chuàng)建。服務(wù)單元10經(jīng)由支持處理器 30讀取所述SEEPROM數(shù)據(jù)。盡管系統(tǒng)配置數(shù)據(jù)庫430對(duì)于所述計(jì)算機(jī)系統(tǒng)是唯一的,但控制流表 410典型是非常通用的,并且可以覆蓋用于所述計(jì)算機(jī)系統(tǒng)的基礎(chǔ)硬件體 系結(jié)構(gòu)(例如計(jì)算機(jī)系統(tǒng)平臺(tái)或計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)生成)。其并不必須 是才莫型特定的,即,僅使用該基礎(chǔ)硬件體系結(jié)構(gòu)覆蓋特定模型。然而,還 可以直接將控制流表410的內(nèi)容添加到系統(tǒng)配置數(shù)據(jù)庫430。在步驟440中,所述固件部件將對(duì)于所述活動(dòng)芯片列表中的每個(gè)芯片 確定其類型,以及依賴于所述類型,控制流表410中關(guān)聯(lián)于該芯片類型的 數(shù)據(jù)將被使用。在本發(fā)明的優(yōu)選實(shí)施例中,所述固件部件使用面向?qū)ο缶?程技術(shù)來實(shí)現(xiàn)。特定芯片類被分別用于每個(gè)芯片類型。這些芯片類是一般 類YinitTask的子類。因此,對(duì)于所述活動(dòng)芯片列表中的芯片,對(duì)象shipstep (對(duì)象任務(wù))將被固件部件創(chuàng)建。該對(duì)象c/^to^是其各自的芯片類的實(shí) 例化,以及將使用一般類FZYinitTask的setTarget方法關(guān)聯(lián)于特定芯片。在 上面示出的示例XML文件中,類名稱被直接存儲(chǔ)在所述控制流表中對(duì)于每個(gè)芯片類型,控制流表410包括初始化步驟的列表。對(duì)于所述 初始化步驟,所述固件部件創(chuàng)建對(duì)象chipstep(芯片步驟),該對(duì)象是一 般類F/m'Wte/7的子類的實(shí)例化。類KmYrflsA;包括Km'"fe/7對(duì)象的已排序 列表,其中,所述順序表示對(duì)于該芯片類型所述初始化步驟需要被實(shí)施所 按照的順序。所述固件部件將使用來自系統(tǒng)配置數(shù)據(jù)庫430的信息填充對(duì) 象ch;ptosA:的該列表。在上面示出的示例XML文件中,類名稱被直接存 儲(chǔ)在所述控制流表中(例如YinitStepCFMIniYinitStepStartEIVital)。因此,如果系統(tǒng)配置數(shù)據(jù)庫430包括N個(gè)芯片,以及這N個(gè)芯片的每 個(gè)需要M個(gè)初始化步驟,則所述固件部件將創(chuàng)建N個(gè)d^ptosA:對(duì)象以及 IN^M個(gè)c/^:pWep對(duì)象。特別地,所述觸發(fā)和等待步驟也將由c/wjwte/;對(duì)象 表示。17 /Wfe/7的對(duì)應(yīng)子類是類Km7S^p 和類F/m'C印『似7。系統(tǒng)配置數(shù)據(jù)庫430還包括哪些芯片例如經(jīng)由彈性接口與其它芯片連 接的所有信息。專利申請(qǐng)US 2005/0086637 Al提供了所述信息如何被添加 到系統(tǒng)配置數(shù)據(jù)庫430的示例。同樣,對(duì)于每個(gè)彈性接口,對(duì)象將被所述 固件部件創(chuàng)建,以及該對(duì)象中的對(duì)應(yīng)的已排序列表將被表示對(duì)該彈性接口 的初始化步驟的對(duì)象所填充。在步驟450中,服務(wù)單元10將所有觸發(fā)步驟與對(duì)應(yīng)的等待步驟相連接。 所述步驟將由所述固件部件經(jīng)由對(duì)于表示等待步驟的所有對(duì)象調(diào)用類 !7m'W^7『肌7的方法a^/7>/ggc來實(shí)現(xiàn)。因此,對(duì)于需要等待由對(duì)象r表 示的觸發(fā)步驟的、由對(duì)象『表示的等待步驟,所述固件部件將使用實(shí)現(xiàn)偽 代碼『a^/7Wggw(X)的參數(shù)執(zhí)行所述方法。這樣,等待步驟可以變得連接 到一個(gè)或多個(gè)觸發(fā)步驟,以及反之亦然,因此允許觸發(fā)與等待步驟之間的 m:n關(guān)系。觸發(fā)步驟與等待步驟之間的關(guān)系使用如由以下XML程序框架所示的 步驟名稱-陂編碼在所述XML文件中<:STSP narae-〃S工VITAL sr朋!T I CWr c』ass-fini仁Steprjriggrer /><ST£P(guān) name=〃£I VITAL START DOWE〃 ciass-YiiiitStepWa丄t /〉 </rARG£2,〉這樣,可以編碼所述計(jì)算機(jī)系統(tǒng)的硬件單元(CS7尸0、 Cfl7尸/)之間 的依賴這些依賴經(jīng)由步驟名稱來編碼。所述固件部件將所述觸發(fā)和等待 步驟與同一名稱("E7 K/7^丄S7Mi r Z)6W五")相連接。由于所述計(jì)算 機(jī)系統(tǒng)可以包括多個(gè)同 一類型的硬件單元,所以所述固件部件在系統(tǒng)配置 數(shù)據(jù)庫430中查詢所述硬件單元之間的附加依賴。例如,類型為C/T/尸O并且由對(duì)象C尸表示的硬件單元可以連接到由對(duì) 象A7和7V2表示的類型為C^T/尸J的兩個(gè)硬件單元。該依賴然后將經(jīng)由在 系統(tǒng)數(shù)據(jù)庫430中查詢哪些硬件單元連接到C戶而被呈現(xiàn)給所述固件部件。 如由以下偽代碼程序框架中所示,來自上面的XML程序框架的所述觸發(fā) 與等待步驟的連接然后被所述固件部件認(rèn)識(shí)到 犯,getStejpr宜'V工旭STARr DCMS"-> 'addrrigger fCP.getStepf〃EI START DCMB〃"/船,gretStepr'SI ram Sy朋T DC" -〉經(jīng)由僅修改控制流表410的所述XML表示,觸發(fā)和等待步驟可以按 特定硬件單元類型的初始化步驟的順序^皮隨意添加、刪除和移動(dòng)。代替于使用存儲(chǔ)在所述系統(tǒng)配置數(shù)據(jù)庫中的信息,還可以直接在控制 流表410中編碼所述依賴。在控制流表410的XML文件表示的情形中, XML i吾法可以^皮相應(yīng)地?cái)U(kuò)展。在步驟460中,服務(wù)單元IO將開始系統(tǒng)配置數(shù)據(jù)庫430中的每芯片和 每彈性接口的線程。這將經(jīng)由所述固件部件執(zhí)行表示這些芯片和彈性接口 的所有已創(chuàng)建對(duì)象的專用方法來實(shí)現(xiàn)。因此,對(duì)于M個(gè)所述對(duì)象,M個(gè) 線程將被創(chuàng)建以及并行地執(zhí)行。所述線程可以優(yōu)選是操作系統(tǒng)線程或由服 務(wù)單元10執(zhí)行的操作系統(tǒng)的操作系統(tǒng)進(jìn)程。在所述線程中,所關(guān)聯(lián)的芯片 的所有初始化步驟將隨后被實(shí)施。這些對(duì)象的已排序列表中表示這些初始 化步驟的對(duì)象將隨后基于其在這些列表中的位置被處理。在所述處理中, 所述固件部件執(zhí)4亍表示所述初始化步驟的對(duì)象的專用方法。最后,在步驟470中,所述固件部件將等待所有已開始線程的完成。在所有線程的完成之后,所有芯片和彈性接口被初始化。 附加實(shí)施例細(xì)節(jié)所描述的技術(shù)可以被實(shí)現(xiàn)為方法、裝置或涉及軟件、固件、微代碼、 硬件和/或其任意組合的制品。術(shù)語"制品"當(dāng)用在這里時(shí)是指在媒體中實(shí) 現(xiàn)的代碼或邏輯,其中,所述媒體可以包括硬件邏輯(例如,集成電路芯片、可編程門陣列(PGA)、專用集成電路(ASIC)等)或計(jì)算機(jī)可讀媒 體,其中,所述計(jì)算機(jī)可讀媒體例如是磁性存儲(chǔ)媒體(例如硬盤驅(qū)動(dòng)器、 軟盤、磁帶等)、光學(xué)存儲(chǔ)(CD-ROM、光盤等)、易失性和非易失性存 儲(chǔ)器設(shè)備(例如電可擦除可編程只讀存儲(chǔ)器(EEPROM)、只讀存儲(chǔ)器 (ROM)、可編程只讀存儲(chǔ)器(PROM)、隨機(jī)存取存儲(chǔ)器(RAM)、 動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、閃存、 固件、可編程邏輯等)。所述計(jì)算機(jī)可讀媒體中的代碼被處理器訪問和執(zhí) 行。所述代碼或邏輯被編碼到其中的媒體還可以包括通過空間或傳輸媒體 傳播的傳輸信號(hào),其中,所述傳輸媒體例如是光纖、銅線等。所述代碼或 邏輯被編碼到其中的傳輸信號(hào)可以進(jìn)一步包括無線信號(hào)、衛(wèi)星傳輸、無線 電波、紅外信號(hào)、藍(lán)牙等。所述代碼或邏輯被編碼到其中的傳輸信號(hào)能夠 被發(fā)送臺(tái)發(fā)送以及被接收臺(tái)接收,其中在所述發(fā)送臺(tái)和接收臺(tái)或設(shè)備處, 所述傳輸信號(hào)中編碼的所述代碼或邏輯可以4皮解碼以及存儲(chǔ)在硬件或計(jì)算 機(jī)可讀媒體中。另外,所述"制品,,可以包括所述代碼在其中被包含、處 理和執(zhí)行的硬件和軟件部件的組合。當(dāng)然,本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到, 在不脫離實(shí)施例的范圍的情況下,可以作出許多修改,以及所述制品可以 包括任意信息承載媒體。例如,所述制品包括已在其中存儲(chǔ)了指令的存儲(chǔ) 媒體,所述指令當(dāng)被機(jī)器執(zhí)行時(shí)導(dǎo)致操作被實(shí)施。特定實(shí)施例可以采用完全硬件實(shí)施例、完全軟件實(shí)施例或包含硬件和 軟件單元的實(shí)施例的形式。在優(yōu)選實(shí)施例中,本發(fā)明用軟件實(shí)現(xiàn),所述軟 件包括但不限于固件、常駐軟件、微代碼等。另外,特定實(shí)施例可以采用計(jì)算機(jī)程序產(chǎn)品的形式,其中,所述計(jì)算 機(jī)程序產(chǎn)品可從提供程序代碼的計(jì)算機(jī)可用或計(jì)算機(jī)可讀媒體訪問,所述程序代碼被計(jì)算機(jī)或任意指令執(zhí)行系統(tǒng)使用或與其結(jié)合使用。出于本說明 書的目的,計(jì)算機(jī)可用或計(jì)算機(jī)可讀媒體可以是可以包含、存儲(chǔ)、傳送、 傳播或傳輸程序的任意裝置,所述程序被所述指令執(zhí)行系統(tǒng)、裝置或設(shè)備 使用或與其結(jié)合使用。所述媒體可以是電子、磁性、光學(xué)、電磁、紅外或半導(dǎo)體系統(tǒng)(或裝置或設(shè)備)或傳播媒體。計(jì)算機(jī)可讀:fr某體的示例包括半 導(dǎo)體或固體存儲(chǔ)器、磁帶、可移除計(jì)算機(jī)磁盤、隨機(jī)存取存儲(chǔ)器(RAM)、 只讀存儲(chǔ)器(ROM)、硬磁盤和光盤。光盤的當(dāng)前示例包括只讀存儲(chǔ)器致 密盤(CD-ROM)、讀/寫致密盤(CD-R/W)和DVD。術(shù)語"特定實(shí)施例"、"一個(gè)實(shí)施例"、"實(shí)施例(embodiment)"、 "實(shí)施例(embodiments),,、"所述實(shí)施例(the embodiment),,、"所 述實(shí)施例(the embodiments )"、"一個(gè)或更多實(shí)施例"、"一些實(shí)施例" 和"一個(gè)實(shí)施例"除非特別指出否則是指一個(gè)和更多(但不是所有)實(shí)施 例。術(shù)語"包括(including),,、"包括(comprising)"、"具有,,及 其變型除非特別指出否則是指"包括但不限于"。所枚舉的項(xiàng)目列表除非 特別指出否則并不暗示所述項(xiàng)目的任一個(gè)或所有項(xiàng)目是相互排斥的。術(shù)語 "一個(gè)(a),,、"一個(gè)(an)"和"所述(the)"除非特別指出否則是 指"一個(gè)或更多"。相互通信的設(shè)備除非特別指出否則不需要是相互連續(xù)通信的。另外, 相互通信的設(shè)備可以直接或通過一個(gè)或更多中介間接通信。另外,具有幾 個(gè)相互通信的部件的實(shí)施例的描述并不暗示所有所述部件是必需的。相反, 各種可選部件被描述以便示出各種各樣的可能實(shí)施例。進(jìn)一步地,盡管過程步驟、方法步驟、算法等可以按次序順序來描述, 但所述過程、方法和算法可以被配置為按可替換順序工作。換句話說,可 以被描述的步驟的任意次序或順序并不必要指示所述步驟必須按該順序被 實(shí)施。這里描述的過程的步驟可以按任意實(shí)際的順序被實(shí)施。進(jìn)一步地, 一些步驟可以同時(shí)、并行或并發(fā)地蜂皮實(shí)施。當(dāng)單一設(shè)備或物品在這里被描述時(shí),將顯而易見,代替單一設(shè)備/物品, 多于一個(gè)設(shè)備/物品(不論其是否進(jìn)行合作)可以被使用。類似地,在多于一個(gè)設(shè)備或物品在這里被描述的情況下(不論其是否進(jìn)行合作),將顯而 易見,代替所述多于一個(gè)設(shè)備或物品,單一設(shè)備/物品可以被使用。設(shè)備的 功能和/或特征可選地可以被未被明確描述為具有所述功能/特征的一個(gè)或 更多其它設(shè)備包含。由此,其它實(shí)施例不需要該設(shè)備其自己。圖5示出了在其中特定實(shí)施例可以被實(shí)現(xiàn)的計(jì)算機(jī)系統(tǒng)卯0的框圖。 系統(tǒng)卯0可以包括電路卯2,該電路902在特定實(shí)施例中可以包括《敖處理 器904。計(jì)算機(jī)系統(tǒng)900還可以包括存儲(chǔ)器卯6 (例如易失性存儲(chǔ)器設(shè)備) 和存儲(chǔ)卯8。存儲(chǔ)卯8可以包括非易失性存儲(chǔ)器設(shè)備(例如EEPROM、 ROM、 PROM、 RAM、 DRAM、 SRAM、閃存、固件、可編程邏輯等)、 磁盤驅(qū)動(dòng)器、光盤驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器等。存儲(chǔ)卯8可以包括內(nèi)部存儲(chǔ)設(shè) 備、附接存儲(chǔ)設(shè)備和/或網(wǎng)絡(luò)可訪問存儲(chǔ)設(shè)備。系統(tǒng)卯0可以包括程序邏輯 910,該程序邏輯910包括可以被加載到存儲(chǔ)器卯6中并且被;跌處理器904 或電路卯2執(zhí)行的代碼912。在特定實(shí)施例中,包括代碼912的程序邏輯 910可以存儲(chǔ)在存儲(chǔ)卯8中。在特定其它實(shí)施例中,程序邏輯910可以在 電路902中實(shí)現(xiàn)。因此,盡管圖5示出與其它單元分離的程序邏輯910, 但程序邏輯910可以在存儲(chǔ)器906和/或電路902中實(shí)現(xiàn)。特定實(shí)施例可以涉及一種用于由人或集成了計(jì)算機(jī)可讀代碼的自動(dòng)化 處理將計(jì)算指令部署到計(jì)算系統(tǒng)中的方法,其中,與所述計(jì)算系統(tǒng)結(jié)合的所述代碼被使能實(shí)施所述實(shí)施例的操作。附圖中示出的至少某些特定操作可以并行以及順序地被實(shí)施。在可選 實(shí)施例中,某些特定操作可以按不同順序被實(shí)施、修改或移除。另外,為了說明的目的,所述軟件和硬件部件的許多已在單獨(dú)模塊中 被描述。所述部件可以被集成為更少部件,或者被分割為更多部件。另外, 被描述為由特定部件實(shí)施的特定操作可以由其它部件實(shí)施。附圖和本發(fā)明書中示出或提到的數(shù)據(jù)結(jié)構(gòu)和部件被描述為具有特定類 型的信息。在可選實(shí)施例中,所述數(shù)據(jù)結(jié)構(gòu)和部件可以不同地被構(gòu)造,以 及具有比附圖中所示或所提到的更少、更多或不同的字段或不同的功能。因此,所述實(shí)施例的前述描述已由于說明和描述目的被呈現(xiàn)。其不旨在是窮舉的或?qū)⑺鰧?shí)施例限于所公開的精確形式。根據(jù)以上講述,許多 修改和變型是可能的。
權(quán)利要求
1.一種用于初始化數(shù)據(jù)處理系統(tǒng)的方法,所述數(shù)據(jù)處理系統(tǒng)包括功能硬件單元(40、50、60、70、80、100、110)和用于控制所述功能硬件單元的系統(tǒng)管理控制器(10),所述方法包括以下步驟-定義所述功能硬件單元的所選硬件單元(60、70、80)的初始化步驟(201、202、203、204、205、206、207)的順序;-確定所述初始化步驟之間的依賴(204、205);-創(chuàng)建(400)表示所述初始化步驟的序列及其依賴的控制流表(410);-在所述數(shù)據(jù)處理的初始化階段期間,在所述系統(tǒng)管理控制器上執(zhí)行以下步驟-分析(420、440、450)所述控制流表,以及將所述初始化步驟序列分配(440)給所述已選擇的硬件單元;-創(chuàng)建(406)并執(zhí)行每個(gè)已分配初始化步驟序列的并行執(zhí)行線程(200、210)。
2. 根據(jù)權(quán)利要求l所述的方法,其中,在所述分析步驟中,初始化步 驟之間的依賴由被插入所述初始化步驟序列中的觸發(fā)(203 )和等待(205 ) 步驟表示,以及,第一并行執(zhí)行線程(200)當(dāng)實(shí)施觸發(fā)步驟時(shí)用信號(hào)通知 第二并行執(zhí)行線程(210)依賴被解決,以及其中,所述第二并行執(zhí)行線程 當(dāng)實(shí)施等待步驟時(shí)在直到接收到來自所述第一并行執(zhí)行線程的信號(hào)通知之 前停止其執(zhí)行。
3. —種用于初始化數(shù)據(jù)處理系統(tǒng)的方法,包括-分析(420、 440、 450)表示數(shù)據(jù)處理系統(tǒng)的所選硬件單元(60、 70、 80)的初始化步驟(201、 202、 203、 204、 205、 206、 207)的序列及其依 賴(204、 205 )的控制流表(410 ),以及將所述初始化步驟序列分配(440 )給所述已選擇硬件單元;-創(chuàng)建(460 )并執(zhí)行每個(gè)所述初始化步驟序列的并行執(zhí)行線程(200、210)。
4. 根據(jù)權(quán)利要求3所述的方法,其中,在所述分析步驟中,初始化步步驟表示,以及第一并行執(zhí)行線程(200)當(dāng)實(shí)施觸發(fā)步驟時(shí)用信號(hào)通知第 二并行執(zhí)行線程(210 )依賴被解決,以及其中,所述第二并行執(zhí)行線程當(dāng) 實(shí)施等待步驟時(shí)在直到接收到來自所述笫一并行執(zhí)行線程的信號(hào)通知之前 停止其執(zhí)行。
5. 根據(jù)權(quán)利要求3或4所述的方法,其中,所述數(shù)據(jù)處理系統(tǒng)的系統(tǒng) 配置數(shù)據(jù)庫(430)被用于所述分析步驟中。
6. 根據(jù)權(quán)利要求3到5中任一個(gè)所述的方法,其中,所述計(jì)算機(jī)系統(tǒng) 執(zhí)行操作系統(tǒng),以及其中,對(duì)于所述并行執(zhí)行線程的創(chuàng)建,所迷操作系統(tǒng) 的至少一個(gè)以下工具被使用操作系統(tǒng)線程、操作系統(tǒng)進(jìn)程。
7. 根據(jù)權(quán)利要求3到6中任一個(gè)所述的方法,其中,在所述分析步驟 中,編程對(duì)象被用于表示以下的至少一個(gè)所述已選擇硬件單元、所述初 始化步驟。
8. —種數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)包括功能硬件單元(40、 50、 60、 70、 80、 100、 110)和用于控制所述功能硬件單元的系統(tǒng)管理控制器(10),其中,所述系統(tǒng)管理控制器包括用于在所述數(shù)據(jù)處理系統(tǒng)的初始 化階段期間實(shí)現(xiàn)根據(jù)權(quán)利要求3到7所述的任一方法的裝置。
9. 根據(jù)權(quán)利要求8所述的數(shù)據(jù)處理系統(tǒng),進(jìn)一步包括具有節(jié)點(diǎn)控制器 (30)和所述功能硬件單元的子集中的每個(gè)的硬件節(jié)點(diǎn)(20),其中,所述節(jié)點(diǎn)控制器被所述系統(tǒng)管理控制器用于所述初始化步驟的執(zhí)行。
10. 根據(jù)權(quán)利要求8或9所述的數(shù)據(jù)處理系統(tǒng),其中,所述系統(tǒng)管理 控制器的永久存儲(chǔ)被用于存儲(chǔ)以下的至少一個(gè)所述控制流表、所述系統(tǒng) 配置數(shù)據(jù)庫。
全文摘要
一種用于初始化數(shù)據(jù)處理系統(tǒng)的方法。數(shù)據(jù)處理系統(tǒng)的所選功能硬件單元的初始化步驟的序列被定義,以及所述初始化步驟之間的依賴被確定。這些定義步驟優(yōu)選在所述數(shù)據(jù)處理系統(tǒng)的設(shè)計(jì)和開發(fā)期間被實(shí)施。所述初始化步驟的序列及其依賴在單一控制流表(410)中被表示(400)。該控制流表然后在所述數(shù)據(jù)處理系統(tǒng)的初始化階段期間被系統(tǒng)管理控制器分析(420、440、450)。所述序列將關(guān)聯(lián)于(440)所選功能硬件單元,以及,對(duì)于每個(gè)關(guān)聯(lián)的初始化步驟序列,所述系統(tǒng)管理控制器將創(chuàng)建(460)和執(zhí)行并行執(zhí)行線程。
文檔編號(hào)G06F9/445GK101236505SQ20081000922
公開日2008年8月6日 申請(qǐng)日期2008年1月29日 優(yōu)先權(quán)日2007年1月30日
發(fā)明者J·舒爾茨, R·紹夫勒, W·尼克勞斯 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司