南北橋晶片演變?系統單晶片(SoC)?來看看這些年來的晶片整合趨勢

打從行動裝置出現後,SoC 這個名詞就大幅出現在人們眼前。然而 SoC 到底是什麼?常常聽人把高通、聯發科等 ARM 架構的晶片叫 SoC,Intel 一度也推出 x86 架構的 SoC 晶片。

所以 SoC 和 CPU 到底又有什麼差別?要談物聯網、談行動裝置產業的未來,不能不知道 SoC 這個決定性的晶片演變。

今天,就讓我們從消失的北橋晶片開始談起,來看看晶片的整合趨勢,以為大家解答這個問題。

 

從南北橋架構演變,到晶片的整合趨勢

bios.png

等等,我們在之前的文章介紹到: SRAM 是快取、DRAM 是主記憶體、NAND Flash 是主要的硬碟。好像沒提到 ROM?

話說回來,電腦開機的時候,主記憶體裡面是一片空白的(因為電腦關機後,所有資料都會消失)。那在系統啟動時, CPU 要如何獲得指令開始執行呢?

為大家介紹一下曾經統治主機板蠻長一段時間的「南北橋架構」。

傳統的 CPU 不是直接接到記憶體,而是會對外連接一塊晶片,叫北橋。如果 CPU 想要去和主記憶體溝通,就得通過北橋晶片、再到記憶體去。

既然有北,想必就有南。所以北橋下方有一塊晶片,叫南橋。南僑晶片的內部中,集結了很多輸入和輸出設備的控制器,其中就包括硬碟的控制器。所以實際上,硬碟是和南橋晶片接在一起的。

硬碟內部保存了電腦所需要的程式和資料。那剛開機時、記憶體還一片空白時,CPU 所需要的指令是否就是直接從硬碟上取得呢?

也不是。要從硬碟中抓資料出來,是件相對複雜的事情。要對硬碟進行配置,還需要一支程式來控制,這就是所謂的「硬碟驅動程式」。

所以在電腦剛啟動時,CPU 並無法從硬碟中得到需要的第一條指令。

那第一條指令去哪生?在主機板上面,還有一塊與南僑相連的小晶片,一般稱為「BIOS 晶片」(Basic Input/Output System)。

這塊晶片的儲存容量很小,會保存一些簡單但十分重要的程式,包括檢查主機板上連接了哪些設備、這些設備是否正常運作,直到確認硬體條件的設定無誤後,接著才會啟動硬碟中的作業系統(例如 Windows)。

有些人和回憶是絕對不能忘記的事物… 啊不是啦,有些資料是絕對不能忘記的事物。為了記載這些東西,就會寫入資料不會消失、也不會被覆蓋掉的 ROM。

就算斷電,ROM 中保存的資料仍不會丟失;所以當電腦電源開啟後,CPU 可以依序通過北橋晶片、南橋晶片,最後跑到 BIOS 晶片中,從裡面取得要執行的指令。

CPU 從 BIOS 中取出指令後,會依序檢查主機板上的各項 I/O 設備,包括顯示卡、鍵盤等。也就是說,幫助 CPU 踏出晶片人生第一步的程式就是 ROM 中的 BIOS 啊!

如果你要用光碟片或 USB 開機來重灌電腦、讓電腦執行系統安裝程序之前,得先到 BIOS 裡面去設定要使用哪個硬碟或哪個光碟機來啟動系統、或執行系統安裝程序。

bios.jpg

現在電腦主機板上的 BIOS 晶片有很多種不同的封裝形式、放的位置也都不同,但大多會標出 BIOS 的字樣,有興趣的人可以看看 BIOS 晶片長什麼樣子。

bios chip.png

Lynn 的胡言亂語:在人腦 5 歲之前的神經元、約莫是成年的 2 倍左右。這個時期是人類建立語言能力與自我意識的關鍵時期。有可能正是神經元的數目,使得人類在 5 歲之前的學習語言更佳容易。
其他動物(貓、狗、豬)一輩子都不可能成功學習人類的語言。這樣看來,人類大腦是有一個BIOS 的(說不定就是那些特別多的神經元),負責 Brain Activation。

不過在上述提到的晶片當中,只有北橋晶片比較特殊;它提供的是各晶片間互相聯絡的通道。

chip.png

一顆處理器(現在幾乎都是多核心處理器)向下會連接著北橋。北橋裡面有主記憶體的控制器、對外連接主記憶體。所以 CPU 得透過北橋和主記憶體溝通。

