ABSTRACT. PAPADOPOULOS SPYRIDON Department of Information and Communication Systems Engineering UNIVERSITY OF THE AEGEAN

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ABSTRACT. PAPADOPOULOS SPYRIDON Department of Information and Communication Systems Engineering UNIVERSITY OF THE AEGEAN"

Transcript

1 Δίκτυα Ακτινικής Βάσ ης σ ε Σώματα Δεδομένων Μεγάλου Ογκου σ ε SIMD Υπολογισ τικά Συσ τήματα Η Διπλωματική Εργασ ία παρουσ ιάσ τηκε ενώπιον του Διδακτικού Προσ ωπικού του Πανεπισ τημίου Αιγαίου Σε Μερική Εκπλήρωσ η των Απαιτήσ εων για το Δίπλωμα του Μηχανικού Πληροφοριακών και Επικοινωνιακών Συσ τημάτων του ΠΑΠΑΔΟΠΟΥΛΟΥ ΣΠΥΡΙΔΩΝ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2011

2 Η ΤΡΙΜΕΛΗΣ ΕΠΙΤΡΟΠΗ ΔΙΔΑΣΚΟΝΤΩΝ ΕΓΚΡΙΝΕΙ ΤΗ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΤΟΥ ΠΑΠΑΔΟΠΟΥΛΟΥ ΣΠΥΡΙΔΩΝ ΜΑΡΑΓΚΟΥΔΑΚΗΣ ΕΜΜΑΝΟΥΗΛ, Επιβλέπων 24/06/2011 Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συσ τημάτων ΜΠΟΥΚΑΣ ΛΑΜΠΡΟΣ, Επιβλέπων Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συσ τημάτων ΤΣΟΚΑΡΟΣ ΑΝΤΩΝΙΟΣ, Μέλος Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συσ τημάτων ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2011 ii

3 ΠΕΡΙΛΗΨΗ Ενα από τα σ ημαντικότερα προβλήματα της εξόρυξης γνώσ ης από σ ύνθετα, πολυδιάσ τατα δεδομένα μεγάλου όγκου είναι η αδυναμία πολλών αλγορίθμων μάθησ ης να υποσ τηρίξουν υπολογισ τικά μοντέλα που να αφομοιώνουν αποτελεσ ματικά όλα τα δεδομένα εισ όδου. Συγκεκριμένα, ενώ υπάρχουν αλγόριθμοι ταξινόμησ ης με ιδιαίτερα σ ημαντικά αποτελέσ ματα όπως τα δίκτυα ακτινικής βάσ ης (Radial Basis Function Networks), σ ε περιπτώσ εις όπου υπάρχει πληθώρα διαθέσ ιμων δεδομένων εκπαίδευσ ης και ιδιαίτερα μεγάλος αριθμός ιδιοτήτων αναπαράσ τασ ης τους, οι αλγόριθμοι αυτοί παρουσ ιάζουν σ αφή προβλήματα εκτέλεσ ης. Η πλέον σ υνήθης πρακτική είναι η μείωσ η της διασ τατικότητας των δεδομένων, η οποία όμως επιφέρει και την ανάλογη μείωσ η της ακρίβειας και της απόδοσ ης των αλγορίθμων. Με την ανάπτυξη του υλικού των καρτών γραφικών και λογισ μικού που επιτρέπει την εκτέλεσ η πολύπλοκων πράξεων όχι σ τον επεξεργασ τή του Ηλεκτρονικού Υπολογισ τή αλλά σ τους επεξεργασ τές της κάρτας γραφικών, η Διπλωματική αυτή σ τοχεύει σ τον να δημιουργήσ ει μια νέα μορφή του αλγόριθμου RBF που να μπορεί να εκτελεσ θεί σ ε μεγάλου όγκου δεδομένα, με υψηλό βαθμό διασ τατικότητας. Η μελέτη θα πλαισ ιωθεί τόσ ο από την υλοποίησ η όσ ο και από μια σ ειρά πειραματικών μετρήσ εων και αξιολογήσ εων. ΠΑΠΑΔΟΠΟΥΛΟΣ ΣΠΥΡΙΔΩΝ Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συσ τημάτων ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ 2011 iii

4 ABSTRACT The incapability of many Machine Learning Algorithms to support computational models which have the ability to use eciently all the input data is one of the most serious problems in the extraction of knowledge from complex, multidimensional, large scale data. More specically, while there are classication algorithms with important results, such as Radial Basis Function Networks. In cases, where there are plenty of available training data and a large number of features used for their representation, these algorithms present clear execution problems. The most common practice is the data dimensionality reduction. These practices negatively aect the accuracy and the precision of the algorithms. The improvement in the graphics card hardware allows the execution of complex operations not in the CPU, but in processors of the graphics card. This Diploma Thesis aims to implement a new version of the RBFN Algorithm which has the ability to be executed in high-dimensional, large scale data. This Thesis includes an implementation of the algorithm, experimental measures and evaluation. PAPADOPOULOS SPYRIDON Department of Information and Communication Systems Engineering UNIVERSITY OF THE AEGEAN 2011 iv

5 Περιεχόμενα 1 Αριθμητική Κινητής Υποδιασ τολής Εισ αγωγή Σφάλμα Στρογγυλοποίησ ης Αναπαράσ τασ η Πραγματικών Αριθμών Σχετικό Σφάλμα και Ulps Guard Digits Ακύρωσ η Πράξεις Επακριβούς Στρογγυλοποίησ ης Το Πρότυπο IEEE Εισ αγωγή Μορφή και Πράξεις Ειδικές Ποσ ότητες Μέθοδοι Στρογγυλοποίησ ης Διαφοροποιήσ εις των υλοποιήσ εων σ το IEEE Παρούσ ες υλοποιήσ εις σ το IEEE Το Πρότυπο IEEE-754 σ το CUDA Αρχιτεκτονική Ταξινόμησ η κατά Flynn Η Αξιοποίησ η της SIMD αρχιτεκτονικής Ισ τορικά Στοιχεία Πλεονεκτήματα Μειονεκτήματα Εξέλιξη της αρχιτεκτονικής SIMD Η Αρχιτεκτονική CUDA Δομή Υλικού Εκτέλεσ η Νημάτων Διαβαθμίσ εις Μνήμης Μοντέλο Προγραμματισ μού Εισ αγωγή Τα χαρακτηρισ τικά της CUDA C Αναγνωρισ τικά Συναρτήσ εων Αναγνωρισ τικά Μεταβλητών Δεσ μευμένοι Τύποι Διανυσ μάτων Δεσ μευμένες Μεταβλητές Συντακτικό Διαμόρφωσ ης της Εκτέλεσ ης v

6 3.3 Η Βιβλιοθήκη Runtime Τμήμα Runtime Βιβλιοθήκης για τη CPU Τμήμα Runtime Βιβλιοθήκης για τη GPU Βοηθητικές Υλοποιήσ εις Πράξεις Διανυσ μάτων Δίκτυα Συναρτήσ εων Ακτινικής Βάσ ης Εισ αγωγή Το Πρόβλημα του XOR Εκπαίδευσ η των Δικτύων Ακτινικής Βάσ ης Ταξινόμησ η Περιγραφή Διαδικασ ίας Αξιολόγησ η της Εκπαίδευσ ης Υλοποιήσ εις Εισ αγωγή Σχετική Δρασ τηριότητα Εργαλεία Μοντελοποίησ η Περιγραφή Σειριακού Υπολογισ μού του πίνακα Φ Περιγραφή Παράλληλου Υπολογισ μού του πίνακα Φ Επίλυσ η του Συσ τήματος Φ w = y Βοηθητικές Υλοποιήσ εις Διεξαγωγή Πειραμάτων Σχεδιασ μός του Συνόλου Δεδομένων Αποτελέσ ματα Εκπαίδευσ ης Αποτελέσ ματα Δοκιμής Συμπεράσ ματα Μελλοντική Εργασ ία 65 vi

7 Κατάλογος Πινάκων 1.1 Παράμετροι μορφών σ το IEEE Ειδικές Τιμές σ το πρότυπο IEEE Πράξεις οι οποίες παράγουν NaN Συνοπτική παρουσ ίασ η των μνημών Συναρτήσ εις Ακτινικής Βάσ ης Αποτελέσ ματα σ υναρτήσ εων ακτινικής βάσ ης Τεχνικά Χαρακτηρισ τικά Τεχνικά Χαρακτηρισ τικά GPU Προδιαγραφές Δειγμάτων Χρόνοι Εκτέλεσ ης Σειριακού Δικτύου RBF Χρόνοι Εκτέλεσ ης Παράλληλου Δικτύου RBF Επιτάχυνσ η των Υλοποιήσ εων Χρόνος Εκτέλεσ ης Παράλληλου Δικτύου RBF για πραγματικά δεδομένα Χρόνος Εκτέλεσ ης Σειριακού Δικτύου RBF για πραγματικά δεδομένα Επιτάχυνσ η των Υλοποιήσ εων για πραγματικά δεδομένα Confusion Matrix του Συνολου Δεδομένων Confusion Matrix του Συνολου Δεδομένων Confusion Matrix του Συνολου Δεδομένων Confusion Matrix του Συνολου Δεδομένων Confusion Matrix των Πραγματικών Δεδομένων vii

8 viii

9 Κατάλογος Σχημάτων 1.1 Κανονικοποιημένοι αριθμοί όταν β=2, p=3, e min = 1 και e max = Υποβάθμισ η σ το μηδέν σ ε σ ύγκρισ η με την Σταδιακή Υποχείλισ η Η σ χηματική ταξινόμησ η κατά Flynn Σχηματική Αναπαράσ τασ η αρχιτεκτονικής SISD Σχηματική Αναπαράσ τασ η αρχιτεκτονικής SIMD Σχηματική Αναπαράσ τασ η αρχιτεκτονικής MISD Σχηματική Αναπαράσ τασ η αρχιτεκτονικής MIMD Η διαφορά της GPU από την CPU σ την κατασ κευή ώσ τε να είναι προσ ανατολισ μένη σ την επεξεργασ ία δεδομένων Η σ χηματική αναπαράσ τασ η του Streaming Multiprocessor Η ιεράρχησ η των νημάτων Κατανομή των νημάτων Ανάθεσ η και διαχωρισ μός του block Η αλληλουχία του λογισ μικού του CUDA Σταδιακή εκτέλεσ η της τεχνικής των μειώσ εων Τα επίπεδα του RBF Δικτύου Γραφική απεικόνισ η των προτύπων Μετασ χηματισ μένα πρότυπα ως προς τις σ υναρτήσ εις Παράλληλος υπολογισ μός των παραγόντων Γραφική Αναπαράσ τασ η Συνολικών Χρόνων Εκτέλεσ ης ix

10 x

11 Λίστα Αλγορίθμων 3.1 Υλοποίησ η Βαθμωτής Πράξης για CUDA Υλοποίησ η Πράξης μεταξύ διανυσ μάτων για CUDA Υλοποίησ η Μείωσ ης σ ε διάνυσ μα για CUDA Υλοποίησ η Μείωσ ης σ ε διάνυσ μα για CUDA(Συνέχεια) Αλγόριθμος υπολογισ μού του πίνακα Φ Σειριακός Αλγόριθμος Gauss Elimination Παράλληλος Αλγόριθμος Gauss Elimination xi

12 Κεφάλαιο 1 Αριθμητική Κινητής Υποδιασ τολής 1.1 Εισ αγωγή Το κεφάλαιο αυτό αναλύει τα μέρη της Αριθμητικής Κινητής Υποδιασ τολής τα οποία σ χετίζονται με τον σ χεδιασ μό υπολογισ τικών σ υσ τημάτων. Το πρώτο μέρος αναφέρεται σ τα ζητήματα της χρήσ ης διαφορετικών σ τρατηγικών σ τρογγυλοποίησ ης για τις βασ ικές πράξεις της πρόσ θεσ ης, της αφαίρεσ ης, του πολλαπλασ ιασ μού και της διαίρεσ ης. Επιπλέον περιέχει βασ ικές πληροφορίες με της δύο μεθόδους μέτρησ ης του σ φάλματος σ τρογγυλοποίησ ης (ulps και Σχετικό Σφάλμα). Το δεύτερο μέρος αναλύει το πρότυπο ΙΕΕΕ κινητής υποδιασ τολής το οποίο είναι ευρέως χρησ ιμοποιούμενο από τους κατασ κευασ τές εμπορικού hardware. Στο κεφάλαιο αυτό εμπεριέχονται και οι μέθοδοι σ τρογγυλοποίησ ης του προτύπου IEEE για τις βασ ικές πράξεις. Στο τρίτο και τελευταίο μέρος αναλύεται η σ ύνδεσ η ανάμεσ α σ την Αριθμητική Κινητής Υποδιασ τολής και σ τους διάφορους τύπους υπολογισ τικών σ υσ τημάτων. 1.2 Σφάλμα Στρογγυλοποίησ ης Η σ υμπίεσ η άπειρων πραγματικών αριθμών σ ε ένα πεπερασ μένο πλήθος από bits απαιτεί μία προσ εγγισ τική αναπαράσ τασ η. Παρά την ύπαρξη άπειρων ακεραίων, το αποτέλεσ μα των υπολογισ μών μεταξύ ακεραίων μπορεί να αποθηκευτεί σ ε 32 ή 64 bits. Αντιθέτως, δεδομένου οποιουδήποτε προκαθορισ μένου πλήθους από bits, οι περισ σ ότεροι υπολογισ μοί με πραγματικούς αριθμούς παράγουν αποτελέσ ματα τα οποία δεν μπορούν να αναπαρασ ταθούν επακριβώς με την χρήσ η αυτού του προκαθορισ μένου πλήθους από bits. Συνεπώς, το αποτέλεσ μα ενός υπολογισ μού με πραγματικούς αριθμούς είναι ανάγκη σ υχνά να σ τρογγυλοποιείται ώσ τε να προσ αρμόζεται σ ε αυτή την πεπερασ μένη αναπαράσ τασ η. Αυτό το σ φάλμα σ τρογγυλοποίησ ης είναι χαρακτηρισ τικό των υπολογισ μών κινητής υποδιασ τολής. Σε κάθε περίπτωσ η, οι περισ σ ότεροι υπολογισ μοί κινητής υποδιασ τολής έχουν σ φάλμα σ τρογγυλοποίησ ης. Σε αρκετές περιπτώσ εις, οι βασ ικές αριθμητικές πράξεις παράγουν λίγο περισ σ ότερο σ φάλμα σ τρογγυλοποίησ ης από όσ ο απαιτείται. Τα Guard Digits είναι ένα μέσ ο μείωσ ης του σ φάλματος όταν αφαιρούνται δύο κοντινοί αριθμοί. Τα Guard Digits θεωρούνταν αρκετά σ ημαντικά από την IBM όταν το 1968 πρόσ θεσ ε ένα Guard Digit σ την αναπαράσ τασ η διπλής ακρίβειας της αρχιτεκτονικής System/360(Η αναπαράσ τασ η μονής ακρίβειας είχε ήδη Guard Digit), ξεπερνώντας κατά πολύ τα υπάρχοντα σ υσ τήματα εκείνης της εποχής. Το πρότυπο IEEE εξελίσ σ εται περισ σ ότερο πέρα από την απλή απαίτησ η για την ύπαρξη ενός Guard 1

13 Digit. Το πρότυπο εφαρμόζει έναν αλγόριθμο για πρόσ θεσ η, αφαίρεσ η, πολλαπλασ ιασ μό, διαίρεσ η και υπολογισ μό τετραγωνικής ρίζας απαιτώντας οι υλοποιήσ εις να παράγουν το ίδιο αποτέλεσ μα με τον αλγόριθμο. Ετσ ι, όταν ένα πρόγραμμα μεταφέρεται από ένα μηχάνημα σ ε άλλο, τα αποτελέσ ματα των βασ ικών πράξεων θα είναι τα ίδια bit προς bit αν και τα δύο μηχανήματα υποσ τηρίζουν το πρότυπο IEEE. Το γεγονός αυτό, απλοποιεί σ ημαντικά την φορητότητα των προγραμμάτων. 1.3 Αναπαράσ τασ η Πραγματικών Αριθμών Εχουν προταθεί κατά καιρούς αναπαρασ τάσ εις πραγματικών αριθμών αλλά μακράν αυτή η οποία χρησ ιμοποιείται ευρέως είναι η αναπαράσ τασ η κινητής υποδιασ τολής. Η αναπαρασ τάσ εις κινητής υποδιασ τολής αποτελούνται από μία βάσ η β (η οποία υποτίθεται ότι είναι άρτια) και μία ακρίβεια p. Για παράδειγμα, εάν β=10 και p=3 τότε ο αριθμός 0.1 αναπαρίσ ταται ως Εάν έχουμε β=2 και p=24, τότε ο δεκαδικός 0.1 δεν μπορεί να αναπαρασ ταθεί επακριβώς αλλά είναι προσ εγγισ τικά Γενικότερα, ένας αριθμός κινητής υποδιασ τολής αναπαρίσ ταται ως ±d.dd... dd β e, όπου d.dd... dd ονομάζεται mantissa και αποτελείται από p ψηφία. Για την ακρίβεια, η αναπαράσ τασ η ±d 0.d 1 d 2... d p 1 β e αναπαρισ τά τον αριθμό ± ( d 0 + d 1 β d p 1 β (p 1)) β e, (0 d i < β) (1) Ο όρος Αριθμός Κινητής Υποδιασ τολής χρησ ιμοποιείται όταν εννοούμε έναν πραγματικό αριθμό ο οποίος μπορεί να αναπαρασ ταθεί επακριβώς με την παραπάνω μορφή. Δύο επιπλέον παράμετροι οι οποίες σ χετίζονται με τις αναπαρασ τάσ εις κινητής υποδιασ τολής είναι ο μέγισ τος και ο ελάχισ τος επιτρεπτός εκθέτης e max και e min. Επειδή υπάρχουν β p πιθανές mantissa και e max e min + 1 πιθανοί εκθέτες, ένας αριθμός κινητής υποδιασ τολής κωδικοποιείται σ ε log 2 (e max e min + 1) + log 2 (β p ) + 1 bits, όπου ο όρος +1 είναι το bit προσ ήμου. Υπάρχουν δύο λόγοι για τους οποίους ένας πραγματικός αριθμός μπορεί να μην αναπαρίσ ταται ως αριθμός κινητής υποδιασ τολής. Η πιο πιθανή κατάσ τασ η περιγράφεται με το παράδειγμα το οποίο αναφέρθηκε παραπάνω με τον δεκαδικό 0.1. Παρόλο, που υπάρχει πεπερασ μένη δεκαδική αναπαράσ τασ η, σ το δυαδικό έχει μία άπειρη επαναλαμβανόμενη αναπαράσ τασ η. Ετσ ι όταν β=2, ο αριθμός 0.1 βρίσ κεται αυσ τηρά ανάμεσ α σ ε δύο αριθμούς κινητής υποδιασ τολής και δεν αναπαρίσ ταται από κανέναν από αυτούς. Μία λιγότερο σ υνηθισ μένη κατάσ τασ η είναι όταν ένας πραγματικός αριθμός είναι εκτός ορίων δηλαδή όταν η απόλυτη τιμή του είναι μεγαλύτερη από β β emax ή μικρότερο από 1.0 β emin. Οι αναπαρασ τάσ εις κινητής υποδιασ τολής δεν είναι απαραίτητα μοναδικές. Για παράδειγμα, οι και αναπαρισ τούν και οι δύο το 0.1. Εάν το πρώτο ψηφίο είναι μη μηδενικό (d 0 0 σ την εξίσ ωσ η (1) παραπάνω) τότε η αναπαράσ τασ η λέγεται κανονικοποιημένη. Ο αριθμός κινητής υποδιασ τολής είναι κανονικοποιημένος, ενώ ο δεν είναι. Οταν β=2, p=3, e min = 1 και e max = 2 υπάρχουν 16 κανονικοποιημένοι αριθμοί κινητής υποδιασ τολής όπως φαίνεται σ το Σχήμα 1.1. Σχήμα 1.1: Κανονικοποιημένοι αριθμοί όταν β=2, p=3, e min = 1 και e max = 2 Στο σ χήμα οι έντονες γραμμές σ τον άξονα αντιπροσ ωπεύουν τους αριθμούς σ τους οποίους η mantissa είναι Με την απαίτησ η η αναπαράσ τασ η κινητής υποδιασ τολής να είναι κανονικοποιημένη 2

14 καθισ τά αυτή την αναπαράσ τασ η μοναδική. Δυσ τυχώς, αυτός ο περιορισ μός καθισ τά αδύνατη την αναπαράσ τασ η του μηδέν. Ενας φυσ ικός τρόπος ώσ τε να αναπαρασ ταθεί το 0 είναι σ τη μορφή 1.0 β emin 1, καθώς αυτό διατηρεί την ιδιότητα ώσ τε η αριθμητική διάταξη των μη αρνητικών πραγματικών αριθμών να αντισ τοιχεί σ την λεξικογραφική διάταξη των αναπαρασ τάσ εων κινητής υποδιασ τολής. Οταν ο εκθέτης αποθηκεύεται σ ε ένα πεδίο αποτελούμενο από k bits αυτό σ ημαίνει ότι 2 k 1 τιμές μπορούν να χρησ ιμοποιηθούν ως πιθανοί εκθέτες καθώς ο ένας είναι δεσ μευμένος για την αναπαράσ τασ η του μηδενός. Σημειώνεται ότι το σ ύμβολο σ ε έναν αριθμό κινητής υποδιασ τολής είναι μέρος του σ υμβολισ μού και διαφορετικός από τον τελεσ τή του πολλαπλασ ιασ μού αριθμών κινητής υποδιασ τολής. Για παράδειγμα η έκφρασ η ( ) ( ) εμπεριέχει μόνο έναν πολλαπλασ ιασ μό κινητής υποδιασ τολής. 1.4 Σχετικό Σφάλμα και Ulps Το σ φάλμα σ τρογγυλοποίησ ης επειδή είναι εγγενές σ τους υπολογισ μούς κινητής υποδιασ τολής, είναι πολύ σ ημαντικό να υπάρχει ένας τρόπος ώσ τε να μπορεί να μετρηθεί το σ φάλμα. Θεωρώντας μία μορφή κινητής υποδιασ τολής με β=10 και p=3, αν το αποτέλεσ μα του υπολογισ μού κινητής υποδιασ τολής είναι και το αποτέλεσ μα όταν υπολογισ τεί σ ε άπειρη ακρίβεια είναι τότε το σ φάλμα είναι 2 μονάδες σ το τελευταίο ψηφίο. Ομοια, αν ο πραγματικός αριθμός αναπαρίσ ταται ως τότε το σ φάλμα είναι μονάδες σ το τελευταίο ψηφίο. Γενικότερα, αν ο αριθμός κινητής υποδιασ τολής d.dd... d β e χρησ ιμοποιείται ώσ τε να αναπαρασ τήσ ει τον ζ τότε το σ φάλμα είναι d.dd... d (z/β e ) β p 1 μονάδες σ την τελευταία θέσ η. Ο όρος ulps θα χρησ ιμοποιείται ως σ υντομογραφία του units in the last place-μονάδες σ την τελευταία θέσ η. Αν το αποτέλεσ μα των υπολογισ μών είναι αριθμός κινητής υποδιασ τολής κοντά σ το πραγματικό αποτέλεσ μα υπάρχει πιθανότητα να υπάρχει σ φάλμα ίσ ο με 0.5 ulp. Ενας άλλος τρόπος για την μέτρησ η της διαφοράς ανάμεσ α σ ε έναν αριθμό κινητής υποδιασ τολής και ένα πραγματικό αριθμό προσ εγγίζεται με το σ χετικό σ φάλμα, το οποίο είναι η διαφορά των δύο αριθμών διαιρούμενη με τον πραγματικό αριθμό. Για παράδειγμα, το σ χετικό σ φάλμα προσ εγγίζοντας το με το είναι / Με σ τόχο τον υπολογισ μό του σ χετικού λάθους το οποίο αντισ τοιχεί σ ε 0.5 ulp, παρατηρούμε ότι όταν ένας πραγματικός αριθμός προσ εγγίζεται από τον κοντινότερο πιθανό αριθμό κινητής υποδιασ τολής d.dd... d β e, το σ φάλμα μπορεί να είναι τόσ ο μεγάλο όσ ο β β e, όπου β είναι το ψηφίο β/2, υπάρχουν p μονάδες σ τη mantissa του αριθμού κινητής υποδιασ τολής και p ) ) μονάδες με 0 σ τη mantissa του σ φάλματος. Αυτό το σ φάλμα είναι β p β e. Από τότε που όλοι οι αριθμοί (( β 2 της μορφής d.dd... d β e έχουν το ίδιο απόλυτο σ φάλμα αλλά έχουν((( τιμές) οι οποίες ) βρίσ κονται ) ανά- β 2 β p β e /β e και σ το μεσ α σ το β e και β β e το σ χετικό σ φάλμα βρίσ κεται ανάμεσ α σ το ((( ) ) ) β 2 β p β e /β e+1 έτσ ι ώσ τε: 1 2 β p 1 2 ulp β 2 β p (2) Το σ χετικό λάθος το οποίο αντισ τοιχεί σ ε 0.5 ( ) ulp μπορεί να διαφέρει κατά ένα παράγοντα β. Αυτός ο παράγοντας ονομάζεται wobble. Θέτοντας ε= β β p με το μεγαλύτερο από τα όρια της εξίσ ωσ ης (2) 2 τότε όταν ο πραγματικός αριθμός σ τρογγυλοποιείται σ τον πλησ ιέσ τερο αριθμό κινητής υποδιασ τολής, το σ χετικό σ φάλμα φράσ σ εται πάντα από τον παράγονται ε ο οποίος λέγεται machine epsilon. Στο παραπάνω παράδειγμα, το σ χετικό λάθος ήταν Για την αποφυγή τόσ ο μικρών αριθμών, το σ χετικό σ φάλμα γράφεται σ αν ένας παράγοντας φορές το ε, ο οποίος σ ε αυτή την περίπτωσ η είναι ε= 0.1ɛ. ( β 2 ) β p = 5 (10) 3 = Συνεπώς το σ χετικό σ φάλμα μπορεί να εκφρασ τεί ως ɛ 3

15 Για να αποτυπωθεί η διαφορά μεταξύ ulps και σ χετικού σ φάλματος, θεωρούμε τον πραγματικό αριθμό x = 12, 35 ο οποίος προσ εγγίζεται από τον x = 1, Το σ φάλμα είναι 0.5 ulps και το σ χετικό σ φάλμα είναι 0.8ε. Στη σ υνέχεια θεωρούμαι τον υπολογισ μό 8 x. Η ακριβής τιμή είναι 8x = 98.8, ενώ η υπολογιζόμενη αξία είναι 8 x = Το σ φάλμα είναι τώρα 4.0 ulps αλλά το σ χετικό σ φάλμα εξακολουθεί να είναι 0.8ε. Το σ φάλμα που μετράται σ ε ulps, είναι 8 φορές μεγαλύτερο ακόμη και αν το σ χετικό σ φάλμα είναι το ίδιο. Σε γενικές γραμμές, όταν η βάσ η είναι β, ένα σ ταθερό σ χετικό σ φάλμα το οποίο εκφράζεται σ ε ulps μπορεί να ταλαντεύεται κατά ένα παράγοντα το πολύ μέχρι β. Αντισ τρόφως, όπως προκύπτει από την εξίσ ωσ η (2) σ ταθερό σ φάλμα της τάξης του 0.5 ulps έχει σ αν αποτέλεσ μα σ ε σ χετικό σ φάλμα το οποίο μπορεί να ταλαντεύεται κατά β. Ο πιο φυσ ικός τρόπος για τη μέτρησ η του σ φάλματος της σ τρογγυλοποίησ ης είναι σ το ulps. Για παράδειγμα, η σ τρογγυλοποίησ η σ το πλησ ιέσ τερο αριθμό κινητής υποδιασ τολής αντισ τοιχεί σ ε σ φάλμα μικρότερο ή ίσ ο με 0,5 ulp. Ωσ τόσ ο, κατά την ανάλυσ η του σ φάλματος σ τρογγυλοποίησ ης, ο οποίος προκαλείται από διάφορους τύπους, το σ χετικό σ φάλμα είναι ένα καλύτερο μέτρο. Δεδομένου ότι το ε μπορεί να υπερεκτιμήσ ει την επίδρασ η της σ τρογγυλοποίησ ης σ τον πλησ ιέσ τερο αριθμό κινητής υποδιασ τολής κατά ένα παράγοντα ταλάντευσ ης β, οι εκτιμήσ εις σ φάλματος από τύπους θα είναι αυσ τηρότερες σ ε μηχανήματα με μικρό β. Οταν μόνο η τάξη μεγέθους της σ τρογγυλοποίησ ης λάθους μας ενδιαφέρει, το ulps και το ε μπορούν να χρησ ιμοποιηθούν εναλλάξ, δεδομένου ότι διαφέρουν το πολύ κατά ένα σ υντελεσ τή β. Για παράδειγμα, αν ένας αριθμός κινητής υποδιασ τολής έχει σ φάλμα n ulps, αυτό σ ημαίνει ότι το πλήθος των ψηφίων τα οποία επηρεάζονται είναι log β (n). Από την άλλη εάν το σ χετικό σ φάλμα σ ε έναν υπολογισ μό είναι nε, τότε τα ψηφία τα οποία επηρεάζονται είναι περίπου log β (n) (3). 1.5 Guard Digits Μια μέθοδος υπολογισ μού της διαφοράς μεταξύ δύο αριθμών κινητής υποδιασ τολής είναι πρώτα να υπολογισ τεί η διαφορά τους ακριβώς και σ τη σ υνέχεια αυτή να σ τρογγυλοποιηθεί σ τον πλησ ιέσ τερο αριθμό κινητής υποδιασ τολής. Η αυτή η μέθοδος είναι πολύ ακριβή, εάν τα τελούμενα διαφέρουν σ ημαντικά σ το μέγεθος. Θεωρώντας, p=3, , τότε αυτό υπολογίζεται ως x= y= x-y= το οποίο σ τρογγυλοποιείται σ το Αντί να χρησ ιμοποιούνται όλες αυτές τις θέσ εις, το υλικό το οποίο σ χετίζεται με τις λειτουργίες κινητής υποδιασ τολής κανονικά κάνει πράξεις σ ε ένα σ ταθερό αριθμό ψηφίων. Αν υποθέσ ουμε ότι ο αριθμός των ψηφίων φυλάσ σ ονται είναι p και ότι όταν σ τον μικρότερο τελεσ τή εκτελεσ τεί μία πράξη δεξιάς ολίσ θησ ης, τα ψηφία του απλώς απορρίπτονται σ ε αντίθεσ η με σ τρογγυλοποίησ η. Σύμφωνα με το παραπάνω παράδειγμα η πράξη γίνεται x= y= x-y= Το αποτέλεσ μα είναι ακριβώς το ίδιο όπως και όταν η διαφορά είχε υπολογισ θεί επακριβώς και σ τη σ υνέχεια σ τρογγυλοποιήθηκε. Σε ένα άλλο παράδειγμα, αν p=3, 10.1, 9.93 τότε x= y= x-y= Βέβαια, η σ ωσ τή απάντησ η είναι 0,17 οπότε η διαφορά η οποία υπολογίσ τηκε απέχει κατά 30 ulps και 4

16 είναι λανθασ μένη σ ε κάθε ψηφίο. υπάρχει πιθανότητα να προκύψει. Για τον λόγο αυτό θα πρέπει να προσ διορίσ ουμε μεγάλο σ φάλμα Εχει υπολογισ τεί μαθηματικά ότι η μορφή κινητής υποδιασ τολής με παραμέτρους β και p και υπολογισ τική διαφορά p ψηφίων, το σ χετικό σ φάλμα του αποτελέσ ματος μπορεί να είναι το πολύ ίσ ο με β-1. Οταν β=2, το σ χετικό σ φάλμα μπορεί να είναι τόσ ο μεγάλο όσ ο το αποτέλεσ μα αλλά όταν β=10, μπορεί να είναι εννέα φορές μεγαλύτερο. Εναλλακτικά, όταν β=2, με την χρήσ η της εξίσ ωσ ης (3) από παραπάνω προκύπτει ότι ο αριθμός των ψηφίων τα οποία επηρεάζονται είναι log 2 ( 1 ε ) = log 2(2 p ) = p. Δηλαδή, το σ ύνολο των p ψηφίων του αποτελέσ ματος είναι λάθος. Ας υποθέσ ουμε τώρα ότι ένα επιπλέον ψηφίο προσ τίθεται για να αποφευχθεί αυτή η κατάσ τασ η(guard Digit). Δηλαδή, ο μικρότερος αριθμός περιορίζεται σ τα p+1 ψηφία σ τη σ υνέχεια το αποτέλεσ μα της αφαίρεσ ης σ τρογγυλοποιείται σ τα p ψηφία. Με την χρήσ η ενός Guard Digit, το προηγούμενο παράδειγμα γίνεται x= y= x-y= και το αποτέλεσ μα είναι το σ ωσ τό. Με ένα Guard Digit το σ χετικό σ φάλμα του αποτελέσ ματος μπορεί να είναι μεγαλύτερο από το ε. Για παράδειγμα αν x=110 και y=8,59 τότε x= y= x-y= Το αποτέλεσ μα σ τρογγυλοποιείται σ το 102 σ ε σ ύγκρισ η με τη σ ωσ τή απάντησ η των 101,41 δηλαδή ένα σ χετικό σ φάλμα της τάξης 0.006, το οποίο είναι μεγαλύτερο από ε = Σε γενικές γραμμές, το σ χετικό σ φάλμα του αποτελέσ ματος μπορεί να είναι μόνο ελαφρώς μεγαλύτερο από ε. Πιο σ υγκεκριμένα, Αν x και y είναι δύο αριθμοί, σ ε μορφή κινητής υποδιασ τολής με παραμέτρους β και p και εάν αφαίρεσ η γίνεται με p+1 ψηφία (δηλαδή με ένα Guard Digit), τότε το σ χετικό σ φάλμα της σ τρογγυλοποίησ ης σ το αποτέλεσ μα είναι μικρότερο από 2ε. 1.6 Ακύρωσ η Από το παραπάνω τμήμα μπορούμε να σ υνοψίσ ουμε ότι χωρίς Guard Digit, το σ χετικό σ φάλμα το οποίο σ υμβαίνει κατά την αφαίρεσ η δύο κοντινών ποσ οτήτων μπορεί να είναι πολύ μεγάλο. Με άλλα λόγια, το αποτέλεσ μα κάποιας έκφρασ ης η οποία περιέχει μια πράξη αφαίρεσ ης (είτε πράξη πρόσ θεσ ης ποσ οτήτων με αντίθετα πρόσ ημα) μπορεί να επιφέρει σ χετικό σ φάλμα τόσ ο μεγάλο, ώσ τε όλα τα ψηφία να μην έχουν νόημα. Αφαιρώντας κοντινές ποσ ότητες, τα πιο σ ημαντικά ψηφία σ τα τελούμενα ταιριάζουν και απαλείφουν το ένα το άλλο. Υπάρχουν δύο είδη ακύρωσ ης: η κατασ τροφική και η καλοήθης. Η Κατασ τροφική ακύρωσ η σ υμβαίνει όταν τα τελούμενα υπόκεινται σ ε σ φάλματα σ τρογγυλοποίησ ης. Για παράδειγμα, σ τον τύπο της δευτεροβάθμιας εξίσ ωσ ης υπάρχει η έκφρασ η b 2 4ac. Οι ποσ ότητες b 2 και 4ac υπόκεινται σ ε σ φάλματα σ την σ τρογγυλοποίησ η, δεδομένου ότι είναι τα αποτελέσ ματα των πολλαπλασ ιασ μών κινητής υποδιασ τολής. Ας υποθέσ ουμε ότι έχουν σ τρογγυλοποιηθεί σ το πλησ ιέσ τερο αριθμό κινητής υποδιασ τολής και έτσ ι έχουν ακρίβεια η οποία κυμαίνεται σ τα 0,5 ulp. Οταν αυτοί αφαιρούνται, η ακύρωσ η μπορεί να προκαλέσ ει την εξαφάνισ η πολλών από τα ακριβή ψηφία, αφήνοντας κυρίως ψηφία τα οποία έχουν επηρεασ τεί από σ φάλμα σ τρογγυλοποίησ ης. Ετσ ι, υπάρχει πιθανότητα η διαφορά να έχει σ φάλμα πολλών ulps. Για παράδειγμα, αν θεωρήσ ουμε b=3.34, a=1.22, και c=2.28 γνωρίζουμε ότι ακριβής τιμή της έκφρασ ης b 2 4ac είναι Αλλά το b 2 σ τρογγυλοποιείται σ το 11.2 και το 4ac σ τρογγυλοποιείται σ το 11.1, σ υνεπώς η τελική απάντησ η είναι 0.1 η οποία έχει σ φάλμα 70 ulps, παρόλο που το ισ ούται ακριβώς με 0.1. Η αφαίρεσ η εγγενώς δεν παράγει κάποιο σ φάλμα, αλλά το σ φάλμα δημιουργείται σ τους προγενέσ τερους πολλαπλασ ιασ μούς. 5

17 Η Καλοήθης ακύρωσ η σ υμβαίνει κατά την αφαίρεσ η γνωσ τών επακριβώς ποσ οτήτων. Αν x και y δεν έχουν κανένα σ φάλμα σ τρογγυλοποίησ ης τότε, σ ύμφωνα με παραπάνω εάν η αφαίρεσ η γίνει με ένα Guard Digit, η διαφορά έχει x y ένα πολύ μικρό σ χετικό σ φάλμα (λιγότερο από 2ε). Μπορούμε να σ υνοψίσ ουμε, λέγοντας ότι ένα Guard Digit εγγυάται ακρίβεια όταν αφαιρούνται ποσ ότητες οι οποίες βρίσ κονται σ ε κοντινή απόσ τασ η. Μερικές φορές, ένας τύπος ο οποίος δίνει ανακριβή αποτελέσ ματα ξαναγράφεται ώσ τε να έχει πολύ μεγαλύτερη αριθμητική ακρίβεια χρησ ιμοποιώντας την καλοήθης ακύρωσ η. Ωσ τόσ ο, η διαδικασ ία αυτή λειτουργεί μόνο εάν η αφαίρεσ η γίνεται χρησ ιμοποιώντας Guard Digit. Η τιμή ενός Guard Digit δεν είναι υψηλή, διότι απαιτεί απλώς την κατασ κευή αθροισ τή μεγαλύτερου κατά ένα bit. Σε έναν 54-bit αθροισ τή διπλής ακρίβειας, το επιπλέον κόσ τος είναι μικρότερο του 2%. Στην τιμή αυτή, αποκτούμε την ικανότητα να εκτελούνται πολλοί απαιτητικοί αλγόριθμοι, όπως η έκφρασ η ln(1 + x). Αν και οι περισ σ ότεροι σ ύγχρονοι υπολογισ τές διαθέτουν Guard Digit, υπάρχουν μερικοί όπως τα σ υσ τήματα Cray οι οποίοι δεν διαθέτουν. 1.7 Πράξεις Επακριβούς Στρογγυλοποίησ ης Οταν εκτελούνται πράξεις κινητής υποδιασ τολής με Guard Digit, δεν είναι τόσ ο ακριβείς όσ ο αν αυτές υπολογισ τούν αρχικά επακριβώς και σ τη σ υνέχεια σ τρογγυλοποιηθούν σ τον πλησ ιέσ τερο αριθμό κινητής υποδιασ τολής. Οι πράξεις οι οποίες εκτελούνται με αυτόν τον τρόπο ονομάζονται επακριβώς σ τρογγυλοποιημένες ή ορθώς σ τρογγυλοποιημένες. Οπως είδαμε σ την παράγραφο 1.5 ένα Guard Digit δεν δίνει πάντα ακριβής σ τρογγυλοποίησ η των αποτελεσ μάτων. Είδαμε παραδείγματα τα οποία απαιτούν Guard Digit προκειμένου να δώσ ουν σ ωσ τά αποτελέσ ματα. Πλέον, θα εξετάσ ουμε παραδείγματα αλγορίθμων τα οποία απαιτούν σ τρογγυλοποίησ η επακριβώς. Μέχρι σ τιγμής, ο ορισ μός της σ τρογγυλοποίησ ης δεν έχει δοθεί. Η σ τρογγυλοποίησ η είναι απλή, με εξαίρεσ η τον τρόπο σ τρογγυλοποίησ ης σ ε περιπτώσ εις οι οποίες σ υμβαίνουν σ την μέσ η. Για παράδειγμα, θα πρέπει το 12,5 να σ τρογγυλοποιείται σ το 12 ή σ το 13 Μία άποψη είναι να διαιρέσ ουμε τα 10 ψηφία σ τη μέσ η, έχοντας {0, 1, 2, 3, 4} σ τρογγυλοποιούμε προς τα κάτω, αντίθετα έχοντας {5, 6, 7, 8, 9} σ τρογγυλοποιούμε προς τα πάνω, έτσ ι το 12,5 σ τρογγυλοποιείται σ το 13. Αυτό είναι ο τρόπος σ τρογγυλοποίησ ης σ τους υπολογισ τές VAX. Μια άλλη άποψη λέει ότι, εφόσ ον οι αριθμοί οι οποίοι λήγουν σ το 5 είναι ανάμεσ α σ ε δύο πιθανές σ τρογγυλοποιήσ εις, θα πρέπει να σ τρογγυλοποιούν προς τα κάτω κάποιες φορές και προς τα επάνω κάποιες άλλες. Ενας τρόπος ώσ τε να επιτυγχάνεται αυτού του είδους η σ τρογγυλοποίησ η, απαιτεί το αποτέλεσ μα να έχει το λιγότερο σ ημαντικό ψηφίο του άρτιο. Ετσ ι, 12,5 σ τρογγυλοποιείται σ το 12 και όχι σ το 13 διότι το 2 είναι άρτιος. Από αυτές τις δύο μεθόδους, η καλύτερη είναι η σ τρογγυλοποίησ η σ ε άρτιο. Αυτό δικαιολογείται από το γεγονός ότι αν θεωρήσ ουμε x και y αριθμούς κινητής υποδιασ τολής και ορίσ ουμε x 0 = x, x 1 = (x 0 y) y,..., x n = (x n 1 y) y. Εάν και σ τρογγυλοποιούνται επακριβώς χρησ ιμοποιώντας σ τρογγυλοποίησ η σ ε άρτιο, τότε είτε x n = x για όλα τα ν, είτε x n = x 1 για όλα τα n 1. Μία εφαρμογή της επακριβούς σ τρογγυλοποίησ ης εμφανίζεται σ την αριθμητική πολλαπλής ακρίβειας. Υπάρχουν δύο βασ ικές προσ εγγίσ εις για μεγαλύτερη ακρίβεια. Η μία προσ έγγισ η, αναπαρισ τά αριθμούς κινητής υποδιασ τολής με την χρήσ ης πολύ μεγάλης mantissa, η οποία είναι αποθηκευμένη σ ε ένα διάνυσ μα από λέξεις, και έχει κωδικοποιημένες ρουτίνες ώσ τε να χειρίζεται αυτούς τους αριθμούς σ ε γλώσ σ α assembly. Η δεύτερη προσ έγγισ η αναπαρισ τά τους αριθμούς κινητής υποδιασ τολής υψηλής ακρίβειας ως ένα διάνυσ μα απλών αριθμών κινητής υποδιασ τολής, προσ θέτοντας τα σ τοιχεία του διανύσ ματος με άπειρη ακρίβεια υποκαθισ τώντας τον υψηλής ακρίβειας αριθμό κινητής υποδιασ τολής. Αυτή η δεύτερη προσ έγγισ η χρησ ιμοποιείται και το πλεονέκτημα της χρήσ ης ενός διανύσ ματος με αριθμούς κινητής υ- 6

18 ποδιασ τολής είναι ότι μπορεί να υπάρξει φορητότητα σ την κωδικοποίησ η σ ε γλώσ σ α υψηλού επιπέδου απαιτώντας όμως αριθμητική επακριβούς σ τρογγυλοποίησ ης. Πλέον, γνωρίζουμε εάν έχει σ ημασ ία οι βασ ικές αριθμητικές πράξεις προσ θέτουν λίγο περισ σ ότερο σ φάλμα σ τρογγυλοποίησ ης από όσ ο χρειάζεται και έχει σ ημασ ία, γιατί οι ακριβείς βασ ικές πράξεις μας δίνουν τη δυνατότητα να αποδείξουμε ότι οι τύποι είναι σ ωσ τοί, υπό την έννοια ότι έχουν ένα μικρό σ χετικό σ φάλμα. 1.8 Το Πρότυπο IEEE Εισ αγωγή Υπάρχουν δύο διαφορετικά πρότυπα IEEE για υπολογισ μούς κινητής υποδιασ τολής. Το IEEE 754 είναι ένα δυαδικό πρότυπο το οποίο απαιτεί β=2, p=24 για μονή ακρίβεια και p=53 για διπλή ακρίβεια. Επίσ ης καθορίζει την ακριβή διάταξη των bits σ την μονή και τη διπλή ακρίβεια. Το IEEE 854 επιτρέπει είτε β=2 ή β=10 και σ ε αντίθεσ η με 754, δεν διευκρινίζει πώς οι αριθμοί κινητής υποδιασ τολής κωδικοποιούνται σ ε bits. Δεν απαιτεί σ υγκεκριμένη τιμή για το p, αλλά αντ άυτού ορίζει περιορισ μούς για τις επιτρεπόμενες τιμές του p για τη μονή και τη διπλή ακρίβεια. Ο όρος πρότυπο IEEE θα χρησ ιμοποιηθούν όταν μιλούμε για ιδιότητες οι οποίες είναι κοινές σ τα δύο πρότυπα. Αυτή η ενότητα αναλύει το πρότυπο IEEE και κάθε μέρος αυτής, επεξηγεί κάθε κομμάτι του προτύπου και τους λόγους για τους οποίους σ υμπεριλήφθηκε. Στόχος του παρόντος κειμένου δεν είναι να υποσ τηρίξει ότι το πρότυπο IEEE ως το καλύτερο δυνατό πρότυπο κινητής υποδιασ τολής αλλά να αποδεχθεί το πρότυπο αυτό ως έχει και να παρέχει μια εισ αγωγή σ τη χρήσ η του Μορφή και Πράξεις Βάσ η Είναι σ αφές γιατί το IEEE 854 επιτρέπει β=10. Η βάσ η δέκα είναι το πώς οι άνθρωποι ανταλλάσ σ ουν και να σ κέφτονται σ χετικά με τους αριθμούς. Χρησ ιμοποιώντας β=10 είναι κατάλληλο ιδιαίτερα για αριθμομηχανές, όπου το αποτέλεσ μα κάθε πράξης εμφανίζεται σ ε δεκαδική μορφή. Υπάρχουν αρκετοί λόγοι για τους οποίους το IEEE 854 προβλέπει ότι αν η βάσ η δεν είναι 10, πρέπει να 2. Οπως είδαμε παραπάνω, αναφέρθηκε ένας λόγος σ ύμφωνα με τον οποίο τα αποτελέσ ματα των αναλύσ εων σ φάλματος είναι πολύ αυσ τηρότερα όταν η βάσ η είναι 2. Ο λόγος είναι ότι, ένα σ φάλμα σ τρογγυλοποίησ ης των 0,5 ulp ταλαντεύεται κατά ένα παράγοντα β όταν υπολογίζεται ως σ χετικό σ φάλμα και αναλύσ εις σ φάλματος σ χεδόν πάντα είναι απλούσ τερες όταν βασ ίζονται σ το σ χετικό σ φάλμα. Μία σ χετική αιτία έχει να κάνει με την πραγματική ακρίβεια για μεγάλες βάσ εις. Σκεφτείτε β=16, p=1 σ ε σ ύγκρισ η με το β=2, p=4 και τα δύο σ υσ τήματα έχουν 4 bits mantissa. Ας θεωρήσ ουμε την πράξη 15/8. Οταν β=2, το 15 αναπαρίσ ταται ως , και 15/8 ως Ετσ ι, 15/8 είναι ακριβές. Ωσ τόσ ο, όταν β=16, το 15 αναπαρίσ ταται ως F 16 0, όπου Φ είναι το δεκαεξαδικό ψηφίο 15 και το 15/8 αναπαρίσ ταται ως , το οποίο έχει μόνο ένα bit σ ωσ τό. Γενικότερα, η βάσ η 16 μπορεί να χάσ ει έως και 3 bits, με αποτέλεσ μα η ακρίβεια των p δεκαεξαδικών ψηφίων να έχει μια αποτελεσ ματική ακρίβεια τόσ ο χαμηλή όσ ο 4p-3 αντί για 4p δυαδικά bits. Δεδομένων των προβλημάτων για μεγάλες τιμές του β, η IBM επέλεξε για τους System/370 να έχει β=16 για δύο πιθανές αιτίες. Η πρώτη είναι το αυξημένο εύρος του εκθέτη. Η μονή ακρίβεια σ το System/370 είχε β=16, p=6 για το λόγο αυτό η mantissa χρειάζεται 24 bits. Δεδομένου ότι αυτό έπρεπε να χωρέσ ει σ ε 32 bits, αυτό άφηνε 7 bits για τον εκθέτη και ένα bit για το πρόσ ημο. Ετσ ι, το εύρος των αριθμών οι οποίοι 7

19 μπορούσ αν να αναπαρασ ταθούν κυμαίνεται αριθμών από περίπου έως περίπου =2 28. Αντίσ τοιχα, για παρόμοιο εύρος όταν β=2 απαιτούνται 9 bits σ τον εκθέτη, αφήνοντας μόνο 22 bits για την mantissa. Ωσ τόσ ο, επισ ημάνθηκε ότι, όταν β=16, p=6 η πραγματική ακρίβεια είναι τόσ ο χαμηλή όσ ο 4p-3=21 bits. Ακόμα χειρότερα, όταν β=2, είναι δυνατόν να κερδηθεί ένα επιπλέον bit έτσ ι ώσ τε το σ υγκεκριμένο μηχάνημα να έχει 23 bits ακρίβειας σ ε σ ύγκρισ η με ένα εύρος από 21 έως 24 bits ακρίβειας του μηχανήματος με β=16. Μια άλλη πιθανή αιτία για την επιλογή του β=16 σ χετίζεται με την ολίσ θησ η (shifting). Κατά την πρόσ θεσ η δύο αριθμών κινητής υποδιασ τολής, αν εκθέτες τους διαφέρουν, μία από τις mantissa θα πρέπει να ολισ θήσ ει ώσ τε να ταυτισ τούν οι υποδιασ τολές, επιβραδύνοντας την πράξη. Στο σ ύσ τημα με β=16, p=1, όλοι οι αριθμοί μεταξύ του 1 και του( 15) έχουν τον ίδιο εκθέτη και έτσ ι δεν απαιτείται 15 ολίσ θησ η κατά την πρόσ θεσ η οποιουδήποτε από τα = 105 δυνατά ζεύγη διακριτών αριθμών από 2 αυτό το σ ύνολο. Ωσ τόσ ο, σ το σ ύσ τημα β=2, p=4, οι αριθμοί αυτοί έχουν εκθέτες που κυμαίνονται από 0 έως 3 και απαιτείται μετατόπισ η για τα 70 από τα 105 ζευγάρια. Στα περισ σ ότερα σ ύγχρονα hardware, η απόδοσ η η οποία αποκτήθηκε αποφεύγοντας την ολίσ θησ η σ ε ένα υποσ ύνολο από τελούμενα είναι αμελητέα, και έτσ ι η μικρή ταλάντευσ η όταν το β=2 την καθισ τά προτιμότερη βάσ η. Ενα άλλο πλεονέκτημα όταν β=2 είναι η ύπαρξη ενός τρόπου ώσ τε να κερδηθεί ένα επιπλέον signicant bit. δεδομένου ότι οι αριθμοί κινητής υποδιασ τολής είναι πάντα κανονικοποιημένοι, το πιο σ ημαντικό bit της mantissa είναι πάντα 1 και δεν υπάρχει λόγος να χαθεί ένα bit για αποθήκευσ η αναπαρισ τώντας το. Οι μορφές οι οποίες χρησ ιμοποιούν αυτή την τεχνική, χρησ ιμοποιούν το κρυφό bit. Εχει ήδη επισ ημανθεί ότι απαιτούνταν μια ειδική σ ύμβασ η για το 0. Η μέθοδος η οποία προτάθηκε χρησ ιμοποιούσ ε έναν εκθέτη e min 1 και μία μηδενική mantissa. Η μονή ακρίβεια σ το IEEE 754 αναπαρίσ ταται από 32 bits με 1 bit για το πρόσ ημο, 8 bits για τον εκθέτη, και 23 bits για την mantissa. Ωσ τόσ ο, χρησ ιμοποιεί ένα κρυφό bit, έτσ ι η mantissa είναι 24 bits (p=24), παρόλο που κωδικοποιείται χρησ ιμοποιώντας μόνο 23 bits. Ακρίβεια Το πρότυπο IEEE καθορίζει τέσ σ ερις διαφορετικούς τύπους ακρίβειας: μονή, διπλή, εκτεταμένη μονή και εκτεταμένη διπλή. Στο πρότυπο 754, η μονή και η διπλή ακρίβεια αντισ τοιχεί κατά προσ έγγισ η σ ε οτιδήποτε παρέχει το υλικό το οποίο σ χετίζεται με πράξεις κινητής υποδιασ τολής. Η μονή ακρίβεια δεσ μεύει μία λέξη των 32 bit και η διπλή ακρίβεια δύο διαδοχικές λέξεις των 32 bit. Η εκτεταμένη ακρίβεια είναι μια μορφή η οποία προσ φέρει μια μικρή επιπλέον ακρίβεια και εύρος σ τον εκθέτη. Παράμετροι Μορφή Μονή Ακρίβεια Εκτεταμένη Μονή Ακρίβεια Διπλή Ακρίβεια Εκτεταμένη Διπλή Ακρίβεια p 24 bits 32 bits 53 bit 64 e max > e min Μήκος εκθέτη σ ε bits Μήκος μορφής σ ε bits Πίνακας 1.1: Παράμετροι μορφών σ το IEEE 754 Το πρότυπο IEEE προσ διορίζει μόνο το κατώτερο όριο για το πόσ α επιπλέον bits θα παρέχει η εκτεταμένη ακρίβεια. Η ελάχισ τη επιτρεπόμενη μορφή της διπλής εκτεταμένης μορφής αναφέρεται μερικές φορές ως μορφή των 80 bit, αν και ο πίνακας δείχνει χρησ ιμοποιεί 79 bits. Ο λόγος είναι ότι 8

20 η κατασ κευή του υλικού της εκτεταμένης ακρίβειας σ υνήθως δεν χρησ ιμοποιεί το κρυφό bit και έτσ ι χρησ ιμοποιούνται 80 αντί για 79 bits. Ενα κίνητρο για εκτεταμένη ακρίβεια προέρχεται από τις αριθμομηχανές η οποίες εμφανίζουν 10 ψηφία, αλλά χρησ ιμοποιούν 13 ψηφία εσ ωτερικά. Με την εμφάνισ η μόνο 10 από τα 13 ψηφία, η α- ριθμομηχανή εμφανίζεται σ το χρήσ τη ως ένα μαύρο κουτί όταν υπολογίζει εκθετικές σ υναρτήσ εις, σ υνημίτονα, κλπ. με 10 ψηφία για ακρίβεια. Στην αριθμομηχανή για τον υπολογισ μό τέτοιου είδους σ υναρτήσ εων με ακρίβεια 10 ψηφία με εύλογη αποδοτικότητα, χρειάζεται λίγα επιπλέον ψηφία. Η εκτεταμένη ακρίβεια σ το πρότυπο IEEE εξυπηρετεί μια παρόμοια λειτουργία. Δίνει τη δυνατότητα σ ε βιβλιοθήκες υπολογίζουν αποτελεσ ματικά ποσ ότητες με ακρίβεια περίπου 0,5 ulp με μονή ή διπλή ακρίβεια, δίνοντας σ τον χρήσ τη αυτών των βιβλιοθηκών την εγγύησ η, ότι κάθε πρωτογενής λειτουργία, είτε ένας απλός πολλαπλασ ιασ μός είτε η κλήσ η μίας περίπλοκης σ υνάρτησ ης, θα επισ τρέφει μία τιμή με ακρίβεια περίπου 0,5 ulp. Ωσ τόσ ο, η χρήσ η της εκτεταμένης ακρίβειας, είναι σ ημαντικό να είναι κρυφή από τον χρήσ τη. Για παράδειγμα, σ ε μία αριθμομηχανή, εάν η εσ ωτερική αναπαράσ τασ η της εμφανιζόμενης τιμής δεν έχει σ τρογγυλοποιηθεί με την ίδια ακρίβεια σ την οθόνη, τότε το αποτέλεσ μα των περαιτέρω πράξεων θα εξαρτάται από τα κρυφά ψηφία και εμφανίζονται χωρίς νόημα σ τον χρήσ τη. Με σ κοπό την περαιτέρω ανάλυσ η της εκτεταμένης ακρίβειας, θεωρούμε το πρόβλημα της μετατροπής ενός αριθμού IEEE 754 μονής ακρίβειας σ ε δεκαδικό. Ιδανικά, οι αριθμοί μονής ακρίβειας εμφανίζονται με αρκετά ψηφία, έτσ ι ώσ τε όταν μετατρέψουμε ξανά τον δεκαδικό αριθμό, ο αριθμός μονής ακρίβειας να ανακτηθεί. Εχει αποδειχθεί ότι το εννέα δεκαδικά ψηφία είναι αρκετά ώσ τε να ανακτήσ ουν ένα μονής ακρίβειας δυαδικό αριθμό. Κατά τη μετατροπή ενός δεκαδικού αριθμό πίσ ω σ τη δυαδική αναπαράσ τασ η του, ένα σ φάλμα σ τη σ τρογγυλοποίησ ης της τάξεως 1 ulp είναι μοιραίο, διότι θα δώσ ει λανθασ μένη απάντησ η. Μια τέτοια περίπτωσ η είναι ιδανική για ένα αποτελεσ ματικό αλγόριθμο με την χρήσ η την εκτεταμένης ακρίβειας. Οταν έχουμε αριθμό εκτεταμένης μονής ακρίβειας διαθέσ ιμο υπάρχει μια πολύ απλή μέθοδος μετατρέποντας το δεκαδικό αριθμό σ ε δυαδικό μονής ακρίβειας. Εκθέτης Δεδομένου ότι ο εκθέτης μπορεί να είναι θετικός ή αρνητικός, πρέπει να επιλέξουμε μία μέθοδο η οποία να αναπαρισ τά το πρόσ ημο του. Δύο σ υνήθεις μεθόδους οι οποίοι αναπαρισ τούν προσ ημασ μένους αριθμούς είναι το πρόσ ημο μέτρο και το σ υμπλήρωμα ως προς δύο. Το σ ύσ τημα πρόσ ημο μέτρο χρησ ιμοποιείται σ το πρόσ ημο της mantissa σ τις αναπαρασ τάσ εις του προτύπου IEEE: το ένα bit χρησ ιμοποιείται για πρόσ ημο και τα υπόλοιπα bits αντιπροσ ωπεύουν το μέτρο του αριθμού. Το σ υμπλήρωμα ως προς δύο χρησ ιμοποιείται σ υχνά σ την αριθμητική ακέραιων. Σε αυτό το σ χέδιο, ένας αριθμός σ το διάσ τημα [ 2 p 1, 2 p 1 1 ] αναπαρίσ ταται από το μικρότερο μη αρνητικό αριθμό ο οποίος ταιριάζει σ ε αυτόν modulo 2 p. Το δυαδικό πρότυπο IEEE δεν χρησ ιμοποιεί καμία από αυτές τις μεθόδους ώσ τε να αναπαρασ τήσ ει τον εκθέτη, αλλά χρησ ιμοποιεί μια biased αναπαράσ τασ η. Στην περίπτωσ η της μονής ακρίβειας, όπου ο εκθέτης είναι αποθηκευμένα σ ε 8 bits, το bias είναι 127(για διπλή ακρίβεια είναι 1023). Αυτό σ ημαίνει είναι ότι εάν κ είναι η τιμή σ τα bits του εκθέτη αυτό ερμηνεύεται ως απροσ ήμασ τος ακέραιος, τότε ο εκθέτης του αριθμού κινητής υποδιασ τολής είναι κ-127. Αυτό ονομάζεται σ υχνά unbiased εκθέτης ώσ τε να ξεχωρίσ ει από τον biased εκθέτη κ. Σύμφωνα με τον Πίνακα 1.1, οι αριθμοί μονής ακρίβειας έχουν e max = 127 και e min = 126. Ο λόγος για τον οποίο ισ χύει ότι e min < e max είναι επειδή το αντίσ τροφο του μικρότερου αριθμού 1 ( ) δεν θα υπερχειλίσ ει. Αν και είναι αλήθεια ότι το αντίσ τροφο του μεγαλύτερου αριθμού θα emin 2 υποχειλήσ ει, η υποχείλισ η είναι σ υνήθως λιγότερο σ οβαρή από την υπερχείλισ η. Στο πρότυπο IEEE 9

21 μονής ακρίβεια, αυτό σ ημαίνει ότι το εύρος των biased εκθετών είναι μεταξύ e min 1 = 127 και e max + 1 = 128, ενώ οι unbiased εκθέτες έχουν εύρος μεταξύ του 0 και του 255, οι οποίοι είναι οι μη αρνητικοί αριθμοί οι οποίοι αναπαρίσ τανται με 8 bits. Πράξεις Στο πρότυπο IEEE απαιτείται ότι το αποτέλεσ μα της πρόσ θεσ ης, της αφαίρεσ ης, του πολλαπλασ ιασ μού και της διαίρεσ ης είναι σ τρογγυλοποιημένο επακριβώς. Δηλαδή, το αποτέλεσ μα πρέπει να υπολογίζεται ακριβώς και σ τη σ υνέχεια να σ τρογγυλοποιείται σ το πλησ ιέσ τερο αριθμό κινητής υποδιασ τολής χρησ ιμοποιώντας σ τρογγυλοποίησ η σ ε άρτιο. Το κομμάτι αυτό εισ άγει Guard Digits, τα οποία παρέχουν έναν πρακτικό τρόπο υπολογισ μού διαφορών εξασ φαλίζοντας παράλληλα ότι μικρό σ χετικό σ φάλμα. Ωσ τόσ ο, οι υπολογισ τές με ένα μόνο Guard Digit δεν δίνουν πάντα το ίδιο αποτέλεσ μα όταν υπολογίζουν το ακριβές αποτέλεσ μα και σ τη σ υνέχεια σ τρογγυλοποιούν. Με την εισ αγωγή ενός δεύτερου Guard Digit και ενός τρίτου sticky bit, οι διαφορές υπολογίζονται με ελάχισ το περισ σ ότερο κόσ τος από ότι με απλό Guard Digit, αλλά το αποτέλεσ μα είναι το ίδιο εάν η διαφορά υπολογίσ τηκε ακριβώς και σ τη σ υνέχεια σ τρογγυλοποιήθηκε. Συνεπώς, το πρότυπο μπορεί να εφαρμοσ τεί αποτελεσ ματικά. Ενας λόγος για τον πλήρη προσ διορισ μό των αποτελεσ μάτων των αριθμητικών πράξεων είναι η βελτίωσ η της δυνατότητας μεταφοράς του λογισ μικού. Οταν ένα πρόγραμμα μεταφέρεται ανάμεσ α σ ε δύο μηχανές οι οποίες υποσ τηρίζουν το πρότυπο IEEE τότε, αν υπάρχει ενδιάμεσ ο αποτέλεσ μα το οποίο διαφέρει, πρέπει να οφείλεται σ ε σ φάλματα λογισ μικού και όχι από διαφορές σ την αριθμητική. Ενα άλλο πλεονέκτημα του λεπτομερών προδιαγραφών είναι ότι καθισ τά ευκολότερη την μελέτη σ χετικά με την αριθμητική κινητής υποδιασ τολής. Οι αποδείξεις σ την αριθμητική κινητής υποδιασ τολής είναι αρκετά δύσ κολες και χωρίς να χρειάζεται κάποιος να ασ χοληθεί με πλήθος περιπτώσ εων οι οποίες προκύπτουν από τις πολλαπλές μορφές της αριθμητικής. Ακριβώς όπως τα προγράμματά ακέραιων σ τα οποία μπορεί να αποδειχθεί η ορθότητα τους, έτσ ι μπορεί να γίνει και σ τα προγράμματα με πράξεις κινητής υποδιασ τολής. Αν και αυτό το οποίο τελικά αποδεικνύεται σ ε αυτή την περίπτωσ η είναι αν το σ φάλμα σ τη σ τρογγυλοποίησ η του αποτελέσ ματος ικανοποιεί σ υγκεκριμένους περιορισ μούς. Οταν για ένα αλγόριθμο έχει αποδειχθεί η ορθότητα του για την αριθμητική του προτύπου IEEE, θα λειτουργεί σ ωσ τά σ ε οποιοδήποτε μηχάνημα υποσ τηρίζει το πρότυπο IEEE. Ο Brown πρότεινε αξιωμάτων σ χετικά με την αριθμητική κινητής υποδιασ τολής τα οποία περιλαμβάνουν την πλειοψηφία του υπάρχοντος υλικού. Ωσ τόσ ο, οι αποδείξεις αυτές δεν πισ τοποιούν αλγορίθμους οι οποίοι απαιτούν χαρακτηρισ τικά τα οποία δεν υπάρχουν σ ε όλο το υλικό. Επιπλέον, τα αξιώματα του Brown είναι πιο σ ύνθετα από τον απλό ορισ μό πράξεων οι οποίοι εκτελούνται με ακρίβεια και σ τη σ υνέχεια σ τρογγυλοποιούνται. Συνεπώς, οι αποδείξεις θεωρημάτων από τα αξιώματα του Brown είναι σ υνήθως πιο δύσ κολες από ότι να αποδειχθούν ν υποθέτοντας ότι οι πράξεις σ τρογγυλοποιημένες επακριβώς. Δεν υπάρχει πλήρης σ υμφωνία σ χετικά με τις πράξεις κινητής υποδιασ τολής τις οποίες το πρότυπο πρέπει να καλύπτει. Εκτός από τις βασ ικές λειτουργίες +,,, / το πρότυπο IEEE προσ διορίζει επίσ ης ότι η τετραγωνική ρίζα, το υπόλοιπο και η μετατροπή μεταξύ ακέραιων αριθμών και αριθμών κινητής υποδιασ τολής είναι σ ωσ τά σ τρογγυλοποιημένες. Επιπλέον, υπάρχει η απαίτησ η ότι η μετατροπή μεταξύ της εσ ωτερικής αναπαράσ τασ ης και των δεκαδικών να είναι σ ωσ τά σ τρογγυλοποιημένης με εξαίρεσ η τις πολύ μεγάλες τιμές. Οι Kulisch και Miranker πρότειναν την προσ θήκη του εσ ωτερικού γινομένου μεταξύ των πράξεων οι οποίες έχουν καθορισ τεί. Επισ ημαίνουν ότι όταν το εσ ωτερικό γινόμενο υπολογίζεται με βάσ η την αριθμητική του προτύπου IEEE, η τελική απάντησ η ενδέχεται να είναι αρκετά λανθασ μένη. Για παράδειγμα, τα αθροίσ ματα τα οποία είναι ειδική περίπτωσ η εσ ωτερικών γινομένων και το άθροισ μα 10

22 (( ) 10 30) ισ ούται ακριβώς με 10 30, αλλά σ ε ένα μηχάνημα το οποίο υποσ τηρίζει την αριθμητική του προτύπου IEEE αποτέλεσ μα το οποίο υπολογίζεται ισ ούται με Υπάρχει η δυνατότητα να υπολογισ τούν εσ ωτερικά γινόμενα με ακρίβεια 1 ulp με λιγότερο υλικό από όσ ο χρειάζεται για την κατασ κευή ενός γρήγορου πολλαπλασ ιασ τή. Ολες οι πράξεις οι οποίες αναφέρονται σ το πρότυπο απαιτείται να είναι σ τρογγυλοποιημένες επακριβώς, εκτός από τη μετατροπή μεταξύ δεκαδικών και δυαδικών. Ο λόγος είναι ότι υπάρχουν αποδοτικοί αλγόριθμοι επακριβούς σ τρογγυλοποίησ ης για το σ ύνολο των πράξεων, εκτός από τις μετατροπές. Για τις μετατροπές, ο πιο γνωσ τός αποδοτικός αλγόριθμος παράγει αποτελέσ ματα τα οποία είναι ελαφρώς χειρότερα από ότι σ τρογγυλοποιημένα επακριβώς. Στο πρότυπο IEEE δεν απαιτείται οι υπερβατικές σ υναρτήσ εις να σ τρογγυλοποιούνται ακριβώς ε- ξαιτίας του table maker's dilemma. Επεξηγηματικά, αν υποθέσ ουμε ότι δημιουργούμε έναν πίνακα της εκθετικής σ υνάρτησ ης σ ε τέσ σ ερα σ ημεία. Στη σ υνέχεια, e = τότε το αποτέλεσ μα πρέπει να σ τρογγυλοποιηθεί σ το ή Αν το e υπολογισ τεί με περισ σ ότερη ακρίβεια, γίνεται 5, Δεδομένου ότι, η εκθετική σ υνάρτησ η είναι υπερβατική, η αύξησ η της ακρίβειας σ υνεχίζεται αυθαίρετα πριν διακρίνουμε αν e = ddd ή e = ddd. Ετσ ι, δεν είναι πρακτικός ο προσ διορισ μός της ακρίβειας των υπερβατικών σ υναρτήσ εων και είναι το ίδιο εάν υπολογίζονται με άπειρη ακρίβεια και μετά σ τρογγυλοποιούνται. Μια άλλη προσ έγγισ η θα ήταν να προσ εγγισ τούν οι υπερβατικές σ υναρτήσ εις αλγοριθμικά. Αλλά δεν φαίνεται να υπάρχει ένας ενιαίος αλγόριθμος ο οποίος να λειτουργεί καλά σ ε όλες τις αρχιτεκτονικές του υλικού. Η Ορθολογική προσ έγγισ η, το CORDIC και μεγάλοι πίνακες είναι τρεις διαφορετικές τεχνικές για τον υπολογισ μό των υπερβατικών σ υναρτήσ εων σ ε σ ύγχρονα μηχανήματα. Κάθε μία είναι κατάλληλη για διαφορετική κατηγορία υλικού και επί του παρόντος δεν υπάρχει ενιαίος αλγόριθμος ο οποίος να λειτουργεί αποδεκτά σ το ευρύ φάσ μα του παρόντος υλικού Ειδικές Ποσ ότητες Σε ορισ μένο υλικό κινητής υποδιασ τολής, κάθε κάθε σ υσ τάδα από bits αντιπροσ ωπεύει ένα έγκυρο αριθμό κινητής υποδιασ τολής. Το IBM System/370 είναι ένα σ χετικό παράδειγμα. Από την άλλη, ο VAX αντισ τοιχεί κάποιες σ υσ τάδες bit αναπαρισ τώντας ειδικούς αριθμούς οι οποίοι ονομάζονται δεσ μευμένα τελούμενα. Η ιδέα αυτή προέρχεται από το CDC 6600, το οποίο είχε σ υσ τάδες bit για τις ειδικές ποσ ότητες INDEFINITE και INFINITY. Το πρότυπο IEEE σ υνεχίζει αυτή την παράδοσ η έχοντας NaN (Not a Number) και άπειρο. Χωρίς οποιεσ δήποτε ειδικές ποσ ότητες, δεν υπάρχει δυνατότητα να διαχειρισ θούν περιπτώσ εις εξαιρέσ εων όπως η τετραγωνική ρίζα ενός αρνητικού αριθμού με την ματαίωσ η του υπολογισ μού. Σύμφωνα με την FORTRAN του IBM System/370, η ενέργεια η οποία επεσ ήμανε τον υπολογισ μό της τετραγωνικής ρίζας αρνητικού αριθμού, ήταν η εκτύπωσ η ενός μηνύματος σ φάλματος. Δεδομένου ότι κάθε σ υσ τάδα bits αναπαρισ τά ένα έγκυρο αριθμό, η τιμή η οποία επισ τρέφεται σ τον υπολογισ μό της τετραγωνικής ρίζας πρέπει να είναι κάποιος αριθμός κινητής υποδιασ τολής. Στην περίπτωσ η της FORTRAN του System/370, εκτελούνταν η πράξη 4 = 2 αντίθετα σ την αριθμητική του IEEE επισ τρέφεται NaN σ ε όμοια περίπτωσ η. Το πρότυπο IEEE ορίζει τις ακόλουθες ειδικές τιμές (βλέπε πίνακα 1.2): ±0, ±, denormalized αριθμούς και NaN. Αυτές όλες οι ειδικές τιμές κωδικοποιούνται με εκθέτες είτε e max +1 είτε e min 1 (έχει επισ ημανθεί ότι το 0 έχει εκθέτη e min 1). NaN Παραδοσ ιακά, ο υπολογισ μός του 0 0 ή της 1 αντιμετωπιζόταν ως ένα ανεπανόρθωτο σ φάλμα το οποίο προκαλεί τερματισ μό σ τον υπολογισ μό. Ωσ τόσ ο, υπάρχουν περιπτώσ εις όπου υπάρχει νόημα ένας 11

23 Εκθέτης Κλάσ μα Αναπαράσ τασ η e = e min 1 f = 0 ±0 e = e min 1 f 0 0.f 2 emin e min e e max 1.f 2 e e = e max 1 f = 0 e = e max + 1 f 0 NaN Πίνακας 1.2: Ειδικές Τιμές σ το πρότυπο IEEE υπολογισ μό να σ υνεχίσ ει σ ε μια τέτοια κατάσ τασ η. Σκεφτείτε μια υπορουτίνα η οποία βρίσ κει τα μηδενικά μίας σ υνάρτησ ης f, ονομάζοντας τη zero(f). Τέτοιου είδους σ υναρτήσ εις, απαιτούν από τον χρήσ τη να ορίσ ει ένα διάσ τημα [a, b], όπου ορίζεται η σ υνάρτησ η και θα αναζητηθεί η ρίζα έτσ ι, η υπορουτίνα αυτή ονομάζεται zero(f, a, b). Οι ρουτίνες εύρεσ ης ρίζας, εκτελούνται διερευνώντας διάφορες τιμές για τη σ υνάρτησ η f. Αν διερευνηθεί μία τιμή εκτός του πεδίου ορισ μού της f, ο αλγόριθμος μπορεί να υπολογίσ ει 0 0 ή 1, τερματίζοντας τον υπολογισ μό χωρίς λόγο ματαιώνοντας τη διαδικασ ία εύρεσ ης ρίζας. Αυτό μπορεί να αποφευχθεί, εισ άγοντας μία ειδική τιμή η οποία ονομάζεται NaN και καθορίζοντας ότι ο υπολογισ μός εκφράσ εων όπως 0 0 ή 1 παράγουν NaN, αντί για τερματισ μό. Ο Πίνακας 1.3 δίνει μία σ ειρά με μερικές ενδεικτικές κατασ τάσ εις σ τις οποίες προκαλείται NaN. Πλέον, όταν η zero(f) βρεθεί εκτός του πεδίου ορισ μού της f, η σ υνάρτησ η θα επισ τρέψει NaN και η διαδικασ ία σ υνεχίζεται. Δεδομένων των παραπάνω, είναι εύκολο να εξετάσ ουμε ποιο πρέπει να είναι το αποτέλεσ μα του σ υνδυασ μού NaN με ένα σ υνηθισ μένο αριθμό κινητής υποδιασ τολής. Ας υποθέσ ουμε ότι η τελική δήλωσ η της zero είναι return (-b + sqrt(d)) / (2*a). Αν d < 0, τότε η zero πρέπει να επισ τρέψει NaN. Επειδή d < 0, η sqrt(d) είναι NaN, και -b + sqrt(d) θα είναι NaN, εφόσ ον το άθροισ μα NaN με οποιονδήποτε άλλο αριθμός είναι NaN. Ομοίως, εάν ένα τελούμενο της διαίρεσ ης είναι NaN, το πηλίκο θα είναι NaN. Συνοψίζοντας, όταν ένα NaN σ υμμετέχει σ ε πράξεις κινητής υποδιασ τολής, το αποτέλεσ μα είναι NaN. Πράξη Αιτία NaN + + ( ) 0 / 0/0, / modulo x % 0, % y x, x < 0 Πίνακας 1.3: Πράξεις οι οποίες παράγουν NaN Μια άλλη προσ έγγισ η, σ τη σ ύνταξη ρουτίνας για την εύρεσ η ρίζας δεν απαιτεί από το χρήσ τη να εισ άγει πεδίο ορισ μού αλλά να χρησ ιμοποιεί σ ήματα. Η ρουτίνα χρησ ιμοποιεί ένα πρόγραμμα χειρισ μού σ ημάτων για εξαιρέσ εις οι οποίες σ χετίζονται με κινητή υποδιασ τολή. Το πρόβλημα με αυτήν την προσ έγγισ η είναι ότι κάθε γλώσ σ α έχει διαφορετική μέθοδο χειρισ μού των σ ημάτων και έτσ ι δεν υπάρχει δυνατότητα φορητότητας. Στο πρότυπο IEEE 754, τα NaN σ υχνά αναπαρισ τώνται ως αριθμοί κινητής υποδιασ τολής με εκθέτη e max + 1 και μηδενική mantissa. Στις υλοποιήσ εις δεν υπάρχει περιορισ μός ώσ τε να τεθούν πληροφορίες οι οποίες εξαρτώνται από το σ ύσ τημα σ τη mantissa. Συνεπώς, δεν υπάρχει ένα μοναδικό NaN, αλλά ένα ολόκληρο σ ύνολο NaN. Οταν ένα NaN και ένας σ υνηθισ μένος αριθμό κινητής υποδιασ τολής σ υνδυασ τούν, το αποτέλεσ μα πρέπει να είναι ίδιο με το τελούμενο NaN. Ετσ ι, αν το αποτέλεσ μα ενός μεγάλου υπολογισ μού είναι NaN, πληροφορίες οι οποίες εξαρτώνται από το σ ύσ τημα σ τη mantissa είναι οι πληροφορίες οι οποίες δημιουργήθηκαν όταν σ υνέβη το πρώτο NaN σ τον υπολογισ μό. Πρακτικά, 12

24 υπάρχει ένα ζήτημα όσ ο αναφορά την παραπάνω πρότασ η. Αν και τα δύο τελούμενα είναι NaN τότε το αποτέλεσ μα είναι ένα από αυτές τα NaN, αλλά μπορεί να μην είναι το NaN το οποίο δημιουργήθηκε πρώτο. Άπειρο Ακριβώς όπως το NaN βοηθάει, ώσ τε ο υπολογισ μός να σ υνεχισ τεί όταν εμφανίζονται εκφράσ εις όπως 0 0 ή 1, το άπειρο παρέχει τον τρόπο ώσ τε ο υπολογισ μός να σ υνεχισ τεί όταν προκύψει υπερχείλισ η. Αυτό είναι ασ φαλέσ τερο από την επισ τροφή απλά του μεγαλύτερου αριθμού ο οποίος μπορεί να αναπαρασ ταθεί. Για παράδειγμα, θεωρήσ ουμε τον υπολογισ μό x 2 + y 2 με β=10, p=3 και e max = 98. Αν x = και y = τότε το x 2 θα υπερχειλίσ ει και θα αντικατασ ταθεί από το Ομοίως, το y 2 και x 2 + y 2 θα υπερχειλίσ ουν και θα αντικατασ ταθούν από το Ετσ ι το τελικό αποτέλεσ μα θα είναι = το οποίο είναι εντελώς λανθασ μένο, αφού το σ ωσ τό αποτέλεσ μα είναι Στην αριθμητική του IEEE, το αποτέλεσ μα του x 2 είναι, όπως και των y 2, x 2 + y 2 και x 2 + y 2. Ετσ ι, το τελικό αποτέλεσ μα είναι, το οποίο είναι προτιμότερο από την επισ τροφή ενός κανονικού αριθμού κινητής υποδιασ τολής ο οποίος απέχει πολύ από τη σ ωσ τή απάντησ η. Η διαίρεσ η 0 επισ τρέφει NaN. Ωσ τόσ ο, ένας αριθμός οποίος διαιρείται με το μηδέν επισ τρέφει άπειρο 0 όπως τα 1 1 =, =. Ο λόγος για αυτή τη διάκρισ η είναι ο εξής: εάν η f(x) 0 και η g(x) καθώς το x τείνει σ ε κάποιο όριο, τότε f(x) μπορούν να πάρουν οποιαδήποτε τιμή. Για παράδειγμα, αν g(x) f(x) = sin(x) και g(x) = x, τότε f(x) f(x) 1 όταν το x 0. Αλλά όταν f(x) = 1 cos(x), g(x) g(x) 0. Οταν έχουμε 0 0 σ ε μία οριακή κατάσ τασ η ενός πηλίκου δύο πολύ μικρών αριθμών, τότε το 0 0 μπορούσ ε να αντιπροσ ωπεύει οτιδήποτε. Ετσ ι, σ το πρότυπο IEEE το 0 έχει αποτελέσ ματα NaN. Αλλά όταν 0 c > 0, f(x) c και g(x) 0 τότε f(x) ± για κάθε αναλυτική σ υνάρτησ η f και g. Αν g(x) < 0 g(x) για μικρά x, τότε f(x), διαφορετικά το όριο είναι +. Ετσ ι, το πρότυπο IEEE ορίζει ότι g(x) c = ±, εφόσ ον το c 0. Το πρόσ ημο του εξαρτάται από τα πρόσ ημα του ς και του 0 κατά τον 0 σ υνήθη τρόπο, έτσ ι ώσ τε 10 = και 10 = +. Υπάρχει διάκρισ η μεταξύ του το οποίο είναι 0 0 αποτέλεσ μα υπερχείλισ ης και του το οποίο είναι αποτέλεσ μα διαίρεσ ης με το μηδέν ελέγχοντας τους σ ηματοφόρους κατάσ τασ ης. Ο κανόνας για τον προσ διορισ μό του αποτελέσ ματος μιας πράξης η οποία έχει άπειρο ως τελούμενο είναι απλός: αντικαθίσ ταται το άπειρο με έναν πεπερασ μένο αριθμό x και υπολογίζεται το όριο όταν το 3 3 x. Ετσ ι, = 0 διότι lim x = 0. Ομοια και για τα 4 = και =. Οταν το όριο δεν υπάρχει, το αποτέλεσ μα είναι NaN, οπότε θα είναι NaN. Αυτό σ υμφωνεί με την επιχειρηματολογία η οποία χρησ ιμοποιήθηκε ώσ τε να σ υμπεράνουμε ότι 0 θα πρέπει να είναι NaN. 0 Οταν το κομμάτι μίας έκφρασ ης αποτιμάται ως NaN, η τιμή ολόκληρης της έκφρασ ης είναι επίσ ης NaN. Στην περίπτωσ η των ± ωσ τόσ ο η τιμή της έκφρασ ης ενδέχεται να είναι ένα τυπικός αριθμός κινητής υποδιασ τολής, εξαιτίας των κανόνων, όπως του 1 = 0. Ενα πρακτικό παράδειγμα το οποίο χρησ ιμοποιεί κανόνες για τις αριθμητικές πράξεις του απείρου. Αν θεωρήσ ουμε τον υπολογισ μό της σ υνάρτησ ης x (x 2. Αυτό είναι ένας δύσ κολος τύπος, γιατί εκτός του ότι θα υπερχειλίσ ει όταν το x γίνει + 1) μεγαλύτερο από ββ emax 2, αλλά και η αριθμητική απείρου θα δώσ ει λανθασ μένη απάντησ η προκύπτοντας 0, αντί για έναν αριθμό κοντά σ το 1 x. Ωσ τόσ ο, η x (x 2 + 1) μπορεί να ξαναγραφεί ως 1 (x + x 1 ). Η 13

25 βελτιωμένη έκφρασ η δεν θα υπερχειλίσ ει πρόωρα και αριθμητικής του απείρου υπερχείλισ ης θα έχει την 1 σ ωσ τή τιμή όταν x = 0 : ( ) = 1 (0 + ) = 1 = 0. Χωρίς τις αριθμητικές πράξεις του απείρου, 1 η έκφρασ η (x + x 1 απαιτεί διερεύνησ η όταν το x = 0, η οποία δεν προσ θέτει μόνο επιπλέον εντολές, ) αλλά μπορεί επίσ ης να αποδιοργανώσ ει το pipelining. Το παράδειγμα αυτό δείχνει ένα γεγονός, ότι δηλαδή με την αριθμητική του απείρου αποφεύγεται σ υχνά η ανάγκη για ειδικές περίπτωσ η ελέγχου. Ωσ τόσ ο, οι τύποι είναι αναγκαίο να ελέγχονται προσ εκτικά για να πισ τοποιείται ότι έχουν κανονική σ υμπεριφορά σ το άπειρο. Προσ ημασ μένο Μηδέν Το μηδέν αναπαρίσ ταται από τον εκθέτη e min 1 και την μηδενική mantissa. Δεδομένου ότι το bit προσ ήμου παίρνει δύο διαφορετικές τιμές, υπάρχουν δύο μηδενικά το +0 και το -0. Αν γινόταν μια διάκρισ η σ υγκρίνοντας το +0 και το -0, απλά τεσ τ όπως if (x==0) θα είχαν πολύ απρόβλεπτη σ υμπεριφορά, ανάλογα με το πρόσ ημο του x. Ετσ ι, το πρότυπο IEEE ορίζει τη σ ύγκρισ η έτσ ι ώσ τε να ισ χύει ότι +0 = 0, αντί για 0 < +0 παρόλο που το πρότυπο IEEE δεν αγνοεί το πρόσ ημο. Οταν ένας πολλαπλασ ιασ μός ή μία διαίρεσ η δώσ ει σ αν αποτέλεσ μα προσ ημασ μένο μηδέν, ισ χύουν οι σ υνήθεις κανόνες προσ ήμου σ τον υπολογισ μό του προσ ήμου της απάντησ ης. Ετσ ι για παράδειγμα, 3 (+0) = +0 και +0/ 3 = 0. Αν το μηδέν δεν είχε πρόσ ημο, τότε η πράξη 1 1 όταν x = ±. Ο λόγος είναι ότι, τα τρόπος για να αποκατασ ταθεί η ισ χύς της ταυτότητας και 1 κάνουν και τα δύο 0 και το 1 0 x x = x δεν θα ίσ χυε κάνει. Ενας = x είναι να υπάρχει μόνο ένα είδος απείρου, ωσ τόσ ο, αυτό ότι θα είχε ως αποτέλεσ μα να χάνεται το πρόσ ημο μίας υπερχειλισ μένης ποσ ότητας. Ενα άλλο παράδειγμα της χρήσ ης της προσ ημασ μένου μηδέν σ χετίζεται με την υποχείλισ η και με τις ασ υνεχείς σ υναρτήσ εις σ το 0, όπως ο λογάριθμος. Στην αριθμητική του προτύπου IEEE, είναι φυσ ικό να ορισ τεί το log(0) = και το log(x) να είναι NaN όταν x < 0, υποθέτοντας ότι το x αναπαρισ τά ένα μικρό αρνητικό αριθμό ο οποίος υποχειλίζει σ το μηδέν. Χάρη σ το προσ ημασ μένο μηδέν, το x είναι αρνητικό, έτσ ι ο λογάριθμος επισ τρέφει NaN. Αλλά, αν δεν υπήρχε το προσ ημασ μένο μηδέν, η σ υνάρτησ η του λογάριθμου δεν θα μπορούσ ε να διακρίνει έναν υποχειλισ μένο αρνητικό αριθμός από το ίδιο το μηδέν σ υνεπώς θα έπρεπε να επισ τρέψει. Ενα άλλο παράδειγμα μιας σ υνάρτησ ης με ασ υνέχεια σ το μηδέν είναι η σ υνάρτησ η signum, η οποία επισ τρέφει το πρόσ ημο ενός αριθμού. Ισ ως η πιο ενδιαφέρουσ α χρήσ η του προσ ημασ μένου μηδέν εμφανίζεται σ ε αριθμητικές πράξεις 1 μιγαδικών. Ενα απλό παράδειγμα είναι η μελέτη της εξίσ ωσ ης z = 1. Αυτό ισ χύει σ ίγουρα όταν z 1 z 0. Αν z = 1, ο υπολογισ μός δίνει ( 1) = 1 1 = i και = i = i. Ετσ ι, z 1. z Το πρόβλημα μπορεί να αποδοθεί σ το γεγονός ότι η τετραγωνική ρίζα είναι πλειότιμη σ υνάρτησ η και δεν υπάρχει τρόπος να επιλεγούν τιμές έτσ ι ώσ τε να είναι σ υνεχής σ ε ολόκληρο το μιγαδικό επίπεδο. Ωσ τόσ ο, η τετραγωνική ρίζα είναι σ υνεχής όταν περικόπτεται ένας κλάδος ο οποίος αποτελείται από όλους τους αρνητικούς πραγματικούς αριθμούς και αποκλεισ τούν από την σ ύμβασ η. Αυτό αφήνει το πρόβλημα για τους πραγματικούς αριθμούς, οι οποίοι είναι της μορφής x + i0, όπου x > 0. Το προσ ημασ μένο μηδέν δίνει την ιδανικότερη λύσ η αυτού του προβλήματος. Οι αριθμοί της μορφής x + i(+0) έχουν πρόσ ημο i x και οι αριθμοί της μορφής x + i( 0) σ τον κλάδο τον οποίο θέλουμε να αποκόψουμε έχουν πρόσ ημο i x. 1 Πίσ ω σ το πρόβλημα z = 1, αν z = 1 = 1 + i0, τότε το 1 z z = i0 = 1 i0 1 i0 1 = ( 1 + i0)( 1 i0) ( 1) 2 = 1 + i( 0), και έτσ ι 02 z = 1 + i( 0) = i, ενώ η 1 = 1 z i = 14

26 i. Ετσ ι, οι αριθμητικές πράξεις σ το πρότυπο IEEE διατηρούν την ισ χύ της ταυτότητας όλων των ζ. Παρά το γεγονός ότι η διάκρισ η μεταξύ +0 και -0 έχει πλεονεκτήματα, περισ τασ ιακά προκαλεί σ ύγχυσ η. Για παράδειγμα, το προσ ημασ μένο μηδέν κατασ τρέφει την ισ χύ της σ χέσ ης x = y 1 x = 1 y το οποίο είναι είναι ψευδές όταν x = 0 και y = 0. Ωσ τόσ ο, η επιτροπή του IEEE αποφάσ ισ ε ότι τα πλεονεκτήματα της αξιοποίησ ης του προσ ημασ μένου μηδέν υπερτερούν από τα μειονεκτήματα. Denormalized Αριθμοί Θεωρώντας κανονικοποιημένους αριθμούς κινητής υποδιασ τολής με β=10, p=3, και e min = 98. Οι αριθμοί x = και y = φαίνονται να είναι απόλυτα κανονικοί αριθμοί κινητής υποδιασ τολής, οι οποίες είναι μεγαλύτερες κατά έναν παράγοντα 10 από το μικρότερη αριθμό κινητής υ- ποδιασ τολής Παρόλα αυτά, έχουν μία περίεργη ιδιότητα: x y = 0, ακόμη κι αν x y. Ο λόγος είναι ότι x y = = είναι πολύ μικρός ώσ τε να αναπαρασ ταθεί ως κανονικός αριθμός και σ υνεπώς αποβιβάζεται σ το μηδέν. Είναι πολύ σ ημαντικό την σ ημασ ία της διατήρησ ης της ιδιότητας x = y x y = 0. Είναι πολύ εύκολο, γράφοντας ένα κομμάτι κώδικα, if(x y) then z=1/(x-y), πολύ αργότερα το πρόγραμμα να τερματίζει ανεπιτυχώς εξαιτίας μίας διαίρεσ ης με το μηδέν. Η εύρεσ η σ φαλμάτων όπως αυτό είναι δύσ κολη και χρονοβόρα. Σε ένα πιο φιλοσ οφικό επίπεδο, σ τη βιβλιογραφία της Επισ τήμης Υπολογισ τών σ υχνά επισ ημαίνεται ότι ακόμη κι αν σ ήμερα δεν έχουμε την δυνατότητα να αποδείξουμε την ορθότητα μεγάλων προγραμμάτων, ο σ χεδιασ μός προγραμμάτων με την ιδέα της απόδειξης σ υχνά τους οδηγεί σ ε καλύτερο κώδικα. Για παράδειγμα, εισ άγοντας σ ταθερές είναι αρκετά χρήσ ιμο, ακόμα και αν δεν πρόκειται να χρησ ιμοποιηθούν ως μέρος της απόδειξης. υποδιασ τολής είναι ακριβώς όπως κάθε άλλος κώδικας. Ο κώδικας με πράξεις κινητής Το πρότυπο IEEE χρησ ιμοποιεί τους denormalized αριθμούς οι οποίοι είναι το πιο αμφιλεγόμενο μέρος του προτύπου και σ ε αυτό πιθανώς να οφείλεται η μεγάλη καθυσ τέρησ η σ την έγκρισ η του 754. Τα περισ σ ότερα High Performance Hardware τα οποία ισ χυρίζονται ότι είναι σ υμβατά με το πρότυπο IEEE δεν υποσ τηρίζουν τους denormalized αριθμούς άμεσ α, αλλά παγιδεύονται όταν χρησ ιμοποιούν ή παράγουν denormals αφήνοντας σ το λογισ μικό να προσ ομοιώσ ει το πρότυπο ΙΕΕΕ. Αυτό είναι το αποτέλεσ μα μίας από τις προβληματικές πλευρές του προτύπου. Τα προγράμματα τα οποία υποχειλίζουν σ υχνά εκτελούνται εμφανώς πιο αργά σ το υλικό το οποίο χρησ ιμοποιεί software traps. Η ιδέα πίσ ω από τους denormalized αριθμούς είναι πολύ απλή. Οταν ο εκθέτης είναι e min, η mantissa δεν πρέπει να ομαλοποιηθεί, έτσ ι ώσ τε όταν β=10, p=3, και e min = 98, ο δεν είναι πλέον ο μικρότερος αριθμός κινητής υποδιασ τολής, επειδή ο είναι επίσ ης ένας αριθμός κινητής υποδιασ τολής. Υπάρχει ένα εμπόδιο όταν β=2 και ένα κρυφό bit χρησ ιμοποιείται δεδομένου ότι, ένας αριθμός με εκθέτη e min θα έχει πάντα μια mantissa μεγαλύτερη ή ίσ η με 1.0 εξαιτίας του κρυφού bit το οποίο προηγείται. Η λύσ η είναι παρόμοια με εκείνη για την αναπαράσ τασ η του μηδέν. Ο εκθέτης e min χρησ ιμοποιείται σ την αναπαράσ τασ η των denormals δηλαδή, αν τα bits σ τη mantissa είναι b 1, b 2,..., b p 1 και η τιμή του εκθέτη είναι e, τότε όταν e > e min 1 ο αριθμός ο οποίος αναπαρίσ ταται είναι ο 1.b 1, b 2,..., b p 1 2 e ενώ, όταν e = e min 1, ο αριθμός ο οποίος αναπαρίσ ταται είναι ο 0.b 1, b 2,..., b p 1 2 e+1. Το +1 σ τον εκθέτη είναι απαραίτητο επειδή οι denormals έχουν εκθέτης e min και όχι e min 1. Σύμφωνα με το παράδειγμα σ την αρχή της παραγράφου, όταν β=10, p=3, και e min = 98, x = και y = Με την χρήσ η denormals το x-y δεν υποβαθμίζεται σ το μηδέν αντιθέτως, αναπαρίσ ταται από τον denormalized αριθμό Το φαινόμενο αυτό ονομάζεται σ ταδιακή υποχείλισ η. Είναι εύκολο να εξακριβωθεί ότι πάντα ισ χύει η σ χέσ η x = y x y = 0 όταν χρησ ιμοποιείται σ ταδιακή υποχείλισ η. 15

27 Σχήμα 1.2: Υποβάθμισ η σ το μηδέν σ ε σ ύγκρισ η με την Σταδιακή Υποχείλισ η Στην Εικόνα 1.2 απεικονίζονται denormalized αριθμοί. Το πρώτο από τα δύο σ χήματα δείχνει τους κανονικοποιημένους αριθμούς κινητής υποδιασ τολής. Επισ ημαίνεται ότι το χάσ μα μεταξύ του 0 και του μικρότερου κανονικοποιημένου αριθμού είναι 1.0 β emin. Αν το αποτέλεσ μα μίας πράξης κινητής υποδιασ τολής εντάσ σ εται σ ε αυτό το διάσ τημα υποβαθμίζεται σ το μηδέν. Ο δεύτερος άξονας δείχνει τι σ υμβαίνει όταν denormals προσ τίθενται σ το σ ύνολο από αριθμούς κινητής υποδιασ τολής. Το διάσ τημα σ υμπληρώνεται και όταν το αποτέλεσ μα ενός υπολογισ μού είναι μικρότερο από 1.0 β emin, αναπαρίσ ταται από τον πλησ ιέσ τερο denormal. Οταν οι denormalized αριθμοί προσ τίθενται σ τον άξονα η απόσ τασ η μεταξύ γειτονικών αριθμών κινητής υποδιασ τολής ποικίλει με κανονικό τρόπο δηλαδή, γειτονικές αποσ τάσ εις είναι είτε ίδιες σ το μήκος ή διαφέρουν κατά ένα παράγοντα β. Χωρίς denormals, η απόσ τασ η μεταβάλλεται απότομα από β p+1 β emin σ ε β emin, ο οποίος είναι ένας παράγοντας της τάξης του β p 1, σ ε αντίθεσ η με την ομαλή αλλαγή κατά ένα παράγοντα β. Εξαιτίας αυτού, πολλοί αλγόριθμοι οι οποίοι έχουν μεγάλο σ χετικό σ φάλμα για κανονικοποιημένους αριθμούς κοντά σ το κατώφλι της υποχείλισ ης, σ υμπεριφέρονται καλά σ ε αυτό το εύρος, όταν χρησ ιμοποιείται σ ταδιακή υποχείλισ η. Χωρίς σ ταδιακή υποχείλισ η, η έκφρασ η x y ενδέχεται να έχει πολύ μεγάλο σ χετικό σ φάλμα για κανονικοποιημένες εισ όδους, όπως προαναφέρθηκε x = και y = Μεγάλα σ χετικά σ φάλματα σ υμβαίνουν ακόμη και χωρίς ακύρωσ η, όπως το ακόλουθο παράδειγμα. Στη διαίρεσ η δύο μιγαδικών αριθμών, a + ib και c + id, εάν ένα σ τοιχείο του παρονομασ τή c + id είναι μεγαλύτερο από ββ emax 2, θα υπάρξει υπερχείλισ η, ακόμα κι αν το τελικό αποτέλεσ μα είναι εντός ορίων. Η καλύτερη μέθοδος υπολογισ μού του πηλίκου είναι ο τύπος του Smith. Θέτοντας σ τον τύπο του Smith τους αριθμούς x, y το αποτέλεσ μα 0.5 με σ ταδιακή υποχείλισ η το οποίο παίρνουμε είναι το σ ωσ τό. Η μέθοδος της υποβάθμισ ης σ το μηδέν δίνει αποτέλεσ μα 0.4 με σ φάλμα της τάξης των 100 ulps. Η τυπική εγγύησ η για το όριο σ φάλματος σ τους denormalized αριθμούς είναι κάτω από 1.0 β emin Μέθοδοι Στρογγυλοποίησ ης Στο πρότυπο IEEE-754, η σ τρογγυλοποίησ η σ υμβαίνει όταν μία πράξη παράγει ένα αποτέλεσ μα το οποίο δεν είναι ακριβές. Η βασ ική μέθοδος σ τρογγυλοποίησ ης είναι η σ τρογγυλοποίησ η προς τον πλησ ιέσ τερο(rounding-toward-nearest). Στο πρότυπο υπάρχουν όμως και άλλες τρεις μέθοδοι σ τρογγυλοποίησ ης οι οποίες είναι: ˆ Η μέθοδος σ τρογγυλοποίησ ης προς το μηδέν(round-towards-zero). ˆ Η μέθοδος σ τρογγυλοποίησ ης προς το + (round-toward-+ ) ˆ Η μέθοδος σ τρογγυλοποίησ ης προς το (round-toward- ) 16

28 Η μέθοδος σ τρογγυλοποίησ ης σ τον πλησ ιέσ τερο(rounding-toward-nearest) σ τρογγυλοποιεί το αποτέλεσ μα μίας πράξης σ τον πλησ ιέσ τερο αριθμό. Για παράδειγμα, εάν έχουμε τον αριθμό τότε η μέθοδος αυτή θα τον μετατρέψει σ ε 24. Εναλλακτικά, αυτή η μέθοδος ενδέχεται να προσ διορίζει σ ε τι είδος αριθμό(άρτιο ή περιττό) να γίνεται η σ τρογγυλοποίησ η. Για παράδειγμα, εάν έχουμε τον αριθμό και η μέθοδος είναι σ τρογγυλοποίησ η σ τον πλησ ιέσ τερο άρτιο(round-to-nearest-even) τότε ο α- ριθμός μετατρέπεται σ τον 24. Ομοια, σ υμβαίνει και σ την περίπτωσ η που έχουμε τον αριθμό 24.67, ο οποίος θα μετατραπεί σ ε 24. Στη μέθοδο σ τρογγυλοποίησ ης προς το μηδέν(round-towards-zero) εάν το αποτέλεσ μα μίας πράξης είναι ένας αριθμός κινητής υποδιασ τολής y και q είναι το ακέραιο μέρος του θα πρέπει να ισ χύει η σ χέσ η q = sgn(y) y = sgn(y) y. Για παράδειγμα, εάν έχουμε τον αριθμό η μέθοδος αυτή θα μετατρέψει τον αριθμό σ ε 23. Ομοια, εάν έχουμε τον αριθμό τότε η μέθοδος αυτή θα μετατρέψει τον αριθμό σ ε 23. Στη μέθοδο σ τρογγυλοποίησ ης προς το + (round-toward-+ ) θα πρέπει να ισ χύει η σ χέσ η q = ceil(y) = y = y, με q να είναι ο μικρότερος ακέραιος ο οποίος δεν είναι μικρότερος από το y. Για παράδειγμα, εάν έχουμε τον αριθμό η μέθοδος αυτή θα μετατρέψει τον αριθμό σ ε 24. Ομοια, εάν έχουμε τον αριθμό τότε η μέθοδος αυτή θα μετατρέψει τον αριθμό σ ε 23. Στην περίπτωσ η που έχουμε αρνητικό αριθμό, για παράδειγμα το τότε το αποτέλεσ μα της σ τρογγυλοποίησ ης θα δώσ ει -23. Στη μέθοδο σ τρογγυλοποίησ ης προς το (round-toward- ) θα πρέπει να ισ χύει η σ χέσ η q = floor(y) = y = y, με q να είναι ο μεγαλύτερος ακέραιος ο οποίος δεν υπερβαίνει τον y. Για παράδειγμα, εάν έχουμε τον αριθμό η μέθοδος αυτή θα μετατρέψει τον αριθμό σ ε 23. Ομοια, εάν έχουμε τον αριθμό τότε η μέθοδος αυτή θα μετατρέψει τον αριθμό σ ε 24. Στην περίπτωσ η που έχουμε αρνητικό αριθμό, για παράδειγμα το τότε το αποτέλεσ μα της σ τρογγυλοποίησ ης θα δώσ ει Διαφοροποιήσ εις των υλοποιήσ εων σ το IEEE 754 Η αριθμητική κινητής υποδιασ τολής πρέπει να εφαρμόζεται με προσ οχή, δεδομένου ότι οι προγραμματισ τές εξαρτώνται από τις ιδιότητές της για την ορθότητα και την ακρίβεια των προγραμμάτων τους. Ειδικότερα, το πρότυπο IEEE απαιτεί προσ εκτική υλοποίησ η και υπάρχει δυνατότητα για την σ υγγραφή χρήσ ιμων προγραμμάτων τα οποία λειτουργούν σ ωσ τά, με ακριβή αποτελέσ ματα μόνο σ ε σ υσ τήματα τα οποία σ υμφωνούν με το πρότυπο. Συνεπώς, λογικό είναι το σ υμπέρασ μα ότι τα εν λόγω προγράμματα είναι φορητά σ ε όλα τα σ υσ τήματα τα οποία υποσ τηρίζουν το πρότυπο IEEE. Δυσ τυχώς, το πρότυπο IEEE δεν εγγυάται ότι το πρόγραμμα θα παράγει ταυτόσ ημα αποτελέσ ματα σ ε όλα τα σ υσ τήματα τα οποία σ υμφωνούν με το πρότυπο. Τα περισ σ ότερα προγράμματα παράγουν όντως διαφορετικά αποτελέσ ματα σ ε διαφορετικά σ υσ τήματα για διάφορους λόγους. Ενας λόγος είναι ότι, τα περισ σ ότερα προγράμματα περιλαμβάνουν μετατροπή μεταξύ δεκαδικών αριθμών και δυαδικών αλλά το πρότυπο IEEE δεν προσ διορίζει πλήρως την ακρίβεια με την οποία εκτελούνται αυτές οι μετατροπές. Ενας άλλος λόγος είναι ότι, πολλά προγράμματα χρησ ιμοποιούν σ τοιχειώδεις λειτουργίες οι οποίες βρίσ κονται σ ε βιβλιοθήκες του σ υσ τήματος και έτσ ι, το πρότυπο έχει την δυνατότητα να καθορίσ ει αυτές τις λειτουργίες. Πολλοί προγραμματισ τές δεν μπορούν να σ υνειδητοποιήσ ουν ότι ακόμη και ένα πρόγραμμα το οποίο χρησ ιμοποιεί μόνο αριθμητικές μορφές και πράξεις προσ διοριζόμενες από το πρότυπο IEEE, παράγει διαφορετικά αποτελέσ ματα σ ε διαφορετικά σ υσ τήματα. Στην πραγματικότητα, οι σ υντάκτες του προτύπου σ κόπευαν ώσ τε διαφορετικές υλοποιήσ εις να παράγουν διαφορετικά αποτελέσ ματα. Η πρόθεσ ή τους είναι προφανής από τον ορισ μό του όρου destination σ το πρότυπο IEEE 754: Destination μπορεί είτε να ορισ τεί ρητά από τον χρήσ τη ή να παρέχεται εμμέσ ως από το σ ύσ τημα (για παράδειγμα, 17

29 τα ενδιάμεσ α αποτελέσ ματα υποεκφράσ εων ή ορίσ ματα διαδικασ ιών). Ορισ μένες γλώσ σ ες θέτουν τα αποτελέσ ματα των ενδιάμεσ ων υπολογισ μών σ ε destinations πέρα από τον έλεγχο του χρήσ τη. Παρόλα αυτά, το πρότυπο ορίζει το αποτέλεσ μα μιας πράξης από την άποψη της μορφής του destination και τις τιμές των τελούμενων. Με άλλα λόγια, το πρότυπο IEEE απαιτεί την σ ωσ τή σ τρογγυλοποίησ η κάθε αποτελέσ ματος σ ύμφωνα με την ακρίβεια του destination σ το οποίο θα τεθεί, αλλά το πρότυπο δεν απαιτεί ώσ τε η ακρίβεια του εν λόγω destination να καθορίζεται από το πρόγραμμα του χρήσ τη. Συνεπώς, διαφορετικά σ υσ τήματα ενδέχεται να θέσ ουν τα αποτελέσ ματά τους σ ε destinations με διαφορετική αριθμητική ακρίβεια ώσ τε το ίδιο πρόγραμμα να παράγει διαφορετικά αποτελέσ ματα έσ τω και αν τα σ υσ τήματα αυτά υποσ τηρίζουν το πρότυπο. Αρκετά από τα παραδείγματα προηγουμένως εξαρτώνται από την γνώσ η για τον τρόπο σ τρογγυλοποίησ ης αριθμών κινητής υποδιασ τολής. Για να βασ ισ τούμε σ ε παραδείγματα, ο προγραμματισ τής πρέπει να προβλέπει τον τρόπο με τον οποίο μεταγλωττίζεται το πρόγραμμα και ειδικότερα σ ε σ χέσ η με το πρότυπο IEEE και ποια είναι η ακρίβεια του destination σ ε κάθε αριθμητική πράξη. Δυσ τυχώς, το κενό σ τον ορισ μό του προτύπου IEEE σ χετικά με το destination υπονομεύει την ικανότητα του προγραμματισ τή ώσ τε να γνωρίζει τον τρόπο με τον οποίο θα μεταγλωττίζεται το πρόγραμμα. Κατά σ υνέπεια, πολλά από τα παραδείγματα παραπάνω, όταν υλοποιούνται σ ε φορητά προγράμματα με γλώσ σ α υψηλού επιπέδου, ενδέχεται να μην λειτουργούν σ ωσ τά σ ε σ υσ τήματα IEEE τα οποία παρέχουν σ υνήθως αποτελέσ ματα σ ε destinations με αριθμητική ακρίβεια διαφορετική από την αναμενόμενη Παρούσ ες υλοποιήσ εις σ το IEEE 754 Οι παρούσ ες υλοποιήσ εις σ την αριθμητική του IEEE 754 διαχωρίζονται σ ε δύο ομάδες οι οποίες διακρίνονται από το βαθμό σ τον οποίο υποσ τηρίζουν διαφορετικές μορφές κινητής υποδιασ τολής σ το υλικό. Τα Extended-based σ υσ τήματα, χαρακτηρισ τικό παράδειγμα είναι η αρχιτεκτονική της οικογένειας ε- πεξεργασ τών Ιntel x86, προσ φέρουν πλήρη υποσ τήριξη για μορφή εκτεταμένης διπλής ακρίβειας, αλλά μόνο μερική υποσ τήριξη για μονή και διπλή ακρίβεια. Επιπλέον, παρέχουν εντολές για φόρτωσ η ή αποθήκευσ η δεδομένων σ ε μονή και διπλή ακρίβεια με επί τόπου μετατροπή από ή σ ε μορφή εκτεταμένης διπλής ακρίβειας και ειδικές λειτουργίες (δεν είναι προεπιλογή), σ τις οποίες τα αποτελέσ ματα των αριθμητικών πράξεων σ τρογγυλοποιούνται σ ε μονή ή διπλή ακρίβεια ακόμη και αν αποθηκεύονται σ ε καταχωρητές σ ε μορφή εκτεταμένης διπλής ακρίβειας. Η σ ειρά επεξεργασ τών Motorola σ τρογγυλοποιεί τα αποτελέσ ματα τόσ ο σ ε ακρίβεια και σ το εύρος της μονής ή διπλής μορφής με την χρήσ η αυτών των ειδικών λειτουργιών. Οι Intel x86 και οι σ υμβατοί επεξεργασ τές σ τρογγυλοποιούν τα αποτελέσ ματα σ την ακρίβεια των μορφών μονής ή διπλής ακρίβειας αλλά διατηρούν το ίδιο εύρος με τη μορφή εκτεταμένης διπλής αναπαράσ τασ ης. Τα Single/Double σ υσ τήματα, σ υμπεριλαμβάνουν τους περισ σ ότερους επεξεργασ τές RISC, προσ φέρουν πλήρη υποσ τήριξη για μορφές μονής ή διπλής ακρίβειας, αλλά δεν υπάρχει υποσ τήριξη για σ υμβατή με το πρότυπο IEEE μορφή εκτεταμένης διπλής ακρίβειας Το Πρότυπο IEEE-754 σ το CUDA Το CUDA υπακούει σ το πρότυπο ΙΕΕΕ-754 για αριθμητική κινητής υποδιασ τολής με κάποιες αποκλίσ εις. Γενικότερα, δεν υπάρχει η δυνατότητα δυναμικού προσ διορισ μού της μεθόδου σ τρογγυλοποίησ ης. Ομως, οι περισ σ ότερες πράξεις υποσ τηρίζουν πολλαπλές μεθόδους σ τρογγυλοποίησ ης βασ ισ μένες σ το ΙΕΕΕ μέσ ω intrinsic σ υναρτήσ εων. Επιπλέον εκλείπει ο μηχανισ μός για την ανίχνευσ η exceptions που αφορούν αριθμούς κινητής υποδιασ τολής. Ολες οι πράξεις χαρακτηρίζουν τις exceptions ως masked και χειρίζονται με τον τρόπο που προβλέπεται από το ΙΕΕΕ-754. Ενα ακόμα σ ημείο σ το οποίο υπάρχει απόκλισ η από το πρότυπο ΙΕΕΕ-754 σ χετίζεται με το αποτέλεσ μα πράξεων κινητής υποδιασ τολής μονής ακρίβειας το οποίο εμπεριέχει ως είσ οδο ένα ή περισ σ ότερα 18

30 NaN. Τότε αυτό μετατρέπεται σ ε μία ακολουθία bit της μορφής 0 7F F F F F F F. Οσ ο αναφορά τους αριθμούς κινητής υποδιασ τολής διπλής ακρίβειας η απόλυτη τιμή και η αντισ τροφή δεν σ υμβαδίζουν με το πρότυπο ΙΕΕΕ-754. Χαρακτηρισ τικά των GPU με δυνατότητα 1.x Οι αριθμοί κινητής υποδιασ τολής μονής ακρίβειας σ τις σ υγκεκριμένες GPU έχουν κάποιες σ υγκεκριμένες ιδιαιτερότητες σ χετικά με το πρότυπο ΙΕΕΕ-754. Μια βασ ική ιδιαιτερότητα σ χετίζεται με τους Denormalized αριθμούς οι οποίοι δεν υποσ τηρίζονται. Οι εντολές σ ύγκρισ ης και πράξεων κινητής υποδιασ τολής μετατρέπουν τους denormalized τελεσ τέους σ ε μηδέν πριν από οποιαδήποτε πράξη. Ακόμη, τα υποχειλισ μένα αποτελέσ ματα υποβιβάζονται σ ε μηδέν. Επιπρόσ θετα, κάποιες εντολές δεν υποσ τηρίζουν το πρότυπο. Η πράξη της πρόσ θεσ ης και του πολλαπλασ ιασ μού σ υχνά σ υνδυάζονται σ ε μία απευθείας εντολή πολλαπλασ ιασ μού-πρόσ θεσ ης(fmad), η οποία μειώνει χωρίς σ τρογγυλοποίησ η την ενδιάμεσ η mantissa του πολλαπλασ ιασ μού. Η πράξη της διαίρεσ ης και η τετραγωνική ρίζα υλοποιούνται μέσ ω του αντίσ τροφου με τρόπο όχι και τόσ ο σ υμβατό με το πρότυπο. Οι πράξεις τη πρόσ θεσ ης και του πολλαπλασ ιασ μού υποσ τηρίζουν μόνο τις μεθόδους σ τρογγυλοποίησ ης round-to-nearest-even και round-towards-zero, ενώ δεν υποσ τηρίζονται οι μέθοδοι round-towards-±. Ο τρόπος με τον οποίο μετριάζονται οι επιπτώσ εις των περιορισ μών που αφορούν το πρότυπο ΙΕΕΕ- 754 είναι ένα σ ύνολο intrinsic σ υναρτήσ εων το οποίο είναι και περισ σ ότερο αργό. Οι σ υναρτήσ εις αυτές υλοποιούν τις βασ ικές μαθηματικές πράξεις, την τετραγωνική ρίζα, τον αντίσ τροφο και την πράξη FMAD. Σχετικά τώρα με τους αριθμούς κινητής υποδιασ τολής διπλής ακρίβειας η μόνη μέθοδος σ τρογγυλοποίησ ης η οποία υποσ τηρίζεται για αυτούς είναι η round-to-nearest-even και χρησ ιμοποιείται για τον αντίσ τροφο, την τετραγωνική ρίζα και την διαίρεσ η. 19

31 20

32 Κεφάλαιο 2 Αρχιτεκτονική 2.1 Ταξινόμησ η κατά Flynn Η ταξινόμησ η κατά Flynn η οποία προτάθηκε από τον Michael Flynn το 1966, είναι η κατάταξη των υπολογισ τικών σ υσ τημάτων και παραμένει η επικρατέσ τερη σ το χώρο. Η ταξινόμησ η αυτή βασ ίζεται σ τις ροές εντολών και δεδομένων τις οποίες έχει την δυνατότητα η αρχιτεκτονική ενός σ υσ τήματος να διαχειρισ τεί ταυτόχρονα. Τα κριτήρια της ταξινόμησ ης μπορούν να σ χηματοποιηθούν έτσ ι ώσ τε να είναι ευκολότερος ο διαχωρισ μός και η κατανόησ η της ταξινόμησ ης, όπως φαίνεται παρακάτω σ το σ χήμα. Single Instruction Multiple Instruction Single Data SISD MISD Multiple Data SIMD MIMD Σχήμα 2.1: Η σ χηματική ταξινόμησ η κατά Flynn Η κατανόησ η της δομής και των λειτουργιών τις οποίες υποσ τηρίζει η αρχιτεκτονική SIMD και κατ επέκτασ η αυτές των Μονάδων Επεξεργασ ίας Γραφικών (GPU) μπορούν εύκολα να αποτυπωθούν σ ε σ ύγκρισ η με τις υπόλοιπες τις οποίες ορίζει η Ταξινόμησ η. Αναλυτικότερα, οι τέσ σ ερις αυτές αρχιτεκτονικές διαθέτουν τα εξής χαρακτηρισ τικά: SISD Η αρχιτεκτονική υπολογισ τών η οποία αποτελείται από ένας μονό επεξεργασ τή, εκτελώντας μία μόνο εντολή σ ε δεδομένα αποθηκευμένα σ ε μία λέξη της μνήμης. Το χαρακτηρισ τικότερο παράδειγμα μίας τέτοιας αρχιτεκτονικής είναι αρχιτεκτονική Von Neumann. Σχήμα 2.2: Σχηματική Αναπαράσ τασ η αρχιτεκτονικής SISD 21

33 SIMD Η αρχιτεκτονική υπολογισ τών η οποία αποτελείται από πολλαπλούς επεξεργασ τές, εκτελώντας ταυτόχρονα σ ε όλα τα δεδομένα την ίδια εντολή, όπου αυτή μπορεί να παραλληλοποιηθεί. Τα χαρακτηρισ τικότερα παραδείγματα μίας τέτοιας αρχιτεκτονικής είναι οι Διανυσ ματικοί Επεξεργασ τές και οι Μονάδες Επεξεργασ ίας Γραφικών (GPU). Σχήμα 2.3: Σχηματική Αναπαράσ τασ η αρχιτεκτονικής SIMD MISD Η αρχιτεκτονική υπολογισ τών σ την οποία πολλαπλές εντολές εκτελούνται σ ε δεδομένα σ ε μία θέσ η μνήμης. Η χρήσ η αυτής της αρχιτεκτονικής γίνεται σ ε fault-tolerant σ υσ τήματα δηλαδή, ετερογενή σ υσ τήματα τα οποία εκτελούν πράξεις σ ε ίδια δεδομένα και τα αποτελέσ ματα τους πρέπει να ταυτίζονται. Το χαρακτηρισ τικότερο παράδειγμα μίας τέτοιας αρχιτεκτονικής είναι τα σ υσ τήματα πλοήγησ ης σ ε διασ τημόπλοια. Σχήμα 2.4: Σχηματική Αναπαράσ τασ η αρχιτεκτονικής MISD MIMD Η αρχιτεκτονική υπολογισ τών σ την οποία εκτελούνται διαφορετικές εντολές από πολλαπλούς επεξεργασ τές ταυτόχρονα σ ε διαφορετικά δεδομένα. Τα MIMD σ υσ τήματα διαχωρίζονται ανάλογα με τον τρόπο με τον οποίο προσ πελαύνουν την μνήμη και οι κατηγορίες αυτές είναι τα σ υσ τήματα Διαμοιραζόμενης Μνήμης και τα σ υσ τήματα Κατανεμημένης Μνήμης. 22

34 Σχήμα 2.5: Σχηματική Αναπαράσ τασ η αρχιτεκτονικής MIMD 2.2 Η Αξιοποίησ η της SIMD αρχιτεκτονικής Ισ τορικά Στοιχεία Η πρώτη εμφάνισ η SIMD επεξεργασ τών ήταν σ ε διανυσ ματικούς supercomputers σ τις αρχές τις δεκαετίας του 70 όπως ο CDC Star-100 και ο Texas Instruments ASC και πλέον αρχίζουν να γίνονται γνωσ τοί με τον Cray κατά τις δεκαετίες του 70 και του 80. Στην πρώτη εποχή μετά την εξάπλωσ η της αρχιτεκτονικής SIMD σ τις αρχές της δεκαετίας του 80, τέτοιου είδους επεξεργασ τές χρησ ιμοποιούνται αποκλεισ τικά σ ε Mainframes και Supercomputers όπως οι Thinking Machines CM-1 και CM-2. Τα σ υσ τήματα αυτά περιείχαν επεξεργασ τές χαμηλής λειτουργικότητας οι οποίοι όμως είχαν την δυνατότητα να λειτουργούν παράλληλα. Η εμφάνισ η όμως λιγότερο ακριβών scalar MIMD επεξεργασ τών, όπως ο Intel i860 XP, οδήγησ ε τους κατασ κευασ τές supercomputer να μειώσ ουν το ενδιαφέρον τους για τις SIMD αρχιτεκτονικές. Αργότερα, σ τα μέσ α της δεκαετίας του 90, οι προσ ωπικοί υπολογισ τές εξαπλώθηκαν και ήταν αρκετά ισ χυροί ώσ τε να υποσ τηρίζουν πολυμεσ ικές εφαρμογές. Η απαίτησ η αυτή οδήγησ ε τους κατασ κευασ τές να σ τραφούν σ τη λειτουργικότητα των αρχιτεκτονικών SIMD. Εκείνη την περίοδο λοιπόν, η Intel κυκλοφόρησ ε τον πρώτο εμπορικό επεξεργασ τή με δυνατότητες SIMD, τον Pentium MMX ο οποίος ήταν ο πρόδρομος για τις μελλοντικές SIMD αρχιτεκτονικές. Παράλληλα, άλλοι κατασ κευασ τές όπως η Sun Microsystems πρόσ θεσ ε σ το σ ετ εντολών του UltraSPARC, εντολές SIMD για πράξεις ακεραίων και η IBM με τη Motorola πρόσ θεσ αν το σ ετ εντολών AltiVec σ την αρχιτεκτονική POWER. Ολες αυτές 23

35 οι προσ πάθειες και η σ τροφή σ ε SIMD χαρακτηρισ τικά οφείλεται σ την ανάγκη ώσ τε να υποσ τηριχθούν γραφικά πραγματικού χρόνου και σ υνεπώς διανύσ ματα δύο, τριών και τεσ σ άρων διασ τάσ εων Πλεονεκτήματα Οπως έγινε αντιληπτό από την προηγούμενη παράγραφο, οι SIMD αρχιτεκτονικές επανήλθαν σ την επιφάνεια επειδή υπερτερούν σ την επεξεργασ ία πολυμεσ ικών εφαρμογών. Τέτοιου είδους εφαρμογές κατά κύριο λόγο εκτελούν πράξεις ανάμεσ α σ ε μία ίδια τιμή και μεγάλο αριθμό άλλων δεδομένων. Χαρακτηρισ τικό παράδειγμα μίας τέτοιας εφαρμογής είναι η αλλαγή φωτεινότητας σ ε μία εικόνα. Ενα άλλο σ ημαντικό πλεονέκτημα είναι το επίπεδο παραλληλίας κατά την εκτέλεσ η των εντολών. Τα σ υσ τήματα με SIMD επεξεργασ τές περιλαμβάνουν τόσ ες εντολές όσ ες θα εκτελεσ τούν σ τα δεδομένα σ ε μία πράξη. Αυτό μπορεί να ισ χύσ ει και σ ε super-scalar επεξεργασ τές αλλά ο βαθμός παραλληλίας ενός σ υσ τήματος SIMD είναι κατά πολύ υψηλότερος Μειονεκτήματα Παρόλα αυτά, υπάρχουν και μειονεκτήματα σ τη χρήσ η SIMD επεξεργασ τών διότι τα δεδομένα κάποιων αλγορίθμων δεν μπορούν να αναπαρασ ταθούν σ ε μορφή διανυσ μάτων. Η σ υντακτική ανάλυσ η ενός κώδικα. Επιπλέον η υλοποίησ η ενός αλγορίθμου με SIMD εντολές σ υνήθως απαιτεί και ανθρώπινη παρέμβασ η καθώς οι περισ σ ότεροι compilers δεν παράγουν SIMD εντολές από ένα τυπικό πρόγραμμα σ ε C για παράδειγμα. Ο προγραμματισ μός σ ε σ υγκεκριμένο σ ετ εντολών για SIMD αρχιτεκτονική ενδέχεται να επιφέρει κάποια μη αναμενόμενα προβλήματα σ ε χαμηλό επίπεδο Εξέλιξη της αρχιτεκτονικής SIMD Στην προηγούμενη παράγραφο, έγινε κατανοητό ότι η απαίτησ η για επεξεργασ ία γραφικών σ ε πραγματικό χρόνο οδήγησ ε τους κατασ κευασ τές υλικού να ενσ ωματώσ ουν σ ετ εντολών για λειτουργίες SIMD σ ε εμπορικούς πλέον επεξεργασ τές. Η ενσ ωμάτωσ η των SIMD λειτουργιών σ τους εμπορικούς υπολογισ τές είχε μειωμένη απόδοσ η. Το γεγονός αυτό οφείλεται σ την επανειλημμένη χρήσ η των καταχωρητών για πράξεις κινητής υποδιασ τολής μειώνοντας την σ υνολική απόδοσ η του σ υσ τήματος. Επιπλέον, οι compilers δεν υποσ τήριζαν το επιπρόσ θετο σ ετ εντολών για SIMD επεξεργασ ία αναγκάζοντας τους προγραμματισ τές σ την σ υγγραφή κώδικα assembly απευθείας. Ο σ τόχος για βελτίωσ η σ την απόδοσ η των σ υσ τημάτων οδήγησ ε σ την χρήσ η καρτών γραφικών οι οποίες ήταν αποκλεισ τικά προσ ανατολισ μένες σ την εκτέλεσ η SIMD εντολών. Ο διαχωρισ μος αυτός, είχε ως αποτέλεσ μα οι κάρτες γραφικών να αναλάβουν τον φόρτο της επεξέργασ ίας από την CPU. Σήμερα πλέον, οι κάρτες γραφικών χειρίζονται πέραν των κλασ σ ικών υπολογισ μών για τα γραφικά και υπολογισ μούς γενικού σ κοπού οι οποίοι έως τώρα χειρίζονταν από την CPU. Με την εξέλιξη αυτή, έχει εισ αχθεί ο όρος GPGPU (General Purpose Graphics Processing Unit) ο οποίος αποτελεί την τελευταία εξέλιξη των σ υσ τημάτων που βασ ίσ τηκαν σ την αρχιτεκτονική SIMD. Η παράλληλη δομή των σ ύγχρονων GPU είναι πολύ αποτελεσ ματική από τους επεξεργασ τές γενικού σ κοπού για αλγόριθμους οι οποίοι επεξεργάζονται μεγάλα μπλοκ δεδομένων παράλληλα. Σε έναν προσ ωπικό υπολογισ τή, η GPU μπορεί να βρίσ κεται σ ε μια κάρτα γραφικών ή ενσ ωματωμένη σ τη μητρική πλακέτα. Ο όρος αυτός ορίσ τηκε και διαδόθηκε από την Nvidia το 1999, η οποία διέθεσ ε σ το εμπόριο την GeForce 256 ως την πρώτη GPU σ τον κόσ μο, αποτελούμενη από έναν επεξεργασ τή σ ε ένα ολοκληρωμένο κύκλωμα. Ο επεξεργασ τής αυτός είχε την δυνατότητα επεξεργασ ίας τουλάχισ τον 10 εκατομμυρίων πολυγώνων ανά δευτερόλεπτο. 24

36 2.3 Η Αρχιτεκτονική CUDA Εισ αγωγή Η αρχιτεκτονική CUDA (Compute Unied Device Architecture) αποτελεί μία παράλληλη αρχιτεκτονική η οποία βασ ίζεται σ τη Μονάδα Επεξεργασ ίας Γραφικών(Graphic Processor Unit ή GPU) και διαθέτει την δυνατότητα προγραμματισ μού. Η CUDA επιτρέπει σ τους προγραμματισ τές να αξιοποιήσ ουν το σ ετ εντολών και τη μνήμη των παράλληλων υπολογισ τών των CUDA GPU. Σε αντίθεσ η με τις CPU, οι GPU είναι σ χεδιασ μένες σ ε μία παράλληλη αρχιτεκτονική η οποία εσ τιάζεται σ την εκτέλεσ η πολλών ταυτόχρονων νημάτων πιο αργά, αντί να εκτελεί ένα νήμα πολύ γρήγορα. Συνεπώς, η αρχιτεκτονική αυτή έχει σ χεδιασ τεί για τη μαζική επεξεργασ ία δεδομένων αντί για έλεγχο εκτέλεσ ης και caching. Η διαφοροποίησ η αυτή φαίνεται και από την αφαιρετική αποτύπωσ η και σ ύγκρισ η αυτών των δύο αρχιτεκτονικών σ το παρακάτω σ χήμα. Σχήμα 2.6: Η διαφορά της GPU από την CPU σ την κατασ κευή ώσ τε να είναι προσ ανατολισ μένη σ την επεξεργασ ία δεδομένων Στις GPU οι ίδιες εντολές εκτελούνται για πολλά δεδομένα ταυτόχρονα εκλείπει η ανάγκη για πολύπλοκο έλεγχο ροής όπως και η ανάγκη για μεγάλες μνήμες cache, διότι οι καθυσ τερήσ εις για τις προσ πελάσ εις σ τη μνήμη καλύπτονται από υπολογισ μούς υψηλής αριθμητικής πυκνότητας Δομή Υλικού Η δομή της CUDA GPU βασ ίσ τηκε πάνω σ ε μία κλιμακούμενη σ υσ τοιχία πολυνηματικών Streaming Multiprocessor. Οι επεξεργασ τές αυτοί εκτελούν χιλιάδες νήματα ταυτόχρονα και για να βελτισ τοποιήσ ουν το utilization τους αξιοποιούν την παραλληλία σ ε επίπεδο νήματος με πολυνηματισ μό βασ ισ μένο σ το υλικό, περισ σ ότερο από παραλληλία σ ε επίπεδο εντολής για ένα μόνο νήμα. Υπάρχει pipelining σ τις εντολές αλλά σ ε αντίθεσ η με τη CPU, αυτές εκτελούνται σ ειριακά και δεν υπάρχει branch prediction και speculative execution. Τα μέρη από τα οποία αποτελείται ένας Streaming Multiprocessor είναι: ˆ Οι οκτώ Scalar Processors οι οποίοι χρησ ιμοποιούνται για πράξεις μεταξύ ακεραίων και αριθμών κινητής υποδιασ τολής μονής ακρίβειας ˆ Οι δύο Special Function Units σ τις οποίες υπολογίζονται οι υπερβατικές μαθηματικές σ υναρτήσ εις και ενδέχεται να εκτελεσ τούν πολλαπλασ ιασ μοί μονής ακρίβειας ˆ Η Double Precision Unit η οποία εκτελεί αριθμητικές πράξεις διπλής ακρίβειας 25

37 ˆ Η Shared Memory η οποία επιτρέπει την αλληλεπίδρασ η των νημάτων κατά τη διάρκεια της εκτέλεσ ης τους ˆ Ο Warp Scheduler οργανώνει την εκτέλεσ η των ωαρπς τα οποία έχουν νήματα προς εκτέλεσ η. Η σ χηματική αναπαράσ τασ η του Streaming Multiprocessor αλλά και η αντισ τοιχία μεταξύ των μερών που τον αποτελούν μπορεί να αποτυπωθεί σ το παρακάτω σ χήμα. Σχήμα 2.7: Η σ χηματική αναπαράσ τασ η του Streaming Multiprocessor Από το Σχήμα 2.7 μπορούμε να δούμε ότι κάθε ένας Streaming Multiprocessor έχει την δυνατότητα να επεξεργάζεται μόνο ένα νήμα σ το οποίο εκτελούνται πράξεις αριθμών κινητής υποδιασ τολής διπλής ακρίβειας αντί για οκτώ ταυτόχρονα κατ αναλογία νήματα με μονής ακρίβειας αριθμούς κινητής υποδιασ τολής. Επιπλέον, είναι δυνατή η ταυτόχρονη επεξεργασ ία δύο το πολύ νημάτων σ τα οποία πρέπει να εκτελεσ τούν πράξεις οι οποίες περιέχουν ειδικές μαθηματικές σ υναρτήσ εις Εκτέλεσ η Νημάτων Γενικότερα όμως, το σ υνολικό πλήθος νημάτων τα οποία θα εκτελεσ τούν σ τη GPU ή σ το Device είναι οργανομένα σ ε ένα πλέγμα το οποίο θα αναφέρεται ως grid. Το grid είναι μίας ή δύο διασ τάσ εων και υποδιαιρείται σ ε blocks νημάτων όμοιου μεγέθους. Το πλήθος των blocks προσ διορίζεται σ υνήθως, είτε από το πλήθος των δεδομένων προς επεξεργασ ία, είτε από το πλήθος των επεξεργασ τών. Τα blocks επιτρέπεται να εκτελούνται ανεξάρτητα μεταξύ τους, σ ε οποιαδήποτε σ ειρά, παράλληλα ή σ ειριακά. Η ανεξαρτησ ία αυτή, διευκολύνει τον χρονοπρογραμματισ μό τους σ ε οποιοδήποτε πυρήνα του device. Η ιεράρχησ η των νημάτων αποτυπώνεται εύκολα από το Σχήμα 2.8. Η ιεράρχησ η των νημάτων, παίζει σ πουδαίο ρόλο σ τον χρονοπρογραμματισ μό της εκτέλεσ ης και σ την κατανομή των blocks. Τα block των νημάτων ανατίθενται σ τους multiprocessors προς εκτέλεσ η. Η ανάθεσ η αυτή γίνεται πριν την εκτέλεσ η του προγράμματος και τα blocks δεν μπορούν να αλλάζουν multiprocessor κατα τη διάρκεια της εκτέλεσ ης τους. Το πλήθος των block που εχεί την δυνατότητα να επεξεργασ τεί κάθε multiprocessor ποικίλει ανάλογα με τους διαθέσ ιμους πόρους του. Κάθε νήμα του block, εκτελείται σ ε έναν Scalar Processor του multiprocessor με τις ιδιαιτερότητες οι οποίες αναφέρθηκαν παραπάνω. Η αντισ τοίχησ η αυτή φαίνεται σ το Σχήμα

38 Σχήμα 2.8: Η ιεράρχησ η των νημάτων Σχήμα 2.9: Κατανομή των νημάτων 27

39 Οταν σ ε ένα Streaming Multiprocessor ανατεθούν κάποια blocks προς εκτέλεσ η, αυτός τα διαχωρίζει σ ε warps τα οποία προγραμματίζονται από το τον warp scheduler για εκτέλεσ η. Τα warps είναι ανεξάρτητα νήματα σ ε ομάδες των 32 τα οποία δημιουργούνται, διαχειρίζονται, προγραμματίζονται και εκτελούνται παράλληλα σ ε έναν multiprocessor. Ενα warp ξεκινάει από την ίδια διεύθυνσ η του προγράμματος αλλά τα νήματα που το αποτελούν έχουν ξεχωρισ τό instruction address counter και register state. Το γεγονός αυτό διευκολύνει τα νήματα να διακλαδώνονται και να εκτελούνται ανεξάρτητα. Η διαδικασ ία αυτή αποτυπώνεται σ το Σχήμα Σχήμα 2.10: Ανάθεσ η και διαχωρισ μός του block Κάθε ένα warp εκτελεί μία κοινή εντολή τη φορά, έτσ ι ώσ τε η πλήρης αποτελεσ ματικότητα να επιτυγχάνεται όταν και τα 32 νήματα σ το warp ταυτίζονται σ την πορεία της εκτέλεσ ής τους. Αν τα νήματα σ το warp αποκλίνουν εξαιτίας διακλαδώσ εων που εξαρτώνται από τα δεδομένα, το warp εκτελεί σ ειριακά κάθε μονοπάτι που δημιουργείται, απενεργοποιώντας όλα τα νήματα τα οποία δεν ανήκουν σ ε αυτό. Οταν όλα τα μονοπάτια εκτελεσ τούν, τα νήματα σ υγκλίνουν πάλι σ το ίδιο μονοπάτι εκτέλεσ ης. Τέτοιες διακλαδώσ εις προκύπτουν μόνο σ τα πλαίσ ια του warp καθώς εκτελείται ανεξάρτητα από τα άλλα ακόμα και αν εκτελούν κοινό ή όχι κώδικα. Η εκτέλεσ η για κάθε εντολή για όλα τα νήματα ενός warp απαιτεί από τον warp scheduler : ˆ Τεσ σ ερεις κύκλους ρολογιού για εντολές οι οποίες σ χετίζονται με πράξεις ακεραίων και αριθμών κινητής υποδιασ τολής μονής ακρίβειας ˆ 32 κύκλους ρολογιού για εντολές οι οποίες σ χετίζονται με πράξεις αριθμών κινητής υποδιασ τολής διπλής ακρίβειας ˆ Δεκαέξι κύκλους ρολογιού για εντολές οι οποίες σ χετίζονται με υπερβατικές πράξεις αριθμών κινητής υποδιασ τολής μονής ακρίβειας Διαβαθμίσ εις Μνήμης Στην αρχιτεκτονική CUDA τα νήματα κατα την εκτελεσ η τους μπορούν να προσ πελάσ ουν δεδομένα από πολλαπλές μνήμες. Κάθε block νημάτων δεσ μεύει shared μνήμη η οποία είναι προσ πελάσ ιμη σ ε όλα τα νήματα που το αποτελούν και η δεσ μευσ η αυτή διαρκεί όσ ο και η διάρκεια ζωής του. Ολα τα νήματα δεσ μεύουν τοπική αποκλεισ τική μνήμη αλλά έχουν πρόσ βασ η σ ε όλη την Global μνήμη. Global Μνήμη Η Global μνήμη είναι η ξεχωρισ τή μνήμη της κάρτας γραφικών και είναι κατ αντισ τοιχία σ αν την κύρια μνήμη για την CPU. Τα προγράμματα που πρέπει να εκτελεσ τούν σ την GPU λειτουργούν μόνο εάν φορτωθούν σ την Global μνήμη. Η μνήμη αυτή είναι οργανωμένη σ ε διευθύνσ εις των 32-bit και υπάρχει η δυνατότητα χρήσ ης της αναφοράς με δείκτες. Η μνήμη είναι προσ πελάσ ιμη από όλα τα νήματα αλλά και απο τη CPU και η μνήμη δεσ μεύεται όσ ο διαρκεί ο υπολογισ μός σ την κάρτα. 28

40 Shared Μνήμη Η Shared μνήμη επειδή βρίσ κεται μέσ α σ τον επεξεργασ τή είναι πολύ πιο γρήγορη από την Global μνήμη. Στην πραγματικότητα η προσ πέλασ η ολών των νημάτων του warp είναι γρήγορη όσ ο δεν υπάρχουν σ υγκρούσ εις μεταξύ των νημάτων. Η shared μνήμη έχει μέγεθος 16Kb και αποτελείται από 16 banks. Οι banks είναι οργανωμένες έτσ ι ώσ τε διαδοχικές διευθύνσ εις των 32-bit να ανατίθενται σ ε διαδοχικές banks. Οι banks είναι ίσ ου μεγέθους κομμάτια μνήμης σ τα οποία υπάρχει η δυνατότητα να προσ πελασ τούν ταυτόχρονα. Οποιαδήποτε αίτησ η ανάγνωσ ης ή εγγραφής αποτελούμενη απο k διευθύνσ εις οι οποίες αντισ τοιχούν σ ε k διαφορετικές banks εξυπηρετείται ταυτόχρονα. Από την άλλη πλευρά, εάν σ ε μία αίτησ η υπάρχουν διευθύνσ εις που ανήκουν σ την ίδια bank, υπάρχει σ ύγκρουσ η και η προσ πέλασ η σ ειριοποιείται. Μια αίτησ η για shared μνήμη από ένα warp χωρίζεται σ ε δύο οι οποίες είναι ανεξάρτητες μεταξύ τους και είναι μία για κάθε μισ ό του warp. Συνεπώς, δεν μπορεί να υπάρξουν σ υγκρούσ εις σ τα banks μεταξύ νημάτων που ανήκουν σ το πρώτο και σ το δεύτερο μισ ό του ίδιου warp. Local Μνήμη Η Local μνήμη αποτελεί μερος της Global μνήμης της σ υσ κευής, σ υνεπώς οι προσ πελάσ εις σ τη Local μνήμη έχουν την ίδια καθυσ τέρησ η και το ίδιο χαμηλό εύρος ζώνης όπως οι προσ πελάσ εις σ την Global μνήμη. Η Local μνήμη είναι οργανωμένη έτσ ι ώσ τε διαδοχικές λέξεις των 32-bit να προσ πελαυνονται από διαδοχικά νήματα. Η Local μνήμη η οποία μπορει να διατεθεί ανα νήμα είναι 16Kb. Οι προσ πελάσ εις σ την Local μνήμη γίνονται για κάποιες αυτόματες μεταβλητές τις οποίες χειρίζεται ο compiler όπως: ˆ Πίνακες για τους οποίους δεν μπορεί να προσ διορισ τεί αν το index τους είναι σ ταθερά ˆ Μεγάλες δομές ή πίνακες οι οποίο απαιτουν μεγαλο αριθμό καταχωρητών ˆ Οποιαδήποτε μεταβλητή εάν το πρόγραμμα χρησ ιμοποιεί περισ σ ότερους καταχωρητές από όσ ους είναι διαθέσ ιμοι Μια σ υνοπτική παρουσ ίασ η για τις κατηγορίες μνήμης που διαθέτει μία κάρτα γραφικών μπορει να φανεί σ τον παρακάτω Πίνακα. Μνήμη Θέσ η Προσ πέλασ η Πεδίο Εφαρμογής Διάρκεια Local Εκτός SM R/W Ενα νήμα Οσ η το νήμα Shared Εντός SM R/W Τα νήματα του block Οσ η το block Global Εκτός SM R/W Ολα τα νήματα και η CPU Οσ η η εφαρμογή Πίνακας 2.1: Συνοπτική παρουσ ίασ η των μνημών 29

41 30

42 Κεφάλαιο 3 Μοντέλο Προγραμματισ μού 3.1 Εισ αγωγή Η αξιοποίησ η των δυνατοτήτων για την εκτέλεσ η αλγορίθμων τις οποίες προσ φέρει η κάρτα γραφικών και αναφέρθηκαν σ τα προηγούμενα κεφάλαια, επιτυγχάνεται μέσ ω μίας αλληλουχίας λογισ μικού η οποία αποτελείται από driver και μία βιβλιοθήκη runtime άλλα και με την χρήσ η της CUDA C. Επιπρόσ θετα, σ ε αυτή την αλληλουχία υπάρχει η δυνατότητα να προσ τεθούν ξεχωρισ τές μαθηματικές βιβλιοθήκες η CUFFT και η CUBLAS. Η βιβλιοθήκη runtime αποτελείται από τμήματα τα οποία αφορούν τις αναγκαίες λειτουργίες της CPU, της GPU και κάποιων κοινών. Οι από κοινού λειτουργίες αφορούν μόνο τις σ υναρτήσ εις της C standard βιβλιοθήκης οι οποίες μπορούν να εκτελεσ τούν σ την GPU. Στο παρακάτω σ χήμα φαίνεται η αλληλουχία του λογισ μικού η οποία υποσ τηριζει την λειτουργία του CUDA. Σχήμα 3.1: Η αλληλουχία του λογισ μικού του CUDA 3.2 Τα χαρακτηρισ τικά της CUDA C Η CUDA C διευκολύνει τους εξοικειωμένους με τη γλώσ σ α προγραμματισ μού C χρήσ τες σ τη σ υγγραφή κώδικα ικανού να εκτελεσ τεί από τη GPU. Αποτελείται από ένα σ ύνολο από επεκτάσ εις της γλώσ σ ας C 31

Shmei sveic Perigrafik c Statisvtik c

Shmei sveic Perigrafik c Statisvtik c Shmei sveic Perigrafik c Statisvtik c E. G. Tsvi ac Ας θεωρήσ ουμε έναν πίνακα αριθμών X ={x 1, x,..., x } (1) Το σ ύνολο αυτό θα μπορούσ ε να αποτελείται από τις αποδόσ εις μιας μετοχής σ ε διαφορετικές

Διαβάστε περισσότερα

Δύο είναι οι κύριες αιτίες που μπορούμε να πάρουμε από τον υπολογιστή λανθασμένα αποτελέσματα εξαιτίας των σφαλμάτων στρογγυλοποίησης:

Δύο είναι οι κύριες αιτίες που μπορούμε να πάρουμε από τον υπολογιστή λανθασμένα αποτελέσματα εξαιτίας των σφαλμάτων στρογγυλοποίησης: Ορολογία bit (binary digit): δυαδικό ψηφίο. Τα δυαδικά ψηφία είναι το 0 και το 1 1 byte = 8 bits word: η θεμελιώδης μονάδα σύμφωνα με την οποία εκπροσωπούνται οι πληροφορίες στον υπολογιστή. Αποτελείται

Διαβάστε περισσότερα

Δύο είναι οι κύριες αιτίες που μπορούμε να πάρουμε από τον υπολογιστή λανθασμένα αποτελέσματα εξαιτίας των σφαλμάτων στρογγυλοποίησης:

Δύο είναι οι κύριες αιτίες που μπορούμε να πάρουμε από τον υπολογιστή λανθασμένα αποτελέσματα εξαιτίας των σφαλμάτων στρογγυλοποίησης: Ορολογία bit (binary digit): δυαδικό ψηφίο. Τα δυαδικά ψηφία είναι το 0 και το 1 1 byte = 8 bits word: η θεμελιώδης μονάδα σύμφωνα με την οποία εκπροσωπούνται οι πληροφορίες στον υπολογιστή. Αποτελείται

Διαβάστε περισσότερα

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΧΗΜΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΟ ΚΕΝΤΡΟ Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού Μάθημα 9ο Aντώνης Σπυρόπουλος Σφάλματα στρογγυλοποίησης

Διαβάστε περισσότερα

4.3 Fourier Lucas-Kanade... 34

4.3 Fourier Lucas-Kanade... 34 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Διατμηματικό Μεταπτυχιακό Πρόγραμμα Σπουδών Συσ τήματα Επεξεργασ ίας Σημάτων και Επικοινωνιών (ΣΕΣΕ) Διπλωματική Εργασ ία Σταθμισ

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΥΠΟΛΟΓΙΣΤΙΚΗ ΜΗΧΑΝΙΚΗ. ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ του Οικονόμου Μάριου

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΥΠΟΛΟΓΙΣΤΙΚΗ ΜΗΧΑΝΙΚΗ. ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ του Οικονόμου Μάριου ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΥΠΟΛΟΓΙΣΤΙΚΗ ΜΗΧΑΝΙΚΗ ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ του Οικονόμου Μάριου Συμπλήρωμα Schur σε παράλληλες αρχιτεκτονικές πολλαπλών GPU/CPU

Διαβάστε περισσότερα

March 24, 2013. Abstract. 1 http://en.wikipedia.org/wiki/foss

March 24, 2013. Abstract. 1 http://en.wikipedia.org/wiki/foss Open-Source: Η εναλλακτική επιλογή που κερδίζει έδαφος Χάρης Β. Γεωργίου March 24, 2013 Abstract Μέχρι πριν μερικά χρόνια, η φράσ η free / open-source software (FOSS) 1 ήταν σ χεδόν σ υνώνυμη με μαλλιαρούς

Διαβάστε περισσότερα

Περιεχόμενα 1 Κωδικοποίησ η Πηγής 2 Χωρητικότητα Διακριτών Καναλιών 2 / 21

Περιεχόμενα 1 Κωδικοποίησ η Πηγής 2 Χωρητικότητα Διακριτών Καναλιών 2 / 21 Θεωρία Πληροφορίας και Στοιχεία Κωδίκων Κωδικοποίησ η Πηγής και Χωρητικότητα Διακριτών Καναλιών Διδάσ κων: Καλουπτσ ίδης Νικόλαος Επιμέλεια: Κατσ άνος Κωνσ ταντίνος Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Διαβάστε περισσότερα

Οργάνωση Υπολογιστών

Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών 1 Άδειες Χρήσης Το παρόν υλικό

Διαβάστε περισσότερα

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Βασικές Έννοιες Προγραμματισμού Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Αριθμητικά συστήματα Υπάρχουν 10 τύποι ανθρώπων: Αυτοί

Διαβάστε περισσότερα

1. Το σύστημα κινητής υποδιαστολής 2. Αναπαράσταση πραγματικών δυαδικών αριθμών 3. Το πρότυπο 754 της ΙΕΕΕ

1. Το σύστημα κινητής υποδιαστολής 2. Αναπαράσταση πραγματικών δυαδικών αριθμών 3. Το πρότυπο 754 της ΙΕΕΕ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΑΡΙΘΜΟΙ ΚΙΝΗΤΗΣ ΥΠΟ ΙΑΣΤΟΛΗΣ (ΠΡΑΓΜΑΤΙΚΟΙ ΑΡΙΘΜΟΙ) Γ Τσιατούχας Παράρτηµα Β ιάρθρωση 1 Το σύστημα κινητής υποδιαστολής 2 Αναπαράσταση πραγματικών δυαδικών αριθμών 3 Το πρότυπο

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Δρ. Δημήτρης Βαρσάμης

Διαβάστε περισσότερα

Αριθμητική Ανάλυση & Εφαρμογές

Αριθμητική Ανάλυση & Εφαρμογές Αριθμητική Ανάλυση & Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 2017-2018 Υπολογισμοί και Σφάλματα Παράσταση Πραγματικών Αριθμών Συστήματα Αριθμών Παράσταση Ακέραιου

Διαβάστε περισσότερα

2. ΑΡΙΘΜΗΤΙΚΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. 2.1 Αριθμητικά συστήματα

2. ΑΡΙΘΜΗΤΙΚΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. 2.1 Αριθμητικά συστήματα 2. ΑΡΙΘΜΗΤΙΚΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ 2.1 Αριθμητικά συστήματα Κάθε πραγματικός αριθμός χ μπορεί να παρασταθεί σε ένα αριθμητικό σύστημα με βάση β>1 με μια δυναμοσειρά της μορφής, -οο * = ± Σ ψ β " (2 1) η - ν

Διαβάστε περισσότερα

Δυαδικό Σύστημα Αρίθμησης

Δυαδικό Σύστημα Αρίθμησης Δυαδικό Σύστημα Αρίθμησης Το δυαδικό σύστημα αρίθμησης χρησιμοποιεί δύο ψηφία. Το 0 και το 1. Τα ψηφία ενός αριθμού στο δυαδικό σύστημα αρίθμησης αντιστοιχίζονται σε δυνάμεις του 2. Μονάδες, δυάδες, τετράδες,

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07 Τμήμα θεωρίας: Α.Μ. 8, 9 Κάθε Πέμπτη, 11πμ-2μμ, ΑΜΦ23. Διδάσκων: Ντίνος Φερεντίνος Γραφείο 118 email: kpf3@cornell.edu Μάθημα: Θεωρία + προαιρετικό

Διαβάστε περισσότερα

Σφάλματα (errors) Σε κάθε υπολογισμό μιας πραγματικής ποσότητας υπάρχει σφάλμα

Σφάλματα (errors) Σε κάθε υπολογισμό μιας πραγματικής ποσότητας υπάρχει σφάλμα Σφάλματα (errors) Σε κάθε υπολογισμό μιας πραγματικής ποσότητας υπάρχει σφάλμα Πηγές σφαλμάτων ανακριβής θεωρία ανακριβείς μετρήσεις παραμέτρων μεταβλητότητα παραμέτρων ανακριβής μέθοδος υπολογισμού (σφάλματα

Διαβάστε περισσότερα

Αριθμητική Κινητής Υποδιαστολής Πρόσθεση Αριθμών Κινητής Υποδιαστολής

Αριθμητική Κινητής Υποδιαστολής Πρόσθεση Αριθμών Κινητής Υποδιαστολής ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι Διάλεξη 11 Αριθμητική Κινητής Υποδιαστολής Πρόσθεση Αριθμών Κινητής Υποδιαστολής Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

Διαβάστε περισσότερα

1.4 Αριθμητική υπολογιστών και σφάλματα

1.4 Αριθμητική υπολογιστών και σφάλματα Γ. Γεωργίου, Αριθμητική Ανάλυση 1.4 Αριθμητική υπολογιστών και σφάλματα Στην παράγραφο αυτή καλύπτουμε πρώτα γενικά το θέμα της αριθμητικής υπολογιστών και στην συνέχεια διαπραγματευόμαστε την έννοια του

Διαβάστε περισσότερα

0,00620 = 6, ΣΗΜΑΝΤΙΚΑ ΨΗΦΙΑ. Γενικοί Κανόνες για τα Σημαντικά Ψηφία

0,00620 = 6, ΣΗΜΑΝΤΙΚΑ ΨΗΦΙΑ. Γενικοί Κανόνες για τα Σημαντικά Ψηφία ΣΗΜΑΝΤΙΚΑ ΨΗΦΙΑ Είναι απαραίτητο να πούμε μερικά πράγματα για μια επαναλαμβανόμενη πηγή προβλημάτων και δυσκολιών: τα σημαντικά ψηφία. Τα μαθηματικά είναι μια επιστήμη όπου οι αριθμοί και οι σχέσεις μπορούν

Διαβάστε περισσότερα

Εισαγωγή στους Υπολογιστές

Εισαγωγή στους Υπολογιστές Εισαγωγή στους Υπολογιστές Ενότητα 9: Ψηφιακή Αριθμητική Βασίλης Παλιουράς Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Ψηφιακή Αριθμητική Σκοποί ενότητας 2 Περιεχόμενα ενότητας

Διαβάστε περισσότερα

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit! Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 25-6 Πράξεις με δυαδικούς αριθμούς (αριθμητικές ) http://di.ionio.gr/~mistral/tp/csintro/ Αριθμοί Πράξεις με δυαδικούς αριθμούς

Διαβάστε περισσότερα

ΑΡΙΘΜΗΤΙΚΗ ΓΙΑ ΥΠΟΛΟΓΙΣΤΕΣ

ΑΡΙΘΜΗΤΙΚΗ ΓΙΑ ΥΠΟΛΟΓΙΣΤΕΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΑΡΙΘΜΗΤΙΚΗ ΓΙΑ ΥΠΟΛΟΓΙΣΤΕΣ ΣΗΜΜΥ, 5 Ο ΕΞΑΜΗΝΟ http://www.cslab.ece.ntua.gr/courses/comparch t / / h 1 ΑΡΙΘΜΟΙ Decimal Eύκολο για τον άνθρωπο Ιδιαίτερα για την εκτέλεση αριθμητικών

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ I Ενότητα 6

ΠΛΗΡΟΦΟΡΙΚΗ I Ενότητα 6 ΠΛΗΡΟΦΟΡΙΚΗ I Ενότητα 6 ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ Bits & Bytes Bit: η μικρότερη μονάδα πληροφορίας μία από δύο πιθανές καταστάσεις (ναι / όχι, αληθές / ψευδές, n / ff) κωδικοποίηση σε 0 ή 1 δυαδικό σύστημα

Διαβάστε περισσότερα

Πράξεις με δυαδικούς αριθμούς

Πράξεις με δυαδικούς αριθμούς Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 25-6 Πράξεις με δυαδικούς αριθμούς (αριθμητικές πράξεις) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Πράξεις με δυαδικούς

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στην Πληροφορική & τον Προγραμματισμό Ενότητα 3 η : Κωδικοποίηση & Παράσταση Δεδομένων Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα

Διαβάστε περισσότερα

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Νεκτάριος Κοζύρης ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Νεκτάριος Κοζύρης ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Νεκτάριος Κοζύρης ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Περιεχόμενα Στρατηγικοί Στόχοι 1 Στρατηγικοί Στόχοι Επίσ ημη Αναγνώρισ η Τομείς Παρέμβασ ης (ΤΠΕ) Μέσ α & Τρόποι Δράσ ης 2 3

Περιεχόμενα Στρατηγικοί Στόχοι 1 Στρατηγικοί Στόχοι Επίσ ημη Αναγνώρισ η Τομείς Παρέμβασ ης (ΤΠΕ) Μέσ α & Τρόποι Δράσ ης 2 3 Ενωσ η Πληροφοριών Ελλάδος Γενική Συνέλευσ η 7 Νοεμβρίου 2015 Στρατηγική & Δράσ εις 2015-2017, Ομάδες Εργασ ίας, Προτεραιότητες-Παρεμβάσ εις Περιεχόμενα Στρατηγικοί Στόχοι 1 Στρατηγικοί Στόχοι Επίσ ημη

Διαβάστε περισσότερα

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ ΣΗΜΜΥ, 5 Ο ΕΞΑΜΗΝΟ http://www.cslab.ece.ntua.gr/courses/comparch 1 ΑΡΙΘΜΟΙ Decimal Eύκολο για τον άνθρωπο Ιδιαίτερα για την εκτέλεση αριθμητικών πράξεων

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Κ. Δεμέστιχας Εργαστήριο Πληροφορικής Γεωπονικό Πανεπιστήμιο Αθηνών Επικοινωνία μέσω e-mail: cdemest@aua.gr, cdemest@cn.ntua.gr 3. ΑΡΙΘΜΗΤΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΜΕΡΟΣ Β Παράσταση Προσημασμένων

Διαβάστε περισσότερα

Πανεπιστημιο Πατρων Τμημα Μηχανικων Η/Υ & Πληροφορικης Υλοποίηση της μεθόδου παραγοντοποίησης ακεραίων αριθμών Number Field Sieve σε παράλληλο υπολογιστικό περιβάλλον Master Thesis Φοιτητής: Χρήστος Μπακογιαννης

Διαβάστε περισσότερα

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ.

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Πληροφορική Ι Αναπαράσταση αριθμών στο δυαδικό σύστημα Δρ. Γκόγκος Χρήστος Δεκαδικό σύστημα αρίθμησης Ελληνικό - Ρωμαϊκό Σύστημα αρίθμησης

Διαβάστε περισσότερα

Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Εθνικό Μετσόβιο Πολυτεχνείο. Σεμινάριο Φυσικής Ενότητα 12

Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Εθνικό Μετσόβιο Πολυτεχνείο. Σεμινάριο Φυσικής Ενότητα 12 Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Εθνικό Μετσόβιο Πολυτεχνείο Σεμινάριο Φυσικής Ενότητα 12 Γεωργακίλας Αλέξανδρος Ζουμπούλης Ηλίας Μακροπούλου Μυρσίνη Πίσσης Πολύκαρπος Άδεια Χρήσης

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Κ. Δεμέστιχας Εργαστήριο Πληροφορικής Γεωπονικό Πανεπιστήμιο Αθηνών Επικοινωνία μέσω e-mail: cdemest@aua.gr, cdemest@cn.ntua.gr 1 2. ΑΡΙΘΜΗΤΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΜΕΡΟΣ Α 2 Τεχνολογία

Διαβάστε περισσότερα

Επιβλέπων Καθηγητής Γεώργιος Καρατζάς Εξετασ τική Επιτροπή Γεώργιος Καρατζάς Κωνσ ταντίνος Χρυσ ικόπουλος Νικόλαος Νικολαΐδης

Επιβλέπων Καθηγητής Γεώργιος Καρατζάς Εξετασ τική Επιτροπή Γεώργιος Καρατζάς Κωνσ ταντίνος Χρυσ ικόπουλος Νικόλαος Νικολαΐδης Yπολογισ τική προσ έγγισ η της αναλυτικής λύσ ης της εξίσ ωσ ης μεταφοράς μάζας για την περίπτωσ η ρύπανσ ης υπογείων υδάτων από DNAPLs και του πάχους σ υγκέντρωσ ης του οριακού σ τρώματος. Εφαρμογή σ

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 3ο Αναπαράσταση Αριθμών www.di.uoa.gr/~organosi 1 Δεκαδικό και Δυαδικό Δεκαδικό σύστημα 2 3 Δεκαδικό και Δυαδικό Δυαδικό Σύστημα

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Συστήματα αρίθμησης

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Συστήματα αρίθμησης ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Συστήματα αρίθμησης Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 8 Σημειώσεις βασισμένες στο βιβλίο Το MATLAB στην Υπολογιστική

Διαβάστε περισσότερα

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΘΗΜΑ 1 ο 1 Εισαγωγή Έντυπα εγχειρίδια ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, ΑΚΡΙΒΗΣ Γ.Δ., ΔΟΥΓΑΛΗΣ Β.Α. Αριθμητική ανάλυση με εφαρμογές σε matlab & mathematica,

Διαβάστε περισσότερα

Chapter 3. Αριθμητική Υπολογιστών. Όγδοη (8 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

Chapter 3. Αριθμητική Υπολογιστών. Όγδοη (8 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 3 Αριθμητική Υπολογιστών Όγδοη (8 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση),

Διαβάστε περισσότερα

Αναπαράσταση Δεδομένων (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Αναπαράσταση Δεδομένων (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Αναπαράσταση Δεδομένων (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική «Λογικές» πράξεις, μάσκες Πώς βρίσκουμε το υπόλοιπο μιας διαίρεσης με το 4; διαίρεση με 4 = δεξιά ολίσθηση 2 bits Το υπόλοιπο

Διαβάστε περισσότερα

Σύστημα Πλεονάσματος. Αναπαράσταση Πραγματικών Αριθμών. Αριθμητικές Πράξεις σε Αριθμούς Κινητής Υποδιαστολής

Σύστημα Πλεονάσματος. Αναπαράσταση Πραγματικών Αριθμών. Αριθμητικές Πράξεις σε Αριθμούς Κινητής Υποδιαστολής Σύστημα Πλεονάσματος Αναπαράσταση Πραγματικών Αριθμών Αριθμητικές Πράξεις σε Αριθμούς Κινητής Υποδιαστολής Σύστημα Πλεονάσματος (Excess System) - 1 Είναι μια άλλη μια μορφή αναπαράστασης για αποθήκευση

Διαβάστε περισσότερα

Σύστημα Πλεονάσματος και Αναπαράσταση Αριθμών Κινητής Υποδιαστολής

Σύστημα Πλεονάσματος και Αναπαράσταση Αριθμών Κινητής Υποδιαστολής Σύστημα Πλεονάσματος και Αναπαράσταση Αριθμών Κινητής Υποδιαστολής Σύστημα Πλεονάσματος (Excess System) - 1 Είναι μια άλλη μια μορφή αναπαράστασης για αποθήκευση θετικών και αρνητικών ακεραίων σε έναν

Διαβάστε περισσότερα

Πληροφορική. Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Πληροφορική. Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Πληροφορική Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής Άδειες Χρήσης

Διαβάστε περισσότερα

Τις ασκήσεις επιμελήθηκαν οι καθηγητές της Γ Γυμνασίου των σχολείων μας και ο συντονιστής Μαθηματικών.

Τις ασκήσεις επιμελήθηκαν οι καθηγητές της Γ Γυμνασίου των σχολείων μας και ο συντονιστής Μαθηματικών. Τις ασκήσεις επιμελήθηκαν οι καθηγητές της Γ Γυμνασίου των σχολείων μας και ο συντονιστής Μαθηματικών. Ερωτήσεις «Σωστού - Λάθους» 1) Για όλους τους πραγματικούς α, β ισχύει: ( ) ( ) 3 3 ) Για όλους τους

Διαβάστε περισσότερα

Εθνικό Μετσ όβιο Πολυτεχνείο Σχολή Πολιτικών Μηχανικών Τομέας Μεταφορών και Συγκοινωνιακής Υποδομής Εφαρμογή της Θεωρίας Παιγνίων σ την Ανάλυσ η της Ροής Δικύκλων σ ε Ασ τικές Αρτηρίες Διπλωματική εργασ

Διαβάστε περισσότερα

11. Ποιες είναι οι άμεσες συνέπειες της διαίρεσης;

11. Ποιες είναι οι άμεσες συνέπειες της διαίρεσης; 10. Τι ονομάζουμε Ευκλείδεια διαίρεση και τέλεια διαίρεση; Όταν δοθούν δύο φυσικοί αριθμοί Δ και δ, τότε υπάρχουν δύο άλλοι φυσικοί αριθμοί π και υ, έτσι ώστε να ισχύει: Δ = δ π + υ. Ο αριθμός Δ λέγεται

Διαβάστε περισσότερα

Κ15 Ψηφιακή Λογική Σχεδίαση 2: Δυαδικό Σύστημα / Αναπαραστάσεις

Κ15 Ψηφιακή Λογική Σχεδίαση 2: Δυαδικό Σύστημα / Αναπαραστάσεις Κ15 Ψηφιακή Λογική Σχεδίαση 2: Δυαδικό Σύστημα / Αναπαραστάσεις Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Δυαδικό Σύστημα Αρίθμησης Περιεχόμενα 1 Δυαδικό

Διαβάστε περισσότερα

Διπλωματική Εργασία των φοιτητών του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

Διπλωματική Εργασία των φοιτητών του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ:ΣΥΣΤΗΜΑΤΩΝ ΚΑΙ ΑΥΤΟΜΑΤΟΥ ΕΛΕΓΧΟΥ ΕΡΓΑΣΤΗΡΙΟ ΑΥΤΟΜΑΤΙΣΜΩΝ ΚΑΙ ΡΟΜΠΟΤΙΚΗΣ Διπλωματική Εργασία των φοιτητών του Τμήματος

Διαβάστε περισσότερα

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ Τετάρτη 5-12/11/2014 ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ ΕΚΠΑΙΔΕΥΤΗΣ: ΤΡΟΧΙΔΗΣ ΠΑΝΑΓΙΩΤΗΣ 1. Παράσταση και οργάνωση δεδομένων

Διαβάστε περισσότερα

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 3 : Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ.

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 3 : Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ. Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Πληροφορική Ι Ενότητα 3 : Αναπαράσταση αριθμών στο δυαδικό σύστημα Δρ. Γκόγκος Χρήστος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Χρηματοοικονομικής

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 3: Πίνακες, βρόχοι, συναρτήσεις 1 Ιουνίου 2017 Το σημερινό εργαστήριο

Διαβάστε περισσότερα

Autoorgan menec Domèc Dedomènwn

Autoorgan menec Domèc Dedomènwn Autoorgan menec Domèc Dedomènwn Kosvmatìpouloc Andrèac AEM: 1490 Epiblèpwn Kajhght c KwnsvtantÐnoc TsvÐqlac, Lèktorac tm. Plhroforik c APJ Septèmbrioc 2010 Abstract Ecient data storage and fast data manipulation

Διαβάστε περισσότερα

ΣΦΑΛΜΑΤΑ ΑΡΙΘΜΗΤΙΚΩΝ ΥΠΟΛΟΓΙΣΜΩΝ

ΣΦΑΛΜΑΤΑ ΑΡΙΘΜΗΤΙΚΩΝ ΥΠΟΛΟΓΙΣΜΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Εργαστήριο Θερμικών Στροβιλομηχανών Μονάδα Παράλληλης Υπολογιστικής Ρευστοδυναμικής & Βελτιστοποίησης ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ (4 ο Εξάμηνο Σχολής Μηχ.Μηχ. ΕΜΠ) ΣΦΑΛΜΑΤΑ ΑΡΙΘΜΗΤΙΚΩΝ

Διαβάστε περισσότερα

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης 1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης Στη συγκεκριμένη ενότητα εξετάζουμε θέματα σχετικά με την αριθμητική πεπερασμένης ακρίβειας που χρησιμοποιούν οι σημερινοί υπολογιστές και τα

Διαβάστε περισσότερα

Να υπολογίζουμε τη λύση ή ρίζα ενός πολυωνύμου της μορφής. Να υπολογίζουμε τη ν-οστή ρίζα ενός μη αρνητικού αριθμού.

Να υπολογίζουμε τη λύση ή ρίζα ενός πολυωνύμου της μορφής. Να υπολογίζουμε τη ν-οστή ρίζα ενός μη αρνητικού αριθμού. Ενότητα 3 Ρίζες Πραγματικών Αριθμών Στην ενότητα αυτή θα μάθουμε: Να υπολογίζουμε τη λύση ή ρίζα ενός πολυωνύμου της μορφής Ρ x x ν α. Να υπολογίζουμε τη ν-οστή ρίζα ενός μη αρνητικού αριθμού. Τις ιδιότητες

Διαβάστε περισσότερα

Γ ε ν ι κ ό Λ ύ κ ε ι ο Ε λ ε υ θ ε ρ ο ύ π ο λ η ς. Α λ γ ό ρ ι θ μ ο ι

Γ ε ν ι κ ό Λ ύ κ ε ι ο Ε λ ε υ θ ε ρ ο ύ π ο λ η ς. Α λ γ ό ρ ι θ μ ο ι Α λ γ ό ρ ι θ μ ο ι Αριθμητικοί τελεστές Οι αριθμητικοί τελεστές είναι: πρόσθεση, αφαίρεση, πολλαπλασιασμός και διαίρεση +,-,*,/ ύψωση σε δύναμη ^ πηλίκο ακέραιης διαίρεσης δύο ακεραίων αριθμών div υπόλοιπο

Διαβάστε περισσότερα

Στ Τάξη. Α/Α Μαθηματικό περιεχόμενο Δείκτες Επιτυχίας Ώρες Διδ. 1 ENOTHTA 1

Στ Τάξη. Α/Α Μαθηματικό περιεχόμενο Δείκτες Επιτυχίας Ώρες Διδ. 1 ENOTHTA 1 Ενδεικτική Οργάνωση Ενοτήτων Στ Τάξη Α/Α Μαθηματικό περιεχόμενο Δείκτες Επιτυχίας Ώρες Διδ. 1 ENOTHTA 1 15 Αρ3.1 Απαγγέλουν, διαβάζουν, γράφουν και αναγνωρίζουν ποσότητες αριθμών Επανάληψη μέχρι το 1 000

Διαβάστε περισσότερα

Chapter 3. Αριθμητική Υπολογιστών. (συνέχεια)

Chapter 3. Αριθμητική Υπολογιστών. (συνέχεια) Chapter 3 Αριθμητική Υπολογιστών (συνέχεια) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση: Καθ. Εφαρμογών Νικόλαος Πετράκης, Τμήματος Ηλεκτρονικών Μηχανικών του Τ.Ε.Ι.

Διαβάστε περισσότερα

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 5 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ. url:

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 5 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ.   url: στους Ηλεκτρονικούς Υπολογιστές 5 ο Μάθημα Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ email: leo@mail.ntua.gr url: http://users.ntua.gr/leo Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

Εισαγωγή στους Υπολογιστές

Εισαγωγή στους Υπολογιστές Εισαγωγή στους Υπολογιστές Ενότητα #2: Αναπαράσταση δεδομένων Αβεβαιότητα και Ακρίβεια Καθ. Δημήτρης Ματαράς Πολυτεχνική Σχολή Τμήμα Χημικών Μηχανικών Αναπαράσταση δεδομένων (Data Representation), Αβεβαιότητα

Διαβάστε περισσότερα

12. ΑΝΙΣΩΣΕΙΣ Α ΒΑΘΜΟΥ. είναι δύο παραστάσεις μιας μεταβλητής x πού παίρνει τιμές στο

12. ΑΝΙΣΩΣΕΙΣ Α ΒΑΘΜΟΥ. είναι δύο παραστάσεις μιας μεταβλητής x πού παίρνει τιμές στο ΓΕΝΙΚΑ ΠΕΡΙ ΑΝΙΣΩΣΕΩΝ Έστω f σύνολο Α, g Α ΒΑΘΜΟΥ είναι δύο παραστάσεις μιας μεταβλητής πού παίρνει τιμές στο Ανίσωση με έναν άγνωστο λέγεται κάθε σχέση της μορφής f f g g ή, η οποία αληθεύει για ορισμένες

Διαβάστε περισσότερα

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 5 o Φροντιστήριο

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 5 o Φροντιστήριο Πρόβλημα ο Ασκήσεις Φροντιστηρίου 5 o Φροντιστήριο Δίνεται το παρακάτω σύνολο εκπαίδευσης: # Είσοδος Κατηγορία 0 0 0 Α 2 0 0 Α 0 Β 4 0 0 Α 5 0 Β 6 0 0 Α 7 0 Β 8 Β α) Στον παρακάτω κύβο τοποθετείστε τα

Διαβάστε περισσότερα

ΣΗΜΑΝΤΙΚΑ ΨΗΦΙΑ, ΑΒΕΒΑΙΟΤΗΤΑ ΚΑΙ ΔΙΑΔΟΣΗ ΣΦΑΛΜΑΤΩΝ. 1. Στρογγυλοποίηση Γενικά Κανόνες Στρογγυλοποίησης... 2

ΣΗΜΑΝΤΙΚΑ ΨΗΦΙΑ, ΑΒΕΒΑΙΟΤΗΤΑ ΚΑΙ ΔΙΑΔΟΣΗ ΣΦΑΛΜΑΤΩΝ. 1. Στρογγυλοποίηση Γενικά Κανόνες Στρογγυλοποίησης... 2 ΣΗΜΑΝΤΙΚΑ ΨΗΦΙΑ, ΑΒΕΒΑΙΟΤΗΤΑ ΚΑΙ ΔΙΑΔΟΣΗ ΣΦΑΛΜΑΤΩΝ Περιεχόμενα 1. Στρογγυλοποίηση.... 2 1.1 Γενικά.... 2 1.2 Κανόνες Στρογγυλοποίησης.... 2 2. Σημαντικά ψηφία.... 2 2.1 Γενικά.... 2 2.2 Κανόνες για την

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ 1 ΠΡΑΓΜΑΤΙΚΟΙ ΑΡΙΘΜΟΙ ΑΚΟΛΟΥΘΙΕΣ ΑΡΙΘΜΩΝ EΞΙΣΩΣΕΙΣ...47 ΠΡΟΛΟΓΟΣ... 9

ΠΕΡΙΕΧΟΜΕΝΑ 1 ΠΡΑΓΜΑΤΙΚΟΙ ΑΡΙΘΜΟΙ ΑΚΟΛΟΥΘΙΕΣ ΑΡΙΘΜΩΝ EΞΙΣΩΣΕΙΣ...47 ΠΡΟΛΟΓΟΣ... 9 ΠΕΡΙΕΧΟΜΕΝΑ ΠΡΟΛΟΓΟΣ... 9 1 ΠΡΑΓΜΑΤΙΚΟΙ ΑΡΙΘΜΟΙ...11 1.1 Βασικές θεωρητικές γνώσεις... 11 1.. Λυμένα προβλήματα... 19 1. Προβλήματα προς λύση... 4 1.4 Απαντήσεις προβλημάτων Πραγματικοί αριθμοί... 0 ΑΚΟΛΟΥΘΙΕΣ

Διαβάστε περισσότερα

Κεφάλαιο 2. Οργάνωση και διαχείριση της Πληροφορίας στον. Υπολογιστή

Κεφάλαιο 2. Οργάνωση και διαχείριση της Πληροφορίας στον. Υπολογιστή ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 2 Οργάνωση και διαχείριση της Πληροφορίας στον Υπολογιστή Δεδομένα και Εντολές πληροφορία δεδομένα εντολές αριθμητικά δδ δεδομένα κείμενο εικόνα Επιλογή Αναπαράστασης

Διαβάστε περισσότερα

Συστήματα αρίθμησης. = α n-1 *b n-1 + a n-2 *b n-2 + +a 1 b 1 + a 0 όπου τα 0 a i b-1

Συστήματα αρίθμησης. = α n-1 *b n-1 + a n-2 *b n-2 + +a 1 b 1 + a 0 όπου τα 0 a i b-1 Συστήματα αρίθμησης Δεκαδικό σύστημα αρίθμησης 1402 = 1000 + 400 +2 =1*10 3 + 4*10 2 + 0*10 1 + 2*10 0 Γενικά σε ένα σύστημα αρίθμησης με βάση το b N, ένας ακέραιος αριθμός με n ψηφία παριστάνεται ως:

Διαβάστε περισσότερα

Αριθμητικά Συστήματα

Αριθμητικά Συστήματα Αριθμητικά Συστήματα Σε οποιοδήποτε αριθμητικό σύστημα, με βάση τον αριθμό Β, ένας ακέραιος αριθμός με πλήθος ψηφίων ν, εκφράζεται ως ακολούθως: α ν-1 α ν-2 α 1 α 0 = α ν-1 Β ν-1 + α ν-2 Β ν-2 + + α 1

Διαβάστε περισσότερα

10-δικό δικό

10-δικό δικό Προγραμματισμός Η/Υ - Ι Εαρινό Εξάμηνο 2018-2019 Τμήμα Ηλεκτρολόγων Μηχανικών Τ.Ε. Αριθμητικά Συστήματα 1. Εισαγωγή Όπως γνωρίζουμε, οι υπολογιστές χρησιμοποιούν το δυαδικό σύστημα για την αναπαράσταση

Διαβάστε περισσότερα

Άλγεβρα Α Λυκείου Κεφάλαιο 2ο. οι πράξεις και οι ιδιότητές τους

Άλγεβρα Α Λυκείου Κεφάλαιο 2ο. οι πράξεις και οι ιδιότητές τους οι πράξεις και οι ιδιότητές τους Μερικές ακόμη ταυτότητες (επιπλέον από τις αξιοσημείωτες που βρίσκονται στο σχολικό βιβλίο) ) Διαφορά δυνάμεων με ίδιο εκθέτη: ειδικά αν ο εκθέτης ν είναι άρτιος υπάρχει

Διαβάστε περισσότερα

Ελίνα Μακρή

Ελίνα Μακρή Ελίνα Μακρή elmak@unipi.gr Μετατροπή Αριθμητικών Συστημάτων Πράξεις στα Αριθμητικά Συστήματα Σχεδίαση Ψηφιακών Κυκλωμάτων με Logism Άλγεβρα Boole Λογικές Πύλες (AND, OR, NOT, NAND, XOR) Flip Flops (D,

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΙΚΗΣ ΙΣΧΥΟΣ Μελέτη της συμπεριφοράς των Εικονικών Σύγχρονων Μηχανών στη Στήριξη της Συχνότητας ΔΙΠΛΩΜΑΤΙΚΗ

Διαβάστε περισσότερα

Αριθµητικές Μέθοδοι και Προγραµµατισµός Αριθµητική Ανάλυση (ή Επιστηµονικοί Υπολογισµοί)

Αριθµητικές Μέθοδοι και Προγραµµατισµός Αριθµητική Ανάλυση (ή Επιστηµονικοί Υπολογισµοί) Αριθµητικές Μέθοδοι και Προγραµµατισµός Αριθµητική Ανάλυση (ή Επιστηµονικοί Υπολογισµοί) ιδάσκοντες: Καθηγητής Ν. Μισυρλής, Επίκ. Καθηγητής Φ.Τζαφέρης ΕΚΠΑ 7 Οκτωβρίου 2014 ιδάσκοντες: Καθηγητής Ν. Μισυρλής,Επίκ.

Διαβάστε περισσότερα

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών Ενότητα 2: Αποθήκευση Δεδομένων, 2ΔΩ Τμήμα: Αγροτικής Οικονομίας & Ανάπτυξης Διδάσκων: Θεόδωρος Τσιλιγκιρίδης Μαθησιακοί Στόχοι Η Ενότητα 2 διαπραγματεύεται θέματα

Διαβάστε περισσότερα

Κεφάλαιο 2. Συστήματα Αρίθμησης και Αναπαράσταση Πληροφορίας. Περιεχόμενα. 2.1 Αριθμητικά Συστήματα. Εισαγωγή

Κεφάλαιο 2. Συστήματα Αρίθμησης και Αναπαράσταση Πληροφορίας. Περιεχόμενα. 2.1 Αριθμητικά Συστήματα. Εισαγωγή Κεφάλαιο. Συστήματα Αρίθμησης και Αναπαράσταση Πληροφορίας Περιεχόμενα. Αριθμητικά συστήματα. Μετατροπή αριθμών από ένα σύστημα σε άλλο.3 Πράξεις στο δυαδικό σύστημα.4 Πράξεις στο δεκαεξαδικό σύστημα.5

Διαβάστε περισσότερα

Κεφάλαιο 2 Κωδικοποίηση & Αποκωδικοποίηση

Κεφάλαιο 2 Κωδικοποίηση & Αποκωδικοποίηση Κεφάλαιο 2 Κωδικοποίηση & Αποκωδικοποίηση Αριθµών & Χαρακτήρων Αποκωδικοποίηση Κωδικοποίηση Συστήµατα Αρίθµησης το υαδικό Μετατροπή από το ένα σύστηµα στο άλλο Η πρόσθεση & η αφαίρεση στο υαδικό H αφαίρεση

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική αρ χή Εισαγωγή στην Πληροφορική Σημειώσεις Παράρτημα 1 Οδηγός μελέτης για τις εξετάσεις 12/1/2017 μπορεί να συμπληρωθεί τις επόμενες μέρες Μάριος Μάντακας Τμήμα Μηχανικών Πληροφορικής Τ.Ε. ΤΕΙ Ηπείρου

Διαβάστε περισσότερα

Εισ αγωγήσ τηνπληροφορική. ΙωάννηςΓ.Τσ ούλος

Εισ αγωγήσ τηνπληροφορική. ΙωάννηςΓ.Τσ ούλος Εισ αγωγήσ τηνπληροφορική ΙωάννηςΓ.Τσ ούλος 2012 Chapter 1 ΕΙΣΑΓΩΓΗ ΣΤΑ Windows XP 1.1 Λειτουργίες Αρχείων Στηνενότητααυτήθαεξετάσ ουμεμερικέςαπλέςλειτουργίεςαρχείωνμετιςοποίες μπορούμεεύκολαναβρούμετονδρόμομαςσ

Διαβάστε περισσότερα

1 ο ΦΥΛΛΑΔΙΟ ΑΣΚΗΣΕΩΝ - ΑΛΓΟΡΙΘΜΟΙ

1 ο ΦΥΛΛΑΔΙΟ ΑΣΚΗΣΕΩΝ - ΑΛΓΟΡΙΘΜΟΙ Δ.Π.Θ. - Πολυτεχνική Σχολή Τμήμα Μηχανικών Παραγωγής & Διοίκησης Ακαδ. έτος 2017-2018 Τομέας Συστημάτων Παραγωγής Εξάμηνο A Αναπληρωτής Καθηγητής Στέφανος Δ. Κατσαβούνης 03 ΟΚΤ 2017 ΜΑΘΗΜΑ : ΕΙΣΑΓΩΓΗ ΣΤΗΝ

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΙΚΗΣ ΙΣΧΥΟΣ Ρύθμιση Ηλεκτρονόμων Υπερέντασης-Κατεύθυνσης για Προσαρμοστικά Συστήματα Προστασίας, με χρήση

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 13: Αλγόριθμοι-Μεγάλων ακεραίων- Εκθετοποίηση- Πολλαπλασιασμός πινάκων -Strassen Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

2 using namespace s t d ; 4 { 12 int t= x ; 6 x=y ; 7 y=t ; 8 } 9 11 { 13 x= y ; 14 y=t ; 15 } {

2 using namespace s t d ; 4 { 12 int t= x ; 6 x=y ; 7 y=t ; 8 } 9 11 { 13 x= y ; 14 y=t ; 15 } { Δυναμική κατανομή μνήμης Ιωάννης Γ. Τσ ούλος 2014 1 Χρήσ η δεικτών Οι δείκτες μπορούν να χρησ ιμοποιηθούν προκειμένου να αναφερθούν σ ε διευθύνσ εις μεταβλητών και όχι απευθείας σ τις ίδιες τις μεταβλητές.

Διαβάστε περισσότερα

Αλγόριθμοι Ταξινόμησης Μέρος 4

Αλγόριθμοι Ταξινόμησης Μέρος 4 Αλγόριθμοι Ταξινόμησης Μέρος 4 Μανόλης Κουμπαράκης Δομές Δεδομένων και Τεχνικές 1 Μέθοδοι Ταξινόμησης Βασισμένοι σε Συγκρίσεις Κλειδιών Οι αλγόριθμοι ταξινόμησης που είδαμε μέχρι τώρα αποφασίζουν πώς να

Διαβάστε περισσότερα

Αρχιτεκτονικές Υπολογιστών

Αρχιτεκτονικές Υπολογιστών ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΥΠΟΛΟΓΙΣΤΩΝ Μάθηµα: Αρχιτεκτονικές Υπολογιστών Αναπαράσταση εδοµένων ιδάσκων: Αναπλ. Καθ. Κ. Λαµπρινουδάκης clam@unipi.gr Αρχιτεκτονικές Υπολογιστών Aναπλ. Καθ. Κ. Λαµπρινουδάκης 1 εδοµένα

Διαβάστε περισσότερα

Λογικός Σχεδιασµός και Σχεδιασµός Η/Υ. ΗΜΥ-210: Εαρινό Εξάµηνο Σκοπός του µαθήµατος. Ψηφιακά Συστήµατα. Περίληψη. Εύρος Τάσης (Voltage(

Λογικός Σχεδιασµός και Σχεδιασµός Η/Υ. ΗΜΥ-210: Εαρινό Εξάµηνο Σκοπός του µαθήµατος. Ψηφιακά Συστήµατα. Περίληψη. Εύρος Τάσης (Voltage( ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο 2005 Σκοπός του µαθήµατος Λογικός Σχεδιασµός και Σχεδιασµός Η/Υ Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.1-1.2) Βασικές έννοιες & εργαλεία που χρησιµοποιούνται

Διαβάστε περισσότερα

τα βιβλία των επιτυχιών

τα βιβλία των επιτυχιών Τα βιβλία των Εκδόσεων Πουκαμισάς συμπυκνώνουν την πολύχρονη διδακτική εμπειρία των συγγραφέων μας και αποτελούν το βασικό εκπαιδευτικό υλικό που χρησιμοποιούν οι μαθητές των φροντιστηρίων μας. Μέσα από

Διαβάστε περισσότερα

Μαθηματικά Γ Γυμνασίου

Μαθηματικά Γ Γυμνασίου Α λ γ ε β ρ ι κ έ ς π α ρ α σ τ ά σ ε ι ς 1.1 Πράξεις με πραγματικούς αριθμούς (επαναλήψεις συμπληρώσεις) A. Οι πραγματικοί αριθμοί και οι πράξεις τους Διδακτικοί στόχοι Θυμάμαι ποιοι αριθμοί λέγονται

Διαβάστε περισσότερα

Αριθμητική Ανάλυση και Εφαρμογές

Αριθμητική Ανάλυση και Εφαρμογές Αριθμητική Ανάλυση και Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 07-08 Πεπερασμένες και Διαιρεμένες Διαφορές Εισαγωγή Θα εισάγουμε την έννοια των διαφορών με ένα

Διαβάστε περισσότερα

1ο Κεφάλαιο: Συστήματα

1ο Κεφάλαιο: Συστήματα ο Κεφάλαιο: Συστήματα Γραμμικά συστήματα i. Ποια εξίσωση λέγεται γραμμική; ii. Πως μεταβάλλεται η ευθεία y, 0 ή 0 για τις διάφορες τιμές των α,β,γ; iii. Τι ονομάζεται λύση μιας γραμμικής εξίσωσης; iv.

Διαβάστε περισσότερα

3 η Multimedia Διάλεξη με θέμα Ip address Classes and Subnetting

3 η Multimedia Διάλεξη με θέμα Ip address Classes and Subnetting 3 η Multimedia Διάλεξη με θέμα Ip address Classes and Subnetting Περιέχει: Συστήματα αρίθμησης (Δεκαδικό, Δυαδικό, Οκταδικό, Δεκαεξαδικό, Παραδείγματα) Φυσικές διευθύνσεις (Mac addresses, BIA) Λογικές

Διαβάστε περισσότερα

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές http://courseware.mech.ntua.gr/ml23021/ 3 ο Μάθημα Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ E-mail: leo@mail.ntua.gr URL: http://users.ntua.gr/leo 1 Κωδικοποίηση & Αποκωδικοποίηση

Διαβάστε περισσότερα

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 7 και 8: Αναπαραστάσεις. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 7 και 8: Αναπαραστάσεις. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Μάθημα 7 και 8: Αναπαραστάσεις Αναπαράσταση Πληροφορίας Η/Υ Αριθμητικά δεδομένα Σταθερής υποδιαστολής Κινητής υποδιαστολής Μη αριθμητικά δεδομένα Χαρακτήρες Ειδικοί κώδικες Εντολές Γλώσσα

Διαβάστε περισσότερα

Πτυχιακή εργασ ία Μουσ ική Σύνθεσ η Με Εξελικτικούς Αλγορίθμους Του φοιτητή Γεωργιάδη Κωνσ ταντίνου Αρ. Μητρώου: 03/2275 Επιβλέπων Καθηγητής Αδαμίδης Παναγιώτης Θεσ σ αλονίκη 2010 Μουσ ική σ ύνθεσ η με

Διαβάστε περισσότερα

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 3 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ. url:

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 3 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ.   url: Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές 3 ο Μάθημα Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ email: leo@mail.ntua.gr url: http://users.ntua.gr/leo Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΣΤΑΘΕΡΕΣ είναι τα μεγέθη που δεν μεταβάλλονται κατά την εκτέλεση ενός αλγόριθμου. Εκτός από τις αριθμητικές σταθερές (7, 4, 3.5, 100 κλπ), τις λογικές σταθερές (αληθής και ψευδής)

Διαβάστε περισσότερα

ΘΕΩΡΙΑ Β ΓΥΜΝΑΣΙΟΥ. Μια παράσταση που περιέχει πράξεις με μεταβλητές (γράμματα) και αριθμούς καλείται αλγεβρική, όπως για παράδειγμα η : 2x+3y-8

ΘΕΩΡΙΑ Β ΓΥΜΝΑΣΙΟΥ. Μια παράσταση που περιέχει πράξεις με μεταβλητές (γράμματα) και αριθμούς καλείται αλγεβρική, όπως για παράδειγμα η : 2x+3y-8 ΘΕΩΡΙΑ Β ΓΥΜΝΑΣΙΟΥ Άλγεβρα 1 ο Κεφάλαιο 1. Τι ονομάζουμε αριθμητική και τι αλγεβρική παράσταση; Να δώσετε από ένα παράδειγμα. Μια παράσταση που περιέχει πράξεις με αριθμούς, καλείται αριθμητική παράσταση,

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ I. 4 η ΔΙΑΛΕΞΗ Αριθμητικά Συστήματα

ΠΛΗΡΟΦΟΡΙΚΗ I. 4 η ΔΙΑΛΕΞΗ Αριθμητικά Συστήματα ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ - ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΙΣΑΓΩΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΤΟΥΡΙΣΤΙΚΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΚΑΙ ΕΠΙΧΕΙΡΗΣΕΩΝ ΦΙΛΟΞΕΝΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗ I 4 η ΔΙΑΛΕΞΗ Αριθμητικά Συστήματα ΧΑΣΑΝΗΣ ΒΑΣΙΛΕΙΟΣ

Διαβάστε περισσότερα

Ρητοί αριθμοί λέγονται οι αριθμοί που έχουν ή μπορούν να πάρουν τη μορφή

Ρητοί αριθμοί λέγονται οι αριθμοί που έχουν ή μπορούν να πάρουν τη μορφή ΣΥΝΑΡΤΗΣΕΙΣ (ΕΙΣΑΓΩΓΗ)-ΘΕΩΡΕΙΑ ΠΡΑΓΜΑΤΙΚΟΙ ΑΡΙΘΜΟΙ Το σύνολο των πραγματικών αριθμών Υπενθυμίζουμε ότι το σύνολο των πραγματικών αριθμώv αποτελείται από τους ρητούς και τους άρρητους αριθμούς και παριστάνεται

Διαβάστε περισσότερα

x 2,, x Ν τον οποίον το αποτέλεσμα επηρεάζεται από

x 2,, x Ν τον οποίον το αποτέλεσμα επηρεάζεται από Στη θεωρία, θεωρία και πείραμα είναι τα ΘΕΩΡΙΑ ΣΦΑΛΜΑΤΩΝ... υπό ισχυρή συμπίεση ίδια αλλά στο πείραμα είναι διαφορετικά, A.Ensten Οι παρακάτω σημειώσεις περιέχουν τα βασικά σημεία που πρέπει να γνωρίζει

Διαβάστε περισσότερα