[理工] 計組 Loop unrolling

作者: king8313   2017-08-10 16:04:29
想請問一下在張凡計組上冊的p.502
http://i.imgur.com/0idCMIJ.jpg
http://i.imgur.com/aMOzO1h.jpg
在loop展開後再進行排程
會使記憶體位址的offset要做調整
但假設$s1=16
則loop展開的lw存取的前四項位址是32.28.24.16
但是排程改offset後的前四項lw存取位址變成16.12.8.4
請問這樣排程不是一開始的存取位置就跟展開的loop不一樣嗎?
作者: shownlin (哈哈阿喔)   2017-08-10 18:22:00
雖然不太清楚你問的意思不過我猜猜看你想問兩段code給的S1一樣為何存取的位置不一樣。如果是這樣很正常…跟迴圈loop control的位置有關,所以要存相同位置的話這兩段s1的initial value本來就不一樣
作者: king8313   2017-08-10 19:09:00
我要表達的意思是這樣沒錯 哈哈所以意思是offset是多少都沒關係 只要是這樣依序取出就好了嗎
作者: shownlin (哈哈阿喔)   2017-08-10 19:47:00
只要你能讓兩段code的mechanism一樣就可以了,不過張凡說這種題目他只會改index,所以3跟4的倍數背起來就好 。
作者: king8313   2017-08-11 10:04:00
我知道了~謝謝!!

Links booklink

Contact Us: admin [ a t ] ucptt.com