Υπολογιστικά Συστήματα Λογική Σχεδίαση Αρχιτεκτονική Η/Υ Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας

Σχετικά έγγραφα
Υπολογιστικά Συστήματα Λογική Σχεδίαση Αρχιτεκτονική Η/Υ Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας

Υπολογιστικά Συστήματα Λογική Σχεδίαση Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας

Υπολογιστικά Συστήματα Λογική Σχεδίαση Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας

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

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

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

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

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

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

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

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

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

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

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

Συμβολική Γλώσσα στον ΑΒΑΚΑ

Οργάνωση Η/Υ. Ο Επεξεργαστής TRN. Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου

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

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

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

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

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Μονάδες Μνήμης και Διατάξεις Προγραμματιζόμενης Λογικής

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

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

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

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

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

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

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

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

9. ΚΑΤΑΧΩΡΗΤΕΣ (REGISTERS)

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

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

Ψηφιακά Συστήματα. 8. Καταχωρητές

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

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

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή

Ελίνα Μακρή

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

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

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

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

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών

Ψηφιακά Συστήματα. 6. Σχεδίαση Συνδυαστικών Κυκλωμάτων

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

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

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

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

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

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

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

Εισαγωγή στους Η/Υ και Εφαρμογές

ΗΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ

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

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

Α. ΣΚΟΔΡΑΣ ΠΛΗ21 ΟΣΣ#2. 14 Δεκ 2008 ΠΑΤΡΑ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ 2008 Α. ΣΚΟΔΡΑΣ ΧΡΟΝΟΔΙΑΓΡΑΜΜΑ ΜΕΛΕΤΗΣ

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

Θέμα 1ο (3 μονάδες) Υλοποιήστε το ακoλουθιακό κύκλωμα που περιγράφεται από το κατωτέρω διάγραμμα

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

ΑΣΚΗΣΗ 10 ΣΧΕΔΙΑΣΗ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ

ε. Ένα κύκλωμα το οποίο παράγει τετραγωνικούς παλμούς και απαιτείται εξωτερική διέγερση ονομάζεται ασταθής πολυδονητής Λ

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

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

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

Το υλικό του υπολογιστή

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

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

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

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

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

Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους.

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Μέρος Β (Οργάνωση Υπολογιστών)

Δυαδικό Σύστημα Αρίθμησης

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Συνδυαστική Λογική. Επιμέλεια Διαφανειών: Δ.

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

9. OIΚΟΥΜΕΝΙΚΕΣ ΠΥΛΕΣ ΠΟΛΛΑΠΛΩΝ ΕΙΣΟ ΩΝ

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

Αναπαράσταση Δεδομένων. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

ΠΛΗ10 Κεφάλαιο 2. ΠΛΗ10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: 2 2.1: Bασική Δομή του Υπολογιστή

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών

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

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

Εγχειρίδιο χρήσης του Άβακα

Ελίνα Μακρή

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

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

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

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ

7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

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

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

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

Δομή Ηλεκτρονικού υπολογιστή

Ψηφιακή Σχεδίαση Ενότητα 11:

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

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

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

Transcript:

Υπολογιστικά Συστήματα Λογική Σχεδίαση Αρχιτεκτονική Η/Υ Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας ΔΠΜΣ «Τεχνο- Οικονομικά Συστήματα» Τεχνολογία Πληροφορίας και Τηλεπικοινωνιών

Ιστοσελίδα Μαθήματος 2 http://people.cn.ntua.gr/jenny/index.php/courses Εργασία: μπόνους 1 μονάδα e-mail επικοινωνίας: eadam@cn.ntua.gr cdemest@cn.ntua.gr

Προτεινόμενη Βιβλιογραφία 3 Γ. Παπακωνσταντίνου, Π. Τσανάκα, Γ. Φραγκάκη, Αρχιτεκτονική Υπολογιστών, εκδ. Συμμετρία Ν. Κοζύρης, Μ. Αθανασάκη, Σημειώσεις στη Συμβολική Γλώσσα του Υπολογιστή ΕΚΥ (ASSEMBLY), Εισαγωγή στην Επιστήμη των Υπολογιστών http://www.cslab.ece.ntua.gr/courses/csintro/files/eky-assembly-2005.pdf

Πού μείναμε στο προηγούμενο 4 μάθημα; Οι λογικές συναρτήσεις μπορούν να πραγματοποιηθούν με ηλεκτρονικά λογικά κυκλώματα Ηλεκτρονικά λογικά κυκλώματα που υλοποιούν τις βασικές πράξεις της άλγεβρας Boole:

Λογικά Κυκλώματα 5 Γενικά, υπάρχουν 2 κύριες κατηγορίες λογικών κυκλωμάτων Συνδυαστικά κυκλώματα: Η έξοδος z είναι συνάρτηση μόνο της κατάστασης της εισόδου x Ακολουθιακά κυκλώματα: Η έξοδος z δεν είναι συνάρτηση μόνο της κατάστασης της εισόδου x αλλά και της κατάστασης y που βρισκόταν το ίδιο το κύκλωμα πριν την εφαρμογή της εισόδου

Λογικά Κυκλώματα 6 Συνδυαστικό Κύκλωμα x 1 x 2 x n Συνδυαστικό... Κύκλωμα... Ακολουθιακό Κύκλωμα z 1 z 2 z m z=f(x) x Συνδυαστικό Κύκλωμα z=f(x, y) Στοιχεία Μνήμης

Συνδυαστικά Κυκλώματα 7 Σχεδίαση με στοιχεία SSI Σχεδίαση χρησιμοποιώντας ως βασικά δομικά στοιχεία τις πύλες Κατάλληλη για λίγες σχετικά εισόδους (<10) Διαδικασία: 1. Κατασκευή του πίνακα αληθείας 2. Προσδιορισμός της λογικής συνάρτησης από τον πίνακα αληθείας 3. Απλοποίηση της λογικής συνάρτησης (π.χ. με χρήση χάρτη Karnaugh) 4. Σχεδίαση του λογικού διαγράμματος βάσει της απλοποιημένης λογικής συνάρτησης, με χρήση πυλών AND, OR, NAND κ.λπ. 5. Πραγματοποίηση (κατασκευή) του λογικού διαγράμματος με τη χρήση ολοκληρωμένων κυκλωμάτων

Παράδειγμα 1: 8 Δυαδικοί Αθροιστές Ο ημιαθροιστής εκτελεί την πρόσθεση δύο δυαδικών ψηφίων Ημιαθροιστής (Half Adder) A B S C 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 S=A B+AB C=AB ή:

Παράδειγμα 1: Δυαδικοί Αθροιστές 9 Ο πλήρης αθροιστής εκτελεί την πρόσθεση δύο δυαδικών ψηφίων και ενός κρατούμενου (ουσιαστικά, τριών δυαδικών ψηφίων) Πλήρης αθροιστής (Full Adder) A B C in S C out 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 S=A B C in +A BC in +AB C in +ABC in C out =A BC in +AB C in +ABC in +ABC in =AB+AC in +BC in 1 1 1 1 1

Παράδειγμα 1: 10 Δυαδικοί Αθροιστές Ο πλήρης αθροιστής εκτελεί την πρόσθεση δύο δυαδικών ψηφίων και ενός κρατούμενου (ουσιαστικά δηλ. τριών δυαδικών ψηφίων)

Παράδειγμα 1: Δυαδικοί Αθροιστές 11 Ο πλήρης παράλληλος αθροιστής εκτελεί την πρόσθεση δύο δυαδικών αριθμών (των n bits ο καθένας), χρησιμοποιώντας n πλήρεις αθροιστές (ή: n-1 πλήρεις αθροιστές και 1 ημιαθροιστή) An S=0, τότε το παρακάτω κύκλωμα λειτουργεί ως πλήρης παράλληλος αθροιστής 4 bits, ενώ, αν S=1, τότε λειτουργεί ως πλήρης παράλληλος αφαιρέτης 4 bits

Παράδειγμα 2: Αποκωδικοποιητές/Κωδικοποιητές 12 Ο αποκωδικοποιητής δέχεται στην είσοδό του μια δυαδική πληροφορία των n bits και την μετατρέπει σε m 2 n γραμμές εξόδου, εκ των οποίων μόνο μία είναι ενεργοποιημένη Αποκωδικοποιητής 3x8 C B A y 0 y 1 y 2 y 3 y 4 y 5 y 6 y 7 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 1

Παράδειγμα 2: 13 Αποκωδικοποιητές/Κωδικοποιητές Αποκωδικοποιητής 3x8

Παράδειγμα 2: 14 Αποκωδικοποιητές/Κωδικοποιητές Ο κωδικοποιητής, αντίθετα, δέχεται στην είσοδό του m 2 n γραμμές και δίνει στην έξοδό του τον αντίστοιχο δυαδικό κώδικα (n bits) Σε έναν κωδικοποιητή, ανάλογα με τον τύπο του, μπορεί να είναι ενεργοποιημένες περισσότερες από μία είσοδοί του ή μόνο μία Παράδειγμα: Κωδικοποιητής για 7- segment ψηφιακό ενδείκτη Τα 7 τμήματα του ενδείκτη:

Παράδειγμα 2: 15 a/a 0 1 2 3 4 5 6 7 8 9 Αποκωδικοποιητές/Κωδικοποιητές Κωδικοποιητής για 7- segment ψηφιακό ενδείκτη

Παράδειγμα 2: 16 Αποκωδικοποιητές/Κωδικοποιητές Κωδικοποιητής για 7- segment ψηφιακό ενδείκτη

Παράδειγμα 2: 17 Αποκωδικοποιητές/Κωδικοποιητές Σχεδιάστε έναν κωδικοποιητή προτεραιοτήτων 8x3, δηλ. έναν κωδικοποιητή: Με 8 εισόδους: D 0, D 1,, D 7, για τις οποίες θεωρείστε ότι η D 7 έχει υψηλότερη προτεραιότητα από όλες τις υπόλοιπες, η Ε 6 χαμηλότερη από την D 7 αλλά υψηλότερη από όλες τις άλλες, κοκ. Με 3 εξόδους: Q 2, Q 1, Q 0, οι οποίες δείχνουν (κωδικοποιούν) τη γραμμή εισόδου που έχει τη μεγαλύτερη προτεραιότητα n δηλ. αν π.χ. η D 3 είναι η είσοδος με τη μεγαλύτερη προτεραιότητα που έχει ενεργοποιηθεί, τότε πρέπει να λαμβάνεται στην έξοδο Q 2 =0, Q 1 =1, Q 0 =1

Παράδειγμα 2: 18 Αποκωδικοποιητές/Κωδικοποιητές Απάντηση: Κωδικοποιητής προτεραιοτήτων 8x3

Παράδειγμα 3: Πολυπλέκτες/Αποπλέκτες 19 Ο πολυπλέκτης έχει μία έξοδο Ζ, στην οποία μεταφέρεται η κατάσταση μιας από τις γραμμές εισόδου Χ i, ανάλογα με τις τιμές των σημάτων επιλογής S j Πολυπλέκτης (Mux) 4x1 S 1 S 0 X 3 X 2 X 1 X 0 Z 0 0 X X X 0 0 0 0 X X X 1 1 0 1 X X 0 X 0 0 1 X X 1 X 1 1 0 X 0 X X 0 1 0 X 1 X X 1 1 1 0 X X X 0 1 1 1 X X X 1 Z=S 1 S 0 X 0 +S 1 S 0 X 1 +S 1 S 0 X 2 +S 1 S 0 X 3

Παράδειγμα 3: 20 Πολυπλέκτες/Αποπλέκτες Ο αποπλέκτης (Demux) επιτελεί την αντίστροφη λειτουργία, δηλ. διαθέτει μία είσοδο πληροφορίας Χ, σήματα επιλογής S j, και πολλαπλές εξόδους Z i, σε μία ακριβώς εκ των οποίων μεταφέρεται η τιμή της εισόδου Χ (όλες οι υπόλοιποι έξοδοι τίθενται στην τιμή «0»), ανάλογα με τις τιμές των σημάτων επιλογής S j Χρησιμοποιείται όταν ένα λογικό κύκλωμα πρέπει να στείλει ένα σήμα σε μία από πολλές συσκευές Διαφορά με τον αποκωδικοποιητή: Ο αποκωδικοποιητής χρησιμοποιείται για να επιλέξει μία από πολλές συσκευές

