63
ASYCHRONOUS DISTANCE LEARNING MIA NEA ΔΙΑΣΤΑΣΗ ΣΤΟ ΧΩΡΟ ΔΙΔΑΣΚΑΛΙΑΣ ΑΘΑΝΑΣΗΣ ΝΙΚΟΛΑΟΣ-ΜΠΕΡΤΕΣ ΝΙΚΟΛΑΟΣ-ΝΑΟΥΜ ΝΙΚΟΛΑΟΣ

ASYCHRONOUS DISTANCE LEARNING

Embed Size (px)

DESCRIPTION

ASYCHRONOUS DISTANCE LEARNING. MIA NEA ΔΙΑΣΤΑΣΗ ΣΤΟ ΧΩΡΟ ΔΙΔΑΣΚΑΛΙΑΣ. ΑΘΑΝΑΣΗΣ ΝΙΚΟΛΑΟΣ-ΜΠΕΡΤΕΣ ΝΙΚΟΛΑΟΣ-ΝΑΟΥΜ ΝΙΚΟΛΑΟΣ. Περίληψη. Ανάπτυξη ενός προγράμματος που εξομοιώνει τη λειτουργία του pipelining σε έναν RISC επεξεργαστή. - PowerPoint PPT Presentation

Citation preview

Page 1: ASYCHRONOUS DISTANCE LEARNING

ASYCHRONOUS DISTANCE LEARNING

MIA NEA ΔΙΑΣΤΑΣΗ

ΣΤΟ ΧΩΡΟ ΔΙΔΑΣΚΑΛΙΑΣ

ΑΘΑΝΑΣΗΣ ΝΙΚΟΛΑΟΣ-ΜΠΕΡΤΕΣ ΝΙΚΟΛΑΟΣ-ΝΑΟΥΜ ΝΙΚΟΛΑΟΣ

Page 2: ASYCHRONOUS DISTANCE LEARNING

Περίληψη

• Ανάπτυξη ενός προγράμματος που εξομοιώνει τη λειτουργία του pipelining σε έναν RISC επεξεργαστή.

• Οι δυσκολίες που εμφανίστηκαν, η δομή του προγράμματος και οι δυνατότητες που αυτό προσφέρει.

• Εκτέλεση του προγράμματος.

Page 3: ASYCHRONOUS DISTANCE LEARNING

Το διαδίκτυο και οι αλλαγές που επιφέρει

• Παρατηρείται ραγδαία ανάπτυξη και ευρεία αποδοχή του World Wide Web (WWW) ως παγκόσμιο μέσο διάδοσης και επεξεργασίας πληροφοριών.

• Νέες προοπτικές ανοίγονται σε πολλούς τομείς των ανθρωπίνων δραστηριοτήτων, τόσο σε ατομικό , όσο και σε κοινωνικό επίπεδο.

Page 4: ASYCHRONOUS DISTANCE LEARNING

Οι νέες τεχνολογίες και ο χώρος της εκπαίδευσης

• Ένας από τους τομείς εκείνους που επηρεάζονται ολοένα και περισσότερο από την ανάπτυξη του WWW είναι αυτός της εκπαίδευσης.

• Για τη διδασκαλία των μαθηματικών, της φυσικής, της χημείας και πάνω από όλα της πληροφορικής, έχουν αναπτυχθεί προγράμματα που κάνουν χρήση της τεχνολογίας του Internet.

Page 5: ASYCHRONOUS DISTANCE LEARNING

Η παρούσα εργασία

• Στην παρούσα εργασία υλοποιήθηκε ένας προσομοιωτής της λειτουργίας Pipelining (Pipeline Simulator) ενός επεξεργαστή.

• Η υλοποίηση του προγράμματος έγινε ως JAVA Applet.

• To πρόγραμμα εκτελείται μέσα από το διαδίκτυο.

• Ο επεξεργαστής που προσομοιώνεται είναι ο MIPS R2000.

Page 6: ASYCHRONOUS DISTANCE LEARNING

Η έννοια του pipelining και οι δυσκολίες που περιέχει

• Η έννοια του pipelining είναι γενικά μια από τις σημαντικότερες έννοιες της Αρχιτεκτονικής Υπολογιστών (computer architecture).

