RE: How to obtain 1.5 DMIPS/MHz ?
Since the first post I've been following this thread as I think it's a very interesting one.
I'd like to add my "hypothesis" to this matter:
* As noted before, DMIPS/Mhz rating is independent of processor clock speed.
* So the rating DMIPS/Mhz depends mostly on processor capability to execute intructions as a "per clock cycle" basis.
* In this case, it would be reasonable to assume that if the processor is capable of executing all instructions in exactly 1 clock cycle, in every case, then it would have a
1 DMIPS/Mhz rating.
* So we could assume that "higher then one" DMIPS/Mhz must be related to more than one instruction being executed in each clock cycle (Parallel processing or Superscalar processors).
* Considering all the above, I would conclude that in the specific case of Microchip's PIC32MX processor, 1.52 DMIPS/Mhz, MUST be related to the independent MULTIPLY/DIVIDE unit, because multiplication/division instructions are the only ones that can execute in parallel with other instructions.
i.e. : If someone makes an assembly program where the whole code should have the structure:
then in this case, and only in this case, would the PIC32MX execute intructions BACK-TO-BACK everytime, yielding a 2 DMIPS/Mhz rating.
* So 1.52 DMIPS/Mhz should be possible using the Multiply engine reasonably frequently in the program code.
Would the forum think this is a possible/reasonable interpretation ?
Jose Carlos F Rublescki
Porto Alegre - Brazil