Παράδειγμα 4: 21 Διάδρομοι Ένας τρόπος για τη διακίνηση πληροφοριών προερχόμενων από πολλές συσκευές σε μια κοινή γραμμή μεταφοράς, δηλ. σε έναν κοινό διάδρομο, είναι η χρησιμοποίηση πολυπλέκτη Ένας άλλος τρόπος είναι η χρησιμοποίηση ειδικού κυκλώματος οδήγησης του διαδρόμου (bus driver) Ένα τέτοιο κύκλωμα ονομάζεται στοιχείο τριών καταστάσεων (tri- state element), επειδή η έξοδός του μπορεί να παρουσιάζει και μια τρίτη κατάσταση, πέραν των καθιερωμένων «0» ή «1», αυτήν της υψηλής αντίστασης (ανοιχτό κύκλωμα) Είσοδος (DI) Γραμμή Ελέγχου (S) Έξοδος (DΟ) Αν S=1, τότε DO=DI Αν S=0, τότε «ανοιχτό κύκλωμα»

Παράδειγμα 4: 22 Διάδρομοι Παράδειγμα κυκλώματος αμφίδρομης οδήγησης Ψηφίδα 8216 της Intel

Συνδυαστικά Κυκλώματα 23 Σχεδίαση με στοιχεία SSI, MSI και LSI Όλα τα συνδυαστικά κυκλώματα που εξετάστηκαν πιο πάνω προσφέρονται (εμπορικά) σε μορφή ολοκληρωμένων κυκλωμάτων μιας ψηφίδας MSI Γενική πρακτική σχεδίασης λογικών κυκλωμάτων: Χρησιμοποίηση όσο το δυνατόν περισσότερων στοιχείων LSI (βλ. παρακάτω π.χ. ROM, PLA) Αν δεν καλύπτονται όλες οι ανάγκες της σχεδίασης, συμπλήρωση με στοιχεία MSI (αθροιστές, κωδικοποιητές, πολυπλέκτες, κ.λπ., σε μορφή ψηφίδων MSI) Αν και πάλι δεν καλύπτονται πλήρως οι ανάγκες, συμπλήρωση και με στοιχεία SSI (π.χ. μεμονωμένες πύλες) Για παράδειγμα, η υλοποίηση μιας οποιασδήποτε λογικής συνάρτησης n μεταβλητών μπορεί να γίνει χωρίς στοιχεία LSI, αλλά με έναν αποκωδικοποιητή nx2 n σε μορφή μιας ψηφίδας MSI και με μία πύλη OR σε μορφή μιας ψηφίδας SSI

Συνδυαστικά Κυκλώματα Σχεδίαση με στοιχεία LSI 24 Η σχεδίαση με στοιχεία LSI αναφέρεται και ως σχεδίαση προγραμματιζόμενης λογικής Δύο δημοφιλείς τέτοιες μεθοδολογίες σχεδίασης: Σχεδίαση με ROM (Read Only Memory) Σχεδίαση με προγραμματιζόμενους λογικούς πίνακες (PLA)

Σχεδίαση με ROM 25 Η πραγματοποίηση ενός συνδυαστικού κυκλώματος με ROM γίνεται εάν αποθηκευτεί στη ROM ο πίνακας αληθείας του προβλήματος ή η λογική συνάρτησή του εκφρασμένη σε άθροισμα ελαχίστων όρων Για ένα κύκλωμα με n εισόδους και m εξόδους, χρειαζόμαστε μία ROM μεγέθους 2 n xm bits Τυπικές εφαρμογές: μετατροπή ενός κώδικα σε άλλον γεννήτριες χαρακτήρων για την απεικόνισή τους πίνακες απευθείας προσπέλασης (look-up tables) Προγραμματισμός των ROM από την προμηθεύτρια εταιρεία ή από τον ίδιο τον πελάτη (οπότε καλούνται PROM) με τη βοήθεια ειδικών συσκευών x 1 x 2 x n ROM...... z 1 z 2 z m

Σχεδίαση με PLA 26 Η μέθοδος σχεδίασης με τη χρήση προγραμματιζόμενου λογικού πίνακα (PLA) δίνει μεγαλύτερη ευελιξία και έχει μικρότερο κόστος από ό,τι η σχεδίαση με ROM Η σχεδίαση με ROM μειονεκτεί στο ότι απαιτεί την αποθήκευση όλων των ελαχίστων όρων μιας συνάρτησης, ακόμα και των αδιάφορων Μια PLA αποτελείται από δύο επίπεδα (planes): Επίπεδο AND, που παράγει τα λογικά γινόμενα της συνάρτησης Επίπεδο OR, που παράγει τα λογικά αθροίσματα ορισμένων ή όλων των λογικών γινομένων του πρώτου επιπέδου Προγραμματισμός των PLA από την προμηθεύτρια εταιρεία ή από τον ίδιο τον πελάτη (οπότε καλούνται FPGA ή πιο σπάνια FPLA) με τη βοήθεια ειδικών συσκευών

Σχεδίαση με PLA 27 Παράδειγμα σχεδίασης με PLA x 2 x 1 x 0 z 1 z 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 1 1 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1

Ακολουθιακά Κυκλώματα 28 Διακρίνονται σε δύο κυρίως κατηγορίες σύγχρονα, στα οποία η εκτέλεση των διαφόρων λειτουργιών γίνεται σε καθορισμένες χρονικές στιγμές με τη βοήθεια ενός ρολογιού (clock) n η εφαρμογή τετραγωνικού παλμού (σταθερής συχνότητας) σε κατάλληλη είσοδο του σύγχρονου κυκλώματος διεγείρει το κύκλωμα αυτό (ή με το θετικό ή με το αρνητικό μέτωπό του), δηλ. αλλάζει την κατάστασή του ασύγχρονα, στα οποία οι διάφορες αλλαγές κατάστασης δε γίνονται σε καθορισμένες χρονικές στιγμές (δεν υπάρχει ρολόι)

Ακολουθιακά Κυκλώματα 29 Flip-Flops Τα flip-flops (F/F) είναι δικατάστατα στοιχεία μνήμης Υπάρχουν διαφόρων τύπων F/F Κάθε F/F έχει δύο εξόδους, την Q και το συμπλήρωμά της Q n είναι η τρέχουσα κατάσταση του F/F και Q n+1 η επόμενη, δηλ. μετά την εφαρμογή του επόμενου ωρολογιακού παλμού CP

