Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου"

Transcript

1 Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 12 Δρ. Μηνάς Δασυγένης Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών arch.icte.uowm.gr/mdasyg

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

3 Περιεχόμενα 1. Σκοπός της άσκησης Εργαστηριακή άσκηση Ερωτήσεις κατανόησης Ερωτήσεις Bonus Χρήση της Assembly στους σύγχρονους υπολογιστές Κώδικας Assembly από πρόγραμμα C Κώδικας assembly μέσα σε πρόγραμμα C Αποσφαλμάτωση κώδικα assembly μέσα σε πρόγραμμα C

4 1. Σκοπός της άσκησης Γραφικά VGA (συνέχεια προηγούμενου εργαστηρίου γραφικών). Σχεδιασμός γραμμών με βελτιστοποίηση. Σχεδιασμός χρωματικής παλέτας. Σχεδιασμός & γέμισμα ορθογωνίου. Assembly στους σύγχρονους υπολογιστές (A) 2 Ερωτήσεις (C) 4 Ασκήσεις (Β) 12 Ερωτήσεις bonus 2. Εργαστηριακή άσκηση (Θα πρέπει να έχει ολοκληρωθεί το προηγούμενο εργαστήριο με τις συναρτήσεις γραφικών για να συνεχίσετε σε αυτό.) (C1) Επιπρόσθετη βελτιστοποίηση στο σχεδιασμό γραμμής Οι συναρτήσεις που κατασκευάσατε στο προηγούμενο εργαστήριο μπορούν να βελτιστοποιηθούν για την επίτευξη ακόμη μεγαλύτερης ταχύτητας. Θα κάνουμε τη βελτιστοποίηση για μια συνάρτηση. Η ίδια τεχνική μπορεί να χρησιμοποιηθεί και για τις άλλες συναρτήσεις. Αντιγράψτε όλη τη συνάρτηση drawline_horizontal_right στη συνάρτηση drawline_horizontal_right2. Τροποποιήστε κατάλληλα τις ετικέτες μνήμης που υπάρχουν δηλωμένες μέσα στη συνάρτηση για να μη δημιουργείται πρόβλημα με τις ετικέτες τις αρχικής συνάρτησης drawline_horizontal_right. 1η βελτιστοποίηση:στα προηγούμενα παραδείγματα κάθε φορά γράφονταν 1 Byte με την εντολή mov es:[si],9. Μπορούμε να τροποποιήσουμε αυτή την εντολή με το να γράφουμε 2 byte κάθε φορά με το να γράψουμε mov es:[si],0909h. Βέβαια θα πρέπει τότε το si να αυξάνεται κατά 2. Δηλαδή να υπάρχουν δυο συνεχόμενες εντολές inc si, αντί για 1 που υπήρχε τώρα. 2η βελτιστοποίηση: Αμέσως μετά τα push υπάρχει ο υπολογισμός του αρχικού pixel με μια πράξη πολλαπλασιασμού. Να αντικαταστήσετε τον πολλαπλασιασμό, ώστε να γίνεται με πράξεις ολίσθησης και πρόσθεσης, όπως έχει αναφερθεί στη διάλεξη. Αντικαταστήστε την κλήση της αρχικής συνάρτησης στο πρόγραμμά σας με την κλήση αυτής της συνάρτησης και επιβεβαιώστε την ορθή (και πιο γρήγορη) λειτουργία. 4

