新四季網

一種多核cpu的切換方法

2023-07-26 02:31:31

專利名稱:一種多核cpu的切換方法
技術領域:
本發明涉及計算機技術領域,特別涉及一種多核CPU的切換方法。
背景技術:
CPU包括引導處理器BSP、應用處理器AP,是計算機的運算核心和控制核心。對於安裝有兩顆CPU的伺服器主板,假設每顆CPU有四個內核,則兩顆CPU共八個內核,這樣,整個系統就相當於有一個BSP和七個AP。也就是說,所述BSP擔負系統啟動和運行作業系統OS的主要線程,因此BSP有且僅有一個,而AP有無均可。作業系統DOS主要是一種面向磁碟的系統軟體,是人與機器的一座橋梁。DOS是單線程系統,也就是說,在DOS下只能支持單CPU運行,這樣,既無法利用多核CPU的多核特性,也無法對其餘CPU進行查詢測試。

發明內容
本發明的目的在於提供一種多核CPU的切換方法,通過在DOS環境下實現多核CPU的切換,解決了對多核CPU任意操作的技術問題。根據本發明的一個方面,提供的一種多核CPU的切換方法包括中央處理器CPU間的切換步驟,包括:在DOS下,接收來自用戶的含有待切換標識的CPU間切換指令;根據所述CPU間切換指令,保存運行作業系統的第一當前CPU的工作環境參數;將所述CPU間切換指令中待切換標識指定的待切換CPU切換為運行作業系統的第二當前CPU,並控制所述第一當前CPU退出運行狀態,使第二當前CPU按照所保存的第一當前CPU的工作環境參數繼續運行。優選地,所述將所述CPU間切換指令中待切換標識指定的待切換CPU切換為運行作業系統的第二當前CPU的步驟包括:生成用於使所述待切換CPU切換為第二當前CPU的第二處理器內部中斷消息,並發送至所述待切換CPU ;根據所述第二處理器內部中斷消息,將所述待切換CPU的AP切換為BSP,以便所述待切換CPU進入運行狀態。優選地,所述控制所述第一當前CPU退出運行狀態的步驟包括:生成用於使第一當前CPU退出運行狀態的第一處理器內部中斷消息IPI,並發送至所述第一當前CPU ;根據所述第一處理器內部中斷消息,將所述第一當前CPU中的BSP切換為AP,以便退出運行狀態。優選地,所述第一當前CPU的工作環境參數包括代碼段寄存器CS參數和指令寄存器EIP參數,所述第二當前CPU按照所保存的第一當前CPU的工作環境參數繼續運行的步驟包括:
所述第二當前CPU按照所述第一當前CPU的CS參數和EIP參數,分別設置第二當前CPU中BSP的CS參數和EIP參數,使所述第二當前CPU中的BSP按照所設置的CS參數和EIP參數,繼續運行作業系統。優選地,所述方法還包括CPU內多核間的切換步驟,所述CPU的多核包括一個BSP、一個或多個AP,所述切換步驟包括:接收來自用戶的含有待切換標識的CPU內切換指令;根據所述CPU內切換指令,保存運行作業系統的第一當前BSP的工作環境參數,並控制所述第一當前BSP退出運行狀態;將所述CPU內切換指令中待切換標識指定的待切換AP切換為運行作業系統的第二當前BSP,使第二當前BSP按照所保存的第一當前BSP的工作環境參數繼續運行。優選地,所述將所述CPU內切換指令中待切換標識指定的待切換AP切換為運行作業系統的第二當前BSP的步驟包括:生成用於使所述待切換AP切換為第二當前BSP的第四處理器內部中斷消息,並發送至所述待切換AP;根據所述第四處理器內部中斷消息,將所述待切換AP切換為BSP,以便所述待切換AP進入運行狀態。優選地,所述控制所述第一當前BSP退出運行狀態的步驟包括:生成用於使第一當前BSP退出運行狀態的第三處理器內部中斷消息,並發送至所述第一當前BSP ;根據所述第三處理器內部中斷消息,將所述第一當前BSP切換為AP,以便退出運行狀態。優選地,所述第一當前BSP的工作環境參數包括CS參數和EIP參數,所述第二當前BSP按照所保存的第一當前BSP的工作環境參數繼續運行的步驟包括:所述第二當前BSP按照所述第一當前BSP的CS參數和EIP參數,分別設置第二當前BSP的CS參數和EIP參數,使所述當前第二 BSP按照所設置的CS參數和EIP參數,繼續運行作業系統。優選地,所述方法還包括:生成用於讀取BSP中內部寄存器組的第五處理器內部中斷消息,並發送至所述BSP ;根據所述第五處理器內部中斷消息,顯示所述BSP的內部寄存器組,以便用戶查詢和調試。優選地,所述方法還包括:在所述接收來自用戶的含有待切換標識的CPU間切換指令前或CPU切換指令前,生成用於初始化AP的啟動處理器內部中斷消息,並發送至所有AP ;根據收到的所述啟動處理器內部中斷消息,對AP的內部寄存器組進行初始化操作。與現有技術相比較,本發明的有益效果在於:本發明通過在DOS下將任意一個AP切換為運行作業系統的BSP,實現對AP進行任意操作,不僅可以利用多核CPU的多核特性,也可以對其餘CPU進行查詢測試。


