Groups | Search | Server Info | Keyboard shortcuts | Login | Register


Groups > comp.lang.forth > #22846

Re: OO dispatch

Path csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!npeer.de.kpn-eurorings.net!npeer-ng0.de.kpn-eurorings.net!feed.news.schlund.de!schlund.de!news.online.de!not-for-mail
From Bernd Paysan <bernd.paysan@gmx.de>
Newsgroups comp.lang.forth
Subject Re: OO dispatch
Date Tue, 21 May 2013 01:37:02 +0200
Organization 1&1 Internet AG
Lines 25
Message-ID <knec2u$nd9$1@online.de> (permalink)
References <cdb881d8-8f57-47d7-9050-70684757e98c@googlegroups.com> <klj8v4$4vq$1@online.de> <517e4adf$0$32110$14726298@news.sunsite.dk> <klmgcv$bcs$1@online.de> <klmji7$dm6$1@online.de> <2013May1.190138@mips.complang.tuwien.ac.at> <klsb20$7hk$1@online.de> <2013May2.162843@mips.complang.tuwien.ac.at> <klu9fd$ifv$1@online.de> <kn0aqb$d3v$1@online.de> <R5CdndY-5plDUg7MnZ2dnUVZ_hOdnZ2d@supernews.com> <2013May16.160704@mips.complang.tuwien.ac.at> <ut-dnUpWOM9YygrMnZ2dnUVZ_t-dnZ2d@supernews.com> <2013May20.132840@mips.complang.tuwien.ac.at> <PeCdnUcty9HjsQfMnZ2dnUVZ_i2dnZ2d@supernews.com>
NNTP-Posting-Host p5dcd6bd4.dip0.t-ipconnect.de
Mime-Version 1.0
Content-Type text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding 7Bit
X-Trace online.de 1369093022 23977 93.205.107.212 (20 May 2013 23:37:02 GMT)
X-Complaints-To abuse@einsundeins.com
NNTP-Posting-Date Mon, 20 May 2013 23:37:02 +0000 (UTC)
User-Agent KNode/4.10.2
Xref csiph.com comp.lang.forth:22846

Show key headers only | View raw


Andrew Haley wrote:
> In the monomorphic case, an inline cache will predict perfectly unless
> something changes.  An indirect branch predictor will predict
> perfectly unless something changes or the entry has expired from its
> cache, which is of limited size.

Actually, things are more complicated/sophisticated today.  The BTB is used 
to predict direct branches, too.  Why?  Because the decoder needs several 
pipeline stages to figure out where it actually goes to, but it wants to 
fetch the next instruction bundle as soon as possible, optimally back-to-
back (so that you can do one branch per cycle).  So you now have the "code 
warming up"-effect on direct branches, too.  It's just that the hit for 
misprediction is probably lower, because the correct target is known a 
little bit earlier.

The size of the BTB is about big enough to hold all branches for the L1 code 
cache.  The idea behind that is that when you are loading from L2 cache, the 
code is executed slow enough that you can tolerate all those mispredicts, 
and fill in the required information as you go.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

Back to comp.lang.forth | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-15 16:46 +0200
  Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-15 13:11 -0500
    Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-15 23:23 +0200
      Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-16 02:24 -0500
        Re: The current object anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-05-16 13:55 +0000
        Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-16 17:45 +0200
          Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-18 05:13 -0500
            Re: The current object Doug Hoffman <glidedog@gmail.com> - 2013-05-18 06:43 -0400
            Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-18 10:03 -0500
              Re: The current object Doug Hoffman <glidedog@gmail.com> - 2013-05-18 11:30 -0400
              Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-19 01:20 +0200
                Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-19 12:33 -0500
            Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-19 01:07 +0200
              Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-19 03:58 -0500
    OO dispatch (was: The current object) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-05-16 14:07 +0000
      Re: OO dispatch Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-18 05:28 -0500
        Re: OO dispatch anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-05-20 11:28 +0000
          Re: OO dispatch Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-20 09:00 -0500
            Re: OO dispatch Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-21 01:37 +0200
              Re: OO dispatch Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-21 03:21 -0500
            Re: OO dispatch anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-05-21 12:24 +0000
              Re: OO dispatch Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-21 10:18 -0500
                Re: OO dispatch anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-05-21 16:03 +0000
                Re: OO dispatch Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-21 12:55 -0500
                Re: OO dispatch Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-29 00:00 +0200
                Re: OO dispatch Mark Wills <markrobertwills@yahoo.co.uk> - 2013-05-28 15:49 -0700

csiph-web