ECE354 Embedded Systems Introduction C Andras Moritz.

Slides:



Advertisements
Similar presentations
Lecture 4 Introduction to Digital Signal Processors (DSPs) Dr. Konstantinos Tatas.
Advertisements

CPU Review and Programming Models CT101 – Computing Systems.
© 2008 Wayne Wolf Overheads for Computers as Components, 2nd ed. Introduction What are embedded computing systems? Challenges in embedded computing system.
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
ΜP rocessor Architectures To : Eng. Ahmad Hassan By: Group 18.
© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed. Instruction sets Computer architecture taxonomy. Assembly language. 1.
Week 1- Fall 2009 Dr. Kimberly E. Newman University of Colorado.
Embedded Systems Programming
COMP3221: Microprocessors and Embedded Systems Lecture 2: Instruction Set Architecture (ISA) Lecturer: Hui Wu Session.
Chapter XI Reduced Instruction Set Computing (RISC) CS 147 Li-Chuan Fang.
Introduction to ARM Architecture, Programmer’s Model and Assembler Embedded Systems Programming.
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
RISC. Rational Behind RISC Few of the complex instructions were used –data movement – 45% –ALU ops – 25% –branching – 30% Cheaper memory VLSI technology.
Embedded Systems Programming
Prardiva Mangilipally
(6.1) Central Processing Unit Architecture  Architecture overview  Machine organization – von Neumann  Speeding up CPU operations – multiple registers.
© 2009 Acehub Vista Sdn. Bhd Introduction to ARM ® Processors.
Dalya Gaber. Definition:- Embedded system is any device that includes a computer but is not itself a general purpose computer. It has hardware & software.
Computer Organization and Assembly language
1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems.
MCU – Microcontroller Unit – 1 MCU  1 cip or VLSI core – application-specific.
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.
Part 1.  Intel x86/Pentium family  32-bit CISC processor  SUN SPARC and UltraSPARC  32- and 64-bit RISC processors  Java  C  C++  Java  Why Java?
ECE 353 Introduction to Microprocessor Systems
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,
ACOE255 – Microprocessor Architecture
Computer Architecture and Organization Introduction.
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
Chapter 1 An Introduction to Processor Design 부산대학교 컴퓨터공학과.
Part 1.  Intel x86/Pentium family  32-bit CISC processor  SUN SPARC and UltraSPARC  32- and 64-bit RISC processors  Java  C  C++  Java  Why Java?
Chapter 8 CPU and Memory: Design, Implementation, and Enhancement The Architecture of Computer Hardware and Systems Software: An Information Technology.
AEEC405 – Microprocessor Architecture. Some Information Instructor Details Main Book.
ECEG-3202 Computer Architecture and Organization Chapter 7 Reduced Instruction Set Computers.
MICROOCESSORS AND MICROCONTROLLER:
1 ECE 354 © Moritz 2009, some slides modified from Moritz/Koren/Burleson, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 ECE354 Course Info.
COMPUTER ORGANIZATIONS CSNB123 NSMS2013 Ver.1Systems and Networking1.
Lecture 7: Overview Microprocessors / microcontrollers.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
Lecture 1: Introduction CprE 585 Advanced Computer Architecture, Fall 2004 Zhao Zhang.
Topics to be covered Instruction Execution Characteristics
SHRI S’AD VIDYA MANDAL INSTITUTE OF TECHNOLOGY
ARM Embedded Systems
Microcontrollers & GPIO
Computing Systems Organization
Visit for more Learning Resources
Central Processing Unit Architecture
Modified Harvard Architectures
Advanced Topic: Alternative Architectures Chapter 9 Objectives
Overview Introduction General Register Organization Stack Organization
Introducing Embedded Systems and the Microcontrollers
Scalable Processor Design
INTRODUCTION TO MICROPROCESSORS
Computer Organization
Central Processing Unit
Tiny Computers, Hidden Control
Introduction to Digital Signal Processors (DSPs)
Dynamically Reconfigurable Architectures: An Overview
CISC AND RISC SYSTEM Based on instruction set, we broadly classify Computer/microprocessor/microcontroller into CISC and RISC. CISC SYSTEM: COMPLEX INSTRUCTION.
Morgan Kaufmann Publishers Computer Organization and Assembly Language
Today’s agenda Hardware architecture and runtime system
Introduction to Embedded Systems
Chapter 1 Introduction.
What is Computer Architecture?
Overheads for Computers as Components 2nd ed.
Introduction to Microprocessor Programming
Wireless Embedded Systems
Computer Architecture
CSE378 Introduction to Machine Organization
Chapter 4 The Von Neumann Model
Presentation transcript:

