Περίληψη

14
Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΗΜΥ 213 - Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών 1 Μικροεπεξεργαστές MIPS-32 και Προσομοιωτές SPIM και XSPIM (σε περιβάλλον Linux) (Εργαστήριο 1)

description

Μικροεπεξεργαστές MIPS-32 και Προσομοιωτ έ ς SPIM και X SPIM ( σε περιβάλλον Linux) ( Εργαστήριο 1). 1. Περίληψη. Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32 Προσομοιωτές SPIM και Χ SPIM (Simulators) Α ssembly Language και Γλώσσα Μηχανής Βασικές εντολές σε περιβάλλον Linux. 2. - PowerPoint PPT Presentation

Transcript of Περίληψη

Page 1: Περίληψη

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

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

11

Μικροεπεξεργαστές MIPS-32 και Προσομοιωτές SPIM και XSPIM (σε περιβάλλον Linux)

(Εργαστήριο 1)

Page 2: Περίληψη

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

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

22

Περίληψη

Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32

Προσομοιωτές SPIM και ΧSPIM (Simulators)

Αssembly Language και Γλώσσα Μηχανής

Βασικές εντολές σε περιβάλλον Linux

Page 3: Περίληψη

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

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

33

Αρχιτεκτονική Μικροεπεξεργαστή (MIPS-32)

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

Καταχωρητές

Αριθμητική (Λογική) Μονάδα

Ειδικά Κυκλώματα

Βοηθητική Μονάδα Επεξεργασίας

Καταχωρητές ειδικής χρήσης

Μνήμη

Page 4: Περίληψη

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

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

44

Χάρτης Μνήμης (MIPS-32)

Στοίβα Δηλώσεις Εντολές

προγράμματος* Κάθε θέση

μνήμης κρατά 8 bits, ενώ κάθε καταχωρητής 32 bits (4 Bytes)

Page 5: Περίληψη

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

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

55

Προγραμματισμός Μικροεπεξεργαστή

Οι μικροεπεξεργαστές συνοδεύονται από ένα σύνολο εντολών το οποίο υποστηρίζουν.

Συνήθως υπάρχουν μικροδιαφορές στην σύνταξή μιας εντολής μεταξύ κατασκευαστών αλλά και οικογενειών μικροεπεξεργαστών.

Η πιο πάνω γλώσσα είναι γνωστή ως “Assembly” και στόχο έχει να διευκολύνει τον προγραμματιστή o οποίος δεν χρειάζεται να προγραμματίζει σε γλώσσα μηχανής (machine code) η οποία είναι δυσνόητη. Αυτό επιτυγχάνεται με τη χρήση ενός εργαλείου «assembler» το οποίο μεταφράζει στην ουσία τις εντολές μας σε κώδικα μηχανής (αποτελούμενο από 0 και 1).

Page 6: Περίληψη

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

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

66

Δομή Αρχείου προσομοίωσης

# Στοιχεία προγραμματιστή/κώδικα.data

Δηλώσεις (.asciiz, .byte, .word)

.textmain: Αρχικοποιήσεις

Εντολές Προγράμματος

# Καινή γραμμή για να τρέξει ο κώδικας

Page 7: Περίληψη

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

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

77

Κλήσεις Συστήματος (System Calls)

li $v0, 4 # syscall code for printing a string

la $a0, str # address of string to print

li $v0, 1 # syscall code for printing an integer

la $a0, 5 # integer (5) to print

li $v0, 10 # syscall code to exit programme

syscall # completes system call

Page 8: Περίληψη

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

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

8

Δημιουργία νέων φακέλων και αρχείων στο Linux

1. Ανοίξτε ένα παράθυρο Terminal και μπείτε στον επιθυμητό φάκελο εργασίας

2. Πληκτρολογήστε mkdir foldername για δημιουργία νέου φακέλου, cd foldername για αλλαγή του φακέλου εργασίας και στην συνέχεια cat > filename.s για να δημιουργήσετε το αρχείο σας.

3. Ανοίξτε τώρα το νέο σας αρχείο με emacs text editor και γράψτε το πρόγραμμα σας!

Page 9: Περίληψη

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

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

99

Δημιουργία αρχείου “prosthesi.s” (Πρόσθεση 2 αριθμών και εκτύπωση

αποτελέσματος)

# your name

.dataout_string: .asciiz “The result is:\n”

.textmain:

li $t1, 10 # load t1 with 10li $t2, 5 # load t2 with 5add $t3, $t1, $t2 # add t1 and t2 -

>t3

Page 10: Περίληψη

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

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

10

Δημιουργία αρχείου “prosthesi.s” (Πρόσθεση 2 αριθμών και εκτύπωση

αποτελέσματος)

li $v0, 4la $a0, out_stringsyscall # syscall to print stringli $v0, 1 move $a0, $t3syscall # syscall to print an integerli $v0, 10 syscall # syscall to exit programme# press enter to keep SPIM HAPPY!

Page 11: Περίληψη

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

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

1111

Εξοικείωση με το SPIM (for Linux)

1. Log-in σε λειτουργικό Linux2. Ανοίξτε ένα παράθυρο εργασίας

Terminal3. Mε την εντολή CD (change

directory) βρέστε τoν φάκελο εργασίας σας (cd Desktop / cd HMY213 / cd week1)

4. spim - ξεκινά τον προσομοιωτή 5. read “prosthesi.s” – διαβάζει το

αρχείο6. run – τρέχει τον κώδικα!

Page 12: Περίληψη

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

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

1212

Εξοικείωση με το GUI του ΧSPIM (for Linux)

Ο προσομοιωτής ΧSPIM μας παρέχει τη δυνατότητα να βλέπουμε άμεσα το περιεχόμενο ενός καταχωρητή ή μιας θέσης μνήμης.

Πληκτρολογώντας ΧSPIM μέσα στο Terminal, επιλέξτε <load>, γράψτε τo όνομα του αρχείου και επιλέξτε <assembly file>.

Με την επιλογή <run> μπορείτε να τρέξετε όλο τον κώδικα σας, ενώ με το <step> ο κώδικας σας τρέχει βηματικά (εντολή με εντολή)

Page 13: Περίληψη

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

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

1313

Μερικές Εντολές Linux

bash / pwd / cd mkdir / cat > read / run / exit locate / whoami / date

Page 14: Περίληψη

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

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

1414

Μαθησιακοί στόχοι - Εργαστήριο 1

1. Αρχιτεκτονική MIPS-32 (CPU, Registers, Memory, Co-

proc.)

2. Προσομοιωτές SPIM και ΧSPIM (Άνοιγμα και τρέξιμο κώδικα

στο SPIM και στο ΧSPIM)

3. Αssembly Language και Γλώσσα Μηχανής (Δομή αρχείου

προσομοίωσης και κλήσεις συστήματος - assembler)

4. Βασικές εντολές σε περιβάλλον Linux (Δημιουργία νέων

φακέλων και αρχείων + bash, pwd, locate, whoami, date)