Stream Processors, Inc. ( SPI ) era una empresa de semiconductores sin fábrica propia con sede en Silicon Valley, especializada en el diseño y la fabricación de procesadores de señales digitales de alto rendimiento para aplicaciones como videovigilancia , impresoras multifunción y videoconferencias . La empresa cesó sus operaciones en 2009.
Historia de la empresa
El trabajo fundamental en el procesamiento de flujos de datos fue iniciado en 1995 por un equipo de investigación liderado por el profesor del MIT Bill Dally . En 1996, se trasladó a la Universidad de Stanford, donde continuó este trabajo, recibiendo una subvención multimillonaria de DARPA con recursos adicionales de Intel y Texas Instruments para financiar el desarrollo de un proyecto llamado "Imagine": el primer chip procesador de flujos de datos y las herramientas de compilación que lo acompañaban .
El proyecto Imagine
El objetivo del proyecto Imagine era desarrollar un procesador de señales e imágenes programable en C , diseñado para ofrecer la densidad de rendimiento y la eficiencia de un procesador de propósito especial (como un ASIC cableado ). El proyecto demostró con éxito las ventajas del procesamiento de flujos de datos. Los detalles sobre el proyecto Imagine y sus resultados se encuentran disponibles en la página del proyecto Imagine de Stanford . El trabajo también demostró que diversas aplicaciones, desde el procesamiento de banda base inalámbrica , gráficos 3D, cifrado y reenvío de IP hasta el procesamiento de vídeo, podían aprovechar la eficiencia del procesamiento de flujos de datos. Esta investigación inspiró otros diseños, como las GPU de ATI Technologies y el microprocesador Cell de Sony , Toshiba e IBM .
Los principales resultados del programa Imagine incluyeron:
- La arquitectura de flujo de imágenes
- El modelo de programación Stream
- Herramientas de desarrollo de software
- Aplicaciones de gráficos programables y multimedia en tiempo real
- Prototipo VLSI (fabricado por TI)
- Plataforma de desarrollo de procesadores de flujo (una placa de desarrollo prototipo)
SPI establecido
Dally, junto con otros miembros del equipo, obtuvo una licencia de Stanford para comercializar la tecnología resultante. Stream Processors, Incorporated (SPI) se constituyó en California en 2004. El profesor Dally permaneció en Stanford y la empresa contrató al veterano de la industria Chip Stearns como presidente y director ejecutivo en diciembre de ese mismo año. [ 1 ] Hasta junio de 2006, SPI había logrado recaudar un total de 26 millones de dólares de tres destacadas firmas de capital de riesgo : Austin Ventures , Norwest Venture Partners y Woodside Fund.
La empresa lanzó sus dos primeros productos simultáneamente con la Conferencia Internacional de Circuitos de Estado Sólido ( ISSCC ) en febrero de 2006 [ 2 ] y desde entonces ha presentado otros dos. [ 3 ] [ 4 ]
SPI tiene su sede central en Sunnyvale, California , así como un grupo de desarrollo de software (SPI Software Technologies Pvt. Ltd) ubicado en Bangalore, India .
En enero de 2009, el cofundador, el profesor Bill Dally, aceptó un puesto como científico jefe en NVIDIA Corporation. [ 5 ] Al mismo tiempo, renunció a su cargo de presidente. [ 6 ] En una entrevista, Dally reflexionó sobre sus experiencias con las startups: [ 6 ] "Yo mismo he fundado varias startups de chips. Cada vez es más difícil. La apuesta es muy alta. Si fundas una startup de chips, necesitas inversores pacientes con mucho capital. Se necesitan decenas de millones de dólares para llegar al primer producto y 50 millones para obtener beneficios. Es muy difícil de lograr porque los inversores quieren una rentabilidad que multiplique esa inversión. Espero que volvamos a la época de las frecuentes OPV y superemos las adquisiciones a precio de saldo. Eso no es lo que se ve ahora mismo. Si se trata de un chip programable, el coste es aún mayor."
En el verano de 2009, el director ejecutivo Stearns dejó la empresa y fue reemplazado por Mike Fister, un ejecutivo con amplia experiencia en Cadence Design Systems e Intel .
En septiembre de 2009 la empresa cesó sus operaciones. [ 7 ]
Tecnología
Al igual que los gráficos y la computación científica, el procesamiento de medios y señales se caracteriza por el paralelismo de datos disponible, la localidad y una alta relación entre el acceso a la memoria global y el tiempo de cómputo. El procesamiento de flujos aprovecha estas características mediante el procesamiento paralelo de datos alimentado por una jerarquía de memoria distribuida gestionada por el compilador. El principal desafío para los procesadores masivamente paralelos de próxima generación reside en el ancho de banda de los datos, no en los recursos computacionales. A diferencia de la mayoría de los procesadores convencionales, esta tecnología no depende de una caché de hardware ; en su lugar, el movimiento de datos es gestionado explícitamente por el compilador y el hardware.
El modelo de ejecución se basa en la aceleración de funciones críticas para el rendimiento (kernels) que procesan y generan registros de datos (streams). Los kernels y los streams se programan en tiempo de compilación y se transfieren a la memoria integrada en tiempo de ejecución mediante un marcador. El compilador analiza los tiempos de vida de los datos de los streams para optimizar la asignación y minimizar las necesidades de ancho de banda de la memoria externa. Las cargas de streams y kernels pueden superponerse con la ejecución para mejorar la tolerancia a la latencia, y el movimiento explícito de datos proporciona un rendimiento predecible. No hay fallos de caché de la CPU y el diseño presenta un modelo de un solo núcleo al programador: el paralelismo de datos se encuentra dentro de los kernels.
Arquitectura
La arquitectura incluye una CPU principal (System MIPS) para tareas a nivel de sistema y un subsistema de coprocesador DSP donde el DSP MIPS ejecuta los hilos principales que realizan llamadas a funciones del kernel a la Unidad de Paralelo de Datos (DPU). Para los usuarios que utilizan bibliotecas y no pretenden desarrollar código DSP, la arquitectura es un sistema en un chip basado en MIPS con una API para un coprocesador de "caja negra" . El despachador de la DPU recibe llamadas a funciones del kernel para gestionar las cargas de kernel y flujo en tiempo de ejecución. Un kernel a la vez se ejecuta a través de los carriles, operando sobre datos de flujo locales almacenados en el archivo de registro de carril de cada carril. Cada carril tiene un conjunto de ALU VLIW y archivos de registro de operandos distribuidos (ORF) que permiten un gran conjunto de datos de trabajo y un ancho de banda de procesamiento que supera 1 TeraByte/s. La Unidad de Carga/Almacenamiento de Flujo proporciona recopilación/dispersión con una amplia variedad de patrones de acceso. El conmutador entre carriles es una matriz de interconexión completa programada por el compilador para un acceso de alta velocidad entre carriles.
Herramientas
El conjunto de herramientas RapiDev de SPI aprovecha la predictibilidad del procesamiento de flujos para proporcionar una vía rápida hacia resultados optimizados mediante programación en C. Partiendo del código de referencia en C, la biblioteca Fast Functional Debugger (FFD) se integra con herramientas estándar, como Microsoft Visual Studio y GNU , y simula la DPU para admitir la reestructuración del código en núcleos y flujos. Dado que los núcleos se programan estáticamente y el movimiento de datos es explícito, se puede obtener precisión de ciclo de la DPU incluso a este alto nivel funcional. Esta es una de las fuentes de la predictibilidad de la arquitectura. Para dirigir el código al dispositivo, el compilador de procesador de flujos (SPC) genera el ejecutable VLIW y el código C preprocesado que se compila/ enlaza mediante GCC estándar para MIPS. SPC asigna flujos en los archivos de registro de carriles y proporciona información de dependencia para las llamadas a funciones del núcleo. Se admite la segmentación de software y el desenrollado de bucles . Las penalizaciones de bifurcación se evitan mediante selecciones con predicados y las condicionales más grandes utilizan flujos condicionales. El simulador de código de destino, que se ejecuta bajo Eclipse, ofrece una simulación completa del código binario del host o del dispositivo, con funciones de puntos de interrupción y ejecución paso a paso, además de estadísticas de ancho de banda y carga. Una vista del kernel muestra la canalización VLIW para la optimización del kernel, y una vista de flujo muestra la ejecución del kernel y las cargas de flujo para analizar el movimiento global de datos y realizar el perfilado del sistema.
Productos
Actualmente, SPI comercializa su familia Storm-1, que incluye cuatro procesadores de señal digital (DSP) totalmente programables por software con diferentes niveles de rendimiento.
Nota: GMACS significa Giga (miles de millones de) operaciones de multiplicación y acumulación por segundo, una medida común del rendimiento de los DSP.
Soporte de hardware y software
- El conjunto de herramientas RapiDev ofrece una vía rápida y predecible para obtener resultados optimizados, eliminando las complejidades de la codificación en lenguaje ensamblador o la gestión manual de la caché.
- El Storm-1 DevKit es una plataforma de desarrollo de software basada en PCI.
- El diseño de referencia de la cámara IP se ejecuta en Linux 2.6 estándar y admite múltiples códecs simultáneos (por ejemplo, H.264 , MPEG-4 y MJPEG ), resoluciones arbitrarias, procesamiento de sensores CMOS y CCD , así como análisis de vídeo en una plataforma totalmente programable por software.
- El diseño de referencia del transmisor de vídeo admite ocho canales de entrada 4CIF de vídeo comprimido a H.264 y una salida Gigabit Ethernet.
Referencias
- ↑ Comunicado de prensa streamprocessors.com 13 de diciembre de 2004
- ↑ EETimes.com - Una startup promociona una arquitectura de procesamiento de flujo para DSP
- ↑ "DSP de datos en paralelo orientado a aplicaciones de videovigilancia sensibles al coste | Video Imaging DesignLine" . Consultado el 18 de diciembre de 2023 .
- ↑ EETimes.com - Stream Processors afirma tener el DSP más rápido
- ↑ "Inicio" .
- 1 2 "Bill Dally, de Stanford, da el salto del mundo académico a la guerra de los gráficos por ordenador" . 22 de mayo de 2009.
- ↑ "Informe: La empresa emergente de chips Stream Processors cerrará sus puertas" . Silicon Valley Business Journal . 2 de noviembre de 2009 – vía bizjournals.com.
Enlaces externos
- Sitio web del Proyecto Imagine (Stanford)
37°22′59.48″N 122°04′42.08″W / 37.3831889°N 122.0783556°W / 37.3831889; -122.0783556
- Empresas de semiconductores sin fábrica propia
- Empresas de electrónica fundadas en 2004
- Empresas con sede en Sunnyvale, California.
- Empresas de semiconductores desaparecidas de Estados Unidos
- Empresas informáticas desaparecidas de los Estados Unidos
- Empresas de hardware informático desaparecidas