Statische Laufzeitanalyse bei modernen Prozessorarchitekturen

Slides:



Advertisements
Ähnliche Präsentationen
Relative Clauses.
Advertisements

Die deutsche Satzstellung
Verbs Used Impersonally With Dative Deutsch I/II Fr. Spampinato.
Three minutes presentation I ArbeitsschritteW Seminar I-Prax: Inhaltserschließung visueller Medien, Spree WS 2010/2011 Giving directions.
Relative Clauses… Putting sentences together in harmony.
| DC-IAP/SVC3 | © Bosch Rexroth Pneumatics GmbH This document, as well as the data, specifications and other information set forth in.
You need to use your mouse to see this presentation © Heidi Behrens.
You need to use your mouse to see this presentation © Heidi Behrens.
You need to use your mouse to see this presentation
CALPER Publications From Handouts to Pedagogical Materials.
Clean Code Software-Entwicklung als Handwerkskunst Thomas Nagel, November 2011.
Der formelle Imperativ – the Imperative
Coordinating Conjunctions Why we need them & how to use them deutschdrang.com.
 Every part in a sentence has a grammatical function. Some common functions are: - Subject - Verb - Direct object / accusative object - Indirect object.
Einfaches Erstellen von Präsentationen aus Einzelfolien heraus.
Institut für Angewandte Mikroelektronik und Datentechnik Phase 5 Architectural impact on ASIC and FPGA Nils Büscher Selected Topics in VLSI Design (Module.
Lust auf Lesen Treffpunkt Deutsch Sixth Edition. Relative Pronoun object of a preposition Recall from chapter 9 that relative clauses describe people,
You need to use your mouse to see this presentation © Heidi Behrens.
The prepositions in and an Two way prepositions. What are two-way prepositions? 0 A set of prepositions can take the dative or the accusative case: "an",
Synchronization: Multiversion Concurrency Control
Deutsch 1 G Stunde. Dienstag, der 13. November 2012 Deutsch 1, G Stunde Heute ist ein G- Tag Unit: Family & home Familie & Zuhause Question: Who / How.
What is a “CASE”? in English: pronouns, certain interrogatives
Possessive Adjectives How to show belonging… The information contained in this document may not be duplicated or distributed without the permission of.
What is a “CASE”? in English: pronouns, certain interrogatives
type / function / form type of words:
GERMAN WORD ORDER ORDER s. Sentences are made up by placing a variety of words in a specific order. If the order is wrong, the sentence is difficult to.
The Journey to America… The Immigrant Experience.
Gregor Graf Oracle Portal (Part of the Oracle Application Server 9i) Gregor Graf (2001,2002)
© Crown copyright 2011, Department for Education These materials have been designed to be reproduced for internal circulation, research and teaching or.
Kapitel 4 Grammar INDEX 1.Ordinal Numbers 2.Relative Pronouns and Relative Clauses 3.Conditional Sentences 4.Posessive: Genitive Case.
Imperfekt (Simple Past) Irregular or strong verbs
Kapitel 2 Grammar INDEX 1.Subjects & Verbs 2.Conjugation of Verbs 3.Subject Verb Agreement 4.Person and Number 5.Present Tense 6.Word Order: Position of.
Memorisation techniques
Here‘s what we‘ll do... Talk to the person sitting in front of you. Introduce each other, and ask each other questions concerning the information on your.
Kapitel 9 Grammar INDEX 1.Formal Sie- Command 2.There Is/There Are 3.Negation: Nicht/Klein.
Großvater Großmutter Großvater Großmutter Tante/Onkel Vater Mutter.
1. Halbjahr 2016 Englisch am Abend (A2-2) A, Do, – Uhr Quiz – “The Hot Chair” Unit 7, 21 April 2016.
On the case of German has 4 cases NOMINATIVE ACCUSATIVE GENITIVE DATIVE.
G Stunde DEUTSCH 1.  Unit: Family & homeFamilie & Zuhause  Objectives:  Phrases about date, weather and time-telling  Family and family relations.
1. Halbjahr 2016 Englisch am Abend (A2-6) A, Di, – Uhr New textbook: Next B1/1 ISBN: €23.49.
Essay structure Example: Die fetten Jahre sind vorbei: Was passiert auf der Almhütte? Welche Bedeutung hat sie für jede der vier Personen? Intro: One or.
What’s the weather like?. Look at the question above Turn it around and you have Das Wetter ist.... The phrase Das Wetter ist.... or Es ist.... can be.
Fitness. An english presentation.
Forces Maintaining Equilibrium or Changing Motion.
Interrogatives and Verbs
Freizeit Thema 5 Kapitel 1 (1)
Du bist am dicksten und am dümmsten.
Grundlagen Englisch Passive voice HFW Bern.
Sentence Structure Connectives
Englisch Grundlagen, Modal Verbs
The dynamic ultrasound
Process and Impact of Re-Inspection in NRW
Das Taschentuch-Spiel
IETF 80 Prague DISPATCH WG
Get your Project started
Students have revised SEIN and HABEN for homework
“wish” “as if” “if only it were so”
Wohin bist du gegangen? Where did you go?
THE PERFECT TENSE IN GERMAN
Results from CO2 heat pump applications
Ferrite Material Modeling (1) : Kicker principle
You need to use your mouse to see this presentation
מבוא למערכות מחשב ואסמבלי
Institut für Experimentelle
type / function / form type of words:
CSL211 Computer Architecture
The Conversational Past
The Perfect Tense.
School supplies.
- moodle – a internet based learning platform
 Präsentation transkript:

Statische Laufzeitanalyse bei modernen Prozessorarchitekturen André Hergenhan Ladies and Gentlemen, I welcome you to my talk on Static Timing Analysis for Advanced Processor Architectures.

Überblick Statische Laufzeitanalyse Untersuchungen zur statischen Laufzeitanalyse Fazit/Schlußfolgerungen Zusammenfassung The talk is split into three major parts: First of all, I will give a general view on timing analysis, especially static timing analysis. Secondly, I‘ m going to talk about superscalar architectures, specific features and their modeling. This is the base for timing behavior modeling and therefore I present some specific modeling strategies for it. In the third part I have a closer look at a well-known modeling approach using integer linear programing and enlosed complexity problems. Here we did some studies on computing time problems which are characteristic for this approach by modeling instruction caches. The presentation will be finished by conclusions and a summary of the talk. But lets have a look on static timing analysis in general. 19. April 2000 A. Hergenhan Mini-Workshop Paderborn

Ziel der statischen Laufzeitanalyse Programm(e) C-Kode void sort (){ int i,j,v; for (i=1;i<10;i++){ v=a[i]; j=i; while (j>0&&a[j-1]>v){ a[j]=a[j-1]; j--; } a[j]=v; sort: li 8,1 addis 9,0,a@ha addi 6,9,a@l addis 9,0,a-4@ha addi 9,9,a-4@l .L40: slwi 0,8,2 lwzx 7,6,0 mr 0,8 cmpwi 1,8,0 bc 4,5,.L42 .L45: slwi 10,0,2 lwzx 11,10,9 ... Compilierung C-Kode Assemblierung Compilierung Binden Programm Maschinenkode Daten The timing performance analysis of software running on a microprocessor or microcontroller has been of growing importance. If a system does not meet its timing constraints it does not meet its functional requirements either. Therefore timing analysis techniques should provide information about worst-case or best-case or average-case timing behavior. The program running on the processor is given by machine code which has been derived from programs written in a high level language like C. The programs are then transformed by a process of compiling, assembling and linking into machine code which is equivalent to the here shown assmbly code. The objects of our studies are processors of the PowerPC family. Laufzeit Prozessoren worst case best case average case 19. April 2000 A. Hergenhan Mini-Workshop Paderborn

Wesen und Ziel der statischen Laufzeitanalyse Laufzeitanalyse zur Kompilerzeit anstatt zur Ausführungszeit Fehler bei worst-case-Abschätzungen von unter 100% verschiedene Architektureigenschaften werden unterschiedliche Einflüsse auf das Abschätzungsergebnis haben Programm Maschinenkode Daten Prozessoren 19. April 2000 A. Hergenhan Mini-Workshop Paderborn

Untersuchungsgegenstand der Laufzeitanalyse PPC403 MPC750 eingebetteter 32-bit RISC Controller skalare Architektur Integer CPU PPC403 Untersuchte Prozessoren unterliegen der PowerPC-Spezifikation Portabilit unterschiedliche Prozessorimplementierungen bieten eine gute Möglichkeit Laufzeiteffekte unterschiedlicher Architektureigenschaften zu beobachten They all comply to the PowerPC specification, above all, to the user instruction set architecture. This eases the portability of programs, but first of all, it offers a good oportunity to study timing effects of different architectural properties. Hence, we have choosen two different PowerPC implementations - the PPC 403 and the MPC750. The embedded microcontroller PPC403 is a 32 bit implementation with a scalar architecture which provides a fixed-point or integer processing unit. 19. April 2000 A. Hergenhan Mini-Workshop Paderborn

Untersuchungsgegenstand der Laufzeitanalyse PPC403 MPC750 32-bit RISC Prozessor superskalare Architektur Integer/Gleitkomma CPU eingebetteter 32-bit RISC Controller skalare Architektur Integer CPU FXU1 FXU2 FPU LSU GPRs Rename Buffers FPRs 32K ICache 32K DCache L2 Tags L2 Cache BIU 60X Completion Instruction Fetch Branch Unit Dispatch System Unit BHT/ BTIC The MPC750 provides a superscalar architecture with 5 execution units in parallel. A maximum of two instructions can be issued per clock cycle. The instructions are strongly dispatched as well as completed in order of the instruction stream. The MPC750 has some additional features like branch prediction. 19. April 2000 A. Hergenhan Mini-Workshop Paderborn

Bestandteile der statischen Laufzeitanalyse . Laufzeitanalyse des Programms Laufzeit = xi ci Modellierung Analyse Programm Prozessorarchitektur Bestimmung der Analysestruktur . Laufzeitanalyse der Analyseblöcke Laufzeit einer Befehlssequenz = Kosten ci Abstraktion Verhaltensbeschreibung Modellierung Analyse Programm Prozessorarchitektur Bestimmung der Analysestruktur . Laufzeitanalyse der Analyseblöcke Laufzeit einer Befehlssequenz = Kosten ci Abstraktion Verhaltensbeschreibung sort: li 8,1 addis 9,0,a@ha addi 6,9,a@l addis 9,0,a-4@ha addi 9,9,a-4@l .L40: slwi 0,8,2 lwzx 7,6,0 mr 0,8 cmpwi 1,8,0 bc 4,5,.L42 .L45: slwi 10,0,2 lwzx 11,10,9 ... Kosten ci Anzahl Ausführungen xi Funktions- einheiten Register Befehls- speicher Befehls- steuerung Befehlsarchitektur There are different tasks to be done by static timing analysis. A program implementation is translated into an internal representation, here a control flow graph. The basic analysis blocks, here given by basic blocks, are then modeled by providing characteristic values like cost c for the runtime or the execution count x. The cost ci depends on the underlaying processor architecture. The execution count xi depends on the data set given with the program implementation. Thus, static timing analysis is divided into three major tasks: program path modeling, architectural modeling and the analysis composition. The analysis composition starts with timing analysis of the basic analysis blocks. In the second stage the execution time is the sum of all analysis blocks along the worst-case execution path. 19. April 2000 A. Hergenhan Mini-Workshop Paderborn

Statische Laufzeitanalyse am FZI GROMIT: experimentelles Werkzeug Ansatz der impliziten Pfadenumeration (ILP-Ansatz von Li/Malik) analysierbare Prozessoren - PowerPC PPC403, MPC750 Analysestruktur: Basisblöcke, Lineblöcke Architekturmodellierung/Laufzeitanalyse der Analyseblöcke Pipelining skalarer/superskalarer Architekturen Befehlscaches - unterschiedliche Laufzeit (Kosten) für Hits/Misses Laufzeitanalyse des Programms Optimierungsproblem Zielfunktion: Laufzeit = max xi ci Schleifenbeschränkungen/Pfadbeziehungen als Nebenbedingungen Beschreibung des Cacheverhaltens über Angabe von zusätzlichen Nebenbedingungen 19. April 2000 A. Hergenhan Mini-Workshop Paderborn

Modellierung von Multi-Issue-Pipelines Vorhersagegenauigkeit steigt um bis zu 25% Je kleiner der Analyseblock, umso kleiner der Genauigkeitsgewinn Ergebnisse hängen stark von der Befehlsverteilung ab 19. April 2000 A. Hergenhan Mini-Workshop Paderborn

Rechenzeit für die Befehlscachemodellierung Befehlscache (PPC403GA): 2 KByte, 64 Einträge von 16 Bytes (4 Befehlsworte) 2-Wege mengen-assoziativer Cache Modellierungsvarianten: CCG (Cache Conflict Graph, Typ A) vs. reduzierter CCG (Typ B), direct mapped vs. 2-Wege mengen-assoziativer Cache Here you can see some results for computation complexity on generating cache conflict graph, cache state transition graph and the cache constraints. The x-axsis is the ratio of program size to cache size. The y-axis shows the time nedded. We carried out some experiments on benchmark programs running on the PPC403 with the shown characteristics. The diagram shows that there can be significant reduction for the computing time by modeling our approach, here refered to as the type B modeling instead of the original approach the different options reduced instead of CCG or lower level of cache associtivity. 19. April 2000 A. Hergenhan Mini-Workshop Paderborn

Rechenzeit für die Lösung des ILP-Problems Rechenzeit liegt in etwa derselben Größenordnung wie für die Berechnung (Modellierung) des Problems kleine Probleme bedingen großen Aufwand This diagram shows the time needed for computation the integer linear programing results for the same experiments. As you might see, the time is in the same order of magnitude as the modeling time. Unfortunately some results could not be gathered due to a bug in the program lp_solve. 19. April 2000 A. Hergenhan Mini-Workshop Paderborn

Zusätzliche Modellierungsfehler Vereinfachung der Modellierung führt zu Genauigkeitsverlust unwesentlicher Genauigkeitsverlust bei der Modellierung des reduzierten CCG (Type B) anstatt des CCG (type A) signifikanter Genauigkeitsverlust bei der Modellierung einer geringeren Assoziativität 19. April 2000 A. Hergenhan Mini-Workshop Paderborn

Fazit - Schlußfolgerung Probleme bei der Modellierung: Modellierung skalarer/superskalarer Pipelinearchitekturen Basisblöcke bzw. Lineblöcke sind i.a. sehr klein Superskalarität kann dadurch nur recht ungenügend modelliert werden Modellierung von Befehlscaches große Berechnungszeiten bei kleinen Problemen Weitergehende Modellierungsaspekte Modellierung von Datencaches? Modellierung von Sprungvorhersageverhalten? Modellierung von Bibliotheksroutinen innerhalb des Programms? Þ Veränderung des Analyseparadigmas 19. April 2000 A. Hergenhan Mini-Workshop Paderborn

Veränderung der Analysestruktur Analyseblock (ci, xi) Analysekante (ci, xi) Verwendung der Kanten zwischen Analyseblöcken zur Analyse ermöglicht: Modellierung der Beziehungen zwischen Analyseblöcken Verringerung des durch Artefakte bedingten Analysefehlers Modellierung von Sprungvorhersagemechanismen Eigenschaften der Kanten zwischen Basisblöcken Kanten nach bedingten Sprungbefehlen können verschiedene Kosten haben (abhängig von der Sprungvorhersage und -entscheidung) 19. April 2000 A. Hergenhan Mini-Workshop Paderborn

Einführung einer Analysehierarchie Einführung von Befehlscaches aufgrund relativer Lokalität von Software Modellierung des Verhaltens von Befehlscaches ebenfalls lokal Einführung einer Analysehierarchie (gegeben als call-Graph) Bestimmung von Analysecluster aufgrund der Berechenbarkeitsanalysen Einführung eines mehrstufigen Programmanalyseverfahrens Bemerkung: worst-case-Abschätzung wird nicht verletzt Modellierung von Bibliotheksroutinen durch Analyseproxy möglich 19. April 2000 A. Hergenhan Mini-Workshop Paderborn

Zusammenfassung Statische Laufzeitanalyse Probleme bei der statischen Laufzeitanalyse Berechenbarkeit Modellierung weiterführender Architektureigenschaften Schlußfolgerungen Veränderung der Analysestruktur Ansatz der hierarchischen impliziten Pfadenumeration 19. April 2000 A. Hergenhan Mini-Workshop Paderborn