ΑΝΑΠΤΥΞΗ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΕΞΟΜΟΙΩΣΗ ΤΗΣ ΛΕΙΤΟΥΡΓΙΑΣ ΕΝΟΣ ΕΠΕΞΕΡΓΑΣΤΗ ΜΕ ΔΙΕΥΡΥΜΕΝΟ ΡΕΠΕΡΤΟΡΙΟ ΕΝΤΟΛΩΝ

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΑΝΑΠΤΥΞΗ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΕΞΟΜΟΙΩΣΗ ΤΗΣ ΛΕΙΤΟΥΡΓΙΑΣ ΕΝΟΣ ΕΠΕΞΕΡΓΑΣΤΗ ΜΕ ΔΙΕΥΡΥΜΕΝΟ ΡΕΠΕΡΤΟΡΙΟ ΕΝΤΟΛΩΝ"

Transcript

1 Ειδική Επιστημονική Εργασία ΑΝΑΠΤΥΞΗ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΕΞΟΜΟΙΩΣΗ ΤΗΣ ΛΕΙΤΟΥΡΓΙΑΣ ΕΝΟΣ ΕΠΕΞΕΡΓΑΣΤΗ ΜΕ ΔΙΕΥΡΥΜΕΝΟ ΡΕΠΕΡΤΟΡΙΟ ΕΝΤΟΛΩΝ ΚΑΤΣΕΝΟΣ ΧΡΗΣΤΟΣ Α.Μ:317 Επιβλέπων: Αναπλ. Καθ. Ευ. Ζυγούρης ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΠΑΤΡΑ ΑΠΡΙΛΙΟΣ 2012

2

3 Ειδική Επιστημονική Εργασία ΑΝΑΠΤΥΞΗ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΕΞΟΜΟΙΩΣΗ ΤΗΣ ΛΕΙΤΟΥΡΓΙΑΣ ΕΝΟΣ ΕΠΕΞΕΡΓΑΣΤΗ ΜΕ ΔΙΕΥΡΥΜΕΝΟ ΡΕΠΕΡΤΟΡΙΟ ΕΝΤΟΛΩΝ Κάτσενος Χρήστος Ηλεκρολόγος Μηχανικός ΤΕ Εγκρίθηκε από την τριμελή εξεταστική επιτροπή την 26 η Απριλίου 2012 στα πλαίσια του ΠΜΣ Ηλεκτρονικής και Υπολογιστών Ευάγγελος Ζυγούρης Αναπληρωτής Καθηγητής Τμήμα Φυσικής Παν/μιο Πατρών Γεώργιος Οικονόμου Αναπληρωτή Καθηγητής Τμήμα Φυσικής Παν/μιο Πατρών Δημήτριος Μπακάλης Επίκουρος Καθηγητής Τμήμα Φυσικής Παν/μιο Πατρών Πάτρα, Απρίλιος 2012

4

5 i Πρόλογος Η παρούσα ειδική επιστημονική εργασία εκπονήθηκε στα πλαίσια του Προγράμματος Μεταπτυχιακών Σπουδών Ειδίκευσης Ηλεκτρονική και Υπολογιστές στο Τμήμα Φυσικής του Πανεπιστημίου Πατρών. Αντικείμενο της παρούσας εργασίας είναι η εξομοίωση της λειτουργίας ενός επεξεργαστή με διευρυμένο ρεπερτόριο εντολών μέσω του διαδικτύου. Αναλυτικότερα αναπτύχθηκε ένα διαδικτυακό εργαλείο που δέχεται την αλληλουχία των εντολών και στην συνέχεια αφού εκτελέσει έλεγχο αυτών, τόσο ως προς την ορθή σύνταξη αλλά και ως προς τις παραμέτρους αυτών, τις συμβολομεταφράζει και αποθηκεύει τον κώδικα που προκύπτει στην μνήμη της εφαρμογής. Επίσης παρέχεται και η δυνατότητα στον χρήστη να επιλέγει τον επεξεργαστή που θέλει να εξομοιώσει οπότε οι έλεγχοι επεκτείνονται και στο αν οι εντολές που έχει εισαγάγει ο χρήστης εμπεριέχονται στο ρεπερτόριο εντολών του επιλεγμένου επεξεργαστή. Αφού όλα τα παραπάνω έχουν ολοκληρωθεί και το πρόγραμμα έχει ελεγχθεί και αποθηκευθεί στην μνήμη τότε το γραφικό τμήμα της εφαρμογής αναλαμβάνει να εξομοιώσει την λειτουργία του επεξεργαστή, προβάλλοντας τις τιμές που παίρνουν οι καταχωρητές την κάθε στιγμή καθώς και την αλληλουχία των δεδομένων που μεταφέρονται από και προς αυτούς. Τα παραπάνω υλοποιήθηκαν με την χρήση των τεχνολογιών ASP.NET & Silverlight. Η τεχνολογία ASP.NET χρησιμοποιήθηκε για την ανάπτυξη της διαδικτυακής εφαρμογής που στον πυρήνα της ο κώδικας που θα υλοποιεί την προαναφερθείσα λογική είναι γραμμένος σε Visual Basic.net. Η δε τεχνολογία Silverlight έχει χρησιμοποιηθεί για την αναπαράσταση της λειτουργίας του επεξεργαστή. Τα εργαλεία που απαιτούνται για την ανάπτυξη της διαδικτυακής εφαρμογής είναι το Visual Studio 2010 και το Expression Blend 4. Στο πρώτο κεφάλαιο γίνεται μια πιο λεπτομερής περιγραφή της εφαρμογής καθώς και των ιδιαιτεροτήτων που αυτή παρουσιάζει. Στο δεύτερο κεφάλαιο παρουσιάζονται οι τεχνολογίες που χρησιμοποιήθηκαν και τα βασικά χαρακτηριστικά αυτών. Στο τρίτο κεφάλαιο παρουσιάζεται πλήρως το προς εξομοίωση σύστημα και η δομή των επιμέρους δομικών στοιχείων που το απαρτίζουν. Στα δύο τελευταία κεφάλαια παρουσιάζεται η προγραμματιστική λογική που έχει αναπτυχθεί για την υλοποίηση της εξομοίωσης καθώς και η παρουσίαση του συστήματος. Το κεφάλαιο τελειώνει παραθέτοντας μία σειρά προγραμμάτων σαν παραδείγματα που εξομοιώνουν την λειτουργία του συστήματος. Τελειώνοντας θα ήθελα να ευχαριστήσω τον επιβλέποντα της προσπάθειας αυτής Αναπληρωτή Καθηγητή κ. Ευάγγελο Ζυγούρη, η καθοδήγηση του οποίου υπήρξε καθοριστική. Κάτσενος Χρήστος ΠΑΤΡΑ 2012

6 ii

7 iii Introduction This special research work was performed in the frame of the requirements of the M.Sc. "Electronics & Computers" in the Department of Physics at the University of Patras. The purpose of this study is to simulate the operation of a processor with an expanded set of instructions through the Internet. In more details, it has been developed an online tool that accepts a sequence of instructions and then do various checks on them, for the correct syntax but also for the instructions parameters, compiles them and stores the code in application s memory. Also provides user with the choice of processor that wants to simulate and according to this choice some more checks are performed. As long as all this has been completed and the program has been tested and stored in memory, the simulation part of the application starts, in order to simulate the operation of the processor, providing registers with the correct value each time and the sequence of data transferred to and from them. These were implemented using the technologies ASP.NET & Silverlight. ASP.NET technology used to develop the web application, where in the core of the application, the code that implements the above logic is written in Visual Basic.net. Silverlight technology has been used to simulate the operation of the processor. The tools required to develop the web application is the Visual Studio 2010 and Expression Blend 4. In the first chapter there is a slightly more detailed description of the application and its particularities. The second chapter presents the technologies used and key characteristics. In the third chapter are described the structure of the individual components that compose the application. In the last two chapters the programming logic that has been developed to implement the simulation and a full presentation of the system, can be found. The chapter ends by giving a series of programs as an example to simulate the operation of the system. Finally I would like to thank the supervisor of this effort Associate Prof. Evangelos Zigouris, whose guidance has been crucial. Katsenos Christos Patra 2012

8 iv

9 v Πίνακας Περιεχομένων ΚΕΦΑΛΑΙΟ 1 Περιγραφή συστήματος Εισαγωγή Δομή Εφαρμογής Τμήμα Συμβολομεταφραστή Τμήμα παρουσίασης Ιδιαίτερα χαρακτηριστικά εφαρμογής Υπάρχουσες εργασίες... 8 ΚΕΦΑΛΑΙΟ 2 Περιγραφή τεχνολογιών και εργαλείων Εισαγωγή NET Framework ASP.NET Silverlight Σύγκριση τεχνολογιών Περιγραφή Εργαλείων που χρησιμοποιήθηκαν Visual studio Expression Blend ΚΕΦΑΛΑΙΟ 3 Σχεδίαση μικροϋπολογιστικού συστήματος Εισαγωγή Σχεδίαση μικροϋπολογιστικού συστήματος Σχεδίαση κεντρικής μονάδας επεξεργασίας (ΚΜΕ) Εισαγωγή H ISA για την ΚΜΕ O κύκλος κάθε εντολής O κύκλος διακοπών Η Αριθμητική/Λογική Μονάδα (ALU) O δίαυλος δεδομένων Συνολική οργάνωση του data path Σχεδίαση της μονάδας ελέγχου Μονάδα διαχείρισης διακοπών Σχεδίαση υποσυστήματος μνήμης Σχεδίαση υποσυστήματος εισόδου/εξόδου Μονάδες εισόδου/εξόδου... 81

10 vi Εξωτερικές διακοπές και προτεραιότητα Συνολική σχεδίαση Μικροϋπολογιστικού Συστήματος ΚΕΦΑΛΑΙΟ 4 Οργάνωση και κώδικες συστήματος Εισαγωγή Τμήμα Συμβολομεταφραστή Κώδικας υλοποίησης οπτικού τμήματος φυλλομετρητή Κώδικας υλοποίησης ελέγχων Τμήμα εξομοίωσης Φιλοξενία Silverlight Συναρτήσεις αλληλεπίδρασης Συναρτήσεις ειδικού σκοπού ΚΕΦΑΛΑΙΟ 5 Παρουσίαση Εφαρμογής Εισαγωγή Ελάχιστες Απαιτήσεις Παρουσίαση Τμήμα Συμβολομεταφραστή Τμήμα εξομοίωσης Παραδείγματα προγραμμάτων προς εξομοίωση Εξομοίωση Προγράμματος Α Εξομοίωση Προγράμματος Β Εξομοίωση Προγράμματος Γ Εξομοίωση Προγράμματος Δ Συμπεράσματα Προτάσεις Συμπεράσματα Προτάσεις Βελτίωσεις Επέκτασης δυνατοτήτων Βιβλιογραφία

11 ΚΕΦΑΛΑΙΟ 1 Περιγραφή συστήματος 1.1 Εισαγωγή Σε αυτό το κεφάλαιο γίνεται μία ποιο αναλυτική περιγραφή του συστήματος καθώς και ανάλυση των επιμέρους τμημάτων του. Στα πλαίσια αυτής της ανάλυση περιλαμβάνεται και η σύγκριση της εφαρμογής με υπάρχουσες εργασίες, τόσο σε επίπεδο δυνατοτήτων όσο και σε επίπεδο τεχνολογιών που έχουν χρησιμοποιηθεί. Το κεφάλαιο ξεκινάει με μια επισκόπηση της οργάνωσης της εφαρμογής και των δύο επιμέρους βασικών τμημάτων που την απαρτίζουν. Στην συνέχεια γίνεται ανάλυση του κάθε ενός από τα δύο βασικά τμήματα τόσο σε επίπεδο λειτουργικότητας όσο και σε επίπεδο συμβολής στο τελικό αποτέλεσμα. Το κεφάλαιο τελειώνει με την παρουσίαση των επιμέρους λειτουργικοτήτων που υλοποιούν το τελικό αποτέλεσμα.

12 2 Περιγραφή Συστήματος 1.2 Δομή Εφαρμογής Η εφαρμογή αποτελείται από δύο διακριτά αλλά αλληλοσυμπληρούμενα υποσυστήματα. Το ένα είναι επιφορτισμένο με το έργο της συμβολομετάφρασης του προγράμματος και την εγγραφή αυτού στην μνήμη, ενώ το άλλο αναλαμβάνει την εξομοίωση της λειτουργίας του επεξεργαστή. Πέραν των λειτουργικών τους διαφορών τα δύο αυτά τμήματα παρουσιάζουν και διαφορές ως προς την κατασκευή αλλά και την δομή. Αναλυτικότερα το πρώτο έχει υλοποιηθεί με χρήση τεχνολογίας ASP.NET ενώ το δεύτερο με χρήση τεχνολογίας SilverLight. Σχήμα 1.1 Δομή Εφαρμογής. Κάθε εφαρμογή που έχει αναπτυχθεί σε Silverlight, έτσι και στην περίπτωση μας το τμήμα εξομοίωσης, απαιτούν ένα περιβάλλον στο οποίο θα φιλοξενούνται. Στην περίπτωση μας αυτού του είδους την φιλοξενία την υλοποιεί μία κενή σελίδα που έχει αναπτυχτεί σε ASP.NET και στην ουσία το μόνο που κάνει είναι να προβάλει το Silverlight τμήμα. Οι αντίστοιχες εφαρμογές που προορίζονται για εφαρμογές περιβάλλοντος windows δεν απαιτούν τέτοιου είδους ειδικές συνθήκες φιλοξενίας και ονομάζονται WPF.

13 Κεφάλαιο Τμήμα Συμβολομεταφραστή Το τμήμα του συμβολομεταφραστή(compiler) είναι αυτό που συναντά ο χρήστης πρώτα κατά την επίσκεψη του στον δικτυακό τόπο που φιλοξενείται η εφαρμογή και έχει την μορφή που φαίνεται στο παρακάτω σχήμα. Σχήμα 1.2 Αρχική σελίδα εφαρμογής. Η ανάπτυξη του τμήματος αυτού έχει γίνει με την χρήση της ASP.NET ενώ ο κώδικας που τρέχει πίσω έχει αναπτυχθεί με Visual Basic.net.

14 4 Περιγραφή Συστήματος Όπως σε όλες τις εφαρμογές ASP.NET έτσι και εδώ απαιτείται η ανάπτυξη του τμήματος που προβάλλεται στο πρόγραμμα φυλλομετρητή του επισκέπτη (πχ IE, Mozilla, Chrome, Opera κτλ) και το τμήμα του κώδικα που τρέχει στον εξυπηρετητή (server). Αναλυτικότερα στις διαδικτυακές εφαρμογές υπάρχει ένα τμήμα κώδικα που εξυπηρετείται στον φυλλομετρητή και ένα τμήμα κώδικα που εξυπηρετείται στον server. Έτσι και στην περίπτωση μας ένα τμήμα της λογικής υλοποιείται στον φυλλομετρητή και ένα τμήμα στον server. Στην πλευρά του φυλλομετρητή γίνονται όλοι οι έλεγχοι ως προς τις επιλογές της κατάλληλης προς εξομοίωση CPU ενώ στην πλευρά του server γίνονται όλοι οι έλεγχοι για την ορθότητα των εντολών. Οπότε μόλις ο χρήστης επιλέξει το κουμπί Assemble, στην πλευρά του φυλλομετρητή ελέγχεται αν έχει επιλεγεί κάποια CPU. Αν δεν έχει επιλεγεί τότε εμφανίζεται ένα μήνυμα σφάλματος και σταματά εκεί. Σε αντίθετη περίπτωση, δηλαδή αν έχει επιλεγεί μία CPU, στέλνεται το περιεχόμενο του πεδίου που έχει πληκτρολογηθεί, το προς εξομοίωση πρόγραμμα, στον server προκειμένου να ξεκινήσει μια σειρά από ελέγχους. Στους ελέγχους αυτούς περιλαμβάνονται, η ορθότητα της σύνταξης των εντολών, η υποστήριξη της κάθε εντολής από την επιλεγμένη CPU, το εύρος των τιμών και άλλα. Μόλις όλα τα παραπάνω ολοκληρωθούν με επιτυχία γίνεται η εγγραφή του προγράμματος στην μνήμη. Ειδικότερα αποθηκεύονται τα αντίστοιχα OPCodes των εντολών καθώς και οι παράμετροι αυτών με προκαθορισμένη σειρά, σε μία συστοιχία μεταβλητών που έχει δηλωθεί για την συγκεκριμένη χρήση. Επίσης οι τιμές αυτές εγγράφονται και σε μία δεύτερη συστοιχία μεταβλητών στην σύνοδο(session) στην πλευρά του server(server side). Η δομή του τμήματος του συμβολομεταφραστή της εφαρμογής, όπως την εμφανίζει το Visual Studio 2010, σε επίπεδο κλάσεων είναι η ακόλουθη.

15 Κεφάλαιο 1 5 Σχήμα 1.3 Class Diagram.

16 6 Περιγραφή Συστήματος Τμήμα παρουσίασης Το τμήμα παρουσίασης της εφαρμογής, είναι το τμήμα εκείνο που είναι επιφορτισμένο με την αναπαράσταση της λειτουργία της επιλεγμένης CPU. Η ανάπτυξη του έχει επιτευχθεί με την χρήση της τεχνολογίας Silverlight, ενώ ο κώδικας που τρέχει στον server είναι γραμμένος σε visual basic.net. To τμήμα αυτό παρουσιάζει κάποιες ιδιαιτερότητες σε σχέση με αυτό που έχει παρουσιαστεί στην προηγούμενη ενότητα. Ειδικότερα και τα δύο τμήματα απαιτούν την συγγραφή κάποιων κομματιών κώδικα που υλοποιούν την οπτική απεικόνιση στον φυλλομετρητή του χρήστη. Αυτή η απεικόνιση γίνεται με χρήση της γλώσσας σήμανσης XAML, στην οποία θα αναφερθούμε στην συνέχεια. Όσον αφορά τον κώδικα που τρέχει στον server αυτός είναι πανομοιότυπης λογικής με το τμήμα του κώδικα που τρέχει στον server για τμήμα του συμβολομεταφραστή. Βασική διαφορά του τμήματος παρουσίασης με το τμήμα του συμβολομεταφραστή είναι ότι στο τμήμα παρουσίασης όλη η λογική υλοποιείται στον server, δηλαδή όλος ο κώδικας τρέχει εκεί. Το γραφικό τμήμα αναπροσαρμόζεται ανάλογα με τα γεγονότα (αλληλεπιδράσεις με τον χρήστη, πχ κλικ σε ένα κουμπί), παράγεται κώδικας στον server τύπου XAML, και μεταφέρεται στον φυλλομετρητή για εκτέλεση και προβολή. Το τμήμα της παρουσίασης είναι αυτό που συναντά ο χρήστης μόλις κάνει κλικ στο κουμπί View Register Section του τμήματος της συμβολομετάφρασης αφού πρώτα έχει γίνει Assemble χωρίς την εμφάνιση κάποιου σφάλματος και έχει την μορφή που φαίνεται στο παρακάτω σχήμα. Παρατηρούμε ότι αριστερά συναντάται το τμήμα το τμήμα του Datapath, στο κέντρο το τμήμα της control unit που μπορεί να είναι είτε Ηardwired είτε Microprogrammed και δεξιά το τμήμα με τα κουμπιά ελέγχου.

17 Κεφάλαιο 1 7 Σχήμα 1.4 Εξομοιωτής. Η XAML είναι μία γλώσσα σήμανση που φέρει πολλές ομοιότητες σε σχέση με την xml. Έχει την δυνατότητα να δημιουργήσει ένα αντικείμενο, αλλά και να περιγράψει ακόμη και ένα γραφικό που διαδραματίζεται σε ένα χρονικό διάστημα. Παραδείγματα χρήσης της XAML για την υλοποίηση διάφορων αντικειμένων φαίνονται στην συνέχεια. <Rectangle Height="24" RadiusY="3" RadiusX="3" Stroke="Black" Width="166" HorizontalAlignment="Left" Margin="157,0,0,157" VerticalAlignment="Bottom" x:name="box_ac"> <Rectangle.Effect> <DropShadowEffect/> </Rectangle.Effect> <Rectangle.Fill> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="#FF1034A5" Offset="0"/> <GradientStop Color="#FF97A6F9" Offset="1"/> </LinearGradientBrush> </Rectangle.Fill> </Rectangle> Πρόγραμμα 1.1 Υλοποίηση του παραλληλόγραμμου πλαισίου που αναπαριστά τον καταχωρητή AC

18 8 Περιγραφή Συστήματος <Storyboard x:name="sb_tr_fromdr"> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="data1"> <EasingDoubleKeyFrame KeyTime="0" Value="1"/> <EasingDoubleKeyFrame KeyTime="0:0:1" Value="149"/> <EasingDoubleKeyFrame KeyTime="0:0:2" Value="148"/> <EasingDoubleKeyFrame KeyTime="0:0:3" Value=" 287"/> <EasingDoubleKeyFrame KeyTime="0:0:4" Value=" 289"/> <EasingDoubleKeyFrame KeyTime="0:0:5" Value=" 176"/> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" Storyboard.TargetName="data1"> <EasingDoubleKeyFrame KeyTime="0" Value="43"/> <EasingDoubleKeyFrame KeyTime="0:0:1" Value="42"/> <EasingDoubleKeyFrame KeyTime="0:0:2" Value="500"/> <EasingDoubleKeyFrame KeyTime="0:0:3" Value="501"/> <EasingDoubleKeyFrame KeyTime="0:0:4" Value="174"/> <EasingDoubleKeyFrame KeyTime="0:0:5" Value="175"/> </DoubleAnimationUsingKeyFrames> </Storyboard> Πρόγραμμα 1.2 Υλοποίηση του γραφικού που αναπαριστά την μεταφορά των δεδομένων από τον καταχωρητή DR στον TR 1.3 Ιδιαίτερα χαρακτηριστικά εφαρμογής Ένα από τα ιδιαίτερα χαρακτηριστικά της εφαρμογής είναι ότι παρέχει την δυνατότητα στον χρήστη να εξομοιώσει την λειτουργία περισσοτέρων της μία CPU. Αναλυτικότερα ανάλογα με την επιλογή που θα κάνει ο χρήστης στην σελίδα που συναντά στο τμήμα συμβολομετάφρασης της εφαρμογής, παρέχετε η δυνατότητα να εξομοιωθεί η λειτουργία της Relative Simple CPU, της Enhanced Relative Simple CPU ή της Enhanced Relative Simple CPU2. Επίσης παρέχει την δυνατότητα εξομοίωσης της λειτουργίας με Control Unit τόσο hardwired όσο και Microprogrammed. Τέλος παρέχει προηγμένες δυνατότητες, όπως η εξομοίωση της λειτουργίας των διακοπών καθώς και η εξομοίωση της λειτουργίας θηρών εισόδου/εξόδου. 1.4 Υπάρχουσες εργασίες Η ανάπτυξη της παρούσας εργασίας έγινε βασιζόμενη στην αρχιτεκτονική της CPU που παρουσιάζεται στην διπλωματική εργασία [7] του κ.εμμανουήλ Γαλετάκη που εκπονήθηκε στα πλαίσια του Διατμηματικού Προγράμματος Μεταπτυχιακών Σπουδών Ειδίκευσης στην Ηλεκτρονική και Επεξεργασία της Πληροφορίας στο Τμήμα Φυσικής του Πανεπιστημίου Πατρών. Η αρχιτεκτονική αλλά και πολύτιμες πληροφορίες αντλήθηκαν από την εν λόγω εργασία καθώς και από την βοήθεια του συντάκτη η οποία υπήρξε καταλυτική στην ανάπτυξη της παρούσας εργασίας.

19 Κεφάλαιο 1 9 Την παρούσα στιγμή που γίνεται η συγγραφή της συγκεκριμένης εργασίας οι εφαρμογές που υλοποιούν παραπλήσιες λειτουργίες δεν είναι πολλές. Οι εργασίες που ανευρέθησαν και μελετήθηκαν [8] [18] υπήρξαν πηγή έμπνευσης για την ανάπτυξη μιας εφαρμογής που θα υπερκάλυπτε τις υπάρχουσες παρεχόμενες δυνατότητες. Ίσως ο κυριότερος εκπρόσωπος αυτών να είναι η εργασία του καθηγητή John Carpinelli που παρέχει δυνατότητα διαδικτυακής πρόσβασης και απαντάται στον ακόλουθο διαδικτυακό τόπο. Η εν λόγω εργασία εξομοιώνει την λειτουργία της Relative Simple CPU και έχει την εξής μορφή. Σχήμα 1.5 Άποψη εφαρμογής.

20 10 Περιγραφή Συστήματος Σχήμα 1.6 Τμήμα ακαταχωρητών. Η ουσιαστική διαφοροποίηση των εργασιών αυτών από την εργασία που εκπονήθηκε στα πλαίσια αυτήν της ειδικής επιστημονικής εργασίας είναι το γεγονός ότι σε αυτήν την εργασία παρουσιάζεται με πολύ κατανοητό τρόπο η ροή των δεδομένων στον τμήμα του Data path, κάτι που κάνει πολύ κατανοητή την λογική του προγράμματος που έχει συγγραφεί προς εξομοίωση.

21 ΚΕΦΑΛΑΙΟ 2 Περιγραφή τεχνολογιών και εργαλείων 2.1 Εισαγωγή Σε αυτό το κεφάλαιο εξετάζουμε τις τεχνολογίες που έχουν χρησιμοποιηθεί για την ανάπτυξη της εφαρμογής. Γίνεται αναφορά στα γενικότερα χαρακτηριστικά αυτών καθώς και στις καινοτομίες που αυτές παρουσιάζουν. Επίσης γίνεται και αναφορά στα εργαλεία ανάπτυξης που χρησιμοποιήθηκαν προκειμένου να υλοποιηθεί η εφαρμογή. Το κεφάλαιο ξεκινάει με μια επισκόπηση στις τεχνολογίες και καταλήγει με μια παρουσίαση των εργαλείων ανάπτυξης.

