Kann mir jemand die großen Unterschiede zwischen (RISC vs CISC) und dem RISC-V ISA erklären? Ich kann keinen relevanten Unterschied zwischen CISC und RISC-V im Internet finden.Unterschiede zwischen RISC-V und anderen ISAs
Antwort
RISC-V ist eine neue ISA, die in Berkeley entwickelt wurde, um Forschung und Ausbildung zu unterstützen. Es ist offen, sauber und leicht erweiterbar (und auch realistisch). Ein häufiges Problem bei Bauforschungsprozessoren ist es, eine ISA zu finden, die nicht mit Legacy-Entscheidungen verwechselt wird (Delay-Slots, Register-Fenster), nicht durch Patente geschützt ist und genug Opcode-Platz hat, um neue Anweisungen zu erforschen. Beschleuniger/Prozessor-Mikroarchitekturen.
Eine öffentliche Version (v2.0) kommt bald, und Sie können den aktuellen Entwurf unter riscv.org lesen. (Offenlegung: Ich verwende RISC-V für meine eigene Forschung und ich sitze neben den Jungs, die es entworfen und implementiert haben). [Edit:. Es wurde ab Mai 2014 offiziell freigegeben (http://riscv.org/download.html#tab_isaspec)]
Hinsichtlich des Vergleichs zu anderen ISAs, ist es wahrscheinlich am ähnlichsten MIPS und ARMv8 (RISC-V v1.0 wurde tatsächlich vor ARMv8 veröffentlicht Es ist eine Load-Store-Architektur (keine Register-Speicher-Operationen wie x86, außer für eine Reihe von AMOs). Es gibt einige Teile von RISC-V, die man wie "CISC-y" argumentieren könnte um komprimierte Befehle aus Energiegründen (16b) oder größere Anweisungen für noch mehr Opcode-Platz zu unterstützen (variable Befehlslänge ist eine optionale Obermenge, die Basismenge der ISA sind alle 32b-Befehle). Auch FMAs fühlen sich ein wenig CISC-y an, mit drei Quelloperanden und zwei Operationen. Aber jetzt mäandern wir in Meinungsgebiet von was ist CISC und was ist RISC Am Ende des Tages ist RISC-V eine sehr einfach zu entschlüsseln ISA, und alle Anweisungen darin sind einfach zu planen und zu tun, Gefahrenkontrolle (keine seltsamen Nebenwirkungen, wie Sie in CISC ISAs finden würden).
RISC-V ist eine Forschungs-ISA, aber es gibt bereits mehrere FPGA-Softcore-Implementierungen, nicht , um Simulatoren zu erwähnen. Es ist am ähnlichsten mit MIPS (und NIOS 2, MicroBlaze, Alpha, LM32, ...), aber ein wichtiger Unterschied ist, wie Zweige behandelt werden:
Sichtbare Branch Delay Slots wurden weitgehend als komplizierte Super-Skalar-Implementierungen erkannt und sind anspruchsvoll für Compiler zu füllen. Mit Fortschritten in der Verzweigungsprognose werden sie nicht mehr benötigt und RISC-V lässt sie daher weg. Da Verzweigungen später in der Pipeline aufgelöst werden können, können die bedingten Verzweigungen von RISC-V außerdem zwei beliebige Register für Gleichheit und Ordnung vergleichen.
Ich möchte nur hinzufügen, dass sie gemäß ihrem User-Level-Handbuch (http://riscv.eecs.berkeley.edu/) ein halbes Dutzend Designs erstellt haben, die RISC-V implementieren (für Forschungszwecke). . – Chris
- 1. Unterschiede zwischen RISC-V und anderen ISAs
- 2. Bash Unterschiede zwischen {} und()?
- 3. Unterschiede zwischen Log und Logger?
- 4. Unterschiede zwischen BaseHttpServer und wsgiref.simple_server
- 5. Unterschiede zwischen `.EditingDidEnd` und` .EditingDidEndOnExit`
- 6. Unterschiede zwischen Go und Cython
- 7. Unterschiede zwischen Mustererkennung und Vereinheitlichung?
- 8. Unterschiede zwischen ActionExecutingContext und HttpActionContext
- 9. Unterschiede zwischen memchr() und strchr()
- 10. Unterschiede zwischen Thread.sleep() und TimeUnit.SECONDS.sleep()
- 11. Unterschiede zwischen Minimalschlüssel und Kandidatenschlüssel?
- 12. Unterschiede zwischen Coroutines und `goto`?
- 13. Unterschiede zwischen _redirect ('*/* /') und _redirect ('*/*')
- 14. Unterschiede zwischen schwach und unsafe_unreated
- 15. Unterschiede zwischen RestKit und AFIncrementalStore
- 16. Unterschiede zwischen BasicRenderEngine und LazyRenderEngine?
- 17. Unterschiede zwischen AForge und OpenCV
- 18. Unterschiede zwischen ado und bde
- 19. Unterschiede zwischen OPC und DDS?
- 20. Unterschiede zwischen mousemove und touchnove
- 21. Unterschiede zwischen Boost.Coroutine und Boost.Coroutine2
- 22. Unterschiede zwischen Datenattributen und Methodenattributen
- 23. Unterschiede zwischen char * und String
- 24. Unterschiede zwischen Funktoren und Endofunkern
- 25. Unterschiede zwischen JPA und JPA2
- 26. Unterschiede zwischen RxJava1 und RxJava2
- 27. Unterschiede zwischen MPI_Scatter und MPI_Bcast
- 28. Unterschiede zwischen org.apache.log4j.RollingFileAppender und org.apache.log4j.rolling.RollingFileAppender
- 29. Unterschiede zwischen Coq und Agda
- 30. Unterschiede zwischen NoClassDefFoundError und ClassNotFoundException?
RISC - Reduzierter Befehlssatz Computer und CISC - Complex Instruction Set Computer. – squiguy
Ich denke, Sie haben zumindest Wikipedia Artikel über RISC/CISC gelesen. RISC-V ist ISA hauptsächlich für Bildungszwecke konzipiert. Details finden Sie in http://inst.eecs.berkeley.edu/~cs152/sp12/handouts/riscv-spec.pdf. – dbrank0
@ dbrank0 danke! – Matei