22

Architecture of Embedded Systems - ULisboa · Architecture of Embedded Systems José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto

Embed Size (px)

Citation preview

Page 1: Architecture of Embedded Systems - ULisboa · Architecture of Embedded Systems José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto

Architecture of Embedded Systems

José Costa

Software for Embedded Systems

Department of Computer Science and Engineering (DEI)Instituto Superior Técnico

Adapted from the Lecture Slides for Embedded Systems Architecture

2012-02-28

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 1 / 44

Outline

Embedded System Design and Development Process

6 Stages of Creating an Embedded Architecture

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 2 / 44

Page 2: Architecture of Embedded Systems - ULisboa · Architecture of Embedded Systems José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto

Levels of abstraction

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 3 / 44

Embedded System Design and Development

Process

Creating the architecture

Implementing the architecture

Testing the system, and

Maintaining the system

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 4 / 44

Page 3: Architecture of Embedded Systems - ULisboa · Architecture of Embedded Systems José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto

Embedded Systems Design and Development

Lifecycle Model

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 5 / 44

What is an Embedded Systems Architecture?

Embedded System Architecture

Is an abstraction of the embedded device that represents theembedded system as some combination of interacting elements.

Typically doesn't show detailed implementation information

Represented as some composition of interlacing elements

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 6 / 44

Page 4: Architecture of Embedded Systems - ULisboa · Architecture of Embedded Systems José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto

Sum of Elements = Embedded Architecture

An embedded architecture includes

Elements of the embedded system

Elements interacting with an embedded system

The properties of each of the individual elements, and

The interactive relationships between the elements

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 7 / 44

Elements of an Architecture

Elements are representations of hardware and/or software

Implementation details have been abstracted out

Only behavioral and inter-relationship information

Examples

ClassLayersKernelClient/ServerProcessMemory. . .

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 8 / 44

Page 5: Architecture of Embedded Systems - ULisboa · Architecture of Embedded Systems José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto

Major Types of Elements

Module

hardware and/or software that the system needs to functioncorrectly

Component and Connector

main hw/sw processing units, such as processors, a Java VirtualMachine, etc.communication mechanism that inter-connects components,such as a hardware bus, or software OS messages, etc.

Allocation

relationships between sw and/or hw elements, and externalelements in various environmentse.g. where the software resides in the hardware

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 9 / 44

Why care about the architecture of an embedded

system?

Powerful tools used to understand an embedded systems designor to resolve challenges faced when designing a new system

Solid basis for analyzing and testing the quality of a device andits performance

Accurately estimates and reduces costs through itsdemonstration of the risks involved in implementing the variouselements

Leveraged for designing future products with similarcharacteristics

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 10 / 44

Page 6: Architecture of Embedded Systems - ULisboa · Architecture of Embedded Systems José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto

Importance of Architecture

Every embedded system has an architecture, whether it is or isnot documented

It is a useful tool in understanding all of the major elements

why each component is therewhy the elements behave the way they dohow they interacthow they behave in the real world

Even if the architectural structures are rough and informal, it isstill better than nothing!

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 11 / 44

6 Stages of Creating an Embedded Architecture

Many industry popular methodologies for creating architectures(adaptable to embedded systems)

Rational Uni�ed Process (RUP), Attribute Driven Design(ADD), Object Oriented Process (OOP), . . .

More Pragmatic Approach [the best of all worlds]

Stage 1 : Having a Solid Technical BaseStage 2 : Understanding the Architectural Business Cycle ofEmbedded SystemsStage 3 : De�ning the Architectural Patterns and ReferenceModelsStage 4 : Creating the Architectural StructuresStage 5 : Documenting the ArchitectureStage 6 : Analyzing & Evaluating the Architecture

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 12 / 44

Page 7: Architecture of Embedded Systems - ULisboa · Architecture of Embedded Systems José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto

Embedded Systems Model

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 13 / 44

Know Your Standards (1/2)

Standards dictate how the components should be designed, and

what additional components are required in the system to allowfor their successful integration and function.

Can be classi�ed as

market-speci�c standardsgeneral-purpose standards, orstandards that are applicable to both categories

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 14 / 44

Page 8: Architecture of Embedded Systems - ULisboa · Architecture of Embedded Systems José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto

Know Your Standards (2/2)

Market Speci�c

