Embedded Systems: Hardware Components (part I) Todor Stefanov

Similar documents
Embedded Systems. 7. System Components

Embedded Systems. 8. Hardware Components. Lothar Thiele. Computer Engineering and Networks Laboratory

Embedded Systems: Hardware Components (part II) Todor Stefanov

ECE 1160/2160 Embedded Systems Design. Midterm Review. Wei Gao. ECE 1160/2160 Embedded Systems Design

Embedded Computing Platform. Architecture and Instruction Set

Section 6. Memory Components Chapter 5.7, 5.8 Physical Implementations Chapter 7 Programmable Processors Chapter 8

An introduction to DSP s. Examples of DSP applications Why a DSP? Characteristics of a DSP Architectures

Computer Organization

Embedded Systems Design: A Unified Hardware/Software Introduction. Outline. Chapter 5 Memory. Introduction. Memory: basic concepts

Embedded Systems Design: A Unified Hardware/Software Introduction. Chapter 5 Memory. Outline. Introduction

5 Computer Organization

Basic FPGA Architectures. Actel FPGAs. PLD Technologies: Antifuse. 3 Digital Systems Implementation Programmable Logic Devices

Computer and Hardware Architecture I. Benny Thörnberg Associate Professor in Electronics

Field Programmable Gate Array (FPGA)

Architectures & instruction sets R_B_T_C_. von Neumann architecture. Computer architecture taxonomy. Assembly language.

INTRODUCTION TO FPGA ARCHITECTURE

COMPUTER ORGANIZATION AND ARCHITECTURE

The Nios II Family of Configurable Soft-core Processors

Instruction Register. Instruction Decoder. Control Unit (Combinational Circuit) Control Signals (These signals go to register) The bus and the ALU

SAE5C Computer Organization and Architecture. Unit : I - V

CREATED BY M BILAL & Arslan Ahmad Shaad Visit:

COMP3221: Microprocessors and. and Embedded Systems. Overview. Lecture 23: Memory Systems (I)

Cycle Time for Non-pipelined & Pipelined processors

ECE 341. Lecture # 16

EE414 Embedded Systems Ch 5. Memory Part 2/2

Latches. IT 3123 Hardware and Software Concepts. Registers. The Little Man has Registers. Data Registers. Program Counter

Embedded Systems Design (630414) Lecture 1 Introduction to Embedded Systems Prof. Kasim M. Al-Aubidy Computer Eng. Dept.

Concept of Memory. The memory of computer is broadly categories into two categories:

MicroProcessor. MicroProcessor. MicroProcessor. MicroProcessor

Computer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra

Basic Computer Architecture

Where Have We Been? Ch. 6 Memory Technology

Memory and Programmable Logic

Design of Embedded DSP Processors Unit 5: Data access. 9/11/2017 Unit 5 of TSEA H1 1

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses

General Purpose Signal Processors

The CPU and Memory. How does a computer work? How does a computer interact with data? How are instructions performed? Recall schematic diagram:

The Memory Hierarchy Part I

ELCT708 MicroLab Session #1 Introduction to Embedded Systems and Microcontrollers. Eng. Salma Hesham

RISC (Reduced Instruction Set Computer)

Computer Hardware Requirements for Real-Time Applications

Digital Integrated Circuits

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

Computer Memory. Textbook: Chapter 1

SIDDHARTH GROUP OF INSTITUTIONS :: PUTTUR Siddharth Nagar, Narayanavanam Road QUESTION BANK (DESCRIPTIVE) UNIT-I

Memory and Programmable Logic

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 2, 2016

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)

Copyright 2016 Xilinx

Course overview Computer system structure and operation

FPGA: What? Why? Marco D. Santambrogio

Field Program mable Gate Arrays

ECEN 449 Microprocessor System Design. Memories. Texas A&M University

Computer Systems Organization

Summary of Computer Architecture

Embedded processors. Timo Töyry Department of Computer Science and Engineering Aalto University, School of Science timo.toyry(at)aalto.

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 3, 2015

Embedded Computation

ADVANCED COMPUTER ARCHITECTURE TWO MARKS WITH ANSWERS

Announcement. Computer Architecture (CSC-3501) Lecture 20 (08 April 2008) Chapter 6 Objectives. 6.1 Introduction. 6.

Memory Expansion. Lecture Embedded Systems

Memory hierarchy Outline

Basic Computer Architecture

Memory Systems IRAM. Principle of IRAM

Design and Implementation of an AHB SRAM Memory Controller

Architecture of Computers and Parallel Systems Part 6: Microcomputers

Design Methodologies. Full-Custom Design

The Use Of Virtual Platforms In MP-SoC Design. Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006

Chapter 6 Objectives

Computer Architecture s Changing Definition

CS6303 Computer Architecture Regulation 2013 BE-Computer Science and Engineering III semester 2 MARKS

