程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 存儲器結構、cache、DMA架構分析--【sky原創】,cachedma

存儲器結構、cache、DMA架構分析--【sky原創】,cachedma

編輯:關於C語言

存儲器結構、cache、DMA架構分析--【sky原創】,cachedma


存儲器的層次結構       高速緩沖存儲器  cache   讀cache操作     cache如果包含數據就直接從cache中讀出來,因為cache速度要比內存快 如果沒有包含的話,就從內存中找,找到後就放到cache中去,以後再讀的話就直接從cache讀了,下次訪問很多次的時候就會快很多,相當於提高了命中率,cpu的訪問速度就大大提高了   cache能大大提高cpu的訪問速率   cache的設計 不能太大,也不能太小   太大的話,因為程序在查看數據的時候需要把cache走一遍,如果cache太大, 那麼走一遍的時間就太長,就不能達到提升速率的效果   如果太小的話,存放在內存的塊數就少了,命中率降低,訪問內存的次數就增加了,cpu性能同樣降低了   塊大小 Cache與memory的的數據交換單位 由小變大時, 由局部性原理,命中增加 變得更大時, 新近取得數據被用到的可能性,小於那些必須被移出Cache的數據再次用到的可能性,命中率大大降低     DMA   大量移動數據   cpu性能快,外設的速度比較慢,cpu就要一直等待外設 因此誕生了DMA   以前沒有DMA,就把數據從內存經過cpu到外設   有了DMA的話,cpu把指令告訴DMA,把內存從某個地址開始,多大的數據寫給外設,這樣的話DMA就去做了,cpu就不用做了,DMA就把內存中取出數據,然後再到外設,這種機制就是DMA機制,cpu就解放了,做更重要的事,因此這種內存拷貝、數據大量移動拷貝的時候就用DMA來解放cpu,記住cpu只在開始於結束時參與   開始時:   結束時: 中斷處理例程     歡迎交流  

新浪博客:http://blog.sina.com.cn/u/2049150530
csdn博客:http://blog.csdn.net/u011749143
博客園:http://www.cnblogs.com/sky-heaven/
chinaUnix: http://blog.chinaunix.net/uid/30049997.html
知乎:http://www.zhihu.com/people/zhang-bing-hua

   

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved