THMMY.gr

Μαθήματα Κύκλου Ηλεκτρονικής & Υπολογιστών => Συστήματα Μικροϋπολογιστών => Topic started by: Nerevar on October 12, 2013, 13:38:10 pm



Title: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Nerevar on October 12, 2013, 13:38:10 pm
Σχολιασμός και απορίες πάνω στις διάφορες ασκήσεις του μαθήματος.


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Δον on February 14, 2014, 13:26:52 pm
Ξέθαψα αυτό :

Όταν χρησιμοποιούμε τη mul, muls κλπ. σε καταχωρητές με διαφορετικό κλασματικό μέρος το αποτέλεσμα πώς προκύπτει;

Π.χ. στο θέμα 2 φεβρουαρίου του 12 είναι να πολλαπλασιάσουμε έναν προσημασμένο αριθμό με 5bit ακέραιο 3 κλασματικό με έναν αριθμό με 1 bit ακέραιο και 7 κλασματικό. Το αποτέλεσμα μπαίνει στους R0,R1. Μπορούμε εμείς να θεωρήσουμε ότι π.χ τα πρώτα 5 είναι το ακέραιο και τα υπόλοιπα το κλασματικό; Μου φαίνεται πολύ αυθαίρετο και λάθος.

Γενικά μπορεί λίγο κάποιος να δώσει καμιά ιδέα γι' αυτόν τον πολλαπλασιασμό;

Δεν το είδα το θέμα, αλλά η mul γενικά λειτουργεί με την εξής λογική:

Δε σε νοιάζει πόσα bit είναι το κλασματικό μέρος, κάνεις τον πολλαπλασιασμό και μετά βάζεις την υποδιαστολή όπου πρέπει, όπως θα έκανες και με έναν πολλαπλασιασμό στο δεκαδικό σύστημα:

Δεκαδικό

     4.5 x 3.8

     κάνεις

     45
    x38
  1710

    άρα επειδή έχεις 2 δεκαδικά 17.1


Δυαδικό

     10.01 x 1.1

     κάνεις

     1001
     x  11
   11011

     άρα επειδή έχεις 3 δεκαδικά γίνεται 11.011

Ελπίζω να έγινε κατανοητό.

Σημειώστε ότι ο AVR κρατά απλά μία σειρά δυαδικών η ερμηνεία των οποίων αφήνεται στο χρήστη

π.χ ο AVR έχει 1001 0110

είτε εγώ εννοώ τον 100.10110 ή τον 10010.110 είτε ακόμα τον ακέραιο 10010110

Οπότε καταλήγοντας κάνεις την mul και εσύ (ο χρήστης) ερμηνεύεις το αποτέλεσμα, ο AVR απλά πολλαπλασιάζει σειρές δυαδικών ψηφίων.

Υ.Γ. αντίστοιχα για την muls

Κατά πόσο συμφωνείτε ή διαφωνείτε?


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Jeik on February 14, 2014, 17:19:43 pm
Απ' όσο ξέρω σωστό είναι.

Στο τρίτο θέμα του 2009 μετά από κάποιες πράξεις έχεις ένα αποτέλεσμα που μπορεί να έχει κλασματικό μέρος και ρωτάει αν είναι περιττός. Θα ελέγξουμε το τελευταίο ψηφίο του ακέραιου μέρους?


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Dimitris1989 on February 14, 2014, 17:38:40 pm
Ένας δεκαδικός αριθμός δε γίνεται να είναι άρτιος


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Neal on February 14, 2014, 17:51:44 pm
Ενώ μπορεί να είναι περιττός; :D


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Dimitris1989 on February 14, 2014, 17:59:57 pm
Γενικά άμα ψάξεις στο google υπάρχει αρκετή συζήτηση για το αν ένας δεκαδικός αριθμος μπορεί να θεωρηθεί αρτιος ή περιττος


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Neal on February 14, 2014, 18:02:57 pm
A number (i.e., integer) expressed in the decimal numeral system is even or odd according to whether its last digit is even or odd. That is, if the last digit is 1, 3, 5, 7, or 9, then it is odd; otherwise it is even. The same idea will work using any even base. In particular, a number expressed in the binary numeral system is odd if its last digit is 1 and even if its last digit is 0. In an odd base, the number is even according to the sum of its digits – it is even if and only if the sum of its digits is even.

