Coprocesador | Arquitectura de Computadores

Introducción:
si se trata de un chip de microprocesador, se pueden agregar nuevos circuitos con un propósito especial para realizar tareas especiales o realizar operaciones en números para descargar el trabajo de la CPU central. La CPU puede entonces trabajar más rápido.

Podemos usar una cinta transportadora para hacer un trabajo adicional mientras el motor está funcionando. Por lo tanto, el motor se utiliza de manera más efectiva. Del mismo modo, un procesador complementario, es decir, un coprocesador se encarga de la parte matemática del trabajo cuando ejecutamos aplicaciones complejas.

¿Qué es un coprocesador?

  • Un coprocesador se conoce muchas veces como un procesador matemático. A medida que el coprocesador realiza tareas matemáticas de rutina, el procesador central se libera de este cálculo y se ahorra tiempo. Al tomar tareas de procesamiento especializadas de la CPU central, el coprocesador reduce la tensión en el microprocesador principal, para que pueda funcionar a mayor velocidad.
  • Un coprocesador puede realizar tareas especiales como cálculos matemáticos complejos o procesamiento de pantallas gráficas. Realizan tales trabajos más rápido que la CPU central. Como resultado, aumenta la velocidad general de la computadora del sistema.
  • A un procesador ARM le podemos acoplar los coprocesadores. Cuando se agrega un coprocesador, necesitamos expandir el conjunto de instrucciones de la CPU central o agregar registros configurables para aumentar la potencia de procesamiento. La interfaz del coprocesador permite conectar un par de coprocesadores a la CPU ARM.

¿Cómo funciona el coprocesador?
Los coprocesadores ayudan al sistema a funcionar de manera más eficiente al descargar tareas específicas de la CPU. Ellos pueden ser 

  1. Tipo independiente
    funciona de manera asíncrona con la CPU. Siempre que realiza alguna tarea/algunos cálculos, eso no está sincronizado con la CPU. El coprocesador puede tomar decisiones de forma independiente aquí. La CPU puede entonces hacer su propio trabajo sin preocuparse por el trabajo del coprocesador. En lugar de esperar sincrónicamente, la CPU que emitió la solicitud se libera para realizar otra tarea.
  2. Tipo de control directo: tipo de  
    control directo, como unidades de punto flotante, controlado por instrucciones del coprocesador que forman parte del conjunto de instrucciones de la CPU. La CPU que inició la solicitud espera o verifica hasta que el coprocesador completa la operación. El coprocesador no es independiente aquí y está gobernado o controlado por la CPU principal. La CPU y el coprocesador funcionan sincronizados aquí.

El procesador está diseñado e implementado de manera que pueda enviar, tanto datos como instrucciones, a varios coprocesadores. Estos coprocesadores están diseñados para funcionar en coordinación con el núcleo y se canalizan de la misma manera.

Al agregar un nuevo conjunto de instrucciones especializadas, el coprocesador puede expandir el conjunto de instrucciones. Por ejemplo, para manejar operaciones de punto flotante vectorial (VFP), se puede agregar una serie de instrucciones especializadas al conjunto de instrucciones ARM normal. Cuando la instrucción se decodifica y se encuentra como instrucción del coprocesador, esa instrucción se pasa al coprocesador apropiado. Sin embargo, si el coprocesador no está presente o no encuentra instrucciones en su conjunto de instrucciones, ARM lanza una excepción de instrucción indefinida.

Propiedades del coprocesador:

  1. Sin microprocesador primario, el coprocesador no puede funcionar.
  2. El procesador principal tiene que identificar y segregar instrucciones computacionalmente intensivas en un programa.
  3. Las instrucciones que tienen una cantidad intensiva de cálculos son realizadas por coprocesador.
  4. El procesador principal maneja todas las demás actividades.

Funcionalidades de un Coprocesador:

  • Los coprocesadores son incapaces de recuperar instrucciones de la memoria, administrar la memoria, ejecutar instrucciones (tipos de control de flujo) directamente, realizar operaciones de E/S, etc.
  • El coprocesador depende del procesador host (principal) para recuperar las instrucciones del coprocesador y encargarse de todas las demás operaciones no relacionadas con el coprocesador.
  • Un coprocesador no es el procesador principal del sistema.
  • El coprocesador puede realizar: operaciones aritméticas de punto flotante como suma, resta, multiplicación, calcular la raíz cuadrada del número dado, estimar el valor logarítmico del número dado, etc. (para valores de punto flotante), o señal, string, procesamiento gráfico o cifrado/descifrado, etc.
  • Los coprocesadores permiten una personalización de la computadora, por lo que los clientes no necesitan pagar si no requieren el rendimiento adicional.

Ejemplo: coprocesador Intel 8087:
el Intel 8087 fue el primer coprocesador matemático adecuado para operaciones de 16 bits. Fue construido para ser emparejado con el microprocesador Intel 8086. Su objetivo principal era disminuir el tiempo requerido por las aplicaciones para generar resultados (que requieren cálculos de punto flotante alto).
Con la introducción del coprocesador junto con el procesador principal, se observó que el rendimiento de las aplicaciones mejoró del 20 % al 500 %. 
Rendimiento del coprocesador 8087: alrededor de 50 kilos de operaciones de coma flotante por segundo (KFLOPS).

Diagrama funcional del coprocesador 8087

El coprocesador Intel 8087 admite:

  • Entero
  • BCD
  • Número de coma flotante de precisión única
  • Número de punto flotante de doble precisión
  • Número de punto flotante de precisión extendida (80 bits)

El diagrama muestra la conectividad de un coprocesador con el Microprocesador 8086. 
La mayoría de los coprocesadores tienen: módulo aritmético, registros temporales y módulo lógico. 

Publicación traducida automáticamente

Artículo escrito por sameekshakhandelwal1712 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *