徐勁松,管燕萍,湯新柱
(中興通訊 上海研發中心,上海201203)
?
AM186EM處理器的地址空間優化及應用
徐勁松,管燕萍,湯新柱
(中興通訊 上海研發中心,上海201203)

AM186EM;CPU;地址空間
隨著通信技術的迅速發展,各種新業務層出不窮,電信運營商對通信設備的功能需求日益增多,因此,通信設備經常需要升級軟件版本,而隨著功能的日趨完善,軟件版本所需的存儲空間越來越大。電信級的通信設備對實時性的要求很高,往往需要較大的內存來存儲實時數據,因此,通信設備中往往配置盡可能多的內存。另一方面,激烈的競爭促使各通信設備制造商盡可能采用物美價廉的器件以降低設備成本。一些廉價而高性能的處理器獲得了廣泛的應用,然而這一類處理器的尋址空間往往是有限的。AM186EM處理器由于其低成本、高性能,在基于x86架構的嵌入式系統及通信設備中獲得了廣泛應用。
AM186EM處理器只有20位地址的尋址空間,即存儲器的尋址范圍只有1M空間,包括內存RAM、程序存儲器FLASH以及外圍存儲器(如雙口RAM等)映射到存儲器的尋址范圍。

圖1 AM186EM處理器的寄存器設置圖
圖1是AM186EM處理器的寄存器設置圖,可以分別設置高端存儲器片選(Upper Memory Chip Select,UMCS)寄存器、低端存儲器片選(Lower Memory Chip Select,LMCS)寄存器、中端存儲器片選(Midrange Memory Chip Select,MMCS)寄存器以及輔助(PCS and MCS Auxiliary,MPCS)寄存器這4個寄存器的地址范圍,而且UMCS、LMCS和MMCS寄存器可以針對不同設備的讀寫速率分別設置不同的等待狀態。




圖2 采用AM186EM處理器的通信設備的設計框圖
這種設計的缺點是:假設通信設備對RAM的需求很大,需要設置LMCS寄存器的選通范圍為處理器允許設置的最大RAM容量,即512K內存。因此,FLASH和外圍存儲器共用另外的512K的地址范圍。但是設置UMCS寄存器時只能選擇64K、128K、256K或512K的地址范圍,而外圍存儲器的地址范圍一般用不到256K的地址范圍(例如只使用了64K)。這樣,系統的FLASH容量往往受限于256K的空間,因此系統若要增加新的業務處理程序,卻則會受到很大限制,而另一方面,AM186EM處理器的1M尋址空間中有些地址空間未使用。
同樣,對于另一類通信設備,如果系統最初的地址空間分配已經設置UMCS寄存器的選通范圍為處理器允許設置的最大FLASH容量(即512K FLASH),則內存和外圍存儲器共用另外的512K的地址范圍。但是設置LMCS寄存器時只能選擇64K、128K、256K或512K的地址范圍,而外圍存儲器的地址范圍一般用不到256K的地址范圍(例如只使用了64K)。這樣,系統的RAM容量往往受限于256K的空間,因此系統若因新的業務處理程序需要更大的內存,則會受到很大限制,而另一方面AM186EM處理器的1M尋址空間中有些地址空間也未使用。
針對AM186EM處理器,提供了一種地址空間優化的應用,可以擴展FLASH或者內存的可用空間,最大化利用處理器提供的地址空間范圍。以采用了最大RAM容量(512K)的通信設備為例,對擴展該設備FLASH容量的情況進行詳細說明。對于采用了最大FLASH容量(512K)的通信設備,如何擴展該設備的RAM容量,其實現原理是類似的。

圖3 基于AM186EM處理器的采用地址空間優化的通信設備的設計框圖
圖3是基于AM186EM處理器的采用地址空間優化的通信設備的設計框圖。對于采用最大RAM容量的通信設備,設置對應選通RAM地址范圍的低端寄存器,使處理器能夠選通允許設置的最大RAM容量(512K)。接下來,使FLASH和外圍存儲器(如雙口RAM等)共享處理器高端寄存器允許設置的最大容量(512K),這樣,除去外圍存儲器所需的容量外,剩余的空間可以全部作為FLASH的尋址空間。
FLASH和外圍存儲器的訪問速率不同,為了避免處理器訪問FLASH或內存時與訪問外圍存儲器時采用同樣的等待周期(以訪問速率低的為標準)從而影響到系統的性能,不能通過設置UMCS寄存器引入統一的等待狀態。可以采用在可編程器件CPLD中產生兩個不同的Ready信號,針對FLASH和外圍存儲器的訪問引入不同的延時,兩個Ready信號通過一個二選一的算法(根據是FLASH的地址范圍,還是外圍存儲器的地址范圍)輸入到AM186EM處理器的異步Ready信號輸入端(ARDY)。
圖4是輸入到AM186EM處理器的ARDY輸入端的Ready信號的產生時序圖。對于AM186EM處理器而言,一般情況下,一個指令周期等于4個時鐘周期。引入外部Ready信號后,處理器會從指令的第三個時鐘周期開始采樣Ready信號的狀態,若Ready信號有效(高電平),則在下一個時鐘周期操作相應的設備;若Ready信號無效(低電平),則不執行任何操作,在下一個時鐘周期再次采樣Ready信號的狀態。因此,Ready信號產生的原理是針對不同的設備通過低電平產生合適的延時后,再通過高電平使信號有效,這樣,處理器在下一個時鐘周期就可以操作該設備了。

圖4 ARDY輸入端的Ready信號的產生時序圖

[1] AMD. AM186EM and AM188EM Microcontrollers User’s Manual[EB/OL].[2015-01].http://support.amd.com/TechDocs/19713.pdf#.
徐勁松(高級工程師),研究方向為通信固網產品的系統設計和規劃。
研華成立WISE-Cloud智慧云平臺聯盟
研華科技在昆山協同創新研發中心舉辦“WISE-Cloud物聯網云平臺聯盟發表會暨大數據商機論壇”。憑借在硬件領域31年的經驗和基礎,研華在大會中首次成立WISE-Cloud物聯網智慧云平臺聯盟,為系統集成商和設備制造商打造一個穩定、快速、整合、模塊化的開發運營環境,CIXING、安杰信息、上海煦輝、海得控制、銀晟偉業、金自天正、米蘭技術七家分別從事數字標牌、智慧物流、智能制造、綜合監控、機器人等領域的合作伙伴,首批進駐WISE-Cloud物聯網智慧云平臺聯盟。
Address Range Optimization and Application Based on AM186EM
Xu Jinsong,Guan Yanping,Tang Xinzhu
(Shanghai R&D Center,ZTE Company,Shanghai 201203,China)

AM186EM;CPU;address range
TN915
A
迪娜
2015-01-07)