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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στην Επιστήµη των Υπολογιστών Εξάµηνο 4ο-ΣΗΜΜΥ

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

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

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

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

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

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

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

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

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

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

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 5

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

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

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

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

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

Ηλεκτρονικοί Υπολογιστές Δ Εξάμηνο

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

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

Το εσωτερικό ενός PC. Τεχνολογία Η/Υ & Πληροφοριών - 05 Κεντρική μονάδα Χουρδάκης Μανόλης

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

Μάθημα 8: Διαχείριση Μνήμης

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07

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

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

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

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

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

Υλικό Υπολογιστών (Hardware) ΜΥΥ-106 Εισαγωγή στους Η/Υ και Πληροφορική

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

ΠΛΗΡΟΦΟΡΙΚΗ: ΥΠΟΛΟΓΙΣΤΕΣ & ΤΕΧΝΟΛΟΓΙΕΣ ΔΙΑΔΙΚΤΥΟΥ

Κεφάλαιο 5. Στόχοι Κεφαλάιου. Η αρχιτεκτονική von Neumann. Nell Dale John Lewis. Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ/CPU)

Το υλικό του υπολογιστή. Υλικό (hardware) είναι οτιδήποτε έχει μια υλικήφυσική υπόσταση σε ένα υπολογιστικό σύστημα.

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 9

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

Εφαρµογές Υπολογιστών Βασίλης Μπλιάµπλιας Γεωργία Τσούτσου Γιώργος Συνάπαλος

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

1.4 Κατάταξη των υπολογιστών

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τα επιμέρους τμήματα Η ΟΜΗ TOY ΥΠΟΛΟΓΙΣΤΗ. Αναπαράσταση μεγεθών. Αναλογική αναπαράσταση ΚΕΝΤΡΙΚΗ ΜΝΗΜΗ ΜΟΝΑ Α ΕΛΕΓΧΟΥ

Δεδομένα & Αναπαράσταση Πληροφορίας

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ

Παραδείγματα Προγραμματισμού σε Assembly του TRN

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

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α ΤΑΞΗ

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

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 9

Αρχιτεκτονική Μνήμης

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

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

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

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

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές (ΗΥ)

Transcript:

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

Ιστοσελίδα Μαθήματος 2 http://people.cn.ntua.gr/jenny/index.php/courses 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 µ µ - - µ µ

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

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

Αρχιτεκτονική Η/Υ µ 7 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 µ

Δομικά στοιχεία του Η/Υ «ΕΚΥ» 8 ΕΚΥ (ΕΚπαιδευτικός Υπολογιστής): Πρόκειται για έναν υποθετικό υπολογιστή που είναι σκόπιμα απλός και μικρός, χωρίς αυτό να σημαίνει ότι λειτουργικά διαφέρει πολύ από τους πραγματικούς υπολογιστές Στον ΕΚΥ: Το μήκος λέξης είναι 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, για να μεταφερθεί στη συνέχεια στις άλλες μονάδες του υπολογιστή Σημείο- κλειδί: η κατανόηση των εννοιών «θέση μνήμης», «περιεχόμενο θέσης μνήμης» και «διεύθυνση θέσης μνήμης» (ή απλώς διεύθυνση μνήμης)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εντολές εισόδου/εξόδου 26 Εντολή εξόδου Αν 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

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

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

Απλό παράδειγμα 30 Διεύθυνση μνήμης 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 Τι κάνει το παραπάνω πρόγραμμα;

Βήμα - βήμα 31 Γλώσσα 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

Εν προκειμένω... 32 Διεύθυνση μνήμης 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

Εν προκειμένω... 33 Διεύθυνση μνήμης 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)

Εν προκειμένω... 34 Διεύθυνση μνήμης 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 Τέλος προγράμματος

Εν προκειμένω... 35 Διεύθυνση μνήμης 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 και κατόπιν θα τελείωνε Ερώτηση: Τι κάνει εν τέλει το παραπάνω πρόγραμμα;

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

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

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

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

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

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

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

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

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

Apollo Guidance Computer Ένας υπολογιστής που προγραμματίστηκε σε assembly 45 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

46 Ευχαριστώ για την προσοχή σας! 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