Real Time Systems Design And Analysis

Chapter 7.5.6 - Optimizing Memory Usage

7.5.6   Optimizing Memory Usage

In modern computer architectures memory constraints are not as troublesome as
they once were. Nevertheless, in embedded applications or in legacy systems
(those that are being reused), often the real-time systems engineer is faced with
restrictions on the amount of memory available for program storage or for scratch-
pad calculations, dynamic allocation, and so on. Since there is a fundamental
trade-off between memory usage and CPU utilization (with rare exceptions), when
it is desired to optimize for memory usage, it is necessary to trade performance
to save memory. For example in the trigonometric function just discussed, using
quadrant identities can reduce the need for a large look-up table. The additional
logic needed, however, represents a small run-time penalty.

Finally, it is important to match the real-time processing algorithms to the
underlying architecture. In the case of the von Neumann architecture, for example,
it is helpful to recognize the effects of such features as cache size and pipeline
characteristics. In the case of cache size, for example, the algorithm should be
chosen to optimize the cache hit ratio, that is, the percentage of time that data
are found in the cache. In the case of pipelines, increasing the code locality of
reference can reduce the amount of deleterious pipeline flushing.

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: PCMCIA Memory Cards
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.