哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ARM對虛擬化下設備直通的支持

安芯教育科技 ? 來源:極術社區(qū) ? 作者:James張 ? 2021-09-26 10:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著云計算領域里,ARM架構處理器的廣泛使用,應用開發(fā)人員熟悉ARM架構相關技術的需求越來越迫切。眾所周知,提供虛擬機服務是云計算的典型應用場景,而虛擬機里設備性能的優(yōu)劣對服務質量至關重要。

提到虛擬機里的設備,就不得不提及設備的虛擬化,最初虛擬機里的設備完全是依靠軟件模擬來實現(xiàn),也叫全虛擬化設備,這樣的好處是運行在物理機里的OS可以完全不需要修改就能在虛擬機里運行,但設備性能很差,滿足不了人們的需求。

后來,有人提出了半虛擬化的思想,寄希望于軟件的優(yōu)化,比如修改設備模型,減少不必要的內存拷貝,來滿足大家對設備的性能需求。典型代表virtio設備。此法使性能雖有較大提升,但與真實的設備仍有較大差距。為了獲取等同于真實設備的性能,設備直通的方式被提了出來,也漸漸成為主流方式。

虛擬機里使用直通的設備,的確可以帶來最大的性能提升。但是卻暴漏出一系列的系統(tǒng)安全問題。比如提供DMA的設備通常可以寫內存的任意頁,因此虛擬機里的Guest OS擁有創(chuàng)建DMA的能力就等同于用戶空間擁有了root權限,惡意的設備可能利用此發(fā)動DMA攻擊,給其他虛擬機乃至整個物理機帶來安全問題。

因此,需要提供DMA重映射功能,通過頁表方式將直通設備對內存的訪問限制到特定的域中,在提高IO性能的同時完成了直通設備的隔離,保證了直通設備DMA的安全性。此外,直通設備的中斷默認是發(fā)給物理CPU的,要想通知到虛擬機里的vCPU,就需要中斷的重定向。

DMA重映射跟中斷重定向的實現(xiàn),最初是完全交由虛擬機監(jiān)控器(Hypervisor)或模擬器(比如qemu)來負責。這是一種純軟件的思路,必然大大降低設備的性能,因此急需硬件的參與配合。

為此,ARM的SMMU和GIC規(guī)范順勢添加了對DMA重映射跟中斷重定向的支持。本文的重點便是圍繞這兩大特性介紹如何支持虛擬化環(huán)境下的設備直通。

DMA重映射

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

21cffc8e-10f8-11ec-8fb8-12bb97331649.png

注:PE為Processing Element 的縮寫,可理解為CPU。

在虛擬化應用場景下,地址翻譯往往分為兩個階段。階段一是虛擬地址(VA)到GuestOS認為的物理地址(IPA)間的轉換;階段二為IPA到真實物理地址(PA)間的轉換。而SMMU既可以同時支持兩個階段的轉換,也可以單獨支持每個階段的轉換。

這為直通設備DMA重映射提供了可能。直通設備的DMA只需要獲取IPA,之后的工作便交由SMMU來做階段二的處理,以達到安全高效的訪問PA的目的。如下圖所示:

針對以上應用場景,我們介紹SMMU的內部結構來闡述具體實現(xiàn)原理。SMMU含有兩個核心單元,分別為翻譯控制單元TCU和翻譯緩沖單元TBU。其中TCU主要含有Stream Mapping Table(SMT)和Context Bank Table(CBT)。

SMT通過StreamID來索引內部的Entry,StreamID跟具體直通設備一一對應, 從而獲取到指向CBT具體Entry的指針。CBT的Entry內容則含有階段二翻譯表的指針,當獲取到此指針后,翻譯過程即可像普通MMU一樣按部就班的進行下去。而TBU的作用等同于TLB,借助Cache原理,加快SMMU工作效率,不再贅述。以上描述過程總結為如下框圖所示:

21e87cc8-10f8-11ec-8fb8-12bb97331649.png

中斷重定向

GIC是Generic Interrupt Controller的縮寫。GIC的主要作用是路由各種不同的中斷信息給CPU。虛擬化環(huán)境下的中斷處理情形要復雜的多,有些因指令trap產(chǎn)生的中斷需要Hypervisor本身來處理;

