8 Βελτιστοποιήσεις για την ανάδειξη της παραλληλίας
|
|
- Κητώ Γεννάδιος
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Αντικείμενο του μαθήματος Προηγμένα Θέματα Θεωρητικής Πληροφορικής Προηγμένα Θέματα Θεωρητικής Πληροφορικής Η οργάνωση του μεταγλωττιστή Νικόλαος Καββαδίας 10 Μαρτίου 2010 Επιμέρους στόχοι του μαθήματος Παρουσίαση ϑεμάτων που άπτονται του σχεδιασμού μεταγλωττιστών πέρα από τα βασικά Θεωρητικό υπόβαθρο Τεκμηριωμένες τεχνικές για όλα τα στάδια της μεταγλώττισης Αναλύσεις, μετασχηματισμοί και βελτιστοποιήσεις Τεχνικές εκμετάλλευσης της παραλληλίας σε όλα τα επίπεδα Πρακτικές περιπτώσεις εφαρμογής των τεχνικών αυτών σε πραγματικούς μεταγλωττιστές Άντληση γνώσης από την πηγή (journal, conference and workshop papers and presentations) με υλικό για μελέτη από reading list Αγγλικής βιβλιογραφίας Παρουσίαση της εργαλειοθήκης του σχεδιαστή μεταγλωττιστών Αντικείμενο του μαθήματος Προηγμένα Θέματα Θεωρητικής Πληροφορικής (2) Περίγραμμα μαθήματος (1) i Επιθυμητές (στην πράξη, προαπαιτούμενες) γνώσεις για επιτυχή παρακολούθηση του μαθήματος V Απευθύνεται σε φοιτητές που έχουν διδαχθεί και εξεταστεί επιτυχώς σε μάθημα αντίστοιχο των Μεταγλωττιστών Ι και μαθήματα προγραμματισμού (όπως 1ου και 2ου εξαμήνου) V Η καλή γνώση προγραμματισμού σε κάποια διαδικαστική γλώσσα (C, C++, Java) και δομών δεδομένων, καθώς και γνώσεις αρχιτεκτονικής υπολογιστών είναι χρήσιμες V Εξοικείωση με λογισμικά εργαλεία ανάπτυξης εφαρμογών και ιδιαίτερα εργαλεία GNU όπως GCC, bison, flex είναι ϑεμιτή αλλά όχι απαραίτητη V Το κυριότερο προσόν είναι η καλή διάθεση και το προσωπικό ενδιαφέρον για το αντικείμενο του μαθήματος 1 Η οργάνωση του μεταγλωττιστή 2 Γέννηση ενδιάμεσης αναπαράστασης 3 Επιλογή κώδικα 4 Κατανομή καταχωρητών 5 Ανάλυση ροής δεδομένων και ελέγχου 6 Βελτιστοποιήσεις ανεξάρτητες από την αρχιτεκτονική 7 Χρονοπρογραμματισμός κώδικα και παραλληλία επιπέδου εντολών 8 Βελτιστοποιήσεις για την ανάδειξη της παραλληλίας εντολών και της τοπικότητας δεδομένων 9 Περιβάλλον χρόνου εκτέλεσης 10 Γέννηση τελικού κώδικα για αρχιτεκτονικές μηχανής 11 Διασυναρτησιακές βελτιστοποιήσεις 12 Επαναστοχεύσιμοι μεταγλωττιστές και εργαλεία ανάπτυξης μεταγλωττιστών
2 Περίγραμμα μαθήματος (2) Εισαγωγικά Προχωρημένα ϑέματα στους μεταγλωττιστές Περιβάλλον χρόνου εκτέλεσης Βελτιστοποιήσεις για την εκμετάλλευση της παραλληλίας και ενίσχυση της τοπικότητας Μετασχηματισμοί πηγαίου κώδικα (source-to-source transformations) Επαναστοχεύσιμοι μεταγλωττιστές και εργαλεία ανάπτυξης μεταγλωττιστών Μεταγλωττιστές: GCC, Portable C Compiler (PCC), LCC, LLVM, COINS, Trimaran, SUIF/Machine-SUIF, Microsoft Phoenix Εργαλεία του οικοσυστήματος των μεταγλωττιστών: flex, bison, BURG clones, OLIVE, binutils, newlib, copt, superopt, Graphviz, VCG Στα πλαίσια του μαθήματος ϑα διδαχθεί το αντικείμενο των προηγμένων ϑεμάτων στη σχεδίαση μεταφραστών γλωσσών προγραμματισμού Το μάθημα ϑα εστιάσει στη σύνθεση τελικού κώδικα για αρχιτεκτονικές μηχανής (προγραμματιζόμενοι επεξεργαστές) από ενδιάμεση αναπαράσταση του πηγαίου προγράμματος Η σειρά διαλέξεων που ϑα πραγματοποιηθεί αντιστοιχεί σε ένα course Advanced Compiler Techniques ή Advanced Compiler Design/Construction των τμημάτων Computer Science των πανεπιστημίων του εξωτερικού Ενημέρωση για ανακοινώσεις, διαλέξεις, ύλη, εργασίες από ιστότοπο του μαθήματος που ϑα σας ανακοινωθεί Κανονικές εκφράσεις (regular expressions) Παραδείγματα κανονικών εκφράσεων Κανονική έκφραση: αλγεβρική σημειογραφία για την περιγραφή συνόλων συμβολοσειρών (strings) Αποτελεί ένα είδος αναπαράστασης ένα-σε-πολλά (μία κανονική έκφραση αντιπροσωπεύει πολλές συμβολοσειρές) Κανόνες Σύμβολο Περιγραφή? προαιρετική εμφάνιση (0 ή 1 φορές) * 0 ή περισσότερες εμφανίσεις + 1 ή περισσότερες εμφανίσεις εναλλαγή (διάζευξη) \ χαρακτήρας διαφυγής (... ) ομαδοποίηση [... ] ορισμός κλάσης χαρακτήρων - διάστημα χαρακτήρων (μέσα σε κλάση) ˆ συμπλήρωμα του συνόλου χαρακτήρων (μέσα σε κλάση). όλοι οι χαρακτήρες εκτός από τον EOL (End Of Line) ɛ κενή συμβολοσειρά Ενα παράδειγμα: (ab cd+)?(ef)* Ταυτίζεται με: abefef, efefef, cdef, cddd Δεν ταυτίζεται με: abc, abcd, abcdef Συχνά χρησιμοποιούμενες κανονικές εκφράσεις Περιγραφή Κανονική έκφραση Πεζός λατινικός χαρακτήρας [a-z] Ακέραιος αριθμός [+-]?[0-9]+ Εγκυρα ονόματα αναγνωριστικών [a-za-z_][a-za-z_0-9]* στην C Αριθμοί κινητής υποδιαστολής [+-]?(([0-9]+(.[0-9]*)?.[0-9]+) ([ee][+-]?[0-9]+)?)
3 Περιγραφή του συντακτικού μιας πηγαίας γλώσσας Σχεδιασμός διαγράμματος ροής (flow chart) Η περιγραφή της οργάνωσης μιας πηγαίας γλώσσας γενικά γίνεται με την διατύπωση της γραμματικής της Η γραμματική απαρτίζεται από λεκτικούς και συντακτικούς κανόνες Σύνθετες δηλώσεις στην πηγαία γλώσσα περιγράφονται με αναδρομική εφαρμογή απλούστερων κανόνων Παράδειγμα σε BNF: Backus-Naur Form expr ::= literal expr <+> expr expr <*> expr Το διάγραμμα ροής αποτελεί ένα είδος αναπαράστασης προγραμματικών δομών σε μια οποιαδήποτε γλώσσα (υψηλού ή χαμηλού επιπέδου) Αποδόμηση της εισόδου σε τερματικές (+,, literal) και μη-τερματικές (expr) λεκτικές μονάδες Συντακτική (και σημασιολογική) ανάλυση με αναγνώριση των γραμματικών κανόνων Σχεδιασμός διαγράμματος ροής (στα Αγγλικά) Η γλώσσα ANSI C [K&R, 1988] Οι χρησιμοποιούμενες διεθνώς ονομασίες των ενεργειών (προγραμματικών δομών) που μπορούν να αναπαρασταθούν σε ένα flow chart Η C είναι η συχνότερα χρησιμοποιούμενη γλώσσα για τον προγραμματισμό ενσωματωμένων συστημάτων (embedded systems) και εξακολουθεί να απολαμβάνει εκτίμησης για τον προγραμματισμό συστημάτων (UNIX, GNU software, Linux kernel) Ακολουθεί το διαδικαστικό μοντέλο προγραμματισμού Προσφέρεται για προγραμματισμό σε χαμηλό επίπεδο (κοντά στη γλώσσα μηχανής) και για αυτό συχνά αποκαλείται high-level assembly ή portable assembly Χαρακτηρίζεται από πολύ καλή μεταφερτότητα: μεταγλωττιστές για την C υφίστανται σχεδόν για οποιονδήποτε εμπορικό επεξεργαστή Η διαδικασία της μεταγλώττισης από την C είναι σχετικά απλή και κατανοητή
4 Προκαθορισμένοι τύποι δεδομένων στην C Ο τελεστής sizeof Βασικοί τύποι δεδομένων: char, int, float, double Η δήλωση void εκφράζει την απουσία τύπου Τα προσδιοριστικά signed, unsigned καθορίζουν το πρόσημο του αριθμού (μόνο για ακεραίους) και τα short, long το εύρος του σε bit (για char και int, το long μπορεί να χρησιμοποιηθεί και στη δήλωση ενός double) Οι τύποι float και double δηλώνουν αριθμούς κινητής υποδιαστολής απλής και διπλής ακρίβειας κατά το πρότυπο IEEE-754 Το εύρος τιμών των char, int συνήθως εξαρτάται από το εύρος bit των καταχωρητών του επεξεργαστή και των δυνατοτήτων χειρισμού τους Υπάρχουν τρόποι για την υποστήριξη Αριθμητικής αυθαίρετης ακρίβειας με χρήση κατάλληλων βιβλιοθηκών λογισμικού, π.χ. gmp Εξομοίωσης της αριθμητικής κινητής υποδιαστολής από ρουτίνες πράξεων μόνο με ακεραίους: SoftFloat Η C προσφέρει ένα μοναδιαίο τελεστή ο οποίος επιστρέφει το μέγεθος του ορίσματός του σε bytes Η απόκρισή του εξαρτάται από τον μεταγλωττιστή της C και χρησιμοποιεί την γνώση του για την αντιστοίχιση των βασικών τύπων δεδομένων με πόρους του επεξεργαστή Κανόνες sizeof(char) = sizeof(signed char) = sizeof(unsigned char) sizeof(char) sizeof(short int) sizeof(int) sizeof(long int) sizeof(float) sizeof(double) sizeof(long double) Παράδειγμα char a; short int b; unsigned int c; long int d; long long int e; float f; double g; long double h; printf("results: %d, %d, %d, %d, %d, %d, %d, %d\n", sizeof(a), sizeof(b), sizeof(c), sizeof(d), sizeof(e), sizeof(f), sizeof(g), sizeof(h)); Αποτελέσματα σε έναν desktop x86: 1, 2, 4, 8, 4, 8, 12 Βασικές δομές ελέγχου: Δήλωση if-then-else Βασικές δομές ελέγχου: Δήλωση case Αναπαράσταση της δήλωσης if σε διαγράμματα ροής Δήλωση if-else στην C if (A < B) { True; else { False; Αναπαράσταση της δήλωσης case σε διαγράμματα ροής Δήλωση switch-case στην C switch (...) { case 1: Task 1; Task 1.5; break; case 2: Task 2; break; case 3; Task 3; break; Χωρίς break οι δηλώσεις case είναι fall-through default: break; μετά την τελευταία case
5 Βασικές δομές επανάληψης: Δήλωση while-do Βασικές δομές επανάληψης: Δήλωση repeat-until Ελεγχος συνθήκης πριν την εκτέλεση της πρώτης επανάληψης Αναπαράσταση της δήλωσης while-do σε διαγράμματα ροής Δήλωση while-do στην C while (i < n) { Task; Είναι η ϑεμελιώδης δομή επανάληψης στην C. Οι δομές for και do-while μπορούν να εκφραστούν με τη βοήθεια της while-do Εκτέλεση της πρώτης επανάληψης πριν τον έλεγχο της συνθήκης Αναπαράσταση της δήλωσης repeat-until σε διαγράμματα ροής Αντιστοιχεί στη δήλωση do-while της C Z Στην do-while χρησιμοποιείται η ΣΥΜΠΛΗΡΩΜΑΤΙΚΗ συνθήκη ελέγχου do { Task; while (n < 5); // uses the // complementary // condition of // (n >= 5) Παράδειγμα σύνθετης δομής Δηλώσεις άλματος Χρησιμοποιώντας τις βασικές δομές συνθέτουμε πολυπλοκότερες δομές οι οποίες αναπαριστούν αντίστοιχα τμήματα κώδικα στην πηγαία γλώσσα Η σύνθετη δήλωση στην C First task; if (Test 1) { if (A < B) { Right; else { Left; else { do { Task; while (i < 5); Οι δηλώσεις άλματος (jump statements) στην C είναι: break, continue, goto i Και οι τρεις δηλώσεις μπορούν να αποφευχθούν όταν συντάσσουμε προγράμματα στην C break; Η break προσφέρει πρόωρη έξοδο από τις δηλώσεις for, while, do-while, switch Προκαλεί την άμεση έξοδο από τον εσώτερο βρόχο continue; Χρησιμοποιείται στις δηλώσεις επανάληψης Προκαλεί την άμεση έναρξη της επόμενης επανάληψης (iteration) με αντίστοιχη αύξηση του δείκτη goto label; Προκαλεί άλμα στη ϑέση που σημειώνει η ετικέττα label GOTO statement considered harmful...
6 Πίνακες Δήλωση συναρτήσεων (functions) στην C Οι πίνακες στην C αποτελούν συστοιχίες από ομοειδή στοιχεία τα οποία αποθηκεύονται σε διαδοχικές ϑέσεις στην κεντρική μνήμη του συστήματος Δήλωση πίνακα int a[3]; Μηδενισμός των στοιχείων ενός πίνακα (απαραίτητος για δυναμικά καταμερισμένη μνήμη διαχειριζόμενη από συναρτήσεις τύπου malloc() και free()) for (int i=0; i<len; a[i++]=0); Διευθυνσιοδότηση πίνακα και χρήση δεικτών (pointers) Εστω ο δείκτης int *pa; Αντιστοίχιση στον πίνακα: pa = a; Πρόσβαση στο στοιχείο στη ϑέση i: a[i] ή *(a+i) Η C υποστηρίζει τη δήλωση συναρτήσεων οι οποίες έχουν προαιρετικά επιστρεφόμενη τιμή και λίστα ορισμάτων Σύνταξη μιας συνάρτησης στην C [return -type] function -name ([ parameter -list]) { declarations statements Παράδειγμα συνάρτησης: Αναγωγή σε δύναμη int power(int base, int exp) { int i, p; p = 1; for (i=1; i<=exp; i++) p *= base; return p; Η συνάρτηση main Παράδειγμα πηγαίου προγράμματος σε ANSI C Η συνάρτηση main αποτελεί το σημείο εισόδου για την εκτέλεση ενός προγράμματος στην C Η main μπορεί να δηλωθεί χωρίς ορίσματα: int main(void) στην ISO C Η πλήρης δήλωσή της περιλαμβάνει τα ειδικά ορίσματα argc και argv όπως φαίνεται στο εξής πρότυπο συνάρτησης (function prototype): int main(int argc, char *argv[]); Με τη δήλωση αυτή, η main μπορεί να δεχθεί ορίσματα από τη γραμμή εντολών Το όρισμα argc ( argument counter) είναι ο αριθμός των ορισμάτων που δίνεται ως είσοδος στην εκτελέσιμη μορφή του προγράμματος από τη γραμμή εντολών Το όρισμα argv ( argument vector) είναι ένας δείκτης στον πίνακα που περιέχει τις συμβολοσειρές στις οποίες καταγράφηκαν τα ορίσματα εισόδου του προγράμματος. Ο αλγόριθμος του Ευκλείδη για τον Μέγιστο Κοινό Διαιρέτη // euclid.c int gcd(int m, int n) { int r; while ((r = m % n)!= 0) { m = n; n = r; return n; int main() { int result = gcd(60, 8); return (result);
7 Ενα ακόμη παράδειγμα: Η συνάρτηση factorial Η έννοια της μεταγλώττισης (compilation) Υπολογισμός του N! // factorial.c int factorial(int N) { int M, F; M = 1; F = 1; for (M=1; M!=N; M++) { F = F * M; return F; Η έννοια της μεταγλώττισης στην επιστήμη των υπολογιστών είναι γενική Αναφέρεται στη διαδικασία της μετάφρασης (μετατροπής) από μία πηγαία γλώσσα η οποία διέπεται από λεκτικούς και συντακτικούς κανόνες (γραμματική) σε κάποια τελική γλώσσα στο ίδιο ή διαφορετικό επίπεδο αφαίρεσης Με τον όρο compiler αναφέρεται το λογισμικό που επιτελεί τη μετάφραση προγραμμάτων σε γλώσσα προγραμματισμού υψηλού επιπέδου (HLL) στο επίπεδο του κώδικα μιας πραγματικής ή εικονικής μηχανής Η δομή του μεταγλωττιστή Τυπικός σχεδιασμός ενός μεταγλωττιστή ([Aho, 2008, (μετφρ. Ελληνικά), Πιντέλας, 2003]) Η διαδικασία της μεταγλώττισης μπορεί να χωριστεί στην φάση της ανάλυσης και στην φάση της σύνθεσης ΑΝΑΛΥΣΗ: αποδόμηση και κατανόηση του πηγαίου προγράμματος ΣΥΝΘΕΣΗ: κατασκευή του αποτελέσματος στην τελική γλώσσα διατηρώντας σημασιολογική ισοδυναμία με το πηγαίο πρόγραμμα Οι πρακτικοί μεταγλωττιστές αποτελούνται από πολλά τμήματα τα οποία εκτελούνται διαδοχικά Στα επιμέρους τμήματα του μεταγλωττιστή μπορεί να πραγματοποιείται ανάλυση και ενδεχόμενα μετασχηματισμός της εισόδου
8 Λεκτικός αναλυτής (lexical analyzer) Συντακτικός αναλυτής (syntax analyzer) Ο λεκτικός αναλυτής ομαδοποιεί τους χαρακτήρες της εισόδου σε Λεκτικές Μονάδες (tokens) Τα πρότυπα των λεκτικών μονάδων εκφράζονται μέσω κανονικών εκφράσεων Παράδειγμα position = initial + rate*60; Ανάλυση σε λεκτικές μονάδες Ομαδοποιεί τις λεκτικές μονάδες τις οποίες αναγνωρίζει ο λεκτικός αναλυτής σε συντακτικές μονάδες Παράγει αναπαράσταση του πηγαίου προγράμματος σε μορφή συντακτικού δένδρου Γίνεται έλεγχος για την ύπαρξη συντακτικών λαθών εφαρμόζοντας τους κανόνες της γραμματικής της γλώσσας Το συντακτικό δένδρο για την έκφραση position =... position, initial, rate tôpou prosdiorist (identifier) 60 tôpou stajerˆc =, *, + tôpou prˆxhc (telestèc) ; tôpou stðxhc (diaqwrist c entol n) Ο σημασιολογικός αναλυτής (semantics analyzer) Γεννήτορας ενδιάμεσου κώδικα Ο σημασιολογικός αναλυτής αναλύει το συντακτικό δένδρο χρησιμοποιώντας πληροφορία που σχετίζεται τόσο με τους τύπους όσο και με τις τιμές των συμβόλων Στο παράδειγμα, έλεγχος των δηλώσεων (declaration) των αναγνωριστικών πριν τη χρησιμοποίηση τους στον κώδικα Η σημασιολογική ανάλυση ενημερώνει την αναπαράσταση συντακτικού δένδρου με πληροφορία όπως για την εγκυρότητα χρήσης των τελεστών ανάλογα με τους τύπους των αναγνωριστικών: π.χ. το αναγνωριστικό rate είναι τύπου REAL i Σε ορισμένους απλούς μεταγλωττιστές, ο σημασιολογικός αναλυτής μπορεί να παράγει ενδιάμεσο ή τελικό κώδικα Αφορά πολύ απλές μηχανές όπως επεξεργαστές στοίβας Ο παραγόμενος κώδικας δεν είναι βελτιστοποιημένος Δέχεται ως είσοδο το συντακτικό δένδρο και παράγει κώδικα για μια απλή εικονική (virtual) μηχανή Ενδιάμεση αναπαράσταση (IR: Intermediate Representation) όπως μορφής κώδικα τριών διευθύνσεων ή τετράδων (quadruples) Για το παράδειγμα: temp1 = int2real(60); temp2 = rate * temp1; temp3 = initial + temp2; position = temp3; Η χρήση IR επιτρέπει την παραγωγή τελικού κώδικα για διαφορετικές μηχανές (στοχευόμενες αρχιτεκτονικές) χωρίς την επανάληψη της λεκτικής, συντακτικής και σημασιολογικής ανάλυσης του πηγαίου προγράμματος Για κάθε νέα αρχιτεκτονική χρειάζεται το αντίστοιχο τμήμα του μεταγλωττιστή για την γέννηση τελικού κώδικα από την IR Το τελευταίο ισχύει στους επαναστοχεύσιμους μεταγλωττιστές (retargetable compilers)
9 Βελτιστοποιητές υψηλού και μεσαίου επιπέδου Γεννήτορας τελικού κώδικα Οι βελτιστοποιητές υψηλού και μεσαίου επιπέδου περιλαμβάνουν πολλές αλληλοδιαδεχόμενες διαδικασίες: αναλύσεις ή/και μετασχηματισμούς Z Ονομάζονται περάσματα (passes) του μεταγλωττιστή Σκοπός είναι η βελτίωση του ενδιάμεσου κώδικα του πηγαίου προγράμματος Τελικό ζητούμενο είναι ο ταχύτερα εκτελούμενος τελικός κώδικας και οι μικρότερες απαιτήσεις μνήμης για εντολές και δεδομένα του προγράμματος Για το παράδειγμα, το αποτέλεσμα των βελτιστοποιήσεων ϑα μπορούσε να είναι: temp1 = rate * 60.0; position = initial + temp1; Η temp1 είναι προσωρινή μεταβλητή (temporary variable) Οι βελτιστοποιήσεις μεταγλωττιστών αποτελούν ανοικτό πεδίο έρευνας Ο γεννήτορας τελικού κώδικα δέχεται ως είσοδο την IR και παράγει ως έξοδο τον τελικό κώδικα (γλώσσα μηχανής ή συμβολομεταφραστή) Ανάθεση των μεταβλητών στις αντίστοιχες ϑέσεις μνήμης Επιλογή των εντολών επιπέδου συμβολομεταφραστή (εντολές από το ρεπερτόριο του επεξεργαστή ή της εικονικής μηχανής) Αντιστοίχιση μεταβλητών με καταχωρητές του επεξεργαστή Τελικός κώδικας για το παράδειγμα (MIPS32) mul.s $f2, $f1, 60.0 add.s $f3, $f3, $f2 Βελτιστοποιητής χαμηλού επιπέδου Ο πίνακας συμβόλων (symbol table) Ο βελτιστοποιητής χαμηλού επιπέδου χρησιμοποιείται ορισμένες φορές για περαιτέρω βελτίωση του τελικού κώδικα Αξιοποιεί ιδιαίτερα χαρακτηριστικά της στοχευόμενης αρχιτεκτονικής Παραδείγματα βελτιστοποιητών χαμηλού επιπέδου Χρονοπρογραμματιστής εντολών (instruction scheduler): τοποθετεί τις εντολές του επεξεργαστή σε χρονοθυρίδες (time-slots) για την παράλληλη εκτέλεσή τους Υπερβελτιστοποιητής (superoptimizer): βελτιστοποιεί περιοχές του τελικού κώδικα με εφαρμογή ωμής δύναμης Βελτιστοποιητής κλειδαρότρυπας (peephole optimizer): επιβάλλει μακρο-αντικαταστάσεις με ή χωρίς συνθήκη, εξετάζοντας κάθε φορά ένα παράθυρο του τελικού κώδικα Ο πίνακας συμβόλων βρίσκεται στην καρδιά του μεταγλωττιστή Είναι η βάση δεδομένων για τα σύμβολα του πηγαίου προγράμματος Υποβοηθά όλα τα υπόλοιπα τμήματά του μεταγλωττιστή παρέχοντας τις δομές που απαιτούνται, για να τοποθετήσουν και να ανακτήσουν πληροφορίες Μια τυπική εγγραφή στον πίνακα συμβόλων μιας μεταβλητής περιέχει το όνομά της, τη διεύθυνση μνήμης, τον τύπο και την εμβέλειά της Μια εγγραφή συνάρτησης ϑα περιέχει μεταξύ άλλων το όνομά της, τον αριθμό και τον τύπο των ορισμάτων της
10 Μεταγλωττιστές για πολλές πηγαίες και τελικές γλώσσες Η χρησιμότητα της ενδιάμεσης αναπαράστασης Αρκετά νωρίς (αρχές 50) τέθηκε το πρόβλημα του μεταγλωττιστή ο οποίος κατανοεί πολλές (n) γλώσσες εισόδου και παράγει κώδικα σε (m) γλώσσες χαμηλού επιπέδου Ο μεταγλωττιστής αυτός ϑα έπρεπε να επιτελεί n m τρόπους μετάφρασης Λόγω της προφανούς μη πρακτικότητας, προτάθηκε διαδικασία δύο σταδίων: 1 μετάφραση από την πηγαία γλώσσα (HLL: High-Level Language) σε μια ενδιάμεση αναπαράσταση (IR) 2 μετάφραση από την ενδιάμεση αναπαράσταση στη γλώσσα χαμηλού επιπέδου (LLL: Low-Level Language) Υποστήριξη n + m μηχανισμών μεταγλώττισης αντί για n m Το τμήμα του μεταγλωττιστή που επιτελεί την μετάφραση HLL IR ονομάζεται frontend Το τμήμα του μεταγλωττιστή που επιτελεί την μετάφραση IR LLL ονομάζεται backend Ο πρακτικός μεταγλωττιστής Βασικά εργαλεία στην ανάπτυξη λογισμικού: Ορισμοί ([Δ. Σπινέλλης: Computers for all]) Με χρήση της IR απαιτούνται 9 μηχανισμοί μεταγλώττισης αντί για 20 Κειμενογράφος/Διορθωτής (Editor): Επιτρέπει τη συγγραφή και την αλλαγή του προγράμματος Προεπεξεργαστής (Preprocessor): Επεξεργάζεται το πρόγραμμα εκτελώντας απλούς συμβολικούς μετασχηματισμούς και παράγει ένα ισοδύναμο πρόγραμμα (αφορά τις C, C++, Fortran) Συμβολομεταφραστής (Assembler): Μετατρέπει τη συμβολική γλώσσα του επεξεργαστή σε γλώσσα μηχανής Μεταγλωττιστής (Compiler): Μεταφράζει μια γλώσσα υψηλού επιπέδου σε γλώσσα επιπέδου μηχανής Διερμηνευτής (Interpreter): Εκτελεί άμεσα ένα πρόγραμμα σε γλώσσα υψηλού επιπέδου Συνδέτης (Linker): Συρράφει τμήματα ενός προγράμματος που έχουν μεταγλωττιστεί ξεχωριστά σε ένα ενιαίο πρόγραμμα Φορτωτής (Loader): Φορτώνει το πρόγραμμα στη μνήμη του επεξεργαστή διορθώνοντας αναφορές σε ϑέσεις μνήμης εντολών και δεδομένων του προγράμματος Αποσφαλματωτής (Debugger): Επιτρέπει την εκτέλεση του προγράμματος βήμα-βήμα με σκοπό την ανίχνευση λαθών που μπορεί να περιέχει το πρόγραμμα
11 Η εργαλειοθήκη του σχεδιαστή μεταγλωττιστών Χρήσιμα βιβλία Κειμενογράφος/Διορθωτής: vi, emacs, Geany, Context Λεκτική/συντακτική ανάλυση: lex+yacc, flex+bison, ANTLR (πρώην PCCTS), GOLD Parser Builder Συμβολομεταφραστής-Συνδέτης-Αποσυμβολομεταφραστής: binutils (as, ld, objdump) Μεταγλωττιστής (Compiler): GCC, LCC, LLVM, COINS, Phoenix, PCC, Trimaran, SUIF/Machine-SUIF, ACSE, xcc, jackcc Πρότυπη βιβλιοθήκη της C: glibc, newlib, uclibc Αποσφαλματωτής (Debugger): GDB Γεννήτορες γεννητόρων κώδικα: BURG, IBURG, LBURG, OLIVE Οπτικοποίηση γράφων: Graphviz, VCG Α λλα εργαλεία: sparse, Aha!, superopt, copt Νικόλαος Καββαδίας Προηγμένα Θέματα Θεωρητικής Πληροφορικής Αναφορές του μαθήματος I B. W. Kernighan and D. M. Ritchie, The C Programming Language, 2nd ed. Prentice Hall PTR, One Lake Street, Upper Saddle River, New Jersey 07458, USA: Prentice-Hall, A. V. Aho, R. Sethi, and J. D. Ullman, Μεταγλωττιστές: Αρχές, Τεχνικές και Εργαλεία, με την επιμέλεια των: Αγγελος Σπ. Βώρος και Νικόλαος Σπ. Βώρος και Κων/νος Γ. Μασσέλος, κεφάλαια 1.1, 3.3, Εκδόσεις Νέων Τεχνολογιών, Website for the English version: Παναγιώτης Πιντέλας και Παναγιώτης Αλεφραγκής, Μεταγλωττιστές (Πρακτική Εξάσκηση σε Θέματα Λογισμικού: Τόμος Α ), κεφάλαια 1, 2.3. Ελληνικό Ανοικτό Πανεπιστήμιο, [Online]. Available: Διομήδης Σπινέλλης. Σειρά διαλέξεων: Computers For All. [Online]. Available: Νικόλαος Καββαδίας nkavv@uop.gr Προηγμένα Θέματα Θεωρητικής Πληροφορικής Νικόλαος Καββαδίας nkavv@uop.gr Προηγμένα Θέματα Θεωρητικής Πληροφορικής
Νικόλαος Καββαδίας Μεταγλωττιστές ΙΙ
Μεταγλωττιστές ΙΙ Η οργάνωση του μεταγλωττιστή Νικόλαος Καββαδίας nkavv@uop.gr 03 Νοεμβρίου 2010 Αντικείμενο του μαθήματος CST325: Μεταγλωττιστές ΙΙ (1) Επιμέρους στόχοι του μαθήματος Παρουσίαση ϑεμάτων
Διαβάστε περισσότεραΠροηγμένα Θέματα Θεωρητικής Πληροφορικής
Προηγμένα Θέματα Θεωρητικής Πληροφορικής Η οργάνωση του μεταγλωττιστή Νικόλαος Καββαδίας nkavv@uop.gr 10 Μαρτίου 2010 Αντικείμενο του μαθήματος Προηγμένα Θέματα Θεωρητικής Πληροφορικής Επιμέρους στόχοι
Διαβάστε περισσότεραΜεταγλωττιστές ΙΙ. nkavv@uop.gr. Γέννηση ενδιάμεσης αναπαράστασης. 10 Νοεμβρίου 2010. Νικόλαος Καββαδίας nkavv@uop.gr Μεταγλωττιστές ΙΙ
Μεταγλωττιστές ΙΙ Γέννηση ενδιάμεσης αναπαράστασης Νικόλαος Καββαδίας nkavv@uop.gr 10 Νοεμβρίου 2010 Η έννοια της ενδιάμεσης αναπαράστασης Ενδιάμεση αναπαράσταση (IR: intermediate representation): απλοποιημένη,
Διαβάστε περισσότεραΜεταγλωττιστές ΙΙ. nkavv@uop.gr. 26 Ιανουαρίου 2011. Νικόλαος Καββαδίας nkavv@uop.gr Μεταγλωττιστές ΙΙ
Μεταγλωττιστές ΙΙ Ανασκόπηση του μαθήματος και ϑέματα πρακτικής εξάσκησης Νικόλαος Καββαδίας nkavv@uop.gr 26 Ιανουαρίου 2011 Σκιαγράφηση της διάλεξης Παραλειπόμενα Αναδρομή στο περιεχόμενο του μαθήματος
Διαβάστε περισσότεραΠροηγμένα Θέματα Θεωρητικής Πληροφορικής
Προηγμένα Θέματα Θεωρητικής Πληροφορικής Επιλογή κώδικα Νικόλαος Καββαδίας nkavv@uop.gr 24 Μαρτίου 2010 Σημαντικά ζητήματα στη γέννηση κώδικα (1) Επιθυμητές ιδιότητες του γεννήτορα κώδικα (code generator)
Διαβάστε περισσότεραΜεταγλωττιστές ΙΙ. Επιλογή κώδικα. 24 Νοεμβρίου Νικόλαος Καββαδίας Μεταγλωττιστές ΙΙ
Μεταγλωττιστές ΙΙ Επιλογή κώδικα Νικόλαος Καββαδίας nkavv@uop.gr 24 Νοεμβρίου 2010 Ο γεννήτορας κώδικα Επιθυμητές ιδιότητες του γεννήτορα κώδικα (code generator) Το παραγόμενο πρόγραμμα χαμηλού επιπέδου
Διαβάστε περισσότεραΦόρμα Σχεδιασμού Διάλεξης (ημ/α: 17/03/08, έκδοση: 1.0)
1. Κωδικός Μαθήματος: (Εισαγωγή στον Προγραμματισμό) 2. Α/Α Διάλεξης: 1 1. Τίτλος: Εισαγωγή στους υπολογιστές. 2. Μαθησιακοί Στόχοι: Συνοπτική παρουσίαση της εξέλιξης των γλωσσών προγραμματισμού και των
Διαβάστε περισσότεραΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ
ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Σ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΔΕΥΤΕΡΑ 12 ΙΟΥΝΙΟΥ 2000 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ): ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ
Διαβάστε περισσότεραΣυναρτήσεις. Σημερινό μάθημα
Συναρτήσεις Σημερινό μάθημα C++ Συναρτήσεις Δήλωση συνάρτησης Σύνταξη συνάρτησης Πρότυπο συνάρτησης & συνάρτηση Αλληλο καλούμενες συναρτήσεις συναρτήσεις μαθηματικών Παράμετροι συναρτήσεων Τοπικές μεταβλητές
Διαβάστε περισσότεραΒελτιστοποιήσεις για την εκμετάλλευση της παραλληλίας και ενίσχυση της τοπικότητας. Προηγμένα Θέματα Θεωρητικής Πληροφορικής
Βελτιστοποιήσεις για την εκμετάλλευση της παραλληλίας και ενίσχυση της τοπικότητας Προηγμένα Θέματα Θεωρητικής Πληροφορικής Βελτιστοποιήσεις για την εκμετάλλευση της παραλληλίας και ενίσχυση της τοπικότητας
Διαβάστε περισσότεραΠροηγμένα Θέματα Θεωρητικής Πληροφορικής
Προηγμένα Θέματα Θεωρητικής Πληροφορικής Βελτιστοποιήσεις για την εκμετάλλευση της παραλληλίας και ενίσχυση της τοπικότητας (Ι) Νικόλαος Καββαδίας nkavv@uop.gr 19 Μαΐου 2010 Βελτιστοποιήσεις για την εκμετάλλευση
Διαβάστε περισσότεραΑποδεικτικές Διαδικασίες και Μαθηματική Επαγωγή.
Αποδεικτικές Διαδικασίες και Μαθηματική Επαγωγή. Mαθηματικό σύστημα Ένα μαθηματικό σύστημα αποτελείται από αξιώματα, ορισμούς, μη καθορισμένες έννοιες και θεωρήματα. Η Ευκλείδειος γεωμετρία αποτελεί ένα
Διαβάστε περισσότεραΜεταγλωττιστές ΙΙ. nkavv@uop.gr. Χρονοπρογραμματισμός κώδικα και βελτιστοποιήσεις εξαρτημένες από την αρχιτεκτονική
Μεταγλωττιστές ΙΙ Χρονοπρογραμματισμός κώδικα και βελτιστοποιήσεις εξαρτημένες από την αρχιτεκτονική Νικόλαος Καββαδίας nkavv@uop.gr 21 Δεκεμβρίου 2010 Βελτιστοποιήσεις εξαρτημένες από την αρχιτεκτονική
Διαβάστε περισσότεραPointers. Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2
Pointers 1 Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2 1 Μνήμη μεταβλητών Κάθε μεταβλητή έχει διεύθυνση Δεν χρειάζεται
Διαβάστε περισσότεραΜεταγλωττιστές ΙΙ. Βελτιστοποιήσεις για την εκμετάλλευση της παραλληλίας και ενίσχυση της τοπικότητας
Μεταγλωττιστές ΙΙ Βελτιστοποιήσεις για την εκμετάλλευση της παραλληλίας και ενίσχυση της τοπικότητας Νικόλαος Καββαδίας nkavv@uop.gr 22 Δεκεμβρίου 2010 Βελτιστοποιήσεις για την εκμετάλλευση της παραλληλίας
Διαβάστε περισσότεραΜεταγλωττιστές ΙΙ. nkavv@uop.gr. Επαναστοχεύσιμοι μεταγλωττιστές. 19 Ιανουαρίου 2011. Νικόλαος Καββαδίας nkavv@uop.gr Μεταγλωττιστές ΙΙ
Μεταγλωττιστές ΙΙ Επαναστοχεύσιμοι μεταγλωττιστές Νικόλαος Καββαδίας nkavv@uop.gr 19 Ιανουαρίου 2011 Σκιαγράφηση της διάλεξης Εισαγωγή στα ενσωματωμένα συστήματα (embedded systems) Η χρησιμότητα των επαναστοχεύσιμων
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2017-2018 Φροντιστήριο 3 1. Εστω η στοίβα S και ο παρακάτω αλγόριθμος επεξεργασίας της. Να καταγράψετε την κατάσταση
Διαβάστε περισσότεραΠροηγμένα Θέματα Θεωρητικής Πληροφορικής
Προηγμένα Θέματα Θεωρητικής Πληροφορικής Βελτιστοποιήσεις για την εκμετάλλευση της παραλληλίας και ενίσχυση της τοπικότητας (ΙΙ) Νικόλαος Καββαδίας nkavv@uop.gr 26 Μαΐου 2010 Μετασχηματισμοί βρόχου (loop
Διαβάστε περισσότεραΠροηγμένα Θέματα Θεωρητικής Πληροφορικής
Προηγμένα Θέματα Θεωρητικής Πληροφορικής Ανασκόπηση του μαθήματος - Γέννηση τελικού κώδικα για RISC επεξεργαστές Νικόλαος Καββαδίας nkavv@uop.gr 02 Ιουνίου 2010 Σκιαγράφηση της διάλεξης Σύνοψη του μαθήματος
Διαβάστε περισσότεραΣυναρτήσεις & Κλάσεις
Συναρτήσεις & Κλάσεις Overloading class member συναρτήσεις/1 #include typedef unsigned short int USHORT; enum BOOL { FALSE, TRUE}; class Rectangle { public: Rectangle(USHORT width, USHORT
Διαβάστε περισσότεραΣκιαγράφηση της διάλεξης. Προηγμένα Θέματα Θεωρητικής Πληροφορικής.
Σκιαγράφηση της διάλεξης Προηγμένα Θέματα Θεωρητικής Πληροφορικής Ανασκόπηση του μαθήματος - Γέννηση τελικού κώδικα για RISC επεξεργαστές Νικόλαος Καββαδίας nkavv@uop.gr Σύνοψη του μαθήματος Ενδεικτικά
Διαβάστε περισσότεραΣκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. nkavv@uop.gr. Περισσότερα για τα αρθρώματα Αναθέσεις και τελεστές Συντρέχων κώδικας
Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Ι Μοντελοποίηση συνδυαστικών κυκλωμάτων Νικόλαος Καββαδίας nkavv@uop.gr 06 Μαρτίου 2012 Περισσότερα για τα αρθρώματα Αναθέσεις και τελεστές Συντρέχων
Διαβάστε περισσότεραΓέννηση ενδιάμεσης αναπαράστασης. Προηγμένα Θέματα Θεωρητικής Πληροφορικής. Τύποι IR. Άποψη του μεταγλωττιστή από την πλευρά της IR.
Η έννοια της ενδιάμεσης αναπαράστασης Προηγμένα Θέματα Θεωρητικής Πληροφορικής Γέννηση ενδιάμεσης αναπαράστασης Νικόλαος Καββαδίας nkavv@uop.gr 17 Μαρτίου 2010 Ενδιάμεση αναπαράσταση (IR: intermediate
Διαβάστε περισσότεραΙόνιο Πανεπιστήμιο Τμήμα Πληροφορικής. Ακαδημαϊκό Έτος ΠΑΡΑΔΟΤΕΟ: Έκθεση Προόδου Υλοποίησης του Μαθήματος «Εισαγωγή στον Προγραμματισμό»
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ακαδημαϊκό Έτος 2007 2008 ΠΑΡΑΔΟΤΕΟ: Έκθεση Προόδου Υλοποίησης του Μαθήματος «Εισαγωγή στον Προγραμματισμό» Διδάσκοντες: Θεόδωρος Ανδρόνικος & Δημήτριος Θεοτόκης Περιεχόμενα
Διαβάστε περισσότεραΜεταγλωττιστές ΙΙ. nkavv@uop.gr. Καταμερισμός καταχωρητών. Νικόλαος Καββαδίας nkavv@uop.gr Μεταγλωττιστές ΙΙ
Μεταγλωττιστές ΙΙ Καταμερισμός καταχωρητών Νικόλαος Καββαδίας nkavv@uop.gr 01 Δεκεμβρίου 2010 Γενικά για τον καταμερισμό καταχωρητών Καταμερισμός καταχωρητών (register allocation): βελτιστοποίηση μεταγλωττιστή
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2017-2018 Φροντιστήριο 3 - Λύσεις 1. Εστω ο πίνακας Α = [12, 23, 1, 5, 7, 19, 2, 14]. i. Να δώσετε την κατάσταση
Διαβάστε περισσότεραΤΑΞΙΝΟΜΗΣΗ ΟΡΓΑΝΙΣΜΩΝ
ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 1α ΤΑΞΙΝΟΜΗΣΗ ΟΡΓΑΝΙΣΜΩΝ Οι επιστήμονες ταξινομούν τους οργανισμούς σε ομάδες ανάλογα με τα κοινά τους χαρακτηριστικά. Τα πρώτα συστήματα ταξινόμησης βασιζόταν αποκλειστικά στα μορφολογικά
Διαβάστε περισσότεραΑς υποθέσουμε ότι ο παίκτης Ι διαλέγει πρώτος την τυχαιοποιημένη στρατηγική (x 1, x 2 ), x 1, x2 0,
Οικονομικό Πανεπιστήμιο Αθηνών Τμήμα Στατιστικής Εισαγωγή στην Επιχειρησιακή Ερευνα Εαρινό Εξάμηνο 2015 Μ. Ζαζάνης Πρόβλημα 1. Να διατυπώσετε το παρακάτω παίγνιο μηδενικού αθροίσματος ως πρόβλημα γραμμικού
Διαβάστε περισσότεραΠροηγμένα Θέματα Θεωρητικής Πληροφορικής
Προηγμένα Θέματα Θεωρητικής Πληροφορικής Βελτιστοποιήσεις ανεξάρτητες από την αρχιτεκτονική Νικόλαος Καββαδίας nkavv@uop.gr 28 Απριλίου 2010 Η έννοια της βελτιστοποίησης προγράμματος Βελτιστοποίηση προγράμματος
Διαβάστε περισσότεραΑντικειμενοστραφής. Προγραμματισμού
Αντικειμενοστραφής προγραμματισμός Σημερινό μάθημα Μειονεκτήματα Δομημένου Προγραμματισμού Αντικειμενοστραφής προγραμματισμός Ορισμοί Κλάσεις Αντικείμεναμ Χαρακτηριστικά ΑΠ C++ Class 1 Δομημένος Προγραμματισμός
Διαβάστε περισσότεραΣκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. nkavv@uop.gr. Ανασκόπηση ϑεμάτων παλαιών εξετάσεων του μαθήματος. Περιεχόμενο εξετάσεων
Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Ι Θέματα πρακτικής εξάσκησης Νικόλαος Καββαδίας nkavv@uop.gr 08 Ιουνίου 2011 Ανασκόπηση ϑεμάτων παλαιών εξετάσεων του μαθήματος Εξεταστική περίοδος Ιουνίου-Ιουλίου
Διαβάστε περισσότεραΗ έννοια της βελτιστοποίησης προγράμματος. Προηγμένα Θέματα Θεωρητικής Πληροφορικής
Η έννοια της βελτιστοποίησης προγράμματος Προηγμένα Θέματα Θεωρητικής Πληροφορικής Βελτιστοποιήσεις ανεξάρτητες από την αρχιτεκτονική Νικόλαος Καββαδίας nkavv@uop.gr 28 Απριλίου 2010 Βελτιστοποίηση προγράμματος
Διαβάστε περισσότεραΤυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Διάλεξθ 2
Τμήμα Μησανικών Πληποφοπικήρ, Τ.Ε.Ι. Ηπείπος Ακαδημαϊκό Έτορ 2016-2017, 6 ο Εξάμηνο Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Διάλεξθ 2 Διδάςκων Τςιακμάκθσ Κυριάκοσ, Phd MSc in Electronic Physics (Radioelectrology)
Διαβάστε περισσότεραΑναγνώριση Προτύπων 1
Αναγνώριση Προτύπων 1 Σημερινό Μάθημα Βασικό σύστημα αναγνώρισης προτύπων Προβλήματα Πρόβλεψης Χαρακτηριστικά και Πρότυπα Ταξινομητές Classifiers Προσεγγίσεις Αναγνώρισης Προτύπων Κύκλος σχεδίασης Συστήματος
Διαβάστε περισσότεραnkavv@physics.auth.gr nkavv@uop.gr
Γλώσσες Περιγραφής Υλικού Μη προγραμματιζόμενοι επεξεργαστές Νικόλαος Καββαδίας nkavv@physics.auth.gr nkavv@uop.gr 26 Μαΐου 2009 Σκιαγράφηση της διάλεξης Μη προγραμματιζόμενοι επεξεργαστές Υλοποίηση με
Διαβάστε περισσότεραΜεταγλωττιστές ΙΙ. Βελτιστοποιήσεις ανεξάρτητες από την αρχιτεκτονική. Νικόλαος Καββαδίας Μεταγλωττιστές ΙΙ
Μεταγλωττιστές ΙΙ Βελτιστοποιήσεις ανεξάρτητες από την αρχιτεκτονική Νικόλαος Καββαδίας nkavv@uop.gr 08 Δεκεμβρίου 2010 Η έννοια της βελτιστοποίησης προγράμματος Βελτιστοποίηση προγράμματος (program optimization):
Διαβάστε περισσότεραΣΤΟ ΦΑΡΜΑΚΕΙΟ. Με την πιστοποίηση του έχει πρόσβαση στο περιβάλλον του φαρμακείου που παρέχει η εφαρμογή.
ΣΤΟ ΦΑΡΜΑΚΕΙΟ Ο ασθενής έχοντας μαζί του το βιβλιάριο υγείας του και την τυπωμένη συνταγή από τον ιατρό, η οποία αναγράφει τον μοναδικό κωδικό της, πάει στο φαρμακείο. Το φαρμακείο αφού ταυτοποιήσει το
Διαβάστε περισσότεραΑναγνώριση Προτύπων. Σημερινό Μάθημα
Αναγνώριση Προτύπων Σημερινό Μάθημα Μη Παραμετρικός Υπολογισμός πυκνότητας με εκτίμηση Ιστόγραμμα Παράθυρα Parzen Εξομαλυμένη Kernel Ασκήσεις 1 Μη Παραμετρικός Υπολογισμός πυκνότητας με εκτίμηση Κατά τη
Διαβάστε περισσότεραΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Μούλου Ευγενία
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΑΡΧΕΙΑ Ο πιο γνωστός τρόπος οργάνωσης δεδομένων με τη χρήση ηλεκτρονικών υπολογιστών είναι σε αρχεία. Ένα αρχείο μπορούμε να το χαρακτηρίσουμε σαν ένα σύνολο που αποτελείται από οργανωμένα
Διαβάστε περισσότεραΦόρμα Σχεδιασμού Διάλεξης (ημ/α: 17/03/08, έκδοση: 1.0)
2. Α/Α Διάλεξης: 1 1. Τίτλος: Εισαγωγή στο Λογικό Προγραμματισμό. 2. Μαθησιακοί Στόχοι: Εισαγωγή στις έννοιες του διαδικαστικού και του δηλωτικού προγραμματισμού. 3. Θέματα που καλύπτει: Εισαγωγή στις
Διαβάστε περισσότεραΤρίτη, 05 Ιουνίου 2001 ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Τρίτη, 05 Ιουνίου 2001 ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 Α. Να µεταφέρετε στο τετράδιό σας και να συµπληρώσετε τον παρακάτω πίνακα αλήθειας δύο προτάσεων
Διαβάστε περισσότεραΚληρονομικότητα. Σήμερα! Κλάση Βάσης Παράγωγη κλάση Απλή κληρονομικότητα Protected δεδομένα Constructors & Destructors overloading
Κληρονομικότητα Σήμερα! Κλάση Βάσης Παράγωγη κλάση Απλή κληρονομικότητα Protected δεδομένα Constructors & Destructors overloading 2 1 Κλάση Βάση/Παράγωγη Τα διάφορα αντικείμενα μπορούν να έχουν μεταξύ
Διαβάστε περισσότεραΑναγνώριση Προτύπων. Σημερινό Μάθημα
Αναγνώριση Προτύπων Σημερινό Μάθημα Bias (απόκλιση) και variance (διακύμανση) Ελεύθεροι Παράμετροι Ελεύθεροι Παράμετροι Διαίρεση dataset Μέθοδος holdout Cross Validation Bootstrap Bias (απόκλιση) και variance
Διαβάστε περισσότερα{ i f i == 0 and p > 0
ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ Σχεδίαση και Ανάλυση Αλγορίθμων Διδάσκων: Ε. Μαρκάκης, Φθινοπωρινό εξάμηνο 014-015 Λύσεις 1ης Σειράς Ασκήσεων
Διαβάστε περισσότεραΕξαναγκασμένες ταλαντώσεις, Ιδιοτιμές με πολλαπλότητα, Εκθετικά πινάκων. 9 Απριλίου 2013, Βόλος
ιαφορικές Εξισώσεις Εξαναγκασμένες ταλαντώσεις, Ιδιοτιμές με πολλαπλότητα, Ατελείς ιδιοτιμές Εκθετικά πινάκων Μανόλης Βάβαλης Τμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών και ικτύων Πανεπιστήμιο Θεσσαλίας 9 Απριλίου
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ
ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ Την ευθύνη του εκπαιδευτικού υλικού έχει ο επιστημονικός συνεργάτης των Πανεπιστημιακών Φροντιστηρίων «ΚOΛΛΙΝΤΖΑ», οικονομολόγος συγγραφέας θεμάτων ΑΣΕΠ, Παναγιώτης Βεργούρος.
Διαβάστε περισσότεραΣυναρτήσεις ΙΙ. Σημερινό μάθημα
Συναρτήσεις ΙΙ 1 Σημερινό μάθημα Εμβέλεια Εμφωλίαση Τύπος αποθήκευσης Συναρτήσεις ως παράμετροι Πέρασμα με τιμή Πολλαπλά return Προκαθορισμένοι ρ Παράμετροι ρ Υπερφόρτωση συναρτήσεων Inline συναρτήσεις
Διαβάστε περισσότεραΑναγνώριση Προτύπων. Σημερινό Μάθημα
Αναγνώριση Προτύπων Σημερινό Μάθημα Εκτίμηση Πυκνότητας με k NN k NN vs Bayes classifier k NN vs Bayes classifier Ο κανόνας ταξινόμησης του πλησιέστερου γείτονα (k NN) lazy αλγόριθμοι O k NN ως χαλαρός
Διαβάστε περισσότεραΑναγνώριση Προτύπων. Σήμερα! Λόγος Πιθανοφάνειας Πιθανότητα Λάθους Κόστος Ρίσκο Bayes Ελάχιστη πιθανότητα λάθους για πολλές κλάσεις
Αναγνώριση Προτύπων Σήμερα! Λόγος Πιθανοφάνειας Πιθανότητα Λάθους Πιθανότητα Λάθους Κόστος Ρίσκο Bayes Ελάχιστη πιθανότητα λάθους για πολλές κλάσεις 1 Λόγος Πιθανοφάνειας Ας υποθέσουμε ότι θέλουμε να ταξινομήσουμε
Διαβάστε περισσότεραHY 280. θεμελιακές έννοιες της επιστήμης του υπολογισμού ΑΣΚΗΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ. Γεώργιος Φρ.
HY 280 «ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΟΥ» θεμελικές έννοιες της επιστήμης του υπολογισμού ΑΣΚΗΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ Γεώργιος Φρ. Γεωργκόπουλος μέρος Α Εισγωγή, κι η σική θεωρί των πεπερσμένων
Διαβάστε περισσότεραΜεταγλωττιστές ΙΙ. nkavv@uop.gr. Γέννηση τελικού κώδικα για RISC επεξεργαστές. 12 Ιανουαρίου 2011. Νικόλαος Καββαδίας nkavv@uop.gr Μεταγλωττιστές ΙΙ
Μεταγλωττιστές ΙΙ Γέννηση τελικού κώδικα για RISC επεξεργαστές Νικόλαος Καββαδίας nkavv@uop.gr 12 Ιανουαρίου 2011 Σκιαγράφηση της διάλεξης Η αρχιτεκτονική επεξεργαστή MIPS Γέννηση τελικού κώδικα για τον
Διαβάστε περισσότεραΣχέσεις και ιδιότητές τους
Σχέσεις και ιδιότητές τους Διμελής (binary) σχέση Σ από σύνολο Χ σε σύνολο Υ είναι ένα υποσύνολο του καρτεσιανού γινομένου Χ Υ. Αν (χ,ψ) Σ, λέμε ότι το χ σχετίζεται με το ψ και σημειώνουμε χσψ. Στην περίπτωση
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ31: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 017-018 Φροντιστήριο 5 1. Δικαιολογήστε όλες τις απαντήσεις σας. i. Δώστε τις 3 βασικές ιδιότητες ενός AVL δένδρου.
Διαβάστε περισσότεραΔ Ι Α Κ Ρ Ι Τ Α Μ Α Θ Η Μ Α Τ Ι Κ Α. 1η σειρά ασκήσεων
Δ Ι Α Κ Ρ Ι Τ Α Μ Α Θ Η Μ Α Τ Ι Κ Α 1η σειρά ασκήσεων Ονοματεπώνυμο: Αριθμός μητρώου: Ημερομηνία παράδοσης: Μέχρι την Τρίτη 2 Απριλίου 2019 Σημειώστε τις ασκήσεις για τις οποίες έχετε παραδώσει λύση: 1
Διαβάστε περισσότεραΗμέρα 3 η. (α) Aπό την εργασιακή διαδικασία στη διαδικασία παραγωγής (β) Αξία του προϊόντος και αξία της εργασιακής δύναμης
Ημέρα 3 η. (α) Aπό την εργασιακή διαδικασία στη διαδικασία παραγωγής (β) Αξία του προϊόντος και αξία της εργασιακής δύναμης Η εργασιακή διαδικασία και τα στοιχεία της. Η κοινωνική επικύρωση των ιδιωτικών
Διαβάστε περισσότερα«ΔΙΑΚΡΙΤΑ ΜΑΘΗΜΑΤΙΚΑ»
HY 118α «ΔΙΚΡΙΤ ΜΘΗΜΤΙΚ» ΣΚΗΣΕΙΣ ΠΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΙΣΤΩΝ εώργιος Φρ. εωργακόπουλος ΜΕΡΟΣ (1) ασικά στοιχεία της θεωρίας συνόλων. Π. ΚΡΗΤΗΣ ΤΜ. ΕΠ. ΥΠΟΛΟΙΣΤΩΝ «ΔΙΚΡΙΤ ΜΘΗΜΤΙΚ». Φ. εωργακόπουλος
Διαβάστε περισσότεραΓλώσσες Περιγραφής Υλικού Ι
Γλώσσες Περιγραφής Υλικού Ι Μοντελοποίηση συνδυαστικών κυκλωμάτων Νικόλαος Καββαδίας nkavv@uop.gr 06 Μαρτίου 2012 Σκιαγράφηση της διάλεξης Περισσότερα για τα αρθρώματα Αναθέσεις και τελεστές Συντρέχων
Διαβάστε περισσότεραΗ Πληροφορική στο Δημοτικό Διδακτικές Προσεγγίσεις Αδάμ Κ. Αγγελής Παιδαγωγικό Ινστιτούτο
Η Πληροφορική στο Δημοτικό Διδακτικές Προσεγγίσεις Αδάμ Κ. Αγγελής Παιδαγωγικό Ινστιτούτο Α) Το γενικό πλαίσιο.ε.π.π.σ. και Α.Π.Σ. Β) Ο Υπολογιστής στην τάξη Γ) Ενδεικτικές ραστηριότητες Α) Το γενικό πλαίσιο.ε.π.π.σ.
Διαβάστε περισσότεραΕισαγωγή στην Οικονομική Επιστήμη ΙΙ
Εισαγωγή στην Οικονομική Επιστήμη ΙΙ Νικόλαος Γιαννακόπουλος Επίκουρος Καθηγητής Τμήμα Οικονομικών Επιστημών Πανεπιστήμιο Πατρών Ακαδημαϊκό Ετος 2015-2016 Εαρινό Εξάμηνο 1/12 Ημέρες/ Ωρες ιδασκαλίας &
Διαβάστε περισσότεραΣΤΟ ΙΑΤΡΕΙΟ. Με την πιστοποίηση του αποκτά πρόσβαση στο περιβάλλον του ιατρού που παρέχει η εφαρμογή.
ΣΤΟ ΙΑΤΡΕΙΟ Ο ιατρός αφού διαπιστώσει εάν το πρόσωπο που προσέρχεται για εξέταση είναι το ίδιο με αυτό που εικονίζεται στο βιβλιάριο υγείας και ελέγξει ότι είναι ασφαλιστικά ενήμερο (όπως ακριβώς γίνεται
Διαβάστε περισσότεραΑναγνώριση Προτύπων. Σημερινό Μάθημα
Αναγνώριση Προτύπων 1 Σημερινό Μάθημα Βασικό σύστημα αναγνώρισης προτύπων Προβλήματα Πρόβλεψης Χαρακτηριστικά και Πρότυπα Ταξινομητές Classifiers Προσεγγίσεις Αναγνώρισης Προτύπων Κύκλος σχεδίασης Συστήματος
Διαβάστε περισσότεραwww.cslab.ece.ntua.gr
Ε ό Μ ό Π ί Σ ή Η ό Μ ώ Μ ώ Η/Υ Τ έ Τ ί Π ή Υ ώ Εργαστήριο Υπολογιστικών Συστημάτων www.cslab.ece.ntua.gr Διπλωματική εργασία Συγκριτική μελέτη μεθόδων αποθήκευσης αραιών πινάκων σε μπλοκ για την βελτιστοποίηση
Διαβάστε περισσότεραΤαξινόμηση των μοντέλων διασποράς ατμοσφαιρικών ρύπων βασισμένη σε μαθηματικά κριτήρια.
ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ Ταξινόμηη των μοντέλων διαποράς ατμοφαιρικών ρύπων βαιμένη ε μαθηματικά κριτήρια. Μοντέλο Ελεριανά μοντέλα (Elerian) Λαγκρατζιανά μοντέλα (Lagrangian) Επιπρόθετος διαχωριμός Μοντέλα
Διαβάστε περισσότεραΙόνιο Πανεπιστήμιο Τμήμα Πληροφορικής. Ακαδημαϊκό Έτος ΠΑΡΑΔΟΤΕΟ: Έκθεση Προόδου Υλοποίησης του Μαθήματος «Λογικός Προγραμματισμός»
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ακαδημαϊκό Έτος 2007 2008 ΠΑΡΑΔΟΤΕΟ: Έκθεση Προόδου Υλοποίησης του Μαθήματος «Λογικός Προγραμματισμός» Διδάσκοντες: Θεόδωρος Ανδρόνικος & Μιχαήλ Στεφανιδάκης Περιεχόμενα
Διαβάστε περισσότεραΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ Σχεδίαση Λογικών Κυκλωμάτων
ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ Σχεδίαση Λογικών Κυκλωμάτων Γιάννης Λιαπέρδος [gliaperd@teikal.gr] Μάρτιος 2012 1 Ηλεκτρονικά Ελεγχόμενοι ιακόπτες Για την υλοποίηση των λογικών κυκλωμάτων χρησιμοποιούνται ηλεκτρονικά
Διαβάστε περισσότεραΕισαγωγικά. 1.1 Η σ-αλγεβρα ως πληροφορία
1 Εισαγωγικά 1.1 Η σ-αλγεβρα ως πληροφορία Στη θεωρία μέτρου, όταν δουλεύει κανείς σε έναν χώρο X, συνήθως έχει διαλέξει μια αρκετά μεγάλη σ-άλγεβρα στον X έτσι ώστε όλα τα σύνολα που εμφανίζονται να ανήκουν
Διαβάστε περισσότεραΑλγόριθμοι & Βελτιστοποίηση
Αλγόριθμοι & Βελτιστοποίηση ΠΜΣ/ΕΤΥ: Μεταπτυχιακό Μάθημα 8η Ενότητα: Γραμμικός Προγραμματισμός ως Υπορουτίνα για Επίλυση Προβλημάτων Χρήστος Ζαρολιάγκης (zaro@ceid.upatras.gr) Σπύρος Κοντογιάννης (kontog@cs.uoi.gr)
Διαβάστε περισσότεραΕιδικά Θέματα Ι. Σήμερα!
Ειδικά Θέματα Ι Σήμερα! Static Member Πρόσβαση χωρίς αντικείμενο private static member Static Member Functions Πρόσβαση συνάρτησης χωρίς αντικείμενο Δείκτες σε συνάρτηση η Πίνακες δεικτών σε συνάρτηση
Διαβάστε περισσότεραΣΧΟΛΙΚΟ ΕΤΟΣ ΕΥΘΥΓΡΑΜΜΗ ΟΜΑΛΗ ΚΙΝΗΣΗ ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΕΞΕΤΑΣΗ ΣΤΗ ΦΥΣΙΚΗ A ΛΥΚΕΙΟΥ. Ονοματεπώνυμο Τμήμα
Σελίδα 1 ΣΧΟΛΙΚΟ ΕΤΟΣ 2014 2015 ΕΥΘΥΓΡΑΜΜΗ ΟΜΑΛΗ ΚΙΝΗΣΗ ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΕΞΕΤΑΣΗ ΣΤΗ ΦΥΣΙΚΗ A ΛΥΚΕΙΟΥ Ονοματεπώνυμο Τμήμα ΘΕΜΑ Α Οδηγία: Να γράψετε στην κόλλα σας τον αριθμό καθεμιάς από τις παρακάτω ερωτήσεις
Διαβάστε περισσότεραΓλώσσες Περιγραφής Υλικού Ι
Γλώσσες Περιγραφής Υλικού Ι Μηχανές πεπερασμένων καταστάσεων Νικόλαος Καββαδίας nkavv@uop.gr 24 Απριλίου 2012 Σκιαγράφηση της διάλεξης Μηχανές πεπερασμένων καταστάσεων (FSM: Finite-State Machine) Ορισμός
Διαβάστε περισσότεραΈννοια. Η αποδοχή της κληρονομίας αποτελεί δικαίωμα του κληρονόμου, άρα δεν
1 1. Αποδοχή κληρονομίας Έννοια. Η αποδοχή της κληρονομίας αποτελεί δικαίωμα του κληρονόμου, άρα δεν μπορεί να ασκηθεί από τους δανειστές του κληρονόμου, τον εκτελεστή της διαθήκης, τον κηδεμόνα ή εκκαθαριστή
Διαβάστε περισσότερα14 Φεβρουαρίου 2014, Βόλος
ιαφορικές Εξισώσεις Εισαγωγή Μανόλης Βάβαλης Τμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών και ικτύων Πανεπιστήμιο Θεσσαλίας 14 Φεβρουαρίου 2014, Βόλος ιαδικαστικά Θέματα Ο τελικός βαθμός προτείνω να υπολογισθεί
Διαβάστε περισσότεραΣκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. Γενικά χαρακτηριστικά του επεξεργαστή MU0. nkavv@uop.gr. Προγραμματιζόμενοι επεξεργαστές
Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Ι Προγραμματιζόμενοι επεξεργαστές Νικόλαος Καββαδίας nkavv@uop.gr Προγραμματιζόμενοι επεξεργαστές Ρεαλιστικό παράδειγμα: ο επεξεργαστής MU0 (MicroProcessor
Διαβάστε περισσότεραΓλώσσες Περιγραφής Υλικού Ι
Γλώσσες Περιγραφής Υλικού Ι Θέματα πρακτικής εξάσκησης Νικόλαος Καββαδίας nkavv@uop.gr 29 Μαΐου 2012 Σκιαγράφηση της διάλεξης Ανασκόπηση ϑεμάτων παλαιών εξετάσεων του μαθήματος Εξεταστική περίοδος Ιουνίου-Ιουλίου
Διαβάστε περισσότεραΓενικά για τον καταμερισμό καταχωρητών. Προηγμένα Θέματα Θεωρητικής Πληροφορικής. Εναλλακτικές προσεγγίσεις στο πρόβλημα του
Γενικά για τον καταμερισμό καταχωρητών Προηγμένα Θέματα Θεωρητικής Πληροφορικής Καταμερισμός καταχωρητών Νικόλαος Καββαδίας nkavv@uop.gr 1 Απριλίου 010 Καταμερισμός καταχωρητών (register allocation): βελτιστοποίηση
Διαβάστε περισσότεραΣκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. Μηχανές Πεπερασμένων Καταστάσεων: Εισαγωγή και.
Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Ι Μηχανές πεπερασμένων καταστάσεων Νικόλαος Καββαδίας nkavv@uop.gr 24 Απριλίου 2012 Μηχανές πεπερασμένων καταστάσεων (FSM: Finite-State Machine) Ορισμός
Διαβάστε περισσότεραΣΥΝΟΛΑ (προσέξτε τα κοινά χαρακτηριστικά των παρακάτω προτάσεων) Οι άνθρωποι που σπουδάζουν ΤΠ&ΕΣ και βρίσκονται στην αίθουσα
ΣΥΝΟΛΑ (προσέξτε τα κοινά χαρακτηριστικά των παρακάτω προτάσεων) Οι άνθρωποι που σπουδάζουν ΤΠ&ΕΣ και βρίσκονται στην αίθουσα Τα βιβλία διακριτών μαθηματικών του Γ.Β. Η/Υ με επεξεργαστή Pentium και χωρητικότητα
Διαβάστε περισσότεραΤΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΣΥΣΤΗΜΑ
1 ΤΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΣΥΣΤΗΜΑ Οι τάξεις της Β και Γ Λυκείου είναι χωρισμένες σε τρείς Κατευθύνσεις Θεωρητική, Θετική, Τεχνολογική Οι Σχολές είναι ταξινομημένες σε πέντε επιστημονικά πεδία 1 ο ΕΠΙΣΤΗΜΟΝΙΚΟ
Διαβάστε περισσότεραΥπολογιστική Νοημοσύνη
Υπολογιστική Νοημοσύνη Σημερινή Διάλεξη Περιεχόμενο μαθήματος Διαδικαστικά Εργασίες Μαθήματος Εισαγωγή στο αντικείμενο του μαθήματος Εφαρμογές 1 Περιεχόμενο μαθήματος οµή και Χαρακτηριστικά ενός Γενετικού
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ ΜΑΘΗΜΑ: ΕΡΩΤΗΣΕΙΣ ΟΙΚΟΝΟΜΙΚΗΣ ΘΕΩΡΙΑΣ
ΜΑΘΗΜΑ: ΕΡΩΤΗΣΕΙΣ ΟΙΚΟΝΟΜΙΚΗΣ ΘΕΩΡΙΑΣ Tα Πανεπιστημιακά Φροντιστήρια «ΚΟΛΛΙΝΤΖΑ» προετοιμάζοντας σε ολιγομελείς ομίλους τους υποψήφιους για τον επικείμενο διαγωνισμό του Υπουργείου Οικονομικών, με κορυφαίο
Διαβάστε περισσότεραΟι γέφυρες του ποταμού... Pregel (Konigsberg)
Οι γέφυρες του ποταμού... Pregel (Konigsberg) Β Δ Β Δ Γ Γ Κύκλος του Euler (Euler cycle) είναι κύκλος σε γράφημα Γ που περιέχει κάθε κορυφή του γραφήματος, και κάθε ακμή αυτού ακριβώς μία φορά. Για γράφημα
Διαβάστε περισσότεραΚληρονομικότητα. Σήμερα!
Κληρονομικότητα Σήμερα! Overriding Overloading Vs Overriding Απόκρυψη συναρτήσεων Κλήση overridden συνάρτησης Virtual Συναρτήσεις Abstract Classes Κανόνες πρόσβασης Κληρονομικότητας 2 1 Υπερίσχυση Συναρτήσεων
Διαβάστε περισσότερατεσσάρων βάσεων δεδομένων που θα αντιστοιχούν στους συνδρομητές
Σ Υ Π Τ Μ Α 8 Ιουνίου 2010 Άσκηση 1 Μια εταιρία τηλεφωνίας προσπαθεί να βρει πού θα τοποθετήσει τις συνιστώσες τηλεφωνικού καταλόγου που θα εξυπηρετούν τους συνδρομητές της. Η εταιρία εξυπηρετεί κατά βάση
Διαβάστε περισσότεραΗλεκτρονικοί Υπολογιστές Ι: Εισαγωγή στη γλώσσα
Τ Ε Τ Υ Π Κ Ηλεκτρονικοί Υπολογιστές Ι: Εισαγωγή στη γλώσσα προγραμματισμού Fortran 95 Σημειώσεις Διαλέξεων Σ. Σ Ηράκλειο Σεπτέμβριος 2014 Copyright c 2006 2014 Σ. Σταματιάδης, (stamatis@materials.uoc.gr)
Διαβάστε περισσότεραΜονάδες 5 1.2.α. Να γράψετε στο τετράδιό σας τον παρακάτω πίνακα σωστά συµπληρωµένο.
ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΤΑΞΗ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΕΥΤΕΡΑ 12 ΙΟΥΝΙΟΥ 2000 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΠΑΡΑΓΩΓΗΣ): ΧΗΜΕΙΑ - ΒΙΟΧΗΜΕΙΑ ΣΥΝΟΛΟ ΣΕΛΙ
Διαβάστε περισσότεραΕισαγωγή στη γλώσσα προγραμματισμού Fortran 95
Τ Ε Τ Υ Π Κ Εισαγωγή στη γλώσσα προγραμματισμού Fortran 95 Σημειώσεις Διαλέξεων Σ. Σ Ηράκλειο Φεβρουάριος 2015 Copyright c 2006 2015 Σ. Σταματιάδης, (stamatis@materials.uoc.gr) Η στοιχειοθεσία έγινε από
Διαβάστε περισσότεραΠροηγμένα Θέματα Θεωρητικής Πληροφορικής
Προηγμένα Θέματα Θεωρητικής Πληροφορικής Επαναστοχεύσιμοι μεταγλωττιστές Νικόλαος Καββαδίας nkavv@uop.gr 15 Ιουνίου 2010 Σκιαγράφηση της διάλεξης Εισαγωγή στα ενσωματωμένα συστήματα (embedded systems)
Διαβάστε περισσότεραΕργαστήριο Υπολογιστικών Συστημάτων
Ε ό Μ ό Π ί Σ ή Η ό Μ ώ Μ ώ Η/Υ Τ έ Τ ί Π ή Υ ώ Εργαστήριο Υπολογιστικών Συστημάτων www.cslab.ece.ntua.gr Διπλωματική εργασία Μελέτη και υλοποίηση του αριθμητικού υπολογιστικού πυρήνα του Πολλαπλασιασμού
Διαβάστε περισσότεραΠροτεινόμενα θέματα. στο μάθημα. Αρχές οργάνωσης και διοίκησης επιχειρήσεων. ΟΜΑΔΑ Α: Ερωτήσεις Σωστού Λάθους.
Προτεινόμενα θέματα στο μάθημα Αρχές οργάνωσης και διοίκησης επιχειρήσεων ΟΜΑΔΑ Α: Ερωτήσεις Σωστού Λάθους Στις παρακάτω προτάσεις να γράψετε δίπλα στον αριθμό της καθεμιάς τη λέξη Σωστό αν κρίνετε ότι
Διαβάστε περισσότεραέγγραφο σε κάθε διάσταση αντιστοιχούν στο πλήθος εμφανίσεων της λέξης (που αντιστοιχεί στη συγκεκριμένη διάσταση) εντός του εγγράφου.
Π Π Σ Τ Π Ε Τ Ψ Σ Δομές Δεδομένων 2016-2017 2η Εργασία Χρήστος Δουλκερίδης Ορέστης Τελέλης 1 Περιγραφή Η ομαδοποίηση εγγράφων (document clustering) με βάση τα περιεχόμενά τους είναι ένα πολύ ενδιαφέρον
Διαβάστε περισσότεραΜΑΘΗΜΑ: ΕΜΠΟΡΙΚΟ ΔΙΚΑΙΟ
ΜΑΘΗΜΑ: ΕΜΠΟΡΙΚΟ ΔΙΚΑΙΟ Tα Πανεπιστημιακά Φροντιστήρια «ΚΟΛΛΙΝΤΖΑ» προετοιμάζοντας σε ολιγομελείς ομίλους τους υποψήφιους για τον επικείμενο διαγωνισμό του Υπουργείου Οικονομικών, με κορυφαίο επιτελείο
Διαβάστε περισσότεραProjects για το εργαστήριο. των Βάσεων Δεδομένων
Projects για το εργαστήριο των Βάσεων Δεδομένων Θεσσαλονίκη, Νοέμβριος Δεκέμβριος 2013 1. Το πολυκατάστημα Το πολυκατάστημα έχει ένα σύνολο από εργαζομένους. Κάθε εργαζόμενος χαρακτηρίζεται από έναν κωδικό
Διαβάστε περισσότεραΓλώσσες Περιγραφής Υλικού Ι
Γλώσσες Περιγραφής Υλικού Ι Μοντελοποίηση ακολουθιακών κυκλωμάτων Νικόλαος Καββαδίας nkavv@uop.gr 13 Μαρτίου 2012 Σκιαγράφηση της διάλεξης Στοιχεία ακολουθιακής σχεδίασης με Verilog HDL Λίστα ευαισθησίας
Διαβάστε περισσότερα5.1 Μετρήσιμες συναρτήσεις
5 Μετρήσιμες συναρτήσεις 5.1 Μετρήσιμες συναρτήσεις Ορισμός 5.1. Εστω (Ω, F ), (E, E) μετρήσιμοι χώροι. Μια συνάρτηση f : Ω E λέγεται F /Eμετρήσιμη αν f 1 (A) F για κάθε A E. (5.1) Συμβολίζουμε το σύνολο
Διαβάστε περισσότεραΓλώσσες Περιγραφής Υλικού Ι. Εισαγωγικά. Οργάνωση των παραδόσεων. nkavv@uop.gr. 1 Εισαγωγή στη Verilog HDL. 28 Φεβρουαρίου 2012
Αντικείμενο του μαθήματος CST304: Γλώσσες Περιγραφής Υλικού Ι Γλώσσες Περιγραφής Υλικού Ι Εισαγωγή στη Verilog HDL Νικόλαος Καββαδίας nkavv@uop.gr 28 Φεβρουαρίου 2012 Επιμέρους στόχοι του μαθήματος Σχεδιασμός
Διαβάστε περισσότεραΜεταπτυχιακό Πρόγραμμα Σπουδών Γεωπληροφορική. Κατεύθυνση: Τοπογραφικές Εφαρμογές Υψηλής Ακρίβειας
Μεταπτυχιακό Πρόγραμμα Σπουδών Γεωπληροφορική Κατεύθυνση: Τοπογραφικές Εφαρμογές Υψηλής Ακρίβειας 1ο εξάμηνο Τεχνολογίες αιχμής στη Γεωδαισία και Τοπογραφία Παγκόσμιο σύστημα εντοπισμού θέσης (GPS), αδρανειακά
Διαβάστε περισσότεραΓλώσσες Περιγραφής Υλικού Ι
Γλώσσες Περιγραφής Υλικού Ι Μη προγραμματιζόμενοι επεξεργαστές Νικόλαος Καββαδίας nkavv@uop.gr 08 Μαΐου 2012 Σκιαγράφηση της διάλεξης Μη προγραμματιζόμενοι επεξεργαστές Η οργάνωση των μη-προγραμματιζόμενων
Διαβάστε περισσότεραΕπίλυση δικτύων διανομής
ΑστικάΥδραυλικάΈργα Υδρεύσεις Επίλυση δικτύων διανομής Δημήτρης Κουτσογιάννης & Ανδρέας Ευστρατιάδης Τομέας Υδατικών Πόρων Εθνικό Μετσόβιο Πολυτεχνείο Διατύπωση του προβλήματος Δεδομένου ενός δικτύου αγωγών
Διαβάστε περισσότεραΣκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι (1) Μη προγραμματιζόμενοι επεξεργαστές
Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Ι Μη προγραμματιζόμενοι επεξεργαστές Νικόλαος Καββαδίας nkavv@uop.gr 04 Μαΐου 2011 Μη προγραμματιζόμενοι επεξεργαστές Η οργάνωση των μη-προγραμματιζόμενων
Διαβάστε περισσότεραΣχεδίαση Ψηφιακών Κυκλωμάτων
Σχεδίαση Ψηφιακών Κυκλωμάτων Συνδυαστική και ακολουθιακή λογική Νικόλαος Καββαδίας nkavv@uop.gr 10 Νοεμβρίου 2010 Σκιαγράφηση της διάλεξης Αρχές σχεδίασης συνδυαστικών κυκλωμάτων CMOS Λογικές πύλες και
Διαβάστε περισσότερα