Embedded Systems: Hardware Components (part II) Todor Stefanov

Similar documents
ECE 551 System on Chip Design

Embedded Systems: Hardware Components (part I) Todor Stefanov

Bus System. Bus Lines. Bus Systems. Chapter 8. Common connection between the CPU, the memory, and the peripheral devices.

Computer Architecture CS 355 Busses & I/O System

Embedded Systems. 7. System Components

The von Neuman architecture characteristics are: Data and Instruction in same memory, memory contents addressable by location, execution in sequence.

Unit 1. Chapter 3 Top Level View of Computer Function and Interconnection

Interfacing. Introduction. Introduction Addressing Interrupt DMA Arbitration Advanced communication architectures. Vahid, Givargis

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

Buses. Disks PCI RDRAM RDRAM LAN. Some slides adapted from lecture by David Culler. Pentium 4 Processor. Memory Controller Hub.

Chapter 6 Storage and Other I/O Topics

Chapter 3. Top Level View of Computer Function and Interconnection. Yonsei University

Generic Model of I/O Module Interface to CPU and Memory Interface to one or more peripherals

Input/Output Problems. External Devices. Input/Output Module. I/O Steps. I/O Module Function Computer Architecture

Overview of Microcontroller and Embedded Systems

DISTRIBUTED EMBEDDED ARCHITECTURES

Lecture 5: Computing Platforms. Asbjørn Djupdal ARM Norway, IDI NTNU 2013 TDT

MULTIPROCESSORS. Characteristics of Multiprocessors. Interconnection Structures. Interprocessor Arbitration

CS152 Computer Architecture and Engineering Lecture 20: Busses and OS s Responsibilities. Recap: IO Benchmarks and I/O Devices

Design and Implementation of Low Complexity Router for 2D Mesh Topology using FPGA

Dr e v prasad Dt

The CoreConnect Bus Architecture

Design and Test Solutions for Networks-on-Chip. Jin-Ho Ahn Hoseo University

TDT Appendix E Interconnection Networks

8. Networks. Why networked embedded systems General network architecture. Networks. Internet-enabled embedded systems Sensor networks

Lecture 13. Storage, Network and Other Peripherals

Development and research of different architectures of I 2 C bus controller. E. Vasiliev, MIET

INPUT/OUTPUT ORGANIZATION

Embedded Systems. 8. Communication

Organisasi Sistem Komputer

FPGA based Design of Low Power Reconfigurable Router for Network on Chip (NoC)

Chapter 2 The AMBA SOC Platform

Embedded Systems 1: On Chip Bus

PD215 Mechatronics. Week 3/4 Interfacing Hardware and Communication Systems

CSE 123: Computer Networks Alex C. Snoeren. HW 2 due Thursday 10/21!

Sri Vidya College of Engineering and Technology. EC6703 Embedded and Real Time Systems Unit IV Page 1.

Lecture 18: Communication Models and Architectures: Interconnection Networks

Module 3. Embedded Systems I/O. Version 2 EE IIT, Kharagpur 1

VLSI Design of Multichannel AMBA AHB

INPUT/OUTPUT ORGANIZATION

SEMICON Solutions. Bus Structure. Created by: Duong Dang Date: 20 th Oct,2010

Computer Organization ECE514. Chapter 5 Input/Output (9hrs)

Chapter 6. I/O issues

SoC Design. Prof. Dr. Christophe Bobda Institut für Informatik Lehrstuhl für Technische Informatik

Swizzle Switch: A Self-Arbitrating High-Radix Crossbar for NoC Systems

Buses. Maurizio Palesi. Maurizio Palesi 1

CMSC 611: Advanced. Interconnection Networks

Computer Organization and Microprocessors SYLLABUS CHAPTER - 1 : BASIC STRUCTURE OF COMPUTERS CHAPTER - 3 : THE MEMORY SYSTEM

Introduction to Input and Output

Lecture 9: Bridging & Switching"

CHAPTER 6 FPGA IMPLEMENTATION OF ARBITERS ALGORITHM FOR NETWORK-ON-CHIP

CPS104 Computer Organization and Programming Lecture 18: Input-Output. Outline of Today s Lecture. The Big Picture: Where are We Now?

Network on Chip Architecture: An Overview

Reading and References. Input / Output. Why Input and Output? A typical organization. CSE 410, Spring 2004 Computer Systems

or between microcontrollers)

Lecture: Interconnection Networks

Interconnecting Components

Unit 3 and Unit 4: Chapter 4 INPUT/OUTPUT ORGANIZATION

DESIGN OF EFFICIENT ROUTING ALGORITHM FOR CONGESTION CONTROL IN NOC

PC Interrupt Structure and 8259 DMA Controllers

SAMBA-BUS: A HIGH PERFORMANCE BUS ARCHITECTURE FOR SYSTEM-ON-CHIPS Λ. Ruibing Lu and Cheng-Kok Koh

Applying the Benefits of Network on a Chip Architecture to FPGA System Design


Chapter 5 Input/Output Organization. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Eastern Mediterranean University School of Computing and Technology INPUT / OUTPUT

Hardware/Software Co-design

Hardware Design. University of Pannonia Dept. Of Electrical Engineering and Information Systems. MicroBlaze v.8.10 / v.8.20

SoC Design Lecture 11: SoC Bus Architectures. Shaahin Hessabi Department of Computer Engineering Sharif University of Technology

SoC Design Lecture 13: NoC (Network-on-Chip) Department of Computer Engineering Sharif University of Technology

Interconnection Structures. Patrick Happ Raul Queiroz Feitosa

A Statically Scheduled Time- Division-Multiplexed Networkon-Chip for Real-Time Systems

Interconnection Networks: Topology. Prof. Natalie Enright Jerger

EECS 598: Integrating Emerging Technologies with Computer Architecture. Lecture 12: On-Chip Interconnects

NETWORKS on CHIP A NEW PARADIGM for SYSTEMS on CHIPS DESIGN

1. Introduction 2. Methods for I/O Operations 3. Buses 4. Liquid Crystal Displays 5. Other Types of Displays 6. Graphics Adapters 7.

INPUT-OUTPUT ORGANIZATION

ISSN:

Network-on-Chip Architecture

More on IO: The Universal Serial Bus (USB)

Computer Architecture. Hebrew University Spring Chapter 8 Input/Output. Big Picture: Where are We Now?

4. Networks. in parallel computers. Advances in Computer Architecture

A Reconfigurable Crossbar Switch with Adaptive Bandwidth Control for Networks-on

A Closer Look at the Epiphany IV 28nm 64 core Coprocessor. Andreas Olofsson PEGPUM 2013

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

Where We Are in This Course Right Now. ECE 152 Introduction to Computer Architecture Input/Output (I/O) Copyright 2012 Daniel J. Sorin Duke University

The RM9150 and the Fast Device Bus High Speed Interconnect

Lecture 12: Interconnection Networks. Topics: communication latency, centralized and decentralized switches, routing, deadlocks (Appendix E)

1. Define Peripherals. Explain I/O Bus and Interface Modules. Peripherals: Input-output device attached to the computer are also called peripherals.

I/O Handling. ECE 650 Systems Programming & Engineering Duke University, Spring Based on Operating Systems Concepts, Silberschatz Chapter 13

OpenSMART: Single-cycle Multi-hop NoC Generator in BSV and Chisel

Introduction to Embedded Systems

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

Introduction I/O 1. I/O devices can be characterized by Behavior: input, output, storage Partner: human or machine Data rate: bytes/sec, transfers/sec

Unit 5. Memory and I/O System

EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING ERLANG

FCUDA-NoC: A Scalable and Efficient Network-on-Chip Implementation for the CUDA-to-FPGA Flow

SONICS, INC. Sonics SOC Integration Architecture. Drew Wingard. (Systems-ON-ICS)

Chapter 6. Storage and Other I/O Topics

2. System Interconnect Fabric for Memory-Mapped Interfaces

Final Presentation. Network on Chip (NoC) for Many-Core System on Chip in Space Applications. December 13, 2017

Transcription:

Embedded Systems: Hardware Components (part II) 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

Information Processing System: Input/Output Devices 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 4

Examples of I/O Devices Timers WatchDogs Pulse Width Modulators (PWM) Universal Asynchronous Receiver Transmitter (UART) Inter Integrated Circuit (I 2 C) Philips 83C552: 8 bit-8051 based microcontroller Embedded Systems and Software by Todor Stefanov 2018 5

How Computation Components (CSs) talk to I/O Devices? -- I/O Devices are mapped in the address space of CCs -- CCs communicate with I/Os by reading/writing from/to memory cells Local Mem GPP ASIP RPU Mem1 I/O Device 1 Two general methods for interaction Polling Interrupts BUS I/O Device N 200 0 50 2 3 5 100 N Map I/O device 1 I/O device 2 : Mem 1 : Local Mem Embedded Systems and Software by Todor Stefanov 2018 6

mechanism Polling: Busy-Wait Interface MASTER SLAVE GPP ASIP RPU data/address Status Regs Control Regs Data Regs Continuous polling while (device not ready) { }... Periodic polling Issues: MASTER is tied up in communication with I/O device polling the status Polling and/or waiting for I/O device takes time from the MASTER Typically one MASTER in system, but many I/O devices Only really useful if devices are fast No time consuming context switches Embedded Systems and Software by Todor Stefanov 2018 7

