1. Τάξη : Α’ Λυκείου
Ενότητα : Υλικό Υπολογιστή
Ιστοσελίδα : http://matt.krutar.org/LMC4/
Ενδεικτική Διάρκεια : 1 διδακτική ώρα
Little Man Computer
Σε αυτό το φύλλο εργασίας θα µελετήσεις την αρχιτεκτονική ενός υπολογιστή. Πιο
συγκεκριµένα θα εξετάσεις ένα απλό εκπαιδευτικό µοντέλο του υπολογιστή που
ονοµάζεται Little Man Computer (LMC).
Το παραπάνω µοντέλο είναι εκπαιδευτικό και δεν µοιάζει απόλυτα µε το πραγµατικό
µοντέλο που φαίνεται παρακάτω :
Σαρηµπαλίδης Ιωάννης Σελίδα 1
2. Εφαρµογές Υπολογιστών
Οι βασικές διαφορές είναι οι εξής:
• Η µνήµη είναι ξεχωριστή από τη CPU,
• Τα δεδοµένα είναι σε δυαδική και όχι σε δεκαδική µορφή.
Εντολές που υποστηρίζονται
Το µοντέλο υποστηρίζει διάφορες εντολές. Εµείς όµως θα ασχοληθούµε µε τις εξής :
Εντολή Παράδειγµα
LOAD 5xx
STORE 3xx
ADD 1xx
INPUT 901
OUTPUT 902
HALT 000
Σαρηµπαλίδης Ιωάννης Σελίδα 2
3. Little Man Computer (LMC)
Στις παραπάνω εντολές όπου xx εννοείται µία θέση µνήµης ( 00 – 99 ). Έτσι π.χ.
Εντολή Επεξήγηση
Πρόσθεσε αυτό που υπάρχει στην ALU (κοµπιουτεράκι) µε
120
το περιεχόµενο της θέσης µνήµης 20.
Πάρε τον αριθµό που υπάρχει στην ALU (κοµπιουτεράκι)
335
και αποθήκευσε τον στη θέση µνήµης 35.
Πάρε το περιεχόµενο της θέσης µνήµης 48 και τοποθέτησε
548
το στην ALU (κοµπιουτεράκι).
Πρώτο πρόγραµµα
Αυτά όλα µπορεί να φαίνονται περίεργα αλλά θα προσπαθήσουµε να τα ξεδιαλύνουµε
µέσα από ένα πρόγραµµα που θα προσθέτει δύο αριθµούς και θα εµφανίζει το
αποτέλεσµα.
Εντολή Επεξήγηση
INPUT Εισαγωγή πρώτου αριθµού. Για να γίνει κάτι τέτοιο
πρέπει να συµπληρώσετε το πλαίσιο Input Buffer.
STORE 10 Αποθήκευσε τον πρώτο αριθµό στη θέση µνήµης 10.
INPUT Εισαγωγή δεύτερου αριθµού.
STORE 11 Αποθήκευσε τον πρώτο αριθµό στη θέση µνήµης 11.
Πρόσθεσε το περιεχόµενο της ALU (που είναι ο
ADD 10 δεύτερος αριθµός) µε το περιεχόµενο της θέσης 10
(που είναι ο πρώτος αριθµός).
STORE 12 Αποθήκευσε το άθροισµα στη θέση µνήµης 12.
OUTPUT Εµφάνισε το άθροισµα στον Output Buffer.
HALT Τέλος προγράµµατος.
Σαρηµπαλίδης Ιωάννης Σελίδα 3
4. Εφαρµογές Υπολογιστών
Γράψε τις παραπάνω εντολές στις θέσεις µνήµης της RAM. Θα πρέπει να φαίνεται
όπως παρακάτω :
Τρέξε τώρα το πρόγραµµα βήµα – βήµα πατώντας το κουµπί Step. Πρόσεχε πριν από
κάθε εντολή INPUT (901) να έχεις τοποθετήσει έναν αριθµό στον Input Buffer.
Αν όλα πάνε καλά στο τέλος θα πρέπει να εµφανιστεί στον Output Buffer το άθροισµα
των δύο αριθµών που επέλεξες. Αν όχι έλεγξε ξανά τα βήµατα σου για να δεις που
ακριβώς έκανες το λάθος.
Δοκίµασε τώρα να φτιάξεις ένα πρόγραµµα το οποίο θα διαβάζει τρεις αριθµούς Α, Β,
Γ και θα υπολογίζει και θα εµφανίζει το αποτέλεσµα της έκφρασης Α + Β – Γ. Πιο
αναλυτικά θα κάνει τα εξής :
Βήµα Επεξήγηση Εντολές
1 Θα διαβάζει τρεις αριθµούς και θα τους
INPUT , STORE
αποθηκεύει στις θέσεις µνήµης 50, 51 και 52
2 Θα φορτώνει τον πρώτο αριθµό στην ALU LOAD
3 Θα προσθέτει στην ALU τον δεύτερο αριθµό ADD
4 Θα αφαιρεί από την ALU τον τρίτο αριθµό SUBTRACT
Θα αποθηκεύει το αποτέλεσµα στη θέση µνήµης
5 STORE
53
6 Θα εµφανίζει το αποτέλεσµα OUTPUT
7 Θα τερµατίζει το πρόγραµµα HALT
Σαρηµπαλίδης Ιωάννης Σελίδα 4