[理工] [计组]

楼主: David178 (David)   2014-12-20 16:57:58
Branch的跳跃距离为什么是-2^15~(2^15)-1字组?
格式字段是16bit,两个单位不同?
请各位高手讲解一下观念
感谢
http://i.imgur.com/RWpfU5z.jpg
作者: happy8155 (Chickey)   2014-12-20 17:08:00
跳的单位是字组 可是能跳的范围是看格式bit数16 bits 最多能表示的数字范围就是-2^15~(2^15)-1
楼主: David178 (David)   2014-12-20 17:26:00
感谢你的解答^_^那为什么这个表格的bne的16bit字段是填指令数?http://i.imgur.com/FKOwxKC.jpg
作者: galapous (墨)   2014-12-20 20:48:00
因为硬件会把他向左移2bit,原本1->8bit 左移后变成32bit刚好是一个指令的长度看课本是张凡的,他上课有讲实际上可表示-2^17~(2^17)-1bytes,跟jump指令道理差不多bne指令会把program counter值+上那(16bit值<<2),又program counter值是下道指令起始位置所以算的时候要从下到指令开始数
作者: maque (Roadside)   2014-12-20 22:51:00
本身MIPS指令format关系,所以一开始op 6个bit两个reg 共10个bit,剩下16个bit来表示要跳的距离因为MIPS是algined,所以每次都是连续4个bytes
作者: galapous (墨)   2014-12-21 11:29:00
*align

Links booklink

Contact Us: admin [ a t ] ucptt.com