4 ms·
In the SOAR all instructions could be tagged or not (the % bit selected this). They then tested the effectiveness of this (Patterson's "quantitative approach")
by jecel 2y ago
In the SOAR all instructions could be tagged or not (the % bit selected this). They then tested the effectiveness of this (Patterson's "quantitative approach") by changing their compiler to output non tagged versions of a given instruction with explicit software checking and then comparing the results of several benchmarks with the same code using the tagged instructions. It turned out that only the tagged ADD had a measurable result.
So when the SPARC was created it included a TADD instruction. It also had a TSUB for symmetry even though the SOAR guys showed it didn't really help. The tags were moved from the top bit on SOAR to the bottom two bits in SPARC. Unfortunately exception handling on 32 bit SPARCs was really slow so pure software alternatives actually performed better. This exception handling problem also made register windows far less interesting than they had been in the Berkeley designs (this was improved in SPARC v9).