Hardware/Software Codesign



Similar documents
Contents. System Development Models and Methods. Design Abstraction and Views. Synthesis. Control/Data-Flow Models. System Synthesis Models

Architectures and Platforms

Breaking the Interleaving Bottleneck in Communication Applications for Efficient SoC Implementations

A Hardware-Software Cosynthesis Technique Based on Heterogeneous Multiprocessor Scheduling

Optimizing Configuration and Application Mapping for MPSoC Architectures

An Energy-aware Multi-start Local Search Metaheuristic for Scheduling VMs within the OpenNebula Cloud Distribution

Codesign: The World Of Practice

Rapid System Prototyping with FPGAs

An Interactive Visualization Tool for the Analysis of Multi-Objective Embedded Systems Design Space Exploration

Performance evaluation

Specification and Design of a Video Phone System

Throughput constraint for Synchronous Data Flow Graphs

CMSC 611: Advanced Computer Architecture

Multiobjective Optimization and Evolutionary Algorithms for the Application Mapping Problem in Multiprocessor System-on-Chip Design

System Interconnect Architectures. Goals and Analysis. Network Properties and Routing. Terminology - 2. Terminology - 1

A Generic Network Interface Architecture for a Networked Processor Array (NePA)

Multi-objective Design Space Exploration based on UML

WORKFLOW ENGINE FOR CLOUDS

GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications

Software Engineering for Real- Time Systems.

ESE566 REPORT3. Design Methodologies for Core-based System-on-Chip HUA TANG OVIDIU CARNU

ELEC 5260/6260/6266 Embedded Computing Systems

EE361: Digital Computer Organization Course Syllabus

Introduction to Parallel Computing. George Karypis Parallel Programming Platforms

Hardware/Software Codesign Overview

Capstone Overview Architecture for Big Data & Machine Learning. Debbie Marr ICRI-CI 2015 Retreat, May 5, 2015

Introduction to System-on-Chip

Embedded Systems. introduction. Jan Madsen

COMPUTER ORGANIZATION ARCHITECTURES FOR EMBEDDED COMPUTING

4. Zastosowania Optymalizacja wielokryterialna

Chapter 12: Multiprocessor Architectures. Lesson 04: Interconnect Networks

7a. System-on-chip design and prototyping platforms

What is a System on a Chip?

Instruction Set Design

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

Increasing Flash Throughput for Big Data Applications (Data Management Track)

Performance Monitoring of Parallel Scientific Applications

Introduction to Digital System Design

Computer Architecture Lecture 2: Instruction Set Principles (Appendix A) Chih Wei Liu 劉 志 尉 National Chiao Tung University

Internet of things (IOT) applications covering industrial domain. Dev Bhattacharya

Cyber-Security Analysis of State Estimators in Power Systems

EECS 583 Class 11 Instruction Scheduling Software Pipelining Intro

A New, High-Performance, Low-Power, Floating-Point Embedded Processor for Scientific Computing and DSP Applications

vii TABLE OF CONTENTS CHAPTER TITLE PAGE DECLARATION DEDICATION ACKNOWLEDGEMENT ABSTRACT ABSTRAK

Software Stacks for Mixed-critical Applications: Consolidating IEEE AVB and Time-triggered Ethernet in Next-generation Automotive Electronics

On Set-Based Multiobjective Optimization

Interconnection Networks Programmierung Paralleler und Verteilter Systeme (PPV)

COMPUTER SCIENCE AND ENGINEERING - Microprocessor Systems - Mitchell Aaron Thornton

Instruction scheduling

LSN 2 Computer Processors

Latency in High Performance Trading Systems Feb 2010

AN AIR TRAFFIC MANAGEMENT (ATM) SYSTEM PERFORMANCE MODEL ETMS

Hardware Resource Allocation for Hardware/Software Partitioning in the LYCOS System

Interconnection Networks. Interconnection Networks. Interconnection networks are used everywhere!

MULTISTAGE INTERCONNECTION NETWORKS: A TRANSITION TO OPTICAL

Curriculum for a Master s Degree in ECE with focus on Mixed Signal SOC Design

Topological Properties

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-12: ARM

5. A full binary tree with n leaves contains [A] n nodes. [B] log n 2 nodes. [C] 2n 1 nodes. [D] n 2 nodes.

路 論 Chapter 15 System-Level Physical Design

FPGAs for Trusted Cloud Computing

Multi-Objective Genetic Test Generation for Systems-on-Chip Hardware Verification

Hardware Virtualization for Pre-Silicon Software Development in Automotive Electronics

Module: Software Instruction Scheduling Part I

EEM870 Embedded System and Experiment Lecture 1: SoC Design Overview

Software Pipelining - Modulo Scheduling

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

