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