Branch predictors : τεχνικές υλοποίησης και συγκριτική εξομοίωσή τους
Στις μέρες μας οι περισσότεροι επεξεργαστές προκυμένου να εκτελούν μια εντολή ανά-κύκλο ρολογιού βασίζονται στον μηχανισμό μερικώς επικαλυπτόμενων λειτουργίων(pipeline). Δυστυχώς, σε αρκετές περιπτώσεις υπάρχουν εξαρτήσεις που εμποδίζουν την ομαλή λειτουργία του μηχανισμού. Ένα είδος τέτοιων εξαρτήσ...
Κύριος συγγραφέας: | |
---|---|
Άλλοι συγγραφείς: | |
Γλώσσα: | 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 |