在對ARM體系結構進行分析的基礎上,介紹了32位ARM核處理器W90N740的結構特點和優異性能,討論了它的應用方法。給出了用W90N740芯片降低系統成本的實現方案。 W90N740是臺灣Winbond公司開發的基于32位ARM核的高性能、低功耗微處理器。W90N740采用ARM7TDMI內核,內建兩個10/100Mb MACs以太網絡控制器,并采用Winbond獨家專利的網絡地址轉換加速器NAT Accelerator。該器件用硬件方式加速網絡封包的轉換,不僅減少了中央處理器的負擔,同時也大幅提高了寬頻的整體系統效能。而芯片方式集成的USB控制器則可透過USB界面連結各種電腦周邊設備,以增添產品附加值。此外,W90N740內部還集成了EBI(external bus interface)控制器、系統管理器、GDMA控制器等。因而在許多應用領域,用該器件設計的系統成本比目前同類產品要低。加上ARM公司開發環境支持匯編語言、C和C++,其軟件開發也十分方便。因此,W90N740雖不是主流產品,但也是許多網絡電子產品的選擇方案之一。 1 ARM體系結構 1.1 ARM體系的指令集 ARM體系具有ARM和Thumb兩種指令集。當處理器工作在ARM狀態時,執行ARM指令集;而當其工作在Thumb狀態時,則執行Thumb指令集。 所有ARM指令都是32位長度。指令以字對準方式保存,這樣,ARM狀態指令地址的最低2位總是零。實際上,一些指令通常使用最低有效位來判定代碼是轉向Thumb代碼還是ARM代碼。 ARM指令集主要包括存儲器訪問指令、數據移動指令、數據處理指令、分支指令、協處理器指令、狀態寄存器轉移指令和異常處理指令等。 所有Thumb指令都是16位長度,這些指令可在存儲器中以半字對準方式保存。因而,指令的最低有效位在Thumb狀態下總為零。實際上,Thumb指令集是32位ARM指令集的功能子集。 1.2 ARM體系的編程模型 (1)ARM支持的數據類型 ARM處理器支持下列數據類型:Byte(字節),8位;Halfword(半字),16位;Word(字,必須與4字節邊界對齊),32位。 (2)ARM處理器模式 ARM體系結構支持7種處理器模式:用戶模式(User)、 快速中斷請求(FIQ,Fast Interrupt request)、中斷請求(IRQ,Interrupt ReQuest)、管理(Supervisor)、中止(Abort)、系統(System)和未定義(Undefined)。除用戶模式外,其它模式統稱為特權模式。大多數應用程序可在用戶模式下執行。當處理器工作在用戶模式時,正在執行的程序不能訪問被保護的系統資源,也不能改變模式,除非發生異常。因此,開發中應適當編寫操作系統來控制系統資源的使用。 (3)ARM寄存器組織 ARM處理器總共有37個寄存器?其中有31個32位的通用寄存器(包括程序計數器?PC )和6個32位的狀態寄存器(但是只使用了其中的12位)。該處理器將寄存器安排成部分重疊的組,每種處理器模式使用不同的寄存器組。同時?在所有處理器模式下都可以訪問當前程序狀態寄存器CPSR。而CPSR則包含條件碼標志、中斷標志位、當前處理器模式以及其它狀態和控制信息。每種異常模式都有一個程序狀態保存寄存器SPSR。當異常出現時SPSR可用于保留CPSR的狀態。 (4)異常處理 異常通常由內部或外部源產生,并引起一個事件。比如,外部中斷或試圖執行未定義指令都會引起異常。在處理異常之前,必須保留處理器狀態,以便在異常處理程序完成后,使原來的程序能夠重新執行。同一時刻可能出現多個異常。ARM支持七種類型的異常。異常出現后,系統將強制從異常類型對應的固定存儲器地址開始執行程序。 (5)存儲器和存儲器映射I/O ARM體系結構允許使用現有的存儲器和I/O器件來進行各種各樣的存儲系統設計。ARM體系結構使用232個8位字節的單一線性地址空間。設計時可將字節地址作為無符號數看待,范圍為0~232-1。而將地址空間看作由230個32位字組成。每個字的地址都是字對準的,故地址可被4整除。其存儲器的存儲使用了兩種映射方法:小端存儲系統和大端存儲系統,其映射方式分別如圖1(a)、(b)所示。 2 W90N740的結構特點 W90N740的內部功能框圖如圖2所示。W90N740內核為80MHz的ARM7TDMI 32位處理器,可支持大/小模式?Big/Little-Endian mode 的工作方式。該內核內置有8kB的指令高速緩沖存儲器(I-Cache)和2kB 數據高速緩沖存儲器(D-Cache),它們是相同類型的存儲器(除容量大小不同外),可與存儲器之間以塊(cache line)為單位進行數據交換。每個高速緩沖存儲器具有4字塊大小,當其中一個高速緩沖存儲器未命中時,其4字塊大小的信息必須從外部寄存器中連續的獲取,其替換算法采用最近最少使用算法(LRU, Least Recently Used)。當I-Cache或D-Cache被禁用時,可以通過Cache 控制寄存器把Cache設置成片上 RAM。另外,W90N740還提供了一個8字的寫緩沖器(Write-Buffer).主要用來優化向主存儲器的寫入操作。Cache和寫緩沖器的引入大大改善了W90N740存儲系統的性能。 W90N740內含鎖相環PLL,可用于CPU和USB 主機控制器,使用參考頻率為15MHz。LL給其它片內控制器提供的時鐘頻率范圍為3~30MHz。 W90N740內有USB 主機控制器,該控制器兼容USB 1.1標準,支持低速率(1.5Mbps)和全速率(12Mbps)的USB 設備。同時還內置有用于實時數據傳輸的DMA控制器。 通過W90N740中EBI控制器提供的外部總線可訪問片外SDRAM、ROM/SRAM、Flash memory和I/O設備。在內置 cache失效時,EBI控制器仍可獲得與CPU核相同的工作頻率以保證其處理速度。具有兩個10/100Mbps以太網MAC控制器?EMC 是W90N740的一大特點。MAC控制器主要應用于WAN或LAN。它內有兩個MAC控制器,因而可大大增強此芯片在WAN端口與LAN端口之間的應用性能,降低系統成本。EMC采取的工作方式是半/全雙工方式,每個EMC除包括IEEE802.3以太網協議引擎外,還含有DMA控制器和收/發FIFO。EMC提供有兩個可選擇的接口:媒質獨立接口MII( Media Inde-pendent Interface)和精簡媒質獨立接口RMII?Reduced MII ?使用時可選擇任一接口,同時結合片外速率為10/100Mbps的PHY芯片接口還可以設計多種類型的應用產品。另外,EMC支持長幀(長度大于1518 字節)和短幀(長度小于64 字節)兩種幀結構,而且對外部的PHY也具有站點管理功能。 NAT加速器 ?Patent Pending 主要用來提供硬件加速功能,其目的是加快端口和IP地址的查尋及網絡地址的轉移,其中包括MAC地址的轉移。同時,NAT加速器還可提供64項地址轉移列表。W90N740有兩個通道可用于通用直接存儲器訪問GDMA(General Direct Memory Access)。在CPU不干預的情況下,GMDA控制器可直接控制以下三種形式的數據傳輸:即存儲器與存儲器之間、存儲器至I/O之間以及I/O至存儲器之間。 基于中斷操作的UART模塊具有全設置的MO-DEM控制功能(CTS,RTS,DSR,DTR,RI和DCD等),其主要作用是完成來自外圍設備(如MODEM等)的串并轉換和來自CPU的并串轉換。高級中斷控制器AIC(Advanced Interrupt Controller)具有18個中斷源,其中包括4個外部中斷源。它們可以靈活地設置成可編程的IRQ或FIQ中斷模式,并可對4個外部中斷源進行可編程的邊沿觸發或優先級觸發。同時,也可對其進行可編程的低使能或高使能。在中斷嵌套時, AIC可自動檢測出低優先級中斷。 另外,W90N740具有兩個帶8 位優先級的定時器和一個可編程的24位看門狗定時器,這些定時器有短模式、周期模式和插入模式三種工作模式。同時具有21個可編程I/O接口,這些I/O接口可設置成多種功能的接口。W90N740的JTAG調試接口支持多種調試開發工具。 3 W90N740的應用 3.1 W90N740在VoIP路由器用戶板中的應用 在VoIP(Voice over IP)路由器用戶板的設計中,筆者選用W90N740來進行信息包解包,其系統硬件結構如圖3所示。其工作過程如下: 首先將來自用戶接口的語音數據經過語音處理模塊處理以產生PCM語音數據,然后將其傳送給DSP處理器并由DSP對該PCM語音數據進行回聲抵消、語音壓縮等序列處理,接著由W90N740封裝控制信息打包,再由UART口傳送給雙端口RAM,最后送給VoIP路由器主板。與此相反,由路由器主板把從網絡接收到的語音數據包經過雙端RAM傳送給W90N740,由其MAC進行解包處理并去除控制信息,而后得到語音壓縮包,經MAC0口傳送給DSP并由DSP進行語音解碼等處理后,得到PCM語音數據送回到語音處理模塊;最后由用戶接口送給用戶端。這里,W90N740與DSP芯片之間采用的工作方式是主從方式,CPU為主控設備,DSP為從設備,主要實現整個系統的控制、DSP程序的下載和語音數據包的傳送等功能。 3.2 W90N740在其它領域的應用 由于W90N740內置有兩個以太網 MAC和USB 主機以及32位ARM的微控制器,因此,它和W99684CBM或W99688CBM3數字相機晶片結合可組成為網絡相機。這樣,連上網絡,使用者便可以透過電腦或彩屏手機隨時監視遠方場景。 W90N740在稅控機、快速閃存、打印機伺服器、無線接入點、用戶網關、GPS、局域網監控等系統無疑將具有廣泛的用途。 |