Program Memory
A machine code program is a sequence of instructions manipulating
values in memory. Memory consists generally of the following
elements:
-
processor registers (for direct and fast access),
- the stack,
- a data segment (static allocation region),
- the heap (dynamic allocation region).
Only the stack and the dynamic allocation region can change in size
during the execution of a program. Depending on the programming
language used, some control over these classes of memory can be
exercised. Whereas the program instructions (code) usually reside in static
memory, dynamic linking (see page
??) makes use of dynamic memory.