603
技術社區[雲棲]
3.3 與Cache相關的PCI總線事務
PCI總線規範定義了一係列與Cache相關的總線事務,以提高PCI設備與主存儲器進行數據交換的效率,即DMA讀寫的效率。當PCI設備使用DMA方式向存儲器進行讀寫操作時,一定需要經過HOST主橋,而HOST主橋通過FSB總線向存儲器控製器進行讀寫操作時,需要進行Cache共享一致性操作。
PCI設備與主存儲器進行的Cache共享一致性增加了HOST主橋的設計複雜度。在高性能處理器中Cache狀態機的轉換模型十分複雜。而HOST主橋是FSB上的一個設備,需要按照FSB規定的協議處理這個Cache一致性,而多級Cache的一致性和狀態轉換模型一直是高性能處理器設計中的難點。
不同的HOST主橋處理PCI設備進行的DMA操作時,使用的Cache一致性的方法並不相同。因為Cache一致性操作不僅與HOST主橋的設計相關,而且主要與處理器和Cache Memory係統設計密切相關。
PowerPC和x86處理器可以對PCI設備所訪問的存儲器進行設置,其設置方法並不相同。其中PowerPC處理器,如MPC8548處理器,可以使用Inbound寄存器的RTT字段和WTT字段,設置在PCI設備進行DMA操作時,是否需要進行Cache一致性操作,是否可以將數據直接寫入Cache中。RTT字段和WTT字段的詳細說明見第2.2.3節。
而x86處理器可以使用MTRR(Memory Type Range Registers)設置物理存儲器區間的屬性,是否為可Cache空間。下文分別討論在PowerPC與x86處理器中,PCI設備進行DMA寫操作時,如何進行Cache一致性操作。
但是與PowerPC處理器相比,x86處理器在處理PCI設備的Cache一致性上略有不足,特別是網絡設備與存儲器係統進行數據交換的效率。因為x86處理器所重點優化的是PCIe設備,目前x86處理器使用的IOAT(I/O Acceleration Technology)技術,極大增強了PCIe設備與主存儲器進行數據通信的效率,但是這種技術仍然不能與一些Data Plane處理器,如XLP832,P4080處理器優化I/O訪問的技術相提並論。畢竟x86處理器所適用的領域依然是PC、服務器等計算和控製領域,並不是Data Plane處理器領域。
最後更新:2017-04-03 16:48:37