Coprocesador
A coprocesador utiliza un procesador de la computadora para complementar las funciones del procesador principal (el CPU). Las operaciones realizadas por el coprocesador pueden ser punto flotante aritmética, gráficos, procesamiento de señales, procesamiento de la cadena, cifrado de o Interfaz de la entrada-salida con los dispositivos periféricos. Descarga tareas procesador-intensivas del procesador principal, coprocesadores pueden acelerar el rendimiento del sistema. Coprocesadores permiten una línea de computadoras para modificar para requisitos particulares, así que los clientes que no necesita el mayor rendimiento no tiene que pagar por él.
Contenido
- 1 Funciones
- 2 Historia
- 3 Coprocesadores de Intel
- 4 Coprocesadores de Motorola
- 5 Coprocesadores de PC modernos
- 6 Otros coprocesadores
- 7 Véase también
- 8 Referencias
Funciones
Un coprocesador puede no ser un procesador de propósito general en la su propia derecha. Coprocesadores no pueden traer instrucciones desde la memoria, ejecutar instrucciones de control de flujo de programa, las operaciones de entrada/salida, gestión de memoria y así sucesivamente. El coprocesador requiere el procesador (principal) de host para obtener las instrucciones de coprocesador y todas otras operaciones aparte de las funciones del coprocesador. En algunas arquitecturas, el coprocesador es un ordenador de propósito más general, pero lleva a cabo solamente un rango limitado de funciones bajo el estricto control de un procesador de supervisión.
Historia
Para hacer mejor uso de computadora central tiempo de procesador, entrada/salida se delegaron tareas para separar sistemas denominados Canal de entrada-salida. El mainframe no requeriría ningún I/O en lugar de procesamiento, sólo tienes que configurar los parámetros para una operación de entrada o de salida y luego el procesador de canal para llevar a cabo toda la operación de la señal. Dedicando relativamente simples sub-procesadores para manejar tiempo I/O formato y tratamiento, mejoró rendimiento general del sistema.
Coprocesadores de punto flotante aritmética primero aparecieron en computadoras en la década de 1970 y llegó a ser común a lo largo de la década de 1980 y en la década de 1990. Primeros procesadores de 8 bits y 16 bits utilizan software para llevar a cabo punto flotante operaciones aritméticas. Donde fue apoyado un coprocesador, cálculos de punto flotante podrían llevarse a cabo mucho más rápido. Procesadores Co matemáticas fueron compras populares para los usuarios de diseño asistido por ordenador Software (CAD) y los cálculos científicos y de ingeniería. Algunas unidades de coma flotante, como el AMD 9511, Intel I8231 y Weitek FPU fueron tratados como dispositivos periféricos, mientras que otros tales como la Intel 8087, Motorola 68881 y 32081 nacional se integraron más de cerca con la CPU.
Otra forma de coprocesador fue un coprocessor de la pantalla, como se utiliza en la Familia de 8 bits de Atari, la Texas Instruments TI-99/4A y MSX Inicio-computadoras, que fueron llamadas"Controladores de pantalla de vídeo". El procesador de gráficos viruta en Comodoro Amiga la serie fue conocida como la "Cobre".
Como microprocesadores desarrollaron, el coste de integrar el flotante punto funciones aritméticas en el procesador disminuyó. Procesador alta velocidad también hizo un coprocesador integrado estrechamente difíciles de implementar. Matemáticas por separado empaquetado Co procesadores ahora son infrecuentes en computadoras de escritorio. Ha crecido la demanda de un coprocesador de gráficos dedicada, sin embargo, particularmente debido a una creciente demanda de gráficos realistas 3D en juegos de computadora.
Coprocesadores de Intel
El original PC DE IBM incluye un enchufe para el Intel 8087 punto flotante coprocesador (también conocido como FPU) que era una opción popular para personas que usan la PC para CAD o cálculos intensivos de matemáticas. En eso arquitectura el coprocessor aceleró aritmética floating-point en el orden de fiftyfold. Los usuarios que sólo utilizan la PC para procesamiento de textos, por ejemplo, guardan el alto costo del coprocesador, que no habría acelerado el rendimiento de las operaciones de manipulación de texto.
El 8087 fue estrechamente integrado con el 8086/ 8088 y respondió a coma flotante código de máquina códigos de operación insertados en la secuencia de instrucciones del 8088. Un procesador 8088 sin un 8087 no podría interpretar estas instrucciones, que requieren versiones de programas para que la FPU y sistemas no-FPU o por lo menos una prueba en tiempo de ejecución detectar el FPU y seleccionar las funciones de la biblioteca matemática apropiada.
Otro coprocesador para el procesador central del 8086/8088 fue la 8089 coprocesador de entrada/salida. Utiliza la misma técnica de programación como 8087 para operaciones de entrada/salida, tales como transferencia de datos de memoria a un dispositivo periférico y así reducir la carga de la CPU. Pero IBM no utilizarlo en el diseño de la PC de IBM y Intel detuvo el desarrollo de este tipo de coprocesador.
El Intel 80386 microprocesador utiliza un coprocesador opcional "matemáticas" (el 80387) para realizar operaciones de punto flotante directamente en hardware. El procesador de Intel 80486DX incluyó hardware Floating-Point en la viruta. Intel lanzó un procesador coste-reducido, el 80486SX, que no tenía flotante punto hardware y también se vende un co-procesador 80487SX que esencialmente desactivado el procesador principal cuando se instala, ya que el 80487SX era un 80486DX completo con un conjunto diferente de las conexiones de perno.[1]
Procesadores Intel más adelante que el 80486 integran hardware de coma flotante de la viruta de procesador principal; los avances en la integración eliminaron el costo ventaja de vender el flotante punto de procesador como un elemento opcional. Sería muy difícil de adaptar técnicas de la placa de circuito adecuadas a la velocidad de procesador de 75 MHz para cumplir el retardo de tiempo, consumo y normas de interferencia de radio frecuencia requeridas a velocidades de gigahertz-gama. Estos procesadores de punto flotante de la en-viruta todavía se refieren como normal debido a operan en paralelo con la CPU principal.
Durante la era de los ordenadores de 8 y 16 bits fue otra fuente común de coprocesadores de punto flotante Weitek. Estos coprocesadores tenían una instrucción diferente de los coprocesadores de Intel y utilizan un conector diferente, que no todas las placas madres compatibles. Los procesadores Weitek no proporciona funciones transcendentales matemáticas (por ejemplo, funciones trigonométricas) como la familia de Intel x87 y requieren las bibliotecas de software específico para apoyar sus funciones.[2]
Coprocesadores de Motorola
El Motorola 68000 la familia tenía la 68881/68882 coprocesadores que velocidad flotante similar aceleración en cuanto a los procesadores de Intel. Computadoras utilizando la familia 68000 pero no equipado con el hardware del procesador de punto flotante podría atrapar y emular las instrucciones de punto flotante en software, que, aunque más lenta, permite una versión binaria del programa para ser distribuido para ambos casos. El coprocesador de administración de memoria 68451 fue diseñado para trabajar con el procesador 68020.[3]
Coprocesadores de PC modernos
A partir de 2002[Actualización], dedicado a unidades de procesamiento de gráficos (GPU) en forma de tarjetas gráficas son moneda corriente. Ciertos modelos de tarjetas de sonido han sido equipados con procesadores dedicados que mezcla multicanal digital y efectos DSP en tiempo real desde 1990 a 1994 (el Ultrasonido de gravis y Sound Blaster AWE32 siendo ejemplos típicos), mientras que el Sound Blaster Audigy y de la Sound Blaster X-Fi son ejemplos más recientes.
En 2006, AGEIA anunció una tarjeta de complemento para los equipos que llama PhysX. PhysX está diseñado para realizar cálculos complejos de la física para que el CPU y GPU no tienen que realizar estos cálculos de tiempo. Está diseñado para trabajar con juegos de video, aunque utiliza otros matemáticos se podría teóricamente desarrollado para él. En 2008, Nvidia compró la tarjeta PhysX y comenzó a eliminar gradualmente la línea de la tarjeta; la funcionalidad se agregó a través de software que permite a la GPU procesar PhysX en núcleos normalmente utilizados para el procesamiento de la misma forma de gráficos CUDA obras.
En 2006, sistemas de BigFoot reveló una PCI tarjeta que bautizaron el KillerNIC que funcionó su propio kernel de Linux especial en un FreeScale Comunicación funciona a 400 MHz, pide lo chip de FreeScale un Unidad de procesamiento de red o NPU.
El SpursEngine es una mediática de tarjetas con un coprocessor basado en la Célula microarquitectura.
En el año 2008 Grupo Khronos Publicado el OpenCL con el objetivo de apoyar fines generales CPU y ATI/AMD y Nvidia GPUs, con una sola lengua común.
En el 2012 Intel anunció la Intel Xeon Phi Coprocesador.[4]
En la década de los 2010, algunos dispositivos de cómputo móviles habían llevado a cabo la eje de sensor como un coprocesador. Ejemplos de coprocesadores utilizados para el manejo de integración de sensor en dispositivos móviles el Apple M7 y M8 coprocesadores de movimiento, el Qualcomm Snapdragon Sensor de núcleo y Hexágono de Qualcommy la unidad de procesamiento holográfico para el Microsoft HoloLens.
Otros coprocesadores
- El MIPS la arquitectura soporta hasta cuatro unidades de coprocessor, utilizadas para la gestión de memoria, aritmética floating-point y dos coprocesadores indefinidos para otras tareas como aceleradores de gráficos.[5]
- Utilizando FPGA (matrices de compuertas programables en campo), coprocesadores personalizados pueden crearse para la aceleración de las tareas de procesamiento particular como procesamiento digital de señales.
- TLS /Aceleradores de SSL, utilizado en servidores.
- Algunos multi-core fichas pueden programarse para que uno de sus procesadores es el procesador principal, y los otros procesadores están apoyando coprocesadores.
Véase también
- Punto flotante
- IEEE 754-2008 Estándar para la aritmética floating-point
- Multiprocesamiento, el uso de dos o más CPUs dentro de un sistema informático único
- Torrenza, una iniciativa para implementar la compatibilidad con coprocesador para procesadores AMD
- OpenCL marco para escribir programas que se ejecutan en plataformas heterogéneas
- Multiprocesamiento asimétrico
Referencias
- ^ Scott Mueller, Actualización y reparación de PC 15ª edición, Que publica, 2003 ISBN 0-7897-2974-1, páginas 108-110
- ^ Scott Mueller, Actualización y reparación de PC, segunda edición, Publica, 1992 ISBN 0-88022-856-3, págs. 412-413
- ^ William Ford, William R. Topp Lenguaje ensamblador y programación para la familia M68000 sistemas Jones & Bartlett Learning, 1992 ISBN 0-7637-0357-5 Página 892 y ff.
- ^ "Intel ofrece nueva arquitectura para el descubrimiento con coprocesadores de Intel® Xeon Phi™". Newsroom.Intel.com. 2012-11-12. 2013-06-16.
- ^ Erin Farquhar, Philip Bunce, Manual del programador de MIPS, Morgan Kaufmann, 1994 ISBN 1-55860-297-6, Página de A3 del anexo 330
|