[Battlemesh] Atheros chips

Jonathan Morton chromatix99 at gmail.com
Fri Feb 26 09:31:38 UTC 2016


> On 26 Feb, 2016, at 10:13, Juliusz Chroboczek <jch at pps.univ-paris-diderot.fr> wrote:
> 
>> When you can target a single core type, the difference between in-order
>> and OoO is much less important than on the desktop
> 
> Not sure I believe that, given memory latencies, but then if the memory
> subsystem is better, perhaps it compensates.  (Routing in software is not
> a cache-friendly endeavour.)

The A7 can do hit-under-miss and similar tricks, which are fairly standard nowadays.  This also implies that it can continue to issue instructions while waiting for a load or a long-latency instruction, as long as none of them depend on a result that hasn’t yet completed.  It’ll also do branch prediction.

The advantage of OoO over this is simply that instructions coming *after* a dependent instruction, but which aren’t themselves dependent, can also be issued before that result completes.

If you know you’ve got an in-order CPU, you (or more likely the compiler) can schedule instructions to minimise the latter situation and maximise the former.  An OoO CPU doesn’t care either way.

 - Jonathan Morton



More information about the Battlemesh mailing list