THMMY.gr

Μαθήματα Βασικού Κύκλου => Οργάνωση Υπολογιστών => Topic started by: Αλέκος από Κω on February 17, 2019, 23:22:26 pm



Title: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: Αλέκος από Κω on February 17, 2019, 23:22:26 pm
Για οποιαδήποτε απορία πάνω στις ασκήσεις.


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: Nickgian on April 06, 2019, 15:11:39 pm
Quiz 3b : Στόχος της παρούσας εργασίας είναι να υλοποιηθεί συνάρτηση, σε MIPS Assembly, η οποία έχοντας ως είσοδο τον δείκτη (pointer -- θέση μνήμης) ενός διανύσματος και το μήκος του, θα βρίσκει την τιμή του ελαχίστου στοιχείου και την θέση του στο διάνυσμα. Στην περίπτωση όπου το ελάχιστο στοιχείο επαναλαμβάνεται, θα επιστρέφει την θέση της πρώτης εμφάνισής του. Στην περίπτωση όπου το διάνυσμα είναι κενό (μήκος μηδέν) θα επιστρέφεται ο μεγαλύτερος προσημασμένος ακέραιος και η τιμή 0 στην θέση.

Δεν καταλαβα τι εννοει το quiz μπορει καποιος να το εξηγησει?


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: The Audacious AI on April 06, 2019, 19:08:12 pm
Quote
συνάρτηση η οποία έχοντας ως είσοδο τον δείκτη (pointer -- θέση μνήμης) ενός διανύσματος και το μήκος του
Αν θυμάμαι καλά στην ασέμπλυ υπάρχουν 4 καταχωρητές στους αποθηκεύονται τα ορίσματα συναρτήσεων. (   $a0 - $a3 ) Αν καταλαβαίνω καλά θα θεωρεί δεδομένο πως στον a0 έχεις τον pointer του διανύσματος και στον a1 καταχωρητή έχεις το μήκος του διανύσματος.

Quote
θα βρίσκει την τιμή του ελαχίστου στοιχείου και την θέση του στο διάνυσμα
Νομίζω κατανοητό. Βρίσκεις το ελάχιστο στοιχείο και που βρίσκεται μέσα στο διάνυσμα. Και το επιστρέφεις στους κατάλληλους καταχωρητές( αν θυμάμαι καλά στους $v0, $v1). Λογικά θέλει στον v0 το ελάχιστο στοιχείο και στον v1 την θέση

Quote
Στην περίπτωση όπου το ελάχιστο στοιχείο επαναλαμβάνεται, θα επιστρέφει την θέση της πρώτης εμφάνισής του.
Προφανές

Quote
Στην περίπτωση όπου το διάνυσμα είναι κενό (μήκος μηδέν) θα επιστρέφεται ο μεγαλύτερος προσημασμένος ακέραιος και η τιμή 0 στην θέση.
Αν όμως το μήκος του διανύσματος είναι 0 τι κάνεις; Σου το λέει εδώ πέρα. Θα επιστρέφεις στον v1το 0 (easy) και στο στο v0 τον μέγιστο προσημασμένο ακέραιο. Δηλαδή τον μεγαλύτερο signed int 2,147,483,647  αν κάνω λάθος( 2^31 − 1)


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: sniaf on April 07, 2019, 22:42:16 pm
πως γραφεται η εισοδος στον κωδικα?  :(


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: Just Me on April 07, 2019, 23:12:50 pm
πως γραφεται η εισοδος στον κωδικα?  :(
Όταν λέει ότι δίνονται ως είσοδος αυτά τα δύο δεδομένα, σημαίνει ότι στο υπόλοιπο πρόγραμμα που δίνεται έτοιμο, πριν την κλήση της συνάρτησης που φτιάχνεις εσύ έχουν τοποθετηθεί ως ορίσματα στους αντίστοιχους καταχωρητές $a0 και $ a1.


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: mpraskafoutas on April 07, 2019, 23:29:31 pm
εντωμεταξύ το πρόγραμμα που λέει ότι δίνει που ακριβώς είναι; εγώ είδα μόνο όταν έκανα κάποιο λάθος στη συνάρτηση ότι μου εμφάνιζε τον πίνακα array_a και το μεγεθος του sz_a στην περιοχή .data


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: mpraskafoutas on May 07, 2019, 15:02:54 pm
για το κουιζ 4, κατάφερα να γράψω σωστά τις 2 συναρτήσεις και τις τσέκαρα ότι τρέχουν σωστά με τα σκριπτς που μας έδωσε. παρόλα αυτά, όταν το ανεβάζω στο ελεαρνινγκ δεν το δέχεται και βγάζει το error: control reaches end of non-void function

αυτό οφείλεται στο ότι το σκριπτ που μας έδωσε είχε return 0 στο τέλος κάθε συνάρτησης, με αποτέλεσμα ο compiler να μου επιστρέφει απλά ένα μηδενικό και όχι την τιμή του στοιχείου που προέκυψε από την quickselect. οπότε τα return 0 στο τέλος κάθε συνάρτησης τα αντικατέστησα με ένα return 0 στο τέλος της main (αρχείο test.c) για να δουλεύει κανονικά, όμως στο ελεαρνινγκ δεν μπορεί να γίνει κάτι τέτοιο και εφόσον έχει ορίσει την main ως int, πρέπει να επιστρέφεται η τιμή 0.

αν έχει κανείς καμιά ιδέα για το πως διορθώνεται αυτό ας πει.


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: Nickgian on May 11, 2019, 18:08:09 pm
Ποιος μπορεί να μου θυμίσει την διαδικασία τις qsort για το quiz 4
sent from mTHMMY (https://play.google.com/store/apps/details?id=gr.thmmy.mthmmy) 


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: estavrian on May 11, 2019, 20:00:05 pm
για το κουιζ 4, κατάφερα να γράψω σωστά τις 2 συναρτήσεις και τις τσέκαρα ότι τρέχουν σωστά με τα σκριπτς που μας έδωσε. παρόλα αυτά, όταν το ανεβάζω στο ελεαρνινγκ δεν το δέχεται και βγάζει το error: control reaches end of non-void function

αυτό οφείλεται στο ότι το σκριπτ που μας έδωσε είχε return 0 στο τέλος κάθε συνάρτησης, με αποτέλεσμα ο compiler να μου επιστρέφει απλά ένα μηδενικό και όχι την τιμή του στοιχείου που προέκυψε από την quickselect. οπότε τα return 0 στο τέλος κάθε συνάρτησης τα αντικατέστησα με ένα return 0 στο τέλος της main (αρχείο test.c) για να δουλεύει κανονικά, όμως στο ελεαρνινγκ δεν μπορεί να γίνει κάτι τέτοιο και εφόσον έχει ορίσει την main ως int, πρέπει να επιστρέφεται η τιμή 0.

αν έχει κανείς καμιά ιδέα για το πως διορθώνεται αυτό ας πει.

Για το error δεν ξέρω πως να βοηθήσω, πάντως για τα 2 return 0 εγώ τα έβγαλα τελείως και τα αντικατέστησα με αυτά που έπρεπε κανονικά να επιστρέφει η κάθε συνάρτηση


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: mpraskafoutas on May 11, 2019, 20:32:27 pm
Για το error δεν ξέρω πως να βοηθήσω, πάντως για τα 2 return 0 εγώ τα έβγαλα τελείως και τα αντικατέστησα με αυτά που έπρεπε κανονικά να επιστρέφει η κάθε συνάρτηση

τελικά το πρόβλημα ήταν στην τελευταία if της quickselect. στην αρχη έγραφα αν storeIndex=k, επέστρεψε το x[k] και υπήρχε περίπτωση όπου δεν επιστρεφόταν τίποτα (δεν ξέρω για ποιο λόγο). οπότε έβγαλα τελείως αυτή τη συνθήκη και όταν έβγαινε από την if, επέστρεφε τελικά το x[k]


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: geogrgepanag on May 19, 2019, 15:40:05 pm
Για το 5ο κουιζ μπορει καποιος να μου εξηγησει τι πρεπει να κανει ξεχωριστα η partition και τι η quickselect?
Καταλαβαινω τι ζηταει η εκφωνηση αλλα με μπερδευουν αυτες οι δυο   :-\


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: efthamar on June 14, 2019, 20:46:03 pm
Μπορεί κάποιος να μου εξηγήσει πώς βγαίνει αυτό;
Ή αν υπάρχει σε κάποια διαφάνεια κάτι αντίστοιχο, γιατί δεν βρήκα κάτι.


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: Just Me on June 14, 2019, 22:11:49 pm
Μπορεί κάποιος να μου εξηγήσει πώς βγαίνει αυτό;
Ή αν υπάρχει σε κάποια διαφάνεια κάτι αντίστοιχο, γιατί δεν βρήκα κάτι.
Νομίζω έτσι βγαίνει.


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: efthamar on June 14, 2019, 22:44:49 pm
Νομίζω έτσι βγαίνει.

Makes sense. Τέλεια, σ ευχαριστώ πολύ :)


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: efthamar on June 16, 2019, 17:51:55 pm
Help please


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: neniak on June 16, 2019, 18:08:10 pm
νομίζω αυτό θα σε βοηθήσει


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: efthamar on June 16, 2019, 18:28:11 pm
νομίζω αυτό θα σε βοηθήσει
ευχαριστώ!


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: Vinny on June 16, 2019, 18:57:55 pm
σ'αυτη την ερωτηση γιατι δεν συνυπολογιζουμε χρονο για mux; αφου συμμετεχουν στη διαδρομη για εντολη lw και μαλιστα 2 φορες


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: mpraskafoutas on June 16, 2019, 19:42:40 pm
σ'αυτη την ερωτηση γιατι δεν συνυπολογιζουμε χρονο για mux; αφου συμμετεχουν στη διαδρομη για εντολη lw και μαλιστα 2 φορες

έτσι όπως είναι το σχήμα, νομίζω παίζει ρόλο το ότι έχει θέσει όλη τη μονάδα ελέγχου σε low (ό,τι είναι με μπλε), οπότε δεν περνάει τιποτα από τους mux


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: mpraskafoutas on June 17, 2019, 12:16:45 pm
σε αυτό εδώ πως γίνεται να πήρε σαν σωστή απάντηση την τιμή 72; αφού δεν υπάρχει εντολή subi  :D


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: estavrian on June 17, 2019, 12:58:05 pm
σε αυτό εδώ πως γίνεται να πήρε σαν σωστή απάντηση την τιμή 72; αφού δεν υπάρχει εντολή subi  :D
Νομίζω είναι λάθος. Φέτος που την ξαναέβαλε από όσο θυμάμαι ήταν σωστό το υπάρχει σφάλμα στον κώδικα.


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: mpraskafoutas on June 17, 2019, 13:02:01 pm
Φέτος που την ξαναέβαλε

όταν λες την ξαναέβαλε; έτυχε να είναι ερώτηση σε μερικούς στο quiz 6?


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: estavrian on June 17, 2019, 15:32:52 pm
όταν λες την ξαναέβαλε; έτυχε να είναι ερώτηση σε μερικούς στο quiz 6?
Όχι την είχε σε κάποιο από τα αρχικά quiz μέσα στη χρόνια. Δεν θυμάμαι σε ποιο ακριβώς.


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: Amethyst on June 17, 2019, 17:30:36 pm
σε αυτό εδώ πως γίνεται να πήρε σαν σωστή απάντηση την τιμή 72; αφού δεν υπάρχει εντολή subi  :D

Επειδή και πέρσι είχαμε την ίδια συζήτηση με την subi, η εντολή είναι ψευδοεντολή και μεταφράζεται σε αυτό που θα περίμενε κανείς, δηλαδή αφαίρεση του  immediate που υπάρχει σαν τρίτο όρισμα στην εντολή. Είναι εντολή που αναγνωρίζουν αρκετοί assembler και θεωρείται προφανές ότι δουλεύει έτσι.

Γενικώς, υπάρχουν πάρα πολλές εντολές που δεν θα μάθει ποτέ ο νορμάλ φοιτητής, αλλά, σε επίπεδο όπως αυτό εδώ, που είναι αρκετά φανερή η χρήση της εντολής, θεωρείται (καλώς ή κακώς δεν ξέρω) ότι ο κώδικας δουλεύει.

Για να προλάβω επίσης αντιδράασεις του στυλ, "άμα πρέπει να ξέρουμε και τέτοιες εντολές, που τελειώνει η λίστα που θεωρείται εντός ύλης", πέρσι η μοναδική εντολή που δεν ξέραμε και μπήκε σε quiz (όχι στην εξεταστική) ήταν η συγκεκριμένη. Δεν θεωρώ ότι θα βάλουν κάτι τέτοιο, την στιγμή που μπορούν να κάψουν κόσμο άνετα με άλλες ερωτήσεις  ;D. Και εκτός αυτού, νομίζω θα ήθελαν να αποφύγουν άλλες παρεξηγήσεις, ειδικά με τον σάλο που προέκυψε πριν από λίγες μέρες με το μάθημα.

Κατά τα άλλα, καλή επιτυχία σε όσους δίνουν.


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: GohanDGeo on June 17, 2019, 17:31:13 pm
Για την ερώτηση με τα ποσοστά hit των cache, είδα τους τρόπους επίλυσης που παραθέσατε, απλά θέλω να ρωτήσω αυτό πως αντικατοπτρίζεται σε αυτά που έχουμε πει για την cache. Μέχρι τώρα νόμιζα καταλάβαινα πως λειτουργεί, αλλά δεν κατλαβαίνω πως λειτουργεί αυτή της άσκησης. Ειναι direct mapping, fully associative, είναι με δρόμους;


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: mpraskafoutas on June 17, 2019, 17:46:33 pm
Για την ερώτηση με τα ποσοστά hit των cache, είδα τους τρόπους επίλυσης που παραθέσατε, απλά θέλω να ρωτήσω αυτό πως αντικατοπτρίζεται σε αυτά που έχουμε πει για την cache. Μέχρι τώρα νόμιζα καταλάβαινα πως λειτουργεί, αλλά δεν κατλαβαίνω πως λειτουργεί αυτή της άσκησης. Ειναι direct mapping, fully associative, είναι με δρόμους;

direct mapping είναι, δες και το παράδειγμα στις διαφάνειες 9-14 στο κεφάλαιο 5


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: mpraskafoutas on June 17, 2019, 17:50:37 pm


άρα λογικά θα έπαιρναν σωστές και τις 2 απαντήσεις (δεν έχει λόγο ύπαρξης η subi εφόσον κάνει ακριβώς την ίδια δουλειά και η addi, λίγο χαζή ερώτηση για τεστ είναι η αλήθεια)


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: sniaf on June 17, 2019, 18:38:56 pm
ξέρει κανεις πως βγαίνει αυτο με τον επεξεργαστη που εχει δυο επίπεδα cache L1 και L2 και στο τελος ζητα τελικο CPI?


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: LCDR Chris on June 17, 2019, 18:48:12 pm
Τελικό CPI = αρχικό CPI + (ποινή L1 * ρυθμός αστοχίας L1)+ (ποινή L2 * ρυθμός αστοχίας L2)
Οπου ποινή L1 = Χρόνος προσπέλασης L2 * συχνότητα cpu
          ποινή L2 = Xρόνος προσπέλασης κύριας μνήμης * συχν. cpu


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: sniaf on June 17, 2019, 18:59:16 pm
Τελικό CPI = αρχικό CPI + (ποινή L1 * ρυθμός αστοχίας L1)+ (ποινή L2 * ρυθμός αστοχίας L2)
Οπου ποινή L1 = Χρόνος προσπέλασης L2 * συχνότητα cpu
          ποινή L2 = Xρόνος προσπέλασης κύριας μνήμης * συχν. cpu
τελεια, ευχαριστω  :)


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: chatzifetas on June 17, 2019, 19:04:03 pm
Τελικό CPI = αρχικό CPI + (ποινή L1 * ρυθμός αστοχίας L1)+ (ποινή L2 * ρυθμός αστοχίας L2)
Οπου ποινή L1 = Χρόνος προσπέλασης L2 * συχνότητα cpu
          ποινή L2 = Xρόνος προσπέλασης κύριας μνήμης * συχν. cpu
Ωραίος, και είχα κολλήσει. Το αποτέλεσμα σωστό βγαίνει έτσι αλλά δεν καταλαβαίνω γιατί δεν είναι CPI= αρχικό CPI + ρυθμός αστοχίας L1*(ποινή L1+ρυθμός αστοχίας L2*ποινή L2).
Για να πάει στη ραμ, δεν πρέπει πρώτα να αποτύχει στην L1 και μετά στη L2?


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: GohanDGeo on June 17, 2019, 20:14:32 pm
έτσι όπως είναι το σχήμα, νομίζω παίζει ρόλο το ότι έχει θέσει όλη τη μονάδα ελέγχου σε low (ό,τι είναι με μπλε), οπότε δεν περνάει τιποτα από τους mux
OK, νομίζω το έπιασα. Αλλά πάλι στην εξήγσηση που δίνει ο φίλος στο txt, λέει ότι για μνήμη με 16byte και για cache με 8 blocks έχουμε offset 1 και bits για index 4. Όμως δε θα έπρεπε να ειναι 3 τα bits για το index εφόσον το 8 ειναι 2 στην 3η?


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: mpraskafoutas on June 17, 2019, 20:34:32 pm
OK, νομίζω το έπιασα. Αλλά πάλι στην εξήγσηση που δίνει ο φίλος στο txt, λέει ότι για μνήμη με 16byte και για cache με 8 blocks έχουμε offset 1 και bits για index 4. Όμως δε θα έπρεπε να ειναι 3 τα bits για το index εφόσον το 8 ειναι 2 στην 3η?

κάπου έχεις μπερδευτεί, εγώ είχα απαντήσει έτσι σε αυτό:

σ'αυτη την ερωτηση γιατι δεν συνυπολογιζουμε χρονο για mux; αφου συμμετεχουν στη διαδρομη για εντολη lw και μαλιστα 2 φορες

παρόλα αυτά, πάνω σε αυτό που λες, ο αριθμός των bits που προορίζονται για tag και ο αριθμός των bits που προορίζονται για index δεν αλλάζει.
το οφφσετ αλλάζει απλά το κάθε 8μπιτο που αντιστοιχεί στην κάθε τιμή που σου δίνει (π.χ. για οφφσετ 1 διώχνεις το τελευταίο μπιτ, βάζεις ένα 0 στα αριστερά και ξαναυπολογίζεις το hit-ratio όπως και στην περίπτωση που δεν έχεις οφφσετ)


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: GohanDGeo on June 17, 2019, 20:44:00 pm
κάπου έχεις μπερδευτεί, εγώ είχα απαντήσει έτσι σε αυτό:

παρόλα αυτά, πάνω σε αυτό που λες, ο αριθμός των bits που προορίζονται για tag και ο αριθμός των bits που προορίζονται για index δεν αλλάζει.
το οφφσετ αλλάζει απλά το κάθε 8μπιτο που αντιστοιχεί στην κάθε τιμή που σου δίνει (π.χ. για οφφσετ 1 διώχνεις το τελευταίο μπιτ, βάζεις ένα 0 στα αριστερά και ξαναυπολογίζεις το hit-ratio όπως και στην περίπτωση που δεν έχεις οφφσετ)
Αυτό ήταν πάνω στην ερώτηση για τη direct mapping cache. Δηλαδη ανεξαρτήτως του πόσα blocks έχουμε ο αριθμός των bits για το index μένει ίδιος; Δεν ειναι ο λογαριθμος του αριθμού των blocks; (π.χ. για μια cache των 16bytes, αν έχουμε 8 blocks, θα έχουμε offset 1bit και για index 3bits)


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: mpraskafoutas on June 17, 2019, 21:18:34 pm
Αυτό ήταν πάνω στην ερώτηση για τη direct mapping cache. Δηλαδη ανεξαρτήτως του πόσα blocks έχουμε ο αριθμός των bits για το index μένει ίδιος; Δεν ειναι ο λογαριθμος του αριθμού των blocks; (π.χ. για μια cache των 16bytes, αν έχουμε 8 blocks, θα έχουμε offset 1bit και για index 3bits)

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

για να μην μπερδευτούν κάποιοι, π.χ. για offset 1 θα έχεις τα 3 πρώτα bit ως tag, τα 4 επόμενα ως index και 1 bit για offset.
Αυτό βγάζει το ίδιο αποτέλεσμα με το να διώξεις το τερμα δεξιά bit, να το αντικαταστήσεις με ένα 0 στα αριστερά και να κρατήσεις τα 4 πρώτα bit σαν tag και τα 4 τελευταία σαν index.


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: GohanDGeo on June 17, 2019, 21:32:08 pm
τώρα κατάλαβα τι λες. ναι έχεις δίκιο, έτσι πρέπει να γίνεται κανονικά, αλλά αν το δεις στην πράξη βγάζεις ακριβώς το ίδιο αποτέλεσμα με τον τρόπο που είχε προτείνει και κάποιος παλιότερα.

για να μην μπερδευτούν κάποιοι, π.χ. για offset 1 θα έχεις τα 3 πρώτα bit ως tag, τα 4 επόμενα ως index και 1 bit για offset.
Αυτό βγάζει το ίδιο αποτέλεσμα με το να διώξεις το τερμα δεξιά bit, να το αντικαταστήσεις με ένα 0 στα αριστερά και να κρατήσεις τα 4 πρώτα bit σαν tag και τα 4 τελευταία σαν index.
Α οκ, ευχαριστώ πολύ! Επίσης, ουσιαστικά το offset είναι αυτό που είναι γιατί κάνουμε access 1 byte τη φορά, σωστά;


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: mpraskafoutas on June 17, 2019, 21:43:42 pm
Α οκ, ευχαριστώ πολύ! Επίσης, ουσιαστικά το offset είναι αυτό που είναι γιατί κάνουμε access 1 byte τη φορά, σωστά;

σωστός


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: angeli on June 23, 2019, 13:22:09 pm
Καλησπέρα παιδιά έχει κανείς τη λύση για το quiz 7 που είναι μέχρι αύριο το βράδυ;;;;;


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: geogrgepanag on June 23, 2019, 14:55:03 pm
Παιδες αμα εχει καποιος το κουιζ 7 ας το στειλει/ανεβασει για εμας που ειμαστε οριακα


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: GiwrgosRam on June 24, 2019, 00:41:55 am
έχει κάνει κάποιος το κουιζ 7?


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: Nickgian on June 24, 2019, 15:51:23 pm
Σας δίνεται υλοποίηση σε C για το γινόμενο δύο πινάκων μεγέθους NxΚ και ΚxM αντίστοιχα. Χρησιμοποιήστε blocking σε κάθε διάσταση και loop unrolling, ώστε να αυξήσετε την απόδοση του προγράμματός σας (πρέπει το αποτέλεσμα να έχει επιτάχυνση τουλάχιστον x3 στα μεγέθη που δοκιμάζονται). Περισσότερες λεπτομέρειες εδώ.

Θεωρείστε ότι τα μεγέθη της εισόδου είναι δυνάμεις του δύο και τα μεγέθη των block σε κάθε διάσταση είναι δυνάμεις του δύο.

H sub2ind ορίζεται ως εξής

#define sub2ind(i,j,h) (i) + (j)*(h)

Κωδικας :

void matrixMultFast(float * const C,            /* output matrix [n x m] */
                    float const * const A,      /* first matrix  [n x l] */
                    float const * const B,      /* second matrix [l x m] */
                    int const n,
                    int const l,
                    int const m,
                    int const nb,               /* block on n*/
                    int const lb,               /* block on l*/
                    int const mb) {             /* block on m*/

  for (int i = 0; i < n; i++) {             /* rows */
    for (int j = 0; j < m; j++) {           /* cols */

      /* initialize output value */
      C[ sub2ind(i,j,n) ] = 0;

      for (int k = 0; k < l; k++) {         /* accumulate products */
        C[ sub2ind(i,j,n) ] +=
          A[ sub2ind(i,k,n) ] * B[ sub2ind(k,j,l) ];
      }
     
    }
  }
     
} // end function 'matrixMult'

Μπορει καποιος να βοηθησει σε αυτο το Κουιζ?


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: odyskypa on September 26, 2019, 19:41:02 pm
Μήπως έχει κανείς τις λύσεις των ερωτήσεων 1-2-3-6-9-10-11-13 απο τα θέματα του Ιουνίου 2019 που είναι ανεβασμένα στα downloads?


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: Venceremos on September 27, 2019, 12:29:09 pm
Ερώτημα 1 από Ιούνη του 2019,όταν έχουμε διοχέτευση πώς υπολογίζουμε χρόνο εκτέλεσης?


Title: Re: [Οργάνωση Υπολογιστών] Απορίες σε ασκήσεις 2019
Post by: steliosnt on September 28, 2019, 00:39:53 am
Ερώτημα 1 από Ιούνη του 2019,όταν έχουμε διοχέτευση πώς υπολογίζουμε χρόνο εκτέλεσης?

αμα εχεις τις λυσεις των υπολείπων ανεβασε τες!