Ανάπτυξη Μεθοδολογίας Σχεδιασµού Βέλτιστων Επεξεργαστών Ειδικού Σκοπού ΠΕΝΕ -2003

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

Download "Ανάπτυξη Μεθοδολογίας Σχεδιασµού Βέλτιστων Επεξεργαστών Ειδικού Σκοπού ΠΕΝΕ -2003"

Transcript

1 Ανάπτυξη Μεθοδολογίας Σχεδιασµού Βέλτιστων Επεξεργαστών Ειδικού Σκοπού ΠΕΝΕ Τίτλος: µε Προτυποποίηση σε FPGA Συγγραφείς: Κωδικός: Π 6.1 Έκδοση: 1.0 Τύπος: Εµπιστευτικότητα: Νικόλαος Καββαδίας (Ερευνητής Α.Π.Θ.) Παραδοτέο ηµόσια Ηµεροµηνία: Νοέµβριος 15, 2007 Πρόγραµµα: Λέξεις-Κλειδιά: Πρόλογος: Πρόγραµµα Ενίσχυσης του Ερευνητικού υναµικού (ΠΕΝΕ 2003) επεξεργαστές ειδικού σκοπού, ενσωµατωµένα συστήµατα, επεξεργασία εικόνας, διάταξη πυλών προγραµµατιζόµενου πεδίου, FPGA, εκτίµηση επιδόσεων Αντικείµενο του παραδοτέου αυτού είναι η εφαρµογή της µεθοδολογίας σχεδιασµού των ΕΕΣ για την περίπτωση του σχεδιασµού ASIP για οµάδα εφαρµογών επεξεργασίας εικόνας. ίνεται αναλυτική περιγραφή της δοµής και τρόπου λειτουργίας πρότυπου ενσωµατωµένου συστήµατος επεξεργασίας εικόνας ονόµατι IPCN (Image Processing Computational Node), και καταγράφονται οι λεπτοµέρειες του λογισµικού και του υλικού (ειδικές εντολές) του ASIP. Η ορθή λειτουργία του ενσωµατωµένου συστήµατος IPCN πιστοποιείται α) µε την προσοµοίωση αρχιτεκτονικού µοντέλου των επεξεργαστών ByoRISC σε ArchC, β) µε την προσοµοίωση του RTL VHDL µοντέλου των επεξεργαστών και γ) µε την προτυποποίηση του συστήµατος σε αναπτυξιακή πλακέτα FPGA. Copyright 2007 Νικόλαος Καββαδίας Α.Π.Θ.

2 Ιστορικό Ηµεροµηνία Έκδοση Σχόλια Οκτώβριος 21, Πρώτη πρόχειρη έκδοση Νοέµβριος 15, Τελική έκδοση 2

3 Πίνακας περιεχοµένων Πίνακας περιεχοµένων ΕΙΣΑΓΩΓΗ: ΤΟ ΕΝΣΩΜΑΤΩΜΕΝΟ ΣΥΣΤΗΜΑ IPCN ΑΝΑΛΥΣΗ ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ ΕΦΑΡΜΟΓΩΝ ΤΟΥ IPCN Μίγµα στατικών εντολών (SIMIX) και µίγµα δυναµικών εντολών (DIMIX) Ανάλυση τύπων δεδοµένων Εξαγωγή και χαρακτηρισµός των κρίσιµων βασικών µπλοκ των εφαρµογών Καθορισµός του γενικού αρχιτεκτονικού περιγράµµατος, γέννηση και επιλογή εντολών ΕΚΤΕΛΕΣΗ ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΣΟΜΟΙΩΤΗ ΕΚΤΙΜΗΣΗΣ ΚΥΚΛΟΥ Η ΑΝΑΠΤΥΞΙΑΚH ΠΛΑΚEΤΑ FPGA ΓΙΑ ΤΙΣ ΟΚΙΜEΣ ΤΟΥ ΕΝΣΩΜΑΤΩΜEΝΟΥ ΣΥΣΤHΜΑΤΟΣ ΑΝΑΦΟΡΕΣ

4 1. ΕΙΣΑΓΩΓΗ: ΤΟ ΕΝΣΩΜΑΤΩΜΕΝΟ ΣΥΣΤΗΜΑ IPCN Προκειµένου να επιδειχθεί η χρήση της µεθοδολογίας πάνω σε ρεαλιστικές εφαρµογές, στην ενότητα αυτή αναπτύσσεται και σχεδιάζεται ένας ΕΕΣ µε βάση την αρχιτεκτονική ByoRISC ο οποίος στοχεύει εφαρµογές επεξεργασίας εικόνας. Ο ΕΕΣ είναι υπεύθυνος για το υπολογιστικό µέρος των αρµοδιοτήτων ενός υποθετικού ενσωµατωµένου συστήµατος, το οποίο ονοµάζουµε IPCN (Image Processing Computational Node). Το διάγραµµα βαθµίδων ενός συστήµατος IPCN απεικονίζεται στο Σχήµα 1.1. Σύµφωνα µε το Σχήµα 1.1, το IPCN αποτελείται από έναν αισθητήρα εικόνας (image sensor) τεχνολογίας CMOS ο οποίος καταγράφει εικόνες από το περιβάλλον σε ανάλυση MSIZE NSIZE 1. Το IPCN έχει δυνατότητα για full-duplex ασύρµατη επικοινωνία µε σταθµό βάσης από τον οποίο µπορεί να λάβει και στον οποίο µπορεί να στείλει δεδοµένα εικόνας (σειρές εικονοστοιχείων) σε µορφή πακέτων. Στο σταθµό βάσης γίνεται η απεικόνιση των δεδοµένων, τα οποία έχει συλλέξει το IPCN από το περιβάλλον, σε έγχρωµη οθόνη τεχνολογίας VGA/CRT ή LCD. Στην ενότητα αυτή εστιάζουµε στις υπολογιστικές δυνατότητες του IPCN και δεν εξετάζονται διεξοδικά το υποσύστηµα του αισθητήρα, το πρωτόκολλο επικοινωνίας µε το σταθµό βάσης και τα χαρακτηριστικά του καναλιού επικοινωνίας. Σχήµα 1.1: Το ενσωµατωµένο σύστηµα IPCN για επεξεργασία εικόνας. Σε περιπτώσεις όπου η αποστολή όλων των δεδοµένων από το IPCN δεν κρίνεται απαραίτητη κυρίως για λόγους χρόνου µετάδοσης και κατανάλωσης ισχύος (εφόσον η λειτουργία του βασίζεται σε φορητή πηγή ενέργειας), είναι αναγκαίο να δύναται να επεξεργαστεί τα δεδοµένα τα οποία έχει συλλέξει ώστε να αποστέλλει µόνο ότι απαιτείται στο σταθµό βάσης. Για το λόγο αυτό, αλλά και για να µπορεί να λαµβάνει εντολές αλλά και δεδοµένα εικόνας όπως για σύγκριση, είναι αναγκαίο να µπορεί να εξυπηρετήσει ένα σύνολο εφαρµογών, επιτυγχάνοντας επαρκείς επιδόσεις. Επίσης, καθώς η αποστολή/λήψη δεδοµένων από το IPCN γίνεται µε ασύρµατο τρόπο, θα πρέπει να υποστηρίζει κάποια 1 Τυπικές αναλύσεις που θα θεωρήσουµε από εδώ και στο εξής είναι οι: 64 64, , , και 512x480. 4

