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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

1 ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - VHDL ΥΛΙΚΟ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ενότητα 3 Αρχιτεκτονικές Συνόλου Εντολών με έμφαση στο MIPS R2000 Καθηγητής Αντώνης Πασχάλης 2017

2 Γενικές Γραμμές Βασικές Αρχιτεκτονικές Συνόλου Εντολών RISC vs CISC Τύποι και Μεγέθη Τελεστέων Προσημασμένοι Πραγματικοί Δυαδικοί Αριθμοί (ΙΕΕΕ 754) Αρχιτεκτονική MIPS R2000 Ευθυγράμμιση των Διευθύνσεων Αρχείο Καταχωρητών Γενικής Χρήσης MIPS R2000 Κωδικοποίηση Eντολών MIPS R2000 Τρόποι Διευθυνσιοδότησης Μνήμης Δεδομένων MIPS R2000 PC-Σχετική Διευθυνσιοδότηση Μνήμης Εντολών Υποστηριζόμενες Εντολές του MIPS R2000

3 Αρχιτεκτονική Συνόλου Εντολών Ανάκληση εντολής Αποκωδικοποίηση εντολής Ανάκληση τελεστέου Εκτέλεση εντολής Αποθήκευση αποτελέσματος Επόμενη εντολή Tελεστέοι (operands) εντολών που βρίσκονται αποθηκευμένοι; πόσοι είναι σε μία εντολή; τύποι και μεγέθη τελεστέων τρόποι διευθυνσιοδότησης Κατηγορίες Λειτουργιών (εντολών) RISC και CISC Η επόμενη εντολή που εκτελείται μεταπήδηση διακλάδωση κλήση και επιστροφή από διαδικασία κλήση και επιστροφή από διακοπή Μορφή & κωδικοποίηση συνόλου εντολών πως γίνεται η αποκωδικοποίηση; Αλληλεπίδραση με μεταγλωττιστές

4

5 Βασικές Αρχιτεκτονικές Συνόλου Εντολών ταξινόμηση η ανάλογα με το που βρίσκονται αποθηκευμένοι οι τελεστέοι Σαν τελεστέοι (operands) ορίζονται τα δεδομένα που χρησιμοποιούνται κατά την εκτέλεση μίας πράξης καθώς και το αποτέλεσμα της πράξης Έμμεση αποθήκευση σε Στοίβα (Stack) οι τελεστέοι αποθηκεύονται έμμεσα στη στοίβα, πριν και μετά την εκτέλεση της πράξης οι εντολές φόρτωσης από τη μνήμη στη στοίβα (PUSH) και αποθήκευσης από τη στοίβα στη μνήμη (POP) προσδιορίζουν 1 τελεστέο που αποθηκεύεται άμεσα στη μνήμη και 1 τελεστέο που αποθηκεύεται έμμεσα στη στοίβα οι εντολές εκτέλεσης πράξεων δεν προσδιορίζουν άμεσα κανένα τελεστέο, γιατί και οι 3 τελεστέοι προσδιορίζονται έμμεσα στη στοίβα Έμμεση αποθήκευση σε Συσσωρευτή (Accumulator) ο ένας από τους δύο τελεστέους πριν την εκτέλεση της πράξης καθώς και το αποτέλεσμα της πράξης αποθηκεύονται έμμεσα στο συσσωρευτή που είναι ένας καταχωρητής ειδικού σκοπού όλες οι εντολές προσδιορίζουν 1 τελεστέο που αποθηκεύεται άμεσα στη μνήμη και 1 τελεστέο που αποθηκεύεται έμμεσα στο συσσωρευτή

6 Βασικές Αρχιτεκτονικές Συνόλου Εντολών ταξινόμηση ανάλογα με το που βρίσκονται αποθηκευμένοι οι τελεστέοι Άμεση αποθήκευση σε καταχωρητή και μνήμη Αρχιτεκτονική καταχωρητή - μνήμης για αύξηση της απόδοσης, χρησιμοποιείται ένα αρχείο καταχωρητών γενικού σκοπού, αντί να χρησιμοποιηθεί αποκλειστικά ο συσσωρευτής όλες οι εντολές προσδιορίζουν 1 τελεστέο που αποθηκεύεται άμεσα σε έναν καταχωρητή του αρχείου καταχωρητών και 1 τελεστέο που αποθηκεύεται άμεσα στη μνήμη Άμεση αποθήκευση σε πολλούς (2 ή 3) καταχωρητές Αρχιτεκτονική LOAD - STORE για περαιτέρω αύξηση της απόδοσης, οι εντολές φόρτωσης από τη μνήμη στο αρχείο καταχωρητών (LOAD) και αποθήκευσης από το αρχείο καταχωρητών στη μνήμη (STORE) διαχωρίζονται από τις εντολές εκτέλεσης πράξεων που χρησιμοποιούν αποκλειστικά το αρχείο καταχωρητών οι εντολές LOAD και STORE προσδιορίζουν 1 τελεστέο που αποθηκεύεται άμεσα σε έναν καταχωρητή του αρχείου καταχωρητών και 1 τελεστέο που αποθηκεύεται άμεσα στη μνήμη οι εντολές εκτέλεσης πράξεων προσδιορίζουν 3 τελεστέους που αποθηκεύονται άμεσα σε 2 (ή 3) καταχωρητές του αρχείου καταχωρητών

7 Σημειογραφία Α σαν τελεστέος σε εντολή = η διεύθυνση της θέσης μνήμης με περιεχόμενο Mem[A] στην οποία είναι αποθηκευμένος ο τελεστέος Reg[R1] = το περιεχόμενο του καταχωρητή R1

8 Έμμεση Αποθήκευση σε Στοίβα A B C Μνήμη Mem[Α] Mem[B] PUSH A Mem[A] 1 Top of stack PUSH B Mem[B] Mem[A] 1 Μνήμη Mem[A] Mem[B] A B C Στοίβα Στοίβα Οι δύο πιο πάνω λέξεις εξέρχονται από τη στοίβα, προσθέτονται στην ΑΛΜ και αποθηκεύονται στην TOS Mem[C] = Mem[A] + Mem[B] A B C Μνήμη Mem[A] Mem[B] ADD Mem[A]+Mem[B] 1 Top of stack POP C 1 Μή Μνήμη Mem[A] Mem[Β] Mem[C] A B C Στοίβα Στοίβα

9 Έμμεση Αποθήκευση σε Συσσωρευτή (Accumulator) A Μνήμη Mem[Α] LOAD A A Μνήμη Mem[Α] ADD B B C Mem[B] ΑΛΜ Mem[A] AC B C Mem[B] ΑΛΜ Mem[A]+Mem[B] AC A B Μνήμη Mem[Α] Mem[B] STORE C ΑΛΜ Η εντολή LOAD Α φορτώνει το Mem[A] στον AC Η εντολή ADD B προσθέτει τον ΑC με το Mem[B] και αποθηκεύει το αποτέλεσμα της πρόσθεσης πάλι στον AC Ο AC χρησιμοποιείται σαν καταχωρητής του δεύτερου τελεστέου της ALM κατά την εκτέλεση της πρόσθεσης Η εντολή STORE C αποθηκεύει τον AC στο Mem[C] C Mem[C] Mem[C] = Mem[A] + Mem[B] AC Mem[A]+Mem[B] Mem[C] Mem[A] + Mem[B]

10 Άμεση Αποθήκευση σε Καταχωρητή & Μνήμη A Μνήμη Mem[Α] LOAD R1,A A Μνήμη Mem[Α] ADD R1,B B C Mem[B] ΑΛΜ Mem[A] R1 B C Mem[B] R1 ΑΛΜ Mem[A]+Mem[B] A B Μνήμη Mem[Α] Mem[B] STORE C,R1 ΑΛΜ Χρησιμοποιείται κάποιος καταχωρητής γενικής χρήσης (π.χ. R1) αντί του συσσωρευτή AC για να αποθηκευθεί το Mem[A] καθώς και το αποτέλεσμα της πρόσθεσης Mem[A]+Mem[B] C Mem[C] Mem[C] = Reg[R1] = Mem[A] + Mem[B] R1 Mem[A]+Mem[B]

11 A Μνήμη Mem[Α] Άμεση Αποθήκευση σε 2 Καταχωρητές LOAD R1,A A Μνήμη Mem[Α] LOAD R2,B B Mem[B] R2 B Mem[B] Mem[B] R2 C ΑΛΜ C ΑΛΜ Mem[A] R1 Mem[A] R1 A Μνήμη Mem[Α] ADD R1,R2 R2 Mem[B] A Μνήμη Mem[Α] B Mem[B] B C ΑΛΜ C Mem[C] R1 Mem[A]+Mem[B] Mem[B] R2 Mem[B] R1 STORE C,R1 ΑΛΜ Mem[A]+Mem[B] Mem[C] = Reg[R1] = Mem[A] + Mem[B] R1,R2: καταχωρητές γενικής χρήσης

12 A B C Μνήμη Mem[Α] Mem[B] Άμεση Αποθήκευση σε 3 Καταχωρητές LOAD R1,A A Μνήμη Mem[Α] LOAD R2,B R1 R2 R1 R2 Mem[A] B Mem[B] Mem[A] ΑΛΜ C ΑΛΜ Mem[B] R3 R3 A B Μνήμη Mem[Α] Mem[B] R1 ADD R3,R1,R2 R2 A B Μνήμη Mem[Α] R1 STORE C,R3 Mem[A] Mem[B] Mem[B] Mem[A] Mem[B] C ΑΛΜ C R3 Mem[A]+Mem[B] Mem[C] R3 R2 ΑΛΜ Mem[A]+Mem[B] Mem[C] = Reg[R3] = Mem[A] + Mem[B] R1,R2,R3: καταχωρητές γενικής χρήσης

13 Συγκρίσεις Αρχιτεκτονικών Συνόλου Εντολών Αριθμός Bytes ανά εντολή Αριθμός εντολών ανά πρόγραμμα Αριθμός κύκλων ανά εντολή, CPI(j)

14 Συγκρίνοντας Αριθμό Εντολών ανά Πρόγραμμα Η ακολουθία εντολών σε Assembly για το (C = A + B) και για τις τέσσερις αρχιτεκτονικές συνόλου εντολών Κατ. Γεν. Χρήσης Κατ. Γεν. Χρήσης Στοίβα Συσσωρευτής (καταχωρητής-μνήμη) (2 & 3 καταχωρητές) Push A Load A Load R1,A Load R1,A Load R1,A Push B Add B Add R1,B Load R2,B Load R2,B Add Store C Store C, R1 Add R1,R2 Add R3,R1,R2 Pop C Store C,R1 Store C,R3 Το αποτέλεσμα της πρόσθεσης αποθηκεύεται στον R1 πάλι. Στον R1 αποθηκεύονται: α) το Mem[Α] πριν την εκτέλεση της εντολής, και β) το αποτέλεσμα Mem[A]+Mem[B] μετά την εκτέλεση της εντολής

15 Άσκηση η 3.1 Ποια είναι η ακολουθία των εντολών σε Assembly που υπολογίζουν τις αριθμητικές παράστασεις Υ = Α + [10 x (B - C)] Υ = (Α+10) x (B-C) όπου τα Υ, Α, Β, C είναι διευθύνσεις μνήμης, για όλες τις βασικές αρχιτεκτονικές συνόλου εντολών

16

17 Συγκρίσεις Αρχιτεκτονικών Συνόλου Εντολών με Καταχωρητές Γενικής Χρήσης Άμεση αποθήκευση σε 3 καταχωρητές (RISC: SPARC, MIPS, PowerPC, ALPHA) Πλεονεκτήματα Σταθερή κωδικοποίηση εντολής Υποστήριξη απλών εντολών που απαιτούν απλούστερη υλοποίηση και εκτελούνται πολύ γρήγορα στον επεξεργαστή Μειονεκτήματα Μεγαλύτερο πλήθος εντολών ανά πρόγραμμα (το μειονέκτημα αυτό αντιμετωπίζεται με την παρούσες τεχνολογικές εξελίξεις στο σύστημα μνήμης σε χρόνο προσπέλασης μνήμης, μέγεθος και κόστος) Σπατάλη ψηφίων κατά την κωδικοποίηση των εντολών RISC: Περισσότερες απλές εντολές στο σύστημα μνήμης

18 Συγκρίσεις Αρχιτεκτονικών Συνόλου Εντολών με Καταχωρητές Γενικής Χρήσης Άμεση αποθήκευση σε καταχωρητή & μνήμη (CISC: Intel80x86, Motorola 68000) Πλεονεκτήματα Μικρότερο πλήθος εντολών ανά πρόγραμμα με την υποστήριξη σύνθετων εντολών Μεγαλύτερη πυκνότητα εντολών χωρίς σπατάλη ψηφίων κατά την κωδικοποίηση Μειονεκτήματα Υποστήριξη σύνθετων εντολών που απαιτούν πιο πολύπλοκη υλοποίηση (ιδίως της μονάδας ελέγχου με τη χρήση τεχνικών μικροπρογραμματισμού, όπου οι σύνθετες εντολές αντιστοιχούν σε πολλές μικρο-εντολές, που αποθηκεύονται στη μνήμη μικρο-προγράμματος) CISC: Λιγότερες σύνθετες εντολές στο σύστημα μνήμης που αντιστοιχούν σε πολλές απλές μικρο-εντολές στη μνήμη του μικρο-προγράμματος

19 Τύποι και Μεγέθη Τελεστέων Τύποι Τελεστεών Χαρακτήρας ASCII ή ακέραιος Μισή λέξη (ακέραιος [-2 15, ) Λέξη (ακέραιος, [-2 31, ] ) Κινητής υποδιαστολής απλής ακρίβειας Κινητής υποδιαστολής διπλής ακρίβειας Μεγέθη Τελεστέων 1 Byte (8 Bits) 2 Bytes (16 Bits) 4 Bytes (32 Bits) 4 Bytes (32 Bits) 8 Bytes (64 Bits) 2 BCD 1 Byte (8 Bits) Συνήθως υπάρχει δυνατότητα προσπέλασης σε 1, 2 ή 4 Bytes στη μνήμη Οι πράξεις γίνονται μεταξύ λέξεων (το μέγεθος της λέξης προσδιορίζει το μέγεθος των καταχωρητών). Εάν κάποιος από τους τελεστέους έχει μικρότερο μέγεθος γίνεται επέκταση πρόσημου ή επέκταση μηδενός, πριν την εκτέλεση της πράξης. Για επεξεργαστές 32 ψηφίων

20

21 Προσημασμένοι Πραγματικοί Δυαδικοί Αριθμοί σε Απεικόνιση Κινητής Υποδιαστολής (ΙΕΕΕ 754) Αρνητική υπερχείλιση Θετική υπερχείλιση (~10 9 ) Ακέραιοι αριθμοί 32 ψηφίων σε απεικόνιση συμπληρώματος ως προς 2 Αρνητική υπερχείλιση υπoχείλιση (underflow) 0 Θετική υπερχείλιση -( )x ,5x ,5x2-126 ( )x2 128 (~10 38 ) -( )x ,5x ,5x ( )x (~ ) Πραγματικοί αριθμοί 32 ψηφίων απλής ακρίβειας Πραγματικοί αριθμοί 64 ψηφίων διπλής ακρίβειας 1 8(11) ψηφία 23(52) ψηφία =32(64) ψηφία S Exponent (e) Mantissa (m -1 m -23(-52) )

22 Προσημασμένοι Πραγματικοί Δυαδικοί Αριθμοί σε Απεικόνιση Κινητής Υποδιαστολής (ΙΕΕΕ 754) τιμή Εκθέτης e Mantissa (m) (-1022) x (0,f) 0 f 0 2 e-127(-1023) x (1,f) 0 < e <255 (2047) f 255 (2047) 0 Not a Number (NaN) 255 (2047) f 0 1 8(11) ψηφία 23(52) ψηφία =32(64) ψηφία S Exponent (e) Mantissa (m -1 m -23(-52) )

23 MIPS R2000 Μονάδα Επεξεργασίας Ακεραίων - CPU αρχείο 32 καταχωρητών των 32-bits $0 $1 $31 Δεν θα υλοποιηθεί Lo MUL/DIV Hi ALU Μνήμη Cache L1

24 MIPS R2000: Τύποι & Μεγέθη Τελεστέων Στο μάθημα αυτό ασχολούμαστε με την επεξεργασία ακεραίων αριθμών Οι αριθμητικές πράξεις (προσημασμένες και μη) εκτελούνται με τελεστέους (operands) που είναι προσημασμένοι ακέραιοι αριθμοί σε απεικόνιση συμπληρώματος ως προς 2 μεγέθους μίας λέξης (32 bits) Όταν οι ακέραιοι αριθμοί έχουν μέγεθος 8 ή 16 bits, τότε πριν την εκτέλεση της αριθμητικής πράξης γίνεται πάντα επέκταση πρόσημου, ανεξάρτητα από το εάν η πράξη είναι προσημασμένη ή όχι Όταν η αριθμητική πράξη είναι προσημασμένη (signed), γίνεται έλεγχος υπερχείλισης για προσημασμένους ακέραιους αριθμούς και προκαλείται η αντίστοιχη εξαίρεση (exception) Συμβαίνει στις εντολές ADDI, ADD, SUB Όταν η αριθμητική πράξη δεν είναι προσημασμένη (unsigned), εκτελείται σαν προσημασμένη χωρίς να γίνεται έλεγχος υπερχείλισης Συμβαίνει στις εντολές ADDIU, ADDU, SUBU Χρησιμοποιούνται από τους μεταγλωττιστές της C

25 Οργάνωση των Bytes ενός Τελεστέου Big Endian: η διεύθυνση του τελεστέου είναι η διεύθυνση του περισσότερου σημαντικού byte του τελεστέου (xx00 = Big End Byte του τελεστέου) IBM 360/370, Motorola 68000, MIPS, Sparc, HP PA Little Endian: η διεύθυνση του τελεστέου είναι η διεύθυνση του λιγότερου σημαντικού byte του τελεστέου (xx00 = Little End Byte του τελεστέου) Intel 80x86, DEC Vax, DEC Alpha (Windows NT) Little end byte msb big end byte lsb

26 Ευθυγράμμιση των Διευθύνσεων Ας υποθέσουμε ότι ένας τελεστέος έχει μέγεθος s Bytes Η διεύθυνση Α της θέσης μνήμης στην οποία αποθηκεύεται ο τελεστέος είναι ευθυγραμμισμένη, εάν Α mod s = 0 Η ευθυγράμμιση των διευθύνσεων προσφέρει: πιο απλή υλοποίηση της διευθυνσιοδότησης στο υλικό λιγότερες προσπελάσεις στη μνήμη ταχύτερη εκτέλεση των προγραμμάτων Μεγέθη Τελεστέων (s) Ευθυγράμμιση διεύθυνσης (στα 4 lsb της Α = offset) 1 Byte (8 Bits) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F 2 Bytes (16 Bits) 0, 2, 4, 6, 8, A, C, E 4 Bytes (32 Bits) 0, 4, 8, C 8 Bytes (64 Bits) 0, 8

27 Ευθυγράμμιση των Διευθύνσεων Πως αποθηκεύονται στη μνήμη οι πιο κάτω τελεστέοι διαδοχικά για οργάνωση Big Endian και Little Endian και ποιες είναι οι διευθύνσεις τους, εάν ο πρώτος τελεστέος έχει διεύθυνση 00; ακέραιος (λέξη) των 4 bytes (I4,I3,I2,I1) ακέραιος (μισή λεξη) των 2 bytes (Κ2,Κ1) χαρακτήρας του 1 byte (C1) κινητής υποδιαστολής διπλής ακρίβειας των 8 bytes (D8-D1) array 3 χαρακτήρων του 1 byte έκαστος (A,B,C) κινητής ηήςυποδιαστολής απλής ακρίβειας ρβ των 4 bytes (S4-S1) 00 Ι4 08 D8 10 A 00 I1 08 D1 10 A 01 Ι3 09 D7 11 B 01 I2 09 D2 11 B 02 Ι2 0A D6 12 C 02 I3 0A D3 12 C BE B.E Ι1 Κ2 0B 0C D5 D S4 LE L.E I4 K1 0B 0C D4 D S1 05 Κ1 0D D3 15 S3 05 K2 0D D6 15 S2 06 C1 0E D2 16 S2 06 C1 0E D7 16 S3 07 0F D1 17 S1 07 0F D8 17 S4

28 Άσκηση η 3.2 Πως αποθηκεύονται στη μνήμη οι πιο κάτω τελεστέοι διαδοχικά για οργάνωση Big Endian και Little Endian και ποιες είναι οι διευθύνσεις τους, εάν ο πρώτος τελεστέος έχει διεύθυνση 1Ε09; χαρακτήρας του 1 byte (C1) array 4 χαρακτήρων του 1 byte έκαστος (A,B,C,D) ακέραιος (λέξη) των 4 bytes (I4,I3,I2,I1) κινητής υποδιαστολής διπλής ακρίβειας των 8 bytes (D8-D1) ακέραιος (μισή λέξη) των 2 bt bytes (H2H1) (H2,H1) κινητής υποδιαστολής απλής ακρίβειας των 4 bytes (S4-S1)

29 MIPS R2000: Χρήση της Μνήμης 7FFFFFFF $fp $sp πλαίσιο στοίβας Stack Segment $gp PC Dynamic Data Static Data (64K) Code κρατημένο Data Segment Text tsegment

30

31 MIPS R2000: Αρχείο Καταχωρητών Γενικής Χρήσης (ΚΓΧ) όνομα αριθμός χρήση $zero 0 Περιέχει τη σταθερή τιμή 0 $at 1 Δεσμευμένος από τον Assembler $v0 2 Επιστροφή τιμών από functions $v1 3 Επιστροφή τιμών από functions $a0 4 Πέρασμα τιμών σε procedures* $a1 5 Πέρασμα τιμών σε procedures $a2 6 Πέρασμα τιμών σε procedures $a3 7 Πέρασμα τιμών σε procedures * περισσότερες από 4 τιμές περνούν μέσω στοίβας

32 MIPS R2000: Αρχείο Καταχωρητών Γενικής Χρήσης (ΚΓΧ) όνομα αριθμός χρήση $t0 8 Περιέχει δεδομένα που χανόνται* $t1 9 Περιέχει δεδομένα που χάνονται $t2 10 Περιέχει δεδομένα που χάνονται $t3 11 Περιέχει δεδομένα που χάνονται $t4 12 Περιέχει δεδομένα που χάνονται $t5 13 Περιέχει δεδομένα που χάνονται $t6 14 Περιέχει δεδομένα που χάνονται $t7 15 Περιέχει δεδομένα που χάνονται * δεν διατηρούνται μετά την κλήση διαδικασίας

33 MIPS R2000: Αρχείο Καταχωρητών Γενικής Χρήσης (ΚΓΧ) όνομα αριθμός χρήση $s0 16 Περιέχει δεδομένα που δεν χάνονται* $s1 17 $s2 18 $s3 19 $s4 20 $s5 21 $s6 22 $s7 23 Περιέχει δεδομένα που δεν χάνονται Περιέχει δεδομένα που δεν χάνονται Περιέχει δεδομένα που δεν χάνονται Περιέχει δεδομένα που δεν χάνονται Περιέχει δεδομένα που δεν χάνονται Περιέχει δεδομένα που δεν χάνονται Περιέχει δεδομένα που δεν χάνονται * δεν επηρεάζονται από την κλήση μίας διαδικασίας

34 MIPS R2000: Αρχείο Καταχωρητών Γενικής Χρήσης (ΚΓΧ) όνομα αριθμός χρήση $t8 24 Περιέχει δεδομένα που χανόνται $t9 25 Περιέχει δεδομένα που χάνονται $k0 26 Δεσμευμένος από το Λειτουργικό $k1 27 Δεσμευμένος από το Λειτουργικό $gp 28 Καθολικός Δείκτης (Global Pointer) 1 $sp 29 Δί Δείκτης Στοίβας (Stack kpointer) 2 $fp 30 Δείκτης Πλαισίου (Frame Pointer) 3 $ra 31 Επιστροφή από διαδικασία 1 δείχνει στο μέσο του static data segment για αποθήκευση καθολικών μεταβλητών χ μ g γ ή η μ β η 2 δείχνει το τέλος της στοίβας με ευθυγράμμιση 2 λέξεων 3 δείχνει την πρώτη λέξη του πλαισίου στοίβας της τρέχουσας διαδικασίας

35 MIPS R2000: Κωδικοποίηση Eντολών O MIPS υποστηρίζει σταθερή κωδικοποίηση μεγέθους 32 bits με τρεις τύπους εντολών: Τύπος Ι (Immediate) =LSB opcode rs rt immediate / address 6 Bits 5 Bits 5 Bits Τύπος R (Register) 16 Bits =LSB op=0 rs rt rd shamt funct 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits 31 Τύπος J (Jump) opcode 6 Bits 26 0=LSB target_address 26 Bits = 32 Bits = 32 Bits = 32 Bits

36 MIPS R2000: Κωδικοποίηση Eντολών =LSB opcode rs rt immediate / address 6 Bits 5 Bits 5 Bits 16 Bits = 32 Bits Ίδιος κώδικας λειτουργίας (opcode = 0) για όλες τις εντολές τύπου R. Αξιoποιώντας τα 6 lsb της εντολής, που δεν χρησιμοποιούνται στις εντολές τύπου R επιτυγχάνεται μείωση του μεγέθους του opcode (μόνο 6 ψηφία) σε όφελος του πεδίου immediate =LSB op=0 rs rt rd shamt funct 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = 32 Bits

37 MIPS R2000: Κωδικοποίηση Eντολών Κωδικός λειτουργίας - opcode (bits 31-26) (το πρώτο πεδίο της εντολής - Big Endian) χρησιμοποιείται για την αποκωδικοποίηση της εντολής προσδιορίζει την πράξη - λειτουργία της εντολής (εκτός από τις εντολές τύπου Register) προσδιορίζει τους τύπους και τα μεγέθη των τελεστέων προσδιορίζει τον τρόπο διευθυνσιοδότησης μνήμης για την εύρεση της ενεργούς διεύθυνσης των τελεστέων

38 MIPS R2000: Κωδικοποίηση Eντολών Πεδία διευθύνσεων καταχωρητών Προσδιορίζουν συγκεκριμένους καταχωρητές του αρχείου καταχωρητών ($0 - $31) rs : register source (bits 25-21), προσδιορίζει τον πηγαίο καταχωρητή rt : register target (bits 20-16), προσδιορίζει έναν καταχωρητή του οποίου η σημασία εξαρτάται από την εντολή (δεύτερος πηγαίος καταχωρητής, καταχωρητής προορισμού, ρ..) rd : register destination (bits 15-11), προσδιορίζει τον καταχωρητή προορισμού, όπου αποθηκεύεται το αποτέλεσμα μίας πράξης

39 MIPS R2000: Κωδικοποίηση Eντολών Πεδίο shamt (shift amount - bits 10-6) Χρησιμοποιείται αποκλειστικά στις εντολές ολίσθησης με σταθερό αριθμό ολισθήσεων (SLL, SRL, SRA) προσδιορίζει τον αριθμό των ολισθήσεων Πεδίο funct (bits 5-0) Χρησιμοποιείται αποκλειστικά στις εντολές τύπου Register ως πεδίο επέκτασης του κωδικού λειτουργίας προσδιορίζει την πράξη - λειτουργία της εντολής

40 MIPS R2000: Κωδικοποίηση Eντολών Πεδίο immediate (bits 15-0) Χρησιμοποιείται αποκλειστικά στις εντολές τύπου Immediate προσδιορίζει μία σταθερή τιμή στις αριθμητικές και λογικές πράξεις καθώς και στις εντολές σύγκρισης προσδιορίζει τη μετατόπιση σε εντολές που χρησιμοποιούν διευθυνσιοδότηση η μετατόπισης και PC-σχετική διευθυνσιοδότηση

41 MIPS R2000: Κωδικοποίηση Eντολών Πεδίο target_address (bits 25-0) Χρησιμοποιείται αποκλειστικά στις εντολές τύπου Jump που χρησιμοποιούν τη ψευδο-απευθείας (pseudo-direct) direct) διευθυνσιοδότηση προσδιορίζει τη διεύθυνση της επόμενης εντολής που θα εκτελεστεί λόγω της μεταπήδησης ως εξής: τα 2 λιγότερο σημαντικά ψηφία της διεύθυνσης είναι 0 λόγω ευθυγράμμισης (εντολή 4 bytes) τα 26 επόμενα λιγότερο σημαντικά ψηφία της διεύθυνσης προσδιορίζονται από το πεδίο target_address τα 4 περισσότερο σημαντικά ψηφία της διεύθυνσης παραμένουν ως έχουν (όριο τα 256 ΜΒ = 64 Μ εντολές)

42

43 MIPS R2000: Τρόποι Διευθυνσιοδότησης ης Μνήμης Δεδομένων Διευθυνσιοδότηση Μέσω Καταχωρητή (Register Addressing) Άμεση Διευθυνσιοδότηση (Immediate Addressing) Διευθυνσιοδότηση Μετατόπισης Displacement Addressing Έμμεση Διευθυνσιοδότηση μέσω Καταχωρητή (Register Indirect Addressing) Απόλυτη Διευθυνσιοδότηση Μνήμης (Absolute Addressing)

44 Διευθυνσιοδότηση Μέσω Καταχωρητή Register Addressing MIPS R2000 Χρήση: όταν οι τελεστέοι βρίσκονται στους καταχωρητές χρησιμοποιείται σε εντολές τύπου Register, που αφορούν κυρίως αριθμητικές και λογικές πράξεις οι δύο τελεστέοι και το αποτέλεσμα της πράξης αποθηκεύονται σε τρεις καταχωρητές Πλεονεκτήματα: δεν απαιτείται προσπέλαση στη μνήμη - μικρό CPI(j) Μειονεκτήματα: περιορίζεται μόνο στους διαθέσιμους καταχωρητές γενικής χρήσης ADD $t0, $s0, $s1 $t0 <= $s0 + $s1 reg[08] <= reg[16] + reg[17] =LSB op=0 rs=16 rt=17 rd=8 shamt=0 funct=32 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = 32 Bits

45 Άμεση Διευθυνσιοδότηση Immediate Addressing MIPS R2000 Χρήση: όταν ο ένας τελεστέος είναι σταθερά το πολύ 16 bits χρησιμοποιείται σε εντολές τύπου Immediate, που αφορούν αριθμητικές και λογικές πράξεις, αύξηση ενός δείκτη (arrays, loops, στοίβα), συγκρίσεις η σταθερή τιμή αποθηκεύεται στο πεδίο immediate Πλεονεκτήματα: δεν απαιτείται προσπέλαση στη μνήμη Μειονεκτήματα: περιορισμός στο μέγεθος του σταθερού τελεστέου ADDI $sp, $sp, 8 reg[29] <= reg[29] + 8 $sp <= $sp =LSB op=8 rs=29 rt=29 immediate=8 6 Bits 5 Bits 5 Bits 16 Bits = 32 Bits

46 Διευθυνσιοδότηση Μετατόπισης Displacement Addressing MIPS R2000 Χρήση: όταν γίνεται προσπέλαση της μνήμης χρησιμοποιείται σε εντολές τύπου Immediate, που αφορούν φόρτωση από τη μνήμη (LOAD) και αποθήκευση στη μνήμη (STORE) η ενεργή διεύθυνση προσδιορίζεται από το άθροισμα του περιεχομένου του καταχωρητή rs με τη σταθερή μετατόπιση το πολύ 16 bits που αποθηκεύεται στο πεδίο immediate οι διευθύνσεις στη μνήμη έχουν μέγεθος 32 bits και είναι ευθυγραμμισμένες (προσπέλαση σε 2 32 θέσεις μνήμης του ενός byte) η οργάνωση των bytes των τελεστέων είναι Big Endian υποστηρίζεται φόρτωση & αποθήκευση τελεστέων μεγέθους 1 byte (B), 2 bytes (H), 4 bytes (W) η οποία προσδιορίζεται στον κωδικό λειτουργίας opcode

47 Διευθυνσιοδότηση Μετατόπισης Displacement Addressing MIPS R2000 Πλεονεκτήματα: ευελιξία Μειονεκτήματα: απαίτηση πρόσθεσης για τον υπολογισμό της ενεργούς διεύθυνσης LW $t0, 32($s3) 3) $t0 <= Mem[$s3 + 32] reg[8] <= Mem[reg[19] + 32] =LSB op=35 rs=19 rt=8 immediate=32 6 Bits 5 Bits 5 Bits 16 Bits = 32 Bits

48 Άλλοι Τρόποι Διευθυνσιοδότησης MIPS R2000 Έμμεση διευθυνσιοδότηση μέσω καταχωρητή (reg. indirect) προκύπτει από τη διευθυνσιοδότηση μετατόπισης, εάν θέσουμε σαν μετατόπιση το 0 Παράδειγμα: LW $t0,0($s2) = LW $t0,($s2) (reg[8] <= Mem[reg[18]] (32 bits) Απόλυτη διευθυνσιοδότηση μνήμης (absolute) προκύπτει από τη διευθυνσιοδότηση μετατόπισης, εάν θέσουμε σαν μετατόπιση την απόλυτη διεύθυνση και σαν καταχωρητή που μετέχει στην διευθυνσιοδότηση το $zero Παράδειγμα: LW $t0,1000($zero) (reg[8] <= Mem[1000+0] (32 bits) Προκύπτουν σαν ειδικές περιπτώσεις της διευθυνσιοδότησης μετατόπισης

49 Υποστηριζόμενες Εντολές του MIPS R2000 Εντολές Φόρτωσης & Αποθήκευσης (Τύπου Ι) LW, SW Αριθμητικές και Λογικές Εντολές (Τύπου Ι) ADDIU, ANDI, ORI, XORI Αριθμητικές και Λογικές Εντολές (Τύπου R) ADDU, SUBU, AND, OR, XOR, NOR Εντολές Ολίσθησης (Τύπου R) SLL, SRL, SRA, SLLV, SLRV SRAV

50 Υποστηριζόμενες Εντολές του MIPS R2000 Εντολή Σύγκρισης - Set (Τύπου Ι) SLTI Εντολή Σύγκρισης - Set (Τύπου R) SLT Εντολές Διακλάδωσης (Τύπου Ι) BEQ, BNE Εντολή Μεταπήδησης ή Επιστροφής από Διαδικασία (Τύπου R) JR Εντολή Κλήσης Διαδικασίας (Τύπου R) JALR

51 Σημειογραφία Σε κάθε διεύθυνση της μνήμης είναι αποθηκευμένο 1 byte. To Χ σαν διεύθυνση μνήμης στην οποία είναι αποθηκευμένος ένας τελεστέος σημαίνει τη διεύθυνση μνήμης στην οποία είναι αποθηκευμένο το περισσότερο σημαντικό byte του τελεστέου (Big Endian) Στη διεύθυνση X+k-1 είναι αποθηκευμένο το λιγότερο σημαντικό byte του τελεστέου, όταν αυτός έχει μέγεθος k bytes Η τιμή του τελεστέου είναι Mem[Χ]. Τα ψηφία ενός byte της μνήμης αριθμούνται έτσι, ώστε LSB=0 και MSB=7 reg[x] = το περιεχόμενο του καταχωρητή $X των 32 ψηφίων Τα ψηφία ενός καταχωρητή αριθμούνται έτσι, ώστε LSB=0 και MSB=31

52

53 Εντολές Φόρτωσης & Αποθήκευσης (Τύπου Ι) Εντολή Περιγραφή LW $t1,100($gp) 100($ Load word SW $t1,100($gp) Store word

54

55 Εντολές Φόρτωσης & Αποθήκευσης Ακεραίων (Τύπου Ι) LW rt,immediate(rs) op=0x23 address <= sign _ extend(immediate) + reg[rs] reg[rt] <= Mem[address] Παράδειγμα : LW $t1,100($gp) Φόρτωση στον $9 του τελεστέου μεγέθους 32 ψηφίων, που βρίσκεται σε 4 διαδοχικά bytes της μνήμης στη διεύθυνση X <= 100+reg[28] 31 Mem[X] =LSB Mem[X+1] Mem[X+2] Mem[X+3] ($9 = $t1) Το περιεχόμενο του $9 μετά την εκτέλεση της εντολής =LSB op=35 rs = 28 rt = 9 immediate = Bits 5 Bits 5 Bits 16 Bits (κωδικοποίηση της εντολής του παραδείγματος) (IR) = 32 Bits

56 Εντολές Φόρτωσης & Αποθήκευσης Ακεραίων (Τύπου Ι) SW rt,immediate(rs) op=0x2b address <= sign _ extend(immediate) + reg[rs] Mem[address] <= reg[rt] (word) Παράδειγμα : SW $t1,100($gp) Αποθήκευση στη μνήμη στη διεύθυνση X <= 100+reg[28] του τελεστέου μεγέθους μγ 32 ψηφίων, που βρίσκεται στον $t1 = $9 $9(31..24) $9(23..16) $9(15..8) $9(7..0) Διεύθυνση X X+1 X+2 X+3 Το περιεχόμενο των 4 διαδοχικών θέσεων μνήμης μετά την εκτέλεση της εντολής =LSB op=43 rs = 28 rt = 9 immediate = Bits 5 Bits 5 Bits 16 Bits (κωδικοποίηση της εντολής του παραδείγματος) (IR) = 32 Bits

57 Εντολή Αριθμητικές και Λογικές Εντολές (Τύπου Ι) Περιγραφή ΑDDIU $t1,$s1,100$s1 100 Addition immediate unsigned (με επέκταση πρόσημου χωρίς έλεγχο υπερχείλισης) ΑNDI $t1,$s1,100 AND immediate (με επέκταση μηδενός) ORI $t1,$s1,100 OR immediate (με επέκταση μηδενός) ΧΟRI $t1,$s1,100, XOR immediate (με επέκταση μηδενός)

58

59 Αριθμητικές και Λογικές Εντολές (Τύπου Ι) ADDIU rt, rs, immediate op=0x09 reg[rt] <= reg[rs] + sign_extend(immediate) Παράδειγμα : ADDIU $t1, $s1, 100 Αποθήκευση στον καταχωρητή $t1 = $9 του αθροίσματος του καταχωρητή $s1 = $17 με το περιεχόμενο του πεδίου immediate, αφού ύέχει υποστεί επέκταση πρόσημου. Δεν λαμβάνεται υπόψη η υπερχείλιση =LSB op=9 rs = 17 rt = 9 immediate = Bits 5 Bits 5 Bits 16 Bits (κωδικοποίηση της εντολής του παραδείγματος) (IR) = 32 Bits

60 Αριθμητικές και Λογικές Εντολές (Τύπου Ι) ANDI rt, rs, immediate op=0x0c reg[rt] <= reg[rs] AND zero_extend(immediate) Παράδειγμα : ANDI $t1, $s1, 100 Αποθήκευση στον καταχωρητή $t1 = $9 της λογικής πράξης AND ανά ψηφίο του καταχωρητή $s1 = $17 με το περιεχόμενο του πεδίου immediate, αφού έχει υποστεί επέκταση μηδενός =LSB op=12 rs = 17 rt = 9 immediate = Bits 5 Bits 5 Bits 16 Bits (κωδικοποίηση της εντολής του παραδείγματος) (IR) = 32 Bits

61 Αριθμητικές και Λογικές Εντολές (Τύπου Ι) ORI rt, rs, immediate op=0x0d reg[rt] <= reg[rs] OR zero_extend(immediate) Παράδειγμα : ORI $t1, $s1, 100 Αποθήκευση στον καταχωρητή $t1 = $9 της λογικής πράξης OR ανά ψηφίο του καταχωρητή $s1 = $17 με το περιεχόμενο του πεδίου immediate, αφού έχει υποστεί επέκταση μηδενός =LSB op=13 rs = 17 rt = 9 immediate = Bits 5 Bits 5 Bits 16 Bits (κωδικοποίηση της εντολής του παραδείγματος) (IR) = 32 Bits

62 Αριθμητικές και Λογικές Εντολές (Τύπου Ι) XORI rt, rs, immediate op=0x0e reg[rt] <= reg[rs] XOR zero_extend(immediate) Παράδειγμα : XORI $t1, $s1, 100 Αποθήκευση στον καταχωρητή $t1 = $9 της λογικής πράξης XOR ανά ψηφίο του καταχωρητή $s1 = $17 με το περιεχόμενο του πεδίου immediate, αφού έχει υποστεί επέκταση μηδενός =LSB op=14 rs = 17 rt = 9 immediate = Bits 5 Bits 5 Bits 16 Bits (κωδικοποίηση της εντολής του παραδείγματος) (IR) = 32 Bits

63 Αριθμητικές και Λογικές Εντολές (Τύπου R) Εντολή Περιγραφή ΑDDU $s1,$s2,$s3 $ $ Addition Unsigned (χωρίς έλεγχο υπερχείλισης) SUBU $s1,$s2,$s3 Subtract Unsigned (χωρίς έλεγχο υπερχείλισης) ΑND $s1,$s2,$s3$s2 $s3 OR $s1,$s2,$s3 ΧΟR $s1,$s2,$s3 NOR $s1,$s1,$zero AND (ανά ψηφίο) OR (ανά ψηφίο) XOR (ανά ψηφίο) NOR (ανά ψηφίο)

64

65 Αριθμητικές και Λογικές Εντολές (Τύπου R) ADDU rd, rs, rt op=0x00 funct=0x21 reg[rd] <= reg[rs] + reg[rt] Παράδειγμα : ADDU $s1, $s2, $s3 Αποθήκευση στον καταχωρητή $s1 = $17 του αθροίσματος των περιεχομένων των καταχωρητων $s2 = $18 και $s3 = $19, αντίστοιχα. Δεν λαμβάνεται υπόψη η υπερχείλιση =LSB op=0 rs=18 rt=19 rd=17 shamt=0 funct=33 (IR) 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = 32 Bits (κωδικοποίηση της εντολής του παραδείγματος)

66 Αριθμητικές και Λογικές Εντολές (Τύπου R) SUBU rd, rs, rt op=0x00 funct=0x23 reg[rd] <= reg[rs] - reg[rt] Παράδειγμα : SUBU $s1, $s2, $s3 Αποθήκευση στον καταχωρητή $s1 = $17 της διαφοράς των περιεχομένων των καταχωρητων $s2 = $18 και $s3 = $19, αντίστοιχα. Δεν λαμβάνεται υπόψη η υπερχείλιση =LSB op=0 rs=18 rt=19 rd=17 shamt=0 funct=35 (IR) 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = 32 Bits (κωδικοποίηση της εντολής του παραδείγματος)

67 Αριθμητικές και Λογικές Εντολές (Τύπου R) AΝD rd, rs, rt op=0x00 funct=0x24 reg[rd] <= reg[rs] AND reg[rt] Παράδειγμα : AND $s1, $s2, $s3 Αποθήκευση στον καταχωρητή $s1 = $17 της λογικής πράξης AND ανά ψηφίο των περιεχομένων των καταχωρητων $s2 = $18 και $s3 = $19, αντίστοιχα =LSB op=0 rs=18 rt=19 rd=17 shamt=0 funct=36 (IR) 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = 32 Bits (κωδικοποίηση της εντολής του παραδείγματος)

68 Αριθμητικές και Λογικές Εντολές (Τύπου R) OR rd, rs, rt op=0x00 funct=0x25 reg[rd] <= reg[rs] OR reg[rt] Παράδειγμα : OR $s1, $s2, $s3 Αποθήκευση στον καταχωρητή $s1 = $17 της λογικής πράξης OR ανά ψηφίο των περιεχομένων των καταχωρητων $s2 = $18 και $s3 = $19, αντίστοιχα =LSB op=0 rs=18 rt=19 rd=17 shamt=0 funct=37 (IR) 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = 32 Bits (κωδικοποίηση της εντολής του παραδείγματος)

69 Αριθμητικές και Λογικές Εντολές (Τύπου R) XOR rd, rs, rt op=0x00 funct=0x26 reg[rd] <= reg[rs] XOR reg[rt] Παράδειγμα : XOR $s1, $s2, $s3 Αποθήκευση στον καταχωρητή $s1 = $17 της λογικής πράξης XOR ανά ψηφίο των περιεχομένων των καταχωρητων $s2 = $18 και $s3 = $19, αντίστοιχα =LSB op=0 rs=18 rt=19 rd=17 shamt=0 funct=38 (IR) 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = 32 Bits (κωδικοποίηση της εντολής του παραδείγματος)

70 Αριθμητικές και Λογικές Εντολές (Τύπου R) NOR rd, rs, rt op=0x00 funct=0x27 reg[rd] <= reg[rs] NOR reg[rt] Παράδειγμα : NOR $s1, $s1, $zero Αντιστροφή του περιεχομένου του καταχωρητή $s1 = $17 Η πιο συνηθισμένη χρήση της εντολής NOR =LSB op=0 rs=17 rt=0 rd=17 shamt=0 funct=39 (IR) 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = 32 Bits (κωδικοποίηση της εντολής του παραδείγματος)

71 Εντολές Ολίσθησης (Τύπου R) Εντολή Περιγραφή SLL $s1,$s2, $ 3 Shift left logical l (σταθερός αριθμός ολισθήσεων) SRL $s1,$s2, 3 Shift right logical (σταθερός αριθμός ολισθήσεων) SRA $s1,$s2, 3 Shift right arithmetic (σταθερός αριθμός ολισθήσεων με επέκταση πρόσημου) SLLV $s1,$s2,$s3 $s2 $s3 Shift left logical variable (μεταβλητός αρ. ολισθήσεων) SRLV $s1,$s2,$s3 Shift right logical variable (μεταβλητός αρ. ολισθήσεων) SRAV $s1,$s2,$s3 Shift right arithmetic variable (μεταβλητός αριθμός ολισθήσεων με επέκταση πρόσημου) NOP No operation (κάνει μόνο καθυστέρηση) Ψευδο-εντολή εντολή Η περιστροφή γίνεται με ψευδο-εντολές εντολές

72

73 Εντολές Ολίσθησης (Τύπου R) SLL rd, rt, shamt op=0x00 funct=0x00 reg[rd] <= reg[rt] shifted left logical by shamt Παράδειγμα : SLL $s1, $s2, 3 Αριστερή λογική ολίσθηση του περιεχομένου του καταχωρητή $s2 = $18 κατά 3 (από 0 μέχρι 31) και αποθήκευση στον καταχωρητή $s1 = $17. Η ψευδο-εντολή NOP μετατρέπεται στην εντολή SLL $zero, $zero, 0 με κωδικοποίηση όλα =LSB op=0 rs=0 rt=18 rd=17 shamt=3 funct=0 (IR) 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = 32 Bits (κωδικοποίηση της εντολής του παραδείγματος)

74 Εντολές Ολίσθησης (Τύπου R) SRL rd, rt, shamt op=0x00 funct=0x02 reg[rd] <= reg[rt] shifted right logical by shamt Παράδειγμα : SRL $s1, $s2, 3 Δεξιά λογική ολίσθηση του περιεχομένου του καταχωρητή $s2 = $18 κατά 3 (από 0 μέχρι 31) και αποθήκευση στον καταχωρητή $s1 = $ =LSB op=0 rs=0 rt=18 rd=17 shamt=3 funct=2 (IR) 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = 32 Bits (κωδικοποίηση της εντολής του παραδείγματος)

75 Εντολές Ολίσθησης (Τύπου R) SRΑ rd, rt, shamt op=0x00 funct=0x03 reg[rd] <= reg[rt] shifted right arithmetic by shamt Παράδειγμα : SRΑ $s1, $s2, 3 Δεξιά αριθμητική ολίσθηση (που βασίζεται στο πρόσημο) του περιεχομένου του καταχωρητή $s2 = $18 κατά 3 (από 0 μέχρι 31) και αποθήκευση στον καταχωρητή $s1 = $ =LSB op=0 rs=0 rt=18 rd=17 shamt=3 funct=3 (IR) 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = 32 Bits (κωδικοποίηση της εντολής του παραδείγματος)

76 Εντολές Ολίσθησης (Τύπου R) SLLV rd, rt, rs op=0x00 funct=0x04 reg[rd] <= reg[rt] shifted left logical by reg[rs] Παράδειγμα : SLLV $s1, $s2, $s3 Μεταβλητή αριστερή λογική ολίσθηση του περιεχομένου του καταχωρητή $s2 = $18 κατά τόσα ψηφία (από 0 μέχρι 31), όσα προσδιορίζονται στον καταχωρητή $s3 = $19, και αποθήκευση στον καταχωρητή $s1 = $ =LSB op=0 rs=19 rt=18 rd=17 shamt=0 funct=4 (IR) 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = 32 Bits (κωδικοποίηση της εντολής του παραδείγματος)

77 Εντολές Ολίσθησης (Τύπου R) SRLV rd, rt, rs op=0x00 funct=0x06 reg[rd] <= reg[rt] shifted right logical by reg[rs] Παράδειγμα : SRLV $s1, $s2, $s3 Μεταβλητή δεξιά λογική ολίσθηση του περιεχομένου του καταχωρητή $s2 = $18 κατά τόσα ψηφία (από 0 μέχρι 31), όσα προσδιορίζονται στον καταχωρητή $s3 = $19, και αποθήκευση στον καταχωρητή $s1 = $ =LSB op=0 rs=19 rt=18 rd=17 shamt=0 funct=6 (IR) 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = 32 Bits (κωδικοποίηση της εντολής του παραδείγματος)

78 Εντολές Ολίσθησης (Τύπου R) SRΑV rd, rt, rs op=0x00 funct=0x07 reg[rd] <= reg[rt] shifted right logical by reg[rs] Παράδειγμα : SRΑV $s1, $s2, $s3 Μεταβλητή δεξιά αριθμητική ολίσθηση του περιεχομένου του καταχωρητή $s2 = $18 κατά τόσα ψηφία (από 0 μέχρι 31), όσα προσδιορίζονται στον καταχωρητή $s3 = $19, και αποθήκευση στον καταχωρητή $s1 = $ =LSB op=0 rs=19 rt=18 rd=17 shamt=0 funct=7 (IR) 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = 32 Bits (κωδικοποίηση της εντολής του παραδείγματος)

79 Εντολές Σύγκρισης - Set (Τύπου Ι και R) Εντολή Περιγραφή SLTI $t0, $s0, 10 Set less than immediate If reg[s0] < 10 then reg[t0]<=1 else reg[t0]<=0 Η σύγκριση γίνεται μεταξύ προσημασμένων μ αριθμών SLT $t0, $s1, $s2 Set less than If reg[s1] < reg[s2] then reg[t0]<=1 else reg[t0]<=0 Η σύγκριση γίνεται μεταξύ προσημασμένων αριθμών Δεν υπάρχει έλεγχος υπερχείλισης. Το αποτέλεσμα της σύγκρισης είναι πάντα ορθό στην περίπτωση που οι συγκρινόμενοι προσημασμένοι αριθμοί ανήκουν στην περιοχή από ( ) μέχρι ( ) Η υπόλοιπες εντολές σύγκρισης είναι ψευδο-εντολές

80

81 Εντολές Σύγκρισης - Set (Τύπου Ι) SLTI rt, rs, immediate op=0x0a IF THEN reg[rt] <= 1 ELSE reg[rt] <= 0 reg[rs] < sign_extend(immediate) Παράδειγμα : SLTI $t0, $s1, 10 Εάν το περιεχόμενο του καταχωρητή $s1 = $17 είναι μικρότερο ρ από το περιεχόμενο του πεδίου immediate (10), αφού έχει υποστεί επέκταση πρόσημου, τότε στον καταχωρητή $t0 = $8 αποθηκεύεται το 1, αλλιώς αποθηκεύεται το 0. Η σύγκριση γίνεται μεταξύ προσημασμένων αριθμών =LSB op=10 rs = 17 rt = 8 immediate = 10 6 Bits 5 Bits 5 Bits 16 Bits (κωδικοποίηση της εντολής του παραδείγματος) (IR) = 32 Bits

82 Εντολές Σύγκρισης - Set (Τύπου R) SLT rd, rs, rt op=0x00 funct=0x2a IF reg[rs] < reg[rt] THEN reg[rd] <= 1 ELSE reg[rd] <= 0 Παράδειγμα : SLT $t0, $s1, $s2 Εάν το περιεχόμενο του καταχωρητή $s1 = $17 είναι μικρότερο ρ από το περιεχόμενο του καταχωρητή $s2 = $18, τότε στον καταχωρητή $t0 = $8 αποθηκεύεται το 1, αλλιώς αποθηκεύεται το 0. Η σύγκριση γίνεται μεταξύ προσημασμένων αριθμών =LSB op=0 rs=17 rt=18 rd=8 shamt=0 funct=42 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits (κωδικοποίηση της εντολής του παραδείγματος) (IR) = 32 Bits

83 Εντολές Ελέγχου Ροής Προγράμματος Εντολές διακλάδωσης με συνθήκη Ο μετρητής προγράμματος (program counter - PC) περιέχει τη διεύθυνση της εντολής που πρόκειται να ανακληθεί από τη μνήμη για να εκτελεσθεί μετά την ολοκλήρωση της εκτέλεσης της τρέχουσας εντολής Για να γίνει η αλλαγή στη ροή του προγράμματος με τη χρήση εντολών διακλάδωσης με συνθήκη εξετάζεται εάν πρώτα ικανοποιείται μία συγκεκριμένη συνθήκη, που ονομάζεται συνθήκη διακλάδωσης όταν δεν ικανοποιείται η συνθήκη διακλάδωσης, η επόμενη εντολή που πρόκειται να εκτελεσθεί είναι η αμέσως επόμενη εντολή μετά την εντολή διακλάδωσης (για τον MIPS ισχύει PC = PC + 4) όταν ικανοποιείται η συνθήκη, η διεύθυνση της επόμενη εντολής που πρόκειται να εκτελεσθεί προσδιορίζεται με μετατόπιση (μ) που προστίθεται στον μετρητή προγράμματος (program counter - PC), που ήδη περιέχει τη διεύθυνση της αμέσως επόμενης εντολής μετά την εντολή διακλάδωσης (για τον MIPS ισχύει PC = PC+4+4μ) + 4μ)

84 Μετατόπιση PC-Σχετική Διευθυνσιοδότηση ημετατόπιση είναι ένας προσημασμένος μ ακέραιος αριθμός που προσδιορίζει τη διαφορά της διεύθυνσης της εντολής, που θα εκτελεσθεί όταν ικανοποιείται η συνθήκη, από τη διεύθυνση της αμέσως επόμενης εντολής μετά την εντολή διακλάδωσης, συμπεριλαμβάνεται στην εντολή διακλάδωσης υπό συνθήκη σαν απευθείας τιμή PC-Σχετική Διευθυνσιοδότηση (PC - relative addressing) ονομάζεται ο τρόπος διευθυνσιοδότησης της μνήμης εντολών που χρησιμοποιείται στις εντολές διακλάδωσης υπό συνθήκη που προσδιορίζουν απευθείας με μετατόπιση τη διεύθυνση της εντολής, που θα εκτελεσθεί όταν ικανοποιείται η συνθήκη.

85 PC-Σχετική Διευθυνσιοδότηση Εντολές διακλάδωσης υπό συνθήκη (conditional branch) Μνήμη Εντολών των 4 bytes (32 bits) oργανομένη ανά byte Πρόγραμμα με PC - σχετική διευθυν/ση ργ μ η y.. Cond_branch label Cond_branch label label: Instruction_1 Instruction_1 PC+4 Instruction_2 Instruction_3 Instruction_4 Instruction_5 Instruction_6 Instruction_7.. Η εντολή Cond_branch αλλάζει τη ροή του προγράμματος. Όταν ικανοποιείται η συνθήκη, η αμέσως επόμενη εντολή που θα εκτελεσθεί είναι η Instruction_5, που προσδιορίζεται από το label, αλλιώς είναι η Instruction_1 Instruction_2 Instruction_3 Instruction_4 Instruction_5 Instruction_6 Instruction_7 PC PC+8 PC+12 PC+16 PC+20 PC+24 PC+28 Στους επεξεργαστές MIPS, η μετατόπιση είναι η διαφορά σε αριθμό εντολών της Instruction_5 από την Instruction_1, δηλαδή +4 (4x4=16 bytes)

86 PC-Σχετική Διευθυνσιοδότηση Πότε χρησιμοποιείται ; για να χρησιμοποιηθεί η η PC - σχετική διευθυνσιοδότηση η πρέπει η μετατόπιση να είναι γνωστή κατά το στάδιο της μεταγλώττισης, οπότε έχουμε ανεξαρτησία θέσης (δηλαδή, δεν εξαρτάται η μετατόπιση από το που θα φορτωθεί το πρόγραμμα στη μνήμη κατά την εκτέλεση του) όταν η μετατόπιση δεν είναι γνωστή κατά το στάδιο της μεταγλώττισης, τότε η διεύθυνση της εντολής, που θα εκτελεσθεί όταν ικανοποιείται η συνθήκη, προσδιορίζεται δυναμικά κατά την εκτέλεση του προγράμματος συνήθως με διευθυνσιοδότηση η καταχωρητή, που περιέχει τη διεύθυνση αυτής της εντολής, χωρίς να αποκλείεται η χρήση κάποιου άλλου τρόπου διευθυνσιοδότησης

87 Εντολές Διακλάδωσης (Τύπου Ι) Εντολή Περιγραφή BEQ $s1, $s2, label l Branch on equal If reg[s1] = reg[s2] then PC <= PC μ else PC <= PC + 4 BNE $s1, $s2, label Branch on not equal If reg[s1] reg[s2] then PC <= PC μ else PC <= PC + 4 Ο MIPS υλοποιεί και άλλες εντολές διακλάδωσης, ενώ υπάρχουν και ψευδο-εντολές PC - σχετική διευθυνσιοδότηση: Το label προσδιορίζει την εντολή, που θα εκτελεσθεί όταν ικανοποιείται η συνθήκη, και μετατρέπεται σε μετατόπιση (μ) κατά το στάδιο της μεταγλώττισης

88 Εντολές Διακλάδωσης (Τύπου Ι) Στους πραγματικούς επεξεργαστές MIPS, οι εντολές διακλάδωσης είναι καθυστερημένες διακλαδώσεις δώ (delayed d branches) Πάντα εκτελείται η εντολή που ακολουθεί τη διακλάδωση, που βρίσκεται στη διεύθυνση PC+4 και ονομάζεται delay slot Μετά την εκτέλεση της delay slot, εάν ικανοποιείται η συνθήκη της διακλάδωσης, εκτελείται η εντολή που βρίσκεται στη διεύθυνση PC+4+4μ Οι καθυστερημένες διακλαδώσεις επηρεάζουν τον υπολογισμό της μετατόπισης (μ) που γίνεται με βάση το PC+4 και όχι το PC Προσοχή γιατί ο SPIM συνήθως δεν προσομοιώνει την καθυστερημένη διακλάδωση και υπολογίζει τη σχετική απόσταση με βάση το PC Προσοχή δεν θα υλοποιήσουμε καθυστερημένες διακλαδώσεις Προσοχή, δεν θα υλοποιήσουμε καθυστερημένες διακλαδώσεις, αν και θα υπολογίσουμε τη σχετική απόσταση με βάση το PC+4

89 Εντολές Διακλάδωσης (Τύπου Ι) BEQ rs, rt, label op=0x04 IF reg[rs] =reg[rt] THEN PC <= PC μ ELSE PC <= PC + 4 Παράδειγμα : BEQ $s1, $s2, label Διεύθυνση προορισμού διακλάδωσης Διεύθυνση επόμενης εντολής Εάν το περιεχόμενο του καταχωρητή $s1 = $17 είναι ίσο με το περιεχόμενο του καταχωρητή $s2 = $18, τότε PC <= PC+4+4μ, αλλιώς PC <= PC+4. Kατά τη μεταγλώττιση αντικαθίσταται το label με την μετατόπιση, που είναι η διαφορά σε αριθμό εντολών της εντολής που προσδιορίζει το label και της εντολής που έπεται της εντολής διακλάδωσης (delay slot). Η μετατόπιση κυμαίνεται από μέχρι =LSB op=4 rs = 17 rt = 18 immediate = μ 6 Bits 5 Bits 5 Bits 16 Bits (κωδικοποίηση της εντολής του παραδείγματος) (IR) = 32 Bits

90 Εντολές Διακλάδωσης (Τύπου Ι) BΝE rs, rt, label op=0x05 IF reg[rs] reg[rt] THEN PC <= PC μ ELSE PC <= PC + 4 Παράδειγμα : BNE $s1, $s2, label Διεύθυνση προορισμού διακλάδωσης Διεύθυνση επόμενης εντολής Εάν το περιεχόμενο του καταχωρητή $s1 = $17 είναι άνισο με το περιεχόμενο του καταχωρητή $s2 = $18, τότε PC <= PC+4+4μ, αλλιώς PC <= PC+4. Kατά τη μεταγλώττιση αντικαθίσταται το label με την μετατόπιση, που είναι η διαφορά σε αριθμό εντολών της εντολής που προσδιορίζει το label και της εντολής που έπεται της εντολής διακλάδωσης (delay slot). Η μετατόπιση κυμαίνεται από μέχρι =LSB op=5 rs = 17 rt = 18 immediate = μ 6 Bits 5 Bits 5 Bits 16 Bits (κωδικοποίηση της εντολής του παραδείγματος) (IR) = 32 Bits

91 Εντολές Διακλάδωσης με Συνθήκη Υλοποίηση συνθηκών προσημασμένης σύγκρισης if reg[s1] = reg[s2] go to label BEQ $s1, $s2, label if reg[s1] reg[s2] go to label SLT $t0, $s1, $s2 BΝE $t0, $zero, label if reg[s1] reg[s2] go to label SLT $t0, $s2, $s1 BΝE $t0, $zero, label if reg[s1] reg[s2] go to label BΝE $s1, $s2, label if reg[s1] reg[s2] go to label SLT $t0, $s1, $s2 BEQ $t0, $zero, label if reg[s1] reg[s2] go to label SLT $t0, $s2, $s1 BEQ $t0, $zero, label Δεν υπάρχει έλεγχος υπερχείλισης. Το αποτέλεσμα της σύγκρισης (<,,, >) είναι πάντα ορθό στην περίπτωση που οι συγκρινόμενοι προσημασμένοι αριθμοί ανήκουν στην περιοχή από ( ) μέχρι ( )

92 Εντολές Ελέγχου Ροής Προγράμματος Εντολές μεταπήδησης (Jump) χωρίς συνθήκη η αλλαγή στη ροή του προγράμματος γίνεται πάντα χωρίς να εξετασθεί κάποια συνθήκη η διεύθυνση της επόμενης εντολής που πρόκειται να εκτελεσθεί, εάν είναι γνωστή κατά το στάδιο της μεταγλώττισης, προσδιορίζεται με PC - σχετική διευθυνσιοδότηση, αλλιώς προσδιορίζεται δυναμικά κατά την εκτέλεση του προγράμματος συνήθως με διευθυνσιοδότηση δό καταχωρητή

93 Εντολές Μεταπήδησης (Τύπου R) Εντολή Περιγραφή JR $t0 Jump register, PC <= reg[t0] Διευθυνσιοδότηση καταχωρητή

94 Εντολές Μεταπήδησης (Τύπου R) JR rs op=0x00 funct=0x08 PC <= reg[rs] Παράδειγμα : JR $t0 H ενεργή ήδιεύθυνση της εντολής που πρόκειται να εκτελεσθεί μετά τη μεταπήδηση είναι αποθηκευμένη αρχικά στον καταχωρητή $t0 = $8 και μεταφέρεται στο μετρητή προγράμματος PC =LSB op=0 rs=8 rt=0 rd=0 shamt=0 funct=8 (IR) 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = 32 Bits (κωδικοποίηση της εντολής του παραδείγματος)

95 Εντολές Ελέγχου Ροής Προγράμματος Εντολές κλήσης διαδικασίας - επιστροφής από διαδικασία με την κλήση της διαδικασίας η επόμενη εντολή που πρόκειται να εκτελεσθεί είναι η πρώτη εντολή της διαδικασίας ασίας που καλείται α η διεύθυνση της πρώτης εντολής της διαδικασίας που καλείται, εάν είναι γνωστή κατά το στάδιο της μεταγλώττισης, προσδιορίζεται με PC - σχετική διευθυνσιοδότηση, αλλιώς προσδιορίζεται δυναμικά κατά την εκτέλεση του προγράμματος συνήθως με διευθυνσιοδότηση καταχωρητή μετά την ολοκλήρωση της εκτέλεσης της διαδικασίας η ροή του προγράμματος επιστρέφει στην αμέσως επόμενη εντολή μετά την εντολή κλήσης της διαδικασίας που καλεί (με την εκτέλεση της εντολής επιστροφής σαν τελευταία εντολή της διαδικασίας που καλείται) για να εκτελεσθεί η εντολή επιστροφής πρέπει η διεύθυνσή της αμέσως επόμενης εντολής μετά την εντολή κλήσης της διαδικασίας να έχει ήδη αποθηκευθεί σε καταχωρητή ή στη στοίβα κατά την εκτέλεση της εντολής κλήσης της διαδικασίας

96 Εντολές Ελέγχου Ροής Προγράμματος Εντολές κλήσης διαδικασίας - επιστροφής από διαδικασία Μέθοδοι διατήρησης περιεχομένων καταχωρητών για να χρησιμοποιηθούν ξανά από τη διαδικασία που καλεί μετά την εκτέλεση της διαδικασίας που καλείται η διαδικασία που καλεί σώζει τα περιεχόμενα των καταχωρητών, που θέλει να διατηρήσει και μετά την εκτέλεση της διαδικασίας που καλείται, σε μία στοίβα πριν από την κλήση της διαδικασίας που καλείται (caller - saving) η διαδικασία που καλείται σώζει τα περιεχόμενα των καταχωρητών που θα χρησιμοποιήσει κατά την εκτέλεσή της σε μία στοίβα (callee - saving) Μεταφορά παραμέτρων από τη μία διαδικασία στην άλλη γίνεται και μέσω της στοίβας Η στοίβα είναι πολύ χρήσιμη και υλοποιείται στη μνήμη του υπολογιστή

97 Εντολές Κλήσης Διαδικασίας (Τύπου R) Εντολή Περιγραφή JALR $t0 Jump and link register, reg[ra] <= PC+4 & PC <= reg[t0] Διευθυνσιοδότηση καταχωρητή

98 Εντολές Κλήσης Διαδικασίας (Τύπου R) JALR rs, rd op=0x00 funct=0x09 reg[rd] <= PC + 4 (default : rd = $ra = $31) PC <= reg[rs] Παράδειγμα : JALR $t0 Η διεύθυνση της επόμενης εντολής (PC+4) αποθηκεύεται στον $ra = $31 κατά τη διαδικασία της σύνδεσης (link). H ενεργή διεύθυνση της εντολής που πρόκειται να εκτελεσθεί μετά τη μεταπήδηση είναι αποθηκευμένη αρχικά στον καταχωρητή $t0 = $8 και μεταφέρεται στο μετρητή προγράμματος PC =LSB op=0 rs=8 rt=0 rd=31 shamt=0 funct=9 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits (κωδικοποίηση της εντολής του παραδείγματος) (IR) = 32 Bits

99 Εντολές Επιστροφής από Διαδικασία (Τύπου R) Εντολή Περιγραφή JR $ra Jump register, PC <= reg[ra] Διευθυνσιοδότηση καταχωρητή

100 Εντολές Επιστροφής από Διαδικασία (Τύπου R) JR rs op=0x00 funct=0x08 PC <= reg[rs] Παράδειγμα : JR $ra H ενεργή ήδιεύθυνση της εντολής που πρόκειται να εκτελεσθεί μετά την επιστροφή από τη διαδικασία, έχει ήδη αποθηκευθεί στον καταχωρητή $ra = $31 κατά την κλήση της διαδικασίας (με τη χρήση των εντολών JAL και JALR) και μεταφέρεται στο μετρητή προγράμματος PC =LSB op=0 rs=31 rt=0 rd=0 shamt=0 funct=8 (IR) 6 Bits 5 Bits 5 Bits 5 Bits 5 Bits 6 Bits = 32 Bits (κωδικοποίηση της εντολής του παραδείγματος)

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

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Μάθημα 2 ο Σύνολα Εντολών Οι εντολές που εκτελεί ο κάθε επεξεργαστής (ή οικογένεια επεξεργαστών) MIPS ARM SPARC PowerPC IA-32 Αρχιτεκτονικές συνόλου εντολών Βασικές Έννοιες Εντολές μηχανής

Διαβάστε περισσότερα

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

Σύγχρονες Αρχιτεκτονικές Υπολογιστών ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ Σύγχρονες Αρχιτεκτονικές Υπολογιστών ΑΚΑ ΗΜΑΪΚΟ ΕΤΟΣ 2014-2015 Αρχιτεκτονική Συνόλου Εντολών (Instruction Set Architecture-ISA) 1 Ένας υπολογιστής

Διαβάστε περισσότερα

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

Εντολές του MIPS (2) ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι Διάλεξη 3 Εντολές του MIPS (2) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Παράδειγμα (συνέχεια από προηγ. διάλεξη) $s3

Διαβάστε περισσότερα

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

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 3 Εντολές του MIPS (2) ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 3 Εντολές του MIPS (2) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Y Παράδειγμα (συνέχεια από προηγ. διάλεξη) $s3 = &A[0] = 0x0001080 &A[8]

Διαβάστε περισσότερα

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

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή (συνέχεια) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση:

Διαβάστε περισσότερα

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly Αρης Ευθυμίου Το σημερινό μάθημα! Σύνταξη εντολών! Θέματα σχετικά με τη προσπέλαση, οργάνωση μνήμης διευθύνση για κάθε byte διευθύνσεις λέξεων

Διαβάστε περισσότερα

Σχεδίαση της Διόδου Δεδομένων

Σχεδίαση της Διόδου Δεδομένων ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - VHDL ΥΛΙΚΟ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ενότητα 4 Σχεδίαση της Διόδου Δεδομένων Καθηγητής Αντώνης Πασχάλης 207 Γενικές Γραμμές Επεξεργαστής

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικό σύνολο εντολών Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

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

Εντολές γλώσσας μηχανής Εντολές γλώσσας μηχανής Στον υπολογιστή MIPS η εντολή πρόσθεσε τα περιεχόμενα των καταχωρητών 17 και 20 και τοποθέτησε το αποτέλεσμα στον καταχωρητή 9 έχει την μορφή: 00000010001101000100100000100000 Πεδία

Διαβάστε περισσότερα

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

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή (συνέχεια) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση:

Διαβάστε περισσότερα

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

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Κώδικας μηχανής (E) Ο επεξεργαστής μπορεί να εκτελέσει το αρχιτεκτονικό σύνολο εντολών (instruction set architecture) Οι

Διαβάστε περισσότερα

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

Αριθμητική Υπολογιστών (Κεφάλαιο 3) ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι Διάλεξη 9 Αριθμητική Υπολογιστών (Κεφάλαιο 3) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Αριθμητική για υπολογιστές

Διαβάστε περισσότερα

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 9 : Ομάδες Εντολών: Ιδιότητες και Λειτουργίες Ευάγγελος Καρβούνης Παρασκευή, 15/01/2016 Τι είναι ομάδα εντολών;

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικό σύνολο εντολών Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

LANGUAGE OF THE MACHINE. TEI Κρήτης, Τμ. ΕΠΠ, Αρχιτεκτονική Υπολογιστών. Οργάνωση Υπολογιστή. Τυπική οργάνωση υπολογιστή INSTRUCTIONS LANGUAGE OF THE MACHINE Οργάνωση Υπολογιστή Τυπική οργάνωση υπολογιστή 1 Εκτέλεση προγραμμάτων σε υπολογιστή INSTRUCTION SET Οι λέξεις στη γλώσσα μηχανής ονομάζονται εντολές (instructions)

Διαβάστε περισσότερα

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους; Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) (Δομή Εντολών και Παραδείγματα) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης Αρχιτεκτονική

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) (Δομή Εντολών και Παραδείγματα) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Αρχιτεκτονική