mechanism Interrupt Interface MASTER GPP ASIP RPU intr request data/address intr ack SLAVE Status Regs Control Regs Data Regs When I/O device needs MASTER interrupt signal is sent MASTER is forced to suspend its current task Interrupts can be ignored (masked) when critical task is executed MASTER acknowledges interrupt and jumps to interrupt service routine When MASTER finished, control is returned to the interrupted task Key observations: HW polling of the interrupt signal at beginning of each instruction MASTER is free to do something else until attention is needed Improves utilization of MASTER I/Os can proceed asynchronously Time consuming context switches! Embedded Systems and Software by Todor Stefanov 2018 8

Communication with many I/Os interrupt acknowledge device 1 device 2 device n interrupt requests L1 L2.. Ln GPP ASIP RPU Interrupt Identification SW polling (check status registers) HW polling (ACK signal propagated in Daisy Chain) Interrupt Priority (in case multiple interrupts to be served) Embedded Systems and Software by Todor Stefanov 2018 9

Information Processing System: Communication Infrastructure 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 10

Types of Communication Single Bus Infrastructure Single shared resource May become the bottleneck in the system Multiple Busses/Crossbar Switches Wire Switching communication infrastructure Networks (on Chip) Packet Switching communication infrastructure Embedded Systems and Software by Todor Stefanov 2018 11

Requirements for Comm. Infrastructure in ES Guaranteed Performance (for real-time ES) bandwidth latency Efficiency cost (material, installation, maintenance) low power Robustness fault tolerance maintainability, diagnoseability security, safety Embedded Systems and Software by Todor Stefanov 2018 12

Generic Bus Structure What is a BUS? Set of wires m Address wires: n Data wires: Control wires: c Common protocol for communication with devices Embedded Systems and Software by Todor Stefanov 2018 13

Generic Fixed-delay Access Protocol MASTER R/W = 1 adrs = A reg = data R/W data adrs SLAVE device R/W 1 0 data = mem[adrs] mem[adrs] = data Embedded Systems and Software by Todor Stefanov 2018 14

Generic Variable-delay Access Protocol R/W = 1 adrs = A R/W done = 0 0 done 1 reg = data MASTER data adrs done R/W 1 data = mem[adrs] done = 1 SLAVE device 0 mem[adrs] = data done = 1 Embedded Systems and Software by Todor Stefanov 2018 15

Typical Bus Access Protocol clock R/W Address enable adrs Data Ready data read write time Embedded Systems and Software by Todor Stefanov 2018 16

What if Multiple Masters want the BUS simultaneously Arbiter is used Controls access to the shared bus Uses arbitration policy to select master to grant access to bus Arbitration policy Centralized Arbitration Round Robin policy Priority policy TDMA policy Distributed Arbitration GPP ASIP I/O device Carrier Sense Multiple Access / Collision Detection (CSMA/CD) RPU ASIC BUS I/O device Embedded Systems and Software by Todor Stefanov 2018 17

Centralized Arbitration GPP ASIP RPU ASIC I/O device BUS I/O device Arbiter Two important control signals per MASTER, i.e., bus_request from MASTER to ARBITER bus_granted from ARBITER to MASTER Minimal change is required if new components are added to the system Embedded Systems and Software by Todor Stefanov 2018 18

Arbitration Policies (1) Random Randomly select master to grant bus access to Static priority Masters assigned static priorities Higher priority master request always serviced first Can be pre-emptive or non-preemptive May lead to starvation of low priority masters Round Robin (RR) Masters allowed to access bus in a round-robin manner No starvation every master guaranteed bus access Unpredictable, if masters have variable amount of data to communicate when the bus is granted Embedded Systems and Software by Todor Stefanov 2018 19

Arbitration Policies (2) Time Division Multiple Access (TDMA) Assign slots to masters based on bandwidth requirements If a master does not have anything to read/write during its time slots, leads to low bus utilization Choice of time slot length and number critical Predictable behavior suitable for real-time Embedded Systems TDMA/RR Two-level scheme If master does not need to utilize its time slot, second level RR scheme grants access to another waiting master Better bus utilization Higher implementation cost for scheme (more logic, area) Embedded Systems and Software by Todor Stefanov 2018 20

Arbitration Policies (3) Dynamic priority Dynamically vary priority of master during application execution Gives masters with higher injection rates a higher priority Requires additional logic to analyze traffic at runtime Adapts to changing data traffic profiles High implementation cost (several registers to track priorities and traffic profiles) Programmable priority Simpler variant of dynamic priority scheme Programmable register in arbiter allows software to change priority Embedded Systems and Software by Todor Stefanov 2018 21

