Introduction_to_CoSynthesis_Algorithms.ppt

advertisement
Introduction to HW/SW
Co-Synthesis Algorithms
Part of
HW/SW Codesign of Embedded
Systems Course (CE 40-226)
Winter-Spring 2001
Codesign of Embedded Systems
1
Topics





Introduction
Preliminaries
Hardware/Software Partitioning
Distributed System Co-Synthesis
Conclusions
Winter-Spring 2001
Codesign of Embedded Systems
2
Introduction to HW/SW
Co-Synthesis Algorithms
Introduction
Winter-Spring 2001
Codesign of Embedded Systems
3
Introduction

Implementing a system? Why use CPU?



Easier implementation
Easier (and cheaper) to change and debug
Why use hardware modules?

Meeting other constraints


performance, power consumption, etc
Found a CPU meeting all non-functional
constraints?


Yes! What could be better? Use the CPU.
No! Design custom logic, or a combination of both
Winter-Spring 2001
Codesign of Embedded Systems
4
Introduction (cont’d)


Why more than one CPU or custom logic?
Why not use the fastest available CPU?
Winter-Spring 2001
Codesign of Embedded Systems
5
Introduction (cont’d)

Reason 1:


Exponential cost per
CPU performance
Figure:

late-1996 retail prices
of Pentium Processor
Clock speed
(MHz)
Pentium processor prices
Winter-Spring 2001
Codesign of Embedded Systems
6
Introduction (cont’d)

Exponential price/performance implies

Paying for performance in a uni-processor is very
expensive




Using multiple small CPUs is cheaper
Communication overhead is added, but still an economic
choice
Processors need not be CPUs. But special-function units.
Special-purpose PEs can be even cheaper than dedicated
CPU!

Winter-Spring 2001
Measured in system manufacturing cost, not
necessarily in design cost
Codesign of Embedded Systems
7
Introduction (cont’d)

Reason 2:

Scheduling overhead

More than 31% overhead, under reasonable
assumptions, when executing multiple processes


Winter-Spring 2001
Reason: uncertainty in the times at which the processes
will need to execute
Result: we have to reserve extra CPU horsepower, which
comes at exponential cost
Codesign of Embedded Systems
8
Introduction (cont’d)


Still (1997) not quite possible to declare an
authoritative taxonomy of co-synthesis
models and methods
Definition

HW/SW co-synthesis: process of simultaneously
design the SW architecture of an application and
the HW architecture on which that SW is
executed.
Winter-Spring 2001
Codesign of Embedded Systems
9
Introduction (cont’d)
SW
(app.)
Arch.
Problem
Specification
CoSynthesis
Communication
Channels
HW Engine
PE
PE
PE
Winter-Spring 2001
Codesign of Embedded Systems
Mem
10
Introduction (cont’d)

Problem specification includes


Functionality
Non-functional requirements

Performance goals, physical constraints, etc
Winter-Spring 2001
Codesign of Embedded Systems
11
Introduction (cont’d)

Hardware Architecture


One or more Processing-Elements (PEs)
Software (Application) Architecture includes

Process structure



Each process executes sequentially
Allocation of the processes onto PEs in the HW
engine
Communication channels


Hardware elements
Software primitives
Winter-Spring 2001
Codesign of Embedded Systems
12
Introduction (cont’d)

HW/SW Co-synthesis


Allows trade-offs between SW architecutre and
HW on which it executes
Where is such trade-off important?


Everyday processing applications vs. Embedded
applications
Different co-synthesis styles depending on



The Specification
The System Components
System Elements to synthesize
Winter-Spring 2001
Codesign of Embedded Systems
13
Introduction (cont’d)

Two broad implementation styles

HW/SW partitioning


Target HW architecture: a CPU and multiple ASICs
Distributed System Co-synthesis

Target HW architecture: arbitrary hardware topologies
Winter-Spring 2001
Codesign of Embedded Systems
14
Introduction to HW/SW
Co-Synthesis Algorithms
Preliminaries
Winter-Spring 2001
Codesign of Embedded Systems
15
Preliminaries

Rate (execution rate)


Maximum frequency at which a processing must
be done
Single-rate vs. Multi-rate

Example of multi-rate system

audio/video decoder
Winter-Spring 2001
Codesign of Embedded Systems
16
Preliminaries (cont’d)

Latency

Required maximum time between starting and
finishing a processing task
Winter-Spring 2001
Codesign of Embedded Systems
17
Preliminaries (cont’d)

Single-rate systems

Standard model: Control-Data Flow Graph (CDFG)

Implies a program-counter or system-state
Software

Control-Unit
+ Data path
Not suitable to model multi-rate tasks

unified system state
Winter-Spring 2001
Codesign of Embedded Systems
18
Preliminaries (cont’d)

Multi-rate systems


P1
Common model: Task
Graph
P4
P5
Task Graph



Each Node: Process
Each Edge:
Communication
Each Set of connected
nodes: sub-task
Winter-Spring 2001
P2
Codesign of Embedded Systems
P3
P6
19
What we learned today


What’s co-synthesis
Various keywords used in classification of cosynthesis algorithms
Winter-Spring 2001
Codesign of Embedded Systems
20
Complementary notes:
Assignments

Take Assignment 9

Due Date: Wednesday, Khordad 23th
Winter-Spring 2001
Codesign of Embedded Systems
21
Download