22 12 Περιγραφή Τεχνολογιών και εργαλείων NET Framework Το.NET Framework (προφέρεται dot net) είναι ένα πλαίσιο λογισμικού που τρέχει κυρίως σε Microsoft Windows. Περιλαμβάνει ένα μεγάλο αριθμό βιβλιοθηκών και υποστηρίζει πολλές γλώσσες προγραμματισμού, το οποίο επιτρέπει τη διαλειτουργικότητα των γλωσσών (κάθε γλώσσα μπορεί να χρησιμοποιήσει κώδικα γραμμένο και σε άλλες γλώσσες προγραμματισμού). Προγράμματα που έχουν γραφτεί για.net Framework εκτελούνται σε ένα περιβάλλον λογισμικού, γνωστό ως Common Language Runtime (CLR), μια εφαρμογή εικονικής μηχανής που παρέχει σημαντικές υπηρεσίες όπως η ασφάλεια, η διαχείριση της μνήμης καθώς και ο χειρισμός των εξαιρέσεων. Οι κλάσεις των βιβλιοθηκών σε συνεργασία με το λογισμικό CLR απαρτίζουν το.net Framework. Οι βασικές κλάσεις βιβλιοθηκών(base Class Library) του.net Framework παρέχουν διεπαφή χρήστη, πρόσβαση σε δεδομένα, συνδεσιμότητα με βάσεις δεδομένων, κρυπτογραφία, ανάπτυξη διαδικτυακών εφαρμογών, αριθμητικούς αλγορίθμους και δικτυακή επικοινωνία. Παρέχεται η δυνατότητα στους προγραμματιστές να παράγουν λογισμικό συνδυάζοντας τον δικό τους κώδικα με το.net Framework και άλλες βιβλιοθήκες. Υποδομή κοινής γλώσσας Common Language Infrastructure (CLI) Ο σκοπός της Υποδομήs κοινής γλώσσας (CLI) είναι να παρέχει μια πλατφόρμα ουδέτερης γλώσσας για την ανάπτυξη και την εκτέλεση εφαρμογών, συμπεριλαμβανομένων των λειτουργιών για το χειρισμό εξαιρέσεων, την συλλογή απορριμμάτων, την ασφάλεια και τη διαλειτουργικότητα. Με την υλοποίηση των θεμελιωδών αρχών του.net Framework στο πεδίο εφαρμογής του CLI, αυτή η λειτουργία δεν θα είναι συνδεδεμένη με μία μόνο γλώσσα, αλλά θα είναι διαθέσιμη σε πολλές γλώσσες που υποστηρίζονται από το NET Framework. Οι γλώσσες που υποστηρίζονται είναι οι Visual Basic, C#, C++ και J#. Η υλοποίηση του CLI της Microsoft ονομάζεται Common Language Runtime, ή CLR.

23 Κεφάλαιο 2 13 Σχήμα 2.1 Υποδομή κοινής γλώσσας. Ασφάλεια Το.NET έχει το δικό του μηχανισμό ασφαλείας. O μηχανισμός αυτός είναι o Κωδικός Ασφαλείας πρόσβασης (CAS). O Κωδικός Ασφαλείας πρόσβασης βασίζεται σε αποδεικτικά στοιχεία που σχετίζονται με μια συγκεκριμένη συνέλευση (assembly). Συνήθως τα στοιχεία είναι η πηγή της συνέλευσης (αν είναι εγκατεστημένο στον τοπικό υπολογιστή ή έχει κατέβει από το Internet ή intranet). O Κωδικός Ασφαλείας πρόσβασης χρησιμοποιεί στοιχεία για να καθορίσει τα δικαιώματα που χορηγούνται στον κώδικα. Αν κάθε συνέλευση δεν πάρει την άδεια μιας εξαίρεσης ασφαλείας, ενεργοποιείται. Κλάσεις Βιβλιοθηκών Class library Το.NET Framework περιλαμβάνει ένα σύνολο τυπικών κλάσεων βιβλιοθηκών. Οι κλάσεις βιβλιοθηκών είναι οργανωμένες σε μια ιεραρχία ονομάτων. Τα περισσότερα από τα ενσωματωμένα ΑΡΙs είναι μέρος του Συστήματος. Αυτές οι κλάσεις βιβλιοθηκών υλοποιούν μεταξύ άλλων έναν πολύ μεγάλο αριθμό κοινών λειτουργιών, όπως η ανάγνωση και το γράψιμο αρχείου, η γραφική απόδοση, η αλληλεπίδραση βάσεων

24 14 Περιγραφή Τεχνολογιών και εργαλείων δεδομένων και η χειραγώγηση XML εγγράφων. Οι κλάσεις βιβλιοθηκών του.net είναι διαθέσιμες σε όλες τις συμβατές γλώσσες (CLI). Η.NET κλάσεις βιβλιοθηκών χωρίζονται σε δύο μέρη: τη Base Class Library και το Framework Class Library. Σχήμα 2.2 Κλάσεις Βιβλιοθηκών. Η Base Class Library (BCL) περιλαμβάνει ένα μικρό υποσύνολο από το σύνολο των κλάσεων βιβλιοθηκών και είναι το βασικό σύνολο των κλάσεων που χρησιμεύουν ως το βασικό API του Common Language Runtime. Οι κλάσεις στο mscorlib.dll και μερικές κλάσεις από τα System.dll και System.core.dll θεωρούνται μέρος της BCL. Οι κλάσεις BCL είναι διαθέσιμες τόσο στο.net Framework καθώς και σε εναλλακτικές εφαρμογές, συμπεριλαμβανομένων των NET Compact Framework, Microsoft Silverlight και Mono. Η Framework Class Library (FCL) είναι ένα υπερσύνολο των κατηγοριών BCL και αναφέρεται στο σύνολο των κλάσεων βιβλιοθηκών που ενσωματώνονται στο.net Framework. Περιλαμβάνει ένα εκτεταμένο σύνολο βιβλιοθηκών, συμπεριλαμβανομένων των Windows Forms, ADO.NET, ASP.NET, Language Integrated Query, Windows Presentation Foundation, Windows Communication Foundation μεταξύ άλλων. Η FCL είναι πολύ μεγαλύτερη σε έκταση από τις κοινές βιβλιοθήκες για γλώσσες όπως η C + +, και συγκρίσιμη προς το πεδίο εφαρμογής με τις πρότυπες βιβλιοθήκες της Java.

25 Κεφάλαιο 2 15 Διαχείριση Μνήμης Το.NET Framework CLR απαλλάσσει τον προγραμματιστή από το βάρος της διαχείρισης μνήμης (κατανομή και απελευθέρωση). Χειρίζεται το ίδιο τη διαχείριση της μνήμης, με την ανίχνευση πότε η μνήμη μπορεί με ασφάλεια να απελευθερωθεί. Η μνήμη κατανέμεται στα διάφορα αντικείμενα του.net από τη διαχείριση του σωρού, μια δεξαμενή μνήμης που διαχειρίζεται η CLR. Εφ 'όσον υπάρχει μια αναφορά σε ένα αντικείμενο, που θα μπορούσε να είναι είτε μια άμεση αναφορά σε ένα αντικείμενο ή μια γραφική παράσταση μέσω των αντικειμένων, το αντικείμενο θεωρείται ότι είναι σε χρήση. Όταν δεν υπάρχει καμία αναφορά σε ένα αντικείμενο, και δεν μπορεί να προσπελαστεί ή να χρησιμοποιηθεί, τότε γίνεται σκουπίδια, το.net Framework περιλαμβάνει ένα συλλέκτη σκουπιδιών που τρέχει περιοδικά, σε ένα ξεχωριστό νήμα (thread) από το νήμα της εφαρμογής, που απαριθμεί όλα τα άχρηστα αντικείμενα και επιστρέφει την μνήμη που τους είχε κατανεμηθεί. Το GC τρέχει μόνο όταν ένα ορισμένο ποσό της μνήμης έχει χρησιμοποιηθεί ή δεν υπάρχει αρκετή μνήμη στο σύστημα. Δεδομένου ότι δεν είναι σαφώς καθορισμένο το πότε έχει επιτύχει τις προϋποθέσεις για να διεκδικήσει εκ νέου τη μνήμη, τα τρεξίματα του GC είναι μη ντετερμινιστικά. Κάθε.NET εφαρμογή έχει ένα σύνολο ριζών, οι οποίες είναι δείκτες σε αντικείμενα σχετικά με τη διαχείριση των σωρού (διαχειριζόμενα αντικείμενα). Αυτά περιλαμβάνουν αναφορές σε στατικά αντικείμενα και αντικείμενα οριζόμενα ως τοπικές μεταβλητές, καθώς και αντικείμενα που αναφέρονται σε καταχωρητές της CPU. Όταν το GC τρέχει, κάνει παύση στην εφαρμογή, και για κάθε αντικείμενο που αναφέρεται στην ρίζα αυτής, απαριθμεί αναδρομικά όλα τα αντικείμενα που είναι προσβάσιμα και τα χαρακτηρίζει ως προσβάσιμα. Όλα τα αντικείμενα που δεν χαρακτηρίζονται ως προσβάσιμα είναι τα σκουπίδια. Αυτή είναι η φάση της σήμανσης. H μνήμη που κατέχετε από τα σκουπίδια, θεωρείται ελεύθερος χώρος. Ωστόσο, αυτό αφήνει κομμάτια ελεύθερου χώρου μεταξύ των αντικειμένων που αρχικά ήταν συνεχόμενα. Τα αντικείμενα στη συνέχεια συμπιέζονται μαζί για να κάνουν χρήση συνεχόμενης μνήμης. Οποιαδήποτε αναφορά σε ένα αντικείμενο αναιρείται από τη μετακίνηση του αντικειμένου και στην συνέχεια ενημερώνεται από τον GC ώστε να αντικατοπτρίζει τη νέα θέση. Η εφαρμογή συνεχίζει μόλις η συλλογή των απορριμμάτων έχει τελειώσει. Το GC που χρησιμοποιούνται από to.net Framework είναι στην πραγματικότητα γενεαλογικό. Στα αντικείμενα έχει ανατεθεί μια γενιά. Αυτά που δημιουργήθηκαν πρόσφατα ανήκουν στην γενιά 0. Τα αντικείμενα που επιβιώνουν μια συλλογή σκουπιδιών μαρκάρονται ως γενιάς 1, και τα γενιάς 1 αντικείμενα που επιβιώνουν άλλη συλλογή γενιάς 2. Το.NET Framework χρησιμοποιεί έως γενιά 2 αντικείμενα. Υψηλότερης γενιάς αντικείμενα είναι σκουπίδια που συλλέγονται λιγότερο συχνά από ότι αντικείμενα χαμηλότερης γενιά. Αυτό βοηθά στην αύξηση της αποτελεσματικότητας της συλλογής απορριμμάτων, καθώς τα μεγαλύτερης γενιάς αντικείμενα τείνουν να έχουν μεγαλύτερη διάρκεια ζωής από τα νεότερα αντικείμενα. Έτσι, με την άρση των

26 16 Περιγραφή Τεχνολογιών και εργαλείων μεγαλύτερης γενιάς (και συνεπώς πιο πιθανό να επιβιώσουν μια συλλογή), από το πεδίο εφαρμογής ενός κύκλου συλλογή, λιγότερα αντικείμενα πρέπει να ελέγχονται και να συμπιέζεται.

27 Κεφάλαιο ASP.NET Η ASP.NET τεχνολογία είναι μια scripting τεχνολογία που εκτελείται στην πλευρά του server και επιτρέπει σε scripts (ενσωματωμένα σε ιστοσελίδες) να εκτελούνται από ένα διακομιστή Internet. Ειδικότερα είναι ένα πλαίσιο λογισμικού για διαδικτυακές εφαρμογές που έχει αναπτυχθεί και διατίθενται στο εμπόριο από τη Microsoft για να επιτρέπει στους προγραμματιστές την δημιουργία δυναμικών ιστοσελίδων (Web sites), διαδικτυακών εφαρμογών (Web applications) και υπηρεσίες Web (Web services). Κυκλοφόρησε για πρώτη φορά τον Ιανουάριο του 2002 με την έκδοση 1.0 του.net Framework, και είναι ο διάδοχος της Active Server Pages (ASP) τεχνολογίας της Microsoft. Η ASP.NET είναι ενσωματωμένη στο Common Language Runtime (CLR), επιτρέποντας στους προγραμματιστές να γράφουν κώδικα ASP.NET χρησιμοποιώντας οποιαδήποτε υποστηριζόμενη.net γλώσσα. Ιστορία Μετά την κυκλοφορία του Internet Information Services 4.0, το 1997, η Microsoft άρχισε να ερευνά τις δυνατότητες για ένα νέο μοντέλο διαδικτυακών εφαρμογών που θα λύσει κοινά παράπονα σχετικά με την ASP, ιδίως σε σχέση με τον διαχωρισμό της παρουσίασης και του περιεχομένου προκειμένου να είναι σε θέση να γραφεί "καθαρόs" κώδικα. O Mark Anders, ένας διευθυντής στην ομάδα toy IIS, και o Scott Guthrie, ο οποίος είχε προσχωρήσει στη Microsoft το 1997, μετά την αποφοίτησή του από το Πανεπιστήμιο Duke, ήταν επιφορτισμένοι με τον καθορισμό τoυ μοντέλου. Ο αρχικός σχεδιασμός αναπτύχθηκε κατά τη διάρκεια των δύο μηνών από τοus Anders και Guthrie, και o Guthrie κωδικοποιεί τα αρχικά πρωτότυπα κατά τη διάρκεια του φθινοπώρου του Το αρχικό πρωτότυπο ονομάζεται "XSP" και είχε γίνει με τη χρήση Java, αλλά σύντομα αποφασίστηκε να χτιστεί η νέα πλατφόρμα πάνω από το Common Language Runtime (CLR), δεδομένου ότι προσφέρει ένα αντικειμενοστραφές περιβάλλον προγραμματισμού, με μηχανισμό συλλογήs σκουπιδιών και άλλα χαρακτηριστικά που θεωρήθηκαν ως επιθυμητά χαρακτηριστικά. O Guthrie περιγράφει την απόφαση αυτή ως "τεράστιο ρίσκο", καθώς η επιτυχία της νέας πλατφόρμας ανάπτυξης διαδικτυακών εφαρμογών θα συνδέεται με την επιτυχία της CLR, η οποία, όπως και η XSP, ήταν ακόμα στα πρώτα στάδια της ανάπτυξης. Με την κίνηση προς το Common Language Runtime, η XSP αναπτύχθηκε εκ νέου σε C # (γνωστό εσωτερικά ως "Project Cool", αλλά κρατήθηκε μυστικό από το κοινό), και το όνομα άλλαξε σε ASP+. Από αυτό το σημείο η νέα πλατφόρμα θεωρήθηκε ως ο

28 18 Περιγραφή Τεχνολογιών και εργαλείων διάδοχος του Active Server Pages, και η πρόθεση ήταν να παρέχει έναν εύκολο δρόμο μετάβασης για αυτούς που ανέπτυσσαν ήδη σε ASP. O Mark Anders παρουσίασε την πρώτη ASP+ στο συνέδριο ASP Connections στο Φοίνιξ της Αριζόνα στις 2 Μαΐου, Οι παρουσιάσεις στο ευρύ κοινό και η αρχική έκδοση beta του ASP+ (και το υπόλοιπο του. NET Framework) ήρθε στο Professional Developers Conference του 2000, στις 11 Ιουλίου 2000 στο Ορλάντο, Φλόριντα. Κατά τη διάρκεια της παρουσίασης της κεντρική ομιλία του Bill Gates, η Fujitsu παρουσίασε ASP+ να χρησιμοποιείται σε συνδυασμό με COBOL, και υποστήριξη για μια ποικιλία άλλων γλωσσών, συμπεριλαμβανομένων των νέων Visual της Microsoft Basic.NET και C#, καθώς επίσης και Python και Perl μέσω της διαλειτουργικότητας. Μόλις η ονοματολογία ".NET" αποφασίστηκε κατά το δεύτερο εξάμηνο του 2000, αποφασίστηκε η μετονομασία της ASP+ σε ASP.NET. Μετά από τέσσερα χρόνια ανάπτυξης, καθώς και μια σειρά από εκδόσεις beta, το 2000 και το 2001, η ASP.NET 1.0 κυκλοφόρησε στις 5 Ιανουαρίου 2002 ως μέρος της έκδοσης 1.0 του.net Framework. Ακόμη και πριν από την κυκλοφορία, δεκάδες βιβλία είχαν γραφτεί για ASP.NET, και η Microsoft την προώθησε σε μεγάλο βαθμό ως μέρος της πλατφόρμας της για τις υπηρεσίες Web. H ανάπτυξη συνεχίστηκε με εντατικούς ρυθμούς, με την έκδοση 1.1 που κυκλοφόρησε στις 24 Απριλίου 2003 ως μέρος του Windows Server Αυτή η έκδοση εστιάζεται στη βελτίωση της υποστήριξη της ASP.NET για κινητές συσκευές. Χαρακτηριστικά Σελίδες Οι ASP.NET ιστοσελίδες, γνωστές επισήμως ως φόρμες Web, είναι η κύρια δομική μονάδα για την ανάπτυξη εφαρμογών. Οι φόρμες Web περιέχονται σε αρχεία με κατάληξη ".aspx". Αυτά τα αρχεία περιέχουν συνήθως στατικές (X)HTML σημάνσεις, καθώς και σήμανση για server side Controls, όπου οι προγραμματιστές τοποθετούν όλο το απαιτούμενο στατικό και δυναμικό περιεχόμενο για την ιστοσελίδα. Επιπλέον, δυναμικόs κώδικας που τρέχει στον server μπορεί να τοποθετηθεί σε μια σελίδα μέσα σε ένα μπλοκ <% δυναμικόs κώδικας %>, το οποίο είναι παρόμοιο με άλλες τεχνολογίες ανάπτυξης Ιστού, όπως η PHP, JSP και ASP. Με τo ASP.NET Framework 2.0, η Microsoft εισήγαγε ένα νέο μοντέλο κώδικα από πίσω το οποίο επιτρέπει σε στατικό κείμενο να παραμείνει στην.aspx σελίδα, ενώ δυναμικόs κώδικας παραμένει σε ένα.aspx.vb ή.aspx.cs ή.aspx.fs αρχείο (ανάλογα με τη γλώσσα προγραμματισμού που χρησιμοποιείται).

29 Κεφάλαιο 2 19 Προσαρμοσμένα στοιχεία ελέγχου Οι προγραμματιστές μπορούν επίσης να οικοδομήσουμε προσαρμοσμένα στοιχεία ελέγχου για εφαρμογές ASP.NET, όπου όλος ο κώδικας τους συγκεντρώνονται σε μια βιβλιοθήκη δυναμικής σύνδεσης (DLL). Τέτοια προσαρμοσμένα στοιχεία ελέγχου μπορούν να χρησιμοποιηθούν σε πολλαπλές εφαρμογές Web. Κατάσταση Συνόδου H σύνοδος στην πλευρά του server(server side) αποτελείται από μια συλλογή από μεταβλητές χρήστη που είναι ανθεκτικές κατά τη διάρκεια της συνόδου του χρήστη. Αυτές οι μεταβλητές, που προσεγγίζονται με τη συλλογή Session, είναι μοναδικές για κάθε περίπτωση συνόδου. Οι μεταβλητές μπορεί να οριστούν να καταστραφούν αυτόματα μετά από προκαθορισμένο χρόνο αδράνειας ακόμη και αν η συνεδρίαση δεν τελειώνει. H σύνοδος στην πλευρά του χρήστη (Client side) διατηρείται είτε από ένα cookie ή με την κωδικοποίηση του ID της συνόδου στο URL. H ASP.NET υποστηρίζει τρεις καταστάσεις διατήρησης server side μεταβλητών συνόδου: In Process λειτουργία Οι μεταβλητές διατηρούνται στο πλαίσιο της διεργασίας ASP.NET. Αυτός είναι ο πιο γρήγορος τρόπος. Ωστόσο, σε αυτή τη λειτουργία οι μεταβλητές καταστρέφονται όταν η διαδικασία ASP.NET ανακυκλώνεται ή αν κλείσει. ASP State λειτουργία H ASP.NET εκτελεί μια ξεχωριστή υπηρεσία των Windows που διατηρεί τις μεταβλητές κατάστασης. Επειδή η διαχείριση της κατάστασης που συμβαίνει έξω από τη διαδικασία ASP.NET, είναι πιο αργή από ό, τι κατά τη In Process λειτουργία. Αυτή η λειτουργία επιτρέπει σε μια εφαρμογή του ASP.NET να γίνεται ισορροπημένα και να διαμοιράζεται σε πολλούς διακομιστές. SqlServer λειτουργία Οι μεταβλητές αποθηκεύονται σε μια βάση δεδομένων, επιτρέποντας τους να συνεχίζουν να υφίστανται ακόμη και μετά την παύση λειτουργίας της ASP.NET διαδικασίας. Το κύριο πλεονέκτημα αυτού του τρόπου είναι ότι επιτρέπει στην εφαρμογή την εξισορρόπηση του φορτίου σε ένα σύμπλεγμα διακομιστών και την ανταλλαγή συνόδων μεταξύ των διακομιστών. Αυτή είναι η πιο αργή μέθοδος διαχείρισης συνόδου της ASP.NET.

30 20 Περιγραφή Τεχνολογιών και εργαλείων Επίδοση H ASP.NET στοχεύει στα πλεονεκτήματα απόδοσης της σε σχέση με άλλες τεχνολογίες (συμπεριλαμβανομένων των Classic ASP), κυρίως με την κατάρτιση του κώδικα διακομιστή σε ένα ή περισσότερα αρχεία DLL στο διακομιστή Web. Αυτή η συλλογή γίνεται αυτόματα την πρώτη φορά που ζητείται μια σελίδα. Αυτή η δυνατότητα παρέχει την ευκολία της ανάπτυξης που προσφέρονται σε scripting γλώσσες, με τα πλεονεκτήματα επιδόσεων ενός καταρτισμένου(compiled) κώδικα. Ωστόσο μπορεί να προκαλέσει μια αξιοπρόσεχτη, αλλά μικρή καθυστέρηση στο χρήστη Web, όταν είναι η πρώτη φορά που ζητείται η σελίδα από το διακομιστή Web ή η σελίδα που ζητήθηκε έχει ενημερωθεί. Την πρώτη φορά που ένας πελάτης ζητά μια σελίδα, το.net Framework αναλύει και συνθέτει το αρχείο(α) και τέλος στέλνει την απάντηση. Οι επόμενες αιτήσεις εξυπηρετούνται από τα αρχεία DLL. Οι προγραμματιστές μπορούν επίσης να επιλέξουν να προ συλλέξουν (pre compile) τα "codebehind" αρχεία τους πριν από την αποστολή, με την χρήση του MS Visual Studio, εξαλείφοντας την ανάγκη για την κατάρτιση just in time σε ένα περιβάλλον παραγωγής. Αυτό εξαλείφει την ανάγκη της ύπαρξης του πηγαίου κώδικα στο διακομιστή Web.

31 Κεφάλαιο Silverlight Το Microsoft Silverlight είναι ένα πλαίσιο λογισμικού για τη σύνταξη και τη λειτουργία πλούσιων εφαρμογών Internet, με χαρακτηριστικά και σκοπούς παρόμοια με εκείνα του Adobe Flash. Το περιβάλλον χρόνου εκτέλεσης για το Silverlight είναι διαθέσιμο ως plug in για προγράμματα περιήγησης στο Web που εκτελούνται στα Microsoft Windows και Mac OS X. Αν και οι προηγούμενες εκδόσεις του Silverlight επικεντρώθηκαν σε streaming media, οι τρέχουσες εκδόσεις υποστηρίζουν πολυμέσα, γραφικά και κινούμενα σχέδια, και παρέχουν στους προγραμματιστές υποστήριξη για CLI γλώσσες και εργαλεία ανάπτυξης. Το Silverlight είναι επίσης μία από τις δύο πλατφόρμες ανάπτυξης εφαρμογών για Windows Phone Κατά τη διάρκεια των περίπου πέντε χρόνων η Microsoft έχει κυκλοφορήσει πέντε εκδόσεις: Η πρώτη έκδοση κυκλοφόρησε το Η τελευταία έκδοση κυκλοφόρησε στις 9 Δεκεμβρίου Είναι συμβατή με πολλαπλά προγράμματα περιήγησης στο Web που χρησιμοποιούνται στα Microsoft Windows και Mac OS X λειτουργικά συστήματα. Μια δωρεάν εφαρμογή λογισμικού που ονομάζεται Moonlight, που αναπτύχθηκε από τη Novell, σε συνεργασία με τη Microsoft, είναι διαθέσιμη για να φέρει την λειτουργικότητα του Silverlight 1 και 2 σε Linux, FreeBSD και άλλες πλατφόρμες ανοιχτού κώδικα, αν και μερικές διανομές Linux δεν το περιλαμβάνουν. Overview Το Silverlight παρέχει ένα σύστημα διατήρησης και λειτουργίας γραφικών παρόμοιο με το Windows Presentation Foundation (WPF), και ενσωματώνει πολυμέσα, γραφικά, κινούμενα σχέδια και αλληλεπίδραση σε ένα ενιαίο περιβάλλον εκτέλεσης. Στις Silverlight εφαρμογές, οι διεπαφές χρήστη έχουν δηλωθεί σε Extensible Application Markup Language (XAML) και προγραμματιστεί χρησιμοποιώντας ένα υποσύνολο του.net Framework. Η XAML μπορεί να χρησιμοποιηθεί για τη δημιουργία γραφικών και κινούμενων σχεδίων. Το Silverlight μπορεί επίσης να χρησιμοποιηθεί για τη δημιουργία των Windows Sidebar Gadgets για τα Windows Vista. Υποστηρίζει H.264 βίντεο, Advanced Audio Coding, Windows Media Video (WMV), Windows Media Audio (WMA) και MPEG Layer III (MP3) σε όλα τα υποστηριζόμενα προγράμματα περιήγησης, χωρίς να απαιτείται το Windows Media Player ή το Windows Media browser plug ins. Επειδή το Windows Media Video 9 είναι μια υλοποίηση της Κοινωνίας των Μηχανικών του Κινηματογράφου και Τηλεόρασης (SMPTE) VC 1, το Silverlight υποστηρίζει, επίσης, VC 1 βίντεο. Σύμφωνα με την άδεια χρήσης τελικού χρήστη VC 1 και H.264 έχουν άδεια μόνο για την "προσωπική και μη εμπορική χρήση από τον καταναλωτή". Το Silverlight έχει τη δυνατότητα να φορτώσει δυναμικά

