You are on page 1of 14

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΜΗΧΑΝΗΣ VON NEUMANN - ΣΥΓΧΡΟΝΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ, ΚΥΚΛΟΣ ΕΝΤΟΛΩΝ

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ
• Οι υπολογιστές, περισσότερο η λιγότερο στηρίζονται στην ίδια βασική αρχιτεκτονική αυτή της
µηχανής τύπου Von Neumann

Μοντέλο µηχανής Von Neumann


• Ένα µοντέλο για τη σχεδίαση και υλοποίηση υπολογιστών που έχει τα παρακάτω
χαρακτηριστικά:
• Ο υπολογιστής αποτελείται από τέσσερα βασικά υποσυστήµατα :
– Μνήµη (Memory)
– Αριθµητική/Λογική µονάδα (Arithmetic/Logic Unit -ALU)
– Μονάδα ελέγχου (Control Unit)
– Σύστηµα Εισόδου/Εξόδου (Input/Output System)
• Τα δεδοµένα και το πρόγραµµα αποθηκεύονται στη µνήµη κατά την εκτέλεση.
• Οι εντολές του προγράµµατος εκτελούνται διαδοχικά σε σειρά.
• Μία κεντρική αρτηρία, ο δίαυλος (bus) συνδέει όλα τα δοµικά στοιχεία µεταξύ τους

Η αρχιτεκτονική µηχανής Von Neumann


∆ίαυλος συστήµατος

Επεξεργαστής (CPU)
Σύστηµα
Μνήµη
Εισόδου/Εξόδου
Μονάδα ελέγχου

Αριθµητική και
Αποθηκεύει Λογική µονάδα
δεδοµένα
και πρόγραµµα
Επικοινωνεί µε τον
Εκτελεί το "έξω κόσµο", π.χ.
πρόγραµµα • Οθόνη
• πληκτρολόγιο
• Συσκευές
Κάνει αριθµητικές/λογικές πράξεις αποθήκευσης
που ζητά το πρόγραµµα • ...

Η µονάδα ελέγχου και η Αριθµητική/Λογική µονάδα βρίσκονται µαζί σε στενή αλληλεξάρτηση και
ονοµάζονται µαζί “Επεξεργαστής” ή Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit – CPU)

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 1
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΜΗΧΑΝΗΣ VON NEUMANN - ΣΥΓΧΡΟΝΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ, ΚΥΚΛΟΣ ΕΝΤΟΛΩΝ

Υποσύστηµα Μνήµης
• Η µνήµη, λέγεται και RAM (Random Access Memory),
– Αποτελείται από πολλές θέσεις µνήµης (κελιά αποθήκευσης) σταθερού µήκους.
– Κάθε κελί έχει µία συγκεκριµένη διεύθυνση
– Όλες οι προσπελάσεις (ανάκληση/αποθήκευση) στα περιεχόµενα κελιών γίνονται µέσω των
διευθύνσεών τους.
– Ο χρόνος που απαιτείται για την ανάκληση/αποθήκευση σε ένα κελί είναι ο ίδιος για κάθε θέση
µνήµης (τυχαία προσπέλαση).
• Όταν ένα πρόγραµµα εκτελείται, στη µνήµη αποθηκεύονται
– Πρόγραµµα και
– ∆εδοµένα (µεταβλητές)

∆ιεύθυνση Περιεχόµενο Περιεχόµενο της


διεύθυνσης 0
0 37
1 28
2 125
3 19
4 0
.. ..

• Χρειάζεται διάκριση µεταξύ της διεύθυνσης κελιού και του περιεχόµενου κελιού

N=16 bit
0000000000000001 1 bit
0
1
2
216
...
216-1

W=8 bit

• Εύρος θέσεων µνήµης (W):


– Πόσα bits σε κάθε κελί, τυπικά 8 (ένα byte)
• Εύρος διευθύνσεων µνήµης (N):
– Πόσα bits χρησιµοποιούνται για κάθε διεύθυνση
– µέγιστο µέγεθος µνήµης = χώρος διευθύνσεων
– Αν εύρος διευθύνσεων N=16 bits, τότε ο χώρος διευθύνσεων είναι 216 (0,1,...,216-1)

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 2
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΜΗΧΑΝΗΣ VON NEUMANN - ΣΥΓΧΡΟΝΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ, ΚΥΚΛΟΣ ΕΝΤΟΛΩΝ

Μέγεθος / ταχύτητα Μνήµης


• Τυπική µνήµη προσωπικού υπολογιστή (PC):
64MB - 512MB
• Μεγέθη µνήµης:
Kilobyte (KB) = 210 bytes
Megabyte(MB) = 220 bytes
Gigabyte (GB) = 230 bytes
• Χρόνος προσπέλασης µνήµης (ανάγνωση από/ εγγραφή σε)
50-75 nanoseconds (1 nsec. = 0.000000001 sec.)
• Η µνήµη RAM είναι
πτητική (αποθηκεύονται δεδοµένα όσο υπάρχει ρεύµα)
Σχετικά ακριβή

Λειτουργίες της µνήµης


• Ανάκληση (χρειάζεται η διεύθυνση):
– Προσκόµιση αντιγράφου (fetch) του περιεχοµένου του κελιού µνήµης που καθορίζεται από τη
συγκεκριµένη διεύθυνση.
• Αποθήκευση (χρειάζονται η διεύθυνση και η τιµή):
– Αποθήκευση (Store) της τιµής στο κελί που καθορίζεται από τη συγκεκριµένη διεύθυνση πάνω
από την προηγούµενη.
• Το σύστηµα µνήµης διασυνδέεται µε το δίαυλο συστήµατος µέσω:
– Καταχωρητής διευθύνσεων µνήµης (Memory Address Register -MAR)
– Καταχωρητής δεδοµένων µνήµης (Memory Data Register -MDR)
– Σήµατα ανάκλησης/αποθήκευσης (F/S)
• Οι καταχωρητές είναι µικρές αλλά ταχύτατες µονάδες προσωρινής αποθήκευσης µιας
ακολουθίας bit

Η δοµή του υποσυστήµατος µνήµης

MAR MDR
F/S

Κύκλωµα
Ελεγκτής
Αποκωδικο-
Ανάκλησης/
ποιητή
Αποθήκευσης
µνήµης

...

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 3
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΜΗΧΑΝΗΣ VON NEUMANN - ΣΥΓΧΡΟΝΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ, ΚΥΚΛΟΣ ΕΝΤΟΛΩΝ

• Ανάκληση (Fetch) περιεχοµένου ενός κελιού µνήµης


– Φόρτωση διεύθυνσης στον MAR.
– Αποκωδικοποίηση της διεύθυνσης του MAR.
– Αντιγραφή της τιµής του συγκεκριµένου κελιού µνήµης στον MDR.
• Αποθήκευση (Store) µιας τιµής σε κελί µνήµης
– Φόρτωση διεύθυνσης στον MAR.
– Φόρτωση τιµής στον MDR.
– Αποκωδικοποίηση της διεύθυνσης του MAR
– Αντιγραφή του περιεχοµένου του MDR στο κελί µνήµης που καθορίζεται από τη συγκεκριµένη
διεύθυνση.

Υλοποίηση του υποσυστήµατος µνήµης


• Με κύκλωµα αποκωδικοποιητή (decoder circuit)
– Π.χ. αν στον καταχωρητή διευθύνσεων MAR είναι 0010 θα επιλεγεί η διεύθυνση 0010

Μνήµη CACHE – σύγχρονο χαρακτηριστικό


• Η λανθάνουσα µνήµη (cache memory) βρίσκεται µεταξύ της κύριας µνήµης και της CPU
• Τα τελευταία χρόνια είναι ενοποιηµένη µε την CPU
– 10 φορές ταχύτερη από τη RAM
– Σχετικά µικρή (128-512K)
• Αποθηκεύει τα πιο πρόσφατα χρησιµοποιηµένα δεδοµένα και εντολές από την κύρια µνήµη
– Βασίζεται στην Αρχή της τοπικότητας
• Όταν ο επεξεργαστής χρειαστεί δεδοµένα:
– Πρώτα κοιτά στην cache, αν δεν είναι εκεί, τότε ανάκληση από τη RAM.
– Αν η cache γεµάτη, τα νέα δεδοµένα γράφονται πάνω από τα παλιά.

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 4
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΜΗΧΑΝΗΣ VON NEUMANN - ΣΥΓΧΡΟΝΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ, ΚΥΚΛΟΣ ΕΝΤΟΛΩΝ

Υποσύστηµα Εισόδου/Εξόδου
• Χειρίζεται συσκευές που επιτρέπουν στο σύστηµα:
– Να επικοινωνεί και αλληλεπιδρά µε τον εξωτερικό κόσµο (Οθόνη, πληκτρολόγιο, εκτυπωτής,..).
– Να αποθηκεύει ή ανακτά πληροφορίες από συσκευές µαζικής αποθήκευσης (Σκληροί δίσκοι,
δισκέτες, CD, µαγνητικές ταινίες,..)
• Μέθοδοι προσπέλασης στις συσκευές µαζικής αποθήκευσης:
– Άµεση προσπέλαση (Σκληροί δίσκοι, δισκέτες,.)
– Σειριακή προσπέλαση (Μαγνητικές ταινίες)
• Το υποσύστηµα εισόδου-εξόδου διαθέτει σε αναλογία µε την µονάδα µνήµης, τουλάχιστον δύο
καταχωρητές:
– Καταχωρητής διευθύνσεων, που περιλαµβάνει την διεύθυνση της περιφερειακής συσκευής µε
την οποία ανταλλάσσει τα δεδοµένα.
– Καταχωρητής δεδοµένων που κρατά τα δεδοµένα. Έχει µήκος, ίδιο µε αυτό της λέξης του
υπολογιστή.

Ελεγκτές Εισόδου/Εξόδου
• Η ταχύτητα των συσκευών Ε/Ε είναι αργή σε σχέση µε τη RAM
– RAM ~ 50 nsec.
– Hard-Drive ~ 10msec. = (10,000,000 nsec)
• Λύση o Ελεγκτής Εισόδου/Εξόδου (I/O controller):
– Έχει µικρές µνήµες buffer, και κυκλώµατα ελέγχου για να ελέγχει τη συσκευή Ε/Ε (π.χ. µετακινεί
τον βραχίονα του δίσκου).
– Στέλνει ένα σήµα διακοπής στην CPU όταν τελειώνει η ανάγνωση/εγγραφή.
– Τα δεδοµένα µεταφέρονται µεταξύ της RAM και του buffer.
• Ο επεξεργαστής ελεύθερος να κάνει κάτι άλλο όσο ο ελεγκτής Ε/Ε διαβάζει/γράφει δεδοµένα
από/προς τη συσκευή Ε/Ε στο buffer.

Η δοµή του Υποσυστήµατος Εισόδου/Εξόδου


Σήµα διακοπής (προς CPU)

∆εδοµένα από/σε µνήµη


∆ίαυλος συστήµατος

Ελεγκτής Ε/Ε

Buffer Ε/Ε

Κυκλώµατα
Ελέγχου

Συσκευή Ε/Ε

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 5
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΜΗΧΑΝΗΣ VON NEUMANN - ΣΥΓΧΡΟΝΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ, ΚΥΚΛΟΣ ΕΝΤΟΛΩΝ

Η Αριθµητική/Λογική µονάδα (ALU)


