By: Ricardo B (ricardo.b.delete@this.xxxxx.xx), November 6, 2006 1:46 pm
Room: Moderated Discussions
David Kanter (dkanter@realworldtech.com) on 11/6/06 wrote:
---------------------------
>Obviously handling unaligned accesses as first class citizens would be great.
>However, it seems like that would have *a lot* of interaction effects on other parts
>of the chip (STQ serialization problems as you mentioned, split cache line accesses, split page accesses, etc.)
>I agree that handling 'potentially unaligned' as a slower case probably doesn't
>make much sense (if the performance analysis shows that most potentially unaligned
>accesses are actually aligned). However, I don't see how you logically get to that
>implying that unaligned accesses should not be slower.
I think that Linus meant that instructions like MOVUPs should not be slower than than MOVAPS for aligned addresses.
I agree with him. If you can perform an unaligned access with a single instruction, you might as well make it a first-class citizen.
---------------------------
>Obviously handling unaligned accesses as first class citizens would be great.
>However, it seems like that would have *a lot* of interaction effects on other parts
>of the chip (STQ serialization problems as you mentioned, split cache line accesses, split page accesses, etc.)
>I agree that handling 'potentially unaligned' as a slower case probably doesn't
>make much sense (if the performance analysis shows that most potentially unaligned
>accesses are actually aligned). However, I don't see how you logically get to that
>implying that unaligned accesses should not be slower.
I think that Linus meant that instructions like MOVUPs should not be slower than than MOVAPS for aligned addresses.
I agree with him. If you can perform an unaligned access with a single instruction, you might as well make it a first-class citizen.