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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κάθε functional unit χρησιμοποιείται μια φορά σε κάθε κύκλο: ανάγκη για πολλαπλό hardware = κόστος υλοποίησης!

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

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;

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

Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου. Ενδέκατη (11 η ) δίωρη διάλεξη.

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

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

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

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

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΟΙ ΚΑΤΑΧΩΡΗΤΕΣ ΚΑΙ Η ΥΛΟΠΟΙΗΣΗ ΤΟΥΣ ΜΕ FLIP-FLOP ΚΑΙ ΠΥΛΕΣ

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

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

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

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

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

Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου

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

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

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών. Data. Κείμενο. Βίντεο. Αριθμοί Εικόνες. Ήχοι

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

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

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

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

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

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

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

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

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Μεταγλώτιση, σύνδεση

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

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

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

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

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

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

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86

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

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

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

Διάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing)

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

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

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

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

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

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

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

Μετατροπή χαρακτήρων ASCII σε ακέραιο αριθµό (atoi) & Άνοιγµα αρχείου µέσα από τo QtSPIM, διάβασµα, και αποθήκευση του περιεχοµένου του στη µνήµη

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

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

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

Transcript:

Τρόποι Διευθυνσιοδότησης στους Μικροεπεξεργαστές MIPS-32 (Διάλεξη 2) 1

