You are on page 1of 53

Arquitectura de procesado de videojuegos

Jorge Robles Ariza Arquitectura de computadores Universidad de Jan

Indice
1. . $. &. '. Cronologa. !lecci"n de la plata#orma. %enguajes de programaci"n. Arquitectura de diversas consolas. Revisi"n sobre(
1. )bo* $+, -. /.$ . 0u1a

+.2ibliogra#a 3.Cuestiones

1. Cronologa
/rimera generaci"n 4153 615337

Sears Telegame Pong (Atari)

Magnavox Odyssey (Magnavox)

Coleco Telstar (Coleco)

Magnavox Odyssey 200 (Magnavox)

1. Cronologa
.egunda generaci"n 415336158&7

Atari 2600 (Atari) ColecoVision (Coleco) Intellivision (Mattel)

Atari 5200 (Atari) SG - 1000 (Sega) TV Game 6 (Nintendo)

1. Cronologa
9ercera generaci"n 4158$6155 7

Famicom (Nintendo)

SEN (NES) (Nintendo)

Sega Master System (Sega)

Atari 7800 (Atari)

1. Cronologa
Cuarta generaci"n 415836155'7

Sega Megadrive (Sega)

Super Nintendo (Nintendo)

PC Engine / TurboGrafx-16

Neo - Geo

1. Cronologa

Atari Jaguar (Atari) Sega Saturn (Sega) Playstation (Sony)

Nintendo 64 (Nintendo)

Apple Pippin (Apple) AmigaCD32 (Cl)

1. Cronologa
.e*ta generaci"n 4 ,,,6 ,,+7

Playstation 2 (Sony)

Sega Dreamcast (Sega)

Xbox (Microsoft)

Nintendo Game Cube (Nintendo)

1. Cronologa
.ptima generaci"n 4 ,,'6 ,1 7

Playstation 3 (Sony)

Zeebo (Tectoy y Qualcomm)

Xbox360 (Microsoft)

Nintendo Wii (Nintendo)

1. Cronologa
0ctava generaci"n 4 ,1 67

Playstation 4 (Sony)

Ouya (Boxer8)

Xbox One (Microsoft)

. !lecci"n de la plata#orma
%a elecci"n de una u otra plata#orma a la :ora de desarrollar un videojuego es primordial. ;ic:as plata#ormas :ard<are imponen el tipo de programaci"n que se utilizar= para la realizaci"n de dic:o videojuego.

. !lecci"n de la plata#orma
!s m=s di#cil la creaci"n de uno para pc que para una videoconsola en concreto> sto se debe a que su arquitectura es m=s cerrada que la de un pc> 1a que la de stos> varan seg?n el usuario del pc> #abricantes...

. !lecci"n de la plata#orma
Uno de los ma1ores condicionantes a la :ora de crear un videojuego para pc a tener en cuenta es> tanto la memoria RA@ de la que se dispone> como la utilizaci"n de una tarjeta que soporte gr=#icos con aceleraci"n $; que pueda renderizar correctamente los gr=#icos del videojuego.

$. %enguajes de programaci"n
/ara plata#ormas :ard<are de juegos> e*isten tres lenguajes principales de programaci"n.
!nsamblador. C. CAA.

BCu proporciona cada uno de ellosD

$. %enguajes de programaci"n
!nsamblador( Conjunto de instrucciones que con#orman un microprocesador determinado. Cada microprocesador tiene sus instrucciones concretas.
!n desuso debido a la complejidad de los procesadores modernos 1 a los sistemas de memoria. ;i#cil optimizaci"n para los compiladores.

$. %enguajes de programaci"n
C( alta velocidad de ejecuci"n. %a ma1ora de los motores gr=#icos est=n escritos 1 adaptados a este lenguaje.
;esventajas( /osibilidad de bugs por errores en punteros o problemas de over#lo<.

$. %enguajes de programaci"n
CAA( !voluci"n de C> lenguaje orientado a objetos> no estructural como C. 0bligatoriedad de describir los tipos de todos los atributos 1 #unciones creadas.
Combinaci"n de bajo nivel 1 e#iciencia que da C con la programaci"n orientada a objetos.

&. Arquitecturas de diversas consolas


E!. 4Eintendo7.
@icroprocesador Rico: de 8 bits basado en tecnologa @0. +', . F2 de RA@. %os cartuc:os de juegos podan contener memoria RA@ e*tra. Contiene //U Rico: 4/icture /rocessing Unit7 de F2 para RA@ de vdeo> '+ b1tes para guardar posiciones de objetos 1 colores.

&. Arquitectura de diversas consolas


E!. 4Eintendo7.
/aleta de &8 colores 1 + grises. /ermita ' colores simult=neos basada en E9.C. Resoluci"n m=*ima de '+* &, p*eles.

&. Arquitectura de diversas consolas


.ega @ega;rive 4.ega Genesis7
@icroprocesador @otorola +8,,, 1+H$ bits. I microprocesador Jilog J8,> controlador de sonido estreo 1 de compatibilidad con .ega @aster .1stem. 3 F2 de RA@. +& F2 de RA@ de vdeo capaz de mostrar +& colores simult=neos de una paleta de '1 . Resoluci"n m=*ima de $ ,* & p*eles.

&. Arquitectura de diversas consolas


/la1station 4.on17
C/U R$,,,A $ bits RI.C a $$>83@Kz. Cuenta en el mismo c:ip con el Geometr1 9rans#er !ngine 1 el ;ata ;ecompression !ngine. Capacidad de c=lculo de $, @I/.. Anc:o de banda de bus de 1$ @2Hs.

&. Arquitectura de diversas consolas


/la1station 4.on17
Cuenta con(
G9! 4Geometr1 9rans#er !ngine7> renderizaci"n de gr=#icos $;. Capacidad de c=lculo de ++ @I/.. 1.' @ de polHsegundo> $+,F polgonos de te*tura mapeada 1 #uentes de luzHseg. ;;! 4@otor de decompresi"n de datos7> en la C/U> encargado de la decompresi"n de la in#ormaci"n de los juegos. Compatible con arc:ivos @/!G61 1 K. +1. 8,@I/.> conectado al bus de la C/U.

&. Arquitectura de diversas consolas


)bo* 4@icroso#t7
C/U $ bits 3$$ @Kz Intel /entium III Coppermine 18,nm. $ @2 ;RA@ #uera de la C/U. $ GLlops Cone*i"n con la G/U mediante bus G9% 4Intel7 de 1$$ @Kz +& bits. +& F2 cac: %1> 1 8 F2 cac: % .

&. Arquitectura de diversas consolas


)bo* 4@icroso#t7
G/U E- A A.IC Evidia7. $$ @Kz 4@icroso#t M

G9! 11' @ polgonosHsegundo. Introduce & pipelines con dos unidades de te*tura cada una. Resoluci"n m=*ima 15 , * 1,8,

.onido ;olb1 ;igital '.1

&. Arquitectura de diversas consolas


/la1station $ 4.on17
C/U Cell 2roadband. 1 //! A 3 ./! a $. GKz. +&F2 Cac: %1 A '1 F2 Cac: % . '+ G#lops. G/U Evidia R.) '',@Kz 42asada en GeLorce 38,, G9)7 con resoluci"n m=*ima de 1,8,p K;. '+ @2 de G;;R$ -RA@ a 3,, @Kz 1 8 bits A '+ @2 R;RA@ );R a $. G:z +& bits.

'.1 )bo* $+, -. /la1station $


/or todos es bien sabido que el mundo de los videojuegos es para aquella empresa que sepa utilizar los recursos disponibles de una mejor manera. !ntre los duelos :ist"ricos dentro del mundo de las consolas podemos encontrar el de )bo*$+, contra /la1station $. Analicemoslo.

'.1 )bo* $+, -. /la1station $


)bo* $+,> micro )enon $. GKz 4I2@7.

'.1 )bo* $+, -. /la1station $


$ n?cleos de proceso simtrico 33GLlops. :ilos de proceso simtricoHn?cleo. $ F2 de cac: %1 para instrucciones A $ F2 de cac: %1 para datos. Coprocesador vectorial -@)1 8 para cada n?cleo. 1@2 cac: % .

'.1 )bo* $+, -. /la1station $


G/U )enos 4A9I7 C1 ',,@Kz 5, nm 1,@2. '1 @2 G;;R$ RA@ 4compartida con el sistema de RA@7. Anc:o de banda de 1.+G2ps.

'.1 )bo* $+, -. /la1station $


/la1station $> micro Cell 4I2@A9os:iba7

'.1 )bo* $+, -. /la1station $


/la1station $> micro Cell 2! $. 4.on1 A 9os:iba AI2@7. G:z

'.1 )bo* $+, -. /la1station $


