Forum Replies Created

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • orenbenkiki
    Member
    Post count: 4
    in reply to: Memory #1346

    Is there any plan for the Mill to support some kind of transactional memory, and in general how does it address atomic read-modify-write operations? Perhaps this will be addressed in the future multi-core talk?

  • orenbenkiki
    Member
    Post count: 4
    in reply to: The Belt #1336

    How accurate is the belt abstraction when it comes to the actual HW? That is, is it really the case, on a machine with 32 belt entries and roughly the same number of ALUs, that in each cycle, each ALU can take its operands from any belt location? And push a result to the belt?

    I’m not a uArchitect (but I work with some), but it sounds to me as though either:

    – There are some restrictions in place to keep the HW cost reasonable, so the belt abstraction isn’t the whole story. That would impact a lot of the described architecture in deep ways, though.

    – There is the mother of all crossbars which can, in one cycle, route full operands from any of 32 sources to any of 32 destinations, and take 32 results back into (almost) arbitrary positions – which, I am told by my uArchitect friends, is “impractical” (they’d probably use a stronger word there :-)

    – There is some very clever uArchitecture trickiness going on which wasn’t described in the videos (including the belt video). There are tantalizing hints in the videos about a tagged structure but not enough to explain how this circle is squared.

    Perhaps this is “too low level” to be covered in an architectural video/forum, but I’m burning with curiosity here :-)

  • orenbenkiki
    Member
    Post count: 4
    in reply to: Memory #1350

    Using the L1 as the write set makes sense as the normal coherency protocol informs you of conflicts. But, how is this exposed to the SW? AFAIR, OCC needs Begin/Modify/Validate/Rollback operations. Modify is easy – just normal stores. But there seem to be no way around some form of HW support for Validate, which means some sort of explicit Begin. It also seems very hard for SW to safely do a Rollback, preventing another thread from seeing the middle (muddled) state of a transaction. So does the Mill have something similar to Intel’s RTM (explicit begin/end transaction instructions), handling the Begin/Validate/Rollback operations?

  • orenbenkiki
    Member
    Post count: 4
    in reply to: The Belt #1340

    So Gold has only 8 exu slots, but can still issue 33 operations? The Belt talk mentioned only 8 of the ops could be additions, that doesn’t leave room for anything else…

    You mention the “first Belt implementation”, I guess this means you have different ones (for different family members?). This makes sense as the wider you get, you probably need to do things differently, while keeping the same abstract model for the SW.

    I guess things will be clearer after the Fall talk about this; I’m very happy to hear this would be the topic.

Viewing 4 posts - 1 through 4 (of 4 total)