上面的電路示意圖應該能夠讓我們更加清楚的理解這個問題,TM4100GAD8由8片4096x1bit芯片組成,VCC和VSS為所有的芯片提供5v的電壓。每個芯片都具有/RAS、/CAS、/W引腳同內存相應的引腳連通。每個芯片都具有不同的數據輸出/輸出接口。這樣我們應該就能夠知道RAM是如何滿足CPU存取數據的需要的了。 關於Bank的問題 前面我們講述的都是8bit的內存,現在這種東西我們基本上都接觸不到了,更常用的是32bit、64bit或者128bit。由於前面我們已經講到了4Mx1bit模塊實現bit輸入輸出的方法,所以我們很容易想到我們把足夠多的芯片放在一個模塊中就可以了。不過在實際應用中,僅僅這樣做還是不行的,這裡就需要引入bank的概念,bank是由多個模塊組成的。請看下面的示意圖:上面的示意圖顯示的是由4組8bit模塊組成的一個bank,如果構成模塊的是4194304 x 1芯片,那麼每個模塊的架構應該是4194304x8(4MB),這樣4個模塊就能組成一個位寬為32bit的bank,容量為16MB。
當存儲數據的時候,第一模塊存儲字節1,第二個模塊存儲字節2,第三個模塊存儲字節3,第四個模塊存儲字節4,第五個模塊存儲字節5……如此循環知道達到內存所能達到的最高容量。文章讀到這裡,我們應該能知道,當我們的系統使用這種類型的內存時,可以通過兩種方式來增加這種類型內存的容量。第一種就是通過增加每一個獨立模塊的容量來增加bank的容量,另外一個方法就是增加bank的數目。這樣如果讓這種類型的內存的容量提升到32MB,可以把每個模塊的容量從4MB提升到8MB或者增加bank的數目。前面我們用來舉例的這種30線的SIMM一般是用在486級別的電腦上的,而現在的Pentium級別的電腦所使用的內存同這個是不同的。而截止到現在,我的這篇文章還沒有涉及到我們目前所使用的內存,不過不要著急,相信充分的理解我現在所談論的東西將有助於你理解以後的內容。不過這裡可以先告訴大家的是Pentium級別的內存和486系統的內存之間的主要差異在於它們的RAM芯片。 SIMM和DIMM 前面我們既然提到了30線的DIMM,那麼我們就來介紹一下SIMM以及與之相對應的DIMM。其實SIMM和DIMM都是內存條的封裝形式的一種(這裡說的不是芯片的封裝形式),因為每片內存顆粒無法直接同計算機進行連接並且通訊的,並且它們單顆顆粒的容量有限而且涉及到前面提及的數據傳輸位寬等方面的原因,所以內存廠商需要通過一定的形式把它們組織到一起,這樣就產生了不同的內存封裝形式。 首先我們來介紹一下SIMM,如下圖(上面一條是30線DIMM內存,下面一條是72線DIMM內存):
在DIMM內存中的顆粒采用了DIP(Dual Inline Package:雙列直插封裝)封裝,如上圖中黑色的芯片。早期的內存顆粒是直接焊接在主板上面的,這樣如果一片內存出現故障,那麼整個主板都要報廢了。後來在主板上出現了內存顆粒插槽,這樣就可以更換內存顆粒了,但是熱膨脹的緣故,每使用一段時間你就需要打開機箱把內存顆粒按回插槽。除了這些原因,更重要的是我們前面提到的數據總線位寬等方面的原因使得工程師著手設計了SIMM(Single Inline Memory Module)封裝和DIMM(Double Inline Memory Module)的內存,它們通過主板上的內存插槽同主板進行通訊。這樣的設計解決了原來所有的問題。SIMM內存根據引腳分為30線和72線,目前我們都很少用到了。
DIMM是目前我們使用的內存的主要封裝形式,比如SDRAM、DDR SDRAM、RDRAM,其中SDRAM具有168線引腳並且提供了64bit數據尋址能力。DIMM的工作電壓一般是3.3v或者5v,並且分為unbuffered和buffered兩種。上圖上面的內存就是168線的SDRAM,而下面的內存是72線的SIMM。需要指出的是在SIMM和DIMM內存之間不僅僅是引腳數目的不同,另外在電氣特性、封裝特點上都有明顯的差別,特別是它們的芯片之間的差別相當的大。因為按照原來內存制造方法,制造這種內存的時候是不需要把64個芯片組裝在一起構成一個64bit的模塊的,得益於今年來生產工藝的提高和改進,現在的高密度DRAM芯片可以具有不止一個Din和Dout信號引腳,並且可以根據不同的需要在DRAM芯片上制造4、8、16、32或者64條數據引腳。如果一個DRAM芯片具有8個數據引腳,那麼這個基本儲存單元一次就可以輸出8bit的數據,而不像是在原來的TM4100GAD8 SIMM芯片中每次僅僅能輸出1bit數據了。這樣的話,如果我們需要制造一個同TM4100GAD8一樣容量的內存,那麼我們可以不使用前面所使用的4M x 1bit芯片,而是采用1M x 8bit芯片,這樣僅僅需要4片芯片就可以得到一個容量為4MB,位寬為32bit的模組。芯片數目減少最直接的好處當然是可以減
這兩款內存的容量均為4MB,位寬為32bit,當然也屬於DRAM了。TM124BBJ32F內存為單面而TM248CBJ32F雙面的兩種模式,不過其中單面TM124BBJ32F有些奇怪,在它的內存條上只有兩顆內存芯片,這樣每顆內存芯片應該是2MBx16bit。另外,雙面的TM248CBJ32F由4片1Mx8bit DRAM芯片組成。
上面的示意圖和表格是TM124BBJ32F和TM248CBJ32F的示意圖和表格,我們可以很容易的理解它們的工作模式。對於TM124BBJ32F來說:因為是2MBx16bit的顆粒,所以當RAS0引腳為低電平時,DQ0-DQ15輸出/輸入引腳有效,所以它可以同時傳送一個16bit數據;讓RAS1引腳為低電平時,DQ16-DQ31輸出/輸入引腳有效,也可以一次傳送一個16bit數據。對於TM248CBJ32F來說:因為是1MBx8bit的顆粒,所以情況同前面是不同的,當RAS0引腳為低電平時,DQ0-DQ7輸出/輸入引腳有效,所以它可以同時傳送一個8bit數據;讓RAS1引腳為低電平時,DQ6-DQ15輸出/輸入引腳有效,也可以一次傳送一個8bit數據;讓RAS2引腳為低電平時,DQ16-DQ23輸出/輸入引腳有效,也可以一次傳送一個8bit數據;讓RAS3引腳為低電平時,DQ24-DQ31輸出/輸入引腳有效,也可以一次傳送一個8bit數據(注意這裡雖然都是控制輸出8bit或者16bit地址,但是它們之間分別代表的含義是不同的)。當然在確定地址的時候,還是需要CAS控制電路配合的。今天我們對於32bit的內存做了進一步的了解。這些東西雖然對於現在的用戶似乎有些不太實際,但是對於進一步了解現在的內存還是有相當的幫助的。