22
Δομή του TRN KME Μνήμη Μονάδα Ασύγχρονης Επικοινωνίας Μονάδα απευθείας προσπέλασης μνήμης Ελεγκτής δίσκου Διάδρομος Δεδομένων Διάδρομος Διευθύνσεων Διάδρομος Ελέγχου

Δομή του TRN

  • Upload
    cecile

  • View
    47

  • Download
    2

Embed Size (px)

DESCRIPTION

Δομή του TRN. Διάδρομος Διευθύνσεων. Διάδρομος Δεδομένων. Διάδρομος Ελέγχου. KME. Μνήμη. Μονάδα Ασύγχρονης Επικοινωνίας. Μονάδα απευθείας προσπέλασης μνήμης. Ελεγκτής δίσκου. Κ M Ε. - PowerPoint PPT Presentation

Citation preview

Page 1: Δομή του  TRN

Δομή του TRN

KME

Μνήμη

Μονάδα Ασύγχρονης Επικοινωνίας

Μονάδα απευθείας προσπέλασης

μνήμης

Ελεγκτής δίσκουΔιά

δρομ

ος Δ

εδομ

ένω

ν

Διά

δρομ

ος Δ

ιευθ

ύνσε

ων

Διά

δρομ

ος Ε

λέγχ

ου

Page 2: Δομή του  TRN

ΚMΕ• Η Κεντρική Μονάδα Επεξεργασία (KME, Central Processing Unit – CPU) είναι ο ‘’εγκέφαλος’’ του υπολογιστή

• Εκτελεί τα προγράμματα που είναι αποθηκευμένα στη μνήμη ανακαλώντας τις εντολές, αποκωδικοποιώντας τις και εκτελώντας τις τη μία κατόπιν της άλλης

• Η ΚΜΕ αποτελείται από την Μονάδα Ελέγχου, την Αριθμητική και Λογική Μονάδα και ορισμένους καταχωρητές

• Η Μονάδα Ελέγχου (Control Unit) δίνει τα σήματα ελέγχου στην Αριθμητική και Λογική Μονάδα (ποια εντολή να εκτελέσει, πότε, με ποια δεδομένα)

• Η Αριθμητική και Λογική Μονάδα (ALU) εκτελεί αριθμητικές και λογικές πράξεις σε δυαδικές ακολουθίες

• Το πλήθος των εντολών ενός υπολογιστή κυμαίνεται μεταξύ 20 και 300 (CISC, RISC)

Page 3: Δομή του  TRN

Γλώσσα μηχανής

ΜειονεκτήματαΜειονεκτήματα

• Απαιτείται υπερβολικός χρόνος και προσπάθεια για προγραμματισμό

• Απαιτείται λεπτομερής γνώση του συγκεκριμένου Η/Υ

• Επιρρεπής διαδικασία σε λάθη – δύσκολη αποσφαλμάτωση

• Δύσκολη τροποποίηση προγραμμάτων

• Δύσκολος διαχωρισμός του προγράμματος σε ανεξάρτητα τμήματα

ΠλεονεκτήματαΠλεονεκτήματα

• Πλήρης έλεγχος των δυνατοτήτων του Η/Υ

• Καλή γνώση γλώσσας μηχανής οδηγεί σε μικρά προγράμματα με μικρό χρόνο εκτέλεσης

Page 4: Δομή του  TRN

Συμβολική Γλώσσα (Assembly)

ΠλεονεκτήματαΠλεονεκτήματα

• Ευκολότερος προγραμματισμός

• Μνημονικά ονόματα για εντολές

• Συμβολικές αντί πραγματικών διευθύνσεων

• Μικρότερη εξάρτηση από τη δομή και τις λειτουργίες του Η/Υ

• Ευκολότερη τροποποίηση

• Στοιχειώδης διαχωρισμός προγραμμάτων με χρήση υπορρουτινών

ΜειονεκτήματαΜειονεκτήματα

• Απαιτείται επιπλέον χρονικό διάστημα (περιορισμένο) για τη φάση της συμβολομετάφρασης

Page 5: Δομή του  TRN

Εντολές τριών διευθύνσεων

<Κώδ. Εντολής> <διεύθ.δεδομ.1> <διεύθ.δεδομ.2> <διεύθ.αποτελ.>

ΠΡΟΣΘΕΣΗ ADD X, Y, Z

ΑΦΑΙΡΕΣΗ SUB X, Y, Z

ΠΟΛ/ΣΜΟΣ MUL X, Y, Z

ΔΙΑΙΡΕΣΗ DIV X, Υ, Ζ

Page 6: Δομή του  TRN

Εντολές τριών διευθύνσεων

Έστω η εντολή της C:

A = B*(C+D*E-F/G) (5 Αριθμητικοί Τελεστές)

MUL D, E, T1

DIV F, G, T2

ADD C, T1, T1

SUB T1, T2, T1

MUL B, T1, A

(5 Εντολές assembly)

Page 7: Δομή του  TRN

Εντολές τριών διευθύνσεων

Το μικρότερο πρόγραμμα που αντιστοιχεί στην εντολή:

Α = Β + C + D + E + F + G

ADD B,C,A

ADD A,D,A

ADD A,E,A

ADD A,F,A

ADD A,G,A

Μειονέκτημα: Πολλά bits για την αποθήκευση των εντολών

Πλεονέκτημα: Μικρά σχετικά προγράμματα (λίγες εντολές)

Όλες οι εντολές πλήν της πρώτης χρειάζονται δύο μόνο διαφορετικές διευθύνσεις: Άσκοπη κατανάλωση μνήμης

Page 8: Δομή του  TRN

Εντολές δύο διευθύνσεων

<Κώδ. Εντολής> <διεύθ.δεδομ.1 και αποτελ.> <διεύθ.δεδομ.2>

ΠΡΟΣΘΕΣΗ ADD X, Y

ΑΦΑΙΡΕΣΗ SUB X, Y

ΠΟΛ/ΣΜΟΣ MUL X, Y

ΔΙΑΙΡΕΣΗ DIV X, Υ

Page 9: Δομή του  TRN

Εντολές δύο διευθύνσεων

Η εντολή τριών διευθύνσεων

MUL A, B, C

αντιστοιχεί στις:

SUB C, C Μηδενισμός του αποτελέσματος

ADD C, A

MUL C, B

Οι δύο πρώτες εντολές στην ουσία μεταφέρουν το περιεχόμενο της θέσης Α στην θέση C

Για αυτό και τα σύνολα εντολών δύο διευθύνσεων περιέχουν και την εντολή MOVE X, Y

Page 10: Δομή του  TRN

Εντολές δύο διευθύνσεων

Έστω η εντολή της C:

A = B*(C+D*E-F/G) (5 Αριθμητικοί Τελεστές)

Χωρίς να καταστρέψουμε τα περιεχόμενα καμίας θέσης μνήμης είναι:ΜΟVE A, D (D -> A)

MUL A, E

MOVE T, F (δεν καταστρέφουμε την F)

DIV T, G

ADD A, C

SUB A, T

MUL A, B (7 εντολές)

Page 11: Δομή του  TRN

Εντολές δύο διευθύνσεων

Το μικρότερο πρόγραμμα που αντιστοιχεί στην εντολή:

Α = Β + C + D + E + F + G

ΜΟVE A, B

ADD A, C

ADD A, D

ADD A, E

ADD A, F

ADD A, G

Page 12: Δομή του  TRN

Εντολές μίας διεύθυνσης

Στις πράξεις υπονοείται ότι συμμετέχει ο συσσωρευτής ΑCC

<Κώδ. Εντολής> <διεύθ.δεδομ.1>

ΠΡΟΣΘΕΣΗ ADD X (ACC = ACC + X)

ΑΦΑΙΡΕΣΗ SUB X (ACC = ACC – X)

ΠΟΛ/ΣΜΟΣ MUL X (ACC = ACC * X)

ΔΙΑΙΡΕΣΗ DIV X (ACC = ACC / X)

υπάρχουν επίσης οι εντολές LOAD X (ACC = X)

STORE X (X = ACC)

Page 13: Δομή του  TRN

Εντολές μίας διεύθυνσης

Έστω η εντολή της C:

A = B*(C+D*E-F/G)

LOAD DMUL ESTORE T1LOAD FDIV GSTORE T2LOAD CADD T1SUB T2MUL BSTORE A ( έντεκα εντολές)

Page 14: Δομή του  TRN

