Ενσωματωμένα Συστήματα

Σχετικά έγγραφα
Ενσωματωμένα Συστήματα

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

Εισαγωγή στην πληροφορική

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

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

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

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Τεχνολογία Πολυμέσων. Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στην Διοίκηση Επιχειρήσεων

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

Εισαγωγή στην πληροφορική

Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II

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

Εισαγωγή στους Αλγορίθμους

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Βάσεις Περιβαλλοντικών Δεδομένων

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Μηχανολογικό Σχέδιο Ι

Εισαγωγή στην πληροφορική

Ψηφιοποίηση και Ψηφιακή Επεξεργασία Εικόνας

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

Ψηφιακή Επεξεργασία Εικόνων

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Εισαγωγή στην πληροφορική

Προηγμένος έλεγχος ηλεκτρικών μηχανών

Δομές Δεδομένων Ενότητα 1

Εισαγωγικές έννοιες θεωρίας Συστημάτων Αυτομάτου Ελέγχου Ενότητα 8 η : ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΩΝ ΛΟΓΙΚΩΝ ΕΛΕΓΚΤΩΝ

Τεχνολογία & Καινοτομία - Αρχές Βιομηχανικής Επιστήμης

Ηλεκτροτεχνία ΙΙ. Ενότητα 1: Βασικές Έννοιες Ηλεκτροτεχία Ηλεκτρονική. Δημήτρης Στημονιάρης, Δημήτρης Τσιαμήτρος Τμήμα Ηλεκτρολογίας

Γεωγραφικά Συστήµατα Πληροφοριών και Αρχές Τηλεπισκόπησης

Διαχείριση Πολιτισμικών Δεδομένων

ΟΙΚΟΝΟΜΕΤΡΙΑ. Ενότητα 3: Πολλαπλή Παλινδρόμηση. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Συστήματα Πολυμέσων Ενότητα 4: Συμπίεση. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Συστήματα Αναμονής. Ενότητα 1: Εισαγωγή. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Εισαγωγή στους Αλγορίθμους Ενότητα 11η Άσκηση - Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων

Βάσεις Δεδομένων Ενότητα 1

Εισαγωγή στους Αλγορίθμους

ΗΛΕΚΤΡΟΝΙΚΗ IΙ Ενότητα 6

Εισαγωγή στην Πληροφορική

Τεχνολογία Πολυμέσων. Ενότητα 8: Pool Table. Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Σχεδίαση Δικτύων Υπολογιστών

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

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

Εισαγωγή στους Υπολογιστές

Προηγμένος έλεγχος ηλεκτρικών μηχανών

Οργάνωση και Διοίκηση Πωλήσεων

Σχεδίαση CMOS Ψηφιακών Ολοκληρωμένων Κυκλωμάτων

Εισαγωγή στα πολυμέσα

Τεχνοοικονομική Μελέτη

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

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στους Αλγορίθμους Ενότητα 10η Άσκηση Αλγόριθμος Dijkstra

Εισαγωγή στην Διοίκηση Επιχειρήσεων

ΟΙΚΟΝΟΜΕΤΡΙΑ. Ενότητα 1: Εκτιμητές και Ιδιότητες. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Λογιστική Κόστους Ενότητα 7: Κοστολογική διάρθρωση Κέντρα Κόστους.

Ψηφιακή Επεξεργασία Εικόνων

Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II

Λογιστική Κόστους Ενότητα 5: Προορισμός Κόστους

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

Ιστορία της μετάφρασης

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: Εισαγωγή ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη)

Σχεδίαση Δικτύων Υπολογιστών

Διδακτική της Πληροφορικής

Γραφικά Ι. Ενότητα 1: Εισαγωγή. Θεοχάρης Θεοχάρης Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Τίτλος Μαθήματος: Εργαστήριο Φυσικής Ι

Ψηφιακή Επεξεργασία Εικόνων

Συστήματα Πολυμέσων Ενότητα 5: Σαρωτές. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Εισαγωγικές έννοιες θεωρίας Συστημάτων Αυτομάτου Ελέγχου

Προγραμματισμός Η/Υ. Χειρισμός Αρχείων. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Εισαγωγή στη Δικτύωση Υπολογιστών

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

Εισαγωγικές έννοιες θεωρίας Συστημάτων Αυτομάτου Ελέγχου

Εννοιες και Παράγοντες της Ψηφιακής Επεξεργασίας Εικόνας

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Διοικητική Λογιστική

Εφαρμοσμένη Βελτιστοποίηση

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική

Θέματα Συστημάτων Πολυμέσων. Ενότητα # 8: MPEG Διδάσκων: Γεώργιος Πολύζος Τμήμα: Μεταπτυχιακό Πρόγραμμα Σπουδών Επιστήμη των Υπολογιστών

Προηγμένος έλεγχος ηλεκτρικών μηχανών

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

Προγραμματισμός Η/Υ. 7 η ενότητα: Αρχεία. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

Θέματα Συστημάτων Πολυμέσων. Ενότητα #3: Ιδιότητες μέσων Διδάσκων: Γεώργιος K. Πολύζος Τμήμα: Μεταπτυχιακό Πρόγραμμα Σπουδών Επιστήμη των Υπολογιστών

ΑΝΑΛΥΣΗ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΩΝ ΚΑΤΑΣΤΑΣΕΩΝ

Τεχνολογία Πολυμέσων. Ενότητα # 8: Αρχές κωδικοποίησης Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Εισαγωγή στην πληροφορική

Ειδικά Θέματα Δικτύων ΙΙ

Εισαγωγή στη Δικτύωση Υπολογιστών

Ήπιες και νέες μορφές ενέργειας

