當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]CISC 和 RISC 微控制器

    微控制器是將微型計(jì)算機(jī)的主要部分集成在一個(gè)芯片上的單芯片微型計(jì)算機(jī)。微控制器誕生于20世紀(jì)70年代中期,經(jīng)過(guò)20多年的發(fā)展,其成本越來(lái)越低,而性能越來(lái)越強(qiáng)大,這使其應(yīng)用已經(jīng)無(wú)處不在,遍及各個(gè)領(lǐng)域。例如電機(jī)控制、條碼閱讀器/掃描器、消費(fèi)類(lèi)電子、游戲設(shè)備、電話、HVAC、樓宇安全與門(mén)禁控制、工業(yè)控制與自動(dòng)化和白色家電(洗衣機(jī)、微波爐)等。
    微控制器可從不同方面進(jìn)行分類(lèi):根據(jù)數(shù)據(jù)總線寬度可分為8位、16位和32位機(jī);根據(jù)存儲(chǔ)器結(jié)構(gòu)可分為Harvard結(jié)構(gòu)和Von Neumann結(jié)構(gòu);根據(jù)內(nèi)嵌程序存儲(chǔ)器的類(lèi)別可分為OTP、掩膜、EPROM/EEPROM和閃存Flash;根據(jù)指令結(jié)構(gòu)又可分為CISC(Complex Instruction Set Computer)和RISC(Reduced Instruction Set Computer)微控制器。本文將結(jié)合不同指令結(jié)構(gòu)微控制器的發(fā)展及其特性進(jìn)行論述。


1 微控制器的發(fā)展歷程
    Intel公司作為最早推出微處理器的公司,同樣也是最早推出微控制器的公司。繼1976年推出MCS-48后,又于1980年推出了MCS-51,為發(fā)展具有良好兼容性的新一代微控制器奠定了良好的基礎(chǔ)。在8051技術(shù)實(shí)現(xiàn)開(kāi)放后,Philips、Atmel、Dallas和Siemens等公司紛紛推出了基于80C5l內(nèi)核(805l的CMC)S版本)的微控制器。這些各具特色的產(chǎn)品能夠滿足大量嵌入式應(yīng)用需求?;?0C51內(nèi)核的微控制器并沒(méi)有停止發(fā)展的腳步,例如現(xiàn)在Maxim/Dallas公司提供的DS89C430系列微控制器,其單周期指令速度已經(jīng)提高到了805l的12倍。
    基于CISC架構(gòu)的微控制器除了80C51外,還包括Motorola提供的68HC系列微控制器,這也是大量應(yīng)用的微控制器系列。
    基于RISC架構(gòu)的微控制器則包括Microchip的PIC系列8位微控制器等。在16位RISC架構(gòu)的微控制器中,Maxim公司推出的MAXQ系列微控制器以其高性能、低功耗和卓越的代碼執(zhí)行效率,成為許多需要高精度混合信號(hào)處理以及便攜式系統(tǒng)和電池供電系統(tǒng)的理想選擇。


2 基于8051內(nèi)核的COSC微控制器
    迄今為止,MCS-51已成為8位機(jī)中運(yùn)行最慢的系列?,F(xiàn)在Dallas推出的DS89C430系列產(chǎn)品在保持與80C51引腳和指令集兼容的基礎(chǔ)上,每個(gè)機(jī)器周期僅為一個(gè)時(shí)鐘,實(shí)現(xiàn)了8051系列的最高吞吐率。一般而言,對(duì)于現(xiàn)有的基于8051的應(yīng)用軟件可以直接寫(xiě)入DS89C430而無(wú)需進(jìn)行更改。除此之外,DS89C430還在許多其他方面引入了新的功能,從而為具體應(yīng)用提供了更多靈活性。下面介紹DS89C430不同于8051的功能和特點(diǎn)。
2.1 片內(nèi)程序存儲(chǔ)器及應(yīng)用
    片內(nèi)程序存儲(chǔ)器邏輯上分為成對(duì)的8 KB、16 KB或32 KB閃存單元,以支持在應(yīng)用編程。這允許器件在應(yīng)用軟件的控制下修改程序存儲(chǔ)器,應(yīng)用系統(tǒng)能夠在執(zhí)行其主要功能的情況下,完成在線軟件升級(jí)。DS89C430集成了64 B加密陣列,允許用戶(hù)以加密形式查看數(shù)據(jù),進(jìn)行程序代碼校驗(yàn)。
    器件支持通過(guò)RS-232串口實(shí)現(xiàn)在系統(tǒng)編程。在系統(tǒng)編程通過(guò)將器件的一個(gè)或多個(gè)外部引腳設(shè)置為某特定狀態(tài)來(lái)激活引導(dǎo)加載程序。器件啟動(dòng)后,開(kāi)始執(zhí)行駐留于器件內(nèi)部專(zhuān)用ROM的加載程序。一旦收到一個(gè)回車(chē)符號(hào),串口就執(zhí)行自動(dòng)波特率功能,并與主機(jī)的波特率同步。如圖1所示是在系統(tǒng)編程的物理連接.簡(jiǎn)單的引導(dǎo)加載程序接口允許使用幾種方法來(lái)實(shí)現(xiàn)PC機(jī)與目標(biāo)微控制
器間的通信。最簡(jiǎn)單的方法是使用Dallas的微控制器工具包(MTK)軟件.它具有高度前端特征,簡(jiǎn)化了目標(biāo)配置,上傳、下載代碼以及特殊功能配置等任務(wù)操作。

2.2 雙數(shù)據(jù)指針
    8051微控制器是通過(guò)MOVX指令來(lái)訪問(wèn)片外數(shù)據(jù)空間的,用MOVX@DPTR指令可訪問(wèn)整個(gè)64 KB的片外數(shù)據(jù)存儲(chǔ)器。傳統(tǒng)的8051只有一個(gè)數(shù)據(jù)指針DPTR,要將數(shù)據(jù)從一個(gè)地址移到另一個(gè)地址非常麻煩。DS89C430則具備雙數(shù)據(jù)指針DPTR0和DPTRl,因此軟件可以使用一個(gè)指針裝載源地址,另一個(gè)指針裝載目的地址。DPTR0的SFR地址與805l相同(82H和83H),因此使用該指針時(shí)源代碼無(wú)需更改,DPTRl位于84H和85H地址。所有與數(shù)據(jù)指針相關(guān)的操作都使用活動(dòng)數(shù)據(jù)指針,活動(dòng)指針通過(guò)控制位SEL選擇。每個(gè)指針還各有
一個(gè)控制位,決定INCDPTR操作是遞增還是遞減數(shù)據(jù)指針值。
    在拷貝數(shù)據(jù)塊時(shí),與使用單數(shù)據(jù)指針相比,雙數(shù)據(jù)指針可以節(jié)省大量代碼。用戶(hù)通過(guò)轉(zhuǎn)換SEL位來(lái)轉(zhuǎn)換活動(dòng)數(shù)據(jù)指針,其中一種方法可通過(guò)執(zhí)行INCDPS指令來(lái)實(shí)現(xiàn)。對(duì)于這些大的數(shù)據(jù)塊拷貝,用戶(hù)必須頻繁執(zhí)行該指令來(lái)轉(zhuǎn)換DPTR0和DPTRl。為了在節(jié)省代碼的同時(shí)提高運(yùn)行速度和效率,DS89C430又包含了一個(gè)轉(zhuǎn)換選擇位 (TSL),來(lái)確定執(zhí)行MOVX指令時(shí)硬件是否自動(dòng)轉(zhuǎn)換SEL位,這樣就可以省去INCDPS指令并進(jìn)一步提高運(yùn)行速度。
    大的數(shù)據(jù)塊拷貝需要源指針和目的指針逐字節(jié)尋址數(shù)據(jù)空間,傳統(tǒng)的方法是通過(guò)使用INCDPTR指令來(lái)增加數(shù)據(jù)指針。為了進(jìn)一步提高數(shù)據(jù)傳輸速率,引入了自動(dòng)增減控制位(AID),用以確定執(zhí)行MOVX指令時(shí),是否會(huì)自動(dòng)增減活動(dòng)指針值。表l為各種情況下DS80C320和DS89C430進(jìn)行64B數(shù)據(jù)塊傳輸時(shí)的速度比較。從表l中可以看出,采用雙數(shù)據(jù)指針后運(yùn)行速度得到極大提高。

