Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Αρχιτεκτονικές VLIW Στέφανος Καξίρας {

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Ancient Greek for Everyone: A New Digital Resource for Beginning Greek Unit 4: Conjunctions 2013 edition Wilfred E. Major
Advertisements

2013 edition Wilfred E. Major
Handling Local Variables General Purpose Registers
(Business Process & Workflow Management Systems)
SCHOOL YEAR Ms Kefallinou. Language A: Language and Literature is directed towards developing and understanding the constructed nature of meanings.
Πρωτόκολλα για Ασύρματα Δίκτυα και ΑΤΜ. Σιγανός Γεώργιος Multiplexing voice and video packet traffic Εργαστήριο Τηλεπικοινωνιών Πολυτεχνείο Κρήτης “Traffic.
1 Basic network tools Layers recap Basic Addressing ping traceroute ipconfig.
Σεμινάριο Ανάπτυξης Ανθρώπινου Δυναμικού
Ancient Greek for Everyone: Unit 3: Greek Nouns supplement: Tips on Translating Greek into English GREK 1001 Fall 2013 M-Th 9:30-10:20 Coates 236 Wilfred.
2013 edition Wilfred E. Major
Business Process Management and Knowledge Toolkit
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Distributed Database Systems.
Hellenic Ministry for the Environment, Spatial Planning and Public Works Greek Experience on the Implementation of IPPC Directive Alexandros Karavanas.
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Τεχνολογία ΛογισμικούSlide 1 Έλεγχος Καταψύκτη (Ada) Τεχνολογία ΛογισμικούSlide 39 with Pump, Temperature_dial, Sensor, Globals, Alarm; use Globals ; procedure.
Τι θα φέρει το Σύννεφο στη Διαχείριση Δεδομένων: Προκλήσεις και Ευκαιρίες Ελληνικό Συμπόσιο Διαχείρισης Δεδομένων 2010 Ευαγγελία Πιτουρά Τμήμα Πληροφορικής,
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Query Optimization.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Data Mining.
Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής EPL602 Foundations of Web Technologies jQuery Mobile News Site Presented by: Christodoulos Michael Dimitris Stokkos.
1 Please include the following information on this slide: Παρακαλώ, συμπεριλάβετε τις παρακάτω πληροφoρίες στη διαφάνεια: Name Giannakodimou Aliki Kourkouta.
Developing Human Values Through the Cross-curricular Approach.
6 Η ΠΑΡΟΥΣΙΑΣΗ: ΠΑΝΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΟΙΝΩΝΙΚΩΝ ΚΑΙ ΠΟΛΙΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ: ΕΠΙΚΟΙΝΩΝΙΑΣ, ΜΕΣΩΝ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗ ΔΙΑΦΗΜΙΣΗ.
Translation Tips LG New Testament Greek Fall 2012.
6/15/2015HY220: Ιάκωβος Μαυροειδής1 HY220 Static Random Access Memory.
ΗΥ Παπαευσταθίου Γιάννης1 Clock generation.
6/26/2015HY220: Ιάκωβος Μαυροειδής1 HY220 Asynchronous Circuits.
Προσομοίωση Δικτύων 2n Άσκηση Δημιουργία, διαμόρφωση μελέτη επικοινωνιακών ζεύξεων.
Week 11 Quiz Sentence #2. The sentence. λαλο ῦ μεν ε ἰ δότες ὅ τι ὁ ἐ γείρας τ ὸ ν κύριον Ἰ ησο ῦ ν κα ὶ ἡ μ ᾶ ς σ ὺ ν Ἰ ησο ῦ ἐ γερε ῖ κα ὶ παραστήσει.
Προσομοίωση Δικτύων 4η Άσκηση Σύνθετες τοπολογίες, διακοπή συνδέσεων, δυναμική δρομολόγηση.
Αριθμητική Επίλυση Διαφορικών Εξισώσεων 1. Συνήθης Δ.Ε. 1 ανεξάρτητη μεταβλητή x 1 εξαρτημένη μεταβλητή y Καθώς και παράγωγοι της y μέχρι n τάξης, στη.
ΑΣΦΑΛΕΙΑ ΑΣΘΕΝΩΝ (PATIENT SAFETY) ωφελέειν ή μη βλάπτειν ωφελέειν = θεραπευτική παρέμβαση μη βλάπτειν = ασφάλεια ασθενών.
Ψηφιακά Παιχνίδια και μάθηση Δρ. Νικολέτα Γιαννούτσου Εργαστήριο Εκπαιδευτικής Τεχνολογίας.
Διαχείριση Διαδικτυακής Φήμης! Do the Online Reputation Check! «Ημέρα Ασφαλούς Διαδικτύου 2015» Ε. Κοντοπίδη, ΠΕ19.
Μαθαίνω με “υπότιτλους”
Αντικειμενοστραφής Προγραμματισμός ΙΙ
Στο μάθημα συζητήσαμε για το spatial frequency tuning των κυττάρων της V1, που σημαίνει ότι τέτοια κύτταρα έχουν μέγιστη απόκριση για τον προτεινόμενο.
Αλγόριθμοι Ταξινόμησης – Μέρος 3
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
(ALPHA BANK – EUROBANK – PIRAEUS BANK)
Οσμές στη Σχεδίαση του Λογισμικού
This show was edited by Mike:
Find: φ σ3 = 400 [lb/ft2] CD test Δσ = 1,000 [lb/ft2] Sand 34˚ 36˚ 38˚
aka Mathematical Models and Applications
This show was edited by Mike:
Financial Market Theory
This show was edited by Mike:
This show was edited by Mike:
The development of the CoP procedure in the context of the WLTP Transposition Project WLTP CoP Telco, 12 March 2019.
Find: ρc [in] from load (4 layers)
Beat up Motion Bumping.
Modeling Nosocomial Disease Outbreaks using Differential Equations and an Agent Based-Modeling Approach Cody FitzGerald, Adam Boucher Mathematics Department,
Database Programming Using Oracle 11g
Runtime Access to Variables
Production of Supra-regular Spatial Sequences by Macaque Monkeys
Overall Session Type, # and Title (i. e
Cipher Feedback Mode Network Security.
Applications/Requirements for Public-key
Baggy Bounds checking by Akritidis, Costa, Castro, and Hand
Using a Punnett Square.
Chiltern Hills Academy
I have to take the MAP again?
Natural Selection Check point
Kanaka Creek School Teams Session January 30, 2018
Entry 27 – Starter Copy and simplify
Complements White Box Testing Finds a different class of errors
Principles of Computers 19th Lecture
Inheritance and Polymorphism
Neuroanatomy of the vmPFC patients and performance of both groups on the DRM task. Neuroanatomy of the vmPFC patients and performance of both groups on.
Place Title / Heading Here
Μεταγράφημα παρουσίασης:

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Αρχιτεκτονικές VLIW Στέφανος Καξίρας { }

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών VLIW Αρχές ILP (Instruction-Level Parallelism) Superscalar, OoO: hardware finds it VLIW: let the Software, COMPILER, find it! No need for DYNAMIC EXECUTION —Register renaming out —Reservation Stations out —Reorder Buffer out —Out-of-order issue out

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών VLIW Αρχές

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών VLIW: Very Long Instruction Word

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών VLIW architetcure

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών VLIW Execution Semantics

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών VLIW Execution Semantics

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών SuperScalar vs. VLIW

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών VLIW execution semantics UAL: Unit-assumed Latencies All latencies eq. New instr. issues after previous completes —Always finds results ready NUAL: Non-Uniform Assumed Latencies Latencies of operations non-unit New instr. issues immediately, but ops may still be in progress Instructions must be scheduled when their results are ready (no interlocks)!

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών VLIW execution semantics NUAL: Non-Uniform Assumed Latencies Two models: Equals (EQ) Model: Each operation takes exactly its specified latency. Register values don’t change until operation completes. Example: TI C6x Less-Than-or-Equals (LEQ): Operations may take up to their specified latency

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών VLIW execution semantics Equals (EQ) Model Reduces register pressure because source operands stay around longer. Can’t reduce operation latencies and maintain source code compatibility. Less-Than-or-Equals (LEQ): Destination register contents become unreliable immediately Can reduce operation latencies and maintain source code compatibility

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Προβλήματα VLIW Compiler δεμένος με implementation Scheduler must know operation latencies Cannot run binaries in another implementation Dynamically scheduled VLIW Αποσύνδεση operation latencies από τον compiler

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Dynamically Scheduled VLIW Compatibility problem: compiler must know latencies Schedule with assumed latencies Delay buffer inserted between FUs and register file, holds register updates and presents to the code the “assumed” latencies not the real latencies (similar to LEQ) Scoreboard dynamically schedules VLIW instructions according to dependencies VERY SIMILAR to OoO but simpler

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Role of COMPILER in VLIW Find parallelism -- schedule independent instructions Find independent operations to create VLIW Many available registers to reduce false data dependencies INCREASE ILP (create parallelism) Loop unrolling Software Pipelining Trace scheduling Predication

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Loop Unrolling Basic Idea: Unroll loops to get loop with fewer but longer iterations Pros: Creates parallelism -- instructions from different original iterations can be issued in parallel Latency Tolerance -- can issue instructions from one iteration while waiting for instructions from another to complete Reduces overhead -- fewer iterations means fewer compares and branches

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Loop Unrolling Cons: Register pressure -- combining multiple iterations means more live values, potential for register overflow. REQUIRES MANY ARCHITECTURAL REGISTERS INTEL’s EPIC (ITANIUM) Arch has 128 registers!!!

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Loop Unrolling Example 1

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Loop Unrolling Example 2: no Unroll

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Loop Unrolling example 2: No Unroll

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Loop Unrolling Example 2

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Loop Unrolling Example 2

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Software pipelining Idea: Transform loop which performs one iteration at a time into loop which performs pipelined steps of different iterations. Scheduling: Increase time between dependent instructions Combines well with loop unrolling

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Software Pipelining Modulo Scheduling

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Software Pipelining: modulo scheduling

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Comparison to Superscalar Loop Unrolling + Software pipelining = Register Renaming + Multiple branch prediction (loop branch) + Dynamic Scheduling

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών COMPILER: Reduce CONTROL dependencies 1 in 5 instructions is a branch 5-op VLIW ? Each VLI contains a branch! —Unacceptable... INCREASE STRAIGHT LINE CODE code without branches 2 Techniques in addition to loop unrolling: TRACE SCHEDULING PREDICATION

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών TRACE SCHEDULING Parallelism across IF branches vs. LOOP branches Compiler Support - Two steps: Trace Selection Find likely sequence of basic blocks (trace) of (statically predicted) long sequence of straight-line code Trace Compaction Squeeze trace into few VLIW instructions Need bookkeeping code in case prediction is wrong

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Trace Scheduling Similar to branch prediction in SuperScalar OoO When things go wrong: execute fix-up code (undo wrong path). Compiler inserts all necessary code.

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών PREDICATION Avoid branch prediction by turning branches into conditionally executed instructions: if (x) then A = B op C else NOP If false, then neither store result nor cause exception Expanded ISA of Alpha, MIPS, PowerPC, SPARC have conditional move; PA-RISC can annul any following instruction. Drawbacks to conditional instructions Complex conditions reduce effectiveness; Cannot predicate very large blocks

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Predication Branch PredictionPredication

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Intel/HP EPIC Intel/HP IA-64 “Explicitly Parallel Instruction Computer (EPIC)” IA-64: instruction set architecture; EPIC is type EPIC = 2nd generation VLIW? Itanium™ is name of first implementation (2001)

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Intel EPIC VLIW Instructions IA-64 instructions are encoded in bundles, which are 128 bits wide. Each bundle consists of a 5-bit template field and 3 instructions, each 41 bits in length 3 Instructions in 128 bit “groups”; field determines if instructions dependent or independent Smaller code size than old VLIW, larger than x86/RISC Groups can be linked to show independence > 3 instr

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Intel EPIC VLIW Instructions

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Itanium

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Instruction group/Bundle

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Intel IA-64 VLIW Instruction groups Instruction group: a sequence of consecutive instructions with no register data dependences All the instructions in a group could be executed in parallel, if sufficient hardware resources existed and if any dependencies through memory were preserved An instruction group can be arbitrarily long, but the compiler must explicitly indicate the boundary between one instruction group and another by placing a stop between 2 instructions that belong to different groups

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Intel IA-64 VLIW Instruction groups

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Itanium (or Itanic as in Titanic) Highly parallel and deeply pipelined hardware at 800Mhz (2000) 6-wide, 10-stage pipeline at 800Mhz on 0.18 µ process Hardware checks dependencies (interlocks => binary compatibility over time) DYNAMICALLY SCHEDULED VLIW Predicated execution (select 1 out of 64 1-bit flags) => 40% fewer mispredictions?

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Itanium IA-64 Registers The integer registers are configured to help accelerate procedure calls using a register stack 8 64-bit Branch registers used to hold branch destination addresses for indirect branches 64 1-bit predication registers

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών IA-64/Itanium registers

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Itanium Both the integer and floating point registers support register rotation for registers Register rotation is designed to ease the task of allocating of registers in software pipelined loops When combined with predication, possible to avoid the need for unrolling and for separate prologue and epilogue code for a software pipelined loop Makes the SW-pipelining usable for loops with smaller numbers of iterations

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Itanium

Πανεπιστήμιο Πατρών, Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Itanium