圖1是本發明實施例提供的多核CPU間切換流程圖;圖2是本發明實施例提供的多核CPU內切換流程圖;圖3是本發明實施例提供的多核CPU切換系統原理框圖。
具體實施例方式以下結合附圖對本發明的優選實施例進行詳細說明,應當理解,以下所說明的優選實施例僅用於說明和解釋本發明,並不用於限定本發明。圖1是本發明實施例提供的多核CPU間切換流程圖,如圖1所示,步驟包括:步驟101:在磁碟作業系統DOS下,接收來自用戶的含有待切換標識的CPU間切換指令。步驟102:根據所述CPU間切換指令,保存運行作業系統的第一當前CPU的工作環境參數。所述第一當前CPU的工作環境參數包括代碼段寄存器CS參數和指令寄存器EIP參數。具體地說,首先通過高級可編程中斷處理控制器APIC總線對所述當前第一 CPU發出處理器內部中斷IPI,在IPI處理程序中,保存下當前第一CPU的運行場景,例如:EAX, EBX, ECX, EDX, EBP, ESP, CS及EIP,以及相關的APIC寄存器組和MSR寄存器組。步驟103、將所述CPU間切換指令中待切換標識指定的待切換CPU切換為運行作業系統的第二當前CPU,並控制所述第一當前CPU退出運行狀態,使第二當前CPU按照所保存的第一當前CPU的工作環境參數繼續運行。其中,所述控制所述第一當前CPU退出運行狀態的步驟包括:生成用於使第一當前CPU退出運行狀態的第一處理器內部中斷消息(第一 IPI消息),並發送至所述第一當前CPU ;根據所述第一處理器內部中斷消息,將所述第一當前CPU中的引導處理器BSP切換為應用處理器AP,以便退出運行狀態。所述將所述CPU間切換指令中待切換標識指定的待切換CPU切換為運行作業系統的第二當前CPU的步驟包括:生成用於使所述待切換CPU切換為第二當前CPU的第二處理器內部中斷消息,並發送至所述待切換CPU ;根據所述第二處理器內部中斷消息,將所述待切換CPU的AP切換為BSP,以便所述待切換CPU進入運行狀態。所述第二當前CPU按照所保存的第一當前CPU的工作環境參數繼續運行的步驟包括:所述第二當前CPU按照所述第一當前CPU的CS參數和EIP參數,分別設置第二當前CPU中BSP的CS參數和EIP參數,使所述BSP按照所設置的CS參數和EIP參數,繼續運行作業系統。具體地說,首先,根據用戶所設定的欲切換CPU APIC ID,在IPI處理程序中,將第二當前 CPU 的 MSR Register IA32_APIC_BASE (MSR Index:OxlB)位 8 從 O 設定為 I,標誌著第二當前CPU中的一個AP將變成BSP。其次,將第一當前CPU的MSR Register IA32_APIC_BASE (MSR Index:0xlB)位8從I設定為0,標誌著第一當前CPU中的BSP將變成AP。然後,依次將第二當前CPU中所述AP的CS和EIP設成第一當前CPU所設定的CS和EIP。最後,執行遠跳轉指令,跳到CS:EIP處,程序退出到DOS下,實現了 CPU間的切換。進一步地,在所述步驟101前,還包括初始化AP的步驟,所述初始化AP的步驟包括:生成用於初始化AP的啟動處理器內部中斷消息,並發送至所有AP,根據收到的所述啟動處理器內部中斷消息,對AP內部寄存器組進行初始化操作。進一步地,在所述步驟103後,還包括查詢和調試步驟,所述查詢和調試步驟包括:生成用於讀取BSP中內部寄存器組的第五處理器內部中斷消息,並發送至所述BSP,根據所述第五處理器內部中斷消息,顯示所述BSP的內部寄存器組,以供用戶查詢和調試。圖2是本發明實施例提供的多核CPU內切換流程圖,所述CPU的多核包括一個BSP、一個或多個AP,如圖2所示,CPU內多核間的切換步驟包括:步驟201:接收來自用戶的含有待切換標識的CPU內切換指令。步驟202:根據所述CPU內切換指令,保存運行作業系統的第一當前BSP的工作環境參數。其中,所述第一當前BSP的工作環境參數包括代碼段寄存器CS參數和指令寄存器EIP參數。具體地說,首先通過高級可編程中斷處理控制器APIC總線對所述當前第一 BSP發出處理器內部中斷IPI,在IPI處理程序中,保存下當前第一 BSP的運行場景,例如:EAX, EBX, ECX, EDX, EBP, ESP, CS及EIP,以及相關的APIC寄存器組和MSR寄存器組。步驟203:將所述CPU內切換指令中待切換標識指定的待切換AP切換為運行作業系統的第二當前BSP,並控制所述第一當前BSP退出運行狀態,使第二當前BSP按照所保存的第一當前BSP的工作環境參數繼續運行。其中,所述將所述CPU內切換指令中待切換標識指定的待切換AP切換為運行作業系統的第二當前BSP的步驟包括:生成用於使所述待切換AP切換為第二當前BSP的第四處理器內部中斷消息,並發送至所述待切換AP ;根據所述第四處理器內部中斷消息,將所述待切換AP切換為BSP,以便所述待切換AP進入運行狀態。所述控制所述第一當前BSP退出運行狀態的步驟包括:生成用於使第一當前BSP退出運行狀態的第三處理器內部中斷消息,並發送至所述第一當前BSP;根據所述第三處理器內部中斷消息,將所述第一當前BSP切換為AP,以便退出運行狀態。所述第二當前BSP按照所保存的第一當前BSP的工作環境參數繼續運行的步驟包括:所述第二當前BSP按照所述第一當前BSP的CS參數和EIP參數,分別設置第二當前BSP的CS參數和EIP參數,使所述當前第二 BSP按照所設置的CS參數和EIP參數,繼續運行作業系統。具體地說,首先,根據用戶所設定的欲切換CPU APIC ID,在IPI處理程序中,將指定 AP 的 MSR Register IA32_APIC_BASE (MSR Index:0xlB)位 8 從 0 設定為 1,標誌著所述AP將變成第二當前BSP。其次,將第一當前BSP的MSR Register IA32_APIC_BASE (MSRIndex:0xlB)位8從I設定為0,標誌著第一當前BSP將變成AP。然後,依次將第二當前BSP中的CS和EIP設成第一當前BSP所設定的CS和EIP。最後,執行遠跳轉指令,跳到CS = EIP處,程序退出到DOS下,實現了 CPU內多核間的切換。進一步地,在所述步驟201前,還包括初始化AP的步驟,所述初始化AP的步驟包括:生成用於初始化AP的啟動處理器內部中斷消息,並發送至所有AP,根據收到的所述啟動處理器內部中斷消息,對AP內部寄存器組進行初始化操作。進一步地,在所述步驟203後,還包括查詢和調試步驟,所述查詢和調試步驟包括:生成用於讀取第二當前BSP中內部寄存器組的第五處理器內部中斷消息,並發送至所述第二當前BSP,根據所述第五處理器內部中斷消息,顯示所述第二當前BSP的內部寄存器組,以供用戶查詢和調試。通過圖1和圖2可知,本發明能夠對多核CPU進行初始化、自由切換,以及信息讀取。圖3是本發明實施例提供的多核CPU切換系統原理框圖,如圖3所示,多核CPU切換裝置發出用於初始化AP的啟動處理器內部中斷SIPI消息,完成全部AP的初始化,當需要進行多核CPU切換時,多核CPU切換裝置保存BSP工作環境,並切換用戶指定AP作為運行OS的CPU,成功切換AP成為BSP後,就會回到DOS下,此時CPU對OS及應用軟體完全是透明的,從而可以獲得所述指定AP相關的內部寄存器資料,供用戶查驗及測試,例如:EAX、EBX、ECX、EDX、EBP、ESP, CS和EIP,以及APIC寄存器組和MSR寄存器組。所述多核CPU切換系統的工作流程如下:第一步、多核CPU切換裝置利用高級可編程中斷處理控制器APIC總線,發出用於初始化的SIPI消息,所有AP收到SIPI消息後,會執行相應的代碼設定其內部的寄存器完成初始化操作。第二步、初始化完成後,多核CPU切換裝置可根據用戶的需求,先是保存下當前CPU運行的場景,然後發出IPI消息給BSP,將BSP切換為AP,然後再將待切換的AP轉為用於運行OS的BSP。進一步,當所述待切換的AP與所述BSP屬於同一 CPU的內核時,實現CPU內多核間的切換;當所述待切換的AP與所述BSP屬於不同CPU的內核時,實現CPU間的切換。第三步、多核CPU切換裝置也可對指定CPU發出IPI消息,執行提前設定好的AP代碼,將CPU內部的所有寄存器,如MTRR,APIC等,全部輸出到主機屏幕上,方便用戶對CPU內部資料進行查詢調試.
多核CPU切換裝置提供了所有AP的IPI處理程序,這樣在IPI消息或SIPI消息發出後,就會進入到各個AP的IPI處理程序,在AP的IPI處理程序處理完成後,就會回到多核CPU切換裝置的軟體執行點。儘管上文對本發明進行了詳細說明,但是本發明不限於此,本技術領域技術人員可以根據本發明的原理進行各種修改。因此,凡按照本發明原理所作的修改,都應當理解為落入本發明的保護範圍。
權利要求
1.一種多核CPU的切換方法,其特徵在於,包括中央處理器CPU間的切換步驟,包括: 在磁碟作業系統DOS下,接收來自用戶的含有待切換標識的CPU間切換指令; 根據所述CPU間切換指令,保存運行作業系統的第一當前CPU的工作環境參數; 將所述CPU間切換指令中待切換標識指定的待切換CPU切換為運行作業系統的第二當前CPU,並控制所述第一當前CPU退出運行狀態,使第二當前CPU按照所保存的第一當前CPU的工作環境參數繼續運行。
2.根據權利要求1所述的方法,其特徵在於,所述將所述CPU間切換指令中待切換標識指定的待切換CPU切換為運行作業系統的第二當前CPU的步驟包括: 生成用於使所述待切換CPU切換為第二當前CPU的第二處理器內部中斷消息,並發送至所述待切換CPU ; 根據所述第二處理器內部中斷消息,將所述待切換CPU的AP切換為BSP,以便所述待切換CPU進入運行狀態。
3.根據權利要求2所述的方法,其特徵在於,所述控制所述第一當前CPU退出運行狀態的步驟包括: 生成用於使第一當前CPU退出運行狀態的第一處理器內部中斷消息,並發送至所述第一當前CPU; 根據所述第一處理器內部中斷消息,將所述第一當前CPU中的引導處理器BSP切換為應用處理器AP,以便退出運行狀態。
4.根據權利要求3所述的方法,其特徵在於,所述第一當前CPU的工作環境參數包括代碼段寄存器CS參數和指令寄存器EIP參數,所述第二當前CPU按照所保存的第一當前CPU的工作環境參數繼續運行的步驟包括: 所述第二當前CPU按照所述第一當前CPU的CS參數和EIP參數,分別設置第二當前CPU中BSP的CS參數和EIP參數,使所述第二當前CPU中的BSP按照所設置的CS參數和EIP參數,繼續運行作業系統。
5.根據權利要求1-4任意一項所述的方法,其特徵在於,所述方法還包括CPU內多核間的切換步驟,所述CPU的多核包括一個BSP、一個或多個AP,所述切換步驟包括: 接收來自用戶的含有待切換標識的CPU內切換指令; 根據所述CPU內切換指令,保存運行作業系統的第一當前BSP的工作環境參數; 將所述CPU內切換指令中待切換標識指定的待切換AP切換為運行作業系統的第二當前BSP,並控制所述第一當前BSP退出運行狀態,使第二當前BSP按照所保存的第一當前BSP的工作環境參數繼續運行。
6.根據權利要求5所述的方法,其特徵在於,所述將所述CPU內切換指令中待切換標識指定的待切換AP切換為運行作業系統的第二當前BSP的步驟包括: 生成用於使所述待切換AP切換為第二當前BSP的第四處理器內部中斷消息,並發送至所述待切換AP ; 根據所述第四處理器內部中斷消息,將所述待切換AP切換為BSP,以便所述待切換AP進入運行狀態。
7.根據權利要求6所述的方法,其特徵在於,所述控制所述第一當前BSP退出運行狀態的步驟包括:生成用於使第一當前BSP退出運行狀態的第三處理器內部中斷消息,並發送至所述第一當前BSP ; 根據所述第三處理器內部中斷消息,將所述第一當前BSP切換為AP,以便退出運行狀態。
8.根據權利要求7所述的方法,其特徵在於,所述第一當前BSP的工作環境參數包括CS參數和EIP參數,所述第二當前BSP按照所保存的第一當前BSP的工作環境參數繼續運行的步驟包括: 所述第二當前BSP按照所述第一當前BSP的CS參數和EIP參數,分別設置第二當前BSP的CS參數和EIP參數,使所述當前第二 BSP按照所設置的CS參數和EIP參數,繼續運行作業系統。
9.根據權利要求6-8任意一項所述的方法,其特徵在於,所述方法還包括: 生成用於讀取BSP中內部寄存器組的第五處理器內部中斷消息,並發送至所述BSP ; 根據所述第五處理器內部中斷消息,顯示所述BSP的內部寄存器組,以供用戶查詢和調試。
10.根據權利要求9所述的方法,其特徵在於,所述方法還包括: 在所述接收來自用戶的含有 待切換標識的CPU間切換指令前或CPU切換指令前,生成用於初始化AP的啟動處理器內部中斷消息,並發送至所有AP ; 根據收到的所述啟動處理器內部中斷消息,對AP內部寄存器組進行初始化操作。
全文摘要
本發明公開了一種多核CPU的切換方法,包括中央處理器CPU間的切換步驟,所述切換步驟包括在磁碟作業系統DOS下,接收來自用戶的含有待切換標識的CPU間切換指令;根據所述CPU間切換指令,保存運行作業系統的第一當前CPU的工作環境參數;將所述CPU間切換指令中待切換標識指定的待切換CPU切換為運行作業系統的第二當前CPU,並控制所述第一當前CPU退出運行狀態,使第二當前CPU按照所保存的第一當前CPU的工作環境參數繼續運行。本發明能夠在DOS下對多核CPU進行初始化,並可進行自由切換,獲取多核CPU的信息。
文檔編號G06F9/46GK103197959SQ20131011975
公開日2013年7月10日 申請日期2013年4月8日 優先權日2013年4月8日
發明者鄭紅文 申請人:合肥聯寶信息技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