Professional Documents
Culture Documents
SDY62 - GE1 2017-2018 Indicative Solutions
SDY62 - GE1 2017-2018 Indicative Solutions
Ερώτημα 1
Να περιγράψετε εν συντομία τα κύρια χαρακτηριστικά των εντολών (operations) των
αρχιτεκτονικών ARM και x86. (< 200 λέξεις)
[10 μονάδες]
Ενδεικτική απάντηση
Τα κύρια χαρακτηριστικά των εντολών των επεξεργαστών ARM είναι τα παρακάτω:
Ερώτημα 2
Να παρουσιάσετε και να αναλύσετε τις επιδόσεις (performance analysis) των επεξεργαστών
Atom και Cortex-A8. (< 200 λέξεις)
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΣΔΥ62
"ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ"
ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ: 2017-18
[15 μονάδες]
Ενδεικτική Απάντηση
Τα τεχνικά χαρακτηριστικά των δύο επεξεργαστών παρουσιάζονται παρακάτω:
2) Το πλήθος των απαιτούμενων κύκλων ρολογιού ανά εντολή είναι παρόμοιο. Η σχέση
μεταξύ του Cortex-A8 και Atom είναι περίπου 1,5x μια και οι δύο επεξεργαστές εκτελούν με
in-order τρόπο τις εντολές τους.
3) Ο αριθμός εντολών ανά κύκλο ρολογιού είναι 3,4 στον Cortex-A8 και 2,1 στον Atom.
ΟΝΟΜΑΤΕΠΩΝΥΜΟ:
ΤΜΗΜΑ ΣΔΥ62-HLE
1η ΕΡΓΑΣΙΑ 2
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΣΔΥ62
"ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ"
ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ: 2017-18
if (a > b) {
x = 2c;
y = d + e/2;
else {
x = 2d/e;
[25 μονάδες]
Ενδεικτική Απάντηση
Αρχικά θα ορίσουμε κάποιους καταχωρητές για τις μεταβλητές. Έστω ότι οι καταχωρητές r0,
r1, r2 και r3 χρησιμοποιούνται για τη προσωρινή αποθήκευση των μεταβλητών και ο r4 για
τις διευθύνσεις των μεταβλητών.
ADR r4,a Πάρε τη διεύθυνση της μεταβλητής a
LDR r0,[r4] Φόρτωσε την τιμή της a στον καταχωρητή r0
ADR r4,b Πάρε τη διεύθυνση της μεταβλητής b
LDR r1,[r4] Φόρτωσε την τιμή της b στον καταχωρητή r1
CMP r1,r0 Κάνε τη σύγκριση μεταξύ της a και της b
BGE ENDIF Διακλάδωσε στην ετικέτα ENDIF
ADR r4,c Πάρε τη διεύθυνση της μεταβλητής c
LDR r0,[r4] Φόρτωσε την τιμή της c στον καταχωρητή r0
MUL r0, r0, #2 Υπολόγισε την τιμή 2c και αποθήκευσε την στο r0
ADR r4,d Πάρε τη διεύθυνση της μεταβλητής e
LDR r1,[r4] Φόρτωσε την τιμή της d στον καταχωρητή r1
ADR r4,e Πάρε τη διεύθυνση της μεταβλητής e
LDR r2,[r4] Φόρτωσε την τιμή της e στον καταχωρητή r2
MOV r2, r2, LSR #1 Διαίρεσε το e με το 2
ADD r3,r1,r2 Πρόσθεσε το d και το e/2 και αποθήκευσε στον r3
STR r0,[r3] Αποθήκευσε τη y
ENDIF ADR r4,d Πάρε τη διεύθυνση της μεταβλητής d
LDR r1,[r4] Φόρτωσε την τιμή της d στον καταχωρητή r1
MUL r1, r1, #2 Υπολόγισε την τιμή 2d και αποθήκευσε την στο r1
ADR r4,e Πάρε τη διεύθυνση της μεταβλητής e
LDR r2,[r4] Φόρτωσε την τιμή της e στον καταχωρητή r2
ΟΝΟΜΑΤΕΠΩΝΥΜΟ:
ΤΜΗΜΑ ΣΔΥ62-HLE
1η ΕΡΓΑΣΙΑ 3
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΣΔΥ62
"ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ"
ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ: 2017-18
SUBTR SUBS r1, r1, r2 Κάνε την αφαίρεση 2d-e και αποθήκευσε την στο r1
ADD r0, r0, #1 Αύξησε το r0 κατά ένα
BHI SUBTR Αφαίρεσε όσο το r1 είναι μεγαλύτερο του r2
ADR r4,x Πάρε τη διεύθυνση της μεταβλητής x
END STR r0,[r4] Αποθήκευσε στη μεταβλητή x 2d/e
Ερώτημα 2
Να γραφεί ο κώδικας σε συμβολική γλώσσα του ARM μορφής Thumb2 για την υλοποίηση
του παρακάτω βρόχου.
[25 μονάδες]
Ενδεικτική Απάντηση
Ένας τρόπος για την επίλυση αυτού του ερωτήματος είναι να γραφεί ο κώδικας σε ARM7
και μετά κάθε εντολή να αντικατασταθεί από την αντίστοιχη μορφής Thumb2. Ο κώδικας σε
ARM7 υπάρχει στην 1 ΓΕ του έτους 2013-2014 (ερώτημα 2Γ). Αρχικά θα ορίσουμε κάποιους
καταχωρητές για τις μεταβλητές. Έστω ότι ο καταχωρητής r0 χρησιμοποιείται για το δείκτη
i, ο καταχωρητής r2 για το πίνακα z, ο r4 για το πίνακα a και ο καταχωρητής r6 για το πίνακα
b. Επίσης θα χρησιμοποιήσουμε τους καταχωρητές r5 και r7 για τα στοιχεία των πινάκων a
και b αντίστοιχα.
ΟΝΟΜΑΤΕΠΩΝΥΜΟ:
ΤΜΗΜΑ ΣΔΥ62-HLE
1η ΕΡΓΑΣΙΑ 4
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΣΔΥ62
"ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ"
ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ: 2017-18
Ερώτημα 1
Να σχεδιάσετε και να περιγράψετε με συντομία την προσέγγιση του συνεπεξεργαστή
ARMHEx. (< 200 λέξεις)
[15 μονάδες]
Ενδεικτική Απάντηση
Ο συνεπεξεργαστής ARMHEx είναι υπεύθυνος για τη προστασία ενάντια στην μη
εξουσιοδοτημένη πρόσβαση και την ακεραιότητα των δεδομένων. Το μοντέλο χρήσης του
συνεπεξεργαστή ARMHEx φαίνεται στη παρακάτω εικόνα.
2) Κωδικοποίηση εντολής
ΟΝΟΜΑΤΕΠΩΝΥΜΟ:
ΤΜΗΜΑ ΣΔΥ62-HLE
1η ΕΡΓΑΣΙΑ 5
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΣΔΥ62
"ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ"
ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ: 2017-18
Ερώτημα 2
Να εξηγήσετε τη λειτουργία του στοιχείου CoreSight. (< 200 λέξεις)
[10 μονάδες]
Ενδεικτική Απάντηση
Το στοιχείο CoreSight είναι ένα σύνολο από IP υλισμικού που χρησιμοποιείται για τη
παρακολούθηση της εκτέλεσης λογισμικού και περιέχεται σε έναν επεξεργαστη Zynq της
Xilinx. Πιο συγκεκριμένα χρησιμοποιείται για απασφαλμάτωση (debugging) και την
ανάλυση προφίλ (profiling) κατά την εκτέλεση του λογισμικού ή της λειτουργίας της CPU. Το
σχήμα του στοιχείου αυτού φαίνεται στη παρακάτω εικόνα.
1) Source: To Program Trace Microcell (1) δημιουργεί ίχνη κατά την εκτέλεση του
προγράμματος στις εντολές εκείνες που προκαλούν μεταβολή στη ροή του προγράμματος,
όπως, έμμεσοι ή άμεσοι κλάδοι με ή χωρίς συνθήκη, εξαιρέσεις και κάθε εντολή η οποία
αλλάζει την κατάσταση εκτέλεσης ή ασφάλειας του επεξεργαστή.
2) Link: Τα στοιχεία Funnel (2) και Replicator (3) περιέχονται στον επεξεργαστή Zynq και
μεταφέρουν τα ίχνη από τα source στα sink. Το Funnel συνενώνει τα ίχνη που έλαβε από
πολλαπλές πηγές (sources) σε ένα ενιαίο. Ο Replicator διπλασιάζει το ίχνος που στέλνει το
Funnel και το προωθεί προς τα στοιχεία του sink.
ΟΝΟΜΑΤΕΠΩΝΥΜΟ:
ΤΜΗΜΑ ΣΔΥ62-HLE
1η ΕΡΓΑΣΙΑ 6