• Οι φοιτητές αντιμετωπίζουν πολλές δυσκολίες στην κατανόησή της.

Page 7: ASYCHRONOUS DISTANCE LEARNING

Το Web λύνει τα προβλήματα

• Με την ανάπτυξη προγραμμάτων των οποίων η εκτέλεση γίνεται μέσω του World Wide Web, όπως ο παρακάτω Pipeline Simulator, πολλές από αυτές τις δυσκολίες μπορούν να αντιμετωπιστούν.

Page 8: ASYCHRONOUS DISTANCE LEARNING

Asychronous distance learning

• Η διδασκαλία πλέον παύει να γίνεται με τον παραδοσιακό τρόπο εκμάθησης και μελέτης ενός κειμένου.

• Εισάγεται ένας νέος όρος, αυτός της ασύγχρονης διδασκαλίας εξ αποστάσεως (asychronous distance learning).

Page 9: ASYCHRONOUS DISTANCE LEARNING

Asychronous learning

• Η διδασκαλία καλείται asychronous (ασύγχρονη) όταν δεν εξαναγκάζει το φοιτητή να παρευρίσκεται στη διδασκαλία σε καθορισμένη χρονική στιγμή (για παράδειγμα την ώρα των διαλέξεων).

Page 10: ASYCHRONOUS DISTANCE LEARNING

Distance learning

• Η διδασκαλία καλείται εξ αποστάσεως όταν ο φοιτητής δεν είναι αναγκασμένος να παρευρίσκεται ο ίδιος σε έναν προκαθορισμένο χώρο (για παράδειγμα στη σχολική αίθουσα).

Page 11: ASYCHRONOUS DISTANCE LEARNING

Ανά πάσα στιγμή και οπουδήποτε

• Χρησιμοποιώντας το World Wide Web, δάσκαλοι και φοιτητές έχουν πρόσβαση σε προγράμματα όπως ο Pipeline Simulator ανά πάσα στιγμή και οπουδήποτε.

• Δεν υπάρχουν πλέον χωρικές και χρονικές δεσμεύσεις.

Page 12: ASYCHRONOUS DISTANCE LEARNING

Εξοικονόμηση χρόνου

• Στο παραδοσιακό εκπαιδευτικό σύστημα, οι ώρες διδασκαλίας πολλές φορές δεν επαρκούν για τους φοιτητές.

• Τώρα με τη διευκόλυνση που προσφέρει το Internet, η μελέτη μπορεί να γίνει από το ίδιο το σπίτι του φοιτητή.

Page 13: ASYCHRONOUS DISTANCE LEARNING

Όταν ο καθηγητής δεν επαρκεί

Πληροφορίες σχετικές με πολυμέσα (multimedia information):Για παράδειγμα η μελέτη για graphics animation.

Interactive Information: Πληροφορίες και δεδομένα που αλλάζουν ανά πάσα στιγμή ανάλογα με τις απαιτήσεις του χρήστη.

Πληροφορίες όπως:

Page 14: ASYCHRONOUS DISTANCE LEARNING

Ζωντάνια και ρεαλιστικότητα

• Τέτοιες πληροφορίες συνήθως δεν μπορούν να αναπαρασταθούν και να κατανεμηθούν σε μορφή έγγραφου κειμένου ή με προβολή διαφανειών σε έναν projector.

• H πληροφορία πρέπει να αναπαρασταθεί σε μια πιο «ζωντανή» μορφή, με περισσότερη ρεαλισμό.

Page 15: ASYCHRONOUS DISTANCE LEARNING

Δημιουργική μάθηση

• Η ανάπτυξη του Pipeline Simulator δεν αποσκοπεί στην ριζική αλλάγή του τρόπου διδασκαλίας.

• Αυτό που επιθυμεί είναι να αποτελέσει συμπληρωματικό στοιχείο του τρόπου διδασκαλίας της έννοιας του Pipelining.

• Μέσα σε ένα interactive περιβάλλον, ο μαθητής «διδάσκεται δημιουργώντας».

Page 16: ASYCHRONOUS DISTANCE LEARNING

Εξοικονόμηση χρημάτων

• Τα βιβλία που απαιτούνται είναι τόσο ακριβά και πολλά, που αρκετοί φοιτητές αδυνατούν να τα αγοράσουν.