5 τεχνική κρυπτογράφησης και ανάκτησης δεδοµένων για την ασφάλεια των δεδοµένων από ανεπιθύµητους παραλήπτες. Το ενσωµατωµένο λογισµικό του IPCN αποτελείται από ένα πολύ βασικό RTOS, το οποίο χειρίζεται τις χρονοθυρίδες εξυπηρέτησης του λογισµικού εφαρµογών το οποίο αποτελείται από εφαρµογές επεξεργασίας εικόνας, συµπίεσης/ αποσυµπίεσης δεδοµένων και κρυπτογράφησης/ αποκρυπτογράφησης δεδοµένων. Συγκεκριµένα στο IPCN εκτελούνται οι εφαρµογές: fsdither: διτονική απόδοση εικόνας κατά Floyd-Steinberg για τη µείωση των επιπέδων του γκρι σε µια greyscale εικόνα από 256 σε 2 [EEMBC]. Ο fsdither πλεονεκτεί σε σχέση µε µια απλή εφαρµογή επιβολής κατωφλίου (image thresholding) καθώς εξασφαλίζει την προσέγγιση της αρχής χρωµατικής απόδοσης µε τεχνική διάχυσης σφαλµάτων (error diffusion). hilcurv: παραµετρική γεννήτρια καµπυλών Hilbert. Οι καµπύλες Hilbert ανήκουν στην κατηγορία των καµπυλών πλήρωσης χώρου και η χρήση τους που ενδιαφέρει εδώ είναι η παραγωγή εικόνων δοκιµής για τον έλεγχο λειτουργίας της συσκευής IPCN. htpack: η εφαρµογή htpack (halftone packer) συµπιέζει µη-απωλεστικά µια διτονική εικόνα (οι RGB κωδικοποιήσεις των δύο θεωρούµενων τόνων µπορούν να προγραµµατιστούν) κατά 8 φορές. O αλγόριθµος htpack στοιβάζει 8 ψηφία ανά byte συµπιεσµένων δεδοµένων καθώς οι δύο τόνοι µπορούν να αποδοθούν από ένα µόνο bit. Στην πράξη χρησιµοποιούµε την htpack για τη συµπίεση µιας greyscale εικόνας στην οποία έχει πρώτα εφαρµοστεί η fsdither. htunpack: η εφαρµογή htunpack (halftone unpacker) αποσυµπιέζει µια διτονική εικόνα η οποία έχει προηγουµένως συµπιεστεί από την htpack. Όπως και στην htpack, οι κωδικοποιήσεις RGB των δύο θεωρούµενων τόνων µπορούν να προγραµµατιστούν και ακόµη να είναι και διαφορετικές από αυτές της htpack. O htunpack αποσυµπιέζει 8 εικονοστοιχεία ανά byte συµπιεσµένων δεδοµένων. xteaenc: εφαρµογή κρυπτογράφησης κατά τον αλγόριθµο XTEA (extended Tiny Encryption Algorithm) [Nee97]. Ο κωδικοποιητής XTEA είναι τύπου block cipher µε µήκος κλειδιού 128 bit και µέγεθος µπλοκ 64 bit. Χρησιµοποιεί δοµή δικτύου Feistel και ο αριθµός των χρησιµοποιούµενων γύρων είναι ίσος µε 32 (64 γύροι Feistel). Ο αλγόριθµος προτάθηκε από τους D. Wheeler και R. Needham για την αντιµετώπιση των αδυναµιών του προγενέστερου TEA. Ο XTEA επιλέχθηκε καθώς α) δεν υπόκειται σε καθεστώς πατέντας (ανήκει στο δηµόσιο πεδίο και µπορεί να χρησιµοποιηθεί από τον οποιονδήποτε), β) λόγω του πολύ µικρού µεγέθους του και ιδιαίτερα των περιορισµένων απαιτήσεών του σε RAM και γ) δεν έχει κρυπταναλυθεί πλήρως, άρα προσφέρει κάποια αξιοπιστία στην ασφάλεια δεδοµένων. Μέχρι σήµερα έχουν δηµοσιευτεί αναφορές επιτυχούς µερικής µόνο (26 από τους 64 γύρους) κρυπτανάλυσης του XTEA [Nee97]. xteadec: εφαρµογή αποκρυπτογράφησης κατά τον αλγόριθµο XTEA. Η λειτουργία του αποκωδικοποιητή είναι σχεδόν συµµετρική µε αυτή του κωδικοποιητή. Μία περίπτωση χρήσης του IPCN σε ρεαλιστικές συνθήκες σκιαγραφείται στο Σχήµα 2.2. Ο αισθητήρας εικόνας καταγράφει µια εικόνα ανάλυσης εικονοστοιχείων από το περιβάλλον. Στη συνέχεια, η εικόνα υπόκειται εντός του ΕΕΣ σε επεξεργασία διτονικής απόδοσης, µη-απωλεστική συµπίεση (halftone packing) και κρυπτογράφηση κατά τον αλγόριθµο XTEA. Στη συνέχεια, τα δεδοµένα της συµπιεσµένης και κρυπτογραφηµένης εικόνας µπορούν να σταλούν στο σταθµό βάσης. 5

6 Σχήµα 1.2: Περίπτωση χρήσης του IPCN για επεξεργασία, συµπίεση και κρυπτογράφηση δεδοµένων εικόνας. Το ζητούµενο είναι η ανάδειξη των ειδικών εντολών για το σχεδιασµό των κατάλληλων ΕΛΜ για τον επεξεργαστή ΕΕΣ του IPCN ώστε την επιτάχυνση των εφαρµογών κατά το περισσότερο δυνατό. Τα χαρακτηριστικά και οι περιορισµοί του IPCN δίνονται στον Πίνακα 1.1. Πίνακας 1.1: Χαρακτηριστικά και περιορισµοί του IPCN. Παράµετρος Περιγραφή Τιµή IMEMSIZE Μνήµη προγράµµατος 8ΚΒ DMEMSIZE Μνήµη δεδοµένων 8KB-1MB ASIC_AREA FPGA_AREA Συνολική επιφάνεια ολοκληρωµένου για υλοποίηση σε τεχνολογία ASIC Συνολική επιφάνεια ολοκληρωµένου για υλοποίηση σε τεχνολογία FPGA επιπλέον 100,000µm 2 του βασικού ByoRISC 50% της επιφάνειας του XC3S ΑΝΑΛΥΣΗ ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ ΕΦΑΡΜΟΓΩΝ ΤΟΥ IPCN Σύµφωνα µε τη µεθοδολογία, το πρώτο βήµα στη διαδικασία ανάπτυξης και σχεδιασµού του ΕΕΣ αποτελεί η ανάλυση των εφαρµογών του ενδιαφέροντος, των οποίων τα γενικά χαρακτηριστικά συνοψίζονται στον Πίνακα 2.1. Ο µεταγλωττιστής που χρησιµοποιήθηκε είναι ο MachSUIF στοχεύοντας την αρχιτεκτονική SUIFvm (IR), ενώ οι εφαρµογές καταγράφηκαν και σε γλώσσα συµβολοµεταφραστή (ASM), πραγµατοποιώντας χειροκίνητα τα βήµατα ενός backend µεταγλωττιστή. Ο θεωρούµενος επεξεργαστής για τις αντίστοιχες µέτρησεις πάνω σε κώδικα συµβολοµεταφραστή είναι η βασική αρχιτεκτονική ByoRISC. Για τη µεταγλώττιση υπό τον MachSUIF χρησιµοποιήθηκαν τα περάσµατα βελτιστοποίησης: ifconversion, lcse, cfg2ssa, ssa2cfg, peep, peepdeux, cplx_locate, strength_reduct, και έγινε πολλαπλή χρήση του dce. Πίνακας 2.1: Γενικά χαρακτηριστικά του λογισµικού εφαρµογών του IPCN. Εφαρµογή Αναφορά # εντολών # εντολών # ΒΒ (IR) # ΒΒ (IR) (ASM) (ASM) υναµικές εντολές (ASM) Κύκλοι εκτέλεσης (IR)* Κύκλοι εκτέλεσης (ASM) 6

7 fsdither [EEMBC] hilcurv [War02] htpack htunpack xteaenc [Nee97] xteadec [Nee97] Ο πηγαίος κώδικας για τις 6 εφαρµογές του ενδιαφέροντος δίνεται από τους Κώδικες 2.1.α ως 2.1.στ, µε τη σειρά που αναφέρονται οι εφαρµογές στον Πίνακα 2.1, αντίστοιχα. Κοινό χαρακτηριστικό των εφαρµογών είναι ότι αποτελούνται κυρίως από απλά ή διπλά πλήρως φωλιασµένους βρόχους. void fsdither( threshold) int i,j; int error; int x,q; for (i=0; i<nsize; i++) for (j=0; j<msize; j++) source_word[i*msize+j] = source[i*msize+j]; for (i=0; i<nsize; i++) for (j=0; j<msize; j++) x = source_word[i*msize+j]; dest[i*msize+j] = ((x > threshold-1)? 0xff : 0x00); q = dest[i*msize+j]; error = x - q; source_word[i*msize+(j+1) ] += (error * 7) >> 4; source_word[(i+1)*msize+(j-1)] += (error * 3) >> 4; source_word[(i+1)*msize+(j )] += (error * 5) >> 4; source_word[(i+1)*msize+(j+1)] += (error ) >> 4; (α) fsdither. for (s = 0; s < N; s++) state = 0; x = 0; y = 0; for (i = 2*n - 2; i >= 0; i -= 2) row = (state << 2) (s >> i) & 3; x = (x << 1) (0x936C >> row) & 1; y = (y << 1) (0x39C6 >> row) & 1; state = (0x3E6B94C1 >> (row << 1)) & 3; dest[x*msize+y] = 0xFF; (β) hilcurv. 7

8 void htpack( one, zero) i; temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7; temp0_or, temp1_or, temp2_or, temp3_or, temp4_or, temp5_or, temp6_or, temp7_or; temp_val; base_addr; for (i=0; i<nsize*msize/8; i++) base_addr = 8*i; temp_val = 0x00; temp0 = source[base_addr ]; temp1 = source[base_addr+1]; temp2 = source[base_addr+2]; temp3 = source[base_addr+3]; temp4 = source[base_addr+4]; temp5 = source[base_addr+5]; temp6 = source[base_addr+6]; temp7 = source[base_addr+7]; if (temp0 == one) temp0_or = (1 << 0); else temp0_or = (0 << 0); if (temp1 == one) temp1_or = (1 << 1); else temp1_or = (0 << 1); if (temp2 == one) temp2_or = (1 << 2); else temp2_or = (0 << 2); if (temp3 == one) temp3_or = (1 << 3); else temp3_or = (0 << 3); if (temp4 == one) temp4_or = (1 << 4); else temp4_or = (0 << 4); if (temp5 == one) temp5_or = (1 << 5); else 8

9 temp5_or = (0 << 5); if (temp6 == one) temp6_or = (1 << 6); else temp6_or = (0 << 6); if (temp7 == one) temp7_or = (1 << 7); else temp7_or = (0 << 7); temp_val = temp0_or temp1_or temp2_or temp3_or temp4_or temp5_or temp6_or temp7_or; dest[i] = temp_val; (γ) htpack. void htunpack( one, zero) i; temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7; cond0, cond1, cond2, cond3, cond4, cond5, cond6, cond7; temps0, temps1, temps2, temps3, temps4, temps5, temps6, temps7; temp_val; for (i=0; i<nsize*msize/8; i++) temp_val = source[i]; temp0 = (temp_val & 0x01); temp1 = (temp_val & 0x02) >> 1; temp2 = (temp_val & 0x04) >> 2; temp3 = (temp_val & 0x08) >> 3; temp4 = (temp_val & 0x10) >> 4; temp5 = (temp_val & 0x20) >> 5; temp6 = (temp_val & 0x40) >> 6; temp7 = (temp_val & 0x80) >> 7; cond0 = temp0 == 1; cond1 = temp1 == 1; cond2 = temp2 == 1; cond3 = temp3 == 1; cond4 = temp4 == 1; cond5 = temp5 == 1; cond6 = temp6 == 1; cond7 = temp7 == 1; if (cond0) temps0 = one; else temps0 = zero; if (cond1) temps1 = one; else 9

10 temps1 = zero; if (cond2) temps2 = one; else temps2 = zero; if (cond3) temps3 = one; else temps3 = zero; if (cond4) temps4 = one; else temps4 = zero; if (cond5) temps5 = one; else temps5 = zero; if (cond6) temps6 = one; else temps6 = zero; if (cond7) temps7 = one; else temps7 = zero; dest[8*i ] = temps0; dest[8*i+1] = temps1; dest[8*i+2] = temps2; dest[8*i+3] = temps3; dest[8*i+4] = temps4; dest[8*i+5] = temps5; dest[8*i+6] = temps6; dest[8*i+7] = temps7; (δ) htunpack. void encode_xtea( v[2], result[2]) y, z, DELTA; sum; 10

11 i; y = v[0]; z = v[1]; DELTA = 0x9e3779b9; sum = 0; for (i=0; i<n; i++) y += ((z<<4 ^ z>>5) + z) ^ (sum + keystr[sum & 3]); sum += DELTA; z += ((y<<4 ^ y>>5) + y) ^ (sum + keystr[(sum>>11) & 3]); result[0] = y; result[1] = z; (ε) xteaenc. void decode_xtea( v[2], result[2]) y, z, DELTA; unsigned long sum; i; y = v[0]; z = v[1]; DELTA = 0x9e3779b9; sum = DELTA * (N); for (i=0; i<n; i++) z -= ((y<<4 ^ y>>5) + y) ^ (sum + keystr[(sum>>11) & 3]); sum -= DELTA; y -= ((z<<4 ^ z>>5) + z) ^ (sum + keystr[sum & 3]); result[0] = y; result[1] = z; (στ) xteadec. Κώδικας 2.1: Πηγαίος κώδικας για το λογισµικό εφαρµογών του IPCN. Ως source αναφέρονται δεδοµένα τύπου U8, source_word δεδοµ ένα εικόνας τύπου U32 ή S32 για τις εικόνες που δίνονται ως είσοδο στην αντίστοιχη εφαρµογή και dest δεδοµένα τύπου U8 που αντιστοιχούν στην επεξεργασµένη/συµπιεσµένη/κρυπτογραφηµένη εικόνα. Οι διαστάσεις των εικόνων δίνονται σε συνάρτηση µε τα NSIZE και MSIZE που για την εικόνα δοκιµής είναι ίσα µε 64. Ο τύπος δεδοµένων (unsigned) long αντιστοιχεί στον MachSUIF τύπο (U S)32. Η διαδικασία ανάλυσης των εφαρµογών συµπεριλαµβάνει τις παρακάτω ενέργειες οι οποίες και πραγµατοποιούνται πλήρως αυτόµατα µε τη χρήση του εργαλείου YARDstick: εξαγωγή στατικού µίγµατος εντολών εξαγωγή δυναµικού µίγµατος εντολών εξαγωγή δυναµικών εµφανίσεων τύπων δεδοµένων ανάδειξη κρίσιµων βασικών µπλοκ (κατάταξη των βασικών µπλοκ κατά φθίνουσα σειρά αριθµού εκτιµώµενων κύκλων) εξαγωγή γράφων σε απεικονίσεις VCG και Graphviz (dot) για όλα τα βασικά µπλοκ και γράφους ροής ελέγχου (CFG) των εφαρµογών υπό ανάλυση εκτίµηση της µέγιστης και µέσης παραλληλίας βασικών λειτουργιών (εντολές της 11

12 SUIFvm IR) για τα κρίσιµα βασικά µπλοκ (maximum ILP, average ILP) Η διαδικασία (εκτός της εξαγωγής των δεικτών ILP) πραγµατοποιείται σε χρόνο ίσο µε 61 sec µε χρήση προσωπικού υπολογιστή (επεξεργαστής Pentium-4, 2,8 GHz, 368 MB RAM) σε περιβάλλον Cygwin/x86 (έκδοση ). Αξίζει να σηµειωθεί εδώ ότι οι ίδιες ακριβώς αναλύσεις είναι επιλέξιµες και στην περίπτωση ανάλυσης εφαρµογών που είναι υπό µορφή κώδικα συµβολοµεταφραστή Μίγµα στατικών εντολών (SIMIX) και µίγµα δυναµικών εντολών (DIMIX) Στο Σχήµα 2.1 δίνεται το µίγµα στατικών εντολών για την περίπτωση βασικής βελτιστοποίησης µε MachSUIF. Στο Σχήµα 2.2 δίνεται αντίστοιχα το µίγµα δυναµικών εντολών για τον υπολογισµό του οποίου χρησιµοποιήθηκαν οι συχνότητες βασικών µπλοκ για κάθε εφαρµογή. Σχήµα 2.1: Μίγµα στατικών εντολών για το λογισµικό εφαρµογών του IPCN. Ο συµβολισµός cti (control-transfer instructions) χρησιµοποιείται για το άθροισµα των εντολών διακλάδωσης µε (cbr) ή χωρίς (ubr) συνθήκη. Οι λοιπές (other) εντολές συµπεριλαµβάνουν κυρίως λειτουργίες ανάθεσης τύπου (cvt) και φόρτωσης συµβόλου/διεύθυνσης (lda). Σχήµα 2.2: Μίγµα δυναµικών εντολών για το λογισµικό εφαρµογών του IPCN. 12

13 Συνοψίζοντας, από τα αποτελέσµατα του Σχήµατος 2.3 προκύπτει ότι στο µίγµα δυναµικών εντολών κυριαρχούν οι αριθµητικές (arith) εντολές, για σχεδόν όλες τις εφαρµογές, πλην της crc, µε κατά µέσο όρο συνεισφορά 52.7%. Κατά δεύτερο λόγο απαντώνται εντολές προσπέλασης στη µνήµη δεδοµένων (12.13%), ολίσθησης (8.97%), σύγκρισης (7.15%), και διακλάδωσης (5.83%). Το σηµαντικό ποσοστό των «άλλων» (other) εντολών (10.82%) οφείλεται εν µέρει στη συνεισφορά από εντολές ανάθεσης τύπου (CVT). Το ποσοστό των «άλλων» εντολών γενικά περιορίζεται µε τη χρήση του περάσµατος peepdeux, παρουσιάζεται δε αυξηµένο για τις xteaenc και xteadec Ανάλυση τύπων δεδοµένων Αυτό που ενδιαφέρει εδώ είναι να καταγραφεί η αναλογία των δυναµικών εµφανίσεων των διαφόρων τύπων δεδοµένων σε όλη τη διάρκεια µιας εφαρµογής. Στο Σχήµα 2.3 δίνονται αποτελέσµατα ανάλυσης Τ µε τις συνολικές εµφανίσεις τύπων δεδοµένων ανά εφαρµογή. Υπολογίζονται µε άθροιση των επιµέρους εµφανίσεων ανά συνάρτηση (-dt-dynamic-proc). ιαπιστώνουµε ότι οι εφαρµογές χρησιµοποιούν µόνο ακέραιους τύπους δεδοµένων ενώ οι συχνότητες εµφάνισης τύπων δεδοµένων κυριαρχούνται από τους τύπους U32, S32, P32 και U8. Ιδιαίτερα, οι χρήσεις απρόσηµης αριθµητικής φαίνεται ότι είναι σηµαντικά περισσότερες (δυναµικές εµφανίσεις των αντίστοιχων Τ : 72.5%) από τις χρήσεις προσηµασµένης αριθµητικής. (α) 13

14 (β) Σχήµα 2.3: % εµφανίσεις τύπων δεδοµένων σε δυναµικές εντολές ανά εφαρµογή για το λογισµικό εφαρµογών του IPCN. (α) Ανά τύπο δεδοµένων. (β) Με οµαδοποίηση σε απρόσηµους (u+p) και προσηµασµένους ακέραιους (s), κινητής υποδιαστολής (f) και άλλο (v) Εξαγωγή και χαρακτηρισµός των κρίσιµων βασικών µπλοκ των εφαρµογών Για τον προσδιορισµό των κρίσιµων βασικών µπλοκ της εφαρµογής, έγινε κατάταξή τους, σύµφωνα µε τον αριθµό δυναµικών κύκλων (αριθµός στατικών κύκλων ΒΒ συχνότητα εκτέλεσης ΒΒ). Στον Πίνακα 2.2 δίνονται: το όνοµα της εφαρµογής, της υπορουτίνας και ο αύξων αριθµός του κρίσιµου BB ο αριθµός στατικών εντολών του ο αριθµός εκτιµώµενων δυναµικών κύκλων το ποσοστό που καταλαµβάνουν οι κύκλοι εκτέλεσης επί των κύκλων της συνολικής εφαρµογής. Παρατηρώντας την τελευταία στήλη του Πίνακα 2.2 (% κύκλων ΒΒ επί της συνολικής εφαρµογής) διαπιστώνουµε ότι κατά µέσο όρο, το κρισιµότερο βασικό µπλοκ καταλαµβάνει το 95%. Αυτό το ποσοστό είναι ιδιαίτερα υψηλό και οφείλεται στα χαρακτηριστικά των εφαρµογών, και πιο συγκεκριµένα στο ότι υλοποιούν επεξεργασία πάνω σε πολυδιάστατες σειρές δεδοµένων (εικόνες). Επίσης το µέγεθος των βασικών µπλοκ είναι αρκετά µεγάλο (49, το οποίο είναι πολύ πάνω από τη µέση τιµή του ~5 που έχει παρατηρηθεί εµπειρικά για τις εφαρµογές γενικού σκοπού) αλλά αυτό είναι κάτι που καθορίζεται εν µέρει επίσης από τη χρησιµοποιούµενη IR. Η χρήση µετασχηµατισµού if-conversion συνεισφέρει στη συνένωση βασικών µπλοκ µε λειτουργίες προδικασµού (predication) όπως στη περίπτωση αυτή είναι οι εντολές select. Για τον ίδιο λόγο χρησιµοποιούνται και τεχνικές ξετυλίγµατος βρόχων. Πίνακας 2.2: Γενικά χαρακτηριστικά των «κρίσιµων» (hot) βασικών µπλοκ του λογισµικού εφαρµογών του IPCN. Απεικονίζονται τα σηµαντικότερα ΒΒ για κάθε εφαρµογή (λογίζονται ως αυτά που συνεισφέρουν άνω του 5% των συνολικών κύκλων εκτέλεσης). Εφαρµογή Όνοµα υπορουτίνας Αύξων αριθµός ΒΒ Αριθµός εντολών Αριθµός εκτιµώµενων δυναµικών κύκλων % συνολικής εφαρµογής fsdither fsdither

15 fsdither fsdither hilcurv main hilcurv main htpack htpack htunpack htunpack xteaenc encode_xtea xteaenc main xteadec decode_xtea xteadec main Στο σηµείο αυτό, και για την καλύτερη εποπτεία των εφαρµογών του IPCN δίνονται πρώτα στο Σχήµα 2.4 οι CFG για τις συναρτήσεις των εφαρµογών που περιλαµβάνουν τα κρίσιµα βασικά µπλοκ, και έπειτα στο Σχήµα 2.5 οι DDG των 10 κρίσιµων βασικών µπλοκ. (α) fsdither:fsdither. (β) hilcurv:main. (γ) htpack:htpack. 15

16 (δ) htunpack:htunpack. (ε) xteaenc:encode_xtea. (στ) xteaenc:main. (ζ) xteadec:decode_xtea. (η) xteadec:main. Σχήµα 2.4: Οπτικοποιηµένοι γράφοι ροής ελέγχου (CFGs) για συναρτήσεις των εφαρµογών του IPCN οι οποίες περιλαµβάνουν τα κρίσιµα βασικά µπλοκ. Τα ονόµατα των συναρτήσεων κωδικοποιούνται ως εξής: translation-unit:procedure. Μία µονάδα µετάφρασης (translation unit) αντιστοιχεί σε ένα αρχείο πηγαίου κώδικα C και περιλαµβάνει (στην περίπτωσή µας) µια ολόκληρη εφαρµογή. Για τη χρωµατική απόδοση χρησιµοποιούνται οι εξής επιλογές: ψευδοκόµβος πηγής/προορισµού (κόκκινο/διαµάντι), βασικό µπλοκ (πορτοκαλί/διαµάντι). Οι ακµές ελέγχου φέρουν µία από τις ετικέτες u (χωρίς-συνθήκη), t (αληθές) και f (ψευδές). Παρατηρώντας τα CFG του Σχήµατος 2.4 µπορούµε άµεσα να διακρίνουµε τα CFG µε διπλά (περιπτώσεις α,β) και απλά φωλιασµένους βρόχους (γ-η). Σε κάθε περίπτωση σηµειώνονται και οι συµβολικοί κόµβοι πηγής (source) και καταβόθρας (sink) που χρησιµοποιούνται κατά σύµβαση από αλγορίθµους ανάλυσης ροής ελέγχου. Στο Σχήµα 2.4 απεικονίζονται τα DDG για επιλεγµένα βασικά µπλοκ ορισµένων εφαρµογών. Για τη διάταξη και οπτικοποίηση χρησιµοποιείται το λογισµικό VCG. Για την απεικόνιση χρησιµοποιούνται διαφορετικοί χρωµατισµοί και σχήµατα για εντολές, ορίσµατα εισόδου/εξόδου και σταθερές. 16

17 (α) fsdither:fsdither:2. (β) fsdither:fsdither:5. 17

18 (γ) hilcurv:main:3. 18

19 (δ) htpack:htpack:2. 19

20 (ε) htunpack:htunpack:2. 20

21 (στ) xteaenc:encode_xtea:2. (ζ) xteadec:decode_xtea:2. 21

22 Σχήµα 2.5: Οπτικοποιηµένα DDG για επιλεγµένα κρίσιµα βασικά µπλοκ από το λογισµικό εφαρµογών του IPCN. Η διάταξη των γράφων έγινε µε το πρόγραµµα VCG. Η χρωµατική/σχηµατική αποτύπωση γίνεται µε τις εξής επιλογές: εντολές (κίτρινο/έλλειψη), ορίσµατα εισόδου (πράσινο/κατωφερές τρίγωνο), σταθερές (πορφυρό/ρόµβος), ορίσµατα εξόδου (κυανό/ανωφερές τρίγωνο), ετικέτες (γκρι/παραλληλόγραµµο), συµβολικές διευθύνσεις (πράσινο/παραλληλόγραµµο). Στη συνέχεια εξήχθησαν αρχεία iseqinfo για κάθε βασικό µπλοκ ξεχωριστά και έγινε αυτόµατη µετάφραση σε αναπαράσταση CDFG. Τα CDFG αυτά χρονοδροµολογήθηκαν κατά ASAP µε εργαλείο asapalap. Για κάθε ΒΒ µπορούν να υπολογιστούν τα µετρικά: max_ilp, min_csteps, και avg_ilp. Στο Σχήµα 2.6 δίνονται αναλυτικά οι τρεις ποσότητες όπως αυτές υπολογίζονται για τα κρίσιµα βασικά µπλοκ των εφαρµογών που εκτελούνται στον ΕΕΣ του IPCN. Σχήµα 2.6: Χαρακτηριστικά χρονοδροµολόγησης των «κρίσιµων» (hot) βασικών µπλοκ του λογισµικού εφαρµογών του IPCN. Απεικονίζεται η µέγιστη παραλληλία (max_ilp), µέση παραλληλία (avg_ilp), και ελάχιστος αριθµός βηµάτων ελέγχου (min_csteps) για κάθε ΒΒ. Μια παρατήρηση είναι ότι µε εξαίρεση την εφαρµογή fsdither, η µέγιστη χρήσιµη παραλληλία στο υλικό είναι πάνω από 10 το οποίο δείχνει το βαθµό ανεξαρτησίας µεταξύ των αντίστοιχων λειτουργιών που µπορούν να δροµολογηθούν στο ίδιο βήµα ελέγχου Καθορισµός του γενικού αρχιτεκτονικού περιγράµµατος, γέννηση και επιλογή εντολών Στο επόµενο βήµα της µεθοδολογίας γίνεται καθορισµός 2 του αρχιτεκτονικού περιγράµµατος του επεξεργαστή. Το αρχιτεκτονικό περίγραµµα βασίζεται στην αρχιτεκτονική ByoRISC µε τις εξής επισηµάνσεις: δεν χρησιµοποιούνται τοπικοί συνεπεξεργαστές (HAVE_COP=0) δεν χρησιµοποιείται η πρόωρη σηµατοδοσία διακλάδωσης (BRANCH_EARLY=0) ισχύουν οι εξής τιµές παραµέτρων: IMEMSIZE=8KB, DMEMSIZE=8KB (στον 2 Για τον οποίο θα µπορούσε να διεξαχθεί και διερεύνηση του πολυδιάστατου αρχιτεκτονικού πεδίου λύσεων µε αποτίµηση καµπυλών Pareto. 22

23 προσοµοιωτή εκτίµησης κύκλων µπορούν να ρυθµιστούν µέχρι τα αρκετά MB), OW=8, RAW=8 Οι παράµετροι NRP, NWP θα καθοριστούν από τα αποτελέσµατα του επόµενου σταδίου της µεθοδολογίας (γένεση ειδικών εντολών). OPTIONAL_LS=1 καθώς χρησιµοποιούνται και άλλοι τύποι δεδοµένων πλην των [U S P]32. OPTIONAL_DIV=0. Για τη διαδικασία της γέννησης και επιλογής ειδικών εντολών, όλες οι CTI εντολές (-forbid beqz bnez j jr jal) έχουν αποκλειστεί από τη συµπερίληψή τους σε ειδικές εντολές για τον ByoRISC. Στη συνέχεια και κάτω από τις παραπάνω προϋποθέσεις, χρησιµοποιείται το εργαλείο YARDstick [Kav07] για τη γέννηση και επιλογή MIMO εντολών. Ο αντίστοιχος αλγόριθµος χρησιµοποιεί αναδροµική αναζήτηση πάνω σε δυαδικό δένδρο αποφάσεων, για το αν πρέπει να συµπεριληφθεί ή όχι ο τρέχων κόµβος ενός βασικού µπλοκ σε ειδική εντολή [Poz06], κάνοντας όµως χρήση µιας γρήγορης ευρεστικής τεχνικής, παρόµοιας µε αυτή της εργασίας [Pot07]. Για την ενεργοποίηση του αλγορίθµου χρησιµοποιούνται οι επιλογές (- mimo -fast). Εντός των βασικών µπλοκ, οι κόµβοι δροµολογούνται µε τοπολογική ταξινόµηση (-topsort). Για τη γέννηση ειδικών εντολών τύπου MIMO µπορεί να χρησιµοποιηθεί και ο αλγόριθµος γραµµικής πολυπλοκότητας του παραδοτέου Π4.1. Τα εξαγόµενα ΜΙΜΟ µοτίβα φιλτράρονται µέσω ελέγχων ισοµορφισµών γράφου (- isomorph-vf2) για την αποµάκρυνση των πλεοναζόντων µοτίβων για τα οποία έχουν ήδη αναγνωριστεί ισοµορφικά τους. Για την επιλογή ειδικών εντολών χρησιµοποιείται ένας άπληστος επιλογέας (-iselect-cycgain-greedy-fastexit) για τη συνάρτηση προτεραιότητας κέρδους κύκλων. Η διερεύνηση διεξάγεται για δύο διαφορετικά µοντέλα προσπέλασης στη µνήµη δεδοµένων: Το µοντέλο συνεπούς µνήµης δεδοµένων, όπου η ΕΛΜ προσπελαύνει άµεσα τη µνήµη δεδοµένων για το οποίο κάνουµε τη συντηρητική υπόθεση ότι οι εντολές φόρτωσης και αποθήκευσης πρέπει πάντοτε να είναι σε σειρά (-memmodel 0). Η εκδοχή αυτή σηµειώνεται µε CDM. Το µοντέλο ιδανικής συνεπούς µνήµης ΕΛΜ, όπου κάθε φόρτωση/αποθήκευση προς/από τη µνήµη δεδοµένων µετασχηµατίζεται σε διαφανή προσπέλαση στην τοπική µνήµη ΕΛΜ (-memmodel 1). Η εκδοχή αυτή σηµειώνεται µε idealcam. Τα αποτελέσµατα της διερεύνησης των διαφορετικών µοντέλων προσπέλασης µνήµης δεδοµένων για ενδεικτικούς συνδυασµούς αριθµού έντελων εισόδου/εξόδου (N i /N o ) δίνονται στο Σχήµα 2.7 για τις 6 εφαρµογές του IPCN. Στον Πίνακα 2.3 δίνονται αναλυτικά οι µετρήσεις των σχετικών επιταχύνσεων για τις ίδιες εφαρµογές και στον Πίνακα 2.4 δίνεται η αυξητική επιτάχυνση για τις ειδικές εντολές µε τη σηµαντικότερη συνεισφορά, όπως αυτές προκύπτουν από την επιλογή ειδικών εντολών. 23

24 (α) fsdither. (β) hilcurv. (γ) htpack. 24

25 (δ) htunpack. (ε) xteaenc. (στ) xteadec. Σχήµα 2.7: Επίδραση των προσπελάσεων στη µνήµη δεδοµένων πάνω στην επιτάχυνση εφαρµογής που οφείλεται στις ειδικές εντολές. Οι προσπελάσεις στη µνήµη δεδοµένων απαιτούν επιβάρυνση ενός κύκλου µηχανής. Πίνακας 2.3: Οι εκτιµήσεις που ελήφθησαν µε το YARDstick για την επιτάχυνση εφαρµογών λόγω της χρήσης των εξαγόµενων ειδικών εντολών για το λογισµικό εφαρµογών του IPCN. 25

26 Παράµετρος Εφαρµογή N i N o MemModel fsdither hilcurv htpack htunpack xteaenc xteadec 2 1 idealcam CDM idealcam CDM idealcam CDM idealcam CDM idealcam CDM idealcam CDM idealcam CDM idealcam CDM idealcam CDM idealcam CDM Πίνακας 2.4: Αυξητική επιτάχυνση εφαρµογών λόγω των ειδικών εντολών για την περίπτωση N i /N o = 8/8 και MemModel=CDM. Κατάταξη ειδικής εντολής Εφαρµογή (κατά φθίνουσα σειρά σηµαντικότητας) fsdither hilcurv htpack htunpack xteaenc xteadec 1η ειδική εντολή η ειδική εντολή ΝΑ ΝΑ

27 Πίνακας 2.5: Χαρακτηριστικά των κυριότερων ειδικών εντολών όπως αυτές προέκυψαν για το λογισµικό εφαρµογών του IPCN. Εφαρµογή Χαρακτηριστικά DDG ειδικής εντολής Κωδικοποίηση ειδικής εντολής N n N e N i N o N s N c fsdither fsdither_cfg0_bb5_ise8 fsdither hilcurv htpack htunpack xteaenc xteadec Κέρδος κύκλων Αυξητική επιτάχυνση εφαρµογής Κύκλοι SW Κύκλοι HW Εκτίµηση χρόνου HW Επιφάνεια υλικού (MAU) fsdither_cfg0_bb2_ise main_cfg0_bb3_ise htpack_cfg0_bb2_ise htunpack_cfg0_bb2_ise encode_xtea_cfg0_bb2_ise decode_xtea_cfg0_bb2_ise

28 Όπως προκύπτει από τα αποτελέσµατα, ένας αριθµός N i /N o = 8/8 επαρκεί για την κάλυψη του 92% της µέγιστης ασυµπτωτικά επιτάχυνσης εφαρµογής για την περίπτωση απεριόριστων εισόδων και εξόδων για τις ειδικές εντολές. Μάλιστα για 5 από τις 6 εφαρµογές, η διαφορά αυτή είναι µικρότερη από το 2.5% από το ιδανικό και µόνο για την htunpack είναι αξιοσηµείωτη (περίπου 44%). Συνεπώς, για τη θεωρούµενη υλοποίηση ByoRISC δεχόµαστε ότι NRP=NWP=8. Αντίθετα, η αντίστοιχη διαφορά ανάµεσα στις περιπτώσεις 8/4 και 8/8 είναι της τάξης του 28%. Επίσης, η σύγκριση των µοντέλων προσπέλασης µνήµης δεδοµένων αναδεικνύει την επίδραση των πραγµατικών περιορισµών µιας µονάδας φόρτωσης/αποθήκευσης, οι οποίοι υφίστανται σε έναν µοντέρνο επεξεργαστή RISC. Η µέση διαφορά στις µέγιστες επιτυγχανόµενες επιταχύνσεις ανάµεσα στα δύο µοντέλα είναι ίση µε 14.5% µε τις εφαρµογές xteaenc, xteadec να παρουσιάζουν την µεγαλύτερη απόκλιση (38.75%). Επίσης (Πίνακας 2.4) για όλες τις εφαρµογές επαρκούν 2 ειδικές εντολές για την κάλυψη του 96.6% της µέγιστης επιτάχυνσης για το µοντέλο προσπέλασης µνήµης CDM και κάτι αντίστοιχο ισχύει και για την περίπτωση του µοντέλου idealcam (96.5%). Τα αναλυτικά στοιχεία για τις 7 σηµαντικότερες από τις 10 ειδικές εντολές του Πίνακα 2.4 οι οποίες αναδείχθηκαν µε τη διαδικασία της γέννησης και επιλογής ειδικών εντολών δίνονται στον Πίνακα 2.5. Οι ειδικές εντολές επιλέχθηκαν ώστε να συνεισφέρουν (αθροιστικά) τουλάχιστον το 80% των επιταχύνσεων σύµφωνα µε την κατάταξη του Πίνακα 2.4. Καθώς οι ειδικές εντολές (εκτός της 2 ης του Πίνακα 2.5) απαιτούν εκτέλεση πολλαπλών κύκλων µε συµπερίληψη λειτουργιών φόρτωσης και αποθήκευσης, τα στάδια EX και MEM του επεξεργαστή ByoRISC θα πρέπει να επιτρέπουν λειτουργία πολλαπλών κύκλων µε ακινητοποίηση των προηγηθέντων σταδίων διοχέτευσης. Στο Σχήµα 2.8 απεικονίζονται τα DDG των ειδικών εντολών που αναφέρονται στον Πίνακα 2.5. (α) fsdither_cfg0_bb2_ise2

ΑΣΚΗΣΗ 2: Σχεδίαση και προσομοίωση κυκλωμάτων καταχωρητών και μετρητών

ΑΣΚΗΣΗ 2: Σχεδίαση και προσομοίωση κυκλωμάτων καταχωρητών και μετρητών ΑΣΚΗΣΗ 2: Σχεδίαση και προσομοίωση κυκλωμάτων καταχωρητών και μετρητών Θέμα Β.1: Απλός καταχωρητής 1 bit (D Flip-Flop) preset D D Q Q clk clear Σχήμα 2.1: D Flip-Flop με εισόδους preset και clear Με τη

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

Περιγραφή Κυκλωμάτων με χρήση της VHDL. Δομική περιγραφή και περιγραφή Μηχανών Πεπερασμένων Καταστάσεων

Περιγραφή Κυκλωμάτων με χρήση της VHDL. Δομική περιγραφή και περιγραφή Μηχανών Πεπερασμένων Καταστάσεων Περιγραφή Κυκλωμάτων με χρήση της VHDL Δομική περιγραφή και περιγραφή Μηχανών Πεπερασμένων Καταστάσεων Οργάνωση Παρουσίασης Περιγραφή Δομής σε VHDL (Structural Description) Μηχανές Πεπερασμένων Καταστάσεων

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

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Καταχωρητές 1

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Καταχωρητές 1 ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Καταχωρητές Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Περίληψη Καταχωρητές Παράλληλης Φόρτωσης Καταχωρητές

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

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ι Γ. Τσιατούχας 2 ο Κεφάλαιο ιάρθρωση 1. Οργάνωση της 2. εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο

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

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή Εισαγωγή Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ Σκοπός του εργαστηρίου είναι να γνωρίσουµε την εσωτερική δοµή και αρχιτεκτονική της κεντρικής µονάδας επεξεργασίας, να κατανοήσουµε τον τρόπο µε τον οποίο λειτουργεί

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

Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ.

Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ. ΤΕΙ ΚΡΗΤΗΣ / ΠΑΡΑΡΤΗΜΑ ΧΑΝΙΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ mode mode(0) ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Εµµανουήλ Καπαρού Επιβλέπων : ρ Μηχ Νικόλαος

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

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος Εισαγωγή στους Αλγόριθµους Αλγόριθµοι Τι είναι αλγόριθµος; Τι µπορεί να υπολογίσει ένας αλγόριθµος; Πως αξιολογείται ένας αλγόριθµος; Παύλος Εφραιµίδης pefraimi@ee.duth.gr Αλγόριθµοι Εισαγωγικές Έννοιες

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

ΛΥΣΕΙΣ 3 ης ΓΡΑΠΤΗΣ ΕΡΓΑΣΙΑΣ

ΛΥΣΕΙΣ 3 ης ΓΡΑΠΤΗΣ ΕΡΓΑΣΙΑΣ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗ ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΕΡΓΑΣΤΗΡΙΟ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΛΥΣΕΙΣ 3 ης ΓΡΑΠΤΗΣ ΕΡΓΑΣΙΑΣ ΠΑΤΡΑ 2006 9.

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

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Σχεδίαση datapath Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη μνήμη (lw,

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

Εικόνες και γραφικά. Τεχνολογία Πολυµέσων 05-1

Εικόνες και γραφικά. Τεχνολογία Πολυµέσων 05-1 Εικόνες και γραφικά Περιγραφή στατικών εικόνων Αναπαράσταση γραφικών Υλικό γραφικών Dithering και anti-aliasing Σύνθεση εικόνας Ανάλυση εικόνας Μετάδοση εικόνας Τεχνολογία Πολυµέσων 05-1 Περιγραφή στατικών

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3

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

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

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους; Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) (Δομή Εντολών και Παραδείγματα) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης Αρχιτεκτονική

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

Εισαγωγή στη γλώσσα VHDL

Εισαγωγή στη γλώσσα VHDL (document version 1.2) Ιωάννης Α. Καλόµοιρος Εισαγωγή στη γλώσσα VHDL Τεχνολογικό Εκπαιδευτικό Ίδρυµα Σερρών, Τµήµα Πληροφορικής και Επικοινωνιών, 2012 Το σύγγραµµα αυτό προορίζεται αποκλειστικά για χρήση

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

Περιεχόµενα. I Βασικές Γνώσεις 1

Περιεχόµενα. I Βασικές Γνώσεις 1 Περιεχόµενα I Βασικές Γνώσεις 1 1 Μοντελοποίηση Προγραµµάτων 3 1.1 Ψευδογλώσσα....................... 6 1.2 Διαγράµµατα Ροής..................... 6 1.3 Παραδείγµατα σε Ψευδογλώσσα και Διαγράµµατα Ροής.

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

Ψηφιακά ολοκληρωμένα κυκλώματα

Ψηφιακά ολοκληρωμένα κυκλώματα Ψηφιακά ολοκληρωμένα κυκλώματα Εισαγωγή Γιώργος Δημητρακόπουλος Δημοκρίτειο Πανεπιστήμιο Θράκης Φθινόπωρο 2013 Ψηφιακά ολοκληρωμένα κυκλώματα 1 O κόσμος των ηλεκτρονικών... Ψηφιακά ολοκληρωμένα κυκλώματα

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly Αρης Ευθυμίου Το σημερινό μάθημα! Σύνταξη εντολών! Θέματα σχετικά με τη προσπέλαση, οργάνωση μνήμης διευθύνση για κάθε byte διευθύνσεις λέξεων

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

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου J-GANNO ΓΕΝΙΚΕΥΜΕΝΟ ΠΑΚΕΤΟ ΥΛΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΙΚΤΥΩΝ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ JAVA Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β,

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

Ενςωματωμένα Συςτήματα Υλοποίηςη του SDES ςε Hardware

Ενςωματωμένα Συςτήματα Υλοποίηςη του SDES ςε Hardware Ενςωματωμένα Συςτήματα Υλοποίηςη του SDES ςε Hardware June 1 2012 Κεχαγιάσ Απόςτολοσ ΑΕΜ:134 Table of Contents O αλγόριθμοσ... 2 Υλοποίηςη ςε Hardware... 7 Xρονιςμόσ ςημάτων VGA... 12 Επαλήθευςη... 14

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

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

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

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

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

Βασικά Στοιχεία της Java

Βασικά Στοιχεία της Java Βασικά Στοιχεία της Java Παύλος Εφραιμίδης Java Βασικά Στοιχεία της γλώσσας Java 1 Τύποι Δεδομένων Η Java έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) τύπους δεδομένων αναφορές Java Βασικά

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

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

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

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

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

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

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

ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων. Βιβλιογραφία Ενότητας

ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων. Βιβλιογραφία Ενότητας ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Βελτιστοποίηση κώδικα σε επεξεργαστές ΨΕΣ Τµήµα Επιστήµη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήµιο Πελοποννήσου Βιβλιογραφία Ενότητας Kehtarnavaz [2005]: Chapter

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

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2)

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2) Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Οργάνωση Προγράµµατος Header Files Μετάφραση και σύνδεση αρχείων προγράµµατος ΕΠΛ 132 Αρχές Προγραµµατισµού

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

8.1 Θεωρητική εισαγωγή

8.1 Θεωρητική εισαγωγή ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 8 ΣΤΟΙΧΕΙΑ ΜΝΗΜΗΣ ΚΑΤΑΧΩΡΗΤΕΣ Σκοπός: Η µελέτη της λειτουργίας των καταχωρητών. Θα υλοποιηθεί ένας απλός στατικός καταχωρητής 4-bit µε Flip-Flop τύπου D και θα µελετηθεί

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

Σύγχρονες Αρχιτεκτονικές Υπολογιστών

Σύγχρονες Αρχιτεκτονικές Υπολογιστών ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ Σύγχρονες Αρχιτεκτονικές Υπολογιστών ΑΚΑ ΗΜΑΪΚΟ ΕΤΟΣ 2014-2015 Αρχιτεκτονική Συνόλου Εντολών (Instruction Set Architecture-ISA) 1 Ένας υπολογιστής

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

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

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

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

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

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

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

Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ

Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Εισαγωγή Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Σκοπός του εργαστηρίου είναι να κατανοήσουµε τους τρόπους προσπέλασης της µνήµης (µέθοδοι διευθυνσιοδότησης) σε ένα υπολογιστικό σύστηµα. Η Μνήµη 1 Ψηφιακή Λογική 4

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

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAVIS-V1-2012 TRAVIS Λογισμικό Διαχείρισης Παραβάσεων Φωτοεπισήμανσης Το σύστημα διαχείρισης παραβάσεων φωτοεπισήμανσης

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

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ Βιβλιογραφία Ενότητας Kehtarnavaz [2005]: Chapter 3 Kuo [2005]: Chapters 1 & 4-5 Lapsley [2002]: Chapter 4 Hayes [2000]: Κεφάλαιo 8

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

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

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

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

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων 2.1 Αρχιτεκτονική Υπολογιστών 2.1 Αρχιτεκτονική Υπολογιστών 2.2 Γλώσσα Μηχανής 2.3 Εκτέλεση προγράµµατος 2.4 Αριθµητικές και λογικές εντολές 2.5 Επικοινωνία µε άλλες συσκευές

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

ΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση

ΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση ΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση Αρης Ευθυμίου Απόδοση απλής υλοποίησης Υλοποίηση ενός κύκλου είναι πολύ αργή κάθε κύκλος είναι τόσο μεγάλος όσο χρειάζεται

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

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

Εισαγωγή στην Πληροφορική Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή στην Πληροφορική 1 Γενικές πληροφορίες Εισαγωγή στην Πληροφορική ιδασκαλία: Παναγιώτης Χατζηδούκας Email:

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

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

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεµατική Ενότητα ΠΛΗ 21: Ψηφιακά Συστήµατα Ακαδηµαϊκό Έτος 2009 2010 Γραπτή Εργασία #3 Παράδοση: 28 Μαρτίου 2010 Άσκηση 1 (15 µονάδες) Ένας επεξεργαστής υποστηρίζει τόσο

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,

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

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

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

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

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 1.3-1.4: Εισαγωγή Στον Προγραµµατισµό ( ιάλεξη 2) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Περιεχόµενα Εισαγωγικές Έννοιες - Ορισµοί Ο κύκλος ανάπτυξης προγράµµατος Παραδείγµατα Πότε χρησιµοποιούµε υπολογιστή?

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

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

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

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

a = 10; a = k; int a,b,c; a = b = c = 10;

