5 η Θεµατική Ενότητα : Μνήµη & Προγραµµατιζόµενη Λογική Επιµέλεια διαφανειών: Χρ. Καβουσιανός
Μνήµη Η µνήµη καταλαµβάνει το µεγαλύτερο µέρος ενός υπολογιστικού συστήµατος Δύο τύποι: ROM - RAM RΟΜs CPU REGs On-chip Cache Off-chip Cache Main Memory Secondary Memory Κάθε επίπεδο µνήµης έχει διαφορετικά χαρακτηριστικά από τα υπόλοιπα και σχεδιάζεται διαφορετικά Μονάδες Μνήµης 2
Τρόποι Διαχωρισµού Μνηµών. Μόνο ανάγνωσης - Ανάγνωσης & Εγγραφής 2. Στατικές - Δυναµικές 3. Τυχαίας - Σειριακής Προσπέλασης 4. Πρόσκαιρες (volatile) ή Μη (non-volatile) Μονάδες Μνήµης 3
Προγραµµατίσιµη Λογική PLDs PLAs PALs FPGAs Ασφάλειες Αντιασφάλειες Κύτταρα µνήµης Λογικά κύτταρα Προγραµµατιµός Υλοποίηση Λογικής Μονάδες Μνήµης 4
Μνήµη Τυχαίας Προσπέλασης (RAM) Μονάδα Μνήµης: Ένα σύνολο από κύτταρα αποθήκευσης µαζί µε τα απαραίτητα κυκλώµατα για τη µεταφορά πληροφοριών. RAM: η µεταφορά µπορεί να γίνει από και προς οποιαδήποτε τυχαία θέση σε σταθερό χρόνο. Οι δυαδικές πληροφορίες αποθηκεύονται οµαδοποιηµένες σε λέξεις (words). Λέξη: 8, 6, 32, 64, bits Μονάδες Μνήµης 5
Παράδειγµα: Περιεχόµενα Μνήµης 24 x 6 Kbyte = 2 bytes Mbyte = 2 2 bytes Gbyte = 2 3 bytes Tbyte = 2 4 bytes bit διεύθυνση 6 bits λέξη Μονάδες Μνήµης 6
Λειτουργίες Γραφής/Ανάγνωσης Εγγραφή Μνήµης.. Μεταφορά της δυαδικής διεύθυνσης της λέξης στις γραµµές διεύθυνσης. 2. Μεταφορά των bits δεδοµένων στις γραµµές δεδοµένων 3. Ενεργοποίηση της εισόδου ελέγχου γραφής. Ανάγνωση Μνήµης.. Μεταφορά της δυαδικής διεύθυνσης της λέξης στις γραµµές διεύθυνσης. 2. Ενεργοποίηση της εισόδου ελέγχου ανάγνωσης. Μονάδες Μνήµης 7
Κυµατοµορφές Χρονισµού Η µνήµη "χρονίζεται" από τον επεξεργαστή. Χρόνος Προσπέλασης: χρόνος για την επιλογή µίας διεύθυνσης και την ανάγνωση του περιεχοµένου της Χρόνος Κύκλου: χρόνος για την ολοκλήρωση µίας λειτουργίας εγγραφής Η µνήµη ανταποκρίνεται σε πολλαπλούς κύκλους ρολογιού, ανάλογα µε την ταχύτητα απόκρισης της Ο επεξεργαστής αναµένει επαρκή αριθµό κύκλων για να απαντήσει η µνήµη Μονάδες Μνήµης 8
Κυµατοµορφή Εγγραφής Μονάδες Μνήµης 9
Κυµατοµορφή Ανάγνωσης Μονάδες Μνήµης
Αποκωδικοποίηση Μνήµης Αποκωδικοποίηση είναι η διαδικασία επιλογής της θέσης µνήµης την οποία θα γράψουµε ή θα διαβάσουµε. Κύτταρο: Δοµή αποθήκευσης ενός δυαδικού ψηφίου Λέξη: Δοµή πολλαπλών κυττάρων που αντιστοιχούν σε µία θέση µνήµης Αποκωδικοποιητής: Κύκλωµα που επιλέγει µία λέξη της µνήµης Μονάδες Μνήµης
Ένα κύτταρο µνήµης Μονάδες Μνήµης 2
Ένα κύτταρο µνήµης Ι I I' Q Μονάδες Μνήµης 3
Παράδειγµα Μνήµης 4x3 δυαδικών ψηφίων Εσωτερική Οργάνωση Μνήµης Μονάδες Μνήµης 4
Επέκταση µνήµης 2 ο επίπεδο αποκωδικοποίησης Χρησιµοποιούνται πολλαπλά ολοκληρωµένα µνήµης για την δηµιουργία µεγαλύτερων (σε χωρητικότητα) µνηµών Μονάδες Μνήµης 5
Παράταξη µε RAM chips Οι είσοδοι δεδοµένων ταυτίζονται µε τις εξόδους αποτελεσµάτων. Αυτό οδηγεί στην χρήση αµφίδροµων στοιχείων (bidirectional). Μονάδες Μνήµης 6
Κόστος Αποκωδικοποίησης Ο αποκωδικοποιητής αυξάνει εκθετικά σε µέγεθος µε γραµµική αύξηση του αριθµού των διευθύνσεων. Α Α 2 2 Αποκωδικοποιητης 2 σε 4 Ε 2 3 D D D 2 D 3 Α 2 Α Α Αποκωδικοποιητης 2 2 2 σε 4 2 3 Ε D D D 2 D 3 2Χ Αποκωδικοποιητης 2 2 2 σε 4 2 3 Ε D 4 D 5 D 6 D 7 Μονάδες Μνήµης 7
Ταυτόχρονη Αποκωδικοποίηση Διεύθυνση δυαδικών ψηφίων απαιτεί 2 = 24 πύλες ΚΑΙ 5 εισόδων 32+32 πύλες Δισδιάστατη δοµή µε µία λέξη να αντιστοιχεί σε κάθε τοµή γραµµής/στήλης Μονάδες Μνήµης 8
Πολύπλεξη Διευθύνσεων Για µείωση ακροδεκτών και διαύλων, η διεύθυνση αποκωδικοποιείται σε γραµµές-στήλες µε πολυπλεξία στον χρόνο Μονάδες Μνήµης 9
Θόρυβος & Ακτινοβολία Οι µνήµες καταλαµβάνουν την µεγαλύτερη επιφάνεια του ολοκληρωµένου και δέχονται ακτινοβολία. Οι µικρές διαστάσεις στις υποµικρονικές τεχνολογίες οδηγεί σε καταστροφή δεδοµένων Απαιτείται προστασία δεδοµένων ειδικά σε διαστηµικές εφαρµογές Μονάδες Μνήµης 2
Κώδικες Ανίχνευσης/Διόρθωσης Λαθών Ο απλούστερος κώδικας είναι ο κώδικας ισοτιµίας Η διόρθωση λαθών απαιτεί πλεονασµό πληροφορίας ώστε να εντοπιστεί το λανθασµένο ψηφίο Ανίχνευση λαθών Δυαδικό Ψηφίο Ισοτιµίας Η ισοτιµία παραβιάζεται Μονάδες Μνήµης 2
Κώδικας Hamming C 8 C 4 C 2 C - I I I 2 I 3 I 4 I 5 I 6 I 7 P P 2 I I I I 2 I 3 I 4 I 5 I 6 I 7 P P 2 P 4 P 8 P 4 I I 2 P 8 P 4 P 2 P I 3 I 4 I 5 I 6 I I 2 I 3 I I 2 I 3 I I I 3 P 8 I 4 I 7 I 7 I 5 I 6 I 4 I 6 I 5 I 6 I 7 C 8 C 4 C 2 C Μονάδες Μνήµης 22
Κώδικας Hamming P 8 P 4 P 2 P I 4 I 5 I 6 I I 2 I 3 I I 2 I 3 I I I 3 I 7 I 7 I 5 I 6 I 4 I 6 C 8 C 4 C 2 C Η κάθε οµάδα ελέγχεται για την ισοτιµία της. Έστω η οµαδα C 8 και η C 4 έχουν λάθος ισοτιµία και οι υπόλοιπες σωστή Μονάδες Μνήµης 23
Κώδικας Hamming P 8 P 4 P 2 P I 4 I 5 I 6 I I 2 I 3 I I 2 I 3 I I I 3 I 7 I 7 I 5 I 6 I 4 I 6 C 8 C 4 C 2 C. Το λάθος δεν µπορεί να είναι ούτε στην C, ούτε στην C 2. Μονάδες Μνήµης 24
Κώδικας Hamming P 8 P 4 P 2 P I 4 I 5 I 6 I I 2 I 3 I I 2 I 3 I I I 3 I 7 I 7 I 5 I 6 I 4 I 6 C 8 C 4 C 2 C. Το λάθος δεν µπορεί να είναι ούτε στην C, ούτε στην C 2. 2. Τα ψηφία που απαλλάσονται διαγράφονται και από τις υπόλοιπες µονάδες. Μονάδες Μνήµης 25
Κώδικας Hamming P 8 P 4 P 2 P I 4 I 5 I 6 I I 2 I 3 I I 2 I 3 I I I 3 I 7 I 7 I 5 I 6 I 4 I 6 C 8 C 4 C 2 C. Το λάθος δεν µπορεί να είναι ούτε στην C, ούτε στην C 2. 2. Τα ψηφία που απαλλάσονται διαγράφονται παντού. 3. Το λάθος επηρεάζει και την C 8 και την C 4. Το µόνο κοινό τους που µένει είναι το I 7, το οποίο είναι τελικά το λάθος. Μονάδες Μνήµης 26
Κώδικας Hamming Παρατηρήστε ότι αν θέσουµε C 8 =C 4 = που αντιστοιχούν στις λανθασµένες οµάδες, τότε ο δυαδικός αριθµός C 8 C 4 C 2 C = υποδεικνύει την λανθασµένη θέση (2) 2 3 4 5 6 7 8 9 2 I I I 2 I 3 I 4 I 5 I 6 I 7 P P 2 P 4 P 8 Μονάδες Μνήµης 27
Κωδικοποίηση (περιττή ισοτιµία) C 8 C 4 C 2 C - P P 2 I Ι Ι Ι 2 Ι 3 Ι 4 Ι 5 Ι 6 Ι 7 Ι Ι Ι 2 Ι 3 Ι 4 Ι 5 Ι 6 Ι 7 P P 2 P 4 P 8 P 4 I I 2 P 8 P 4 P 2 P I 3 P 8 I 4 I 5 I 6 I 7 P 8 = P 4 = P 2 = P = Μονάδες Μνήµης 28
Αποκωδικοποίηση (περιττή ισοτιµία) C 8 C 4 C 2 C - P P 2 I Ι Ι Ι 2 Ι 3 Ι 4 Ι 5 Ι 6 Ι 7 P P 2 P 4 P 8 P 4 I I 2 I 3 P 8 I 4 I 5 I 6 I 7 C 8 = C 4 = C 2 = C = Μονάδες Μνήµης 29
Αποκωδικοποίηση (περιττή ισοτιµία) C 8 C 4 C 2 C - P P 2 I Ι Ι Ι 2 Ι 3 Ι 4 Ι 5 Ι 6 Ι 7 P P 2 P 4 P 8 P 4 I I 2 I 3 P 8 I 4 I 5 I 6 I 7 C 8 = C 4 = C 2 = C = Μονάδες Μνήµης 3
Κώδικας Hamming O δυαδικός αριθµός C 8 C 4 C 2 C = υποδεικνύει την λανθασµένη θέση (7) 2 3 4 5 6 7 8 9 2 I I I 2 I 3 I 4 I 5 I 6 I 7 P P 2 P 4 P 8 P P 2 P 4 P 8 Διόρθωση του λάθους Μονάδες Μνήµης 3
Μνήµες ROM Δεν υπάρχουν είσοδοι δεδοµένων Εξοδοι σε υψηλή εµπέδηση για επέκταση Τα περιεχόµενα δεν αλλάζουν Συµπεριφέρεται όπως ένα συνδυαστικό κύκλωµα Μονάδες Μνήµης 32
Μνήµη ROM 32x8 Διευθύνσεις Οι συνδέσεις των πυλών Η καθορίζουν τα περιεχόµενα των θέσεων Προγραµµατιζόµενα (crosspoints) από ασφάλειες Μονάδες Μνήµης 33
Μνήµη ROM 32x8 Πίνακας αλήθειας µνήµης ROM Μονάδες Μνήµης 34
Μνήµη ROM 32x8 '' στον πίνακα αλήθειας '' στον πίνακα αλήθειας (κάψιµο ασφάλειας) Μονάδες Μνήµης 35
Μνήµη ROM 32x8 Μονάδες Μνήµης 36
Υλοποίηση Συνδυαστικού Κυκλώµατος Παράδειγµα: κύκλωµα τετραγωνιστή 3 bits Μονάδες Μνήµης 37
Με µάσκα (εργοστάσιο) PROM (εργαστήριο) ΕPROM (διαγράφεται µε UV) Τύποι ROM Ο τρόπος προγραµµατισµού καθορίζει τον τύπο της ROM EΕPROM (διαγράφεται µε τάση) Flash Memories (ενσωµατωµένο κύκλωµα διαγραφής) Μονάδες Μνήµης 38
Συνδυαστικά PLDs Όλοι οι ελαχιστόροι δεν είναι απαραίτητοι Μείωση κόστους µε PLDs Μονάδες Μνήµης 39
Programmable Logic Arrays Παράδειγµα: PLA µε 3 εισόδους, 2 εξόδους, 4 εσωτερικούς παράγοντες F = AB' + AC + A'BC' F 2 = (AC + BC)' Μονάδες Μνήµης 4
Πίνακας Προγραµµατισµού PLA F = AB' + AC + A'BC' F 2 = (AC + BC)' Μονάδες Μνήµης 4
PAL Σταθεροποιείται ο πίνακας των OR για µείωση του κόστους αλλά µειώνεται η ευελιξία προγραµµατισµού Λογική Επέκτασης 42
Παράδειγµα 43
Ακολουθιακές Προγραµµατιζόµενες Συσκευές Ακολουθιακά (ή απλά) PLDs (SPLDs) FPGAs Περίπλοκα PLDs (CPLDs) Μονάδες Μνήµης 44
SPLDs (macrocell) Ένα τυπικό SPLD έχει 8- macrocells Μονάδες Μνήµης 45
CPLDs Παρέχουν περισσότερες δυνατότητες προγραµµατισµού λογικής Μονάδες Μνήµης 46
FPGAs Αποτελούν VLSI κυκλώµατα που προγραµµατίζονται στο πεδίο εφαρµογής Εκατοµµύρια λογικά µπλοκ Μπλοκ εισόδου/ εξόδου Προγραµµατιζόµενες διασυνδέσεις Πίνακες Αναζήτησης Πύλες Πολυπλέκτες FFs Απαιτούνται εξειδικευµένα εργαλεία CAD Μονάδες Μνήµης 47
Xilinx FPGAs Η τελευταία οικογένεια είναι η Spartan Επεξεργασία δεδοµένων Διασύνδεση επεξεργαστικών µονάδων Μονάδες Μνήµης 48
Configurable Logic Block Μονάδες Μνήµης 49
Configurable Logic Block Διαµόρφωση CLBs για δηµιουργία SRAMs Εκτός από λογική µπορεί να υλοποιήσει και µνήµη µε τα κατάλληλα περιφερειακά Μονάδες Μνήµης 5
Configurable Logic Block Διαµόρφωση CLBs για δηµιουργία Dual- Port SRAMs Μονάδες Μνήµης 5
Αρχιτεκτονική Spartan II Μονάδες Μνήµης 52
Xilinx Virtex Κάθε επόµενη οικογένεια προσθέτει δυνατότητες Μονάδες Μνήµης 53