SlideShare uma empresa Scribd logo
1 de 30
On MPSoC Software Execution at the Transaction Level
                           1.Frederic   Petrot
                    Grenoble Institute of Technology

                   2. Nicolas Fournel and Patrice Gerin
                                  Kalray

               3.Marius Gligor, Mian-Muhammad Hamayun,
                               and Hao Shen
                    Grenoble Institute of Technology


 IEEE Design & Test of Computers Volume:28 Issue:3
                                     @2011 IEEE
                     NILAMADHAB MISHRA
                          D0121008

           Access provided by: Chang Gung University
Contents
•   Aim
•   Concept
•   Transaction level modeling(TLM)
•   Handling software in MPSoC simulations
•   Methods used for s/w execution
•   Comparison of simulation strategies
•   Integration into TLM environment
•   Conclusion

                                             2
Aim

• The basic aim of this paper is to present a wide variety of
    techniques for realizing transaction-level models of the increasingly
    large-scale multiprocessor systems on chip.
•   It describes how such models of hardware allow subsequent
    software integration and system performance evaluation.
• To review the challenges involved in introducing software and
    hardware-software simulation in MPSoCs at the transaction
    level.



                                                                        3
Contents
•   Aim
•   Concept
•   Transaction level modeling(TLM)
•   Handling software in MPSoC simulations
•   Methods used for s/w execution
•   Comparison of simulation strategies
•   Integration into TLM environment
•   Conclusion

                                             4
Concept
• A SoC is an integrated circuit that integrates all components of
   a computer and other electronic system into a single chip.
• The co-simulated platform for a SoC aims to develop the
   hardware and software in parallel.
• A typical SoC consists of:
-MPSoC-multiprocessor system on chip(having multi processors
core).
-Memory blocks(ROM/PROM/FLASH).
-Timing sources like oscillators.
-Peripherals like timers.
-External interfaces like USB, Ethernet, etc..
-Analog interfaces like ADCs and DACs.
-Voltage regulators and power management circuit.

                                                                 5
Concept
• The current state-of-the-art:
  multi processors core ,Multiple computational and data-
  processing engines, memory, and peripherals, all constructed
  on a single silicon chip called a MPSOC.




                                                                 6
Concept




          7
Example of MPSoC and applications
• Emotion Engine from the Sony Play station 2
    – 3 processors (general purpose CPU, 2 vector
      processing units)
• CELL processor from Sony, Toshiba, IBM
    – 9 processors (general purpose CPU, 8 processing
      elements)
• Nomadic for Nokia mobile phone
• ST7200 for DVD or HDTV
    – 5 processors (general purpose CPU, 4 digital signal
      processors)
• DaVinci (Texas Instrument) for cameras
    – 3 processors (general purpose CPU, 2 digital signal
      processors)
• Diopsis D940 for Massive parallel processor system
  (Petaflop)
    – 3 processors (general purpose CPU, 1 DSP VLIW, 1
      network processor) 2048
Contents
•   Aim
•   Concept
•   Transaction level modeling(TLM)
•   Handling software in MPSoC simulations
•   Methods used for s/w execution
•   Comparison of simulation strategies
•   Integration into TLM environment
•   Conclusion

                                             9
Transaction level modeling(TLM)

• The basis for a unified system model is called as Transaction
  Level Modeling (TLM).
• TLM based Unified System Models provide a means to carry
  out design and verification hand in hand while promoting
  hardware / software co-development platform.
• To provide simulation platforms suited to early verification of
  software running on complex SoC architectures before their
  availability as actual hardware platforms.
         Transaction is the basic representation for exchange of information between two blocks.

                                                                                                   10
Transaction level modeling(TLM)

• Transaction-level                  hardware-software                             simulation     of
  multiprocessor SoCs (MPSoCs) requires handling software
  execution in some way.

• Thus, two different strategies have been developed to
  provide suitable environments for executing software code.

• 1.Row instruction interpretation of cross complied code.

• 2.Native execution of the code on the host.

        Transaction is the basic representation for exchange of information between two blocks.

                                                                                                  11
Contents
•   Aim
•   Concept
•   Transaction level modeling(TLM)
•   Handling software in MPSoC simulations
•   Methods used for s/w execution
•   Comparison of simulation strategies
•   Integration into TLM environment
•   Conclusion

                                             12
Handling software in MPSoC simulations
     Software architecture: The rôle of layer
  Application
• The application layer may be a multi-tasking description or a single task
   function of the application targeted to be executed on the software (processor)
   subsystem.
• A task or thread is a lightweight process that runs sequentially
  Multiple tasks can be executed in parallel by a single CPU or by   multiple CPUs.
   Operating System (OS)
• The OS manages the sharing of the resources of the architecture.
• It is responsible for the initialization and management of the application tasks
   and communication between them.
Handling software in MPSoC simulations
    Software architecture: The rôle of layer
Communication
• This layer is responsible to manage the I/O operations and more generally the
   interaction with the hardware components and the other subsystems. It may
   include different communication protocols, such as fifo (first-in-first-out)
   implemented in software, or communication using dedicated hardware
   components (DMA).
HAL (Hardware Abstraction layer)
• The HAL provides a unique programming interface to manipulate hardware
   devices.
• The HAL is a thin software layer which totally depends on the type of processor
   that will execute the software, but also depends on the hardware resources
   interacting with the processor.
Handling software in MPSoC
        simulations




  Integrations of software within the TLM hardware architecture   15
Handling software in MPSoC
                simulations
• To execute every single software instruction, the most straight
  foreword strategy is instruction-accurate interpretation.
• The left side of the figure represents an application split in
  software layer and right side represents the TLM hardware on
  which the software runs.
• For the interpretation of cross complied code , all layers are
  loaded into program memory, so h/w abstraction not required.

• For Native execution approach, the execution unit abstracts
  either OS layer or hardware abstraction layer(HAL).

                                                               16
Contents
•   Aim
•   Concept
•   Transaction level modeling(TLM)
•   Handling software in MPSoC simulations
•   Methods used for s/w execution
•   Comparison of simulation strategies
•   How to integrate into TLM environment
•   Conclusion

                   Methods used for s/w execution   17
Methods used for s/w execution
• Interpretive methods-
(3-techniques for interpretation )
               1.Instruction accurate interpretation
               2.Dynamic binary translation
               3.semihosting execution
The s/w interpretations is the process of transforming instruction
from target processor into the instruction of host processor. It
always requires decoding an instruction and execute it’s
behavior.
• Native execution method-Most efficient way of executing s/w
   directly on host machine.


                        Methods used for s/w execution          18
Interpretive methods

1.    Instruction accurate interpretation-
•    Uses decode-dispatch method
•    Easy to implement and can be made accurate
•    Support simulations of entire support layers
• Problems – very slow and not suited for extensive software
  based validations.
• In interpretive predecoding- simulation speed is slow, but
  having high simulation accuracy. For 1st time development is
  complexed, but reuse is easier.


                         Methods used for s/w execution          19
Interpretive methods
2.Dynamic binary translation-
• Very efficient.
• Achieve ultimate goal and accuracy .
• Problems –conceptually complex and challenging to
   implement.
3.semihosting execution-
• This approach is efficient and leads to high gains in simulation
   speed.
• Does not provide any extra benefits as compared to other
   methods, hence no more use.
• More time consumes in performance evaluation.


                        Methods used for s/w execution           20
Native execution method
• Most efficient way of executing s/w directly on host machine.
• Simulation is fast and well suited for well-structured software.
• It requires entire program codes in high level language ,not in
  assembly language codes.
• For performance evaluation, many researchers have proposed
  the ways to insert time annotation into source codes to
  estimate execution time.




                        Methods used for s/w execution          21
Contents
•   Aim
•   Concept
•   Transaction level modeling(TLM)
•   Handling software in MPSoC simulations
•   Methods used for s/w execution
•   Comparison of simulation strategies
•   Integration into TLM environment
•   Conclusion

                                             22
Comparison of simulation strategies
• Here the 4-software execution methods are compared in terms of speed,
  simulation accuracy and development time.




                                                                          23
Contents
•   Aim
•   Concept
•   Transaction level modeling(TLM)
•   Handling software in MPSoC simulations
•   Methods used for s/w execution
•   Comparison of simulation strategies
•   Integration into TLM environment
•   Conclusion

        For s/w execution , an environment is required , that is known as a TLM environment   24
Integration into TLM environment

• Here the author focuses on 3 software execution strategies i.e.
    instruction accurate interpretation ,dynamic binary translation
    and native s/w execution into TLM environment, that supports
    notion of time and target multi-processor platform.
1. Instruction accurate interpretation :-
-It describes the integrations of accurate interpretation method into TLM
environment.
- Instruction accurate ISS(instruction          set simulator)technology           is popular in TLM
environment.
- Suffers low simulation speed and remains a bottleneck for MPSoC simulation.
- Time annotation is not difficult with this technology, but each added
   architectural details is an extra burden on the already low simulation speed.


               Describes the integrations of 3-strategies/methods into TLM environment            25
Integration into TLM environment
2.Dynamic binary translation:-
-   It describes the integration of dynamic binary translation method into
    TLM environment.




         dynamic binary translation simulation model. pc-program counter, TB-translation block   26
Integration into TLM environment
3.Native s/w execution:-
-Native s/w simulation targets the direct execution of s/w code on the
host machine to an event driven simulation environment.




Annotation strategy(fig)-describes the normal use of intermediate representation is the target
 object code generation , because it represents the actual control flow of the target program
                                    after all optimizations.
                                                                                       27
Integration into TLM environment
Native s/w execution(cont..):-
- Native approaches can provide application and operating
  system timing information by embedding simulator wait
  statements into the s/w codes.

- The annotation pass analyzes the target code and insert calls
  to an annotation function. The annotated         intermediate
  representation (IR) then used to generate a native binary
  object ,which has a control flow graph equivalent to the target
  object and can be simulated on the host machine.

                          Native s/w execution                 28
Contents
•   Aim
•   Concept
•   Transaction level modeling(TLM)
•   Handling software in MPSoC simulations
•   Methods used for s/w execution
•   Comparison of simulation strategies
•   Integration into TLM environment
•   Conclusion

                                             29
Conclusion
• Out of three s/w execution strategy, the native
  simulation strategy is well suited to the
  development of software stake’s upper layer.
• This strategy can able to provide accurate
  performance results at a high simulation
  speed by using annotation strategies.

               QUERY PLEASE?


                                                30

Mais conteúdo relacionado

Mais procurados

Introduction to parallel processing
Introduction to parallel processingIntroduction to parallel processing
Introduction to parallel processingPage Maker
 
Evaluation of morden computer & system attributes in ACA
Evaluation of morden computer &  system attributes in ACAEvaluation of morden computer &  system attributes in ACA
Evaluation of morden computer & system attributes in ACAPankaj Kumar Jain
 
Bulk-Synchronous-Parallel - BSP
Bulk-Synchronous-Parallel - BSPBulk-Synchronous-Parallel - BSP
Bulk-Synchronous-Parallel - BSPMd Syed Ahamad
 
2 parallel processing presentation ph d 1st semester
2 parallel processing presentation ph d 1st semester2 parallel processing presentation ph d 1st semester
2 parallel processing presentation ph d 1st semesterRafi Ullah
 
network ram parallel computing
network ram parallel computingnetwork ram parallel computing
network ram parallel computingNiranjana Ambadi
 
Performance Analysis of multithreaded applications based on Hardware Simulati...
Performance Analysis of multithreaded applications based on Hardware Simulati...Performance Analysis of multithreaded applications based on Hardware Simulati...
Performance Analysis of multithreaded applications based on Hardware Simulati...Maria Stylianou
 
Unit IV Memory and I/O Organization
Unit IV Memory and I/O OrganizationUnit IV Memory and I/O Organization
Unit IV Memory and I/O OrganizationBalaji Vignesh
 
Unit 1 Computer organization and Instructions
Unit 1 Computer organization and InstructionsUnit 1 Computer organization and Instructions
Unit 1 Computer organization and InstructionsBalaji Vignesh
 
Conceptual Framework for Anthropomorphic Simulation of Human Face for Interac...
Conceptual Framework for Anthropomorphic Simulation of Human Face for Interac...Conceptual Framework for Anthropomorphic Simulation of Human Face for Interac...
Conceptual Framework for Anthropomorphic Simulation of Human Face for Interac...IRJESJOURNAL
 
Unit 5 Advanced Computer Architecture
Unit 5 Advanced Computer ArchitectureUnit 5 Advanced Computer Architecture
Unit 5 Advanced Computer ArchitectureBalaji Vignesh
 
EVOLUTION OF SYSTEM
EVOLUTION OF SYSTEM EVOLUTION OF SYSTEM
EVOLUTION OF SYSTEM Sahil Garg
 
Radical step in computer architecture
Radical step in computer architectureRadical step in computer architecture
Radical step in computer architectureARCCN
 
Hardware and Software parallelism
Hardware and Software parallelismHardware and Software parallelism
Hardware and Software parallelismprashantdahake
 
Lec 2 (parallel design and programming)
Lec 2 (parallel design and programming)Lec 2 (parallel design and programming)
Lec 2 (parallel design and programming)Sudarshan Mondal
 
Introduction to Problem Solving Techniques- Python
Introduction to Problem Solving Techniques- PythonIntroduction to Problem Solving Techniques- Python
Introduction to Problem Solving Techniques- PythonPriyankaC44
 
Software engineering
Software engineeringSoftware engineering
Software engineeringRohan Bhatkar
 
Parallel computing in india
Parallel computing in indiaParallel computing in india
Parallel computing in indiaPreeti Chauhan
 
22 semaphores nd proces communi
22 semaphores nd proces communi22 semaphores nd proces communi
22 semaphores nd proces communimyrajendra
 

Mais procurados (20)

Parallel processing
Parallel processingParallel processing
Parallel processing
 
Introduction to parallel processing
Introduction to parallel processingIntroduction to parallel processing
Introduction to parallel processing
 
Evaluation of morden computer & system attributes in ACA
Evaluation of morden computer &  system attributes in ACAEvaluation of morden computer &  system attributes in ACA
Evaluation of morden computer & system attributes in ACA
 
Bulk-Synchronous-Parallel - BSP
Bulk-Synchronous-Parallel - BSPBulk-Synchronous-Parallel - BSP
Bulk-Synchronous-Parallel - BSP
 
2 parallel processing presentation ph d 1st semester
2 parallel processing presentation ph d 1st semester2 parallel processing presentation ph d 1st semester
2 parallel processing presentation ph d 1st semester
 
network ram parallel computing
network ram parallel computingnetwork ram parallel computing
network ram parallel computing
 
Performance Analysis of multithreaded applications based on Hardware Simulati...
Performance Analysis of multithreaded applications based on Hardware Simulati...Performance Analysis of multithreaded applications based on Hardware Simulati...
Performance Analysis of multithreaded applications based on Hardware Simulati...
 
Unit IV Memory and I/O Organization
Unit IV Memory and I/O OrganizationUnit IV Memory and I/O Organization
Unit IV Memory and I/O Organization
 
Unit 1 Computer organization and Instructions
Unit 1 Computer organization and InstructionsUnit 1 Computer organization and Instructions
Unit 1 Computer organization and Instructions
 
Conceptual Framework for Anthropomorphic Simulation of Human Face for Interac...
Conceptual Framework for Anthropomorphic Simulation of Human Face for Interac...Conceptual Framework for Anthropomorphic Simulation of Human Face for Interac...
Conceptual Framework for Anthropomorphic Simulation of Human Face for Interac...
 
Unit 5 Advanced Computer Architecture
Unit 5 Advanced Computer ArchitectureUnit 5 Advanced Computer Architecture
Unit 5 Advanced Computer Architecture
 
EVOLUTION OF SYSTEM
EVOLUTION OF SYSTEM EVOLUTION OF SYSTEM
EVOLUTION OF SYSTEM
 
Radical step in computer architecture
Radical step in computer architectureRadical step in computer architecture
Radical step in computer architecture
 
Hardware and Software parallelism
Hardware and Software parallelismHardware and Software parallelism
Hardware and Software parallelism
 
Lec 2 (parallel design and programming)
Lec 2 (parallel design and programming)Lec 2 (parallel design and programming)
Lec 2 (parallel design and programming)
 
Introduction to Problem Solving Techniques- Python
Introduction to Problem Solving Techniques- PythonIntroduction to Problem Solving Techniques- Python
Introduction to Problem Solving Techniques- Python
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Parallel computing in india
Parallel computing in indiaParallel computing in india
Parallel computing in india
 
Array Processor
Array ProcessorArray Processor
Array Processor
 
22 semaphores nd proces communi
22 semaphores nd proces communi22 semaphores nd proces communi
22 semaphores nd proces communi
 

Semelhante a Presentation date -20-nov-2012 for prof. chen

Multicore_Architecture Book.pdf
Multicore_Architecture Book.pdfMulticore_Architecture Book.pdf
Multicore_Architecture Book.pdfSwatantraPrakash5
 
Concurrency Programming in Java - 01 - Introduction to Concurrency Programming
Concurrency Programming in Java - 01 - Introduction to Concurrency ProgrammingConcurrency Programming in Java - 01 - Introduction to Concurrency Programming
Concurrency Programming in Java - 01 - Introduction to Concurrency ProgrammingSachintha Gunasena
 
Initial Architectural Design (Game Architecture)
Initial Architectural Design (Game Architecture)Initial Architectural Design (Game Architecture)
Initial Architectural Design (Game Architecture)Rajkumar Pawar
 
Ovp Introduction Presentation (04 Feb 10)
Ovp Introduction Presentation (04 Feb 10)Ovp Introduction Presentation (04 Feb 10)
Ovp Introduction Presentation (04 Feb 10)simon56
 
Introduction to embedded computing and arm processors
Introduction to embedded computing and arm processorsIntroduction to embedded computing and arm processors
Introduction to embedded computing and arm processorsSiva Kumar
 
Lecture 2
Lecture 2Lecture 2
Lecture 2Mr SMAK
 
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoTUtilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoTPôle Systematic Paris-Region
 
Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...Design World
 
Parallel & Distributed processing
Parallel & Distributed processingParallel & Distributed processing
Parallel & Distributed processingSyed Zaid Irshad
 
VTU 6th Sem Elective CSE - Module 3 cloud computing
VTU 6th Sem Elective CSE - Module 3 cloud computingVTU 6th Sem Elective CSE - Module 3 cloud computing
VTU 6th Sem Elective CSE - Module 3 cloud computingSachin Gowda
 
NoC simulators presentation
NoC simulators presentationNoC simulators presentation
NoC simulators presentationHossam Hassan
 
CS8603_Notes_003-1_edubuzz360.pdf
CS8603_Notes_003-1_edubuzz360.pdfCS8603_Notes_003-1_edubuzz360.pdf
CS8603_Notes_003-1_edubuzz360.pdfKishaKiddo
 
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...VAISHNAVI MADHAN
 
Chap 2 classification of parralel architecture and introduction to parllel p...
Chap 2  classification of parralel architecture and introduction to parllel p...Chap 2  classification of parralel architecture and introduction to parllel p...
Chap 2 classification of parralel architecture and introduction to parllel p...Malobe Lottin Cyrille Marcel
 
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...KRamasamy2
 

Semelhante a Presentation date -20-nov-2012 for prof. chen (20)

Multicore_Architecture Book.pdf
Multicore_Architecture Book.pdfMulticore_Architecture Book.pdf
Multicore_Architecture Book.pdf
 
Concurrency Programming in Java - 01 - Introduction to Concurrency Programming
Concurrency Programming in Java - 01 - Introduction to Concurrency ProgrammingConcurrency Programming in Java - 01 - Introduction to Concurrency Programming
Concurrency Programming in Java - 01 - Introduction to Concurrency Programming
 
Initial Architectural Design (Game Architecture)
Initial Architectural Design (Game Architecture)Initial Architectural Design (Game Architecture)
Initial Architectural Design (Game Architecture)
 
Ovp Introduction Presentation (04 Feb 10)
Ovp Introduction Presentation (04 Feb 10)Ovp Introduction Presentation (04 Feb 10)
Ovp Introduction Presentation (04 Feb 10)
 
Introduction to embedded computing and arm processors
Introduction to embedded computing and arm processorsIntroduction to embedded computing and arm processors
Introduction to embedded computing and arm processors
 
Aca module 1
Aca module 1Aca module 1
Aca module 1
 
Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Esl basics
Esl basicsEsl basics
Esl basics
 
Technology Fundamentals
Technology FundamentalsTechnology Fundamentals
Technology Fundamentals
 
Technology Fundamentals
Technology FundamentalsTechnology Fundamentals
Technology Fundamentals
 
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoTUtilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
 
CSC204PPTNOTES
CSC204PPTNOTESCSC204PPTNOTES
CSC204PPTNOTES
 
Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...
 
Parallel & Distributed processing
Parallel & Distributed processingParallel & Distributed processing
Parallel & Distributed processing
 
VTU 6th Sem Elective CSE - Module 3 cloud computing
VTU 6th Sem Elective CSE - Module 3 cloud computingVTU 6th Sem Elective CSE - Module 3 cloud computing
VTU 6th Sem Elective CSE - Module 3 cloud computing
 
NoC simulators presentation
NoC simulators presentationNoC simulators presentation
NoC simulators presentation
 
CS8603_Notes_003-1_edubuzz360.pdf
CS8603_Notes_003-1_edubuzz360.pdfCS8603_Notes_003-1_edubuzz360.pdf
CS8603_Notes_003-1_edubuzz360.pdf
 
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
 
Chap 2 classification of parralel architecture and introduction to parllel p...
Chap 2  classification of parralel architecture and introduction to parllel p...Chap 2  classification of parralel architecture and introduction to parllel p...
Chap 2 classification of parralel architecture and introduction to parllel p...
 
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
Floating Point Operations , Memory Chip Organization , Serial Bus Architectur...
 

Mais de TAIWAN

Seminar presented by n.m mishra on dt.02 -10-2012
Seminar presented by n.m mishra on dt.02 -10-2012Seminar presented by n.m mishra on dt.02 -10-2012
Seminar presented by n.m mishra on dt.02 -10-2012TAIWAN
 
Real time data management on wsn
Real time data management on wsnReal time data management on wsn
Real time data management on wsnTAIWAN
 
Computational intelligence based data aggregation technique in clustered wsn
Computational intelligence based data aggregation technique in clustered wsnComputational intelligence based data aggregation technique in clustered wsn
Computational intelligence based data aggregation technique in clustered wsnTAIWAN
 
Cluster based wireless sensor network routings ieee
Cluster based wireless sensor network routings ieeeCluster based wireless sensor network routings ieee
Cluster based wireless sensor network routings ieeeTAIWAN
 
Data transformation and query management in personal health sensor network
Data transformation and query management in personal health sensor networkData transformation and query management in personal health sensor network
Data transformation and query management in personal health sensor networkTAIWAN
 
Seminar presented by n.m mishra on dt.02 -10-2012
Seminar presented by n.m mishra on dt.02 -10-2012Seminar presented by n.m mishra on dt.02 -10-2012
Seminar presented by n.m mishra on dt.02 -10-2012TAIWAN
 

Mais de TAIWAN (6)

Seminar presented by n.m mishra on dt.02 -10-2012
Seminar presented by n.m mishra on dt.02 -10-2012Seminar presented by n.m mishra on dt.02 -10-2012
Seminar presented by n.m mishra on dt.02 -10-2012
 
Real time data management on wsn
Real time data management on wsnReal time data management on wsn
Real time data management on wsn
 
Computational intelligence based data aggregation technique in clustered wsn
Computational intelligence based data aggregation technique in clustered wsnComputational intelligence based data aggregation technique in clustered wsn
Computational intelligence based data aggregation technique in clustered wsn
 
Cluster based wireless sensor network routings ieee
Cluster based wireless sensor network routings ieeeCluster based wireless sensor network routings ieee
Cluster based wireless sensor network routings ieee
 
Data transformation and query management in personal health sensor network
Data transformation and query management in personal health sensor networkData transformation and query management in personal health sensor network
Data transformation and query management in personal health sensor network
 
Seminar presented by n.m mishra on dt.02 -10-2012
Seminar presented by n.m mishra on dt.02 -10-2012Seminar presented by n.m mishra on dt.02 -10-2012
Seminar presented by n.m mishra on dt.02 -10-2012
 