http://en.wikipedia.org/wiki/Parity_(mathematics)

only integers.


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: cav on February 14, 2014, 18:21:33 pm
"Να βρεθεί με πλήρη ακρίβεια το αποτέλεσμα 4*R0 + R1/2 όπου r0, r1 καταχωρητές
που ως περιεχόμενο έχουν προσημασμένους αριθμούς."

Ξέρει κάποιος πώς το υπολογίζουμε?


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Earendil on February 14, 2014, 18:29:26 pm
Για τον πολλαπλασιασμο θελει δυο lsl , για τη διαιρεση ενα asr (φανταζομαι προσημασμενους εννοειται ως συμπληρωμα του δυο)... Πληρη ακριβεια ας πει καποιος που ξερει τι εννοει οταν το λεει, πεφτει συνεχεια!


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Chester on February 14, 2014, 19:03:52 pm
Ναι ας ποσταρει μια ενδεικτικη λυση καποιος παρακαλω για αυτο το θεμα.


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Jeik on February 14, 2014, 19:12:25 pm
Για τον πολλαπλασιασμο θελει δυο lsl , για τη διαιρεση ενα asr (φανταζομαι προσημασμενους εννοειται ως συμπληρωμα του δυο)... Πληρη ακριβεια ας πει καποιος που ξερει τι εννοει οταν το λεει, πεφτει συνεχεια!
Πλήρης ακρίβεια σημαίνει πως πρέπει να κρατήσεις τα δεκαδικά. Βασικά πρέπει μετά το asr να κάνεις ror σε έναν καταχωριτή που θα κρατάς το δεκαδικό μέρος πχ. το
asr R1
ror R2
διαιρεί τον R1 διά δύο. Στον R1 είναι το ακέραιο μέρος μαι στον R2 το  δεκαδικό.


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Katsi on February 14, 2014, 20:51:23 pm
Μπορεί κάποιος να εξηγήσει (Assembly programs 1 - delay_function) τι κάνει η εντολή ldi inner/outer_counter, $11 ; Γιατί το κάνει αυτό; Τις τιμές των inner/outer_counter δεν τις δίνουμε σαν είσοδο με τους r16,r17 ;


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: nohponex on February 14, 2014, 22:53:12 pm
Στην ερωτηση 25 του ExamsLAB.pdf
έκανα

Code:
.def sign_0 = r20
.def sign_1 = r21

//r16 = r0
//r17 = r1
 
ldi r16, 2

 //neg r16 αν θέλουμε να ειναι -2 πχ

ldi r17, 5

mov sign_0, r16
andi sign_0, 0b10000000 //πρόσημο του r16

mov sign_1, r17
andi sign_1, 0b10000000 //πρόσημο του r17

lsl r16;x2
lsl r16;x4

lsl r16;σε μορφή  XXXXXXX.0
or r16, sign_0 //επαναφορά προσήμου

asr r17;/2 XXXXXXXX  . C
rol r17  XXXXXXX.C

or r17, sign_1 //επαναφορά προσήμου

add r16, r17
brpl positive
neg r16
positive:
nop;

Θεωρώντας ότι η τελική μορφή είναι 0bXXXXXXX,Y δηλαδή το bit 0 είναι το δεκαδικό μέρος
τις δοκιμές που έκανα με r0,r1 = { 2,5 }, { -2, 5 } & { -2, -5 } μου βγαίνουν σωστά αποτελέσματα.

