1. 程式人生 > >計組學習筆記(三):SRAM與DRAM

計組學習筆記(三):SRAM與DRAM

一、半導體儲存晶片

  先了解了解我們RAM的真面目——半導體儲存晶片,主存通常就是由多個這樣的半導體晶片組成。

  

  (1)儲存矩陣:由大量相同的位儲存單元陣列構成。

  (2)譯碼驅動:將來自地址匯流排的地址訊號翻譯成對應儲存單元的選通訊號,該訊號在讀寫電路的配合下完成對被選中單元的讀和寫。(包括譯碼器,驅動器)

  (3)讀寫電路:完成讀寫操作。(包括讀出放大器,寫入電路)。

  (4)讀/寫控制線:控制晶片是進行讀操作還是寫操作。

  (5)片選線:儲存器是由很多這樣的晶片組成的,每個晶片的地址範圍都是總體地址的一部分,片選線就是確定究竟是哪個晶片被選中。

  (6)地址線:單向輸入的,位數和儲存字的個數有關。

  (7)資料線:雙向的,位數和讀出或寫入的資料位數有關。

  資料線和地址線共同反映一個晶片的儲存容量的大小,舉個例子,如果地址線有12根,資料線有16根,那麼這個晶片的容量就是2^12 × 16=8KB。

  這只是半導體晶片的基本結構,根據儲存器的儲存資訊原理的不同可以分為SRAM和DRAM。

二、SRAM儲存器

  SRAM的儲存元(通常把存放一個二進位制位的物理器件稱為儲存元)採用的是雙穩態觸發器(六管MOS)來記憶資訊的,因此即使資訊被讀出後,它仍然會保持其原狀態而不需要再生。當然斷電之後肯定會丟失資訊的,畢竟RAM是易失性的儲存器。SRAM的存取速度快,功耗較大,一般用來做Cache。


  這是SRAM的儲存元的基本結構圖,靜態MOS,六管單元,放在這裡瞭解一下,我也看不太懂這個東西,只做瞭解一下下~

三、DRAM儲存器

  DRAM與SRAM的原理不同,它是利用儲存元電路中柵極電容上的電荷來儲存資訊的,常見的DRAM的基本儲存電路通常分為三管式和單管式。DRAM採用地址複用技術,地址線是原來的一半,地址訊號分為行和列兩次傳送(這也就是DRAM比SRAM存取速度要慢的因素)。

  既然DRAM採用電容上的電荷來儲存資訊,而電容上的電荷不可能不丟失,一般情況下,DRAM電容上的電荷只能維持1至2ms,過了這個時間,電荷就丟了,資訊也就沒了,所以我們要每隔一定時間對其進行重新整理,這個時間通常分為重新整理週期。常用的重新整理方法有以下三種:

  (1)集中重新整理:在一個重新整理週期內,利用一段固定的時間,依次對儲存器的所有行逐一再生,在此期間停止對儲存器的讀寫操作,這段時間成為“死時間”,又叫訪存的“死區”。顯然這種方法可以讓讀寫操作不受重新整理工作的影響,但是在死區不能訪問儲存器,CPU只能乾等著。

  (2)分散重新整理:把對每一行的重新整理分散到各個工作週期中去。比較生動地解釋就是,原來我的工作只有存取,現在我的工作多了一個,就是在存取完之後順便再“打掃”一行。這樣,一個儲存器的系統工作週期分為兩部分,前半部分有用正常讀、寫或保持,後半部分用於重新整理某一行。這種方法不存在死區,但是增加了系統的存取週期,如果原來存取週期只有0.5us,現在變成了1us,增加的0.5us要重新整理一行。

  (3)非同步重新整理:前兩種方法的結合,它可以縮短死時間,又充分利用最大重新整理間隔為2ms的特點。做法是將重新整理週期除以行數,得到每兩次重新整理之間的時間間隔t,邏輯電路每過t就產生一次重新整理請求。這樣就避免了使CPU等待過長時間,還減少了重新整理次數,提高了工作效率。

四、SRAM與DRAM的區別

  前面介紹了SRAM和DRAM,區別也是顯而易見,現總結梳理一下。

  1、原理上的不同,SRAM原理是雙穩態觸發器,DRAM是柵極電容上的電荷;原理的不同導致SRAM不用重新整理,DRAM要重新整理。

  2、DRAM採用地址複用,SRAM不是。具體原因是這樣的,儲存晶片上的內容不是我們想象中的那樣,一個地址對應一個儲存單元,然後它們按照一維那樣子順序排列下去,它是個二維的儲存矩陣,之前的儲存晶片基本結構也提到了,所以它晶片內部定址的時候是分行和列去找的,對於SRAM,它將行列直接傳入進去找到相應儲存單元,但是DRAM通常用作記憶體而不是Cache,它需要比Cache更大的容量而不是速度,所以在容量大的情況下,它的晶片內行數和列數也多,要一起傳入豈不是要很多根地址線,這是不划算的,所以用地址複用,行和列分別傳入。

  這是我覺得比較重要的兩個區別,二者的區別還有很多,直接上個表來看:

  

  如有錯誤,還望多多指正~