<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Sep 13, 2016 at 3:32 AM, Jerry Leichter <span dir="ltr"><<a href="mailto:leichter@lrw.com" target="_blank">leichter@lrw.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">> On the hardware side I just learned that some ARM cores have a mix<br>
> of large and small cores that share memory and cache.  The information<br>
> leak and software reliability risk  is the little cores must always flush<br>
> cache as if they were a big core.<br>
> Code could migrate from one to another and the code would not<br>
> be able to know it moved or how wide the cache line is so it must<br>
> assume the largest possible.<br>
</span>I'm not sure what the significance of two different core sizes is.  </blockquote><div>....</div><div><br></div><div>As Ard said the issue is the size of cache and cache lines.</div><div>His explanation is excellent..<br><br>The correct and optimum method differs for each size core.</div><div>Code that is correct for both is not optimum for both.</div><div><br></div><div>The instruction set allows the OS to move "code" from one to</div><div>the other and back in the manner of SMP.   However at the device  level,</div><div>cases like this discussion, getting it correct is important.  i.e. not strictly</div><div>symmetric (equal).</div><div><br></div><div>In the SOC world such things are further complicated by functional blocks</div><div>for I/O subsystems (devices).   Since the cores appear symmetric but</div><div>are not this is one key for the device driver author and user space</div><div>memory mapped devices and drivers.<br>Then there are the GFX cores.   On the Raspberry Pi the boot loader</div><div>uses GPU hardware.</div><div> <br><a href="http://raspberrypi.stackexchange.com/questions/7122/level-of-hackability-of-raspberry-pi">http://raspberrypi.stackexchange.com/questions/7122/level-of-hackability-of-raspberry-pi</a><br>"The most important thing you should know is that the RaspberryPi is a strange beast where </div><div>the ARM CPU is the not main CPU - it's only a co-processor to the VideoCore GPU."<br><br>And...<br><a href="http://raspberrypi.stackexchange.com/questions/10489/how-does-raspberry-pi-boot">http://raspberrypi.stackexchange.com/questions/10489/how-does-raspberry-pi-boot</a><br><br>The R-Pi is only one example of the chaos of ARM and the IOT.</div><div><br></div><div> </div><div><span class="gmail-HOEnZb"><br>
<br>
</span></div></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">  T o m    M i t c h e l l</div></div>
</div></div>