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

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

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

Transcript

1 7/12/2005 2:06 µµ 1 of 9 ΗΥ-120: Ψηφιακή Σχεδίαση Φθινόπωρο 2005 Τµ. Επ. Υπολογιστών Πανεπιστήµιο Κρήτης Εργαστήριο 11: Ένας απλός Υπολογιστής: Datapath & Εντολές Πράξεων εκεµβρίου 2005 Στο τελευταίο αυτό µέρος του µαθήµατος θα δούµε πώς µπορούµε να φτιάξουµε έναν απλό υπολογιστή χρησιµοποιώντας µόνο βασικούς δοµικούς λίθους αυτού του µαθήµατος: καταχωρητές, µνήµες, αθροιστές, πολυπλέκτες, και ένα απλό συνδυαστικό κύκλωµα ή µιά απλή FSM γιά να ελέγχει τα παραπάνω. Στο εργαστήριο, θα βρείτε έτοιµο το τµήµα δεδοµένων (datapath) αυτού του υπολογιστή, όπου υπάρχουν ενδείκτες µε τις τιµές όλων των διευθύνσεων, δεδοµένων, και σηµάτων, και θα φτιάξετε εσείς το κύκλωµα ελέγχου την επόµενη βδοµάδα, θα συνεχίσετε µε πιό πολύπλοκες εντολές και κυκλώµατα ελέγχου. Παρ' ότι ο υπολογιστής αυτός είναι πολύ απλός (απλοϊκός) --και εξαιρετικά αργός!-- είναι εντούτοις ένας κανονικός υπολογιστής, ικανός να εκτελεί (σχεδόν) το κάθε πρόγραµµα τα µόνα που του λείπουν είναι σχετικά δευτερεύουσες λεπτοµέρειες, και όχι κάτι εννοιολογικά κεντρικό. Ο υπολογιστής µας θα είναι οκτάµπιτος (8-bit), δηλαδή θα δουλεύει µε λέξεις των 8 bits µοναδική εξαίρεση θα είναι οι εντολές, που έχουν 12 bits καθεµία (οπότε και η µνήµη που τις περιέχει θα είναι δωδεκάµπιτη στο πλάτος). 11.1a Μία απλή Αριθµητική/Λογική Μονάδα (ALU): Στην καρδιά ενός υπολογιστή είναι µιά µονάδα που εκτελεί αριθµητικές και λογικές πράξεις. Από αριθµητικές πράξεις, θα έχουµε µόνο πρόσθεση και αφαίρεση ακεραίων: γιά λόγους απλότητας δεν θα έχουµε πολλαπλασιασµό (µοιάζει µε πολλές προσθέσεις), διαίρεση (µοιάζει µε επανειληµµένες αφαιρέσεις), ή αριθµούς κινητής υποδιαστολής (οι σχετικές πράξεις ανάγονται τελικά σε πράξεις ακεραίων). Πέρισυ χρησιµοποιήθηκε (και φέτος διδάχτηκε) σαν "Αριθµητική/Λογική Μονάδα" (Arithmetic/Logic Unit - ALU) το κύκλωµα του σχήµατος, που χρησιµοποιεί έναν αθροιστή (adder) τελικά αποφασίστηκε, γιά λόγους απλοποίησης, στο εργαστήριο να χρησιµοποιήσουµε µιάν άλλη ALU, --αυτήν που φαίνεται παρακάτω στην 11.1b. Όπως είδαµε στην 6.7, η αφαίρεση A-B γίνεται µέσω της πρόσθεσης A+(B')+1, όπου A και B είναι προσηµασµένοι ακέραιοι αριθµοί σε κωδικοποίηση συµπληρώµατος ως προς 2, και (B') είναι ο αριθµός που προκύπτει από τον B αν αντιστρέψουµε το κάθε bit του (συµπλήρωµα ως προς 1, δηλ. λογικό-όχι). Την ιδιότητα αυτή εκµεταλλευόµαστε, µε τον αριστερό-κάτω πολυπλέκτη, γιά να κάνει η ALU µας και αφαίρεση A-B το "+1" προκύπτει φροντίζοντας να είναι 1 το κρατούµενο εισόδου, Cin, του αθροιστή όποτε ο πολυπλέκτης επιλέγει το (B'), δηλαδή όποτε κάνουµε αφαίρεση. Εκτός από τον οκτάµπιτο αθροιστή, η ALU θα έχει και 8 πύλες ΚΑΙ και 8 πύλες Ή γιά να µπορεί να κάνει τις αντίστοιχες λογικές πράξεις πάνω στις λέξεις εισόδου πρόκειται γιά λογικές πράξεις bit-προς-bit (bitwise operations), δηλαδή το bit i της εξόδου θα είναι το λογικό ΚΑΙ ή το λογικό Ή του bit i της εισόδου A και του bit i της εισόδου B. Κάθε τέτοια οκτάδα πυλών φαίνεται σχεδιασµένη σαν µία πύλη κάτω από τον αθροιστή. Ο πολυπλέκτης δεξιά επιλέγει αν επιθυµούµε η έξοδος της ALU να είναι το αποτέλεσµα της αριθµητικής πράξης που κάνει ο αθροιστής, ή το αποτέλεσµα της λογικής πράξης που κάνουν οι πύλες ο πολυπλέκτης κάτω επιλέγει αν το αποτέλεσµα της λογικής πράξης θα είναι το λογικό ΚΑΙ ή το λογικό Ή. Τέλος, ο αριστερός επάνω πολυπλέκτης επιλέγει αν η πράξη θα γίνει µε την πρώτη είσοδο της ALU, A, ή µε τον αριθµό µηδέν εάν επιλέξουµε τον αριθµό 0, ο αθροιστής θα δώσει έξοδο 0+B = B ή 0+(B')+1 = -B, οι πύλες ΚΑΙ θα δώσουν έξοδο 0, και οι πύλες Ή θα δώσουν έξοδο B ή B' (ΌΧΙ B). Έτσι, συνολικά, διαπιστώνουµε ότι η ALU µπορεί να κάνει τις παρακάτω πράξεις, ανάλογα µε την εκάστοτε τιµή των τεσσάρων σηµάτων ελέγχου της, mode. Η ένδειξη "x" στο mode σηµαίνει ότι η ALU κάνει την ίδια πράξη όποια τιµή και να έχει το αντίστοιχο bit του mode (συνθήκη αδιαφορίας, που συγγενεύει µε όσα είδαµε στην 4.4). Οι πράξεις που µας ενδιαφέρουν να χρησιµοποιήσουµε στον υπολογιστή µας σηµειώνονται µε παχειά γράµµατα. mode: Πράξη: (όνοµα) 0x01 ALUout = ALUout = B 00x0 ALUout = B (passb) 0111 ALUout = NOT B (not) 01x0 ALUout = -B 1001 ALUout = A AND B (and) 10x0 ALUout = A+B (add) 1011 ALUout = A OR B (or) 11x0 ALUout = A-B (sub) 1101 ALUout = A AND (NOT B) 1111 ALUout = A OR (NOT B)

2 7/12/2005 2:06 µµ 2 of b Αναθεωρηµένη Αριθµητική/Λογική Μονάδα (ALU): Παρ' ότι στο µάθηµα διδάχτηκε η ALU της 11.1a, εντούτοις αποφασίστηκε στο εργαστήριο να χρησιµοποιήσουµε µιάν άλλη ALU, αυτήν που φαίνεται στο σχήµα δεξιά, επειδή η νέα κωδικοποίηση των mode bits απλοποιεί το κύκλωµα ελέγχου που θα κατασκευαστεί από τους φοιτητές στο εργαστήριο. Η νέα ALU χρησιµοποιεί µόνο τρία mode bits, έναντι τεσσάρων της προηγούµενης στο εργαστήριο, τα 3 bits που χρησιµοποιούνται είναι τα 3 δεξιά (LS) από τα 4 υπάρχοντα bits. Επίσης, η νέα ALU παρέχει µιά πράξη λιγότερη από την παλαιά: οι πράξεις OR και NOT έχουν ενοποιηθεί σε µία και µόνη πράξη NOR αυτό έγινε γιατί ο υπολογιστής µας, όπως θα δούµε πιό κάτω, δέχεται µόνο 16 συνολικά εντολές, και δεν υπήρχε µεταξύ τους χώρος και γιά την OR και γιά την NOT. Όταν χρειαζόµαστε ένα απλό NOT, µπορούµε να κάνουµε NOR µε το µηδέν, και όποτε χρειαζόµαστε ένα OR µπορούµε να κάνουµε πρώτα ένα NOR και µετά ένα NOT (δηλ. NOR µε µηδέν). Έτσι, στο εργαστήριο, η κωδικοποίηση των ALU mode bits θα είναι αυτή που φαίνεται στον παρακάτω πίνακα η τελεία αριστερά είναι γιά να µας θυµίζει ότι στο εργαστήριο το αριστερό (MS) mode bit παραµένει αχρησιµοποίητο. mode: Πράξη: Όνοµα:.000 ALUout = A+B (add).001 ALUout = A-B (sub).010 ALUout = A AND B (and).011 ALUout = NOT (A OR B) (nor).1xx ALUout = B (passb) 11.2 Πράξεις ALU σ' έναν Επεξεργαστή Τύπου Συσσωρευτή (Accumulator): Τώρα που έχουµε την ALU όπου θα εκτελούνται οι πράξεις, το επόµενο θέµα είναι πάνω σε ποιούς αριθµούς θα γίνονται αυτές οι πράξεις, πού θα βρίσκονται αυτοί οι αριθµοί, και πώς θα τους επιλέγουµε. εδοµένου ότι οι υπολογιστές προορίζονται γιά την επεξεργασία µεγάλου όγκου δεδοµένων, προφανώς θα χρειαστούµε µία (µεγάλη) µνήµη ( 9.3) όπου θα κρατιούνται αυτά τα δεδοµένα. Αυτή τη λέµε "Μνήµη εδοµένων" (Data Memory), και φαίνεται στο παρακάτω σχήµα. Γιά να γίνει µία πράξη (π.χ. πρόσθεση), χρειαζόµαστε δύο αριθµούς πάνω στους οποίους θα γίνει η πράξη, και χρειάζεται να τοποθετηθεί κάπου και το αποτέλεσµα της πράξης. Υπάρχουν υπολογιστές που γιά να γίνει αυτό διαβάζουν δύο αριθµούς από τη µνήµη δεδοµένων, και γράφουν το αποτέλεσµα επίσης σε κάποια θέση της µνήµης δεδοµένων. Γιά µας όµως, κάτι τέτοιο θα ήταν πολύπλοκο, διότι θα απαιτούσε τρείς χωριστές προσπελάσεις στη µνήµη --δύο αναγνώσεις και µία εγγραφή. Εµείς θα ακολουθήσουµε µιάν άλλη "αρχιτεκτονική" υπολογιστή --την απλούστερη που έχει υπάρξει ιστορικά: την αρχιτεκτονική συσσωρευτή (accumulator architecture). Στην αρχιτεκτονική αυτή, υπάρχει ένας ειδικός καταχωρητής, έξω από τη µνήµη δεδοµένων, ο οποίος κρατάει έναν αριθµό --το αποτέλεσµα της πιό πρόσφατης πράξης. Κάθε καινούργια πράξη γίνεται ανάµεσα σε αυτό το πιό πρόσφατο αποτέλεσµα και σ' ένα καινούργιο αριθµό που διαβάζουµε από τη µνήµη, και αφήνει το αποτέλεσµά της πάλι σε αυτόν τον ειδικό καταχωρητή. Έτσι, π.χ., αν κάνουµε συνεχείς προσθέσεις, συσσωρεύεται σε αυτόν τον καταχωρητή το άθροισµα όλων των αριθµών που διαβάσαµε από τη µνήµη και προσθέσαµε, και γι' αυτό ο καταχωρητής αυτός ονοµάστηκε "συσσωρευτής" (accumulator). Οι σηµερινοί υπολογιστές έχουν αρκετούς τέτοιους καταχωρητές --συνήθως 32 τους ονοµάζουµε "καταχωρητές γενικού σκοπού" (general-purpose registers), και όχι συσσωρευτές. Στο σχήµα φαίνεται η απαιτούµενη συνδεσµολογιά γιά να γίνονται οι πράξεις όπως τις περιγράψαµε. Ο συσσωρευτής είναι ένας ακµοπυροδότητος καταχωρητής ( 8.5), που σηµειώνεται σαν "ACC". Ένα εξωτερικό κύκλωµα, που θα δούµε σε λίγο, τροφοδοτεί τη διεύθυνση ADDR στη µνήµη δεδοµένων, καθώς και τα σήµατα ελέγχου ανάγνωσης (dm_rd - data memory read enable) και εγγραφής (dm_wr - data memory write enable), προκαλώντας την ανάγνωση µιάς λέξης (δηλ. ενός αριθµού) από τη θέση µνήµης ADDR. Η ALU παίρνει το περιεχόµενο του συσσωρευτή ACC στη µιά της είσοδο, και τον αριθµό που διαβάσαµε από τη µνήµη στην άλλη το εξωτερικό κύκλωµα ελέγχου προσδιορίζει, µέσω του alu_md (ALU mode), το είδος της πράξης που πρέπει να γίνει, και το αποτέλεσµα της πράξης δίδεται σαν είσοδος στο συσσωρευτή. Όταν έλθει η ενεργή ακµή του ρολογιού, το αποτέλεσµα αυτής της πράξης αντικατθιστά το παλαιό περιεχόµενο του συσσωρευτή. Κατά καιρούς, πρέπει το αποτέλεσµα των πράξεων να αποθηκεύεται (γράφεται) σε µιά επιθυµητή θέση (λέξη) µνήµης, προκειµένου µετά να ξεκινήσει κάποια νέα

3 7/12/2005 2:06 µµ 3 of 9 σειρά πράξεων στο συσσωρευτή. Γιά να γίνεται η αποθήκευση αυτή προβλέφτηκε ένας τρικατάστατος οδηγητής, δεξιά κάτω, ο οποίος τοποθετεί το περιεχόµενο του ACC πάνω στη λεωφόρο (bus), απ' όπου και το παραλαµβάνει η µνήµη γιά να γίνει η εγγραφή. Τα σήµατα ελέγχου που πρέπει να ενεργοποιηθούν είναι τα acc2bus (ACC προς bus - ACC to bus, όπου το "2" είναι οµόηχο µε το "to") και dm_wr Πρόγραµµα και Εντολές: οι Οδηγίες γιά τις Πράξεις Γιά να λειτουργήσει το παραπάνω κύκλωµα και να γίνουν οι επιθυµητές πράξεις, πρέπει κάποιος να τροφοδοτεί τις διευθύνσεις, ADDR, και τα σήµατα ελέγχου των πράξεων, dm_rd, alu_md, acc2bus, και dm_wr. Τη δουλειά αυτή αναλαµβάνει ένα άλλο κύκλωµα, που θα δούµε παρακάτω, το οποίο ακολουθεί πιστά τις σχετικές οδηγίες που έχει γράψει ένας άνθρωπος (µε τη βοήθεια κάποιου υπολογιστή) και οι οποίες είναι αποθηκευµένες σε µιά µνήµη. Κάθε οδηγία γιά µιά συγκεκριµένη πράξη ή ενέργεια λέγεται εντολή (instruction), και το σύνολο των εντολών που έχουν δοθεί σ' έναν υπολογιστή (έχουν γραφτεί στη µνήµη του) και τις οποίες αυτός ακολουθεί σε δεδοµένη στιγµή λέµε ότι αποτελούν το πρόγραµµα (program) που αυτός "εκτελεί" (executes) ή "τρέχει" (runs) τη δεδοµένη στιγµή. Τα κυκλώµατα αποτελούν το υλικό (hardware) του υπολογιστή, και τα προγράµµατα που τρέχουν ή µπορούν να τρέξουν σε αυτόν αποτελούν το λογισµικό του (software). Ο κάθε υπολογιστής "καταλαβαίνει", δηλαδή µπορεί να αναγνωρίσει και να εκτελέσει, ορισµένες µόνο, συγκεκριµένες εντολές ή τύπους εντολών αυτές τις ονοµάζουµε σύνολο ή ρεπερτόριο εντολών (instruction set) του υπολογιστή. Οι εντολές του δικού µας υπολογιστή αποτελούνται από δύο κοµάτια καθεµία: έναν "κώδικα πράξης" (operation code, ή opcode εν συντοµία), και µιά διεύθυνση ADDR. Κάθε εντολή αποτελείται από 12 bits, από τα οποία τα 4 MS bits είναι ο opcode και τα 8 LS bits είναι η διεύθυνση. Σ' αυτό το εργαστήριο, ο υπολογιστής µας θα έχει το ρεπερτόριο των 8 εντολών που φαίνεται στον παρακάτω πίνακα µερικές εντολές θα εξηγηθούν σε επόµενες παραγράφους στο επόµενο εργαστήριο, θα προσθέσουµε και τις υπόλοιπες 8 εντολές. Ρεπερτόριο Εντολών (Instruction Set): Γλώσσα Μηχανής: Γλ. Assembly: Σηµαίνει: 0000aaaaaaaa add ADDR ACC <- ACC + DM[ADDR] 0001aaaaaaaa sub ADDR ACC <- ACC - DM[ADDR] 0010aaaaaaaa and ADDR ACC <- ACC AND DM[ADDR] 0011aaaaaaaa nor ADDR ACC <- NOT ( ACC OR DM[ADDR] ) 0100aaaaaaaa input ADDR DM[ADDR] <- εξωτερική είσοδος από πληκτρολόγιο ( 0101aaaaaaaa load ADDR ACC <- DM[ADDR] 0110aaaaaaaa store ADDR DM[ADDR] <- ACC 0111aaaaaaaa jump ADDR PC <- ADDR (επόµενη εντολή σε ADDR ) Στην αριστερή στήλη του πίνακα φαίνεται η κάθε εντολή σε "Γλώσσα Μηχανής (machine language, ή object code, ή binary code), δηλαδή όπως αυτή υπάρχει µέσα στη µνήµη (εντολών) του υπολογιστή (άσσοι και µηδενικά). Τα 4 MS (αριστερά) bits της εντολής, όπως είπαµε, είναι ο opcode και υποδεικνύουν το είδος της πράξης. Τα 8 LS (δεξιά) bits της εντολής, που φαίνονται σαν "aaaaaaaa", είναι τα 8 bits της διεύθυνσης ADDR, όπως είπαµε παραπάνω. Στο µεσαίο µέρος του πίνακα φαίνεται η συµβολική γραφή της εντολής: η πρώτη λέξη είναι το σύµβολο του opcode, ενώ το ADDR αντικαθίσταται κάθε φορά από τη συγκεκριµένη διεύθυνση που επιθυµούµε να χρησιµοποιήσουµε --έναν αριθµό από 0 µέχρι 255, αφού οι διευθύνσεις είναι οκτάµπιτες στον υπολογιστή µας. Ένα πρόγραµµα µε τις εντολές του γραµµένες µε αυτό το συµβολισµό λέµε ότι είναι γραµµένο σε "Γλώσσα Assembly". Στη µνήµη του υπολογιστή, φυσικά, το µόνο που υπάρχει είναι άσσοι και µηδενικά, άρα γιά να εκτελεστεί ένα πρόγραµµα Assembly πρέπει πρώτα να µετατραπεί στην δυαδική του αναπαράσταση, δηλαδή στη Γλώσσα Μηχανής. Η µετατροπή αυτή είναι πολύ απλή: κάθε συµβολικός opcode αντικαθίσταται µε τον αντίστοιχο δυαδικό του κώδικα, και κάθε διεύθυνση µετατρέπεται στο δυαδικό. Τη µετατροπή αυτή (και µερικές άλλες σχετικές βοηθητικές εργασίες) την κάνει συνήθως ένα µικρό πρόγραµµα υπολογιστή που ονοµάζεται Assembler. Στις δεξιές στήλες του πίνακα φαίνεται µία "εξίσωση µεταφοράς καταχωρητών" (register transfer equation), η οποία περιγράφει τις ενέργειες που πρέπει να γίνουν προκειµένου ο υπολογιστής να εκτελέσει την εντολή. Σε αυτές τις εξισώσεις, το αριστερό βέλος υποδεικνύει µεταφορά και εγγραφή πληροφορίας (εκχώρηση - assignment). Ο συµβολισµός "DM[ADDR]" σηµαίνει τη θέση (λέξη) της µνήµης δεδοµένων (DM) στη διεύθυνση ADDR. Όταν ο συσσωρευτής, ACC, εµφανίζεται και δεξιά και αριστερά από το βέλος, τότε δεξιά µεν σηµαίνει το παλαιό περιεχόµενό του (πριν την ακµή ρολογιού), αριστερά δε σηµαίνει τη νέα τιµή του (µετά την ακµή ρολογιού) --όπως και στις εκχωρήσεις (assignments) των γλωσσών προγραµµατισµού. Έτσι, η εντολή load ADDR (φόρτωσε) διαβάζει τον αριθµό που περιέχεται στη διεύθυνση ADDR της µνήµης, δηλαδή διαβάζει το DM[ADDR], και το αντιγράφει στο συσσωρευτή. Η εντολή add ADDR προσθέτει το παλαιό

4 7/12/2005 2:06 µµ 4 of 9 περιεχόµενο του ACC µε τον αριθµό που περιέχεται στη διεύθυνση ADDR της µνήµης, και γράφει το αποτέλεσµα στον ACC. Αντίστοιχα, οι εντολές sub, and, nor κάνουν τις ανάλογες πράξεις. Τέλος, η εντολή store ADDR (αποθήκευσε) αντιγράφει το περιεχόµενο του ACC στη θέση (λέξη) µνήµης µε διεύθυνση ADDR. Στην παράγραφο 11.8 θα µιλήσουµε γιά την εντολή input ADDR, η οποία γράφει οµοίως στη θέση (λέξη) µνήµης µε διεύθυνση ADDR, αλλά γράφει δεδοµένα από µιάν εξωτερική είσοδο (πληκτρολόγιο) και όχι από τον συσσωρευτή. Στην παράγραφο 11.9 θα µιλήσουµε γιά την εντολή jump ADDR, η οποία κάνει ώστε η επόµενη εντολή που θα εκτελεστεί να µην είναι η "από κάτω" γραµµένη στη µνήµη εντολών, αλλά µιά άλλη (στη διεύθυνση ADDR). Γιά παράδειγµα, λοιπόν, αν η µνήµη δεδοµένων περιέχει τους αριθµούς που φαίνονται στο παραπάνω σχήµα (διευθύνσεις και δεδοµένα φαίνονται στο δεκαεξαδικό), τότε το πρόγραµµα: "load 08; add 09; add 0A; store 0B;" θα προκαλέσει τις εξής ενέργειες. Πρώτα θα διαβαστεί ο αριθµός 12 (δεκαεξαδικό) από τη θέση 08 και θα γραφτεί στο συσσωρευτή µετά, θα διαβαστεί ο αριθµός και θα προστεθεί στον παράγοντας το αποτέλεσµα 2A (δεκαεξαδικό) το οποίο και θα γραφτεί στο συσσωρευτή εν συνεχεία, θα διαβαστεί το 1A από τη θέση 0A, θα προστεθεί στο 2A, και το αποτέλεσµα 44 (δεκαεξαδικό) θα µείνει στο συσσωρευτή και τέλος, το περιεχόµενο του συσσωρευτή θα γραφτεί στη θέση µνήµης 0B Ανάγνωση & Εκτέλεση Εντολών: Γιά να µπορέσει ο υπολογιστής να εκτελέσει τις εντολές του προγράµµατος, πρέπει αυτές να είναι κάπου γραµµένες, και από εκεί να τις διαβάζει µία-µία και να τις εκτελεί. Αυτός είναι ο ρόλος των στοιχείων που θα προσθέσουµε εδώ στο κύκλωµα της 11.2, και τα οποία φαίνονται στο επόµενο σχήµα - αριστερό ήµισυ. Το πρόγραµµα είναι αποθηκευµένο στη "Μνήµη Εντολών" (Instruction Memory). Κανονικά, οι υπολογιστές χρησιµοποιούν την ίδια µνήµη γιά να αποθηκεύουν τόσο τα δεδοµένα όσο και το πρόγραµµα (σε χωριστές διευθύνσεις το καθένα) µε τον τρόπο αυτό, αν έχουµε ένα µικρό πρόγραµµα υπάρχει χώρος γιά πολλά δεδοµένα, και αντιστρόφως, αν έχουµε λίγα δεδοµένα µπορεί το πρόγραµµα να είναι µεγάλο. Εµείς εδώ χρησιµοποιούµε δύο χωριστές µνήµες, µιά γιά δεδοµένα και µιά γιά εντολές, γιά να απλοποιηθεί το κύκλωµα και η λειτουργία του. Γιά να µπορέσει το κύκλωµά µας να εκτελέσει µιάν εντολή, πρέπει να την διαβάσει από τη µνήµη εντολών, και γιά το σκοπό αυτό χρειάζεται τη διεύθυνση της µνήµης αυτής όπου βρίσκεται η επιθυµητή εντολή. Αυτός είναι ο ρόλος του "Μετρητή Προγράµµατος" (Program Counter - PC): ο καταχωρητής αυτός κρατά τη διεύθυνση της µνήµης εντολών όπου βρίσκεται η εντολή που θέλουµε να εκτελέσουµε. Στο παράδειγµα του σχήµατος, ο PC περιέχει τον αριθµό 10 (δεκαεξαδικό), ο οποίος δίδεται σα διεύθυνση στη µνήµη εντολών η µνήµη εντολών διαβάζει και µας δίνει το περιεχόµενο της θέσης 10, το οποίο εδώ τυχαίνει να είναι η εντολή load 08 --κωδικοποιηµένη σε γλώσσα µηχανής φυσικά, δηλαδή " " σύµφωνα µε το παραπάνω ρεπερτόριο εντολών. Κάθε λέξη της µνήµης εντολών είναι 12 bits, και περιέχει µιάν εντολή. Τα 12 σύρµατα ανάγνωσης που βγαίνουν από τη µνήµη αυτή, τα χωρίζουµε σε 4 αριστερά (MS) σύρµατα που πηγαίνουν στο κύκλωµα ελέγχου, και 8 δεξιά (LS) σύρµατα που πηγαίνουν σα διεύθυνση στη µνήµη δεδοµένων. Αφού όλες οι εντολές του υπολογιστή µας αποτελούνται από έναν opcode στα 4 MS bits και µία διεύθυνση στα 8 LS bits, µε τη συνδεσµολογία αυτή πηγαίνει ο opcode στο κύκλωµα ελέγχου και η διεύθυνση στη µνήµη δεδοµένων. Στο παράδειγµά µας, ο opcode είναι 0101 (που σηµαίνει load), και η διεύθυνση είναι (δηλ. 08 δεκαεξαδικό). Το κύκλωµα ελέγχου, βλέποντας την εντολή load, θα ζητήσει ανάγνωση από τη µνήµη δεδοµένων (dm_rd=1, dm_wr=0, acc2bus=0) και θα θέσει την ALU σε λειτουργία passb (alu_md=1xx). Η µνήµη δεδοµένων, βλέποντας τη διεύθυνση 08 και ότι της ζητείται ανάγνωση, θα τοποθετήσει τον αριθµό 12 στη λεωφόρο η ALU, εκτελώντας λειτουργία passb, θα περάσει τον αριθµό 12 στην έξοδό της στην ενεργή ακµή του ρολογιού, ο αριθµός αυτός θα γραφτεί στο συσσωρευτή ACC, ολοκληρώνοντας έτσι την εκτέλεση της εντολής load 08. Μετά την εκτέλεση της εντολής load 08 από τη θέση 10 της µνήµης εντολών, πρέπει να εκτελεστεί η επόµενη εντολή. Κατά πάγια σύµβαση, εκτός ειδικών εξαιρέσεων που θα δούµε πιό κάτω ( 11.9), η επόµενη εντολή βρίσκεται γραµµένη στην ακριβώς επόµενη θέση µνήµης --εδώ, στη διεύθυνση 11. Γιά να προκύψει η επόµενη αυτή διεύθυνση γιά τη µνήµη εντολών, χρησιµοποιούµε τον αυξητή (incrementor) που φαίνεται αριστερά στο σχήµα, δηλαδή έναν αθροιστή µε δεύτερη είσοδο το +1. Έτσι, στην ίδια παραπάνω ενεργή ακµή του ρολογιού που γράφεται ο αριθµός 12 στο συσσωρευτή ACC, γράφεται και το αποτέλεσµα της πρόσθεσης 10+1=11 στον καταχωρητή PC. Το αποτέλεσµα είναι ότι στον επόµενο κύκλο ρολογιού ο PC θα περιέχει 11

5 7/12/2005 2:06 µµ 5 of 9 η µνήµη εντολών θα διαβάσει και θα µας δώσει το περιεχόµενο " " της θέσης 11, δηλαδή την εντολή add 09 το κύκλωµα ελέγχου, βλέποντας opcode=0000 (add), θα δώσει dm_rd=1, dm_wr=0, acc2bus=0, και alu_md=000 (δηλ. add) η µνήµη δεδοµένων, βλέποντας διεύθυνση 09 και dm_rd=1, θα διαβάσει και θα δώσει στη λεωφόρο τον αριθµό 18 η ALU, βλέποντας ACC=12, στη λεωφόρο το 18, και alu_md=add, θα προσθέσει και θα δώσει στην έξοδό της 2A και ο αθροιστής/αυξητής αριστερά, βλέποντας PC=11, θα δώσει στην έξοδό του 11+1=12. Μόλις έλθει η επόµενη ενεργή ακµή ρολογιού, το 2A θα µπεί στον ACC, και το 12 θα µπεί στον PC, ολοκληρώνοντας έτσι την εκτέλεση της εντολής add 09, και προετοιµάζοντάς µας γιά την επόµενη εντολή, add 0A, από τη θέση 12. Ο καταχωρητής PC ονοµάζεται "Μετρητής Προγράµµατος" ακριβώς επειδή είναι κατά βάση ένας µετρητής που αυξάνεται κατά 1 στο τέλος της εκτέλεσης κάθε εντολής γιά να µας δώσει τη διεύθυνση της επόµενης εντολής ο πολυπλέκτης που υπάρχει στην είσοδό του προορίζεται γιά την αρχικοποίησή του, όταν δίδεται σήµα reset Καταχωρητές µε Επίτρεψη Φόρτωσης (Load Enable) Είδαµε παραπάνω ότι ο απλός υπολογιστής µας χρησιµοποιεί δύο καταχωρητές (ακµοπυροδότητους), τους ACC και PC. Κάθε ακµοπυροδότητος καταχωρητής αποτελείται από πολλαπλά ακµοπυροδότητα flip-flops (εδώ 8 flip-flops, αφού οι καταχωρητές µας είναι οκτάµπιτοι), όπως ένας καταχωρητής µανταλωτών ( 7.5) αποτελείται από πολλαπλούς µανταλωτές --έναν γιά κάθε bit. Το κύκλωµα της παραγράφου 8.5 γιά τα ακµοπυροδότητα flip-flops και καταχωρητές ήταν τέτοιο που ανεξαίρετα σε κάθε ενεργή ακµή ρολογιού η τιµή των συρµάτων εισόδου έµπαινε µέσα (εγγράφονταν) στον καταχωρητή. Υπάρχουν πολλές περιπτώσεις όπου δεν θέλουµε τέτοια εγγραφή να γίνεται σε κάθε (ενεργή) ακµή ρολογιού, αλλά µόνο στις ακµές εκείνες που εµείς επιλέγουµε --και αυτό θα το χρειαστούµε και στον δικό µας υπολογιστή, ιδιαίτερα στο επόµενο εργαστήριο. Στις περιπτώσεις αυτές, χρησιµοποιούµε το κύκλωµα που φαίνεται στο σχήµα δεξιά (a), και το οποίο συµβολίζουµε µε το σύµβολο (b). Το κύκλωµα αυτό έχει ένα σήµα ελέγχου "επίτρεψης φόρτωσης" (load enable): όταν το σήµα αυτό είναι 0 (λίγο πρίν και κατά τη διάρκεια της ένεργής ακµής του ρολογιού), τότε η τιµή που είναι αποθηκευµένη στον καταχωρητή δεν αλλάζει µετά την ακµή, επειδή στην πραγµατικότητα ξαναφορτώνεται η ίδια τιµή. Όταν όµως το σήµα επίτρεψης φόρτωσης είναι 1 (σ' ένα µικρό χρονικό παράθυρο γύρω από την ακµή του ρολογιού), τότε η τιµή των συρµάτων εισόδου, D, εγγράφεται σαν νέα τιµή του καταχωρητή στην ακµή του ρολογιού Ο απλός Υπολογιστής του Εργαστηρίου Στη φωτογραφία φαίνεται η πλακέτα που υλοποιεί τον "δρόµο δεδοµένων" (datapath) του απλού υπολογιστή, την οποία θα βρείτε στο εργαστήριο. Αυτό που λείπει και πρέπει εσείς να φτιάξετε είναι το κύκλωµα ελέγχου, που "ενορχηστρώνει" όλες τις λειτουργίες που το datapath είναι σε θέση να κάνει. Το κύκλωµα ελέγχου παίρνει σαν εισόδους τα 4 bits του opcode (κάτω αριστερά) --και αργότερα και 2 bits σύγκρισης του συσσωρευτή µε το µηδέν (κάτω δεξιά)-- και δίνει σαν εξόδους όλα τα σήµατα ελέγχου, στην επάνω άκρη της πλακέτας.

6 7/12/2005 2:06 µµ 6 of 9 Η πλακέτα του datapath έχει περισσότερα στοιχεία από αυτά που είδαµε στην 11.4, προκειµένου να προσφέρει και τις λειτουργίες που θα περιγράψουµε παρακάτω σε αυτό και στο επόµενο εργαστήριο. Το πλήρες κύκλωµα που υλοποιεί η πλακέτα φαίνεται στο παρακάτω σχηµατικό διάγραµµα. Υπάρχουν εννέα διψήφιοι ενδείκτες 7 τµηµάτων (7-segment displays) οι οποίοι σας δείχνουν ανά πάσα στιγµή την παρούσα τιµή σε εννέα ενδιαφέροντα (οκτάµπιτα) σηµεία του κυκλώµατος ο κάτω-κάτω (µέση) ενδείκτης µετράει τους κύκλους ρολογιού. Οι ενδείκτες αυτοί λειτουργούν στο δεκαεξαδικό --τα ψηφία πάνω από το 9 µοιάζουν µε A, b, c, d, E, και F προσοχή: το 6 διαφέρει από το b κατά το ότι το µεν 6 έχει παύλα επάνω, ενώ το b δεν έχει. Εκτός από τους διψήφιους ενδείκτες 7 τµηµάτων γιά τους οκτάµπιτους δρόµους, υπάρχουν και µικρές LED που δείχνουν τις τιµές µεµονωµένων bits. Οι κόκκινες LED δείχνουν ποιός από τους τρικατάστατους οδηγητές που οδηγούν το BUS είναι ενεργοποιηµένος. Όταν δεν είναι ενεργοποιηµένος κανένας οδηγητής του BUS, ή όταν είναι ενεργοποιηµένοι δύο ή περισσότεροι, οπότε η τιµή του BUS είναι απροσδιόριστη, η πλακέτα κατασκευάζει εσωτερικά και δείχει στους ενδείκτες ψευδοτυχαίες τιµές, οι οποίες εναλλάσονται µε ρυθµό περίπου 2 Hz (η πλακέτα υλοποιεί εσωτερικά το BUS µέσω ενός πολυπλέκτη, οπότε δεν καίγεται όταν ανάβουν δύο ή περισσότεροι οδηγητές --αυτό βέβαια δεν είναι δικαιολογία γιά να οδηγήτε απρόσεκτα το BUS...). Οι πράσινες LED δείχνουν τις τιµές των εξόδων της πλακέτας: opcode και τα 2 bits σύγκρισης του συσσωρευτή µε το µηδέν. Οι κίτρινες LED δείχνουν τις τιµές των εισόδων της πλακέτας, δηλαδή των σηµάτων ελέγχου. Στους δύο πολυπλέκτες, ανάβει πάντα µία από τις δύο LED, υποδεικνύοντας την επιλεγµένη είσοδο τιµή µηδέν (0) του σήµατος ελέγχου επιλέγει την επάνω είσοδο, και τιµή ένα (1) επιλέγει την κάτω. Στους τρείς καταχωρητές, η LED δείχνει την τιµή του σήµατος επίτρεψης φόρτωσης (1 = αναµένη = φόρτωση στην επόµενη ακµή ρολογιού). Οι είσοδοι των σηµάτων ελέγχου της πλακέτας, στην επάνω πλευρά, έχουν ασθενείς αντιστάσεις καθέλκυσης πάνω στην πλακέτα, εποµένως αν τις αφήσετε ανοικτοκυκλωµένες (ασύνδετες) παίρνουν την default τιµή µηδέν (0). Αυτό είναι χρήσιµο γιά τους πολυπλέκτες (εκτελούν την συνηθισµένη λειτουργία τους που είδαµε στην 11.4), και γιά τους τρικατάστατους οδηγητές (όλοι σβηστοί --αρκεί να ανάψετε έναν) γιά τους καταχωρητές, η default τιµή 0 δεν είναι ιδιαίτερα χρήσιµη, δεδοµένου ότι στο σηµερινό εργαστήριο θέλουµε πάντα να φορτώνουµε τον PC, και συχνά τον ACC. Η Μνήµη Εντολών βρίσκεται πάντα σε κατάσταση ανάγνωσης, δηλαδή λειτουργεί πάντα σαν συνδυαστικό κύκλωµα --δεν µπορείτε να εγγράψετε σε αυτήν (Read-Only Memory - ROM). Στο µέσον της κάτω πλευράς υπάρχει ένας διακόπτης που αποτελεί την είσοδο ρολογιού: όποτε πατιέται ck=1 (και ανάβει η κόκκινη LED από πάνω του), και όποτε είναι ελεύθερος ck=0 ο διακόπτης αυτός είναι debounced ( 8.8). Σε σχέση µε όσα είδαµε στην 11.4, οι επιπλέον δρόµοι που υπάρχουν στην πλακέτα είναι οι εξής, από αριστερά προς τα δεξιά: (α) Ο τρικατάστατος οδηγητής που ελέγχεται από το zero2bus µπορεί να δώσει αρχικές τιµές σε διάφορες µονάδες πάνω στο BUS. (β) Ο πολυπλέκτης στην είσοδο του PC, ελεγχόµενος από το pc_md, επιτρέπει η επόµενη εντολή να µην είναι πάντα η "από κάτω" (η "συν ένα") της τωρινής. (γ) Ο τρικατάστατος οδηγητής στα 8 LS bits της εντολής, που ελέγχεται από το im_rd, προορίζεται γιά τα άλµατα ( 11.9) και άλλες λειτουργίες του επόµενου εργαστηρίου. (δ) Οµοίως, ο καταχωρητής TMP και ο πολυπλέκτης στην έξοδό του είναι γιά το επόµενο εργαστήριο. (ε) Το στοιχείο "sign, zero" στην έξοδο του συσσωρευτή, που γεννά τις εξόδους accsign και acczero, συγκρίνει την τιµή του συσσωρευτή µε το µηδέν (ίση, άνιση, αρνητική, θετική ή µηδέν), και θα το χρειαστούµε στις διακλαδώσεις υπό συνθήκη, στο επόµενο εργαστηριο. (στ) Τέλος, οι δύο τρικατάστατοι οδηγητές δεξιά, ελεγχόµενοι από τα io_out και io_in, προορίζονται γιά επικοινωνία µε τον έξω κόσµο (I/O BUS) --βλ

7 7/12/2005 2:06 µµ 7 of 9 Πείραµα 11.7a: Γνωριµία µε την Πλακέτα και την ALU του απλού Υπολογιστή Στο πρώτο αυτό πείραµα θα ασχοληθούµε µόνο µε την ALU --δεν θα βάλουµε την πλακέτα ακόµα να εκτελεί κανονικές εντολές σαν να είναι υπολογιστής. Όταν ανάβουµε την τροφοδοσία, οι µνήµες εντολών και δεδοµένων αρχικοποιούνται αυτόµατα µε ορισµένες τιµές (από µία ROM πάνω στην πλακέτα), και επίσης ο PC αρχικοποιείται στο µηδέν (0) αυτά, καθώς και οι default τιµές των σηµάτων ελέγχου διευκολύνουν την έναρξη των πειραµάτων µας. (α) Συνδέστε µε 3 σύρµατα τα 3 δεξιά (LS) bits του opcode στα 3 δεξιά (LS) bits του alu_md: έτσι, ο έλεγχος του τι πράξη κάνει η ALU θα γίνεται από τα περιεχόµενα των πρώτων θέσεων της µνήµης εντολών, που έχουν γραφτεί γιά το σκοπό αυτό (δεν πρόκειται γιά σύνδεση κανονικής λειτουργίας υπολογιστή --πρόκειται µόνο γιά σύνδεση πρώτης δοκιµής). (β) Συνδέστε µε 3 σύρµατα τα pc_ld, dm_rd, και acc_ld στην θετική τάση τροφοδοσίας (λογικό 1) στην πλακέτα συνδέσεων (breadboard): έτσι, το BUS θα οδηγείται πάντα από τη µνήµη δεδοµένων (dm_rd=1, ενώ dm_wr έχει την default τιµή 0), η ALU θα κάνει πάνω σε αυτή την τιµή του BUS την πράξη που που της υποδεικνύει ο opcode (α), και σε κάθε πάτηµα του διακόπτη-ρολογιού το αποτέλεσµα αυτής της πράξης θα γράφεται στον ACC (acc_ld=1), ο δε PC θα αυξάνει κατά 1 (nxtpc=pc+1 αφού pc_md έχει την default τιµή 0, και η νέα τιµή PC+1 θα γράφεται πάντα στον PC επειδή pc_ld=1). Έτσι, θα πρέπει να παρατηρήσετε τις εξής τιµές στους πρώτους κύκλους ρολογιού µετά το άναµα της τροφοδοσίας, βάσει των περιεχοµένων των πρώτων θέσεων των µνηµών εντολών και δεδοµένων, όπως αυτά φαίνονται στον παρακάτω πίνακα. Τα περιεχόµενα της µνήµης είναι γραµµένα µε τα 4 MS bits (opcode) στο δυαδικό, και τα 8 LS bits (ADDR) στο δεκαεξαδικό. ADDR I_MEM: alu_md: Αποτέλεσµα µετά την ακµή ρολογιού: 00: passb ACC := DM[10] = FD 01: passb ACC := DM[10] = FD 02: and ACC := ACC and DM[07] = FD AND 0F = 0D 03: nor ACC := ACC nor DM[00] = 0D nor 00 = not 0D = F2 04: nor ACC := ACC nor DM[04] = F2 nor 08 = not FA = 05 05: add ACC := ACC + DM[03] = = 09 06: add ACC := ACC + DM[01] = = 0A 07: F add ACC := ACC + DM[0F] = 0A + FF = 09 08: add ACC := ACC + DM[04] = = 11 09: sub ACC := ACC - DM[02] = = 0F 0A: sub ACC := ACC - DM[05] = 0F - 10 = FF 0B: sub ACC := ACC - DM[01] = FF - 01 = FE 0C: A and... < συµπληρώστε τον πίνακα εσείς > 0D: < συµπληρώστε τον πίνακα πριν το εργαστήριο > 0E: B... < συµπληρώστε πριν το εργαστήριο > 0F: < συµπληρώστε πριν το εργαστήριο > Αρχικά Περιεχόµενα Μνήµης εδοµένων (διευθύνσεις & δεδοµένα στο δεκαεξαδικό): ADDR D_MEM ADDR D_MEM [ Μετέπειτα Χρήση: ] 00: 00 08: 12 01: 01 09: 18 02: 02 0A: 1A 03: 04 0B: F0 [ αργότερα: tmp ] 04: 08 0C: F8 [ αργότερα: sum ] 05: 10 0D: FC (= -4 αν ερµηνευτεί σαν προσηµασµένος) 06: 80 0E: FE (= -2 αν ερµηνευτεί σαν προσηµασµένος) 07: 0F 0F: FF (= -1 αν ερµηνευτεί σαν προσηµασµένος) 10: FD [ αργότερα: δεδοµένα εισόδου από πληκτρολόγιο ] Πείραµα 11.7b: Γνωριµία µε τα Σήµατα Ελέγχου του απλού Υπολογιστή Αφήστε τα 3 LS bits του opcode να τροφοδοτούν τα 3 LS bits του alu_md, και αφήστε (αν θέλετε) και το pc_ld συνδεδεµένο µονίµως στο λογικό 1. Όµως, τροφοδοτήστε τώρα: (α) το dm_rd από τον διακόπτη M της κυρίως πλακέτας, (β) το acc_ld από τον διακόπτη N της κυρίως πλακέτας, (γ) το acc2bus από τον διακόπτη A της κυρίως πλακέτας, (δ) το dm_wr από τον διακόπτη B της κυρίως πλακέτας, (ε) το io_in από τον διακόπτη C της κυρίως πλακέτας, και (στ) το pc_md από τον διακόπτη D της κυρίως πλακέτας (ίσως να θέλετε να ελέγξετε και το im_rd από κάποιον διακόπτη --πιθανά από τον ίδιο τον D που ελέγχει και το pc_md, οπότε αυτά τα δύο im_rd = pc_md θα είναι µαζί σβηστά ή µαζί αναµένα). Παίξτε κάµποσο µε τους διάφορους διακόπτες, µέχρι να καταλάβετε πώς ελέγχετε εσείς ο ίδιος το τι λειτουργία λέτε στο datapath να κάνει! Φυσικά, δεν πρέπει να είναι αναµένοι ταυτόχρονα δύο ή περισσότεροι οδηγητές (κόκκινα LED) του BUS (αλλοιώς θα δείτε το BUS να παίρνεινα παίρνει ψευδοτυχαίες τιµές): σβήστε τον M πριν αρχίσετε να πατάτε εναλλάξ τους A, C, και im_rd. Γιά να καταλάβετε πλήρως τι κάνετε, θα πρέπει να έχετε διαβάσει και τις επόµενες δύο παραγράφους.

8 7/12/2005 2:06 µµ 8 of Η Εντολή Input: Εξωτερική Είσοδος Θέλουµε ο υπολογιστής µας να µπορεί να επικοινωνεί µε τον έξω κόσµο. Μιά στοιχειώδης έξοδος από τον υπολογιστή παρέχεται απο τους ενδείκτες 7 τµηµάτων, µέσω των οποίων µπορούµε να βλέπουµε αριθµητικά αποτελέσµατα υπολογισµών. Πρέπει όµως να φροντίσουµε και γιά είσοδο. Στην κάτω δεξιά άκρη της πλακέτας του υπολογιστή, υπάρχει σύνδεση γιά µιά οκτάµπιτη εξωτερική λεωφόρο, I/O BUS αυτή µπορεί να συνδεθεί, µέσω αµφίδροµων οδηγητών, µε την εσωτερική λεωφόρο, BUS. Στο εργαστήριο, θα βρείτε έτοιµη µιά στενή καλωδιοταινία που συνδέει αυτούς τους 8 ακροδέκτες (το MS bit είναι επάνω και το LS κάτω!) µε τα 8 LS bits που έρχονται από το πληκτρολόγιο στο breadboard ("FROM KEYBOARD"). Όταν θέλουµε να έλθει µιά τέτοια εξωτερική πληροφορία (ένας οκτάµπιτος αριθµός) µέσα στον υπολογιστή µας, δεν έχουµε παρά να ανάψουµε τον οδηγητή που ελέγχεται από το σήµα io_in τότε, η πληροφορία αυτή θα τοποθετηθεί στο BUS. Μέσα πλεόν στον υπολογιστή µας, τι θα κάνουµε την εξωτερική πληροφορία που έφτασε στο BUS; Η απάντηση είναι απλή: πρόκειται γιά κατάσταση αντίστοιχη αυτής όταν ο συσσωρευτής, ACC, βάζει την δική του πληροφορία στο BUS --την πληροφορία αυτή την αποθηκεύουµε στη θέση µνήµης µε διεύθυνση ADDR, όπου ADDR είναι τα 8 LS bits της εντολής. Έτσι λοιπόν, η εντολή "input ADDR" θα κάνει: I/O_BUS --> BUS --> DM[ADDR], δηλαδή, πέρα από το άναµα του io_in, πρέπει να ανάψουµε και το dm_wr γιά να γίνει εγγραφή στη µνήµη δεδοµένων Άλµα (Jump): Συνέχιση Εκτέλεσης σε άλλο Σηµείο Εάν οι υπολογιστές το µόνο που έκαναν ήταν να εκτελούν την µία εντολή µετά την άλλη, στη σειρά, πολύ γρήγορα θα έφταναν στο τέλος της µνήµης και δεν θα είχαν άλλες εντολές να εκτελέσουν. Η µεγάλη δύναµη των υπολογιστών είναι η επανάληψη των ίδιων εντολών (του ίδιου αλγόριθµου!) δρώντας κάθε φορά πάνω σε διαφορετικά δεδοµένα. Γιά να επιτευχθεί αυτή η επανάληψη, χρειάζεται ένας µηχανισµός που να επιτρέπει στον υπολογιστή η επόµενη εντολή που θα εκτελέσει να µην είναι η "από κάτω", αλλά µιά άλλη εντολή σε αυθαίρετο σηµείο της µνήµης εντολών. Την δυνατότητα αυτή µας παρέχουν οι εντολές άλµατος (jump) --που εκτελούνται πάντα, χωρίς συνθήκη, και γιά τις οποίες θα µιλήσουµε εδώ-- και οι εντολές διακλάδωσης (branch) --που εκτελούνται υπό ορισµένες συνθήκες µόν, και οι οποίες θα µας απασχολήσουν στο επόµενο εργαστήριο. Η εντολή "jump ADDR" έχει µιάν απλή αποστολή: η επόµενη εντολή που θα εκτελεστεί µετά από αυτήν δεν θα είναι η "από κάτω" εντολή της jump (η εντολή που είναι γραµµένη στην επόµενη διεύθυνση µνήµης), αλλά µιά άλλη εντολή, σε µιάν αυθαίρετη διεύθυνση ADDR της µνήµης εντολών. εδοµένου ότι ο υπολογιστής πάντα διαβάζει και εκτελεί την εντολή που βρίσκεται στη διεύθυνση της µνήµης εντολών την οποία διεύθυνση περιέχει ο PC, προκύπτει ότι ο ρόλος της "jump ADDR" είναι να µην φορτώσει στον PC την παλαιά του τιµή συν 1, αλλά αντ' αυτής να φορτώσει εκεί την διεύθυνση ADDR. Γιά να επιτευχθεί αυτό, το datapath µας έχει τον οδηγητή που ελέγχεται από το σήµα im_rd, ο οποίος µπορεί να βάλει την ADDR πάνω στο BUS, και τον πολυπλέκτη στην είσοδο του PC, ο οποίος µπορεί να κάνει τον PC να φορτωθεί από το BUS και όχι από τον αθροιστή που δίνει την παλαιά του τιµή συν Αποκωδικοποίηση Εντολών - Κύκλωµα Ελέγχου Το µόνο που λείπει πλέον γιά να δουλέψει ο υπολογιστής που φτιάξαµε (µε τις 8 εντολές που είδαµε µέχρι στιγµής --στο επόµενο εργαστήριο θα προσθέσουµε και άλλες 8 που λείπουν) είναι το κύκλωµα ελέγχου (control). Αυτό είναι υπεύθυνο γιά τη δηµιουργία όλων των σηµάτων ελέγχου που λένε σε κάθε µονάδα τι να κάνει κάθε φορά. Όλες οι εντολές που είδαµε µέχρι στιγµής διαβάζονται και εκτελούνται σε έναν κύκλο ρολογιού η καθεµία, και γι' αυτό το κύκλωµα ελέγχου, µέχρι στιγµής, είναι ένα απλό συνδυαστικό κύκλωµα. Ο πίνακας αληθείας του προκύπτει αν σκεφτούµε τις εργασίες που πρέπει να γίνουν γιά την εκτέλεση κάθε εντολής: opcode: Λειτουργία: alu_md acc2bus dm_wr pc_md dm_rd acc_ld io_in im_rd 0000 (add) ACC:=ACC+DM[A] (sub) ACC:=ACC-DM[A] (and) ACC:=ACCandDM[A] (nor) ACC:=ACCnorDM[A] (input) DM[A]:=IO_BUS 0 xxx (load) ACC:=DM[A] 1 1xx (store) DM[A]:=ACC 0 xxx (jump) PC := A 0 xxx Πάντα γιά όλες αυτές τις εντολές: pc_ld = 1 ; zero2bus = 0 ; addr_md = 0 ; tmp_ld = 0 ; io_out = 0 ;

9 7/12/2005 2:06 µµ 9 of 9 Οι εντολές load και add εκτελούνται όπως περιγράψαµε παραπάνω. Οι εντολές sub, and, nor εκτελούνται κατά εντελώς ανάλογο τρόπο --απλώς αλλάζει το mode της ALU. Η εντολή store διαφέρει λίγο: ανάβοντας το acc2bus=1 (µε dm_rd=0, φυσικά), τοποθετεί την τιµή του συσσωρευτή στο bus ενεργοποιώντας το dm_wr=1, η τιµή αυτή από το bus εγγράφεται στη µνήµη δεδοµένων επίσης, σβήνοντας το acc_ld=0, ο ACC διατηρεί την τιµή του αµετάβλητη. Υπάρχει µιά λεπτοµέρεια που δεν είναι σωστή σε αυτό το συνδυαστικό τρόπο γέννησης του σήµατος dm_wr: δεν υπάρχει εγγύηση ότι το σήµα αυτό θα ανάψει µετά τη σταθεροποίηση της διεύθυνσης της µνήµης δεδοµένων και θα σβήσει πριν την επόµενη αλλαγή αυτής της διεύθυνσης, όπως πρέπει να γίνει. Το πρόβληµα αυτό δεν µπορεί να διορθωθεί παρά µόνο αν αλλάξει το κύκλωµα ελέγχου και γίνει ακολουθιακό (FSM), ή µε άλλες πολύπλοκες µεθόδους η πλακέτα του εργαστηρίου λύνει αυτό το πρόβληµα µε µία τέτοια περίπλοκη µέθοδο που δεν σας αφορά. Κανονικά, ένας υπολογιστής χρειάζεται και ένα σήµα reset που να τον επαναφέρει στην αρχική κατάσταση εκκίνησης, ό,τι κι αν έκανε αυτός πριν (opcode=xxxx): να αρχικοποιεί τον PC στο 0, γιά να αρχίσει να εκτελεί εντολές από την αρχή της µνήµης εντολών. Στην πλακέτα του εργαστηρίου, γιά διευκόλυνσή σας, "reset" γίνεται αυτόµατα όποτε ανάβει η τροφοδοσία, καθώς και όποτε πατήσετε το σχετικό µικρό κουµπί, στην αριστερή άκρη της πλακέτας, λίγο κάτω από τη µέση. Πείραµα 11.11: Σχεδίαση και οκιµή του Κυκλώµατος Ελέγχου Πριν φτάσετε στο εργαστήριο, σχεδιάστε το (συνδυαστικό) κύκλωµα του ελέγχου βάσει του παραπάνω πίνακα αληθείας, και την υλοποίησή του µε πύλες από τα chips που έχετε. Παρ' ότι ο παραπάνω πίνακας αληθείας δείχνει ολους τους opcodes να αρχίζουν µε 0 (και δεν προσδιορίζει τι πρέπει να συµβεί όταν ο opcode (είσοδος στο κύκλωµά σας) αρχίζει µε 1), εσείς αγνοήστε (don't care) αυτό το 1 MS bit του opcode. Αυτό, πρώτον απλοποιεί το κύκλωµά σας, και δεύτερον είναι απαραίτητο διότι στη µνήµη εντολών της πλακέτας υπάρχει µιά εντολή που αρχίζει µε 1 (η εντολή 1111 στη θέση 01), η οπoία είναι εκεί διότι την χρειαζόµαστε στο επόµενο εργαστήριο (στην πραγµατικότητα είναι η εντολή "jump indexed"), αλλά σε αυτό εδώ το εργαστηριο εσείς πρέπει να την θεωρήσετε ότι είναι µία κανονική jump, σαν ο opcode της να ήταν 0111, δηλαδή αγνοώντας το 1 MS bit του opcode. Στο εργαστήριο, κατασκευάστε το κύκλωµα ελέγχου στο breadboard, συνδέστε το στην πλακέτα του υπολογιστή, και ελέγξτε το εκτελώντας το πρόγραµµα που υπάρχει στη µνήµη εντολών και φαίνεται στον παρακάτω πίνακα. Όταν ο PC είναι µηδέν (0), µην ξεχνάτε να δίνετε από το πληκτρολόγιο έναν "ενδιαφέροντα" οκτάµπιτο αριθµό. ADDR I_MEM: Assembly: Αποτέλεσµα µετά την ακµή ρολογιού: 00: input 10 DM[10] = input := δεδοµένα εισόδου από πληκτρολόγιο 01: jump 10 PC := : load 08 ACC := DM[08] = 12 11: add 09 ACC := ACC + DM[09] = = 2A 12: A add 0A ACC := ACC + DM[0A] = 2A + 1A = 44 13: B store 0B DM[0B] = tmp := ACC = 44 14: sub 01 ACC := ACC - DM[01] = = 43 15: and 07 ACC := ACC and DM[07] = 43 and 0F = 03 16: nor 00 ACC := ACC nor DM[00] = 03 nor 00 = not 03 = FC 17: nor 01 ACC := ACC nor DM[01] = FC nor 01 = not FD = 02 18: add 10 ACC := ACC + DM[10] = 02 + input 19: C add 0C ACC := ACC + DM[0C] = 02 + input + sum 1A: C store 0C DM[0C] = sum := ACC = sum + input + 2 1B: jump 00 PC := 00 [άπειρος βρόχος άθροισης] Αρχικά Περιεχόµενα Μνήµης εδοµένων (διευθ. & δεδοµένα στο δεκαεξαδικό): ADDR D_MEM ADDR D_MEM [ Χρήση: ] 00: 00 08: 12 01: 01 09: 18 02: 02 0A: 1A 03: 04 0B: F0 [ tmp ] 04: 08 0C: F8 [ sum ] 05: 10 0D: FC (= -4 αν ερµηνευτεί σαν προσηµασµένος) 06: 80 0E: FE (= -2 αν ερµηνευτεί σαν προσηµασµένος) 07: 0F 0F: FF (= -1 αν ερµηνευτεί σαν προσηµασµένος) 10: FD [ input από πληκτρολόγιο ] Up to the Home Page of CS-120 copyright University of Crete, Greece. last updated: 7 Dec. 2005, by M. Katevenis.

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

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 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: Ένας απλός Υπολογιστής και περί Ταχύτητας και Κατανάλωσης Ενέργειας των Κυκλωµάτων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εργαστήριο 12: Διακλαδώσεις, Έμμεσες Προσπελάσεις (Pointers), και περί Ταχύτητας και Κατανάλωσης Ενέργειας των Κυκλωμάτων CMOS ΗΥ-120: Ψηφιακή Σχεδίαση Φθινόπωρο 2009 Τμ. Επ. Υπολογιστών Πανεπιστήμιο Κρήτης Εργαστήριο 12: Διακλαδώσεις, Έμμεσες Προσπελάσεις (Pointers), και περί Ταχύτητας και Κατανάλωσης Ενέργειας των Κυκλωμάτων

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 121 ΕΡΓΑΣΤΗΡΙΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΝΗΜΗ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΗ ΛΟΓΙΚΗ ΥΠΕΥΘΥΝΟΣ ΕΡΓΑΣΤΗΡΙΩΝ: ΧΡΥΣΟΣΤΟΜΟΣ ΧΡΥΣΟΣΤΟΜΟΥ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2001 ΕΠΛ 121 ΕΡΓΑΣΤΗΡΙΑ ΨΗΦΙΑΚΩΝ

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

Σελίδα 1 από 12. Απαντήσεις στο φυλλάδιο 55. Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από:

Σελίδα 1 από 12. Απαντήσεις στο φυλλάδιο 55. Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από: Σελίδα 1 από 12 Απαντήσεις στο φυλλάδιο 55 Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από: (α) Κεντρική Μονάδα Επεξεργασίας. (β) Κύρια Μνήµη. (γ) Μονάδες εισόδου. (δ) Μονάδες εξόδου. (ε) Βοηθητική

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

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή 6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή Εισαγωγή Η σχεδίαση ενός ψηφιακού συστήµατος ως ακολουθιακή µηχανή είναι εξαιρετικά δύσκολη Τµηµατοποίηση σε υποσυστήµατα µε δοµικές µονάδες:

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

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

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

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

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

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

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

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

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

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

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: Σελίδα 1 από 11 Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: την επικοινωνία, µε τα υπόλοιπα ολοκληρωµένα κυκλώµατα του υπολογιστικού συστήµατος. την παροχή τροφοδοσίας

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

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

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

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

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

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

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεµατική Ενότητα ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Ακαδηµαϊκό Έτος 2006 2007 Γραπτή Εργασία #2 Ηµεροµηνία Παράδοσης 28-0 - 2007 ΠΛΗ 2: Ψηφιακά Συστήµατα ΠΡΟΤΕΙΝΟΜΕΝΕΣ ΛΥΣΕΙΣ Άσκηση : [5 µονάδες] Έχετε στη

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

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

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

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

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

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

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

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

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

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

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

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

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

Lab 6: Signed Add/Subtract, FF (U.Crete, CS-120) 14-10-28 17:28 διαίρεσης, δηλαδή αριστερά 28-24 = 4 bits της διεύθυνσης) μετατρέποντας στο δεκαδικό, βλέπουμε ότι όντως πρόκειται γιά τη θέση 256+128+16

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

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

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

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

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

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

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

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

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

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

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

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

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

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή 1 Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή μνήμη(cache). Η cache είναι πολύ σημαντική, πολύ γρήγορη,

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

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

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

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

Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 3

Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 3 Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 3 Κεφάλαιο 3 Οργάνωση και Λειτουργία Επεξεργαστών Σκοπός του κεφαλαίου αυτού είναι να περιγράψει την εσωτερική οργάνωση των υπολογιστών,

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

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

