architecting embedded microsystems

Download Architecting Embedded Microsystems

Post on 17-Jan-2016

26 views

Category:

Documents

0 download

Embed Size (px)

DESCRIPTION

Architecting Embedded Microsystems. Building smart, adaptive and efficient systems for networked applications Rajesh K. Gupta Department of Computer Science and Engg. University of California, San Diego http://www-cse.ucsd.edu/~gupta. Graphics Controller. Cellphone Baseband. - PowerPoint PPT Presentation

TRANSCRIPT

  • Architecting Embedded MicrosystemsBuilding smart, adaptive and efficient systems for networked applications

    Rajesh K. GuptaDepartment of Computer Science and Engg.University of California, San Diego

    http://www-cse.ucsd.edu/~gupta

  • Semiconductor System ChipsTrend 2: increasing use of embedded intelligencevariety of (multiple) compute engines available on-chipTrend 3: Networking of embedded intelligencemultiple comm. front-ends, networking available on-chipThe consequence: smart spaces, intelligent interfaces, sensor networks Integrated circuit chips are driving capability increases with cost reductions.Trend 1: Process technology migration to CMOS relentless digitization of signals and systems

  • Integrated Circuit & System Design Silicon systems engineering: needs a framework for architectural design, subsystem tradeoffs Board-on-chip does not work!

  • SOC Challenges & OpportunitiesInferior CMOS components compared to discrete counterparts using bipolar, GaAs technologiesPower, size, bandwidth limitations for on-chipNeed an extremely tight control of chip, package parasitic effects on on-chip signals And yet the system-level capabilities and performance due toarchitectural design that is less sensitive to device/technology limitationssystem optimizations that include the entire software, networking (and even communications) stackThe requires ability to carry out the architectural design and exploration for SOCs

  • Systems Engineering for SOCsExample Problem: How to achieve high throughput in a SOC for wireless applications? Can select a modem sub-systemthat packs more bits/Hz, but it will tolerate less noise and be less robust so that link throughput may not improveCan increase transmit power in RF subsystem to improve robustness but this increases energy cost, reduces network capacity, and requires more expensive analog circuits (power amps)Can reduce bits/frame to tolerate higher bit error rates (BER) and provide more robustness, but this may increase overhead and queuing delaysCan increase precision in digital modem to reduce noise, but this leads to wider on-chip busses and more power consumptionThe design technology must support right sub-system option and parametric determination.

  • Platform Based DesignA platform is a realized design patternprovides a well-defined abstraction of the underlying architecture for the application developera restriction on the implementation space, captures good solutionsuses components and their reuse within architectural constraintsIP design needs a framework consisting ofcomponent libraries, composition glue, validation, synthesiscomplete system simulations, composability and reuseKey elements for composabilityidentification of useful models of computationFSMD, DE, DF, CSP, ..a flexible, extensible language platform for captureComponent Composition Framework (CCF)

  • BALBOA Component CompositionA layered development and runtime environmentFunctionality: describe & synthesizeStructure: capture & simulateUse an interpreted language for Architecture description Component integrationUse compiled models for behavioral description, simulationAutomatically link the two domainsthrough a split-level interfaceAutomatic code wrapper generation for component reuse.Software architecture that enablescomposition of structural and functional info.type inference for polymorphic portsmodeling of the application and the platform

  • DefinitionsComponent:A unit of re-use with an interface and an implementation

    Meta-information:Information about the structure and characteristics of an object

    Reification:A data structure to capture the meta-information about the structure and the properties of the program

    Reflection:An architectural technique to allow a component to provide the meta- information to himself

    Introspection:The capability to query and modify the reified structures by a component itself or by the environment5 portsadder

  • BALBOA Language & Run-timeInterpreterBIDL CompilerSplit Level InterfacesGCCCompiled objectsLanguageToolsRun-time structureGCCBIDLC++CIL

  • Introspective Interfaces for Analysis

  • Design Example: Adaptive Cache Controller

  • CIL Script Example#load the AMRM component libraryload ./libamrm.so

    Entity mem_sysCache mem_sys.L1Memory mem_sys.MemQueue mem_se.r_q

    L1.upper_request link_to ms.r_qMem.request_in link_to ms.r_q

    Tb add_stimuli 100 read 0x399

    Tb add_tcl_callback ms.r_q.activity { simulator.do_something; }simulator run 200

  • Design Example: Cache ControllerScript size vs C++ ratio: 1 is to 10Manipulate only the script!

  • Composition FrameworkDynamically adapt, control and debug complete system modelsUsing script-like interfaces and mixed compiled and interpreted programming componentsComponent introspection through the reflection enables IP reuseCreate Virtual System ArchitecturesInclude application and system software in the modelExploit full potential of SOC architectural platforms by exploring runtime system services suitable for SOC applicationsexample: dynamic power management

  • Virtual System ArchitecturesExtendedSystemCCustom OS GenerationHW WrapperGenerationVirtual ArchitectureRTL ArchitectureRTL Synthesisand CompilationEmulation platformCo-simulationWrapper GenerationExecutableCo-simulationModelAPIsCommunicationand System ServicesDeviceDriversOS librariesCesario, et al, IEEE D&T 11/02

  • OS-directed Power Management for SOCsSignificant opportunities in power management lie with application-specific knobsquality of service, timing criticality of various functionsCollaboration between applications and the OS in setting energy use policyOS helps resolve conflicts and promote cooperationThe enable OS-directed dynamic power management, we need: OS should incorporate application information in DPM policy OS should expose power state and events to applications for these to adapt.

  • Power Aware Software ArchitecturePA-API (Power Aware API) interfaces applications and OS making the power aware OS services available to the application writer.PA-OSL (Power Aware Operating System Layer)implements modified OS services and active components such as a DPM manager. PA-HAL (Power Aware Hardware Abstraction Layer)interfaces OS and Hardware making the power control knobs available to the OS programmer.

  • Current StatusAPI available from http://www.ics.uci.edu/~cpereira/padsImplementation on eCOS RTOS andHardware platforms we are currently working with:Linux-synthetic (emulation of eCos over Linux - debugging purposes only)Compaq iPaq Pocket PC - StrongARM SA1110 based platformAccelent IDP (Integrated Development Environment) - also StrongARM SA1110 based. LRH Intel evaluation board 80200EVB - Intel Xscale2 based

  • OS-directed DVS Results

    Grf2

    Plan1

    Normal111

    Only Shutdown0.80.890.94

    Shut./Static0.810.780.94

    Shut./Static/Dyn.0.720.780.83

    Shut./Static/Dyn./Adapt. (0.95)0.680.780.83

    Shut./Static/Dyn./Adapt. (0.90)0.670.70.75

    Shut./Static/Dyn./Adapt. (0.85)0.640.70.76

    Shut./Static/Dyn./Adapt. (0.80)0.630.650.75

    Shut./Static/Dyn./Adapt. (0.75)0.620.650.74

    Plan1

    000

    000

    000

    000

    000

    000

    000

    000

    000

    Taskset A

    Taskset B

    Taslset C

    Scheme

    Ratio of energy consumption between Normal and Scheme

    Energy Consumption for each scheme

    Plan2

    Plan3

    Grf3

    111

    0.80.890.94

    0.810.780.94

    0.720.780.83

    0.680.780.83

    0.670.70.75

    0.640.70.76

    0.630.650.75

    0.620.650.74

    Taskset A

    Taskset B

    Taskset C

    Scheme

    Ratio of energy consumption between Normal and Scheme

    Energy Consumption for each scheme

    Plan1

    Normal111

    Only Shutdown0.80.890.94

    Shut./Static0.810.780.94

    Shut./Static/Dyn.0.720.780.83

    Shut./Static/Dyn./Adapt. (0.95)0.680.780.83

    0.670.70.75

    0.640.70.76

    0.630.650.75

    0.620.650.74

    Plan1

    Taskset A

    Taskset B

    Taskset C

    Scheme

    Ratio of energy consumption between Normal and Scheme

    Energy Consumption for each scheme

    Plan2

    Plan3

  • Using Application-level knobExample: Image Compression Algorithmtradeoff image quality against energy available by varying the compression parameters such as BPP (bits per pixel)The image compression algorithm is ran in a continuous loop with battery polling every 10 secs.A simple power tradeoff policy is added to adapt the quality of the image against the battery voltage left. Whenever the battery drops 30mV the application adjusts the image BPP by -0.5 starting at 1.5.For a cut-off of 4020mV, the battery life is extended from 290 seconds to 340 seconds.

  • Summary: Computers with Radios are Leading to New SpacesGenerational shift in computing deviceslot more of everything: computing, networking, communicationslot less of power, energy, volume, weight, patienceApplication is everything, the possibilities are limitless

    System architectures are due for an overhaulthe architectures are (radically) changed/challengedthe programming context is changedthe system software contract is changednew awareness: location, power, timing, reactivity, stabilitypower

  • SOC Architectural Design Paradigms

    2So, how do we achieve dynamic composability? We take a layered software approach to realize dynamic composability where the system construction is done in an environment which supports easy composition of blocks, their parameterization and modification in a script-like language, but it automatically connects to a detailed and efficient C++