Distributed Arbitration GPP ASIP RPU ASIC Arbiter Arbiter Arbiter Arbiter I/O device BUS I/O device Requires fewer signals compared to the centralized approach More hardware duplication, more logic/area, less scalable Embedded Systems and Software by Todor Stefanov 2018 22

Distributed Arbitration Example: CSMA/CD Carrier Sense Multiple Access / Collision Detection Try to avoid and detect collisions: before starting to transmit, MASTER checks whether the bus is idle if a collision is detected (several MASTERS started almost simultaneously), wait for some time (back-off timer) Repeated collisions result in increasing back-off times Embedded Systems and Software by Todor Stefanov 2018 23

How to Connect Different Busses and Interfaces? memory memory memory CPU ASIP RPU BUS3 Bridge1 BUS1 Bridge3 BUS2 Bridge2 BUS4 I/O device I/O device memory memory Use Bus Bridges They act as slave on one side and master on the other Embedded Systems and Software by Todor Stefanov 2018 24

Multiple Busses IBM Cell ring bus communication architecture Embedded Systems and Software by Todor Stefanov 2018 25

Crossbar Switch Full-crossbar/matrix bus Point-to-Point Partial-crossbar/matrix bus Embedded Systems and Software by Todor Stefanov 2018 26

Network-On-Chip: Introduction NoC is a packet switched on-chip communication network NoCs use packets to route data from the source to the destination PE via a network fabric that consists of network interfaces (NI) switches (routers) interconnection links (wires) Embedded Systems and Software by Todor Stefanov 2018 27

Network-On-Chip: Introduction NoCs are an attempt to scale down the concepts of large-scale networks apply them to the Embedded SoC domain NoC Properties Reliable and predictable electrical and physical properties (packets never lost) Regular geometry that is scalable Higher bandwidth Reusable components Buffers, arbiters, routers, protocol stack Embedded Systems and Software by Todor Stefanov 2018 28

Network-On-Chip: Topology 2-D Mesh 1-D Torus 2-D Torus Fat Tree Octagon Irregular or Ad-hoc Butterfly Embedded Systems and Software by Todor Stefanov 2018 29

Network-On-Chip: Issues Very hot research topic at the moment NO wide adoption in Industry because of High Power consumption several times greater compared to buses routers are power hungry High Latency additional delay to packetize/de-packetize data at NIs delays at routers along the routing path Lack of tools and benchmarks Embedded Systems and Software by Todor Stefanov 2018 30

All this could be on a single chip!!! System-on-chip (SoC) 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 31

Example of SoC (one processor with peripherals) Philips Trimedia Chip SDRAM Off-chip memory peripherals video-in video-out timers Serial I/O PCI bridge I 2 C I/O VLIW cpu I$ D$ audio-out audio-in Programmable core High-way bus Embedded Systems and Software by Todor Stefanov 2018 32

Examples of Configurable SoC (one processor + RPU + peripherals) Embedded Systems and Software by Todor Stefanov 2018 33

Example of Multi-Processor SoC (ARM big.little mobile chip) Embedded Systems and Software by Todor Stefanov 2018 34

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 35

Digital-to-Analog (D/A)-converters Various types, can be quite simple, e.g.: Embedded Systems and Software by Todor Stefanov 2018 36

Output voltage ~ no. represented by x * I i Due to Kirchhoff s laws : I Loop rule*: x Junction rule : Hence: Finally: V V V 3 ref ref ref ref ref i 3 x2 x1 x0 xi 2 R 2 R 4 R 8 R 8 R i 0 V R I I' V V I' 1 0 R1 I 0 V ref R Embedded Systems and Software by Todor Stefanov 2018 37 V 3 1 i 1 xi 2 Vref nat( x) 8 R i 0 8 R Op-amp turns current I ~ nat (x) into a voltage ~ nat (x) V I ~ nat (x), where nat(x): natural number represented by x; R

Reconstruction Analog from Digital? S/H A/D-converter D/A-converter Filter (Interpolation) According to Nyquist theorem: Analog signal to sample-and-hold can be precisely reconstructed if sampling frequency double the highest frequency in the analog signal Embedded Systems and Software by Todor Stefanov 2018 38

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 39

Actuators Convert a command/signal to a physical stimulus (e.g., heat, light, sound, pressure, magnetism, or other mechanical motion) May require analog signal Examples of physical stimulus by different actuators Physical motion Large (industrial) control actuators Pneumatic systems Light IR, LEDs, displays, etc. Rotation DC and stepper motors Sound Loudspeakers, etc. Embedded Systems and Software by Todor Stefanov 2018 40