Διαβάστε περισσότερα

Περιγραφή αρχιτεκτονικής MIPS MIPS assembly (1o και 2o μέρος)

Περιγραφή αρχιτεκτονικής MIPS MIPS assembly (1o και 2o μέρος) Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης Περιγραφή αρχιτεκτονικής MIPS MIPS assembly (1o και 2o μέρος) Άδεια Χρήσης Το

Διαβάστε περισσότερα

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

και η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath O επεξεργαστής: Η δίοδος δεδοµένων (path) και η µονάδα ελέγχου (control) Σχεδίαση path 4 κατηγορίες εντολών: Αριθµητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη µνήµη (lw, sw) I

Διαβάστε περισσότερα

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 7ο ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Γενικό διάγραμμα υπολογιστικού συστήματος Γενικό διάγραμμα υπολογιστικού συστήματος - Κεντρική Μονάδα Επεξεργασίας ονομάζουμε

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Διαδικασίες Ι. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 4 ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι Διάλεξη 4 Διαδικασίες Ι Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Εισαγωγή στους Η/Υ (ΗΥ134) 1 Διευθυνσιοδότηση διακλαδώσεων

Διαβάστε περισσότερα

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

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Σχεδίαση datapath Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη μνήμη (lw,

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Τι εννοούμε με τον όρο υπολογιστικό σύστημα και τι με τον όρο μικροϋπολογιστικό σύστημα; Υπολογιστικό

Διαβάστε περισσότερα

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

Τεχνολογίες ημιαγωγών. Chapter 2 Instructions: Language of the Computer 1 Τεχνολογίες ημιαγωγών Chapter 2 Instructions: Language of the Computer 1 Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή Διαφάνειες

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικό σύνολο εντολών Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

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

ΕΠΛ605 Εργασία 1 Ημερομηνία Παράδοσης 12/9/2018 στην αρχή του μαθήματος ΕΠΛ605 Εργασία 1 Ημερομηνία Παράδοσης 12/9/2018 στην αρχή του μαθήματος Ε.1 Σας δίνεται ο πιο κάτω κώδικας. Ξαναγράψτε τον ώστε να μειωθεί ο αριθμός των εντολών του αλλά διατηρώντας την ίδια λειτουργιά

Διαβάστε περισσότερα

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 5ο μάθημα:αρχές, ιδιότητες αρχιτεκτονικού συνόλου εντολών (ISA) Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Εσωτερική αποθήκευση

Διαβάστε περισσότερα

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

Τελική Εξέταση, Απαντήσεις/Λύσεις ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) HMΜY 212 Οργάνωση Η/Υ και Μικροεπεξεργαστές Εαρινό Εξάμηνο, 2007 Τελική Εξέταση, Απαντήσεις/Λύσεις Άσκηση 1: Assembly για

