Cosc 2150: Computer Organization Chapter 10: Embedded Systems.

Slides:



Advertisements
Similar presentations
TO COMPUTERS WITH BASIC CONCEPTS Lecturer: Mohamed-Nur Hussein Abdullahi Hame WEEK 1 M. Sc in CSE (Daffodil International University)
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,
Implementing Fault Tolerant Systems with Windows CE.NET Reliable System Design 2010 by: Amir M. Rahmani.
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
Click Here to Begin. Objectives Purchasing a PC can be a difficult process full of complex questions. This Computer Based Training Module will walk you.
1 Microprocessor-based Systems Course 4 - Microprocessors.
Embedded Systems Programming
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 ARM Architecture, Programmer’s Model and Assembler Embedded Systems Programming.
University College Cork IRELAND Hardware Concepts An understanding of computer hardware is a vital prerequisite for the study of operating systems.
Embedded Systems Programming
© 2009 Acehub Vista Sdn. Bhd Introduction to ARM ® Processors.
SET TOP BOX What is set-top box ? An interactive device which integrates the video and audio decoding capabilities of television with a multimedia application.
Computer Organization and Assembly language
Microcontroller: Introduction
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
MCU – Microcontroller Unit – 1 MCU  1 cip or VLSI core – application-specific.
1 Instant replay  The semester was split into roughly four parts. —The 1st quarter covered instruction set architectures—the connection between software.
CS-334: Computer Architecture
Computer performance.
66 CHAPTER THE SYSTEM UNIT. © 2005 The McGraw-Hill Companies, Inc. All Rights Reserved. 6-2 Competencies Describe the four basic types of system units.
Practical PC, 7th Edition Chapter 17: Looking Under the Hood
Overview Introduction The Level of Abstraction Organization & Architecture Structure & Function Why study computer organization?
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,
 Design model for a computer  Named after John von Neuman  Instructions that tell the computer what to do are stored in memory  Stored program Memory.
3G Single Core Modem A New Telecommunications Device Group 4: Warren Irwin, Austin Beam, Amanda Medlin, Rob Westerman, Brittany Deardian.
Technical Seminar Introduction to networking with Linux Administration Amit Kumar Sahoo EC ADVANCED EMBEDDED MICROPROCESSORS AND APPLICATIONS.
Sogang University Advanced Computing System Chap 1. Computer Architecture Hyuk-Jun Lee, PhD Dept. of Computer Science and Engineering Sogang University.
Operating Systems Lecture 02: Computer System Overview Anda Iamnitchi
MODULE 1 Computing Essentials © Paradigm Publishing, Inc.1.
Embedded Systems Design: A Unified Hardware/Software Introduction 1 Chapter 3 General-Purpose Processors: Software.
EEE440 Computer Architecture
1 Latest Generations of Multi Core Processors
Microprocessors For a microprocessor to give a working microcomputer system, which can be used for control tasks, additional chips are necessary, e.g.
Chapter 17 Looking “Under the Hood”. 2Practical PC 5 th Edition Chapter 17 Getting Started In this Chapter, you will learn: − How does a computer work.
Computer Organization & Assembly Language © by DR. M. Amer.
Embedded System. What is an Embedded System? Computing systems embedded within electronic devices Hard to define – Nearly any computing system other than.
Academic PowerPoint Computer System – Architecture.
PC Internal Components Lesson 4.  Intel is perhaps the most recognizable microprocessor manufacturer. List some others.
Processor Structure and Function Chapter8:. CPU Structure  CPU must:  Fetch instructions –Read instruction from memory  Interpret instructions –Instruction.
Dr Mohamed Menacer College of Computer Science and Engineering, Taibah University CE-321: Computer.
1 Lecture 1: Computer System Structures We go over the aspects of computer architecture relevant to OS design  overview  input and output (I/O) organization.
What is a Microprocessor ? A microprocessor consists of an ALU to perform arithmetic and logic manipulations, registers, and a control unit Its has some.
Playstation2 Architecture Architecture Hardware Design.
Succeeding with Technology Chapter 2 Hardware Designed to Meet the Need The Digital Revolution Integrated Circuits and Processing Storage Input, Output,
Lecture 7: Overview Microprocessors / microcontrollers.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Group 1 chapter 3 Alex Francisco Mario Palomino Mohammed Ur-Rehman Maria Lopez.
Chapter 3 System Buses.  Hardwired systems are inflexible  General purpose hardware can do different tasks, given correct control signals  Instead.
Know Difference Between Microprocessors and Microcontrollers.
Hardware Architecture
Heterogeneous Processing KYLE ADAMSKI. Overview What is heterogeneous processing? Why it is necessary Issues with heterogeneity CPU’s vs. GPU’s Heterogeneous.
Computer Architecture Furkan Rabee
Embedded Systems. What is Embedded Systems?  Embedded reflects the facts that they are an integral.
CS120 Purchasing a Computer
Part 1- Computer Systems Part 2 – Computer Architecture Mr Belony
ECE354 Embedded Systems Introduction C Andras Moritz.
Visit for more Learning Resources
CSNB COMPUTER SYSTEM CHAPTER 1 INTRODUCTION CSNB153 computer system.
Chapter III Desktop Imaging Systems & Issues
Why microcontrollers in embedded systems?
Chapter 1: The 8051 Microcontrollers
Tiny Computers, Hidden Control
Java Programming Introduction
Computing Essentials Module 1.
Computing Essentials Module 1.
Course Code 114 Introduction to Computer Science
Presentation transcript:

