Gå til innhold

Mot økt cache-størrelse for AMD


Anbefalte innlegg

Videoannonse
Annonse
En nylig signert avtale med Innovative Silicon kan gjøre AMD i stand til å femdoble cache-størrelsen på sine prosessorer.

Les mer

5469447[/snapback]

 

Men mer cache kan vel også resultere i høyere latency, og det er ikke bra.

Kanskje på tide å tørke støvet av L3 cache, og gjenninføre den?

for eks. 2MB L2 cache, og 32MB L3 cache hadde vært saker.

 

L3 cache ble tatt i bruk på socket 7 plattformen, med AMD K6-III som fikk integrert L2 cache, (i motsetning til tideligere cpu`er på socket7, som hadde L2 cache`n plassert på hovedkortet) Når L2 cache`n ble inntegrert i cpu`en, ble cache`n isteden L3 cache.

Lenke til kommentar

Størrelsen på cache er jo ikke så viktig, noe som ble bevist da Intel laget en av Celeronene sine fra Pentium 2.

For å få den billigere, ble den klokket ned, og utstyrt med halvparten av cache, som på Pentium 2 kjørte på halvparten av CPU-fart.

På Celeron var minnet mindre, men at det var dobbelt så raskt, viste seg å være en stor fordel, siden mange programmer ikke brukte mer enn det Celeron hadde. (128 eller 256kB)

 

Men lurer virkelig på hva prisen blir, slik rask ram er jo svinedyr :hmm:

Endret av kjehaako
Lenke til kommentar
Størrelsen på cache er jo ikke så viktig, noe som ble bevist da Intel laget en av Celeronene sine fra Pentium 2.

For å få den billigere, ble den klokket ned, og utstyrt med halvparten av cache, som på Pentium 2 kjørte på halvparten av CPU-fart.

På Celeron var minnet mindre, men at det var dobbelt så raskt, viste seg å være en stor fordel, siden mange programmer ikke brukte mer enn det Celeron hadde. (128 eller 256kB)

 

Men lurer virkelig på hva prisen blir, slik rask ram er jo svinedyr  :hmm:

5469574[/snapback]

 

Prosessorens arkitektur er veldig avgjørende når cache skal dimensjoneres. P4 har større nytte av stur/rask cahce siden den har større latency gjennom NB enn athlon som har egen minnekontroller.

Lenke til kommentar
En nylig signert avtale med Innovative Silicon kan gjøre AMD i stand til å femdoble cache-størrelsen på sine prosessorer.

Les mer

5469447[/snapback]

 

L3 cache ble tatt i bruk på socket 7 plattformen, med AMD K6-III som fikk integrert L2 cache, (i motsetning til tideligere cpu`er på socket7, som hadde L2 cache`n plassert på hovedkortet) Når L2 cache`n ble inntegrert i cpu`en, ble cache`n isteden L3 cache.

5469487[/snapback]

 

Mener å huske at cachen ikke ble inntegrert i cpu`en før socket A kom på markedet(husker ikke intel sin socket). Slot A/Slot 1 var en mellomting, da L2 cachen var på prosessoren men ikke i selve kjernen.

Lenke til kommentar
Hvilken praktisk nytte vil det ha å øke cachen på nåveærende CPU'er?

Og hva oppnår man ved å fordele minnet på cache L1, L2 og L3 fremfor å ha alt på ett nivå?

5469682[/snapback]

 

Hvis du har veldig stor L1 cache så vil søketiden for å aksessere dataene i cachen bli mye større enn om den er liten. Derfor er det en liten L1 cache for ting som aksesseres veldig raskt (ofte brukte data), så en L2 for (nest mest ofte brukte data), så L3 etc. og til slutt ram.

 

Edit: Angående praktisk nytte av å øke cache så avhenger det av prosessor arkitektur som nevnt tidligere her, itanium har f.eks veldig stor fordel av stor cache, mens AMD sin nåværende arkitektur ikke har så stor bruk for det.

 

En annen ting er jo kompilatorer, hvis du kompilerer mot en spesifikk prosessor med en spesifikk cachemengde så kan du jo i prinsippet tyne ut mer kraft av en stor cache enn det som er vanlig i dag. I dag kompileres iallefall desktop applikasjoner for å fungere greit på Pentium 4, Pentium Mobile, Celeron, Sempron, Athlon64 etc. Et eneste stort kompromiss som ikke gir max ytelse.

Endret av balleklorin
Lenke til kommentar
Hvilken praktisk nytte vil det ha å øke cachen på nåveærende CPU'er?

Og hva oppnår man ved å fordele minnet på cache L1, L2 og L3 fremfor å ha alt på ett nivå?

5469682[/snapback]

 

Dette er et meget omfattende tema. Patterson & Hennessy gir en veldig god innføring til minnearkitektur i "Computer Architecture: A Quantitative Approach".

Lenke til kommentar
En nylig signert avtale med Innovative Silicon kan gjøre AMD i stand til å femdoble cache-størrelsen på sine prosessorer.

Les mer

5469447[/snapback]

 

L3 cache ble tatt i bruk på socket 7 plattformen, med AMD K6-III som fikk integrert L2 cache, (i motsetning til tideligere cpu`er på socket7, som hadde L2 cache`n plassert på hovedkortet) Når L2 cache`n ble inntegrert i cpu`en, ble cache`n isteden L3 cache.

5469487[/snapback]

 

Mener å huske at cachen ikke ble inntegrert i cpu`en før socket A kom på markedet(husker ikke intel sin socket). Slot A/Slot 1 var en mellomting, da L2 cachen var på prosessoren men ikke i selve kjernen.

5469685[/snapback]

 

Der tar du nok feil;

 

 

Amd K6-III specs

 

 

Jeg hadde selv en slik cpu, og den var meget potent i sin tid. Overklokket fra 450 til ca 466. Det stemmer det som du sier ang. SlotA/Slot1.

Lenke til kommentar
Erkerivalen Intel leverer i dag desktop-prosessorer med 4 MB cache. AMD topper foreløpig ut på 2 MB, men har allikevel et ytelsesmessig fortrinn i mange tilfeller.

Vel, for å flisespikke litt så er ikke 2x1MiB cache det samme som 2MiB cache. 2x2MiB er heller ikke det samme som 4MiB.

 

 

10 mb cache på en DC prosessor er ikke umulig da...

5469480[/snapback]

Femdobling av cache = sure priser :(

5469658[/snapback]

Nå er det ikke sikkert AMD velger å bruke teknologien til å øke mengden cache men f.eks til å redusere arealet cachen tar med 5 ganger. Dette fører til flere CPUer per wafer, lavere produksjonspriser, noe som forhåpentligvis også betyr lavere utsalgspriser. Når man ser på hvor lite L2 cachen har å si i en rekke applikasjoner på AMD-prosessorer så virker det litt bortkastet å bruke teknologien til å gi 5 ganger mer cache og dermed bare en smule økt ytelse (i beste fall). Da høres andre alternativer mer logisk ut for meg: F.eks:

 

1. Mindre areal = lavere priser eller

2. Plass til å integrere andre egenskaper/koprosessorer

3. Plass til å integrere delt L3 cache.

 

Personlig tror jeg 1. er mest sansynlig for Athlon64, Sempron64 og Turion64 -seriene, mens 3. mer mest sansynlig for DC og QC Opteron.

 

Edit: La til en link

Endret av Simen1
Lenke til kommentar
Hvilken praktisk nytte vil det ha å øke cachen på nåveærende CPU'er? Og hva oppnår man ved å fordele minnet på cache L1, L2 og L3 fremfor å ha alt på ett nivå?

5469682[/snapback]

Det er egentlig den eneste måten å gjøre det på. Poenget med cache er at den skal ha mye raskere tilgang (latency) enn til systemminnet. Jo mer cache man har jo tregere blir den siden det blir vanskeligere å kjøre minnet synkront jo større det er. L1 cache er sinnsykt kjapp (latency på 1-2 klokkesykluser) men desto veldig liten (128KiB på A64 og 32KiB på P4). Siden den er så liten så gir det mye cache-miss og poentsielt myyyye venting på systemminnet (ca 100 klokkesykluser idle). For å bøte på dette så brukes L2 cache. L2 bør være betydlig større enn L1 for å senke latency på cache-miss fra rundt 100 klokkesykluser til ca 10 klokkesykluser. L3 cache er ennå et nivå med større størrelse og tregere latency.

 

En annen ting er at L1 cache er bygget opp av f.eks 8 transistorer per bit for å få den så rask, mens L2 bare bruker 2 transistorer per bit. Det betyr at L1 cache er arealmessig mye dyrere enn L2. 1MiB L2 tar ca like mye plass som 256KiB L1. L3 kan sikkert bruke bare 1 transistor per bit, noe som gir plass til mye L3 cache. F.eks vil det ta ca like mye areal om AMD øker L2 cache fra 2x1MiB til 2x2MiB som å beholde mengden L2 cache og heller legge til 4MiB L3 cache. Så hva er best av 2x2MiB L2 cache eller 2x1MiB L2 cache + 4MiB L3 cahce? Det kan jeg ikke svare på siden det avhenger av alt for mye men jeg er sikker på at AMD velger det som passer kundene og dem selv best. Altså hva som gir best uttelling på ytelsen i de applikasjonene de tror kundene vil bruke.

 

En tredje ting er at AMD nå bruker mye ressurser internt i DC CPUer på å kopiere data fra den ene kjernens cache til den andre. Ved å innføre L3 så får kjernene en "felles plass" å utveksle data på. Dette kan gi noen ytelsemessige fordeler over det å ha separat L3 cache for hver kjerne.

 

En nylig signert avtale med Innovative Silicon kan gjøre AMD i stand til å femdoble cache-størrelsen på sine prosessorer.

Les mer

5469447[/snapback]

L3 cache ble tatt i bruk på socket 7 plattformen, med AMD K6-III som fikk integrert L2 cache, (i motsetning til tideligere cpu`er på socket7, som hadde L2 cache`n plassert på hovedkortet) Når L2 cache`n ble inntegrert i cpu`en, ble cache`n isteden L3 cache.

