INFORMÁTICA
BÁSICA
1 Tema 6 Microprocesadores.
Introducción al funcionamiento
del microprocesador
CONTENIDO DEL CAPÍTULO
Introducción
Unidad de Control y Unidad Aritmético Lógica
Organización de los registros
Repertorio de instrucciones y ejecución
Importancia de una instrucción
Juego de instrucciones
Interrupciones
2
CONTENIDO DEL CAPÍTULO
Introducción
Unidad de Control y Unidad Aritmético Lógica
Organización de los registros
Repertorio de instrucciones y ejecución
Importancia de una instrucción
Juego de instrucciones
Interrupciones
3
MICROPROCESADOR: EL EJE CENTRAL
Micro-procesador: procesador
fabricado en un único circuito integrado
Unidad Central de Proceso:
Unidad de control (UC): gestiona el
funcionamiento de la CPU y por tanto del
computador.
Unidad aritmético-lógica (ALU): lleva a
cabo las funciones de procesamiento de
datos del computador.
Registros: almacenamiento interno.
Interconexiones CPU: Son mecanismos
que proporcionan comunicación entre la
unidad de control, la ALU y los registros.
Precisa de un reloj para coordinar todas
las operaciones
Abstracto:
Hace cálculos
Mueve datos
4
FUNCIONAMIENTO BÁSICO DEL MICROPROCESADOR
Existen dos estructuras básicas:
Estructura von Neumann:
La memoria principal comparte datos e instrucciones.
Es el paradigma más común en arquitectura de computadores.
5
FUNCIONAMIENTO BÁSICO DEL MICROPROCESADOR
Existen dos estructuras básicas:
Estructura Harvard:
Dispositivos de almacenamiento físicamente separados para
las instrucciones y para los datos
Suele utilizarse en DSPs, o procesador de señal digital, usados
habitualmente en productos para procesamiento de audio y
video.
6
FUNCIONAMIENTO BÁSICO DEL MICROPROCESADOR (2)
Entrada-
Memoria Salida
(E/S)
Bus del sistema
Bus de
datos
Bus de
direcciones
Bus de
control
7
CONTENIDO DEL CAPÍTULO
Introducción
Unidad de Control y Unidad Aritmético Lógica
Organización de los registros
Repertorio de instrucciones y ejecución
Importancia de una instrucción
Juego de instrucciones
Interrupciones
8
UNIDAD DE CONTROL
Realiza funciones organizativas (micro-
operaciones) con respecto a los elementos del
procesador para que participen en la ejecución de una
instrucción.
Una micro-operación corresponde a acciones como:
Mover datos dentro de la CPU,
Transferencia de un dato a un bus, etc.
Es IMPERIOSAMENTE necesario sincronizar estas
etapas:
Un ciclo de reloj es la unidad de tiempo atómica para la
ejecución de las operaciones dentro del procesador.
Las operaciones se realizan dentro del ciclo de reloj o en
múltiplos de estos ciclos de reloj. 9
UNIDAD DE CONTROL (2)
Entradas de una UC:
Reloj: marca con ciclos de reloj la ejecución de las
micro-operaciones.
Registro de Instrucción: contiene la instrucción
que determina las micro-operaciones a realizar.
Indicadores: determinan el estado del
microprocesador y resultados de operaciones
anteriores.
Señales de control del bus de control: p. ej: señales
de interrupción y de reconocimiento.
Salidas de una UC:
Señales de control internas al procesador
Señales de control hacia el bus de control: hay de dos
10
tipos, de memoria y de módulos de E/S.
UNIDAD DE CONTROL (3)
11
UNIDAD DE CONTROL (4)
La UC puede ser de dos tipos:
Cableada: diseñada específicamente sobre el silicio
para un juego de instrucciones concreto.
Microprogramada: es genérica o prediseñada e
implementan un juego de instrucciones u otro
dependiendo de un microprograma.
Hoy día la microprogramación ha desaparecido
prácticamente por completo:
Las unidades de control cableadas tienen un
rendimiento significativamente mayor.
Existen herramientas avanzadas para diseñar
complejas UCs con millones de transistores
12
litografiados. (VHDL)
UNIDAD ARITMÉTICO LÓGICA
Las operaciones se realizan siempre sobre algún
registro/memoria y apoyándose en el acumulador.
El resultado de las operaciones es almacenado en el
acumulador.
Algunas operaciones pueden activar la palabra de estado: flags /
indicadores.
Algunas operaciones aritméticas lógicas típicas:
Sumas, Restas
Desplazamiento a la izquierda/derecha (multiplicar / dividir por 2)
Incrementar o decrementar en 1 el acumulador
OR, AND, XOR, etc, entre un par de registros.
Adicionalmente, puede existir un co-procesador matemático
para implementar funciones más costosas, como la
multiplicación, división y tratamiento de coma flotante. 13
CONTENIDO DEL CAPÍTULO
Introducción
Unidad de Control y Unidad Aritmético Lógica
Organización de los registros
Repertorio de instrucciones y ejecución
Importancia de una instrucción
Juego de instrucciones
Modos de direccionamiento
Fases de ejecución de una instrucción
Tratamiento de interrupciones
14
ORGANIZACIÓN DE LOS REGISTROS
Registros visibles al usuario:
puede ser referenciado por medio del
lenguaje máquina que ejecuta la CPU.
De uso general.
De datos.
De direcciones.
De códigos de condición.
Registros de control y de estado:
controlan el funcionamiento de la
CPU. Ejemplos:
Contador de programa. (PC).
Registro de instrucción (IR).
Registro de dirección de memoria (MAR).
Registro de datos (o intermedio) de
memoria (MDR).
Palabra de estado del programa (PSW):
contiene información del contexto del
programa.
15
REGISTROS DE PROPÓSITO GENERAL
Ejemplo: El 8086 tenía sólo 4 registros para el
usuario. Además de ser accesibles, tenían
funcionalidades extra.
Registro AX: Registro acumulador.
Utilizado para operaciones que implican entrada/salida y la
mayor parte de la aritmética.
Registro BX: registro base.
Único registro de propósito general que puede ser un índice
para direccionamiento indexado.
Registro CX: registro contador.
Puede contener un valor para controlar el número de veces
que un ciclo se repite o un valor para desplazamiento de bits.
Registro DX: registro de datos. 16
Algunas operaciones de E/S requieren su uso.
REGISTROS
Cada programa tiene unos valores para los
registros no accesibles por el usuario.
Cada vez que el programa se está ejecutando, es
necesario volver a cargar estos registros.
Son necesarios para:
Saber en que parte de la Memoria Principal está el
programa.
Cuál es la siguiente instrucción a ejecutar.
Cuál es la siguiente instrucción que ha de traerse de
la memoria.
Etc.
17
ORGANIZACIÓN DE LOS REGISTROS (2)
Registro de dirección Registro de datos
Memoria
de memoria: Contiene Principal de memoria:
Dirección R/W
la dirección de la contiene el dato
localización de MP Dato/Instrucción leído o que se va a
hacia o desde la cual escribir de/en la
deben transferirse datos posición de
MAR MDR Memoria apuntada
Contador de
programa: apunta a la Control por MAR
siguiente dirección a PC R0 Palabra de estado:
traer de memoria Registros CY S Z P O conjunto de
IR de biestables
Registro de propósito indicadores o de
instrucción: contiene general ALU condición
la instrucción que se SP Rn
está ejecutando
CPU
Puntero de pila:
dirección de la 18
Registros de propósito general: guardan operandos,
cabecera de la pila direcciones, incrementos, etc. Ej: Acumulador.
CONTENIDO DEL CAPÍTULO
Introducción
Unidad de Control y Unidad Aritmético Lógica
Organización de los registros
Repertorio de instrucciones y ejecución
Importancia de una instrucción
Juego de instrucciones
Interrupciones
19
IMPORTANCIA DE UNA INSTRUCCIÓN
Dentro del computador la actividad se controla
por medio de instrucciones
Realizar una tarea almacenar en memoria un
programa (conjunto de instrucciones que operan
sobre unos datos).
Las instrucciones se traen de Memoria Principal
al procesador, donde se ejecutan.
Como operandos se utilizan datos almacenados
en Memoria Principal o en registros.
20
CONTENIDO DEL CAPÍTULO
Introducción
Unidad de Control y Unidad Aritmético Lógica
Organización de los registros
Repertorio de instrucciones y ejecución
Importancia de una instrucción
Juego de instrucciones
Interrupciones
21
JUEGO DE INSTRUCCIONES
Una instrucción es un patrón binario diseñado
dentro de un microprocesador para realizar una
función específica.
El grupo completo de instrucciones, llamado juego de
instrucciones, determina qué funciones puede
realizar el microprocesador.
Estas instrucciones se pueden clasificar en las
siguientes cinco categorías funcionales:
1. Trasferencia de datos
2. Realización de operaciones aritméticas
3. Realización de operaciones lógicas
4. Pruebas de condiciones y alteración de la secuencia del
programa
5. Operaciones de control 22
JUEGO DE INSTRUCCIONES (2)
El repertorio o juego de instrucciones debe ser:
Completo: debe permitir resolver cualquier problema.
Eficaz: los programas deben ser ejecutados en un tiempo
razonable.
Está relacionado con:
El número de registros disponibles.
El tamaño de los datos.
Los modos de direccionamiento (maneras de acceder a los
datos).
Clasificación de los computadores según su repertorio:
RISC: Reduced Instruction Set Computer (ej.: MIPS,
PowerPC).
CISC: Complex Instruction Set Computer (x86).
VLIW: Very Long Instruction Word (Itanium). 23
JUEGO DE INSTRUCCIONES (3)
El repertorio de instrucciones debe especificar:
Formato de las instrucciones: tamaño fijo, variable o híbrido.
Localización de operandos y resultado, junto con modos de
direccionamiento.
Tipos de datos y tamaños: Enteros y números en coma
flotante (IEEE 754).
Operaciones soportadas: lógicas, aritméticas, etc.
Mecanismos de bifurcación: instrucciones de salto, subrutinas,
etc.
Propiedades de las instrucciones:
Realizan una función única y sencilla.
Emplean un número fijo de operandos.
Su codificación binaria es bastante sistemática, o al menos es
recomendable que lo sea (con objeto de facilitar su
decodificación).
Son autocontenidas, es decir, contienen toda la información 24
necesaria para su ejecución:
JUEGO DE INSTRUCCIONES (4)
Formato de instrucción: representación en binario de la
misma.
Especifica el significado de cada uno de los bits que la
constituyen.
Longitud del formato de instrucción: número de bits que lo
componen.
La información contenida en el formato de la instrucción es:
Código de operación (COP).
Dirección de los operandos (OP1 y OP2).
Dirección del resultado (RES).
Dirección de la siguiente instrucción (casi siempre implícita).
Tipos de representación de los operandos (casi siempre implícitos
en el código de operación).
Modificador (MD): suele completar al COP, y sirve para
especificar ciertas particularidades de la instrucción:
Tamaño y tipo de los operandos.
A veces se usa para distinguir entre operaciones similares.
25
COP MD OP1 OP2 RES
CONTENIDO DEL CAPÍTULO
Introducción
Unidad de Control y Unidad Aritmético Lógica
Organización de los registros
Repertorio de instrucciones y ejecución
Importancia de una instrucción
Juego de instrucciones
Interrupciones
26
INTERRUPCIONES
Las interrupciones indican al procesador que hay algo
EXTERNO a la ejecución que ha ocurrido. Ejemplos:
Operaciones de E/S: se han leído datos del disco duro, se ha
pulsado una tecla.
fallos del sistema: una operación ha dado error…
¿Qué se hace?
1. Se guarda el estado del proceso
2. Se aplica la rutina asociada a la interrupción
3. Se vuelve al estado del proceso anterior
Las interrupciones permiten que se alternen procesos
en la CPU!
Si el proceso necesita un dato del disco duro, espera
“dormido” a que llegue. La interrupción notifica el fin de la
espera y la posibilidad de que el programa continúe donde 27
lo dejó.
INTERRUPCIONES
28
BIBLIOGRAFÍA
Alberto Prieto, Antonio Lloris y Juan Carlos
Torres. Introducción a la Informática. McGraw
Hill (2006). ISBN: 8448146247. Capítulos 5, 6 y 7.
Patterson y Hennessy. Estructura y Diseño de
Computadores. Reverte (2000). ISBN:
9788429126174 . Capítulos 2 y 4.
Murdocca y Heuring: Principios de Arquitectura
de Computadoras. Prentice Hall (2002). ISBN:
9879460693 : Capítulos 4 y 6.
29