PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ist die PS3 CPU multicore?


Gul Westfale
2006-11-21, 21:55:29
(entschuldigung fuer rechtschreibung/grammatik, ich wohne schon seit 15 jahren im ausland)

also ich versteh das so:
ne moderne CPU besteht ja aus 2 teilen, einer integer unit (ganze zahlen) und einer FPU (floating point unit, komma zahlen). es gibt da noch anderen kram (memory controllers und so weiter), aber der "kern" besteht aus integer und FPU.

ein athlon64 X2 hat also 2 integer units und 2 FPUs; aber so wie ich das verstehe hat eine PS3 CPU ja nur eine einzige integer unit (einen 64-bit POWER kern). die anderen "cores" die sony SPE nennt sind ja nur FPUs.
also habe ich da drei fragen:

1. sind die SPEs denn wirklich nur FPUs? ich finde keine artikel die das gut erklaeren, nur sony marketing bullshit.

2. sind FPUs wichtiger fuer spiele-entwickler? mit komplizierter physik und artificial intelligence muesste die FPU ja wichtiger werden (hoehere praezision?), aber ist die abwesenheit mehrer integer units beim Cell prozessor etwas sehr negatives fuer spiele?

3. mann kann mehrere verschiedene threads ueber die SPEs gleichzeitig laufen lassen (1 thread pro SPE?), aber ist der eigentliche kern des cell chips, die 64-bit POWER integer unit, multithreaded?

vielleicht verstehe ich das alles falsch, aber wie gesagt kann ich keine guten artikel zu dem thema finden.

Neon3D
2006-11-21, 23:21:50
http://de.wikipedia.org/wiki/Ps3

Gul Westfale
2006-11-21, 23:28:05
jetzt seh ich aber bloed aus... haette einfach nur mal auf wikipedia nachgucken muessen...

ich versteh aber immer noch nicht ob denn die SPEs "volle" cores sind oder doch nur FPUs?

dildo4u
2006-11-21, 23:32:58
jetzt seh ich aber bloed aus... haette einfach nur mal auf wikipedia nachgucken muessen...

ich versteh aber immer noch nicht ob denn die SPEs "volle" cores sind oder doch nur FPUs?

"Die 8 SPUs (Synergistic Processing Units, auch Synergistic Processing Elements - SPEs - genannt) des Cell Chips sind mit bis zu 4,6 GHz getaktet. Sie haben - wie die CPU - eine Fließkomma- und Integer-Einheit und verwalten ihren 256 KB großen Speicher mittels eines 128-Bit-Registerfiles selbst. Außerdem können Sie auf den Cache der CPU zugreifen"

http://www.the-cell-chip.de/wiki/index.php?title=Technik

TigerAge
2006-11-22, 00:02:44
Ich stelle mich auch mal blöde: Der Cell-Prozessor hat doch dann (so verstehe ich es) einen Prozessorkern mit mehreren Nebenkernen, welche ihm zuarbeiten. Ist das so etwa richtig? Dann wäre quasi das Prinzip der 486er mit mathematischem Co-Prozessor kopiert.

Grüße

Gast
2006-11-22, 00:41:34
Im Groben kann man das vergleichen.

micki
2006-11-22, 00:58:10
ein core identifiziert sich eigentlich dadurch, dass er nach aussen eine cpu darstellt. wobei das nicht so einfach zu definieren ist.
so hat z.b. der neuste ultrasprac nur eine fpu, mehrere int-ALUs und stellt nach aussen 8 cpus dar, weil 8 verschiedene programme darauf ablaufen koennen und SUN behauptet es waeren 8cores, intel hingegen hat P4 die so in etwa arbeiten, die werden aber nur hypertreahding genannt, nicht dualcore.



nachd den papern von IBM hat der Cell bis zu 8SPUs auf denen programme fuer sich ablaufen koennen und eine PPU die 2CPUs nach aussen darstellt und wohl nur mit 1.6GHz getaktet ist, die SPUs haben 3.2GHz.