5 (C2) Η συνάρτηση print_color_palette Η συνάρτηση θα εκτυπώνει όλα τα χρώματα της παλέτας μας (από 0 έως 255). Όπως είδαμε, η τιμή που γράφεται στη μνήμη της οθόνης es:[si] απεικονίζει το χρώμα που θα χρησιμοποιήσουμε. Ως τώρα τοποθετούσαμε την τιμή 9 (γαλάζιο). Σε αυτή τη συνάρτηση θα έχουμε ένα βρόχο εκτύπωσης που θα αυξάνει κατά 1 κάθε φορά την τιμή του χρώματος. Συγκεκριμένα στη συνάρτηση αυτή: Κάθε δύο γραμμές των pixels (οι γραμμές θα εκτυπώνονται ταυτόχρονα) θα έχουν δύο χρώματα. Δηλαδή, εδώ θα υπάρχει ένας βρόχος 160 επαναλήψεων (320 είναι τα pixel σε μια γραμμή, άρα τα μισά είναι 160). Αυτός θα είναι ο εσωτερικός βρόχος επανάληψης. Μόλις φτάσουμε στο τέλος της γραμμής, τότε θα πηγαίνουμε 2 γραμμές παρακάτω για να μη σβήσουμε τη 2η γραμμή που τοποθετήσαμε στο παραπάνω βρόχο. Αυτό θα γίνεται με την προσθήκη της τιμή 320 (δηλαδή μιας γραμμής) στο δείκτη. Θα υπάρχει ένας βρόχος 256 επαναλήψεων (τόσες είναι οι δυνατές τιμές χρώματος). Αυτός θα είναι ο εξωτερικός βρόχος επανάληψης. Βέβαια τα παραπάνω σημαίνουν ότι θα βγούμε εκτός από τα όρια της οθόνης, αφού η οθόνη μας έχει διαστάσεις 360 * 200. Για αυτό το λόγο στην 200 επανάληψη θα μηδενίσετε τη μετατόπιση από την αρχή, ώστε το επόμενο χρώμα να αρχίσει από την πάνω αριστερή γωνία (μετατόπιση 0). Θα επιλέξουμε τον καταχωρητή DL ως καταχωρητή χρώματος. Δώστε αρχική τιμή 1 για να ξεκινήσουμε από το χρώμα με τιμή 1. Θα επιλέξουμε τον καταχωρητή SI ως δείκτη στη μνήμη VGA που θα γράφουμε. Έτσι λοιπόν θα γράφουμε στην οθόνη ως: mov es:[si],dl ενώ ταυτόχρονα θα γράφουμε και στο αντίστοιχο pixel στη γραμμή ακριβώς από κάτω με την εντολή mov es:[si+320],dl Και οι δυο βρόχοι θα χρησιμοποιούν τον καταχωρητή CX. Επειδή ο ένας βρόχος είναι εμφωλιασμένος στον άλλο, θα πρέπει να χρησιμοποιήσουμε το σωρό για να διατηρούμε την τιμή του CX ως εξής: MOV CX,255 ;for all the colors _external_loop: PUSH CX ;first half mov CX,160 ;for half-the-line _internal_loop:..εγγραφή pixel..αύξηση του SI κατά 1 loop _internal_loop pop CX inc dl ;use next color ; {λείπει κώδικας...} 5

6 ;second-half mov CX,160 ;for half-the-line _internal_loop:..εγγραφή pixel..αύξηση του SI κατά 1 loop _internal_loop pop CX inc dl ;use next color add si,320 ;jump one line loop _external_loop (C3) Σχεδιασμός ορθογώνιου Κατασκευή συνάρτησης με όνομα print_a_box που θα δέχεται τις εξής εισόδους: DL color BX,AX (x,y) center of base line CX length DH height Πρώτα θα σχεδιάσουμε τις δυο οριζόντιες γραμμές με τον πρώτο βρόχο επανάληψης και στη συνέχεια τις δυο κατακόρυφες γραμμές με το δεύτερο βρόχο. Υπολογίζουμε τη διεύθυνση μνήμης για το pixel (BX,AX) με τον τύπο ΑΧ*320 + ΒΧ. Το αποθηκεύουμε σε ένα δείκτη π.χ. di Υπολογίζουμε το ύψος (αριθμός pixel) που πρέπει να αφαιρέσουμε με τον τύπο DH * 320 Δημιουργούμε ένα βρόχο από CX έως 0 στο οποίο κάθε φορά σχεδιάζουμε 4 σημεία: o o o o το σημείο DI + CX το σημείο DI CX το σημείο DI + CX DH*320 το σημείο DI CX DH*320 Προσέξτε ότι για τη διευθυνσιοδότηση μνήμης δε μπορούμε να έχουμε CX και DX, αλλά συγκεκριμένους καταχωρητές. Το CX θα μειώνεται συνεχώς λόγω της εντολής loop, οπότε στο τέλος θα έχουν σχεδιαστεί πλήρως οι 2 γραμμές. Δημιουργούμε ένα βρόχο που θα επαναληφθεί για DH φορές. Αφαιρούμε από το DI το μήκος που είχε δώσει ο χρήστης CX για να δείχνει στο πάνω αριστερά σημείο του ορθογωνίου. Θα σχεδιάζουμε κάθε φορά 2 σημεία: 6

