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

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

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

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

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

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

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

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

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

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

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;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

MIPS functions and procedures

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

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

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

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

ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Κεφ. 2 Εντολές: H γλώσσα μηχανής

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

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

Κεφάλαιο 2 Εντολές Η γλώσσα της Μηχανής (Instructions Language of the Computer)

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής

με έμφαση στο MIPS R2000

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

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

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

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

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής

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

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

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)

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

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

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση

και η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath

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

Chapter 3 Αριθμητική Υπολογιστών

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

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

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

Data-Level Parallelism Linking & Loading

-Επεξεργαστής: datapath (δίοδος δεδοµένων) (1) και control (2) -Μνήµη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!)

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

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

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 10: Επίδοση Επεξεργαστών, CPI. Μανόλης Γ.Η. Κατεβαίνης

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

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

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

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

ΠΛΕ- 027 Μικροεπεξεργαστές 5ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση ενός κύκλου

Transcript:

Κεφάλαιο 2 Ασκήσεις Άσκηση 1 Κώδικας C: f = g + h + B[4]; f = g A[B[4]]; f, g, h, στους $s0, $s1, $s2, και διευθύνσεις βάσης των πινάκων Α και Β στους $s6 και $s7 Ποιος είναι ο αντίστοιχος κώδικας MIPS; lw $s0, 16($s7) add $s0, $s0, $s1 add $s0, $s0, $s2 lw $t0, 16($s7) add $t0, $t0, $s6 lw $s0, 0($t0) sub $s0, $s1, $s0 Ποιο είναι το λάθος; #f = B[4] #f = B[4] + g #f = B[4] + g + h Σωστή λύση lw $t0, 16($s7) sll $t0, $t0, 2 add $t0, $t0, $s6 lw $s0, 0($t0) sub $s0, $s1, $s0 Εντολές: η γλώσσα του υπολογιστή 2

Άσκηση 2 Κώδικας C: f = -g + h + B[1]; f = A[B[g]+1]; f, g, h, στους $s0, $s1, $s2, και διευθύνσεις βάσης των πινάκων Α και Β στους $s6 και $s7 Ποιος είναι ο αντίστοιχος κώδικας MIPS; lw $s0, 4($s7) # f = B[1] sub $s0, $s0, $s1 add $s0, $s0, $s2 # f = B[1] - g # f = B[1] g + h sll $s1, $s1, 2 # $s1 = 4*g add $t0, $s7, $s1 lw $t0, 0($t0) sll $t0, $t0, 2 add $t0, $t0, $s6 lw $s0, 4($t0) # $t0 = διεύθυνση του B[g] # $t0 = B[g] # $t0 = 4*B[g] # $t0 = διεύθυνση του A[B[g]] # f = A[B[g]+1] Εντολές: η γλώσσα του υπολογιστή 3 Άσκηση 3 Καταχωρητές: a. $s0=0x70000000 $s1=0x0fffffff b. $s0=0x40000000 $s1=0x40000000 Ποιo είναι το αποτέλεσμα ($t0) των εντολών; add $t0, $s0, $s1 a. 7FFFFFFF, no overflow b. 80000000, overflow sub $t0, $s0, $s1 a. 60000001, no overflow b. 0, no overflow Εντολές: η γλώσσα του υπολογιστή 4

Άσκηση 4 Καταχωρητές: a. $t0=0x55555555 $t1=0x12345678 b. $t0=0xbeadfeed $t1=0xdeadfade Ποιo είναι το αποτέλεσμα ($t2) των εντολών; sll $t2, $t0, 4 or $t2, $t2, $t1 a. 0x57755778 b. 0xFEFFFEDE srl $t2, $t0, 3 andi $t2, $t2, 0xFFEF a. 0x0000AAAA b. 0x0000BFCD Εντολές: η γλώσσα του υπολογιστή 5 Άσκηση 5 Καταχωρητής $t0 31 i j 0 Πεδίο 32 i bit i j bit j bit Καταχωρητής $t1 31 i-j 0 0 0 0 0 0 0 Πεδίο 31 14+i-j 14 0 0 0 0 0 0 0 Πεδίο 0 0 0 0 0 0 Εντολές: η γλώσσα του υπολογιστή 6

Άσκηση 5 (συν.) Ακολουθία εντολών για την εξαγωγή του πεδίου από τον $t0 και την μεταφορά του στον $t1 για i=22 & j=5 add $t1, $t0, $0 srl $t1, $t1, 5 andi $t1, $t1, 0x0001ffff add $t1, $t0, $0 sll $t1, $t1, 9 andi $t1, $t1, 0x7fffc000 Ποιο είναι το λάθος στους παραπάνω κώδικες; Η άμεση τιμή της εντολής andi δεν μπορεί να είναι μεγαλύτερη από 16 bit Εντολές: η γλώσσα του υπολογιστή 7 Άσκηση 6 Υλοποιήστε σε συμβολική γλώσσα MIPS τους παρακάτω κώδικες C: Οι μεταβλητές a, b, c, d βρίσκονται στους καταχωρητές $S0, $S1, $S2, $S3 if (a < b) c = c + 1; d = d + 1; if (a > b) c = c + 1; d = d + 1; if (a <= b) c = c + 1; d = d + 1; if (a >= b) c = c + 1; d = d + 1; Εντολές: η γλώσσα του υπολογιστή 8

