Estructura funcional de los ordenadores • Unidad de entrada • Unidad de salida • Memoria • Unidad aritmético-lógica • Unidad de control
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:
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
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
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
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
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
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
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
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
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
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
RPC (Read Program Counter)
LMA (Load Memory Address register)
REA (REAd from Memory)
FET (FETch memory data register)
LIR (Load Instruction Register)
IPC (Increment Program Counter)
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.
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
NOP (No OPeration)
LAC (Load ACumulator))
LAD (Load ADdress from instruction register)
LIA (Load Input A of arithmetic and logic unit)
LIB (Load Input B of arithmetic and logic unit)
LPC (Load Program Counter)
STO (STOre memory data register)
WRI (WRIte to memory)
Operación de la CPU Ejemplo: … .– De forma esquemática: .– El esquema completo se muestra a continuación:
Captación de FB0016:RPC
Captación de FB0016:LMA
Captación de FB0016:REA
Captación de FB0016:FET
Captación de FB0016:LIR
Captación de FB0016:IPC
Eje. de LD A,(F80016):LAD
Eje. de LD A,(F80016):LMA
Eje. de LD A,(F80016):REA
Esta presentación contiene mas diapositivas disponibles en la versión de descarga