Ακολουθιακά Κυκλώματα 30 Flip-Flops Η πραγματοποίηση των F/F μπορεί να γίνει με κατάλληλη σύνδεση πυλών Παρατηρούμε από τον πίνακα αληθείας ότι για το J- K F/F ισχύει: Αν J K, τότε Q n+1 =J Αν J=K=1, τότε Q n+1 =Q n Αν J=K=0, τότε Q n+1 =Q n Γενικά: Q n+1 =JQ n +K Q n

Ακολουθιακά Κυκλώματα 31 Καταχωρητές Ο καταχωρητής χρησιμοποιείται για την προσωρινή αποθήκευση δυαδικής πληροφορίας Καταχωρητές μεγέθους n bits μπορούν να υλοποιηθούν χρησιμοποιώντας n flip-flops Στο επόμενο παράδειγμα, όταν εφαρμοστεί λογικό «1» στη γραμμή ελέγχου Κ, καταχωρείται η πληροφορία των n bits

Ακολουθιακά Κυκλώματα 32 Καταχωρητές Στην περίπτωση που το περιεχόμενο ενός καταχωρητή μπορεί να ολισθαίνει δεξιά ή αριστερά, τότε αυτός ονομάζεται καταχωρητής ολίσθησης ή ολισθητής (shift register) Υπάρχουν διαφόρων ειδών καταχωρητές ολίσθησης, ανάλογα με τον τρόπο που καταχωρούνται τα δεδομένα εισόδου και εξάγονται τα δεδομένα εξόδου (παράλληλα ή σειριακά)

Ακολουθιακά Κυκλώματα Μετρητές 33 Ο μετρητής ή απαριθμητής (counter) αποτελείται από ένα μεγάλο αριθμό κατάλληλα συνδεδεμένων flip-flops, τα οποία μεταβάλλουν το περιεχόμενό τους συνήθως κατά ένα, κάθε φορά που εφαρμόζεται στην είσοδο του μετρητή ένα νέο σήμα (π.χ. ωρολογιακός παλμός) Κύκλωμα ασύγχρονου μετρητή: Στην πραγματικότητα, στον ασύγχρονο μετρητή, οι μεταβάσεις δεν είναι ταυτόχρονες αλλά υπάρχει μια μικρή καθυστέρηση

Ακολουθιακά Κυκλώματα 34 Μετρητές Κύκλωμα σύγχρονου μετρητή:

Ακολουθιακά Κυκλώματα 35 Συσσωρευτές Ο συσσωρευτής (accumulator) είναι βασικό κύκλωμα κάθε Η/Υ Είναι σύνθετο ακολουθιακό κύκλωμα που επιτελεί πολλές λειτουργίες, όπως καταχώρηση, απαρίθμηση, ολίσθηση, συμπλήρωση κ.λπ. Επίσης, χρησιμοποιείται για να καταχωρεί (συσσωρεύει) τα ενδιάμεσα αποτελέσματα διαφόρων πράξεων που εκτελούνται στην ΚΜΕ του Η/Υ

Αρχιτεκτονική Η/Υ 36 µ µ - - µ µ

Αρχιτεκτονική Η/Υ 37 Κάθε Η/Υ αποτελείται από 4 βασικά μέρη: Αριθμητική Λογική Μονάδα (Arithme c Logic Unit ή ALU) Μονάδα Ελέγχου (Control Unit) Μονάδα Μνήμης (Memory Unit) ή απλώς Μνήμη Μονάδα Εισόδου Εξόδου (Input Output ή I/O Unit) Η μονάδα ελέγχου μαζί με την ALU συναποτελούν τη λεγόμενη κεντρική μονάδα επεξεργασίας ΚΜΕ (Central Processing Unit, CPU)

Αρχιτεκτονική Η/Υ 38 Η ALU περιέχει έναν τουλάχιστον συσσωρευτή και εκτελεί τις βασικές αριθμητικές πράξεις (πρόσθεση, αφαίρεση, πολλαπλασιασμό και διαίρεση) τις λογικές πράξεις (λογικό AND, OR κ.λπ.) άλλες βοηθητικές εργασίες, π.χ. ολίσθηση Η μονάδα μνήμης χρησιμεύει για την αποθήκευση των αρχικών δεδομένων (δεδομένα εισόδου), των αποτελεσμάτων που προκύπτουν ενδιάμεσα, των τελικών αποτελεσμάτων (δεδομένα εξόδου) και του συνόλου των εντολών που πρέπει να εκτελέσει ο Η/Υ (πρόγραμμα) Η μονάδα Ι/Ο επιτρέπει την επικοινωνία του ανθρώπου με τον υπολογιστή και σε αυτήν συνδέονται οι περιφερειακές μονάδες, όπως είναι το πληκτρολόγιο και το ποντίκι (για την είσοδο), η οθόνη και ο εκτυπωτής (για την έξοδο) Η μονάδα ελέγχου αποσκοπεί στον έλεγχο και συντονισμό όλης της λειτουργίας του Ανακτά από τη μνήμη μία προς μία τις εντολές του προγράμματος, τις αναλύει σε στοιχειώδεις λειτουργίες και στέλνει στις διάφορες μονάδες σήματα για το τι και πότε πρέπει να εκτελέσουν

Αρχιτεκτονική Η/Υ µ 39 0 0 0 1 1 1 M A R 2 MDR 4 S 2 3 6 µ IR µ 5 8 S 3 S 1 7 B PC 1 I/O X Y F/F F/F F/F µ

Δομικά στοιχεία του Η/Υ «ΕΚΥ» 40 ΕΚΥ (ΕΚπαιδευτικός Υπολογιστής): Πρόκειται για έναν υποθετικό υπολογιστή που είναι σκόπιμα απλός και μικρός, χωρίς αυτό να σημαίνει ότι λειτουργικά διαφέρει πολύ από τους πραγματικούς υπολογιστές Στον ΕΚΥ: Το μήκος λέξης είναι 16 bits (=2 bytes) H ALU διαθέτει τους εξής άμεσα προσπελάσιμους καταχωρητές: έναν καταχωρητή γενικού σκοπού (συσσωρευτή) Α μήκους 16 bits έναν καταχωρητή δείκτη Β μήκους 12 bits Η μνήμη διαθέτει 2 12 =4Κ θέσεις, μήκους 16 bits η κάθε μία, καθώς και δύο καταχωρητές: τον MDR (καταχωρητής δεδομένων μνήμης memory data register) μήκους 16 bits τον MAR (καταχωρητής διευθύνσεων μνήμης memory address register) μήκους 12 bits Για την εγγραφή μιας λέξης δεδομένων στη μνήμη, αυτή πρέπει πρώτα να αποθηκευτεί στον MDR, ενώ η διεύθυνση στην οποία πρόκειται να γίνει η αποθήκευση πρέπει να γραφεί στον καταχωρητή MAR Αντίστοιχα, για την ανάγνωση, το περιεχόμενο μιας θέσης μνήμης της οποίας η διεύθυνση είναι γραμμένη στον MAR μεταφέρεται στον MDR, για να μεταφερθεί στη συνέχεια στις άλλες μονάδες του υπολογιστή Σημείο- κλειδί: η κατανόηση των εννοιών «θέση μνήμης», «περιεχόμενο θέσης μνήμης» και «διεύθυνση θέσης μνήμης» (ή απλώς διεύθυνση μνήμης)

