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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Παραδείγματα Assembly (Μέρος

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Λύσεις Ασκήσεων ΣΕΙΡΑ 1 η. Πρόσημο και μέγεθος

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

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

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

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

ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Ονοματεπώνυμο: ΑΜ:

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

ΕΠΛ605 Εργασία 1 Ημερομηνία Παράδοσης 12/9/2018 στην αρχή του μαθήματος

Ψηφιακά Συστήματα. 1. Συστήματα Αριθμών

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

ΠΛΗ21 Κεφάλαιο 2. ΠΛΗ21 Ψηφιακά Συστήματα: Τόμος Α Κεφάλαιο: Παράσταση Προσημασμένων Αριθμών Συμπληρώματα

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

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

1. ΣΥΣΤΗΜΑΤΑ ΑΡΙΘΜΩΝ. α i. (α i β i ) (1.3) όπου: η= το πλήθος ακεραίων ψηφίων του αριθμού Ν. n-1

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

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

1. Το σύστημα κινητής υποδιαστολής 2. Αναπαράσταση πραγματικών δυαδικών αριθμών 3. Το πρότυπο 754 της ΙΕΕΕ

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

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

Transcript:

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Δεύτερη Σειρά Ασκήσεων 21 Απριλίου 2016 παράδοση: 9μμ 19 Μαΐου 2016 Άσκηση 1: Η κλασική αναπαράσταση συμπληρώματος ως προς βάση Β ενός προσημασμένου αριθμού σταθερής υποδιαστολής με πεπερασμένο μέγεθος υπόκειται στον εξής περιορισμό: το πλήθος των θετικών αριθμών πρέπει να ισούται με το πλήθος των αρνητικών, αν το Β είναι περιττός, ή να είναι κατά ένα μικρότερο από το πλήθος των αρνητικών αριθμών της αναπαράστασης, αν το Β είναι άρτιος αριθμός. Ξεκινώντας από το 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) Β = 5, και (3) Β = 10; Β. Θεωρήστε το πενταδικό σύστημα αρίθμησης (Β = 5). Μετατρέψτε τους παρακάτω αριθμούς, εκφρασμένους σε πενταδική αναπαράσταση πρόσημο-μέτρο: +1402 5, -23012 5, +21004 5, -10042 5, +41 5, +2034 5, -3042 5, +31042 5 και -3 5, σε αναπαράσταση συμπληρώματος ως προς Β μεγέθους 5 ψηφίων. Τι παρατηρείτε; Γ. Να εξετάσετε για κάθε βάση Β από 2 έως 9 αν ένας οποιοσδήποτε αριθμός σε αναπαράσταση συμπληρώματος ως προς Β μεγέθους 5 ψηφίων, από τα οποία τα 3 είναι κλασματικά, έχει τιμή που εκφράζεται με πεπερασμένο πλήθος κλασματικών ψηφίων. Άσκηση 2 Θεωρήστε μια αναπαράσταση προσημασμένων αριθμών σταθερής υποδιαστολής βάσης Β, στην οποία τα ψηφία αναγράφονται σε φθίνουσα σειρά σημαντικότητας, και ανά ζεύγη, στα οποία το πρώτο ψηφίο αντιστοιχεί σε θετική, και το δεύτερο σε αρνητική τιμή. Έτσι, ένας αριθμός αυτής της αναπαράστασης μεγέθους 2ν ακεραίων και 2μ κλασματικών ψηφίων: Α A ν-1,+ A ν-1,- A ν-2,+ A ν-2,- A 1,+ A 1,- A 0,+ A 0,- Α -1,+ Α -1,- Α -μ,+ Α -μ,- έχει τιμή: T(A) = (T(A ν-1,+ )-T(A ν-1,- )) B ν-1 + (T(A ν-2,+ )-T(A ν-2,- )) B ν-2 + + (T(A 1,+ )-T(A 1,- )) B + (T(A 0,+ )-T(A 0,- )) + (Τ(Α -1,+ )-Τ(Α -1,- )) B -1 + + (Τ(Α -μ,+ )-Τ(Α -μ,- )) B -μ με κάθε ψηφίο να έχει τιμή από 0 έως B-1.

2 Για παράδειγμα, αν Β = 3, ν = 2 και μ = 1, ο εξαψήφιος αριθμός 200112 της παραπάνω αναπαράστασης έχει τιμή 2 3 1-1 - 1 3-1 = 4,666. Α. Ποιο είναι το εύρος της παραπάνω αναπαράστασης για τυχαία Β, ν και μ; Ποιος είναι ο αριθμός με τη μέγιστη και ποιος είναι ο αριθμός με την ελάχιστη τιμή; Β. Ποια είναι η τιμή με το μέγιστο και ποια είναι η τιμή με το ελάχιστο πλήθος διαφορετικών απεικονίσεων στην παραπάνω αναπαράσταση; Ποιο είναι το μέσο πλήθος διαφορετικών α- πεικονίσεων της ίδιας τιμής στην παραπάνω αναπαράσταση; Γ. Με βάση το μέσο πλήθος διαφορετικών απεικονίσεων της ίδιας τιμής που βρήκατε στο προηγούμενο ερώτημα, εξηγήστε πόσο μπορεί να συμπιεστεί ένας αριθμός μεγέθους 2ν+2μ ψηφίων, μετασχηματιζόμενος σε μια αναπαράσταση συμπληρώματος ως προς Β. Δ. Δώστε έναν αλγόριθμο μετατροπής της αρχικής αναπαράστασης που σας δόθηκε στην α- ναπαράσταση συμπληρώματος ως προς Β, και επαληθεύστε τον για τρεις τυχαίους αριθμούς, από τους οποίους οι δύο να έχουν την ίδια τιμή και ο τρίτος διαφορετική. Στη συνέχεια, και για Β = 2, δώστε ένα συνδυαστικό κύκλωμα που με είσοδο έναν αριθμό της αρχικής αναπαράστασης δίνει τον αντίστοιχο αριθμό της νέας αναπαράστασης. Άσκηση 3: Εξετάστε την αλήθεια των πιο κάτω προτάσεων σχετικά με μη προσημασμένους δυαδικούς ακέραιους, χρησιμοποιώντας αντιπαραδείγματα για να βρείτε τις ψευδείς και αποδεικνύοντας λογικά τις αληθείς προτάσεις: Α. Όλοι οι μη μηδενικοί ακέραιοι που είναι πολλαπλάσια του 6 έχουν ακριβώς δύο ψηφία 1 στην αναπαράστασή τους. Β. Όλοι οι μη μηδενικοί ακέραιοι που είναι πολλαπλάσια του 7 έχουν τουλάχιστον τρία ψηφία 1 στην αναπαράστασή τους. Γ. Όλοι οι ακέραιοι που είναι πολλαπλάσια του 9 και έχουν ακριβώς τρία ψηφία 1 στην α- ναπαράστασή τους πρέπει να έχουν είτε περιττή είτε άρτια σημαντικότητα σε αυτά τα ψηφία. Σημείωση: Σημαντικότητα είναι η δύναμη του 2 που αντιστοιχεί στο ψηφίο. Άσκηση 4: Όταν η μνήμη ενός συστήματος ηλεκτρονικού υπολογιστή διευθυνσιοδοτείται ανά ψηφιολέξη (byte), η αποθήκευση μιας μονάδας πληροφορίας μεγαλύτερης της μιας ψηφιολέξης μπορεί να γίνει με έναν από τους πιο κάτω τρόπους: (α) Η πιο σημαντική ψηφιολέξη τοποθετείται πρώτη στη μνήμη (μεγάλο άκρο big endian), είτε (β) Η λιγότερο σημαντική ψηφιολέξη τοποθετείται πρώτη στη μνήμη (μικρό άκρο little endian). Για παράδειγμα, ο αριθμός των 32 bits 0x891af024 (το πρόθεμα 0x δηλώνει δεκαεξαδική αναπαράσταση) με τον πρώτο τρόπο αποθηκεύεται με τη σειρά ψηφιολέξεων 0x89, 0x1a, 0xf0 και 0x24, ενώ με το δεύτερο τρόπο αποθηκεύεται με την αντίστροφη σειρά ψηφιολέξεων. Α. Θεωρήστε το παρακάτω απόσπασμα μνήμης ενός συστήματος ηλεκτρονικού υπολογιστή, όπου η διευθυνσιοδότηση γίνεται ανά ψηφιολέξη: 01010100 01101000 01100101 01110011 01110011

3 01100001 01101100 01111001 Να βρείτε τι αναπαριστάνεται με αυτή τη διάταξη στις εξής περιπτώσεις πληροφορίας: 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. Άσκηση 5: Α. Έστω ένας πραγματικός αριθμός, αποθηκευμένος στη μνήμη ενός υπολογιστή MIPS σε παράσταση ΙΕΕΕ 754 των 32 bits. Αν δεν διατίθενται εντολές κινητής υποδιαστολής, γράψτε το συντομότερο δυνατό πρόγραμμα σε συμβολική γλώσσα MIPS που να εκτελεί τον πολλαπλασιασμό αυτού του αριθμού επί τη σταθερά 4, αποθηκεύοντας το αποτέλεσμα στη θέση στην οποία βρισκόταν ο αριθμός. Αγνοήστε πιθανή υπερχείλιση. Β. Έστω δύο πραγματικοί αριθμοί, μη αρνητικοί, αποθηκευμένοι στη μνήμη ενός υπολογιστή MIPS σε παράσταση ΙΕΕΕ 754 των 32 bits. Αν δεν διατίθενται εντολές κινητής υποδιαστολής, γράψτε το συντομότερο δυνατό πρόγραμμα σε συμβολική γλώσσα MIPS που να συγκρίνει τους δύο αριθμούς ως προς το μικρότερο, και να επιστρέφει το αποτέλεσμα σε κάποιον καταχωρητή γενικού σκοπού. Και για τα δύο ερωτήματα, θεωρήστε μόνο τη μορφή αριθμών του προτύπου ΙΕΕΕ 754 που είδαμε στο μάθημα. Άσκηση 6: Με βάση την εισαγωγική ανάλυση του κύκλου εντολής που κάναμε στο μάθημα, περιγράψτε τις φάσεις του κύκλου εντολής για τις ακόλουθες εντολές: (α) load (Addr1),X για αρχιτεκτονική επέκτασης συσσωρευτή με έναν καταχωρητή-δείκτη Χ, (β) pop (Addr2) για αρχιτεκτονική στοίβας, (γ) add $r3,104(addr3,$r4) για αρχιτεκτονική καταχωρητή-μνήμης, (δ) beq $r6,$r7,addr4 για αρχιτεκτονική φόρτωσης-αποθήκευσης, και (ε) move (Addr5,$r5),-4(Addr6,$r8) για αρχιτεκτονική μνήμης-μνήμης

4 Για όλες τις περιπτώσεις υποθέστε ότι Addr1 έως Addr6 είναι διευθύνσεις μνήμης και ότι $r3 έως $r8 είναι καταχωρητές γενικού σκοπού. Οι παρενθέσεις υποδηλώνουν έμμεση διευθυνσιοδότηση, πιθανά συνδυασμένη με άλλες διευθυνσιοδοτήσεις. Οι μετατοπίσεις στα αριστερά παρενθέσεων προστίθενται στις διευθύνσεις που υπολογίζονται εντός των παρενθέσεων. Προσέξτε ότι όπου υπάρχει αναφορά στη μνήμη, είτε σε ανάγνωση τελούμενων είτε σε αποθήκευση αποτελέσματος, της προσπέλασης μνήμης πρέπει να προηγείται η επίλυση της αναφοράς, δηλαδή ο υπολογισμός της τελικής διεύθυνσης προσπέλασης. Η επίλυση αναφοράς είναι πιθανό να περιλαμβάνει πρόσθετες προσπελάσεις μνήμης εάν υπάρχουν έμμεσες διευθυνσιοδοτήσεις μέσω μνήμης. Άσκηση 7 Θεωρήστε έναν υπολογιστή αρχιτεκτονικής συσσωρευτή. Το σύνολο εντολών του επεξεργαστή αυτού περιλαμβάνει τις εντολές load, store, multiply, add και sub, οι οποίες έχουν ένα τελούμενο μνήμης Δ (κατ ευθείαν διευθυνσιοδότηση μνήμης) και αναφέρονται στο συσσωρευτή Σ ως εξής: load Δ store Δ multiply Δ add Δ sub Δ Σ = ΜΕΜ[Δ] ΜΕΜ[Δ] = Σ Σ = Σ * MEM[Δ] Σ = Σ + ΜΕΜ[Δ] Σ = Σ - ΜΕΜ[Δ] Για τα ερωτήματα που ακολουθούν υποθέστε ότι όλες οι τιμές είναι ακέραιες, και ότι η διευθυνσιοδότηση της μνήμης γίνεται σε λέξεις. Για κάθε περίπτωση, θεωρήστε βοηθητικές θέσεις μνήμης όπως τις χρειάζεστε. Α. Γράψτε ένα πρόγραμμα στη συμβολική γλώσσα της αρχιτεκτονικής αυτής, που να υπολογίζει την τιμή της ακέραιας παράστασης: n i n S = Π {Α i Σ B j - Α n-i Σ B 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 Δ cmp Δ beq E bne E MEM[Δ]++ ΜΕΜ[Δ]-- F = (Σ == MEM[Δ]) if (F) branch E if (!F) branch E όπου F κατάλληλο ψηφίο ελέγχου του επεξεργαστή, και Ε κάποια ετικέτα στον κώδικα που εκφράζει μετατόπιση σχετικά με την τιμή του μετρητή προγράμματος. Ο επεξεργαστής μπορεί τώρα να δεχτεί και έμμεση διευθυνσιοδότηση μνήμης για τις εντολές του που έχουν τελούμενο Δ, η οποία συμβολίζεται και περιγράφεται ως εξής:

5 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 δέχονται και έμμεση διευθυνσιοδότηση μνήμης. Ξαναγράψτε το πρόγραμμα που υπολογίζει την παραπάνω παράσταση για μεταβλητό n, χρησιμοποιώντας δεικτοδοτούμενη διευθυνσιοδότηση μέσω του καταχωρητή Χ. Όπως και πριν, υποθέστε ότι οι διευθύνσεις μνήμης Α και Β περιέχουν τις αρχικές διευθύνσεις των αντίστοιχων διανυσμάτων, και ότι διαδοχικά στοιχεία των διανυσμάτων βρίσκονται σε διαδοχικές θέσεις μνήμης. Δ. Να συγκρίνετε τα προγράμματα που γράψατε στα δύο προηγούμενα ερωτήματα, υπολογίζοντας το συνολικό αριθμό εντολών που εκτελούνται, καθώς και το συνολικό αριθμό προσπελάσεων μνήμης που γίνονται. Τι συμπεράσματα βγάζετε για τη χρήση καταχωρητή δείκτη σε μια αρχιτεκτονική συσσωρευτή;

6 Άσκηση 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 εναλλαγή των δύο στοιχείων στην κορυφή της στοίβας