SEP561 Embedded Computing Fall 2004 S. Maeng KAIST.

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

Embedded System Lab. What is an embedded systems? An embedded system is a computer system designed for specific control functions within a larger system,
7/23 CSE 325 Embedded Microprocessor System Design Fall 2010 Computer Science & Engineering Department Arizona State University Tempe, AZ Dr. Yann-Hang.
Elements of a Microprocessor system Central processing unit. This performs the arithmetic and logical operations, such as add/subtract, multiply/divide,
© 2008 Wayne Wolf Overheads for Computers as Components, 2nd ed. Introduction What are embedded computing systems? Challenges in embedded computing system.
Embedded Systems: Introduction
Today’s Lecture What is the embedded system?
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2006 Serdar Taşıran.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
Chapter 1: Introduction
Week 1- Fall 2009 Dr. Kimberly E. Newman University of Colorado.
Embedded Systems: Introduction. Course overview: Syllabus: text, references, grading, etc. Schedule: will be updated regularly; lectures, assignments.
Embedded System Design Using FPGAs Module F1-1. What is an Embedded System It is not a PC! Most computers in the world do not have a keyboard and screen.
Define Embedded Systems Small (?) Application Specific Computer Systems.
Embedded Systems Introduction. What is an Embedded System What is an Embedded System? Definition of an embedded computer system: is a digital system.
Chapter 13 Embedded Systems
1  1998 Morgan Kaufmann Publishers Lectures for 2nd Edition Note: these lectures are often supplemented with other materials and also problems from the.
Introduction Lecture 1 CSCI 1405, CSCI 1301 Introduction to Computer Science Fall 2009.
Embedded System:Introduction 1 Introduction What is an embedded system? Embedded system market trends Characteristics of embedded systems Embedded system.
Real-Time Systems and Programming Languages
EET 4250: Chapter 1 Performance Measurement, Instruction Count & CPI Acknowledgements: Some slides and lecture notes for this course adapted from Prof.
Embedded Computer Systems Chapter1: Embedded Computing Eng. Husam Y. Alzaq Islamic University of Gaza.
Software Engineering CSE470: Embedded Systems Overview 49 What is an Embedded System What is an Embedded System? Definition of an embedded computer system:
UCB November 8, 2001 Krishna V Palem Proceler Inc. Customization Using Variable Instruction Sets Krishna V Palem CTO Proceler Inc.
Winter-Spring 2001Codesign of Embedded Systems1 Introduction to HW/SW Codesign Part of HW/SW Codesign of Embedded Systems Course (CE )
Dalya Gaber. Definition:- Embedded system is any device that includes a computer but is not itself a general purpose computer. It has hardware & software.
Microcontroller: Introduction
Dr. José M. Reyes Álamo 1.  Course website  Syllabus posted.
1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems.
1  Staunstrup and Wolf Ed. “Hardware Software codesign: principles and practice”, Kluwer Publication, 1997  Gajski, Vahid, Narayan and Gong, “Specification,
Hardware -Computer Organization. Hardware & Software A computer system consists of A computer system consists of –Hardware: anything you can touch, smell,
L29:Lower Power Embedded Architecture Design 성균관대학교 조 준 동 교수,
Microcontroller Systems: Motivation
Embedded Systems. 2 A “short list” of embedded systems And the list goes on and on Anti-lock brakes Auto-focus cameras Automatic teller machines Automatic.
Codesign of Embedded Systems1 Introduction to Embedded Systems Part of HW/SW Codesign of Embedded Systems Course (CE )
1 ECE 354 © Koren/Moritz 2008, some slides modified from Burleson, UMass and Wolf, Computers as Components, Morgan Kaufman, 2005 ECE 354 Lecture 1 The.
Embedded System Design
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Computing Systems Computer abstractions and technology.
1 COMP201 Computer Systems Dr Richard Nelson Room G.1.29.
ECE-777 System Level Design and Automation Introduction 1 Cristinel Ababei Electrical and Computer Department, North Dakota State University Spring 2012.
1 3-General Purpose Processors: Altera Nios II 2 Altera Nios II processor A 32-bit soft core processor from Altera Comes in three cores: Fast, Standard,
ECE Lecture 1 1 Introduction to Microcontrolllers Department of Electrical and Computer Engineering The Ohio State University ECE 2560.
COMP3221/9221: Microprocessors and Embedded Systems COMP3221: Microprocessors and Embedded Systems Lecture 31: Embedded Systems
Lecture 13 Introduction to Embedded Systems Graduate Computer Architecture Fall 2005 Shih-Hao Hung Dept. of Computer Science and Information Engineering.
Smart Home and Embedded System Design
Welcome to CSE 143! Microelectronic System Design
Sogang University Advanced Computing System Chap 1. Computer Architecture Hyuk-Jun Lee, PhD Dept. of Computer Science and Engineering Sogang University.
EEL Software development for real-time engineering systems.
High Performance Embedded Computing © 2007 Elsevier Lecture 3: Design Methodologies Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte Based.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
ELEC692/04 course_des 1 ELEC 692 Special Topic VLSI Signal Processing Architecture Fall 2004 Chi-ying Tsui Department of Electrical and Electronic Engineering.
Embedded Systems Design: A Unified Hardware/Software Introduction 1 Chapter 3 General-Purpose Processors: Software.
2006 Chapter-1 L1: "Embedded Systems - Architecture, Programming and Design", Raj Kamal, Publs.: McGraw-Hill, Inc. 1 Introduction to Embedded Systems.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
What is a Microprocessor ? A microprocessor consists of an ALU to perform arithmetic and logic manipulations, registers, and a control unit Its has some.
Slides created by: Professor Ian G. Harris Embedded Systems  Embedded systems are computer-based systems which are embedded inside another device (car,
Embedded Systems Overview Prepared by Nisha Sinsinbar Subject: Microcontoller & Interfacing Sub code: EC Department.
Chapter 1: Embedded Computing Embedded System Design.
KAASHIV INFOTECH – A SOFTWARE CUM RESEARCH COMPANY IN ELECTRONICS, ELECTRICAL, CIVIL AND MECHANICAL AREAS
Microprocessors CSE- 341 Dr. Jia Uddin Assistant Professor, CSE, BRAC University.
Embedded Real-Time Systems
Embedded Systems. What is Embedded Systems?  Embedded reflects the facts that they are an integral.
ECE354 Embedded Systems Introduction C Andras Moritz.
Embedded Systems Introduction
Why microcontrollers in embedded systems?
T Computer Architecture, Autumn 2005
Introduction to Embedded Systems
NetPerL Seminar Hardware/Software Co-Design
Presentation transcript:

SEP561 Embedded Computing Fall 2004 S. Maeng KAIST

Syllabus, cont’d Instructors: Seungryoul Maeng, Room 4403, Office Hours: M 1-2:30, W 1- 2:30Seungryoul Maeng Class Website: TAs: 최민, 박은지 Course Outline Introduction to Embedded computing TBD

Syllabus, cont’d Lab Outline 하드웨어 직접제어를 통한 주변장치 제어 Linux Device Driver 를 통한 주변장치 제어 Project Course Requirements Knowledge Digital systems, computer architecture (organization), C programming and Operating systems Interest Strong interest in this fields

Syllabus Course Grading: 강의 : 60 % 시험 : 30% 기타 ( 숙제, 퀴즈, 강의 출석, 참여도 등 ) : 30% 실험 및 프로젝트 : 40% * 모든 부분에서 copy 를 할 경우 학점을 "F" 로 줄 것임 Reference Books: Computers as Components: Principles of Embedded Computing System Design, Wayne Wolf, Morgan Kaufmann. Embedded Systems Design : A Unified Hardware/Software Introduction, Vahid, Wiley. Embedded Systems: Architecture, Programming and Design, Raj Kamal, Tata McGraw-Hill. 실험노트 Selected Papers

Embedded Systems on the Web (by Srivastava) Berkeley Design technology, Inc.: EE Times Magazine: Linux Devices: Embedded Linux Journal: Embedded.com: Embedded Systems Programming magazine Circuit Cellar: Electronic Design Magazine: Electronic Engineering Magazine: Integrated System Design Magazine: Sensors Magazine: Embedded Systems Tutorial: Collections of embedded systems resources Newsgroups comp.arch.embedded, comp.cad.cadence, comp.cad.synthesis, comp.dsp, comp.realtime, comp.software-eng, comp.speech, and sci.electronics.cad comp.arch.embeddedcomp.cad.cadencecomp.cad.synthesiscomp.dsp comp.realtimecomp.software-engcomp.speechsci.electronics.cad [Srivastava]

Embedded Systems Courses on the Web (by Srivastava) Alberto Berkeley EE 249: Design of Embedded Systems: Models, Validation, and Synthesis cad.eecs.berkeley.edu/Respep/Research/classes/ee249/fall01 cad.eecs.berkeley.edu/Respep/Research/classes/ee249/fall01 Brian U.T. Austin EE382C-9 Embedded Software Systems Edward Berkeley EE290N: Specification and Modeling of Reactive Real-Time Systems Rajesh UCI ICS 212: Introduction to Embedded Computer Systems ICS 213: Software for Embedded Systems [Srivastava]

Introduction What are embedded systems? Why do we care? Trends

Definition Embedded system: any device that includes a programmable computer but is not itself a general-purpose computer. Take advantage of application characteristics to optimize the design: don ’ t need all the general-purpose bells and whistles.

Embedding a computer CPU mem input output analog embedded computer

Examples Personal digital assistant (PDA). Printer. Cell phone. Automobile: engine, brakes, dash, etc. Television, Digital TV. Household appliances-Home network. PC keyboard (scans keys).

Application examples Simple control: front panel of microwave oven, etc. Canon EOS 3 has three microprocessors. 32-bit RISC CPU runs autofocus and eye control systems. Analog TV: channel selection, etc. Digital TV: programmable CPUs + hardwired logic.

Automotive embedded systems Today ’ s high-end automobile may have 100 microprocessors: 4-bit microcontroller checks seat belt; microcontrollers run dashboard devices; 16/32-bit microprocessor controls engine.

BMW 850i brake and stability control system Anti-lock brake system (ABS): pumps brakes to reduce skidding. Automatic stability control (ASC+T): controls engine to improve stability. ABS and ASC+T communicate. ABS was introduced first---needed to interface to existing ABS module.

BMW 850i, cont ’ d. brake sensor brake sensor brake sensor brake sensor ABS hydraulic pump

Early history Late 1940 ’ s: MIT Whirlwind computer was designed for real-time operations. Originally designed to control an aircraft simulator. First microprocessor was Intel 4004 in Feb – 4 bit controller: Busicom Intel 8008, April 1972, Datapoint. HP-35 calculator used several chips to implement a microprocessor in 1972.

Early history, cont ’ d. Automobiles used microprocessor-based engine controllers starting in 1970 ’ s. Control fuel/air mixture, engine timing, etc. Multiple modes of operation: warm-up, cruise, hill climbing, etc. Provides lower emissions, better fuel efficiency.

Why do we care? Embedded computing a field or just a fad? Building embedded systems for decades Early microprocessors Limited performance -> manage I/O devices Assembly languages By the early 1980s, 16-bit microprocessors Automobile engine controls that relied on sophisticated algorithms (Motorola 68000) Numerical method like Kalman filters Laser and inkjet printers By the early 1990s, cell phones contains five or six DSPs and CPUs An indicator: where are the CPUs being used?

Where are the CPUs? Estimated 98% of 8 Billion CPUs produced in 2000 used for embedded apps Look for the CPUs…the Opportunities Will Follow! Where Are the Processors? Embedded Computers 80% 80% 8.5B Parts per Year Robots 6% Vehicles 12% Direct 2% Source: DARPA/Intel (Tennenhouse) [Srivastava]

Why do we care? Cont’d. Embedded computer HW/SW are on the critical design path for many types of electronic systems Modern cars: up to ~100 processors running complex software engine & emissions control, stability & traction control, diagnostics, gearless automatic transmission Problems Undersized HW platform : software design difficulties Bad SW architecture : SW, Performance, and Power problems Underestimating power consumption: reducing the entire system’s effective lifetime

Complexity, Quality, & Time To Market today *from Sangiovanni-Vincentelli’s lecture notes Instrument ClusterTelematic Unit Memory184 KB8MB Lines of Code45,000300,000 Productivity6 Lines/Day10 Lines/Day Change Rate1 Year< 1 Year Dev. Effort30 Man-yr200 Man-yr Validation Time2 Months Time to Market12 Months< 12 Months

Typical Characteristics of Embedded Systems Part of a larger system not a “computer with keyboard, display, etc.” HW & SW do application-specific function – not G.P. application is known a priori but definition and development concurrent Some degree of re-programmability is essential flexibility in upgrading, bug fixing, product differentiation, product customization Interact (sense, manipulate, communicate) with the external world

Typical Characteristics of embedded systems Never terminate (ideally) Increasingly high-performance (DSP) & networked Sophisticated functionality. Often have to run sophisticated algorithms or multiple algorithms. Cell phone, laser printer. Often provide sophisticated user interfaces.

Typical Characteristics of embedded systems Real-time operation. Operation is time constrained: latency, throughput Must finish operations by deadlines. Hard real time: missing deadline causes failure. Soft real time: missing deadline results in degraded performance. Many systems are multi-rate: must handle operations at widely varying rates. Low manufacturing cost. Many embedded systems are mass-market items that must have low manufacturing costs. Limited memory, microprocessor power, etc.

Typical Characteristics of embedded systems Low power. Power consumption is critical in battery- powered devices. Excessive power consumption increases system cost even in wall-powered devices. size, weight, heat, reliability etc. Designed to tight deadlines by small teams.

Key Recent Trends Increasing computation demands e.g. multimedia processing in set-top boxes, HDTV Increasingly networked to eliminate host, and remotely monitor/debug embedded Web servers e.g. Axis camera e.g. Mercedes car with web server embedded Java virtual machines e.g. Java ring, smart cards, printers cameras, disks etc. that sit directly on networks

Key Recent Trends Increasing need for flexibility time-to-market under ever changing standards! Often designed by a small team of designers. Often must meet tight deadlines. 6 month market window is common. Need careful co-design of h/w & s/w!

Traditional Embedded Systems and Design What is the difference? Functional complexity Hardware trends Software trends Design Methodologies

“ Traditional ” Hardware Embedded Systems = ASIC A direct sequence spread spectrum (DSSS) receiver ASIC (UCLA) ASIC Features Area: 4.6 mm x 5.1 mm Speed: Mcps Technology: HP 0.5  m Power: 16 mW mW (mode 20 MHz, 3.3 V Avg. Acquisition Time: 10  s to 300  s [Srivastava]

“ Traditional ” Software Embedded Systems = CPU + RTOS [Srivastava]

The co-design ladder In the past: Hardware and software design technologies were very different Recent maturation of synthesis enables a unified view of hardware and software SW/HW codesign Implementation Assembly instructions Machine instructions Register transfers Compilers (1960's,1970's) Assemblers, linkers (1950's, 1960's) Behavioral synthesis (1990's) RT synthesis (1980's, 1990's) Logic synthesis (1970's, 1980's) Microprocessor plus program bits: “software” VLSI, ASIC, or PLD implementation: “hardware” Logic gates Logic equations / FSM's Sequential program code (e.g., C, VHDL) The choice of hardware versus software for a particular function is simply a tradeoff among various design metrics, like performance, power, size, and especially flexibility; there is no fundamental difference between what hardware or software can implement.

The co-design ladder

Modern Embedded Systems? Embedded systems employ a combination of application-specific h/w (boards, ASICs, FPGAs etc.) performance, low power s/w on prog. processors: DSPs,  controllers etc. flexibility, complexity mechanical transducers and actuators Application Specific Gates Processor Cores Analog I/O Memory DSP Code

Increasingly on the Same Chip System-on-Chip (SoC) SC3001 DIRAC chip (Sirius Communications) [Srivastava]

Reconfigurable SoC Triscend’s A7 CSoC Other Examples Atmel’s FPSLIC (AVR + FPGA) Altera’s Nios (configurable RISC on a PLD) [Srivastava]

Challenges in embedded system design How much hardware do we need? How big is the CPU? Memory? How do we meet our deadlines? Faster hardware or cleverer software? How do we minimize power? Turn off unnecessary logic? Reduce memory accesses?

Challenges, etc. Does it really work? Is the specification correct? Does the implementation meet the spec? How do we test for real-time characteristics? How do we test on real data?