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;

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

Download "add $t0,$zero, $zero I_LOOP: beq $t0,$s3, END add $t1, $zero,$zero J_LOOP: sub $t2, $s3, $t0 add $t2, $t2, $s1 int i, j, tmp; int *arr, n;"

Transcript

1 Άσκηση 1 η Μέρος Α Ζητούμενο: Δίνεται το παρακάτω πρόγραμμα σε C καθώς και μια μετάφραση του σε assembly MIPS. Συμπληρώστε τα κενά. Σας υπενθυμίζουμε ότι ο καταχωρητής $0 (ή $zero) είναι πάντα μηδέν. int i, j, tmp; int *arr, n; for (i=0; i < n; i++){ for (j=0; j < n-i-1; j++){ if (arr[j] > arr[j+1]) { tmp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = tmp; } } } add $t0,$zero, $zero I_LOOP: beq $t0,$s3, END add $t1, $zero,$zero J_LOOP: sub $t2, $s3, $t0 addi $t2, $t2, -1 beq $t2, $t1, NEXT_I sll $t2, $t1, 2 add $t2, $t2, $s1 lw $t3, 0 ($t2) lw $t4, 4 ($t2) slt $t5, $t4, $t3 beq $t5, $zero, NEXT_J sw $t4, 0 ($t2) sw $t3, 4 ($t2) NEXT_J: addi $t1, $t1, 1 jmp J_LOOP NEXT_I: addi $t0, $t0, 1 jmp I_LOOP END: 1

2 Ζητούμενο: Υλοποιήστε τις παρακάτω ρουτίνες σε assembly του MIPS υποθέτοντας πως οι μεταβλητές x,y,z,w αποθηκεύονται σε συνεχόμενες θέσεις της μνήμης ξεκινώντας από την 0x uint32_t x, y, z, w; Άσκηση 1 η Μέρος Β void xorshift_init(int _x, int _y, int _z, int _w) { x = _x; y = _y; z = _z; w = _x; } uint32_t xorshift() { uint32_t t = x; t ^= t << 11; t ^= t >> 8; x = y; y = z; z = w; w ^= w >> 19; w ^= t; return w; } xorshift_init: lui $t0, 0x1000 sw $a0, 0($t0) sw $a1, 4($t0) sw $a2, 8($t0) sw $a3, 12($t0) jr $ra xorshift: lui $t9, 0x1000 lw $t0, 0($t9) # x lw $t1, 4($t9) # y lw $t2, 8($t9) # z lw $t3, 12($t9) # w sll $t4, $t0, 11 xor $t0, $t0, $t4 srl $t4, $t0, 8 xor $t0, $t0, $t4 sw $t1, 0($t9) sw $t2, 4($t9) sw $t3, 8($t9) srl $t4, $t3, 19 xor $t3, $t3, $t4 xor $t3, $t3, $t0 sw $t3, 12($t9) add $v0, $t3, $zero jr $ra

3 Άσκηση 1 η Μέρος Γ Ζητούμενο: Οι παρακάτω C ρουτίνες υλοποιούν τον αλγόριθμο ταξινόμησης quicksort για ακέραιους αριθμούς 32-bit. Η quicksort χρησιμοποιεί την xorshift() για την παραγωγή ενός τυχαίου αριθμού μεταξύ left και right τον οποίο χρησιμοποιεί σαν pivot. Υλοποιήστε τις ρουτίνες σε assembly του MIPS. void swap(int *m1, int *m2) { int tmp = *m1; *m1 = *m2; *m2 = tmp; } int partition(int *A, int left, int right) { int pivot, i, j; pivot = A[left]; i = left - 1; j = right + 1; while (1) { while (A[++i] < pivot); while (A[--j] > pivot); void quicksort(int *A, int left, int right) { if (left >= right) return; } int pivot = xorshift128() % (right - left) + left; swap(&a[pivot], &A[left]); int q = partition(a, left, right); quicksort(a, left, q); quicksort(a, q+1, right); } } if (i < j) swap(&a[i], &A[j]); else return j;

4 Άσκηση 1 η Μέρος Γ void swap(int *m1, int *m2) { int tmp = *m1; *m1 = *m2; *m2 = tmp; } swap: lw $t0, 0($a0) lw $t1, 0($a1) sw $t1, 0($a0) sw $t0, 0($a1) jr $ra

5 Άσκηση 1 η Μέρος Γ int partition(int *A, int left, int right) { int pivot, i, j; } pivot = A[left]; i = left - 1; j = right + 1; while (1) { while (A[++i] < pivot); while (A[--j] > pivot); } if (i < j) swap(&a[i], &A[j]); else return j; partition: addi $sp, $sp, -16 sw $ra, 0($sp) sw $s0, 4($sp) sw $s1, 8($sp) sw $s2, 12($sp) sll $t0, $a1, 2 add $t9, $t0, $a0 lw $s0, 0($t9) addi $s1, $a1, -1 addi $s2, $a2, 1 OUTER_LOOP: I_LOOP: addi $s1, $s1, 1 sll $t0, $s1, 2 add $t1, $a0, $t0 lw $t2, 0($t1) slt $t0, $t2, $s0 bne $t0, $zero, I_LOOP J_LOOP: addi $s2, $s2, -1 sll $t0, $s2, 2 add $t1, $a0, $t0 lw $t2, 0($t1) slt $t0, $s0, $t2 bne $t0, $zero, J_LOOP save registers to stack

6 Άσκηση 1 η Μέρος Γ int partition(int *A, int left, int right) { int pivot, i, j; } pivot = A[left]; i = left - 1; j = right + 1; while (1) { while (A[++i] < pivot); while (A[--j] > pivot); } if (i < j) swap(&a[i], &A[j]); else return j; slt $t0, $s1, $s2 beq $t0, $zero, PARTITION_RETURN addi $sp, $sp, -8 sw $a0, 0($sp) sw $a1, 4($sp) sll $t0, $s2, 2 add $a1, $a0, $t0 sll $t0, $s1, 2 add $a0, $a0, $t0 jal swap lw $a1, 4($sp) lw $a0, 0($sp) addi $sp, $sp, 8 j OUTER_LOOP PARTITION_RETURN: add $v0, $s2, $zero lw $ra, 0($sp) lw $s0, 4($sp) lw $s1, 8($sp) lw $s2, 12($sp) addi $sp, $sp, 16 jr $ra restore saved registers from stack

7 Άσκηση 1 η Μέρος Γ quicksort: addi $sp, $sp, -8 sw $ra, 0($sp) sw $s0, 4($sp) void quicksort(int *A, int left, int right) { if (left >= right) return; } int pivot = xorshift128() % (right - left) + left; swap(&a[pivot], &A[left]); int q = partition(a, left, right); quicksort(a, left, q); quicksort(a, q+1, right); slt $t0, $a1, $a2 beq $t0, $zero, QUICKSORT_RETURN jal xorshift sub $s0, $a2, $a1 divu $v0, $s0 mfhi $s0 add $s0, $s0, $a1 addi $sp, $sp, -8 sw $a0, 0($sp) sw $a1, 4($sp) sll $a1, $a1, 2 add $a1, $a0, $a1 sll $t0, $s0, 2 add $a0, $a0, $t0 jal swap lw $a1, 4($sp) lw $a0, 0($sp) addi $sp, $sp, 8 jal partition

