Σειρά Ασκήσεων 11: Βασική FSM Ελέγχου του Επεξεργαστή

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

Download "Σειρά Ασκήσεων 11: Βασική FSM Ελέγχου του Επεξεργαστή"

Transcript

1 1 of 6 ΗΥ-225: Οργάνωση Υπολογιστών Άνοιξη 2009 Τµ. Επ. Υπολογιστών Πανεπιστήµιο Κρήτης Σειρά Ασκήσεων 11: Βασική FSM Ελέγχου του Επεξεργαστή Προθεσµία έως Κυριακή 12 Απριλίου 2009, ώρα 23:59 (βδοµάδα 10) 11.1 Βασική FSM και Εξισώσεις Μεταφοράς Καταχωρητών: Γιά να λειτουργήσει το datapath του επεξεργαστή που περιγράψατε στην άσκηση 10.1 (υλοποίηση πολλαπλών κύκλων ρολογίου), χρειάζεται µιά Μηχανή Πεπερασµένων Καταστάσεων (FSM - Finite State Machine) που να γεννά τα επιθυµητά σήµατα ελέγχου σε κάθε κύκλο ρολογιού. Θα ξεκινήσουµε, σε αυτή τη σειρά ασκήσεων, µε τη βασική FSM ελέγχου που είδαµε στο µάθηµα, που περιγράφεται στην παράγρ. 5.4 του βιβλίου (σελ ), και που δίδεται στο σχήµα εδώ µε τις εξισώσεις µεταφοράς καταχωρητών γιά την κάθε κατάσταση. Οι τιµές των σηµάτων ελέγχου, στην κάθε κατάσταση, προκύπτουν από αυτές τις εξισώσεις όπως εξηγήσαµε στο µάθηµα, και όπως εκτίθεται στο βιβλίο, σελίδες Σε αυτή τη σειρά ασκήσεων θα υλοποιήσετε µόνο τις εντολές: sw, lw; add, sub, and, or, slt; j που φαίνονται µε µαύρο χρώµα στο διάγραµµα --τις υπόλοιπες εντολές, περιλαµβανόµενων και των διακλαδώσεων, θα τις υλοποιήσετε σε επόµενη σειρά ασκήσεων. Κάθε κουτί στο διάγραµµα αυτό παριστά µία κατάσταση της FSM. Το όνοµα πάνω από το κουτί είναι το όνοµα της κατάστασης. Η FSM που έχουµε εδώ παραµένει ακριβώς ένα κύκλο ρολογιού σε κάθε κατάσταση. Τον επόµενο κύκλο ρολογιού πηγαίνει στην επόµενη κατάσταση του διαγράµµατος. Όταν υπάρχουν περισσότερες από µία επόµενες καταστάσεις, όπως συµβαίνει στις καταστάσεις decode_rr και mem_addr, τότε η µετάβαση που θα κάνει η FSM εξαρτάται από την εκάστοτε εκτελούµενη εντολή, δηλαδή τα περιεχόµενα του καταχωρητή εντολών (IR): θα ακολουθηθεί η µετάβαση πάνω στο βέλος της οποίας είναι γραµµένο το opcode της παρούσας εντολής. Μέσα στο κουτί κάθε κατάστασης είναι γραµµένες οι εξισώσεις µεταφοράς καταχωρητών (register transfer) που περιγράφουν τις λειτουργίες που πρέπει να γίνουν όποτε η FSM βρίσκεται σε εκείνη την κατάσταση, δηλαδή, στην περίπτωσή µας, µέσα σε εκείνον τον κύκλο ρολογιού. Πρόκειται γιά την περιγραφή του επεξεργαστή µας σε "Επιπεδο Μεταφοράς Καταχωρητών" (RTL - Register Transfer Level) --ένα επίπεδο αφαίρεσης αρκούντως αφηρηµένο γιά να βολεύει τους σχεδιαστές, αλλά και αρκούντως συγκεκριµένο γιά να επιτρέπει σχεδόν αυτόµατη ή και πλήρως αυτόµατη σύνθεση του τελικού κυκλώµατος από εργαλεία (λογισµικό) σχεδίασης, όπως το συχνά χρησιµοποιούµενο πακέτο "Synopsys". Οι µεταφορές καταχωρητών εδώ είναι: Ανάγνωση Εντολής από τη Μνήµη: ir = M[pc]; Ανάγνωση Καταχωρητών Πηγής από το Αρχείο Καταχωρητών: A = RF[$rs]; B = RF[$rt]; Το σύµβολο $rs σηµαίνει το σχετικό πεδίο του καταχωρητή εντολών, ir[25:21], και οµοίως $rt σηµαίνει ir[20:16]. Τους καταχωρητές αυτούς τους διαβάζουµε πάντα, πριν (εν παραλλήλω µε) την αποκωδικοποίηση της εντολής και τη διαπίστωση του ποιά εντολή είναι και τι format έχει. Υπάρχουν εντολές γιά τις οποίες τα πεδία ir[25:21] και/ή ir[20:16] δεν είναι αριθµοί καταχωρητών, άρα οι τιµές που διαβάζουµε είναι "σκουπίδια", όµως αυτό δεν πειράζει αφού αυτές

