??? 05/08/09 18:02 Read: times |
#165173 - You missed the "at the same frequency" part Responding to: ???'s previous message |
It seems like the problem has finally surfaced.
Richard said:
Now, Per, what part of the clear claim, "Dhrystone 2.1 benchmark program runs exactly 8.1 times faster than the original 80C51 at the same frequency," is unclear? Most probably the "at the same frequency" part. Don't write your next answer before you have spent a bit of time reading what follows. Let's say that you are correct. Let's say that a 1-clocker is always exactly 12 times faster than a 12-clocker, when both are run with the same crystal frequency. That means that a 25MHz 1-clocker can do 25 MIPS, while a 12 MHz 12-clocker can do 1 MIPS. The manufactuer in this case claimed that the ASIC solution was 8.1 times faster than a 12-clocker when both the ASIC and the 12-clocker had the same clock frequency. Are you still with me? In short: A 12MHz 12-clocker does 1 MIPS A 12MHz 1-cloker does 12 MIIPS A 12MHz ASIC that is 8.1 times faster than a 12-clocker at the same clock frequency does 8.1 MIPS But then step to 25MHz. A 25MHz 12-clocker does 2.08 MIPS. A 25MHz 1-clocker does 25 MIPS. A 25MHz ASIC that is 8.1 times faster than a 12-clocker at the same clock frequency does 16.9 MIPS. Let's continue with the ASIC. A 130MHz ASIC that is 8.1 times faster than a 12-clocker at the same clock frequency (i.e. being a 1.48-clocker) does 87.75 MIPS - way faster than your "any 25MHz one-clocker". Richard said:
In fact, any one-clocker at 25 MHz is as fast as that one at 300 MHz, at first glance. A 12-clocker would need to run at 300 MHz, to manage 25 MIPS. But the DT8051 is not (!) a 12-clocker (or it wouldn't have been 8.1 times faster than the original 12-clocker). It is most probably a one-cloker, which means that it would do NOP instructions 12 times faster than a 12-clocker, and at the same speed as your "any one-clocker". If you find hardware to run the soft-core at 300MHz without the need to add extra waitstates, then it would do 202.5 MIPS - way more than any 25MHz 8051 processors ever released - your 25MHz processors would need to do 8 instructions/clock cycle to keep up. The problem here, is that you made the assumption that the maximum possible speed of the soft-core was 8.1 times faster than a 12 MHz 12-clocker. But the manufacturers claim was specifically "8.1 times faster than standard 80C51 at the same frequency". The speed of the DT8051 will not stay still, but will climb with increased clock frequency. The uneven figure 8.1 on the other hand is the result of running a benchmark containing a mix of instructions, where not all instructions is exactly 12 times faster than the 12-clocker. Some takes one clock. Some takes two clocks. Some may take even more clocks. This can so clearly be seen if you view Jan Waclaweks excellent link: http://www.efton.sk/51comp/51comp.htm If 50% of the instructions takes one clock, and 50% takes two clocks, then you get a processor averaging 1.5 clocks/instruction, which is a processor that is about 8x faster than the original 8051. This sounds like a very good fit for the manufacturers claims regarding the DT8051. So the end result is: Select any 25 MHz one-clocker you can find on the market. Run it against the DT8051 at 25 MHz, and you would need to read the fine print to figure out which one will be faster. And which one is faster may depend a lot on the mix of instructions. Pump up the clock frequency of the DT8051, and your 25 MHz one-clockers would need to be super-scalar, i.e. doing more than one instruction / clock cycle, to keep up. Do you now see the problem with your final claim? What is important to notice on the other hand, is that even if a DT8051 can manage a quite impressive MIPS count, it may not be the most cost-effective way to get a fast microcontroller. Because of cost, it might be better to jump to a different architecture and select a fast ARM9 or ARM11 or any of the Freescale MPC processors instead. Of course unless the free gates in a FPGA can allow you to solve a problem a standard microcontroller can't do. There are times when "solving a problem" is more important than "finding the cheapest solution". So in the end: Richard said:
What I pointed out, I thought, was that the mfg's claims don't match their own claims. I don't know why you think you should add even more unsubstantiated claims. I have no interest in adding any unsubstantiated claims. Just trying to stop one that seems to have been caused by a reading error. Didn't you stop to think about why the claims didn't seem to add up - that maybe the claims did add up but you missed an important clue somewhere? Everyone is wrong now and then. The important thing is to always be ready to reevaluate known truths when new information arrives. |