ESTRUCTURA Y FUNCIONAMIENTO DE LA CPU
Enviado por jhon08 • 8 de Mayo de 2013 • 2.207 Palabras (9 Páginas) • 1.547 Visitas
ORGANIZACIÓN DEL PROCESADOR
Un procesador incluye registros visibles para el usuario y registros de control/estado. Los primeros pueden referenciarse, implícita o explícitamente en las instrucciones máquina.
Los registros de control y de estado se usan para controlar el funcionamiento de la CPU.
Los procesadores utilizan la segmentación de instrucciones para acelerar la ejecución. Las instrucciones se mueven a través de estas etapas.
Para comprender la organización de la CPU, consideremos los requisitos que debe hacer:
a) Captar instrucciones: la CPU lee instrucciones de la memoria
b) Interpretar instrucciones: lo codifica para tomar la acción necesaria
c) Captar datos: ejecución de la instrucción
d) Procesar datos
e) Escribir datos
ESTRUCTURA DE REGISTROS
Se dividen en dos tipos:
Registros visibles para el usuario: permiten al programador de lenguaje maquina o ensamblador, minimizar las referencias a memoria principal cuando optimiza el uso de los registros.
Un registro visible para un usuario es uno que puede ser referenciado por medio del lenguaje maquina que ejecuta la CPU. Se clasifican en la siguiente categoría:
a) Uso general
b) Datos
c) Direcciones
d) Códigos de condición
Los registros de uso general pueden ser asignados por el programador a diversas funciones. Es decir, cualquier registro de uso general puede contener el operando para cualquier código de operación.
En algunos casos, los registros de uso general pueden ser utilizados para funciones de direccionamiento (por ejemplo, indirecto por medio de registro, con desplazamiento).
Los registros de uso general pueden usarse únicamente para contener datos y no se pueden emplear en el cálculo de una dirección de operando.
Registros de control y de estado: son utilizados por la unidad de control para controlar el funcionamiento de la CPU. La mayoría de ellos en la mayoría de las maquinas, no son visibles para el usuario. Alguno de ellos pueden ser visibles a instrucciones ejecutadas en un modo de control o de sistema operativo.
Diferentes maquinas tendrán diferente organizaciones de registro y usaran distinta terminología. A continuación se mostrara una lista de tipos de registros con su descripción:
Son esenciales cuatro registros para la ejecución de una instrucción
*Contador de programa ( Program Counter, PC ) contiene la dirección de la instrucción a captar.
*Registro de instrucción (Instruction Register. IR ) contiene la instrucción captada mas recientemente.
*Registro de dirección de memoria (Memory Address Register. MAR ) contiene la dirección de una posición de memoria.
*Registro intermedio de memoria (Memory Buffer Register. MBR) contiene la palabra de datos a escribir en la memoria o la palabra leída más recientemente.
CICLO DE INSTRUCCIÓN
Un ciclo de instrucción (también llamado ciclo de fetch-and-execute o ciclo de fetch-decode-execute en inglés) es el período que tarda la unidad central de proceso (CPU) en ejecutar una instrucción de lenguaje máquina.
Comprende una secuencia de acciones determinada que debe llevar a cabo la CPU para ejecutar cada instrucción en un programa. Cada instrucción del juego de instrucciones de una CPU puede requerir diferente número de ciclos de instrucción para su ejecución. Un ciclo de instrucción está formado por uno o más ciclos máquina.
Para que cualquier sistema de proceso de datos basado en microprocesador (por ejemplo un ordenador) o microcontrolador (por ejemplo un reproductor de MP3) realice una tarea (programa) primero debe buscar cada instrucción en la memoria principal y luego ejecutarla.
Secuencia de acciones del ciclo de instrucción
Habitualmente son cuatro los eventos o pasos que se llevan a cabo en cada ciclo de instrucción, los cuales son:
Buscar la instrucción en la memoria principal
Se vuelca el valor del contador de programa sobre el bus de direcciones. Entonces la CPU pasa la instrucción de la memoria principal a través del bus de datos al Registro de Datos de Memoria(MDR). A continuación el valor del MDR es colocado en el Registro de Instrucción Actual (CIR), un circuito que guarda la instrucción temporalmente de manera que pueda ser decodificada y ejecutada.
Decodificar la instrucción
El decodificador de instrucción interpreta e implementa la instrucción. El registro de instrucción (IR) mantiene la instrucción en curso mientras el contador de programa (PC, program counter) guarda la dirección de memoria de la siguiente instrucción a ser ejecutada.
Recogida de datos desde la memoria principal
Se accede al banco de registros por los operandos (solo si es necesario)
Se calcula el valor del operando inmediato con extensión de signo (solo si es necesario)
También se lee la dirección efectiva de la memoria principal si la instrucción tiene una dirección indirecta, y se recogen los datos requeridos de la memoria principal para ser procesados y colocados en los registros de datos.
Ejecutar la instrucción
A partir del registro de instrucción, los datos que forman la instrucción son decodificados por la unidad de control. Ésta interpreta la información como una secuencia de señales de control que son enviadas a las unidades funcionales relevantes de la CPU para realizar la operación requerida por la instrucción.
Almacenar o guardar resultados
El resultado generado por la operación es almacenado en la memoria principal o enviado a un dispositivo de salida dependiendo de la instrucción. Basándose en los resultados de la operación, el contador de programa se incrementa para apuntar a la siguiente instrucción o se actualiza con una dirección diferente donde la próxima instrucción será recogida.
El ciclo de búsqueda
Los pasos 1 y 2 del ciclo de instrucción se conocen como ciclo de búsqueda (fetch). Estos pasos son idénticos en todas las instrucciones. El ciclo de búsqueda procesa la instrucción a partir de la palabra de instrucción, que contiene el código de operación y el operando.
El ciclo de ejecución
Los pasos 3 y 4 del ciclo de instrucción se conocen como ciclo de ejecución. Estos pasos cambiarán con cada tipo de instrucción.
El primer paso del ciclo de ejecución es el proceso de memoria, en que los datos se transfieren entre la CPU y el módulo de entrada/salida (I/O). A continuación se produce el proceso de datos, que usa operaciones matemáticas así como operaciones lógicas en referencia a los datos. Después tiene lugar el paso de alteraciones centrales, que
...