32 22 Περιγραφή Τεχνολογιών και εργαλείων περιεχόμενο Extensible Markup Language (XML) που μπορεί να χειριστεί μέσω ενός Document Object Model (DOM), μια τεχνική που είναι συνεπής με τεχνικές Ajax. Με την έκδοση 2, ο προγραμματισμός μπορεί να υλοποιηθεί σε οποιαδήποτε.net γλώσσα, συμπεριλαμβανομένων και ορισμένων παραγώγων των δυναμικών γλωσσών προγραμματισμού όπως IronRuby και IronPython. Ως εκ τούτου, οποιαδήποτε εργαλεία ανάπτυξης που λειτουργήσουν με το Silverlight μπορούν να χρησιμοποιηθούν, υπό την προϋπόθεση ότι έχουν πρόσβαση στο Silverlight CoreCLR για τη φιλοξενία της εφαρμογής, αντί για το.net Framework CLR. Η Microsoft έχει αναπτύξει το Microsoft Expression Blend ως συνοδευτικό εργαλείο του Visual Studio για το σχεδιασμό Silverlight εφαρμογών. Το Visual Studio επίσης μπορεί να χρησιμοποιηθεί και αυτόνομα για την ανάπτυξη και τον εντοπισμό σφαλμάτων σε Silverlight εφαρμογές. Για την δημιουργία Silverlight εφαρμογών με χρήση του Visual Studio απαιτείται το Silverlight Tools για το Visual Studio. Ένα στοιχείο ελέγχου Silverlight (control) είναι ένα αρχείο μορφής ZIP με κατάληξη.xap που περιέχει μια λίστα από ένα ή περισσότερα.net dlls μαζί με το αρχείο AppManifest.XAML που περιέχει την προαναφερόμενη λίστα μαζί με το σημείο εισόδου (class και assembly). Μπορεί να φιλοξενείται ενσωματωθεί σε οποιοδήποτε αρχείο HTML χρησιμοποιώντας μια ετικέτα αντικειμένου, για παράδειγμα: : <object data="data:application/x silverlight 2," type="application/x silverlight 2" width="100%" height="100%"><param name="source" value="mysilverlightcontrol.xap"/></object> Ένα Silverlight project περιέχει το Silverlight.js και CreateSilverlight.js, αρχεία που χρησιμοποιούνται για την αρχικοποίηση του Silverlight plug in για χρήση σε σελίδες HTML, ένα αρχείο XAML για την διεπαφή χρήστη (User Interface), και αρχεία για την εφαρμογή κώδικα. Οι Silverlight εφαρμογές συμβολομεταφράζονται με τρόπο παραπλήσιων των εφαρμογών ASP.NET.

33 Κεφάλαιο Σύγκριση τεχνολογιών Ως εναλλακτικές τεχνολογίες, με παραπλήσιες δυνατότητες, αυτή την στιγμή διατίθενται η Flash και η Java. Η τεχνολογία Flash παρέχει δυνατότητα για ανάπτυξη γραφικών με καθορισμένο χρονικό πλαίσιο εκτέλεσης και έλεγχο γεγονότων. Οι δυνατότητες της για εντυπωσιακά αποτελέσματα γραφικών είναι θεωρητικά ανεξάντλητες. Σε αντίθεση η JAVA δεν παρέχει ιδιαίτερες δυνατότητες για εντυπωσιακά γραφικά αλλά είναι συμβατή με όλα τα λειτουργικά συστήματα. Παρά τα αντίστοιχα πλεονεκτήματα επιλέχθηκε τελικά η τεχνολογία Silverlight για τους εξής λόγους: Παρέχει την δυνατότητα για πολύ εντυπωσιακά γραφικά Είναι εξαιρετικά ελαφριά άρα και πολύ γρήγορη στην εκτέλεση της, λόγω του ότι τα δεδομένα που αποστέλλονται από τον server προς τον φυλλομετρητή είναι σε μορφή xml Αποτελεί μία πολύ σύγχρονη τεχνολογία που είναι η αιχμή του δόρατος για ανάπτυξη εφαρμογών στα μελλοντικά WINDOWS 8 αλλά και στα Windows PHONE. Επιτρέπει εξαιρετικά ακριβή χειρισμό των γεγονότων Υποστηρίζει CLI γλώσσες (άρα μπορεί να αναπτυχθεί εφαρμογή σε όλες τις γλώσσες του.net Framework ακόμη και συνεργασία) Κάνει πρωτοποριακό διαχωρισμό του ρόλου του web designer και του web developer, καθώς παρέχει την δυνατότητα για παράλληλη και ανεξάρτητη ανάπτυξη του σχεδιαστικό τμήματος και του προγραμματιστικού.

34 24 Περιγραφή Τεχνολογιών και εργαλείων 2.2 Περιγραφή Εργαλείων που χρησιμοποιήθηκαν Για την ανάπτυξη της εφαρμογής απαιτήθηκε τόσο η χρήση του Visual studio όσο και του Expression Blend ως εργαλεία ανάπτυξης. 2.3 Visual studio Το Microsoft Visual Studio 2010 Professional αποτελεί ένα ολοκληρωμένο περιβάλλον που απλοποιεί τη δημιουργία και ανάπτυξη εφαρμογών καθώς και τον εντοπισμό σφαλμάτων. Οι εργασίες κινούνται στο πλαίσιο ενός εξατομικευμένου περιβάλλοντος, με στόχο έναν αυξανόμενο αριθμό πλατφορμών, συμπεριλαμβανομένων των Microsoft SharePoint και τις εφαρμογές cloud και την επιτάχυνση της διαδικασίας κωδικοποίησης. Παρέχει, επίσης, ολοκληρωμένη υποστήριξη για Test First Ανάπτυξη και νέα εργαλεία εντοπισμού σφαλμάτων που επιτρέπουν τον εντοπισμό και τη διόρθωση αυτών γρήγορα και εύκολα για την εξασφάλιση υψηλής ποιότητας λύσεων. Σχήμα 2.3 Visual Studio. Τα κυριότερα πλεονεκτήματα είναι: η γρήγορη ερμηνεία κώδικα η δημιουργία πλούσιων διεπαφών χρήστη(ui) παρέχει ολοκληρωμένη υποστήριξη παράλληλου προγραμματισμού συνεργάζεται άψογα με τις υπάρχουσες τεχνολογίες επιτρέπει την τεχνική Test Πρώτα πριν την ανάπτυξη

35 Κεφάλαιο 2 25 χρησιμοποιώντας ετικέτες στα σημεία διακοπών κάνει ευκολότερη την συμβολομετάφραση Απαιτήσεις εφαρμογής Το Visual Studio 2010 μπορεί να εγκατασταθεί στα παρακάτω λειτουργικά συστήματα: Windows XP (x86) with Service Pack 3 Windows Vista (x86 & x64) with Service Pack 2 Windows 7 (x86 & x64) Windows Server 2003 (x86 & x64) with Service Pack 2 Windows Server 2003 R2 (x86 & x64) Windows Server 2008 (x86 & x64) with Service Pack 2 Windows Server 2008 R2 (x64) Υποστηριζόμενες αρχιτεκτονικές: 32 Bit (x86) 64 Bit (x64) Απαιτήσεις συστήματος: Επεξεργαστής 1.6 GHz ή ταχύτερος 1 GB (32 Bit) ή 2 GB (64 Bit) RAM (512 MB παραπάνω αν τρέχει σε virtual machine) 3GB ελεύθερο χώρο στο δίσκο 5400 RPM σκληρό δίσκο DirectX 9 συμβατή κάρτα γραφικών με ανάλυση 1024 x 768 ή υψηλότερη DVD ROM Drive 2.4 Expression Blend Το expression blend αποτελεί το βασικό εργαλείο ανάπτυξης για εφαρμογές Silverlight. Λειτουργεί συμπληρωματικά με ο visual studio καθώς παρέχει δυνατότητες επεξεργασία κώδικα αλλά ο κύριος προσανατολισμός του είναι στην διαχείριση και ανάπτυξη των γραφικών χρόνου της εφαρμογής. Με την επιλογή ενός μόνο κουμπιού μεταβάλει την διάταξη του παραθύρου του και τις δυνατότητες που αυτό παρέχει από εργαλείο συγγραφής κώδικα σε εργαλείο σχεδίασης διεπαφής. Επίσης παρέχει και δυνατότητες γραφιστική επεξεργασίας των αντικειμένων της εφαρμογής προκειμένου να προσδώσει ένα ομορφότερο οπτικό αποτέλεσμα στην εφαρμογή.

36 26 Περιγραφή Τεχνολογιών και εργαλείων Σχήμα 2.4 Expression Blend. Τέλος το Expression Blend αποτελεί τμήμα της σουίτας εργαλείων Expression Studio η οποία περιέχει και άλλα προγράμματα για την ανάπτυξη εφαρμογών. Με το σύνολο αυτών των προγραμμάτων καθιστάτε δυνατός ο διαχωρισμών της σχεδιαστικής ανάπτυξης από την ανάπτυξη της προγραμματιστικής λογικής. Δηλαδή μπορεί ο γραφίστας να αναπτύσσει παράλληλα με τον προγραμματιστή σε δύο διαφορετικά προγράμματα.

37 ΚΕΦΑΛΑΙΟ 3 Σχεδίαση μικροϋπολογιστικού συστήματος 3.1 Εισαγωγή Σε αυτό το κεφάλαιο εξετάζουμε την οργάνωση ενός βασικού μικροϋπολογιστικού συστήματος. Ένα τέτοιο σύστημα αποτελείται από τρία βασικά υποσυστήματα την Κεντρική μονάδα επεξεργασίας ή ΚΜΕ, το υποσύστημα μνήμης και το υποσύστημα εισόδου/εξόδου. Το κεφάλαιο ξεκινάει με μια επισκόπηση της οργάνωσης ενός βασικού μικροϋπολογιστικού συστήματος. Στη συνέχεια εξετάζουμε τα τρία βασικά υποσυστήματα με μεγαλύτερη λεπτομέρεια. Περιγράφουμε τη λειτουργικότητα και οργάνωση κάθε υποσυστήματος καθώς και την διασύνδεση τους με το υπόλοιπο μικροϋπολογιστικό σύστημα. Το κεφάλαιο τελειώνει με την παρουσίαση της οργάνωσης ενός πραγματικού μικροϋπολογιστικού συστήματος που θα μπορούσε να καλύψει αρκετές εφαρμογές.

38 28 Σχεδίαση μικροϋπολογιστικού συστήματος 3.2 Σχεδίαση μικροϋπολογιστικού συστήματος Σε αυτή τη παράγραφο εξετάζουμε την οργάνωση ενός βασικού μικροϋπολογιστικού συστήματος. Ένα μικροϋπολογιστικό σύστημα έχει τρία βασικά υποσυστήματα όπως φαίνεται στο σχήμα 1.1. Την Κεντρική Μονάδα Επεξεργασίας, ή ΚΜΕ, η οποία εκτελεί πολλές λειτουργίες και ελέγχει το μικροϋπολογιστικό σύστημα. Το υποσύστημα μνήμης το οποίο χρησιμοποιείται για την αποθήκευση των προγραμμάτων που εκτελεί η ΚΜΕ μαζί με τα δεδομένα προγράμματος. Το υποσύστημα εισόδου/εξόδου, ή Ι/Ο, επιτρέπει στην ΚΜΕ να αλληλεπιδρά με συσκευές εισόδου και εξόδου όπως πληκτρολόγια, οθόνες κλπ. Σχήμα 3.1 Βασική οργάνωση μικροϋπολογιστικού συστήματος. Στη συνέχεια αυτού του κεφαλαίου εξετάζουμε τα τρία βασικά υποσυστήματα με μεγαλύτερη λεπτομέρεια. Περιγράφουμε την λειτουργικότητα και την οργάνωση, κάθε υποσυστήματος, καθώς και την διασύνδεση τους με το υπόλοιπο μικροϋπολογιστικό σύστημα. 3.3 Σχεδίαση κεντρικής μονάδας επεξεργασίας (ΚΜΕ) Εισαγωγή Ο ρόλος της κεντρικής μονάδας επεξεργασίας είναι καθοριστικός καθώς είναι αυτή που ελέγχει τη λειτουργία ενός υπολογιστικού συστήματος. Ανακαλεί τις εντολές από τη μνήμη, εφοδιάζοντάς την με τις διευθύνσεις και τα σήματα ελέγχου, τα οποία της είναι απαραίτητα, για να έχει πρόσβαση στα δεδομένα που βρίσκονται καταχωρημένα σε αυτή. Η ΚΜΕ αποκωδικοποιεί τις εντολές και ελέγχει την διαδικασία εκτέλεσης. Εκτελεί κάποιες από τις διεργασίες εσωτερικά και παρέχει τη διεύθυνση, την πληροφορία και τα σήματα ελέγχου που χρειάζονται από τη μνήμη και τις περιφερειακές συσκευές εισόδου/εξόδου (I/O) για την εκτέλεση μιας εντολής.