Εντολές μηδέν διευθύνσεων• Στις εντολές μηδέν διευθύνσεων δεν προσδιορίζονται διευθύνσεις

• Βασίζονται στη χρήση στοίβας (stack)

• Η στοίβα είναι γνωστή και ως μνήμη LIFO

• Οι καταχωρητές ενός Η/Υ μπορεί να θεωρηθούν ως στοίβα

• Κορυφή στοίβας (πρώτος καταχωρητής)

• Δεύτερος καταχωρητής κ.ο.κ.

• Τελευταίος καταχωρητής -> Βάση στοίβας

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

Page 15: Δομή του  TRN

Εντολές μηδέν διευθύνσεων

5

3

13

-2

3657

8512

-765

-7

ADDADD

8

13

-2

3657

8512

-765

-7undefined

5

8

13

-2

3657

8512

-765

-7

Page 16: Δομή του  TRN

Εντολές μηδέν διευθύνσεων• Οι υπολογιστές μηδέν διευθύνσεων πρέπει οπωσδήποτε να έχουν δύο τουλάχιστον εντολές μιας διεύθυνσης:

LOAD X

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

STORE X

(αφαιρεί το περιεχόμενο της κορυφής και το αποθηκεύει στη θέση Χ της μνήμης – τα υπόλοιπα μετακινούνται προς τα πάνω)

Page 17: Δομή του  TRN

Αντίστροφη Πολωνική ΓραφήΠως γράφουμε μία κανονική παράσταση (π.χ. Pascal ή C ) σε υπολογιστή στοίβας ?

Με μετατροπή της έκφρασης σε Αντίστροφο Πολωνικό Συμβολισμό ή μεταθεματικό συμβολισμό

Στο συμβολισμό αυτό, οι τελεστές ακολουθούν τους τελεστέους

Εμφανίζονται με τη σειρά με την οποία πρέπει να εφαρμοστούν

Page 18: Δομή του  TRN

Αντίστροφη Πολωνική ΓραφήΕνδοθεματική παράσταση Μεταθεματική Παράσταση

α * b + c a b * c +

a + b * c a b c * +

a * b + c * d ab * cd* +

a * b div c a b * c div

(a+b) div (c-d) ab + cd – div

((a+b) * c +d) div (e+f-g) ab+c*d+ef+g-div

Page 19: Δομή του  TRN

Ενδοθεματική - ΜεταθεματικήH αλγεβρική έκφραση A*B + C μπορεί να παρασταθεί ως δένδρο:

+

* C

Α Β

Ενδοδιατεταγμένος τρόπος διάσχισης

1. Επίσκεψη του αριστερού υποδένδρου

2. Επίσκεψη της ρίζας

3. Επίσκεψη του δεξιού υπόδενδρου

Page 20: Δομή του  TRN

Ενδοθεματική - Μεταθεματική

Μεταδιατεταγμένος τρόπος διάσχισης

1. Επίσκεψη του αριστερού υποδένδρου

2. Επίσκεψη του δεξιού υπόδενδρου

3. Επίσκεψη της ρίζας

function PostOrder(Node* ptr){ if(ptr != NULL) { PostOrder(ptr->left); PostOrder(ptr->right); printf(“%c”, ptr->data); }}

struct Node { char data;

struct Node* left; struct Node* right;}

Page 21: Δομή του  TRN

Αντίστροφη Πολωνική Γραφή

Έστω η εντολή εκχώρησης:Α = Β * (C + D*E – F div G)

είναι ισοδύναμη με την μεταθεματική εντολή:Β C D E * F G div - + * = A

που για έναν υπολογιστή στοίβας μεταφράζεται στις εντολές:LOAD BLOAD CLOAD DLOAD EMULLOAD FLOAD GDIVSUBADDMULSTORE A (12 εντολές)

Page 22: Δομή του  TRN

ΣυμπέρασμαΗ εντολή :

Α = Β * (C + D*E – F div G)

απαιτεί:

5 εντολές τριών διευθύνσεων

7 εντολές δύο διευθύνσεων

11 εντολές μίας διεύθυνσης

12 εντολές υπολογιστή στοίβας

-Οι εντολές πολλών διευθύνσεων οδηγούν σε μικρότερα προγράμματα

- Τα κυκλώματα όμως για την υλοποίηση τέτοιων εντολών είναι πολυπλοκότερα