嵌入式系統基礎之:ARM處理器硬件開發平臺
2.ARM9主要特點
ARM處理器憑借它的低功耗、高性能等特點,被廣泛應用于個人通信等嵌入式領域,而ARM7也曾在中低端手持設備中占據了一席之地。然而,ARM7的處理性能逐漸無法滿足人們日益增長的高性能處理的需求,它開始退出主流應用領域,取而代之的是性能更加強大的ARM9系列處理器。
新一代的ARM9處理器,通過全新的設計,能夠達到兩倍以上于ARM7處理器的處理能力。它的主要特點如下所述。
(1)5級流水線。
ARM7處理器采用的3級流水線設計,而ARM9則采用5級流水線設計,如圖4.4所示。
通過使用5級流水線機制,在每一個時鐘周期內可以同時執行5條指令。這樣就大大提高了處理性能。在同樣的加工工藝下,ARM9處理器的時鐘頻率是ARM7的1.8~2.2倍。
圖4.4ARM7與ARM9流水線比較
(2)采用哈佛結構。
首先讀者需要了解什么叫哈佛結構。在計算機中,根據計算機的存儲器結構及其總線連接形式,計算機系統可以被分為馮·諾依曼結構和哈佛結構,其中馮·諾依曼結構共用數據存儲空間和程序存儲空間,它們共享存儲器總線,這也是以往設計時常用的方式;而哈佛結構則具有分離的數據和程序空間及分離的訪問總線。所以哈佛結構在指令執行時,取址和取數可以并行,因此具有更高的執行效率。ARM9采用的就是哈佛結構,而ARM7采用的則是馮·諾依曼結構。如圖4.5和圖4.6分別體現了馮·諾依曼結構和哈佛結構的數據存儲方式。
圖4.5馮·諾依曼結構 圖4.6哈佛結構
由于在RISC架構的處理器中,程序中大約有30%的指令是Load-Store指令,而采用哈佛結構大大提升了這兩個指令的執行速度,因此對提高系統效率的貢獻是非常明顯的。
(3)高速緩存和寫緩存的引入。
由于在處理器中,一般處理器速度遠遠高于存儲器訪問速度,那么,如果存儲器訪問成為系統性能的瓶頸,則處理器再快都毫無作用。在這種情況下,高速緩存(Cache)和寫緩存(WriteBuffer)可以很好地解決這個問題,它們存儲了最近常用的代碼和數據,以供CPU快速存儲,如圖4.7所示。
(4)支持MMU。
圖4.7ARM9的高速緩存和讀緩存
MMU是內存管理單元,它把內存以“頁(page)”為單位來進行處理。一頁內存是指一個具有一定大小的連續的內存塊,通常為4096B或8192B。操作系統為每個正在運行的程序建立并維護一張被稱為進程內存映射(ProcessMemoryMap)的表,表中記錄了程序可以存取的所有內存頁以及它們的實際位置。
每當程序存取一塊內存時,它會把相應的虛擬地址(virtualaddress)傳送給MMU,而MMU會在PMM中查找這塊內存的實際位置,也就是物理地址(physicaladdress),物理地址可以在內存中或磁盤上的任何位置。如果程序要存取的位置在磁盤上,就必須把包含該地址的頁從磁盤上讀到內存中,并且必須更新PMM以反映這個變化(這被稱為pagefault,即“頁錯”)。MMU的實現過程如圖4.8所示。
圖4.8MMU的實現過程
只有擁有了MMU才能真正實現內存保護。例如當A進程的程序試圖直接訪問屬于B進程的虛擬地址中的數據,那么MMU會產生一個異常(Exception)來阻止A的越界操作。這樣,通過內存保護,一個進程的失敗并不會影響其他進程的運行,從而增強了系統的穩定性,如圖4.9所示。ARM9也正是因為擁有了MMU,所以比ARM7具有更強的穩定性和可靠性。
圖4.9內存保護示意圖
4.2.4S3C2410處理器詳解
本書所采用的硬件平臺是深圳優龍科技有限公司的開發板FS2410(如圖4.10所示),它的中央處理器是三星公司的S3C2410X。S3C2410X是使用ARM920T核、采用0.18mm工藝CMOS標準宏單元和存儲編譯器開發而成的。由于采用了由ARM公司設計的16/32位ARM920TRISC處理器,因此S3C2410X實現了MMU和獨立的16KB指令和16KB數據哈佛結構的緩存,且每個緩存均為8個字長度的流水線。它的低功耗、精簡而出色的全靜態設計特別適用于對成本和功耗敏感的領域。
S3C2410X提供全面的、通用的片上外設,大大降低系統的成本,下面列舉了S3C2410X的主要片上功能。
n 1.8VARM920T內核供電,1.8V/2.5V/3.3V存儲器供電;
n 16KB指令和16KB數據緩存的MMU內存管理單元;
n 外部存儲器控制(SDRAM控制和芯片選擇邏輯);
n 提供LCD控制器(最大支持4K色的STN或256K色TFT的LCD),并帶有1個通道的LCD專用DMA控制器;
n 提供4通道DMA,具有外部請求引腳;
n 提供3通道UART(支持IrDA1.0,16字節發送FIFO及16字節接收FIFO)/2通道SPI接口;
n 提供1個通道多主IIC總線控制器/1通道IIS總線控制器;
n 兼容SD主機接口1.0版及MMC卡協議2.11版;
n 提供2個主機接口的USB口/1個設備USB口(1.1版本);
n 4通道PWM定時器/1通道內部計時器;
圖4.10優龍FS2410開發板實物圖
n 提供看門狗定時器;
n 提供117個通用I/O口/24通道外部中斷源;
n 提供不同的電源控制模式:正常、慢速、空閑及電源關閉模式;
n 提供帶觸摸屏接口的8通道10位ADC;
n 提供帶日歷功能的實時時鐘控制器(RTC);
n 具有PLL的片上時鐘發生器。
評論