Dark Silicon 小註解

最近讀到一篇文章 [1] 說到 Dark Silicon 的問題, 並且把它翻譯成 “蚊子矽電路". 矽電路容易理解, 但是和蚊子有什麼關係呢? 雖然這引起了我的好奇心, 不過始終得不到解答.

那麼, Dark Silicon 又是什麼呢? 它是指 IC 裡面不能開的電路. 出於省電的考量, 所有的 IP 不能同時工作. 這就好像公司有 15 個人上班, 發電機卻只能支援同時開 10 盞燈和 10 台電腦. 如果某人沒輪到供電, 就只能在黑暗 (Dark) 中發呆, 順便餵蚊子? 嗯, 也許這是蚊子矽電路名稱的由來, 哈!

根據 [2] 的說法, 在 22nm 的時候, dark silicon 會佔 IC 面積得的 20%, 而到了 8nm, dark silicon 將會佔 50%. 這樣就很有趣了, 問題有這麼嚴重嗎? 讓我們來看一下論文 [3].

論文說 dark 或 dim (昏暗的) silicon 並不是 IC 設計師故意造成的, 而是製程本身的特性使然. 假設我們從 32nm 進步到 22nm, 那麼有一個 Scaling factor –  S = 32/22 = 1.4X (40nm 進步到 28nm 也是一樣的道理.) 理論上, 同樣面積的 IC, 電晶體多了 S2 (1.4 x 1.4 = 1.96 約 2X) 倍,  而電晶體的速度 (transistor switching frequency) 又可以增加 S 倍, 所以我可以得到效能 S (1.4 x 1.4 x 1.4 = 2.74 約 2.8X)  的新晶片.

由於 power = quantity  (電晶體數量) x Capacitance (電容) x Vdd2 (電壓) x frequency (頻率), 所以早期每當製程進步 S, power 就增加 S2 x 1/S x 1/S2 x S = 1, …嗯, 沒增加. 可是到了次微米時代, threshold voltage 如果持續降低, 則漏電電流也會愈來愈大, 導致功耗增加. 因此  Vdd2 不能再降了, 變成定值 1, 與製程無關. 新的功耗也變成 S2 . 為了抵消功耗增加, 只好把 utilization 減少. 看下圖 (from [3]) 的說明, 若每一個小方格是一顆 CPU, 在功耗不變的考量下, 製程的進步就會帶來 dark silicon.

左邊的 4 核 IC 在 65nm 是 4 格大小, 到了 32nm (S = 2), 同樣的面積可以放下 16 個 core. 為了不增加功耗, 還是跑 1.8 GHz, 那麼 3/4 的 IC 面積即使放了電路也都不能動, 不然功耗會增加. 換言之, 3/4 面積變成 dark silicon (右下角的方案). 為了解決這個問題, 我們讓 50% 的 cell dark, 50% 的 cell dim. 這新的灰色的 4 核, 其實每一核的電晶體數目不變, 而面積都比原先大一倍, 使用率是 1/2 (右上角的方案).

以上講的都是學術上的思路. 真實情況下, 我們會希望 IC 設計不用改, 換了製程之後, 面積變成 1/S2 , 速度變成 S 倍, Utility 不變, 功耗 (1/S x 1/S2 x S) 下降. 但考慮漏電電流很大的情況下, 功耗和預期的 1/S2 相比, 可是差很大, 就只是小降而已.

[ref]

1. 迎向未來消費性裝置的設計趨勢

2. What is dark silicon?

3. Is Dark Silicon Useful?