ldesnogu
Well-Known Member
Exophase said:If that's the case then either A9 was being developed concurrently with A8 or it took much, much less time to develop. It's not as if out of order was invented 5 years ago, and for that matter Silverthorne is being released hardly any later than A8 is being adopted, so the same argument could apply to both (except there was no superscalar ARM before this, and x86 has been superscalar for over a decade)
Re-read my original statement: I was talking about embedded market at that time. As an example, you know OoO has been used for 40 years? It took more than 20 years for Intel to adopt it on the desktop.
QUOTE
I'm not really getting how any of this means that it means nothing, it just means that it has to be compiled a certain way, although I suppose lack of certain optimizations will forces the compilation used down to something unpleasant. I still think the numbers have shown something in terms of relative performance, even if the test is flawed.
If you don't get it, I can't help you, sorry. Did you ever look at the source code? Did you ever see what some vendor compilers do with it? Did you ever see designers use it?
Now if you can show me how it shows any relative performance... (BTW didn't we already have this discussion months ago? ) We can do an exercise: pick dhrystone numbers, compare them to spec2k on similar machines, and see if they relate.
QUOTE
I don't know how ARM defines architecture, but this isn't just about ARM. I've never heard of anyone refer to x86, the ISA, as an architecture. I'm going to assume ISAs are what were being referred to anyway. I do believe that "architecture" has connotations of physical design (like a building being made) rather than a more general language and model. I take it you call ARM9, ARM11, etc "implementations" then? Or does ARM have a more suitable term?
Yes ARM calls ARM9 and ARM11 implementations of ARMv4 (or ARMv5TE for r2) and ARMv6 (plus extensions) architectures.
BTW what does IA32 stand for?
And look at the titles of Intel manuals: http://www.intel.com/products/processor/manuals/index.htm
QUOTE
When I say elegant I mean for the PROGRAMMER, not someone designing a CPU that uses it. For someone citing years of experience programming it and not designing CPUs that utilize it I can only think that's what he meant, and for the many more people that program it than design CPUs around it I can only guess that's what's going to be the relevant factor (even if far less people use ASM now).
Of course MIPS is simple to implement, that's a major part of its premise. It's also a major compromise in what you can do with it. The simple encoding and lack of addressing modes real require multiple instructions where ARM would not (great example is picking a random element off of an array). Lack of flags I'm okay with, but is more something you can get away with with more registers, which ARM deliberately avoided for more flexibility. For as simple as it is, simple by itself does not mean elegant. It only succeeds in being elegant if it can accomplish the same things with its simpler set of tools - in some ways it can, but in other ways it really can't.
And don't even bring Thumb into this while ignoring MIPS16, which is a concurrent option for MIPS designs.
I once knew a professor (he worked with HP on the Dynamo project) who taught a CPU design class that implemented ARM. He told me that despite how it would appear to one emulating it in software, ARM was in fact not at all complex to decode. If undergraduate students can do it then I suspect that he can't be so far off the bill on that one, even if MIPS is easier (at an obvious price). At any rate, wouldn't you think that by now other architectural (and no, I'm not using the word like you say ARM does) complications have long since eclipsed the difficulty in decoding fixed length instructions?
I was thinking about Thumb2 which is not fixed-length. This is a real pain to decode. So much, that one day it will take 2 cycles. And that testing it is hugely time-consuming. This also causes problems to branch prediction.
For me something elegant is something clean and simple.
According to your views later 68040 and VAX would then be the top for assembler programmers
Last edited by a moderator: