ARM公司標誌
ARM(Advanced RISC Machine):高階精簡指令集處理器。ARM既是一家公司的名字,也是該公司的處理器的名字。ARM公司主要透過賣晶片體系架構和指令集盈利,主要的收入來自於授權和版稅。ARM處理器使用的是精簡指令集,相對於電腦上用的x86架構處理器所使用的複雜指令集,精簡指令集在低功耗方面做得十分出色,因此非常適合用於手機等行動式裝置。而複雜指令集的優點在於其優異的效能。
CPU(central processing unit):中文叫做中央處理單元,是一臺計算機的運算和控制核心。CPU的內部又可以分為好多個單元,如算術邏輯單元(ALU)、通用暫存器組、系統狀態暫存器、指令譯碼器等…其實即使我們不知道CPU的內部組成也不影響我們理解CPU的作用。它就好比人的大腦,我們一切的思想,動作都是由大腦控制的。CPU是計算機系統的重要組成部件。
外設(Peripheral):外部裝置,這是相對於CPU來說的,不屬於CPU內部的部件,比如UART控制器、LCD控制器、DDR控制器、SPI、IIC收發器等…很早期的計算機系統中,CPU是一顆單獨的晶片,UART控制器等外設也是獨立的晶片,這些外設透過CPU的外部匯流排來和CPU掛接在一起。現在的外設和CPU都已經整合在一塊晶片上了,這就是下面要說的SoC。外設的叫法是相對CPU來說的,而不是相對晶片封裝來說的。所以在SoC中,各個外設雖然都在一顆晶片裡面,也仍然叫做外設。
SoC(System on Chip):中文叫做片上系統,近些年來頻頻進入大眾的視野,尤其是每當我們要買手機時我們通常都會關心這款手機用的是哪款SoC。SoC是在CPU的基礎上發展起來的,現在已經沒有純粹的CPU了,都已經往SoC方向發展了,即使是電腦的CPU本質上也已經是SoC了,只是我們保留了CPU的叫法。CPU往SoC方向發展是一個必然,要知道一個計算機系統光光有CPU是不夠的,還需要掛接許多的外設,比如要想驅動液晶螢幕就需要LCD控制器。如果這些外設全都設計成單獨的晶片而不是和CPU整合在一塊晶片上,那我們手上的手機體積和功耗上恐怕要大許多倍。將CPU和外設整合為一顆SoC既方便了計算機硬體的設計,也減低了成本、體積和功耗。
使用ARM核的SoC
瞭解了CPU、外設、SoC的區別後,我們就能理解ARM公司賣的是什麼了。ARM公司所出售的正是CPU的設計。各個SoC廠家買來ARM的授權後,就可以使用ARM的CPU設計藍圖,然後再加上自己的外設,有能力的公司甚至可以修改ARM的CPU核心,這樣做出來的SoC就是各廠家自己的產品了。