5469487[/snapback]

Mener å huske at cachen ikke ble inntegrert i cpu`en før socket A kom på markedet(husker ikke intel sin socket). Slot A/Slot 1 var en mellomting, da L2 cachen var på prosessoren men ikke i selve kjernen.

5469685[/snapback]

K6-2 hadde bare integrert L1 cache. K6-III fikk 256KiB integrert L2 cache. Begge hadde ett nivå høyere cache som var plassert på hovedkortet. Som oftest mellom 256KiB og 1MiB.

 

Edit: Rettet på mengden L1 cache. Takk for korreksjonen efikkan. :)

Endret av Simen1
Lenke til kommentar
Erkerivalen Intel leverer i dag desktop-prosessorer med 4 MB cache. AMD topper foreløpig ut på 2 MB, men har allikevel et ytelsesmessig fortrinn i mange tilfeller.

 

Er vell å be om bråk? :green:

5469539[/snapback]

Nei, det var en meget forsiktig kommentar etter min mening. Jeg ville heller si at AMD har et ytelsesmessig fortrinn i de fleste tilfeller på desktop'en :cool:

Lenke til kommentar

kunne godt tatt med at det er visse arkitekoriske grunner til at amd ikke trenger så my e cashe som intel...og at det er en del av grunnen til at amd blir billigere og samtidig ofte raskere enn andre konkurenter...finnes artikkel

om cpus oppbygging her på hw forumet...kan leses den om noen tviler..måtte ta det me for ordens skyld :)

Lenke til kommentar
Edit: Angående praktisk nytte av å øke cache så avhenger det av prosessor arkitektur som nevnt tidligere her, itanium har f.eks veldig stor fordel av stor cache, mens AMD sin nåværende arkitektur ikke har så stor bruk for det.

 

En annen ting er jo kompilatorer, hvis du kompilerer mot en spesifikk prosessor med en spesifikk cachemengde så kan du jo i prinsippet tyne ut mer kraft av en stor cache enn det som er vanlig i dag. I dag kompileres iallefall  desktop applikasjoner for å fungere greit på Pentium 4, Pentium Mobile, Celeron, Sempron, Athlon64 etc. Et eneste stort kompromiss som ikke gir max ytelse.

5469855[/snapback]

Arktiektur har betydning for utnyttelse av cache, men jeg tror ikke denne bør overdrives. Selv Itanium viser ofte veldig moderat ytelsesøkning ved å fleske til med mye cache. Alle prosessorer vil måtte ta en performance-hit ved cache miss, men man kan, ihvertfall i teorien, glatte over denne med SMT, m.a.o. utnytte CPU'en på en annen tråd mens den venter på data fra RAM.

 

Hvis vi antar at kompilatoren har utnyttet den cache CPU'en har, vil lokalitet av data i tid og posisjon gjerne avgjøre om det blir cache miss eller ikke, uavhengig av arkitektur, så da sitter vi igjen med applikasjonsavhengighet. For noen applikasjoner er det lett å forutsi hva som bør ligge i cache, for andre ikke, for noen vil en kraftig økning av cache gi betydelig reduksjon i cahce miss. Så også AMD kan dra god nytte av masse cache, gitt riktig applikasjon.

 

Simen1, takker for fin redegjørelse om cache. Jeg deler ditt syn på at kraftig økning i cache er mest interessant for Opteron, for A64 på desktop tror jeg ikke det har mye for seg på en god stund. Bifaller også kritikken av å angi total cache for DC, burde vært oppgitt som 2xcore-cache.

Endret av Del
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...