• Η ALU εκτελεί τις παρακάτω λειτουργίες πάνω σε λέξεις µηχανής
– Μαθηµατικές πράξεις (+, -, x, /, …)
– Λογικές πράξεις και συγκρίσεις (=, <, >, and, or, not, ...)
– Βοηθητικές λειτουργίες όπως δεξιά ή αριστερή ολίσθηση
• Στους σηµερινούς υπολογιστές ενσωµατώνεται µαζί µε τη µονάδα ελέγχου στο κύκλωµα της CPU.
• Αποτελείται από:
– Σειρά κυκλωµάτων για τις µαθηµατικές/λογικές λειτουργίες.
– Καταχωρητές (Registers) για την προσωρινή αποθήκευση τελεστών και ενδιάµεσων
αποτελεσµάτων των υπολογισµών.
– ∆ίαυλο διασύνδεσης καταχωρητών-κυκλωµάτων.

Η ∆οµή της Αριθµητικής/Λογικής µονάδας


Αποτέλεσµα Καταχωρητές a b
R0
R1
R2

Rn

Κυκλώµατα ALU

GT EQ LT
• Καταχωρητές (Registers) :
– Ταχύτατες µνήµες (R0, R1, R2,…) που αποθηκεύουν τελεστές πράξεων και ενδιάµεσα
αποτελέσµατα (έχουν µέγεθος συνήθως µία λέξη µηχανής)
– Καταχωρητής συνθήκης (condition code register -CCR ), ειδικού σκοπού καταχωρητής που
αποθηκεύει αποτελέσµατα συγκρίσεων >, = , < (Grater Than -GT, Equal -EQ, Lower Than -LT)
– Συσσωρευτής (Accumulator) ειδικού σκοπού καταχωρητής που συγκεντρώνει τα ενδιάµεσα
αποτελέσµατα των υπολογισµών
• Κυκλώµατα ALU:
– Περιέχει µία σειρά κυκλωµάτων για τις µαθηµατικές/λογικές πράξεις.
• ∆ίαυλος δεδοµένων:
– διασυνδέει καταχωρητές µε κυκλώµατα.

Υλοποίηση Αριθµητικής/Λογικής µονάδας


• Με κυκλώµατα αριθµητικών πράξεων, συγκρίσεων, λογικών πράξεων, ολίσθησης και κύκλωµα
πολυπλέκτη (Multiplexor circuit)
– Κάθε κύκλωµα πράξης και σύγκρισης παράγει αποτέλεσµα, αλλά µόνο το επιθυµητό επιλέγεται
µέσω πολυπλέκτη

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 6
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΜΗΧΑΝΗΣ VON NEUMANN - ΣΥΓΧΡΟΝΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ, ΚΥΚΛΟΣ ΕΝΤΟΛΩΝ

• Κάθε κύκλωµα πράξης και σύγκρισης παράγει αποτέλεσµα, αλλά µόνο το επιθυµητό επιλέγεται

Η µονάδα ελέγχου
• Κάθε πρόγραµµα αποθηκεύεται στη µνήµη
– σε εντολές γλώσσας µηχανής, δυαδική µορφή
• Ο ρόλος της µονάδας ελέγχου είναι να εκτελεί τα προγράµµατα επαναλαµβάνοντας τα
παρακάτω βήµατα:
– Ανάκληση από τη µνήµη της επόµενης εντολής που θα εκτελεσθεί.
– Αποκωδικοποίηση της εντολής.
– Εκτέλεση της εντολής παρέχοντας τα κατάλληλα σήµατα προς την ALU, τη µνήµη, και τα
υποσυστήµατα Εισόδου/Εξόδου.
– Συνεχίζει µέχρι το τέλος εκτέλεσης προγράµµατος, η εντολή HALT

Εντολές Γλώσσας Μηχανής


• Μια εντολή σε γλώσσα µηχανής αποτελείται από:
– Κώδικας εντολής (Operation code), ορίζει τη λειτουργία που θα εκτελεστεί
– Πεδία διευθύνσεων (Address fields), ορίζουν τις διευθύνσεις µνήµης που περιέχουν τα δεδοµένα
που θα χρησιµοποιηθούν.
• Παράδειγµα: ADD X, Y
– (Πρόσθεσε το περιεχοµένου µνήµης των διευθύνσεων X και Y, και αποθήκευσε το αποτέλεσµα
στη θέση µνήµης µε διεύθυνση Y).
• Έστω ότι: opcode για την ADD είναι το 9, και διευθύνσεις µνήµης X=99, Y=100
Opcode (8 bits) Address 1 (16 bits) Address 2 (16 bits)
00001001 0000000001100011 0000000001100100

