Re: [理工] 104台大資工 計組

看板Grad-ProbAsk作者 (Transfat)時間7年前 (2017/01/24 15:50), 7年前編輯推噓4(408)
留言12則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《ssssIssss (O_O)》之銘言: : 抱歉,我現在手機沒電所以無法拍題目,等等補上orz : 想請問一下104台大資工硬體第一大題的答案大大們怎麼回答,查了好久都沒什麼結果QQ : 1.有沒有什麼ISA是沒有register的? : 2.若ISA裡有超級大量的register(題目給1024個),是好還是壞? : -->我個人覺得可能在power上會有瓶頸? : 3.把general purpose register分為caller-save和callee-save,對什麼procedure是有 : 利的? : 4.為什麼現在要將register分這麼多種類(浮點數、一般、向量暫存器),若全都由一般 : 暫存器取代會比較好嗎? : 還望大大們一起討論了 關於這篇, 下面HE大說如果要對一個function call 10000次,caller>>callee 因為對 caller而言,callee saved register是不變的。我可以接受calle saved register 不變 ,但是為什麼這樣就用caller比較好呢? 我看到一篇,http://redbug0314.blogspot.tw/2007/06/calling-convention.html 他說:由於 c convention 規定 stack frame 的清理由呼叫端(caller)負責,因此對 同一個函式呼叫一千次,其 stack frame cleanup routine需 1000 份(位於呼叫點,由 編譯器加入)。而用pascal convention,一個function被called一千次如果由callee去 負責的話只要一份stack frame cleanup rountine,這樣不是指多次call function的時候 使用callee saved register 會比較好嗎? 對calling convention實在是很不了解 來請教一下 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.25.105 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1485244239.A.9D9.html

01/24 21:28, , 1F
前面的敘述跟後面的結論好像打到自己臉惹XDD
01/24 21:28, 1F

01/24 21:29, , 2F
應該是callee好 可以讓caller的負擔比較輕
01/24 21:29, 2F

01/25 10:05, , 3F
完了,覺得讀越久腦袋越差QQ
01/25 10:05, 3F

01/25 10:20, , 4F
我理解是,c convention是使用caller-save register,
01/25 10:20, 4F

01/25 10:20, , 5F
規定由caller負責,而這樣會使stack frame cleanup rou
01/25 10:20, 5F

01/25 10:20, , 6F
tine很大的負擔
01/25 10:20, 6F

01/25 10:21, , 7F
而使用pascal calling convention,就是使用caller-sav
01/25 10:21, 7F
ee

01/25 10:21, , 8F
e register,因為是由callee負責,所以若大量呼叫stack
01/25 10:21, 8F

01/25 10:21, , 9F
frame cleanup routine也只需要一份
01/25 10:21, 9F

01/25 10:22, , 10F
所以總結來說是callee比較好?
01/25 10:22, 10F

01/25 10:22, , 11F
(完全沒有概念,這樣理解不知道是否正確orz)
01/25 10:22, 11F
總地來說,多次呼叫function我覺得用callee-saved 較好 ※ 編輯: Transfat (140.112.25.105), 01/25/2017 11:21:19 ※ 編輯: Transfat (140.112.25.105), 01/25/2017 11:21:46 ※ 編輯: Transfat (140.112.25.105), 01/25/2017 11:22:18 ※ 編輯: Transfat (140.112.25.105), 01/25/2017 11:23:00

01/25 11:58, , 12F
讚讚
01/25 11:58, 12F
文章代碼(AID): #1OXmTFdP (Grad-ProbAsk)
文章代碼(AID): #1OXmTFdP (Grad-ProbAsk)