8 Άσκηση 1 η Μέρος Γ void quicksort(int *A, int left, int right) { if (left >= right) return; } int pivot = xorshift128() % (right - left) + left; swap(&a[pivot], &A[left]); int q = partition(a, left, right); quicksort(a, left, q); quicksort(a, q+1, right); addi $sp, $sp, -8 sw $a2, 0($sp) sw $v0, 4($sp) add $a2, $zero, $v0 jal quicksort lw $a2, 0($sp) lw $v0, 4($sp) addi $sp, $sp, 8 add $a1, $zero, $v0 addi $a1, $a1, 1 jal quicksort QUICKSORT_RETURN: lw $ra, 0($sp) lw $s0, 4($sp) addi $sp, $sp, 8 jr $ra

9 Έχουμε ένα loop... LOOP: LW $t0, 0($t3) LW $t1, 0($t0) LW $t2, 8($t0) ADD $t2, $t2, $t1 ADD $t2, $t2, $t0 SW $t2, 0($t3) ADDI $t3, $t3, -4 BNE $t9, $t3, LOOP 2 η Άσκηση Δεδομένα

10 2 η Άσκηση Δεδομένα Έχουμε ένα loop... LOOP: LW $t0, 0($t3) LW $t1, 0($t0) LW $t2, 8($t0) ADD $t2, $t2, $t1 ADD $t2, $t2, $t0 SW $t2, 0($t3) ADDI $t3, $t3, -4 BNE $t9, $t3, LOOP και αυτή την αρχική κατάσταση $t3 = 0x1000 = 4096 $t9 = 0x800 = 2048 Δεν υπάρχει cache miss Cache σε 1cc branches γίνονται resolve στο EX stage

11 2 η Άσκηση LOOP: LW $t0, 0($t3) LW $t1, 0($t0) LW $t2, 8($t0) ADD $t2, $t2, $t1 ADD $t2, $t2, $t0 SW $t2, 0($t3) ADDI $t3, $t3, -4 BNE $t9, $t3, LOOP $t3 = 4096 $t9 = 2048 $t3 = 4096, 4092,, 2048 Ο βρόχος θα εκτελεστεί 2048 / 4 = 512 φορές.

12 2 η Άσκηση 1 ο ζητούμενο 1 ο Ζητούμενο : Για το 1 ο LOOP (μέχρι και το lw του 2 ου LOOP) Να δείξετε τα διάφορα στάδια του pipeline (διάγραμμα χρονισμού) που περνάνε οι εντολές. Υποθέστε ότι η αρχιτεκτονική δε διαθέτει σχήμα προώθησης. Κύκλος Εντολή 1 Εντολή 2 Εντολή IF ID EX MEM WB IF ID EX MEM WB

13 2 η Άσκηση 1 ο ζητούμενο LW $t0, 0($t3) F LW $t1, 0($t0) LW $t2, 8($t0) ADD $t2,$t2,$t1 ADD $t2,$t2,$t0 SW $t2,0($t3) ADDI $t3,$t3,-4 BNE $t9,$t3,loop LW $t0, 0($t3)

14 2 η Άσκηση 1 ο ζητούμενο LW $t0, 0($t3) F D LW $t1, 0($t0) F LW $t2, 8($t0) ADD $t2,$t2,$t1 ADD $t2,$t2,$t0 SW $t2,0($t3) ADDI $t3,$t3,-4 BNE $t9,$t3,loop LW $t0, 0($t3)

15 2 η Άσκηση 1 ο ζητούμενο LW $t0, 0($t3) F D X LW $t1, 0($t0) F D LW $t2, 8($t0) F ADD $t2,$t2,$t1 ADD $t2,$t2,$t0 SW $t2,0($t3) ADDI $t3,$t3,-4 BNE $t9,$t3,loop LW $t0, 0($t3)

16 2 η Άσκηση 1 ο ζητούμενο LW $t0, 0($t3) F D X M LW $t1, 0($t0) F D - LW $t2, 8($t0) F - ADD $t2,$t2,$t1 ADD $t2,$t2,$t0 SW $t2,0($t3) ADDI $t3,$t3,-4 BNE $t9,$t3,loop LW $t0, 0($t3)

17 2 η Άσκηση 1 ο ζητούμενο LW $t0, 0($t3) F D X M W LW $t1, 0($t0) F D - - LW $t2, 8($t0) F - - ADD $t2,$t2,$t1 ADD $t2,$t2,$t0 SW $t2,0($t3) ADDI $t3,$t3,-4 BNE $t9,$t3,loop LW $t0, 0($t3)

18 2 η Άσκηση 1 ο ζητούμενο LW $t0, 0($t3) F D X M W LW $t1, 0($t0) F D - - X LW $t2, 8($t0) F - - D ADD $t2,$t2,$t1 F ADD $t2,$t2,$t0 SW $t2,0($t3) ADDI $t3,$t3,-4 BNE $t9,$t3,loop LW $t0, 0($t3)

19 2 η Άσκηση 1 ο ζητούμενο LW $t0, 0($t3) F D X M W LW $t1, 0($t0) F D - - X M LW $t2, 8($t0) F - - D X ADD $t2,$t2,$t1 F D ADD $t2,$t2,$t0 F SW $t2,0($t3) ADDI $t3,$t3,-4 BNE $t9,$t3,loop LW $t0, 0($t3)

20 2 η Άσκηση 1 ο ζητούμενο LW $t0, 0($t3) F D X M W LW $t1, 0($t0) F D - - X M W LW $t2, 8($t0) F - - D X M ADD $t2,$t2,$t1 F D - ADD $t2,$t2,$t0 F - SW $t2,0($t3) ADDI $t3,$t3,-4 BNE $t9,$t3,loop LW $t0, 0($t3)

21 2 η Άσκηση 1 ο ζητούμενο LW $t0, 0($t3) F D X M W LW $t1, 0($t0) F D - - X M W LW $t2, 8($t0) F - - D X M W ADD $t2,$t2,$t1 F D - - ADD $t2,$t2,$t0 F - - SW $t2,0($t3) ADDI $t3,$t3,-4 BNE $t9,$t3,loop LW $t0, 0($t3)

22 2 η Άσκηση 1 ο ζητούμενο LW $t0, 0($t3) F D X M W LW $t1, 0($t0) F D - - X M W LW $t2, 8($t0) F - - D X M W ADD $t2,$t2,$t1 F D - - X ADD $t2,$t2,$t0 F - - D SW $t2,0($t3) F ADDI $t3,$t3,-4 BNE $t9,$t3,loop LW $t0, 0($t3)

23 2 η Άσκηση 1 ο ζητούμενο LW $t0, 0($t3) F D X M W LW $t1, 0($t0) F D - - X M W LW $t2, 8($t0) F - - D X M W ADD $t2,$t2,$t1 F D - - X M ADD $t2,$t2,$t0 F - - D - SW $t2,0($t3) F - ADDI $t3,$t3,-4 BNE $t9,$t3,loop LW $t0, 0($t3)

24 2 η Άσκηση 1 ο ζητούμενο LW $t0, 0($t3) F D X M W LW $t1, 0($t0) F D - - X M W LW $t2, 8($t0) F - - D X M W ADD $t2,$t2,$t1 F D - - X M W ADD $t2,$t2,$t0 F - - D - - SW $t2,0($t3) F - - ADDI $t3,$t3,-4 BNE $t9,$t3,loop LW $t0, 0($t3)

25 2 η Άσκηση 1 ο ζητούμενο LW $t0, 0($t3) F D X M W LW $t1, 0($t0) F D - - X M W LW $t2, 8($t0) F - - D X M W ADD $t2,$t2,$t1 F D - - X M W ADD $t2,$t2,$t0 F - - D - - X SW $t2,0($t3) F - - D ADDI $t3,$t3,-4 F BNE $t9,$t3,loop LW $t0, 0($t3)

26 2 η Άσκηση 1 ο ζητούμενο LW $t0, 0($t3) F D X M W LW $t1, 0($t0) F D - - X M W LW $t2, 8($t0) F - - D X M W ADD $t2,$t2,$t1 F D - - X M W ADD $t2,$t2,$t0 F - - D - - X M SW $t2,0($t3) F - - D - ADDI $t3,$t3,-4 F - BNE $t9,$t3,loop LW $t0, 0($t3)

27 2 η Άσκηση 1 ο ζητούμενο LW $t0, 0($t3) F D X M W LW $t1, 0($t0) F D - - X M W LW $t2, 8($t0) F - - D X M W ADD $t2,$t2,$t1 F D - - X M W ADD $t2,$t2,$t0 F - - D - - X M W SW $t2,0($t3) F - - D - - ADDI $t3,$t3,-4 F - - BNE $t9,$t3,loop LW $t0, 0($t3)

28 2 η Άσκηση 1 ο ζητούμενο LW $t0, 0($t3) F D X M W LW $t1, 0($t0) F D - - X M W LW $t2, 8($t0) F - - D X M W ADD $t2,$t2,$t1 F D - - X M W ADD $t2,$t2,$t0 F - - D - - X M W SW $t2,0($t3) F - - D - - X ADDI $t3,$t3,-4 F - - D BNE $t9,$t3,loop F LW $t0, 0($t3)

29 2 η Άσκηση 1 ο ζητούμενο LW $t0, 0($t3) F D X M W LW $t1, 0($t0) F D - - X M W LW $t2, 8($t0) F - - D X M W ADD $t2,$t2,$t1 F D - - X M W ADD $t2,$t2,$t0 F - - D - - X M W SW $t2,0($t3) F - - D - - X M ADDI $t3,$t3,-4 F - - D X BNE $t9,$t3,loop F D LW $t0, 0($t3)

30 2 η Άσκηση 1 ο ζητούμενο LW $t0, 0($t3) F D X M W LW $t1, 0($t0) F D - - X M W LW $t2, 8($t0) F - - D X M W ADD $t2,$t2,$t1 F D - - X M W ADD $t2,$t2,$t0 F - - D - - X M W SW $t2,0($t3) F - - D - - X M W ADDI $t3,$t3,-4 F - - D X M BNE $t9,$t3,loop F D - LW $t0, 0($t3)

31 2 η Άσκηση 1 ο ζητούμενο LW $t0, 0($t3) F D X M W LW $t1, 0($t0) F D - - X M W LW $t2, 8($t0) F - - D X M W ADD $t2,$t2,$t1 F D - - X M W ADD $t2,$t2,$t0 F - - D - - X M W SW $t2,0($t3) F - - D - - X M W ADDI $t3,$t3,-4 F - - D X M W BNE $t9,$t3,loop F D - - LW $t0, 0($t3)

32 2 η Άσκηση 1 ο ζητούμενο LW $t0, 0($t3) F D X M W LW $t1, 0($t0) F D - - X M W LW $t2, 8($t0) F - - D X M W ADD $t2,$t2,$t1 F D - - X M W ADD $t2,$t2,$t0 F - - D - - X M W SW $t2,0($t3) F - - D - - X M W ADDI $t3,$t3,-4 F - - D X M W BNE $t9,$t3,loop F D - - X M W LW $t0, 0($t3) F D Σύνολο κύκλων: 20* = 10242

33 2 η Άσκηση 2 ο ζητούμενο 2 ο Ζητούμενο : Για το 1 ο LOOP (μέχρι και το lw του 2 ου LOOP) Να δείξετε τα διάφορα στάδια του pipeline (διάγραμμα χρονισμού) που περνάνε οι εντολές. Υποθέστε τώρα ότι η αρχιτεκτονική διαθέτει σχήμα προώθησης. Κύκλος Εντολή 1 Εντολή 2 Εντολή IF ID EX MEM WB IF ID EX MEM WB

34 2 η Άσκηση 2 ο ζητούμενο LW $t0, 0($t3) F D X M LW $t1, 0($t0) F D - LW $t2, 8($t0) F - ADD $t2,$t2,$t1 ADD $t2,$t2,$t0 SW $t2,0($t3) ADDI $t3,$t3,-4 BNE $t9,$t3,loop LW $t0, 0($t3)

35 2 η Άσκηση 2 ο ζητούμενο LW $t0, 0($t3) F D X M W LW $t1, 0($t0) F D - X LW $t2, 8($t0) F - D ADD $t2,$t2,$t1 F ADD $t2,$t2,$t0 SW $t2,0($t3) ADDI $t3,$t3,-4 BNE $t9,$t3,loop LW $t0, 0($t3)

36 2 η Άσκηση 2 ο ζητούμενο LW $t0, 0($t3) F D X M W LW $t1, 0($t0) F D - X M W LW $t2, 8($t0) F - D X M ADD $t2,$t2,$t1 F D - ADD $t2,$t2,$t0 F - SW $t2,0($t3) ADDI $t3,$t3,-4 BNE $t9,$t3,loop LW $t0, 0($t3)

37 2 η Άσκηση 2 ο ζητούμενο LW $t0, 0($t3) F D X M W LW $t1, 0($t0) F D - X M W LW $t2, 8($t0) F - D X M W ADD $t2,$t2,$t1 F D - X ADD $t2,$t2,$t0 F - D SW $t2,0($t3) F ADDI $t3,$t3,-4 BNE $t9,$t3,loop LW $t0, 0($t3)

38 2 η Άσκηση 2 ο ζητούμενο LW $t0, 0($t3) F D X M W LW $t1, 0($t0) F D - X M W LW $t2, 8($t0) F - D X M W ADD $t2,$t2,$t1 F D - X M ADD $t2,$t2,$t0 F - D X SW $t2,0($t3) F D ADDI $t3,$t3,-4 F BNE $t9,$t3,loop LW $t0, 0($t3)

39 2 η Άσκηση 2 ο ζητούμενο LW $t0, 0($t3) F D X M W LW $t1, 0($t0) F D - X M W LW $t2, 8($t0) F - D X M W ADD $t2,$t2,$t1 F D - X M W ADD $t2,$t2,$t0 F - D X M SW $t2,0($t3) F D X ADDI $t3,$t3,-4 F D BNE $t9,$t3,loop F LW $t0, 0($t3)

40 2 η Άσκηση 2 ο ζητούμενο LW $t0, 0($t3) F D X M W LW $t1, 0($t0) F D - X M W LW $t2, 8($t0) F - D X M W ADD $t2,$t2,$t1 F D - X M W ADD $t2,$t2,$t0 F - D X M W SW $t2,0($t3) F D X M W ADDI $t3,$t3,-4 F D X M BNE $t9,$t3,loop F D X LW $t0, 0($t3)

