0

80X86 Speeding up word memory access.
When the address of the first byte of a word lies
at an odd address the processor must make two memory
fetches for each byte of the word.
But if the address of the first byte of the word lies
at an even address the processor can pull in both bytes
of the word in one memory fetch.

If the first word of an array of words lies at an even
address so will every other word in the array.
1st Word__2nd Word__3rd Word
|0100|0101|0102|0103|0104|0105
^________^________^_______
This speeds up performance when accessing an array
of words.

Assemblers usually provide an ALIGN directive to align
a word at an even address.

I was looking through the i386 arch manual on this, and
it mentioned that there could be a slight increase in speed
when the target address of control transfer instructions
were evenly divisible by four, does this apply to the 8086/real-mode?


Good day.

3
Contributors
2
Replies
3
Views
8 Years
Discussion Span
Last Post by Evenbit
0

If memory serves, it could be any even address on the 16 bit processors. Of course, if you're running 16 bit code on a 32 bit processor, go with divisible by four.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.