Cosc 2150: Computer Organization Chapter 10: Embedded Systems

Introduction Embedded systems are real computer systems that support the operation of a device (or machine) that usually is not a computer. The user of the embedded system is rarely aware of its existence within the device. These systems are all around us. They are in watches, automobiles, coffeepots, TVs, telephones, aircraft, and just about any “intelligent” device that reacts to people or its environment.

Introduction Embedded systems are different from general- purpose systems in several important ways. Some key differences are: —Embedded systems are resource constrained. Utilization of memory and power are critical. The economy of hardware and software is often paramount, and can affect design decisions. —Likely only have integer based ALU –Float-point operations are done via software. —Partitioning of hardware and software is fluid. —Embedded systems programmers must understand every detail about the hardware. —Signal timing and event handling are crucial.

Embedded Hardware Overview Using off-the-shelf hardware, minimal hardware customization possible. —Perhaps add memory or peripherals. The internal wiring stays the same. The most common off-the-shelf hardware is the microcontroller. —Microcontrollers are often derivatives of “old” PC technology. They are inexpensive because development costs were recouped long ago. —There are thousands of different microcontrollers.

Embedded Hardware Overview —Example microcontrollers are Motorola's 68HC12, Intel’s 8051, Microchip's 16F84A, and the PIC family. —A simplified block diagram of a microcontroller is shown at the right.

Embedded Hardware Overview —We have seen all of these components before except for the watchdog timer. —A watchdog timer helps guard against system hangs by continually checking for liveness. —Watchdog timers are not used in all microcontrollers.

Embedded Hardware Overview For some applications, microcontrollers are too limited in their functionality. Systems-on-a-chip (SOCs) are full blown computer systems-- including all supporting circuits-- that are etched on a single die. —Alternatively, separate chips are needed to provide the same services. —The additional chips are costly and consume power and space.

System On a Chip (SOC) With desktops, you have CPU, RAM, graphics cards, Audio, etc, which is connected to a motherboard In embedded devices, (phones specifically), you don’t have the space, nor is it power efficient —The battery takes up a lot of space as well. —Uses a processor design approach called System on a Chip (SOC) –The processors incorporate as many functions as possible into a single package.

System On a Chip (SOC) (2) Example: —Hummingbird processor from Samsung –Used by Galaxy phones and tablet, and basis of the Apple’s A4 processor for the Ipad and iPhone4 –An ARM Cortex A8 processor core with a PowerVR SGX 535 graphics chip. —NVIDIA’s Tegra 2 is similar –Paired two ARM cortex Processor Cores with an NVIDIA gpu.

Multi-Chip Module (MCM) Most SOC support something called Package on Package or Muti-Chip Module (MCM). This is a design that allows the silicon chip is packaged in a way where the memory chip can sit on top it. —Not as fast as adding memory directly to the processor, but efficeint.

A note here. Most every smartphone (and most embedded devices) use some ARM processing architecture. But the silicon chips come from a variety of manufactures. —The “CPU” is likely to an ARM processor —With a graphics processor, which the manufactures decide to use. —These silicon implementations of ARM’s designs and importantly the choice of graphics processor (and other processors) will ultimately determine how a smartphone will preform.

ARM processors Leader in 32-bit embedded microprocessors —More then 20 processors, with 20 Billion processors out there, an about 10 million shipped every day.

Classic and Embedded processors Applications for this class of processors include: —Merchant Microcontrollers —Automotive Control Systems —Motor Control Systems —White Goods controllers —Wireless and Wired Sensor Networks —Mass Storage Controllers –Hard drives HDD AND SSD —Printers —Network Devices

