Ενσωματωμένα Συστήματα

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

Download "Ενσωματωμένα Συστήματα"

Transcript

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

2 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

3 Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ψηφιακά Μαθήματα στο Πανεπιστήμιο Δυτικής Μακεδονίας» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

4 Σκοπός ενότητας Η κατανόηση της διαδικασίας σχεδίασης και υλοποίησης μιας εφαρμογής ενσωματωμένων συστημάτων. Η κατανόηση των τρόπων βελτιστοποίησης της ενέργειας και της απόδοσης μιας ενσωματωμένης εφαρμογής. 4

5 Σχεδίαση Προγράμματος 5

6 Μηχανή καταστάσεων λογισμικού Η μηχανή καταστάσεων κρατάει την τρέχουσα κατάσταση σαν μεταβλητή, και αλλάζει κατάσταση βασιζόμενη στις εισόδους. Χρησιμοποιεί: κώδικα συνεχών ελέγχων. συστήματα που αλληλεπιδρούν με το περιβάλλον. 6

7 Παράδειγμα μηχανής καταστάσεων 7

8 Υλοποίηση σε C #define IDLE 0 #define SEATED 1 #define BELTED 2 #define BUZZER 3 switch (state) { case IDLE: if (seat) { state = SEATED; timer_on = TRUE; } break; case SEATED: if (belt) state = BELTED; else if (timer) state = BUZZER; break; } 8

9 Επεξεργασία σήματος και κυκλική περιοχή προσωρινής αποθήκευσης (1/3) Χρησιμοποιείται συνήθως στην επεξεργασία σήματος: νέα δεδομένα συνεχώς καταφθάνουν, κάθε δεδομένο έχει περιορισμένη διάρκεια ζωής. Χρήση μίας κυκλικής περιοχής προσωρινής αποθήκευσης για να αποθηκεύει τη ροή δεδομένων. 9

10 Επεξεργασία σήματος και κυκλική περιοχή προσωρινής αποθήκευσης (2/3) Χρησιμοποιείται συνήθως στην επεξεργασία σήματος: νέα δεδομένα συνεχώς καταφθάνουν, κάθε δεδομένο έχει περιορισμένη διάρκεια ζωής. Χρήση μίας κυκλικής περιοχής προσωρινής αποθήκευσης για να αποθηκεύει τη ροή δεδομένων. 10

11 Επεξεργασία σήματος και κυκλική περιοχή προσωρινής αποθήκευσης (3/3) Χρησιμοποιείται συνήθως στην επεξεργασία σήματος: νέα δεδομένα συνεχώς καταφθάνουν, κάθε δεδομένο έχει περιορισμένη διάρκεια ζωής. Χρήση μίας κυκλικής περιοχής προσωρινής αποθήκευσης για να αποθηκεύει τη ροή δεδομένων. 11

12 Κυκλική περιοχή προσωρινής αποθήκευσης (1/8) 12

13 Κυκλική περιοχή προσωρινής αποθήκευσης (2/8) 13

14 Κυκλική περιοχή προσωρινής αποθήκευσης (3/8) 14

15 Κυκλική περιοχή προσωρινής αποθήκευσης (4/8) 15

16 Κυκλική περιοχή προσωρινής αποθήκευσης (5/8) 16

17 Κυκλική περιοχή προσωρινής αποθήκευσης (6/8) 17

18 Κυκλική περιοχή προσωρινής αποθήκευσης (7/8) 18

19 Κυκλικές περιοχές προσωρινής αποθήκευσης (8/8) Οι δείκτες δείχνουν στη θέση που θα τοποθετηθεί το επόμενο δείγμα, αντικαθιστώντας το παλαιότερο δείγμα: 19

20 Υλοποίηση κυκλικής περιοχής προσωρινής αποθήκευσης: Φίλτρο FIR int circ_buffer[n], circ_buffer_head = 0; int c[n]; /* coefficients */ int ibuf, ic; for (f=0, ibuff=circ_buff_head, ic=0; ic<n; ibuff=(ibuff==n-1?0:ibuff++), ic++) f = f + c[ic]*circ_buffer[ibuf]; 20

21 Ουρές Ευέλικτη περιοχή προσωρινής αποθήκευσης: αποθηκεύει τα δεδομένα που καταφθάνουν ακανόνιστα. 21

22 Ουρές βασιζόμενες σε περιοχές προσωρινής αποθήκευσης #define Q_SIZE 32 #define Q_MAX (Q_SIZE-1) int q[q_max], head, tail; void initialize_queue() { head = tail = 0; } void enqueue(int val) { if (((tail+1)%q_size) == head) error(); q[tail]=val; if (tail == Q_MAX) tail = 0; else tail++; } int dequeue() { } int returnval; if (head == tail) error(); returnval = q[head]; if (head == Q_MAX) head = 0; else head++; return returnval; 22

23 Μοντέλα Προγραμμάτων 23

24 Μοντέλα Προγραμμάτων Ο πηγαίος κώδικας δεν αποτελεί καλή αναπαράσταση για πρόγραμμα: ασύντακτος αφήνει αρκετή πληροφορία να εννοηθεί. Οι μεταγλωττιστές αντλούν ενδιάμεσες αναπαραστάσεις για να χειριστούν και να βελτιστοποιήσουν το πρόγραμμα. 24

25 Γράφημα ροής δεδομένων (1/2) Γράφημα ροής δεδομένων (data flow graph): DFG Χωρίς συνθήκες ελέγχου. Βασικό μπλοκ μοντέλου: τμήμα κώδικα μόνο ένα σημείο εισόδου και ένα σημείο εξόδου. Περιγράφει τις ελάχιστες απαιτήσεις των εντολών για κάποια λειτουργία. 25

26 Μορφή μονής ανάθεσης x = a + b; y = c - d; z = x * y; y = b + d; x = a + b; y = c - d; z = x * y; y1 = b + d; Ένα βασικό μπλοκ στην C. Το βασικό μπλοκ σε μορφή απλής (ή μονής) ανάθεσης (single assigment). 26

27 Γράφημα ροής δεδομένων (2/2) x = a + b; y = c - d; z = x * y; y1 = b + d; μορφή μονής ανάθεσης. 27

28 DFGs και μερική ταξινόμηση Μερική ταξινόμηση: a+b, c-d; b+d x*y Αρκετές πιθανές διατάξεις οι οποίες ικανοποιούν την απαίτηση. 28

29 Γράφημα ροής ελέγχου/δεδομένων Γράφημα ροής ελέγχου/δεδομένων (control/data flow graph): CDFG Αναπαριστά λειτουργίες δεδομένων και λειτουργίες ελέγχου. Χρησιμοποιεί γραφήματα ροής δεδομένων σαν συστατικά. Δύο τύποι κόμβων: Απόφασης, ροής δεδομένων. 29

30 Κόμβος ροής δεδομένων (data flow node) Εμπεριέχει ένα πλήρες γράφημα ροής δεδομένων: Εγγραφή λειτουργιών σε μορφή βασικού μπλοκ για απλότητα. 30

31 Έλεγχος 31

32 Παράδειγμα CDFG if (cond1) bb1(); else bb2(); bb3(); switch (test1) { case c1: bb4(); break; case c2: bb5(); break; case c3: bb6(); break; } 32

33 for (i=0; i<n; i++) loop_body(); βρόχος for i=0; while (i<n) { loop_body(); i++; } ισοδύναμο Ο βρόχος for 33

34 Συμβολομετάφραση και Σύνδεση. 34

35 Συμβολομετάφραση και Σύνδεση Τελευταία βήματα της διαδικασίας μεταγλώττισης: 35

36 Προγράμματα πολλαπλών αρχείων Το πρόγραμμα μπορεί να αποτελείται από πολλά αρχεία (υπομονάδες). Οι διευθύνσεις γίνονται πιο συγκεκριμένες κατά την επεξεργασία: Οι σχετικές διευθύνσεις υπολογίζονται σχετικά ως προς τη διεύθυνση έναρξης της υπομονάδας. Οι απόλυτες διευθύνσεις υπολογίζονται σχετικά ως προς τη διεύθυνση έναρξης του προγράμματος. 36

