題 為什麼RAM芯片與我的系統是32位系統還是64位系統無關?


我最近出去為我的筆記本電腦買了一個4 GB的RAM芯片,他們問我的是我是否想要DDR-3?當我指定我有一個64位系統時,他們說這不重要,我的問題是為什麼?我的系統的文字處理能力不應該成為一個因素嗎?是不是內存設計成寄存器的系統字長的大小???


4
2018-05-06 14:17


起源


我刪除了“嵌入式”標籤,因為它與此無關(OP稱其為筆記本電腦)。同樣投票關閉也是出於同樣的原因。 - tcrosley
實際上,存儲器接口比處理器字更寬(用於填充高速緩存,或者用於處理慢速存儲器技術的並行性),或者它們更窄(用於簡化電路)是常規的。此外,今天32對64位可能是指操作系統對實際處理器字寬使用的操作模式。 - Chris Stratton
您會驚訝地發現幾乎所有硬件都不關心我們定義為“單詞”的數據單元的長度是多少?在x86上單個是32位,在x64上是64位嗎? CPU本身幾乎都是關心的。 - Frank Thomas
@Frank Thomas:是的,它會讓我感到驚訝,因為我對系統架構很陌生,只是從數字電子和晶體管級設計搬到這裡,目前正在尋求寄存器傳輸邏輯。回到主題,處理器本地緩存怎麼樣?還是其他通用寄存器,特殊寄存器,累加器?它們的字大小是否也沒有任何限制地選擇,如果真的如此,那麼64位系統與32位系統有何不同? - ubuntu_noob
所有這些組件都是CPU本身的一部分,因此將編寫帶有x64指令集的CPU以容納64b字。然而,Ram在邏輯上(非物理上)進行分組,因此操作系統內存管理驅動程序處理在ram中提供數據所涉及的所有抽象。 - Frank Thomas


答案:


現代PC系統包含一個存儲器接口芯片或電路,可在數據總線寬度和存儲器模塊寬度之間進行轉換,後者已由諸如 JEDEC。這意味著無論系統的底層架構如何,使用相同信令和協議的模塊都是可互換的。


10
2018-05-06 14:24





存儲器模塊是標準化的,並且一段時間沒有32位。即使使用32位處理器也有緩存層,並且在緩存的dram側,處理器更喜歡讀取和寫入該大小的倍數並不重要,因此64位不是一個糟糕的權衡。同樣,(部分,全部或後者)32位處理器無論如何都採用64位總線,原因類似。

如果你看模塊,你可以有8個籌碼(8或16)的倍數或9(9或18)或5,10或4,8的倍數

芯片通常以8位寬開始,然後隨著時間的推移可以容納16位寬的速度。所以你從64位開始沒有ecc,即每列64位,每排8位,一級存儲器有一行8位,兩位,8位在另一側8。使用ecc,你得到另外8位72位,每個級別9個部分。對於16位寬的存儲器,每個等級4個部分沒有ecc,5個用ecc。

但是一旦你指定了連接器/模塊類型,選擇變得非常有限,有多少ram,然後根據品牌/型號你可以得到任何數量的部件。

因此,對於購買單個零件,他們需要了解DDR,DDR2,DDR3或DDR4,您想要的速度和密度。內存控制器特定於每個,並且可能不一定支持除一種類型之外的任何內容,因此ddr2可能僅支持ddr2而ddr3可能僅支持ddr3,因此您必須先從該問題開始,然後繼續進入速度並使用和密度。


4
2018-05-06 14:39