Transcript:

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ψηφιακά Μαθήματα στο Πανεπιστήμιο Δυτικής Μακεδονίας» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

Σκοπός ενότητας Η κατανόηση της ανάγκης των επιταχυντών και της διαφορετικότητας τους από τους συνεπεξεργαστές. Η παρουσίαση των πολυπύρηνων ενσωματωμένων αρχιτεκτονικών. 4

Κεντρικές μονάδες επεξεργασίας και επιταχυντές. 5

Επιταχυντές υλικού Παρέχουν μεγάλες αυξήσεις απόδοσης για εφαρμογές με υπολογιστικούς πυρήνες που ξοδεύουν μεγάλο μέρος του χρόνου σε μικρό τμήμα του κώδικα. Καθοριστικές επιταχύνσεις για λειτουργίες Ι/Ο χαμηλού λανθάνοντα χρόνου. Κλασσικό παράδειγμα συ-σχεδίασης υλικού/λογισμικού (hardware/software co-design) (κάτι που θα μπορούσε να υλοποιηθεί με software υλοποιείται με hardware). 6

Συστήματα με επιτάχυνση Χρησιμοποιήστε μια επιπλέον υπολογιστική μονάδα αφιερωμένη σε ορισμένα καθήκοντα Hardwired logic. Extra CPU. Hardware/software co-design: προσάρμοσε το σχέδιο της αρχιτεκτονικής του υλικού και του λογισμικού. 7

Επιταχυνόμενο σύστημα αρχιτεκτονικής Ο επιταχυντής συνδέεται στο δίαυλο της CPU. Η CPU επικοινωνεί με τον επιταχυντή μέσω καταχωρητών δεδομένων και ελέγχου. Η επικοινωνία μπορεί να γίνεται και μέσω κοινής μνήμης (ιδιαίτερα αν υπάρχουν πολλά δεδομένα) {Απαιτείται συγχρονισμός} CPU request accelerator result data data memory I/O 8

Επιταχυντής vs. συνεπεξεργαστής Ο επιταχυντής ΔΕΝ είναι συνεπεξεργαστής. Ένας συνεπεξεργαστής εκτελεί οδηγίες. Οι οδηγίες αναθέτονται από τη CPU. Ένας επιταχυντής εμφανίζεται ως μία συσκευή πάνω στο bus. Ο επιταχυντής ελέγχεται από καταχωρητές. 9

Εφαρμογές Επιταχυντή Ολοκληρωμένα κυκλώματα ειδικού σκοπού εφαρμογών (ASIC). Προγραμματιζόμενες συστοιχίες πυλών στο πεδίο (FPGA). Προσαρμοσμένο Ολοκληρωμένο κύκλωμα (VLSI) {για μεγάλες ποσότητες}. Τυπικό υποσύστημα (off the shelf). Παράδειγμα: επεξεργαστής γραφικών. Από τον κατάλογο (IP core). (Τελικά, δε μας ενδιαφέρει που θα γίνει η επεξεργασία.) Ονομάζονται: PE (processing elements) 10

Καθήκοντα σχεδιασμού συστήματος Σχεδίασε έναν ετερογενή πολυεπεξεργαστή αρχιτεκτονικής. Επεξεργασία στοιχείου (PE): CPU, επιταχυντής κτλ. Προγραμμάτισε το σύστημα. 11

Γιατί επιταχυντές; (1/4) Απαιτείται σημαντική προσπάθεια (περισσότερη από μόνο σχεδίαση λογισμικού). Πρέπει το κέρδος να είναι σημαντικό. Καλύτερο κόστος/απόδοση. Η προσαρμοσμένη λογική ίσως είναι ικανή να εκτελέσει τη λειτουργία πιο γρήγορα από τη CPU ισοδύναμου κόστους. Το κόστος της CPU είναι μια μη γραμμική λειτουργία εκτέλεσης. 12

Γιατί επιταχυντές; (2/4) Όσο πιο high performance τόσο πιο ακριβό εκθετικά. Ίδιες επιδόσεις με περισσότερα μικρότερα στοιχεία επεξεργασίας (υψηλότερο όμως κόστος μηχανικού για ανάπτυξη και συναρμολόγηση). cost performance 13

Γιατί επιταχυντές; (3/4) Καλύτερη απόδοση σε πραγματικό χρόνο. Βάλτε τις λειτουργίες σημαντικού χρόνου σε λιγότερο φορτωμένο στοιχεία επεξεργασίας. Θυμηθείτε χρήση RMS (προγραμματισμού) --- Οι επιπλέον κύκλοι της CPU πρέπει να διατηρούνται για την τήρηση των προθεσμιών. 14

Γιατί επιταχυντές; (4/4) Κρίσιμες διεργασίες σε PE χωρίς ή με ελάχιστο time sharing (μείωση επιβάρυνσης χρονοπρογραμματισμού) προθεσμία κόστος deadline w. RMS overhead επίδοση 15

Γιατί πολυεπεξεργαστές; Χρησιμοποιώντας εξειδικευμένους επεξεργαστές ή προσαρμοσμένη λογική, εξοικονομούμε ενέργεια. Οι επεξεργαστές των σταθμών εργασίας δεν είναι αρκετά ενεργειακά αποδοτικοί για εφαρμογές που λειτουργούν με μπαταρίες. 16

Γιατί επεξεργαστές; Καλό για επεξεργασία I/O σε πραγματικό χρόνο. Ίσως καταναλώσουν λιγότερη ενέργεια. Μπορεί να είναι καλύτεροι σε ροή δεδομένων. Μπορεί να μην είναι σε θέση να κάνει όλη τη δουλειά, ακόμα και τη μεγαλύτερη ενιαία CPU (πλήρη επεξεργασία βίντεο HD) {χρησιμοποίησε multi PEs}. Οι επεξεργαστές είναι καλοί για: Bit-wise λειτουργίες μπορεί να είναι δύσκολο για τον επεξεργαστή. I/O with strick deadlines. Ροή δεδομένων (δεν είναι καλό για την cache). 17

Σχεδίαση επιταχυντή Πρώτον, προσδιόρισε ότι το σύστημα χρειάζεται πραγματικά να επιταχυνθεί. Εκτίμησε τη χρησιμότητα (αν CPU απλός ελεγκτής, τότε η ΡΕ είναι καλύτερη,αλλά αν CPU χρειάζεται για υψηλής ποιότητας επεξεργασία τότε δεν μπορούμε εύκολα να αποφασίσουμε). Πόσο γρηγορότερος είναι ο επιταχυντής στη βασική λειτουργία; Πόσα δεδομένα μεταφέρει γενικά; Σχεδίασε τον ίδιο επιταχυντή {καλή κατανόηση του αλγορίθμου}. Σχεδιασμός της διασύνδεσης του επιταχυντή {χειραψία διαύλου, πως το software θα το χρησιμοποιεί, πως θα μεταφέρονται τα δεδομένα, αν θα υπάρχει λογική παραγωγής διευθύνσεων μνήμης για πολλά δεδομένα, πως θα γίνεται ο συγχρονισμός}. 18

Σχεδίαση συστημάτων με επιτάχυνση. 19

Φάσεις Σχεδίασης Καθορισμός αρχιτεκτονικής. Σχεδίαση των συστατικών στοιχείων. Ολοκλήρωση του συστήματος. Η προδιαγραφή του συστήματος δεν αλλάζει, ο χρήστης αγνοεί την παρουσία του επιταχυντή. 20

Ανάλυση Απόδοσης Σοβαρή παράμετρος είναι η επιτάχυνση: πόσο γρηγορότερο είναι το σύστημα με τον επιταχυντή; (συνήθως πρώτα εξετάζεται η απόδοση και μετά η κατανάλωση) Πρέπει να ληφθεί υπόψη: Χρόνος εκτέλεσης επιταχυντή. Χρόνος μεταφοράς δεδομένων. Συγχρονισμός με την κατοχή της CPU. 21

Χρόνος εισαγωγής/εξαγωγής δεδομένων. Συναλλαγές bus περιλαμβάνουν: Έξαψη τιμών καταχωρητή/μνήμη cache στην κεντρική μνήμη. Χρόνος που απαιτείται για την cpu να δημιουργήσει συναλλαγές; Επιβάρυνση της μεταφοράς δεδομένων από πακέτα bus, χειραψία, κλπ. 22

Μονό εναντίον Πολλαπλού σπειρώματος Ένας σημαντικός παράγοντας είναι ο διαθέσιμος παραλληλισμός: μονονηματικό/κλείδωμα: η CPU περιμένει τον επιταχυντή; πολυνηματικό/χωρίς κλείδωμα: η CPU συνεχίζει την εκτέλεση ταυτόχρονα με τον επιταχυντή. Στο πολυνηματικό, η CPU πρέπει ασφαλώς να έχει κάποια χρήσιμη εργασία να κάνει. Όμως, το λογισμικό πρέπει να υποστηρίζει τα πολλαπλά νήματα. Ισοδύναμη περιγραφή: blocking και non-blocking. Ακολουθεί διάγραμμα... 23

Single/Multi νήματα Μονονηματικό Πολυνηματικό P1 P1 P2 A1 P2 A1 P3 P3 P4 P4 24

Χρόνος εκτέλεσης επιταχυντή Χρόνος εκτέλεσης επιταχυντή: Χρόνος εκτέλεσης λειτουργίας. Χρόνος μετάδοσης δεδομένων (προς και από). Συνολικός χρόνος εκτέλεσης επιταχυντή: t accel = t in + t x + t out t in δεδομένα εισόδου t x ταχύτητα υπολογισμού t out δεδομένα εξόδου Πρέπει να λαμβάνεται η WCET αφού η μεταφορά στο δίαυλο μπορεί να καθυστερήσει (λόγω διενέξεων). 25

Βελτίωση Ι/Ο Ένας εξελιγμένος επιταχυντής θα μπορούσε να επικαλύψει την είσοδο και την έξοδο με υπολογισμό (~ διασωλήνωση ). Διαβάζει αρχικές τιμές. Αρχίζει υπολογισμούς με αυτές τις τιμές. Ταυτόχρονα διαβάζει τις υπόλοιπες τιμές. Τότε το t in, t out είναι οι μη επικαλυπτόμενοι χρόνοι ανάγνωσης/εγγραφής. Παράδειγμα: digital filtering. Δημιουργία αποτελεσμάτων εν κινήσει (on-the-fly) παρά την αποθήκευση όλων και την πραγματοποίηση υπολογισμών. 26

Πηγές παραλληλισμού Επικάλυψη I/O και επιτάχυνση υπολογισμού. Εκτέλεση εργασιών κατά ομάδες, διάβασμα δεδομένων στη δεύτερη παρτίδα, ενώ ο υπολογισμός βρίσκεται στην πρώτη ομάδα. Βρες άλλη δουλειά να κάνεις στη CPU. Μπορεί να αναδιαρθρώσει ενέργειες για να μετακινηθεί το έργο μετά την έναρξη του επιταχυντή. 27