• Με τον Pipeline Simulator, το πρόβλημα αυτό παύει να υφίσταται. Δεν χρειάζονται πλέον χρήματα σε βιβλία και σε επιστημονικά διατριβές.

• Αρκεί ένας Web Browser, ο οποίος διατίθεται δωρεάν από το Internet, για να μελετηθεί το φαινόμενο.

Page 17: ASYCHRONOUS DISTANCE LEARNING

Σε τι αποσκοπεί η ανάπτυξη του Pipeline Simulator:

Στην καλύτερη κατανόηση της έννοιας και σε βάθος.

Στην αύξηση του ενδιαφέροντος του μαθητή, κάτι που θα τον οδηγήσει σε νέες γνώσεις και ενδιαφέροντα.

Page 18: ASYCHRONOUS DISTANCE LEARNING

Προβλήματα

• Το πρόγραμμα αναπτύχθηκε ως JAVA Αpplet, ώστε να γίνεται εκμετάλλευση της τεχνολογίας του Internet.

• To γεγονός αυτό, πέρα από τη δεδομένη δυσκολία που έχει η ανάπτυξη ενός JAVA Applet, οδήγησε και σε μια σειρά άλλων προβλημάτων, που εμφανίστηκαν κατά τις διάφορες φάσεις της υλοποίησης.

Page 19: ASYCHRONOUS DISTANCE LEARNING

Διαβάζοντας τα δύο σημαντικά αρχεία

• Για την εκτέλεση του προγράμματος είναι απαραίτητη η ανάγνωση (parsing) δύο files, τα οποία περιγράφουν:To πρόγραμμα που εκτελείται (το assembly-

programm).Τη δομή του datapath.

• Όταν το πρόγραμμα προσπαθεί να διαβάσει τα δύο αυτά files, η εκτέλεσή του σταματάει και εμφανίζει αντίστοιχα μηνύματα λάθους.

Page 20: ASYCHRONOUS DISTANCE LEARNING

Η γραφική εφαρμογή FileChooser

• Η JAVA χρησιμοποιεί την γραφική εφαρμογή FileChooser, για να διαβάσει και να επεξεργαστεί ένα αρχείο, που βρίσκεται τοπικά καταχωρημένο στον υπολογιστή.

Page 21: ASYCHRONOUS DISTANCE LEARNING

JAVA Security

• H JAVA έχει αναπτύξει ολόκληρο μηχανισμό, για να ελέγχει εάν η εκτέλεση (μεταφορά) ενός προγράμματος είναι ασφαλής ή όχι.

• Αυτός ο μηχανισμός, γνώστός και ως JAVA Security, διαθέτει μια σειρά από εργαλεία που ελέγχουν κατά πόσο είναι ασφαλής η εκτέλεση ενός JAVA προγράμματος.

Page 22: ASYCHRONOUS DISTANCE LEARNING

Security και JAVA Applets

• Έτσι, για JAVA προγράμματα που εκτελούνται μέσς του διαδικτύου, η JAVA Security θέτει τους εξής περιορισμούς (μεταξύ άλλων):

Διάβασμα αρχείων.Γράψιμο αρχείων.Σβήσιμο αρχείων.

Page 23: ASYCHRONOUS DISTANCE LEARNING

Η διαφορά μεταξύ JAVA Applets και JAVA Applications

NN NL JAΔιάβασμα ενός αρχείου Όχι Όχι ΝαιΓράψιμο σε ένα αρχείο Όχι Όχι ΝαιΑπόκτηση γενικώνπληροφοριών

Όχι Όχι Ναι

Διαγραφή του αρχείου Όχι Όχι ΝαιΔιάβασμα της μεταβλητήςuser.name.

Όχι Ναι Ναι

Ένωση σε Port Όχι Όχι ΝαιΧρησιμοποίηση μιαςβιβλιοθήκης (library)

Όχι Ναι Ναι

Εκτέλεση της εντολήςexit(-1)

Όχι Όχι Ναι

Κατασκευή ενός pop-upπαραθύρο χωρίς μηνύματαWARNING.

Όχι Ναι Ναι

Page 24: ASYCHRONOUS DISTANCE LEARNING

Security Exception στο Pipeline Simulator

