🗺️ SoC 系統地圖:CIS 的資料去哪了?

把鏡頭從一顆像素拉到整支手機 ・ 系列③(core / cache / IO / ISP 怎麼分工)
ISP ・ NoC ・ Cache ・ DRAM

A一顆像素之後:訊號進了整支手機

系列①把光變成數位碼、系列②教你讀 4T / 6T 細胞。這一頁把鏡頭再拉遠——CIS 只是手機 SoC 外掛的一顆感測器,它的資料透過 MIPI CSI-2 進到晶片裡的 ISP,再經 NoC 匯流排分送給 CPU / GPU / NPU 運算,並在 cache(6T SRAM)與 DRAM 之間進出。把游標移到任一個方塊看它的角色,橘色路徑就是一張照片從感測器到被運算的旅程。
點「播放」,看橘色資料封包沿 ①→②→③→④ 跑一圈,每站亮起對應方塊。
SoC 應用處理器(手機主晶片) CIS 影像感測器 MIPI CSI-2 1 CPU 叢集 big.LITTLE 大小核 大核L1 大核L1 小核L1 小核L1 L2 共用快取(SRAM) GPU 繪圖 / 平行運算 NPU / APU AI 加速器 4 NoC 系統匯流排(interconnect / fabric) ISP 影像訊號處理器 System Cache LLC ・ 6T SRAM 記憶體控制器 LPDDR controller 2 LPDDR DRAM 主記憶體(晶片外) 3
👆 把游標移到任一個方塊上,這裡會顯示它的角色、和 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 核心 ALU+暫存器 L1 64KB · ~4cy L2 512KB · ~14cy L3 / LLC 8MB · ~40cy = System Cache DRAM 8GB · ~300cy 晶片外 · 1T1C
👆 點上面任一層(CPU / L1 / L2 / L3 / DRAM)看它的大小、速度與用途。
怎麼讀這張圖:箱子越往右越大、越慢、越多核共享,但 L1~L3 都是同一種 6T SRAM——只有最右邊的 DRAM 換成 1T1C、還被畫到晶片外。按「模擬失誤」會看到最慘的情況:一路 miss 到 DRAM,再把資料長途搬回核心。