看板 Grad-ProbAsk 關於我們 聯絡資訊
https://i.imgur.com/yfPB5rA.jpg
https://i.imgur.com/V6BQQL0.jpg
我認為排程前後的執行結果應該是不一樣的 如我第一張圖畫的 Memory 示意圖(上面增加、下面減少) 排程前應該會動到s1上面的記憶體區塊 但是排程後 他確實先往下再回算上面的記憶體區塊 這樣兩者應該會錯開一個區塊(排程前會多上面4個、排程後會多下面4個) 不知道哪邊有想錯,還是真的就是不一樣 ----- Sent from JPTT on my iPhone -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.247.35.73 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1597113220.A.58D.html
Alex548291: 那個0應該是綁在一起 沒減到16 08/11 17:18
Alex548291: 補充完整一點好了 08/11 17:29
Alex548291: 他是只跑4次迴圈 08/11 17:29
Alex548291: 因此迴圈跑完s1會變s1-16 08/11 17:29
Alex548291: 其中t0存在0(s1) 08/11 17:29
Alex548291: 展開後排程 08/11 17:29
Alex548291: 他把s1-16往前拉 08/11 17:29
Alex548291: 所以後面要加回來(表格clock cycle 5) 08/11 17:29
Alex548291: 才能讓t0存到0(s1) 08/11 17:29
Alex548291: 不知道這樣你可以理解嗎? 08/11 17:29
Alex548291: 講得更直白一點就是 08/11 17:32
Alex548291: 展開後的s1就變s1-16了 08/11 17:32
Alex548291: 因為題目就說這迴圈就跑4次而已 08/11 17:32
NTUmaki: 我看不太懂, 我的意思是 你看我畫的圖 按照排程前的code 08/11 19:17
NTUmaki: 他應該是對S1+16、S1+12....那邊做運算 ;但是排程後變 08/11 19:17
NTUmaki: 成圖中S1所指的那塊開始往下數四格 08/11 19:17
NTUmaki: 他排程 第一個lw抓到的起始位置還是S1 之後三個抓到S1-16 08/11 19:18
NTUmaki: 然後你看我畫的圖 他排程前後 第一個迴圈操作的記憶體就 08/11 19:18
NTUmaki: 不同了 08/11 19:18
NTUmaki: 講簡短一點 我看起來排程前的code是對上面圈起來的地方做 08/11 19:19
NTUmaki: 運算;排程後是對下面圈起來的 這樣他們即使跑了4次迴圈 08/11 19:19
NTUmaki: 最後還是會錯開一塊 08/11 19:19
Alex548291: 我懂你的意思 08/11 19:21
Alex548291: 我是覺得他印錯了 08/11 19:21
Alex548291: 應該把s1-16那個指令往上寫 08/11 19:21
Alex548291: 但老師應該是要表達他等等會把s1-16拉上來 08/11 19:21
Alex548291: 反正你把他s1當s1-16去理解就沒問題了 08/11 19:22
NTUmaki: Ok 感謝 08/11 19:23
Alex548291: 排程前的code你要不要補一下 08/11 19:24
Alex548291: 看上面展開的code應該是往下存欸 08/11 19:24
Alex548291: 展開前是往上存嗎? 08/11 19:24
Alex548291: 喔喔 沒事我懂了 加油 08/11 19:24
ti51120: 這兩段的s1不會是一樣的初始值,但執行結果是一樣的 08/13 04:36
嗯嗯嗯 如果是這樣的話就合理 ※ 編輯: NTUmaki (110.26.43.209 臺灣), 08/13/2020 09:22:29