单周期MIPS CPU中LW指令的数据通路如图所示:
根据(PC)从IR中取出对应的指令,从寄存器堆中取出对应的操作数,而指令中的立即数经过位数扩展送到ALU地B端,和从源寄存器中取出的操作数进行运算,结果送到数据存储器,取出对应地址的数据再写入到对应的目标寄存器中。
在这个过程中会经历触发器延迟Tclk-to-q,访存延迟Tmem,寄存器读延迟Tregfile-read,运算延迟Talu,多路选择器延迟Tmux,保持时间Tsetup。
在单周期MIPS CPU中,指令周期取决于最慢的指令,那么如何可以缩短指令周期了。
多周期MIPS数据通路相较于单周期MIPS而言,不区分指令和数据存储器,用一个存储器取而代之,同时增加了IR、DR两个寄存器分别对存储器的输出进行锁存。
寄存器堆和ALU也分别ie设置了A、B、ALUout寄存器锁存数据。
这样的设计,将整个数据通路分成了各个较短的执行单一功能的数据通路,延迟变小,周期变短。
从左到右的三个圆形部分分别为取指通路、取操作数通路、运算通路。