Χρόνος εισόδου/εξόδου δεδομένων Οι συναλλαγές bus περιλαμβάνουν: Αποθήκευση καταχωρητή/τιμή cache στη κύρια μνήμη. Χρόνος που απαιτείται για την cpu να δημιουργήσει συναλλαγές; Επιβάρυνση της μεταφοράς δεδομένων από πακέτα bus, χειραψία, κλπ. 28

Επιτάχυνση επιταχυντή Ας υποθέσουμε ότι ο βρόχος εκτελείται ν φορές. Σύγκριση επιταχυνόμενου συστήματος με μη-επιταχυνόμενο σύστημα: S = n(t CPU - t accel ) = n[t CPU - (t in + t x + t out )] Όπου t CPU Execution time on CPU Όσες πιο πολλές φορές καλείται ο επιταχυντής τόσο περισσότερο είναι το όφελος. 29

Ανάλυση χρόνου εκτέλεσης Τελικά, μας ενδιαφέρει όχι μόνο η επιτάχυνση του επιταχυντή αλλά η επιτάχυνση για το πλήρες σύστημα. Μονονηματικό: Υπολογίζουμε το χρόνο εκτέλεσης όλων των διαδικασιών της συνιστώσας. Πολυνηματικό: Βρίσκουμε το μακρύτερο μονοπάτι εκτέλεσης. 30

Αξιολόγηση Επιτάχυνσης σε μονονηματική υλοποίηση 31

Αξιολόγηση Επιτάχυνσης σε πολυνηματική υλοποίηση 32

Επιταχυνόμενο σύστημα πλατφορμών (1/2) Αρκετές έτοιμες πλακέτες είναι διαθέσιμες για την επιτάχυνση σε υπολογιστές: FPGA-based core; PC bus interface. 33

Επιταχυνόμενο σύστημα πλατφορμών (2/2) FPGA in PCI FPGA in PCI express 34

Επιταχυντής/CPU διασύνδεση Οι καταχωρητές επιτάχυνσης παρέχουν καταχωρητές ελέγχου για την CPU. Οι καταχωρητές δεδομένων μπορούν να χρησιμοποιηθούν για μικρά αντικείμενα δεδομένων. Μπορεί να προσκομίζονται μεγάλου όγκου δεδομένα. Οι επιταχυντές μπορεί να περιλαμβάνουν read/write λογική για ειδικούς σκοπούς. Ιδιαίτερα πολύτιμη για μεγάλες μεταφορές δεδομένων. 35

Διασύνδεση 36

Ολοκλήρωση του συστήματος και τον εντοπισμό σφαλμάτων Προσπαθήστε να αποσφαλματώσετε τον CPU/επιταχυντή διεπαφής ξεχωριστά από τον πυρήνα του επιταχυντή. Κατασκευάστε μοντέλα για να ελέγξετε τον επιταχυντή. Συν-προσομοίωση υλικού/λογισμικού μπορεί να είναι χρήσιμη. 37

Προσωρινής αποθήκευσης προβλήματα Η κύρια μνήμη παρέχει το μηχανισμό μετάδοσης των κυρίων δεδομένων προς τον επιταχυντή. Τα προγράμματα πρέπει να διασφαλίζουν ότι η προσωρινή αποθήκευση δεν αναιρεί την κύρια μνήμη. Η CPU διαβάζει την τοποθεσία S Ο επιταχυντής γράφει την τοποθεσία S. Η CPU γράφει την τοποθεσία S. BAD Μπορεί να απαιτείται συγχρονισμός σε προσβάσεις κοινών δεδομένων. 38

Συγχρονισμός (1/3) Όπως με την μνήμη cache,η κύρια μνήμη γράφει στην κοινή μνήμη και αυτό μπορεί να προκαλέσει ακύρωση: CPU διαβάζει S. Ο επιταχυντής γράφει S. CPU διαβάζει S. Απαιτείται ενημέρωση από τον επιταχυντή προς την κρυφή μνήμη για να ακυρώσει (invalidate) την αντίστοιχη γραμμή. 39

Συγχρονισμός (2/3) Ένας απλός συγχρονισμός μπορεί να επιτευχθεί με τη χρήση συγκεκριμένης διεύθυνσης κοινής μνήμης (ως σημαφόρος). Η CPU διαβάζει μια περιοχή κρυφής μνήμης και όταν ο επιταχυντής ολοκληρώσει το έργο του, γράφει κάποια τιμή σε αυτή τη θέση μνήμης (one-way synchronization). Μπορεί να γίνει και συγχρονισμός και του επιταχυντή προς τη CPU, αν ο δίαυλος υποστηρίζει ατομικές λειτουργίες Test-And-Set, οπότε, αναλόγως του ποια τιμή είναι γραμμένη σε αυτή τη θέση, το αντίστοιχο PE έχει πρόσβαση. 40

Συγχρονισμός (3/3) 41

Κατανομή (1/2) Χωρίστε λειτουργικές προδιαγραφές σε μονάδες. Χάρτες μονάδων σε PEs, CPUs. Οι μονάδες μπορούν να γίνουν διαδικασίες. Σημαντικές λόγω: (α) αποτελεσματικότητας (β) εντοπισμού σφαλμάτων. 42

Κατανομή (2/2) Καθορίστε κατάλληλο επίπεδο παραλληλισμού: f1() f2() f3(f1(),f2()) vs. f3() 3 διεργασίες με εξαρτήσεις δεδομένων. f1(), f2() όμως μπορούν να γίνουν παράλληλα. 43

Μεθοδολογία καταμερισμού Χώρισε το CDFG σε κομμάτια, μοίρασε τις λειτουργίες ανάμεσα στα κομμάτια. Ιεραρχικά αποσύνδεσε το CDFG για να αναγνωρίσεις πιθανούς καταμερισμούς. Η αξιολόγηση της ποιότητας απαιτεί την αξιολόγηση της απόδοσης. Το πρόβλημα της διαμέρισης είναι η διαίρεση των γραφημάτων ροής ελέγχου/δεδομένων. 44

Παράδειγμα Κατάτμησης cond 1 cond 2 P1 Block 1 P5 P3 Block 3 P4 P2 Block 2 Μπορεί να αξιολογηθεί σε διαφορετικά επίπεδα αναλυτικότητας 45

Προγραμματισμός και κατανομή Απαραίτητες ενέργειες: Προγραμματίστε τις λειτουργίες εγκαίρως (επικοινωνία + υπολογισμούς, αν υπάρξει καθυστέρηση ολοκλήρωσης τότε θα καθυστερήσει η επικοινωνία και ίσως έρθει σε διένεξη με άλλο PE); Αναθέστε τους υπολογισμούς στα στοιχεία επεξεργασίας (καθορίζει ποιες επικοινωνίες απαιτούνται). Προγραμματισμός και ανάθεση αλληλεπιδρούν, αλλά ο διαχωρισμός τους βοηθά το σχεδιαστή. Εναλλακτικά κατένειμε, μετά προγραμματίσε. 46

Παράδειγμα: Προγραμματισμός και κατανομή Task graph: P: διεργασίες. d: επικοινωνία. Hardware platform: Κοινός δίαυλος. Διαφορετικές δυνατότητες ανά Μ. P1 P2 d1 d2 M1 M2 P3 47

Παράδειγμα: επεξεργασία χρόνου εργασίας - Μ1 Μ2 Ρ1 5 5 Ρ2 5 6 Ρ3-5 Η σημειώνει ότι δε μπορεί να εκτελεστεί σε αυτό (π.χ. δεν έχει αρκετή μνήμη, ή δε μπορεί να κάνει αυτή τη λειτουργία). Διαφορετικοί χρόνοι εκτέλεσης γιατί διαφορετική ISA ή άλλη συχνότητα ρολογιού. 48

Παράδειγμα επικοινωνίας μοντέλου Υπολόγισε ότι η επικοινωνία στο PE είναι ελεύθερη. Κόστος επικοινωνίας από P1 μέχρι P3 είναι d1=2; κόστος του P2 P3 επικοινωνία είναι d2= 4. 49

Κατανέμω P1, P2 M1; P3 M2. Πρώτη σχεδίαση M1 P1 P2 d2 M2 d1 P3 time Κόστος: 5+5+4+5=19 50

Κατανέμω P1 M1; P3, P2 M2. Δεύτερη σχεδίαση M1 P1 d1 M2 P2 P3 time Η P2 εκτελείται πιο αργά, αλλά δε μας προκαλεί πρόβλημα. Κόστος: 5+2+5=12 51

Παράδειγμα: Προσαρμογή μηνυμάτων για ελάττωση καθυστέρησης Task graph: Network: 3 execution time 3 allocation P1 P2 M1 M2 M3 d1 4 P3 d2 Transmission time = 4 52

Αρχικό Πρόγραμμα M1 M2 P1 P2 M3 P3 network d1 d2 Time = 15 0 5 10 15 20 time 53

Τροποποιώ P3: Νέα σχεδίαση (1/2) Διαβάζει ένα πακέτο του d1,ένα πακέτο του d2. Υπολογίζει το μερικό αποτέλεσμα. Συνεχίζει στο επόμενο πακέτο. 54

Νέα σχεδίαση (2/2) M1 M2 P1 P2 M3 P3 P3 P3 P3 network d1d2d1d2d1d2d1d2 Time = 12 0 5 10 15 20 time 55

Ολοκλήρωση του συστήματος και εντοπισμός σφαλμάτων Προσπαθήστε να εντοπίσετε τα σφάλματα της CPU/επιταχυντή διασύνδεσης, χωριστά από τον πυρήνα του επιταχυντή. Χτίζετε μια αρχιτεκτονική σκελετού (προσωρινό μοντέλο συστήματος) για να ελέγξετε τον επιταχυντή. Η συν-προσομοίωση υλικού/λογισμικού μπορεί να είναι χρήσιμη. 56

Ρύθμιση και επίδοση Η χρήση ενδιάμεσης μνήμης (buffer) ίσως βάζει στη σειρά κάποιες λειτουργίες. Η επόμενη διαδικασία πρέπει να περιμένει τα δεδομένα να εισέλθουν στο buffer για να μπορέσει να συνεχίσει. Η πολιτική του buffer (queue, RAM) επηρεάζει το διαθέσιμο παραλληλισμό. 57

Buffers και καθυστέρηση Τρεις διαδικασίες χωρισμένες με buffer: B1 A B2 B B3 C 58

Buffers και χρονοπρογραμματισμός καθυστέρησης Χωρίς buffer A[0] A[1] Must wait for all of A before getting any B B[0] B[1] C[0] C[1] Με buffer A[0] B[0] C[0] A[1] B[1] C[1] 59

Παράδειγμα: επιταχυντής βίντεο. 60

Κεντρική ιδέα (1/4) Κατασκευάζουμε τον επιταχυντή για την εκτίμηση κίνησης μπλοκ, ένα τμήμα της συμπίεσης βίντεο. Εκτελούμε τη δισδιάστατη συσχέτιση: Frame 1 61

Κεντρική ιδέα (2/4) Κατασκευάζουμε τον επιταχυντή για την εκτίμηση κίνησης μπλοκ, ένα τμήμα της συμπίεσης βίντεο. Εκτελούμε τη δισδιάστατη συσχέτιση: f2 Frame 1 62

