Вы находитесь на странице: 1из 22

Embedded Systems 7.

System Components

Lothar Thiele

Swiss Federal Institute of Technology

7-1

Computer Engineering and Networks Laboratory

Contents of Course
1. Embedded Systems Introduction 2. Software Introduction 3. Real-Time Models 4. 4 Periodic/Aperiodic Tasks 5. Resource Sharing 6. Real-Time OS 12. Model Based Design 7. System Components 8. Communication 9. Low Power Design 10. Models

3.4

11. Architecture 11 Architect re Synthesis

Software and Programming


Swiss Federal Institute of Technology

Processing and Communication


7-2

Hardware
Computer Engineering and Networks Laboratory

Embedded System Hardware


Embedded system hardware is frequently used in a loop (hardware in a loop):
this course

actuators embedded system


Swiss Federal Institute of Technology 7-3 Computer Engineering and Networks Laboratory

Topics
System Specialization Application Specific Instruction Sets
Micro Controller Digital Signal Processors and VLIW

Programmable Hardware ASICs System-on-Chip

Swiss Federal Institute of Technology

7-4

Computer Engineering and Networks Laboratory

Implementation Alternatives
General-purpose processors

3.4.1

Performance Power Efficiency

Application-specific instruction set processors (ASIPs) Microcontroller DSPs (digital signal processors)

Flexibility

Programmable hardware FPGA (field-programmable gate arrays)

Application-specific integrated circuits (ASICs)


Swiss Federal Institute of Technology 7-5 Computer Engineering and Networks Laboratory

General-purpose Processors General purpose


High performance
Hi hl optimized circuits and t h l Highly ti i d i it d technology Use of parallelism
superscalar: dynamic scheduling of instructions super-pipelining: instruction pipelining, branch prediction, speculation

3.4.3

complex memory hierarchy

Not suited for real-time applications


Execution times are highly unpredictable because of intensive resource sharing and dynamic decisions

Properties P ti
Good average performance for large application mix Hi h power consumption High ti
Swiss Federal Institute of Technology 7-6 Computer Engineering and Networks Laboratory

Pentium P4

Dual Core

Swiss Federal Institute of Technology

7-7

Computer Engineering and Networks Laboratory

Swiss Federal Institute of Technology

7-8

Computer Engineering and Networks Laboratory

System Specialization
The main difference between general purpose highest volume microprocessors and embedded systems i l i d b dd d is specialization. Specialization should Speciali ation sho ld respect flexibility fle ibilit
application domain specific systems shall cover a class of applications some flexibility is required to account for late changes, debugging

System analysis required


identification of application properties which can be used for specialization quantification of individual specialization effects
Swiss Federal Institute of Technology 7-9 Computer Engineering and Networks Laboratory

Architecture Specialization Techniques


system design DSP subsystems micro controllers conf. HW f functions (FPGA) memory blocks memory cells

processors system component t design logic design

coprocessors

buses

data paths

interfaces

logic cells

switch elements

A simple system design classification

Swiss Federal Institute of Technology

7 - 10

Computer Engineering and Networks Laboratory

Example: Code-size Efficiency Code size


CISC machines: RISC machines designed for run-time-, not for code-size-efficiency. Compression techniques: key idea

(de)compressor

Swiss Federal Institute of Technology

7 - 11

Computer Engineering and Networks Laboratory

Example: Multimedia Instructions Multimedia-Instructions


Multimedia instructions exploit that many registers, adders etc are quite wide (32/64 bit) whereas most multimedia data types are bit), narrow ( g (e.g. 8 bit p color, 16 bit p audio sample p channel) per , per p per ) 2-8 values can be stored per register and added. E.g.:

+ 4 additions per instruction; carry disabled at word boundaries. boundaries


Swiss Federal Institute of Technology 7 - 12 Computer Engineering and Networks Laboratory

Example: Heterogeneous registers


Example (ADSP 210x):
P D

AX

AY AF

MX

MY MF

Addressregisters A0, A1, A2 .. +,-,.. Address g generation unit (AGU)


AR

* +,MR

Different functionality of registers A AX AY AF MX MY MF MR Diff tf ti lit f i t An, AX, AY, AF,MX, MY, MF,
Swiss Federal Institute of Technology 7 - 13 Computer Engineering and Networks Laboratory

Example: Multiple memory banks or memories


P D

AX

AY AF

MX

MY MF

Addressregisters A0, A1, A2 .. +,-,.. Address generation unit (AGU)


AR

* +,+
MR

Simplifies p p parallel fetches


Swiss Federal Institute of Technology 7 - 14 Computer Engineering and Networks Laboratory

Example: Address generation units


