亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

優(yōu)化具有多個(gè)中央處理器的計(jì)算機(jī)的啟動(dòng)時(shí)間的系統(tǒng)及方法

文檔序號(hào):8207699閱讀:319來(lái)源:國(guó)知局
優(yōu)化具有多個(gè)中央處理器的計(jì)算機(jī)的啟動(dòng)時(shí)間的系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明主要涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種優(yōu)化的用于啟動(dòng)具有多個(gè)中央處理器(CPUs)的計(jì)算機(jī)的方法及系統(tǒng)。
【背景技術(shù)】
[0002]工作站、個(gè)人計(jì)算機(jī)和/或服務(wù)器(以下簡(jiǎn)稱“計(jì)算機(jī)系統(tǒng)”或“計(jì)算機(jī)”)通常包括基本輸入/輸出系統(tǒng)(B1S),所述B1S充當(dāng)計(jì)算機(jī)硬件和安裝在該計(jì)算機(jī)上的至少一個(gè)操作系統(tǒng)之間的接口。所述B1S還可能具有用于觸發(fā)和初始化計(jì)算機(jī)硬件服務(wù)的至少一個(gè)軟件代碼和/或固件和/或指令,例如芯片組驅(qū)動(dòng),視頻,基本鍵盤,I/O端口,磁盤驅(qū)動(dòng)器等主板服務(wù)。除初始化服務(wù)外,B1S也可以尋找與外設(shè)卡相關(guān)的硬件和駐留在外設(shè)卡之上的控制器,其中所述外設(shè)卡可包括但不限于PCI卡。B1S指令和/或固件和/或指令通常存儲(chǔ)在計(jì)算機(jī)的閃存內(nèi),所述閃存存儲(chǔ)在某個(gè)位置,當(dāng)計(jì)算機(jī)系統(tǒng)開啟時(shí),所述位置由計(jì)算機(jī)的處理器讀取并處理。當(dāng)計(jì)算機(jī)系統(tǒng)開機(jī)時(shí),所述B1S指令也被初始化。
[0003]進(jìn)一步地,所述計(jì)算機(jī)的閃存也可包括專門用來(lái)檢查系統(tǒng)中的特定硬件的軟件。當(dāng)系統(tǒng)開機(jī)時(shí),所述軟件進(jìn)行上電自檢(POST),以檢查所述計(jì)算機(jī)系統(tǒng)中的硬件。所述處理器也可基于所述閃存中的軟件的指令進(jìn)行冷啟動(dòng)的磁盤驅(qū)動(dòng)器POST和隨機(jī)存取存儲(chǔ)器(RAM)上電自檢(POST);另外,為減少系統(tǒng)的啟動(dòng)時(shí)間,啟動(dòng)過(guò)程中,所述軟件也可指示所述處理器跳過(guò)對(duì)一個(gè)或多個(gè)硬件設(shè)備的POST。
[0004]圖1示出了傳統(tǒng)計(jì)算機(jī)系統(tǒng)的典型啟動(dòng)過(guò)程。如圖1所示,當(dāng)系統(tǒng)開機(jī)時(shí),從B1S處開始啟動(dòng)。B1S進(jìn)行上電自檢(POST)以初始化所有設(shè)備,包括RAM和CPU,以及其他設(shè)備,如鍵盤,顯示器等。若所述系統(tǒng)是一個(gè)多核或多處理器系統(tǒng),將其中一個(gè)CPU確定為啟動(dòng)CPU用以執(zhí)行B1S和內(nèi)核初始化代碼。剩余處理器通常稱為應(yīng)用處理器(AP),其在被操作系統(tǒng)(OS)的內(nèi)核初始化之前都處于空閑狀態(tài)。一旦B1S初始化完成,定位啟動(dòng)設(shè)備,將啟動(dòng)加載程序加載到RAM中,并將控制邏輯傳遞給所述啟動(dòng)加載程序。所述啟動(dòng)加載程序確定啟動(dòng)OS的哪個(gè)內(nèi)核,將確定的OS加載到RAM中并將控制邏輯傳遞給所述確定的OS。當(dāng)OS的內(nèi)核開始執(zhí)行時(shí),其初始化資源和數(shù)據(jù)結(jié)構(gòu),可包括但不限于剩余應(yīng)用處理器的初始化,并最終執(zhí)行用于初始化計(jì)算機(jī)系統(tǒng)所有服務(wù)的初始化腳本。
[0005]傳統(tǒng)意義上講,計(jì)算機(jī)系統(tǒng)通過(guò)使用單個(gè)CPU按順序執(zhí)行啟動(dòng)過(guò)程。為優(yōu)化順序處理的啟動(dòng)時(shí)間,目前可使用各種方法。以下提到幾種現(xiàn)存的優(yōu)化啟動(dòng)時(shí)間的方法:
[0006]1.減小啟動(dòng)/操作系統(tǒng)的大小。
[0007]2.多線程執(zhí)行服務(wù)和/或初始化腳本的至少一個(gè)路線的初始化。
[0008]3.硬件輔助/加速啟動(dòng)步驟使用更快緩存/存儲(chǔ)設(shè)備。
[0009]4.并行執(zhí)行使用多處理器/多核的某些啟動(dòng)步驟。啟動(dòng)處理器/內(nèi)核將B1S的某個(gè)任務(wù)塊調(diào)度到其他內(nèi)核進(jìn)行并行執(zhí)行。啟動(dòng)處理器/內(nèi)核等到/檢測(cè)到其他內(nèi)核完成了它們的任務(wù),繼續(xù)啟動(dòng)過(guò)程。圖2示出了 B1S/初始化腳本的并行化。
[0010]5.快照啟動(dòng)方法。
[0011]雖然上述方法用來(lái)優(yōu)化計(jì)算機(jī)系統(tǒng)的啟動(dòng)時(shí)間,在啟動(dòng)過(guò)程中和減少啟動(dòng)時(shí)間上,這些方法仍然具有耗費(fèi)時(shí)間的巨大缺陷。
[0012]為避免上述缺陷、優(yōu)化啟動(dòng)時(shí)間,“華為技術(shù)有限公司”于2012年在專利申請(qǐng)PCT/CN2013/072764中提出了“具有多個(gè)中央處理器的計(jì)算機(jī)系統(tǒng)的啟動(dòng)方法”(以下簡(jiǎn)稱現(xiàn)有技術(shù))。所述現(xiàn)有技術(shù)中公開了具有多個(gè)中央處理器的計(jì)算機(jī)系統(tǒng)的啟動(dòng)方法,其提供了使用任務(wù)描述圖表(TDC)的整個(gè)啟動(dòng)過(guò)程的并行處理框架。TDC包括使計(jì)算機(jī)系統(tǒng)正常工作而必須執(zhí)行的所有任務(wù)。所述現(xiàn)有技術(shù)公開了整個(gè)啟動(dòng)過(guò)程的完全并行化。PCT/CN2013/072764的現(xiàn)有技術(shù)中,調(diào)度程序取決于目標(biāo)的TDC。實(shí)際調(diào)度發(fā)生在啟動(dòng)期間。任務(wù)調(diào)度期間,檢查優(yōu)先級(jí)、依賴關(guān)系和任務(wù)狀態(tài)。圖3示出了多核/處理器上的并行啟動(dòng)方法。
[0013]雖然現(xiàn)有技術(shù)申請(qǐng)通過(guò)并行執(zhí)行整個(gè)啟動(dòng)過(guò)程來(lái)優(yōu)化啟動(dòng)時(shí)間,所公開的方法仍然存在缺陷。以下提到其中幾種缺陷:
[0014]1.在任務(wù)調(diào)度過(guò)程中對(duì)優(yōu)先級(jí)、依賴關(guān)系和任務(wù)狀態(tài)的檢查增加了系統(tǒng)的性能開銷。
[0015]2.啟動(dòng)時(shí)間內(nèi)任務(wù)量大時(shí)(這一情況通常存在于許多系統(tǒng)中),調(diào)度開銷增大。
[0016]3.調(diào)度發(fā)生在目標(biāo)上,因而增加了啟動(dòng)過(guò)程的開銷。
[0017]4.依賴關(guān)系檢查在目標(biāo)上完成,也增加了啟動(dòng)過(guò)程的開銷。
[0018]5.認(rèn)為目標(biāo)上有內(nèi)存需求,啟動(dòng)過(guò)程管理可能會(huì)增加一定的開銷。
[0019]6.同樣,依賴關(guān)系檢查和在線調(diào)度決策可能會(huì)阻礙內(nèi)核的完全利用。
[0020]雖然優(yōu)化啟動(dòng)過(guò)程時(shí)間的技術(shù)正在增強(qiáng),但仍然需要優(yōu)化具有多個(gè)CPU的計(jì)算機(jī)的啟動(dòng)時(shí)間。相應(yīng)地,一種優(yōu)化的低開銷、啟動(dòng)時(shí)間少的用于啟動(dòng)具有多個(gè)中央處理器(CPUs)的計(jì)算機(jī)的方法和系統(tǒng)是值得擁有的,但還未提供。