Κεντρική ιδέα (3/4) Κατασκευάζουμε τον επιταχυντή για την εκτίμηση κίνησης μπλοκ, ένα τμήμα της συμπίεσης βίντεο. Εκτελούμε τη δισδιάστατη συσχέτιση: f2f2 Frame 1 63

Κεντρική ιδέα (4/4) Κατασκευάζουμε τον επιταχυντή για την εκτίμηση κίνησης μπλοκ, ένα τμήμα της συμπίεσης βίντεο. Εκτελούμε τη δισδιάστατη συσχέτιση: f2f2f2f2f2f2f2f2 f2f2 Frame 1 64

Εκτίμηση κίνησης μπλοκ Το MPEG χωρίζει το πλαίσιο σε 16 x 16 μακροομάδων για εκτίμηση της κίνησης. Αναζήτηση για το καλύτερο ταίριασμα σε ένα εύρος της αναζήτησης. Μετρά την ομοιότητα με το άθροισμα της απόλυτης διαφοράς(sad) : Σ M(i,j) - S(i-o x, j-o y ) M(i,j) ένταση του μακρομπλοκ στο pixel i,j S(i,j) ένταση της περιοχής αναζήτησης Επιλέγεται το block που έχει το μικρότερο άθροισμα των διαφορών, και δημιουργείται το διάνυσμα κίνησης. 65

Το καλύτερο ταίριασμα Το καλύτερο ταίριασμα παράγει το διάνυσμα κίνησης για το μπλοκ: 66

Αλγόριθμος full search bestx = 0; besty = 0; bestsad = MAXSAD; for (ox = - SEARCHSIZE; ox < SEARCHSIZE; ox++) { for (oy = -SEARCHSIZE; oy < SEARCHSIZE; oy++) { int result = 0; for (i=0; i<mbsize; i++) { for (j=0; j<mbsize; j++) { result + = iabs(mb[i][j] search[i-ox+xcenter] [j-oy-ycenter]); } } if (result <= bestsad) { bestsad = result; bestx = ox; besty = oy; } } } 67

Υπολογιστικές απαιτήσεις (1/2) Let MBSIZE = 16, SEARCHSIZE = 8. Περιοχή αναζήτησης είναι 8 + 8 + 1 σε κάθε διάσταση. Πρέπει να εκτελέσετε: n ops = (16 x 16) x (17 x 17) = 73984 ops CIF μορφή έχει 352 x 288 pixels 22 x 18 macroblocks. 68

Υπολογιστικές απαιτήσεις (2/2) 69

Αριθμός λειτουργιών Mbsize=16 Searchsize=8 Απόσταση αναζήτησης 8+1+8 N ops = (16x17) x (17x17)=73894 λειτουργίες απόλυτης διαφοράς σε κάθε macroblock Πρέπει να εκτελεστεί σε κάθε macroblock (π.χ. σε CIF 352x288, 22x18 macroblock). Συνολικά για κάθε frame: 31.638.024 Αν θέλουμε 25fps, τότε: 790.950.600 λειτουργίες/sec 70

Απαιτήσεις επιταχυντή name purpose inputs outputs functions performance manufacturing cost power physical size/weight block motion estimator block motion est. in PC macroblocks, search areas motion vectors compute motion vectors with full search as fast as possible hundreds of dollars from PC power supply PCI card 71

Τύποι δεδομένων επιταχυντή, Βασικές τάξεις Motion-vector x, y : pos Macroblock pixels[] : pixelval Search-area pixels[] : pixelval PC memory[] Motion-estimator compute-mv() 72

Σειρά διαγράμματος :PC :Motion-estimator Search area compute-mv() memory[] memory[] macroblocks memory[] 73

Αρχιτεκτονικοί υπολογισμοί Απαιτεί μεγάλο ποσοστό μνήμης: macroblock has 16x16=256 pixels; περιοχή αναζήτησης έχει (8+8+1+8+8)2=1,089 pixels. Δηλαδή, 1089 τιμές των 8bit. Ίσως χρειαστεί εξωτερική μνήμη (ιδιαίτερα αν ρυθμίζονται πολλαπλά macroblocks /περιοχές έρευνας). 74

Οργανισμός κίνησης της ρύθμισης search area network PE 0 PE 1 Address generator macroblock ctrl network PE 15... comparator Motion vector 2 μνήμες 16 στοιχεία για υπολογισμό απόλυτης διαφοράς 75

Χρονοδιαγράμματα pixel PE 0 PE 1 PE 2 M(0,0)-S(0,0) M(0,1)-S(0,1) M(0,0) M(0,0)-S(0,1) M(0,2)-S(0,2) M(0,1)-S(0,2) M(0,0)-S(0,2) S(0,2) Χρονοδιάγραμμα (ανά κύκλο ρολογιού): ένα pixel από μνήμη μακρομπλοκ δυο pixel από τη μνήμη αναζήτησης 76

Σύστημα δοκιμής Η δοκιμή απαιτεί ένα μεγάλο ποσοστό δεδομένων. Χρησιμοποίησε απλά σχέδια με προφανείς απαντήσεις για αρχικές δοκιμασίες. Αποσπάστε δείγματα δεδομένων από εικόνες JPEG για πιο ρεαλιστικές δοκιμές. 77

Πολυεπεξεργαστές στα ενσωματωμένα συστήματα 78

Πολυεπεξεργαστές Καταναλωτικά ηλεκτρονικά (CE) συστήματα. Κινητά τηλέφωνα. CDs και DVDs. Αναπαραγωγή ήχου. Ψηφιακές φωτογραφικές μηχανές. 79

