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

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

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

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

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

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

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

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

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

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

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

Συμβόλαιο Μαθήματος. Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών ΗΜΥ 213. Χρήση Ηλεκτρονικού Υπολογιστή. Αναμενόμενα Αποτελέσματα Μαθήματος

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εργαστήριο 2. Εαρινό Εξάμηνο Εντολές για είσοδο ακεραίων αριθμών από την κονσόλα:

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

ΤΠ 2108 Αρχιτεκτονική Υπολογιστών (Εργαστήριο) ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΚΡΗΤΗΣ. Σειρά Ασκήσεων 2

Ορισµός της Στοίβας Περίληψη H λειτουργία της Στοίβας (γενικά, αλλά και στο QtSpim pim) Η χρησιµότητα της Στοίβας στους Μικροεπεξεργαστές Κλήση συνάρτ

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

Spim Cache. Εισαγωγή στη χρήση του προσοµοιωτή. Αρχιτεκτονική Υπολογιστών ΙΙ. Σπύρος Ξεργιάς, ηµήτρης Γκιζόπουλος, Πανεπιστήµιο Αθηνών

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

Εργαστήριο Αρ. 1. Εισαγωγή στην Αρχιτεκτονική MIPS. Πέτρος Παναγή Σελ. 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σχεδιασμός Αποκωδικοποιητή και υλοποίηση του στο Logisim και στο Quartus. Εισαγωγή στο Logisim

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στην Αριθμητική Ανάλυση

Διάλεξη 12 Καθυστερήσεις (Stalls)

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

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

Διοχέτευση (Pipeline)

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;

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

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

Transcript:

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών Εργαστήριο 1 Διδάσκων: Δρ. Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy www.ece.ucy.ac.cy/courses/ece213

Εγκατάσταση και Λειτουργία QtSpim 9.1.17 Κατεβάστε το πρόγραμμα QtSpim9.1.17 από τον σύνδεσμο που υπάρχει στην ιστοσελίδα: http://spimsimulator.sourceforge.net/ Εγκαταστήστε το και στη συνέχεια ελέγξτε την ορθή του λειτουργία τρέχοντας το αρχείο hello wordκαι ως αποτέλεσμα δείτε αυτή τη φράση στο παράθυρο Console. Βοήθεια: File/load file (επιλέξτε το αρχείο) και μετά Simulator/Run-Continue (τρέξτε το αρχείο). Αν δεν βλέπετε το hello word επιλέξτε Window/Console. Τρέξτε επίσης τα 2 αρχεία add2numbers.s αρχικά με το Run και μετά με Single Stepsπαρατηρώντας τις τιμές των καταχωρητών PC, v0, a0, t1, t2 και t3. 2

QtSpim 9.1.17 (for windows) 3

Από το Πρόβλημα στη Λύση! Κατά την επίλυση οποιουδήποτε προβλήματος, συνειδητά ή όχι, πάντοτε ακολουθούμε κάποια στάδια μέχρι που να φτάσουμε στην επιθυμητή λύση. Σε προβλήματα προγραμματισμού, συνήθως ακολουθούνται τα εξής στάδια: 1. Κατανόηση του προβλήματος 2. Ανάλυση προβλήματος (είσοδοι, έξοδοι, σταθερές, μεταβλητές) 3. Βήματα προς επίλυση του προβλήματος 4. Συγγραφή κώδικα για το κάθε βήμα 5. Έλεγχος κώδικα βήμα προς βήμα 6. Τελικός έλεγχος κώδικα 4

Διάγραμμα Ροής Προγράμματος Flow - Chart Το διάγραμμα ροής είναι πολύ βοηθητικό στην επίλυση ενός προβλήματος αφού μας βοηθά να δούμε και οπτικά την πορεία επίλυσης του προβλήματος και να κατανοήσουμε καλύτερα τον κώδικα που πρέπει να γράψουμε για το κάθε ένα από τα βήματα που πρέπει να ακολουθήσουμε. Η επιλογή του αριθμού των βημάτων εξαρτάται από το ίδιο το πρόβλημα αλλά και από το πόσο αναλυτικό επιθυμούμε εμείς να το σχεδιάσουμε. Πρέπει τουλάχιστο να περιέχει όλους τους ελέγχους (beq/bne/bhi) όπως και τυχόν αλληλεπίδραση με τον χρήστη. Ας σχεδιάσουμε το πρώτο μας Διάγραμμα Ροής βάσει του παραδείγματος add2numbers.s 5

Παραδείγματα εντολών li $t1, 0x10 # Register $t1 = 16 = 10hex lb $t2, 0x12345678 # Reg. $t2=περιεχόμενα μνήμης (0Χ12345678) lw $t2, 0x12345678 #$t2=περιεχόμενα μνήμης (0Χ12345678/9/a/b) la $a0, welcome # Register $a0 = address of welcome message move $t4, $v0 #Register $t4 = Register $v0 add $t3, $zero, $t2 #Register $t3 = Register $t2 + 0 addi $t3, $t4, 1 #Register $t3 = Register $t4 + 1 ori $t3, $t4, 0x12 #Register $t3 = Reg. $t4 OR0001 0010 andi $t5, $t6, 255 #Register $t5 = Reg. $t6 AND1111 1111 6

Παραδείγματα εντολών xor $t6, $t6, $t6 # Register $t6 = Reg. $t6 XORReg. $t6 = 0 sll $t7, $t6, 3 #Register $t7 = Reg. $t6 <<< 3 = $t6 * 8 srl $t5, $t3, 5 #Register $t5 = Reg. $t3 >>> 5 = $t3 / 32 beq $t6, $t5, finals # If Reg $t6 = $t5, PC = address finals bne $t7, $t6, again #If Reg $t7 $t6, PC = address again beqz $t8, exit_now #If Reg $t8 = 0, PC = address exit_now bgt $t6, $t5, loop1 b step2 j step2 #If Reg $t6 > $t5, PC = address loop1 # PC = address step2 (πιο γρήγορη εντολή) # PC = address step2 (χωρίς περιορισμό) 7

Δημιουργία αρχείου add2numbers.s (Πρόσθεση 2 αριθμών και εκτύπωση αποτελέσματος) # your details with a description of the code.data result_is:.asciiz The result is:\n.text main: li $t1, 10 # load t1 with 10 li $t2, 7 # load t2 with 7 add $t3, $t1, $t2 # add t1 and t2 ->t3 8

Πρόσθεση 2 αριθμών και εκτύπωση αποτελέσματος (συνέχεια.) li$v0, 4 la $a0, result_is syscall li$v0, 1 move $a0, $t3 syscall li$v0, 10 syscall # syscall to print string # syscallto print an integer # syscall to exit programme # press enterto keep SPIM HAPPY! 9

Εκτέλεση Κώδικα 10

Εκτέλεση Κώδικα 11

Μαθησιακοί Στόχοι 1 ου Εργαστηρίου Κατανόηση τρόπου μελέτης για το ΗΜΥ213 Εγκατάσταση και βασική χρήση του προσομοιωτή QtSpim 9.1.17 στον υπολογιστή σας. Δομή προγράμματος (.s file) Κλήσεις συστήματος: 1, 4, 5, 10 Εντολές:li, la, add και move (σύνταξη και αποτέλεσμα εκτέλεσης της κάθε εντολής) Εντολές λογικών πράξεων και διακλάδωσης 12