历史上的今天
今天是:2024年12月16日(星期一)
2019年12月16日 | AVR单片机的CPU内部结构的详细资料说明
2019-12-16 来源:elecfans
学单片机那么久了,感觉想要深入,还得看汇编语言,至少得了解单片机内部结构。下面就以ATmega16为例,介绍一下AVR单片机结构和汇编语言。
如上两图,左图是虚线框内AVR CPU的内核结构,右图是AVR单片机内核结构的方框图,可以看出AVR单片机的数据总线 (CPU字长)是8位的,也就说它是8位单片机。 AVR采用了Harvard结构,具有独立的数据和程序总线,CPU在执行一条指令的同时,就将PC中指定的下一条指令取出,构成了一级流水线运行方式,实现了一个时钟周期执行一条指令,数据吞吐量高达1MIPS/MHz。 AVR CPU内核由几个重要的部分组成,它们分别是:
A.算数逻辑单元ALU(Arithmetic Logic Unit) AVR ALU与32个通用工作寄存器直接相连。寄存器与寄存器之间、寄存器与立即数之间的ALU运算只需要一个时钟周期。 ALU操作分为3类:算术、逻辑和位操作,此外还提供了支持无/有符号数和分数乘法的乘法器,操作结果的状态将影响到状态寄存器SREG(Status Register)。
B.程序计数器PC、指令寄存器和指令译码器程序计数器PC用来存放下一条需要执行指令在程序存储器(ROM)空间的地址(指向FlashROM空间),取出的指令存放在指令寄存器中,然后送入指令译码器中产生各种控制信号,控制CPU的运行(执行指令)。 AVR一条指令的长度大多数为16位,还有少部分为32位,因此AVR的程序存储器结构实际上是以字(16位)为一个存储单元的。 ATmega16单片机的程序计数器为13位,正好满足了对片内8K字(及16K字节)的Flash程序存储器空间直接寻址的需要。
史海拾趣
|
TD-SCDMA产业在中国的兴起,对测试仪器提出了更高要求,测试厂商也不断适应形势,推出新品。目前市场上共有8家TD终端测试仪表厂家,其中终端综合测试仪厂家有6家,分别是国内的湖北众友(ZY4923)、星河亮点(SP6010)、中电科技集团第41所(AV4943),国 ...… 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 04:09 编辑 :P :P :P :P :P :P :P :P :P :P :P :P 好东西与各位分享! … 查看全部问答> |
|
FPGA学习分享---初学者的快乐(记应用FPGA完成DS18B20的控制和读取) 各位坛友, 在国庆过后,我就开始在坛子空间里面念叨着老师给我的这个毕业设计热身题目:运用红色飓风二代altera FPGA开发板,编写VHDL程序控制和读取显示DS18B20数 ...… 查看全部问答> |
|
想嵌入式驱动方面,但是从应聘角度来说是软件工程师还是硬件工程师! 如题,应届生马上毕业,大学里学过MCU,做过一些小实验,C 编程可以,可以对硬件进行相应的控制,不知适合干这一块吗?… 查看全部问答> |
|
菜鸟虚心请教:OK6410开发板wince6.0下开发QT程序 OK6410开发板自带Wince6 操作系统,开发环境安装了开发板自带的SDK,能用vs2008开发QT程序吗?需要根据板子的SDK编译QT源代码吗?… 查看全部问答> |
|
MSP430的手持式仪器核心模块设计,本文介绍了基于MSP430单片机的嵌入式手持仪器核心模块硬件的开发与软件的实现,,, 下面资料下载: MSP430的手持式仪器核心模块设计 [ 本帖最后由 qwqwqw2088 于 2013-10-29 08:08 编辑 ]… 查看全部问答> |




