一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

模擬技術(shù)學(xué)習(xí)

微云疏影 ? 來源:csdn,qq_40316844 ? 作者:csdn,qq_40316844 ? 2023-02-13 09:37 ? 次閱讀

QEMU架構(gòu)和內(nèi)部

快速模擬(QEMU)

機(jī)器模擬器+虛擬器

模式:

用戶模式模擬:允許為一個(gè)CPU構(gòu)建的進(jìn)程被另一個(gè)CPU執(zhí)行

QEMU作為進(jìn)程模擬器

系統(tǒng)模式模擬:允許模擬一個(gè)完整的系統(tǒng),包括處理器和各種外圍設(shè)備

QEMU作為系統(tǒng)模擬器

常用:

用于交叉編譯開發(fā)環(huán)境

虛擬化,特別是設(shè)備模擬,象xen和kvm

安卓模擬器(SDK的一部分)

動(dòng)態(tài)二進(jìn)制翻譯

動(dòng)態(tài)翻譯

第一種解釋

以副產(chǎn)品的形式執(zhí)行代碼發(fā)現(xiàn)

翻譯代碼

象它被發(fā)現(xiàn)的那樣遞增的

將翻譯后的塊放入代碼緩存中

把源到目標(biāo)主機(jī)的映射保存到地址查詢表中

模擬過程

運(yùn)行完已經(jīng)翻譯的塊

在表里尋找下一個(gè)資源主機(jī)

如果已經(jīng)翻譯了,跳轉(zhuǎn)到目標(biāo)主機(jī)

沒有就直接翻譯

象JIT編譯器一樣工作,但是不包括解釋器

所有的客戶代碼都要經(jīng)過二進(jìn)制翻譯

客戶代碼被劃分成翻譯塊

一個(gè)翻譯塊和基本塊相似,因?yàn)槎际亲鳛橐粋€(gè)整體執(zhí)行(整個(gè)塊中沒有跳轉(zhuǎn))

翻譯塊被翻譯成一個(gè)單獨(dú)的主機(jī)指令序列,被緩存到翻譯緩存中。

緩存塊使用客戶虛擬地址(PC計(jì)數(shù)),所以他們能很容易的被發(fā)現(xiàn)

翻譯塊的緩存大小能夠改變(通常是32M)

一旦緩存用完,整個(gè)緩存區(qū)清零

pYYBAGPplGqAD7TXAABIqiUrVCM940.jpg

先將源指令流(二進(jìn)制)轉(zhuǎn)換成更短小且更加簡(jiǎn)易的操作,即微指令(C語言),被GCC編譯成對(duì)象文件(二進(jìn)制),最后QEMU將對(duì)象文件鏈接成目標(biāo)的指令流(二進(jìn)制)。

poYBAGPplGqAJRRdAAAqwbKxV3c720.jpg

功能模擬

模擬處理器做的工作,而不是處理器怎么做

動(dòng)態(tài)二進(jìn)制翻譯

解釋器一次執(zhí)行一條指令

固定的開銷顯著降低

反而,QEMU根據(jù)需要轉(zhuǎn)換代碼

翻譯基本塊 產(chǎn)生本地主機(jī)代碼‘

把翻譯塊存儲(chǔ)到翻譯緩存中

微小代碼發(fā)生器(TCG)

微操作(微指令)

固定的寄存器映射能夠降低負(fù)載和存儲(chǔ)字符串

翻譯塊

一個(gè)TCG基本塊對(duì)應(yīng)著一個(gè)被分支指令終止的指令列表

塊鏈接

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzE2ODQ0,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzE2ODQ0,size_16,color_FFFFFF,t_70

cpu_exec() 在主函數(shù)的每一步都被調(diào)用

項(xiàng)目會(huì)一直執(zhí)行除非遇到一個(gè)未連接的塊

通過 結(jié)尾返回cpu_exec()

塊鏈接

通常來說,每一個(gè)翻譯塊的執(zhí)行都伴隨這很多特殊代碼塊的執(zhí)行

開始時(shí)初始化處理器來執(zhí)行產(chǎn)生的主機(jī)代碼,并跳轉(zhuǎn)到代碼塊

結(jié)束時(shí)恢復(fù)正常狀態(tài)并返回到主循環(huán)

返回主循環(huán)后,每一個(gè)塊顯著的增加了開銷,增長的還很快