37 Συμβολομεταφραστές Κύριες εργασίες: Μετάφραση της συμβολικής γλώσσας σε δυαδική αναπαράσταση. Μετάφραση των ετικετών σε διευθύνσεις. Χειρισμός ψευδολειτουργιών (δεδομένα, κλπ.). Γενικά μετάφραση ένα-προς-ένα. Ετικέτες συμβολικής γλώσσας: label1 ORG 100 ADR r4,c 37

38 Πίνακας συμβόλων ADD r0,r1,r2 xx 0x8 xx ADD r3,r4,r5 CMP r0,r3 yy 0x10 yy SUB r5,r6,r7 Κώδικας σε συμβολική Γλώσσα. Πίνακας συμβόλων. 38

39 Παραγωγή πίνακα συμβόλων Χρήση μετρητή τοποθεσίας προγράμματος (program location counter PLC) για τον καθορισμό της διεύθυνσης. Σάρωση του προγράμματος, ο PLC ενημερώνεται για τη θέση. Οι διευθύνσεις παράγονται κατά τον χρόνο συμβολομετάφρασης, όχι κατά την εκτέλεση. 39

40 Παράδειγμα πίνακα συμβόλων (1/4) xx yy ADD r0,r1,r2 ADD r3,r4,r5 CMP r0,r3 SUB r5,r6,r7 40

41 Παράδειγμα πίνακα συμβόλων (2/4) ADD r0,r1,r2 xx ADD r3,r4,r5 CMP r0,r3 yy SUB r5,r6,r7 xx 0x8 41

42 Παράδειγμα πίνακα συμβόλων (3/4) ADD r0,r1,r2 xx ADD r3,r4,r5 CMP r0,r3 yy SUB r5,r6,r7 xx 0x8 42

43 Παράδειγμα πίνακα συμβόλων (4/4) ADD r0,r1,r2 xx ADD r3,r4,r5 CMP r0,r3 yy SUB r5,r6,r7 xx yy 0x8 0x10 43

44 Συμβολομετάφραση 2 περασμάτων Πέρασμα 1: παραγωγή πίνακα συμβόλων. Πέρασμα 2: παραγωγή δυαδικών εντολών. 44

45 Παραγωγή σχετικών διευθύνσεων Μερικές τιμές ετικετών μπορεί να μην είναι γνωστές κατά τη διάρκεια της συμβολομετάφρασης. Οι εντολές της υπομανάδας πρέπει να είναι σε σχετική μορφή. Πρέπει να παρακολουθούνται οι εξωτερικές ετικέτες---δεν μπορεί να παραχθεί πλήρης δυαδική μορφή από εντολές που κάνουν χρήση εξωτερικών ετικετών. 45

46 Ψευδολειτουργίες Οι ψευδολειτουργίες δεν παράγουν εντολές: ORG θέτει την αρχή του προγράμματος. EQU επιτρέπει την προσθήκη ετικετών στον πίνακα συμβόλων χωρίς να καταλαμβάνουν χώρο στη μνήμη προγράμματος. Data statements (δηλώσεις δεδομένων) καθορίζουν τα μπλοκ δεδομένων. 46

47 Σύνδεση Επιτρέπει την σύνθεση των επί μέρους μικρότερων τμημάτων ενός προγράμματος σε ένα ενιαίο πρόγραμμα. Εργασίες: τοποθέτηση των τμημάτων σε σειρά, αποσαφήνιση των ετικετών των τμημάτων. 47

48 Εξωτερικές αναφορές και σημεία εισόδου σημείο εισόδου xxx ADD r1,r2,r3 a ADR r4,yyy B a εξωτερική αναφορά ADD r3,r4,r5 yyy %1 48

49 Διάταξη αρχείων Τα αρχεία κώδικα πρέπει να τοποθετούνται σε ακριβείς θέσεις στη μνήμη. Ο χάρτης φόρτωσης (load map) ή συνδετικές παράμετροι (linker parameters) ορίζουν την σειρά με την οποία τα αρχεία πρέπει να τοποθετηθούν στη μνήμη. 49

50 Δυναμική σύνδεση Μερικά λειτουργικά συστήματα συνδέουν τα αρχεία δυναμικά κατά τον χρόνο εκτέλεσης: διαμοιρασμός ενός αντιγράφου βιβλιοθήκης μεταξύ των προγραμμάτων που εκτελούνται, επιτρέπει στα προγράμματα που χρησιμοποιούν αυτές τις βιβλιοθήκες να ενημερώνονται εύκολα. 50

51 Σχεδιασμός και ανάλυση Ροή μεταγλώττισης. προγράμματος Βασική μετάφραση εντολών. Βασικές βελτιστοποιήσεις. Ερμηνευτές και μεταγλωττιστές JIT (just-intime). 51

52 Μεταγλώττιση Στρατηγική μεταγλώττισης: μεταγλώττιση = μετάφραση + βελτιστοποίηση Ο μεταγλωττιστής καθορίζει την ποιότητα του κώδικα: χρήση των πόρων της CPU. προγραμματισμός προσπελάσεων μνήμης. μέγεθος κώδικα. 52

53 Βασικές Τεχνικές Μεταγλώττισης 53

54 Βασικές φάσεις μεταγλώττισης 54

55 Μετάφραση εντολών και βελτιστοποίηση Ο πηγαίος κώδικας μεταφράζεται σε ενδιάμεση μορφή όπως το CDFG. Το CDFG μετασχηματίζεται/βελτιστοποιείται. Το CDFG μεταφράζεται σε εντολές με αποφάσεις βελτιστοποίησης. Οι εντολές βελτιστοποιούνται περαιτέρω. 55

56 Αριθμητικές εκφράσεις (1/2) a*b + 5*(c-d) έκφραση 56

57 Αριθμητικές εκφράσεις (2/2) ADR r4,a MOV r1,[r4] ADR r4,b MOV r2,[r4] ADD r3,r1,r2 ADR r4,c MOV r1,[r4] ADR r4,d MOV r5,[r4] SUB r6,r4,r5 MUL r7,r6,#5 ADD r8,r7,r3 κώδικας 57

58 Παραγωγή κώδικα για μια συνθήκη (1/2) if (a+b > 0) x = 5; else x = 7; 58

59 Παραγωγή κώδικα για μια συνθήκη (2/2) ADR r5,a LDR r1,[r5] ADR r5,b LDR r2,b ADD r3,r1,r2 BLE label3 LDR r3,#5 ADR r5,x STR r3,[r5] B stmtent LDR r3,#7 ADR r5,x STR r3,[r5] stmtent... 59

60 Διαδικασία σύνδεσης Απαιτείται κώδικας για: κλήση και επιστροφή. πέρασμα παραμέτρων και αποτελεσμάτων. Οι παράμετροι και οι επιστροφές περνάνε στη στοίβα. Διαδικασίες με λίγες παραμέτρους ίσως χρησιμοποιούν καταχωρητές. 60

61 Στοίβες διαδικασίας 61

62 Διαδικασία σύνδεσης ARM Το πρότυπο κλήσης διαδικασιών του ARM (ARM Procedure Call Standard - APCS): r0-r3 χρησιμοποιούνται για το πέρασμα των παραμέτρων στις διαδικασίες. Επιπλέον παράμετροι τοποθετούνται στο πλαίσιο στοίβας. r0 χρησιμοποιείται επίσης για να κρατά την τιμή επιστροφής. r4-r7 κρατούν μεταβλητές καταχωρητών. R11 είναι ο δείκτης πλαισίου, r13 είναι ο δείκτης στοίβας. r10 κρατά τον περιορισμό διεύθυνσης για το μέγεθος της στοίβας το οποίο χρησιμοποιείται για να ελέγχει την υπερχείλιση της στοίβας. 62

63 Δομές δεδομένων Διαφορετικά είδη δομών δεδομένων χρησιμοποιούν διαφορετικές μορφές δεδομένων. Μερικές μετατοπίσεις στις δομές δεδομένων μπορούν να υπολογιστούν κατά τον χρόνο μεταγλώττισης, ενώ άλλες πρέπει να γίνουν κατά τον χρόνο εκτέλεσης. 63

64 Μονοδιάστατοι πίνακες Το όνομα του πίνακα δείχνει στο μηδενικό στοιχείο: 64

65 Δισδιάστατοι πίνακες Μορφή μείζονος στήλης (column-major): 65

66 Δομές Τα πεδία της δομής μπορούν να προσπελαστούν χρησιμοποιώντας σταθερές μετατοπίσεις: struct { int field1; char field2; } mystruct; struct mystruct a, *aptr = &a; 66

67 Απλοποίηση εκφράσεων Υπολογισμός σταθερών εκφράσεων (Constant folding): 8+1 = 9 Αλγεβρικά: a*b + a*c = a*(b+c) Μείωση έντασης (strength reduction): a*2 = a<<1 67

68 Απαλοιφή νεκρού κώδικα Νεκρός κώδικας #define DEBUG 0 if (DEBUG) dbg(p1); Μπορεί να εξαλειφθεί με ανάλυση ελέγχου ροής, και constant folding. 68

69 Ενσωμάτωση διαδικασιών στον κώδικα (procedure inlining) Εξαλείφει την επιβάρυνση σύνδεσης της διαδικασίας. int foo(a,b,c) { return a + b - c;} z = foo(w,x,y); -> z = w + x + y; 69

70 Στόχοι: Μετασχηματισμοί Βρόχων μείωση επιβάρυνσης βρόχου, αύξηση των δυνατοτήτων διασωλήνωσης, βελτίωση της απόδοσης του συστήματος μνήμης. 70

71 Ξετύλιγμα βρόχου Μειώνει την επιβάρυνση βρόχου, επιτρέπει μερικές ακόμα βελτιστοποιήσεις. for (i=0; i<4; i++) a[i] = b[i] * c[i]; -> for (i=0; i<2; i++) { a[i*2] = b[i*2] * c[i*2]; a[i*2+1] = b[i*2+1] * c[i*2+1]; } 71

72 Συγχώνευση βρόχων / Κατανομή βρόχου Η συγχώνευση βρόχων συνδυάζει δύο ή περισσότερους βρόχους σε έναν ενιαίο βρόχο: for (i=0; i<n; i++) a[i] = b[i] * 5; for (j=0; j<n; j++) w[j] = c[j] * d[j]; -> for (i=0; i<n; i++) { a[i] = b[i] * 5; w[i] = c[i] * d[i]; } Η κατανομή βρόχου αποσυνθέτει έναν βρόχο σε περισσότερους βρόχους. Αλλάζει τις βελτιστοποιήσεις εντός του βρόχου. 72

73 Τεμαχισμός βρόχου (loop tiling) Τεμαχίζει έναν βρόχο σε ένα σύνολο φωλιασμένων βρόχων. Αλλάζει την σειρά με την οποία προσπελάζονται τα στοιχεία του πίνακα. Αλλάζει τη συμπεριφορά της κρυφής μνήμης. 73

74 Τεμαχισμός βρόχου παράδειγμα for (i=0; i<n; i++) for (j=0; j<n; j++) c[i] = a[i,j]*b[i]; for (i=0; i<n; i+=2) for (j=0; j<n; j+=2) for (ii=0; ii<min(i+2,n); ii++) for (jj=0; jj<min(j+2,n); jj++) c[ii] = a[ii,jj]*b[ii]; 74

75 Συμπλήρωση πίνακα Προσθέτει εικονικά στοιχεία δεδομένων στον βρόχο προκειμένου να αλλάξει τη μορφή του πίνακα στην κρυφή μνήμη: 75

76 Στόχοι: Κατανομή καταχωρητών επιλογή καταχωρητή που θα κρατάει κάθε μεταβλητή, καθορισμός της διάρκειας ζωής της μεταβλητής στον καταχωρητή. Βασική περίπτωση: εντός του βασικού μπλοκ. 76

77 Γραφική παράσταση διάρκειας ζωής καταχωρητή w = a + b; x = c + w; y = c + d; 77

78 Χρονοδρομολόγηση εντολών Οι μη διασωληνωμένες μηχανές δεν χρειάζονται χρονοδρομολόγηση εντολών: οποιαδήποτε διάταξη εντολών ικανοποιεί τις εξαρτήσεις των δεδομένων τρέχει εξίσου γρήγορα. Σε διασωληνωμένες μηχανές, ο χρόνος εκτέλεσης μιας εντολής εξαρτάται από τις γειτονικές εντολές: κώδικας λειτουργίας, τελεστές. 78

79 Πίνακας δέσμευσης Ένας πίνακας δέσμευσης αφορά στις εντολές/χρόνος και πόροι της CPU. 79

80 Διοχέτευση λογισμικού (software pipeline) Τεχνική επαναδιάταξης των εντολών στις διάφορες επαναλήψεις βρόχων. Μειώνει την καθυστέρηση των εντολών στην επανάληψη i εισάγοντας εντολές από την επανάληψη i+1. 80

81 Επιλογή εντολών Μπορεί να υπάρχουν αρκετοί τρόποι για την υλοποίηση μιας λειτουργίας ή ακολουθίας λειτουργιών. Αναπαράσταση λειτουργιών σε γραφήματα, ταίριασμα πιθανών ακολουθιών εντολών σε γράφημα. 81

82 Χρήση του μεταγλωττιστή σας Μπορείτε να πειραματιστείτε με τα διαφορετικά επίπεδα βελτιστοποίησης (-O1, -O2, κλπ.) Μπορείτε να δείτε την έξοδο του μεταγλωττιστή/συμβολομεταφραστή. Η τροποποίηση της εξόδου του μεταγλωττιστή απαιτεί προσοχή: ορθότητα Πιθανή απώλεια του κώδικα που τροποποιεί ο χρήστης (hand-tweaked), αν ξαναγίνει compile. 82

83 Ερμηνευτές και Μεταγλωττιστές JIT Ερμηνευτής: μεταφράζει εντολές του προγράμματος μία τη φορά. Μεταγλωττιστής ακριβώς-στην-ώρα (just-intime): μεταγλωττίζει μικρά τμήματα κώδικα σε εντολές κατά τη διάρκεια της εκτέλεσης του προγράμματος. Εξαλείφει κάποια επιβάρυνση μετάφρασης. Συχνά απαιτεί περισσότερη μνήμη. 83

84 Ανάλυση και βελτιστοποίηση του Χρόνου Εκτέλεσης 84

85 Σχεδίαση και ανάλυση προγράμματος Ανάλυση απόδοσης επιπέδου προγράμματος. Βελτιστοποίηση σε: Χρόνο εκτέλεσης. Ενέργεια/ισχύς. Μέγεθος προγράμματος. Επικύρωση και δοκιμή του προγράμματος. 85

86 Ανάλυση απόδοσης σε επίπεδο προγράμματος Πρέπει να κατανοήσουμε λεπτομερώς την απόδοση: Συμπεριφορά πραγματικού χρόνου, όχι απλά τυπικού. Πολύπλοκες πλατφόρμες. Απόδοση προγράμματος απόδοση CPU: Διοχέτευση, οι κρυφές μνήμες είναι παράθυρα στο πρόγραμμα. Πρέπει να αναλύσουμε ολόκληρο το πρόγραμμα. 86

87 Πολυπλοκότητες της απόδοσης προγράμματος Ποικίλει από τις τιμές των δεδομένων εισόδου: Διαδρομές διαφορετικού μήκους. Επιδράσεις κρυφής μνήμης. Διακυμάνσεις απόδοσης σε επίπεδο εντολών: Εξαρτήσεις και παύσεις διασωλήνωσης (pipeline interlocks). Χρόνοι προσκόμισης. 87

88 Πως μετράμε την απόδοση ενός προγράμματος; Προσομοίωση της εκτέλεσης στη CPU. Καταστεί ορατή την κατάσταση της CPU. Μέτρηση σε πραγματική CPU, με τη χρήση χρονομέτρου. Απαιτεί τροποποίηση του προγράμματος για έλεγχο του χρονομέτρου. Μέτρηση σε πραγματική CPU, με τη χρήση λογικού αναλυτή. Απαιτεί τα γεγονότα να είναι ορατά από τους ακροδέκτες. 88

89 Μετρικές απόδοσης του προγράμματος Χρόνος εκτέλεσης τυπικής περίπτωσης. Τυπικά χρησιμοποιείται στον προγραμματισμό εφαρμογών. Χρόνος εκτέλεσης χειρότερης περίπτωσης. Ένα συστατικό για την ικανοποίηση της προθεσμίας για την εκτέλεση λειτουργίας. Χρόνος εκτέλεσης βέλτιστης περίπτωσης. Οι αλληλεπιδράσεις σε επίπεδο εργασιών μπορεί να οδηγήσουν την συμπεριφορά βέλτιστης περίπτωσης προγράμματος σε συμπεριφορά χειρότερης περίπτωσης συστήματος. 89

90 Στοιχεία της απόδοσης του προγράμματος Βασικός τύπος χρόνου εκτέλεσης προγράμματος: χρόνος εκτέλεσης = διαδρομή προγράμματος + χρόνος εντολής. Επίλυση αυτών των προβλημάτων ανεξάρτητα βοηθάει στην απλοποίηση της ανάλυσης. Ευκολότερο να διαχωριστούν σε πιο απλές CPU. Ακριβής ανάλυση απόδοσης απαιτεί: Συμβολικό/δυαδικό κώδικα. Πλατφόρμα εκτέλεσης. 90

91 Διαδρομές προγράμματος εξαρτώμενες από δεδομένα σε εντολές if if (a b) { /* T1 */ if ( c ) /* T2 */ x = r*s+t; /* A1 */ else y=r+s; /* A2 */ z = r+s+u; /* A3 */ } else { if ( c ) /* T3 */ y = r-t; /* A4 */ } a b c διαδρομή T1=F, T3=F: no assignments T1=F, T3=T: A T1=T, T2=F: A2, A T1=T, T2=T: A1, A T1=T, T2=F: A2, A T1=T, T2=T: A1, A T1=T, T2=F: A2, A T1=T, T2=T: A1, A3 91

92 Διαδρομές σε ένα βρόχο for (i=0, f=0; i<n; i++) f = f + c[i] * x[i]; 92

93 Χρονισμός εντολής Δεν απαιτούν όλες οι εντολές τον ίδιο χρόνο εκτέλεσης. Εντολές πολλαπλών κύκλων εκτέλεσης. Προσκομίσεις. Οι χρόνοι εκτέλεσης των εντολών δεν είναι ανεξάρτητοι. Pipeline interlocks. Επιδράσεις κρυφής μνήμης. Ο χρόνος εκτέλεσης μιας εντολής μπορεί να εξαρτάται από τις τιμές του τελεστή. Εντολές κινητής υποδιαστολής. Μερικές λειτουργίες ακεραίων πολλαπλών κύκλων. 93

94 Ανάλυση απόδοσης οδηγούμενη από μέτρηση Όχι τόσο εύκολο όσο ακούγεται: Πρέπει πραγματικά να υπάρχει πρόσβαση στη CPU. Πρέπει να είναι γνωστές οι είσοδοι δεδομένων που οδηγούν σε απόδοση χειρότερης/καλύτερης περίπτωσης. Πρέπει να καθίσταται ορατή η κατάσταση. Σημαντική μέθοδος για ανάλυση απόδοσης. 94

95 Τροφοδοτώντας το πρόγραμμα Πρέπει να είναι γνωστές οι επιθυμητές τιμές εισόδου. Ίσως χρειαστεί να γραφτεί επιπρόσθετο λογισμικό παραγωγής τιμών (software scaffolding) για να παραχθούν οι τιμές εισόδου. Το software scaffolding ίσως χρειαστεί επίσης να εξετάσει τις εξόδους για παραγωγή εισόδων οδηγούμενες από ανατροφοδότηση. 95

96 Μέτρηση οδηγούμενη από ίχνος Οδηγούμενη από ίχνος: Μέτρηση του προγράμματος. Καταγραφή της διαδρομής εκτέλεσης. Απαιτεί τροποποίηση του προγράμματος. Τα ίχνη γενικά είναι μεγάλα. Ευρέως χρησιμοποιούμενη για ανάλυση της κρυφής μνήμης. 96

97 Φυσική μέτρηση Εξομοιωτής μέσα στο κύκλωμα επιτρέπει την καταγραφή ιχνών. Επηρεάζει τον χρονισμό εκτέλεσης. Ο λογικός αναλυτής μπορεί να μετρήσει τη συμπεριφορά στα pins. Η διεύθυνση διαύλου μπορεί να αναλυθεί για να ψάχνει για γεγονότα. Ο κώδικας μπορεί να τροποποιηθεί για να κάνει τα γεγονότα ορατά. Ιδιαίτερα σημαντικό για ροές εισόδου πραγματικού κόσμου. 97

98 Προσομοίωση της CPU Μερικοί προσομοιωτές είναι λιγότερο ακριβείς. Προσομοιωτής ακριβού αριθμού κύκλων παρέχει ακριβή χρονισμό κύκλου ρολογιού. Ο προσομοιωτής μοντελοποιεί την εσωτερική λειτουργία μιας CPU. Ο συγγραφέας ενός προσομοιωτή πρέπει να γνωρίζει με λεπτομέρεια πως λειτουργεί η CPU. 98

99 Προσομοίωση FIR φίλτρου στο SimpleScalar int x[n] = {8, 17, }; int c[n] = {1, 2, }; main() { int i, k, f; for (k=0; k<count; k++) } for (i=0; i<n; i++) f += c[i]*x[i]; N total sim cycles , , sim cycles per filter execution 99

100 Κίνητρο βελτιστοποίησης απόδοσης Τα ενσωματωμένα συστήματα πρέπει συχνά να συναντούν τις προθεσμίες. Το γρηγορότερο μπορεί να μην είναι αρκετά γρήγορο. Ανάγκη ικανότητας ανάλυσης του χρόνου εκτέλεσης. Χειρότερη περίπτωση, όχι τυπική. Ανάγκη τεχνικών για βελτίωση του χρόνου εκτέλεσης αξιόπιστα. 100

101 Προγράμματα και ανάλυση απόδοσης Τα καλύτερα αποτελέσματα προκύπτουν από ανάλυση βελτιστοποιημένων εντολών, όχι κώδικα γλώσσας υψηλού επιπέδου: Μη προφανείς μεταφράσεις καταστάσεων γλώσσας υψηλού επιπέδου σε εντολές. Ο κώδικας μπορεί να μετακινηθεί. Οι επιδράσεις της κρυφής μνήμης είναι δύσκολο να προβλεφθούν. 101

102 Βελτιστοποιήσεις βρόχων Οι βρόχοι είναι σημαντικοί στόχοι βελτιστοποίησης. Βασικές βελτιστοποιήσεις βρόχων: κίνηση κώδικα, εξάλειψη επαγωγικής μεταβλητής, μείωση έντασης (x*2 -> x<<1). 102

103 Μετακίνηση κώδικα (1/2) for (i=0; i<n*m; i++) z[i] = a[i] + b[i]; 103

104 Μετακίνηση κώδικα (2/2) for (i=0; i<n*m; i++) z[i] = a[i] + b[i]; 104

105 Εξάλειψη επαγωγικής μεταβλητής Επαγωγική μεταβλητή: δείκτης βρόχου. Θεωρήστε τον βρόχο: for (i=0; i<n; i++) for (j=0; j<m; j++) z[i,j] = b[i,j]; Από το να υπολογίζουμε το i*m+j για κάθε πίνακα σε κάθε επανάληψη, θα χρησιμοποιήσουμε μια κοινή επαγωγική μεταβλητή για τους πίνακες, η οποία αυξάνεται στο τέλος του βρόχου. 105

106 Ανάλυση κρυφής μνήμης Εμφωλευμένος βρόχος: σύνολο βρόχων, ο ένας μέσα σε άλλο. Τέλειος εμφωλευμένος βρόχος: χωρίς συνθήκες στο εσωτερικό του. Επειδή οι βρόχοι χρησιμοποιούν μεγάλες ποσότητες δεδομένων, οι συγκρούσεις της κρυφής μνήμης είναι συνηθισμένες. 106

107 Συγκρούσεις πίνακα κρυφής μνήμης (1/2) 107

108 Συγκρούσεις πίνακα κρυφής μνήμης (2/2) Τα στοιχεία του πίνακα συγκρούονται επειδή αντιστοιχίζονται στην ίδια γραμμή, ακόμα και αν δεν αντιστοιχίζονται ακριβώς στην ίδια τοποθεσία. Λύσεις: μετακίνηση ενός πίνακα. συμπλήρωση πίνακα. 108

