An elaborate theory of why AMD64 succeeded

By: Stubabe (Stubabe.delete@this.nospam.com), August 21, 2013 9:43 am
Room: Moderated Discussions
⚛ (0xe2.0x9a.0x9b.delete@this.gmail.com) on August 20, 2013 11:29 pm wrote:
> Linus Torvalds (torvalds.delete@this.linux-foundation.org) on August 20, 2013 10:58 am wrote:
> > anon (anon.delete@this.anon.com) on August 20, 2013 1:58 am wrote:
> > >
> > > I always wondered why AMD did try this with their 64-bit move. I can see Intel of that era wanting
> > > to keep cost and complexity of implementing x86 high, but it made less sense for AMD.
> >
> > No it didn't.
> >
> > The reason x86-64 was so successful was *exactly* that AMD did things right, and legacy x86 wasn't some
> > separate thing, but is very much baked into x86-64. There is no "either or": x86-64 was designed pretty
> > much from the ground up to be an extension, not a "separate mode". It's pretty much seamless.
>
> 64-bit address space isn't a necessity. 32-bit address space is big enough for 99.9% of programs.
> In 99.9% programs, 64-bit address space has no performance advantage over a 32-bit address space.
>
But lots do (and certainly far more than 0.1%): databases are a classic example and highly relevant to a lot of the server market, many high end workstation apps also work with v large data sets and even on the desktop many games are now brushing shoulders with the 2/3GB limits of 32bit usermode.

> The non-existent things that AMD actually did exploit were:
>
> (1) The absence of an easy and safe way to do inter-process page mapping. In particular it is the absence of
> the following programming pattern: 32-bit process X selects a page P from its address space and directly or
> indirectly tells the OS kernel to map the page P into the address space of the 32-bit process Y. The page P
> has the same 64-bit physical memory address, but its 32-bit virtual addresses in X and Y are different.
>
Err every modern desktop OS I know of allows you to do that (Windows, Linux, BSD, OSX, etc)... It is implicit to memory mapped file IO on most OSes and a normal way to efficiently implement POSIX "fork".

> (2) Complete lack of data serialization functions that would be built into mainstream programming languages.
> That is, the programming language needs to have a couple of builtin functions for transforming graphs of objects
> or structs into binary representation and for restoring such graphs from binary data. All that is needed are
> these two functions: bytes=save(x), y=load(bytes). I have implemented such functions in a programming language
> of my own, and the presence of such functions in the programming language makes a big difference in terms of
> communication between parts of a single program and in terms of communication between different programs.
>
What the hell does that have to do with x86 -> x86-64, that's a high level language (non)issue? I know x86 is CISC but we don't need that level of hardware support in it...


> > Yes, yes, "long mode" is a new mode bit, but at the same time you can see how it's
> > really using the same instruction decode logic, the same execution units, etc etc.
> > It's not two different front-ends, it's clearly one unified architecture.
>
> The success of the 64-bit "long mode" of x86 CPUs only proves that there are
> huge mistakes in operating system design and in programming language design.
>
> > Yes, you could drop some legacy x86 stuff, but you can tell how integrated x86-64 is by simply
> > noting that the stuff you'd drop is actually totally independent of the new long mode.
>
> x86-64 solely exists because AMD outcompeted all mainstream OS developers and programming language
> designers. With the 64-bit address space AMD solved the memory limit problem in the large applications
> that were starting to appear around the year 2000. Programs consuming 300 MiB of memory are just too
> close to the 4 GiB limit of the 32-bit address space, and so 4 GiB starts to limit progress. OS developers
> and programming language designers (including the C programming language) misunderstood what was happening
> and failed to solve the coming problems before the CPU solved it. Basically, they failed to devise
> a way of efficiently splitting the coming memory intensive applications into multiple 32-bit processes
> - and that is why x86-64 appeared as-if it was the logical step to do.

That is the most idiotic thing I have read anywhere on the Internet for a long time. Interprocess sharing is slow full stop due to the hardware cost of changing pageing context. Even if it wasn't how exactly is breaking up a contiguous dataset into process sized chunks and then having to implement some scheme of tracking and accessing those now non-contagious sets an advantage EVER??? For unrelated tasks you already had PAE extensions but they didn't help the supervisor address space limits.

You may think Linus can't design an OS, but I am dam sure you can't (not one that anyone other than a sadist would want to use)...

>
> > It's basically
> > the same thing you might want to drop even if you never did long mode at all. The things you'd
> > likely want to drop are the old 16-bit modes, and some of the worst excesses dragged in by the
> > i286 in particular. But it may never happen, because it just isn't painful enough.
> >
> > And I really think that the whole "seamless integration" was the right thing to do.
>
> No wonder here. You (mis)designed the Linux kernel so there is
> no reason to believe that you could imagine a different world.
>
> > It meant that there
> > was never even a whiff of the ia64 "legacy engine" kind of engineering tradeoff where one mode or the
> > other was considered "more important". Intel obviously did that to the extreme (with a very slow and bad
> > legacy mode), and AMD couldn't possibly have done that - but the integral nature of x86-64 meant that
> > AMD also couldn't do the reverse mistake (to make legacy mode more important, which would have made x86-64
> > dead in the water since there were no new apps taking advantage of the 64-bit extensions).
>
> I agree that a main reason why IA64 failed to spread is because it didn't have
> a performance advantage over x86. If it had 2x performance advantage over x86 in
> general, there is no doubt that my notebook would be running an IA64 CPU now.
>
But you fail to understand that it failed in that regard because of the significant differences with IA64. The architectural state is totally different as is the instruction format and scheduling so hardware reuse between the two is minimal. So it was never going to be 2x for legacy, just maybe for IA64 moving forward at the cost of slow legacy code.

