ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών"

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΑΣ ΕΡΓΑΣΤΗΡΙΟ ΘΕΩΡΗΤΙΚΗΣ ΗΛΕΚΤΡΟΤΕΧΝΙΑΣ ΚΑΙ ΠΑΡΑΓΩΓΗΣ Β ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών Σκλίας Γεώργιος Αριθμός Μητρώου: 6847 Θέμα: «Μοντελοποίηση και πειραματική εξομοίωση του μηχανισμού γήρανσης μνημών τεχνολογίας NAND» Επιβλέπων: Αντωνακόπουλος Θεόδωρος Αριθμός Διπλωματικής Εργασίας: Πάτρα, Μάιος, 2015

2

3 ΠΙΣΤΟΠΟΙΗΣΗ Πιστοποιείται ότι η Διπλωματική Εργασία με θέμα: «Μοντελοποίηση και πειραματική εξομοίωση του μηχανισμού γήρανσης μνημών τεχνολογίας NAND» Του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σκλίας Γεώργιος Αριθμός Μητρώου: 6847 Παρουσιάστηκε δημόσια και εξετάστηκε στο Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών στις.../../ Ο Επιβλέπων Αντωνακόπουλος Θεόδωρος, Καθηγητής Ο Διευθυντής του Τομέα Φακωτάκης Νικόλαος, Καθηγητής 3

4

5 Αριθμός Διπλωματικής Εργασίας: Θέμα: «Μοντελοποίηση και πειραματική εξομοίωση του μηχανισμού γήρανσης μνημών τεχνολογίας NAND» Φοιτητής: Σκλίας Γεώργιος Επιβλέπων: Αντωνακόπουλος Θεόδωρος Καθηγητής Περίληψη Η συμπεριφορά των NAND Flash μνημών, της πιο επιτυχημένης τεχνολογίας Non-Volatile μνημών σήμερα, αλλοιώνεται με την αύξηση των εγγραφών. Αυτή η διαδικασία, που ονομάζεται γήρανση, πέρα από μη αναστρέψιμη είναι και πολύ σημαντική για τον σχεδιασμό συστημάτων που χρησιμοποιούν NAND Flash μνήμες (π.χ. SSD), επειδή επηρεάζει την ΙΟ απόδοση και την αξιοπιστία του συστήματος. Τα πειράματα πάνω σε πραγματικές NAND Flash μνήμες είναι χρονοβόρες και μη αναστρέψιμες διαδικασίες, καθώς νέες εγγραφές στην μνήμη αυξάνουν την γήρανση και η συμπεριφορά του συστήματος αλλάζει. Σκοπός της παρούσας διπλωματικής εργασίας, είναι η ανάπτυξη ενός συστήματος που θα μπορεί να εξομοιώσει σε πραγματικό χρόνο και με μεγάλη ακρίβεια την συμπεριφορά NAND Flash μνημών με συνθήκες γήρανσης παραμετροποιημένες από τον χρήστη. Τα βασικά πλεονεκτήματα αυτής της προσέγγισης είναι τα ακόλουθα: η τεχνολογία που εξομοιώνεται μπορεί να χρησιμοποιηθεί υπό ίδιες συνθήκες γήρανσης για επαναληπτικά πειράματα και το ίδιο σύστημα μπορεί να χρησιμοποιηθεί για να συγκρίνει διαφορετικές τεχνολογίες μνημών υπό διαφορετικές συνθήκες γήρανσης χρησιμοποιώντας τις ίδιες ρυθμίσεις hardware. 5

6

7 Ευχαριστίες Η εκπόνηση της παρούσας διπλωματικής εργασίας λειτούργησε ως ερέθισμα εξερεύνησης νέων μαθησιακών ενοτήτων και ανάπτυξης των ερευνητικών ικανοτήτων μου. Πρώτα από όλα θα ήθελα να ευχαριστήσω τον κ. Αντωνακόπουλο Θεόδωρο, καθηγητή καθώς και διευθυντή του Εργαστηρίου Θεωρητικής Ηλεκτροτεχνίας και Παραγωγής Β του τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών του Πανεπιστημίου Πατρών, που μου έδωσε την ευκαιρία να ασχοληθώ με ένα τόσο ενδιαφέρον επιστημονικό αντικείμενο. Η καθοδήγηση και η εμπειρία του κατά τη διάρκεια της διπλωματικής εργασίας ήταν καθοριστική. Επίσης θα ήθελα να ευχαριστήσω θερμά τον διδάκτορα Προδρομάκη Αντώνιο για την άριστη συνεργασία που είχαμε στα πλαίσια εκπόνησης αυτής της εργασίας και τον πολύτιμο χρόνο που διέθεσε για να μου δώσει σημαντικά στοιχεία και εξηγήσεις πάνω στο θέμα. 7

8

9 Περιεχόμενα 1 Εισαγωγή Volatile και Non Volatile μνήμες Ιστορικά στοιχεία - Ανάπτυξη Flash Βασικές κατηγορίες Flash Στοιχεία NAND Flash Εξέλιξη NAND Flash Αναφορά στα προβλήματα των NAND Flash Τρόποι αντιμετώπισης Σύστημα εξομοίωσης MLC NAND Flash Πειράματα στις Flash Αντικείμενο διπλωματικής εργασίας και στόχοι αυτού Ανάλυση NAND Flash μνήμης Εισαγωγή Floating Gate τρανζίστορ Ανάλυση πίνακα μνήμης Διαδικασίες Εγγραφής-Διαγραφής-Ανάγνωσης στις NAND Flash SLC Διαδικασία Εγγραφής-Διαγραφής Διαδικασία Ανάγνωσης Πηγές θορύβου στις NAND Flash MLC NAND Flash τεχνολογία Μοντελοποίηση MLC NAND Flash Θεωρητικά στοιχεία Χαρακτηριστικά μοντέλου - Assymetric PAM - AWGN Μέθοδος Box-Muller Σύνδεση χαρακτηριστικών Box-Muller με το κύτταρο μνήμης Υλοποίηση μοντέλου σε Matlab Δημιουργία AWGN θορύβου - Πρώτο στάδιο Μοντελοποίηση MLC NAND Flash - Δεύτερο στάδιο Έλεγχος αποτελεσμάτων μοντέλου Σύνθεση κυττάρου μνήμης Εισαγωγή Βασικά στοιχεία - VHDL Τυχαίες μεταβλητές - LFSR Εσωτερικό σύνθεσης κυττάρου μνήμης Γενικά στοιχεία σύνθεσης Αριθμητική σύνθεσης

10 ΠΕΡΙΕΧΟΜΕΝΑ Εκτέλεση των πράξεων της V s - IP Cores Λογική υλοποίησης Σήματα συγχρονισμού των IP Cores Στάδια pipelining - datapath Top-Entity κυττάρου μνήμης Είσοδοι-Έξοδοι κυττάρου μνήμης Διαδικασία εκτέλεσης ISim Ταχύτητα εκτέλεσης και Resources Αποτελέσματα και Έλεγχοι Κατανομή τάσεων σύνθεσης Σύγκριση Γραφικών Μέτρο σύγκρισης - RMSE Έλεγχος ποσοστιαίας διαβάθμισης γκαουσιανών Σύστημα εξομοίωσης MLC NAND Flash Εισαγωγή Επικοινωνία και χαρακτηριστικά AXI4-Lite Νέα στοιχεία σύνθεσης - IP Cores Είσοδοι-έξοδοι και FIFOs IP Cores - Λειτουργία των FIFOs Εγγραφή και ανάγνωση από τις FIFOs Καταχωρητές ελέγχου Control Status Νέα στοιχεία σύνθεσης - vhd αρχεία Χειρισμός εισόδων-εξόδων συνολικού συστήματος Χειρισμός εισόδων κυττάρου μνήμης Χειρισμός εξόδων κυττάρου μνήμης Διασύνδεση των νέων αρχείων Διευθυνσιοδότηση εισόδων-εξόδων Έλεγχος συστήματος Έλεγχος με normplot() Έλεγχος με RMSE Έλεγχος με mean() και std() Εκτέλεση - Πειράματα Εκτέλεση συστήματος - SDK Πειράματα Συμπεράσματα Συμπεράσματα

11 Κατάλογος σχημάτων 1.1 Βελτιώσεις NAND Flash μνημών και που οδήγησαν EPROM μνήμη EEPROM μνήμη Flash μνήμη Διάταξη κυττάρων μνήμης NAND και NOR Flash.[2] Εξέλιξη των NAND Flash μνημών Διαδικασία Garbage Collection.[4] Floating Gate τρανζίστορ NAND String (αριστερά) NAND πίνακας (δεξιά) Διαδικασία διαγραφής Διαδικασία εγγραφής Διαδικασία ανάγνωσης Διάγραμμα απόφασης συμβόλου Επιρροή θορύβου στις κατανομές των εγγραφών της MLC NAND Flash Κατανομές των τάσεων MLC NAND Flash με γήρανση και χωρίς Η γραφική του AWGN θορύβου της fawgn Λειτουργικότητα μοντέλου MLC NAND Flash Κατανομές των τάσεων του μοντέλου MLC NAND Flash Βασική ροή εργασιών κατά την σχεδίαση με την γλώσσα VHDL Διάγραμμα καταστάσεων ενός LFSR Fibonacci των τεσσάρων bit H αρχικοποίηση ενός IPCore Διασύνδεση ακολουθιακής λογικής Παράδειγμα ακολουθιακής διασύνδεσης των IP Cores με την χρήση των σημάτων rdy και operation_nd Top-entity του κυττάρου μνήμης Κυματομορφές των εισόδων και εξόδων του κυττάρου μνήμης Πόροι συστήματος Κατανομές των τάσεων του κυττάρου μνήμης σε VHDL Κατανομές των τάσεων του μοντέλου και της σύνθεσης MLC NAND Flash Διαβάθμιση ποσοστών κανονικής κατανομής Η ιεραρχία της σύνθεσης Process της control Οι βασικοί είσοδοι και έξοδοι του control_logic.vhd Οι βασικοί είσοδοι και έξοδοι του cell_logic.vhd Οι είσοδοι και έξοδοι του soft_handling

12 ΚΑΤΑΛΟΓΟΣ ΣΧΗΜΑΤΩΝ 5.6 Οι είσοδοι και έξοδοι του hard_handling.vhd Διασύνδεση των αρχείων control_logic.vhd, cell_logic.vhd, soft_handling.vhd και hard_handling.vhd Εφαρμογή της normplot() στις κατανομές των τάσεων για το σύμβολο Εφαρμογή της normplot() στην κατανομή τάσεων του συμβόλου Εφαρμογή της normplot() στην κατανομή τάσεων του συμβόλου Εφαρμογή της normplot() στην κατανομή τάσεων του συμβόλου Παράλληλη παρουσίαση των κατανομών του μοντέλου με του συστήματος εξομοίωσης για δύο καταστάσεις του κυττάρου μνήμης Ρυθμός bit-σφαλμάτων(ber) του συστήματος εξομοίωσης Ρυθμός bit-σφαλμάτων(ber) του μοντέλου MLC NAND Flash

13 Κεφάλαιο 1 Εισαγωγή Οι NAND Flash μνήμες κερδίζουν όλο και περισσότερο έδαφος στον χώρο της τεχνολογίας. Η βασική μονάδα αποθήκευσης πληροφορίας των μνημών ονομάζεται κύτταρο μνήμης (memory-cell) όπου αποθηκεύεται 1-bit πληροφορίας. Το πλήθος των κυττάρων μνήμης στις NAND Flash μνήμες ανέρχεται στα δισεκατομμύρια. Η αυξημένη ζήτηση αποθήκευσης όλο και μεγαλύτερου όγκου δεδομένων στην αγορά, οδήγησε στα παρακάτω: 1 μείωση μεγέθους κυττάρου μνήμης περισσότερα κύτταρα μνήμης στον ίδιο χώρο ολοκληρωμένου κυκλώματος 2 έρευνα σε νέες τεχνολογίες δυνατότητα αποθήκευσης περισσότερης πληροφορίας ανά κύτταρο μνήμης Σχήμα 1.1: Βελτιώσεις NAND Flash μνημών και που οδήγησαν. Παραδείγματα των νέων τεχνολογιών κυττάρων μνήμης, είναι η δυνατότητα αποθήκευσης από 2-bit έως 8-bit σε κάθε ένα από αυτά. Τα τεχνολογικά αυτά επιτεύγματα οδήγησαν στην αύξηση της συνολικής χωρητικότητας πληροφοριών στις NAND Flash μνήμες. Παρόλο που οι συγκεκριμένες καινοτομίες άνοιξαν νέους δρόμους στον τομέα των μνημών, η συνεχής αύξηση της χωρητικότητας προκάλεσε μια αύξουσα πορεία στα προβλήματα που εμφανίστηκαν. Πιο συγκεκριμένα, μειώθηκε η αντοχή και αξιοπιστία των συγκεκριμένων μνημών. Μετά από κάποιο όριο εγγραφών/διαγραφών αυξάνεται η πιθανότητα είτε λανθασμένης εγγραφής είτε λανθασμένης διαγραφής. Παρακάτω παρουσιάζονται τα βασικά στοιχεία μνημών που είναι αναγκαία για την κατανόηση των επιμέρους στοιχείων του κεφαλαίου. Στην συνέχεια, αναφέρονται οι τεχνικές αντιμετώπισης των προβλημάτων που χρησιμοποιούνται στις NAND Flash μνήμες, καθώς και τα πειράματα που γίνονται προκειμένου να αυξηθεί η αξιοπιστία τους. 13

14 1.2. ΙΣΤΟΡΙΚΑ ΣΤΟΙΧΕΙΑ - ΑΝΑΠΤΥΞΗ FLASH 1.1 Volatile και Non Volatile μνήμες Οι μνήμες χωρίζονται σε δύο μεγάλες κατηγορίες, τις Volatile και τις Non-Volatile. Παραδείγματα της πρώτης κατηγορίας είναι οι Dynamic random-access memory (DRAM), Static random-access memory (SRAM), Pseudo SRAM. Όλες έχουν το κοινό χαρακτηριστικό ότι μπορούν να συγκρατήσουν διαθέσιμα τα δεδομένα τους για περίπου 60 msecond από την στιγμή που διακόπτεται η τάση τροφοδοσίας. [1] Σε αντίθεση με τις Volatile, οι Non-Volatile έχουν την δυνατότητα να συγκρατούν διαθέσιμα τα δεδομένα μέχρι και δέκα χρόνια, χωρίς κάποια εξωτερική πηγή ενέργειας. Σε αυτήν την κατηγορία ανήκουν και οι μνήμες Flash οι οποίες έχουν γνωρίσει μεγάλη επέκταση. Ο χρόνος αξιόπιστης αποθήκευσης των δεδομένων χωρίς κάποια τροφοδοσία, ονομάζεται retention time και ποικίλει ανάλογα με το είδος της μνήμης. Ακολουθεί ο πίνακας 1.1 με τις βασικότερες Non-Volatile μνήμες. Ακρωνύμιο Ορισμός Περιγραφή ROM Μνήμη μόνο ανάγνωσης Τα περιεχόμενα της μνήμης καθορίζονται κατά την κατασκευή και δεν τροποποιούνται EPROM EEPROM E 2 PROM Flash Μνήμη ROM με δυνατότητα σβησίματος/ προγραμματισμού Μνήμη ROM με δυνατότητα ηλεκτρικού σβησίματος/προγραμματισμού Μνήμη ROM με δυνατότητα ηλεκτρικού σβησίματος/προγραμματισμού Μνήμη τυχαίας προσπέλασης με Non-Volatility ιδιότητα (NVRAM) και ηλεκτρικού σβησίματος/ προγραμματισμού Πίνακας 1.1: Non-Volatile μνήμες [1] Η μνήμη αυτή μπορεί να σβηστεί με την έκθεσή της σε ακτινοβολία UV και να προγραμματιστεί ηλεκτρικά Η μνήμη αυτή μπορεί να σβηστεί και να προγραμματιστεί ηλεκτρικά. Η χρήση του EE δηλώνει σβήσιμο block και όχι byte Η μνήμη αυτή μπορεί να σβηστεί και να προγραμματιστεί ηλεκτρικά όπως και η EEPROM, αλλά η χρήση του E 2 δηλώνει σβήσιμο σε επίπεδο byte Έχουν την δυνατότητα εγγραφής χωρίς διαγραφή ολόκληρης της μνήμης, σε αντίθεση με τις EPROM 1.2 Ιστορικά στοιχεία - Ανάπτυξη Flash Η πρώτη Non-Volatile μνήμη είναι η EPROM και παρουσιάστηκε το 1971 από την Intel. Έχει την δυνατότητα ηλεκτρικού προγραμματισμού με μία ειδική συσκευή (PROM Burner). Δεν έχει την δυνατότητα ηλεκτρικής διαγραφής και σε περίπτωση διαγραφής πρέπει να αφαιρεθεί από το σύστημα και να εκτεθεί σε UV ακτινοβολία.[1] 14

15 ΚΕΦΑΛΑΙΟ 1. ΕΙΣΑΓΩΓΗ Σχήμα 1.2: EPROM μνήμη. Η ανάγκη ηλεκτρικής διαγραφής οδήγησε στην κατασκευή της EEPROM, η οποία βασίστηκε στην τεχνολογία της EPROM. Παρουσιάστηκε το 1978 από την Intel. Η διαφορά τους είναι η προσθήκη ενός λεπτού στρώματος οξειδίου στο chip το οποίο επιτρέπει την διαγραφή των bits που έχουν αποθηκευτεί, χωρίς την χρήση UV ακτινοβολίας. Η συγκεκριμένη μνήμη έχει υψηλό κόστος.[1] Σχήμα 1.3: EEPROM μνήμη. Στην κατεύθυνση της δημιουργίας μιας μνήμης με χαμηλό κόστος και ευκολία επαναπρογραμματισμού μέσα σε ένα σύστημα, δημιουργήθηκε η Flash. Η ιστορία της Flash μνήμης έχει την ιδιαιτερότητα ότι χρειάστηκαν τρεις αποτυχημένες προσπάθειες πριν καταφέρει να εισαχθεί και να εδραιωθεί στην αγορά. Για την επιτυχία της, η Flash έπρεπε να λύσει διάφορα τεχνικά προβλήματα καθώς και να δημιουργήσει μια ξεχωριστή αγορά αποκλειστικά για Flash μνήμες. Το 1985, η Toshiba ήταν η πρώτη που παρουσίασε μία μνήμη με την δυνατότητα ηλεκτρικής διαγραφής μεμονωμένων τρανζίστορ την οποία ονόμασε Flash Memory, λόγω του της δυνατότητας γρήγορης διαγραφής (Flash). Η έκδοση αυτή της Flash μνήμης είχε δυσκολία χρήσης και έτσι απέτυχε να εισαχθεί στην αγορά. Η εταιρία SEEQ την επόμενη χρονιά παρουσίασε μία ακόμα περίπλοκη στην χρήση Flash συσκευή η οποία επίσης κατέληξε σε αποτυχία. Παράλληλα η Intel ακολούθησε διαφορετικό δρόμο. Συνεργαζόμενη με την Xicor δοκίμασε την κατασκευή μιας EEPROM μνήμης με την δυνατότητα διαγραφής μεμονωμένων τρανζίστορ. Ενώ η έρευνα πάνω σε αυτήν την μνήμη φαινόταν υποσχόμενη, στην πραγματικότητα υπήρχαν προβλήματα κατά την χρήση της συσκευής. Παρόλα αυτά, η Intel είχε σε λειτουργία μία έρευνα πάνω στην κατασκευή Flash μνήμης η οποία θα στηριζόταν στην EPROM τεχνολογία, όμως λόγω της αποτυχίας που είχε η Toshiba πίστευαν ότι η συγκεκριμένη μνήμη θα αποτύχει να εισαχθεί στην αγορά. Αν δεν ήταν ο Gordon Moore και μία ομάδα πολύ αφοσιωμένων ερευνητών, η Intel δεν θα 15

16 1.3. ΒΑΣΙΚΕΣ ΚΑΤΗΓΟΡΙΕΣ FLASH Σχήμα 1.4: Flash μνήμη. έμπαινε ποτέ στον τομέα των Flash μνημών. Το 1986, δημιούργησε ένα ξεχωριστό τομέα ερευνών Flash και παρουσίασε μία 256 kilobyte (KB) μνήμη δύο χρόνια μετά. Στην συνέχεια, η Flash έγινε πρώτη στην αγορά των Non-Volatile μνημών και αντικατέστησε πλήρως την EPROM μέσα σε 5 χρόνια από την εμφάνιση της στην αγορά. Συναγωνίζεται την DRAM, σε ποσότητα παραγωγής ημιαγωγικών μνημών.[1] 1.3 Βασικές κατηγορίες Flash Υπάρχουν δύο κατηγορίες Flash μνημών, οι NOR και οι NAND. Διαφέρουν ως προς τον τρόπο χρήσης τους εξαιτίας των χαρακτηριστικών της αρχιτεκτονικής τους. Σχήμα 1.5: Διάταξη κυττάρων μνήμης NAND και NOR Flash.[2] Στην NAND αρχιτεκτονική, κάθε συστοιχία κυττάρων μνήμης (string) συνδέεται σε σειρά. Κάθε string αποτελείται από 32 ή 64 κύτταρα μνήμης σε στενή διάταξη μεταξύ τους και κάθε string συνδέεται με τα κυκλώματα ανάγνωσης (Read) και εισόδου εξόδου (I/O). Στην NOR αρχιτεκτονική κάθε ζευγάρι κελιών πρέπει να συνδέεται με τα κυκλώματα ανάγνωσης και I/O το οποίο απαιτεί τουλάχιστον μία μεταλλική επαφή για κάθε 16

17 ΚΕΦΑΛΑΙΟ 1. ΕΙΣΑΓΩΓΗ ζευγάρι κυττάρων μνήμης. Αυτό συνεπάγεται ότι η NAND σε μικρότερο χώρο ολοκληρωμένου κυκλώματος έχει μεγαλύτερη δυνατότητα αποθήκευσης, όπως φαίνεται και από το σχήμα 1.5.[2] Οι NAND Flash χρησιμοποιούνται για εφαρμογές που χρειάζεται αποθήκευση μεγάλου όγκου δεδομένων (SSDs) σε αντίθεση με τις NOR οι οποίες παράγονται σε μικρότερα μεγέθη και χρησιμοποιούνται για αξιόπιστη αποθήκευση και εκτέλεση κώδικα, όπως για παράδειγμα execute-in-place (XIP). 1.4 Στοιχεία NAND Flash Παρακάτω παρουσιάζεται η εξέλιξη των NAND Flash μνημών, τα βασικά προβλήματα τους και οι μέθοδοι ελαχιστοποίησης των προβλημάτων που χρησιμοποιούνται σήμερα Εξέλιξη NAND Flash Η πρώτη τεχνολογία NAND Flash μνήμης που έκανε την εμφάνιση της στην αγορά είναι η Single-Level-Cell (SLC) η οποία έχει την δυνατότητα αποθήκευσης ενός bit σε κάθε κύτταρο μνήμης και επομένως έχει δύο καταστάσεις, 0 ή 1. Στην πορεία δημιουργήθηκαν νέες ανάγκες όγκου αποθήκευσης δεδομένων και μέσα από νέες έρευνες εμφανίστηκε η τεχνολογία Multi-Level Cell (MLC) με την οποία είναι δυνατό να αποθηκευτούν 2-bits σε κάθε κύτταρο μνήμης. Με αυτόν τον τρόπο σχεδόν διπλασιάστηκε η χωρητικότητα αποθήκευσης στο ίδιο κόστος με την SLC τεχνολογία. Κάθε κύτταρο μνήμης της MLC τεχνολογίας μπορεί να βρεθεί σε τέσσερις καταστάσεις (11,10,01,00). Στην κατεύθυνση της αύξησης της χωρητικότητας των συσκευών με NAND Flash μνήμη, εμφανίστηκε και η τεχνολογία Triple-Level Cell (TLC) με την οποία είναι δυνατή η αποθήκευση τριών bits σε κάθε κύτταρο μνήμης και επομένως κάθε ένα από αυτά έχει 8 καταστάσεις, από 000 μέχρι 111. Στο σχήμα 1.6 παρουσιάζεται η ροή εξέλιξης των τεχνολογιών NAND Flash παράλληλα με το μέγεθος της βασικής μονάδας αποθήκευσης πληροφορίας (memory-cell), της κάθε μίας. Σχήμα 1.6: Εξέλιξη των NAND Flash μνημών. Ένα μέγεθος που χρησιμοποιείται για την μέτρηση της αντοχής των NAND Flash μνημών είναι οι κύκλοι προγραμματισμού/διαγραφής (P/E cycles). Για την τεχνολογία SLC οι P/E cycles ανέρχονται στις , για την MLC τεχνολογία στις ενώ για 17

18 1.4. ΣΤΟΙΧΕΙΑ NAND FLASH την TLC περίπου στις Είναι εμφανής η αισθητή μείωση της αντοχής των μνημών καθώς εξελίσσονται. Ο συνδυασμός της ανάπτυξης των παραπάνω τεχνολογιών μαζί με την μείωση του μεγέθους της βασικής μονάδας αποθήκευσης πληροφορίας (Scaling), δημιούργησαν την δυνατότητα αποθήκευσης περισσότερης πληροφορίας σε ίδιο χώρο chip και επομένως αυξάνεται η συνολική δυνατότητα αποθήκευσης δεδομένων των συσκευών που χρησιμοποιούν NAND Flash μνήμες Αναφορά στα προβλήματα των NAND Flash Τα προβλήματα στις NAND Flash έχουν αυξηθεί τα τελευταία χρόνια. Υπάρχουν δύο βασικοί λόγοι δημιουργίας τους. Ο πρώτος και βασικότερος είναι τα προβλήματα που δημιουργούνται μέσω του scaling και ο δεύτερος είναι η γήρανση. Όπως αναφέρθηκε, μέσω του scaling μειώνεται το μέγεθος του κυττάρου μνήμης. Καθώς αυξάνεται το scaling όμως, μειώνεται η απόσταση μεταξύ των κυττάρων μνήμης και αυξάνεται η ευαισθησία τους όταν προγραμματίζονται η διαγράφονται γειτονικά κύτταρα μνήμης. Επηρεάζεται η τάση κατωφλίου των γειτονικών κυττάρων μνήμης (victim cell), η οποία καθορίζει σε ποια κατάσταση (11,10,01,00) βρίσκονται, το οποίο δημιουργεί την πιθανότητα να μεταβληθεί η κατάσταση των κυττάρων μνήμης. Με τον όρο γήρανση νοείται η φθορά που επέρχεται στις μνήμες με την χρήση. Το Floating Gate τρανζίστορ, είναι η βασική μονάδα αποθήκευσης πληροφορίας ενός κυττάρου μνήμης. Ο τρόπος κατασκευής του μαζί με το επιπλέον στρώμα οξιδείου που χρησιμοποιείται για ηλεκτρική μόνωση, είναι τα χαρακτηριστικά που παρέχουν την ιδιότητα Non-Volatility (συγκράτηση των δεδομένων για μεγάλο χρονικό διάστημα). Με τις εγγραφές/διαγραφές το στρώμα οξιδείου υποβαθμίζεται και δημιουργείται διαρροή ηλεκτρονίων από το Floating Gate τρανζίστορ γεγονός το οποίο επηρεάζει την τάση κατωφλίου και κατ επέκταση την κατάσταση στην οποία βρίσκονται τα κύτταρα μνήμης. Επίσης, από το στρώμα οξιδείου κινούνται φορτία προς χαμηλότερα επίπεδα του Floating Gate τρανζίστορ, ηλεκτρόνια συνδέονται με οπές και μεταβάλλεται η τάση ανάγνωσης. Τα παραπάνω μειώνουν την ακρίβεια καθορισμού της τάσης κατωφλίου των κυττάρων μνήμης κατά την ανάγνωση και επομένως ανασύρονται διαφορετικά δεδομένα από αυτά που αποθηκεύτηκαν κατά την εγγραφή. Έτσι αυξάνεται η πιθανότητα εμφάνισης bit λαθών. Αποτέλεσμα των παραπάνω είναι η μείωση της συνολικής αντοχής και αξιοπιστίας των συσκευών που χρησιμοποιούν NAND Flash μνήμες Τρόποι αντιμετώπισης Υπάρχουν τρεις βασικοί τρόποι αντιμετώπισης των προβλημάτων στις NAND Flash μνήμες οι οποίοι αποσκοπούν στην ελαχιστοποίηση των σφαλμάτων κατά την ανάγνωση. Αυτοί είναι οι ECC κώδικες, η διαδικασία Wear Leveling και η διαδικασία Garbage Collection. ECC κώδικες Οι ECC κώδικες πραγματοποιούν ανίχνευση σφαλμάτων και αποσκοπούν στην βελτίωση της αξιοπιστίας. Για την εκτέλεση της ανίχνευσης εισάγονται επιπλέον δεδομένα στα αρχικά δεδομένα, τα οποία ονομάζονται check bits. Έπειτα, κωδικοποιούνται τα δεδομένα μαζί με τα check bits και κατά την αποκωδικοποίηση γίνεται η ανίχνευση και διόρθωση σφαλμάτων. Παραδείγματα ECC κωδίκων είναι οι αλγόριθμοι Hamming, RS-code και 18

