Mill is single-address-space-oriented

By: Paul A. Clayton (paaronclayton.delete@this.gmail.com), April 23, 2015 7:00 am
Room: Moderated Discussions
Jouni Osmala (yeah.delete@this.right.com) on April 23, 2015 3:19 am wrote:
[snip]
> But almost every TLB works parallel with load instead of front of it and is primary reason why minimum
> page size affects the cache design so much and why I always claim it would be really nice to have
> bigger linear translation between physical and virtual addresses than 4k minimum page size.

The Mill uses virtually tagged caches (including for L2). Homonyms (same virtual address, different physical address) are easily handled by an address space ID mechanism (as dcmq indicated); the Mill uses this (a "turf ID" is used — a "turf" is a permission domain and need not use a separate pseudo-address-space — the handling of UNIX fork is briefly described at the Mill Computing site). Writable synonyms (different virtual address, same physical address) are more problematic. I don't know how the Mill is intended to handle such. (It should also be noted that the Mill does not treat pointers as simply integers.)

As dcmq also noted, there are a number of mechanisms for handling aliasing issues in a virtually tagged cache.

> And little reply to this point.
> http://millcomputing.com/wiki/Protection#Region_Table
>
> And they need to be faster than L1 accesses for any modern design.
> Virtually tagged L1 caches don't work with SMT and is bad for modern requirement of running
> lots of active processes and threads. I would really like if it would be option for CPU
> to have virtually tagged L1 cache and TLB would only be needed for L2 cache but it isn't
> an option, when you need to handle lots of context switches and coherency traffic.

First, the Mill as currently conceived is poorly suited to SMT. (SoEMT is more friendly to the current conception. On the other hand, modifying the design to be more friendly to multithreading does not seem likely to be prohibitively difficult or expensive.)

Second, virtually tagged L1 caches are not a problem with SMT. ASIDs work fairly well. (Aside from the writable synonym problem, there would be wasted cache capacity for commonly used read-only shared memory.)

The overhead of using 64-bit addresses should be compensated for by the use of huge segments (well known regions) for permission checking in the common cases and slightly relaxed timing for permission checks. (The Mill also uses per-byte valid bits, further increasing cache metadata.)
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
My take on the Mill (hopefully using more conventional terminology)Gabriele Svelto2015/04/18 01:06 AM
  My take on the Mill (hopefully using more conventional terminology)Ronald Maas2015/04/19 09:53 AM
    My take on the Mill (hopefully using more conventional terminology)ex-apple2015/04/19 10:53 AM
    My take on the Mill (hopefully using more conventional terminology)Eric Bron nli2015/04/20 11:43 AM
      My take on the Mill (hopefully using more conventional terminology)Eric Bron2015/04/20 11:46 AM
    My take on the Mill (hopefully using more conventional terminology)Ivan Godard2015/04/20 05:27 PM
      My take on the Mill (hopefully using more conventional terminology)Ronald Maas2015/04/20 10:03 PM
      My take on the Mill (hopefully using more conventional terminology)sylt2015/04/21 09:49 AM
      My take on the Mill (hopefully using more conventional terminology)RichardC2015/04/21 12:57 PM
        My take on the Mill (hopefully using more conventional terminology)Exophase2015/04/21 02:47 PM
          My take on the Mill (hopefully using more conventional terminology)RichardC2015/04/21 03:22 PM
            My take on the Mill (hopefully using more conventional terminology)Peter Lund2015/04/22 01:35 AM
          My take on the Mill (hopefully using more conventional terminology)Gabriele Svelto2015/04/22 02:42 AM
        My take on the Mill (hopefully using more conventional terminology)RichardC2015/04/22 06:23 AM
          My take on the Mill (hopefully using more conventional terminology)EduardoS2015/04/22 06:59 PM
            My take on the Mill (hopefully using more conventional terminology)RichardC2015/04/22 07:53 PM
              My take on the Mill (hopefully using more conventional terminology)dmcq2015/04/23 02:45 AM
    My take on the Mill (hopefully using more conventional terminology)EduardoS2015/04/21 12:40 PM
      how about Freescale LS1022A ?Michael S2015/04/21 03:53 PM
        how about Freescale LS1022A ?EduardoS2015/04/21 04:44 PM
      My take on the Mill (hopefully using more conventional terminology)rwessel2015/04/21 04:40 PM
        My take on the Mill (hopefully using more conventional terminology)EduardoS2015/04/21 04:45 PM
          My take on the Mill (hopefully using more conventional terminology)Exophase2015/04/21 05:03 PM
      My take on the Mill (hopefully using more conventional terminology)Ronald Maas2015/04/21 08:09 PM
  My take on the Mill (hopefully using more conventional terminology)Maynard Handley2015/04/19 11:13 AM
    My take on the Mill (hopefully using more conventional terminology)Ivan Godard2015/04/20 05:34 PM
      My take on the Mill (hopefully using more conventional terminology)Brett2015/04/20 05:43 PM
        My take on the Mill (hopefully using more conventional terminology)Ivan Godard2015/04/20 08:59 PM
      Fixed size registers?David Kanter2015/04/21 08:26 AM
    My take on the Mill (hopefully using more conventional terminology)EduardoS2015/04/21 12:51 PM
      My take on the Mill (hopefully using more conventional terminology)Maynard Handley2015/04/21 02:02 PM
      Large register filejuanrga2015/04/21 05:01 PM
        Large register fileEduardoS2015/04/21 05:53 PM
  My take on the Mill (hopefully using more conventional terminology)Ivan Godard2015/04/20 05:08 PM
    My take on the Mill (hopefully using more conventional terminology)anon2015/04/21 10:27 PM
      My take on the Mill (hopefully using more conventional terminology)Exophase2015/04/21 10:40 PM
        My take on the Mill (hopefully using more conventional terminology)anon2015/04/23 02:59 AM
    My take on the Mill (hopefully using more conventional terminology)Gabriele Svelto2015/04/22 12:47 AM
    PLB description seems to missunderstand how TLB works.Jouni Osmala2015/04/23 03:19 AM
      PLB description seems to missunderstand how TLB works.dmcq2015/04/23 04:54 AM
      Mill is single-address-space-orientedPaul A. Clayton2015/04/23 07:00 AM
        Mill is single-address-space-orienteddmcq2015/04/23 09:17 AM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell tangerine? 🍊