2 2 of 6 θα αγνοηθούν στη συνέχεια, ενώ µε την απλή ανάγνωση που κάναµε δεν έχουµε καταστρέψει καµιά πληροφορία. Από την άλλη µεριά, γιά όσες εντολές χρειάζονται µία ή και τις δύο τιµές που διαβάσαµε, πετυχαίνουµε να έχουµε τις τιµές αυτές διαθέσιµες όσο νωρίτερα γίνεται, χωρίς να υφιστάµεθα την καθυστέρηση της προηγούµενης αποκωδικοποίησης της εντολής. Γιά να είναι αυτό εφικτό, τα πεδία $rs και $rt (καταχωρητές πηγής) βρίσκονται πάντα στην ίδια, σταθερή θέση µέσα σε όλες τις εντολές MIPS που τα χρησιµοποιούν σαν καταχωρητές πηγής, ανεξαρτήτως format αυτών των εντολών. Υπολογισµός ιεύθυνσης Μνήµης: ALUout = A + Immx; Προσπέλαση Μνήµης γιά εδοµένα: mdr = M[ALUout]; (ανάγνωση µνήµης), ή M[ALUout] = B; (εγγραφή µνήµης). Πράξη Αριθµητικής/Λογικής Μονάδας γιά εντολή ALU R-format: ALUout = A op B; όπου η πράξη op εξαρτάται από τη συγκεκριµένη εντολή που εκτελούµε µέσα σε αυτή την κατηγορία εντολών. Το σήµα ελέγχου της ALU σε αυτή την περίπτωση είναι παράδειγµα σήµατος τύπου "Mealy", και όχι "Moore" --βλέπε παρακάτω. Εγγραφή Αποτελέσµατος στο Αρχείο Καταχωρητών: RF[$rt] = mdr; (δεδοµένα από ανάγνωση µνήµης), ή RF[$rd] = ALUout; (δεδοµένα από εντολή ALU R-format). Εκτέλεση Άλµατος χωρίς Συνθήκη: pc = jmpaddr; ιεύθυνση Προορισµού ιακλάδωσης υπό Συνθήκη (αφορά επόµενη και όχι αυτή την άσκηση): γιά εκπαιδευτικούς σκοπούς, υπολογίζουµε τη συνθήκη διακλάδωσης µέσω αφαίρεσης (A-B) στην ALU, και στη συνέχεια κοιτάµε αν το αποτέλεσµα της αφαίρεσης είναι µηδέν. Επίσης, γιά λόγους οικονοµίας κυκλωµάτων και γιά εκπαιδευτικούς σκοπούς, ο υπολογισµός της διεύθυνσης προορισµού της διακλάδωσης γίνεται στον αθροιστή της µίας και µοναδικής ALU που διαθέτουµε. Γιά λόγους ταχύτητας, επιδιώκουµε οι διακλαδώσεις να εκτελούνται σε τρείς µόνο, αντί τεσσάρων, κύκλους ρολογιού. Αφού ο υπολογισµός της διεύθυνσης προορισµού χρειάζεται την ALU, αφού η ALU είναι απασχοληµένη τον 3ο κύκλο ρολογιού, και αφού προσπαθούµε να εκτελέσουµε τη διακλάδωση σε 3 µόνο κύκλους, πρέπει ο υπολογισµός της διεύθυνσης προορισµού, ALUout = pc+immx4, να γίνει τον 1ο ή τον 2ο κύκλο. Τον 1ο κύκλο (ενώ διαβάζουµε την εντολή από τη µνήµη), δεν είναι δυνατόν να γίνει η πρόσθεση pc+immx4, διότι δεν είναι γνωστό ακόµα το Immx4. Τον 2ο κύκλο, όµως, µπορεί να υπολογιστεί η διεύθυνση προορισµού, αφού το Immx4 είναι κοµάτι του IR, σε γνωστή θέση, άρα είναι γνωστό από την αρχή του 2ου κύκλου. Ακολουθούµε λοιπόν τη λύση αυτή, και κάνουµε την πρόσθεση πάντα, ταυτόχρονα και ανεξάρτητα από την αποκωδικοποίηση της εντολής. Αυτό σηµαίνει ότι σε πολλές περιπτώσεις το αποτέλεσµα αυτής της πρόσθεσης θα είναι "σκουπίδια", όπως π.χ. στις περιπτώσεις εντολών µε R-format, όπου το πεδίο ir[15:0] δεν είναι αριθµός "immediate" αλλά σύνθεση τριών άλλων, άσχετων πεδίων. Όµως, αυτό δεν µας πειράζει, αφού οι εντολές αυτές αγνοούν το αποτέλεσµα αυτής της πρόσθεσης (γράφουν άλλο, ανεξάρτητο αποτέλεσµα στον ALUout). Οι εντολές διακλάδωσης, από την άλλη µεριά, όταν στον τρίτο κύκλο χρειαστούν τη διεύθυνση προορισµού, θα την έχουν έτοιµη και έγκυρη. Η απόφαση γιά τη χρήση της (pc=aluout, συνθήκη διακλάδωσης αληθής) ή την αγνόησή της (pc αµετάβλητος, συνθήκη διακλάδωσης ψευδής), αρκεί να ληφθεί στο τέλος του 3ου κύκλου ρολογιού, ελέγχοντας το σήµα επίτρεψης φόρτωσης (pcld) κατά τον χρόνο εκείνο. Πρόκειται γιά περίπτωση καθυστερηµένου σήµατος "Mealy", όπως θα πούµε σε επόµενη άσκηση. Αύξηση του Μετρητή Προγράµµατος (PC) κατά 4: γιά λόγους οικονοµίας κυκλωµάτων και γιά εκπαιδευτικούς σκοπούς, η αύξηση του PC κατά 4 γίνεται στον αθροιστή της µίας και µοναδικής ALU που διαθέτουµε --προφανώς σε κύκλους ρολογιού που αυτή είναι ελεύθερη από άλλες υποχρεώσεις. Γιά τις εντολές µνήµης και αριθµητικής/λογικής, η αύξηση του PC κατά 4 θα µπορούσε να γίνει κατά τον 4ο (ή 5ο) κύκλο ρολογιού τους. Όµως, γιά λόγους απλότητας και οµοιοµορφίας, προτιµήθηκε η αύξηση του PC κατά 4 να γίνεται κατά τον πρώτο κύκλο (i_fetch) όλων ανεξαιρέτως των εντολών, ταυτόχρονα (εν παραλλήλω), δηλαδή, µε την ανάγνωση της εντολής από τη µνήµη. Παρατηρήστε ότι η ανάγνωση γίνεται από τη διεύθυνση µνήµης που υποδεικνύει η παλαιά (προ της αύξησης) τιµή του PC. Παρατηρήστε επίσης ότι η αύξηση αυτή κατά τον πρώτο κύκλο θα βολεύει και την υλοποίηση των εντολών jal, αργότερα, δεδοµένου ότι αυτές πρέπει να αποθηκεύσουν στον $31 αυτήν ακριβώς την --αυξηµένη κατά 4-- τιµή. Παρατηρήστε τέλος ότι η διεύθυνση προορισµού των διακλαδώσεων υπό συνθήκη ορίστηκε επίτηδες να είναι (PC+4) + 4*Imm16, αντί απλώς PC + 4*Imm16, γιά να βολεύει σε σχέση µε αυτή την αύξηση του PC κατά 4, στον πρώτο κύκλο ρολογιού, "στα τυφλά", πάντα, γιά όλες τις εντολές Βασική Υλοποίηση FSM και Σηµάτων Ελέγχου: Προς το παρόν, θα υλοποιήσουµε την FSM ελέγχου µε τον απλό τρόπο που φαίνεται στο παρακάτω σχήµα. Η "καρδιά" της FSM είναι ο καταχωρητής κατάστασης --πάνω αριστερά στο σχήµα-- που

3 3 of 6 περιέχει (θυµάται) την παρούσα κατάσταση, "currstate", του συστήµατος. Ενα µπλοκ Συνδυαστικής Λογικής (combinational logic) --κάτω από αυτόν στο σχήµα-- υπολογίζει (αποφασίζει) ποιά θα είναι η επόµενη κατάσταση, "nxtstate", αµέσως µετά την επερχόµενη ακµή του ρολογιού, σαν συνάρτηση της παρούσας κατάστασης και των εισόδων του κυκλώµατος ελέγχου --εν προκειµένω του op, δηλαδή του ir[31:26]. Οι έξοδοι του κυκλώµατος ελέγχου, δηλαδή τα σήµατα ελέγχου του datapath, είναι επίσης συναρτήσεις της παρούσας κατάστασης, και --µερικά απ' αυτά-- µπορεί να είναι συναρτήσεις και ορισµένων εισόδων του κυκλώµατος ελέγχου --εν προκειµένω του funct, δηλαδή του ir[5:0], και αργότερα και άλλων, όπως π.χ. του "zero". Οι έξοδοι "τύπου Moore" είναι συναρτήσεις µόνο της παρούσας κατάστασης, --όχι και των εισόδων της FSM (οι είσοδοι επηρεάζουν µόνο την επόµενη κατάσταση). Το πλεονέκτηµά τους είναι ότι απλοποιούν τη σχεδίαση, ενώ το µειονέκτηµά τους είναι ότι ένα τέτοιο κύκλωµα ελέγχου αδυνατεί να αντιδράσει σε εξωτερικά "ερεθίσµατα" (σήµατα, εισόδους) στον ίδιο κύκλο ρολογιού όπου αυτά εµφανίζονται, και µπορεί µόνο να αντιδράσει σε αυτά στον επόµενο κύκλο ρολογιού, και µάλιστα χρειάζεται και διαφορετικές καταστάσεις γιά την κάθε διαφορετική του αντίδραση. Οι έξοδοι "τύπου Mealy" είναι συναρτήσεις και της παρούσας κατάστασης, και των εισόδων της FSM. Τα πλεονεκτήµατά τους είναι ότι επιτρέπουν οικονοµία στο πλήθος καταστάσεων, καθώς και ταχεία αντίδραση σε εξωτερικά ερεθίσµατα. Όµως, το τελευταίο απαιτεί και προσεκτικότερη σχεδίαση: όσα σήµατα ελέγχου τύπου Mealy εξαρτώνται από αργοπορηµένα σήµατα εισόδου, θα είναι και αυτά µε τη σειρά τους πολύ αργοπορηµένα. Στην παρούσα άσκηση, το µόνο σήµα εισόδου στο κύκλωµα ελέγχου που επηρεάζει εξόδους τύπου Mealy είναι το πεδίο funct. Το σήµα αυτό σταθεροποιείται πολύ νωρίς µέσα στον κύκλο ρολογιού διότι είναι κατευθείαν έξοδος του καταχωρητή ir και άρα σταθεροποιείται ίσα-ίσα µόλις περάσει η καθυστέρηση εξόδου του καταχωρητή ir µετά την ακµή ρολογιού. Και οι δύο παραπάνω τύποι σηµάτων ελέγχου έχουν την παρακάτω ιδιότητα: τα σήµατα ελέγχου υπολογίζονται στον ίδιο κύκλο στον οποίο τα χρησιµοποιεί το datapath. Θεωρώντας τώρα το σύνολο του επεξεργαστή, δηλ. και το datapath και το κύκλωµα ελέγχου, είναι σαν να χωρίζουµε τον κύκλο του επεξεργαστή σε δύο µέρη: στο πρώτο µέρος του κύκλου γίνεται ο υπολογισµός των σηµάτων ελέγχου και το datapath "κάθεται", ενώ στο δεύτερο µέρος του κύκλου το datapath εργάζεται µε βάση τα µόλις υπολογισµένα σήµατα ελέγχου και το κύκλωµα ελέγχου "κάθεται". Σε επόµενη άσκηση θα δούµε µια τεχνική που επιτρέπει στο κύκλωµα ελέγχου και στο datapath να δουλεύουν ταυτόχρονα, πετυχαίνοντας έτσι υψηλότερη ταχύτητα λειτουργίας του επεξεργαστή. Τέλος, παρατηρήστε ότι το block συνδυαστικής λογικής για τον υπολογισµό των σηµάτων ελέγχου είναι "κοντύτερο" (στον κατακόρυφο άξονα) από το block για τον υπολογισµό της επόµενης κατάστασης. Το παραπάνω υποδηλώνει ότι θέλουµε τα σήµατα ελέγχου να υπολογίζονται όσο γίνεται πιο γρήγορα, διότι χρησιµοποιούνται από το datapath στον ίδιο κύκλο ρολογιού, ενώ η συνδυαστική λογική για τον υπολογισµό της επόµενης κατάστασης έχει στη διάθεση της ολόκληρο τον κύκλο ρολογιού για να εκτελέσει τον υπολογισµό της. Άσκηση 11.3: Περιγραφή FSM και Μεταβάσεων σε "Συνθέσιµη Verilog" Περιγράψτε το κύκλωµα ελέγχου του επεξεργαστή σας, που θα ακολουθεί την FSM που δόθηκε στην αρχή και θα υλοποιεί µόνο τις εντολές που αναφέρθηκαν στην αρχή της εκφώνησης. Γράψτε την περιγραφή σας σαν ένα καινούριο module, "control", στο αρχείο "control11.v". To module αυτό θα παίρνει σαν είσοδο το ρολόϊ, και βέβαια θα έχει σαν εισόδους ή εξόδους όλα τα σήµατα επικοινωνίας µε το datapath που είχαν καθοριστεί στην άσκηση Η περιγραφή της FSM θα γίνει µε το στυλ "RTL" (Register Transfer Level) της Verilog, που είναι ο συνηθισµένος "συνθέσιµος" τρόπος που γράφουµε στις γλώσσες περιγραφής υλικού. Το στυλ "RTL" σηµαίνει ότι δηλώνουµε τους καταχωρητές που περιέχει το κύκλωµά µας και τη λογική µεταξύ των

4 4 of 6 καταχωρητών χωρίς να υπολογίζουµε εµείς τις καθυστερήσεις του κυκλώµατός µας. Ξέρουµε (κυρίως από εµπειρία) πόση λογική "χωράει" σε ένα κύκλο ρολογιού που θέλουµε να πετύχουµε, και απλώς την περιγράφουµε. Έπειτα, τα εργαλεία σύνθεσης αναλύουν το κύκλωµα, το µεταφράζουν σε λογικές πύλες και flip-flops, το βελτιστοποιούν, και υπολογίζουν επακριβώς τις καθυστερήσεις (βήµατα που δεν θα γίνουν στα πλαίσια αυτού του µαθήµατος...). Για την FSM της άσκησης, θεωρούµε ότι όλη η λογική της χωράει σε έναν κύκλο ρολογιού. Ξεκινήστε ορίζοντας το ποιές είναι οι καταστάσεις της FSM και πώς καθορίζεται η επόµενη κατάσταση µε βάση την παρούσα κατάσταση και την τιµή των εισόδων. Ακολουθείστε το παρακάτω µικρό παράδειγµα µε τις εξηγήσεις που δίδονται µετά από αυτό. `define LW `define SW 6'b 'b parameter [3:0] // symbolic constants for state encoding i_fetch = 4'b0001, // --"one hot" encoding style decode_rr = 4'b0010, mem_addr = 4'b0100, alu_exec = 4'b1000; reg [3:0] currstate; reg [3:0] nxtstate; // state register clk) begin currstate <= #0.2 nxtstate; end // current State: sequential logic // next State: output of comb. logic // (although "reg" --see below) // define nxtstate as a function of currstate and op: or op) begin // whenever any input changes: case (currstate) i_fetch: nxtstate <= #0.5 decode_rr; decode_rr: if ((op == `LW) (op == `SW)) nxtstate <= #0.5 mem_addr; else if (... ) nxtstate <= # else nxtstate <= #0.5 alu_exec; mem_addr: nxtstate <= # alu_exec: nxtstate <= # default: nxtstate <= #0.5 i_fetch; endcase end Ορισµός και Κωδικοποίηση Καταστάσεων: Αρχικά ορίζουµε ποιές είναι οι καταστάσεις της FSM, δίνοντας τους συµβολικά ονόµατα (i_fetch, decode_rr, mem_addr, alu_exec,...) και µία προτεινόµενη, πιθανή κωδικοποίηση (0001, 0010, 0100, 1000,...). Αυτό το κάνουµε µε την εντολή "parameter" της Verilog. Η διαφορά της "parameter" από την "define" είναι ότι η τιµή για τα συµβολικά ονόµατα που ορίζονται µε τη βοήθεια της "parameter" µπορεί να αλλάξει αργότερα --έτσι το εργαλείο σύνθεσης θα µπορέσει να βελτιστοποιήσει, πιθανόν, την κωδικοποίηση των καταστάσεων. Στο παραπάνω παράδειγµα διαλέξαµε κωδικοποίηση του στυλ "one hot", δηλαδή ο καταχωρητής κατάστασης έχει τόσα bits όσες και οι καταστάσεις συνολικά, κάθε bit αντιστοιχεί σε µία συγκεκριµένη κατάσταση, και κάθε κατάσταση κωδικοποιείται µε όλα τα bits µηδέν εκτός από το "δικό της" bit που είναι "αναµένο" (ζεστό, hot). Αυτό το στυλ κωδικοποίησης ταιριάζει σε FSM µε όχι πολύ µεγάλο πλήθος καταστάσεων, και συνήθως δίνει υψηλή ταχύτητα λειτουργίας της FSM. Συµπληρώστε τον κατάλογο µε όλες τις καταστάσεις που θα χρειαστείτε, και διορθώστε την κωδικοποίησή τους (αν ακολουθείστε το στυλ one hot, προσέξτε πόσα bits χρειάζεστε). Καταχωρητής Κατάστασης: Ο καταχωρητής κατάστασης φορτώνεται σε κάθε ακµή ρολογιού µε την νέα κατάσταση, nxtstate, που υπολογίσαµε στον προηγούµενο κύκλο ρολογιού. Ο καταχωρητής κατάστασης περιγράφεται µε τον κώδικα clk)...". Το παραπάνω σηµαίνει: όταν έρθει η θετική ακµή του ρολογιού εκτέλεσε τον κώδικα µέσα στο block που ακολουθεί, δηλ. δες ποιά είναι τώρα (ακριβώς πριν την ακµή) η τιµή του "nxtstate" και ανάθεσέ την στο "currstate" αφού πρώτα περάσουν 0.2 ns (καθυστέρηση εξόδου του καταχωρητή). Το εργαλείο σύνθεσης καταλαβαίνει τον παραπάνω κώδικα και παράγει έναν

5 5 of 6 καταχωρητή (µε τις πραγµατικές πλέον καθυστερήσεις και όχι αυτές που εµείς υποθέσαµε για απλότητα). Υπολογισµός Επόµενης Κατάστασης: Ο υπολογισµός της επόµενης κατάστασης, nxtstate, γίνεται µε συνδυαστική λογική βάσει της παρούσας κατάστασης, currstate, και των εισόδων της FSM, όπως φαίνεται στα αριστερά του διαγράµµατος block. Επειδή η συνδυαστική αυτή λογική είναι αρκετά µεγάλη, µε πολλές υποπεριπτώσεις, είναι πιο βολικό η περιγραφή της να γίνει µε τις εντολές "case" και "if" της Verilog, αναθέτοντας (assign) διάφορες τιµές στη nxtstate στους διάφορους κλάδους της "case" και των "if-then-else". Γιά να δουλέψει αυτό, σε Verilog, πρέπει το nxtstate να δηλωθεί σαν "reg" και όχι σαν "wire". [Στα wire επιτρέπεται µόνο σύνδεση µε modules ή continuous assignment. Στα continuous assignments επιτρέπονται µόνο αριθµητικές/λογικές πράξεις και πράξεις επιλογής όπως "(a==b)? x : y", αλλά όχι case ή if-then-else. Τα case και if-then-else επιτρέπονται µόνο µέσα σε behavioral blocks, δηλαδή µέσα σε "initial" και "always". Αναθέσεις (assignments) µέσα σε behavioral blocks επιτρέπονται µόνο σε κόµβους τύπου reg, και όχι σε wire. Οι κόµβοι τύπου reg έχουν "µνήµη": όσο και όταν δεν τους ανατίθεται µιά νέα τιµή αυτοί διατηρούν την παλαιά τους τιµή. Οταν λοιπόν, γιά λόγους ευκολίας µας, θέλουµε να περιγράψουµε συνδυαστική λογική µέσω behavioral blocks, χρειάζεται προσοχή να αναθέτουµε πάντα νέα τιµή στην έξοδο όποτε αλλάζει κάποια είσοδος, και η νέα τιµή να είναι συνάρτηση µόνο των εισόδων. Αν υπάρχει κάποια υποπερίπτωση των τιµών εισόδου κατά την οποία δεν γίνεται ανάθεση νέας τιµής στην έξοδο (π.χ. ξεχάσαµε το "else" σε κάποιο "if-then", ή ξεχάσαµε το "default" σε κάποιο "case"), τότε σηµαίνει ότι θέλουµε να διατηρείται η παλαιά τιµή, που σηµαίνει µνήµη.] Παρ' ότι, λοιπόν, το nxtstate δηλώνεται σαν reg αντί wire, εµείς θα ορίσουµε την συµπεριφορά του έτσι ώστε να προκύπτει ότι πρόκειται γιά συνδυαστική λογική. Αυτό το πετυχαίνουµε µε τους εξής τρόπους: (α) Η παρένθεση του "always" statement περιλαµβάνει όλες τις εισόδους από τις οποίες εξαρτάται το nxtstate (και χωρίς περιορισµό σε ορισµένες µόνο ακµές τους --posedge ή negedge). Αυτό σηµαίνει ότι το µπλοκ αυτό του κώδικα (always block) πρέπει να ξαναεκτελείται πάντα όποτε αλλάζει η τιµή οιασδήποτε από αυτές τις εισόδους. Εάν σε επόµενη άσκηση το nxtstate εξαρτάται και από το funct ή και από άλλες εισόδους, µην ξεχάσετε να προσθέστε όλες τους, µε "or" ανάµεσά τους, σε αυτό το "sensitivity list" (κατάλογο ευαισθησιών ή εξαρτήσεων). (β) Αναθετουµε τιµή στο nxtstate σε κάθε σκέλος των case και if-then-else statements, ώστε να µην υπάρχει περίπτωση το nxtstate να "θυµάται" την παλαιά τιµή. (γ) Η τιµή που αναθέτουµε στο nxtstate είναι συνάρτηση µόνο των εισόδων που εµφανίζονται στην παρένθεση του always, διότι µόνον αυτών η αλλαγή προκαλεί επανεκτέλεση του always block και άρα ανάθεση νέας τιµής στο nxtstate. Το κοµάτι "#0.5" µετά το "<=" της κάθε ανάθεσης σηµαίνει "η νέα τιµή να εφαρµοστεί στο nxtstate µε καθυστέρηση 0.5 ns" (σε σχέση µε το πότε εκτελείται το always block, δηλ. από τη "στιγµή" που αλλάζουν τιµή τα σήµατα που εµφανίζονται στο "@(...)"). Κάνουµε την απλοποιητική παραδοχή ότι η λογική που γεννά το nxtstate έχει καθυστέρηση (µόνο) 0.5 ns --αυτό αντιστοιχεί σε απλή λογική, δύο περίπου (µόνο) επιπέδων πυλών, µε µικρό fan-in και fan-out. Μην ξεχνάτε να βάζετε πάντα αυτή την καθυστέρηση, διότι αλλοιώς το κύκλωµά σας θα µοιάζει γρηγορότερο απ' όσο θα είναι στην πραγµατικότητα. Η ανάθεση γίνεται µε "<=", και όχι απλώς µε "=", γιά ένα λόγο που έχει να κάνει µε την εσωτερική λειτουργία της Verilog, και ο οποίος εκτίθεται παρακάτω γιά την ενηµέρωση των ενδιαφεροµένων αλλά δεν χρειάζεται να σας απασχολήσει. [Η ανάθεση "a = #0.5 b;" προκαλεί "µπλοκάρισµα" του always block στο σηµείο της καθυστέρησης γιά 0.5 ns. Στη χρονική αυτή περίοδο που το always block είναι "κολληµένο" στο σηµείο εκείνο, το block αυτό δεν ελέγχει αν άλλαξε κάποιο από τα σήµατα εισόδου του µε σκοπό να επανυπολογίσει την τιµή εξόδου του --δηλαδή στο διάστηµα της καθυστέρησης δεν δουλεύει το "@(b or other_inputs)". Την ανεπιθύµητη αυτή συµπεριφορά δεν έχει ο άλλος τύπος ανάθεσης, δηλαδή η ανάθεση "a <= #0.5 b;".] Άσκηση 11.4: Περιγραφή των Εξόδων της FSM σε "Συνθέσιµη Verilog" Τώρα που η FSM κινείται σωστά µεταξύ των καταστάσεων που πρέπει, το επόµενο βήµα είναι να περιγράψουµε τις εξόδους της FSM, δηλαδή τα σήµατα ελέγχου γιά το datapath. Τα σήµατα τύπου Moore είναι συναρτήσεις µόνο της currstate. Τα σήµατα τύπου Mealy είναι συναρτήσεις τόσο της

6 6 of 6 currstate όσο και εισόδων του ελέγχου. Και στις δύο περιπτώσεις θα κάνουµε πάλι την απλοποιητική παραδοχή ότι η λογική που τα γεννά έχει καθυστέρηση (µόνο) 0.5 ns, όπως και γιά το nxtstate. Ακολουθήστε το εξής παράδειγµα γιά τα σήµατα τύπου Moore: reg irld; // irld: "reg" for convenience of behavioral descr: begin // a combinational function of currstate, only if (currstate == i_fetch) irld <= #0.5 1'b1; // load IR at end of i_fetch else irld <= #0.5 1'b0; // else do not load IR end Όπως και µε το nxtstate πιό πάνω, έδώ ορίζουµε ένα σήµα που προκύπτει από συνδυαστική λογική και µόνο. Παρ' όλα αυτά, επειδή το περιγράφουµε µε το behavioral block "always", το ορίζουµε σαν reg. Όµως, ακολουθούµε όλες τις παραπάνω οδηγίες του nxtstate, κι έτσι αυτό που περιγράφουµε είναι τελικά συνδυαστική λογική. Το κοµάτι "#0.5" στην κάθε ανάθεση σηµαίνει, και πάλι, καθυστέρηση 0.5 ns --µην ξεχνάτε να βάζετε πάντα αυτή την καθυστέρηση (και η ανάθεση είναι "<=" αντί "=" γιά τον ίδιο λόγο όπως παραπάνω). Για τα σήµατα τύπου Mealy, η λίστα των εισόδων πρέπει να περιλαµβάνει και τα αντίστοιχα σήµατα εισόδου κάθε φορά, π.χ. or funct)". [Σηµείωση: κρατήστε υπ' όψη σας ότι σε περίπτωση που κάποιο από τα σήµατα εισόδου έχει τιµή "x", τότε εκτέλειται το "else" ή το "default", κατά περίπτωση. Έτσι, στην αρχή του κύκλου decode_rr, καθώς αλλάζουν τιµή τα op και funct, τα σήµατα που εξαρτώνται από αυτά (nxtstate και σήµατα τύπου Mealy) θα παίρνουν προσωρινά "παράξενες" τιµές, και αργότερα θα σταθεροποιούνται στις κανονικές τους τιµές. Το φαινόµενο αυτό, που µοντελοποιεί καθυστερήσεις που όντως υπάρχουν στο κύκλωµα, θα γίνει περισσότερο αισθητό αργότερα, όταν θα χρησιµοποιήσετε και το σήµα zero σαν είσοδο του ελέγχου.] Άσκηση 11.5: Ολοκλήρωση Ελέγχου/Datapath και Αποσφαλµάτωση Αφού τελειώσετε µε τον έλεγχο, αντιγράψτε τα αρχεία της 10ης σειράς ασκήσεων στα "datapath11.v" και "test11.v". Αλλάξτε το top-level module ώστε να µην δίνετε τιµές µε το χέρι στα σήµατα ελέγχου, αλλά αυτά να τροφοδοτούνται από το control module που φτιάξατε (αρχείο "control11.v"). Αρχικοποιήστε: i. ii. iii. Βάλτε στη µνήµη αρκετές εντολές για να ελέγξετε το κύκλωµά σας (π.χ. µία εντολή από κάθε είδος). Αρχικοποιήστε τον µετρητή προγράµµατος, pc, µε τον ίδιο τρόπο όπως και στην άσκηση (κανονικά, αυτό θα το έκανε το σήµα reset που ένα πραγµατικό κύκλωµα πρέπει πάντα να έχει). Αρχικοποιήστε τους καταχωρητές του κυκλώµατος ελέγχου, δηλαδή τον currstate, ώστε στον πρώτο κύκλο ρολογιού να εκτελεστεί ένα instruction fetch (κανονικά, και αυτό θα το έκανε το σήµα reset σ' ένα πραγµατικό κύκλωµα). Προσοµοιώστε τη λειτουργία του επεξεργαστή και διορθώστε τα λάθη (debugging - αποσφαλµάτωση, ή "ξεζουζούνισµα"), τόσο στο κύκλωµα ελέγχου όσο και στο datapath που έχετε από την άσκηση Θα πρέπει να τρέχουν σωστά τουλάχιστο µία από κάθε είδος εντολής, µε µη τετριµένες τιµές των τελεστέων τους! Επίσης φτιάξτε ένα µικρό ατέρµονα βρόχο µε τη βοήθεια της εντολής "j", και ελέγξτε ότι το προγραµµατάκι εκτελείται σωστά. Αφού τρέξουν όλα, υπολογίστε µε τη βοήθεια του gtkwave πόση είναι η ελάχιστη δυνατή περίοδος του ρολογιού σας, και αλλάξτε το top-level ώστε να τρέχει ο επεξεργαστής σας µε αυτό το γρηγορότερο δυνατό ρολόϊ. Πόσα MHz καταφέρατε να "πιάσετε"; (Μην κάνετε ζαβολιές: µην ξεχάσετε τις καθυστερήσεις "#0.5" στη γέννηση των σηµάτων ελέγχου!) Παραδώστε (submit), µε τον τρόπο των προηγουµένων ασκήσεων, πέντε αρχεία: τον κώδικά σας "control11.v", τις αλλαγές που κάνατε στο datapath, "datapath11.v", το νέο test bench, "test11.v", τη νέα αρχικοποίηση µνήµης, "memory11.hex" ή "memory11.bin", και ένα χαρακτηριστικό στιγµιότυπο, "signals11.jpg", από το gtkwave της άσκησης 11.5 σε µορφή jpg. Up to the Home Page of CS-225 Written by S. Lyberis, G. Sapountzis, and M. Katevenis; copyright University of Crete, Greece. last updated: 23 Mar. 2009, by M. Katevenis.

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

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

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

Χ. Σωτηρίου. Σχήμα 1: Προτεινόμενο Πρόγραμμα Επαλήθευσης του ολοκληρωμένου Επεξεργαστή

Χ. Σωτηρίου. Σχήμα 1: Προτεινόμενο Πρόγραμμα Επαλήθευσης του ολοκληρωμένου Επεξεργαστή È Ò Ô Ø Ñ Ó ÃÖ Ø ¹ ÌÑ Ñ Ô Ø Ñ ÍÔÓÐÓ ØôÒ À;¾ ¹ ÇÖ ÒÛ ÍÔÓÐÓ ØôÒ Ö Ò Ü Ñ ÒÓ ¹ Ñ ³ ØÓ ¾¼½½¹¾¼½¾ ³ ¹ ÍÐÓÔÓ ÌÑ Ñ ØÓ Ð ÕÓÙ ÇÐÓ Ð ÖÛ ØÓÙ Ô Ü Ö Ø ¾»»¾¼½ Û ½¾»»¾¼½ Χ. Σωτηρίου ½ ËØ ÕÓ Ø ³ Οι στόχοι της ένατης άσκησης

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

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

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο 2017-2018 Μηχανές Πεπερασμένων Καταστάσεων ΗΥ220 - Βασίλης Παπαευσταθίου & Γιώργος Καλοκαιρινός 1 FSMs Οι μηχανές πεπερασμένων καταστάσεων Finite

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

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

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

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

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

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

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

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 9 Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Ti είναι Αρχιτεκτονική και τι Μικροαρχιτεκτονική

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

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

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

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

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

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

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

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

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

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

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

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

ΗΥ220: Εργαστήριο σχεδίασης ψηφιακών κυκλωμάτων Χριστόφορος Κάχρης

ΗΥ220: Εργαστήριο σχεδίασης ψηφιακών κυκλωμάτων Χριστόφορος Κάχρης Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ220: Εργαστήριο σχεδίασης ψηφιακών κυκλωμάτων Χριστόφορος Κάχρης 4-11-2009 Πρόοδος Θέμα 1 ο (25%): 1. Βρείτε την μεγίστη συχνότητα λειτουργίας του παρακάτω

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

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

ΠΛΕ- 027 Μικροεπεξεργαστές 5ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση ενός κύκλου ΠΛΕ- 27 Μικροεπεξεργαστές 5ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση ενός κύκλου Αρης Ευθυμίου Δομή σύγχρονων υπολογιστών Κώδικας μηχανής Αρχιτεκτονικό συνόλο εντολών (InstrucDon Set Architecture ISA)

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

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

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

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

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 9 Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ 1 Ti είναι Αρχιτεκτονική και τι Μικροαρχιτεκτονική

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

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

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

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

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

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

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

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

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

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

Μοντέλα. χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες.

Μοντέλα. χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες. Γλώσσες Περιγραφής Μοντέλα Ένα µοντέλο ενός κυκλώµατος είναι µία αναπαράσταση που παρουσιάζει χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες. Τα τυπικά µοντέλα έχουν καλά ορισµένη σύνταξη. Τα αυτόµατα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Σάββατο, 26 Νοεμβρίου 2016 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 120 ΛΕΠΤΑ 1) Υλοποίηση

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

7 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού

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

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

8 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού: Μοντέλα Συνδυαστικών Κυκλωµάτων

8 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού: Μοντέλα Συνδυαστικών Κυκλωµάτων 8 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού: Μοντέλα Συνδυαστικών Κυκλωµάτων Εισαγωγή Η λογική που περιγράφεται σε ένα module µπορεί να περιγραφεί µε διάφορα στυλ Μοντελοποίηση σε επίπεδο

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

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

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

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

