Difference between MIPS data and ARM datapaths

I just studied MIPS architecture in class. I am reading other instruction set architectures ( ARM currently) and found some differences between ARM and MIPS. Both have different instruction formats, register set, etc.

Is there any difference in ARM data path from MIPS? because the data path involves fetching, decoding, and executing an instruction, and it must be the same for all instruction set architectures.

I could not find information about the ARM data path from where I am reading this.

+3


source to share


2 answers


The MIPS you have learned is undoubtedly educational from the textbooks (Patterson and Hennessy). Real MIPS kernels as well as ARM kernels can / vary from kernel to kernel, you can have multiple armv7-m kernels that have different implementations regarding pipeline stages. Note. ARM and MIPS and RISC in general are not microcoded, do not allow x86 implementations affecting your understanding.

So there is no answer to that, and there is no answer to which datapaths MIPS processors use, which datapaths ARM processors use in relation to fetch, decode, execute, writeback, ...



Extract, decode, execute, ... CONCEPTS are used by all RISC processors or not, just how and when they change it, they can break these steps into smaller steps and implement them in a longer channel or make them parallel and have a wider pipe.

For MIPS, everything goes to MIPS and downloads their documentation. in order for the hand to come close to you, you want an architecture reference guide and a technical reference guide for the specific architecture family and the specific kernel you are interested in. They have a manual for a tutorial or a guide for new programmers, skip this or understand that these are two tutorials with holes in it. You can also get the amba / axi documentation to understand how buses work, you could create an arm with a different bus, but it is educational if you were learning traditional bi-directional addresses write strobe, read strobe, enable chip (which is still lives in the wishbone of the popular bus used in open cores and other places, a little more difficult,but much closer to the old school bus).

+4


source


Both are RISC (shorthand instruction set architecture).

According to D. Patterson and L. Henness

The main difference is that MIPS has more registers, while ARM has more addressing modes. There is a similar core of instruction sets for arithmetic logic and data transfer instructions for MIPS and ARM.

Unlike MIPS, ARM does not reserve a register containing 0

. Although MIPS only has three simple data addressing modes, ARM has nine.



Conditional branch

MIPS uses the contents of the registers to evaluate conditional branches. ARM uses the traditional four bits of condition code stored in the program status word: negative, zero, carry, and overflow. They can be set to any arithmetic or logical instruction; unlike previous architectures, this parameter is optional for every command. the explicit option leads to fewer problems in the pipelined implementation. ARM uses conditional branches to test condition codes to determine all possible unsigned and signed relationships. [Computer organization and design by D. Patterson and L. Hennessy]

I couldn't find the ARM data path information, where am I reading this from?

I recommend Computer Organization and Design by D. Patterson and L. Hennessey ARM.

+2


source







All Articles