¿Qué es una unidad de control?
Una unidad de control es el subcomponente de la unidad central de procesamiento (CPU) que administra todas las acciones realizadas en esta área en una computadora. Es responsable de tomar las diversas entradas de la computadora, las instrucciones y los datos y decirle al procesador qué hacer con ellos. Dado que la CPU se considera el cerebro de la computadora, a veces se le conoce como el cerebro dentro del cerebro. Dependiendo de la arquitectura de las CPU, la unidad de control puede tener diversas tareas para realizar.
La unidad de control está compuesta de varios subcomponentes. Durante los días cableados, todo este cableado y circuitos formaron lo que se conoce como una máquina de estado finito, un sistema que tiene un propósito singular en dirigir las operaciones de la computadora. Los circuitos separados eran responsables de decodificar y codificar las instrucciones, mientras que otros manejaban la lógica o contaban las instrucciones en las que trabajaba la CPU. Todo sucedió en orden, donde los circuitos lógicos se voltearían de una forma u otra para dirigir las instrucciones al almacenamiento.
Una instrucción se obtiene y decodifica, y luego debe ejecutarse en orden, una tras otra hasta su finalización. En las CPU más antiguas, la instrucción tendría que pasar por todo el proceso y finalizar el cálculo antes de que comience la próxima. Para acelerar el procesamiento, las CPU modernas usan lo que se llama tuberías, donde cada paso es parte de la tubería. Mientras una instrucción se encuentra en la parte de ejecución de la canalización, otra ya está en la fase de decodificación y otra se está recuperando. Para manejar todo esto, la unidad de control también necesitaba desempeñar el papel de un multiplexor, ya que toma múltiples entradas o salidas y las dirige dentro y fuera de la tubería.
A medida que las CPU de las computadoras continuaron avanzando, gran parte de esto cambió dramáticamente. El uso de microcódigo, pequeños programas que se encuentran en una memoria especial de alta velocidad de solo lectura en la CPU, tomó el lugar de los viejos circuitos cableados. Estos programas de bajo nivel se encargaron del trabajo lento de volver a cablear físicamente una unidad de control y simplificaron los cambios en la arquitectura de la CPU. Los microprogramas personalizados de la unidad de control, creados durante la fase de diseño de la CPU, son los que permiten la arquitectura de un tipo particular de CPU.
En general, muchas de las responsabilidades de la unidad de control dependen de la arquitectura de la CPU. Algunos pueden simplemente buscar, decodificar, coordinar la ejecución y dirigir la salida de instrucciones. Otros pueden tener responsabilidades adicionales que implican traducción, lo que puede ralentizar la CPU. En estos casos, la unidad de control puede dividirse aún más en componentes concisos, como una unidad de programación separada o una unidad de retiro que se encarga de organizar y almacenar los resultados de la unidad de lógica rítmica (ALU).