Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Je kunt ook een cookievrije versie van de website bezoeken met minder functionaliteit. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , reacties: 62, views: 30.614 •
Bron: DailyTech

AMD heeft tijdens de AMD Technology Analyst Day de volgende generatie processors in detail belicht. Opvallend was dat AMD de nieuwe generatie niet bij naam noemde, maar alleen sprak van een nieuwe architectuur. De gepresenteerde microarchitectuur toont echter grote overeenkomsten met het K8L-ontwerp dat onlangs werd besproken. De nieuwe architectuur bestaat uit vier cores en elke core beschikt over 64KB L1-cachegeheugen (32KB data- en 32KB instructiecachegeheugen) en 512KB L2-cachegeheugen. Opvallend is dat AMD de grootte van het L1-cachegeheugen door tweeën heeft gedeeld, want de huidige K8 heeft 64KB L1-data- en 64KB L1-instructiecachegeheugen. Volgens AMD zou dit echter niet veel invloed hebben op de prestaties, daar alle vier de cores een L3-cachegeheugen delen dat in eerste instantie 2MB groot is. Processors met meer L3-cachegeheugen zouden ook op de roadmap staan.

Overzicht architectuur K8L (klein)De architectuur zou volgens AMD een modulair ontwerp zijn. Dat wil zeggen dat elk onderdeel, van L3-cachegeheugen tot rekeneenheden, apart zijn ontworpen en getest om later samengevoegd te worden tot een processor. Dit is echter niks nieuws onder de zon, daar elke moderne chip tegenwoordig op deze manier wordt ontworpen. AMD claimt echter dat dit modulaire ontwerpen nog verder is doorgevoerd door onder andere de interfaces van alle blokken beter te definiëren. AMD liet echter niets los over de reden hierachter. Waarschijnlijk maakt een modulair ontwerp het makkelijker om bepaalde onderdelen later te wijzigen zonder dat dit invloed heeft op andere onderdelen. Ook opent het de mogelijkheid om makkelijker een onderdeel toe te voegen als dit nodig is. Een andere mogelijkheid is dat dit niets anders is dan voorbereidend werk om omgekeerde HyperThreading mogelijk te maken: het uitvoeren van een thread op meerdere cores.

Architectuur enkele core K8L (klein)Het was al bekend dat de vier cores en de 'northbridge' van de K8L in tegenstelling tot de K8 allemaal op een andere spanning en klok kunnen werken. Cores die niet gebruikt worden, kunnen dus op een lagere klok en/of lager voltage werken of zelfs uitgeschakeld worden. Dit systeem om energie te besparen als de processor niet veel werk hoeft uit te voeren heeft ondertussen van AMD ook een naam gekregen: Dynamic Independent Core Engagement (DICE).

K8L multiprocessor HyperTreading (klein)De nieuwe HyperTransport 3.0-bus waarmee de volgende generatie AMD-processors zal zijn uitgerust, zal zijn werk doen op 2,6GHz en 16bits breed zijn, goed voor een bandbreedte van 5,2GB/s. Ter vergelijking: de huidige HyperTransport-bus heeft een maximale frequentie van 1GHz en is ook 16bits breed, goed voor een bandbreedte van 2GB/s. Elke processor krijgt vier van deze bussen. Drie hiervan zijn bedoeld voor de communicatie met andere processors in een multiprocessorsysteem. De vierde kan worden gebruikt voor de chipset om I/O mogelijk te maken. Doordat er drie HT-bussen op de processor zitten, kan er een multiprocessorsysteem gebouwd worden met vier processors die allen een directe link hebben met het cache en het geheugen van een andere processor. Het grote voordeel hiervan is dat de latentie om iets op te zoeken in het geheugen waarover een andere processor beschikt laag gehouden kan worden. De 16-bits HT-links kunnen ook opgesplitst worden in twee 8-bits HT-links, waardoor hetzelfde geintje is uit te halen met acht processors. Gezien de hogere bandbreedte zou dit in theorie niet zoveel mogen uitmaken voor de snelheid.

