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

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

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

Transcript

1 Αρχιτεκτονική Υπολογιστών Mic-1 και IJVM Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam. Computer Organization, W. Robinson, CS-231, Vanderbildt Univesrity. Mic-1 Programming Simulator, D. Carlson, St. Vincents College. Priniciples of Computer Organization, R. Ontko, Earlham College. Mic-1 simulator Mic-1MMV simulator, Rick Salter, Oberlin College. Mic-1 Architecture, Monash University. Σύνθεση: Κ.Γ. Μαργαρίτης, Πανεπιστήμιο Μακεδονίας, Τμήμα Εφαρμοσμένης Πληροφορικής.

2 Αρχιτεκτονική Υπολογιστών Mic-1 και IJVM Περιγραφή και στοιχεία υλοποίησης του Mic-1 Παράδειγμα Αρχιτεκτονικής Συνόλου Εντολών: IJVM Προσομοιωτής Mic-1 και Προγραμματισμός JAS Υλοποίηση της IJVM στο Mic-1

3 Μικροαρχιτεκτονική Mic-1 Δύο βασικά τμήματα: Διαδρομή Δεδομένων (Datapath) = λογική αφαίρεση της CPU όπως τη 'βλέπει' η ISA. Έλεγχος (Control) = η υλοποίηση της διερμηνείας της ISA απο το επίπεδο της μικροαχιτεκτονικής.

4 Mic-1 Διαδρομή Δεδομένων Οι εσωτερικοί δίαυλοι και οι μονάδες επεξεργασίας και αποθήκευσης δεδομένων του επεξεργαστή Mic-1. Υλοποιεί την Αρχιτεκτονική Συνόλου Εντολών (ISA) Integer Java Virtual Machine (IJVM), υποσύνολο της JVM. Αρχιτεκτονική 32-bit word αλλά byte addressable.

5 Mic-1 Δίαυλοι Δίαυλος Α Έξοδος μόνο για καταχωρητή H. Είσοδος στην ALU. Δίαυλος Β Έξοδος για όλους τους άλλους καταχωρητές εκτός του MAR. Μόνο ένας καταχωρητής κάθε φορά. Είσοδος στην ALU. Δίαυλος C Είσοδος σε όλους τους καταχωρητές. Πολλοί καταχωρητές μαζί (ίσως). Έξοδος της ALU μέσω Ολισθητή.

6 Mic-1 Καταχωρητές (1) Καταχωρητής Διευθύνσεων Μνήμης Memory Address Register (MAR) * Περιέχει διευθύνσεις μνήμης 32 bits. Καταχωρητής Δεδομένων Μνήμης Memory Data Register (MDR) * Περιέχει δεδομένα από/προς τη μνήμη μεγέθους 32 bits. Μετρητής Προγράμματος Programm Counter (PC) * Περιέχει τη διεύθυνση της επόμενης προς εκτέλεση εντολής. Καταχωρητής Απομονωτή Μνήμης Μemory Buffer Register (MBR) * Περιέχει δεδομένα 1 byte από τη μνήμη (κωδικό λειτουργίας, opcode)

7 Mic-1 Καταχωρητές (2) Δείκτης Στοίβας Stack Pointer (SP) * Περιέχει τη διεύθυνση της κορυφής της στοίβας τοπικών μεταβλητών. Τοπικές Μεταβλητές Local Variables (LV) * Περιέχει τη διεύθυνση της βάσης τoυ χώρου τοπικών μεταβλητών. Δείκτης Δεξαμενής Σταθερών Constant Pool Pointer (CPP) * Περιέχει τη διεύθυνση της βάσης της περιοχής των σταθερών.

8 Mic-1 Καταχωρητές (3) Κορυφή της Στοίβας Top Of the Stack (TOS) * Περιέχει ή δείχνει τη κορυφή της στοίβας τοπικών μεταβλητών (διμελείς πράξεις στοίβας και κλήσεις μεθόδων). Προσωρινός Καταχωρητής Old Program Counter (OPC) * Προσωρινή αποθήκευση ενδιάμεσων αποτελεσμάτων για έλεγχο ροής προγράμματος (σε κλήσεις μεθόδων ο παλιός PC προς αποθήκευση). Καταχωτητής Βοήθειας Help regsiter (H) * Προσωρινή αποθήκευση ενδιάμεσων αποτελεσμάτων για πράξεις ALU.

9 Mic-1: Έλεγχος Διαδρομής Δεδομένων Β bus enable * Επιλογή ενός καταχωρητή για εγγραφή στο Δίαυλο B. C bus enable * Επιλογή καταχωρητών για ανάγνωση από το Δίαυλο C. Έλεγχος ALU * 6 σήματα για επιλογή πράξεων ALU, τα F0, F1, ENA, ENB, INVA, INC. N και Ζ * Negative και Zero σήματα προς έλεγχοεπιλογή επόμενης λειτουργίας. Shifter Control * Έλεγχος Ολίσθησης SLL8 (Shift Left Logical 8 bits) SRA1(Shift Right Arithmetic 1 bit)

10 Έλεγχος Αριθμητικής Λογικής Μονάδας Συνδυασμοί σημάτων ελέγχου της ALU και οι πράξεις που αντιστοιχούν σε αυτούς.

11 Χρονισμός Διαδρομής Δεδομένων (1) Διάγραμμα χρονισμού ενός πλήρους κύκλου ρολογιού.

12 Χρονισμός Διαδρομής Δεδομένων (2) Κάθε κύκλος ρολογιού αντιστοιχεί σε μια μικροεντολή. Ο κύκλος χωρίζεται σε 5 'λογικούς' υπο-κύκλους: (Δw)σταθεροποίηση σημάτων, (Δx) έξοδος από καταχωρητές προς διαύλους Α, Β, (Δy) πράξεις και ολίσθηση, (Δz) είσοδος από δίαυλο C προς καταχωρητές, (..) σταθεροποίηση. Οι καταχωρητές ελέγχονται ουσιαστικά από την κάθοδο και την άνοδο της ακμής του ρολογιού: Kάθοδος = εγγραφή σε δίαυλο A, Β. Άνοδος = ανάγνωση από δίαυλο C. Η ALU δουλεύει συνεχώς αλλά η έξοδός της είναι ορθή μόνο στο τέλος του υποκύκλου (Δy). Απαιτείται: * Αυστηρός χρονισμός διαύλων * Σχετικά μακρός κύκλος ρολογιού * Ακριβής γνώση καθυστερήσεων διάδοσης σήματος στην ALU * Γρήγορη ανάγνωση / εγγραφή σε καταχωρητές.

13 Mic-1: Λειτουργία Μνήμης (1) Δύο θύρες μνήμης: * Μια R/W 32-bit (word addressable) για δεδομένα, MDR <=> mem(mar) bytes 0, 4, 8,... Σήματα ελέγχου READ, WRITE * Μια RΟ 8-bit (byte addressable) για εντολές, low-bytembr <= mem(pc) bytes 0, 1, 2... Σήμα ελέγχου FETCH. Ειδικός έλεγχος MBR (δυο βέλη): * απρόσημος (index/offset): 0x000low-byteMBR * προσημασμένος (sign extention): 0x000low-byteΜΒR ή 0x111low-byteMBR

14 Mic-1: Λειτουργία Μνήμης (2) word byte 000C 000C D E F A 000B Διευθύνσεις PC = 0000 PC+1 = 0001 MAR = 0000 MAR+1 = 0004 LV = 0004 LV+1 = 0008 SP = 0004 SP+1 = 0008 byte-addressable word-addessable

15 Mic-1: Λειτουργία Μνήμης (3) Απεικόνιση των bits του MAR στο δίαυλο διευθύνσεων ώστε η φυσική byte addressable μνήμη να αντιστοιχεί με λογική word addessable μνήμη για τα δεδομένα.

