Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής. Εισαγωγή στους Η/Υ

Σχετικά έγγραφα
Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής. Εισαγωγή στους Η/Υ

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής

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

Εισαγωγή στην επιστήμη των υπολογιστών

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

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

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

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

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

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

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

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ.

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

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

ΠΛΗΡΟΦΟΡΙΚΗ I Ενότητα 6

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

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

Σύστημα Πλεονάσματος. Αναπαράσταση Πραγματικών Αριθμών. Αριθμητικές Πράξεις σε Αριθμούς Κινητής Υποδιαστολής

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής

Εντολές γλώσσας μηχανής

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

Κ15 Ψηφιακή Λογική Σχεδίαση 2: Δυαδικό Σύστημα / Αναπαραστάσεις

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

Σύστημα Πλεονάσματος και Αναπαράσταση Αριθμών Κινητής Υποδιαστολής

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

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Σύγχρονες Αρχιτεκτονικές Υπολογιστών

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 11 ο και 12 ο

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Νεκτάριος Κοζύρης ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ

Εισαγωγή στην Επιστήμη των Υπολογιστών

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

Εισαγωγή στους Υπολογιστές

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

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

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

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

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

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Πληροφορική. Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Αριθμητικά Συστήματα

Αριθµητική υπολογιστών

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

Κεφάλαιο 2. Οργάνωση και διαχείριση της Πληροφορίας στον. Υπολογιστή

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

Στοιχεία από Assembly Γιώργος Μανής

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 3 : Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ.

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

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

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

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Μάθημα 4 ο Πράξεις με bits. Δρ.

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

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

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

Πανεπιστήµιο Θεσσαλίας

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

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

5. Σχεδιάστε ένα κύκλωμα περιττής ισοτιμίας για το βασικό κώδικα ΑSCII (7 bits).

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Αρχιτεκτονική-Ι. Ενότητα 1: Εισαγωγή στην Αρχιτεκτονική -Ι

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 5 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ. url:

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής

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

Αριθμητική Υπολογιστών (Κεφάλαιο 3)

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Συστήματα αρίθμησης

Ψηφιακά Κυκλώματα Ι. Μάθημα 1: Δυαδικά συστήματα - Κώδικες. Λευτέρης Καπετανάκης

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

Τεχνολογίες ημιαγωγών. Chapter 2 Instructions: Language of the Computer 1

Τρόποι Διευθυνσιοδότησης

2. ΑΡΙΘΜΗΤΙΚΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. 2.1 Αριθμητικά συστήματα

Αριθμητικά Συστήματα

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

Συστήματα αρίθμησης. = α n-1 *b n-1 + a n-2 *b n-2 + +a 1 b 1 + a 0 όπου τα 0 a i b-1

Σ ή. : υαδικά. Ε ό. ή Ενότητα

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

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

Κεφάλαιο 2. Συστήματα Αρίθμησης και Αναπαράσταση Πληροφορίας. Περιεχόμενα. 2.1 Αριθμητικά Συστήματα. Εισαγωγή

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

Πραγµατικοί αριθµοί κινητής υποδιαστολής Floating Point Numbers. Σ. Τσιτµηδέλης ΤΕΙ ΧΑΛΚΙΔΑΣ

Ψηφιακοί Υπολογιστές

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Εισαγωγή στην Επιστήμη των Υπολογιστών

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

Εισαγωγή στην επιστήµη των υπολογιστών. Πράξεις µε µπιτ

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

Transcript:

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Δεύτερη Σειρά Ασκήσεων 9 Μαΐου 2017 παράδοση: 3μμ 25 Μαΐου Άσκηση 1: Να αποδειχτεί ότι για τη μετατροπή αριθμού από σύστημα με βάση p σε σύστημα με βάση q, όπου p = q n και n θετικός ακέραιος, αρκεί να εκφραστεί κάθε ψηφίο του αριθμού στο σύστημα q, χρησιμοποιώντας n το πλήθος ψηφία του συστήματος q. Να διατυπωθεί ο κανόνας και να αποδειχτεί στην αντίστροφη περίπτωση, όταν δηλαδή η μετατροπή γίνεται από σύστημα με βάση q σε σύστημα με βάση p. Άσκηση 2: Η κλασική αναπαράσταση συμπληρώματος ως προς βάση Β ενός προσημασμένου αριθμού σταθερής υποδιαστολής με πεπερασμένο μέγεθος υπόκειται στον εξής περιορισμό: το πλήθος των θετικών αριθμών πρέπει να ισούται με το πλήθος των αρνητικών, αν το Β είναι περιττός, ή να είναι κατά ένα μικρότερο από το πλήθος των αρνητικών αριθμών της αναπαράστασης, αν το Β είναι άρτιος αριθμός. Ξεκινώντας από το 0, οι θετικοί αριθμοί προκύπτουν αυξάνοντας κατά την ακρίβεια, ενώ οι αρνητικοί αριθμοί προκύπτουν μειώνοντας κατά την ακρίβεια της αναπαράστασης. Για παράδειγμα, όταν Β = 3 με 3 ψηφία αναπαράστασης, οι θετικοί αριθμοί βρίσκονται στην περιοχή [001 3,111 3] και οι αρνητικοί στην περιοχή [112 3,222 3]. Όταν Β = 4 με 5 ψηφία, οι θετικοί αριθμοί βρίσκονται στην περιοχή [00001 4, 13333 4] και οι αρνητικοί στην περιοχή [20000 4, 33333 4]. Για να υπολογιστεί η τιμή ενός αριθμού, πρέπει να γνωρίζουμε το πλήθος των κλασματικών ψηφίων της αναπαράστασης. Έτσι, αν στην πρώτη περίπτωση έ- χουμε 2 κλασματικά ψηφία, ο αριθμός 102 3 έχει τιμή Τ = 1 3 0 + 0 3-1 + 2 3-2 = 1,222, ενώ για τον αριθμό 210 3 υπολογίζουμε το συμπλήρωμα 020 3, οπότε η τιμή προκύπτει Τ = -(0 3 0 + 2 3-1 + 0 3-2 ) = -0,666. Α. Ποιες είναι οι αναπαραστάσεις και ποιες είναι οι τιμές των μεγαλύτερων θετικών και των μικρότερων αρνητικών ακέραιων που μπορούν να αναπαρασταθούν ως προσημασμένοι αριθμοί 5 ψηφίων, από τα οποία τα 3 είναι κλασματικά, με συμπλήρωμα ως προς βάση Β, όταν (1) Β = 2, (2) Β = 4, και (3) Β = 7; Β. Θεωρήστε το τετραδικό σύστημα αρίθμησης (Β = 4). Μετατρέψτε τους παρακάτω αριθμούς, εκφρασμένους σε τετραδική αναπαράσταση πρόσημο-μέτρο: +1302 4, -23011 4, +12003 4, - 10312 4, +11 4, +2033 4, -3012 4, +31032 4 και -3 4, σε αναπαράσταση συμπληρώματος ως προς Β μεγέθους 5 ψηφίων. Τι παρατηρείτε; Γ. Να εξετάσετε για κάθε βάση Β από 2 έως 9 αν ένας οποιοσδήποτε αριθμός σε αναπαράσταση συμπληρώματος ως προς Β μεγέθους 5 ψηφίων, από τα οποία τα 3 είναι κλασματικά, έχει τιμή που εκφράζεται με πεπερασμένο πλήθος κλασματικών ψηφίων. Άσκηση 3:

2 Θεωρήστε μια αναπαράσταση προσημασμένων αριθμών σταθερής υποδιαστολής βάσης Β, στην οποία τα ψηφία αναγράφονται σε φθίνουσα σειρά σημαντικότητας, με το λιγότερο σημαντικό ψηφίο να αντιστοιχεί σε θετική, και τα επόμενα ψηφία σε εναλλάξ αρνητική και θετική τιμή. Έτσι, ένας αριθμός αυτής της αναπαράστασης μεγέθους n ψηφίων: Α A n-1a n-2 A 1A 0 έχει τιμή: T(A) = (-1) n-1 T(A n-1) B n-1 + (-1) n-2 T(A n-2) B n-2 + -T(A 1) B + T(A 0) με κάθε ψηφίο να έχει τιμή από 0 έως B-1. Για παράδειγμα, αν Β = 3, ο εξαψήφιος αριθμός 200112 της παραπάνω αναπαράστασης έχει τιμή -2 3 5 + 0 3 4-0 3 3 + 1 3 2-1 3 + 2 = -478. Α. Ποιο είναι το εύρος της παραπάνω αναπαράστασης για τυχαία Β και n; Ποιος είναι ο αριθμός με τη μέγιστη και ποιος είναι ο αριθμός με την ελάχιστη τιμή; Β. Να εξετάσετε τη μοναδικότητα της αναπαράστασης να εξετάσετε δηλαδή αν είναι δυνατό δύο διαφορετικοί αριθμοί της αναπαράστασης να έχουν ίδια τιμή. Να δώσετε αντιπαράδειγμα αν κάτι τέτοιο είναι δυνατό, ή διαφορετικά να αποδείξετε μαθηματικά τη μοναδικότητα. Γ. Δώστε έναν αλγόριθμο μετατροπής της παραπάνω αναπαράστασης στην αναπαράσταση συμπληρώματος ως προς Β, και επαληθεύστε τον για τρεις τυχαίους αριθμούς. Στη συνέχεια, και για Β = 2, δώστε ένα συνδυαστικό κύκλωμα που με είσοδο έναν αριθμό της αρχικής αναπαράστασης δίνει τον αντίστοιχο αριθμό της νέας αναπαράστασης. Δ. Επιστρέψτε στην αρχική αναπαράσταση και δώστε έναν αλγόριθμο πρόσθεσης/αφαίρεσης για αριθμούς της αναπαράστασης, συμπεριλαμβάνοντας έλεγχο υπερχείλισης, και επαληθεύστε τον για δύο τυχαία ζεύγη αριθμών, και για τις δύο πράξεις ανά ζεύγος. Τέλος, και για Β=2, δώστε ένα συνδυαστικό κύκλωμα που με είσοδο δύο αριθμούς της αναπαράστασης και ένα σήμα επιλογής πρόσθεσης ή αφαίρεσης, εκτελεί την αντίστοιχη πράξη και δίνει ως έξοδο το αποτέλεσμά της καθώς και ένα σήμα υπερχείλισης. Άσκηση 4: Εξετάστε την αλήθεια των πιο κάτω προτάσεων σχετικά με μη προσημασμένους δυαδικούς ακέραιους, χρησιμοποιώντας αντιπαραδείγματα για να βρείτε τις ψευδείς και αποδεικνύοντας λογικά τις αληθείς προτάσεις: Α. Όλοι οι μη μηδενικοί ακέραιοι που είναι πολλαπλάσια του 3 και έχουν ακριβώς δύο ψηφία 1 στην αναπαράστασή τους, έχουν περιττή διαφορά σημαντικότητας στα δύο αυτά ψηφία. Β. Όλοι οι άρτιοι ακέραιοι που είναι πολλαπλάσια του 5 έχουν άρτιο αριθμό ψηφίων 1 στην αναπαράστασή τους. Γ. Όλοι οι μη μηδενικοί ακέραιοι που είναι πολλαπλάσια του 7 έχουν τουλάχιστον τρία ψηφία 1 στην αναπαράστασή τους. Σημείωση: Σημαντικότητα είναι η δύναμη του 2 που αντιστοιχεί στο ψηφίο. Άσκηση 5: Όταν η μνήμη ενός συστήματος ηλεκτρονικού υπολογιστή διευθυνσιοδοτείται ανά ψηφιολέξη (byte), η αποθήκευση μιας μονάδας πληροφορίας μεγαλύτερης της μιας ψηφιολέξης μπορεί να γίνει με έναν από τους πιο κάτω τρόπους: (α) Η πιο σημαντική ψηφιολέξη τοποθετείται πρώτη στη μνήμη (μεγάλο άκρο big endian), είτε (β) Η λιγότερο σημαντική ψηφιολέξη τοποθετείται πρώτη στη μνήμη (μικρό άκρο little endian).

3 Για παράδειγμα, ο αριθμός των 32 bits 0x891af024 (το πρόθεμα 0x δηλώνει δεκαεξαδική αναπαράσταση) με τον πρώτο τρόπο αποθηκεύεται με τη σειρά ψηφιολέξεων 0x89, 0x1a, 0xf0 και 0x24, ενώ με το δεύτερο τρόπο αποθηκεύεται με την αντίστροφη σειρά ψηφιολέξεων. Α. Θεωρήστε το παρακάτω απόσπασμα μνήμης ενός συστήματος ηλεκτρονικού υπολογιστή,, σε αύξουσες διευθύνσεις, όπου η διευθυνσιοδότηση γίνεται ανά ψηφιολέξη: 01100001 00101000 00100101 01110011 01100011 00100001 01101100 00111001 Να βρείτε τι αναπαριστάνεται με αυτή τη διάταξη στις εξής περιπτώσεις πληροφορίας: 1. Ένας ακέραιος μεγέθους 64 bits, σε σειρά μεγάλου άκρου. 2. Δύο διαδοχικοί ακέραιοι μεγέθους 32 bits, σε σειρά μικρού άκρου. 3. Ένας αριθμός σταθερής υποδιαστολής με 24 ακέραια και 40 κλασματικά ψηφία, σε σειρά μικρού άκρου. 4. Ένας πραγματικός (κινητής υποδιαστολής) σύμφωνα με το πρότυπο ΙΕΕΕ 754 των 64 bits, σε σειρά μεγάλου άκρου. 5. Δύο διαδοχικοί πραγματικοί (κινητής υποδιαστολής) σύμφωνα με το πρότυπο ΙΕΕΕ 754 των 32 bits, σε σειρά μικρού άκρου. 6. Ένας πραγματικός (κινητής υποδιαστολής) όπου το πιο σημαντικό ψηφίο είναι το πρόσημο του αριθμού, τα 15 πιο σημαντικά ψηφία μετά το πρόσημο είναι ο εκθέτης σε παράσταση συμπληρώματος ως προς 2, και τα υπόλοιπα είναι το μέτρο του συντελεστή, κανονικοποιημένο με μια υπονοούμενη ακέραια μονάδα, σε σειρά μικρού άκρου. 7. Μια συμβολοσειρά κωδικοποιημένη με βάση το πρότυπο ASCII. Για τις περιπτώσεις 1-6 βρείτε την τιμή του κάθε αριθμού, ενώ για την περίπτωση 7 βρείτε τη συμβολοσειρά. Β. Η αρχιτεκτονική MIPS δεν υποστηρίζει εντολές φόρτωσης/αποθήκευσης για πληροφορία που αποθηκεύεται στη μνήμη σε σειρά μικρού άκρου. Γράψτε ένα πρόγραμμα συμβολικής γλώσσας MIPS σε μορφή βρόχου που φορτώνει στον καταχωρητή $v0 έναν ακέραιο αριθμό 32 bits, αποθηκευμένο στη μνήμη σε σειρά μικρού άκρου. Θεωρήστε ότι η αρχική διεύθυνση του αριθμού περιέχεται στον καταχωρητή $a0. Χρησιμοποιήστε μόνο πραγματικές εντολές MIPS. Άσκηση 6: Ένας κώδικας Hamming προσφέρει κωδικοποίηση πληροφορίας με δυνατότητα ελέγχου και διόρθωσης λαθών. Ξεκινώντας από μια λέξη πληροφορίας των ν bits, δημιουργεί μια κωδικολέξη προσθέτοντας μ ψηφία ελέγχου ισοτιμίας, με τέτοιον τρόπο, ώστε να μπορεί να ανιχνεύσει διπλό και να διορθώσει απλό λάθος κατά την αποθήκευση ή τη διάδοση της κωδικοποιημένης πληροφορίας. Αν η προς κωδικοποίηση λέξη είναι η Χ Χ 1Χ 2 Χ ν και τα ψηφία ελέγχου είναι τα C 1,C 2,, C μ, τότε η τελική κωδικολέξη είναι η Μ Μ 1Μ 2 Μ ν+μ με τα ψηφία ελέγχου στις θέσεις 1,2, 4,8,, δηλαδή Μ C 1C 2X 1C 3X 2X 3X 4C 4X 5X 6 Τα ψηφία αυτά κωδικοποιούν άρτια ισοτιμία με βάση τις σχέσεις: M 1 M 3 M 5 M 7 = 0 (M 2 M 3) (M 6 M 7) (M 10 M 11) = 0 (M 4 M 5 M 6 M 7) (M 12 M 13 M 14 M 15) = 0 (M 8 M 9 M 10 M 11 M 12 M 13 M 14 M 15) = 0 κοκ