9 99 100

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 7
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΜΗΧΑΝΗΣ VON NEUMANN - ΣΥΓΧΡΟΝΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ, ΚΥΚΛΟΣ ΕΝΤΟΛΩΝ

Η δοµή της µονάδας ελέγχου

Καταχωρητής
Μετρητής -PC Εντολών - IR

+1
Αποκωδικοποιητής
Εντολών (Decoder)

• Καταχωρητής εντολών (Instruction Register -IR ):


– Αποθηκεύει µία µία τις εντολές που ανακλούνται από τη µνήµη
• Μετρητής προγράµµατος (Program Counter -PC):
– Αποθηκεύει τη διεύθυνση µνήµης της επόµενης εντολής που θα ανακληθεί από τη µνήµη, και
αυξάνεται αυτόµατα κατά 1 όταν η εντολή µεταφέρεται στον καταχωρητή IR.
• Αποκωδικοποιητής εντολών (Instruction Decoder):
– Αποκωδικοποιεί την εντολή και ενεργοποιεί τα απαραίτητα κυκλώµατα

Υλοποίηση της µονάδας ελέγχου

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 8
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΜΗΧΑΝΗΣ VON NEUMANN - ΣΥΓΧΡΟΝΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ, ΚΥΚΛΟΣ ΕΝΤΟΛΩΝ

Αρχιτεκτονική von Neumann

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ (συνέχεια)


Ο ∆ίαυλος (∆ιάδροµος) Συστήµατος
• Η Σύνδεση των µονάδων του συστήµατος γίνεται µέσω µίας κοινής αρτηρίας διακίνησης
δεδοµένων που ονοµάζεται δίαυλος συστήµατος
• Ο δίαυλος ή διάδροµος (bus) είναι ένα σύνολο από παράλληλα καλώδια σύνδεσης
• Το πλήθος τους ονοµάζεται εύρος διαδρόµου.

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 9
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΜΗΧΑΝΗΣ VON NEUMANN - ΣΥΓΧΡΟΝΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ, ΚΥΚΛΟΣ ΕΝΤΟΛΩΝ

Τα µέρη του διαύλου


• Ο δίαυλος αποτελείται από:
• Το δίαυλο δεδοµένων (Data bus).
– το σύνολο των γραµµών από τις οποίες µεταφέρονται δεδοµένα.
• Το δίαυλο διευθύνσεων (Address bus)
– το σύνολο των γραµµών από τις οποίες µεταφέρονται οι διευθύνσεις
– Μέσω αυτού καθορίζεται σε ποια περιοχή της µνήµης θα γραφεί µία πληροφορία ή από ποια
περιοχή θα αντληθεί.
• Το δίαυλο ελέγχου (Control bus).
– Περνούν σήµατα ελέγχου και συντονισµού λειτουργίας των µονάδων (Π.χ. read/write RD/WR)
• Σε µερικούς διαύλους υπάρχουν µόνο οι γραµµές δεδοµένων και οι γραµµές ελέγχου.
– Τότε οι γραµµές δεδοµένων περιέχουν στην αρχή την διεύθυνση της µνήµης στην οποία θα γίνει
RD/WR και κατόπιν τα δεδοµένα.
– Ο συντονισµός γίνεται µε την γραµµή ελέγχου, η οποία κυκλοφορεί σήµατα που δηλώνουν αν
γραµµή δεδοµένων περιέχει διεύθυνση ή πλέον δεδοµένα.

Χαρακτηριστικά διαύλου
• Εύρος διαύλου: ονοµάζεται το πλήθος των παράλληλων γραµµών.
– Το εύρος αντιπροσωπεύει τον αριθµό bits που µπορούν να µεταδοθούν παράλληλα
– Π.χ. Το εύρος του διαδρόµου δεδοµένων κυµαίνεται από 8 έως και 64 bit.
• Ταχύτητα διαύλου ή συχνότητα λειτουργίας: ονοµάζεται το πλήθος των διαφορετικών
δεδοµένων που µεταδίδονται από ένα κανάλι σε ένα δευτερόλεπτο. Μετρείται σε bits/sec.
– Εναλλακτικά και σε µονάδες συχνότητας Hz. Έτσι δίαυλος 66 MHz σηµαίνει 66x106 bit/sec.

• ∆ιαµεταγωγή: είναι το εύρος διαύλου επί ταχύτητα


– δίνει το µέγιστο αριθµό bits που µεταδίδονται από όλα τα κανάλια του διαύλου παράλληλα, στην
µονάδα του χρόνου
– σε διάδροµο µε εύρος διαδρόµου δεδοµένων 32 bit και ταχύτητα 106 Hz µπορούν να
µεταφερθούν 32x10 = 320x 106 bit ή 40 εκατοµµύρια bytes το δευτερόλεπτο.

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 10
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΜΗΧΑΝΗΣ VON NEUMANN - ΣΥΓΧΡΟΝΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ, ΚΥΚΛΟΣ ΕΝΤΟΛΩΝ

ΣΥΓΧΡΟΝΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ- ΚΥΚΛΟΣ


ΕΝΤΟΛΩΝ
• Οι σύγχρονοι υπολογιστές έχουν περισσότερες της µιας αρτηρίες (δίαυλοι) που συνδέονται
µεταξύ τους µε µονάδες διασύνδεσης (γέφυρες)
Παρακάτω φαίνεται η δοµή ενός σύγχρονου προσωπικού υπολογιστή (PC)

Ρεπερτόριο εντολών
• ∆ύο διαφορετικές προσεγγίσεις:
• Υπολογιστές σύνθετου ρεπερτορίου εντολών (Complex Instruction Set Computers - CISC)
– ∆ιαθέτουν πολλές και σύνθετες εντολές
– Κάθε σύνθετη εντολή κάνει περισσότερα, αλλά απαιτεί πολλά στοιχεία κυκλωµάτων.
• Υπολογιστές µειωµένου ρεπερτορίου εντολών (Reduced Instruction Set Computers - RISC)
– Ρεπερτόριο εντολών µικρό <100 και απλό.
– Ελαχιστοποιεί τα στοιχεία κυκλωµάτων --> ταχύτεροι υπολογιστές

Τυπικές εντολές µηχανής


• Συµβολισµός:
– Χρησιµοποιούµε X, Y, Z για να δηλώσουµε διευθύνσεις κελιών της RAM
– Υποθέτουµε µόνο ένα καταχωρητή R (για απλότητα)
– Χρησιµοποιούµε συµβολική γλώσσα (αντιστοιχεί σε δυαδική γλώσσα µηχανής)
• Εντολές µεταφοράς δεδοµένων
LOAD X Φόρτωσε το περιεχόµενο µνήµης µε διεύθυνση Χ στον καταχωρητή R
STORE X Αποθήκευσε το περιεχόµενο του καταχωρητή R στη θέση µνήµης µε διεύθυνση Χ

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 11
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΜΗΧΑΝΗΣ VON NEUMANN - ΣΥΓΧΡΟΝΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ, ΚΥΚΛΟΣ ΕΝΤΟΛΩΝ

MOVE X, Y Μετάφερε το περιεχόµενο της θέσης µνήµης µε διεύθυνση Χ στη θέση


µνήµης µε διεύθυνση Υ (όχι τελείως απαραίτητη)

