成功的嵌入式設計需要指令集之外的諸多因素
發布時間:2011-04-08 來源:Circuit Cellar
中心議題:
當談到32 位微控製器時,基於ARM 的產品已經占據重要地位。那麼,這會是故事的全部嗎?不見得,行業內最重要的公司之一,Microchip Technology,正全力推動其基於MIPS 架構的芯片。他們最新推出的產品在提醒我們,成功的嵌入式設計需要指令集之外的諸多因素。
在計算機曆史上,從實驗室走出過多少種不同的指令集架構?可能曾經有數百種架構取得過一些商業上的成功; ruguosuanshangzhuduoboshilunwenzhongchuxianguode,shumukenenghuiduodajiqianzhong。naliuxingshishangzuobiyu,jisuanjitixijiegoufazhanjiuhaosinvshengqunbaidegaoduyiban,jingchanglaihuibianhua。
曾經有一段時間它非常要緊—— 比如在彙編語言編程的時期。至於兼容性,至少在表麵上它依舊是件重要的事情,特別是在電腦或視頻遊戲方麵(例如,有一些需要執行以前的二進製文件)。但dan實shi際ji上shang,嚴yan格ge的de目mu標biao代dai碼ma兼jian容rong性xing對dui多duo數shu嵌qian入ru式shi設she計ji來lai說shuo已yi經jing不bu再zai是shi一yi個ge大da問wen題ti。更geng多duo的de問wen題ti是shi關guan於yu工gong具ju鏈lian的de兼jian容rong性xing和he代dai碼ma模mo塊kuai的de可ke用yong性xing,指zhi令ling集ji本ben身shen已yi經jing不bu是shi問wen題ti之zhi一yi。
隨著芯片不斷地集成係統功能,設計人員需要的是一個擁有全部所需存儲器、外設和膠合邏輯的芯片。並且這個芯片必須省電、有良好的工具和支持,以及合適的價格。
這並不是說在特定的應用當中,體係結構並沒有優劣之分。事實上,這個問題很有趣,看看那些當初為“計算機”設計的架構—— 如 ARM 和MIPS,不斷下沉,以更好地適應嵌入式“控製器”應用的需求。這些“計算機”架構最後都終於認識到要在嵌入式應用裏麵解決諸如代碼密度、低功耗、快速並確定的中斷響應等問題。
認識 PIC32
在 MCU 領域的競爭裏,無疑MIPS 是在追趕ARM。但是,擁有像Microchip 這樣的重量級選手支持,差距正在縮小。看看新的PIC32 5XX/6XX/7xx 係列產品,高度集成了以太網、USB 和CAN 應用。
我在以前的文章中(“MIPS for the Masses”,Circuit cellar 216 期,2008)介紹過PIC32的內核。擁有5 級流水線,性能相對較高(比如與ARM Cortex - M3 相比)。不過,這隻是處理器內核級別的性能差異。比如Microchip PIC32 的性能為1.5 DMIPS / MHz,而Cortex - M3是1.25 DMIPS / MHz 的。在實際中,32 位微控製器的flash 存儲器訪問時間是性能瓶頸。如以80MHz 運行的PIC32 可能需要2 個等待周期。通常采用寬總線(128 位)、高速緩存和預取等技術來減輕flash 訪問的瓶頸問題。
或者,可以使用片內的RAM來達到0 等待周期。’5xx 係列包含64KB 的RAM,’6xx’和7xx 係列中的部分型號有多達128KB 的RAM。不過要記住,代碼和數據訪問之間的爭搶可能導致一些延遲。此外,256KB 或512KB 的flash 空間足夠用來放置你的代碼(加上額外12 KB 的啟動代碼空間)。
外設方麵,這些新產品提供了完整的I/O(見圖1)。 ‘5xx/6xx/7xx 編號代表了大的接口功能:USB、CAN 和以太網。‘5xx 係列包含一個USB 2.0 和一個CAN(2.0b)模塊;‘6xx係列包含USB 模塊與一個10/100 以太網MAC。而‘7xx 係列集成了所有這些,包含USB、以太網和兩個CAN 模塊。
普通 I/O 方麵,這些產品遵循了不同應用需求的趨勢。我們看到5 個16 位計數器/定時器,其中任何兩對可以組合成為32 位單元。由於封裝尺寸(有64 腳和100 腳可選)和引腳複用的限製,你能得到最多六個UART、四個SPI 以及五個I2C 接口。在模擬方麵,有一個16通道多路複用器連接一個10 位1 MSPS 的ADC 和兩個模擬比較器。除了這些MCU 能力,另外還有8/16 位數據總線和16 位地址總線擴展功能,外加兩個片選。所有的數據流可以通過8個通用DMA通道控製,輔以4個專用DMA通道(''5XX 和''6XX 係列)或8個專用DMA通道(''7XX 係列)。
源自上世紀80 年代的MIPS 是RISC 方麵“精簡”特性的傑出代表。當響應中斷時,它們可以要對PC 和狀態寄存器壓棧,不然的話就轉由軟件去處理。對這種極端簡約存在一些爭議,可能少了一些有用的東西。考慮到這一點,PIC32 係列包括一個全功能優先級/向量可編程的中斷控製器;以及一組替代寄存器組用於快速中斷響應和上下文切換。
另外,不要忽視那些可能導致嚴重預算問題的膠合邏輯,如看門狗定時器、低電壓檢測、電壓整流器、主時鍾/外設時鍾/實時時鍾等。這些功能的集成,使PIC32 係列成為真正適用於“控製”應用的芯片,有別於“計算機”芯片。
入門
跟以前一樣,Microchip 的芯片評估很容易,而且便宜。PIC32 以太網入門套件(見照片1)定價$72,提供一切你需要的部件。雖然名字為“以太網”入門套件,該套件配備了高端的''795 型號MCU,同時支持USB 功能。
該套件還包括配有一個“輕量級”GCC 編譯器的Microchip MPLAB IDE。文檔中關於“輕量級”編譯器的說明有點矛盾。“輕量級”版本編譯器暗示不支持先進的代碼優化,但是我拿到的版本顯然不是這樣,在下一節你將看到這一點。或許實際上該工具包是所謂的“評估”版本,支持所有功能,但隻有60 天有效期。[page]
PIC32 采用的架構來源於“計算”,因此它非常適合管理麵向PC 的以太網和USB 接口。讓我們看一些演示程序,你就會明白我的意思。
多年來Microchip 一直在為其小型的PIC 芯片提供部分網絡軟件棧,PIC32 做得更多,它提供了全功能、免費的BSD TCP/IP 網絡堆棧。包含所有的網絡服務、套接字等,以及這些常用的協議:DHCP、UDP、ICMP、ARR 等。''795 型芯片中有512KB 的片上flash,有充足的空間存儲一些漂亮的演示程序,讓我們瀏覽一下入門電路板(見照片2)。
USB 支持不錯,。OTG功能允許一個設備在USB 主、從設備之間動態切換。一個典型的應用案例是打印機,當連接到PC 時它是一個從設備,而當連接到相機時它成為主設備。現在所有的USB 芯片似乎都有OTG 了,不過我自己從沒有遇到過需要以這種方式切換的情況。
不管 OTG 是否真正有用,它使得PIC32 能在更多的傳統領域中得到應用,無論是作為主設備或從設備。USB“嵌入式主設備”在使用中有一些限製,不像“標準主設備”如電腦,舉例來說PIC32 不提供VBUS 電源(100-500 mA),但是你可以在個人電腦的USB接口上找到這種電源——當然這完全可以理解。另外,速度限製也需要注意,,作為從設備時能夠“全速”(12 Mbps),而作為主設備時隻能提供“低速”(1.5 Mbps)。
這個套件包含了一些實用的演示。其中一個演示讓該板子成為一個標準人機接口設備(HID)——比如鼠標。因為HID 驅動已經是標準,你可以把它直接插入PC 使用。另外,你可以把這個套件配置成USB 主設備,從而利用PIC32 不斷完善的FAT 文件管理軟件庫,有一些演示展示了如何訪問廣泛使用的USB 存儲器(見照片3)。
不過需要指出的是這個套件中沒有包含CAN 演示。因為我不懂也沒有實驗條件進行有意義的CAN 測試,如果你需要該功能,你需要自己來評估和結論。
優化的迷宮
結構體係進化的重要標誌之一,曾經是編譯器的優化。您可能還記得有些人把“RISC”縮寫調侃為“Relegate the Impossible Stuff to the Compiler”,即“把不可能完成的任務丟給編譯器”。然而,在調試時,一個太過自我聰明的編譯器其問題也是顯而易見的。比如PIC32 的“C”編譯手冊有提到說,當調試經過優化的代碼時“可能偶爾會碰到令人驚訝的結果。”
例li如ru,有you些xie變bian量liang和he代dai碼ma會hui消xiao失shi,如ru果guo編bian譯yi器qi認ren為wei你ni其qi實shi並bing不bu需xu要yao它ta們men。舉ju例li說shuo你ni聲sheng明ming了le一yi個ge變bian量liang,然ran後hou給gei它ta賦fu值zhi一yi個ge常chang數shu,接jie著zhe在zai某mou個ge計ji算suan時shi調tiao用yong了le這zhe個ge變bian量liang。不bu要yao為wei找zhao不bu到dao那na個ge變bian量liang和he賦fu值zhi語yu句ju而er抓zhua狂kuang,編bian譯yi器qi隻zhi是shi比bi你ni更geng聰cong明ming一yi點dian,它ta在zai計ji算suan中zhong直zhi接jie調tiao用yong了le常chang數shu。
當(dang)你(ni)在(zai)一(yi)個(ge)條(tiao)件(jian)分(fen)支(zhi)指(zhi)令(ling)處(chu)點(dian)擊(ji)了(le)單(dan)步(bu)執(zhi)行(xing),然(ran)後(hou)看(kan)到(dao)光(guang)標(biao)移(yi)動(dong)到(dao)了(le)下(xia)一(yi)條(tiao)指(zhi)令(ling)處(chu),這(zhe)是(shi)否(fou)意(yi)味(wei)該(gai)條(tiao)件(jian)分(fen)支(zhi)的(de)條(tiao)件(jian)未(wei)被(bei)滿(man)足(zu)呢(ne)?未(wei)必(bi),請(qing)注(zhu)意(yi)這(zhe)是(shi)MIPS 架構的一個特性,即分支指令的下一條指令總是會被執行,當編譯器找不到合適的指令時會填充一條NOP 指令。你必須再執行一次單步操作,才能確認分支條件是否被滿足(在這種情況下,你會看到光標跳到分支目標處)或不滿足(光標跳轉到下一條順序指令)。更先進的“代碼移動”優化能夠導致更多的優化幹預。請記住,有時指令可以被挪動很遠的距離,甚至超出你認為應在的循環之外。
不過,調試優化過的代碼也是可能的,尤其是你喜歡頭腦風暴的話(例如,在分支指令後跟一個分支指令會發生什麼?)。通tong常chang缺que省sheng的de編bian譯yi器qi優you化hua隻zhi生sheng成cheng簡jian單dan的de代dai碼ma,會hui完wan整zheng保bao留liu你ni的de意yi圖tu即ji使shi可ke能neng它ta效xiao率lv底di下xia。當dang調tiao試shi時shi在zai斷duan點dian觸chu發fa處chu,,你ni可ke以yi放fang心xin地di修xiu改gai某mou個ge變bian量liang的de值zhi,而er不bu用yong擔dan心xin編bian譯yi器qi會hui搗dao什shen麼me鬼gui(比如雖然你從源代碼中看不到,但一些賦值語句已經被挪動並執行了)。
需要緊記的是,編譯器優化設置(見照片4)能夠產生很大影響。我試著跑過一個USB主機演示程序,采用了如表1 所示的不同編譯器設置,你可以看到,不同設置下(速度/大小取向、循環展開,采取MIPS-16 的16 位代碼優化選項)生成的代碼大小相差能夠高達2倍。
保持簡潔
PIC32 在精簡MIPS 架構使其服務於嵌入式應用方麵做得很好。比如,全部的活動功耗隻有1mA/MHz 水平,從它提供的性能來看這是非常難得的。它們的批量價格也比較合理,特別考慮到那些完整的外設和存儲器配備。
然而競爭也非常激烈,像Cortex - M3、瑞薩SH(現在叫RX)、愛特梅爾的AVR32 以及飛思卡爾的ColdFire 等。這些競爭對手在行業裏已經有很長的時間,它們的產品也具有很廣的覆蓋麵,在高端產品上能提供跟PIC32類似的集成度和性能,同時還有許多入門級的簡單產品。
我認為MIPS 也在低端產品線上延伸,他們最近發布的“M14K”內核就是明證,在保留當前版本性能的基礎上,在代碼密度、中斷響應和外設一致性上取得了非常大的進步。
其中最深刻的變化是一套新的“microMIPS”指令集。類似於ARM 的Thumb-2,microMIPS 采用了可變長度的操作碼(16 和32 位),以同時取得兩者的優點,即接近32位代碼的性能和16 位代碼的密度(見圖2)。定長指令集是原始RISC 革命的標誌性特點,這在當時是合理的(雖然我並沒有覺得),但在今天,架構師們意識到用32 位存儲器(即使不考慮功耗的開銷)隻是做個寄存器累加或短跳轉是沒有意義的。同上,在軟件方麵,編譯器和IDE 都很好,但MIPS 和Microchip 也應該注意那些簡單的替代產品,如ARM 的mbed、AVR 的Arduino,還有他們自己陣營的PICAXE。有些人可能還認為32 位芯片隻是火箭科學家的事,但火箭能賣掉多少個?
想賣出更多的芯片嗎?很簡單,隻要做到更低功耗低、更易使用、更便宜。然後接著再這樣繼續。
- 成功的嵌入式設計需要指令集之外的諸多因素
- 認識 PIC32
- 入門 PIC32
- PIC32擁有優化的迷宮
- PIC32保持簡潔
當談到32 位微控製器時,基於ARM 的產品已經占據重要地位。那麼,這會是故事的全部嗎?不見得,行業內最重要的公司之一,Microchip Technology,正全力推動其基於MIPS 架構的芯片。他們最新推出的產品在提醒我們,成功的嵌入式設計需要指令集之外的諸多因素。
在計算機曆史上,從實驗室走出過多少種不同的指令集架構?可能曾經有數百種架構取得過一些商業上的成功; ruguosuanshangzhuduoboshilunwenzhongchuxianguode,shumukenenghuiduodajiqianzhong。naliuxingshishangzuobiyu,jisuanjitixijiegoufazhanjiuhaosinvshengqunbaidegaoduyiban,jingchanglaihuibianhua。
曾經有一段時間它非常要緊—— 比如在彙編語言編程的時期。至於兼容性,至少在表麵上它依舊是件重要的事情,特別是在電腦或視頻遊戲方麵(例如,有一些需要執行以前的二進製文件)。但dan實shi際ji上shang,嚴yan格ge的de目mu標biao代dai碼ma兼jian容rong性xing對dui多duo數shu嵌qian入ru式shi設she計ji來lai說shuo已yi經jing不bu再zai是shi一yi個ge大da問wen題ti。更geng多duo的de問wen題ti是shi關guan於yu工gong具ju鏈lian的de兼jian容rong性xing和he代dai碼ma模mo塊kuai的de可ke用yong性xing,指zhi令ling集ji本ben身shen已yi經jing不bu是shi問wen題ti之zhi一yi。
隨著芯片不斷地集成係統功能,設計人員需要的是一個擁有全部所需存儲器、外設和膠合邏輯的芯片。並且這個芯片必須省電、有良好的工具和支持,以及合適的價格。
這並不是說在特定的應用當中,體係結構並沒有優劣之分。事實上,這個問題很有趣,看看那些當初為“計算機”設計的架構—— 如 ARM 和MIPS,不斷下沉,以更好地適應嵌入式“控製器”應用的需求。這些“計算機”架構最後都終於認識到要在嵌入式應用裏麵解決諸如代碼密度、低功耗、快速並確定的中斷響應等問題。
認識 PIC32
在 MCU 領域的競爭裏,無疑MIPS 是在追趕ARM。但是,擁有像Microchip 這樣的重量級選手支持,差距正在縮小。看看新的PIC32 5XX/6XX/7xx 係列產品,高度集成了以太網、USB 和CAN 應用。
我在以前的文章中(“MIPS for the Masses”,Circuit cellar 216 期,2008)介紹過PIC32的內核。擁有5 級流水線,性能相對較高(比如與ARM Cortex - M3 相比)。不過,這隻是處理器內核級別的性能差異。比如Microchip PIC32 的性能為1.5 DMIPS / MHz,而Cortex - M3是1.25 DMIPS / MHz 的。在實際中,32 位微控製器的flash 存儲器訪問時間是性能瓶頸。如以80MHz 運行的PIC32 可能需要2 個等待周期。通常采用寬總線(128 位)、高速緩存和預取等技術來減輕flash 訪問的瓶頸問題。
或者,可以使用片內的RAM來達到0 等待周期。’5xx 係列包含64KB 的RAM,’6xx’和7xx 係列中的部分型號有多達128KB 的RAM。不過要記住,代碼和數據訪問之間的爭搶可能導致一些延遲。此外,256KB 或512KB 的flash 空間足夠用來放置你的代碼(加上額外12 KB 的啟動代碼空間)。
外設方麵,這些新產品提供了完整的I/O(見圖1)。 ‘5xx/6xx/7xx 編號代表了大的接口功能:USB、CAN 和以太網。‘5xx 係列包含一個USB 2.0 和一個CAN(2.0b)模塊;‘6xx係列包含USB 模塊與一個10/100 以太網MAC。而‘7xx 係列集成了所有這些,包含USB、以太網和兩個CAN 模塊。

