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

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

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

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

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

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

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

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

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

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

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

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

Συστήματα πολυμέσων. Εισαγωγή Υλικό συστημάτων πολυμέσων Λογισμικό συστημάτων πολυμέσων Συστήματα πραγματικού χρόνου Χρονοπρογραμματισμός

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

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

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

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

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

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

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχές κωδικοποίησης. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 08-1

ΠΕΡΙΕΧΟΜΕΝΑ Υλικό και Λογισμικό Αρχιτεκτονική Υπολογιστών Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6

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

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

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

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

Δομημένος Προγραμματισμός

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

Κωδικοποίηση βίντεο (H.261 / DVI)

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

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

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

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

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:05. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

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

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

Ραδιοτηλεοπτικά Συστήματα Ενότητα 5: Ψηφιοποίηση και συμπίεση σημάτων ήχου

Αρχιτεκτονική Η/Υ Το chipset ενός υπολογιστικού συστήματος. Δρ. Μηνάς Δασυγένης

Κεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα

ΤΕΙ ΚΡΗΤΗΣ ΤΜ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡ/ΚΗΣ & ΠΟΛΥΜΕΣΩΝ ΔΙΔΑΣΚΩΝ: Δρ. Γ. ΓΑΡΔΙΚΗΣ. Κωδικοποίηση εικόνας

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

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

Συστήματα Πολυμέσων. Ενότητα 12: Συμπίεση Ψηφιακού Ήχου. Θρασύβουλος Γ. Τσιάτσος Τμήμα Πληροφορικής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων.

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

Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή

ΠΑΡΑΓΩΓΗ ΚΑΙ ΕΠΕΞΕΡΓΑΣΙΑ ΣΗΜΑΤΟΣ

Μαθαίνοντας το hardware του αναπτυξιακού

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

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

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

Παραλληλισμός σε επίπεδο εντολών

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

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

Αρχές κωδικοποίησης. Τεχνολογία Πολυµέσων 08-1

Μαλούτα Θεανώ Σελίδα 1

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

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:07. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

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

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

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

Εισαγωγή στην Αρχιτεκτονική Η/Υ

ΗΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α ΤΑΞΗ

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή

Κωδικοποίηση βίντεο (MPEG)

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

Αφήγηση Μαρτυρία. Μουσική. Ενίσχυση μηνύματος Μουσική επένδυση Ηχητικά εφέ

υπολογιστικών συστημάτων. Παρουσίαση με τίτλο "Περιεχόμενο, διαδικασία μαθήματος και εισαγωγή"

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

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

Σχεδίαση και Υλοποίηση Μηχανισμού Μεταφοράς Δεδομένων από Συσκευές Αποθήκευσης σε Δίκτυο Myrinet, Χωρίς τη Μεσολάβηση της Ιεραρχίας Μνήμης

Αποτίμηση ενός υπολογιστή 1

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

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

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

Ηλεκτρονικοί Υπολογιστές Δ Εξάμηνο

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

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

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

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

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

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

Εισαγωγή. Τεχνολογία Πολυµέσων 01-1

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

ΜΑΘΗΜΑ: Δίκτυα Υψηλών Ταχυτήτων

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

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

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:01. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

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 P2 Block 2 P5 P3 Block 3 P4 Μπορεί να αξιολογηθεί σε διαφορετικά επίπεδα αναλυτικότητας 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

macroblock network Address generator search area network Οργανισμός κίνησης της ρύθμισης PE 0 PE 1 ctrl... comparator Motion vector PE 15 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 Laser, lens, sled: Μηχανισμός CD focus CD track sled diffraction grating detectors track 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