olk <email@example.com> wrote:
I'm little bit confused how mip232 and mips64 are different:
- as it seams to me both have the same amount of registers (and same name) - what is the size of a register 32bit on mips32 and 64bit on mips64?
- what about the instruction-set: lw loads a word (I would use it for loading register context on mips32, what instruction should I use on mips64
Other platforms like Intel have differences between 32bit and 64bit platforms.
The main programmer-visible difference between MIPS32 and MIPS64
is that registers are 64 bits wide on MIPS64. Pointers can also be
64 bits. You can run MIPS32 code on a MIPS64, and it should behave
the same as it would on a MIPS32. You can't call MIPS32 code
directly from MIPS64 code, because the MIPS32 code will only save
the low half of each register.
There are new instructions for dealing with 64-bit operands -
for example loads/stores (ld, sd, etc.), shifts, and so on.
There are important differences in the ABI, since saved
registers or passed values can take twice as much stack space.
The privileged architecture is, of course, more different -
but even that is not hugely different. TLB entries are wider,
This is all well documented. You can download documentation
from the MTI web site.
-- Mike Sieweke
-- "Just a bit of harmless brain alteration, that's all..."
|Location:||Huddersfield, West Yorkshire, UK|
|Nodes:||8 (1 / 7)|