Embedded Systems. introduction. Jan Madsen



Similar documents
FSMD and Gezel. Jan Madsen

ELEC 5260/6260/6266 Embedded Computing Systems

Architectures and Platforms

EMBEDDED SYSTEM BASICS AND APPLICATION

EEM870 Embedded System and Experiment Lecture 1: SoC Design Overview

Codesign: The World Of Practice

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

Lecture 1. Introduction to Embedded Computer Systems

Software engineering for real-time systems

Chapter 1 Basic Introduction to Computers. Discovering Computers Your Interactive Guide to the Digital World

Computer and Set of Robots

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

NATIONAL SUN YAT-SEN UNIVERSITY

COMPUTER ENGINEERING ELECTRONIC ENGINEERING MECHANICAL ENGINEERING EMBEDDED SYSTEM DESIGN YOU THINK YOU MIGHT WANT TO STUDY:

Chapter 1: Introduction. What is an Operating System?

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

CprE 588 Embedded Computer Systems Homework #1 Assigned: February 5 Due: February 15

Introduction to Digital System Design

System-on. on-chip Design Flow. Prof. Jouni Tomberg Tampere University of Technology Institute of Digital and Computer Systems.

YOU THINK YOU MIGHT WANT TO STUDY:

Multiprocessor System-on-Chip

CMPE 80U Ubiquitous and Mobile Computing

Coursework for MS leading to PhD in Electrical Engineering. 1 Courses for Digital Systems and Signal Processing

CHAPTER 4 MARIE: An Introduction to a Simple Computer

Mobile Processors: Future Trends

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

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001

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

Introduction to HW/SW Co-Design of Embedded Systems

Contents. System Development Models and Methods. Design Abstraction and Views. Synthesis. Control/Data-Flow Models. System Synthesis Models

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

Software-Programmable FPGA IoT Platform. Kam Chuen Mak (Lattice Semiconductor) Andrew Canis (LegUp Computing) July 13, 2016

Testing of Digital System-on- Chip (SoC)

The Incredible Methamorphosis of The computer in Smartphone. L incroyable métamorphose de l ordinateur en smartphone

NanopowerCommunications: Enabling the Internet of Things OBJECTS TALK

M2M & Internet of Things Opportunities

Making Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association

Chapter 2 Features of Embedded System

Lesson 6: 6 EXAMPLES OF EMBEDDED SYSTEMS. Chapter-1L06: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

Wireless Microcontrollers for Environment Management, Asset Tracking and Consumer. October 2009

Introduction to System-on-Chip

MEPTEC. Ecosystem for MCU, Sensors and MEMS for IoT Tony Massimini Chief of Technology Semico Research Corp. May 20, 2015

Lecture 3 - Model-based Control Engineering

Master of Science (Electrical Engineering) MS(EE)

Seeking Opportunities for Hardware Acceleration in Big Data Analytics

Orientation to Computer Engineering

Multimedia Systems Hardware & Software THETOPPERSWAY.COM

Computer Architecture Lecture 2: Instruction Set Principles (Appendix A) Chih Wei Liu 劉 志 尉 National Chiao Tung University

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

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

Embedded System Hardware, Software, Tools, and OS: Global Market Analysis and Forecast

Maximizing Range and Battery Life in Low-Cost Wireless Networks

Low-Level Verification of Embedded Software: Addressing the Challenge

Overview and History of Operating Systems

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

3 - Introduction to Operating Systems

Draft dpt for MEng Electronics and Computer Science

Low-Overhead Hard Real-time Aware Interconnect Network Router

Design Cycle for Microprocessors

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

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

TYPES OF COMPUTERS AND THEIR PARTS MULTIPLE CHOICE QUESTIONS

9/14/ :38

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

FRANCIS XAVIER ENGINEERING COLLEGE

Embedded Software development Process and Tools: Lesson-4 Linking and Locating Software

İSTANBUL AYDIN UNIVERSITY

CHAPTER 6: Computer System Organisation 1. The Computer System's Primary Functions

SCHOOL OF INFORMATION TECHNOLOGY. Graduate Diploma in Information Technology (Level 7) 1 Semester Bachelor of Information Technology 3 Years

Hardware Virtualization for Pre-Silicon Software Development in Automotive Electronics

Chapter 5: System Software: Operating Systems and Utility Programs

Introduction to Cloud Computing

From Concept to Production in Secure Voice Communications

Reconfigurable Architecture Requirements for Co-Designed Virtual Machines

Embedding Trust into Cars Secure Software Delivery and Installation

Modeling a GPS Receiver Using SystemC

How To Design An Image Processing System On A Chip

Router Architectures

Networked Embedded Systems: Design Challenges

Contents. Chapter 1. Introduction

The Emerging Trends in Electrical and Computer Engineering

NVM memory: A Critical Design Consideration for IoT Applications

Seven Challenges of Embedded Software Development

Video Conferencing Unit. by Murat Tasan

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

Vehicular On-board Security: EVITA Project

DesignWare IP for IoT SoC Designs

on-chip and Embedded Software Perspectives and Needs

