Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
03/05/09 17:38
Read: times


 
#163102 - it's a tradeoff
Responding to: ???'s previous message
David Prentice said:
Richard Erlacher said:
As for the "religious" issue ... I guess we'll have to agree to disagree. I can understand the desirability of using a small ARM-core single-chip microcomputer, but by its very central characteristics, it differs considerably from the classic microcontroller. Further, for its cost, ARM can't well compete with the performance of current-generation 805x one-clockers. That may change, of course, but I won't hold my breath.

RE


Perhaps you would like to back up this statement with a current example single-clocker price. I would agree that future pricing may well change.

I'm not the one to ask about IC prices, since most of the newer stuff I use is received in the form of samples. Erik has, on more than one occasion mentioned a price of about $6 for those 'F120-series parts he likes to buy from SiLabs. They're 100 MIPS one-clockers. That's about what one of my clients pays for his 33 MIPS MAXIM DS89C4x0-series one-clocker parts, in small quantity, though I've heard that, in large quantity, they approach half that amount. Keep in mind that these parts have plenty of on-chip resources and often require no external memory. As I've said, ARM's will become interesting when they can have all their code and data memory on-chip. Few MCU's do that with data memory, since most microcontroller tasks don't involve lots of data memory, yet, thanks to the trend toward HLL's, they have provided vast increases in on-chip code memory.

In terms of execution speed, I would agree that 8 bit operations are comparable. It is also a bit of a pain splitting a 32 bit port, but for anything wider than 8 bits there is no contest. And this applies to common peripherals too.

Execution timing is seldom that critical except to delay an operation. In which case using the hardware peripheral timers is generally wiser than cycle wasting.

Cycle-wasting is not what I mean when referring to precise timing. What I'm referring to in that context is writing code that "gets around the loop" in precisely the right amount of time. Sometimes that means writing long, straight-lined loops with bits of several processes built into it. It seldom involves timers and interrupts. It almost always requires the selection of precisely the right crystal frequency.

Of course no one can argue about a single ASM instruction. But how many people are prepared to wade through pages of ASM that would be concisely put in a few HLL statements?

I'd be interested in seeing "a few HLL statements" that replace "pages of ASM" and then examine the compiler output. Being unwilling to "wade through pages of ASM" is simply unwillingness to do the assigned job.

Perhaps as an experiment, Richard could ask a colleague to read his documentation and code, and then ask him to maintain his project.

I've been revisiting/updating/modifying 805x code I wrote in '79-'81 at about 10-year intervals. I can assure you I'd have lots of trouble doing that if the doc weren't complete and thorough, since few people at that plant remember much about the original installation. Colleagues have had no trouble doing the same thing.

David.


Clearly there are good reasons why one would want to use HLL in programming a control task, particularly if it's not demanding of speed or precise timing. However, as I've mentioned in the past, microcontrollers were developed as replacements for hardware. Consequently, I prefer to use them instead of peripheral hardware instead of with it. Nevertheless, some tasks demand external memory, external hardware, etc, and those impose additional precise requirements on the system designer. However, the ultimate decision is between buying "at least plenty" of performance, resources, and code, as opposed to "just the right amount."

RE





