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.

Recommended Answers

All 2 Replies

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.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.