1. Introduction to Embedded System Design



Similar documents
Embedded System Hardware - Processing (Part II)

7a. System-on-chip design and prototyping platforms

Architectures and Platforms

What is a System on a Chip?

Embedded System Design: Embedded Systems Foundations of Cyber-Physical Systems

Software engineering for real-time systems

Lesson 7: SYSTEM-ON. SoC) AND USE OF VLSI CIRCUIT DESIGN TECHNOLOGY. Chapter-1L07: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

Open Flow Controller and Switch Datasheet

Chapter 6. Inside the System Unit. What You Will Learn... Computers Are Your Future. What You Will Learn... Describing Hardware Performance

EMBEDDED SYSTEM BASICS AND APPLICATION

Computer and Set of Robots

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Logical Operations. Control Unit. Contents. Arithmetic Operations. Objectives. The Central Processing Unit: Arithmetic / Logic Unit.

Computer Systems Structure Input/Output

ELEC 5260/6260/6266 Embedded Computing Systems

Chapter 2 Features of Embedded System

Chapter 1 Lesson 3 Hardware Elements in the Embedded Systems Chapter-1L03: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

CISC, RISC, and DSP Microprocessors

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Outline. Introduction. Multiprocessor Systems on Chip. A MPSoC Example: Nexperia DVP. A New Paradigm: Network on Chip

Reconfigurable Computing. Reconfigurable Architectures. Chapter 3.2

Embedded Systems on ARM Cortex-M3 (4weeks/45hrs)

How To Design An Image Processing System On A Chip

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory

Getting Started with Embedded System Development using MicroBlaze processor & Spartan-3A FPGAs. MicroBlaze

Reconfigurable System-on-Chip Design

Architectural Level Power Consumption of Network on Chip. Presenter: YUAN Zheng

Computer Organization and Components

Computer Performance. Topic 3. Contents. Prerequisite knowledge Before studying this topic you should be able to:

Discovering Computers Living in a Digital World

Chapter 4 System Unit Components. Discovering Computers Your Interactive Guide to the Digital World

Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor

SOC architecture and design

ARM Microprocessor and ARM-Based Microcontrollers

MVME162P2. VME Embedded Controller with Two IP Slots

Fondamenti su strumenti di sviluppo per microcontrollori PIC

Design Issues in a Bare PC Web Server

A Survey on ARM Cortex A Processors. Wei Wang Tanima Dey

System Considerations

Lecture 2: Computer Hardware and Ports.

BUILD VERSUS BUY. Understanding the Total Cost of Embedded Design.

İSTANBUL AYDIN UNIVERSITY

Management Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System?

Overview. CISC Developments. RISC Designs. CISC Designs. VAX: Addressing Modes. Digital VAX

Lesson 10:DESIGN PROCESS EXAMPLES Automatic Chocolate vending machine, smart card and digital camera

Introducción. Diseño de sistemas digitales.1

Software Stacks for Mixed-critical Applications: Consolidating IEEE AVB and Time-triggered Ethernet in Next-generation Automotive Electronics

Seeking Opportunities for Hardware Acceleration in Big Data Analytics

EagleVision Mobile DVR Security system With GPS Tracking & Data analysis m

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-12: ARM

Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2

FPGA. AT6000 FPGAs. Application Note AT6000 FPGAs. 3x3 Convolver with Run-Time Reconfigurable Vector Multiplier in Atmel AT6000 FPGAs.

EEM870 Embedded System and Experiment Lecture 1: SoC Design Overview

The Central Processing Unit:

The Motherboard Chapter #5

Computer System: User s View. Computer System Components: High Level View. Input. Output. Computer. Computer System: Motherboard Level

(Refer Slide Time: 02:39)

Operating Systems 4 th Class

Computer System Design. System-on-Chip

Lecture 1. Introduction to Embedded Computer Systems

ARM Cortex -A8 SBC with MIPI CSI Camera and Spartan -6 FPGA SBC1654

All Programmable Logic. Hans-Joachim Gelke Institute of Embedded Systems. Zürcher Fachhochschule

Design of a High Speed Communications Link Using Field Programmable Gate Arrays

Networking Virtualization Using FPGAs

Microtronics technologies Mobile:

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC Microprocessor & Microcontroller Year/Sem : II/IV

Networking Remote-Controlled Moving Image Monitoring System

RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition

Lecture N -1- PHYS Microcontrollers

Embedded System Design (Embedded Systems Foundations of Cyber-Physical Systems)

Price/performance Modern Memory Hierarchy

NORTHEASTERN UNIVERSITY Graduate School of Engineering