• O μηχανισμός της JAVA Security ανακαλύπτει ότι το πρόγραμμα προσπαθεί να διαβάσει τα 2 αρχεία.

• Μια Security Exception εμφανίζεται και το πρόγραμμα σταματάει.

Page 25: ASYCHRONOUS DISTANCE LEARNING

Προϋποθέσεις

• Προϋποθέσεις που πρέπει να τηρηθούν για την επιτυχημένη εκτέλεση του προγράμματος.

• Προϋποθέσεις που πρέπει να τηρηθούν για την επιτυχημένη υλοποίηση του προγράμματος.

Page 26: ASYCHRONOUS DISTANCE LEARNING

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ

• Το πρόγραμμα του Pipeline Simulator εκτελείται πάνω από κάθε λειτουργικό σύστημα, διότι έχει υλοποιηθεί ως JAVA Applet.

• Το πρόγραμμα έχει εκτελεστεί πάνω από Windows 9x, Windows NT και Sun Solaris.

Page 27: ASYCHRONOUS DISTANCE LEARNING

WEB BROWSERS

• Για την εκτέλεση του Pipeline Simulator απαιτείται η χρήση ενός Web Browser.

• Oι κυριότεροι Web Browsers είναι:O Netscape Navigator.O Internet Explorer

Page 28: ASYCHRONOUS DISTANCE LEARNING

JVM

• Πριν την εκτέλεση του προγράμματος, θα πρέπει να επιτραπεί στον Web Browser να εκτελέσει Java Applets.

• Αυτό γίνεται με την ενεργοποίηση της JVM (Java Virtual Machine)

Page 29: ASYCHRONOUS DISTANCE LEARNING

PLUG-IN

• Για την εκτέλεση του πρόγραμμα του Pipeline-Simulator, έπρεπε πρώτα να γίνει εγκατάσταση ενός ειδικού προγράμματος (Plug-in).

• Χωρίς αυτό, η εκτέλεσή του είναι αδύνατη.

• To Plug-in διατίθεται δωρεάν στο Internet.

Page 30: ASYCHRONOUS DISTANCE LEARNING

JDK

• Για την υλοποίηση και ανάπτυξη ενός JAVA προγράμματος όπως ο Pipeline Simulator απαιτείται η χρήση ενός JDK (Java Development Kit).

• To πρόγραμμα υλοποιήθηκε με το JDK 1.2, το οποίο διατίθεται δωρεάν από το δικτυακό χώρο της εταιρίας Sun Microsystems.

Page 31: ASYCHRONOUS DISTANCE LEARNING

Συμβατότητα με MIPS R2000• Για την εκτέλεση του προγράμματος

απαιτείται το διάβασμα (parsing) ενός text-αρχείου, που κρατάει το assembly-πρόγραμμα, το οποίο θα προσομοιωθεί.

• Σε αντίθετη περίπτωση εμφανίζονται μηνύματα λάθους.

Page 32: ASYCHRONOUS DISTANCE LEARNING

Παρόμοια προγράμματα

• SPIM S20: Προσομοίωση σε MIPS R2000 και MIPS R3000. Mόνο για Macintosh. Δεν μπορεί να εκτελεστεί πάνω από το Web.

• Processor-/Simulation RSC-34000: Για όλες τις πλατφόρμες. Μόνο τοπική εκτέλεση.

Page 33: ASYCHRONOUS DISTANCE LEARNING

ΓΙΑΤΙ JAVA;

H JAVA είναι ανεξάρτητη από το λειτουργικό σύστημα και την αρχιτεκτονική του εκάστοτε συστήματος.

Page 34: ASYCHRONOUS DISTANCE LEARNING

Γιατί JAVA – APPLET;

• Tα JAVA Applets εκτελούνται μέσω Web Browsers.

• O Web Browser διαβάζει την HTML σελίδα και εκτελεί το JAVA- Αpplet.

Page 35: ASYCHRONOUS DISTANCE LEARNING

JAVA Applets και ΗΤΜL

• Ένα JAVA Applet μπορεί να εκτελεστεί, όταν εισαχθεί η κατάλληλη ετικέτα (tag), στο ΗΤΜL έγγραφο.

<HTML><HEAD> <TITLE> Τhe Pipeline Simulator</TITLE>

</HEAD> <BODY>