2.3 電源管理和時(shí)鐘分頻控制
    CMOS電路的功耗主要由兩部分組成:連續(xù)漏電流造成的靜態(tài)功耗以及對(duì)負(fù)載電容進(jìn)行充放電所需的轉(zhuǎn)換開(kāi)關(guān)電流造成的動(dòng)態(tài)功耗。其中,動(dòng)態(tài)功耗是總體功耗的主要部分,該功耗(PD)可以通過(guò)負(fù)載電容(CL)、電源電壓(VDD)和工作頻率(f)進(jìn)行計(jì)算,即:PD=CL×VDD2×f。
    對(duì)于某具體應(yīng)用,電容和電源電壓相對(duì)固定,而處理器的處理速度在不同時(shí)刻可能是不同的,因此工作頻率可以根據(jù)不同需要進(jìn)行調(diào)整,從而在不影響系統(tǒng)性能的前提下達(dá)到降低功耗的要求。
    DS89C430支持三種低功耗節(jié)電模式。
    ①系統(tǒng)時(shí)鐘分頻控制:允許微控制器使用內(nèi)部分頻的時(shí)鐘源繼續(xù)工作,以節(jié)省功耗。通過(guò)軟件設(shè)置時(shí)鐘分頻控制位,設(shè)置工作速率為每機(jī)器周期1024個(gè)振蕩器周期.
    ②空閑模式:以靜態(tài)方式保持程序計(jì)數(shù)器,并掛起處理器。在此模式中,處理器不取指令也不執(zhí)行指令。除了外圍接口時(shí)鐘保持為活動(dòng)狀態(tài)以及定時(shí)器、看門(mén)狗、串口和電源監(jiān)視功能仍然工作外,所有的資源均保存。處理器能夠使用允許的中斷源退出空閑模式。
    ③停機(jī)模式:禁止處理器內(nèi)部的所有電路。所有片內(nèi)時(shí)鐘、定時(shí)器和串口通信都停止運(yùn)行,處理器不執(zhí)行任何指令。通過(guò)使用六個(gè)外部中斷中的任何一個(gè),處理器都能夠退出停機(jī)模式。

3 基于RISC架構(gòu)的微控制器
    MAXQ2000微控制器是Maxino/Dallas公司推出的一款基于RIS(:架構(gòu)的16位微控制器。理解這款微控制器的一些結(jié)構(gòu)特點(diǎn),可以使我們更好地理解RISO結(jié)構(gòu)微控制器的最新發(fā)展趨勢(shì)和技術(shù)特點(diǎn),從而為我們構(gòu)建新型系統(tǒng)提供更加理想的選擇。MAXQ2000的指令讀取和執(zhí)行操作在一個(gè)周期內(nèi)完成,而沒(méi)有流水線操作,這是因?yàn)橹噶罴劝瞬僮鞔a也包括了數(shù)據(jù)。字母Q表示這款微控制器的一個(gè)重要特點(diǎn)便是“安靜”,MAXQ架構(gòu)通過(guò)智能化的時(shí)鐘管理來(lái)降低噪聲.這意味著MAXQ只向那些需要使用時(shí)鐘的電路提供時(shí)鐘,這樣既降低了功耗,又為模擬電路的整合提供了一個(gè)最安靜的環(huán)境。它包含液晶顯示(I.CD)接口,最多可以驅(qū)動(dòng)100或132段(兩種版本)。這款微控制器的功耗指標(biāo)和MIPS/MHz代碼效率方面都在同類(lèi)微控制器當(dāng)中遙遙領(lǐng)先.下面介紹MAXQ2000的主要特性。
3.1 指令集
    指令集由23條對(duì)寄存器和存儲(chǔ)器進(jìn)行操作的固定長(zhǎng)度的16位指令組成。指令集高度正交,允許算術(shù)和邏輯操作使用累加器和任何寄存器。特殊功能寄存器控制外圍設(shè)備,并細(xì)分成寄存器模塊。產(chǎn)品系列的結(jié)構(gòu)是模塊化的,因此新的器件和模塊能夠繼續(xù)使用為現(xiàn)有產(chǎn)品開(kāi)發(fā)的代碼.該結(jié)構(gòu)是基于傳送觸發(fā)的,這意味著對(duì)某一寄存器位置的讀或?qū)憰?huì)產(chǎn)生額外作用。這些額外作用構(gòu)成了由匯編器定義的高層操作碼的基礎(chǔ),如ADDC、OR和JUMP等。
3.2 存儲(chǔ)器配置
    MAXQ2000具有32KB閃存、lKBRAM、4KB的內(nèi)部ROM存儲(chǔ)器塊和16級(jí)堆棧存儲(chǔ)器。存儲(chǔ)器缺省配置成Harvard結(jié)構(gòu),程序和數(shù)據(jù)存儲(chǔ)器具有獨(dú)立的地址空間,還可以使能為Vorl Ncumann存儲(chǔ)器配置模式,即將固定用途ROM、代碼和數(shù)據(jù)存儲(chǔ)器放置到一個(gè)連續(xù)的存儲(chǔ)器映射中.這適合于需要進(jìn)行動(dòng)態(tài)程序修改或特殊存儲(chǔ)器配置的應(yīng)用。閃存程序存儲(chǔ)器可以通過(guò)16字密鑰進(jìn)行密碼保護(hù),從而防止未授權(quán)者訪問(wèn)程序存儲(chǔ)器。同時(shí),還具有3個(gè)數(shù)據(jù)指針,支持高效快速地處理數(shù)據(jù).
    固定用途ROM由可以在應(yīng)用軟件中進(jìn)行調(diào)用的子程序組成(缺省起始地址為8000H).包括:通過(guò)JTAG或UART接口進(jìn)行在系統(tǒng)編程(引導(dǎo)加載程序);在電路調(diào)試程序;測(cè)試程序(內(nèi)部存儲(chǔ)器測(cè)試,存儲(chǔ)器加載等);用于在應(yīng)用閃存編程和快速查找表的用戶(hù)可調(diào)用程序。無(wú)論以任何方式復(fù)位,都從固定用途ROM開(kāi)始運(yùn)行程序。R。M軟件決定程序立刻跳轉(zhuǎn)到8000H位置、用戶(hù)應(yīng)用代碼的起始位置、還是上面提到的某特定用途子程序.用戶(hù)可訪問(wèn)固定用途ROM中的程序,并且可以由應(yīng)用軟件調(diào)用這些程序。
3.3 寄存器組
    器件的大多數(shù)功能是由寄存器組來(lái)控制的。這些寄存器為存儲(chǔ)器操作提供工作空間,并配置和尋址器件上的外設(shè)寄存器。寄存器分成兩大類(lèi):系統(tǒng)寄存器和外設(shè)寄存器.公共寄存器組也稱(chēng)作系統(tǒng)寄存器,包括ALU、累加器寄存器、數(shù)據(jù)指針、堆棧指針等。外設(shè)寄存器定義了可能包含在基于MAXQ架構(gòu)的不同產(chǎn)品中的附加功能.
