| 
  |||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe  | 
  
改進AVR結(jié)構(gòu),獲得更快速度的一點建議: | 
  
| 作者:pheavecn 欄目:單片機 | 
AVR的R16~R31均具有累加器地位。 但是這些寄存器太少是一個處理速度和程序size的瓶頸。 比如一個計時器變量,需要遞增時,先要lds Rxx,SRAM,增1后還要sts SRAM,Rxx?偣残枰5個WORD,10byte的程序空間,消耗5個cycle。 而這種變量通常在程序中大量使用,是AVR程序size一般大于8051的主因。 如果能將R16變成一個映射地址寄存器,將R24~R31映射到SRAM的頭2048字節(jié)(8*256總共可以映射2048字節(jié)),這樣要處理某SRAM的內(nèi)容時,只要ldi R16,BANK 就可以快速尋址該SRAM。 中斷保存現(xiàn)場也可以方便的保存、恢復。 子程序參數(shù)傳遞也方便多了。 即使僅映射8*32=256字節(jié),也能大大增加AVR的處理能力。  | 
  
| 2樓: | >>參與討論 | 
| 作者: 平常人 于 2006/12/16 20:55:00 發(fā)布:
         想法不錯,但這樣的話,也能大大增加成本和價錢  | 
  |
| 3樓: | >>參與討論 | 
| 作者: MicroMMU 于 2006/12/16 23:26:00 發(fā)布:
         不錯,不過RISC結(jié)構(gòu)大都是這樣的。 ARM也差不多。  | 
  |
| 4樓: | >>參與討論 | 
| 作者: xiaoxiong 于 2006/12/17 10:53:00 發(fā)布:
         請問RISC的中斷一般是怎樣的? 大都是像AVR一樣非嵌入式的嗎? 謝謝。  | 
  |
| 5樓: | >>參與討論 | 
| 作者: xwj 于 2006/12/17 16:52:00 發(fā)布:
         支持,同時建議增加類似DJNZ的單周期指令 這點應(yīng)該很容易實現(xiàn)  | 
  |
| 6樓: | >>參與討論 | 
| 作者: NE5532 于 2006/12/17 17:05:00 發(fā)布:
         建議RAM數(shù)據(jù)可以實現(xiàn)INC和DEC指令  | 
  |
| 7樓: | >>參與討論 | 
| 作者: AA_55 于 2006/12/17 17:15:00 發(fā)布:
         這么建議來建議去 RISC就建議成CISC了,慢慢地,那點速度和精簡電路的優(yōu)勢就沒了。  | 
  |
| 8樓: | >>參與討論 | 
| 作者: 平常人 于 2006/12/17 17:57:00 發(fā)布:
         RISC的精髓之一就是Load和Store,這是為了節(jié)省內(nèi)部數(shù)據(jù)通路 你們的建議剛好都是與這些原則背道而馳的,所以我說實現(xiàn)這些建議“能大大增加成本和價錢”。  | 
  |
| 9樓: | >>參與討論 | 
| 作者: camtime 于 2006/12/17 19:06:00 發(fā)布:
         re 如果能像PC那樣,有DMA功能我已經(jīng)覺得不錯了  | 
  |
| 10樓: | >>參與討論 | 
| 作者: yusuffang 于 2006/12/18 13:59:00 發(fā)布:
         和MCS51沒法比,不過習慣了就好了。  | 
  |
| 11樓: | >>參與討論 | 
| 作者: zhpingsky 于 2006/12/18 16:20:00 發(fā)布:
         AVR主頻問題 AVR產(chǎn)品檔次越高主頻越低,為什么不能象ARM一樣可以加個PLL讓它運行在100MHZ,那樣該多好! 是AVR工藝問題,還是AVR的體系問題限制了它的主頻?  | 
  |
| 12樓: | >>參與討論 | 
| 作者: AA_55 于 2006/12/18 17:12:00 發(fā)布:
         AVR產(chǎn)品檔次越高主頻越低? 我怎么沒有這個概念。 最低檔的是ATtiny11-6,6MHZ的主頻;最高檔的目前是ATmega2560/2561,16MHZ的主頻。怎么也得不出檔次越高主頻越低的概念。 如果算上指令集的差異以及器件內(nèi)部配置的差異,高檔的AVR處理速度比低檔快的多例如中高檔的都有硬件乘法器,低檔的只能軟件模擬,速度差太多了。  | 
  |
| 13樓: | >>參與討論 | 
| 作者: AIRWILL 于 2006/12/18 17:53:00 發(fā)布:
         硬件除法器也是改進之一 往往涉及到數(shù)碼顯示, 16進制數(shù)轉(zhuǎn)換為BCD(ASC)碼顯示時, 需要很多次的除法完成.  | 
  |
| 14樓: | >>參與討論 | 
| 作者: aekin 于 2006/12/18 20:08:00 發(fā)布:
         AVR芯片匯編編程時,最心痛的就是LDS和STS消耗的時間和空間了。 AVR的累加器多,但是51有32個位存儲器,前128個SRAM都可以立即數(shù)存取,要比AVR快。 不過不知道這個映射消耗的芯片面積大不大? 其實也就相當于8051的4個R0~R7的做法,應(yīng)該不會很難實現(xiàn)。  | 
  |
| 15樓: | >>參與討論 | 
| 作者: yaguifang 于 2006/12/19 10:34:00 發(fā)布:
         RE:關(guān)于AVR主頻 我作過實驗,AVR系列基本上都能超過16M工作,標準5V的時候,使用無源晶體可以上20M,如果使用有源晶體,最高可以工作在32M,在30M以下都可以通過高低溫(-30-+85度),超頻要處理好引腳和復位端子,程序一般不容易跑飛,頻率在24.576M時,串口通信可以達256K,28M以上串口可以達到384K,這是因為一個工程需要我實驗過的,不過這個工程后來換了方案。  | 
  |
| 16樓: | >>參與討論 | 
| 作者: netjob 于 2006/12/19 12:04:00 發(fā)布:
         來個雙核或多核的AVR,實現(xiàn)真正的并行運算! 來個雙核或多核的AVR,實現(xiàn)真正的并行運算!  | 
  |
| 17樓: | >>參與討論 | 
| 作者: aekin 于 2006/12/19 22:32:00 發(fā)布:
         雙核的話,編程難度增加不止1倍。還不如CPLD。  | 
  |
| 18樓: | >>參與討論 | 
| 作者: su_mj000 于 2006/12/20 4:36:00 發(fā)布:
         我倒是覺得AVR結(jié)構(gòu)有R0~R15就足夠了 當然,R0~R15應(yīng)該是全功能的。原因很簡單:中斷保護可以快一點。 作為支持C語言,16個8位的寄存器就足夠了(甚至8個也行)。因為在大多 數(shù)情況下,函數(shù)的參數(shù)不會超過3個。 不論從何方面而言,AVR結(jié)構(gòu)是目前8位機芯片中最好的。甚至超過PIC18 系列產(chǎn)品(指結(jié)構(gòu)、速度和支持C語言)。  | 
  |
| 19樓: | >>參與討論 | 
| 作者: hotpower 于 2006/12/21 0:11:00 發(fā)布:
         估計危險~~~ 改朝換代的事情一般很難~~~  | 
  |
| 20樓: | >>參與討論 | 
| 作者: publicrtos 于 2007/1/25 9:29:00 發(fā)布:
         6樓的, 你的想法很棒,有兩種辦法實現(xiàn): 1. 用微碼技術(shù),即解釋INC RAM指令時,解釋成幾條指令的組合,這樣就成CISC了,速度不會加快,只是程序長度減小了,要增加一部分邏輯電路; 2. 采硬布線技術(shù),即每一個字節(jié)的RAM都用管線連起來形成寄存器,這樣代碼長度可以減小,速度也會加快,但是要增加非常多的邏輯電路,而且外擴的內(nèi)存里不能實現(xiàn)這些指令,成本要增加n倍。 所以以增加百分之幾或千分之幾的代碼長度來代替額外增加的成本,很劃算的,AVR的賣點就是低成本,較高的性能。  | 
  |
| 21樓: | >>參與討論 | 
| 作者: athlon64fx 于 2007/1/25 20:29:00 發(fā)布:
         AVR32已經(jīng)有了,會不會再出來個8位的AVR2 ?  | 
  |
| 22樓: | >>參與討論 | 
| 作者: ayb_ice 于 2007/3/7 11:02:00 發(fā)布:
         隨便說說 所以說RISC不是所吹噓的那么好,也是51一直有生命力的原因之一,PIC這方面做得可以.  | 
  |
