| Author |
Message |
Maynard Handley
Guest
|
Posted:
Thu Oct 06, 2005 12:15 am Post subject:
Re: What do you think of Sun's Niagara |
|
|
In article <yf3irwdusre.fsf@base.gp.example.com>,
pg_nh@0509.exp.sabi.co.UK (Peter Grandi) wrote:
| Quote: | On 4 Oct 2005 00:47:30 -0700, "David Kanter" <dkanter@gmail.com
said:
[ ... ]
dkanter> Absolutely. But, branches are predicted correctly
dkanter> about 95-99% of the time (from what I can see so far),
dkanter> so I guess ultimately, I'm not hugely worried.
Uhm another one of my pet peeves :-). This statistic while true
is ridiculous, because it really sort of is about _backwards_
jumps, that is about code with lots of loops. Predicting
_forward_ jumps is not as easy :-).
|
Are you sure about this?
PPC had a very definite way of doing counted loops, using the count
register, and various models had branch prediction, and the claims for
PPC branch prediction using say 2K 2bit settings (strongly-not,
not-taken, strongly taken) were of order, as I recall, mid-80s %
correct. My understanding was that this number did not include
count-register-based branching, just as it would not include
unconditional branching.
Maynard |
|
| Back to top |
|
 |
Scott A Crosby
Guest
|
Posted:
Thu Oct 06, 2005 8:05 am Post subject:
Re: What do you think of Sun's Niagara |
|
|
On 4 Oct 2005 00:47:30 -0700, "David Kanter" <dkanter@gmail.com> writes:
| Quote: | Absolutely. But, branches are predicted correctly about 95-99% of the
time (from what I can see so far), so I guess ultimately, I'm not
hugely worried.
|
Yes, but there's a lot of logic and branch prediction/target
buffers. If the branch predictor needs to have the bandwidth to feed
multiple threads, I would expect it might have to become multiported.
Scott |
|
| Back to top |
|
 |
Niels Jørgen Kruse
Guest
|
Posted:
Thu Oct 06, 2005 1:48 pm Post subject:
Re: What do you think of Sun's Niagara |
|
|
Scott A Crosby <scrosby@cs.rice.edu> wrote:
| Quote: | On 4 Oct 2005 00:47:30 -0700, "David Kanter" <dkanter@gmail.com> writes:
Absolutely. But, branches are predicted correctly about 95-99% of the
time (from what I can see so far), so I guess ultimately, I'm not
hugely worried.
Yes, but there's a lot of logic and branch prediction/target
buffers. If the branch predictor needs to have the bandwidth to feed
multiple threads, I would expect it might have to become multiported.
|
The number of branches that need to be predicted depends on icache
bandwidth, not the number of threads.
--
Mvh./Regards, Niels Jørgen Kruse, Vanløse, Denmark |
|
| Back to top |
|
 |
Iain McClatchie
Guest
|
Posted:
Fri Oct 07, 2005 12:15 am Post subject:
Re: What do you think of Sun's Niagara |
|
|
Iain> I did this by designing the instruction set to mark the
Iain> instruction *before* the branch. That way the fetch
Iain> logic had time to mux in a different thread target.
John> We used to call those "delayed branches".
:-)
It's not the same thing, though. A delayed branch's action
is delayed, but the condition computation is not. Here, both
the action and the condition computation are delayed.
Essentially, the branch condition can reference data computed
in the branch delay slot.
Maybe that's a better way of explaining it in the first place. |
|
| Back to top |
|
 |
David Kanter
Guest
|
Posted:
Sat Oct 08, 2005 8:15 am Post subject:
Re: What do you think of Sun's Niagara |
|
|
Scott A Crosby wrote:
| Quote: | On 4 Oct 2005 00:47:30 -0700, "David Kanter" <dkanter@gmail.com> writes:
Absolutely. But, branches are predicted correctly about 95-99% of the
time (from what I can see so far), so I guess ultimately, I'm not
hugely worried.
Yes, but there's a lot of logic and branch prediction/target
buffers. If the branch predictor needs to have the bandwidth to feed
multiple threads, I would expect it might have to become multiported.
|
This is what the EV8 guys did so that they could predict upto 16
branches/cycle on a 4-threaded machine:
http://citeseer.ist.psu.edu/cache/papers/cs/26684/ftp:zSzzSzftp.irisa.frzSzlocalzSzcapszSzEV8BP.pdf/seznec02design.pdf
What exactly do you mean by "multiported"? Do you mean able to predict
many branches at once?
DK |
|
| Back to top |
|
 |
Scott A Crosby
Guest
|
Posted:
Sun Oct 09, 2005 12:15 am Post subject:
Re: What do you think of Sun's Niagara |
|
|
On 7 Oct 2005 22:16:44 -0700, "David Kanter" <dkanter@gmail.com> writes:
Yes, being able to handle the parallel branch/L1 cache bandwidth. See
the first paragraph in section 6. I don't see how you could use a
variant of their bank conflict avoidance technique in the case of
independent threads.
Scott |
|
| Back to top |
|
 |
|
|
|
|