3.4 電源管理
    MAXQ2000同樣提供了先進(jìn)的電源管理功能,根據(jù)系統(tǒng)不同時(shí)刻的不同性能需求,可以動(dòng)態(tài)設(shè)置處理速度,從而大大降低功耗。通過(guò)軟件選擇分頻功能,來(lái)選擇系統(tǒng)時(shí)鐘周期是l、2、4或者8個(gè)振藹周期。為進(jìn)一步降低功耗,還有另外三種低功耗模式,256分頻、32 kH。和停機(jī)模式。
3.5 中 斷
    提供多個(gè)中斷源,可對(duì)內(nèi)部和外部事件快速響應(yīng)。MAXQ結(jié)構(gòu)采用了單一中斷向量(IV)和單一中斷服務(wù)程序(ISR)設(shè)計(jì)。必須在用戶(hù)中斷程序內(nèi)清除中斷標(biāo)志,以避免由同一中斷源引發(fā)重復(fù)中斷。當(dāng)檢測(cè)到使能的中斷時(shí),軟件跳轉(zhuǎn)到一個(gè)用戶(hù)可編程的中斷向量位置。
    一旦軟件控制權(quán)轉(zhuǎn)移到ISR,可以使用中斷識(shí)別寄存器(IIR)來(lái)判定中斷源是系統(tǒng)寄存器還是外設(shè)寄存器。然后,就可以查詢(xún)特定模塊以確定具體中斷源,并采取相應(yīng)的操作。由于中斷源是由用戶(hù)軟件識(shí)別的,因此用戶(hù)可以為每種應(yīng)用確立一個(gè)獨(dú)特的中斷優(yōu)先級(jí)方案。
3.6 高速硬件乘法器
    集成的硬件乘法器模塊執(zhí)行高速乘法、乘方和累加操作,并能在一個(gè)周期內(nèi)完成一個(gè)16位×16位乘法和累加操作。硬件乘法器由2個(gè)]6位并行加載操作數(shù)寄存器(MA,MB)和1個(gè)累加器組成。加載寄存器能夠自動(dòng)啟動(dòng)操作,從而節(jié)省了重復(fù)計(jì)算的時(shí)間。硬件乘法器的累加功能是數(shù)字濾波、信號(hào)處理以及PII)控制系統(tǒng)中的一個(gè)基奉單元,這使得MAXQ2000可以勝任需要大量數(shù)學(xué)運(yùn)算的應(yīng)用。


4 結(jié) 論
    通過(guò)以上兩種基于CISC.和RISC架構(gòu)的微控制器的對(duì)比分析,會(huì)發(fā)現(xiàn)許多共同的特性,如安全特性、外圍設(shè)備、電源管理和在系統(tǒng)編程等。顯然.它們都是適應(yīng)具體應(yīng)用的共性要求而增加的功能。兩者最大的不同是指令結(jié)構(gòu)的差異。MCS一5l有50條基本指令,若累計(jì)各種不同尋址方式,指令共計(jì)lll條,對(duì)應(yīng)的機(jī)器指令有單字節(jié)、雙字節(jié)和三字節(jié)指令~68H(:05有62條基本指令,加上多種尋址方式,最終指令達(dá)210條,也分為單字節(jié)、雙字節(jié)和三字節(jié)指令。比較而言,RIS(:微控制器的所有指令是由一些簡(jiǎn)單、等長(zhǎng)度的指令構(gòu)成.精簡(jiǎn)指令使微控制器的線路可以盡量?jī)?yōu)化,硬件結(jié)構(gòu)更加簡(jiǎn)單,從而可以實(shí)現(xiàn)較低的成本和功耗,當(dāng)然完成相同的工作可能需要更多的指令。所以,二者取舍之間沒(méi)有絕對(duì)優(yōu)勢(shì),只能說(shuō)根據(jù)應(yīng)用的不同需求和側(cè)重來(lái)進(jìn)行選擇。
    微處理器是20世紀(jì)偉大的技術(shù)創(chuàng)新之一,由此而衍生的微控制器將微處理器和外設(shè)集于一身,為多種應(yīng)用開(kāi)創(chuàng)了新局面,并將繼續(xù)發(fā)揮不可替代的作用。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