00 introduction

20
Hardware/Software Codesign Jun.-Prof. Dr. Christian Plessl SS 2012 Custom Computing University of Paderborn Version 1.0.3 – 13.04.2012

Upload: gideontargrave7

Post on 04-Oct-2015

218 views

Category:

Documents


1 download

DESCRIPTION

ll

TRANSCRIPT

  • Hardware/Software Codesign

    Jun.-Prof. Dr. Christian Plessl

    SS 2012

    Custom Computing University of Paderborn

    Version 1.0.3 13.04.2012

  • 2

    motivation and introduction goals and main questions in HW/SW codesign

    course synopsis

    lecture organization

    Overview

  • HW/SW codesign

    what is HW/SW codesign? integrated design of computer systems that consist of hardware and

    software components supported by a systematic computer-aided design process

    objectives handle increasing complexity of computer systems find better solutions than with a manual process reduce design time and validation time/cost explore design trade-offs (performance vs. energy efficiency vs. )

    3

  • Performance vs. size trade-offs for cryptography

    soft- and hardware implementations of different cryptography algorithms

    4 Schaumont 2010

  • Power efficiency of AES encryption

    5

    same application / different implementations vastly different power efficiency depending on specialization/

    generality

    Schaumont 2010

  • General purpose vs. application specific

    6

    performance energy efficiency

    effort to change application development effort

    RISC

    DSP

    ASIP

    FPGA

    ASIC

    concerns

    extremely high NRE cost high volume/fixed function only

    high engineering effort high unit-cost

    high production cost competition from off-the-shelf SoC

    competition from RISC processors operating system support

    low energy efficiency IP protection

    sweet spot

  • Mix of technologies in most systems

    no one-size fits all solution for economical and technological reasons different requirements reuse hard- and software implementations distribute development cost over a variety of products

    majority of computer systems use a variety of HW and SW technologies programmable processing cores (RISC, DSP, uC, ) fixed co-processors/accelerators (e.g., cryptography, multimedia, ) reconfigurable accelerators (FPGA, coarse-grained arrays)

    designing and programming such platforms is challenging HW/SW codesign addresses this challenge in a systematic way example: Texas Instruments OMAP processor (system on chip for mobile

    computing systems)

    7

  • Example: SoC for mobile computer system

    8

    TI OMAP 4430 system-on-chip

    Texas Instruments

  • Example: SoC for mobile computer system

    9

    TI OMAP 4430 system-on-chip

    dual core ARM embedded RISC

    GPU

    multimedia co-processor

    DSP

    security co-processor

    memory controllers

    memory controllers

    inpu

    t/out

    put c

    ontro

    llers

    display controllers

    inpu

    t/out

    put c

    ontro

    llers

    input/output controllers

    Texas Instruments

  • Example: SoC for mobile computer system

    10

    TI OMAP 4430 system-on-chip

    dual core ARM embedded RISC

    GPU

    multimedia co-processor

    DSP

    security co-processor

    memory controllers

    memory controllers

    inpu

    t/out

    put c

    ontro

    llers

    display controllers

    inpu

    t/out

    put c

    ontro

    llers

    input/output controllers

    Texas Instruments

    HW/SW codesign issues:

    how to design such a platform?

    how to partition the applications functionality to components?

    how to determine if a particular mapping is good?

    how to generate tools that support such a platform?

  • HW/SW codesign space

    11

    Application

    C C/ASM

    C/HDL C/HDL

    HDL

    FPGA ASIP

    DSP RISC

    ASIC

    software

    hardware (platform)

    platform programming

    application mapping

    platform selection

    max flexibility min efficiency

    min flexibility max efficiency

    general purpose

    application specific

    domain specific

    Schaumont 2010 (adapted)

  • Driving factors in HW/SW codesign

    12

    improve performance improve energy efficiency reduce power density

    manage design complexity decrease time-to-market reduce design & verification cost

    implement more in hardware

    implement more in software

    Schaumont 2010 (adapted)

  • Main questions in HW/SW codesign

    hardware/software partitioning what functionality should be programmable? what functionality should be implemented in fixed in hardware? how to create tools (compilers) that can exploit fixed functions?

    system partitioning how to distribute functions to different components?

    design space exploration what system implementation alternatives exist? what are their characteristics (performance, power, cost)

    architecture synthesis how to translate software to hardware?

    13

  • General approach

    abstract and model treat design of HW/SW system as optimization problem abstract and formalize problem and design options (e.g., using graph

    problems, integer linear programing, dynamic programming, )

    optimize or exact or heuristic methods determine optimal parameter settings and their sensitivity

    explore explore design space and trade-offs computer aided design automation guided by human decisions

    14

  • Topics we will look at in this lecture

    introduction target architectures introduction to compilers

    high-level hardware architecture synthesis partitioning

    hardware/software partitioning system partitioning

    design space exploration estimation of design parameters

    instruction set extension

    15

  • Relation to other lectures in CS curriculum

    Bachelor level courses GRA/GTI

    fundamentals of digital logic and computer architecture Embedded processors

    architecture of embedded processors, micro controllers and DSPs compilers for special purpose processors

    Embedded Systems modeling languages, hardware verification

    Master level courses Reconfigurable Computing

    FPGA technology (architecture, methods and applications) Architektur Paralleler Rechnersysteme

    parallel programming models and languages, high-performance computing

    16

  • Benefits from attending this course

    Learn about challenges and approaches in modern system design target architectures useful optimization methods a current and active research area

    17

  • 18

    Course Organization

    Lecture Friday, 11:15-12:45, O1.267 Exercises Friday, 13:15-14:00, O1.267

    mix of pencil and paper and programming exercises try to solve the problems yourself discussion of the problems in the exercises

    Contact: Christian Plessl email: [email protected]

    office: O3.110, phone: 60-5399 Web page

    http://homepages.uni-paderborn.de/plessl/lectures/2012-Codesign

    Course Materials on the web lecture slides, exercise sheets, selected papers

  • Literature and acknowledgements

    this course is based on materials from the following books Patrick R. Schaumont, A practical Introduction to Hardware/Software

    Codesign. Springer 2010. doi:10.1007/978-1-4419-6000-9 (available in full text within UPB network)

    Jrgen Teich and Christian Haubelt. Digitale Hardware/Software-Systeme. Synthese und Optimierung. Springer, 2007. doi:10.1007/978-3-540-46824-0 (available in full text within UPB network)

    Giovanni De Micheli, Synthesis and Optimization of Digital Circuits. McGraw-Hill, 1994.

    and on lecture materials from the Bachelor-level lecture HW/SW Codesign taught by Christian Plessl (2009-2010) and previously by Marco Platzner

    19

  • Changes

    v1.0.3 (2012-04-14) corrected minor typos

    v1.0.2 (2012-04-10) updated for SS2012

    v1.0.1 (2011-04-01) added more slides illustrating the FPGA toolflow

    20