4 Για τον έλεγχο ορθότητας της κωδικοποιημένης πληροφορίας κατά την ανάκτηση της κωδικολέξης από τη μνήμη ή το κανάλι διάδοσης, υπολογίζουμε τις τιμές ελέγχου ισοτιμίας C 1, C 2,,C μ ως εξής: C 1 = M 1 M 3 M 5 M 7 C 2 = (M 2 M 3) (M 6 M 7) (M 10 M 11) C 3 = (M 4 M 5 M 6 M 7) (M 12 M 13 M 14 M 15) C 4 = (M 8 M 9 M 10 M 11 M 12 M 13 M 14 M 15) κοκ Για άρτια ισοτιμία, η σωστή πληροφορία (ή τουλάχιστον αυτή που δεν έχει παραπάνω από δύο λάθη) επιβεβαιώνεται με τιμή 0 για όλες τις παραπάνω τιμές. Σε περίπτωση απλού λάθους, το ψηφίο λάθους εντοπίζεται στη θέση C μ C 2 C 1 και διορθώνεται. Α. Για την παραπάνω κωδικοποίηση χρειαζόμαστε τόσα ψηφία ελέγχου, ώστε 2 μ ν + μ + 1. Πόσα ψηφία ελέγχου χρειαζόμαστε για ν = 2, 4, 8, 16, 64; Β. Να κωδικοποιηθεί κατά Hamming η λέξη πληροφορίας Χ = 11001111 με άρτια ισοτιμία. Γ. Εάν η κωδικολέξη που ανακτάται είναι η Μ = 001010001111, να γίνει έλεγχος ορθότητας της πληροφορίας. Δ. Σε περίπτωση απλού λάθους να γίνει διόρθωση. Άσκηση 7 Θεωρήστε έναν υπολογιστή αρχιτεκτονικής συσσωρευτή. Το σύνολο εντολών του επεξεργαστή αυτού περιλαμβάνει τις εντολές load, store, multiply, add και sub, οι οποίες έχουν ένα τελούμενο μνήμης Δ (κατ ευθείαν διευθυνσιοδότηση μνήμης) και αναφέρονται στο συσσωρευτή Σ ως εξής: load Δ store Δ multiply Δ add Δ sub Δ Σ = ΜΕΜ[Δ] ΜΕΜ[Δ] = Σ Σ = Σ * MEM[Δ] Σ = Σ + ΜΕΜ[Δ] Σ = Σ - ΜΕΜ[Δ] Για τα ερωτήματα που ακολουθούν υποθέστε ότι όλες οι τιμές είναι ακέραιες, και ότι η διευθυνσιοδότηση της μνήμης γίνεται σε λέξεις. Για κάθε περίπτωση, θεωρήστε βοηθητικές θέσεις μνήμης όπως τις χρειάζεστε. Α. Γράψτε ένα πρόγραμμα στη συμβολική γλώσσα της αρχιτεκτονικής αυτής, που να υπολογίζει την τιμή της ακέραιας παράστασης: S = n i n Σ {i Α i [(Σ B j ) (Σ A j)]} i=1 j=1 j=i+1 για n = 4. Θεωρήστε τα A i, B i, για i=1,,n, και S ως τις διευθύνσεις μνήμης των αντίστοιχων μεταβλητών. Τι παρατηρείτε στη μορφή του προγράμματος που γράψατε; Μπορείτε να χρησιμοποιήσετε το ίδιο πρόγραμμα για άλλη τιμή του n; Ποια προγραμματιστική δομή δεν μπορείτε να υλοποιήσετε με τις πιο πάνω εντολές; Β. Έστω ότι το σύνολο εντολών του επεξεργαστή επεκτείνεται, ώστε να περιλαμβάνει και τις εντολές inc, dec, cmp, beq και bne, με την ακόλουθη λειτουργία: inc Δ dec Δ MEM[Δ]++ ΜΕΜ[Δ]--