(現在的顯示卡一般都採用 PCI-Express 標準接口)再來,北橋晶片中也有 PCI-Express 控制器、經過 PCI-Express 的顯示卡插槽,連接到顯示卡,再接到顯示螢幕上面。

也有一些北橋會把顯示卡直接整合進去,變成內建的整合式顯示卡;所以若你對圖形顯示的要求不高,就直接拿北橋的內顯直接連接螢幕即可。

也有些北橋能允許使用者同時使用整合式顯示卡和安裝的外加顯示卡,作為多顯示輸出。

最後,北橋還連接著南橋晶片。南橋晶片中,則集中了大多數 I/O 設備的控制器。

把南北兩橋合起來:

  • 北橋(超高速通道):控制了記憶體和繪圖單元(PCI-Express和AGP),常被稱作MCH(Memory Controller Hub)
  • 南橋(I/O 通道):控制USB、SATA 硬碟、Audio、Lan 等插槽,常被稱作ICH(I/O Controller Hub)

隔著一片海喊話、和踩在同一片土地上講話,效果一定有差;故隔著一個晶片溝通、和直接做溝通,後者必然較佳。

所以我們可以看到新一代電腦的 CPU 插槽與主記憶體的插槽,在主機板的設計上變得更近了。因為現在的 CPU 是直接和主記憶體溝通,不再需要透過北橋晶片了。如此不但提高了資料傳輸速度,也讓晶片製造的成本降低。

螢幕快照 2017-04-28 00.26.33.png

在從前,電腦的主機板上面有多達十幾個晶片來構成整個系統。但為了製造成本考量、並提升晶片的競爭力,把各個晶片的功能整進單一個晶片裡面,成為現在晶片開發商(尤其是 Intel)的顯學。

所以在目前的個人電腦 CPU 中,除了包括了主記憶體控制器,還有 PCI-E 控制器、對外連接顯示卡。北橋晶片中最重要的兩大功能、既然都已經被整合進 CPU 裡面了,那北橋想當然爾就可以被取消了。

Intel 在 2011 年發表的 Nehalem 系列 CPU ,就是把原本負責對記憶體溝通的北橋晶片直接整合進處理器、並把北橋其他剩餘的功能和南橋晶片整合在一起,從此讓北橋晶片從此走入歷史。AMD 在同年發表的 Fusion 處理器同樣取消了北橋。

Intel 在下一代的 Sandy Bridge 中,又進一步把 GPU 與 CPU 整合在同一晶片上。

佔據主機板多年的南北橋架構,就此消失。目前個人電腦的主機板,多為兩顆晶片的設計居多,基本上就能解決大部分事情了。

既然能將三顆晶片縮減為兩顆,能不能又再更進一步縮減晶片數量呢?

答案是可以的。這就是系統單晶片 (SoC) 的概念。

系統單晶片 (SoC, System-on-a-chip) 是指將一個完整的電腦系統——包括中央處理器 (CPU)、記憶體、圖形處理器以及週邊電路等——放入單一個晶片中。

也就是將各個晶片的電路設計縮小化、模組化,使其所有功能皆整合進一顆 IC 當中。

qualcomm.jpg

高通 ARM 架構的 Snapdragon 晶片 Size 只有一個硬幣大。但這顆晶片中又包含了哪些功能呢?

以高通在 2015 年發表的 Snapdragon 810 為例,可以發現在這顆小小的晶片中,已集結了 CPU(四顆 A57 與四顆 A53 核心)、主記憶體接口( LPDDR4)、數位訊號處理器 DSP、圖形處理器 GPU(Adreno 430)…。

Snapdragon808810.png

圖片來源:高通官網

利用這種集中所有必要元件的小型化晶片,我們能用來搭載在小型電腦、也就是手機和平板電腦等行動裝置上。

如果把手機拆開,可以看到手機主機板上的晶片數量並不多。就是因為最近 IC 的整合度提高,使產品功能只要仰賴少數擁有強大功能的晶片即可。

Capture.png

iPhone 5 主機板

隨著摩爾定律走到極致—— IC 上可容納的電晶體數目,約每隔兩年便會增加一倍、性能每 18 個月能提升一倍,晶片和主機板的大小將能越做越小,現在的手機也已經和我們認知中的電腦外觀差距相當大了。

但無論是伺服器、個人電腦、筆電,還是手機、平板,唯一要牢記的事情就是——這些電子產品全都是馮紐曼結構的實現,只是系統和各大元件將會越做越精細