I cache fetches.

Article: Performance Analysis for Core 2 and K8: Part 1
By: Peter (not.delete@this.likely.com), October 31, 2008 3:38 pm
Room: Moderated Discussions
>It fetches 16 bytes at a time, though... Does it fetch unaligned, beginning from
>the branch target? If so, then potentially close to 25% of fetches would be 2 icache accesses

I doubt it.

I would expect that the processor would do an aligned 16-byte fetch and then send the critical first word from this fetch directly from a line-fill buffer past the instruction cache into the fetch buffer.

I doubt that it is counting cache lines, but cache fetches - and there should be four 128-bit fetches in one cache line.

Performance-montiors/event-counters can be a real pain to implement so I wouldn't be surprized if there is a difference between how Intel and AMD count icache fetches. At a very coarse level, do you count a fetch as one that is completed and put in the fetch queue or do you count a fetch from the moment the ICache is addressed - even if the fetch isn't completed due to being in a branch shadow? At a fine grain level, Core-2 has a 16-byte queue while K8 has a 24-byte queue so the actual fetch strategy to avoid bubbles may be very different.

Unless you've got a detailed description of how performance monitors are implemented (unlikely) I suspect it will be hard to compare two different designs.

To give you an idea, when I put performance counters into a design I try to get them right in the majority of cases, but I'm not going to break my ass trying to get them super-accurate because that would usually involve factoring in very timing critical signals from elsewhere in the design.

Most other designers have the same mindset.
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Performance analysis of K8 and Core onlineDavid Kanter2008/10/29 01:47 AM
  Performance analysis of K8 and Core onlineJames2008/10/29 02:36 AM
    Performance analysis of K8 and Core onlineMatt Sayler2008/10/29 05:37 AM
    Performance analysis of K8 and Core onlineDavid Kanter2008/10/30 12:00 PM
      Performance analysis of K8 and Core onlineMichael S2008/10/30 06:32 PM
        Performance analysis of K8 and Core onlineDavid Kanter2008/10/31 08:38 AM
        Performance analysis of K8 and Core onlineEduardoS2008/10/31 05:36 PM
          Performance analysis of K8 and Core onlineMichael S2008/11/01 08:21 AM
            Performance analysis of K8 and Core onlineEduardoS2008/11/01 11:15 AM
              Performance analysis of K8 and Core onlineanonymous2008/11/01 01:06 PM
              I stay correctedMichael S2008/11/01 01:53 PM
    Performance analysis of K8 and Core onlineDavid Kanter2008/11/08 06:23 PM
  Performance analysis of K8 and Core onlinehobold2008/10/29 06:36 AM
  Performance analysis of K8 and Core onlinerwessel2008/10/29 11:08 AM
    Performance analysis of K8 and Core onlineDavid Kanter2008/10/30 11:48 AM
    Error fixedDavid Kanter2008/11/08 06:22 PM
  I cache fetches.Jouni Osmala2008/10/31 01:10 AM
    I cache fetches.anon2008/10/31 02:57 AM
      I cache fetches.anon.moose2008/10/31 08:06 AM
        I cache fetches.anon2008/10/31 02:32 PM
          I cache fetches.Peter2008/10/31 03:38 PM
            I cache fetches - clarificationPeter2008/10/31 03:50 PM
        instruction fetch vs. icache accessDavid Kanter2008/10/31 06:19 PM
  Performance analysis of K8 and Core onlineHoward Chu2008/10/31 02:39 AM
    Performance analysis of K8 and Core onlineLinus Torvalds2008/10/31 08:08 AM
      Performance analysis of K8 and Core onlineEduardoS2008/10/31 01:11 PM
      Timing sensitive performanceDavid Kanter2008/11/03 09:52 AM
    Performance analysis of K8 and Core onlineDavid Kanter2008/11/01 11:53 PM
      Performance analysis of K8 and Core onlineMichael S2008/11/02 05:12 AM
      Performance analysis of K8 and Core onlineEduardoS2008/11/02 07:47 AM
    Performance analysis of K8 and Core onlineDavid Kanter2008/11/03 11:23 AM
  Shanghai vs Penryn Spec PowerJoe Chang2008/11/09 04:38 PM
    Shanghai vs Penryn Spec PowerEduardoS2008/11/09 05:14 PM
      Shanghai vs Penryn Spec PowerMichael S2008/11/09 06:08 PM
        Shanghai vs Penryn Spec PowerHenrik S2008/11/09 11:52 PM
        Shanghai vs Penryn Spec PowerEduardoS2008/11/10 05:32 AM
          Shanghai vs Penryn Spec PowerMichael S2008/11/10 06:56 AM
            Shanghai vs Penryn Spec PowerEduardoS2008/11/10 12:32 PM
              Shanghai vs Penryn Spec PowerMichael S2008/11/10 05:55 PM
                Shanghai vs Penryn Spec Poweranonymous2008/11/10 08:28 PM
                  Shanghai vs Penryn Spec PowerMichael S2008/11/11 02:32 AM
                    Shanghai vs Penryn Spec Poweranonymous2008/11/11 11:38 AM
                Shanghai vs Penryn Spec Powermpx2008/11/11 02:12 PM
                  Shanghai vs Penryn Spec PowerMichael S2008/11/11 04:39 PM
    Seaburg vs San ClementeMichael S2008/11/09 05:37 PM
      Seaburg vs San ClementeJoe Chang2008/11/09 08:11 PM
    Links to spec.org + commentsHenrik S2008/11/10 03:18 AM
      Links to spec.org + commentsMichael S2008/11/10 04:31 AM
        Links to spec.org + commentsHenrik S2008/11/10 08:09 AM
          Links to spec.org + commentsMichael S2008/11/10 08:58 AM
            Links to spec.org + commentsHenrik S2008/11/10 10:48 AM
      Links to spec.org + commentsEduardoS2008/11/10 05:12 AM
        Links to spec.org + commentsMichael S2008/11/10 07:00 AM
          Links to spec.org + commentspgerassi2008/11/11 10:29 AM
            Links to spec.org + commentsMichael S2008/11/11 11:15 AM
  Performance analysis of K8 and Core onlineaap2008/11/16 05:08 PM
    Performance analysis of K8 and Core onlineDavid Kanter2008/11/16 07:20 PM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell tangerine? 🍊