[理工] 计组 多重管线循环展开

楼主: NTUmaki (西木野真姬)   2020-08-11 10:33:38
https://i.imgur.com/yfPB5rA.jpg
https://i.imgur.com/V6BQQL0.jpg
我认为排程前后的执行结果应该是不一样的
如我第一张图画的 Memory 示意图(上面增加、下面减少)
排程前应该会动到s1上面的内存区块
但是排程后 他确实先往下再回算上面的内存区块
这样两者应该会错开一个区块(排程前会多上面4个、排程后会多下面4个)
不知道哪边有想错,还是真的就是不一样
作者: Alex548291 (ARS·L)   2020-08-11 17:18:00
那个0应该是绑在一起 没减到16补充完整一点好了他是只跑4次循环因此循环跑完s1会变s1-16其中t0存在0(s1)展开后排程他把s1-16往前拉所以后面要加回来(表格clock cycle 5)才能让t0存到0(s1)不知道这样你可以理解吗?讲得更直白一点就是展开后的s1就变s1-16了因为题目就说这循环就跑4次而已
楼主: NTUmaki (西木野真姬)   2020-08-11 19:17:00
我看不太懂, 我的意思是 你看我画的图 按照排程前的code他应该是对S1+16、S1+12....那边做运算 ;但是排程后变成图中S1所指的那块开始往下数四格他排程 第一个lw抓到的起始位置还是S1 之后三个抓到S1-16然后你看我画的图 他排程前后 第一个循环操作的内存就不同了讲简短一点 我看起来排程前的code是对上面圈起来的地方做运算;排程后是对下面圈起来的 这样他们即使跑了4次循环最后还是会错开一块
作者: Alex548291 (ARS·L)   2020-08-11 19:21:00
我懂你的意思我是觉得他印错了应该把s1-16那个指令往上写但老师应该是要表达他等等会把s1-16拉上来反正你把他s1当s1-16去理解就没问题了
楼主: NTUmaki (西木野真姬)   2020-08-11 19:23:00
Ok 感谢
作者: Alex548291 (ARS·L)   2020-08-11 19:24:00
排程前的code你要不要补一下看上面展开的code应该是往下存欸展开前是往上存吗?喔喔 没事我懂了 加油
作者: ti51120 (猪太郎)   2020-08-13 04:36:00
这两段的s1不会是一样的初始值,但执行结果是一样的

Links booklink

Contact Us: admin [ a t ] ucptt.com