• AVR Freaks

Helpful ReplyHow to obtain 1.5 DMIPS/MHz ?

Page: < 12 Showing page 2 of 2
Author
edsyl
Junior Member
  • Total Posts : 96
  • Reward points : 0
  • Joined: 2006/09/13 12:02:10
  • Location: 0
  • Status: offline
RE: How to obtain 1.5 DMIPS/MHz ? 2008/08/26 06:00:20 (permalink)
0

ORIGINAL: pranjalchaubey

ORIGINAL: edsyl

The HIGHER the DMIPs number means that the ISA and core design are MORE capable of sustaining a higher throughput of instructions, thereby being more efficient.



PIC32 has most 1 machine cycle instructions....so it can go very close to 80MIPS, given there are no cache misses and other factors which can make the core wait. So, according to you, a higher DMIPS number is a measure of how sustainable is this 80MIPS (or 20MIPS, if the core is running at 20MHz where there are 0 flash wait states) throughput.....right???

Please read my post again.
The DMIPS number is a number that gives a relative indication of the ability of the core to execute instructions GIVEN that the test is run at the core's optimal memory settings.
If processor A running under its optimal settings yields a DMIPs number a, and processor B yields a number DMIPs b then if a is larger than b then that means UNDER OPTIMAL conditions core A is BETTER designed to keep the core more fully utilized and thereby have a better DMIPs number. It is a better execution engine.
It really has nothing to do with how fast the processor can run, because you always divide the end result of the benchmark by the processor frequency.

Hope this helps.


Truly great madness cannot be achieved without significant intelligence.
- Henrik Tikkanen
#21
pranjalchaubey
Junior Member
  • Total Posts : 112
  • Reward points : 0
  • Joined: 2008/08/24 02:09:58
  • Location: IIT Kanpur, India
  • Status: offline
RE: How to obtain 1.5 DMIPS/MHz ? 2008/08/26 07:09:01 (permalink)
0
It surely did help....Thanks!Smile
#22
PIC32explorer
Moderator
  • Total Posts : 54
  • Reward points : 0
  • Joined: 2008/03/07 11:38:31
  • Location: 0
  • Status: offline
RE: How to obtain 1.5 DMIPS/MHz ? 2008/08/28 04:27:46 (permalink)
0
It has been a while since my previous posting on this thread and I am a little hesitant to add more fuel to this fire...
But since this seems to be a very popular subject...
Many have already contributed to clarify substantially so I'd like to add only a couple more notes:
1-To correct my own previous statement, the PIC32MX FLASH memory is now spec'd for 30MHz operation without wait states (even at 80MHz you will need only two wait states in case of a cache miss).
2- As clearly explained in many previous posts, peak DMIPS does not necessarily coincide with peak DMIPS/MHz.
Max clock frequency does not necessarily imply max DMIPS either.
3- Interestingly though the PIC32 performance is so good that even at peak clock frequency (80MHz) you can still obtain a ratio >1. We actually measured 92DMIPS @80MHz! [8D]
4- Yes, you can obtain this number too... wink

Have fun experimenting
    Lucio
#23
rublesck
Starting Member
  • Total Posts : 39
  • Reward points : 0
  • Joined: 2003/12/16 08:09:43
  • Status: offline
RE: How to obtain 1.5 DMIPS/MHz ? 2008/09/25 19:23:05 (permalink)
0
Hi.

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:

...
Regular instruction
Multiplication
Regular instruction
Multiplication
...

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 ?


Sincerely,
Jose Carlos F Rublescki
Porto Alegre - Brazil
#24
pranjalchaubey
Junior Member
  • Total Posts : 112
  • Reward points : 0
  • Joined: 2008/08/24 02:09:58
  • Location: IIT Kanpur, India
  • Status: offline
RE: How to obtain 1.5 DMIPS/MHz ? 2008/09/26 00:04:30 (permalink) ☄ Helpfulby Alan.yu 2017/07/24 20:42:50
0
I guess yes.....only the mult/div instructions can be executed in parallel....or so it seems to usSmile
#25
Page: < 12 Showing page 2 of 2
Jump to:
© 2019 APG vNext Commercial Version 4.5