Like any other processor, Nios exception vector address is fixed. It is defined by hardware implementation so that the processor knows where the program counter must move in response to interrupts and any critical event.
On the other hand code, data, heap and stack placement depends from linker and you can change them at compile time. You can instruct linker to map each memory section in a different memory device: sdram, onchip ram, sram.
You can find out the memory occupation using nios2-elf-size or nios2-elf-objdump with your application .elf file. With objdump you can retrieve the memory mapping of each symbol defined in your code.