4.1 Θεωρητική εισαγωγή ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΥΑ ΙΚΟΣ ΑΘΡΟΙΣΤΗΣ-ΑΦΑΙΡΕΤΗΣ Σκοπός: Να µελετηθούν αριθµητικά κυκλώµατα δυαδικής πρόσθεσης και αφαίρεσης. Να σχεδιαστούν τα κυκλώµατα από τους πίνακες αληθείας

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

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

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

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

σύνθεση και απλοποίησή τους θεωρήµατα της άλγεβρας Boole, αξιώµατα του Huntington, κλπ.

σύνθεση και απλοποίησή τους θεωρήµατα της άλγεβρας Boole, αξιώµατα του Huntington, κλπ. Εισαγωγή Εργαστήριο 2 ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ Σκοπός του εργαστηρίου είναι να κατανοήσουµε τον τρόπο µε τον οποίο εκφράζεται η ψηφιακή λογική υλοποιώντας ασκήσεις απλά και σύνθετα λογικά κυκλώµατα (χρήση του

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

και η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath

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

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

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

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

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

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

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

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

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

Εισαγωγή στην πληροφορική -4 Εισαγωγή στην πληροφορική 6 (, 64) bits Μνήµη Θέση (κύτταρο cell) µνήµης, χωράει λέξεις (words) εντολές (πρόγραµµα), αριθµοί (δεδοµένα) Αριθµοί: δυαδική (binary) αναπαράσταση = = = 4 = 4 = 5 = 7 Εισαγωγή

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers)

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers) ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers) ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) Περίληψη q Καταχωρητές Παράλληλης

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

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

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

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

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

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

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

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Παράδειγµα: Καταχωρητής 2-bit. Καταχωρητής 4-bit. Μνήµη Καταχωρητών

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Παράδειγµα: Καταχωρητής 2-bit. Καταχωρητής 4-bit. Μνήµη Καταχωρητών ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Κεφάλαιο 7 i: Καταχωρητές Περίληψη Καταχωρητές Παράλληλης Φόρτωσης Καταχωρητές Ολίσθησης Σειριακή Φόρτωση Σειριακή Ολίσθηση Καταχωρητές Ολίσθησης Παράλληλης Φόρτωσης

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

Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ. Εισαγωγή

Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ. Εισαγωγή Εισαγωγή Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ Ξεκινάµε την εργαστηριακή µελέτη της Ψηφιακής Λογικής των Η/Υ εξετάζοντας αρχικά τη µορφή των δεδοµένων που αποθηκεύουν και επεξεργάζονται οι υπολογιστές και προχωρώντας

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

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων Τµήµα Επιστήµης Υπολογιστών Χειµερινό Εξάµηνο

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων Τµήµα Επιστήµης Υπολογιστών Χειµερινό Εξάµηνο ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων Τµήµα Επιστήµης Υπολογιστών Χειµερινό Εξάµηνο 2006-2007 Εκφώνηση Εργαστηρίου Στο εργαστήριο του µαθήµατος σας ζητείται να σχεδιάσετε, να υλοποιήσετε και να επαληθεύσετε

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΤΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΣΤΗΝ ΟΙΚΟΝΟΜΙΑ 7 Ο ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΑΠΟΣΤΟΛΙΑ ΠΑΓΓΕ Περιεχόμενα 2 Δυαδικό Σύστημα Προσημασμένοι δυαδικοί αριθμοί Αφαίρεση

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

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

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

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

