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

計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)知識(shí)介紹之緩存性能的十大進(jìn)階優(yōu)化之非阻塞緩存(四)

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

優(yōu)化四:非阻塞緩存,提高緩存帶寬

對(duì)于允許亂序執(zhí)行的流水線計(jì)算機(jī),處理器不需要因數(shù)據(jù)高速緩存未命中而停止。 例如,處理器可以繼續(xù)從指令高速緩存獲取指令,同時(shí)等待數(shù)據(jù)高速緩存返回丟失的數(shù)據(jù)。 非阻塞高速緩存或無(wú)鎖高速緩存允許數(shù)據(jù)高速緩存在未命中期間繼續(xù)提供高速緩存命中,從而增強(qiáng)了這種方案的潛在優(yōu)勢(shì)。 這種“未命中下的命中”優(yōu)化通過(guò)在未命中期間提供幫助而不是忽略處理器的請(qǐng)求來(lái)減少有效的未命中損失。 一個(gè)微妙而復(fù)雜的選項(xiàng)是,如果緩存可以重疊多個(gè)未命中,則可以進(jìn)一步降低有效未命中懲罰:“多次未命中下的命中”或“未命中下的未命中”優(yōu)化。 僅當(dāng)內(nèi)存系統(tǒng)可以處理多次未命中時(shí),第二個(gè)選項(xiàng)才有用。 大多數(shù)高性能處理器(例如英特爾酷睿處理器)通常都支持兩者,而許多低端處理器僅在 L2 中提供有限的非阻塞支持。

簡(jiǎn)單來(lái)說(shuō),非阻塞緩存是一種數(shù)據(jù)緩存,它可以在處理一個(gè)緩存不命中的請(qǐng)求時(shí),繼續(xù)響應(yīng)其他緩存命中的請(qǐng)求,從而減少處理器的等待時(shí)間。

非阻塞緩存有以下幾種優(yōu)化方式:

  • 命中在不命中下(hit under miss):一種非阻塞緩存優(yōu)化方式,它允許在處理一個(gè)緩存不命中的請(qǐng)求時(shí),同時(shí)響應(yīng)一個(gè)緩存命中的請(qǐng)求。
  • 命中在多重不命中下(hit under multiple miss)或不命中在不命中下(miss under miss):一種非阻塞緩存優(yōu)化方式,它允許在處理多個(gè)緩存不命中的請(qǐng)求時(shí),同時(shí)響應(yīng)多個(gè)緩存命中或不命中的請(qǐng)求。這種方式需要內(nèi)存系統(tǒng)能夠同時(shí)服務(wù)多個(gè)不命中的請(qǐng)求。

?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-530762.html

  • Farkas和Jouppi (1994) 的研究:他們假設(shè)了一個(gè)8 KiB的單層次緩存和一個(gè)14周期的不命中懲罰,并觀察了允許一個(gè)命中在不命中下優(yōu)化時(shí),對(duì)于SPECINT92和SPECFP92基準(zhǔn)測(cè)試程序的有效不命中懲罰(effective miss penalty)的減少情況。他們發(fā)現(xiàn)對(duì)于SPECINT92程序平均減少了20%,對(duì)于SPECFP92程序平均減少了30%。
  • Li等人 (2011) 的研究:他們更新了前一項(xiàng)研究,使用了一個(gè)多層次緩存、更現(xiàn)代化的不命中懲罰假設(shè)和更大更具挑戰(zhàn)性的SPECCPU2006基準(zhǔn)測(cè)試程序。他們的研究基于一個(gè)類似于Intel i7的單核處理器模型。圖顯示了允許1、2和64個(gè)命中在不命中下優(yōu)化時(shí),數(shù)據(jù)緩存訪問(wèn)延遲的減少情況。他們發(fā)現(xiàn)由于緩存變大和增加了三級(jí)緩存,非阻塞緩存的效果有所降低,對(duì)于SPECINT2006程序平均減少了約9%,對(duì)于SPECFP2006程序平均減少了約12.5%。

計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)知識(shí)介紹之緩存性能的十大進(jìn)階優(yōu)化之非阻塞緩存(四),計(jì)算機(jī)體系結(jié)構(gòu)學(xué)習(xí)筆記,緩存,嵌入式硬件,risc-v

?