Software Engineering for Real- Time Systems.

Computer Components Study Guide. The Case or System Box

The Central Processing Unit:

1. Introduction to Embedded System Design

Pervasive Computing. (A Very Short Introduction)

Hardware in the Loop (HIL) Testing VU 2.0, , WS 2008/09

Product Development Flow Including Model- Based Design and System-Level Functional Verification

What is a System on a Chip?

Smart Card- An Alternative to Password Authentication By Ahmad Ismadi Yazid B. Sukaimi

Hardware Resource Allocation for Hardware/Software Partitioning in the LYCOS System

How To Learn To Understand And Understand The Physics Of Chemistry

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware

Transcription:

Embedded Systems introduction Jan Madsen Informatics and Mathematical Modeling Technical University of Denmark Richard Petersens Plads, Building 321 DK2800 Lyngby, Denmark jan@imm.dtu.dk Wireless Sensor Networks Dataopsamling 02131 Embedded Systems Jan Madsen [2] 02131 Embedded Systems 1

Sensor Node Architecture sensor rtos cpu radio Mem battery sensing communicating processing 02131 Embedded Systems Jan Madsen [3] Sensor Node Architecture 8-bit, 10 MHz Slow computation sensor rtos cpu 1Kbps - 1Mbps, 3-100 Meter, Lossy Transmissions radio 128KB-1MB Limited Memory Mem battery Limited life 02131 Embedded Systems Jan Madsen [4] 02131 Embedded Systems 2

02131 Embedded Systems C programming practice, test, verification Assembly language basics Operating systems usage Interfaces SW-SW, HW-HW, SW-HW Processor design Microprocessor basics Specialized hardware sensor rtos cpu Mem radio battery 02131 Embedded Systems Jan Madsen [5] Det er ok at vise din kærste din nye computer, hvis du selv har lavet den 02131 Embedded Systems Jan Madsen [6] 02131 Embedded Systems 3

