Βασικές Αρχές Οργάνωσης και Λειτουργίας Υπολογιστικών Συστημάτων — Φεβρουάριος 2025¶
Μεταγραφή από το 2025_1.pdf (8 σελίδες, τέσσερις παραλλαγές των δύο σελίδων). Οι κόκκινες απαντήσεις του λυμένου αντιγράφου δεν μεταφέρονται. Οι παραλλαγές διακρίνονται με το γράμμα τους στον τίτλο κάθε ενότητας.
2025_1.pdf (σελ. 1-2, παραλλαγή Α)¶
- Να συμπληρωθούν στον παρακάτω πίνακα οι αναπαραστάσεις των μη προσημασμένων μικτών αριθμών X & Y. Σε περίπτωση μη ακριβούς αναπαράστασης, χρησιμοποιήστε αποκοπή του αριθμού στη ζητούμενη ακρίβεια.
| Αριθμός | Αριθμοί σε βάση 10 | Δυαδικό (Βάση 2) 4 ψηφία για το ακέραιο και 3 ψηφία για το κλασματικό μέρος | Οκταδικό (Βάση 8) 2 ψηφία για το ακέραιο και 2 ψηφία για το κλασματικό μέρος | Δεκαεξαδικό (Βάση 16) 1 ψηφίο για το ακέραιο και 2 ψηφία για το κλασματικό μέρος |
|---|---|---|---|---|
| X | 11,875 | |||
| Y | 9,145 |
- Να συμπληρωθούν στον παρακάτω πίνακα οι αναπαραστάσεις των ακεραίων Κ, Λ & Μ που λείπουν. Εντός παρενθέσεως τα ψηφία που θα πρέπει να χρησιμοποιήσετε σε κάθε περίπτωση:
| Αριθμός | Σε βάση 10 | Αναπαράσταση σε Πρόσημο και Μέτρο (7 ψηφία) | Αναπαράσταση σε συμπλήρωμα ως προς 1 (7 ψηφία) | Αναπαράσταση σε συμπλήρωμα ως προς 2 (7 ψηφία) | Αναπαράσταση σε συμπλήρωμα ως προς 8 (2 ψηφία) | Αναπαράσταση σε συμπλήρωμα ως προς 16 (2 ψηφία) |
|---|---|---|---|---|---|---|
| Κ | –27₁₀ | |||||
| Λ | +47 | 0 101 111 | ||||
| Μ | -19 | 55 |
Για τους αριθμούς του δεκαδικού συστήματος που δίνονται στον παρακάτω πίνακα, να συμπληρώσετε τον ελάχιστο αριθμό δυαδικών ψηφίων που χρειάζονται για να αναπαρασταθούν στους αναγραφόμενους κώδικες.
| Αριθμός | Κώδικας | Αριθμός Ελάχιστων δυαδικών ψηφίων |
|---|---|---|
| -19₁₀ | πρόσημο – μέτρο | |
| +64₁₀ | συμπλήρωμα ως προς 1 | |
| -32₁₀ | συμπλήρωμα ως προς 2 | |
| +4₁₀ | πόλωσης κατά 16 | |
| -19,433₁₀ | IEEE 754 στάνταρντ απλής ακρίβειας |
Στον κώδικα "συμπλήρωμα ως προς 2" οι A, B και Γ αναπαρίστανται ως: \(A=100110_{2s}\), \(B=1011001_{2s}\) και \(\Gamma=01000010_{2s}\). Να εκτελέσετε τις πράξεις A+B και Γ – B χρησιμοποιώντας κάθε φορά τα ελάχιστα δυαδικά ψηφία και να καταγράψετε τις τιμές των σημαιών κατάστασης Z, C, N, V. Να σχολιάσετε την ορθότητα των αποτελεσμάτων. Σε περίπτωση λάθους αποτελεσμάτων να αναφέρετε (χωρίς να το δείξετε) το πως μπορούμε να εκτελέσουμε ορθά αυτές τις πράξεις.
A+B | Γ – B
Η αρτηρία διευθύνσεων ενός υπολογιστή έχει εύρος 24 δυαδικών ψηφίων. Αν η μέγιστη φυσική μνήμη που μπορούμε να προσαρτήσουμε σε αυτόν είναι 64 Mbytes, πόση ποσότητα δεδομένων θα πρέπει να αντιστοιχεί σε κάθε διεύθυνση;
Στην μνήμη του AT91 βρίσκονται αποθηκευμένα τα ακόλουθα δεδομένα:
| Διεύθυνση | Δεδομένο | Διεύθυνση | Δεδομένο | Διεύθυνση | Δεδομένο | Διεύθυνση | Δεδομένο | Διεύθυνση | Δεδομένο |
|---|---|---|---|---|---|---|---|---|---|
| 0x200 | 0xAB | 0x205 | 0xAA | 0x20A | 0x31 | 0x20F | 0xAB | 0x214 | 0x06 |
| 0x201 | 0xCC | 0x206 | 0xBB | 0x20B | 0x31 | 0x210 | 0xCC | 0x215 | 0x11 |
| 0x202 | 0xD3 | 0x207 | 0xCC | 0x20C | 0xFE | 0x211 | 0xD3 | 0x216 | 0x1E |
| 0x203 | 0xA2 | 0x208 | 0xDD | 0x20D | 0x18 | 0x212 | 0xA2 | 0x217 | 0x25 |
| 0x204 | 0xBC | 0x209 | 0xEE | 0x20E | 0x11 | 0x213 | 0xBC | 0x218 | 0xF4 |
Θεωρήστε ότι πριν την εκτέλεση κάθε μίας από τις παρακάτω εντολές στο AT91, τα περιεχόμενα των R1, R2 και R3 είναι αντίστοιχα 0x7, 0x204 και 0x02. Να συμπληρώσετε στον παρακάτω πίνακα τα περιεχόμενα των R1 και R2 μετά την εκτέλεση κάθε εντολής.
| Εντολή | Περιεχόμενο R1 μετά την εντολή | Περιεχόμενο R2 μετά την εντολή |
|---|---|---|
| LDR R1, [R2] | ||
| LDRH R1, [R2, # -4 ] | ||
| LDRB R1, [R2, R3, LSL #3]! | ||
| LDR R1, [R2], #8 |
Για το AT91, ένας προγραμματιστής έγραψε το ακόλουθο πρόγραμμα:
.arm
.text
.global main
main:
STMDB R13!, {R0-R12}
LDR R0, =Array
ADD R3, R0, #16
Loop:
LDR R1, [R0]
MOV R2, R1, LSL #1
ADD R1, R1, R2
STR R1, [R0]
ADD R0, R0, #4
CMP R0, R3
BLT Loop
LDMIA R13!, {R0-R12}
MOV PC, R14
.data
Array: .word 14, 12, 2, 41
- Ποιον υπολογισμό επιτελεί αυτό το πρόγραμμα;
- Θα λειτουργήσει σωστά για προσημασμένα δεδομένα;
2025_1.pdf (σελ. 3-4, παραλλαγή Β)¶
- Να συμπληρωθούν στον παρακάτω πίνακα οι αναπαραστάσεις των μη προσημασμένων μικτών αριθμών X & Y. Σε περίπτωση μη ακριβούς αναπαράστασης, χρησιμοποιήστε αποκοπή του αριθμού στη ζητούμενη ακρίβεια.
| Αριθμός | Αριθμοί σε βάση 10 | Δυαδικό (Βάση 2) 4 ψηφία για το ακέραιο και 3 ψηφία για το κλασματικό μέρος | Οκταδικό (Βάση 8) 2 ψηφία για το ακέραιο και 2 ψηφία για το κλασματικό μέρος | Δεκαεξαδικό (Βάση 16) 1 ψηφίο για το ακέραιο και 2 ψηφία για το κλασματικό μέρος |
|---|---|---|---|---|
| X | 13,625 | |||
| Y | 4,745 |
- Να συμπληρωθούν στον παρακάτω πίνακα οι αναπαραστάσεις των ακεραίων Κ, Λ & Μ που λείπουν. Εντός παρενθέσεως τα ψηφία που θα πρέπει να χρησιμοποιήσετε σε κάθε περίπτωση:
| Αριθμός | Σε βάση 10 | Αναπαράσταση σε Πρόσημο και Μέτρο (7 ψηφία) | Αναπαράσταση σε συμπλήρωμα ως προς 1 (7 ψηφία) | Αναπαράσταση σε συμπλήρωμα ως προς 2 (7 ψηφία) | Αναπαράσταση σε συμπλήρωμα ως προς 8 (2 ψηφία) | Αναπαράσταση σε συμπλήρωμα ως προς 16 (2 ψηφία) |
|---|---|---|---|---|---|---|
| Κ | –29₁₀ | |||||
| Λ | +43 | 0 101 011 | ||||
| Μ | -21 | 53 |
Για τους αριθμούς του δεκαδικού συστήματος που δίνονται στον παρακάτω πίνακα, να συμπληρώσετε τον ελάχιστο αριθμό δυαδικών ψηφίων που χρειάζονται για να αναπαρασταθούν στους αναγραφόμενους κώδικες.
| Αριθμός | Κώδικας | Αριθμός Ελάχιστων δυαδικών ψηφίων |
|---|---|---|
| -74₁₀ | πρόσημο – μέτρο | |
| +128₁₀ | συμπλήρωμα ως προς 1 | |
| -64₁₀ | συμπλήρωμα ως προς 2 | |
| +13₁₀ | πόλωσης κατά 32 | |
| -59,341₁₀ | IEEE 754 στάνταρντ απλής ακρίβειας |
Στον κώδικα "συμπλήρωμα ως προς 2" οι A, B και Γ αναπαρίστανται ως: \(A=11010_{2s}\), \(B=100010_{2s}\) και \(\Gamma=0100010_{2s}\). Να εκτελέσετε τις πράξεις A+B και Γ – B χρησιμοποιώντας κάθε φορά τα ελάχιστα δυαδικά ψηφία και να καταγράψετε τις τιμές των σημαιών κατάστασης Z, C, N, V. Να σχολιάσετε την ορθότητα των αποτελεσμάτων. Σε περίπτωση λάθους αποτελεσμάτων να αναφέρετε (χωρίς να το δείξετε) το πως μπορούμε να εκτελέσουμε ορθά αυτές τις πράξεις.
A+B | Γ – B
Η αρτηρία διευθύνσεων ενός υπολογιστή έχει εύρος 20 δυαδικών ψηφίων. Αν η μέγιστη φυσική μνήμη που μπορούμε να προσαρτήσουμε σε αυτόν είναι 8 Mbytes, πόση ποσότητα δεδομένων θα πρέπει να αντιστοιχεί σε κάθε διεύθυνση;
Στην μνήμη του AT91 βρίσκονται αποθηκευμένα τα ακόλουθα δεδομένα:
| Διεύθυνση | Δεδομένο | Διεύθυνση | Δεδομένο | Διεύθυνση | Δεδομένο | Διεύθυνση | Δεδομένο | Διεύθυνση | Δεδομένο |
|---|---|---|---|---|---|---|---|---|---|
| 0x200 | 0xAB | 0x205 | 0x21 | 0x20A | 0x58 | 0x20F | 0x12 | 0x214 | 0xBC |
| 0x201 | 0xCD | 0x206 | 0x22 | 0x20B | 0x6E | 0x210 | 0x31 | 0x215 | 0xDE |
| 0x202 | 0xEF | 0x207 | 0x32 | 0x20C | 0x7A | 0x211 | 0xF3 | 0x216 | 0xAF |
| 0x203 | 0x10 | 0x208 | 0x33 | 0x20D | 0x3F | 0x212 | 0x45 | 0x217 | 0x94 |
| 0x204 | 0x11 | 0x209 | 0x43 | 0x20E | 0x21 | 0x213 | 0x78 | 0x218 | 0x72 |
Θεωρήστε ότι πριν την εκτέλεση κάθε μίας από τις παρακάτω εντολές στο AT91, τα περιεχόμενα των R1, R2 και R3 είναι αντίστοιχα 0xA, 0x208 και 0x01. Να συμπληρώσετε στον παρακάτω πίνακα τα περιεχόμενα των R1 και R2 μετά την εκτέλεση κάθε εντολής.
| Εντολή | Περιεχόμενο R1 μετά την εντολή | Περιεχόμενο R2 μετά την εντολή |
|---|---|---|
| LDR R1, [R2] | ||
| LDRH R1, [R2, # -4 ] | ||
| LDRB R1, [R2, R3, LSL #2]! | ||
| LDR R1, [R2], #4 |
Για το AT91, ένας προγραμματιστής έγραψε το ακόλουθο πρόγραμμα:
.arm
.text
.global main
main:
STMDB R13!, {R0-R12}
LDR R0, =Array
ADD R3, R0, #16
Loop:
LDR R1, [R0]
MOV R2, R1, LSL #3
ADD R1, R1, R2
STR R1, [R0]
ADD R0, R0, #4
CMP R0, R3
BLT Loop
LDMIA R13!, {R0-R12}
MOV PC, R14
.data
Array: .word 14, 12, 2, 41
- Ποιον υπολογισμό επιτελεί αυτό το πρόγραμμα;
- Θα λειτουργήσει σωστά για προσημασμένα δεδομένα;
2025_1.pdf (σελ. 5-6, παραλλαγή Γ)¶
- Να συμπληρωθούν στον παρακάτω πίνακα οι αναπαραστάσεις των μη προσημασμένων μικτών αριθμών X & Y. Σε περίπτωση μη ακριβούς αναπαράστασης, χρησιμοποιήστε αποκοπή του αριθμού στη ζητούμενη ακρίβεια.
| Αριθμός | Αριθμοί σε βάση 10 | Δυαδικό (Βάση 2) 4 ψηφία για το ακέραιο και 3 ψηφία για το κλασματικό μέρος | Οκταδικό (Βάση 8) 2 ψηφία για το ακέραιο και 2 ψηφία για το κλασματικό μέρος | Δεκαεξαδικό (Βάση 16) 1 ψηφίο για το ακέραιο και 2 ψηφία για το κλασματικό μέρος |
|---|---|---|---|---|
| X | 11,125 | |||
| Y | 7,845 |
- Να συμπληρωθούν στον παρακάτω πίνακα οι αναπαραστάσεις των ακεραίων Κ, Λ & Μ που λείπουν. Εντός παρενθέσεως τα ψηφία που θα πρέπει να χρησιμοποιήσετε σε κάθε περίπτωση:
| Αριθμός | Σε βάση 10 | Αναπαράσταση σε Πρόσημο και Μέτρο (7 ψηφία) | Αναπαράσταση σε συμπλήρωμα ως προς 1 (7 ψηφία) | Αναπαράσταση σε συμπλήρωμα ως προς 2 (7 ψηφία) | Αναπαράσταση σε συμπλήρωμα ως προς 8 (2 ψηφία) | Αναπαράσταση σε συμπλήρωμα ως προς 16 (2 ψηφία) |
|---|---|---|---|---|---|---|
| Κ | –22₁₀ | |||||
| Λ | +41 | 0 101 001 | ||||
| Μ | -6 | 72 |
Για τους αριθμούς του δεκαδικού συστήματος που δίνονται στον παρακάτω πίνακα, να συμπληρώσετε τον ελάχιστο αριθμό δυαδικών ψηφίων που χρειάζονται για να αναπαρασταθούν στους αναγραφόμενους κώδικες.
| Αριθμός | Κώδικας | Αριθμός Ελάχιστων δυαδικών ψηφίων |
|---|---|---|
| -59₁₀ | πρόσημο – μέτρο | |
| +16₁₀ | συμπλήρωμα ως προς 1 | |
| -64₁₀ | συμπλήρωμα ως προς 2 | |
| +3₁₀ | πόλωσης κατά 32 | |
| -69,155₁₀ | IEEE 754 στάνταρντ απλής ακρίβειας |
Στον κώδικα "συμπλήρωμα ως προς 2" οι A, B και Γ αναπαρίστανται ως: \(A=10010_{2s}\), \(B=101001_{2s}\) και \(\Gamma=0100000_{2s}\). Να εκτελέσετε τις πράξεις A+B και Γ – B χρησιμοποιώντας κάθε φορά τα ελάχιστα δυαδικά ψηφία και να καταγράψετε τις τιμές των σημαιών κατάστασης Z, C, N, V. Να σχολιάσετε την ορθότητα των αποτελεσμάτων. Σε περίπτωση λάθους αποτελεσμάτων να αναφέρετε (χωρίς να το δείξετε) το πως μπορούμε να εκτελέσουμε ορθά αυτές τις πράξεις.
A+B | Γ – B
Η αρτηρία διευθύνσεων ενός υπολογιστή έχει εύρος 23 δυαδικών ψηφίων. Αν η μέγιστη φυσική μνήμη που μπορούμε να προσαρτήσουμε σε αυτόν είναι 16 Mbytes, πόση ποσότητα δεδομένων θα πρέπει να αντιστοιχεί σε κάθε διεύθυνση;
Στην μνήμη του AT91 βρίσκονται αποθηκευμένα τα ακόλουθα δεδομένα:
| Διεύθυνση | Δεδομένο | Διεύθυνση | Δεδομένο | Διεύθυνση | Δεδομένο | Διεύθυνση | Δεδομένο | Διεύθυνση | Δεδομένο |
|---|---|---|---|---|---|---|---|---|---|
| 0x200 | 0x31 | 0x205 | 0xAB | 0x20A | 0xAA | 0x20F | 0x31 | 0x214 | 0xAA |
| 0x201 | 0x31 | 0x206 | 0xCC | 0x20B | 0xBB | 0x210 | 0x31 | 0x215 | 0xBB |
| 0x202 | 0xF4 | 0x207 | 0xD3 | 0x20C | 0xCC | 0x211 | 0xF4 | 0x216 | 0xCC |
| 0x203 | 0x18 | 0x208 | 0xA2 | 0x20D | 0xDD | 0x212 | 0x18 | 0x217 | 0xDD |
| 0x204 | 0x11 | 0x209 | 0xBC | 0x20E | 0xEE | 0x213 | 0x11 | 0x218 | 0xEE |
Θεωρήστε ότι πριν την εκτέλεση κάθε μίας από τις παρακάτω εντολές στο AT91, τα περιεχόμενα των R1, R2 και R3 είναι αντίστοιχα 0x7, 0x208 και 0x02. Να συμπληρώσετε στον παρακάτω πίνακα τα περιεχόμενα των R1 και R2 μετά την εκτέλεση κάθε εντολής.
| Εντολή | Περιεχόμενο R1 μετά την εντολή | Περιεχόμενο R2 μετά την εντολή |
|---|---|---|
| LDR R1, [R2] | ||
| LDRH R1, [R2, # -4 ] | ||
| LDRB R1, [R2, R3, LSL #2]! | ||
| LDR R1, [R2], #8 |
Για το AT91, ένας προγραμματιστής έγραψε το ακόλουθο πρόγραμμα:
.arm
.text
.global main
main:
STMDB R13!, {R0-R12}
LDR R0, =Array
ADD R3, R0, #16
Loop:
LDR R1, [R0]
MOV R2, R1, LSL #4
ADD R1, R1, R2
STR R1, [R0]
ADD R0, R0, #4
CMP R0, R3
BLT Loop
LDMIA R13!, {R0-R12}
MOV PC, R14
.data
Array: .word 14, 12, 2, 41
- Ποιον υπολογισμό επιτελεί αυτό το πρόγραμμα;
- Θα λειτουργήσει σωστά για προσημασμένα δεδομένα;
2025_1.pdf (σελ. 7-8, παραλλαγή Δ)¶
- Να συμπληρωθούν στον παρακάτω πίνακα οι αναπαραστάσεις των μη προσημασμένων μικτών αριθμών X & Y. Σε περίπτωση μη ακριβούς αναπαράστασης, χρησιμοποιήστε αποκοπή του αριθμού στη ζητούμενη ακρίβεια.
| Αριθμός | Αριθμοί σε βάση 10 | Δυαδικό (Βάση 2) 4 ψηφία για το ακέραιο και 3 ψηφία για το κλασματικό μέρος | Οκταδικό (Βάση 8) 2 ψηφία για το ακέραιο και 2 ψηφία για το κλασματικό μέρος | Δεκαεξαδικό (Βάση 16) 1 ψηφίο για το ακέραιο και 2 ψηφία για το κλασματικό μέρος |
|---|---|---|---|---|
| X | 14,75 | |||
| Y | 6,325 |
- Να συμπληρωθούν στον παρακάτω πίνακα οι αναπαραστάσεις των ακεραίων Κ, Λ & Μ που λείπουν. Εντός παρενθέσεως τα ψηφία που θα πρέπει να χρησιμοποιήσετε σε κάθε περίπτωση:
| Αριθμός | Σε βάση 10 | Αναπαράσταση σε Πρόσημο και Μέτρο (7 ψηφία) | Αναπαράσταση σε συμπλήρωμα ως προς 1 (7 ψηφία) | Αναπαράσταση σε συμπλήρωμα ως προς 2 (7 ψηφία) | Αναπαράσταση σε συμπλήρωμα ως προς 8 (2 ψηφία) | Αναπαράσταση σε συμπλήρωμα ως προς 16 (2 ψηφία) |
|---|---|---|---|---|---|---|
| Κ | –17₁₀ | |||||
| Λ | +53 | 0 110 101 | ||||
| Μ | -13 | 63 |
Για τους αριθμούς του δεκαδικού συστήματος που δίνονται στον παρακάτω πίνακα, να συμπληρώσετε τον ελάχιστο αριθμό δυαδικών ψηφίων που χρειάζονται για να αναπαρασταθούν στους αναγραφόμενους κώδικες.
| Αριθμός | Κώδικας | Αριθμός Ελάχιστων δυαδικών ψηφίων |
|---|---|---|
| -112₁₀ | πρόσημο – μέτρο | |
| +32₁₀ | συμπλήρωμα ως προς 1 | |
| -16₁₀ | συμπλήρωμα ως προς 2 | |
| +11₁₀ | πόλωσης κατά 64 | |
| -78,642₁₀ | IEEE 754 στάνταρντ απλής ακρίβειας |
Στον κώδικα "συμπλήρωμα ως προς 2" οι A, B και Γ αναπαρίστανται ως: \(A=11000_{2s}\), \(B=100011_{2s}\) και \(\Gamma=01000001_{2s}\). Να εκτελέσετε τις πράξεις A+B και Γ – B χρησιμοποιώντας κάθε φορά τα ελάχιστα δυαδικά ψηφία και να καταγράψετε τις τιμές των σημαιών κατάστασης Z, C, N, V. Να σχολιάσετε την ορθότητα των αποτελεσμάτων. Σε περίπτωση λάθους αποτελεσμάτων να αναφέρετε (χωρίς να το δείξετε) το πως μπορούμε να εκτελέσουμε ορθά αυτές τις πράξεις.
A+B | Γ – B
Η αρτηρία διευθύνσεων ενός υπολογιστή έχει εύρος 16 δυαδικών ψηφίων. Αν η μέγιστη φυσική μνήμη που μπορούμε να προσαρτήσουμε σε αυτόν είναι 256 Kbytes, πόση ποσότητα δεδομένων θα πρέπει να αντιστοιχεί σε κάθε διεύθυνση;
Στην μνήμη του AT91 βρίσκονται αποθηκευμένα τα ακόλουθα δεδομένα:
| Διεύθυνση | Δεδομένο | Διεύθυνση | Δεδομένο | Διεύθυνση | Δεδομένο | Διεύθυνση | Δεδομένο | Διεύθυνση | Δεδομένο |
|---|---|---|---|---|---|---|---|---|---|
| 0x200 | 0x31 | 0x205 | 0xAB | 0x20A | 0x31 | 0x20F | 0xAA | 0x214 | 0x12 |
| 0x201 | 0xF4 | 0x206 | 0xCC | 0x20B | 0xF4 | 0x210 | 0xBB | 0x215 | 0x2C |
| 0x202 | 0x18 | 0x207 | 0xD3 | 0x20C | 0x18 | 0x211 | 0xCC | 0x216 | 0x3D |
| 0x203 | 0x11 | 0x208 | 0xA2 | 0x20D | 0x11 | 0x212 | 0xDD | 0x217 | 0x4E |
| 0x204 | 0x01 | 0x209 | 0xBC | 0x20E | 0x01 | 0x213 | 0xEE | 0x218 | 0x5F |
Θεωρήστε ότι πριν την εκτέλεση κάθε μίας από τις παρακάτω εντολές στο AT91, τα περιεχόμενα των R1, R2 και R3 είναι αντίστοιχα 0xA, 0x208 και 0x02. Να συμπληρώσετε στον παρακάτω πίνακα τα περιεχόμενα των R1 και R2 μετά την εκτέλεση κάθε εντολής.
| Εντολή | Περιεχόμενο R1 μετά την εντολή | Περιεχόμενο R2 μετά την εντολή |
|---|---|---|
| LDR R1, [R2] | ||
| LDRH R1, [R2, # -4 ] | ||
| LDRB R1, [R2, R3, LSL #1]! | ||
| LDR R1, [R2], #4 |
Για το AT91, ένας προγραμματιστής έγραψε το ακόλουθο πρόγραμμα:
.arm
.text
.global main
main:
STMDB R13!, {R0-R12}
LDR R0, =Array
ADD R3, R0, #16
Loop:
LDR R1, [R0]
MOV R2, R1, LSL #2
ADD R1, R1, R2
STR R1, [R0]
ADD R0, R0, #4
CMP R0, R3
BLT Loop
LDMIA R13!, {R0-R12}
MOV PC, R14
.data
Array: .word 14, 12, 2, 41
- Ποιον υπολογισμό επιτελεί αυτό το πρόγραμμα;
- Θα λειτουργήσει σωστά για προσημασμένα δεδομένα;
Λύσεις (⚪ AI, μη επαληθευμένο)
Κατάσταση: ⚪ AI, μη επαληθευμένο Πηγή: migrated from previous_exams.md (Antigravity, 2026-10)
Προσοχή
Το 2025_1.pdf περιέχει ήδη τις λυμένες τιμές και τις λύσεις μέσα στο κείμενο της συνεδρίας· τα τμήματα εδώ επαναλαμβάνουν το ίδιο περιεχόμενο. Ο διαχωρισμός εκφώνησης και λύσεων στη συνεδρία 2025-02 δεν έχει γίνει. Οι μετατροπές βάσεων, τα συμπληρώματα (1, 2, 8, 16), τα ελάχιστα ψηφία και οι διευθύνσεις μνήμης (64 MB, 8 MB, 16 MB, 256 KB) ελέγχθηκαν στις σελίδες 1, 3, 5, 7 και δεν βρέθηκε ασυμφωνία. Τα τμήματα «Α+Β / Γ – Β» των σελίδων 1, 3, 5, 7 ελέγχθηκαν ως προς τις δεκαδικές τιμές (π.χ. −26 − 39 = −65)· οι ενδιάμεσες στήλες δεν επαληθεύτηκαν βήμα προς βήμα.
Λύσεις — Βασικές Αρχές Οργάνωσης και Λειτουργίας Υπολογιστικών Συστημάτων — Φεβρουάριος 2025¶
Μεταφέρονται μόνο τα τμήματα λύσεων του παλαιού αρχείου previous_exams.md για το 2025_1.pdf, σελίδα προς σελίδα (σελ. 1, 3, 4, 5, 6, 7, 8). Οι γραμμές των πινάκων μπορεί να περιέχουν και δεδομένα της εκφώνησης μαζί με τις απαντήσεις.
Χ 11,875 1011,111 13,70 B,E0 Υ 9,145 1001,001 11,11 9,25
Κ –2710 1 011 011 1 100 100 1 100 101 45 E5 Λ +47 0 101 111 0 101 111 0 101 111 ∄ 2F Μ -19 1 010 011 1 101 100 1 101 101 55 ED
-1910 πρόσημο – μέτρο 6 +6410 συμπλήρωμα ως προς 1 8 -3210 συμπλήρωμα ως προς 2 6 +410 πόλωσης κατά 16 5 -19,43310 ΙΕΕΕ 754 στάνταρντ απλής ακρίβειας
Α+Β Γ – Β A = 100110 = -2610 = 1 100 110 B = 1011001 = -3910 = 1 011 001 +
-Β = 00 100 111 Γ = 01 000 010 +
0 111 111 = + 63 !!! C = 1, Z = 0, N = 0, V = 1 To αποτέλεσμα είναι λανθασμένο καθώς V=1 ( Άθροισμα αρνητικών μας δίνει θετικό αποτέλεσμα). Αναμενόμενο καθώς το Α+Β = -65 χρειάζεται τουλάχιστον 8 ψηφία για να παρασταθεί σε συμπλήρωμα ως προς 2. Η πράξη συνεπώς μπορεί να γίνει σωστά επεκτείνοντας τους 2 προσθετέους στα 8 δυαδικά ψηφία. 01 101 001 C = 0, Z = 0, N = 0, V = 0 Το αποτέλεσμα είναι ορθό.
x * θέσεις μνήμης = 64 ΜΒytes = 26 * 220 Bytes = 226 Bytes (1)
θέσεις μνήμης = 2 address bits = 224 (2)
(1), (2) x = 4 Bytes
LDR R1, [R2] 0x CCBBAABC 0x 204 LDRH R1, [R2, # -4 ] 0x CCAB 0x 204 LDRB R1, [R2, R3, LSL #3]! 0x 06 0x 214 LDR R1, [R2], #8 0x CCBBAABC 0x 20C
Πολλαπλασιάζει τις λέξεις του Array με το 3. Το επιτυγχάνει προσθέτοντας το 2 στοιχείο + στοιχείο, όπου το 2 στοιχείο το επιτυγχάνει με την αριστερή του ολίσθηση.
Θα λειτουργήσει σωστά τόσο για θετικούς όσο και για αρνητικούς αριθμούς όταν δεν υπάρχει υπερχείλιση κατά την πράξη της ολίσθησης και της πρόσθεσης.
Χ 13,625 1101,101 15,50 D,A0 Υ 4,745 0100,101 04,57 4,BE
Κ –2910 1 011 101 1 100 010 1 100 011 43 E3 Λ +43 0 101 011 0 101 011 0 101 011 ∄ 2B Μ -21 1 010 101 1 101 010 1 101 011 53 EB
-7410 πρόσημο – μέτρο 8 +12810 συμπλήρωμα ως προς 1 9 -6410 συμπλήρωμα ως προς 2 7 +1310 πόλωσης κατά 32 6 -59,34110 ΙΕΕΕ 754 στάνταρντ απλής ακρίβειας 32
Α+Β Γ – Β A = 11010 = -610 = 111 010 B = 100010 = -3010 = 100 010 +
-Β = +30 = 0 011 110 Γ = +34 = 0 100 010 +
011 100 = + 28 !!!
C = 1, Z = 0, N = 0, V = 1
To αποτέλεσμα είναι λανθασμένο καθώς V=1 ( Άθροισμα
αρνητικών μας δίνει θετικό αποτέλεσμα). Αναμενόμενο καθώς
το Α+Β = -36 χρειάζεται τουλάχιστον 7 ψηφία για να
παρασταθεί σε συμπλήρωμα ως προς 2.
Η πράξη συνεπώς μπορεί να γίνει σωστά επεκτείνοντας τους 2
προσθετέους στα 7 δυαδικά ψηφία.
1 000 000 = -64 !!!
C = 0, Z = 0, N = 1, V = 1
To αποτέλεσμα είναι λανθασμένο καθώς V=1 ( Άθροισμα
θετικών μας δίνει αρνητικό αποτέλεσμα).
Αναμενόμενο καθώς
το Α+Β=+64 χρειάζεται τουλάχιστον 8 ψηφία για να
παρασταθεί σε συμπλήρωμα ως προς 2.
Η πράξη συνεπώς μπορεί να γίνει σωστά επεκτείνοντας τους 2
προσθετέους στα 8 δυαδικά ψηφία.
x * θέσεις μνήμης = 8 ΜΒytes = 23 * 220 Bytes = 223 Bytes (1)
θέσεις μνήμης = 2 address bits = 220 (2)
(1), (2) x = 8 Bytes
LDR R1, [R2] 0x 6E584333 0x 208 LDRH R1, [R2, # -4 ] 0x 2111 0x 208 LDRB R1, [R2, R3, LSL #2]! 0x 7A 0x 20C LDR R1, [R2], #4 0x 6E584333 0x 20C
Πολλαπλασιάζει τις λέξεις του Array με το 9. Το επιτυγχάνει προσθέτοντας το 8 στοιχείο + στοιχείο, όπου το 8 στοιχείο το επιτυγχάνει με την αριστερή του ολίσθηση κατά 3 θέσεις.
Θα λειτουργήσει σωστά τόσο για θετικούς όσο και για αρνητικούς αριθμούς όταν δεν υπάρχει υπερχείλιση κατά την πράξη της ολίσθησης και της πρόσθεσης.
Χ 11,125 1011,001 13,10 Β,20 Υ 7,845 0111,110 7,66 7,D8
Κ –2210 1 010 110 1 101 001 1 101 010 52 EA Λ +41 0 101 001 0 101 001 0 101 001 ∄ 29 Μ -6 1 000 110 1 111 001 1 111 010 72 FA
-5910 πρόσημο – μέτρο 7 +1610 συμπλήρωμα ως προς 1 6 -6410 συμπλήρωμα ως προς 2 7 +310 πόλωσης κατά 32 6 -69,15510 ΙΕΕΕ 754 στάνταρντ απλής ακρίβειας 32
Α+Β Γ – Β A = 10010 = -1410 = 110 010 B = 101001 = -2310 = 101 001 +
-Β = +23 = 0 010 111 Γ = +32 = 0 100 000 +
011 011 = + 27 !!!
C = 1, Z = 0, N = 0, V = 1
To αποτέλεσμα είναι λανθασμένο καθώς V=1 ( Άθροισμα
αρνητικών μας δίνει θετικό αποτέλεσμα). Αναμενόμενο καθώς
το Α+Β = -37 χρειάζεται τουλάχιστον 7 ψηφία για να
παρασταθεί σε συμπλήρωμα ως προς 2.
Η πράξη συνεπώς μπορεί να γίνει σωστά επεκτείνοντας τους 2
προσθετέους στα 7 δυαδικά ψηφία.
0 110 111 = +55
C = 0, Z = 0, N = 0, V = 0
To αποτέλεσμα είναι ορθό
x * θέσεις μνήμης = 16 ΜΒytes = 24 * 220 Bytes = 224 Bytes (1)
θέσεις μνήμης = 2 address bits = 223 (2)
(1), (2) x = 2 Bytes
LDR R1, [R2] 0x BBAABCA2 0x 208 LDRH R1, [R2, # -4 ] 0x AB11 0x 208 LDRB R1, [R2, R3, LSL #2]! 0x 31 0x 210 LDR R1, [R2], #8 0x BBAABCA2 0x 210
Πολλαπλασιάζει τις λέξεις του Array με το 17. Το επιτυγχάνει προσθέτοντας το 16στοιχείο + στοιχείο, όπου το 16στοιχείο το επιτυγχάνει με την αριστερή του ολίσθηση κατά 4 θέσεις.
Θα λειτουργήσει σωστά τόσο για θετικούς όσο και για αρνητικούς αριθμούς όταν δεν υπάρχει υπερχείλιση κατά την πράξη της ολίσθησης και της πρόσθεσης.
Χ 14,75 1110,110 16,60 E,C0 Υ 6,325 0110,010 06,24 6,53
Κ –1710 1 010 001 1 101 110 1 101 111 57 EF Λ +53 0 110 101 0 110 101 0 110 101 ∄ 35 Μ -13 1 001 101 1 110 010 1 110 011 63 F3
-11210 πρόσημο – μέτρο 8 +3210 συμπλήρωμα ως προς 1 7 -1610 συμπλήρωμα ως προς 2 5 +1110 πόλωσης κατά 64 7 -78,64210 ΙΕΕΕ 754 στάνταρντ απλής ακρίβειας 32
Α+Β Γ – Β A = 11000 = -810 = 111 000 B = 100011 = -2910 = 100 011 +
-Β = +29 = 00 011 101 Γ = +65 = 01 000 001 +
011 011 = + 27 !!!
C = 1, Z = 0, N = 0, V = 1
To αποτέλεσμα είναι λανθασμένο καθώς V=1 ( Άθροισμα
αρνητικών μας δίνει θετικό αποτέλεσμα). Αναμενόμενο καθώς
το Α+Β = -37 χρειάζεται τουλάχιστον 7 ψηφία για να
παρασταθεί σε συμπλήρωμα ως προς 2.
Η πράξη συνεπώς μπορεί να γίνει σωστά επεκτείνοντας τους 2
προσθετέους στα 7 δυαδικά ψηφία.
01 011 110 = +94
C = 0, Z = 0, N = 0, V = 0
To αποτέλεσμα είναι ορθό
x * θέσεις μνήμης = 256 ΚΒytes = 28 * 210 Bytes = 218 Bytes (1)
θέσεις μνήμης = 2 address bits = 216 (2)
(1), (2) x = 4 Bytes
LDR R1, [R2] 0x F431BCA2 0x 208 LDRH R1, [R2, # -4 ] 0x AB01 0x 208 LDRB R1, [R2, R3, LSL #1]! 0x 18 0x 20C LDR R1, [R2], #4 0x F431BCA2 0x 20C
Πολλαπλασιάζει τις λέξεις του Array με το 5. Το επιτυγχάνει προσθέτοντας το 4 στοιχείο + στοιχείο, όπου το 4 στοιχείο το επιτυγχάνει με την αριστερή του ολίσθηση κατά 2 θέσεις.
Θα λειτουργήσει σωστά τόσο για θετικούς όσο και για αρνητικούς αριθμούς όταν δεν υπάρχει υπερχείλιση κατά την πράξη της ολίσθησης και της πρόσθεσης.