評(píng)估非阻塞緩存性能的難點(diǎn)是,緩存不命中并不一定會(huì)導(dǎo)致處理器停頓。在這種情況下,很難判斷任何一個(gè)不命中的影響,從而計(jì)算平均內(nèi)存訪問(wèn)時(shí)間。有效的不命中懲罰并不是所有不命中的時(shí)間之和,而是處理器停頓的不重疊的時(shí)間。非阻塞緩存的效益是復(fù)雜的,它取決于以下幾個(gè)因素:

  • 當(dāng)有多個(gè)不命中時(shí),不命中懲罰的大小,這決定了處理器能否在等待數(shù)據(jù)時(shí)繼續(xù)執(zhí)行其他指令。
  • 內(nèi)存引用模式,這決定了處理器在一個(gè)不命中期間需要訪問(wèn)多少其他數(shù)據(jù)。
  • 處理器能夠同時(shí)處理多少個(gè)不命中的請(qǐng)求,這決定了非阻塞緩存能夠提供多少優(yōu)化方式。

一般來(lái)說(shuō),亂序執(zhí)行的處理器能夠隱藏大部分一級(jí)數(shù)據(jù)緩存不命中但在二級(jí)緩存命中的懲罰,但是不能隱藏很大一部分低層次緩存不命中的懲罰。決定支持多少個(gè)未完成的不命中請(qǐng)求取決于以下幾個(gè)因素:

  • 不命中流中的時(shí)間和空間局部性,這決定了一個(gè)不命中是否可以啟動(dòng)一個(gè)新的訪問(wèn)到低層次緩存或內(nèi)存。
  • 響應(yīng)內(nèi)存或緩存的帶寬,這決定了一個(gè)不命中需要等待多長(zhǎng)時(shí)間才能得到數(shù)據(jù)。
  • 要允許在最低層次緩存有更多的未完成的不命中請(qǐng)求(因?yàn)檫@里的不命中時(shí)間最長(zhǎng)),就需要在高層次緩存至少支持同樣多的不命中請(qǐng)求,因?yàn)橐粋€(gè)不命中必須從最高層次緩存開(kāi)始。
  • 內(nèi)存系統(tǒng)的延遲,這決定了一個(gè)不命中需要等待多長(zhǎng)時(shí)間才能得到響應(yīng)。

實(shí)現(xiàn)非阻塞緩存有以下兩個(gè)主要的問(wèn)題:

  • 如何在命中和不命中之間進(jìn)行仲裁,解決沖突。在一個(gè)阻塞緩存中,不命中會(huì)導(dǎo)致處理器停頓,不會(huì)有更多的訪問(wèn)發(fā)生,直到不命中處理完畢。在一個(gè)非阻塞緩存中,命中可能與從下一級(jí)存儲(chǔ)器返回的不命中發(fā)生碰撞。如果允許多個(gè)未完成的不命中,這種碰撞就更有可能發(fā)生。這些碰撞必須被解決,通常的方法是先給予命中優(yōu)先于不命中,其次是對(duì)碰撞的不命中進(jìn)行排序(如果可能的話)。
  • 如何跟蹤未完成的不命中,知道何時(shí)可以讓加載或存儲(chǔ)繼續(xù)執(zhí)行。在一個(gè)阻塞緩存中,我們總是知道哪個(gè)不命中正在返回,因?yàn)橹挥幸粋€(gè)可以未完成。在一個(gè)非阻塞緩存中,這種情況很少成立。考慮一下在一級(jí)緩存發(fā)生的一個(gè)不命中。它可能在二級(jí)緩存產(chǎn)生一個(gè)命中或不命中;如果二級(jí)緩存也是非阻塞的,那么返回到一級(jí)緩存的不命中的順序就不一定和它們最初發(fā)生的順序相同。多核和其他多處理器系統(tǒng)由于有非均勻緩存訪問(wèn)時(shí)間也會(huì)引入這種復(fù)雜性。當(dāng)一個(gè)不命中返回時(shí),處理器必須知道哪個(gè)加載或存儲(chǔ)導(dǎo)致了這個(gè)不命中,以便這條指令可以繼續(xù)執(zhí)行;并且必須知道數(shù)據(jù)應(yīng)該放在緩存的哪個(gè)位置(以及這個(gè)塊的標(biāo)記位的設(shè)置)。

在非阻塞高速緩存中,命中可能與從內(nèi)存層次結(jié)構(gòu)的下一級(jí)返回的未命中發(fā)生沖突。如果我們?cè)试S多個(gè)未完成的未命中,則未命中甚至有可能發(fā)生沖突。

為什么?

