本發明專利技術實施例提供一種增加虛擬機標識符域的方法及裝置,通過利用虛擬地址空間段中虛擬地址位的若干高位比特位作為虛擬機標識符域VPID域,實現了在不增加轉換旁視緩沖器TLB表項長度的情況下,在TLB表項中增加VPID域,以避免不同TLB表項的索引地址發生重復。相比于現有技術,本發明專利技術實施例提供的增加虛擬機標識符域的方法不需要增加TLB表項的長度,邏輯實現簡單,對處理器改動小,降低了TLB的設計復雜度。
【技術實現步驟摘要】
增加虛擬機標識符域的方法及裝置
本專利技術實施例涉及云計算技術,尤其涉及一種增加虛擬機標識符域的方法及裝置。
技術介紹
隨著云計算的應用,系統虛擬化得到了越來越快的發展,越來越多的架構嘗試著增加虛擬化的支持,除了X86架構之外,單字長定點指令平均執行速度(MillionInstructionsPerSecond,簡稱MIPS)架構也提出了MIPS架構上相應的硬件輔助虛擬化規范。轉換旁視緩沖器(TranslationLookasideBuffer,簡稱TLB)用于實現虛擬地址到物理地址轉換的關鍵部件。TLB各個表項都實現了虛擬地址到物理地址的轉換。TLB表項是內容相關聯且需要用索引地址進行索引,不同表項的索引地址不能相同。由于操作系統的不同進程可能使用相同的虛擬地址,因此通常在TLB表項中增加地址空間描述符(ASID)域,ASID和虛擬地址一起構成索引地址,以保證各TLB表項的索引地址不相同。然而,不同的虛擬機可能會使用相同的ASID和相同的虛擬地址,造成兩個或以上不同TLB表項的索引地址重復。為避免不同表項的索引地址重復,現有技術通過延長TLB表項的長度,并在延長后的TLB表項中新增虛擬機標識符(VPID,virtualprocessoridentifier)域,VPID作用是為了讓不同虛擬機的相同虛擬地址(包括相同的ASID)能同時存在于一個物理TLB中。其中,VPID是硬件輔助虛擬化的重要組成部分。但是,由于現有技術中是通過延長TLB表項的長度來避免不同表項的索引地址重復,因此,增加了TLB的設計復雜度。
技術實現思路
本專利技術實施例提供一種增加虛擬機標識符域的方法及裝置,在TLB表項中增加VPID域的同時,降低了TLB的設計復雜度。第一方面,本專利技術實施例提供一種增加虛擬機標識符域的方法,其中,所述方法包括:在將虛擬機任務的虛擬地址寫入所述虛擬機任務對應的轉換旁視緩沖器表項的虛擬地址空間段時,獲取寄存器中存儲的掩碼域的各比特位的值及虛擬機標識符域的各比特位的值;其中,所述掩碼域的長度與所述虛擬機標識符域的長度均為L;所述掩碼域的低位至高位依次對應所述虛擬機標識符域的低位至高位;其中,L>=1;依次遍歷所述虛擬地址空間段的第Min{VN,PN}-L位至第Min{VN,PN}-1位;所述虛擬地址空間段的第Min{VN,PN}-L位至第Min{VN,PN}-1位依次對應所述掩碼域的低位至高位;其中,VN表示所述虛擬地址空間段允許使用的虛擬地址的比特位的數目,PN表示處理器支持的物理地址的比特位的數目;若與所述遍歷到的比特位對應的所述掩碼域的比特位為1,則將所述遍歷到的比特位的值,替換為所述遍歷到的比特位對應的所述虛擬機標識符域的比特位的值。根據第一方面、在第一方面的第一種可能的實現方式中,所述在將虛擬機任務的虛擬地址寫入所述虛擬機任務對應的轉換旁視緩沖器表項的虛擬地址空間段之前,還包括:在所述寄存器中增加所述掩碼域及所述虛擬機標識符域,并分別為所述掩碼域及所述虛擬機標識符域的各比特位賦值。根據第一方面、在第一方面的第二種可能的實現方式中,所述在將虛擬機任務的虛擬地址寫入所述虛擬機任務對應的轉換旁視緩沖器表項的虛擬地址空間段之前,還包括:獲取VN及PN的具體值。根據第一方面、第一方面的第一種至第二種可能的實現方式中的任意一種,在第一方面的第三種可能的實現方式中,所述寄存器為控制寄存器。第二方面,本專利技術實施例提供一種增加虛擬機標識符域的裝置,其中,所述裝置包括:第一獲取模塊,用于在將虛擬機任務的虛擬地址寫入所述虛擬機任務對應的轉換旁視緩沖器表項的虛擬地址空間段時,獲取寄存器中存儲的掩碼域的各比特位的值及虛擬機標識符域的各比特位的值;其中,所述掩碼域的長度與所述虛擬機標識符域的長度均為L;所述掩碼域的低位至高位依次對應所述虛擬機標識符的低位至高位;其中,L>=1;遍歷模塊,用于依次遍歷所述虛擬地址空間段的第Min{VN,PN}-L位至第Min{VN,PN}-1位;所述虛擬地址空間段的第Min{VN,PN}-L位至第Min{VN,PN}-1位依次對應所述掩碼域的低位至高位;其中,VN表示所述虛擬地址空間段允許使用的虛擬地址的比特位的數目,PN表示處理器支持的物理地址的比特位的數目;替換模塊,用于若與所述遍歷模塊遍歷到的比特位對應的所述第一獲取模塊獲取的掩碼域的比特位為1,則將所述遍歷到的比特位的值,替換為所述遍歷到的比特位對應的所述虛擬機標識符域的比特位的值。根據第二方面,在第二方面的第一種可能的實現方式中,還包括:賦值模塊,用于在所述寄存器中增加所述掩碼域及所述虛擬機標識符域,并分別為所述掩碼域及所述虛擬機標識符域的各比特位賦值。根據第二方面、在第二方面的第二種可能的實現方式中,還包括:第二獲取模塊,用于獲取VN及PN的具體值。根據第二方面、第二方面的第一種至第二種可能的實現方式中的任意一種,在第二方面的第三種可能的實現方式中,所述寄存器為控制寄存器。采用本專利技術實施例提供的增加虛擬機標識符域的方法及裝置,通過利用虛擬地址空間段中虛擬地址位Min{VN,PN}以下的若干比特位作為VPID域,實現了在不增加TLB表項長度的情況下,在TLB表項中增加VPID域,以避免不同TLB表項的索引地址發生重復。相比于現有技術,本專利技術實施例提供的增加虛擬機標識符域的方法不需要增加TLB表項的長度,邏輯實現簡單,對處理器改動小,降低了TLB的設計復雜度。附圖說明為了更清楚地說明本專利技術實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本專利技術的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本專利技術實施例提供的增加虛擬機標識符域的方法的流程圖;圖2為本專利技術實施例提供的增加虛擬機標識符域的裝置的結構示意圖;圖3為本專利技術實施例提供的增加虛擬機標識符域的裝置的另一結構示意圖;圖4為本專利技術實施例提供的增加虛擬機標識符域的裝置的又一結構示意圖。具體實施方式為使本專利技術實施例的目的、技術方案和優點更加清楚,下面將結合本專利技術實施例中的附圖,對本專利技術實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本專利技術一部分實施例,而不是全部的實施例。基于本專利技術中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本專利技術保護的范圍。圖1為本專利技術實施例提供的增加虛擬機標識符域的方法的流程圖。如圖1所示,所述方法包括:101、在將虛擬機任務的虛擬地址寫入所述虛擬機任務對應的轉換旁視緩沖器表項的虛擬地址空間段時,獲取寄存器中存儲的掩碼域的各比特位的值及虛擬機標識符域的各比特位的值;其中,所述掩碼域的長度與所述虛擬機標識符域的長度均為L;所述掩碼域的低位至高位依次對應所述虛擬機標識符的低位至高位;其中,L>=1;102、依次遍歷所述虛擬地址空間段的第Min{VN,PN}-L位至第Min{VN,PN}-1位;所述虛擬地址空間段的第Min{VN,PN}-L位至第Min{VN,PN}-1位依次對應所述掩碼域的低位至高位;其中,VN表示所述虛擬地址空間段允許使用的虛擬地址的比特位的數目本文檔來自技高網...