19 ΚΕΦΑΛΑΙΟ 1. ΕΙΣΑΓΩΓΗ BCH. Οι ECC κώδικες μπορούν να υλοποιηθούν με software ή hardware. Στην υλοποίηση με software, αντί για την αποθήκευση δεδομένων απευθείας στην NAND Flash μνήμη, πραγματοποιείται προ-επεξεργασία των δεδομένων και ενσωματώνονται οι ECC πληροφορίες στα δεδομένα πριν την εγγραφή τους στην NAND Flash μνήμη. Σε αυτήν την περίπτωση χρειάζεται περισσότερη υπολογιστική ισχύ αλλά δεν απαιτείται κάποιο ειδικό hardware. Κατά την υλοποίηση με hardware, ο NAND Flash controller δημιουργεί τον ECC κώδικα όταν κάθε byte δεδομένων γράφεται μέσω αυτού. Η ECC πληροφορία αποθηκεύεται σε μία έξτρα περιοχή μνήμης (spare area), η οποία υπάρχει στις NAND Flash μνήμες και χρησιμοποιείται για διαδικασίες αύξησης της αξιοπιστίας. Η αποθήκευση της ECC πληροφορίας γίνεται μέσω του controller κατά την εγγραφή και χρησιμοποιείται από τον controller κατά την ανάγνωση των δεδομένων. [5] [6] [7] [8] [9] Wear Leveling Το Wear Leveling αποσκοπεί στην επέκταση της διάρκειας ζωής των NAND Flash μνημών. Όπως αναφέρθηκε παραπάνω, οι εγγραφές και διαγραφές επηρεάζουν την διάρκεια ζωής τους. Στις NAND Flash μνήμες τα δεδομένα γράφονται κατά σελίδες (pages), οι οποίες απαρτίζονται από πολλαπλά κύτταρα μνήμης, και διαγράφονται κατά blocks. Ένα block αποτελείται από 64 ή περισσότερες pages. Η τεχνική Wear Leveling, η οποία εκτελείται μέσω του controller της μνήμης, προσπαθεί να κατανείμει τις εγγραφές και τις διαγραφές ομοιόμορφα στα blocks της μνήμης έτσι ώστε όλα να έχουν ίδιο αριθμών εγγραφών/διαγραφών. Έτσι, όλα τα blocks της μνήμης θα καταπονηθούν ομοιόμορφα και θα αυξηθεί η διάρκεια ζωής της μνήμης.[3] Garbage Collection Με αυτήν την μέθοδο επιτυγχάνεται αποδοτικότερη εγγραφή στην μνήμη. Η διαδικασία φαίνεται στο παρακάτω σχήμα, όπου σε πρώτη φάση αποθηκεύονται τα δεδομένα A, B, C, D στο block X. Στην συνέχεια αποθηκεύονται νέα δεδομένα (E, F, G, H, A, B, C, D ) στις υπόλοιπες σελίδες (pages) του block και πλέον τα αρχικά δεδομένα A, B, C, D δεν χρειάζονται από το σύστημα (stale pages). Στην τελική φάση διαβάζονται τα έγκυρα δεδομένα του block X και αντιγράφονται στο καινούριο block Y. Το block X διαγράφεται και ελευθερώνεται για νέες εγγραφές και μαζί απελευθερώνονται και οι stale pages που δεν μπορούσαν να χρησιμοποιηθούν στην προηγούμενη φάση της διαδικασίας γιατί περιείχαν μη χρήσιμα δεδομένα.[4] Σχήμα 1.7: Διαδικασία Garbage Collection.[4] 19

20 1.5. ΣΥΣΤΗΜΑ ΕΞΟΜΟΙΩΣΗΣ MLC NAND FLASH Οι παραπάνω τρόποι αντιμετώπισης προβλημάτων έχουν και μειονεκτήματα. Οι ECC κώδικες προσθέτουν πολυπλοκότητα στο σύστημα που σε πολλές περιπτώσεις είναι μη επιθυμητή. Αντίστοιχα, οι διαδικασίες Wear Leveling και Garbage Collection έχουν το κοινό μειονέκτημα ότι δημιουργούν ένα φαινόμενο που ονομάζεται Write Amplification. Αυτό προκαλείται λόγω των εγγραφών που απαιτούνται για την εκτέλεση των παραπάνω διαδικασιών, οι οποίες επιβαρύνουν την διάρκεια ζωής της NAND Flash μνήμης. 1.5 Σύστημα εξομοίωσης MLC NAND Flash Πειράματα στις Flash Για την ανάπτυξη τεχνικών αύξησης της αξιοπιστίας των NAND Flash μνημών, απαιτούνται πειράματα με βάση τις πραγματικές μνήμες. Τα πειράματα αυτά έχουν το μειονέκτημα ότι είναι μη αναστρέψιμες διαδικασίες επειδή κάθε εγγραφή/διαγραφή συνεισφέρει στην γήρανση της μνήμης. Είναι χρονοβόρες διαδικασίες μιας και απαιτούνται Κ P/E cycles για την εκτέλεση τους. Επίσης, μετά το πέρας των πειραμάτων οι μνήμες καταστρέφονται. Επειδή πρόκειται για πραγματικές μνήμες υπάρχει όριο εγγραφών/διαγραφών όπως αναφέρεται και παραπάνω, επομένως ξεπερνώντας αυτό το όριο οι μνήμες δεν μπορούν να χρησιμοποιηθούν πλέον για την πειραματική διαδικασία. Από τα παραπάνω δημιουργείται η ανάγκη αποδοτικότερων ελέγχων των μνημών Αντικείμενο διπλωματικής εργασίας και στόχοι αυτού Στην κατεύθυνση των προβλημάτων που έχουν τα παραπάνω πειράματα βρίσκει αντικείμενο η συγκεκριμένη διπλωματική εργασία. Σκοπός είναι η κατασκευή ενός συστήματος που θα εξομοιώνει μία MLC NAND Flash μνήμη σε field-programmable gate array (FPGA). Η επιλογή της εκτέλεσης του συστήματος σε FPGA γίνεται λόγω της ευελιξίας που παρέχει. Στα πλαίσια του ότι η MLC είναι η πιο διαδεδομένη τεχνολογία NAND Flash μνήμης σήμερα, επιλέγεται η υλοποίηση συστήματος εξομοίωσης MLC NAND Flash. Παρόλα ταύτα, στόχος είναι να υπάρχει η δυνατότητα μελλοντικής επέκτασης του συστήματος εξομοίωσης ώστε να έχει την δυνατότητα να εξομοιώνει αποδοτικά και άλλες τεχνολογίες Flash μνημών. Οι συνθήκες γήρανσης των μνημών αποτελούν ίσως την πιο βασική παράμετρο που απαιτείται να περιλαμβάνει το σύστημα εξομοίωσης. Προκειμένου να γίνουν αποδοτικοί έλεγχοι πάνω στα bit-σφάλματα των μνημών είναι απαραίτητη η παραμετροποίηση ως προς τις συνθήκες αυτές. Ως τάση ανάγνωσης ορίζουμε την τάση που έχει κάθε κύτταρο μνήμης, με αποκωδικοποίηση της οποίας, προκύπτει το σύμβολο του (0,1 ή 11,10,01,00). Οι τάσεις αυτές ακολουθούν γκαουσιανές κατανομές. Επομένως, υπάρχει άμεση εξάρτηση από τη μέση τιμή και την διακύμανση των κατανομών αυτών. Παραμετροποιώντας το σύστημα ως προς τη μέση τιμή και την διακύμανση των κατανομών, επιτυγχάνεται ο στόχος της παραμετροποίησης ως προς τις συνθήκες γήρανσης. Περιληπτικά οι στόχοι του συστήματος είναι: Υψηλή ακρίβεια στα αποτελέσματα των bit-σφαλμάτων της κάθε τεχνολογίας NAND 20

21 ΚΕΦΑΛΑΙΟ 1. ΕΙΣΑΓΩΓΗ Flash προκειμένου να είναι σωστή η εξομοίωση και να ανταποκρίνεται στα χαρακτηριστικά σφαλμάτων της εκάστοτε τεχνολογίας. Υψηλή ταχύτητα εκτέλεσης του συστήματος εξομοίωσης μέχρι και 200 MΒs throughput, προκειμένου το σύστημα να ανταποκρίνεται στην ταχύτητα των πραγματικών NAND Flash μνημών. Παραμετροποίηση του συστήματος ως προς τις συνθήκες γήρανσης της Flash μνήμης που αναφέρονται παραπάνω. Δυνατότητα αντικατάστασης πραγματικού συστήματος MLC NAND Flash. Δυνατότητα δημιουργίας δύο μορφών εξόδου: Των τάσεων ανάγνωσης. Των συμβόλων που προκύπτουν ύστερα από την αποκωδικοποίηση των τάσεων ανάγνωσης. Στόχος επίσης είναι το σύστημα να μπορεί να χρησιμοποιηθεί για να συγκρίνει διαφορετικές τεχνολογίες μνημών σε επίπεδο συστήματος, υπό διαφορετικές συνθήκες γήρανσης, χρησιμοποιώντας όμως τις ίδιες ρυθμίσεις hardware. Παραδείγματα διαφορετικών τεχνολογιών είναι οι SLC σε σύγκριση με την MLC και την TLC, καθώς και η διαφοροποίηση μεταξύ των δύο μεγάλων κατηγοριών Flash, τις NAND και NOR. Τα βασικά πλεονεκτήματα του συστήματος είναι η δυνατότητα εξομοίωσης σε πραγματικό χρόνο της μνήμης καθώς και το ότι τα πειράματα θα εκτελούνται επαναληπτικά χωρίς να επηρεάζεται το αρχικό σύστημα επειδή εκτελείται σε FPGA. Έτσι υπάρχει η ευελιξία της επαναληπτικότητας των πειραμάτων, το οποίο είναι αδύνατο με πειράματα σε πραγματικές μνήμες. Στην συνέχεια της διπλωματικής εργασίας παρουσιάζεται η αρχιτεκτονική και τα πειραματικά αποτελέσματα του συστήματος. Εξηγείται η υλοποίηση και ο τρόπος λειτουργίας του συστήματος σε επίπεδο software (εκτέλεση με γλώσσα προγραμματισμού C) καθώς και σε επίπεδο hardware (σύνθεση του συστήματος σε γλώσσα προγραμματισμού VHDL). 21

22 Κεφάλαιο 2 Ανάλυση NAND Flash μνήμης 2.1 Εισαγωγή Στο παρόν κεφάλαιο αναλύεται η λειτουργία και το εσωτερικό της NAND Flash μνήμης σε επίπεδο hardware. Εξηγείται ο τρόπος λειτουργίας του Floating Gate τρανζίστορ (FGT) το οποίο αποτελεί την βασική μονάδα αποθήκευσης πληροφορίας και γίνεται αναφορά στο φυσικό φαινόμενο FN-Tunneling, το οποίο κάνει δυνατή την εγγραφή ή διαγραφή δεδομένων. Αναλύεται η NAND αρχιτεκτονική και ο διαχωρισμός της μνήμης σε wordlines, bitlines, pages και blocks. Εξηγείται πως κατά την εγγραφή ή διαγραφή απομονώνονται συγκεκριμένα κομμάτια της μνήμης. Στην συνέχεια αναλύονται οι διαδικασίες εγγραφής, διαγραφής και ανάγνωσης της πληροφορίας για την SLC τεχνολογία (1-bit ανά κύτταρο μνήμης). Οι διαδικασίες αυτές για την MLC τεχνολογία αποτελούν επέκταση αυτών της SLC καθώς στην MLC όπως αναφέρθηκε αποθηκεύονται 2-bit ανά κύτταρο μνήμης. Τα κύτταρα μνήμης είναι ουσιαστικά τα Floating Gate τρανζίστορς. Τέλος, γίνεται αναφορά στην MLC τεχνολογία. Αναφέρονται τα βασικά χαρακτηριστικά, τα πλεονεκτήματα και τα μειονεκτήματα της. 2.2 Floating Gate τρανζίστορ Όπως αναφέρθηκε επιγραμματικά στο παραπάνω κεφάλαιο, το FGT είναι διακριτό στοιχείο από το οποίο αποτελούνται οι Flash μνήμες και αποτελεί την βασική μονάδα αποθήκευσης πληροφορίας. Είναι δηλαδή αυτό που αναφέρεται ως κύτταρο μνήμης. Στο σχήμα 2.1 φαίνεται το Floating Gate τρανζίστορ. Σχήμα 2.1: Floating Gate τρανζίστορ. 22

23 ΚΕΦΑΛΑΙΟ 2. ΑΝΑΛΥΣΗ NAND FLASH ΜΝΗΜΗΣ Είναι MOSFET τρανζίστορ, με την διαφορά ότι έχει προστεθεί μια έξτρα πύλη (Floating Gate) μεταξύ της Control πύλης και του σώματος. Η αποθήκευση ηλεκτρονίων στην Floating πύλη μεταβάλλει την τάση κατωφλίου του Floating Gate τρανζίστορ και κατ επέκταση την κατάσταση στην οποία βρίσκεται. Η χαμηλή ή αρνητική τάση κατωφλίου, για την SLC τεχνολογία, αντιστοιχεί στην κατάσταση 1 ή κατάσταση διαγραφής, όπου έχουν αφαιρεθεί τα ηλεκτρόνια από την Floating πύλη. Η θετική τάση κατωφλίου αντιστοιχεί στην κατάσταση 0 ή κατάσταση εγγραφής, όπου έχουν προστεθεί ηλεκτρόνια στην Floating πύλη μέσω της Control πύλης. Η προσθήκη ή αφαίρεση ηλεκτρονίων στην Floating πύλη γίνεται με το φαινόμενο που ονομάζεται FN Tunneling [1]. Εφαρμόζοντας κατάλληλη τάση στην Control πύλη, είναι δυνατό τα ηλεκτρόνια να υπερπηδήσουν το εμπόδιο της μόνωσης (dielectrics) και να περάσουν στην άλλη πλευρά. Εφαρμόζοντας υψηλή θετική τάση στην Control πύλη τα ηλεκτρόνια έχουν την δυνατότητα να περάσουν από την Floating πύλη προς την Control πύλη. Αντίστοιχα, εφαρμόζοντας υψηλή αρνητική τάση στην Control πύλη τα ηλεκτρόνια μπορούν να περάσουν από την Control πύλη προς την Floating πύλη. 2.3 Ανάλυση πίνακα μνήμης Στο NAND string (σχήμα 2.2) τα Floating Gate τρανζίστορ συνδέονται σε σειρά. Σχήμα 2.2: NAND String (αριστερά) NAND πίνακας (δεξιά). H σύνδεση μεταξύ τους γίνεται σε ομάδες των 32 ή των 64. Στις άκρες του String το- 23

24 2.4. ΔΙΑΔΙΚΑΣΙΕΣ ΕΓΓΡΑΦΗΣ-ΔΙΑΓΡΑΦΗΣ-ΑΝΑΓΝΩΣΗΣ ΣΤΙΣ NAND FLASH SLC ποθετούνται δύο τρανζίστορ που κάνουν δυνατή την σύνδεση του string με την source line (μέσω του M SL ) και την bitline (μέσω του M DL ). Εφαρμόζοντας υψηλή θετική τάση στα τρανζίστορ επιλογής M SL και M DL επιλέγεται ένα String. Κάθε NAND string μοιράζεται την bitline σύνδεση με ένα άλλο string. Οι control πύλες των Floating Gate τρανζίστορ συνδέονται μέσω των wordlines (WLs). Οι σελίδες (pages) δημιουργούνται από κύτταρα μνήμης που ανήκουν στην ίδια wordline, δηλαδή strings που συνδέονται παράλληλα. Ο αριθμός των σελίδων για κάθε wordline εξαρτάται από το μέγεθος της εκάστοτε NAND Flash μνήμης. Τα blocks, όπως φαίνεται και από το σχήμα 2.2, αποτελούνται από πλήθος σελίδων, δηλαδή παράλληλες wordline. Στο παράδειγμα του σχήματος το block αποτελείται από 64 wordline συνδεδεμένες παράλληλα. Η διαγραφή στις NAND Flash μνήμες πραγματοποιείται κατά blocks. Μέσω της source line και της bitline ο controller της μνήμης εφαρμόζει τις κατάλληλες τάσεις στα τρανζίστορ M SL και M DL επιλέγοντας έτσι τα προς διαγραφή strings που απαρτίζουν το block. Οι διαδικασίες της εγγραφής και της ανάγνωσης πραγματοποιούνται κατά pages. Αντίστοιχα με την διαγραφή, όταν πρέπει να εκτελεστεί κάποια από αυτές τις διαδικασίες, επιλέγονται μέσω των MOSFET M SL και M DL τα κατάλληλα τα strings που απαρτίζουν την σελίδα που πρόκειται να εγγραφεί η να γίνει ανάγνωση από αυτήν. Η διαδικασία αυτή πραγματοποιείται μέσω του controller της μνήμης. Παράλληλα, ο controller εφαρμόζει κατάλληλη τάση στα M SL και M DL των υπόλοιπων strings της μνήμης που χρειάζεται να απομονωθούν και να παραμείνουν ανεπηρέαστα. Στην συνέχεια εξηγείται ο τρόπος εκτέλεσης των λειτουργιών εγγραφής, διαγραφής και ανάγνωσης. 2.4 Διαδικασίες Εγγραφής-Διαγραφής-Ανάγνωσης στις NAND Flash SLC Όπως προαναφέρθηκε, οι διαδικασίες εγγραφής, διαγραφής και ανάγνωσης της SLC τεχνολογίας επεκτείνονται και στην MLC τεχνολογία με αντίστοιχο τρόπο. Έτσι η παρακάτω εξήγηση των διαδικασιών αυτών αφορά την SLC τεχνολογία Διαδικασία Εγγραφής-Διαγραφής Οι δύο διαδικασίες αυτές θα αναλυθούν παράλληλα γιατί συνδέονται σε μεγάλο βαθμό. Προτού γίνει εγγραφή στις Flash μνήμες είναι απαραίτητο να διαγραφεί το block στο οποίο ανήκουν οι σελίδες που πρόκειται να εγγραφούν. Η διαγραφή πραγματοποιείται ως εξής: Εφαρμογή υψηλής θετικής τάσης στις wordlines του block (σχήμα 2.3) και κατ επέκταση επιλογή του block προς διαγραφή. Στο παράδειγμα του σχήματος υπάρχουν 8 wordlines Η υψηλή θετική τάση αναγκάζει τα τρανζίστορ που βρίσκονται στην κατάσταση 0 και άρα έχουν αποθηκευμένα ηλεκτρόνια στην Floating πύλη τους, να τα διώξουν προς την Control πύλη, μέσω του φαινομένου FN tunneling, και έτσι περνάνε στην κατάσταση 1 Τα υπόλοιπα τρανζίστορ τα οποία βρίσκονται στην κατάσταση 1 ήδη, δεν έχουν απο- 24

25 ΚΕΦΑΛΑΙΟ 2. ΑΝΑΛΥΣΗ NAND FLASH ΜΝΗΜΗΣ θηκευμένα ηλεκτρόνια στην Floating πύλη τους και έτσι δεν επηρεάζονται. Μετά το πέρας της διαδικασίας όλα τα Floating Gate τρανζίστορ του block βρίσκονται στην κατάσταση διαγραφής 1 Σχήμα 2.3: Διαδικασία διαγραφής. Η διαδικασία εγγραφής πραγματοποιείται κατά σελίδες (pages). Αφού ολοκληρωθεί η διαδικασία της διαγραφής γίνονται τα παρακάτω: Για την εγγραφή της κατάστασης 0 στα Floating Gate τρανζίστορ (σχήμα 2.4) εφαρμόζεται υψηλή αρνητική τάση στην Control πύλη του Floating Gate τρανζίστορ και μέσω του FN tunneling αποθηκεύονται ηλεκτρόνια στην Floating πύλη και η τάση κατωφλίου γίνεται θετική Τα τρανζίστορ που πρέπει να είναι στην κατάσταση 1 είναι ήδη σε αυτήν την κατάσταση λόγω της διαγραφής που προηγήθηκε Σχήμα 2.4: Διαδικασία εγγραφής. 25

26 2.4. ΔΙΑΔΙΚΑΣΙΕΣ ΕΓΓΡΑΦΗΣ-ΔΙΑΓΡΑΦΗΣ-ΑΝΑΓΝΩΣΗΣ ΣΤΙΣ NAND FLASH SLC Διαδικασία Ανάγνωσης Όπως και η εγγραφή, η διαδικασία ανάγνωσης πραγματοποιείται κατά pages. Στο σχήμα 2.5 φαίνονται οι τάσεις που πρέπει να εφαρμοστούν στις wordlines για να πραγματοποιηθεί η ανάγνωση. Η διαδικασία είναι η εξής: Σχήμα 2.5: Διαδικασία ανάγνωσης. Εφαρμόζεται ενδιάμεση τάση V INT μεταξύ της V OF F και V ON (σχήμα 2.6) στην wordline που θα γίνει ανάγνωση Σχήμα 2.6: Διάγραμμα απόφασης συμβόλου. Εφαρμογή τάσης V ON στα υπόλοιπα τρανζίστορ των παράλληλων strings της wordline το οποίο επιτρέπει στα τρανζίστορ αυτά να άγουν χωρίς όμως να τα επηρεάζει Εφαρμογή τάσης V ON στα ακριανά τρανζίστορ M SL και M DL και με αυτό τον τρόπο μπορεί να περάσει ρεύμα από το κανάλι της bitline Για αναγνώριση του συμβόλου που έχει αποθηκευτεί στο τρανζίστορ, ελέγχεται το I D του σχήματος 2.6 το οποίο είναι το ρεύμα υποδοχής του Floating Gate 26

27 ΚΕΦΑΛΑΙΟ 2. ΑΝΑΛΥΣΗ NAND FLASH ΜΝΗΜΗΣ Το σύμβολο που έχει γραφτεί στο FGT αναγνωρίζεται ως εξής: Αν I D > 0 το τρανζίστορ βρίσκεται στην κατάσταση 1 Αν I D = 0 το τρανζίστορ βρίσκεται στην κατάσταση 0 Υπάρχει και άλλος ένας τρόπος ανάγνωσης του FGT που εφαρμόζεται στις NAND Flash μνήμες, ο οποίος αναφέρεται επιγραμματικά παρακάτω. Αποφεύγεται η ανάλυση του καθώς η εξήγηση του περιλαμβάνει χαρακτηριστικά του FGT που βρίσκονται σε πολύ χαμηλό φυσικό επίπεδο, κάτι το οποίο είναι εκτός των στόχων του συγκεκριμένου κεφαλαίου. 2.5 Πηγές θορύβου στις NAND Flash Τα ειδικά χαρακτηριστικά του Floating Gate τρανζίστορ και οι λειτουργίες εγγραφής και διαγραφής είναι οι βασικές πηγές δημιουργίας προβλημάτων στις NAND Flash μνήμες. Τα προβλήματα αυτά στην MLC τεχνολογία γίνονται πιο έντονα. Αυτό οφείλεται στο γεγονός ότι τα Floating Gate τρανζίστορ έχουν τέσσερις δυνατές καταστάσεις. Κατά την ανάγνωση επομένως, η κατάσταση του κάθε κυττάρου μνήμης επιλέγεται μέσα από τέσσερις διαφορετικές τάσεις κατωφλίου οι οποίες είναι κοντινές μεταξύ τους το οποίο δημιουργεί την ανάγκη πολύπλοκων συστημάτων ανάγνωσης καθώς και αυξάνει την πιθανότητα bit-σφαλμάτων ανάγνωσης. Οι βασικοί τύποι θορύβου που οδηγούν στην υποβάθμιση των NAND Flash μνημών είναι οι παρακάτω: Cell to cell interference (CCI) Ο προγραμματισμός και η διαγραφή κυττάρων μνήμης επηρεάζει τα γειτονικά τους. Τα υψηλά ηλεκτρικά πεδία που χρειάζονται για αυτές τις λειτουργίες και η μεταξύ τους απόσταση που συνεχώς μειώνεται όσο αυξάνεται το scaling αυξάνεται όλο και περισσότερο το συγκεκριμένο φαινόμενο. Random Telegraph noise (RTN) Στο στρώμα οξειδίου υπάρχουν εγκλωβισμένα φορτία. Αυτά τα φορτία μπορούν να κινηθούν προς το στρώμα βάσης και να ενωθούν με ηλεκτρόνια ή (εναλλακτικά) ηλεκτρόνια από τη βάση μπορούν να κινηθούν προς αυτά τα φορτία και να συνδεθούν με οπές το οποίο οδηγεί στη μεταβολή της τάσης κατωφλίου. Retention noise Ηλεκτρόνια ξεφεύγουν από την Floating πύλη με το πέρασμα του χρόνου και έτσι μεταβάλλεται η τάση κατωφλίου της Floating πύλης και κατ επέκταση αυξάνεται η πιθανότητα σφάλματος κατά την ανάγνωση. 27

