Address bus, databus: how much storage direct accessible
As Jeroen3 says, 2,097,152, which is 221.

Even though the system is 32 bits, normally the addresses are set by byte, meaning you have this many bytes available to be addressed. So you can access each single byte within this region, thus an alignment of 1 byte.

Preferred answer (see Dave Tweed's comment below):

However, I can imagine there exist CPUs which use 32-bit addressing, which means 221 &times; 4 (bytes) = 8,388608 bytes. This way you can only access addresses with an alignment of 4 bytes.