PCI 預取和非預取內存映射

博主在學習PCI 手冊時遇到這兩概念,查閱http://blog.csdn.net/ykqnjust/article/details/6236389該博文時,學習了下。自己的總結如下:
1)PCI設置PCIBARx[3]來配置該模式的選擇,而該數值又取決於在引導時間的本地配置寄存器的設定;
2)可預取指的是CPU 可緩存它的內容並且對它做所有類型的優化;可預取性內存是指存儲器空間的可預取能力。例如如果讀操作沒有副作用(即如同從 RAM 中讀數據一樣不會破壞數據),則稱存儲器空間可預取。必要時可將字節寫操作合併成一個雙字寫操作。可預取是讀取一次以後不會改變讀取地址和存儲狀態的任何改變,因爲CPU 可緩存它的內容並且對它做所有類型的優化;
3)非預取的內存就象FIFO地址影射到內存地址,讀取數據以後會引起FIFO指針的改變.另外還象一些中斷狀態I/O影射到內存,讀取這個內存後,可能會清除中斷標誌等等,所以CPU不可緩存這個內存地址;
如果滿足以下全部條件,則應該設置爲可預取的內存狀態:
1.多次讀(寫)一個長字節產生相同的數據;
2.如果主PCI丟棄讀數據,將不會發生負的邊際效應;
3.地址空間並沒有映射爲I/O;
4.允許在轉發寫緩衝器中進行字節合併;
PS:剛開始學習,很多不懂,知識也有很多錯誤,歡迎指正;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章