Consumer Electronics, Medical, Industrial Automation &Control, Networking & Communications, Automotive, Aerospace& Defense, O�ce Automation, . . .

General Purpose

Networking, Programming Language, Security, QualityAssurance, . . .

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 15 / 44

Hardware Layer: Many Many Many Embedded

Processors To Choose FromArchitecture Processor Main ManufacturerAMD Au1xxx Advanced Micro DevicesARM ARM7, ARM9, . . . ARMColdFire 5282, 5272, 5307, 5407,. . . MotorolaM Core MMC2113, MMC2114,. . . MotorolaMIPS32 R3K, R4K, 5K, 16,. . . MTI4kx, IDT, MIPS TechnologiesNEC Vr55xx, Vr54xx, Vr41xx NEC CorporationPowerPC (PPC) 82xx, 74xx,8xx,7xx,6xx,5xx,4xx IBM, Motorola68k 680x0, 683xx MotorolaSuperH (SH) SH3 (7702,7707, 7708,7709), Hitachi

SH4 (7750)SHARC SHARC Analog Devices, Transtech DSP,

RadstonestrongARM strongARM IntelSPARC UltraSPARC II Sun MicrosystemsTMS320C6xxx TMS320C6xxx Texas Instrumentsx86 X86 [386,486,Pentium Intel, Transmeta,

(II, III, IV). . . ] National Semiconductor, Atlas,. . .TriCore TriCore1, TriCore2, . . . In�neon. . .

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 16 / 44

Page 9: Architecture of Embedded Systems - ULisboa · Architecture of Embedded Systems José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto

ISA Models

Application Speci�c

ControllerDatapathFinite State Machine with Datapath [FSMD]Java Virtual Machine. . .

General Purpose

Complex Instruction Set Computing [CISC]Reduced Instruction Set Computing [RISC]

Instruction Level Parallelism

Single Instruction Multiple Data [SIMD]Superscaler MachineVery Long Instruction Word (VLIW) Computing. . .

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 17 / 44

Implementing an ISA & Von-Neumann

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 18 / 44

Page 10: Architecture of Embedded Systems - ULisboa · Architecture of Embedded Systems José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto

Embedded Software: The System Software Layer

(1/3)

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 19 / 44

Embedded Software: The System Software Layer

(2/3)

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 20 / 44

Page 11: Architecture of Embedded Systems - ULisboa · Architecture of Embedded Systems José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto

Embedded Software: The System Software Layer

(3/3)

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 21 / 44

What are Device Drivers?

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 22 / 44

Page 12: Architecture of Embedded Systems - ULisboa · Architecture of Embedded Systems José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto

Most Common Types of Device Drivers Routines

Hardware Startup - initialization of the hardware upon power-on or reset

Hardware Shutdown - con�guring hardware into its power-o� state

Hardware Disable, - allowing other software to disable hardware on-the-�y

Hardware Enable - allowing other software to enable hardware on-the-�y

Hardware Acquire - allowing other software gain singular (locking) access tohardware

Hardware Release - allowing other software to free (unlock) hardware

Hardware Read - allowing other software to read data from hardware

Hardware Write - allowing other software to write data to hardware

Hardware Install - allowing other software to install new hardware on-the-�y

Hardware Uninstall - allowing other software to remove installed hardwareon-the-�y

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 23 / 44

Embedded Operating Systems

Process Management

Process ImplementationSchedulingIntertask Communication& Synchronization. . .

Memory Management

SegmentationPagingVirtual MemorySystem Security. . .

I/O System Management

File System. . .

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 24 / 44

Page 13: Architecture of Embedded Systems - ULisboa · Architecture of Embedded Systems José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto

OS Models

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 25 / 44

Evolution of programming languages

Generation Language Details1st Machine code Binary (0,1) and hardware dependent.2nd Assembly language Hardware-dependent representing corresponding

binary machine code.3rd HOL High-level languages with more English-like

(high-order languages)/ phrases and more transportable, such as C,procedural languages Pascal, etc.

4th VHLL �Very� high-level languages: object-oriented(very high level languages)/ languages (C++, Java,. . . ), database querynon-procedural languages languages (SQL), etc.

5th Natural languages Programming similar to conversationallanguages, typically used in arti�cialintelligence (AI). Still in the researchand development phases in most cases�notyet applicable in mainstream embedded systems.

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 26 / 44