109 Συμβουλές βελτιστοποίησης απόδοσης Χρησιμοποίηση των καταχωρητών αποτελεσματικά. Χρησιμοποίηση προσβάσεων στο σύστημα μνήμης με τρόπο λειτουργίας σελίδας (page mode accesses). Ανάλυση της συμπεριφοράς της κρυφής μνήμης: Οι συγκρούσεις εντολών μπορούν να χειριστούν ξαναγράφοντας τον κώδικα, αναδιάρθρωση. Οι συγκρούσεις βαθμωτών δεδομένων μπορούν εύκολα να μετακινηθούν. Οι συγκρούσεις δεδομένων σε πίνακες μπορούν να μετακινηθούν, τεχνική συμπλήρωσης. 109

110 Ανάλυση και Βελτιστοποίηση Ενέργειας και Ισχύος 110

111 Βελτιστοποίηση ενέργειας / ισχύος Ενέργεια: ικανότητα παραγωγής έργου. Ιδιαίτερα σημαντική για συστήματα που τροφοδοτούνται από μπαταρίες. Ισχύς: ρυθμός παραγωγής έργου. Σημαντική ακόμα και σε συστήματα πρίζας---η ισχύς μετατρέπεται σε θερμότητα. 111

112 Μέτρηση κατανάλωσης ενέργειας Εκτέλεση ενός μικρού τμήματος κώδικα βρόχου, μέτρηση της ροής του ρεύματος: 112

113 Πηγές κατανάλωσης ενέργειας Σχετική ενέργεια ανά λειτουργία (Catthoor et al): Μεταφορά μνήμης: 33 Προσπέλαση εξωτερικής Ε/Ε: 10 Εγγραφή SRAM: 9 Ανάγνωση SRAM: 4.4 Πολλαπλασιασμός: 3.6 Πρόσθεση: 1 113

114 Η συμπεριφορά της κρυφής μνήμης είναι σημαντική Η σχέση της κατανάλωσης ενέργειας και του χρόνου εκτέλεσης μεταβάλλεται καθώς το μέγεθος της κρυφής μνήμης αλλάζει: κρυφή μνήμη πολύ μικρή: το πρόγραμμα τρέχει αργά, το σύστημα καταναλώνει πολύ ενέργεια λόγω του υψηλού κόστους των προσβάσεων στην κύρια μνήμη. Κρυφή μνήμη πολύ μεγάλη: η κατανάλωση ισχύος είναι πολύ μεγάλη. 114

115 Ενέργεια και χρόνος εκτέλεσης σε συνάρτηση του μεγέθους της κρυφής μνήμης 115

116 Βελτιστοποίηση ενέργειας (1/2) Πρώτης τάξης βελτιστοποίηση: υψηλή απόδοση = χαμηλή ενέργεια. Δεν υπάρχουν πολλές εντολές που ανταλλάσσουν ταχύτητα για ενέργεια. 116

117 Βελτιστοποίηση ενέργειας (2/2) Αποτελεσματική χρήση των καταχωρητών. Εντοπισμός και εξάλειψη των συγκρούσεων κρυφής μνήμης. Το περιορισμένο ξετύλιγμα βρόχου μειώνει κάποια από την επιβάρυνση ελέγχου του βρόχου. Μείωση σταματημάτων (stall) διοχέτευσης. Η ενσωμάτωση διαδικασιών μπορεί να βοηθήσει: μειώνει τη σύνδεση, ωστόσο μπορεί να αυξήσει το thrashing (~μείωση απόδοσης) στην κρυφή μνήμη. 117

118 Γενικοί κανόνες: Αποδοτικοί βρόχοι Μη χρησιμοποιείτε κλήσεις συναρτήσεων. Κρατήστε το σώμα του βρόχου μικρό για να επιτρέψετε την τοπική επανάληψη (μόνο διακλαδώσεις προς τα εμπρός). Χρησιμοποιείστε μη προσημασμένο ακέραιο για μετρητή βρόχου. Χρησιμοποιείστε <= για έλεγχο του μετρητή βρόχου. Χρησιμοποιείστε καλύτερα το μεταγλωττιστή--- καθολική βελτίωση, διοχέτευση λογισμικού. 118

119 Παράδειγμα επανάληψης βρόχου μόνης εντολής STM #4000h,AR2 ; φόρτωση δείκτη στην πηγή STM #100h,AR3 ; φόρτωση δείκτη στον προορισμό RPT #(1024-1) MVDD *AR2+,*AR3+ ; μετακίνηση 119

120 Ανάλυση και Βελτιστοποίηση Μεγέθους Προγράμματος 120

121 Στόχος: Βελτιστοποίηση μεγέθους προγράμματος μείωση κόστους υλικού της μνήμης, μείωση κατανάλωσης ισχύος των μονάδων μνήμης. Δύο δυνατότητες: Δεδομένα, Εντολές. 121

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

123 Μείωση μεγέθους κώδικα Αποφυγή ενσωμάτωσης λειτουργιών. Επιλογή CPU με συμπαγείς εντολές. Χρήση ειδικευμένων εντολών όπου είναι δυνατόν. 123

124 Επικύρωση και Δοκιμή Προγράμματος 124

125 Επικύρωση και δοκιμή Λειτουργεί; του προγράμματος Σε αυτό το μέρος επικεντρωνόμαστε στη λειτουργική επικύρωση. Κύριοι τύποι στρατηγικών δοκιμών: Το μαύρο κουτί δεν εξετάζει τον πηγαίο κώδικα. Το διαφανές κουτί (άσπρο κουτί) εξετάζει τον πηγαίο κώδικα. 125

126 Δοκιμή διαφανούς κουτιού Εξετάζει τον πηγαίο κώδικα για να καθορίσει εάν λειτουργεί: Μπορείτε να δοκιμάσετε πραγματικά μια διαδρομή; Λαμβάνετε την τιμή που περιμένατε κατά μήκος μιας διαδρομής; Διαδικασία δοκιμής: Ελεγξιμότητα: παροχή των εισόδων στο πρόγραμμα. Εκτέλεση. Παρατηρησιμότητα: εξέταση αποτελεσμάτων. 126

127 Ελέγχοντας και παρατηρώντας firout = 0.0; for (j=curr, k=0; j<n; j++, k++) firout += buff[j] * c[k]; for (j=0; j<curr; j++, k++) firout += buff[j] * c[k]; if (firout > 100.0) firout = 100.0; if (firout < ) firout = ; τα προγράμματα Ελεγξιμότητα: Πρέπει να γεμίσουμε την προσωρινή περιοχή προσωρινής αποθήκευσης με Ν τιμές στο κατάλληλο εύρος. Διαφορετικός κώδικας ρυθμίζει πως αποκτούμε πρόσβαση στην προσωρινή περιοχή προσωρινής αποθήκευσης. Παρατηρησιμότητα: Εξετάζουμε την τιμή του firout προτού εκτελεσθεί ο κώδικας περιορισμού. 127

128 Διαδρομές εκτέλεσης και δοκιμές Οι διαδρομές εκτέλεσης είναι σημαντικές στις δοκιμές, όσο και η ανάλυση απόδοσης. Γενικά, ένας εκθετικός αριθμός διαδρομών μέσω του προγράμματος. Ένδειξη ότι ορισμένες διαδρομές κυριαρχούν έναντι άλλων. Ευρετικός περιορισμός των διαδρομών. 128

129 Επιλέγοντας τις διαδρομές για δοκιμή (1/3) Δύο λογικές επιλογές: Να εκτελέσουμε κάθε εντολή τουλάχιστον μία φορά. Να εκτελέσουμε κάθε διεύθυνση μιας διακλάδωσης τουλάχιστον μία φορά. Αυτές οι συνθήκες είναι ισοδύναμες για τις δομημένες γλώσσες προγραμματισμού χωρίς gotos. 129

130 Επιλέγοντας τις διαδρομές για δοκιμή (2/3) Δύο λογικές επιλογές: Να εκτελέσουμε κάθε εντολή τουλάχιστον μία φορά. Να εκτελέσουμε κάθε διεύθυνση μιας διακλάδωσης τουλάχιστον μία φορά. Αυτές οι συνθήκες είναι ισοδύναμες για τις δομημένες γλώσσες προγραμματισμού χωρίς gotos. 130

131 Επιλέγοντας τις διαδρομές για δοκιμή (3/3) Δύο λογικές επιλογές: Να εκτελέσουμε κάθε εντολή τουλάχιστον μία φορά. Να εκτελέσουμε κάθε διεύθυνση μιας διακλάδωσης τουλάχιστον μία φορά. Αυτές οι συνθήκες είναι ισοδύναμες για τις δομημένες γλώσσες προγραμματισμού χωρίς gotos. 131

132 Προσεγγιστικά CDFG με μη προσανατολισμένο γράφημα. Σε μη προσανατολισμένα γραφήματα, μπορούμε να εφαρμόσουμε διαδρομές βάσης. Όλες οι διαδρομές είναι γραμμικός συνδυασμός των διαδρομών βάσης. Διαδρομές βάσης 132

133 Κυκλοματική πολυπλοκότητα Η κυκλωματική πολυπλοκότητα είναι ένα άνω όριο στο μέγεθος του συνόλου βάσης: e = # ακμών n = # κόμβων p = αριθμός στοιχείων στο γράφημα M = e n + 2p. 133

134 Δοκιμή διακλάδωσης Ευρετική για δοκιμές διακλαδώσεων. Δοκιμή αληθών και ψευδών διακλαδώσεων μιας συνθήκης. Δοκιμή κάθε απλής συνθήκης τουλάχιστον μία φορά. 134

135 Παράδειγμα δοκιμής διακλάδωσης 1 Αληθές: if (a (b >= c)) { printf( OK\n ); } Ψευδές: if (a && (b >= c)) { printf( OK\n ); } Δοκιμή: a = F (b >=c) = T Παράδειγμα: Αληθές: [0 (3 >= 2)] = T Ψευδές: [0 && (3 >= 2)] = F 135

136 Παράδειγμα δοκιμής διακλάδωσης 2 Αληθές: if ((x == good_pointer) && x- >field1 == 3)) { printf( got the value\n ); } Λάθος κώδικας αλλάζει τον δείκτη. Ψευδές: if ((x = good_pointer) && x- >field1 == 3)) { printf( got the value\n ); } Η εκχώρηση επιστρέφει νέα LHS στη C. Δοκιμή που συλλαμβάνει σφάλμα: (x!= good_pointer) && x->field1 = 3) 136

137 Δοκιμή περιοχής Εμπειρική δοκιμή που επικεντρώνεται στις γραμμικές ανισότητες. Δοκιμή κάθε πλευράς + όριο της ανισότητας. 137

138 Ζευγάρια ορισμού-χρήσης Μεταβλητή ορισμούχρήσης: Καθορίζεται όταν γίνεται μια ανάθεση στην μεταβλητή. Χρησιμοποιείται όταν εμφανίζεται στη δεξιά πλευρά μιας ανάθεσης. Δοκιμή κάθε ζευγαριού ορισμού-χρήσης. Απαιτεί δοκιμή της σωστής διαδρομής. 138

139 Δοκιμές βρόχων Οι βρόχοι απαιτούν ειδικευμένες δοκιμές για να δοκιμαστούν αποδοτικά. Εμπειρική στρατηγική δοκιμής: Παράκαμψη του βρόχου εξ ολοκλήρου. Μία επανάληψη του βρόχου. Δύο επαναλήψεις του βρόχου. # επαναλήψεων σημαντικά κάτω από τον μέγιστο αριθμό. n-1, n, n+1 επαναλήψεις όπου n ο μέγιστος αριθμός. 139

140 Δοκιμή μαύρου κουτιού Συμπληρώνει τη δοκιμή διαφανούς κουτιού. Ίσως απαιτήσει πολλές δοκιμές. Δοκιμές λογισμικού με διαφορετικούς τρόπους. 140

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

142 Πόση δοκιμή είναι αρκετή; Οι εξαντλητικές δοκιμές είναι κάτι μη πρακτικό. Μια σημαντική μέτρηση είναι η δοκιμή απόδοσης---διαφυγή σφαλμάτων στο πεδίο. Καλές οργανώσεις μπορούν να δοκιμάσουν το λογισμικό να δώσουν πολύ χαμηλά ποσοστά αναφοράς σφαλμάτων πεδίου. Η έγχυση σφάλματος μετράει την ποιότητα της δοκιμής: Προσθήκη γνωστών σφαλμάτων. Τρέξιμο των δοκιμών. Καθορισμός % σφαλμάτων έγχυσης που πιάστηκαν. 142

143 Παράρτημα 143

144 Παράδειγμα Σχεδίασης: Modem λογισμικού 144

145 Θεωρία της λειτουργίας Διαμόρφωση μετατόπισης συχνότητας (frequencyshift keying - FSK), διαφορετικές συχνότητες από 0 και

146 Κωδικοποίηση FSK Παραγωγή κυματομορφών βασισμένες στα τρέχοντα δυαδικά ψηφία (bit): 146

147 Αποκωδικοποίηση FSK 147

148 Σχήμα μετάδοσης Αποστολή δεδομένων σε bytes των 8-bit. Αυθαίρετη απόσταση μεταξύ των bytes. Το byte ξεκινά, με το bit έναρξης 0. Ο δέκτης μετράει το μήκος του bit έναρξης για να συγχρονιστεί στα υπόλοιπα 8 bits. 148

149 Απαιτήσεις Είσοδοι Έξοδοι Λειτουργίες Απόδοση Κότος κατασκευής Ισχύς Φυσικό μέγεθος Είσοδος αναλογικού ήχου, κουμπί reset. Έξοδος αναλογικού ήχου, οθόνη LED bit. Πομπός: Στέλνει δεδομένα σε bytes των 8-bit συν το bit έναρξης. Δέκτης: Ανιχνεύει αυτόματα τα bytes. Εμφανίζει το τρέχον ληφθένbit σε LED baud. Κυριαρχείται από τον μικροεπεξεργαστή και την αναλογική Ε/Ε. Τροφοδοτείται από AC. Αρκετά μικρό και ελαφρύ. 149

150 Προσδιορισμός 150

151 Αρχιτεκτονική συστήματος Χειριστές διακοπών για τα δείγματα: είσοδος και έξοδος. Πομπός. Δέκτης. 151

152 Πομπός Παραγωγή κυματομορφής μέσω αναζήτησης σε πίνακα. float sine_wave[n_samp] = { 0.0, 0.5, 0.866, 1, 0.866, 0.5, 0.0, -0.5, , -1.0, , -0.5, 0}; 152

153 Δέκτης Τα φίλτρα (FIR για απλότητα) χρησιμοποιούν κυκλικές περιοχές προσωρινής αποθήκευσης για να αποθηκεύουν τα δεδομένα. Ένα χρονόμετρο μετράει το μήκος bit. Μια μηχανή κατάστασης αναγνωρίζει τα bit έναρξης, τα bit δεδομένων. 153

154 CPU. Μετατροπέας A/D. Μετατροπέας D/A. Χρονόμετρο. Πλατφόρμα υλικού 154

155 Σχεδίαση συστατικών και δοκιμή Εύκολη η δοκιμή πομπού και δέκτη στην πλατφόρμα υπολογιστή υπηρεσίας. Ο πομπός μπορεί να επαληθευθεί στις εξόδους των ηχείων. Λειτουργίες επαλήθευσης δέκτη: αναγνώριση bit έναρξης, αναγνώριση bit δεδομένων. 155

156 Ολοκλήρωση συστήματος και δοκιμή Χρήση κατάστασης βρόχου επιστροφής για τη δοκιμή στοιχείων έναντι ενός άλλου. Βρόχος επιστροφής στο λογισμικό ή συνδέοντας D/A και A/D μετατροπείς. 156

157 Βιβλιογραφία Χρησιμοποιήθηκε υλικό από παρουσιάσεις των: Wayne Wolf, Overheads for Computers as Components 2 nd ed.,2008 [5.2 έως 5.10] 157

158 Τέλος Ενότητας 158

159 Σημείωμα Αναφοράς Copyright, Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών, Μηνάς Δασυγένης. «Ενσωματωμένα Συστήματα». Έκδοση: 1.0. Κοζάνη Διαθέσιμο από τη δικτυακή διεύθυνση: 159

160 Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Όχι Παράγωγα Έργα Μη Εμπορική Χρήση 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] h t t p ://creativecommons.org/licenses/by-nc-nd/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό 160

161 Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους. 161

Ενσωματωμένα Συστήματα

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

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

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία Παιδαγωγικό Τμήμα Νηπιαγωγών Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία Ενότητα # 9: Ψηφιακός Ήχος - Audacity Θαρρενός Μπράτιτσης Παιδαγωγικό Τμήμα Νηπιαγωγών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

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

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

Εισαγωγή στην πληροφορική Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στην πληροφορική Ενότητα 4: Ψηφιακή Λογική, Άλγεβρα Boole, Πίνακες Αλήθειας (Μέρος Α) Αγγελίδης Παντελής Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

Μαθηματική Ανάλυση ΙI

Μαθηματική Ανάλυση ΙI Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Μαθηματική Ανάλυση ΙI Ενότητα 3: Συναρτήσεις πολλών μεταβλητών Επίκουρος Καθηγητής Θ. Ζυγκιρίδης e-mail: tzygiridis@uowm.gr Τμήμα Μηχανικών Πληροφορικής και

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

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής Προγραμματισμός Η/Υ Ενότητα 4: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Έλεγχος της ροής ενός προγράμματος

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 4: Δομές Ελέγχου Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

Εισαγωγή στον δομημένο προγραμματισμό

Εισαγωγή στον δομημένο προγραμματισμό Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στον δομημένο προγραμματισμό Ενότητα 12 η : Δυναμική Ανάθεση Θέσης Αν. καθηγητής Στεργίου Κώστας e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής

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

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

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

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

Προγραμματισμός H/Y Ενότητα 2: Εντολές ελέγχου ροής. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός H/Y Ενότητα 2: Εντολές ελέγχου ροής. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Προγραμματισμός H/Y Ενότητα 2: Εντολές ελέγχου ροής Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

Ηλεκτρονικοί Υπολογιστές

Ηλεκτρονικοί Υπολογιστές ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 9: Πίνακες στη C++ Ζαχαρούλα Ανδρεοπούλου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

Εισαγωγή στον δομημένο προγραμματισμό

Εισαγωγή στον δομημένο προγραμματισμό Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στον δομημένο προγραμματισμό Ενότητα 7 η : Δείκτες Αν. καθηγητής Στεργίου Κώστας e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

Δομημένος Προγραμματισμός

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

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

Δομημένος Προγραμματισμός

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

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

Δομημένος Προγραμματισμός

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

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

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 10: Ιεραρχία Μνήμης. Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http://arch.icte.uowm.gr/mdasyg

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

Προγραμματισμός H/Y Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός H/Y Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Προγραμματισμός H/Y Ενότητα 1: Εισαγωγή Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 2: Μεταβλητές και Σταθερές Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης

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

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο) Προγραμματισμός Η/Υ Ενότητα 2β: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Κατανόηση της έννοιας του Τελεστή

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

Δομημένος Προγραμματισμός

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

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

Δομημένος Προγραμματισμός

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

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

Δομές Δεδομένων Ενότητα 2

Δομές Δεδομένων Ενότητα 2 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 2: Θέματα Απόδοσης Απόστολος Παπαδόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

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

Εισαγωγή στην Πληροφορική Εισαγωγή στην Πληροφορική Αριθμητικά Συστήματα ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Βασικές Έννοιες Ένα Αριθμητικό Σύστημα αποτελείται από ένα

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 3: Εισαγωγή και Εμφάνιση Δεδομένων Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες

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

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο Ενότητα 4: Τελεστές - Αλγόριθμος Διδάσκουσα: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

Προγραμματισμός H/Y Ενότητα 4: Δείκτες. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός H/Y Ενότητα 4: Δείκτες. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Προγραμματισμός H/Y Ενότητα 4: Δείκτες Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

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

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

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

Προγραμματισμός H/Y Ενότητα 6: Δομές (structures) Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός H/Y Ενότητα 6: Δομές (structures) Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Προγραμματισμός H/Y Ενότητα 6: Δομές (structures) Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους Εισαγωγή στους Αλγορίθμους Ενότητα 5 η Άσκηση Συγχώνευση & απαρίθμηση Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 11 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 11 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Γιώργος Δημητρίου Μάθημα 11 ο Γεννήτορας Τελικού Κώδικα Ο γεννήτορας τελικού κώδικα είναι το πιο κρίσιμο τμήμα του μεταγλωττιστή και αντιμετωπίζει πολύπλοκα προβλήματα Βέλτιστη χρήση της αρχιτεκτονικής

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

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

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

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

Εισαγωγή στην πληροφορική Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στην πληροφορική Ενότητα 4: Ψηφιακή Λογική, Άλγεβρα Boole, Πίνακες Αλήθειας (Μέρος B) Αγγελίδης Παντελής Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2) Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2) Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

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

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 3: MPI_Get_count, non blocking send/recv, εμφάνιση και αποφυγή αδιεξόδων Δρ. Μηνάς Δασυγένης mdasyg@ieee.org

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

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 10: Πρότυπα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

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

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

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

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

Βάσεις Δεδομένων. Ενότητα 5: ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Βάσεις Δεδομένων. Ενότητα 5: ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών Βάσεις Δεδομένων Ενότητα 5: ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

Τεχνοοικονομική Μελέτη

Τεχνοοικονομική Μελέτη Τμήμα Μηχανολόγων Μηχανικών Τεχνοοικονομική Μελέτη Ενότητα 7: Σχέση μεταξύ εσόδων και ανάκτηση κεφαλαίου Σκόδρας Γεώργιος, Αν. Καθηγητής gskodras@uowm.gr Τμήμα Μηχανολόγων Μηχανικών Άδειες Χρήσης Το παρόν

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Συστήματα αρίθμησης

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Συστήματα αρίθμησης ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Συστήματα αρίθμησης Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 8 Σημειώσεις βασισμένες στο βιβλίο Το MATLAB στην Υπολογιστική

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

Εισαγωγή στον δομημένο προγραμματισμό

Εισαγωγή στον δομημένο προγραμματισμό Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στον δομημένο προγραμματισμό Ενότητα 5 η : Πίνακες (Προχωρημένα Θέματα) Αν. καθηγητής Στεργίου Κώστας e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής

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

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους Εισαγωγή στους Αλγορίθμους Ενότητα 5 η Άσκηση - Συγχώνευση Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν

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

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

Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών 1 Άδειες Χρήσης Το παρόν υλικό

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

Συστήματα Αναμονής. Ενότητα 1: Εισαγωγή. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Συστήματα Αναμονής. Ενότητα 1: Εισαγωγή. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Συστήματα Αναμονής Ενότητα 1: Εισαγωγή Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως

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

Μηχανολογικό Σχέδιο Ι

Μηχανολογικό Σχέδιο Ι ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Ενότητα # 8: Άτρακτοι και σφήνες Μ. Γρηγοριάδου Μηχανολόγων Μηχανικών Α.Π.Θ. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

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

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

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

Μαθηματική Ανάλυση Ι

Μαθηματική Ανάλυση Ι Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Μαθηματική Ανάλυση Ι Ενότητα 5: Όρια και Συνέχεια Επίκ. Καθηγητής Θ. Ζυγκιρίδης e-mail: tzygiridis@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων Εισαγωγή στην Διοίκηση Επιχειρήσεων Ενότητα 2: Οργάνωση και Διοίκηση Εισαγωγή Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

Προγραμματισμός Η/Υ. Ενότητα 5: Εντολές Επανάληψης

Προγραμματισμός Η/Υ. Ενότητα 5: Εντολές Επανάληψης Προγραμματισμός Η/Υ Ενότητα 5: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Έλεγχος της ροής του προγράμματος

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

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Προγραμματισμός Η/Υ Βασικές Προγραμματιστικές Δομές ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Δομή Ελέγχου Ροής (IF) Η εντολή IF χρησιμοποιείται όταν

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

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

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

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 7: Συναρτήσεις Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους. Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους. Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο Ενότητα 2: Δημιουργία και Επεξεργασία διανυσμάτων και πινάκων μέσω του Matlab Διδάσκουσα: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών ΤΕ Άδειες

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

Διοίκηση Επιχειρήσεων

Διοίκηση Επιχειρήσεων ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 5: Η λήψη των αποφάσεων Ευγενία Πετρίδου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Αρχιτεκτονική υπολογιστών Ενότητα 12 : Δομή και Λειτουργία της CPU 2/2 Φώτης Βαρζιώτης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Τμήμα Μηχανικών Πληροφορικής

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

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο Ενότητα 9: Εισαγωγή στα Συστήματα Ανοικτού Ελέγχου Διδάσκουσα: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

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

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

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

Δομημένος Προγραμματισμός

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

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

