home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.arch      Apparently more than just beeps & boops      131,241 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 130,583 of 131,241   
   Robert Finch to Thomas Koenig   
   Re: Variable-length instructions   
   20 Dec 25 08:47:44   
   
   From: robfi680@gmail.com   
      
   On 2025-12-20 5:47 a.m., Thomas Koenig wrote:   
   > Robert Finch  schrieb:   
   >   
   >> Could the average instruction size be an argument for the use of wider   
   >> (40-bits) instructions? One would think that the instruction should be a   
   >> bit wider than average. Bin trying to shrink Qupls4 instructions down to   
   >> 40-bits for Qupls5. The odd size is not that great an issue if variable   
   >> lengths are supported.   
   >   
   > Can you show a few examples of what these wide instructions are used   
   > for?  Seems like a lot of bits to me...   
      
     The average instruction size being about 35 bits most likely comes   
   from including immediate constant bits. 32-bits works for most things,   
   if one is willing to increase the dynamic instruction count.   
     But extra bits can be used for selecting small immediates, vector   
   register selection.   
      
     7 opcode   
     6 dest reg + sign control   
     6 src1 reg + sign control   
     6 src2 reg + sign control   
     7 func code   
     -------   
     32   
      
     Qupls4 has the addional bits for   
     6 src3 reg + sign control   
     4 vector register select   
     3 small immediate select   
     3 second ALU op   
   ---   
   16   
      
     For immediates Qupls4 has   
      
      7 opcode   
      6 dst reg   
      6 src1 reg   
      2 precision control   
     27 bit immediate constant   
      
   Having three source registers allows: fused multiply add, bit field ops,   
   three input adds, multiplex, and a few others. There are some   
   instructions with four source register (fused dot product) or two   
   destinations (carry outputs / fp status).   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca