ebook img

FAST AND ACCURATE PERFORMANCE SIMULATION OF OUT-OF-ORDER PROCESSING ... PDF

203 Pages·2014·9.91 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview FAST AND ACCURATE PERFORMANCE SIMULATION OF OUT-OF-ORDER PROCESSING ...

TECHNISCHE UNIVERSITÄT MÜNCHEN Lehrstuhl für Integrierte Systeme FAST AND ACCURATE PERFORMANCE SIMULATION OF OUT-OF-ORDER PROCESSING CORES IN EMBEDDED SYSTEMS Roman Plyaskin Vollständiger Abdruck der von der Fakultät für Elektrotechnik undInformationstechnikderTechnischenUniversitätMünchen zur Erlangung des akademischen Grades eines Doktor-Ingenieurs (Dr.-Ing.) genehmigten Dissertation. Vorsitzender: Univ.-Prof. Dr.-Ing. Ulf Schlichtmann Prüfer der Dissertation: 1 . Univ.-Prof. Dr. sc. techn. Andreas Herkersdorf 2 . Univ.-Prof. Dr. rer. nat. Wolfgang Rosenstiel, Eberhard Karls Universität Tübingen 30102013 Die Dissertation wurde am . . bei der Technischen Uni- versität München eingereicht und durch die Fakultät für Elek- 23062014 trotechnik und Informationstechnik am . . angenom- men. ABSTRACT Recentembeddedsystemsemploymultipleprocessingcoresonasin- gle chip. Such multiprocessor system-on-chip (MPSoC) can incorpo- rate heterogeneous processing cores with diverse internal complex- ity in order to offer an optimized solution in terms of performance, powerconsumptionanddependability.ConsideringthegrowingMP- SoC complexity, system architects require fast and accurate perfor- mance simulation of out-of-order processing cores to enable design space exploration (DSE) of MPSoC in reasonable time. Interpretive cycle-accurateinstructionsetsimulators(ISS)employdetailedmodels of the core microarchitecture. Therefore, their use in iterative system- level DSE of MPSoC is limited because of low simulation speed. At the same time, recent approaches for fast software performance sim- ulation leveraging annotated source code are too abstract to consider the effects of out-of-order instruction execution. This thesis addresses the gap between interpretive cycle-accurate ISS and abstract source-level simulation and presents a novel ap- proachforsoftwareperformancesimulationconsideringout-of-order execution. The proposed approach enables fast and accurate repro- duction of the processor’s out-of-order behavior and accelerates DSE atthesystemlevel.Furthermore,thethesispresentsaSystemC-based simulationtoolforperformanceevaluationofmulticorearchitectures. Thetooladditionallysupportstrace-drivensimulationoftargetappli- cationsandincorporatesahigh-levelschedulerforflexibleevaluation of SW partitioning in MPSoC platforms. iii ZUSAMMENFASSUNG Moderne eingebettete Systeme setzen Chips mit mehreren Prozes- sorkernenein.SolcheMultiprozessorSysteme-on-Chip(MPSoC)kön- nen heterogene Prozessorkerne mit diverser interner Komplexität en- thalten und somit eine optimierte Lösung im Bezug auf Performanz, Leistungsverbrauch und Zuverlässigkeit bieten. Wegen der steigen- denKomplexitätderMPSoCbenötigenSystemarchitekteneineschnelle undgenauePerformanzsimulationderOut-of-Order-Prozessorkerne, umeineEntwurfsraumexplorationderMPSoCinannehmbarenZeiten zuermöglichen.Interpretierende,zyklenakkurateInstruktionssatz-Sim- ulatoren(ISS)enthaltendetaillierteModellederMikroarchitekturdes ProzessorkernsundkönnennurkleineSimulationsgeschwindigkeiten erreichen.AusdiesemGrundistdieNutzungdieserWerkzeugefürit- erative Entwurfsraumexplorationen der MPSoC auf Systemebene be- grenzt. Neueste Ansätze, die eine schnelle Software-Performanzsim- ulation basierend auf annotierten Quellcodes ermöglichen, sind zu abstrakt, um die Effekte der Out-of-Order-Ausführung der Instruk- tionen zu berücksichtigen. Diese Dissertation stellt ein neues Verfahren für eine Software-Per- formanzsimulation mit Berücksichtigung der Out-of-Order-Ausfüh- rung vor und schließt somit die Lücke zwischen den interpretieren- den, zyklenakkuraten ISS und einer abstrakten Simulation auf Quell- code-Ebene.DervorgeschlageneAnsatzermöglichteineschnelleund genaueWiedergabedesVerhaltensderOut-of-Order-Prozessorenund beschleunigtEntwurfsraumexplorationenaufSystemebene.Außerdem stellt diese Dissertation ein SystemC-basiertes Werkzeug für Perfor- manzabschätzungenderMehrkern-Architekturenvor.DasWerkzeug ermöglicht zusätzlich eine Trace-getriebene Simulation der Zielan- wendungen und enthält einen Scheduler für flexible Evaluierungen derSoftware-PartitionierungeninMPSoC-PlattformenaufhoherEbene. v ACKNOWLEDGMENTS I would like to sincerely thank Prof. Andreas Herkersdorf for super- vising this thesis and providing me with the opportunity to work and do the research at the institute. I particularly appreciate our dis- cussions on this project, which kept me motivated and helped me to gain a more comprehensive view on the research problems. I also would like to express my gratitude to Prof. Wolfgang Rosenstiel for co-examining this work and his comments which helped me to im- prove the dissertation. In addition, I would like to thank Prof. Walter Stechele and Dr. Thomas Wild for their help and valuable comments on this work. Specialthanksgotoallpresentandpastcolleaguesattheinstitutefor integrated systems for creating a nice working atmosphere. Finally, this work wouldn’t be possible without loving support of my family and my fiancée Michaela who always stood by my side during these years. vii CONTENTS 1 introduction 1 11 1 . Scope of the thesis . . . . . . . . . . . . . . . . . . . . . 12 2 . Problem statement . . . . . . . . . . . . . . . . . . . . . 13 3 . Contributions . . . . . . . . . . . . . . . . . . . . . . . . 14 4 . Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 prior art 5 21 5 . Instruction Set Simulation . . . . . . . . . . . . . . . . . 211 5 . . Interpretive ISS . . . . . . . . . . . . . . . . . . . 212 6 . . Compiled ISS . . . . . . . . . . . . . . . . . . . . 213 10 . . Sampled simulation . . . . . . . . . . . . . . . . 214 12 . . ISS-based simulation of multicore architectures 22 14 . Simulation based on target code . . . . . . . . . . . . . 221 14 . . Source-level simulation . . . . . . . . . . . . . . 222 16 . . Simulation based on intermediate representation 223 18 . . Instruction-level simulation . . . . . . . . . . . . 23 20 . Trace-driven simulation . . . . . . . . . . . . . . . . . . 24 23 . High-level OS modeling . . . . . . . . . . . . . . . . . . 25 28 . Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 background of compiled sw simulation at binary level 31 31 32 . Functional behavior . . . . . . . . . . . . . . . . . . . . . 311 32 . . Binary-to-C translation . . . . . . . . . . . . . . . 312 33 . . Organization of translated code . . . . . . . . . 313 34 . . Modeling of target memory . . . . . . . . . . . . 32 36 . Timing behavior . . . . . . . . . . . . . . . . . . . . . . . 321 36 . . Annotation of timing information . . . . . . . . 322 37 . . Modeling of caches . . . . . . . . . . . . . . . . . 4 compiled sw simulation considering out of order - - instruction execution 41 41 41 . System-level effects of out-of-order execution . . . . . . 411 41 . . Classification of out-of-order effects . . . . . . . 412 . . Limitations of conventional host-compiled sim- 44 ulations . . . . . . . . . . . . . . . . . . . . . . . 42 47 . Derivation of basic block timing . . . . . . . . . . . . . 421 47 . . ISS enhancements. . . . . . . . . . . . . . . . . . 422 50 . . Identification of basic block boundaries . . . . . 43 51 . Context dependency of basic block timing . . . . . . . 431 51 . . Concept . . . . . . . . . . . . . . . . . . . . . . . 432 53 . . Derivation of context-dependent timing . . . . . ix x contents 433 56 . . Context-aware host-compiled simulation . . . . 44 57 . Reordering of memory accesses . . . . . . . . . . . . . . 441 57 . . Classification of basic blocks . . . . . . . . . . . 442 59 . . Simulation of memory reordering . . . . . . . . 45 61 . Non-blocking behavior of data cache . . . . . . . . . . . 451 61 . . Modeling of non-blocking behavior . . . . . . . 452 68 . . Dependency analysis of memory instructions . 46 69 . Optimizations . . . . . . . . . . . . . . . . . . . . . . . . 461 71 . . Optimization of binary-to-C translation . . . . . 462 73 . . Averaging of basic block timings . . . . . . . . . 463 74 . . Static reordering of memory accesses . . . . . . 5 system level simulation of multicore architec - - tures 85 51 86 . Simulation methods . . . . . . . . . . . . . . . . . . . . 511 86 . . Trace-Driven Simulation . . . . . . . . . . . . . . 512 91 . . Binary-level simulation . . . . . . . . . . . . . . 513 93 . . Summary . . . . . . . . . . . . . . . . . . . . . . 52 96 . High-level scheduler model . . . . . . . . . . . . . . . . 521 97 . . Task model . . . . . . . . . . . . . . . . . . . . . 522 99 . . Scheduler model . . . . . . . . . . . . . . . . . . 523 109 . . Implementation details . . . . . . . . . . . . . . 53 115 . SystemC models of hardware components . . . . . . . 531 115 . . Out-of-order core . . . . . . . . . . . . . . . . . . 532 123 . . Communication infrastructure and memory . . 6 experimental results 129 61 129 . Context-aware host-compiled SW simulation . . . . . . 611 129 . . Experimental setup . . . . . . . . . . . . . . . . . 612 132 . . Optimization of binary-to-C translation . . . . . 613 135 . . Context-aware compiled simulation . . . . . . . 614 143 . . Averaging of basic block timing . . . . . . . . . 615 147 . . Consideration of a data cache . . . . . . . . . . . 62 153 . System-level simulation based on SystemC . . . . . . . 621 153 . . Experimental setup . . . . . . . . . . . . . . . . . 622 155 . . Evaluation of BLS and TDS methods . . . . . . 63 163 . Multicore design space exploration: A use case . . . . . 631 163 . . Experimental setup . . . . . . . . . . . . . . . . . 632 166 . . Results . . . . . . . . . . . . . . . . . . . . . . . . 7 conclusions and future work 171 71 171 . Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 72 175 . Outlook for future work . . . . . . . . . . . . . . . . . . bibliography 177

Description:
to gain a more comprehensive view on the research problems. I also would like to .. proaches assume processors with in-order instruction execution only. The key idea behind sampled simulation is to perform detailed sim- rasta rijn d a el_ d e co d e rijn dae l_e ncod e sha strin gsearch. _ large.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.