Skip to content

About this page

On this page

Vector Units ​

Esta sección está en beta. Consulta la nota en la hoja de referencia.

La EE tiene dos Vector Units conectadas, VU0 y VU1: procesadores pequeños para aritmética de vectores y matrices.

VU0 y VU1 ​

VU0 está junto a la EE y corre en uno de dos modos: como coprocesador macro/micro fuertemente acoplado al que la EE emite instrucciones como una extensión de su propio pipeline, o ejecutando su propio microprograma independiente. Se usa comúnmente para matemática por vértice que de otra forma haría la CPU principal (skinning, iluminación y otro trabajo por objeto), intercalada con código EE normal.

VU1 es más independiente. Normalmente corre su propio microprograma de forma continua, alimentada con vértices y matrices por DMA_CHANNEL_VIF1. Su trabajo más común es el descrito en Graphics Synthesizer: transformar vértices y construir el paquete GIF que va al GS. Así la EE no construye paquetes y puede seguir con la lógica del siguiente frame mientras VU1 trabaja.

Programas VU ​

math3d (core) es matemática de vectores y matrices del lado EE, no microcódigo VU. Los programas VU de este SDK son:

  • Ensamblador VU escrito a mano o fuente VCL (un compilador para VU), compilado por separado y empaquetado y cargado como cualquier otro blob binario.
  • Microprogramas prearmados dentro de una biblioteca de más alto nivel. gsKit y ps2gl incluyen cada uno un microprograma VU1 que transforma vértices y construye paquetes.

Ver también ​