Gå til innhold

AMD forteller om kommende prosessorer


Anbefalte innlegg

Simen1:Angående FP ytelsen så er det jo gjerne slik at en moderne parallellisert FP last vil ha fullt trykk på alle kjerner så godt det lar seg gjøre å fore de via minnehierarkiet. Derfor blir det i realiteten 1/2 FP enhet per int-pipeline. Det er imidlertid en nokså bred FP enhet og som du sier vil denne løsningen tilby litt bedre utnyttelse i de tilfellene hvor kun en pipeline trenger FP kapasitet og kan utnytte hele bredden.

 

Osse: Heller omvendt, Bulldozer vil nok få litt problemer med sterkt flertrådede programmer sammenlignet med SMT løsninger. SMT deler flere ressurser ergo vil utnyttelsesgraden bli høyere når deling er mulig, og deling vil typisk være godt mulig når programmene kan kjøre på veldig mange tråder.

 

Selv har jeg vel sagt at jeg ikke er helt for Bulldozer løsningen tidligere, men det er da i den kontekst at vi ser den opp mot alle mulig løsninger for ressursdeling. Jeg er generelt for full ressursdeling, men med store begrensinger i granularitet. Årsaken er at en må kunne dele alt for best mulig effektivitet, men hvis en har for fin granularitet vil kostnaden i implementasjonen bli for høy i forhold til gevinsten og den økte kompleksiteten vil dra ned ytelse/tråd som er den "hellige gral" (fordi det er vanskeligst og i det lange løp viktigst). SMT er et typisk eksempel på for fin granularitet. Her er "alt lov" til enhver tid; alt kan deles alltid. Det er veldig kostbart å implementere.

 

Bulldozer gjør det altså delvis riktig, i følge mine helt personlige preferanser. De ofrer ikke ytelse/tråd innen integer området ved å bruke SMT. Minus er at de ikke kan dele integer piplinen mellom flere tråder i hardware. Å gå runden via OS for context switch tar noen tusen sykluser så det er ikke veldig gunstig form for deling.

 

Den perfekte løsningen hadde nok vært noe i retning Bulldozer, men med SoE-MT for deling av int-pipe. Montecito (Itanium) har en SoE-MT i dag, men den har 15 sykluser overhead for hver switch. Det er mye bedre enn OS, men 1 til 0 sykluser hadde nok vært bedre alt i alt. Jeg tror grunnen til at det er 15 sykluser er at SoE-MT ble designet inn i en allerede ferdig CPU kjerne og ikke designet inn fra starten. Derfor ble det for komplekst å ikke kjøre en flush av pipelinen i forbindelse med context switch. Senere versjoner vil kanskje fikse dette.

 

For FP ytelse er fat-cores som Bulldozer uansett ikke det beste så den delte FP enheten er ikke noe krise. For FP ytelse vil nok tynne kjerner (etterkommere av det vi tenker på som GPGPU i dag) regjere i fremtiden.

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...