an sich kann man sagen dass auf einem cell 10core vorhanden sind, da sie eigentlich unabhaengig voneinander laufen koennen (wenn ein core stirbt z.b. endlosschleiffe, koennten die anderen eigentlich weiterarbeiten).

Gul Westfale
2006-11-22, 04:09:54
also man koennte sagen dass cell ein cluster auf einem chip ist? wo es einen "master" gibt der die arbeit verteilt (power core) und mehrere "slaves" die die arbeit verrichten (SPEs)? und da das ganze auf einem chip laeuft spielt bandbreite eigentlich keine rolle, ausser dem problem das alle programme ja in den cache der CPU reinpassen muessen da die SPEs selbst ja wohl nicht auf den hauptspeicher zugreifen koennen, oder? wieviel bandbreite muss die maschine denn haben um alle CPUs mit genuegend daten zu versorgen?

PrefoX
2006-11-22, 04:15:38
Es ist einfach eine andere CPU architektur, es ist EINE CPU, egal wieviele SPUs sie hat.

Es ist ja nur eine Einheit (cell) die rechnet und ende. Es ist kein gängiges aufbauschema aber das macht dann auch keinen unterschied.

micki
2006-11-22, 07:00:06
Es ist einfach eine andere CPU architektur, es ist EINE CPU, egal wieviele SPUs sie hat.

Es ist ja nur eine Einheit (cell) die rechnet und ende. Es ist kein gängiges aufbauschema aber das macht dann auch keinen unterschied.ging ja um die frage ob die cpu multicore ist, dass eine cpu eine cpu ist, diese frage stellt sich nicht, denn selbst intels quadcore ist eine cpu (entsprechend sind die licences der software).

ausser dem problem das alle programme ja in den cache der CPU reinpassen muessen da die SPEs selbst ja wohl nicht auf den hauptspeicher zugreifen koennen, oder?soweit ich weiss koennen sie das indirekt indem sie einen DMA-controller haben mit dem sie die daten vom oder zum ram kopieren koennen. deswegen koennten alles SPUs unabhaengig laufen, es war von IBM usw. absicht, dass die programmierer sich ausdenken wie die daten hin und her geschickt werden, statt dass ein controller 'ins blaue' speicher anfordert und wegschreibt, dadurch kann man sehr effiziente systeme programmieren.

Gast
2006-11-22, 17:42:13
Also das Linux zeigte 2 große Tuxe und 6 kleine drunter an. Das hat ja irgendwie mit der CPU-Organisation zu tun.

Gast
2006-11-22, 17:44:30
Wieviel GHZ kann man dann effektiv nennen?

Ganon
2006-11-22, 18:09:01
3,2 Ghz. ;)

Ringwald
2006-11-22, 18:13:03
3,2 Ghz. ;)

7*3,2Ghz oder nur 1*3,Ghz?

Sorry bin ein noob in solchen Sachen :redface:

micki@work
2006-11-22, 19:01:05
7*3,2Ghz oder nur 1*3,Ghz?

Sorry bin ein noob in solchen Sachen :redface:
das haengt vom programm ab und liegt von 0.8GHz(ohne optimierung) bis 9*3.2Ghz(perfekte last aufteilung ohne overhead) beim cell bzw 8*3.2Ghz im falle des cells in der PS3

falls du Spiele im Blick hast, schaetze ich dass diese ca 5%(Mobile Suit Gundam) bis 30% der moeglichen Cell leistung zur zeit nutzen.

Ringwald
2006-11-22, 19:27:21
das haengt vom programm ab und liegt von 0.8GHz(ohne optimierung) bis 9*3.2Ghz(perfekte last aufteilung ohne overhead) beim cell bzw 8*3.2Ghz im falle des cells in der PS3

falls du Spiele im Blick hast, schaetze ich dass diese ca 5%(Mobile Suit Gundam) bis 30% der moeglichen Cell leistung zur zeit nutzen.

Verstehe, wie stark ist die CPU der Xbox360 zurzeit durchschnittlich von dem meisten Spielen her ausgelastet?
So als netter kleiner Vergleich wie weit beide Konsolen ausgelastet sind :smile:

PS: Im Falle von Gundam kann ich mir die 5% gut vorstellen, was ich davon an Grafik sah dachte ich ohne Witz das wäre ein Xbox (1) Spiel :frown:

micki
2006-11-22, 21:09:57
Verstehe, wie stark ist die CPU der Xbox360 zurzeit durchschnittlich von dem meisten Spielen her ausgelastet?
So als netter kleiner Vergleich wie weit beide Konsolen ausgelastet sind :smile: schon beim release gab es einige spiele die wohl ca 80%-90% auslastung erreicht haben (afaik z.b. kameo)
bei der ps2 haben laut sony nur 7% der spiele die Vektorunit benutzt die der cpu zur hilfe stand, das heisst, dass 93% aller spiele allerhoechstens 50% der moeglichen auslastung (und leistung) nutzten.

wobei man die auslastung oder die GHz summe nicht mit leistung gleichsetzen sollte. Jeden duerfte klar sein, dass man mit einem besseren algorithmus, weniger auslastung produzieren kann, obwohl man trotzdem schneller ist (wenn man z.b. eine abkuerzung geht, leistet man wenig, schwitzt vielleicht nicht, aber erreicht sein ziel trotzdem und schneller).


PS: Im Falle von Gundam kann ich mir die 5% gut vorstellen, was ich davon an Grafik sah dachte ich ohne Witz das wäre ein Xbox (1) Spiel :frown:wer weiss was fuer gruende die hatten, aber wenn man ein system wie psx,ps2,ps3 programmiert, muss man von anfang an richtig arbeiten, weil es am ende schwer ist noch gravirende maengel zu beheben.
bei der Xbox (wie auch beim pc) ist es hingegen einfacher (wenn auch nicht einfach) im nachinein noch optimierungen durchzufuehren.

Ganon
2006-11-22, 21:22:59
schon beim release gab es einige spiele die wohl ca 80%-90% auslastung erreicht haben (afaik z.b. kameo)

Nunja. Die XBOX360 CPU hat ja noch riesige SIMD-Einheiten. Das die schon (aus-)genutzt wurden, glaube ich weniger.

Ich schätze auch das es bei der PS3 wie bei der PS2 laufen wird. Die meisten Spiele werden nur die SPUs nutzen, die die (Physik-,Sound-,...)Engine darunter sich ggf. nimmt.

Aktiv wird da wohl heute kaum einer werden, da die Produktion an sich schon teuer genug ist.

Aber man wird's ja sehen. ;)

The Cell
2006-11-22, 21:55:49
Darf ich mal fragen, wie hier auf die Auslastungen gekommen wird?
Hat die Box oder PS3 einen Taskmanager, mit der man die Last anzeigen lassen kann?
Oder sind das gefühlte Werte?

Ringwald
2006-11-22, 22:17:18
Es gibt ja diverse Aussagen von Spieleentwickler....

Gast
2006-11-22, 23:09:32
Darf ich mal fragen, wie hier auf die Auslastungen gekommen wird?
Hat die Box oder PS3 einen Taskmanager, mit der man die Last anzeigen lassen kann?
Oder sind das gefühlte Werte?
Die PS3 hat mit Sicherheit sowas wie einen 'Windows'-Taskmanager. Es gibt ja bereits ein komplettes Linux für die PS3. http://winfuture.de/news,28016.html Es dürfte also nicht lange dauern, bis die ersten echten Core-Benchmarks auch auf der PS3 laufen. Problem: Es werden wie bei den Dualcore-Benchmarks mal wieder zu 100% nur Synthis sein, welche den Blick auf die tatsächliche Leistung verschleiern. Bei PCs ist es immo doch immernoch so, daß alle Apps im Schnitt 5% langsamer auf einem Dualcore laufen, als auf einem Singlecore... oder hat sich da inzwischen mal was getan?
Will heißen: DCs sind bei Spielen im Vergleich zu gleich bestückten (Takt und Cache) SCs langsamer, da es immernoch keine Spiele/Apps gibt, die wirklich vom DC profitieren - wie auch? - DCs können sich gegenseitig nicht 'sehen'. Die Linke weiß nicht, was die Rechte tut, könnte man sagen. - Power is nothing without control.
Ob das beim Cell besser wird.... ich hoffe es sehr. Hängt alles davon ab, wie die einzelnen Teile der CPU miteinander verknüpft sind. Wenn jeder Core nur 'blind' sein eigenes Süppchen löffelt, dann wird der Performance-Boost genauso unmerklich ausfallen wie bei aktuellen DCs.
Im Prinzip glaube ich aber schon, daß der Cell diesen Konstruktionsfehler nicht hat. (Hab noch keine Zeit gefunden mir die Datenblätter anzusehen... gibt es überhaupt schon zuverlässige Datenblätter? - oder ist das alles noch rein spekulativ?)

