AMD Bulldozer samlingstråd
En tråd för att diskutera AMD's kommande mikroarkitektur Bulldozer.
Bulldozer die-shot (hårt Photoshoppad av AMD)
(Klicka för full storlek)
En Bulldozer FAQ kommer att dyka upp när det är dags, precis som med min Phenom II FAQ.
Tillsvidare så kan vi ha lite kort info om Bulldozer och några presentationsbilder.
Inledning
Först och främst så är detta något både jag och många väntat på, en ny mikroarkitektur från AMD. Det har inte skett sedan 1999 då första Athlon processorn lanserades (K7). I dagens Phenom II processorer så är det fortfarande optimerade K7 kärnor, vilket ganska få är medvetna om eller inser. Bulldozer är något helt nytt.
Annorlunda
Hur AMD kommer marknadsföra Bulldozer är oklart då detta är nytänkade. En Bulldozer processor med 4st moduler, det bör på marknaden bli en 4 kärnig processor som kan hantera 8 trådar
Ett exempel: En Bulldozer processor med 4 moduler kommer att uppfattas som 8 äkta kärnor av datorn för dom som inte förstått, likt Intel's Hyperthreading. Det kan ses som en motsvarighet till Intel's Hyperthreading också, fast en långt mycket mer effektiv och mer högpresterande lösning.
Bulldozer - en modul
Bulldozer konstrueras i form av flertalet så kallade moduler. En modul innefattar 2 beräkningskärnor med varsin 128-bit FPU som kan agera som en 256-bit FPU vid 256-bit AVX instruktioner. Beräkningskärnorna delar på resurser som avkodare, schemaläggare, fetchers samt en egen dedikerad L2 cache som också används av FPU'erna. Moduler tillsammans delar i sin tur på en större L3 cache.
Branch, fetch samt avkodare
Bulldozers branchpredictor och fetch enheter är separerade för att skapa mindre flaskhalsar, något som är viktigare i denna arkitekturen med dess längre pipeline. Äntligen ser vi också en 4 vägs avkodning, något vi saknat mycket länge och bland annat det som satt käppar i hjulet för K8 och K10.
Mer djupgående i en Bulldozer-modul och beräkningsenheterna
Den extra beräkningskärnan hos Bulldozer använder 12% mer kärnyta, men ska enligt AMD leverera ~80% högre prestanda jämfört med 1 kärna och är alltså mycket lik en CMP (fullskalig dualcore), men rejält mycket mindre. Flertrådsteknik (Hyperthreading t.ex) kan i bästa fall ge 25-30% mer prestanda och kräver inte långt ifrån lika mycket extra transistorer (ca 6%). Flertrådsteknik har sitt syfte att utnyttja processorns exekveringsenheter hårdare. Bulldozers modul-uppbyggnad har istället syftet att hårdare utnyttja avkodare, schemaläggare och L1/L2 cacher till redan effektiva pipelines. AMD har i Bulldozer en mycket kraftfull front-end för att kunna utnyttja dubbla integer-enheter, något man tidigare legat efter med och istället haft kraftfulla exekveringsenheter som aldrig kunnat utnyttjats fullt ut.
I Bulldozer så är schemaläggarna också unifierade, vilket innebär att resurserna används desto mer effektivt. Tidigare så har matematikenheterna (ALU'er) haft en dedikerad schemaläggare, och adressenheterna (AGU'er) likaså. Detta ökar effektiviteten hos Bulldozer. Utnyttjandet av enheterna på detta sätt ihop med en extra avkodningsenhet kan ge stor inverkan på prestanda under heltalsoperationer.
Nehalem har dock inte oberoende schemaläggare vilket gör att Bulldozer kan hålla sina avkodare fullt utnyttjade som i sin tur matar ALU/AGU/FPU. Hos Bulldozer så vägrar AMD att kommentera mer om avkodarna. I tidigare arkitekturer från AMD så har dom varit av komplicerad typ vilket enkelt förklarat tillåter processorn att avkoda komplexa instruktioner, dvs ökad flexibilitet. Bl.a detta gjorde gamla K7 Athlon snabbare jämfört med P6 baserade Pentium3 där Intel hade 2 enkla och 1 komplex avkodare, medans K7 Athlon hade 3st komplexa. Med Bulldozer har vi åtminstone branch-fusion!
Flyttalsberäkningar ser också lovande ut hos Bulldozer med sina 256-bit-bit FMAC's som är delade. Det finns också 2st MMX FPU'er för vanliga x87/MMX instruktioner. Schemaläggaren hos FPU'n klarar 2 trådar som tidigare nämnt och FPU'ns resurser beter sig som en flertrådad enhet och tillåter dubbla 128-bit flyttalsberäkningar per klockcykel. XMM registren är 256-bit och Bulldozer stödjer AVX, AES och LWP fullt ut inklusive XOP och FMA4 instruktions-set: http://support.amd.com/us/Processor_TechDocs/43479.pdf
Äntligen finns också fullt stöd för SSE4 (SSE4.1 och 4.2). Detta kommer göra prestandaskillnaden ännu större från dagens Phenom II då den har avsaknad för dessa instruktionsuppsättningar.
Processorns cache-prefetchers kommer vara betydligt mer aggressiva än tidigare och ställa desto mer krav på både cachenivåer och minnesbandbredd. Hur minneskontrollern är konstruerad och specificerad går inte av avslöja ännu. Lägre accesstid och högre bandbredd är att vänta dock.
AMD Turbo Core
Slutligen så kommer version 2 utav AMD's Turbo Core Teknologi att debutera i Bulldozer. Moduler kan stängas av och på helt och hållet dynamiskt oberoende av varandra och klockfrekvenserna kan ökas mer under Turbo-läge. Processorn har helt själv koll på strömkonsumption som bevakas i Turbo-läge.
[ AMD 7800X3D // EK-Block @ custom loop, 2x420mm ][ MSI B650 Tomahawk ][ 32GB G.Skill Z5 Neo @ DDR6000 CL28 1T ][ AMD 7900XTX @ custom loop ][ Corsair 750D // Corsair RM1000X ][ 2TB Samsung 990PRO M.2 SSD ][ Win10 PRO x64 ][ LG 34GN850 ]