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

Σχετικά έγγραφα
1 η ΑΣΚΗΣΗ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Ακ. έτος , 5ο Εξάμηνο, Σχολή ΗΜ&ΜΥ

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

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

ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών

Διαδικασίες Ι. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 4

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

Συναρτήσεις-Διαδικασίες

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

Διαδικασίες ΙI. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 5

Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32. Αρχείο καταχωρητών και Χάρτης Μνήµης

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

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

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

add $t0,$zero, $zero I_LOOP: beq $t0,$s3, END add $t1, $zero,$zero J_LOOP: sub $t2, $s3, $t0 add $t2, $t2, $s1 int i, j, tmp; int *arr, n;

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

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

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

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

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

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

Λύσεις 1 ης Ενδιάμεσης Εξέτασης στο ΗΜΥ213

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

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

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

Άσκηση 1 (α) Άσκηση 1 (γ) Άσκηση 1 (β) Παραδείγματα Assembly. Άρα με έλεγχο στον $t1 αποφασίζω αν είναι 0 ή 1.

Λύσεις 1 ης Ενδιάμεσης Εξέτασης στο ΗΜΥ213

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

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

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

MIPS functions and procedures

Υποστήριξη διαδικασιών στο υλικό των υπολογιστών

Εργαστήριο Αρχιτεκτονική Υπολογιστών Ι ΤΡΑΠΕΖΑ ΘΕΜΑΤΩΝ. Άσκηση 2 Ποιες οι τιμές των καταχωρητών μετά την εκτέλεση του προγράμματος ;

6. Επιστροφή ελέγχου στο σημείο εκκίνησης

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

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

Προτεινόμενες Λύσεις 1 ης Ενδιάμεσης Εξέτασης στο ΗΜΥ213 & Αποτελέσματα

2η ΑΣΚΗΣΗ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ακ. έτος , 5ο Εξάμηνο Σχολή ΗΜ&ΜΥ

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

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

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ασκήσεις 5: Εντολές Συγκρίσεων και Μεταφοράς Ελέγχου. Μανόλης Γ.Η.

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

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

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

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

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 1. Χειμερινό Εξάμηνο

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

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

Τομέας Υλικού και Αρχιτεκτονικής Υπολογιστών ΗΥ134 - Εισαγωγή στην Οργάνωση και Σχεδίαση Η/Υ 1. Εργαστήριο 6. Εαρινό Εξάμηνο

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

Α. Δίνονται οι. (i) στη. πρέπει να. πιο. (ii) $a0. $s0 θα πρέπει να. αποθήκευση. αυξάνει τον. f: sub sll add sub jr. h: addi sw sw.

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

ΠΛΕ- 027 Μικροεπεξεργαστές

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

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

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

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

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

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

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

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

Data-Level Parallelism Linking & Loading

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

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

Chapter 3. Αριθμητική Υπολογιστών. (συνέχεια)

Κεφάλαιο 3. Αριθμητική για υπολογιστές

γρηγορότερα. Αν θέλουμε να μηδενίσουμε όλα τα υπόλοιπα bit μπορούμε να χρησιμοποιήσουμε την εντολή:

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

Κεφάλαιο 3. Αριθμητική για υπολογιστές

ΠΛΕ- 027 Μικροεπεξεργαστές

Τελική Εξέταση, Απαντήσεις/Λύσεις

MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual

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

Μετάφραση ενός Προγράμματος Εξαιρέσεις

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

Κεφάλαιο 2. Εντολές: η γλώσσα του υπολογιστή

Κεφάλαιο 2. Εντολές: η γλώσσα του υπολογιστή

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

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

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

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΜΙΑΣ. A. Μετατροπή αριθμών 1. Μετατροπή αριθμών από δεκαδικό σε δυαδικό σύστημα αρίθμησης

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

LANGUAGE OF THE MACHINE. TEI Κρήτης, Τμ. ΕΠΠ, Αρχιτεκτονική Υπολογιστών. Οργάνωση Υπολογιστή. Τυπική οργάνωση υπολογιστή

AΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ (5 ο εξάμηνο) ΕΠΑΝΑΛΗΠΤΙΚΗ ΕΞΕΤΑΣΗ (ΦΘΙΝΟΠΩΡΟ 2007) ΔΙΑΡΚΕΙΑ ΕΞΕΤΑΣΗΣ: 2 ΩΡΕΣ 30 ΛΕΠΤΑ

Εργαστήριο 4. Εαρινό Εξάμηνο ΠΡΟΣΟΧΗ: Αρχίστε νωρίς το Εργαστήριο 4. Οι ασκήσεις είναι πιο απαιτητικές από τα προηγούμενα εργαστήρια.

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

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

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

Μετατροπή χαρακτήρων ASCII σε αριθμό (atoi) & διάβασμα, και αποθήκευση του περιεχομένου του στη μνήμη. (Διάλεξη. Πανεπιστήμιο Κύπρου

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

Χρονισμός και Απόδοση Υπολογιστικών Συστημάτων

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

Δρ. Παναγιώτης Μ. Παπάζογλου Επίκουρος Καθηγητής ΤΕΙ Λαμίας. Διδακτικό βοήθημα γρήγορης μελέτης για τον προγραμματισμό του μικροεπεξεργαστή MIPS 32bit

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

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

ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών

Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής. Αρχιτεκτονική Υπολογιστών. 3ο Μάθημα

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

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

Transcript:

η Άσκηση Στην Αρχιτεκτονική Υπολογιστών Ακ. Έτος 203 204, 5 ο Εξάμηνο, Σχολή ΗΜ&ΜΥ Τμήμα Λ - Ω Ημερομηνία Παράδοσης: 20/2/203 Απορίες στο: ca203-204t2@cslab.ece.ntua.gr Μέρος Α Δίνονται τα παρακάτω δύο προγράμματα γραμμένα σε C, καθώς και η αντίστοιχη μετάφρασή τους σε assembly MIPS. Ωστόσο υπάρχουν ορισμένα κενά τα οποία χρίζουν συμπλήρωσης προκειμένου ο κώδικας να τρέχει πλέον στη μηχανή MIPS. Υπενθυμίζουμε ότι ο ή περιέχει ως τιμή πάντα το 0 και ότι οι εντολές sll και πραγματοποιούν shift αριστερά ή δεξιά αντίστοιχα, τόσες θέσεις όσες ορίζει ο τελευταίος τελεστέος της εντολής. int i=0; int result = -; while ( i<0 ){ if ( result < arr[i] ){ result=arr[i]; result/=2; arr[i] -=result; I++; loop: go_on: done: add bge lw bge sub sw j $8 loop $8 400() 400() - 40 done go_on 4

while (((x>>2) & 0x0)!=0) { x = x>>; count *=2; if (count<0) break; /** * Δίνεται ότι η μεταβλητή * x * είναι στον και η count * στον $ **/ while: finish: and beq sll blt j $4 $5 $5 $ $ while $4 $ 0 2 finish finish Μέρος Β Έχετε διεξάγει ένα πείραμα λαμβάνοντας 5 μετρήσεις, διαφορετικού είδους και καταγράφοντας και τα αντίστοιχα σφάλματα ως αριθμούς κινητής υποδιαστολής. Σφάλματα και μετρήσεις έχουν αποθηκευτεί σε 2 μονοδιάστατους πίνακες στη μνήμη, σε πλήρη αντιστοιχία. Αυτό σημαίνει ότι έστω Μ ο πίνακας μετρήσεων και S ο πίνακας σφαλμάτων, τότε το σφάλμα της μέτρησης Μ[k θα είναι το S[k]. Οι δύο πίνακες βρίσκονται διαδοχικά και συνεχόμενα στη μνήμη. Κατασκευάστε πρόγραμμα σε assembly MIPS το οποίο:. Σε περίπτωση που η μέτρηση είναι μικρότερη του αντίστοιχου σφάλματος, η μέτρηση θα αντικαθίσταται από το μηδέν 2. Εντοπίζει ποια μέτρηση (k) είναι εκείνη στην οποία εντοπίζεται το μέγιστο σφάλμα ({k: S[k] > S[i] i [0,5), i k ) 3. Παράγει δύο συνεχόμενους πίνακες: a. Ο πρώτος (Α) θα περιέχει τη μέγιστη δυνατή τιμή κάθε μέτρησης η οποία προφανώς ορίζεται ως Α[i] = M[i]+S[i] b. Ο δεύτερος (B) την ελάχιστη τιμή που ορίζεται ως B[i] = M[i]-S[i] Σημειώνεται ότι ο πίνακας που κρατά τις μετρήσεις ξεκινάει από τη θέση 400 ενώ ο πίνακας Α ξεκινά από τη θέση μνήμης 800. Να παραδοθεί ο κώδικας των τριών μερών.

Λύση: $t,, 4 mtc, $f2 # μηδενίζουμε τον καταχωρητή #μέγιστου σφάλματος add $t3,, # μηδενίζουμε τον καταχωρητή #που κρατάει την τιμή του μέγιστου #σφάλματος zero_check: add $t2, $t, sll $t2, $t2, 2 lwc $f0, 400($t2) lwc $f, 460($t2) #5*4 = 60 byte παρακάτω είναι # το πρώτο σφάλμα c.lt.s $f, $f0 bct sfalma_mikrotero # σφάλμα < μέτρσηση? mtc, $f0 swc $f0, 400($t2) sfalma_mikrotero: c.lt.s $f, $f2 # σφάλμα < current_max_σφάλμα? bct check_next mov.s $f2, $f add $t3, $t, #επιλέγουμε τον $t3 ως τον δείκτη στη #μέτρηση με το μεγαλύτερο σφάλμα check_next: add.s $f4, $f0, $f swc $f4, 800($t2) sub.s $f4, $f0, $f swc $f4, 860($t2) $t, $t, - bge $t,, zero_check

Μέρος Γ Να γραφεί ρουτίνα σε MIPS η οποία δέχεται ως παραμέτρους ένα χαρακτήρα (στον καταχωρητή $a0) και την αρχική διεύθυνση ενός πίνακα S (στον καταχωρητή $a). Ο πίνακας περιέχει 00 χαρακτήρες. Η ρουτίνα διατρέχει τον πίνακα S και επιστρέφει στον καταχωρητή $v0 το πλήθος των εμφανίσεων του χαρακτήρα, που λήφθηκε ως όρισμα μέσω του $a0. Λύση: proc: $sp, $sp, -4 # μεγαλώνουμε τη στοίβα sw $ra, 0($sp) # αποθηκεύουμε τη διεύθυνση επιστροφής $t,, 99 #μετράμε από 0 έως 99 δίνει 00 add $s0,, #μετρητής πλήθους εμφανίσεων χαρακτήρα loop: lb $s, 0($a) bne $s, $a0 go_on $s0, $s0, go_on: $t, $t, - $a, $a, bge $t,, loop nop exit: add $v0, $s0, #επιστροφή αποτελέσματος στο $v0 lw $ra, 0($sp) $sp, $sp, 4 jr $ra #ανάκτηση της διεύθυνσης επιστροφής #μείωση στοίβας #επιστροφή στο σημείο κλήσης nop

Σημείωση: Για τη διευκόλυνσή σας, προτρέπουμε να χρησιμοποιήσετε τον προσομοιωτή Qtspim (http://spimsimulator.sourceforge.net/) Παραδοτέο της άσκησης θα είναι ηλεκτρονικό κείμενο (pdf, docs ή odt) που θα περιέχει τις απαντήσεις των τριών μερών. Στο ηλεκτρονικό κείμενο να αναφέρεται στην αρχή τα στοιχεία σας (όνομα, επώνυμο, ΑΜ). Το όνομα του παραδοτέου αρχείου θα πρέπει να είναι στη μορφή επίθετοχχχχχχχχ όπου Χ τα ψηφία του αριθμού μητρώου σας. Οι κώδικες που θα παραδοθούν ως απαντήσεις στο Β και Γ μέρος, οφείλουν να φέρουν αναλυτικά σχόλια για την κατανόηση της άσκησης από τους διδάσκοντες. Παράδοση στο: http://www.cslab.ece.ntua.gr/courses/comparch/submit