ECE354 Embedded Systems Introduction C Andras Moritz

The Big Picture What are embedded systems? Challenges in embedded computing system design. Design methodologies. Sophisticated functionality. Real-time operation. Low manufacturing cost. Low power. Designed to tight deadlines by small teams.

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

Examples Cell phones, Webcams, Navigation Systems Routers, Blade servers, Wireless PC cards Automobiles, Car Alarms, Keyless Entry Systems Building security, card swiping systems Embedded Medical Devices - Pacemakers

Characteristics of embedded systems Sophisticated functionality. Real-time operation. Low manufacturing cost. Low power. Reliable and secure. Designed to tight deadlines by small teams.

Embedding a computer: a very simplified view… CPU mem input output analog embedded computer

Non-functional requirements Many embedded systems are mass-market items that must have low manufacturing costs. Limited memory, microprocessor power, etc. Power consumption is critical in battery-powered devices. Excessive power consumption increases system cost even in wall-powered devices. Must finish operations by deadlines. Hard real time: missing deadline causes failure. Soft real time: missing deadline results in degraded performance.

Microprocessors in Embedded Systems

Microprocessor alternatives for embedded systems Ordinary microprocessor: CPU plus on-chip cache units. Microcontroller: includes I/O devices, on-board memory. Digital signal processor (DSP): microprocessor optimized for digital signal processing. Hard core vs. soft core. Typical embedded word sizes: 8-bit, 16-bit, 32-bit.

Embedded microprocessors ARM, MIPS, Power PC, Freescale, 8051, X86 Various purposes Networks – MIPS, PowerPC Mobile phone – ARM dominated Industrial – Freescale Coldfire Security – 8051 based, Infineon, BlueRISC High performance – X86, Intel Epic, other VLIW and superscalars, multi-core ARM, Tilera tiled processor

Von Neumann CPU Architecture Memory holds data and instructions. Central processing unit (CPU) fetches instructions from memory. Separation between CPU and memory distinguishes programmable computer. CPU registers: program counter (PC) general-purpose registers

CPU Harvard architecture address data memory data address PC program memory instructions IR

RISC vs. CISC Complex instruction set computer (CISC): many addressing modes most operations can access memory variable length instructions Reduced instruction set computer (RISC): only load/store can access memory fixed-length instructions Instruction set architectures – characteristics: Fixed vs. variable length Addressing modes Number of operands Types of operands

Pipelining Execute several instructions simultaneously but at different stages Pipeline hazards Simple three-stage pipe: memory fetch decode execute

Why use microprocessors? Alternatives: random logic on a field-programmable gate arrays (FPGAs), custom logic, etc. Microprocessors are often very efficient: can use same logic to perform many different functions. Microprocessors simplify the design of families of products.

The performance paradox Microprocessors use much more logic to implement a function than does custom logic. But microprocessors are often at least as fast: heavily pipelined; caches and virtual memory aggressive VLSI technology.

Power Custom logic is a clear winner for low-power devices. Modern microprocessors offer features to help control power consumption. Software design techniques can help reduce power consumption. Compiler-architecture interaction Circuit-level optimizations (CAD tool support)

Soft Core Processors Are soft, i.e. specified through field programming just like programmable logic Shipped as hardware description files, which can be mapped onto FPGA. e.g: Nios 2. Offer flexibility as microprocessor parameters can be tuned to the application. You can test and validate many designs quickly. Fast time to market.

What is Nios 2? A 32-bit soft core processor from Altera Is a RISC, Harvard Architecture: simple instructions, separate data and instruction memories. Has 32 levels of interrupts. Uses the Avalon Bus interface. Programs compiled using GNU C/C++ toolchain.

Nios 2 Architecture:

SOPC system having NIOS:

ARM Pipelined CPUs; Multi-Core SoCs ARM7-9 Embedded CPU Pipelines ARM multi-core with ARMv7 Application Processors

ARM CPUs Currently Application RT Low power Security