41 2 η Άσκηση 2 ο ζητούμενο LW $t0, 0($t3) F D X M W LW $t1, 0($t0) F D - X M W LW $t2, 8($t0) F - D X M W ADD $t2,$t2,$t1 F D - X M W ADD $t2,$t2,$t0 F - D X M W SW $t2,0($t3) F D X M W ADDI $t3,$t3,-4 F D X M W BNE $t9,$t3,loop F D X M W LW $t0, 0($t3) F D Σύνολο κύκλων: 12* = 6146

42 2 η Άσκηση 3 ο ζητούμενο 3 ο Ζητούμενο : Για το 1 ο LOOP (μέχρι και το lw του 2 ου LOOP) Προσπαθήστε να πετύχετε καλύτερη απόδοση τροποποιώντας τον κώδικα, χωρίς όμως να αλλάξετε τη σημασιολογία του προγράμματος. Κύκλος Εντολή 1 Εντολή 2 Εντολή IF ID EX MEM WB IF ID EX MEM WB

43 2 η Άσκηση 2 ο ζητούμενο (επανάληψη) Αναδιατάσσονται LW $t0, 0($t3) F D X M W εδώ LW $t1, 0($t0) F D - X M W LW $t2, 8($t0) F - D X M W Θέλουμε να τα αποφύγουμε! ADD $t2,$t2,$t1 F D - X M W ADD $t2,$t2,$t0 F - D X M W SW $t2,0($t3) F D X M W ADDI $t3,$t3,-4 F D X M W Μπορεί να μετακινηθεί BNE $t9,$t3,loop F D X M W LW $t0, 0($t3) F D Σύνολο κύκλων: 12* = 6146

44 2 η Άσκηση 3 ο ζητούμενο LW $t0, 0($t3) F D X M W ADDI $t3,$t3,-4 F D X M W LW $t2, 8($t0) F D X M W LW $t1, 0($t0) F D X M W ADD $t2,$t2,$t0 F D X M W ADD $t2,$t2,$t1 F D X M W SW $t2,4($t3) F D X M W BNE $t9,$t3,loop F D X M W LW $t0, 0($t3) F D Σύνολο κύκλων: 10* = 5122

45 Άσκηση 3 η Μέρος A Δίνεται η παρακάτω ακολουθία προσπελάσεων Διεύθυνση (hex) 0x044 0x042 0x048 0x1AF 0x04A Αποτέλεσμα Miss Hit Miss Miss Miss Direct-mapped cache Ελάχιστη μονάδα δεδομένων που μπορεί να διευθυνσιοδοτηθεί το 1 byte Μήκος διεύθυνσης 9 bits Αρχικά η cache είναι άδεια Υπολογίστε το συνολικό μέγεθος της cache καθώς και το μέγεθος του tag array. 45

46 Άσκηση 3 η Μέρος A Υπολογίστε το συνολικό μέγεθος της cache καθώς και το μέγεθος του tag array. Διεύθυνση (hex) Διεύθυνση (bin) Αποτέλεσμα 0x Miss 0x Hit 0x Miss 0x1AF Miss 0x04A Miss Στο ίδιο block block offset 3 Σε διαφορετικό block 1 block offset 3 block offset = 3 bits block size = 8 bytes Για block size = 8 bytes είναι στο ίδιο block άρα το 0x04A θα έπρεπε να είναι το 0x1AF πρέπει να έχει ίδιο index index = 1 ή 2 bits cache size = 2 * 8 = 16 bytes και tag array = 2 * 5 = 10 bits ή cache size = 4 * 8 = 32 bytes και tag array = 4 * 4 = 16 bits 46

47 Δίνεται το ακόλουθο κομμάτι κώδικα: int i,j; double A[8][8], B[8][8], C[64]; Άσκηση 3 η Μέρος B for (i=0; i < 8; i++) for (j=0; j < 8; j++) if (j % 2 == 0) A[i][j] = A[i][j] + B[i][j] + C[8*i +j]; else A[i][j] = A[i][j] + B[i][j]; Κάθε στοιχείο του πίνακα είναι 8 bytes 1 επίπεδο κρυφής μνήμης, direct-mapped, write-allocate, 32B block, μεγέθους 512 bytes Αρχικά η cache είναι άδεια Όλες οι μεταβλητές αποθηκεύονται σε καταχωρητές εκτός από τα στοιχεία των πινάκων Οι πίνακες αποθηκεύονται στη μνήμη κατά γραμμές και είναι ευθυγραμμισμένοι ο Α στη θέση μνήμης 0x Η σείρά με την οποία γίνονται οι αναφορές στην μνήμη είναι A, B, {C,} A

48 Άσκηση 3 η Μέρος B (i) 1 ο Ζητούμενο: Βρείτε το συνολικό αριθμό s και misses για όλη την εκτέλεση του παραπάνω κώδικα. Υποδείξτε τον τύπο των misses. 1 block = 32 bytes 1 στοιχείο = 8 bytes πίνακας αποθηκευμένος κατά γραμμές 32 bytes block size = bits offset 512B cache / 32B block 16 blocks 16 blocks 16 sets = bits index σε 1 block της cache θα απεικονίζονται 4 διαδοχικά στοιχεία του πίνακα, π.χ. A[i][j],A[i][j+1], A[i][j+2], A[i][j+3] όλα στο set 0 0x = B[0][0] 0x = C[0][0] 0x = , B[0][0] και C[0] γίνονται mapped στο ίδιο block

49 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 0 A[0][1] A[0][2] A[0][3]

50 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] 0 B[0][0] B[0][1] B[0][2] B[0][3]

51 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] C[0] 0 C[0] C[1] C[2] C[3]

52 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] C[0] 0 A[0][1] A[0][2] A[0][3]

53 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] C[0] 0 A[0][1] A[0][2] A[0][3] 1 2 i=0, j=1 A[0][1]

54 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] C[0] 0 B[0][0] B[0][1] B[0][2] B[0][3] 1 2 i=0, j=1 A[0][1] B[0][1]

55 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] C[0] 0 A[0][1] A[0][2] A[0][3] 1 2 i=0, j=1 A[0][1] B[0][1] A[0][1]

56 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] C[0] 0 A[0][1] A[0][2] A[0][3] 1 2 i=0, j=1 A[0][1] B[0][1] A[0][1] i=0, j=2 A[0][2]

57 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] C[0] 0 B[0][0] B[0][1] B[0][2] B[0][3] 1 2 i=0, j=1 A[0][1] B[0][1] A[0][1] i=0, j=2 A[0][2] B[0][2]

58 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] C[0] 0 C[0] C[1] C[2] C[3] 1 2 i=0, j=1 A[0][1] B[0][1] A[0][1] i=0, j=2 A[0][2] B[0][2] C[2]

59 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] C[0] 0 A[0][1] A[0][2] A[0][3] 1 2 i=0, j=1 A[0][1] B[0][1] A[0][1] i=0, j=2 A[0][2] B[0][2] C[2] A[0][2]

60 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] C[0] 0 A[0][1] A[0][2] A[0][3] 1 2 i=0, j=1 A[0][1] B[0][1] A[0][1] i=0, j=2 A[0][2] B[0][2] C[2] A[0][2] i=0, j=3 A[0][3] 10

61 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] C[0] 0 B[0][0] B[0][1] B[0][2] B[0][3] 1 2 i=0, j=1 A[0][1] B[0][1] A[0][1] i=0, j=2 A[0][2] B[0][2] C[2] A[0][2] i=0, j=3 A[0][3] B[0][3] 10

