在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Arm對(duì)虛擬化下設(shè)備直通的支持

安芯教育科技 ? 來(lái)源:安謀科技學(xué)堂 ? 2023-04-28 15:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著云計(jì)算領(lǐng)域里,ARM架構(gòu)處理器的廣泛使用,應(yīng)用開(kāi)發(fā)人員熟悉ARM架構(gòu)相關(guān)技術(shù)的需求越來(lái)越迫切。眾所周知,提供虛擬機(jī)服務(wù)是云計(jì)算的典型應(yīng)用場(chǎng)景,而虛擬機(jī)里設(shè)備性能的優(yōu)劣對(duì)服務(wù)質(zhì)量至關(guān)重要。

提到虛擬機(jī)里的設(shè)備,就不得不提及設(shè)備的虛擬化,最初虛擬機(jī)里的設(shè)備完全是依靠軟件模擬來(lái)實(shí)現(xiàn),也叫全虛擬化設(shè)備,這樣的好處是運(yùn)行在物理機(jī)里的OS可以完全不需要修改就能在虛擬機(jī)里運(yùn)行,但設(shè)備性能很差,滿足不了人們的需求。后來(lái),有人提出了半虛擬化的思想,寄希望于軟件的優(yōu)化,比如修改設(shè)備模型,減少不必要的內(nèi)存拷貝,來(lái)滿足大家對(duì)設(shè)備的性能需求。典型代表virtio設(shè)備。此法使性能雖有較大提升,但與真實(shí)的設(shè)備仍有較大差距。為了獲取等同于真實(shí)設(shè)備的性能,設(shè)備直通的方式被提了出來(lái),也漸漸成為主流方式。

虛擬機(jī)里使用直通的設(shè)備,的確可以帶來(lái)最大的性能提升。但是卻暴漏出一系列的系統(tǒng)安全問(wèn)題。比如提供DMA的設(shè)備通常可以寫(xiě)內(nèi)存的任意頁(yè),因此虛擬機(jī)里的Guest OS擁有創(chuàng)建DMA的能力就等同于用戶空間擁有了root權(quán)限,惡意的設(shè)備可能利用此發(fā)動(dòng)DMA攻擊,給其他虛擬機(jī)乃至整個(gè)物理機(jī)帶來(lái)安全問(wèn)題。因此,需要提供DMA重映射功能,通過(guò)頁(yè)表方式將直通設(shè)備對(duì)內(nèi)存的訪問(wèn)限制到特定的域中,在提高IO性能的同時(shí)完成了直通設(shè)備的隔離,保證了直通設(shè)備DMA的安全性。此外,直通設(shè)備的中斷默認(rèn)是發(fā)給物理CPU的,要想通知到虛擬機(jī)里的vCPU,就需要中斷的重定向。

DMA重映射跟中斷重定向的實(shí)現(xiàn),最初是完全交由虛擬機(jī)監(jiān)控器(Hypervisor)或模擬器(比如qemu)來(lái)負(fù)責(zé)。這是一種純軟件的思路,必然大大降低設(shè)備的性能,因此急需硬件的參與配合。為此,ARM的SMMU和GIC規(guī)范順勢(shì)添加了對(duì)DMA重映射跟中斷重定向的支持。本文的重點(diǎn)便是圍繞這兩大特性介紹如何支持虛擬化環(huán)境下的設(shè)備直通。

一、DMA重映射

SMMU是System MMU的縮寫(xiě),是ARM架構(gòu)下一種對(duì)非CPU設(shè)備提供地址翻譯服務(wù)的組件,功能類似于CPU的MMU組件。這里非CPU設(shè)備主要指發(fā)起DMA操作的外圍子系統(tǒng)。如下圖所示:

10fd7ffa-e593-11ed-ab56-dac502259ad0.png

注:PE為Processing Element 的縮寫(xiě),可理解為CPU。

