'AMD werkt aan omgekeerde HyperThreading voor K10'

AMD logoAMD's volgende processorarchitectuur bevat mogelijk een techniek die het mogelijk maakt om één thread op meerdere processorcores uit te voeren. Dit meldt de Franse website X86-secret, die zich zegt te baseren op uitspraken van een niet nader genoemde AMD-ingenieur. De technologie kan min of meer gezien worden als het omgekeerde van HyperThreading: in plaats van dat het besturingssysteem één processorcore ziet als meerdere cores, zou AMD's techniek ervoor zorgen dat meerdere cores op het OS overkomen als een enkele. Volgens de bron van de site maakt AMD zich ernstig zorgen over Intel's nieuwe Core-architectuur, omdat de K8 hier zich niet mee zou kunnen meten. In tegenstelling tot wat bij de K8 gebeurde, kan AMD haar nieuwe architectuur bovendien niet baseren op een vorige editie; de K10 moet een volledig nieuw ontwerp worden om succesvol te blijven concurreren. De hier omschreven techniek zou hierbij één van de belangrijkste wapenfeiten moeten zijn.

Door Arthur Scheffer

Tweakers nieuwsposter

12-04-2006 • 15:09

114

Bron: X86-secret

Reacties (114)

114
112
45
16
5
54
Wijzig sortering
Maar nu snap ik 1 ding nog niet.... het gaat hier om de K10, we zitten bij de K8.... slaan we hier de K9 over? Wordt de AM2 K9? Of is de X2 al de K9?
K9? Dat is toch honds? :Y)

De K staat voor x...86 generatie. Bij de 486 had AMD nog een exacte kopie van de intel 486, toen maakte intel de Pentium (van pentha =5) en kwam AMD met de K5.

Daarna kwam de K6 en de K6-2 met 3Dnow, die ook inderdaad als K6-2 verkocht werden en moesten concurreren met de Pentium II.

Toen intel met de PIII kwam haalde AMD voor het eerst een catchy name van stal voor een compleet nieuwe architectuur: Athlon, en liet de codenaam K7 voor marketing vallen. De K7 heeft het op moeten nemen tegen de PIII (80886?) en P4 (80986?) en heeft het dus heel lang uitgehouden.

De K8 is weer geheel nieuw met 64-bits uitbreidingen. En toen liet intel de naam Pentium vallen terwijl AMD de naam Athlon gewoon aanhoud. Ook voor de K9.

Athlon is in het engels wel een catchy name, het lijkt op athlete wat een hele sterke positieve gevoelswaarde heeft.

@mr-a
ja, dat klopt allemaal wel, maar intels marketing maakt er toch ook maar een spannend verhaal van: generatie 5(pentium)-I, generatie 5-II, III, generatie 5-4, core. Laten ze ineens de naam Pentium vallen terwijl echt iedereen dat kent?.
Stel dat ze gewoon doorgegaan waren vanaf 80486, zouden we nu aan 80986 zitten. Ik vind dat er tussen de verschillende modellen toch echt wel genoeg verschil zit om het een nieuwe generatie te noemen.
Maargoed, dat is toch speculatie.

Raar trouwens dat AMD de Athlon64-X2 dan wel K9 noemt terwijl die niet echt veel anders is.

@Emielvenlo:
als AMD iets een generatie 7 noemt (K7), waarom noem jij het dan een 80686?
En waarom zijn de K5 en de K6 vlgs jou hetzelfde? (de K6 is echt heel anders en heeft bv veel betere FP prestaties en onboard L2 cache).
De K7 heeft het op moeten nemen tegen de PIII (80886?) en P4 (80986?) en heeft het dus heel lang uitgehouden.
Pentium III = Pentium II met wat extra's
Pentium II = verder ontwikkelde Pentium Pro

Dit is dus allemaal de i686 generatie van Intel.

Pentium 4 = echt nieuw ontwerp, NetBurst is pas de 7e generatie Intel x86 processors.

Centrino en Core Duo zijn een beetje vreemd, want ze zijn eigenlijk ontwerpen die sterk gebaseerd zijn op i686

Conroe is dan weer een echt nieuw ontwerp.

Dus Intel verkoopt straks 3 generaties chips door elkaar heen. ;)

AMD is eigenlijk simpeler, want
Athlon XP = doorontwikkelde Athlon = "7e" generatie, maar zoals Emielvenlo zegt, eigenlijk is het de 6e generatie omdat K6 eigenlijk een Pentium 1 achtige chip is.
Athlon 64 / Opteron = nieuw ontwerp, maar wel veel overgenomen van Athlon, maar dan "8e" generatie.
Dat de Athlon 64 X2 dan de "9e" generatie genoemd wordt dat betekent dat K9 niet meer is dan een codewoord, want het is natuurlijk dezelfde chip maar dan verdubbeld, dus nog steeds de achtste generatie, IMO. :)
Anoniem: 76356 @mr_a12 april 2006 17:49
De K9 is een interne naam en wat jij ervan vind is voor amd niet belangrijk als amd vind dat het een ander codename nodig heeft krijgt het een ander codename.

heeft niks meer te maken met de generatie van de cpu net als de k6.
Ja K9 is harstikke honds. Vraag me niet waarom maar de Amerikaanse politie geeft aan hun hondenbrigade de naam K9.

Overigens daar lopen voor een heel groot deel hollandse honjes rond :D
K9 in het engels spreek je uit als canine ;).
K9 wordt uitgesproken als Canine, wat hond betekent.
Vandaar dat de (code)naam voor de honden brigade K9 is.
Net zoiets als w88 = wachten, maar dan beter :)
Dat is alleen bij de K911 :)
Is dat konijn op zun Gronings? :+
Je weet werkelijk niet waar je het over hebt he...
even voor de duidelijkheid:
k5 = 80586
k6 = 80586
k7 en daarboven = 80686

P1 = 80586
P2 en daarboven = 80686

Edit: @Jeep nav je edit het volgende: http://www.sandpile.org/impl/k7.htm
Pfff, al dat nieuwerwetse gedoe, daar heb ik geen K's van gegeten.
Ik vond K3 al leuk zat, ook al zijn ze zichtbaar verouderd. ;)
Ontkent hij dan wat jij zegt?
Zijn verhaal klopt net zo goed als jouw verhaal.

Voortaan wel eerst lezen.. (vooral ook de '?')
athlon catchy name?

las laatst wat terug op tweakers over de introductie van de naam athlon en toen zeek iedereen die naam af(kan ook liggen aan het imago van AMD toendertijd maar goed)
K9, dat zijn de huidige X2's.

Leuke ontwikkeling dit, aangezien je er dan wél baat bij hebt met een dualcore(of quad, of nog meer), ookal heb je singletrheaded software. Helaas nog lang wachten, de K10 is volgens mij nog ver weg, te ver weg om op tijd te komen voor de conroe.
De X2's zijn nog steeds K8, maar dan 2 naast elkaar.

een K9 komt er voorlopig ook niet, eerst komt de K8L nog.
Anoniem: 155283 @link_mario12 april 2006 17:31
Klopt, maar dat was toch ook bekend. AMD zou in Q1-2007 met een nieuwe komen.
Maar met deze techniek zouden ze Intel best wel eens kunnen verslaan met software wat niet voor multi-core geschreven is.
De x2 is de K9 inderdaad. Maar ik dacht dat AMD van de Kx benaming afgestapt was?
Kx is slechts een interne codenaam. De AMD Athlon was "bekend" als K7, de A64 als K8. De dual-core versies als de K9. AMD werkt dus met Kx als aanduiding voor een bepaalde serie/architectuur.

De K7 is een architectuur die in vele smalen beschikbaar waren. De slot A verianten met codenamen zoals Argon, Pluto, Orion en Thunderbird. De socket A versie met de naam Thunderbird en Spitfire, Palomino, Morgan, Thoroughbred A/B, Thorton, Barton en Applebred. :)

De K8 heeft zo ook een lading codenamen, de K9 ook en de K10 ongetwijfeld ook. Alle desktop K7, K8 en K9 processoren gaan tot nu toe onder de noemer AMD Athlon(tm) met eventueel een toevoeging. De budget modellen uiteraard onder de naam Sempron wat voorheen Duron was ;)

Kx heeft dus niets te maken met een productnaam. (Al was dit bij de K5/K6 wel zo, waarschijnlijk een gebrek aan inspiratie :Y))
De K staat voor Kryptonite, dit vanwege het superman verhaal :). Zie http://en.wikipedia.org/wiki/Kryptonite , dit vanwege Superman (Intel) en AMD (kryptonite) waar Superman niet tegen kan!
vandaar de letter K, en de 6 staat voor de 80686, oftewel de zesde generatie x86 processors.
@ NBK

AMD K6 was *geen* voortborduursel op de K5.
K5 was een cpu ontwerp bedoeld om veel in weinig clockcycles te doen. Een echte "Brainiac" CPU zoals dit soort ontwerpen wel genoemd worden. Nadeel van dit soort designs is dat ze niet ver in kloksnelheid kunnen scalen.

Maar AMD had dus een beter een antwoord nodig op de Pentium (MMX) omdat de K5 niet veel harder ging als 133Mhz. (AFAIK).
Gelukkig (:P) was er een klein bedrijfje in de US genaamd NexGen met een 686 design bezig. AMD kocht dit bedrijf over en noemde het design de K6.
K6 is dus grotendeels een gekocht design en zeker geen voortborduursel van K5.
Even ter info :Y)
Anoniem: 63780 @Thandor12 april 2006 17:25
@T3rmi
Klopt niet, de AMD K6 serie waren 586ers. De K7, Athlon dus, is de eerste 686 compatibele cpu van AMD.
Anoniem: 131644 @Thandor12 april 2006 17:39
op Wikipedia staat het toch anders http://en.wikipedia.org/wiki/Amd
En volgens mij bestaat 586 niet
KoeNijn
Wat dacht je van de K5 die AMD liever zou vergeten....

Dit was initieel de tegenhanger van de Pentium, en was de eerste CPU die niet gebasserd was op een ontwerp van Intel.

De K6 was een goede stap voorwaarts, met goede MMX support een beter antwoord op de Pentium MMX.
Echter het werd past intressant vanaf de K6-2 (met 3DNow support) en K6-3. Echter tegen de tijd dat deze (goed) beschikbaar waren was Intel al met de P3 op de proppen gekomen.

Link
Je hebt eingzins gelijk maar in de tijd van de Intel Pentium maakt AMD zelfs de snelste 486 ooit, die men een beetje misleidend Am5x86 noemde. Deze '486-on-steroids' werkt op 133 MHz (vier keer de bussnelheid van 33 MHz) en was qua prestaties bijna te vergelijken met een Pentium 75 MHz. Dus AMD had het wel over een 586

reactie op kstang
Klopt, die staat hier nog in een hoekje DOS te draaien...
Pentium 1 was echt 586. Pentuim is een afgeleide van het griekse '5' geloof ik. En hij staat 586-processor in de bios als ik het me goed herrinner.
AMD K6 was gewoon het voortborduursel van AMD op de K5. En die K5 was ee nvoortborduursel van de AMD 486 wat een redelijke cloon was van de intel 486 processor.
En uiteindelijk is alles een voortboorduursel op de 8088 en de 8086. Zo kan ik ook nog wel even door gaan...
http://balusc.xs4all.nl/srv/har-cpu-amd-k7.php
niet moeilijk doen.
hier staat alles.
K9 zijn de X2's, AM2's en Opteron (S939)'s

(aanvulling op thandor)
De 586 is bekend geworden onder de handelsnaam Pentium :P
@reinierdewit

Heb ik ook gehad.
Was mijn eerste "eigen" pc.
Alleen dat moederbord kon ik niet lager klokken dan 166mhz.
Dus mijn Am5x86 133mhz was gekloked op 166mhz :7

Helaas gaf hij enkele jaren later wel de geest.
Ik heb enige history van de pc te weten gekomen.
En het blijkt dat deze zo ongeveer 7 jaar gedraaid had op 166mhz :P

Dus hulde aan AMD toen der tijds. Het ding liep als een huis.
Ik heb er zelfs nog XP pro of 2000 pro op gehad geloof ik.
Alleen helaas liep dat iets te traag :P

Geweldige processor...hehehehe
ik heb nog een pentium 1 - 75 mhz staan met 586 op de kast.

De pentium 1 heeft ook de benaming 586 gedragen voordat intel besloot over te stappen op de naam pentium i.p.v. x86 als volledige naam.

edit: te laat

P.s. k9 is idd X2 en k5 was pentium 1 variant AMD.
Anoniem: 87964 @Thandor13 april 2006 09:17
Ja maar toen de Pentium 166 MMX aan kwam was dat de 686
@ NBK:

Penta staat voor de griekse 5 ;)
Anoniem: 4018 @Thandor13 april 2006 21:54
Zie hier een aantal posts over Pentium en 586's.

De Pentium was puur een 'marketingactie' van Intel. Om de CPU als Pentium om te dopen konden ze de naam registreren en vastleggen bij handelbureau's. Zodoende konden andere chipbakkers deze naam niet in gebruik nemen. Verder was de Pentium I dus gewoon de 5e generatie x86 CPU.
AMD zelf wel, maar de mobo-makers nog niet

--> MSI K8N Diamond (enz)
--> ASUS A8N (32) (SLI enz)
--> Abit KN8 (enz)
--> Gigabyte K8N (enz)
--> Tyan Tomcat K8E (enz)
Asus A8N ondersteunt K9-CPU's, duzze... :+
Dual core is K9 voor zover ik weet

edit: spuit 11
Wordt de AM2 K9? Of is de X2 al de K9?
AM2 is itt wat sommigen beweren dus geen K9. K9 is overgeslagen, het bestaat niet meer. Dat heet nu de K8L.
AM2, X2, dat zijn nog steeds K8 cpu's.

Je krijgt pas een nieuwe K reeks als AMD een nieuw chip gaat ontwerpen. Anders gebruikt men een codenaam zoals de "Venice core".

j0bro;

Wat heeft dat met mijn reactie te maken? Ik zeg nergens dat de K's socket gebonden is. Ben ik zo moeilijk te begrijpen?
De K-aansuidingen hebben weinig tot geen relatie tot de socket. Dat is maar een aansluiting; de K-aanduiding zegt iets over de architectuur.
Zo weten we vast nog wel dat de Pentium III en de Athlon Thunderbird er zowel in slot- als in PGA-uitvoering waren, oftewel insteekmodules en 'pinnetjes'-ontwerpen.

Of de Sempron, die gewoon een hernoemde Athlon XP/Duron is, die is er ook als Socket 7 en Socket 754.

De Pentium4 heeft volgens mij al 3 sockets afgewerkt en de AM2-socket zal, mits succesvol, misschien ook wel meerdere architecturen kunnen gaan aansluiten.

Kortom: 'socket != architectuur' jongens en meisjes
Mijn collega nieuwsposter en dus Tweakers.net schrijft alleen maar wat hij heeft kunnen lezen op x86-secrets. Wat er staat is nogal vaag en ik vraag me af of x86-secrets wel goed heeft begrepen wat AMD van plan is..... (En dat verbaast me heel erg van x86-secrets, die normaal gesproken technisch erg diepgaand en sterk zijn.)

Wat ik verwacht is dat een dual-core processor nog steeds als dual-core gezien zal worden door een besturingssysteem. Echter, de grens tussen beide cores is minder duidelijk. Dus in plaats van bijvoorbeeld twee maal drie integer units, twee maal een load-store units, twee maal twee fpu-units krijg je een chip metzes integerunits, vier fpu-unit's twee load-store units. Dit alles wordt bestuurd door twee execution control units, en gevoed door twee prefetchers en twee dispatchers. Als je dus een thread hebt, met veel integer instructies, zal die veel sneller afgehandeld kunnen worden daar er met zo'n architectuur veel meer integer units beschikbaar zijn. Zie bijvoorbeeld de Core van Intel die de integer prestaties met maar liefst 25% ten opzichte van de Pentium M weet te verbeteren, als beide cpu's op dezelfde snelheid worden geklokt. Reden, de Conroe (Core) heeft een extra integer unit (vier ipv drie).
Als je dus een thread hebt, met veel integer instructies, zal die veel sneller afgehandeld kunnen worden daar er met zo'n architectuur veel meer integer units beschikbaar zijn.
Dat is natuurlijk de grote vraag. Volgens mij is het grote probleem het niet beschikbaar zijn (of kunnen vinden) van genoeg instructies die parallel uitgevoerd kunnen worden.
Klopt en dat is iets dat we onder andere bij de Netburst-architectuur hebben gezien, waar er op een gegeven ogenblik een truukje als HyperThreading aan te pas moest komen om efficienter gebruik te maken van de beschikbare execution units.

Het probleem van de Pentium 4 was echter de ontzettend lange pipeline. Door die lange pipeline werd het veel veel moeilijker om instructies te vinden die niet afhankelijk van elkaar zijn.
Echter een kortere pipeline in combinatie met een extra integer unit, blijkt wel degelijke voor meer performance te kunnen zorgen. In ieder geval als er naar de Pentium M v.s. Core architectuur wordt gekeken.

De K7/8/9-architectuur heeft ook een relatief korte pipeline. Best kans dus, dat als elke core van de K8/K9 een extra integer unit krijgt, deze ook een stukje sneller wordt. Echter, is dat wel nodig? Want ik durf bijna te wedden dat als een core het druk heeft met het verwerken van integer intstructies het best zo kan zijn dat de andere core uit zijn neus staat te peuteren. Dus in plaats van kostbare silicon realestate te gebruiken en elke core met een extra IU uit te rusten, zou je ook het geheel eens stukje intellegenter kunnen aanpakken en core 1 tijdelijk een IU van core 2 laten 'lenen'.
.oisyn Moderator Devschuur® @Ralph Smeets12 april 2006 19:22
De meeste apps zijn overigens allesbehalve instruction limited maar is het het geheugen wat voor de grote stalls zorgt. Een integer unit erbij is leuk, maar daar heb je weinig aan als je continu met cache-misses te kampen hebt. En voorlopig schaalt de cache niet gelijk mee met de hoeveelheid geheugen dat op een bepaald moment gebruikt wordt.
.oisyn Moderator Devschuur® @Ralph Smeets12 april 2006 16:45
Hmm ok, dat klinkt idd een stuk plausibeler dan dat verhaal van x86-secrets. Als dat zo is gaan we meer richting een cell processor waarbij de verschillende cells gescheduled worden door de execution control unit. En een processor die je koopt is dan simpelweg een pakketje met verschillende soorten cell units.

De vraag blijft echter of dat nut heeft, zoals OlafvdSpek hierboven me en ikzelf eerder al aanhaalde. We zitten nu al zo'n beetje aan het maximum haalbare out-of-order execution wat bij een gemiddeld stukje software toepasbaar is. Verder gaan kan bijna niet omdat de instructies onderling teveel van elkaar afhankelijk zijn.
Het leek met inderdaad al sterk dat het verhaal zoals het hierboven geschreven staat exact waar was. Het is volgens mij niet of amper mogelijk om met hardware een thread op te splitsen en dan sneller te zijn dan een goede programmeur die zijn algoritme opsplitst in 2 threads. Wat Ralp Smeets zegt over gewoon alle units bij elkaar "gooien" en dan 2 execution control units erin doen, klinkt veel logischer naar mij idee. Mijn enige puntje is dan, dat het dan eigenlijk gewoon 1 processor met meer units wordt, met als uitzondering dat er 2 execution units zijn.
Was te verwachten dat ze het zouden inzien. Hopelijk wordt de K10 veel krachtiger. AMD had al aangegeven 4 cores te willen gebruiken. Deze techniek zou er dus voor kunnen zorgen dat al die cores benut worden.
Anoniem: 5897 @Astennu12 april 2006 23:47
Deze wordt overbodig gemod, maar wat hij zegt is wel de spijker op z'n kop.

