看板 Grad-ProbAsk 關於我們 聯絡資訊
抱歉,我現在手機沒電所以無法拍題目,等等補上orz 想請問一下104台大資工硬體第一大題的答案大大們怎麼回答,查了好久都沒什麼結果QQ 1.有沒有什麼ISA是沒有register的? 2.若ISA裡有超級大量的register(題目給1024個),是好還是壞? -->我個人覺得可能在power上會有瓶頸? 3.把general purpose register分為caller-save和callee-save,對什麼procedure是有 利的? 4.為什麼現在要將register分這麼多種類(浮點數、一般、向量暫存器),若全都由一般 暫存器取代會比較好嗎? 還望大大們一起討論了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.230.122.112 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1484490136.A.D5F.html
HEroKuma: 2我會寫壞, register越多Inst越長 解碼越麻煩01/16 00:06
HEroKuma: 4.如果都用一般的int reg,在做非int的資料型態處理時01/16 00:23
HEroKuma: 要另外處理或組合reg,多花些cycle或增加指令即reg個數01/16 00:24
HEroKuma: 3.caller saved顧名思義就是呼叫人之前, 由caller把資料 01/16 00:27
HEroKuma: push到stack, callee可以直接用, 不用另外存取01/16 00:28
HEroKuma: callee saved是在使用前先push, 用完後pop回來覆蓋01/16 00:29
HEroKuma: 對caller來說,callee saved reg的值在call的前後是一致01/16 00:30
HEroKuma: 所以如果要對同一個func call 10000次, caller>>callee01/16 00:32
HEroKuma: 如果func要接受不定長度參數, callee>>caller01/16 00:33
HEroKuma: 都沒有其他人要回嗎..... 我4覺得講得沒有很好一直在等01/16 18:06
HEroKuma: 其他人來討論說 01/16 18:06
抱歉昨天一整天在實驗室,沒有再查一下資料就不太敢回:P 我反而覺得你說的2怪怪的...,Register數量跟Register位元數是不一樣的吧?感覺你是 在指位元數的擴增?
ken52011219: XD 1. stack01/16 18:08
ken52011219: 2. 有好有壞,因此如何平衡需要考驗製作方01/16 18:09
ken52011219: 3. 我記得這題是問 Caller 還是callee 對於function01/16 18:11
ken52011219: 哪個比較好 ,我選擇callee 因為不需要長時間keep 01/16 18:11
ken52011219: 4. NO, 這樣需要額外處理與辨識該格式是甚麼01/16 18:13
ken52011219: 我只是簡略回答,這大題大概寫滿滿QQ..01/16 18:14
ken52011219: 只不過我記得這計組部分有詳解呀@@ 104各校計組解答01/16 18:14
4的辨識格式是?我其實不太了解不一樣的register內部運作方式是差在哪? 想是向量register,是一個暫存器就可以同時進行多data同指令運算嗎?還是是專注於 處理向量運算類的指令所以可以簡化以提升特定指令的執行效率? ※ 編輯: ssssIssss (140.112.25.99), 01/17/2017 10:00:20
HEroKuma: 你有1024個register, 就要用10bit去編號, inst就會長 01/17 15:16
!!!懂H大意思了,那我覺得這個解釋說服我了XD ※ 編輯: ssssIssss (140.112.25.105), 01/17/2017 20:03:38 突然想到,這樣應該還是不會變長吧?為了要保持instruction的一致性? 就像是上課也有提到,instruction數量很多的話,op bit也不會變長,因為要保持長度 一致? ※ 編輯: ssssIssss (140.112.25.105), 01/19/2017 21:26:02
k2shouai: 不同的指令都要用同樣的register,不變長你要怎麼處理呢 01/21 00:06
k2shouai: ? 01/21 00:06