micki
2006-11-22, 23:18:11
Nunja. Die XBOX360 CPU hat ja noch riesige SIMD-Einheiten. Das die schon (aus-)genutzt wurden, glaube ich weniger.
naja, ich hab halt die zeit angenommen in denen die einzelnen CPUs was nuetzliches machen, die auslastung aller moeglichen teile der cpu kann ich nicht einschaetzen, wer weiss wieviel der SIMD-einheiten mit der ALU/FPU usw. geshared sind.
aber ich glaube auch nicht dass die SIMDs nicht sonderlich ausgenutzt wurden, aber das werden sie in zukunft auch nicht werden, denn eigentlich hat man nicht so uebermaessig viele (verschiedene) aufgaben die SIMDs brauchen. physic, sound und was noch? compression und spiellogic wird eher andere teile brauchen. vielleicht noch fuer transformationen (da die cpu wohl die gpu fuettern kann? stand irgendwo mal).


Ich schätze auch das es bei der PS3 wie bei der PS2 laufen wird. Die meisten Spiele werden nur die SPUs nutzen, die die (Physik-,Sound-,...)Engine darunter sich ggf. nimmt.

Aktiv wird da wohl heute kaum einer werden, da die Produktion an sich schon teuer genug ist.da bin ich anderer meinung, bei der PS2 konnte man sich das noch leisten, da die meisten mathematischen dinge von der anderen Vektorunit gemacht wurden, die cpu hat dann nur einfache dinge berechnet und war an sich ausreichend leistungsfaehig.
Nun ist aber die PPU nicht leistungsstaerker als die Wii-cpu. man wird schon extrem auf die SPUs auslagern muessen damit man performance hat, was natuerlich nicht einfach sein wird wegen dem speichermanagement, aber selbst logic auf der SPU ablaufen zu lassen duerfte performanter sein als auf der PPU.
ansonsten -> Gundam

micki
2006-11-22, 23:22:17
Darf ich mal fragen, wie hier auf die Auslastungen gekommen wird?
Hat die Box oder PS3 einen Taskmanager, mit der man die Last anzeigen lassen kann?
Oder sind das gefühlte Werte?es gab (sogar hier im forum) links zu den statistiken die MS veroeffentlich hat. die Werte von der ps2 wurden im ps2.linux forum mal veroeffentlich und die PS3 werte sind meine schaetzungen...

icemanemp
2006-11-22, 23:54:23
schon beim release gab es einige spiele die wohl ca 80%-90% auslastung erreicht haben (afaik z.b. kameo)
bei der ps2 haben laut sony nur 7% der spiele die Vektorunit benutzt die der cpu zur hilfe stand, das heisst, dass 93% aller spiele allerhoechstens 50% der moeglichen auslastung (und leistung) nutzten.