En wel hierom:
De dual cores hebben software nodig die geschreven is voor multiprocessing. Ze zijn dus alleen snel wanneer dit zo is.

De K10 zou dit dus niet nodig hebben en kan altijd gebruik maken van al zn kracht.

Een duidelijk voordeel wat echt keihard kan uitpakken. Je hebt gewoon 2x zoveel power (of 4x zoveel) in single applicaties.

De vraag is alleen; is het niet al te laat?
Te laat?
Diegene die een dualcore hebben gekocht, die hebben al een sneller processor, of ze nu gebruik maken van alle dualcore mogelijkheden of niet.
In de toekomst zal de snelheid er alleen maar op vooruitgaan, dat is toch het doel van een proc bakker;
een nieuw chip afleveren die beter is dan de vorige.
In principe is dit hetzelfde als het superscalar design, maar dan met meerdere cores. In principe zie ik niet het voordeel van meerdere cores die als een aangesproken worden boven een super scalar design. Ik denk ook dat intel een betere stap maakt, uiteindelijk gaat peformance pas echt omhoog als je meer kan paralleliseren
Hiervan hed ik twee á twee en een half jaar terug al iets over gelezen in een artikel ergens ( sorry geen link )

Als ik het me goed herinder, zou het de bedoeling zijn dat waneer Core 1 het druk heeft, en Core 2 zit in zijn neus te peuteren, dat Core 1 dat Int en Fpu units van Core 2 zou kunnen lenen.

Het OS ziet dan dus gewoon nog steeds twee Cores, echter in de indeling van Int en Fpu units per Core is variabel.
Dit bedoel je, AMD geeft details over K10-processor met vier cores ?:

"Zo denkt het na over een vernieuwd FPU-ontwerp, on-chip co-processors voor specifieke taken zoals video-encoding of encryptie, en een nieuw concept dat cluster based multithreading is gedoopt. Dit laatste houdt in dat de cores van een dual- of multi-core processor gebruik kunnen maken van elkaars executie-eenheden."

Clustered Multithreaded Architectures – Pursuing Both IPC and Cycle Time
Dus op het moment dat de meeste applicaties voor meerdere threads zijn geoptimaliseerd komt AMD met een processor die programma's verlangt die met 1 threat werken. :+

@Timstone: alle computerprogramma's zijn dreigingen. ;)
@mjtdevries: zodra de K10 uitkomt wel.
De meeste applicaties zijn nog helemaal niet voor meerdere threads geoptimaliseerd.
Anoniem: 81128 @Z-Dragon12 april 2006 16:00
Of ze komen met een quadcore die dus als dualcore word gezien...

Lijkt mij logischer :)
Het word aantrekkelijker als deze K10 een thread kan verdelen over alle cores als het programma niet multithreading is en als het wel zo is om dat simpelweg niet te doen. :)
"Threat" betekent "dreiging"... ;)
Anoniem: 171072 12 april 2006 15:14
Een van die kleinere klapen die Intel krijgt van AMD :P
Goed bezig
Ben benieuwd wat Intel hierop te zegen heeft :7

:Y)
Worden 2 dezelfde letters automatisch gefilterd door jouw bandwidth-optimizer-tools?
Anoniem: 13443 @ETA12 april 2006 16:27
genial :Y)
Maar om nou +4 te scoren voor een gevatte opmerking die totaal off-topic is?

btw: dit is juist het antwoord van AMD op de Conroe waar iedereen stiekum op zat te wachten. intel heeft dus al wat gezegd :z
intel heeft maar een ding te zeggen: crosslicensing. dus die pikken straks gewoon eht werk zoals altijd van amd mee. omdat amd ooit gedwongen die license heeft meoten afsluiten met intel om compatibility redenen.
maar aan de andere kant wel ebter. zo weet je dat ze beiden met alles werken in princiepe.

