View Single Post
  #10  
Old January 14th 12, 09:23 AM posted to comp.lang.forth,comp.sys.intel,comp.arch
Terje Mathisen[_3_]
external usenet poster
 
Posts: 23
Default Can someone explain step by step how one avoid many conditionalin forth as described in Moore Fourth essay?

Joe keane wrote:
In ,
Andy (Super) wrote:
Problem is that eager threads seldom last long, so it is hard for eager
threads to overcome the cost of migrating to another core.


Essentially creating a new thread, for every -branch-, falls into the
'that don't sound right'.


I've thought about this in the context "execute alternating instructions
from both sides of the branch, adding implicit predicates to them", so
that when the branch retires the predicates become known and half the
instructions are cancelled.

The problem is of course that you need to fetch from two paths at the
same time, i.e. you need a pair of virtualized IP registers as well.

The first criterium must be that you only ever do this for code that has
been executed a number of times, and where the branch history has turned
out to be very unpredictable.

Another idea could be to start with the predicted branch, then switch to
the other on the first stall/cache miss or new branch.

Terje
--
- Terje.Mathisen at tmsw.no
"almost all programming can be viewed as an exercise in caching"