日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于DRAM、SRAM、cache、cpu、寄存器、主存之间的联系与区别

發布時間:2024/4/18 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于DRAM、SRAM、cache、cpu、寄存器、主存之间的联系与区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近在研究openblas里面用到的gemm矩陣加速思想,涉及到很多cache緩存的問題,便有了這篇文章作為記錄

先一句話說明數據流的流通路徑:計算機的計算數據需要從磁盤調度到內存,然后再調度到L2 Cache,再到L1 Cache,最后進CPU寄存器進行計算。

一、DRAM(動態隨機存取存儲器)和SRAM(靜態隨機存取存儲器)

????DRAM只能將數據保持很短的時間。為了保持數據,DRAM使用電容存儲,所以必須隔一段時間刷新(預充電)一次,如果存儲單元沒有被刷新,存儲的信息就會丟失(關機就會丟失數據)。主要用于系統內存。

????SRAM是一種具有靜止存取功能的內存,不需要刷新電路即能保存它內部存儲的數據,速度快,但是集成度低。主要用于CPU與主存之間的高速緩存。

二、高速緩沖存儲器(Cache)

????Cache通常使用昂貴但較快速的SRAM技術(通常認為cache是靜態隨機存儲器)。在計算機存儲系統的層次結構中,介于cpu和主存儲器之間的高速小容量存儲器(主存屬于DRAM,比如pc上面的內存條,相對SRAM慢一些)。它和主存儲器一起構成一級的存儲器。高速緩沖存儲器和主存儲器之間信息的調度和傳送是由硬件自動進行的。高速緩沖存儲器最重要的技術指標是它的命中率。Cache作為主存局部區域的副本,用來存放當前活躍的程序和數據,它利用程序運行的局部性,把局部范圍的數據從主存復制到Cache中,使CPU直接高速從Cache中讀取程序和數據,從而解決CPU速度和主存速度不匹配的問題。

三、Cache替換算法

??? CPU在Cache中找到有用的數據被稱為命中,當Cache中沒有CPU所需的數據時(這時稱為未命中),CPU才訪問內存。當出現未命中而高速存儲器對應列中沒有空的位置時,便淘汰該列中的某一組以騰出位置存放新調入的組,這稱為替換。為了保證CPU訪問時有較高的命中率,Cache中的內容應該按一定的算法替換。常用的替換算法有:最近最少使用法(LRU)、先進先出法(FIFO)和隨機法(RAND)等。

目前提出的算法可以分為以下三類(第一類是重點要掌握的):

(1)傳統替換算法及其直接演化,其代表算法有:①LRU(Least Recently Used)算法:將最近最少使用的內容替換出Cache;②LFU(Lease Frequently Used)算法:將訪問次數最少的內容替換出Cache;③如果Cache中所有內容都是同一天被緩存的,則將最大的文檔替換出Cache,否則按LRU算法進行替換。④FIFO(First In First Out):遵循先入先出原則,若當前Cache被填滿,則替換最早進入Cache的那個。

(2)基于緩存內容關鍵特征的替換算法,其代表算法有:①Size替換算法:將最大的內容替換出Cache②LRU— MIN替換算法:該算法力圖使被替換的文檔個數最少。設待緩存文檔的大小為S,對Cache中緩存的大小至少是S的文檔,根據LRU算法進行替換;如果沒有大小至少為S的對象,則從大小至少為S/2的文檔中按照LRU算法進行替換;③LRU—Threshold替換算法:和LRU算法一致,只是大小超過一定閾值的文檔不能被緩存;④Lowest Lacency First替換算法:將訪問延遲最小的文檔替換出Cache。

(3)基于代價的替換算法,該類算法使用一個代價函數對Cache中的對象進行評估,最后根據代價值的大小決定替換對象。其代表算法有:①Hybrid算法:算法對Cache中的每一個對象賦予一個效用函數,將效用最小的對象替換出Cache;②Lowest Relative Value算法:將效用值最低的對象替換出Cache;③Least Normalized Cost Replacement(LCNR)算法:該算法使用一個關于文檔訪問頻次、傳輸時間和大小的推理函數來確定替換文檔;④Bolot等人 提出了一種基于文檔傳輸時間代價、大小、和上次訪問時間的權重推理函數來確定文檔替換;⑤Size—Adjust LRU(SLRU)算法:對緩存的對象按代價與大小的比率進行排序,并選取比率最小的對象進行替換。

如果對主存訪問cache的過程感興趣的可以參考這篇文章:https://blog.csdn.net/williamgavin/article/details/78600230

總結

以上是生活随笔為你收集整理的关于DRAM、SRAM、cache、cpu、寄存器、主存之间的联系与区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。