Εργαστήριο 12: Διακλαδώσεις, Έμμεσες Προσπελάσεις (Pointers), και περί Ταχύτητας και Κατανάλωσης Ενέργειας των Κυκλωμάτων CMOS

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

Download "Εργαστήριο 12: Διακλαδώσεις, Έμμεσες Προσπελάσεις (Pointers), και περί Ταχύτητας και Κατανάλωσης Ενέργειας των Κυκλωμάτων CMOS"

Transcript

1 ΗΥ-120: Ψηφιακή Σχεδίαση Φθινόπωρο 2009 Τμ. Επ. Υπολογιστών Πανεπιστήμιο Κρήτης Εργαστήριο 12: Διακλαδώσεις, Έμμεσες Προσπελάσεις (Pointers), και περί Ταχύτητας και Κατανάλωσης Ενέργειας των Κυκλωμάτων CMOS Δεκεμβρίου Επανεκτέλεση Εντολών: Διακλαδώσεις, Άλματα Γιά τις εντολές πράξεων και φόρτωσης/αποθήκευσης που είδαμε στην 11.3 η επόμενή τους προς εκτέλεση εντολή ήταν αυτή που είναι γραμμένη στην αμέσως "από κάτω" θέση μνήμης ( 11.4). Αν ήταν έτσι όλες οι εντολές ενός προγράμματος, οι εντολές αυτές θα εκτελούντο ακριβώς μία φορά η καθεμιά, από την πρώτη μέχρι την τελευταία, και το πρόγραμμα θα τελείωνε πολύ γρήγορα. Όπως ξέρουμε, όμως, οι υπολογιστές αντλούν τη δύναμη και την ευελιξία τους από τη δυνατότητά τους να επανεκτελούν πολλαπλές φορές την ίδια σειρά εντολών (την ίδια δουλειά - τον ίδιο αλγόριθμο) πάνω σε διαφορετικά κάθε φορά δεδομένα, ούτως ώστε τελικά να επιτυγχάνουν μακρές και πολύπλοκες επεξεργασίες πληροφοριών. Τη δυνατότητα αυτή την αποκτούν με τις εντολές διακλάδωσης (branch) ή άλματος (jump). Όπως είδαμε στην 11.9, η εντολή άλματος κάνει ώστε η επόμενη εντολή που θα εκτελεστεί να είναι η εντολή που βρίσκεται σε ορισμένη θέση (διεύθυνση) διαφορετική από την "από κάτω" θέση. Μιά εντολή διακλάδωσης κάνει το ίδιο, αλλά υπό συνθήκη, δηλαδή μερικές φορές η επόμενη εντολή είναι η "άλλη", και μερικές φορές θα είναι η "από κάτω", ανάλογα αν ισχύει ή όχι μιά δοσμένη συνθήκη κάθε φορά. Στο σχήμα βλέπουμε ένα παράδειγμα προγράμματος που υπολογίζει το άθροισμα n+(n-1)+(n- 2) και το γράφει στη θέση 1A της μνήμης δεδομένων. Τον αριθμό n τον διαβάζει η πρώτη εντολή (διευθ. 20) από το πληκτρολόγιο: input 18 στο σχήμα υποτίθεται ότι ο αριθμός αυτός είναι 8. Ο υπολογισμός γίνεται χρησιμοποιώντας κυρίως τις θέσεις 18 και 19 της μνήμης δεδομένων (κάτω μέρος σχήματος), οι οποίες έχουν αρχική τιμή το "n" και το 0 (μεταβλητή "s") αντίστοιχα. Οι τρείς αρχικές εντολές του "βρόχου", στις θέσεις 21, 22, και 23, διαβάζουν την τρέχουσα τιμή της μεταβλητής s, της προσθέτουν την τρέχουσα τιμή της μεταβλητής n, και γράφουν το αποτέλεσμα πίσω στην s (s=s+n). Στο παράδειγμα, την πρώτη φορά που εκτελούνται αυτές οι εντολές, αυξάνουν το s από 0 σε 8. Οι τρείς επόμενες εντολές (θέσεις 24, 25, και 26) ελαττώνουν τη μεταβλητή n κατά 1 στο παράδειγμα, την πρώτη φορά που εκτελούνται, αλλάζουν το n από 8 σε 7. Στη συνέχεια εκτελείται η εντολή bne 21 από τη θέση 27 η εντολή αυτή σημαίνει εάν ο συσσωρευτής δεν ισούται με μηδέν, διακλαδώσου (πήγαινε) στην εντολή 21 (branch if ACC not equal to zero - brach not equal - bne). Επειδή εκείνη την ώρα ο συσσωρευτής περιέχει το n=7, που είναι διάφορο του μηδενός, η συνθήκη της διακλάδωσης είναι αληθής και η διακλάδωση επιτυγχάνει (πραγματοποιείται). Έτσι, επόμενες εντολές εκτελούνται οι εντολές 21, 22, και 23, αυξάνοντας το s από 8 σε F (=15 στο δεκαδικό), και μετά οι 24, 25, και 26, μειώνοντας το n από 7 σε 6. Μετά, ξαναεκτελείται η bne 21 επειδή ο συσσωρευτής περιέχει το 6, η διακλάδωση επιτυγχάνει και πάλι. Έτσι, οι εντολές 21 έως και 27 θα ξαναεκτελεστούν κάμποσες φορές ακόμα, αυξάνοντας διαδοχικά το s κατά 6, 5,..., 2, και 1, και μειώνοντας το n διαδοχικά σε 5, 4,..., 1, και 0. Την τελευταία φορά, στο συσσωρευτή θα έχει μείνει n=0. Τότε, η διακλάδωση bne 21 θα αποτύχει, διότι ο συσσωρευτής δεν είναι πλέον διάφορος του μηδενός έτσι, η επόμενη εντολή δεν θα διαβαστεί από τη θέση 21 όπως πρίν, αλλά από τη θέση 28, δηλαδή από την "από κάτω" θέση, όπως κάνουν και όλες οι άλλες εντολές που δεν είναι διακλαδώσεις. Τώρα, οι εντολές 28 και 29 θα αντιγράψουν το τελικό αποτέλεσμα από τη θέση 19 (s) στη θέση 1A (S) και ο στόχος του προγράμματος θα έχει επιτευχθεί. Page 1 of 10

2 12.2 Υλοποίηση στον Υπολογιστή μας των Διακλαδώσεων υπό Συνθήκη Γιά να εκτελέσει ο υπολογιστής μας τις εντολές διακλάδωσης (υπό συνθήκη) και άλματος (χωρίς συνθήκη) απαιτείται ενεργοποίηση των δρόμων που φαίνονται στο παρακάτω σχήμα πρόκειται ακριβώς γιά τους ίδιους δρόμους που είδαμε και στην 11.9 γιά την εντολή άλματος, jump. Ο πολυπλέκτης που τροφοδοτεί τον PC δέχεται στις δύο εισόδους του τις διευθύνσεις των δύο υποψήφιων επόμενων εντολών: της "από κάτω" (PC+1, στην είσοδο 0) γιά τις αποτυχημένες διακλαδώσεις, και της εντολής προορισμού (ADDR, στην είσοδο 1) γιά τις επιτυχημένες διακλαδώσεις. Η διεύθυνση ADDR φτάνει στην είσοδο 1 του πολυπλέκτη από το BUS, όπου την βάζει ο τρικατάστατος οδηγητής που ανάβει από το σήμα im2bus. Το μόνο που μένει είναι να ελεγχθεί σωστά ο πολυπλέκτης του PC ώστε να επιλέξει την σωστή είσοδό του ανάλογα με το αν η εκάστοτε διακλάδωση είναι επιτυχημένη ή αποτυχημένη (σημειωτέον ότι η εντολή άλματος (jump) συμπεριφέρεται σαν μία πάντα επιτυχημένη διακλάδωση). Γιά να ξέρει το κύκλωμα ελέγχου αν μιά εντολή διακλάδωσης είναι επιτυχημένη ή αποτυχημένη δεν του αρκούν μόνο τα 4 bits του opcode σαν είσοδος --χρειάζεται εισόδους και από τα δεδομένα, και συγκεκριμένα να ξέρει τι είδους αριθμός βρίσκεται αυτή τη στιγμή στον συσσωρευτή (ACC): θετικός, αρνητικός, μηδέν, κλπ. Ο υπολογιστής μας θα έχει τέσσερεις εντολές διακλάδωσης υπό συνθήκη: (α) bne (branch not equal): διακλαδώσου εάν ACC διάφορος του μηδενός (β) beq (branch equal): διακλαδώσου εάν ACC ίσος με το μηδέν (γ) bge (branch greater or equal): διακλαδώσου εάν ACC μεγαλύτερος ή ίσος του μηδενός και (δ) blt (branch less than): διακλαδώσου εάν ACC μικρότερος του μηδενός επίσης (ε) έχει την εντολή άλματος χωρίς συνθήκη, jump, η οποία αλλάζει πάντοτε την επόμενη εντολή. Γιά να εκτελεστούν οι εντολές διακλάδωσης πρέπει να ξέρουμε το πρόσημο του συσσωρευτή καθώς και αν αυτός είναι μηδέν ή όχι. Αυτός είναι ο ρόλος των σημάτων accsign και acczero (πρόσημο, μηδέν) που φαίνονται στο datapath να γεννιούνται από το block συνδυαστικής λογικής "sign/zero" που κοιτάζει το περιεχόμενο του συσσωρευτή, ACC. Όπως είδαμε στην 6.3, το πρόσημο ενός αριθμού κωδικοποιημένου σε συμπλήρωμα ως προς 2 είναι το περισσότερο σημαντικό (MS) bit του (το αριστερότερο bit): όταν αυτό είναι 1 τότε ο αριθμός είναι αρνητικός, ενώ όταν το MS bit είναι 0 ο αριθμός είναι θετικός ή μηδέν. Η ανίχνευση του εάν ο αριθμός είναι μηδέν ή διάφορος του μηδενός απαιτεί μιά πύλη NOR με τόσες εισόδους όσα τα bits του αριθμού. Αφού η έξοδος μιάς πύλης NOR είναι 1 όταν και μόνον όταν όλες οι είσοδοί της είναι μηδέν, συνδέοντας κάθε bit του συσσωρευτή σε μία είσοδο της NOR έχουμε την έξοδό της να ανάβει όταν και μόνον όταν όλα τα bits του συσσωρευτή είναι μηδέν, δηλαδή όταν ο ACC περιέχει τον αριθμό μηδέν. Ονομάζουμε accsign το MS bit του ACC, ονομάζουμε acczero την έξοδο της πύλης NOR 8 εισόδων, και παρέχουμε στο κύκλωμα ελέγχου αυτά τα δύο σήματα σαν εισόδους του. Τώρα, ο πίνακας αληθείας του κυκλώματος ελέγχου που είδαμε στη πρέπει να συμπληρωθεί όπως παρακάτω. Πάντα γιά όλες αυτές τις εντολές: pcld=1 και addrmd=0. Η εντολή jumpx που φαίνεται ακριβώς κάτω από την jump είναι νέα και θα συζητηθεί στην επόμενη 12.3 Γιά τις Page 2 of 10

