硬件和軟件是一顆芯片系統互相依存的兩大部分。本文總結了一顆芯片的軟硬件組成。做爲對芯片的入門級歸納吧。小程序
主控CPU:運算和控制核心。基帶芯片基本構架採用微處理器+數字信號處理器(DSP)的結構。微處理器是整顆芯片的控制中心,會執行一個實時嵌入式操做系統(如Nucleus PLUS),DSP子系統負責基帶處理。應用處理器則可能包含多顆微處理器,還有GPU。微處理器是ARM的不一樣系列的產品(也可以是x86架構),可以是64位或者32位。架構
處理器內部經過「內部總線」將CPU所有單元相連,其位寬可以是8-64位。函數
總線:計算機的總線按功能可以劃分爲數據總線、地址總線和控制總線。分別用來數據傳輸、數據地址和控制信號。CPU內部部件由內部總線互聯,外部總線則是CPU、內存、輸入、輸出設備傳遞信息的公用通道,主機的各個部件經過總線相鏈接。外部設備經過對應的接口電路再與外部總線相鏈接。從而造成了硬件系統。外部總線經過總線接口單元BLU與CPU內部相連。post
片上總線標準高級微控制器總線結構AMBA定義了高性能嵌入式微控制器的通訊標準。定義了三組總線:AHB(AMBA高性能總線)、ASB(AMBA系統總線)、和APB(AMBA外設總線)。性能
AHB總線用於高性能、高時鐘工做頻率模塊。AHB爲高性能處理器、片上內存、片外內存提供接口,同一時候橋接慢速外設。DMA、DSP、主存等連在AHB上。ASB總線主要用於高性能系統模塊。優化
ASB是可用於AHB不需要的高性能特性的芯片設計上可選的系統總線。APB總線用於爲慢速外設提供總線技術支持。ui
APB是一種優化的,低功耗的,精簡接口總線,可以支持多種不一樣慢速外設。由於APB是ARM公司最先提出的總線接口,APB可以橋接ARM體系下每一種系統總線。spa
外設I/Oport和擴展總線:GPIO通用port、UART串口、I2C、SPI 、SDIO、USB等,CPU和外擴的芯片、設備以及兩顆CPU之間(如基帶處理器和應用處理器之間)進行通訊的接口。通常來講。芯片都會支持多種接口。並設計通用的軟件驅動平臺驅動。操作系統
存儲部件和存儲管理設備:Rom、Ram、Flash及控制器。.net
處理器系統中可能包括多種類型的存儲部件。如Flash、SRAM、SDRAM、ROM以及用於提升系統性能的Cache等等。不一樣的芯片會採用不一樣的存儲控制組合。參見博文」arm架構的芯片memory及智能機存儲部件簡述「
外設: 電源和功耗管理、復位電路和watchdog定時復位電路(前者是系統上電執行、後者是Reset或者超時出錯執行)、時鐘和計數器、中斷控制器、DMA、 輸入/輸出(如鍵盤、顯示器等)、攝像頭等。
一顆ARM9架構芯片主控器及外圍硬件設備組成例如如下圖所看到的:
芯片上的軟件主要包含Boot代碼、操做系統、應用程序以及硬件的firmware。
Boot程序引導設備的啓動,是設備加電後在操做系統內核執行以前執行的一段小程序。
經過這段小程序,咱們可以初始化硬件設備、創建內存空間的映射圖,從而將系統的軟硬件環境帶到一個合適的狀態,以便爲終於調用操做系統內核準備好正確的環境。
操做系統(英語:Operating System。簡稱OS)是管理和控制計算機硬件與軟件資源的計算機程序,其五大管理功能是:
(1)處理器管理,主要包含進程的控制、同步、通訊和調度。
(2)存儲器管理,主要包含內存的分配、保護和擴充,地址映射。
(3)設備管理。主要包含設備的分配、處理等。
(4)文件管理,主要包含文件的存儲空間管理,文件夾管理,文件的讀寫和保護。
(5)做業管理,主要包含任務、界面管理。人機交互,語音控制和虛擬現實等。
應用處理器上的操做系統有Android、IOS等,沒必要多說;基帶處理器上則會執行一個RTOS(如Nucleus PLUS)管理整個基帶系統上的任務和部件間的通訊。
應用程序是爲了完畢某項或某幾項特定任務而被開發執行於操做系統之上的程序。應用處理器上。結合操做系統API和庫函數,用戶可以開發各色應用程序;基帶處理器上則通常僅僅有少許必要的軟件支持。
硬件firmware則是簡化軟件與硬件的交互,讓硬件操縱起來更easy。