- Unidad de control
-
La unidad de control (UC) es uno de los tres bloques funcionales principales en los que se divide una unidad central de procesamiento (CPU). Los otros dos bloques son la unidad de proceso y el bus de entrada/salida.
Su función es buscar las instrucciones en la memoria principal, decodificarlas (interpretación) y ejecutarlas, empleando para ello la unidad de proceso.
Existen dos tipos de unidades de control, las cableadas, usadas generalmente en máquinas sencillas, y las microprogramadas, propias de máquinas más complejas. En el primer caso, los componentes principales son el circuito de lógica secuencial, el de control de estado, el de lógica combinacional y el de emisión de reconocimiento de señales de control. En el segundo caso, la microprogramación de la unidad de control se encuentra almacenada en una micromemoria, a la cual se accede de manera secuencial para posteriormente ir ejecutando cada una de las microinstrucciones.
En computadoras, la unidad de control fue históricamente definida como una parte distinta del modelo de referencia de 1946 de la Arquitectura de von Neumann. En diseños modernos de computadores, la unidad de control es típicamente una parte interna del CPU.
Contenido
Operación general
Las salidas de la unidad de control se encargan de controlar la actividad del resto del dispositivo. Se puede pensar en una unidad de control como una máquina de estado finito.
La unidad de control es la circuitería que controla el flujo de datos a través del procesador, y coordina las actividades de las otras unidades dentro de él. De una manera, es el "cerebro dentro del cerebro", pues controla lo que sucede dentro del procesador, que a su vez controla el resto del PC.
Algunos ejemplos de dispositivos que requieren una unidad de control son los CPUs y los GPUs. La edad de la información moderna no sería posible sin diseños complejos de la unidad de control.
Control cableado
En un tiempo, las unidades de control para los CPU eran lógica ad hoc, y eran difíciles de diseñar. Éstas pueden identificarse como la parte principal del computador y del dispositivo principal que ayuda al computador a funcionar de una manera apropiada. Es construida de puertas lógicas, circuitos biestables, circuitos codificadores, circuitos decodificadores, contadores digitales y otros circuitos digitales. Su control está basado en una arquitectura fija, es decir, que requiere cambios en el cableado si el conjunto de instrucciones es modificado o cambiado. Esta arquitectura es preferida en los computadores RISC pues consiste en un conjunto de instrucciones más pequeño.
Las unidades de control cableado son implementadas por medio de unidades de lógica secuencial, ofreciendo un número finito de puertas que pueden actuar como generadores de resultados específicos, basada en las instrucciones que fueron usadas para invocar esas respuestas. Estas instrucciones son evidentes en el diseño de la arquitectura, pero también pueden ser representadas de otras maneras.
Unidad de control microprogramada
La idea de microprogramación fue introducida por M.V. Wilkes en 1951 como un nivel intermediario para ejecutar instrucciones de programa de computadora (ver también: microcódigo). Los microprogramas fueron organizados como una secuencia de microinstrucciones y almacenados en una memoria del control especial. El algoritmo para la unidad de control microprogramada es usualmente especificado por la descripción de un diagrama de flujo.[1] La ventaja principal de la unidad de control microprogramada es la simplicidad de su estructura. Las salidas del controlador son organizadas en microinstrucciones y pueden ser reemplazadas fácilmente.[2]
Funciones
Las funciones realizadas por la unidad de control varían grandemente por la arquitectura interna del CPU, pues la unidad de control realmente implementa esta arquitectura. En un procesador regular que ejecuta las instrucciones x86 nativamente, la unidad de control realiza las tareas de leer (fetch), decodificar, manejo de la ejecución y almacenamiento de los resultados. En un procesador x86 con un núcleo RISC, la unidad de control tiene considerablemente más trabajo que hacer.[cita requerida] Ella maneja la traducción de las instrucciones x86 a las microinstrucciones del RISC, maneja la planificación de las microinstrucciones entre las varias unidades de ejecución, y maneja la salida de estas unidades para cerciorarse de que terminen donde supuestamente deben ir. En uno de estos procesadores la unidad de control está dividida en otras unidades debido a la complejidad del trabajo que debe realizar (tales como una unidad de planificación para manejar la planificación y una unidad de retiro para ocuparse de los resultados que vienen de la tubería (pipe)). almecena los datos mas utilizados de modo que se buscan primero en la computadora y luego en la RAM
Componentes
- Registro de instrucción: Es el encargado de almacenar la instrucción que se está ejecutando.
- Registro contador de programas: Contiene la dirección de memoria de la siguiente instrucción a ejecutar
- Controlador y decodificador: Se encarga de interpretar la instrucción para su posterior proceso. Es el encargado de extraer el código de operación de la instrucción en curso.
- Secuenciador: Genera microórdenes necesarias para ejecutar la instrucción.
- Reloj: Proporciona una sucesión de impulsos eléctricos a intervalos constantes.
Véase también
- Microarquitectura
- Unidad central de procesamiento
- Microprocesador
- Unidad aritmético lógica
- Unidad de coma flotante
- Bus interface unit
- Unidad de gestión de memoria
- Unidad de proceso
- Unidad funcional
- Registro (hardware)
- Microcódigo
- Barrel shifter
- Arquitectura de computadoras
Referencias
- ↑ Barkalov, Alexander (2009). Logic synthesis for FSM based control units / Alexander Barkalov and Larysa Titarenko. Berlin: Springer. ISBN 978-3-642-04308-6.
- ↑ Wiśniewski, Remigiusz (2009). Synthesis of compositional microprogram control units for programmable devices. Zielona Góra: University of Zielona Góra. pp. 153. ISBN 978-83-7481-293-1.
Wikimedia foundation. 2010.