Vostè va seguir els rumors i va ignorar el bombo; vas esperar comentaris i va mirar totes les mètriques. Finalment, us heu donat un cop de mà i us heu allunyat d’una de les últimes targetes gràfiques d’AMD o Nvidia. Entre ells, hi ha una gran GPU plena de milers de milions de transistors que funcionen a velocitats de rellotge inimaginables fa una dècada.

Estàs molt content de la teva compra i els jocs no han tingut un aspecte ni han jugat millor. Però és possible que us pregunteu què potència realitza el vostre nou Radeon. RX 5700 i com de diferent en un xip GeForce RTX.

AMD vs Nvidia: us donem la benvinguda a l’arquitectura i la comparació de funcions de les últimes GPU de Navi vs Turing.

Anatomia de la GPU moderna

Abans de començar a trencar estructures i sistemes de xips comuns, vegem el format bàsic que segueixen totes les GPU modernes. En la seva major part, aquests processadors són només calculadores de punt flotant (FP); en altres paraules, realitzen operacions matemàtiques amb valors decimals / fraccionaris. Per tant, almenys una GPU hauria de tenir una unitat lògica dedicada a aquestes tasques, i aquestes solen ser ALP FP (unitats lògiques aritmètiques de coma flotant) o FPU en breu. No tots els càlculs que fan les GPU es troben en valors de dades FP, de manera que també hi haurà una ALU per a enter (enter) poden ser operacions matemàtiques o la mateixa unitat que gestiona els dos tipus de dades.




Ara, aquestes unitats lògiques necessitaran alguna cosa per organitzar-les descodificant-les i organitzant-les per mantenir-les ocupades, i això tindrà la forma d'almenys un grup especial d'unitats lògiques. A diferència de les ALU, no són programables per l'usuari final; en lloc d'això, el proveïdor de maquinari s'assegurarà que la GPU i els seus controladors gestionin totalment aquest procés.



També hi ha d’haver algun tipus d’estructura de memòria per emmagatzemar aquestes instruccions i les dades que cal processar. En el seu nivell més senzill, tindria dues formes: memòria cau i un punt memòria local. El primer s'incorporarà a la GPU i VERGONYA. Aquest tipus de memòria és ràpida, però ocupa una part relativament gran del disseny del processador. memòria local DRAMAÉs una mica més lent que SRAM i normalment no s’inclou a la GPU. Memòria nativa de la majoria de les targetes gràfiques que veiem avui GDDR Mòduls DRAM.

Finalment, inclou tasques d’ajust addicionals com ara la creació de gràfics en 3D, la creació de triangles a partir de vèrtexs, la rasterització del marc 3D, el mostreig i la barreja de textures. Com les unitats d’instrucció i control, aquestes funció fixa a la natura. El que fan i el seu funcionament és totalment transparent per als usuaris que programen i utilitzen la GPU.




Unim això i fem una GPU:



El bloc taronja és la unitat que processa textures mitjançant el que s’anomena unitats de mapatge de textures (TMU'lar) - TA adreçament de textures volum: crea ubicacions de memòria per utilitzar la memòria cau i la memòria local i TF recuperació de textura recull els valors de textura de la memòria i els agrega. Actualment, les TMU són pràcticament iguals en tots els proveïdors, ja que poden gestionar, provar i barrejar diversos valors de textura per cicle de rellotge de GPU.




El bloc següent escriu els valors de color dels píxels del marc, els mostra de nou (PO) i els barreja (PB); aquest bloc també realitza les operacions utilitzades quan s'aplica l'anti-aliasing. Nom d'aquest bloc: renderitzar la unitat de sortida or crear backend (ROP / RB per abreujar). Igual que el TMU, ara s’estan convertint en bastant estàndard, i cada un maneja còmodament uns quants píxels per cicle de rellotge.

Dit això, la nostra GPU base hauria estat terrible, fins i tot segons els estàndards de fa 13 anys. Per què això?

Només hi ha una FPU, TMU i ROP. Els processadors gràfics com el GeForce 8800 GTX de Nvidia el 2006 tenien 128, 32 i 24 respectivament. Comencem, doncs, a fer-hi alguna cosa ...




Com qualsevol bon fabricant de processadors, hem actualitzat la GPU afegint algunes unitats més. Això significa que el xip pot processar més instruccions simultàniament. Per ajudar-hi, hem afegit una mica més de memòria cau, però aquesta vegada just al costat de les unitats lògiques. Com més a prop estigui la memòria cau d'una estructura de calculadora, més ràpidament es pot inicialitzar en les operacions que se li assignin.

El problema del nostre nou disseny és que encara hi ha només un controlador per gestionar les nostres ALU addicionals. Seria millor que tinguéssim més blocs d’unitats, tots gestionats pels seus propis controladors, perquè això vol dir que podem realitzar operacions molt diferents al mateix temps.

Ara això és més! Blocs ALU individuals empaquetats amb les seves pròpies TMU i ROP i recolzats per deliciosament deliciosos i ràpids talls de memòria cau. Encara només n’hi ha un de tot, però la versió bàsica no es troba a un milió de quilòmetres del processador gràfic que veiem actualment en ordinadors i consoles.

Navi ve Turing: Godzilla GPU'ları

Ara que hem definit el disseny bàsic d’un xip gràfic, aquí teniu algunes imatges dels xips reals, encara que lleugerament ampliats i renderitzats per ressaltar les diverses versions, i Navi vs. Comencem la nostra comparació de Turing.

A l’esquerra hi ha l’últim processador d’AMD. El disseny general del xip s’anomena Navi (alguns l’anomenen Navi 10) i l’arquitectura gràfica s’anomena RDNA. Al costat, a la dreta, hi ha el processador TU102 de mida completa de Nvidia amb l’última arquitectura de Turing. És important tenir en compte que aquestes imatges no estan a escala: l’àrea del patró Navi és de 251 mm2, mentre que el TU102 és de 752 mm2. El processador Nvidia és gran, però no 8 vegades més gran que l’oferta AMD.

Tots dos colossal nombre de transistors (18.600 milions contra 10,3), però el TU102 té una mitjana de ~ 25 milions de transistors per mm quadrat, en comparació amb els 41 milions per mm de Navi.

Això es deu al fet que, si bé ambdós xips són fabricats per TSMC, es produeixen en diferents nodes de procés: Turing de Nvidia es troba a la línia de producció madura de 12 nm, mentre que Navi d’AMD es basa en el nou node de 7 nm.

Només mirar les imatges dels patrons no ens diu gaire sobre les arquitectures, així que fem una ullada als diagrames de blocs de la GPU produïts per ambdues empreses.

Els diagrames no són una representació 100% realista de dissenys reals, però si els gireu 90 graus, es poden identificar els diferents blocs i franja central que apareixen a tots dos. Per començar, podem veure que les dues GPU tenen una versió general com la nostra (encara que més que qualsevol altra cosa).

Tots dos dissenys adopten un enfocament per capes de com s’organitza i s’agrupa tot: per començar a utilitzar Navi, la GPU consta de 2 blocs que AMD està buscant Motors Shader (SE), cadascun dels quals s’anomena 2 blocs asíncron Motors informàtics (AS). Cadascun d’aquests conté 5 blocs a la capçalera. Processadors de grups de treball (WGPs), que consta de 2 Unitats de tractament de la informació (Essència).

Per al disseny de Turing, els noms i els números són diferents, però la jerarquia és molt similar: 6 Conjunts de representació gràfica (GPC), 6 cadascun Conjunts de representació de textures (TPC), 2 cadascun Transmissió multiprocessador (SM) blocs.

Aquesta organització comença a tenir sentit si veieu un processador de gràfics com una gran fàbrica on diferents divisions produeixen productes diferents utilitzant les mateixes matèries primeres. El director general de la fàbrica envia tots els detalls operatius al negoci, que després es desglossa en diverses tasques i càrregues de treball. En tenir-ne més d’un, independent La productivitat de la plantilla es va incrementar a la fàbrica. Aquí no es diferencien les GPU ni la paraula clau màgica temps.

Davant i centre, tropa: temps i enviament

Com ens veiem Estudis de creació de jocs 3DHem vist que la GPU no és res més que una calculadora súper ràpida que realitza una sèrie d’operacions matemàtiques en milions de dades. Navi i Turing es classifiquen en: Comandament únic de dades múltiples (SIMD), però una millor explicació és Unidirectional Multi Fil (Sentit).

Un modern joc en 3D genera centenars de fils, de vegades en milers, ja que el nombre de vèrtexs i píxels a processar és enorme. Per fer-ho tot en pocs microsegons, és important tenir tantes unitats lògiques com sigui possible sense que tot s’aturi perquè les dades necessàries no estan al lloc adequat o no hi ha prou espai de recursos per treballar-hi.

Quan vam fer un cop d'ull al funcionament de la creació de jocs en 3D, vam veure que una GPU no és res més que una calculadora molt ràpida i vam fer diverses operacions matemàtiques amb milions de dades. Navi i Turing es classifiquen en processadors SIMD (Single Command Multiple Data), però una millor descripció seria Single Command Multiple Threads (SIMT).

Navi i Turing funcionen de manera similar, de manera que una unitat central agafa tots els fils i comença a programar-los i a transmetre'ls. Al xip AMD, aquest paper Processador d'ordres gràfics; Nvidiada, GigaThread Motoru. Els fils s’ordenen de manera que aquells amb les mateixes instruccions s’agrupen en una col·lecció de 32 grups.

AMD aquesta col·lecció onadamentre que Nvidia curvatura. Per a Navi, una unitat de càlcul pot gestionar 2 ones (o una ona de 64 fils, però això triga el doble) i un multiprocessador de flux a Turing amb 4 ordits. Tots dos dissenys són independents de les ones / deformacions, és a dir, els altres no necessiten acabar abans de començar.

Fins aleshores, no és molt diferent entre Navi i Turing: tots dos estan dissenyats per gestionar diversos fils per crear i calcular càrregues de treball. Per veure on es diferencien els dos gegants de la GPU en el disseny, hem de mirar quins processadors aquests fils.

Executive Difference - RDNA i CUDA

Tot i que gran part de la terminologia utilitzada sembla ser la mateixa, AMD i Nvidia adopten un enfocament bastant diferent de les seves unitats de sombra compostes. Unitats d'execució de Nvidia (MIRACLES nuclis) digital a la natura: això significa que una unitat realitza una operació matemàtica en un component de dades; a diferència de les unitats AMD (Processadors de flux) treballar en vectors - una operació en més d'un component de dades. Per a operacions escalars, només hi ha una unitat especial.

Abans d’examinar de prop les unitats d’execució, examinem les pròpies modificacions d’AMD. Durant 7 anys, les targetes gràfiques Radeon van seguir una arquitectura anomenada Graphics Core Next (GCN). Cada nou xip ha revisat diversos aspectes del disseny, però tots han estat bàsicament els mateixos.

AMD va proporcionar una breu història de l'arquitectura de la GPU:

GCN va ser una evolució de TeraScale, un disseny que permetia processar simultàniament grans ones. El problema principal amb TeraScale era que no era molt amable amb els programadors i necessitava rutines molt específiques per treure-li el millor partit. GCN va solucionar-ho i va proporcionar una plataforma molt més accessible.

Les CU de Navi s'han revisat significativament des de GCN com a part del procés de millora d'AMD. Cada CU conté dos conjunts:

  • 32 SP (ALU vectorials IEE754 FP32 i INT32)
  • 1 SFU
  • 1 INT32 escala ALU
  • 1 unitat de cronometratge i despatx

A més, cada CU conté 4 unitats de teixit. Hi ha altres unitats per realitzar operacions de lectura / escriptura de dades des de la memòria cau, però no es mostren a la imatge següent:

En comparació amb GCN, la configuració d’un RDNA CU pot no tenir un aspecte molt diferent, però és així com s’organitza i descriu tot allò important aquí. Per començar, cada conjunt de 32 SP té la seva pròpia unitat d’instruccions específica, GCN només tenia un programa per a 4 conjunts de 16 SP.

Es tracta d’un canvi significatiu, cosa que significa que es pot lliurar una ona de 32 fils per cicle de rellotge a cada conjunt de SP. L'arquitectura RDNA també permet que les unitats vectorials processin ones de 16 fils al doble de velocitat i ones de 64 fils a la meitat, de manera que el codi escrit per a totes les targetes gràfiques Radeon anteriors encara és compatible.

Per als desenvolupadors de jocs, aquests canvis seran molt populars.

Per a operacions escalars, ara hi ha dues unitats que les poden manejar; l'única reducció del nombre de components es produeix en forma de SFU, és a dir funció especial unitats, que realitza operacions matemàtiques molt específiques, p. trigonomètrica (sinus, tangent), recíproca (dividida per un nombre) i arrels quadrades. RDNA en té menys, en comparació amb GCN, però ara es pot executar en conjunts de dades el doble de grans que abans.

Per als desenvolupadors de jocs, aquests canvis seran molt populars. Hi havia un gran rendiment potencial a les targetes gràfiques Radeon més antigues, però era molt difícil de fer. Ara AMD ha fet un gran pas cap a la reducció de la latència en les instruccions de processament i la conservació de funcions per garantir la compatibilitat amb tots els programes dissenyats per a l'arquitectura GCN.

Però, què passa amb els gràfics professionals o el mercat de la informàtica? Aquests canvis també són beneficiosos per a ells?

La resposta breu és sí (probablement). Tot i que la versió actual del xip Navi que es troba a les contraparts Radeon RX 5700 XT té menys processadors de flux que el disseny Vega anterior, vam tenir un millor rendiment La generació anterior Radeon RX Vega 56 és bastant senzilla:

Part d’aquest guany de rendiment provindrà del RX Vega 56, la velocitat de rellotge més alta del RX 5700 XT (de manera que pot escriure més píxels per segon a la memòria local), però baixa fins a un 15% en el rendiment màxim sencer i en coma flotant; no obstant això, hem trobat que el xip Navi supera el Vega un 18%.

Els científics que executen programes de renderització professionals i algoritmes complexos no exploten amb algunes rondes de Battlefield V a la feina (és a dir, pot ser...) només si les operacions escalar, vectorial i matricial en un motor de jocs es processen més ràpidament, vaixell al mercat de la informàtica. De moment, no sabem quins són els plans d’AMD per al mercat professional: és possible que continuïn amb l’arquitectura Vega i ajudin a millorar el disseny i la producció, però tenint en compte les millores de Navi, l’empresa hauria de traslladar-ho tot a la nova arquitectura. .

El disseny de la GPU de Nvidia ha experimentat una evolució similar des del 2006, quan van llançar la sèrie GeForce 8, tot i que amb canvis menys radicals que els d’AMD. Aquesta GPU va ser la primera arquitectura de Tesla que va utilitzar un enfocament de sombra en l'arquitectura d'execució. A continuació podem veure els canvis en els blocs SM del successor a Tesla (Fermi) al predecessor de Turing (Volta):

Com es va esmentar anteriorment en aquest article, els nuclis CUDA digital. Poden executar una instrucció float i una sencera per cicle de rellotge en un component de dades (tingueu en compte, però, que la mateixa instrucció pot trigar diversos cicles de rellotge a processar-se), però les unitats de temps les organitzen en grups, donant operacions vectorials al programador. El canvi més significatiu al llarg dels anys, a part de ser només més unitats, implica com s’organitzen i es divideixen.

En el disseny de Kepler, el xip complet tenia 5 GPC, cadascun amb tres blocs SM; Quan va sorgir Pascal, els GPC es van dividir en particions separades (TPC) amb dos SM per TPC. Com en el disseny de Navi. aquesta fragmentació és important, ja que permet utilitzar la GPU en general el més completament possible; es poden processar diversos grups d'instruccions independents en paral·lel, augmentant l'ombra i el rendiment computacional del processador.

Fem una ullada a l'equivalent de Turing amb la unitat de càlcul RDNA:

Un SM conté 4 blocs de transaccions, cadascun dels quals conté:

  • 1 unitat de programació i expedició d'instruccions
  • 16 balances IEE754 FP32 ALU
  • 16 escales INT32 ALU
  • 2 colors tensors
  • 4 SFU
  • 4 Càrrega / emmagatzematge (que gestiona les lectures / escriptures de memòria cau)

També hi ha 2 unitats FP64 per SM, però Nvidia ja no les mostra als seus diagrames de blocs i cada SM té 4 unitats de textura (que contenen sistemes d’adreçament de textures i sistemes de filtratge de textures) i 1 nucli RT (Ray Tracing).

Les ALU FP32 i INT32 poden funcionar simultàniament i en paral·lel. Aquesta és una característica important perquè, tot i que els motors de representació 3D sovint requereixen càlculs en coma flotant, hi ha un bon nombre d'operacions senceres simples (per exemple, càlculs de l'adreça de dades) per fer.