• Αριθµητικές εντολές
ADD X, Y, Z CON(Z) Î CON(X) + CON(Y)
ADD X, Y CON(Y) Î CON(X) + CON(Y)
ADD X R Î CON(X) + R
Παρόµοιες εντολές για άλλες λειτουργίες, όπως SUBTR,...
• Εντολές Σύγκρισης
COMPARE X, Y
Σύγκρινε το περιεχόµενο (CONtent) της θέσης µνήµης µε διεύθυνση Χ, µε το περιεχόµενο της
θέσης µνήµης µε διεύθυνση Υ και θέσε την τιµή του καταχωρητή συνθήκης (CCR) ανάλογα.
Π.χ.. If CON(X) = R then set EQ=1, GT=0, LT=0

• Εντολές ∆ιακλάδωσης (άλµατος)


JUMP X Φόρτωσε στον καταχωρητή R την επόµενη εντολή από τη θέση µνήµης µε διεύθυνση Χ
JUMPGT X Φόρτωσε στον καταχωρητή R την επόµενη εντολή από τη θέση µνήµης µε διεύθυνση X
µόνο εάν GT=1 στον καταχωρητή συνθήκης (CCR), αλλιώς φόρτωσε κανονικά τη
δήλωση εντολής από την επόµενη κατά σειρά θέση µνήµης όπως συνήθως.
•JUMPEQ, JUMPLT, JUMPGE, JUMPLE,JUMPNEQ

• Εντολές Ελέγχου
HALT Τερµάτισε την εκτέλεση του προγράµµατος.

Παράδειγµα
• Ψευδοκώδικας: Θέσε το A ίσο µε B + C
• Τα κελιά µνήµης των µεταβλητών:
το A βρίσκεται στο κελί µνήµης µε διεύθυνση 100
το B βρίσκεται στο κελί µνήµης µε διεύθυνση 150
το C βρίσκεται στο κελί µνήµης µε διεύθυνση 151
• Συµβολική γλώσσα (κανονικά σε γλώσσα µηχανής)
LOAD 150
ADD 151
STORE 100
ή αλλιώς
(ADD 150, 151, 100)

Πως δουλεύουν όλα µαζί?


• Ολόκληρος ο υπολογιστής ελέγχεται µε σήµατα ρολογιού
– Τετραγωνικούς παλµούς που συγχρονίζουν όλες τις λειτουργίες, δηλαδή όλες τις µεταβάσεις
καταστάσεων µεταξύ 1 και 0 (τρανζίστορ on/off))
– π.χ. Η εκτέλεση µιας εντολής πολλαπλασιασµού γίνεται σε συγκεκριµένο αριθµό βηµάτων
(διαδοχικές λειτουργίες)

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 12
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΜΗΧΑΝΗΣ VON NEUMANN - ΣΥΓΧΡΟΝΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ, ΚΥΚΛΟΣ ΕΝΤΟΛΩΝ

• Η συχνότητα λειτουργίας του επεξεργαστή είναι η συχνότητα (αντίστροφο της περιόδου) του
ρολογιού του (π.χ. 100 MHz)
Μια κυµατοµορφή συχνότητας 100 MHz
Περίοδος ή Κύκλος του
Ρολογιού =10 ns Ηµιπερίοδος = 5 ns

5V

0V
0ns 5ns 10ns 15ns 20ns 25ns 30ns 35ns

Ένα σήµα εισόδου ή εξόδου


1

0
1 0 1 1 0 0 0 1 1 1
ανοικτό κλειστό

Εκτέλεση προγράµµατος – κύκλος εντολών


• Εκτέλεση προγράµµατος:
– Ο µετρητής προγράµµατος (PC) της µονάδας ελέγχου τίθεται ίσος µε τη διεύθυνση µνήµης στην
οποία βρίσκεται η πρώτη εντολή του προγράµµατος.
– Επαναλαµβάνει µέχρι την εντολή HALT ή κάποιο µοιραίο λάθος τα βήµατα:
• Ανάκληση εντολής
• Αποκωδικοποίηση εντολής
• Εκτέλεση εντολής
– Τέλος της επανάληψης.

