The virtual platform offers an example of model based on
the Cortex-A9MP booting an SMP Linux on the ARM
Versatile Express platform. But, when using an SMP Linux, all
the processors execute by default the same application. The
ability to bind processes to processors is called (Central
Processing Unit) CPU affinity. This mechanism enables us to
get, set or retrieve affinity from some processors using system
calls which are related to the correct kernel and glibc (C
Library in the kernel). The scheduler obeys to what is defined
by the user and process runs only on the allowed processors.
The CPU affinity is represented as a bitmask. For example, if
the mask is 0x00000001, which means that processor 0 (the
first processor) is the allowed core. For the SMP Linux
managing four cores, we modified its affinity to manage two
processors. If we get the CPU affinity, we should have 3. Then,
we can modify the mask to 1 to execute some tasks.
The concept of clustered architectures is evaluated and
becomes popular to achieve high performance and energy
efficiency for customized embedded processing systems.
Clustering is an effective technique to improve performance
density and energy consumption of a processor core forming
the basis of a modern multiprocessor. We investigate the utility
of two clusters in the architecture as it is shown in Figure 6: a
generic cluster and a specialized one. The general cluster gives
the order to the specialized one to do a particular application
such as the 3D synthesis application, JPEG application, etc.
Besides, each cluster has its proper applications. Inter-cluster
communication mechanism is assured by the use of the shared
memory.