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 12:08
Read: times


 
#144445 - another architecture shortcoming
Responding to: ???'s previous message
There is another shortcoming in the architecture that makes a '51 less suited for multitasking and that is the way to access the stack.

In order to access some data on the stack you first need to calculate the address, usually by adding an offset to the stack pointer. This requires the accumulator. Then you move the result to r0/1 and finally you can access the data. In short it lacks indexed memory access. This inefficiency is also the reason why most compilers choose to create non-reentrant code by default.

So not only the task switching overhead is significant, but also the task itself is slowed down by inefficient stack access.

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