THMMY.gr

Μαθήματα Κύκλου Ηλεκτρονικής & Υπολογιστών => Συστήματα Μικροϋπολογιστών => Topic started by: Θάνος on February 06, 2010, 19:51:01 pm



Title: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: Θάνος on February 06, 2010, 19:51:01 pm
Βλέποντας τα παλιά θέματα έχω κάποιες απορίες που νομίζω είναι σημαντικό να αποσαφηνιστούν πριν γράψουμε  :-[

1) Το ότι έναν αριθμό ενός byte τον πολλαπλασιάζω πχ με 5 και πρέπει να αποθηκευθεί σε αριθμό 2 byte προκύπτει με απλή λογική ή έχουμε κάποιον σχετικό κανόνα; Δηλαδή αν τον ίδιο αριθμό τον πολλαπλασίαζα με 2, θα ήθελε πάλι 2 byte για την αποθήκευσή του ενώ αν τον πολλαπλασίαζα με 10 θα ήθελε περισσότερα των 2.. Εγώ προσωπικά το σκέφτομαι με βάση τα maximum όρια, αλλά ας επιβεβαιώσει κάποιος..! :)

2) Σε διάφορες εκφωνήσεις τονίζει ότι οι αριθμοί που χρησιμοποιούμε είναι είτε προσημασμένοι, είτε σε μορφή συμπλ. του 2 (είναι το ίδιο?). Παίζει κάποιο ρόλο αυτό στη λύση; Αν πχ. ήταν μη προσημασμένοι θα άλλαζε κάτι στη θεώρηση;

3) Αν μου δώσει 2 αριθμούς x και y, με 5 bit (πχ) ακέραιο τμήμα και 3 δεκαδικό, ΚΑΙ ΟΙ 2 σ'αυτή τη μορφή, τότε προφανώς η πρόσθεση γίνεται ως συνήθως, χωρίς να επηρρεάζει σε τίποτα το γεγονός ότι έχουν και δεκαδικό μέρος, ε;


Thanx..!


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: edenaxas on February 06, 2010, 21:18:45 pm
Βλέποντας τα παλιά θέματα έχω κάποιες απορίες που νομίζω είναι σημαντικό να αποσαφηνιστούν πριν γράψουμε  :-[

1) Το ότι έναν αριθμό ενός byte τον πολλαπλασιάζω πχ με 5 και πρέπει να αποθηκευθεί σε αριθμό 2 byte προκύπτει με απλή λογική ή έχουμε κάποιον σχετικό κανόνα; Δηλαδή αν τον ίδιο αριθμό τον πολλαπλασίαζα με 2, θα ήθελε πάλι 2 byte για την αποθήκευσή του ενώ αν τον πολλαπλασίαζα με 10 θα ήθελε περισσότερα των 2.. Εγώ προσωπικά το σκέφτομαι με βάση τα maximum όρια, αλλά ας επιβεβαιώσει κάποιος..! :)

2) Σε διάφορες εκφωνήσεις τονίζει ότι οι αριθμοί που χρησιμοποιούμε είναι είτε προσημασμένοι, είτε σε μορφή συμπλ. του 2 (είναι το ίδιο?). Παίζει κάποιο ρόλο αυτό στη λύση; Αν πχ. ήταν μη προσημασμένοι θα άλλαζε κάτι στη θεώρηση;

3) Αν μου δώσει 2 αριθμούς x και y, με 5 bit (πχ) ακέραιο τμήμα και 3 δεκαδικό, ΚΑΙ ΟΙ 2 σ'αυτή τη μορφή, τότε προφανώς η πρόσθεση γίνεται ως συνήθως, χωρίς να επηρρεάζει σε τίποτα το γεγονός ότι έχουν και δεκαδικό μέρος, ε;


Thanx..!

