Professional Documents
Culture Documents
Embedded Systems
Jan Madsen
Motivation
8051 microcontroller
Technology, 0.25um
6371 cells
320 uW @ 1MHz
pe1
mem
application
private application
shared
private RTOS-APIs
Software
private RTOS
private HW/SW
drivers
Plattform
Cache CPU Timer
Timer
Hardware Bus-
Periphery I/O Int Bus
CTRL
ce1
Software
? Concept: separate function from detailed
SW
SW
architecture ______
______
______
______
? Uniform, mature development tools ______
______
? Same binary can run on variety of architectures
? Instruction-stream-based Standard
Profiling
? New architectures can be developed and Compiler
introduced for existing applications
? New application can excute on existing Binary
Binary
architectures, highly flexible
? Trend towards dynamic translation and
optimization of function in mapping to ? Processor1
Processor
architecture
? Processor2
Processor
? Dynamic SW optimizations (1.3x, maybe 2-3x?)
? Processor3
Processor
?data-stream-based
Hardware
Profiling
?“binary” target to a specific Compiler
technology Layout
Binary
?Architecture is fixed, but highly
optimized for the application
ASIC
Processor
?High speed
?Low power
Software-Hardware Codesign
Profiler
Profiler SW
SW Critical ? Improvements eclipse
______
______ Regions
______
______
those of dynamic software
______
______ methods
? Speedups of 10x to 1000x
SW
SW SW
HW ? Far more potential than
______
______ ______
______ dynamic SW optimizations
______
______ ______
______
______
______ ______
______ (1.3x, maybe 2-3x?)
? Energy reductions of 90%
or more
? Processor ASIC
? Decisions made at
compile/design time
Commonly one chip today
SW Only
? Architecture partly flexible
HW/SW
? Gap between procedural
and structural mind set!
Time Energy
Soft Hardware!
Morphware
Software Configware Hardware
SW
SW SW
HDL
CW SW
HW
______
______ ______
______ ______
______
______
______ ______
______ ______
______
______
______ ______
______ ______
______
Standard
Profiling Hardware
Profiling Hardware
Profiling
Compiler Compiler Compiler
Binary
Binary Binary
Binary Layout
Binary
? Processor
Processor FPGA
Processor ASIC
Processor
SW
CW SW
SW SW
HW
______
______ ______
______ ______
______
______
______ ______
______ ______
______
______
______ ______
______ ______
______
Example of Morphware
LCD display
02131 Embedded Systems 15
Xilinx Spartan II
A Xilinx LUT
Write address
(4 bit)
Write data
(1-bit)
Virtex II Pro:
Embedded hard-core PowerPC CPU
? Cost issues:
? At low volume, very low cost compared to ASICs.
? At high volume, expensive!
? Speed issues:
? FPGAs are rapidly catching up with standard-cell based ASICs,
there is only a factor 5 in clock speed difference today. The gap is
getting smaller for each generation (mass-production).
? Area issues:
? Major concern, as most of the FPGA’s chip-area is used for the
reconfiguration network. => low silicon area utilization.
controller datapath
Zebra
controller datapath
Future?
software on an FPGA?
SW
Binary ?Can we dynamically move
software kernels to FPGA?
Traditional
Standard
partitioning Profiling
Compiler
? Enabler – binary-level partitioning
done here and synthesis
Binary
Binary
? Partition and synthesize starting from
SW binary
Binary ? Advantages
Partitioner
? Any compiler, any language, multiple
sources, assembly/object support,
Modified Netlist
Netlist legacy code support
Binary
? Disadvantage
? Loses high-level information
? Processor Morphware
Processor
?Quality loss?
Dynamic partitioning
4Program configurable
SW Only logic & update software
HW/SW
binary
Does it work?
Profiler
I$
I$ ARM7
ARM D$
D$
5 100%
Warp Proc. Warp Proc.
Xilinx Virtex-E Xilinx Virtex-E
4 80%
Energy Reduction
3 60%
Speedup
2 40%
1 20%
0 0%
log rl
log rl
g3 v
g3 v
g3 2
g3 2
2
bit r
bit r
w
21
21
2
in
in
m prk
G.
m prk
G.
w
np
np
01
01
k
k
d
d
u
u
idc 1
idc 1
bre
bre
fax
fax
fax
fax
oo
oo
tflo
nr
nr
m
m
ix0
ix0
tflo
AV
AV
g7
g7
m
m
trn
trn
tts
tts
ca
ca
tbl
tbl
atr
atr
pk
pk