• Φάση ανάκλησης. Το περιεχόµενο της θέσης µνήµης που δείχνει ο PC µεταφέρεται στον IR και ο
PC αυξάνεται κατά 1
1. PC Î MAR
φορτώνεται η διεύθυνση του Μετρητή Προγράµµατος (PC) στον Καταχωρητή ∆ιευθύνσεων Μνήµης
(MAR)
2. Αποκωδικοποίηση της διεύθυνσης του MAR
3. Σήµα ανάκλησης
µεταβιβάζεται το περιεχόµενο ανάκλησης µνήµης στον καταχωρητή δεδοµένων µνήµης (MDR)
4. MDR Î IR
µεταφέρεται η εντολή στον καταχωρητή εντολών (IR)
5. PC + 1 Î PC
αυξάνεται η διεύθυνση µνήµης του µετρητή προγράµµατος κατά 1

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 13
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΜΗΧΑΝΗΣ VON NEUMANN - ΣΥΓΧΡΟΝΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ, ΚΥΚΛΟΣ ΕΝΤΟΛΩΝ

• Φάση αποκωδικοποίησης
IR Î Αποκωδικοποιητής εντολών -Αποκωδικοποιείται η εντολή του καταχωρητή εντολών IR
Ο Αποκωδικοποιητής εντολών δηµιουργεί τα κατάλληλα σήµατα για την ενεργοποίηση εκτέλεσης
της εντολής

• Φάση εκτέλεσης
∆ιαφέρει από τη µία εντολή στην επόµενη

• Παράδειγµα φάσης εκτέλεσης:


LOAD X (Φόρτωσε το περιεχόµενο µνήµης µε διεύθυνση Χ στον καταχωρητή R)
•IR_address Î MAR
η τιµή του πεδίου διεύθυνσης µνήµης που βρίσκεται στον IR φορτώνεται στον MAR
•Αποκωδικοποίηση της διεύθυνσης µνήµης του MAR
•Σήµα ανάκλησης
µεταβιβάζεται το περιεχόµενο του συγκεκριµένου κελιού µνήµης στον καταχωρητή δεδοµένων
µνήµης (MDR)
•MDR Î R
Αντιγράφεται η τιµή του MAR στον καταχωρητή R

• Κύκλος εντολής:
Ανάκληση - Αποκωδικοποίηση -εκτέλεση εντολών για πέρασµα πληροφορίας µεταξύ Καταχωρητών

Αλγόριθµος Λειτουργίας (CPU)


• Κατάσταση Αναµονής
Αν υπάρχει εντολή Εκτέλεσης:
Ανάκληση από Μνήµη
Αποκωδικοποίηση εντολής
Ανάκληση δεδοµένων εντολής
Εκτέλεση εντολής
Τέλος Εκτέλεσης εντολής
Αν υπάρχει ανάγκη στο Σύστηµα ∆ιακοπών:
Μεταφορά Λειτουργίας στους ∆ιακόπτες
Εκτέλεση ∆ιακοπής
Τέλος ενασχόλησης µε Σύστηµα ∆ιακοπών
• Συνέχιση ∆ιαδικασίας

• Παράδειγµα εκτέλεσης προγράµµατος


– Επιλέγοντας το όνοµα ενός αρχείου κειµένου διατάζεται ο υπολογιστής να βρει το πρόγραµµα
σύνταξης κειµένου στο σκληρό δίσκο και να το φορτώσει στη µνήµη RAM
– Στην οθόνη εµφανίζεται η εκτέλεση του προγράµµατος
– Ο χρήστης µπορεί να αλληλεπιδρά µε άλλες περιφερειακές συσκευές, όπως εκτυπωτής ή δίσκος
– Κατά την έξοδο από τον συντάκτη κειµένου, το λειτουργικό ανακτά τον έλεγχο.
– Το πρόγραµµα παύει να είναι στη µνήµη αλλά έχει αποθηκευτεί στο σκληρό δίσκο

ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 14

You might also like