【發(fā)明內(nèi)容】

[0021]本
【發(fā)明內(nèi)容】
介紹了低開銷、啟動(dòng)時(shí)間少的用于優(yōu)化具有多個(gè)中央處理器(CPUs)的計(jì)算機(jī)啟動(dòng)時(shí)間的系統(tǒng)及方法相關(guān)的內(nèi)容,下面進(jìn)一步詳細(xì)描述這些內(nèi)容。
[0022]本
【發(fā)明內(nèi)容】
不旨在確定所要求保護(hù)的本發(fā)明的基本特征,也不旨在確定或限定所要求保護(hù)的本發(fā)明的范圍。
[0023]上述問(wèn)題得到了處理,且本發(fā)明技術(shù)方案提供了一種優(yōu)化的低開銷、啟動(dòng)時(shí)間少的用于啟動(dòng)具有多個(gè)中央處理器(CPUs)的計(jì)算機(jī)的方法和系統(tǒng)。
[0024]因此,本發(fā)明的主要目的是提供一種優(yōu)化的低開銷、啟動(dòng)時(shí)間少的用于啟動(dòng)具有多個(gè)中央處理器(CPUs)604的計(jì)算機(jī)的方法和系統(tǒng)。
[0025]相應(yīng)地,本發(fā)明一實(shí)施例公開了一種計(jì)算機(jī)執(zhí)行方法,當(dāng)由多個(gè)CPU的多個(gè)初始化CPU執(zhí)行時(shí),所述計(jì)算機(jī)執(zhí)行方法用于啟動(dòng)具有多個(gè)中央處理器(CPUs)604的計(jì)算機(jī)系統(tǒng)602。所述計(jì)算機(jī)執(zhí)行方法可以響應(yīng)啟動(dòng)指令,所述啟動(dòng)指令在計(jì)算機(jī)系統(tǒng)開機(jī)時(shí)發(fā)起。根據(jù)所述方法,訪問(wèn)存儲(chǔ)在所述計(jì)算機(jī)系統(tǒng)的任務(wù)描述圖表(TDC)。所述訪問(wèn)的TDC可包括啟動(dòng)過(guò)程的多個(gè)任務(wù)的地址信息和選擇信息。所述多個(gè)任務(wù)可包括使計(jì)算機(jī)系統(tǒng)正常工作而必須執(zhí)行的所有任務(wù)。所述訪問(wèn)的TDC的分類是基于TDC中的多個(gè)任務(wù)的依賴關(guān)系。
[0026]對(duì)TDC進(jìn)行分類,以生成一個(gè)獨(dú)立任務(wù)圖表(ITC)和一個(gè)依賴任務(wù)圖表(DTC)。ITC包括獨(dú)立于任何其他任務(wù)的一組任務(wù)。DTC包括對(duì)TDC的任何其他任務(wù)有至少一種依賴關(guān)系的一組任務(wù)。所述方法還包括將DTC分成依賴任務(wù)圖表I (DTC I)和依賴任務(wù)圖表2 (DTC2)。DTC I包括來(lái)自DTC的對(duì)從ITC的一組任務(wù)中選擇的至少一個(gè)任務(wù)有至少一種依賴關(guān)系的一組任務(wù)。DTC 2包括來(lái)自DTC的對(duì)從DTC I的一組任務(wù)中選擇的至少一個(gè)任務(wù)或從DTC 2的一組任務(wù)中選擇的至少一個(gè)任務(wù)有至少一種依賴關(guān)系的一組任務(wù)。
[0027]根據(jù)所述方法,選擇并執(zhí)行所述ITC中的至少一個(gè)任務(wù)。由于所有任務(wù)按優(yōu)先級(jí)排列,基于相對(duì)于ITC中其他任務(wù)的所述任務(wù)的優(yōu)先級(jí)從ITC中選擇至少一個(gè)任務(wù)。檢查所選擇的至少一個(gè)任務(wù)是否已經(jīng)執(zhí)行。若所述任務(wù)之前沒(méi)有執(zhí)行,執(zhí)行所述任務(wù),然后基于優(yōu)先級(jí)從ITC選擇并執(zhí)行下一個(gè)任務(wù)。若所述任務(wù)已經(jīng)執(zhí)行,基于優(yōu)先級(jí)從ITC選擇下一個(gè)任務(wù)。任務(wù)的執(zhí)行狀態(tài)可從狀態(tài)位寄存器中獲取,所述狀態(tài)位寄存器存儲(chǔ)任務(wù)執(zhí)行情況的所有信息。
[0028]當(dāng)ITC中的所有任務(wù)都執(zhí)行后,所述方法從DTC I選擇任務(wù)?;谌蝿?wù)的選擇信息,更具體地講,基于DTC I中任務(wù)的優(yōu)先級(jí)選擇DTC I中的所有任務(wù)。DTC I的優(yōu)先級(jí)是基于DTC I的任務(wù)對(duì)ITC的依賴關(guān)系。所述方法從DTC I選擇至少一個(gè)任務(wù),并檢查所選擇的任務(wù)是否已經(jīng)執(zhí)行。若所述任務(wù)之前沒(méi)有執(zhí)行,執(zhí)行所述任務(wù),然后基于優(yōu)先級(jí)從DTCI選擇并執(zhí)行下一個(gè)任務(wù)。若所述任務(wù)已經(jīng)執(zhí)行,基于優(yōu)先級(jí)從DTC I選擇下一個(gè)任務(wù)。相應(yīng)地,檢查所述狀態(tài)位寄存器來(lái)確定未執(zhí)行的任務(wù)。
[0029]在一種實(shí)現(xiàn)中,DTC I任務(wù)基于優(yōu)先級(jí)排列。DTC I中的任務(wù)只對(duì)ITC中的任務(wù)有依賴關(guān)系。因此,在DTC I任務(wù)的執(zhí)行過(guò)程中,所述任務(wù)按優(yōu)先級(jí)排列,因此,調(diào)度程序可以彈出并執(zhí)行任務(wù)。
[0030]不需要其他的檢查?;诒4嬖跔顟B(tài)寄存器中的位掩碼執(zhí)行所述任務(wù),因此,執(zhí)行速度更快。具體的運(yùn)行方式將在下面的部分進(jìn)行解釋。
[0031]當(dāng)DTC I中的所有任務(wù)都執(zhí)行后,所述方法從DTC 2選擇任務(wù)。基于任務(wù)的選擇信息,更具體地講,基于DTC 2中任務(wù)的優(yōu)先級(jí)選擇DTC 2中的所有任務(wù)。DTC 2的優(yōu)先級(jí)是基于來(lái)自DTC 2的任務(wù)對(duì)DTC I和DTC 2的依賴關(guān)系。所述方法從DTC 2選擇至少一個(gè)任務(wù),并檢查所選擇的任務(wù)是否已經(jīng)執(zhí)行。若所述任務(wù)之前沒(méi)有執(zhí)行,執(zhí)行所述任務(wù),然后基于優(yōu)先級(jí)從DTC 2選擇并執(zhí)行下一個(gè)任務(wù)。若所述任務(wù)已經(jīng)執(zhí)行,基于優(yōu)先級(jí)從DTC 2選擇下一個(gè)任務(wù)。相應(yīng)地,檢查所述狀態(tài)位寄存器來(lái)確定未執(zhí)行的任務(wù)。
[0032]本發(fā)明另一實(shí)施例中公開了一種計(jì)算機(jī)系統(tǒng),當(dāng)由多個(gè)CPU的多個(gè)初始化CPU執(zhí)行時(shí),所述計(jì)算機(jī)系統(tǒng)用于優(yōu)化具有多個(gè)中央處理器(CPUs)604的計(jì)算機(jī)系統(tǒng)602的啟動(dòng)時(shí)間。所述計(jì)算機(jī)系統(tǒng)可以響應(yīng)啟動(dòng)指令,所述啟動(dòng)指令在計(jì)算機(jī)系統(tǒng)開機(jī)時(shí)發(fā)起。當(dāng)由與存儲(chǔ)器耦合的多個(gè)CPU中的多個(gè)初始化CPU執(zhí)行時(shí),所述系統(tǒng)包括多個(gè)中央處理器(CPUs)604。所述存儲(chǔ)器中可存儲(chǔ)多個(gè)指令。所述指令由與所述存儲(chǔ)器耦合的多個(gè)(CPUs)執(zhí)行。根據(jù)所述系統(tǒng),當(dāng)所述指令在啟動(dòng)時(shí)間內(nèi)發(fā)起時(shí),所述多個(gè)中央處理器(CPUs)604訪問(wèn)存儲(chǔ)在計(jì)算機(jī)系統(tǒng)中的任務(wù)描述圖表(TDC)。所述訪問(wèn)的TDC可包括啟動(dòng)過(guò)程的多個(gè)任務(wù)的地址信息和選擇信息。所述多個(gè)任務(wù)可包括使計(jì)算機(jī)系統(tǒng)正常工作而必須執(zhí)行的所有任務(wù)。所述訪問(wèn)的TDC的分類是基于TDC中的多個(gè)任務(wù)的依賴關(guān)系。對(duì)所述訪問(wèn)的TDC進(jìn)行分類,以生成一個(gè)獨(dú)立任務(wù)圖表(ITC)和一個(gè)依賴任務(wù)圖表(DTC)。ITC包括獨(dú)立于任何其他任務(wù)的一組任務(wù)。DTC包括對(duì)TDC的任何其他任務(wù)有至少一種依賴關(guān)系的一組任務(wù)。所述系統(tǒng)進(jìn)一步將DTC分成依賴任務(wù)圖表I (DTC I)和依賴任務(wù)圖表2 (DTC 2)。DTC I包括來(lái)自DTC的對(duì)從ITC的一組任務(wù)中選擇的至少一個(gè)任務(wù)有至少一種依賴關(guān)系的一組任務(wù)。
[0033]DTC 2包括來(lái)自DTC的對(duì)從DTC I的一組任務(wù)中選擇的至少一個(gè)任務(wù)或從DTC 2的一組任務(wù)中選擇的至少一個(gè)任務(wù)有至少一種依賴關(guān)系的一組任務(wù)。
[0034]根據(jù)所述系統(tǒng),選擇并執(zhí)行所述ITC中的至少一個(gè)任務(wù)?;谒鲞x擇信息,更具體地講,基于相對(duì)于ITC中的其他任務(wù)的所述任務(wù)的優(yōu)先級(jí)從ITC選擇所述至少一個(gè)任務(wù)。檢查所選擇的至少一個(gè)任務(wù)是否已經(jīng)執(zhí)行。若所述任務(wù)之前沒(méi)有執(zhí)行,執(zhí)行所述任務(wù),然后基于優(yōu)先級(jí)從ITC選擇并執(zhí)行下一個(gè)任務(wù)。若所述任務(wù)已經(jīng)執(zhí)行,基于優(yōu)先級(jí)從ITC選擇下一個(gè)任務(wù)。任務(wù)的執(zhí)行狀態(tài)可從狀態(tài)位寄存器中獲取,所述狀態(tài)位寄存器存儲(chǔ)任務(wù)執(zhí)行情況的所有信息。
[0035]當(dāng)ITC中的所有任務(wù)都執(zhí)行后,所述系統(tǒng)從DTC I選擇任務(wù)?;谌蝿?wù)的選擇信息,更具體地講,基于DTC I中任務(wù)的優(yōu)先級(jí)選擇DTC I中的所有任務(wù)。DTC I的優(yōu)先級(jí)是基于DTC I的任務(wù)對(duì)ITC的依賴關(guān)系。所述系統(tǒng)從DTC I選擇至少一個(gè)任務(wù),并檢查所選擇的任務(wù)是否已經(jīng)執(zhí)行。若所述任務(wù)之前沒(méi)有執(zhí)行,執(zhí)行所述任務(wù),然后基于優(yōu)先級(jí)從DTCI選擇并執(zhí)行下一個(gè)任務(wù)。若所述任務(wù)已經(jīng)執(zhí)行,基于優(yōu)先級(jí)從DTC I選擇下一個(gè)任務(wù)。相應(yīng)地,檢查所述狀態(tài)位寄存器來(lái)確定未執(zhí)行的任務(wù)。
[0036]當(dāng)DTC I中的所有任務(wù)都執(zhí)行后,所述系統(tǒng)從DTC 2選擇任務(wù)。基于任務(wù)的選擇信息,更具體地講,基于DTC 2中任務(wù)的優(yōu)先級(jí)選擇DTC 2中的所有任務(wù)。DTC 2的優(yōu)先級(jí)是基于來(lái)自DTC 2的任務(wù)對(duì)DTC I和DTC 2的依賴關(guān)系。所述系統(tǒng)從DTC 2選擇至少一個(gè)任務(wù),并檢查所選擇
當(dāng)前第1頁(yè)1 2 3 4 5 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1