Update: Volgens Real World Technologies heeft AMD niet in het L1-cache gesneden. Zowel het instructie- als het datacache zouden 64KB groot zijn. Dit zou bevestigd zijn door een architect bij AMD. Daarnaast bevestigt de afbeelding van de core ook dit vermoeden. Het artikel van DailyTech waarop dit nieuwsbericht is gebaseerd bevat dan ook waarschijnlijk een fout.

Reacties (62)

Reactiefilter:-162062+151+213+33
Er staat een fout in dit artikel. Het L1 cache geheugen is ongewijzigd. Het Dailytech artikel is onjuist.

http://www.realworldtech....ArticleID=RWT060206035626


And Hans de Vries:
http://www.aceshardware.c...sp?id=120057170&forumid=1
Ik denk dat die modulaire opbouw wel degelijk een heel groot voordeel kan betekenen voor AMD.

Stel dat ze een modulaire opbouw weten te realiseren waarbij de geheugencontroller eenvoudig verandert kan worden zonder dat er veel aan de interfaces verandert. Hierdoor kan er zonder een ander socket te gaan gebruiken eenvoudig een ander soort geheugen gebruikt worden en vooral de korte levensduur van de sockets is iets waar veel kopers van AMD zich aan ergeren volgens mij.
Hierdoor kan er zonder een ander socket te gaan gebruiken eenvoudig een ander soort geheugen gebruikt worden en vooral de korte levensduur van de sockets is iets waar veel kopers van AMD zich aan ergeren volgens mij.
Eh, dan moet het moederbord dat natuurlijk wel ondersteunen. En dat zie ik niet (zo snel) gebeuren.
dat is niet erg, dan hoef je enkel een ander moederbord te kopen bijvoorbeeld. Voordeel is dat je niet alles tegelijk hoeft te upgraden wat nu wel moet en dat is imo een nadeel

@ olaf hieronder, je hoeft niet alles in 1 keer te kopen, moederbord blijft een probleem natuurlijk aangezien daar alles in gestoken wordt, maar zou het niet veel fijner zijn als je bijvoorbeeld je cpu dan mee zou kunnen nemen of je geheugen. Dit heeft ook als voordeel dat je niet alles op 1 moment hoeft te kopen en als je bijvoorbeeld een geheugen upgrade doet dus mobo en geheugen, dan kun je een jaar later nog een nieuwere cpu kopen die veel beter is dan die je op het moment kon kopen toen je je geheugen kocht.

zoiezo is het fijn als je wat te kiezen hebt imo ;)
Voordeel is dat je niet alles tegelijk hoeft te upgraden wat nu wel moet en dat is imo een nadeel
Dus je wil geheugen upgraden (DDR1 -> DDR2) zonder de processor te upgraden? Wat is daar het nut van?
Budget. Bij intel is het heel goed mogelijk om dezelfde processor te blijven gebruiken en een nieuw moederbord met nieuwe snufjes te kopen. Goed, je kan je afvragen hoe zinvol het is, maar er zullen altijd mensen zijn die het willen
Kan bij AMD net zo goed (of slecht) als bij Intel.
Daar zit het voordeel niet in hoor.
Okay, stel de modulaire opbouw is nu zover doorgevoerd dat ze dezelfde socket kunnen blijven gebruiken met ander geheugen...

- Je hebt nogsteeds een nieuwe processor nodig waar de geheugen aansturings module verandert is
- Je hebt nogsteeds een nieuw moederbord nodig wat het nieuwe geheugen ondersteund

Wat is dan het verschil met het wél veranderen van de socket? Het probleem blijft gewoon hetzelfde. Nog sterker: Als je de socket níet verandert loop je het risico een processor te kopen met een moederbord waarbij beiden een ander soort geheugen ondersteunen en je het dus nooit aan de gang gaat krijgen......

Ofwel: Nee, andere geheugen ondersteuning met dezelfde socket is compleet zinloos
bij elk nieuwe geheugen type gaat AMD zowizo een nieuwe socket uitgeven.
of het nou technisch nodig is of niet.
gewoon om verwaring te voorkomen en zodat je niet ddr2 cpu's in een ddr3 mobo kan stoppen (wat vervolgens dan ook niet werkt)

