How many addresses are required for this system?
The total number of addresses in use in the system described would be 16384+16*2^4 for a total of 16640 addresses. In order to address 16640 addresses, you need an address bus with at least 15 address lines, which could address a maximum of 32768 addresses, so 16128 addresses would be unused. This is assuming that your RAM is organized in 8 bit words and is read 8 bits at a time. If for instance, the RAM is organized as 16 bit words, then each address would access two bytes of RAM, then you would need (16k/2)= 8192+16*2^4 or 8448 addresses. Each peripheral still takes one address, but since each address of RAM is now 16 bits wide, you only need half as many addresses for the RAM, but you need 16 data bus lines. If your RAM is organized as 32 bit words, then you need 4096+16*2^4 or 4352 addresses, if for 64 bit words, 2048+16*2^4 or 2304 addresses.