Δομικά στοιχεία του Η/Υ «ΕΚΥ» 41 Η μονάδα I/O περιέχει έναν καταχωρητή δεδομένων Χ, που δέχεται από τις περιφερειακές μονάδες τα δεδομένα (λέξεις) που προορίζονται για την ΚΜΕ και το αντίστροφο n μήκος 16 bits έναν καταχωρητή Υ, που περιέχει τη διεύθυνση του περιφερειακού από ή προς το οποίο θα γίνει η μεταφορά των δεδομένων n μήκος εξαρτώμενο από τον αριθμό των περιφερειακών μονάδων που μπορεί να έχει ο υπολογιστής Η μονάδα ελέγχου περιέχει τον καταχωρητή IR (καταχωρητής εντολών instruc on register), ο οποίος δέχεται μία προς μία τις εντολές του προγράμματος από τη μνήμη για να αναγνωρισθούν, να αναλυθούν σε επιμέρους εργασίες και να εκτελεστούν τον καταχωρητή PC (μετρητής προγράμματος ή μετρητής εντολών program counter ή instruc on counter), το περιεχόμενο του οποίου δίνει κάθε φορά τη διεύθυνση της θέσης μνήμης στην οποία είναι αποθηκευμένη η επόμενη προς εκτέλεση εντολή n Η εντολή αυτή θα μεταφερθεί από τη μνήμη στον καταχωρητή IR και, κατόπιν, ο PC θα αυξηθεί αυτόματα

Μια ματιά στα ενδότερα του 42 συσσωρευτή του ΕΚΥ... Γενικό κύκλωμα του συσσωρευτή Α Παρατηρούμε τη χρήση πολλών από τα λογικά κυκλώματα που εξετάσαμε

Διάδρομοι υπολογιστή 43 Η ανταλλαγή πληροφοριών μεταξύ των μονάδων ενός υπολογιστή γίνεται μέσω γραμμών και σύμφωνα με προκαθορισμένους κανόνες μεταφοράς Το φυσικό μέσο μεταφοράς των πληροφοριών όπως και οι κανόνες συνιστούν ένα διάδρομο (bus) Σε προηγούμενη διαφάνεια είδαμε τη μέθοδο υλοποίησης ενός απλού διαδρόμου Ο διάδρομος περιλαμβάνει γραμμές δεδομένων και γραμμές ελέγχου Χαρακτηριστικά διαδρόμου: Ταχύτητα ή συχνότητα διαδρόμου: φανερώνει τον όγκο δεδομένων που μπορούν να μεταδοθούν στη μονάδα του χρόνου (π.χ. 33MHz) Χρόνος αδράνειας (latency): είναι ο χρόνος που απαιτείται για τη μετάδοση του πρώτου τμήματος δεδομένων από ένα σημείο σε ένα άλλο Εύρος διαδρόμου: δηλώνει το πλήθος των παράλληλων γραμμών του διαδρόμου (π.χ. 64 bits) Δύο χαρακτηριστικά παραδείγματα οργάνωσης διαδρόμων φαίνονται στα διπλανά σχήματα

Τυπική αρχιτεκτονική προσωπικού 44 υπολογιστή Παρατηρούμε την ευρεία χρήση διαδρόμων

Μνήμη υπολογιστή 45 Η μνήμη ενός υπολογιστή διακρίνεται συνήθως στην κύρια μνήμη και στη δευτερεύουσα μνήμη Κύρια μνήμη (ή και απλά μνήμη) = μονάδα μνήμης (που είδαμε σε προηγούμενες διαφάνειες) Προσφέρει προσωρινή μόνο αποθήκευση (δηλ. τα δεδομένα της χάνονται όταν σταματήσει η τροφοδοσία) Είναι δηλ. volatile memory Είναι μνήμη τυχαίας προσπέλασης (RAM Random Access Memory), δηλ. ο χρόνος που χρειάζεται η ανάγνωση ή εγγραφή μιας πληροφορίας σε μια οποιαδήποτε θέση μνήμης είναι πάντα ο ίδιος, ανεξάρτητα από τη συγκεκριμένη διεύθυνση της θέσης Δευτερεύουσα (ή βοηθητική) μνήμη = περιφερειακές συσκευές που χρησιμοποιούνται ως αποθηκευτικός χώρος (σκληροί δίσκοι, οπτικοί δίσκοι κ.λπ.) Τα δεδομένα παραμένουν αναλλοίωτα όταν σταματήσει η τροφοδοσία Είναι δηλ. nonvolatile memory Η δευτερεύουσα μνήμη είναι πιο αργή και δεν είναι άμεσα προσπελάσιμη από την ΚΜΕ, αφού τα περιεχόμενά της πρέπει πρώτα να μεταφερθούν στην κύρια μνήμη με τη βοήθεια της μονάδας εισόδου/εξόδου Τέλος, η μνήμη ROM (Read Only Memory), που γνωρίσαμε σε προηγούμενες διαφάνειες, αποτελεί μνήμη μόνο προς ανάγνωση. Είναι και αυτή non-volatile. Ένας από τους κύριους λόγους που ο υπολογιστής χρειάζεται να έχει ROM είναι για να γνωρίζει τι να κάνει όταν ξεκινάει για πρώτη φορά (bootstrapping).

Κύκλος εκτέλεσης εντολών 46 Φάση ανάκλησης (fetch phase) Η εντολή της οποίας η διεύθυνση βρίσκεται στο μετρητή προγράμματος PC μεταφέρεται από τη μνήμη στον MDR και ύστερα στον καταχωρητή εντολών IR Ο μετρητής προγράμματος αυξάνεται κατά 1 Φάση εκτέλεσης (execution phase) Αποκωδικοποίηση της εντολής που βρίσκεται στον καταχωρητή εντολών IR και εκτέλεση των λειτουργιών που εκτελεί η συγκεκριμένη εντολή

