• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
August 02, 2025, 21:59:24 pm

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
August 02, 2025, 21:59:24 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Ρύθμιση θερμικού για μοτέ...
by chatzikys
[Today at 21:29:19]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[Today at 19:59:00]

Αποτελέσματα Εξεταστικής ...
by Ma8hths Indou
[Today at 17:30:47]

[Τηλεπικοινωνιακά Συστήμα...
by Thanasis_pap
[Today at 17:06:37]

Άδεια ασκήσεως επαγγέλματ...
by The Web
[Today at 13:25:49]

[Τομέας Ηλεκτρονικής] Μαθ...
by Nikos_313
[Today at 09:51:26]

[Τομέας Ενέργειας] Μαθήμα...
by Nikos_313
[Today at 01:40:22]

Οι μπράβοι του πρύτανη
by Διάλεξις
[Today at 01:30:18]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[Today at 01:04:15]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by Διάλεξις
[Today at 00:59:05]

Ηλεκτρομηχανολογικές Μελέ...
by inverter
[August 01, 2025, 20:35:12 pm]

Νέα Δημοκρατία (and Co. I...
by Katarameno
[August 01, 2025, 15:13:09 pm]

Πρόγραμμα Σπουδών Ακαδημα...
by PolarBear
[August 01, 2025, 15:03:05 pm]

Aναζωπύρωση των εχθροπραξ...
by Katarameno
[July 31, 2025, 21:15:48 pm]

Καμμένα...!!
by Godat
[July 31, 2025, 21:07:58 pm]

[ΑΝΤΙΣΤΑΣΗ] Ανακοίνωση γι...
by Katarameno
[July 31, 2025, 20:31:30 pm]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[July 31, 2025, 15:33:28 pm]

ΤΗΜΜΥ-Σκάκι
by L
[July 31, 2025, 13:24:56 pm]

Τα παράσιτα ανάμεσά μας
by Katarameno
[July 30, 2025, 13:47:28 pm]

Ρώτα κάτι τον επόμενο
by Giopan
[July 29, 2025, 16:04:23 pm]
Στατιστικά
Members
Total Members: 9988
Latest: kyrlef
Stats
Total Posts: 1427646
Total Topics: 31739
Online Today: 142
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 15
Guests: 97
Total: 112
gkaramp
Nekt
iliaspapam
Reidemption
Διάλεξις
stefpapa21
Giopan
chatzikys
AcDimitri
gpr000
femanak
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Πρόγραμμα Επαναληπτικής Εξεταστικής 2024-2025
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 4ο Εξάμηνο > 4ο Εξάμηνο - ΠΠΣ > Αρχιτεκτονική Υπολογιστών (Moderators: chatzikys, tzortzis) > [Αρχιτεκτονική Υπολογιστών] Δεύτερη Εργασία - Προθεσμία 31/05
0 Members and 1 Guest are viewing this topic.
Pages: [1] 2 3 ... 8 Go Down Print
Author Topic: [Αρχιτεκτονική Υπολογιστών] Δεύτερη Εργασία - Προθεσμία 31/05  (Read 11881 times)
Exomag
Veteran
Διεστραμμένος
******
Gender: Male
Posts: 22045


unfortunate...


View Profile
[Αρχιτεκτονική Υπολογιστών] Δεύτερη Εργασία - Προθεσμία 31/05
« on: April 14, 2013, 20:32:00 pm »

Συζήτηση και απορίες για τη δεύτερη εργασία. Να μένετε εντός θέματος.

Δεύτερη Εργαστηριακή Εργασία

Ημερομηνία υποβολής της εργασίας: 31 Μαϊου 2013


Γράψετε πρόγραμμα στη γλώσσα Assembly του MIPS που να εκτελεί τις παρακάτω λειτουργίες:

1. Να μπορεί ο χρήστης του προγράμματος να εισάγει από την κονσόλα του προσομοιωτή του MIPS, PCSpim, τις τιμές των στοιχείων τριών πινάκων Α, Β, και C διαστάσεων 3Χ3 η κάθεμια ως εξής.
Το πρόγραμμα να τυπώνει στην οθόνη ακολουθιακά το όνομα κάθε στοιχείου του κάθε πίνακα, όπως δείχνεται στο σχήμα 1, και ο χρήστης να εισάγει ένα πραγματικό αριθμό σε κάθε στοιχείο.

a(1,1)=          a(1,2)=          a(1,3)=          
a(2,1)=          a(2,2)=          a(2,3)=          
a(3,1)=          a(3,2)=          a(3,3)=          
b(1,1)=          b(1,2)=          b(1,3)=          
b(2,1)=          b(2,2)=          b(2,3)=          
b(3,1)=          b(3,2)=          b(3,3)=          
c(1,1)=          c(1,2)=          c(1,3)=          
c(2,1)=          c(2,2)=          c(2,3)=          
c(3,1)=          c(3,2)=          c(3,3)=          
Σχήμα 1

2. Να εκτελεί την ακόλουθη πράξη των πινάκων: D=Α+Β*C

3. Nα τυπώνει στην κονσόλα το αποτέλεαμα της πράξης με το τρόπο που δείχνεται στο σχήμα 2.

d(1,1)=          d(1,2)=          d(1,3)=          
d(2,1)=          d(2,2)=          d(2,3)=          
d(3,1)=          d(3,2)=          d(3,3)=          
Σχήμα 2


Υποδείξεις

1. Οι αρχικές διευθύνσεις των πινάκων μπορούν να είναι παράμετροι και να βρίσκονται στους καταχωρητές $a0, $a1, $a2.

2. Για την υλοποίηση της ζητούμενης πράξης μπορείτε να προγραμματίσετε τρεις βρόχους τον ένα μέσα στον άλλο που να υλοποιούν τη ακόλουθη ρουτίνα σε γλώσσα C.
Code:
Void mm ( double a[][]), double b[][], double c[][])
{
    int i, j, k;
    for (i=0; i! = 3; i = i+1)
        for (j = 0; j! = 3; j = j+1)
            for (k = 0; k! = 3; k = k+1)
                d[i][j] = a[i][j] + b[i][k] * c[k][j];
}

3. Υποθέστε ότι οι ακέραιες μεταβλητές i, j και k βρίσκονται στους $s0, $s1, και $s2.

4. Παρατηρήστε ότι στο δεύτερο εσωτερικό βρόχο το k δεν επηρεάζει το στοιχείο a[ i ][ j ] και έτσι αποφεύγεται η φόρτωσή του και η αποθήκευσή του σε κάθε επανάληψη του δεύτερου εσωτερικού βρόχου. Χρησιμοποιήστε για την αποθήκευση του a[ i ][ j ] ενα καταχωρητή που να μη χρησιμοποιείται στον εσωτερικό βρόχο για τη συσσώρευση του αθροίσματος των b[ i ][ k ] και c[ k ][ j ].

5. Για να υπολογίσετε την εκάστοτε διεύθυνση των στοιχείων a[ i ][ j ] πρέπει να θεωρήσετε ένα τρόπο αποθήκευσης κάθε διδιάστατου πίνακα στη μνήμη. Ο συνήθης τρόπος που θεωρούν οι μεταγλωττιστές γλωσσών υψηλού επιπέδου είναι κάθε γραμμή να αποθηκεύεται ως μονοδιάστατος πίνακας, και οι διαδοχικές γραμμές να αποθηκεύονται η μια κάτω από την άλλη. Έτσι για να βρεθεί o αριθμοδείκτης του πρώτου στοιχείου της i γραμμής πρέπει να πολλαπλασιασθεί ο δείκτης i με το πλήθος των στοιχείων της i γραμμής , που στην περίπτωση της άσκησης αυτής είναι 3. Για να βρεθεί ο αριθμοδείκτης του a[ i ][ j ] στοιχείου πρέπει στο παραπάνω γινόμενο να προστεθεί το j. Επι πλέον για να βρεθεί και η διευθυνση της μνήμης στην οποία είναι αποθηκευμένο το στοιχείο πρέπει να γίνει η πράξη:
Διεύθυνση=(Διεύθυνση βάσης του πίνακα a) +(i*3+j)*4
στην περίπτωση που οι τιμές των στοιχείων είναι εκφρασμένες σε μορφή κινητής υποδιαστολής απλής ακρίβειας. Αν χρησιμοποιείται διπλή ακρίβεια τότε η διεύθυση υπολογίζεται από τη σχέση:
Διεύθυνση=(Διεύθυνση βάσης του a)+(i*3+j)*8

6. Όταν προσδιορισθεί η διεύθυνση του στοιχείου a[ i ][ j ] γίνεται η φόρτωσή του σε κάποιο καταχωρητή κινητής υποδιαστολής και επαναλάμβάνονται παρόμοιες διαδικασίες για την αποθήκευση σε καταχωρητές κινητής υποδιαστολής των στοιχείων b [ i ][ k ] και c[ k ][ j ].

7. Όταν έχουν φορτωθεί τα δεδομένα, μπορούν να γίνουν οι πράξεις πολλαπλασιασμού των στοιχείων b[ i ][ k ]*c[ k ][ j ] και η συσσώρευση του αποτελέσματος στον καταχωρητή του a[ i ][ j ]. Στη συνέχεια πρέπει να αυξηθεί ο δείκτης κ και να γίνει επιστροφή στην αρχή του βρόχου αν το κ δεν είναι 3.

8. Για την εκτύπωση των πινάκων 1 και 2 καθώς και την είσοδο των πληκτρολογούμενων τιμών θα πρέπει να γίνει επαναλαμβανόμενη χρήση των κατάλληλων syscall.



Source: eTHMMY
« Last Edit: May 16, 2013, 19:35:48 pm by Exomag » Logged

Dealan
Veteran
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1404


python was a mistake


View Profile
Re: [Αρχιτεκτονική Υπολογιστών] Δεύτερη Εργασία - Προθεσμία 31/05
« Reply #1 on: April 30, 2013, 15:16:28 pm »

Εντωμεταξύ ο κώδικας στην c ούτε που δουλεύει, το for (j=0; j!=0; j=j+1) δεν τρέχει ποτέ, άρα όλο το loop δεν κάνει τίποτα.
Logged
Exomag
Veteran
Διεστραμμένος
******
Gender: Male
Posts: 22045


unfortunate...


View Profile
Re: [Αρχιτεκτονική Υπολογιστών] Δεύτερη Εργασία - Προθεσμία 31/05
« Reply #2 on: April 30, 2013, 15:45:13 pm »

Quote from: Dealan on April 30, 2013, 15:16:28 pm
Εντωμεταξύ ο κώδικας στην c ούτε που δουλεύει, το for (j=0; j!=0; j=j+1) δεν τρέχει ποτέ, άρα όλο το loop δεν κάνει τίποτα.

Go figure...
Γενικά, είχε πολλά λάθη η εκφώνηση τα οποία διόρθωσα. Αυτό μου είχε ξεφύγει Wink
Logged

elefmylo
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 720



View Profile
Re: [Αρχιτεκτονική Υπολογιστών] Δεύτερη Εργασία - Προθεσμία 31/05
« Reply #3 on: May 16, 2013, 13:35:48 pm »

Ποιο κομμάτι από το Patterson θα πρέπει να έχουμε διαβάσει για να τη κάνουμε...?
Logged
Niobe
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1853



View Profile
Re: [Αρχιτεκτονική Υπολογιστών] Δεύτερη Εργασία - Προθεσμία 31/05
« Reply #4 on: May 16, 2013, 15:51:56 pm »

exomag η παραδοση δεν ειναι για τις 15 ε? (δηλαδη για χτες... Cheesy )

τρομαξα προς στιγμην...
Logged

Fcoriolis
Guest
Re: [Αρχιτεκτονική Υπολογιστών] Δεύτερη Εργασία - Προθεσμία 31/05
« Reply #5 on: May 16, 2013, 20:54:15 pm »

για τις 30 είναι
Quote from: panourgos on May 16, 2013, 15:51:56 pm
exomag η παραδοση δεν ειναι για τις 15 ε? (δηλαδη για χτες... Cheesy )

τρομαξα προς στιγμην...
Logged
gt
Θαμώνας
****
Posts: 321


View Profile
Re: [Αρχιτεκτονική Υπολογιστών] Δεύτερη Εργασία - Προθεσμία 31/05
« Reply #6 on: May 16, 2013, 21:43:31 pm »

Quote from: elefmylo on May 16, 2013, 13:35:48 pm
Ποιο κομμάτι από το Patterson θα πρέπει να έχουμε διαβάσει για να τη κάνουμε...?
Tο παραρτημα Α...
Logged
boone
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1903



View Profile
Re: [Αρχιτεκτονική Υπολογιστών] Δεύτερη Εργασία - Προθεσμία 31/05
« Reply #7 on: May 17, 2013, 12:51:34 pm »

Θέλει οι αριθμοί που εισάγονται να είναι πραγματικοί δηλαδή τύπου float ή double, σωστά?
Αυτό δεν συνεπάγεται ένα νέο σύνολο εντολών και καταχωρητών? Από τα λίγα που είδα στο google...
Ή απλά βάζουμε την syscall να διαβάζει float και όλα οκ?
Logged

Exomag
Veteran
Διεστραμμένος
******
Gender: Male
Posts: 22045


unfortunate...


View Profile
Re: [Αρχιτεκτονική Υπολογιστών] Δεύτερη Εργασία - Προθεσμία 31/05
« Reply #8 on: May 17, 2013, 19:22:43 pm »

Quote from: boone on May 17, 2013, 12:51:34 pm
Θέλει οι αριθμοί που εισάγονται να είναι πραγματικοί δηλαδή τύπου float ή double, σωστά?
Αυτό δεν συνεπάγεται ένα νέο σύνολο εντολών και καταχωρητών? Από τα λίγα που είδα στο google...
Ή απλά βάζουμε την syscall να διαβάζει float και όλα οκ?

Διάβασε αυτό.
Logged

Niobe
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1853



View Profile
Re: [Αρχιτεκτονική Υπολογιστών] Δεύτερη Εργασία - Προθεσμία 31/05
« Reply #9 on: May 20, 2013, 18:03:00 pm »

Quote
Οι αρχικές διευθύνσεις των πινάκων μπορούν να είναι παράμετροι

εννοωντας??
Logged

kofski17
Καταξιωμένος/Καταξιωμένη
***
Posts: 245



View Profile
Re: [Αρχιτεκτονική Υπολογιστών] Δεύτερη Εργασία - Προθεσμία 31/05
« Reply #10 on: May 20, 2013, 19:13:27 pm »

μπορεί κάποιος να δώσει τις παραγράφους από Patterson που να αντιστοιχούν στην ύλη της εργασίας?
Logged

http://www.youtube.com/watch?v=gyEWkX3FNlY
orestisk4
Ανερχόμενος/Ανερχόμενη
**
Posts: 57



View Profile
Re: [Αρχιτεκτονική Υπολογιστών] Δεύτερη Εργασία - Προθεσμία 31/05
« Reply #11 on: May 21, 2013, 15:43:20 pm »

Quote from: kofski17 on May 20, 2013, 19:13:27 pm
μπορεί κάποιος να δώσει τις παραγράφους από Patterson που να αντιστοιχούν στην ύλη της εργασίας?

+1
Logged
gt
Θαμώνας
****
Posts: 321


View Profile
Re: [Αρχιτεκτονική Υπολογιστών] Δεύτερη Εργασία - Πρ
« Reply #12 on: May 22, 2013, 12:42:19 pm »

Παιδια μια χαζη ερωτηση...Τα στοιχεια προφανως θα τα εισαγουμε ενα-ενα καθε φορα...Δηλαδη θα εμφανιζεται π.χ α(1,1)= , θα βαζω την τιμη,θα παταω ΕNTER και μετα θα εμφανιζεται α(1,2)= και παλι τα ιδια...ή θα εμφανιζεται το σχημα που λεει και  θα βαζουμε το ποντικι εκει που θελουμε να εισαγουμε και θα εισαγουμε με Εντερ?Τραβηγμενο ετσι?
Logged
Exomag
Veteran
Διεστραμμένος
******
Gender: Male
Posts: 22045


unfortunate...


View Profile
Re: [Αρχιτεκτονική Υπολογιστών] Δεύτερη Εργασία - Προθεσμία 31/05
« Reply #13 on: May 22, 2013, 20:30:02 pm »

Quote from: gt on May 22, 2013, 12:42:19 pm
Παιδια μια χαζη ερωτηση...Τα στοιχεια προφανως θα τα εισαγουμε ενα-ενα καθε φορα...Δηλαδη θα εμφανιζεται π.χ α(1,1)= , θα βαζω την τιμη,θα παταω ΕNTER και μετα θα εμφανιζεται α(1,2)= και παλι τα ιδια...ή θα εμφανιζεται το σχημα που λεει και  θα βαζουμε το ποντικι εκει που θελουμε να εισαγουμε και θα εισαγουμε με Εντερ?Τραβηγμενο ετσι?

Εξωφρενικά τραβηγμένο...
Logged

Fcoriolis
Guest
Re: [Αρχιτεκτονική Υπολογιστών] Δεύτερη Εργασία - Προθεσμία 31/05
« Reply #14 on: May 22, 2013, 20:52:15 pm »

Quote from: Exomag on May 22, 2013, 20:30:02 pm
Quote from: gt on May 22, 2013, 12:42:19 pm
Παιδια μια χαζη ερωτηση...Τα στοιχεια προφανως θα τα εισαγουμε ενα-ενα καθε φορα...Δηλαδη θα εμφανιζεται π.χ α(1,1)= , θα βαζω την τιμη,θα παταω ΕNTER και μετα θα εμφανιζεται α(1,2)= και παλι τα ιδια...ή θα εμφανιζεται το σχημα που λεει και  θα βαζουμε το ποντικι εκει που θελουμε να εισαγουμε και θα εισαγουμε με Εντερ?Τραβηγμενο ετσι?

Εξωφρενικά τραβηγμένο...
1200 σειρές θέλει... Shocked Shocked Shocked
Logged
Pages: [1] 2 3 ... 8 Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...