Computer Architecture Multicore

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 15

System on Chip (SoC)

LECTURE 21
Multiprocessor SoC (MPSoC) ?

It is simply system on Chip that contains multiple


instruction set processors (CPU).
In practice most SoC are MPSoC because its is too
difficult to design complex SoC without making use of
multiple CPUs.
MPSoC Example
MPSoC Example
Typical MPSoCs is a heterogeneous multiprocessors.

Several different type of Processing Elements (PEs),


the memory system may be heterogeneously
distributed around the machine, the interconnection
network between PEs and the memory may also be
heterogeneous.

MPSoCs often require large amount of memory.


– On chip memory
– Off chip memory

For Real time communication/application multiprocessors


are needed.
MPSoC
Why MPSoC

To handle Real time video or communication.

To keep up with the incoming data rates.

Multiprocessor provide the computational concurrency.

Task level parallelism.


Why Not Homogeneous MPSoCs??

SoC must obey several constraints:

- They must perform real time computations.


High performance.
Results at predictable time.
For example: Snooping caching protocol.

- They must be area efficient.


Special purpose PE may be much faster and smaller than a
programmable processor.
Choosing cache size and organization to match application
charactertics can greatly improve performance.
Memory specialization e.g. multilevel cache.
Why Not Homogeneous MPSoCs??

SoC must obey several constraints:

- They must be energy efficient.


Area reduction also reduces energy requirement.

- They must provide the proper I/O connection.


SoC is a complete system.
Challenges

Software Development.
- Must be high performance, real time, and low power.
- Each MPSoC required its own software development environment:
Compiler, debugger, simulator and other tools.
Real time operating system (RTOS).
- Scheduling mechanism for parallel tasks i.e. how it access memory,
its flow of control etc.
Network On Chip.
- Uses packet network to interconnect the processors in SoC.
- Example: Sensor Networks.

Security of SoC
- As they connect to Internet.
Design Methodologies

In order to design and implement MPSoC, many kind of


advanced tools and methodologies are needed.

Design Methodologies should have following goals in mind:


- Fast Design Time.
Game/Network processors, high definition video encoding etc

- Higher level abstraction.


On the software and hardware side.

- Predictability of result.
As MPSoC are mostly targeted for real time applications in which
accurate performance information must be available at design time.

- Faster Access to Market.


Hardware Architectures

Which CPU should be used? What instruction set and cache


should be used based on the application characteristics?

What set of processors should be used? How many


processors are required?

What interconnect and topology should be used? How much


bandwidth is required? What quality of service
characteristics are required of the network?

How should the memory system be organized? Where


should memory be placed and how much memory should be
provided for different tasks?
Software
Software for MPSoC needs to be considered from the
following three view points:
- Programmers Viewpoint.
To exploit parallel architecture, parallel programming is required.

- Software Architecture and Design Reuse View point.


Components that enables application software to run on MPSoC.
- Middleware (for communication)
- The operating system (OS)
- Hardware abstraction layer (HAL)

- Optimization Viewpoint.
Code size.
Execution time.
Energy consumption.
Summary

Technological advances mean that complete systems can


now be implemented on a single chip .

The benefits that this brings are significant in terms of


speed, area and power.

The drawbacks are that these systems are extremely


complex.

You might also like