16 Μικροεντολές Η μορφή μικροεντολής του Mic-1. Addr : Διεύθυνση πιθανής επόμενης μικροεντολής. JAM : Προσδιορίζει πώς επιλέγεται η επόμενη μικροεντολή. ALU : Πράξεις ALU και Ολισθητή. C : Επιλογή καταχωρητών που θα διαβάσει δεδομένα από το δίαυλο C. Mem : Λειτουργίες Μνήμης Β : Επιλογή καταχωρητή που θα γράψει δεδομένα στο δίαυλο Β.

17 Ελεγχος Μικροεντολών *ROM μικροεντολών μεγέθους 512x36 bits. *H προς εκτέλεση μικροεντολή βρικεται στο Καταχωρητή Μικρο Εντολών (MIR). *Κάθε μικροεντολή ορίζει την επόμενη, όχι απαραίτητα ακολουθιακή εκτέλεση. * Ο Μετρητής Μικρο Προγράμματος (MPC) καθορίζεται από συνδυασμό - MBR - Addr - JAMN/JAMZ/JMPC - N/Z

18 Μικρο-εκτέλεση 1. Φόρτωση MIR από μικροrom(mpc). Σήματα ελέγχου Δw. 2. Σήματα προς διαδρομή δεδομένων, λειτουργίες διαύλων Α, Β. Δx. 3. Λειτουργίες ALU, Ολισθητή και Μνήμης. Δy. 4. Λειτουργίες διαύλου C, φόρτωση Ν/Ζ, φόρτωση καταχωρητών και MDR, MBR από Μνήμη. Δz. 5. Προετοιμασία νέου MPC.

19 Μάκρο-εκτέλεση Ανάκληση- Εκτέλεση 1. MBR = mem(pc); PC = PC Αποκωδικοποίηση (MBR). 3. Ανάκληση τελεστέων 4. Εκτέλεση εντολής 5. Αποθήκευση αποτελέσματος 6. Πίσω στο βήμα 11 Κάθε ένα από τα παραπάνω βήματα εκτελείται μέσω μιας σειράς μικρο-εκτελέσων. Κάθε εντολή IJVM μπορεί να απαιτεί ένα ή περισσότερους κύκλους μηχανής (clock cylcles).

20 Αρχιτεκτονική Υπολογιστών Mic-1 και IJVM Περιγραφή και στοιχεία υλοποίησης του Mic-1 Παράδειγμα Αρχιτεκτονικής Συνόλου Εντολών: IJVM Προσομοιωτής Mic-1και Προγραμματισμός JAS Υλοποίηση της IJVM στο Mic-1

21 Στοίβες (1) Χρήση στοίβας για την αποθήκευση τοπικών μεταβλητών. (a) Ενεργή η κύρια μέθοδος A. (b) Η A έχει καλέσει τη B. (c) Η B έχει καλέσει τη C. (d) Οι C και B έχουν επιστρέψει και η A έχει καλέσει τη D.

22 Στοίβες (2) Χρήση μιας στοίβας τελεστέων (operands) για την εκτέλεση αριθμητικών πράξεων. (a) push LV+1 (εκεί που δείχνει ο LV συν μια θέση / word) (b) push LV+2 (c) add = (pop στην ALUinA, pop στην ALUinB, add, push ALUout) (d) pop LV

23 Το μοντέλο μνήμης της IJVM (1) Δεξαμενή Σταθερών Πλαίσιο Τοπικών Μεταβλητών Περιοχή Μεθόδων Στοίβα Τρεχόντων Τελεστέων Τα διάφορα μέρη του μοντέλου μνήμης της IJVM.

24 Το μοντέλο μνήμης της IJVM (2) Δεξαμενή Σταθερών * Δεν μπορεί να γραφεί από τη IJVM * Περιέχει σταθερές, συμβολοσειρές, δείκτες σε άλλες περιοχές μνήμη Πλαίσιο Τοπικών Μεταβλητών * Χώρος αποθήκευσης τοπικών μεταβλητών και παραμετρων για κάθε μέθοδο, όσο αυτή εκτελείται. Στοίβα Τρεχόντων Τελεστέων * Χώρος τελεστέων για τις πράξεις της τρέχουσας μεθόδου Περιοχή Μεθόδων * Περιέχει τον εκτελέσιμο κώδικα * Byte addressable

25 Το Σύνολο Εντολών της IJVM (1) opcode operand Οι τελεστέοι byte, const, και varnum έχουν μέγεθος 1 byte. Οι τελεστέοι disp, index, και offset έχουν μέγεθος 2 bytes.

26 Το Σύνολο Εντολών της IJVM (2) Αριθμητικές Πράξεις IADD pop a, pop b, c=a+b, push c ISUB pop a, pop b, c=a-b, push c IINC varnum const x = x+/-const (x τοπική μεταβλητή) varnum: σχετική διεύθυνση 1byte (από LV) const: ακέραιος 1 byte Λογικές Πράξεις IAND pop a, pop b, c=a AND b, push c IOR pop a, pop b, c=a OR b, push c

27 Το Σύνολο Εντολών της IJVM (3) Στοίβα και Μνήμη ILOAD varnum push x (x τοπική μεταβλητή) ISTORE varnum pop x (x τοπική μεταβλητή) BIPUSH byte push byte μετά από μετατροπή σε προσημασμένο 32 bit LDC_W index push x (x σταθερά) index: σχετική διεύθυνση 2 bytes (από CPP) Στοίβα DUP POP SWAP pop a, push a, push a (αντιγραφή) pop a (διαγραφή) pop a, pop b, push b, push a (ανταλλαγή)

28 Το Σύνολο Εντολών της IJVM (4) Έλεγχος Ροής GOTO offset IFEQ offset PC = PC +/- offset pop a if (a == 0) then PC = PC +/- offset IFLT offset pop a if (a < 0) then PC = PC +/- offset IF_ICMPEQ offset pop a, pop b, if (a == b) then PC = PC +/- offset offset: σχετική διεύθυνση 2bytes (PC) Βοηθητικές λειτουργίες NOP καμμία ενέργεια WIDE πρόθεμα για χρήση varnum 2 bytes αντί 1 byte

29 Το Σύνολο Εντολών της IJVM (5) Κλήση Μεθόδου INVOKEVIRUAL disp κλήση μεθόδου disp: σχετική έμμεση διεύθυνση 2bytes (CPP, PC) IRETURN επιστροφή από μέθοδο Οι εντολές αυτές αναλύονται παρακάτω.

30 Αρχιτεκτονική Υπολογιστών Mic-1 και IJVM Περιγραφή και στοιχεία υλοποίησης του Mic-1 Παράδειγμα Αρχιτεκτονικής Συνόλου Εντολών: IJVM Προσομοιωτής Mic-1 και Προγραμματισμός JAS Υλοποίηση της IJVM στο Mic-1

31 Εγκατάσταση και Χρήση (1) Μεταφόρτωση λογισμικού και οδηγιών στα ελληνικά από το Ακολουθούμε τις οδηγίες εγκατάστασης, ελέγχου λειτουργίας και παροχής βοήθειας. Παρακολούθηση Μικροεντολών, Διαδρομής Δεδομένων, Περιοχής Μεθόδου, Στοίβας, Δεξαμενής Σταθερών, Εισόδου και Εξόδου. Ιδιαίτερα χρήσιμη βοήθεια, περιλαμβάνει και εγχειρίδια προγραμματισμού. Δυνατότητα μεταβολής assembler και μικροκώδικα. Διαθέσιμος ο πηγαίος κώδικας και τεκμηρίωση ανάπτυξης. Συλλογική έργασία με GNU Public Licence.

