Please enable JavaScript.
Coggle requires JavaScript to display documents.
Funcionamiento de la unidad de control - Coggle Diagram
Funcionamiento de la unidad de control
Ciclo de Ejecución :
Fetch (Buscar):
El ciclo de ejecución comienza con la etapa de fetch (buscar), donde el procesador lee la siguiente instrucción a ejecutar desde la memoria principal. :
Utiliza el contador de programa (PC) para obtener la dirección de memoria de la próxima instrucción.
La instrucción recuperada se coloca en un registro interno del procesador llamado "registro de instrucción".
Decode (Decodificar):
En la etapa de decodificación, el procesador interpreta la instrucción almacenada en el registro de instrucción.
Identifica el tipo de operación que la instrucción representa (como aritmética, lógica, transferencia de datos, control de flujo, etc.).
Decodifica los campos de la instrucción para determinar las ubicaciones de los operandos y otros detalles necesarios para la ejecución.
Execute (Ejecutar):
Una vez que la instrucción ha sido decodificada, pasa a la etapa de ejecución.
Aquí es donde se realiza la operación especificada por la instrucción.
Dependiendo del tipo de operación, el procesador puede realizar cálculos matemáticos, comparaciones, lecturas o escrituras en registros o memoria, entre otras acciones.
Memory Access (Acceso a Memoria) (en algunos procesadores):
Si la instrucción implica acceder a la memoria principal (por ejemplo, cargar o almacenar datos), esta etapa se utiliza para realizar dichas operaciones.
Los datos se leen desde la memoria o se escriben en ella según lo requerido por la instrucción.
Write Back (Escribir Resultados)
La última etapa del ciclo de ejecución es la escritura de resultados.
Después de que se ha completado la ejecución de la instrucción y, si es necesario, el acceso a memoria, los resultados finales se escriben de vuelta en registros del procesador o en la memoria principal.
Los resultados pueden ser almacenados para su uso posterior por instrucciones subsiguientes.
Ciclo Indirecto
Acceso Dinámico a Direcciones de Memoria: El ciclo indirecto permite que las instrucciones accedan a direcciones de memoria cuyos valores no son conocidos estáticamente, sino que se determinan durante la ejecución del programa.
Flexibilidad en la Ejecución de Instrucciones: La capacidad de resolver direcciones de memoria en tiempo de ejecución proporciona flexibilidad al procesador para adaptarse a situaciones donde las direcciones dependen de resultados previos o condiciones cambiantes.
Manejo de Instrucciones de Salto y Condiciones: La unidad de control debe ser capaz de evaluar condiciones y determinar la próxima instrucción a ejecutar, especialmente en casos de saltos condicionales donde la dirección de la siguiente instrucción puede variar.
Uso de Registros o Cálculos: Para resolver direcciones de memoria indirectas, la unidad de control puede acceder a registros específicos que contienen direcciones o realizar cálculos basados en datos previos para determinar las ubicaciones de memoria necesarias.
Optimización del Rendimiento: El ciclo indirecto permite optimizar el rendimiento al permitir que las instrucciones se ejecuten de manera eficiente sin la necesidad de conocer todas las direcciones de memoria de antemano.
Ciclo de Interrupción
El ciclo de interrupción es un proceso fundamental en los sistemas informáticos que permite manejar eventos externos o internos que requieren atención inmediata del procesador. Cuando ocurre una interrupción, el procesador guarda su estado actual, incluido el contador de programa (PC), salta a una rutina de manejo de interrupción específica y ejecuta las acciones necesarias para responder a la causa de la interrupción. .
Una vez completada la rutina de manejo, se restaura el estado anterior y el procesador continúa la ejecución del programa principal. Este ciclo garantiza que el sistema pueda responder eficazmente a eventos como interacciones con dispositivos de hardware, temporizadores o solicitudes de servicios, sin interrumpir la ejecución normal del software
Ciclo de Captación
Lectura de la Instrucción
La dirección de memoria del siguiente byte de la instrucción se lee desde el Program Counter
Acceso a Memoria:
La CPU envía esta dirección al sistema de memoria para recuperar la instrucción almacenada en esa ubicación de memoria.
incremento del Contador de Programa
Después de leer la instrucción, el PC se incrementa para apuntar a la siguiente instrucción en secuencia.
Definicion y Funcion de la unidad de control: La unidad de control (UC) es un componente clave de la CPU que se encarga de coordinar y controlar el flujo de datos a través del procesador.
Tipos de Unidades de Control: las cableadas y las microprogramadas
Cableadas: Las unidades de control cableadas se utilizan generalmente en máquinas sencillas y están compuestas por un circuito de lógica secuencial, un circuito de control de estado, un circuito de lógica combinacional y un circuito de emisión de reconocimiento de señales de control.
Microprogramadas: se utilizan en máquinas más complejas y su microprogramación se encuentra almacenada en una micromemoria a la cual se accede de manera secuencial para ejecutar cada microinstrucción.
Componentes de la UC: como el registro de instrucción, que almacena la instrucción que se está ejecutando, y el registro contador de programas, que contiene en cada momento la dirección de memoria donde se encuentra la instrucción siguiente a ejecutar.
Otras funciones: La unidad de control también controla la secuencia en que se ejecutan las instrucciones, controla el acceso del procesador a la memoria principal, regula las temporizaciones de todas las operaciones que ejecuta la CPU, envía señales de control y recibe señales de estado del resto de las unidades.
Registros que utiliza la unidad de control:
Registro de Datos de memoria. Su función es guardar los datos mientras se realizan las operaciones de escritura o de lectura.
Registro de Direcciones de memoria. Su función es guardar las direcciones donde se va a escribir o de donde se van a leer los datos. Su contenido está siempre disponible en la salida, sobre el bus de direcciones.
Registro de Instrucción. Su función es guardar la instrucción actual.
Registro Contador. Su función es guardar la dirección de la instrucción que se va a ejecutar a continuación. Cuando se ejecute esta instrucción, el contenido del registro contador se graba con la dirección de la instrucción que queda en turno para ejecución.
Evolucion de la unidad de control: Eniac (1946): El ENIAC fue uno de los primeros ordenadores electrónicos de propósito general. Su unidad de control estaba compuesta por una serie de paneles de control con interruptores y cables. Los operadores debían configurar manualmente los interruptores para establecer la secuencia de instrucciones y controlar el flujo de datos.
IBM 360 (1964): La serie de ordenadores IBM 360 introdujo una unidad de control más avanzada. Estos sistemas utilizaban microcódigo, que era un conjunto de instrucciones almacenado en memoria ROM dentro de la unidad de control. El microcódigo controlaba la ejecución de las instrucciones almacenadas en la memoria principal del sistema.
Evolucion de la unidad de control en computadoras
Intel 4004 (1971): El Intel 4004 fue uno de los primeros microprocesadores comerciales. Contenía una unidad de control en un solo chip junto con la unidad de procesamiento y la memoria. Esta integración permitió la ejecución de instrucciones almacenadas en la memoria y marcó el comienzo de la era de los microcontroladores.
Intel Pentium (1993): El procesador Intel Pentium fue uno de los primeros en utilizar técnicas de ejecución especulativa y predicción de saltos. Estas características mejoraron el rendimiento al permitir que la unidad de control especule sobre el flujo de instrucciones y ejecute instrucciones en paralelo.
Procesadores modernos (desde 2000): Los procesadores modernos, como los de la serie Intel Core o los procesadores AMD Ryzen, han avanzado en términos de arquitectura de la unidad de control. Estos procesadores utilizan técnicas más sofisticadas, como la ejecución fuera de orden, la predicción de ramas avanzada y múltiples unidades de control, para mejorar el rendimiento y la eficiencia energética.
Arquitecturas de unidades de control: Existen diferentes arquitecturas utilizadas en las unidades de control, como la arquitectura de von Neumann y la arquitectura de Harvard. La arquitectura de von Neumann utiliza una memoria compartida para almacenar tanto los datos como las instrucciones del programa, mientras que la arquitectura de Harvard utiliza memorias separadas para almacenar datos e instrucciones.
Unidades de control en sistemas embebidos: En sistemas embebidos, las unidades de control son responsables de coordinar y controlar las operaciones del sistema. Estos sistemas se encuentran en una amplia variedad de dispositivos, como sistemas de control industrial, sistemas de navegación de vehículos y dispositivos médicos.
Unidades de control en inteligencia artificial: En el campo de la inteligencia artificial, las unidades de control desempeñan un papel crucial en los sistemas de aprendizaje automático y en las redes neuronales. Estas unidades de control se encargan de gestionar la ejecución de los algoritmos de aprendizaje y de controlar la propagación de los datos a través de las redes neuronales.