我正在学习“管道数据路径”课程,我发现这三个术语“符号扩展偏移,分支地址,零信号”关于管线寄存器ID / EX和ID / MEM但我不知道关于这三个。任何人都可以简单地解释这三个术语。很难从网上得到简单的想法,因为我只是一个初学者。
谢谢!
答案 0 :(得分:2)
它们都与I型MIPS分支指令有关,它将一个或两个寄存器和分支的值进行比较,如果它们不相等的话。
MIPS PC长32位,但分支指令只有16位相对地址。需要将这两个加在一起以计算分支情况下的新PC值。为此,16位地址扩展为32位(符号扩展+移位到左侧2位)。
这是符号扩展偏移量,然后将其添加到当前PC以获取目标地址(分支地址)。
分支条件由ALU单元检查,如果需要,它将断言零信号。 然后,来自控制单元的分支信号对该零信号进行门控,并且这两个信号控制选择将被写入PC的新值的多路复用器。
如果零信号为1且当前指令是分支指令,那么PC将加载计算出的分支地址,否则PC +4。