L29 Embedded

Embed Size (px)

DESCRIPTION

dance

Citation preview

  • L29:Lower Power Embedded Architecture Design

    , 1999. 8 http://vada.skku.ac.kr

  • Low Power MPU

  • Levels for Low Power Design

  • Present- Day Digital SystemsCurrent systems are complex and heterogenous Contain many different types of componentsProgrammable and Re-configurable processorsApplication- specific integrated circuits (ASICs)Application-specific Instruction processor (ASIP)Read- Only Memory (ROM) and RAMI/ O devices and circuitryTypically designed from a (large) software specificationThese heterogenous systems are called embedded systems

  • Embedded System CharacteristicsLimited user programmabilityCompletely transparent to user, e. g. automotive engine controlLimited user interface e. g., intelligent telephonesProgrammable through application specific language e.g., postscript printer Real- time response No batch processing

  • Embedded Systems: Products - 1Computer Relatedpersonal digital assistantprinterdisc drivemultimedia subsystemgraphics subsystemgraphics terminalCommunicationscellular phonevideo phonefaxmodemsPBXConsumer ElectronicsHDTVCD playervideo gamevideo tape recorderprogrammable TVcameramusic system

  • Embedded Systems: Products - 2Control SystemsAutomotive:engine, ignition, brake systemManufacturing process control: roboticsRemote control: satellite control, spacecraft controlOther mechanical control: elevator controlOffice Equipmentsmart copier, printer, smart typewriter, calculatorpoint- of- sale equipment, credit- card validator,UPC code reader, cash registerMedical Applications: instruments( EKG, EEG), scanning, imaging

  • Problem Domain Shift

  • Embedded System Trends - IMicrocomponents grow in importance in IC industry due to their reusability: DSP, m P, m C

    More embedded systems will require ASICsFrom 20- 70% in 1992 to 60- 70% in 1996Moral of the story: u-P are joining with high- speed highly-complex ASIC in embedded systems

  • Embedded System Trends - IIEmbedded systems will require more application softwareAverage moves from 16- 64k lines in 1992 to 64k-512k in 1996Requires migration from assembler to C/ C++, implying requirement for automatic compilationFrom 40- 70% of programmers versus ASIC designers in 1992 to 60- 90% in 1996Moral of the story: Increase in code- size / code- complexityis causing a migration to C/ C++ from assembly coding

  • Embedded Software OptimizationCode size becomes an important objective Software will eventually become a part of the chip:Need to generate the best possible codeCan afford longer compilation time

    Need not only traditional optimization techniques, but also new application- domain-specific optimizations (e. g., DSP and microcontroller architectures)

  • Implementing Digital Systems

  • What is an ASIP?Application- Specific Instruction Processor

    Processor architecture tailored not just for application domain (e. g., DSP, microcontrollers), but for specific sets of applications (e. g., audio, engine control)

    ASIP characteristicsGreater design cost (processor + compiler)+ Higher performance, lower power than commercial cores, more flexibility than ASIC

  • ASIP DesignGiven a set of applications, determine m architecture of ASIP (i. e., configuration of functional units in datapaths, instruction set)To accurately evaluate performance of processor on a given application need to compile the application program onto the processor datapath and simulate object code

    However, the m architecture of the processor is a design parameter!

  • Processor Design Flow

  • Required Compiler OptimizationsMachine independent optimizationsParallelizing transformations (lots of them!) Common subexpression elimination, Strength reduction, Code motion

    Machine dependent optimizationsLoop unrolling and software pipeliningStatic allocation (non- recursive procedure calls)Storage layout (arrays, scalars)Optimization of mode setting instructions Instruction selection, scheduling, and register allocation

  • Common Subexpression Elimination

  • Constant Propagation and Folding

  • Dead Code Elimination

  • Loop Invariant Code Motion

  • Array Access Strength Reduction