靜態隨機存取記憶體(SRAM)
/ ESS-ram /
想像一個電燈開關,你一旦把它撥到開或關,只要大樓還有電,它就會一直保持那個狀態——你完全不必反覆去撥它。SRAM 就是用這種會自我保持的開關做成的記憶體。每一個位元都存在一個由交叉相連的電晶體組成的小電路裡,這個電路會鎖住一個 0 或 1 並主動持續維持它,於是這個值就穩穩地待在那裡、隨時可用,直到你刻意去改它或斷電為止。這就是它被稱為「靜態」的原因:它不會褪色。
具體來說,一個標準的 SRAM 單元用大約六顆電晶體(6T 單元):其中兩對組成一個首尾相接的反相器迴路來保持位元,另外兩顆當作閘門,讓你讀或寫它。因為這個迴路是被主動驅動的,所以讀取很快、而且讀了不會破壞內容,也沒有會漏掉的電荷需要補充。代價是面積:每個位元六顆電晶體,跟另一種選擇相比又笨重又耗電,所以同一片矽上能塞的位元少得多。SRAM 快,但不密集、每位元也不便宜。
為何重要:SRAM 是機器中那些必須最快的部分背後的技術——CPU 暫存器、暫存器檔,以及晶片上的快取(L1、L2、L3)。它被刻意放在離核心很近的地方,並且保持小巧,因為每一個位元都很貴。誠實的取捨貫穿整個記憶體階層:SRAM 快但小,DRAM 密集但較慢。你之所以要蓋一座階層,正是因為沒有任何單一技術能同時又快、又大、又便宜。
一顆現代 CPU 可能在每個核心旁邊放 64 KiB 的 SRAM 當 L1 快取,但用好幾 GB 的 DRAM 當主記憶體——因為光是 64 KiB 的 SRAM 就已經比你願意花在數 GB 上的矽面積還貴了。
SRAM 留給最小、最炙手可熱的那幾層;DRAM 提供大宗容量。
SRAM 只有在通電時才「靜態」——它仍然是揮發性的,一斷電就全部丟失。「靜態」指的是不需要週期性更新(不像 DRAM),不是指沒電也能保住資料。