Re: [理工] 104台大資工 計組
※ 引述《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
01/24 21:28, 1F
→
01/24 21:29, , 2F
01/24 21:29, 2F
推
01/25 10:05, , 3F
01/25 10:05, 3F
推
01/25 10:20, , 4F
01/25 10:20, 4F
→
01/25 10:20, , 5F
01/25 10:20, 5F
→
01/25 10:20, , 6F
01/25 10:20, 6F
→
01/25 10:21, , 7F
01/25 10:21, 7F
ee
→
01/25 10:21, , 8F
01/25 10:21, 8F
→
01/25 10:21, , 9F
01/25 10:21, 9F
→
01/25 10:22, , 10F
01/25 10:22, 10F
→
01/25 10:22, , 11F
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
討論串 (同標題文章)