RISC和CISC是目前設計制造微處理器的兩種典型技術,雖然它們都試圖在體系結構、操作運行、軟件硬件、編譯時間和運行時間等諸多因素中做出某種平衡,以求達到高效的目的,但采用的方法不同,因此,在很多方面差異較大,主要表現在以下幾個方面。
(1) 指令系統
RISC設計者把主要精力放在那些經常使用的指令上,盡量使它們具有簡單高效的特色。對不常用的功能,則通過組合指令來完成。因此,在RISC機器上實現特殊功能時,效率可能較低。但可以利用流水技術和超標量技術加以改進和彌補。而CISC計算機的指令系統比較豐富,有專用指令來完成特定的功能。因此,處理特殊任務時的效率較高。
(2) 存儲器操作
RISC對存儲器操作有限制,使控制簡單化;而CISC機器的存儲器操作指令多,操作 直接。
(3) 程序
RISC匯編語言程序一般需要較大的內存空間,實現特殊功能的程序復雜,不易設計;而CISC匯編語言程序編程相對簡單,科學計算及復雜操作的程序設計相對容易,效率較高。
(4) 中斷
RISC機器在一條指令執行的適當地方可以響應中斷;而CISC機器是在一條指令執行結束后才響應中斷。
(5) CPU
RISC CPU包含較少的單元電路,因而面積小、功耗低;而CISC CPU包含豐富的電路單元,因而功能強、面積大、功耗大。
(6) 設計周期
RISC微處理器結構簡單,布局緊湊,設計周期短,且易于采用最新技術;CISC微處理器結構復雜,設計周期長。
(7) 用戶使用
RISC微處理器結構簡單,指令規整,性能容易把握,易學易用;CISC微處理器結構復雜,功能強大,容易實現特殊功能。
(8) 應用范圍
由于RISC指令系統的確定與特定的應用領域有關,故RISC機器更適合于專用機;而CISC機器則更適合于通用機。
2. 嵌入式微控制器
嵌入式微控制器(Microcontroller Unit,MCU)又稱單片機,顧名思義,就是將整個計算機系統集成到一塊芯片中。嵌入式微控制器一般以某一種微處理器內核為核心,芯片內部集成ROM/EPROM、RAM、Flash、總線、總線邏輯、定時/計數器、WatchDog、I/O、串行口、脈寬調制輸出、A/D、D/A等各種必要的功能模塊。為適應不同的應用需求,一般一個系列的單片機具有多種衍生產品,每種衍生產品的處理器內核都是一樣的,不同之處在于存儲器和外設的配置及封裝。這樣可以使單片機最大限度地同應用需求相匹配,從而減少功耗和成本。
與嵌入式微處理器相比,微控制器的最大特點是單片化,體積大大減小,從而使功耗和成本下降、可靠性提高。微控制器是目前嵌入式系統工業的主流。微控制器的片上資源一般比較豐富,適合于控制,因此稱為微控制器。
嵌入式微控制器目前的品種和數量最多,比較有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16和68300等。另外還有許多半通用系列,如支持USB接口的MCU 8XC930/931、C540和C541。目前MCU占嵌入式系統約70%的市場份額。
特別值得注意的是,近年來提供x86微處理器的著名廠商AMD公司將AM186CC /CH/CU等嵌入式處理器稱之為Microcontroller,Motorola公司把以Power PC為基礎的PPC505和PPC555亦列入單片機行列。TI公司亦將其TMS320C2XXX系列DSP做為MCU進行 推廣。
3. 嵌入式DSP處理器
DSP處理器對系統結構和指令進行了特殊設計,使其適合于執行DSP算法,編譯效率較高,指令執行速度也較高。在數字濾波、FFT和譜分析等方面,DSP算法正在大量進入嵌入式領域,DSP應用正從在通用單片機中以普通指令實現DSP功能過渡到采用嵌入式DSP處理器。嵌入式DSP處理器有兩個發展來源,一是DSP處理器經過單片化、EMC改造和增加片上外設成為嵌入式DSP處理器,TI的TMS320C2000/C5000等屬于此范疇;二是在通用單片機或片上系統(SOC)中增加DSP協處理器,例如Intel的MCS-296。
推動嵌入式DSP處理器(Embedded Digital Signal Processor,EDSP)發展的一個重要因素是嵌入式系統的智能化,例如各種帶有智能邏輯的消費類產品,生物信息識別終端,帶有加解密算法的鍵盤,ADSL接入,實時語音壓解系統,虛擬現實顯示等。這類智能化算法一般都是運算量較大,特別是向量運算、指針線性尋址等較多,而這些正是DSP處理器的長處 所在。
嵌入式DSP處理器比較有代表性的產品是Texas Instruments的TMS320系列和Motorola的DSP56000系列。TMS320系列處理器包括用于控制的C2000系列,移動通信的C5000系列,以及性能更高的C6000和C8000系列。DSP56000目前已經發展成為DSP56000、DSP56100、DSP56200和DSP56300等幾個不同系列的處理器。
DSP的設計者們把重點放在了處理連續的數據流上。在嵌入式應用中,如果強調對連續的數據流的處理及高精度復雜運算,則應該選用DSP器件。
4. 嵌入式片上系統
隨著VLSI設計的普及化及半導體工藝的迅速發展,可以在一塊硅片上實現一個更為復雜的系統,這就是System On Chip(SOC)。各種通用處理器內核將作為SOC設計公司的標準庫,和許多其他嵌入式系統外設一樣,成為VLSI設計中一種標準的器件,用標準的VHDL等語言描述,存儲在器件庫中。用戶只需定義出整個應用系統,仿真通過后就可以將設計圖交給半導體工廠制作樣品。這樣除個別無法集成的器件以外,整個嵌入式系統大部分均可集成到一塊或幾塊芯片中去,應用系統電路板將變得很簡潔,對于減小體積和功耗、提高可靠性非常有利。
SOC可以分為通用和專用兩類。通用系列包括Motorola的M-Core,某些ARM系列器件,Echelon和Motorola聯合研制的Neuron芯片等。專用SOC一般專用于某個或某類系統中,不為一般用戶所知。一個有代表性的產品是Philips的SmartXA,它將XA單片機內核和支持超過2048位復雜RSA算法的CCU單元制作在一塊硅片上,形成一個可加載Java或C語言的專用的SOC,可用于公眾互聯網(如Internet安全)方面。
1.1.2 嵌入式處理器的選擇
針對各種嵌入式設備的需求,各個半導體芯片廠商都投入了很大的精力研發和生產適用于這些設備的CPU及協處理器芯片。用于嵌入式設備的處理器必須高度緊湊、低功耗和低成本。針對每一類應用來說,開發者對處理器的選擇都是多種多樣的,掌上電腦就是一例,如表1.1所示。與全球PC市場不同的是,沒有一種微處理器和微處理器公司可以主導嵌入式系統,僅以32位的CPU而言,就有100種以上的嵌入式微處理器。由于嵌入式系統設計的差異性極大,因此選擇是多樣化的。設計者在選擇處理器時要考慮的主要因素有如下幾個 方面。
表1.1 部分掌上電腦處理器一覽
廠家/型號 |
處理器 |
速 度 |
卡西歐Cassiopeia E-100系列 |
MIPS-based NEC VR4121 |
131MHz |
康柏Aero 2100系列 |
MIPS-based NEC VR4111 |
70MHz |
菲利浦Nino 500系列 |
MIPS-based Toshiba PR31700 |
75MHz |
惠普Jornada 400系列 |
Hitachi SH-3 7709a |
100MHz/133MHz |
3Com PalmPilotTM系列 |
Motorola DragonBall
68VZ328 |
33MHz |
蘋果MessagePad 2000/2100 Intel |
Intel StrongARM SA-110 |
160MHz |
康柏iPAQ H3650Intel |
Intel StrongARM SA-1110 |
206MHz |
(1) 調查市場上已有的CPU供應商
有些公司(如Motorola、Intel、AMD)很有名氣,而有一些小的公司(如QED)雖然名氣很小,但也能生產很優秀的微處理器。另外,有一些公司,如ARM、MIPS等,只設計但并不生產CPU,他們把生產權授予世界各地的半導體制造商。ARM是另外一種近年來在嵌入式系統中有影響力的微處理器制造商,ARM的設計非常適合于小的電源供電系統。Apple在Newton手持計算機中使用ARM,另外有幾款數字無線電話也在使用ARM。
(2) 處理器的處理速度
一個處理器的性能取決于多個方面的因素:時鐘頻率,內部寄存器的大小,指令是否對等處理所有的寄存器等。對于許多需用處理器的嵌入式系統設計來說,目標不是在于挑選速度最快的處理器,而是在于選取能夠完成作業的處理器和I/O子系統。如果你的設計是面向高性能的應用,那么建議你考慮某些新的處理器,其價格極為低廉,如IBM和Motorola的Power PC。以前Intel的i960是銷售極好的RISC高性能芯片,但是最近幾年卻遇到強勁的對手,讓位于MIPS、SH以及后起之秀ARM。
(3) 技術指標
當前,許多嵌入式處理器都集成了外圍設備的功能,從而減少了芯片的數量,進而降低了整個系統的開發費用。開發人員首先考慮的是,系統所要求的一些硬件能否無需過多的膠合邏輯(Glue Logic)就可以連接到處理器上。其次是考慮該處理器的一些支持芯片,如DMA控制器、內存管理器、中斷控制器、串行設備、時鐘等的配套。
(4) 處理器的低功耗
嵌入式微處理器最大并且增長最快的市場是手持設備、電子記事本、PDA、手機、GPS導航器、智能家電等消費類電子產品,這些產品中選購的微處理器典型的特點是要求高性能、低功耗。許多CPU生產廠家已經進入了這個領域。
(5) 處理器的軟件支持
若僅有一個處理器,沒有較好的軟件開發工具的支持,也是不行的,因此選擇合適的軟件開發工具對系統的實現會起到很好的作用。
成數據的訪問和刷新,即以同一個周期、相同的速度同步地工作,因而可以與系統總線以同頻率工作,可大大提高數據傳