Και λυμένη από έναν φιλο, με mulsu ( 2 byte αποτελεσμα ( r0,r1 ) και στο r2 το δεκαδικό μερος 
Code:
ldi r18, 4
mov r16,r0

asr r1 // /2
ror r2 //Δεκαδικό μερος στο r2
mov r17, r1

mulsu r16,r18 //(Αποτελέσματα πανε στο r0,r1)

add r1, r17
brvc exit
inc r0
exit:
ret



Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Chester on February 14, 2014, 23:00:51 pm
Ωραίος! Ευχαριστώ πολύ.


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: johnis32 on February 14, 2014, 23:17:14 pm
Τι γίνεται όμως άμα ο αριθμός είναι πολύ μεγάλος ; Με την lsl χάνεις ψηφία.


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: τσαι-borg on February 14, 2014, 23:53:02 pm
προσθέτεις κ 'αλλους καταχωρητές για την αναπαράσταση του αποτελέσματος ώστε να σπρώχνεις εκεί το C.


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: geo_pas on February 14, 2014, 23:54:08 pm
Όταν λέει προσημασμένους σίγουρα εννοεί ως συμπλήρωμα του 2 ή μήπως το MSB αναπαριστά το πρόσημο (0 για θετικό/1 για αρνητικό) και τα υπόλοιπα bits την απόλυτη τιμή του αριθμού; Γιατί υπάρχουν γενικά και οι 2 τρόπου απεικόνισης προσημασμένων νομίζω.


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Δον on February 14, 2014, 23:57:47 pm
Για τον πολλαπλασιασμο θελει δυο lsl , για τη διαιρεση ενα asr (φανταζομαι προσημασμενους εννοειται ως συμπληρωμα του δυο)... Πληρη ακριβεια ας πει καποιος που ξερει τι εννοει οταν το λεει, πεφτει συνεχεια!
Πλήρης ακρίβεια σημαίνει πως πρέπει να κρατήσεις τα δεκαδικά. Βασικά πρέπει μετά το asr να κάνεις ror σε έναν καταχωριτή που θα κρατάς το δεκαδικό μέρος πχ. το
asr R1
ror R2
διαιρεί τον R1 διά δύο. Στον R1 είναι το ακέραιο μέρος μαι στον R2 το  δεκαδικό.


Μπορείς να εξηγήσεις λιγο καλυτερα; δηλαδη στον r2 στο παράδειγμα σου τι θα εχει; μονο ενα carry θα εχει εισαχθει.


Edit : Άκυρο το χω

Όταν λέει προσημασμένους σίγουρα εννοεί ως συμπλήρωμα του 2 ή μήπως το MSB αναπαριστά το πρόσημο (0 για θετικό/1 για αρνητικό) και τα υπόλοιπα bits την απόλυτη τιμή του αριθμού; Γιατί υπάρχουν γενικά και οι 2 τρόπου απεικόνισης προσημασμένων νομίζω.


Αυτά τα δυο που λες ειναι και τα δυο συμπλήρωμα του δυο.


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Salvation on February 15, 2014, 00:03:56 am
Για τον πολλαπλασιασμο θελει δυο lsl , για τη διαιρεση ενα asr (φανταζομαι προσημασμενους εννοειται ως συμπληρωμα του δυο)... Πληρη ακριβεια ας πει καποιος που ξερει τι εννοει οταν το λεει, πεφτει συνεχεια!
Πλήρης ακρίβεια σημαίνει πως πρέπει να κρατήσεις τα δεκαδικά. Βασικά πρέπει μετά το asr να κάνεις ror σε έναν καταχωριτή που θα κρατάς το δεκαδικό μέρος πχ. το
asr R1
ror R2
διαιρεί τον R1 διά δύο. Στον R1 είναι το ακέραιο μέρος μαι στον R2 το  δεκαδικό.


Μπορείς να εξηγήσεις λιγο καλυτερα; δηλαδη στον r2 στο παράδειγμα σου τι θα εχει; μονο ενα carry θα εχει εισαχθει.

Όταν λέει προσημασμένους σίγουρα εννοεί ως συμπλήρωμα του 2 ή μήπως το MSB αναπαριστά το πρόσημο (0 για θετικό/1 για αρνητικό) και τα υπόλοιπα bits την απόλυτη τιμή του αριθμού; Γιατί υπάρχουν γενικά και οι 2 τρόπου απεικόνισης προσημασμένων νομίζω.


Αυτά τα δυο που λες ειναι και τα δυο συμπλήρωμα του δυο.

Προφανώς και όχι.

geo_pas οταν σου λεει προσημασμένο κατα 99% θα εννοεί συμπλήρωμα του 2, εκτός και αν το οριζει διαφορετικα στην εκφωνηση


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Δον on February 15, 2014, 00:08:04 am
http://en.m.wikipedia.org/wiki/Two's_complement (http://en.m.wikipedia.org/wiki/Two's_complement)


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Salvation on February 15, 2014, 00:08:53 am
http://simple.wikipedia.org/wiki/Signed_number_representations


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: geo_pas on February 15, 2014, 00:09:50 am
Για τον πολλαπλασιασμο θελει δυο lsl , για τη διαιρεση ενα asr (φανταζομαι προσημασμενους εννοειται ως συμπληρωμα του δυο)... Πληρη ακριβεια ας πει καποιος που ξερει τι εννοει οταν το λεει, πεφτει συνεχεια!
Πλήρης ακρίβεια σημαίνει πως πρέπει να κρατήσεις τα δεκαδικά. Βασικά πρέπει μετά το asr να κάνεις ror σε έναν καταχωριτή που θα κρατάς το δεκαδικό μέρος πχ. το
asr R1
ror R2
διαιρεί τον R1 διά δύο. Στον R1 είναι το ακέραιο μέρος μαι στον R2 το  δεκαδικό.


Μπορείς να εξηγήσεις λιγο καλυτερα; δηλαδη στον r2 στο παράδειγμα σου τι θα εχει; μονο ενα carry θα εχει εισαχθει.

Όταν λέει προσημασμένους σίγουρα εννοεί ως συμπλήρωμα του 2 ή μήπως το MSB αναπαριστά το πρόσημο (0 για θετικό/1 για αρνητικό) και τα υπόλοιπα bits την απόλυτη τιμή του αριθμού; Γιατί υπάρχουν γενικά και οι 2 τρόπου απεικόνισης προσημασμένων νομίζω.


Αυτά τα δυο που λες ειναι και τα δυο συμπλήρωμα του δυο.

Προφανώς και όχι.

geo_pas οταν σου λεει προσημασμένο κατα 99% θα εννοεί συμπλήρωμα του 2, εκτός και αν το οριζει διαφορετικα στην εκφωνηση

ευχαριστώ :) θα το έχω υπόψιν