3 εντολές που προϋπήρχαν, περιλαμβανόμενης και της jump, τα σήματα ελέγχου δεν εξαρτώνται από τις νέες εισόδους, acczero και accsign, όπως υποδεικνύουν τα "x" στις αντίστοιχες γραμμές και στήλες. Γιά τις εντολές διακλάδωσης, όμως, το σήμα pcmd που ελέγχει το ποιά θα είναι η επόμενη εντολή καθορίζεται από τον τύπο της διακλάδωσης και από τις εισόδους acczero και accsign. Παρατηρήστε ότι γιά τις beq/bne (opcode = 100x), το pcmd είναι το αποκλειστικό-ή (XOR) του acczero με το LS bit του opcode γιά τις blt/bge (opcode = 101x), το pcmd είναι το XOR του accsign με το LS bit του opcode. Γιά τις αποτυχημένες διακλαδώσεις (opcode = 10xx και pcmd = 0), το im2bus μπορεί να είναι είτε 0 είτε 1, δεδομένου ότι ο πολυπλέκτης αγνοεί ούτως ή άλλως την τιμή του BUS αν επιλέξουμε 0, τότε im2bus = pcmd, ενώ αν επιλέξουμε 1, τότε απλοποιείται ο χάρτης Karnaugh του im2bus. acczero: Λειτουργία: alumd acc2bus dmwr pcmd opcode: accsign: dmrd accld ext2bus im2bus 0000 (add) x x ACC:=ACC+DM[A] (sub) x x ACC:=ACC-DM[A] (and) x x ACC:=ACCandDM[A] (nor) x x ACC:=ACCnorDM[A] (inp) x x DM[A]:=IO_BUS 0 xxx (ld) x x ACC:=DM[A] 1 1xx (st) x x DM[A]:=ACC 0 xxx (jmp) x x PC := A 0 xxx (jmpx) x x PC := DM[A] 1 xxx (beq) 0 x PC := PC+1 0 xxx x x PC := A 0 xxx (bne) 0 x PC := A 0 xxx x PC := PC+1 0 xxx x (blt) x 0 PC := PC+1 0 xxx x x 1 PC := A 0 xxx (bge) x 0 PC := A 0 xxx x 1 PC := PC+1 0 xxx x Διαδικασίες: Άλματα σε Μεταβλητές Διευθύνσεις Όλες οι εντολές διακλάδωσης, καθώς και η εντολή απλού άλματος (jump) που είδαμε μέχρι τώρα, έχουν τη διεύθυνση προορισμού τους καθορισμένη μέσα στην εντολή αυτή καθ'εαυτή --γραμμένη μέσα στη μνήμη εντολών (διεύθυνση προορισμού είναι η διεύθυνση της "άλλης" επόμενης εντολής - -όχι της "από κάτω"). Στον υπολογιστή μας, κάθε τι που είναι γραμμένο στη μνήμη εντολών δεν μπορεί να αλλάξει την ώρα που τρέχει το πρόγραμμα, διότι δεν υπάρχουν εντολές που να γράφουν στην μνήμη εντολών. Το ίδιο συμβαίνει και στους αληθινούς, εμπορικούς υπολογιστές, γιά τη συντριπτική πλειοψηφία του σημερινού λογισμικού: παρ' ότι οι μνήμες εντολών και δεδομένων δεν είναι χωριστές, όμως δεν γράφουμε πάνω στις εντολές, ούτως ώστε να αποφύγουμε ένα σωρό πονοκεφάλους κατά την αποσφαλμάτωση (debugging) των προγραμμάτων. Έτσι προκύπτει ότι η διεύθυνση προορισμού μιάς διακλάδωσης ή ενός απλού άλματος δεν μπορεί να αλλάξει την ώρα που τρέχει το πρόγραμμα, δηλαδή είναι μία και μοναδική, πάντα η ίδια, αυτή που καθόρισε ("στατικά") ο προγραμματιστής όταν έγραφε το πρόγραμμα. Αυτό επαρκεί γιά τους περισσότερους αλλά όχι γιά όλους τους σκοπούς. Γιά να μπορεί ο υπολογιστής μας να εκτελεί διαδικασίες (procedures), πρέπει να έχουμε έναν τρόπο ώστε, όταν τελειώνει η εκτέλεση της διαδικασίας, να "πηγαίνει" το πρόγραμμα πίσω σε αυτόν που την κάλεσε, όποιος κι αν ήταν αυτός. Το θέμα είναι ότι την ίδια διαδικασία μπορεί να την καλέσουμε από πολλά και διαφορετικά μέρη ενός προγράμματος πώς θα μπορέσει αυτή να "επιστρέψει" άλλοτε στο ένα και άλλοτε στο άλλο από αυτά, εάν η τελευταία της εντολή είναι ένα απλό άλμα που μας πηγαίνει πάντα σε ένα, σταθερό σημείο; Φυσικά, όποιος καλεί τη διαδικασία μπορεί να γράφει κάπου (δηλαδή στη μνήμη δεδομένων, όπου και μόνο μπορούν να γράφουν τα προγράμματα την ώρα που τρέχουν) τη διεύθυνσή του, δηλαδή τη διεύθυνση της εντολής όπου επιθυμεί να επιστρέψει η διαδικασία. Όμως το ζητούμενο είναι να έχουμε μιάν ειδική εντολή άλματος η οποία να μπορεί να μας στείλει σε μεταβλητή διεύθυνση προορισμού, δηλαδή σε προορισμούς που να ποικίλλουν την ώρα που τρέχει το πρόγραμμα. Αν την έχουμε αυτήν, τότε κάθε διαδικασία μπορεί να τελειώνει με μιά τέτοια εντολή, η οποία θα βρίσκει την επόμενή της εντολή διαβάζοντας τη διεύθυνση αυτής της επόμενης εντολής από την ειδική εκείνη θέση της μνήμης δεδομένων όπου αυτός που κάλεσε την διαδικασία έγραψε την εκάστοτε επιθυμητή διεύθυνση επιστροφής. Page 3 of 10

4 Την ειδική αυτή εντολή άλματος την ονομάζουμε jmpx ADDR (jump indexed - άλμα με δείκτη, ή άλλοτε jump indirect - έμμεσο άλμα), όπως αυτή φαίνονταν στο παραπάνω πίνακα αμέσως κάτω από την απλή εντολή άλματος jmp ADDR. Σαν σημασία και σαν υλοποίηση, η νέα εντολή είναι ένα κράμα του απλού άλματος και της εντολή φορτώματος (load) του συσσωρευτή. Σαν το απλό άλμα, το έμμεσο άλμα γράφει μιά νέα τιμή στον PC, διαφορετική από PC+1 (και γιά το σκοπό αυτό κάνει pcmd=1) σαν την εντολή load όμως, αυτό που φορτώνει στον PC (αντί στον ACC) είναι το DM[ADDR], αντί του απλού ADDR (και γι' αυτό ανάβει το dmrd αντί του im2bus): η νέα τιμή του PC είναι η (εν δυνάμει μεταβλητή) τιμή DM[ADDR] που διαβάζουμε από την μνήμη δεδομένων (στη θέση που μας λέει η εντολή, μέσω του ADDR), αντί της σταθερής τιμής ADDR που διαβάζουμε από την μνήμη εντολών. Ένα άλλο παράδειγμα χρήσης της νέας εντολής έμμεσου άλματος έχουμε στις πρώτες δύο θέσεις της μνήμης εντολών του υπολογιστή μας, όπως τις είδαμε στην 11.11: ο υπολογιστής μας αρχίζει πάντα να εκτελεί εντολές από τη διεύθυνση 00, όπου βρίσκει σαν δύο πρώτες εντολές τις "input 10; jmpx 10" (στο εργαστήριο εκτελούσατε την jmpx σαν απλή jmp, αλλά εδώ τα πράγματα αλλάζουν). Η πρώτη εντολή, input 10, παραλαμβάνει έναν αριθμό από την περιφερειακή συσκευή (πληκτρολόγιο), και τον γράφει στη θέση 10 της μνήμης δεδομένων (DM[10]). Η δεύτερη εντολή, jmpx 10, εκτελεί ένα (έμμεσο!) άλμα --όχι στη διεύθυνση 10, αλλά στη διεύθυνση που διαβάζει από την παραπάνω θέση 10 της μνήμης δεδομένων, DM[10]. Έτσι τελικά, σαν τρίτη εντολή εκτελείται η εντολή από τη διεύθυνση που ο χρήστης έδωσε από το πληκτρολόγιο, δηλαδή μιά εντολή που μπορεί να αλλάζει κάθε φορά που εκτελείται το πρόγραμμα! Στο εργαστήριο, όταν θέλετε να εκτελέσετε το πρόγραμμα της 12.1, πληκτρολογήστε "0020" (δεκαεξαδικό) όταν ανάβει ο υπολογιστής: η πρώτη εντολή "input 10" θα προκαλέσει "DM[10] := 20", και η δεύτερη εντολή "jmpx 10" θα προκαλέσει "PC := DM[10] = 20") έτσι, σαν τρίτη εντολή θα εκτελεστεί η εντολή 20, που είναι η πρώτη εντολή του προγράμματος Αν πάλι θέλετε να εκτελέσετε το πρόγραμμα της παρακάτω 12.5, που αρχίζει στη διεύθυνση 30 (δεκαεξαδικό) της μνήμης εντολών, πληκτρολογήστε "0030" όταν ανάβει ο υπολογιστής: η "input 10" θα κάνει "DM[10] := 30", και η "jmpx 10" θα κάνει "PC := DM[10] = 30". Άσκηση (Πείραμα) 12.4 Εντολές Διακλάδωσης Μεταφράστε τον παραπάνω πίνακα αληθείας της παραγράφου 12.2 σε (απλοποιημένες) εξισώσεις Boole που περιγράφουν κάθε έξοδο του κυκλώματος ελέγχου (δηλ. κάθε σήμα ελέγχου) σαν συνάρτηση των εισόδων του κυκλώματος ελέγχου, opcode, acczero, και accsign. Παρατηρήστε ότι το σήμα pcmd μπορεί να εκφραστεί σαν: [(opcode=x111)] OR [(opcode=100x) AND (opcode[0] XOR acczero)] OR [(opcode=101x) AND (opcode[0] XOR accsign)], όπου XOR είναι το αποκλειστικό-ή, opcode[0] είναι το LS bit του opcode, "opcode=x111" παριστάνει τη συνάρτηση ΚΑΙ των τριών LS bits του opcode ή των συμπληρωμάτων τους που ανάβει όποτε ο opcode τελειώνει σε 111, "opcode=100x" παριστάνει την συνάρτηση ΚΑΙ των τριών MS bits του opcode ή των συμπληρωμάτων τους που ανάβει όποτε ο opcode αρχίζει με 100, και αντίστοιχα γιά "opcode=101x" όποτε αυτός αρχίζει με 101. Στο εργαστήριο, εάν μεν προλαβαίνετε να κατασκευάσετε το κύκλωμα της 12.7, τότε προσπεράστε αυτό εδώ το κύκλωμα (που είναι υποσύνολο εκείνου). Αλλοιώς, κατασκευάστε απλά και μόνο αυτό εδώ το κύκλωμα ελέγχου και δοκιμάστε το με τα προγράμματα από τις διευθύνσεις 10 ( 11.11) και 20 ( 12.1). Πηγαίνετε στο πρόγραμμα που επιθυμείτε να εκτελέσετε με την μέθοδο που εξηγήσαμε στο τέλος της Δομές Δεδομένων: Μεταβλητές Διευθύνσεις Μνήμης Σε όλες τις εντολές πράξεων (load, store, add, sub,...) που είδαμε μέχρι τώρα, οι διευθύνσεις των δεδομένων καθορίζονταν οριστικά και αμετάκλητα από το πρόγραμμα: ήταν γραμμένες μέσα του (στη μνήμη εντολών, όπου δεν αλλάζουν οι πληροφορίες την ώρα που τρέχει το πρόγραμμα). Μιά τέτοια εντολή κάνει πάντα την πράξη της στην ίδια μεταβλητή --στην ίδια θέση (διεύθυνση) της μνήμης δεδομένων. Με τέτοιες εντολές και μόνο δεν μπορούμε να επεξεργαστούμε δομές δεδομένων (πίνακες, λίστες, δένδρα, κλπ): δεν μπορούμε να γράψουμε ένα κομάτι προγράμματος μέσα σ' ένα βρόχο που κάθε φορά που θα επανεκτελείται να προσπελαύνει διαφορετικά στοιχεία της δομής δεδομένων, σε διαφορετικές διευθύνσεις της μνήμης δεδομένων κάθε φορά. Γιά να αποκτήσει ο υπολογιστής μας και αυτή τη δυνατότητα --την τελευταία που μας μένει γιά να γίνει Page 4 of 10

5 πραγματικός υπολογιστής!-- χρειάζεται δυό-τρείς εντολές ακόμα, όπως θα αναλύσουμε σε αυτή την παράγραφο. Στο παράδειγμα δεξιά, υπάρχει ένας πίνακας (array) από αριθμούς, A 0, A 1, A 2, A 3,... αποθηκευμένος στις διευθύνσεις μνήμης (δεδομένων) 80, 81, 82, 83,... Παρατηρήστε ότι το στοιχείο A i βρίσκεται στη διεύθυνση (80+i). Ο αριθμός A = 80 λέγεται διεύθυνση βάσης του πίνακα. Ας πούμε ότι θέλουμε να διπλασιάσουμε τα n πρώτα στοιχεία αυτού του πίνακα, A 0,..., A n-1, όπου n είναι ένας αριθμός που δίδεται σαν είσοδος. Αυτό θα το κάνουμε με το βρόχο που φαίνεται γραμμένος σε γλώσσα C στο σχήμα πάνω αριστερά το πρόγραμμα αυτό βρίσκεται γραμμένο στις θέσεις 30-3C (μνήμη εντολών) του υπολογιστή στο εργαστήριο, και φαίνεται δεξιά σε γλώσσα Assembly. Η εντολή input 1C (θέση 30) διαβάζει την τιμή n και την γράφει στη θέση 1C της μνήμης δεδομένων. Οι δύο επόμενες εντολές αρχικοποιούν τη μεταβλητή i του προγράμματος, που κρατιέται στη διεύθυνση 1D, χρησιμοποιώντας την τιμή 0 από τη θέση 00. Την μεταβλητή i θα χρησιμοποιήσουμε σαν μετρητή του βρόχου μας, γιά να επεξεργαζόμαστε κάθε φορά το στοιχείο A i του πίνακα. Ο βρόχος αρχίζει στη διεύθυνση 33, ελέγχοντας αν το i είναι μικρότερο του n αν δεν είναι ο βρόχος δεν εκτελείται άλλο (γιά n αρνητικό ή μηδέν, δεν θα εκτελεστεί ούτε μιά φορά). Η σύγκριση γίνεται μέσω της ισοδύναμης έκφρασης i-n<0: αφού υπολογιστεί το i-n, φεύγουμε από το βρόχο όταν η έκφραση αυτή είναι ψευδής, δηλαδή όταν i-n είναι μεγαλύτερο ή ίσο με μηδέν (εντολή bge) η έξοδος από το βρόχο, εδώ, είναι επιστροφή στην αρχή του προγράμματος γιά να ζητηθεί νέα τιμή n. Όταν μπούμε στο βρόχο, αρχικά υπολογίζουμε την διεύθυνση p του στοιχείου A i του πίνακα, διότι μόνον αν ξέρουμε τη διεύθυνσή του μπορούμε να το βρούμε και να το επεξεργαστούμε η διεύθυνση p του δεδομένου A i λέγεται pointer (δείκτης) σε αυτό το στοιχείο. Όπως παρατηρήσαμε παραπάνω, η διεύθυνση αυτή είναι p=(80+i), και την υπολογίζουμε με τις εντολές 36-38, οι οποίες και την γράφουν στη θέση 1F της μνήμης δεδομένων. Κατά την πρώτη επανάληψη του βρόχου, i=0 και p=80 δείχνει στο πρώτο στοιχείο, A 0 στην δεύτερη επανάληψη, i=1 και p=81 δείχνει στο A 1 την τρίτη φορά, όπως στο σχήμα, i=2 και p=82 δείχνει το A 2. Οι τρείς νέες εντολές του υπολογιστή μας φαίνονται στις θέσεις 39-3B του προγράμματος. Ενώ η απλή εντολή ld ADDR κάνει ACC:=DM[ADDR] (δηλαδή φορτώνει τον καταχωρητή από τη θέση ADDR), η νέα εντολή, load indexed, ldx ADDR, κάνει ACC:=DM[DM[ADDR]], δηλαδή φορτώνει τον καταχωρητή από τη θέση της μνήμης δεδομένων την οποία ορίζει η θέση ADDR --όπως λέμε, έχουμε μιαν έμμεση πρόσβαση (indirect access). Στο παράδειγμά μας, ενώ η απλή εντολή ld 1F θα έφερνε στον συσσωρευτή τα δεδομένα της θέσης 1F, δηλαδή τον αριθμό 82, η νέα εντολή ldx 1F διαβάζει από τη θέση 1F τον αριθμό 82, και χρησιμοποιεί αυτό τον αριθμό σα διεύθυνση του πραγματικού δεδομένου γιά να φέρει τελικά στο συσσωρευτή τον αριθμό A 2 από τη θέση 82. Εάν η εντολή ήταν μιά απλή load, τότε κάθε φορά που θα επαναλαμβάνονταν ο βρόχος, πάντα η εντολή αυτή θα διάβαζε την ίδια θέση μνήμης, 1F. Τώρα που η εντολή είναι load indexed, σε κάθε επανάληψη του βρόχου η θέση μνήμης που τελικά διαβάζουμε αλλάζει: στην αρχή ήταν η 80, μετά η 81, ύστερα η 82, κ.ο.κ. έτσι πετυχαίνουμε να επεξεργαζόμαστε διαφορετικό στοιχείο της δομής δεδομένων κάθε φορά! Κατ' αναλογία προς την ldx 1F, η add indexed addx 1F διαβάζει από τη θέση 1F τον αριθμό 82, και χρησιμοποιεί αυτό τον αριθμό σα διεύθυνση του πραγματικού δεδομένου γιά να προσθέσει τελικά στο συσσωρευτή τον αριθμό A 2 από τη θέση 82. Αφού ο συσσωρευτής περιείχε ήδη τον αριθμό A 2, το άθροισμα που προκύπτει ισούται με το επιθυμητό διπλάσιο, 2*A 2. Κατ' αναλογία προς τις ldx και addx, η store indexed stx 1F διαβάζει από τη θέση 1F τον αριθμό 82, και χρησιμοποιεί αυτό τον αριθμό σα διεύθυνση της πραγματικής θέσης όπου θα αποθηκεύσει το περιεχόμενο του συσσωρευτή έτσι, στο παράδειγμά μας, η stx 1F θα γράψει τελικά στη θέση 82 (στην Page 5 of 10

6 προηγούμενη ανακύκλωση είχε γράψει στη θέση 81, και στην προ-προηγούμενη στη θέση 80). Άρα, τελικά, το αρχικό A 2 στη θέση 82 αντικαθίσταται από το διπλάσιό του. Ο βρόχος ολοκληρώνεται αυξάνοντας το i κατά 1, και επιστρέφοντας στην εντολή 33 γιά να συγκρίνουμε τη νέα τιμή του i με το n, κ.ο.κ. Όπως είδαμε, οι νέες εντολές μεταφέρουν μεταξύ μνήμης και συσσωρευτή όχι το περιεχόμενο μιάς σταθερής --πάντα της ίδιας-- θέσης (διεύθυνσης) μνήμης, αλλά το περιεχόμενο μιάς μεταβλητής θέσης μνήμης --μιάς θέσης που τη διεύθυνσή της να μπορεί να την υπολογίζει και να την αλλάζει κατά βούληση το ίδιο το πρόγραμμα την ώρα που τρέχει! Γιά να κάνουμε και αφαιρέσεις και λογικές πράξεις με στοιχεία δομών δεδομένων, θα μας βόλευαν και οι αντίστοιχες εντολές subx, andx, norx. Πάντως, μπορούμε να κάνουμε και χωρίς αυτές (ακομή και χωρίς την addx), αρκεί να έχουμε τις ldx και stx: Αντιγράφουμε το επιθυμητό στοιχείο της δομής δεδομένων σε μιά σταθερή θέση tmp (π.χ. ldx p; st tmp), κάνουμε τις πράξεις που θέλουμε πάνω σε τέτοιες σταθερές προσωρινές θέσεις (π.χ. ld tmp2; sub tmp), και στο τέλος στέλνουμε το αποτέλεσμα στη θέση της δομής δεδομένων που θέλουμε (π.χ. stx p) Υλοποίηση Εντολών Indexed Γιά να μπορεί να εκτελεί τις εντολές ldx, stx, και addx, ο υπολογιστής μας χρειάζεται τα δύο κυκλώματα στο μέσον του datapath που δεν είχαν χρησιμοποιηθεί μέχρι στιγμής. Πρώτον, χρειάζεται ένα πολυπλέκτη στην είσοδο διευθύνσεων της μνήμης δεδομένων, προκειμένου η διεύθυνση αυτή να μπορεί να προέρχεται είτε από την εντολή --γιά τις απλές περιπτώσεις-- είτε από ένα δεδομένο που διαβάσαμε από την ίδια τη μνήμη δεδομένων --γιά τη δεύτερη φάση των εντολών indexed. Δεύτερον, επειδή πρέπει να γίνουν δύο αναγνώσεις από τη μνήμη δεδομένων, η μία μετά την άλλη, χρειαζόμαστε και έναν καταχωρητή, TMP, που να κρατάει το αποτέλεσμα της πρώτης ανάγνωσης διαθέσιμο γιά τη δεύτερη. Γιά τον τελευταίο αυτό λόγο, οι εντολές indexed δεν μπορούν να εκτελεστούν σε ένα μόνο κύκλο ρολογιού, όπως οι υπόλοιπες εντολές: χρειάζεται μιά ενδιάμεση ακμή ρολογιού η οποία να τερματίσει την πρώτη ανάγνωση από τη μνήμη δεδομένων και να ξεκινήσει την δεύτερη. Έτσι, και το κύκλωμα ελέγχου δεν μπορεί πιά να είναι συνδυαστικό: χρειάζεται και 1 bit κατάστασης που να μας πληροφορεί αν τώρα βρισκόμαστε στον πρώτο ή στο δεύτερο κύκλο της εκτέλεσης. Στο πρώτο διάγραμμα, πιό πάνω, φαίνονται οι πράξεις και μεταφορές καταχωρητών που πρέπει να γίνουν στο datapath κατά τον πρώτο κύκλο εκτέλεσης των τριών νέων εντολών. Πρέπει να γίνει ανάγνωση από τη μνήμη δεδομένων (ενεργοποίηση dmrd), αλλά το προϊόν αυτής της ανάγνωσης είναι ένα ενδιάμεσο αποτέλεσμα --μία νέα διεύθυνση-- και όχι το τελικό αποτέλεσμα της εντολής. Γιά το λόγο αυτό η έξοδος της μνήμης δεδομένων, από το BUS, οδηγείται να αποθηκευτεί στον προσωρινό καταχωρητή TMP (η είσοδος επίτρεψης φόρτωσης, tmpld, αυτού του καταχωρητή είναι πάντα ενεργοποιημένη, επειδή το περιεχόμενο του TMP το καταναλώνουμε πάντα μέσα στον πρώτο κύκλο μετά το φόρτωμά του, άρα δεν έχουμε ανάγκη αυτό να διατηρείται γιά μακρότερο). Το addrmd πρέπει να έχει την κανονική του τιμή (0), διότι η πρώτη αυτή ανάγνωση από την μνήμη Page 6 of 10

7 δεδομένων γίνεται από την θέση που υποδεικνύει το πεδίο ADDR της εντολής. Πρέπει να κρατηθούν σβηστά τα pcld και accld διότι δεν πρέπει να πειραχτούν οι αντίστοιχοι καταχωρητές: ο PC δεν πρέπει να αλλάξει διότι δεν τέλειωσε η εκτέλεση της εντολής ακόμα (μόλις αλλάξει ο PC αλλάζει και ο opcode στην έξοδο της μνήμης εντολών), και ο ACC δεν πρέπει να αλλάξει διότι δεν είμαστε ακόμη έτοιμοι να κάνουμε την επιθυμητή πράξη πάνω του (π.χ. πρόσθεση νέων δεδομένων σε αυτόν (addx), ή αποθήκευσή του (stx)). Στο δεύτερο διάγραμμα, παρακάτω, φαίνονται οι λειτουργίες που πρέπει να γίνουν κατά τον δεύτερο κύκλο εκτέλεσης μιάς εντολής ldx. Πρέπει να γίνει η δεύτερη ανάγνωση από τη μνήμη δεδομένων --αυτή τη φορά των δεδομένων αυτών καθ'εαυτών που θέλουμε να φορτώσουμε στο συσσωρευτή. Η ανάγνωση αυτή δεν γίνεται από τη διεύθυνση ADDR που περιέχει η εντολή, αλλά από τη διεύθυνση TMP που διαβάσαμε κατά τον πρώτο κύκλο από τη μνήμη δεδομένων γιά να γίνει αυτή η επιλογή πρέπει να σήμα addrmd να πάρει την μη συνήθη τιμή του, 1. Τα δεδομένα που διαβάζονται πρέπει να περάσουν στο συσσωρευτή κατά τρόπο εντελώς ανάλογο με την απλή εντολή ld: dmrd=1, alumd=passb, accld=1. Επίσης, πρέπει να ανάψουμε το σήμα pcld, αφού αυτός είναι ο τελευταίος κύκλος εκτέλεσης της εντολής: στον επόμενο κύκλο, ο PC πρέπει να έχει τη νέα του τιμή, γιά να εκτελεστεί η επόμενη εντολή. Γιά τις εντολές addx, οι λειτουργίες κατά τον δεύτερο κύκλο εκτέλεσης είναι παρόμοιες: το μόνο που αλλάζει είναι το alumd=add. Γιά τις εντολές stx, οι λειτουργίες του δεύτερου κύκλου εκτέλεσης θυμίζουν εκείνες της απλής st: ο ACC οδηγεί το BUS (acc2bus=1) και τα δεδομένα αυτά γράφονται στη μνήμη δεδομένων (dmwr=1). Η διαφορά από την απλή st είναι στο addrmd: εκεί ήταν 0, οπότε γράφαμε στη διεύθυνση ADDR που περιέχει η εντολή, ενώ εδώ είναι 1, οπότε γράφουμε στη διεύθυνση TMP που διαβάσαμε κατά τον πρώτο κύκλο από την ίδια τη μνήμη δεδομένων. Θυμηθήτε ότι, και γιά τις τρείς ldx, addx, stx, ο πρώτος κύκλος εκτέλεσης είναι ίδιος. Όπως είπαμε παραπάνω, αφού μερικές εντολές του τελικού υπολογιστή μας χρειάζονται δύο κύκλους ρολογιού γιά την εκτέλεσή τους, το κύκλωμα ελέγχου δεν μπορεί πιά να είναι συνδυαστικό: χρειάζεται και 1 bit κατάστασης που να μας πληροφορεί αν τώρα βρισκόμαστε στον πρώτο ή στο δεύτερο κύκλο της εκτέλεσης. Η FSM του κυκλώματος ελέγχου που προκύπτει θα έχει το διάγραμμα καταστάσεων που φαίνεται δεξιά. Έστω S το bit κατάστασης της FSM. Όταν S=0 θα σημαίνει ότι βρισκόμαστε στον πρώτο ή και μοναδικό κύκλο εκτέλεσης της εντολής. Μετά από έναν κύκλο S=0, μόνον οι εντολές ldx, addx, stx πηγαίνουν στην κατάσταση S=1, δηλαδή σε δεύτερο κύκλο εκτέλεσης --όλες οι άλλες παραμένουν στην κατάσταση S=0, δηλαδή στον πρώτο κύκλο εκτέλεσης, φυσικά της επόμενης εντολής. Οι εντολές ldx, addx, stx, μετά την κατάσταση S=1, πηγαίνουν πάντα στην S=0, δηλαδή στον πρώτο κύκλο εκτέλεσης --φυσικά της επόμενης εντολής. Κανονικά, χρειαζόμαστε ένα σήμα αρχικοποιήσης (reset) της FSM, που να την φέρνει στην Page 7 of 10

8 κατάσταση S=0. Γιά λόγους απλοποίησης δεν θα χρησιμοποιήσουμε τέτοιο σήμα, βασιζόμενοι στο ότι αν η FSM εκκινήσει σε S=1, τότε πάντοτε τον επόμενο κύκλο θα μεταβεί σε S=0, σύμφωνα με το διάγραμμα μετάβασης καταστάσεών της. Επίσης, πάλι γιά απλοποίηση, θα κάνουμε τις εντολές που εκτελούνται σε ένα κύκλο να αγνοούν την τιμή του bit κατάστασης, S. Έτσι, εάν η εντολή που εκτελείται τον πρώτο κύκλο ρολογιού δεν είναι ldx, addx, stx, αυτή θα εκτελεστεί σωστά ακόμα κι αν το bit κατάστασης S=1 κατά τον πρώτο εκείνο κύκλο, λόγω έλλειψης reset. Σε μας αυτό εξασφαλίζεται, γιατί η εντολή στη θέση 00 είναι η input 10. Φυσικά, το σήμα reset δεν μπορούμε να το γλυτώσουμε εντελώς, διότι πρέπει κάποιος να αρχικοποιήσει τον PC=0 γιά απλοποίηση των κυκλωμάτων σας, αυτό το κάνει μόνη της η πλακέτα του υπλογιστή, με το δικό της κουμπί reset (αριστερά κάτω) ή μόλις ανάβει η τροφοδοσία. Βάσει των παραπάνω, ο πίνακας αληθείας της 12.2 επεκτείνεται με τις 3 νέες εντολές όπως φαίνεται παρακάτω. Αυτό είναι και το πλήρες κύκλωμα ελέγχου του υπολογιστή μας. Η είσοδος S είναι το bit κατάστασης η έξοδος ns είναι η επόμενη κατάσταση. Το σήμα pcmd γιά τις εντολές διακλάδωσης εμφανίζεται σαν απλός αστερίσκος (*), παραπέμποντας στον πλήρη ορισμό του στην παραπάνω 12.2 ή στήν ισοδύναμη εξίσωση στην 12.4 γιά τον ίδιο λόγο, οι είσοδοι acczero, accsign έχουν παραληφθεί από τον πίνακα. Παρατηρήστε ότι το σήμα pcld είναι το συμπλήρωμα του ns (φορτώνουμε πάντα τον PC αμέσως πριν μεταβούμε στην κατάσταση 0 γιά να εκτελέσουμε μιάν επόμενη εντολή). opcode: Λειτουργία: addrmd alumd acc2bus dmwr pcmd S: ns: dmrd accld ext2bus im2bus pcld 0000 (add) x ACC:=ACC+DM[A] (sub) x ACC:=ACC-DM[A] (and) x ACC:=ACCandDM[A] (nor) x ACC:=ACCnorDM[A] (inp) x DM[A]:=IO_BUS xxx (ld) x ACC:=DM[A] xx (st) x DM[A]:=ACC xxx (jmp) x PC := A xxx (beq) x PC := A or PC xxx (*) (bne) x PC := A or PC xxx (*) (blt) x PC := A or PC xxx (*) (bge) x PC := A or PC xxx (*) (addx) 0 TMP:=DM[A] xxx x ACC:=ACC+DM[TMP] (ldx) 0 TMP:=DM[A] xxx x ACC:= DM[TMP] xx (stx) 0 TMP:=DM[A] xxx x DM[TMP]:=ACC xxx (jmpx) x PC := DM[A] xxx Πείραμα 12.7 Συνολικό Κύκλωμα Ελέγχου Σχεδιάστε το πλήρες κύκλωμα ελέγχου, βασισμένοι στον παραπάνω πίνακα αληθείας του. Επειδή το κύκλωμα αυτό είναι πολύ μεγάλο γιά να το φτιάξετε όλο με τις λίγες απλές πύλες AND και OR των 2 εισόδων που έχετε στα chips σας, θα βρείτε στις πλακέτες (breadboard) ένα επιπλέον chip που θα περιέχει έτοιμες αρκετές από τις λογικές συναρτήσεις που θα σας χρειαστούν. Πρόκειται γιά το chip PAL CE 22V10 H-15PC/4, που είναι ένα chip προγραμματιζόμενης λογικής (PAL - Programmable Array Logic). Οι ακροδέκτες της PAL αυτής, με τον τρόπο που εσείς θα τις χρησιμοποιήστε, φαίνονται στο πιό κάτω σχήμα. Θα τροφοδοτήστε στην PAL 6 εισόδους: τα 4 bits του opcode και τα 2 bits ελέγχου προσήμου/μηδενισμού του συσσωρευτή. Τα pins 1, 6, 7, 10, 11, και 13 είναι αχρησιμοποιήτες είσοδοι, και μπορείτε να τα αφήσετε ασύνδετα επειδή η PAL έχει προγραμματιστεί να αγνοεί την τιμή τους. Η PAL γεννά 10 εξόδους γιά σας, τις εξής: P_op: ανάβει όποτε ο opcode υποδεικνύει εντολή πράξης (operation), απλή (όχι indexed), η οποία μεταβάλει το συσσωρευτή, δηλαδή όταν ο opcode είναι ένας από τους { add, sub, and, nor, ld }, ή αλλοιώς όποτε opcode==00xx ή opcode==0101. P_brJmp: ανάβει όποτε ο opcode υποδεικνύει εντολή διακλάδωσης ή απλού (όχι indexed) άλματος, δηλαδή όταν ο opcode είναι ένας από τους { beq, bne, blt, bge, jmp }, ή αλλοιώς Page 8 of 10

9 όποτε opcode==10xx ή opcode==0111. P_opx: ανάβει όποτε ο opcode υποδεικνύει εντολή πράξης indexed η οποία μεταβάλει το συσσωρευτή, δηλαδή όταν ο opcode είναι ένας από τους { addx, ldx }, ή αλλοιώς όποτε opcode==110x P_opxSx: ανάβει όποτε ο opcode υποδεικνύει εντολή πράξης ή αποθήκευσης indexed, δηλαδή όταν ο opcode είναι ένας από τους { addx, ldx, stx }, ή αλλοιώς όποτε opcode==110x ή opcode==1110. P_inp: ανάβει όταν και μόνον όταν opcode==0100, δηλαδή είναι η εντολή input. P_st: ανάβει όταν και μόνον όταν opcode==0110, δηλαδή είναι η εντολή store. P_inpSt: ανάβει όταν opcode==01x0, δηλαδή όταν η εντολή είναι input ή store. P_stx: ανάβει όταν και μόνον όταν opcode==1110, δηλαδή είναι η εντολή store indexed (stx). PopAlljx: ανάβει όποτε ο opcode υποδεικνύει εντολή πράξης, απλής ή indexed, η οποία μεταβάλει το συσσωρευτή, ή υποδεικνύει την εντολή jump indexed, δηλαδή όταν ο opcode είναι ένας από τους { add, sub, and, nor, ld, addx, ldx, jmpx }, ή αλλοιώς όποτε ο opcode είναι 00xx ή x101 ή 110x ή 11x1. pcmd = [(opcode==x111)] OR [(opcode==100x) AND (opcode[0] XOR acczero)] OR [(opcode==101x) AND (opcode[0] XOR accsign)], δηλαδή είναι έτοιμο το σήμα που πρέπει να ελέγξει τον πολυπλέκτη στην είσοδο του PC. Στο εργαστήριο, κατασκευάστε το κύκλωμα ελέγχου του απλού υπολογιστή, χρησιμοποιώντας την παραπάνω PAL καθώς και δικά σας chips γιά το (ένα) flip-flop κατάστασης, γιά έναν αντιστροφέα γιά το bit κατάστασης, και γιά μερικές πύλες AND και OR που θα χρειαστείτε. Θα χρειαστείτε ένα κοινό ρολόϊ που να τροφοδοτεί τόσο το δικό σας flip-flop κατάστασης όσο και το datapath του απλού υπολογιστή. Χρησιμοποιήστε το διακόπτη A, από την πλακέτα εισόδων/εξόδων, δεξιά, γιά το σκοπό αυτό. Την έξοδο αυτού του διακόπτη, από την δεξιά καλωδιοταινία, δώστε την τόσο στο δικό σας chip με το flip-flop κατάστασης όσο και στο datapath του υπολογιστή μέσω της αριστερής καλωδιοταινίας. Γιά τον τελευταίο αυτό σκοπό, τροφοδοτήστε το σήμα από τον διακόπτη A στον ακροδέκτη clock2p (τελευταίος δεξιά) της καλωδιοταινίας από/προς το datapath. Εσωτερικά, ο απλός υπολογιστής χρησιμοποιεί σαν ρολόϊ του το λογικό OR αυτής της εισόδου clock2p και του δικού του διακόπτη άρα τελικά, πατώντας μόνο τον διακόπτη A και όχι τον διακόπτη ρολογιού του datapath, θα έχετε ένα ισοδύναμο ρολόϊ γιά το datapath που ταυτίζεται με την έξοδο του διακόπτη A. Ελέγξτε το κύκλωμά σας και τον υπολογιστή εκτελώντας τα παραπάνω προγράμματα στις διευθύνσεις 20 και 30 γιά διάφορες τιμές εισόδου. Ο πίνακας στοιχείων A 0, A 1,..., A 127 στις διευθύνσεις 80, 81,..., FF της μνήμης δεδομένων αρχικοποιείται γιά σας σε κάθε reset στις τιμές: 01, FF, 02, FE, 03, FD, 04, FC,..., 3F, C1, 40, C0, κατά σειρά. Επιστροφή των Chips του Εργαστηρίου Μετά τη λήξη του εργαστηρίου 12 υποχρεούστε να επιστρέψετε το σακκουλάκι με τα chips που σας δόθηκε γιά τις εργαστηριακές ασκήσεις αυτού του μαθήματος. Επιστρέψτε τα στον κ. Νίκο Κρασσά, μέλος ΕΔΤΠ του Τμ.Επ.Υπ., τηλέφωνο , στο γραφείο Β-220 του Προκατασκευασμένου Κτιρίου, κατά τις εργάσιμες μέρες και ώρες, μέχρι Τετάρτη 20 Ιανουαρίου Η επιστροφή των chips είναι απαραίτητη προϋπόθεση γιά να περάσετε το μάθημα. Καθυστερημένες επιστροφές ΔΕΝ θα γίνονται δεκτές: όποιος δεν επιστρέψει τα chips εγκαίρως κόβεται στο μάθημα Ταχύτητα και Κατανάλωση Ενέργειας των Κυκλωμάτων CMOS: Η κυριότερη πηγή καθυστερήσεων στα μικροηλεκτρονικά chips είναι ο χρόνος Δt που ένα ρεύμα I χρειάζεται γιά να φορτίσει ή να εκφορτίσει μιά παρασιτική χωρητικότητα C αλλάζοντας την τάση της κατά ΔV: Δt = ΔQ / I = C ΔV / I (όπου ΔQ είναι το ηλεκτρικό φορτίο που δίνουμε ή παίρνουμε από τη χωρητικότητα). Από την εξίσωση αυτή προκύπτει ότι γιά να έχουμε γρηγορότερα Page 9 of 10

10 κυκλώματα, δηλαδή γιά να ελαττώσουμε την καθυστέρηση Δt της κάθε πύλης, πρέπει: Να ελαττώσουμε την παρασιτική χωρητικότητα "φορτίου" C που είναι συνδεδεμένη στην έξοδο της πύλης, και που επομένως η πύλη αυτή πρέπει να την φορτίζει και να την εκφορτίζει κάθε φορά που χρειάζεται να αλλάξει την τάση (λογική τιμή) της εξόδου της. Η χωρητικότητα φορτίου μιάς πύλης καθορίζεται από το πόσο πολλά και πόσο μεγάλα πράγματα συνδέονται στην έξοδό της. Όσο περισσότερες άλλες πύλες έχουμε συνδέσει στην έξοδό της ("fan-out"), τόσο μεγαλώνει αυτή η χωρητικότητα φορτίου. Επίσης, όσο μεγαλύτερα transistors έχουν αυτές οι άλλες πύλες, πάλι τόσο μεγαλώνει η χωρητικότητα φορτίου. Ακόμα, εάν υπάρχουν μακρυά καλώδια συνδεδεμένα στην έξοδό μας, και αυτά προσθέτουν χωρητικότητα. Άρα, γιά γρήγορα κυκλώματα, πρέπει κάθε πύλη να οδηγεί λίγες άλλες, μικρές πύλες, σε κοντινές αποστάσεις: όσο μικρότερο και απλούστερο είναι ένα κύκλωμα, τόσο γρηγορότερα δουλεύει! Να ελαττώσουμε τις αλλαγές τάσης ΔV της χωρητικότητας φορτίου της πύλης. Συνήθως, αυτές είναι αλλαγές μεταξύ των δύο λογικών επιπέδων, "0" και "1", δηλ. μεταξύ 0 Volt και της τάσης τροφοδοσίας. Έτσι, νεότερες γενιές chips έχουν χαμηλότερη τάση τροφοδοσίας (π.χ. 2.5 V, 1.8 V, 1.2 V) από τις παλαιότερες (αλλά δυστυχώς αυτό μειώνει και το ρεύμα I των transistors, κι έτσι το κάνουν κυρίως γιά μείωση της κατανάλωσης ενέργειας, και όχι τόσο γιά αύξηση ταχύτητας). Ένα μειονέκτημα της μείωσης αυτής είναι ότι τα κυκλώματα γίνονται πιό ευαίσθητα στο θόρυβο, π.χ. θόρυβος 1.5 Volt είναι αδιάφορος σε κυκλώματα των 5 Volt, ενώ είναι καταστροφικός σε κυκλώματα με τροφοδοσία 1.2 Volt. Να αυξήσουμε το ρεύμα I που η πύλη μπορεί να δώσει στην έξοδό της προκειμένου να κάνει τη χωρητικότητα φορτίου να αλλάξει τάση (λογική τιμή). Τό I καθορίζεται από τρείς παράγοντες: Όσο λιγότερα transistors εν σειρά έχει το κύκλωμα μιάς πύλης, τόσο μεγαλύτερο ρεύμα μπορεί να περάσει μέσα από αυτά. Αν θυμηθούμε ότι μιά πύλη έχει τόσα transistors εν σειρά όσες και οι είσοδοί της, προκύπτει ότι γιά γρήγορα κυκλώματα πρέπει οι πύλες να έχουν λίγες εισόδους η κάθε μία (μικρό "fan-in"), άρα και πάλι όσο απλούστερο είναι ένα κύκλωμα, τόσο γρηγορότερα δουλεύει! Όσο μεγαλύτερο είναι ένα transistor (όσο φαρδύτερο είναι το κανάλι του), τόσο μεγαλύτερο ρεύμα δίνει. Το κακό με κάθε μεγάλο transistor είναι ότι αυξάνει ανάλογα και η παρασιτική του χωρητικότητα, επομένως η προηγούμενη πύλη που οδηγεί αυτό το transistor βλέπει μεγαλύτερη χωρητικότητα φορτίου και γίνεται πιό αργή! Όσο μεγαλύτερη είναι η τάση οδήγησης ενός transistor τόσο μεγαλύτερο ρεύμα δίνει αυτό. Το κακό με το μεγάλωμα της τάσης οδήγησης των transistors, δηλαδή της τάσης τροφοδοσίας, είναι ότι αυτή αυξάνει και το ΔV της εξόδου που λέγαμε παραπάνω, άρα είναι "δώρον άδωρο". Εκτός από την ταχύτητα ενός κυκλώματος, το άλλο σημαντικό χαρακτηριστικό που μας απασχολεί είναι η κατανάλωση ενέργειας ανά μονάδα χρόνου (ηλεκτρική ισχύς): πόσο γρήγορα ξοδεύει την μπαταρία, ή πόσο πολύ ζεσταίνεται (πόσους ανεμιστήρες ή κλιματιστικά χρειάζεται). Συνήθως η σημαντικότερη αιτία κατανάλωσης των chips CMOS είναι η ενέργεια φόρτισης και εκφόρτισης των παρασιτικών χωρητικοτήτων που αυτά έχουν μέσα τους. Κάθε φορά που η λογική τιμή ενός ηλεκτρικού κόμβου ανεβαίνει από το 0 στο 1 και μετά ξαναπέφτει στο 0, χάνεται (μετατρέπεται σε θερμότητα) ποσότητα ενέργειας ίση πρός C V 2, όπου C η παρασιτική χωρητικότητα του κόμβου και V η τάση τροφοδοσίας. Αυτός είναι ο κύριος λόγος γιά τον οποίο οι νεότερες γενιές chips έχουν χαμηλότερη τάση τροφοδοσίας (π.χ. 2.5 V, 1.8 V, 1.2 V) από τις παλαιότερες. Γιά δοσμένη τάση τροφοδοσίας, όσο περισσότεροι, και μεγαλύτερης χωρητικότητας, ηλεκτρικοί κόμβοι ανεβοκατεβαίνουν (αναβοσβήνουν) μέσα σε ένα chip, και όσο περισσότερες φορές ανά δευτερόλεπτο το κάνουν αυτό, τόσο μεγαλύτερη ισχύ καταναλώνει το chip αυτό. Άρα, γιά μικρή κατανάλωση, πρέπει ένα κύκλωμα να είναι μικρό (λίγες πύλες, μικρή χωρητικότητα), ή να δουλεύει αργά (λιγότερα ανεβοκατεβάσματα ανά δευτερόλεπτο --κατά προτίμηση με χαμηλή τάση τροφοδοσίας), ή να δουλεύει γιά λίγο και μετά να κάθεται (να μην αλλάζει κατάσταση), ή τις περισσότερες φορές να εργάζεται ένα μικρό μόνο μέρος του κυκλώματος και το υπόλοιπο να κάθεται. Up to the Home Page of CS-120 copyright University of Crete, Greece. last updated: 4 Dec. 2009, by M. Katevenis. Page 10 of 10

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Ψηφιακή Σχεδίαση Εργαστήριο 12: Διακλαδώσεις, Έμμεσες Προσπελάσεις (Pointers), και περί Ταχύτητας και Κατανάλωσης Ενέργειας των Κυκλωμάτων CMOS Μανόλης Γ.Η. Κατεβαίνης

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 11: Ένας απλός Υπολογιστής: Datapath & Εντολές Πράξεων

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

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

Εργαστήριο 11: Ένας απλός Υπολογιστής: Datapath & Εντολές Πράξεων

Εργαστήριο 11: Ένας απλός Υπολογιστής: Datapath & Εντολές Πράξεων 1 of 10 ΗΥ-120: Ψηφιακή Σχεδίαση Φθινόπωρο 2007 Τμ. Επ. Υπολογιστών Πανεπιστήμιο Κρήτης Εργαστήριο 11: Ένας απλός Υπολογιστής: Datapath & Εντολές Πράξεων 17-20 Δεκεμβρίου 2007 Στο τελευταίο αυτό μέρος

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

Σηµειώσεις 11: Ένας απλός Υπολογιστής και περί Ταχύτητας και Κατανάλωσης Ενέργειας των Κυκλωµάτων CMOS

Σηµειώσεις 11: Ένας απλός Υπολογιστής και περί Ταχύτητας και Κατανάλωσης Ενέργειας των Κυκλωµάτων CMOS /12/2004 12:06 µµ 1 of 8 ΗΥ-120: Ψηφιακή Σχεδίαση Φθινόπωρο 2004 Τµ. Επ. Υπολογιστών Πανεπιστήµιο Κρήτης Σηµειώσεις 11: Ένας απλός Υπολογιστής και περί Ταχύτητας και Κατανάλωσης Ενέργειας των Κυκλωµάτων

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

Εργαστήριο 11: Ένας απλός Υπολογιστής: Datapath & Εντολές Πράξεων

Εργαστήριο 11: Ένας απλός Υπολογιστής: Datapath & Εντολές Πράξεων 1 of 10 ΗΥ-120: Ψηφιακή Σχεδίαση Φθινόπωρο 2006 Τµ. Επ. Υπολογιστών Πανεπιστήµιο Κρήτης Εργαστήριο 11: Ένας απλός Υπολογιστής: Datapath & Εντολές Πράξεων 29 Ιανουαρίου - 1 Φεβρουαρίου 2007 Το φυλλάδιο

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

Εργαστήριο 11: Ένας απλός Υπολογιστής: Datapath & Εντολές Πράξεων

Εργαστήριο 11: Ένας απλός Υπολογιστής: Datapath & Εντολές Πράξεων 7/12/2005 2:06 µµ 1 of 9 ΗΥ-120: Ψηφιακή Σχεδίαση Φθινόπωρο 2005 Τµ. Επ. Υπολογιστών Πανεπιστήµιο Κρήτης Εργαστήριο 11: Ένας απλός Υπολογιστής: Datapath & Εντολές Πράξεων 12-16 εκεµβρίου 2005 Στο τελευταίο

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

Ολοκληρωμένα Κυκλώματα

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

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

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας Κεφάλαιο 3 ο Αρχιτεκτονική Υπολογιστών Μάθημα 3.: Κεντρική Μονάδα Επεξεργασίας Όταν ολοκληρώσεις το κεφάλαιο θα μπορείς: Να σχεδιάζεις την εσωτερική δομή της ΚΜΕ και να εξηγείς τη λειτουργία των επιμέρους

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Οργάνωση Η/Υ Ενότητα 1η: Εισαγωγή στην Οργάνωση Η/Υ Άσκηση 1: Αναλύστε τη διαδοχική εκτέλεση των παρακάτω εντολών MIPS με βάση τις

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

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

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

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

Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας

Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας 4.1 Γενικά Ο υπολογιστής επεξεργάζεται δεδομένα ακολουθώντας βήμα βήμα, τις εντολές ενός προγράμματος. Το τμήμα του υπολογιστή, που εκτελεί τις εντολές και συντονίζει

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

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

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

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

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

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

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

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

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

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

Ολοκληρωμένα Κυκλώματα - Φθινόπωρο 2014 Γ. Δημητρακόπουλος. Εργαστηριακή άσκηση 2

Ολοκληρωμένα Κυκλώματα - Φθινόπωρο 2014 Γ. Δημητρακόπουλος. Εργαστηριακή άσκηση 2 Ολοκληρωμένα Κυκλώματα - Φθινόπωρο 2014 Γ. Δημητρακόπουλος Εργαστηριακή άσκηση 2 Σκοπός αυτής της εργαστηριακής άσκησης είναι να σας θυμίσει (ή να σας δείξει ανάλογα με το βαθμό εξοικίωσης σας) τον τρόπο

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

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

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

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

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Η έννοια του συνδυαστικού

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

Εργαστήριο 8: Μετρητής μέσω Αθροιστή & Καταχωρητή, Ακμοπυροδότηση

Εργαστήριο 8: Μετρητής μέσω Αθροιστή & Καταχωρητή, Ακμοπυροδότηση ΗΥ-120: Ψηφιακή Σχεδίαση Φθινόπωρο 2011 Τμ. Επ. Υπολογιστών Πανεπιστήμιο Κρήτης Εργαστήριο 8: Μετρητής μέσω Αθροιστή & Καταχωρητή, Ακμοπυροδότηση 29 Νοεμβρίου - 2 Δεκεμβρίου 2011 Διαλέξεις βδομάδας 8:

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

6.1 Καταχωρητές. Ένας καταχωρητής είναι μια ομάδα από f/f αλλά μπορεί να περιέχει και πύλες. Καταχωρητής των n ψηφίων αποτελείται από n f/f.

6.1 Καταχωρητές. Ένας καταχωρητής είναι μια ομάδα από f/f αλλά μπορεί να περιέχει και πύλες. Καταχωρητής των n ψηφίων αποτελείται από n f/f. 6. Καταχωρητές Ένας καταχωρητής είναι μια ομάδα από f/f αλλά μπορεί να περιέχει και πύλες. Καταχωρητής των n ψηφίων αποτελείται από n f/f. Καταχωρητής 4 ψηφίων Καταχωρητής με παράλληλη φόρτωση Η εισαγωγή

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

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

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

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

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΚΑΤΑΧΩΡΗΤΕΣ ΟΛΙΣΘΗΤΕΣ

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΚΑΤΑΧΩΡΗΤΕΣ ΟΛΙΣΘΗΤΕΣ ΣΧΟΛΗ ΑΣΠΑΙΤΕ ΤΜΗΜΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΗΛΕΚΤΡΟΛΟΓΙΑΣ ΕΡΓΑΣΤΗΡΙΟ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΘΕΩΡΗΤΙΚΟ ΜΕΡΟΣ ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΚΑΤΑΧΩΡΗΤΕΣ ΟΛΙΣΘΗΤΕΣ 1) Το παρακάτω κύκλωμα του σχήματος 1 είναι ένας καταχωρητής-ολισθητής

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

7 η διάλεξη Ακολουθιακά Κυκλώματα

7 η διάλεξη Ακολουθιακά Κυκλώματα 7 η διάλεξη Ακολουθιακά Κυκλώματα 1 2 3 4 5 6 7 Παραπάνω βλέπουμε ακολουθιακό κύκλωμα σχεδιασμένο με μανταλωτές διαφορετικής φάσης. Παρατηρούμε ότι συνδυαστική λογική μπορεί να προστεθεί μεταξύ και των

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

Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής. Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 3 ο ΜΕΔ απλού κύκλου

Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής. Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 3 ο ΜΕΔ απλού κύκλου Γιώργος Δημητρίου Μάθημα 3 ο ΜΕΔ απλού κύκλου Συνολική Δομή ΚΜΕ Μία ή περισσότερες μονάδες αριθμητικών και λογικών πράξεων Μονάδα ολίσθησης Φάκελος καταχωρητών γενικού σκοπού Κρυφή μνήμη (ενοποιημένη ή

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

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ» Περιεχόμενα Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»... 2 Καταχωρητές... 3 Αριθμητική-λογική μονάδα... 3 Μονάδα μνήμης... 4 Μονάδα Εισόδου - Εξόδου... 5 Μονάδα ελέγχου... 5 Ρεπερτόριο Εντολών «ΑΒΑΚΑ»... 6 Φάση

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

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

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

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

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

7.1 Θεωρητική εισαγωγή ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 7 ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΜΑΝ ΑΛΩΤΕΣ FLIP FLOP Σκοπός: Η κατανόηση της λειτουργίας των βασικών ακολουθιακών κυκλωµάτων. Θα µελετηθούν συγκεκριµένα: ο µανδαλωτής (latch)

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

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access)

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access) Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access) Μελετώντας το μάθημα θα μπορείς να ξέρεις τη λειτουργία του Polling να ξέρεις

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

Κεντρική Μονάδα Επεξεργασίας

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

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

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

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

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

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Παρακάτω δίνονται μερικοί από τους ακροδέκτες που συναντάμε στην πλειοψηφία των μικροεπεξεργαστών. Φτιάξτε έναν πίνακα που να

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 2 ο. ΑΛΓΕΒΡΑ Boole ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 2 ο. ΑΛΓΕΒΡΑ Boole ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ ΜΑΘΗΜΑ 2 ο ΑΛΓΕΒΡΑ Boole ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ 2009-10 ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ 1 Άλγεβρα Βοοle η θεωρητική βάση των λογικών κυκλωμάτων Η άλγεβρα Βοοle ορίζεται επάνω στο σύνολο

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

Καθυστέρηση στατικών πυλών CMOS

Καθυστέρηση στατικών πυλών CMOS Καθυστέρηση στατικών πυλών CMOS Πρόχειρες σημειώσεις Γιώργος Δημητρακόπουλος Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Άνοιξη 2008 Παρόλο που οι εξισώσεις των ρευμάτων των MOS τρανζίστορ μας δίνουν

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

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

ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΨΗΦΙΑΚΑ ΟΛΟΚΛΗΡΩΜΕΝΑ ΗΛΕΚΤΡΟΝΙΚΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ ΟΜΑ Α Α Αριθµητική Λογική Μονάδα των 8-bit 1. Εισαγωγή Γενικά µια αριθµητική λογική µονάδα (ALU, Arithmetic Logic Unit)

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

