Οι αρχιτεκτονικές RISC (Reduced Instruction Set Computing) και CISC (Complex Instruction Set Computing) αποτελούν δύο διαφορετικές φιλοσοφίες σχεδίασης επεξεργαστών. Η κάθε μία έχει τα δικά της πλεονεκτήματα και μειονεκτήματα, και χρησιμοποιείται σε διαφορετικές εφαρμογές. Στα ιστορικά στοιχεία για RISC και CISC αποτυπώνεται ο ανταγωνισμός μεταξύ των αρχιτεκτονικών RISC (Reduced Instruction Set Computing) και CISC (Complex Instruction Set Computing). Ο ανταγωνισμός ξεκίνησε τη δεκαετία του 1970, καθώς οι υπολογιστές εξελίσσονταν και οι σχεδιαστές επεξεργαστών αναζητούσαν τον πιο αποδοτικό τρόπο εκτέλεσης εντολών.
Ιστορικά Στοιχεία για RISC και CISC
1. Η Γέννηση (1950s – 1970s) και πορεία της CISC
Κατά τις πρώτες δεκαετίες της πληροφορικής, η μνήμη ήταν πολύ ακριβή και περιορισμένη. Οι μηχανικοί σχεδίαζαν επεξεργαστές που μπορούσαν να εκτελούν πολύπλοκες λειτουργίες με όσο το δυνατόν λιγότερες εντολές, ώστε να μειωθεί το μέγεθος των προγραμμάτων.
Η αρχιτεκτονική CISC (Complex Instruction Set Computing) αναπτύχθηκε ως απάντηση στους περιορισμούς της πρώιμης υπολογιστικής τεχνολογίας, όπου η μνήμη ήταν ακριβή και η απόδοση εξαρτιόταν από την ικανότητα των επεξεργαστών να εκτελούν σύνθετες λειτουργίες με λίγες εντολές.
Αρκετοί οργανισμοί και ερευνητές έπαιξαν πρωταγωνιστικό ρόλο στην ανάπτυξη των CISC επεξεργαστών.
Ιστορικό εξέλιξης CISC αρχιτεκτονικής:
- IBM System/360 (1964): Μία από τις πρώτες αρχιτεκτονικές που ακολούθησε τη λογική των σύνθετων εντολών.
- IBM System/370 (1970): Βελτιωμένη έκδοση του System/360 με υποστήριξη για εικονική μνήμη.
- DEC VAX-11 (1977): Ένας από τους πρώτους πραγματικά CISC επεξεργαστές. Υποστήριζε περίπλοκες εντολές, διευρύνοντας τις δυνατότητες του assembly προγραμματισμού.
- Intel 8086 (1978): Ο πρώτος x86 επεξεργαστής, που έθεσε τη βάση για τους σημερινούς CISC επεξεργαστές.
- Motorola 68000 (1979): Ένας από τους πιο επιτυχημένους επεξεργαστές της εποχής, χρησιμοποιήθηκε σε Macintosh, Amiga, και Atari ST. Χρησιμοποιούσε 16-bit εξωτερικό δίαυλο αλλά είχε 32-bit εσωτερική αρχιτεκτονική.
- Intel 80286 (1982): Εισήγαγε λειτουργίες προστασίας μνήμης και βελτιωμένη απόδοση.
- Intel 80386 (1985): Έφερε υποστήριξη για 32-bit επεξεργασία, επιτρέποντας πιο προηγμένα λειτουργικά συστήματα.
- Motorola 68030, 68040, 68060 (1987-1994): Σταδιακές βελτιώσεις με μεγαλύτερη απόδοση και υποστήριξη για floating-point operations.
- DEC VAX 9000 (1989): Μία από τις τελευταίες εκδόσεις της VAX αρχιτεκτονικής, πριν η DEC μεταβεί σε RISC επεξεργαστές (Alpha).
- Intel Pentium (1993): Βασίστηκε στην CISC αρχιτεκτονική αλλά υιοθέτησε τεχνικές από RISC (όπως superscalar execution). Έφερε επανάσταση στην απόδοση των προσωπικών υπολογιστών.
- AMD K6 (1997): Ανταγωνιστής των Pentium, προσφέροντας καλύτερη απόδοση σε χαμηλότερη τιμή.
- AMD Athlon (1999): Πρώτος επεξεργαστής x86 που ξεπέρασε το 1 GHz.
- AMD64 (2003): Εισήγαγε την x86-64 αρχιτεκτονική, που επέτρεπε 64-bit επεξεργασία, και έγινε το νέο βιομηχανικό πρότυπο.
Βασικό πρόβλημα: Καθώς οι CISC επεξεργαστές εξελίσσονταν, οι πολύπλοκες εντολές απαιτούσαν περισσότερους κύκλους ρολογιού, με αποτέλεσμα μειωμένη απόδοση.
2. Η Γέννηση (1970s – 1980s) και πορεία της RISC
Τη δεκαετία του 1970, ερευνητές άρχισαν να αμφισβητούν την αποδοτικότητα της CISC αρχιτεκτονικής. Μελέτες έδειξαν ότι οι περισσότεροι υπολογιστές χρησιμοποιούσαν ένα μικρό ποσοστό από το σύνολο των εντολών τους.
Η αρχιτεκτονική RISC (Reduced Instruction Set Computing) αναπτύχθηκε ως εναλλακτική στην CISC αρχιτεκτονική, με στόχο τη βελτιστοποίηση της απόδοσης μέσω απλούστερων και ταχύτερων εντολών.
Οι πρώτοι πρωτοπόροι της RISC αρχιτεκτονικής προέρχονταν κυρίως από ακαδημαϊκά ερευνητικά προγράμματα και μεγάλες τεχνολογικές εταιρείες.
Ιστορικό εξέλιξης RISC αρχιτεκτονικής:
- IBM 801 (1974 – 1978): Το πρώτο πειραματικό RISC σύστημα, που αναπτύχθηκε από την IBM. Σχεδιάστηκε από τον John Cocke, ο οποίος θεωρείται “πατέρας” της RISC αρχιτεκτονικής.
- Berkeley RISC (1980 – 1984): Ένα ερευνητικό πρόγραμμα του Πανεπιστημίου της Καλιφόρνιας στο Berkeley, που έθεσε τις βάσεις για μελλοντικούς RISC επεξεργαστές.
- RISC I (1981): Χρησιμοποίησε pipeline execution και περισσότερους καταχωρητές, αντί για περίπλοκες εντολές. Σχεδιάστηκε από τον David Patterson και την ομάδα του.
- RISC II (1983-1984): Βελτιωμένη έκδοση του RISC I, με μεγαλύτερη απόδοση. Οδήγησε στην εμπορική υλοποίηση του SPARC από τη Sun Microsystems.
- Stanford MIPS (1981 – 1984): Η ερευνητική ομάδα του Πανεπιστημίου Stanford, υπό την καθοδήγηση του John Leroy Hennessy. Ανέπτυξε τη MIPS αρχιτεκτονική (Microprocessor without Interlocked Pipeline Stages), που χρησιμοποιήθηκε αργότερα σε πολλούς επεξεργαστές.
- MIPS R2000 (1985): Πρώτος εμπορικός MIPS επεξεργαστής, βασισμένος στην έρευνα του Stanford. Είχε load/store αρχιτεκτονική, όπου οι εντολές πρόσβασης μνήμης ήταν ξεχωριστές από τις υπολογιστικές. Χρησιμοποιήθηκε σε σταθμούς εργασίας, routers και παιχνιδομηχανές (όπως το PlayStation 1 & 2).
- ARM1 (1985): Πρώτος RISC επεξεργαστής της Acorn, βασισμένος στις αρχές του Berkeley RISC. Απλός σχεδιασμός, χαμηλή κατανάλωση ενέργειας.
- Sun Microsystems SPARC (Scalable Processor Architecture) (1987): Βασίστηκε στην Berkeley RISC αρχιτεκτονική. Είχε παράθυρα καταχωρητών (register windows) για καλύτερη απόδοση σε κλήσεις συναρτήσεων. Χρησιμοποιήθηκε σε σταθμούς εργασίας και servers.
- ARM2 (1987): Χρησιμοποιήθηκε στον Acorn Archimedes, έναν από τους πρώτους υπολογιστές με RISC επεξεργαστή.
- ARM7, ARM9, ARM Cortex (1990s-σήμερα): Εξελίχθηκε σε μία από τις πιο δημοφιλείς αρχιτεκτονικές για κινητές συσκευές. Χρησιμοποιείται σε smartphones, tablets, smartwatches και ενσωματωμένα συστήματα.
- MIPS R4000 (1991): Μετάβαση σε 64-bit RISC αρχιτεκτονική. Χρησιμοποιήθηκε σε ισχυρά συστήματα υπολογιστών και ενσωματωμένες εφαρμογές.
- Sun Microsystems SPARC64 (1995-σήμερα): Βελτιωμένη 64-bit έκδοση, που χρησιμοποιείται ακόμα σε high-performance computing.
- Berkeley RISC-V (2015-σήμερα): Δωρεάν και ανοιχτή αρχιτεκτονική (σε αντίθεση με τις κλειστές ARM & x86). Ευέλικτος σχεδιασμός, που μπορεί να προσαρμοστεί για διαφορετικές εφαρμογές. Γίνεται όλο και πιο δημοφιλής σε embedded συστήματα, AI hardware, και μικροελεγκτές.
- Apple M1/M2/M3 (2020-σήμερα): ARM-based επεξεργαστές που αντικατέστησαν την Intel στους υπολογιστές Mac.
3. Η παράλληλη πορεία RISC και CISC (1990s – 2000s)
Ως σημαντικό σημείο καμπής καταγράφεται στα ιστορικά στοιχεία για RISC και CISC, η δεκαετία του 1990, που οι δύο αρχιτεκτονικές ακολούθησαν διαφορετικές πορείες:
- Η CISC (Intel x86, AMD) συνέχισε να κυριαρχεί στους προσωπικούς υπολογιστές, χάρη στη διατήρηση της συμβατότητας με το υπάρχον λογισμικό.
- Η RISC (ARM, MIPS, PowerPC) κέρδισε έδαφος σε φορητές και ενσωματωμένες συσκευές λόγω της ενεργειακής της απόδοσης.
Το 1991, η ARM (Advanced RISC Machines) παρουσίασε τον ARM6, ο οποίος χρησιμοποιήθηκε σε φορητές συσκευές και έθεσε τις βάσεις για τους σύγχρονους επεξεργαστές κινητών.
Ταυτόχρονα, η Apple, IBM, και Motorola συνεργάστηκαν για να δημιουργήσουν τους PowerPC επεξεργαστές, που χρησιμοποιήθηκαν στους Mac υπολογιστές της Apple μέχρι το 2006.
4. Η Σύγκλιση RISC και CISC (2010s – Σήμερα)
Σήμερα, η διαχωριστική γραμμή μεταξύ RISC και CISC έχει γίνει λιγότερο σαφής, καθώς οι δύο αρχιτεκτονικές έχουν υιοθετήσει χαρακτηριστικά η μία από την άλλη.
- Οι CISC (x86) επεξεργαστές πλέον χρησιμοποιούν pipeline, register renaming, και micro-operations, χαρακτηριστικά που μοιάζουν με την RISC αρχιτεκτονική.
- Οι RISC (ARM) επεξεργαστές έχουν βελτιώσει την απόδοσή τους και μπορούν να ανταγωνιστούν ακόμα και high-end x86 επεξεργαστές σε πολλούς τομείς.
Σημαντικές Εξελίξεις
- Apple M1/M2/M3 (2020-σήμερα): Η Apple εγκατέλειψε την Intel και πέρασε στους ARM-based επεξεργαστές για τους Mac.
- Qualcomm Snapdragon X Elite (2024): Ένας ARM επεξεργαστής σχεδιασμένος για Windows laptops.
- RISC-V (2015-σήμερα): Μια νέα ανοιχτού κώδικα RISC αρχιτεκτονική που κερδίζει έδαφος.
5. Το Μέλλον των RISC και CISC
Η μάχη μεταξύ των δύο αρχιτεκτονικών συνεχίζεται, αλλά η τάση δείχνει ότι η RISC αρχιτεκτονική κερδίζει έδαφος, ιδιαίτερα με την άνοδο των ARM-based επεξεργαστών και του RISC-V.
- Θα δούμε το τέλος των CISC επεξεργαστών;
Μάλλον όχι σύντομα, καθώς οι x86 επεξεργαστές της Intel και της AMD παραμένουν κυρίαρχοι σε gaming, επαγγελματικές εφαρμογές και servers. - Θα κυριαρχήσει η RISC;
Ήδη, οι ARM επεξεργαστές έχουν κατακτήσει τις φορητές συσκευές και εισέρχονται δυναμικά στους υπολογιστές. Το RISC-V υπόσχεται ακόμα μεγαλύτερη καινοτομία λόγω της open-source φύσης του. - Σύγκλιση των δύο αρχιτεκτονικών:
Οι σύγχρονοι x86 και ARM επεξεργαστές έχουν υιοθετήσει κοινές τεχνικές, όπως out-of-order execution και speculative execution, κάνοντας τους όλο και πιο παρόμοιους.
Το μέλλον δείχνει μια τάση σύγκλισης των δύο τεχνολογιών, με ARM-based επεξεργαστές να γίνονται όλο και πιο ισχυροί και τα x86 να υιοθετούν RISC χαρακτηριστικά.