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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

软件与Cache

發布時間:2023/11/27 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件与Cache 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Cache是提高CPU性能的一種技術手段,通過Cache存儲器把程序頻繁用到的指令和數據存儲起來,等再次訪問該指令或數據時CPU可以直接從Cache中讀取而不用訪問主存從而能提高程序運行的效率。

Cache背后的理論基礎是程序運行的“局部性”原理,

“程序局部性原理”包括 時間局部性?? 和 空間局部性。

時間局部性 的主要表現為剛被訪問過的指令或數據很可能在最近的將來再次被訪問,編程語言的循環結構是時間局部性產生的主要原因。

空間局部性 描述的是:若一個存儲單元被訪問則其相鄰的存儲單元也被訪問,軟件程序的順序執行及語言中的數組結構是空間局部性產生的主要原因。

在硬件設計方面cache的實現大體上分為兩種:

虛擬cache和物理cache

存儲虛擬地址的cache叫虛擬cache,這種cache存儲編譯程序時產生的虛擬地址對應的存儲器單元內容,其優點是匹配速度快,因為在CPU MMU地址轉換前即可對cache進行訪問,其缺點為因為不同虛擬地址可對應相同的物理地址而導致的cache別名問題。

物理cache存儲經由MMU轉換后的物理地址對應的存儲器單元內容。

?

cache的具體實現方法包括:

? 直接映射cache,組相連cache和全映射cache ,其中直接映射cache的實現最簡單,全映射cache的實現最難,而組相連cache的實現居于以上兩者之間。

從軟件的角度來說編寫應用程序的程序員是看不見cache的,只有編寫操作系統等系統軟件的程序員才能看見cache。以linux OS為例,在linux引導啟動時必須對cache進行初始化工作,包括對指令/數據cache的各行進行invalidate操作。

不同體系結構的cache實現方法的不同導致操作系統對其cache的失效操作也不盡相同,如對I386體系結構來說體系結構在其內部實現了cache失 效操作所以linux就無需進行重復的cache失效操作,但對MIPS等RISC體系結構linux引導啟動代碼必須實現cache初始化操作。

?

另一方面在linux中訪問外圍設備時必須屏蔽cache,一般情況下體系結構提供特殊指令訪問I/O設備寄存器及內存,而這些指令實現了屏蔽cache的操作

?

系統軟件能夠感覺到cache的另一點是對設備進行DMA操作時。無論是對設備進行DMA寫還是從設備DMA讀取,都必須在啟動DMA操作之前進行cache失效操作。

?

參考

軟件與Cache? http://www.eefocus.com/neubhs/blog/08-02/143389_de387.html

轉載于:https://www.cnblogs.com/ajian005/archive/2011/02/17/2753868.html

總結

以上是生活随笔為你收集整理的软件与Cache的全部內容,希望文章能夠幫你解決所遇到的問題。

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