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, un gran processador gràfic ple de milers de milions de transistors funciona a velocitats de rellotge que eren impensables fa una dècada.

Estàs molt content de la teva compra i els jocs no tenien un aspecte i un joc millor. Tanmateix, potser us pregunteu què potència realitza el vostre nou Radeon. RX 5700 i com de diferent en un xip GeForce RTX.

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

Anatomia de la GPU moderna

Abans de començar a trencar les estructures i sistemes de xips habituals, donem una ullada a la forma bàsica que segueixen totes les GPU modernes. En la seva major part, aquests processadors només són calculadores de punt flotant (FP); en altres paraules, realitzen operacions matemàtiques en valors decimals / fraccionaris. Per tant, almenys una GPU necessita tenir una unitat lògica dedicada a aquestes tasques, que 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 l’enter (enter) pot ser la mateixa unitat que maneja les operacions matemàtiques o 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 d'unitats lògiques especials. A diferència de les ALU, l'usuari final no les pot programar; en lloc d'això, el proveïdor de maquinari s'assegurarà que aquest procés estigui totalment gestionat per la GPU i els seus controladors.




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, es presentarà en 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 relativament bona part del disseny del processador. Memòria local DRAMAÉs una mica més lent que SRAM i normalment no es posa a la GPU. Memòria local de la majoria de targetes gràfiques que veiem avui GDDR Mòduls DRAM.

Finalment, inclou tasques de configuració addicionals com ara la creació de gràfics en 3D, la creació de triangles a partir de cantonades, la rasterització d’un marc en 3D, el mostreig i la barreja de textures. Igual que les unitats d’instrucció i control, aquestes també funció constant 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 no aportis textura reuneix els valors de textura de la memòria i els uneix. Avui en dia, les TMU són pràcticament les mateixes entre tots els proveïdors perquè poden gestionar, mostrejar 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 es barreja (PB); aquest bloc també realitza les operacions que s’utilitzen quan s’aplica l’anti-aliasing. El nom d'aquest bloc: renderitzar la unitat de sortida or crear backend (Abreviatura ROP / RB). Igual que el TMU, ara s’estan convertint en bastant estàndard, i cada un maneja còmodament uns píxels per cicle de rellotge.

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

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




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 al mateix temps. Per ajudar-hi, hem afegit algunes memòries cau més, 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 transaccions que se li assignin.

El problema del nostre nou disseny és que només hi ha un controlador disponible per gestionar les nostres ALU addicionals. Seria millor que tinguéssim més blocs d’unitats, tots gestionats pels seus propis controladors separats, ja que això significa que podem realitzar operacions molt diferents alhora.

Ara això és més! Blocs ALU separats, empaquetats amb les seves pròpies TMU i ROP, amb el suport de talls de memòria cau deliciosament saborosos i ràpids. Encara és només un de tot, però l’estructura bàsica no es troba a un milió de quilòmetres del processador gràfic que veiem avui en ordinadors i consoles.

Navi ve Turing: Godzilla GPU'ları

Ara que hem definit el disseny bàsic d’un xip gràfic, encara que una mica ampliat i processat per ressaltar diverses estructures, Navi vs. Comencem la nostra comparació de Turing.