Διαβάστε περισσότερα

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

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση: Καθ.

Διαβάστε περισσότερα

Σχεδίαση της Μονάδας Ελέγχου

Σχεδίαση της Μονάδας Ελέγχου ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - VHDL ΥΛΙΚΟ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ενότητα 5 Σχεδίαση της Μονάδας Ελέγχου Καθηγητής Αντώνης Πασχάλης 2017 Γενικές Γραμμές Σχεδίαση

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Γιώργος Δημητρίου Ενότητα 2 η : Σύνολα Εντολών Ιστορική Αναδρομή Από τις πρώτες εντολές υπολογιστών Αρχιτεκτονική Συνόλου Εντολών Στοίβας Συσσωρευτή Επέκταση συσσωρευτή Καταχωρητών γενικού σκοπού Καταχωρητή-Μνήμης

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Chapter 3 Αριθμητική Υπολογιστών Chapter 3 Αριθμητική Υπολογιστών Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση: Καθ. Εφαρμογών Νικόλαος Πετράκης, Τμήματος Ηλεκτρονικών Μηχανικών του Τ.Ε.Ι. Κρήτης. Τελευταία

Διαβάστε περισσότερα

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

1 η Ενδιάμεση Εξέταση Απαντήσεις/Λύσεις ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) HMΜY 212 Οργάνωση Η/Υ και Μικροεπεξεργαστές Εαρινό Εξάμηνο, 2007 1 η Ενδιάμεση Εξέταση Απαντήσεις/Λύσεις Άσκηση 1: Σωστό/Λάθος

