Re: [理工] [計組] opcode問題
※ 引述《el2gue ()》之銘言:
: http://goo.gl/JKEZh
: 97成大資工
: 答案給的 j loop 搞不懂為什麼那26bits
: 是這個答案
剛剛回去翻講義 講錯的話煩請高手指正一下
//////
J格式印象中是可以跳到區塊(MIPS會把mmemory切16個block)內任何一個位置
因為J跳的範圍很廣32bit的欄位裝不下(因為OP+address會超過32bit)
所以為什麼講義上會寫說 去前面4個bit跟去尾巴2個bit
因為這6個bit對J格式沒有幫助
去前面4個bit是因為memory切割16(2^4)個block是固定的
再加上jump不管怎麼跳都不會跳出自己的block 所以前面4個bit可以捨棄(2^4)
10000 = 10011100010000
10004 = 10011100010100
10008 = 10011100011000
10012 = 10011100011100
///////
尾巴2個bit可以捨棄的原因在於 MIPS 規定存放資料都要對齊(alignment)<上冊P6>
因為是4的倍數在儲存資料 每次右邊的 2個bit都不會被使用到
0 = 0000 0000
4 = 0000 0100
8 = 0000 1000
12 = 0000 1100
10000 = 10011100010000
10004 = 10011100010100
10008 = 10011100011000
10012 = 10011100011100
因為這樣 所以右邊的2個bit才會被捨棄
這就是為什麼 J格式的address是26bit (去前面4bit + 去尾巴2bit 才裝的下J格式)
--
抱歉阿~柿子挑軟的吃
若有衍生其它的疑問不一定回答的出來
因為考完都忘了很多...冏
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.225.136.208
※ 編輯: aiweisen 來自: 125.225.136.208 (07/03 23:41)
推
07/04 08:13, , 1F
07/04 08:13, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):