內存的電路結構和電路元件是如何實現的?
01-11
正在學邏輯電路,然後今天看ppt時突然想到。。
一個位元組是8個二進位編碼,一個觸發器能存放一個二進位編碼,一個觸發器至少要兩個或非門,然後一個或非門又要兩個二極體和一個三極體來電路實現。按這樣來說,比如我這破電腦2G內存,大概能存21億個二進位編碼,所以短短的內存條裡面有42億個二極體和21億個三極體?還是說有其他技術的應用可以簡化電路結構或者電路元件的實現?
用觸發器存儲的叫寄存器,讀寫速度快,但是面積大,用在CPU裡面.
SRAM,用兩個反相器實現一個bit..
DRAM,一個晶體管加一個電容實現一個bit.所以你的內存里沒有那麼多晶體管.但是也有很多晶體管....要不然怎麼叫,集成電路呢?Intel的FinFET,一個晶體管的特徵尺寸才22nm,很小的......
可以看一下經典的6管單元,BTW,現在CMOS攻一下,內存已經很少用二極體和三極體了
SRAM 的電路是這樣的:
- 在 WL 低電平的時候,M5 和 M6 斷開,此時整個電路可以看成兩個護衛反向的反相器互相把輸出作為對方的輸入(M1, M2 vs M3, M4),因此 Q 和 Q" 狀態保持不變
- 在讀取內存的時候,事先將 BL 和 BL" 都充到 1,然後充 WL,打開 M5 和 M6。如果之前的 Q 為 1,則此時 BL 一側 M4 和 M6 導通,BL 被 VDD 充到 1,而 BL" 側 M1 導通,BL 接地,放到 0;Q 為 0 時過程累死。換言之在 WL 打開後 BL 和 BL" 會變為不同的電壓,通過放大電路即可判斷讀取完成。
- 寫內存的過程和 SR 鎖存器很相似:寫 1 時把 BL 和電源導通,寫 0 則把 BL" 和電源導通(另一根線則接地)。由於 BL/BL" 的驅動能力要高於 Q,因此鎖存器的內部狀態就會被改變。
內存里一般使用DRAM,每個bit由一個電容和一個mos管組成。面積比SRAM小得多,但速度慢。
推薦兩個鏈接:
1. How a CPU is madehttps://www.youtube.com/watch?v=qm67wbB5GmI
2. 每個程序員都應該了解的內存知識【第一部分】推薦閱讀: