SlideShare a Scribd company logo
1 of 30
On MPSoC Software Execution at the Transaction Level




                 NILAMADHAB MISHRA
                      D0121008

                 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

More Related Content

What's hot

Unit 1 Computer organization and Instructions
Unit 1 Computer organization and InstructionsUnit 1 Computer organization and Instructions
Unit 1 Computer organization and InstructionsBalaji Vignesh
 
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
 
Radical step in computer architecture
Radical step in computer architectureRadical step in computer architecture
Radical step in computer architectureARCCN
 
network ram parallel computing
network ram parallel computingnetwork ram parallel computing
network ram parallel computingNiranjana Ambadi
 
Constructing DSMLs
Constructing DSMLsConstructing DSMLs
Constructing DSMLsmiso_uam
 
Logic Formulation 1
Logic Formulation 1Logic Formulation 1
Logic Formulation 1deathful
 
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
 
Program logic formulation
Program logic formulationProgram logic formulation
Program logic formulationSara Corpuz
 
Unit 5 Advanced Computer Architecture
Unit 5 Advanced Computer ArchitectureUnit 5 Advanced Computer Architecture
Unit 5 Advanced Computer ArchitectureBalaji Vignesh
 
Logic Formulation 2
Logic Formulation 2Logic Formulation 2
Logic Formulation 2deathful
 
Superscalar & superpipeline processor
Superscalar & superpipeline processorSuperscalar & superpipeline processor
Superscalar & superpipeline processorMuhammad Ishaq
 
Chip Multithreading Systems Need a New Operating System Scheduler
Chip Multithreading Systems Need a New Operating System Scheduler Chip Multithreading Systems Need a New Operating System Scheduler
Chip Multithreading Systems Need a New Operating System Scheduler Sarwan ali
 
Parallel computing in india
Parallel computing in indiaParallel computing in india
Parallel computing in indiaPreeti Chauhan
 
Multicore and shared multi processor
Multicore and shared multi processorMulticore and shared multi processor
Multicore and shared multi processorSou Jana
 
Lecture 1
Lecture 1Lecture 1
Lecture 1Mr SMAK
 

What's hot (20)

Parallel processing
Parallel processingParallel processing
Parallel processing
 
Unit 1 Computer organization and Instructions
Unit 1 Computer organization and InstructionsUnit 1 Computer organization and Instructions
Unit 1 Computer organization and Instructions
 
Lec 2 (parallel design and programming)
Lec 2 (parallel design and programming)Lec 2 (parallel design and programming)
Lec 2 (parallel design and programming)
 
Radical step in computer architecture
Radical step in computer architectureRadical step in computer architecture
Radical step in computer architecture
 
network ram parallel computing
network ram parallel computingnetwork ram parallel computing
network ram parallel computing
 
Constructing DSMLs
Constructing DSMLsConstructing DSMLs
Constructing DSMLs
 
Logic Formulation 1
Logic Formulation 1Logic Formulation 1
Logic Formulation 1
 
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
 
Program logic formulation
Program logic formulationProgram logic formulation
Program logic formulation
 
Unit 5 Advanced Computer Architecture
Unit 5 Advanced Computer ArchitectureUnit 5 Advanced Computer Architecture
Unit 5 Advanced Computer Architecture
 
Logic Formulation 2
Logic Formulation 2Logic Formulation 2
Logic Formulation 2
 
Array Processor
Array ProcessorArray Processor
Array Processor
 
COMPUTER PROGRAMMING
COMPUTER PROGRAMMINGCOMPUTER PROGRAMMING
COMPUTER PROGRAMMING
 
Superscalar & superpipeline processor
Superscalar & superpipeline processorSuperscalar & superpipeline processor
Superscalar & superpipeline processor
 
43
4343
43
 
Chip Multithreading Systems Need a New Operating System Scheduler
Chip Multithreading Systems Need a New Operating System Scheduler Chip Multithreading Systems Need a New Operating System Scheduler
Chip Multithreading Systems Need a New Operating System Scheduler
 
Parallel computing in india
Parallel computing in indiaParallel computing in india
Parallel computing in india
 
Multicore and shared multi processor
Multicore and shared multi processorMulticore and shared multi processor
Multicore and shared multi processor
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
Parallel Processing Concepts
Parallel Processing Concepts Parallel Processing Concepts
Parallel Processing Concepts
 

Similar to On mp so c software execution at the transaction level

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
 
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
 
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
 
Lecture 2
Lecture 2Lecture 2
Lecture 2Mr SMAK
 
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
 
Initial Architectural Design (Game Architecture)
Initial Architectural Design (Game Architecture)Initial Architectural Design (Game Architecture)
Initial Architectural Design (Game Architecture)Rajkumar Pawar
 
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
 
Parallel language and compiler
Parallel language and compilerParallel language and compiler
Parallel language and compilerSVijaylakshmi
 
Gpu acceleration for simulating massively parallel many core platforms
Gpu acceleration for simulating massively parallel many core platformsGpu acceleration for simulating massively parallel many core platforms
Gpu acceleration for simulating massively parallel many core platformsWMLab,NCU
 
Parallel & Distributed processing
Parallel & Distributed processingParallel & Distributed processing
Parallel & Distributed processingSyed Zaid Irshad
 
NoC simulators presentation
NoC simulators presentationNoC simulators presentation
NoC simulators presentationHossam Hassan
 
Es_module2ppt.pptx
Es_module2ppt.pptxEs_module2ppt.pptx
Es_module2ppt.pptxRohanAM1
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsNoor Ul Hudda Memon
 

Similar to On mp so c software execution at the transaction level (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
 
Esl basics
Esl basicsEsl basics
Esl basics
 
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
 
Ovp Introduction Presentation (04 Feb 10)
Ovp Introduction Presentation (04 Feb 10)Ovp Introduction Presentation (04 Feb 10)
Ovp Introduction Presentation (04 Feb 10)
 
Aca module 1
Aca module 1Aca module 1
Aca module 1
 
Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Technology Fundamentals
Technology FundamentalsTechnology Fundamentals
Technology Fundamentals
 
Technology Fundamentals
Technology FundamentalsTechnology Fundamentals
Technology Fundamentals
 
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...
 
Initial Architectural Design (Game Architecture)
Initial Architectural Design (Game Architecture)Initial Architectural Design (Game Architecture)
Initial Architectural Design (Game Architecture)
 
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
 
Parallel language and compiler
Parallel language and compilerParallel language and compiler
Parallel language and compiler
 
Gpu acceleration for simulating massively parallel many core platforms
Gpu acceleration for simulating massively parallel many core platformsGpu acceleration for simulating massively parallel many core platforms
Gpu acceleration for simulating massively parallel many core platforms
 
Parallel & Distributed processing
Parallel & Distributed processingParallel & Distributed processing
Parallel & Distributed processing
 
NoC simulators presentation
NoC simulators presentationNoC simulators presentation
NoC simulators presentation
 
Es_module2ppt.pptx
Es_module2ppt.pptxEs_module2ppt.pptx
Es_module2ppt.pptx
 
Aca2 10 11
Aca2 10 11Aca2 10 11
Aca2 10 11
 
Introduction to Compiler design
Introduction to Compiler design Introduction to Compiler design
Introduction to Compiler design
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-models
 

More from 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
 

More from 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
 

On mp so c software execution at the transaction level

  • 1. On MPSoC Software Execution at the Transaction Level NILAMADHAB MISHRA D0121008 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