Schöne Gerüchteküche...
Ich sehe das so ein Entwickler der für die PS3 programmiert, muss ich zwangsläufig mit Codeoptimierung auseinandersetzen, da das Spiel sonst wirklich schlecht läuft, wenn optimiert wird, dann besser als auf der X 360. Dafür ist die CELL eben ziemlich komplex und Multithreading auf dieser Architektur kann man nicht von heute auf morgen umsetzen...
Aber MS denkt mit und kennt sich vor allem in Software-Entwicklung sehr gut aus, daher hat man mit der XBOX 360 eine Chance Spiele zu programmieren, die nur durch den Compiler und die Tools so gut auf der XBOX 360 laufen, das man sie verkaufen kann (Schwarze Schafe gibt es überall...). Ich halte 80%-90% CPU-Auslastung einfach als falsche Interpretation von Leute, die mit der Materie keine Ahnung haben. Ich bin selbst Software-Entwickler, aber ich nehme mir nicht das Recht raus darüber zu entscheiden/spekulieren das es auf jeden Fall 80%-90% Auslastung der XBOX 360-CPU schon bei den ersten Spielen waren...(du übernimmst ja auch nur das was andere sagen, daher nichts gegen dich) Ich vertraue da wirklich den meisten Entwickleraussagen (und nicht nur die 2, die sagten das die XBOX 360 80% ausgelastet ist) und glaub das MS sehr sehr gute Entwicklertools oder eben ganze Entwicklungsumgebungen beilegt, die es sehr einfach machen, aber die Möglichkeit in die "Tiefe" zu gehen jedem Entwickler offen lassen und das die XBOX 360 noch vieles zu bieten hat!

00ich
2006-11-23, 00:18:44
Schöne Gerüchteküche...
Ich sehe das so ein Entwickler der für die PS3 programmiert, muss ich zwangsläufig mit Codeoptimierung auseinandersetzen, da das Spiel sonst wirklich schlecht läuft, wenn optimiert wird, dann besser als auf der X 360. Dafür ist die CELL eben ziemlich komplex und Multithreading auf dieser Architektur kann man nicht von heute auf morgen umsetzen...
Aber MS denkt mit und kennt sich vor allem in Software-Entwicklung sehr gut aus, daher hat man mit der XBOX 360 eine Chance Spiele zu programmieren, die nur durch den Compiler und die Tools so gut auf der XBOX 360 laufen, das man sie verkaufen kann (Schwarze Schafe gibt es überall...). Ich halte 80%-90% CPU-Auslastung einfach als falsche Interpretation von Leute, die mit der Materie keine Ahnung haben. Ich bin selbst Software-Entwickler, aber ich nehme mir nicht das Recht raus darüber zu entscheiden/spekulieren das es auf jeden Fall 80%-90% Auslastung der XBOX 360-CPU schon bei den ersten Spielen waren...(du übernimmst ja auch nur das was andere sagen, daher nichts gegen dich) Ich vertraue da wirklich den meisten Entwickleraussagen (und nicht nur die 2, die sagten das die XBOX 360 80% ausgelastet ist) und glaub das MS sehr sehr gute Entwicklertools oder eben ganze Entwicklungsumgebungen beilegt, die es sehr einfach machen, aber die Möglichkeit in die "Tiefe" zu gehen jedem Entwickler offen lassen und das die XBOX 360 noch vieles zu bieten hat!