因?yàn)榉亲枞彺嫘枰谟邢薜木彺婵臻g和帶寬內(nèi)處理多個(gè)請(qǐng)求,而這些請(qǐng)求可能訪問(wèn)相同或相鄰的緩存塊。例如:

  • 如果一個(gè)命中請(qǐng)求和一個(gè)未命中請(qǐng)求訪問(wèn)同一個(gè)緩存塊,那么它們就會(huì)發(fā)生沖突,因?yàn)樗鼈冃枰瑫r(shí)讀寫這個(gè)塊。通常的解決方法是讓命中請(qǐng)求優(yōu)先于未命中請(qǐng)求,以減少處理器的等待時(shí)間。
  • 如果一個(gè)未命中請(qǐng)求和另一個(gè)未命中請(qǐng)求訪問(wèn)同一個(gè)緩存組(set),那么它們就會(huì)發(fā)生沖突,因?yàn)樗鼈冃枰瑫r(shí)占用這個(gè)組的一個(gè)空閑位置。通常的解決方法是對(duì)未命中請(qǐng)求進(jìn)行排序,以保證一定的順序和公平性。
  • 如果多個(gè)未命中請(qǐng)求返回的數(shù)據(jù)量超過(guò)了緩存到處理器的總線帶寬,那么它們就會(huì)發(fā)生沖突,因?yàn)樗鼈冃枰瑫r(shí)傳輸數(shù)據(jù)給處理器。通常的解決方法是增加總線帶寬或使用壓縮技術(shù),以減少數(shù)據(jù)量。

非阻塞緩存需要額外的邏輯,因此在能量上有一些代價(jià)。然而,很難準(zhǔn)確地評(píng)估它們的能量消耗,因?yàn)樗鼈兛赡軠p少停頓時(shí)間,從而降低執(zhí)行時(shí)間和能量消耗。除了上述問(wèn)題之外,多處理器內(nèi)存系統(tǒng)(無(wú)論是在單個(gè)芯片上還是多個(gè)芯片上)還必須處理與內(nèi)存一致性和一致性相關(guān)的復(fù)雜實(shí)現(xiàn)問(wèn)題。而且由于緩存不命中不再是原子性的(因?yàn)檎?qǐng)求和響應(yīng)被分開(kāi)并且可能被多個(gè)請(qǐng)求交錯(cuò)),還有死鎖的可能性。

?

到了這里,關(guān)于計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)知識(shí)介紹之緩存性能的十大進(jìn)階優(yōu)化之非阻塞緩存(四)的文章就介紹完了。如果您還想了解更多內(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)化之減少命中時(shí)間和流水線訪問(wèn)和多組緩存增加帶寬(三)

    計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)知識(shí)介紹之緩存性能的十大進(jìn)階優(yōu)化之減少命中時(shí)間和流水線訪問(wèn)和多組緩存增加帶寬(三)

    路預(yù)測(cè)是一種高速緩存優(yōu)化技術(shù),它在高速緩存中保存額外的位來(lái)預(yù)測(cè)下一次高速緩存訪問(wèn)的路(或者組內(nèi)的塊)。這種預(yù)測(cè)可以提前設(shè)置多路選擇器來(lái)選擇期望的塊,并且在那個(gè)時(shí)鐘周期內(nèi),只進(jìn)行一次標(biāo)記比較,同時(shí)讀取高速緩存數(shù)據(jù)。如果預(yù)測(cè)正確,高速緩存訪問(wèn)延遲

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

    計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)知識(shí)介紹之緩存性能的十大進(jìn)階優(yōu)化之關(guān)鍵詞優(yōu)先和提前重啟以減少失誤處罰、合并寫入緩沖區(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日
    瀏覽(27)
  • 計(jì)算機(jī)體系結(jié)構(gòu)

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

    目錄 第一章 基本概念 1.虛擬計(jì)算機(jī) 2.計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的定義 3.佛林(Flynn)分類法 4.Amdahl定律 5.CPU性能公式 6.程序訪問(wèn)的局部性原理 第二章 指令系統(tǒng) 1.數(shù)據(jù)表示與數(shù)據(jù)類型 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)。 解釋:每當(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)算器和控制器集成到一起,被稱作中央處理器,簡(jiǎn)稱

    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é) 在我寫的《操作系

    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)

    目錄 一、指令概述 二、指令分類 三、擴(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日
    瀏覽(37)
  • 【計(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日
    瀏覽(23)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包