62 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] C[0] 0 A[0][1] A[0][2] A[0][3] 1 2 i=0, j=1 A[0][1] B[0][1] A[0][1] i=0, j=2 A[0][2] B[0][2] C[2] A[0][2] i=0, j=3 A[0][3] B[0][3] 10 A[0][3]

63 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=4 A[0][4] 0 A[0][1] A[0][2] A[0][3] 1 A[0][4] A[0][5] A[0][6] A[0][7]

64 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=4 A[0][4] B[0][4] 0 A[0][1] A[0][2] A[0][3] 1 B[0][4] B[0][5] B[0][6] B[0][7]

65 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=4 A[0][4] B[0][4] C[4] 0 A[0][1] A[0][2] A[0][3] 1 C[4] C[5] C[6] C[7]

66 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=4 A[0][4] B[0][4] C[4] A[0][4] 0 A[0][1] A[0][2] A[0][3] 1 A[0][4] A[0][5] A[0][6] A[0][7]

67 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=4 A[0][4] B[0][4] C[4] A[0][4] 0 A[0][1] A[0][2] A[0][3] 1 A[0][4] A[0][5] A[0][6] A[0][7] 2 i=0, j=5 A[0][5]

68 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=4 A[0][4] B[0][4] C[4] A[0][4] 0 A[0][1] A[0][2] A[0][3] 1 B[0][4] B[0][5] B[0][6] B[0][7] 2 i=0, j=5 A[0][5] B[0][5]

69 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=4 A[0][4] B[0][4] C[4] A[0][4] 0 A[0][1] A[0][2] A[0][3] 1 A[0][4] A[0][5] A[0][6] A[0][7] 2 i=0, j=5 A[0][5] B[0][5] A[0][5]

70 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=4 A[0][4] B[0][4] C[4] A[0][4] 0 A[0][1] A[0][2] A[0][3] 1 A[0][4] A[0][5] A[0][6] A[0][7] 2 i=0, j=5 A[0][5] B[0][5] A[0][5] i=0, j=6 A[0][6]

71 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=4 A[0][4] B[0][4] C[4] A[0][4] 0 A[0][1] A[0][2] A[0][3] 1 B[0][4] B[0][5] B[0][6] B[0][7] 2 i=0, j=5 A[0][5] B[0][5] A[0][5] i=0, j=6 A[0][6] B[0][6]

72 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=4 A[0][4] B[0][4] C[4] A[0][4] 0 A[0][1] A[0][2] A[0][3] 1 C[4] C[5] C[6] C[7] 2 i=0, j=5 A[0][5] B[0][5] A[0][5] i=0, j=6 A[0][6] B[0][6] C[6]

73 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=4 A[0][4] B[0][4] C[4] A[0][4] 0 A[0][1] A[0][2] A[0][3] 1 A[0][4] A[0][5] A[0][6] A[0][7] 2 i=0, j=5 A[0][5] B[0][5] A[0][5] i=0, j=6 A[0][6] B[0][6] C[6] A[0][6]

74 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=4 A[0][4] B[0][4] C[4] A[0][4] 0 A[0][1] A[0][2] A[0][3] 1 A[0][4] A[0][5] A[0][6] A[0][7] 2 i=0, j=5 A[0][5] B[0][5] A[0][5] i=0, j=6 A[0][6] B[0][6] C[6] A[0][6] i=0, j=7 A[0][7] 10

75 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=4 A[0][4] B[0][4] C[4] A[0][4] 0 A[0][1] A[0][2] A[0][3] 1 B[0][4] B[0][5] B[0][6] B[0][7] 2 i=0, j=5 A[0][5] B[0][5] A[0][5] i=0, j=6 A[0][6] B[0][6] C[6] A[0][6] i=0, j=7 A[0][7] B[0][7] 10

76 Άσκηση 3 η Μέρος B (i) αναφορές στη μνήμη περιεχόμενα cache i=0, j=4 A[0][4] B[0][4] C[4] A[0][4] 0 A[0][1] A[0][2] A[0][3] 1 A[0][4] A[0][5] A[0][6] A[0][7] 2 i=0, j=5 A[0][5] B[0][5] A[0][5] i=0, j=6 A[0][6] B[0][6] C[6] A[0][6] i=0, j=7 A[0][7] B[0][7] 10 A[0][7]

77 Άσκηση 3 η Μέρος B (i) Σύνολο για i = 0: i = 0: αναφορές στη μνήμη αποτέλεσμα B[0][0] C[0] m m m m A[0][1] B[0][1] A[0][1] h m m A[0][2] B[0][2] C[2] A[0][2] h m m m A[0][3] B[0][3] A[0][3] h m m A[0][4] B[0][4] C[4] A[0][4] m m m m A[0][5] B[0][5] A[0][5] h m m A[0][6] B[0][6] C[6] A[0][6] h m m m A[0][7] B[0][7] A[0][7] h m m 28 accesses 22 misses 6 s Το ίδιο pattern για i = 1,, 7

78 Άσκηση 3 η Μέρος B (i) Συνολικά Accesses : 28 * 8 = 224 Misses : 22 * 8 = 176 Hits : 6 * 8 = 48

79 Άσκηση 3 η Μέρος B (ii) 2 ο Ζητούμενο: Σας προτείνουν να αντικαταστήσετε την κρυφή μνήμη με μια άλλη ίδιας χωρητικότητας, 2-way associative, με ίδιο μέγεθος block που χρησιμοποιεί LRU πολιτική αντικατάστασης. Βελτιώνεται η απόδοση του κώδικα; Υπολογίστε τον καινούριο αριθμό s και misses.

80 Άσκηση 3 η Μέρος B (ii) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 0 A[0][1] A[0][2] A[0][3]

81 Άσκηση 3 η Μέρος B (ii) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] 0 B[0][0] A[0][1] B[0][1] A[0][2] B[0][2] A[0][3] B[0][3]

82 Άσκηση 3 η Μέρος B (ii) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] C[0] 0 B[0][0] C[0] B[0][1] C[1] B[0][2] C[2] B[0][3] C[3]

83 Άσκηση 3 η Μέρος B (ii) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] C[0] 0 C[0] C[1] A[0][1] C[2] A[0][2] C[3] A[0][3]

84 Άσκηση 3 η Μέρος B (ii) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] C[0] 0 C[0] C[1] A[0][1] C[2] A[0][2] C[3] A[0][3] 1 A[0][1] i=0, j=

85 Άσκηση 3 η Μέρος B (ii) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] C[0] 0 B[0][0] A[0][1] B[0][1] A[0][2] B[0][2] A[0][3] B[0][3] 1 A[0][1] i=0, j=1 B[0][1]

86 Άσκηση 3 η Μέρος B (ii) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] C[0] 0 B[0][0] B[0][1] A[0][1] B[0][2] A[0][2] B[0][3] A[0][3] 1 A[0][1] i=0, j=1 B[0][1] A[0][1]

87 Άσκηση 3 η Μέρος B (ii) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] C[0] 0 B[0][0] B[0][1] A[0][1] B[0][2] A[0][2] B[0][3] A[0][3] 1 A[0][1] i=0, j=1 B[0][1] A[0][1] 2 A[0][2] 3 i=0, j=2 4 5

