PROGRAM MEMORY
Program instructions are stored in non-volatile flash memory. The size of program memory is usually indicated in naming of device e.g. ATmega32A has 32KB of flash.
INTERNAL DATA MEMORY
The data address space consist of the register file, I/O registers and SRAM
INTERNAL REGISTER
The AVR has 32 single byte registers and are classified as 8-bit RISC device
I/O REGISTERS IN AVR
Each port consist of three registers: DDRx, PORTx, PINx
- DDRx – Data Direction Register
- PORTx – Output Port Register, used only for Output
- PINx – Input register, used only for Input
EEPROM
AVR microcontroller has internal EEPROM for semi permanent data storage like flash memory EEPROM can maintain its content when electrical power is removed. In most AVRs internal EEPROM memory is not mapped into the MCUs addressable memory space. It can only be accessed the same way as external peripheral device is using pointer register & read/write instruction which makes EEPROM access much slower than other internal RAM.
PROGRAM EXECUTION
Atmel’s AVR have two stages, single level pipeline design. This means the next machine instruction is fetched as the current instruction is executing. Most instruction just take one or two clock cycle, which makes AVR relatively fast than other 8-bit microcontrollers.