| ??? 05/20/03 21:28 Read: times |
#46173 - RE: SDCC, large mem model, code inefficiency Responding to: ???'s previous message |
The large memory model was inefficient on the 8051 architecture in general, since only rarely instructions available to access external memory.
No matter, if you use C or assembler. The better approach is to handle most data inside the 128 byte internal SRAM and place only large and seldom used data in the XDATA space. E.g. a loop counter inside the DATA space need only a "DJNZ" instruction but tons of code, if it must be placed inside XDATA. If you want to handle huge amount of memory very fast, the 8051 architecture was the wrong approach. The power of the 8051 is to handle the 128 bytes internal memory very fast and with smallest consumption of code space. I use always the small model and place only some variables manually inside IDATA, PDATA, XDATA, depending of its size and usage. To do so, you should also try to declare most variables as local and non static, whenever possible. Peter |
| Topic | Author | Date |
| SDCC, large mem model, code inefficiency | 01/01/70 00:00 | |
| RE: SDCC, large mem model, code inefficiency | 01/01/70 00:00 | |
| RE: SDCC, large mem model, code inefficiency | 01/01/70 00:00 | |
| RE: SDCC, large mem model, code inefficiency | 01/01/70 00:00 | |
| RE: SDCC, large mem model, code inefficiency | 01/01/70 00:00 | |
| RE: Compiler hacking? VFM? | 01/01/70 00:00 | |
| RE: SDCC, large mem model, code inefficiency | 01/01/70 00:00 | |
Thanks for all the responses... | 01/01/70 00:00 |