Presentation date -20-nov-2012 for prof. chen

  • 1. On MPSoC Software Execution at the Transaction Level 1.Frederic Petrot Grenoble Institute of Technology 2. Nicolas Fournel and Patrice Gerin Kalray 3.Marius Gligor, Mian-Muhammad Hamayun, and Hao Shen Grenoble Institute of Technology IEEE Design & Test of Computers Volume:28 Issue:3 @2011 IEEE NILAMADHAB MISHRA D0121008 Access provided by: Chang Gung University
  • 2. Contents • Aim • Concept • Transaction level modeling(TLM) • Handling software in MPSoC simulations • Methods used for s/w execution • Comparison of simulation strategies • Integration into TLM environment • Conclusion 2
  • 3. Aim • The basic aim of this paper is to present a wide variety of techniques for realizing transaction-level models of the increasingly large-scale multiprocessor systems on chip. • It describes how such models of hardware allow subsequent software integration and system performance evaluation. • To review the challenges involved in introducing software and hardware-software simulation in MPSoCs at the transaction level. 3
  • 4. Contents • Aim • Concept • Transaction level modeling(TLM) • Handling software in MPSoC simulations • Methods used for s/w execution • Comparison of simulation strategies • Integration into TLM environment • Conclusion 4
  • 5. Concept • A SoC is an integrated circuit that integrates all components of a computer and other electronic system into a single chip. • The co-simulated platform for a SoC aims to develop the hardware and software in parallel. • A typical SoC consists of: -MPSoC-multiprocessor system on chip(having multi processors core). -Memory blocks(ROM/PROM/FLASH). -Timing sources like oscillators. -Peripherals like timers. -External interfaces like USB, Ethernet, etc.. -Analog interfaces like ADCs and DACs. -Voltage regulators and power management circuit. 5
  • 6. Concept • The current state-of-the-art: multi processors core ,Multiple computational and data- processing engines, memory, and peripherals, all constructed on a single silicon chip called a MPSOC. 6
  • 8. Example of MPSoC and applications • Emotion Engine from the Sony Play station 2 – 3 processors (general purpose CPU, 2 vector processing units) • CELL processor from Sony, Toshiba, IBM – 9 processors (general purpose CPU, 8 processing elements) • Nomadic for Nokia mobile phone • ST7200 for DVD or HDTV – 5 processors (general purpose CPU, 4 digital signal processors) • DaVinci (Texas Instrument) for cameras – 3 processors (general purpose CPU, 2 digital signal processors) • Diopsis D940 for Massive parallel processor system (Petaflop) – 3 processors (general purpose CPU, 1 DSP VLIW, 1 network processor) 2048
  • 9. Contents • Aim • Concept • Transaction level modeling(TLM) • Handling software in MPSoC simulations • Methods used for s/w execution • Comparison of simulation strategies • Integration into TLM environment • Conclusion 9
  • 10. Transaction level modeling(TLM) • The basis for a unified system model is called as Transaction Level Modeling (TLM). • TLM based Unified System Models provide a means to carry out design and verification hand in hand while promoting hardware / software co-development platform. • To provide simulation platforms suited to early verification of software running on complex SoC architectures before their availability as actual hardware platforms. Transaction is the basic representation for exchange of information between two blocks. 10
  • 11. Transaction level modeling(TLM) • Transaction-level hardware-software simulation of multiprocessor SoCs (MPSoCs) requires handling software execution in some way. • Thus, two different strategies have been developed to provide suitable environments for executing software code. • 1.Row instruction interpretation of cross complied code. • 2.Native execution of the code on the host. Transaction is the basic representation for exchange of information between two blocks. 11
  • 12. Contents • Aim • Concept • Transaction level modeling(TLM) • Handling software in MPSoC simulations • Methods used for s/w execution • Comparison of simulation strategies • Integration into TLM environment • Conclusion 12
  • 13. Handling software in MPSoC simulations Software architecture: The rôle of layer Application • The application layer may be a multi-tasking description or a single task function of the application targeted to be executed on the software (processor) subsystem. • A task or thread is a lightweight process that runs sequentially Multiple tasks can be executed in parallel by a single CPU or by multiple CPUs. Operating System (OS) • The OS manages the sharing of the resources of the architecture. • It is responsible for the initialization and management of the application tasks and communication between them.
  • 14. Handling software in MPSoC simulations Software architecture: The rôle of layer Communication • This layer is responsible to manage the I/O operations and more generally the interaction with the hardware components and the other subsystems. It may include different communication protocols, such as fifo (first-in-first-out) implemented in software, or communication using dedicated hardware components (DMA). HAL (Hardware Abstraction layer) • The HAL provides a unique programming interface to manipulate hardware devices. • The HAL is a thin software layer which totally depends on the type of processor that will execute the software, but also depends on the hardware resources interacting with the processor.
  • 15. Handling software in MPSoC simulations Integrations of software within the TLM hardware architecture 15
  • 16. Handling software in MPSoC simulations • To execute every single software instruction, the most straight foreword strategy is instruction-accurate interpretation. • The left side of the figure represents an application split in software layer and right side represents the TLM hardware on which the software runs. • For the interpretation of cross complied code , all layers are loaded into program memory, so h/w abstraction not required. • For Native execution approach, the execution unit abstracts either OS layer or hardware abstraction layer(HAL). 16
  • 17. Contents • Aim • Concept • Transaction level modeling(TLM) • Handling software in MPSoC simulations • Methods used for s/w execution • Comparison of simulation strategies • How to integrate into TLM environment • Conclusion Methods used for s/w execution 17
  • 18. Methods used for s/w execution • Interpretive methods- (3-techniques for interpretation ) 1.Instruction accurate interpretation 2.Dynamic binary translation 3.semihosting execution The s/w interpretations is the process of transforming instruction from target processor into the instruction of host processor. It always requires decoding an instruction and execute it’s behavior. • Native execution method-Most efficient way of executing s/w directly on host machine. Methods used for s/w execution 18
  • 19. Interpretive methods 1. Instruction accurate interpretation- • Uses decode-dispatch method • Easy to implement and can be made accurate • Support simulations of entire support layers • Problems – very slow and not suited for extensive software based validations. • In interpretive predecoding- simulation speed is slow, but having high simulation accuracy. For 1st time development is complexed, but reuse is easier. Methods used for s/w execution 19
  • 20. Interpretive methods 2.Dynamic binary translation- • Very efficient. • Achieve ultimate goal and accuracy . • Problems –conceptually complex and challenging to implement. 3.semihosting execution- • This approach is efficient and leads to high gains in simulation speed. • Does not provide any extra benefits as compared to other methods, hence no more use. • More time consumes in performance evaluation. Methods used for s/w execution 20
  • 21. Native execution method • Most efficient way of executing s/w directly on host machine. • Simulation is fast and well suited for well-structured software. • It requires entire program codes in high level language ,not in assembly language codes. • For performance evaluation, many researchers have proposed the ways to insert time annotation into source codes to estimate execution time. Methods used for s/w execution 21
  • 22. Contents • Aim • Concept • Transaction level modeling(TLM) • Handling software in MPSoC simulations • Methods used for s/w execution • Comparison of simulation strategies • Integration into TLM environment • Conclusion 22
  • 23. Comparison of simulation strategies • Here the 4-software execution methods are compared in terms of speed, simulation accuracy and development time. 23
  • 24. Contents • Aim • Concept • Transaction level modeling(TLM) • Handling software in MPSoC simulations • Methods used for s/w execution • Comparison of simulation strategies • Integration into TLM environment • Conclusion For s/w execution , an environment is required , that is known as a TLM environment 24
  • 25. Integration into TLM environment • Here the author focuses on 3 software execution strategies i.e. instruction accurate interpretation ,dynamic binary translation and native s/w execution into TLM environment, that supports notion of time and target multi-processor platform. 1. Instruction accurate interpretation :- -It describes the integrations of accurate interpretation method into TLM environment. - Instruction accurate ISS(instruction set simulator)technology is popular in TLM environment. - Suffers low simulation speed and remains a bottleneck for MPSoC simulation. - Time annotation is not difficult with this technology, but each added architectural details is an extra burden on the already low simulation speed. Describes the integrations of 3-strategies/methods into TLM environment 25
  • 26. Integration into TLM environment 2.Dynamic binary translation:- - It describes the integration of dynamic binary translation method into TLM environment. dynamic binary translation simulation model. pc-program counter, TB-translation block 26
  • 27. Integration into TLM environment 3.Native s/w execution:- -Native s/w simulation targets the direct execution of s/w code on the host machine to an event driven simulation environment. Annotation strategy(fig)-describes the normal use of intermediate representation is the target object code generation , because it represents the actual control flow of the target program after all optimizations. 27
  • 28. Integration into TLM environment Native s/w execution(cont..):- - Native approaches can provide application and operating system timing information by embedding simulator wait statements into the s/w codes. - The annotation pass analyzes the target code and insert calls to an annotation function. The annotated intermediate representation (IR) then used to generate a native binary object ,which has a control flow graph equivalent to the target object and can be simulated on the host machine. Native s/w execution 28
  • 29. Contents • Aim • Concept • Transaction level modeling(TLM) • Handling software in MPSoC simulations • Methods used for s/w execution • Comparison of simulation strategies • Integration into TLM environment • Conclusion 29
  • 30. Conclusion • Out of three s/w execution strategy, the native simulation strategy is well suited to the development of software stake’s upper layer. • This strategy can able to provide accurate performance results at a high simulation speed by using annotation strategies. QUERY PLEASE? 30