39 Κεφάλαιο 3 29 Η εσωτερική δομή της ΚΜΕ περιλαμβάνει τέσσερα βασικά τμήματα όπως φαίνεται στο σχήμα 1.2. Το τμήμα των καταχωρητών (Register Section) στο οποίο, όπως υποδηλώνει και η ονομασία του, περιλαμβάνει μία σειρά από καταχωρητές και ένα μηχανισμό επικοινωνίας μεταξύ τους (εσωτερικός δίαυλος δεδομένων). Το τμήμα της αριθμητικής και λογικής μονάδας (Arithmetic Logic Unit ALU), το οποίο εκτελεί αριθμητικές πράξεις όπως πρόσθεση και λογικές διεργασίες όπως AND,OR κτλ. Λαμβάνει τελεστές από το τμήμα καταχωρητών της ΚΜΕ, εκτελεί τις ανάλογες λογικές ή αριθμητικές πράξεις και αποθηκεύει τα αποτελέσματα στο τμήμα καταχωρητών. Το τμήμα της μονάδας διαχείρισης διακοπών το οποίο ελέγχει τις εξωτερικές διακοπές. Είναι υπεύθυνο για τον καθορισμό της προτεραιότητας και την εκτέλεση των διακοπών. Λαμβάνει τις εξωτερικές αιτήσεις διακοπής και δεδομένα από το τμήμα καταχωρητών της ΚΜΕ, εκτελεί τις κατάλληλες διεργασίες και αποθηκεύει τα αποτελέσματα στο τμήμα καταχωρητών. Το τμήμα της μονάδας ελέγχου (Control Unit) το οποίο είναι υπεύθυνο για τον έλεγχο κάθε λειτουργίας του επεξεργαστή. Η μονάδα ελέγχου λαμβάνει κάποιες τιμές δεδομένων από το τμήμα των καταχωρητών, τις οποίες χρησιμοποιεί για να δημιουργήσει τα σήματα ελέγχου. Ο ρόλος της μονάδας ελέγχου είναι να τοποθετήσει αυτά τα σήματα ελέγχου στη σωστή σειρά, ώστε η CPU αλλά και το υπόλοιπο του υπολογιστή να εκτελέσουν τις διεργασίες που απαιτούνται για την σωστή επεξεργασία των εντολών και διακοπών. Σχήμα 3.2 Εσωτερική οργάνωση ΚΜΕ. Στις παραγράφους που ακολουθούν γίνεται αρχικά εκτενής αναφορά στο ρεπερτόριο εντολών και διακοπών της ΚΜΕ και στη συνέχεια παρουσιάζεται η σχεδίαση σε επίπεδο υλικού (hardware) που απαιτείται για την υλοποίηση κάθε τμήματος της.

40 30 Σχεδίαση μικροϋπολογιστικού συστήματος H ISA για την ΚΜΕ Στην ενότητα αυτή περιγράφεται η ISA της ΚΜΕ η οποία στην ουσία αποτελεί τις προδιαγραφές σχεδίασής της. Οι προδιαγραφές αυτές αφορούν κατά κύριο λόγο το σύνολο των λειτουργιών της ΚΜΕ, οι οποίες εκφράζονται μέσω ενός αντίστοιχου συνόλου εντολών (Instruction Set). Όμως για την σχεδίαση της ΚΜΕ δεν αρκεί μόνο το να γνωρίζει κανείς το ρεπερτόριο των εντολών της, αλλά θα πρέπει επιπλέον να γνωρίζει και τους διαθέσιμους καταχωρητές (registers). Το πλήθος και το είδος των καταχωρητών είναι εκείνο που θα καθορίσει τον τρόπο εκτέλεσης κάθε εντολής Καθορισμός του συνόλου των εντολών Όπως αναφέρθηκε και στην εισαγωγή, το πρώτο βήμα για τη σχεδίαση μιας ΚΜΕ, είναι ο καθορισμός του συνόλου των εντολών της (Instruction Set). Οι δυνατές λειτουργίες της ΚΜΕ είναι συνολικά τριάντα έξι (36), κάθε μία από τις οποίες αντιστοιχεί και σε μία εντολή. Το σύνολο των εντολών μαζί με μια σύντομη περιγραφή της αντίστοιχης λειτουργίας (operation) παρουσιάζεται στον πίνακα 1.1 που ακολουθεί. ΕΝΤΟΛΗ OPCODE(BIN) OPCODE(HEX) ΛΕΙΤΟΥΡΓΙΑ NOP No Operation LDAC Γ 01Γ STAC Γ 02Γ MVAC MOVR JUMP Γ 05Γ GOTO Γ JMPZ Γ 06Γ IF z=1 THEN GOTO Γ JPNZ Γ 07Γ IF z=0 THEN GOTO Γ ADD SUB INAC A 1 CLAC B 0 AND C OR D XOR E NOT F MVBAC A MOVB B ADDB SUBB ANDB C ORB D XORB E LDSP Γ 80Γ CALL Γ 82Γ RET PUSHAC

41 Κεφάλαιο 3 31 POPAC PUSHR POPR INPT A 20Α OTPT A 21Α IESET IERST IPRST VIPRST Πίνακας 3.1 Το σύνολο εντολών για την KME. Παρατηρείται στον παραπάνω πίνακα ότι οι εντολές LDAC, STAC, JUMP, JMPZ, JPNZ, LDSP και CALL απαιτούν μια 16 bits διευθυνσιοδότηση μνήμης που εδώ παριστάνεται με το γράμμα Γ. Από την στιγμή που κάθε byte της μνήμης έχει εύρος 8 bits, αυτές οι εντολές χρειάζονται για την πραγματοποίησή τους 3 bytes στην μνήμη. Αντίστοιχα οι εντολές INPT και OTPT απαιτούν μια διευθυνσιοδότηση περιφερειακών των 8 bits που εδώ παριστάνεται με το γράμμα Α. Από την στιγμή που κάθε byte της μνήμης έχει εύρος 8 bits, αυτές οι εντολές χρειάζονται για την πραγματοποίησή τους 2 bytes την μνήμη. Όλες οι άλλες εντολές χρειάζονται για την πραγματοποίησή τους 1 byte στην μνήμη. Μια πρώτη εντύπωση που αποκομίζει κανείς από το σύνολο των εντολών αφορά το πλήθος των αριθμητικών και λογικών πράξεων που καλείται να μπορεί να πραγματοποιεί η λογική μονάδα (logic unit) της ALU. Αυτές είναι οι AND, OR, XOR ANDΒ, ORΒ, XORΒ και NOT, ενώ αντίστοιχα για την αριθμητική μονάδα (arithmetic unit) είναι οι πράξεις της πρόσθεσης (ADD, ADDΒ) και της αφαίρεσης (SUB, SUBΒ). Επιπρόσθετα άλλες δύο λειτουργίες που θα πρέπει να συμπεριληφθούν σε αυτές της ALU, είναι η εκκαθάριση του περιεχομένου του συσσωρευτή (CLAC) και η προσαύξηση του περιεχομένου του κατά μία μονάδα (INAC). Μια δεύτερη παρατήρηση αφορά τις εντολές μετάβασης του ελέγχου του προγράμματος από μια διεύθυνση σε μία άλλη και οι οποίες είναι οι JUMP, JMPZ και JPNZ. Οι δύο τελευταίες αφορούν την μετάβαση σε μια νέα διεύθυνση υπό συνθήκη και πιο συγκεκριμένα μετάβαση που εξαρτάται από την τιμή ενός καταχωρητή Ζ. Όσον αφορά τις υπόλοιπες εντολές, μπορούν να θεωρηθούν σαν μια ομάδα εντολών οι οποίες έχουν να κάνουν με μεταφορά δεδομένων από ένα στοιχείο σε ένα άλλο, το οποίο μπορεί να είναι είτε καταχωρητής είτε η εξωτερική μνήμη είτε ακόμα και μονάδα εισόδου/εξόδου. Οι εντολές αυτές, οι οποίες είναι έξι (6) συνολικά, είναι οι LDAC, STAC, MVAC, MOVR, MVΒAC,MOVΒ,INPT και OTPT. Τέλος, η ΚΜΕ περιλαμβάνει μια (1) ακόμη εντολή κατά την οποία δεν θα πραγματοποιείται καμιά διεργασία, εντολή ΝΟΡ (No OPeration), και τέσσερις (4) εντολές που αφορούν την διαχείριση του καταχωρητή κατάστασης διακοπών τις εντολές IESET, IERST, IPRST, VIPRST. To σύνολο των τριάντα έξι εντολών και των δύο διακοπών θα παρουσιαστεί αναλυτικά σε μια από τις επόμενες παραγράφους όπου θα γίνει περιγραφή του τρόπου εκτέλεσης τους.

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού Κεφάλαιο 6 ο Διαχείριση στοιχείων λογισμικού Διδακτικοί στόχοι Να περιγραφούν οι κύριοι τύποι λογισμικού Να εξεταστεί το λογισμικό συστήματος και τα λειτουργικά συστήματα Να αναλυθούν οι πιο σημαντικές

Διαβάστε περισσότερα

Βασικές Έννοιες Web Εφαρμογών

Βασικές Έννοιες Web Εφαρμογών ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Τεχνολογίες και Εφαρμογές Διαδικτύου Βασικές Έννοιες Web Εφαρμογών Κατερίνα Πραματάρη Τεχνολογίες και Εφαρμογές Διαδικτύου Περιεχόμενα

Διαβάστε περισσότερα

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 7ο ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Γενικό διάγραμμα υπολογιστικού συστήματος Γενικό διάγραμμα υπολογιστικού συστήματος - Κεντρική Μονάδα Επεξεργασίας ονομάζουμε

Διαβάστε περισσότερα

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ (Τμήματα Υπολογιστή) ΕΚΠΑΙΔΕΥΤΗΣ:ΠΟΖΟΥΚΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Κάθε ηλεκτρονικός υπολογιστής αποτελείται

Διαβάστε περισσότερα

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής Εργαλεία και τεχνικές από την πλευρά του πελάτη Java Applet

Διαβάστε περισσότερα

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Λογιστικής Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Μάθημα 8 Κεντρική Μονάδα Επεξεργασίας και Μνήμη 1 Αρχιτεκτονική του Ηλεκτρονικού Υπολογιστή Μονάδες Εισόδου Κεντρική

Διαβάστε περισσότερα

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών Η επεξεργασία των δεδομένων ακολουθεί μια στερεότυπη διαδρομή: τα δεδομένα εισάγονται στο υπολογιστικό σύστημα, υφίστανται μια ορισμένη επεξεργασία και

Διαβάστε περισσότερα

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, 2016-2017 ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Μικροϋπολογιστής Υπολογιστής που χρησιμοποιείται για την είσοδο, επεξεργασία και έξοδο πληροφοριών. Είδη μικροϋπολογιστών:

Διαβάστε περισσότερα

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι Λειτουργικά Συστήματα 1 Λογισμικό του Υπολογιστή Για να λειτουργήσει ένας Η/Υ εκτός από το υλικό του, είναι απαραίτητο και το λογισμικό Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού

Διαβάστε περισσότερα

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο FrontPage 2003 Πρακτικός Οδηγός Χρήσης Το FrontPage είναι ένα πρόγραμμα δημιουργίας ιστοσελίδων και δικτυακών τόπων που επιτρέπει το σχεδιασμό ιστοσελίδων μέσα από γραφικό περιβάλλον αλλά και την ταυτόχρονη

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος... 13. Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος... 13. Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος... 13 Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15 1.1 Εισαγωγή... 16 1.2 Διαδίκτυο και Παγκόσμιος Ιστός Ιστορική αναδρομή... 17 1.3 Αρχές πληροφοριακών συστημάτων

Διαβάστε περισσότερα

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07 Ενότητα 4 Εισαγωγή στην Πληροφορική Κεφάλαιο 4Α: Αναπαράσταση πληροφορίας Κεφάλαιο 4Β: Επεξεργαστές που χρησιµοποιούνται σε PCs Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή

Διαβάστε περισσότερα

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 11-12 : Δομή και Λειτουργία της CPU Ευάγγελος Καρβούνης Παρασκευή, 22/01/2016 2 Οργάνωση της CPU Η CPU πρέπει:

Διαβάστε περισσότερα

Βασική δοµή και Λειτουργία Υπολογιστή

Βασική δοµή και Λειτουργία Υπολογιστή Βασική δοµή και Λειτουργία Υπολογιστή Η τεχνολογία των Η/Υ έχει βασιστεί στη λειτουργία του ανθρώπινου οργανισµού. Οπως ο άνθρωπος πέρνει εξωτερικά ερεθίσµατα από το περιβάλλον τα επεξεργάζεται και αντιδρά

Διαβάστε περισσότερα

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ» Περιεχόμενα Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»... 2 Καταχωρητές... 3 Αριθμητική-λογική μονάδα... 3 Μονάδα μνήμης... 4 Μονάδα Εισόδου - Εξόδου... 5 Μονάδα ελέγχου... 5 Ρεπερτόριο Εντολών «ΑΒΑΚΑ»... 6 Φάση

Διαβάστε περισσότερα

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Εισαγωγή-Σκοπός. Τρόποι δημιουργίας δυναμικών ιστοσελίδων. Dynamic Web Pages. Dynamic Web Page Development Using Dreamweaver. Τρόποι δημιουργίας δυναμικών

Διαβάστε περισσότερα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα 1. Ποια είναι η σχέση της έννοιας του μικροεπεξεργαστή με αυτή του μικροελεγκτή; Α. Ο μικροεπεξεργαστής εμπεριέχει τουλάχιστο έναν μικροελεγκτή. Β. Ο

Διαβάστε περισσότερα

12/5/18. συστημάτων. Το λογισµικό συστηµάτων. Κεφάλαιο 5

12/5/18. συστημάτων. Το λογισµικό συστηµάτων. Κεφάλαιο 5 A. EVANS, K. MARTIN, M. A. POATSY Εισαγωγή στην πληροφορική Θεωρία και πράξη 2 η έκδοση Κεφάλαιο 5 Λογισμικό συστημάτων: Το λειτουργικό σύστημα, τα βοηθητικά προγράμματα και η διαχείριση αρχείων Τα βασικά