a = 10; a = k; int a,b,c; a = b = c = 10; C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 4 ο Τελεστές Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Ο τελεστής εκχώρησης = Ο τελεστής = χρησιµοποιείται για την απόδοση τιµής (ή αλλιώς ανάθεση τιµής) σε µία µεταβλητή Π.χ.

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

ΒΑΣΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ. Τίτλος Μαθήματος. Διαλέξεις - Θεωρητική Διδασκαλία, Εποπτευόμενο Εργαστήριο Επίδειξη, Μελέτες (Projects)

ΒΑΣΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ. Τίτλος Μαθήματος. Διαλέξεις - Θεωρητική Διδασκαλία, Εποπτευόμενο Εργαστήριο Επίδειξη, Μελέτες (Projects) ΒΑΣΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ Τίτλος Μαθήματος Μικροελεγκτές και Ενσωματωμένα συστήματα Ανάπτυξη και Εφαρμογές Κωδικός Μαθήματος Μ2 Θεωρία / Εργαστήριο Θεωρία + Εργαστήριο Πιστωτικές μονάδες 4 Ώρες Διδασκαλίας 2Θ+1Ε

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

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

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

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

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

ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ I: ΕΙΣΑΓΩΓΗ ΣΤΑ ΗΛΕΚΤΡΟΝΙΚΑ ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ I: ΕΙΣΑΓΩΓΗ ΣΤΑ ΗΛΕΚΤΡΟΝΙΚΑ 1.1 ΕΙΣΑΓΩΓΗ ΣΤΑ ΑΝΑΛΟΓΙΚΑ ΗΛΕΚΤΡΟΝΙΚΑ 1 1.1.1 Αναλογικά σήματα 1 1.1.2 Οι αντιστάσεις 3 1.1.3 Οι πυκνωτές 7 1.1.4 Τα πηνία 11 1.1.5 Οι δίοδοι 13 1.1.6

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

Περιγραφή Κυκλωμάτων με χρήση της VHDL. Εισαγωγικές έννοιες για σχεδιασμό με τη VHDL

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

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

ΑΝΑΠΤΥΞΗ ΜΕΘΟ ΟΛΟΓΙΑΣ ΣΧΕ ΙΑΣΜΟΥ ΕΠΕΞΕΡΓΑΣΤΩΝ ΕΙ ΙΚΟΥ ΣΚΟΠΟΥ. Νικόλαος Κ. Καββαδίας

ΑΝΑΠΤΥΞΗ ΜΕΘΟ ΟΛΟΓΙΑΣ ΣΧΕ ΙΑΣΜΟΥ ΕΠΕΞΕΡΓΑΣΤΩΝ ΕΙ ΙΚΟΥ ΣΚΟΠΟΥ. Νικόλαος Κ. Καββαδίας ΑΝΑΠΤΥΞΗ ΜΕΘΟ ΟΛΟΓΙΑΣ ΣΧΕ ΙΑΣΜΟΥ ΕΠΕΞΕΡΓΑΣΤΩΝ ΕΙ ΙΚΟΥ ΣΚΟΠΟΥ Ι ΑΚΤΟΡΙΚΗ ΙΑΤΡΙΒΗ Νικόλαος Κ. Καββαδίας Φυσικός Ραδιοηλεκτρολόγος ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΦΥΣΙΚΗΣ

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

Μοντέλα Αρχιτεκτονικής στην Σύνθεση

Μοντέλα Αρχιτεκτονικής στην Σύνθεση Μοντέλα Αρχιτεκτονικής στην Σύνθεση Σχεδιαστικά Στυλ & Αρχιτεκτονική Ο σχεδιαστής επιλέγει Σχεδιαστικό στυλ prioritized interrupt instruction buffer bus-oriented datapath serial I/O direct memory access

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

Γλώσσες Προγραμματισμού Μεταγλωττιστές

Γλώσσες Προγραμματισμού Μεταγλωττιστές Γλώσσες Προγραμματισμού Μεταγλωττιστές Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου Δομή Γλώσσες Προγραμματισμού Εισαγωγικά Γλώσσα Μηχανής Γλώσσες υψηλού επιπέδου Μεταγλωττιστές

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

Εντολές γλώσσας μηχανής

Εντολές γλώσσας μηχανής Εντολές γλώσσας μηχανής Στον υπολογιστή MIPS η εντολή πρόσθεσε τα περιεχόμενα των καταχωρητών 17 και 20 και τοποθέτησε το αποτέλεσμα στον καταχωρητή 9 έχει την μορφή: 00000010001101000100100000100000 Πεδία

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

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

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

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Προηγμένα Συστήματα Πληροφορικής» Μεταπτυχιακή Διατριβή

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Προηγμένα Συστήματα Πληροφορικής» Μεταπτυχιακή Διατριβή Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Προηγμένα Συστήματα Πληροφορικής» Μεταπτυχιακή Διατριβή Δοκιμή ολοκληρωμένων κυκλωμάτων με χρήση του Inovys Personal Ocelot και

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

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Τεχνολογίες Κύριας (και η ανάγκη για χρήση ιεραρχιών μνήμης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης i Στα σύγχρονα

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

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

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

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

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30 ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 1.1 Τι είναι Πληροφορική;...11 1.1.1 Τι είναι η Πληροφορική;...12 1.1.2 Τι είναι ο Υπολογιστής;...14 1.1.3 Τι είναι το Υλικό και το

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

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης ΚΕΦΑΛΑΙΟ 1ο 3ο 1. Συμπληρώστε τα κενά με τη λέξη που λείπει. α. Ένα πρόβλημα το χωρίζουμε σε άλλα απλούστερα, όταν είναι ή όταν έχει τρόπο επίλυσης. β. Η επίλυση ενός προβλήματος προϋποθέτει την του. γ.

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

Τα µπιτ και η σηµασία τους. Σχήµα bit. ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) 1.7 Αποθήκευση κλασµάτων 1.8 Συµπίεση δεδοµένων 1.9 Σφάλµατα επικοινωνίας

Τα µπιτ και η σηµασία τους. Σχήµα bit. ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) 1.7 Αποθήκευση κλασµάτων 1.8 Συµπίεση δεδοµένων 1.9 Σφάλµατα επικοινωνίας ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (2/2) 1.1 Τα bits και ο τρόπος που αποθηκεύονται 1.2 Κύρια µνήµη 1.3 Αποθηκευτικά µέσα 1.4 Αναπαράσταση πληροφοριών ως σχηµάτων bits

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

Περίληψη ιπλωµατικής Εργασίας

Περίληψη ιπλωµατικής Εργασίας Περίληψη ιπλωµατικής Εργασίας Θέµα: Εναλλακτικές Τεχνικές Εντοπισµού Θέσης Όνοµα: Κατερίνα Σπόντου Επιβλέπων: Ιωάννης Βασιλείου Συν-επιβλέπων: Σπύρος Αθανασίου 1. Αντικείµενο της διπλωµατικής Ο εντοπισµός

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

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

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

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

εισαγωγικές έννοιες Παύλος Εφραιμίδης Δομές Δεδομένων και

εισαγωγικές έννοιες Παύλος Εφραιμίδης Δομές Δεδομένων και Παύλος Εφραιμίδης 1 περιεχόμενα ενθετική ταξινόμηση ανάλυση αλγορίθμων σχεδίαση αλγορίθμων 2 ενθετική ταξινόμηση 3 ενθετική ταξινόμηση Βασική αρχή: Επιλέγει ένα-έναταστοιχείατηςμηταξινομημένης ακολουθίας

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

Περιεχόμενα. Περιεχόμενα

Περιεχόμενα. Περιεχόμενα Περιεχόμενα xv Περιεχόμενα 1 Αρχές της Java... 1 1.1 Προκαταρκτικά: Κλάσεις, Τύποι και Αντικείμενα... 2 1.1.1 Βασικοί Τύποι... 5 1.1.2 Αντικείμενα... 7 1.1.3 Τύποι Enum... 14 1.2 Μέθοδοι... 15 1.3 Εκφράσεις...

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

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Πρόβληµα, Στιγµιότυπο, Αλγόριθµος Εργαλεία εκτίµησης πολυπλοκότητας: οι τάξεις Ο(n), Ω(n), Θ(n) Ανάλυση Πολυπλοκότητας Αλγορίθµων

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

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

Να οδηγηθούμε σε μια αρχιτεκτονική που έχει μεγάλο αριθμό καταχωρητών και να εφαρμόσουμε τεχνική ελαχιστοποίησης καταχωρητών Folding Να καθορίσουμε συστηματικά τα κυκλώματα ελέγχου μιας DSP αρχιτεκτονικής χρησιμοποιώντας folding μετασχηματισμό ώστε να πραγματοποιούμε πολλαπλές αλγοριθμικές πράξεις σε ένα λειτουργικό στοιχείο

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

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ 1.1 Εισαγωγή...11 1.2 Τα κύρια αριθμητικά Συστήματα...12 1.3 Μετατροπή αριθμών μεταξύ των αριθμητικών συστημάτων...13 1.3.1 Μετατροπή ακέραιων

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

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα

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

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης Κωνσταντίνος Μαργαρίτης Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας kmarg@uom.gr http://eos.uom.gr/~kmarg

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

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

Εφαρμογές μικροελεγκτών

