<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          MIPS走向更多

          作者:Tom Cantrell 時間:2011-04-11 來源:電子產(chǎn)品世界 收藏

            當(dāng)你在一個條件分支指令處點(diǎn)擊了單步執(zhí)行,然后看到光標(biāo)移動到了下一條指令處,這是否意味該條件分支的條件未被滿足呢?未必,請注意這是 架構(gòu)的一個特性,即分支指令的下一條指令總是會被執(zhí)行,當(dāng)編譯器找不到合適的指令時會填充一條NOP 指令。你必須再執(zhí)行一次單步操作,才能確認(rèn)分支條件是否被滿足(在這種情況下,你會看到光標(biāo)跳到分支目標(biāo)處)或不滿足(光標(biāo)跳轉(zhuǎn)到下一條順序指令)。更先進(jìn)的“代碼移動”優(yōu)化能夠?qū)е赂嗟膬?yōu)化干預(yù)。請記住,有時指令可以被挪動很遠(yuǎn)的距離,甚至超出你認(rèn)為應(yīng)在的循環(huán)之外。

          本文引用地址:http://www.ex-cimer.com/article/118542.htm

            不過,調(diào)試優(yōu)化過的代碼也是可能的,尤其是你喜歡頭腦風(fēng)暴的話(例如,在分支指令后跟一個分支指令會發(fā)生什么?)。通常缺省的編譯器優(yōu)化只生成簡單的代碼,會完整保留你的意圖即使可能它效率底下。當(dāng)調(diào)試時在斷點(diǎn)觸發(fā)處,,你可以放心地修改某個變量的值,而不用擔(dān)心編譯器會搗什么鬼(比如雖然你從源代碼中看不到,但一些賦值語句已經(jīng)被挪動并執(zhí)行了)。

            照片4:搞“計(jì)算”的人擅長編譯優(yōu)化,如這里所示,從速度、代碼尺寸到編譯時間,有廣泛的選擇空間可選

            需要緊記的是,編譯器優(yōu)化設(shè)置(見照片4)能夠產(chǎn)生很大影響。我試著跑過一個USB主機(jī)演示程序,采用了如表1 所示的不同編譯器設(shè)置,你可以看到,不同設(shè)置下(速度/大小取向、循環(huán)展開,采取-16 的16 位代碼優(yōu)化選項(xiàng))生成的代碼大小相差能夠高達(dá)2倍。

            表1:聰明的編譯器總歸不錯,但是要留意可能會給調(diào)試工作帶來副作用。應(yīng)首選保證你的代碼正確工作,然后再考慮進(jìn)一步優(yōu)化

            保持簡潔

            PIC32 在精簡 架構(gòu)使其服務(wù)于嵌入式應(yīng)用方面做得很好。比如,全部的活動功耗只有1mA/MHz 水平,從它提供的性能來看這是非常難得的。它們的批量價格也比較合理,特別考慮到那些完整的外設(shè)和存儲器配備。

            然而競爭也非常激烈,像Cortex - M3、瑞薩SH(現(xiàn)在叫RX)、愛特梅爾的AVR32 以及飛思卡爾的ColdFire 等。這些競爭對手在行業(yè)里已經(jīng)有很長的時間,它們的產(chǎn)品也具有很廣的覆蓋面,在高端產(chǎn)品上能提供跟PIC32類似的集成度和性能,同時還有許多入門級的簡單產(chǎn)品。

            我認(rèn)為MIPS 也在低端產(chǎn)品線上延伸,他們最近發(fā)布的“M14K”內(nèi)核就是明證,在保留當(dāng)前版本性能的基礎(chǔ)上,在代碼密度、中斷響應(yīng)和外設(shè)一致性上取得了非常大的進(jìn)步。

            其中最深刻的變化是一套新的“microMIPS”指令集。類似于ARM 的Thumb-2,microMIPS 采用了可變長度的操作碼(16 和32 位),以同時取得兩者的優(yōu)點(diǎn),即接近32位代碼的性能和16 位代碼的密度(見圖2)。定長指令集是原始RISC 革命的標(biāo)志性特點(diǎn),這在當(dāng)時是合理的(雖然我并沒有覺得),但在今天,架構(gòu)師們意識到用32 位存儲器(即使不考慮功耗的開銷)只是做個寄存器累加或短跳轉(zhuǎn)是沒有意義的。同上,在軟件方面,編譯器和IDE 都很好,但MIPS 和Microchip 也應(yīng)該注意那些簡單的替代產(chǎn)品,如ARM 的mbed、AVR 的Arduino,還有他們自己陣營的PICAXE。有些人可能還認(rèn)為32 位芯片只是火箭科學(xué)家的事,但火箭能賣掉多少個?

            圖2:MIPS M14K進(jìn)一步丟棄了“計(jì)算”架構(gòu)中的包袱,如造成代碼膨脹的32位定長指令,使得在保留高性能的同時,極大地減小了代碼大小

            想賣出更多的芯片嗎?很簡單,只要做到更低功耗低、更易使用、更便宜。然后接著再這樣繼續(xù)。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: MIPS 嵌入式設(shè)計(jì)

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();