of the other. Core CPU instructions Beginning with the original "classic" core, enhancements are organized into the following levels, each of which includes all the preceding: The "Classic" core has only the zero-operand form of the LPM instruction, which is equivalent to LPM r0,Z. "Classic plus" adds the MOVW instruction for moving register pairs, and the more general form of the LPM instruction (LPM Rd,Z and LPM Rd,Z+) which permit an arbitrary destination register and auto-increment of the Z pointer. "Enhanced" cores add the multiply instructions. The XMEGA cores do not add new instructions per se, but make some significant changes: The memory map is reorganized, eliminating memory-mapping of the processor register file (so I/O ports begin at RAM address 0) and expanding the I/O port range. Now the first 4K is special function registers, the second 4K is data flash, and normal RAM begins at 8K. It is not necessary to explicitly disable interrupts before adjusting the stack pointer registers (SPL and SPH); any write to SPL automatically disables interrupts for 4 clock cycles to give time for SPH to be updated. Other multi-byte registers are provided with shadow registers to enable atomic read and write. When the lowest-order byte is read, the higher-order bytes are copied to the shadow registers, so reading them later produces a snapshot of the register at the time of the first read. Writes to low-order bytes are buffered until the highest-order byte is written, upon which the entire multi-byte register is updated atomically. Later XMEGA cores (specifically, the B, C, and AU models such as the ATxmega16A4U , but not the earlier A, D and E models such as the ATxmega16D4) add four atomic read-modify-write instructions: exchange (XCH), load-and-set, load-and-clear, and load-and-toggle. These help coordinate with direct memory access peripherals, notably a USB controller. Less capable than the "classic" CPU cores are two subsets: the "AVR1" core, and the "AVR tiny". Confusingly, "ATtiny" branded processors have a variety of cores, including AVR1 (ATtiny11, ATtiny28), classic (ATtiny22, ATtiny26), classic+ (ATtiny24) and AVRtiny (ATtiny20, ATtiny40). The AVR1 subset was not popular and no new models have been introduced since 2000. It omits all RAM except for the 32 registers mapped at address 0–31 and the I/O ports at addresses 32–95. The stack is replaced by a 3-level hardware stack, and the PUSH and POP instructions are deleted. All 16-bit operations are deleted, as are IJMP,