SOFTWARE RADIO APPROACH FOR RE-CONFIGURABLE MULTI-STANDARD RADIOS

Embedded Systems. introduction. Jan Madsen

Simplifying Embedded Hardware and Software Development with Targeted Reference Designs

Pre-tested System-on-Chip Design. Accelerates PLD Development

FLIX: Fast Relief for Performance-Hungry Embedded Applications

Implementation of a Wimedia UWB Media Access Controller

Qsys and IP Core Integration

Power Reduction Techniques in the SoC Clock Network. Clock Power

COMPUTER HARDWARE. Input- Output and Communication Memory Systems

Mobile Processors: Future Trends

Design of a remote image monitoring system based on GPRS

Chapter 2 Logic Gates and Introduction to Computer Architecture

NIOS II Based Embedded Web Server Development for Networking Applications

on-chip and Embedded Software Perspectives and Needs

Low-Overhead Hard Real-time Aware Interconnect Network Router

An Embedded Based Web Server Using ARM 9 with SMS Alert System

Palaparthi.Jagadeesh Chand. Associate Professor in ECE Department, Nimra Institute of Science & Technology, Vijayawada, A.P.

Eureka Technology. Understanding SD, SDIO and MMC Interface. by Eureka Technology Inc. May 26th, Copyright (C) All Rights Reserved

BDTI Solution Certification TM : Benchmarking H.264 Video Decoder Hardware/Software Solutions

Embedded System Design: Embedded Systems Foundations of Cyber-Physical Systems

Hardware: Input, Processing, and Output Devices. A PC in Every Home. Assembling a Computer System

Development of an Internet based Embedded System for Smart House Controlling and Monitoring

THREE YEAR DEGREE (HONS.) COURSE BACHELOR OF COMPUTER APPLICATION (BCA) First Year Paper I Computer Fundamentals

Learning Outcomes. Simple CPU Operation and Buses. Composition of a CPU. A simple CPU design

Developing Embedded Applications with ARM Cortex TM -M1 Processors in Actel IGLOO and Fusion FPGAs. White Paper

85MIV2 / 85MIV2-L -- Components Locations

Computer Architecture TDTS10

Transcription:

1. Introduction to Embedded System Design Lothar Thiele ETH Zurich, Switzerland 1-1

Contents of Lectures (Lothar Thiele) 1. Introduction to Embedded System Design 2. Software for Embedded Systems 3. Real-Time Scheduling 4. Design Space Exploration 5. Performance Analysis The slides contain material from the Embedded System Design Book and Lecture of Peter Marwedel and from the Hard Real-Time Computing Systems Book of Giorgio Buttazzo. 1-2

Topics General Introduction to Embedded Systems Hardware Platforms and Components! System Specialization! Application Specific Instruction Sets Micro Controller Digital Signal Processors and VLIW! Programmable Hardware! ASICs! System-on-Chip 1-3

Embedded Systems Embedded systems (ES) = information processing systems embedded into a larger product Examples: Main reason for buying is not information processing 1-4

Embedded Systems external process human interface embedded system sensors, actuators 1-5

Examples of Embedded Systems Car as an integrated control-, communication and information system. ABS gear box information motor control climate control 1-6

Examples of Embedded Systems Consumer electronics, for example MP3 Audio, digital camera, home electronics,. user interface processor sensors actuators 1-7

Examples of Embedded Systems Production systems 1-8

Examples of Embedded Systems Information systems, for example wireless communication (mobile phone, Wireless LAN, ), end-user equipment, router, 1-9