28 2.6. MLC NAND FLASH ΤΕΧΝΟΛΟΓΙΑ Κύκλοι προγραμματισμού/διαγραφής Κατά την εκτέλεση των λειτουργιών προγραμματισμού και διαγραφής που αναλύθηκαν παραπάνω οι τάσεις που εφαρμόζονται στην Control πύλη των τρανζίστορ είναι αρκετά υψηλές, της τάξης των 20V. Το γεγονός αυτό υποβαθμίζει το στρώμα οξειδίου των τρανζίστορ το οποίο είναι η βασική πηγή μόνωσης και διατήρησης της τάσης κατωφλίου, με αποτέλεσμα να δημιουργείται η πιθανότητα σφαλμάτων. Στο σχήμα 2.7 φαίνεται η επιρροή των παραπάνω προβλημάτων στην MLC NAND Flash τεχνολογία. Σχήμα 2.7: Επιρροή θορύβου στις κατανομές των εγγραφών της MLC NAND Flash. 2.6 MLC NAND Flash τεχνολογία Το κάθε ένα από τα τέσσερα 2-bit σύμβολα, που μπορούν να αποθηκευτούν στο κύτταρο μνήμης, μπορεί να αντιστοιχιστεί με μία τιμή της τάσης κατωφλίου του FGT. Η τιμή που θα πάρει η τάση κατωφλίου του FGT επηρεάζει το αν και πόσο ρεύμα άγει το FGT. Κατά τη διαδικασία της ανάγνωσης, αναλόγως με το ρεύμα που άγει το FGT μπορεί να καθοριστεί ποιο σύμβολο είχε γραφτεί. Επειδή όμως τα ρεύματα αυτά είναι πολύ μικρά, η ανάγνωση γίνεται συνήθως με τη μετρηση της τάσης, η οποία θα αναφέρεται στην υπόλοιπη εργασία σαν τάση ανάγνωσης και θα συμβολίζεται με V s. Λόγω του θορύβου που εμφανίζεται είτε λόγο της φθοράς του κυττάρου μνήμης, είτε λόγο της επιρροής ενός διπλανού κυττάρου, οι τάσεις κατωφλίου δεν κρατούν την ονομαστική τους τιμή. Με αποτέλεσμα η τάση ανάγνωσης να κυμαίνεται γύρω από την ονομαστική τιμή, η οποία θα αναφέρεται στην υπόλοιπη εργασία ως ιδανική τάση κατωφλίου και θα συμβολίζεται με U s. Ο θόρυβος που εισέρχεται έχει αποδειχτεί στα [10], [11] ότι είναι προσθετικός λευκός γκαουσιανός θόρυβος (AWGN), ο οποίος εξαρτάται τόσο από τη κατάσταση γήρανσης 28

29 ΚΕΦΑΛΑΙΟ 2. ΑΝΑΛΥΣΗ NAND FLASH ΜΝΗΜΗΣ του κυττάρου όσο και από το σύμβολο που έχει γραφτεί. Τα βασικά χαρακτηριστικά και πλεονεκτήματα της MLC τεχνολογίας είναι: Δυνατότητα αποθήκευσης 2-bit ανά κύτταρο μνήμης Κάθε κύτταρο μνήμης μπορεί να βρεθεί σε τέσσερις πιθανές καταστάσεις (11,10,01,00) Μεγαλύτερη δυνατότητα αποθήκευσης δεδομένων Ίδιο κόστος για σχεδόν διπλάσια χωρητικότητα συγκριτικά με την SLC Τα βασικά μειονεκτήματα συγκριτικά με την SLC τεχνολογία είναι: Αργή λειτουργίας εγγραφής Μειωμένη αξιοπιστία Ευαισθησία σε σφάλματα Μειωμένη διάρκεια ζωής Αυξημένη πολυπλοκότητα των συστημάτων ανάγνωσης, εξαιτίας των τεσσάρων δυνατών καταστάσεων του κάθε κυττάρου μνήμης Η αναπαράσταση του θορύβου των τάσεων των κυττάρων μνήμης μιας MLC NAND Flash, όπως αναφέρθηκε, γίνεται με γκαουσιανές κατανομές. Στο σχήμα 2.8 φαίνονται οι κατανομές αυτές, πριν και μετά την γήρανση. Σχήμα 2.8: Κατανομές των τάσεων MLC NAND Flash με γήρανση και χωρίς. 29

30 Κεφάλαιο 3 Μοντελοποίηση MLC NAND Flash 3.1 Θεωρητικά στοιχεία Στο παρακάτω κεφάλαιο παρουσιάζεται το μοντέλο της NAND Flash μνήμης που υλοποιήθηκε σε Matlab. Οι λόγοι που κάνουν την κατασκευή του μοντέλου απαραίτητη είναι δύο: 1. για να χρησιμοποιηθεί ως θεωρητικό υπόβαθρο για την υλοποίηση του συστήματος εξομοίωσης 2. για την σύγκριση των αποτελεσμάτων του μοντέλου με τα πειραματικά αποτελέσματα προς εξακρίβωση της σωστής λειτουργίας του συστήματος εξομοίωσης Αναφέροντας εξομοίωση της μνήμης, ουσιαστικά εννοείται η εξομοίωση του καναλιού ανάγνωσης. Δηλαδή της πλευράς από την οποία πραγματοποιείται η ανάγνωση των δεδομένων αφού πρώτα έχει γίνει εγγραφή. Μοντελοποιώντας τον τρόπο λειτουργίας ενός κυττάρου μνήμης, μαζί με την εισαγωγή κατάλληλου θορύβου (AWGN), εξομοιώνονται τα λειτουργικά χαρακτηριστικά της NAND Flash μνήμης. Η υλοποίηση του μοντέλου εκτελέστηκε σε δύο στάδια. Το πρώτο είναι η δημιουργία AWGN θορύβου με χρήση της Box-Muller μεθόδου. Τα χαρακτηριστικά αυτής της μεθόδου χρησιμοποιήθηκαν στο δεύτερο στάδιο ώστε να μοντελοποιηθεί η συμπεριφορά της MLC NAND Flash μνήμης Χαρακτηριστικά μοντέλου - Assymetric PAM - AWGN Το μοντέλο της NAND Flash μνήμης υλοποιήθηκε ακολουθώντας τα χαρακτηριστικά της ασύμμετρης διαμόρφωσης παλμού κατά πλάτος (Asymmetric Pulse Amplitude Modulation - Asymmetric PAM) και θόρυβο καναλιού εξαρτώμενο από τα δεδομένα (data-dependent). Ο θόρυβος σε αυτή την περίπτωση είναι προσθετικός, ακολουθεί την γκαουσιανή κατανομή αλλά η διακύμανση του εξαρτάται από το επίπεδο τάσης που χρησιμοποιήθηκε κατά την λειτουργία εγγραφής, εξού και ο όρος data-dependent. Υπάρχει μεγάλη ομοιότητα μεταξύ του Asymmetric PAM και του Pulse Amblitude Modulation (4-PAM), το οποίο 4-PAM χρησιμοποιείται για την μετάδοση δεδομένων πάνω σε ένα κανάλι προσθετικού λευκού γκαουσιανού θορύβου (AWGN)[12]. Η ιδιότητα αυτή του 4-PAM, την οποία έχει και το Asymmetric PAM, είναι απαραίτητη για την χρήση του 30

31 ΚΕΦΑΛΑΙΟ 3. ΜΟΝΤΕΛΟΠΟΙΗΣΗ MLC NAND FLASH Asymmetric PAM στην μοντελοποίηση της μνήμης. Συνοπτικά, τα βασικά χαρακτηριστικά τα οποία κάνουν την επιλογή του Asymetric PAM για το μοντέλο της μνήμης επιθυμητή είναι τα παρακάτω: δυνατότητα μετάδοσης δεδομένων σε κανάλι με θόρυβο AWGN η απόσταση ανάμεσα στα σύμβολα δεν είναι σταθερή και εξαρτάται από τα επίπεδα τάσης τα στατιστικά χαρακτηριστικά του εισαγόμενου θορύβου εξαρτώνται από το ποιο σύμβολο έχει γραφτεί (data-dependent) Όπως έχει ήδη αναφερθεί, υπάρχουν διάφοροι λόγοι που δημιουργούν θόρυβο και επηρεάζουν τις τάσεις κατωφλίου των κυττάρων μνήμης κατά την εγγραφή και την διαγραφή. Επομένως, μέσω των διαδικασιών της εγγραφής/διαγραφής δημιουργούνται διακυμάνσεις των τάσεων γύρω από τις ονομαστικές τους τιμές. Οι διακυμάνσεις αυτές μπορούν να παρασταθούν με 4 γκαουσιανές κατανομές, το οποίο έχει επιβεβαιωθεί από μετρήσεις που εφαρμόστηκαν σε NAND Flash μνήμες [13]. Από τα παραπάνω προκύπτει ότι η NAND Flash μνήμη μπορεί να μοντελοποιηθεί χρησιμοποιώντας το Asymetric PAM μοντέλο με εισαγωγή AWGN θορύβου στο κανάλι Μέθοδος Box-Muller Η υλοποίηση μίας πηγής θορύβου AWGN μπορεί να στηριχτεί στην μέθοδο Box- Muller[14], σύμφωνα με την οποία αν οι a και f είναι ανεξάρτητες τυχαίες μεταβλητές από την ίδια κανονικοποιημένη συνάρτηση πυκνότητας πιθανότητας, με πεδίο ορισμού τα (0, 1) και (0, 2π) αντίστοιχα, με X1 και X2: X 1 = 2 ln(a) cos(f) (3.1) X 2 = 2 ln(a) sin(f) (3.2) τότε τα (X 1, X 2 ) είναι ένα ζευγάρι ανεξάρτητων τυχαίων μεταβλητών που ακολουθούν την ίδια κανονική κατανομή με μοναδιαία διακύμανση και μηδενική μέση τιμή. Δηλαδή, (X 1, X 2 ) N(0, 1) (3.3) Τέλος αν πάρουμε το U s ως την ιδανική τάση κατωφλίου ενός συμβόλου εισόδου s, και V s την τάση ανάγνωσης που διαβάζεται από ένα κύτταρο μνήμης τότε: V s = (X 1 σ s ) + (µ s + U s ) (3.4) οπού οι παράμετροι µ s και σ s αποτελούν την μέση τιμή και την διακύμανση των γκαουσιανών κατανομών των τάσεων V s, αντίστοιχα. Όπου η V s, V s N(µ s + U s, σ 2 s) (3.5) 31

32 3.2. ΥΛΟΠΟΙΗΣΗ ΜΟΝΤΕΛΟΥ ΣΕ MATLAB Σύνδεση χαρακτηριστικών Box-Muller με το κύτταρο μνήμης Για κάθε ένα από τα σύμβολα εισόδου s χρησιμοποιείται διαφορετικό ζευγάρι των µ s, σ s και U s για την αναπαράσταση της κατανομής των τάσεων του. Η τάση ανάγνωσης V s εμπεριέχει τον AWGN θόρυβο, είναι κανονικοποιημένη από 0 έως 1 και αποτελεί την πρώτη μορφή εξόδου που θα έχει το σύστημα εξομοίωσης, η οποία αναφέρθηκε στο Κεφάλαιο 1. Παρατηρείται από την εξίσωση 3.4 ότι όσο αυξάνεται το ζεύγος (µ s,σ s ) τόσο μεταβάλλεται η V s και κατ επέκταση επηρεάζεται η γήρανση του κυττάρου μνήμης. Έτσι, οι κατανομές των τάσεων μετατοπίζονται και αλλοιώνονται με αποτέλεσμα να μην γίνεται σωστή ερμηνεία των συμβόλων εισόδου s και να αυξάνεται η πιθανότητα σφαλμάτων. Με αποκωδικοποίηση της V s προκύπτουν τα σύμβολα εξόδου ŝ. Μέσω κατάλληλων συγκρίσεων, με τάσεις αναφοράς που επιλέγονται ανάλογα με τις ιδανικές τάσεις κατωφλίου U s και τις μέσες τιμές µ s, αποφασίζεται σε ποιο σύμβολο εξόδου αντιστοιχεί η κάθε τάση V s. 3.2 Υλοποίηση μοντέλου σε Matlab Χρησιμοποιώντας την μέθοδο Box-Muller, η οποία αναφέρθηκε παραπάνω και υλοποιεί ένα AWGN κανάλι, υλοποιήθηκε το κανάλι ανάγνωσης του κυττάρου μνήμης MLC NAND Flash. Σε πρώτο στάδιο μοντελοποιήθηκε ο AWGN θόρυβος και στην συνέχεια το κύτταρο μνήμης MLC NAND Flash. Η υλοποίηση και των δύο σταδίων πραγματοποιήθηκε με κατασκευή συναρτήσεων στο Matlab, οι οποίες εκτελούν όλες τις απαραίτητες διαδικασίες. Η V s, με ενσωματωμένη την X 1, από την οποία προκύπτει η τάση ανάγνωσης για σύμβολο s είναι: V s = 2 ln(a) cos(f) σ s + µ s + U s (3.6) Δημιουργία AWGN θορύβου - Πρώτο στάδιο Σε πρώτο στάδιο κατασκευάστηκε μία συνάρτηση σε Matlab, με όνομα fawgn, που δημιουργεί AWGN θόρυβο. Επειδή σε αυτό το στάδιο δεν υπάρχει η διαφοροποίηση ανάμεσα σε σύμβολα, η εξίσωση που χρησιμοποιήθηκε για την δημιουργία του θορύβου είναι η ίδια με την 3.6 χωρίς να την εξάρτηση από σύμβολο s. Η συνάρτηση fawgn επομένως εκτελεί την 3.7 V s = 2 ln(a) cos(f) σ + µ (3.7) και παράγει μία γκαουσιανή κατανομή, η οποία αποτελεί γραφική παράσταση του AWGN θορύβου. Τα ορίσματα της fawgn είναι η μέση τιμή (µ), η διακύμανση (σ) και το πλήθος των τιμών Ν της 3.7. Στο σχήμα 3.1 φαίνεται η γραφική αναπαράσταση του AWGN θορύβου για συνθήκες µ = 1, σ = , και Ν = 1Μ. 32

33 Συνάρτηση πυκνότητας πιθανότητας ΚΕΦΑΛΑΙΟ 3. ΜΟΝΤΕΛΟΠΟΙΗΣΗ MLC NAND FLASH Κανονικοποιημένη Τάση Σχήμα 3.1: Η γραφική του AWGN θορύβου της fawgn Μοντελοποίηση MLC NAND Flash - Δεύτερο στάδιο Η παραπάνω συνάρτηση επεκτείνεται ώστε να μοντελοποιεί την λειτουργία ενός κυττάρου μνήμης MLC NAND Flash. Το όνομα της νέας συνάρτηση είναι FCellMLC. Στο σχήμα 3.2 φαίνεται γραφικά το μοντέλο MLC NAND Flash Σχήμα 3.2: Λειτουργικότητα μοντέλου MLC NAND Flash. Οι είσοδοι του μοντέλου είναι: τα σύμβολα s οι συνθήκες γήρανσης µ s, σ s των συμβόλων οι ιδανικές τάσεις κατωφλίου U s οι τάσεις αναφοράς U ref 33

34 3.2. ΥΛΟΠΟΙΗΣΗ ΜΟΝΤΕΛΟΥ ΣΕ MATLAB Οι έξοδοι του μοντέλου είναι: Τα σύμβολα που προκύπτουν από σύγκριση των V s με τις U ref Οι κατανομές των τάσεων V s Η τρόπος λειτουργίας του μοντέλου είναι ο εξής: 1. Παράγεται σύμβολο s με την συνάρτηση randi(), μέσα σε For που εκτελείται 1Μ φορές 2. Ανάλογα με το σύμβολο εισόδου, καλείται και εκτελείται η FCellMLC με τα χαρακτηριστικά θορύβου που αντιστοιχούν στο σύμβολο εισόδου s 3. Παράγεται η V s του κάθε συμβόλου και μέσω σύγκρισης της V s με τις U ref προκύπτει το σύμβολο εξόδου ŝ 4. Οι V s για κάθε σύμβολο αποθηκεύονται σε ξεχωριστό διάνυσμα 5. Ενώνονται τα διανύσματα αυτά, εφαρμόζεται η hist(v s ) και προκύπτουν οι κατανομές των τάσεων Για τα χαρακτηριστικά του πίνακα 3.1, για την μέση τιμή (µ s ) την διακύμανση (σ s ) και την ιδανική τάση κατωφλίου (U s ), προκύπτουν οι παρακάτω κατανομές για τις τάσεις των συμβόλων του σχήματος 3.3 τάσεων των συμβόλων U ref Σχήμα 3.3: Κατανομές των τάσεων του μοντέλου MLC NAND Flash. όπου s είναι το σύμβολο εισόδου (11,10,01,00). Mapping Διακύμανση = 4σ = σ = σ = 2σ Μέση τιμή Ιδανική τάση κατωφλίου Πίνακας 3.1: Χαρακτηριστικά και έισοδοι του μοντέλου μνήμης.

35 ΚΕΦΑΛΑΙΟ 3. ΜΟΝΤΕΛΟΠΟΙΗΣΗ MLC NAND FLASH Το Mapping των συμβόλων επιλέχθηκε ως Direct Mapping. Οι κατανομές του κυττάρου μνήμης ανταποκρίνονται στις συνθήκες γήρανσης του πίνακα 3.1. Στο σχήμα 3.3 το κύτταρο μνήμης βρίσκεται σε κατάσταση αφού έχει επέλθει γήρανσης. 3.3 Έλεγχος αποτελεσμάτων μοντέλου Για την υλοποίηση πρώτου σταδίου, προς επιβεβαίωση της σωστής λειτουργίας της συνάρτησης (fawgn), χρησιμοποιήθηκε ένας προσεγγιστικός έλεγχος της διακύμανσης πάνω στις τιμές του διανύσματος 1 (3.1) ώστε να επιβεβαιωθεί ότι η διακύμανση που εισάγεται ως είσοδος στην fawgn είναι ίδια με την διακύμανση της εξίσωσης 3.7. Μέσω αυτού του ελέγχου διαπιστώθηκε ότι η γκαουσιανή κατανομή του θορύβου έχει την σωστή διακύμανση. Η συνάρτηση ελέγχου είναι η παρακάτω: s = 1 N N (V s µ) 2 (3.8) i=1 και αποτελεί τρόπο προσέγγισης της διακύμανσης. Για την επιβεβαίωση της μέσης τιμής και διακύμανσης του μοντέλου της MLC NAND Flash πραγματοποιήθηκαν έλεγχοι με τις συναρτήσεις mean() και std() του Matlab. Με την mean() επιβεβαιώθηκε η μέση τιμή των κατανομών (µ s + U s ) και με την std() επιβεβαιώθηκε η διακύμανση. Στον πίνακα 3.2 φαίνονται οι συνθήκες γήρανσης που χρησιμοποιήθηκαν ως είσοδος στην 3.6 και τα αποτελέσματα των έλεγχων με τις mean() και std(). Χαρακτηριστικά θορύβου Επιβεβαίωση αποτελεσμάτων Σύμβολο(s) µ s + U s εισόδου σ s εισόδου µ s +U s μέτρησης σ s μέτρησης Πίνακας 3.2: Χαρακτηριστικά θορύβου μοντέλου και αποτελέσματα των mean() και std() πάνω σε αυτά. 35

36 Κεφάλαιο 4 Σύνθεση κυττάρου μνήμης 4.1 Εισαγωγή Στο παρόν κεφάλαιο παρουσιάζεται η αρχιτεκτονική του κυττάρου μνήμης, που συντέθηκε σε VHDL, με σκοπό την μετέπειτα ενσωμάτωση του στο σύστημα εξομοίωσης MLC NAND Flash. Η σύνθεση σε VHDL του συγκεκριμένου κεφαλαίου, αποτελεί τον πυρήνα του τελικού συστήματος εξομοίωσης καθώς περιέχει όλη την λειτουργικότητα του MLC NAND Flash κυττάρου μνήμης. Εσωτερικά της αρχιτεκτονικής, εκτελούνται μαθηματικές πράξεις οι οποίες υλοποιούν την 3.6 και παράγουν ως έξοδο την τάση V s, ανάλογα με το σύμβολο εισόδου s. Η V s, όπως αναφέρθηκε, χρησιμοποιείται και για τον υπολογισμό του συμβόλου εξόδου ŝ μέσω κατάλληλων συγκρίσεων με τις τάσεις αναφοράς. Στην συνέχεια αναλύεται ο τρόπος που επιλέχτηκε για την υλοποίηση των μαθηματικών πράξεων σε VHDL και παρατίθενται κυματομορφές, ενδεικτικές του τρόπου λειτουργίας. Η λειτουργικότητα της σύνθεσης, κατά την πορεία ανάπτυξης, ελέγχεται στα εργαλεία προσομοίωσης που παρέχει η πλατφόρμα ISE Design Suite. Αναφορά γίνεται στα θεωρητικά εργαλεία (LFSR - VHDL) που χρειάστηκαν για την σύνθεση του κυττάρου μνήμης καθώς και στην πορεία που ακολουθήθηκε. Τέλος, οι έξοδοι V s χρησιμοποιούνται για εξακρίβωση της σωστής λειτουργίας του κυττάρου μνήμης, συγκρίνοντας τις κατανομές της σύνθεσης με τις αντίστοιχες του μοντέλου που υλοποιήθηκε σε Matlab Βασικά στοιχεία - VHDL Η σύνθεση υλοποιείται σε VHDL χρησιμοποιώντας το εργαλεία της Xilinx και συγκεκριμένα ISE Design Suite. Η VHDL (VHSIC hardware description language ή γλώσσα περιγραφής υλικού VHSIC) είναι μια γλώσσα περιγραφής υλικού (hardware). Χρησιμοποιείται στον αυτοματισμό ηλεκτρονικών σχεδιάσεων (electronic design automation) για την περιγραφή ψηφιακών και μεικτών (mixed-signal) συστημάτων, όπως οι συστοιχίες επιτόπια προγραμματιζόμενων πυλών (FPGA) και τα ολοκληρωμένα κυκλώματα. Κατά τη σύνθεση, ο µεταγλωττιστής συνθέτει ένα πραγµατικό κύκλωµα που ανταποκρίνεται µε ακρίβεια στη λογική και χρονική περιγραφή, την οποία µοντελοποιεί ο κώδικας VHDL. Στο σχήμα 4.1 φαίνεται η ροή σχεδιασμού ενός υλικού (hardware) η οποία ακολουθήθηκε και στην παρούσα διπλωματική εργασία. Το τελευταίο κομμάτι (Διαμόρφωση διάταξης FPGA) περιγράφεται στο επόμενο κεφάλαιο. 36

37 ΚΕΦΑΛΑΙΟ 4. ΣΥΝΘΕΣΗ ΚΥΤΤΑΡΟΥ ΜΝΗΜΗΣ Σχήμα 4.1: Βασική ροή εργασιών κατά την σχεδίαση με την γλώσσα VHDL Τυχαίες μεταβλητές - LFSR Για την σύνθεση του κυττάρου μνήμης χρησιμοποιήθηκαν τα θεωρητικά εργαλεία που αναφέρθηκαν στο δεύτερο κεφάλαιο. Σκοπός της σύνθεσης είναι η υλοποίηση της εξίσωσης Box-Muller, η οποία όπως περιγράφτηκε παραπάνω έχει την δυνατότητα εξομοίωσης του καναλιού ανάγνωσης της μνήμης και πραγματώνεται με την εξίσωση: V s = ( 2 ln(a) cos(f) σ s ) + (µ s + U s ) (4.1) Όπως προαναφέρθηκε, τα a, f είναι ανεξάρτητες τυχαίες μεταβλητές. Προκειμένου να υλοποιηθούν τυχαίες μεταβλητές σε VHDL χρησιμοποιήθηκε ο αλγόριθμος linear-feedback shift register (LFSR)[16]. Ο LFSR είναι ένας καταχωρητής ολίσθησης του οποίου η είσοδος είναι γραμμική συνάρτηση της προηγούμενης εξόδου του. Αποτελεί κώδικα παραγωγής ψευδοτυχαίων αριθμών με την έννοια ότι μετά από κάποιο πλήθος εξόδων, το πλήθος των οποίων έχει άμεση σχέση με τα bits που χρησιμοποιούνται για τον καταχωρήτη καθώς και με τον κώδικα υλοποίησης, οι έξοδοι επαναλαμβάνονται. Η αρχική κατάσταση του LFSR καλείται σπόρος (seed) και επειδή η λειτουργία του κα- 37

38 4.2. ΕΣΩΤΕΡΙΚΟ ΣΥΝΘΕΣΗΣ ΚΥΤΤΑΡΟΥ ΜΝΗΜΗΣ ταχωρητή είναι ντετερμινιστική, η πορεία των εξόδων του καθορίζεται πλήρως από την τελευταία (ή από την προτελευταία) κατάσταση. Περίοδος ενός LFSR καλείται το πλήθος των εξόδων μέχρι να επαναληφθεί μια οποιαδήποτε έξοδος. Παρόλα αυτά, ένας LFSR με μία σωστά δομημένη συνάρτηση ανάδρασης έχει την δυνατότητα να παράγει ακολουθία αριθμών η οποία φαίνεται τυχαία και με πολύ μεγάλη περίοδο. Παρακάτω φαίνεται η λειτουργικότητα ενός LFSR με XOR υλοποίηση. Σχήμα 4.2: Διάγραμμα καταστάσεων ενός LFSR Fibonacci των τεσσάρων bit. 4.2 Εσωτερικό σύνθεσης κυττάρου μνήμης Παρακάτω αναλύεται ο σχεδιασμός του κυττάρου μνήμης σε VHDL. Στο συγκεκριμένο στάδιο, η σύνθεση εκτελείται αποκλειστικά σε επίπεδο προσομοίωσης, χρησιμοποιώντας το ISE Design Suite και συγκεκριμένα το ISim, ως εργαλείο προσομοίωσης. Η ανάλυση που ακολουθεί γίνεται από το εσωτερικό προς το εξωτερικό. Εξηγώντας σε πρώτο στάδιο τι γίνεται εσωτερικά και πως υλοποιείται η συνάρτηση V s και η εύρεση των συμβόλων εξόδου ŝ, και σταδιακά παρουσιάζεται η συνολική εικόνα και πως τα εσωτερικά κομμάτια ενώνονται μεταξύ τους Γενικά στοιχεία σύνθεσης Κατά την υλοποίηση της V s, χρησιμοποιήθηκαν δύο LFSR για την παραγωγή των δύο ανεξάρτητων τυχαίων μεταβλητών a και f. Ο κώδικας σε VHDL των LFSR είναι ο ίδιος και για τις δύο ανεξάρτητες τυχαίες μεταβλητές, έχουν όμως διαφορετικό σπόρο (seed). Είναι LFSRs των 32-bits, που σημαίνει ότι έχουν δυνατότητα παραγωγής τυχαίων τιμών. Έχει επιβεβαιωθεί ότι κανένας από τους δύο δεν επαναλαμβάνεται κατά την διάρκεια λειτουργίας τους, μιας και δεν απαιτείται πλήθος εξόδων της τάξης των δις από το κύτταρο μνήμης. 38

39 ΚΕΦΑΛΑΙΟ 4. ΣΥΝΘΕΣΗ ΚΥΤΤΑΡΟΥ ΜΝΗΜΗΣ Οι LFSR έχουν την δυνατότητα να δουλεύουν παράλληλα επειδή οι τυχαίες μεταβλητές είναι ανεξάρτητες. Ομοίως, κάποιες από τις μαθηματικές πράξεις της V s έχουν την δυνατότητα να εκτελεστούν παράλληλα και ανεξάρτητα μεταξύ τους. Λόγω του ότι η a και η f είναι τυχαίες μεταβλητές, συνεπάγεται ότι και οι 4.2 και 4.3 είναι τυχαίες. Συγκεκριμένα, η εκτέλεση των : 2 ln(a) (4.2) και cos (f) (4.3) γίνεται παράλληλα και ο πολλαπλασιασμός τους είναι ομοίως μία τυχαία μεταβλητή. Η διαδικασία που εκτελείται εσωτερικά της σύνθεσης είναι περιληπτικά η εξής: Οι LFSR παράγουν τις τυχαίες μεταβλητές a και f. Εκτελούνται οι πράξεις των 4.2 και 4.3 σε διαφορετικούς χρόνους. Πολλαπλασιάζονται μεταξύ τους και παράγεται η τυχαία μεταβλητή: 2 ln(a) cos(f) (4.4) Ανάλογα με το σύμβολο εισόδου s, αποφασίζεται η μέση τιμή µ s, η διακύμανση σ s και η τάση κατωφλίου U s. Η απόφαση των συνθηκών γήρανσης, ανάλογα με το σύμβολο εισόδου γίνεται με χρήση τριών multiplexers. Χρειάζεται ένας για κάθε ένα από τα παραπάνω χαρακτηριστικά. Στην συνέχεια εκτελούνται στον ίδιο παλμό ρολογιού οι 4.5 και 4.6: 2 ln(a) cos(f) σs (4.5) και µ s + U s (4.6) γιατί για κάθε σύμβολο s, τα µ s, σ s και U s είναι συγκεκριμένα και πρέπει να εισαχθούν στην V s ταυτόχρονα. Αθροίζονται οι παραστάσεις 4.5 και 4.6 και παράγεται η V s. Τέλος, η V s συγκρίνεται με τις τάσεις αναφοράς U ref για να αποφασιστεί το σύμβολο εξόδου ŝ Αριθμητική σύνθεσης Για την εκτέλεση των παραπάνω πράξεων χρησιμοποιήθηκε floating-point αριθμητική και συγκεκριμένα σχεδόν όλες οι μεταβλητές βρίσκονται σε μορφή single-precision. Οι μεταβλητές V s και a πρέπει να είναι ανήκουν στο διάστημα (0, 1). Ομοίως και η f, πριν 39

40 4.2. ΕΣΩΤΕΡΙΚΟ ΣΥΝΘΕΣΗΣ ΚΥΤΤΑΡΟΥ ΜΝΗΜΗΣ αναχθεί στο διάστημα (0, π), πρέπει να ανήκει στο (0, 1). Στην μορφή single-precision, γίνεται αναπαράσταση των αριθμών με 32 bits, όπου το πρώτο bit είναι το πρόσημο του αριθμού ( 0 θετικός, 1 αρνητικός), τα επόμενα 8 bits αποτελούν το εκθετικό του μέρος, και τα υπόλοιπα 23 bits ονομάζονται Mantissa και αποτελούν το δεκαδικό μέρος του αριθμού Εκτέλεση των πράξεων της V s - IP Cores Οι IP Cores της Xilinx είναι έτοιμα κυκλώματα εξειδικευμένα για την εκτέλεση διάφορων λειτουργιών. Για την εκτέλεση των μαθηματικών πράξεων σε single-precision αριθμητική, χρησιμοποιήθηκαν τέτοιοι IP Cores οι οποίοι είναι βελτιστοποιημένοι για singleprecision αριθμητική. Στο σχήμα 4.3 παρουσιάζεται η αρχικοποίηση ενός IP Core σε ένα VHDL αρχείο (*.vhd) προκειμένου να κατανοηθεί καλύτερα η ανάλυση που ακολουθεί. Τα σήματα στα αριστερά αποτελούν τα εσωτερικά σήματα με τα οποία δουλεύει ο IP Core. Τα σήματα στα δεξιά είναι αυτά στα οποία αντιστοιχίζονται τα εσωτερικά σήματα του IP Core και χρησιμοποιούνται στην σύνθεση. Σχήμα 4.3: H αρχικοποίηση ενός IPCore. Ακολουθούν οι IP Cores που χρησιμοποιήθηκαν στην σύνθεση του κυττάρου μνήμης καθώς και η έκδοση της γεννήτριας των IP Cores. LogiCORE IP Floating-Point Operator v5.0 fixedtofloat16to32.xco Ο fixedtofloat16to32.xco IP Core χρησιμοποιεί την 32-bit ακέραια τυχαία έξοδο των LFSR ως είσοδο, την μετατρέπει σε single-precision και την περνάει στην έξοδο του. Υπάρχουν δύο δηλώσεις (instantiations) του συγκεκριμένου Core, μία για κάθε τυχαία μεταβλητή των LFSR. Προκειμένου να γίνει με σωστό τρόπο η μετατροπή, επιλέγεται στις ρυθμίσεις εισόδου του IP Core ότι η είσοδος θα έχει 1-bit για ακέραιο μέρος και 31-bit για δεκαδικό μέρος και έτσι εξασφαλίζεται ότι οι ανεξάρτητες τυχαίες μεταβλητές a και f θα ανήκουν στα διαστήματα (0, 1) και (0, π) αντίστοιχα. Το 1-bit του ακεραίου μέρους αποτελεί το πρόσημο του αριθμού, το οποίο μέσα από τους LFSR τίθεται πάντα στο 0 ώστε ο τυχαίος αριθμός να είναι πάντα θετικός και να ανήκει στο σωστό διάστημα. Η f ανεξάρτητη τυχαία μεταβλητή, είναι η έξοδος του δεύτερου LFSR. Aφού περάσει από το στάδιο του fixedtofloat16to32.xco IP Core και μετατραπεί σε single-precision, πολλαπλασιάζεται με π, χρησιμοποιώντας τον multiplier.xco IPCore ο οποίος θα αναλυθεί παρακάτω, και εντάσσεται στο ζητούμενο διάστημα (0, π). Αποφεύγεται ο πολλαπλασιασμός με 2 π (είχε αναφερθεί στο Κεφάλαιο 3 διάστημα (0, 2π)) επειδή το συνημίτονο 40

41 ΚΕΦΑΛΑΙΟ 4. ΣΥΝΘΕΣΗ ΚΥΤΤΑΡΟΥ ΜΝΗΜΗΣ είναι άρτια συνάρτηση. LogiCORE IP Floating-Point Operator v6.1 natlogarithm.xco Ο natlogarithm.xco, όπως αναφέρεται και στο όνομα του, υλοποιεί τον φυσικό λογάριθμο. Σύμφωνα με την διαδικασία υλοποίησης της V s, η οποία αναφέρθηκε παραπάνω, μετά την δημιουργία της ανεξάρτητης τυχαίας μεταβλητής a έχει σειρά η εκτέλεση της πράξης ln(a). Να σημειωθεί ότι αφού το a ανήκει στο διάστημα (0, 1) το ln(a) είναι αρνητικό, το οποίο δικαιολογεί το νόημα της παράστασης 2 ln(a). LogiCORE IP Floating-Point Operator v5.0 multiplier.xco Ο multiplier.xco είναι ο single-precision πολλαπλασιαστής που χρησιμοποιείται. Αρχικοποιείται τέσσερις φορές, καθώς απαιτούνται τέσσερις πολλαπλασιασμοί single-precision αριθμών για την κατασκευή της V s, οι οποίοι είναι οι παρακάτω: 1){f π} (4.7) 2){ 2 ln(a)} A (4.8) 3){A cos(f)} B (4.9) 4){B σ s } (4.10) LogiCORE IP Floating-Point Operator v6.1 sqrt.xco Ο IP Core sqrt.xcο χρησιμοποιείται για τον υπολογισμό της τετραγωνικής ρίζας του 2 ln(a). LogiCORE IP Floating-Point Operator v5.0 floattofixed32to16.xco Ο floattofixed32to16.xco IP Core χρησιμοποιείται για την μετατροπή του single-precision αριθμού f π των 32-bits σε 16-bit αριθμό, με 3-bits ακέραιο μέρος και 13-bits δεκαδικό μέρος. Η συγκεκριμένη διαδικασία απαιτείται από τον IP Core cossin.xco για τον υπολογισμό του συνημιτόνου. Η μορφή αυτή του αριθμού ονομάζεται 2Q13. Η σημασία της είναι ότι χρησιμοποιείται το πρώτο bit για πρόσημο, τα 2 επόμενα για ακέραιο μέρος και τα υπόλοιπα 13 για δεκαδικό μέρος. LogiCORE IP CORDIC v5.0 cossin.xco Ο cossin.xco IP Core χρησιμοποιείται για τον υπολογισμό του συνημιτόνου cos(f). Όπως αναφέρεται και παραπάνω χρησιμοποιεί μορφολογία αριθμού 2Q13 για είσοδο. Η έξοδος του έχει την μορφή 1Q14, το οποίο ερμηνεύεται ως 1-bit πρόσημο, 1-bit για ακέραιο μέρος για τις περιπτώσεις εξόδου ±1, και 14-bits δεκαδικό μέρος. LogiCORE IP Floating-Point Operator v5.0 costofloat16to32.xco Ο IP Core costofloat16to32.xco μετατρέπει την 16-bit έξοδο του cossin.xco ξανά σε single-precision. Η είσοδος του επομένως έχει την ίδια μορφή με την έξοδο του cossin.xco 41

42 4.2. ΕΣΩΤΕΡΙΚΟ ΣΥΝΘΕΣΗΣ ΚΥΤΤΑΡΟΥ ΜΝΗΜΗΣ IP Core, 1Q14. LogiCORE IP Floating-Point Operator v5.0 floatadder.xco Ο floatadder.xco IP Core εκτελεί τις πράξεις των 4.11 και 4.13 που απαιτούνται για την σύνθεση της V s. Αρχικά υλοποιείται η παράσταση µ s + U s C (4.11) και αφού συγχρονιστεί με την στιγμή που θα παραχθεί τιμή της παράστασης 2 ln(a) cos(f) σs D (4.12) για σ s, µ s, U s συμβόλου εισόδου s, παράγεται η V s μέσω του floatadder.xco: C + D = V s (4.13) LogiCORE IP Floating-Point Operator v5.0 comparator.xco Ο comparator.xco είναι ο συγκριτής που χρησιμοποιείται για εύρεση των συμβόλων εξόδου ŝ (hard data). Υπάρχουν τρεις αρχικοποιήσεις (instatiations) του συγκεκριμένου IP Core καθώς η σύγκριση της V s με τις U ref γίνεται με τέτοιο τρόπο ώστε τρεις συγκρίσεις να επαρκούν. Μετά την εκτέλεση των συγκρίσεων, αναγνωρίζεται σε ποιο από τα 4 πιθανά διαστήματα, που ορίζουν οι U ref, βρίσκεται η V s και ανάλογα προκύπτει το σύμβολο εξόδου ŝ (11,10,01,00) Λογική υλοποίησης Οι διασύνδεση των IP Cores υλοποιείται με ακολουθιακή λογική. Επομένως, η έξοδος τους εξαρτάται από τις τρέχουσες και προηγούμενες τιμές των εισόδων και είναι συνδεδεμένοι σε μορφή κυκλωμάτων αλυσιδωτής επεξεργασίας (pipelined). Σχήμα 4.4: Διασύνδεση ακολουθιακής λογικής. 42

43 ΚΕΦΑΛΑΙΟ 4. ΣΥΝΘΕΣΗ ΚΥΤΤΑΡΟΥ ΜΝΗΜΗΣ Ειδικότερα, η διασύνδεση των IP Cores έχει μορφή σύγχρονου ακολουθιακού κυκλώματος. Αυτά απαιτούν την ύπαρξη σημάτων συγχρονισμού τα οποία επηρεάζουν τα στοιχεία μνήμης του κυκλώματος, ώστε να αλλάζουν καταστάσεις σε διακριτές χρονικές στιγμές. Ο συγχρονισμός αυτός επιτυγχάνεται μέσω του ρολογιού, το οποίο τροφοδοτεί το σύστημα με μία περιοδική σειρά παλμών ρολογιού. Τα σύγχρονα ακολουθιακά κυκλώματα υλοποιούνται με flip-flops και έχουν μνήμη Σήματα συγχρονισμού των IP Cores Όλοι οι IP Cores έχουν κάποια ίδια σήματα για να μπορέσουν να λειτουργήσουν ακολουθιακά και σύγχρονα, όπως το ρολόι (clock), η επαναφορά στην αρχική κατάσταση (reset) και σήματα εισόδων και εξόδων. Κατά την υλοποίηση του κυττάρου μνήμης χρησιμοποιήθηκαν και σήματα τα οποία δίνονται ως προαιρετικά από τους IP Cores, προκειμένου να διευκολύνουν την διαδικασία του συγχρονισμού. Τα σήματα αυτά είναι τα παρακάτω: rdy Το σήμα rdy είναι σήμα εξόδου και τίθεται αυτόματα μέσω του IP Core στο λογικό 1 όταν ο IP Core έχει σωστά δεδομένα (valid) στην έξοδο του. operation_nd Το operation_nd είναι σήμα εισόδου στους IP Cores, το οποίο χρησιμοποιείται για να ενημερώσει τους IP Cores ότι υπάρχουν σωστά δεδομένα (valid) στην είσοδο (όταν operation_nd = 1). Σχήμα 4.5: Παράδειγμα ακολουθιακής διασύνδεσης των IP Cores με την χρήση των σημάτων rdy και operation_nd. Τα operation_nd σήματα συνδέονται με τα σήματα rdy, ακολουθιακά, προκειμένου να δείξει ο προηγούμενος IP Core στον επόμενο ότι υπάρχουν valid δεδομένα στην έξοδο του πρώτου (σχήμα 4.5). Έτσι, γίνεται 1 το rdy όταν υπάρχουν valid δεδομένα στην έξοδο κάποιου IP Core και ακολούθως γίνεται 1 το operation_nd του επόμενου IP 43

44 4.2. ΕΣΩΤΕΡΙΚΟ ΣΥΝΘΕΣΗΣ ΚΥΤΤΑΡΟΥ ΜΝΗΜΗΣ Core, ο οποίος με αυτόν τον τρόπο αναγνωρίζει ότι υπάρχουν valid δεδομένα στην είσοδο του Στάδια pipelining - datapath Λόγω του τρόπου συνδεσμολογίας των IP Cores είναι εφικτό να γίνει εκμετάλλευση της ρύθμισης latency που διαθέτουν, προκειμένου να αυξηθεί η ταχύτητα εκτέλεσης. Με τον όρο latency εννοείται το πλήθος των περιόδων ρολογιού, που χρειάζεται μέχρι να εμφανιστεί η πρώτη έξοδος κάποιου IP Core. Αν παραδείγματος χάρη, κάποιος IP Core έχει latency = 6, αυτό σημαίνει ότι χρειάζονται 6 περίοδοι ρολογιού για να εμφανιστεί η πρώτη έξοδος, όμως επίσης σημαίνει ότι όταν εμφανιστεί η πρώτη έξοδος θα έχει ήδη χειριστεί 6 εισόδους. Όσο μεγαλύτερο είναι το latency, τόσο αυξάνεται η ταχύτητα εκτέλεσης. Τα στάδια pipelining ισοδυναμούν με το μέγεθος του latency. Κατά την σύνθεση του κυττάρου μνήμης, επιλέχθηκε σε όλους τους IP Cores latency μέγιστο, προκειμένου να γίνει εκμετάλλευση του pipelining με τον καλύτερο δυνατό τρόπο. Το latency συνδέεται άμεσα και με την διασύνδεση των IP Cores και επηρεάζει το latency του datapath. Με τον όρο datapath εννοείται μια δίοδος δεδομένων που αποτελείται από διαδοχικά στάδια, διαφορετικής διάρκειας το καθένα. Έτσι, κάθε διασύνδεση των IP Cores σε σειρά αποτελεί ένα datapath του οποίου ο χρόνος εκτέλεσης συνδέεται άμεσα με την επιλογή latency των IP Cores. Υπάρχουν δύο βασικά datapath και σχηματίζονται κατά την διασύνδεση των IP Cores σε σειρά για την εκτέλεση των πράξεων των 4.2 και 4.3. Για την εκτέλεση της πρώτης παράστασης (4.2) χρησιμοποιούνται οι IP Cores: IP Cores fixedtofloat16to32.xco 6 natlogarithm.xco 23 multiplier.xco 8 sqrt.xco 29 Latency Πίνακας 4.1: IP Cores πρώτου datapath. Το πρώτο datapath έχει συνολικό latency ίσο με το άθροισμα των latencies των παραπάνω IP Cores και ίσο με 66. Επομένως, τα συνολικά pipelining στάδια που δημιουργούνται για την εκτέλεση της πρώτης παράστασης είναι 66. Για την εκτέλεση της δεύτερης παράστασης (4.3) χρησιμοποιούνται οι IP Cores: 44 IP Cores fixedtofloat16to32.xco 6 multiplier.xco 8 floattofixed32to16.xco 6 cossin.xco 20 costofloat.xco 6 Latency Πίνακας 4.2: IP Cores δεύτερου datapath.

45 ΚΕΦΑΛΑΙΟ 4. ΣΥΝΘΕΣΗ ΚΥΤΤΑΡΟΥ ΜΝΗΜΗΣ Το δεύτερο datapath έχει συνολικό latency ίσο με 46. Ομοίως, τα συνολικά pipelining στάδια που δημιουργούνται για την εκτέλεση της δεύτερης παράστασης είναι Top-Entity κυττάρου μνήμης Στο σχήμα 4.6 παρουσιάζονται οι είσοδοι και έξοδοι του top_entity.vhd αρχείου του κυττάρου μνήμης. Ο όρος top_entity χρησιμοποιείται στην VHDL για τον χαρακτηρισμό του ανώτερου ιεραρχικά αρχείου μιας σύνθεσης. Σχήμα 4.6: Top-entity του κυττάρου μνήμης Είσοδοι-Έξοδοι κυττάρου μνήμης Παρακάτω αναλύονται οι είσοδοι του top_entity και με βελάκι δείχνεται το όνομα που έχουν στην σύνθεση, το οποίο φαίνεται και στο σχήμα 4.7: clock (1-bit) clk Το σήμα clock είναι ο παλμός ρολογιού ο οποίος συνδέεται σε όλα τα εσωτερικά στοιχεία της σύνθεσης, έτσι ώστε να επιτευχθεί η σύγχρονη λειτουργία που αναφέρθηκε παραπάνω. rst (1-bit) rst Το σήμα rst χρησιμοποιείται για την επαναφορά στην αρχική κατάσταση (reset) των 45

46 4.3. TOP-ENTITY ΚΥΤΤΑΡΟΥ ΜΝΗΜΗΣ στοιχείων της σύνθεσης. Συνδέεται με το σήμα reset όλων των IP Cores καθώς και με το σήμα reset των εσωτερικών διαδικασιών (processes). Έτσι, θέτοντας σε λογικό 1 το σήμα rst του top_entity, γίνεται reset σε όλα τα στοιχεία της σύνθεσης. s (2-bit) symbol_in Το s είναι το σύμβολο εισόδου που εισάγεται στο κύτταρο μνήμης και στο οποίο βασίζεται όλη η διεργασία που εκτελείται εσωτερικά. Όπως έχει αναφερθεί, οι πιθανές του καταστάσεις είναι: µ s (32) m_s (1 έως 4) Το µ s συμβολίζει τις εισόδους των 4ων μέσων τιμών, που το κύτταρο μνήμης χρησιμοποιεί για τον υπολογισμό της V s. Δείχνεται με ένα σήμα στη σχήμα 4.6, αλλά στην ουσία και οι 4εις πιθανές μέσες τιμές δίνονται ως είσοδοι στο κύτταρο μνήμης. Έπειτα, ανάλογα με το σύμβολο εισόδου s, αποφασίζεται, με χρήση multiplexer, ποια από τις μέσες τιμές θα χρησιμοποιηθεί στον υπολογισμό της V s. Κάθε ένα από τα µ s είναι σε μορφή single-precision (32-bits). σ s (32) s_s (1 έως 4) Το σ s συμβολίζει τις 4 πιθανές διακυμάνσεις που εισάγονται ως είσοδοι. Με τον ίδιο τρόπο, ανάλογα με το s, αποφασίζεται ποια διακύμανση θα επιλεχτεί για τον υπολογισμό της V s. Κάθε μία από τις σ s βρίσκεται σε μορφή single-precision. U s (32) u_s (1 έως 4) Ομοίως με τα παραπάνω, το U s συμβολίζει τις τέσσερις ιδανικές τάσεις κατωφλίου, που δίνονται ως είσοδοι και χρησιμοποιούνται για τον υπολογισμό της V s, ανάλογα με το σύμβολο εισόδου s. Κάθε μία από τις U s βρίσκεται σε μορφή single-precision. U ref (32) u_ref (1 έως 3) Το σήμα U ref αντιστοιχεί στις τάσεις αναφοράς που χρησιμοποιούνται, αφού υπολογιστεί η V s για σύμβολο s, για υπολογισμό του συμβόλου εξόδου ŝ. Ομοίως, βρίσκονται σε μορφή single-precision. datainrdy (1-bit) datainrdy Το σήμα datainrdy είναι σήμα ελέγχου της λειτουργίας του κυττάρου μνήμης. Τίθεται στο λογικό 1 μέσω του test_bench όταν υπάρχουν διαθέσιμα δεδομένα (σύμβολα) στην 46

47 ΚΕΦΑΛΑΙΟ 4. ΣΥΝΘΕΣΗ ΚΥΤΤΑΡΟΥ ΜΝΗΜΗΣ είσοδο. Παρακάτω αναλύονται οι έξοδοι του top_entity: V s (32-bits) v_s Το σήμα V s, όπως γίνεται κατανοητό, εμπεριέχει το αποτέλεσμα του υπολογισμού της V s. Ομοίως με τα υπόλοιπα είναι σε μορφή single-precision. ŝ (2-bit) symbol_out Το ŝ είναι το σύμβολο εξόδου που υπολογίζεται με κάθε νέα V s. Σε αυτό το στάδιο υλοποίησης δεν εκτελείται κάποιος έλεγχος στα σύμβολα εξόδου γιατί έλεγχοι πάνω σε αυτά έχουν νόημα μόνο στο τελικό σύστημα εξομοίωσης. dataoutrdy (1-bit) dataoutrdy Το σήμα dataoutrdy είναι το δεύτερο σήμα ελέγχου και η λειτουργία του αφορά την έξοδο. Τίθεται σε λογικό 1 αυτόματα μέσα από την σύνθεση κάθε φορά που υπάρχουν σωστά δεδομένα (valid) της V s στην έξοδο Διαδικασία εκτέλεσης Παραπάνω αναλύθηκε ο ξεχωριστός ρόλος της κάθε εισόδου και εξόδου. Αν τις λάβουμε υπόψη συνδυαστικά εκτελείται η παρακάτω διαδικασία: Το clock ενεργοποιεί την σύνθεση και ξεκινάει η εσωτερική λειτουργία των LFSR και των IP Cores, που αναφέρθηκαν παραπάνω. Σε αυτό το στάδιο υπάρχουν έξοδοι στο dataout σήμα, οι οποίοι όμως δεν χρησιμοποιούνται μιας και το dataoutrdy σήμα είναι στο λογικό 0. Αυτό συμβολίζει ότι τα δεδομένα εξόδου οφείλονται σε τυχαίες τιμές χωρίς να έχουν χρησιμοποιηθεί τα σύμβολα εισόδου. Όταν υπάρχουν διαθέσιμα δεδομένα προς επεξεργασία στην είσοδο, τίθεται σε λογικό 1 το datainrdy μέσω του test_bench. Δίνονται τιμές στην είσοδο s, και ξεκινάει η διαδικασία που παράγει την V s και το σύμβολο εξόδου ŝ. Αφού πραγματοποιηθούν οι απαραίτητες πράξεις, περνάνε οι έξοδοι στο σήματα V s και ŝ. Πλέον πρόκειται για valid εισόδους, αφού προηγουμένως τέθηκε το datainrdy σε λογικό 1. Επομένως, την στιγμή που θα παραχθούν οι πρώτοι valid έξοδοι, τίθεται σε λογικό 1 και το dataoutrdy. Μέσω αυτού, το κύτταρο μνήμης δείχνει πότε έχει valid δεδομένα στην έξοδο του και κατ επέκταση πότε μπορεί να πραγματοποιηθεί η διαδικασία της ανάγνωσης ISim Το ISim είναι εργαλείο της Xilinx που χρησιμοποιείται για τον έλεγχο της προσομοίωσης, σε επίπεδο σύνθεσης. Χρησιμοποιήθηκε στην πορεία υλοποίησης του κυττάρου 47

48 4.3. TOP-ENTITY ΚΥΤΤΑΡΟΥ ΜΝΗΜΗΣ μνήμης προκειμένου να επιβεβαιωθεί η σωστή λειτουργία του. Τρέχοντας το ISim παρουσιάζονται οι κυματομορφές των σημάτων που υπάρχουν σε ένα βοηθητικό αρχείο που ονομάζεται test_bench. Αυτό ουσιαστικά περιέχει τις εισόδους και εξόδους της σύνθεσης και περιέχει τον κώδικα που εκτελεί την προσομοίωση του κυττάρου μνήμης. Σχήμα 4.7: Κυματομορφές των εισόδων και εξόδων του κυττάρου μνήμης. Σε πρώτο στάδιο, το ISim χρησιμοποιήθηκε για να επιβεβαιωθούν ότι οι μαθηματικές πράξεις που εκτελούνται με τους IP Cores έχουν τα αναμενόμενα αποτελέσματα. Τα αποτελέσματα των IP Cores, χρησιμοποιώντας μια βιβλιοθήκη αρχείων της Xilinx (std.textio.all) μέσα στο test_bench, αποθηκεύτηκαν σε αρχεία και πραγματοποιήθηκε έλεγχος τους μέσω του Matlab. Σε αυτό το στάδιο ελέγχθηκαν αποκλειστικά οι μαθηματικές πράξεις χωρίς να εισαχθούν σύμβολα στο κύτταρο μνήμης. Στην συνέχεια, διαπιστώθηκε μέσω των κυματομορφών του ISim ότι προκειμένου να λαμβάνονται με σωστό τρόπο οι είσοδοι και να βγαίνουν σωστά οι έξοδοι ήταν αναγκαίες οι καθυστερήσεις κάποιων σημάτων. Όπως αναφέρθηκε, οι IP Cores έχουν συνήθως διαφορετικά latency μεταξύ τους. Συγκεκριμένα ο floatadder.xco, ο οποίος εκτελεί τις απαιτούμενες προσθέσεις, έχει latency 12 περιόδους ρολογιού (χρειάζονται 12 κύκλοι ρολογιού για να παράγει την πρώτη valid έξοδο) ενώ ο multiplier.xco, ο οποίος είναι υπεύθυνος για τους πολλαπλασιασμούς, έχει latency 8. Αυτό επηρεάζει την εκτέλεση των πράξεων καθώς οι δύο παραστάσεις που βρίσκονται στις αγκύλες της 4.15 παράγονται σε διαφορετικούς χρόνους, όμως απαιτείται να υλοποιούνται συγχρονισμένα ώστε η V s να συντίθεται σωστά. 2 ln(a) cos(f) E (4.14) 48 {E σ s } + {µ s + U s } = V s (4.15)