當(dāng)一個(gè)塊返回主循環(huán),下一個(gè)塊已經(jīng)知道并且已經(jīng)被翻譯,QEMU能夠修改源代碼來直接跳轉(zhuǎn)到下一個(gè)塊,而不是跳轉(zhuǎn)到結(jié)尾

直接在基本塊之間跳轉(zhuǎn)

為跳轉(zhuǎn)準(zhǔn)備空間,然后回到結(jié)尾

每一次一個(gè)塊返回,都要嘗試鏈接它

當(dāng)是發(fā)生在幾個(gè)連續(xù)的塊上時(shí),這些塊會(huì)形成鏈接和循環(huán)

這允許QEMU模擬緊密的循環(huán),而不需要運(yùn)行額外的代碼

在循環(huán)的條件下,這也意味除非執(zhí)行到一個(gè)沒有翻譯或者沒有鏈接的塊,這個(gè)控件不會(huì)返回到QEMU

異步中斷

如果一個(gè)硬件中斷被掛起,QEMU不會(huì)檢查每一個(gè)基本塊。反而,用戶必須要調(diào)用一個(gè)特殊的功能來告訴說有個(gè)中斷被掛起

這個(gè)功能重置了當(dāng)前執(zhí)行的塊的鏈接,返回到控制CPU模擬的主循環(huán)

寄存器映射

如果目標(biāo)寄存器的數(shù)目大于源寄存器的數(shù)目(例如:翻譯x86的二進(jìn)制到RISC)(RISC精簡(jiǎn)指令集)

當(dāng)目標(biāo)寄存器的數(shù)量不夠時(shí),可能會(huì)基于每一個(gè)塊,或者每一個(gè)追蹤,或者每一個(gè)循環(huán)

不常用的寄存器(源)可能沒有映射

如何處理項(xiàng)目計(jì)數(shù)器

目標(biāo)主機(jī)不同于源主機(jī)

對(duì)于間接的分支,寄存器持有源主機(jī) 一定會(huì)提供一種將源主機(jī)映射到目標(biāo)主機(jī)的方法

翻譯系統(tǒng)需要時(shí)刻追蹤源主機(jī)

其它主要組件

內(nèi)存地址轉(zhuǎn)換

由軟件控制的MMU(模型)將目標(biāo)虛擬地址翻譯成主機(jī)虛擬地址

兩級(jí)客戶物理頁描述符表

客戶虛擬地址和主機(jī)虛擬地址之間的映射

地址轉(zhuǎn)換緩存(tlb_table)直接將目標(biāo)虛擬地址翻譯成主機(jī)虛擬地址

客戶虛擬地址和該設(shè)備注冊(cè)的I/O功能之間的映射

用于內(nèi)存I/O映射的緩存(iotlb)

設(shè)備模擬

i440FX主機(jī)PCI網(wǎng)橋,Cirrus CLGD 5446 PCI VGA卡,PS/2鼠標(biāo)和鍵盤,PCI IDE接口(HDD, CDROM), PCI和ISA網(wǎng)絡(luò)適配器,串口,PCI UHCI USB控制器和虛擬USB hub,…

軟件地址轉(zhuǎn)換

虛擬到物理地址的轉(zhuǎn)換時(shí)在每一次內(nèi)存訪問時(shí)完成的

地址轉(zhuǎn)換緩存加速了轉(zhuǎn)換

為了避免每次MMU映射改變時(shí)刷新已經(jīng)翻譯代碼的緩存,QEMU使用的是物理索引的翻譯緩存

每一個(gè)基礎(chǔ)塊都使用他的物理地址索引

當(dāng)MMU映射改變時(shí),只有基礎(chǔ)塊的鏈接被重置,(例如一個(gè)基礎(chǔ)塊不能直接跳轉(zhuǎn)到另一個(gè))

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzE2ODQ0,size_16,color_FFFFFF,t_70

QEMU存儲(chǔ)堆棧

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzE2ODQ0,size_16,color_FFFFFF,t_70

應(yīng)用和客戶內(nèi)核的工作類似于裸金屬

客戶通過仿真硬件與QEMU對(duì)話

QEMU代表客戶對(duì)一個(gè)鏡像文件執(zhí)行I/O

主機(jī)內(nèi)核對(duì)待客戶I/O就像任何用戶應(yīng)用程序一樣

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzE2ODQ0,size_16,color_FFFFFF,t_70

來源:csdn,qq_40316844

