Αρχιτεκτονική Υπολογιστών

Σχετικά έγγραφα
ΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών

Σχεδίαση μονάδας ελέγχου επεξεργαστή

30 min κάθε «φάση» Pipeline: Ένα παράδειγµα από.τη καθηµερινή ζωή. 1. Πλυντήριο. 2. Στεγνωτήριο. 3. ίπλωµα. 4. αποθήκευση. προσέγγιση για 4.

Διάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing)

Διάλεξη 12 Καθυστερήσεις (Stalls)

Multi Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

Μικροβιολογία & Υγιεινή Τροφίμων

Single Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

Ιστορία της μετάφρασης

Ηλεκτρισμός & Μαγνητισμός

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 9: Εισαγωγή στην Ομοχειρία (Pipelining - Διοχέτευση) Μανόλης Γ.Η.

2η ΑΣΚΗΣΗ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ακ. έτος , 5ο Εξάμηνο Σχολή ΗΜ&ΜΥ

Αρχιτεκτονική Υπολογιστών

Διάλεξη 11 Προώθηση (Forwarding)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ. Πιθανότητες. Συνδυαστική Ανάλυση Διδάσκων: Επίκουρος Καθηγητής Κωνσταντίνος Μπλέκας

Οργάνωση Υπολογιστών

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εργαστήριο Χημείας Ενώσεων Συναρμογής

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Αρχιτεκτονική υπολογιστών

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

Εκκλησιαστικό Δίκαιο

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Εισαγωγή στους Αλγορίθμους

ΓΕΝΙΚΗ ΚΑΙ ΑΝΟΡΓΑΝΗ ΧΗΜΕΙΑ

Εκκλησιαστικό Δίκαιο

Ηλεκτρισμός & Μαγνητισμός

Εισαγωγή στην Επιστήμη των Υπολογιστών

Αρχιτεκτονική υπολογιστών

Οδοποιία IΙ. Ενότητα 14: Υπόδειγμα σύνταξης τευχών θέματος Οδοποιίας. Γεώργιος Μίντσης ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Εισαγωγή στους Αλγορίθμους

Εργαστήριο Χημείας Ενώσεων Συναρμογής

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική Υπολογιστών

Ιστορία της μετάφρασης

Αρχιτεκτονική Υπολογιστών

Ηλεκτρισμός & Μαγνητισμός

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232)

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Ηλεκτρισμός & Μαγνητισμός

Αρχιτεκτονική Υπολογιστών

Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II

Ηλεκτρονικοί Υπολογιστές I

Εισαγωγή στους Αλγορίθμους

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Ηλεκτρισμός & Μαγνητισμός

Μηχανολογικό Σχέδιο Ι

Διαφήμιση και Δημόσιες Σχέσεις Ενότητα 9: Σχέσεις διαφημιστή-διαφημιζόμενου

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Εφαρμοσμένη Στατιστική

Κεφάλαιο 4. Ο επεξεργαστής

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 10: Επίδοση Επεξεργαστών, CPI. Μανόλης Γ.Η. Κατεβαίνης

ΓΕΝΙΚΗ ΚΑΙ ΑΝΟΡΓΑΝΗ ΧΗΜΕΙΑ

Μηχανολογικό Σχέδιο Ι

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Εργαστήριο Χημείας Ενώσεων Συναρμογής

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Εφαρμοσμένη Στατιστική

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δείκτες Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Γενικά Μαθηματικά Ι. Ενότητα 5: Παράγωγος Πεπλεγμένης Συνάρτησης, Κατασκευή Διαφορικής Εξίσωσης. Λουκάς Βλάχος Τμήμα Φυσικής

Υπολογιστές Ι. Άδειες Χρήσης. Δομή του προγράμματος. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Ενδεικτικές λύσεις ασκήσεων διαχείρισης έργου υπό συνθήκες αβεβαιότητας

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Οικονομία των ΜΜΕ. Ενότητα 7: Μορφές αγοράς και συγκέντρωση των ΜΜΕ

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 13. Διακλαδώσεις. Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232)