| 23樓: | >>參與討論 | 
| 作者: AA_55 于 2007/3/7 11:09:00 發(fā)布:
         51有生命力不是什么技術(shù)問題 它出來的早,應(yīng)用軟件很多,會的人也多,由于慣性的原因,獲得了廣泛的應(yīng)用。另外一個因素,是它的專利早就過期了,各個廠商都可以生產(chǎn)51兼容的mcu而不用擔心法律問題。這種技術(shù)不最先進、但是市場占有反倒領(lǐng)先的現(xiàn)象,早就被人注意到了,還有個專有名詞來描述,叫做“市場動力學” 最前沿的處理器都是RISC的,RISC優(yōu)于CISC是業(yè)界的共識,不是什么吹噓不吹噓的。  | 
  |
| 24樓: | >>參與討論 | 
| 作者: ayb_ice 于 2007/3/8 8:42:00 發(fā)布:
         請問23樓 請問23樓,那X86,當今的PC處理器是什么類型的CPU. 至少51的位指令,中斷嵌套在當今的MCU中也還是先進的,標準51的最弱的功耗和速度問題在增強型的51中已經(jīng)被克服了,也許這才是51至今還能生存和不斷發(fā)展的真正原因,事實是現(xiàn)在還在使用標準51的人已經(jīng)很少了,而新的51層出不窮.  | 
  |
| 25樓: | >>參與討論 | 
| 作者: AA_55 于 2007/3/8 10:39:00 發(fā)布:
         這個還用說?樓上還是沒有理解什么是市場動力學 x86就是最典型的市場動力學的例子:技術(shù)不是最先進的,但是被巨大的市場容量、歷史慣性和龐大的應(yīng)用軟件拖累著繼續(xù)發(fā)展。 x86架構(gòu)從8086開始,一直被迫保持體系結(jié)構(gòu)兼容向前發(fā)展。從8086、3286、386、486、pentium、PII\PIII\P4一直到現(xiàn)在都是這樣。用最早的8086代碼寫的程序,還能在最新的x86處理器上運行。很長一段時間以來,INTEL不敢冒這樣的風險:推出一個全新的先進架構(gòu)的處理器來大幅度提升計算性能。因為這樣做的話,就等于拋棄了大量的已有各種軟件、用戶和相應(yīng)配套工業(yè)。所以在最先進技術(shù)上和保持兼容問題上,INTEL小心翼翼地選擇了兼容 隨著時代進步,微處理器發(fā)展到64位,INTEL也做到了業(yè)界霸主地位。為了改變被迫兼容而造成的發(fā)展障礙,INTEL在開發(fā)64位安騰處理器時候,就做出了與x86不兼容的決定,采用了新的架構(gòu)。而AMD在開發(fā)64位處理器時候,相反采用了繼續(xù)兼容x86的架構(gòu)。結(jié)果INTEL的安騰推出來幾年也沒有得到預(yù)期的市場,到現(xiàn)在巨額的開發(fā)資金都沒有回籠回來,而AMD的64位處理器迅速地搶占了市場,F(xiàn)在,INTEL也推出了兼容x86的64位處理器,以彌補這個失誤造成的損失。 另一個例子是90年代的DEC公司推出的最早的64位處理器ALPHA,這種處理器具有很高的性能,在100M的主頻下,處理能力就超過當時最快的600M的x86處理器,獲得業(yè)界高度評價,微軟在開發(fā)WindowsNT時候,還專門推出了一個ALPHA版本。但是這個最先進的處理器沒有給DEC帶來預(yù)期利潤,最終DEC被Compaq給收購了,DEC宣告退出歷史舞臺,F(xiàn)在Compaq也被HP吞并,HP也準備逐漸停止ALPHA的發(fā)展和生產(chǎn),這個一直被業(yè)界公認的優(yōu)秀處理器,也將消失。 市場動力學生動地表明:產(chǎn)品發(fā)展,技術(shù)不是唯一的推動因素。反之,也不能以市場占有率和市場存在時間來衡量一個處理器是不是技術(shù)領(lǐng)先的,那只能證明市場選擇了某個產(chǎn)品,而不是技術(shù)決定了市場,我們這里基本都是搞技術(shù)的,容易犯這種認識上的錯誤。  | 
  |
| 26樓: | >>參與討論 | 
| 作者: dhmhl 于 2007/3/8 21:22:00 發(fā)布:
         不錯的想法,思考得很深了 佩服,學習ing  | 
  |
| 27樓: | >>參與討論 | 
| 作者: judge 于 2007/3/9 13:11:00 發(fā)布:
         AVR 我不多說了, 技術(shù)文檔寫的再詳細,類似PIC就很滿意了  | 
  |
  | 
    
 
  | 
  
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 | 
Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號  |