5 cmp Δ beq E bne E F = (Σ == MEM[Δ]) if (F) branch E if (!F) branch E όπου F κατάλληλο ψηφίο ελέγχου του επεξεργαστή, και Ε κάποια ετικέτα στον κώδικα που εκφράζει μετατόπιση σχετικά με την τιμή του μετρητή προγράμματος. Ο επεξεργαστής μπορεί τώρα να δεχτεί και έμμεση διευθυνσιοδότηση μνήμης για τις εντολές του που έχουν τελούμενο Δ, η οποία συμβολίζεται και περιγράφεται ως εξής: load (Δ) store (Δ) multiply (Δ) add (Δ) sub (Δ) inc (Δ) dec (Δ) cmp (Δ) Σ = ΜΕΜ[MEM[Δ]] ΜΕΜ[MEM[Δ]] = Σ Σ = Σ * MEM[MEM[Δ]] Σ = Σ + ΜΕΜ[MEM[Δ]] Σ = Σ - ΜΕΜ[ΜΕΜ[Δ]] MEM[MEM[Δ]]++ MEM[MEM[Δ]]-- F = (Σ == MEM[MEM[Δ]]) Γράψτε το πρόγραμμα που υπολογίζει την πιο πάνω παράσταση για μεταβλητό n, η τιμή του οποίου βρίσκεται στη διεύθυνση μνήμης Ν. Υποθέστε ότι οι διευθύνσεις μνήμης Α και Β περιέχουν τις αρχικές διευθύνσεις των αντίστοιχων διανυσμάτων, και ότι διαδοχικά στοιχεία των διανυσμάτων βρίσκονται σε διαδοχικές θέσεις μνήμης. Γ. Επεκτείνετε την αρχιτεκτονική συσσωρευτή, ώστε να περιλαμβάνει έναν καταχωρητή δείκτη Χ, και οι παραπάνω εντολές να μπορούν να δεχτούν δεικτοδοτούμενη διευθυνσιοδότηση, που συμβολίζεται και περιγράφεται όπως φαίνεται στον ακόλουθο πίνακα: load Δ,Χ store Δ,Χ multiply Δ,Χ add Δ,Χ sub Δ,Χ inc Δ,X dec Δ,Χ cmp Δ,X Σ = ΜΕΜ[Δ+Χ] ΜΕΜ[Δ+Χ] = Σ Σ = Σ * MEM[Δ+Χ] Σ = Σ + ΜΕΜ[Δ+Χ] Σ = Σ - ΜΕΜ[Δ+Χ] MEM[Δ+X]++ ΜΕΜ[Δ+Χ]-- F = (Σ == MEM[Δ+X]) όπου στη διεύθυνση Δ προστίθεται το περιεχόμενο του καταχωρητή Χ για τον υπολογισμό της τελικής διεύθυνσης προσπέλασης. Όλες οι εντολές του πίνακα μπορούν να δεχτούν και έμμεση διευθυνσιοδότηση, που εφαρμόζεται πριν τη δεικτοδοτούμενη. Το σύνολο εντολών του επεξεργαστή περιλαμβάνει τώρα και τις πιο κάτω εντολές: loadx Δ storex Δ cmpx Δ incx decx bnzx E bezx Ε X = MEM[Δ] MEM[Δ] = X F = (Χ == ΜΕΜ[Δ]) X++ X-- if (X!= 0) branch E if (X == 0) branch E Οι εντολές loadx, storex και cmpx δέχονται και έμμεση διευθυνσιοδότηση μνήμης.

