Ciclos de instrucción
El ciclo de instrucción (también conocido como ciclo de búsqueda, decodificación y ejecución, o simplemente ciclo de búsqueda y ejecución) es el ciclo que sigue la unidad central de procesamiento (CPU) desde el arranque hasta que la computadora se apaga para procesar las instrucciones. . Se compone de tres etapas principales: la etapa de búsqueda, la etapa de decodificación y la etapa de ejecución.
Búsqueda (Fetch): la CPU lee el valor actual del Contador de Programa (PC), que indica la dirección de memoria donde se encuentra la siguiente instrucción a ejecutar. Luego, este valor se copia en el Registro de Dirección de Memoria (MAR) y se obtiene la instrucción de la memoria, que se almacena en el Registro de Datos de Memoria (MDR). Finalmente, la CPU actualiza el valor del PC para apuntar a la siguiente instrucción.
Decodificación (Decode): la CPU analiza la instrucción almacenada en el MDR para determinar qué operación realizar y qué datos utilizar. La instrucción se divide en campos específicos que contienen códigos de operación y operandos. La unidad de control de la CPU interpreta estos códigos de operación y envía señales a las unidades de la CPU para realizar la operación correspondiente.
Ejecución (Execute) : la CPU realiza la operación indicada por la instrucción decodificada. Esto podría implicar acceder a datos almacenados en la memoria, realizar cálculos matemáticos o lógicos utilizando la Unidad Lógica Aritmética (ALU), o escribir datos de vuelta en la memoria o en dispositivos de entrada / salida. El resultado de la operación se almacena en un registro temporal llamado Acumulador (o en otro registro específico para el tipo de operación realizada).
Segmentación es una técnica de manejo de memoria que divide la memoria en segmentos, cada uno con un tamaño y una función específicos. Cada segmento puede tener diferentes permisos de acceso y tamaños, lo que permite un mejor uso de la memoria. Esta técnica se utiliza para mejorar el rendimiento y la seguridad del sistema.
En la actualidad, la mayoría de las CPUs utilizan un modelo de memoria virtual en el que la segmentación se lleva a cabo de manera transparente al software. Esto significa que el software no tiene que preocuparse por la segmentación y puede acceder a la memoria de manera lineal como si no hubiera segmentación en absoluto.