1. εαν ο αριθμος σου επι Χ μας βγαζει πανω απο 255, τοτε θες 2 μπαιτ
2. εαν κανεις διαιρεση με 2 σε προσημασμενο πρεπει να κανεις επεκταση προσημου με την εντολη asr
3. ναι , εαν οι δυο αριθμοι εχουν το ιδιο φορματ, δλδ αν εχουν την υποδιαστολη στο ιδιο σημειο.


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: Θάνος on February 06, 2010, 22:56:33 pm
Να σαι καλα.. δηλαδή όταν λες επέκταση προσήμου, εννοείς ότι αντί για lsr που είναι η διαίρεση με το 2, κάνω asr? Δεν το έχω δει γραμμένο σε καμιά "λύση" απ'αυτές που κυκλοφορούν γι αυτό με παραξενεύει! Thanks και πάλι!


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: edenaxas on February 07, 2010, 02:02:22 am
Να σαι καλα.. δηλαδή όταν λες επέκταση προσήμου, εννοείς ότι αντί για lsr που είναι η διαίρεση με το 2, κάνω asr? Δεν το έχω δει γραμμένο σε καμιά "λύση" απ'αυτές που κυκλοφορούν γι αυτό με παραξενεύει! Thanks και πάλι!
οταν εχεις ενα προσημασμενο, το msb ειναι 1 αν ειναι αρνητικος. αν κανεις lsr ακα(/2) στον προσημασμενο το msb θα γινει εξορισμου  0. αρα εχεις κανει τον αρνητικο θετικο και εχεις χαλασει και τον αριθμο σου γιατι πια στο συμποληρωμα του 2 δεν θα παρεις το σωστο αποτελεσμα.. αρα οταν κανεις /2 σε προσημασμενους το κανεις με asr


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: Θάνος on February 07, 2010, 02:14:14 am
Ναι κατάλαβα τι λες.. μόλις τώρα είδα κάτι που μας είχε πει ο Πέτρου για τις διαιρέσεις με προσημασμένους, ότι δηλαδή ελέγχεις το bit 7 του καθενός, και αν σε κάποιον είναι 0 κάνεις ΝΕG για να πάρεις το συμπλ. του 2 κλπ.. Δηλαδή σε θέματα όπως του 2008 που ζητούσε να κάνεις την κλασική πράξη 5Χ+ 3Χ/8 +17 και τόνιζε ότι ο Χ ήταν προσημασμένος, αλλά δεν ανέφερε κάπου ότι ήταν θετικός, έπρεπε να κάνω τον παραπάνω έλεγχο;; Σε κάποια θέματα το τονίζει ότι είναι θετικοί, οπότε εκεί λογικά δεν υπάρχει πρόβλημα σ'αυτό το σημείο..!
edit: στο θέμα αυτό έχει μόνο έναν αριθμό, τον Χ, οπότε ίσως δε χρειάζεται αυτό που λέω.. Χρειάζεται σε περίπτωση που δίνει Χ, Υ και δε διευκρινίζει αν είναι θετικοί ή αρνητικοί..


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: foulis on February 07, 2010, 20:53:23 pm
στο θέμα 2008 όπου αναφέρεσαι ζητάει

5X+((3Y)/8)+17

όπου Χ,Υ προσημασμένοι των 8 bit με 4 bit για το ακέραιο τμήμα και 4 bit για το κλασματικό


γνωρίζει κανείς να μας πει την γενική σκέψη???




Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: Θάνος on February 07, 2010, 21:20:15 pm
Ίσως το ψειρίζω πολύ και βγαίνει λάθος, αλλά εγώ θα έλεγα το εξής:
Θα γράψεις το 3Υ/8 σαν 1/4[Υ+Υ/2], οπότε θα τον διαιρέσεις μιά φορά με το 2, μετά θα προσθέσεις το Υ και μετά όλο αυτό θα το διαιρέσεις 2 φορές με το 2. Όσο για το 5Χ θα το πολ. 2 φορές με το 2 και θα προσθέσεις το Χ. Το αποτέλεσμα όμως (στον Χ) θα πρέπει να μπει σε 2byte. Στη συνέχεια σε όλο το αποτέλεσμα θα προσθέσεις το 17, το οποίο όμως θα πρέπει να είναι γραμμένο σε μορφή ώστε να μπορεί να προστεθεί με τα παραπάνω, αφού:
|----8 byte----| |-- 4 --  -- 4 --| -> o 5X θα γράφεται σε 2 byte, με ακέραιο μέρος τα 12 και δεκαδικό τα 4
                    |---4 --  -- 4 --| -> ο 3Υ/8 θα γράφεται σε ένα byte
|----8 byte----| |---4----  -------| -> o 17 λογικά θα πρέπει να σπάσει σε 2 byte έτσι ώστε να μπορεί να γίνει η πρόσθεση με τις παραπάνω μορφές. Άρα στον πρώτο καταχωρητή θα μπει 00000001 και στον δεύτερο 00010000 (ώστε τελικά, η πρόσθεση να γίνεται με τον αριθμό 10001,0000 δηλαδή τον 17)

