By: Rob Thorpe (rthorpe.delete@this.realworldtech.com), November 7, 2006 9:45 am
Room: Moderated Discussions
Wilco (Wilco.Dijkstra@ntlworld.com) on 11/6/06 wrote:
---------------------------
>Ricardo B (ricardo.b@xxxxx.xx) on 11/6/06 wrote:
>---------------------------
>>Wilco (Wilco.Dijkstra@ntlworld.com) on 11/6/06 wrote:
>>---------------------------
>>>Yes, it is making the independent effects explicit. But it also forces all future
>>>implementations to treat them as independent instructions which means more and slower code.
>>
>>Agreed. I think they should have defined it so that one of the instructions in
>>an unaligned access pair is a ~NOP if the address is aligned. That would have been slick.
>>The way it is, you just access the word twice over.
>
>Exactly, it always prevents another load/store from being issued. Although it might
>be possible to avoid that by pairing the instructions internally, it would add extra complexity.
It isn't a good to arrange things as they are in MIPS. The situation is rather like that of delayed branches, an odd operation found it's way into the architecture because of percularities of the early implementations made it favourable. Another analogy would be the stack-based FP instructions of x87.
---------------------------
>Ricardo B (ricardo.b@xxxxx.xx) on 11/6/06 wrote:
>---------------------------
>>Wilco (Wilco.Dijkstra@ntlworld.com) on 11/6/06 wrote:
>>---------------------------
>>>Yes, it is making the independent effects explicit. But it also forces all future
>>>implementations to treat them as independent instructions which means more and slower code.
>>
>>Agreed. I think they should have defined it so that one of the instructions in
>>an unaligned access pair is a ~NOP if the address is aligned. That would have been slick.
>>The way it is, you just access the word twice over.
>
>Exactly, it always prevents another load/store from being issued. Although it might
>be possible to avoid that by pairing the instructions internally, it would add extra complexity.
It isn't a good to arrange things as they are in MIPS. The situation is rather like that of delayed branches, an odd operation found it's way into the architecture because of percularities of the early implementations made it favourable. Another analogy would be the stack-based FP instructions of x87.