PCI 预取和非预取内存映射

来源:互联网 发布:《算法(第四版)》 编辑:程序博客网 时间:2024/05/16 08:28

博主在学习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:刚开始学习,很多不懂,知识也有很多错误,欢迎指正;

0 0
原创粉丝点击