Μορφή εντολής 47 Στον ΕΚΥ κάθε εντολή παριστάνεται με μια λέξη 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 τμήμα εντολής n 1 = 4 bits τμήμα διεύθυνσης n 2 = 12 bits Το σύνολο των εντολών ενός υπολογιστή ονομάζεται ρεπερτόριο εντολών Ερώτηση: Πόσες διαφορετικές εντολές είναι δυνατόν να έχουμε στον ΕΚΥ;

Τι γλώσσα μιλάει ο Η/Υ; 48 Πρόγραμμα σε γλώσσα υψηλού επιπέδου Java, C, C++, Μεταγλωττιστής (Compiler) Συμβολο- μεταφραστής (Assembler) Πρόγραμμα σε γλώσσα μηχανής Ένα πρόγραμμα σε γλώσσα μηχανής αποτελείται από ένα σύνολο λέξεων υπολογιστή τοποθετημένων σε συγκεκριμένη περιοχή της μνήμης

Η γλώσσα Assembly 49 Ενδέχεται, όμως, ο προγραμματιστής να επιθυμεί μεγαλύτερο έλεγχο από αυτόν που του παρέχει ο compiler (π.χ. ακριβής ορισμός αλληλουχίας εκτέλεσης εντολών, χρήση συγκεκριμένων θέσεων μνήμης κτλ.) με στόχο την επίτευξη υψηλότερης απόδοσης Στην περίπτωση αυτή «γράφει» το πρόγραμμα του σε συμβολική γλώσσα (γλώσσα Assembly) Πρόγραμμα σε συμβολική γλώσσα (Assembly) Συμβολομεταφραστής (Assembler) Ο compiler μεταφράζει μια εντολή γλώσσας υψηλού επιπέδου σε πολλές εντολές γλώσσας μηχανής Ο assembler μεταφράζει μια εντολή γλώσσας assembly σε μια εντολή γλώσσας μηχανής Πρόγραμμα σε γλώσσα μηχανής

Εντολές γλώσσας Assembly 50 Συμβολική ετικέτα εντολής Συμβολικό όνομα εντολής Τμήμα διεύθυνσης εντολής Σχόλια START LDA MEMORY1 Θέσε το περιεχόμενο του καταχωρητή Α ίσο με...

Παράδειγμα εντολής 51 Η εντολή 0101 000000001010 Κώδικας εντολής: 0101 Τμήμα διεύθυνσης: 000000001010 Σημασία: Η εντολή με κώδικα 0101 υπαγορεύει: «Πολλαπλασίασε το περιεχόμενο του συσσωρευτή με το περιεχόμενο της διεύθυνσης μνήμης την οποία δείχνει το τμήμα διεύθυνσης. Το αποτέλεσμα μένει στο συσσωρευτή» Εδώ: «Πολλαπλασίασε το περιεχόμενο του συσσωρευτή με το περιεχόμενο της διεύθυνσης 000000001010. Το αποτέλεσμα μένει στο συσσωρευτή»

Διεύθυνση vs Τμήμα διεύθυνσης 52 εντολής Διεύθυνση εντολής: Η διεύθυνση μιας θέσεως της μνήμης στην οποία είναι αποθηκευμένη η εντολή Τμήμα διεύθυνσης μιας εντολής: Μέρος της ίδιας της εντολής που συνήθως υποδεικνύει τη διεύθυνση μιας άλλης θέσης της μνήμης, το περιεχόμενο της οποίας θα χρησιμοποιηθεί κατά την εκτέλεση της εντολής

Συμβολίζουμε... 53 (Χ) à το περιεχόμενο του καταχωρητή Χ, αν το Χ είναι καταχωρητής το περιεχόμενο της διεύθυνσης της θέσης μνήμης που υποδεικνύει το Χ, αν το Χ είναι τμήμα διεύθυνσης := à αποθήκευση μιας τιμής σε έναν καταχωρητή ή μια θέση μνήμης

Ομαδοποίηση εντολών 54 Εντολές αναφοράς στη μνήμη (6) Εντολές άλματος (2) Εντολές ολίσθησης (2) Εντολές εισόδου/εξόδου (2) Εντολές καταχωρητή δείκτη (3) Εντολή διακοπής (1)

Εντολές αναφοράς στη μνήμη 55 Μεταφορά δεδομένων μεταξύ μνήμης και καταχωρητών Εκτέλεση αριθμητικών πράξεων επί δεδομένων STA 0x00C : Αποθήκευσε το περιεχόμενο του καταχωρητή Α στη διεύθυνση μνήμης 0x00C

Εντολές άλματος 56 Εντολή άλματος χωρίς συνθήκη JMP XXX Η επόμενη εντολή που πρέπει να εκτελεστεί βρίσκεται στη διεύθυνση ΧΧΧ Εντολή άλματος υπό συνθήκη JAN XXX Αν το περιεχόμενο του καταχωρητή Α είναι αρνητικός αριθμός, τότε η επόμενη εντολή που πρέπει να εκτελεστεί βρίσκεται στη διεύθυνση ΧΧΧ Αλλιώς η εντολή δεν έχει καμία επίδραση

Εντολές ολίσθησης 57 Εντολή ολίσθησης προς τα αριστερά SAL XXX Ολίσθησε το περιεχόμενο του καταχωρητή Α κατά ΧΧΧ θέσεις αριστερά Ερώτηση: Με ποια πράξη ισοδυναμεί η παραπάνω εντολή n Απ.: Με πολλαπλασιασμό του αριθμού με 2 ΧΧΧ Εντολή ολίσθησης προς τα δεξιά SAR XXX Ολίσθησε το περιεχόμενο του καταχωρητή Α κατά ΧΧΧ θέσεις δεξιά Ερώτηση: Με ποια πράξη ισοδυναμεί η παραπάνω εντολή n Απ.: Με διαίρεση του αριθμού με 2 ΧΧΧ