在虛擬化應(yīng)用場(chǎng)景下,地址翻譯往往分為兩個(gè)階段。階段一是虛擬地址(VA)到GuestOS認(rèn)為的物理地址(IPA)間的轉(zhuǎn)換;階段二為IPA到真實(shí)物理地址(PA)間的轉(zhuǎn)換。而SMMU既可以同時(shí)支持兩個(gè)階段的轉(zhuǎn)換,也可以單獨(dú)支持每個(gè)階段的轉(zhuǎn)換。這為直通設(shè)備DMA重映射提供了可能。直通設(shè)備的DMA只需要獲取IPA,之后的工作便交由SMMU來(lái)做階段二的處理,以達(dá)到安全高效的訪問(wèn)PA的目的。如下圖所示:

11179bc4-e593-11ed-ab56-dac502259ad0.png

針對(duì)以上應(yīng)用場(chǎng)景,我們介紹SMMU的內(nèi)部結(jié)構(gòu)來(lái)闡述具體實(shí)現(xiàn)原理。SMMU含有兩個(gè)核心單元,分別為翻譯控制單元TCU和翻譯緩沖單元TBU。其中TCU主要含有Stream Mapping Table(SMT)和Context Bank Table(CBT)。SMT通過(guò)StreamID來(lái)索引內(nèi)部的Entry,StreamID跟具體直通設(shè)備一一對(duì)應(yīng), 從而獲取到指向CBT具體Entry的指針。CBT的Entry內(nèi)容則含有階段二翻譯表的指針,當(dāng)獲取到此指針后,翻譯過(guò)程即可像普通MMU一樣按部就班的進(jìn)行下去。而TBU的作用等同于TLB,借助Cache原理,加快SMMU工作效率,不再贅述。以上描述過(guò)程總結(jié)為如下框圖所示:

112a1236-e593-11ed-ab56-dac502259ad0.png

二、中斷重定向

GIC是Generic Interrupt Controller的縮寫(xiě)。GIC的主要作用是路由各種不同的中斷信息給CPU。虛擬化環(huán)境下的中斷處理情形要復(fù)雜的多,有些因指令trap產(chǎn)生的中斷需要Hypervisor本身來(lái)處理;有些是分配給某個(gè)虛擬機(jī)的直通設(shè)備產(chǎn)生的中斷則需要虛擬機(jī)內(nèi)的軟件來(lái)處理;也有中斷被接收時(shí),對(duì)標(biāo)的虛擬機(jī)沒(méi)有處于運(yùn)行狀態(tài)的情況。這需要GIC提供機(jī)制,重定向中斷以滿足上述復(fù)雜的需求。

由于本文的重點(diǎn)是對(duì)直通設(shè)備虛擬化支持的講解,因此此部分將介紹GIC是如何支持直通設(shè)備中斷重映射的,并不會(huì)剖析GIC內(nèi)部組成及實(shí)現(xiàn)原理。我們以GICv3為例,圖示如下:

1141741c-e593-11ed-ab56-dac502259ad0.png

配以如下步驟說(shuō)明:

1 直通設(shè)備發(fā)起的中斷IRQ到達(dá)GIC;

2 GIC發(fā)物理的IRQ到CPU;

3 Hypervisor會(huì)從Physical CPU Interface讀取中斷信息;

4 Hypervisor發(fā)現(xiàn)此中斷是某虛擬機(jī)內(nèi)的直通設(shè)備觸發(fā),于是通過(guò)寫(xiě)GIC List Register重新注入一個(gè)虛擬IRQ到GIC中;

5 GIC產(chǎn)生vIRQ中斷并發(fā)給vCPU;

6 最終vCPU接收vIRQ中斷并由運(yùn)行其上的GuestOS接管并通過(guò)跟Virtual CPU interface交互處理后續(xù)中斷任務(wù)。

至此,一個(gè)完整的中斷重映射過(guò)程結(jié)束。

在GIC參與直通設(shè)備的中斷重映射后,虛擬機(jī)在處理中斷效率上有了明顯提升,但是跟Host主機(jī)上普通物理中斷相比,總是多了一步由軟件Hypervisor參與的動(dòng)作。因此,我們稱以上方式為間接注入中斷的方式。為了進(jìn)一步提高處理中斷的效率,GICv4引入了直接注入中斷方式。具體原理則是直通設(shè)備在獲取中斷時(shí),GIC會(huì)將分配給設(shè)備的物理中斷與虛擬中斷做一個(gè)映射。這樣當(dāng)設(shè)備觸發(fā)中斷時(shí),GIC會(huì)直接發(fā)信號(hào)給vCPU。有這樣一種情況,設(shè)備觸發(fā)中斷時(shí)vCPU沒(méi)有運(yùn)行,即虛擬機(jī)處于休眠態(tài),如果直接發(fā)vIRQ給vCPU是得不到響應(yīng)的,這時(shí)候會(huì)產(chǎn)生一個(gè)物理的door-bell中斷來(lái)代替,此中斷交由Hypervisor處理,它會(huì)重新調(diào)度vCPU,從而使中斷得到及時(shí)響應(yīng)。

本文通過(guò)虛擬化下如何支持設(shè)備直通的角度,講解了ARM架構(gòu)支持DMA重映射跟中斷重定向的原理,旨在普及ARM架構(gòu)下一些支持虛擬化的技術(shù)。當(dāng)然ARM架構(gòu)對(duì)虛擬化的支持不僅局限于此。相信隨著ARM生態(tài)的不斷完善,這些技術(shù)會(huì)被越來(lái)越多的人所熟知。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9342

    瀏覽量

    376407
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11066

    瀏覽量

    216614
  • 虛擬機(jī)
    +關(guān)注

    關(guān)注

    1

    文章

    966

    瀏覽量

    29251
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    龍芯處理器支持WINDOWS嗎?

    目前尚無(wú)跡象。 總結(jié) 若需使用Windows,建議選擇x86/ARM架構(gòu)設(shè)備;若使用龍芯平臺(tái),需依賴Linux生態(tài)。龍芯的優(yōu)勢(shì)在于自主可控與特定領(lǐng)域(如工業(yè)控制、政務(wù)辦公)的定制需求,而非通用消費(fèi)市場(chǎng)的Windows兼容性。
    發(fā)表于 06-05 14:24

    虛擬數(shù)據(jù)恢復(fù)—XenServer虛擬平臺(tái)上VPS不可用的數(shù)據(jù)恢復(fù)案例

    虛擬環(huán)境: 某品牌720服務(wù)器中有一組通過(guò)型號(hào)為H710P的RAID卡+4塊STAT硬盤(pán)組建的RAID10,上層部署Xen Server服務(wù)器虛擬平臺(tái)。
    的頭像 發(fā)表于 05-30 11:35 ?159次閱讀
    <b class='flag-5'>虛擬</b><b class='flag-5'>化</b>數(shù)據(jù)恢復(fù)—XenServer<b class='flag-5'>虛擬</b><b class='flag-5'>化</b>平臺(tái)上VPS不可用的數(shù)據(jù)恢復(fù)案例

    智慧礦山場(chǎng)景:聚徽嵌入式工控一體機(jī)如何實(shí)現(xiàn)井下設(shè)備無(wú)人化操控

    在礦山開(kāi)采領(lǐng)域,傳統(tǒng)的人工開(kāi)采模式面臨著效率低、安全風(fēng)險(xiǎn)高、人力成本上升等諸多問(wèn)題。隨著科技的飛速發(fā)展,智慧礦山建設(shè)成為礦業(yè)轉(zhuǎn)型升級(jí)的關(guān)鍵方向,而井下設(shè)備的無(wú)人化操控則是智慧礦山的重要標(biāo)志之一
    的頭像 發(fā)表于 05-20 13:20 ?121次閱讀

    基于云端虛擬技術(shù)云手機(jī)解決方案

    云手機(jī)解決方案基于云端虛擬技術(shù),通過(guò)整合軟硬件資源實(shí)現(xiàn)多設(shè)備集群化管理與智能操作,以下是針對(duì)不同應(yīng)用場(chǎng)景的核心要素與技術(shù)架構(gòu)解析: 一、核心技術(shù)架構(gòu)?
    的頭像 發(fā)表于 05-09 08:04 ?190次閱讀
    基于云端<b class='flag-5'>虛擬</b><b class='flag-5'>化</b>技術(shù)云手機(jī)解決方案

    新思科技推出基于Arm服務(wù)器原生運(yùn)行的Virtualizer虛擬仿真技術(shù)

    新思科技近日宣布在基于Arm服務(wù)器上推出新思科技Virtualizer 原生運(yùn)行虛擬仿真技術(shù)(Synopsys Virtualizer Native Execution on Arm
    的頭像 發(fā)表于 03-17 17:45 ?636次閱讀

    hyper v 虛擬,Hyper-V 虛擬:Hyper-V虛擬的最佳實(shí)踐

    在當(dāng)今快節(jié)奏的商業(yè)環(huán)境中,數(shù)據(jù)的高效處理能力是企業(yè)競(jìng)爭(zhēng)力的關(guān)鍵因素之一。批量管理工具以其強(qiáng)大的批量操作功能,為企業(yè)提供了一種高效、便捷的數(shù)據(jù)處理解決方案。今天就為大家介紹Hyper-V虛擬
    的頭像 發(fā)表于 02-07 10:24 ?527次閱讀
    hyper v <b class='flag-5'>虛擬</b><b class='flag-5'>化</b>,Hyper-V <b class='flag-5'>虛擬</b><b class='flag-5'>化</b>:Hyper-V<b class='flag-5'>虛擬</b><b class='flag-5'>化</b>的最佳實(shí)踐

    直通電度表——關(guān)鍵的計(jì)量設(shè)備

    在現(xiàn)代電力計(jì)量領(lǐng)域,直通電度表作為一種關(guān)鍵的計(jì)量設(shè)備,發(fā)揮著極為重要的作用。它能夠精確地測(cè)量電路中的電能消耗,為電力供應(yīng)、能源管理以及電費(fèi)結(jié)算等諸多環(huán)節(jié)提供不可或缺的數(shù)據(jù)支持直通
    的頭像 發(fā)表于 12-11 09:51 ?912次閱讀

    深入KVM虛擬之構(gòu)建高效、可擴(kuò)展的虛擬環(huán)境

    目錄 KVM虛擬 創(chuàng)建虛擬機(jī) 報(bào)錯(cuò)解決 虛擬介紹 kvm介紹 KVM部署(基于CentOS7) KVM管理界面安裝 KVM web界面管
    的頭像 發(fā)表于 11-26 17:22 ?1354次閱讀
    深入KVM<b class='flag-5'>虛擬</b><b class='flag-5'>化</b>之構(gòu)建高效、可擴(kuò)展的<b class='flag-5'>虛擬</b><b class='flag-5'>化</b>環(huán)境

    虛擬數(shù)據(jù)恢復(fù)—XenServer虛擬機(jī)數(shù)據(jù)恢復(fù)案例

    服務(wù)器虛擬數(shù)據(jù)恢復(fù)環(huán)境: 某品牌720服務(wù)器中有一組通過(guò)同品牌、型號(hào)為H710P的RAID卡+4塊STAT硬盤(pán)組建的RAID10磁盤(pán)陣列。上層部署XenServer虛擬平臺(tái)。1臺(tái)
    的頭像 發(fā)表于 11-08 10:32 ?500次閱讀
    <b class='flag-5'>虛擬</b><b class='flag-5'>化</b>數(shù)據(jù)恢復(fù)—XenServer<b class='flag-5'>虛擬</b>機(jī)數(shù)據(jù)恢復(fù)案例

    望獲實(shí)時(shí)Linux-虛擬PLC解決方案

    行業(yè)趨勢(shì):IT與OT的深度融合 虛擬PLC的優(yōu)勢(shì):靈活與高效的結(jié)合 望獲實(shí)時(shí)Linux的優(yōu)勢(shì):強(qiáng)實(shí)時(shí)和強(qiáng)大的行業(yè)中間件支持 實(shí)時(shí)性:系統(tǒng)響應(yīng)延遲<10us,支持EtherCAT-12
    的頭像 發(fā)表于 11-08 10:28 ?592次閱讀
    望獲實(shí)時(shí)Linux-<b class='flag-5'>虛擬</b><b class='flag-5'>化</b>PLC解決方案

    云計(jì)算中的虛擬技術(shù)應(yīng)用

    云計(jì)算中的虛擬技術(shù)是一種將計(jì)算機(jī)物理實(shí)體(如服務(wù)器、存儲(chǔ)設(shè)備、網(wǎng)絡(luò)設(shè)備)通過(guò)軟件技術(shù)劃分為多個(gè)虛擬實(shí)體的技術(shù),每個(gè)
    的頭像 發(fā)表于 10-24 09:22 ?1812次閱讀

    理解機(jī)智云虛擬設(shè)備與實(shí)際設(shè)備的關(guān)系

    在使用機(jī)智云平臺(tái)進(jìn)行設(shè)備管理和應(yīng)用開(kāi)發(fā)時(shí),用戶常常會(huì)遇到虛擬設(shè)備無(wú)法控制實(shí)際設(shè)備的問(wèn)題。這種情況的根源在于虛擬設(shè)備的本質(zhì)和功能定位。Q虛擬設(shè)備
    的頭像 發(fā)表于 09-22 08:02 ?477次閱讀
    理解機(jī)智云<b class='flag-5'>虛擬設(shè)備</b>與實(shí)際<b class='flag-5'>設(shè)備</b>的關(guān)系

    什么是虛擬機(jī)?什么是虛擬

    在日新月異的科技世界中,虛擬技術(shù)如同一座橋梁,連接著現(xiàn)實(shí)與數(shù)字的鴻溝,為我們打開(kāi)了全新的計(jì)算維度。虛擬機(jī),這一概念,自其誕生以來(lái),就以其獨(dú)特的魅力和強(qiáng)大的功能,深深地影響了軟件開(kāi)發(fā)、系統(tǒng)測(cè)試和云計(jì)算等多個(gè)領(lǐng)域。即使目前你還不了
    的頭像 發(fā)表于 09-04 14:55 ?2127次閱讀

    虛擬數(shù)據(jù)恢復(fù)—XenServer虛擬平臺(tái)數(shù)據(jù)恢復(fù)案例

    虛擬數(shù)據(jù)恢復(fù)環(huán)境: 某品牌R720服務(wù)器,4塊STAT硬盤(pán)通過(guò)H710P陣列卡組建了一組raid10磁盤(pán)陣列。服務(wù)器上部署XenServer虛擬平臺(tái),
    的頭像 發(fā)表于 07-30 13:18 ?469次閱讀
    <b class='flag-5'>虛擬</b><b class='flag-5'>化</b>數(shù)據(jù)恢復(fù)—XenServer<b class='flag-5'>虛擬</b><b class='flag-5'>化</b>平臺(tái)數(shù)據(jù)恢復(fù)案例

    直通網(wǎng)線的作用及制作步驟

    直通網(wǎng)線的主要作用是連接不同的設(shè)備,如電腦和路由器、路由器和交換機(jī)等,以建立網(wǎng)絡(luò)連接。以下是直通網(wǎng)線的制作步驟: 一、直通網(wǎng)線的作用 直通網(wǎng)
    的頭像 發(fā)表于 07-04 09:51 ?1512次閱讀
    主站蜘蛛池模板: 三级理论在线播放大全 | 亚洲人成在线精品不卡网 | 国产成人毛片毛片久久网 | 欧美爽爽爽爽爽爽视频 | 亚洲第一成人影院 | 简单视频在线播放jdav | 成年女人在线观看 | 久久6免费视频 | 婷婷丁香色 | 四虎在线最新永久免费 | 四虎免费影院4hu永久免费 | 在线观看的黄网 | 日本不卡一区视频 | 欧美性生交xxxxx久久久 | 噜噜色小说 | 伦理片日本韩国电影三级在线观看 | 天堂网在线www资源在线 | 色yeye在线观看 | 亚洲欧美精品成人久久91 | 欧美色老头| 久热精品在线视频 | 天天色视频 | 嫩草影院永久入口在线观看 | 五月婷婷狠狠 | 青草青草视频2免费观看 | se97se成人亚洲网站在线观看 | 美女扒开下面让男人捅 | 日韩亚洲欧洲在线com91tv | 初恋视频黄色 | 天天摸天天澡天天碰天天弄 | 国产人成午夜免费噼啪视频 | 高清精品女厕在线观看 | 777奇米影视笫四色88me久久综合 | 天天做天天爱天天爽综合网 | 窝窝午夜看片免费视频 | 亚洲伊人久久大香线蕉影院 | 欧美激情片网站 | 一区二区免费看 | 欧美一区二区三区男人的天堂 | 一级毛片成人免费看a | 黄 色 免费网 站 成 人 |