Περιπτώσεις χρήσης ηλεκτρονικών ειδών ευρείας κατανάλωσης Πολυμέσα: αποθηκεύονται σε συμπιεσμένη μορφή, στη προβολή φαίνεται πως δεν είναι συμπιεσμένα. Η αποθήκευση των δεδομένων και διαχείριση τους: παρακολούθηση, κλπ. Επικοινωνία: λήψη, αποστολή, chat 80

Μη λειτουργικές απαιτήσεις για CE Συχνά λειτουργούν με μπαταρία, αυστηρό προϋπολογισμό ενέργειας. Πολύ φθηνά. Η διασύνδεση του χρήστη θα πρέπει να υπάρχει, αλλά να είναι χαμηλού κόστους. 81

CE συσκευές και ξενιστής (host) Πολλές συσκευές επικοινωνούν με συστήματα host. Το PC ξενιστής κάνει πράγματα που είναι δύσκολο να το κάνετε με τη συσκευή. Όλο και περισσότερες, CE συσκευές επικοινωνούν απευθείας μέσω του δικτύου, αποφεύγοντας το ξενιστή για πρόσβαση. 82

Πλατφόρμες και συστήματα λειτουργίας Πολλές συσκευές CE χρησιμοποιούν DSP για την επεξεργασία σήματος και RISC CPU για άλλες εργασίες. I/O περιλαμβάνουν κουμπιά, οθόνη, usb 83

Flash συστήματα αρχείων Τα Flash χρησιμοποιούνται ευρέως για μαζική αποθήκευση Τα Flash φθείρονται στο γράψιμο (μέχρι 1 εκατ. κύκλους). Ο φάκελος είναι πιο συχνά γραμμένος, φθείρεται πρώτος. Τα Flash συστήματα αρχείων έχουν στρώματα που κινούν περιεχόμενα με ανάλογη φθορά επιπέδου εγγραφής. Κρύβει φθορά που αντιμετωπίζεται αποτελεσματικά από το fimrware. 84

Κινητά τηλέφωνα Πιο δημοφιλής συσκευή CE στην ιστορία; Πιο ευρέως χρησιμοποιούμενη υπολογιστική συσκευή. 1 δισεκατομμύριο πωλούνται ανά έτος. Η συσκευή συνδέεται με την κυψέλη. Η κυψέλη φροντίζει για τη μεταφορά της επικοινωνίας σε γειτονική κυψέλη, κατά την μετακίνηση. 85

Πλατφόρμες κινητών (1/2) Τα Κινητά τηλέφωνα σήμερα χρησιμοποιούν αναλογικό front-end, ψηφιακή επεξεργασία βασικής ζώνης. Τα Μελλοντικά κινητά τηλέφωνα θα εκτελούν IF επεξεργασία με DSP. Επεξεργασία βασικής ζώνης στο DSP: Συμπίεσης φωνής. Πρωτόκολλο δικτύου. 86

Πλατφόρμες κινητών (2/2) Άλλη επεξεργασία: Λειτουργίες πολυμέσων. Διασύνδεση χρήστη. Το σύστημα αρχείων. Εφαρμογές (επαφές, κλπ.) 87

CD/MP3 player Audio CPU memory Jog memory I 2 S display amp DAC Error focus, corrector Servo CPU memory Analog out tracking, sled, motor Analog in FE, TE, amp drive head 88

CD medium Ταχύτητα περιστροφής: 1,2-1,4 m / s (CLV). Track pitch: 1.6 microns. Διάμετρος: 120 mm. Μήκος Pit: 0,8-3 microns. Βάθος Pit:.11 microns. Πλάτος Pit: 0.5 microns. Μήκος κύματος Laser: 780 nm. 89

Laser, lens, sled: Μηχανισμός CD focus CD track sled diffraction grating detectors track laser 90

Laser εστίαση Η εστίαση ελέγχεται από κάθετη θέση του φακού. Αόριστη πορεία προκαλεί ακανόνιστη θέση: Out of focus In focus Out of focus 91

Laser pickup Side spot detectors A F E D C B Level: A+B+C+D Focus error: (A+C)-(B+D) Tracking error: E-F 92

Servo control Τέσσερα είναι τα κύρια σήματα: εστίαση(laser) @ 245 khz; Optical pickup παρακολούθηση(laser) @ 245 khz; sled (motor): @ 800 Hz; Disc motor. 93

EFM Eight-to-fourteen διαμόρφωση (κωδικοποίηση δεδομένων): 14-bit κώδικα, εγγυάται τη μέγιστη απόσταση μεταξύ των μεταβάσεων (χρησιμοποιώντας ένα LUT). Δυαδική '1' πάντοτε διαχωρίζεται (τουλάχιστον δύο '0' μεταξύ '1'). 00000011 00100100000000 94

Διόρθωση λάθους CD χωρητικότητα 6.99 GB σειρα, 700 MB μορφοποιημένο. Reed-Solomon Κωδικός: g(x) = (x-α) (x- α 2 ) (x- α n-k-1 ) (x- α n-k ) Παράγει δεδομένα, διαγράφει bits. Ο χρόνος να λυθούν ποικίλα προβλήματα εξαρτάται από το θόρυβο. CD ενδιάμεσες Reed-Solomon μπλοκ για να μειωθούν οι επιπτώσεις των μεγάλων κενών στα δεδομένα. 95

