From: sfuld@alumni.cmu.edu.invalid   
      
   On 12/28/2025 8:22 AM, John Savard wrote:   
   > On Mon, 22 Dec 2025 20:00:06 +0000, Waldek Hebisch wrote:   
   >> John Savard wrote:   
   >>> On Thu, 18 Dec 2025 22:25:08 +0000, Anton Ertl wrote:   
   >>>   
   >>>> It is certainly possible to decode potential instructions at every   
   >>>> starting position in parallel, and later select the ones that actually   
   >>>> correspond to the end of the previous instruction,   
   >>>   
   >>> Oh, yes, I had always realized that, but dismissed it as far too   
   >>> wasteful.   
   >>   
   >> Well, Mitch claims average 35 bits per instructions, that means about   
   >> 90% utilization of decoders, so not bad.   
   >   
   > His minimum instruction size is 32 bits, but I was going for 16 bits.   
   >   
   >> Also, consider that alternative to variable length instructions is to   
   >> use longer instructions or more of them.   
   >   
   > What I did instead was use variable-length instructions, but add a prefix   
   > at the beginning of any 256-bit block of instructions that contained them   
   > which directly showed where each instruction began.   
   >   
   > My intent was to avoid the disadvantages you identify for fixed-length   
   > instructions, but avoid the disadvantage of variable-length instructions   
   > too.   
      
   I understand your goal, however . . .   
      
   How many bits do you "waste" on the prefix?   
      
   Since I think any branch must target the beginning of a block, and in   
   general, a routine will not end on a block boundary, there will be   
   "wasted" bits at the end of the last block before a "label". Have you   
   determined for a "typical" program, how many bits are wasted due to this?   
      
   The point I am making is that you will "cancel" at least some of the   
   savings of 16 bit instructions. You should take this into account   
   before committing to your plan.   
      
      
   --   
    - Stephen Fuld   
   (e-mail address disguised to prevent spam)   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|