Συστήματα σε Ολοκληρωμένα Κυκλώματα Κεφάλαιο 4: Αρχιτεκτονική των Embedded Μικροεπεξεργαστών Διδάσκων: Καθηγητής Οδυσσέας Κουφοπαύλου Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών
ΕΙΣΑΓΩΓΗ Παρουσιάζεται μια μεθοδολογία για το σχεδιασμό διασύνδεσης των μονάδων του συστήματος που ικανοποιεί τις απαιτήσεις για αξιόπιστο σχεδιασμό κάτω από τους περιορισμούς που τίθενται από το φυσικό σχεδιασμό
ΕΙΣΑΓΩΓΗ Σε αυτό το κεφάλαιο θα συζητήσουμε τα βασικά χαρακτηριστικά της αρχιτεκτονικής των MPUs τα οποία χρησιμοποιούνται σε SoCs και σε ενσωματωμένα συστήματα γενικότερα Ένας προσωπικός υπολογιστής σχεδιάζεται ώστε να εκτελεί οποιοδήποτε λογισμικό. Σε αντίθεση ένα ενσωματωμένο σύστημα εκτελεί ένα περιορισμένο αριθμό εργασιών
Εισαγωγή Οι γενικού σκοπού DSPs επιτυγχάνουν υψηλού ρυθμούς απόδοσης (MIPS/watt) σε εφαρμογές κωδικοποίησης streams δεδομένων. Ο παραλληλισμός σε επίπεδο δεδομένων σε εφαρμογές κωδικοποίησης έχει οδηγήσει τους μηχανικούς να σχεδιάζουν τους DSPs με μοντέλα very long instruction word (VLIW), τα οποία κωδικοποιούν με ένα αποδοτικό και προβλέψιμο τρόπο.
Προσωπικοί Υπολογιστές Ένας προσωπικός υπολογιστής απαιτεί γενικού σκοπού επεξεργαστή για να υποστηρίξει τις εφαρμογές
Γενικού Σκοπού Επεξεργαστές Το συγκεκριμένο embedded system μπορεί να καλύψει συγκεκριμένες λειτουργίες, αλλά η ύπαρξη όλων αυτών των ενσωματωμένων συστημάτων απαιτεί έναν γενικού σκοπού επεξεργαστή για να τα διαχειρίζεται
Γενικού Σκοπού Επεξεργαστές Τα χαρακτηριστικά ενός γενικού σκοπού επεξεργαστή είναι ο υψηλός βαθμός της ικανότητας προγραμματισμού εξαιτίας της αρχιτεκτονικής του γενικού συνόλου εντολών (instruction-set architecture-isa) η οποία υποστηρίζει αποδοτικά υψηλού επιπέδου γλώσσες όπως C/C++
Γενικού Σκοπού Επεξεργαστές Αν και υπάρχουν διαφορετικά ISAs τα οποία έχουν ευρέως εξαπλωθεί, πρακτικά η μορφή των ISAs δεν έχει αλλάξει από τη γέννηση των ηλεκτρονικών υπολογιστών τη δεκαετία 40 και 50. Ακόμη χρησιμοποιείται ενα μοντέλο ακουλουθιακής εκτέλεσης των εντολών το οποίο αναφέρεται ωςvon Neumann architecture. Στην αρχιτεκτονική Von Neumann, η επόμενη εντολή που πρόκειται να φορτωθεί ή να εκτελεστεί δίνεται από το program counter (PC). Μετά την εκτέλεση του μιας εντολής η τιμή του PC ενημερώνεται.
Γενικού Σκοπού Επεξεργαστές Η αρχιτεκτονική των γενικού σκοπού επεξεργαστών περιλαμβάνει ένα σύνολο εντολών γενικού σκοπού. Η αρχιτεκτονική αυτή δεν προσανατολίζεται προς ένα αλγόριθμο ή σύνολο εφαρμογών. Αντιθέτως υπάρχουν οι επεξεργαστές ειδικού σκοπού, όπως οι επεξεργαστές δικτύου ή οι επεξεργαστές γραφικών, οι οποίοι διαθέτουν σύνολο εντολών προσανατολισμένο προς την εφαρμογή.
EMBEDDED VERSUS HIGH- PERFORMANCE PROCESSORS Πρώτο στάδιο:instruction fetch Δεύτερο στάδιο:instruction decode Τρίτο στάδιο :execute Τέταρτο στάδιο: memory Πέμπτο Στάδιο: write back Πέντε σταδίων απλό pipeline
PIPELINING To Pipelining αυξάνει την απόδοση με την ταυτόχρονη επεξεργασία πολλαπλών εντολών διαφορετικών σταδίων Παράδειγμα στην επόμενη διαφάνεια
PIPELINING Παράλληλη εκτέλεση εντολών εξαιτίας του pipelining
PIPELINING Οι αρχιτεκτονικές των σύγχρονων και υψηλής απόδοσης επεξεργαστών είναι πολύπλοκες με ταυτόχρονη εκτέλεση πάνω των 100 εντολών
Ενσωματωμένοι και Υψηλής απόδοσης Επεξεργαστές Η διαφορά μεταξύ των ενσωματωμένων και υψηλής απόδοσης επεξεργαστών βρίσκεται στα στάδια εξέλιξής τους. Οι σύγχρονοι ενσωματωμένοι επεξεργαστές καθυστερούν περίπου 10 έτη από τα υψηλής απόδοσης αντίστοιχά τους, από την άποψη της πολυπλοκότητας.
PIPELINING Τεχνικές Η τεχνική pipilined βελτιώνει το ρυθμό απόδοσης εφόσον δεν επηρεάζεται η σειρά εκτέλεσης των εντολών Στη συνέχεια θα αναφερθούν κίνδυνοι εξαιτίας της διασωλήνωσης pipeline hazards
Data Hazards To data hazard δημιουργείται όταν μια εντολή εξαρτάται από τα δεδομένα που παράγονται από την προηγούμενη εντολή, και αυτή η εντολή δεν έχει ακόμη ολοκληρωθεί. (το αποτέλεσμα δεν έχει εγγραφεί στο αρχείο καταχωρητή) Όπως φαίνεται στο σχήμα 4-5, η instruction 2 εξαρτάται από την τιμή που παράγεται στην instruction 1, και γι αυτό πρέπει να σταματήσει το σύστημα για τρεις κύκλους ID stage.
Data Hazards Η εξάρτηση στοιχείων μεταξύ των instruction 1 και 2 μπορεί να επιλυθεί χωρίς την εισαγωγή stall cycles, εάν η τιμή που παράγεται στο τέλος του EX σταδίου από την instruction 1 παρακάμπτεται άμεσα στο instruction 2, χωρίς να περνά από το register file (Σχήμα 4-6). Μερικές φορές δεν γίνεται να εξαλειφθούν εντελώς τα stall cycles όπως φαίνεται στο Σχήμα 4-7 Η τεχνική static scheduling (Σχήμα 4-8)
BYPASSES Σχήμα 4-5 Stall cycles οι οποίοι προκύπτουν από την εξάρτηση εντολών 1 και 2
BYPASSES Σχήμα 4-6 Η διαδικασία bypassing περιορίζει-εξαλείφει τα stall cycles
BYPASSES Σχήμα 4-7
BYPASSES Σχήμα 4-8 Το Static scheduling επαναταξινομεί τις εντολές περιορίζοντας τα stall cycles
Control Hazard Το control hazard συμβαίνει όταν ο PC (program counter) δεν μπορεί να υπολογιστεί στον επόμενο κύκλο, εισάγοντας stall instruction στο IF stage. Τα Control hazards προκαλούνται από branch instructions
Structural Hazards: Οφείλονται στις συγκρούσεις των πόρων των λειτουργικών μονάδων ή της μνήμης