Έλεγχος και διόρθωση λαθών Παραλείψεις προκαλούνται από φυσικές ενοχλήσεις. Περιμένετε για την ενόχληση να υποχωρήσει. Επανάληψη. Προβλήματα ανάγνωσης που προκαλούνται από το δίσκο/servo. Εντοπισμός σφαλμάτων. Επιλέξτε περιοχή για να ξαναπροσπαθήσετε. Επανάληψη. Αποτυχία και παρεμβολή 96

στρώμα 1: MPEG πρότυπα ήχου Χωρίς απώλειες συμπίεση των υποζωνών + προαιρετικό απλό μοντέλο συγκάλυψης. στρώμα 2: Πιο προηγμένο μοντέλο συγκάλυψης. στρώμα 3: Πρόσθετη επεξεργασία για τα χαμηλότερα ποσοστά bit. 97

MPEG ηχητικές τιμές Ποσοστά δειγματοληψίας εισόδου: 32, 44.1, 48 khz. Ρυθμός bit εξόδου: 23, 48, 64, 96, 112, 128, 192, 256, 384 kbits/sec. Έξοδος μπορεί να είναι μόνο, δύο καναλιών (δίγλωσσο, κλπ.), στερεοφωνικό 98

Dolby Digital (AC-3) : Άλλα πρότυπα Χρησιμοποιεί τροποποιημένο διακριτό μετασχηματισμό συνημίτονου. ATRAC (MiniDisc): Χρησιμοποιεί υποζώνη + τροποποιημένο DCT. MPEG-2 AAC. 99

MPEG στρώμα 1 384 samples/block σε όλες τις συχνότητες. Ισούται 8 ms σε 48 khz. Προαιρετικό μοντέλο συγκάλυψης. Καθοδηγείται από ξεχωριστές FFT για την καλύτερη ακρίβεια. 100

MPEG στρώμα 1 πλαίσιο δεδομένων Οι κωδικοί κατανομής bit καθορίζουν το μήκος λέξης σε κάθε υποπεριοχή. Οι παράγοντες κλίμακας προσδιορίζουν το κέρδος για κάθε επίπεδο. header CRC bit allocation scale factors subband samples aux data 101

MPEG Layer 1 decoder 102

MP3 Η Αποκωδικοποίηση είναι ευκολότερη από την κωδικοποίηση αλλά απαιτεί: Αποσυμπίεση. φιλτράρισμα. Βασικό πρότυπο CD για δίσκους δεδομένων. Δεν υπάρχουν πρότυπα για MP3 δομή αρχείων του δίσκου: η συσκευή αναπαραγωγής πρέπει να καταλάβει τα Windows, Mac, Unix δίσκους. 103

Αναπαραγωγές ήχου Οι αναπαραγωγές ήχου μπορούν να χρησιμοποιούν flash, σκληρό δίσκο, CD για μαζική αποθήκευση. Η Αποσυμπίεση απαιτεί μικρή ποσότητα CPU: 10% των ARM7. Το σύστημα αρχείων πρέπει να είναι συμβατό (FAT). 104

Ψηφιακές φωτογραφικές μηχανές Το DSC πρέπει να καθορίσει την έκθεση πριν από τη λήψη εικόνας. Μετά τη λήψη εικόνας: Βελτιώστε την ποιότητα της εικόνας. Συμπίεση. Αποθήκευση ως αρχείο. 105

Αρχιτεκτονική ψηφιακής φωτογραφικής μηχανής (1/2) Η DSC χρησιμοποιεί CPU για γενικούς σκοπούς επεξεργασίας και DSP για την επεξεργασία εικόνας. Η εσωτερική μνήμη αποθηκεύει προσωρινά τα περάσματα στην εικόνα. Η οθόνη είναι χαμηλότερης ανάλυσης από τον αισθητήρα εικόνας. Ίσως απαιτηθεί downsample. 106

Αρχιτεκτονική ψηφιακής φωτογραφικής μηχανής (2/2) 107

Καταγραφή εικόνας (1/2) Πριν από τη λήψη εικόνας: Καθορίστε την έκθεση. Καθορίστε την εστίαση. Βελτιστοποίησε την ισορροπία λευκού. 108

Καταγραφή εικόνας (2/2) Bayer pattern 109

Επεξεργασία εικόνας Πρέπει να εκτελέσετε βασικές επεξεργασίες για να χρησιμοποιηθεί η εικόνα: Bayer RGB παρεμβολή. DSCs εκτελεί πολλές λειτουργίες που άλλοτε εκτελούνταν από photoprocessors για την ταινία: Καθάρισμα εικόνας. Εξισορρόπηση των χρωμάτων. 110

Διαχείριση αρχείων Το EXIF πρότυπο για τις ψηφιακές εικόνες ορίζει: Μορφή των δεδομένων σε ένα αρχείο. Δομή καταλόγου. Το EXIF αρχείο περιλαμβάνει: Εικόνα (JPEG, κλπ) Μικρογραφία. Μεταδεδομένα (τύπος φωτογραφικής μηχανής, ημερομηνία/ώρα, κλπ.) 111

Βιβλιογραφία Χρησιμοποιήθηκε υλικό από παρουσιάσεις των: Wayne Wolf, Overheads for Computers as Components 2nd ed.,2008 (chapter 7) 112

Τέλος Ενότητας 113

Σημείωμα Αναφοράς Copyright, Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών, Μηνάς Δασυγένης. «Ενσωματωμένα Συστήματα». Έκδοση: 1.0. Κοζάνη 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: https://eclass.uowm.gr/courses/icte265/ 114

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Όχι Παράγωγα Έργα Μη Εμπορική Χρήση 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] h t t p ://creativecommons.org/licenses/by-nc-nd/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό 115

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους. 116