Computing systems Desktop, workstations, mainframes and servers Millions of such systems built every year! But, billions of computing systems are built every year for a very different purpose... Embedded systems accounts for 99% of all computing systems!!! 02131 Embedded Systems Jan Madsen [9] Embedded systems if... bit-pattern then... else... for {..... 001010100101101 101011101101010 001010011101101 110101001010011 101010101010001 111101010111101 010111101101010 mem io CPU rom 02131 Embedded Systems Jan Madsen [10] 02131 Embedded Systems 4

Embedded systems Systems which use a computer to perform a specific tion, but are neither used nor perceived as a computer They are embedded within larger electronic devices Repeatedly carrying out a particular tion Often completely unrecognized by the device s user Heavily resource constrained 02131 Embedded Systems Jan Madsen [11] Embedded Computing Systems? Fabrication equipment Automotives fuel injection, anti-lock brakes, airbags, etc. Avionics Flight control systems, anti-collision systems, etc. Telecommunication Mobile phones Authentication systems SMARTpen Consumer electronics Game consoles, TV sets, video, DVD, mp3, etc. Microwave ovens, washing machines, etc. Medical systems Hearing aid, smart pills, etc. 02131 Embedded Systems Jan Madsen [12] 02131 Embedded Systems 5

Medical systems: Hearing aid 02131 Embedded Systems Jan Madsen [13] Medical systems: Diagnostics 02131 Embedded Systems Jan Madsen [14] 02131 Embedded Systems 6

Smart pills 1st generation 02131 Embedded Systems Jan Madsen [15] Smart pills 2nd generation 02131 Embedded Systems Jan Madsen [16] 02131 Embedded Systems 7

Embedded Computing Systems? Smart buildings Energy control, air-conditioning, safety systems, etc. Sensor networks Environmental monitoring, animal monitoring, etc. Wearable computing 02131 Embedded Systems Jan Madsen [17] Wearable computing 02131 Embedded Systems Jan Madsen [18] 02131 Embedded Systems 8

Wearable computing 02131 Embedded Systems Jan Madsen [19] Embedded Computing Systems? Smart buildings Energy control, air-conditioning, safety systems, etc. Sensor networks Environmental monitoring, animal monitoring, etc. Wearable computing Robotics Humanoid, micro-insects, etc. 02131 Embedded Systems Jan Madsen [20] 02131 Embedded Systems 9

Flying micro-insects 02131 Embedded Systems Jan Madsen [21] How do we design these embedded systems? 02131 Embedded Systems Jan Madsen [23] 02131 Embedded Systems 10

Embedded systems design hardware software Several design groups hardware model validation software model validation Separated validations hardware prototype software prototype Prototype realization Problems arise at a very late point in the design process 02131 Embedded Systems Jan Madsen [24] Embedded systems design C/C++/Java void UnitControl() { up = down = 0; open = 1; while (1) { while (req == floor); open = 0; if (req > floor) { up = 1; else {down = 1; while (req!= floor); open = 1; delay(10); bit-pattern 001010100101101 101011101101010 001010011101101 110101001010011 101010101010001 111101010111101 010111101101010 DSP chip Size and speed requirements Need to know about hardware! 02131 Embedded Systems Jan Madsen [25] 02131 Embedded Systems 11

Hardware (chip) design C/C++/Java void UnitControl() { up = down = 0; open = 1; while (1) { while (req == floor); open = 0; if (req > floor) { up = 1; else {down = 1; while (req!= floor); open = 1; delay(10); architecture netlist Layout ASIC Size and speed requirements + energy 02131 Embedded Systems Jan Madsen [26] Principples of Codesign void UnitControl() { up = down = 0; open = 1; while (1) { while (req == floor); open = 0; if (req > floor) { up = 1; else {down = 1; while (req!= floor); open = 1; delay(10); void UnitControl() { up = down = 0; open = 1; while (1) { while (req == floor); open = 0; if (req > floor) { up = 1; else {down = 1; while (req!= floor); open = 1; delay(10); SW synthesis Interface synthesis HW synthesis CPU ASIC 02131 Embedded Systems Jan Madsen [27] 02131 Embedded Systems 12

Principples of Codesign void UnitControl() { up = down = 0; open = 1; while (1) { while (req == floor); open = 0; if (req > floor) { up = 1; else {down = 1; while (req!= floor); open = 1; delay(10); void UnitControl() { up = down = 0; open = 1; while (1) { while (req == floor); open = 0; if (req > floor) { up = 1; else {down = 1; while (req!= floor); open = 1; delay(10); SW synthesis Interface synthesis HW synthesis System-on-Chip 02131 Embedded Systems Jan Madsen [28] BREAK 02131 Embedded Systems Jan Madsen [29] 02131 Embedded Systems 13

Processor technology Architecture of computation engine Does not have to be programmable Differs in its specialization towards a particular application Manifests different design metrics 02131 Embedded Systems Jan Madsen [30] Processor: General-purpose Designed to: maximize the number of devices sold suitable for a variety of applications Architecture contains: program memory general datapath large register file 02131 Embedded Systems Jan Madsen [31] 02131 Embedded Systems 14

Processor: General-purpose Used by the embedded system designer to program the processor s memory to carry out the required tionality This portion of an implementation is often referred to as the software portion 02131 Embedded Systems Jan Madsen [32] Software if... then... else... for {... cpu.. Elements of computation Transform data Store data Move data 02131 Embedded Systems Jan Madsen [33] 02131 Embedded Systems 15

Processor if... then... else... for {..... Architecture components Processing elements transform data Memories store data Interconnect movedata 02131 Embedded Systems Jan Madsen [34] Processor: General-purpose if... then... else... for {..... inst mem controller datapath data mem ir cu reg * pc +/- Availability Low cost (mass production) Simple design flow High flexibility 02131 Embedded Systems Jan Madsen [35] 02131 Embedded Systems 16

Processor: General-purpose - example if... then... else... for {..... inst mem controller datapath data mem ir cu reg pc * +/- p1 A[i] x = x + A[i] * p1 5 cycles 02131 Embedded Systems Jan Madsen [36] Processor: Single-purpose Digital circuit designed to execute exactly one program This portion of an implementation is often referred to as the hardware portion Other common terms: Co-processor Accelerator 02131 Embedded Systems Jan Madsen [37] 02131 Embedded Systems 17

Processor: Single-purpose (ASIC) if... then... else... for {..... controller cu datapath * + +/- mem High performance Low power Complex design flow No flexibility 02131 Embedded Systems Jan Madsen [38] Processor: Single-purpose example if... then... else... for {..... controller cu datapath * + +/- p1 mem A[i] x = x + A[i] * p1 1 cycle 02131 Embedded Systems Jan Madsen [39] 02131 Embedded Systems 18

Processor: Application-specific Designed for a particular class of applications with common characteristics Serve as a compromise between the two other processor types Examples are digital signal processors (DSPs) 02131 Embedded Systems Jan Madsen [40] Processor: Application-specific May require large NRE cost to build the processor itself and to build a compiler Automatically generating such processors and associated retargetable compilers are currently very hot research topics Lack of good compilers requires many embedded system designers to program in assembly language 02131 Embedded Systems Jan Madsen [41] 02131 Embedded Systems 19

Processor: Application-specific (ASIP) if... then... else... for {..... inst mem controller datapath data mem ir cu reg * + pc +/- Costumized datapath 16, 8 or 4 bit Optimized for particular class of programs - MACC Simple design flow High flexibility 02131 Embedded Systems Jan Madsen [42] Processor: Application-specific - example if... then... else... for {..... inst mem controller datapath data mem ir cu reg * + pc +/- p1 A[i] x = x + A[i] * p1 2 cycles 02131 Embedded Systems Jan Madsen [43] 02131 Embedded Systems 20

Summary Processors General-purpose Single-purpose (ASIC) Application-specific (ASIP) Common model FSMD - Finite State Machine with Datapath controller datapath 02131 Embedded Systems Jan Madsen [44] What you will do! if... Pentium IV Speed Size Energy then... else... for {... IJVM.. ASIC 02131 Embedded Systems Jan Madsen [45] 02131 Embedded Systems 21