From: gneuner2@comcast.net   
      
   On Tue, 16 Sep 2025 00:03:51 -0000 (UTC), John Savard   
    wrote:   
      
   >On Mon, 15 Sep 2025 23:54:12 +0000, John Savard wrote:   
   >   
   >> Although it's called "inverse hyperthreading", this technique could be   
   >> combined with SMT - put the chunks into different threads on the same   
   >> core, rather than on different cores, and then one wouldn't need to add   
   >> extra connections between cores to make it work.   
   >   
   >On further reflection, this may be equivalent to re-inventing out-of-order   
   >execution.   
   >   
   >John Savard   
      
   Sounds more like dynamic micro-threading.   
      
   Over the years I've seen a handful of papers about compile time   
   micro-threading: that is the compiler itself identifies separable   
   dependency chains in serial code and rewrites them into deliberate   
   threaded code to be executed simultaneously.   
      
   It is not easy to do under the best of circumstances and I've never   
   seen anything about doing it dynamically at run time.   
      
   To make a thread worth rehosting to another core, it would need to be   
   (at least) many 10s of instructions in length. To figure this out   
   dynamically at run time, it seems like you'd need the decode window to   
   be 1000s of instructions and a LOT of "figure-it-out" circuitry.   
      
      
   MMV, but to me it doesn't seem worth the effort.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|