色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

沒有虛擬地址的處理器是怎么工作的?

星星科技指導(dǎo)員 ? 來源:eetop ? 作者:eetop ? 2023-12-07 10:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

這個(gè)概念在大概14年前第一次接觸,當(dāng)時(shí)本科的專業(yè)并不是計(jì)算機(jī),記得當(dāng)時(shí)坐在圖書館里抱著一本書硬啃,一直想把這個(gè)概念弄清楚。

費(fèi)盡力氣卻仍然似是而非,似懂非懂,因此挫敗感很大;后來讀研后,方向一直不在這里,也沒有再去看,但是當(dāng)時(shí)抱著一本書“深入理解計(jì)算機(jī)系統(tǒng)”看了好多年,斷斷續(xù)續(xù),仍然覺得沒有真正理解。

后來工作后,一頭扎在了各種小型芯片的設(shè)計(jì)中,各種ip的設(shè)計(jì),各種SoC層面的調(diào)度調(diào)式,CPU性能加速優(yōu)化,和模擬的各種掰扯,和軟件一起定位各種奇怪的問題,因?yàn)閿?shù)字系統(tǒng)比較小,距離“虛擬存儲(chǔ)器”更加遙遠(yuǎn)了;后來又做了一個(gè)中型的系統(tǒng),說是中型,也就是大幾百萬門的系統(tǒng),但是在和軟件的各種扯皮中,確實(shí)看到了復(fù)雜系統(tǒng)軟件健壯性的嚴(yán)峻挑戰(zhàn),定位問題的困難程度,可是仍然沒有接觸“虛擬存儲(chǔ)器”;再后來,終于看到了真正的大系統(tǒng),正經(jīng)的正在做的芯片中使用了“虛擬存儲(chǔ)器”的概念。

終于,14年后,可以來談這個(gè)問題了。

看看沒有虛擬地址的處理器是怎么工作的,編譯環(huán)境除了將高級(jí)語言轉(zhuǎn)換成機(jī)器碼外,linker把眾多分散開發(fā)文件串起來,使得增量編譯

成為可能;同時(shí)loader就要考慮把多個(gè)獨(dú)立程序安排地址空間,例如操作系統(tǒng)視頻驅(qū)動(dòng),display驅(qū)動(dòng),IO驅(qū)動(dòng),wifi驅(qū)動(dòng)等。

他們存儲(chǔ)在nor-flash or nand flash等NVM中。注意這些程序大部分會(huì)使用相對(duì)的地址尋址(或長(zhǎng)或短,提高存儲(chǔ)密度必然要求),也有少量絕對(duì)跳轉(zhuǎn)地址,

這些絕對(duì)跳轉(zhuǎn)必須由loader(在這個(gè)語境下還是指 IDM PC環(huán)境)了解整個(gè)地址劃分,最后根據(jù)情況修改這些絕對(duì)跳轉(zhuǎn)地址;

然后程序開始執(zhí)行時(shí),操作系統(tǒng)先初始化,然后加載各個(gè)進(jìn)程;

1. 指令

只是cache,不區(qū)分是誰的操作系統(tǒng)指令 or 進(jìn)程指令;

但如果要卸載某個(gè)程序,或者update,只能重新編譯,linker and loader;但這對(duì)于大型系統(tǒng)來說是不可接接受的;

因?yàn)榧偈鼓硞€(gè)程序卸載后,update后的程序比原來大,原來連續(xù)的地址空間不夠用了,只能看看哪里還有空缺

- 用不連續(xù)的兩塊nor flash區(qū)域拼接;

但是complier會(huì)很痛苦,因?yàn)閷?shí)際可能遠(yuǎn)遠(yuǎn)不止2塊不連續(xù),要處理address remap問題,即使是相對(duì)分支跳轉(zhuǎn)指令;

- 或者干脆找一塊足夠大的區(qū)域,導(dǎo)致內(nèi)存碎片,利用率不高;

note:當(dāng)然處理器不會(huì)關(guān)心這些復(fù)雜的事情,它只傻傻的執(zhí)行每一條指令規(guī)定的行為。

如果系統(tǒng)沒有cache,這些指令直接就流進(jìn)處理器;