Εργαστήριο Ψηφιακής Σχεδίασης

Εργαστήριο Ψηφιακής Σχεδίασης ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Εργαστήριο Ψηφιακής Σχεδίασης 8 Εργαστηριακές Ασκήσεις Χρ. Καβουσιανός Επίκουρος Καθηγητής 2014 Εργαστηριακές Ασκήσεις Ψηφιακής Σχεδίασης 2 Εργαστηριακές Ασκήσεις

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Οργάνωση Η/Υ Ενότητα 4η: Μονάδα Ελέγχου Απλού Κύκλου Μηχανής Άσκηση 1: Θεωρήστε τη μονάδα επεξεργασίας δεδομένων της απλοποιημένης

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

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή 8.1 Τακτική σάρωση (Polling) Ας υποθέσουμε ότι έχουμε ένα πληκτρολόγιο συνδεδεμένο σε ένα υπολογιστικό σύστημα. Το πληκτρολόγιο είναι μια μονάδα εισόδου.

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

Κεφάλαιο 6. Σύγχρονα και ασύγχρονα ακολουθιακά κυκλώματα

Κεφάλαιο 6. Σύγχρονα και ασύγχρονα ακολουθιακά κυκλώματα Κεφάλαιο 6 Σύγχρονα και ασύγχρονα ακολουθιακά κυκλώματα 6.1 Εισαγωγή Η εκτέλεση διαδοχικών λειτουργιών απαιτεί τη δημιουργία κυκλωμάτων που μπορούν να αποθηκεύουν πληροφορίες, στα ενδιάμεσα στάδια των

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

Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης 2017

Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης 2017 Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης 2017 Θέμα 1ο (3 μονάδες) Υλοποιήστε το ακoλουθιακό κύκλωμα που περιγράφεται από το κατωτέρω διάγραμμα καταστάσεων,

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

