• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 16, 2026, 16:14:29 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.
June 16, 2026, 16:14:29 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Πότε θα βγει το μάθημα; -...
by Giannis Masterio
[Today at 16:09:27]

[Μικροεπεξεργαστές] Γενικ...
by G.V.
[Today at 15:31:13]

[Εφ.Θερμοδυναμική] Γενικέ...
by femanak
[Today at 11:11:17]

[Οργάνωση Υπολογιστών] Γε...
by Giannis Masterio
[Today at 07:54:20]

[Διανεμημένη Παραγωγή] Γε...
by astra
[June 15, 2026, 19:20:06 pm]

H Στοά των Off Topic
by χηρουλα Αλεξίου
[June 15, 2026, 17:39:58 pm]

Κάμερες στην Πρυτανεία το...
by RivenT
[June 15, 2026, 15:48:30 pm]

Γιατί οι ΤΗΜΜΥδες έχουν μ...
by Karaμazoβ
[June 15, 2026, 14:31:16 pm]

Των συνειρμών το παίγνιο....
by χηρουλα Αλεξίου
[June 15, 2026, 06:18:44 am]

[Ηλεκτρονική ΙΙ] Γενικές ...
by ttsengel
[June 14, 2026, 11:49:25 am]

[ΣΗΕ ΙΙ] Γενικές απορίες ...
by Λαμπτήρας
[June 12, 2026, 13:36:19 pm]

Αποτελέσματα Εξεταστικής ...
by geomourat
[June 11, 2026, 17:42:00 pm]

[Ισχύος II] Γενικές απορί...
by Nikos_313
[June 11, 2026, 14:05:57 pm]

[Ημιαγωγά Υλικά] Απορίες ...
by Nikos_313
[June 11, 2026, 10:23:04 am]

