Branch predictors : τεχνικές υλοποίησης και συγκριτική εξομοίωσή τους

Στις μέρες μας οι περισσότεροι επεξεργαστές προκυμένου να εκτελούν μια εντολή ανά-κύκλο ρολογιού βασίζονται στον μηχανισμό μερικώς επικαλυπτόμενων λειτουργίων(pipeline). Δυστυχώς, σε αρκετές περιπτώσεις υπάρχουν εξαρτήσεις που εμποδίζουν την ομαλή λειτουργία του μηχανισμού. Ένα είδος τέτοιων εξαρτήσ...

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριος συγγραφέας: Χατζημιχαήλ, Θεόδωρος
Άλλοι συγγραφείς: Chatzimichail, Theodoros
Γλώσσα:Greek
Έκδοση: 2023
Θέματα:
Διαθέσιμο Online:https://hdl.handle.net/10889/25447
id nemertes-10889-25447
record_format dspace
spelling nemertes-10889-254472023-07-08T03:53:14Z Branch predictors : τεχνικές υλοποίησης και συγκριτική εξομοίωσή τους Branch predictors : implementation techniques and their comparative simulation Χατζημιχαήλ, Θεόδωρος Chatzimichail, Theodoros Διαδικαστικές εξαρτήσεις Προβλέψεις Διακλάδωση One level dynamic branch prediction Branch prediction implementations Two level adaptive branch prediction Dynamic branch prediction with perceptrons Similutation of branch prediction techniques Στις μέρες μας οι περισσότεροι επεξεργαστές προκυμένου να εκτελούν μια εντολή ανά-κύκλο ρολογιού βασίζονται στον μηχανισμό μερικώς επικαλυπτόμενων λειτουργίων(pipeline). Δυστυχώς, σε αρκετές περιπτώσεις υπάρχουν εξαρτήσεις που εμποδίζουν την ομαλή λειτουργία του μηχανισμού. Ένα είδος τέτοιων εξαρτήσεων είναι οι διαδικαστικές εξαρτήσεις που προκύπτουν από εντολές διακλάδωσης. Για να επιλύσουμε την συγκεκριμένη εξάρτηση χωρίς να έχουμε κάποια καθυστέρηση σε κύκλους ρολογιού, προβλέπουμε την διεύθυνση της επόμενης προς εκτέλεση εντολής(branch prediction). Σε περίπτωση λανθασμένης πρόβλεψης θα πρέπει να σταματήσουμε την εκτέλεση της εντολής που προσκομίσαμε και να προσκομίσουμε την σωστή. Οι προβλέψεις βασίζονται σε διάφορες μεθόδους και σε αυτή την διπλωματική εργασία αναλύουμε τις βασικές μεθόδους στατικής και δυναμικής πρόβλεψης μαζί με τα σχεδιαγράμματα των κυκλωμάτων τους. Εκτελούμε θεωρητικά ένα μικρό πρόγραμμα που περιέχει εντολές διακλάδωσης, προκειμένου να κατανοήσουμε την λειτουργία του κάθε κυκλώματος. Επιπλέον, έχουμε αναπτύξει σε C++ έναν εξομοιώτη των τεχνικών πρόβλεψης και μέσω αυτού τις συγκρίνουμε χρησιμοποιώντας ένα μεγαλύτερο σύνολο εντολών διακλάδωσης. Συπληρωματικά, έχουμε κάνει σύνθεση τα κυκλώματα ορισμένων τεχνικών στο εργαλείο Design Compiler της Synopsis για να ορίσουμε την μέγιστη συχνότητα λειτουργίας, το εμβαδό και την κατάλωση ισχύος του κυκλώματος. 2023-07-07T18:40:46Z 2023-07-07T18:40:46Z 2023-07-07 https://hdl.handle.net/10889/25447 el Attribution-NonCommercial 3.0 United States http://creativecommons.org/licenses/by-nc/3.0/us/ application/pdf application/pdf
institution UPatras
collection Nemertes
language Greek
topic Διαδικαστικές εξαρτήσεις
Προβλέψεις
Διακλάδωση
One level dynamic branch prediction
Branch prediction implementations
Two level adaptive branch prediction
Dynamic branch prediction with perceptrons
Similutation of branch prediction techniques
spellingShingle Διαδικαστικές εξαρτήσεις
Προβλέψεις
Διακλάδωση
One level dynamic branch prediction
Branch prediction implementations
Two level adaptive branch prediction
Dynamic branch prediction with perceptrons
Similutation of branch prediction techniques
Χατζημιχαήλ, Θεόδωρος
Branch predictors : τεχνικές υλοποίησης και συγκριτική εξομοίωσή τους
description Στις μέρες μας οι περισσότεροι επεξεργαστές προκυμένου να εκτελούν μια εντολή ανά-κύκλο ρολογιού βασίζονται στον μηχανισμό μερικώς επικαλυπτόμενων λειτουργίων(pipeline). Δυστυχώς, σε αρκετές περιπτώσεις υπάρχουν εξαρτήσεις που εμποδίζουν την ομαλή λειτουργία του μηχανισμού. Ένα είδος τέτοιων εξαρτήσεων είναι οι διαδικαστικές εξαρτήσεις που προκύπτουν από εντολές διακλάδωσης. Για να επιλύσουμε την συγκεκριμένη εξάρτηση χωρίς να έχουμε κάποια καθυστέρηση σε κύκλους ρολογιού, προβλέπουμε την διεύθυνση της επόμενης προς εκτέλεση εντολής(branch prediction). Σε περίπτωση λανθασμένης πρόβλεψης θα πρέπει να σταματήσουμε την εκτέλεση της εντολής που προσκομίσαμε και να προσκομίσουμε την σωστή. Οι προβλέψεις βασίζονται σε διάφορες μεθόδους και σε αυτή την διπλωματική εργασία αναλύουμε τις βασικές μεθόδους στατικής και δυναμικής πρόβλεψης μαζί με τα σχεδιαγράμματα των κυκλωμάτων τους. Εκτελούμε θεωρητικά ένα μικρό πρόγραμμα που περιέχει εντολές διακλάδωσης, προκειμένου να κατανοήσουμε την λειτουργία του κάθε κυκλώματος. Επιπλέον, έχουμε αναπτύξει σε C++ έναν εξομοιώτη των τεχνικών πρόβλεψης και μέσω αυτού τις συγκρίνουμε χρησιμοποιώντας ένα μεγαλύτερο σύνολο εντολών διακλάδωσης. Συπληρωματικά, έχουμε κάνει σύνθεση τα κυκλώματα ορισμένων τεχνικών στο εργαλείο Design Compiler της Synopsis για να ορίσουμε την μέγιστη συχνότητα λειτουργίας, το εμβαδό και την κατάλωση ισχύος του κυκλώματος.
author2 Chatzimichail, Theodoros
author_facet Chatzimichail, Theodoros
Χατζημιχαήλ, Θεόδωρος
author Χατζημιχαήλ, Θεόδωρος
author_sort Χατζημιχαήλ, Θεόδωρος
title Branch predictors : τεχνικές υλοποίησης και συγκριτική εξομοίωσή τους
title_short Branch predictors : τεχνικές υλοποίησης και συγκριτική εξομοίωσή τους
title_full Branch predictors : τεχνικές υλοποίησης και συγκριτική εξομοίωσή τους
title_fullStr Branch predictors : τεχνικές υλοποίησης και συγκριτική εξομοίωσή τους
title_full_unstemmed Branch predictors : τεχνικές υλοποίησης και συγκριτική εξομοίωσή τους
title_sort branch predictors : τεχνικές υλοποίησης και συγκριτική εξομοίωσή τους
publishDate 2023
url https://hdl.handle.net/10889/25447
work_keys_str_mv AT chatzēmichaēltheodōros branchpredictorstechnikesylopoiēsēskaisynkritikēexomoiōsētous
AT chatzēmichaēltheodōros branchpredictorsimplementationtechniquesandtheircomparativesimulation
_version_ 1771297149713121280