假设数据通路中各主要功能单元的操作时间为:存储单元:200ps;ALU和加法器:100ps;寄存器堆读口或写口:50ps。程序中指令的组成比例为:取数25%、存数10%、ALU52%、分支11%、跳转2%。假设时钟周期取存储器存取时间的一半,MUX、控制单元、PC、扩展器和传输线路等的延迟都忽略不计,则下面的实现方式中,哪个更快?快多少?
(1)单周期方式:每条指令在一个固定长度的时钟周期内完成;
(2)多周期方式:每类指令时钟数:取数-7,存数-6,ALU-5,分支-4,跳转-4;
(3)流水线方式:取指1、取指2、取数/译码、执行、存取1、存取2、写回7段流水线;没有结构冒险;数据冒险采用“转发”技术处理;load指令与后续各指令之间存在依赖关系的概率分别1/2、1/4、1/8、…;分支延迟损失时间片为2,预测准确率为75%;不考虑异常、中断和访问失效引起的流水线冒险。