[理工] 计组 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