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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
09/12/07 15:52
Read: times


 
#144482 - No crisis here
Responding to: ???'s previous message
I was indeed commenting on the fact that the stack implementation is inefficient.

But how is this related to multitasking, you ask. Well in a multitasking environment you can hardly do any call tree analysis and thus no efficient overlaying.

As Erik said the typical implementation uses function pointers and it is very hard to find out which functions can be in those pointers at any time. If a function pointer is called, where should you put the parameters if you don't know at compile time which function is really called? So static allocation for parameters becomes not feasable and the only real option is passing parameters on the stack.

So, yes, accessing parameters on stack is a general shortcoming of the '51 architecture. But with a multitasking system you cannot go without it, where you otherwise can.

Maarten

List of 44 messages in thread
TopicAuthorDate
ABOUT THE REAL TIME OS            01/01/70 00:00      
   Do you really need it?            01/01/70 00:00      
      Seconds thoughts            01/01/70 00:00      
         but it's a 51 on steroids!... and some philosophy            01/01/70 00:00      
            Definitions            01/01/70 00:00      
               I use the p89c51rd2            01/01/70 00:00      
               It is the architecture            01/01/70 00:00      
                  Mutlitasking on the OS            01/01/70 00:00      
                     I think I said something similar...            01/01/70 00:00      
                     please tell which            01/01/70 00:00      
                        extended stack in SRAM            01/01/70 00:00      
                           Stack expanded to MOVX            01/01/70 00:00      
                  another architecture shortcoming            01/01/70 00:00      
                     Independent of multitasking?            01/01/70 00:00      
                        HUH??            01/01/70 00:00      
                           Clarification            01/01/70 00:00      
                              Identity crisis            01/01/70 00:00      
                                 Oops            01/01/70 00:00      
                                 No crisis here            01/01/70 00:00      
                           My question clarified            01/01/70 00:00      
                              "stack inefficiency"            01/01/70 00:00      
                                 Stack            01/01/70 00:00      
               I disagree somewhat            01/01/70 00:00      
                  Multitasking            01/01/70 00:00      
   I think I need it!            01/01/70 00:00      
      no, you do not            01/01/70 00:00      
         I have made a PLC complier for MCS-51 by VB.            01/01/70 00:00      
            Multi-use timers            01/01/70 00:00      
               Could you help me?            01/01/70 00:00      
                  No            01/01/70 00:00      
                  Software timers            01/01/70 00:00      
                     Linked Lists            01/01/70 00:00      
                     Linked Lists for Software Timers            01/01/70 00:00      
               I do not know how to do?            01/01/70 00:00      
                  Use software timers            01/01/70 00:00      
                     how to use it point to task.            01/01/70 00:00      
                        what is "a task" in your application?            01/01/70 00:00      
                        What task??            01/01/70 00:00      
                  stop running            01/01/70 00:00      
      Unlilely            01/01/70 00:00      
   DS89C450 can handle the RTOS?            01/01/70 00:00      
      PLCs            01/01/70 00:00      
         Russell got it            01/01/70 00:00      
         Thanks russell!            01/01/70 00:00      

Back to Subject List