以下程序段是某個(gè)過程對(duì)應(yīng)的MIPS指令序列,其功能為復(fù)制一個(gè)存儲(chǔ)塊數(shù)據(jù)到另一個(gè)存儲(chǔ)塊中,存儲(chǔ)塊中每個(gè)數(shù)據(jù)的類型為float,源數(shù)據(jù)塊和目的數(shù)據(jù)塊的首地址分別存放在$a0和$a1中,復(fù)制的數(shù)據(jù)個(gè)數(shù)存放在$v0中,作為返回參數(shù)返回給調(diào)用過程。在復(fù)制過程中遇到0則停止,最后一個(gè)0也需要復(fù)制,但不被計(jì)數(shù)。已知程序段中有多個(gè)Bug,請(qǐng)找出它們并修改。
下列指令序列用來對(duì)兩個(gè)數(shù)組進(jìn)行處理,并產(chǎn)生結(jié)果存放在$v0中。假定每個(gè)數(shù)組有2500個(gè)字,其數(shù)組下標(biāo)為0到2499。兩個(gè)數(shù)組的基地址分別存放在$a0和$a1中,數(shù)組長度分別存放在$a2和$a3中。要求為以下MIPS指令序列加注釋,并簡單說明該過程的功能。假定該指令序列運(yùn)行在一個(gè)時(shí)鐘頻率為2GHz的處理器上,add、addi和sll指令的CPI為1;lw和bne指令的CPI為2,則最壞情況下運(yùn)行所需時(shí)間是多少秒?