Πρέπει να ελεγθεί όμως αν οι Χ και Υ είναι είναι θετικοί ή αρνητικοί , οπότε αρχικά πρέπει να ελέγξω το 7ο bit του καθενός, και αν είναι 1 να τον φέρω σε μορφή συμπλ. του 2 (να τους κάνω θετικούς για να γίνουν οι πράξεις κανονικά). Στο τέλος όμως θα πρέπει να υπάρχει κανονικοποίηση του αποτελέσματος , και αυτό δεν έχω ιδέα για το πως γίνεται         


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: edenaxas on February 07, 2010, 21:22:22 pm
1. κρατας την πληροφορια για το αν ειναι θετικος/αρνητικος στις σημαιες T,V
2. κανεις τους αριθμους θετικους
3. χωριζεις το ακεραιο απο το κλασματικο σε καθε αριθμο
4. κανεις τους πολ/μους διεραισεις
5. αν εχεις μονο πολ/τη κανεις neg στον αριθμο
6. κανεις τις μεταξυ τους προσθεσεις



* σε ολη τη διαρκεια να μεριμνας για το overflow, ενας πολ/μος ενος 4μπιτου θελει 8μπιτο


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: drazen on February 07, 2010, 21:24:52 pm
να ρωτήσω , υπάρχουν κάπου λυμένα θέματα; αν κάποιος έχει λύσει έστω και 1 θέμα, θα μας βοηθούσε πάρα πολύ αν το ανέβαζε


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: Θάνος on February 07, 2010, 22:41:29 pm
endenaxa, είναι απαραίτητο να χωρίσεις κλασματικό από ακέραιο μέρος; και επίσης τι εννοείς αν έχεις μονο πολ/τη κάνεις neg στον αριθμό; Στο τέλος πώς αξιοποιώ την πληροφορία που αποθήκευσα στην T; Thanks!!


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: edenaxas on February 07, 2010, 22:54:06 pm
endenaxa, είναι απαραίτητο να χωρίσεις κλασματικό από ακέραιο μέρος; και επίσης τι εννοείς αν έχεις μονο πολ/τη κάνεις neg στον αριθμό; Στο τέλος πώς αξιοποιώ την πληροφορία που αποθήκευσα στην T; Thanks!!

ειναι σιγουρα πιο ευκολο να χωρισεις το κλασματικο απο το ακεραιο γιατι μπορει να ειναι πολυ δυσκολες οι πραξεις αν εχεις διεραισεις με 2 και σου ζηταει οχι στογγυλοποιησεις.(και σε αλλες περιπτωσεις ειναι πιο ευκολα αλλα λεω μια)

οσο για το neg, ειπα λαθος γιατρι ειχα το μυαλο μου στις δυναμεις..
λοιπον κανεις andi τον αριθμο με το 128 για να δεις αν ειναι προσημασμενος αρνητικος, αν ειναι κανεις set, μετα το τελος της διαδικασια αν ειναι σετ το Τ κανεις neg..


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: Θάνος on February 07, 2010, 23:27:21 pm
Κατάλαβα.. απλά λογικά στο πάνω πρόβλημα πρέπει να κάνεις andi / set κλπ και τους 2 αριθμούς, έτσι; για τον 2ο αριθμό κάνω πχ sev? Τις πράξεις τις εκτελείς με θετικούς, εν τέλει (όπως είπαμε παραπάνω), ή τους αφήνεις προσημασμένους όπως είναι; Και όταν λες τέλος της διαδικασίας εννοείς μετά την πράξη με τους αριθμούς, δηλαδή μετά το 5Χ +3Υ/8 +17, ή μετά από κάθε έναν όρο χωριστά; Sorry αλλά δεν το πιάνω..! [Δίνω και πεδίο μαζι και τώρα τα διαβάζω μαζί..!]


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: edenaxas on February 07, 2010, 23:50:04 pm
αν
χ αρνητικος set
y αρνητικος sev

κανεις τα 4x κτλ αλλα μετα για να κανεις πραξεις μεταξυ των αριθμων πρεπει να την κανεις με βαση τα προσημα, αλλιως θα ειναι σαν να προσθετεις τις απολυτες τιμες, οποτε πριν κανεις την πραξη, ελεγχεις τα φλαγκς και κανεις την καταλληλη πραξη ή κανεις neg και μετα ομως αν εχεις διαιρεση πρεπει να την κανεις με asr.


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: Θάνος on February 08, 2010, 00:09:40 am
Κατατοπιστικότατος! Να σαι καλα φιλε


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: ^^DaRk_HunTeR on February 08, 2010, 02:54:40 am
http://avr.15.forumer.com/a/math-routines-25/

καλο γενικα...
αλλα δεν βρηκα συγκεκριμενα παραδειγματα...αν εχει βρει καποιος ας ποσταρει λινκ


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: ncr on February 08, 2010, 16:47:43 pm
Ακριβεια 8 bit τη σημαινει?


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: mpoureki on February 08, 2010, 19:57:04 pm
Παιδιά μπορεί κάποιος που έχει λύσει το 2ο θέμα του Φεβρουαρίου-08 (αυτό που σχολιάζατε πριν) να ανεβάσει τη λύση?ευχαριστώ πολύ :)


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: Θάνος on February 08, 2010, 23:51:21 pm
Δυστυχώς δεν έχω κώδικα, μόνο τη γενική ιδέα..

Μια άλλη ερώτηση, λίγο άκυρη ίσως..
τι διαφορά έχει ενα πρόγραμμα όταν το γράφουμε σε μορφή υπορουτίνας?!
Δηλαδή τι διαφορετικό περιμένει ο Πέτρου στο 3ο θέμα σε σχέση με το 2ο; Βλέπω ότι κάθε φορά το ζητάει έτσι..!


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: Kargas on February 08, 2010, 23:53:29 pm
3erw gw h routina prepei na exei ret sto telos sigoura :P

hmmm ti allo... ela nte


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: vag on February 08, 2010, 23:55:35 pm
στις υπορουτινες στανταρ κανεις undef τους ρεριτζερς
επισης καλο ειναι να βγαζεις flags που να αντιστοιχουν στα errors σου
σιγουρα κι αλλα θα ειναι..


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: Kargas on February 08, 2010, 23:57:23 pm
e nai genika kaneis .undef re kai na mhn einai routina

twra gia ta flags afou autos sou leei ti na kaneis se ka8e periptwsh error...


tespa etsi kai alios den nomizw na mas ftasei xronos oute gia undef, oute gia ret mias kai briskontai sto telos tou prog ;D :D


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: edenaxas on February 09, 2010, 00:05:00 am
το Undef γιατι ειναι στανταρ?

μπορεις να μην χρησιμοποιεις καθολου μνημονικα οποτε εισαι οκ


επισης θεωρια απο που διαβασατε?


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: anonymous-root on February 09, 2010, 00:12:11 am
από παντού.

αν και ο τανενμπάουμ δεν πολύ παλεύεται. πολύ μπλα μπλα.


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: TeeKay on February 09, 2010, 00:13:50 am
Σε ενα παλιοτερο ποστ του μπομπ ειχα διαβασει οτι οποτε εχουμε μια υπορουτινα πρεπει απλώς να προσεχουμε στο τελος οσες μεταβλητες εχουμε κανει push στη στοιβα να τις κανουμε αντιστοιχα pop. δηλαδη μαλλον πρεπει οποιες μεταβλητες χρησιμοποιουνται εντος της υπορουτινας οι οποιες αφορουν και το υπολοιπο προγραμμα να τοποθετουνται στη στοιβα και πριν το τελος της υπορουτινας να εξαγονται απο τη στοιβα, ωστε οι τιμες τους κατα την εξοδο απο την υπορουτινα να ειναι ιδιες με αυτες πριν απο την κληση της. τωρα μπορει να λεω και μπαρούφες βεβαια, οποτε συγχωρεστε με!  ;D


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: edenaxas on February 09, 2010, 00:15:29 am
από παντού.

αν και ο τανενμπάουμ δεν πολύ παλεύεται. πολύ μπλα μπλα.
απο παντου δν με φτανει ο χρονος.

all in στα slides.


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: TeeKay on February 09, 2010, 00:18:39 am
νομιζω γενικα με τα slides ειμαστε καλυμμενοι, και μετα χρειαζονται καποια πραγματα πχ απο το βιβλιο του AVR κεφαλαια 3 και η αρχη του 4.


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: Kargas on February 09, 2010, 00:25:47 am
το Undef γιατι ειναι στανταρ?

