1. 程式人生 > >ARM基本構成

ARM基本構成

嵌入式

一顆ARM架構芯片的軟硬件構成

一顆ARM架構芯片硬件和軟件是一顆芯片系統互相依存的兩大部分。

1.硬件

主控CPU:

運算和控制核心。基帶芯片基本構架采用微處理器+數字信號處理器(DSP)的結構,微處理器是整顆芯片的控制中心,會運行一個實時嵌入式操作系統(如Nucleus PLUS),DSP子系統負責基帶處理。

應用處理器則可能包括多顆微處理器,還有GPU。

微處理器是ARM的不同系列的產品(也可以是x86架構),可以是64位或者32位。處理器內部通過“內部總線”將CPU所有單元相連,其位寬可以是8-64位。

總線:

計算機的總線按功能可以劃分為數據總線、地址總線和控制總線,分別用來傳輸數據、數據地址和控制信號。

CPU內部部件由內部總線互聯,外部總線則是CPU、內存、輸入、輸出設備傳遞信息的公用通道,主機的各個部件通過總線相連接。

外部設備通過相應的接口電路再與外部總線相連接,從而形成了硬件系統。外部總線通過總線接口單元BLU與CPU內部相連。

片上總線標準高級微控制器總線結構AMBA定義了高性能嵌入式微控制器的通信標準。

定義了三組總線:AHB(AMBA高性能總線)、ASB(AMBA系統總線)、和APB(AMBA外設總線)。

AHB總線用於高性能、高時鐘工作頻率模塊。AHB為高性能處理器、片上內存、片外內存提供接口,同時橋接慢速外設。DMA、DSP、主存等連在AHB上。

ASB總線主要用於高性能系統模塊。ASB是可用於AHB不需要的高性能特性的芯片設計上可選的系統總線。

APB總線用於為慢速外設提供總線技術支持。

APB是一種優化的,低功耗的,精簡接口總線,可以支持多種不同慢速外設。由於APB是ARM公司最早提出的總線接口,APB可以橋接ARM體系下每一種系統總線。

外設I/O端口和擴展總線:

GPIO通用端口、UART串口、I2C、SPI 、SDIO、USB等,CPU和外擴的芯片、設備以及兩顆CPU之間(如基帶處理器和應用處理器之間)進行通信的接口。

一般來說,芯片都會支持多種接口,並設計通用的軟件驅動平臺驅動。

存儲部件和存儲管理設備:

Rom、Ram、Flash及控制器。處理器系統中可能包含多種類型的存儲部件,如Flash、SRAM、SDRAM、ROM以及用於提高系統性能的Cache等等,不同的芯片會采用不同的存儲控制組合。

外設:

電源和功耗管理、復位電路和watchdog定時復位電路(前者是系統上電運行、後者是Reset或者超時出錯運行)、時鐘和計數器、中斷控制器、DMA、 輸入/輸出(如鍵盤、顯示器等)、攝像頭等。



2.軟件芯片上的軟件主要包括Boot代碼、操作系統、應用程序以及硬件的firmware。


Boot程序引導設備的啟動,是設備加電後在操作系統內核運行之前運行的一段小程序。


通過這段小程序,我們可以初始化硬件設備、建立內存空間的映射圖,從而將系統的軟硬件環境帶到一個合適的狀態,以便為最終調用操作系統內核準備好正確的環境。

操作系統是管理和控制計算機硬件與軟件資源的計算機程序,其五大管理功能是:

1處理器管理,主要包括進程的控制、同步、通信和調度。


2存儲器管理,主要包括內存的分配、保護和擴充,地址映射。


3設備管理,主要包括設備的分配、處理等。


4文件管理,主要包括文件的存儲空間管理,目錄管理,文件的讀寫和保護。


5作業管理,主要包括任務、界面管理,人機交互,語音控制和虛擬現實等。


應用處理器上的操作系統有Android、IOS等,不必多說;基帶處理器上則會運行一個RTOS(如Nucleus PLUS)管理整個基帶系統上的任務和部件間的通信。

應用程序是為了完成某項或某幾項特定任務而被開發運行於操作系統之上的程序。


應用處理器上,結合操作系統API和庫函數,用戶可以開發各色應用程序;基帶處理器上則一般只有少量必要的軟件支持。


硬件firmware則是簡化軟件與硬件的交互,讓硬件操縱起來更容易。


本文出自 “LML倫” 博客,請務必保留此出處http://lmldbk.blog.51cto.com/13159381/1955361

ARM基本構成