alleen jammer. want het technisch vordeel van de ander wordt weggenomen
de spec ja, de implementatie nee

als ze dus enkel inwendig de chip veranderen, en dus geen nieuwe functies maken (zoals x86-64), hoeven ze helemaal niks aan intel
.oisyn Moderator Devschuur® 12 april 2006 15:16
Ik vind het maar een vaag verhaal, wat voor nut zou dat dan kunnen hebben anders dan een betere out-of-order execution van de instructies, wat alleen maar zorgt voor langere pipelines terwijl het er effectief niet beter op wordt omdat omliggende instructies al zoveel van elkaar afhankelijk zijn (zie de P4, dat is de hele reden waarop ze op hyperthreading over zijn gegaan, om de ongebruikte units beter te benutten door meerdere threads tegelijk te laten lopen). En waarom stoppen ze dan niet gewoon meerdere units op 1 core ipv een 2e core als 'lapmiddel' hiervoor te gebruiken?

Ik denk dat dit verhaal wat specifiekere informatie mist of gewoon niet waar is :)
Psies! Dat kwam bij mij ook direct op. Op deze manier zal er gewoon nooit goede software geschreven worden, omdat de software/games bouwers toch iets hebben van 'Ach, de processor fabrikanten verzinnen wel iets beters'.
Als je vooruit denkt naar 4 of 8 core processoren dan is deze techniek heel nuttig. Als er maar aanbod is van 3 threads maar je hebt 4 cores dan houd je met deze techniek toch alle cores aan het werk.

Bij een 8 core processor lijkt deze techniek bijna onmisbaar om de aanwezige power te benutten.
Ik weet dat het met een compiler ook moet kunnen maar een hardware oplossing zal vast sneller zijn.
Het gaat natuurlijk niet alleen om threads, maar ook om applicaties. Een applicatie kan meerdere threads hebben, maar dat is volgens mij niet noodzakelijk.

Als het OS al goed instaat is om de applicaties onder de cores/threads te verdelen dan heb je ook wat aan 8 of veel meer cores. Een standaard Windows draaid namelijk veel meer dan een programmaatjes of twee ;)

Maar wat ik mij bij het verhaal afvraag is hoe je dan nog je caches, registers en piplines wilt synchroniseren ? Een thread bestaat uit een reeks instructies die meestal van elkaar afhankelijk zijn waarhet de resultaten betreft. Je zult dan toch heel wat moeten synchroniseren omdat kloppend te krijgen lijkt mij. Iets in mij zegt dat dit alleen maar zorgt voor een hele vracht overhead....
denk aan alle multicore/cpu licenties bij server applicaties/software....... met deze technologie wordt een quad core gezien als single core........ Oracle zal hier heel blij mee zijn ;)

Verder, wat door het OS gezien wordt als singlecore, hoeft toch niet te betekenen dat multithreaded apps hier ook onder te lijden zal hebben?

(Of heb ik het dan verkeerd begrepen?)

Denk dat een multithreaded applicatie nog steeds veel profijt van een multicore cpu zal hebben, ook al wordt het door het OS als een core gezien.

Het OS hoeft dan in principe geen rekening meer te houden met NUMA, UMA en weet ik het wat voor multicore architecturen er allemaal zijn. Een programmeur kan er eventueel voor kiezen om de boel nog steeds te optimaliseren voor parallel processing door het multithreaded te maken.... (zeker als de software platform onafhankelijk gebruikt kan worden. Dus voor bijv. IBM/Toshiba CELL, SUN NIagara/T1, Intel DuoCore, AMD cores etc)

eh, nu ga ik zelf als een gek speculeren....... oops :9
Anoniem: 13443 @.oisyn12 april 2006 16:46
hoezo? Het kan toch? Denk aan distibuted computing. Er is dus al behoorlijk wat ervaring hoe dit aan te pakken. edit: .oisyn, je hebt gelijk, maar ook weer niet. Dat opdelen wordt niet met de hand gedaan maar geautomatiseerd. Dus dan kan het ok in een cpu toch?