有些是分配給某個虛擬機的直通設備產(chǎn)生的中斷則需要虛擬機內的軟件來處理;也有中斷被接收時,對標的虛擬機沒有處于運行狀態(tài)的情況。這需要GIC提供機制,重定向中斷以滿足上述復雜的需求。

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

2202c5f6-10f8-11ec-8fb8-12bb97331649.png

配以如下步驟說明:

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

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

3 Hypervisor會從Physical CPU Interface讀取中斷信息;

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

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

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

至此,一個完整的中斷重映射過程結束。

在GIC參與直通設備的中斷重映射后,虛擬機在處理中斷效率上有了明顯提升,但是跟Host主機上普通物理中斷相比,總是多了一步由軟件Hypervisor參與的動作。因此,我們稱以上方式為間接注入中斷的方式。

為了進一步提高處理中斷的效率,GICv4引入了直接注入中斷方式。具體原理則是直通設備在獲取中斷時,GIC會將分配給設備的物理中斷與虛擬中斷做一個映射。這樣當設備觸發(fā)中斷時,GIC會直接發(fā)信號給vCPU。

有這樣一種情況,設備觸發(fā)中斷時vCPU沒有運行,即虛擬機處于休眠態(tài),如果直接發(fā)vIRQ給vCPU是得不到響應的,這時候會產(chǎn)生一個物理的door-bell中斷來代替,此中斷交由Hypervisor處理,它會重新調度vCPU,從而使中斷得到及時響應。

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

編輯:jq

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

    關注

    135

    文章

    9587

    瀏覽量

    393514
  • cpu
    cpu
    +關注

    關注

    68

    文章

    11326

    瀏覽量

    225841
  • dma
    dma
    +關注

    關注

    3

    文章

    582

    瀏覽量

    106252
  • CBT
    CBT
    +關注

    關注

    0

    文章

    5

    瀏覽量

    8340

原文標題:技術分享 | ARM對虛擬化下設備直通的支持

