ALU能執行 算術和邏輯運算,算出來以後的結果須要存起來,可能還要進行多個連續操做,所以須要用到計算機內存。優化
隨機存取存儲器:簡稱"RAM",它只能在有電的狀況下存儲東西,好比遊戲狀態。
持久存儲:電源關閉時數據也不會丟失。spa
3.1 背景:
前幾集說過的電路都是單向的,老是向前流動,好比上集的 8 位 "脈動進位加法器"。但也能夠作迴向電路,把輸出連回輸入。設計
3.2 例子1:用一個 OR 門試試,把輸出連回輸入。
(1)兩個輸入(A,)都設爲 0,"0 OR 0" 是 0,因此電路輸出0。
(2)將 A 變成1,"1 OR 0" 爲 1,因此輸出 1。一轉眼的功夫,輸出回到 B,OR 門看到兩個輸入都是 1,"1 OR 1" 仍然爲1,因此輸出不變。
(3)若是將 A 變成 0,OR 門依然輸出 1。
(4)結果:
這個電路能記錄 "1",並且是永久的,不管怎麼試,都無法從 1 變回 0。code
3.3 例子2: AND 門
開始時,A 和 B 都設 1,"1 AND 1" 永遠輸出 1,若是以後 A 設爲 0,因爲是 AND 門,輸出會變成 0。
結論:這個電路能記錄 0,不管 A 設什麼值,電路始終輸出 0。遊戲
把能存 0 和 1 的電路結合起來作成AND-OR 鎖存器。圖片
4.1 特色:
有兩個輸入。"設置"輸入, 把輸出變成 1, "復位"輸入, 把輸出變成 0。
若是"設置"和"復位"都是 0,電路會輸出最後放入的內容。也就是說,它存住了 1 位的信息!
放入數據的動做叫 "寫入" ,拿出數據的動做叫 "讀取"內存
4.2 缺點:it
用兩條線 "設置"和"復位" 來輸入, 有點難理解。class
4.3 優化:門鎖電路
爲了更容易用,咱們但願只有一條輸入線,將它設爲 0 或 1 來存儲值;還須要一根線(容許寫入線)來"啓用"內存,啓用時容許寫入,沒啓用時就 "鎖定。由於門能夠打開和關上,因此叫"門鎖"。
將"門鎖"抽象成組件:把 "門鎖" 放到盒子裏 - 這個盒子能存一個 bit。關掉容許寫入線,無論給 "數據線" 什麼值,輸出都不會變。容器
5.1 定義:
若是並排放 8 個鎖存器,能夠存 8 位信息,好比一個 8 bit 數字,一組這樣的鎖存器叫 "寄存器"。
寄存器能存一個數字,這個數字的位數,叫"位寬"。早期電腦用 8 位寄存器,而後是 16 位,32 位, 64 位寬的寄存器。
5.2 原理設計
5.3 並排放置鎖存器的缺點
若是隻有不多的位(bits),把鎖存器並排放置,也勉強夠用,可是64 位寄存器要 64 根數據線,64 根"容許輸入線"和1 根線啓用全部鎖存器 , 加起來也有 129 條線了。若是存 256 位要 513 條線。
改進:使用矩陣 排列鎖存器。
在矩陣中,將鎖存器排列成網格。
存 256 位,咱們用 16x16 網格的鎖存器,有 16 行 16 列,要啓用某個鎖存器,就打開相應的 行線 和 列線。
6.1 特色:
用一根 "容許寫入線" 連全部鎖存器,爲了讓鎖存器變成 "容許寫入",行線,列線和 "容許寫入線" 都必須是 1。
每次只有 1 個鎖存器會啓用,來存數據。其餘鎖存器會忽略數據線上的值,由於沒有 "容許寫入"。
6.2 多路複用器:
原理:
須要某種方法來 惟一指定 交叉路口,好比說在城市中,你可能想和別人 在第 12 大道和第 8 街的交界碰面,這是一個交叉點的地址。反應到矩陣中是"12行 8列"。12 用二進制表示爲 1100,8 用二進制表示爲 1000。"12行 8列"能夠寫成 11001000,爲了將地址轉成行和列,咱們須要 "多路複用器。
即 使用二進制表示行和列,來惟必定位鎖存器。
工做方式:
輸入一個 4 位數字,它會把線連到相應的輸出線,若是輸入 0000,它會選擇第一列,若是輸入 0001,會選擇下一列。
一個多路複用器處理行(row) N 另外一個多路複用器處理列(column)。
7.1 256 位內存
能夠把 256 位內存當成一個總體。構成以下:
7.2 擴大規模,並排放置256 位內存。
一行8個,能夠存一個 8 位數字 , 8 位也叫一個字節(byte)。
爲了存一個 8 位數字,咱們同時給 8 個 256 位內存同樣的地址,每一個地址存 1 位。這裏總共能存 256 個字節 (byte)。
7.3 當作一個總體的可尋址內存。
有 256 個地址。每一個地址能讀或寫一個 8 位值。
7.4
8 位最多能表明 256 個內存地址 ,(1111 1111 是255,0~255 一共 256 個數字)。要給千兆或十億字節的內存尋址,須要 32 位的地址。
內存能夠隨時訪問任何位置,所以叫 "隨機存取存儲器" ,簡稱 RAM。
RAM 就像人類的短時間記憶,記錄當前在作什麼事。
這節課 咱們用鎖存器作了一塊 SRAM(靜態隨機存取存儲器),還有其餘類型的 RAM,如 DRAM,閃存和 NVRAM。它們在功能上與 SRAM 類似,但用不一樣的電路存單個位,- 好比用不一樣的邏輯門,電容器,電荷捕獲或憶阻器。但根本上 這些技術都是矩陣層層嵌套,來存儲大量信息。