Datasheet
15
7701F–AVR–10/12
Atmel ATtiny24/44/84 [Preliminary]
6. Memories
This section describes the different memories in the Atmel
®
ATtiny24/44/84. The AVR
®
archi-
tecture has two main memory spaces, the data memory space and the program memory
space. In addition, the Atmel ATtiny24/44/84 features an EEPROM memory for data storage.
All three memory spaces are linear and regular.
6.1 In-System Re-programmable Flash Program Memory
The Atmel
®
ATtiny24/44/84 contains 2/4/8K bytes of on-chip, in-system, reprogrammable flash
memory for program storage. Since all AVR instructions are 16 or 32 bits wide, the flash mem-
ory is organized as 1024/2048/4096 x 16.
The flash memory has an endurance of at least 10,000 write/erase cycles. The Atmel
ATtiny24/44/84 program counter (PC) is 10/11/12 bits wide, thus addressing the
1024/2048/4096 program memory locations. “Memory Programming” on page 163 contains a
detailed description on Flash data serial downloading using the SPI pins.
Constant tables can be allocated within the entire Program memory address space (see the
LPM – Load Program memory instruction description).
Timing diagrams for instruction fetch and execution are presented in “Instruction Execution
Timing” on page 12.
Figure 6-1. Program Memory Map
6.2 SRAM Data Memory
Figure 6-2 on page 16 shows how the ATtiny24/44/84 SRAM Memory is organized.
The lower 160 data memory locations address the register file, the I/O memory, and the inter-
nal data SRAM. The first 32 locations address the register file, the next 64 locations the
standard I/O memory, and the last 128/256/512 locations address the internal data SRAM.
The five different addressing modes for the data memory are: direct, indirect with displace-
ment, indirect, indirect with pre-decrement, and indirect with post-increment. In the register
file, registers R26 to R31 feature the indirect addressing pointer registers.
The direct addressing mode reaches the entire data space.
The indirect with displacement mode reaches 63 address locations starting from the base
address given by the Y- or Z-register.
0x0000
0x03FF/0x07FF/0xFFF
Program Memory