如果系統(tǒng)有cache,它也傻傻的根據(jù)這些物理地址,一定的算法,例如LRU來管理高速緩存,因此對(duì)cache沒什么影響;

ps:注意支持虛擬存儲(chǔ)器與否,對(duì)cache沒什么影響;

2. 數(shù)據(jù)

這里的數(shù)據(jù)專指程序執(zhí)行過程產(chǎn)生的臨時(shí)數(shù)據(jù),存儲(chǔ)在片上sram,or DDR中,而不是只一開始就存儲(chǔ)在nor flash中的literal data

-------------------------------------------------------

系統(tǒng)如果沒有d-cache(只有片上sram),且沒有操作系統(tǒng):所有全局變量,靜態(tài)變量,全部由編譯器分配好,稱之為heap,然后分配一塊向下生長(zhǎng)的空間作為stack,編譯器會(huì)根據(jù)某種算法估計(jì)要給stack開辟多少空間,例如這個(gè)程序就是一個(gè)大的while(1) {}, 在結(jié)尾處wfi進(jìn)入休眠,由中斷驅(qū)動(dòng),

編譯器會(huì)計(jì)算最深的函數(shù)調(diào)用(stack向下生長(zhǎng)最長(zhǎng)) + 在這種情況下發(fā)生中斷保存現(xiàn)場(chǎng)stack需要;

但如果有“遞歸調(diào)用”則是另外一回事,編譯器可能并不知道實(shí)際工作情況,自然無法準(zhǔn)確預(yù)估stack需要;

--------------------------------------------------------

系統(tǒng)如果沒有d-cache(只有片上sram),有操作系統(tǒng):因?yàn)椴僮飨到y(tǒng)有內(nèi)存管理功能,一般programmer編程不當(dāng)(內(nèi)存要及時(shí)free),會(huì)造成內(nèi)存泄露,這個(gè)和無操作系統(tǒng)場(chǎng)景不同;當(dāng)然也可能純粹應(yīng)用需要的太多,系統(tǒng)能力有限支持不了;

--------------------------------------------------------

系統(tǒng)有d-cache(只有片上sram),有操作系統(tǒng):和上一種區(qū)別不大,d-cache也是無腦工作,并不需要知道加載的到底是heap or stack,或者什么變量;

--------------------------------------------------------

問題:那么加入虛擬存儲(chǔ)器會(huì) make a difference ?對(duì)編譯器沒什么影響,但是對(duì)系統(tǒng)卻有很大的影響。

分析:對(duì)于小型系統(tǒng)來說,各個(gè)程序系統(tǒng)開發(fā)者可以把關(guān),并進(jìn)行測(cè)試保證系統(tǒng)穩(wěn)定性;

但對(duì)于大型系統(tǒng)來說,程序及其龐雜,開發(fā)者眾多,開發(fā)者水平不一;有第三方開發(fā)的軟件需要安裝,甚至有些有些惡意軟件要攻擊別的軟件;即某個(gè)程序可能異常可能會(huì)造成系統(tǒng)崩潰,或信息泄露,不管有意還是無意,最終導(dǎo)致這個(gè)后果。

審核編輯:黃飛

