Πίσω

4. Breakpoint

Ας θεωρήσουμε την εξής περίπτωση: Ανοίγοντας το παράθυρο Code διαπιστώνουμε ότι όλες οι εντολές είναι λίγο πολύ παρόμοιες, και μάλιστα sw-λειτουργίες που αποθηκεύουν τιμές από καταχωρητές στη μνήμη. Προκειμένου να μην πατάμε συνέχεια F7, επιταχύνουμε τη διαδικασία με την εισαγωγή ενός σημείου διακοπής.

Με την κλήση της διακοπής trap 0x5 έχουμε εμφάνιση του αποτελέσματος στην οθόνη. Στο παράθυρο του κώδικα επιλέγουμε Set Breakpoint και σε ποιο στάδιο της σωλήνωσης θα εισαχθεί η εξαίρεση. Στο παράθυρο του κώδικα εμφανίζεται πλέον η ένδειξη BID.

Όσον αφορά στο clock cycle diagram window,αν το φέρουμε στην οθόνη, διαπιστώνουμε ότι η προσομοίωση είναι μεν τώρα στο 14ο κύκλο, αλλά η διακοπή φαίνεται ως εξής:

Ο λόγος είναι ότι η σωλήνωση καθαρίζεται από το DLX όποτε συναντάται διακοπή, για να αποφευχθούν τα όποια προβλήματα. Το παραπάνω αναφέρεται και στο information window (double click στη γραμμή με τη διακοπή trap-line) ως εξής: "3 stall(s) because of Trap-Pipeline-Clearing!" στο IF στάδιο.

Η διακοπή trap 0x5 έχει ήδη γράψει στην οθόνη.(πράγμα που μπορούμε να επιβεβαιώσουμε επιλέγοντας Execute / Display DLX-I/O από τη μπάρα εργασίας στο κυρίως παράθυρο).