Descargar

Ciclo de fetch

Enviado por Andres Fernandez


    edu.red Estructura funcional de los ordenadores • Unidad de entrada • Unidad de salida • Memoria • Unidad aritmético-lógica • Unidad de control

    edu.red Estructura funcional de los ordenadores La unidad aritmético-lógica (ALU) .– Contiene los circuitos electrónicos con los que se hacen las operaciones de tipo aritmético y de tipo lógico .– Incluye otros elementos auxiliares por donde se transmiten o almacenan temporalmente los datos (registros) con objeto de operar con ellos .– El símbolo para representar la ALU:

    edu.red Estructura funcional de los ordenadores La unidad de control .– El papel de la unidad de control es gestionar la ejecución de programas: .• Toma las instrucciones una después de otra, decodifica el código de instrucción y envía microinstrucciones a las otras unidades del sistema que participan en la ejecución .• Busca la siguiente instrucción y repite el proceso

    edu.red Estructura funcional de los ordenadores La unidad de control .– Para realizar esta tarea, la UC tiene un conjunto de componentes internos: .• Registro de instrucción: Memoriza temporalmente la instrucción del programa que la UC está ejecutando .• Secuenciador: Envía las microinstrucciones adecuadas al código de operación de la instrucción que se está ejecutando .• Registro de estado: Conjunto de biestables (flags) que almacenan información sobre la última operación realizada en la ALU (si hubo acarreo, si el resultado fue negativo o cero …) .• Contador de programa: Registro especializado que el sistema carga automáticamente al principio de la ejecución del programa con la dirección de memoria de la primera instrucción a ejecutar. Cada vez que se carga una instrucción en el registro de instrucción se incrementa el contador de programa

    edu.red Estructura funcional de los ordenadores Buses .– Los componentes de la CPU se comunican entre sí y con los componentes fuera de la CPU mediante cables que permiten la transferencia de datos binarios .– Conjunto de cables que transmite información en paralelo: Bus .– Bus de datos: .• Para transferir instrucciones o datos entre los componentes del sistema .• Dependiendo del número de cables que componen el bus se pueden transferir palabras de 8, 16, 32, 64 … bits en paralelo Ancho del bus .• Bus bidireccional

    edu.red Estructura funcional de los ordenadores Buses .– Los componentes de la CPU se comunican entre sí y con los componentes fuera de la CPU mediante cables que permiten la transferencia de datos binarios .– Conjunto de cables que transmite información en paralelo: Bus .– Bus de datos: .• Para transferir instrucciones o datos entre los componentes del sistema .• Dependiendo del número de cables que componen el bus se pueden transferir palabras de 8, 16, 32, 64 … bits en paralelo ?Ancho del bus .• Bus bidireccional

    edu.red Estructura funcional de los ordenadores Para un buen funcionamiento del conjunto procesador-memoria: .– Registro de dirección de memoria: Donde se almacena la dirección del dato o instrucción a leer o escribir .– Registro de memoria: Donde se almacena el dato a escribir en la memoria o la información leída de memoria

    edu.red

    edu.red El formato de las instrucciones Una instrucción es una operación elemental en un lenguaje de programación; la orden más pequeña que un programador puede dar a un ordenador .• Las instrucciones contienen dos tipos de información: .– Lo que tiene que hacer la instrucción (sumar, almacenar datos …) .– Con qué datos tiene que hacerlo

    edu.red El formato de las instrucciones Cuando la unidad de control recibe una instrucción envía una lista de órdenes a las unidades que toman parte en la ejecución de la instrucción: Microinstrucciones

    edu.red El formato de las instrucciones Fase de captación de la instrucción .– El programa en código máquina que hay que ejecutar se carga en memoria central .– Antes del comienzo de la ejecución del programa se carga el contador de programa con la dirección de la primera instrucción a ejecutar. Lo hace un programa del sistema operativo: Cargador .– El secuenciador genera las microinstrucciones necesarias para transferir la siguiente instrucción desde la memoria principal hasta la CPU para poder ejecutarla

    edu.red El formato de las instrucciones Fase de captación de la instrucción .– La secuencia de microinstrucciones es la siguiente: RPC?LMA?REA?FET?LIR?IPC RPC (Read Program Counter): (Program Counter) ? Address bus LMA (Load Memory Address register): (Address Bus) ? Memory address register REA (REAd from Memory): (Memory) ? Memory data register FET (FETch memory data register): (Memory data register) ? Data bus LIR (Load Instruction Register): (Data bus) ? Instruction Register IPC (Increment Program Counter): (Program counter) + 1 .– Que se repite cada vez que se ha terminado de ejecutar una instrucción

    edu.red El formato de las instrucciones Fase de captación de la instrucción .– La secuencia de microinstrucciones es la siguiente: RPC?LMA?REA?FET?LIR?IPC RPC (Read Program Counter): (Program Counter) ? Address bus LMA (Load Memory Address register): (Address Bus) ? Memory address register REA (REAd from Memory): (Memory) ? Memory data register FET (FETch memory data register): (Memory data register) ? Data bus LIR (Load Instruction Register): (Data bus) ? Instruction Register IPC (Increment Program Counter): (Program counter) + 1 .– Que se repite cada vez que se ha terminado de ejecutar una instrucción

    edu.red RPC (Read Program Counter)

    edu.red LMA (Load Memory Address register)

    edu.red REA (REAd from Memory)

    edu.red FET (FETch memory data register)

    edu.red LIR (Load Instruction Register)

    edu.red IPC (Increment Program Counter)

    edu.red Operación de la CPU Fase de ejecución de la instrucción .– Una vez cargada la instrucción en el registro de instrucciones: .• El decodificador transforma su código de operación en una serie de microinstrucciones. .• El secuenciador envía las microinstrucciones a los dispositivos y es ejecutada.

    edu.red Operación de la CPU Ejemplo: Sumar los números 8H y 4H almacenados en las posiciones de memoria F800H y F810H, y almacenar el resultado en la posición F820H .– Tres operaciones: .• Cargar el primer valor en el acumulador .• Sumar el segundo valor al acumulador (resultado en el acumulador) .• Almacenar el resultado en la posición especificada

    edu.red NOP (No OPeration)

    edu.red LAC (Load ACumulator))

    edu.red LAD (Load ADdress from instruction register)

    edu.red LIA (Load Input A of arithmetic and logic unit)

    edu.red LIB (Load Input B of arithmetic and logic unit)

    edu.red LPC (Load Program Counter)

    edu.red STO (STOre memory data register)

    edu.red WRI (WRIte to memory)

    edu.red Operación de la CPU Ejemplo: … .– De forma esquemática: .– El esquema completo se muestra a continuación:

    edu.red Captación de FB0016:RPC

    edu.red Captación de FB0016:LMA

    edu.red Captación de FB0016:REA

    edu.red Captación de FB0016:FET

    edu.red Captación de FB0016:LIR

    edu.red Captación de FB0016:IPC

    edu.red Eje. de LD A,(F80016):LAD

    edu.red Eje. de LD A,(F80016):LMA

    edu.red Eje. de LD A,(F80016):REA

    edu.red Esta presentación contiene mas diapositivas disponibles en la versión de descarga