49 ΚΕΦΑΛΑΙΟ 4. ΣΥΝΘΕΣΗ ΚΥΤΤΑΡΟΥ ΜΝΗΜΗΣ Επειδή η πράξη της πρόσθεσης έχει latency μεγαλύτερο από του πολλαπλασιασμού, πρέπει η έξοδος του πολλαπλασιαστή να καθυστερήσει αυτής του αθροιστή ώστε να συγχρονιστούν και να προστεθούν την σωστή χρονική στιγμή. Συγκεκριμένα, η καθυστέρηση πρέπει να είναι ίση με την διαφορά των latencies, δηλαδή καθυστέρηση 4ων περιόδων ρολογιού. Στο σχήμα 4.7 παρουσιάζονται οι κυματομορφές των σημάτων εισόδου και εξόδου, με περίοδο ρολογιού 10 nanosecond. Στην αρχή της διαδικασίας έχει τεθεί στο λογικό 1 το σήμα rst και γίνεται επαναφορά στην αρχική κατάσταση (reset) σε όλο το σύστημα. Μετά από 100 nanosecond, το σήμα rst επανέρχεται στο 0 και ξεκινάει η τοποθέτηση εισόδων στο κύτταρο μνήμης. Χρονικά, η εισαγωγή εισόδων, δείχνετε στο σχήμα 4.7 στο σημείο που βρίσκεται η πρώτη κάθετη κίτρινη γραμμή. Από το σχήμα 4.7 φαίνεται ότι η χρονική στιγμή που τίθεται σε λογικό 1 το datainrdy (πρώτη κάθετη κίτρινη γραμμή), μέχρι την στιγμή που βγαίνει η πρώτη σωστή έξοδος, όπου το dataoutrdy γίνεται 1 (δεύτερη κάθετη κίτρινη γραμμή), υπάρχει διαφορά 255 nanosecond. Προκειμένου να επεξεργαστούν οι είσοδοι με τον αναμενόμενο τρόπο είναι αναγκαίο να έχει παραχθεί τουλάχιστον μία τυχαία τιμή της συνάρτησης 4.4. Εξαιτίας αυτού, προστίθεται κατάλληλη καθυστέρηση ώστε οι είσοδοι να εισάγονται αφού έχει πρώτα πραγματοποιηθεί η συγκεκριμένη συνθήκη. Η συγκεκριμένη συνθήκη είναι αναγκαία μόνο σε επίπεδο σύνθεσης και δεν λαμβάνεται υπόψη στο σύστημα εξομοίωσης. Η καθυστέρηση που απαιτείται συνδέεται άμεσα με το latency των IP Cores που έχει επιλεχθεί να είναι το μέγιστο. Όπως αναφέρθηκε παραπάνω, με τον τρόπο σύνδεσης δημιουργούνται pipelining στάδια, η σύνθεση αποκτάει μνήμη και έχει την δυνατότητα χειρισμού συνεχόμενων εισόδων και σωστής επεξεργασίας αυτών επειδή αποθηκεύονται στα pipelining στάδια. Αυτό όμως είναι εφικτό αφού πρώτα το σύστημα έχει φτάσει στο σημείο που μπορεί να δεχτεί δεδομένα (πρώτη τιμή της 4.4) Ταχύτητα εκτέλεσης και Resources Παρατηρώντας τον ρυθμό των δεδομένων εξόδου στο ISim υπολογίζεται η ταχύτητα της σύνθεσης στα 25 Mbps, για παλμό ρολογιού 10 nanosecond. Οι πόροι που απαιτούνται για την σύνθεση του κυττάρου μνήμης παρουσιάζονται στο σχήμα 4.8 και εξηγούνται οι πιο σημαντικοί: Σχήμα 4.8: Πόροι συστήματος. 49

50 4.4. ΑΠΟΤΕΛΕΣΜΑΤΑ ΚΑΙ ΕΛΕΓΧΟΙ Slice Registers Αποτελούν εσωτερικά κομμάτια του FPGA που μπορούν να χρησιμοποιηθούν ως καταχωρητές (registers). Slice LUTs Ομοίως, αναφέρονται σε εσωτερικά διακριτά στοιχεία σε ένα FPGA και είναι μια συλλογή από λογικές πύλες συνδεδεμένες στο hardware του FPGA. LUT-FF pairs Αναφέρονται σε ζευγάρια look-up tables (LUTs) και Flip-Flops (FF) που βρίσκονται μέσα στα διακριτά κομμάτια (slices) του FPGA. Bonded IOBs Τα Bonded IOBs αναφέρονται στις εισόδους και εξόδους του συστήματος. Στο επόμενο στάδιο της διπλωματικής το κύτταρο μνήμης γίνεται εσωτερικό κομμάτι ενός μεγαλύτερου συστήματος και οι τωρινοί είσοδοι και έξοδοι γίνονται εσωτερικοί καταχωρητές του συνολικού συστήματος. Επομένως το συγκεκριμένο ποσοστό μειώνεται γύρω στις 4 φορές. DSP48E1s Είναι εσωτερικά κομμάτια του FPGA που υποστηρίζουν διάφορες μεμονομένες λειτουργίες. Τέτοιες είναι πολλαπλασιασμός, πρόσθεση τριών εισόδων κ.α. Η αρχιτεκτονική τους υποστηρίζει προσθήκη των DSP48E1s σε σειρά για την σύνθεση μαθηματικών πράξεων. Η χρήση τους διευκολύνει την υλοποίηση των πολύπλοκων πράξεων που απαιτούνται. 4.4 Αποτελέσματα και Έλεγχοι Στο παρόν υποκεφάλαιο παρουσιάζονται τα αποτελέσματα της σύνθεσης και γίνονται οι απαραίτητες συγκρίσεις με το μοντέλο MLC NAND Flash του κεφαλαίου 2, προκειμένου να επιβεβαιωθεί η σωστή λειτουργία του Κατανομή τάσεων σύνθεσης Μέσω του test_bench αποθηκεύτηκαν οι τάσεις V s, του κυττάρου μνήμης σε αρχείο txt και περάστηκαν στο Matlab, όπου για χαρακτηριστικά θορύβου του πίνακα 4.3: 50 Direct Mapping Διακύμανση σ s = 4σ = σ = σ = 2σ Μέση τιμή µ s Τάση Κατωφλίου U s Πίνακας 4.3: Συνθήκες γήρανσης κατά την εκτέλεση του κυττάρου μνήμης.

51 Συνάρτηση πυκνότητας πιθανότητας ΚΕΦΑΛΑΙΟ 4. ΣΥΝΘΕΣΗ ΚΥΤΤΑΡΟΥ ΜΝΗΜΗΣ οι κατανομές των τάσεων, για 1 Msymbols φαίνονται στο σχήμα 4.9: U ref Κανονικοποιημένη τάση Σχήμα 4.9: Κατανομές των τάσεων του κυττάρου μνήμης σε VHDL. Οι τάσεις αναφοράς U ref φαίνονται στο σχήμα 4.9. Χρησιμοποιούνται για υπολογισμό των συμβόλων εξόδου ŝ και είναι: U ref1 = U ref2 = U ref3 = Χρησιμοποιώντας τις συναρτήσεις mean() και std() του Matlab επιβεβαιώθηκε η θέση (µ s +U s ) και η διακύμανση των κατανομών του σχήματος 4.9. Στον πίνακα 4.4 παρουσιάζονται τα αποτελέσματα του συγκεκριμένου ελέγχου. Όπως φαίνεται, τα χαρακτηριστικά θορύβου που χρησιμοποιούνται ως είσοδο στο κύτταρο μνήμης διαφέρουν ελάχιστα από αυτά που μετρήθηκαν από τις mean() και std(). Χαρακτηριστικά θορύβου Επιβεβαίωση αποτελεσμάτων Σύμβολο(s) µ s + U s εισόδου σ s εισόδου µ s +U s μέτρησης σ s μέτρησης Πίνακας 4.4: Εφαρμογή των mean() και std() στις κατανομές των τάσεων του κυττάρου μνήμης. 51

52 Συνάρτηση πυκνότητας πιθανότητας 4.4. ΑΠΟΤΕΛΕΣΜΑΤΑ ΚΑΙ ΕΛΕΓΧΟΙ Σύγκριση Γραφικών Στο σχήμα 4.10 παρουσιάζονται οι κατανομές των τάσεων της σύνθεσης του κυττάρου μνήμης MLC NAND Flash, παράλληλα με αυτών του μοντέλου του. Τα χαρακτηριστικά του θορύβου που χρησιμοποιήθηκαν είναι αυτά του πίνακα 4.3. Οι κατανομές προέκυψαν για 1M σύμβολα εισόδου. Κατανομές τάσεων μοντέλου NAND Flash MLC Κατανομές τάσεων σύνθεσης NAND Flash MLC Κανονικοποιημένη τάση Σχήμα 4.10: Κατανομές των τάσεων του μοντέλου και της σύνθεσης MLC NAND Flash. Γραφικά, φαίνεται ότι οι έξοδοι της σύνθεσης προσεγγίζουν τις εξόδους του μοντέλου, γεγονός το οποίο επιβεβαιώνει ότι η σύνθεση του κυττάρου μνήμης έχει τα χαρακτηριστικά που απαιτούνται Μέτρο σύγκρισης - RMSE Επίσης, χρησιμοποιήθηκε η συνάρτηση RMSE [15] για να αποδειχθεί με μαθηματικό τρόπο η σχέση μεταξύ της σύνθεσης και του μοντέλου. Η RMSE αποτελεί μέτρο σύγκρισης μεταξύ των εξόδων ενός μοντέλου και των πειραματικών εξόδων μιας υλοποίησης, και είναι η παρακάτω: RMSE( ˆϑ) = E{( ˆϑ ϑ) 2 } (4.16) όπου ˆϑ είναι ο εκτιμητής, δηλαδή οι τιμές που χρησιμοποιούνται για εκτίμηση των πειραματικών τιμών (μοντέλο) και θ οι τιμές που έχουν εκτιμηθεί, δηλαδή οι πειραματικές τιμές. Στην συγκεκριμένη περίπτωση, οι πειραματικές τιμές δημιουργούνται μέσω της σύνθεσης. 52

53 ΚΕΦΑΛΑΙΟ 4. ΣΥΝΘΕΣΗ ΚΥΤΤΑΡΟΥ ΜΝΗΜΗΣ Το RMSE μετρήθηκε: RMSE = Η πολύ χαμηλή τιμή της RMSE επιβεβαιώνει ότι τα αποτελέσματα της σύνθεσης προσεγγίζουν αυτά του μοντέλου σε μεγάλο βαθμό. Συμπεριλαμβανομένου και του RMSE ελέγχου, εξασφαλίζεται η σωστή λειτουργία της σύνθεσης του κυττάρου μνήμης MLC NAND Flash Έλεγχος ποσοστιαίας διαβάθμισης γκαουσιανών Προς επιπλέον επιβεβαίωση των τάσεων V s της σύνθεσης πραγματοποιήθηκε ένας ακόμα έλεγχος. Χρησιμοποιήθηκε το σχήμα 4.11, Σχήμα 4.11: Διαβάθμιση ποσοστών κανονικής κατανομής. ως πρότυπο ελέγχου της ποσοστιαίας διαβάθμισης των κατανομών των τάσεων και υπολογίστηκε το µ s + U s ± σ s και µ s + U s ± 2 σ s της κάθε κατανομής ξεχωριστά, όπου για τα µ s + U s και σ s χρησιμοποιήθηκαν τα αποτελέσματα του πίνακα 4.4. Στον πίνακα 4.5 παρουσιάζονται τα ποσοστά που υπολογίστηκαν για κάθε μία από τις κατανομές του σχήματος 4.9: Αναμενόμενο ποσοστό : 68.5% Αναμενόμενο ποσοστό : 95.4% Σύμβολο(s) µ s + U s ± σ s µ s + U s ± 2 σ s % 95.45% % 95.45% % 95.39% % 95.47% Πίνακας 4.5: Αναμενόμενο ποσοστό κατανομών παράλληλα με αυτό που υπολογίστηκε. 53

54 4.4. ΑΠΟΤΕΛΕΣΜΑΤΑ ΚΑΙ ΕΛΕΓΧΟΙ Αποτέλεσμα των παραπάνω ελέγχων είναι ότι διευκολύνεται η κατασκευή του τελικού συστήματος εξομοίωσης, καθώς μειώνονται οι έλεγχοι που απαιτούνται κατά την πορεία ανάπτυξης αυτού. 54

55 Κεφάλαιο 5 Σύστημα εξομοίωσης MLC NAND Flash 5.1 Εισαγωγή Στο παρόν κεφάλαιο αναλύεται το σύστημα εξομοίωσης που υλοποιεί την λειτουργικότητα του καναλιού ανάγνωσης ενός κυττάρου μνήμης MLC NAND Flash, παραμετροποιημένο ως προς τα χαρακτηριστικά γήρανσης,. Η VHDL σύνθεση του προηγούμενου κεφαλαίου, επεκτείνεται και ενσωματώνεται σε ένα νέο σύστημα το οποίο εκτελείται σε ηλεκτρονική πλακέτα που περιλαμβάνει επεξεργαστή (ARM) και προγραμματιζόμενη λογική (FPGA). Με τον τρόπο αυτό, το τελικό σύστημα συμπεριφέρεται σαν πραγματική μνήμη. Εξομοιώνεται η συμπεριφορά της MLC NAND Flash μνήμης και εκτελούνται έλεγχοι πάνω στην γήρανση. Η ηλεκτρονική πλακέτα στην οποία εκτελείται το κύτταρο μνήμης ονομάζεται ZedBoard. Περιλαμβάνει διπύρηνο επεξεργαστή ARM Cortex -A9 MPCore και μονάδα προγραμματιζόμενης λογικής της Xilinx. Αποτελεί κατασκευή της εταιρείας Zynq Παρέχει την ευελιξία και δυνατότητα επέκτασης ενός FPGA ενώ παράλληλα προσφέρει υψηλή απόδοση και ευκολία χρήσης. Προκειμένου να επιτευχθεί η επικοινωνία μεταξύ του επεξεργαστή (ARM) και του κυττάρου μνήμης (εκτελείται στο FPGA του ZedBoard), είναι απαραίτητη η δημιουργία ενός καναλιού επικοινωνίας. Αυτό επιτυγχάνεται με χρήση ενός διαύλου επικοινωνίας (data bus). Προκειμένου να γίνει εφικτή η μεταφορά δεδομένων από ή προς το κύτταρο μνήμης, χρησιμοποιώντας το data bus, ο επεξεργαστής χρησιμοποιεί μία μονάδα δυναμικής μνήμης (DRAM) για προσωρινή αποθήκευσης των δεδομένων. Υπάρχουν δύο βασικά είδη διαύλων επικοινωνίας, που διαφοροποιούνται κυρίως με το μέγεθος των δεδομένων που μεταφέρουν, και παρουσιάζονται στον πίνακα 5.1. Δίαυλος επικοινωνίας AXI4 AXI4-Lite Μέγεθος διαύλου 32, 64, 128, or 256 bits 32 bits Πίνακας 5.1: Μέγεθος δεδομένων που υποστηρίζουν οι δύο δίαυλοι επικοινωνίας. Για την υλοποίηση του συστήματος εξομοίωσης επιλέχτηκε το AXI4-Lite (32bits) καθώς επαρκεί για τα πλαίσια της διπλωματικής εργασίας. Μέσω αυτού, με κατάλληλη διευ- 55

56 5.1. ΕΙΣΑΓΩΓΗ θυνσιοδότηση, επιτυγχάνεται η ανταλλαγή δεδομένων μεταξύ του επεξεργαστή και της προγραμματιζόμενης λογικής (κύτταρο μνήμης). Η σύνθεση του κυττάρου μνήμης του προηγούμενου κεφαλαίου δεν επαρκεί για την επικοινωνία που αναφέρεται παραπάνω. Για να μπορέσει η προγραμματιζόμενη λογική να επικοινωνήσει με τον δίαυλο επικοινωνίας και κατ επέκταση με τον επεξεργαστή χρειάζεται η προσθήκη κάποιων νέων *.vhd αρχείων, καθώς και κατάλληλες ρυθμίσεις μέσω των προγραμμάτων Planahead και XPS της πλατφόρμας Xilinx Design Tools. Η εδραίωση της επικοινωνίας με το AXI4-Lite δεν ήταν στα πλαίσια της διπλωματικής εργασίας, επομένως δεν αναλύεται σε βάθος. Το κύτταρο μνήμης δεν είναι πλέον το ανώτερο ιεραρχικά αρχείο της νέας σύνθεσης (top_entity), αλλά παίρνει την θέση στην κορυφή της ιεραρχίας το peripheral.vhd, το οποίο περιλαμβάνει τα σήματα που απαιτούνται για την επικοινωνία με το AXI4-Lite. Σε παρακάτω υποκεφάλαια, δίνεται ιδιαίτερη σημασία στην επέκταση και στις προσθήκες που χρειάστηκαν να γίνουν στο κύτταρο μνήμης του κεφαλαίου 4, ώστε η επικοινωνία με τον επεξεργαστή να γίνεται με τον αναμενόμενο τρόπο Επικοινωνία και χαρακτηριστικά AXI4-Lite Σε αυτό το υποκεφάλαιο γίνεται σύντομη αναφορά στα νέα *.vhd αρχεία που εδραιώνουν την επικοινωνία του AXI4-Lite με το κύτταρο μνήμης. Η ιεραρχία της νέας σύνθεσης φαίνεται στο σχήμα 5.1. Σχήμα 5.1: Η ιεραρχία της σύνθεσης. Τα αρχεία αυτά είναι δύο και παρουσιάζονται στα μπλε πλαίσια του σχήματος 5.1. Το πρώτο από αυτά, το οποίο αποτελεί και το ανώτερο ιεραρχικά (top_entity) αρχείο της νέας σύνθεσης είναι το peripheral.vhd. Περιλαμβάνει όλα τα σήματα του data bus και 56

57 ΚΕΦΑΛΑΙΟ 5. ΣΥΣΤΗΜΑ ΕΞΟΜΟΙΩΣΗΣ MLC NAND FLASH ουσιαστικά μέσω αυτού πραγματοποιείται η επικοινωνία μεταξύ του AXI4-Lite και της υπόλοιπης σύνθεσης (από το control_logic.vhd και κάτω). Το δεύτερο αρχείο ονομάζεται SAXILite.vhd και είναι υπεύθυνο για την διευθυνσιοδότηση των εισόδων και εξόδων της λογικής του κυττάρου μνήμης (control_logic.vhd). Το AXI4-Lite λειτουργεί με διευθύνσεις των 32-bits, το οποίο συνεπάγεται ότι η διευθυνσιοδότηση των εισόδων και εξόδων του control_logic.vhd γίνεται με διευθύνσεις των 32-bits. Η αρχικοποίηση (instantiation) του SAXILite.vhd γίνεται μέσα στο peripheral.vhd επομένως είναι ιεραρχικά κατώτερο. Επικοινωνεί όμως άμεσα με το peripheral.vhd και χρησιμοποιεί κάποια από τα σήματα λειτουργίας του AXI4-Lite, τα οποία προωθούνται σε αυτό (SAXILite.vhd) από το peripheral.vhd. Τα σήματα αυτά απαιτούνται για την εκτέλεση των διαδικασιών εγγραφής στο AXI4-Lite ή ανάγνωσης από αυτό. Για παράδειγμα, αν ένα block κατώτερου επιπέδου ζητήσει την ανάγνωση κάποιας εισόδου, τότε προωθείται σήμα ανάγνωσης στο SAXILite.vhd. Αυτό με την σειρά του χρησιμοποιεί τα σήματα του AXI4-Lite, στα οποία έχει πρόσβαση, για να ενημερώσει το peripheral.vhd και κατ επέκταση το AXI4-Lite ότι πρέπει να πραγματοποιηθεί η διαδικασία της ανάγνωσης. Οι είσοδοι και έξοδοι της λογικής του κυττάρου μνήμης είναι συνολικά 20. Όμως μία διεύθυνση εισόδου μπορεί να χρησιμοποιηθεί και ως εξόδου. Οι είσοδοι είναι 17 και οι έξοδοι 3, επομένως 17 διαφορετικές διευθύνσεις αρκούν για την πλήρη διευθυνσιοδότηση του συστήματος. Όπως αναφέρθηκε, οι διευθύνσεις είναι των 32-bits το οποίο συνεπάγεται ότι η κάθε διεύθυνση με την επόμενη πρέπει να απέχει 32-bits ή 4 bytes (1byte 8bit). Η διεύθυνση βάσης (αρχική διεύθυνση του AXI4-Lite) σε hexadecimal είναι 0x68C00000Η. Για την εύρεση κάθε επόμενης διεύθυνσης αρκεί η πρόσθεση 4ων bytes στην προηγούμενη. Για παράδειγμα, έχοντας ως πρώτη την διεύθυνση βάσης η επόμενη προκύπτει όπως η x68C x4H = 0x68C00004H (5.1) Σε επόμενο υποκεφάλαιο παρουσιάζεται πίνακας με όλες τις διευθύνσεις εισόδου και εξόδου και που αντιστοιχεί η κάθε μία, ανάλογα με το αν η διεύθυνση αναφέρεται σε είσοδο ή έξοδο. 5.2 Νέα στοιχεία σύνθεσης - IP Cores Παραπάνω αναφέρθηκαν δύο από τα νέα βασικά αρχεία που χρειάστηκαν για την επικοινωνία με το ZedBoard. Όπως όμως αναφέρθηκε, το κύτταρο μνήμης ενσωματώνεται σε ένα μεγαλύτερο σύστημα προκειμένου η επικοινωνία με το AXI4-Lite να επιτυγχάνεται με τον αναμενόμενο τρόπο. Ενώ ο βασικός πυρήνας και τρόπος λειτουργίας του κυττάρου μνήμης παρέμεινε ίδιος, απαραίτητη ήταν η προσθήκη νέων αρχείων για χειρισμό των νέων διαδικασιών που απαιτούνται για να εκτελεστεί το σύστημα εξομοίωσης στο ZedBoard. Συγκεκριμένα, χρειάστηκε η προσθήκη 4ων νέων vhd αρχείων. Αυτά φροντίζουν για την κατάλληλη διασύνδεση μεταξύ του κυττάρου μνήμης (χαμηλότερο ιεραρχικά) και των αρχείων του περιφερειακού (σχήμα 5.1 μπλε πλαίσιο) και δείχνονται στο σχήμα 5.1 με πράσινο πλαίσιο. Επίσης, προστέθηκαν 5 νέοι IP Cores που χρησιμοποιούνται για επεξεργασία και αποθήκευση των δεδομένων. Προκειμένου να γίνουν ευκολότερα κατανοητές οι αλλαγές αλλά και ο τρόπος λειτουργίας του συστήματος εξομοίωσης, η ανάλυση περνάει από τα πιο απλά στοιχεία της νέας σύνθεσης προς τα πιο σύνθετα. 57

58 5.2. ΝΕΑ ΣΤΟΙΧΕΙΑ ΣΥΝΘΕΣΗΣ - IP CORES Είσοδοι-έξοδοι και FIFOs Στο πρώτο κεφάλαιο αναφέρθηκε ότι στόχος του συστήματος είναι η δυνατότητα να παρέχει δύο μορφές εξόδου, τα σύμβολα εξόδου ŝ και τις τάσεις V s. Για την αποθήκευση και χειρισμό των εξόδων χρησιμοποιήθηκαν First in First out (FIFOs) δομές δεδομένων, όπου ήταν αναγκαίο. Επομένως σίγουρα απαιτούνται δύο FIFOs εξόδου, μία για την κάθε μορφή δεδομένων. Ομοίως, κατά την εισαγωγή δεδομένων από το ZedBoard, είναι αναγκαία η αποθήκευση τους πριν επεξεργαστούν. Για τον λόγο αυτό χρησιμοποιήθηκε μία FIFO και για την είσοδο. Μαζί με τα σύμβολα εισόδου που εισάγονται από το ZedBoard είναι αναγκαίο να εισάγονται και τα χαρακτηριστικά γήρανσης του κυττάρου μνήμης. Όπως αναφέρθηκε, αυτά είναι η μέση τιμή µ s, η διακύμανση σ s, η τάση κατωφλίου U s καθώς και οι τάσεις αναφοράς U ref. Τα σύμβολα εισάγονται σε μορφή των 32-bits (λόγω του ΑΧΙ4-Lite) και έπειτα σπάνε σε τιμές των 2-bits, αφού με τέτοιες δουλεύει το κύτταρο μνήμης. Ομοίως με το κεφάλαιο 4, απαιτούνται 4 είσοδοι για την μέση τιμή, 4 είσοδοι για την διακύμανση, 4 είσοδοι για την τάση κατωφλίου καθώς και τρεις για τις τάσεις αναφοράς που προαναφέρθηκαν. Για τον χειρισμό των διαδικασίων που χρειάζονται ώστε τα σύμβολα εισόδου των 32-bits να μετατραπούν σε μορφή των 2-bits καθώς και η μετατροπή των συμβόλων εξόδου από 2-bits σε μορφή των 32-bits, χρειάστηκε η προσθήκη δύο επιπλέον ενδιάμεσων FIFOs. Η λειτουργία τους εξηγείται παρακάτω. Επίσης, δημιουργήθηκαν και δύο καταχωρητές ελέγχου, ο control και ο status. O control είναι καταχωρητής εισόδου και ανάλογα με την τιμή του επηρεάζει την εκτέλεση του συστήματος. Ο status είναι καταχωρητής έξοδος και η τιμή του δίνει πληροφορίες για την εκτέλεση του συστήματος. Αναλύονται σε μεγαλύτερο βαθμό παρακάτω IP Cores - Λειτουργία των FIFOs Παρακάτω εξηγείται ο ρόλος των νέων IP Cores: FifoIn1.xco - FIFO εισόδου Η FifoIn1.xco έχει ως είσοδο τα σύμβολα εισόδου σε μορφή των 32-bits. Προκειμένου να διευκολυνθεί ο διαχωρισμός των 32-bit τιμών σε σύμβολα, επιλέχτηκε να έχει έξοδο των 8-bits. FifoIn2.xco - FIFO χειρισμού των συμβόλων εισόδου Η FifoIn2.xco έχει ως είσοδο (8-bit) τα δεδομένα της FifoIn1.xco και ως έξοδο τα σύμβολα των 2-bits. Όσο υπάρχουν διαθέσιμα δεδομένα στην FIFO εισόδου, διαβάζονται και αποθηκεύονται στην FifoIn2.xco. Έπειτα, διαβάζονται εκ νέου από την FifoIn2.xco, σε μορφή των 2-bit, και εισάγονται στο κύτταρο μνήμης προς επεξεργασία. Fifo1H.xco - FIFO για χειρισμό των συμβόλων εξόδου Η Fifo1H.xco έχει ως είσοδο τα σύμβολα εξόδου ŝ των 2-bit. Όπως έχει αναφερθεί, κάθε έξοδος του κυττάρου μνήμης είναι μια τάση V s η οποία αποκωδικοποιείται σε ένα από τα 4 πιθανά σύμβολα εξόδου (11,10,01,00). Αφού αποφασιστεί σε ποιο σύμβολο ŝ αντιστοιχεί η V s, με την διαδικασία των συγκρίσεων με τις U ref που προαναφέρθηκε, το σύμβολο εξόδου ŝ των 2-bits αποθηκεύεται στην Fifo1H.xco. H Fifo1H.xco έχει επιλεχτεί να έχει 58

59 ΚΕΦΑΛΑΙΟ 5. ΣΥΣΤΗΜΑ ΕΞΟΜΟΙΩΣΗΣ MLC NAND FLASH έξοδο των 8-bits. Μετατρέπει δηλαδή τα σύμβολα ŝ σε συστοιχίες των 8-bits. FifoHardOut.xco - FIFO εξόδου για σύμβολα Η FifoHardOut.xco είναι η μία από τις δύο FIFO εξόδου, που επικοινωνούν με το AXI4-Lite. Σε αυτήν εισάγονται τα σύμβολα που αποθηκεύτηκαν προσωρινά στην Fifo1H.xco. Η διαμεσολάβηση της Fifo1H.xco είναι αναγκαία καθώς η FifoHardOut.xco έχει είσοδο των 8-bits και έτσι τα σύμβολα δεν μπορούν να αποθηκευθούν απευθείας. Η έξοδος της είναι των 32-bits επειδή πρέπει να συμφωνεί με τα χαρακτηριστικά λειτουργίας του AXI4- Lite. FifoSoftOut.xco - FIFO εξόδου για τις τάσεις V s Η FifoSoftOut.xco είναι η δεύτερη FIFO εξόδου. Ομοίως οι έξοδοι της περνάνε στο AXI4- Lite data bus. Σε αυτήν αποθηκεύονται οι τάσεις V s που εξάγονται από το κύτταρο μνήμης. Ομοίως με την παραπάνω FIFO εξόδου, απαιτείται να έχει έξοδο των 32-bits για μεταφορά δεδομένων στο AXI4-Lite. Επειδή οι τάσεις V s είναι των 32-bits έχει και είσοδο των 32- bits. Περιληπτικά η διαδικασία που εκτελείται, είναι η παρακάτω: 1) Τα χαρακτηριστικά του κάθε συμβόλου εισάγονται στο σύστημα, καθώς και οι τάσεις αναφοράς U ref. 2) Σύμβολα σε μορφή των 32-bits εισέρχονται στην είσοδο και αποθηκεύονται την FIFO εισόδου. 3) Από την FIFO εισόδου FifoIn1.xco τα σύμβολα περνάνε στην FifoIn2.xco και μετατρέπονται σε μορφή των 2-bits. 4) Εισέρχονται στο κύτταρο μνήμης και δημιουργούνται οι τάσεις V s των 32-bits. 5) Μέσω συγκρίσεων μεταξύ των V s και των U ref προκύπτουν τα σύμβολα εξόδου ŝ. 6) Τα ŝ προωθούνται στην Fifo1H.xco και μετατρέπονται σε μορφή των 8-bits ώστε να μπορούν να αποθηκευτούν στην FifoHardOut.xco. 7) Τέλος, αποθηκεύονται τα δύο είδη δεδομένων στις δύο FIFOs εξόδου. Στον πίνακα 5.5 παρουσιάζονται τα μεγέθη που έχουν επιλεχτεί για την FIFO εισόδου και τις FIFOs εξόδου. FIFO Πλήθος εισόδων Πλήθος εξόδων FifoIn 1024(32-bits) 4096(8-bits) SymbolOutFifo 4096(8-bits) 1024(32-bits) SoftOutFifo 16384(32-bits) 16384(32-bits) Πίνακας 5.2: Μεγέθη των FIFO εισόδου και εξόδου. 59

60 5.3. ΚΑΤΑΧΩΡΗΤΕΣ ΕΛΕΓΧΟΥ Εγγραφή και ανάγνωση από τις FIFOs Λόγω του τρόπου λειτουργίας του συστήματος, οι 4/5 FIFOs έχουν διαφορετικό μέγεθος εισόδου από εξόδου. Αυτό συνεπάγεται, για ίδιο παλμό ρολογιού, ότι ο χρόνος που χρειάζεται για την εγγραφή είναι διαφορετικός από τον αντίστοιχο που χρειάζεται για την ανάγνωση. Παραδείγματος χάρη, σε μία FIFO με είσοδο 2-bits και έξοδο 8-bits (Fifo1H.xco), υπάρχει περίπτωση να εκτελείται διάβασμα με άδεια FIFO αφού τα δεδομένα διαβάζονται με πιο γρήγορο ρυθμό από ότι γράφονται. Στην αντίθετη περίπτωση, για μία FIFO με 8-bits εισόδου και 2-bits εξόδου (FifoIn2.xco), υπάρχει περίπτωση να γεμίζει, αφού το διάβασμα γίνεται σε πιο αργό ρυθμό από ότι το γράψιμο. Τα παραπάνω δημιουργούν την ανάγκη ελέγχων για να αποφευχθούν τυχόν λάθη στην εγγραφή και στην ανάγνωση. Στην πρώτη περίπτωση (Fifo1H.xco) αρκεί η χρήση του σήματος empty. Ελέγχοντας το συγκεκριμένο σήμα διαπιστώνεται αν υπάρχουν τιμές στην FIFO. Το empty είναι 0 όταν υπάρχουν τιμές και 1 στις περιπτώσεις που είναι άδεια η FIFO. Η δεύτερη περίπτωση συμβαίνει κατά την ανάγνωση δεδομένων από την FifoIn2.xco. Δημιουργείται η πιθανότητα να γεμίσει η FifoIn2.xco επειδή η ανάγνωση γίνεται σχεδόν 4 φορές πιο αργά από την εγγραφή (γράφεται ανά 8-bit, διαβάζεται ανά 2-bit). Προκειμένου να αποφευχθεί μια τέτοια κατάσταση χρησιμοποιείται ένα προαιρετικό σήμα της FifoIn2.xco, το almost_full. Αυτό τίθεται αυτόματα σε λογικό 1 μία τιμή πριν γεμίσει η FIFO. Έτσι ενημερώνεται το σύστημα και σταματάει η εγγραφή μέχρι να διαβαστούν αρκετά δεδομένα και να δημιουργηθεί ελεύθερος χώρος για νέα αποθήκευση. Παρόλο που τα μεγέθη των FIFOs εξόδου είναι σταθερά και επιλεγμένα ώστε να επαρκούν, το σήμα almost_full χρησιμοποιείται και στις FIFOs εξόδου ώστε η έγγραφη να γίνεται πάντα με τον σωστό τρόπο. 5.3 Καταχωρητές ελέγχου Το σύστημα εξομοίωσης λειτουργεί με δύο καταχωρητές ελέγχου. Η μία απευθύνεται στον καθορισμό του τρόπου εκτέλεσης του συστήματος και η δεύτερη δίνει πληροφορίες για το αποτέλεσμα της εκτέλεσης. Αυτή που καθορίζει, ανάλογα με την τιμή που δίνεται από τον χρήστη, τον τρόπο εκτέλεσης του συστήματος έχει ονομαστεί control. Ο δεύτερος καταχωρητής ελέγχου ονομάστηκε status και ανάλογα με την τιμή που παίρνει μετά την εκτέλεση του συστήματος, δείχνει αν όλα πραγματοποιήθηκαν με τον αναμενόμενο τρόπο ή αν υπήρξε κάποιο σφάλμα Control Η control είναι των 3-bit και ανάλογα με την τιμή της αναγκάζει το σύστημα να εκτελεστεί με συγκεκριμένο τρόπο. Έχουν δημιουργηθεί 4 δυνατές καταστάσεις εκτέλεσης του συστήματος ανάλογα με την τιμή των 3-bit που γράφεται στην control. Αυτές είναι: Κατάσταση reset Βάζοντας ως είσοδο στον καταχωρητή control την παραπάνω τιμή το σύστημα επανέρχεται στην αρχική του κατάσταση (reset). Το reset εφαρμόζεται από το control_logic.vhd 60

61 ΚΕΦΑΛΑΙΟ 5. ΣΥΣΤΗΜΑ ΕΞΟΜΟΙΩΣΗΣ MLC NAND FLASH και στα υπόλοιπα αρχεία που βρίσκονται χαμηλότερα ιεραρχικά αυτού, καθώς και στους IP Cores. Ουσιαστικά, μόλις αναγνωριστεί η παραπάνω τιμή στην control, δίνεται η τιμή του λογικού 1 στο σήμα reset που διασυνδέεται με τα παραπάνω. Κατάσταση Full run Με την τιμή 010, το σύστημα χρησιμοποιεί τις εισόδους της FifoIn1.xco τις εισάγει στο κύτταρο μνήμης, παράγει τα σύμβολα εξόδου και τις V s και τις αποθηκεύει στις FIFO εξόδου. Δηλαδή παράγονται και αποθηκεύονται και οι δύο μορφές εξόδου. Κατάσταση Symbol run Με αυτήν την κατάσταση το σύστημα παίρνει τις εισόδους, παράγει τα σύμβολα εξόδου και τα αποθηκεύει στην FifoHardOut. Οι V s δεν περνάνε στην FifoSoftOut και απλά χρησιμοποιούνται για την εύρεση των συμβόλων εξόδου. Άρα με αυτόν τον τρόπο γίνεται υπό συνθήκη εκτέλεση του συστήματος ανάλογα με το ποια δεδομένα χρειάζονται στην έξοδο. Κατάσταση V s run Αντίστοιχα με την παραπάνω περίπτωση, με αυτήν την τιμή το σύστημα επεξεργάζεται τις εισόδους, παράγει τις V s και τις αποθηκεύει στην FifoSoftOut. Για τα σύμβολα δεν εκτελείται καμία διαδικασία. Αυτή η κατάσταση επιλέγεται όταν χρειάζονται μόνο οι τάσεις V s στην έξοδο. Σχήμα 5.2: Process της control. Στο σχήμα 5.2 παρουσιάζεται η διαδικασία επιλογής των λειτουργιών (process) που 61

62 5.4. ΝΕΑ ΣΤΟΙΧΕΙΑ ΣΥΝΘΕΣΗΣ - VHD ΑΡΧΕΙΑ θα εκτελέσει το σύστημα ανάλογα με την τιμή της control, σε VHDL. Άλλη μία λέξη ελέγχου, εσωτερική στο σύστημα, που χρησιμοποιείται και φαίνεται παρακάτω είναι η start. Δίνοντας την τιμή του λογικού 1 στην start το σύστημα ξεκινάει να επεξεργάζεται τις εισόδους Status Ο δεύτερος καταχωρητής ελέγχου που χρησιμοποιείται είναι o status. Ομοίως, είναι των 3-bit και όπως αναφέρθηκε έχει να κάνει με την κατάσταση στην οποία βρίσκεται το σύστημα μετά την εκτέλεση του. Συνδέεται άμεσα με την control και μπορεί να πάρει δύο πιθανές τιμές ανάλογα με την κατάσταση που βρίσκεται το σύστημα μετά την εκτέλεση του. Στις περιπτώσεις που τα δεδομένα εισόδου δεν επεξεργάστηκαν με τον αναμενόμενο τρόπο ή σε περίπτωση που έχει γίνει reset μέσω της control = 001, το status παίρνει την τιμή 000. Στις τρεις περιπτώσεις όπου οποιαδήποτε επιλογή λειτουργίας του συστήματος, μέσω της control, πραγματοποιήθηκε με τον αναμενόμενο τρόπο το status τίθεται στο λογικό 001. Τότε, τα αποτελέσματα έχουν εγγραφεί στις/στην FIFO/s και μπορεί να γίνει ανάγνωση από αυτές. Η επιβεβαίωση ότι το σύστημα λειτούργησε σωστά επιτυγχάνεται μέσω ελέγχου του πλήθους των τιμών που επεξεργάζονται από το σύστημα. Αν όλα τα σύμβολα επεξεργαστούν και αποθηκευτούν είτε στην μία από τις FIFO είτε και στις δύο το status τίθεται στο 001. Για επιβεβαίωση της επεξεργασίας υπάρχουν εσωτερικοί μετρητές, που δείχνουν αν έγινε επεξεργασία όλων των εισόδων. Στις περιπτώσεις που γράφονται οι V s στην SoftFifoOut ή τα σύμβολα στην HardFifoOut, και όχι και τα δύο, η status πρέπει να λάβει την τιμή 001. Αυτό σημαίνει ότι στα δύο αρχεία όπου το ένα χειρίζεται τις τάσεις V s (soft_handling.vhd) και το άλλο τα σύμβολα (hard_handling.vhd) πρέπει να υπάρχουν ξεχωριστοί μετρητές. Στην περίπτωση των τάσεων, αν το πλήθος των συμβόλων εισόδου είναι ίσο με τις 32-bit εξόδους του κυττάρου μνήμης, το status_soft_we (σχήμα 5.5) τίθεται στο λογικό 1. Αντίστοιχα, στην περίπτωση των συμβόλων, αν το πλήθος των συμβόλων εισόδου s ισούται με τα σύμβολα εξόδου ŝ, το status_hard_we (σχήμα 5.6) τίθεται στο λογικό 1. Επομένως, αν έχει επιλεγεί να εξαχθούν οι τάσεις V s μέσω της control ή τα σύμβολα ή και τα δύο, κάποιο από τα παραπάνω σήματα ή και τα δύο γίνονται 1. Τέλος, με ένα λογικό or ανάμεσα στα δύο αποφασίζεται αν θα γίνει το status = 001, το οποίο σε κάθε μία από τις τρεις περιπτώσεις δείχνει ότι το σύστημα επεξεργάστηκε τις εισόδους με τον αναμενόμενο τρόπο. 5.4 Νέα στοιχεία σύνθεσης - vhd αρχεία Για την εκτέλεση των διαδικασιών που αναφέρθηκαν περιγραφικά παραπάνω, χρειάστηκαν νέα vhd αρχεία για να χειριστούν την ροή των λειτουργιών. Αυτά είναι τα control_logic.vhd, cell_logic.vhd, hard_handling.vhd και soft_handling.vhd Χειρισμός εισόδων-εξόδων συνολικού συστήματος Το ανώτερο ιεραρχικά αρχείο, μετά το peripheral.vhd, είναι το control_logic.vhd, το οποίο αρχικοποιείται μέσα στο πρώτο. Ουσιαστικά αποτελεί τον χειριστή της υπόλοιπης σύνθεσης και προωθεί με τον κατάλληλο τρόπο τα σήματα στα υπόλοιπα αρχεία, στα 62

63 ΚΕΦΑΛΑΙΟ 5. ΣΥΣΤΗΜΑ ΕΞΟΜΟΙΩΣΗΣ MLC NAND FLASH οποία εκτελούνται οι βασικές λειτουργίες του συστήματος εξομοίωσης. Όλοι οι είσοδοι και οι έξοδοι του συστήματος, αφού περάσουν σε καταχωρητές ή FIFOs, ελέγχονται από το συγκεκριμένο αρχείο. Ουσιαστικά, το AXI4-Lite περνάει τα δεδομένα στο peripheral.vhd, αυτό μέσω του SAXILite.vhd περνάει τα δεδομένα σε καταχωρητές και στην συνέχεια αυτά περνάνε στο control_logic.vhd. Αντίστοιχα κατά την έξοδο τα δεδομένα ακολουθούν την ανάποδη πορεία. Από το control_logic.vhd περνάνε στο SAXILite.vhd, αντιστοιχούνται σε σήματα του AXI4-Lite προωθούνται στο peripheral.vhd και αυτό με την σειρά του τα στέλνει στο AXI4-Lite. Προωθεί τις συνθήκες γήρανσης µ s, σ s, U s, για όλα τα σύμβολα s καθώς και τα σύμβολα των 8-bits, που βγαίνουν ως έξοδος από την FifoIn1.xco, στο αρχείο cell_logic.vhd. Επίσης, προωθεί τις U ref στο αρχείο hard_handling.vhd, επειδή σε αυτό εκτελούνται οι συγκρίσεις με την V s, από τις οποίες προκύπτουν τα σύμβολα εξόδου ŝ. control_logic μ s (32) σ s (32) control (3) V s (32) FifoIn1 s (32) s (8) s(2) status(3) clk rst U s (32) U ref (32) Σχήμα 5.3: Οι βασικοί είσοδοι και έξοδοι του control_logic.vhd. Γίνεται εμφανές ότι το συγκεκριμένο αρχείο παίζει βασικότατο ρόλο στην λειτουργία του συστήματος. Στο παρόν αρχικοποιούνται (instantiations) και τα άλλα τρία νέα vhd αρχεία καθώς και οι δύο ενδιάμεσες FIFOs που αναφέρθηκαν παραπάνω (FifoIn2.xco, FifoIn1H.xco). Τα σήματα λειτουργίας των FIFOs αυτών προωθούνται στα αρχεία που τις χρησιμοποιούν. Η FifoIn2.xco από το cell_logic.vhd και η FifoIn1H.xco από το hard_handling.vhd. 63

64 5.4. ΝΕΑ ΣΤΟΙΧΕΙΑ ΣΥΝΘΕΣΗΣ - VHD ΑΡΧΕΙΑ Χειρισμός εισόδων κυττάρου μνήμης Ο χειρισμός των εισόδων του κυττάρου μνήμης επιτυγχάνεται μέσω του cell_logic.vhd. Το συγκεκριμένο, έχει ως εισόδους τα σήματα χειρισμού της FifoIn2.xco καθώς και τις 12 εισόδους που αποτελούν τις συνθήκες γήρανσης της κάθε κατάστασης, που φαίνονται και στο σχήμα 5.4. Οι συνθήκες γήρανσης προωθούνται μέσω του cell_logic.vhd στο κύτταρο μνήμης του κεφαλαίου 4, όπως φαίνεται και στο σχήμα 5.4. cell_logic μ s (32) σ s (32) cell FifoIn2 s (8) s (8) s (2) s (2) V s (32) clk rst U s (32) Σχήμα 5.4: Οι βασικοί είσοδοι και έξοδοι του cell_logic.vhd. Μέσω του cell_logic.vhd, εκτελείται ανάγνωση από την FifoIn1.xco η οποία έχει ως έξοδο τα σύμβολα εισόδου, σε μορφή των 8-bit. Προωθεί αυτά ως είσοδο στην FifoIn2.xco η οποία μετατρέπει τις 8-bit τιμές σε 2-bit. Έπειτα εκτελεί ανάγνωση από την FifoIn2.xco και παίρνει τα σύμβολα των 2-bit και τα περνάει ως είσοδο στο κύτταρο μνήμης (σχήμα 5.4). Πλέον, το κύτταρο μνήμης έχεις στις εισόδους του όλα τα απαραίτητα δεδομένα για την λειτουργία του (σύμβολο και συνθήκες γήρανσης) και επεξεργάζεται τα σύμβολα εισόδου παράγοντας τις V s, όπως στο κεφάλαιο Χειρισμός εξόδων κυττάρου μνήμης Υπάρχουν δύο αρχεία για τον κατάλληλο χειρισμό των εξόδων του κυττάρου μνήμης. Το soft_handling.vhd και το hard_handling.vhd. 64

65 ΚΕΦΑΛΑΙΟ 5. ΣΥΣΤΗΜΑ ΕΞΟΜΟΙΩΣΗΣ MLC NAND FLASH Χειρισμός τάσεων - soft_handling.vhd Το soft_handling.vhd είναι το πιο απλό από τα νέα αρχεία που προστέθηκαν. Έχει ως είσοδο τις 32-bit εξόδους (V s ) του κυττάρου μνήμης και ρόλος του είναι να τις προωθήσει στην FIFO εξόδου FifoSoftOut.xco, στην περίπτωση που έχουν ζητηθεί μέσω της control. Τότε, έχει τεθεί το SoftFifo_en στο 1, συγκρίνεται ο s_counter, ο οποίος περιέχει το πλήθος των συμβόλων εισόδου, με έναν εσωτερικό μετρητή του soft_handling.vhd που μετράει το πλήθος των τάσεων V s. Αν οι μετρητές είναι ίσοι το status_soft_we τίθεται στο 1 και στην συνέχεια το status παίρνει την τιμή 001, που δείχνει επιτυχής εκτέλεση του συστήματος. s_counter (32) V s (32) SoftFifo_en soft_handling FifoSoftOut V s (32) V s (32) status_soft_we clk rst Σχήμα 5.5: Οι είσοδοι και έξοδοι του soft_handling Χειρισμός συμβόλων - hard_handling.vhd Το hard_handling.vhd, εκτελεί τις απαραίτητες διαδικασίες για την εξαγωγή των συμβόλων εξόδου μέσω των τάσεων V s. s_counter (32) V s (32) U ref (32) HardFifo_en clk rst hard_handling comparator Fifo1H s(2) FifoHardOut s(8) s(32) status_hard_we Σχήμα 5.6: Οι είσοδοι και έξοδοι του hard_handling.vhd. 65

66 5.5. ΔΙΑΣΥΝΔΕΣΗ ΤΩΝ ΝΕΩΝ ΑΡΧΕΙΩΝ Στην σύνθεση του κεφαλαίου 4 το κύτταρο μνήμης εκτελούσε τις απαραίτητες συγκρίσεις για την απόφαση των συμβόλων εξόδου. Σε αυτό το στάδιο, οι συγκριτές έχουν ενσωματωθεί στο hard_handling.vhd και ο χειρισμός των συμβόλων γίνεται εξολοκλήρου μέσω αυτού. Ομοίως με το κεφάλαιο 4, συγκρίνοντας τις τάσεις αναφοράς U ref με τις τάσεις V s, προκύπτει το σύμβολο εξόδου ŝ. Επίσης, όπως αναφέρθηκε, στις περιπτώσεις που το σύστημα χρειάζεται τα σύμβολα εξόδου, το HardFifo_en τίθεται στο 1 και συγκρίνεται ο s_counter με έναν εσωτερικό μετρητή που μετράει τα σύμβολα που προέκυψαν από τον comparator. Όταν οι μετρητές είναι ίσοι, τίθεται το status_hard_we στο 1 και δείχνει ότι χρησιμοποιήθηκαν όλες οι V s για την εύρεση των συμβόλων εξόδου ŝ. Στην περίπτωση που status_hard_we= 1, το status παίρνει την τιμή Διασύνδεση των νέων αρχείων Στο σχήμα 5.7 παρουσιάζονται ο τρόπος διασύνδεσης των νέων vhd αρχείων καθώς και των νέων IP Cores, που παρουσιάστηκαν παραπάνω. FifoIn1 s(8) μ s1 (32) μ s2 (32) μ s3 (32) μ s4 (32) σ s1 (32) σ s2 (32) σ s3 (32) σ s4 (32) U s1 (32) U s2 (32) U s3 (32) U s4 (32) control_logic cell_logic Mux Mux Mux FifoIn2 s(2) s(8) cell μ s (32) σ s (32) V s (32) U s (32) SoftFifo_en HardFifo_en soft_handling hard_handling comparator Fifo1H s(2) V s (32) status_soft_we OR status_hard_we s(8) FifoSoftOut status FifoHardOut U ref1 (32) U ref2 (32) U ref3 (32) control(3) Σχήμα 5.7: Διασύνδεση των αρχείων control_logic.vhd, cell_logic.vhd, soft_handling.vhd και hard_handling.vhd. Όπως παρουσιάζεται στο σχήμα 5.7, τα σύμβολα (εισάγονται ανά 8-bits) και όλες οι συνθήκες γήρανσης του κάθε συμβόλου εισάγονται στο control_logic.vhd. Οι συνθήκες γήρανσης των συμβόλων και τα σύμβολα προωθούνται στο cell_logic.vhd, το οποίο περιλαμβάνει το κύτταρο μνήμης του κεφαλαίου 4. Τα σύμβολα, σε μορφή των 8-bits, εισάγονται στην FiFoIn2 από την οποία εξάγονται ανά 2-bits προκειμένου να αναγνωριστεί το κάθε σύμβολο. Αφού πραγματοποιηθεί η αναγνώριση του συμβόλου, με χρήση των Multiplexers (Mux) αντιστοιχίζονται οι παράμετροι στους καταχωρητές µ s, σ s και U s και προωθούνται στο κύτταρο μνήμης (cell). Το s(2) χρησιμοποιείται για την απόφαση των συνθηκών γήρανσης, ανάλογα με το σύμβολο εισόδου (11,10,01,00). 66

67 ΚΕΦΑΛΑΙΟ 5. ΣΥΣΤΗΜΑ ΕΞΟΜΟΙΩΣΗΣ MLC NAND FLASH Το cell επεξεργάζεται τις εισόδους του και παράγει τις V s. Προωθούνται στα soft_handling.vhd και hard_handling.vhd και ανάλογα με την control, η εκτέλεση του συστήματος παράγει και αποθηκεύει και τις δύο μορφές δεδομένων ή μόνο την μία από αυτές. Το soft_handling.vhd, για τιμή της control που έχουν ζητηθεί οι V s, προωθεί και αποθηκεύει τα δεδομένα στην FifoSoftOut και με έλεγχο των μετρητών που προαναφέρθηκαν θέτει το status_soft_we, στις περιπτώσεις που οι μετρητές είναι ίσοι, σε λογικό 1. Το hard_handling.vhd, για τιμή της control που ζητούνται τα σύμβολα, παίρνει ως είσοδο τις τάσεις V s και χρησιμοποιώντας τις U ref και τους comparators αποφασίζει για τα σύμβολα εξόδου. Έπειτα προωθεί τα σύμβολα εξόδου ŝ στην FifoHardOut για αποθήκευση. Τέλος, ομοίως με το soft_handling.vhd, ελέγχονται οι μετρητές ώστε να τεθεί το status_hard_we σε λογικό Διευθυνσιοδότηση εισόδων-εξόδων Οι βασικοί είσοδοι και έξοδοι του συστήματος είναι ίδιες με αυτές του control_logic. Λόγω του ότι οι είσοδοι και οι έξοδοι μπορούν να μοιραστούν τις ίδιες διευθύνσεις, χρειάζονται 17 διαφορετικές διευθύνσεις για την διευθυνσιοδότηση όλων των εισόδων και εξόδων. Στον πίνακα 5.2 παρουσιάζονται οι 20 είσοδοι και έξοδοι του συστήματος και η διεύθυνση που αντιστοιχεί η καθεμία. Διεύθυνση Είσοδος Έξοδος 0x68C00000 µ s1 status 0x68C00004 µ s2 symboloutfifo 0x68C00008 µ s3 softoutfifo 0x68C0000C µ s4-0x68c00010 σ s1-0x68c00014 σ s2-0x68c00018 σ s3-0x68c0001c σ s4-0x68c00020 control - 0x68C00024 fifoin - 0x68C00028 U s1-0x68c0002c U s2-0x68c00030 U s3-0x68c00034 U s4-0x68c00038 U ref1-0x68c0003c U ref2-0x68c00040 U ref3 - Πίνακας 5.3: Πίνακας διευθυνσιοδότησης εισόδων και εξόδων. 67

