第二十期 處理器儲存模型概述(2)

2021-10-04 18:00:32 字數 1925 閱讀 6957

計算機中用於儲存的硬體裝置主要有暫存器、快取、主存和磁碟,處理器訪問它們的速度依次減小。由於處理器對於不同資料的訪問有不同的速度要求,計算機中構建了層次化的儲存結構。對訪問速度要求最高的資料往往放在暫存器中,訪問速度要求稍低但對儲存容量要求更高的資料放在主存中,對訪問速度要求最低但對儲存容量要求最高的資料放在磁碟裡。快取作為暫存器和主存的中間層級,可以由一級或多級不同大小的sram構成。處理器訪問快取的速度比訪問主存更快,使用快取儲存處理器頻繁訪問的資料可以減少處理器訪問主存的次數,從而減少處理器訪存消耗的時間。下表列出了2023年時各儲存器層次結構的典型引數[1]:

對於具有快取的計算機來說,處理器在訪問主存前會先在快取中尋找是否有對應的資料。快取中包含的是主存中內容的乙個子集。如果在快取中找到了處理器需要的塊,那麼發生快取命中,否則發生快取缺失。讀操作和寫操作都有命中和缺失的現象。寫入操作的快取缺失被稱為寫入缺失。

快取可以由多級組成,處理器訪問高一級的快取並發生快取缺失時,就會訪問低一級的快取。在本文中,我們將cpu越優先訪問的快取稱為越高階的快取。通常低階的快取比高階的快取大,以捕獲更多的儲存器訪問,減少快取缺失。

快取背後的原理是程式的局域性。電腦程式通常有兩種局域性,即時域局域性和空域局域性。時域局域性指被訪問的資料在不久的將來還可能被訪問;空域局域性指被訪問資料附近的資料有可能被訪問。用快取儲存被頻繁訪問的資料集可以減少處理器訪問更低階的快取和主存的次數,從而減少訪存時間。

主存中的資料集往往被分成固定大小的單元並儲存於快取中,這些單元被稱為塊。按照塊的對映方式可以將快取的組織方式分為直接對映、全相聯和組相聯。如果每個塊只能被儲存在快取中的固定位置,那麼該快取採用的組織方式是直接對映;如果乙個塊可以被儲存在快取中的任意位置,那麼該快取採用的組織方式是全相聯;如果乙個塊可以被儲存在快取中由有限個位置組成的組中,那麼該快取採用的組織方式是組相聯。如果乙個組中最多可以放置n個塊,那麼這種組織方式被稱為n路組相聯。下圖給出了三種組織方式的示意圖[1]:

為了檢查快取中是否存在對應的塊,我們將處理器位址分為塊位址和塊偏移,塊偏移用於塊內的索引。塊位址被進一步分解為標誌位和索引。在組相聯中,使用索引定位塊可能在的組,然後對比標誌位確定塊是否存在於快取中。直接對映可以看成是1路組相聯。全相聯組織方式中沒有索引。處理器位址的分解方式如下圖所示[1]:

當發生快取缺失時,快取控制器需要用期望資料替換乙個已存在快取中的塊。如果採用直接對映的組織方式,則我們的選擇是唯一的。在採用組相聯和全相聯的方式時,快取中有多個可供選擇的塊,這時我們需要乙個替換策略。常見的替換策略有:

快取的寫入策略有直寫(write through)和寫回(write back)兩種。直寫是指資訊被寫入快取和低一級的儲存器(可能是主存或低一級的快取)。寫回指資訊只被寫到快取中,被修改的塊在發生替換時才被寫入主儲存器中。直寫策略的優勢在於實現簡單且易於維護資料一致性。寫回策略的優勢在於多次寫同乙個塊時不必每次都訪問主存,只在塊替換時才一次性寫回主存,從而節省儲存器頻寬。

當發生寫入缺失時有寫入分派(write allocate)和無寫入分派(no-write allocate)兩種策略。寫入分派是指當發生寫入缺失的時候,先將缺失塊讀入快取中再寫入命中。無寫入分派指當發生寫入缺失時不影響快取中的內容,而只影響低一級的儲存器(可能是主存或低一級的快取)中的內容。寫入分派通常與寫回策略一起使用以捕獲之後對同乙個塊的寫入操作。無寫入分派通常與直寫策略同時使用,因為無論後續是否有對同乙個塊的寫入操作,直寫策略都要求寫低一級儲存器,從而使用寫入分派的收益較低。

參考文獻

[1] 《計算機體系結構量化研究方法(第五版)》

微軟安全新聞聚焦 雙週刊第二十期

biweekly spotlights 2012.8 31 2012.9 13 第 20 期 微軟免費安全工具 系統威脅建模工具 2012 年8 月 23日 在設計和架構系統時,需要周期性地分析系統存在的安全隱患,從而改進設計方案或構建對應的防禦手段。針對此微軟發布了一款免費的安全工具 安全開發生命...

第二十課 濾波器

1.頻域分析中的重要應用 濾波器 在分析穩態時,時間已經不重要了,通過改變輸入頻率,觀察輸出,得到頻響函式 2.對於rc電路,低頻時幾乎沒有衰減,高頻時衰減 表現為乙個低通濾波器 rl 高通 3.rlc電路 低頻時受電容影響,高頻時受電感影響。中通濾波器 當w 1 lc 時,電容和電感抵消,電路相當...

《羅輯思維》第二十期 為泡妞而讀書 筆記

1 傳統讀書方式與現今網際網路時代下的讀書方式是不同的,網際網路時代下,讀書的本質是讓知識重新回到懸疑和場景。現在讀書不主張去攀爬金字塔,主張按照乙個人的應用,用你的興趣把自己的心當作乙個種子,在你的環境裡種下去,然後尋找你最需要的東西一點點成長,而不要去囿於傳統工業社會的乙個個學科分類。追隨你的內...