Superscalar machines fetch multiple scalar instructions per cycle from the instruction cache. However, machines that fetch no more than one instruction per cycle fromthe instruction cache, such as Dynamically Trace Scheduled VLIW (DTSVLIW) machines, have shown performance comparable to that of Superscalars. In this paper we present experiments which show that fetching a single instruction from the instruction cache per cycle allows the same performance achieved fetching multiple instructions per cycle thanks to the execution locality present in programs. We alsopresent the first direct comparison between the Superscalars, Trace Cache and DTSVLIW architectures. Our results show that a DTSVLIW machine capable of executing up to 16 instructions per cycle can perform 21.9% better than aSuperscalar and 6.6% better than a Trace Cache with equivalent hardware. In the comparison between a DTSVLIW machine and an Alpha 21264 machine, we have shown that the DTSVLIW can perform 24,17% better than Alpha using integer programs, and 60,36% better than Alpha using floating point programs.
展开▼