7 o o το σημείο DI (αντιστοιχεί στην αριστερή κατακόρυφη) το σημείο DI+BX όπου BX είναι το μήκος όλης της γραμμής, δηλαδή του μήκους που είχε δώσει ο χρήστης επί 2, CX*2 (αντιστοιχεί στη δεξιά κατακόρυφη) o Για να πάμε στην επόμενη γραμμή προσθέτουμε στο DI την τιμή 320 και επαναλαμβάνουμε. Δοκιμάζουμε στο κυρίως πρόγραμμα τη συνάρτηση: mov dl,9 mov bx,50 mov ax,50 mov cx,10 mov dh,20 call print_a_box mov dl,19 mov bx,50 mov ax,71 mov cx,15 mov dh,20 call print_a_box Θα πρέπει να δούμε να σχεδιάζονται 2 ορθογώνια. (C4) Σχεδιασμός ορθογώνιου με γέμισμα Να κατασκευάσετε συνάρτηση με όνομα print_a_box_with_fill που θα δέχεται τις εξής εισόδους: DL line + fill color BX,AX (x,y) center of base line CX length DH height 3. Ερωτήσεις κατανόησης (A1) Αναγνωρίστε στον κώδικα σας 2 πιθανούς κινδύνους διασωλήνωσης. (A2) Δώστε πιθανούς τρόπους να απομακρύνετε τους παραπάνω 2 κινδύνους διασωλήνωσης. 7

8 Β Μέρος Εργαστηρίου (Bonus +0,50) 1 4. Ερωτήσεις Bonus 4.1 Χρήση της Assembly στους σύγχρονους υπολογιστές Ένα από τα σημαντικά πλεονεκτήματα της assembly είναι ότι μπορεί να χρησιμοποιηθεί μέσα σε μια υψηλή γλώσσα προγραμματισμού όπως ή C ή JAVA. Η ταυτόχρονη χρησιμοποίηση assembly και C έχει το έξης όφελος. Ενώ χρησιμοποιούμε για το μεγαλύτερο μέρος του κώδικά μας, το φιλικό περιβάλλον προγραμματισμού, τις συναρτήσεις, τις βιβλιοθήκες και την ευκολία αποσφαλμάτωσης της υψηλής γλώσσας προγραμματισμού, κάποια κρίσιμα κομμάτια κώδικα μπορούμε να τα γράφουμε σε assembly προκειμένου να επιτύχουμε καλύτερες επιδόσεις. Ο κώδικα assembly που παράγεται από το συμβολομεταφραστή (compiler) αυτόματα από μια υψηλή γλώσσα προγραμματισμού, δεν είναι τόσο βέλτιστος και υστερεί στις επιδόσεις και στην κατανάλωση ενέργειας, ως προς τον κώδικα assembly που μπορεί να γράψει ένας έμπειρος προγραμματιστής. Για αυτό το τμήμα του εργαστηρίου απαιτείται πρόσβαση σε 64bit υπολογιστή που εκτελεί Linux ή FreeBSD. Η 64bit assembly Intel/AMD είναι υπερσύνολο της assembly x86 των προηγούμενων εργαστηρίων. Μπορείτε να διαβάσετε το κείμενο Gentle Introduction to x86-64.pdf το οποίο βρίσκεται στην διεύθυνση: http :// Κώδικας Assembly από πρόγραμμα C Σε αυτό το κομμάτι θα προγραμματίσουμε σε υψηλή γλώσσα προγραμματισμού και θα δούμε τον κώδικα assembly που παράγεται αυτόματα. 1. Ανοίξτε μια σύνδεση ή ένα τερματικό στο μηχάνημα που θα εργαστείτε. 2. Στην προτροπή γράψτε pico asm0.c ή nano asm0.c για να δημιουργήστε το αρχείο asm0.c και να τοποθετήσετε τον παρακάτω κώδικα, ο οποίος θέτει μια αρχική τιμή στο a και στο b, εκτελεί μια μαθηματική πράξη τοποθετώντας το αποτέλεσμα στο c, και εκτυπώνει το αποτέλεσμα: #include <stdio.h> main() { // Variable Declaration int a; int b; int c; //Start Here a=10; 1 Υπολογισμός Bonus: 0.50 * (αριθμός_απαντήσεων_που_δώσατε)/(συνολικός_αριθμός_ερωτ.) 8

9 b=25;+ c=a*b+140; printf("the result is %d\n",c); return; } 3. Πατήστε το συνδυασμό των πλήκτρων για την αποθήκευση (συνήθως CTRL+X και στην προτροπή για αποθήκευση πατήστε y). Θα γίνει η αποθήκευση και θα επιστρέψετε στη γραμμή εντολών του λειτουργικού συστήματος. 4. Κάντε compile τον κώδικα asm0.c με αποθήκευση του παραγόμενου αρχείου στο asm0, χρησιμοποιώντας το συμβολομετραφραστή gcc ως εξής (αν σας αναφερθεί κάποιο error τότε επιστρέψτε στο βήμα 2 για να διορθώσετε τον κώδικά σας. Αν δεν σας εκτυπωθεί κανένα μήνυμα τότε ο κώδικάς σας είναι σωστός): gcc asm0.c -o asm0 5. Αμέσως μετά την εκτέλεση της ανωτέρω εντολής θα δημιουργηθεί το εκτελέσιμο asm0. Εκτελέστε το με την εντολή./asm0 6. Προκειμένου να δείτε τον κώδικα assembly θα χρησιμοποιήσετε το πρόγραμμα αποσφαλμάτωσης GNU Debugger++ 2. Δώστε gdb./asm0 7. Θα σας εμφανιστεί η προτροπή (gdb). Δώστε την εντολή disassemble main για να δείτε τις εντολές assembly που έχουν δημιουργηθεί για τη συνάρτηση main. Θα δείτε ότι υπάρχουν 3 στήλες: 1η στήλη διεύθυνση εντολής μέσα στο εκτελέσιμο 2η στήλη μετατόπιση από την αρχή του προγράμματος 3η στήλη εντολή assembly σε συντακτικό AT&T (att) Για να μετατρέψουμε τις εντολές assembly σε συντακτικό Intel (όπως έχουμε χρησιμοποιήσει στο εργαστήριο) θα πρέπει να δώσετε την εντολή set disassembly-flavor intel Αφού δώσετε την παραπάνω εντολή, δώστε πάλι την εντολή εμφάνισης assembly και θα παρατηρήσετε τη διαφορά. Σημειώστε ότι ο machine code (που δεν εμφανίζεται) είναι ίδιος, είτε μας εμφανιστεί η assembly με το συντακτικό της Intel είτε με το συντακτικό της AT&T. (B1) Δώστε ένα screenshot b1.png στο οποίο φαίνεται το dissasembly σε μορφή intel. (B2) Από το ανωτέρω listing, ποια εντολή assembly χρησιμοποιείται για την πράξη a*b και ποια για την πράξη (B3) Πόσα Byte καταλαμβάνει η πρώτη εντολή και πόσα η δεύτερη (και γιατί;). (B4) Σε ποια διεύθυνση μνήμης έχει τοποθετηθεί; 2 Περισσότερες πληροφορίες για το debugger στη διεύθυνση: 9

10 *** Προσοχή! Όλες οι παρακάτω εντολές δίνονται στο πρόγραμμα gdb, δηλαδή στην προτροπή (gdb) *** 8. Για να κάνουμε βηματική εκτέλεση (step-by-step) θα θέσουμε ένα breakpoint στην αρχή της συνάρτησης main με την εντολή: break main 9. Δώστε run για να αρχίσει η εκτέλεση έως το σημείο που έχει μπει το breakpoint. Μόλις η εκτέλεση έρθει στο σημείο που υπάρχει το breakpoint, τότε θα σταματήσει και θα μας εμφανιστεί η προτροπή του gdb. 10. Δώστε info registers για να σας εμφανιστούν οι τιμές των καταχωρητών του συστήματος πριν την εκτέλεση της συγκεκριμένης εντολής που έχει το breakpoint. Δώστε stepi για να εκτελεστεί η εντολή assembly. (B5) Τοποθετήστε ένα breakoint στη διεύθυνση της εντολής του πολλαπλασιασμού, χρησιμοποιώντας τη σύνταξη break * 0x , (και προαιρετικά την εντολή continue) όπου μετά το αστέρι, τοποθετείται η διεύθυνση της συγκεκριμένης εντολής. Δώστε την εντολή εμφάνισης των καταχωρητών και βρείτε ή εκτιμήστε σε ποιον καταχωρητή ή διεύθυνση μνήμης έχει τοποθετηθεί το a και που το b. Εκτελέστε την εντολή assemby, εμφανίστε τους καταχωρητές και βρείτε που έχει αποθηκευτεί το αποτέλεσμα του πολλαπλασιασμού. 4.3 Κώδικας assembly μέσα σε πρόγραμμα C Υπάρχουν περιπτώσεις που απαιτείται η συγγραφή τμήματος κώδικα ενός προγράμματος σε assembly προκειμένου να επιταχυνθεί η λειτουργία του προγράμματος ή να γίνει χρήση κάποιας λειτουργίας που δεν είναι αντιστοιχεί σε εντολή υψηλού επιπέδου. Αυτό ονομάζεται inline assembly code και ο τρόπος που γίνεται αναλύεται στο έγγραφο GCC Inline Assembly Howto.pdf που προέρχεται από τη διεύθυνση: ibiblio.org/gferg/ldp/gcc-inline-assembly-howto.html Η επικοινωνία του προγράμματος C με τον κώδικα assembly γίνεται χρησιμοποιώντας το σωρό. Η σύνταξη της inline assembly ακολουθεί το συντακτικό της AT&T. Οι κυριότερες διαφορές είναι: Οι καταχωρητές έχουν δύο %% από μπροστά Οι καταχωρητές προορισμού τοποθετούνται στο τέλος της εντολής. Στο τέλος κάθε εντολής πρέπει να υπάρχει το \n\t Η κάθε εντολή μπαίνει μέσα σε διπλά εισαγωγικά (προσοχή) Αμέσως μετά τα διπλά εισαγωγικά υπάρχει ένα κενό μετά ο χαρακτήρας \ και μετά enter (αλλαγή γραμμής). Εναλλακτικά μπορούμε να μη βάλουμε το \ και το enter και να δώσουμε όλες τις εντολές assembly σε μια σειρά. Μετά την τελευταία εντολή, ακολουθεί ένα πεδίο που ξεκινάει με : που δείχνει τους καταχωρητές εξόδου, στη συνέχεια ακολουθεί ένα πεδίο που ξεκινάει με : που δείχνει τους καταχωρητές εισόδου, και μετά ένα πεδίο που ξεκινάει με : και δείχνει τους clobbered_registers δηλαδή τους καταχωρητές που έχουμε τροποποιήσει και πρέπει ο compiler να το λάβει υπόψη για να μη δημιουργηθεί πρόβλημα στο περιβάλλον κλήσης. 10

11 Σε αυτό το κομμάτι του εργαστηρίου θα γράψουμε κάποιες εντολές assembly για να διαπιστώσουμε κάθε φορά που κάνουμε push έναν καταχωρητή της Intel/AMD 64bit πόσα byte τοποθετούνται στο σωρό. Για να το υπολογίσουμε θα κάνουμε τα εξής: θα αποθηκεύσουμε την τρέχουσα τιμή του SP (καταχωρητής esp για την 64bit) σε έναν καταχωρητή. Θα κάνουμε push έναν καταχωρητή 64bit, όπως τον rbx. Θα αφαιρέσουμε από την αρχική τιμή του SP (που είναι αποθηκευμένη στο βήμα 1) τη νέα τιμή του SP που έχει τώρα. Θα τοποθετήσουμε στο σωρό το αποτέλεσμα, προκειμένου να παραληφθεί από το πρόγραμμα σε C. 1. Ανοίξτε μια σύνδεση ή ένα τερματικό στο μηχάνημα που θα εργαστείτε. 2. Στην προτροπή γράψτε pico asm1.c ή nano asm1.c για να δημιουργήστε το αρχείο asm1.c και να τοποθετήσετε τον παρακάτω κώδικα: #include <stdio.h> int test_pushl() { asm volatile ( "mov %%esp, %%eax\n\t" \ "push %%rbx\n\t" \ "sub %%esp, %%eax\n\t" \ "pop %%rbx": : :"%eax","%esp"); } int main() { printf("it used %d bytes\n", test_pushl()); return; } 3. Κάντε compile το παρακάτω πρόγραμμα, με έξοδο στο αρχείο asm1. 4. Εκτελέστε το./asm1 και δείτε το νούμερο που σας εμφανίζεται στην έξοδο. 5. Εκτελέστε το gdb με παράμετρο το asm1 6. Δώστε την εντολή εμφάνισης assembly για τη συνάρτηση test_pushl(). 7. Αλλάξτε την εμφάνιση του συντακτικού της assembly σε Intel και επαναλάβετε το προηγούμενο βήμα (B6) Πόσα bytes καταλαμβάνει κάθε μια από τις εντολές assembly που έχετε δώσει inline μέσα στο πρόγραμμα C; Χρησιμοποιήστε την εντολή x/?bx διεύθυνση_μνήμης, όπου? είναι ο αριθμός των Bytes που θέλετε να εμφανίσετε (για παράδειγμα x/2bx 0x ) για να εμφανίσετε τα Bytes του machine code κάθε inline assembly εντολής που έχετε δώσει. 11

12 8. Βγείτε με quit στην προτροπή εντολών του λειτουργικού συστήματος. 9. Εκτός από το gdb μπορείτε να χρησιμοποιήσετε το βοηθητικό εργαλείο gdbtui με την ίδια σύνταξη. Δώστε την εντολή gdbtui./asm1 10. Στην προτροπή δώστε layout asm για να εμφανίσετε την assembly στο άνω παράθυρο. (B7) Δώστε ένα screenshot με όνομα b7.png με την assembly που εμφανίζεται. 11. Τοποθετήστε ένα breakpoint στο main και πατήστε run για να εκτελεστεί μέχρι αυτό το σημείο. 12. Μπορείτε με τα βέλη/pageup/pagedown να εμφανίζετε τις προηγούμενες ή τις επόμενες εντολές assembly. 13. Αλλάξτε το συντακτικό εμφάνισης σε Intel για να είναι πιο οικείο. 14. Μπορείτε να δώσετε display/i $pc για να εμφανίζεται αυτόματα η επόμενη εντολή κάθε φορά. Πατήστε μια φορά το stepi και κάθε φορά που θα πατάτε το enter εμφανίζεται η εντολή που θα εκτελεστεί. Δοκιμάστε το. 5. Αποσφαλμάτωση κώδικα assembly μέσα σε πρόγραμμα C Σας δίνεται το παρακάτω πρόγραμμα σε C που έχει inline assembly. #include <stdio.h> int f1 (int a) { return a+5; } void f2 (int lock, int a) {printf("\nans = %d\n", lock + a);} #define temp(lock) \ asm volatile ( " push $0\n\t" \ " call f1\n\t" \ " push %0\n\t" \ " push %%eax\n\t" \ " call f2\n\t" \ " pop %%ax\n\t" \ " pop %%eax\n\t" \ " pop %%ds\n\t"\ " pop %%eax": : "r" (lock) : "memory", "%eax"); int main () { int lock = 10; temp (lock); return 0; } 12

13 1. Κάντε το compile και εκτελέστε το. Θα εμφανιστεί ένα πρόβλημα (Illegal instruction (core dumped)). Αναλόγως της έκδοσης του compiler, ενδέχεται να μη γίνει καν compile, αλλά να αναφερθεί ως σφάλμα 'type mismatch'. 2. Φορτώστε το στο gdb/gdbtui και κάντε dissasembly. Συγκρίνετε τις εντολές που έχετε γράψει μια προς μια με τις εντολές από το dissasembly και βρείτε πια εντολή είναι προβληματική (δεν εμφανίζεται όπως τη γράψατε). Σβήστε τελείως αυτή την εντολή από το αρχείο C, κάντε compile, εκτελέστε το. (B8) Ποια εντολή προκάλεσε το πρόβλημα και γιατί; (B9) Τι κάνει το συγκεκριμένο πρόγραμμα; (B10) Πως μεταφέρονται οι παράμετροι από την assembly σε κάθε συνάρτηση; (B11) Επιστρέφει κάποια τιμή η assembly και γιατί; (B12) Πως δίνουμε από το κυρίως πρόγραμμα τιμή στην assembly και μέσα στην assembly πως χρησιμοποιούμε αυτή την τιμή; 13

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 03 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 06 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΝΔΕΙΚΤΙΚΕΣ ΕΡΩΤΗΣΕΙΣ ΕΡΓΑΣΤΗΡΙΟΥ No11 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 07 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No 05 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 10 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 02 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

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

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

Αρχιτεκτονική Υπολογιστών Εργαστήριο Αρχιτεκτονική Υπολογιστών Εργαστήριο Ενότητα: ΠΑΡΑΔΕΙΓΜΑ ΑΠΟΣΦΑΛΜΑΤΩΣΗΣ Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 11 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 04 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

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

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

Αρχιτεκτονική Υπολογιστών Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 3: Καταχωρητές, Τμήματα, Διευθυνσιοδότηση Μνήμης, SEGMENT, MOV, ADD, SUB, INT, TITLE, LEA

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:01 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 6: inc, dec, loop, jcxz, dup, displacement Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 08 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 4: Πολλαπλασιασμός (MUL,IMUL). Διαίρεση (DIV,IDIV). Εμφάνιση αλφαριθμητικού. Εμφάνιση χαρακτήρα.

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

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

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

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

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

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

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

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:07. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:07. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Ψηφιακή Σχεδίαση Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:07 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http:

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

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

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

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

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

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

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

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

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

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

Γραφικά με υπολογιστές

Γραφικά με υπολογιστές Γραφικά με Υπολογιστές Ενότητα # 3: Εισαγωγή Φοίβος Μυλωνάς Τμήμα Πληροφορικής Φοίβος Μυλωνάς Γραφικά με υπολογιστές 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

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

Ενσωματωμένα Συστήματα Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ ARDUINO Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

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

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

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

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

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:03 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

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

Ενσωματωμένα Συστήματα Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 6 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

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

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

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

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

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:14 - ADVISOR Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών

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

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

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

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

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

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

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής Στο εργαστήριο αυτό θα δούμε πώς ορίζονται και πώς χρησιμοποιούνται οι συμβολοσειρές στην C. Επίσης, θα μελετήσουμε κάποιες από τις συναρτήσεις

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

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

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

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα της γλώσσας C, το Dev-C++, το οποίο είναι εφαρμογή που τρέχει

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

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής Στο εργαστήριο αυτό θα δούμε πώς ορίζονται και πώς χρησιμοποιούνται οι συμβολοσειρές στην C. Επίσης, θα μελετήσουμε κάποιες από τις συναρτήσεις

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

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

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 01 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

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

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

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

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα της γλώσσας C, το Dev-C++, το οποίο είναι εφαρμογή που τρέχει

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

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

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

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

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

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

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

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:01. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:01. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Ψηφιακή Σχεδίαση Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:01 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http:

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

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:05. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:05. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Ψηφιακή Σχεδίαση Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:05 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http:

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

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 4: Ρουτίνες καθυστέρησης. [Συγγραφή ρουτίνας καθυστέρησης]

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 4: Ρουτίνες καθυστέρησης. [Συγγραφή ρουτίνας καθυστέρησης] Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών Βοήθημα εκτέλεσης εργαστηριακής άσκησης 4: Ρουτίνες καθυστέρησης Άσκηση 1 (σύνοψη της εκφώνησης) [Συγγραφή ρουτίνας καθυστέρησης] Γράψτε ένα πρόγραμμα

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα για τη γλώσσα C: τον gcc μεταγλωττιστή της C σε περιβάλλον

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

Πληροφορική. Εργαστηριακή Ενότητα 1 η : Εισαγωγή στα Λογιστικά Φύλλα με το MS Excel. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

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

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

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

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

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

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

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

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

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

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

Εργαστήριο 4. Εαρινό Εξάμηνο ΠΡΟΣΟΧΗ: Αρχίστε νωρίς το Εργαστήριο 4. Οι ασκήσεις είναι πιο απαιτητικές από τα προηγούμενα εργαστήρια.

Εργαστήριο 4. Εαρινό Εξάμηνο ΠΡΟΣΟΧΗ: Αρχίστε νωρίς το Εργαστήριο 4. Οι ασκήσεις είναι πιο απαιτητικές από τα προηγούμενα εργαστήρια. Τομέας Υλικού και Αρχιτεκτονικής Υπολογιστών ΗΥ134 - Εισαγωγή στην Οργάνωση και Σχεδίαση Η/Υ 1 Εργαστήριο 4 Εαρινό Εξάμηνο 2012-2013 Στόχοι του εργαστηρίου Χρήση στοίβας Συναρτήσεις ΠΡΟΣΟΧΗ: Αρχίστε νωρίς

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

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

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

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ 4 ο Εξάμηνο Μαδεμλής Ιωάννης MSc Ηλεκτρονικός Φυσικός Αντικείμενο: ΠΡΟΦΙΛ ΜΑΘΗΜΑΤΟΣ Προγραμματισμός σε γλώσσα Assembly Σκοπός: Γνώση της assembly από τους απόφοιτους του τμήματος

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

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο

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

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά

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

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή Δημιουργία Νέου αρχείου Από το μενού προγραμμάτων ανοίγετε το DEV C++ Επιλέγετε File-> New-> Source File (συντόμευση πληκτρολογίου Ctrl+N)

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

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

Ενσωματωμένα Συστήματα Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 9 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

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

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

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

1 ο Εργαστήριο Συντεταγμένες, Χρώματα, Σχήματα

1 ο Εργαστήριο Συντεταγμένες, Χρώματα, Σχήματα 1 ο Εργαστήριο Συντεταγμένες, Χρώματα, Σχήματα 1. Σύστημα Συντεταγμένων Το σύστημα συντεταγμένων που έχουμε συνηθίσει από το σχολείο τοποθετούσε το σημείο (0,0) στο σημείο τομής των δυο αξόνων Χ και Υ.

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

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

Ενσωματωμένα Συστήματα Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 10 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

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

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

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ 4 ο Εξάμηνο Μαδεμλής Ιωάννης ΥΠΟΡΟΥΤΙΝΕΣ ΕΡΓΑΣΤΗΡΙΟ 6 Οι υπορουτίνες αποτελούν αυτόνομα τμήματα κώδικα που διεκπεραιώνουν μία συγκεκριμένη εργασία και μπορούμε να τα καλούμε

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

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

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

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

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

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

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

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

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

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

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

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

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

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

MIPS functions and procedures

MIPS functions and procedures Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης MIPS functions and procedures Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

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

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

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

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

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

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

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΑΝΑΠΤΥΞΗΣ BloodShed Dev-C++

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΑΝΑΠΤΥΞΗΣ BloodShed Dev-C++ ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΑΝΑΠΤΥΞΗΣ BloodShed Dev-C++ Α. ΠΡΙΝ ΤΗΝ ΕΓΚΑΤΑΣΤΑΣΗ Το πρόγραμμα BloodShed Dev-C++ είναι ένα ολοκληρωμένο περιβάλλον ανάπτυξης* κώδικα για γλώσσες

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

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

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

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

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

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

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 3: Εντολές λογικών πράξεων και εντολές κλήσης ρουτινών

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 3: Εντολές λογικών πράξεων και εντολές κλήσης ρουτινών Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών Βοήθημα εκτέλεσης εργαστηριακής άσκησης 3: Εντολές λογικών πράξεων και εντολές κλήσης ρουτινών Άσκηση 1 (σύνοψη της εκφώνησης) [Εκτέλεση λογικών πράξεων]

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

MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual

MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual MILE Simulator Version 1.0 User's Manual Νοέμβριος, 2011 Περιεχόμενα 1. Εισαγωγή στον προσομοιωτή...2 1.1 Εγκατάσταση...2 1.2 Βοήθεια Διευκρινήσεις...2 2. Ξεκινώντας με τον προσομοιωτή...3 2.1 Το memory

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

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ 4 ο Εξάμηνο Μαδεμλής Ιωάννης ΕΡΓΑΣΤΗΡΙΟ 3 ΤΕΙ ΣΕΡΡΩΝ Η ΠΡΑΞΗ ΤΗΣ ΑΦΑΙΡΕΣΗΣ Πράξη 1 1 0 1-0 1 1 0 1 1 1 0 1-0 1 1 0 1Δ 1 1 1 1 0 1 0 1 1 0 1Δ 1 1 1 1 1 0 1 0 1 1 0 0 1 1 1

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

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

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

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

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

Διαδικαστικός Προγραμματισμός

Διαδικαστικός Προγραμματισμός Διαδικαστικός Προγραμματισμός Ενότητα 8: Παραδείγματα με μονοδιάστατους πίνακες, συναρτήσεις, δείκτες, πέρασμα παραμέτρων με αναφορά Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

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

Καταχωρητές & τμήματα μνήμης του Ματθές Δημήτριος Καθηγητής Πληροφορικής

Καταχωρητές & τμήματα μνήμης του Ματθές Δημήτριος Καθηγητής Πληροφορικής Καταχωρητές & τμήματα μνήμης του 8086 Ματθές Δημήτριος Καθηγητής Πληροφορικής Καταχωρητές γενικού σκοπού Υπάρχουν τέσσερις (4) γενικού σκοπού καταχωρητές των 16-bit που χρησιμοποιούνται από τους προγραμματιστές

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

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Αριθμητική Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Δεύτερο Πρόγραμμα 1 / * Second Simple Program : add 2 numbers * / 2

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

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

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:04 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

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

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

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

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

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

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

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Βιβλιογραφία "C Προγραμματισμός", Deitel & Deitel, Πέμπτη Έκδοση, Εκδόσεις

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

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

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

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

Ειδικά Θέματα Προγραμματισμού

Ειδικά Θέματα Προγραμματισμού Ειδικά Θέματα Προγραμματισμού Ενότητα 3: Τύποι Δεδομένων - Τελεστές Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

Δίκτυα Υπολογιστών Ενότητα 10: Ethernet και ARP

Δίκτυα Υπολογιστών Ενότητα 10: Ethernet και ARP Δίκτυα Υπολογιστών Ενότητα 10: Ethernet και ARP Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,

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