Updating atmega tiers
If you are accessing that much memory, I would suggest you consider going for a 32bit MCU.It is possible to get 32bit AVR Processors if you want a similar CPU.For example, I have a 512k B RAM chip which requires 19 address lines.This requires multiple 8bit ports to adequately address.A read takes 2 CPU clock cycles (writes only take 1 cycle) but the XMEGA can be clocked at 32MHz, making it equivalent to a single cycle on a 16MHz AVR.XMEGA External Bus Interface However since the external memory is mapped into the 64k data memory space, only 48-55.5k B (depending on how much data memory space is used for internal IO/EEPROM/RAM) can be randomly accessed without changing banks. To access the entire 512k you would have to manually control address line A15, making the bank size 32k B (mapped into the upper 32k of data memory space). You want "Arduino-usbserial-atmega16u2-Mega2560-Rev3.hex" (assuming you are using a Mega 2560 rev 3).
Pick something with an external memory space and a sufficient linear address space - 32 bit cores are not expensive these days.ATmega 8535 is basically from atmel's microcontroller family with 8kb flash memory. You can program this microcontroller with AVR programmable board.You can also buy the readymade programming board or learning kit on internet or at your end.Is it possible, in a single instruction cycle, to set all 19 bits to a specific address?I understand I can set the high bits, then the middle bits, then the low bits and increment the low end port to step through the RAM however the mapping may not be sequential.