[理工] [计组] CPU对内存位置编码

楼主: kyuudonut (善良老百姓)   2016-07-14 00:12:35
HI大家 我想讲的题目是张凡课本(上) P82 的第四题(2)
想先请问内存的位址是signed还是unsigned
以 32BIT MIPS来讲 内存从头到尾的编码:
(1) signed
可能是 ffffffffh ~ 00000000h ~ 7fffffffh
(2) unsigned
可能是 00000000h ~ ffffffffh
对CPU来说 都是数字 可能没什么
但是假如碰到branch
branch有16bit可以跳动的范围: -20000h ~ 1fffch
假如base是 0000000h
branch的跳动范围就会变成 fffe0000h ~ 0001fffch
作者: A4P8T6X9 (残废的名侦探)   2016-07-14 23:06:00
unsigned 的,跳到另外一边不合理。
作者: k2shouai (coding....)   2016-07-15 10:54:00
他上课是改yes没错,张凡上课是说可以把内存想成是一个圆(头尾相连)。 jump指令才有256mb的区块限制。
楼主: kyuudonut (善良老百姓)   2016-07-19 23:11:00
那边已经不是code sec,CPU会挡下来
作者: k2shouai (coding....)   2016-07-19 23:12:00
哪一段吧. 这题目出的本来就怪怪的 PC也不太可能在0吧你怎能预期那边不是code sec, 就不同程式了
楼主: kyuudonut (善良老百姓)   2016-07-19 23:19:00
然后感谢纠正XD 有可能是别的code sec
作者: k2shouai (coding....)   2016-07-19 23:27:00
base & limit register->MIPS哪来这二个?
作者: ken52011219 (呱)   2016-07-21 14:37:00
后期很常遇到这种张凡和考试答案给的不一样的题目这时侯 分数就在一念之间告诉你该怎么做 你就想着张凡的讲解 然后再想 三个字暂时的然后写上 学校给的正确答案 (拍拍至于这题,翻开第71页 BEQ为程式计数器相对寻址法 从这里其实就可以知道 它是signed了 不用想太多 instruction 里的常数加上pc的位址 第二题是yes没有太大的异议后面学过pipeline就可以更清楚了解beq在整个管线流程中 它的常数会在IF时经过加法器 +上pc再传回去" target="_blank" rel="nofollow">
更正是在ID时(Instruction decode)
作者: tomdog12345 (方)   2016-07-23 12:13:00
所以考试时这种有不同讲解答案的题目 还是要以学校为主吗 @@但是我是觉得张凡的答案也有一套道理的说
作者: ken52011219 (呱)   2016-07-23 12:57:00
见仁见智 只不过你确定题目一模一样 算出来又跟你印象中一样有争议 然后又刚好是同间学校考出来的这时 千万 不要跟这间教授出题过不去 XDD只不过张凡 这类有争议题目有讲到也会这样跟学生说只不过阿... 往年学校争议送分题 尤其是资工的不少相信自己 相信自己的答案就好
作者: tomdog12345 (方)   2016-07-24 10:04:00
好的 反正就是相信自己 剩下的听天由命XD 感谢

Links booklink

Contact Us: admin [ a t ] ucptt.com