ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ MHXNIKOI Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΙΠΕ Ο ΨΗΦΙΑΚΗΣ ΛΟΓΙΚΗΣ - Ι Γ. Τσιατούχας 3 ο Κεφάλαιο 1. MO τρανζίστορ 2. Άλγεβρα oole ιάρθρωση 3. Συνδυαστική λογική Λογικές πύλες 4. Στοιχεία μνήμης Καταχωρητές 5. Ακολουθιακή λογική 6. Μνήμη 7. Δίαυλοι 2 1
Άλγεβρα oole 1/2 Αξιώµατα και Θεωρήµατα Αντιµεταθετική: Προσεταιριστική: ρ Επιµεριστική: e Morgan: x 0 = x x 1 = x x + x = 1 x x = 0 x + x = x x x = x x + 1 = 1 x 0 = 0 x = x x + y = y + x x + (y + z) = (x + y) + z x(y + z) = xy + xz x + y = x y x + xy = x x y = y x x (y z) = (x y) z x + (y z) = (x + y) (x + z) x y = x + y x (x + y) = x 3 Άλγεβρα oole 2/2 Ελαχιστόροι και Μεγιστόροι x y z Ελαχιστόροι Μεγιστόροι 000 001 010 011 100 101 110 111 x y z x y z x y z x y z x y z x y z x y z x y z x + y + z x + y + z x + y + z x + y + z x + y + z x + y + z x + y + z x + y + z 4 2
ΤΡΑΝΖΙΣΤΟΡ 5 MO Τρανζίστορ ΠΗΓΗ n Αγωγός p G ΠΥΛΗ p Υπόστρωµα ηµιαγωγού τύπου n OURCE p Αγωγός n G GTE n Υπόστρωµα ηµιαγωγού τύπου p Μονωτής ΥΠΟ ΟΧΗ ΑΠΑΓΩΓΟΣ Μονωτής RIN pmo τρανζίστορ G Κυκλωµατικό Σύµβολο nmo τρανζίστορ G Κυκλωµατικό Σύµβολο 6 3
ιακοπτική Λειτουργία MO s d s=0 d=0 s d g=0 g=1 g s d s=1 d 1 g=1 g=1 s d s=0 d 0 s d g=1 g=0 g s d s=1 d=1 g=0 g=0 7 ΣΥΝΔΥΑΣΤΙΚΗ ΑΚΟΛΟΥΘΙΑΚΗ ΛΟΓΙΚΗ 8 4
Πύλη NOT Λογικές Πύλες CMO Πύλη NN Πύλη NOR V V sv s 1 g είσοδος g dέξοδος d F F sgnd 0 NOT Gnd F Gnd F 9 Τρισταθής Αναστροφέας Αποµονωτής V In c Out V c (β) Gnd (α) c In c c Out In Σύµβολο Out Gnd 10 5
Πύλη XOR F F F Επίπεδο πυλών Σύµβολο Επίπεδο τρανζίστορ Πίνακας Αληθείας F 0 0 0 0 1 1 1 0 1 1 1 0 11 Πολυπλέκτης F F 1 MUX 0 F Επίπεδο πυλών Σύµβολο Επίπεδο τρανζίστορ Πίνακας Αληθείας F X 0 0 0 () X 1 0 1 () 0 X 1 0 () 1 X 1 1() 12 6
Πολυπλέκτες Αποκωδικοποιητές 1 0 1 1 1 0 1 Πολυπλέκτης 8 σε 1 Αποκωδικοποιητής 3 σε 8 13 Συγκριτές Ολισθητές 7 7 6 XOR 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 4bit συγκριτής 0 C 1 0 Αριστερός / δεξιός ολισθητής 0 14 7
PLs x...... Programmable Logic rray PL... 15 XOR Αθροιστές C in Κρατούµενο Εισόδου Άθροισµα (um) Άθροισµα (um) C out Κρατούµενο (Carry) C out Κρατούµενο Εξόδου Ηµιαθροιστής Πλήρης Αθροιστής 16 8
Αριθµητική και Λογική Μονάδα Λογική Μονάδα Κρατούµενο Εισόδου Έξοδος Αριθµητική και Λογική Μονάδα (LU) ενός bit Γραµµές Επίτρεψης υαδική Μονάδα (it lice) Αριθµητική Μονάδα (Πλήρης Αθροιστής) Αποκωδικοποιητής Κρατούµενο Εξόδου 17 Αριθµητική και Λογική Μονάδα Κρατούµενο Εξόδου Κρατούµενο Εισόδου Αριθµητική και Λογική Μονάδα (LU) 8 bit Οκτώ LU του ενός bit διασυνδεδεµένες για τη δηµιουργία µιας LU των 8 bit. 18 9
Ρολόγια Χρονισµού Χαµηλή συχνότητα αναφοράς Χρόνος Κύκλου Ρολογιού (Clock Cycle Time) Ταλαντωτής κρυστάλλου PLL Chip Υψηλή συχνότητα elay C ηµιουργία παλµών ρολογιού 19 Κυκλώµατα Μνήµης Μανδαλωτής Μανδαλωτής σε διαφανή κατάσταση Μανδαλωτής σε κατάσταση µνήµης ευσταθές Η έξοδος ακολουθεί την είσοδο Σύµβολο 20 10
Κυκλώµατα Μνήµης Flip-FlopFlop Μανδαλωτής Αφέντης Μανδαλωτής Σκλάβος Σύµβολο 21 Καταχωρητής 7 6 5 4 3 2 1 0 CLK CL LER CL CL CL CL CL CL CL CL 7 6 5 4 3 2 1 0 Καταχωρητής 8 bit CLK <7..0> <7..0> 22 11
Ακολουθιακή Λογική Είσοδοι έξοδοι = f(εισόδων, κατάστασης)... Συνδυαστικό Λογικό Κύκλωµα...... Καταχωρητές Έξοδοι CLK Μηχανή Πεπερασµένων Καταστάσεων (Finite tate Machine- FM) Είσοδοι CLK Ως κατάσταση ορίζουµε τις τιµές που έχουν αποθηκευθεί στους καταχωρητές σε κάθε χρονική στιγµή. Καταχωρητής Συνδυαστική Λογική Καταχωρητής Συνδυαστική Λογική Σύστηµα µε ιοχέτευση (Pipeline) Καταχωρητής Έξοδοι 23 FPG 1/2 Τυπικό οµικό Κύτταρο Λογικής σε FPG LUT 1 FF LUT 3 LUT 2 FF Configurable Logic lock (CL) MUX Xilinx XC400E 24 12
Μήτρα ιακοπτών FPG 2/2 Πλέγµα ιασύνδεσης CL CL M ιακόπτης 25 ΜΝΗΜΕΣ 26 13
Τύποι Μνηµών Πυκνωτής L L L ή nmo Gnd G WL FG WL Πυκνωτής V WL WL WL nmo L C L L Gnd Gnd L Gnd Κύτταρο RM Υψηλή ταχύτητα Υψηλό κόστος Πτητική µνήµη Κύτταρο RM Κύτταρο Flash Χαµηλή ταχύτητα Χαµηλό κόστος Πτητική µνήµη Περιοδική επανεγγραφή Χαµηλή ταχύτητα Μεσαίο κόστος Μη πτητική µνήµη 27 Εσωτερική Οργάνωση Μνηµών Πίνακας Κυττάρων Οργάνωση µνήµης 4x3 (4 λέξεις των 3 bit). Αποκωδικοποιητής ιεύθυνσης Λογική (ιδεατή) οργάνωση. Τα διάφορα µέρη δεν ταυτίζονται ακριβώς µε εκείνα σε µνήµες RM Flash Αντιστοιχεί περισσότερο στην δοµή του µπλοκ των καταχωρητών στη CPU (register file). 28 14
Ανάγνωση Μνήµης Πίνακας Κυττάρων Ανάγνωση λέξης από τη διεύθυνση: Α1Α0 = 01 Αποκωδικοποιητής ιεύθυνσης 0 1 0 1 0 29 Ανάγνωση Μνήµης Οµάδα σηµάτων σε παράλληλους αγωγούς Α1Α0 C OE R TC5517CPL-20 2K 8 O2O1O0 30 15
Εγγραφή Μνήµης 1 0 1 Πίνακας Κυττάρων Εγγραφή της λέξης: Ι2Ι1Ι0 = 101 Αποκωδικοποιητής ιεύθυνσης στη διεύθυνση: Α1Α0 = 10 1 0 0 0 Αδιάφορη ενεργοποίηση 1 31 Εγγραφή Μνήµης Α1Α0 C OE R O2O1O0 TC5517CPL-20 2K 8 I2I1I0 32 16
Ρεαλιστική Οργάνωση Μνήµης Επιλέγει γραµµή 2 k-j γραµµές k-1... j+1 j Αποκωδ. Γρ ραµµής k j 2 Συστοιχία Μνήµης it Line (Στήλη) Κύτταρο Μνήµης (1bit) Word Line (Γραµµή) Λέξη 2 j λέξεις των m bit j-1 1 0... Κύκλωµα Ανανέωσης εδοµένων (µόνο RMs) Αποκωδικ. Στήλης... m-bit Ενισχυτής Σήµατος Κυκλώµατα Ανάγνωσης/Εγγραφής... Είσοδοι/Έξοδοι (m-bit) j m 2 στήλες Επιλέγει τη ζητούµενη λέξη από την ενεργοποιηµένη γραµµή Ενισχύει το σήµα των bit lines κατά την ανάγνωση 33 Χρήση CM σε Μνήµες Cache CM Συστοιχία RM Συστοιχία Αποκωδικοποιητής Γρ ραµµής L WL Match Line L Λογική Επιτυχία ας WL L L Οδήγηση Εισόδου Αισθητήρες / Οδηγοί Εισόδ. ιεύθυνση Γραµµής Ετικέτα (Tag) Επιτυχία R/W εδοµένα 34 17
ΔΙΑΥΛΟΙ 35 Πολλαπλοί ίαυλοι CPU Καταχωρητές ίαυλοι Ελεγκτής διαύλου ίαυλος µνήµης Μνήµη LU ίαυλος εισόδου/εξόδου (Ι/Ο) Ενσωµατωµένος δίαυλος H Ethernet ίαυλοι διευθύνσεων, δεδοµένων, σηµάτων ελέγχου. Πρωτόκολλο διαύλου. Ενεργητικές συσκευές (masters) προκαλούν έναρξη µεταφοράς δεδοµένων. Παθητικές συσκευές (slaves) δέχονται αιτήσεις µεταφοράς δεδοµένων. 36 18
Εύρος ιαύλου Το εύρος του διαύλου (bus width) καθορίζει το µέγεθος της µνήµης που µπορεί ρ να προσπελαστεί ή τον όγκο των δεδοµένωνµ που µπορούν ρ να προσπελαστούν ταυτόχρονα. Σταδιακή αύξηση του εύρους των διαύλων στο χρόνο µε βάση τις ανάγκες. Το αίτηµα για προς τα πίσω συµβατότητα οδηγεί σε παραχωρήσεις στο επίπεδο της σχεδίασης που επιφέρουν ακαταστασία. 37 Χρονισµός ιαύλου Σύγχρονοι δίαυλοι (synchronous buses): όπου γίνεται χρήση ρολογιού και κάθε διακριτή δραστηριότητα στο δίαυλο (κύκλος διαύλου bus cycle) καταλαµβάνει ακέραιο αριθµό κύκλων του ρολογιού. Ασύγχρονοι δίαυλοι (asynchronous buses): χωρίς τη χρήση ρολογιού αλλά µε συνεννόηση µεταξύ των συσκευών. Κάθε δραστηριότητα δαπανά ακριβώς το χρόνο που απαιτείται για την ολοκλήρωσή της. 38 19
Ανάγνωση µνήµης µέσω διαύλου π.χ. Η µνήµη χρειάζεται 40ns για να διαθέσει τα προς ανάγνωση δεδοµένα. CLK Σύγχρονοι ίαυλοι κύκλος ανάγνωσης κατάσταση αναµονής 25ns 40MHz Η αργή µνήµη για να αντεπεξέλθει στην αίτηση ανάγνωσης εισάγει κύκλους ρολογιού που ονοµάζονται καταστάσεις αναµονής (wait states). Έτσι ενηµερώνει τον αιτούντα (π.χ. CPU) για το πότε θα έχει έτοιµα τα δεδοµένα. Ο αιτούντας διαβάζει και αποθηκεύει τα δεδοµένα στην καθοδική ακµή του Τ 3. 39 Ασύγχρονοι ίαυλοι Σήµα συγχρονισµού αφέντη αίτιο Σήµα συγχρονισµού σκλάβου αποτέλεσµα Στους ασύγχρονους διαύλους χρησιµοποιείται µια αλληλοδιαδοχή ενεργοποιήσεων / απενεργοποιήσεων κατάλληλων σηµάτων για την ολοκλήρωση µιας διεργασίας, ηοποίαονοµάζεται χειραψία (hadshake). π.χ. χειραψία MYN YN MYN YN ενεργοποίηση απενεργοποίηση 40 20
ιαιτησία ιαύλου 1/3 Συσκευές Ι/Ο Παραχώρηση διαύλου (bus grant) Σ1 Σ2 Σn... ιαιτητής ιαύλου Αίτηση διαύλου (bus request) Απασχοληµένος δίαυλος (bus busy) προαιρετική γραµµή Υπόλοιπες γραµµές διαύλου (διευθύνσεις, δεδοµένα, σήµατα ελέγχου) Συγκεντρωτική (κεντρική) διαιτησία µε έναν διαιτητή διαύλου. Χρήση αλυσίδας προτεραιότητας. 41 ιαιτησία ιαύλου 2/3 Συσκευές Ι/Ο Σ1 Σ2... Σn Αίτηση διαύλου ιαιτητής ιαύλου... Παραχώρηση διαύλου Απασχοληµένος δίαυλος προαιρετική γραµµή Υπόλοιπες γραµµές διαύλου (διευθύνσεις, δεδοµένα, σήµατα ελέγχου) Συγκεντρωτική (κεντρική) διαιτησία µε έναν διαιτητή διαύλου. Παράλληλη διαιτησία. 42 21
ιαιτησία ιαύλου 3/3 Συσκευές Ι/Ο 1 ιαιτησία Σ1 Σ2... Σn Αίτηση διαύλου Απασχοληµένος δίαυλος Υπόλοιπες γραµµές διαύλου (διευθύνσεις, δεδοµένα, σήµατα ελέγχου) Αποκεντρωµένηδιαιτησία διαύλου. Χρήση τριών γραµµών διαιτησίας. 43 Ελεγκτής ιακοπών Ρολόι Ελεγκτής ιακοπών Interrupt Controller ίσκος Ένα είδος κύκλου διαύλου αφορά το χειρισµό διακοπών. ΗCPU αναθέτει διεργασίες σε συσκευές και αναµένει µια διακοπή όταν ολοκληρωθεί η διεργασία. Για τη διαχείριση πολλαπλών διακοπών υπάρχει ένας ελεγκτής διακοπών που δίνει προτεραιότητες στις συσκευές. Οι ελεγκτές διακοπών έχουν µεγάλο αριθµό καταχωρητών. 44 22
Χαρακτηριστικά ιαύλων Όνοµα διαύλου διαύλου 625 45 23