Shop OBEX P1 Docs P2 Docs Learn Events
Adding Up Propeller Resources — Parallax Forums

Adding Up Propeller Resources

HumanoidoHumanoido Posts: 5,770
edited 2012-08-15 12:51 in Propeller 1
The Propeller chip has eight Cogs which can be used as independent “20 MIPS each” assembly resources. The Prop also has two independent counters per cog - each contributes as a “20 MIPS resource.” Each Cog has one video generator. As another independent resource, what is the maximum rating of each video generator, in units closest to generalized MIPS? (max cycles, max frequency, max pixel clocks, max frame clocks, with highest PLLA, etc.) Thank you.

Comments

  • BeanBean Posts: 8,129
    edited 2012-08-14 07:15
    The counters and video generators do not execute instructions. Therefore it is not possible for them to be rated in MIPS.

    Bean
  • HumanoidoHumanoido Posts: 5,770
    edited 2012-08-14 10:12
    Bean wrote: »
    The counters and video generators do not execute instructions. Therefore it is not possible for them to be rated in MIPS. Bean
    Not sure how to say it but I know what I'm after. Maybe you can help with better wording. The idea is to take a resource not measured in mips, but relate it to mips - for example, when the counter is useful to count a maximum of 20 million instructions per second, then it has a generalized relation to the program's executing instructions (measured in mips). Same with the video generator with some generalized relation, such as frequency, shift register action, or any of the units given in post #1 if they can be expressed at maximum ratings, as in maximum theoretical values. The goal is looking for new uses and how to rate it as additional prop resources at their maximum ratings.
  • Mike GreenMike Green Posts: 23,101
    edited 2012-08-14 10:34
    You can make up any relationship you want. The question for other people is whether it means anything other than a number for you to list. MIPS is not a great measure of processor throughput unless you're comparing similar processors with roughly similar instruction sets. If there's too much difference between instruction sets or between the capabilities of the processors, the MIPS numbers are meaningless. For example, you might have one processor with 16-bit data paths and another with 32-bit data paths. If the applications require mostly 32-bit operands, the 32-bit processor will likely outperform the 16-bit processor by several times even with the same MIPS numbers. If the applications require mostly 16-bit operands, the 16-bit processor will likely outperform the 32-bit processor unless the 32-bit processor includes a lot of 16-bit operand instructions and unless the 16-bit processor uses mostly 32-bit instructions.

    If you have very different instruction sets, the MIPS figures may also be useless. With a stack machine or a LISP machine, instructions tend to do more than with other architectures, so you can't directly compare MIPS. For example, it's not useful to compare something like a Pentium class processor with an ARM class processor. They're too different. You can compare applications (benchmarks), but you need a variety of kinds of applications to get a meaningful overall throughput indication. Some types of processors do well on some kinds of applications and other types of processor do well on other kinds of applications.

    Similarly, even if you figure out a way to include some kind of value for the various hardware units in the Propeller that are not actively part of the processor itself, the usefulness of these units depends intimately on what you're trying to do with the processor.
  • Heater.Heater. Posts: 21,230
    edited 2012-08-14 13:55
    Yes, give it up on the MIPs front. At 20 million instructions per second the Prop is already painfully slow. That's before we tackle the problem of accessing data through HUB RAM or LMM execution.
    The Prop has better things to do than worry about MIPS.
  • HumanoidoHumanoido Posts: 5,770
    edited 2012-08-15 03:43
    In this experiment, the Propeller chip is not compared to other brand chips. A number of cogs (~20-25 MIPS) add up to 30 Billion IPS, completely acceptable for the application, with “number of instructions per second” as the Propeller's executing code reference.


    The goal is to quantify Parallax Propeller resources, Counters and Generators, for additional use with a method and measurement that can relate to the processors executing instructions thereby increasing functionality. A generalized solution is now found for Counters. The Generator source information is still being researched.
  • AribaAriba Posts: 2,690
    edited 2012-08-15 09:42
    If you really want, you can say a Propeller counter is a CPU with exactly one instruction: a conditional ADD. And there is a program memory with one long: the CTRx register. Then you have 2 working registers: PHSx and FRQx. This CPU executes the instruction with 80 MHz so we have 80 MIPS for every counter.
    Now the Video Generator. It has also one instruction: a Shift by one or by two. And this unit can execute this instruction with up to 160 MHz or more.
    So the Propeller has in total: 8 cog with 20 MIPS, 16 counters with 80 MIPS and 8 VideoGenerators with 160 MIPS.
    8*20 + 16*80 + 8*160 = 2720 MIPS - very impressive!

    I think for Humanoido it does not matter, that these all has no relevance to real applications on the Propeller. But people that read this number and get then only 0.5 MIPS with Spin may be disappointed if you propagate this number as MIPS for the Propeller.

    Andy
  • HumanoidoHumanoido Posts: 5,770
    edited 2012-08-15 09:57
    Ariba wrote: »
    If you really want, you can say a Propeller counter is a CPU with exactly one instruction: a conditional ADD. And there is a program memory with one long: the CTRx register. Then you have 2 working registers: PHSx and FRQx. This CPU executes the instruction with 80 MHz so we have 80 MIPS for every counter. Now the Video Generator. It has also one instruction: a Shift by one or by two. And this unit can execute this instruction with up to 160 MHz or more. So the Propeller has in total: 8 cog with 20 MIPS, 16 counters with 80 MIPS and 8 VideoGenerators with 160 MIPS. 8*20 + 16*80 + 8*160 = 2720 MIPS - very impressive! I think for Humanoido it does not matter, that these all has no relevance to real applications on the Propeller. But people that read this number and get then only 0.5 MIPS with Spin may be disappointed if you propagate this number as MIPS for the Propeller. Andy

    Andy, your reply answers the question perfectly. Thank you!
  • Mike GreenMike Green Posts: 23,101
    edited 2012-08-15 11:03
    Humanoido,
    Maybe you're happy with these abstract numbers, but they're really meaningless without context. Strictly speaking the "I" part of MIPS doesn't apply to either the counters or the video generator. You might say MOPS (millions of operations per second) and that would be more meaningful, but equally useless as a measure of the usefulness of the various units of the Propeller.
  • skylightskylight Posts: 1,915
    edited 2012-08-15 11:24
    I suppose it's a bit like saying the stamp is fast but the prop is blisteringly fast. What does fast mean to one person and the next.
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2012-08-15 12:50
    Measuring the overall performance of a microcontroller along a single dimension is meaningless. It's like asking, "Is Joe an able worker?" Well that depends on what Joe's job is. Among Joe's multidimensional qualities might be impatience, poor people skills, and brilliance in programming. If Joe were forced to be a waiter, he would not be good worker. But give him a programming job to do, and he would excel. It's the same with the Propeller. You simply cannot apply an across-the-board performance metric to it without the context of a particular application.

    -Phil
  • HumanoidoHumanoido Posts: 5,770
    edited 2012-08-15 12:51
    Heater. wrote: »
    At 20 million instructions per second the Prop is already painfully slow.

    If you don't like MIPS, check out these units - Heater has taken up rating his prop speed in terms of "pain" and other dubious non-quantitative words like "slow."

    I was refraining from using Prop speed terminology such as "ultimately pleasurable" and "really damn fast" but it looks like we could make an exception.

    :tongue:
Sign In or Register to comment.