News Mars: 64-Kern-Prozessor in 28 nm auf 640 mm² aus China

Ich würde RISC und SIMD auch nicht durcheinander werfen.

RISC/CISC sind CPU Designs. In einer RISC Architektur werden dann SIMD-Instruktionen implementiert.
 
Miuwa schrieb:
Wie kommst du dadrauf?

Mr.Seymour Buds schrieb:
Ich würde RISC und SIMD auch nicht durcheinander werfen.

RISC/CISC sind CPU Designs. In einer RISC Architektur werden dann SIMD-Instruktionen implementiert.

RISC ist die Idee möglichst wenige und möglichst einfache Instruktionen anzubieten um das Pipelining zu verbessern.
Zb. würde eine RISC CPU keine Modulo Operation anbieten, weil man diese durch eine Abfolge von Division, Multiplikation und Subtraktion auch berechnen kann.
Einen Befehl zu implementieren der intern mehrere Operationen durchführt würde gegen das Grundprinzip verstoßen, nämlich das Instruktionen möglichst elementar arbeiten sollen. Entsprechend müsste man auf einer RISC-CPU ein superskalares OoO-Design implementieren welches auf mehreren Ports die gleiche Operation anbietet um ein SIMD-äquvivalent anzubieten.

Ein 8086 hat 116 Instruktionen und ist eindeutig ein CISC Design. Da kann man schlecht behaupten der Mars mit ARMv8-ISA mit ~250 Instruktionen wäre ein RISC Design.

Abgesehen davon ist einer der wichtigsten Punkte bei einem RISC Design, dass alle Instruktionen gleich lange benötigen. Kann mir aber keiner erzählen, dass heutige CPUs für eine Division gleich lange wie für eine Addition benötigen.
 
Headcool schrieb:
RISC ist die Idee möglichst wenige und möglichst einfache Instruktionen anzubieten um das Pipelining zu verbessern.

Das ist auch nur teilweise richtig.

A common misunderstanding of the phrase "reduced instruction set computer" is the mistaken idea that instructions are simply eliminated, resulting in a smaller set of instructions.[20] In fact, over the years, RISC instruction sets have grown in size, and today many of them have a larger set of instructions than many CISC CPUs.[21][22] Some RISC processors such as the PowerPC have instruction sets as large as the CISC IBM System/370, for example; conversely, the DEC PDP-8—clearly a CISC CPU because many of its instructions involve multiple memory accesses—has only 8 basic instructions and a few extended instructions.

The term "reduced" in that phrase was intended to describe the fact that the amount of work any single instruction accomplishes is reduced—at most a single data memory cycle—compared to the "complex instructions" of CISC CPUs that may require dozens of data memory cycles in order to execute a single instruction.[23] In particular, RISC processors typically have separate instructions for I/O and data processing.

... (den Mittelteil kommentiere ich nicht. Mittag ist gleich schon rum).

Headcool schrieb:
Kann mir aber keiner erzählen, dass heutige CPUs für eine Division gleich lange wie für eine Addition benötigen.

Ich glaube das würde auch wirklich niemand behaupten. Division = so schnell wie die Weinbergschnecke. (ist auch eine schöne Übung für Anfänger. Alle Operationen ausmessen!).
 
Zuletzt bearbeitet:
Mr.Seymour Buds schrieb:
Das ist auch nur teilweise richtig.

A common misunderstanding of the phrase "reduced instruction set computer" is the mistaken idea that instructions are simply eliminated, resulting in a smaller set of instructions.[20] In fact, over the years, RISC instruction sets have grown in size, and today many of them have a larger set of instructions than many CISC CPUs.[21][22] Some RISC processors such as the PowerPC have instruction sets as large as the CISC IBM System/370, for example; conversely, the DEC PDP-8—clearly a CISC CPU because many of its instructions involve multiple memory accesses—has only 8 basic instructions and a few extended instructions.