68 5.7. ΕΛΕΓΧΟΣ ΣΥΣΤΗΜΑΤΟΣ 5.7 Έλεγχος συστήματος Για επιβεβαίωση της σωστής λειτουργίας του συστήματος εξομοίωσης, χρησιμοποιούνται οι mean(), std() και normplot συναρτήσεις του Matlab. Επίσης πραγματοποιείται έλεγχος με την RMSE για να επιβεβαιωθεί ότι το σύστημα ανταποκρίνεται στα αποτελέσματα του μοντέλου Έλεγχος με normplot() Η normplot χρησιμοποιείται για να επιβεβαιωθεί ότι οι τάσεις V s ακολουθούν την γκαουσιανή κατανομή. Ο έλεγχος πραγματοποιήθηκε για κατανομές με χαρακτηριστικά θορύβου του πίνακα 4.3. Για κάθε ένα από τα 4 σύμβολα (direct mapping) εφαρμόστηκε η normplot(), στις κατανομές των τάσεων, και τα αποτελέσματα φαίνονται στα παρακάτω σχήματα. Για το σύμβολο 11 Σχήμα 5.8: Εφαρμογή της normplot() στις κατανομές των τάσεων για το σύμβολο 11. Για το σύμβολο 10 Σχήμα 5.9: Εφαρμογή της normplot() στην κατανομή τάσεων του συμβόλου

69 ΚΕΦΑΛΑΙΟ 5. ΣΥΣΤΗΜΑ ΕΞΟΜΟΙΩΣΗΣ MLC NAND FLASH Για το σύμβολο 01 Σχήμα 5.10: Εφαρμογή της normplot() στην κατανομή τάσεων του συμβόλου 10. Για το σύμβολο 00 Σχήμα 5.11: Εφαρμογή της normplot() στην κατανομή τάσεων του συμβόλου Έλεγχος με RMSE Με χρήση της RMSE συνάρτησης, που χρησιμοποιήθηκε και στο κεφάλαιο 4, συγκρίθηκε το σύστημα εξομοίωσης με το μοντέλο του κεφαλαίου 2 και προέκυψε: RMSE = το οποίο λόγω της μικρής τιμής του RMSE αποδεικνύεται ότι η λειτουργία του συστήματος συμφωνεί με αυτή του μοντέλου. 69

70 5.7. ΕΛΕΓΧΟΣ ΣΥΣΤΗΜΑΤΟΣ Έλεγχος με mean() και std() Ο παρακάτω πίνακας δείχνει τα αποτελέσματα των mean() και std() επι των κατανομών των τάσεων εξόδου του συστήματος εξομοίωσης για 1 εκατομμύριο ισόποσα μοιρασμένα σύμβολα, καθώς και τις αρχικές τιμές της μέσης τιμής και διακύμανσης που χρησιμοποιήθηκαν ως είσοδοι κατά την εκτέλεση του συστήματος. Χαρακτηριστικά θορύβου Επιβεβαίωση αποτελεσμάτων Σύμβολο(s) µ s + U s εισόδου σ s εισόδου µ s +U s μέτρησης σ s μέτρησης Πίνακας 5.4: Εφαρμογή των mean() και std() στις γκαουσιανές του κυττάρου μνήμης. Με τον παραπάνω έλεγχο επιβεβαιώνεται ότι η παραμετροποίηση του συστήματος ως προς τις συνθήκες γήρανσης είναι επιτυχής, καθώς τα χαρακτηριστικά θορύβου που εισάγονται στο σύστημα συγκριτικά με αυτά που μετρώνται από τις V s είναι σχεδόν ίδια. 70

71 Κεφάλαιο 6 Εκτέλεση - Πειράματα 6.1 Εκτέλεση συστήματος - SDK Η εκτέλεση του συστήματος πραγματοποιείται μέσω της πλατφόρμας SDK της Xilinx. Το SDK επικοινωνεί με ένα πρόγραμμα που ονομάζεται TeraTerm, για εμφάνιση και αποθήκευση των αποτελεσμάτων. Το SDK συνδέεται με το πρόγραμμα PlanAhead (που ανήκει στην πλατφόρμα Xilinx Design Suite), το οποίο μέσω της επιλογής Generate Bitstream, δημιουργεί τον εκτελέσιμο κώδικα της προγραμματιζόμενης λογικής και τον αποθηκεύει σε αρχείο με όνομα system.bit. Το αρχείο αυτό προωθείται στο SDK, το οποίο μέσω της επιλογής Program FPGA κατεβάζει το system.bit στο ZedBoard. Για την εκτέλεση της προγραμματιζόμενης λογικής χρησιμοποιείται γλώσσα C χαμηλού. Μέσω τις C δίνονται οι τιμές στις εισόδους του συστήματος, επιλέγεται ο τρόπος εκτέλεσης αυτού καθώς και η διαδικασία ανάγνωσης των εξόδων. Τέλος, με επιλογή της εντολής run (εκτέλεση) του SDK, κατεβαίνει ό κώδικας C στον ARM, εκτελείται το σύστημα και εμφανίζονται τα αποτελέσματα στο TeraTerm. Το σύστημα εξομοίωσης παραμένει διαθέσιμο στο ZedBoard για διαδοχικές εκτελέσεις χωρίς να υπάρχει η ανάγκη reset του ZedBoard μετά από κάθε νέα αλλαγή του κώδικα C. Έτσι, τα πειράματα εκτελούνται με ευκολία καθώς το μόνο που χρειάζεται να γίνει σε κάθε νέα εκτέλεση είναι να αλλάξει ο κώδικας C και να αποθηκευτεί (save) Πειράματα Τα πειράματα που εκτελούνται για την εξαγωγή συμπερασμάτων σχετικά με την γήρανση της MLC NAND Flash μνήμης, είναι δύο ειδών και διαφοροποιούνται ως προς τον τύπο εξόδου. Όπως εξηγείται και παραπάνω, το σύστημα εξάγει δύο μορφές δεδομένων. Τις τάσεις V s του κυττάρου μνήμης και τα σύμβολα εξόδου που προκύπτουν από αυτές. Η πορεία εκτέλεσης των πειραμάτων, άσχετα με τον τύπο πειράματος που εκτελείται, είναι η παρακάτω: 1) Εισάγεται τιμή στην control ανάλογα με το είδος εκτέλεσης του συστήματος που απαιτείται. 2) Ελέγχεται η status για επιβεβαίωση της σωστής εκτέλεσης του συστήματος και αποθήκευσης των εξόδων στην/στις FIFO/s (στις περιπτώσεις εκτελέσεων που δεν γίνεται μόνο reset) 71

72 6.1. ΕΚΤΕΛΕΣΗ ΣΥΣΤΗΜΑΤΟΣ - SDK 3) Τέλος, αφού γίνει η επιβεβαίωση ότι υπάρχουν δεδομένα στην έξοδο μέσω της status, εκτελείται ανάγνωση σύμφωνα με την τιμής της control. Δηλαδή, για control = 0x εμφανίζονται οι εγγραφές και των δύο FIFOs στο TeraTerm ακολουθιακά, ενώ για control = 0x ή control = 0x εμφανίζονται οι εγγραφές της SymbolOutFifo ή της SoftOutFifo αντίστοιχα Πείραμα τάσεων Για την εκτέλεση του πειράματος τάσεων, το σύστημα εξομοίωσης εκτελείται για κύτταρο μνήμης: 1. σε αρχική κατάσταση (πριν την γήρανση) 2. σε κατάσταση μετά από γήρανση Για κάθε μία από τις δύο καταστάσεις του κυττάρου μνήμης επεξεργάζονται 1 εκατομμύριο σύμβολα. Λόγω του μεγέθους των FIFOs που παρουσιάζεται στον πίνακα 5.2, συμπεραίνεται ότι μία είσοδος των 32-bits είναι 16 σύμβολα (2-bits 1 σύμβολο). Επομένως για 1024 εισόδους των 32-bits, δημιουργούνται τάσεις V s που σημαίνει ότι έχουν επεξεργαστεί σύμβολα. Έτσι, προκύπτει ότι το σύστημα πρέπει να εκτελεστεί γύρω στις 62 φορές για να έχουν χρησιμοποιηθεί 1 Msymbols για την εκτέλεση του πειράματος. Χρησιμοποιώντας μία FOR στον κώδικα C επιτυγχάνεται η επαναληπτική εκτέλεση του συστήματος. Στον καταχωρητή control δίνεται η τιμή με την οποία εμφανίζονται μόνο οι τάσεις V s, δηλαδή η 100. Παράλληλα με τις κατανομές του συστήματος εξομοίωσης παρατίθενται και οι κατανομές του μοντέλου, για τα ίδια χαρακτηριστικά θορύβου. Τα χαρακτηριστικά θορύβου του κυττάρου μνήμης στις δύο περιπτώσεις είναι τα παρακάτω: Κύτταρο μνήμης σε αρχική κατάσταση Direct Mapping Διακύμανση = 4σ = σ = σ = 2σ Μέση τιμή Τάση Κατωφλίου Πίνακας 6.1: Χαρακτηριστικά θορύβου για κύτταρο μνήμης που βρίσκεται σε κατάσταση πριν την γήρανση. 72

73 ΚΕΦΑΛΑΙΟ 6. ΕΚΤΕΛΕΣΗ - ΠΕΙΡΑΜΑΤΑ Κύτταρο μνήμης μετά από γήρανση Direct Mapping Διακύμανση Μέση τιμή Τάση Κατωφλίου Πίνακας 6.2: Χαρακτηριστικά θορύβου για κύτταρο μνήμης που βρίσκεται σε κατάσταση γήρανσης. Για το κύτταρο μνήμης σε κατάσταση γήρανσης, οι τιμές της διακύμανσης προέκυψαν με αύξηση κατά της αρχικής διακύμανσης (0.0075) και έπειτα με πολλαπλασιασμό επί 4 και επί 2 στις καταστάσεις 11 και 00 αντίστοιχα. Η διαδικασία εκτέλεσης του πειράματος είναι αυτοματοποιημένη και ως προς διακύμανση. Το σ s έχει επιλεχθεί να ακολουθεί την μορφή 4σ σ σ 2σ για τα σύμβολα 11, 10, 01, 00, αντίστοιχα. Δίνοντας αρχική τιμή στο σ, στο αρχείο C του SDK, αντιστοιχούνται αυτόματα οι σωστές τιμές της διακύμανσης για το κάθε σύμβολο του κυττάρου μνήμης. Θεωρητικές κατανομές σε αρχ. κατάσταση Πειραματικές κατανομές σε αρχ. κατάσταση Θεωρητικές κατανομές με γήρανση Πειραματικές κατανομές με γήρανση Σχήμα 6.1: Παράλληλη παρουσίαση των κατανομών του μοντέλου με του συστήματος εξομοίωσης για δύο καταστάσεις του κυττάρου μνήμης. Στο σχήμα 6.1 παρουσιάζονται οι κατανομές των τάσεων των δύο καταστάσεων του κυττάρου μνήμης για το σύστημα εξομοίωσης καθώς και για το μοντέλο. Οι πειραματικές κατανομές, για αρχική κατάσταση του κυττάρου μνήμης, που ενδείκνυνται με κόκκινο χρώμα, ταυτίζονται σε μεγάλο ποσοστό με τις θεωρητικές κατανομές και δεν είναι ευδιάκριτες. Συμπέρασμα αυτού, είναι ότι το σύστημα εξομοίωσης ακολουθεί σε μεγάλο 73

74 Ρυθμός bit-σφαλμάτων (BER) 6.1. ΕΚΤΕΛΕΣΗ ΣΥΣΤΗΜΑΤΟΣ - SDK βαθμό τα χαρακτηριστικά του μοντέλου MLC NAND Flash. Ομοίως, και στις κατανομές κυττάρου μνήμης με γήρανση οι κατανομές του μοντέλου με αυτές του συστήματος εξομοίωσης σχεδόν ταυτίζονται. Παρατηρείται ότι στην αρχική κατάσταση οι τάσεις είναι διαχωρισμένες ευκρινώς και αντιστοιχούνται σωστά στις ιδανικές τάσεις κατωφλίου. Καθώς οι συνθήκες γήρανσης αυξάνονται παρατηρείται μετατόπιση των κατανομών και διασπορά τους στον άξονα των τάσεων. Πλέον η ιδανική τάση κατωφλίου δεν αντιστοιχεί στο αρχικό επίπεδο το οποίο προκαλεί σφάλματα κατά την ανάγνωση Πείραμα συμβόλων - BER Για τα σύμβολα εξόδου ŝ, το πείραμα που εκτελείται αποσκοπεί στην κατασκευή ενός διαγράμματος BER (Bit-error-rate), το οποίο παρουσιάζει την αύξηση των σφαλμάτων ανάγνωσης καθώς αυξάνεται η διακύμανση (σ s ). Η μέση τιμή είναι 0 κατά την εκτέλεση του πειράματος. Οι τιμές της διακύμανσης που χρησιμοποιούνται είναι από έως 0.16 με βήμα Για κάθε τιμή διακύμανσης χρησιμοποιούνται 256K σύμβολα. Η τιμή επιλέχθηκε επειδή είναι η πρώτη τιμή που αρχίζει το κύτταρο μνήμης να εμφανίζει bitσφάλματα. Συνολικά οι διαφορετικές τιμές διακύμανσης που χρησιμοποιούνται για το πείραμα είναι 149. Οι τιμές αυτές του σ αποθηκεύονται όλες σε ένα πίνακα στην C προκειμένου να αυτοματοποιηθεί η διαδικασία εκτέλεσης του πειράματος. Έπειτα, τα σύμβολα εξόδου ŝ του συστήματος για όλες τις τιμές του σ αποθηκεύονται σε αρχείο txt, καθώς το επόμενο βήμα του συγκεκριμένου πειράματος είναι να περάσουν τα σύμβολα εξόδου στο Matlab. Το μέγεθος της FIFO εισόδου έχει επιλεχτεί στις 1024 τιμές των 32-bits, το οποίο συνεπάγεται ότι το σύνολο των συμβόλων εξόδου που χρησιμοποιούνται για το πείραμα είναι = , το οποίο συμβολίζει πλήθος αναγνώσεων από την MLC NAND Flash. Επειδή το πείραμα αποσκοπεί στην εύρεση του BER το οποίο αναφέρεται σε bit προς bit σφάλμα, αξίζει να αναφερθεί ότι συνολικά συγκρίνονται bits. Το διάγραμμα που προκύπτει από την εκτέλεση του συστήματος είναι το παρακάτω: Διακύμανση Σχήμα 6.2: Ρυθμός bit-σφαλμάτων(ber) του συστήματος εξομοίωσης. 74

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Μάθημα 4.5 Η Μνήμη - Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Όταν ολοκληρώσεις το μάθημα αυτό θα μπορείς: Να αναφέρεις τα κυριότερα είδη μνήμης

Διαβάστε περισσότερα

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

Διαβάστε περισσότερα

Μελλοντικές Κατευθύνσεις

Μελλοντικές Κατευθύνσεις Ψηφιακά Ηλεκτρονικά Μελλοντικές Κατευθύνσεις.Λιούπης Ψηφιακά Ηλεκτρονικά Μελλοντικές Κατευθύνσεις 1 Ψηφιακά Ηλεκτρονικά Μελλοντικές Κατευθύνσεις 2 Σύγχρονα Τρανζίστορ Αύξηση της απόδοσης Μίγµα silicon

Διαβάστε περισσότερα

.Λιούπης. Ψηφιακά Ηλεκτρονικά - Ηµιαγωγικές Μνήµες 1

.Λιούπης. Ψηφιακά Ηλεκτρονικά - Ηµιαγωγικές Μνήµες 1 Ψηφιακά Ηλεκτρονικά Ηµιαγωγικές µνήµες.λιούπης Ψηφιακά Ηλεκτρονικά - Ηµιαγωγικές Μνήµες 1 Τυπική εσωτερική οργάνωση µνήµης γραµµές λέξης wordlines () κύκλωµα προφόρτισης (pre-charge circuit) γραµµές ψηφίου

Διαβάστε περισσότερα

Mέσα στερεάς κατάστασης

Mέσα στερεάς κατάστασης Πηγή: http://www.ipet.gr Mέσα στερεάς κατάστασης Τα αποθηκευτικά μέσα στερεής κατάστασης είναι συσκευές αποθήκευσης δεδομένων κλειστού τύπου, χωρίς κινούμενα μέρη, στις οποίες τα δεδομένα αποθηκεύονται

Διαβάστε περισσότερα

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. ΚΕΦΑΛΑΙΟ 4ο ΜΝΗΜΕΣ. (c) Αμπατζόγλου Γιάννης, Ηλεκτρονικός Μηχανικός, καθηγητής ΠΕ17

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. ΚΕΦΑΛΑΙΟ 4ο ΜΝΗΜΕΣ. (c) Αμπατζόγλου Γιάννης, Ηλεκτρονικός Μηχανικός, καθηγητής ΠΕ17 ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 4ο ΜΝΗΜΕΣ Μνήμες (Memory) - Είναι ημιαγώγιμα κυκλώματα που μπορούν να αποθηκεύσουν ένα σύνολο από δυαδικά ψηφία (bit). - Μια μνήμη αποθηκεύει λέξεις (σειρές από bit). - Σε κάθε

Διαβάστε περισσότερα

Μνήμη και Προγραμματίσιμη Λογική

Μνήμη και Προγραμματίσιμη Λογική Μνήμη και Προγραμματίσιμη Λογική Η μονάδα μνήμης είναι ένα στοιχείο κυκλώματος στο οποίο μεταφέρονται ψηφιακές πληροφορίες προς αποθήκευση και από το οποίο μπορούμε να εξάγουμε αποθηκευμένες πληροφορίες

Διαβάστε περισσότερα

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

Διαβάστε περισσότερα

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 5 : Η Εσωτερική Μνήμη Καρβούνης Ευάγγελος Τρίτη, 01/12/2015 Οι τύποι μνήμης με ημιαγωγούς 2 2 Η λειτουργία

Διαβάστε περισσότερα

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Τεχνολογίες Κύριας (και η ανάγκη για χρήση ιεραρχιών μνήμης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης i Στα σύγχρονα

Διαβάστε περισσότερα

Τεχνολογίες Κύριας Μνήμης

Τεχνολογίες Κύριας Μνήμης Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Τεχνολογίες Κύριας (και η ανάγκη για χρήση ιεραρχιών μνήμης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κύρια Μνήμη

Διαβάστε περισσότερα

4/10/2008. Στατικές πύλες CMOS και πύλες με τρανζίστορ διέλευσης. Πραγματικά τρανζίστορ. Ψηφιακή λειτουργία. Κανόνες ψηφιακής λειτουργίας

4/10/2008. Στατικές πύλες CMOS και πύλες με τρανζίστορ διέλευσης. Πραγματικά τρανζίστορ. Ψηφιακή λειτουργία. Κανόνες ψηφιακής λειτουργίας 2 η διάλεξη 25 Σεπτεμβρίου Πραγματικά τρανζίστορ Στατικές πύλες CMOS και πύλες με τρανζίστορ διέλευσης Γιώργος Δημητρακόπουλος Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Η τάση στο gate του τρανζίστορ

Διαβάστε περισσότερα

Δομή Ηλεκτρονικού υπολογιστή

Δομή Ηλεκτρονικού υπολογιστή Δομή Ηλεκτρονικού υπολογιστή Η κλασσική δομή του μοντέλου που πρότεινε το 1948 ο Von Neumann Κεντρική Μονάδα Επεξεργασίας Είσοδος Αποθήκη Αποθήκη - Έξοδος Εντολών Δεδομένων Κλασσικό μοντέλο Von Neumann

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ. Εργαστήριο 8 ο. Αποδιαμόρφωση PAM-PPM με προσαρμοσμένα φίλτρα

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ. Εργαστήριο 8 ο. Αποδιαμόρφωση PAM-PPM με προσαρμοσμένα φίλτρα Τμήμα Πληροφορικής και Τηλεπικοινωνιών ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ ΨΗΦΙΑΚΕΣ ΕΠΙΚΟΙΝΩΝΙΕΣ Εργαστήριο 8 ο Αποδιαμόρφωση PAM-PPM με προσαρμοσμένα φίλτρα Βασική Θεωρία Σε ένα σύστημα μετάδοσης

Διαβάστε περισσότερα

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 17: Αναδιατασσόµενη Λογική Προγραµµατιζόµενο Υλικό

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 17: Αναδιατασσόµενη Λογική Προγραµµατιζόµενο Υλικό ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 17: Αναδιατασσόµενη Λογική Προγραµµατιζόµενο Υλικό ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) Προγραµµατιζόµενες

Διαβάστε περισσότερα

Ψηφιακή Λογική Σχεδίαση

Ψηφιακή Λογική Σχεδίαση Ψηφιακή Λογική Σχεδίαση Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σημείωμα Αδειοδότησης Το παρόν

Διαβάστε περισσότερα

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, 2016-2017 ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Μικροϋπολογιστής Υπολογιστής που χρησιμοποιείται για την είσοδο, επεξεργασία και έξοδο πληροφοριών. Είδη μικροϋπολογιστών:

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008 Τεχνολογία Ι Θεωρητικής Κατεύθυνσης Τεχνικών Σχολών Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Προγραμματιζόμενη Λογική Γιατί;

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Προγραμματιζόμενη Λογική Γιατί; ΗΜΥ 20: Σχεδιασμός Ψηφιακών Συστημάτων Αυγ- ΗΜΥ-20: Σχεδιασμός Ψηφιακών Συστημάτων Συνδυαστικές Λογικές ιατάξεις Διδάσκουσα: Μαρία Κ. Μιχαήλ Περίληψη Λογικές ιατάξεις (Programmable Logic Devices PLDs)

Διαβάστε περισσότερα

Οργάνωση Υπολογιστών (ΙI)

Οργάνωση Υπολογιστών (ΙI) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Οργάνωση Υπολογιστών (ΙI) (κύρια και κρυφή μνήμη) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Ένα τυπικό

Διαβάστε περισσότερα

Μνήμες RAM. Διάλεξη 12

Μνήμες RAM. Διάλεξη 12 Μνήμες RAM Διάλεξη 12 Δομή της διάλεξης Εισαγωγή Κύτταρα Στατικής Μνήμης Κύτταρα Δυναμικής Μνήμης Αισθητήριοι Ενισχυτές Αποκωδικοποιητές Διευθύνσεων Ασκήσεις 2 Μνήμες RAM Εισαγωγή 3 Μνήμες RAM RAM: μνήμη

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών 1 Οργάνωση υπολογιστών ΚΜΕ Κύρια Μνήμη Υποσύστημα εισόδου/εξόδου 2 Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) R1 R2 ΑΛΜ

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Τμήμα Πληροφορικής και Τηλεπικοινωνιών ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ ΨΗΦΙΑΚΕΣ ΕΠΙΚΟΙΝΩΝΙΕΣ Εργαστήριο 6 ο : Διαμόρφωση Θέσης Παλμών Βασική Θεωρία Μ-αδική Διαμόρφωση Παλμών Κατά την μετατροπή

Διαβάστε περισσότερα

Διαφορές single-processor αρχιτεκτονικών και SoCs

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

Διαβάστε περισσότερα

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI)

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 015-16 Οργάνωση Υπολογιστών (ΙI) (κύρια και ) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα τυπικό υπολογιστικό

Διαβάστε περισσότερα

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5. Ρυθμίζοντας τη Φορά Περιστροφής. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5. Ρυθμίζοντας τη Φορά Περιστροφής. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Σκοπός Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5 Ρυθμίζοντας τη Φορά Περιστροφής DC Κινητήρα. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Βασική δομή ενός προγράμματος στο LabVIEW. Εμπρόσθιο Πλαίσιο (front

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Σχολή Θετικών Επιστημών Τεχνολογίας Τηλεπικοινωνιών Τμήμα Επιστήμης και Τεχνολογίας Τηλεπικοινωνιών ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΠΙΚΟΙΝΩΝΙΕΣ ΙI Εργαστήριο 5 ο : Προσαρμοσμένα Φίλτρα Βασική

Διαβάστε περισσότερα

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Μονάδες Μνήμης και Διατάξεις Προγραμματιζόμενης Λογικής

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Μονάδες Μνήμης και Διατάξεις Προγραμματιζόμενης Λογικής Πανεπιστήμιο Πατρών Τμήμα Φυσικής Ψηφιακά Ηλεκτρονικά Μονάδες Μνήμης και Επιμέλεια Διαφανειών: Δ. Μπακάλης Πάτρα, Φεβρουάριος 2009 Μονάδες Μνήμης - Προγραμματιζόμενη Λογική Μια μονάδα μνήμης είναι ένα

Διαβάστε περισσότερα

ΘΕΜΑ : ΗΛΕΚΤΡΟΝΙΚΗ ΜΝΗΜΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ. ΔΙΑΡΚΕΙΑ: 1 περίοδος

ΘΕΜΑ : ΗΛΕΚΤΡΟΝΙΚΗ ΜΝΗΜΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ. ΔΙΑΡΚΕΙΑ: 1 περίοδος ΘΕΜΑ : ΗΛΕΚΤΡΟΝΙΚΗ ΜΝΗΜΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ ΔΙΑΡΚΕΙΑ: 1 περίοδος Σε αυτό το μάθημα θα μάθετε να: 1. Αναφέρετε τα διάφορα είδη μνήμης και συσκευές που τις περιέχουν. 2. Περιγράφετε τα σημαντικά χαρακτηριστικά

Διαβάστε περισσότερα

Ψηφιακή Σχεδίαση Ενότητα 11:

Ψηφιακή Σχεδίαση Ενότητα 11: Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Ψηφιακή Σχεδίαση Ενότητα 11: Μνήμη και Προγραμματίσιμη Λογική Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Πλεονεκτήματα MPSoC Είναι ευκολότερο να σχεδιαστούν πολλαπλοί πυρήνες επεξεργαστών από τον σχεδιασμό ενός ισχυρότερου και πολύ πιο σύνθετου μονού επεξεργαστή.

Διαβάστε περισσότερα

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ Εργαστήριο Σχεδίασης Ψηφιακών Ολοκληρωμένων Κυκλωμάτων και Συστημάτων «Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο 2016-2017 Διάλεξη 5 η :

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Σχολή Θετικών Επιστημών Τεχνολογίας Τηλεπικοινωνιών Τμήμα Επιστήμης και Τεχνολογίας Τηλεπικοινωνιών ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΠΙΚΟΙΝΩΝΙΕΣ ΙI Εργαστήριο 7 ο : Διαμόρφωση Θέσης Παλμών

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

Οργάνωση Υπολογιστών (IΙI)

Οργάνωση Υπολογιστών (IΙI) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Οργάνωση Υπολογιστών (IΙI) (συσκευές εισόδου-εξόδου) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Ένα τυπικό

Διαβάστε περισσότερα

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Οργάνωση υπολογιστών ΚΜΕ Κύρια Μνήμη Υποσύστημα εισόδου/εξόδου Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) R1 R2 ΑΛΜ R3 I Καταχωρητές PC Κεντρική Μονάδα Επεξεργασίας Αριθμητική και λογική μονάδα