【技術保護點】
一種增加虛擬機標識符域的方法,其特征在于,包括:在將虛擬機任務的虛擬地址寫入所述虛擬機任務對應的轉換旁視緩沖器表項的虛擬地址空間段時,獲取寄存器中存儲的掩碼域的各比特位的值及虛擬機標識符域的各比特位的值;其中,所述掩碼域的長度與所述虛擬機標識符域的長度均為L;所述掩碼域的低位至高位依次對應所述虛擬機標識符的低位至高位;其中,L>=1;依次遍歷所述虛擬地址空間段的第Min{VN,PN}?L位至第Min{VN,PN}?1位;所述虛擬地址空間段的第Min{VN,PN}?L位至第Min{VN,PN}?1位依次對應所述掩碼域的低位至高位;其中,VN表示所述虛擬地址空間段允許使用的虛擬地址的比特位的數目,PN表示處理器支持的物理地址的比特位的數目;若與所述遍歷到的比特位對應的所述掩碼域的比特位為1,則將所述遍歷到的比特位的值,替換為所述遍歷到的比特位對應的所述虛擬機標識符域的比特位的值。
【技術特征摘要】
1.一種增加虛擬機標識符域的方法,其特征在于,包括:在將虛擬機任務的虛擬地址寫入所述虛擬機任務對應的轉換旁視緩沖器表項的虛擬地址空間段時,獲取寄存器中存儲的掩碼域的各比特位的值及虛擬機標識符域的各比特位的值;其中,所述掩碼域的長度與所述虛擬機標識符域的長度均為L;所述掩碼域的低位至高位依次對應所述虛擬機標識符域的低位至高位;其中,L>=1;依次遍歷所述虛擬地址空間段的第Min{VN,PN}-L位至第Min{VN,PN}-1位;所述虛擬地址空間段的第Min{VN,PN}-L位至第Min{VN,PN}-1位依次對應所述掩碼域的低位至高位;其中,VN表示所述虛擬地址空間段允許使用的虛擬地址的比特位的數目,PN表示處理器支持的物理地址的比特位的數目;若與所述遍歷到的比特位對應的所述掩碼域的比特位為1,則將所述遍歷到的比特位的值,替換為所述遍歷到的比特位對應的所述虛擬機標識符域的比特位的值。2.根據權利要求1所述的方法,其特征在于,所述在將虛擬機任務的虛擬地址寫入所述虛擬機任務對應的轉換旁視緩沖器表項的虛擬地址空間段之前,還包括:在所述寄存器中增加所述掩碼域及所述虛擬機標識符域,并分別為所述掩碼域及所述虛擬機標識符域的各比特位賦值。3.根據權利要求1所述的方法,其特征在于,所述在將虛擬機任務的虛擬地址寫入所述虛擬機任務對應的轉換旁視緩沖器表項的虛擬地址空間段之前,還包括:獲取VN及PN的具體值。4.根據權利要求1-3任一所述的方...
【專利技術屬性】
技術研發人員:胡偉武,臺運方,蔡萬偉,劉奇,
申請(專利權)人:龍芯中科技術有限公司,
類型:發明
國別省市:北京;11