beautypg.com

The alu - arithmetic logic unit, The sram data memory, Atmega163(l) – Rainbow Electronics ATmega163L User Manual

Page 10

background image

ATmega163(L)

10

In the different addressing modes these address registers have functions as fixed displacement, automatic increment and
decrement (see the descriptions for the different instructions).

The ALU - Arithmetic Logic Unit

The high-performance AVR ALU operates in direct connection with all the 32 general purpose working registers. Within a
single clock cycle, ALU operations between registers in the register file are executed. The ALU operations are divided into
three main categories - arithmetic, logical, and bit-functions. ATmega163 also provides a powerful multiplier supporting
both signed/unsigned multiplication and fractional format. See the Instruction Set section for a detailed description.

The In-System Self-programmable Flash Program Memory

The ATmega163 contains 16K bytes on-chip In-System Self-Programmable Flash memory for program storage. Since all
instructions are 16- or 32-bit words, the Flash is organized as 8K x 16. The Flash Program memory space is divided in two
sections, Boot Program section and Application Program section.

The Flash memory has an endurance of at least 1000 write/erase cycles. The ATmega163 Program Counter (PC) is 13 bits
wide, thus addressing the 8192 program memory locations. The operation of Boot Program section and associated Boot
Lock Bits for software protection are described in detail on page 115. See also page 132 for a detailed description on Flash
data serial downloading.

Constant tables can be allocated within the entire program memory address space (see the LPM - Load Program Memory
instruction description).

See also page 11 for the different program memory addressing modes.

The SRAM Data Memory

Figure 9 shows how the ATmega163 SRAM Memory is organized.

Figure 9. SRAM Organization

Register File

R0
R1

R2

R29
R30

R31

I/O Registers

$00
$01
$02

...

$3D
$3E

$3F

...

$0000
$0001

$0002

$001D
$001E

$001F

$0020
$0021
$0022

...

$005D
$005E

$005F

...

Data Address Space

$0060
$0061

$045E
$045F

...

Internal SRAM