Hellenica World

.


Η μονάδα κινητής υποδιαστολής (Floating Point Unit, FPU) αποτελεί μέρος του υπολογιστικού συστήματος ειδικά σχεδιασμένο να πραγματοποιεί πράξεις με αριθμούς κινητής υποδιαστολής, δηλαδή δεκαδικούς αριθμούς(π.χ. 5,2343 x 2,345). Τυπικές πράξεις που εκτελεί είναι η πρόσθεση, η αφαίρεση ο πολλαπλασιασμός η διαίρεση και ο υπολογισμός τετραγωνικής ρίζας. Σε ορισμένα συστήματα (παλαιότερης μικροαρχιτεκτονικής ) μπορεί να εκτελούν και διάφορες άλλες πράξεις και υπολογισμούς όπως τριγωνομετρικούς υπολογισμούς. Στις μέρες μας αυτό επιτυγχάνεται με τη χρήση βιβλιοθηκών ρουτινών στο επίπεδο του λογισμικού.

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

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

Δεν έχουν όλες οι μικροαρχιτεκτονικές υλική υποστήριξη FPU. Ελλείψει ενός FPU, πολλές λειτουργίες απομιμούνται εικονικά. Ο τρόπος αυτός ναι μεν γλυτώνει το κόστος κατασκευής της αντίστοιχης μονάδας, αλλά είναι σημαντικά πιο αργός. Η εικονική απομίμηση, μπορεί να εφαρμοστεί σε οποιοδήποτε επίπεδο : εσωτερικά του επεξεργαστη με τη μορφή μικροκώδικα ή ως λειτουργία του λειτουργικού συστήματος.

Στις περισσότερες σύγχρονες αρχιτεκτονικές, υπάρχει ένας διαχωρισμός των δεκαδικών υπολογισμών από τους ακέραιους. Αυτός ο διαχωρισμός διαφέρει σημαντικά από αρχιτεκτονική σε αρχιτεκτονική. Μερικές, όπως η x86 της Intel, έχουν εξειδικευμένους καταχωρητές για δεκαδικούς υπολογισμούς.

Συνήθως οι δεκαδικοί υπολογισμοί εκτελούνται με την μέθοδο της διοχέτευσης. Σε προγενέστερες αρχιτεκτονικές οι δεκαδικοί υπολογισμοί διοχετεύονταν διαφορετικά από τους ακέραιους. Από τις αρχές της δεκαετίας του ’90, πολλοί υπολογιστές και εξυπηρετητές-servers, έχουν περισσότερες από μια FPU.

Όταν ένας επεξεργαστής εκτελεί ένα πρόγραμμα που απαιτεί δεκαδικούς υπολογισμούς, υπάρχουν 3 τρόποι να τους εκτελέσει :

Εικονική εκτέλεση του υπολογισμού (μέσω ειδικών βιβλιοθηκών)
Με πρόσθετη FPU
Με ολοκληρωμένη ενσωματωμένη FPU

Βιβλιοθήκες δεκαδικών υπολογισμών

Ορισμένες μονάδες υποστηρίζουν μόνο απλούς δεκαδικούς υπολογισμούς : πρόσθεση, αφαίρεση και πολλαπλασιασμό. Όμως ακόμα και οι πιο πολύπλοκες FPU έχουν ένα πεπερασμένο αριθμό υπολογισμών που μπορούν να κάνουν.

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

Το λογισμικό που χρησιμοποιείται για να κατηγοριοποιήσει αυτή τη σειρά των υπολογισμών, έτσι ώστε να προσομοιωθεί εικονικά ένας δεκαδικός υπολογισμός περιλαμβάνεται σε μια ειδική βιβλιοθήκη.
Ολοκληρωμένες FPU

Σε ορισμένες περιπτώσεις οι FPU είναι εξειδικευμένες και χωρισμένες μεταξύ απλών δεκαδικών υπολογισμών(πρόσθεση και αφαίρεση) και πιο περίπλοκων υπολογισμών(διαίρεση). Σε ορισμένες περιπτώσεις, μόνο οι πιο απλοί υπολογισμοί είναι ενσωματωμένοι στο υλικό και/ή σε μορφή μικροκώδικα, ενώ οι πιο πολύπλοκοι υπολογισμοί υλοποιούνται με προγραμματιστικές ρουτίνες (γραμμένες σε γλώσσα προγραμματισμού Assembly, ή μεταγλωττισμένες σε μια γλώσσα υψηλού επιπέδου.
Πρόσθετες FPU

Τη δεκαετία του 1980, στους υπολογιστές της IBM, το σύνηθες ήταν η FPU να είναι εντελώς ξεχωριστή και ανεξάρτητη από τη λειτουργία του επεξεργαστή, και συνήθως πωλούνταν ξεχωριστά ως προαιρετικό πρόσθετο. Αγοράζονταν μόνο αν χρειαζόταν να επιταχυνθούν ή να εκτελεστούν μαθηματικά προγράμματα.

Οι επεξεργαστές 8088 και 8086 είχαν και μια πρόσθετη υποδοχή για αυτόν τον συν-επεξεργαστή, τον 8087, όπως και οι άμεσοι διάδοχοι τους είχαν αντίστοιχο.

Από τον επεξεργαστή 80486 και μετά, η μονάδα δεκαδικών υπολογισμών ενσωματώθηκε στον επεξεργαστή. Μοναδική εξαίρεση αποτέλεσε ο 80486SX. Ο συγκεκριμένος επεξεργαστής είχε πρόσθετη υποδοχή για τον συν-επεξεργαστή του, τον 80487, ο οποίος στην πραγματικότητα ήταν ένας ολοκληρωμένος επεξεργαστής με ενσωματωμένη FPU. Σε περίπτωση που τοποθετούνταν στο σύστημα, ο 80486SX απενεργοποιούνταν.

Σε αντίθεση με την σειρά x87, πολλές εταιρείες κατασκεύαζαν συν-επεξεργαστές για την σειρά x86.

Εκτός από τις αρχιτεκτονικές της Intel, οι FPU με τη μορφή συν-επεξεργαστών μπορούσαν να χρησιμοποιηθούν και από τους επεξεργαστές Motorola 68000. Συγκεκριμένα οι επεξεργαστές Μοtorola 68020/68030 χρησιμοποιούσαν τις FPU 68881 και 68882, στους σταθμούς εργασίας της σειράς Sun 3. Συχνά τοποθετούνταν και στα υψηλότερης απόδοσης μοντέλα των υπολογιστών Apple Macintosh και Commodore Amiga, αλλά δεν συναντώνταν σε χαμηλότερα μοντέλα, εκτός από τους υπολογιστές της ΙΒΜ. Με την κατασκευή του 68040, η Motorola ενσωμάτωσε την FPU στον επεξεργαστή, αλλά όπως και στη σειρά επεξεργαστών x86 της Ιντελ, διαθέτονταν και ένας επεξεργαστής (ο 68LC040) χωρίς ενσωματωμένη FPU.
Δείτε επίσης

x86

Wikipedia-logo.png Στο λήμμα αυτό έχει ενσωματωθεί κείμενο από το λήμμα Floating-point unit της Αγγλόγλωσσης Βικιπαίδειας, η οποία διανέμεται υπό την GNU FDL και την CC-BY-SA 3.0. (ιστορικό/συντάκτες).

Retrieved from "http://el.wikipedia.org/"
All text is available under the terms of the GNU Free Documentation License

Τεχνολογία

Επιστήμη

Αλφαβητικός κατάλογος

Home