By: anon (anon.delete@this.anon.com), February 3, 2013 10:06 pm
Room: Moderated Discussions
Patrick Chase (patrickjchase.delete@this.gmail.com) on February 3, 2013 7:40 pm wrote:
> anon (anon.delete@this.anon.com) on February 3, 2013 6:11 pm wrote:
> > Patrick Chase (patrickjchase.delete@this.gmail.com) on February 3, 2013 4:29 pm wrote:
> > > Paul A. Clayton (paaronclayton.delete@this.gmail.com) on February 2, 2013 11:10 am wrote:
> >
> > > > A clean RISC like Alpha (or--from what I have read--AArch64) would be much more friendly to fast bring-up
> > > > of a decent microarchitecture. (Classic ARM seems to be somewhere in the middle--not as complex as x86 but
> > > > not as simple as Alpha--, but even with Thumb2+classic ARM it might be closer to Alpha than to x86.)
> > >
> > > AArch64 is indeed a nice, classic RISC architecture. In particular they fixed the biggest
> > > single limitation of classic ARM (spending instruction encoding bits on condition-based
> > > predication at the expense of GPRs). I'd put it somewhere between MIPS and Alpha on
> > > the "architectural purity scale", and that's a pretty good place to be.
> >
> > What are some aspects of the ISA that make it less clean than Alpha, would you say?
Thanks for the answer.
>
> Continued reliance on condition flags.
What is cleaner? GPR for comparison/branch?
>
> Support for unaligned accesses, but with different atomicity than aligned ones.
Ah I did not see this one. I guess there is a tradeoff. Relaxing atomicity requirement surely makes the hardware much simpler, and having unaligned access probably does not cost so much, then.
Given that today's high performance GP microprocessor is almost guaranteed to be transforming instructions into micro operations in the back end, is such a construct really "unclean"? Slightly, I suppose.
>
> This isn't a cleanliness issue, but a page size greater than 64 KB would be
> nice for some applications with particularly TLB-hostile access patterns.
>
> Note that "clean" isn't the same thing as "good". Some of the things that made Alpha "clean" also meant
> that it took more instructions to implement a given function, and Alpha ultimately failed in any case.
> As I hopefully made clear in the rest of that post, I find ARMv8 far better than its predecessors.
Indeed.
> anon (anon.delete@this.anon.com) on February 3, 2013 6:11 pm wrote:
> > Patrick Chase (patrickjchase.delete@this.gmail.com) on February 3, 2013 4:29 pm wrote:
> > > Paul A. Clayton (paaronclayton.delete@this.gmail.com) on February 2, 2013 11:10 am wrote:
> >
> > > > A clean RISC like Alpha (or--from what I have read--AArch64) would be much more friendly to fast bring-up
> > > > of a decent microarchitecture. (Classic ARM seems to be somewhere in the middle--not as complex as x86 but
> > > > not as simple as Alpha--, but even with Thumb2+classic ARM it might be closer to Alpha than to x86.)
> > >
> > > AArch64 is indeed a nice, classic RISC architecture. In particular they fixed the biggest
> > > single limitation of classic ARM (spending instruction encoding bits on condition-based
> > > predication at the expense of GPRs). I'd put it somewhere between MIPS and Alpha on
> > > the "architectural purity scale", and that's a pretty good place to be.
> >
> > What are some aspects of the ISA that make it less clean than Alpha, would you say?
Thanks for the answer.
>
> Continued reliance on condition flags.
What is cleaner? GPR for comparison/branch?
>
> Support for unaligned accesses, but with different atomicity than aligned ones.
Ah I did not see this one. I guess there is a tradeoff. Relaxing atomicity requirement surely makes the hardware much simpler, and having unaligned access probably does not cost so much, then.
Given that today's high performance GP microprocessor is almost guaranteed to be transforming instructions into micro operations in the back end, is such a construct really "unclean"? Slightly, I suppose.
>
> This isn't a cleanliness issue, but a page size greater than 64 KB would be
> nice for some applications with particularly TLB-hostile access patterns.
>
> Note that "clean" isn't the same thing as "good". Some of the things that made Alpha "clean" also meant
> that it took more instructions to implement a given function, and Alpha ultimately failed in any case.
> As I hopefully made clear in the rest of that post, I find ARMv8 far better than its predecessors.
Indeed.