A一顆像素之後:訊號進了整支手機
系列①把光變成數位碼、系列②教你讀 4T / 6T 細胞。這一頁把鏡頭再拉遠——CIS 只是手機 SoC 外掛的一顆感測器,它的資料透過 MIPI CSI-2 進到晶片裡的 ISP,再經 NoC 匯流排分送給 CPU / GPU / NPU 運算,並在 cache(6T SRAM)與 DRAM 之間進出。把游標移到任一個方塊看它的角色,橘色路徑就是一張照片從感測器到被運算的旅程。
點「播放」,看橘色資料封包沿 ①→②→③→④ 跑一圈,每站亮起對應方塊。
👆 把游標移到任一個方塊上,這裡會顯示它的角色、和 CIS 資料流的關係,以及它對應到系列①②的哪一塊。
B一張照片的旅程(橘色路徑)
對照上圖的橘色箭頭與編號:
CIS →(MIPI CSI-2)→ ISP
感測器把每一幀 raw bayer 透過高速串列介面 MIPI CSI-2 送進 SoC。這是 CIS 與整個系統唯一的接口——系列①訊號流的終點(ADC→ISP)就接在這裡。
ISP →(NoC)→ 系統
ISP 把 raw 變成可看的影像(去馬賽克、白平衡、去噪…),處理好的資料丟上 NoC 匯流排,讓整個系統都拿得到。
經記憶體控制器 → 寫進 DRAM
整幀影像通常先寫進晶片外的 LPDDR DRAM 暫放(容量大)。熱資料則留在晶片內的 cache(6T SRAM)以加速。
CPU / GPU / NPU ←(NoC)← 讀取運算
需要的運算單元再把資料讀回來:NPU 跑 AI 影像(夜景、人臉、語意)、GPU 做合成、CPU 統籌。讀寫頻繁的部分靠 cache 命中避免每次都跑慢速 DRAM。
為什麼要有 cache?本例使用封裝外接 DRAM,容量大、存取延遲通常高於片上 cache;6T SRAM 做的 cache 在晶片內、又快又貴(一個 bit 要 6 顆電晶體)。把最常用的資料留在 cache(L1 → L2 → L3/LLCL1 / L2 / L3(LLC)差在哪?常以 SRAM 實作,但 bitcell、port、組織與實體設計可不同;不能說各層完全一樣。差在大小 / 速度 / 共享範圍:越往外越大、越慢、越多核共享。L1 最小最快(貼著核心、單核私有);本示意將共享 LLC 畫在 NoC 上;實際 L3、LLC 與 system cache 不必是同一個 block。LLC=最後一層快取的稱呼,通常就是 L3。真正換積木的是 DRAM(1T1C)。 一層層),命中命中(cache hit)CPU 要的資料剛好在這層快取裡找到=命中,秒拿、不必往外跑。找不到=失誤(miss),得問更外層、最後跑 DRAM(慢上百倍)。命中率越高=越少跑 DRAM=越快越省電。就不必跑 DRAM——這就是系列②那顆 6T SRAM cell 在整支手機裡的工作。記憶體階層的取捨(快/小 vs 慢/大)是 SoC 效能的核心。下面 D 段可以親手模擬一次「命中」和「失誤」。
C三個尺度,一條訊號
這個系列從三個尺度看同一顆訊號,現在可以串起來了:
光子 → [4T 像素] 收集電荷(類比) → ADC 數位化 → [ISP] 處理
↑ 系列① 看「長什麼樣」 ↑ 系列② 看「電怎麼接」
→ 經 NoC 寫進 [Cache / DRAM](6T SRAM 存 bit) → CPU / NPU 運算 → 成像
↑ 系列③ 看「資料往哪流」
感測 vs 記憶,兩種基本細胞:
・4T 像素=感測的細胞,住在像素晶圓,把光變成類比電壓(靠 source follower 讀出)。
・6T SRAM=記憶的細胞,住在邏輯晶圓與這頁的 cache,把一個數位 bit 鎖住(靠 cross-coupled latch)。
光從前者進來、變成數字、被後者存住,再被運算——這就是手機拍一張照片,從矽到畫面的完整路徑。
D記憶體階層:命中 vs 失誤(深入這頁的 cache)
同一種 6T SRAM 積木,蓋成越來越大、越來越遠的盒子。CPU 要資料時「由近到遠逐層問」——在哪一層找到,就叫在那層命中。點任一層看規格,或按按鈕模擬一次存取。
點「模擬命中」或「模擬失誤」看一次存取怎麼跑;或點任一層看它的規格。
👆 點上面任一層(CPU / L1 / L2 / L3 / DRAM)看它的大小、速度與用途。
怎麼讀這張圖:箱子越往右越大、越慢、越多核共享,但 L1~L3 都是同一種 6T SRAM——只有最右邊的 DRAM 換成 1T1C、還被畫到晶片外。按「模擬失誤」會看到最慘的情況:一路 miss 到 DRAM,再把資料長途搬回核心。