1 / 24

Design Support for Embedded Processors and Applications

Design Support for Embedded Processors and Applications. Prof. Kurt Keutzer EECS University of California Berkeley, CA keutzer@eecs.berkeley.edu. Embedded system needs meet technology constraints. Embedded system design needs: Fast-time to market Predictability Reliability Robustness

mwojcik
Télécharger la présentation

Design Support for Embedded Processors and Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Design Support for Embedded Processorsand Applications Prof. Kurt Keutzer EECS University of California Berkeley, CA keutzer@eecs.berkeley.edu

  2. Embedded system needs meet technology constraints • Embedded system design needs: • Fast-time to market • Predictability • Reliability • Robustness • Efficiency • Economy • Application-specific integrated circuits failing to deliver this • Design risk • Design/tool cost • Unmanageable complexity

  3. Demise of ASIC: Total IC Designs ASSP ASIC Handel Jones, IBS 9/23/2002

  4. Customer needs meet technology constraints • Customer needs: • Fast-time to market • Predictability • Reliability • Robustness • Efficiency • Economy • Looking for ``platforms’’ – devices that will amortize system design costs over multiple generations • ``"Based on our analysis, having a software approach is the only way to scale to the next generation," Corgan (, Intel PMM said) . "If you have to approach each fourfold increase in speed — from OC-48 [2.5 Gbits/second] to OC-192 [10 Gbits/s], say — with a new architecture, it's not cost-effective."

  5. ASIP: Programmable Platforms Develop platforms that allow for amortization of design costs over multiple generations Make platforms programmable so that they have maximum flexibility with minimum overhead SDRAM Controller engine PCI Interface Hash Engine engine Strong Arm Core I$ engine IX Bus Interface D$ engine Scratch Pad SRAM engine Mini D$ engine SRAM Controller Solution: ASIC => ASSP => ASIP

  6. Example: Philips NexperiaTM MIPSTM TriMediaTM SDRAM • VLIW Media Processor: • 100 to 300+ MHz • 32-bit or 64-bit • Nexperia • System Busses • PI bus • Memory bus • 32-128 bit • General Purpose RISC Processor • 50 to 300+ MHz • 32-bit or 64-bit • Library of Device Blocks • Image coprocessors • DSPs • UART • 1394 • USB • …and more MIPS CPU MMI TriMedia CPU D$ PRxxxx TM-xxxx D$ I$ I$ DEVICE I/P BLOCK DEVICE I/P BLOCK DEVICE I/P BLOCK DEVICE I/P BLOCK DVP MEMORY BUS . . . . . . PI BUS PI BUS DEVICE I/P BLOCK DEVICE I/P BLOCK DVP System Silicon Flexible architecture for digital video applications

  7. Configurable/Reconfigurable Processors Domain-Specialization Morphics PMC Sierra Improv Systems ChameleonSystems Frontier Design SpecializedInstruction-SetArchitectures SpecializedMicro-Architectures ARC Tensilica Processor FPGA Xilinx Altera Triscend Atmel eASIC Actel Proceler Adaptive Silicon

  8. 64 48 32 20 18 16 Number of PEs 14 12 10 8 6 4 2 0 0 1 2 3 4 5 6 7 8 9 Issue width per PE Galaxy of Network Processors EZchip Cisco IBM Lexra Motorola Cognigine Xelerated ClearSpeed 64 instrs/cycle Vitesse Intel Alchemy Applied Conexant Micro Agere 16 instrs/cycle BRECIS Broadcom 8 instrs/cycle Clearwater PMC-Sierra 10

  9. 5 Axes of the Architectural Design Space Approaches to Parallel Processing Processing Element (PE) level Instruction-level Bit-level Elements of Special Purpose Hardware Structure of Memory Architectures Types of On-Chip Communication Mechanisms Use of Peripherals Era of a single RISC PE (+ 1 DSP) over! This is not a ``run POSIX on an ARM’’ problem! Explosion of application specific solutions =>ASIPs Ethernet MAC RISC + SFU CAM RISC + SFU Co-proc RISC + SFU Co-proc RISC SRAM ASIP/Programmable Platform Characteristics

  10. Three Key Problem Areas Emerge • Development of programmable platforms/ASIP: • Characterizing target applications • Design space exploration • Deployment of programmable platforms/ASIP: • Development of programming model • Provision of software environment • Mapping applications onto programmable platforms/ASIP: • Application modeling • Application mapping

  11. Modern Embedded Systems Compilers Architectures and Languages MESCAL research mission: To bring a disciplined methodology, and a supporting tool set, to the development, deployment, and programming of application-specific programmable platforms aka application specific instruction processors. SDRAM Controller engine PCI Interface Hash Engine engine Strong Arm Core I$ engine IX Bus Interface D$ engine Scratch Pad SRAM engine Mini D$ engine SRAM Controller Addressing the problem areas Invited paper: ``From ASIC to ASIP: The Next Design Discontinuity’’, K. Keutzer, S. Malik, R. Newton, Proceedings of ICCD, pp. 84-91, 2002. www.gigascale.org/mescal Press coverage Sept 2002: Programmable Platforms will Rule: http://www.eetimes.com/story/OEG20020911S0063 High on MESCAL http://www.eetimes.com/story/OEG20020911S0065

  12. Three Key Problem Areas • Development of programmable platforms: • Characterizing target applications • Design space exploration • Deployment of programmable platforms: • Development of programming model • Provision of software environment • Mapping applications onto programmable platforms • Application modeling • Application mapping

  13. Heterogeneous applications Programming Environment Domain-specific models Domain specific libraries Environmental models ``Software architecture’’/MOC Primitive computation and communication mechanisms Mapping to implementation Heterogeneous programmable platforms/ASIP Programming model Domain-specific presentation Device Specific Libraries Environmental support System architecture/micro-architecture/MOC Primitive computation and communication mechanisms IP Forwarding Engine Port 0 Port 0 Complementary Issues

  14. Our Approach • Bottom-up view - create abstractions of existing devices • opacity - hide micro-architectural details from programmer • visibility - sufficient detail of the architecture to allow the programmer to improve the efficiency of the program • Top down – experiment with existing modeling/programming environments • Learn from their abstractions of the devices • Try to maximize performance within these environments

  15. Our Constraint/Angle/Prejudice • In real-time embedded systems correct logical functionality can never be divorced from system performance • In commercial (especially consumer-oriented) embedded systems system price is an utmost concern • Quantitative • (Quantitatively) examine trade-offs among: • Quality-of-results (e.g. speed, but also power, device cost) • Programmer productivity (how long does all this take?)

  16. IP Forwarding Engine Port 0 Port 0 Application: IPv4 Forwarding Benchmark IP Forwarding Engine Port 1 Port 1 Port 2 Port 2 . . . . . . IP Forwarding Engine Port 15 Port 15 Ingress Ports Egress Ports FIFOs Functionality FIFOs

  17. SDRAM Controller engine PCI Interface Hash Engine engine Strong Arm Core I$ engine IX Bus Interface D$ engine Scratch Pad SRAM engine Mini D$ engine SRAM Controller Example Programming target – IXP1200 • Intel IXP1200 • Multiple processors • specialized execution units • hardware context swap • ``Intel Corp., … chose a "fully programmable" architecture with plenty of space for users to add their own software — but one that turned out to be difficult to program. ‘’ • http://www.eetimes.com/story/OEG20020830S0061 • How do we program these architectures? What’s the right programming model?

  18. Base-line reference implementations from Intel Assembler • Reference application uEngine C Features • Reference application modified • Basic C language constructs like loops, condition statements and basic data types (char, int, float) • IXP library defines additional data types, macros and functions (useful for common networking applications) • Memory management is user defined. Hence explicit declaration of memory allocation (and no support for pointers).

  19. Commercial NPU programming environment Teja Technologies • Teja is founded by Akash Deshpande – Student of Prof. Pravin Varaiya • Based on his thesis “Control of Hybrid Systems” (1994) Teja Language Features • User interacts mostly with the graphical interface (which exports pre-defined application primitives) • Extending the Teja primitives is done via a FSM-based model (however, this still requires coding in assembly via the graphical interface) • Memory management for pre-defined primitives is done by Teja. User can alter this process (but is tedious and error prone)

  20. Teja Features

  21. Our own NPU programming environment: NPClick • Based on Click • Popular environment for describing/implementing network applications • Developed by Eddie Kohler, MIT=> ICSI • NPClick • Implemented subset of element library in IXP uC • Element communication via function calls • maintained semantics (packet push/pull) • packet storage fixed: • header in SRAM • payload in DRAM • Designer needs to specify: • thread boundaries • thread/uEngine assignment • memory allocation of queues (SRAM, DRAM, Scratch) • Opportunities for optimization (future work) • redundant memory loads/stores based on element/thread mapping • schemes for multiplexing hardware resources among multiple element instantiations (e.g. muxing TFIFO among 8 to Device’s)

  22. Programming Models for IXP1200

  23. Productivity Estimates • ``First time’’ learning curve issues makes it difficult to compare the productivity of these approaches • Based on our experience, we estimate the following design times for implementing an IPv4 router • The advantages with Teja and NPClick come from the ability to perform design-space exploration at a higher level

  24. Conclusions: Programming Embedded Systems • Neither ASICs or general-purpose processors will fill the needs of most embedded system applications • System design teams will increasingly choose ASIPs/programmable platforms • Programming these devices is a new challenge: • Parallelism • Process • Operator • Bit/gate level • Special-purpose execution units • Need to develop matches between application development environments and programming models of ASIPs/programmable platforms • Match must consider: • Efficiency • Productivity • Robustness • Reliabilty

More Related