Τρόποι Διευθυνσιοδότησης Η διεύθυνση μνήμης μπορεί να δηλωθεί με 6 τρόπους : 1. Περιεχόμενο καταχωρητή: 2. Άμεση τιμή: 3. Άμεση τιμή + περιεχόμενο lw $t1, ($t2) lb $t1, 0x10abcdef καταχωρητή: lw $t1, 28($t2) περιεχόμενο καταχωρητή 4. Διεύθυνση που αντιστοιχεί σε ετικέτα users : lb $t2, users 5. Διεύθ. ετικέτας +/- άμεση τιμή: lb $t3, users+3 6. Διεύθυνση ετικέτας +/- (άμεση τιμή + περιεχόμενο καταχωρητή: lb $t4, spaces-2($t2) 2

Χάρτης Μνήμης (Παράδειγμα) ΔΙΕΥΘΥΝΣΗ ΑΒ Ε3 Β1 33 0x10000018 (Data) Περιεχόμενα Διεύθυνσης Μνήμης 0x1000001B 99 88 ΒΒ 10 77 66 ΕΕ 20 21 32 55 30 34 56 ΑΑ 40 0x10000014 0x10000010 0x1000000C 0x10000008 54 2Α 3Β 22 0x10000004 ΕΑ ΑΒ 23 11 0x10000000

Εντολές Load και Store Έστω ότι $t6 = 0x10000004, σκεφτείτε τι αλλάζει πιο κάτω 1. lb $t1, 2($t6) 2. lw $t2,, 0x1000000C 3. lw $t3,, 4($t6) 4. lw $t4,, 12($t6) 5. la $t5, 0x10000014 6. sw $t3,, 0x1000000 10000004 7. sw $t4, 16($t6) 8. sb $t5, 0x10000003 4

Αποτελέσματα Εντολών 1. $t1=0 =0x0000002A = 2A 2. $t2=0xbbee00aa 3. $t3=0x10203040 4. $t4=0x88663256 5. $t5=0x10000014 6. 0x1000000 10000004/ 4/5/6/7 = 40 30 20 10 7. 0x10000014/ 4/5/6/7 = 56 32 66 88 8. 0x10000003 = 14

Χάρτης Μνήμης (Μετά την εκτέλεση των εντολών) (Data) Περιεχόμενα Διεύθυνσης Μνήμης 0x1000001B ΑΒ 88 88 ΒΒ 10 10 14 Ε3 66 66 ΕΕ 20 20 ΑΑ Β1 32 32 55 30 30 23 33 56 56 ΑΑ 40 40 11 ΔΙΕΥΘΥΝΣΗ 0x10000018 0x10000014 0x10000010 0x1000000C 0x10000008 0x10000004 0x10000000

Δηλώσεις Μεταβλητών 1..data 2. users:.byte 1, 2, 3, 4, 5, 6 3. time:.word 20, 30, 40, 50 4. results:.space 1000 5..text 6. main 7

Μετάβαση (Επανάληψη) υπό προϋποθέσεις Branch if equal Branch if zero Branch if not equal Branch if greater beq rs, rt, label beqz reg1, label bne rs, rt, label bgt reg1, reg2, label Ποια η διαφορά μεταξύ bgt και bgtu; Μετάβαση χωρίς προϋποθέσεις μπορεί να γίνει με τις εντολές Jump και Branch Ποια η διαφορά μεταξύ Jump και Branch; 8

Άσκηση 1 Γράψτε ένα μικρό πρόγραμμα (1-3 εντολές) με το οποίο μπορείτε να ανιχνεύσετε την τιμή του δυαδικού ψηφίου στη θέση 7 της θέσης μνήμης 0Χ23450009 εάν το λιγότερο σημαντικό ψηφίο είναι αυτό που βρίσκεται στη θέση 0. lb $t1, 0x23450009 andi $t1, $t1, 0x80 # 0x80 = 1000 0000 beqz $t1, bit_was0 # if bit was 1 συνεχίζει εδώ το πρόγραμμα # if bit was 0 θα συνεχίσει στο bit_was0: 9

Άσκηση 2 Γράψτε με 2 διαφορετικούς τρόπους (addressing modes) μικρά προγράμματα (1-3 εντολές το καθένα) που να φορτώνουν μόνο το περιεχόμενο της θέσης μνήμης 0Χ18000081 στον καταχωρητή $t1. 1. lb $t1, 0Χ18000081 2. la $t2, 0Χ18000081 lb $t1, 0($t2) 3. la $t3, 0Χ1800007F lb $t1, 2($t3) 10

Άσκηση 3 Συμπληρώστε τις εντολές srl, και and, έτσι ώστε ηκάθεεντολήνα μηδενίζει τον καταχωρητή $t1. srl $t1 $t1, 32 # ή 0x20 and $t1, $t1, $zero 11

Άσκηση 4 Εξηγήστε την εντολή srl $t5, $t4, 8 εάν τα περιεχόμενα των καταχωρητών πριν την εκτέλεση της είναι ως ακολούθως: $t4 = 00F0Α012 και $t5 = 03706 Β2Ε. Ποιο θα είναι το αποτέλεσμα; Κάνει δεξιά ολίσθηση κατά 8 μπιτς στο περιεχόμενο του $t4 και αποθηκεύει το αποτέλεσμα στον $t5. 00F0A012 >> 8 bits, άρα 2 ψηφία Hex: $t5 = 0000F0A0 12

Άσκηση 5 Δίνονται τα περιεχόμενα των καταχωρητών ως ακολούθως: $t6 = 1200F0Α0 και $t7 = 0Β23706Ε. Εξηγήστε την εντολή andi $t6, $t7, 0X17 και υπολογίστε τα περιεχόμενα του καταχωρητή στον οποίο θα αποθηκευτεί το αποτέλεσμα. Λογική πράξη and μεταξύ του περιεχομένου του $t7 και της τιμής 0X17. Αποθήκευση του αποτελέσματος στον $t6. 0Β23 706Ε 0110 1110 0000 0017 and όπου ΧΧ είναι: 0001 0111 and 0000 00ΧΧ 0000 0110 Άρα $t6 = 0Χ00000006 13

Άσκηση 6 Δίνονται τα περιεχόμενα των καταχωρητών ως ακολούθως: $t3 = 12F400Α0, $t4 = 7890Β800, $t5 = 00007800. Εξηγήστε την εντολή xor $t3, $t4, $t5 και υπολογίστε τα περιεχόμενα του καταχωρητή στον οποίο θα αποθηκευτεί το αποτέλεσμα. Λογική πράξη xor ανα μπίτ. Αν το 1 μπιτ είναι μηδέν ηέξοδος= με το άλλο μπίτ. Άρα με xor μεταξύ $t4 και $t5, το αποτέλεσμα θα είναι: 7890??00, όπου?? = xor μεταξύ Β8 και 78 που δίνει C0. Το αποτέλεσμα θα αποθηκευτεί στον $t3 και είναι: 7890 C0 00 14

Άσκηση 7 Εάν οι θέσεις μνήμης 0Χ34560000 έως 0Χ34560009 έχουν αποθηκευμένες τις τιμές (HEX) Α0, Α1, Α2, Α3, Α4, Α5, Β6, Β7, Β8 και Β9 αντίστοιχα, υπολογίστε τα περιεχόμενα των καταχωρητών μετά την εκτέλεση των εντολών: lb $t5, 0X34560007 lw $t7, 0X34560004 $t5 = 00 00 00 B7 $t7 = B7 B6 A5 A4 15

Άσκηση 8 Ποιες διευθύνσεις μνήμης θα αλλάξουν περιεχόμενο μετά την εκτέλεση των πιο κάτω εντολών; Καθορίστε επίσης το νέο τους περιεχόμενο σε δεκαεξαδική μορφή εάν $t8 = 0Χa12bc34d. 1. sb $t8, 0X20000004 2. sw $t8, 0X20000008 1. Ηθέσημνήμης 0X20000004 θα γίνει 4d 2. Οι θέσεις μνήμης 0X20000008, 0X20000009, 0X2000000Α, και 0X2000000Β, θα γίνουν 4d, c3, 2b, και a1 αντίστοιχα 16