Embedded Systems Design: A Unified Hardware/Software Introduction 1 Chapter 3 General-Purpose Processors: Software.

Slides:



Advertisements
Similar presentations
3-Software Design Basics in Embedded Systems
Advertisements

Chapter 3 General-Purpose Processors: Software
Computer Abstractions and Technology
EEE226 MICROPROCESSORBY DR. ZAINI ABDUL HALIM School of Electrical & Electronic Engineering USM.
CHAPTER 1 THE 8051 MICROCONTROLLERS. Microcontroller vs. General- Purpose Microprocessor General-purpose microprocessors have ◦ No RAM ◦ No ROM ◦ No I/O.
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
Performance Analysis of Multiprocessor Architectures
Extensible Processors. 2 ASIP Gain performance by:  Specialized hardware for the whole application (ASIC). −  Almost no flexibility. −High cost.  Use.
COMP3221: Microprocessors and Embedded Systems Lecture 2: Instruction Set Architecture (ISA) Lecturer: Hui Wu Session.
Chapter 1. Introduction This course is all about how computers work But what do we mean by a computer? –Different types: desktop, servers, embedded devices.
Introduction to Microprocessors Number Systems and Conversions No /6/00 Chapter 1: Introduction to 68HC11 The 68HC11 Microcontroller.
General Purpose Processors: Software This Week In DIG II  Introduction  Basic Architecture  Operation  Programmer’s view (that would be you !) 
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
Embedded Systems Design: A Unified Hardware/Software Introduction 1 Chapter 3 General-Purpose Processors: Software.
Winter-Spring 2001Codesign of Embedded Systems1 Introduction to HW/SW Codesign Part of HW/SW Codesign of Embedded Systems Course (CE )
General Purpose Processors: Software. This Week In DIG II  Introduction  Basic Architecture  Memory  Programmer’s view (that would be you !)  Development.
Chapter 17 Microprocessor Fundamentals William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper.
Microcontroller: Introduction
MCU – Microcontroller Unit – 1 MCU  1 cip or VLSI core – application-specific.
INTRODUCTION TO MICROCONTROLLER. What is a Microcontroller A microcontroller is a complete microprocessor system, consisting of microprocessor, limited.
L29:Lower Power Embedded Architecture Design 성균관대학교 조 준 동 교수,
ECE 447: Lecture 1 Microcontroller Concepts. ECE 447: Basic Computer System CPU Memory Program + Data I/O Interface Parallel I/O Device Serial I/O Device.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Computer Architecture ECE 4801 Berk Sunar Erkay Savas.
Embedded Systems Design: A Unified Hardware/Software Introduction 1 Microprocessors.
CS1Q Computer Systems Lecture 3 Simon Gay. Lecture 3CS1Q Computer Systems - Simon Gay2 Where we are Global computing: the Internet Networks and distributed.
Lecture#14. Last Lecture Summary Memory Address, size What memory stores OS, Application programs, Data, Instructions Types of Memory Non Volatile and.
Lecture 13 Introduction to Embedded Systems Graduate Computer Architecture Fall 2005 Shih-Hao Hung Dept. of Computer Science and Information Engineering.
1 3-Software Design Basics in Embedded Systems. 2 Two Memory Architectures Processor Program memory Data memory Processor Memory (program and data) HarvardPrinceton.
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
Welcome to CSE 143! Microelectronic System Design
Microcontroller Presented by Hasnain Heickal (07), Sabbir Ahmed(08) and Zakia Afroze Abedin(19)
1 3-Software Design Basics in Embedded Systems Optimizing the design of General Purpose processors.
Computer Architecture And Organization UNIT-II General System Architecture.
EE3A1 Computer Hardware and Digital Design
Microprocessors For a microprocessor to give a working microcomputer system, which can be used for control tasks, additional chips are necessary, e.g.
Computer Organization & Assembly Language © by DR. M. Amer.
Introduction to Microprocessors
 Historical view:  1940’s-Vacuum tubes  1947-Transistors invented by willliam shockely & team  1959-Integrated chips invented by Texas Instrument.
Embedded System. What is an Embedded System? Computing systems embedded within electronic devices Hard to define – Nearly any computing system other than.
MICROOCESSORS AND MICROCONTROLLER:
MICROPROCESSOR FUNCTION Technician Series Created Mar 2015 gmail.com.
What is a Microprocessor ? A microprocessor consists of an ALU to perform arithmetic and logic manipulations, registers, and a control unit Its has some.
September 10 Performance Read 3.1 through 3.4 for Wednesday Only 3 classes before 1 st Exam!
Lecture 7: Overview Microprocessors / microcontrollers.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
بسم الله الرحمن الرحيم MEMORY AND I/O.
Slides created by: Professor Ian G. Harris Embedded Systems  Embedded systems are computer-based systems which are embedded inside another device (car,
1 3-Software Design Basics in Embedded Systems. 2 Two Memory Architectures Processor Program memory Data memory Processor Memory (program and data) HarvardPrinceton.
CHAPTER 2 Instruction Set Architecture 3/21/
Chapter 1: Embedded Computing Embedded System Design.
Microprocessors CSE- 341 Dr. Jia Uddin Assistant Professor, CSE, BRAC University.
Introduction CSE 410, Spring 2005 Computer Systems
Embedded Systems. What is Embedded Systems?  Embedded reflects the facts that they are an integral.
Programmable Logic Devices
IF I ONLY HAD A BRAIN THE MICROCONTROLLER
3-Software Design Basics in Embedded Systems
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
Embedded Systems Design
Chapter 1: Introduction
Chapter 1: The 8051 Microcontrollers
EmbedDed Systems – MECT190
CISC AND RISC SYSTEM Based on instruction set, we broadly classify Computer/microprocessor/microcontroller into CISC and RISC. CISC SYSTEM: COMPLEX INSTRUCTION.
Introduction to Embedded Systems
Embedded Processors.
Microprocessors.
CHAPTER 1 THE 8051 MICROCONTROLLERS
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

Embedded Systems Design: A Unified Hardware/Software Introduction 1 Chapter 3 General-Purpose Processors: Software

Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis 2 Introduction General-Purpose Processor –Processor designed for a variety of computation tasks –Low unit cost, in part because manufacturer spreads NRE over large numbers of units Motorola sold half a billion 68HC05 microcontrollers in 1996 alone –Carefully designed since higher NRE is acceptable Can yield good performance, size and power –Low NRE cost, short time-to-market/prototype, high flexibility User just writes software; no processor design –a.k.a. “microprocessor” – “micro” used when they were implemented on one or a few chips rather than entire rooms

Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis 3 Basic Architecture Control unit and datapath –Note similarity to single-purpose processor Key differences –Datapath is general –Control unit doesn’t store the algorithm – the algorithm is “programmed” into the memory Processor Control unitDatapath ALU Registers IRPC Controller Memory I/O Control /Status

Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis 4 Programmer’s View Programmer doesn’t need detailed understanding of architecture –Instead, needs to know what instructions can be executed Two levels of instructions: –Assembly level –Structured languages (C, C++, Java, etc.) Most development today done using structured languages –But, some assembly level programming may still be necessary –Drivers: portion of program that communicates with and/or controls (drives) another device Often have detailed timing considerations, extensive bit manipulation Assembly level may be best for these

Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis 5 Microprocessor Architecture Overview If you are using a particular microprocessor, now is a good time to review its architecture

Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis 6 Application-Specific Instruction-Set Processors (ASIPs) General-purpose processors –Sometimes too general to be effective in demanding application e.g., video processing – requires huge video buffers and operations on large arrays of data, inefficient on a GPP –But single-purpose processor has high NRE, not programmable ASIPs – targeted to a particular domain –Contain architectural features specific to that domain e.g., embedded control, digital signal processing, video processing, network processing, telecommunications, etc. –Still programmable

Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis 7 A Common ASIP: Microcontroller For embedded control applications –Reading sensors, setting actuators –Mostly dealing with events (bits): data is present, but not in huge amounts –e.g., VCR, disk drive, digital camera (assuming SPP for image compression), washing machine, microwave oven Microcontroller features –On-chip peripherals Timers, analog-digital converters, serial communication, etc. Tightly integrated for programmer, typically part of register space –On-chip program and data memory –Direct programmer access to many of the chip’s pins –Specialized instructions for bit-manipulation and other low-level operations

Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis 8 Another Common ASIP: Digital Signal Processors (DSP) For signal processing applications –Large amounts of digitized data, often streaming –Data transformations must be applied fast –e.g., cell-phone voice filter, digital TV, music synthesizer DSP features –Several instruction execution units –Multiple-accumulate single-cycle instruction, other instrs. –Efficient vector operations – e.g., add two arrays Vector ALUs, loop buffers, etc.

Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis 9 Trend: Even More Customized ASIPs In the past, microprocessors were acquired as chips Today, we increasingly acquire a processor as Intellectual Property (IP) –e.g., synthesizable VHDL model Opportunity to add a custom datapath hardware and a few custom instructions, or delete a few instructions –Can have significant performance, power and size impacts –Problem: need compiler/debugger for customized ASIP Remember, most development uses structured languages One solution: automatic compiler/debugger generation –e.g., Another solution: retargettable compilers –e.g., (customized VLIW architectures)

Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis 10 Selecting a Microprocessor Issues –Technical: speed, power, size, cost –Other: development environment, prior expertise, licensing, etc. Speed: how evaluate a processor’s speed? –Clock speed – but instructions per cycle may differ –Instructions per second – but work per instr. may differ –Dhrystone: Synthetic benchmark, developed in Dhrystones/sec. MIPS: 1 MIPS = 1757 Dhrystones per second (based on Digital’s VAX 11/780). A.k.a. Dhrystone MIPS. Commonly used today. –So, 750 MIPS = 750*1757 = 1,317,750 Dhrystones per second –SPEC: set of more realistic benchmarks, but oriented to desktops –EEMBC – EDN Embedded Benchmark Consortium, Suites of benchmarks: automotive, consumer electronics, networking, office automation, telecommunications

Embedded Systems Design: A Unified Hardware/Software Introduction, (c) 2000 Vahid/Givargis 11 General Purpose Processors Sources: Intel, Motorola, MIPS, ARM, TI, and IBM Website/Datasheet; Embedded Systems Programming, Nov. 1998