Techniker Freak
Was ja VISC wirklich interessant macht, die Technik arbeitet ähnlich wie VLIW. Wäre ja nicht so, als ob AMD da keine Erfahrung hätte.
Transmeta hat damals ein X86 Code in ein VLIW Code umgewandelt und dann von den Threads abgearbeitet und als 1 Thread behandelt.
Hier wird aber von 4 Cores gesprochen, die ähnliches machen sollen.
Im Text wird ja eh schön beschrieben. 1 Core 50-60 % und jeder weitere Core dann immer weniger sodass ab 4 Cores ein weitere kaum noch was bringt.
Aber für einen Core mit 1 virtuellen Core (also HTT) würde man so quasi eine IPC Steigerung schaffen. Man hätte SMT wir Intel, aber völlig anders integriert.
Fraglich ist nur, ob das nur über ein Modul geht (klingt zu mindestens so), oder auch Modul übergreifen funktioniert. Es ist eben sehr wenig bekannt.
Problem dürfte bisher niedrige Taktrate sein und die darf man in einem Design nun mal nicht vergessen.
[F]L4SH
Naja, man muss bei Begriffen wie CMT schon aufpassen, weil auch diese Abkürzung kann bei anderen Hersteller was anders bedeuten.
Aber VISC würde bei AMD Wahrscheinlich unter CSMT fallen (Clustered Simultaneous Multi-Thread).
Was ein Thread angeht. Da gibt es ja so einige Englische Foren wo man schön mitlesen kann.
Hier eine PDF, falls wer lesen möchte
http://softmachines.com/wp-content/uploads/2014/10/MPR-11303.pdf
Was ich in einem Komentar auf die schnelle gelesen habe, soll das Fron-End sehr groß sein. Die Cores selbst aber eher klein und schlank.
oft Machines has created an intermediate software layer that can translate from any
standard instruction set into threadable VISC instructions,
he company has spent seven years and $125 million to develop and validate its technology
vestors include AMD, GlobalFoundries, and Samsung as well as government investment funds from Abu Dhabi (Mubdala), Russia (Rusnano and RVC), and Saudi Arab
ia (KACST and Taqnia).
Compared with a high IPC processor such as Haswell, the front end is of similar complexity, but the scheduler in each physical core is much simpler, as it manages only a few function units (versus eight in Haswell). The data cache also has fewer ports and can cycle faster. Because the execution resources of both cores can apply to a single thread, however, even a two core VISC processor can deliver total ALU operations or memory operations per cycle that match or exceed those of Haswell.
VISC relies on a unique internal instruction set to do its magic, but true to its name, Soft Machines provides a conversion layer that converts from a standard instruction set to VISC
Dazu muss man sagen, dass in der Einleitung bereits von der Rede war, dass man damals vieles versucht hat im Compiler umzusetzten. Intel ist hier groß als Beispiel zu nennen.
a single VISC processor can emulate a traditional multicore design
because a VISC core can mix instructions from multiple threadlets
From a software viewpoint, the heavy thread runs on a single virtual core that comprises more than one physical core, while the light thread runs on a virtual core that uses only a portion of a physical core.
Es wird auch beschrieben wie zwei Aufgaben, davon eine schwer und eine andere Leicht auf einen Dual Core aufgeteilt wird. So werden zwei Threads geschaffen, wobei einer für die schwere Aufgabe da ist und der andere für die Leichte. Der Thread für die Schwere Aufgabe teilt aber einige Ressourcen des anderen Cores, wobei der Rest des anderen Core dann für die "Einfache" Aufgabe verfügbar wäre.
its fontend hardware will recognize which threads need more performance and allocate the virtual core resources appropriately. The operating system need not know the number of physical cores in the processor to assign threads or balance the load
Jetzt aber zum Problem des Design :
Because it uses a pipeline with only 10 stages (including some extra stages for VISC scheduling), the CPU cannot match the high clock speeds of leading edge x86 and ARM processor.
We estimate the chip runs at several hundred megahert
It estimates the second core improves performance by an average of 50 - 60% across a variety of benchmarks
Sonst liest sich das schön. Denn soviel ich verstanden habe, kann das Frontend selbst Threads erstellen und diese dann je nach Bedarf Cores zuteilen und abarbeiten. So kann ein solcher VISC Prozessor mehrere Threads aufeinmal bearbeitn wie ein Multi-Threads Prozessor, oder wenn eine schwere Aufgabe kommt, kann das Frontend mehreren Cores dann einen größeren Thread zuordnen.
Der Compiler selbst muss nicht angepasst werden und diesem ist auch ein VISC Modul "verborgen".
Also das Problem ist wohl die sehr knappe Pipeline von 10 Stages ^^ Davon sind aber auch enige für VISC scheduling inkludiert.
Also so glaube ich eher, dass man solche Chips eher in low - power Design sehen könnte. Wo ein solcher Prozessor mit einer hohen IPC die selbe Performance schafft, wie andere Prozessoren mit mehr Takt. Je nach Bedarf X86 oder ARM Code abarbeiten kann. Da hätte der niedrigere Takt keinen Nachteil.
Aber wer weiß, vllt konnte AMD Jaguar mit VISC mit SMT kombinieren ^^ Jaguar selbst hat auch nur "15" stages und läuft immerhin mit 2 GHZ.