Els nuclis tensors són ALU especials que realitzen operacions matricials. Les matrius són matrius de dades "quadrats" i els nuclis tensors s'executen en matrius de 4 x 4. El FP16 està dissenyat per processar components de dades INT8 o INT4 de manera que l'operació flotant es produeixi a 64 FMA (fusionat després de l'addició) en un cicle de rellotge. Aquest tipus de càlcul és l'anomenat xarxes neuronals i inferència: no és exactament comú en els jocs en 3D, però és molt utilitzat per gent de la talla de Facebook en vehicles amb algorismes d’anàlisi de xarxes socials o sistemes de conducció automàtica. Navi també pot realitzar càlculs de matriu, però requereix molt SP; En un sistema de Turing, es poden fer operacions matricials mentre els nuclis CUDA fan altres matemàtiques.

RT Core és una altra unitat propietària de l'arquitectura de Turing que realitza algoritmes matemàtics molt específics utilitzats per al sistema de rastreig de raigs de Nvidia. Una anàlisi completa d’això està més enllà de l’abast d’aquest article, però RT Core són dos sistemes que funcionen per separat amb la resta de SM, de manera que poden funcionar en ombres de vèrtexs o píxels mentre RT Core està ocupat fent càlculs. per al traçat de raigs.

A nivell bàsic, Navi i Turing tenen unitats d’execució que ofereixen un conjunt de funcions bastant similar (requisit que es deriva del compliment dels requisits de Direct3D, OpenGL, etc.) ...

A un nivell fonamental, Navi i Turing tenen unitats d’execució que ofereixen un conjunt de funcions bastant similar (requisit que sorgeix de complir els requisits de Direct3D, OpenGL, etc.), però adopten un enfocament molt diferent de com són aquestes característiques. acabat. Quant a quin disseny és millor, es tracta de com s’utilitzen: un programa que genera càlculs vectorials FP32 i molts fils que realitza poc afavorirà Navi, mentre que un programa amb una varietat de punts enters, de coma flotant, escalar i els càlculs vectorials utilitzaran la flexibilitat, preferència, etc. de Turing.

Jerarquia de la memòria

Les GPU modernes són processadors de flux, és a dir, estan dissenyats per realitzar una sèrie d’operacions a cada element d’un flux de dades. Això els fa menys flexibles que una CPU de propòsit general i també requereix optimitzar la jerarquia de memòria del xip per obtenir dades i instruccions a les ALU tan ràpidament com en el màxim nombre possible de fluxos. Això significa que les GPU tindran menys memòria cau que la CPU, perquè la major part del xip s'ha de dedicar a la quantitat de memòria cau, no a l'accés a la memòria cau.

Tant AMD com Nvidia recorren a utilitzar diverses memòries cau dins dels xips, així que donem una ullada a allò que Navi ha empaquetat primer.

A partir del nivell més baix de la jerarquia, s’utilitzen un total de 256 quilos de registres de propòsit general vectorial als dos blocs de processadors de flux (normalment fitxer de registre) era la mateixa quantitat que Vega, però entre 4 blocs SP; Esgotar-se els registres quan s’intenta gestionar un gran nombre de fils realment perjudica el rendiment, de manera que definitivament això és una "bona cosa". AMD també ha augmentat molt el fitxer de registre escalar. On abans només hi havia 4 kiB, ara són 32 quilos per unitat escalar.

Les dues unitats de càlcul comparteixen una memòria cau L0 de 32 lliures i una memòria cau de dades escalar de 16 lliures, però cada CU obté la seva memòria cau vectorial L0 de 32 lliures; connectar tota aquesta memòria a les ALU és una quota de dades locals de 128 lliures.

A Navi, dos motors de càlcul formen un processador de grups de treball i cinc d’ells formen el motor de càlcul asíncron (ACE). Cada ACE té accés a la seva pròpia memòria cau L1 de 128 lliures i tota la GPU és compatible amb una memòria cau L2 de 4 MiB que es connecta a memòries cau L1 i altres parts del processador.

És una forma d’arquitectura de connectivitat propietària d’AMD Infinity Fabric, ja que el sistema s’utilitza estrictament per processar 16 controladors de memòria GDDR6. Per maximitzar l’amplada de banda de la memòria, Navi també utilitza una compressió de color sense pèrdues entre la memòria L1, L2 i la memòria GDDR6 nativa.

Una vegada més, tot això és benvingut, sobretot en comparació amb els xips AMD anteriors que no tenien prou memòria cau de baix nivell per al nombre d'unitats d'ombrejat que incloïen. En resum, més memòria cau equival a més amplada de banda interna, instruccions menys lentes (perquè han de recuperar més dades de la memòria), etc. I això equival a un millor rendiment.

Quant a la jerarquia de Turing, cal dir que Nvidia té un costat tímid a l’hora de proporcionar coneixements en profunditat en aquesta àrea. Abans en aquest article, vam veure que cada SM es divideix en 4 blocs de transaccions, cadascun amb un fitxer de registre de 64 lliures més petit que el que es troba a Navi, però tingueu en compte que les ALU de Turing són escalars, no vectorials. , unitats.

A continuació, es poden utilitzar 96 kiB de memòria compartida, 64 kiB de memòria cau de dades L1 i 32 kiB de memòria cau de textura o espai d’estalvi addicional per a cada SM. En el "mode de càlcul", la memòria compartida es pot dividir en diferents particions, com ara memòria compartida de 32 kiB i memòria cau de 64 kiB L1, però sempre es fa com a particions de 64 + 32.

La manca de detalls sobre el sistema de memòria giratòria ens va deixar tenir ganes de més, de manera que vam recórrer a un equip d’investigació de GPU a Citadel Enterprise Americas. Recentment, van publicar dos articles. Temps ve Turing la seva arquitectura; La imatge superior és la fragmentació de la jerarquia de memòria al xip TU104 (TU102 complet té 6144 kiB L2 de memòria cau).

L'equip va confirmar que el rendiment de la memòria cau L1 era de 64 bits per cicle i va assenyalar que l'eficiència de la memòria cau L1 de Turing en proves era la millor de totes les GPU de Nvidia. Això és al mateix nivell que Navi, tot i que el xip d’AMD té una taxa de lectura més elevada per al magatzem de dades local, però inferior per a la memòria cau d’instruccions / fixes.

Ambdues GPU fan servir GDDR6 per a memòria nativa (aquesta és l’última versió de Graphics DDR SDRAM) i ambdues utilitzen connexions de 32 bits als mòduls de memòria, de manera que Radeon RX 5700 XT Té 256 xips de memòria i proporciona un ample màxim de banda de 256 GiB / si 8 GB d’espai. un GeForce RTX 2080 Ti Funciona amb el xip TU102, amb 11 mòduls d’aquest tipus per a una amplada de banda de 352 GiB / s i un emmagatzematge d’11 GiB.

La documentació d’AMD de vegades pot semblar confusa: el primer diagrama de blocs que veiem a Navi mostra quatre controladors de memòria de 64 bits, mentre que una imatge posterior mostra 16 controladors. Tenint en compte Samsung només ofereix GDDR6 de 32 bits La segona imatge apareix per mostrar quantes connexions hi ha entre el sistema Infinity Fabric i els controladors de memòria. Probablement només hi ha 4 controladors de memòria i cadascun utilitza dos mòduls.

En general, no sembla que hi hagi una gran diferència entre Navi i Turing pel que fa a les seves memòries cau i memòria local. Hi ha poc més en l’enfocament de Navi pel que fa a l’execució de les coses amb memòries cau d’instruccions / constants més grans i L1, però totes dues estan plenes de coses, ambdues utilitzen compressió de color quan és possible i tenen molts patrons de GPU dedicats tant a l’accés a la memòria com s’utilitzen per maximitzar ample de banda.

Triangles, textures i píxels

Fa quinze anys, els fabricants de GPU van fer moltes coses sobre quants triangles podrien representar els seus xips, el nombre d’elements de textura que es podrien filtrar per cicle i la capacitat de renderitzar les unitats de sortida (ROP). Aquests aspectes encara són importants en l’actualitat, però el focus se centra molt més en el costat de l’execució, ja que les tecnologies de representació 3D requereixen més rendiment informàtic que mai.

Tanmateix, només cal assenyalar que en aquestes àrees no hi ha diferències immediatament perceptibles entre Navi i Turing, encara val la pena investigar les unitats de textura i els ROP. En ambdues arquitectures, les unitats de textura poden gestionar i obtenir 4 elements de textura, filtrar-los desconeguts en un sol element i emmagatzemar-los a la memòria cau en un cicle de rellotge (ignorant els cicles de rellotge addicionals presos per recuperar dades de la memòria local).

La disposició dels ROP / RB és lleugerament diferent entre Navi i Turing, però no gaire: el xip AMD té 4 RB per ACE i cadascun pot generar 4 píxels combinats per cicle de rellotge; A Turing, cada GPC té dues RB, cadascuna de les quals dóna 8 píxels per hora. El recompte ROP de la GPU és realment una mesura d’aquesta velocitat de sortida de píxels, de manera que un xip Navi complet donarà 64 píxels per rellotge i el TU102 complet donarà 96 (però tingueu en compte que es tracta d’un xip més gran).

Hi ha menys informació sobre el costat triangular de les coses. El que sí sabem és que Navi encara proporciona un màxim de 4 primitives per cicle de rellotge (1 per ACE), però encara no es sap si AMD ha solucionat el problema amb aquest problema. Primitive Shaders. Aquesta era una característica molt reconeguda de Vega i permetia als programadors tenir molt més control sobre les primitives, de manera que podia augmentar el rendiment primitiu en un factor de 4. funcionalitat eliminada dels controladors El producte estava inactiu poc després del seu llançament i, des de llavors, ha estat inactiu.

Mentre encara esperem més informació sobre Navi, no seria prudent especular més. Turing també processa 1 primitiva per rellotge per GPC (és a dir, fins a 6 per a una GPU TU102 completa) en motors raster, però també Malla ShadersOfereix la mateixa funcionalitat que Primitive Shaders d’AMD; Direct3D no és un conjunt de funcions OpenGL o Vulkan, però està disponible a través de les extensions d'API.

Això sembla donar a Turing un avantatge sobre Navi en termes de manipulació de triangles i primitives, però no hi ha prou informació precisa en el domini públic en aquest moment.

No tot es tracta d’unitats executives

Hi ha altres aspectes de Navi i Turing que val la pena comparar. Per començar, les dues GPU tenen motors de visualització i de suports molt avançats. El primer processa la sortida al monitor, el segon codifica i descodifica els fluxos de vídeo.

Com s’esperava d’un nou disseny de GPU 2019, el motor de pantalla de Navi ofereix resolucions molt altes a taxes d’actualització elevades i admet HDR. Veure compressió de flux (DSC) és un algoritme de compressió amb pèrdues ràpides que permet transmetre resolucions 4K + a velocitats d’actualització superiors a 60 Hz a través d’una connexió DisplayPort 1.4; Afortunadament, la degradació de la qualitat de la imatge és molt menor, fins al punt que considereu que DSC és gairebé sense pèrdues.

Turing també admet DisplayPort amb connexions DSC, però la combinació admesa d’alta resolució i freqüència d’actualització és lleugerament millor que Navi: 4K HDR a 144 Hz; la resta és la mateixa.

El motor multimèdia de Navi és tan modern i sofisticat com el seu motor de pantalla. Codificació de vídeo avançada (H.264) i Codificació de vídeo d'alta eficiència (H.265), de nou amb resolucions elevades i velocitats de bits elevades.

El motor de vídeo de Turing és aproximadament el mateix que el de Navi, però el suport de codificació HDR 8K30 pot inclinar el saldo a favor de Turing per a algunes persones.

Hi ha altres aspectes a comparar (per exemple, la interfície PCI Express 4.0 de Navi o el NV Link de Turing), però realment són peces molt petites de l’arquitectura general, independentment de la seva vestimenta i comercialització. Això es deu al fet que per a la gran majoria d’usuaris potencials, aquestes funcions úniques no tindran importància.

Comparació d'igual a igual

Aquest article és una observació del disseny arquitectònic, les característiques i la funcionalitat, però fer una comparació directa del rendiment seria una bona manera de completar aquesta anàlisi. Tanmateix, emparellar el xip Navi en un Radeon RX 5700 XT amb el processador Turing TU102 en un GeForce RTX 2080 Ti en un GeForce RTX 2080 Ti és notòriament injust, ja que aquest últim té gairebé el doble del nombre d’unitats shader combinades. Tanmateix, hi ha una versió del xip Turing que es pot utilitzar per a la comparació, que es troba al GeForce RTX 2070 Super.

  Radeon RX 5700 XT GeForce RTX 2070 Super
GPU | Arquitectònic Navi 10 | ADNr TU104 | Turing
procés TSMC de 7 nm TSMC de 12 nm
Àrea del motlle (mm2) 251 545
Transistors (milers de milions) 10.3 13.6
Perfil del bloc 2 SE | 4 ACE | 40 PB 5 GPC | 20 TPC | 40 SM
Nuclis de sombra unificats 2560 SP 2560 MIRACLES
TMU 160 160
ROPS 64 64
rellotge bàsic 1605 MHz 1605 MHz
rellotge de joc 1755 MHz N / A
augmentar el rellotge 1905 MHz 1770 MHz
Memòria GDDR6 de 8 GB de 256 bits GDDR6 de 8 GB de 256 bits
Amplada de banda de memòria 448 GBps 448 GBps
Potència de disseny tèrmic (TDP) 225 watts 215 W.

Val a dir que el RTX 2070 Super no és un xip TU104 "complet" (un dels GPC està desactivat), de manera que no tots aquests 13,6 transistors estan actius, és a dir, els xips són aproximadament els mateixos en termes de recompte de transistors. Al valor nominal, les dues GPU tenen un aspecte molt similar, sobretot si només teniu en compte les unitats de sombra, les TMU, les ROP i els sistemes de memòria principals.

Al processador Nvidia, un SM pot gestionar 32 ordits simultanis i, amb cada ordit de 32 fils, un GeForce RTX 2070 Super completament carregat pot funcionar en 40.960 fils a tot el xip; Per a Navi, un CU pot rebre 16 ones per SIMD32 ALU i cada ona té 32 fils. Per tant, el Radeon RX 5700 XT també pot contenir fins a 40.960 fils. Pot semblar que els feu aquí fins i tot aquí, però tenint en compte la diferència que tenen els CU / SM i l’avantatge de Nvidia amb el processament simultani d’INT i FP, el resultat dependrà en gran mesura del codi que s’executi.

Com impactarà això en diverses actuacions del joc, ja que el codi d’un motor 3D afavorirà una compilació sobre l’altra en funció del tipus d’instruccions que s’envien rutinàriament a la GPU. Ella, provat dues targetes gràfiques:

Tots els jocs utilitzats en proves es van programar directament per a equips equipats amb Radeon o per a l’arquitectura GCN d’AMD mitjançant GPU GCN que es troben a PlayStation 4 o Xbox One. És possible que algunes de les versions recents estiguin preparades per fer canvis a RDNA, però les diferències observades en els resultats de referència són més probables a causa dels motors de renderització i de la manera com es gestionen les instruccions i les dades.

Llavors, què significa tot això? És realment millor una arquitectura que una altra? Turing sens dubte ofereix més capacitat que Navi gràcies a Tensor i RT Cores, però aquest últim és definitivament competitiu pel que fa al rendiment de la representació 3D. Les diferències que es veuen en els 12 exemples de jocs no són prou clares per fer un judici ferm.

I això és una bona notícia per a nosaltres.

darreres paraules

Els plans Navi d’AMD va anunciar És el 2016 i es van apuntar a un llançament del 2018, tot i que no van dir molt. Quan aquesta data va i ve, full de ruta canviat no obstant això, era clar que Navi es fabricaria en un node de procés de 7 nm i el disseny se centraria en millorar el rendiment.

Sens dubte, aquest va ser el cas i, com hem vist en aquest article, AMD ha fet canvis arquitectònics per permetre-li competir al costat de les ofertes equivalents de Nvidia. El nou disseny beneficia més que els usuaris de PC, ja que sabem que Sony i Microsoft utilitzaran una variant del xip en el proper període. Playstation 5 ve sonraki Xbox.

Si es torna al principi d’aquest article i es torna a mirar el disseny estructural de Shader Motors, la mida global de la matriu i el recompte de transistors, és clar que hi ha un gran xip Navi. última targeta gràfica; AMD ha confirmat pràcticament que això forma part dels seus plans actuals i pretén millorar l'arquitectura i el procés de fabricació durant els propers dos anys.

Però, quins són els plans de Nvidia per a Turing i el seu successor? Sorprenentment, la companyia ha confirmat poc. El 2014, Nvidia Full de ruta de la GPU actualitzat Planificar (i aconseguir) l'arquitectura Pascal per al llançament del 2016. el 2017, Tesla anuncia el V100Utilitzant l’arquitectura Volta, aquest disseny va revelar Turing el 2018.

Des de llavors, les coses han estat força tranquil·les i hem hagut de confiar en rumors i fragments de notícies, que sovint diuen el mateix: la propera arquitectura de Nvidia es dirà Ampere, Fabricat per Samsung Utilitza el node de procés de 7 nm i està programat per al 2020. A part d’això, no hi ha res més a seguir. És probable que el nou xip no trenqui la tradició centrant-se en les unitats d’execució escalars, ni tampoc deixi caure aspectes com el nucli tensor, ja que això causaria problemes de compatibilitat amb versions posteriors.

Tot i així, podem fer algunes conjectures raonables sobre com serà la propera GPU Nvidia. La companyia ha invertit una quantitat important de temps i diners. traçat de raigsi suport per a això només en jocs augmentar; de manera que podem esperar veure una millora del nucli RT, en termes de capacitats o nombres per SM. Si un Node de procés de 7 nm Si és cert, Nvidia probablement intentarà reduir la potència en lloc d’incrementar la velocitat del rellotge directe, de manera que pugui augmentar el nombre de GPC. També és possible que se salti 7 nm i es posi en marxa Nvidia. pis de 5 nm Per obtenir un avantatge respecte a AMD.

Sembla AMD i Nvidia, targeta gràfica discreta Mercat d’Intel, ja que sabem que tenen previst tornar a entrar en aquesta indústria, 20 anys de descans. Aquest nou producte (actualment anomenat xe) podrà competir amb Navi i Turing al mateix nivell.

Mentrestant, Intel ha sobreviscut al mercat de les GPU durant aquestes dues dècades fent gràfics integrats per a les seves CPU. La darrera GPU d’Intel gen 11És similar a l’arquitectura d’AMD, ja que utilitza ALU vectorials que poden gestionar dades FP32 i INT32, però no sabem si les noves targetes gràfiques seran una evolució directa d’aquest disseny.

El que és cert és que els propers anys seran molt interessants ja que els tres gegants de les estructures de silici continuen lluitant per les nostres carteres. Els nous dissenys i arquitectures de GPU impulsaran el recompte de transistors, les mides de memòria cau i les capacitats de sombreador; Navi i RDNA són les últimes novetats i han demostrat que cada pas endavant pot marcar una petita diferència.

Dreceres de compres:
  • GeForce RTX 2070 Super activat Amazon
  • GeForce RTX 2080 Super activat Amazon
  • GeForce RTX 2080 Ti activat Amazon
  • Radeon RX 5700 XT activat Amazon
  • Radeon RX 5700 activat Amazon
  • GeForce RTX 2060 Super activat Amazon
  • GeForce GTX 1660 Super activat Amazon

Aquest article es va publicar originalment el 7 d’agost de 2019. L’hem revisat i enfrontat una mica com a part de la nostra iniciativa #ThrowbackThursday.