Hardware/Software Co-design

Overview of Microcontroller and Embedded Systems

a) Memory management unit b) CPU c) PCI d) None of the mentioned

Basic Organization Memory Cell Operation. CSCI 4717 Computer Architecture. ROM Uses. Random Access Memory. Semiconductor Memory Types

Reminder. Course project team forming deadline. Course project ideas. Friday 9/8 11:59pm You will be randomly assigned to a team after the deadline

Universität Dortmund. ARM Architecture

Advance CPU Design. MMX technology. Computer Architectures. Tien-Fu Chen. National Chung Cheng Univ. ! Basic concepts

Memory. Lecture 22 CS301

COMP2121: Microprocessors and Interfacing. Introduction to Microprocessors

Memory Pearson Education, Inc., Hoboken, NJ. All rights reserved.

ADVANCED FPGA BASED SYSTEM DESIGN. Dr. Tayab Din Memon Lecture 3 & 4

Memory Systems for Embedded Applications. Chapter 4 (Sections )

Introduction to reconfigurable systems

The Xilinx XC6200 chip, the software tools and the board development tools

FPGA for Dummies. Introduc)on to Programmable Logic

ECE 485/585 Microprocessor System Design

CPU Pipelining Issues

FIFTH SEMESTER DIPLOMA EXAMINATION IN ENGINEERING/ TECHNOLOGY-MARCH 2014 EMBEDDED SYSTEMS (Common for CT,CM) [Time: 3 hours] (Maximum marks : 100)

ESE532: System-on-a-Chip Architecture. Today. Message. Graph Cycles. Preclass 1. Reminder

CENG4480 Lecture 09: Memory 1

EECS 3201: Digital Logic Design Lecture 7. Ihab Amer, PhD, SMIEEE, P.Eng.

Overview. Memory Classification Read-Only Memory (ROM) Random Access Memory (RAM) Functional Behavior of RAM. Implementing Static RAM

EECS150 - Digital Design Lecture 16 - Memory

The University of Adelaide, School of Computer Science 13 September 2018

04 - DSP Architecture and Microarchitecture

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi. Lecture - 10 System on Chip (SOC)

REAL TIME DIGITAL SIGNAL PROCESSING

Computer Fundamentals and Operating System Theory. By Neil Bloomberg Spring 2017

Transcription:

Embedded Systems: Hardware Components (part I) Todor Stefanov Leiden Embedded Research Center Leiden Institute of Advanced Computer Science Leiden University, The Netherlands

Outline Generic Embedded System component structure Sensors Analog-to-Digital (A/D-) converters Computation Components General Purpose Processors (GPPs) Application Specific Instruction Set Processors (ASIPs) Reconfigurable Processing Units (RPUs) Application Specific Integrated Circuits (ASICs) Input/Output Devices Communication Infrastructure Digital-to-Analog (D/A) converters Actuators Embedded Systems and Software by Todor Stefanov 2018 2

Embedded Systems Hardware Embedded Systems hardware is frequently used in a loop ( hardware in a loop ): Embedded System A/D-converters sample-and-hold Information Processing Display D/A converters Sensors rain light Environment Actuators Embedded Systems and Software by Todor Stefanov 2018 3

Sensors Capture physical data from the environment Can be designed for every physical and chemical quantity weight, velocity, acceleration, electrical current, voltage, temperatures, etc chemical compounds Many physical effects used for constructing sensors, e.g., laws of induction (generation of current in a magnetic field) light-electric effects Huge amount of sensors designed in recent years Embedded Systems and Software by Todor Stefanov 2018 4

Examples of Sensors Embedded Systems and Software by Todor Stefanov 2018 5

Signals Sensors generate signals Definition: signal s is a mapping from time domain D T to value domain D V : s: D T D V D T : continuous or discrete time domain D V : continuous or discrete value domain Digital computers require discrete sequences of physical values, i.e., D T should be discrete time domain. Digital computers require digital/binary form of physical values, i.e., D v should be discrete value domain. How to do this for continuous physical signals? Sample-and-hold circuits (discretization in time or sampling) A/D-converters (discretization of values or quantization) Embedded Systems and Software by Todor Stefanov 2018 6

Discretization in Time: Sample-and-hold circuit Clocked transistor + capacitor; Capacitor stores sequence values e(t) is a mapping R R h(t) is a sequence of values or a mapping Z R Embedded Systems and Software by Todor Stefanov 2018 7

Discretization of Values: Analog-to-Digital (A/D)-converters (1) Flash A/D converter Encodes input number of most significant 1 as an unsigned number, e.g. 1111 -> 100, 0111 -> 011, 0011 -> 010, 0001 -> 001, 0000 -> 000 (priority encoder) Embedded Systems and Software by Todor Stefanov 2018 8

Resolution and Speed of Flash A/D converter Resolution (in bits): number of bits produced Resolution Q (in volts): difference between two input voltages causing the output to be incremented by 1 VFSR Q with V FSR : difference between largest n and smallest voltage n: number of voltage intervals Parallel comparison with reference voltage Speed: O(1) Hardware complexity: O(n) Applications: e.g. in video processing Embedded Systems and Software by Todor Stefanov 2018 9

Discretization of Values: A/D-converters (2) h(t) w(t) Key idea: binary search: Set MSB = '1' if too large: reset MSB Set MSB 1 = '1' if too large: reset MSB-1 Embedded Systems and Software by Todor Stefanov 2018 10

Successive Approximation V V x 1100 1010 1011 1000 V - t Embedded Systems and Software by Todor Stefanov 2018 11

Discretization of Values: A/D-converters (2) h(t) w(t) Speed: O(log2(n)) Hardware complexity: O(log2(n)) n= # of distinguished voltage levels; slow, but high precision possible Embedded Systems and Software by Todor Stefanov 2018 12

Embedded Systems Hardware Embedded Systems hardware is frequently used in a loop ( hardware in a loop ): Embedded System A/D-converters sample-and-hold Information Processing Display D/A converters Sensors rain light Environment Actuators Embedded Systems and Software by Todor Stefanov 2018 13

Information Processing System: Computation Components Cache ScratchPad GPP ASIP MicroCtrl DSP VLIW RPU FPGA ASIC Communication Infrastructure I/O device I/O device Embedded Systems and Software by Todor Stefanov 2018 14

Why Implementation Alternatives? Trade-off between Flexibility and Performance/Power Efficiency GPP ASIP MicroCtrl DSP VLIW RPU FPGA ASIC Embedded Systems and Software by Todor Stefanov 2018 15

General Purpose Processors (GPPs) Can achieve high performance Highly optimized circuits Use of instruction-level parallelism superscalar: dynamic scheduling of instructions super-pipelining: instruction pipelining, branch prediction, speculation Complex memory hierarchy caches Not suitable for real-time applications Execution times are highly unpredictable Properties Due to caches and dynamic decisions (scheduling of instructions, etc.) Good average performance for large application mix High power consumption Embedded Systems and Software by Todor Stefanov 2018 16

GPP + (von Neumann architecture) 0 1 2 PC 200 Data + Program ADD a1,a2,an address data IR CPU 1. PC := 200 2. Fetch => IR := Mem[PC] 3. Decode IR 4. Execute 5. PC := PC + 1 6. goto 2 N GPR Embedded Systems and Software by Todor Stefanov 2018 17

GPP + (Harvard architecture) address Program Data data address data PC IR CPU GPR Embedded Systems and Software by Todor Stefanov 2018 18

Example of simple embedded GPP: MicroBlaze Embedded Systems and Software by Todor Stefanov 2018 19

Example of complex embedded GPP: ARM 8 Embedded Systems and Software by Todor Stefanov 2018 20

Information Processing System: Computation Components Cache ScratchPad GPP ASIP MicroCtrl DSP VLIW RPU FPGA ASIC Communication Infrastructure I/O device I/O device Embedded Systems and Software by Todor Stefanov 2018 21

Application Specific Instruction Set Processors (ASIPs) Micro Controllers (MicroCtrl) Used in Control Systems Reactive systems with event driven behavior Application examples: cars, consumer electronics (washing machines, dishwashers etc.) Digital Signal Processors (DSPs) Used in Data Processing Systems Streaming-oriented systems with mostly periodic behavior Application examples: signal processing Very Long Instruction Word Processors (VLIWs) Used in Data Processing Systems Application examples: image processing Embedded Systems and Software by Todor Stefanov 2018 22

Micro Controllers Control-dominant applications Supports process scheduling and synchronization Preemption (interrupt), context switch Short latency times Low power consumption Peripheral units often integrated Suited for real-time applications Philips 83 C552: 8 bit-8051 based microcontroller Embedded Systems and Software by Todor Stefanov 2018 23

Digital Signal Processors Optimized for data-flow applications Parallel hardware units Specialized instruction set High data throughput Zero-overhead loops Specialized memory Suited for real-time applications TMS320C40 Block Diagram Embedded Systems and Software by Todor Stefanov 2018 24

MAC (Multiply & Accumulate) // Product of two vectors a[] and b[] float X = 0.0; for ( i = 1; i <= N; i++ ) { X = X + a[i]*b[i]; } TMS320C3x Assembler (Texas Instruments) LDF 0, R0 LDF 0, R1 RPTS N // Zero-overhead loop (repeat next instruction N times) MPYF3 *(AR0)++, *(AR1)++, R0 ADDF3 R0, R1, R1 MAC instruction Embedded Systems and Software by Todor Stefanov 2018 25