6 Ξαναγράψτε το πρόγραμμα που υπολογίζει την παραπάνω παράσταση για μεταβλητό n, χρησιμοποιώντας δεικτοδοτούμενη διευθυνσιοδότηση μέσω του καταχωρητή Χ. Όπως και πριν, υποθέστε ότι οι διευθύνσεις μνήμης Α και Β περιέχουν τις αρχικές διευθύνσεις των αντίστοιχων διανυσμάτων, και ότι διαδοχικά στοιχεία των διανυσμάτων βρίσκονται σε διαδοχικές θέσεις μνήμης. Δ. Να συγκρίνετε τα προγράμματα που γράψατε στα δύο προηγούμενα ερωτήματα, υπολογίζοντας το συνολικό αριθμό εντολών που εκτελούνται, καθώς και το συνολικό αριθμό προσπελάσεων μνήμης που γίνονται. Τι συμπεράσματα βγάζετε για τη χρήση καταχωρητή δείκτη σε μια αρχιτεκτονική συσσωρευτή; Σκεφτείτε τέλος αν θα είχατε σημαντικό κέρδος με χρήση δεύτερου καταχωρητή δείκτη, έστω Υ, στην υλοποίηση του πιο πάνω κώδικα. Άσκηση 8: Θεωρήστε την αρχιτεκτονική στοίβας της εικονικής μηχανής java. Μέρος από τη συμβολική γλώσσα αυτής της αρχιτεκτονικής δίνεται στον Πίνακα 1. Με βάση αυτόν τον πίνακα, γράψτε τον κώδικα που υπολογίζει την τιμή της ακέραιας παράστασης της προηγούμενης άσκησης, για τυχαία τιμή του n, με την υπόθεση ότι οι αρχικές διευθύνσεις των διανυσμάτων Α και Β είναι τοποθετημένες στις τοπικές μεταβλητές 11 και 12, η τιμή του n είναι τοποθετημένη στην τοπική μεταβλητή 10, οι τιμές των i και j τοποθετούνται στις τοπικές μεταβλητές 0 και 1, και το αποτέλεσμα S θέλουμε να αποθηκευτεί στην τοπική μεταβλητή 13. Υπενθύμιση: Οι ασκήσεις παραδίνονται μόνο χειρόγραφες.

7 Πίνακας 1. Επιλογή εντολών java bytecode (από Wikipedia) Πρόσθετα bytes Στοίβα [πριν] [μετά] Περιγραφή aload 1: index objectref φόρτωση διεύθυνσης από την τοπική μεταβλητή #index aload_n objectref φόρτωση διεύθυνσης από την τοπική μεταβλητή n, όπου n = 0,1,2 ή 3 dup value value, value αντιγραφή της κορυφής στοίβας iadd value1, value2 result πρόσθεση ακεραίων iaload arrayref, index value φόρτωση ακεραίου από πίνακα iastore arrayref, index, value αποθήκευση ακεραίου σε πίνακα iconst_m1-1 φόρτωση της σταθεράς 1 iconst_n 0 φόρτωση της σταθεράς n, όπου n = 0,1,2,3,4 ή 5 idiv value1, value2 result διαίρεση ακεραίων if_icmpxx 2: branchbyte1, branchbyte2 value1, value2 αν value xx value2, άλμα σε μετατόπιση branchbyte1 << 8 + branchbyte2, όπου xx = eq, ge, gt, le, lt ή ne, για αντίστοιχη σύγκριση iinc 2: index, const αύξηση της τοπικής μεταβλητής #index κατά const iload 1: index value φόρτωση ακεραίου από την τοπική μεταβλητή #index iload_n value φόρτωση ακεραίου από την τοπική μεταβλητή n, όπου n = 0,1,2 ή 3 imul value1, value2 result πολλαπλασιασμός ακεραίων ineg value result αντίθετος ακέραιος irem value1, value2 result υπόλοιπο διαίρεσης ακεραίων ishl value1, value2 result αριστερή ολίσθηση ishr value1, value2 result δεξιά αριθμητική ολίσθηση istore 1: index value αποθήκευση στην τοπική μεταβλητή #index istore_n value αποθήκευση στην τοπική μεταβλητή n, όπου n = 0,1,2 ή 3 isub value1, value2 result αφαίρεση ακεραίων iushr value1, value2 result δεξιά λογική ολίσθηση pop value αφαίρεση κορυφής στοίβας swap value2, value1 value1, value2 εναλλαγή των δύο στοιχείων στην κορυφή της στοίβας