μπορεις να μην χρησιμοποιεις καθολου μνημονικα οποτε εισαι οκ


επισης θεωρια απο που διαβασατε?

e apo thn stigmi pou exeis kanei def sthn arxh re paixtara mou :P

8ewria paidia xaos, kanonika 8elei tanebaoum, avr, slides...

alla an de prolabeneis nomizw avr mono se swzei psilo


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: Θάνος on February 09, 2010, 07:20:28 am
Γενικά φαντάζομαι για θεωρία αν έχεις μια γενική ιδέα του τι είναι και τι δουλειά κάνει κάθε τι, είσαι καλυμμένος. Ερωτήσεις του τύπου πόσους κύκλους μηχανής έχει μια εντολή ή ποιες σημαίες μεταβάλλει κάποια άλλη δε φαντάζομαι να μπορεί κάποιος να τις μάθει απ'έξω.. Αλλά γενικά έχω ακούσει ότι "γράφεις ό,τι ξέρεις απ'τις γενικές γνώσεις σου".. :P


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: igoutas on February 22, 2010, 21:19:17 pm
παιδια 2 αποριες!!
Πρωτον : υπαρχει καποιος που να γνωριζει ποτε μπορουμε να δουμε τα γραπτα μας??
Δευτερον : το 5 στις γραπτες ηταν προαπετουμενο ή απλα με το αθροισμα εργαστηριου θεωριας αναλογα με τα ποσοστα αρκει να ηταν 5 δηλ. εργαστηριο 9*0,3=2,7 και στα γραπτα 4*0,7=2,8 αθροισμα 5,5!!!??? >:( >:(


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: dimvam on February 10, 2011, 13:01:08 pm
Μία μικρή απορία για την άσκηση Ε3 που είναι ανεβασμένη στο site. Η σύγκριση στην πρώτη σειρά (cpi bcd_digit, $10) δεν είναι λάθος; Προφανώς πρέπει να γράφει 10 και όχι $10 (δηλαδή σε δεκαεξαδική μορφή), όπως το έχει δύο ασκήσεις πιο πριν. Έτσι όπως το έχει είναι δεκτή και τιμή π.χ. D (13) που δεν αντιστοιχεί σε ψηφίο BCD.


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: dimvam on February 10, 2011, 14:13:08 pm
Και επίσης, στην άσκηση Z4, το τέταρτο σχόλιο τι ακριβώς εννοεί; Πότε μπορεί να συμβεί η περίπτωση που περιγράφει;


Title: Re: [Συστήματα μΥπολογιστών] - Κάποιες απορίες....
Post by: mitsos_dlx on February 11, 2011, 00:35:08 am
Μία μικρή απορία για την άσκηση Ε3 που είναι ανεβασμένη στο site. Η σύγκριση στην πρώτη σειρά (cpi bcd_digit, $10) δεν είναι λάθος; Προφανώς πρέπει να γράφει 10 και όχι $10 (δηλαδή σε δεκαεξαδική μορφή), όπως το έχει δύο ασκήσεις πιο πριν. Έτσι όπως το έχει είναι δεκτή και τιμή π.χ. D (13) που δεν αντιστοιχεί σε ψηφίο BCD.

Σωστά...

Και επίσης, στην άσκηση Z4, το τέταρτο σχόλιο τι ακριβώς εννοεί; Πότε μπορεί να συμβεί η περίπτωση που περιγράφει;

Αυτό αναφέρεται στο τρόπο με τον οποίο θέλει να υπολογίσει το Index στο διάγραμμα ροής (τελευταίο κουτάκι).
Τότε όμως νομίζω δεν χρειάζεται το index=index-1 αφού αφαιρώντας τα low Bytes των 2 διευθύνσεων (και αγνοώντας το κρατούμενο αν υπάρχει) βγαίνει η σωστή απόσταση για το Index.
Πχ, αν ο πίνακας αρχίζει στο $1FF και το Max στοιχείο είναι στο $200 τότε 00-FF=01 (το carry το αγνοούμε) , δηλάδη στη 2η θέση.

Βέβαια στο κώδικα υπολογίζει το Index από το counter μέσα στις επαναλήψεις και το μόνο που χρειάζεται στο τέλος είναι μια μείωση.

Γενικά είναι ή ο ένας τρόπος ή ο άλλος. Στο διάγραμμα τα έχει και τα 2 μαζί και λίγο λάθος.