Das ist wie mit dem Frosch und dem Wasser das immer wärmer wird.
Irgendwann gab es mal ein RISC-IS mit 50 Instruktionen. Dann gab es ein Update und es waren 60. Eine IS mit 20% mehr Instruktionen als ein RISC-IS ist natürlich immer noch ein RISC-IS. Das wiederholt sich dann halt öfters. Irgendwann hat dieses IS 70, 90, 120, etc Instruktionen. Wenn man das Jahrzehnte lang so macht landet man irgendwann im Jahre 2015 und meint PowerPC wäre ein RISC-Design...
Wenn man eine PowerPC-Prozessor 30-40 Jahre in die Vergangenheit senden würde, wäre man da der Meinung, dass das der wohl das beste Beispiel für ein CISC-Design sei.
Am Ende haben die Begriffe RISC & CISC wohl zahlreiche Durchwässerungen erlitten, weil es halt zuviele Frösche gibt. Eine korrekte Ansicht ist das aber nicht.

The term "reduced" in that phrase was intended to describe the fact that the amount of work any single instruction accomplishes is reduced—at most a single data memory cycle—compared to the "complex instructions" of CISC CPUs that may require dozens of data memory cycles in order to execute a single instruction.[23] In particular, RISC processors typically have separate instructions for I/O and data processing.

Ja, je einzelne Instruktion erledigt nicht mehr größere, komplexe Aufgaben, sondern einfache kurz dauernde. Genau das ist bei SIMD ja nicht der Fall.
Eine Instruktion als komplex zu bezeichnen, wenn sie mehrere RAM-Zugriffsyzklen braucht ist absurd. Bei einer modernen CPU sind ist mehrere Tausend Operationen die man die in einer solchen Zeit berechnen kann. Nur besondere bzw priviligierte Instruktionen brauchen so lange. Abgesehen davon sind Speicherreferenzen in fast allen Fälle keine Speicherzugriffe sondern nur Cachezugriffe.
Nach dieser Definition würde es nicht vom IS abhängen ob ein IS ein RISC- oder CISC-IS wäre, sondern vom Verhältnis zwischen der Geschwindigkeit von CPU und RAM. Bei aktuellen CPUs die andauernd rauf- und runtertakten hätte man abwechselnd ein RISC- oder CISC-Design, je nach Taktfrequenz. Man muss nicht jeden Scheiß von Wikipedia unhinterfragt zitieren.

Ich glaube das würde auch wirklich niemand behaupten. Division = so schnell wie die Weinbergschnecke. (ist auch eine schöne Übung für Anfänger. Alle Operationen ausmessen!).

Und ist damit ein Grund dafür das RISC zwar eine schöne Idee, ein korrekte Umsetzung aber nicht zweckmäßig ist. Außer man muss wirklich alle Instruktionen ausmessen. Da würde ich dann auch RISC bevorzugen oder noch besser OISC.
 
Ich glaube auch nicht jedes Wort, was bei Wikipedia steht. Aber worüber soll man diskutieren, wenn keine handfeste Aussage auf dem Tisch liegt? Die [23] kommt aus "RISC Principles" (Dandamudi, S.) erschienen im Springer Verlag New York (2005). Das ist eigentlich eine zitierwürdige Quelle. Da muss man ja nicht so stinkig reagieren ("Man muss nicht jeden Scheiß von Wikipedia unhinterfragt zitieren.").
 
Mr.Seymour Buds schrieb:
Ich glaube auch nicht jedes Wort, was bei Wikipedia steht. Aber worüber soll man diskutieren, wenn keine handfeste Aussage auf dem Tisch liegt? Die [23] kommt aus "RISC Principles" (Dandamudi, S.) erschienen im Springer Verlag New York (2005). Das ist eigentlich eine zitierwürdige Quelle. Da muss man ja nicht so stinkig reagieren ("Man muss nicht jeden Scheiß von Wikipedia unhinterfragt zitieren.").

Ich habe schön dargelegt wieso es Quatsch ist. Wenn jemand der Meinung ist, dass die Art des IS irgendwas mit der Latenz zwischen CPU und RAM zu tun hat und man folglich einen RISC- zu einem CISC-Prozessor machen kann bzw. umgekehrt indem man den Takt verändert, dann ist mir egal wer das ist und wo er seinen Müll veröffentlicht hat.
Wenn du die Meinung dieses Autoren vertrittst, dann kannst ja versuchen mich davon zu überzeugen, wieso meine Gründe diese Meinung abzulehnen, unberechtigt sind.
 
Zurück
Oben