Διαβάστε περισσότερα

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

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Σχεδίαση datapath Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη μνήμη (lw,

Διαβάστε περισσότερα

Αρχιτεκτονικές Συνόλου Εντολών

Αρχιτεκτονικές Συνόλου Εντολών Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Αρχιτεκτονικές Συνόλου Εντολών (Instruction Set Architectures - ISA) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Ο

Διαβάστε περισσότερα

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

6. Επιστροφή ελέγχου στο σημείο εκκίνησης Υποστήριξη διαδικασιών στο υλικό των υπολογιστών Βήματα στην εκτέλεση μιας διαδικασίας (procedure) 1. Τοποθέτηση παραμέτρων 2. Μεταβίβαση ελέγχου στη διαδικασία 3. Λήψη πόρων αποθήκευσης 4. Εκτέλεση επιθυμητής

Διαβάστε περισσότερα

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ» Περιεχόμενα Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»... 2 Καταχωρητές... 3 Αριθμητική-λογική μονάδα... 3 Μονάδα μνήμης... 4 Μονάδα Εισόδου - Εξόδου... 5 Μονάδα ελέγχου... 5 Ρεπερτόριο Εντολών «ΑΒΑΚΑ»... 6 Φάση

Διαβάστε περισσότερα

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86 ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86 Αρης Ευθυμίου Το σημερινό μάθημα! Λυση του lab02! Αρχιτεκτονική ARM σε τι μοιάζει και σε τι διαφέρει από τον MIPS! Αρχιτεκτονική x86 μια γρήγορη ματιά στη

Διαβάστε περισσότερα

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

Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 2 ο Σύντομη Επανάληψη. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Μάθημα 2 ο Σύντομη Επανάληψη Από την Εισαγωγή στους Η/Υ Γλώσσες Μηχανής Πεδία εντολής Μέθοδοι διευθυνσιοδότησης Αρχιτεκτονικές συνόλου εντολών Κύκλος εντολής Αλγόριθμοι/Υλικό Αριθμητικών

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

MIPS functions and procedures

MIPS functions and procedures Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης MIPS functions and procedures Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

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

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή (συνέχεια) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση:

Διαβάστε περισσότερα

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

Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου. Ενδέκατη (11 η ) δίωρη διάλεξη. Chapter 5 Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου Ενδέκατη (11 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση: Καθ. Εφαρμογών Νικόλαος Πετράκης,

Διαβάστε περισσότερα

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

ΠΛΕ- 027 Μικροεπεξεργαστές ΠΛΕ- 027 Μικροεπεξεργαστές 2ο μάθημα: γλώσσα μηχανής MIPS, προγραμματισμός assembly Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Σύνολο εντολών μηχανής Το λεξιλόγιο

Διαβάστε περισσότερα

Chapter 3. Αριθμητική Υπολογιστών. Έβδομη (7 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

Chapter 3. Αριθμητική Υπολογιστών. Έβδομη (7 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 3 Αριθμητική Υπολογιστών Έβδομη (7 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση),

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εργαστήριο Αρ. 1. Εισαγωγή στην Αρχιτεκτονική MIPS. Πέτρος Παναγή Σελ. 1 Εργαστήριο Αρ. 1 Εισαγωγή στην Αρχιτεκτονική MIPS Πέτρος Παναγή Σελ. 1 Πώς Δημιουργείτε ένα Executable Αρχείο Source File: Ένα TEXT αρχείο με τον πυγαίο κώδικα. Assemble: Μεταφράζει τις assembly εντολές

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Υποστήριξη διαδικασιών στο υλικό των υπολογιστών Βήματα στην εκτέλεση μιας διαδικασίας (procedure) 1. Τοποθέτηση παραμέτρων 2. Μεταβίβαση ελέγχου στη διαδικασία 3. Λήψη πόρων αποθήκευσης 4. Εκτέλεση επιθυμητής εργασίας 5. Τοποθέτηση αποτελέσματος σε

Διαβάστε περισσότερα

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

Τέτοιες λειτουργίες γίνονται διαμέσου του Για κάθε εντολή υπάρχουν δυο βήματα που πρέπει να γίνουν: Προσκόμιση της εντολής (fetch) από τη θέση που δείχνει ο PC Ανάγνωση των περιεχομένων ενός ή δύο καταχωρητών Τέτοιες λειτουργίες γίνονται διαμέσου

Διαβάστε περισσότερα

Στοιχεία από Assembly Γιώργος Μανής

Στοιχεία από Assembly Γιώργος Μανής Στοιχεία από Assembly 8086 Γιώργος Μανής Καταχωρητές καταχωρητές γενικής φύσης καταχωρητές δείκτες καταχωρητές αναφοράς καταχωρητές τµηµάτων ειδικοί καταχωρητές Καταχωρητές γενικής φύσης 16 bit ax, bx,

Διαβάστε περισσότερα

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

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ Γιώργος Δημητρίου Μάθημα 5 ο ΠΜΣ Εφαρμοσμένη Πληροφορική ΣΥΝΟΛΙΚΗ ΔΟΜΗ ΚΜΕ Μία ή περισσότερες μονάδες αριθμητικών και λογικών πράξεων Μονάδα ολίσθησης Φάκελος καταχωρητών γενικού

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 9 : Ομάδες Εντολών: Ιδιότητες και Λειτουργίες Φώτης Βαρζιώτης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα Τμήμα Μηχανικών

Διαβάστε περισσότερα

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

Οργάνωση Υπολογιστών (Ι) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Οργάνωση Υπολογιστών (Ι) (η κεντρική μονάδα επεξεργασίας) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΠΡΩΤΗ ΠΡΟΟΔΟΣ ΣΤΗΝ «ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Y» ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΠΡΩΤΗ ΠΡΟΟΔΟΣ ΣΤΗΝ «ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Y» Σάββατο, 31 Οκτωβρίου 2015 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 150 ΛΕΠΤΑ ΘΕΜΑ 1.

Διαβάστε περισσότερα

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

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή (συνέχεια) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση:

Διαβάστε περισσότερα

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 11-12 : Δομή και Λειτουργία της CPU Ευάγγελος Καρβούνης Παρασκευή, 22/01/2016 2 Οργάνωση της CPU Η CPU πρέπει:

Διαβάστε περισσότερα

Θέµατα Φεβρουαρίου

Θέµατα Φεβρουαρίου Θέµατα Φεβρουαρίου 2-2 cslab@ntua 2- Θέµα ο (3%): Έστω η παρακάτω ακολουθία εντολών που χρησιµοποιείται για την αντιγραφ από µια θέση µνµης σε µια άλλη (memory-to-memory copy): lw $2, ($) sw $2, 2($) i)

Διαβάστε περισσότερα

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

Τρόποι Διευθυνσιοδότησης Τρόποι Διευθυνσιοδότησης στους Μικροεπεξεργαστές MIPS-32 (Διάλεξη 2) 1 Τρόποι Διευθυνσιοδότησης Η διεύθυνση μνήμης μπορεί να δηλωθεί με 6 τρόπους : 1. Περιεχόμενο καταχωρητή: 2. Άμεση τιμή: 3. Άμεση τιμή

Διαβάστε περισσότερα

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

Κεφάλαιο 2. Εντολές: η γλώσσα του υπολογιστή Κεφάλαιο 2 Εντολές: η γλώσσα του υπολογιστή Σύνολο εντολών Σύνολο εντολών (Instruction set) Το «ρεπερτόριο» των εντολών ενός υπολογιστή Διαφορετικοί υπολογιστές έχουν διαφορετικά σύνολα εντολών Αλλά με

Διαβάστε περισσότερα

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

Κεφάλαιο 2. Εντολές: η γλώσσα του υπολογιστή Κεφάλαιο 2 Εντολές: η γλώσσα του υπολογιστή Σύνολο εντολών Σύνολο εντολών (Instruction set) Το «ρεπερτόριο» των εντολών ενός υπολογιστή Διαφορετικοί υπολογιστές έχουν διαφορετικά σύνολα εντολών Αλλά με

Διαβάστε περισσότερα

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;

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; Άσκηση 1 η Μέρος Α Ζητούμενο: Δίνεται το παρακάτω πρόγραμμα σε C καθώς και μια μετάφραση του σε assembly MIPS. Συμπληρώστε τα κενά. Σας υπενθυμίζουμε ότι ο καταχωρητής $0 (ή $zero) είναι πάντα μηδέν. int

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών. Data. Κείμενο. Βίντεο. Αριθμοί Εικόνες. Ήχοι Data Κείμενο Βίντεο Αριθμοί Εικόνες Ήχοι 1 Τα δεδομένα στους ηλεκτρονικούς υπολογιστές αναπαρίστανται σαν αριθμοί Οι αριθμοί αποθηκεύονται σε bits (δυαδικό σύστημα). Θέματα: Πως αναπαριστώνται οι αρνητικοί

Διαβάστε περισσότερα

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι)

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Οργάνωση Υπολογιστών (Ι) (η κεντρική μονάδα επεξεργασίας) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα

Διαβάστε περισσότερα

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

Συναρτήσεις-Διαδικασίες ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 4 Συναρτήσεις-Διαδικασίες Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Διαδικασίες (procedures) Γνωστές και σαν υπορουτίνες (subroutines)

Διαβάστε περισσότερα

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

Single Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 2014-2015 Νεκ. Κοζύρης nkoziris@cslab.ece.ntua.gr Single Cycle Datapath http://www.cslab.ece.ntua.gr/courses/comparch/ Άδεια Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 7: Αποκωδικοποίηση Εντολής x86 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

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

ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Ονοματεπώνυμο: ΑΜ: ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ονοματεπώνυμο: ΑΜ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ (τμήμα Μ - Ω) Κανονική εξεταστική Φεβρουαρίου

Διαβάστε περισσότερα

Ερωτήσεις θεωρίας MY. Μέρος Α. Υλικό.

Ερωτήσεις θεωρίας MY. Μέρος Α. Υλικό. Ερωτήσεις θεωρίας MY Μέρος Α. Υλικό. 1. Η μνήμη ROM είναι συνδυαστικό ή ακολουθιακό κύκλωμα; 2. α) Να σχεδιαστεί μία μνήμη ROM που να δίνει στις εξόδους της το πλήθος των ημερών του μήνα, ο αριθμός του

Διαβάστε περισσότερα

Αναπαράσταση Δεδομένων. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Αναπαράσταση Δεδομένων. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Αναπαράσταση Δεδομένων ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Αναπαράσταση δεδομένων Κατάλληλη συμβολική αναπαράσταση δεδομένων, για απλοποίηση βασικών πράξεων, όπως πρόσθεση Πόσο εύκολο είναι

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών 9 ο Μάθημα Γλώσσα Μηχανής Δυαδική Απεικόνιση Μέχρι στιγμής χρησιμοποιούμε την assembly: Δίνουμε ονόματα σε πράξεις (όπως add) και σε συντελεστές

Διαβάστε περισσότερα

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΜΣ Εφαρμοσμένη Πληροφορική Οργάνωση και Σχεδίαση Η/Υ Πρώτη Σειρά Ασκήσεων 7 Απριλίου 2017 ενδεικτική παράδοση: 5 Μαΐου Για

Διαβάστε περισσότερα

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

Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών 1 Άδειες Χρήσης Το παρόν υλικό

Διαβάστε περισσότερα

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

Διαδικασίες ΙI. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 5 ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι Διάλεξη 5 Διαδικασίες ΙI Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Εισαγωγή στους Η/Υ (ΗΥ134) 1 Κατανομή μνήμης Κείμενο

Διαβάστε περισσότερα

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Οργάνωση Η/Υ Ενότητα 1η: Εισαγωγή στην Οργάνωση Η/Υ Άσκηση 1: Αναλύστε τη διαδοχική εκτέλεση των παρακάτω εντολών MIPS με βάση τις

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Κ. Δεμέστιχας Εργαστήριο Πληροφορικής Γεωπονικό Πανεπιστήμιο Αθηνών Επικοινωνία μέσω e-mail: cdemest@aua.gr, cdemest@cn.ntua.gr 3. ΑΡΙΘΜΗΤΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΜΕΡΟΣ Β Παράσταση Προσημασμένων

Διαβάστε περισσότερα

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ.

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Πληροφορική Ι Αναπαράσταση αριθμών στο δυαδικό σύστημα Δρ. Γκόγκος Χρήστος Δεκαδικό σύστημα αρίθμησης Ελληνικό - Ρωμαϊκό Σύστημα αρίθμησης

Διαβάστε περισσότερα

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

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Intel x86 ISA. Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών ΗΥ ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Intel x86 ISA Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών ΗΥ RISC vs. CISC Η assembly των επεξεργαστών ARM, SPARC (Sun), και Power (IBM) είναι όμοιες

Διαβάστε περισσότερα

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

Κεφάλαιο 2 Εντολές Η γλώσσα της Μηχανής (Instructions Language of the Computer) Κεφάλαιο 2 Εντολές Η γλώσσα της Μηχανής (Instructions Language of the Computer) 1 Ανακοινώσεις Ιστοσελίδα μαθήματος ΗΜΥ 212, ενημερώνεται συχνά: http://www.ece.ucy.ac.cy/courses/ece212/ Ιστοσελίδα εργαστηρίου

Διαβάστε περισσότερα

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2017-18 Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) (Αρχιτεκτονική x86-64) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Αρχιτεκτονική