88 Άσκηση 3 η Μέρος B (ii) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] C[0] 0 B[0][0] A[0][1] B[0][1] A[0][2] B[0][2] A[0][3] B[0][3] 1 A[0][1] i=0, j=1 B[0][1] A[0][1] 2 A[0][2] 3 i=0, j=2 B[0][2] 4 5

89 Άσκηση 3 η Μέρος B (ii) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] C[0] 0 B[0][0] C[0] B[0][1] C[1] B[0][2] C[2] B[0][3] C[3] 1 A[0][1] i=0, j=1 B[0][1] A[0][1] 2 A[0][2] 3 i=0, j=2 B[0][2] C[2] 4 5

90 Άσκηση 3 η Μέρος B (ii) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] C[0] 0 C[0] C[1] A[0][1] C[2] A[0][2] C[3] A[0][3] 1 A[0][1] i=0, j=1 B[0][1] A[0][1] 2 A[0][2] 3 i=0, j=2 B[0][2] C[2] A[0][2] 4 5

91 Άσκηση 3 η Μέρος B (ii) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] C[0] 0 C[0] C[1] A[0][1] C[2] A[0][2] C[3] A[0][3] 1 A[0][1] i=0, j=1 B[0][1] A[0][1] 2 A[0][2] 3 i=0, j=2 B[0][2] C[2] A[0][2] 4 i=0, j=3 A[0][3] 5

92 Άσκηση 3 η Μέρος B (ii) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] C[0] 0 B[0][0] A[0][1] B[0][1] A[0][2] B[0][2] A[0][3] B[0][3] 1 A[0][1] i=0, j=1 B[0][1] A[0][1] 2 A[0][2] 3 i=0, j=2 B[0][2] C[2] A[0][2] 4 i=0, j=3 A[0][3] B[0][3] 5

93 Άσκηση 3 η Μέρος B (ii) αναφορές στη μνήμη περιεχόμενα cache i=0, j=0 B[0][0] C[0] 0 B[0][0] B[0][1] A[0][1] B[0][2] A[0][2] B[0][3] A[0][3] 1 A[0][1] i=0, j=1 B[0][1] A[0][1] 2 A[0][2] 3 i=0, j=2 B[0][2] C[2] A[0][2] 4 i=0, j=3 A[0][3] B[0][3] A[0][3] 5

94 Άσκηση 3 η Μέρος B (ii) Σύνολο για i = 0: i = 0: αναφορές στη μνήμη αποτέλεσμα B[0][0] C[0] m m m m A[0][1] B[0][1] A[0][1] h m h A[0][2] B[0][2] C[2] A[0][2] h h m m A[0][3] B[0][3] A[0][3] h m h A[0][4] B[0][4] C[4] A[0][4] m m m m A[0][5] B[0][5] A[0][5] h m h A[0][6] B[0][6] C[6] A[0][6] h h m m A[0][7] B[0][7] A[0][7] h m h 28 accesses 16 misses 12 s Το ίδιο pattern για i = 1,, 7

95 Άσκηση 3 η Μέρος B (ii) Direct-mapped (i) Accesses : 28 * 8 = 224 Misses : 22 * 8 = 176 Hits : 6 * 8 = 48 2-way (ii) Accesses : 28 * 8 = 224 Misses : 16 * 8 = 128 Hits : 12 * 8 = 96

96 Άσκηση 3 η Μέρος B (iii) 2 ο Ζητούμενο: Τροποποιήστε κατάλληλα τον κώδικα του loop ώστε να βελτιωθεί η απόδοση του όταν εκτελείται στο σύστημα του ερωτήματος B. Δώστε τον καινούριο κώδικα καθώς και τον καινούριο αριθμό s και misses.

97 Άσκηση 3 η Μέρος B (iii) 1 η βελτιστοποίηση: Αναδιάταξη των προσβάσεων int i,j; double A[8][8], B[8][8], C[64]; for (i=0; i < 8; i++) for (j=0; j < 8; j++) if (j % 2 == 0) A[i][j] = A[i][j] + + B[i][j] + C[8*i +j] ; else A[i][j] = A[i][j] + B[i][j];

98 Άσκηση 3 η Μέρος B (iii) 1 η βελτιστοποίηση: Αναδιάταξη των προσβάσεων int i,j; double A[8][8], B[8][8], C[64]; for (i=0; i < 8; i++) for (j=0; j < 8; j++) if (j % 2 == 0) A[i][j] = C[8*i +j] + A[i][j] + + B[i][j] ; else A[i][j] = A[i][j] + B[i][j];

99 Άσκηση 3 η Μέρος B (iii) Σύνολο για i = 0: i = 0: αναφορές στη μνήμη αποτέλεσμα C[0] B[0][0] m m m h A[0][1] B[0][1] A[0][1] h h h C[2] A[0][2] B[0][2] A[0][2] m h m h A[0][3] B[0][3] A[0][3] h h h C[4] A[0][4] B[0][4] A[0][4] m m m h A[0][5] B[0][5] A[0][5] h h h C[6] A[0][6] B[0][6] A[0][6] m h m h A[0][7] B[0][7] A[0][7] h h h 28 accesses 10 misses 18 s Το ίδιο pattern για i = 1,, 7

100 Άσκηση 3 η Μέρος B (iii) Συνολικά Accesses : 28 * 8 = 224 Misses : 10 * 8 = 80 Hits : 18 * 8 = 144

101 Άσκηση 3 η Μέρος B (iii) 2 η βελτιστοποίηση: Loop distribution int i,j; double A[8][8], B[8][8], C[64]; for (i=0; i < 8; i++) for (j=0; j < 8; j++) if (j % 2 == 0) A[i][j] = A[i][j] + B[i][j] + C[8*i +j]; else A[i][j] = A[i][j] + B[i][j];

102 Άσκηση 3 η Μέρος B (iii) 2 η βελτιστοποίηση: Loop distribution int i,j; double A[8][8], B[8][8], C[64]; for (i=0; i < 8; i++) { for (j=0; j < 8; j += 2) A[i][j] = A[i][j] + B[i][j] + C[8*i +j]; for (j=1; j < 8; j += 2 ) A[i][j] = A[i][j] + B[i][j]; }

103 Άσκηση 3 η Μέρος B (iii) Σύνολο για i = 0: i = 0: αναφορές στη μνήμη αποτέλεσμα B[0][0] C[0] m m m m A[0][2] B[0][2] C[2] A[0][2] h m m m A[0][4] B[0][4] C[4] A[0][4] m m m m A[0][6] B[0][6] C[6] A[0][6] h m m m A[0][1] B[0][1] A[0][1] h m h A[0][3] B[0][3] A[0][3] h h h A[0][5] B[0][5] A[0][5] h m h A[0][7] B[0][7] A[0][7] h h h 28 accesses 16 misses 12 s Το ίδιο pattern για i = 1,, 7

104 Άσκηση 3 η Μέρος B (iii) Συνολικά Accesses : 28 * 8 = 224 Misses : 16 * 8 = 128 Hits : 12 * 8 = 96

105 Άσκηση 3 η Μέρος B (iii) 3 η βελτιστοποίηση: Merging arrays int i,j; double A[8][8], B[8][8], C[64]; for (i=0; i < 8; i++) for (j=0; j < 8; j++) if (j % 2 == 0) A[i][j] = A[i][j] + B[i][j] + C[8*i +j]; else A[i][j] = A[i][j] + B[i][j];

