HPK taruh disini
In AVR microcontrollers there are two kinds of memory space: code memory space and data memory space. Our program is stored in code memory space, whereas the data memory stores data. We will examine the code memory space in Section 2.8. In this section, we will discuss the data memory space. The data memory is composed of three parts: GPRs (general purpose registers), I/O memory, and internal data SRAM.
GPRs (general purpose registers)
The GPRs use 32 bytes of data memory space. They always take the address location $00-$1F in the data memory space, regardless of the AVR chip number.
I/O memory (SFRs)
The I/O memory is dedicated to specific functions such as status register, timers, serial communication, I/O ports. ADC, and so on. The function of each I/O memory location is fixed by the CPU designer at the time of design because it is used for control of the microcontroller or peripherals. The AVR I/O memory is made of 8-bit registers. The number of locations in the data memory set aside for I/O memory depends on the pin numbers and peripheral functions supported by that chip, although the number can vary from chip to chip even among members of the same family.
GPRs (general purpose registers)
The GPRs use 32 bytes of data memory space. They always take the address location $00-$1F in the data memory space, regardless of the AVR chip number.
I/O memory (SFRs)
The I/O memory is dedicated to specific functions such as status register, timers, serial communication, I/O ports. ADC, and so on. The function of each I/O memory location is fixed by the CPU designer at the time of design because it is used for control of the microcontroller or peripherals. The AVR I/O memory is made of 8-bit registers. The number of locations in the data memory set aside for I/O memory depends on the pin numbers and peripheral functions supported by that chip, although the number can vary from chip to chip even among members of the same family.