亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

中斷信息的處理方法、虛擬機(jī)監(jiān)控器及中斷控制器的制造方法

文檔序號(hào):9579124閱讀:533來(lái)源:國(guó)知局
中斷信息的處理方法、虛擬機(jī)監(jiān)控器及中斷控制器的制造方法
【專利說(shuō)明】
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息處理技術(shù),尤其涉及一種中斷信息的處理方法、虛擬機(jī)監(jiān)控器及中斷控制器。
【【背景技術(shù)】】
[0002]現(xiàn)有技術(shù)中,計(jì)算機(jī)的中央處理器(Central Processing Unit, CPU)在虛擬機(jī)監(jiān)控器模式下,該CPU作為虛擬機(jī)監(jiān)控器向虛擬機(jī)注入中斷信息的方法是:寄存器的指針可以指向不同的中斷向量表的地址,若該指針指向虛擬機(jī)監(jiān)控器對(duì)應(yīng)的中斷向量表的地址,則虛擬機(jī)監(jiān)控器可以使用該中斷向量表中包含的中斷處理函數(shù),若該指針指向虛擬機(jī)對(duì)應(yīng)的中斷向量表的地址,則虛擬機(jī)可以使用該中斷向量表中包含的中斷處理函數(shù),若該指針指向計(jì)算機(jī)的操作系統(tǒng)對(duì)應(yīng)的中斷向量表的地址,則計(jì)算機(jī)的操作系統(tǒng)可以使用該中斷向量表中包含的中斷處理函數(shù)。當(dāng)虛擬機(jī)正在運(yùn)行時(shí),虛擬機(jī)調(diào)用中斷向量表中的中斷處理函數(shù)對(duì)中斷信息進(jìn)行處理,若虛擬機(jī)監(jiān)控器需要向該虛擬機(jī)注入中斷信息,虛擬機(jī)需要先停止運(yùn)行,退出調(diào)用中斷向量表中的中斷處理函數(shù),然后寄存器的指針指向虛擬機(jī)監(jiān)控器對(duì)應(yīng)的中斷向量表的地址,使得虛擬機(jī)監(jiān)控器可以調(diào)用該中斷向量表中的中斷處理函數(shù),以實(shí)現(xiàn)向虛擬機(jī)注入中斷信息。
[0003]然而,由于虛擬機(jī)控制器每次向虛擬機(jī)注入一個(gè)中斷信息,都要發(fā)生上述虛擬機(jī)的退出事件,因此,虛擬機(jī)控制器一次只能向虛擬機(jī)注入一個(gè)中斷信息,當(dāng)中斷信息數(shù)量較大時(shí),將引發(fā)過(guò)多的虛擬機(jī)退出事件,增加了額外的性能開銷,導(dǎo)致中斷信息的處理效率較低。

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

