国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)知識(shí)介紹之緩存性能的十大進(jìn)階優(yōu)化之編譯器控制的預(yù)取和利用HBM擴(kuò)展內(nèi)存層次(七)

這篇具有很好參考價(jià)值的文章主要介紹了計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)知識(shí)介紹之緩存性能的十大進(jìn)階優(yōu)化之編譯器控制的預(yù)取和利用HBM擴(kuò)展內(nèi)存層次(七)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

優(yōu)化九:編譯器控制的預(yù)取以減少丟失懲罰或丟失率

硬件預(yù)取的替代方案是編譯器在處理器需要數(shù)據(jù)之前插入預(yù)取指令來(lái)請(qǐng)求數(shù)據(jù)。

預(yù)取有兩種類(lèi)型:
■ 寄存器預(yù)取將值加載到寄存器中。
■ 高速緩存預(yù)取僅將數(shù)據(jù)加載到高速緩存。

這兩種類(lèi)型都可以分為有錯(cuò)或無(wú)錯(cuò)的,即預(yù)取的地址是否會(huì)導(dǎo)致虛擬地址錯(cuò)誤或保護(hù)錯(cuò)誤的異常。使用這個(gè)術(shù)語(yǔ),一個(gè)普通的加載指令可以被認(rèn)為是一個(gè)“有錯(cuò)的寄存器預(yù)取指令”。無(wú)錯(cuò)的預(yù)取指令如果遇到異常,就會(huì)變成空操作。

最有效的預(yù)取是“對(duì)程序語(yǔ)義不可見(jiàn)”的:它不改變寄存器和內(nèi)存的內(nèi)容,也不會(huì)引起虛擬內(nèi)存錯(cuò)誤?,F(xiàn)在大多數(shù)處理器都提供無(wú)錯(cuò)的緩存預(yù)取指令。這一節(jié)假設(shè)使用無(wú)錯(cuò)的緩存預(yù)取,也叫非綁定預(yù)取。

預(yù)取技術(shù)只有在處理器可以在預(yù)取數(shù)據(jù)的同時(shí)繼續(xù)執(zhí)行時(shí)才有意義;也就是說(shuō),緩存不會(huì)停頓,而是在等待預(yù)取數(shù)據(jù)返回的同時(shí)繼續(xù)提供指令和數(shù)據(jù)。這樣的計(jì)算機(jī)的數(shù)據(jù)緩存通常是非阻塞的。和硬件控制的預(yù)取一樣,目標(biāo)是讓執(zhí)行和預(yù)取數(shù)據(jù)重疊。

循環(huán)是重要的目標(biāo),因?yàn)樗鼈冞m合于預(yù)取優(yōu)化。如果不命中代價(jià)很小,編譯器只需要展開(kāi)循環(huán)一次或兩次,并將預(yù)取和執(zhí)行調(diào)度起來(lái)。如果不命中代價(jià)很大,它就使用軟件流水或者展開(kāi)很多次來(lái)預(yù)取未來(lái)迭代的數(shù)據(jù)。發(fā)出預(yù)取指令會(huì)產(chǎn)生指令開(kāi)銷(xiāo),所以編譯器必須小心確保這種開(kāi)銷(xiāo)不會(huì)超過(guò)收益。通過(guò)專(zhuān)注于可能是緩存不命中的引用,程序可以避免不必要的預(yù)取,同時(shí)顯著提高平均內(nèi)存訪問(wèn)時(shí)間。

優(yōu)化十:利用HBM擴(kuò)展內(nèi)存層次

HBM是High Bandwidth Memory的縮寫(xiě),是一種高速的計(jì)算機(jī)內(nèi)存接口,用于三維堆疊的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)。HBM的特點(diǎn)是將多個(gè)DRAM芯片通過(guò)硅通孔(TSV)技術(shù)垂直堆疊在一起,并與處理器封裝在同一個(gè)芯片內(nèi),實(shí)現(xiàn)了高容量、高帶寬、低功耗和低延遲的內(nèi)存方案。