106 Άσκηση 3 η Μέρος B (iii) 3 η βελτιστοποίηση: Merging arrays int i,j; double C[64]; struct { double A; double B; } AB[8][8]; for (i=0; i < 8; i++) for (j=0; j < 8; j++) if (j % 2 == 0) AB[i][j].A = AB[i][j].A + AB[i][j].B + C[8*i +j]; else AB[i][j].A = AB[i][j].A + AB[i][j].B;

107 Άσκηση 3 η Μέρος B (iii) Σύνολο για i = 0: i = 0: αναφορές στη μνήμη αποτέλεσμα AB[0][0].A AB[0][0].B C[0] AB[0][0].A m h m h AB[0][1].A AB[0][1].B AB[0][1].A h h h AB[0][2].A AB[0][2].B C[2] AB[0][2].A m h h h AB[0][3].A AB[0][3].B AB[0][3].A h h h AB[0][4].A AB[0][4].B C[4] AB[0][4].A m h m h AB[0][5].A AB[0][5].B AB[0][5].A h h h AB[0][6].A AB[0][6].B C[6] AB[0][6].A m h h h AB[0][7].A AB[0][7].B AB[0][7].A h h h 28 accesses 6 misses 22 s Το ίδιο pattern για i = 1,, 7

108 Άσκηση 3 η Μέρος B (iii) Συνολικά Accesses : 28 * 8 = 224 Misses : 6 * 8 = 48 Hits : 22 * 8 = 176

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

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

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

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

3 η ΑΣΚΗΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ntua.gr 3 η ΑΣΚΗΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

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

Ασκήσεις Caches

Ασκήσεις Caches Ασκήσεις Caches 1 Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4-way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1

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

Άσκηση 1η. Θεωρήστε ένα σύστημα μνήμης με μία cache: 4 way set associative μεγέθους 256ΚΒ,

Άσκηση 1η. Θεωρήστε ένα σύστημα μνήμης με μία cache: 4 way set associative μεγέθους 256ΚΒ, Ασκήσεις Caches Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4 way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1 byte

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

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

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

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

Ασκήσεις Caches

Ασκήσεις Caches Ασκήσεις Caches 1 Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4-way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1

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

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΑΡΧΙΤΕΚΤΟΝΙΚΗ

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

Α. Δίνονται οι. (i) στη. πρέπει να. πιο. (ii) $a0. $s0 θα πρέπει να. αποθήκευση. αυξάνει τον. f: sub sll add sub jr. h: addi sw sw.

Α. Δίνονται οι. (i) στη. πρέπει να. πιο. (ii) $a0. $s0 θα πρέπει να. αποθήκευση. αυξάνει τον. f: sub sll add sub jr. h: addi sw sw. ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΡ ΙΟ ΥΠΟΛΟΟ ΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua. gr ΑΡΧΙΤΕΚΤΟΝΙΚΗ

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

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ ΑΣ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ ΙΚΩΝ Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.ece.ntua.gr

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

Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών

Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών ακ. έτος 2006-2007 Νεκτάριος Κοζύρης Νίκος Αναστόπουλος {nkoziris,anastop}@cslab.ece.ntua.gr Άσκηση 1: pipelining Εξετάζουμε την εκτέλεση του παρακάτω

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

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

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

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

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

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 8. Χειμερινό Εξάμηνο Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering Οργάνωση και Σχεδίαση Η/Y (HY232) Εργαστήριο 8 Χειμερινό Εξάμηνο 2016-2017 1. Προσομοίωση λειτουργίας ιεραρχίας

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

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

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

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

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

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

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

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

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

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

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

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

Ασκήσεις Αρχιτεκτονικής Υπολογιστών Ασκήσεις Αρχιτεκτονικής Υπολογιστών ακαδ. έτος 2008-2009 Άσκηση 1: caches Θεωρούμε το ακόλουθο κομμάτι κώδικα #define N 4 #define M 8 double c[n], a[n][m], b[m]; int i,j; for(i = 0; i < N; i++) for(j =

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΤΕΛΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Τετάρτη, 21 Δεκεμβρίου 2016 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 3 ΩΡΕΣ Για πλήρη

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών Κεφάλαιο 2 Ασκήσεις Άσκηση 1 Κώδικας C: f = g + h + B[4]; f = g A[B[4]]; f, g, h, στους $s0, $s1, $s2, και διευθύνσεις βάσης των πινάκων Α και Β στους $s6 και $s7 Ποιος είναι ο αντίστοιχος κώδικας MIPS;

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

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

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

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

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

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

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

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

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

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Παραδείγματα Assembly (Μέρος Παραδείγματα Assembly (Μέρος Β) 1 Άσκηση 1 Γράψτε ένα πρόγραμμα (4 εντολών) με το οποίο μπορείτε να προσθέσετε το περιεχόμενο των θέσεων μνήμης 0Χ30000000 και 0Χ30000001. Το αποτέλεσμα να αποθηκευτεί ως

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

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

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

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

1 η Άσκηση Στην Αρχιτεκτονική Υπολογιστών η Άσκηση Στην Αρχιτεκτονική Υπολογιστών Ακ. Έτος 203 204, 5 ο Εξάμηνο, Σχολή ΗΜ&ΜΥ Τμήμα Λ - Ω Ημερομηνία Παράδοσης: 20/2/203 Απορίες στο: ca203-204t2@cslab.ece.ntua.gr Μέρος Α Δίνονται τα παρακάτω δύο

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

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

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

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

Διάλεξη 14 Εισαγωγή στην Ιεραρχία Μνήμης

Διάλεξη 14 Εισαγωγή στην Ιεραρχία Μνήμης ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 14 Εισαγωγή στην Ιεραρχία Μνήμης Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 H Μικρο-αρχιτεκτονική μας 4 1 0 PCSrc IF/ID Control ID/EX

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

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

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

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

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

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

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

Quicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1

Quicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1 Quicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1 Quicksort [Hoare, 62] Στοιχείο διαχωρισµού (pivot), π.χ. πρώτο, τυχαίο, Αναδιάταξη και διαίρεση εισόδου σε δύο υπο-ακολουθίες:

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

Quicksort. Επιμέλεια διαφανειών: Δ. Φωτάκης Μικροαλλαγές: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Quicksort. Επιμέλεια διαφανειών: Δ. Φωτάκης Μικροαλλαγές: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Quicksort Επιμέλεια διαφανειών: Δ. Φωτάκης Μικροαλλαγές: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Quicksort [Hoare, 6] Στοιχείο διαχωρισμού (pivot),

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

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

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

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

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Δευτέρα, 3 Νοεμβρίου 25 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 3 ΛΕΠΤΑ Για πλήρη

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

Quicksort. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

Quicksort. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο Quicksort ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Quicksort [Hoare, 62] Στοιχείο διαχωρισμού (pivot), π.χ. πρώτο, τυχαίο, Αναδιάταξη και διαίρεση

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

ΕΠΛ 605: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2018 ΕΡΓΑΣΙΑ 3 (13/10/2018) Ηµεροµηνία Παράδοσης δεύτερου µέρους: 18/10/2018

ΕΠΛ 605: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2018 ΕΡΓΑΣΙΑ 3 (13/10/2018) Ηµεροµηνία Παράδοσης δεύτερου µέρους: 18/10/2018 ΕΠΛ 605: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2018 ΕΡΓΑΣΙΑ 3 (13/10/2018) Ηµεροµηνία Παράδοσης δεύτερου µέρους: 18/10/2018 Ηµεροµηνία Παράδοσης πρώτου µέρους: 25/10/2018 Θα πρέπει να παραδώσετε

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

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

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

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

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

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

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

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

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

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

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

Προτεινόμενες Λύσεις 1 ης Ενδιάμεσης Εξέτασης στο ΗΜΥ213 & Αποτελέσματα Προτεινόμενες Λύσεις ης Ενδιάμεσης Εξέτασης στο ΗΜΥ & Αποτελέσματα Αποτελέσματα ης Ενδιάμεσης x(-9) x (-) Series x (-) x (-) 9 Μέσος όρος:.9/ Άσκηση srl/sll Ποιο θα είναι το περιεχόµενο του καταχωρητή

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ και ΥΠΟΛΟΓΙΣΤΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο ΦΕΒΡΟΥΑΡΙΟΣ 2006 ΘΕΜΑΤΑ ΚΑΙ ΛΥΣΕΙΣ

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

Quicksort. Πρόβλημα Ταξινόμησης. Μέθοδοι Ταξινόμησης. Συγκριτικοί Αλγόριθμοι

Quicksort. Πρόβλημα Ταξινόμησης. Μέθοδοι Ταξινόμησης. Συγκριτικοί Αλγόριθμοι Πρόβλημα Ταξινόμησης Quicksort Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Είσοδος : ακολουθία n αριθμών (α 1, α 2,..., α n

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

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

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

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

Χρονισμός και Απόδοση Υπολογιστικών Συστημάτων

Χρονισμός και Απόδοση Υπολογιστικών Συστημάτων ΗΥ 232 Οργάνωση και στον Σχεδίαση Η/Y Διάλεξη 7 Χρονισμός και Απόδοση Υπολογιστικών Συστημάτων Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Τι σημαίνει απόδοση; Αεροσκάφος NYC to Paris

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Σάββατο, 26 Νοεμβρίου 2016 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 120 ΛΕΠΤΑ 1) Υλοποίηση

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

Quicksort. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Quicksort. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Quicksort ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

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

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

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

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

Άσκηση 1 (α) Άσκηση 1 (γ) Άσκηση 1 (β) Παραδείγματα Assembly. Άρα με έλεγχο στον $t1 αποφασίζω αν είναι 0 ή 1. (α) Παραδείγματα Assembly Εαρινό Εξάμηνο 2012 Γράψτε ένα μικρό πρόγραμμα (1-3 εντολές) με το οποίο μπορείτε να ανιχνεύσετε την τιμή του δυαδικού ψηφίου στη θέση 7 της θέσης μνήμης 0Χ23450009 εάν το λιγότερο

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

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

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

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

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

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

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

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

Δείγμα Τελικής Εξέτασης στο ΗΜΥ213. Διδάσκοντας: Γιώργος Ζάγγουλος ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) Δείγμα Τελικής Εξέτασης στο ΗΜΥ213 Διδάσκοντας: Γιώργος Ζάγγουλος Οδηγίες Διαβάστε Προσεκτικά! Αυτή η εξέταση γίνεται με

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

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

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

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

