Mill Computing, Inc. Forums The Mill Tools Compilers Tokyo University STRAIGHT compiler

  • Author
  • Findecanor
    Post count: 30
    #3911 |

    I stumbled over a few papers about another architecture that uses something similar to The Mill’s “Belt”. It is a research project at Tokyo University called STRAIGHT.
    Apparently, instead of register renaming and three-address code, at each instruction they rotate the register file one step and place the result at index 0.

    Otherwise it seems to be based on a quite ordinary out-of-order RISC-V design. They claim up to 18.8% performance gain in simulation of some benchmarks over the same processor with a traditional front-end, but I suspect that is simply an effect of having a larger register file window, enabled by not having to encode the destination register.

    No mention of The Mill or of any previous rotating register file architectures that I know of in their paper, (hrmpf..)
    But I thought it could be interesting to compare their compiler, anyway.

    STRAIGHT: Hazardless Processor Architecture Without Register Renaming [PDF] 2018.

    Compiling and Optimizing Real-world Programs for STRAIGHT ISA [PDF] 2021.
    A Sound and Complete Algorithm for Code Generation in Distance-Based ISA [] 2023.

    (The forum software seems a bit finicky. This is the third time I try to post…)

  • Thomas D
    Post count: 24

    What other rotating register file architectures are you aware of? It’s a bit of an esoteric topic, and as such, hints are generally needed for research.

    As for why the Mill isn’t mentioned, what is there to mention? Academia exists in the hubristic double-thought that it knows all things worth knowing (while simultaneously knowing that most of those things came from outside). As far as I know, there are no academic papers concerning the Mill, as the Mill is a commercial project through-and-through: it is the kind of project that papers will be written about in retrospect (if a product is ever launched). As such, there is nothing to really cite, except some videos of talks given at a university that were high-level and abstract in order to protect IP. That really is the nature of the project, and the nature of academia.

    Right now, the Mill is a rumor, possibly another piece of industry vaporware, and this STRAIGHT is an academic play toy.

    • Findecanor
      Post count: 30

      What other rotating register file architectures are you aware of?

      I think the most famous example would be Itanium, which can be configured to rotate a section of its register file in inner loops. It allows a loop to function in some ways like an unrolled loop without actually having to be unrolled.

      The AMD 29K is also well-known, although rotation is used for a different purpose: as a way to implement register windows in the calling convention.

      As far as I know, there are no academic papers concerning the Mill, … As such, there is nothing to really cite

      Something doesn’t necessarily have to be an academic paper itself to be cited in an academic paper. The important property is that the citation gives you enough information that you could retrieve your own copy of it, and count on it being identical to what is cited in the paper.

      If you’d want something formal to cite in this case, you could very well choose the patent.

      • This reply was modified 3 months ago by  Findecanor.
      • Ivan Godard
        Post count: 687

        STRAIGHT is interesting; it’s the only other temporally-addressed architecture that I know of, and I thank you for bringing it to my attention.

        The addressing (STRAIGHT vs Mill) is different: STRAIGHT refers to the generating instruction in time order, whereas Mill refers to the dropped result. In the hardware STRAIGHT uses a scoreboard approach to block for uncompleted instructions, while Mill uses full static scheduling. Some benefits are shared: no renaming, no encoded result registers. Some are peculiar to one or the other: Mill needs no reorder buffer, while straight need not track instruction retire time in the compiler.

        I wish them luck.

      • Ivan Godard
        Post count: 687

        Itanium uses rotating registers as a cheap form of loop pipelining, but addressing is still spatial. Mill uses temporal addressing, which is quite different.

You must be logged in to reply to this topic.