重點:
ALU 計算完結(jié)果,直接扔掉就沒有意義了,需要找個方法存起來。
還可能需要多個連續(xù)操作禾进。 ---就需要計算機內(nèi)存。
- 隨機存取存儲器 - RAM
- memory 持久存儲
鎖存器
之前電路都是單向的廉涕,向前流動泻云。
但也可以做回向電路,把輸出連回輸入狐蜕。
- 或門 :
0 OR 0 = 0
1 OR 0 = 1 --> 1 回流到 B 改為 1 OR 1 = 1
將A 變成0 OR 門依然輸出1
0 OR 1 = 1
現(xiàn)在這個電路能記錄 “1”
問題: 這是永久的宠纯,無論怎么改 都沒法從 1 變回 0 。
- 與門
1 AND 1 = 1
0 AND 1 = 0 --> 0 回流到 B 改為 0 and 0 = 0
現(xiàn)在這個電路能記錄 “0”
- 兩個連起來就是 AND - OR 鎖存器
設(shè)置 :
復(fù)位:
它存住了1 位信息 --存儲 這叫 “ 鎖存” 因為 “鎖定了一個值”层释,放入叫“寫入” 拿出數(shù)據(jù)叫“讀取”婆瓜。
現(xiàn)在有辦法存入一位值了 Great
- 問題:
用兩條線 “設(shè)置” 和 “復(fù)位” 來輸入 有點難理解,希望只有一條輸入線湃累。
- 希望數(shù)據(jù)輸入 設(shè)為 0 或 1 來存儲勃救。
- 另一根來 “啟用” 內(nèi)存,啟用允許寫入治力,沒有啟用鎖定。
解決: 門鎖 可以打開和關(guān)閉
打開:
關(guān)閉:
提升 “抽象” 寄存器
把 “門鎖” 放到盒子里勃黍,盒子能存一個bit
一切從0 開始
如果 輸入 從0 切換到1 或者從1 切換到0 輸出依然 0 宵统,因為允許寫入線 是關(guān)閉的,所以內(nèi)容不會變化覆获。
允許寫入 輸入 1 马澈,“打開門”
Success 保存成功 !弄息!
關(guān)掉 允許寫入 線痊班,輸出保持 1 ,不管給輸入什么值摹量,輸出都變涤伐。值保存了。
再打開 缨称,允許寫入 凝果,輸入 設(shè)置 0 ,輸出就是0 睦尽,關(guān)閉器净,輸出 是0 。
允許寫入關(guān)閉 当凡,輸出0 山害。
怎么存儲更多的位纠俭?
只能存儲1 bit 沒什么用。
如果并排放8個 鎖存器浪慌,可以存儲8 位信息冤荆,比如一個8 bit 數(shù)字 最大255 。
- 一組這樣的鎖存器 叫 “寄存器” 眷射。
- 寄存器能存一個數(shù)字匙赞,數(shù)字有多少位,叫 “位寬”妖碉。
- 早期電腦用8 位 寄存器涌庭,然后是 16 位 32 位 64 寄存器。
- 一根線啟用所有允許輸入線欧宜,設(shè)為1
- 然后 8條數(shù)據(jù)線發(fā)數(shù)據(jù)坐榆,然后將允許寫入設(shè)回 0
- 現(xiàn)在8 位值就存起來了。
問題:
如果64位寄存器冗茸,需要64根輸入 席镀,64 輸出 1根啟動 129條線。
存256 要 513 條線夏漱。
解決方法:矩陣
16 x 16 256 位鎖存器豪诲,要啟用某個鎖存器,就打開相應(yīng)的行線和列線
一根線連接所有有的允許寫入線挂绰,行線 屎篱,列線,允許寫入線 都必須是1 葵蒂,每次只有一根鎖存器會這樣交播。 代表可以用一根 “數(shù)據(jù)線” 連接所有鎖存器來傳數(shù)據(jù)。因為只有一個鎖存器會啟用践付,只有那個會存數(shù)據(jù)秦士。
其他鎖存器會忽略數(shù)據(jù)線上的值,因為沒有“允許寫入”
寫入:
讀扔栏摺:做 允許讀取線 來讀數(shù)據(jù)隧土,從一個指定的鎖存器,讀取數(shù)據(jù)乏梁。
只需要 35 條線連接:省了好多
1條 數(shù)據(jù)線
1條 允許寫入線
1條 允許讀取線
16 x 16 矩陣線
16 + 16 + 3 = 35
需要某種方法來 唯一指定交叉路口次洼。
- 比如 12 行 8 列:
由于最多16行 用4位就夠了(8 4 2 1 = 16 )
12 二進制 = 1100
8 二進制 = 1000
12行8列 地址: 11001000
- 11001000 地址轉(zhuǎn) 行 & 列 - “多路復(fù)用器”
行 列 輸入 4位數(shù),查找:
再抽象 遇骑,256 位內(nèi)存
一個沒什么用卖毁,和寄存器一樣,8個并排。
一行8個亥啦,可以存一個8位數(shù)字炭剪, 8位叫一個字節(jié)(byte)
為了存一個8位數(shù)字,同時給8個 256 位內(nèi)存 一樣 的地址翔脱。
每個地址存一位奴拦, 意味著可能存256 個字節(jié) 。
封裝轉(zhuǎn)換 成一個整體的可存取的內(nèi)存届吁。
每個地址能讀或?qū)?一個8位值错妖。
現(xiàn)在的兆字節(jié)(Mb )千兆 (GB) ,和這個做的一樣疚沐,不斷把內(nèi)存打包到更大規(guī)模暂氯。
隨著內(nèi)存地址增多,內(nèi)存地址也必須增長亮蛔。
8 位最多能代表 256個內(nèi)存地址痴施。一共256 個數(shù)字。
要給千兆 或十億字節(jié)的內(nèi)存尋址究流,需要32 位地址。
內(nèi)存的重要特征: 可以隨時訪問任何位置神得。
因此叫“隨機存取存儲器” 心傀,簡稱 RAM爆捞。
RAM ,像人們的短期記憶形入,只記錄當前在做什么事情缝左。
真實內(nèi)存
打開放大:
放大:
矩陣:
128 x 64 = 8192 位
每個方格 四個矩陣
8192 x 4 = 32768
32個方格
327368 x 32 = 100萬位
8個芯片 總共 800萬位 = 1兆字節(jié)(1Mb)
1 Byte = 8 Bits
1 KB = 1024 Bytes
1 MB = 1024 KB
1 GB = 1024 MB