και στο βιβλίο του Tanenbaum, Αρχιτεκτονική υπολογιστών, αναφέρει 4 τρόπους για να παραστήσουμε τους προσημασμένους αριθμούς, ο ένας είναι αυτός που ανέφερα με 1 bit προσήμου και 7 bit απόλυτης τιμής, ο δεύτερος το συμπλήρωμα του 2, ο τρίτος το συμπλήρωμα του 1 και υπάρχει και ένας ακόμα τέταρτος.


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Δον on February 15, 2014, 00:13:49 am
Έχεις δίκιο βρε παιδί μου, απλά ποτέ μα ποτέ ο Πέτρου στο μάθημα δεν έκανε άλλο τρόπο απεικόνισης αρνητικών αριθμών εκτός του συμπληρώματος του 2 και φοβήθηκα μην τα μπέρδεψε ο Γιώργος. Πάω πάσο.
Σε περίπτωση που αναφέρει κάτι διαφορετικό τότε ισχύει το διαφορετικό.  :D


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: TTL on February 16, 2014, 13:17:03 pm
παιδιά βλέπω ότι πέφτει συχνά ένα θέμα που έχει σχέση με πολλαπλασιασμό δεκαδικών. Από τη στιγμή που ο AVR θεωρεί όλους τους αριθμούς ακέραιους ακόμα δεν κατάφερα να σκεφτώ λύση. Μπορεί κάποιος είτε να δώσει κάποιο καλό link επί του θέματος είτε ( καλύτερα ) να ανεβάσει μία λύση για οποιοδήποτε θέμα;


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: adianohtos on February 16, 2014, 19:52:32 pm
Στην ερωτηση 25 του ExamsLAB.pdf
έκανα

Που βρισκεται αυτο το pdf ρε παιδια;;;


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: nohponex on February 16, 2014, 19:55:10 pm
Στην ερωτηση 25 του ExamsLAB.pdf
έκανα

Που βρισκεται αυτο το pdf ρε παιδια;;;
https://www.thmmy.gr/smf/index.php?topic=54784.msg941859#msg941859


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Jeik on February 17, 2014, 16:39:53 pm
Ξέρει κανείς πού υπόρχουν οι εντολές αναλυμένες σε κύκλους μηχανής;


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Dimitris1989 on February 17, 2014, 19:55:31 pm
Στο θέμα  του 2010, έστω ότι βρίσκουμε το 1.5Χ και το |Υ|, όταν τα προσθέτουμε θα πρέπει να ελέγξουμε την περίπτωση να έχουμε overflow, οπότε να βάλουμε και άλλον καταχωρητή;


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Neal on February 17, 2014, 19:58:47 pm
Λογικά ναι.


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: geozzz on February 17, 2014, 20:04:21 pm
μια υπερβολικα σοβαρη ερωτηση:

Αν μας δινει προσημασμενους αριθμους θεωρουμε οτι ΑΝ ειναι αρνητικοι τοτε ειναι στη μορφη συμπληρωματος του 2.


Αν μας δινει οτι εχουν και καποιο κλασματικο μερος μερικων bit θεωρουμε οτι και το κλασματικο μερος ειναι στη μορφη συμπλ του 2 η οτι μονο το ακεραιο ειναι συμπλ του 2;


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Neal on February 17, 2014, 20:08:00 pm
Αν σου λέει ότι στον R1 έχουμε έναν προσημασμένο αριθμό με 2 bit ακέραιο και 6 bit δεκαδικό τότε o R1 είναι σε μορφή συμπληρώματος του δύο.


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Dimitris1989 on February 17, 2014, 20:58:39 pm
Αν σου λέει ότι στον R1 έχουμε έναν προσημασμένο αριθμό με 2 bit ακέραιο και 6 bit δεκαδικό τότε o R1 είναι σε μορφή συμπληρώματος του δύο.

Συμπληρωμα του δύο έχουμε μόνο για αρνητικούς σωστα;
Αρα το παραπάνω θα ισχύει αν ο αριθμός ειναι αρνητικος


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Neal on February 17, 2014, 21:26:54 pm
Όχι, ισχύει πάντα σε προσημασμένους.


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: geozzz on February 17, 2014, 21:34:58 pm


Τωρα αν εχουμε εναν αριθμο τον οποιο τον χωριζουμε σε 2 καταχωρητες οπου στον εναν ειναι το ακεραιο μερος και στο αλλο το δεκαδικο ( η και σε αλλη περιπτωση στον εναν το ακεραιο μερος Low και στον αλλον το ακεραιο μερος High ), το προσημο πρεπει να υπαρχει σε ολους τους καταχωρητες που αναπαριστουν τον αριθμο ( σε καθε MSB δηλαδη του καθε καταχ ) ;;


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Neal on February 17, 2014, 21:39:21 pm
Όχι, θεωρείς και τους 2 καταχωρητές ως έναν αριθμό που έχει τα bit προσήμου στα MSB του.


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Chester on February 17, 2014, 21:41:30 pm
Μπορει να ανεβασει καποιος την λυση του 2ου θεματος 2008 ;


Για να ξεκαθαρισω κατι...

Εστω οτι μας δινει εκφραση η οποια εχει και πολ/σμο και διαιρεση και μας λεει οτι ειναι signed με συμπληρωμα του 2, έστω επισης οτι λεει οτι ειναι σε 16bit, 8 ακεραιο και 8 δεκαδικο και τελος χωρις εντολη πολ/σμου προφανως.

τοτε:

Για τοn πολ/σμο  γινεται με lsl τον καταχωρητη που εχω το ακεραιο και rol το δεκαδικο;

Για την διαιρεση μπορω να το κανω με 2 τροπους;
1ος, με asr και ror
2ος, να κοιταξω αν ειναι αρνητικος, αν οχι τοτε lsr και ror, αν ειναι αρνητικος να κανω neg τον αριθμο, μετα com και επειτα lsr kai ror ?


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: thomais on February 17, 2014, 22:04:41 pm
Ξέρει κανείς πού υπόρχουν οι εντολές αναλυμένες σε κύκλους μηχανής;

Για τις ερωτήσεις που έχει στα παλιότερα θέματα θεωρίας για την ανάλυση σε κύκλους μηχανής μάλλον εννοεί να γράψουμε την λειτουργία που επιτελεί η εντολή με περισσότερες της μίας απλές εντολές..Δεν νομίζω κάπου να υπάρχουν έτοιμα αυτά..


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Neal on February 17, 2014, 22:23:02 pm
Μπορει να ανεβασει καποιος την λυση του 2ου θεματος 2008 ;



Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: lab_irs on February 17, 2014, 22:36:34 pm


Για να ξεκαθαρισω κατι...

Εστω οτι μας δινει εκφραση η οποια εχει και πολ/σμο και διαιρεση και μας λεει οτι ειναι signed με συμπληρωμα του 2, έστω επισης οτι λεει οτι ειναι σε 16bit, 8 ακεραιο και 8 δεκαδικο και τελος χωρις εντολη πολ/σμου προφανως.

τοτε:

Για τοn πολ/σμο  γινεται με lsl τον καταχωρητη που εχω το ακεραιο και rol το δεκαδικο;

Για την διαιρεση μπορω να το κανω με 2 τροπους;
1ος, με asr και ror
2ος, να κοιταξω αν ειναι αρνητικος, αν οχι τοτε lsr και ror, αν ειναι αρνητικος να κανω neg τον αριθμο, μετα com και επειτα lsr kai ror ?


Μπορεί να απαντηθεί αυτό,γιατί και εγώ είμαι λίγο χαμένος.Και κάτι ακόμα.Μετά τον πολλαπλασιασμό σε ένα signed αριθμό 8-bit, το bit του προσήμου γίνεται το MSB του νέου 8-bit καταχωρητή που θα χρησιμοποιηθεί?


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Neal on February 17, 2014, 22:47:41 pm
Οι ακέραιοι και οι δεκαδικοί υπάρχουν μόνο στη φαντασία του προγραμματιστή. Έστω τα 16 αυτά bit αποθηκευμένα στους καταχωρητές R18:R17

Πολλαπλασιασμός επί 2:

;επέκταση προσήμου
sbrc R18, 7
ser R19

lsl R17
rol R18
rol R19

Διαίρεση δια 2:

asr R18
ror R17


Μετά τον πολλαπλασιασμό σε ένα signed αριθμό 8-bit, το bit του προσήμου γίνεται το MSB του νέου 8-bit καταχωρητή που θα χρησιμοποιηθεί?

Με την muls τα R1:R0 περιέχουν το αποτέλεσμα του πολλαπλασιασμού σε μορφή συμπληρώματος 2. Και τα δύο μαζί είναι σε συμπλήρωμα του 2, όχι το κάθε byte.
Αν κάνεις πολλαπλασιασμό manually δες παραπάνω για επέκταση προσήμου.


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: geo_pas on February 17, 2014, 22:58:36 pm
Οι ακέραιοι και οι δεκαδικοί υπάρχουν μόνο στη φαντασία του προγραμματιστή. Έστω τα 16 αυτά bit αποθηκευμένα στους καταχωρητές R18:R17

Πολλαπλασιασμός επί 2:

;επέκταση προσήμου
sbrc R18, 7
ser R19

lsl R17
rol R18
rol R19

Διαίρεση δια 2:

asr R18
ror R17


