2.3. 其它主記憶體使用者
除了 CPU 之外,還有其它能夠存取主記憶體的系統元件。像是網路與大容量儲存裝置控制器等高效能擴充卡(card)無法負擔透過 CPU 輸送所有它所需要或提供的資料的成本。作為替代,它們會直接從/往主記憶體讀取或寫入資料(直接記憶體存取〔Direct Memory Access〕,DMA)。圖 2.1 中,我們能夠看到,擴充卡能夠透過南北橋直接與記憶體溝通。其它匯流排,像是 USB,也需要 FSB 頻寬––即使它們並不使用 DMA,因為南橋也會經由北橋、透過 FSB 連接到處理器。
雖然 DMA 無疑是有益的,但它意味著有更多 FSB 頻寬的競爭。在 DMA 流量很大的時候,CPU 可能會在等待從主記憶體來的資料時,延誤得比平常更久。假如有對的硬體的話,有許多繞過這個問題的方法。藉由如圖 2.3 的架構,可以設法確保使用不受 DMA 影響的節點上的記憶體來進行運算。也可能讓一個南橋依附在每一個節點上,均等地分配 FSB 在每個節點上的負載。還有無數的可能性。在第六節,我們將會介紹可望從軟體上協助達成改進的技術與程式設計介面。
最後需要提一下,有些廉價系統的圖形系統(graphics system)並沒有獨立的、專門的視訊 RAM(video RAM)。這些系統會使用主記憶體的一部分作為視訊 RAM。由於視訊 RAM 的存取很頻繁(對於一個 16 bpp、60Hz 的 1024x768 的顯示器而言,即為 94MB/s),而且系統記憶體––不像顯示卡上的 RAM––並不具有兩個埠,而這會嚴重地影響系統效能,尤其是等待時間。當以效能為優先時,最好是忽略這種系統。它們的問題比它們的價值還多。購買這些機器的人們知道它們無法獲得最好的效能。