[0004]本發(fā)明實(shí)施例提供了一種中斷信息的處理方法、虛擬機(jī)監(jiān)控器及中斷控制器,以實(shí)現(xiàn)提高中斷信息的處理效率。
[0005]第一方面,本發(fā)明實(shí)施例提供了一種中斷信息的處理方法,所述方法應(yīng)用于包括中斷控制器、虛擬機(jī)監(jiān)控器、特定寄存器和至少一個(gè)虛擬機(jī)的系統(tǒng),其中,所述中斷控制器包括至少一個(gè)虛擬CPU中斷接口,所述特定寄存器中存儲(chǔ)虛擬機(jī)監(jiān)控器中斷向量表,所述虛擬機(jī)監(jiān)控器中斷向量表包括用于虛擬機(jī)監(jiān)控器調(diào)用的中斷處理函數(shù),所述中斷處理函數(shù)中包含中斷號(hào);包括:
[0006]所述虛擬機(jī)監(jiān)控器接收Q個(gè)第一中斷信息,Q為大于或者等于I的整數(shù);
[0007]所述虛擬機(jī)監(jiān)控器依據(jù)每個(gè)所述第一中斷信息的中斷號(hào),從所述特定寄存器中獲得對(duì)應(yīng)的中斷處理函數(shù);
[0008]所述虛擬機(jī)監(jiān)控器調(diào)用獲得的所述中斷處理函數(shù),以獲得M個(gè)第二中斷信息,所述M個(gè)第二中斷信息為所述Q個(gè)第一中斷信息中需要發(fā)送給虛擬機(jī)對(duì)應(yīng)的處理器的中斷信息;M為小于或者等于Q的正整數(shù);
[0009]所述虛擬機(jī)監(jiān)控器獲得所述M個(gè)第二中斷信息對(duì)應(yīng)的虛擬機(jī)的標(biāo)識(shí);
[0010]所述虛擬機(jī)監(jiān)控器向所述虛擬CPU中斷接口寫入所述M個(gè)第二中斷信息以及所述M個(gè)第二中斷信息對(duì)應(yīng)的虛擬機(jī)的標(biāo)識(shí),以便于所述虛擬CPU中斷接口在確定所述M個(gè)第二中斷信息對(duì)應(yīng)的虛擬機(jī)運(yùn)行后,向所述M個(gè)第二中斷信息對(duì)應(yīng)的虛擬機(jī)對(duì)應(yīng)的處理器發(fā)送所述M個(gè)第二中斷信息。
[0011]在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述虛擬機(jī)監(jiān)控器向所述虛擬CPU中斷接口寫入所述M個(gè)第二中斷信息以及所述M個(gè)第二中斷信息對(duì)應(yīng)的虛擬機(jī)的標(biāo)識(shí),包括:
[0012]所述虛擬機(jī)監(jiān)控器對(duì)所述M個(gè)第二中斷信息進(jìn)行緩存;
[0013]所述虛擬機(jī)監(jiān)控器檢測(cè)所述虛擬CPU中斷接口中當(dāng)前存儲(chǔ)的第三中斷信息的數(shù)目K,K為大于或等于O的整數(shù);
[0014]所述虛擬機(jī)監(jiān)控器依據(jù)所述第三中斷信息的數(shù)目K和預(yù)設(shè)的所述虛擬CPU中斷接口的中斷數(shù)目閾值P,從所述M個(gè)第二中斷信息中獲得優(yōu)先級(jí)最高的N個(gè)第二中斷信息,P為大于或等于I的整數(shù),N小于或等于P與K的差值;
[0015]所述虛擬機(jī)監(jiān)控器向所述虛擬CPU中斷接口寫入所述N個(gè)第二中斷信息和所述N個(gè)第二中斷信息對(duì)應(yīng)的虛擬機(jī)的標(biāo)識(shí),N小于或等于P與K的差值。
[0016]結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,每個(gè)所述虛擬CPU中斷接口包括第一寄存器和第二寄存器;所述虛擬機(jī)監(jiān)控器向所述虛擬CPU中斷接口寫入所述N個(gè)第二中斷信息和所述N個(gè)第二中斷信息對(duì)應(yīng)的虛擬機(jī)的標(biāo)識(shí),包括:
[0017]所述虛擬機(jī)監(jiān)控器向所述第一寄存器寫入所述N個(gè)第二中斷信息,以使得所述第一寄存器按照優(yōu)先級(jí)由高到低的順序?qū)λ鯪個(gè)第二中斷信息進(jìn)行排序,以獲得排序結(jié)果,以及依據(jù)所述排序結(jié)果,將所述N個(gè)第二中斷信息中優(yōu)先級(jí)最高的R個(gè)第二中斷信息寫入所述第二寄存器,所述R個(gè)第二中斷信息用于所述虛擬CPU中斷接口在確定所述虛擬機(jī)的標(biāo)識(shí)對(duì)應(yīng)的虛擬機(jī)運(yùn)行后,向所述虛擬機(jī)對(duì)應(yīng)的處理器發(fā)送所述R個(gè)第二中斷信息,R為小于或等于N的正整數(shù)。
[0018]在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述虛擬機(jī)監(jiān)控器調(diào)用獲得的所述中斷處理函數(shù),以獲得M個(gè)第二中斷信息,包括:
[0019]所述虛擬機(jī)監(jiān)控器調(diào)用獲得的所述中斷處理函數(shù),以使得被調(diào)用的所述中斷處理函數(shù)開始運(yùn)行,以及檢測(cè)每個(gè)所述第一中斷信息對(duì)應(yīng)的操作位置和每個(gè)所述虛擬機(jī)的位置信息,以獲得所述操作位置位于所述虛擬機(jī)的位置信息內(nèi)的M個(gè)所述第一中斷信息;
[0020]所述虛擬機(jī)監(jiān)控器將獲得的M個(gè)所述第一中斷信息作為所述M個(gè)第二中斷信息。
[0021]第二方面,本發(fā)明實(shí)施例還提供了一種中斷信息的處理方法,所述方法應(yīng)用于包括中斷控制器和一個(gè)虛擬機(jī)的系統(tǒng),其中,所述中斷控制器包括一個(gè)虛擬CPU中斷接口和中斷響應(yīng)單元;包括:
[0022]所述中斷響應(yīng)單元接收物理設(shè)備發(fā)送的Q個(gè)第一中斷信息,Q為大于或者等于I的整數(shù);
[0023]所述中斷響應(yīng)單元向所述虛擬CPU中斷接口寫入所述Q個(gè)中斷信息,以使得所述虛擬CPU中斷接口在確定所述虛擬機(jī)運(yùn)行后,向所述虛擬機(jī)對(duì)應(yīng)的處理器發(fā)送所述Q個(gè)中斷息。
[0024]在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述虛擬CPU中斷接口包括第一寄存器和第二寄存器;所述中斷響應(yīng)單元向所述虛擬CPU中斷接口寫入所述Q個(gè)中斷信息,包括:
[0025]所述中斷響應(yīng)單元向所述第一寄存器寫入所述Q個(gè)中斷信息,以使得所述第一寄存器按照優(yōu)先級(jí)由高到低的順序?qū)λ鯭個(gè)中斷信息進(jìn)行排序,以獲得排序結(jié)果,以及依據(jù)所述排序結(jié)果,將所述Q個(gè)中斷信息中優(yōu)先級(jí)最高的R個(gè)中斷信息寫入所述第二寄存器,所述R個(gè)中斷信息用于所述虛擬CPU中斷接口在確定所述虛擬機(jī)運(yùn)行后,向所述虛擬機(jī)對(duì)應(yīng)的處理器發(fā)送所述R個(gè)中斷信息,R為小于或等于N的正整數(shù)。
[0026]第三方面,本發(fā)明實(shí)施例提供了一種虛擬機(jī)監(jiān)控器,應(yīng)用于包括中斷控制器、所述虛擬機(jī)監(jiān)控器、特定寄存器和至少一個(gè)虛擬機(jī)的系統(tǒng),其中,所述中斷控制器包括至少一個(gè)虛擬CPU中斷接口,所述特定寄存器中存儲(chǔ)虛擬機(jī)監(jiān)控器中斷向量表,所述虛擬機(jī)監(jiān)控器中斷向量表包括用于虛擬機(jī)監(jiān)控器調(diào)用的中斷處理函數(shù),所述中斷處理函數(shù)中包含中斷號(hào);包括:
[0027]接收器,用于接收Q個(gè)第一中斷信息,Q為大于或者等于I的整數(shù);
[0028]虛擬中斷控制器,用于依據(jù)每個(gè)所述第一中斷信息的中斷號(hào),從所述特定寄存器中獲得對(duì)應(yīng)的中斷處理函數(shù);
[0029]所述虛擬中斷控制器,還用于調(diào)用獲得的所述中斷處理函數(shù),以獲得M個(gè)第二中斷信息,所述M個(gè)第二中斷信息為所述Q個(gè)第一中斷信息中需要發(fā)送給虛擬機(jī)對(duì)應(yīng)的處理器的中斷信息;M為小于或者等于Q的正整數(shù);
[0030]所述虛擬中斷控制器,還用于獲得所述M個(gè)第二中斷信息對(duì)應(yīng)的虛擬機(jī)的標(biāo)識(shí);
[0031]所述虛擬中斷控制器,還用于向所述虛擬CPU中斷接口寫入所述M個(gè)第二中斷信息以及所述M個(gè)第二中斷信息對(duì)應(yīng)的虛擬機(jī)的標(biāo)識(shí),以便于所述虛擬CPU中斷接口在確定所述M個(gè)第二中斷信息對(duì)應(yīng)的虛擬機(jī)運(yùn)行后,向所述M個(gè)第二中斷信息對(duì)應(yīng)的虛擬機(jī)對(duì)應(yīng)的處理器發(fā)送所述M個(gè)第二中斷信息。
[0032]在第三方面的第一種可能的實(shí)現(xiàn)方式中,所述虛擬中斷控制器具體用于:
[0033]對(duì)所述M個(gè)第二中斷信息進(jìn)行緩存;
[0034]檢測(cè)所述虛擬CPU中斷接口中當(dāng)前存儲(chǔ)的第三中斷信息的數(shù)目K,K為大于或等于O的整數(shù);
[0035]依據(jù)所述第三中斷信息的數(shù)目K和預(yù)設(shè)的所述虛擬CPU中斷接口的中斷數(shù)目閾值P,從所述M個(gè)第二中斷信息中獲得優(yōu)先級(jí)最高的N個(gè)第二中斷信息,P為大于或等于I的整數(shù),N小于或等于P與K的差值;
[0036]向所述虛擬CPU中斷接口寫入所述N個(gè)第二中斷信息和所述N個(gè)第二中斷信息對(duì)應(yīng)的虛擬機(jī)的標(biāo)識(shí),N小于或等于P與K的差值。
[0037]結(jié)合第三方面的第一種可能的實(shí)現(xiàn)方式,在第三方面的第二種可能的實(shí)現(xiàn)方式中,每個(gè)所述虛擬CPU中斷接口包括第一寄存器和第二寄存器;所述向所述虛擬CPU中斷接口寫入所述N個(gè)第二中斷信息和所述N個(gè)第二中斷
當(dāng)前第1頁(yè)1 2 3 4 5 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1