<APPLET CODE="Sim.class" WIDTH=150 HEIGHT=25> </APPLET>

</BODY></HTML>

Page 36: ASYCHRONOUS DISTANCE LEARNING

JAVA Applets: Βήμα προς βήμα (I):

• Το JAVA Applet γράφεται (αναπτύσσεται).

• Το αρχείο έχει κατάλληξη: .java.

• Για παράδειγμα: Simulation.java.

Page 37: ASYCHRONOUS DISTANCE LEARNING

JAVA Applets: Βήμα προς βήμα (II):

• Σε ένα HTML έγγραφο (Web page) δηλώνεται ότι επιθυμείται η εκτέλεση του JAVA Applet.

• Αυτό δηλώνεται μέσω του class file του Αpplet.

<APPLET CODE="Sim.class" WIDTH=150 HEIGHT=25></APPLET>

Page 38: ASYCHRONOUS DISTANCE LEARNING

JAVA Applets: Βήμα προς βήμα (III):

• O Web Browser αναζητά το class αρχείο. Το directory του class file καθορίζεται από τις ετικέτες (tags) <CODE> και <CODEBASE>.

• To class file περιέχει JAVA Bytecodes, ένα format που επιτρέπει την εκτέλεση του πργράμματος πάνω από διάφορες πλατφόρμες.

Page 39: ASYCHRONOUS DISTANCE LEARNING

JAVA Applets: Βήμα προς βήμα (IV):

• O Web Browser μεταφέρει το JAVA Bytecodes πάνω από το δίκτυο.

• Ο Web Browser δημιουργεί μια instance (αρχικοποιεί) το Αpplet.• O Web Browser (μέσω της JVM που διαθέτει) καλεί την init() συνάρτηση του Αpplet και ξεκινά την εκτέλεσή του.

Page 40: ASYCHRONOUS DISTANCE LEARNING

JAVA Applets: Βήμα προς βήμα (V):

Page 41: ASYCHRONOUS DISTANCE LEARNING

Τί είναι Swing και σε τί χρησιμοποιήθηκε;

• Όλα τα γραφικά στοιχεία του Pipeline Simulator αναπτύχθηκαν με τις Swing βιβλιοθήκες της JAVA.

• Buttons, windows, menus, πίνακες και πολλά άλλα, σχεδιάστηκαν μέσω των Swing συναρτήσεων.

Page 42: ASYCHRONOUS DISTANCE LEARNING

Η αντιμετώπιση των Security Exceptions

• Μια networkconnection μεταφέρει το JavaCode από τον server στον client. Δεν χρειάζεται πλέον η αποθήκευση των αρχείων στο μηχάνημα του χρήστη.

• Η networkconnection υλοποιείται με ειδικές συναρτήσεις της JAVA.

• Με αυτό τον τρόπο, το πρόγραμμα εκτελείται κανονικά.

• Μόνο η networkconnection με τον server, στον οποίο το Applet έχει καταχωρηθεί είναι εφικτή.

Page 43: ASYCHRONOUS DISTANCE LEARNING

servers και networkconnections

• Στον server www.csd.uch.gr γράφεται (εκτελείται) το JAVA Applet.

• Στον κώδικά του (το java file του) δηλώνεται (μέσω ειδικών συναρτήσεων της JAVA για networkconnection), δηλώνεται ότι θα διαβαστεί το file: http://www.csd.uch.gr/test.

• O Web Server επιτρέπει το loading (εκτέλεση) του Αpplet, διότι βρίσκεται στον ίδιο server με τον server που βρίσκεται το test.txt αρχείο.

Page 44: ASYCHRONOUS DISTANCE LEARNING

Δομή του Pipeline Simulator(I)

• H κύρια κλάση (main function) του προγράμματος είναι η Sim class.

• Το πρόγραμμα χωρίστηκε σε 4 υποπακέτα (subpackages), του πακέτου mips. mips.dialog mips.util mips.pipeline mips.element

• Δύο κλάσεις ανήκουν στο ίδιο subpacket, αν έχουν το ίδιο functionality.

Page 45: ASYCHRONOUS DISTANCE LEARNING

Δομή του Pipeline Simulator(II)

• Kάθε κλάση αναλαμβάνει μια υπηρεσία (για παράδειγμα γραφική αναπαράσταση της προσομοίωσης).