Very Long Instruction Word Processors Key idea: Detection of possible instruction parallelism by the compiler, not by hardware at run-time (inefficient) VLIW: parallel instructions encoded in one long word, each instruction controlling one functional unit VLIW processors are an example of the so called Explicit Parallelism Instruction Computers (EPIC) Embedded Systems and Software by Todor Stefanov 2018 26

Example: Philips TriMedia VLIW CPU 64-bit memory bus 32-bit peripheral bus data cache 16KB exceptions instruction cache 32 KB mmu mmu mmu PC multi-port 128 words x 64 bits register file bypass network FU FU FU FU FU VLIW instruction decode and launch 5 issue slots (functional units FU), therefore up to 5 instructions can be executed in parallel Embedded Systems and Software by Todor Stefanov 2018 27

Information Processing System: Computation Components Cache ScratchPad GPP ASIP MicroCtrl DSP VLIW RPU FPGA ASIC Communication Infrastructure I/O device I/O device Embedded Systems and Software by Todor Stefanov 2018 28

Reconfigurable Processing Units (RPUs) Full custom HW may be too expensive, SW maybe too slow Combine speed of HW with flexibility of SW HW with programmable functions and interconnect HW (Re-)Configurable at design-time or at run-time (dynamic reconfiguration) Field Programmable Gate Arrays (FPGAs) Currently the most sophisticated and used RPUs Applications Fast and very cheap prototyping of (MP-)SoCs Encryption Fast object recognition (medical and military) Adapting mobile phones to different standards Very popular devices from XILINX (Virtex 6, Virtex 7, Virtex UltraScale+) Altera, Actel and others Embedded Systems and Software by Todor Stefanov 2018 29

Floor Plan of Virtex FPGAs Configurable Logic Block (CLB) Digital Clock Manager (DCM) Input/Output Blocks (IOB) Embedded Systems and Software by Todor Stefanov 2018 30

CLB Structure 1-bit registers used as Flip-Flops or Latchs 64-bit memories used as Look-up tables to implement any Boolean function of up to 6 variables Memories for storing data Shift registers Embedded Systems and Software by Todor Stefanov 2018 31

Interconnect Infrastructure Embedded Systems and Software by Todor Stefanov 2018 32

Information Processing System: Computation Components Cache ScratchPad GPP ASIP MicroCtrl DSP VLIW RPU FPGA ASIC Communication Infrastructure I/O device I/O device Embedded Systems and Software by Todor Stefanov 2018 33

Application Specific Integrated Circuits (ASICs) Custom-designed circuits necessary if ultimate speed or energy efficiency is the goal and large numbers can be sold Approach suffers from long design times, lack of flexibility (changing standards) high costs, i.e., Millions of $ mask costs Embedded Systems and Software by Todor Stefanov 2018 34

Information Processing System: Cache ScratchPad GPP ASIP MicroCtrl DSP VLIW RPU FPGA ASIC Communication Infrastructure I/O device I/O device Embedded Systems and Software by Todor Stefanov 2018 35

Generic Device Organization n rowaddr array Data Width: w Addres Width: n Size: 2 n cells 2 n x w bits columnaddr w Type of : - RAM, ROM - SRAM, DRAM - Embedded Systems and Software by Todor Stefanov 2018 36

Typical Generic SRAM: Structure and Timing CE R/W Adrs SRAM - Very Fast - High Area - Low Capacity - Data CE R/W Adrs Data From SRAM From CPU read write time Embedded Systems and Software by Todor Stefanov 2018 37

CE R/W RAS CAS Adrs Data Typical Generic DRAM: Structure and Timing DRAM Refresh: - done every few milliseconds - by addressing and reading all rows CE R/W RAS CAS Adrs Data row adrs - Slower than SRAM - Low Area - High Capacity - Refresh is needed! - col adrs data time Embedded Systems and Software by Todor Stefanov 2018 38

Some Concerns about in ES: Access Time and Energy Efficiency Access times and energy consumption increase with the size of the memory! For Embedded Systems Small is beautiful in terms of access time and energy consumption Embedded Systems and Software by Todor Stefanov 2018 39

Some Concerns about in ES: The old Wall Problem Access Times >> Processor Cycle Times! 8 Speed 4 2 2x every 2 years 1 0 1 2 3 4 5 years Embedded Systems and Software by Todor Stefanov 2018 40

Relaxing the Wall problem: Hierarchical Memories main main L2 Cache L1 Cache processor Scratch Pad processor For Embedded Systems, Scratch Pad Memories (SPM) are more suitable than Caches Caches have unpredictable behavior (cache misses) Caches consume more energy (in comparators, multiplexers, etc.) Embedded Systems and Software by Todor Stefanov 2018 41

To be continued Embedded Systems and Software by Todor Stefanov 2018 42