<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Jan 4, 2018 at 2:23 PM, Henry Baker <span dir="ltr"><<a href="mailto:hbaker1@pipeline.com" target="_blank">hbaker1@pipeline.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-">At 01:32 PM 1/4/2018, <a href="mailto:jamesd@echeque.com">jamesd@echeque.com</a> wrote:<br>
>The fix is not to abandon speculative execution, but to do it right, and chances are that doing it right is going to be faster and more efficient, not slower and less efficient.<br>
<br>
</span>OK, I'll bite.<br>
<br>
How would you do speculative execution "right" ?<br>
<div class="gmail-HOEnZb"><div class="gmail-h5"></div></div></blockquote><div> </div><div><br></div><div><br></div><div><span style="color:rgb(80,0,80)">One  is to make sure we know which of the multitude of problems </span></div><div><span style="color:rgb(80,0,80)">is being discussed.<br><br></span><div>Two is to have more (or less) registers to speculate into.  Speculation </div><div>depths of 200+ instructions touches at a lot of stuff and has</div><div>a lot of results that may need to be canceled and unwound. </div><span style="color:rgb(80,0,80)"><br>In this mailing list the one that is going to be interesting next month is the side channel that allows </span></div><div><font color="#500050">processes at different mandatory security levels inside a machine to communicate </font></div><div><font color="#500050">at bit rates much faster than 1 bps.   This one may well lurk behind door #2 for security experts </font></div><div><font color="#500050">long after the </font><span style="color:rgb(80,0,80)">big nasty bug that makes soggy pudding of cloud computing gets addressed.  </span></div><div><br></div><div>To do speculative execution "right" is complex and hard.  It solves some memory and<br></div><div>latency problems so one solution is to remove the need with better memory and I/O.<br><br></div><div>Registers... some will recall the Z80 with two sets of registers. Something like that</div><div>might be applied in hardware but then the architecture and perhaps the ISA changes</div><div>would break way too much stuff.   </div><div><br></div><div>No easy answer.   Time to dust off my system and computer architecture library.<br>The old books may have clues that the modern "kids" no longer see behind<br>a logic block by another team.<br><br>Most system bugs I got involved in over the years were at team boundarys </div><div>both hardware and software.  i.e. organizational and management.</div><div><font color="#500050"><br><br></font></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>