GPU Computing with CUDA Lecture 2 - CUDA Memories. Christopher Cooper Boston University August, 2011 UTFSM, Valparaíso, Chile

7/15/2011. Monitoring and Managing VDI. Monitoring a VDI Deployment. Veeam Monitor. Veeam Monitor

Embedded Software development Process and Tools: Lesson-4 Linking and Locating Software

Hadoop Cluster Applications

Application Partitioning on Programmable Platforms Using the Ant Colony Optimization

REAL-TIME STREAMING ANALYTICS DATA IN, ACTION OUT

Multiprocessor System-on-Chip

Serial port interface for microcontroller embedded into integrated power meter

Index Terms- Batch Scheduling, Evolutionary Algorithms, Multiobjective Optimization, NSGA-II.

Memory Access Control in Multiprocessor for Real-time Systems with Mixed Criticality

Power-Aware Scheduling of Conditional Task Graphs in Real-Time Multiprocessor Systems

High Performance Computing. Course Notes HPC Fundamentals

Real-Time Operating Systems for MPSoCs

Operating System Support for Multiprocessor Systems-on-Chip

Distributed Systems LEEC (2005/06 2º Sem.)

Multiobjective Multicast Routing Algorithm

Real-time Process Network Sonar Beamformer

Overview on Graph Datastores and Graph Computing Systems. -- Litao Deng (Cloud Computing Group)

Intel Xeon Processor E5-2600

Computer and Set of Robots

Architectural Level Power Consumption of Network on Chip. Presenter: YUAN Zheng

A single register, called the accumulator, stores the. operand before the operation, and stores the result. Add y # add y from memory to the acc

UNIT 2 CLASSIFICATION OF PARALLEL COMPUTERS

Transcription:

Hardware/Software Codesign. Review. Allocation, Binding and Scheduling Marco Platzner Lothar Thiele by the authors Synthesis Behavior Structure Synthesis Tasks Œ Allocation: Œ Binding: Œ Scheduling: selection of components assignment of functions to components determination of the execution order Page

Design of Embedded Processors x := a*b -(c+d)*e machine code Allocation Œ registers, ALU, etc., given Binding Œ register binding, instruction binding Scheduling Œ instruction sequence TMS0C5 System design Given: algorithms mappings architectures I I K Goal: schedule mapping architecture interfaces '0$ &, Objectives: cost, latency, power consumption, Page

Allocation on the System Level Processors, dedicated Hardware Memory, I/O Interconnects MIPS DSP Mem Mem 5 Binding on the System Level A B C D MIPS DSP Mem E Mem Page

Scheduling on the System Level DSP MIPS A DSP A B B MIPS C MIPS C D D E E time time Basic Model Problem Graph Problem graph G P (V P,E P ): 5 Interpretation: V P consists of functional nodes V f P (task, procedure) and communication nodes V c P. E P represent data dependencies 8 Page

Basic model architecture graph Architecture graph G A (V A,E A ): HWM HWM shared bus HWM Architecture PTP bus shared bus HWM Architecture graph PTP bus V A consists of functionalresources V f A (, ) and bus resources V c A. These components are potentially allocatable. E A modeldirected communication. 9 Basic model specification graph Definition: Aspecification graph is a graph G S =(V S,E S ) consisting of a problem graph G P, an architecture graph G A, and edges E M.In particular, V S =V P V A, E S =E P E A E M 5 G P E M G A SB HWM PTP HWM 0 Page 5

Basic model - synthesis Three main tasks of synthesis: Allocation α is a subset of V A. Binding β is a subset of E M, i.e., a mapping of functional nodes of V P onto resource nodes of V A. Schedule τ is a function that assigns a number (start time) to each functionalnode. Basic model - implementation 0 Definition: Given a specification graph G S an implementation is a triple (α,β,τ), where α is a feasible allocation, β is a feasible binding, and τ is a schedule. 9 0 τ 5 0 8 0 α β HWM shared bus SB HWM PTP bus HWM Page

ABS - example S() = BUS S() = 5 S() = BUS DSP S() = 5 DSP 5 BUS S(5) = 5 S() = 9 5 BUS S() = G V problem graph M mapping set G S B A A architecture schedule binding allocation graph Optimization with conflicting goals Multiobjective optimization: Find a set of optimal trade-offs Œ Example: computer design performance power dis play weight s iz e cos t conflicts trade-offs Page

Dominance, Pareto Points Definition: A (design) point J k is dominated by J i, if J i is Œ better or equal than J k in all criteria and Œ better in at least one criterion. Ji f J k Definition: A point is Pareto-optimal or a Pareto-point, if it is not dominated. 5 Dominance, Pareto Points execution time 5 cost Page 8

Design space exploration tool Solution INM OUT M FM SBS 8 Page 9

Solution INM OUT M DPF M HC DCT M BMM SAM SBF 9 Page 0