1
votes

I am currently studying the MIPS processor. Since I don't have any previous knowledge in computer architecture, I am a little bit confusion about the some basic concepts of the MIPS ISA.

  1. When we talk about 32-bit vs 64-bit computing, what is the actual definition? Some people say it determines the word length while others say it determines the register length. As far as I know, MIPS32 has a 32-bit register while MIPS64 has a 64-bit register. However, they both handle 32-bit words and instructions, so is MIPS64 32-bit computing or 64-bit computing?

  2. MIPS32 can address up to 2^32 addresses in the memory. It is because the memory address length is 32 bits. How about MIPS64? What is the address length for the MIPS64 memory architecture? Is it 32 bits or 64 bits? I don't know whether there is a relationship between register length and the addressable memory space. If there is, I will be so thankful for any explanation.

Thanks!

1
"It is because the memory address length is 32 bits." The MIPS load/store-instructions use register-indirect addressing (i.e. the address is given in a register), and the registers on MIPS32 are 32-bit.Michael

1 Answers

2
votes

so is MIPS64 32-bit computing or 64-bit computing?

  1. MIPS64 is 64bit computing. The register sizes are 64bits wide. The native CPU word computing is 64 bit. Both Mips64 and Mips32 still use 32bit instruction encoding. This is only for the list of instructions.

What is the address length for the MIPS64 memory architecture?

  1. MIPS64 address length is 64bits.

    I don't know whether there is a relationship between register length and the addressable memory space.

    Yes, there is a relationship, because memory accesses are indexed/offset through word pointer values in registers. As in 0($2), 8($2) etc. IN Mips32, the registers are 32bits, therefore the memory space is 32bit. In MIPS64, the registers are 64bits. The address space is much much larger. It is impractical to use full 64bit address space, therefore their are conventions to use various zones, and other attempts to keep the the 64 bit Program Memory map, very similar to 32 bit map, but just a bit larger ;-)

Paxym