Άσκηση 6 (συν.) Μετάφραση ψευδοεντολών bge $rt, $rs, LABEL bgt $rt, $rs, LABEL ble $rt, $rs, LABEL blt $rt, $rs, LABEL slt $t0, $rt, $rs beq $t0, $zero, LABEL slt $t0, $rs, $rt bne $t0, $zero, LABEL slt $t0, $rs, $rt beq $t0, $zero, LABEL slt $t0, $rt, $rs bne $t0, $zero, LABEL Εντολές: η γλώσσα του υπολογιστή 9 Άσκηση 6 (συν.) Με χρήση των ψευδοεντολών if (a < b) bge $s0, $s1, fcond c = c + 1; addi $s2, $s2, 1 d = d + 1; fcond: addi $s3, $s3, 1 if (a <= b) bgt $s0, $s1, fcond c = c + 1; addi $s2, $s2, 1 d = d + 1; fcond: addi $s3, $s3, 1 if (a > b) ble $s0, $s1, fcond c = c + 1; addi $s2, $s2, 1 d = d + 1; fcond: addi $s3, $s3, 1 if (a >= b) blt $s0, $s1, fcond c = c + 1; addi $s2, $s2, 1 d = d + 1; fcond: addi $s3, $s3, 1 Εντολές: η γλώσσα του υπολογιστή 10

Άσκηση 7 Υλοποιήστε σε συμβολική γλώσσα MIPS τον παρακάτω βρόχο: a=$s0, b=$s1, i=$t0 Ποιος είναι ο συνολικός αριθμός των εντολών; for (i=0; i<10; i++) a = a + b; addi $t0, $0, 0 # i = 0 LOOP: add $s0, $s0, $s1 # a = a + b addi $t0, $t0, 1 # i++ slti $t2, $t0, 10 # if i < 10 bne $t2, $0, LOOP # go to Loop Συνολικός αριθμός εντολών: 41 Εντολές: η γλώσσα του υπολογιστή 11 Άσκηση 8 Υλοποιήστε σε συμβολική γλώσσα MIPS τον παρακάτω βρόχο: a=$s0, b=$s1, base address D=$s2 Ποιος είναι ο συνολικός αριθμός των εντολών που εκτελούνται εάν a=10; while (a < 10){ D[a] = b + a; a += 1; LOOP: slti $t2, $s0, 10 # if a>= 10 beq $t2, $0, DONE # go to DONE add $t3, $s1, $s0 # $t3 = b + a sll $t2, $s0, 2 # $t2 = 4*a add $t2, $s2, $t2 # διευθ. του D[a] sw $t3, ($t2) # D[a] = b + a addi $s0, $s0, 1 # a++ j LOOP # jump to Loop DONE: Συνολικός αριθμός εντολών: 2 Εντολές: η γλώσσα του υπολογιστή 12

Άσκηση 9 addi $t1, $0, 100 addi $s0, $s0, 4 subi $t1, $t1, 1 bne $t1, $0, LOOP addi $t1, $s0, 400 lw $s1, 4($s0) addi $s0, $s0, 8 bne $t1, $s0, LOOP Ποιος είναι ο συνολικός αριθμός των εντολών που εκτελούνται; Μεταφράστε τους παραπάνω βρόχους σε C. Υποθέστε ότι $t1 variable i, $s2 result, $s0 διεύθυνσης βάσης του πίνακα MemArray Ξαναγράψτε τους βρόχους ώστε να μειώσετε τον αριθμό των εντολών. Εντολές: η γλώσσα του υπολογιστή 13 Άσκηση 9 (συν.) addi $t1, $0, 100 addi $s0, $s0, 4 subi $t1, $t1, 1 bne $t1, $0, LOOP Συνολικός αριθμός εντολών: 501 j=0; for(i=100; i>0; i ){ result += MemArray[j]; j = j+1; addi $t1, $s0, 400 lw $s1, 4($s0) addi $s0, $s0, 8 bne $t1, $s0, LOOP Συνολικός αριθμός εντολών: 301 for(i=0; i<100; i+=2){ result += MemArray[i]; result += MemArray[i+1]; Εντολές: η γλώσσα του υπολογιστή 14

Άσκηση 9 (συν.) addi $t1, $0, 100 addi $s0, $s0, 4 subi $t1, $t1, 1 bne $t1, $0, LOOP Να χρησιμοποιήσουμε τον ίδιο καταχωρητή ($s0) για τον δείκτη του βρόχου (i) και του πίνακα (s0) και να ελέγχουμε εάν φτάσαμε στο τελευταίο στοιχείο του πίνακα addi $t1, $s0, 400 addi $s0, $s0, 4 bne $s0, $t1, LOOP addi $t1, $s0, 400 lw $s1, 4($s0) addi $s0, $s0, 8 bne $t1, $s0, LOOP Είναι ήδη βέλτιστος Εντολές: η γλώσσα του υπολογιστή 15 Άσκηση 10 Υλοποιήστε τον κώδικα σε συμβολική γλώσσα MIPS : int compare(int a, int b){ if (sub(a,b)>=0) return 1; else return 0; int sub (int a,int b){ return a-b; compare: addi $sp, $sp, 4 sw $ra, 0($sp) jal sub slt $v0, $v0, $zero slti $v0, $v0, 1 lw $ra, 0($sp) addi $sp, $sp, 4 jr $ra sub: sub $v0, $a0, $a1 jr $ra Εντολές: η γλώσσα του υπολογιστή 16