Es gibt zwei gängige Architekturtypen, die auf dem Befehlssatz basieren. Sie sind CISC (Complex Instruction Set Computing) und RISC (Reduced Instruction Set Computing). Lassen Sie uns die zugrunde liegenden Unterschiede, Vorteile, Nachteile und Ähnlichkeiten zwischen diesen beiden Architekturen diskutieren.
Contents
Was ist RISC (Reduced Instruction Set Computing)?
RISC (Reduced Instruction Set Computer) ist ein Computer, der eine zentrale Verarbeitungseinheit (CPU) verwendet, die das Prozessorentwurfsprinzip vereinfachter Befehle implementiert. Das RISC-Architekturdesign rationalisiert und beschleunigt die Datenverarbeitung erheblich, indem es die Anzahl der permanent im Mikroprozessor gespeicherten Befehle minimiert und sich mehr auf nicht-residente Befehle, dh Code oder Softwareprogramme, verlässt. RISC ist wohl die schnellste und effizienteste Mikroprozessortechnologie, die heute verfügbar ist.
RISC-Chips oder Mikroprozessoren machen sich die Tatsache zunutze, dass die meisten Anweisungen für Computerprozesse relativ einfach sind und Computer so ausgelegt sind, dass sie diese einfachen Anweisungen schnell verarbeiten. Die RISC-Architektur ist eine Verbesserung gegenüber der CISC-Architektur (Complex Instruction Set Computing), die in den ursprünglichen Intel Pentium-Chips verwendet wird. Obwohl Intel langsam die RISC-Technologie in seine Chips integriert hat, sind sie immer noch größtenteils CISC-basiert.
Unter Experten gibt es immer noch viele Kontroversen über den ultimativen Wert von RISC-Architekturen. Die Skeptiker argumentieren, dass RISC-Architekturen durch die Vereinfachung der Hardware die Software stärker belasten. Sie kommen daher zu dem Schluss, dass sich die Mühe nicht lohnt, da konventionelle Mikroprozessoren immer billiger und schneller werden. Die Befürworter hingegen argumentieren, dass RISC-Maschinen sowohl billiger als auch schneller seien und daher die Maschinen der Zukunft seien.
Was Sie über die RISC-Architektur wissen müssen
- RISC hat weniger Adressierungsmodi und die meisten Befehle im Befehlssatz haben einen Register-zu-Register-Adressierungsmodus.
- Es ist eine fest verdrahtete Programmiereinheit.
- Beispiele für CISC-Befehlssatzarchitekturen sind System/360, PDP-11, VAX, AMD, Motorola 68000 und Desktop-PCs auf Intel x86-CPUs.
- Es werden Kodierungen mit fester Länge der Anweisungen verwendet. Beispiel: In IA32 sind generell alle Befehle als 4 Byte kodiert.
- Arithmetische und logische Operationen verwenden nur Registeroperanden. Eine Speicherreferenzierung ist nur durch Lade- und Speicherbefehle erlaubt, dh Lesen aus dem Speicher in ein Register bzw. Schreiben von einem Register in den Speicher.
- Der Befehlssatz ist reduziert, dh er hat nur wenige Befehle im Befehlssatz. Viele dieser Anweisungen sind sehr primitiv.
- Die RISC-Architektur wird in High-End-Anwendungen wie Videoverarbeitung, Telekommunikation und Bildverarbeitung verwendet.
- RISC-Prozessoren haben einfache Befehle, die ungefähr einen Taktzyklus benötigen. Der durchschnittliche Taktzyklus pro Befehl (CPI) beträgt 1,5.
- RISC-Prozessoren sind hochgradig gepipelinet.
- Implementierungsprogramme werden Programmen auf Maschinenebene ausgesetzt. Nur wenige RISC-Maschinen erlauben keine spezifischen Befehlssequenzen.
- Komplexe Adressierungsmodi werden unter Verwendung von Software synthetisiert.
- Die Komplexität liegt im Mikroprogramm.
- Die Leistung wird mit mehr Fokus auf Software optimiert.
- Es benötigt keinen externen Speicher für Berechnungen.
- Die Decodierung von Anweisungen ist einfach.
- Codeerweiterung kann ein Problem sein.
- Die Ausführungszeit ist sehr gering.
- Es sind mehrere Registersätze vorhanden.
- Es hat keine Speichereinheit und verwendet eine separate Hardware, um Anweisungen zu implementieren.
- RISC haben eine große Programmgröße.
Was sind einige der Vorteile von RISC?
- RISC ist eher ein allgemeiner Ansatz für die Datenverarbeitung als ein bestimmter Satz von Regeln, daher arbeiten verschiedene RISC-basierte Prozessoren und Systeme auf unterschiedliche Weise.
- Aufgrund seiner Einfachheit ermöglicht es die Nutzung des Platzes auf Mikroprozessoren.
- Die Geschwindigkeit der Operation kann maximiert und die Ausführungszeit kann minimiert werden.
- Es kann im Vergleich zu CISC leicht entworfen werden.
- Die Leistung ist aufgrund des vereinfachten Befehlssatzes besser.
- RISC-Befehle führen einen Befehl pro Taktzyklus aus.
- Es hat eine separate Einheit für den Speicher und daher kann Speicherplatz gespart werden.
Nachteile von RISC
- Das Entwerfen eines Compilers mit RISC ist kompliziert.
- Es beinhaltet mehr Hardware.
- Insofern die Befehlsgröße verringert wird, ist im Vergleich zu CISC eine größere Anzahl von Befehlen erforderlich, um eine Operation auszuführen.
- RISC stößt bei der Verarbeitung komplexer Befehle und im komplexen Adressierungsmodus auf große Schwierigkeiten.
- RISC-Befehle erlauben keine direkte Speicher-zu-Speicher-Übertragung; dazu sind Lade- und Speicheranweisungen erforderlich.
CISC (Complex Instruction Set Computing)
CISC ist eine Art von Mikroprozessor-Design. Die CISC-Architektur enthält einen großen Satz von Computeranweisungen, die von sehr einfach bis sehr komplex und spezialisiert reichen. Obwohl das Design darauf abzielte, komplexe Anweisungen auf die effizienteste Weise zu berechnen, stellte sich später heraus, dass viele kleine, kurze Anweisungen komplexe Anweisungen effizienter berechnen konnten.
Der PowerPC-Mikroprozessor, der in IBMs RISC-System/6000-Workstation- und Macintosh-Computern verwendet wird, ist ein RISC-Mikroprozessor. Intels Pentium-Mikroprozessoren sind CISC-Mikroprozessoren. RISC nimmt jeden der längeren, komplexeren Befehle aus einem CISC-Design und reduziert ihn auf mehrere Befehle, die kürzer und schneller zu verarbeiten sind.
Was Sie über die CISC-Architektur wissen müssen
- CISC hat viele verschiedene Adressierungsmodi und kann daher verwendet werden, um Anweisungen einer höheren Programmiersprache effizienter darzustellen.
- es hat eine Mikroprogrammiereinheit.
- Beispiele für RISC-Familien sind DEC Alpha, AMD 29000, ARC, Atmel AVR, Blackfin, Intel i860 und i960, MIPS, Motorola 88000, PA-RISC, Power (einschließlich PowerPC), SuperH, SPARC und ARM.
- Es werden Codierungen mit variabler Länge der Anweisungen verwendet. Beispiel: Die IA32-Befehlsgröße kann von 1 bis 15 Byte reichen.
- Arithmetische und logische Operationen können sowohl auf Speicher- als auch auf Registeroperanden angewendet werden.
- Der Befehlssatz enthält eine Vielzahl von verschiedenen Befehlen, die für komplexe Operationen verwendet werden können.
- Die CISC-Architektur wird in Low-End-Anwendungen wie Sicherheitssystemen, Heimautomatisierung usw. verwendet.
- Der CISC-Prozessor verfügt über komplexe Befehle, die zur Ausführung mehrere Takte benötigen. Der durchschnittliche Taktzyklus pro Befehl (CPI) liegt im Bereich von 2 bis 15.
- Sie sind normalerweise weniger oder gar nicht mit Pipelines verbunden.
- Implementierungsprogramme sind vor Programmen auf Maschinenebene verborgen. Die ISA bietet eine saubere Abstraktion zwischen Programmen und deren Ausführung.
- CISC unterstützt bereits komplexe Adressierungsmodi.
- Die Komplexität von RISC liegt im Compiler, der das Programm ausführt.
- Die Leistung wird mit mehr Fokus auf die Hardware optimiert.
- Es benötigt einen externen Speicher für Berechnungen.
- Die Decodierung von Anweisungen ist komplex.
- Codeerweiterung ist kein Problem.
- Die Ausführungszeit ist sehr hoch.
- Es ist nur ein einzelner Registersatz vorhanden.
- Es verfügt über eine Speichereinheit, um komplexe Anweisungen zu implementieren.
- CISC haben eine kleine Programmgröße.
Was sind einige der Vorteile von CISC?
- Es ist einfach, dem Chip neue Befehle hinzuzufügen, ohne die Struktur des Befehlssatzes zu ändern, da die Architektur Allzweck-Hardware verwendet, um Befehle auszuführen.
- Es ist im Allgemeinen einfacher, CISC-Assemblycode zu schreiben als RISC-Assemblycode.
- CISC unterstützt die Mikroprogrammierung.
- Operanden im Speicher werden durch Anweisungen manipuliert.
- CISC verfügt über eine große Anzahl gut definierter Anweisungen, ein Faktor, der das Entwerfen und Implementieren von Hochsprachen erleichtert.
- Hat mehr Adressierungscodes und weniger Register.
Nachteile von CISC
- Sie können mehrere Zyklen pro Codezeile dauern.
- Bei einem typischen Programmiervorgang werden nur weniger als 30% der vorhandenen Anweisungen verwendet, obwohl mehrere spezialisierte Anweisungen existieren, die nicht einmal häufig verwendet werden.
- Die Gesamtleistung der Maschine wird aufgrund der unterschiedlichen Taktzeit, die von verschiedenen Befehlen benötigt wird, reduziert.
Was ist der Unterschied zwischen RISC V und CISC-Architektur in Tabellenform?
VERGLEICHSGRUNDLAGE | RISC | CISC |
Anzahl der Adressierungsmodi | RISC hat weniger Adressierungsmodi und die meisten Befehle im Befehlssatz haben einen Register-zu-Register-Adressierungsmodus. | CISC hat viele verschiedene Adressierungsmodi und kann daher verwendet werden, um Anweisungen einer höheren Programmiersprache effizienter darzustellen. |
Mikroprogrammiereinheit | Es ist eine fest verdrahtete Programmiereinheit. | Es hat eine Mikroprogrammiereinheit. |
Beispiele | System/360, PDP-11, VAX, AMD, Motorola 68000 und Desktop-PCs auf Intel x86-CPUs. | DEC Alpha, AMD 29000, ARC, Atmel AVR, Blackfin, Intel i860 und i960, MIPS, Motorola 88000, PA-RISC, Leistung (einschließlich PowerPC), SuperH, SPARC und ARM. |
Kodierung von Anweisungen | Es werden Kodierungen mit fester Länge der Anweisungen verwendet. Beispiel: In IA32 sind generell alle Befehle als 4 Byte kodiert. | Es werden Codierungen mit variabler Länge der Anweisungen verwendet. Beispiel: Die IA32-Befehlsgröße kann von 1 bis 15 Byte reichen. |
Arithmetische und logische Operationen | Arithmetische und logische Operationen verwenden nur Registeroperanden. | Arithmetische und logische Operationen können sowohl auf Speicher- als auch auf Registeroperanden angewendet werden. |
Das Anleitungsset | Der Befehlssatz ist reduziert, dh er hat nur wenige Befehle im Befehlssatz. Viele dieser Anweisungen sind sehr primitiv. | Der Befehlssatz enthält eine Vielzahl von verschiedenen Befehlen, die für komplexe Operationen verwendet werden können. |
Anwendung | Es wird in High-End-Anwendungen wie Videoverarbeitung, Telekommunikation und Bildverarbeitung eingesetzt. | Es wird in Low-End-Anwendungen wie Sicherheitssystemen, Hausautomation usw. verwendet. |
Prozessor | Seine Prozessoren haben einfache Befehle, die ungefähr einen Taktzyklus benötigen. | Sein Prozessor verfügt über komplexe Befehle, die zur Ausführung mehrere Takte benötigen. |
Prozessorpipelining | Seine Prozessoren sind stark Pipelines. | Prozessoren werden normalerweise weniger oder gar nicht gepipelinet. |
Umsetzungsprogramme | Implementierungsprogramme werden Programmen auf Maschinenebene ausgesetzt. | Implementierungsprogramme sind vor Programmen auf Maschinenebene verborgen. |
Komplexe Adressierungsmodi | Komplexe Adressierungsmodi werden unter Verwendung von Software synthetisiert. | Es unterstützt bereits komplexe Adressierungsmodi. |
Komplexität | Die Komplexität liegt im Mikroprogramm. | Die Komplexität von RISC liegt im Compiler, der das Programm ausführt. |
Leistung | Die Leistung wird mit mehr Fokus auf Software optimiert. | Die Leistung wird mit mehr Fokus auf die Hardware optimiert. |
Externer Speicher | Es benötigt keinen externen Speicher für Berechnungen. | Es benötigt einen externen Speicher für Berechnungen. |
Decodierung von Anweisungen | Die Decodierung von Anweisungen ist einfach. | Die Decodierung von Anweisungen ist komplex. |
Codeerweiterung | Codeerweiterung kann ein Problem sein. | Codeerweiterung ist kein Problem. |
Ausführungszeit | Die Ausführungszeit ist sehr gering. | Die Ausführungszeit ist sehr hoch. |
Register | Es sind mehrere Registersätze vorhanden. | Es ist nur ein einzelner Registersatz vorhanden. |
Speichereinheit | Es hat keine Speichereinheit und verwendet eine separate Hardware, um Anweisungen zu implementieren. | Es verfügt über eine Speichereinheit, um komplexe Anweisungen zu implementieren. |
Programmgröße | RISC haben eine große Programmgröße. | CISC haben eine kleine Programmgröße. |