hw sw interfaces hw sw interfaces abstraction and design
play

HW-SW Interfaces HW-SW Interfaces Abstraction and Design - PowerPoint PPT Presentation

HW-SW Interfaces HW-SW Interfaces Abstraction and Design Abstraction and Design for Multi-Processor SoC for Multi-Processor SoC Dr. Ahmed Amine JERRAYA TIMA Laboratory 46 Avenue Felix Viallet 38031 Grenoble Cedex France Tel: +33 476 57 47


  1. HW-SW Interfaces HW-SW Interfaces Abstraction and Design Abstraction and Design for Multi-Processor SoC for Multi-Processor SoC Dr. Ahmed Amine JERRAYA TIMA Laboratory 46 Avenue Felix Viallet 38031 Grenoble Cedex France Tel: +33 476 57 47 59 Fax: +33 476 47 38 14 MPSoC’04 Email: Ahmed.Jerraya@imag.fr

  2. This is Team Work � Staff members: P. Amblard, W. Cesário, X. Chen, F. Rousseau, S. Yoo (left April ’04), N. Zergainoh � Ph.D. students: Y. Atat, I. Bacivarov, M. Bonaciu, A. Bouchhima, A. Grasset, L. Kriaa, Y. Paviot, A. Sarmento, A. Sasongko, W. Youssef � Industrial Ph.D.: A. Blampey, M. Fiandino, F. Hunsinger, L. Pieralisi (STMicroelectronics) � Collaborative Ph.D.: Y. Cho, S. Han (Korea) G. Majauskas (Lithuania) I. Petkov (Bulgaria) � Master students and Undergraduates: F. Dumitrascu, S. Hadhri, R. Khrouf, K. Popovici, M. Yahia, Ahmed A. Jerraya MPSoC’04 - 2

  3. The SoC Era Challenges � SoC: put on a chip what we used to put on one or several boards (ASIC, CPU, Memories, Analog/RF, MEMS, …) � Facts: g 90% of new ASICs already include a CPU in 130nm. g Multimedia, network processors, mobile terminals and game applications are already multiprocessors. � Fundamental changes: g MPSoC is different from ASIC g MPSoC is different from SW g MPSoC requires abstract HW-SW interfaces to allow fast integrations. � Challenges g Generic MPSoC platform (programmable, reconfigurable, …) g Specific MPSoCs using standard IP with specific interconnect. Ahmed A. Jerraya MPSoC’04 - 3

  4. Generic SoC Platform vs. Application-Specific MPSoC (MPSoC’03 after dinner discussion) Example: The GSM History/Roadmap � 1986 Rack in a van � 1990 PCB � 1995 Chip set in a hand-set � 2002 SoC � 2006 SW component on a generic platform, e.g. Nomadic (ST) Same roadmap for game computers, MP3, STB, NP, DVD Ahmed A. Jerraya MPSoC’04 - 4

  5. Outline 1. HW-SW Interfaces: From Wires to Abstract Interconnect 2. Abstracting HW-SW Interfaces 3. HW-SW Interfaces Design & Debug: The ROSES Environment 4. MPSoC Design 4.1. MPEG4 Design Example 4.2. Results Analysis Ahmed A. Jerraya MPSoC’04 - 5

  6. SoC Platform vs. Embedded Software � Application SW design: g Real time SW Models g Platform model, e.g. Sony PlayStation, Nomadic Application software g Key Issue: Complexity (GB, ms) � Platform_API: Platform_API g Programming model to build software HdS g Specific to application MPSoC Design g Hides HW details CPU sub-system � Hardware dependent SW (HdS) HW interfaces g Provided by SoC designer in case of specific HW g Lower SW layers to access HW NoC g Specific SoC function (e.g. DSP SW code) g Key issue: Performances (K&MB, ns) � Hardware sub-system HW interfaces g CPU sub-systems g Specific hardware, Analog, memories, … HW components � Network-on-Chip � HW interfaces: required for application specific HW/SW interfaces Ahmed A. Jerraya MPSoC’04 - 6

  7. Hardware dependent SW Design & Debug is The Bottelneck Example: SW Debug of an MPEG4 CoDec Data dependent computation C library bug Application SW 5 5 Booting is not synchronized among 12 processors. 30 12 Lost some interrupts HdS (78%) Wrong interrupt priority levels HAL 13 13 5 5 Context switch does not work correctly. µ-Kernel Bugs % Incorrect FIFO counter value causes Parallel Prog. Model deadlock. Result of compressed video is not Memory Map correct. Abnormal execution of a portion of C code Design Environment Ahmed A. Jerraya MPSoC’04 - 7

  8. Outline 1. HW-SW Interfaces: From Wires to Abstract Interconnect 2. Abstracting HW-SW Interfaces 3. HW-SW Interfaces Design & Debug: The ROSES Environment 4. MPSoC Design 4.1. MPEG4 Design Example 4.2. Results Analysis Ahmed A. Jerraya MPSoC’04 - 8

  9. Heterogeneous MPSoC Design Space � Software Programming model on an existing platform � Concurrency � Decomposition T 1 T 3 T 5 T 6 � Mapping T 2 T 4 � Communication API API � Synchronisation � Interconnect HdS HdS CPU 1 1 CPU 2 m U e � NoC Programming Model P t s C y s b u � HW Adaptation for application sub system sub system s specific communication HW IF HW IF Com. Network � Computation subsystem model � CPU sub-system for application specific computation � SW Adaptation Ahmed A. Jerraya MPSoC’04 - 9

  10. Which Parallel Programming Model to Use ? communication Interconnection decomposition concurrency mapping synchronization Interface More More Explicit IMPLICIT Explicit concurrency, decomposition, mapping; Implicit � communication, synchronization, Interconnection and Interface g SDL, compositional C++ Explicit concurrency, decomposition, mapping, communication, � synchronization; Implicit Interconnection and Interface g MPI, TLM Message, thread package, concurrent C Explicit concurrency, decomposition, mapping, communication, � synchronization, Interconnection; Implicit Interface g TLM Transaction All explicit � g ISA SW + RTL HW Ahmed A. Jerraya MPSoC’04 - 10

  11. Abstracting HW-SW Interfaces for A Software Sub-system � API-SW = SW programming SW model � API-HW = NoC programming SW adaptation API-SW (HdS) model HAL � Abstract CPU sub-system HW-SW Interfaces Abstract CPU SS � HAL = HW abstraction layer � HW services: local HW services API-HW architecture (e.g. bus) HW adaptation � SW adaptation : implement NoC programming model on CPU sub- system � HW adaptation: adapt CPU sub- system to NoC Ahmed A. Jerraya MPSoC’04 - 11

  12. The Virtual Component Model � Virtual component g Component Component 2 Component 1 � Hardware IP � Software IP � Functional IP Abstract Abstract g Abstract Interfaces � Required Services Interface 2 Interface 1 � Provided Services Execution Environment � Control Services � Synchronization � Parameters, …. � Execution Environment g Abstract Platform (e.g. NoC, Cosimulation backplane, …) � Heterogeneous components thanks to adaptation between different programming models. Ahmed A. Jerraya MPSoC’04 - 12

  13. The Virtual Component Model for MPSoC Basic model: a set of hierarchically interconnected virtual modules � and an execution environment Virtual Module: � g Content: Tasks/Instances + communication channels) g Abstract interface: set of virtual ports g Internal/external ports g Structure and services Internal port (comp. prog. Abs. level Protocol SW component HW component Virtual Processor Virtual IP model) TLM rd/wr SW SW HW HW task 1 task 2 block 1 block 2 External port RT level AMBA Execution environment (e.g. AMBA bus) (NoC prog. Model) Colif: An XML object-oriented database for virtual architectures g Components programming models g NoC programming models g MPSoC programming model is the composition of NoC and g components programming models. Ahmed A. Jerraya MPSoC’04 - 13

  14. Outline 1. HW-SW Interfaces: From Wires to Abstract Interconnect 2. Abstracting HW-SW Interfaces 3. HW-SW Interfaces Design & Debug: The ROSES Environment 4. MPSoC Design 4.1. MPEG4 Design Example 4.2. Results Analysis Ahmed A. Jerraya MPSoC’04 - 14

  15. System-level SoC Design Flow System Specification System specification is a � Virtual Processor Virtual IP Virtual Processor Virtual IP SW component HW component Virtual Processor Virtual IP virtual architecture: virtual modules using specific SW SW HW HW programming models task 1 task 2 block 1 block 2 connected through an execution environment. Execution environment (e.g. AMBA bus) Architecture implementation: � heterogeneous components and sophisticated communication interconnect to SW Basic SW interface component API SW comp. components adapt different programming (Tasks) models. Basic HW interface component SW interface sub-system … (SW wrapper) API CPU API HW comp. CPU HW Automatic generation of sub-system � component … application-specific HW/SW HW interface HW interface sub-system sub-system interface sub-systems from API network (HW wrapper) (HW wrapper) basic interface components and CPU sub-system models. Communication interconnect (e.g. NoC) Ahmed A. Jerraya MPSoC’04 - 15

  16. Key Technology: Composing Interfaces Component interface � g Required/Provided services Component g Control and Synchronization services services g Parameters Abstract interface Interface sub-system composition � services g Services matching Execution g User-extensible library environment g Code specialization Component send Interface Interface component send library sub-system Sched. IT MPI ARM7 composition Scheduler channel boot ISR I/O write Works for HW, SW, Execution Data I/O Unix IPC conv. driver environment and Functional interface sub-systems Ahmed A. Jerraya MPSoC’04 - 16

  17. Outline 1. HW-SW Interfaces: From Wires to Abstract Interconnect 2. Abstracting HW-SW Interfaces 3. HW-SW Interfaces Design & Debug: The ROSES Environment 4. MPSoC Design 4.1. MPEG4 Design Example 4.2. Results Analysis Ahmed A. Jerraya MPSoC’04 - 17

  18. MPSoC Design of a DivX Encoder � OpenDivX - fDCT Quant g Open source Mpeg4 DeQuant encoder/decoder i fDCT g Modified to work concurrently on Movement detection & 1/4 th of each frame compensation � Goals g Refinement of HW/SW interfaces g Multi-level simulation and early validation g SW debug before HW platform is ready. Ahmed A. Jerraya MPSoC’04 - 18

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend