Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

1) A microprocessor has a 32-bit address line. The size of the memory contents o

ID: 3734900 • Letter: 1

Question

1) A microprocessor has a 32-bit address line. The size of the memory contents of each address is a byte. a. What is the range of address in Hexadecimal that can be addressed? b. What is the capacity (size) of this memory? C. When an Arduino MC is connected to this memory, the microprocessor allocates addresses starting from 0xA0100000 to OxA05FFFFF to Arduino What is the size of Arduino's memory space? And what is the minimum number of bits needed to address Arduino's memory space? 2) How many bits are required to address a 4M x 16 main memory if a. b. Main memory is byte-addressable? Main memory is word-addressable?

Explanation / Answer

(1) 32-bit address line.And memory is byte-addressable.

(a) So by 32-bit address we can address 232 byte.As each byte is a memory address.So,Total memory is 22x230 B = 4GB.Address range 00000000-FFFFFFFF.

(b) As shown in (a),memory capacity is 4GB.

(c) From 0xA0100000 to 0xA05FFFFF there are (0xA05FFFFF-0xA0100000) = 0x4FFFFF = (5242879)10.

Including the last address there are (5242879+1)B = 5242880B = 5x220 B = 5MB.

Now to address 5242880 byte we need log2(5242880) = 22.32.So we need 23 bit.

(2)

4Mx16 memory means there are 4M cell each of 16 bit.So 4M = 4x220 = 222 cell each of 16 bit = 2B.

So,total byte = 222x2 = 223 B.To address 223 byte we need log2223 = 23 bit.

Now word size is not mentioned in the question.In general assume word size = 2B.

So there are 223/2 = 222 words.To address 222 words we need log2222 = 22 bit.