Ελίνα Μακρή

Ελίνα Μακρή Ελίνα Μακρή elmak@unipi.gr Μετατροπή Αριθμητικών Συστημάτων Πράξεις στα Αριθμητικά Συστήματα Σχεδίαση Ψηφιακών Κυκλωμάτων με Logism Άλγεβρα Boole Λογικές Πύλες (AND, OR, NOT, NAND, XOR) Flip Flops (D,

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

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

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

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

Εργαστήριο 7: Μανταλωτές (Latches), Καταχωρητές, και ιφασικά Ρολόγια

Εργαστήριο 7: Μανταλωτές (Latches), Καταχωρητές, και ιφασικά Ρολόγια 1 of 5 ΗΥ-120: Ψηφιακή Σχεδίαση Φθινόπωρο 2006 Τµ. Επ. Υπολογιστών Πανεπιστήµιο Κρήτης Εργαστήριο 7: Μανταλωτές (Latches), Καταχωρητές, και ιφασικά Ρολόγια 27-30 Νοεµβρίου 2006 ιαγωνισµός Προόδου: Σάββατο

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

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

ΦΟΙΤΗΤΡΙΑ : ΒΟΥΛΓΑΡΙ ΟΥ ΜΑΡΙΑ, ΑΕΜ: 2109 ΕΠΙΒΛΕΠΩΝ : ΚΑΛΟΜΟΙΡΟΣ ΙΩΑΝΝΗΣ, ΕΠΙΚΟΥΡΟΣ ΚΑΘΗΓΗΤΗΣ Τίτλος: «Σχεδίαση και προσοµοίωση παράλληλης αριθµητικής λογικής µονάδας (ALU) για την επεξεργασία δυαδικών αριθµών εύρους 4-bit, µε το πρόγραµµα Multisim» ΦΟΙΤΗΤΡΙΑ : ΒΟΥΛΓΑΡΙ ΟΥ ΜΑΡΙΑ, ΑΕΜ: 2109 ΕΠΙΒΛΕΠΩΝ

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

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΑΡΑΓΚΙΑΟΥΡΗΣ ΝΙΚΟΛΑΟΣ

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

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

Βασική δοµή και Λειτουργία Υπολογιστή

Βασική δοµή και Λειτουργία Υπολογιστή Βασική δοµή και Λειτουργία Υπολογιστή Η τεχνολογία των Η/Υ έχει βασιστεί στη λειτουργία του ανθρώπινου οργανισµού. Οπως ο άνθρωπος πέρνει εξωτερικά ερεθίσµατα από το περιβάλλον τα επεξεργάζεται και αντιδρά

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ελίνα Μακρή

Ελίνα Μακρή Ελίνα Μακρή elmak@unipi.gr Μετατροπή Αριθμητικών Συστημάτων Πράξεις στα Αριθμητικά Συστήματα Σχεδίαση Ψηφιακών Κυκλωμάτων με Logism Άλγεβρα Boole Λογικές Πύλες (AND, OR, NOT, NAND, XOR) Flip Flops (D,

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

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων.

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων. Α Γενικού Λυκείου Κεφάλαιο 1 1.1 Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων. Ιδιαίτερη θέση έχουν οι Υπολογιστικές συσκευές. Μηχανισμός

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

Σχεδίαση της Μονάδας Ελέγχου

Σχεδίαση της Μονάδας Ελέγχου ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - VHDL ΥΛΙΚΟ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ενότητα 5 Σχεδίαση της Μονάδας Ελέγχου Καθηγητής Αντώνης Πασχάλης 2017 Γενικές Γραμμές Σχεδίαση

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

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

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

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

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

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

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

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

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

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

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

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 3 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Γιώργος ηµητρίου Μάθηµα 3 ο Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Μονάδα Επεξεργασίας εδοµένων Υποµονάδες πράξεων n Αριθµητική/Λογική Μονάδα (ΑΛΜ - ALU): Βασικές αριθµητικές

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

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

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

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

PLD. Εισαγωγή. 5 η Θεµατική Ενότητα : Συνδυαστικά. PLAs. PLDs FPGAs

PLD. Εισαγωγή. 5 η Θεµατική Ενότητα : Συνδυαστικά. PLAs. PLDs FPGAs 5 η Θεµατική Ενότητα : Συνδυαστικά Κυκλώµατα µε MSI και Εισαγωγή Οι προγραµµατιζόµενες διατάξεις είναι ολοκληρωµένα µε εσωτερικές πύλες οι οποίες µπορούν να υλοποιήσουν οποιαδήποτε συνάρτηση αν υποστούν

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

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

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

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

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΟΙ ΚΑΤΑΧΩΡΗΤΕΣ ΚΑΙ Η ΥΛΟΠΟΙΗΣΗ ΤΟΥΣ ΜΕ FLIP-FLOP ΚΑΙ ΠΥΛΕΣ

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΟΙ ΚΑΤΑΧΩΡΗΤΕΣ ΚΑΙ Η ΥΛΟΠΟΙΗΣΗ ΤΟΥΣ ΜΕ FLIP-FLOP ΚΑΙ ΠΥΛΕΣ ΑΣΠΑΙΤΕ ΤΜΗΜΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΗΣ & ΗΛΕΚΤΡΟΛΟΓΙΑΣ ΕΡΓΑΣΤΗΡΙΟ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ & μ-υπολογιστων ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΟΙ ΚΑΤΑΧΩΡΗΤΕΣ ΚΑΙ Η ΥΛΟΠΟΙΗΣΗ ΤΟΥΣ ΜΕ FLIP-FLOP ΚΑΙ ΠΥΛΕΣ Θεωρητικό

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

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

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΣΕΙΡΙΑΚΗ ΠΡΟΣΘΕΣΗ ΑΣΠΑΙΤΕ ΤΜΗΜΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΗΛΕΚΤΡΟΛΟΓΙΑΣ & ΗΛΕΚΤΡΟΝΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ & μ-υπολογιστων ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΣΕΙΡΙΑΚΗ ΠΡΟΣΘΕΣΗ Θεωρητικό Μέρος Οι σειριακές λειτουργίες είναι πιο

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

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

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

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

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

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

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

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑΤΩΝ ΕΞΕΤΑΣΕΩΝ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεµατική Ενότητα ΠΛΗ 2: Ψηφιακά Συστήµατα Ακαδηµαϊκό Έτος 24 25 Ηµεροµηνία Εξέτασης 29.6.25 Χρόνος Εξέτασης

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

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Μετρητής Ριπής (Ripple Counter) Μετρητές (Counters) Μετρητής Ριπής (συν.

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Μετρητής Ριπής (Ripple Counter) Μετρητές (Counters) Μετρητής Ριπής (συν. ΗΜΥ-2: Λογικός Σχεδιασµός Εαρινό Κεφάλαιο 7 ii: Μετρητές Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Μετρητής Ριπής Περίληψη Σύγχρονος υαδικός Μετρητής Σχεδιασµός µε Flip-Flops

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

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

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

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

Η διασύνδεση Υλικού και λογισμικού 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 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το

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

1 η Θεµατική Ενότητα : Δυαδικά Συστήµατα

1 η Θεµατική Ενότητα : Δυαδικά Συστήµατα 1 η Θεµατική Ενότητα : Δυαδικά Συστήµατα Δεκαδικοί Αριθµοί Βάση : 10 Ψηφία : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Αριθµοί: Συντελεστές Χ δυνάµεις του 10 7392.25 = 7x10 3 + 3x10 2 + 9x10 1 + 2x10 0 + 2x10-1 + 5x10-2

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

7 η Θεµατική Ενότητα : Καταχωρητές, Μετρητές και Μονάδες Μνήµης

7 η Θεµατική Ενότητα : Καταχωρητές, Μετρητές και Μονάδες Μνήµης 7 η Θεµατική Ενότητα : Καταχωρητές, Μετρητές και Εισαγωγή Καταχωρητής: είναι µία οµάδα από δυαδικά κύτταρα αποθήκευσης και από λογικές πύλες που διεκπεραιώνουν την µεταφορά πληροφοριών. Οι µετρητές είναι

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

Εργαστήριο Εισαγωγής στη Σχεδίαση Συστημάτων VLSI

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

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

Πράξεις με δυαδικούς αριθμούς

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

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

Λογικός Σχεδιασµός και Σχεδιασµός Η/Υ. ΗΜΥ-210: Εαρινό Εξάµηνο Σκοπός του µαθήµατος. Ψηφιακά Συστήµατα. Περίληψη. Εύρος Τάσης (Voltage(

Λογικός Σχεδιασµός και Σχεδιασµός Η/Υ. ΗΜΥ-210: Εαρινό Εξάµηνο Σκοπός του µαθήµατος. Ψηφιακά Συστήµατα. Περίληψη. Εύρος Τάσης (Voltage( ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο 2005 Σκοπός του µαθήµατος Λογικός Σχεδιασµός και Σχεδιασµός Η/Υ Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.1-1.2) Βασικές έννοιες & εργαλεία που χρησιµοποιούνται

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

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

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

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

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

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

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

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

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

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

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

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

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

Βασικές Έννοιες της Πληροφορικής

Βασικές Έννοιες της Πληροφορικής Βασικές Έννοιες της Πληροφορικής Ηλεκτρονικός Υπολογιστής Αυτόματη ηλεκτρονική μηχανή που δέχεται, φυλάσσει, επαναφέρει, επεξεργάζεται και παρουσιάζει πληροφορίες σύμφωνα με προκαθορισμένες εντολές. Δεδομένα

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

Ας ξεκινήσουμε. Macro-instructions. (Assembly level) Micro-instructions Main memory. (micro-code)

Ας ξεκινήσουμε. Macro-instructions. (Assembly level) Micro-instructions Main memory. (micro-code) Ας ξεκινήσουμε Τι χρειαζόμαστε για να υλοποιήσουμε έναν επεξεργαστή? Macro-instructions ALU (Assembly level) Register File Micro-instructions Main memory (micro-code) Control signals and microcode (control

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

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

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

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