圖1:憑借豐富的I/O(USB、以太網、CAN等),PIC32成為Microchip和MIPS在MCU戰場上的有力武器
普通 I/O 方麵,這些產品遵循了不同應用需求的趨勢。我們看到5 個16 位計數器/定時器,其中任何兩對可以組合成為32 位單元。由於封裝尺寸(有64 腳和100 腳可選)和引腳複用的限製,你能得到最多六個UART、四個SPI 以及五個I2C 接口。在模擬方麵,有一個16通道多路複用器連接一個10 位1 MSPS 的ADC 和兩個模擬比較器。除了這些MCU 能力,另外還有8/16 位數據總線和16 位地址總線擴展功能,外加兩個片選。所有的數據流可以通過8個通用DMA通道控製,輔以4個專用DMA通道(''5XX 和''6XX 係列)或8個專用DMA通道(''7XX 係列)。
源自上世紀80 年代的MIPS 是RISC 方麵“精簡”特性的傑出代表。當響應中斷時,它們可以要對PC 和狀態寄存器壓棧,不然的話就轉由軟件去處理。對這種極端簡約存在一些爭議,可能少了一些有用的東西。考慮到這一點,PIC32 係列包括一個全功能優先級/向量可編程的中斷控製器;以及一組替代寄存器組用於快速中斷響應和上下文切換。
另外,不要忽視那些可能導致嚴重預算問題的膠合邏輯,如看門狗定時器、低電壓檢測、電壓整流器、主時鍾/外設時鍾/實時時鍾等。這些功能的集成,使PIC32 係列成為真正適用於“控製”應用的芯片,有別於“計算機”芯片。
入門
跟以前一樣,Microchip 的芯片評估很容易,而且便宜。PIC32 以太網入門套件(見照片1)定價$72,提供一切你需要的部件。雖然名字為“以太網”入門套件,該套件配備了高端的''795 型號MCU,同時支持USB 功能。

PIC32 采用的架構來源於“計算”,因此它非常適合管理麵向PC 的以太網和USB 接口。讓我們看一些演示程序,你就會明白我的意思。
多年來Microchip 一直在為其小型的PIC 芯片提供部分網絡軟件棧,PIC32 做得更多,它提供了全功能、免費的BSD TCP/IP 網絡堆棧。包含所有的網絡服務、套接字等,以及這些常用的協議:DHCP、UDP、ICMP、ARR 等。''795 型芯片中有512KB 的片上flash,有充足的空間存儲一些漂亮的演示程序,讓我們瀏覽一下入門電路板(見照片2)。

不管 OTG 是否真正有用,它使得PIC32 能在更多的傳統領域中得到應用,無論是作為主設備或從設備。USB“嵌入式主設備”在使用中有一些限製,不像“標準主設備”如電腦,舉例來說PIC32 不提供VBUS 電源(100-500 mA),但是你可以在個人電腦的USB接口上找到這種電源——當然這完全可以理解。另外,速度限製也需要注意,,作為從設備時能夠“全速”(12 Mbps),而作為主設備時隻能提供“低速”(1.5 Mbps)。
這個套件包含了一些實用的演示。其中一個演示讓該板子成為一個標準人機接口設備(HID)——比如鼠標。因為HID 驅動已經是標準,你可以把它直接插入PC 使用。另外,你可以把這個套件配置成USB 主設備,從而利用PIC32 不斷完善的FAT 文件管理軟件庫,有一些演示展示了如何訪問廣泛使用的USB 存儲器(見照片3)。

優化的迷宮
結構體係進化的重要標誌之一,曾經是編譯器的優化。您可能還記得有些人把“RISC”縮寫調侃為“Relegate the Impossible Stuff to the Compiler”,即“把不可能完成的任務丟給編譯器”。然而,在調試時,一個太過自我聰明的編譯器其問題也是顯而易見的。比如PIC32 的“C”編譯手冊有提到說,當調試經過優化的代碼時“可能偶爾會碰到令人驚訝的結果。”
例li如ru,有you些xie變bian量liang和he代dai碼ma會hui消xiao失shi,如ru果guo編bian譯yi器qi認ren為wei你ni其qi實shi並bing不bu需xu要yao它ta們men。舉ju例li說shuo你ni聲sheng明ming了le一yi個ge變bian量liang,然ran後hou給gei它ta賦fu值zhi一yi個ge常chang數shu,接jie著zhe在zai某mou個ge計ji算suan時shi調tiao用yong了le這zhe個ge變bian量liang。不bu要yao為wei找zhao不bu到dao那na個ge變bian量liang和he賦fu值zhi語yu句ju而er抓zhua狂kuang,編bian譯yi器qi隻zhi是shi比bi你ni更geng聰cong明ming一yi點dian,它ta在zai計ji算suan中zhong直zhi接jie調tiao用yong了le常chang數shu。
當(dang)你(ni)在(zai)一(yi)個(ge)條(tiao)件(jian)分(fen)支(zhi)指(zhi)令(ling)處(chu)點(dian)擊(ji)了(le)單(dan)步(bu)執(zhi)行(xing),然(ran)後(hou)看(kan)到(dao)光(guang)標(biao)移(yi)動(dong)到(dao)了(le)下(xia)一(yi)條(tiao)指(zhi)令(ling)處(chu),這(zhe)是(shi)否(fou)意(yi)味(wei)該(gai)條(tiao)件(jian)分(fen)支(zhi)的(de)條(tiao)件(jian)未(wei)被(bei)滿(man)足(zu)呢(ne)?未(wei)必(bi),請(qing)注(zhu)意(yi)這(zhe)是(shi)MIPS 架構的一個特性,即分支指令的下一條指令總是會被執行,當編譯器找不到合適的指令時會填充一條NOP 指令。你必須再執行一次單步操作,才能確認分支條件是否被滿足(在這種情況下,你會看到光標跳到分支目標處)或不滿足(光標跳轉到下一條順序指令)。更先進的“代碼移動”優化能夠導致更多的優化幹預。請記住,有時指令可以被挪動很遠的距離,甚至超出你認為應在的循環之外。
不過,調試優化過的代碼也是可能的,尤其是你喜歡頭腦風暴的話(例如,在分支指令後跟一個分支指令會發生什麼?)。通tong常chang缺que省sheng的de編bian譯yi器qi優you化hua隻zhi生sheng成cheng簡jian單dan的de代dai碼ma,會hui完wan整zheng保bao留liu你ni的de意yi圖tu即ji使shi可ke能neng它ta效xiao率lv底di下xia。當dang調tiao試shi時shi在zai斷duan點dian觸chu發fa處chu,,你ni可ke以yi放fang心xin地di修xiu改gai某mou個ge變bian量liang的de值zhi,而er不bu用yong擔dan心xin編bian譯yi器qi會hui搗dao什shen麼me鬼gui(比如雖然你從源代碼中看不到,但一些賦值語句已經被挪動並執行了)。


PIC32 在精簡MIPS 架構使其服務於嵌入式應用方麵做得很好。比如,全部的活動功耗隻有1mA/MHz 水平,從它提供的性能來看這是非常難得的。它們的批量價格也比較合理,特別考慮到那些完整的外設和存儲器配備。
然而競爭也非常激烈,像Cortex - M3、瑞薩SH(現在叫RX)、愛特梅爾的AVR32 以及飛思卡爾的ColdFire 等。這些競爭對手在行業裏已經有很長的時間,它們的產品也具有很廣的覆蓋麵,在高端產品上能提供跟PIC32類似的集成度和性能,同時還有許多入門級的簡單產品。
我認為MIPS 也在低端產品線上延伸,他們最近發布的“M14K”內核就是明證,在保留當前版本性能的基礎上,在代碼密度、中斷響應和外設一致性上取得了非常大的進步。
其中最深刻的變化是一套新的“microMIPS”指令集。類似於ARM 的Thumb-2,microMIPS 采用了可變長度的操作碼(16 和32 位),以同時取得兩者的優點,即接近32位代碼的性能和16 位代碼的密度(見圖2)。定長指令集是原始RISC 革命的標誌性特點,這在當時是合理的(雖然我並沒有覺得),但在今天,架構師們意識到用32 位存儲器(即使不考慮功耗的開銷)隻是做個寄存器累加或短跳轉是沒有意義的。同上,在軟件方麵,編譯器和IDE 都很好,但MIPS 和Microchip 也應該注意那些簡單的替代產品,如ARM 的mbed、AVR 的Arduino,還有他們自己陣營的PICAXE。有些人可能還認為32 位芯片隻是火箭科學家的事,但火箭能賣掉多少個?

想賣出更多的芯片嗎?很簡單,隻要做到更低功耗低、更易使用、更便宜。然後接著再這樣繼續。
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 邊緣AI的發展為更智能、更可持續的技術鋪平道路
- IAR作為Qt Group獨立BU攜兩項重磅汽車電子應用開發方案首秀北京車展
- 安森美:用全光譜“智慧之眼”定義下一代工業機器人
- 貿澤EIT係列新一期,探索AI如何重塑日常科技與用戶體驗
- 算力爆發遇上電源革新,大聯大世平集團攜手晶豐明源線上研討會解鎖應用落地
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
Future
GFIVE
GPS
GPU
Harting
HDMI
HDMI連接器
HD監控
HID燈
I/O處理器
IC
IC插座
IDT
IGBT
in-cell
Intersil
IP監控
iWatt
Keithley
Kemet
Knowles
Lattice
LCD
LCD模組
LCR測試儀
lc振蕩器
Lecroy
LED
LED保護元件
LED背光




