Κεφάλαιο 2 | Ενότητα1 | Ερωτήσεις επισκόπησης | Επόμενο|Προηγούμενο|Λεξικό όρων

H δομή της στοίβας του υπολογιστή HP3000

Ένας υπολογιστής που χρησιμοποιεί την αρχιτεκτονική στοίβας είναι ο HP3000. Ο HP3000 αποθηκεύει τις εντολές και τα δεδομένα ενός προγράμματος σε διαφορετικά τμήματα της κύριας μνήμης. Τα τμήματα καθορίζονται από τρεις διαφορετικούς καταχωρητές. Ο καταχωρητής βάσης προγράμματος (program base register - PB) και ο καταχωρητής ορίου προγράμματος (program limit register - PL), καθορίζουν την περιοχή της κύριας μνήμης που χρησιμοποιείται από το πρόγραμμα, ενώ ο απαριθμητής προγράμματος (PC) δείχνει στην επόμενη εντολή που πρόκειται να εκτελεστεί. Κάθε ένας από αυτούς τους τρεις καταχωρητής περιέχει μια διεύθυνση των 16 ψηφίων.

Η περιοχή που περιέχει τα δεδομένα χωρίζεται σε δύο τμήματα: τη στοίβα και την περιοχή των δεδομένων. Το περιεχόμενο του DB καθορίζει τη διεύθυνση στην οποία αρχίζει η στοίβα. Η στοίβα μεγαλώνει προς μεγαλύτερες διευθύνσεις. Δηλαδή, αν για παράδειγμα το στοιχείο κορυφής βρίσκεται στη διεύθυνση 1000, τότε το επόμενο στοιχείο που ωθείται στη στοίβα, θα βρίσκεται στη θέση 1004. Η διεύθυνση του στοιχείου κορυφής καθορίζεται από τον δείκτη στοίβας SP. Το ανώτατο όριο που μπορεί να φτάσει η στοίβα, δηλαδή η μεγαλύτερη διεύθυνση στη οποία μπορεί να εισαχθεί στοιχείο, καθορίζεται από τον καταχωρητή ορίου στοίβας (stack limit register-SL). Στην περίπτωση που το περιεχόμενο του SP είναι ίσο με το περιεχόμενο του SL, η στοίβα είναι γεμάτη. Στο σχήμα 2.1.6 απεικονίζονται τα τμήματα του προγράμματος και των δεδομένων, όπως είναι οργανωμένα στον υπολογιστή HP3000.

Σχήμα 2.1.6 - Τα τμήματα του προγράμματος και των δεδομένων όπως είναι οργανωμένα στον υπολογιστή HP3000.

Οι περισσότερες εντολές του HP3000 έχουν μέγεθος 16 ψηφίων. Συνολικά υπάρχουν 13 κατηγορίες εντολών. Στη συνέχεια αναφέρουμε ενδεικτικά κάποιες εντολές στις οποίες ο ένας τελεστέος βρίσκεται στη στοίβα και τη λειτουργία που αυτές επιτελούν.

Εντολή Λειτουργία
   LOAD A   
Ώθηση του στοιχείου Α από τη μνήμη στη στοίβα.
  ADDM Β  
Πρόσθεση της τιμής του στοιχείου, το οποίο βρίσκεται
στην κύρια μνήμη στη θέση Β, με την τιμή του στοιχείου
κορυφής της στοίβας και αντικατάσταση του στοιχείου
κορυφής με το αποτέλεσμα.
  ADD   
Πρόσθεση του στοιχείου κορυφής με το επόμενο στοιχείο
της στοίβας και αντικατάσταση του στοιχείου κορυφής
από το αποτέλεσμα.
  STOR C   
Αποθήκευση του στοιχείου κορυφής της στοίβας στη
θέση διεύθυνση D της κύριας μνήμης.


Στην εντολή ADD τελεστέος υπονοείται ότι είναι το στοιχείο κορυφής της στοίβας. Επίσης και στις υπόλοιπες εντολές μόνο ένας από τους δύο τελεστέους καθορίζεται από την εντολή, ενώ ο άλλος τελεστέος υπονοείται ότι είναι το στοιχείο κορυφής της στοίβας. Επομένως όταν χρησιμοποιείται αρχιτεκτονική στοίβας, όπως στην περίπτωση του ΗΡ3000, η διεύθυνση στην οποία βρίσκονται οι τελεστέοι υπονοείται.