Trouwens in het normale leven moet je soms ook samenwerken om 1 taak gedaan te krijgen en het vergt dan gewoon denkwerk om de taken goed te verdelen. En sommige dingen bepalen de lengte van een proces (wat jij zegt dus). Maar dan ligt het er maar net aan wat er gedaan moet worden.

Het komt er op neer dat het werk dat programmeurs eigenlijk moeten doen door programmas goed te schrijven/compileren(?) voor SMP (of multithreading) nu gedaan wordt door de K10 CPU.

Wat ook zou kunnen dat het niet 4 exact dezelfde cores worden (waarom wel?) maar verschillende integer en FP-cores. Soort cellprocessors.
.oisyn Moderator Devschuur® @Anoniem: 1344312 april 2006 19:18
hoezo? Het kan toch? Denk aan distibuted computing
Euh, distributed computing is juist het tegenovergestelde, een proces dat in heel veel kleine deelprocessen (threads) op wordt gedeeld zodat het gespreid uitgevoerd kan worden. Hier gaat het om een enkele thread die over meerdere cores moet spannen, dat gaat gewoon niet zomaar (verdiep je anders eerst in hoe een programma tot uitvoering komt op een x86 processor).
Anoniem: 25993 @.oisyn12 april 2006 18:19
oisyn,
Jij schreef het, ik dacht het :-)
Ik kan mij hier weinig bij voorstellen wat nou echt significante winst op zou leveren, gezien de afhankelijkheden tussen de meeste instructies die vlak na elkaar liggen..
slim :) dat werkt dus met alle software die nu verkijgbaar is aangezien de meest op 1 thread gebaseert is, niet?

Ook in games zou dit super zijn, aangezien producten nogal gierig zijn met support voor dual -cpu -cores
als ik het goed begrijp dan zijn de meeste apps (die baat hebben bij dualcore) ten tijde dat de k10 wordt geintroduceerd toch al dual geschreven volgens mij.
de techniek zal hoogstens voor bepaalde apps wat uitmaken: kleine apps die geen echt baat hebben bij DC (zullen wel wat voortuitgang laten zien)
en apps van makelaars die te lui zijn om dc te maken
Het heeft denk ik dan wel weer zin als de K10 4 cores heeft, en de programma's maar met 2 cores overweg kunnen :)
niet helemaal waar wat je zegt. Voor meerder threads programmeren is lastig, omdat je steeds moet rekening houden met volgordelijkheid. Met deze architectuur kun je dus in theorie sneller processen dan met multithreated op 2 verwerkingseenheden, omdat je geen rekening meer hoeft te houden of je andere thread nou wel klaar is.
is volgens mij idd de bedoeling... maar zou zou het punt van meerdere cores eigenlijk de "no. one bedoeling" missen denk ik
Anoniem: 87832 12 april 2006 15:18
Goed idee voor de korte termijn, aangezien veel applicaties nog steeds niet multithreading zijn. Vraag me af waar de grens of het break-even point van deze technologie zal zitten.
goed nieuws voor de korte termijn, maar de processor is bedoeld voor de lange termijn...
Of......... AMD moet besluiten om deze techniek sneller toe te passen, mits technisch mogelijk. Dit kan gebeuren als de conroe echt zo goed wordt als dat gezegd wordt.
Dan zijn allerlei noodgrepen mogelijk en noodzakelijk (Intel deed/probeerde eerder hetzelfde)
Anoniem: 31180 12 april 2006 15:20
Ik zie het probleem voor AMD niet zo, de performance van de K8 is minder afhankelijk van een groot cache geheugen (door de on-die controller en hypertransport). Waar Intel's Core microarchitectuur 2-4 MB aan plaats kwijt is zou AMD er nog 2 cores extra aan kunnen plakken.
2 cores extra staat niet voor betere performance
dual core wordt op de meeste pc's niet eens echt benut, laat staan quad core. die dual core conroe verslaat in "gewone" programma's een AMD quad core met de power van een 3500+(x4 cores dus) met gemak.

Op dit item kan niet meer gereageerd worden.