voor servers gaan ze het wel zo maken dat de socket en geheugen controle al meteen meerdere geheugen typen ondersteunen. maar dat heeft verder weer weinig met de modularietijd te maken.

het grootste voordeel van modulair werken is gewoon dat je niet je hele CPU opnieuwe hoeft te ontwerpen als je een klein iets veranderd.
als AMD dus over gaat op ddr3 geheugen dan hoeven ze alleen de controler te verandere en kunnen de rest van de core in princiepe met rust laten.

zich snel aan kunnen passen aan de vraag van de markt (time to market) en kosten besparing (minder tijd kwijt aan nieuw ontwerp = nieuw ontwerp kost minder geld), daar gaat het vooral bij modulair ontwerpen.
Erm, AMD is juist degene die het voor elkaar hebben gekregen jarenlang dezelfde socket te gebruiken in de tijd waar intel zo'n beetje elk jaar een nieuwe socket uitbracht. Ik erger me meer aan intel wat die sockets betreft dan aan AMD.
En hebben ze ook nog relevante informatie gegeven?
Klinkt leuk, maar waar blijven de applicaties en games die dualcore ondersteunen? Laat staan quad core?

Edit: Over reverse hyperthreading heengelezen!
Daar komt dus de omgekeerde HyperThreading om de hoek kijken, wat in het artikel ook al genoemd wordt inclusief link naar een ander artikel hierover.
Daar heb ik eigenlijk niks over gelezen. Waar staat dat precies?
Dit lijkt me ook een heerlijke techniek.
Gewoon multicoren ook al is de software er niet voor ontworpen.

En multicore-software is nog een stap sneller. :9
Dat is afhankelijk van het gebruik van je PC.
Stel je hebt een dual core PC, WinRAR en een render programma.
Ik heb rendersoftware gezien die tot 16 CPUs gaat. Effe aannemen dat een core voor zo'n programma gelijk is aan en losse CPU.
Het renderen gaat dan (bijna) 2x zo snel.
Ga je echter RARen dan zal WinRAR een hoop CPU power van 1 core afpakken.
Verder is het wel leuk dat 1 core op zijn max zit en de rest van de machine nog lekker vlot werkt.
Als je 2 core op de max jaagt is de rest v/d machine sloom. Tis maar waar je de voorkeur aan geeft.
Mooi zou zijn dat je de programma priority per core kunt instellen.
Die kunnen wegblijven zodra AMD reverse hyperthreading aan de praat heeft :)

/edit: Te laat...
Dual-core ondersteunen ze allemaal. Er effectief gebruik van maken is een andere vraag...

Oblivion is één spel dat al goed van dual-core gebruik tracht te maken. En vergeet niet dat je ook simpelweg twee applicaties op volle snelheid naast elkaar kan draaien. Supervlot voor multitasking. Ook maken (video)drivers tegenwoordig gebruik van dual-core dus het helpt zelfs voor spellen die niet of nauwelijks aan multi-threading doen.

En aangezien dual-core binnenkort mainstream wordt zie ik geen reden om nog voor een single-core te kiezen. Quad-core is nog toekomstmuziek en zal eerst z'n nut vinden in de servermarkt.
AMD heeft net z'n Quad-Core desktop oplossing gepresenteerd, dus echt toekomst is dat al niet meer.
Klopt, maar dat is strikt gesproken een dual-processor dual-core oplossing. (8> Twee sockets dus. Het is dan ook enkel voor de ultra-high-end desktopmarkt en het wordt nog wel even wachten tot dat betaalbaar wordt voor u en ik.
Laten we wel wezen. Die oplossing is niet veel meer dan een stel Opterons die gerebanded zijn naar Athlon64s Leuk voor de marketingafdeling maar in wezen niets nieuws.
Lijkt mij, dat als je een applicatie hebt, die multithreaded is of word, om dan eerst te detecteren hoeveel bruikbare cores (en dus threads) je tegelijk kan doen... Zodra je dat weet, kan je aan de hand daarvan je threads spreiden natuurlijk over de cores...

Als je dus eenmaal dual core support hebt, heb je dus ook gelijk triple en quad core support... ;)
in quake4 met de nieuwste patch kan een dual core al een behoorlijke preformance boost geven anders.

en de over niet zo heel lange tijd uitkomende unreal 3 engine (UT2007) is voor zover ik weet geheel threaded gemaakt dus daar zal dual core's pas echt kunnen laten zien wat ze kunnen.
Dat ziet er erg leuk uit. Dat modulaire dat nog eens verder doorgedreven is, kan mss nog eens een gouden keuze blijken, als ze netjes geplaatst zijn kan de ene module vergroot worden tov de andere, om bijvoorbeeld een superFPU-core te maken.
Of praat ik nu poep?

Hij lijkt me een lekker antwoordje op de supergehypte nieuwe intel proc, ik kijk al uit naar de eerste benchmarks. Begin 2007 was et toch?
Een FPU toevoegen is sowieso kinderspel. De moeilijkheid is om hem ook nuttig te gebruiken. Daarvoor moet je genoeg data kunnen aanleveren en afvoeren, genoeg instructies kunnen decoderen, genoeg ILP kunnen vinden en meer micro-ops tegelijk in behandeling kunnen hebben. Een processor moet gewoon goed gebalanseerd zijn, en het botweg vervangen/uitbreiden van één deel is vrijwel nooit echt nuttig zonder het ontwerp ook op andere plaatsen aan te pakken.
Klopt helemaal wat je zegt.

Uit ervaring met de architectuur van een modulaire audio-dsp weet ik dat het mogelijk is om dingen als de prefetcher, decoder en isuer zo modulair te maken dat deze een aantal rekeneenheden tegelijkertijd gevoed kunnen houden. Een ontwerp dat maar weinig rekenkracht nodig heeft, heeft bijvoorbeeld maar een rekeneenheid nodig, terwijl een ontwerp dat veel rekenkracht nodig heeft er vier nodig heeft. Het modulaire ontwerp zorgt ervoor dat alle onderdelen van elkaar weten hoeveel er aanwezig zijn. De balans tussen alles komt dus voort uit het modulaire ontwerp. Ik denk zelf dat AMD hierop doelt, hoewel ze dat natuurlijk niet zeggen.
( Je stink wel uit je mond, maar dat terzijde ;) )

Een toenmende mate van modulariteit van alle componenten, geeft inderdaad meer flexibiliteit, waardoor aanpassingen sneller te realiseren zijn.
De onderdelen moeten wel enigzins met elkaar in verhouding blijven staan, omdat je rekening moet houden met de zwakste schakel in het geheel.

Je kunt als extra componenten ook nog denken aan speciale co-processoren, die on-die danwel elders op het moederbord worden geplaatst. Deze kunnen relatief eenvoudig aan de hypertransport bus worden gehangen, die alles met elkaar verbindt.
Lijkt me dat ze nu makkelijker het cache geheugen kunnen vergroten. Dus daar zullen ze waarschijnlijk ook mee bezig zijn te spelen.
Dat reversed hyperthreading klinkt wel erg goed aangezien het aantal cores makkelijker hardwarematig dan softwarematig op te schalen is........
Zou het op deze manier , met 4 cores (die dus door die reversed technieken als een dualcore gebruikt kan worden) , niet goed zijn voor de Physics te berekenen in games ?

Verder ziet het modulaire ontwerp er goed uit , zeker omdat alle processors rechtstreeks met elkaar in verbinding zijn. Zo zal amd nog steeds snel toegang hebben tot het ram :).

Alleen heb ik wel bedenkingen wat dit niet gaat kosten ? Je moet 2 DualCore processors kopen , en deze kosten op het moment toch zo'n 300¤ / stuk.

Wel is dit het paradijs voor overklockers , als je ene core niet goed wilt overklocken , is dit geen belemmering om je uit te leven op de andere cores. Zeker als je het voltage per core apart kan regelen :Y).
Zeker als je het voltage per core apart kan regelen .
Er staat nergens dat de gebruiker dat zelf kan.
Alleen heb ik wel bedenkingen wat dit niet gaat kosten ? Je moet 2 DualCore processors kopen , en deze kosten op het moment toch zo'n 300¤ / stuk.

Indien deze nieuwe architectuur op de markt is zijn we minstens op 65nm dan wel op 45nm aanbeland. Dit moet dus geen probleem zijn.
Zou het op deze manier , met 4 cores (die dus door die reversed technieken als een dualcore gebruikt kan worden) , niet goed zijn voor de Physics te berekenen in games ?
Nee, een PPU of een aantal pipelines van je GPU zijn veel beter geschikt voor physics berekeningen.
Klopt uiteraard, maar als je toch extra cores kweekt, dan mag je ze best gebruiken.

Je kan een core uiteraard toeweiden aan physics. Vooral als je 'm normaal toch nauwelijks of niet benut. Waarom zou je dingen onbenut laten.

Al is het niet de meest efficiente manier, zoals je al zei, maar er is rekenkracht ten overvloede.
Voor alle mensen die hier zo enthousiast reageren over "reversed HyperThreading": dat zit dus niét in K8L. Heel dat verhaal is gebaseerd op een enkel gerucht van een anonieme bron. Los van de twijfelachtige betrouwbaarheid daarvan ging het expliciet over K10.

Er zijn wel een aantal manieren waarop een tweede core een singlethreaded programma kan helpen, bijvoorbeeld door alvast vooruit te lopen en de caches op te warmen, maar de hoeveelheid complexiteit die nodig is om twee cores daadwerkelijk als één te kunnen gebruiken moet immens zijn. Ik denk persoonlijk dat het hele verhaal gewoon iets te enthousiast is geïnterpreteerd.
je zal uiteraard de performance nooit x2 krijgen met reverse hyperthreading, maar er moet toch veel te doen zijn denk ik, zonder echt veel moeilijkheden
- zoals je zelf al aanhaalt: vooruitlezen en de nodige gegevens al verzamelen, iets uit het ram halen is traag, iets van de HD halen is nog veel trager, dus daar kan wel wat winst gemaakt worden
- vooruitlezen en alle onafhankelijke stukken alvast uitrekenen, het lijkt mij dat daar zeer veel winst te halen valt zonder echt superingewikkelt te zijn, uiteraard zal de winst zeer afhankelijk zijn per programma
Heel dat verhaal is gebaseerd op een enkel gerucht van een anonieme bron.
linkie?
linkie?
Dat is het probleem juist, er is geen info over te vinden.
Je hebt ook helemaal gelijk, er is nooit over reversed hyperthreading gesproken.

Er is alleen gesproken over dat een zwaar belaste core reken eenheden van andere cores zou kunnen lenen. Dus helemaal niet dat twee cores samen werken aan één thread, maar een dynamische vergroting van één core met extra rekeneenheden.

En dit staat dus inderdaad in de processor beschrijving van de K10 ( toen nog de K9 )
Die tweede core kan nog een ding meer doen: namelijk zn instruction pipelines "uitlenen", alhoewel ik niet denk dat de performance hier echt mee vooruitgaat.. Maar het zou een mogelijkheid zijn..
<edit>
Dit bovenstaande geldt natuurlijk alleen in geval van reversed hyperthreading, als het er ooit gaat komen </edit>
Die tweede core kan nog een ding meer doen: namelijk zn instruction pipelines "uitlenen", alhoewel ik niet denk dat de performance hier echt mee vooruitgaat.. Maar het zou een mogelijkheid zijn..
Ik zie niet hoe dat zou kunnen werken met een core die ook maar een beetje lijkt op wat er vandaag bestaat. Het oversturen van een instructie en bijbehorende data naar een andere core, het uitvoeren ervan en het vervolgens weer terugsturen van het resultaat zal maar zeer zelden sneller zijn dan het simpelweg wachten tot er een executie-eenheid op de lokale processor beschikbaar is. Zeker als je bedenkt dat gemiddeld 80% van de executie-eenheiden niets te doen heeft. Zoveel complexiteit toevoegen voor minimale winsten lijkt me niet verstandig; het beperkt de kloksnelheid, drijft het stroomverbruik omhoog, verlaagd de yields, verhoogt het risico op vertraging, etc. Ik denk niet dat AMD zoiets daadwerkelijk gaat doen. Waarschijnlijk hebben ze gewoon een andere methode die een stuk makkelijker is en heeft het verhaal ergens op zijn weg naar de geruchtensite een spectaculairder tintje gekregen.
Om van vier cores tegelijkertijd gebruik te kunnen maken, heb je vier prefetechers nodig. Wat nu als je die prefecheters niet 32-bytes breed maakt, maar 128-bytes breed die in drie verschillende modus kan oppereren: 4x32, 2x64 en 1x128. Doe hetzelfde hierna voor de decoder die de instructies decoded en richting een van de vier instruction depatchers kan sturen. Deel de LS/ST-queue en de rest van de architectuur kan hierna min of meer hetzelfde blijven.

