Μεταγλωττιστές ΙΙ. Γέννηση τελικού κώδικα για RISC επεξεργαστές. 12 Ιανουαρίου Νικόλαος Καββαδίας Μεταγλωττιστές ΙΙ
|
|
- Πλούτων Ζερβός
- 8 χρόνια πριν
- Προβολές:
Transcript
1 Μεταγλωττιστές ΙΙ Γέννηση τελικού κώδικα για RISC επεξεργαστές Νικόλαος Καββαδίας 12 Ιανουαρίου 2011
2 Σκιαγράφηση της διάλεξης Η αρχιτεκτονική επεξεργαστή MIPS Γέννηση τελικού κώδικα για τον επεξεργαστή MIPS Παραδείγματα μεταγλώττισης κώδικα ANSI C για την αρχιτεκτονική MIPS32 Ο διερμηνευτικός προσομοιωτής spim
3 Η αρχιτεκτονική επεξεργαστή MIPS32 [Patterson, 2009, Sweetman, 2005] Ο επεξεργαστής MIPS (Machine without Interlocked Pipeline Stages) αποτελεί έναν δημοφιλή επεξεργαστή RISC 32-bit δεδομένα και εντολές 3 διαφορετικές κωδικοποιήσεις εντολής Αρχιτεκτονικές MIPS-I (δεκαετίες 80, 90), MIPS32 Αντίστοιχες υλοποιήσεις στο υλικό: MIPS R3000 και MIPS32-4k Υποστηρίζει τέσσερις συνεπεξεργαστές Συνήθως χρησιμοποιούνται οι CP0 συνεπεξεργαστής συστήματος για την υποστήριξη λειτουργικού συστήματος Coprocessor 1: FPU (Floating-Point Unit) Coprocessor 2: VPU (Vector Processing Unit) Χρησιμοποιείται στις κονσόλες PlayStation, PSP, και PS2 Σήμερα στην αγορά κυριαρχεί πλέον ο ARM (κινητή τηλεφωνία)
4 Ορόσημα στην εξέλιξη της αρχιτεκτονικής επεξεργαστή MIPS
5 Οι κωδικοποιήσεις των εντολών της αρχιτεκτονικής MIPS
6 Το ρεπερτόριο εντολών της αρχιτεκτονικής MIPS (1)
7 Το ρεπερτόριο εντολών της αρχιτεκτονικής MIPS (2)
8 Οι καταχωρητές γενικού σκοπού του MIPS Ο MIPS διαθέτει 32 καταχωρητές γενικού σκοπού
9 Κανόνες επιλογής κώδικα για τον MIPS με ταύτιση μοτίβων δένδρου (1) TEMP t_n LABEL label: CONST(0) zero CONST(CONST_16) addi Rd, zero, I_16 CONST(*) li Rd, * JUMP(NAME) b label JUMP(*) jr Rs NAME la Rd, label MOVE(MEM(+(*,CONST_16)),*), sw Rs, I_16(Rd) MOVE(MEM(+(CONST_16,*)),*) MOVE(MEM(*),*) sw Rs, 0(Rd) MOVE(*,*) move Rd, Rs BINOP(PLUS,*,*) add Rd, Rs1, Rs2 BINOP(PLUS,*,CONST_16), addi Rd, Rs, I_16 BINOP(PLUS,CONST_16,*) BINOP(MINUS,*,*) sub Rd, Rs1, Rs2 BINOP(MINUS,*,CONST_16) addi Rd, Rs, -I_16 BINOP(MUL,*,*) mulo Rd, Rs1, Rs2 BINOP(MUL,*,CONST_2ˆk), sll Rd, Rs, I_k BINOP(MUL,CONST_2ˆk,*)
10 Κανόνες επιλογής κώδικα για τον MIPS με ταύτιση μοτίβων δένδρου (2) BINOP(DIV,*,*) div Rd, Rs1, Rs2 BINOP(DIV,*,CONST_2ˆk) sra Rd, Rs, I_k BINOP(AND,*,*) and Rd, Rs1, Rs2 BINOP(AND,*,CONST_16), andi Rd, Rs, I_16 BINOP(AND,CONST_16,*) same for OR, BITXOR BINOP(LSHIFT,*,*) sllv Rd, Rs1, Rs2 BINOP(LSHIFT,*,CONST_16) sll Rd, Rs, I_16 BINOP(RSHIFT,*,*) srlv Rd, Rs1, Rs2 BINOP(RSHIFT,*,CONST_16) srl Rd, Rs, I_16 BINOP(ARSHIFT,*,*) srav Rd, Rs1, Rs2 BINOP(ARSHIFT,*,CONST_16) sra Rd, Rs, I_16 MEM(+(CONST_16,*)), lw Rd, I_16(Rs) MEM(+(*,CONST_16)) MEM(*) lw Rd, 0(Rs) CJUMP(op,*,*,label,*) bxx Rs1, Rs2, label where: bxx = {beq, bne, blt, bgt, ble, bge} JUMP(NAME,[*]) b label JUMP(*,[*]) jr Rs CALL(NAME,[*]) jal label
11 Οργάνωση διοχέτευσης ενός επεξεργαστή MIPS (MIPS-R3000) Ο MIPS-R3000 διαθέτει 5 βαθμίδες διοχέτευσης: IF: Instruction Fetch ID: Instruction Decode EX: Execute MEM: Memory Access WB: (Register) Write-Back
12 Η διαδικασία της μεταγλώττισης πηγαίου κώδικα για τον MIPS
13 Η οργάνωση των αντικείμενων αρχείων (object files) τύπου ELF για τον MIPS ELF: Executable Linking Format
14 Χωροθέτηση κώδικα προγράμματος στη μνήμη: Παράδειγμα ANSI C int x; char y, z; foo() {... } int a[10]; bar() {... } Assembly.global x x:.space 4.global y y :.space 1.global z z :.space 1.align 2.global foo foo: (code for foo).global a a:.space 40.global bar bar: (code for bar)
15 Οργάνωση των δεδομένων στους πόρους αποθήκευσης Δύο τρόποι για την οργάνωση των δεδομένων κατά την αποθήκευση τους στη μνήμη endianness: Η σχετική διάταξη των byte, κατά αύξουσες ή μειούμενες διευθύνσεις Χιουμοριστικός όρος από τα Ταξίδια του Γκιούλιβερ αναφερόμενος στη διχογνωμία για το ποιος είναι ο κατάλληλος τρόπος οργάνωσης Big-endian: MIPS-I, PowerPC, SPARC Little-endian: Intel 8086, Pentium, Alpha
16 Γενικό μοντέλο κλήσης υπορουτινών Εστω δύο υπορουτίνες, p, q, με την p να καλεί την q κατά την είσοδο στην p εκτελείται κώδικας επαναφοράς του περιβάλλοντός της όταν καλείται η q, διατηρείται το περιβάλλον της p κατά την έξοδο από την q, επαναφέρεται το περιβάλλον της p
17 Κλήση υπορουτινών με σύνδεση 1 ο καλών ωθεί χώρο για την τιμή επιστροφής 2 ο καλών ωθεί το δείκτη στοίβας 3 ο καλών ωθεί χώρο για: διεύθυνση επιστροφής, τη διεύθυνση στη στατική ακολουθία προσωρινών μεταβλητών και τους σωζόμενους καταχωρητές 4 ο καλών ωθεί τα παραπάνω στη στοίβα 5 ο καλών ϑέτει τη διεύθυνση επιστροφής και τη στατική ακολουθία του καλούμενου και πραγματοποιεί την κλήση 6 ο καλούμενος αποθ. καταχωρητές σε ειδική περιοχή 7 ο καλούμενος αντιγράφει by-value πίνακες/εγγραφές χρησιμοποιώντας διευθύνσεις που του έγιναν γνωστές 8 ο καλούμενος εκχωρεί δυναμική μνήμη για πίνακες κατά απαίτηση 9 κατά την επιστροφή, ο καλούμενος επαναφέρει τους αποθηκευμένους καταχωρητές 10 ο καλούμενος πραγματοποιεί άλμα στη διεύθυνση επιστροφής
18 Συμβάσεις κλήσεως C ρουτινών (C calling convention) Stack Management The stack grows down Subtract from $sp to allocate local storage space Restore $sp by adding the same amount at function exit The stack must be 8-byte aligned Modify $sp only in multiples of eight Function Parameters Every parameter smaller than 32 bits is promoted to 32 bits First four parameters are passed in registers $a0 $a3 64-bit parameters are passed in register pairs Every subsequent parameter is passed through the stack First 16 bytes on the stack are not used Assuming $sp was not modified at function entry: The 1st stack parameter is located at 16($sp). The 2nd stack parameter is located at 20($sp), etc. 64-bit parameters are 8-byte aligned Return Values 32-bit and smaller values are returned in register $v0 64-bit values are returned in registers $v0 and $v1
19 Οργάνωση και διαχείριση της μνήμης δεδομένων Χάρτης μνήμης για τον MIPS Διαχείριση στοίβας για αναδρομικές κλήσεις (παραγοντικό)
20 Γενικοί κανόνες που ακολουθούνται στο γεννήτορα τελικού κώδικα Υπολογισμός του συνολικού μεγέθους των τοπικών και προσωρινών μεταβλητών ενός τοπικού πίνακα συμβόλων Υπολογισμός του χώρου που καταλαμβάνουν οι παράμετροι των συναρτήσεων και η σχετική τους ϑέση Ο $sp δείχνει στην τελευταία ϑέση στη στοίβα και ο $fp στην πρώτη τοπική μεταβλητή στη στοίβα Ολες οι τοπικές μεταβλητές και οι παράμετροι των συναρτήσεων τοποθετούνται στη στοίβα του προγράμματος: <relative parameter/variable order * 4>($fp) Για μεταγλώττιση χωρίς βελτιστοποιήσεις χρησιμοποιήστε το μοντέλο φόρτωσης, υπολογισμού, αποθήκευσης Κάθε γενική (global) μεταβλητή αποτελεί σύμβολο στη μνήμη και δηλώνεται με ψευδοεντολή.data <name >: <type > <size > Για κάθε string δηλώνονται τιμές αρχικοποίησης με ψευδοεντολές.word
21 Δημιουργία συμβολικού κώδικα για συναρτήσεις Υπολογισμός συνολικού μεγέθους για μεταβλητές, καταχωρητές, και το πλαίσιο (frame) της συνάρτησης (τοπικές μεταβλητές, αποθήκευση των $s0 to $s7, $fp, $ra) Ετικέτα συνάρτησης.text L_<function name >: Δημιουργία του πλαισίου της συνάρτησης: subu $sp, <frame size> Αποθήκευση καταχωρητών: sw <register name>, <relative position>($sp) Νέα τιμή του $fp: addu $fp, $sp, <frame size> Κώδικας για το σώμα της συνάρτησης Κώδικας επιλόγου Για συνάρτηση με επιστρεφόμενη τιμή: lw $v0, <position in memory> Επαναφορά των τιμών καταχωρητών: sw <register name>, <relative position>($sp) Μείωση της τιμής του $sp: subu $sp, $sp, <frame size> Αλλαγή του σημείου εκτέλεσης του προγράμματος: jal $ra
22 Κώδικας συμβολομεταφραστή για τον MIPS: Εύρεση μεγαλύτερου στοιχείου πίνακα # a0: address of element mem[0] # a1: value to match prog: add $t0, $zero, $zero # t0 = 0 add $v0, $zero, $zero # v0 = 0 add $v1, $zero, $zero # v1 = 0 loop: sltu $t2, $t0, $a1 # t2 = (t0 < a1) beq $t2, $zero, fin # if (!t2) goto fin lw $t1, 0($a0) # t1 = mem[a0] sltu $t2, $t1, $v0 # t2 = (t1 < v0) UNSIGNED! bne $t2, $zero, skip # if (t2) goto skip add $v0, $t1, $zero # v0 = t1 add $v1, $t0, $zero # v1 = t0 skip: addi $t0, $t0, 1 # t0 = t0 + 1 addi $a0, $a0, 4 # a0 = a0 + 4 j loop # goto loop fin: # $finish Το πρόγραμμα αυτό βρίσκει το μεγαλύτερο στοιχείο σε έναν πίνακα απρόσημων 32-bit ακεραίων και επιστρέφει το στοιχείο αυτό στον καταχωρητή $v0 και τη ϑέση στον πίνακα στον $v1
23 Γέννηση κώδικα για MIPS: Σύγκριση συμβολοσειρών ANSI C int strcmp (char *str1, char *str2) { char c1, c2; do { c1 = *str1++; c2 = *str2++; } while (c1!= 0 && c2!= 0 && c1 == c2); /* clever: 0, +ve or -ve as required */ return c1 - c2; } Κώδικας assembly για τον MIPS strcmp: 1: lbu $t0, 0($a0) addu $a0, $a0, 1 lbu $t1, 0($a1) addu $a1, $a1, 1 beq $t0, $zero,.t01 # end of first string? beq $t1, $zero,.t01 # end of second string? beq $t0, $t1, 1b.t01: subu $v0, $t0, $t1 j $ra
24 Γέννηση κώδικα για MIPS: Βρόχος for (πολλαπλασιασμός) ANSI C int test_for(int a, int b) { int t = 0, i; for (i = 0; i < b; i++) { t += a; } return t; } Assembly (από mips-sde-gcc, εφαρμόζει loop reversal).text.align 2 test_for:.frame $sp, 0, $ra move r2, $zero # r2 = $v0 blez r5,.l7.l5: addiu r5, r5, -1 addu r2, r2, r4 # r4 = $a0 bne r5, $zero,.l5.l7: jr r31
25 Γέννηση κώδικα για MIPS: Αναδρομικές κλήσεις συναρτήσεων στον υπολογισμό παραγοντικού ANSI C int fact(int n) { if (n > 1) return (n * fact(n-1)); else return 1; } Κώδικας assembly για τον MIPS fact: addi $sp, $sp, -8 # make space on stack for 2 items sw $ra, 4($sp) # push return address (from ra) sw $a0, 0($sp) # push n (from a0) sgti $t0, $a0, 1 # if (n > 1) bne $t0, $zero, rec # goto rec; # else addi $v0, $zero, 1 # v0 = 1; (value to return) addi $sp, $sp, 8 # hand back stack space (no pop) jr $ra # return to caller rec: addi $a0, $a0, -1 # a0 = n - 1; rcall: jal fact # v0 = fact(n - 1); lw $a0, 0($sp) # pop n (into a0) lw $ra, 4($sp) # pop return address (into ra) addi $sp, $sp, 8 # hand back stack space mul $v0, $a0, $v0 # v0 = n * fact(n - 1)); (ret val) jr $ra # return to caller $
26 Γέννηση κώδικα για MIPS: Παραγοντοποίηση σε γινόμενο πρώτων ANSI C void pfactor(unsigned int x, unsigned int *outp) { unsigned int i, n; n = x; i = 2; while (i <= n) { while ((n % i) == 0) { n = n / i; *outp = i; } i = i + 1; } } Assembly.text.align 2 pfactor:.frame R29, 0, R31 sltu R2, R4, 2 li R3, 2 bne R2, R0,.L9.L20: divu R0, R4, R3 teq R3, R0, 7 mfhi R2 bne R2, R0,.L11.L14: divu R0, R4, R3 teq R3, R0, 7 mflo R4 divu R0, R4, R3 teq R3, R0, 7 mfhi R6 beq R6, R0,.L14 sw R3, 0(R5).L11: addiu R3, R3, 1 sltu R2, R4, R3 beq R2, R0,.L20.L9: j R31
27 Το γραφικό περιβάλλον του PCSpim [SPIM] spim: πολύ γνωστός διερμηνευτικός προσομοιωτής για τις αρχιτεκτονικές MIPS-I, MIPS32. Αποτελεί έργο του James Larus και βρίσκεται σε διαρκή ανάπτυξη από το 1990 Άλλοι προσομοιωτές: MARS [MARS, Vollmar, 2006], EduMIPS64, WinDLX
28 Ψευδοεντολές (pseudoinstructions) στον spim Πρόκειται για ντιρεκτίβες (οδηγίες) που απευθύνει ο προγραμματιστής προς το συμβολομεταφραστή του spim
29 Κλήσεις συστήματος (system calls, syscalls) στον spim Επικοινωνία του προγράμματος του χρήστη με το περιβάλλον εκτέλεσης (λειτουργικό σύστημα) είσοδος ή έξοδος ακέραιου αριθμού, αριθμού κινητής υποδιαστολής, συμβολοσειράς άμεση έξοδος (exit) από το πρόγραμμα δυναμική εκχώρηση μνήμης με τη βοήθεια της sbrk
30 Παραδείγματα χρήσης των κλήσεων συστήματος Εκτύπωση του ακεραίου που βρίσκεται στον καταχωρητή $t2 li $v0, 1 # load syscall code in v0 move $a0, $t2 # move integer to be printed into a0 syscall # call operating system to perform operation Ανάγνωση ακεραίου (από την κονσόλα) και αποθήκευσή του στη μνήμη li $v0, 5 # load syscall code in v0 syscall # call operating system to perform operation sw $v0, int_value # value read from keyboard returned in v0 # then stored to desired location Εκτύπωση συμβολοσειράς.data str1.asciiz "Print this.\n".text main: li $v0, 4 # load appropriate system call code into register v0 la $a0, str1 # load address of string in a0 syscall # call operating system to perform print Εξοδος από το πρόγραμμα li $v0, 10 # system call code for exit = 10 syscall # call operating system
31 Αναφορές του μαθήματος I David A. Patterson and John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, 4th Edition, Morgan-Kaufmann, Dominic Sweetman, See MIPS Run, Second Edition, Morgan-Kaufmann, Kenneth Vollmar and Pete Sanderson, MARS: An Education-Oriented MIPS Assembly Language Simulator, ACM SIGCSE Bulletin, vol. 38, no. 1, pp , March MARS (MIPS Assembler and Runtime Simulator): An IDE for MIPS Assembly Language Programming. [Online]. Available: SPIM MIPS Simulator. [Online]. Available: larus/spim.html
Σκιαγράφηση της διάλεξης. Προηγμένα Θέματα Θεωρητικής Πληροφορικής.
Σκιαγράφηση της διάλεξης Προηγμένα Θέματα Θεωρητικής Πληροφορικής Ανασκόπηση του μαθήματος - Γέννηση τελικού κώδικα για RISC επεξεργαστές Νικόλαος Καββαδίας nkavv@uop.gr Σύνοψη του μαθήματος Ενδεικτικά
Διαβάστε περισσότεραΠροηγμένα Θέματα Θεωρητικής Πληροφορικής
Προηγμένα Θέματα Θεωρητικής Πληροφορικής Ανασκόπηση του μαθήματος - Γέννηση τελικού κώδικα για RISC επεξεργαστές Νικόλαος Καββαδίας nkavv@uop.gr 02 Ιουνίου 2010 Σκιαγράφηση της διάλεξης Σύνοψη του μαθήματος
Διαβάστε περισσότεραΕργαστήριο Αρ. 1. Εισαγωγή στην Αρχιτεκτονική MIPS. Πέτρος Παναγή Σελ. 1
Εργαστήριο Αρ. 1 Εισαγωγή στην Αρχιτεκτονική MIPS Πέτρος Παναγή Σελ. 1 Πώς Δημιουργείτε ένα Executable Αρχείο Source File: Ένα TEXT αρχείο με τον πυγαίο κώδικα. Assemble: Μεταφράζει τις assembly εντολές
Διαβάστε περισσότεραΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 2 Οργάνωση μνήμης Καταχωρητές του MIPS Εντολές του MIPS 1
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 2 Οργάνωση μνήμης Καταχωρητές του MIPS Εντολές του MIPS 1 Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Σύνολο Εντολών Το ρεπερτόριο
Διαβάστε περισσότεραChapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.
Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή (συνέχεια) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση:
Διαβάστε περισσότεραΕΠΛ605 Εργασία 1 Ημερομηνία Παράδοσης 12/9/2018 στην αρχή του μαθήματος
ΕΠΛ605 Εργασία 1 Ημερομηνία Παράδοσης 12/9/2018 στην αρχή του μαθήματος Ε.1 Σας δίνεται ο πιο κάτω κώδικας. Ξαναγράψτε τον ώστε να μειωθεί ο αριθμός των εντολών του αλλά διατηρώντας την ίδια λειτουργιά
Διαβάστε περισσότεραΔιαδικασίες ΙI. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 5
ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι Διάλεξη 5 Διαδικασίες ΙI Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Εισαγωγή στους Η/Υ (ΗΥ134) 1 Κατανομή μνήμης Κείμενο
Διαβάστε περισσότεραΠαραδείγματα Assembly (Μέρος
Παραδείγματα Assembly (Μέρος Β) 1 Άσκηση 1 Γράψτε ένα πρόγραμμα (4 εντολών) με το οποίο μπορείτε να προσθέσετε το περιεχόμενο των θέσεων μνήμης 0Χ30000000 και 0Χ30000001. Το αποτέλεσμα να αποθηκευτεί ως
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Κεφάλαιο 2 Ασκήσεις Άσκηση 1 Κώδικας C: f = g + h + B[4]; f = g A[B[4]]; f, g, h, στους $s0, $s1, $s2, και διευθύνσεις βάσης των πινάκων Α και Β στους $s6 και $s7 Ποιος είναι ο αντίστοιχος κώδικας MIPS;
Διαβάστε περισσότεραΗΜΥ 213. Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών. Διδάσκων: Δρ. Γιώργος Ζάγγουλος
ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών Διδάσκων: Δρ. Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy www.ece.ucy.ac.cy/courses/ece213 Περίληψη Αρχιτεκτονική Μικροεπεξεργαστών
Διαβάστε περισσότεραΕισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 3-4: Προγραμματισμός MIPS. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής
Γιώργος Δημητρίου Μάθημα 3-4: Προγραμματισμός MIPS Προγραμματισμός σε Συμβολική Γλώσσα Η συμβολική γλώσσα: δεν έχει τύπους, δεν έχει δηλώσεις μεταβλητών, δεν έχει δομές ελέγχου, δεν έχει εντολές βρόχων,
Διαβάστε περισσότεραΔιαδικασίες Ι. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 4
ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι Διάλεξη 4 Διαδικασίες Ι Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Εισαγωγή στους Η/Υ (ΗΥ134) 1 Διευθυνσιοδότηση διακλαδώσεων
Διαβάστε περισσότεραΕισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής
Γιώργος Δημητρίου Μάθημα 2 ο Σύνολα Εντολών Οι εντολές που εκτελεί ο κάθε επεξεργαστής (ή οικογένεια επεξεργαστών) MIPS ARM SPARC PowerPC IA-32 Αρχιτεκτονικές συνόλου εντολών Βασικές Έννοιες Εντολές μηχανής
Διαβάστε περισσότεραΠΛΕ- 027 Μικροεπεξεργαστές
ΠΛΕ- 027 Μικροεπεξεργαστές 2ο μάθημα: γλώσσα μηχανής MIPS, προγραμματισμός assembly Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Σύνολο εντολών μηχανής Το λεξιλόγιο
Διαβάστε περισσότεραΑναδρομή. ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 6. Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 6 Αναδρομή Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Υπολογισμός Παραγοντικού n! n! = 1*2..(n-1)*n = if n
Διαβάστε περισσότεραChapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.
Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή (συνέχεια) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση:
Διαβάστε περισσότεραΠΛΕ- 027 Μικροεπεξεργαστές
ΠΛΕ- 027 Μικροεπεξεργαστές 3ο μάθημα: γλώσσα μηχανής MIPS, προγραμματισμός assembly Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Stored Program Computers Αναπαράσταση
Διαβάστε περισσότεραΕργαστήριο Αρ. 1. Εισαγωγή στην Αρχιτεκτονική MIPS. Πώς Δημιουργείτε ένα Executable Αρχείο
Εργαστήριο Αρ. 1 Εισαγωγή στην Αρχιτεκτονική MPS Πέτρος Παναγή Σελ. 1 Πώς Δημιουργείτε ένα Executable Αρχείο Source File: Ένα TEXT αρχείο με τον πυγαίο κώδικα. Assemble: Μεταφράζει τις assembly εντολές
Διαβάστε περισσότερα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
Διαβάστε περισσότεραΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly
ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly Αρης Ευθυμίου Το σημερινό μάθημα! Σύνταξη εντολών! Θέματα σχετικά με τη προσπέλαση, οργάνωση μνήμης διευθύνση για κάθε byte διευθύνσεις λέξεων
Διαβάστε περισσότεραΕντολές του MIPS (2)
ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι Διάλεξη 3 Εντολές του MIPS (2) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Παράδειγμα (συνέχεια από προηγ. διάλεξη) $s3
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I
ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I MIPS Η MIPS (Microprocessor without Interlocked Pipeline Stages) είναι μία αρχιτεκτονική συνόλου εντολών (ISA) γλώσσας μηχανής που αναπτύχθηκε από την εταιρεία
Διαβάστε περισσότεραΜετατροπή χαρακτήρων ASCII σε ακέραιο αριθµό (atoi) & Άνοιγµα αρχείου µέσα από τo QtSPIM, διάβασµα, και αποθήκευση του περιεχοµένου του στη µνήµη
Μετατροπή χαρακτήρων ASCII σε ακέραιο αριθµό (atoi) & Άνοιγµα αρχείου µέσα από τo QtSPIM, διάβασµα, και αποθήκευση του περιεχοµένου του στη µνήµη ( ιάλεξη 3) ιδάσκων: Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy
Διαβάστε περισσότεραΣυναρτήσεις. Σημερινό μάθημα
Συναρτήσεις Σημερινό μάθημα C++ Συναρτήσεις Δήλωση συνάρτησης Σύνταξη συνάρτησης Πρότυπο συνάρτησης & συνάρτηση Αλληλο καλούμενες συναρτήσεις συναρτήσεις μαθηματικών Παράμετροι συναρτήσεων Τοπικές μεταβλητές
Διαβάστε περισσότεραΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 3 Εντολές του MIPS (2)
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 3 Εντολές του MIPS (2) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Y Παράδειγμα (συνέχεια από προηγ. διάλεξη) $s3 = &A[0] = 0x0001080 &A[8]
Διαβάστε περισσότεραChapter 2. Εντολές : Η γλώσσα του υπολογιστή. Τρίτη (3 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.
Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή Τρίτη (3 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο
Διαβάστε περισσότεραΚεφάλαιο 2. Εντολές: η γλώσσα του υπολογιστή
Κεφάλαιο 2 Εντολές: η γλώσσα του υπολογιστή Σύνολο εντολών Σύνολο εντολών (Instruction set) Το «ρεπερτόριο» των εντολών ενός υπολογιστή Διαφορετικοί υπολογιστές έχουν διαφορετικά σύνολα εντολών Αλλά με
Διαβάστε περισσότεραΦόρμα Σχεδιασμού Διάλεξης (ημ/α: 17/03/08, έκδοση: 1.0)
1. Κωδικός Μαθήματος: (Εισαγωγή στον Προγραμματισμό) 2. Α/Α Διάλεξης: 1 1. Τίτλος: Εισαγωγή στους υπολογιστές. 2. Μαθησιακοί Στόχοι: Συνοπτική παρουσίαση της εξέλιξης των γλωσσών προγραμματισμού και των
Διαβάστε περισσότεραΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών
ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών Διδάσκων: Δρ. Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy www.ece.ucy.ac.cy/courses/ece213 Περίληψη Αρχιτεκτονική Μικροεπεξεργαστών
Διαβάστε περισσότεραΣυναρτήσεις-Διαδικασίες
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 4 Συναρτήσεις-Διαδικασίες Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Διαδικασίες (procedures) Γνωστές και σαν υπορουτίνες (subroutines)
Διαβάστε περισσότεραChapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.
Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή (συνέχεια) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση:
Διαβάστε περισσότεραΚεφάλαιο 2. Εντολές: η γλώσσα του υπολογιστή
Κεφάλαιο 2 Εντολές: η γλώσσα του υπολογιστή Σύνολο εντολών Σύνολο εντολών (Instruction set) Το «ρεπερτόριο» των εντολών ενός υπολογιστή Διαφορετικοί υπολογιστές έχουν διαφορετικά σύνολα εντολών Αλλά με
Διαβάστε περισσότεραLANGUAGE OF THE MACHINE. TEI Κρήτης, Τμ. ΕΠΠ, Αρχιτεκτονική Υπολογιστών. Οργάνωση Υπολογιστή. Τυπική οργάνωση υπολογιστή
INSTRUCTIONS LANGUAGE OF THE MACHINE Οργάνωση Υπολογιστή Τυπική οργάνωση υπολογιστή 1 Εκτέλεση προγραμμάτων σε υπολογιστή INSTRUCTION SET Οι λέξεις στη γλώσσα μηχανής ονομάζονται εντολές (instructions)
Διαβάστε περισσότεραData-Level Parallelism Linking & Loading
ΗΥ 232 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Διάλεξη 18 Data-Level Parallelism Linking & Loading Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Οργάνωση Η/Y (ECE 232) 1
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικό σύνολο εντολών Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΜεταγλωττιστές ΙΙ. Επιλογή κώδικα. 24 Νοεμβρίου Νικόλαος Καββαδίας Μεταγλωττιστές ΙΙ
Μεταγλωττιστές ΙΙ Επιλογή κώδικα Νικόλαος Καββαδίας nkavv@uop.gr 24 Νοεμβρίου 2010 Ο γεννήτορας κώδικα Επιθυμητές ιδιότητες του γεννήτορα κώδικα (code generator) Το παραγόμενο πρόγραμμα χαμηλού επιπέδου
Διαβάστε περισσότεραΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών
ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών Διδάσκων: Δρ. Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy www.ece.ucy.ac.cy/courses/ece213 Ορίσματα στο QtSpim (set parameters
Διαβάστε περισσότεραΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών
ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών Διδάσκων: Δρ. Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy www.ece.ucy.ac.cy/courses/ece213 Μετατροπή ASCII σε Δεκαδικό
Διαβάστε περισσότεραChapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.
Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή (συνέχεια) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση:
Διαβάστε περισσότεραChapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.
Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή (συνέχεια) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση:
Διαβάστε περισσότεραΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών
ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών Διδάσκων: Δρ. Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy www.ece.ucy.ac.cy/courses/ece213 Περίληψη Αρχιτεκτονική Μικροεπεξεργαστών
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικό σύνολο εντολών Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΠροηγμένα Θέματα Θεωρητικής Πληροφορικής
Προηγμένα Θέματα Θεωρητικής Πληροφορικής Επιλογή κώδικα Νικόλαος Καββαδίας nkavv@uop.gr 24 Μαρτίου 2010 Σημαντικά ζητήματα στη γέννηση κώδικα (1) Επιθυμητές ιδιότητες του γεννήτορα κώδικα (code generator)
Διαβάστε περισσότεραΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών
ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών Διδάσκων: Δρ. Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy www.ece.ucy.ac.cy/courses/ece213 Περίληψη Συμβόλαιο Μαθήματος
Διαβάστε περισσότεραΜετατροπή χαρακτήρων ASCII σε αριθμό (atoi) & διάβασμα, και αποθήκευση του περιεχομένου του στη μνήμη. (Διάλεξη. Πανεπιστήμιο Κύπρου
Μετατροπή χαρακτήρων ASCII σε αριθμό (atoi) & Άνοιγμα αρχείου μέσα από τo SPIM, διάβασμα, και αποθήκευση του περιεχομένου του στη μνήμη (Διάλεξη 3) 1 Μετατροπή χαρακτήρων ASCII σε ακέραιο Ο πιο κάτω κώδικας
Διαβάστε περισσότεραΥποστήριξη διαδικασιών στο υλικό των υπολογιστών
Βήματα στην εκτέλεση μιας διαδικασίας (procedure) 1. Τοποθέτηση παραμέτρων 2. Μεταβίβαση ελέγχου στη διαδικασία 3. Λήψη πόρων αποθήκευσης 4. Εκτέλεση επιθυμητής εργασίας 5. Τοποθέτηση αποτελέσματος σε
Διαβάστε περισσότερα-Επεξεργαστής: datapath (δίοδος δεδοµένων) (1) και control (2) -Μνήµη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!)
Οργάνωση Υπολογιστών 5 συστατικά στοιχεία -Επεξεργαστής: datapath (δίοδος δεδοµένων) (1) και control (2) -Μνήµη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!) Συσκευές γρήγορες π.χ. κάρτες γραφικών,
Διαβάστε περισσότερα6. Επιστροφή ελέγχου στο σημείο εκκίνησης
Υποστήριξη διαδικασιών στο υλικό των υπολογιστών Βήματα στην εκτέλεση μιας διαδικασίας (procedure) 1. Τοποθέτηση παραμέτρων 2. Μεταβίβαση ελέγχου στη διαδικασία 3. Λήψη πόρων αποθήκευσης 4. Εκτέλεση επιθυμητής
Διαβάστε περισσότερα-Επεξεργαστής: datapath (δίοδος δεδομένων) (1) και control (2) -Μνήμη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!)
Οργάνωση Υπολογιστών 5 συστατικά στοιχεία -Επεξεργαστής: datapath (δίοδος δεδομένων) (1) και control (2) -Μνήμη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!) Συσκευές γρήγορες π.χ. κάρτες γραφικών,
Διαβάστε περισσότεραΜεταγλωττιστές ΙΙ. nkavv@uop.gr. Γέννηση ενδιάμεσης αναπαράστασης. 10 Νοεμβρίου 2010. Νικόλαος Καββαδίας nkavv@uop.gr Μεταγλωττιστές ΙΙ
Μεταγλωττιστές ΙΙ Γέννηση ενδιάμεσης αναπαράστασης Νικόλαος Καββαδίας nkavv@uop.gr 10 Νοεμβρίου 2010 Η έννοια της ενδιάμεσης αναπαράστασης Ενδιάμεση αναπαράσταση (IR: intermediate representation): απλοποιημένη,
Διαβάστε περισσότεραΣκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. nkavv@uop.gr. Ανασκόπηση ϑεμάτων παλαιών εξετάσεων του μαθήματος. Περιεχόμενο εξετάσεων
Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Ι Θέματα πρακτικής εξάσκησης Νικόλαος Καββαδίας nkavv@uop.gr 08 Ιουνίου 2011 Ανασκόπηση ϑεμάτων παλαιών εξετάσεων του μαθήματος Εξεταστική περίοδος Ιουνίου-Ιουλίου
Διαβάστε περισσότερα-Επεξεργαστής: datapath (δίοδος δεδομένων) (1) και control (2) -Μνήμη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!)
Οργάνωση Υπολογιστών 5 συστατικά στοιχεία -Επεξεργαστής: datapath (δίοδος δεδομένων) (1) και control (2) -Μνήμη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!) Συσκευές γρήγορες π.χ. κάρτες γραφικών,
Διαβάστε περισσότεραΣύγχρονες Αρχιτεκτονικές Υπολογιστών
ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ Σύγχρονες Αρχιτεκτονικές Υπολογιστών ΑΚΑ ΗΜΑΪΚΟ ΕΤΟΣ 2014-2015 Αρχιτεκτονική Συνόλου Εντολών (Instruction Set Architecture-ISA) 1 Ένας υπολογιστής
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικό σύνολο εντολών Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραMIPS functions and procedures
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης MIPS functions and procedures Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΆσκηση 1 (α) Άσκηση 1 (γ) Άσκηση 1 (β) Παραδείγματα Assembly. Άρα με έλεγχο στον $t1 αποφασίζω αν είναι 0 ή 1.
(α) Παραδείγματα Assembly Εαρινό Εξάμηνο 2012 Γράψτε ένα μικρό πρόγραμμα (1-3 εντολές) με το οποίο μπορείτε να ανιχνεύσετε την τιμή του δυαδικού ψηφίου στη θέση 7 της θέσης μνήμης 0Χ23450009 εάν το λιγότερο
Διαβάστε περισσότεραΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών
ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών Διδάσκων: Δρ. Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy www.ece.ucy.ac.cy/courses/ece213 Μετατροπή ASCII σε Δεκαδικό
Διαβάστε περισσότεραμε έμφαση στο MIPS R2000
ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - VHDL ΥΛΙΚΟ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ενότητα 3 Αρχιτεκτονικές Συνόλου Εντολών με έμφαση στο MIPS R2000 Καθηγητής Αντώνης Πασχάλης
Διαβάστε περισσότεραΠροτεινόμενες Λύσεις 1 ης Ενδιάμεσης Εξέτασης στο ΗΜΥ213 & Αποτελέσματα
Προτεινόμενες Λύσεις ης Ενδιάμεσης Εξέτασης στο ΗΜΥ & Αποτελέσματα Αποτελέσματα ης Ενδιάμεσης x(-9) x (-) Series x (-) x (-) 9 Μέσος όρος:.9/ Άσκηση srl/sll Ποιο θα είναι το περιεχόµενο του καταχωρητή
Διαβάστε περισσότεραΠεριγραφή αρχιτεκτονικής MIPS MIPS assembly (1o και 2o μέρος)
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης Περιγραφή αρχιτεκτονικής MIPS MIPS assembly (1o και 2o μέρος) Άδεια Χρήσης Το
Διαβάστε περισσότεραΣκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. Γενικά χαρακτηριστικά του επεξεργαστή MU0. nkavv@uop.gr. Προγραμματιζόμενοι επεξεργαστές
Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Ι Προγραμματιζόμενοι επεξεργαστές Νικόλαος Καββαδίας nkavv@uop.gr Προγραμματιζόμενοι επεξεργαστές Ρεαλιστικό παράδειγμα: ο επεξεργαστής MU0 (MicroProcessor
Διαβάστε περισσότεραΜεταγλωττιστές ΙΙ. nkavv@uop.gr. Χρονοπρογραμματισμός κώδικα και βελτιστοποιήσεις εξαρτημένες από την αρχιτεκτονική
Μεταγλωττιστές ΙΙ Χρονοπρογραμματισμός κώδικα και βελτιστοποιήσεις εξαρτημένες από την αρχιτεκτονική Νικόλαος Καββαδίας nkavv@uop.gr 21 Δεκεμβρίου 2010 Βελτιστοποιήσεις εξαρτημένες από την αρχιτεκτονική
Διαβάστε περισσότερα1 η Ενδιάμεση Εξέταση Απαντήσεις/Λύσεις
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) HMΜY 212 Οργάνωση Η/Υ και Μικροεπεξεργαστές Εαρινό Εξάμηνο, 2007 1 η Ενδιάμεση Εξέταση Απαντήσεις/Λύσεις Άσκηση 1: Σωστό/Λάθος
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών Ι
Αρχιτεκτονική Υπολογιστών Ι Επιλεγμένες εντολές και συναρτήσεις assembly Από το βιβλίο Αρχιτεκτονική Υπολογιστών & Προγραμματισμός Assembly (Συγγραφέας / Εκδότης : Παναγιώτης Παπάζογλου) Δρ. Παναγιώτης
Διαβάστε περισσότεραΗ διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 2. Εντολές : Η γλώσσα του υπολογιστή
Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή Δεύτερη (2 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο
Διαβάστε περισσότεραΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Κεφ. 2 Εντολές: H γλώσσα μηχανής
ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Κεφ. 2 Εντολές: H γλώσσα μηχανής Αρχιτεκτονική Σύνολο Εντολών MIPS (assembly) αναπαράσταση στο υλικό (ΜIPS) μετάφραση από HLL σε LLL Δομές ελέγχου
Διαβάστε περισσότεραΣυναρτήσεις & Κλάσεις
Συναρτήσεις & Κλάσεις Overloading class member συναρτήσεις/1 #include typedef unsigned short int USHORT; enum BOOL { FALSE, TRUE}; class Rectangle { public: Rectangle(USHORT width, USHORT
Διαβάστε περισσότεραΕντολές: H γλώσσα μηχανής
Εντολές: H γλώσσα μηχανής Αρχιτεκτονική Σύνολο Εντολών MIPS (assembly) αναπαράσταση στο υλικό (ΜIPS) μετάφραση από HLL σε LLL Δομές ελέγχου και βασικοί τύποι δεδομένων Κεφ. 2 + APPENDIX B 2.1-2.10,2.13,
Διαβάστε περισσότεραΟργάνωση Υπολογιστών
Οργάνωση Υπολογιστών 5 συστατικά στοιχεία -Επεξεργαστής: datapath (δίοδος δεδοµένων) (1) και control (2) -Μνήµη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!) Συσκευές γρήγορες π.χ. κάρτες γραφικών,
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικό σύνολο εντολών Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΤέτοιες λειτουργίες γίνονται διαμέσου του
Για κάθε εντολή υπάρχουν δυο βήματα που πρέπει να γίνουν: Προσκόμιση της εντολής (fetch) από τη θέση που δείχνει ο PC Ανάγνωση των περιεχομένων ενός ή δύο καταχωρητών Τέτοιες λειτουργίες γίνονται διαμέσου
Διαβάστε περισσότεραΑριθμητική Υπολογιστών
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 6 Αριθμητική Υπολογιστών Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Παράδειγμα: 7 + 6 Πρόσθεση ακεραίων Παράδειγμα με πολλαπλούς ακεραίους:
Διαβάστε περισσότεραΜετάφραση ενός Προγράμματος Εξαιρέσεις
ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι Διάλεξη 7 Μετάφραση ενός Προγράμματος Εξαιρέσεις Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Στάδια μετάφρασης ενός προγράμματος
Διαβάστε περισσότεραPointers. Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2
Pointers 1 Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2 1 Μνήμη μεταβλητών Κάθε μεταβλητή έχει διεύθυνση Δεν χρειάζεται
Διαβάστε περισσότεραΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών
ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών Εργαστήριο 1 Διδάσκων: Δρ. Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy www.ece.ucy.ac.cy/courses/ece213 Εγκατάσταση και
Διαβάστε περισσότερακαι η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath
O επεξεργαστής: Η δίοδος δεδοµένων (path) και η µονάδα ελέγχου (control) Σχεδίαση path 4 κατηγορίες εντολών: Αριθµητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη µνήµη (lw, sw) I
Διαβάστε περισσότεραΕπεξεργαστής Υλοποίηση ενός κύκλου μηχανής
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 9 Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Ti είναι Αρχιτεκτονική και τι Μικροαρχιτεκτονική
Διαβάστε περισσότεραΕντολές: H γλώσσα μηχανής
Εντολές: H γλώσσα μηχανής Αρχιτεκτονική Σύνολο Εντολών MIPS (assembly) αναπαράσταση στο υλικό (ΜIPS) μετάφραση από HLL σε LLL Δομές ελέγχου και βασικοί τύποι δεδομένων Κεφ. 2 + APPENDIX B 2.1-2.10,2.13,
Διαβάστε περισσότεραΟργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ασκήσεις 2: Βρόχοι και Επικοινωνία Κονσόλας στον SPIM. Μανόλης Γ.Η.
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Οργάνωση Υπολογιστών Ασκήσεις 2: Βρόχοι και Επικοινωνία Κονσόλας στον SPIM Μανόλης Γ.Η. Κατεβαίνης Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραO επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Σχεδίαση datapath Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη μνήμη (lw,
Διαβάστε περισσότεραΤΠ 2108 Αρχιτεκτονική Υπολογιστών (Εργαστήριο) ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΚΡΗΤΗΣ. Σειρά Ασκήσεων 2
Σειρά Ασκήσεων 2 Εντολές µεταφοράς δεδοµένων και βρόχοι στον MIPS. Οι γλώσσες προγραµµατισµού εκτός από απλές µεταβλητές που περιέχουν κάποια δεδοµένα, έχουν όπως γνωρίζετε και περισσότερο σύνθετες δοµές
Διαβάστε περισσότεραΣκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. nkavv@uop.gr. Περισσότερα για τα αρθρώματα Αναθέσεις και τελεστές Συντρέχων κώδικας
Σκιαγράφηση της διάλεξης Γλώσσες Περιγραφής Υλικού Ι Μοντελοποίηση συνδυαστικών κυκλωμάτων Νικόλαος Καββαδίας nkavv@uop.gr 06 Μαρτίου 2012 Περισσότερα για τα αρθρώματα Αναθέσεις και τελεστές Συντρέχων
Διαβάστε περισσότεραΑρχιτεκτονικη υπολογιστων
ΤΕΙ Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονικη υπολογιστων Τζαγκαράκης Χαράλαμπος hatzagarak@cs.teicrete.gr Εισαγωγη: ο επεξεργαστης και η γλωσσα του Eπεξεργαστής: MIPS Microprocessor Without Interlocked
Διαβάστε περισσότεραΠαραδείγματα Assembly Μέρος Γ
Παραδείγματα Assembly Μέρος Γ 1 Άσκηση 1 (α) Σε τι χρησιμεύει η Στοίβα στο Spim, όσο αφορά τη ροή ενός προγράμματος; α) Για προσωρινή αποθήκευση του καταχωρητη $ra σε περιπτώσεις που έχουμε κλήση συνάρτησης
Διαβάστε περισσότεραΤμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 1. Χειμερινό Εξάμηνο
Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering Οργάνωση και Σχεδίαση Η/Y (HY232) Εργαστήριο 1 Χειμερινό Εξάμηνο 2016-2017 Στόχοι του εργαστηρίου Εντολές
Διαβάστε περισσότεραΣειρά Ασκήσεων 3: Προσπελάσεις Μνήµης στον MIPS
Σειρά Ασκήσεων 3: Προσπελάσεις Μνήµης στον MIPS Προσπελάσεις Μνήµης: Εντολές load και store Ο MIPS, όπως και οι άλλοι επεξεργαστές τύπου RISC, δεν έχει εντολές που να κάνουν αριθµητικές πράξεις πάνω σε
Διαβάστε περισσότεραΟργάνωση και Σχεδίαση Υπολογιστών Η Διασύνδεση Υλικού και Λογισμικού, 4 η έκδοση. Σύντομη Εισαγωγή στη χρήση του προσομοιωτή και συμβολομεταφραστή
Οργάνωση και Σχεδίαση Υπολογιστών Η Διασύνδεση Υλικού και Λογισμικού, 4 η έκδοση QtSpim Σύντομη Εισαγωγή στη χρήση του προσομοιωτή και συμβολομεταφραστή (Τελευταία ενημέρωση για την έκδοση QtSpim 9.1.4)
Διαβάστε περισσότεραΤεχνολογίες ημιαγωγών. Chapter 2 Instructions: Language of the Computer 1
Τεχνολογίες ημιαγωγών Chapter 2 Instructions: Language of the Computer 1 Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή Διαφάνειες
Διαβάστε περισσότεραΤελική Εξέταση, Απαντήσεις/Λύσεις
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) HMΜY 212 Οργάνωση Η/Υ και Μικροεπεξεργαστές Εαρινό Εξάμηνο, 2007 Τελική Εξέταση, Απαντήσεις/Λύσεις Άσκηση 1: Assembly για
Διαβάστε περισσότεραΟργάνωση Υπολογιστών
Οργάνωση Υπολογιστών Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών 1 Άδειες Χρήσης Το παρόν υλικό
Διαβάστε περισσότεραΕπεξεργαστής Υλοποίηση ενός κύκλου μηχανής
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 9 Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ 1 Ti είναι Αρχιτεκτονική και τι Μικροαρχιτεκτονική
Διαβάστε περισσότεραΑ. Δίνονται οι. (i) στη. πρέπει να. πιο. (ii) $a0. $s0 θα πρέπει να. αποθήκευση. αυξάνει τον. f: sub sll add sub jr. h: addi sw sw.
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΡ ΙΟ ΥΠΟΛΟΟ ΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua. gr ΑΡΧΙΤΕΚΤΟΝΙΚΗ
Διαβάστε περισσότεραChapter 3. Αριθμητική Υπολογιστών. Έβδομη (7 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.
Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 3 Αριθμητική Υπολογιστών Έβδομη (7 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση),
Διαβάστε περισσότεραΕργαστήριο Αρχιτεκτονική Υπολογιστών Ι ΤΡΑΠΕΖΑ ΘΕΜΑΤΩΝ. Άσκηση 2 Ποιες οι τιμές των καταχωρητών μετά την εκτέλεση του προγράμματος ;
Εργαστήριο Αρχιτεκτονική Υπολογιστών Ι ΤΡΑΠΕΖΑ ΘΕΜΑΤΩΝ Άσκηση 1 Πόσους αστερίσκους θα τυπώσει το πρόγραμμα ; li $t2,2 li $t1,1 Εμφάνισε div $t1,$t2 mfhi $t3 add $t3,$t3,1 add $t1,$t1,$t3 ble $t1,10,start
Διαβάστε περισσότεραnkavv@physics.auth.gr nkavv@uop.gr
Γλώσσες Περιγραφής Υλικού Μη προγραμματιζόμενοι επεξεργαστές Νικόλαος Καββαδίας nkavv@physics.auth.gr nkavv@uop.gr 26 Μαΐου 2009 Σκιαγράφηση της διάλεξης Μη προγραμματιζόμενοι επεξεργαστές Υλοποίηση με
Διαβάστε περισσότεραΠανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΜΣ Εφαρμοσμένη Πληροφορική Οργάνωση και Σχεδίαση Η/Υ Πρώτη Σειρά Ασκήσεων 7 Απριλίου 2017 ενδεικτική παράδοση: 5 Μαΐου Για
Διαβάστε περισσότεραΑποδεικτικές Διαδικασίες και Μαθηματική Επαγωγή.
Αποδεικτικές Διαδικασίες και Μαθηματική Επαγωγή. Mαθηματικό σύστημα Ένα μαθηματικό σύστημα αποτελείται από αξιώματα, ορισμούς, μη καθορισμένες έννοιες και θεωρήματα. Η Ευκλείδειος γεωμετρία αποτελεί ένα
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΠΡΩΤΗ ΠΡΟΟΔΟΣ ΣΤΗΝ «ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Y»
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΠΡΩΤΗ ΠΡΟΟΔΟΣ ΣΤΗΝ «ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Y» Σάββατο, 31 Οκτωβρίου 2015 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 150 ΛΕΠΤΑ ΘΕΜΑ 1.
Διαβάστε περισσότεραChapter 2. Εντολές : Η γλώσσα του υπολογιστή. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy
Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση: Καθ.
Διαβάστε περισσότερα