MIPS functions and procedures

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

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

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

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

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

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

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

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

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

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

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

ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή

ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή Αρης Ευθυμίου Σύστημα μνήμης Η μνήμη είναι σημαντικό κομμάτι ενός υπολογιστή Επηρεάζει κόστος, ταχύτητα, κατανάλωση

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

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

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

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

Pipeline: Ένα παράδειγμα από.τη καθημερινή ζωή. 30 min κάθε «φάση»

Pipeline: Ένα παράδειγμα από.τη καθημερινή ζωή. 30 min κάθε «φάση» Pipeline: Ένα παράδειγμα από.τη καθημερινή ζωή 1. Πλυντήριο 2. Στεγνωτήριο 3. Δίπλωμα 4. αποθήκευση Σειριακή προσέγγιση για 4 φορτία = 8h 30 min κάθε «φάση» Pipelined προσέγγιση για 4 φορτία = 3.5h Το

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

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

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

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

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

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

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

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

Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32. Αρχείο καταχωρητών και Χάρτης Μνήµης ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών Εισαγωγή στους Μικροεπεξεργαστές MIPS-32 ( ιάλεξη 1) ιδάσκων: Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy Περίληψη Αρχιτεκτονική Μικροεπεξεργαστών

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

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

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

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

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

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

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

Διάλεξη 15 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης

Διάλεξη 15 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 5 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πόσο μεγάλη είναι μια μνήμη cache;

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

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

Αρχιτεκτονική Υπολογιστών Ι Αρχιτεκτονική Υπολογιστών Ι Επιλεγμένες εντολές και συναρτήσεις assembly Από το βιβλίο Αρχιτεκτονική Υπολογιστών & Προγραμματισμός Assembly (Συγγραφέας / Εκδότης : Παναγιώτης Παπάζογλου) Δρ. Παναγιώτης

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

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

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

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

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

Εργαστήριο Αρχιτεκτονική Υπολογιστών Ι ΤΡΑΠΕΖΑ ΘΕΜΑΤΩΝ. Άσκηση 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

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

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

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

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

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

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

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

Είδη των Cache Misses: 3C s

Είδη των Cache Misses: 3C s Είδη των Cache Misses: 3C s 1 Compulsory: Συμβαίνουν κατά την πρώτη πρόσβαση σε ένα block. Το block πρέπει να κληθεί από χαμηλότερα επίπεδα μνήμης και να τοποθετηθεί στην cache (αποκαλούνται και cold start

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

Προγραμματισμός συστημάτων UNIX/POSIX. Θέμα επιλεγμένο από τους φοιτητές: Προγραμματιστικές τεχνικές που στοχεύουν σε επιδόσεις

Προγραμματισμός συστημάτων UNIX/POSIX. Θέμα επιλεγμένο από τους φοιτητές: Προγραμματιστικές τεχνικές που στοχεύουν σε επιδόσεις Προγραμματισμός συστημάτων UNIX/POSIX Θέμα επιλεγμένο από τους φοιτητές: Προγραμματιστικές τεχνικές που στοχεύουν σε επιδόσεις Βελτιστοποιήσεις με στόχο τις επιδόσεις Σε αρκετές περιπτώσεις δεν αρκεί να

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

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

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

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Άσκηση 11 (εργαστηριακή): Ασκήσεις Εξαμήνου Μέρος Γ Δεκέμβριος 2016 Γράψτε ένα πρόγραμμα προσομοίωσης

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

Αρχιτεκτονική Υπολογιστών II 16-2-2012. Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων

Αρχιτεκτονική Υπολογιστών II 16-2-2012. Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων Αρχιτεκτονική Υπολογιστών II 6 --0 Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων Θέμα. Τι γνωρίζετε για την τοπικότητα των αναφορών και ποιών μονάδων του υπολογιστή ή τεχνικών η απόδοση εξαρτάται από

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Ενότητα 1η: Αναπαράσταση Πληροφορίας Άσκηση 1: Να αποδείξετε ότι η μοναδική μη προσημασμένη ακέραια αναπαράσταση του αριθμού με τιμή 0 σε αριθμητικό σύστημα οποιασδήποτε

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

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

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

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

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

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

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

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες

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

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