Graphical user interface

Eκτέλεση του pipeling

Class Sim:Kύρια κλάση του

προγράμματος

Page 46: ASYCHRONOUS DISTANCE LEARNING

Compilation του προγράμματος• Ο JAVA compiler μεταφράζει το JAVA πρόγραμμα σε εντολές,

τις οποίες εκτελεί η Java Virtual Machine (ByteCodes).• Μέσω του command prompt, ο java compiler (javac) ψάχνει τα

λάθη και αν δεν υπάρχουν, δημιουργεί το class file.

• Παράδειγμα: javac mips/Pipeline.java

Page 47: ASYCHRONOUS DISTANCE LEARNING

Πώς υλοποιείται η networkconnection;

• Ακολουθεί το κομμάτι του προγράμματος που υλοποιεί την networkconnection με τον server www.irb.uni-hannover.de.

URL csd = new URL("http://www.csd.uch.gr/test.txt");

URLConnection csdConnection = csd.openConnection();

in = new BufferedReader(new InputStreamReader(

csdConnection.getInputStream()));

String text;

StringBuffer buf=new StringBuffer();

/*read each line of the file*/

while ((text=in.readLine())!=null) {

/*parsing of the file*/

/*********/

}

Page 48: ASYCHRONOUS DISTANCE LEARNING

Η προσομοίωση είναι έτοιμη να αρχίσει

Page 49: ASYCHRONOUS DISTANCE LEARNING

Εξερεύνηση της εφαρμογής(Ι)• Επιλογή προγράμματος από το εικονίδιο ,

ή από την επιλογή Datei > Programm Laden.

• Η στήλη Adr περιέχει τη διεύθυνση αποθήκευσης της αντίστοιχης εντολής. H εντολή φαίνεται στην στήλη Befehl.

• Κάθε εντολή παίρνει ένα χρώμα που την ακολουθεί κατά τη διάρκεια της προσομοίωσης (στήλη Col).

Page 50: ASYCHRONOUS DISTANCE LEARNING

Εξερεύνηση της εφαρμογής(ΙΙ)

• Επιλογή datapath από το εικονίδιο , ή από την επιλογή Datei >Pipeline Laden.

• H προσομοίωση εκτελείται σε περιόδους 2 υποδιαστημάτων. Επόμενο υποδιάστημα προσομοίωσης από την επιλογή: Pipeline >

Taktimpuls, ή από το εικονίδιο .

• Με το εικονίδιο η προσομοίωση επανέρχεται σε προηγούμενες φάσεις.

Page 51: ASYCHRONOUS DISTANCE LEARNING

Εξερεύνηση της εφαρμογής(ΙΙΙ)

• Με το εικονίδιο επαναφορά στην αρχική (μηδενική) φάση.

• Με την επιλογή:Anzeigen>Register ή το εικονίδιο , βλέπουμε το περιεχόμενο των καταχωρητών.

Page 52: ASYCHRONOUS DISTANCE LEARNING

Εξερεύνηση της εφαρμογής(ΙV)

• Mε την επιλογή: Anzeigen>Speicher ή το εικονίδιο , βλέπουμε το περιεχόμενο της μνήμης (memory).

Page 53: ASYCHRONOUS DISTANCE LEARNING

Εξερεύνηση της εφαρμογής(V)

• Mε την επιλογή Anzeigen>Elementinformation ή το εικονίδιο , δίνονται χρήσιμες πληροφορίες για την εκάστοτε φάση της προσομοίωσης.

Page 54: ASYCHRONOUS DISTANCE LEARNING

Εξερεύνηση της εφαρμογής(VΙ)

• Επιλογή χρωμάτων: Einstellungen>Pipelinefarben.

• Επιλογή Big Endian-Little Endian:

Einstellungen>Big Endian και Einstellungen>Little Endian.

Page 55: ASYCHRONOUS DISTANCE LEARNING

Εξερεύνηση της εφαρμογής(VΙI)

• Mια τυχαία φάση της προσομοίωσης:

Page 56: ASYCHRONOUS DISTANCE LEARNING

Από τη θεωρία στην πράξη

• Το datapath αποτελείται από:– PC (Programm Counter)

– Δύο Adders (αθροιστές)