Εντολές εισόδου/εξόδου 58 Εντολή εξόδου Αν b 0 =0 (τμήμα διεύθυνσης), δηλ. το LSB έχει την τιμή 0, στη μονάδα εξόδου (π.χ. οθόνη) στέλνονται τα 7 δεξιότερα bit του καταχωρητή Α τα οποία εμφανίζονται ως χαρακτήρας ASCII Γράφουμε: OUT,0 Αν b 0 =1(τμήμα διεύθυνσης), στη μονάδα στέλνονται τα 3 δεξιότερα bit του καταχωρητή Α τα οποία εμφανίζονται ως οκταδικό ψηφίο Γράφουμε: OUT,1 Εντολή εισόδου Αν b 0 =0, τα 7 δεξιότερα bits του καταχωρητή δεδομένων της μονάδας εισόδου (π.χ. πληκτρολόγιο) αποθηκεύονται στα 7 δεξιότερα bits του Α (ανάγνωση χαρακτήρα ASCII) Γράφουμε: ΙΝ,0 Αν b 0 =1, τα 3 δεξιότερα bits του καταχωρητή δεδομένων της μονάδας εισόδου (π.χ. πληκτρολόγιο) αποθηκεύονται στα3δεξιότερα bits του Α Γράφουμε ΙΝ,1

Εντολές καταχωρητή δείκτη 59 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 τμήμα εντολής n 1 = 4 bits bit δείκτη τμήμα διεύθυνσης n 2 = 11 bits Για τη διευκόλυνση υλοποίησης προγραμμάτων που χρησιμοποιούν βρόχους, ο ΕΚΥ διαθέτει έναν καταχωρητή δείκτη Β, μήκους 16 bits Αν μια εντολή αναφοράς στη μνήμη χρησιμοποιεί τον καταχωρητή δείκτη (b 11 =1), τότε η διεύθυνση της θέσης μνήμης στην οποία αναφέρεται η εντολή δεν είναι αυτή που είναι γραμμένη στο τμήμα διεύθυνσης αλλά αυτή που προκύπτει από το άθροισμα του περιεχομένου του Β και του τμήματος διεύθυνσης της εντολής Αν μια εντολή άλματος χρησιμοποιεί τον καταχωρητή δείκτη (b 11 =1), τότε το άλμα δεν πραγματοποιείται στη διεύθυνση που δείχνει το τμήμα διεύθυνσης αλλά σε αυτή που προκύπτει από το άθροισμα του περιεχομένου του Β και του τμήματος διεύθυνσης της εντολής

Εντολές καταχωρητή δείκτη (2) 60 Παράδειγμα: LDI 2 LDA 5 STA,I 10 Το περιεχόμενο του καταχωρητή Α θα αποθηκευθεί στη θέση 10+(2), δηλ. στην 10+<περιεχόμενο της θέσης μνήμης με διεύθυνση 2>

Εντολή διακοπής 61 ASSEMBLY ( ) µ µ µ 0 HLT STOP

Απλό παράδειγμα 62 Διεύθυνση μνήμης Dec 000000000000 0 000000000001 1 000000000010 2 000000000011 3 000000000100 4 000000000101 5 000000000110 6 000000000111 7 000000010100 20 000000010101 21 Κώδικας Εντολής Τμήμα διεύθυνσης 0001 000000010100 1000 000000000100 0010 000000010101 0000 000000000110 0001 000000000111 0100 000000010100 0111 000000000011 0000 000000000000 1000000100010011 Γλώσσα Assembly LDA 20 JAN 4 STA 21 HLT LDA 7 SBA 20 JMP 2 Τι κάνει το παραπάνω πρόγραμμα;

Βήμα - βήμα 63 Γλώσσα Assembly LDA 20 JAN 4 STA 21 HLT LDA 7 SBA 20 JMP 2 Dec 0 1 2 3 4 5 6 LDA 20 Φόρτωσε στον καταχωρητή Α το περιεχομένο της διεύθυνσης μνήμης 20 JAN 4 Αν το περιεχόμενο του Α είναι αρνητικό εκτέλεσε την εντολή που βρίσκεται στη διεύθυνση μνήμης 4 STA 21 Αποθήκευσε το περιεχόμενο του καταχωρητή Α στη διεύθυνση μνήμης 21 HLT Τέλος προγράμματος LDA 7 Φόρτωσε στον καταχωρητή Α το περιεχομένο της διεύθυνσης μνήμης 7 SBA 20 Αφαίρεσε το περιεχόμενο της διεύθυνσης μνήμης 20 από το περιεχόμενο του καταχωρητή Α. Αποθήκευσε το αποτέλεσμα στον καταχωρητή Α JMP 2 Εκτέλεσε την εντολή που βρίσκεται στη διεύθυνση μνήμης 2

Εν προκειμένω... 64 Διεύθυνση μνήμης Dec 000000000000 0 000000000001 1 000000000010 2 000000000011 3 000000000100 4 000000000101 5 000000000110 6 000000000111 7 000000010100 20 000000010101 21 Γλώσσα Assembly LDA 20 JAN 4 STA 21 HLT LDA 7 SBA 20 JMP 2 LDA 20 Φόρτωσε στον καταχωρητή Α το περιεχομένο της διεύθυνσης μνήμης 20 (Α): 1000000100010011 JAN 4 Αν το περιεχόμενο του Α είναι αρνητικό εκτέλεσε την εντολή που βρίσκεται στη διεύθυνση μνήμης 4 Εδώ όντως (Α)<0 αφού MSB =1. Επομένως η επόμενη εντολή που θα εκτελεστεί είναι αυτή που βρίσκεται στη θέση 4 δηλαδή η LDA 7

Εν προκειμένω... 65 Διεύθυνση μνήμης Dec 000000000000 0 000000000001 1 000000000010 2 000000000011 3 000000000100 4 000000000101 5 000000000110 6 000000000111 7 000000010100 20 000000010101 21 Γλώσσα Assembly LDA 20 JAN 4 STA 21 HLT LDA 7 SBA 20 JMP 2 LDA 7 Φόρτωσε στον καταχωρητή Α το περιεχομένο της διεύθυνσης μνήμης 7 (Α):= 0000000000000000 SBA 20 Αφαίρεσε το περιεχόμενο της διεύθυνσης μνήμης 20 από το περιεχόμενο του καταχωρητή Α. Αποθήκευσε το αποτέλεσμα στον καταχωρητή Α (A):= 0 1000000100010011 = 0111111011101101 (συμπλ. ως προς 2)

