Multi-processor SoCs Yijing Chen 11/14/05 ELEC6200-001 Fall 2005

advertisement
Multi-processor SoCs
Yijing Chen
11/14/05
ELEC6200-001 Fall 2005
1
Why multiprocessor systems-on-chips



Single processors may be sufficient for lowperformance applications that are typical of early
microcontrollers, but an increasing number of
applications require multiprocessors to meet their
performance goals.
Multiprocessor systems-on-chips (MPSoC) are one of
the key applications of VLSL technology today.
MPSoC are increasingly used to build complex
integrated system. A MPSoC is more than just a rack
of processors shrunk down to a single chip.
11/14/05
ELEC6200-001 Fall 2005
2
Introduce Multiprocessor



Definition: Multiprocessor is Parallel
processors with a single shared address.
Microprocessor is now the most cost-effective
processor.
Multiprocessors have the highest absolute
performance-faster than the fastest
uniprocessor.
11/14/05
ELEC6200-001 Fall 2005
3
Several conceptions



Parallel processing program: a single program
that runs on multiple processors simultaneously.
Cluster: a set of computers connected over a local
area network (LAN) that function as a single large
multiprocessor.
Shared memory: a memory for a parallel processor
with a single address space, implying implicit
communication with loads and stores.
11/14/05
ELEC6200-001 Fall 2005
4
Multiprocessosrs communication
mode


Signal address: offer the programmer a single
memory address space that all processors share.
Processors communicate through shared variables in
memory, with all processors capable of accessing any
memory location via loads and stores.
Message passing: Communicating between
multiple processors by explicitly sending and
receiving information.
11/14/05
ELEC6200-001 Fall 2005
5
Two types single address access



Uniform momory access multiprocessors (or symmetric
multiprocessors): which takes the same time to access main
memory no matter which processor requests it and no matter
which word is requested.
Nonuniform memory access multiprocessors: some
memory accesses are faster than others depending on which
processor asks for which word.
For nonuniform memory access machines can scale to larger
sizes and hence are potentially higher performance.
11/14/05
ELEC6200-001 Fall 2005
6
Two basic constructed organizations


Processors connected by a single bus
Processors connected by a network
Options in communication style and physical connection for multiprocessors as the number
of processors varies.
11/14/05
ELEC6200-001 Fall 2005
7
Multiprocessors connected by
a single bus
Typical size is between 2 and 32 processors
Coche coherency: consistency in the value of data between the versions
In the caches of several processors.
11/14/05
ELEC6200-001 Fall 2005
8
Multiprocessors connected by
a network
Note: compare with last one, the multiprocessor connection is no longer
Between memory and the processor.
11/14/05
ELEC6200-001 Fall 2005
9
Multiprocessors Programming


Why is it difficult to write multiprocessor programs that are
fast, especially as the number of processors increases.
Because of the programming difficulty, most parallel
processing success stories are a result of software wizards
developing a parallel subsystem that presents a sequential
interface.
you must get good performance and efficiency from the
parallel program on a multiprocessor
Why it is difficult to write parallel processing programs is that
the programmer must know a good deal about the hardware.
11/14/05
ELEC6200-001 Fall 2005
10
System-on-chips designs
constraints:



Not simply high computation rates, but
real-time performance that meets
deadlines.
Low power or energy consumption.
Low cost.
11/14/05
ELEC6200-001 Fall 2005
11
Concept of MPSoC



Multiprocessor system on chips (MPSoC) are not chip
multiprocessors.
Chip multiprocessors are components that take
advantage of increased transistor densities to put
more processors on a single chip, but they don’t try
to leverage application needs
MPSoC are custom architectures that balance the
constraints of VLSI technology with an application’s
needs.
11/14/05
ELEC6200-001 Fall 2005
12
Memory system of MPSoC


Heterogeneous memory systems: some blocks of memory
may be accessible by only one or a few processors.
Heterogenous memory systems are harder to program because
the programmer must keep in mind what processors can access
what memory blocks
Irregular memory structures are often necessary in MPSoCs.
One reason that designers resort to specialized memory is to
support real-time performance.
11/14/05
ELEC6200-001 Fall 2005
13
Challenges and Opportunities



MPSoCs combine the difficulties of building complex hardware
systems and complex software systems.
Methodology is critical to MPSoC design. Methodologies that
work offer many advantages. They decrease the time it takes to
design a system; they also make it easier to predict how long
the design will take and how many resources it will require.
Methodology also codify techniques for improving performance
and power consumption that developers can apply to many
different designs.
Methodology will necessarily be a moving target for the next
decade.
11/14/05
ELEC6200-001 Fall 2005
14
Challenges and Opportunities


MPSoC hardware architectures present challenges in all aspects
of the multiprocessor: processing elements, memory, and
interconnects.
Configurable processors with customized instruction sets are
one way to improve the characteristics of processing elements;
hardware/ software codesign of accelerators is another
technique.
11/14/05
ELEC6200-001 Fall 2005
15
Future work


A critical question in MPSoC architectures is the balance
between programmability and efficiency. It is more difficult to
program multiprocessors than uniprocessors, and it is more
difficult to program heterogeneous multiprocessors than
homogeneous multiprocessors.
Hardware/ software interface codesign.
11/14/05
ELEC6200-001 Fall 2005
16
Question?
11/14/05
ELEC6200-001 Fall 2005
17
Download