跳至內容

內存控制器

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書

內存控制器英語Memory Controller)是一個用於管理與規劃從內存到CPU間傳輸速度的總線電路控制器,它可以是一個單獨的芯片,或集成到有關的大型芯片裡;如CPU北橋內置的內存控制器。[1]

工作方式

[編輯]

內存控制器控制着必要的邏輯讀取和寫入DRAM ,並每隔一段時間刷新動態隨機存取存儲器(DRAM)里的內容。如果沒有不斷刷新DRAM將會丟失已寫入的數據,因為DRAM的儲存單元其實是電容器的一種,電容器會不斷泄漏它儲存的電荷,根據JEDEC標準只要泄漏速度不小於64毫秒內存就可以正常工作。進行讀取寫入動作時,內存控制器會根據數據地址到DRAM中選擇行和列,通過一個多路轉換器將數據合併以減少操作所需的總線寬度,由DRAM輸入端的多路轉換器電路承接轉換操作,其中經由DRAM的多路分解器為轉換後的輸入數據選擇正確的存儲器位置並返回數據,總線寬度是允許同時進行通信的存儲單元數目。內存控制器的總線寬度範圍從在早期的系統中的8位,演變成在更複雜的系統和顯卡中的512位,這通常被實現為數個64位內存控制器同時並行運行,這稱為「團體模式」。一些內存控制器,例如集成QUICC內存控制器的Power QUICC II處理器,可在同一時間連接到各種不同類型的設備,如:SDRAMSRAMROM內存映射的I/O。一些內存控制器會集成ECC錯誤檢測和校正的功能。現在實驗中的內存控制器除了包含執行存儲器管理單元地址轉換中的第一級,也包含第二級別的地址轉換,進一步減少帶寬占用率。[2]

歷史

[編輯]

一開始內存控制器在主板上有獨立的芯片;在英特爾微處理器的傳統電腦上,其功能被集成在主板的北橋上;但許多現代微處理器,如Alpha 21364AMD Athlon 64處理器(和以後的AMD處理器),IBM POWER5(和以後的POWER處理器) ,Sun UltraSPARC T1,Intel Nehalem處理器(和以後的Intel處理器)上集成了內存控制器(英語:Integrated Memory Controller,IMC) ,以減少內存延遲。這提升了系統的性能。當DRAM控制器不在處理器里而是在北橋里,那麼相同的CPU可以被安裝在一個擁有新北橋的主板上以支持新內存模式,但這樣的設計會增大處理器與記憶體之間的資料傳送延時,因為處理器需經北橋方可存取記憶體,而處理器與北橋之間的匯流排頻寬往往是有限的,而這一情況可通過增大CPU快取的方法來緩解。[3][4]

雙倍數據率同步動態隨機存取記憶體

[編輯]

DDR內存控制器是用來驅動DDR SDRAM的,通過在系統的時鐘的上升沿和下降沿同時數據傳輸來實現雙倍數據存儲器訪問。 DDR內存控制器明顯的比單倍數據速率控制器更複雜,但允許兩倍數據的傳輸是在內存單元不增加時鐘速率或增加總線寬度的情況下。

雙通道內存

[編輯]

雙通道內存控制器(Dual Channel),動態隨機存取存儲器(DRAM)分別連接兩個不同的總線(Bus),讓兩個內存控制器並行訪問它們,這總線理論帶寬提高一倍。在理論上可以有更多的信道被建立(為每一個DRAM單元建立單獨信道將是理想的解決方案),但由於線路數量、電容器、需要並行接入線路具有相同的的長度,添加越多的信道,設計越複雜。

全緩衝內存模組

[編輯]

全緩衝內存系統(英語:Fully Buffered DIMM,FB-DIMM)將內存的緩衝裝置用於每個內存模塊連接並串行傳輸到內存控制器,這是一種新總線設計;它不像傳統的內存控制器設備,使用串行數據鏈路的內存控制器,而不是使用以前的內存設計並行鏈接。以增加延遲為代價(因串行線路,訪問存儲器位置的指令必須排隊等待),允許使用數量較少層的電路板,令在電路板上連接內存顆粒的導線數量大幅減少,這意味着更多更密集的內存顆粒可以放置在同一電路板上。這種增長是由於在一定的時間內讀出的信息由DRAM單元的FB-DIMM控制器所使用的串行格式轉換成並行,內存控制器在電路板上的一個並行形式。從理論上FB-DIMM的內存緩衝裝置可以建成訪問任何DRAM單元,並允許存儲單元訪問未知設計的內存控制器,但是這並沒有被證實,該技術正處於起步階段。

閃存控制器

[編輯]

很多閃存盤裡都含有一個閃存主控芯片,主控芯片負責與其他電子設備通信,並負責控制與管理數據的儲存位置。

注釋

[編輯]
  1. ^ Memory Controller PDF (PDF). 2010-12-6. [2013-11-10]. (原始內容存檔 (PDF)於2015-09-24). 
  2. ^ John Carter, Wilson Hsieh, Leigh Stoller, Mark Swansony, Lixin Zhang, et. al. "Impulse: Building a Smarter Memory Controller"頁面存檔備份,存於網際網路檔案館
  3. ^ 黃永兵. 从CPU、内存和I/O深度理解IA架构服务器. it168.com. [2014-02-10]. (原始內容存檔於2020-08-20). 
  4. ^ Intel:不整合内存控制器原因有三. Mydrivers.com. [2014-02-10]. (原始內容存檔於2020-08-20). 

參看

[編輯]

外部連結

[編輯]
  • Selecting Memory Controllers for DSP Systems A how-to article on evaluating memory controllers using the VisualSim virtual prototyping tool.
  • [1] Infineon/Kingston (a memory vendor) Dual Channel DDR Memory Whitepaper. Explains dual channel memory controllers, and how to best use use them.