審核編輯 :李倩

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

    關(guān)注

    2

    文章

    803

    瀏覽量

    42065
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7628

    瀏覽量

    139758
  • 模擬器
    +關(guān)注

    關(guān)注

    2

    文章

    890

    瀏覽量

    43879
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    華為模擬技術(shù)講義

    華為模擬技術(shù)講義,學(xué)習(xí)一下,對(duì)你肯定很有幫助!
    發(fā)表于 07-08 09:41

    模擬電子技術(shù)

    模擬電子技術(shù)學(xué)習(xí)下吧
    發(fā)表于 03-24 18:42

    模擬電子技術(shù)基礎(chǔ)

    求推薦學(xué)習(xí)模擬電子技術(shù)基礎(chǔ)的軟件
    發(fā)表于 08-19 15:46

    我的模擬技術(shù)學(xué)習(xí)心得

    和ADI都是很好的模擬技術(shù)學(xué)習(xí)的大學(xué),從各種運(yùn)放,精密的,低噪的,高速的,低功耗,差分的都有很好的涉及,在ADI和TI的幫助下我對(duì)運(yùn)放的認(rèn)識(shí)越來越深,能熟練地讀懂?dāng)?shù)據(jù)手冊(cè),能夠有SPICE模型并借助仿真
    發(fā)表于 03-13 19:38

    模擬電子電路學(xué)習(xí)教程

    模擬電子電路學(xué)習(xí)教程:從最基礎(chǔ)的入門,并配有圖解詳細(xì)說明,步步深入,非常適合初學(xué)模擬電子技術(shù)學(xué)習(xí)。
    發(fā)表于 01-18 15:04 ?145次下載
    <b class='flag-5'>模擬</b>電子電路<b class='flag-5'>學(xué)習(xí)</b>教程

    模擬電子技術(shù)基礎(chǔ)》習(xí)題答案

    對(duì)模擬電子技術(shù)的課后習(xí)題進(jìn)行了詳細(xì)解答,能有效幫助對(duì)模擬電子技術(shù)基礎(chǔ)的學(xué)習(xí)
    發(fā)表于 11-17 11:23 ?89次下載

    模擬電路學(xué)習(xí)筆記

    模擬電子的相關(guān)知識(shí)學(xué)習(xí)教材資料——模擬電路學(xué)習(xí)筆記
    發(fā)表于 09-20 16:10 ?0次下載

    模擬電路和數(shù)字電路學(xué)習(xí)筆記

    模擬電子的相關(guān)知識(shí)學(xué)習(xí)教材資料——模擬電路和數(shù)字電路學(xué)習(xí)筆記
    發(fā)表于 09-20 16:10 ?0次下載

    模擬電路和數(shù)字電路的學(xué)習(xí)筆記

    模擬電子的相關(guān)知識(shí)學(xué)習(xí)教材資料——模擬電路和數(shù)字電路的學(xué)習(xí)筆記
    發(fā)表于 09-20 16:10 ?0次下載

    Google與NASA合作 將利用模擬和機(jī)器學(xué)習(xí)技術(shù)搜索外星生命

    Google Cloud與NASA的前沿開發(fā)實(shí)驗(yàn)室合作,利用模擬和機(jī)器學(xué)習(xí)技術(shù)搜索外星生命。
    發(fā)表于 10-22 16:47 ?1092次閱讀

    實(shí)例解讀模擬電子技術(shù) 完全學(xué)習(xí)與應(yīng)用pdf

    實(shí)例解讀模擬電子技術(shù) 完全學(xué)習(xí)與應(yīng)用pdf
    發(fā)表于 12-09 16:08 ?0次下載

    模擬電子電路學(xué)習(xí)教程分享

    模擬電子電路學(xué)習(xí)教程分享。
    發(fā)表于 03-10 14:36 ?0次下載

    模擬電子技術(shù)基礎(chǔ)

    模擬電子技術(shù)基礎(chǔ) 用于學(xué)習(xí)模擬電路需要的必備資料。
    發(fā)表于 10-17 14:20 ?197次下載

    模擬電子:掌握信號(hào)濾波技術(shù)

    掌握信號(hào)濾波技術(shù)是指學(xué)習(xí)如何使用模擬電子技術(shù)來處理信號(hào),以獲得更好的信號(hào)質(zhì)量。掌握信號(hào)濾波技術(shù)需要學(xué)習(xí)
    發(fā)表于 02-17 15:05 ?1058次閱讀

    模擬電子電路學(xué)習(xí)教程

    電子發(fā)燒友網(wǎng)站提供《模擬電子電路學(xué)習(xí)教程.pdf》資料免費(fèi)下載
    發(fā)表于 04-14 09:40 ?61次下載