> > So I think it was the right thing to do from a hardware perspective - it made it clear that the new
> > long mode was as important as the old 32-bit protected mode. There was no room for anything else.
>
> The only right thing to do from a hardware perspective is for the CPU designers
> to make the CPU faster by making it wider. AMD didn't choose to design a wider
> CPU. Going from 32-bit to 64-bit addresses doesn't make a CPU wider.
>
> > It was also the right thing to do from a software perspective, because it meant that any traditional
> > x86 knowledge really translated pretty much directly into knowing the new mode.
>
> Well, it is true that it "was also the right thing to do from a software perspective"
> - but it is only true from AMD's viewpoint. It isn't necessarily true in general.
>
Not just AMD's but any market with significant legacy codebase (x86 is just a notable example). Throw that away and you are just another niche upstart hoping against hope that this time you will be the one to usurp the crown (and that's a bit of a hard sell to your would be investors).

> >Sure, there are differences
> > (new registers, natch) and things that are no longer relevant
> > in 64-bit mode (the segments kind of survived,
> > but in a much weaker form, and vm86 mode is gone). But it's still overwhelmingly familiar.
> >
> > That helps compiler writers, and it helps developers. It actually makes sense for a compiler person
> > to think of x86 as one unified platform, and then just have a flag for the differences. And if
> > you used a debugger on x86-32, it is all going to be very very familiar in 64-bit mode.
>
> The x86 instruction format is in general too simplistic. A CPU wider than x86 would need a much
> larger instruction format. (... a wide CPU most likely needs the running program itself to do a
> page-wise real-time code decompression, because code in the native instruction format would consume
> too much memory and disk space, probably more than 4 times the size of the compressed code).
>
> By "wider" I do not mean VLIW.
>
What a load of... Try telling that to the Power boys at IBM.

> > In other words, it made the transition much simpler for everybody. It was a no-brainer to buy
> > an Athlon
>
> There was no choice to avoid buying 64-bit x86 CPU, due to exactly one reason: OS kernel
> developers and language designers failed to recognize what is causing people to go for
> 64-bit CPUs and failed to devise a competitive solution to the underlying problem.
>
> Sidenote: This shouldn't be confused with 32-vs-64 bits in the case of floating point numbers.
> There is need for 64-bit floating-point because 32-bit floats actually are less precise than
> 64-bit floats. When dealing with pointers, such a precision issue never arises.
>
You do realise many high precision math libraries significantly benefit from 64bit ints? SHA2-512? etc. By that logic I guess there is no need for 64bit integer formats in vectors so according to you CPU manufactures can't design CPUs either. In any case I'll take 64bit pointers (and minimal overhead) over mixed address spaces (and massive overhead) or some extended segmentation scheme any day.


> >even before you had 64-bit apps regardless of whether you were a developer or just
> > a regular user, because there were basically no downsides, and it opened up some possibilities.
> > Very much *unlike* most other architecture upgrades in the history of basically forever.
> >
> > I'd say that anybody who claims that x86-64 could have been done better is just completely clueless.
> > Because it is about *so* much more than just introducing a new and improved execution mode.
> >
> > Let's see how ARM64 goes in comparison.
> >
> > Linus
>
> If you know the reasons which are giving rise to changes that are happening in
> CPU+OS+languages then you know that in the general picture there is no necessity
> for ARM64 because the underlying problem can be solved in a different way.
>
> -Atom
Really...

< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Power Goes LicensableKira2013/08/06 09:51 AM
  Power Goes Licensablesomeone2013/08/06 11:22 AM
    Power Goes Licensablesomeone2013/08/06 11:25 AM
      Power Goes LicensableDoug S2013/08/06 11:47 AM
        Trusted Foundry programMark Roulo2013/08/06 12:25 PM
          Trusted Foundry programMax2013/08/06 12:51 PM
          Trusted Foundry programKevin G2013/08/07 08:08 AM
            Trusted Foundry programMark Roulo2013/08/07 09:55 AM
              Trusted Foundry programKevin G2013/08/07 11:00 AM
  is it?Michael S2013/08/06 03:05 PM
    is it?Mark Roulo2013/08/06 04:16 PM
      is it?anon2013/08/06 05:30 PM
    is it?Eric2013/08/06 04:31 PM
      is it?Kira2013/08/06 05:17 PM
        is it?Eric2013/08/06 09:45 PM
  How does Power compare to ARM / MIPS?Drazick2013/08/11 03:27 AM
    How does Power compare to ARM / MIPS?Kira2013/08/11 04:52 PM
    How does Power compare to ARM / MIPS?Michael S2013/08/12 04:08 AM
    How does Power compare to ARM / MIPS?Brett2013/08/12 06:50 PM
      How does Power compare to ARM / MIPS?Mark Roulo2013/08/13 10:11 AM
        How does Power compare to ARM / MIPS?none2013/08/13 10:22 AM
          How does Power compare to ARM / MIPS?none2013/08/13 10:23 AM
        How does Power compare to ARM / MIPS?EduardoS2013/08/13 11:42 AM
          How does Power compare to ARM / MIPS?Exophase2013/08/13 12:27 PM
            How does Power compare to ARM / MIPS?Patrick Chase2013/08/15 12:17 PM
              How does Power compare to ARM / MIPS?David Hess2013/08/15 02:38 PM
                How does Power compare to ARM / MIPS?Mark Roulo2013/08/15 03:31 PM
                  How does Power compare to ARM / MIPS?EduardoS2013/08/15 08:45 PM
                    How does Power compare to ARM / MIPS?Patrick Chase2013/08/15 08:54 PM
                      How does Power compare to ARM / MIPS?EduardoS2013/08/15 09:21 PM
                How does Power compare to ARM / MIPS?Patrick Chase2013/08/15 07:47 PM
              How does Power compare to ARM / MIPS?Exophase2013/08/15 07:56 PM
                How does Power compare to ARM / MIPS?Patrick Chase2013/08/15 08:41 PM
        Server and Embedded "environments" are still distinguishedPaul A. Clayton2013/08/13 06:31 PM
        How does Power compare to ARM / MIPS?Michael S2013/08/14 01:45 AM
        How does Power compare to ARM / MIPS?Brett2013/08/14 08:17 PM
          How does Power compare to ARM / MIPS?anon2013/08/15 12:13 AM
            How does Power compare to ARM / MIPS?David Kanter2013/08/15 01:23 AM
              How does Power compare to ARM / MIPS?anon2013/08/15 03:51 AM
                How does Power compare to ARM / MIPS?someone2013/08/15 11:46 AM
          How does Power compare to ARM / MIPS?none2013/08/15 03:47 AM
          How does Power compare to ARM / MIPS?Doug S2013/08/15 09:46 AM
            How does Power compare to ARM / MIPS?David Kanter2013/08/15 12:48 PM
              Initial 64-bit ARM *can* run older 32-bit ARM codeMark Roulo2013/08/15 01:56 PM
                Initial 64-bit ARM *can* run older 32-bit ARM codeRonald Maas2013/08/19 09:19 PM
                  Initial 64-bit ARM *can* run older 32-bit ARM codeanon2013/08/20 01:58 AM
                    Initial 64-bit ARM *can* run older 32-bit ARM codeLinus Torvalds2013/08/20 10:58 AM
                      Initial 64-bit ARM *can* run older 32-bit ARM codeRicardo B2013/08/20 03:27 PM
                        Initial 64-bit ARM *can* run older 32-bit ARM coderwessel2013/08/20 04:04 PM
                        Initial 64-bit ARM *can* run older 32-bit ARM codeLinus Torvalds2013/08/20 04:05 PM
                          Initial 64-bit ARM *can* run older 32-bit ARM codeMichael S2013/08/20 04:54 PM
                            Initial 64-bit ARM *can* run older 32-bit ARM codeLinus Torvalds2013/08/20 05:09 PM
                          Initial 64-bit ARM *can* run older 32-bit ARM codeTREZA2013/08/21 06:06 AM
                            Initial 64-bit ARM *can* run older 32-bit ARM codeLinus Torvalds2013/08/21 09:50 AM
                              Initial 64-bit ARM *can* run older 32-bit ARM codeTREZA2013/08/21 12:39 PM
                          Initial 64-bit ARM *can* run older 32-bit ARM codeRicardo B2013/08/22 05:25 AM
                            Initial 64-bit ARM *can* run older 32-bit ARM codeEduardoS2013/08/22 06:59 AM
                              Initial 64-bit ARM *can* run older 32-bit ARM codeRicardo B2013/08/22 07:28 AM
                                Initial 64-bit ARM *can* run older 32-bit ARM codeEduardoS2013/08/22 08:36 AM
                                  Initial 64-bit ARM *can* run older 32-bit ARM codeRicardo B2013/08/22 09:21 AM
                                    Initial 64-bit ARM *can* run older 32-bit ARM codeEduardoS2013/08/22 10:02 AM
                        Initial 64-bit ARM *can* run older 32-bit ARM codeGabriele Svelto2013/08/21 03:26 AM
                          Initial 64-bit ARM *can* run older 32-bit ARM codeRicardo B2013/08/22 05:43 AM
                            Initial 64-bit ARM *can* run older 32-bit ARM codeRicardo B2013/08/22 05:47 AM
                        Initial 64-bit ARM *can* run older 32-bit ARM codeDan Fay2013/08/21 01:13 PM
                          Initial 64-bit ARM *can* run older 32-bit ARM codeDavid Hess2013/08/22 10:55 AM
                            Initial 64-bit ARM *can* run older 32-bit ARM codegallier22013/08/22 12:35 PM
                              Initial 64-bit ARM *can* run older 32-bit ARM codeDavid Hess2013/08/22 01:26 PM
                      Initial 64-bit ARM *can* run older 32-bit ARM codeRonald Maas2013/08/20 05:38 PM
                      Initial 64-bit ARM *can* run older 32-bit ARM codeanon2013/08/20 06:07 PM
                        Initial 64-bit ARM *can* run older 32-bit ARM codeMichael S2013/08/21 05:15 AM
                          Initial 64-bit ARM *can* run older 32-bit ARM codeanon2013/08/21 06:01 AM
                      An elaborate theory of why AMD64 succeeded2013/08/20 11:29 PM
                        An elaborate theory of why AMD64 succeededanon2013/08/21 02:09 AM
                          An elaborate theory of why AMD64 succeeded2013/08/21 04:12 AM
                            An elaborate theory of why AMD64 succeededbakaneko2013/08/21 04:39 AM
                              An elaborate theory of why AMD64 succeeded2013/08/21 05:20 AM
                                An elaborate theory of why AMD64 succeededbakaneko2013/08/21 05:41 AM
                                  An elaborate theory of why AMD64 succeeded2013/08/21 06:47 AM
                                    An elaborate theory of why AMD64 succeededbakaneko2013/08/21 07:26 AM
                            An elaborate theory of why AMD64 succeededanon2013/08/21 05:40 AM
                              An elaborate theory of why AMD64 succeeded2013/08/21 06:47 AM
                                Mod? (NT)anon2013/08/21 07:28 AM
                                  An elaborate theory of why AMD64 succeeded2013/08/21 08:34 AM
                                    An elaborate theory of why AMD64 succeededanon2013/08/21 09:04 AM
                                OK, let's try and keep this productiveDavid Kanter2013/08/21 01:27 PM
                                  OK, let's try and keep this productivePatrick Chase2013/08/21 11:42 PM
                                    OK, let's try and keep this productiveGabriele Svelto2013/08/22 02:48 AM
                                    OK, let's try and keep this productivePatrick Chase2013/08/22 09:03 AM
                                  OK, let's try and keep this productiveanon2013/08/22 12:47 AM
                            An elaborate theory of why AMD64 succeededCarlie Coats2013/08/21 06:31 AM
                              An elaborate theory of why AMD64 succeeded2013/08/21 06:59 AM
                              An elaborate theory of why AMD64 succeededMichael S2013/08/21 07:15 AM
                                An elaborate theory of why AMD64 succeededCarlie Coats2013/08/21 12:25 PM
                                  switched to write-only mode? (NT)Michael S2013/08/21 01:43 PM
                                  An elaborate theory of why AMD64 succeededrwessel2013/08/21 01:53 PM
                                  An elaborate theory of why AMD64 succeededMichael S2013/08/21 02:13 PM
                                  An elaborate theory of why AMD64 succeededBrett2013/08/21 06:25 PM
                                    An elaborate theory of why AMD64 succeededCarlie Coats2013/08/22 04:36 AM
                            An elaborate theory of why AMD64 succeededanon2013/08/21 06:46 AM
                              An elaborate theory of why AMD64 succeeded2013/08/21 07:07 AM
                                An elaborate theory of why AMD64 succeededanon2013/08/21 07:27 AM
                            An elaborate theory of why AMD64 succeededVincent Diepeveen2013/08/31 02:24 AM
                          An elaborate theory of why AMD64 succeededCarlie Coats2013/08/21 06:24 AM
                            An elaborate theory of why AMD64 succeededMichael S2013/08/21 07:03 AM
                              An elaborate theory of why AMD64 succeededCarlie Coats2013/08/21 12:27 PM
                        An elaborate theory of why AMD64 succeededStubabe2013/08/21 09:43 AM
                          An elaborate theory of why AMD64 succeededMichael S2013/08/21 10:02 AM
                            An elaborate theory of why AMD64 succeededStubabe2013/08/21 10:37 AM
                              An elaborate theory of why AMD64 succeededKlimax2013/08/21 11:09 AM
                                An elaborate theory of why AMD64 succeededStubabe2013/08/21 04:27 PM
                            An elaborate theory of why AMD64 succeededLinus Torvalds2013/08/21 10:40 AM
                              An elaborate theory of why AMD64 succeededYuhong Bao2013/08/22 01:11 AM
                                An elaborate theory of why AMD64 succeededEduardoS2013/08/22 03:25 AM
                                  An elaborate theory of why AMD64 succeedednone2013/08/22 04:29 AM
                                  An elaborate theory of why AMD64 succeededRicardo B2013/08/22 06:06 AM
                            An elaborate theory of why AMD64 succeededEduardoS2013/08/21 11:58 AM
                            An elaborate theory of why AMD64 succeededanon2013/08/22 01:25 AM
                              An elaborate theory of why AMD64 succeededEduardoS2013/08/22 03:29 AM
                          An elaborate theory of why AMD64 succeededSymmetry2013/08/21 10:51 AM
                            An elaborate theory of why AMD64 succeededStubabe2013/08/21 04:22 PM
                        An elaborate theory of why AMD64 succeededDan Fay2013/08/21 01:43 PM
                        No elaborate theories requiredDoug S2013/08/21 05:18 PM
                          No elaborate theories requiredGabriele Svelto2013/08/22 05:28 AM
                            No elaborate theories requiredDoug S2013/08/22 10:03 AM
                          No elaborate theories requiredDavid Hess2013/08/22 02:38 PM
                            No elaborate theories requiredDoug S2013/08/22 03:30 PM
                              No elaborate theories requiredDavid Hess2013/08/23 09:42 AM
                                No elaborate theories requiredanon2013/08/24 02:09 AM
                                  No elaborate theories requiredDavid Hess2013/08/24 05:36 PM
                        An very bad theory of why AMD64 succeededEric Bron2013/08/23 02:50 AM
                          An very bad theory of why AMD64 succeededEduardoS2013/08/23 04:36 AM
                      How about dropping x87?David Kanter2013/08/21 10:46 AM
                        How about dropping x87?Michael S2013/08/21 11:01 AM
                          How about dropping x87?David Kanter2013/08/21 01:34 PM
                            How about dropping x87?anonymou52013/08/21 06:27 PM
                              How about dropping x87?David Kanter2013/08/22 01:02 AM
                                How about dropping x87?TREZA2013/08/22 03:40 AM
                                How about dropping x87?rwessel2013/08/22 12:41 PM
                        Initial 64-bit ARM *can* run older 32-bit ARM codeLinus Torvalds2013/08/20 08:15 PM
                          Initial 64-bit ARM *can* run older 32-bit ARM codeRonald Maas2013/08/21 12:38 PM
                            Initial 64-bit ARM *can* run older 32-bit ARM codebakaneko2013/08/21 01:17 PM
                            Initial 64-bit ARM *can* run older 32-bit ARM codeMichael S2013/08/21 02:30 PM
                            Initial 64-bit ARM *can* run older 32-bit ARM codemas2013/08/21 06:10 PM
                              Initial 64-bit ARM *can* run older 32-bit ARM codenone2013/08/21 08:25 PM
                                Initial 64-bit ARM *can* run older 32-bit ARM codemas2013/08/22 01:19 AM
                                  Initial 64-bit ARM *can* run older 32-bit ARM codeanon2013/08/22 01:53 AM
                                    Initial 64-bit ARM *can* run older 32-bit ARM codemas2013/08/22 02:07 AM
                                      Initial 64-bit ARM *can* run older 32-bit ARM codemas2013/08/22 02:11 AM
                                        Initial 64-bit ARM *can* run older 32-bit ARM codenone2013/08/22 02:30 AM
                                          Initial 64-bit ARM *can* run older 32-bit ARM codemas2013/08/22 03:34 AM
                                            Initial 64-bit ARM *can* run older 32-bit ARM codenone2013/08/22 06:04 AM
                                              Initial 64-bit ARM *can* run older 32-bit ARM codemas2013/08/22 07:56 AM
                                  Initial 64-bit ARM *can* run older 32-bit ARM codenone2013/08/22 02:09 AM
                                    Initial 64-bit ARM *can* run older 32-bit ARM codemas2013/08/22 02:26 AM
                                      Initial 64-bit ARM *can* run older 32-bit ARM codenone2013/08/22 02:38 AM
                                        Initial 64-bit ARM *can* run older 32-bit ARM codemas2013/08/22 02:52 AM
                                          Initial 64-bit ARM *can* run older 32-bit ARM codenone2013/08/22 03:13 AM
                                  Initial 64-bit ARM *can* run older 32-bit ARM coderwessel2013/08/22 01:06 PM
                                    Initial 64-bit ARM *can* run older 32-bit ARM codemas2013/08/22 01:42 PM
                                      Initial 64-bit ARM *can* run older 32-bit ARM coderwessel2013/08/22 07:06 PM
                                        Initial 64-bit ARM *can* run older 32-bit ARM codeMichael S2013/08/23 04:53 AM
                                          Initial 64-bit ARM *can* run older 32-bit ARM coderwessel2013/08/23 09:14 PM
                                        Initial 64-bit ARM *can* run older 32-bit ARM codeTREZA2013/08/23 12:53 PM
                                    Initial 64-bit ARM *can* run older 32-bit ARM codeMichael S2013/08/22 02:15 PM
                                      Initial 64-bit ARM *can* run older 32-bit ARM coderwessel2013/08/22 07:10 PM
                                        Initial 64-bit ARM *can* run older 32-bit ARM codeMichael S2013/08/23 04:38 AM
                                        Initial 64-bit ARM *can* run older 32-bit ARM codeEugene Nalimov2013/08/23 01:00 PM
                                          Initial 64-bit ARM *can* run older 32-bit ARM codeanon2013/08/24 02:11 AM
                                            Initial 64-bit ARM *can* run older 32-bit ARM codeEugene Nalimov2013/08/26 02:35 PM
                                          Initial 64-bit ARM *can* run older 32-bit ARM codevvid2013/08/28 09:36 AM
                                            Initial 64-bit ARM *can* run older 32-bit ARM codeEugene Nalimov2013/08/29 09:51 AM
                                              Initial 64-bit ARM *can* run older 32-bit ARM codeMax2013/08/30 01:12 PM
                                                Initial 64-bit ARM *can* run older 32-bit ARM codeLinus Torvalds2013/08/30 04:13 PM
                                                  Separate instruction and data registers BAD or NOT, m68kBrett2013/08/30 06:42 PM
                                                    Separate instruction and data registers BAD or NOT, m68kanon2013/08/30 07:29 PM
                                                      Trade-offs are not constantPaul A. Clayton2013/08/31 10:33 AM
                                                      Separate instruction and data registers BAD or NOT, m68kMichael S2013/08/31 11:42 AM
                                                      Separate instruction and data registers BAD or NOT, m68kBrett2013/08/31 02:51 PM
                                                    Separate instruction and data registers BAD or NOT, m68ksomeone2013/08/30 11:15 PM
                                                      Separate instruction and data registers BAD or NOT, m68kBrett2013/08/31 02:54 PM
                                                      Separate instruction and data registers BAD or NOT, m68kBrett2013/08/31 03:08 PM
                                                        Separate instruction and data registers BAD or NOT, m68kanon2013/08/31 07:43 PM
                                                          Separate instruction and data registers BAD or NOT, m68kMichael S2013/09/01 01:07 AM
                                                            Partitioned register sets BAD or NOTBrett2013/09/01 02:03 AM
                                                              Partitioned register sets BAD or NOTPatrick Chase2013/09/01 10:38 AM
                                                                Embedded VLIWPaul A. Clayton2013/09/01 12:54 PM
                                                                  Embedded VLIWPatrick Chase2013/09/01 03:14 PM
                                                                    Thanks for the additional info (NT)Paul A. Clayton2013/09/01 08:54 PM
                                                                Partitioned register sets BAD or NOTPatrick Chase2013/09/02 12:06 AM
                                                                Stop bitsBrett2013/09/02 02:24 PM
                                                                  Stop bitsPatrick Chase2013/09/02 03:00 PM
                                                            Separate instruction and data registers BAD or NOT, m68kanon2013/09/01 10:12 AM
                                                    Separate instruction and data registers BAD or NOT, m68kRichardC2013/08/31 06:03 AM
                                                    Separate instruction and data registers BAD or NOT, m68kMegol2013/09/04 07:04 AM
                                                      Separate instruction and data registers BAD or NOT, m68kBrett2013/09/04 11:27 PM
                                                        Separate instruction and data registers BAD or NOT, m68kMegol2013/09/05 07:32 AM
                                                          Separate instruction and data registers BAD or NOT, m68kgallier22013/09/05 09:37 AM
                                                            Separate instruction and data registers BAD or NOT, m68kMegol2013/09/05 10:48 AM
                                                          Separate instruction and data registers BAD or NOT, m68kJouni Osmala2013/09/05 11:18 AM
                                                            Separate instruction and data registers BAD or NOT, m68kMegol2013/09/06 05:17 AM
                                                            John Mashey post is sorta relevant ...Mark Roulo2013/09/06 09:30 AM
                                                              John Mashey post is sorta relevant ...Megol2013/09/06 11:59 AM
                                                                John Mashey post is sorta relevant ...Brett2013/09/06 06:32 PM
                                                                  John Mashey post is sorta relevant ...Eugene Nalimov2013/09/08 11:10 AM
                                                                    John Mashey post is sorta relevant ...Brett2013/09/08 02:54 PM
                                                                      John Mashey post is sorta relevant ...David Kanter2013/09/08 05:06 PM
                                                                        John Mashey post is sorta relevant ...Brett2013/09/08 07:48 PM
                                                                          John Mashey post is sorta relevant ...Jouni Osmala2013/09/09 06:26 AM
                                                                            John Mashey post is sorta relevant ...Brett2013/09/13 04:51 PM
                                                                              John Mashey post is sorta relevant ...Megol2013/09/14 09:56 AM
                                                                      John Mashey post is sorta relevant ...Eugene Nalimov2013/09/08 06:59 PM
                                                                        John Mashey post is sorta relevant ...Brett2013/09/08 07:55 PM
                                                                        Renesas RX vs x86/68K/VAXMichael S2013/09/09 06:15 AM
                                                  Initial 64-bit ARM *can* run older 32-bit ARM codeEduardoS2013/08/31 11:09 AM
                                                    Initial 64-bit ARM *can* run older 32-bit ARM codeLinus Torvalds2013/08/31 11:34 AM
                                                      Initial 64-bit ARM *can* run older 32-bit ARM codeEduardoS2013/08/31 12:26 PM
                                                        Initial 64-bit ARM *can* run older 32-bit ARM codeLinus Torvalds2013/08/31 02:12 PM
                                                          Initial 64-bit ARM *can* run older 32-bit ARM codeEduardoS2013/08/31 03:49 PM
                                                    Initial 64-bit ARM *can* run older 32-bit ARM codegallier22013/08/31 12:15 PM
                              Initial 64-bit ARM *can* run older 32-bit ARM codeRonald Maas2013/08/21 11:54 PM
                                Initial 64-bit ARM *can* run older 32-bit ARM codemas2013/08/22 01:10 AM
                                Initial 64-bit ARM *can* run older 32-bit ARM codeMichael S2013/08/22 02:47 AM
                                  Initial 64-bit ARM *can* run older 32-bit ARM codemas2013/08/22 03:17 AM
                              Initial 64-bit ARM *can* run older 32-bit ARM codeGabriele Svelto2013/08/22 07:53 AM
                      Initial 64-bit ARM *can* run older 32-bit ARM codeMr. Camel2013/08/23 06:33 AM
                        Initial 64-bit ARM *can* run older 32-bit ARM codeMichael S2013/08/23 07:03 AM
                        Initial 64-bit ARM *can* run older 32-bit ARM codeEduardoS2013/08/23 07:39 AM
                          Initial 64-bit ARM *can* run older 32-bit ARM codeRonald Maas2013/08/23 10:13 AM
                            Initial 64-bit ARM *can* run older 32-bit ARM codeEduardoS2013/08/23 10:28 AM
                        Initial 64-bit ARM *can* run older 32-bit ARM coderwessel2013/08/23 10:14 PM
              How does Power compare to ARM / MIPS?EduardoS2013/08/15 08:35 PM
                How does Power compare to ARM / MIPS?Carlie Coats2013/08/21 12:31 PM
              Mixing 32b and 64b code in a kernelDoug S2013/08/16 09:50 AM
                LPAE is here now!Mark Roulo2013/08/16 10:45 AM
                  LPAE is here now!Patrick Chase2013/08/16 12:29 PM
                    LPAE is here now!anon2013/08/16 06:11 PM
                Mixing 32b and 64b code in a kernelRicardo B2013/08/17 10:52 AM
                  Mixing 32b and 64b code in a kernelLinus Torvalds2013/08/17 11:09 AM
                    Mixing 32b and 64b code in a kernelMax2013/08/18 02:57 PM
                Mixing 32b and 64b code in a kernelCarlie Coats2013/08/21 12:46 PM
            How does Power compare to ARM / MIPS?Ungo2013/08/15 12:59 PM
              How does Power compare to ARM / MIPS?Doug S2013/08/15 07:39 PM
                How does Power compare to ARM / MIPS?Patrick Chase2013/08/15 08:04 PM
                  How does Power compare to ARM / MIPS?Patrick Chase2013/08/15 09:01 PM
                How does Power compare to ARM / MIPS?Jukka Larja2013/08/16 06:54 AM
          How does Power compare to ARM / MIPS?Patrick Chase2013/08/15 07:29 PM
            How does Power compare to ARM / MIPS?Brett2013/08/16 11:34 PM
              How does Power compare to ARM / MIPS?Doug S2013/08/17 11:18 AM
                How does Power compare to ARM / MIPS?Brett2013/08/17 11:35 AM
                  16 vs 32 general purpose registersMark Roulo2013/08/17 11:40 AM
                    16 vs 32 general purpose registersMichael S2013/08/17 02:55 PM
                      16 vs 32 general purpose registersPatrick Chase2013/08/18 04:55 AM
                  How does Power compare to ARM / MIPS?EduardoS2013/08/17 05:30 PM
                How does Power compare to ARM / MIPS?Patrick Chase2013/08/17 12:49 PM
                  > 32 general purpose registersMark Roulo2013/08/17 01:58 PM
                    > 32 general purpose registersMichael S2013/08/17 02:25 PM
                    > 32 general purpose registersPatrick Chase2013/08/17 03:11 PM
                      > 32 general purpose registersExophase2013/08/18 10:17 AM
                        IIRC, AArch32 registers (shadow registers et al.) map onto AArch64 registers (NT)Paul A. Clayton2013/08/18 02:51 PM
                          IIRC, AArch32 registers (shadow registers et al.) map onto AArch64 registersExophase2013/08/18 09:28 PM
                            IIRC, AArch32 registers (shadow registers et al.) map onto AArch64 registersMichael S2013/08/19 02:17 AM
                              IIRC, AArch32 registers (shadow registers et al.) map onto AArch64 registersExophase2013/08/19 08:42 AM
                    > 32 general purpose registersDoug S2013/08/18 12:21 AM
        How does Power compare to ARM / MIPS?Brett2013/08/17 11:20 AM
          How does Power compare to ARM / MIPS?Gabriele Svelto2013/08/18 02:12 PM
            How does Power compare to ARM / MIPS?Exophase2013/08/18 09:35 PM
          How does Power compare to ARM / MIPS?mas2013/08/20 03:29 PM
      How does Power compare to ARM / MIPS?mas2013/08/20 03:15 PM
        How does Power compare to ARM / MIPS?none2013/08/20 03:31 PM
          How does Power compare to ARM / MIPS?mas2013/08/20 04:08 PM
        How does Power compare to ARM / MIPS?Linus Torvalds2013/08/20 03:49 PM
          How does Power compare to ARM / MIPS?mas2013/08/20 05:53 PM
            How does Power compare to ARM / MIPS?Linus Torvalds2013/08/20 07:52 PM
              How does Power compare to ARM / MIPS?mas2013/08/21 12:21 AM
                How does Power compare to ARM / MIPS?Michael S2013/08/21 06:17 AM
                  How does Power compare to ARM / MIPS?mas2013/08/21 07:05 AM
                    How does Power compare to ARM / MIPS?Michael S2013/08/21 07:27 AM
                      How does Power compare to ARM / MIPS?none2013/08/21 07:53 AM
                        How does Power compare to ARM / MIPS?Michael S2013/08/21 08:02 AM
                          XScale wasn't synthesizablePatrick Chase2013/08/21 12:36 PM
                            XScale wasn't synthesizableMichael S2013/08/21 02:00 PM
                              XScale wasn't synthesizablePatrick Chase2013/08/21 03:02 PM
                              XScale wasn't synthesizablePatrick Chase2013/08/21 03:11 PM
                      How does Power compare to ARM / MIPS?mas2013/08/21 08:45 AM
                  How does Power compare to ARM / MIPS?mas2013/08/22 04:08 AM
            How does Power compare to ARM / MIPS?Doug S2013/08/20 10:47 PM
              How does Power compare to ARM / MIPS?Michael S2013/08/21 07:32 AM
              How does Power compare to ARM / MIPS?Patrick Chase2013/08/21 08:37 AM
              How does Power compare to ARM / MIPS?Patrick Chase2013/08/21 11:45 AM
                How does Power compare to ARM / MIPS?EduardoS2013/08/21 12:02 PM
                  How does Power compare to ARM / MIPS?Patrick Chase2013/08/21 12:27 PM
                    How does Power compare to ARM / MIPS?Patrick Chase2013/08/21 12:47 PM
                      Is simplistic prediction still prediction?Paul A. Clayton2013/08/21 03:59 PM
                        Is simplistic prediction still prediction?Patrick Chase2013/08/22 12:16 PM
                          More like always not-taken, but yeah lame prediction (NT)Paul A. Clayton2013/08/22 01:27 PM
                      How does Power compare to ARM / MIPS?Linus Torvalds2013/08/21 04:25 PM
                        Athlon did something similar (but no dirty special case)Paul A. Clayton2013/08/21 07:47 PM
                          Athlon did something similar (but no dirty special case)Patrick Chase2013/08/22 12:13 PM
                        How does Power compare to ARM / MIPS?Patrick Chase2013/08/22 11:56 AM
                        How does Power compare to ARM / MIPS?Patrick Chase2013/08/22 12:29 PM
                          How does Power compare to ARM / MIPS?Linus Torvalds2013/08/22 01:40 PM
                    How does Power compare to ARM / MIPS?anon2013/08/22 12:45 AM
                      How does Power compare to ARM / MIPS?Niels Jørgen Kruse2013/08/22 02:38 AM
                        How does Power compare to ARM / MIPS?Michael S2013/08/22 02:58 AM
                      How does Power compare to ARM / MIPS?Patrick Chase2013/08/22 08:44 AM
                        Are you sure P4 used IP-based way prediction?Paul A. Clayton2013/08/22 02:04 PM
                          Are you sure P4 used IP-based way prediction?Patrick Chase2013/08/22 03:40 PM
                        How does Power compare to ARM / MIPS?Patrick Chase2013/08/24 10:19 AM
                          How does Power compare to ARM / MIPS?Anon2013/08/25 01:15 AM
                            How does Power compare to ARM / MIPS?Patrick Chase2013/08/25 07:49 PM
                              Replay tornadoes? Paul A. Clayton2013/08/25 08:43 PM
                        How does Power compare to ARM / MIPS?anon2013/08/25 04:22 PM
                          How does Power compare to ARM / MIPS?anonymou52013/08/25 04:35 PM
                            I have the date and topic for a P4 Dcache postPaul A. Clayton2013/08/25 08:34 PM
                              Obviously that should have been "anonymous (no@spam.com)" (NT)Paul A. Clayton2013/08/25 08:45 PM
                              I have the date and topic for a P4 Dcache postPatrick Chase2013/08/26 09:04 AM
                                Could you provide a link?Paul A. Clayton2013/08/26 10:32 AM
                                  Could you provide a link?Patrick Chase2013/08/26 10:43 AM
                                    Thanks. I had a text copy without url.Paul A. Clayton2013/08/26 03:20 PM
                                      Thanks. I had a text copy without url.Patrick Chase2013/08/26 06:53 PM
                            How does Power compare to ARM / MIPS?anon2013/08/25 09:37 PM
                              How does Power compare to ARM / MIPS?David Kanter2013/08/26 02:31 PM
                              How does Power compare to ARM / MIPS?Patrick Chase2013/08/27 05:11 PM
                                I think even later P4s used width pipelining (NT)Paul A. Clayton2013/08/27 06:20 PM
    How does Power compare to ARM / MIPS?Vincent Diepeveen2013/08/26 05:04 AM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell tangerine? 🍊