Μνήμη και Προγραμματίσιμη Λογική

Μνήμη και Προγραμματίσιμη Λογική Μνήμη και Προγραμματίσιμη Λογική Η μονάδα μνήμης είναι ένα στοιχείο κυκλώματος στο οποίο μεταφέρονται ψηφιακές πληροφορίες προς αποθήκευση και από το οποίο μπορούμε να εξάγουμε αποθηκευμένες πληροφορίες

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

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

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ (Τμήματα Υπολογιστή) ΕΚΠΑΙΔΕΥΤΗΣ:ΠΟΖΟΥΚΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Κάθε ηλεκτρονικός υπολογιστής αποτελείται

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

Αρχιτεκτονικη υπολογιστων

Αρχιτεκτονικη υπολογιστων ΤΕΙ Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονικη υπολογιστων Τζαγκαράκης Χαράλαμπος hatzagarak@cs.teicrete.gr Εισαγωγη: ο επεξεργαστης και η γλωσσα του Eπεξεργαστής: MIPS Microprocessor Without Interlocked

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

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

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

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

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ Εργαστήριο Σχεδίασης Ψηφιακών Ολοκληρωμένων Κυκλωμάτων και Συστημάτων «Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο 2016-2017 Διάλεξη 5 η :

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

ΠΛΗ10 Κεφάλαιο 2. ΠΛH10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: : Αριθμητική περιοχή της ALU 2.5: Κυκλώματα Υπολογιστών

ΠΛΗ10 Κεφάλαιο 2. ΠΛH10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: : Αριθμητική περιοχή της ALU 2.5: Κυκλώματα Υπολογιστών ΠΛH10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: 2 2.3 : Αριθμητική περιοχή της ALU 2.5: Κυκλώματα Υπολογιστών Στόχοι Μαθήματος: Να γνωρίσετε τις βασικές αρχές αριθμητικής των Η/Υ. Ποια είναι τα κυκλώματα

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

e-book ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ ΑΣΚΗΣΕΙΣ

e-book ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ ΑΣΚΗΣΕΙΣ e-book ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ ΑΣΚΗΣΕΙΣ 1. Να μετατρέψετε τον δεκαδικό 16.25 σε δυαδικό. 2. Να μετατρέψετε τον δεκαδικό 18.75 σε δυαδικό και τον δεκαδικό 268 σε δεκαεξαδικό. 3. Να βρεθεί η βάση εκείνου του αριθμητικού

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

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

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

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

i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες!

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

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

Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου

Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 5 Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου Ενδέκατη (11 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το

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

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

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

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

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

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

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

Κεφάλαιο 3 ο Ακολουθιακά Κυκλώματα με ολοκληρωμένα ΤΤL

Κεφάλαιο 3 ο Ακολουθιακά Κυκλώματα με ολοκληρωμένα ΤΤL Κεφάλαιο 3 ο Ακολουθιακά Κυκλώματα με ολοκληρωμένα ΤΤL 3.1 Εισαγωγή στα FLIP FLOP 3.1.1 Θεωρητικό Υπόβαθρο Τα σύγχρονα ακολουθιακά κυκλώματα με τα οποία θα ασχοληθούμε στο εργαστήριο των Ψηφιακών συστημάτων

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

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοι- νωνία Σ Σειριακή Επικοινωνία

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοι- νωνία Σ Σειριακή Επικοινωνία Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοινωνία. Σειριακή Επικοινωνία USB Σύνδεση / Πρωτόκολλο Σκοπός Εντολή επιλογής (if) Εντολή Επανάληψης (while) Πίνακες 1 Μέρος Α : Σκοπός

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

Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε.

Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε. Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε. 5.1 Το ρολόι Κάθε μία από αυτές τις λειτουργίες της Κ.Μ.Ε. διαρκεί ένα μικρό χρονικό διάστημα. Για το συγχρονισμό των λειτουργιών αυτών, είναι απαραίτητο κάποιο ρολόι.

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Κ. Δεμέστιχας Εργαστήριο Πληροφορικής Γεωπονικό Πανεπιστήμιο Αθηνών Επικοινωνία μέσω e-mail: cdemest@aua.gr, cdemest@cn.ntua.gr 1 5. ΑΛΓΕΒΡΑ BOOLE ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ ΜΕΡΟΣ Β 2 Επαναληπτική

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

ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΨΗΦΙΑΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ. Κεφάλαιο 3

ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΨΗΦΙΑΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ. Κεφάλαιο 3 ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΨΗΦΙΑΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Κεφάλαιο 3 Δυαδική λογική Με τον όρο λογική πρόταση ή απλά πρόταση καλούμε κάθε φράση η οποία μπορεί να χαρακτηριστεί αληθής ή ψευδής με βάση το νόημα της. π.χ. Σήμερα

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

Η κανονική μορφή της συνάρτησης που υλοποιείται με τον προηγούμενο πίνακα αληθείας σε μορφή ελαχιστόρων είναι η Q = [A].

Η κανονική μορφή της συνάρτησης που υλοποιείται με τον προηγούμενο πίνακα αληθείας σε μορφή ελαχιστόρων είναι η Q = [A]. Κανονική μορφή συνάρτησης λογικής 5. Η κανονική μορφή μιας λογικής συνάρτησης (ΛΣ) ως άθροισμα ελαχιστόρων, από τον πίνακα αληθείας προκύπτει ως εξής: ) Παράγουμε ένα [A] όρων από την κάθε σειρά για την

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

4/10/2008. Στατικές πύλες CMOS και πύλες με τρανζίστορ διέλευσης. Πραγματικά τρανζίστορ. Ψηφιακή λειτουργία. Κανόνες ψηφιακής λειτουργίας

4/10/2008. Στατικές πύλες CMOS και πύλες με τρανζίστορ διέλευσης. Πραγματικά τρανζίστορ. Ψηφιακή λειτουργία. Κανόνες ψηφιακής λειτουργίας 2 η διάλεξη 25 Σεπτεμβρίου Πραγματικά τρανζίστορ Στατικές πύλες CMOS και πύλες με τρανζίστορ διέλευσης Γιώργος Δημητρακόπουλος Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Η τάση στο gate του τρανζίστορ

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

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

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

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

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

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

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

ΗΥ220: Εργαστήριο ψηφιακών κυκλωμάτων

ΗΥ220: Εργαστήριο ψηφιακών κυκλωμάτων Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ220: Εργαστήριο ψηφιακών κυκλωμάτων Γιώργος Δημητρακόπουλος Μονάδες επεξεργασίας δεδομένων και ο έλεγχος τους Δόμηση σύνθετων κυκλωμάτων 1. Γενική περιγραφή

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

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

6.1 Θεωρητική εισαγωγή ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 6 ΑΠΟΚΩ ΙΚΟΠΟΙΗΤΕΣ ΚΑΙ ΠΟΛΥΠΛΕΚΤΕΣ Σκοπός: Η κατανόηση της λειτουργίας των κυκλωµάτων ψηφιακής πολυπλεξίας και αποκωδικοποίησης και η εξοικείωση µε τους ολοκληρωµένους

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

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, 2016-2017 ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Μικροϋπολογιστής Υπολογιστής που χρησιμοποιείται για την είσοδο, επεξεργασία και έξοδο πληροφοριών. Είδη μικροϋπολογιστών:

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

6. Σχεδίαση Κυκλωμάτων Λογικής Κόμβων (ΚΑΙ), (Η)

6. Σχεδίαση Κυκλωμάτων Λογικής Κόμβων (ΚΑΙ), (Η) 6. Σχεδίαση Κυκλωμάτων Λογικής Κόμβων (ΚΑΙ), (Η) 6. Εισαγωγή Όπως έχουμε δει οι εκφράσεις των λογικών συναρτήσεων για την συγκεκριμένη σχεδίαση προκύπτουν εύκολα από χάρτη Καρνώ -Karnaugh. Έτσι βρίσκουμε

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

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή (συνέχεια) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση:

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

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

