??? 01/15/11 00:29 Read: times |
#180607 - "Real" Processing exposed Responding to: ???'s previous message |
Andy said:
Justin said:
Dare I say, that using an RTOS on an 8051 would actually hinder ones processing performance. I think that would be far too much of a sweeping generalisation! I do not think that is a sweeping generalization. An RTOS consumes valuable memory and CPU cycles. This implies that the programmer has less to work with than before. The only way to make up for the RTOS is if the program utilizes the RTOS to its fullest abilities. Meaning that if the RTOS was not present, the program would actually be less efficient in program size and CPU cycles (Is that ever the case?). The RTOS must keep track of which threads are running. The RTOS must constantly start and stop these threads in process and only one process can be performed at a time. Anytime something is stopped and started there is an associated overhead which reduces efficiency. This implies that more CPU cycles are necessary to work on the tasks involved. Dare I say, that there is no such beast as a "real time" O/S. RTOS, as known, is close to "real-time", but not really "real-time". Windows is supposedly "real-time". The 8051/2 already has a pseudo-real-time OS by implementing its interrupts. Why waste program space and CPU cycles using an off-the-shelf RTOS when customizing your interrupts for a specific task will give much better results at a smaller cost? Andy said:
Justin said:
A much wiser solution is to split the power by combining multiple processors. Again. A way around a degrading RTOS in a low-end processor is by utilizing mutiple low-end processors so that each processor has a specific task. If the 8051/2 has multiple interrupt sources, data rate could be significantly improved by minimizing the number of interrupts the processor must handle because there is no stopping and starting of code. Hardware is much more "real-time" than software. Eventually, an RTOS will need to deal with the data because something has to process or paste all of the data together, as mentioned before. Andy said:
Justin said:
With a hot processor, an RTOS makes sense It's really more about the nature of the application - rather than the "hotness" of the processor. I do agree with this. I would just customize my own through the interrupts (that's technically time slicing the code). An RTOS can be used in an 8051/2 where bandwidth is of no concern. For example, reporting the temperature from multiple locations (thus controlling multiple temperature sensors) every couple of seconds to an LCD. The original claim still stands because the hot processor has the bandwidth and capabilities to take on the job of complex thinking that a simpleton could not normally perform. Andy said:
Justin said:
Anytime "real" processing is involved, an RTOS will be utilized. Please explain that further: what is "real"? "Real" processing involves the stitching of all the fabric that is present consuming both bandwidth and memory. The point of an RTOS is to make one processor look like multiple processors. The threading done in windows runs multiple applications on one processor this would be analagous to running multiple hardware applications at the same time for the 8051/2. An 8051/2 may or may not have an RTOS, but a hot processor will always have an RTOS mainly because all of the lower level thinking is done by the controllers like the 8051/2. The hot processor has the bandwidth to deal with the data that is built up from the lower-end controllers. Direct control of hardware or bottom level of thinking is not a good place to put an RTOS, but a good place to put an RTOS is in the brain that controls the controllers at the higher end of thinking. |
Topic | Author | Date |
it just struck me, is this why RTOS 'need' is so prevalent? | 01/01/70 00:00 | |
Two Camps Here | 01/01/70 00:00 | |
Best Practice | 01/01/70 00:00 | |
a similar discussion... | 01/01/70 00:00 | |
I have always maintained the belief... | 01/01/70 00:00 | |
"non-arbitrary" ? | 01/01/70 00:00 | |
"Real" Processing exposed | 01/01/70 00:00 | |
Too Specific | 01/01/70 00:00 | |
sweeping generalisation | 01/01/70 00:00 | |
RTOS are very useful | 01/01/70 00:00 | |
I think this got away ... | 01/01/70 00:00 | |
Blocking/nonblocking I/O | 01/01/70 00:00 | |
Not The only reason | 01/01/70 00:00 | |
I considered developer effort | 01/01/70 00:00 | |
code generator | 01/01/70 00:00 | |
Another neat feature | 01/01/70 00:00 | |
there is such an attachment ... | 01/01/70 00:00 | |
Lots of tools available | 01/01/70 00:00 | |
not really | 01/01/70 00:00 | |
Lots of C tools | 01/01/70 00:00 | |
widespread | 01/01/70 00:00 | |
Missed the point! | 01/01/70 00:00 | |
Ecosystem | 01/01/70 00:00 |