?由于大多數(shù)通用服務(wù)器處理器需要的內(nèi)存容量超過(guò)了HBM封裝技術(shù)能夠提供的范圍,所以有人提出了將封裝在處理器內(nèi)部的DRAM用作大容量的L4緩存,這些緩存的容量可以達(dá)到128 MiB到1 GiB甚至更多,遠(yuǎn)遠(yuǎn)超過(guò)了當(dāng)前片上L3緩存的容量。使用這樣大的基于DRAM的緩存會(huì)引起一個(gè)問(wèn)題:標(biāo)記(tag)應(yīng)該放在哪里?這取決于標(biāo)記的數(shù)量。假設(shè)我們使用64B的塊大小,那么一個(gè)1 GiB的L4緩存需要96 MiB的標(biāo)記,這比CPU上的緩存中存在的靜態(tài)內(nèi)存還要多。將塊大小增加到4 KiB,可以顯著減少標(biāo)記存儲(chǔ),只需要256 K個(gè)條目或者不到1 MiB的總存儲(chǔ)空間,這可能是可以接受的,考慮到下一代多核處理器中L3緩存的容量為4~16 MiB或者更多。

然而,這樣大的塊大小有兩個(gè)主要問(wèn)題。第一,緩存可能會(huì)被低效地使用,當(dāng)許多塊中的內(nèi)容不需要時(shí);這被稱(chēng)為碎片化問(wèn)題,它也出現(xiàn)在虛擬內(nèi)存系統(tǒng)中。此外,傳輸這樣大的塊如果大部分?jǐn)?shù)據(jù)沒(méi)有被使用也是低效的。第二,由于塊大小很大,緩存中能夠保存的不同塊的數(shù)量就很低,這可能導(dǎo)致更多的不命中,特別是沖突和一致性不命中。解決第一個(gè)問(wèn)題的一個(gè)部分解決方案是添加子塊(subblock)。子塊允許塊中的部分?jǐn)?shù)據(jù)是無(wú)效的,需要在不命中時(shí)才獲取它們。子塊技術(shù),然而,并不能解決第二個(gè)問(wèn)題。

標(biāo)記存儲(chǔ)是使用較小塊大小的主要障礙。一個(gè)可能的解決方案是將L4緩存的標(biāo)記存儲(chǔ)在HBM中。乍一看這似乎是行不通的,因?yàn)槊看卧L問(wèn)L4緩存都需要兩次訪問(wèn)DRAM:一次是為了標(biāo)記,另一次是為了數(shù)據(jù)本身。由于隨機(jī)訪問(wèn)DRAM所需的時(shí)間很長(zhǎng),通常是100個(gè)或更多處理器時(shí)鐘周期,所以這種方法被放棄了。Loh和Hill(2011)提出了一個(gè)巧妙的解決方案:將標(biāo)記和數(shù)據(jù)放在HBM SDRAM中的同一行中。雖然打開(kāi)行(最終關(guān)閉它)需要很長(zhǎng)時(shí)間,但是訪問(wèn)行中不同部分所需的CAS延遲只有新行訪問(wèn)時(shí)間的三分之一左右。因此我們可以先訪問(wèn)塊中的標(biāo)記部分,如果命中了,那么再使用列訪問(wèn)來(lái)選擇正確的字。Loh和Hill(L-H)提出了一種組織L4 HBM緩存的方法,使得每個(gè)SDRAM行由一組標(biāo)記(在塊頭部)和29個(gè)數(shù)據(jù)段組成,構(gòu)成一個(gè)29路組相聯(lián)緩存。當(dāng)訪問(wèn)L4時(shí),打開(kāi)適當(dāng)?shù)男胁⒆x取標(biāo)記;如果命中,則再進(jìn)行一次列訪問(wèn)以獲取匹配數(shù)據(jù)。