Ich kann mir auch kaum vorstellen, dass die Xbox360 CPU schon ausgenutzt ist. Allerdings eher weil sie eine ziemlich unangenehme Konstruktion zu sein scheint. Die Latenz zum Speicher (GDDR Ram), der nochmal hinter dem Memory Controller der GPU versteckt ist und auch nur geteilt ist sollte schon recht hoch sein. Dazu noch einen für die 6 Threads nicht sehr großen Cache und natürlich das fehlen der OutOfOrder Execution, die nach Microsofts Philosophie, es dem Entwickler möglichst einfach zu machen, sehr gut zur Xbox360 gepasst hätte und auch ursprünglich vorgesehn war (http://www.beyond3d.com/forum/showpost.php?p=823134&postcount=34).

Auch haben die Entwickler immer noch ihre Schwierigkeiten wirklich parallelen Code zu programmieren (ob nun auf PS3 oder Xbox360), der dann auch wirklich alle Cores (bzw Hardware-Threads) über den Verlauf eines ganzen Frames ausnutzt.

Ausser der HD-DVD Wiedergabe dürfte also imo nichts die XBox360 CPU auch nur ansatzweise auslasten und auch 80% scheinen mir in weiter Ferne zu liegen. Man erinnere sich an die große Neuigkeit, dass die Unreal Engine jetzt mehr als einen Thread benutze. Dreimal odr gar 6 mal so gut lief es dadurch ganz sicher nicht.

micki
2006-11-23, 00:44:11
Schöne Gerüchteküche...lass das flamen und lies lieber richtig was ich schrieb. z.b. dass ich mich in bezug auf Xbox auf die aussage von MS beziehe und anderer guter entwickler z.b. Rare

Ich halte 80%-90% CPU-Auslastung einfach als falsche Interpretation von Leute, die mit der Materie keine Ahnung haben.
leute wie die, die dieses paper (http://download.microsoft.com/download/5/b/e/5bec52bd-8f96-4137-a2ab-df6c7a2580b9/Coding_for_Multiple_Cores.ppt) schrieben?

wie du dort lesen kannst, nutzen die spiele 2.2-2.5 bzw 2.0-3.0 cores, also ca 73% bis 100%, ca 85% im schnitt, mit darauf berief ich mich.

HotSalsa
2006-11-23, 02:35:42
lass das flamen und lies lieber richtig was ich schrieb. z.b. dass ich mich in bezug auf Xbox auf die aussage von MS beziehe und anderer guter entwickler z.b. Rare


leute wie die, die dieses paper (http://download.microsoft.com/download/5/b/e/5bec52bd-8f96-4137-a2ab-df6c7a2580b9/Coding_for_Multiple_Cores.ppt) schrieben?

wie du dort lesen kannst, nutzen die spiele 2.2-2.5 bzw 2.0-3.0 cores, also ca 73% bis 100%, ca 85% im schnitt, mit darauf berief ich mich.

Mag sein aber einen Core zu benutzen um einen Thread / Programm / Code auszuführen ist etwas ganz anderes als einen Core auch wirklich auszulasten. Mag ja sein das mehrere Cores angesprochen werden und Threads ausgelagert werden - ausgelastet werden die 3 Cores zur Zeit imo noch nicht.

HotSalsa
2006-11-23, 02:37:35
naja, ich hab halt die zeit angenommen in denen die einzelnen CPUs was nuetzliches machen, die auslastung aller moeglichen teile der cpu kann ich nicht einschaetzen, wer weiss wieviel der SIMD-einheiten mit der ALU/FPU usw. geshared sind.
aber ich glaube auch nicht dass die SIMDs nicht sonderlich ausgenutzt wurden, aber das werden sie in zukunft auch nicht werden, denn eigentlich hat man nicht so uebermaessig viele (verschiedene) aufgaben die SIMDs brauchen. physic, sound und was noch? compression und spiellogic wird eher andere teile brauchen. vielleicht noch fuer transformationen (da die cpu wohl die gpu fuettern kann? stand irgendwo mal).

da bin ich anderer meinung, bei der PS2 konnte man sich das noch leisten, da die meisten mathematischen dinge von der anderen Vektorunit gemacht wurden, die cpu hat dann nur einfache dinge berechnet und war an sich ausreichend leistungsfaehig.
Nun ist aber die PPU nicht leistungsstaerker als die Wii-cpu. man wird schon extrem auf die SPUs auslagern muessen damit man performance hat, was natuerlich nicht einfach sein wird wegen dem speichermanagement, aber selbst logic auf der SPU ablaufen zu lassen duerfte performanter sein als auf der PPU.
ansonsten -> Gundam

Amen. "ansonsten -> Gundam" sollte bei Wikipedia und in den Duden aufgenommen werden als Ausdruck für schlecht, miserabel, Gurkensoftware etc... ;D

Gul Westfale
2006-11-23, 04:26:02
CPU = warenhaus
spiel = kartons
spielmotor ("engine") = arbeiter der die kartons ins warenhaus reinsteckt.

wenn die engine nicht sehr effizient ist und viel platz verschwendet, kann man natuerlich schon das warenhaus mit wenigen kartons vollmachen (also die CPU auslasten). ein effizienter arbeiter dagegen quetscht die kartons erst mal zusammen bevor er die ins warenhaus schmeisst und kriegt so wohl mehr performance aus der gleichen CPu die dann ja auch ausgelastet ist.

polymorphing funktioniert ja in etwa so, in dem es die gleiche vorhandene kraft eben intelligenter benutzt.

es scheint mir also eher wichtiger WIE man die CPU benutzt anstatt wieviel polygonen/sec man denn maximal in einer dafuer geschriebenen benchmark bei sogenannter vollast denn da rausholen koennte.

ich wollte diesen thread aber eigentlich nicht zum xbox/ps3 flamewar machen, ich bin kein fan von diesen beiden firmen (meine letzte maschine war die dreamcast, RIP), ich wollte eben nur mal wissen wie der cell-chip denn wirklich funktioniert. bislang hab icg=h da genug stoff zum denken gekriegt, aber noch eine frage die man mir hoffentlich beantworten kann:

wieviel main memory bandbreite muss denn theoretisch vorhanden sein um die performance nummern die sony angibt auch zu erreichen? ich hab mal gelesen (vergesse, wo) dass wenn man alle SPEs gleichzeitig mit daten fuettert und diese SPEs dann auf ihrer max performance bringen will die bandbreite theoretisch ueber ein terabyte/sekunde sein muesste. stimmt das, und wenn ja was waere denn der nutzen fuer eine CPU die nicht richtig "vollgas" geben kann, etwa wie ein F1 auto auf fahrrad raedern (ausser natuerlich fuer marketing zwecke)?

Casketizer
2006-11-23, 04:37:07
von ibm gibts ein umfangreiches whitepaper zum cell. kann man mit google finden.

micki@work
2006-11-23, 08:03:58
Mag sein aber einen Core zu benutzen um einen Thread / Programm / Code auszuführen ist etwas ganz anderes als einen Core auch wirklich auszulasten. Mag ja sein das mehrere Cores angesprochen werden und Threads ausgelagert werden - ausgelastet werden die 3 Cores zur Zeit imo noch nicht.
naja, ich hab halt die zeit angenommen in denen die einzelnen CPUs was nuetzliches machen, die auslastung aller moeglichen teile der cpu kann ich nicht einschaetzen, wer weiss wieviel der SIMD-einheiten mit der ALU/FPU usw. geshared sind.btw. die angaben von MS sagen wieviel nutzung/auslastung vorhanden ist.

dass auslatung nichts mit effiziens zu tun hat, hatte ich schon gesagt:
wobei man die auslastung oder die GHz summe nicht mit leistung gleichsetzen sollte. Jeden duerfte klar sein, dass man mit einem besseren algorithmus, weniger auslastung produzieren kann, obwohl man trotzdem schneller ist (wenn man z.b. eine abkuerzung geht, leistet man wenig, schwitzt vielleicht nicht, aber erreicht sein ziel trotzdem und schneller). ;)

icemanemp
2006-11-23, 08:43:24
btw. die angaben von MS sagen wieviel nutzung/auslastung vorhanden ist.

dass auslatung nichts mit effiziens zu tun hat, hatte ich schon gesagt:
;)

Dann ist ja alles wieder in Ordnung, also werden alle CPUs genutzt, wobei das ja aus einem MARKETING-Papier kommt...
Über die reale CPU-Auslastung kann man einfach kein Wort verlieren! Wie gesagt mach bei MS der Kompiler sehr viel, er bekommt auch schlechten Code auf alle CPUs verteilt, wenn er gut ist. Und damit hat man schon das Problem der Auslastung! Die CPUs können 80% mit einem ruckelnden EA-Titel ausgelastet sein oder auch 80% mit GoW! Da die Architektur trotz IBM-Power-CPU-Abstammung doch etwas besonderes ist, genau wie der CELL sollte man sich einfach zurückhalten, weil man damit noch nie programmiert hat...
Ich als Nutzer kann nur beurteilen, was hinten raus kommt und das wird von Monat zu Monat viel viel besser! Ausnahmen mal ausgeschlossen...

Gast
2006-11-23, 08:49:45
lass das flamen und lies lieber richtig was ich schrieb. z.b. dass ich mich in bezug auf Xbox auf die aussage von MS beziehe und anderer guter entwickler z.b. Rare


leute wie die, die dieses paper (http://download.microsoft.com/download/5/b/e/5bec52bd-8f96-4137-a2ab-df6c7a2580b9/Coding_for_Multiple_Cores.ppt) schrieben?

wie du dort lesen kannst, nutzen die spiele 2.2-2.5 bzw 2.0-3.0 cores, also ca 73% bis 100%, ca 85% im schnitt, mit darauf berief ich mich.

Das hat doch nichts mit Auslastung zu tun. Auslastung wäre wieviel CPU Cycles effektiv genutzt werden und bei wieviel nichts getan wird. Und selbst das wäre keine verlässliche Aussage, da diese Auslastung - wie du schon selbst sagtest - durch schlechten Code hervorgerufen sein könnte bzw. man dies optimieren könnte.

00ich
2006-11-23, 09:09:33
von ibm gibts ein umfangreiches whitepaper zum cell. kann man mit google finden.


http://cell.scei.co.jp/e_download.html

micki@work
2006-11-23, 09:35:54
Das hat doch nichts mit Auslastung zu tun. Auslastung wäre wieviel CPU Cycles effektiv genutzt werden und bei wieviel nichts getan wird. sondern? was sagt der nutzungsgrad von z.b. 2.5core den microsoft angibt sonst aus?

Gast
2006-11-23, 09:55:42
sondern? was sagt der nutzungsgrad von z.b. 2.5core den microsoft angibt sonst aus?

Wieviel Cores durch Threads ausgelastet sind. Auf jeden Fall nicht die CPU Auslastung wie man sie vom Taskmanager kennt. Deswegen steht doch auch:

-Be careful with Simultaneous Multi-Threading (SMT) threads
-Ideally one heavy thread per core plus some addition intermittent threads

micki@work
2006-11-23, 11:38:19
Wieviel Cores durch Threads ausgelastet sind. Auf jeden Fall nicht die CPU Auslastung wie man sie vom Taskmanager kennt.
die auslastung wird mittels hardware ermittelt, nicht mit software wie dem taskmanager(es ist also keine zeitangabe die die sich windows ausrechnet). Die dev hardware kann dir sehr viele statistiken bieten wie z.b. wieviel zeit der core keine auslastung hatte, weil er auf speicher wartete etc. dieses verrechnet sich dann zu der core angabe die MS da macht. die approximation und extrapolation der auslastung der cpu wie der taskmanager sie bietet waere fuer einen entwickler so hilfreich als wenn er sich die ergebnisse wuerfeln wuerde.

Deswegen steht doch auch:
-Be careful with Simultaneous Multi-Threading (SMT) threads
-Ideally one heavy thread per core plus some addition intermittent threadsemm.. ja steht da, und was willst du damit sagen?

Gast
2006-11-23, 12:35:08
emm.. ja steht da, und was willst du damit sagen?

Das diese Schätzung (Zeichen: ~) nichts mit der CPU Auslastung zu tun hat, sondern wieviel Cores mit Threads ausgelastet sind, weil es eben kein SMT ist. Sprich, die Threads laufen alle nicht permanent, sondern vielleicht nur ein Hauptthread, der andere Threads je nach Situation startet.

micki@work
2006-11-23, 14:08:55
Das diese Schätzung (Zeichen: ~) nichts mit der CPU Auslastung zu tun hat, sondern wieviel Cores mit Threads ausgelastet sind, weil es eben kein SMT ist. Sprich, die Threads laufen alle nicht permanent, sondern vielleicht nur ein Hauptthread, der andere Threads je nach Situation startet.deswegen ist die auslastung bei 2.5 und nicht bei allen games bei 3.