Resolving Waiting Period in 32 bit CPUs
Many CPU manufacturers have come out with low priced 32 bit processors. Some of these processors even contain advanced features such as SIMD instructions and hardware floating point. However, not everything is as it seems. Some of these devices hold a dark secret.
All these processors have flash memory and some programs run from this memory. What most people, including some embedded engineers don’t know is, flash is slow. If you try to overclock these processors you won’t gain much. When you overclock and run from flash, you add wait states, so there is little improvement in speed.
Wait states is a time out period when the CPU is idle. Different components work at different speeds so wait states are expected. Even then, the wait state is a necessary evil because it prevents incompatibilities between CPU speeds.
There is a partial solution- cache memory. Cache memory is called a partial solution because it takes a lot of space. So there is no choice but to keep the cache small. It is also unsuitable for real time systems because with cache, execution times also become completely unpredictable. So what is the solution? The answer is the Adaptive Real-Time Memory Accelerator which can help embedded engineers achieve zero wait states.