Στην διαίρεση δια 2 δεν πρέπει να επεκτείνουμε και το κλασματικό μέρος και να προσθέσουμε έναν καταχωρητή (π.χ. R16) για τον οποίο να κάνουμε ror R16 μετά το ror R17;


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Neal on February 17, 2014, 22:59:09 pm
Ναι


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: adianohtos on February 17, 2014, 23:14:15 pm
Μπορει να ανεβασει καποιος την λυση του 2ου θεματος 2008 ;
Οι ακέραιοι και οι δεκαδικοί υπάρχουν μόνο στη φαντασία του προγραμματιστή. Έστω τα 16 αυτά bit αποθηκευμένα στους καταχωρητές R18:R17
Η λυση που εκανες ουσιαστικα ειναι ιδια και για αριθμους με 5bit ακεραιο και 3 κλασματικο ή 2 ακεραιο και 6 κλασματικο κοκ ετσι; Δεν εχει σημασια σε πως θεωρητικα χωριζουμε το byte, μονο να μην χανουμε ψηφια με τις πραξεις, σωστα;


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Neal on February 17, 2014, 23:15:53 pm
Ναι


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: geo_pas on February 17, 2014, 23:18:52 pm
Να ρωτήσω κάτι για την απάντηση του θέματος 2  του 2008 που ανέβασες, στη γραμμή 68 του κώδικα είναι: adc resH, yid. Δε θα έπρεπε να είναι: adc resH, yio;



Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Neal on February 17, 2014, 23:21:02 pm
Σωστά


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Chester on February 17, 2014, 23:23:30 pm
Πρακτικα με την χρηση της εντολης asr αντι της lsr δεν υπαρχει πλεον η αναγκη να τσεκαρουμε αν το αριθμος μας ειναι αρνητικος ωστε να κανουμε τα κολπα με neg, com κλπ;


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Neal on February 17, 2014, 23:28:37 pm
Με asr και sign extension οι πράξεις γίνονται όπως και με τους unsigned. Αυτό είναι το πλεονέκτημα του συμπληρώματος του 2.


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Jeik on February 17, 2014, 23:30:14 pm
Πρακτικα με την χρηση της εντολης asr αντι της lsr δεν υπαρχει πλεον η αναγκη να τσεκαρουμε αν το αριθμος μας ειναι αρνητικος ωστε να κανουμε τα κολπα με neg, com κλπ;
Ναι, αλλά άμα κάνεις lsl σε αρνητικό  πρέπει να φορτώσεις πρώτα στο high byte το $FF. Το ίδιο και όταν προσθέτεις αρνητικό 1 byte σε 2 byte


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Chester on February 17, 2014, 23:35:27 pm
Οκ ευχαριστω. Αρχιζουν να ξεκαθαριζουν σιγααα σιγαααα οι αποριες. Εστω και αν απομενουν 13μιση ωρες για την εξεταση   :D


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: Παναγιώτης on February 18, 2014, 00:07:17 am
Σε κάποιες από τις ερωτήσεις θεωρίας έχει π.χ. δύο δεκαεξαδικούς και ρωτάει για το πως ερμηνεύεται το άθροισμα από τον AVR αν είναι προσημασμένοι ή όχι. Και λέει σε ποια περίπτωση η πράξη θα εκτελεστεί σωστά. Εμένα και στις 2 περιπτώσεις μου φαίνεται ότι θα γίνει σωστά. Έχει κάποιος κάποια άλλη άποψη?


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: geo_pas on February 18, 2014, 00:15:42 am
Σε κάποιες από τις ερωτήσεις θεωρίας έχει π.χ. δύο δεκαεξαδικούς και ρωτάει για το πως ερμηνεύεται το άθροισμα από τον AVR αν είναι προσημασμένοι ή όχι. Και λέει σε ποια περίπτωση η πράξη θα εκτελεστεί σωστά. Εμένα και στις 2 περιπτώσεις μου φαίνεται ότι θα γίνει σωστά. Έχει κάποιος κάποια άλλη άποψη?

Νομίζω πως σε κάθε περίπτωση σωστά εκτελείται, το πως ερμηνεύεται εξαρτάται από τις τιμές των αντίστοιχων σημαιών του SREG.

Υπάρχει νομίζω παρόμοιο απαντημένο θέμα στο topic με τις ερωτήσεις θεωρίας.


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: thomais on February 18, 2014, 00:23:22 am
Όσον αφορά το 3ο θέμα του φεβρουαρίου του 2008 εφόσον οι αριθμοι είναι των 30 bit ο καθένας πως αποκτούμε πρόσβαση στις αντιστοιχες διευθύνσεις;
ας πούμε όταν είχαμε των 16 bit κάναμε 2*table.. τώρα θα κάνουμε επί 4 ή το έχω καταλάβει τελείως λάθος;


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: geo_pas on February 18, 2014, 00:43:51 am
Όσον αφορά το 3ο θέμα του φεβρουαρίου του 2008 εφόσον οι αριθμοι είναι των 30 bit ο καθένας πως αποκτούμε πρόσβαση στις αντιστοιχες διευθύνσεις;
ας πούμε όταν είχαμε των 16 bit κάναμε 2*table.. τώρα θα κάνουμε επί 4 ή το έχω καταλάβει τελείως λάθος;

Οι πίνακες μπορεί να είναι αποθηκευμένοι και στην SRAM, εφόσον δεν υπάρχει διευκρίνιση.


Title: Re: [Συστ. Μικροϋπολογιστών] Απορίες στις ασκήσεις 2013-2014
Post by: thomais on February 18, 2014, 00:47:42 am
Όσον αφορά το 3ο θέμα του φεβρουαρίου του 2008 εφόσον οι αριθμοι είναι των 30 bit ο καθένας πως αποκτούμε πρόσβαση στις αντιστοιχες διευθύνσεις;
ας πούμε όταν είχαμε των 16 bit κάναμε 2*table.. τώρα θα κάνουμε επί 4 ή το έχω καταλάβει τελείως λάθος;

Οι πίνακες μπορεί να είναι αποθηκευμένοι και στην SRAM, εφόσον δεν υπάρχει διευκρίνιση.

Μάλλον έτσι θα 'ναι ...Αλλιώς μου παραφαίνεται δύσκολο..