Εισαγωγή στην πληροφορική

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δομή του προγράμματος. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

Βάσεις Δεδομένων. Ενότητα 1: Εισαγωγή στις Βάσεις δεδομένων. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Εκκλησιαστικό Δίκαιο

Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εκκλησιαστικό Δίκαιο

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Β. Διαφορικός Λογισμός

Οικονομετρία. Συστήματα συναληθευουσών εξισώσεων Το πρόβλημα της ταυτοποίησης. Τμήμα: Αγροτικής Οικονομίας & Ανάπτυξης. Διδάσκων: Λαζαρίδης Παναγιώτης

Εφαρμοσμένη Στατιστική

Συνταγματικό Δίκαιο Ενότητα 11:Εκτελεστική Λειτουργία

Ηλεκτρονικοί Υπολογιστές IV

Ειδικά Θέματα Δικτύων Ι

Αξιολόγηση μεταφράσεων ιταλικής ελληνικής γλώσσας

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Οργάνωση επεξεργαστή Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς.

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Υλοποίηση διοχέτευσης Αρης Ευθυμίου

Το σημερινό μάθημα! Υλοποίηση διοχετευμένου επεξεργαστή καταχωρητές διοχέτευσης! Ελεγχος διοχετευμένου επεξεργαστή! Κίνδυνοι δεδομένων υλοποίηση προώθησης υλοποίηση stall! Κίνδυνοι ελέγχου ακύρωση εντολών πίσω από διακλάδωση μείωση ποινής διακλάδωσης 2

Υλοποίηση ενός κύκλου 3

Ροή εντολών! Γενικά: από αριστερά προς δεξιά με την σειρά τους: κανείς δεν προσπερνάει! χρειάζονται καταχωρητές διοχέτευσης για να εξασφαλιστεί! pipeline registers! Εξαιρέσεις (μπλέ χρώμα στο σχήμα), δεξιά προς αριστερά: 1. Στάδιο WB: δεδομένα γράφονται στο αρχείο καταχωρητών! που βρίσκεται κάπου στο κέντρο του σχήματος 2. Επιλογή επόμενης τιμής PC! Οι εξαιρέσεις επηρεάζουν μόνο επόμενες εντολές 1. 2. μπορεί να προκαλέσει κινδύνους δεδομένων μπορεί να προκαλέσει κινδύνους ελέγχου 4

MIPS με καταχωρητές διοχέτευσης 5

Υπονοούμενοι καταχωρητές διοχέτευσης! Γιατί δεν υπάρχει καταχωρητής διοχέτευσης στο τέλος του σταδίου WB; όλες οι εντολές γράφουν κάτι σε κάποια «μνήμη»! lw, R- type στο αρχείο καταχωρητών! sw στη μνήμη! (beq, και όλες στον PC) οι τιμές περνούν σε επόμενη εντολή όταν αυτή διαβάσει τον καταχωρητή/μνήμη! Ο PC μπορεί να θεωρηθεί καταχωρητής διοχέτευσης διαφορά με τους υπόλοιπους: ο PC είναι μέρος της «ορατής αρχιτεκτονικής κατάστασης», πρέπει να αποθηκευτεί αν σταματήσει η εκτέλεση του προγράμματος οι τιμές των καταχωρητών διοχέτευσης δεν αποθηκεύονται 6

Περιήγηση lw, στάδιο IF 7

Περιήγηση lw, στάδιο ID 8

Περιήγηση lw, στάδιο EX 9

Περιήγηση lw, στάδιο MEM 10

Περιήγηση lw, στάδιο WB Ποιά εντολή καθορίζει τον καταχωρητή αποτελέσματος; 11

Διορθωμένο datapath 12

Παρατηρήσεις! Ο,τι πληροφορία χρειάζεται ένα στάδιο πρέπει να φτάσει εκεί μέσω καταχωρητών διοχέτευσης! Ο καταχωρητής διοχέτευσης ενός σταδίου περιέχει ένα μέρος της εντολής που χρειάζεται στο ίδιο ή σε επόμενα στάδια! Εντολές περνούν από στάδια ακόμα και αν δεν έχουν κάτι να κάνουν σε αυτά π.χ. εντολές τύπου R από το στάδιο MEM! Οι επόμενες εντολές ήδη «πηγαίνουν με τη μέγιστη ταχύτητα» δεν μπορεί να υπάρξει κέρδος κάνοντας κάτι για τα αδρανή στάδια 13

Διαγράμματα διοχέτευσης! Διάγραμμα πολλαπλών κύκλων δείχνει την εκτέλεση πολλών εντολών σε πολλούς κύκλους 14

Διαγράμματα διοχέτευσης! Διάγραμμα ενός κύκλου δείχνει σε ποιο στάδιο βρίσκεται κάθε εντολή σε έναν κύκλο 15

Διοχετευμένος ελεγχος 16

Σήματα ελέγχου! Οι τιμές των σημάτων ελέγχου καθορίζονται στο στάδιο αποκωδικοποίησης αλλά πρέπει να «ενεργοποιηθούν» στον κατάλληλο κύκλο! Επεκτείνουμε τους καταχωρητές διοχέτευσης ώστε να περιέχουν και σήματα ελέγχου. 17

Πλήρης διοχετευμένος MIPS 18

Κίνδυνοι δεδομένων 19

Προώθηση αποτελεσμάτων 20

Μονοπάτια προώθησης! Εξετάζουμε μόνο προώθηση προς τις εισόδους της ALU υπάρχουν και άλλες περιπτώσεις! Αποτελέσματα/δεδομένα έρχονται από EX/MEM ή ΜΕΜ/WB σε επόμενα στάδια δεν χρειάζεται προώθηση! Ελεγχοι προώθησης: 1a. EX/MEM.RegisterRd = ID/EX.RegisterRs 1b. EX/MEM.RegisterRd = ID/EX.RegisterRt 2a. MEM/WB.RegisterRd = ID/EX.RegisterRs 2b. MEM/WB.RegisterRd = ID/EX.RegisterRt 21

Υλοποίηση προώθησης! Απλουστευμένο datapath λείπει η επιλογή σταθεράς ως 2ης είσόδου της ALU 22

Λεπτομέρειες προώθησης! Δεν γράφουν όλες οι εντολές αποτελέσματα μπορεί π.χ. EX/MEM.RegisterRd == ID/EX.RegisterRs αλλά η εντολή στο στάδιο MEM δεν γράφει αποτέλεσμα (beq, sw, ) Συνθήκη: EX/MEM.RegWrite && ισότητα! Προσοχή στην προώθηση τιμής του καταχωρητή $zero add $zero, $t1, $t2 # no- op add $s0, $zero, $zero # $s0 = 0 δεν πρέπει να προωθηθεί τιμή για το $zero!! Διπλός κίνδυνος. Παράδειγμα: add $1,$1,$2 add $1,$1,$3 add $1,$1,$4 Πρέπει κάθε εντολή να πάρει την πιο πρόσφατη τιμή 23

Stall Αναβολή εκτέλεσης I$ Reg I$ sub $t3,$t0,$t2 EX MEM WB D$ Reg Reg ALU ID/RF ALU lw $t0,0($t1) IF D$ Reg! Η εντολή αμέσως μετά μία load δεν μπορεί να χρησιμοποιήσει την τιμή που φέρνει η load! Πρέπει να ανιχνευθεί το πρόβλημα και να αναβληθεί η εκτέλεση της 2ης εντολής για 1 κύκλο ανίχνευση στο κύκλο 3 στάδιο ID/RF της 2ης εντολής πρέπει να αναβληθούν και οι επόμενες εντολές! προς τα αριστερά στα διαγράμματα. 24