Example (ADSP 210x):
Data memory can only be fetched with address contained in A, but this can be done in parallel with operation in main data p p path (takes ( effectively 0 time). A := A 1 also takes 0 time, : same for A := A M;

Swiss Federal Institute of Technology

7 - 15

Computer Engineering and Networks Laboratory

Example: Modulo addressing


Modulo addressing: Am++ Am:=(Am+1) mod n (implements ring or circular buffer in memory) sliding window x

t1

x[t]: value accessed at time t

.. x[t1-1] [t1 1] x[t1] x[t1-n+1] x[t1-n+2] .. Memory, t=t1

.. x[t1-1] x[t1] [ ] x[t1+1] x[t1-n+2] .. Memory, t2=t1+1


Computer Engineering and Networks Laboratory

Swiss Federal Institute of Technology

7 - 16

Topics
System Specialization Application Specific Instruction Sets
Micro Controller Digital Signal Processors and VLIW

Programmable Hardware ASICs System-on-Chip

Swiss Federal Institute of Technology

7 - 17

Computer Engineering and Networks Laboratory

Control Dominated Systems


Reactive systems with event driven behavior Underlying semantics of system description (input model of computation) typically (coupled) Finite State Machines or Petri Nets
I/O signals g

output signals output signals


Swiss Federal Institute of Technology 7 - 18 Computer Engineering and Networks Laboratory

Microcontroller
control-dominant applications
supports process scheduling and synchronization preemption (interrupt) (interrupt), context switch short latency times

low power consumption peripheral units often integrated suited for real-time applications

8051 core
SIECO51 (Siemens)

Swiss Federal

Major Institute of Components System Technology

7 - 19

Computer Engineering and Networks Laboratory

Microcontroller as a System on Chip System-on-Chip


processor 80C51 15 - vector interrupt timer 0 (16 bit) timer 1 (16 bit) timer 2 (16 bit) 8K8 ROM (87C552 8K8 EPROM)256 x 8 RAM

complete system timers I2C-bus and par./ser. interfaces for communi communication A/D converter watchdog (SW activity timeout): safety on-chip memory interrupt controller p

A/DC 10 - bit PWM UART watchdog (T3) I2C parallel ports 1 through 5 p p g

Philips 83 C552: 8 bit-8051 based microcontroller

Swiss Federal Institute of Technology

7 - 20

Computer Engineering and Networks Laboratory

Topics
System Specialization Application Specific Instruction Sets
Micro Controller Digital Signal Processors and VLIW

Programmable Hardware ASICs System-on-Chip

Swiss Federal Institute of Technology

7 - 21

Computer Engineering and Networks Laboratory

Data Dominated Systems


Streaming oriented systems with mostly periodic behavior b h i Underlying semantics of input description e.g. flow graphs (input model of computation) ( input computation )
B f1 B f2 B f3 B

f2

B: buffer

Application examples: signal processing control processing, engineering


Swiss Federal Institute of Technology 7 - 22 Computer Engineering and Networks Laboratory

Digital Signal Processor


optimized for data-flow applications suited for simple control flow parallel hardware units (VLIW) specialized instruction set high data throughput zero-overhead loops specialized memory suited for real-time applications

3.4.3.1

Swiss Federal

Major Institute of Components System Technology

7 - 23

Computer Engineering and Networks Laboratory

MAC (multiply & accumulate)


sum = 0.0; for (i=0; i<N; i++) sum = sum + a[i]*b[i];

zero overhead zero-overhead loop (repeat next instruction N times)

MAC - Instruktion

LDF LDF RPTS MPYF3 || ADDF3

0, R0 0, R1 N *(AR0)++, *(AR1)++, R0 R0, R1, R1

TMS320C3x Assembler (Texas Instruments)


Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory

7 - 24

Very Long Instruction Word (VLIW)


Key idea: detection o poss b e pa a e s to be do e by ey dea detect o of possible parallelism done compiler, not by hardware at run-time (inefficient).

3.4.3.3

VLIW: parallel operations (instructions) encoded in one long word (instruction packet), each instruction controlling one functional unit. E.g.:

Swiss Federal Institute of Technology

7 - 25

Computer Engineering and Networks Laboratory

Explicit Parallelism Instruction Computers


The TMS320C62xx VLIW Processor as an example of EPIC: 31 Instr. A 0 31 0 Instr. B 0 31 1 Instr. C 0 31 1 Instr. D 0 31 0 Instr. E 0 31 1 Instr. F 0 31 1 Instr. G 0 0

Cycle C l 1 2 3
Swiss Federal Institute of Technology

Instruction I t ti A B E C F D G
7 - 26 Computer Engineering and Networks Laboratory

Example: Philips TriMedia TM1000


SDRAM Main Memory Interface
32 bits data 400 MB/sec

CCIR601/656 YUV 4:2:2 38 MHz (19 Mpix/sec) Stereo digital audio I2S DC-100 kHz 2/4/6/8 ch. digital audio I2S DC-100 kHz I2C bus to b t camera, etc.

Video In

VLD p Coprocessor Video Out

Huffman decoder Slice-at-a-time MPEG-1 & 2 CCIR60/656 YUV 4:2:2 80 MHz (40 Mpix/sec)

Audio In

Audio Out

Timers Synchronous Serial S i l Interface Image Coprocessor

I2C Interface
32K

V.34 V 34 or ISDN Front End Down & up scaling YUV RGB 50 Mpix/sec PCI (32 bits, 33 MHz)

VLIW I$ CPU 16K


D$
Rolf Ernst

TM - 1000

PCI Interface

Swiss Federal Institute of Technology

7 - 27

Computer Engineering and Networks Laboratory

Example: M3 VLIW DSP Processor

Designed at TU Dresden (G. Fettweis et al.)


Swiss Federal Institute of Technology 7 - 28 Computer Engineering and Networks Laboratory

Topics
System Specialization Application Specific Instruction Sets
Micro Controller Digital Signal Processors and VLIW

Programmable Hardware ASICs System-on-Chip

Swiss Federal Institute of Technology

7 - 29

Computer Engineering and Networks Laboratory

FPGA Basic Strucutre


Logic Units I/O Units Connections

3.4.4

Swiss Federal Institute of Technology

7 - 30

Computer Engineering and Networks Laboratory

FPGA - Classification
Granularity of logic units:
Gate, tables, memory, functional blocks (ALU, control, data path, processor)

Communication network:
Crossbar hierarchical mesh tree Crossbar, mesh,

Reconfiguration:
fixed at production time, once at design time, dynamic during run-time

Swiss Federal Institute of Technology

7 - 31

Computer Engineering and Networks Laboratory

Floor plan Floor-plan of VIRTEX II FPGAs

Swiss Federal Institute of Technology

7 - 32

Computer Engineering and Networks Laboratory

Virtex Logic Cell

[ and source: Xilinx Inc.: Virtex-II Pro Platform FPGAs: Functional Description, Sept. 2002, //www.xilinx.com]
Swiss Federal Institute of Technology 7 - 33 Computer Engineering and Networks Laboratory

Virtex II Pro Devices include up to 4 PowerPC processor cores

[ [ and source: Xilinx Inc.: Virtex-II Pro Platform FPGAs: Functional Description, Sept. 2002, //www.xilinx.com]
Swiss Federal Institute of Technology 7 - 34 Computer Engineering and Networks Laboratory

Topics
System Specialization Application Specific Instruction Sets
Micro Controller Digital Signal Processors and VLIW

Programmable Hardware ASICs System-on-Chip

Swiss Federal Institute of Technology

7 - 35

Computer Engineering and Networks Laboratory

Application Specific Circuits (ASICS)


Custom-designed circuits necessary C t d i d i it
if ultimate speed or energy efficiency is the goal and large numbers can be sold.

Approach suffers from


long design times, lack of flexibility (changing standards) and high costs (e.g. Mill. $ mask costs).
Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory

7 - 36

Topics
System Specialization Application Specific Instruction Sets
Micro Controller Digital Signal Processors and VLIW

Programmable Hardware ASICs System-on-Chip

Swiss Federal Institute of Technology

7 - 37

Computer Engineering and Networks Laboratory

Configurable System On Chip System-On-Chip

Swiss Federal Institute of Technology

7 - 38

Computer Engineering and Networks Laboratory

System on a Chip System-on-a-Chip

[NTNU] Tensilica synthesized and g p Confgurable microprocessor (Soft IP)

Swiss Federal Institute of Technology

7 - 39

Computer Engineering and Networks Laboratory

Trend: multiprocessor systems-on-a-chip (MPSoCs) p y p( )


http://ww ww.mpsoc c-forum.org g/2007/slid des/Hattori.pdf
Swiss Federal Institute of Technology 7 - 40 Computer Engineering and Networks Laboratory

Multiprocessor systems-on-a-chip (MPSoCs) systems on a chip


h http://www w.mpsoc-fo orum.org/2 2007/slide es/Hattori.pdf
Swiss Federal Institute of Technology 7 - 41 Computer Engineering and Networks Laboratory

Multiprocessor systems-on-a-chip (MPSoCs) y ( )


h http://www w.mpsoc-fo orum.org/2 2007/slide es/Hattori.pdf
Swiss Federal Institute of Technology 7 - 42 Computer Engineering and Networks Laboratory

Multiprocessor systems-on-a-chip (MPSoCs) u t p ocesso syste s o a c p ( SoCs)


h http://www w.mpsoc-fo orum.org/2 2007/slide es/Hattori.pdf
Swiss Federal Institute of Technology 7 - 43 Computer Engineering and Networks Laboratory

Вам также может понравиться