I hope you find something, but there are challenges

By: Brett (ggtgp.delete@this.yahoo.com), August 2, 2022 10:41 pm
Room: Moderated Discussions
Mark Roulo (nothanks.delete@this.xxx.com) on August 2, 2022 6:48 pm wrote:
> NvaxPlus (spam.delete@this.spam.com) on August 2, 2022 8:45 am wrote:
> > I'm curious if anyone here has any good resources (papers, or things of that sort) on empirical
> > data about what works and what doesn't in an ISA. It seems to me that a lot of arguments about
> > instruction set design rely on intuition and received wisdom. Sometimes that's helpful and sometimes
> > it isn't. I've been doing a (admittedly, cursory) literature review on this subject and was
> > surprised just how seemingly little publicly available information there is.
>
> I'll be interested to see what you find, but my (non-rigorous!) belief is that the most important thing for an
> ISA is to avoid a number of screwups. For ISAs intended for high performance implementations these include
>

    >
  • Register windows. These mostly seem to be a bad idea.

  • >
  • Stack or memory based architecture (you really want registers)

  • >
  • Instruction encoding that makes parallel decode difficult (e.g. 680x0). Fixed
    > length is one way to make parallel decode straightforward, but being able to easily/rapidly
    > determine the length of a given instruction seems to be sufficient

  • >
  • Instructions with many indirect memory accesses

  • >

>
> There are probably a few more, but once you've done this I think the actual IMPLEMENTATION starts to dominate.
> So x86-64, ARM8 and POWER I expect to all be dominated by implementation choices for various actual chips.
> Implementation choices such as more physical registers for an OoO engine to use. Or bundling (or not) instructions
> as they go through the OoO engine (e.g. POWER4). Implementation design choices for which instructions can go
> to which execution units (and the various tradeoffs for more vs. less general instruction units). How many
> transistors are spent on branch prediction and how good the branch predictors and good pre-fetchers (I and D)
> are. Better caches. Pipeline and transistor design choices that allow for higher frequencies.
>
> And a number of these will be better for some loads and worse for others. Which just adds another dimension
> to any (externally published) analysis. I'm sure Apple has some answers for the loads IT cares about on
> ARM but I don't expect to find much published information about this. Same for Intel. And IBM.
>
> Another "catch" with what you want is that once you've avoided screwing up too much at the ISA level you'll
> need to have specific implementations (even in a simulator) to play with things such as "how large should
> constants in an instruction be?" and "how many ISA visible registers should I have?". The specific choices
> are going to matter and THEN how well a given compiler can USE these will matter, too.
>
> I hope you find something, but I'm not optimistic.

A full set of integer instructions with three sources is all that’s left to do on the high end. Reduces your critical path length and saves a write port and tracking compared to two instructions.

Things like two writes in an instruction do not help much due to instruction combining or just being wide giving the same effect. Mul Hi/Lo and double register shifts.

You could pack an in-then-else in one instruction saving a short jump, but that just saves code space and makes downstream handling a hassle. Bottom of the barrel stuff.
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Empirical data on ISA design parametersNvaxPlus2022/08/02 08:45 AM
  Empirical data on ISA design parameters---2022/08/02 10:25 AM
    Empirical data on ISA design parametersRayla2022/08/02 10:29 AM
  Empirical data on ISA design parametersAnon2022/08/02 11:46 AM
    Empirical data on ISA design parametersAdrian2022/08/03 02:00 AM
      Immediate ranges (was: Empirical data on ISA...)Marcus2022/08/07 10:16 AM
        Immediate ranges (was: Empirical data on ISA...)Björn Ragnar Björnsson2022/08/07 05:14 PM
          Immediate ranges (was: Empirical data on ISA...)Marcus2022/08/07 09:50 PM
  I hope you find something, but there are challengesMark Roulo2022/08/02 06:48 PM
    I hope you find something, but there are challengesBrett2022/08/02 10:41 PM
      I hope you find something, but there are challengeshobold2022/08/03 03:17 AM
        I hope you find something, but there are challengesBrett2022/08/03 11:37 AM
    I hope you find something, but there are challengesvonk2022/08/03 12:22 AM
    I hope you find something, but there are challengesAdrian2022/08/03 02:19 AM
      I hope you find something, but there are challengesNoSpammer2022/08/03 07:55 AM
        I hope you find something, but there are challengesAnon2022/08/03 09:25 AM
          I hope you find something, but there are challengesLinus Torvalds2022/08/03 11:31 AM
          I hope you find something, but there are challengesNoSpammer2022/08/04 03:18 AM
            I hope you find something, but there are challengesAdrian2022/08/04 04:56 AM
              I hope you find something, but there are challengesLinus Torvalds2022/08/04 11:03 AM
                I hope you find something, but there are challengesMr. Camel2022/08/04 12:29 PM
              I hope you find something, but there are challengesNoSpammer2022/08/08 09:31 AM
            I hope you find something, but there are challengesAnon2022/08/04 02:54 PM
        I hope you find something, but there are challengesAdrian2022/08/03 11:33 AM
          I hope you find something, but there are challengesBrett2022/08/03 12:21 PM
          I hope you find something, but there are challenges---2022/08/03 02:55 PM
            I hope you find something, but there are challengesBrett2022/08/03 04:31 PM
              Rebirth of the 68k archBrett2022/08/05 01:17 PM
                Rebirth of the 68k archMarcus2022/08/06 04:36 AM
                  Rebirth of the 68k archMegol2022/08/07 02:01 PM
                    Rebirth of the 68k archMarcus2022/08/07 11:30 PM
                      Rebirth of the 68k archBrett2022/08/08 12:31 AM
                        Rebirth of the 68k archMarcus2022/08/08 01:46 AM
                  Rebirth of the 68k archAnon2022/08/07 02:57 PM
                    Rebirth of the 68k archBrett2022/08/07 05:37 PM
                      68K was not a kludgeMark Roulo2022/08/07 06:05 PM
                        68K was not a kludgeBrett2022/08/07 09:56 PM
                          68K was not a kludgenone2022/08/08 01:00 AM
                            rich man's VAX and more O.T.Michael S2022/08/08 02:44 AM
                              rich man's VAX and more O.T.none2022/08/08 02:51 AM
                Rebirth of the 68k archBrett2022/08/10 11:59 PM
                  Rebirth of the 68k archUngo2022/08/11 03:53 AM
                    Rebirth of the 68k archAnon42022/08/11 12:08 PM
                      Rebirth of the 68k archrwessel2022/08/11 01:02 PM
            I hope you find something, but there are challengesAdrian2022/08/04 12:07 AM
              I hope you find something, but there are challengesEtienne2022/08/04 05:15 AM
          I hope you find something, but there are challengesAnon2022/08/03 05:15 PM
        I hope you find something, but there are challengesblaine2022/08/03 12:03 PM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell tangerine? 🍊