Cortex-A Πλήρη λειτουργικά Yψηλή επίδοση Cortex-A Πλήρη λειτουργικά Yψηλή επίδοση Cortex-R Αυστηρές διορίες Διαχείριση λαθών Cortex-R Αυστηρές διορίες Διαχείριση λαθών Cortex-M Χαμηλό κόστος – κατανάλωση Ντετερμινιστικοί χρόνοι Cortex-M Χαμηλό κόστος – κατανάλωση Ντετερμινιστικοί χρόνοι
Καταγραφή μετρήσεων από έναν αισθητήρα CO 2 Καταγραφή μετρήσεων από 3 αισθητήρες θερμοκρασίας Έλεγχος κατάστασης αισθητήρων και αξιοπιστίας των μετρήσεων Να αποστέλλει τα δεδομένα στον ΗΥ σε πραγματικό χρόνο Να αναπτυχθεί η χαμηλού επιπέδου διεπαφή στον ΗΥ Καταγραφή μετρήσεων από έναν αισθητήρα CO 2 Καταγραφή μετρήσεων από 3 αισθητήρες θερμοκρασίας Έλεγχος κατάστασης αισθητήρων και αξιοπιστίας των μετρήσεων Να αποστέλλει τα δεδομένα στον ΗΥ σε πραγματικό χρόνο Να αναπτυχθεί η χαμηλού επιπέδου διεπαφή στον ΗΥ
Αίτηση στον αισθητήρα για νέα δεδομένα Μηδενισμός USB buffer Επιλογή τρόπου διόρθωσης Απενεργοποίηση αισθητήρα αν αποτύχει η διόρθωση Μηδενισμός USB buffer Επιλογή τρόπου διόρθωσης Απενεργοποίηση αισθητήρα αν αποτύχει η διόρθωση Ένδειξη LED Αποστολή σε USB buffer Ένδειξη LED Αποστολή σε USB buffer Watchdog Reset Έγκυρες τιμές εντός διορίας ;
Εισερχόμενη αίτηση USB από HY Επιλογή δράσης ανάλογα με την αίτηση Αποστολή απαιτούμενων δεδομένων στον ΗΥ μέσω USB
Για 100 ή 50 ms που χρησιμοποιείται στην πράξη, ο φόρτος λιγότερο από 1% Για χρόνο < 0.5 ms ο φόρτος σταθερός – κορεσμός bandwidth USB Για 100 ή 50 ms που χρησιμοποιείται στην πράξη, ο φόρτος λιγότερο από 1% Για χρόνο < 0.5 ms ο φόρτος σταθερός – κορεσμός bandwidth USB Αριστερό Grid-EYE πιο γρήγορο – οφείλεται στην σταθερά χρόνου Με διακοπές περισσότερο χρόνο λόγω context switch CO 2 : όφελος FIFO Αριστερό Grid-EYE πιο γρήγορο – οφείλεται στην σταθερά χρόνου Με διακοπές περισσότερο χρόνο λόγω context switch CO 2 : όφελος FIFO
Μόλις 8 % σε κανονική λειτουργία Μεγάλος φόρτος CO 2 λόγω καθυστέρησης απάντησης αισθητήρα Μικρό κέρδος διακοπών στα GridEYE λόγω υψηλής ταχύτητας Μόλις 8 % σε κανονική λειτουργία Μεγάλος φόρτος CO 2 λόγω καθυστέρησης απάντησης αισθητήρα Μικρό κέρδος διακοπών στα GridEYE λόγω υψηλής ταχύτητας Εμφανές το κέρδος των διακοπών στα GridEYE για χαμηλότερους ρυθμούς επικοινωνίας Φόρτος με διακοπές ίδιος αφού η συνολική δουλειά παραμένει ίδια Εμφανές το κέρδος των διακοπών στα GridEYE για χαμηλότερους ρυθμούς επικοινωνίας Φόρτος με διακοπές ίδιος αφού η συνολική δουλειά παραμένει ίδια
Να τοποθετηθεί αναλογικός διακόπτης και για τον αισθητήρα CO 2 Ίσως να ξανα-ενεργοποιούνται μετά από κάποιο διάστημα οι απενεργοποιημένοι αισθητήρες Να τοποθετηθεί αναλογικός διακόπτης και για τον αισθητήρα CO 2 Ίσως να ξανα-ενεργοποιούνται μετά από κάποιο διάστημα οι απενεργοποιημένοι αισθητήρες Περαιτέρω εξοικονόμηση ενέργειας με: Χαμήλωμα του ρολογιού Χρησιμοποιώντας καταστάσεις ύπνου Κλείσιμο περιφερειακών εξαρτημάτων που δεν χρησιμοποιούνται Περαιτέρω εξοικονόμηση ενέργειας με: Χαμήλωμα του ρολογιού Χρησιμοποιώντας καταστάσεις ύπνου Κλείσιμο περιφερειακών εξαρτημάτων που δεν χρησιμοποιούνται
Αύξηση δείκτη απόδοσης / κατανάλωσης με εξειδικευμένο hardware Μελέτη δυνατότητας αντικατάστασης x86 επεξεργαστή με ARM Υπολογιστικός φόρτος αλγορίθμων ρομποτικής όρασης σε PANDORA αλλά και smartphone κτλ Αύξηση δείκτη απόδοσης / κατανάλωσης με εξειδικευμένο hardware Μελέτη δυνατότητας αντικατάστασης x86 επεξεργαστή με ARM Υπολογιστικός φόρτος αλγορίθμων ρομποτικής όρασης σε PANDORA αλλά και smartphone κτλ Επιτάχυνση φίλτρων με NEON Παραλληλοποίηση Canny Σύγκριση μεταξύ ARM επεξεργαστών Σύγκριση μεταξύ ARM και Intel Επιτάχυνση φίλτρων με NEON Παραλληλοποίηση Canny Σύγκριση μεταξύ ARM επεξεργαστών Σύγκριση μεταξύ ARM και Intel
32 καταχωρητές των 64-bit ή 16 των 128- bit Un-/Signed 8, 16, 32, 64 bit, single precision float Ανεξάρτητη γραμμή διοχέτευσης 32 καταχωρητές των 64-bit ή 16 των 128- bit Un-/Signed 8, 16, 32, 64 bit, single precision float Ανεξάρτητη γραμμή διοχέτευσης Ενεργειακή απόδοση – πολλές εντολές ταυτόχρονα με μικρότερο χρόνο εκτέλεσης Κοινή μνήμη και ροή εντολών – ίδιος compiler Μονάδα NEON για κάθε πυρήνα Βρίσκεται στην συντριπτική πλειοψηφία των Cortex-A Ενεργειακή απόδοση – πολλές εντολές ταυτόχρονα με μικρότερο χρόνο εκτέλεσης Κοινή μνήμη και ροή εντολών – ίδιος compiler Μονάδα NEON για κάθε πυρήνα Βρίσκεται στην συντριπτική πλειοψηφία των Cortex-A
Autovectorization Ο ίδιος κώδικας λειτουργεί και χωρίς NEON Χρειάζεται «καθοδήγηση» Autovectorization Ο ίδιος κώδικας λειτουργεί και χωρίς NEON Χρειάζεται «καθοδήγηση» Intrinsics (Ενδογενείς) συναρτήσεις “1-1” αντιστοιχία με μικροεντολές Διαχείριση στοίβας και καταχωρητών από τον compiler Ο compiler βάζει σε σειρά τις εντολές ανάλογα με τον επεξεργαστή Επιλεγμένη μέθοδος OpenCV Intrinsics (Ενδογενείς) συναρτήσεις “1-1” αντιστοιχία με μικροεντολές Διαχείριση στοίβας και καταχωρητών από τον compiler Ο compiler βάζει σε σειρά τις εντολές ανάλογα με τον επεξεργαστή Επιλεγμένη μέθοδος OpenCV
Σύνδεση κορυφών Καταστολή μη μεγίστων και κατωφλίωση Υπολογισμός μέτρου παραγώγου Υπολογισμός gradient στις x και y κατευθύνσεις (με Sobel)
Η εικόνα χωρίζεται σε ν λωρίδες Κάθε task αναλαμβάνει μία λωρίδα Η εικόνα χωρίζεται σε ν λωρίδες Κάθε task αναλαμβάνει μία λωρίδα Σύνδεση κορυφών: οι τιμές στο σύνορο στέλνονται σε concurrent queue
4219 x x x 508
Η σειρά αναμενόμενη: A7 < A9 < A15 < i7 Ο i7 τα πηγαίνει λίγο καλύτερα όσο μεγαλώνει η εικόνα Η σειρά αναμενόμενη: A7 < A9 < A15 < i7 Ο i7 τα πηγαίνει λίγο καλύτερα όσο μεγαλώνει η εικόνα Το NEON είτε με αυτόματο τρόπο είτε με χειροκίνητο, είναι καλύτερο όσο πιο εξελιγμένη είναι η μικροαρχιτεκτονική του επεξεργαστή Επιτάχυνση παρόμοια για διαφορετικές αναλύσεις στον ίδιο επεξεργ. Το NEON είτε με αυτόματο τρόπο είτε με χειροκίνητο, είναι καλύτερο όσο πιο εξελιγμένη είναι η μικροαρχιτεκτονική του επεξεργαστή Επιτάχυνση παρόμοια για διαφορετικές αναλύσεις στον ίδιο επεξεργ. Καθυστέρηση σε σχέση με i7: Cortex-A7: x Cortex-A9: 8-14 x Cortex-A15: 4-6 x Καθυστέρηση σε σχέση με i7: Cortex-A7: x Cortex-A9: 8-14 x Cortex-A15: 4-6 x Βελτίωση με Cortex-A7: Cortex-A9: Cortex-A15: i7: Βελτίωση με Cortex-A7: Cortex-A9: Cortex-A15: i7: αυτομ. / ενδογ. ~0.8x / ~1.5x ~1.0x / ~1.5x ~1.1x / ~2.5x ~1.2x / ~4.0x
Ο i7 τα πάει καλύτερα σε σχέση με τους ARM για μεγαλύτερες εικόνες Επιτάχυνση παρόμοια για διαφορετικές αναλύσεις στον ίδιο επεξεργαστή Όχι μεγάλες μεταξύ διαφορετικών επεξεργαστών, αντίθετα με Sobel Στις μικρές αναλύσεις εικόνας οι A7 και A9 τα πάνε καλύτερα Επιτάχυνση παρόμοια για διαφορετικές αναλύσεις στον ίδιο επεξεργαστή Όχι μεγάλες μεταξύ διαφορετικών επεξεργαστών, αντίθετα με Sobel Στις μικρές αναλύσεις εικόνας οι A7 και A9 τα πάνε καλύτερα Καθυστέρηση σε σχέση με i7: Cortex-A7: 7-10 x Cortex-A9: 4-7 x Cortex-A15: 4-5 x Καθυστέρηση σε σχέση με i7: Cortex-A7: 7-10 x Cortex-A9: 4-7 x Cortex-A15: 4-5 x
XU3 – OpenCL 1.1 Full Profile Intel Core M Διαβάθμιση Canny με αριθμό πυρήνων Μετρήσεις κατανάλωσης ενέργειας Σύγκριση ενσωματωμένων γραφικών Σύγκριση Compiler Συνέλιξη kernel Gauss και Sobel Gauss και Sobel στο κυκλικό buffer XU3 – OpenCL 1.1 Full Profile Intel Core M Διαβάθμιση Canny με αριθμό πυρήνων Μετρήσεις κατανάλωσης ενέργειας Σύγκριση ενσωματωμένων γραφικών Σύγκριση Compiler Συνέλιξη kernel Gauss και Sobel Gauss και Sobel στο κυκλικό buffer