330 likes | 660 Views
Presentación sobre ejecuciones del procesador
E N D
COMPONENTES DE UNA CPU. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL
COMPONENTES DE UNA CPU. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL DECODIFICADOR DEINSTRUCCIONES UNIDAD ARITMETICO LOGICA REGISTRO DE ESTADO DECODIFICADOR DEDIRECCIONES CONTADOR DE PROGRAMA REGISTRO DE DIRECCIONES DE MEMORIA REGISTRO ACUMULADOR REGISTRO DE INSTRUCCIONES
EJECUCION DE UNA INSTRUCCIÓN 1º FASE DE BUSQUEDA E INTERPRETACION. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL DECODIFICADOR DEINSTRUCCIONES UNIDAD ARITMETICO LOGICA REGISTRO DE ESTADO DECODIFICADOR DEDIRECCIONES CONTADOR DE PROGRAMA REGISTRO DE DIRECCIONES DE MEMORIA REGISTRO ACUMULADOR REGISTRO DE INSTRUCCIONES La instrucción a ejecutar se encuentra en la memoria del sistema. En el registro contador de programa se encuentra la dirección a la que hay que acceder.
EJECUCION DE UNA INSTRUCCIÓN 1º FASE DE BUSQUEDA E INTERPRETACION. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL DECODIFICADOR DEINSTRUCCIONES UNIDAD ARITMETICO LOGICA REGISTRO DE ESTADO DECODIFICADOR DEDIRECCIONES 10010010 10001000 01001001 REGISTRO DE DIRECCIONES DE MEMORIA REGISTRO ACUMULADOR REGISTRO DE INSTRUCCIONES Esa dirección de memoria esta codificada, se la mandamos al Decodificador de Direcciones para que la descodifique.
EJECUCION DE UNA INSTRUCCIÓN 1º FASE DE BUSQUEDA E INTERPRETACION. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL DECODIFICADOR DEINSTRUCCIONES UNIDAD ARITMETICO LOGICA REGISTRO DE ESTADO 100100101000100001001001 10010010 10001000 01001001 REGISTRO DE DIRECCIONES DE MEMORIA REGISTRO ACUMULADOR REGISTRO DE INSTRUCCIONES El decodificador de direcciones, traduce la dirección que se le ha pasado, y encuentra cual es la dirección correcta de memoria a la que hay que acceder.
EJECUCION DE UNA INSTRUCCIÓN 1º FASE DE BUSQUEDA E INTERPRETACION. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL DECODIFICADOR DEINSTRUCCIONES UNIDAD ARITMETICO LOGICA REGISTRO DE ESTADO H231-FC9A . CONTADOR DE PROGRAMA REGISTRO DE DIRECCIONES DE MEMORIA REGISTRO ACUMULADOR REGISTRO DE INSTRUCCIONES Una vez decodificada la dirección, se mueve al registro de direcciones de memoria.
EJECUCION DE UNA INSTRUCCIÓN 1º FASE DE BUSQUEDA E INTERPRETACION. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL DECODIFICADOR DEINSTRUCCIONES UNIDAD ARITMETICO LOGICA REGISTRO DE ESTADO DECODIFICADOR DE DIRECCIONES CONTADOR DE PROGRAMA H231-FC9A . REGISTRO ACUMULADOR REGISTRO DE INSTRUCCIONES Cuando la verdadera dirección esta en el registro de direcciones de memoria, ya estamos preparados para acceder a la memoria y recuperar la instrucción.
EJECUCION DE UNA INSTRUCCIÓN 1º FASE DE BUSQUEDA E INTERPRETACION. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL DECODIFICADOR DE INSTRUCCIONES UNIDAD ARITMETICO LOGICA REGISTRO DE ESTADO DECODIFICADOR DE DIRECCIONES CONTADOR DE PROGRAMA REGISTRO DE DIRECCIONES DE MEMORIA REGISTRO ACUMULADOR REGISTRO DE INSTRUCCIONES Accedemos a la memoria, leemos la instrucción que tenemos que ejecutar y la guardamos en el Registro de Instrucciones.
EJECUCION DE UNA INSTRUCCIÓN 1º FASE DE BUSQUEDA E INTERPRETACION. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL DECODIFICADOR DE INSTRUCCIONES UNIDAD ARITMETICO LOGICA REGISTRO DE ESTADO DECODIFICADOR DE DIRECCIONES CONTADOR DE PROGRAMA REGISTRO DE DIRECCIONES DE MEMORIA REGISTRO ACUMULADOR INSTRUCCIÓN . En el registro de instrucciones tenemos almacenada la instrucción a ejecutar. (Ejemplo, suma dirección A con dirección B y deja resultado en dirección C).
EJECUCION DE UNA INSTRUCCIÓN 1º FASE DE BUSQUEDA E INTERPRETACION. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL DECODIFICADOR DE INSTRUCCIONES UNIDAD ARITMETICO LOGICA REGISTRO DE ESTADO DECODIFICADOR DE DIRECCIONES CONTADOR DE PROGRAMA REGISTRO DE DIRECCIONES DE MEMORIA REGISTRO ACUMULADOR INSTRUCCIÓN . Pasamos la instrucción del registro de instrucciones al decodificador de instrucciones, para poder descodificarla.
EJECUCION DE UNA INSTRUCCIÓN 1º FASE DE BUSQUEDA E INTERPRETACION. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL INSTRUCCIÓN . UNIDAD ARITMETICO LOGICA REGISTRO DE ESTADO DECODIFICADOR DE DIRECCIONES CONTADOR DE PROGRAMA REGISTRO DE DIRECCIONES DE MEMORIA REGISTRO ACUMULADOR REGISTRO DE INSTRUCCIONES. El decodificador decodifica la instrucción, y lo deja todo preparado para ejecutarla.
EJECUCION DE UNA INSTRUCCIÓN 1º FASE DE BUSQUEDA E INTERPRETACION. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL INSTRUCCIÓN . UNIDAD ARITMETICO LOGICA REGISTRO DE ESTADO DECODIFICADOR DE DIRECCIONES + 1 REGISTRO DE DIRECCIONES DE MEMORIA REGISTRO ACUMULADOR REGISTRO DE INSTRUCCIONES. Le sumamos uno al registro contador de programa, con lo cual apuntará a la próxima instrucción a ejecutar (Se almacenan en memoria de forma secuencial).
EJECUCION DE UNA INSTRUCCIÓN 1º FASE DE BUSQUEDA E INTERPRETACION. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL DECODIFICADOR DEINSTRUCCIONES UNIDAD ARITMETICO LOGICA REGISTRO DE ESTADO DECODIFICADOR DEDIRECCIONES CONTADOR DE PROGRAMA REGISTRO DE DIRECCIONES DE MEMORIA REGISTRO ACUMULADOR REGISTRO DE INSTRUCCIONES Con esto acabamos la 1ª fase de búsqueda e interpretación. Pasamos a la segunda fase, conocida como fase de ejecución.
EJECUCION DE UNA INSTRUCCIÓN 2º FASE DE EJECUCION. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL DECODIFICADOR DEINSTRUCCIONES UNIDAD ARITMETICO LOGICA REGISTRO DE ESTADO DECODIFICADOR DEDIRECCIONES CONTADOR DE PROGRAMA REGISTRO DE DIRECCIONES DE MEMORIA REGISTRO ACUMULADOR REGISTRO DE INSTRUCCIONES Al decodificar la instrucción, nos habremos encontrado posiblemente con una acción a realizar, y unos operandos involucrados en la acción. (C=A+B)
EJECUCION DE UNA INSTRUCCIÓN 2º FASE DE EJECUCION. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL DECODIFICADOR DEINSTRUCCIONES UNIDAD ARITMETICO LOGICA REGISTRO DE ESTADO DECODIFICADOR DEDIRECCIONES CONTADOR DE PROGRAMA REGISTRO DE DIRECCIONES DE MEMORIA REGISTRO ACUMULADOR REGISTRO DE INSTRUCCIONES En nuestro ejemplo, la acción a realizar es una SUMA y los operandos involucrados son A, B, y C. (que representan direcciones de memoria).
MEMORIA DEL SISTEMA B A C La memoria del sistema es un gran conjunto de palabras o celdas, cada una de ellas con una dirección y un contenido. En nuestro ejemplo, estas tres casillas cuyas direcciones son A, B y C han de ser leídas por nuestra CPU.
MEMORIA DEL SISTEMA 10 B 12 A 0 C Así, A B y C son direcciones de unas celdas o palabras de memoria, y en cada una de dichas celdas habrá un dato.
EJECUCION DE UNA INSTRUCCIÓN 2º FASE DE EJECUCION. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL DECODIFICADOR DEINSTRUCCIONES UNIDAD ARITMETICO LOGICA REGISTRO DE ESTADO DECODIFICADOR DEDIRECCIONES CONTADOR DE PROGRAMA REGISTRO DE DIRECCIONES DE MEMORIA REGISTRO ACUMULADOR REGISTRO DE INSTRUCCIONES El decodificador de instrucciones sabe que hay que leer de memoria las direcciones A y B. ¿Podrá directamente la CPU leer el contenido de A y B?
EJECUCION DE UNA INSTRUCCIÓN 2º FASE DE EJECUCION. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL DECODIFICADOR DEINSTRUCCIONES UNIDAD ARITMETICO LOGICA REGISTRO DE ESTADO DECODIFICADOR DEDIRECCIONES CONTADOR DE PROGRAMA REGISTRO DE DIRECCIONES DE MEMORIA REGISTRO ACUMULADOR REGISTRO DE INSTRUCCIONES Obviamente no. A es una dirección de memoria codificada, para poder leerla, hay que pasar esa dirección al decodificador de direcciones, como hicimos antes.
EJECUCION DE UNA INSTRUCCIÓN 2º FASE DE EJECUCION. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL DECODIFICADOR DEINSTRUCCIONES UNIDAD ARITMETICO LOGICA REGISTRO DE ESTADO DIRECCION DE A CONTADOR DE PROGRAMA REGISTRO DE DIRECCIONES DE MEMORIA REGISTRO ACUMULADOR REGISTRO DE INSTRUCCIONES Una vez que tenemos en el decodificar de direcciones, la dirección de A, la decodificamos y guardamos la dirección real de A en el MAR (Reg.dir.memoria).
EJECUCION DE UNA INSTRUCCIÓN 2º FASE DE EJECUCION. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL DECODIFICADOR DEINSTRUCCIONES UNIDAD ARITMETICO LOGICA REGISTRO DE ESTADO DECOFICADOR DE DIRECCIONES 12 CONTADOR DE PROGRAMA DIRECCION EN MEMORIA DE LA POSICION A REGISTRO ACUMULADOR REGISTRO DE INSTRUCCIONES En el MAR ya tenemos la dirección de A, pasamos a leer de la memoria el contenido de A (12) y lo guardamos en un registro de la Unidad de Tratamiento.
EJECUCION DE UNA INSTRUCCIÓN 2º FASE DE EJECUCION. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL DECODIFICADOR DEINSTRUCCIONES UNIDAD ARITMETICO LOGICA REGISTRO DE ESTADO DECOFICADOR DE DIRECCIONES 12 CONTADOR DE PROGRAMA REGISTRO DE DIRECCIONES DE MEMORIA REGISTRO ACUMULADOR REGISTRO DE INSTRUCCIONES 10 Repetimos los pasos anteriores para leer la dirección de memoria B.
EJECUCION DE UNA INSTRUCCIÓN 2º FASE DE EJECUCION. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL DECODIFICADOR DEINSTRUCCIONES UNIDAD ARITMETICO LOGICA REGISTRO DE ESTADO DECOFICADOR DE DIRECCIONES 12 CONTADOR DE PROGRAMA REGISTRO DE DIRECCIONES DE MEMORIA REGISTRO ACUMULADOR REGISTRO DE INSTRUCCIONES 10 Ahora el decodificador de instrucciones, indica que hay que SUMAR, por lo que manda la orden pertinente a la Unidad Aritmético Lógica.
EJECUCION DE UNA INSTRUCCIÓN 2º FASE DE EJECUCION. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL DECODIFICADOR DEINSTRUCCIONES UNIDAD ARITMETICO LOGICA + REGISTRO DE ESTADO 22 DECOFICADOR DE DIRECCIONES 12 CONTADOR DE PROGRAMA REGISTRO DE DIRECCIONES DE MEMORIA REGISTRO ACUMULADOR REGISTRO DE INSTRUCCIONES 10 La UAL sigue las ordenes de la unidad de control, y SUMA los contenidos de ambos registros.
EJECUCION DE UNA INSTRUCCIÓN 2º FASE DE EJECUCION. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL DECODIFICADOR DEINSTRUCCIONES UNIDAD ARITMETICO LOGICA 22 REGISTRO DE ESTADO DECOFICADOR DE DIRECCIONES CONTADOR DE PROGRAMA REGISTRO DE DIRECCIONES DE MEMORIA REGISTRO ACUMULADOR REGISTRO DE INSTRUCCIONES La UAL guarda el resultado de la operación realizada en el Registro Acumulador.
EJECUCION DE UNA INSTRUCCIÓN 2º FASE DE EJECUCION. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL DECODIFICADOR DEINSTRUCCIONES UNIDAD ARITMETICO LOGICA REGISTRO DE ESTADO DECOFICADOR DE DIRECCIONES CONTADOR DE PROGRAMA REGISTRO DE DIRECCIONES DE MEMORIA REGISTRO ACUMULADOR 22 REGISTRO DE INSTRUCCIONES El decodificador de instrucciones sigue procesando la instrucción C=A+B. Como A+B esta ahora en el registro acumulador, debe mover su contenido a C.
EJECUCION DE UNA INSTRUCCIÓN 2º FASE DE EJECUCION. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL DECODIFICADOR DEINSTRUCCIONES UNIDAD ARITMETICO LOGICA REGISTRO DE ESTADO DECOFICADOR DE DIRECCIONES CONTADOR DE PROGRAMA REGISTRO DE DIRECCIONES DE MEMORIA REGISTRO ACUMULADOR REGISTRO DE INSTRUCCIONES Repetimos los pasos anteriores para leer la dirección de memoria C.
EJECUCION DE UNA INSTRUCCIÓN 2º FASE DE EJECUCION. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL DECODIFICADOR DEINSTRUCCIONES UNIDAD ARITMETICO LOGICA REGISTRO DE ESTADO DECOFICADOR DE DIRECCIONES CONTADOR DE PROGRAMA REGISTRO DE DIRECCIONES DE MEMORIA REGISTRO ACUMULADOR REGISTRO DE INSTRUCCIONES Ya conocemos la dirección en memoria de C. Así que pasamos los datos del registro acumulador a esa dirección.
MEMORIA DEL SISTEMA 10 B 12 A 22 C Conseguimos por tanto, introducir en la celda C, el contenido de sumar las celdas A y B.
EJECUCION DE UNA INSTRUCCIÓN 2º FASE DE EJECUCION. UNIDAD DE TRATAMIENTO UNIDAD DE CONTROL DECODIFICADOR DEINSTRUCCIONES UNIDAD ARITMETICO LOGICA REGISTRO DE ESTADO DECOFICADOR DE DIRECCIONES CONTADOR DE PROGRAMA REGISTRO DE DIRECCIONES DE MEMORIA REGISTRO ACUMULADOR REGISTRO DE INSTRUCCIONES Hasta aquí el concepto de ejecución de una instrucción. Espero que no os hayais perdido demasiado.