Looking at the webpage for the CDC version, I noticed the comment about SB0 B0 
vs. NO and the "lore" about the divide unit.  That issue is reported in 
Thornton's book.  It wouldn't surprise me if it were a real issue on the 
"preproduction serial number 3" system where that code was first created.  

It clearly was fixed soon after, though.  In the 6600 block diagrams manual 
where the flow of the execution machinery is documented in detail, it's quite 
clear that NO does not do any functional unit reservations (but SB0 does).  So 
at least starting with serial number 8, and possibly on earlier machines after 
suitable FCOs were applied, NO is indeed the preferred pass instruction.  On 
the other hand, 30 bit pass has by convention been done with SB0 B0+0, 
suggesting it's faster to do that than to do two NO instructions.  I guess 
that's right in the absence of increment unit conflicts: 3 minor cycles for the 
SB0 vs. 4 for the pair of NO instructions.

        paul

Reply via email to