I know x86 Assembly (and have worked with FPGA etc’) , Never wrote for a RISC, I have the opportunity to take a course in MIPS, but I’m busy as it is, so my question is, I know that every thing I learn is beneficial in some way, but really, how much beneficial? (I am a low level enthusiastic, but is this a must?)
(I’m aware of mips-is-it-important, but I feel that my case is slightly different as I already know some kind of Assembly)
Thanks.
One interesting thing about MIPS is that you have to manage the Translation Lookaside Buffer (TLB) manually. You don’t have to do that with x86 (or most other ISAs that I’ve programmed). In that way it is RISCier than the other RISC CPUs. A lot of networking and storage gear has embedded MIPS cpus. A start-up I worked at in the early part of this decade did a 16 core MIPS CPU with encryption accelerators (as two of the coprocessors). That design was bought by Juniper Networks and is used in their adaptive services PIC in their routers.
So, as others have said MIPS is a pretty good example of a RISC ISA, and it is still getting plenty of design wins. I think it is useful to learn.
I found the first edition of the following book to be a good way to learn it:
http://www.amazon.com/Second-Morgan-Kaufmann-Computer-Architecture/dp/0120884216/ref=sr_1_1?ie=UTF8&s=books&qid=1237328559&sr=1-1