
Soundkraft
- Registriert
- 25.09.11
- Beiträge
- 6.794
- Reaktionen
- 4.214
- Punkte
- 21.105
In der CPU Pipeline werden bereits mehrere verschiedene Operationen parallel (zeitgleich) ausgeführt. Gewisse Algorithmen sorgen dann dafür, dass die Pipeline zu jeder Zeit möglichst effektiv und gleichmäßig befüllt ist.
Zunächst mal...bei mir brauchst du nicht bei NULL anfangen...ich kenn mich einigermassen aus, auch wenn ich nicht unbedingt "Fachmann" bin. Aber immerhin hab ich mal ein paar Bücher über Prozessoren gelesen und hab auch mal programmiert (teilweise in Maschinensprache)...auch wenns schon lange her ist...zuletzt glaube ich Pentium 1 ...aber die Grundmechanismen haben sich da kaum geändert. Jetzt nur mal so
Mit Paralellisierung meinte ich nicht die CPU-Paralellisierung (die kann ja schon innerhalb eines PLugins SInn machen) sondern die Paralellisierung der Plugins die in einer SPur hintereinander im Insert sitzen.
Also eine eher ganz einfache Geschichte...wenn z.b. der Kompressor natürlich erstmal darauf warten muss, was der EQ der davor sitzt erzeugt. Der Kompressor muss also erstmal die Berechnung des EQ abwarten. Aber natürlich kann der Kompressor selber (und auch der EQ) selbst schon parrallelisiert sein...und die anderen Spuren können in der Zeit ja auch schon berechnet werden. Wenn ich näher drüber nachdenke hat mulli vllt sogar recht, dass der gleiche Speicherbereich natürlich Sinn macht schon wegen der schnelleren Umschaltung...es muss ja immer zwischengesichert werden wenn der Core sich ner anderen Aufgabe zuwendet. ...wenn man den Datenbereich so klein hält dass er in den Prozessorcache passt hilft das sicher leistungsmässig.
Insofern stimme ich deiner Aussage mit dem Level 3 Cache auch zu.
Ja..hm..ist eigentlich zu komplex um sich darüber zu unterhalten...und da gibts ja auch keine "beste" Lösung...ist halt immer vom Problem abhängig...und die Hersteller lösen das ja auch immer anders...und selbst die CPU-Hersteller machen da immer irgendwie anders ihre Kompromisse...als da wäre z.b. Pipelining vs Overhead bzw auch falsche Sprungvorhersagen....darum kann ein Prozessor bei der einen Aufgabe schneller sein als ein anderer und bei einer anderen Aufgabe langsamer....die Kunst ist dabei die Häufigkeit einer bestimmten Situation einzuschätzen...die Programmierer wiederum programmieren so, dass die CPU möglichst häufig den "günstigeren Sprung" machen kann...das nennt sich dann Optimierung ...und kann auf nem anderen Prozessor dann sogar negativ ausfallen.
Das ist Sache des Plugins....und zumindest Reaper mischt sich da auch nicht ein, wenn man es so einstellt dass die Plugins als separater Prozess betrachtet werden. Wenn ich das nicht falsch sehe kann auch eine DAW die nur Singlecore unterstützt durchaus ein Plugin benutzen dass von sich aus Multicore arbeitet....also mal grundsätzlich gesehen.Es sei denn die DAW kriegt es gebacken, ein einzelnes Plugin auf mehrere Threads aufzusplitten.