Qureshi和Loh(2012)提出了一種改進(jìn)方法,稱(chēng)為合金緩存(alloy cache),可以減少命中時(shí)間。合金緩存將標(biāo)記和數(shù)據(jù)融合在一起,并使用直接映射的緩存結(jié)構(gòu)。這樣可以將L4訪問(wèn)時(shí)間減少到一個(gè)HBM周期,通過(guò)直接索引HBM緩存并進(jìn)行標(biāo)記和數(shù)據(jù)的突發(fā)傳輸。

合金緩存相比L-H方案,將命中時(shí)間減少了超過(guò)兩倍,但是以增加不命中率1.1~1.2倍為代價(jià)。在這兩種方案中,不命中都需要兩次完整的DRAM訪問(wèn):一次是為了獲取初始標(biāo)記,另一次是為了訪問(wèn)主存(這甚至更慢)。如果我們能夠加快不命中檢測(cè),我們就能夠減少不命中時(shí)間。有兩種不同的解決方案來(lái)解決這個(gè)問(wèn)題:一種是使用一個(gè)映射來(lái)跟蹤緩存中的塊(不是塊的位置,只是是否存在);另一種是使用一個(gè)內(nèi)存訪問(wèn)預(yù)測(cè)器,使用歷史預(yù)測(cè)技術(shù)來(lái)預(yù)測(cè)可能的不命中,類(lèi)似于用于全局分支預(yù)測(cè)的技術(shù)。

計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)知識(shí)介紹之緩存性能的十大進(jìn)階優(yōu)化之編譯器控制的預(yù)取和利用HBM擴(kuò)展內(nèi)存層次(七),計(jì)算機(jī)體系結(jié)構(gòu)學(xué)習(xí)筆記,緩存,risc-v,嵌入式硬件

?

運(yùn)行 LH 方案、SRAM 標(biāo)簽方案和理想 L4(理想)的 SPECrate 基準(zhǔn)測(cè)試時(shí)的性能加速; 加速 1 表示 L4 緩存沒(méi)有任何改進(jìn),如果 L4 完美并且不占用訪問(wèn)時(shí)間,則可以實(shí)現(xiàn) 2 的加速。 使用 10 個(gè)內(nèi)存密集型基準(zhǔn)測(cè)試,每個(gè)基準(zhǔn)測(cè)試運(yùn)行八次。 使用隨附的未命中預(yù)測(cè)方案。 理想情況假設(shè)僅需要訪問(wèn)和傳輸 L4 中請(qǐng)求的 64 字節(jié)塊,并且 L4 的預(yù)測(cè)精度是完美的(即,以零成本知道所有未命中)。?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-542771.html

