欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于多核處理器的系統(tǒng)管理中斷處理的制作方法

文檔序號:9602487閱讀:867來源:國知局
用于多核處理器的系統(tǒng)管理中斷處理的制作方法
【專利說明】
【背景技術(shù)】
[0001]計(jì)算機(jī)處理器通常提供了幾種操作模式。用于普通代碼(諸如操作系統(tǒng)、用戶應(yīng)用等)的操作模式通常包含實(shí)時模式(其中處理器使用物理存儲器地址)和保護(hù)模式(其中處理器使用虛擬化存儲器地址)。處理器可提供附加模式,諸如用于尋址大地址空間的長模式。
[0002]某些處理器提供了用于處理由計(jì)算平臺的硬件組件生成的某些中斷(稱為系統(tǒng)管理中斷(SMI))的特殊操作模式(稱為系統(tǒng)管理模式(SMM))。在檢測到SMI時,此類處理器通過保存其當(dāng)前狀態(tài)并然后進(jìn)入SMM來暫停執(zhí)行。在SMM內(nèi)部,處理器執(zhí)行SMI處理機(jī)代碼。此類SMI處理機(jī)代碼可執(zhí)行諸如錯誤處理、功率管理、平臺閃存更新、系統(tǒng)管理任務(wù)等的任務(wù)。在完成后,SMI處理機(jī)代碼執(zhí)行重新開始指令(RSM),使處理器重新加載其保存的狀態(tài),并重新開始執(zhí)行先前的操作模式。接收SM1、進(jìn)入SMM和SMI處理機(jī)的操作從而對在處理器上執(zhí)行的其它代碼(包含操作系統(tǒng)代碼)是透明的。
[0003]某些多核處理器可通過向所有處理器核廣播SMI來處理SMI。在接收到SMI并進(jìn)入SMM后,每個處理器核可競爭以變成負(fù)責(zé)處理SMI的主核。此類主核經(jīng)常稱為“君主(monarch) ”或“自舉(boot strap)處理器”。主核在處理SMI之前等待另一附屬核(有時稱為“應(yīng)用處理器”)進(jìn)入SMM。當(dāng)主核處理SMI時,附屬核在等待循環(huán)中空閑。從而,SMI處理機(jī)代碼可以是單線程的,甚至當(dāng)在多核處理器上執(zhí)行時。
[0004]典型處理器還包含機(jī)器檢查架構(gòu)。此類機(jī)器檢查架構(gòu)是檢測處理器或計(jì)算機(jī)平臺中硬件錯誤(機(jī)器檢查異常)并警告操作系統(tǒng)的低級機(jī)制。一些機(jī)器檢查異常可在硬件中糾正或由操作系統(tǒng)糾正;未糾正的機(jī)器檢查異常一般是致命錯誤,并且可導(dǎo)致操作系統(tǒng)崩潰(例如“停止錯誤”、“內(nèi)核恐慌”、“藍(lán)屏”等)。
【附圖說明】
[0005]本文描述的概念在附圖中作為示例而非作為限制圖示。為了圖示的簡潔和清晰起見,在附圖中圖示的元件不一定按比例繪制。在視為合適的地方,附圖標(biāo)記在各圖之間已經(jīng)被重復(fù)以指示對應(yīng)或類似元件。
[0006]圖1是用于處理系統(tǒng)管理中斷的計(jì)算裝置的至少一個實(shí)施例的簡化框圖;
圖2是圖1的計(jì)算裝置的環(huán)境的至少一個實(shí)施例的簡化框圖;
圖3是可由圖1和圖2的計(jì)算裝置執(zhí)行的用于處理系統(tǒng)管理中斷的方法的至少一個實(shí)施例的簡化流程圖;
圖4是可由圖1和圖2的計(jì)算裝置執(zhí)行的用于主SMI處理機(jī)的方法的至少一個實(shí)施例的簡化流程圖;
圖5是可由圖1和圖2的計(jì)算裝置執(zhí)行的用于附屬SMI處理機(jī)的方法的至少一個實(shí)施例的簡化流程圖;以及圖6是可在典型處理器中發(fā)生的掛起條件的示意時間線圖。
【具體實(shí)施方式】
[0007]雖然本公開的概念易受到各種修改和備選形式,但其特定實(shí)施例已經(jīng)在附圖中作為示例示出,并且將在本文中詳細(xì)描述。然而,應(yīng)該理解,沒有意圖將本公開的概念局限于所公開的具體形式,而是相反,本發(fā)明將覆蓋與本公開和所附權(quán)利要求書一致的所有修改、等同物和備選。
[0008]在說明書中提到“一個實(shí)施例”、“實(shí)施例”、“說明性實(shí)施例”等指示所描述的實(shí)施例可包含具體特征、結(jié)構(gòu)或特性,但每一個實(shí)施例可以或者可以不必然包含該具體特征、結(jié)構(gòu)或特性。而且,此類短語不一定是指同一實(shí)施例。進(jìn)一步說,當(dāng)結(jié)合實(shí)施例描述具體特征、結(jié)構(gòu)或特性,認(rèn)為結(jié)合不管是否明確描述的其它實(shí)施例實(shí)現(xiàn)此類特征、結(jié)構(gòu)或特性在本領(lǐng)域技術(shù)人員的知識內(nèi)。
[0009]所公開的實(shí)施例在一些情況下可用硬件、固件、軟件或它們的任何組合來實(shí)現(xiàn)。所公開的實(shí)施例也可實(shí)現(xiàn)為由易失性或非易失性機(jī)器可讀(例如計(jì)算機(jī)可讀)介質(zhì)攜帶或存儲在其上的指令,所述指令可由一個或多個處理器讀取和執(zhí)行。機(jī)器可讀存儲介質(zhì)可實(shí)施為用于存儲或傳送由機(jī)器(例如易失性或非易失性存儲器、媒體盤或其它媒體裝置)可讀形式的信息的任何存儲裝置、機(jī)制或其它物理結(jié)構(gòu)。
[0010]在附圖中,一些結(jié)構(gòu)或方法特征可按特定布置和/或排序示出。然而,應(yīng)該認(rèn)識至IJ,可能不需要此類特定布置和/或排序。而是,在一些實(shí)施例中,此類特征可按與在說明性附圖中示出的不同的方式和/或次序布置。此外,在具體附圖中包含結(jié)構(gòu)或方法特征不打算暗示此類特征在所有實(shí)施例中都需要,并且在一些實(shí)施例中,可能不包含或者可與其它特征組合。
[0011]現(xiàn)在參考圖6,當(dāng)由于稱為“SMI合并”的現(xiàn)象而接連生成多個SMI時,典型的多核處理器可停止執(zhí)行或“掛起”。示意圖600圖示了 SMI合并問題。區(qū)域602和604圖示了處理器操作模式。具體地說,區(qū)域602圖示了保護(hù)模式,并且區(qū)域604圖示了 SMM。當(dāng)然,可使用長模式、真實(shí)模式或另一普通操作模式代替保護(hù)模式。線程606和608被圖示為初始執(zhí)行在保護(hù)模式602中。在時間段610期間,SMI源生成SMI 612,其被廣播給兩個線程606、608。對于每個線程設(shè)置SMI未決標(biāo)記。在時間段610與614之間的邊界,線程608進(jìn)入SMM604。當(dāng)線程608進(jìn)入SMM時,自動清除線程608的SMI未決標(biāo)記。在此時,線程606正在執(zhí)行較長指令,并且保持在保護(hù)模式602中。在時間段614期間,SMI源生成SMI 616,其被廣播給兩個線程606和608。對于每個線程606、608再次設(shè)置SMI未決標(biāo)記。因?yàn)閷τ诰€程606已經(jīng)設(shè)置SMI未決標(biāo)記,所以對于線程606,SMI 612和SMI 616已經(jīng)有效地合并在一起。在時間段614與618之間的邊界,線程606進(jìn)入SMM 604,自動清除用于線程606的SMI未決標(biāo)記。因?yàn)榫€程608已經(jīng)在SMM中,所以線程608的SMI未決位保持設(shè)置。在時間段618期間,線程608執(zhí)行SMI處理機(jī),其處理所有未決SMI,包含SMI 612和SMI 616。在時間段618與620之間的邊界,線程606、608執(zhí)行RSM指令622,并且返回到保護(hù)模式602。在時間段620期間,線程608立即返回到SMM 604,因?yàn)榫€程608的SMI未決位仍被設(shè)置。然而,線程606保持在保護(hù)模式602中,因?yàn)槲磳τ诰€程606設(shè)置SMI未決位。從而,線程608基于寄生SMI進(jìn)入SMM 604。在時間段624期間,線程608閑置地等待線程606進(jìn)入SMM 604,其將不發(fā)生而沒有超時、處理器間中斷等。從而,由于SMI合并,線程606、608不同步并且執(zhí)行可停止。
[0012]現(xiàn)在參考圖1,用于處理SMI的說明性計(jì)算裝置100包含多核處理器102和I/O子系統(tǒng)104,它們都可生成SMI。在接收到SMI時,處理器102指定主處理器核,其開始處理SMI而不等待其它處理器核進(jìn)入SMM。主處理器核可引導(dǎo)每一個其它處理器核處理從其它處理器核始發(fā)的那些SMI。處理器102可通過檢測寄生SMI并快速重新開始執(zhí)行來避免SMI合并問題,如下面詳細(xì)討論的。
[0013]通過發(fā)起SMI的處理而不等待其它處理器核進(jìn)入SMM,處理器102減少了處理SMI的等待時間,并隨著核的計(jì)數(shù)的增大而增大SMI處理的可縮放性。引導(dǎo)其它處理器核處理SMI允許處理從具體處理器核始發(fā)的SMI,因?yàn)榕c此類SMI相關(guān)的信息僅在始發(fā)SMI的處理器核中可用。檢測寄生SMI進(jìn)一步減少了等待時間,并改進(jìn)了 SMI處理的可縮放性。此類改進(jìn)的等待時間和可縮放性可允許機(jī)器檢查異常的基于SMI的處理。
[0014]計(jì)算裝置100可被實(shí)施為能夠執(zhí)行本文描述的功能的任何類型裝置。例如,計(jì)算裝置100可實(shí)施為但不限于計(jì)算機(jī)、智能電話、平板計(jì)算機(jī)、膝上型計(jì)算機(jī)、筆記本計(jì)算機(jī)、臺式計(jì)算機(jī)、工作站、移動計(jì)算裝置、蜂窩電話、手機(jī)、消息傳遞裝置、車載信息處理裝置、網(wǎng)絡(luò)器具、web器具、分布式計(jì)算系統(tǒng)、多處理器系統(tǒng)、基于處理器的系統(tǒng)、消費(fèi)電子裝置、數(shù)字電視裝置和/或配置成處理系統(tǒng)管理中斷的任何其它計(jì)算裝置。如圖1中所示,說明性計(jì)算裝置100包含處理器102、I/O子系統(tǒng)104、存儲器106和數(shù)據(jù)存儲裝置110。當(dāng)然,在其它實(shí)施例中,計(jì)算裝置100可包含其它或附加組件,諸如在臺式計(jì)算機(jī)中發(fā)現(xiàn)的組件(例如各種輸入/輸出裝置)。此外,在一些實(shí)施例中,說明性組件中的一個或多個可結(jié)合在另一組件中,或另外來自另一組件的一部分。例如,在一些實(shí)施例中,存儲器106或其部分可結(jié)合在處理器102中。
[0015]處理器102可實(shí)施為能夠執(zhí)行本文描述的功能的任何類型的多核處理器。例如,處理器102可實(shí)施為微處理器、數(shù)字信號處理器、微控制器或其它處理器或處理/控制電路。處理器102包含處理器核120和非核140。每一個處理器核120是能夠執(zhí)行編程指令的獨(dú)立處理單元。說明性處理器102包含四個處理器核120a至120d ;然而,可包含任何數(shù)量的處理器核120。
[0016]非核140包含未包含在處理器核120中的處理器102的任何部分,諸如例如存儲器控制器。說明性處理器102的非核140包含SMI狀態(tài)寄存器142。SMI狀態(tài)寄存器142是由每一個處理器核120可尋址的存儲器位置。SMI狀態(tài)寄存器142包含SMI服務(wù)未決標(biāo)記144。當(dāng)檢測到SMI時,SMI服務(wù)未決標(biāo)記144由處理器102的硬件設(shè)置。SMI服務(wù)未決標(biāo)記144也可由在處理器核120上執(zhí)行的軟件清除。當(dāng)設(shè)置時,SMI服務(wù)未決標(biāo)記144可含有任何邏輯值;例如,當(dāng)設(shè)置時,SMI服務(wù)未決標(biāo)記144可含有邏輯高值、邏輯低值、零值或非零值。在一些實(shí)施例中,SMI服務(wù)未決標(biāo)記144可實(shí)現(xiàn)為SMI狀態(tài)寄存器142的一個位。備選地,SMI服務(wù)未決標(biāo)記144可以是獨(dú)立寄存器。非核140進(jìn)一步包含高速緩沖存儲器146,并且非核140的一些實(shí)施例可包含存儲器控制器148。高速緩沖存儲器146可以是由處理器核120共享的最后一級高速緩存。在操作期間,高速緩沖存儲器146和存儲器控制器148可生成要由處理器102處理的SMI。盡管未圖示,但非核140此外可包含處理器或片上系統(tǒng)的典型組件,諸如圖形處理器、輸入/輸出控制器或功率管理電路。
[0017]處理器102以通信方式耦合到I/O子系統(tǒng)104,I/O子系統(tǒng)104可實(shí)施為電路和/或組件以便于與計(jì)算裝置100的處理器102、存儲器106和/或其它組件的輸入/輸出操作。例如,I/o子系統(tǒng)104可實(shí)施為或以其他方式包含存儲器控制器集線器、平臺控制器集線器、輸入/輸出控制集線器、固件裝置、通信鏈路(即,點(diǎn)對點(diǎn)鏈路、總線鏈路、導(dǎo)線、電纜、光導(dǎo)、印刷電路板跡線等)和/或其它組件和子系統(tǒng)以便于輸入/輸出操作。I/O子系統(tǒng)104可生成SMI,或轉(zhuǎn)發(fā)從計(jì)算裝置100的其它組件接收的SMI。I/O子系統(tǒng)104可通過斷言處理器102的物理輸入管腳上的電信號將SMI傳遞
當(dāng)前第1頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
湘潭市| 丹棱县| 龙胜| 新平| 阳信县| 宁河县| 城步| 广灵县| 广丰县| 多伦县| 陇川县| 高台县| 华池县| 清水河县| 德钦县| 西乌珠穆沁旗| 蚌埠市| 子长县| 甘肃省| 正镶白旗| 成安县| 轮台县| 方山县| 宁都县| 堆龙德庆县| 右玉县| 桂林市| 平陆县| 郎溪县| 无为县| 谢通门县| 兴文县| 长寿区| 桂阳县| 锡林浩特市| 乌苏市| 石林| 弥勒县| 天气| 波密县| 宁阳县|