文章出處:【微信號:Ithingedu,微信公眾號:安芯教育科技】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    虛擬數(shù)據(jù)恢復】ESXI虛擬機還原快照致數(shù)據(jù)丟失?完整恢復方案解析

    虛擬機技術作為虛擬技術的一種,在現(xiàn)代信息技術領域扮演著重要角色。虛擬技術的核心是將事物從一種形式轉變?yōu)榱硪环N形式,它在多個方面都有廣泛應
    的頭像 發(fā)表于 03-12 15:17 ?204次閱讀
    【<b class='flag-5'>虛擬</b><b class='flag-5'>化</b>數(shù)據(jù)恢復】ESXI<b class='flag-5'>虛擬</b>機還原快照致數(shù)據(jù)丟失?完整恢復方案解析

    Arm架構助力Azure Cobalt 100虛擬機工作負載性能提升

    自從微軟推出基于 Arm 架構的 Azure Cobalt 100 虛擬機 (VM) 以來,已有眾多客戶選擇這款新實例運行各類用例。目前,Cobalt 100 虛擬機已在全球微軟 Azure 云
    的頭像 發(fā)表于 12-15 14:42 ?788次閱讀
    <b class='flag-5'>Arm</b>架構助力Azure Cobalt 100<b class='flag-5'>虛擬</b>機工作負載性能提升

    開源鴻蒙技術大會2025丨虛擬與容器分論壇:構筑開源鴻蒙虛擬技術高地

    隨著開源鴻蒙技術的快速發(fā)展,各行各業(yè)、各品類的生態(tài)設備加速融入生態(tài),當數(shù)字世界的邊界不斷拓寬,我們正站在操作系統(tǒng)革命的十字路口。虛擬技術打破硬件桎梏,?讓一塊芯片承載多重宇宙,從智能手表到車載系統(tǒng)
    的頭像 發(fā)表于 11-20 17:35 ?1048次閱讀
    開源鴻蒙技術大會2025丨<b class='flag-5'>虛擬</b><b class='flag-5'>化</b>與容器分論壇:構筑開源鴻蒙<b class='flag-5'>虛擬</b><b class='flag-5'>化</b>技術高地

    5G工業(yè)網(wǎng)關支持采集哪些設備

    5G工業(yè)網(wǎng)關支持采集的設備類型廣泛,涵蓋工業(yè)控制、環(huán)境監(jiān)測、能源管理、物流運輸、農(nóng)業(yè)生產(chǎn)等多個領域,具體包括以下設備 : 一、工業(yè)控制類設備 PLC(可編程邏輯控制器) :作為工業(yè)自動
    的頭像 發(fā)表于 11-14 11:36 ?656次閱讀
    5G工業(yè)網(wǎng)關<b class='flag-5'>支持</b>采集哪些<b class='flag-5'>設備</b>

    車載軟件vECU虛擬測試解決方案

    虛擬測試:利用虛擬技術,實現(xiàn)將真實域控制器轉化為虛擬域控制器,運行在PC或服務器環(huán)境中運行,從而實現(xiàn)在不依賴真實硬件的情況下完成對應測試
    的頭像 發(fā)表于 10-30 09:34 ?1806次閱讀
    車載軟件vECU<b class='flag-5'>虛擬</b><b class='flag-5'>化</b>測試解決方案

    元服務配置支持設備

    中“deviceTypes”標簽的枚舉值)勾選對應的支持設備,確保軟件包里聲明的設備范圍大于等于此處勾選的支持設備范圍。 注意 在元服務發(fā)布
    發(fā)表于 10-22 16:54

    PCBA直通率99.9%怎么做到的?頭部工廠的“零缺陷”實戰(zhàn)秘籍

    設計優(yōu)化、供應鏈管控、工藝控制、設備升級、數(shù)字追溯及人員能力提升六大核心環(huán)節(jié)協(xié)同作用,具體實現(xiàn)路徑如下: ? PCBA加工廠實現(xiàn)99.9%直通率的方法 一、設計階段:前置風險防控 DFM(可制造性設計)分析 利用專業(yè)軟件對PC
    的頭像 發(fā)表于 09-23 09:11 ?952次閱讀

    KVM虛擬環(huán)境部署與性能優(yōu)化教程

    在云計算時代,虛擬技術已經(jīng)成為企業(yè)IT基礎設施的核心組件。作為一名在生產(chǎn)環(huán)境管理過上千臺虛擬機的運維工程師,我深知選擇正確的虛擬平臺對業(yè)
    的頭像 發(fā)表于 09-08 17:13 ?1764次閱讀

    基于USB的多虛擬設備通信

    接口性能使MCU不僅能夠處理典型的設備/主機通信,還可以通過USB虛擬多個設備或數(shù)據(jù)通道。這一特點有效滿足了各種應用的多樣需求。 U
    發(fā)表于 09-05 06:51

    如何才能知道英飛凌Bluetooth?產(chǎn)品支持哪種Bluetooth?配置文件和版本?

    如何才能知道英飛凌Bluetooth?產(chǎn)品支持哪種Bluetooth?配置文件和版本? A2DP、AVRCP、HSP、HFP 等 是否有一個網(wǎng)頁或文檔解釋每個設備支持哪些配置文件和版本? 目前我想了解以
    發(fā)表于 06-27 06:04

    龍芯處理器支持WINDOWS嗎?

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

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

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

    智慧礦山場景:聚徽嵌入式工控一體機如何實現(xiàn)井下設備無人化操控

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

    基于云端虛擬技術云手機解決方案

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

    工業(yè)設備數(shù)據(jù)集中監(jiān)控可視管理平臺是什么

    工業(yè)設備數(shù)據(jù)集中監(jiān)控可視管理平臺是一種用于整合、監(jiān)控和可視化工業(yè)設備數(shù)據(jù)的綜合性系統(tǒng),旨在幫助企業(yè)實現(xiàn)設備數(shù)據(jù)的集中管理、實時監(jiān)控和可視
    的頭像 發(fā)表于 05-06 11:10 ?1205次閱讀
    怀集县| 大埔县| 麻江县| 佛教| 安宁市| 光山县| 湖州市| 灵丘县| 曲阳县| 泾源县| 铜梁县| 佳木斯市| 友谊县| 新营市| 崇州市| 巨鹿县| 富源县| 依兰县| 腾冲县| 土默特右旗| 杭州市| 铜川市| 泰兴市| 泸定县| 故城县| 祁阳县| 玉门市| 新沂市| 洪江市| 酒泉市| 曲阳县| 宁国市| 紫金县| 昌都县| 广平县| 玉环县| 荔浦县| 木里| 密山市| 绥宁县| 马关县|