Ανίχνευση σφαλμάτων σε πολυπύρηνα συστήματα με τη χρήση λογισμικού

 
Το τεκμήριο παρέχεται από τον φορέα :

Αποθετήριο :
Ιδρυματικό Αποθετήριο Ολυμπιάς
δείτε την πρωτότυπη σελίδα τεκμηρίου
στον ιστότοπο του αποθετηρίου του φορέα για περισσότερες πληροφορίες και για να δείτε όλα τα ψηφιακά αρχεία του τεκμηρίου*
κοινοποιήστε το τεκμήριο




2019 (EL)

Ανίχνευση σφαλμάτων σε πολυπύρηνα συστήματα με τη χρήση λογισμικού (EL)
Fault detection on multi-core systems using software (EN)

Παπαϊωάννου, Χριστόφορος (EL)

Πανεπιστήμιο Ιωαννίνων. Πολυτεχνική Σχολή. Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής (EL)
Παπαϊωάννου, Χριστόφορος (EL)
Καβουσιανός, Χρυσοβαλάντης (EL)

Τα πολυπύρηνα Συστήματα-σε-Ολοκληρωμένα (multicore System-On-Chip - SoCs) αποτελούν σήμερα την κυρίαρχη επιλογή σχεδίασης ηλεκτρονικών συστημάτων σε ημιαγωγούς. Την ευρεία διάδοση τους ευνόησε η υψηλή πυκνότητα ολοκλήρωσης που προσέφεραν οι βαθιά υπόμικρονικές τεχνολογίες καθώς και η δραστική μείωση του χρόνου σχεδίασης και του κόστους κατασκευής. Τα πολυπύρηνα SoCs προσφέρουν υψηλή απόδοση και αναπτύχθηκαν ραγδαία λόγω του «νόμου του Moore»[1], ο οποίος όμως δέχεται πλέον υψηλές πιέσεις λόγω των φυσικών ορίων, κάνοντας εξαιρετικά δύσκολη την περαιτέρω αύξηση της πυκνότητας ολοκλήρωσης. Για παράδειγμα, σε τεχνολογίες κάτω των 32 nm τα ρεύματα διαρροής είναι τόσο αυξημένα για υψηλές τάσεις κατωφλίου, που θέτουν πλέον απαγορευτικό το κόστος διαχείρισης της κατανάλωσης ισχύος και της θερμοκρασίας στα SoCs . Πέρα όμως από τα σημαντικά οφέλη, η υψηλή πολυπλοκότητα των πολυπύρηνων SoCs έχει εισαγάγει νέες προκλήσεις στην σχεδίαση, κατασκευή αλλά και την ανίχνευση ελαττωματικών ολοκληρωμένων συστημάτων. Ειδικότερα στον έλεγχο ορθής λειτουργίας των SoCs σημαντικές προκλήσεις αποτελούν η ενσωμάτωση πολλών πυρήνων στο ίδιο ολοκληρωμένο, η περιορισμένη πρόσβαση μέσω ενός μικρού αριθμού εξωτερικών υποδοχών (pins), η δυσκολία πρόσβασης στους εσωτερικούς κόμβους και ο υψηλός όγκος δεδομένων ελέγχου που πρέπει να μεταφερθούν στους ενσωματωμένους πυρήνες. Στην ιδιαίτερη περίπτωση των πολυπύρηνων επεξεργαστών SoCs (processor-based) ο έλεγχος πρέπει επιπλέον να ακολουθεί αυστηρούς περιορισμούς σχεδίασης, ενώ οι επεξεργαστικοί πυρήνες (CPUs) πρέπει να ελέγχονται στον κανονικό τρόπο λειτουργίας (mission-mode) με χρήση μη παρεμβατικών μεθόδων ελέγχου. Επομένως, οι λύσεις σχεδιασμού για δοκιμαστικότητα (Design-For-Testability - DFT), όπως οι αλυσίδες ολίσθησης ή οι τεχνικές ενσωματωμένου αυτοελέγχου συμπληρώνονται από λύσεις λειτουργικού ελέγχου (functional testing), όπως ο αυτοέλεγχος βασισμένος σε λογισμικό (Software-Based-Self-Test ή SBST). Το SBST είναι μία τεχνική κατά την οποία ο έλεγχος του υλικού του επεξεργαστικού πυρήνα διενεργείται από προγράμματα ελέγχου τα οποία ενεργοποιούν πιθανά σφάλματα στον επεξεργαστικό πυρήνα και τα διαδίδουν σε σημεία παρατήρησης, όπως η ενσωματωμένη μνήμη ή/και η εξωτερική μνήμη. Η βασική ιδέα του SBST είναι η χρήση του συνόλου εντολών (Instruction Set Architecture, ISA) ενός επεξεργαστή για την ενεργοποίηση σφαλμάτων και την μεταφορά των προκαλούμενων λαθών σε σημεία παρατήρησης όπως οι καταχωρητές και τελικώς η μνήμη. Κατά το SBST ο μικροεπεξεργαστής εκτελεί ένα σύνολο ρουτινών, οι οποίες εφαρμόζουν στις επιμέρους μονάδες του ακολουθίες διανυσμάτων ελέγχου. Στην συνέχεια, αποθηκεύει τις αποκρίσεις του ελέγχου στη κύρια μνήμη τις οποίες συγκρίνει με τις αναμενόμενες αποκρίσεις για την ανίχνευση των ελαττωμάτων. Ένα σημαντικό πρόβλημα στην περίπτωση του ελέγχου με την τεχνική SBST είναι η έλλειψη των κατάλληλων εργαλείων εξομοίωσης σφαλμάτων. Ενώ για τον δομικό έλεγχο έχουν αναπτυχθεί αρκετά εργαλεία εξομοίωσης σφαλμάτων και παραγωγής διανυσμάτων ελέγχου, για τον έλεγχο με την βοήθεια λογισμικού δεν υπάρχουν ακόμη τα κατάλληλα εργαλεία. Τα οφέλη της αυτοδοκιμής με λογισμικό είναι πολλαπλά. Καταρχήν, επιτρέπει τη δοκιμή στην πραγματική συχνότητα λειτουργίας με τη χρησιμοποίηση οποιουδήποτε εξωτερικού ελεγκτή χαμηλού κόστους. Επιπλέον, το λογισμικό αυτοδοκιμής “ταιριάζει” περισσότερο για αυτοδοκιμή στο πεδίο λειτουργίας σε σχέση με την κλασική αυτοδοκιμή με ειδικό πρόσθετο υλικό που απαιτεί να τεθεί ο μικροεπεξεργαστής σε ειδική κατάσταση δοκιμής. Τέλος, αν κατά τη διάρκεια της λειτουργίας του συστήματος παραστεί η ανάγκη για αλλαγή, ή βελτίωση του συνόλου των διανυσμάτων δοκιμής για παράδειγμα για ένα άλλο μοντέλο ελαττωμάτων, το λογισμικό αυτοδοκιμής μπορεί εύκολα να προσαρμοστεί, σε αντίθεση με το υλικό. Ο στόχος της μεταπτυχιακής εργασίας είναι η δημιουργία κατάλληλου εξομοιωτή ο οποίος θα επιτρέψει την ανάπτυξη “έξυπνων” μεθόδων SBST για τον έλεγχο πολυπύρηνων SoCs. Στα πλαίσια της εργασίας αυτής θα αναπτυχθεί και θα χρησιμοποιηθεί ένας εξομοιωτής σφαλμάτων ειδικά για εφαρμογές SBST που θα υποστηρίζει διάφορα μοντέλα σφαλμάτων χρησιμοποιώντας καινοτόμες τεχνικές απόρριψης σφαλμάτων (fault-dropping). Για την αποτελεσματικότερη ανίχνευση των σφαλμάτων χρησιμοποιήθηκαν αρκετά διαφορετικά προγράμματα εντολών στοχεύοντας έτσι στην ανίχνευση όσο γίνεται δυνατόν περισσότερων ομάδων σφαλμάτων. (EL)
In a competitive semiconductor market, multicore SoCs constitute the dominant design style for high performance and short time-to-market. Multicore SoCs exploit the high integration density offered by the very deep sub-micron technologies in order to increase the performance by integrating on the same die a large variety of homogeneous and heterogeneous cores, and they drastically shorten both the design cycle and the development cost. Multiplex SoCs offer high performance and have developed rapidly due to Moore's law [1], which however now accepts high pressures due to physical limits, making it extremely difficult to further increase the density of integration. For example, in technologies below 32 nm, leakage currents are so elevated for high thresholds, which now prohibit the cost of managing power consumption and temperature in SoCs. Despite the significant benefits, the high complexity of the SoCs multi-core systems has introduced new challenges in the design, construction and detection of defective integrated systems. Especially in the fault-free operation of SOCs, major challenges are the integration of multiple cores into the same IC, the limited access through a small number of external sockets, the difficulty of accessing internal nodes and the large amount of control data to be transferred to the embedded kernels. In the case of multi-core processors SoCs (processor-based), control must follow strictly restrictive designs, while processor cores (CPUs) must be tested in normal mode (mission mode) using non-invasive control methods. Therefore, DFT, such as sliding chains or built-in stand-alone techniques, are complemented by functional-testing solutions such as Software-Based Self-Test or SBST. SBST is a technique in which the testing of the processing core is performed by special test programs that trigger potential errors in the processing kernel and propagate to observation points such as built-in memory and / or external memory. The basic idea of SBST is to use a processor's Instruction Set Architecture (ISA) to trigger errors and transfer the resulting errors to observation points such as registers and ultimately the memory. During SBST, the microprocessor executes a set of routines that apply control vector sequences to all individual units. It then stores the control responses in the master memory which compares with the expected responses to detect the defects. A major problem with SBST is the lack of proper CAD tools. While for building control several fault-simulation and control vector generation tools have been developed, software-based self-testing is not yet supported by the right tools. The benefits of SBST are many. SBST allows testing the actual operating frequency by using any external low cost controller. In addition, the self-test software is suitable for in-field-testing. Finally, if during the operation of the system there is a need for change, or improvement of the testing process (e.g. for a different defect model), the self-test software can be easily adjusted, while this is not true for the hardware. The main objective of the master thesis is to develop a software-based fault simulator that will advanced methods for testing multicore SoCs. In this work, an SBST-simulator will be developed and used to support various error models using innovative fault-dropping techniques. Several different command programs were used to more effectively detect errors. In this way, it aims in detecting as many groups of errors as possible. (EN)

masterThesis

SoCs (EN)


Ελληνική γλώσσα

2019


Πανεπιστήμιο Ιωαννίνων. Πολυτεχνική Σχολή. Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής (EL)




*Η εύρυθμη και αδιάλειπτη λειτουργία των διαδικτυακών διευθύνσεων των συλλογών (ψηφιακό αρχείο, καρτέλα τεκμηρίου στο αποθετήριο) είναι αποκλειστική ευθύνη των αντίστοιχων Φορέων περιεχομένου.