ΗΥ-225: Οργάνωση Υπολογιστών
Άνοιξη 2017 |
Τμ. Επ. Υπολογιστών © Πανεπιστήμιο Κρήτης |
[Up - Table of Contents] [Prev - 8. Single-Cycle Processor] |
[printer version - PDF] [10. Proc. Perfromance, CPI - Next] |
Βιβλίο (4η έκδοση): Διαβάστε τις ενότητες 4.5 έως και 4.8, σελίδες 389 - 448.
(1) Απαριθμηστε τις βαθμίδες (στάδια) της pipeline του επεξεργαστή και για την κάθε μία περιγράψτε περιληπτικά (2-3 προτάσεις) την λειτουργία της.
(2) Ποιές βαθμίδες είναι απαραίτητες για ολες τις εντολές; Δηλαδή, ποιά στάδια της pipeline εκτελούν κάποια χρήσιμη λειτουργία για όλες τις εντολές, ανεξαρτήτως τύπου;
(3) Στην Pipeline υπάρχουν κάποια στάδια τα οποία δεν εκτελούν κάποια χρήσιμη λειτουργία για κάποιους τύπους εντολών. Ποιά στάδια ειναι αυτά; Ποιο στάδιο δεν κάνει κάποια χρήσιμη λειτουργία για τις εντολές αριθμητικής; Ποιό στάδιο δεν κάνει κάποια χρήσιμη λειτουργία για τις εντολές store;
(4) Ακολουθήστε τις παραπάνω οδηγίες ώστε να εγκαταστήσετε στην περιοχή σας τον προσομοιωτή Hase. Παρατηρήστε την εκτέλεση των εντολών και πώς αυτές μεταβαίνουν από το ένα στάδιο της pipeline στο επόμενο μέχρι την ολοκλήρωση τους. Γράψτε μερικές δικές σας αλληλουχίες εντολών και παρατηρήστε την εκτελεση τους. Συγκεκριμένα, γράψτε μερικές εντολές αριθμητικών πράξεων μεταξύ καταχωρητών, μερικές μεταξύ καταχωρητών και σταθερών, καθώς και μερικές εντολές load και store. Για κάθε μία απο αυτές τις (τρεις) περιπτώσεις γράψτε στην αναφορά σας τις εντολές που εκτελέσατε (τα περιεχόμενα του αρχείου "MEMORY.instr_mem.mem") συνοδευόμενα απο ένα screenshot απο την προσομοίωση.
(5) τρέξτε τις εξής δυο ακολουθίες εντολών:
SUB R1 R2 R3 SUB R1 R2 R3 ADD R4 R5 R6 ADD R4 R1 R6 BREAK BREAKΥπάρχει διαφορά ανάμεσα στον χρόνο εκτέλεσης των δυο ακολουθιών; Πόση είναι και που οφείλεται; Στο σχηματικό Pipeline (κατω αριστερά στο σχήμα του datapath) μπορείτε να δείτε ποιά εντολή βρίσκεται σε κάθε στάδιο του Pipeline, τι διαφορετικό παρατηρείτε στην εκτέλεση των δυο ακολουθιών; Ποιά εντολή περιμένει στη δεύτερη ακολουθία; Σε ποιο στάδιο και γιατί; (Παρατηρήστε ότι ο Hase υποθέτει μιά pipeline όχι ακριβώς ίδια με αυτήν που εμείς περιγράψαμε στο μάθημα, ή τέλος-πάντων όχι με όλα όσα είπαμε εμείς στο μάθημα...).
(6) Βασισμένοι στις διαπιστώσεις τις προηγούμενης ερώτησης μπορείτε να πείτε αν υπάρχει Forwarding στο datapath που προσομοιώσατε; Τι θα άλλαζε αν ήταν διαφορετικά απ' ότι είναι; Θα προχωρούσε στην εκτέλεση η εντολή που περιμένει για το αποτέλεσμα της προηγούμενης νωρίτερα/αργότερα αν ήταν διαφορετικά;
Τρόπος Παράδοσης:
Παραδώστε την άσκηση αυτή on-line, σε μορφή PDF (μόνον)
(μπορεί να είναι κείμενο μηχανογραφημένο ή/και "σκαναρισμένο" χειρόγραφο,
αλλά μόνον σε μορφή PDF).
Παραδώστε μέσω turnin ex09@hy225 [directoryName]
ένα αρχείο ονόματι ex09.pdf
που θα περιέχει τις απαντήσεις σας
σε όλες τις παραπάνω ερωτήσεις (1) έως και (6).
Θα εξεταστείτε και προφορικά για τις ασκήσεις 8 και 9 (μαζί),
από βοηθό του μαθήματος, με διαδικασία γιά την οποία θα ενημερωθείτε
μέσω ηλτά (email) στη λίστα του μαθήματος.