聲明:本文內(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)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19920

    瀏覽量

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

    關(guān)注

    68

    文章

    11088

    瀏覽量

    217296
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7163

    瀏覽量

    125732
  • 虛擬存儲(chǔ)器
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    8884
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1663

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    linux虛擬地址如何轉(zhuǎn)物理地址

    linux虛擬地址轉(zhuǎn)物理地址
    發(fā)表于 05-13 09:31

    探討一下ARM中的MMU虛擬地址

    的緩存效率較低。緩存效率較低,因?yàn)樾?nèi)存塊需要多次讀取級(jí)別才能轉(zhuǎn)換。處理器在開始表查找時(shí)不知道轉(zhuǎn)換的大小。處理器通過執(zhí)行表遍歷計(jì)算出正在轉(zhuǎn)換的塊的大小。在ARMv8-A中有三個(gè)獨(dú)立的虛擬地址空間,分別
    發(fā)表于 04-08 17:17

    ARM處理器使用虛擬地址來提供cache index和cache tag

    早期的ARM處理器使用虛擬地址(virtual addresses)來提供cache index和cache tag。VIVT優(yōu)點(diǎn)這樣做的好處是處理器內(nèi)核可以使用虛擬地址進(jìn)行cache
    發(fā)表于 06-20 15:22

    用戶態(tài)得到虛擬地址對(duì)應(yīng)的物理地址

    一般我們不需要從用戶態(tài)得到進(jìn)程虛擬地址對(duì)應(yīng)的物理地址,因?yàn)橐话銇碚f用戶進(jìn)程是完全不關(guān)心物理地址的。
    的頭像 發(fā)表于 10-10 14:10 ?2776次閱讀
    用戶態(tài)得到<b class='flag-5'>虛擬地址</b>對(duì)應(yīng)的物理<b class='flag-5'>地址</b>

    鴻蒙內(nèi)核中虛擬地址與物理地址之間是如何映射的

    虛擬地址(VA):?就是線性地址?鴻蒙內(nèi)存部分全是VA的身影?是由編譯和鏈接在定位程序時(shí)分配的,每個(gè)應(yīng)用程序都使用相同的虛擬內(nèi)存地址空間
    發(fā)表于 11-19 14:45 ?9次下載
    鴻蒙內(nèi)核中<b class='flag-5'>虛擬地址</b>與物理<b class='flag-5'>地址</b>之間是如何映射的

    內(nèi)核邏輯地址和內(nèi)核虛擬地址到底有什么區(qū)別

      1) 凡是通過MMU頁表訪問的地址都叫虛擬地址,而一旦啟用了MMU,那CPU發(fā)出的所有地址都是虛擬地址內(nèi)核用到的地址范圍是3G-4G(不
    發(fā)表于 03-11 10:10 ?6次下載

    虛擬地址和邏輯地址的區(qū)別是什么?

    先解釋下一個(gè)困擾了我很久的問題:虛擬地址(vitural address)和邏輯地址(logical address)的區(qū)別。 大部分操作系統(tǒng)的書籍要么寫的是虛擬地址,要么寫的是邏輯地址
    的頭像 發(fā)表于 06-17 14:08 ?2.5w次閱讀
    <b class='flag-5'>虛擬地址</b>和邏輯<b class='flag-5'>地址</b>的區(qū)別是什么?

    虛擬地址物理地址等眾多地址及MMU相關(guān)知識(shí)

    虛擬地址物理地址等眾多地址及MMU相關(guān)知識(shí)先聊聊存儲(chǔ)STM32單片機(jī)存儲(chǔ)關(guān)于編譯生成的文件
    發(fā)表于 12-08 12:36 ?12次下載
    <b class='flag-5'>虛擬地址</b>物理<b class='flag-5'>地址</b>等眾多<b class='flag-5'>地址</b>及MMU相關(guān)知識(shí)

    為什么要用MMU?為什么要用虛擬地址

    既然MMU開啟后,硬件會(huì)自動(dòng)的將虛擬地址轉(zhuǎn)換成物理地址,那么還需要我們軟件做什么事情呢?即創(chuàng)建一個(gè)頁表翻譯都需要做哪些事情呢?或者說啟用一個(gè)MMU需要軟件做什么事情呢?
    的頭像 發(fā)表于 04-26 14:37 ?5482次閱讀

    虛擬地址翻譯物理地址的流程有哪些呢?

    現(xiàn)代的操作系統(tǒng)將可執(zhí)行文件加載后,創(chuàng)建了進(jìn)程,進(jìn)程中每一條指令和數(shù)據(jù)都被分配了一個(gè)虛擬地址,CPU獲取到這個(gè)虛擬地址后,需要翻譯成內(nèi)存的物理地址后,才能訪問指令和數(shù)據(jù)
    的頭像 發(fā)表于 08-14 10:30 ?1701次閱讀
    <b class='flag-5'>虛擬地址</b>翻譯物理<b class='flag-5'>地址</b>的流程有哪些呢?

    Linux系統(tǒng)為什么需要引入虛擬地址

    ,這 4GB 的內(nèi)存空間按照 3:1 的比例進(jìn)行分配,其中用戶進(jìn)程享有 3G 的空間,而內(nèi)核獨(dú)自享有剩下的1G 空間,如下所示: 虛擬地址會(huì)通過硬件MMU(內(nèi)存管理單元)映射到實(shí)際的物理地址空間中,建立虛擬地址到物理
    的頭像 發(fā)表于 10-07 17:28 ?1307次閱讀
    Linux系統(tǒng)為什么需要引入<b class='flag-5'>虛擬地址</b>

    Linux虛擬地址空間和物理地址空間的關(guān)系

    過程,這其實(shí)也是MMU的工作原理。 我們知道,在Linux中,每個(gè)進(jìn)程都有自己獨(dú)立的地址空間,且互不干擾。每個(gè)進(jìn)程的地址空間又分為用戶空間和內(nèi)核空間,但這些地址空間使用的都是
    的頭像 發(fā)表于 10-08 11:40 ?1735次閱讀
    Linux<b class='flag-5'>虛擬地址</b>空間和物理<b class='flag-5'>地址</b>空間的關(guān)系

    Linux虛擬地址到物理地址轉(zhuǎn)換過程

    虛擬地址到物理地址轉(zhuǎn)換過程 虛擬地址和物理地址都被劃分了兩部分: 虛擬地址虛擬頁面號(hào)VPN和
    的頭像 發(fā)表于 10-08 11:45 ?2591次閱讀
    Linux<b class='flag-5'>虛擬地址</b>到物理<b class='flag-5'>地址</b>轉(zhuǎn)換過程

    虛擬內(nèi)存到物理地址的轉(zhuǎn)換

    處理器根據(jù)頁表基地址控制寄存TTBCR和虛擬地址來判斷使用哪個(gè)頁表基地址寄存,是TTBR0還
    的頭像 發(fā)表于 10-30 17:34 ?1083次閱讀
    <b class='flag-5'>虛擬</b>內(nèi)存到物理<b class='flag-5'>地址</b>的轉(zhuǎn)換

    MMU虛擬地址空間布局

    當(dāng)然虛擬地址空間劃分不只是如此。因?yàn)槟壳皯?yīng)用程序沒有那么大的內(nèi)存需求,所以ARM64處理器不支持完全的64位虛擬地址,實(shí)際支持情況如下。 (1)-
    的頭像 發(fā)表于 11-26 16:35 ?1212次閱讀
    主站蜘蛛池模板: 日韩精品一区二区亚洲AV观看 | 大香伊人中文字幕精品 | 久久不射电影网 | 欧美国产日韩久久久 | youjizz护士| 亚洲精品久久一区二区三区四区 | 国产日韩欧美综合久久 | 99久久国产露脸精品国产麻豆 | 97在线看视频福利免费 | 老太脱裤子让老头玩xxxxx | 亚洲国产cao | 年轻漂亮的妺妺中文字幕版 | 国产精品久久久久精品A片软件 | 青柠高清在线观看完整版 | 与嫂子同居的日子在线观看 | 久久re这里视频只精品首页 | 亚洲欧美强伦一区二区另类 | jk白丝袜美女被男人桶 | 欧美亚洲国产激情一区二区 | 爱穿丝袜的麻麻3d漫画免费 | 亚洲欧美日本久久综合网站 | 无码国产成人777爽死在线观看 | 国产午夜在线观看视频播放 | 久久99热狠狠色一区二区 | 久久精品动漫网一区二区 | 色情在线avav | 精品国产国偷自产在线观看 | 日韩黄色免费 | YELLOW日本动漫免费动漫 | 日本伦理片 中文字幕 | 97色伦久久视频在观看 | 麻生希快播在线 | 被滋润的艳妇疯狂呻吟白洁老七 | 国产一区二区在线观看免费 | 97在线视频免费人妻 | 97人摸人人澡人人人超一碰 | 欧美MV日韩MV国产网站 | 亚洲 自拍 偷拍 另类综合图区 | 第一福利视频网站在线 | 伊人久久亚洲精品一区 | 久久性综合亚洲精品电影网 |

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品