Υλοποίηση αναβολής! Οι εντολές που αναβάλονται, μένουν στο ίδιο στάδιο διοχέτευσης για έναν ακόμη κύκλο δεν φορτώνουμε τον καταχωρητή διοχέτευσης του σταδίου, όπου γίνεται η ανίχνευση και όλους τους υπόλοιπους προς τα αριστερά, και τον PC! Τί θα κάνουμε για τα επόμενα στάδια; στο παράδειγμα το στάδιο EX στον κύκλο 4 θα βάλουμε bubble κενό! Θέτουμε σε όλα τα σήματα ελέγχου του επόμενου καταχωρητή διοχέτευσης, τιμές που δεν προκαλούν καμία εγγραφή (nop no opera on) ID/EX.regWrite = 0, ID/EX.memWrite = 0, 25

Υλοποίηση stall, κύκλωμα 26

Κίνδυνοι ελέγχου! Διακλάδωση με στατική προβλεψη ότι δεν ακολουθείται παράδειγμα: συνθήκη ισχύει, ακολούθησε την διακλάδωση A+4: Ix1 I2 Reg bub ble bub ble bub ble I$ bub ble I$ bub ble bub ble Ακύρωση εντολής bub ble bub ble Ακύρωση εντολής Reg D$ Reg I$ Reg ALU Target: I1 I$ D$ ALU Α+8: Ix2 Reg ALU A: j I$ D$ Reg 27

Ακύρωση εντολών! Παρόμοια με την προσθήκη bubble nop μετά από αναβολή/stall! Τα σήματα ελέγχου γίνονται 0! Αλλά σε όλα τα στάδια από την επόμενη της εντολής διακλάδωσης! Στην ουσία αδειάζουμε (μέρος) της διοχέτευσης αγγλικός όρος: flush! Ταυτόχρονα δίνουμε τη «σωστή» διεύθυνση στον PC 28

Μείωση ποινής διακλάδωσης! Ο αριθμός των χαμένων κύκλων μετά από μια ακολουθούμενη διακλάδωση ονομάζεται: ποινή διακλάδωσης, (branch penalty)! Αν μειώσουμε την ποινή, βελτιώνουμε την επίδοση! Καλύτερη περίπτωση απόφαση διακλάδωσης στο τέλος του 2ου κύκλου! Απαιτήσεις υπολογισμός διεύθυνσης στόχου υπολογισμός συνθήκης 29

Μείωση ποινής διακλάδωσης! Yπολογισμός διεύθυνσης στόχου Τώρα στο στάδιο EX όλα τα δεδομένα διαθέσιμα στο στάδιο ID : PC+4, σταθερά (μέρος της εντολής)! Υπολογισμός συνθήκης δυσκολότερο...! Παρατήρηση: οι περισσότερες διακλαδώσεις έχουν απλές συνθήκες ισότητας! Απλές συνθήκες μπορούν να υπολογισθούν με λίγες πύλες, άρα στο στάδιο ID για ισότητα: XOR ανά bit και μετά μια (μεγάλη) NOR! Αλλα προβλήματα: νέος προορισμός δεδομένων πιθανοί κίνδυνοι δεδομένων προώθηση, stalls κλπ. 30

Διακλάδωση στο στάδιο ID 1 31

Διακλάδωση στο στάδιο ID 2 32

Επόμενο μάθημα Διακοπές (excep ons/interrupts) 33

Τέλος Ενότητας

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Ιωαννίνων» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.

Σημειώματα

Σημείωμα Ιστορικού Εκδόσεων Έργου Το παρόν έργο αποτελεί την έκδοση 1.0. Έχουν προηγηθεί οι κάτωθι εκδόσεις: Έκδοση 1.0 διαθέσιμη εδώ. http://ecourse.uoi.gr/course/view.php?id=1307.

Σημείωμα Αναφοράς Copyright Πανεπιστήμιο Ιωαννίνων, Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου. «Αρχιτεκτονική Υπολογιστών. Οργάνωση επεξεργαστή». Έκδοση: 1.0. Ιωάννινα 2014. Διαθέσιμο από τη δικτυακή διεύθυνση: http://ecourse.uoi.gr/course/view.php?id=1307.

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά Δημιουργού - Παρόμοια Διανομή, Διεθνής Έκδοση 4.0 [1] ή μεταγενέστερη. [1] https://creativecommons.org/licenses/by-sa/4.0/.