A l’esquerra hi ha l’últim processador d’AMD. El disseny general de xips s’anomena Navi (alguns s’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 reduïdes a escala: l’àrea del dau Navi és de 251 mm2, mentre que TU102 és de 752 mm2. El processador Nvidia és gran, però no vuit vegades més gran que l’oferta AMD.

Tots dos colossal el nombre de transistors (10,3 contra 18.600 milions), però TU102 té una mitjana de ~ 25 milions de transistors per mm quadrat en comparació dels 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ó de 12 nm, mentre que Navi d’AMD es produeix al nou node de 7 nm.

Només mirar les imatges dels motlles 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 dels dissenys reals, però si els gireu 90 graus, es poden definir els diferents blocs i la banda central que apareixen a tots dos. Per començar, podem veure que les dues GPU tenen una estructura general com la nostra (encara que més que qualsevol altra cosa).

Tots dos dissenys segueixen 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 busca AMD. Shader Motors (SE), cadascun d’ells s’anomena 2 blocs asíncron Motors informàtics (AS). Cadascun d’aquests conté 5 blocs al títol. Processadors de grups de treball (WGPs), que consta de 2 Unitats de tractament de la informació (Öze).

Els noms i els números són diferents per al disseny de Turing, però la jerarquia és molt similar: 6 Clústers de processament de gràfics (GPC), 6 cadascun Clústers de processament de textures (TPC), 2 cadascun Multiprocessador de flux (SM) blocs.

Si veieu un processador gràfic com una gran fàbrica on diferents departaments produeixen diferents productes utilitzant les mateixes matèries primeres, aquesta organització comença a tenir sentit. El director general de la fàbrica envia tots els detalls operatius a l’empresa i els divideix en diverses tasques i càrregues de treball. Tenir-ne més d'un, independent La productivitat de la plantilla es va incrementar a la fàbrica. No és diferent per a les GPU i aquí teniu la paraula clau màgica temps.

Davant i centre, soldat: temps i enviament

Com mirem Exercicis de creació de jocs 3DHem vist que el processador gràfic no és més que una calculadora súper ràpida mitjançant la realització d’una sèrie d’operacions matemàtiques en milions de peces de dades. Navi i Turing es classifiquen de la següent manera: Comando únic de dades múltiples (SIMD), però una millor explicació Single Way Multi Fil (Sentit).

Un joc 3D modern produeix centenars de fils, de vegades milers, ja que el nombre de vèrtexs i píxels que es representen és enorme. Per assegurar-vos que es faci tot en pocs microsegons, és important tenir tantes unitats lògiques com sigui possible sense aturar-ho tot perquè les dades requerides no estan al lloc adequat o no hi ha prou espai de recursos per treballar-hi.

Quan vam fer una ullada al funcionament de la creació de jocs en 3D, vam veure que un processador gràfic no era més que una calculadora molt ràpida i vam realitzar diverses operacions matemàtiques amb milions de dades. Navi i Turing es classifiquen com a processadors SIMD (Single Command Multiple Data), però una millor explicació seria Single Threads Multiple Threads (SIMT).

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

AMD aquesta col·lecció onadamentre que Nvidia aquesta curvatura. Per a Navi, una unitat d’informàtica pot gestionar 2 ones (o una ona de 64 fils, però aquest procés dura el doble) i a Turing un corrent multiprocessador funciona amb 4 ordits. En ambdós dissenys, l'ona / ordit és independent, és a dir, els altres no necessiten acabar-la abans de començar.

Fins aleshores, no era molt diferent entre Navi i Turing: tots dos estaven dissenyats per manejar un gran nombre de fils per crear i calcular càrregues de treball. Hem de mirar quins processadors són aquests fils per veure on es separen els dos gegants de la GPU en disseny.

Executive Difference - RDNA i CUDA

Tot i que la majoria de la terminologia utilitzada sembla la mateixa, AMD i Nvidia adopten un enfocament bastant diferent de les unitats de sombreador combinades. Unitats d'execució de Nvidia (MIRACLES llavors) 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 diversos components de dades. Només hi ha una unitat específica per a operacions escalars.

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 revisava diversos aspectes del disseny, però bàsicament eren tots iguals.

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

GCN va ser una evolució de TeraScale, un disseny que permet processar ones grans de forma simultània. El principal amb TeraScale era que no era molt fàcil contra els programadors i que necessitaven rutines molt específiques per obtenir el millor. GCN ho ha solucionat i ha proporcionat 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 UF
  • 1 INT32 escala ALU
  • 1 unitat de temps i lliurament

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 semblar molt diferent, però tot allò important aquí s’organitza i s’organitza d’aquesta manera. Per començar, cada joc de 32 SP té la seva pròpia unitat d’instruccions dedicada, GCN només tenia un programa per a 4 sèries de 16 SP.

Aquest és un canvi important, el 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 a la velocitat doble 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.

Aquests canvis seran molt populars per als desenvolupadors de jocs.

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

Aquests canvis seran molt populars per als desenvolupadors de jocs. Hi havia un gran rendiment potencial en 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.

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). La versió actual del xip Navi que es troba al Radeon RX 5700 XT similar té menys processadors de flux que el disseny Vega anterior, mentre que vam tenir un millor rendiment la generació anterior Radeon RX Vega 56 és bastant fàcil:

Part d’aquest guany de rendiment provindrà de la velocitat de rellotge més alta del RX 5700 XT que el RX Vega 56 (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 i en coma flotant més alt; no obstant això, vam trobar que el xip Navi funcionava un 18% millor que el Vega.

Els científics que executen programes de representació professional i algoritmes complexos no rebenten amb algunes rondes de Battlefield V en el seu treball (és a dir, podria ser...) només si les operacions escalar, vectorials i matricials realitzades en un motor de jocs es processen més ràpidament vaixell convertir-lo en el mercat de la informàtica. Actualment, no sabem quins són els plans d’AMD per al mercat professional: poden anar bé amb l’arquitectura Vega i ajudar a millorar el disseny, la fabricació, però tenint en compte els avenços de Navi, l’empresa ho trasllada 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 canvis menys radicals que AMD. Aquesta GPU va crear la primera arquitectura Tesla que va utilitzar un primer enfocament shader en l'arquitectura d'execució. A continuació podem veure els canvis en blocs SM des del successor a Tesla (Fermi) fins al predecessor de Turing (Volta):

Com es va esmentar anteriorment en aquest article, els nuclis CUDA digital. Poden executar una instrucció flotant 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), però les unitats de temporització els organitzen en grups, poden realitzar operacions vectorials a un programador. El canvi més significatiu al llarg dels anys inclou no només ser més unitats, sinó com s’organitzen i es segmenten.

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

Fem una ullada a l’equivalent de Turing a la unitat d’informàtica 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 Carregar / Emmagatzemar (realitzar operacions de lectura / escriptura de memòria cau)

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

Les ALP FP32 i INT32 poden funcionar simultàniament i en paral·lel. Aquesta és una característica important perquè els motors de representació 3D sovint requereixen càlculs de coma flotant, però hi ha un nombre raonable d’operacions senceres senceres (per exemple, càlculs d’adreces de dades).

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 una matriu 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’anomena xarxes neuronals i inferència, no exactament comuna en els jocs en 3D, però molt utilitzada pels likes de Facebook en cotxes amb algorismes d’anàlisi de xarxes socials o sistemes de conducció automàtica. Navi també pot fer càlculs de matriu, però requereix un gran nombre de SP; Al sistema de Turing, es poden realitzar operacions matricials mentre els nuclis CUDA fan altres matemàtiques.

RT Core és una altra unitat especial única en 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, mentre RT Core està ocupat fent càlculs, pot treballar en píxels o píxels. per al traçat de raigs.

Al nivell bàsic, Navi i Turing tenen unitats d’execució que ofereixen un conjunt de funcions bastant similar (requisit que prové de complir els requisits de Direct3D, OpenGL, etc.).

Al nivell bàsic, Navi i Turing tenen unitats d’execució que ofereixen un conjunt de funcions bastant similar (requisit que prové de complir els requisits de Direct3D, OpenGL, etc.), però adopten un enfocament molt diferent de com són aquestes característiques. acabat. Quan es tracta de quin disseny és millor, es tracta de com s’utilitzen: FP32, un programa que produeix càlculs vectorials i un gran nombre de fils que realitza poc, preferiria Navi, mentre que un programa amb una varietat de càlculs enters, de coma flotant, escalar i vectorial donarà flexibilitat a Turing. prefereix, etc.

Jerarquia de la memòria

Les GPU modernes estan dissenyades per realitzar una sèrie d’operacions en processadors de flux, és a dir, en cada element d’un flux de dades. Això els fa menys flexibles que una CPU d’ús general i també requereix optimitzar la jerarquia de memòria del xip per rebre dades i instruccions a les ALU el més ràpidament possible i en el màxim de fluxos possible. Això significa que les GPU tindran menys memòria cau que la CPU, ja que la majoria 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 l'ús de múltiples memòries cau dins de les fitxes, així que donem una ullada al que inclou Navi primer.

A partir del nivell més baix de la jerarquia, dos blocs de processadors de flux utilitzen un registre de propòsit general vectorial de 256 lliures (generalment fitxer de registre) Era la mateixa quantitat que Vega, però entre 4 blocs SP; Esgotar-se els registres mentre intenta processar 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 gravació escalar. Quan 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 rep la seva memòria cau L0 vectorial de 32 lliures; Connectar tota aquesta memòria a ALU és un recurs compartit de dades locals de 128 lliures.