Μάθημα 3: Αρχιτεκτονική Υπολογιστών Μάθημα 3: Αρχιτεκτονική Υπολογιστών 3.1 Περιφερειακές μονάδες και τμήμα επεξεργασίας Στην καθημερινή μας ζωή ερχόμαστε συνέχεια σε επαφή με υπολογιστές. Ο υπολογιστής είναι μια συσκευή που επεξεργάζεται

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

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

100 ΕΡΩΤΗΣΕΙΣ ΜΕ ΤΙΣ ΑΝΤΙΣΤΟΙΧΕΣ ΑΠΑΝΤΗΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ 100 ΕΡΩΤΗΣΕΙΣ ΜΕ ΤΙΣ ΑΝΤΙΣΤΟΙΧΕΣ ΑΠΑΝΤΗΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ 1) Να μετατρέψετε τον δεκαδικό αριθμό (60,25) 10, στον αντίστοιχο δυαδικό 11111,11 111001,01 111100,01 100111,1 111100,01 2)

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

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

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 7: Μανταλωτές (Latches), Καταχωρητές, και Διφασικά Ρολόγια

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

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

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5. Ρυθμίζοντας τη Φορά Περιστροφής. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5. Ρυθμίζοντας τη Φορά Περιστροφής. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Σκοπός Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5 Ρυθμίζοντας τη Φορά Περιστροφής DC Κινητήρα. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Βασική δομή ενός προγράμματος στο LabVIEW. Εμπρόσθιο Πλαίσιο (front

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

Λογική Σχεδίαση Ι - Εξεταστική Φεβρουαρίου 2013 Διάρκεια εξέτασης : 160 Ονοματεπώνυμο : Α. Μ. Έτος σπουδών:

Λογική Σχεδίαση Ι - Εξεταστική Φεβρουαρίου 2013 Διάρκεια εξέτασης : 160 Ονοματεπώνυμο : Α. Μ. Έτος σπουδών: Λογική Σχεδίαση Ι - Εξεταστική Φεβρουαρίου 23 Διάρκεια εξέτασης : 6 Ονοματεπώνυμο : Α. Μ. Έτος σπουδών: Θέμα (,5 μονάδες) Στις εισόδους του ακόλουθου κυκλώματος c b a εφαρμόζονται οι κάτωθι κυματομορφές.

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

Εργαστήριο 9: Τρικατάστατοι Οδηγητές, Λεωφόροι, Μνήμες SRAM

Εργαστήριο 9: Τρικατάστατοι Οδηγητές, Λεωφόροι, Μνήμες SRAM ΗΥ-120: Ψηφιακή Σχεδίαση Φθινόπωρο 2011 Τμ. Επ. Υπολογιστών Πανεπιστήμιο Κρήτης Εργαστήριο 9: Τρικατάστατοι Οδηγητές, Λεωφόροι, Μνήμες SRAM 6-9 Δεκεμβρίου 2011 Διαλέξεις εβδομάδας 9: Δε. 28/11 - κανονική

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

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

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

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

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

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ ΣΧΟΛΗ ΑΣΠΑΙΤΕ ΤΜΗΜΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΗΛΕΚΤΡΟΛΟΓΙΑΣ ΕΡΓΑΣΤΗΡΙΟ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΘΕΩΡΗΤΙΚΟ ΜΕΡΟΣ ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ 1) Οι σύγχρονοι μετρητές υλοποιούνται με Flip-Flop τύπου T

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

Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου. Ενδέκατη (11 η ) δίωρη διάλεξη.

Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου. Ενδέκατη (11 η ) δίωρη διάλεξη. Chapter 5 Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου Ενδέκατη (11 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση: Καθ. Εφαρμογών Νικόλαος Πετράκης,

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

Κεφάλαιο 3. Λογικές Πύλες

Κεφάλαιο 3. Λογικές Πύλες Κεφάλαιο 3 Λογικές Πύλες 3.1 Βασικές λογικές πύλες Τα ηλεκτρονικά κυκλώματα που εκτελούν τις βασικές πράξεις της Άλγεβρας Boole καλούνται λογικές πύλες.κάθε τέτοια πύλη δέχεται στην είσοδό της σήματα με

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

ΘΕΜΑΤΑ & ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ

ΘΕΜΑΤΑ & ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεματική Ενότητα Ακαδημαϊκό Έτος 2010 2011 Ημερομηνία Εξέτασης Κυριακή 26.6.2011 Ώρα Έναρξης Εξέτασης

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

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

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

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

Εργαστηριακή άσκηση. Θεωρητικός και πρακτικός υπολογισμός καθυστερήσεων σε αναστροφείς CMOS VLSI

Εργαστηριακή άσκηση. Θεωρητικός και πρακτικός υπολογισμός καθυστερήσεων σε αναστροφείς CMOS VLSI Ε.Μ.Π. - ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΩΝ VLSI

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

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

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

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

ΗΥ-121: Ηλεκτρονικά Κυκλώματα Γιώργος Δημητρακόπουλος. Βασικές Αρχές Ηλεκτρικών Κυκλωμάτων

ΗΥ-121: Ηλεκτρονικά Κυκλώματα Γιώργος Δημητρακόπουλος. Βασικές Αρχές Ηλεκτρικών Κυκλωμάτων Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ-121: Ηλεκτρονικά Κυκλώματα Γιώργος Δημητρακόπουλος Άνοιξη 2008 Βασικές Αρχές Ηλεκτρικών Κυκλωμάτων Ηλεκτρικό ρεύμα Το ρεύμα είναι αποτέλεσμα της κίνησης

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

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

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

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

Πρόγραμμα Επικαιροποίησης Γνώσεων Αποφοίτων

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

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

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών Η επεξεργασία των δεδομένων ακολουθεί μια στερεότυπη διαδρομή: τα δεδομένα εισάγονται στο υπολογιστικό σύστημα, υφίστανται μια ορισμένη επεξεργασία και

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

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Γ ΕΠΑΛ 14 / 04 / 2019

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Γ ΕΠΑΛ 14 / 04 / 2019 Γ ΕΠΑΛ 14 / 04 / 2019 ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΘΕΜΑ 1 ο 1. Να γράψετε στο τετράδιό σας το γράμμα καθεμιάς από τις παρακάτω προτάσεις και δίπλα τη λέξη ΣΩΣΤΟ, αν είναι σωστή ή τη λέξη ΛΑΘΟΣ, αν είναι λανθασμένη.

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

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική

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

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

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

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

ΑΣΚΗΣΗ 4 ΠΡΟΒΛΗΜΑΤΑ ΛΟΓΙΚΗΣ ΣΧΕΔΙΑΣΗΣ

ΑΣΚΗΣΗ 4 ΠΡΟΒΛΗΜΑΤΑ ΛΟΓΙΚΗΣ ΣΧΕΔΙΑΣΗΣ ΑΣΚΗΣΗ 4 ΠΡΟΒΛΗΜΑΤΑ ΛΟΓΙΚΗΣ ΣΧΕΔΙΑΣΗΣ 4.1 ΣΚΟΠΟΣ Σκοπός αυτής της εργαστηριακής άσκησης είναι να παρουσιάσει τις βασικές αρχές της σχεδίασης λογικών (ψηφιακών) κυκλωμάτων για πρακτικές εφαρμογές. Στα προηγούμενα

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

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

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

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

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

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

Λύσεις Ασκήσεων ΣΕΙΡΑ 1 η. Πρόσημο και μέγεθος

Λύσεις Ασκήσεων ΣΕΙΡΑ 1 η. Πρόσημο και μέγεθος ΓΕΩΠΟΝΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΕΡΓΑΣΤΗΡΙΟ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΠΛΗΡΟΦΟΡΙΚΗ ΕΞΑΜΗΝΟ: 1 ο /2015-16 ΤΜΗΜΑ: ΑΓΡΟΤΙΚΗΣ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΑΝΑΠΤΥΞΗΣ Καθηγητής: Θ. Τσιλιγκιρίδης Άσκηση 1η Περιεχόμενα μνήμης Λύσεις

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

Φυσική για Μηχανικούς

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

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

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΜΙΑΣ. A. Μετατροπή αριθμών 1. Μετατροπή αριθμών από δεκαδικό σε δυαδικό σύστημα αρίθμησης

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

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

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής Κεφάλαιο 4 ο Ο Προσωπικός Υπολογιστής Μάθημα 4.3 Ο Επεξεργαστής - Εισαγωγή - Συχνότητα λειτουργίας - Εύρος διαδρόμου δεδομένων - Εύρος διαδρόμου διευθύνσεων - Εύρος καταχωρητών Όταν ολοκληρώσεις το μάθημα

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

Γ2.1 Στοιχεία Αρχιτεκτονικής. Γ Λυκείου Κατεύθυνσης

Γ2.1 Στοιχεία Αρχιτεκτονικής. Γ Λυκείου Κατεύθυνσης Γ2.1 Στοιχεία Αρχιτεκτονικής Γ Λυκείου Κατεύθυνσης Ορισμός άλγεβρας Boole Η άλγεβρα Boole ορίζεται, ως μία αλγεβρική δομή A, όπου: (α) Το Α είναι ένα σύνολο στοιχείων που περιέχει δύο τουλάχιστον στοιχεία

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

Διάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing)

Διάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing) ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 2 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Καθυστερήσεις και Εκκενώσεις Εντολών

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

Αρχιτεκτονική Eckert-von Neumann. Πως λειτουργεί η ΚΜΕ; Κεντρική μονάδα επεξεργασίας [3] ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Αρχιτεκτονική Eckert-von Neumann. Πως λειτουργεί η ΚΜΕ; Κεντρική μονάδα επεξεργασίας [3] ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Αρχιτεκτονική Eckert-von Neumann εισόδου μεταφορά δεδομένων από έξω προς τον Η/Υ εξόδου μεταφορά δεδομένων από τον Η/Υ προς τα έξω ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Κύκλος Μηχανής κεντρικός έλεγχος/πράξεις

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

Σχεδίαση μονάδας ελέγχου επεξεργαστή

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

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

Περιεχόμενα. Πρώτο Κεφάλαιο. Εισαγωγή στα Ψηφιακά Συστήματα. Δεύτερο Κεφάλαιο. Αριθμητικά Συστήματα Κώδικες

Περιεχόμενα. Πρώτο Κεφάλαιο. Εισαγωγή στα Ψηφιακά Συστήματα. Δεύτερο Κεφάλαιο. Αριθμητικά Συστήματα Κώδικες Πρώτο Κεφάλαιο Εισαγωγή στα Ψηφιακά Συστήματα 1.1 Αναλογικά και Ψηφιακά Σήματα και Συστήματα... 1 1.2 Βασικά Ψηφιακά Κυκλώματα... 3 1.3 Ολοκληρωμένα κυκλώματα... 4 1.4 Τυπωμένα κυκλώματα... 7 1.5 Εργαλεία

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