Hallo
ist es sinvoll sich jetzt einen Quadcore-Prozessor zuzulegen,oder sollte man noch warten?Ich meine für einen Gamer-Pc.
Thx
Archiv Prozessoren 8.660 Themen, 54.742 Beiträge
Es müßte einen Mechanismus geben der alle Kerne ohne Unterstützung der Software nutzt.
Die werden doch auch alle genutzt. Eine Software die nur einen Thread hat kann aber immer auch nur auf einem CPU-Kern zur Zeit laufen. Wird auf einem Quad-CPU-System damit dann maximal 25% der verfügbaren CPU-Zeit nutzen können...
Bei dem nicht mehr unterstützten BeOs, waren die Kerne nahzu
gleich viel belastet also die Arbeit auf beiden Kernen in gleicher Höhe verteilt.
Das ist bei Windows doch auch Standard. Hat aber keinen konkreten Vorteil die Aualastung gleichmäßig auf alle CPUs zu verteilen. Wenn nur eine leistungshungrige Anwendung läuft springt diese zwischen den einzelnen CPUs umher und verliert dann jedes mal den Cache-Inhalt (bei Multi-Core-CPUs mit gemeinsamen Cachestufen nicht mehr ganz so dramatisch wie früher bei Multi-CPU-Systemen).
Schon NT 4 konnte "mehrere CPU`s" da hat aber glaube ich ebenfalls das Bs und nicht die Anwendungen die Kontrolle bei der Verteilung der Kerne übernommen.
Es ist absolut üblich, daß das Betriebssystem die Prozesse auf die CPUs verteilt.
Nt lief flüssiger - mehr noch als bei den heutigen Lösungen
wo anscheinend der Software die Entscheidung überlassen wird. -- Bei normalen Anwendungen.
Die Software kann dem Scheduler nicht rein reden. Wäre auch nicht sinnvoll. Was drin liegt ist die Zuordnung einer Prozesspriorität und ggf. noch die Bindung an eine bestimmte CPU(-Gruppe).
also wenn "jede" Aufgabe auf "alle" Kerne in gleichen
Anteilen zerlegt (verteilt) wird. Auch bei nur einer Aufgabe, oder einem Programm das garkein Mutiprozessing kennt.
Und genau das ist nicht möglich. Parallelisierung ist nicht so ganz einfach, vor allem wenn mehrere parallele Threads die selben Daten manipulieren. Auf Compilerseite gibt es zwar teilweise schon die Möglichlichkeit z.B. Schleifen automatisch parallelisieren zu lassen, aber auch das ist nur möglich wenn der Programmierer entsprechende Vorraussetzungen schafft.
Gruß
Borlander
Die werden doch auch alle genutzt. Eine Software die nur einen Thread hat kann aber immer auch nur auf einem CPU-Kern zur Zeit laufen. Wird auf einem Quad-CPU-System damit dann maximal 25% der verfügbaren CPU-Zeit nutzen können...
Bei dem nicht mehr unterstützten BeOs, waren die Kerne nahzu
gleich viel belastet also die Arbeit auf beiden Kernen in gleicher Höhe verteilt.
Das ist bei Windows doch auch Standard. Hat aber keinen konkreten Vorteil die Aualastung gleichmäßig auf alle CPUs zu verteilen. Wenn nur eine leistungshungrige Anwendung läuft springt diese zwischen den einzelnen CPUs umher und verliert dann jedes mal den Cache-Inhalt (bei Multi-Core-CPUs mit gemeinsamen Cachestufen nicht mehr ganz so dramatisch wie früher bei Multi-CPU-Systemen).
Schon NT 4 konnte "mehrere CPU`s" da hat aber glaube ich ebenfalls das Bs und nicht die Anwendungen die Kontrolle bei der Verteilung der Kerne übernommen.
Es ist absolut üblich, daß das Betriebssystem die Prozesse auf die CPUs verteilt.
Nt lief flüssiger - mehr noch als bei den heutigen Lösungen
wo anscheinend der Software die Entscheidung überlassen wird. -- Bei normalen Anwendungen.
Die Software kann dem Scheduler nicht rein reden. Wäre auch nicht sinnvoll. Was drin liegt ist die Zuordnung einer Prozesspriorität und ggf. noch die Bindung an eine bestimmte CPU(-Gruppe).
also wenn "jede" Aufgabe auf "alle" Kerne in gleichen
Anteilen zerlegt (verteilt) wird. Auch bei nur einer Aufgabe, oder einem Programm das garkein Mutiprozessing kennt.
Und genau das ist nicht möglich. Parallelisierung ist nicht so ganz einfach, vor allem wenn mehrere parallele Threads die selben Daten manipulieren. Auf Compilerseite gibt es zwar teilweise schon die Möglichlichkeit z.B. Schleifen automatisch parallelisieren zu lassen, aber auch das ist nur möglich wenn der Programmierer entsprechende Vorraussetzungen schafft.
Gruß
Borlander