到了這里,關(guān)于計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)知識(shí)介紹之緩存性能的十大進(jìn)階優(yōu)化之編譯器控制的預(yù)取和利用HBM擴(kuò)展內(nèi)存層次(七)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)知識(shí)介紹之緩存性能的十大進(jìn)階優(yōu)化之編譯器控制的預(yù)取和利用HBM擴(kuò)展內(nèi)存層次(七)

    計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)知識(shí)介紹之緩存性能的十大進(jìn)階優(yōu)化之編譯器控制的預(yù)取和利用HBM擴(kuò)展內(nèi)存層次(七)

    硬件預(yù)取的替代方案是編譯器在處理器需要數(shù)據(jù)之前插入預(yù)取指令來(lái)請(qǐng)求數(shù)據(jù)。 預(yù)取有兩種類(lèi)型: ■ 寄存器預(yù)取將值加載到寄存器中。 ■ 高速緩存預(yù)取僅將數(shù)據(jù)加載到高速緩存。 這兩種類(lèi)型都可以分為有錯(cuò)或無(wú)錯(cuò)的,即預(yù)取的地址是否會(huì)導(dǎo)致虛擬地址錯(cuò)誤或保護(hù)錯(cuò)誤的異

    2024年02月13日
    瀏覽(29)
  • 計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)知識(shí)介紹之緩存性能的十大進(jìn)階優(yōu)化之關(guān)鍵詞優(yōu)先和提前重啟以減少失誤處罰、合并寫(xiě)入緩沖區(qū)以減少懲罰(五)

    計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)知識(shí)介紹之緩存性能的十大進(jìn)階優(yōu)化之關(guān)鍵詞優(yōu)先和提前重啟以減少失誤處罰、合并寫(xiě)入緩沖區(qū)以減少懲罰(五)

    處理器通常一次只需要緩存塊中的一個(gè)字(word)。不要等待整個(gè)塊被加載,而是在請(qǐng)求的字到達(dá)后就立即發(fā)送給處理器,并讓處理器繼續(xù)執(zhí)行,同時(shí)填充塊中的其他字。這兩種具體的策略是: 優(yōu)先(Critical word first)——從內(nèi)存中先請(qǐng)求缺失的字,并在它到達(dá)后立即發(fā)

    2024年02月13日
    瀏覽(26)
  • 計(jì)算機(jī)體系結(jié)構(gòu)

    計(jì)算機(jī)體系結(jié)構(gòu)

    目錄 第一章 基本概念 1.虛擬計(jì)算機(jī) 2.計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的定義 3.佛林(Flynn)分類(lèi)法 4.Amdahl定律 5.CPU性能公式 6.程序訪問(wèn)的局部性原理 第二章 指令系統(tǒng) 1.數(shù)據(jù)表示與數(shù)據(jù)類(lèi)型 2.浮點(diǎn)數(shù)的表示方式 3.編址方式 4.尋址方式 5.指令系統(tǒng)的優(yōu)化設(shè)計(jì)? 6.Huffman編碼法 7.拓展編碼 8.兩種方

    2024年02月06日
    瀏覽(27)
  • 【體系結(jié)構(gòu)】山東大學(xué)計(jì)算機(jī)體系結(jié)構(gòu)知識(shí)點(diǎn)清單

    【體系結(jié)構(gòu)】山東大學(xué)計(jì)算機(jī)體系結(jié)構(gòu)知識(shí)點(diǎn)清單

    涵蓋所有考點(diǎn),復(fù)習(xí)絕對(duì)高效,點(diǎn)贊+留郵箱獲取pdf版本 1. 計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu) 語(yǔ)言實(shí)現(xiàn)的兩種基本技術(shù): 翻譯:先把 N+1 級(jí)程序全部轉(zhuǎn)換成 N 級(jí)程序后,再去執(zhí)行新產(chǎn)生的 N 級(jí)程序,在執(zhí)行過(guò)程中 N+1 級(jí)程序不再被訪問(wèn)。 解釋?zhuān)好慨?dāng)一條 N+1 級(jí)指令被譯碼后,就直接去執(zhí)

    2024年02月11日
    瀏覽(133)
  • [Linux]計(jì)算機(jī)軟硬體系結(jié)構(gòu)

    [Linux]計(jì)算機(jī)軟硬體系結(jié)構(gòu)

    馮諾依曼體系結(jié)構(gòu)的組成 現(xiàn)代計(jì)算機(jī)大多都遵守馮諾依曼體系結(jié)構(gòu) 馮諾依曼體系結(jié)構(gòu)的示意圖如下: 馮諾依曼體系結(jié)構(gòu)計(jì)算機(jī)由五大部件組成: 輸入設(shè)備 輸出設(shè)備 存儲(chǔ)器(內(nèi)存) 運(yùn)算器 控制器 注:如今大多的計(jì)算機(jī)都將運(yùn)算器和控制器集成到一起,被稱(chēng)作中央處理器,簡(jiǎn)稱(chēng)

    2024年02月13日
    瀏覽(18)
  • 【Linux】—— 詳解計(jì)算機(jī)體系結(jié)構(gòu)

    【Linux】—— 詳解計(jì)算機(jī)體系結(jié)構(gòu)

    前言: 在之前,我們已經(jīng)對(duì)Linux環(huán)境開(kāi)發(fā)的基本工具進(jìn)行了詳細(xì)的學(xué)習(xí)。接下來(lái),我們將要學(xué)習(xí)的第一大塊便是關(guān)于計(jì)算機(jī)體系結(jié)構(gòu)的知識(shí)??! 目錄 前言 (一)馮諾依曼體系結(jié)構(gòu) 基本介紹 木桶原理 數(shù)據(jù)流動(dòng)過(guò)程 (二)操作系統(tǒng) 1、概念 2、感性理解 總結(jié) 在我寫(xiě)的《操作系

    2024年02月09日
    瀏覽(24)
  • 計(jì)算機(jī)體系結(jié)構(gòu)(復(fù)習(xí)資料)

    計(jì)算機(jī)體系結(jié)構(gòu)(復(fù)習(xí)資料)

    1.存儲(chǔ)程序計(jì)算機(jī) (馮諾依曼):4部分 ????????????????運(yùn)算器(用于完成數(shù)值運(yùn)算) ????????????????存儲(chǔ)器(用于存儲(chǔ)程序和數(shù)據(jù)) ????????????????輸入輸出設(shè)備(用于完成計(jì)算機(jī)與外部信息交互) ????????????????控制器(根據(jù)程序形成控

    2024年02月02日
    瀏覽(16)
  • 第一章、計(jì)算機(jī)組成與體系結(jié)構(gòu)

    第一章、計(jì)算機(jī)組成與體系結(jié)構(gòu)

    第一節(jié).數(shù)據(jù)的表示 ? 二進(jìn)制轉(zhuǎn)十進(jìn)制:權(quán)值相加。即一個(gè)二進(jìn)制數(shù)為1010.1,轉(zhuǎn)為十進(jìn)制為: $$ 小數(shù)點(diǎn)左邊從0開(kāi)始冪,小數(shù)點(diǎn)右邊就是-1 ? 十六進(jìn)制轉(zhuǎn)十進(jìn)制:同樣的,權(quán)值相加。即一個(gè)十六進(jìn)制為100121,轉(zhuǎn)為十進(jìn)制為: $$ 十進(jìn)制轉(zhuǎn)二進(jìn)制:整數(shù)位用短除法,除二取余,直到

    2024年02月03日
    瀏覽(21)
  • 【計(jì)算機(jī)組成原理與體系結(jié)構(gòu)】指令系統(tǒng)

    【計(jì)算機(jī)組成原理與體系結(jié)構(gòu)】指令系統(tǒng)

    目錄 一、指令概述 二、指令分類(lèi) 三、擴(kuò)展操作碼 四、指令尋址 五、數(shù)據(jù)尋址 六、x86匯編指令 計(jì)算機(jī)指令 :指示計(jì)算機(jī)硬件進(jìn)行某種操作的命令 機(jī)器指令 :使用二進(jìn)制編碼來(lái)表示的計(jì)算機(jī)指令 能被計(jì)算機(jī)硬件系統(tǒng)識(shí)別并執(zhí)行的特殊的0/1代碼串(機(jī)器碼) 指定了計(jì)算機(jī)硬

    2024年02月08日
    瀏覽(36)
  • 【計(jì)算機(jī)體系結(jié)構(gòu)】什么是流水線?

    【計(jì)算機(jī)體系結(jié)構(gòu)】什么是流水線?

    ??個(gè)人主頁(yè):highman110 ??作者簡(jiǎn)介:一名硬件工程師,持續(xù)學(xué)習(xí),不斷記錄,保持思考,輸出干貨內(nèi)容? 目錄 參考資料 前言 流水線 提高流水線效率的技術(shù) 超級(jí)流水線 超標(biāo)量 分支預(yù)測(cè) 亂序執(zhí)行 (21條消息) 流水線、超流水線、超標(biāo)量(superscalar)技術(shù)對(duì)比(轉(zhuǎn))_沉迷科研劉

    2024年02月03日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包