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

Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL. Γενικά χαρακτηριστικά, σύνταξη και τύποι. Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 1 -

Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL. Γενικά χαρακτηριστικά, σύνταξη και τύποι. Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 1 - Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL Γενικά χαρακτηριστικά, σύνταξη και τύποι Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 1 - Περίγραµµα διάλεξης Τι είναι η VHDL? Πλεονεκτήµατα της VHDL στη σχεδίαση κυκλωµάτων

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

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

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

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

Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL. Βασικές εντολές και η περιγραφή συνδυαστικών κυκλωµάτων. Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 2 -

Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL. Βασικές εντολές και η περιγραφή συνδυαστικών κυκλωµάτων. Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 2 - Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL Βασικές εντολές και η περιγραφή συνδυαστικών κυκλωµάτων Ψηφιακή Σχεδίαση µε CAD ΙΙ - ιάλεξη 2 - Περίγραµµα διάλεξης Υποκυκλώµατα Περιγραφή δοµής στη VHDL Βιβλιοθήκες

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

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Τύποι Δεδομένων και Τελεστές

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Τύποι Δεδομένων και Τελεστές «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Τύποι Δεδομένων και Τελεστές Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής ΤΕ E-mail: pkitsos@teimes.gr Αντίρριο

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

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

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

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

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

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

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

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Προχωρημένα Θέματα Σχεδιασμού με VHDL

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Προχωρημένα Θέματα Σχεδιασμού με VHDL «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Προχωρημένα Θέματα Σχεδιασμού με VHDL Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής

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

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. VHDL για Ακολουθιακά Κυκλώματα 1

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. VHDL για Ακολουθιακά Κυκλώματα 1 ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων VHDL για Σχεδιασμό Ακολουθιακών Κυκλωμάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Περίληψη VHDL Processes Εντολές If-Then Then-Else και CASE Περιγραφή Flip-Flop Flop με VHDL

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

26-Nov-09. ΗΜΥ 210: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο Καταχωρητές 1. Διδάσκουσα: Μαρία Κ. Μιχαήλ

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

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

ΠΑΡΑΡΤΗΜΑ Β. Verification

ΠΑΡΑΡΤΗΜΑ Β. Verification ΠΑΡΑΡΤΗΜΑ Β Ροή Σχεδίασης και VHDL Ροή Σχεδίασης Πριν περάσουµε σε περιγραφή της γλώσσας VHDL είναι χρήσιµο να δούµε το περιβάλλον και τη ροή της σχεδίασης. Τα βήµατα µιας σχεδίασης βασισµένης σε VHDL

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

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

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

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

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Πακέτα και Συστατικά Στοιχεία (Υποκυκλώματα)

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Πακέτα και Συστατικά Στοιχεία (Υποκυκλώματα) «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Πακέτα και Συστατικά Στοιχεία (Υποκυκλώματα) Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής

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

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

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

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

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

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

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

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

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

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

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο

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

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

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

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

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

Εργαστήριο Αρχιτεκτονικής Υπολογιστών Ι. Εισαγωγή στη VHDL

Εργαστήριο Αρχιτεκτονικής Υπολογιστών Ι. Εισαγωγή στη VHDL Εργαστήριο Αρχιτεκτονικής Υπολογιστών Ι Εισαγωγή στη VHDL Εισαγωγή Very High Speed Integrated Circuits Hardware Description Language ιαφορές από γλώσσες προγραμματισμού: παράλληλη εκτέλεση εντολών προσδιορισμός

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

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

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

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

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

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

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

ΛΥΣΕΙΣ 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 Περιγραφή στατικών

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

Πίνακας Περιεχοµένων Πρόλογος Κεφάλαιο Βασικές εισαγωγικές έννοιες

Πίνακας Περιεχοµένων Πρόλογος Κεφάλαιο Βασικές εισαγωγικές έννοιες Πίνακας Περιεχοµένων Πρόλογος...vii Κεφάλαιο 1:Βασικές εισαγωγικές έννοιες...1 1.1 Η δοµή του µεταγλωττιστή...2 1.2 Η διαδικασία µεταγλώττισης...3 1.2.1 Η Λεξική Ανάλυση...6 1.2.2 Η Συντακτική Ανάλυση...6

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

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

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

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

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Συναρτήσεις, Διαδικασίες και Δομές Ελέγχου Λειτουργίας Κυκλωμάτων (testbenches)

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Συναρτήσεις, Διαδικασίες και Δομές Ελέγχου Λειτουργίας Κυκλωμάτων (testbenches) «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Συναρτήσεις, Διαδικασίες και Δομές Ελέγχου Λειτουργίας Κυκλωμάτων (testbenches) Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος

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

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

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

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

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

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

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

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

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

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

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

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

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

Single Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

Single Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 2014-2015 Νεκ. Κοζύρης nkoziris@cslab.ece.ntua.gr Single Cycle Datapath http://www.cslab.ece.ntua.gr/courses/comparch/ Άδεια Χρήσης Το παρόν εκπαιδευτικό

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

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

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΠΡΩΤΟΤΥΠΟ ΕΡΓΑΛΕΙΟ ΑΥΤΟΜΑΤΗΣ ΕΞΑΓΩΓΗΣ ΚΩΔΙΚΑ VHDL ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΡΑΔΙΟΗΛΕΚΤΡΟΛΟΓΙΑΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΠΡΩΤΟΤΥΠΟ ΕΡΓΑΛΕΙΟ ΑΥΤΟΜΑΤΗΣ ΕΞΑΓΩΓΗΣ ΚΩΔΙΚΑ VHDL Παπαδόπουλος Ματθαίος 1 Επιβλέπων :Σ.Νικολαιδης

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

Πληροφορική 2. Γλώσσες Προγραμματισμού

Πληροφορική 2. Γλώσσες Προγραμματισμού Πληροφορική 2 Γλώσσες Προγραμματισμού 1 2 Γλώσσες προγραμματσιμού Επιτρέπουν την κωδικοποίηση των αλγορίθμων Η εκτέλεση ενός προγράμματος θα πρέπει να δίνει τα ίδια αποτελέσματα με την νοητική εκτέλεση

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

επιφάνεια πυριτίου Αναφορά στο Εκπαιδευτικό Υλικό : 5. Αναφορά στο Εργαστήριο :

επιφάνεια πυριτίου Αναφορά στο Εκπαιδευτικό Υλικό : 5. Αναφορά στο Εργαστήριο : 2. Α/Α Διάλεξης : 1 1. Τίτλος : Εισαγωγή στην Ψηφιακή Τεχνολογία 2. Μαθησιακοί Στόχοι : Λογικές Πύλες και η υλοποίησή τους με τρανζίστορ. Κατασκευή ολοκληρωμένων κυκλωμάτων. 3. Θέματα που καλύπτει : Λογικές

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

ΠΕΡΙΕΧΟΜΕΝΑ 1 ΚΕΦΑΛΑΙΟ ΟΙ ΥΠΟΛΟΓΙΣΤΕΣ ΑΠΟ ΤΗΝ ΑΡΧΑΙΟΤΗΤΑ ΜΕΧΡΙ ΣΗΜΕΡΑ Ιστορική αναδρομή Υπολογιστικές μηχανές

ΠΕΡΙΕΧΟΜΕΝΑ 1 ΚΕΦΑΛΑΙΟ ΟΙ ΥΠΟΛΟΓΙΣΤΕΣ ΑΠΟ ΤΗΝ ΑΡΧΑΙΟΤΗΤΑ ΜΕΧΡΙ ΣΗΜΕΡΑ Ιστορική αναδρομή Υπολογιστικές μηχανές ΠΕΡΙΕΧΟΜΕΝΑ 1 ΚΕΦΑΛΑΙΟ 1... 11 ΟΙ ΥΠΟΛΟΓΙΣΤΕΣ ΑΠΟ ΤΗΝ ΑΡΧΑΙΟΤΗΤΑ ΜΕΧΡΙ... 11 ΣΗΜΕΡΑ... 11 1.1 Ιστορική αναδρομή... 13 1.1.1 Υπολογιστικές μηχανές στην αρχαιότητα... 13 1.1.2 17ο έως τον 19ο... 14 1.1.3

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

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

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

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

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

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

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

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 3 Εντολές του MIPS (2)

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 3 Εντολές του MIPS (2) ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 3 Εντολές του MIPS (2) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Y Παράδειγμα (συνέχεια από προηγ. διάλεξη) $s3 = &A[0] = 0x0001080 &A[8]

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

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

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

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

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

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

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

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

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

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

Υπολογιστικό Πρόβληµα

Υπολογιστικό Πρόβληµα Υπολογιστικό Πρόβληµα Μετασχηµατισµός δεδοµένων εισόδου σε δεδοµένα εξόδου. Δοµή δεδοµένων εισόδου (έγκυρο στιγµιότυπο). Δοµή και ιδιότητες δεδοµένων εξόδου (απάντηση ή λύση). Τυπικά: διµελής σχέση στις

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

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

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

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

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

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

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

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων Χειµερινό Εξάµηνο 2007-2008 Μηχανές Πεπερασµένων Καταστάσεων ΗΥ220 - Βασίλης Παπαευσταθίου 1 FSMs Οι µηχανές πεπερασµένων καταστάσεων Finite State Machines (FSMs) πιο

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

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

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

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

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

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

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

2. Δήλωση μεταβλητών. #include #include unsigned char i=0xa0; register unsigned char i asm("r3");

2. Δήλωση μεταβλητών. #include <avr/io.h> #include <util/delay.h> unsigned char i=0xa0; register unsigned char i asm(r3); 2. Δήλωση μεταβλητών Οι μεταβλητές είναι τα βασικά στοιχεία που διαπραγματεύεται ένα πρόγραμμα. Περιέχουν τιμές ή δεδομένα και μπορεί να έχουν μια σταθερή τιμή ή το περιεχόμενό τους να εξαρτάται από τις

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

Περιεχόμενα. Πρόλογος... XI. Κεφάλαιο 1. Συστήματα Βασισμένα σε FPGA Κεφάλαιο 2. Τεχνολογία VLSI Εισαγωγή Βασικές Αρχές...

Περιεχόμενα. Πρόλογος... XI. Κεφάλαιο 1. Συστήματα Βασισμένα σε FPGA Κεφάλαιο 2. Τεχνολογία VLSI Εισαγωγή Βασικές Αρχές... Περιεχόμενα Πρόλογος... XI Κεφάλαιο 1. Συστήματα Βασισμένα σε FPGA... 1 1.1 Εισαγωγή... 1 1.2 Βασικές Αρχές... 1 1.2.1 Boolean Άλγεβρα... 1 1.2.2 Σχηματικά και Λογικά Σύμβολα... 6 1.3 Ψηφιακή Σχεδίαση

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

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

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

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

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

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

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

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

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

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

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

FORTRAN και Αντικειμενοστραφής Προγραμματισμός FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Εργαστήριο 6 Εντολές Επανάληψης Η δομή Επιλογής στη PASCAL H δομή Επανάληψης στη PASCAL. Ρεύμα Εισόδου / Εξόδου.. Ρεύμα Εισόδου / Εξόδου. To πρόγραμμα γραφικών gnuplot. Γραφικά στη PASCAL. Σκοπός 6.1 ΕΠΙΔΙΩΞΗ

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

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

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) 1. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού

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

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

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

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

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

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

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

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

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

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

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) Συσκευές αποθήκευσης Ένας υπολογιστής προκειµένου να αποθηκεύσει δεδοµένα χρησιµοποιεί δύο τρόπους αποθήκευσης: Την Κύρια Μνήµη Τις συσκευές µόνιµης αποθήκευσης (δευτερεύουσα

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

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

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

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

Εργαστήριο Ψηφιακών Κυκλωμάτων

Εργαστήριο Ψηφιακών Κυκλωμάτων ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Μηχανές Πεπερασμένων Καταστάσεων Χειμερινό Εξάμηνο 2009 2010 ΗΥ220 University of Crete 1 Τι είναι οι FSMs? 10 FSM Κερματοδέκτης open Μηχανισμός Αυτόματου 20 Απελευθέρωσης

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

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

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

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

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

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

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

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

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

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

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr Κανόνες Ομαλής Λειτουργίας Ερχόμαστε στην ώρα μας Δεν καπνίζουμε και τρώμε εντός της αίθουσας

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

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

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

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

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

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

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

7.9 ροµολόγηση. Ερωτήσεις

7.9 ροµολόγηση. Ερωτήσεις 7.9 ροµολόγηση Ερωτήσεις 1. Να δώσετε τον ορισµό της δροµολόγησης; 2. Από τι εξαρτάται η χρονική στιγµή στην οποία λαµβάνονται οι αποφάσεις δροµολόγησης; Να αναφέρετε ποια είναι αυτή στην περίπτωση των

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τα µπιτ και η σηµασία τους. Σχήµα 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

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

Υλοποιήσεις Ψηφιακών Φίλτρων

Υλοποιήσεις Ψηφιακών Φίλτρων Ψηφιακή Επεξεργασία Σηµάτων 10 Υλοποιήσεις Ψηφιακών Φίλτρων Α. Εισαγωγή Οποιοδήποτε γραµµικό χρονικά αµετάβλητο σύστηµα διακριτού χρόνου χαρακτηρίζεται πλήρως από τη συνάρτηση µεταφοράς του η οποία έχει

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 ο Τελεστές Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Ο τελεστής εκχώρησης = Ο τελεστής = χρησιµοποιείται για την απόδοση τιµής (ή αλλιώς ανάθεση τιµής) σε µία µεταβλητή Π.χ.

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

Πανεπιστήμιο Πατρών. Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών. Εργαστήριο Σχεδίασης Ολοκληρωμένων Κυκλωμάτων

Πανεπιστήμιο Πατρών. Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών. Εργαστήριο Σχεδίασης Ολοκληρωμένων Κυκλωμάτων Πανεπιστήμιο Πατρών Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Εργαστήριο Σχεδίασης Ολοκληρωμένων Κυκλωμάτων Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων (VLSI) ΙΙ Εισαγωγή στη VHDL και το Εργαλείο

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 2ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΣΦΑΛΜΑΤΑ ΜΕΤΑΓΛΩΤΤΙΣΗΣ Η γλώσσα C κάνει αυστηρή διάκριση μεταξύ πεζών

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

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

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

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

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

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

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

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

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

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

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

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

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

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

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

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

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

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

Ανάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου Ανάλυση αλγορίθμων Παράμετροι απόδοσης ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, επικοινωνία (π.χ. σε κατανεμημένα συστήματα) Προσπάθεια υλοποίησης Ανάλυση της απόδοσης Θεωρητική

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

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

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

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

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

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

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