Δομημένος Προγραμματισμός

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

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

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 2: Εντολές/προτάσεις ελέγχου και συναρτήσεις Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons

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

Εισαγωγικές έννοιες θεωρίας Συστημάτων Αυτομάτου Ελέγχου Ενότητα 8 η : ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΩΝ ΛΟΓΙΚΩΝ ΕΛΕΓΚΤΩΝ

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

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

Πληροφορική ΙΙ Θεματική Ενότητα 5

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 3 ΕΛΕΓΧΟΣ ΡΟΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Ι. Ελεγκτές συνθηκών ή περιπτώσεων:

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη)

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη) ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ενότητα: ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

Διδακτική Πληροφορικής

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

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

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 7: Υπερφόρτωση τελεστών. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 7: Υπερφόρτωση τελεστών. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Αντικειμενοστρεφής Προγραμματισμός Ενότητα 7: Υπερφόρτωση τελεστών Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

Βέλτιστος Έλεγχος Συστημάτων

Βέλτιστος Έλεγχος Συστημάτων Βέλτιστος Έλεγχος Συστημάτων Ενότητα 7: Βέλτιστος έλεγχος συστημάτων διακριτού χρόνου Καθηγητής Αντώνιος Αλεξανδρίδης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σημείωμα

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

Εισαγωγικές έννοιες θεωρίας Συστημάτων Αυτομάτου Ελέγχου

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

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

ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6

ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6: 1η εργαστηριακή άσκηση και προσομοίωση με το SPICE Χατζόπουλος Αλκιβιάδης Τμήμα Ηλεκτρολόγων Μηχανικών και

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

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους Εισαγωγή στους Αλγορίθμους Ενότητα 6 η Άσκηση - DFS δένδρα Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 4: Συναρτήσεις

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 4: Συναρτήσεις ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 4: Συναρτήσεις Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ Ι Σημειώσεις MATLAB Ενότητα 4 ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 4 Σημειώσεις βασισμένες στο

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

Τεχνικές Προγραμματισμού και Χρήση Λογισμικού Η/Υ στις Κατασκευές

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

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

ΟΙΚΟΝΟΜΕΤΡΙΑ. Ενότητα 3: Πολλαπλή Παλινδρόμηση. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΟΙΚΟΝΟΜΕΤΡΙΑ. Ενότητα 3: Πολλαπλή Παλινδρόμηση. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) ΟΙΚΟΝΟΜΕΤΡΙΑ Ενότητα 3: Πολλαπλή Παλινδρόμηση. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων Εισαγωγή στην Διοίκηση Επιχειρήσεων Ενότητα 11: Θεωρία Οργάνωσης & Διοίκησης Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Αρχιτεκτονική υπολογιστών Ενότητα 11 : Δομή και Λειτουργία της CPU 1/2 Φώτης Βαρζιώτης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Τμήμα Μηχανικών Πληροφορικής

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

Βάσεις Δεδομένων. Ενότητα 1: Εισαγωγή στις Βάσεις δεδομένων. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Βάσεις Δεδομένων. Ενότητα 1: Εισαγωγή στις Βάσεις δεδομένων. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών Βάσεις Δεδομένων Ενότητα 1: Εισαγωγή στις Βάσεις δεδομένων Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

Προγραμματισμός Η/Υ. 7 η ενότητα: Αρχεία. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

Προγραμματισμός Η/Υ. 7 η ενότητα: Αρχεία. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Προγραμματισμός Η/Υ 7 η ενότητα: Αρχεία Τμήμα Τεχνολόγων Περιβάλλοντος ΤΕΙ Ιονίων Νήσων Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών Συναρτήσεις 60 Ροή ελέγχου Είναι η σειρά µε την οποία εκτελούνται οι εντολές. Μέχρι τώρα, «σειριακή»,

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

Δομημένος Προγραμματισμός

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

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

Ιστορία της μετάφρασης

Ιστορία της μετάφρασης ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 6: Μεταφραστές και πρωτότυπα. Ελένη Κασάπη ΤΜΗΜΑ ΑΓΓΛΙΚΗΣ ΓΛΩΣΣΑΣ ΚΑΙ ΦΙΛΟΛΟΓΙΑΣ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 6: Πίνακες και Δείκτες Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν

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

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ Ενότητα 4: Ισχύς στο Συνεχές Ρεύμα Αριστείδης Νικ. Παυλίδης Τμήμα Μηχανολόγων Μηχανικών και Βιομηχανικού Σχεδιασμού ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο Ενότητα 8: Γραφικές παραστάσεις Διδάσκουσα: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

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

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ ΜΕΤΑΒΑΤΙΚΑ ΦΑΙΝΟΜΕΝΑ ΣΤΑ ΣΗΕ Λαμπρίδης Δημήτρης Κατσανού Βάνα Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών

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

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

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ ΜΕΤΑΒΑΤΙΚΑ ΦΑΙΝΟΜΕΝΑ ΣΤΑ ΣΗΕ Λαμπρίδης Δημήτρης Κατσανού Βάνα Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών

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

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

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ ΜΕΤΑΒΑΤΙΚΑ ΦΑΙΝΟΜΕΝΑ ΣΤΑ ΣΗΕ Λαμπρίδης Δημήτρης Κατσανού Βάνα Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Άσκηση αυτοαξιολόγησης 3-4 Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητες 3 & 4: ένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε

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

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

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

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

Προγραμματισμός H/Y Ενότητα 3: Πίνακες αριθμών και χαρακτήρων. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός H/Y Ενότητα 3: Πίνακες αριθμών και χαρακτήρων. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Προγραμματισμός H/Y Ενότητα 3: Πίνακες αριθμών και χαρακτήρων Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

ΟΙΚΟΝΟΜΕΤΡΙΑ. Ενότητα 1: Εκτιμητές και Ιδιότητες. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΟΙΚΟΝΟΜΕΤΡΙΑ. Ενότητα 1: Εκτιμητές και Ιδιότητες. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) ΟΙΚΟΝΟΜΕΤΡΙΑ Ενότητα 1: Εκτιμητές και Ιδιότητες. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 8: Αρχεία και Δομές Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν

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

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα Ενότητα: Ασκήσεις 1 Ανδριανός Ε. Τσεκρέκος Τμήμα Λογιστικής & Χρηματοοικονομικής Σελίδα 2 1. Σκοποί ενότητας... 5 2.

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

Γραφικά Ι. Ενότητα 1: Εισαγωγή. Θεοχάρης Θεοχάρης Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Γραφικά Ι. Ενότητα 1: Εισαγωγή. Θεοχάρης Θεοχάρης Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής και Τηλεπικοινωνιών Γραφικά Ι Ενότητα 1: Εισαγωγή Θεοχάρης Θεοχάρης Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ενότητα 1 Εισαγωγή Ιστορικά Ιστορική ανασκόπηση : 3 Ιστορικά (2) Ρυθμοί ανάπτυξης CPU και

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

Βέλτιστος Έλεγχος Συστημάτων

Βέλτιστος Έλεγχος Συστημάτων Βέλτιστος Έλεγχος Συστημάτων Ενότητα 12: Αρχή ελαχίστου του Pontryagin Καθηγητής Αντώνιος Αλεξανδρίδης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σημείωμα Αδειοδότησης Το

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

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

Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών 1 Άδειες Χρήσης Το παρόν υλικό

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

Βέλτιστος Έλεγχος Συστημάτων

Βέλτιστος Έλεγχος Συστημάτων Βέλτιστος Έλεγχος Συστημάτων Ενότητα 1: Εισαγωγή Καθηγητής Αντώνιος Αλεξανδρίδης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 4: Εισαγωγή / Σύνολα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 4: Εισαγωγή / Σύνολα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Διακριτά Μαθηματικά Ενότητα 4: Εισαγωγή / Σύνολα Αν. Καθηγητής Κ. Στεργίου e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες

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

Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II

Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II 4 η Εργαστηριακή Άσκηση Περιγραφή Κυκλωμάτων με Ακολουθιακές Εντολές Άδειες Χρήσης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons

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

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

Εισαγωγή στην πληροφορική Εισαγωγή στην πληροφορική Ενότητα 5: ΑΛΓΟΡΙΘΜΟΙ Πασχαλίδης Δημοσθένης Τμήμα Διαχείρισης Εκκλησιαστικών Κειμηλίων Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

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