Εν προκειμένω... 66 Διεύθυνση μνήμης Dec 000000000000 0 000000000001 1 000000000010 2 000000000011 3 000000000100 4 000000000101 5 000000000110 6 000000000111 7 000000010100 20 000000010101 21 Γλώσσα Assembly LDA 20 JAN 4 STA 21 HLT LDA 7 SBA 20 JMP 2 JMP 2 Εκτέλεσε την εντολή που βρίσκεται στη διεύθυνση μνήμης 2, δηλαδή την STA 21 STA 21 Αποθήκευσε το περιεχόμενο του καταχωρητή Α στη διεύθυνση μνήμης 21 δηλαδή (21): = 0111111011101101 HLT Τέλος προγράμματος

Εν προκειμένω... 67 Διεύθυνση μνήμης Dec 000000000000 0 000000000001 1 000000000010 2 000000000011 3 000000000100 4 000000000101 5 000000000110 6 000000000111 7 000000010100 20 000000010101 21 Γλώσσα Assembly LDA 20 JAN 4 STA 21 HLT LDA 7 SBA 20 JMP 2 Αν ο αριθμός που ήταν αποθηκευμένος στη θέση μνήμης 20 ήταν θετικός, η εκτέλεση της εντολής JAN δεν θα είχε καμία επίπτωση. Η εκτέλεση θα συνεχιζόταν με αποθήκευση του αριθμού στη θέση μνήμης 21 και κατόπιν θα τελείωνε Ερώτηση: Τι κάνει εν τέλει το παραπάνω πρόγραμμα;

Ψευδοεντολές 68 Οι ψευδοεντολές διευκολύνουν τον προγραμματισμό καθοδηγούν τον assembler κατά τη μετάφραση δεν εκτελούνται από τον υπολογιστή κατά την εκτέλεση του προγράμματος τοποθετούνται στην αρχή (πριν την πρώτη εκτελέσιμη εντολή) ή στο τέλος του προγράμματος

Ψευδοεντολές στον ΕΚΥ - CON 69 Ψευδοεντολή CON χρησιμοποιείται για τη δήλωση σταθερών έχει τη μορφή: label CON x1, x2, x3,... όπου n label το συμβολικό όνομα που αντιστοιχεί στη διεύθυνση της εντολής n x1, x2, x3,, αριθμητικές σταθερές (συνήθως οκταδικές ή δεκαδικές) Κατά τη μετάφραση αντιστοιχίζεται μια διεύθυνση στη συμβολική διεύθυνση label και το περιεχόμενο αυτής της διεύθυνσης γίνεται ίσο με x1. Το περιεχόμενο της επόμενης διεύθυνσης γίνεται ίσο με x2, κ.ο.κ.

Ψευδοεντολές στον ΕΚΥ - RES 70 Ψευδοεντολή RES χρησιμοποιείται για τη δήλωση μεταβλητών και πινάκων έχει τη μορφή: label RES n όπου n label το συμβολικό όνομα της διεύθυνση της πρώτης θέσης μιας περιοχής n διαδοχικών θέσεων της μνήμης, η οποία θα χρησιμοποιηθεί από το πρόγραμμα για βοηθητικούς λόγους Παράδειγμα: Η ψευδοεντολή RESULT RES 1 ορίζει μια θέση μνήμης με το συμβολικό όνομα RESULT. Έτσι, π.χ. εκτελείται αποθήκευση του περιεχομένου του καταχωρητή Α στη θέση αυτή με την εντολή STA RESULT

Παράδειγμα με χρήση 71 ψευδοεντολών Ας εξετάσουμε μια εναλλακτική σύνθεση του απλού παραδείγματος που μελετήθηκε πριν κάνοντας χρήση ψευδοεντολών. VALUETOPROCESS CON 1 ZERO CON 0 ABSVALUE RES 1 LDA VALUETOPROCESS JAN IFNEGATIVEDO STORING STA ABSVALUE HLT IFNEGATIVEDO LDA ZERO SBA VALUETOPROCESS JMP STORING

Άσκηση 72 Γράψτε πρόγραμμα σε γλώσσα Assembly (χρησιμοποιώντας ετικέτες και ψευδοεντολές) που να αποθηκεύει τους ακέραιους αριθμούς 0 έως 5 σε 6 διαδοχικές θέσεις μνήμης που ξεκινούν από τη διεύθυνση LIST

Άσκηση 73 Γράψτε πρόγραμμα σε γλώσσα Assembly (χρησιμοποιώντας ετικέτες και ψευδοεντολές) που να υπολογίζει και να αποθηκεύει τους 6 πρώτους αριθμούς Fibonacci σε 6 θέσεις μνήμης που αρχίζουν από τη διεύθυνση LIST. Υπενθυμίζεται ότι ο n-οστός αριθμός Fibonacci a n υπολογίζεται από τη σχέση a n = a n-1 + a n-2, με a 0 =1 και a 1 =2

Προσομοιωτής ΕΚΥ 74 http://www.cslab.ntua.gr/courses/csintro/eky/

Άλλοι Εκπαιδευτικοί Υπολογιστές 75 Little Man Computer (LMC) http://www.yorku.ca/sychen/research/lmc/

76 Apollo Guidance Computer Ένας υπολογιστής που προγραμματίστηκε σε assembly Διεπαφή χρήστη

Apollo Guidance Computer Ένας υπολογιστής που προγραμματίστηκε σε assembly 77 Arithmetic - Parallel, Binary, 1's Complement, Fixed Point. Word Length - 16 bits - 15 bits and parity. As Data = sign and 14 bits As Instruction = 3 bit op. code and 12 bit address. Memory Organization - High Speed Special Registers Erasable Storage, including Counters- coincident current type. Program Storage - read-only, core rope type. 1 Memory Quantity and Addressing - High Speed - order of 10, most directly addressable. Erasable - order of ld all directly addressable. Program - order of 104, expansion capability practically limitless; 2000 directly addressable, remainder addressable 1000 words at a time in conjunction with Bank Register. instruction - 11 Total Arithmetic - Add, Subtract, Multiply, Divide Information Transmission - Exchange, Transfer to Storage, Clear and Subtract. Logical - Mask Decision Making - Count, Compare, and Skip ( I instruction) Sequence Changing - Transfer Control Indexing - Index Instruction

78 Ευχαριστώ για την προσοχή σας! K Kilo 2 10 M Mega 2 20 G Giga 2 30 T Tera 2 40 m milli 10-3 μ micro 10-6 n nano 10-9