και η µονάδα ελέγχου (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

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

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

Επιβεβαίωση ορθής λειτουργίας απλών ψηφιακών κυκλωμάτων Επιβεβαίωση ορθής λειτουργίας απλών ψηφιακών κυκλωμάτων Δημήτρης Κωνσταντίνου, Γιώργος Δημητρακόπουλος Εφόσον έχουμε περιγράψει το κύκλωμά μας σε System Verilog θα πρέπει να βεβαιωθούμε πως λειτουργεί

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

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

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

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

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

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

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

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

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

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

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

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

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

Σχεδίαση Ψηφιακών Συστημάτων

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

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

Κάθε functional unit χρησιμοποιείται μια φορά σε κάθε κύκλο: ανάγκη για πολλαπλό hardware = κόστος υλοποίησης!

Κάθε functional unit χρησιμοποιείται μια φορά σε κάθε κύκλο: ανάγκη για πολλαπλό hardware = κόστος υλοποίησης! Single-cyle υλοποίηση: Διάρκεια κύκλου ίση με τη μεγαλύτερη εντολή-worst case delay (εδώ η lw) = χαμηλή απόδοση! Αντιβαίνει με αρχή: Κάνε την πιο απλή περίπτωση γρήγορη (ίσως και εις βάρος των πιο «σύνθετων»

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

Διάλεξη 12 Καθυστερήσεις (Stalls)

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

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

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

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

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

Τέτοιες λειτουργίες γίνονται διαμέσου του

Τέτοιες λειτουργίες γίνονται διαμέσου του Για κάθε εντολή υπάρχουν δυο βήματα που πρέπει να γίνουν: Προσκόμιση της εντολής (fetch) από τη θέση που δείχνει ο PC Ανάγνωση των περιεχομένων ενός ή δύο καταχωρητών Τέτοιες λειτουργίες γίνονται διαμέσου

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Δείγμα Τελικής Εξέτασης στο ΗΜΥ213. Διδάσκοντας: Γιώργος Ζάγγουλος

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

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

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

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

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

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 Συµπληρωµατική ΔΙΑΛΕΞΗ 14: Περιγραφή Ακολουθιακών Κυκλωµάτων στη VHDL

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

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

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

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

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

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

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

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

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

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

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

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 10: Επίδοση Επεξεργαστών, CPI. Μανόλης Γ.Η. Κατεβαίνης

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

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

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

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 6 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Γιώργος ηµητρίου Μάθηµα 6 ο Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Μικροπρογραµµατισµένη Λογική Καλωδιωµένη λογική για πραγµατικές αρχιτεκτονικές: nπάνωαπό 100εντολέςµηχανής

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

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

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

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

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

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

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

Ψηφιακή Λογική Σχεδίαση

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

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

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL Διδάσκoντες: Δρ. Αγαθοκλής Παπαδόπουλος και Δρ. Γιώργος Ζάγγουλος Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων

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

Διάλεξη 11 Προώθηση (Forwarding)

Διάλεξη 11 Προώθηση (Forwarding) ΗΥ 3 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη Προώθηση (Forwarding) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων (HY3) Η μέχρι τώρα μικρο-αρχιτεκτονική του MIPS ID/EX PCSrc Control WB

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

VHDL για Σχεδιασµό Ακολουθιακών Κυκλωµάτων

VHDL για Σχεδιασµό Ακολουθιακών Κυκλωµάτων VHDL για Σχεδιασµό Ακολουθιακών Κυκλωµάτων Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών n VHDL Processes Περίληψη n Εντολές If-Then-Else και CASE

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

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL Διδάσκoντες: Δρ. Γιώργος Ζάγγουλοςκαι Δρ. Παναγιώτα Δημοσθένους Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων

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

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

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

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

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

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Μάθημα 2 ο Σύνολα Εντολών Οι εντολές που εκτελεί ο κάθε επεξεργαστής (ή οικογένεια επεξεργαστών) MIPS ARM SPARC PowerPC IA-32 Αρχιτεκτονικές συνόλου εντολών Βασικές Έννοιες Εντολές μηχανής

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

Δημοκρίτειο Πανεπιστήμιο Θράκης Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών. Συστήματα VLSI. Πρόοδος Άνοιξη 2018

Δημοκρίτειο Πανεπιστήμιο Θράκης Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών. Συστήματα VLSI. Πρόοδος Άνοιξη 2018 Δημοκρίτειο Πανεπιστήμιο Θράκης Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Γ. Δημητρακόπουλος Συστήματα VLSI Πρόοδος Άνοιξη 2018 Άσκηση 1 Όλο το κύκλωμα τροφοδοτείται με το ίδιο ρολόι και το

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

Μετρητής Ριπής ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ. Αναφορά 9 ης. εργαστηριακής άσκησης: ΑΦΡΟΔΙΤΗ ΤΟΥΦΑ Α.Μ.:2024201100032

Μετρητής Ριπής ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ. Αναφορά 9 ης. εργαστηριακής άσκησης: ΑΦΡΟΔΙΤΗ ΤΟΥΦΑ Α.Μ.:2024201100032 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΣΧΟΛΗ ΟΙΚΟΝΟΜΙΑΣ, ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ Αναφορά 9 ης εργαστηριακής άσκησης: Μετρητής Ριπής ΑΦΡΟΔΙΤΗ

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

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

Αρχιτεκτονική Υπολογιστών Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών 9 ο Μάθημα Γλώσσα Μηχανής Δυαδική Απεικόνιση Μέχρι στιγμής χρησιμοποιούμε την assembly: Δίνουμε ονόματα σε πράξεις (όπως add) και σε συντελεστές

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

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

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

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

5.1 Εισαγωγή. Μια προεπισκόπηση της υλοποίησης

5.1 Εισαγωγή. Μια προεπισκόπηση της υλοποίησης 1 5.1 Εισαγωγή Η απόδοση µιας αρχιτεκτονικής καθορίζεται µε βάση τρεις παράγοντες: τον αριθµό εκτελού- µενων εντολών, το χρόνο κύκλου µηχανής, και τον αριθµό κύκλων ανά εντολή (CPI). Ο µεταγλωττιστής και

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

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

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

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

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 18: Διαδικασία Σχεδίασης Ψηφιακών Συστηµάτων - Επανάληψη

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

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

ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων

ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL Διδάσκων: Γιώργος Ζάγγουλος Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Δευτέρα, 3 Νοεμβρίου 25 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 3 ΛΕΠΤΑ Για πλήρη

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

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

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

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

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

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

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

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

ΗΥ220: Εργαστήριο Ψηφιακών Κυκλωµάτων Τµήµα Επιστήµης Υπολογιστών Πανεπιστήµιο Κρήτης Χειµερινό Εξάµηνο ΗΥ220: Εργαστήριο Ψηφιακών Κυκλωµάτων Τµήµα Επιστήµης Υπολογιστών Πανεπιστήµιο Κρήτης Χειµερινό Εξάµηνο 2017 2018 Εργαστήριο 2 (2 εβδοµάδες) Εβδοµάδα 27/11 έως 01/12 (αναλόγως το εργαστηριακό τµήµα που

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

Μικροαρχιτεκτονική του LC3

Μικροαρχιτεκτονική του LC3 ΆδειαΧρήσης Τοπαρόνεκπαιδευτικόυλικόυπόκειταισε άδειεςχρήσηςcrea vecommons. Γιαεκπαιδευτικόυλικό,όπωςεικόνες,που υπόκειταισεάδειαχρήσηςάλλουτύπου, αυτήπρέπεινααναφέρεταιρητώς. Μικροαρχιτεκτονική του LC3

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

Οδηγίες εγκατάστασης και χρήσης του Quartus

Οδηγίες εγκατάστασης και χρήσης του Quartus Εγκατάσταση του Quartus Οδηγίες εγκατάστασης και χρήσης του Quartus Δημήτρης Μαγγίρας, Γιώργος Δημητρακόπουλος 1. Κατεβάζουμε την έκδοση 13.0SP1 από εδώ ακολουθώντας τις οδηγίες που φαίνονται στην εικόνα.

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

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος Εργαστήριο Οργάνωσης Η/Υ Δαδαλιάρης Αντώνιος dadaliaris@uth.gr Χρησιμοποιούμε τις μηχανές πεπερασμένων καταστάσεων (finite state machines FSMs) για την μοντελοποίηση της συμπεριφοράς ενός κυκλώματος, η

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

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

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

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

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

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

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

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

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

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

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

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

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

Ψηφιακή Λογική Σχεδίαση

Ψηφιακή Λογική Σχεδίαση Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 1 Κεφάλαιο 8 Σχεδίαση στο Επίπεδο Μεταφοράς Περιεχομένων Καταχωρητών Ψηφιακή Λογική Σχεδίαση Γ. Θεοδωρίδης 2 Περίγραμμα Κεφαλαίου

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

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

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

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

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

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

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

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

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

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

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο Διάλεξη 8 η : Μηχανές Πεπερασμένων Κaταστάσεων σε FPGAs

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

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

Διοχέτευση (Pipeline)

Διοχέτευση (Pipeline) ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη Διοχέτευση (ipeline) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Θέματα Απόδοσης Αν και απλή, η υλοποίηση ενός κύκλου ρολογιού είναι

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

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

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

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

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 11-12 : Δομή και Λειτουργία της CPU Ευάγγελος Καρβούνης Παρασκευή, 22/01/2016 2 Οργάνωση της CPU Η CPU πρέπει:

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

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

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

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

Εντολές του MIPS (2)

Εντολές του MIPS (2) ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι Διάλεξη 3 Εντολές του MIPS (2) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Παράδειγμα (συνέχεια από προηγ. διάλεξη) $s3

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

Κάθε functional unit χρησιµοποιείται µια φορά σε κάθε κύκλο: ανάγκη για πολλαπλό hardware = κόστος υλοποίησης!

Κάθε functional unit χρησιµοποιείται µια φορά σε κάθε κύκλο: ανάγκη για πολλαπλό hardware = κόστος υλοποίησης! Single-cyle υλοποίηση: ιάρκεια κύκλου ίση µε τη µεγαλύτερη εντολή-worst case delay (εδώ η lw) = χαµηλή απόδοση! Αντιβαίνει µε αρχή: Κάνε την πιο απλή περίπτωση γρήγορη (ίσως και εις βάρος των πιο «σύνθετων»

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

Καταστάσεων. Καταστάσεων

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

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

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

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

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

2 η Ενδιάμεση Εξέταση Λύσεις/Απαντήσεις

2 η Ενδιάμεση Εξέταση Λύσεις/Απαντήσεις ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) HMMY 212 Οργάνωση Η/Υ και Μικροεπεξεργαστές Εαρινό Εξάμηνο, 2007 2 η Ενδιάμεση Εξέταση Λύσεις/Απαντήσεις Άσκηση 1: Διασωλήνωση

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

ΗΥ-225. Verilog HDL. Τα βασικά...

ΗΥ-225. Verilog HDL. Τα βασικά... ΗΥ-225 Verilog HDL. Τα βασικά... Βασική Ροή Σχεδίασης Requirements RTL Model Simulate Synthesize Gate-level Model Simulate Test Bench ASIC or FPGA Place & Route Timing Model Simulate ΗΥ-225 Ιάκωβος Μαυροειδής

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

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 8: Μία Απλή Υλοποίηση του MIPS σε Έναν Κύκλο Ρολογιού ανά Εντολή

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

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

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

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

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

Υλοποίηση Mικροεπεξεργαστή MIPS -16

Υλοποίηση Mικροεπεξεργαστή MIPS -16 Υλοποίηση Mικροεπεξεργαστή MIPS -16 Διάδρομος Δεδομένων και Μονάδα Ελέγχου 1 Περίληψη Μνήμη RAM Εκτέλεση εντολών με πολλαπλούς κύκλους Σχεδιασμός Διαδρόμου Δεδομένων (Data Path) Καταχωρητής Εντολών (Instruction

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

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 13: Διαδικασία Σχεδιασµού Ακολουθιακών Κυκλωµάτων (Κεφάλαιο 6.

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 13: Διαδικασία Σχεδιασµού Ακολουθιακών Κυκλωµάτων (Κεφάλαιο 6. ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 13: Διαδικασία Σχεδιασµού Ακολουθιακών Κυκλωµάτων (Κεφάλαιο 6.3) ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy)

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

HY430 Εργαστήριο Ψηφιακών Κυκλωμάτων. Πολυπλέκτες Καμπύλη Παρέτο. Κωδικοποιητές/Από-κωδικοποιητές D FF

HY430 Εργαστήριο Ψηφιακών Κυκλωμάτων.   Πολυπλέκτες Καμπύλη Παρέτο. Κωδικοποιητές/Από-κωδικοποιητές D FF HY430 Εργαστήριο Ψηφιακών Κυκλωμάτων Διδάσκων: Χ. Σωτηρίου, Βοηθός: (θα ανακοινωθεί) http://inf-server.inf.uth.gr/courses/ce430/ Περιεχόμενα Περιγραφές και Συνθέσιμες Δομές Πολυπλέκτες Καμπύλη Παρέτο Κωδικοποιητές/Από-κωδικοποιητές

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

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

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

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

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

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

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

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

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

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