RISC(精簡(jiǎn)指令集計(jì)算)和CISC(復(fù)雜指令集計(jì)算)體系結(jié)構(gòu)的定義之間存在模糊,在許多情況下,這些術(shù)語(yǔ)幾乎毫無意義。許多現(xiàn)代RISC處理器比一些CISC處理器復(fù)雜得多。事實(shí)上,不再是定義RISC和CISC之間差異的指令數(shù)量,而是它們執(zhí)行內(nèi)存訪問的方式。
盡管RISC式架構(gòu)的例子可以在20世紀(jì)60年代和70年代找到, RISC的真實(shí)歷史可以追溯到20世紀(jì)80年代。其背后的想法是,如果架構(gòu)沒有被很少(如果有的話)執(zhí)行的指令負(fù)擔(dān),那么擁有更簡(jiǎn)化的指令集意味著可以更快地執(zhí)行這些指令。
兩個(gè)最初的RISC架構(gòu)是MIPS和Power建筑學(xué)分別在斯坦福大學(xué)和加州大學(xué)伯克利分校開發(fā)。一個(gè)關(guān)鍵方面是RISC系統(tǒng)使用了加載存儲(chǔ)架構(gòu)。這里通常通過特定指令訪問存儲(chǔ)器,而不是作為其他指令的一部分訪問。今天,當(dāng)RISC系統(tǒng)變得比某些CISC架構(gòu)更復(fù)雜時(shí),在區(qū)分RISC和CISC時(shí),該存儲(chǔ)器訪問系統(tǒng)被視為更多的定義因素。兩個(gè)初始架構(gòu)的早期示例是Hewlett-Packard PA-RISC和Sun Microsystems的Sparc處理器。另一方面,CISC產(chǎn)品以x86架構(gòu)為代表,主要來自Intel,但也來自AMD等其他產(chǎn)品 。英特爾奔騰系列是CISC芯片的最佳典范之一,摩托羅拉的68000系列是另一個(gè)。然而,CISC芯片,盡管名稱,并不總是使用復(fù)雜的架構(gòu),現(xiàn)在許多不如RISC芯片復(fù)雜。基本上任何不使用加載存儲(chǔ)器存儲(chǔ)器訪問系統(tǒng)的東西通常被歸類為CISC,無論架構(gòu)如何。毫無疑問,浮點(diǎn)RISC架構(gòu)比8位CISC處理器復(fù)雜得多。甚至RISC芯片上的尋址模式通常比許多CISC處理器更復(fù)雜。現(xiàn)代RISC處理器的很好的例子是Microchip的PIC?系列以及許多基于ARM?內(nèi)核的制造商的設(shè)備。
PIC芯片
PIC或外圍設(shè)備(有時(shí)稱為可編程)接口控制器的起源在20世紀(jì)70年代,1975年開發(fā)的第一個(gè)8位PIC用于從通用儀器CP1600 16位CPU卸載I/O.只是后來,隨著RISC的廣泛應(yīng)用,PIC設(shè)計(jì)被歸類為RISC系列的一部分。
1987年,通用儀器公司剝離其微控制器業(yè)務(wù),創(chuàng)建了所謂的Microchip Technology,后者也宣稱首字母縮略詞PIC現(xiàn)在代表可編程智能計(jì)算機(jī)。
ARM核心
目前最流行的RISC設(shè)計(jì)是基于ARM內(nèi)核的設(shè)計(jì)。這些可以追溯到20世紀(jì)80年代的Acorn Computers,它設(shè)計(jì)了支持臺(tái)式計(jì)算機(jī)的架構(gòu)。該技術(shù)后來被分拆到自己的公司 - ARM Holdings。與PIC一樣,ARM的首字母縮略詞從最初的Acorn RISC Machine改寫為今天的Advanced RISC Machine。
ARM的成功歸功于移動(dòng)設(shè)備的普及,其內(nèi)核幾乎可以在所有手機(jī)中找到,以及平板電腦和PDA。該架構(gòu)本身代表了現(xiàn)代RISC設(shè)備,因?yàn)樗軓?fù)雜,但仍歸類為RISC,因?yàn)樗褂昧思虞d存儲(chǔ)器內(nèi)存訪問方法。
典型的ARM產(chǎn)品是Cortex?-M系列,它由極其強(qiáng)大的功能組成。 RISC芯片。 STMicrolectronics的STM32F051K8U6中使用的Cortex-M0提供32位性能,但代碼尺寸比許多8位器件小。降低內(nèi)存要求使其能夠充分利用片上閃存。與Cortex-M系列中的所有處理器一樣,它的16位指令基礎(chǔ)可以擴(kuò)展為包含32位指令。 Cortex-M0還向上兼容功能更強(qiáng)大的Cortex-M3和Cortex-M4處理器,后者可以在德州儀器的TM4C123BE6PZI中找到。這為復(fù)雜的數(shù)字信號(hào)處理技術(shù)帶來了低功耗的32位市場(chǎng)。
圖1:ARM的Cortex-M4內(nèi)核。
示例和應(yīng)用
如上所述, STMicrolectronics的STM32F051K8U6是RISC芯片的一個(gè)很好的例子。它使用工作頻率為48 MHz的ARM Cortex-M0 32位RISC內(nèi)核。 Cortex-M0的開發(fā)旨在提供低成本平臺(tái),滿足MCU實(shí)現(xiàn)的需求,減少引腳數(shù)和降低功耗,同時(shí)仍然提供必要的計(jì)算性能和對(duì)中斷的高級(jí)系統(tǒng)響應(yīng)。雖然是32位RISC處理器,但它具有人們所期望的性能,但內(nèi)存大小通常與8位和16位器件相關(guān)。
圖2:STM32F051K8U6的框圖。結(jié)果典型應(yīng)用是使用STM32F05xx USART外設(shè)的智能卡接口。該應(yīng)用基于意法半導(dǎo)體的STM320518-EVAL評(píng)估板和一些額外的硬件。
智能卡接口采用USART智能卡模式開發(fā),支持異步協(xié)議智能卡,如ISO 7816-3(A類)中所定義。 br》啟用智能卡模式后,USART必須配置為8個(gè)數(shù)據(jù)位加上奇偶校驗(yàn),0.5或1.5個(gè)停止位。 5位預(yù)分頻器和智能卡時(shí)鐘發(fā)生器為智能卡提供時(shí)鐘。 GPIO引腳用于提供與智能卡接口所需的其他功能。
STM32F0xx微控制器還具有支持HDMI-CEC v1.4的高清多媒體接口消費(fèi)電子控制(HDMI-CEC)控制器。協(xié)議。 HDMI-CEC控制器為該協(xié)議提供硬件支持,并支持CEC設(shè)備提供的所有功能。因此,另一個(gè)應(yīng)用程序可以實(shí)現(xiàn)基于HDMI-CEC控制器的CEC協(xié)議軟件和硬件。
CEC總線是一種單線協(xié)議,可通過標(biāo)準(zhǔn)HDMI電纜連接多達(dá)十個(gè)視聽設(shè)備。 CEC行上的所有交易都包括發(fā)起人和一個(gè)或多個(gè)粉絲。發(fā)起者負(fù)責(zé)發(fā)送消息結(jié)構(gòu)和數(shù)據(jù)。跟隨者是任何數(shù)據(jù)的接收者,負(fù)責(zé)設(shè)置任何確認(rèn)位。消息在單個(gè)幀中傳送,包括起始位后跟一個(gè)標(biāo)題塊,以及可選的操作碼和可變數(shù)量的操作數(shù)塊。
STM32F0xx HDMI-CEC控制器為CEC協(xié)議提供硬件支持,因此,這是一個(gè)構(gòu)建CEC固件應(yīng)用程序的簡(jiǎn)易平臺(tái)。但是,為了完全符合HDMI 1.4規(guī)范,特別是當(dāng)CEC器件處于斷電狀態(tài)時(shí),應(yīng)在STM32F0xx外部添加完全集成的ESD保護(hù)。
另外使用32位ARM內(nèi)核但這次是Cortex-M4 89 MHz處理器,是德州儀器公司的TM4C123BE6PZI。該微控制器適用于工業(yè)應(yīng)用,包括遠(yuǎn)程監(jiān)控,電子銷售點(diǎn)機(jī)器,測(cè)試和測(cè)量設(shè)備,網(wǎng)絡(luò)設(shè)備和開關(guān),工廠自動(dòng)化,HVAC和樓宇控制,游戲設(shè)備,運(yùn)動(dòng)控制,運(yùn)輸以及消防和安全。
核心功能包括系統(tǒng)定時(shí)器(SysTick),集成嵌套向量中斷控制器(NVIC),帶時(shí)鐘門控的喚醒操作中斷控制器(WIC),內(nèi)存保護(hù)單元(MPU),符合IEEE754標(biāo)準(zhǔn)的單精度浮點(diǎn)單元(FPU),嵌入式跟蹤宏和端口以及系統(tǒng)控制模塊(SCB)。
可以將工作設(shè)計(jì)從Stellaris?LM3S微控制器(使用Cortex-M3架構(gòu))遷移到這些微控制器。在StellarisWare?和TivaWare?for C系列軟件中使用驅(qū)動(dòng)程序庫(kù)API時(shí),軟件遷移非常簡(jiǎn)單。兩個(gè)系列都基于Cortex-M內(nèi)核,外設(shè)通常非常相似,在某些情況下相同
圖3:Tiva TM4C123BE6PZ微控制器的高級(jí)框圖。
MCU具有高水平的連接性和傳感器聚合,使其適用于家庭等連接應(yīng)用。建筑和工業(yè)自動(dòng)化。 Cortex-M4內(nèi)核通過添加DSP擴(kuò)展和單指令,多數(shù)據(jù)(SIMD)指令擴(kuò)展了Cortex-M3的指令集。 DSP操作包括單周期32位或雙16位乘法累加(MAC)指令和飽和算術(shù)指令。優(yōu)化的SIMD指令可以在一個(gè)周期內(nèi)執(zhí)行四個(gè)8位或兩個(gè)16位算術(shù)運(yùn)算,因此可以有效地對(duì)大型數(shù)據(jù)陣列執(zhí)行算術(shù)運(yùn)算。除了為數(shù)學(xué)密集型運(yùn)算提供性能提升,浮動(dòng) - 點(diǎn)支持簡(jiǎn)化了浮點(diǎn)例程的實(shí)現(xiàn)和編程。工程師可以花一周時(shí)間在Matlab中開發(fā)數(shù)字濾波器,并在一個(gè)月內(nèi)將濾波器轉(zhuǎn)換為定點(diǎn)實(shí)現(xiàn),以確保其精確和穩(wěn)定。程序員可以采用原生浮點(diǎn)格式對(duì)濾波器進(jìn)行編程時(shí),不需要此時(shí)間。
集成的高分辨率12位ADC可以采樣速率高達(dá)1 MSPS,采樣速率支持全分辨率和精度的ADC。這意味著讀數(shù)的質(zhì)量不必降低,以實(shí)現(xiàn)更高的采樣率。其中兩個(gè)轉(zhuǎn)換器是片內(nèi)的,可以從24個(gè)獨(dú)立輸入饋電。為了提高精度,差分外部參考電壓可以應(yīng)用于專用輸入。 ADC可以生成基于轉(zhuǎn)換完成和與八個(gè)數(shù)字比較器之一匹配的處理器中斷。來自ADC的讀數(shù)可以在ADC內(nèi)進(jìn)行排隊(duì),比較和平均。
片上直接存儲(chǔ)器訪問控制器可以將ADC FIFO的ADC讀數(shù)提供給RAM或其他外設(shè),而不會(huì)喚醒或分散ARM內(nèi)核。還有三個(gè)片上模擬比較器,可與可編程內(nèi)部參考電壓一起使用,以檢測(cè)輸入模擬信號(hào)何時(shí)超過特定閾值。這些比較器與數(shù)字比較器一起消除了連續(xù)輪詢輸入ADC值的需求,從而釋放CPU以專注于實(shí)時(shí)應(yīng)用。
一種可以利用ADC快速,準(zhǔn)確浮點(diǎn)的應(yīng)用性能是運(yùn)行控制,用于運(yùn)行更復(fù)雜的算法和片上比較器。電機(jī)驅(qū)動(dòng)器在運(yùn)行期間可以更快速和精確地跟蹤電機(jī)的動(dòng)態(tài)特性,所產(chǎn)生的PWM將遇到的阻力越小,控制信號(hào)就越有效。這樣可以消耗更少的能量,軸可以更平穩(wěn)地旋轉(zhuǎn)并保持速度或在不同負(fù)載下加速。片上比較器可用于檢查系統(tǒng)中的故障情況,這需要立即響應(yīng)。
PIC范圍
盡管ARM已經(jīng)成為RISC架構(gòu)的主要參與者,但它并不是唯一的公司。事實(shí)上,更多傳統(tǒng)的RISC產(chǎn)品可以在Microchip的PIC系列中找到,PIC10F200T-I/OT就是一個(gè)很好的例子。這是一款低成本,高性能,8位,靜態(tài),基于閃存的CMOS微控制器。 RISC架構(gòu)只有三十三個(gè)單字或單周期指令。除程序分支外,所有指令均為單周期(1μs),程序分支需要兩個(gè)周期。易于使用且易于記憶的指令集可以顯著縮短開發(fā)時(shí)間。
圖4:PIC10F200和202系列的框圖。
PIC10F20x器件具有降低系統(tǒng)成本和功耗要求的功能。上電復(fù)位(PoR)和器件復(fù)位定時(shí)器(DRT)無需外部復(fù)位電路。此外,內(nèi)部振蕩器模式可保留有限數(shù)量的I/O.其他功能包括省電睡眠模式,看門狗定時(shí)器和代碼保護(hù)。
應(yīng)用范圍從個(gè)人護(hù)理設(shè)備和安全系統(tǒng)到低功率遠(yuǎn)程發(fā)射器和接收器。閃存技術(shù)可以快速方便地定制應(yīng)用程序,例如變送器代碼,設(shè)備設(shè)置和接收器頻率。通孔或表面安裝的占地面積小,適用于空間有限的應(yīng)用。它們甚至可以用于以前沒有考慮過微控制器的地方,例如大型系統(tǒng)和協(xié)處理器應(yīng)用中的定時(shí)器功能,邏輯和PLD。
它們還有一個(gè)板載比較器,可用于觸摸控制應(yīng)用中的電容式感應(yīng)。這是通過使用比較器作為張弛振蕩器來完成的,其中輸出用于對(duì)感測(cè)電容器充電和放電,感測(cè)電容器由電路板上的焊盤形成。充電速率可以通過RC時(shí)間常數(shù)來確定,該時(shí)間常數(shù)可以通過外部電阻和焊盤的電容來創(chuàng)建。
當(dāng)人的手指觸摸按鍵時(shí),引入額外的電容,創(chuàng)建接地路徑,導(dǎo)致頻率改變。 PIC MCU可以測(cè)量這種變化以檢測(cè)手指按壓。
另一種應(yīng)用可以在廚房中找到,其中可調(diào)節(jié)機(jī)械恒溫器通常用于改變電灶,煎鍋和油炸鍋的熱量輸出。這些恒溫器往往昂貴且有問題。它們必須在工廠進(jìn)行校準(zhǔn),它們的慢煮性能較差,因?yàn)樵诘蜏叵驴刂撇粔蚓_,它們的精度通常很差,而且機(jī)械性能會(huì)磨損。
PIC MCU可以用作心臟基于微控制器的低成本替代品。 PIC可以從電位計(jì)獲取輸入,并通過三端雙向可控硅開關(guān)控制電流到加熱元件。因此,因?yàn)樵搼?yīng)用使用三端雙向可控硅開關(guān),所以它可以適用于與AC線路接口的其他應(yīng)用,例如燈開關(guān),真空吸塵器和各種家用電器。 PIC的電源直接通過電阻電源從交流線路供電三端雙向可控硅開關(guān)元件的一個(gè)有用特性是它由電流而不是電壓觸發(fā),因?yàn)樵跂艠O處注入的電流量而不是施加到柵極的電壓幅度決定了三端雙向可控硅開關(guān)是否導(dǎo)通。這使得三端雙向可控硅開關(guān)在電壓顯著低于115或220 VAC的數(shù)字領(lǐng)域中非常有用。 PIC單片機(jī)工作在2.5至5 V范圍內(nèi),但可在其I/O引腳上吸收并提供25 mA電流。在AC波形的任何半周期期間,足夠?qū)挾群头鹊呢?fù)電流脈沖將觸發(fā)三端雙向可控硅開關(guān),其將傳導(dǎo)電流直到半周期完成,然后恢復(fù)到非導(dǎo)通或阻斷狀態(tài)。
這種相位控制在調(diào)光器中很常見。另一種選擇是零交叉切換,它可以消除大多數(shù)EMI問題,因?yàn)檎麄€(gè)周期都是開啟或關(guān)閉的。為了改變發(fā)送到負(fù)載的平均電流,可以跳過交替循環(huán)。這不適用于調(diào)光器,因?yàn)楣獾膹?qiáng)度會(huì)明顯波動(dòng)。然而,這種方法對(duì)于電阻加熱元件更好,因?yàn)镋MI較低。在此應(yīng)用中,通過將微控制器的引腳直接連接到齊納二極管的陽(yáng)極來檢測(cè)零交叉。與機(jī)械恒溫器相比,該應(yīng)用提供了設(shè)計(jì)靈活性,包括額外的功能,例如狀態(tài)LED指示范圍是否是打開或關(guān)閉以及自動(dòng)關(guān)機(jī),如果無人看管,將在兩小時(shí)后關(guān)閉范圍。
RISC與未來的CISC
移動(dòng)設(shè)備領(lǐng)域正在成為RISC和CISC的戰(zhàn)場(chǎng),以兩大為典型ARM和英特爾的玩家。 ARM已經(jīng)控制了智能手機(jī)和平板電腦市場(chǎng),因?yàn)槠湓S可證持有者生產(chǎn)的功能強(qiáng)大的芯片功耗非常低。英特爾試圖通過進(jìn)入低功耗領(lǐng)域進(jìn)行反擊,特別是其Atom系列,但仍然很少進(jìn)入ARM領(lǐng)域。另一方面,在功能更強(qiáng)大的計(jì)算機(jī)中尋求更低功耗已經(jīng)讓一些人考慮使用ARM設(shè)備,而在過去,x86系列是他們唯一可以看到的地方。不過,英特爾有很大的影響力并且正在反擊。
連接設(shè)備的整體增長(zhǎng),即所謂的物聯(lián)網(wǎng),正在越來越小的設(shè)備中看到智能,其中功耗是關(guān)鍵。在這里,Microchip的PIC架構(gòu)已經(jīng)做得很好。在更智能的設(shè)備中使用ARM的RISC內(nèi)核,在這個(gè)快速增長(zhǎng)的領(lǐng)域中,x86幾乎沒有空間。在較大的計(jì)算機(jī)市場(chǎng)中,ARM將難以取代x86的優(yōu)勢(shì),但會(huì)嘗試。未來有趣的時(shí)刻。
-
處理器
+關(guān)注
關(guān)注
68文章
19349瀏覽量
230313 -
芯片
+關(guān)注
關(guān)注
456文章
50967瀏覽量
424899 -
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7514瀏覽量
164015
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論