[Ευφυή και Προσαρμοστικά ...
by grepanis
[June 11, 2026, 10:11:51 am]

[Γραφική] Λυμένα θέματα
by Roidos
[June 10, 2026, 21:37:48 pm]

Τι ακούτε αυτήν τη στιγμή...
by Karaμazoβ
[June 10, 2026, 18:42:33 pm]

[Η/Μ Πεδίο ΙΙ] Ανάλυση πα...
by Giannis Masterio
[June 09, 2026, 20:27:57 pm]

[ΣΑΕ ΙΙ] Απορίες σε ασκήσ...
by Hyperlaz02
[June 09, 2026, 12:01:45 pm]

Μόνο λάθος απαντήσεις
by χηρουλα Αλεξίου
[June 09, 2026, 10:44:34 am]
Στατιστικά
Members
Total Members: 10402
Latest: anton
Stats
Total Posts: 1431459
Total Topics: 32024
Online Today: 1536
Online Ever: 18918
(April 06, 2026, 16:05:31 pm)
Users Online
Users: 60
Guests: 740
Total: 800
petikas
stavrosk
apob
boulionis
smanio
Giannis Masterio
theofr
Lalson
Thanasis_pap
iliaskou
giannnnis23
asimomyti
themis01
Ulmo
grepanis
Limpolits
xristostsi03
Σουλης
maestros
AlexKyr
amekrasa
Saint_GR
dimitriskon
kchristoua
Nekt
Nikos_313
kostisgialamas
linda
unreasonable
George15
Randomuser762
kkalamar
rkouvid
mkostomanolaki
Mitsos1
stavr0s16
thpanousis
sideras07
satsok
panagiotisv
Vaskas
kouf
vasilis saitis
loukidis
xarisvougiou
anstaik
mrPink
LelisNiko
alexlabis
_Trob
JoHn!
aachmet
spuros
stefanidis
Mr Watson
Tasos Bot
kash_stp
Nikoletta
Εμφάνιση

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

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


unfortunate...


View Profile
[Αρχιτεκτονική Υπολογιστών] Πρώτη Εργασία - Προθεσμία 13/05
« on: April 03, 2013, 01:08:21 am »

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

Πρώτη Εργαστηριακή Εργασία

Ημερομηνία παράδοσης εργασίας μέχρι 13 Μαϊου 2012


Τρόπος υποβολής: κάθε φοιτητής πρέπει να υποβάλει ένα αρχείο του προγράμματος με όνομα <επίθετο _ονομα_ΑΜ>.s στην επιλογή «Εργαστήριο/Υποβολή πρώτης εργασίας» στην ιστοσελίδα του μαθήματος Αρχιτεκτονική Υπολογιστών στο eTHMMY.

Βιβλιογραφία:
Βιβλίο Patterson and Henessy: Ενότητες 2.1-2.10 του Κεφαλαίου 2 και το υλικό που διατίθεται στην ιστοσελίδα του μαθήματος σχετικά με το προσομοιωτή του MIPS.

Περιγραφή εργασίας

Δίνεται στην Εικόνα 1 πρόγραμμα γραμμένο σε γλώσσα Assembly του επεξεργαστή MIPS που υπολογίζει το παραγοντικό ενός ακεραίου αριθμού και τυπώνει το αποτέλεσμα. Το πρόγραμμα αυτό υλοποιεί το πρόγραμμα σε γλώσσα C που δίνεται στην Εικόνα 2.

Code:
        .data 0x10008000
        .word 10
        .word 1
        .word 0
        .ascii "The factorial of 10 is %d \n"
        .text
        .globl main
main:
        addi $sp, $sp, -32
        sw $ra, 20($sp)
        sw $fp, 16($sp)
        addiu $fp, $sp,28
        lw $a0, 0($gp)
        jal fact
        addi $t0, $gp 12
        sw $t0, 8($gp)
        sw $v0, 8($gp)
        lw $a1, 8($gp)
        jal printf
        lw $ra, 20($sp)
        lw $fp, 16($sp)
        addiu $sp, $sp, 32
        jr $ra
fact:
        addiu $sp, $sp, -32
        sw $ra, 20($sp)
        sw $fp, 16($sp)
        addiu $fp, $sp, 28
        sw $a0, 0($fp)
        lw $v0, 0($sp)
        lw $t0, 4($gp)
        slt $v0, $t0, $t1
        bne $t0, $t1 L2
        and $v0, $v0, $zero
        addi $v0, $v0, 1
        jr L1
L2:
        lw $v1, 0($fp)
        addi $v0, $v1, -1
        sw $v0, 8($gp)
        lw $a0, 8($gp)
        lw $v1, 0($fp)
        mul $a1, $a1, $v1
        jal fact
L1:
        lw $ra, 20($sp)
        lw $fp, 16($sp)
        addiu $sp, $sp, 32
        jr $ra
Εικόνα 1: Πρόγραμμα Υπολογισμού του παραγοντικού αριθμού σε γλώσσα Assembly

Code:
int main()
{
    printf ("The factorial of 10 is %d\n", fact (10));
}

int fact (int n)
{
    if (n < 1)
        return (1):
    else
        return (n * fact (n - 1));
}
Εικόνα 2: Πρόγραμμα υπολογισμού του παραγοντικού αριθμού σε C

Μελετήστε το πρόγραμμα βρείτε τα λάθη που έχει, διορθώστε τα και δοκιμάστε την ορθή λειτουργία του στο προσομοιωτή PCSpim. Στη συνέχεια τοποθετήστε πριν από κάθε εντολή σχόλια που να εξηγούν τη λειτουργία της κάθε εντολής και/η το σκοπό της. Στη συνέχεια υποβάλετε το αρχείο στο eTHMMY με τον τρόπο που εξηγήθηκε παραπάνω. Τα σχόλια να τα τοποθετήσετε όπως τις ετικέτες σε χωριστές γραμμές και να αρχίζουν με β “#” για να είναι δυνατή η συμβολομετάφραση του προγράμματος από το PCspim.

Η λειτουργία του προγράμματος θα ελεγχθεί με διαφορετικά δεδομένα για κάθε υποβληθέν πρόγραμμα.



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

Silvo the Beautiful
Αbsolute ΤΗΜΜΥ.gr
*******
Posts: 3784



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

Να ρωτησω παλια χρησιμοποιούσαν το QtSpim... Το PCspim είναι άλλο πρόγραμμα?

Αν ναι απο που να το κατεβάσω?


Υ.Γ το QtSpim με φαινόταν πολύ χάλια πρόγραμμα
Logged
dpa
Ανερχόμενος/Ανερχόμενη
**
Posts: 67

Είμαι ηλεκτρολόγος, συμβαίνει κάτι;


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

δες εδώ για το pcspim:
http://pages.cs.wisc.edu/~larus/spim.html
και
http://spimsimulator.sourceforge.net/

και τα 2 είναι του James Larus
QtSpim is a new user interface for Spim built on the Qt UI framework. Qt is cross-platform, so the same user iterface and same code will run on Windows, Linux, and Mac OS X (yeah!). Moreover, the interface is clean and up-to-date (unlike the archaic X windows interface).
« Last Edit: April 08, 2013, 16:35:39 pm by dpa » Logged
Niobe
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1853



View Profile
Re: [Αρχιτεκτονική Υπολογιστών] Πρώτη Εργασία - Προθεσμία 13/05
« Reply #3 on: April 12, 2013, 11:33:40 am »

πως φορτωνω το προγραμμα στο PCSpim απο το πδφ? το αντεγραψα σε κειμενο word και το εσωσα ως .s αλλα δεν φαινεται να εχει αποτελεσμα..

εδιτ: βασικα μου βγαζει οτι ερρορ εχω καταλαβει οτι εχει.. απλα που μπορω να "δω" το προγραμμα...
« Last Edit: April 12, 2013, 11:40:49 am by panourgos » Logged

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


unfortunate...


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

Quote from: panourgos on April 12, 2013, 11:33:40 am
πως φορτωνω το προγραμμα στο PCSpim απο το πδφ? το αντεγραψα σε κειμενο word και το εσωσα ως .s αλλα δεν φαινεται να εχει αποτελεσμα..

εδιτ: βασικα μου βγαζει οτι ερρορ εχω καταλαβει οτι εχει.. απλα που μπορω να "δω" το προγραμμα...

Στο window του PCSpim μπορείς να δεις τον κώδικα. Επίσης, μπορείς να ανοίξεις το .s αρχείο με κάποιον editor (πχ Wordpad, Notepad++, Sublime Text κλπ) για ευκολότερη επεξεργασία του κώδικα.
Logged

Fcoriolis
Guest
Re: [Αρχιτεκτονική Υπολογιστών] Πρώτη Εργασία - Προθεσμία 13/05
« Reply #5 on: April 12, 2013, 22:07:15 pm »

Μπορεί κάποιος να εξηγήσει τι είναι ο gp και να πει πως χρησιμεύει στην εργασία?
Logged
zidan
Θαμώνας
****
Gender: Male
Posts: 305


FREEEEDOME


View Profile
Re: [Αρχιτεκτονική Υπολογιστών] Πρώτη Εργασία - Προθεσμία 13/05
« Reply #6 on: April 12, 2013, 22:49:05 pm »

Προσωπικά το έβγαλα τελείως γιατί πολύ με δυσκόλεψει κι δουλεύω με $sp...
έχω πρόβλημα στο προσμειωτή,γιατί μου δίνει  το μύνημα ((The following symbols are undefined :printf))
μα εποτίθεται ότι  τη printf τη αναγνωρίζει... Undecided Undecided Undecided
« Last Edit: April 12, 2013, 22:51:06 pm by zidan » Logged
Eragon
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 672



View Profile
Re: [Αρχιτεκτονική Υπολογιστών] Πρώτη Εργασία - Προθεσμία 13/05
« Reply #7 on: April 12, 2013, 22:57:46 pm »

Quote from: The Batman on April 12, 2013, 22:07:15 pm
Μπορεί κάποιος να εξηγήσει τι είναι ο gp και να πει πως χρησιμεύει στην εργασία?
Ο gp είναι ένας pointer που δείχνει στη διεύθυνση 0x10008000 της μνήμης (γι'αυτο στην αρχη της εργασιας αυτος γραφει .data 0x10008000)
Η χρησιμότητα του δεν ειναι αλλη παρα το οτι η ιδια η γλωσσα σου παρεχει ενα σημειο αναφορας για την αποθηκευση και την κληση των δεδομενων σου.
Οταν γραφεις
   .data 0x10008000
   .word 10
   .word 1
τοτε στο gp[0] (0x10008000) αποθηκευεται το 10 και στο gp[1] (0x10008004) το 1.
Ετσι μετα τα καλεις ως εξης : lw $a0, 0($gp) κλπ
Θα μπορουσες να τον παραλήψεις εντελώς!Τοτε αν έγραφες σκέτο .data θα ξεκιναγε η εγγραφη δεδομένων από την διευθυνση 0x10000000 νομίζω και τη διευθυνση αυτη θα επρεπε να τη δωσεις με lui σε καποιο καταχωρητη ωστε μετα να φορτωνεις μεσω αυτου τα δεδομενα σου.
π.χ.
   
Code:
.data 
.word 4, 3, 1, 2
.text
loop:  
and $s5, $s5, $zero
lui $s5, 0x1000
lw $s1, 0x0000($s5)
lw $s2, 0x0004($s5)
lw $s3, 0x0008($s5)
lw $s4, 0x000c($s5)
Απλως το gp σου δινει τζαμπα ολη αυτη τη λειτουργικοτητα...που λεει ο λογος... Smiley
τουλαχιστον ετσι τα καταλαβα εγω... Undecided
« Last Edit: April 12, 2013, 23:01:00 pm by pavlos100 » Logged

Change happens by listening and then starting a dialogue with the people who are doing something you don't believe is right.

Jane Goodall
Eragon
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 672



View Profile
Re: [Αρχιτεκτονική Υπολογιστών] Πρώτη Εργασία - Προθεσμία 13/05
« Reply #8 on: April 12, 2013, 22:59:54 pm »

Quote from: zidan on April 12, 2013, 22:49:05 pm
Προσωπικά το έβγαλα τελείως γιατί πολύ με δυσκόλεψει κι δουλεύω με $sp...
έχω πρόβλημα στο προσμειωτή,γιατί μου δίνει  το μύνημα ((The following symbols are undefined :printf))
μα εποτίθεται ότι  τη printf τη αναγνωρίζει... Undecided Undecided Undecided
Το printf φαινεται να μη δουλευει όντως,οπότε τύπωσε ό,τι θες με syscall(νομιζω στην παραγραφο με τις εξαιρεσεις τα εχει)
Logged

Change happens by listening and then starting a dialogue with the people who are doing something you don't believe is right.

Jane Goodall
zidan
Θαμώνας
****
Gender: Male
Posts: 305


FREEEEDOME


View Profile
Re: [Αρχιτεκτονική Υπολογιστών] Πρώτη Εργασία - Προθεσμία 13/05
« Reply #9 on: April 13, 2013, 17:23:32 pm »

μία απορία έχω,τι ενοοεί με( addi $t0, $gp 12)  Embarrassed Undecided ?
Logged
Fcoriolis
Guest
Re: [Αρχιτεκτονική Υπολογιστών] Πρώτη Εργασία - Προθεσμία 13/05
« Reply #10 on: April 14, 2013, 01:35:35 am »

είναι λάθος αυτή η εντολή (συντακτικά αλλά και δεν χρειάζεται)
Logged
Fcoriolis
Guest
Re: [Αρχιτεκτονική Υπολογιστών] Πρώτη Εργασία - Προθεσμία 13/05
« Reply #11 on: April 14, 2013, 01:37:11 am »

Quote from: pavlos100 on April 12, 2013, 22:57:46 pm
Quote from: The Batman on April 12, 2013, 22:07:15 pm
Μπορεί κάποιος να εξηγήσει τι είναι ο gp και να πει πως χρησιμεύει στην εργασία?
Ο gp είναι ένας pointer που δείχνει στη διεύθυνση 0x10008000 της μνήμης (γι'αυτο στην αρχη της εργασιας αυτος γραφει .data 0x10008000)
Η χρησιμότητα του δεν ειναι αλλη παρα το οτι η ιδια η γλωσσα σου παρεχει ενα σημειο αναφορας για την αποθηκευση και την κληση των δεδομενων σου.
Οταν γραφεις
   .data 0x10008000
   .word 10
   .word 1
τοτε στο gp[0] (0x10008000) αποθηκευεται το 10 και στο gp[1] (0x10008004) το 1.
Ετσι μετα τα καλεις ως εξης : lw $a0, 0($gp) κλπ
Θα μπορουσες να τον παραλήψεις εντελώς!Τοτε αν έγραφες σκέτο .data θα ξεκιναγε η εγγραφη δεδομένων από την διευθυνση 0x10000000 νομίζω και τη διευθυνση αυτη θα επρεπε να τη δωσεις με lui σε καποιο καταχωρητη ωστε μετα να φορτωνεις μεσω αυτου τα δεδομενα σου.
π.χ.
   
Code:
.data 
.word 4, 3, 1, 2
.text
loop:   
and $s5, $s5, $zero
lui $s5, 0x1000
lw $s1, 0x0000($s5)
lw $s2, 0x0004($s5)
lw $s3, 0x0008($s5)
lw $s4, 0x000c($s5)
Απλως το gp σου δινει τζαμπα ολη αυτη τη λειτουργικοτητα...που λεει ο λογος... Smiley
τουλαχιστον ετσι τα καταλαβα εγω... Undecided

Σ ευχαριστώ πολύ!Τέλειες οδηγίες!
Logged
thanospr
Καταξιωμένος/Καταξιωμένη
***
Posts: 115


View Profile
Re: [Αρχιτεκτονική Υπολογιστών] Πρώτη Εργασία - Προθεσμία 13/05
« Reply #12 on: April 14, 2013, 11:04:14 am »

Ο Χασαπης μας ειχε δειξει κατι διαφανιες για την syscall και τα ορισματα που πρεπει να δωσουμε για να τυπωσει και να διαβασει δεδομενα αλλα δεν τις βρισκω.Ξερετε που ειναι η που θα τα βρω στο βιβλιο;
Logged
Fcoriolis
Guest
Re: [Αρχιτεκτονική Υπολογιστών] Πρώτη Εργασία - Προθεσμία 13/05
« Reply #13 on: April 14, 2013, 12:28:28 pm »

Για να τυπώνεις κείμενο πρέπει να έχει η v0 την τιμή 4
και η διεύθηνση της a0 να δείχνει στην αρχική θέση του κειμένου (πχ στην ασκηση la $a0,12($gp))
Για να εκτυπώσεις ακέραιο πρέπει η v0 να έχει τιμή 1 (αυτό το κάνεις με lw κλασικά)
και η a0 να δείχνει στον ακέραιο

αφού εκτελέσεις τις αλλαγές στα v0,a0 τότε καλέις την syscall (σκέτη χωρίς τίποτα δίπλα)

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


unfortunate...


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

Quote from: The Batman on April 14, 2013, 12:28:28 pm
Για να εκτυπώσεις ακέραιο πρέπει η v0 να έχει τιμή 1 (αυτό το κάνεις με lw κλασικά)
και η a0 να δείχνει στον ακέραιο

Η $a0 πρέπει να περιέχει την τιμή του ακεραίου, όχι να δείχνει στη διεύθυνση μνήμης που είναι αποθηκευμένος!
Logged

Pages: [1] 2 3 ... 6 Go Up Print
Jump to:  

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