快一年沒有開發(fā)AVR了,想念之....
[導(dǎo)讀]AVR陪我度過了難忘的大四,以前剛用的時候來懵懵懂懂,心里直罵導(dǎo)師為什么不讓用熟悉的51;現(xiàn)在想來....
今天突發(fā)奇想,分析了一下AVR core,偶得:
AVR的指令集結(jié)構(gòu)是Load-Store,51是Accumulator-memory,時尚啊~~現(xiàn)在計(jì)算機(jī)的體系結(jié)構(gòu)就流行這個...
指令集結(jié)構(gòu)定為Load-Store后,采用2級流水,偶分析,AVRcore全速運(yùn)行也才16M(下面分析AVR為什么不運(yùn)行在更高的速度上),分成2個流水級已經(jīng)足夠了;分成三個及以上的話,性能沒怎么增加(增加流水級,必須降低每個流水clk的時間才能提高性能)卻要增加硬件開銷,劃不來啊~~~~
定長指令編碼,降低了譯碼難度,又適合流水;
流水線結(jié)構(gòu)的CPU,需要多個寄存器才能發(fā)揮其性能優(yōu)勢,但是寄存器多了,又增加了CPUcore的開銷,CPU設(shè)計(jì)前輩們指出,性能和代價折中下來,32個寄存器最好了,發(fā)現(xiàn),AVR采用的是32個registers?。。?
AVRcore的全速運(yùn)行定為16M,偶發(fā)現(xiàn)ATMEL公司的flash,訪問速度多為70ns,這說明什么呢?16M*70ns=1 啊,AVRcore的全速運(yùn)行閥值為flash儲存器的訪問速度,這樣,對AVR來說,程序在flash中運(yùn)行和SRAM中運(yùn)行效果一樣,所以,又簡化了許多設(shè)計(jì),比如CPU內(nèi)部總線,PLL,Remap等等,減少成本啊~~~!
要是讓我來設(shè)計(jì)一個8-bit的CPUcore的話,在當(dāng)前技術(shù)條件下,能達(dá)到AVR的性能,就相當(dāng)相當(dāng)不錯啦!
AVR陪我度過了難忘的大四,以前剛用的時候來懵懵懂懂,心里直罵導(dǎo)師為什么不讓用熟悉的51;現(xiàn)在想來,特感激導(dǎo)師的決定,也特仰慕AVR的CPU構(gòu)架設(shè)計(jì)師,能在8位CPU成本的限制下,做出如此高性能的CPU來...
快一年沒有開發(fā)AVR了,想念之....
AVR的指令集結(jié)構(gòu)是Load-Store,51是Accumulator-memory,時尚啊~~現(xiàn)在計(jì)算機(jī)的體系結(jié)構(gòu)就流行這個...
指令集結(jié)構(gòu)定為Load-Store后,采用2級流水,偶分析,AVRcore全速運(yùn)行也才16M(下面分析AVR為什么不運(yùn)行在更高的速度上),分成2個流水級已經(jīng)足夠了;分成三個及以上的話,性能沒怎么增加(增加流水級,必須降低每個流水clk的時間才能提高性能)卻要增加硬件開銷,劃不來啊~~~~
定長指令編碼,降低了譯碼難度,又適合流水;
流水線結(jié)構(gòu)的CPU,需要多個寄存器才能發(fā)揮其性能優(yōu)勢,但是寄存器多了,又增加了CPUcore的開銷,CPU設(shè)計(jì)前輩們指出,性能和代價折中下來,32個寄存器最好了,發(fā)現(xiàn),AVR采用的是32個registers?。。?
AVRcore的全速運(yùn)行定為16M,偶發(fā)現(xiàn)ATMEL公司的flash,訪問速度多為70ns,這說明什么呢?16M*70ns=1 啊,AVRcore的全速運(yùn)行閥值為flash儲存器的訪問速度,這樣,對AVR來說,程序在flash中運(yùn)行和SRAM中運(yùn)行效果一樣,所以,又簡化了許多設(shè)計(jì),比如CPU內(nèi)部總線,PLL,Remap等等,減少成本啊~~~!
要是讓我來設(shè)計(jì)一個8-bit的CPUcore的話,在當(dāng)前技術(shù)條件下,能達(dá)到AVR的性能,就相當(dāng)相當(dāng)不錯啦!
AVR陪我度過了難忘的大四,以前剛用的時候來懵懵懂懂,心里直罵導(dǎo)師為什么不讓用熟悉的51;現(xiàn)在想來,特感激導(dǎo)師的決定,也特仰慕AVR的CPU構(gòu)架設(shè)計(jì)師,能在8位CPU成本的限制下,做出如此高性能的CPU來...
快一年沒有開發(fā)AVR了,想念之....