List of 76 messages in thread
TopicAuthorDate
NXP P89LPC936 Auxilary RAM            01/01/70 00:00      
   Compiler Cannot Save the Day At Runtime            01/01/70 00:00      
      I found it.....            01/01/70 00:00      
         Incorrect!            01/01/70 00:00      
            To be fair,...            01/01/70 00:00      
               Its good info to know...            01/01/70 00:00      
   how is it done in C?            01/01/70 00:00      
   Maybe you should try doing it ASM!            01/01/70 00:00      
      You should start a new thread on that!            01/01/70 00:00      
      Not in this case!            01/01/70 00:00      
         A compiler should support ALL MCU features ...            01/01/70 00:00      
            A compiler should translate the language            01/01/70 00:00      
               Still C - just not strict.            01/01/70 00:00      
            I didn't say that!            01/01/70 00:00      
               It is not that clean and clear            01/01/70 00:00      
                  Deviants are deviant            01/01/70 00:00      
                     Keil and SDCC need no macros ...            01/01/70 00:00      
                        Are you sure?            01/01/70 00:00      
                     That's probably correct, but ...            01/01/70 00:00      
                        A C compiler can map the hardware quite well            01/01/70 00:00      
                           compiler vendors are looking at the new processors            01/01/70 00:00      
                              I once mentioned that ...            01/01/70 00:00      
                           It's not what I'd choose, but it is a matter of perefernce            01/01/70 00:00      
                              As flash gets bigger, the code steps do too.            01/01/70 00:00      
                              Still not needed for other architectures            01/01/70 00:00      
                                 We will have to agree to disagree ... I guess            01/01/70 00:00      
                                    Which single-clocker is cheaper than an ARM?            01/01/70 00:00      
                                       RE: Which single-clocker is cheaper than an ARM?            01/01/70 00:00      
                                       differs considerably from the classic microcontroller?            01/01/70 00:00      
                                       Horses for courses            01/01/70 00:00      
                                          Always start each project by scanning the market            01/01/70 00:00      
                                             On that we can agree            01/01/70 00:00      
                                          Maybe, but what are they comparing?            01/01/70 00:00      
                                             Did you actually look?            01/01/70 00:00      
                                                Yes, I did.            01/01/70 00:00      
                                       it's a tradeoff            01/01/70 00:00      
                                          Is it 2006 already?            01/01/70 00:00      
                                             Really?            01/01/70 00:00      
                                                that's outright silly            01/01/70 00:00      
                                                   Maybe ... which is why it is not yet the case            01/01/70 00:00      
                                                      the eyes of the beholder            01/01/70 00:00      
                                                         Look at it from another viewpoint for a moment            01/01/70 00:00      
                                          RE: I'm not the one to ask about IC prices            01/01/70 00:00      
                                             doesn't mean I'm totally in the dark            01/01/70 00:00      
                                                Richard Erlacher has left the planet            01/01/70 00:00      
                                                   Maybe Andy's the one who's lost            01/01/70 00:00      
                                                      I cannot believe you even looked at ARM            01/01/70 00:00      
                                                         It's all relative            01/01/70 00:00      
                                                            Price doesn't directly follow processor size            01/01/70 00:00      
                                                            What about performance?            01/01/70 00:00      
                                                         Be specific please.            01/01/70 00:00      
                                                            You can use your own supplier            01/01/70 00:00      
                                                               Your test simulates as 41.04us            01/01/70 00:00      
                                                                  RE: ARM compiles do not like byte-addressing            01/01/70 00:00      
                                                                     A typo on my part            01/01/70 00:00      
                                                                        Case of full unroll            01/01/70 00:00      
                                                                           ... and what does THAT ARM MCU cost?            01/01/70 00:00      
                                                                              WHO CARES            01/01/70 00:00      
                                                                                 Absolutely true!            01/01/70 00:00      
                                                                              $5 or lower            01/01/70 00:00      
                                                                                 My Simulation times were wrong.            01/01/70 00:00      
                                                                                    67% of your loop was your loop            01/01/70 00:00      
                                                                                    re-written the loop in C            01/01/70 00:00      
                                                                                       Try without loop counter            01/01/70 00:00      
                                                                                          You're right!            01/01/70 00:00      
                                                                                             Similar trick with ARM7 would require 66.67MHz            01/01/70 00:00      
                                                                                             60ns with no store instruction.            01/01/70 00:00      
                                                                                                25% speedup            01/01/70 00:00      
                                                                                                   Actually, I found the for loop faster.            01/01/70 00:00      
                                                                                                      Compiler setting?            01/01/70 00:00      
                                                                                                         I made NO optimisation            01/01/70 00:00      
                                                                                                            Avoid variable aliasing if you like high optimization levels            01/01/70 00:00      
                                                                                                               The RealView compiler is very competent            01/01/70 00:00      
                                                                                                                  Yes, caching            01/01/70 00:00      
                                                                                                                  Yes, caching            01/01/70 00:00      
                                                                                                It's much easier with the 8-bit single-clocker            01/01/70 00:00      

Back to Subject List