– ALU (Arithmetik Logic Unit)

– RegisterFile

– Τρείς MUXs (Multiplexers)

– Shift Left (SL)

– Sign Extend (SE)

– Data Memory

– Instruction Memory

– Πέντε Buffers.Μεταφέρουν τα data από το ένα επίπεδο στο άλλο.

Page 57: ASYCHRONOUS DISTANCE LEARNING

Από τη θεωρία στην πράξη(Ι)

• Ο MIPS R2000 processor αποτελείται από ένα pipeline 5 βημάτων ΙF, ID, EX,MEM, WB.

• Για να αντιμετωπιστούν τα διάφορα conflicts, χωρίζουμε κάθε κύκλο ρολογιού σε 2 υποκύκλους. Στον πρώτο γράφεται στους καταχωρητές και στο δεύτερο διαβάζονται τα data από τις εισόδους των στοιχείων του datapath.

Page 58: ASYCHRONOUS DISTANCE LEARNING

Από τη θεωρία στην πράξη (ΙΙ)• Το πρόγραμμα αποτελείται

από 11 εντολές. Στις πρώτες 2 εντολές οι τιμές 100 και 3 δίνονται στους $2 και $1. Μετά μειώνεται η τιμή του $1 από 3 σε 2. Μετά μειώνεται ο $1 κατά ένα, μέχρι να πάρει την τιμή 0. Τέλος ο $1 καταχωρείται στην θέση μνήμης 128.

Page 59: ASYCHRONOUS DISTANCE LEARNING

• Πατώντας μια φορά στο εικονίδιο ,παρατηρούμε ότι:

Η πρώτη εντολή παίρνει ένα χρώμα στη στήλη Col. Το ίδιο χρώμα παίρνει το δεξί μέρος του Instruction

Memory και το πρώτο εικονίδιο Control.

Αυτό σημαίνει ότι η Ιnstruction Memory έκανε ΙF (Ιnstruction Fetch) της πρώτης εντολής.

Από τη θεωρία στην πράξη (ΙΙΙ)

Page 60: ASYCHRONOUS DISTANCE LEARNING

Από τη θεωρία στην πράξη (ΙV)• Πατώντας άλλη μια φορά, το δεξί μέρος τωv buffers

χρωματίζεται, δείχνοντας ότι οι είσοδοί τους μεταφέρονται στις εξόδους τους.

• Στο τρίτο υποδιάστημα προσομοίωσης, η δεύτερη εντολή παίρνει ένα χρώμα (διαφορετικό της πρώτης).Το ίδιο χρώμα παίρνει η Instruction Memory και το πρώτο Control εικονίδιο.

• Το SE και το δεύτερο Control εικονίδιο λαμβάνουνε το ίδιο χρώμα με αυτό της πρώτης εντολής.

Page 61: ASYCHRONOUS DISTANCE LEARNING

Από τη θεωρία στην πράξη (V)

• Γενικά, κάθε εντολή λαμβάνει ένα χρώμα, ώστε να παρατηρηθεί καλύτερα η εκτέλεσή της. Όταν ένα στοιχείο του datapath έχει το ίδιο χρώμα με αυτό μιας εντολής, στη διάρκεια του κύκλου το στοιχείο εκτέλεσε την εντολή αυτή.

Page 62: ASYCHRONOUS DISTANCE LEARNING

Έλεγχος του προγράμματος

• Συμβατότητα και λειτουργικά συστήματα:Το πρόγραμμα ελέγχθηκε πάνω από:

Windows NT, Windows 98 kai Sun Solaris.

• Συμβατότητα και Web Browsers:Tο πρόγραμμα ελέχγθηκε πάνω από:

Netscape Navigator (Version 4.7).

Internet Explorer (Version 5).

Page 63: ASYCHRONOUS DISTANCE LEARNING

Επίλογος-Συμπεράσματα

• Παρουσιάσαμε ένα πρόγραμμα προσομοίωσης του pipelining ενός MIPS R2000 επεξεργαστή.

• Ο Pipeline Simulator όχι μόνο θα βοηθήσει σημαντικά στην κατανόηση της έννοιας του pipelining, αλλά θα αποτελέσει σημείο αναφοράς στην ανάπτυξη παρόμοιων προγραμμάτων.