快一年没有开发AVR了,想念之。...
详细内容
名称:快一年没有开发AVR了,想念之。...
今天突发奇想,分析了一下AVR core,偶得:
AVR的指令集结构是Load-Store,51是Aumulator-memory,时尚啊~~现在计算机的体系结构就流行这个。..
指令集结构定为Load-Store后,采用2级流水,偶分析,AVRcore全速运行也才16M(下面分析AVR为什么不运行在更高的速度上),分成2个流水级已经足够了;分成三个及以上的话,性能没怎么增加(增加流水级,必须降低每个流水clk的时间才能提高性能)却要增加硬件开销,划不来啊~~~~
定长指令编码,降低了译码难度,又适合流水;
流水线结构的CPU,需要多个寄存器才能发挥其性能优势,但是寄存器多了,又增加了CPUcore的开销,CPU设计前辈们指出,性能和代价折中下来,32个寄存器最好了,发现,AVR采用的是32个registers!!!
AVRcore的全速运行定为16M,偶发现ATMEL公司的flash,访问速度多为70ns,这说明什么呢?16M*70ns=1啊,AVRcore的全速运行阀值为flash储存器的访问速度,这样,对AVR来说,程序在flash中运行和SRAM中运行效果一样,所以,又简化了许多设计,比如CPU内部总线,PLL,Remap等等,减少成本啊~~~!
要是让我来设计一个8-bit的CPUcore的话,在当前技术条件下,能达到AVR的性能,就相当相当不错啦!
AVR陪我度过了难忘的大四,以前刚用的时候来懵懵懂懂,心里直骂导师为什么不让用熟悉的51;现在想来,特感激导师的决定,也特仰慕AVR的CPU构架设计师,能在8位CPU成本的限制下,做出如此高性能的CPU来。..
快一年没有开发AVR了,想念之。...