Εφαρμογές μικροελεγκτών Μικροελεγκτές Έναν ορισμό που θα μπορούσαμε να δώσουμε για τους μικροελεγκτές είναι ο εξής: Μικροελεγκτής είναι ένα προγραμματιζόμενο ολοκληρωμένο κύκλωμα το οποίο διαθέτει επεξεργαστή, μνήμη, διάφορα

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

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 2 ο Τύποι Δεδοµένων Δήλωση Μεταβλητών Έξοδος Δεδοµένων Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Μνήµη και Μεταβλητές Σχέση Μνήµης Υπολογιστή και Μεταβλητών Η µνήµη (RAM) ενός

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

1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB)

1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB) ΣΧΟΛΗ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΕΜΠ ΜΕΘΟΔΟΙ ΕΠΙΛΥΣΗΣ ΜΕ Η/Υ 1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB) Ν.Δ. Λαγαρός Μ. Φραγκιαδάκης Α. Στάμος Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

(Ιούνιος 2001 ΤΕΕ Ηµερήσιο) Σε κάθε µία από τις παρακάτω περιπτώσεις, να

(Ιούνιος 2001 ΤΕΕ Ηµερήσιο) Σε κάθε µία από τις παρακάτω περιπτώσεις, να Κεεφάάλλααι ιοο:: 3Β ο Τίττλλοοςς Κεεφααλλααί ίοουυ: : Αρχιτεκτονική Ηλ/κου Τµήµατος των Υπολ. Συστηµάτων (Ιούνιος 2001 ΤΕΕ Ηµερήσιο) Σε κάθε µία από τις παρακάτω περιπτώσεις, να αναφέρετε τις τιµές των

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

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

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

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

(Peter Ashenden, The Students Guide to VHDL)

(Peter Ashenden, The Students Guide to VHDL) Υποπρογράµµατα Πακέτα (Peter Ashenden, The Students Guide to VHDL) Procedures Μία διαδικασία (procedure) δηλώνεται και κατόπιν καλείται όσες φορές θέλουµε. procedure identifier [(parameter_interface_list)]

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

ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΚΡΗΤΗΣ 2000-2006

ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΚΡΗΤΗΣ 2000-2006 ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΚΡΗΤΗΣ 2000-2006 ΜΕΤΡΟ 1.2 Κοινοπραξίες Έρευνας και Τεχνολογικής Ανάπτυξης σε τομείς Εθνικής Προτεραιότητας Παροχή υπηρεσιών τουριστικού και αρχαιολογικού ενδιαφέροντος μέσω πλατφόρμας

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ) 2004

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ) 2004 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ) 2004 ΘΕΜΑ 1ο ΕΚΦΩΝΗΣΕΙΣ Α. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις

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

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

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

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

Αρχιτεκτονική Υπολογιστών. ηµήτρης Γκιζόπουλος Καθηγητής

Αρχιτεκτονική Υπολογιστών. ηµήτρης Γκιζόπουλος Καθηγητής Αρχιτεκτονική Υπολογιστών ΙI ηµήτρης Γκιζόπουλος Καθηγητής Γενικά ηµήτρης Γκιζόπουλος, Καθηγητής http://www.di.uoa.gr/~dgizop γραφείο Α32 ιδασκαλία στο αµφιθέατρο Α2 ευτέρα 11 00 13 00 Πέµπτη 13 00 15

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

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής) ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α Γενικού Λυκείου (Μάθημα Επιλογής) Σύγχρονα Υπολογιστικά Συστήματα τους υπερυπολογιστές (supercomputers) που χρησιμοποιούν ερευνητικά εργαστήρια τα μεγάλα συστήματα (mainframes)

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

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

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

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

Περιεχόμενα. Πρόλογος... 17

Περιεχόμενα. Πρόλογος... 17 Περιεχόμενα Πρόλογος... 17 Κεφάλαιο 1: Εισαγωγή... 19 Πώς να διαβάσετε αυτό το βιβλίο... 20 Η γλώσσα C Ιστορική αναδρομή... 22 Τα χαρακτηριστικά της C... 23 C Μια δομημένη γλώσσα... 23 C Μια γλώσσα για

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

Διάλεξη 20: Χαμηλού Επιπέδου Προγραμματισμός II

Διάλεξη 20: Χαμηλού Επιπέδου Προγραμματισμός II Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 20: Χαμηλού Επιπέδου Προγραμματισμός II (Κεφάλαια 25.2, KNK-2ED) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132

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

Δομές Δεδομένων. Λουκάς Γεωργιάδης. http://www.cs.uoi.gr/~loukas/courses/data_structures/ email: loukas@cs.uoi.gr

Δομές Δεδομένων. Λουκάς Γεωργιάδης. http://www.cs.uoi.gr/~loukas/courses/data_structures/ email: loukas@cs.uoi.gr Δομές Δεδομένων http://www.cs.uoi.gr/~loukas/courses/data_structures/ Λουκάς Γεωργιάδης email: loukas@cs.uoi.gr Αλγόριθμος: Μέθοδος για την επίλυση ενός προβλήματος Δεδομένα: Σύνολο από πληροφορίες που

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων

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

ΘΕΜΑΤΑ ΔΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ

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

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

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

ΛΟΓΙΣΜΙΚΟ ΜΕΛΕΤΩΝ ΗΛΕΚΤΡΙΚΩΝ ΕΓΚΑΤΑΣΤΑΣΕΩΝ ΚΑΙ ΥΠΟΣΤΑΘΜΩΝ ΜΕΣΗΣ ΤΑΣΗΣ ΛΟΓΙΣΜΙΚΟ ΜΕΛΕΤΩΝ ΗΛΕΚΤΡΙΚΩΝ ΕΓΚΑΤΑΣΤΑΣΕΩΝ ΚΑΙ ΥΠΟΣΤΑΘΜΩΝ ΜΕΣΗΣ ΤΑΣΗΣ Βασίλης Τσέτογλου, Ηλεκτρολόγος Μηχ/κός ΑΠΘ (Φρυγίας 30 Καβάλα, τηλ. 2510-241735, e-mail:vatset@panafonet.gr) ΠΕΡΙΛΗΨΗ Η συνεχής και

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Pascal- Εισαγωγή Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου

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

VERILOG. Γενικά περί γλώσσας

VERILOG. Γενικά περί γλώσσας VERILOG Γενικά περί γλώσσας Χρησιµότητα της Verilog Υψηλού επιπέδου περιγραφή της συµπεριφοράς του συστήµατος µε σκοπό την εξοµοίωση. RTL περιγραφή της λειτουργίας του συστήµατος µε σκοπό τη σύνθεσή του

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

Προχωρηµένα Θέµατα Αρχιτεκτονικής

Προχωρηµένα Θέµατα Αρχιτεκτονικής Προχωρηµένα Θέµατα Αρχιτεκτονικής Μάθηµα 2 ο : Instruction Set Principles and Examples Μάθηµα 2 ο Προχωρηµένα Θέµατα Αρχιτεκτονικής 1 Σχεδιασµός Συνόλου Εντολών Θέµατα που θα συζητηθούν ιαφορετικές επιλογές

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

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ii ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ 1. Εντολές εκχώρησης (αντικατάστασης)....1 1.1 Εισαγωγή...4 1.1.1 Χρήση ΛΣ και IDE της Turbo Pascal....4 1.1.2 Αίνιγμα...6 1.2 Με REAL...7 1.2.1 Ερώτηση...9 1.2.2 Επίλυση δευτεροβάθμιας

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

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

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Καθηγητής. Γουνόπουλος Άσκηση 1 Σκοπός της εργασίας αυτής είναι η κατανόηση της εσωτερικής λειτουργίας

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

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

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ 4 ο Εξάμηνο Μαδεμλής Ιωάννης ΛΟΓΙΚΕΣ ΠΡΑΞΕΙΣ Οι λογικές πράξεις που υποστηρίζει η Assembly του 8088 είναι : Πράξη AND Πράξη OR Πράξη NOT Πράξη XOR Με τις λογικές πράξεις μπορούμε

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

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

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

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

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 3. Αριθµητική για υπολογιστές

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 3. Αριθµητική για υπολογιστές Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση Κεφάλαιο 3 Αριθµητική για υπολογιστές Ασκήσεις Η αρίθµηση των ασκήσεων είναι από την 4 η έκδοση του «Οργάνωση και Σχεδίαση

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

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 5 ο Έλεγχος Προγράµµατος Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Η εντολή if (Ι) Η εντολή if είναι µία από τις βασικότερες δοµές ελέγχου ροής στη C, αλλά και στις περισσότερες

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

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems) Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems) Μαθηµα 2 ηµήτρης Λιούπης 1 Intel SA-1110 µc StrongARM core. System-on-Chip. Εξέλιξη των SA-110 και SA-1100. 2 ARM cores ARM: IP (intellectual

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

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Προχωρημένα Θέματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανακατεύθυνση Εισόδου/Εξόδου Συνήθως η τυπική είσοδος ενός προγράμματος (stdin) προέρχεται

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

Κωδικοποίηση βίντεο (MPEG)

Κωδικοποίηση βίντεο (MPEG) Κωδικοποίηση βίντεο (MPEG) Εισαγωγή στο MPEG-2 Κωδικοποίηση βίντεο Κωδικοποίηση ήχου Ροή δεδοµένων Εισαγωγή στο MPEG-4 οµή σκηνών Κωδικοποίηση ήχου και βίντεο Τεχνολογία Πολυµέσων 11-1 Εισαγωγή στο MPEG-2

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

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Εισαγωγή. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Εισαγωγή. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μεταγλωττιστές Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Βιβλιογραφία Alfred V. Aho, Monica S. Lam, Ravi Sethi and Jeffrey D. Ullman. Compilers:

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