Διαβάστε περισσότερα

Κεφάλαιο 4: Λογισμικό Συστήματος

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 Μάθημα : Μικροϋπολογιστές Τεχνολογία Τ.Σ. Ι, Θεωρητικής κατεύθυνσης Ημερομηνία

Διαβάστε περισσότερα

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Τι εννοούμε με τον όρο υπολογιστικό σύστημα και τι με τον όρο μικροϋπολογιστικό σύστημα; Υπολογιστικό

Διαβάστε περισσότερα

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων.

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων. Α Γενικού Λυκείου Κεφάλαιο 1 1.1 Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων. Ιδιαίτερη θέση έχουν οι Υπολογιστικές συσκευές. Μηχανισμός

Διαβάστε περισσότερα

Μαλούτα Θεανώ Σελίδα 1

Μαλούτα Θεανώ Σελίδα 1 ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α' ΛΥΚΕΙΟΥ ΕΝΟΤΗΤΑ 1η ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ 1. Τι ονομάζουμε υλικό και τι λογισμικό ενός υπολογιστικού συστήματος; 2. Τι είναι α) η μητρική πλακέτα ( motherboard), β) η κεντρική μονάδα

Διαβάστε περισσότερα

Κεντρική Μονάδα Επεξεργασίας

Κεντρική Μονάδα Επεξεργασίας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κεντρική Μονάδα Επεξεργασίας (Σχεδιασμός και λειτουργία μιας απλής ΚΜΕ) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης

Διαβάστε περισσότερα

Ανάπτυξη διαδικτυακής διαδραστικής εκπαιδευτικής εφαρμογής σε λειτουργικό σύστημα Android

Ανάπτυξη διαδικτυακής διαδραστικής εκπαιδευτικής εφαρμογής σε λειτουργικό σύστημα Android Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. Ανάπτυξη διαδικτυακής διαδραστικής εκπαιδευτικής εφαρμογής σε λειτουργικό σύστημα Android Πτυχιακή Εργασία Φοιτητής:

Διαβάστε περισσότερα

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Μάριος Αραποστάθης Καθηγητής πληροφορικής Βαρβάκειου Λύκειου http://users.sch.gr/mariosarapostathis 6.1 Η έννοια του

Διαβάστε περισσότερα

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας,

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας, Μικροεπεξεργαστές Σημειώσεις Μαθήματος 2013-14 Υπεύθυνος: Δρ Άρης Παπακώστας, Η γλώσσα assembly είναι μια γλώσσα προγραμματισμού χαμηλού επιπέδου για συγκεκριμένους υπολογιστές ή άλλη προγραμματιζόμενη

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 8: Λειτουργικά Συστήματα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 9 : Ομάδες Εντολών: Ιδιότητες και Λειτουργίες Ευάγγελος Καρβούνης Παρασκευή, 15/01/2016 Τι είναι ομάδα εντολών;

Διαβάστε περισσότερα

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΩΤΑΠΑΝΤΗΣΕΙΣ

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΩΤΑΠΑΝΤΗΣΕΙΣ Κεφάλαιο 1: Υλικό Υπολογιστών (Hardware) 1.1: Το υπολογιστικό σύστημα ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 1. Τι αντιλαμβάνεστε με τον όρο υλικό (hardware); [σελ. 8] Τα φυσικά μέρη που μπορούμε να δούμε και να αγγίξουμε

Διαβάστε περισσότερα

Information Technology for Business

Information Technology for Business Information Technology for Business Lecturer: N. Kyritsis, MBA, Ph.D. Candidate e-mail: kyritsis@ist.edu.gr Computer System Hardware Υποδομή του Information Technology Υλικό Υπολογιστών (Hardware) Λογισμικό

Διαβάστε περισσότερα

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας Κεφάλαιο 3 ο Αρχιτεκτονική Υπολογιστών Μάθημα 3.: Κεντρική Μονάδα Επεξεργασίας Όταν ολοκληρώσεις το κεφάλαιο θα μπορείς: Να σχεδιάζεις την εσωτερική δομή της ΚΜΕ και να εξηγείς τη λειτουργία των επιμέρους

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΤΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΣΤΗΝ ΟΙΚΟΝΟΜΙΑ 2 Ο ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΑΠΟΣΤΟΛΙΑ ΠΑΓΓΕ Υπολογιστής Συνοπτικό λεξικό Οξφόρδης -> «ηλεκτρονική υπολογιστική μηχανή»

Διαβάστε περισσότερα

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής 4 φάσεις διαδικτυακών εφαρμογών 1.Εφαρμογές στατικής πληροφόρησης

Διαβάστε περισσότερα

Προγραμματισμός Υπολογιστών

Προγραμματισμός Υπολογιστών Προγραμματισμός Υπολογιστών Βασικές γνώσεις Κ. Βασιλάκης, ΣΤΕΦ, ΤΕΙ Κρήτης Η Πληροφορική και τα εργαλεία της Παροχή έγκαιρης και έγκυρης πληροφόρησης. Καταχώριση στοιχείων Αποθήκευση Επεξεργασία ψηφιακών

Διαβάστε περισσότερα

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Διπλωματική Εργασία με θέμα: Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού Καραγιάννης Ιωάννης Α.Μ.

Διαβάστε περισσότερα

Λιβανός Γιώργος Εξάμηνο 2017Β

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!

Διαβάστε περισσότερα

Αβραμίδης Ελευθέριος Επιβλέπων καθηγητής Κωνσταντίνος Διαμαντάρας. ΤΕΙ Θεσσαλονίκης 17/2/2009

Αβραμίδης Ελευθέριος Επιβλέπων καθηγητής Κωνσταντίνος Διαμαντάρας. ΤΕΙ Θεσσαλονίκης 17/2/2009 Αβραμίδης Ελευθέριος Επιβλέπων καθηγητής Κωνσταντίνος Διαμαντάρας ΤΕΙ Θεσσαλονίκης 17/2/2009 Γ ΚΠΣ Γενική δομή έργων Γ ΚΠΣ Απαιτήσεις συστήματος Παρουσίαση συστήματος 2 2000-2006: Δίνονται πόροι από τα

Διαβάστε περισσότερα

Βασικές Έννοιες της Πληροφορικής

Βασικές Έννοιες της Πληροφορικής Βασικές Έννοιες της Πληροφορικής Ηλεκτρονικός Υπολογιστής Αυτόματη ηλεκτρονική μηχανή που δέχεται, φυλάσσει, επαναφέρει, επεξεργάζεται και παρουσιάζει πληροφορίες σύμφωνα με προκαθορισμένες εντολές. Δεδομένα

Διαβάστε περισσότερα

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 5

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 5 ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 5 22 Σεπτεµβρίου, 2006 Γεώργιος Έλληνας Επίκουρος Καθηγητής ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΑ ΘΕΜΑΤΑ

Διαβάστε περισσότερα

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος Κεφάλαιο 2.3: Προγραμματισμός 1 2.3.1 Αναφορά σε γλώσσες προγραμματισμού και «Προγραμματιστικά Υποδείγματα» 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού Πρόγραμμα: σύνολο εντολών που χρειάζεται να δοθούν

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Β ) Λειτουργικό Σύστημα Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική

Διαβάστε περισσότερα

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress ΚΟΤΣΟΓΙΑΝΝΙΔΗΣ ΛΑΖΑΡΟΣ Επιβλέπων καθηγητής Σφέτσος Παναγιώτης ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ Ως Ηλεκτρονικό Εμπόριο ή

Διαβάστε περισσότερα

Σύγχρονα εργαλεία και τεχνολογίες ανάπτυξης I.S. Το Microsoft.NET

Σύγχρονα εργαλεία και τεχνολογίες ανάπτυξης I.S. Το Microsoft.NET Σύγχρονα εργαλεία και τεχνολογίες ανάπτυξης I.S. Το Microsoft.NET Δημήτριος Παπαδημητρίου Παπαδημητρίου Δημήτριος - MIS - Παν.Μακεδονίας 1 Microsoft.NET Πλατφόρμα επικοινωνίας ανθρώπων, συστημάτων και

Διαβάστε περισσότερα

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες

Διαβάστε περισσότερα

i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες!

i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες! Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κεντρική Επεξεργασίας (Σχεδιασμός και λειτουργία μιας απλής ΚΜΕ) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Η υπολογιστική

Διαβάστε περισσότερα

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο Το περιβάλλον εργασίας Ανοίγοντας την Ελληνική Έκδοση του FrontPage, για πρώτη φορά, η εικόνα που θα συναντήσουμε είναι αυτή της Εικόνας 1 με τα Μενού Εντολών και τη Γραμμή Εργαλείων, στο πάνω μέρος της

Διαβάστε περισσότερα

Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου. Ενδέκατη (11 η ) δίωρη διάλεξη.

Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου. Ενδέκατη (11 η ) δίωρη διάλεξη. Chapter 5 Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου Ενδέκατη (11 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση: Καθ. Εφαρμογών Νικόλαος Πετράκης,

Διαβάστε περισσότερα

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

Κεφάλαιο 1.6: Συσκευές αποθήκευσης Κεφάλαιο 1.6: Συσκευές αποθήκευσης 1.6.1 Συσκευές αποθήκευσης Μνήμη τυχαίας προσπέλασης - RAM Η μνήμη RAM (Random Access Memory Μνήμη Τυχαίας Προσπέλασης), κρατεί όλη την πληροφορία (δεδομένα και εντολές)

Διαβάστε περισσότερα

Ενσωματωμένα controls τα οποία προσαρμόζονται και χρησιμοποιούνται σε οποιαδήποτε ιστοσελίδα επιλέγει ο φορέας.

Ενσωματωμένα controls τα οποία προσαρμόζονται και χρησιμοποιούνται σε οποιαδήποτε ιστοσελίδα επιλέγει ο φορέας. Η Πυξίδα Απασχόλησης είναι ένα πλήρως παραμετροποιήσιμο portal που απευθύνεται σε Κέντρα Επαγγελματικής Κατάρτισης, Δήμους, Εκπαιδευτικούς Οργανισμούς και Εταιρίες Εύρεσης Εργασίας, με στόχο τόσο την μηχανογράφηση

Διαβάστε περισσότερα

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή 1 Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή μνήμη(cache). Η cache είναι πολύ σημαντική, πολύ γρήγορη,

Διαβάστε περισσότερα

Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης. Μικρομεσαίες Επιχειρήσεις και Καινοτομία

Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης. Μικρομεσαίες Επιχειρήσεις και Καινοτομία Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης Μικρομεσαίες Επιχειρήσεις και Καινοτομία Ηλεκτρονικό Εμπόριο H δυνατότητα των καταναλωτών και των εμπορικών καταστημάτων να κάνουν

Διαβάστε περισσότερα

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

Μάθημα 3: Αρχιτεκτονική Υπολογιστών Μάθημα 3: Αρχιτεκτονική Υπολογιστών 3.1 Περιφερειακές μονάδες και τμήμα επεξεργασίας Στην καθημερινή μας ζωή ερχόμαστε συνέχεια σε επαφή με υπολογιστές. Ο υπολογιστής είναι μια συσκευή που επεξεργάζεται

Διαβάστε περισσότερα

Έγγραφο Προδιαγραφών Απαιτήσεων Λογισμικού για το παιχνίδι: Asylum : The Escape

Έγγραφο Προδιαγραφών Απαιτήσεων Λογισμικού για το παιχνίδι: Asylum : The Escape Έγγραφο Προδιαγραφών Απαιτήσεων Λογισμικού για το παιχνίδι: Asylum : The Escape Επιμέλεια: Γκέκα Ασπασία Ιωάννου Ελένη Κούνουπα Άννα Τμήμα Εφαρμογών Πληροφορικής Α 1 Εξάμηνο Δ.ΙΕΚ Αιγάλεω 1 ΠΕΡΙΕΧΟΜΕΝΑ

Διαβάστε περισσότερα

Η HTML 5 θα αλλάξει το Web?

Η HTML 5 θα αλλάξει το Web? Η HTML 5 θα αλλάξει το Web? (ή αλλιώς, έρχεται το τέλος των plugins?) Αλέξανδρος Καράκος Εργαστήριο Προγραµµατισµού και Επεξεργασίας Πληροφοριών Internet 2... Είναι ένα ξεχωριστό µέσο δηµοσίευσης πληροφοριών

Διαβάστε περισσότερα

Κεφάλαιο 3. Διδακτικοί Στόχοι

Κεφάλαιο 3. Διδακτικοί Στόχοι Κεφάλαιο 3 Σε ένα υπολογιστικό σύστημα η Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) εκτελεί τις εντολές που βρίσκονται στην κύρια μνήμη του. Οι εντολές αυτές ανήκουν σε προγράμματα τα οποία, όταν εκτελούνται,

Διαβάστε περισσότερα

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος Κεφάλαιο 3.1: Λειτουργικά Συστήματα 1 3.1.1 Λογισμικό και Υπολογιστικό Σύστημα Ένα σύγχρονο υπολογιστικό σύστημα αποτελείται από: το υλικό: τα ηλεκτρονικά μέρη του υπολογιστή και το λογισμικό: το σύνολο

Διαβάστε περισσότερα

Alfaware Οδηγός Χρήσης Εφαρμογής (Software User Manual)