32 Εγκατάσταση και Χρήση (2) Πακέτο Jar σε δύο 'διανομές', Ms-Windows και Linux Δομή καταλόγων, Τύποι Αρχείων bin (εκτελέσιμα) Mic1MMV_hr.jar, Mic1MMV_lr.jar, runmic1.bat lib (διαμόρφωση) ijvm.conf, mic1.properties, GNU.TXT examples (παραδείγματα) MAL / microassembler code MAL -> microisntruction code MIC1 mic1ijvm.mal: προεπιλεγμένος microassembler code JAS-IJVM / assembler code JAS -> machine code IJVM doc (τεκμηρίωση) UserGuide.jar: java -jar UserGuide.jar, UserGuide_hs.jar (μαζί) src (πηγαίος κώδικας) Mic1MMV_xxx.zip (source code for Mic-1 MMV)

33

34

35

36 Προγραμματισμός σε JAS Από το Help του Mic-1 πηγαίνουμε στο Program Operation Using Mic1-MMV Writing JAS Programs Πρέπει να μελετήσουμε το JAS Language Specification. * Δομή και σύνταξη της JAS (μακρο εντολές assembly) * IJVM και τρείς επιπλέον εντολές HALT IN OUT Τερματισμός προγράμματος Είσοδος byte/char από το πληκτρολόγιο (Input Area) Έξοδος byte/char στην οθόνη (Output Area)

37 Είσοδος και Έξοδος Παραδείγματα OUT και IN BIPUSH Ox41 // Load stack A OUT // Output A getch: reread: done: IN DUP IFEQ reread GOTO done POP GOTO getch... // Input char // Duplicate char for checking // If char = 0 read again // Valid char read // Discard 0 char // Read again // Done reading

38 Δομή Προγράμματος JAS // All constants declared within.constant and.end-constant.constant one 1 start 32 stop 126.end-constant // Main program starts here.main // All variables declared within.var and.end-var.var j i n.end-var // Main program goes here // Program execution is terminated with a HALT statement.end-main

39 Εκχώρηση Με BIPUSH βάζουμε μια τιμή στη στοίβα τελεστέων Με ISTORE τη μεταφέρουμε στη στοίβα τοπικών μεταβλητών BIPUSH 32 Δεκαδικό BIPUSH 032 Οκταδικό BIPUSH 0x32 Δεκαεξαδικό BIPUSH 'M Χαρακτήρας // i = 3 BIPUSH 3 ISTORE i Χρήση ΟΝΟΜΑΤΩΝ και δεκαδικών τιμών (σε JAS)

40 Πολύ Απλό Πρόγραμμα JAS // ****** main ( ) {.main // ****** int x;.var x.end-var // ****** x = 10; BIPUSH 10 ISTORE x HALT // ****** }.end-main

41 Εκχώρηση, Εκφράσεις (1) // i = 3; j = 4; n = i + j; // i = 3; j = 4; n = j i; BIPUSH 3 ISTORE i BIPUSH 3 ISTORE i BIPUSH 4 ISTORE j BIPUSH 4 ISTORE j ILOAD i ILOAD j IADD ISTORE n ILOAD j ILOAD i ISUB ISTORE n

42 Εκχώρηση, Εκφράσεις (2) // i = 3; j = 4; k = 5; n = i + j k + 2; // Reverse Polish Notation n = i j + k 2 + (βλ. ISA) BIPUSH 3 ISTORE i BIPUSH 4 ISTORE j BIPUSH 5 ISTORE k ILOAD i ILOAD j IADD ILOAD k ISUB BIPUSH 2 IADD ISTORE n

43 Απόφαση // if (i!= 3) k = 0; // if (i == 3) k =0 else k = 1; ILOAD i BIPUSH 3 IF_ICMPEQ L1 BIPUSH 0 ISTORE k L1:... ILOAD i BIPUSH 3 IF_ICMPEQ L1 BIPUSH 1 ISTORE k GOTO L2 L1:BIPUSH 0 ISTORE k L2:.. Χρήση LABELS για ονομασία σχετικών διευθύνσεων (σε JAS) Πιθανή αντιστροφή συνθήκης για απόδοση.

44 Επανάληψη (1) x = 0; while (x < n) {... x = x+1; } x = 0; L1: if ((x-n) < 0) goto L2 else goto L3 L2:... x = x+1; goto L1; L3:... // x = 1; BIPUSH 0 ISTORE x // if ((x-n) < 0) L1:ILOAD x ILOAD n ISUB IFLT L2 GOTO L3 L2:... // x = x+1; IINC x 1 GOTO L1 L3:...

45 Επανάληψη (2) x = 0; while (x < n) {... x = x+1; } x = 0; L1: if ((x-n) >= 0) goto L2... x = x+1; goto L1; L2:... // x = 1; BIPUSH 0 ISTORE x // if ((x-n) < 0) L1:ILOAD x ILOAD n ISUB IFGE L2... // x = x+1; IINC x 1 GOTO L1 L2:...

46 Μεταγλώττιση Java σε εντολές JAS/IJVM (1)

47 Μεταγλώττιση Java σε εντολές JAS/IJVM (2) (a) Τμήμα κώδικα Java. (b) Η αντίστοιχη συμβολική μορφή (IJVM assembly ή JAS). (c) Ο κώδικας σε γλώσσα μηχανής IJVM (δεκαεξαδική μορφή) - σχέση μία προς μια εντολή IJVM με JAS. Συνέχεια.. (d) Κάθε εντολή σε γλώσσα μηχανής IJVM μετά την ανάκλησή της από τη μνήμη διερμηνεύεται (αποκωδικοποιείται και εκτελείται) με βάση το μικροκώδικα που βρίσκεται στη ROM του μικροπρογράμματος.

48 Μεταγλώττιση Java σε εντολές JAS/IJVM (3) SP k LV j i Αρχική κατάσταση και πλαίσιο τοπικών μεταβλητών Η στοίβα τελεστέων μετά από την εκτέλεση κάθε εντολής του κώδικα.

49 Μεταγλώττιση Java σε εντολές JAS/IJVM (4) 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F 0x10 0x11 0x12 0x13 0x14 0x15 0x02 0x15 0x03 0x60 0x36 0x01 0x15 0x01 0x10 0x03 0x9F 0x00 0x0D 0x15 0x02 0x10 0x01 0x64 0x36 0x x15 0x16 0x17 0x18 0x19 0x1A 0x1B 0xA7 0x00 0x07 0x10 0x00 0x36 0x03 Byte no Hex Binary 0x0B+0x0D = = 24 = 0x18 0x15+0x07 = 21+7 = 28 = 0x1C Υπολογισμός offset

50 Κλήση Μεθόδου στη IJVM (1) INVOKEVIRTUAL methodname * Όνομα methodname = δείκτης στη (διεύθυνση στη) Περιοχή Μεθόδων, στην αρχή της μεθόδου (PC μετά τη κλήση). Έχει μέγεθος 2 bytes και προστίθεται στο CPP για να δώσει τη νέα τιμή του PC. * Φορτώνει τη σταθερά OBJREF στη στοίβα πριν από τη κλήση * Φορτώνει παραμέτρους που πρέπει να περάσουν στη μέθοδο * Εκτελεί την κλήση: - ρύθμιση νέων PC, SP, LV - αποθήκευση παλιών PC, SP, LV - μεταφορά ελέγχου OBJREF * Δείκτης σε Object (αντικείμενο): στη Java κάθε μέθοδος σχετίζεται με αντικείμενα. * Στη IJVM χρησιμοποιούμε ένα ψευδο-δείκτη

51 Κλήση Μεθόδου στη IJVM (2) Bytes 0,1 = no of params Bytes 2,3 = local var frame size Byte 4 = first instruction New Method methodname New PC Δεξαμενή Σταθερών Στοίβα Τοπικών Μεταβλητών Περιοχή Μεθόδων Στοίβα Τρεχόντων Τελεστέων Υπολογισμός PC κατά τη κλήση μεθόδου με όνομα methodname. Τα πρώτα 4 bytes έχουν ειδική σημασία.

52 Κλήση Μεθόδου στη IJVM (4) Πρόγραμμα: 1. Εισαγωγή OBJREF 2. Εισαγωγή Παραμέτρων με Σειρά κλήσης Σύστημα: 1. Ενημέρωση SP 2. Αποθήκευση PC, LV 3. Ενημέρωση OBJREF Νέος Χώρος Εργασίας (a) Η μνήμη πριν την εκτέλεση της INVOKEVIRTUAL. (b) Η μνήμη μετά την εκτέλεσή της.

53 Επιστροφή Μεθόδου στη IJVM (2) Πρόγραμμα: 1. Τοποθέτηση τιμής επιστροφής Σύστημα: 1. Φόρτωση LV, PC 2. Μετακίνηση τιμής επιστροφής 3. Ενημέρωση SP που δείχνει στη τιμή επιστροφής Επιστροφή στο παλιό Χώρο Εργασίας (a) Η μνήμη πριν την εκτέλεση της IRETURN. (b) Η μνήμη μετά την εκτέλεσή της.

54 Μέθοδοι σε JAS (1)... μετά το end-main // All methods declared within method declaration.method methodname1 (param-1, param-2..).var // Local variables.end-var // A method ends with IRETURN.end-method.method methodname2 (param-1, param-2..).var // Local variables.end-var // A method ends with IRETURN.end-method

55 Πολύ Απλή Μέθοδος JAS (1) // ***** OBJREF.constant objref 0xCAFE.end-constant // ****** main ( ) {.main // ****** int x, y, z;.var x y z.end-var // ****** x = 10; BIPUSH 10 ISTORE x // ****** y = 11; BIPUSH 11 STORE y // ****** z = cmp (x, y); LDC_W objref ILOAD x ILOAD y NVOKEVIRTUAL cmp ISTORE z HALT // ****** }.end-main

56 Πολύ Απλή Μέθοδος JAS (2) // ***** int cmp (int p1, int p2) {.method cmp(p1,p2).var temp.end-var // ***** temp = p1 - p2 ILOAD p1 ILOAD p2 ISUB ISTORE temp // ***** if (temp < 0) go to lt ILOAD temp IFLT lt // ***** if (temp == 0) go to eq ILOAD temp IFEQ eq // ***** return 1 (temp > 0) gt: BIPUSH 1 GOTO done // ***** return -1 (temp < 0) lt: BIPUSH -1 GOTO done // ***** return0 (temp == 0) eq: BIPUSH 0 // ***** }; done: IRETURN.end-method

57 Αρχή main SP LV runtime PC tuntime z y x LV Link ptr runtime Πριν το invokevirtual SP y x 0XCAFE LV runtime PC runtime z y x LV Link ptr runtime Αρχή μεθόδου SP LV main PC main temp p2 (y) p1 (x) LV Link ptr main LV runtime PC runtime z y x Link ptr runtime Πολύ Απλή Μέθοδος JAS (3) Μετά το return SP 0x0000 ή 0x0001 ή FFFF LV runtime PC tuntime z y x LV Link ptr runtime Eπιστροφή μεθόδου SP 0x0000 ή 0x0001 ή FFFF LV του main PC toy main temp p2 (y) p1 (x) LV Link ptr main LV runtime PC runtime z y x Link ptr runtime

58 Περιορισμοί * Τύποι δεδομένων (πχ float). * Δείκτες (Pointers = Διευθύνσεις). * Call by Reference (Παράμετρος τύπου Δείκτη) άρα και επιστροφή τιμών. * Πίνακες (Αύξηση Δείκτη). * Δυναμική Διαχείριση Μνήμης.

59 Αρχιτεκτονική Υπολογιστών Mic-1 και IJVM Περιγραφή και στοιχεία υλοποίησης του Mic-1 Παράδειγμα Αρχιτεκτονικής Συνόλου Εντολών: IJVM Προσομοιωτής Mic-1 και Προγραμματισμός IJVM/JAS Υλοποίηση της IJVM στο Mic-1

60 Μικροαρχιτεκτονική Mic-1 * ΜικροROM μικροεντολών (MROM) μεγέθους 512x36 bits. * Ο Μετρητής Μικρο Προγράμματος (MPC) δείχνει τη προς εκτέλεση μικροεντολή. * Η μικροεντολή προσκομίζεται στο Καταχωρητή Μικρο Εντολών (MIR). * Κάθε μικροεντολή ορίζει την επόμενη, όχι απαραίτητα ακολουθιακή εκτέλεση.

61 Χρονισμός Mic-1 Διάγραμμα χρονισμού ενός πλήρους κύκλου ρολογιού.

62 Μικρο-εκτέλεση Mic-1 1. Φόρτωση MIR από μικροrom(mpc). Σήματα ελέγχου Δw. 2. Σήματα προς διαδρομή δεδομένων, λειτουργίες διαύλων Α, Β. Δx. 3. Λειτουργίες ALU, Ολισθητή και Μνήμης. Δy. 4. Λειτουργίες διαύλου C, φόρτωση Ν/Ζ, φόρτωση καταχωρητών και MDR, MBR από Μνήμη. Δz. 5. Προετοιμασία νέου MPC. Κάθε Μικροεντολή = 'Ενας κύκλος ρολογιού

63 Μικροεντολές Η μορφή μικροεντολής του Mic-1. Addr : Διεύθυνση πιθανής επόμενης μικροεντολής (9) JAM : Προσδιορίζει πώς επιλέγεται η επόμενη μικροεντολή (3) ALU : Πράξεις ALU και Ολισθητή (6 ALU και 2 Shit) C : Επιλογή καταχωρητών που θα διαβάσει δεδομένα από το δίαυλο C (9). Mem : Λειτουργίες Μνήμης (3) Β : Επιλογή καταχωρητή που θα γράψει δεδομένα στο δίαυλο Β (4).

64 Συμβολισμός Μικροεντολών Ετικέτα: Διεύθυνση ΜROM (NEXT_ADDRESS) πχ iadd1 Λειτουργίες: Σε μορφή Register Transfer Language (MAL) πχ MAR = SP = SP 1; rd Σχόλια: Εξήγηση των λειτουργιών Και οι δύο μορφές ορατές στο Προσομοιωτή.

65 Μικροεντολές και Λειτουργίες (1) Όλες οι επιτρεπόμενες λειτουργίες σε επίπεδο μικροεντολής. Ουσιαστικά εκτελούνται όλες μέσω της ALU και του Ολισθητή. Κάθε λειτουργία μπορεί να επεκταθεί προσθέτοντας << 8 στο τέλος ώστε το αποτέλεσμα ολισθαίνει αριστερά κατά 1 byte. Για παράδειγμα, μια συνηθισμένη λειτουργία είναι η παρακάτω: H = MBR << 8

66 Μικροεντολές και Λειτουργίες (2) Συνδυασμοί σημάτων ελέγχου της ALU και οι πράξεις που αντιστοιχούν σε αυτούς. Για τις λειτουργίες RTL/MAL, όπου A θέτουμε H και όπου B Source.

67

68

69 Βασικός Κύκλος Επαναλαμβάνεται στην αρχή διερμηνείας κάθε εντολής IJVM/JAS. Αποτελεί τη βάση της αποκωδικοποίησης της εντολής. Αυξάνεται ο PC και ανακαλείται η εντολή από τη μνήμη. Ο MPC λαμβάνει ως τιμή το opcode της εντολής. Main1 PC = PC+1; fetch; goto(mbr) Άρα ο opcode της εντολής δίνει τη διεύθυνση της MROM όπου βρίσκεται η πρώτη μικροεντολή διερμηνείας της υπο εκτέλεση IJVM εντολής. Παρατηρείστε την αρχική τιμή του PC καθώς και την αρχική ακολουθία μικροεντολών ('Ασκηση).

70 Παράδειγμα Μικροεντολών σε RTL/MAL (1) Ετικέτα Λειτουργία Σχόλια op1 SP = MAR = SP 1;rd O SP και ο MAR λαμβάνουν τη τρέχουσα τιμή του SP μειωμένη κατά ένα. Ανάγνωση από τη θέση μνήμης που δείχνει ο ΜΑR. op2 Η = ΤΟS O H λαμβάνει τη τιμή του TOS δηλαδή Top Of Stack. op3 MDR = TOS = MDR + H; wr; goto Main1 Ο MDR έχει λάβει το αποτέλεσμα της ανάγνωσης. O MDR και ο TOS λαμβάνουν τη τιμή του MBR + H. Εγγραφή στη θέση μνήμης που δείχνει o MAR. Επιστροφή στην αρχική θέση της MROM. Ποιά εντολή είναι; Ποια η σημασία της διπλής εκχώρησης; Ποια η σημασία του TOS;

71 Παράδειγμα Μικροεντολών σε RTL/MAL (2) Ετικέτα Λειτουργία Σχόλια op1 SP = MAR = SP + 1 O SP και ο MAR λαμβάνουν τη τρέχουσα τιμή του SP αυξημένη κατά ένα. op2 PC = PC + 1; fetch O PC αυξάνεται κατά ένα. Προσοκόμιση byte από μνήμη σε MBR. op3 MDR = TOS = MBR; wr; goto Main1 O MDR και ο TOS λαμβάνουν τη τιμή του MBR. Εγγραφή στη θέση μνήμης που δείχνει o MAR. Επιστροφή στην αρχική θέση της MRΟM. Ποιά εντολή είναι; Ποια η σημασία του PC=PC+1; fetch;

72 Παράδειγμα Μικροεντολών σε mic1 (1) Εργαζόμαστε και με τη βοήθεια του προσομοιωτή. Προσοχή στην ομαδοποίηση των καταχωρητών στο C, το δεκαεξαδικό. Έχει τη Μορφή bits (επειδή τα 36 bits υπολογίζονται συνολικά από το LSbit).

73 Παράδειγμα Μικροεντολών σε mic1 (2) 1C 1D 1E 1F Με τη βοήθεια του προσομοιωτή να γράψετε τον αντίστοιχο κώδικα σε MAL και στη συνέχεια να βρείτε ποια εντολή ΙJVM/JAS είναι η παραπάνω.

74 RTL/MAL: Στοίβα (0) NOP καμμία ενέργεια IADD ISUB IAND IOR DUP POP SWAP pop a, pop b, c=a+b, push c pop a, pop b, c=a-b, push c pop a, pop b, c=a AND b, push c pop a, pop b, c=a OR b, push c pop a, push a, push a pop a pop a, pop b, push b, push a

75 RTL/MAL: Στοίβα (1)

76 RTL/MAL: Στοίβα (2) Με τη βοήθεια του παραπάνω πίνακα και του προσομοιωτή μελετήστε τα παρακάτω: * Τη κωδικοποίηση των μικροεντολών που παρουσιάζονται. * Τη λειτουργία των μικροεντολών σε επίπεδο κύκλου και υποκύκλων ρολογιού. * Τη μετατροπή των διευθύνσεων με χρήση offset (MAR=SP+/-1). * Την αυξομείωση του SP και τη χρήση του καταχωρητή TOS. * Ποιά είναι η αρχική ακολουθία μικροεντολών που εκτελείται; * Τι σημαίνει το goto(mbr);

77 Mic-1: Λειτουργία Μνήμης Απεικόνιση των bits του MAR στο δίαυλο διευθύνσεων ώστε η φυσική byte addressable μνήμη να αντιστοιχεί με λογική word addessable μνήμη για τα δεδομένα.

78 RTL/MAL: Στοίβα - Μνήμη (0) ILOAD varnum push x (x τοπική μεταβλητή) ISTORE varnum pop x (x τοπική μεταβλητή) BIPUSH byte push byte μετά από μετατροπή σε προσημασμένο 32 bit LDC_W index push x (x σταθερά) index: σχετική διεύθυνση 2 bytes (από CPP) WIDE πρόθεμα για χρήση varnum 2 bytes αντί 1 byte IINC varnum, const x = x+/-const (x τοπική μεταβλητή) varnum: σχετική διεύθυνση 1byte (από LV) const: ακέραιος 1 byte

79 RTL/MAL: Στοίβα - Μνήμη (1)

80 RTL/MAL: Στοίβα - Μνήμη (2)

81 RTL/MAL: Στοίβα - Μνήμη (3) Με τη βοήθεια του παραπάνω πίνακα και του προσομοιωτή μελετήστε τα παρακάτω: * Την υλοποίηση της εντολής BIPUSH. Χρήση operand (τελεστέου) ως τιμή (value) και όχι αναφορά (διεύθυνση, reference). * Την επικοινωνία Στοίβας Τελεστέων και Τοπικών Μεταβλητών μέσω των καταχωρητών SP και LV. * Τι σημαίνει το MBRU; Δείτε το μοντέλο μνήμης από τη πλευρά της IJVM και της JAS.

82 Το μοντέλο μνήμης της IJVM Δεξαμενή Σταθερών Στοίβα Τοπικών Μεταβλητών Περιοχή Μεθόδων Στοίβα Τρεχόντων Τελεστέων Τα διάφορα μέρη του μοντέλου μνήμης της IJVM.

83 RTL/MAL: Στοίβα - Μνήμη (4) * Την υλοποίηση των εντολών WIDE ILOAD και WIDE ISTORE σε σχέση με τις αντίστοιχες ILOAD και ISTORE (οχι το wide1) Μελετήστε την ακολουθία μικροεντολών Η = MBRU << 8 H = MBRU OR H MAR = H + LV ή MAR = H + CPP

84 RTL/MAL: Στοίβα - Μνήμη (5) Η αρχική ακολουθία μικροεντολών για τις εντολές ILOAD και WIDE ILOAD. Οι διευθύνσεις είναι ενδεικτικές.

85 RTL/MAL: Έλεγχος Ροής (0) GOTO offset IFEQ offset PC = PC +/- offset pop a if (a == 0) then PC = PC +/- offset IFLT offset pop a if (a < 0) then PC = PC +/- offset IF_ICMPEQ offset pop a, pop b, if (a == b) then PC = PC +/- offset offset: σχετική διεύθυνση 2bytes (PC)

86 RTL/MAL: Έλεγχος Ροής (1)

87 Ελεγχος Μικροεντολών (1) * Κάθε μικροεντολή ορίζει την επόμενη, όχι απαραίτητα ακολουθιακή εκτέλεση. * Το περιεχμενο του MPC καθορίζεται από συνδυασμό - MBR - Addr - JAMN/JAMZ/JMPC - N/Z

88 Έλεγχος Mικροεντολών (2) Μια μικροεντολή με το πεδίο JAMZ ίσο με 1 μπορεί να έχει δύο πιθανές επόμενες εντολές, ανάλογα με τη τιμή του Ζ. FZ = (JAMZ AND Z) OR NEXT_ADDRESS Παρόμοια μια μικροεντολή με το πεδίο JAMΝ ίσο με 1 μπορεί να έχει δύο πιθανές επόμενες εντολές, ανάλογα με τη τιμή του Ζ FN = (JAMN AND N) OR NEXT_ADRESS

89 Έλεγχος Mικροεντολών (3) Νέα τιμή του MPC: * Αν JAM = 000 τότε NEXT_ADDRESS * Aν JAM = 001 ή 010 τότε (JAMZ AND Z) OR (JAMN AND N) OR NEXT_ADDRES όπου OR: high_order bit OR * ΑΝ JAM = 100 τότε MBR OR NEXT_ADDRESS όπου OR: 8 low_order bit OR Για τη υλοποίηση δείτε λεπτομέρειες στο βιβλίο.

90 Έλεγχος Mικροεντολών (4) Η κατάσταση κατά την εκκίνηση διαφόρων μικροεντολών. a) Main1. b) goto1. c) goto2. d) goto3. e) goto4. Με τη βοήθεια του προσομοιωτή μελετήστε την μικρο-εκτέλεση της εντολής IJVM/JAS goto σε ένα πραγματικό απλό πρόγραμμα.

91 RTL/MAL: Κλήση/Επιστροφή Μεθόδου INVOKEVIRUAL disp κλήση μεθόδου disp: σχετική έμμεση διεύθυνση 2bytes (CPP, PC) IRETURN επιστροφή από μέθοδο Άσκηση: Με τη βοήθεια του προσομοιωτή μελετήστε τις μικροακολουθίες για την κλήση και επιστροφή μεθόδου. Αντικαταστήστε τα ονόματα στα διαγράμματα με πραγματικές δεκαεξαδικές τιμές από το παράδειγμά σας.

92 RTL/MAL: Κλήση Μεθόδου

93 Κλήση Μεθόδου στη IJVM (1) Bytes 0,1 = no of params Bytes 2,3 = local var frame size Byte 4 = first instruction New Method methodname New PC Δεξαμενή Σταθερών Στοίβα Τοπικών Μεταβλητών Περιοχή Μεθόδων Στοίβα Τρεχόντων Τελεστέων Υπολογισμός PC κατά τη κλήση μεθόδου με όνομα methodname. Τα πρώτα 4 bytes έχουν ειδική σημασία.

94 Κλήση Μεθόδου στη IJVM (2) Εκτέλεση INVOKEVIRTUAL methodname * O PC της καλούσας μεθόδου αυξάνεται κατά ένα, ώστε να είναι έτοιμος για την επιστροφή. Αποθηκεύεται προσωρινά στο OPC. * Φορτώνεται ο νέος PC. * Φορτώνεται ο αριθμός των παραμέτρων και ο αριθμός των τοπικών μεταβλητών ώστε να καθοριστούν οι νέες τιμές των SP, LV. * Φορτώνεται ο νέος SP. * Οι PC, LV της καλούσας μεθόδου σώζονται στη κορυφή του νέου stack. * Στη θέση του OBJREF σώζεται η διεύθυνση του PC της καλούσας μεθόδου (link ptr) * O PC της νέας μεθόδου αυξάνεται κατά ένα, δείχνει στη πρώτη εντολή. * Φορτώνεται νέος LV. *...

95 Κλήση Μεθόδου στη IJVM (3) 2.Φόρτωση νέου PC μέσω CPP 3.Υπολογισμός και φόρτωση νέου SP 4. Σώσιμο παλιών PC,LV 1.Εισαγωγή OBJREF + Εισαγωγή Παραμέτρων Σειρά κλήσης 5. Link προς παλιό PC 6. Φόρτωση νέου LV (a) Η μνήμη πριν την εκτέλεση της INVOKEVIRTUAL. (b) Η μνήμη μετά την εκτέλεσή της.

96 RTL/MAL: Επιστροφή Μεθόδου

97 Επιστροφή Μεθόδου στη IJVM (1) Εκτέλεση IRETURN * Ο τρέχων SP αποθηκεύεται προσωρινά στο TOS. * Φορτώνεται ως προηγούμενος SP ο τρέχων LV. * Φορτώνεται o ποηγούμενος PC μέσω του LV. * Φορτώνεται ο προηγούμενος LV (πάνω από προηγούμενο PC). * Στη θέση του δείκτη θέσης (εκεί που δείχνει ο SP) αποθηκεύεται η επιστρεφόμενη τιμή (αυτή που δείχνει ο TOS). Όλες οι άλλες τιμές χάνονται, μόνο μια τιμή επιστρέφεται. *...

98 Επιστροφή Μεθόδου στη IJVM (2) 3. Πρώην LV πάνω από πρώην PC 2. Πρώην PC εκεί που δείχνει ο πρώην SP ή ο LV 4. Τιμή Επιστροφής 1. Πρώην SP εκεί που δείχνει ο o LV πρώην SP (a) Η μνήμη πριν την εκτέλεση της IRETURN. (b) Η μνήμη μετά την εκτέλεσή της.

99 Τροποποίηση Mic-1 (1) 1. Τροποποίηση Μικροαρχιτεκτονικής: αλλαγή του τρόπου εκτέλεσης μιας εντολής από το Επίπεδο Συνόλου Εντολών, χωρίς αυτό να γίνει αντιληπτό στον προγραμματιστή ανωτέρου επιπέδου (τυπική περίπτωση backward compatibility). Θα αναλυθεί στη επόμενη ενότητα. 2. Τροποποίηση Συνόλου Εντολών: αλλαγή (προσθήκη συνήθως) νέας εντολής στο Επίπεδο Συνόλου Εντολών, και συνακόλουθη εισαγωγή του αντίστοιχου μικροπρογράμματος στην μικροrom. Η αλλαγή αυτή μπορεί να βασίζεται στην υπάρχουσα μικροαρχιτεκτονική ή να συνδυάζεται με αλλαγή της όπως στο 1. Θα εξετάσουμε τη περίπτωση που βασιζόμαστε στην υπάρχουσα μικροαρχιτεκτονική. Απαιτείται αλλαγή (δες Help του προσομοιωτή) : - στο κώδικα της μικροαρχιτεκτονικής (αρχείο mic1ijvm.mal) - στο αρχείο διαμόρφωσης του assemlbler (αρχείο ijvm.conf)

100 Τροποποίηση Mic-1 (2) Δημιουργία εντολής IJVM/JAS IFNEQ offset 1. Τροποποίηση αρχείου mic1ijvm.mal 1.1. Εισαγωγή label ifneq1 0x9A // opcode της εντολής 1.2. Εισαγωγή RTL/MAL κώδικα ifneq1 ifneq2 ifneq3 ifneq4 MAR = SP = SP -1; rd OPC = TOS TOS = MDR Z = OPC; if (Z) goto F; else goto T 2. Τροποίηση αρχείου διαμόρφωσης ijvm.conf Εισαγωγή γραμμής 0x9A IFNEQ label

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

Αρχιτεκτονική Υπολογιστών Αρχιτεκτονική Υπολογιστών Mic-1 και IJVM Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam. Computer Organization, W. Robinson, CS-231, Vanderbildt

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

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

Αρχιτεκτονική Υπολογιστών Αρχιτεκτονική Υπολογιστών Mic-1 και IJVM Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam. Computer Organization, W. Robinson, CS-231, Vanderbildt

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

5. Σχεδιάστε ένα κύκλωμα περιττής ισοτιμίας για το βασικό κώδικα ΑSCII (7 bits).

5. Σχεδιάστε ένα κύκλωμα περιττής ισοτιμίας για το βασικό κώδικα ΑSCII (7 bits). Αρχιτεκτονική Η/Υ Ασκήσεις Επανάληψης και Εξετάσεων 1. Με τη βοήθεια του διαγράμματος λειτουργίας CPU-Μνήμης (από την εισαγωγή) εξηγείστε το κύκλο Ανάκλησης Εκτέλεσης. Γράψτε τα βήματα σε μορφή ψευδοκώδικα.

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