Διαβάστε περισσότερα

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή Εισαγωγή Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ Σκοπός του εργαστηρίου είναι να γνωρίσουµε την εσωτερική δοµή και αρχιτεκτονική της κεντρικής µονάδας επεξεργασίας, να κατανοήσουµε τον τρόπο µε τον οποίο λειτουργεί

Διαβάστε περισσότερα

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

ΠΛΕ- 027 Μικροεπεξεργαστές ΠΛΕ- 027 Μικροεπεξεργαστές 3ο μάθημα: γλώσσα μηχανής MIPS, προγραμματισμός assembly Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Stored Program Computers Αναπαράσταση

Διαβάστε περισσότερα

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

Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής. Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 2 ο Σύντοµη Επανάληψη Γιώργος ηµητρίου Μάθηµα 2 ο Σύντοµη Επανάληψη Από την Εισαγωγή στους Η/Υ Γλώσσες Μηχανής n Πεδία εντολής n Μέθοδοι διευθυνσιοδότησης n Αρχιτεκτονικές συνόλου εντολών n Κύκλος εντολής Αλγόριθµοι/Υλικό Αριθµητικών

Διαβάστε περισσότερα

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

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ Γιώργος Δημητρίου Μάθημα 3 ο ΠΜΣ Εφαρμοσμένη Πληροφορική ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΣΥΝΟΛΟΥ ΕΝΤΟΛΩΝ Αρχιτεκτονικές συσσωρευτή Αρχιτεκτονικές επέκτασης συσσωρευτή Αρχιτεκτονικές στοίβας Αρχιτεκτονικές

Διαβάστε περισσότερα

; Τι περιέχεται στη συσκευασία ενός μικροεπεξεργαστή σήμερα;

; Τι περιέχεται στη συσκευασία ενός μικροεπεξεργαστή σήμερα; Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Αρχιτεκτονικές Συνόλου Εντολών (Instruction Set Architectures - ISA) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Τι

Διαβάστε περισσότερα