Zo moeilijk zou dit niet moeten zijn om te implementeren, daar een VLIW-processor al op een soortgelijke manier werkt.

Wat mij vooral opvalt is de nadruk die AMD legde op het modulaire ontwerp. Waarom hier zo'n nadruk op leggen terwijl elk ontwerp in de microelectronica al modulair is? Dat wil zeggen, elk blok wordt apart ontworpen. Waar gaat AMD verder dan de rest? Dat blijft op dit moment helaas gissen, maar als ik een gok zou moeten wagen, dan komt er in de toekomst een processor waarin elke execution unit niet meer een vast onderdeel is van een enkele core, maar via een soort van network-on-a-chip oprdrachten kan verwerken van een van de vier prefetchers/decoders/dispatcher. Alles wat daarvoor nodig is, is namelijk het beter defineren van interfaces tussen de blokken en het overstappen van een busstructuur op een netwerkstructuur om onderdelen met elkaar te verbinden.
Wat jij voorstelt is gewoon één hele brede core. Een VLIW kan geen onderscheid maken tussen vier aparte instructiestromen met ieder hun eigen branch history, virtuele adresruimte, registerinhoud en vele andere controlemechanismes (stack pointer, program counter, reorder buffer etc.). Bij een hybride ontwerp dat ergens tussen vier losse cores en één hele brede core inhangt zouden ze hele vreemde capriolen uit moeten gaan halen om te zorgen dat alles goed blijft werken.

Hét grote probleem van een aantal cores die als een netwerk werken is de latency. Het fysiek verplaatsen van instructies en data inclusief overhead van een bepaald protocol dat er zou moeten zijn neemt al behoorlijk wat kloktikken in beslag. Dan moet de instructie ook nog uitgevoerd worden. Wat is nou de kans dat een bepaalde executie-eenheid al die tijd onbeschikbaar blijft op de originele core?

Zoals eerder al opgemerkt is het probleem van (x86-) processors helemaal niet dat er te weinig executie-eenheden zijn, maar juist dat het moeilijk is om die eenheden nuttig te gebruiken. Een of ander gigantisch ingewikkeld systeem ontwerpen om cores elkaars eenheden te laten gebruiken is in theorie misschien wel mogelijk, maar het lijkt me gewoon een zinloze oefening omdat het eenvoudiger, goedkoper en effectiever is om gewoon alle cores een paar extra units te geven.

Dat AMD opmerkingen maakt over modulariteit moet je denk ik niet zo technisch opvatten als je doet: die presentatie is bedoeld om analysten vertrouwen te geven in de toekomst van het bedrijf en niet voor collega-chipontwerpers. Ik denk dat ze met die modulariteit meer doelen op het Torrenza-initiatief voor co-processors en dergelijke.
Een soort van "shared pipeline" zou misschien kunnen werken (mits alles _exact_ synchroon gaat bij beide cores)
Daarmee zouden beiden processoren aan hetzelfde stukje kunnen werken, helaas blijft dan het probleem met overkopieren van registers ed.
Ben eigenlijk wel benieuwd wat het verbruik (in Watt) zal zijn van deze quad cores.
Lijkt me dat die 'doorgevoerde modulaire opbouw' te maken heeft met het onlangs geshowde 4x4 platform..

Op dit item kan niet meer gereageerd worden.