Page 14: Architecture of Embedded Systems - ULisboa · Architecture of Embedded Systems José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto

How can a Programming Language Spec Add to

An Embedded System's Architecture ?

Translating Code

Interpretation, Just-in-Time (JIT), Way-Ahead-of-Time(WAT)/Ahead-of-Time (AOT)

Garbage Collection

Copying, Mark&Sweep, Generational, . . .

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 27 / 44

Translation of Code on Host: Compiling

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 28 / 44

Page 15: Architecture of Embedded Systems - ULisboa · Architecture of Embedded Systems José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto

Translation of Code on Target (1/2)

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 29 / 44

Translations of Code on Target (2/2)

Translating Code

InterpretationJust-in-Time (JIT)Way-Ahead-of-Time/Ahead-of-Time (WAT/AOT)

Garbage Collection

CopyingMark & SweepGenerational

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 30 / 44

Page 16: Architecture of Embedded Systems - ULisboa · Architecture of Embedded Systems José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto

Garbage Collection : Copying

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 31 / 44

Garbage Collection : Mark&Sweep

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 32 / 44

Page 17: Architecture of Embedded Systems - ULisboa · Architecture of Embedded Systems José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto

Garbage Collection : Generational

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 33 / 44

How can Java Add to An Embedded System's

Architecture ?

Embedded JavaStandards (pJava, J2ME, Embedded Java, . . . )Processing Bytecode (Interpretation, JIT, WAT/AOT)Garbage Collection (Copying, Mark&Sweep, . . . )

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 34 / 44

Page 18: Architecture of Embedded Systems - ULisboa · Architecture of Embedded Systems José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto

How can Scripting Languages Add to An

Embedded System's Architecture ?

Scripting Languages

Perl, JavaScript, HTML, . . .Processing Bytecode (Interpretation)

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 35 / 44

Stage 2 : Understanding the ABCs [Architecture

Business Cycles] of Embedded Systems

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 36 / 44

Page 19: Architecture of Embedded Systems - ULisboa · Architecture of Embedded Systems José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto

Stage 2 : Understanding the ABCs [Architecture

Business Cycles] of Embedded Systems

1 ABC in�uences drive the requirements of an embedded system

not limited to technical ones.

1 Identify all the ABC in�uences on the design

technical, business, political and/or social

1 Engaging the various in�uences as early as possible in the designand development lifecycle and gathering the requirements of thesystem

1 Determining the possible hardware and/or software elementsthat would meet the gathered requirements.

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 37 / 44

Stage 3 : De�ning the Architectural Patterns &

Reference Models

Determine the components that meet

deadlines,time-to-market,cost, . . .

Select a programming language

Select a OS

Select a master processor

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 38 / 44

Page 20: Architecture of Embedded Systems - ULisboa · Architecture of Embedded Systems José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto

Stage 4 : De�ne the Architectural Structures

Decomposing the structures into smaller and smaller elements

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 39 / 44

Stage 5 : Document the Architecture

At least two documents

A document outlining the entire architecture.

an overview of the embedded system,the actual requirements supported by the architecture,the de�nitions of the various structures,the inter-relationships between the structures,. . .

A document for each structure

which requirements are being supported by the structurehow these requirements are being supported by the designany relative constraints, issues, or open itemsrepresentation of each of the various elements within thestructure

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 40 / 44

Page 21: Architecture of Embedded Systems - ULisboa · Architecture of Embedded Systems José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto

Stage 6 : Analyze and Evaluate Architecture

Architecture is analysed by an evaluation team

Architects and evaluation team agree on the diferent scenariosfor the architecture

Results of the evaluation should be produced

list of requirements/scenariosreturn on investment (ROI)risksstrengthsproblemsrecommended changes to the architecture

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 41 / 44

Outline

Embedded System Design and Development Process

6 Stages of Creating an Embedded Architecture

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 42 / 44

Page 22: Architecture of Embedded Systems - ULisboa · Architecture of Embedded Systems José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto

References

Embedded Systems Architecture, Tammy Noergaard. Elsevier,2005. Ch. 1.

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 43 / 44

Next class

The Embedded Computing Platform: Input/Output Interfaces

José Costa (DEI/IST) Architecture of Embedded Systems 2012-02-28 44 / 44