ARM Application processors Applications for this class of processor include: —Smartbooks* / Netbooks / eReaders —Advanced Personal Media Players —Set-top Boxes & Satellite Receivers —Personal Navigation Devices —Smartphones —Feature Phones —Digital Television —High-End Printers

ARM Application processors (2) Application Processors are defined by the processor's ability to execute complex operating systems, such as Linux, Android / Chrome, Microsoft Windows (CE/Embedded), and Symbian, and to enable complex graphic user interfaces. —This class of processors integrate an Memory Management Unit (MMU) to manage the memory requirements of these complex OSs, and enable the download and execution of third party software. Traditional single-core processors range from the base- level ARM926EJ-S™ through to the Cortex™-A9 processor —The A9 is capable of in excess of 2GHz typical performance Multicore processors, such as the Cortex-A9 MPCore™ processor, Cortex-A5 MPCore processor and ARM11MPCore processor —deliver extended performance and scalability by enabling up to four cores to be implemented in a single symmetric or asymmetric system —alongside a global interrupt handler and snoop control units.

Smart phone Block Diagram Similar design Used by HTC hero, Blackberry Bold and Curve 8830, Motorola Droid, Palm Pre, and many more. —But use Cortex-A8 (instead A9 as listed in diagram).

Cortex–A8 processor Frequency from 600MHz to 1GHz and above —Cache 32K instrustrction and Data –The Level 1 cache is integrated tightly into the processor with a single-cycle access time. —The Level 2 cache is integrated into the core for ease of integration, power efficiency, and optimal performance. Built using standard compiled RAMs, the cache is configurable from 0K – 1MB. NEON™technology for multi-media and SIMD processingNEON™ –128-bit SIMD engine enables high performance media processing. Using NEON for some Audio, Video, and Graphics workloads eases the burden of supporting more dedicated accelerators across the SoC

Cortex-A8 processor Dynamic Branch Prediction To minimize branch wrong prediction penalties, the dynamic branch predictor achieves 95% accuracy across a wide range of industry benchmarks. The Predictor is enabled by branch target and global history buffers. The replay mechanism minimizes miss-predict penalty. Jazelle-RCTJazelle-RCT Technology RCT Java-acceleration technology to optimize Just In Time (JIT) and Dynamic Adaptive Compilation (DAC), and reduce memory footprint by up to three times

Cortex-A8 processor diagram

Cortex-A9 Processor 2.50 DMIPS/MHz per core 1-4 cores (Single core version also available) Supportd —Thumb®-2 / Thumb —Jazelle® DBX and RCT —DSP extenstion —Advanced SIMD NEON™ unit (Optional) —Floating Point Unit (Optional)

Cortex-A9 Processor (2) Cortex-A9 NEON Media Processing Engine (MPE) The Cortex-A9 MPE can be used with either of the Cortex-A9 processors and provides an engine that offers both the performance and functionality of the Cortex-A9 Floating-Point Unit plus an implementation of the NEON Advanced SIMD instruction set for further acceleration of media and signal processing functions. The MPE extends the Cortex-A9 processor’s floating-point unit (FPU) to provide a quad-MAC and additional 64-bit and 128-bit register set supporting a rich set of SIMD operations over 8, 16 and 32-bit integer and 32-bit Floating-Point data quantities every cycle.NEON floating-point unit (FPU) Cortex-A9 Floating-Point Unit (FPU) When implemented along with either of the Cortex-A9 processors, the FPU provides high-performance single, and double precision Floating-Point instructions compatible with the ARM VFPv3 architecture that is software compatible with previous generations of ARM Floating-Point coprocessor. ARM Floating-Point coprocessor

Cortex-A9 Processor (3) Snoop Control Unit The SCU is the central intelligence in the ARM multicore technology and is responsible for managing the interconnect, arbitration, communication, cache-2-cache and system memory transfers, cache coherence and other capabilities for all multicore technology enabled processors. The Cortex-A9 MPCore processor for the first time also exposes these capabilities to other system accelerators and non-cached DMA driven mastering peripherals so as to increase the performance and reduce the system wide power consumption by sharing access to the processor’s cache hierarchy. This system coherence also reduces the software complexity involved in otherwise maintaining software coherence within each OS driver.

Cortex-A9 Processor diagram

References Understanding Smartphone processors — tanding-smartphone-processors.aspx ARM website — –Most pictures come from here.

Q A &