Alfaware Οδηγός Χρήσης Εφαρμογής (Software User Manual) Alfaware Οδηγός Χρήσης Εφαρμογής Δι@ύγεια (Software User Manual) Καλώς ήλθατε στο πρόγραμμα Διαύγεια Η εφαρμογή αυτή σχεδιάστηκε και αναπτύχθηκε από την ALFAWARE, με σκοπό να καλύψει πλήρως τις ανάγκες

Διαβάστε περισσότερα

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; Εισαγωγή Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; 1. Σελίδα μαθήματος Εγγραφή Ο κάθε φοιτητής πρέπει να κάνει εγγραφή στη σελίδα του μαθήματος στην πλατφόρμα e-class

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I MIPS Η MIPS (Microprocessor without Interlocked Pipeline Stages) είναι μία αρχιτεκτονική συνόλου εντολών (ISA) γλώσσας μηχανής που αναπτύχθηκε από την εταιρεία

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (Λ/Σ)

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Μνήμης Βασίλης Σακκάς 6/12/2013 1 Διαχείριση Μνήμης 1 Το τμήμα του Λ/Σ που διαχειρίζεται τη μνήμη λέγεται Διαχειριστής Μνήμης (Memory manager). Καθήκον του είναι

Διαβάστε περισσότερα

Προγραμματισμός Ι (HY120)

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY20) # μνήμη & μεταβλητές πρόγραμμα & εκτέλεση Ψηφιακά δεδομένα, μνήμη, μεταβλητές 2 Δυαδικός κόσμος Οι υπολογιστές είναι δυαδικές μηχανές Όλη η πληροφορία (δεδομένα και κώδικας) κωδικοποιείται

Διαβάστε περισσότερα

Τεχνικός Εφαρμογών Πληροφορικής

Τεχνικός Εφαρμογών Πληροφορικής Τεχνικός Εφαρμογών Πληροφορικής ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΙΣΑΓΩΓΗ Εξάμηνο: 2014Β Διδάσκουσα: Ηλεκτρονική Τάξη: Κανελλοπούλου Χριστίνα_ΠΕ19 Πληροφορικής Περιεχόμενα 1.Τι είναι η Php; 2.Πως γίνετε η γραφή

Διαβάστε περισσότερα

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών Οδηγός Εργαστηρίου:

Διαβάστε περισσότερα

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 4 : Κρυφή Μνήμη Καρβούνης Ευάγγελος Δευτέρα, 30/11/2015 Χαρακτηριστικά Θέση Χωρητικότητα Μονάδα Μεταφοράς

Διαβάστε περισσότερα

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή (συνέχεια) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση:

Διαβάστε περισσότερα

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί

Διαβάστε περισσότερα

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής ρχιτεκτονική Υπολογιστών 2016-17 Εικονική Μνήμη (και ο ρόλος της στην ιεραρχία μνήμης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Δευτερεύουσα μνήμη

Διαβάστε περισσότερα

Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας

Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας 4.1 Γενικά Ο υπολογιστής επεξεργάζεται δεδομένα ακολουθώντας βήμα βήμα, τις εντολές ενός προγράμματος. Το τμήμα του υπολογιστή, που εκτελεί τις εντολές και συντονίζει

Διαβάστε περισσότερα

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί

Διαβάστε περισσότερα

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι)

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Οργάνωση Υπολογιστών (Ι) (η κεντρική μονάδα επεξεργασίας) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα

Διαβάστε περισσότερα

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ 2.3.1.1. Παπαγιάννη Νάσια Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών ΕΜΠ 1 περιλαμβάνει: Η έννοια του προγράμματος Επίλυση προβλήματος 1. Ακριβή προσδιορισμό

Διαβάστε περισσότερα

Ασφάλεια σε χώρους αναψυχής: Ένα σύστημα από έξυπνα αντικείμενα

Ασφάλεια σε χώρους αναψυχής: Ένα σύστημα από έξυπνα αντικείμενα Σχολή Επικοινωνίας και Μέσων Ενημέρωσης Πτυχιακή εργασία Ασφάλεια σε χώρους αναψυχής: Ένα σύστημα από έξυπνα αντικείμενα Εύρος Χριστοδούλου Λεμεσός, Μάιος 2018 ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΚΟΙΝΩΝΙΑΣ

Διαβάστε περισσότερα

Το υλικό του υπολογιστή

Το υλικό του υπολογιστή Το υλικό του υπολογιστή Ερωτήσεις 1. Τι αντιλαμβάνεστε με τον όρο υλικό; Το υλικό(hardware) αποτελείται από το σύνολο των ηλεκτρονικών τμημάτων που συνθέτουν το υπολογιστικό σύστημα, δηλαδή από τα ηλεκτρονικά

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2 - ΛΟΓΙΣΜΙΚΟ

ΚΕΦΑΛΑΙΟ 2 - ΛΟΓΙΣΜΙΚΟ ΚΕΦΑΛΑΙΟ 2 - ΛΟΓΙΣΜΙΚΟ ΕΡΩΤΗΣΗ 1: Σε ποιες μεγάλες κατηγορίες μπορούμε να χωρίσουμε το Λογισμικό. Μπορούμε να χωρίσουμε το Λογισμικό στις παρακάτω μεγάλες κατηγορίες: στο Λογισμικό Συστήματος (System Software),

Διαβάστε περισσότερα

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

Διαβάστε περισσότερα

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη

Διαβάστε περισσότερα

Cloud Computing with Google and Microsoft. Despoina Trikomitou Andreas Diavastos Class: EPL425

Cloud Computing with Google and Microsoft. Despoina Trikomitou Andreas Diavastos Class: EPL425 Cloud Computing with Google and Microsoft Despoina Trikomitou Andreas Diavastos Class: EPL425 Σχεδιάγραμμα Εισαγωγή Τεχνολογίες Cloud Computing Περιγραφή Εργασίας Επιτεύγματα Εργασίας Συμπεράσματα Cloud

Διαβάστε περισσότερα

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

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ Κεφάλαιο 2. Το περιβάλλον του παγκόσμιου Ιστού Επιμέλεια: Καραγιάννης Σπύρος Καθηγητής ΠΕ19 Πλεονεκτήματα παγκόσμιου Ιστού Εξυπηρετητής Ιστού & Ιστοσελίδες Κύριες

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2011-12 Εικονική (και ο ρόλος της στην ιεραρχία μνήμης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης Ιεραρχία η νέα τάση: [2011]

Διαβάστε περισσότερα

Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Άδειες Χρήσης Υπολογιστές Ι Εισαγωγή Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ Η Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit -CPU) ή απλούστερα επεξεργαστής αποτελεί το μέρος του υλικού που εκτελεί τις εντολές ενός προγράμματος υπολογιστή

Διαβάστε περισσότερα

Εισαγωγή στην πληροφορική

Εισαγωγή στην πληροφορική Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στην πληροφορική Ενότητα 2: Βασικές αρχές λειτουργίας και χρήσης του υπολογιστή Αγγελίδης Παντελής Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Διαβάστε περισσότερα

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΘΕΣΣΑΛΟΝΙΚΗ, 2016 ΕΙΣΑΓΩΓΗ Μια διαδικτυακή υπηρεσία μπορεί να περιγραφεί απλά σαν μια οποιαδήποτε

Διαβάστε περισσότερα

ΛΟΓΙΣΜΙΚΟ (software)

ΛΟΓΙΣΜΙΚΟ (software) ΛΟΓΙΣΜΙΚΟ (software) Το Λογισµικό του Ηλεκτρονικού Υπολογιστή Περιεχόµενα Ορισµός Λογισµικού Κατηγορίες Λογισµικό Συστήµατος Λογισµικό Εφαρµογών Το λογισµικό είναι: Το λογισµικό Το σύνολο των προγραµµάτων

Διαβάστε περισσότερα

Θεματογράφος (ή ο βοηθός του Καθηγητή)

Θεματογράφος (ή ο βοηθός του Καθηγητή) Θεματογράφος (ή ο βοηθός του Καθηγητή) Τι είναι ο Θεματογράφος; Σύντομη Περιγραφή Ο Θεματογράφος είναι μία εφαρμογή με την οποία ο χρήστης μπορεί εύκολα να δημιουργήσει, να ταξινομήσει και να αποθηκεύσει

Διαβάστε περισσότερα

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης Σελίδα 1από ΤΕΙ ΚΑΒΑΛΑΣ Πτυχιακή εργασία Δικτυακή Εφαρμογή διαχείρισης ηλεκτρονικών εγγράφων υπηρεσίας. ΕΙΣΑΓΩΓΗ Μιλτιάδης Κακλαμάνης Σελίδα 2από Κατάλογος περιεχομένων ΕΙΣΑΓΩΓΗ...1 Σχετιζόμενα πρόσωπα...3

Διαβάστε περισσότερα

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Αριθμός bit δίαυλου δεδομένων (Data Bus) Αριθμός bit δίαυλου διευθύνσεων (Address Bus) Μέγιστη συχνότητα λειτουργίας (Clock Frequency) Τύποι εντολών Αριθμητική

Διαβάστε περισσότερα

Οργάνωση Υπολογιστών (Ι)

Οργάνωση Υπολογιστών (Ι) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Οργάνωση Υπολογιστών (Ι) (η κεντρική μονάδα επεξεργασίας) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 ΑΠΑΝΤΗΣΕΙΣ

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 ΑΠΑΝΤΗΣΕΙΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 Μάθημα : Μικροϋπολογιστές Τεχνολογία Τ.Σ. Ι, Θεωρητικής κατεύθυνσης Ημερομηνία

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 14: Σχεδιασμός μιας απλής CPU Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Κώδικας μηχανής (E) Ο επεξεργαστής μπορεί να εκτελέσει το αρχιτεκτονικό σύνολο εντολών (instruction set architecture) Οι

Διαβάστε περισσότερα

VERSION 1.0 ΝΟΕΜΒΡΙΟΣ, 2016 ΤΕΧΝΟΛΟΓΙΕΣ ΥΠΟΛΟΓΙΣΤΙΚΟΥ ΝΕΦΟΥΣ ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΟΜΟΙΩΣΗΣ CLOUDSIM ΕΠΙΜΕΛΕΙΑ: ΒΑΣΙΛΕΙΟΣ ΤΣΑΚΑΝΙΚΑΣ

VERSION 1.0 ΝΟΕΜΒΡΙΟΣ, 2016 ΤΕΧΝΟΛΟΓΙΕΣ ΥΠΟΛΟΓΙΣΤΙΚΟΥ ΝΕΦΟΥΣ ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΟΜΟΙΩΣΗΣ CLOUDSIM ΕΠΙΜΕΛΕΙΑ: ΒΑΣΙΛΕΙΟΣ ΤΣΑΚΑΝΙΚΑΣ VERSION 1.0 ΝΟΕΜΒΡΙΟΣ, 2016 ΤΕΧΝΟΛΟΓΙΕΣ ΥΠΟΛΟΓΙΣΤΙΚΟΥ ΝΕΦΟΥΣ ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΟΜΟΙΩΣΗΣ CLOUDSIM ΕΠΙΜΕΛΕΙΑ: ΒΑΣΙΛΕΙΟΣ ΤΣΑΚΑΝΙΚΑΣ ΤΕΧΝΟΛΟΓΙΕΣ ΥΠΟΛΟΓΙΣΤΙΚΟΥ ΝΕΦΟΥΣ ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΟΜΟΙΩΣΗΣ CLOUDSIM ΤΟ

Διαβάστε περισσότερα

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 1 : Οργάνωση και Αρχιτεκτονική υπολογιστών Καρβούνης Ευάγγελος Εισαγωγή Τεράστια ποικιλία προϊόντων ως προς

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2 ΛΟΓΙΣΜΙΚΟ

ΚΕΦΑΛΑΙΟ 2 ΛΟΓΙΣΜΙΚΟ ΚΕΦΑΛΑΙΟ 2 ΛΟΓΙΣΜΙΚΟ ΤΙ ΕΊΝΑΙ ΛΟΓΙΣΜΙΚΟ Για τη λειτουργία ενός υπολογιστικού συστήματος χρειάζεται εκτός από το υλικό (hardware) και το λογισμικό (software). Σε αυτό περιλαμβάνονται όλα τα Προγράμματα

Διαβάστε περισσότερα

ΔΙΑΔΙΚΑΣΙA ΜΕΤΑΦΟΡΑΣ ΥΛΙΚΟΥ ΜΑΘΗΜΑΤΟΣ ΑΠΟ BLACKBOARD VISTA ΣΕ OPEN ECLASS

ΔΙΑΔΙΚΑΣΙA ΜΕΤΑΦΟΡΑΣ ΥΛΙΚΟΥ ΜΑΘΗΜΑΤΟΣ ΑΠΟ BLACKBOARD VISTA ΣΕ OPEN ECLASS ΔΙΑΔΙΚΑΣΙA ΜΕΤΑΦΟΡΑΣ ΥΛΙΚΟΥ ΜΑΘΗΜΑΤΟΣ ΑΠΟ BLACKBOARD VISTA ΣΕ OPEN ECLASS Η διαδικασία μεταφοράς του υλικού ενός μαθήματος από την πλατφόρμα Blackboard Vista στην πλατφόρμα Open eclass σε βήματα είναι

Διαβάστε περισσότερα

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

Πως θα κατασκευάσω το πρώτο πρόγραμμα; Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να γίνει εξοικείωση το μαθητών με τον ΗΥ και το λειτουργικό σύστημα. - Επίδειξη του My Computer

Διαβάστε περισσότερα