In: Computer Science
Suppose a microprocessor has a 16-bit address bus and a 16-bit data bus, and the addressable unit is a byte.
A. If the memory of this microprocessor is 16-bit memory (memory
that can input and output data at a time of 16 bits), what is the
maximum amount of memory space that the processor can directly
access?
B. If the memory of this microprocessor is 8-bit memory (memory
that can input and output data 8 bits at a time), what is the
maximum amount of memory space that the processor can directly
access?
C. If this processor has separate I/O space, what features should
it have?
D. If the number of I/O ports is given in 8 bits, how many 8-bit
I/O ports (I/O ports that can input and output 8-bit data at one
time) can you have?
How many 16-bit I/O ports (I/O ports that can input and output
16-bit data at a time) can you have?
65,536 bytes
16 address bits, 16 address
pins
The memory on these CPUs is addressable at the
byte level. This leads to a memory addressable
limit of 216 × 1 byte = 65,536 bytes or
64 kilobytes.
A 16-bit integer can store 216 (or 65,536) distinct values. In an unsigned representation, these values are the integers between 0 and 65,535; using two's complement, possible values range from −32,768 to 32,767. Hence, a processor with 16-bit memory addresses can directly access 64 KB of byte-addressable memory.
Each 1 or 0 in a binary number iscalled a bit. From there, a group of 4bits is called a nibble, and 8-bitsmakes a byte. ... It could be 16-bits, 32, 64, or even more.
If n=2, you can address 2 locations (0, 1, 2, and 3). As you can see, number of addressable locations = n^2. This means that n=log(1024) to the base 2. Thus, n=10.
For example, an 8-bit-byte-addressable machine with a 20-bit address bus (e.g. Intel 8086) can address 220 (1,048,576) memory locations, or one MiB of memory, while a 32-bit bus (e.g. Intel 80386) addresses 232 (4,294,967,296) locations, or a 4 GiB address space.