Communicating Embedded Systems Example: BTnodes (http://www.btnode.ethz.ch)! complete platform including OS! especially suited for pervasive computing applications Sensor Actuator 1-10

BTnode Platform Data Interfaces Communication via Bluetooth Transceiver generic platform for ad-hoc computing complete platform including OS especially suited for pervasive computing applications Microprocessor and Memory Batteries 1-11 2 nd Radio

Communicating Embedded Systems! sensor networks (civil engineering, buildings, environmental monitoring, traffic, emergency situations)! smart products, wearable/ubiquitous computing MICS 1-12

Characteristics of Embedded Systems (1) Must be dependable:! Reliability: R(t) = probability of system working correctly provided that is was working at t=0! Maintainability: M(d) = probability of system working correctly d time units after error occurred.! Availability: probability of system working at time t! Safety: no harm to be caused! Security: confidential and authentic communication Even perfectly designed systems can fail if the assumptions about the workload and possible errors turn out to be wrong. Making the system dependable must not be an after-thought, it must be considered from the very beginning. 1-13

Characteristics of Embedded Systems (2) Must be efficient:! Energy efficient! Code-size efficient (especially for systems on a chip)! Run-time efficient! Weight efficient! Cost efficient Dedicated towards a certain application: Knowledge about behavior at design time can be used to minimize resources and to maximize robustness. Dedicated user interface (no mouse, keyboard and screen). 1-14

Characteristics of Embedded Systems (3) Many ES must meet real-time constraints:! A real-time system must react to stimuli from the controlled object (or the operator) within the time interval dictated by the environment.! For real-time systems, right answers arriving too late (or even too early) are wrong. A real-time constraint is called hard, if not meeting that constraint could result in a catastrophe [Kopetz, 1997].! All other time-constraints are called soft.! A guaranteed system response has to be explained without statistical arguments. 1-15

Characteristics of Embedded Systems (4) Frequently connected to physical environment through sensors and actuators, Hybrid systems (analog + digital parts). Typically, ES are reactive systems: A reactive system is one which is in continual interaction with is environment and executes at a pace determined by that environment [Bergé, 1995]! Behavior depends on input and current state. " automata model often appropriate, 1-16

Comparison Embedded Systems! Few applications that are known at design-time.! Not programmable by end user.! Fixed run-time requirements (additional computing power not useful).! Criteria: cost power consumption predictability General Purpose Computing! Broad class of applications.! Programmable by end user.! Faster is better.! Criteria: cost average speed 1-17

Topics General Introduction to Embedded Systems Hardware Platforms and Components! System Specialization! Application Specific Instruction Sets Micro Controller Digital Signal Processors and VLIW! Programmable Hardware! ASICs! System-on-Chip 1-18

Embedded System Hardware Embedded system hardware is frequently used in a loop ( hardware in a loop ): this course embedded system actuators 1-19

Typical Architecture To Outside World Peripheral Bus Microprocessor 4, 8, 16, 32, 4 bit bus CISC, RISC, DSP Integrated peripherals Debug/Test Port Caches Pipeline Multiprocessing Systems DEBUG Port Software Application Code Driver Code / BIOS Real Time Operating System User Interface Communications Protocol Stacks C, C++, Assembly Language, ADA Legacy Code Non-volatile memory EPROM, FLASH, DISK Hybrid Volatile Memory DRAM, SRAM Hybrid System Clocks RTC circuitry System clocks Integrated in uc Imported/Exported 1-20 Custom Devices ASIC FPGA PAL Standard Devices I/O Ports Peripheral Controllers Communication Devices Ethernet RS-232 SCSI Centronics Proprietary Microprocessor Bus Custom PCI VME PC-102

Topics General Introduction to Embedded Systems Hardware Platforms and Components! System Specialization! Application Specific Instruction Sets Micro Controller Digital Signal Processors and VLIW! Programmable Hardware! ASICs! System-on-Chip 1-21

Implementation Alternatives General-purpose processors 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) 1-22

General-purpose Processors High performance! Highly optimized circuits and technology! Use of parallelism superscalar: dynamic scheduling of instructions super-pipelining: instruction pipelining, branch prediction, speculation! complex memory hierarchy Not suited for real-time applications! Execution times are highly unpredictable because of intensive resource sharing and dynamic decisions Properties! Good average performance for large application mix! High power consumption 1-23

Pentium P4 1-24

System Specialization The main difference between general purpose highest volume microprocessors and embedded systems is specialization. Specialization should respect flexibility! 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 1-25

Example: Code-size Efficiency CISC machines: RISC machines designed for run-time-, not for code-size-efficiency. Compression techniques: key idea (de)compressor 1-26

Example: Multimedia-Instructions Multimedia instructions exploit that many registers, adders etc are quite wide (32/64 bit), whereas most multimedia data types are narrow (e.g. 8 bit per color, 16 bit per audio sample per channel) " 2-8 values can be stored per register and added. E.g.: + 4 additions per instruction; carry disabled at word boundaries. 1-27

Example: Heterogeneous registers Example (ADSP 210x): D P Addressregisters A0, A1, A2.. AX AY AF MX MY MF Address generation unit (AGU) +,-,.. AR * +,- MR Different functionality of registers An, AX, AY, AF,MX, MY, MF, MR 1-28

Example: Multiple memory banks or memories D P Addressregisters A0, A1, A2.. AX AY AF MX MY MF Address generation unit (AGU) +,-,.. AR * +,- MR Simplifies parallel fetches 1-29

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 path (takes effectively 0 time). A := A ± 1 also takes 0 time, same for A := A ± M; 1-30

Example: Modulo addressing Modulo addressing: Am++ Am:=(Am+1) mod n (implements ring or circular buffer in memory) x sliding window t1 t n most recent values.. x[t1-1] x[t1] x[t1-n+1] x[t1-n+2].... x[t1-1] x[t1] x[t1+1] x[t1-n+2].. Memory, t=t1 1-31 Memory, t2=t1+1

Topics General Introduction to Embedded Systems Hardware Platforms and Components! System Specialization! Application Specific Instruction Sets Micro Controller Digital Signal Processors and VLIW! Programmable Hardware! ASICs! System-on-Chip 1-32

Control Dominated Systems Reactive systems with event driven behavior Underlying semantics of system description ( input model of computation ) typically (coupled) Finite State Machines I/O signals output signals output signals 1-33

Microcontroller control-dominant applications! supports process scheduling and synchronization! preemption (interrupt), context switch! short latency times low power consumption peripheral units often integrated suited for real-time applications SIECO51 (Siemens) 8051 core Major System Components 1-34

Topics General Introduction to Embedded Systems Hardware Platforms and Components! System Specialization! Application Specific Instruction Sets Micro Controller Digital Signal Processors and VLIW! Programmable Hardware! ASICs! System-on-Chip 1-35

Data Dominated Systems Streaming oriented systems with mostly periodic behavior Underlying semantics of input description e.g. flow graphs ( input model of computation ) B f 1 B f 2 B f 3 B B f 2 B: buffer Application examples: signal processing, control engineering 1-36

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 Major System Components 1-37

MAC (multiply & accumulate) sum = 0.0; for (i=0; i<n; i++) sum = sum + a[i]*b[i]; zero-overhead loop (repeat next instruction N times) MAC - Instruktion LDF 0, R0 LDF 0, R1 RPTS N MPYF3 *(AR0)++, *(AR1)++, R0 ADDF3 R0, R1, R1 TMS320C3x Assembler (Texas Instruments) 1-38

Very Long Instruction Word (VLIW) Key idea: detection of of possible parallelism to to be be done by by compiler, not by by hardware at at run-time (inefficient). VLIW: parallel operations (instructions) encoded in in one long word (instruction packet), each instruction controlling one functional unit. E.g.: 1-39

Example: Philips TriMedia TM1000 SDRAM 32 bits data 400 MB/sec CCIR601/656 YUV 4:2:2 38 MHz (19 Mpix/sec) Stereo digital audio I 2 S DC-100 khz 2/4/6/8 ch. digital audio I 2 S DC-100 khz I 2 C bus to camera, etc. Video In Audio In Audio Out I 2 C Interface Main Memory Interface VLD Coprocessor Video Out Timers Synchronous Serial Interface Huffman decoder Slice-at-a-time MPEG-1 & 2 CCIR60/656 YUV 4:2:2 80 MHz (40 Mpix/sec) V.34 or ISDN Front End Rolf Ernst VLIW CPU 32K I$ 16K D$ TM - 1000 Image Coprocessor PCI Interface Down & up scaling YUV RGB 50 Mpix/sec PCI (32 bits, 33 MHz) 1-40

Topics General Introduction to Embedded Systems Hardware Platforms and Components! System Specialization! Application Specific Instruction Sets Micro Controller Digital Signal Processors and VLIW! Programmable Hardware! ASICs! System-on-Chip 1-41

FPGA Basic Strucutre Logic Units I/O Units Connections 1-42

FPGA - Classification Granularity of logic units:! Gate, tables, memory, functional blocks (ALU, control, data path, processor) Communication network:! Crossbar, hierarchical mesh, tree Reconfiguration:! fixed at production time, once at design time, dynamic during run-time 1-43

Floor-plan of VIRTEX II FPGAs 1-44

Virtex Logic Cell [ and source: Xilinx Inc.: Virtex-II Pro Platform FPGAs: Functional Description, Sept. 2002, //www.xilinx.com] 1-45

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] 1-46

Topics General Introduction to Embedded Systems Hardware Platforms and Components! System Specialization! Application Specific Instruction Sets Micro Controller Digital Signal Processors and VLIW! Programmable Hardware! ASICs! System-on-Chip 1-47

Application Specific Circuits (ASICS) Custom-designed circuits necessary! 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). 1-48

Topics General Introduction to Embedded Systems Hardware Platforms and Components! System Specialization! Application Specific Instruction Sets Micro Controller Digital Signal Processors and VLIW! Programmable Hardware! ASICs! System-on-Chip 1-49

Configurable System-On-Chip 1-50

System-on-a-Chip [NTNU] Tensilica synthesized and Confgurable microprocessor (Soft IP) 1-51