專利名稱:多處理器系統(tǒng)及其并行啟動方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多處理器計算機系統(tǒng),特別涉及一種多處理器系統(tǒng)啟動技術(shù)。
背景技術(shù):
基于外圍器件互聯(lián)(PeripheralComponent Interconnect,簡稱“PCI ”)總線 /外圍器件高速互聯(lián)(Peripheral Component Interconnect Express,簡稱“PCI-E”)總線的多處理器系統(tǒng)啟動過程中,目前一般采取的方法是,在主處理器啟動完成后,通過PCI/PCI-E總線依次下載各個從處理器啟動所需的二進制文件到其內(nèi)存中,完成從處理器啟動。現(xiàn)在看到的改進方法多是從縮短下載文件到從處理器內(nèi)存這個角度入手,比如I)多線程下載各個從處理器的二進制文件;2)主處理器把從處理器分組,先啟動每組的組長處理器,然后由組長處理器再分別啟動各組其它的處理器;3)主處理器把從處理器分組,通過PCI-E交換器(或PCI-E Switch)的多播功能完成各個從處理器組二進制文件的下載;本發(fā)明的發(fā)明人發(fā)現(xiàn),上述方法都是在主處理器下載完成后,再來著手從處理器的初始化,因此主處理器和從處理器是串行啟動,整個系統(tǒng)啟動時間將是主處理器啟動時間、下載從處理器二進制文件時間和從處理器啟動時間三者之和。如何讓各個處理器盡早完成初始化,對于加快多處理器系統(tǒng)的啟動至關(guān)重要。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種多處理器系統(tǒng)及其并行啟動方法,實現(xiàn)了主處理器和從處理器啟動并行化,加快了多處理器系統(tǒng)啟動加載速度,減少了用戶等待時間。為解決上述技術(shù)問題,本發(fā)明的實施方式公開了一種多處理器系統(tǒng)并行啟動方法,多處理器系統(tǒng)包括由總線連接的至少兩個處理器,其中一個為主處理器,其他為從處
理器;處理器系統(tǒng)并行啟動方法包括以下步驟主處理器啟動主引導(dǎo)程序,并枚舉總線上的從處理器;主引導(dǎo)程序為從處理器加載啟動文件后,啟動從處理器;在啟動從處理器的同時,主處理器加載自身的操作系統(tǒng)內(nèi)核鏡像文件并啟動。本發(fā)明的實施方式還公開了一種多處理器系統(tǒng),系統(tǒng)包括由總線連接的至少兩個處理器,其中一個為主處理器,其他為從處理器;主處理器,用于首先啟動主引導(dǎo)程序,并枚舉總線上的從處理器,其次,在主引導(dǎo)程序為從處理器加載啟動文件后,啟動從處理器,最后在啟動從處理器的同時,主處理器加載自身的操作系統(tǒng)內(nèi)核鏡像文件并啟動。本發(fā)明實施方式與現(xiàn)有技術(shù)相比,主要區(qū)別及其效果在于主處理器通過主引導(dǎo)程序為從處理器加載啟動文件并啟動從處理器的同時,加載、自身的操作系統(tǒng)內(nèi)核鏡像文件并啟動,實現(xiàn)了主處理器和從處理器啟動并行化,加快了多處理器系統(tǒng)啟動文件加載速度,減少了用戶等待時間。進一步地,通過根據(jù)從處理器所在槽位號,為該從處理器分配相應(yīng)的PCI-E地址以完成從處理器的初始化過程,可以保證總線地址空間 的規(guī)律性,便于修正總線地址空間。進一步地,根據(jù)從處理器的類別,確定啟動時需要加載的啟動文件,然后根據(jù)啟動文件的類別,將從處理器歸類分組,這樣在主引導(dǎo)程序加載啟動文件時可以批量加載,提高加載時效,同時便于多處理器系統(tǒng)結(jié)構(gòu)的擴展。進一步地,主引導(dǎo)程序先為從處理器加載從引導(dǎo)程序,在從處理器啟動自身的從引導(dǎo)程序的同時,主引導(dǎo)程序再加載該從處理器的操作系統(tǒng)內(nèi)核鏡像文件和文件系統(tǒng),使得主引導(dǎo)程序?qū)奶幚砥鞯牟僮飨到y(tǒng)內(nèi)核鏡像文件和文件系統(tǒng)加載與從處理器自身的從引導(dǎo)程序啟動并行執(zhí)行,進一步減少了系統(tǒng)啟動時間,減少了用戶等待時間。
圖I是本發(fā)明第一實施方式中一種多處理器系統(tǒng)并行啟動方法的流程示意圖;圖2是本發(fā)明第二實施方式中一種多處理器系統(tǒng)并行啟動方法的流程示意圖;圖3是本發(fā)明第二實施方式中一種多處理器系統(tǒng)的操作系統(tǒng)內(nèi)核鏡像文件下載示意圖;圖4是本發(fā)明第二實施方式中一種多處理器系統(tǒng)的并行和串行啟動對比示意圖;圖5是本發(fā)明第三實施方式中一種多處理器系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施例方式在以下的敘述中,為了使讀者更好地理解本申請而提出了許多技術(shù)細節(jié)。但是,本領(lǐng)域的普通技術(shù)人員可以理解,即使沒有這些技術(shù)細節(jié)和基于以下各實施方式的種種變化和修改,也可以實現(xiàn)本申請各權(quán)利要求所要求保護的技術(shù)方案。為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明的實施方式作進一步地詳細描述。本發(fā)明第一實施方式涉及一種多處理器系統(tǒng)并行啟動方法。圖I是該多處理器系統(tǒng)并行啟動方法的流程示意圖。該多處理器系統(tǒng)并行啟動方法系統(tǒng)包括由總線連接的至少兩個處理器,其中一個為主處理器,其他為從處理器。具體地說,如圖I所示,多處理器系統(tǒng)并行啟動方法包括以下步驟在步驟101中,主處理器啟動主引導(dǎo)程序。此后進入步驟102,主處理器枚舉總線上的從處理器。此后進入步驟103,主引導(dǎo)程序為從處理器加載啟動文件。此后進入步驟104,啟動從處理器。此后進入步驟105,在啟動從處理器的同時,主處理器加載自身的操作系統(tǒng)內(nèi)核鏡像文件并啟動,此后結(jié)束本流程。上述步驟104和105同時執(zhí)行,并不因步驟序號的不同導(dǎo)致執(zhí)行先后的區(qū)別。此外,上述處理器為中央處理器(Central Processing Unit,簡稱“CPU”),數(shù)字信號處理器(Digital Signal Processor,簡稱“DSP”)和單片機等處理器類型中的一種或若干種。本發(fā)明第二實施方式涉及一種多處理器系統(tǒng)并行啟動方法。圖2是該多處理器系統(tǒng)并行啟動方法的流程示意圖。第二實施方式在第一實施方式的基礎(chǔ)上進行了改進,主要改進之處在于通過根據(jù)從處理器所在槽位號,為該從處理器分配相應(yīng)的PCI-E地址以完成從處理器的初始化過程,可以保證總線地址空間的規(guī)律性,便于修正總線地址空間。根據(jù)從處理器的類別,確定啟動時需要加載的啟動文件,然后根據(jù)啟動文件的類別,將從處理器歸類分組,這樣在主引導(dǎo)程序加載啟動文件時可以批量加載,提高加載時效, 同時便于多處理器系統(tǒng)結(jié)構(gòu)的擴展。主引導(dǎo)程序先為從處理器加載從引導(dǎo)程序,在從處理器啟動自身的從引導(dǎo)程序的同時,主引導(dǎo)程序再加載該從處理器的操作系統(tǒng)內(nèi)核鏡像文件和文件系統(tǒng),使得主引導(dǎo)程序?qū)奶幚砥鞯牟僮飨到y(tǒng)內(nèi)核鏡像文件和文件系統(tǒng)加載與從處理器自身的從引導(dǎo)程序啟動并行執(zhí)行,進一步減少了系統(tǒng)啟動時間,減少了用戶等待時間。具體地說總線為PCI-E總線。枚舉總線上的從處理器步驟,還包括以下子步驟根據(jù)從處理器所在槽位號,為該從處理器分配相應(yīng)的PCI-E地址,以初始化系統(tǒng)的總線地址空間。此外,在本發(fā)明的其他某些實施方式中,總線也可以為工業(yè)標準(IndustryStandard Architecture,簡稱“ISA”)總線、外圍器件互聯(lián)(Peripheral ComponentInterconnect,簡稱“PCI ”)總線等總線中的一種,并不局限于外圍器件高速互聯(lián)(Peripheral Component Interconnect Express,簡稱 “PCI-E,,)總線。枚舉總線上的從處理器的步驟,還包括以下子步驟按序依次訪問各個從處理器的配置空間所保存的處理器功能信息,該處理器功能信息包括設(shè)備識別碼(或稱為設(shè)備ID)和廠商識別碼(或稱為廠商ID)。檢測配置空間所保存的處理器功能信息所對應(yīng)的處理器是否合法。若合法,則執(zhí)行初始化系統(tǒng)的總線地址空間的步驟。此外,每個從處理器功能信息包括設(shè)備識別碼和廠商識別碼,由(總線號bus_num,設(shè)備號 device_num,功能號 function_num)唯一確定,0 < = device_num < 32,0 < =function_num < 8,其中(0,0,0)是主處理器端的主橋設(shè)備。還包括以下步驟根據(jù)從處理器啟動時所需加載的啟動文件類別,預(yù)先將從處理器歸類分組;在主引導(dǎo)程序為從處理器加載啟動文件的步驟中,主引導(dǎo)程序根據(jù)從處理器的類另IJ,為所屬組中的從處理器批量加載啟動文件。啟動文件包括壓縮的從引導(dǎo)程序、操作系統(tǒng)內(nèi)核鏡像文件和文件系統(tǒng)。主引導(dǎo)程序為從處理器加載啟動文件后,啟動從處理器的步驟,還包括以下子步驟主引導(dǎo)程序為從處理器加載從弓I導(dǎo)程序。從處理器啟動自身的從引導(dǎo)程序初始化硬件。在從處理器啟動自身的從引導(dǎo)程序初始化硬件的同時,主引導(dǎo)程序加載該處理器的操作系統(tǒng)內(nèi)核鏡像文件和文件系統(tǒng)。待操作系統(tǒng)內(nèi)核鏡像文件和文件系統(tǒng)加載完成,主引導(dǎo)程序設(shè)置從處理器的內(nèi)存標志位。從處理器的從弓I導(dǎo)程序輪詢到自身的內(nèi)存標志位被設(shè)置后,啟動自身的操作系統(tǒng)內(nèi)核鏡像文件并掛載自身的文件系統(tǒng)。作為本發(fā)明的一個優(yōu)選實施方式,如圖2所示,多處理器系統(tǒng)并行啟動方法包括以下步驟上述主引導(dǎo)程序為從處理器加載啟動文件后,啟動從處理器的步驟104,還包括以下子步驟在步驟201中,為多處理器系統(tǒng)上電。此后進入步驟202,主處理器啟動主引導(dǎo)程序。此后進入步驟203,主引導(dǎo)程序為從處理器加載從引導(dǎo)程序。此后進入步驟204,從處理器啟動自身的從引導(dǎo)程序初始化硬件,在從處理器啟動自身的從引導(dǎo)程序初始化硬件的同時,主引導(dǎo)程序加載該處理器的操作系統(tǒng)內(nèi)核鏡像文件和文件系統(tǒng)。此后進入步驟205,待操作系統(tǒng)內(nèi)核鏡像文件和文件系統(tǒng)加載完成后,主引導(dǎo)程序設(shè)置從處理器的內(nèi)存標志位。此后進入步驟206,從處理器的從引導(dǎo)程序輪詢自身的內(nèi)存標志位是否有效。若有效,則進入步驟207 ;否則返回步驟206,繼續(xù)輪詢檢測。在步驟207中,從處理器的從引導(dǎo)程序輪詢到自身的內(nèi)存標志位被設(shè)置后,從處理器啟動自身的操作系統(tǒng)內(nèi)核鏡像文件。此后進入步驟208,從處理器掛載自身的文件系統(tǒng),此后結(jié)束本流程。在執(zhí)行上述步驟206至208的同時,也執(zhí)行以下步驟209和210。在步驟209中,主處理器啟動自身的操作系統(tǒng)內(nèi)核鏡像文件。此后進入步驟210,主處理器掛載自身的文件系統(tǒng),此后結(jié)束本流程。作為本發(fā)明的一個優(yōu)選實施方式,圖3是一種多處理器系統(tǒng)的操作系統(tǒng)內(nèi)核鏡像文件下載示意圖。在主CPU上電后,啟動主引導(dǎo)程序BootLoader,其中會枚舉PCI-E設(shè)備,形成PCI-E設(shè)備樹,并根據(jù)PCI-E設(shè)備的BAR(或稱為基地址寄存器)空間大小配置合適的PCI-E地址,默認的地址是按照枚舉的順序在固定地址區(qū)間分配PCI-E地址的。實際使用中,往往希望根據(jù)從CPU的特征和實際需求,對該地址空間進行修正。例如,可以根據(jù)從CPU所在的槽位號,分配相應(yīng)的PCI-E地址,這樣的話可以保證地址的規(guī)律性。某PCI-E設(shè)備的BARl映射256MB的內(nèi)存,實際只需要幾MB的空間用于下載該設(shè)備啟動所需的二進制文件。PCI-E設(shè)備(或處理器)的配置空間保存了該設(shè)備功能的基本信息,主CPU的枚舉工作都是通過依次訪問各個從CPU的配置空間進行的。具體來說,PCI-E系統(tǒng)中,每個PCI-E設(shè)備功能可以通過總線號,設(shè)備號和功能號唯一確定的,S卩(bus_num, device_num,function_num)唯一確定一個PCI-E設(shè)備的功能。一個PCI-E系統(tǒng)最多可以有256條總線(bus_num < = 256),每條總線最多可以掛載32個設(shè)備(device_num < = 32), 一個設(shè)備最多有8個功能(function_num <= 8)。在枚舉開始時,總是從0號總線開始,依次嘗試讀取該總線上各個設(shè)備號和功能號組合,如果讀取到配置空間內(nèi)有意義的寄存器值,就會進、一步完成BAR地址的設(shè)置,另外,對于PCI-E交換器(或Switch)的上行和下行端口還要設(shè)置原級總線號、次級總線號和下屬總線號。但是枚舉過程應(yīng)該排除連接主CPU的主橋設(shè)備(0,0,0)。如圖3所示,根據(jù)從CPU的啟動文件類別分成若干組從CPU0,從CPUl......從
CPU m,其中m為正整數(shù),每組從CPU啟動文件相同。主CPU首先把所有從CPU組的啟動文件讀取到不同的內(nèi)存空間,該內(nèi)存空間作為主CPU的BAR (或稱為基地址寄存器)空間,可以被其他PCI-E設(shè)備訪問。掃描PCI-E設(shè)備樹,根據(jù)每個從CPU組的設(shè)備ID和廠 商ID,從中找到該組從CPU成員,并從對應(yīng)的主CPU內(nèi)存空間中讀取二進制啟動文件到從CPU內(nèi)存中,實現(xiàn)從CPU的啟動。接著,對所有從CPU組進行這個過程,直到所有CPU都啟動完成?!銇碚f,從CPU的啟動文件包括從引導(dǎo)程序BootLoader,操作系統(tǒng)內(nèi)核鏡像文件ulmage和文件系統(tǒng)ramdisk。所有啟動文件下載完成后,主CPU需要設(shè)置從CPU內(nèi)存標志位,例如把內(nèi)存0x403fffc處寫為0x12345678,從引導(dǎo)程序BootLoader會輪詢該地址處的值,一旦標志位被設(shè)置,從CPU將在內(nèi)存地址處啟動ulmage,最后加載ramdisk完成從CPU的啟動。作為本發(fā)明的一個優(yōu)選實施方式,圖4是一種多處理器系統(tǒng)的并行和串行啟動對比示意圖,具體地說,為了證明本專利所述啟動方法可以加快整個系統(tǒng)啟動速度,下面通過圖4進行說明多CPU系統(tǒng)啟動過程,整個系統(tǒng)的啟動時間包括t0 (主CPU啟動主引導(dǎo)程序或BootLoader),tl (主CPU啟動內(nèi)核),t2 (主CPU下載從CPU啟動所需的二進制文件或啟動文件),t3 (從CPU啟動從BootLoader和內(nèi)核),傳統(tǒng)的串行啟動從CPU方式的時間是t0+tl+t2+t3,而并行啟動從CPU的時間是t0+t2+max(tl,t3)。從啟動時間公式的對比可以看出,并行啟動可以節(jié)省的時間是min(tl,t3)。第一實施方式是與本實施方式相對應(yīng)的方法實施方式,本實施方式可與第一實施方式互相配合實施。第一實施方式中提到的相關(guān)技術(shù)細節(jié)在本實施方式中依然有效,為了減少重復(fù),這里不再贅述。相應(yīng)地,本實施方式中提到的相關(guān)技術(shù)細節(jié)也可應(yīng)用在第一實施方式中。本發(fā)明的各方法實施方式均可以以軟件、硬件、固件等方式實現(xiàn)。不管本發(fā)明是以軟件、硬件、還是固件方式實現(xiàn),指令代碼都可以存儲在任何類型的計算機可訪問的存儲器中(例如永久的或者可修改的,易失性的或者非易失性的,固態(tài)的或者非固態(tài)的,固定的或者可更換的介質(zhì)等等)。同樣,存儲器可以例如是可編程陣列邏輯(Programmable ArrayLogic,簡稱“PAL”)、隨機存取存儲器(Random Access Memory,簡稱“RAM”)、可編程只讀存儲器(Programmable Read Only Memory,簡稱 “PROM”)、只讀存儲器(Read-Only Memory,簡稱“ROM”)、電可擦除可編程只讀存儲器(Electrically Erasable Programmable ROM,簡稱“EEPR0M”)、磁盤、光盤、數(shù)字通用光盤(Digital Versatile Disc,簡稱“DVD”)等等。本發(fā)明第三實施方式涉及一種多處理器系統(tǒng)。該多處理器系統(tǒng)包括由總線連接的至少兩個處理器,其中一個為主處理器,其他為從處理器。主處理器,用于首先啟動主引導(dǎo)程序,并枚舉總線上的從處理器,其次,在主引導(dǎo)程序為從處理器加載啟動文件后,啟動從處理器,最后在啟動從處理器的同時,主處理器加載自身的操作系統(tǒng)內(nèi)核鏡像文件并啟動。主處理器通過主引導(dǎo)程序為從處理器加載啟動文件并啟動從處理器的同時,加載自身的操作系統(tǒng)內(nèi)核鏡像文件并啟動,實現(xiàn)了主處理器和從處理器啟動并行化,加快了多處理器系統(tǒng)啟動加載速度,減少了用戶等待時間。此外,上述處理器為中央處理器(Central Processing Unit,簡稱“CPU”),數(shù)字信號處理器(Digital Signal Processor,簡稱“DSP”)和單片機等處理器類型中的一種或若干種。如圖5所示的多處理器系統(tǒng)結(jié)構(gòu)可以作為本發(fā)明多處理器系統(tǒng)結(jié)構(gòu)的一個優(yōu)選 實施例。本發(fā)明第四實施方式涉及一種多處理器系統(tǒng)。第四實施方式在第三實施方式的基礎(chǔ)上進行了改進,主要改進之處在于通過根據(jù)從處理器所在槽位號,為該從處理器分配相應(yīng)的PCI-E地址以完成從處理器的初始化過程,可以保證總線地址空間的規(guī)律性,便于修正總線地址空間。根據(jù)從處理器的類別,確定啟動時需要加載的啟動文件,然后根據(jù)啟動文件的類別,將從處理器歸類分組,這樣在主引導(dǎo)程序加載啟動文件時可以批量加載,提高加載時效,同時便于多處理器系統(tǒng)結(jié)構(gòu)的擴展。主引導(dǎo)程序先為從處理器加載從引導(dǎo)程序,在從處理器啟動自身的從引導(dǎo)程序的同時,主引導(dǎo)程序再加載該從處理器的操作系統(tǒng)內(nèi)核鏡像文件和文件系統(tǒng),使得主引導(dǎo)程序?qū)奶幚砥鞯牟僮飨到y(tǒng)內(nèi)核鏡像文件和文件系統(tǒng)加載與從處理器自身的從引導(dǎo)程序啟動并行執(zhí)行,進一步減少了系統(tǒng)啟動時間,減少了用戶等待時間。具體地說總線為PCI-E總線。主處理器枚舉總線上的從處理器時,根據(jù)從處理器所在槽位號,為該從處理器分配相應(yīng)的PCI-E地址,以初始化系統(tǒng)的總線地址空間。此外,在本發(fā)明的其他某些實施方式中,總線也可以為工業(yè)標準(IndustryStandard Architecture,簡稱“ISA”)總線、外圍器件互聯(lián)(Peripheral ComponentInterconnect,簡稱“PCI ”)總線等總線中的一種,并不局限于外圍器件高速互聯(lián)(Peripheral Component Interconnect Express,簡稱 “PCI-E,,)總線。主處理器枚舉總線上的從處理器時,先按序依次訪問各個從處理器的配置空間所保存的處理器功能信息,該處理器功能信息包括設(shè)備識別碼和廠商識別碼,再檢測配置空間所保存的處理器功能信息所對應(yīng)的處理器是否合法,若合法,則初始化系統(tǒng)的總線地址空間。此外,每個從處理器功能信息包括設(shè)備識別碼和廠商識別碼,由(總線號bus_num,設(shè)備號 device_num,功能號 function_num)唯一確定,0 < = device_num < 32,0 < =function_num < 8,其中(0,0,0)是主處理器端的主橋設(shè)備。主處理器,還用于根據(jù)從處理器啟動時所需加載的啟動文件類別,預(yù)先將從處理器歸類分組。在主引導(dǎo)程序為從處理器加載啟動文件時,主引導(dǎo)程序根據(jù)從處理器的類別,為所屬組中的從處理器批量加載啟動文件。啟動文件包括壓縮的從引導(dǎo)程序、操作系統(tǒng)內(nèi)核鏡像文件和文件系統(tǒng)。主引導(dǎo)程序為從處理器加載啟動文件后,啟動從處理器的步驟,還包括以下子步驟主引導(dǎo)程序為從處理器加載從弓I導(dǎo)程序。從處理器啟動自身的從引導(dǎo)程序。在從處理器啟動自身的從引導(dǎo)程序的同時,主引導(dǎo)程序加載該處理器的操作系統(tǒng)內(nèi)核鏡像文件和文件系統(tǒng)。待操作系統(tǒng)內(nèi)核鏡像文件和文件系統(tǒng)加載完成,主引導(dǎo)程序設(shè)置從處理器的內(nèi)存標志位。從處理器的從引導(dǎo)程序輪詢到自身的內(nèi)存標志位被設(shè)置后,啟動自身的操作系統(tǒng)內(nèi)核鏡像文件并掛載自身的文件系統(tǒng)。第二實施方式是與本實施方式相對應(yīng)的方法實施方式,本實施方式可與第二實施方式互相配合實施。第二實施方式中提到的相關(guān)技術(shù)細節(jié)在本實施方式中依然有效,為了減少重復(fù),這里不再贅述。相應(yīng)地,本實施方式中提到的相關(guān)技術(shù)細節(jié)也可應(yīng)用在第二實施方式中。需要說明的是,本發(fā)明各設(shè)備實施方式中提到的各單元都是邏輯單元,在物理上,一個邏輯單元可以是一個物理單元,也可以是一個物理單元的一部分,還可以以多個物理單元的組合實現(xiàn),這些邏輯單元本身的物理實現(xiàn)方式并不是最重要的,這些邏輯單元所實現(xiàn)的功能的組合是才解決本發(fā)明所提出的技術(shù)問題的關(guān)鍵。此外,為了突出本發(fā)明的創(chuàng)新部分,本發(fā)明上述各設(shè)備實施方式并沒有將與解決本發(fā)明所提出的技術(shù)問題關(guān)系不太密切的單元引入,這并不表明上述設(shè)備實施方式并不存在其它的單元。雖然通過參照本發(fā)明的某些優(yōu)選實施方式,已經(jīng)對本發(fā)明進行了圖示和描述,但本領(lǐng)域的普通技術(shù)人員應(yīng)該明白,可以在形式上和細節(jié)上對其作各種改變,而不偏離本發(fā)明的精神和范圍。權(quán)利要求
1.一種多處理器系統(tǒng)并行啟動方法,其特征在于,所述系統(tǒng)包括由總線連接的至少兩個處理器,其中一個為主處理器,其他為從處理器; 所述方法包括以下步驟 主處理器啟動主引導(dǎo)程序,并枚舉總線上的從處理器; 所述主引導(dǎo)程序為從處理器加載啟動文件后,啟動從處理器; 在啟動從處理器的同時,主處理器加載自身的操作系統(tǒng)內(nèi)核鏡像文件并啟動。
2.根據(jù)權(quán)利要求I所述的多處理器系統(tǒng)并行啟動方法,其特征在于,所述總線為PCI-E總線; 所述枚舉總線上的從處理器步驟,還包括以下子步驟 根據(jù)從處理器所在槽位號,為該從處理器分配相應(yīng)的PCI-E地址,以初始化所述系統(tǒng)的總線地址空間。
3.根據(jù)權(quán)利要求2所述的多處理器系統(tǒng)并行啟動方法,其特征在于,所述枚舉總線上的從處理器的步驟,還包括以下子步驟 按序依次訪問各個從處理器的配置空間所保存的處理器功能信息,該處理器功能信息包括設(shè)備識別碼和廠商識別碼; 檢測所述配置空間所保存的處理器功能信息所對應(yīng)的處理器是否合法; 若合法,則執(zhí)行所述初始化系統(tǒng)的總線地址空間的步驟。
4.根據(jù)權(quán)利要求I所述的多處理器系統(tǒng)并行啟動方法,其特征在于,還包括以下步驟 根據(jù)從處理器啟動時所需加載的啟動文件類別,預(yù)先將從處理器歸類分組; 在所述主引導(dǎo)程序為從處理器加載啟動文件的步驟中,主引導(dǎo)程序根據(jù)從處理器的類另IJ,為所屬組中的從處理器批量加載啟動文件。
5.根據(jù)權(quán)利要求I至4中任一項所述的多處理器系統(tǒng)并行啟動方法,其特征在于,所述啟動文件包括壓縮的從引導(dǎo)程序、操作系統(tǒng)內(nèi)核鏡像文件和文件系統(tǒng); 所述主引導(dǎo)程序為從處理器加載啟動文件后,啟動從處理器的步驟,還包括以下子步驟 主引導(dǎo)程序為從處理器加載從引導(dǎo)程序; 從處理器啟動自身的從引導(dǎo)程序初始化硬件; 在從處理器啟動自身的從引導(dǎo)程序初始化硬件的同時,主引導(dǎo)程序加載該處理器的操作系統(tǒng)內(nèi)核鏡像文件和文件系統(tǒng); 待操作系統(tǒng)內(nèi)核鏡像文件和文件系統(tǒng)加載完成,主引導(dǎo)程序設(shè)置從處理器的內(nèi)存標志位; 所述從處理器的從弓I導(dǎo)程序輪詢到自身的內(nèi)存標志位被設(shè)置后,啟動自身的操作系統(tǒng)內(nèi)核鏡像文件并掛載自身的文件系統(tǒng)。
6.一種多處理器系統(tǒng),其特征在于,所述系統(tǒng)包括由總線連接的至少兩個處理器,其中一個為主處理器,其他為從處理器; 主處理器,用于首先啟動主引導(dǎo)程序,并枚舉總線上的從處理器,其次,在主引導(dǎo)程序為從處理器加載啟動文件后,啟動從處理器,最后在啟動從處理器的同時,主處理器加載自身的操作系統(tǒng)內(nèi)核鏡像文件并啟動。
7.根據(jù)權(quán)利要求6所述的多處理器系統(tǒng),其特征在于,所述總線為PCI-E總線;所述主處理器枚舉總線上的從處理器時,根據(jù)從處理器所在槽位號,為該從處理器分配相應(yīng)的PCI-E地址,以初始化所述系統(tǒng)的總線地址空間。
8.根據(jù)權(quán)利要求7所述的多處理器系統(tǒng),其特征在于,所述主處理器枚舉總線上的從處理器時,先按序依次訪問各個從處理器的配置空間所保存的處理器功能信息,該處理器功能信息包括設(shè)備識別碼和廠商識別碼,再檢測所述配置空間所保存的處理器功能信息所對應(yīng)的處理器是否合法,若合法,則初始化系統(tǒng)的總線地址空間。
9.根據(jù)權(quán)利要求6所述的多處理器系統(tǒng),其特征在于,所述主處理器,還用于根據(jù)從處理器啟動時所需加載的啟動文件類別,預(yù)先將從處理器歸類分組; 在所述主引導(dǎo)程序為從處理器加載啟動文件時,主引導(dǎo)程序根據(jù)從處理器的類別,為所屬組中的從處理器批量加載啟動文件。
10.根據(jù)權(quán)利要求6至9中任一項所述的多處理器系統(tǒng),其特征在于,所述啟動文件包括壓縮的從引導(dǎo)程序、操作系統(tǒng)內(nèi)核鏡像文件和文件系統(tǒng); 所述主引導(dǎo)程序為從處理器加載啟動文件后,啟動從處理器的步驟,還包括以下子步驟 主引導(dǎo)程序為從處理器加載從引導(dǎo)程序; 從處理器啟動自身的從引導(dǎo)程序; 在從處理器啟動自身的從引導(dǎo)程序的同時,主引導(dǎo)程序加載該處理器的操作系統(tǒng)內(nèi)核鏡像文件和文件系統(tǒng); 待操作系統(tǒng)內(nèi)核鏡像文件和文件系統(tǒng)加載完成,主引導(dǎo)程序設(shè)置從處理器的內(nèi)存標志位; 所述從處理器的從弓I導(dǎo)程序輪詢到自身的內(nèi)存標志位被設(shè)置后,啟動自身的操作系統(tǒng)內(nèi)核鏡像文件并掛載自身的文件系統(tǒng)。
全文摘要
本發(fā)明涉及多處理器計算機系統(tǒng),公開了一種多處理器系統(tǒng)及其并行啟動方法。實現(xiàn)了主處理器和從處理器啟動并行化,加快了多處理器系統(tǒng)啟動加載速度,減少了用戶等待時間。本發(fā)明中,系統(tǒng)包括由總線連接的至少兩個處理器,其中一個為主處理器,其他為從處理器;方法包括以下步驟主處理器啟動主引導(dǎo)程序,并枚舉總線上的從處理器;主引導(dǎo)程序為從處理器加載啟動文件后,啟動從處理器;在啟動從處理器的同時,主處理器加載自身的操作系統(tǒng)內(nèi)核鏡像文件并啟動。
文檔編號G06F15/163GK102646045SQ201210059600
公開日2012年8月22日 申請日期2012年3月8日 優(yōu)先權(quán)日2012年3月8日
發(fā)明者杜皓, 楊克勤, 瞿勇 申請人:杭州海康威視數(shù)字技術(shù)股份有限公司