La computación sin conjunto de instrucciones ( NISC , por sus siglas en inglés) es una arquitectura informática y una tecnología de compilación para diseñar procesadores personalizados y aceleradores de hardware de alta eficiencia, al permitir que un compilador tenga un control de bajo nivel sobre los recursos de hardware.
Descripción general
NISC es una arquitectura de nanocódigo horizontal con programación estática (SSHNA). El término "programación estática" significa que la programación de operaciones y el manejo de riesgos los realiza un compilador . [ 1 ] El término "nanocódigo horizontal" significa que NISC no tiene ningún conjunto de instrucciones o microcódigo predefinido . El compilador genera nanocódigos que controlan directamente las unidades funcionales , los registros y los multiplexores de una ruta de datos determinada . Otorgar control de bajo nivel al compilador permite una mejor utilización de los recursos de la ruta de datos, lo que en última instancia resulta en un mejor rendimiento. Los beneficios de la tecnología NISC son:
- Controlador más sencillo: sin planificador de hardware, sin decodificador de instrucciones.
- Mejor rendimiento: arquitectura más flexible, mejor utilización de los recursos.
- Diseño más sencillo: no es necesario diseñar conjuntos de instrucciones.
El conjunto de instrucciones y el controlador de los procesadores son las partes más tediosas y que más tiempo consumen en el diseño. Al eliminar estos dos componentes, el diseño de elementos de procesamiento personalizados se simplifica considerablemente.
Además, la ruta de datos de los procesadores NISC puede generarse automáticamente para una aplicación específica. Por lo tanto, la productividad del diseñador mejora significativamente.
Dado que las rutas de datos de NISC son muy eficientes y se pueden generar automáticamente, la tecnología NISC es comparable a la síntesis de alto nivel (HLS) o a los enfoques de síntesis de C a HDL . De hecho, una de las ventajas de este estilo arquitectónico es su capacidad para conectar estas dos tecnologías (diseño de procesadores personalizados y HLS).
Computadora con conjunto de instrucciones cero
En informática , el término "computadora de conjunto de instrucciones cero" ( ZISC ) se refiere a una arquitectura de computadora basada únicamente en la coincidencia de patrones y la ausencia de (micro)instrucciones en el sentido clásico. Estos chips son conocidos por considerarse comparables a las redes neuronales , y se comercializan por la cantidad de "sinapsis" y "neuronas". [ 2 ] El acrónimo ZISC alude a la computadora de conjunto de instrucciones reducido (RISC).
ZISC es una implementación de hardware de redes de Kohonen (redes neuronales artificiales) que permite el procesamiento masivamente paralelo de datos muy simples (0 o 1). Esta implementación de hardware fue inventada por Guy Paillet [ 3 ] y Pascal Tannhof (IBM), [ 4 ] [ 3 ] desarrollada en cooperación con la fábrica de chips de IBM en Essonnes , Francia, y fue comercializada por IBM.
La arquitectura ZISC alivia el cuello de botella de la memoria al combinar la memoria de patrones con el aprendizaje de patrones y la lógica de reconocimiento. Su computación masivamente paralela resuelve el problema de " el ganador se lo lleva todo en la selección de acciones " al asignar a cada "neurona" su propia memoria y permitir la resolución simultánea de problemas cuyos resultados se resuelven mediante disputas entre sí. [ 5 ]
Aplicaciones y controversia
Según TechCrunch , muchas grandes empresas tecnológicas, como Facebook y Google , utilizan actualmente emulaciones de software de este tipo de chips para el reconocimiento de imágenes. Al aplicarlas a otras tareas de detección de patrones, como el análisis de texto, se afirma que se obtienen resultados en microsegundos incluso con chips lanzados en 2007. [ 2 ]
Junko Yoshida, del EE Times , comparó el chip NeuroMem con "La Máquina", una máquina capaz de predecir crímenes escaneando los rostros de las personas en la serie de televisión Person of Interest , describiéndolo como "el corazón del big data " y "un presagio de una escalada real en la era de la recopilación masiva de datos". [ 6 ]
Historia
En el pasado, la tecnología de diseño de microprocesadores evolucionó desde las computadoras con conjunto de instrucciones complejo (CISC) hasta las computadoras con conjunto de instrucciones reducido (RISC). En los inicios de la industria informática, no existía la tecnología de compiladores y la programación se realizaba en lenguaje ensamblador . Para facilitar la programación, los arquitectos de computadoras crearon instrucciones complejas que eran representaciones directas de funciones de alto nivel de lenguajes de programación de alto nivel. Otro factor que impulsó la complejidad de las instrucciones fue la falta de grandes bloques de memoria.
Con el avance de las tecnologías de compilación y memoria, se introdujeron las arquitecturas RISC. Estas arquitecturas requieren mayor memoria de instrucciones y un compilador para traducir lenguajes de alto nivel a código ensamblador RISC. El progreso de estas tecnologías dio lugar a los procesadores de instrucciones muy largas (VLIW), donde el compilador controla la secuencia de instrucciones y gestiona los riesgos de datos.
NISC es el sucesor de los procesadores VLIW. En NISC, el compilador controla tanto horizontal como verticalmente las operaciones en la ruta de datos. Por lo tanto, el hardware es mucho más simple. Sin embargo, el tamaño de la memoria de control es mayor que en las generaciones anteriores. Para solucionar este problema, se pueden utilizar técnicas de compresión de baja sobrecarga.
Véase también
- C a HDL
- memoria direccionable por contenido
- Computadora con conjunto de instrucciones reducido
- Computadora con conjunto de instrucciones complejo
- Computación con instrucciones explícitamente paralelas
- Computadora con conjunto mínimo de instrucciones
- Instrucción muy larga
- Computadora con un conjunto de instrucciones
- Norte verdadero
Referencias
- ↑ Rizk, Mostafa; Baghdadi, Amer; Jezequel, Michel; Mohanna, Yasser; Atat, Youssef (2021-03-01). "Experiencia de diseño de arquitecturas flexibles y eficientes para aplicaciones de comunicación digital en computadoras sin conjunto de instrucciones: dos estudios de caso sobre detección turbo MIMO y desmapeo turbo universal" . Design Automation for Embedded Systems . 25 (1): 1– 42. doi : 10.1007/s10617-021-09245-x . ISSN 1572-8080 .
- 1 2 Lambinet, Philippe (31 de enero de 2015). "La búsqueda continua del chip 'cerebral'" . TechCrunch .
- 1 2 "Circuito neuronal" .
- ↑ "Perfil: Pascal Tannhof" . ResearchGate .
- ↑ Higginbotham, Stacey (14 de noviembre de 2011). "Abran paso a más chips basados en el cerebro" . Gigaom . Archivado del original el 16 de noviembre de 2011.
- ↑ Yoshida, Junko. "NeuroMem IC reconoce patrones, lo ve todo, lo sabe todo" . EE Times .
Lecturas adicionales
- Capítulo 2. Henkel, Jörg; Parameswaran, Sri (11 de julio de 2007). Diseño de procesadores embebidos: una perspectiva de bajo consumo: por Jörg Henkel, Sri Parameswaran . Springer. ISBN 978-1402058684.
Enlaces externos
- Patente estadounidense para el hardware ZISC , otorgada a IBM/G.Paillet el 15 de abril de 1997.
- Procesamiento de imágenes mediante redes neuronales tipo RBF: una implementación totalmente paralela basada en ZISC-036 para la resolución de problemas industriales de complejidad real y del mundo real, por K. Madani, G. de Trémiolles y P. Tannhof.
- De CISC a RISC a ZISC por S. Liebman en lsmarketing.com
- Redes neuronales en silicio en aboutAI.net
- Solicitud de patente francesa NISC para motor puramente aplicativo: la única operación de aplicación (sin cálculo lambda que es un caso particular de sistemas cuasi-aplicativos con dos operaciones : aplicación y abstracción - Curry 1958 p. 31)
- Diseño electrónico
- unidad central de procesamiento
- Procesamiento de instrucciones