6. Ακολουθίες μικροεντολών 7. Συμβολισμός μικροεντολών (MAL)

6. Ακολουθίες μικροεντολών 7. Συμβολισμός μικροεντολών (MAL) ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ MHXAIKOI Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΙΠΕ Ο ΜΙΚΡΟΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Ι Γ. Τσιατούχας 4 ο Κεφάλαιο ιάρθρωση 1. Μικροπρογραμματιζόμενη μονάδα ελέγχου. Διαδρομή δεδομένων 3. Χρονισμός διαδρομής

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

Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής. Mic-1 MMV. Προσομοιωτής Αρχιτεκτονικής H/Y

Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής. Mic-1 MMV. Προσομοιωτής Αρχιτεκτονικής H/Y Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Mic-1 MMV Προσομοιωτής Αρχιτεκτονικής H/Y 2010 Περιεχόμενα Εισαγωγή...3 1 Ξεκινώντας...3 1.1 Περιεχόμενα της διανομής του προγράμματος...3 1.2 Εγκατάσταση...4

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

3. Γλώσσα μηχανής IJVM 4. Σχεδιαστικές επιλογές 5. Κρυφή μνήμη

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

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

Arqitektonik Upologist n

Arqitektonik Upologist n Arqitektonik Upologist n Mìsqoglou Stulianìc stelios@moschoglou.com AEM: 6978 1 IounÐou 2010 Proptuqiakìc Hlektrolìgoc Mhqanikìc & Mhqanikìc Upologist n, A.P.J. 1 ΠΕΡΙΕΧ ΟΜΕΝΑ 2 Perieqìmena 1 Πρόλογος

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ (Τμήματα Υπολογιστή) ΕΚΠΑΙΔΕΥΤΗΣ:ΠΟΖΟΥΚΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Κάθε ηλεκτρονικός υπολογιστής αποτελείται

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

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

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

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών Εισαγωγή Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam. Computer Architecture and Engineering, K. Asanovic, CS1/2-52,

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

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

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

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

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, 2016-2017 ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Μικροϋπολογιστής Υπολογιστής που χρησιμοποιείται για την είσοδο, επεξεργασία και έξοδο πληροφοριών. Είδη μικροϋπολογιστών:

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

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

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

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

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

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

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

Δομημένος Προγραμματισμός

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

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

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

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

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

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

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

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

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

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

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

7. Ροή ελέγχου 8. Μηχανισμοί εισόδου/εξόδου

7. Ροή ελέγχου 8. Μηχανισμοί εισόδου/εξόδου ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ MHXANIKOI Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΙΠΕ Ο ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΣΥΝΟΛΟΥ ΕΝΤΟΛΩΝ Γ Τσιατούχας 5 ο Κεφάλαιο 1 Επίπεδο ISA 2 Μοντέλα μνήμης ιάρθρωση 3 Τύποι δεδομένων 4 Μορφές/τύποι εντολών

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

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

«ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ» ΕΣΩΤΕΡΙΚΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ «ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ» ΕΣΩΤΕΡΙΚΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ 8085 ΧΟΝΔΡΙΚΟ ΔΙΑΓΡΑΜΜΑ 8085 CPU ΟΙ ΚΑΤΑΧΩΡΗΤΕΣ ΤΟΥ 8085 Ο ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗΣ ΕΝΤΟΛΩΝ Η ΑΡΙΘΜΗΤΙΚΗ ΚΑΙ ΛΟΓΙΚΗ ΜΟΝΑΔΑ ΟΙ «ΣΗΜΑΙΕΣ» FLAGS Η ΜΟΝΑΔΑ

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

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

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

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

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

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

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

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

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

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

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

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

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

Η διασύνδεση Υλικού και λογισμικού 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 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το

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

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα 1. Ποια είναι η σχέση της έννοιας του μικροεπεξεργαστή με αυτή του μικροελεγκτή; Α. Ο μικροεπεξεργαστής εμπεριέχει τουλάχιστο έναν μικροελεγκτή. Β. Ο

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

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

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

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

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

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

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

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

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας Κεφάλαιο 3 ο Αρχιτεκτονική Υπολογιστών Μάθημα 3.: Κεντρική Μονάδα Επεξεργασίας Όταν ολοκληρώσεις το κεφάλαιο θα μπορείς: Να σχεδιάζεις την εσωτερική δομή της ΚΜΕ και να εξηγείς τη λειτουργία των επιμέρους

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ Η Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit -CPU) ή απλούστερα επεξεργαστής αποτελεί το μέρος του υλικού που εκτελεί τις εντολές ενός προγράμματος υπολογιστή

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

Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δείκτες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Τι είναι ο δείκτης Ένας δείκτης είναι μια μεταβλητή που περιέχει μια διεύθυνση μνήμης. Θυμηθείτε πως

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

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

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

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

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 3 : Μια άποψη του κορυφαίου επιπέδου λειτουργίας και διασύνδεσης του υπολογιστή Καρβούνης Ευάγγελος Η έννοια

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

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

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

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

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 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο

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

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

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

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

και η µονάδα ελέγχου (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

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

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

Κάθε functional unit χρησιμοποιείται μια φορά σε κάθε κύκλο: ανάγκη για πολλαπλό hardware = κόστος υλοποίησης! Single-cyle υλοποίηση: Διάρκεια κύκλου ίση με τη μεγαλύτερη εντολή-worst case delay (εδώ η lw) = χαμηλή απόδοση! Αντιβαίνει με αρχή: Κάνε την πιο απλή περίπτωση γρήγορη (ίσως και εις βάρος των πιο «σύνθετων»

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

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

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

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

Αρχιτεκτονικη υπολογιστων

Αρχιτεκτονικη υπολογιστων ΤΕΙ Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονικη υπολογιστων Τζαγκαράκης Χαράλαμπος hatzagarak@cs.teicrete.gr Εισαγωγη: ο επεξεργαστης και η γλωσσα του Eπεξεργαστής: MIPS Microprocessor Without Interlocked

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

i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες!

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

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

Φροντιστήριο. Παραγωγή τελικού κώδικα. Παραγωγή τελικού κώδικα

Φροντιστήριο. Παραγωγή τελικού κώδικα. Παραγωγή τελικού κώδικα ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Παραγωγή τελικού κώδικα Από τον ενδιάμεσο κώδικα στον τελικό (1/2) Τα ορίσματα των εντολών ενδιάμεσου κώδικα είναι του τύπου expr*. Αυτές οι εκφράσεις θα πρέπει

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

Αρχιτεκτονική x86(-64) 32-bit και 64-bit λειτουργία. Αρχιτεκτονική x86(-64) Αρχιτεκτονική επεξεργαστών x86(-64) Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

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

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

Προηγμένοι Μικροεπεξεργαστές. Έλεγχος Ροής Προγράμματος

Προηγμένοι Μικροεπεξεργαστές. Έλεγχος Ροής Προγράμματος Προηγμένοι Μικροεπεξεργαστές Έλεγχος Ροής Προγράμματος Control Flow εντολές Jump related JMP Jcc (JZ, JNZ, JB, JNB etc) JCXZ, JECXZ LOOP LOOPE, LOOPNE Procedure related CALL RET INT IRET INTO ENTER LEAVE

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

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

Αρχιτεκτονική Υπολογιστών Αρχιτεκτονική Υπολογιστών Εισαγωγή Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam. Computer Architecture and Engineering, K. Asanovic, CS1/2-52,

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής. Εισαγωγή στους Η/Υ Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Δεύτερη Σειρά Ασκήσεων 9 Μαΐου 2017 παράδοση: 3μμ 25 Μαΐου Άσκηση 1: Να αποδειχτεί ότι για τη μετατροπή αριθμού από σύστημα με βάση p σε σύστημα με βάση q, όπου

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

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

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

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

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

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

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

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ι Γ. Τσιατούχας 2 ο Κεφάλαιο ιάρθρωση 1. Οργάνωση της 2. εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο

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

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Αριθμός bit δίαυλου δεδομένων (Data Bus) Αριθμός bit δίαυλου διευθύνσεων (Address Bus) Μέγιστη συχνότητα λειτουργίας (Clock Frequency) Τύποι εντολών Αριθμητική

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής. Εισαγωγή στους Η/Υ Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Δεύτερη Σειρά Ασκήσεων 21 Απριλίου 2016 παράδοση: 9μμ 19 Μαΐου 2016 Άσκηση 1: Η κλασική αναπαράσταση συμπληρώματος ως προς βάση Β ενός προσημασμένου αριθμού σταθερής

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 Μάθημα : Μικροϋπολογιστές Τεχνολογία Τ.Σ. Ι, Θεωρητικής κατεύθυνσης Ημερομηνία

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 2: Καταχωρητές, HelloWorld σε 8086, emu8086 emulator Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων

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

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

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

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

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων 2.1 Αρχιτεκτονική Υπολογιστών 2.1 Αρχιτεκτονική Υπολογιστών 2.2 Γλώσσα Μηχανής 2.3 Εκτέλεση προγράµµατος 2.4 Αριθµητικές και λογικές εντολές 2.5 Επικοινωνία µε άλλες συσκευές

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

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

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

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

Ας ξεκινήσουμε. Macro-instructions. (Assembly level) Micro-instructions Main memory. (micro-code)

Ας ξεκινήσουμε. Macro-instructions. (Assembly level) Micro-instructions Main memory. (micro-code) Ας ξεκινήσουμε Τι χρειαζόμαστε για να υλοποιήσουμε έναν επεξεργαστή? Macro-instructions ALU (Assembly level) Register File Micro-instructions Main memory (micro-code) Control signals and microcode (control

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

Μικροαρχιτεκτονική του LC3

Μικροαρχιτεκτονική του LC3 ΆδειαΧρήσης Τοπαρόνεκπαιδευτικόυλικόυπόκειταισε άδειεςχρήσηςcrea vecommons. Γιαεκπαιδευτικόυλικό,όπωςεικόνες,που υπόκειταισεάδειαχρήσηςάλλουτύπου, αυτήπρέπεινααναφέρεταιρητώς. Μικροαρχιτεκτονική του LC3

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

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

MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual MILE Simulator Version 1.0 User's Manual Νοέμβριος, 2011 Περιεχόμενα 1. Εισαγωγή στον προσομοιωτή...2 1.1 Εγκατάσταση...2 1.2 Βοήθεια Διευκρινήσεις...2 2. Ξεκινώντας με τον προσομοιωτή...3 2.1 Το memory

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

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Λογιστικής Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Μάθημα 8 Κεντρική Μονάδα Επεξεργασίας και Μνήμη 1 Αρχιτεκτονική του Ηλεκτρονικού Υπολογιστή Μονάδες Εισόδου Κεντρική

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

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

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

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

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

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

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

Δομές Δεδομένων (Data Structures)

Δομές Δεδομένων (Data Structures) Δομές Δεδομένων (Data Structures) Στοίβες Ουρές Στοίβες: Βασικές Έννοιες. Ουρές: Βασικές Έννοιες. Βασικές Λειτουργίες. Παραδείγματα. Στοίβες Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή πρώτη

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

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

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

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

Σελίδα 1 από 12. Απαντήσεις στο φυλλάδιο 55. Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από:

Σελίδα 1 από 12. Απαντήσεις στο φυλλάδιο 55. Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από: Σελίδα 1 από 12 Απαντήσεις στο φυλλάδιο 55 Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από: (α) Κεντρική Μονάδα Επεξεργασίας. (β) Κύρια Μνήµη. (γ) Μονάδες εισόδου. (δ) Μονάδες εξόδου. (ε) Βοηθητική

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

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

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

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

ΠΛΕ- 027 Μικροεπεξεργαστές 5ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση ενός κύκλου ΠΛΕ- 27 Μικροεπεξεργαστές 5ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση ενός κύκλου Αρης Ευθυμίου Δομή σύγχρονων υπολογιστών Κώδικας μηχανής Αρχιτεκτονικό συνόλο εντολών (InstrucDon Set Architecture ISA)

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

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

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

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

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε

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

MIPS functions and procedures

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

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

Το mic1 διανέμεται με τους όρους της GNU General Public License. Ο πηγαίος κώδικας περιέχεται στην έκδοση.

Το mic1 διανέμεται με τους όρους της GNU General Public License. Ο πηγαίος κώδικας περιέχεται στην έκδοση. MIC-1 Simulator Ο εξομοιωτής, βασισμένος στην JAVA, ονομάζεται mic1 και υλοποιεί την αρχιτεκτονική Mic-1 που περιγράφεται στο κεφάλαιο 4 του βιβλίου του A. S. Tanenbaum, Structured Computer Organization,

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

Απλός επεξεργαστής (Επανάληψη)

Απλός επεξεργαστής (Επανάληψη) Απλός επεξεργαστής (Επανάληψη) Διάδρομος δεδομένων και μονάδα ελέγχου 4 ο κεφάλαιο Ο επεξεργαστής : Διάδρομος Δεδομένων και Έλεγχος Σε αυτό το κεφάλαιο θα μελετήσουμε την υλοποίηση του διαδρόμου δεδομένων

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

Ολοκληρωμένα Κυκλώματα - Φθινόπωρο 2014 Γ. Δημητρακόπουλος. Εργαστηριακή άσκηση 2

Ολοκληρωμένα Κυκλώματα - Φθινόπωρο 2014 Γ. Δημητρακόπουλος. Εργαστηριακή άσκηση 2 Ολοκληρωμένα Κυκλώματα - Φθινόπωρο 2014 Γ. Δημητρακόπουλος Εργαστηριακή άσκηση 2 Σκοπός αυτής της εργαστηριακής άσκησης είναι να σας θυμίσει (ή να σας δείξει ανάλογα με το βαθμό εξοικίωσης σας) τον τρόπο

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

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή 1 Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή μνήμη(cache). Η cache είναι πολύ σημαντική, πολύ γρήγορη,

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

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

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

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

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

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

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

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

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

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

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

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

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ. (Μέτρηση και τεχνικές βελτίωσης απόδοσης)

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

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

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

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

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

Οργάνωση Η/Υ. Ο Επεξεργαστής TRN. Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου

Οργάνωση Η/Υ. Ο Επεξεργαστής TRN. Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου Οργάνωση Η/Υ Ο Επεξεργαστής TRN Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου ΚMΕ Κυριότεροι Καταχωρητές της ΚΜΕ του υπολογιστή TRN IR (20 bits) X (20 bits) I

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

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

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

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

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

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

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

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

ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών Διδάσκοντες: Νικόλας Στυλιανίδης Γιώργος Ζάγγουλος Email: nstylianides@gmail.com zaggoulos.george@ucy.ac.cy Εισαγωγή στους Μικροεπεξεργαστές

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

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

Εισαγωγή στην πληροφορική -4 Εισαγωγή στην πληροφορική 6 (, 64) bits Μνήµη Θέση (κύτταρο cell) µνήµης, χωράει λέξεις (words) εντολές (πρόγραµµα), αριθµοί (δεδοµένα) Αριθµοί: δυαδική (binary) αναπαράσταση = = = 4 = 4 = 5 = 7 Εισαγωγή

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

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

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

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