優(yōu)化五:關(guān)鍵詞優(yōu)先,提前重啟,減少漏判
處理器通常一次只需要緩存塊中的一個字(word)。不要等待整個塊被加載,而是在請求的字到達后就立即發(fā)送給處理器,并讓處理器繼續(xù)執(zhí)行,同時填充塊中的其他字。這兩種具體的策略是:
- 關(guān)鍵字優(yōu)先(Critical word first)——從內(nèi)存中先請求缺失的字,并在它到達后立即發(fā)送給處理器;讓處理器在填充塊中的其他字時繼續(xù)執(zhí)行。
- 提前重啟(Early restart)——按正常順序獲取字,但是在請求的塊中的字到達后,立即發(fā)送給處理器并讓處理器繼續(xù)執(zhí)行。
通常,這些技術(shù)只有在緩存塊較大時才有利,因為除非塊很大,否則收益很低。注意,在填充塊中的其他字時,緩存通常會繼續(xù)滿足對其他塊的訪問。然而,由于空間局部性,下一個引用很可能是對還沒有獲取的塊的部分。當關(guān)鍵字優(yōu)先中有第二個請求時,有效的不命中懲罰是從引用到第二個部分到達的不重疊時間。關(guān)鍵字優(yōu)先和提前重啟的效益取決于塊的大小和對還沒有獲取的塊的部分再次訪問的可能性。
優(yōu)化六:合并寫入緩沖區(qū),減少Miss Penalty
寫緩沖器是一種用于暫存待寫入下一級存儲器的數(shù)據(jù)的緩沖區(qū),可以讓處理器在寫操作完成后繼續(xù)執(zhí)行,而不必等待數(shù)據(jù)真正寫入。寫合并是一種優(yōu)化技術(shù),可以將多個對連續(xù)地址的寫操作合并為一個寫操作,從而提高內(nèi)存的利用率和寫入速度,減少因為寫緩沖器滿而導致的停頓。具體來說:
- 寫直達緩存是指每次對緩存的寫操作都必須同時寫入下一級存儲器,以保證數(shù)據(jù)的一致性。由于這樣會增加內(nèi)存訪問的延遲和頻率,所以寫直達緩存依賴于寫緩沖器,將待寫入的數(shù)據(jù)和地址暫存在其中,讓處理器可以繼續(xù)執(zhí)行其他指令,而不必等待數(shù)據(jù)真正寫入下一級存儲器。
- 寫回緩存是指只有當緩存塊被替換出去時才將其寫入下一級存儲器,以減少內(nèi)存訪問的次數(shù)。即使是寫回緩存,在替換緩存塊時也需要使用一個簡單的寫緩沖器,將被替換出去的數(shù)據(jù)和地址暫存在其中,等待合適的時機再將其寫入下一級存儲器。
- 寫合并是指當多個對連續(xù)地址的寫操作發(fā)生時,不是將每個數(shù)據(jù)單獨放入一個寫緩沖器的條目中,而是將它們合并為一個數(shù)據(jù)塊,放入同一個條目中。這樣做的好處是可以節(jié)省寫緩沖器的空間,提高內(nèi)存的利用率,因為多字節(jié)的寫操作通常比單字節(jié)的寫操作更快。另外,這樣也可以減少因為寫緩沖器滿而導致的停頓,因為同樣數(shù)量的數(shù)據(jù)占用了更少的條目。
寫直達緩存和寫回緩存是兩種不同的緩存寫策略,用于處理當處理器對緩存中的數(shù)據(jù)進行修改時,如何保證緩存和主存之間的數(shù)據(jù)一致性的問題。它們的主要區(qū)別如下:
寫直達緩存(Write-through)是指當處理器對緩存中的數(shù)據(jù)進行寫操作時,同時將數(shù)據(jù)寫入到緩存和主存中,這樣可以保證緩存和主存的內(nèi)容始終一致,但是會增加內(nèi)存訪問的延遲和頻率,降低系統(tǒng)性能。
寫回緩存(Write-back)是指當處理器對緩存中的數(shù)據(jù)進行寫操作時,只將數(shù)據(jù)寫入到緩存中,而不立即寫入到主存中,只有當緩存塊被替換出去時,才將修改過的數(shù)據(jù)寫回到主存中,這樣可以減少內(nèi)存訪問的次數(shù)和延遲,提高系統(tǒng)性能,但是會導致緩存和主存的內(nèi)容不一致。
?
?文章來源:http://www.zghlxwxcb.cn/news/detail-539585.html
有些輸入輸出設(shè)備寄存器是映射到物理地址空間中的,這些輸入輸出地址不能使用寫合并技術(shù),因為不同的輸入輸出寄存器可能不像內(nèi)存中的數(shù)組那樣可以按順序訪問。例如,它們可能需要一個地址和一個數(shù)據(jù)字來訪問每個輸入輸出寄存器,而不是使用一個地址來進行多字節(jié)的寫操作。這些副作用通常通過將這些頁面標記為需要非合并寫直達來實現(xiàn)。文章來源地址http://www.zghlxwxcb.cn/news/detail-539585.html
到了這里,關(guān)于計算機體系結(jié)構(gòu)基礎(chǔ)知識介紹之緩存性能的十大進階優(yōu)化之關(guān)鍵詞優(yōu)先和提前重啟以減少失誤處罰、合并寫入緩沖區(qū)以減少懲罰(五)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!