|
Fine Grain Parallelism
- Given a sequence of instructions the issue logic will look at the dependencies between multiple instructions in a window.
- Dependencies: Data or Control dependency.
- Dependencies: False or true.
- Consider add R1, R2 followed by add R3, R4.
- Consider div R1, R2 followed by div R3, R4
- Consider load X followed by load Y
- Independent instructions can be executed in parallel if structural resources are available.
Granularity
- Medium Grain Parallelism: Parallelism of an application can be implemented by multiple threads in a single process.
- Usually programmers have to “use” threads in the design.
- Threads are scheduled by user (e.g. pthreads) or by OS (kernel threading).
- Coarse Grain Parallelism: Parallelism in a system by virtue of several concurrent processes
- Need to synchronize using semaphore or other synchronization objects.
- Example: Server side threads for web servers. FTP servers etc.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|