Διαβάστε περισσότερα

Συστήματα σε Ολοκληρωμένα Κυκλώματα

Συστήματα σε Ολοκληρωμένα Κυκλώματα Συστήματα σε Ολοκληρωμένα Κυκλώματα Κεφάλαιο 2: Τεχνικές για Σχεδιασμό Χαμηλής Κατανάλωσης Ισχύος στα MPSoCs Διδάσκων: Καθηγητής Οδυσσέας Κουφοπαύλου Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Σχολή Θετικών Επιστημών Τεχνολογίας Τηλεπικοινωνιών Τμήμα Επιστήμης και Τεχνολογίας Τηλεπικοινωνιών ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΠΙΚΟΙΝΩΝΙΕΣ ΙI Εργαστήριο 8 ο : Προσαρμοσμένα Φίλτρα Βασική

Διαβάστε περισσότερα

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) Συσκευές αποθήκευσης Ένας υπολογιστής προκειµένου να αποθηκεύσει δεδοµένα χρησιµοποιεί δύο τρόπους αποθήκευσης: Την Κύρια Μνήµη Τις συσκευές µόνιµης αποθήκευσης (δευτερεύουσα

Διαβάστε περισσότερα

Συστοιχία Επιτόπια Προγραμματιζόμενων Πυλών Field Programmable Gate Arrays (FPGAs)

Συστοιχία Επιτόπια Προγραμματιζόμενων Πυλών Field Programmable Gate Arrays (FPGAs) Συστοιχία Επιτόπια Προγραμματιζόμενων Πυλών Field Programmable Gate Arrays (FPGAs) Οι προγραμματιζόμενες λογικές διατάξεις (PLDs Programmable Logic Devices) είναι ψηφιακά ολοκληρωμένα κυκλώματα (ICs) που

Διαβάστε περισσότερα

5 η Θεµατική Ενότητα : Μνήµη & Προγραµµατιζόµενη Λογική. Επιµέλεια διαφανειών: Χρ. Καβουσιανός

5 η Θεµατική Ενότητα : Μνήµη & Προγραµµατιζόµενη Λογική. Επιµέλεια διαφανειών: Χρ. Καβουσιανός 5 η Θεµατική Ενότητα : Μνήµη & Προγραµµατιζόµενη Λογική Επιµέλεια διαφανειών: Χρ. Καβουσιανός Μνήµη Η µνήµη καταλαµβάνει το µεγαλύτερο µέρος ενός υπολογιστικού συστήµατος Δύο τύποι: ROM - RAM RΟΜs CPU

Διαβάστε περισσότερα

ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ. Δρ. Δ. Λαμπάκης (8 η σειρά διαφανειών)

ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ. Δρ. Δ. Λαμπάκης (8 η σειρά διαφανειών) ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ Δρ. Δ. Λαμπάκης (8 η σειρά διαφανειών) Τα μοντέρνα ψηφιακά κυκλώματα (λογικές πύλες, μνήμες, επεξεργαστές και άλλα σύνθετα κυκλώματα) υλοποιούνται σήμερα

Διαβάστε περισσότερα

ΣΤΑΤΙΚΕΣ ΚΑΙ ΔΥΝΑΜΙΚΕΣ ΜΝΗΜΕΣ ΤΥΧΑΙΑΣ ΠΡΟΣΠΕΛΑΣΗΣ (Static and Dynamic RAMs). ΔΙΑΡΘΡΩΣΗ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ

ΣΤΑΤΙΚΕΣ ΚΑΙ ΔΥΝΑΜΙΚΕΣ ΜΝΗΜΕΣ ΤΥΧΑΙΑΣ ΠΡΟΣΠΕΛΑΣΗΣ (Static and Dynamic RAMs). ΔΙΑΡΘΡΩΣΗ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ ΣΤΑΤΙΚΕΣ ΚΑΙ ΔΥΝΑΜΙΚΕΣ ΜΝΗΜΕΣ ΤΥΧΑΙΑΣ ΠΡΟΣΠΕΛΑΣΗΣ (Static and Dynamic RAMs). ΔΙΑΡΘΡΩΣΗ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΗΜΙΑΓΩΓΙΚΩΝ ΜΝΗΜΩΝ. ΒΑΣΙΚΗ ΛΕΙΤΟΥΡΓΙΑ RAM CMOS. ΤΥΠΟΙ ΚΥΤΤΑΡΩΝ ΑΡΧΕΣ

Διαβάστε περισσότερα

Τεχνολογία μνημών Ημιαγωγικές μνήμες Μνήμες που προσπελαύνονται με διευθύνσεις:

Τεχνολογία μνημών Ημιαγωγικές μνήμες Μνήμες που προσπελαύνονται με διευθύνσεις: Σύστημα μνήμης Ο κύριος σκοπός στο σχεδιασμό ενός συστήματος μνήμης είναι να προσφέρουμε επαρκή χωρητικότητα αποθήκευσης διατηρώντας ένα αποδεκτό επίπεδο μέσης απόδοσης και επίσης χαμηλό μέσο κόστος ανά

Διαβάστε περισσότερα

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 5 : Η Εσωτερική Μνήμη Φώτης Βαρζιώτης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

Σχετικά με το μάθημα. Ο Υπολογιστής Η γενική εικόνα. Η μνήμη. Ενότητες μαθήματος. Εισαγωγή στους Υπολογιστές. Βιβλία για το μάθημα

Σχετικά με το μάθημα. Ο Υπολογιστής Η γενική εικόνα. Η μνήμη. Ενότητες μαθήματος. Εισαγωγή στους Υπολογιστές. Βιβλία για το μάθημα Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Εισαγωγή στους Υπολογιστές (αρχές λειτουργίας και τεχνολογία) Σχετικά με το μάθημα Ενότητες μαθήματος Αρχές λειτουργίας

Διαβάστε περισσότερα

Κεφάλαιο 12 ο. Γ. Τσιατούχας. VLSI Systems and Computer Architecture Lab. Μνήμες 2

Κεφάλαιο 12 ο. Γ. Τσιατούχας. VLSI Systems and Computer Architecture Lab. Μνήμες 2 ΚΥΚΛΩΜΑΤΑ VLSI Πανεπιστήμιο Ιωαννίνων Μνήμες Κεφάλαιο 1 ο Τμήμα Μηχανικών Η/Υ και Πληροφορικής Γ. Τσιατούχας ΚΥΚΛΩΜΑΤΑ VLSI Διάρθρωση 1. Οργάνωση και αρχιτεκτονική μνημών. Μνήμες 3. Μνήμες AM 4. Μνήμες

Διαβάστε περισσότερα

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2 Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου Ενότητα 2 Τι είναι το PLC ΠΕΡΙΕΧΟΜΕΝΑ 2 Τι είναι το PLC. 2.1 Πλεονεκτήματα των PLC. 2.2 Η δομή ενός PLC. 2.3 Τα PLC της αγοράς. 2.4 Αρχή λειτουργίας ενός PLC.

Διαβάστε περισσότερα

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους.

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους. Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους. *Τα φυσικά μέρη που μπορούμε να δούμε και να αγγίξουμε ονομάζονται συνολικά υλικό (hardware). * * υπερυπολογιστές

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Σχολή Θετικών Επιστημών Τεχνολογίας Τηλεπικοινωνιών Τμήμα Επιστήμης και Τεχνολογίας Τηλεπικοινωνιών ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΠΙΚΟΙΝΩΝΙΕΣ ΙI Εργαστήριο 4 ο : Διαμόρφωση Παλμών Βασική

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

Διαβάστε περισσότερα

Αρχιτεκτονική Μνήμης

Αρχιτεκτονική Μνήμης ΕΣ 08 Επεξεργαστές Ψηφιακών Σημάτων Αρχιτεκτονική Μνήμης Τμήμα Επιστήμη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήμιο Πελοποννήσου Βιβλιογραφία Ενότητας Kuo [2005]: Chapters 3 & 4 Lapsley [2002]: Chapter

Διαβάστε περισσότερα

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΑΡΑΓΚΙΑΟΥΡΗΣ ΝΙΚΟΛΑΟΣ

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΑΡΑΓΚΙΑΟΥΡΗΣ ΝΙΚΟΛΑΟΣ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ 3/02/2019 ΚΑΡΑΓΚΙΑΟΥΡΗΣ ΝΙΚΟΛΑΟΣ ΘΕΜΑ 1 ο 1. Να γράψετε στο τετράδιό σας το γράμμα καθεμιάς από τις παρακάτω προτάσεις και δίπλα τη λέξη ΣΩΣΤΟ, αν είναι σωστή ή τη λέξη ΛΑΘΟΣ, αν είναι

Διαβάστε περισσότερα

Κεφάλαιο 6. Σύγχρονα και ασύγχρονα ακολουθιακά κυκλώματα

Κεφάλαιο 6. Σύγχρονα και ασύγχρονα ακολουθιακά κυκλώματα Κεφάλαιο 6 Σύγχρονα και ασύγχρονα ακολουθιακά κυκλώματα 6.1 Εισαγωγή Η εκτέλεση διαδοχικών λειτουργιών απαιτεί τη δημιουργία κυκλωμάτων που μπορούν να αποθηκεύουν πληροφορίες, στα ενδιάμεσα στάδια των

Διαβάστε περισσότερα

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών Ενότητα 3: Υλικό Υπολογιστών, 2ΔΩ Τμήμα: Αγροτικής Οικονομίας & Ανάπτυξης Διδάσκων: Θεόδωρος Τσιλιγκιρίδης Μαθησιακοί Στόχοι Η Ενότητα 3 διαπραγματεύεται θέματα που

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Ιεραρχία συχνά και το

Διαβάστε περισσότερα

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ Εργαστήριο Σχεδίασης Ψηφιακών Ολοκληρωμένων Κυκλωμάτων και Συστημάτων «Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο 2016-2017 Διάλεξη 1 η :

Διαβάστε περισσότερα

Καθυστέρηση στατικών πυλών CMOS

Καθυστέρηση στατικών πυλών CMOS Καθυστέρηση στατικών πυλών CMOS Πρόχειρες σημειώσεις Γιώργος Δημητρακόπουλος Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Άνοιξη 2008 Παρόλο που οι εξισώσεις των ρευμάτων των MOS τρανζίστορ μας δίνουν

Διαβάστε περισσότερα

Εισαγωγή στα Συστήματα Ψηφιακής Επεξεργασίας Σήματος

Εισαγωγή στα Συστήματα Ψηφιακής Επεξεργασίας Σήματος ΕΣ 08 Επεξεργαστές Ψηφιακών Σημάτων Εισαγωγή στα Συστήματα Ψηφιακής Επεξεργασίας Σήματος Κλήμης Νταλιάνης Λέκτορας Π.Δ.407/80 Τμήμα Επιστήμη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήμιο Πελοποννήσου Αρχιτεκτονική

Διαβάστε περισσότερα

Συλλογή μεταφορά και έλεγχος Δεδομένων ΘΟΡΥΒΟΣ - ΓΕΙΩΣΕΙΣ

Συλλογή μεταφορά και έλεγχος Δεδομένων ΘΟΡΥΒΟΣ - ΓΕΙΩΣΕΙΣ Συλλογή μεταφορά και έλεγχος Δεδομένων ΘΟΡΥΒΟΣ - ΓΕΙΩΣΕΙΣ ΘΟΡΥΒΟΣ - ΓΕΙΩΣΕΙΣ Σε ένα ηλεκτρικό κύκλωμα δημιουργούνται ανεπιθύμητα ηλεκτρικά σήματα, που οφείλεται σε διάφορους παράγοντες, καθώς επίσης και

Διαβάστε περισσότερα

Χαρακτηρισμός και μοντέλα τρανζίστορ λεπτών υμενίων βιομηχανικής παραγωγής: Τεχνολογία μικροκρυσταλλικού πυριτίου χαμηλής θερμοκρασίας

Χαρακτηρισμός και μοντέλα τρανζίστορ λεπτών υμενίων βιομηχανικής παραγωγής: Τεχνολογία μικροκρυσταλλικού πυριτίου χαμηλής θερμοκρασίας Χαρακτηρισμός και μοντέλα τρανζίστορ λεπτών υμενίων βιομηχανικής παραγωγής: Τεχνολογία μικροκρυσταλλικού πυριτίου χαμηλής θερμοκρασίας Υποψήφιος Διδάκτορας: Α. Χατζόπουλος Περίληψη Οι τελευταίες εξελίξεις

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 ΑΠΑΝΤΗΣΕΙΣ

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 ΑΠΑΝΤΗΣΕΙΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 Μάθημα : Μικροϋπολογιστές Τεχνολογία Τ.Σ. Ι, Θεωρητικής κατεύθυνσης Ημερομηνία

Διαβάστε περισσότερα

7 η διάλεξη Ακολουθιακά Κυκλώματα

7 η διάλεξη Ακολουθιακά Κυκλώματα 7 η διάλεξη Ακολουθιακά Κυκλώματα 1 2 3 4 5 6 7 Παραπάνω βλέπουμε ακολουθιακό κύκλωμα σχεδιασμένο με μανταλωτές διαφορετικής φάσης. Παρατηρούμε ότι συνδυαστική λογική μπορεί να προστεθεί μεταξύ και των

Διαβάστε περισσότερα

Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή

Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή Μνήμη Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή ηλεκτρονική συσκευή, σε προσωρινή ή μόνιμη βάση. Τα σύγχρονα

Διαβάστε περισσότερα

Πράξεις με δυαδικούς αριθμούς

Πράξεις με δυαδικούς αριθμούς Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 25-6 Πράξεις με δυαδικούς αριθμούς (λογικές πράξεις) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Εκτέλεση πράξεων

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη μιας προσαρμοστικής πολιτικής αντικατάστασης αρχείων, με χρήση

Διαβάστε περισσότερα

Φουκαράκη Χρυσούλα - ΓΕΛ Γαζίου

Φουκαράκη Χρυσούλα - ΓΕΛ Γαζίου ΚΕΦΑΛΑΙΟ 1 Φουκαράκη Χρυσούλα - ΓΕΛ Γαζίου Υπολογιστικά συστήματα σχεδιάστηκαν για να καλύψουν συγκεκριμένες ανάγκες σε συγκεκριμένη χρονική στιγμή και βοηθούν στη συνολική πρόοδο της τεχνολογίας Φουκαράκη

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 201 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

Αναγνώριση Προτύπων Ι

Αναγνώριση Προτύπων Ι Αναγνώριση Προτύπων Ι Ενότητα 1: Μέθοδοι Αναγνώρισης Προτύπων Αν. Καθηγητής Δερματάς Ευάγγελος Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Βασικές συσκευές Ε/Ε. Είσοδος Έξοδος στον υπολογιστή. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (IΙI) Μ.

Βασικές συσκευές Ε/Ε. Είσοδος Έξοδος στον υπολογιστή. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (IΙI) Μ. Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Οργάνωση Υπολογιστών (IΙI) (συσκευές εισόδου-εξόδου) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Ένα τυπικό

Διαβάστε περισσότερα

Το υλικό του υπολογιστή

Το υλικό του υπολογιστή Το υλικό του υπολογιστή Ερωτήσεις 1. Τι αντιλαμβάνεστε με τον όρο υλικό; Το υλικό(hardware) αποτελείται από το σύνολο των ηλεκτρονικών τμημάτων που συνθέτουν το υπολογιστικό σύστημα, δηλαδή από τα ηλεκτρονικά

Διαβάστε περισσότερα

Χρ. Καβουσιανός Επίκουρος Καθηγητής

Χρ. Καβουσιανός Επίκουρος Καθηγητής Σχεδίαση Μνηµών Χρ. Καβουσιανός Επίκουρος Καθηγητής Εισαγωγή Η Μνήµη είναι ένας πίνακας από θέσεις αποθήκευσης συγκεκριµένου µεγέθους, κάθε µία από τις οποίες έχει µία διακριτή διεύθυνση Θέση 0 Θέση 1

Διαβάστε περισσότερα

Θεωρία Πληροφορίας. Διάλεξη 7: Κωδικοποίηση καναλιού με γραμμικούς κώδικες block. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Θεωρία Πληροφορίας. Διάλεξη 7: Κωδικοποίηση καναλιού με γραμμικούς κώδικες block. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής Θεωρία Πληροφορίας Διάλεξη 7: Κωδικοποίηση καναλιού με γραμμικούς κώδικες block Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα Τεχνικές Διόρθωσης Λαθών Κώδικες εντοπισμού λαθών Κώδικες εντοπισμού

Διαβάστε περισσότερα

ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΧΡΗΣΗ ΥΠΟΛΟΓΙΣΤΩΝ (E-CAD) ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΧΡΗΣΗ ΥΠΟΛΟΓΙΣΤΩΝ (E-CAD) ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΧΡΗΣΗ ΥΠΟΛΟΓΙΣΤΩΝ (E-CAD) ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2016 2017 Χ. Βέργος Καθηγητής ΕΡΓΑΣΙΑ ΕΞΑΜΗΝΟΥ Σκοπός της φετινής εργασίας εξαμήνου είναι η σχεδίαση ενός Συστήματος Απεικόνισης Χαρακτήρων

Διαβάστε περισσότερα

Κυκλωμάτων» Χειμερινό εξάμηνο

Κυκλωμάτων» Χειμερινό εξάμηνο «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Εισαγωγή στα Συστήματα Ολοκληρωμένων Κυκλωμάτων Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής http://diceslab.cied.teiwest.gr E-mail: pkitsos@teimes.gr

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΊΔΡΥΜΑ ΑΘΗΝΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΊΔΡΥΜΑ ΑΘΗΝΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΊΔΡΥΜΑ ΑΘΗΝΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΗΛΕΚΤΡΙΚΑ ΚΥΚΛΩΜΑΤΑ ΚΑΙ ΜΕΤΡΗΣΕΙΣ ΣΤΗ ΒΙΟΪΑΤΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 6: ΠΑΡΑΛΛΗΛΗ

Διαβάστε περισσότερα

Εργαστηριακή άσκηση. Θεωρητικός και πρακτικός υπολογισμός καθυστερήσεων σε αναστροφείς CMOS VLSI

Εργαστηριακή άσκηση. Θεωρητικός και πρακτικός υπολογισμός καθυστερήσεων σε αναστροφείς CMOS VLSI Ε.Μ.Π. - ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ VLSI

Διαβάστε περισσότερα

Αποκωδικοποιητές Μνημών

Αποκωδικοποιητές Μνημών Αποκωδικοποιητές Μνημών Φθινόπωρο 2008 Γιώργος Δημητρακόπουλος Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Γ. Δημητρακόπουλος ΗΥ422 1 Η χρήση των αποκωδικοποιητών Η δομή της μνήμης (για λόγους πυκνότητας)

Διαβάστε περισσότερα

ΔΙΑΧΥΤΑ ΚΑΙ ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ

ΔΙΑΧΥΤΑ ΚΑΙ ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΥΤΑ ΚΑΙ ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Πλατφόρμες ενσωματωμένων συστημάτων Διδάσκων: Παναγιώτης Καρκαζής Περίγραμμα - Δίαυλοι επικοινωνίας - Μνήμες -Συσκευές Ι/Ο Timers Counters keyboards Leds 7 segment display

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΑΡΧΙΤΕΚΤΟΝΙΚΗ

Διαβάστε περισσότερα

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ Η Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit -CPU) ή απλούστερα επεξεργαστής αποτελεί το μέρος του υλικού που εκτελεί τις εντολές ενός προγράμματος υπολογιστή

Διαβάστε περισσότερα

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Για βελτίωση της απόδοσης

Διαβάστε περισσότερα

ΕΙ Η ΜΝΗΜΩΝ ΠΤΥΤΙΚΕΣ ΜΗ ΠΤΥΤΙΚΕΣ

ΕΙ Η ΜΝΗΜΩΝ ΠΤΥΤΙΚΕΣ ΜΗ ΠΤΥΤΙΚΕΣ ΜΝΗΜΕΣ ΕΙ Η ΜΝΗΜΩΝ ΠΤΥΤΙΚΕΣ ΜΗ ΠΤΥΤΙΚΕΣ 2 ΠΤΥΤΙΚΕΣ vs ΜΗ ΠΤΥΤΙΚΕΣ Πτητική είναι η µνήµη η οποία χάνει το περιεχόµενο της µε το σβήσιµο του ηλεκτρονικού υπολογιστή (διακοπή τροφοδοσίας), ενώ µη πτητική

Διαβάστε περισσότερα

ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ. Δρ. Δ. Λαμπάκης (1 η σειρά διαφανειών)

ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ. Δρ. Δ. Λαμπάκης (1 η σειρά διαφανειών) ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΗΛΕΚΤΡΟΝΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ Δρ. Δ. Λαμπάκης (1 η σειρά διαφανειών) Τα ηλεκτρονικά κυκλώματα, ιδιαίτερα τα ψηφιακά χρησιμοποιούνται για την υλοποίηση λογικών συναρτήσεων και την αποθήκευση

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 9. Tα Flip-Flop

ΑΣΚΗΣΗ 9. Tα Flip-Flop ΑΣΚΗΣΗ 9 Tα Flip-Flop 9.1. ΣΚΟΠΟΣ Η κατανόηση της λειτουργίας των στοιχείων μνήμης των ψηφιακών κυκλωμάτων. Τα δομικά στοιχεία μνήμης είναι οι μανδαλωτές (latches) και τα Flip-Flop. 9.2. ΘΕΩΡΗΤΙΚΟ ΜΕΡΟΣ

Διαβάστε περισσότερα

Εισαγωγή στα κυκλώµατα CMOS 2

Εισαγωγή στα κυκλώµατα CMOS 2 1 η Θεµατική Ενότητα : Εισαγωγή στα κυκλώµατα CMOS Επιµέλεια διαφανειών:. Μπακάλης Εισαγωγή Τεχνολογία CMOS = Complementary Metal Oxide Semiconductor Συµπληρωµατικού Ηµιαγωγού Μετάλλου Οξειδίου Αποτελείται

Διαβάστε περισσότερα

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών Η επεξεργασία των δεδομένων ακολουθεί μια στερεότυπη διαδρομή: τα δεδομένα εισάγονται στο υπολογιστικό σύστημα, υφίστανται μια ορισμένη επεξεργασία και

Διαβάστε περισσότερα

Λιβανός Γιώργος Εξάμηνο 2017Β

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!

Διαβάστε περισσότερα

Η ιεραρχία της μνήμης

Η ιεραρχία της μνήμης Η ιεραρχία της μνήμης Οι περιορισμοί στο σχεδιασμό της μνήμης συνοψίζονται σε τρεις ερωτήσεις : 1) Πόση 2) Πόσο γρήγορη 3) Πόσο ακριβή Ερωτήματα-Απαντήσεις Ερώτημα πόση μνήμη. Είναι ανοικτό. Αν υπάρχει

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 121 ΕΡΓΑΣΤΗΡΙΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΝΗΜΗ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΗ ΛΟΓΙΚΗ ΥΠΕΥΘΥΝΟΣ ΕΡΓΑΣΤΗΡΙΩΝ: ΧΡΥΣΟΣΤΟΜΟΣ ΧΡΥΣΟΣΤΟΜΟΥ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2001 ΕΠΛ 121 ΕΡΓΑΣΤΗΡΙΑ ΨΗΦΙΑΚΩΝ

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΤΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΣΤΗΝ ΟΙΚΟΝΟΜΙΑ 2 Ο ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΑΠΟΣΤΟΛΙΑ ΠΑΓΓΕ Υπολογιστής Συνοπτικό λεξικό Οξφόρδης -> «ηλεκτρονική υπολογιστική μηχανή»

Διαβάστε περισσότερα

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική

Διαβάστε περισσότερα

Κεφάλαιο 3. Διδακτικοί Στόχοι

Κεφάλαιο 3. Διδακτικοί Στόχοι Κεφάλαιο 3 Σε ένα υπολογιστικό σύστημα η Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) εκτελεί τις εντολές που βρίσκονται στην κύρια μνήμη του. Οι εντολές αυτές ανήκουν σε προγράμματα τα οποία, όταν εκτελούνται,

Διαβάστε περισσότερα

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

Κεφάλαιο 1.6: Συσκευές αποθήκευσης Κεφάλαιο 1.6: Συσκευές αποθήκευσης 1.6.1 Συσκευές αποθήκευσης Μνήμη τυχαίας προσπέλασης - RAM Η μνήμη RAM (Random Access Memory Μνήμη Τυχαίας Προσπέλασης), κρατεί όλη την πληροφορία (δεδομένα και εντολές)

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΧΡΗΣΗ ΥΠΟΛΟΓΙΣΤΩΝ (E-CAD) ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ Χ. Βέργος Καθηγητής

ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΧΡΗΣΗ ΥΠΟΛΟΓΙΣΤΩΝ (E-CAD) ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ Χ. Βέργος Καθηγητής ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΧΡΗΣΗ ΥΠΟΛΟΓΙΣΤΩΝ (E-CAD) ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2013 2014 Χ. Βέργος Καθηγητής ΕΡΓΑΣΙΑ ΕΞΑΜΗΝΟΥ Σκοπός της φετινής εργασίας εξαμήνου είναι η σχεδίαση ενός Συστήματος Απεικόνισης Χαρακτήρων

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Τμήμα Πληροφορικής και Τηλεπικοινωνιών ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ ΨΗΦΙΑΚΕΣ ΕΠΙΚΟΙΝΩΝΙΕΣ Εργαστήριο 5 ο : Διαμόρφωση Παλμών Βασική Θεωρία Μ-αδική Διαμόρφωση Παλμών Κατά την μετατροπή

Διαβάστε περισσότερα

ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - VHDL ΑΝΤΩΝΗΣ ΠΑΣΧΑΛΗΣ

ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - VHDL ΑΝΤΩΝΗΣ ΠΑΣΧΑΛΗΣ ΕΘΝΙΚΟΝ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟΝ ΠΑΝΕΠΙΣΤΗΜΙΟΝ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - VHDL ΥΛΙΚΟ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΠΣ Πληροφορικής και Τηλεπικοινωνιών, E Εξάμηνο

Διαβάστε περισσότερα

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy)

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) 1 Συστήματα Μνήμης Η οργάνωση του συστήματος μνήμης επηρεάζει τη λειτουργία και απόδοση ενός μικροεπεξεργαστή: Διαχείριση μνήμης και περιφερειακών (Ι/Ο) απότολειτουργικόσύστημα

Διαβάστε περισσότερα