3 ./!Ns de proceso simtrico 4mas 1 de bacOup7 con #unciones superescalares con '+ Fi2 .RA@> $, GLlops. //! con '1 Fi2 cac: % . Coprocesador vectorial -@)1 8 para cada n?cleo. '1 F2 cac: % A '+F2H./!.

'.1 )bo* $+, -. /la1station $


G/U R.) 4Evidia7 '',@Kz 5, nm 4&,nm en ,1,7. &8 n?cleos. '+ @2 G;;R$ RA@ 3,, @Kz. Anc:o de banda de .& Gbps. '+ @2 );R RA@ $. G:z de velocidad. Anc:o de banda total> '.+ Gbps.

'.1 /rogramaci"n 1 #uncionamiento de los n?cleos


)bo* $+,(
Apro*imadamente el 58P de la potencia del n?cleo es utilizada para la aplicaci"n de juego. Alto P de cac: % est= disponible> lo que :ace que la in#ormaci"n pase r=pidamente entre distintos :ilos de los procesadores pasando entre ellos punteros a dic:a in#ormaci"n.

'.1 /rogramaci"n 1 #uncionamiento de los n?cleos


)bo* $+,(
%a aplicaci"n de juego se inicia normalmente con un solo :ilo por n?cleo. Con el desarrollo del juego> la in#ormaci"n puede ser segmentada para usar m?ltiples n?cleos 1 m?ltiples :ilosHn?cleo. .istema de segmentaci"n sencillo( Control de juego 1 AI codes en un n?cleo 1 renderizado gr=#ico en otro n?cleo.

'.1 /rogramaci"n 1 #uncionamiento de los n?cleos


)bo* $+,(
Cuando el AI completa su ejecuci"n> encola la in#ormaci"n para renderizado gr=#ico 1 empieza con el siguiente #rame.
Ejecucin en el core de AI Renderizado grfico Siguiente frame

!l c"digo de renderizado se ejecuta para el #rame actual 1 la AI ejecuta c"digo para el siguiente #rame simult=neamente.

'.1 /rogramaci"n 1 #uncionamiento de los n?cleos


)bo* $+,(
Con ste proceso identi#icamos cuellos de botella(
/roblemas en AI( determinar si el c"digo puede paralelizarse. .i ocurre en el GRC 4Grap:ics Rendering Code7> el proceso se paraleliza en otro n?cleo.

'.1 /rogramaci"n 1 #uncionamiento de los n?cleos


)bo* $+,
Cuando un programa es segmentado $ n?cleos> 1 de ellos est= activo al del tiempo> os otros dos> trabajar=n porcentaje m=s bajo. @=s segmentaci"n para el n?cleo al aQadiendo otro :ilo.
Mayor segmentacin requerida Ms hilos Hardware activos

en los 1,,P en un 1,,P

Mayor porcentaje de uso de los ncleos

'.1 /rogramaci"n 1 #uncionamiento de los n?cleos


/la1station $(
%a programaci"n en /.$ es m=s complicada que en )bo*$+,. ;ebido a que(
%os datos pueden ser procesados de #orma secuencial o paralela. Incrementa la cantidad de datos procesados respecto a los iniciales.

'.1 /rogramaci"n 1 #uncionamiento de los n?cleos


/la1station $(
%a aplicaci"n de juego es lanzada por el //!> podramos pensar en el siguiente orden l"gico(
PPE AI code GRC

Imposible por la limitada memoria del ./!> '+F2> 41H&,, del c"digo para lanzar el juego7.

'.1 /rogramaci"n 1 #uncionamiento de los n?cleos


/la1station $(
.oluciones(
%os desarrolladores :an de adecuar el c"digo para que pueda segmentarse en menos de '+F2 a ejecutar en paralelo.

.uponiendo que su#icientes segmentos :an podido ser adaptados para que #uncionen los + ./!Ns asignados a la aplicaci"n de juegos> el desarrollador :a de intentar balancear la potencia de los n?cleos.

'.1 /rogramaci"n 1 #uncionamiento de los n?cleos


/la1station $(
Rsto no es posible conseguirlo mediante el uso de m=s :ilosHn?cleo> ni :ard<are ni so#t<are. %a soluci"n(
PPE DMA AI code GRC

'. Revisi"n sobre 0u1a

'. Revisi"n sobre 0u1a


.oC 4.1stem on C:ip7(
Circuito integrado que recoge todos los componentes de un computador en un solo c:ip.
Diferencia con microcontroladores: Los microcontroladores tienen tpicamente menos de 100KB de RAM. Son capaces de ejecutar sistemas operativos, necesitando sistemas de almacenamiento externo.

'. Revisi"n sobre 0u1a


C/U(0u1a incorpora un microprocesador AR@ Cuad Core a 1.3G:z.
S0u1a> :o<ever> is pain#ul slo< at crunc:ing numbersT Crunc:ing numbers( Smat:ematical <orO per#ormed b1 people or computers t:at is o#ten quite simple but taOes a long timeT

'. Revisi"n sobre 0u1a


G/U( Evidia GeLorce U%/ $ bits ' , @Kz. 1 n?cleos que proporcionan unos 1 G#lops. RA@( 1G2 ;;R$ 1+,, @Kz .;RA@ 4compartida por la C/U 1 la G/U7. /roblema( Anc:o de banda de los buses C/U6RA@ 4$ bits7

'. Revisi"n sobre 0u1a

+. 2ibliogra#a
:ttp(HHes.<iOipedia.orgH<iOiH-ideoconsolaU/rimeraVgeneraci.C$.2$n :ttp(HHsabia.tic.udc.esHgcHContenidos P ,adicionalesHtrabajosHJuegosH/rogramacion-ideojuegosH/rogramacion P ,deP ,videojuegos.:tm :ttp(HH<<<.eurogamer.esHarticlesHdigital#oundr16preparar6pc6ne*t :ttp(HH#abiensanglard.netHquaOe$Hinde*.p:p :ttp(HH<<<.tranquilin:o.comHcategor1HculturaH:istoriaH :ttp(HH<<<.macuarium.comH#oroHinde*.p:pDs:o<topicW8'88 :ttp(HHconsollection.deH :ttp(HH<<<.elotrolado.netH:iloVevolucion6de6las6consolasV1&'81 & :ttp(HH<<<.elotrolado.netH:iloVbueno616al6#inal6las6especi#icaciones6 tecnicas6de6la6maquina6cuales6sonV+1 13 :ttp(HH<<<.atarimuseum.comHa:sVarc:ivesHarc:ivesHarc:ives6tec:docs.:tm :ttp(HH<<<.laps$.comH#oroH'VgeneralH'56 queVesVlaVps$VcaracteristicasV:ard<are.:tml

+. 2ibliogra#a
:ttp(HH<<<.elotrolado.netH:iloVprogramando6la6ps$6vs6*bo*$+,V+ &8&$ :ttp(HH<<<.blac:#ord.in#oHcomputerHCellHCell,Vv .:tml :ttp(HH<<<.rage$d.comHboardHs:o<t:read.p:pDtW$$83+& 8 :ttp(HH<<<.avs#orum.comHtH3'8$5,H*bo*6$+,6vs6ps$6a6processor6 comparison :ttp(HH<<<.t:everge.comH ,1$H&H&H&18, & Hou1a6revie< :ttp(HH#actions.inHarticleHKard<areH;onVtV2u1V9:eV0u1aVK1peVVItVsVEotV !venVCloseV9oV)bo*VVVH3& && :ttp(HHen.<iOipedia.orgH<iOiH.1stemVonVaVc:ip :ttp(HHatariage.comH#orumsHtopicH ,,5&86ou1a6console6alread16getting6 support6#rom6major6publis:ersH @icroprocesadores /ara Comunicaciones. @icroprocesadores en consolas. Universidad de las /almas de Gran Canaria. .istemas de multiprocesamiento simtrico sobre L/GA. 9esis ;octoral. /ablo Kuerta /ellitero.

3. Cuestiones
17/.$ permite un acceso r=pido a los datos debido a que ;@A proporciona punteros de memoria a los n?cleos. Falso 17!n )bo* $+,> el bajo porcentaje de uso de los n?cleos secundarios> puede ser solucionado en primera instancia mediante el uso de multi:ilo so#t<are.
Falso

Cuestiones
17Cuando se lanza una aplicaci"n de juego en consolas de 3X generaci"n> todos los n?cleos que componen la consola comparten la misma carga de trabajo para que la ejecuci"n sea m=s r=pida debido al gran peso de los juegos. Falso 7%a soluci"n o#recida por @icroso#t usando multi:ilo para mejorar la segmentaci"n :ace que el rendimiento de su consola se incremente de #orma considerable.
Verdadero

Cuestiones
17Una de las razones para dejar atr=s el lenguaje de programaci"n S!nsambladorT es que los microprocesadores actuales no aceptan dic:o lenguaje. Falso

GRACIAS POR

Gracias por su atenci"n

SU ATENCIN

You might also like