A Navi, dos motors informàtics creen un processador de grups de treball i cinc d’ells formen el motor de computació asíncrona (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 4 memòries cau L2 de MiB que es connecten a les memòries cau L1 i altres parts del processador.

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

Una vegada més, tot això és especialment agradable 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 contenien. 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ò és igual 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, vèiem cada SM dividit en 4 blocs de transaccions: cadascun té un fitxer de registre de 64 quilos més petit que el que es troba a Navi, però tingueu en compte que les ALU de Turing són escalars, no vectors. , unitats.

A continuació, es poden utilitzar 96 kb de memòria compartida per a cada màquina virtual com a 64 kb de memòria cau de dades L1 i 32 kb de memòria cau de teixits o espai de registre addicional. En el "mode de càlcul", la memòria compartida es pot dividir en diferents particions, com ara 32 kb de memòria compartida i 64 kiB de memòria cau L1, però sempre com a divisions 64 + 32.

La manca de detalls sobre el sistema de memòria Turning ens va fer voler més, així que vam recórrer a un equip de recerca de GPU que treballava a Citadel Enterprise Americas. Recentment, van publicar dos articles. Temps ve Turing arquitectures; La imatge superior és la fragmentació de la jerarquia de la memòria al xip TU104 (memòria cau completa TU102 sport 6144 kiB L2).

L'equip va confirmar que el rendiment de la memòria cau L1 era de 64 bits per cicle i va afirmar que, en provar l'eficiència de la memòria cau L1 de Turing, era el 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 a Local Data Store, però una taxa més baixa per a la memòria cau d’instruccions / fixes.

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

De vegades, la documentació d’AMD pot semblar confusa: al primer diagrama de blocs que veiem, 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 Sembla que la segona imatge mostra 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. Navi té una mica més d’acostar-se al costat de l’execució de les coses amb la seva memòria cau d’instruccions / constants més grans i L1, però tots dos estan plens de coses, ambdós utilitzen compressió de color sempre que sigui possible i tots dos tenen molts patrons de GPU personalitzats a l’accés a la memòria. s’utilitza per maximitzar l’amplada de banda.

Triangles, textures i píxels

Fa quinze anys, els fabricants de GPU van fer moltes coses sobre quants triangles poden gestionar els seus xips, el nombre d’elements de textura que es poden filtrar per cicle i la capacitat de renderitzar les unitats de sortida (ROP). Aquests aspectes encara són importants avui en dia, 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.

Tot i això, només per assenyalar que no hi ha diferències immediates entre Navi i Turing en aquestes àrees, encara val la pena explorar les unitats de textura i els ROP. En ambdues arquitectures, les unitats de textura poden gestionar i recuperar 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 bucles 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 massa: 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é dos RBs, cadascun dels 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 produeix 64 píxels per hora i TU102 96 complet (però recordeu 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ò ja no hi ha res sobre 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 el rendiment primitiu es pot augmentar en 4 factors. funcionalitat eliminada dels controladors El producte ha estat inactiu poc després del seu llançament i des de llavors.

Mentre encara espereu més informació sobre Navi, no seria prudent especular més. Turing també gestiona 1 primitiva per hora per GPC (és a dir, fins a 6 per a tota la GPU TU102) 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ò es pot utilitzar mitjançant extensions d'API.

Això sembla donar a Turing un avantatge sobre Navi pel que fa al maneig de triangles i primitives, però actualment no hi ha prou informació precisa al domini públic.

No tot sobre les unitats de compliment

Hi ha altres aspectes de Navi i Turing que val la pena comparar. Per començar, les dues GPU disposen de 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 ofereix suport HDR. Veure la compressió de flux (DSC) és un algorisme 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, el deteriorament de la qualitat de la imatge és molt petit fins al punt que considereu que el 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 com el motor de pantalla i 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 per a la codificació HDR 8K30 pot convertir 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ò, independentment de la seva vestimenta i comercialització, són peces molt petites de l'arquitectura general. Això es deu al fet que per a la gran majoria dels usuaris potencials aquestes funcions úniques no seran importants.

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 en un GeForce RTX 2080 Ti amb el processador Turing TU102 en un GeForce RTX 2080 Ti no seria clarament just tenint en compte que aquest darrer és gairebé el doble del nombre d’unitats combinades de sombreador. Tanmateix, hi ha una versió del xip Turing que es pot utilitzar per a una comparació, i aquesta és la 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 combinats d'ombra 2560 SP 2560 MIRACLES
TMU 160 160
ROPS 64 64
Temps bàsic 1605 MHz 1605 MHz
Rellotge de joc 1755 MHz N / A
Hora d’augment 1905 MHz 1770 MHz
Memòria 8 GB de 256 bits GDDR6 8 GB de 256 bits GDDR6
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 tots aquests 13,6 transistors estan inactius, és a dir, els xips són aproximadament els mateixos pel que fa al nombre de transistors. Al valor nominal, les dues GPU tenen un aspecte molt similar, sobretot si es tenen en compte només les unitats de sombra, les TMU, les ROP i els sistemes de memòria principals.

Al processador Nvida, un SM pot processar 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 SIMD32 pot rebre 16 ones per ALU i cada ona té 32 fils. Per tant, el Radeon RX 5700 XT també es pot empaquetar fins a 40.960 fils. Podria semblar que això els fa exactament 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’executa.

Quin efecte tindrà això en diverses actuacions de jocs, ja que el codi d’un motor 3D afavorirà una construcció sobre una altra en funció del tipus d’instruccions que s’envien rutinàriament a la GPU. Això, provat dues targetes gràfiques:

Tots els jocs utilitzats a la prova es van programar per a l’arquitectura GCN d’AMD directament per a equips equipats amb Radeon o mitjançant GPU GCN que es troben a PlayStation 4 o Xbox One. És possible que alguns dels llançats recentment estiguin preparats per als canvis de RDNA, però les diferències en els resultats de referència són més probables a causa dels motors de renderització i de la manera com es processen 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 competeix definitivament en termes de rendiment de renderització 3D. Les diferències que es veuen en els 12 exemples de jocs no són prou precises per fer un judici final.

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

Paraules finals

Els plans Navi d’AMD es va anunciar Tenien com a objectiu el llançament del 2018 el 2016 i, 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 construiria en un node de procés de 7 nm i el disseny se centraria en millorar el rendiment.

Aquest va ser definitivament el cas i, com hem vist en aquest article, AMD ha fet canvis arquitectònics per permetre a Nvidia competir amb les seves ofertes equivalents. 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 total de la matriu i el nombre de transistors, és clar que hi ha marge perquè el xip “gran Navi” arribi al màxim. última targeta gràfica; AMD ha confirmat pràcticament que això hauria de formar part dels seus plans actuals i pretendre millorar l’arquitectura i el procés de fabricació durant els propers dos anys.

Però, quins plans tenen Nvidia, Turing i el seu successor? Sorprenentment, la companyia ha confirmat poc. El 2014, Nvidia Full de ruta de la GPU actualitzat Planificar l'arquitectura Pascal per al llançament del 2016 (i assolir aquest objectiu). El 2017, Tesla va anunciar el V100Va ser aquest disseny el que va fer sortir Turing el 2018, mitjançant l’arquitectura Volta.

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, Fet per Samsung Utilitza el node de procés de 7 nm i està previst per al 2020. A part d’això, no hi ha res més a continuar. El nou xip és poc probable que trenqui la tradició al centrar-se en les unitats d’execució escalars, o és improbable que deixi caure aspectes com els nuclis tensors, ja que això provocarà problemes de compatibilitat amb versions anteriors.

Tot i així, podem fer algunes prediccions raonables sobre com serà la propera GPU Nvidia. La companyia ha invertit una quantitat important de temps i diners. Traçat de raigsi el seu suport només en jocs augmentar; Per tant, 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 tindrà com a objectiu la reducció de potència en lloc d’augmentar la velocitat del rellotge directe de manera que pugui augmentar el nombre de GPC. També és possible saltar 7 nm i iniciar Nvidia. Recte durant 5 nm Per obtenir un avantatge respecte a AMD.

Pel que sembla, AMD i Nvidia, targeta gràfica discreta Mercat d’Intel, ja que sabem que tenen previst tornar a entrar en aquesta indústria, Convoca 20 anys. Aquest nou producte (actualment Xe's) Podrà competir al mateix nivell que Navi i Turing.

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 tres gegants d’estructures de silici continuen lluitant per les nostres carteres. Els nous dissenys i arquitectures de GPU desafiaran els nombres de transistors, les mides de memòria cau i les propietats dels ombres; Navi i RDNA són els més nous i han demostrat que cada pas endavant pot marcar una petita diferència.

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

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