# PICA200

Le PICA200 est un processeur graphique (GPU en Anglais) pour systèmes embarqués conçu par la société nippone Digital Media Professionals Inc. (DMP), annoncée au SIGGRAPH 2005 et présentée au SIGGRAPH 2006. PICA est le nom donné par DMP à sa gamme de microprocesseurs graphiques pour systèmes embarqués. Cette gamme est utilisée tant pour les appareils portables que pour les bornes d'arcade hautes performances. Le nom PICA200 est un simple assemblage du nom de la gamme (PICA) à la fréquence du microprocesseur, en l’occurrence 200 MHz.

## Description

Le PICA200 possède un jeu d'instructions programmable (instruction-programmable core, ou IPC), ce qui permet de l'adapter à de multiples configurations en fonction des demandes spécifiques des systèmes embarqués, et re-paramètre en conséquence son moteur 3D intégré.
Le PICA200 prend en charge la technologie propriétaire de seconde génération de DMP : MAESTRO (« MAESTRO-2G »). Cette technologie inclut la prise en charge de OpenGL ES 1.1, des extensions optionnelles pour OpenGL ES 1.1 et des extensions propriétaires de DMP (algorithmes matériels de calcul d'ombrage plat, textures procédurales, fonction de distribution bi-directionnelle de la réflectance (bidirectional reflectance distribution function, ou BRDF), lumière spéculaire (modèle de Cook-Torrance), subdivision des polygones (tessellation), projection d'ombres adoucies et dispersion subsurface per-vertex (similaire à l'éclairage à deux faces).
Le cœur 3D du PICA200 se compose d'un maximum de quatre pipelines de vertex programmables ré-organisables en quatre pipelines de pixel. Le nombre des jeux d'instructions et des pipelines dépend du microprocesseur et peut évoluer dans le futur.
Le rendu des graphismes 2D utilise deux modules optionnels :
* Un module de post-processing de l'image nommé « PICA-FBM » (« Frame Buffer Object »), utilisable comme filtre d'anticrénelage et supportant quelques fonctions spécifiques à la 2D ;
* Un module de traitement des graphismes vectoriels, le « PICA-VG » (« Vector Graphics »), lui-même étant une extension du module PICA-FBM.
Le module PICA-FBM est également disponible en tant que cœur 2D seul, tandis que le PICA-VG est uniquement disponible en tant qu'extension optionnelle.
PICA-VG prend également en charge OpenVG 1.0 Khronos, publié le 18 juillet 2005 ce qui permet une accélération du traitement des graphismes vectoriels.
Le PICA200 et la technologie MAESTRO-2G sont une évolution de la première génération MAESTRO du processeur graphique ULTRAY2000 (en).
Le support de OpenGL ES 1.1 du PICA200 est l'équivalent des GPU DirectX 7 ~ 8.0, courantes sur le marché informatique des années 1999-2000. Toutefois, les extensions ajoutées à OpenGL ES 1.1 et les extensions MAESTRO-2G de DMP améliorent grandement les performances qui rapprochent le PICA200 des GPU DirectX 9.0c ~ DirectX 10.1 (années 2004-2008).

## Applications

DMC a annoncé en juin 2010 que Nintendo utiliserait le PICA200 comme Processeur graphique de sa nouvelle console de jeux vidéo portable, la Nintendo 3DS.

## Caractéristiques

* Fréquence d'horloge de 200 MHz(fréquence d'horloge maximale de 400 MHz en gravure de 65 nm)
** Performance de pixels : 800 Mpixels/s (400 Mpixels/s à 100 MHz)(1600 Mpixels/s à 400 MHz)
** Performance de vertex : 15,3 Mpolygones/s (40 Mtriangles/s à 100 MHz)(160 Mtriangles/s à 400 MHz)
* Consommation électrique : 0,5-1,0 mW/MHz
* Tampon de trame (maximum) : 4095x4095 pixels
* Formats de pixels supportés : RGBA4444, RGB565, RGBA5551, RGBA8888
* Programme de vertex : ARB_vertex_program
* Render-to-Texture
* MIP mapping
* Filtrage bilinéaire
* Simulation de transparence
* Anticrénelage intégral (2x2)
* Décalage de polygone
* Stencil buffer : 8 bit
* Tampon de profondeur : 24 bit
* Tampon simple/double/triple
* Technologie MAESTRO-2G :
** Éclairage par pixel
** Texture procédurale
** Placage de réfraction
** Subdivision de primitives
** Ombrage
** Rendu d'objets gazeux