Computer Science, asked by sahillincoln2691, 1 year ago

Assume that a 16 bit cpu is trying to access a double word starting at an odd address. How many memory operations are required to access the data?

Answers

Answered by Dev6723
1

3 for double word beginning at odd address.

2 for double word beginning at even address.

1 for single word beginning at even address.

2 for single word beginning at odd address.


Dev6723: hi
Answered by mad210219
0

Given:

A 16 bit cpu is trying to access a double word starting at an odd address

To find:

Number of memory operations are required to access the data

Solution:

3 for double word beginning at odd address.

3 memory operations : for Double word starting at Odd address 2 memory operations : for Double word starting at Even address and 1 memory operations : for Single word starting at Odd address. This Qtn had already been answered by Arjun Sir. This is the take away content from that.

The 16 bit members of the 80x86 family can load a word from any arbitrary address. As mentioned earlier, the processor fetches the L.O. byte of the value from the address specified and the H.O. byte from the next consecutive address. This creates a subtle problem if you look closely at the diagram above. What happens when you access a word on an odd address? Suppose you want to read a word from location 125. Okay, the L.O. byte of the word comes from location 125 and the H.O. word comes from location 126. What's the big deal? It turns out that there are two problems with this approach.

Double wword means  

16\times2 that is 32 bit word

CPU is capable of 16 bit word length

So starting from ODD address it takes 3 operations  

Copying first data to another register

And then another 16 bits to other register  

And then combining the both

Totally 3 operations are needed

Similar questions