als je gelezen had had je geziendat ik er 533 van hebt gemaakt om daar rekeing mee te houden.
In je laatste post zeg je toch echt alleen 400 MHz/4 cores = 100 MHz per core.
Verder kun je niet zomaar zeggen dat het ~533 is... Dat ligt helemaal aan hoe de software het geheugen aanspreekt, zoals ik al eerder aangaf.
ook word er ge-prefatched (zeker p4's doen dat erg veel) dus je verhaaltje van iets op halen, bewerken wegschrijven gaat niet op, dat geld hooguit voor de L1/L2 cache.
als dat wel zo was zou de CPU VEEL te lang moeten wachten tussendoor.
Een CPU gaat niet lukraak prefetchen hoor. Hij begint alleen de load-operaties iets eerder dan strikt noodzakelijk. Ophalen, bewerken en wegschrijven geldt JUIST voor geheugen, omdat cache degene is die prefetcht, en write combining etc heeft. Dus cache zal er eerder voor zorgen dat er nog meer bloksgewijs gewerkt wordt, en nog grotere ruimtes zitten tussen het lezen en schrijven van het geheugen... Waarin de andere cores dus hun ding kunnen doen.
Verder geldt het dat je je programma altijd moet laten prefetchen en bloksgewijs data moet laten bewerken, zeker als je aan de bandbreedte-limiet zit. Dat is gewoon standaard-optimalisatie. Je wilt zo min mogelijk fysieke pages in het geheugen open hebben tegelijkertijd, en zoveel mogelijk met pre-cached data werken.
Natuurlijk kun je best situaties verzinnen waarin het allemaal niet zo goed werkt met zo'n gedeelde bus, maar als de code een beetje doordacht geschreven is, zal het bijna automatisch best redelijk lopen.
en waneer heb je wat aan de dual core? als ze allebij hard aan het werk zijn.
en juist dan zullen ze beiden waarschijnlijk veel aanspraak doen op het geheugen. dus juist als je het het nodig hebt zal er ruimte te kort komen op de FSB.
Alleen als het bandbreedte-intensief is, en niet zodanig te rangschikken is dat de cores om en om kunnen werken. Dat hoeft helemaal niet op te gaan voor de Futuremark-benchmark, dat weten we nog helemaal niet. Zoals ik al eerder zei, de Xeons kampen met een dergelijk probleem, en kunnen ook best beter presteren dan Opterons in sommige software. Je valt dus eigenlijk in herhalingen, en dan moet ik hetzelfde gaan doen, beetje jammer.
en je zegt wel dat games steeds minder geheugen intensief worden, en daar zit zeker wat in. maar ze zijn ook moeilijk te branchpredicten, zeker de AI (geluid en physics zijn stukken makelijker)
dat zal zeker voor de p4 betekening veel prefechten, waarvan een groot deel niet eens nodig zal blijken te zijn.
Nogmaals, die CPU gaat niet lukraak prefetchen. Als er weinig geheugengebruik is, zal er ook automatisch weinig te prefetchen zijn, en zal er dus niet zo gauw een tekort aan bandbreedte ontstaan.
Als er toch teveel geprefetcht wordt, dan deugt de code gewoon niet.
T/L is er al since voodoo concuretie kreeg, zo ongeveer in de tijd van de athlon XP t-bird en de 400mhz fsb p4's
Dat wil nog niet zeggen dat alle software meteen optimaal geschreven werd voor T&L... dat kwam pas veel later (nu hetzelfde verhaal met de software, goede multicore applicaties komen pas veel later, vandaar dus de noodzaak voor deze benchmark, een proof-of-concept). 3DMark03 was een van de eersten die echt puur op de GPU leunde... ook mede door de komst van shaders... de eerste generatie T&L was nog niet krachtig genoeg voor dingen als skinning en per-pixel lighting, die toch al veel in games gebruikt werden. Sterker nog, zelfs Doom3 gebruikt de CPU nog volop... Ieder frame wordt de complete geometrie meerdere malen uit het geheugen gelezen, shadowvolumes gegenereerd, en over de AGP-bus gepompt (1 keer voor iedere lichtbron). Nogal logisch dat je dan veel bandbreedte nodig gaat hebben. 3DMark03 doet dat niet, die berekent de schaduwen met de GPU, en heeft dus totaal geen AGP-verkeer. In feite was Doom3 dus al achterhaald voordat het op de markt kwam. Games gaan nu shadowmaps gebruiken, die ook geen CPU-verkeer nodig hebben.
Dus je moet in ieder geval naar nieuwere games dan Doom3 kijken. Half-Life 2 is al een heel ander verhaal, dat is een veel geavanceerdere renderer, wat dat betreft.