Download - Micro Pro Ces Adores 1
-
8/18/2019 Micro Pro Ces Adores 1
1/55
G. R. Ocaña 1
MICROPROCESADORESMICROPROCESADORES
1. Microprocesadores
Gabriel Ricardo OcaGabriel Ricardo Oca ñ ñ a Fuertes a Fuertes
Departamento de Arquitectura y Tecnolog Departamento de Arquitectura y Tecnologí í a de Computadores a de Computadores
y Ciencia de la Computaci y Ciencia de la Computaci ó ó n e Inteligencia Artificial n e Inteligencia Artificial
Universidad Rey Juan Carlos
-
8/18/2019 Micro Pro Ces Adores 1
2/55
G. R. Ocaña 2
1. Microprocesadores
1.1 Estructura de un computador: ideas básicas
1.2 Concepto de microprocesador
1.3 Componentes básicos de un microprocesador 1.3.1 Unidad de control
1.3.2 Registros1.3.3 UAL1.3.4 Coprocesador matemático
1.3.5 Memoria caché1.4 El bus y los ciclos de bus1.5 Repertorio de instrucciones y modos de
direccionamiento de un microprocesador
-
8/18/2019 Micro Pro Ces Adores 1
3/55
G. R. Ocaña 3
1.1 Estructura de un computador:ideas básicas
• Un computador es una máquina destinada a procesar
información (datos).• Sobre ellos se aplican unas instrucciones obteniendo
después unos resultados.
• Procesar información: Fases de transformación y/o
manipulación que sufre la información para resolver un problema determinado.
DATOS RESULTADOS
INSTRUCCIONES(manipulan los datos)
UCP
-
8/18/2019 Micro Pro Ces Adores 1
4/55G. R. Ocaña 4
• Estructura básica de un computador:
REGISTROS
UNIDAD CENTRAL DE PROCESO
MEMORIAPRINCIPAL
UNIDAD DE CONTROL
UAL DATOS+
INSTRUCCIONES
BUS DEL SISTEMA
UNIDAD DE ENTRADA/SALIDA DEL SISTEMAUNIDAD DE ENTRADA/SALIDA
PERIFÉRICOS(teclado, monitor, ratón, disco, lector dvd, impresora, modem, pendrive,....)
-
8/18/2019 Micro Pro Ces Adores 1
5/55G. R. Ocaña 5
• Memoria principal: En ella se almacenan los datos e
instrucciones necesarios para ejecutar los programas. – Cada posición de memoria tiene asociada una dirección.
• Unidad Central de Proceso: En ella se ejecutan las
instrucciones que se leen de la memoria. Tiene 3 elementos principales:
Unidad de Control: Lee y ejecuta las instrucciones.
Unidad Aritmético-Lógica (UAL): Realiza operacionesaritméticas y lógicas.
Banco de registros: Almacenan datos e instrucciones
temporalmente.• Unidad de Entrada/Salida: Permiten la comunicación entre
el computador y los periféricos.
• Bus del sistema: Mecanismo de comunicación entre loscomponentes del computador.
-
8/18/2019 Micro Pro Ces Adores 1
6/55G. R. Ocaña 6
1.2 Concepto de microprocesador
• Microprocesador: – Circuito integrado formado por millones de transistores.
– Se encarga de la búsqueda de la instrucción en curso, de sudecodificación, de la búsqueda de los operandos, de la ejecución
aritmética/lógica que implica la instrucción, y delalmacenamiento de los resultados.
– Microprocesador + memoria + módulos E/S Computador
– Arquitectura interna: Unidad Central de Proceso (CPU)(procesador) = Unidad de Control + Camino de datos(interpreta la intrucción) (ejecuta la instrucción)
– Arquitectura abierta: el computador que implementa es
configurable por el usuario y puede realizar diversas tareas.
-
8/18/2019 Micro Pro Ces Adores 1
7/55G. R. Ocaña 7
• Estructura de un sistema computador basado en unmicroprocesador:
-
8/18/2019 Micro Pro Ces Adores 1
8/55G. R. Ocaña 8
• Microcontrolador: – Circuito integrado programable. – Contiene todos los componentes de un computador .
– Arquitectura interna: Unidad Central de Proceso (CPU) +Memoria + Módulos E/S + Recursos auxiliares
– Arquitectura cerrada: el computador que implementa no esconfigurable por el usuario. Es un sistema cerrado que contiene
un computador completo y se destina a realizar una sola tarea(en la memoria sólo reside el programa concreto).
– Suele ir incrustrado o embebido en el propio dispositivo o
sistema que controla (ej. electrodomésticos, coches (control delmotor, sistema de frenos, climatización,...)).
-
8/18/2019 Micro Pro Ces Adores 1
9/55G. R. Ocaña 9
• Bloques que contiene un microcontrolador:
-
8/18/2019 Micro Pro Ces Adores 1
10/55
G. R. Ocaña 10
1.3 Componentes básicos de unmicroprocesador
• Componentes de la arquitectura básica de un microprocesador:1) Unidad de control.
2) Registros.3) UAL.
• Componentes incorporados a la arquitectura de un microprocesador:4) Coprocesador matemático.5) Memoria caché.
REGISTROS
UNIDAD DE CONTROL
UAL COPROCESADORMATEMÁTICO
MEMORIA
CACHÉ
-
8/18/2019 Micro Pro Ces Adores 1
11/55
G. R. Ocaña 11
1.3.1 Unidad de control
• La unidad de control lee y ejecuta las instrucciones:
– 1) Lee de memoria principal la instrucción apuntada por el CP.
– 2) Incrementa el CP. – 3) Decodifica la instrucción.
– 4) Hace que se ejecute la instrucción.
• Además:
– Resuelve situaciones anómalas o de conflicto.
– Atiende las interrupciones.
– Controla la comunicación con los periféricos.
-
8/18/2019 Micro Pro Ces Adores 1
12/55
G. R. Ocaña 12
• Para ello, utiliza la siguiente información:
– Instrucción en ejecución: el código de operación indica quéoperación se debe realizar y cuáles son los modos dedireccionamiento.
– Registro de estado: contiene información sobre determinadascondiciones de los resultados de las operaciones (ej. resultado0, signo del resultado,…), así como, posibles situacionesanómalas o especiales (desbordamientos aritméticos,
interrupciones, errores de paridad,…) – Contador de períodos (accionado por un reloj): para
diferenciar los correspondientes períodos y fases de las
instrucciones, necesarios para realizar sus operacioneselementales. – Señales de control y estado externas a la UCP (ej. señales de
E/S para diálogo con periféricos).
-
8/18/2019 Micro Pro Ces Adores 1
13/55
G. R. Ocaña 13
Ejecución de
instrucción
Secuencia de
operacioneselementales
Secuencia de señales
de control por cadaoperación elemental
• Operaciones elementales:
(- lectura del operando
- incremento del contador de programa- ejecución de una operación aritmética,….)
El objetivo de la unidad de control es la generación de lassecuencias de señales de control que permitan realizar lasdistintas operaciones elementales de cada instrucción.
-
8/18/2019 Micro Pro Ces Adores 1
14/55
G. R. Ocaña 14
• Los computadores tienen un funcionamiento síncrono gobernado
por un oscilador o reloj general (Período o ciclo de reloj).• Fases de ejecución de una instrucción: – Lectura de la instrucción (fetch). – Lectura de los operandos y decodificación de la instrucción. – Ejecución de la operación. – Almacenamiento del resultado.
• Cada fase requiere uno o varios períodos para su ejecución.
• Temporización de las señales de control.
-
8/18/2019 Micro Pro Ces Adores 1
15/55
G. R. Ocaña 15
• Clasificación de operaciones elementales:
a) Operaciones de transferencia:- Elemento de almacenamiento (ej. registros) origen- Elemento de almacenamiento destino
- Se establece un caminoPrimero se establece un camino físico entre la salida del origen y la
entrada del destino, y luego, se envía una señal al destino para que secargue con la información que tiene a su entrada.
b) Operaciones de proceso:- Elemento/s origen
- Operación que transforma la información en su camino- Elemento destino
Además de transformar la información en su camino (resultado), segeneran unos bits de estado (resultado 0, resultado -, desbordamiento,…).
-
8/18/2019 Micro Pro Ces Adores 1
16/55
G. R. Ocaña 16
• Unidad de control:
– Entradas: - Código de operación- Período- Estado (ocasionalmente)
– Salida: - Señales de control (especificadas en el cronograma)• El diseño de la unidad de control exige haber definido previamente
las señales que hay que activar en cada una de las instrucciones
máquina que es capaz de interpretar: – Cronogramas de las señales de control. – Operaciones elementales.
– Lenguaje simbólico.• Dos técnicas de diseñar y construir una unidad de control:
– Unidad de control en lógica cableada
– Unidad de control almacenada (microprogramación)
-
8/18/2019 Micro Pro Ces Adores 1
17/55
G. R. Ocaña 17
A) Unidad de control cableada
• Construcción mediante puertas lógicas, siguiendo los métodosde diseño lógico.• Características:
– Laborioso y costoso el diseño y puesta a punto del circuito. – Difícil de modificar: rediseño completo. – Muy rápido (computadores RISC).
B) Unidad de control almacenada: Microprogramación• Idea básica: Emplear una memoria para almacenar el estado de
las señales de control en cada período de cada instrucción.
• A cada palabra que define un período de una instrucciónMicroinstrucción Unidad de control microprogramada• Las microinstrucciones tienen un bit por cada señal de control.• Microinstrucción: cadena de 1’s y 0’s que representa el estado
de cada señal de control durante un período de una instrucción.
-
8/18/2019 Micro Pro Ces Adores 1
18/55
G. R. Ocaña 18
• Microprograma: conjunto ordenado de microinstrucciones,que representan el cronograma de una instrucción.
• Firmware (microcódigo): conjunto de los microprogramas deuna máquina.
• Ejemplo de microprograma de una instrucción:
• Características de la unidad de control microprogramada: – Correcciones, modificaciones y ampliaciones fáciles⇐ Sólo se
cambian algunas microinstrucciones.
– Se pueden incluir instrucciones complejas. – Permite incluir funciones del sistema operativo. – Computadores con varios juegos de instrucciones. – Se pueden emular otros computadores.
– Rutinas de diagnóstico. – Hw simple difícil microcódigo
-
8/18/2019 Micro Pro Ces Adores 1
19/55
G. R. Ocaña 19
• Tres condiciones básicas de una u.c. microprogramada:
1) Memoria de control suficiente para almacenar todos losmicroprogramas correspondientes a todas las instrucciones.
2) Procedimiento para asociar a cada instrucción su
microprograma⇒ Procedimiento que convierta el código deoperación de la instrucción en la dirección de la memoria decontrol donde empieza su microprograma.
3) Mecanismo para ir leyendo las sucesivasmicroinstrucciones, y para bifurcar a otro microprogramacuando termina el que se está ejecutando.
• Dos alternativas para 2) y 3):
– Secuenciamiento explícito
– Secuenciamiento implícito
-
8/18/2019 Micro Pro Ces Adores 1
20/55
G. R. Ocaña 20
Secuenciamiento explícito
• Cada microinstrucción proporciona la dirección de lamicroinstrucción siguiente.
• Gran cantidad de memoria de control para el secuenciamiento
de instrucciones.
-
8/18/2019 Micro Pro Ces Adores 1
21/55
G. R. Ocaña 21
Funcionamiento del secuenciamiento explícito
• La condición 2 se resuelve reservando las primeras posiciones dememoria de control para albergar la 1ª microinstrucción de cadainstrucción (justo en la dirección que expresa el valor de su código deoperación). Primeras posiciones por la restricción de 2n, siendo n los bits
del código de operación.• El oscilador genera la señal de carga en el registro de microinstrucciones,
estableciendo el período básico.
• El registro de microinstrucciones: – Campo con las señales de control. – Campo dirección: se realimenta a la memoria de control para iniciar la
lectura de la microinstrucción siguiente.
– Campo para controlar el multiplexor.• El multiplexor de direcciones permite seleccionar entre el código de
operación de una nueva instrucción o la dirección de la microinstrucción.Está gobernado por una señal de control, y permite que la última
microinstrucción de un programa direccione la primera microinstrucciónsiguiente (condición 3).
-
8/18/2019 Micro Pro Ces Adores 1
22/55
G. R. Ocaña 22
Secuenciamiento implícito
• Instrucciones de un microprograma ordenadas consecutivamenteen la memoria de control Las microinstrucciones no necesitancontener la dirección de la siguiente (ahorro de memoria).
• Necesario:
• Etapa traductora (ROM o PLA)• Registro de microdirecciones más un incrementador
-
8/18/2019 Micro Pro Ces Adores 1
23/55
G. R. Ocaña 23
Funcionamiento del secuenciamiento implícito
• La condición 2 se resuelve introduciendo una etapa traductora entre elcódigo de operación y el multiplexor de direcciones de la memoria decontrol.
• La condición 3 se resuelve mediante un registro de microdirecciones yun incrementador.
• El oscilador lleva a cabo la temporización base, generando una señal periódica empleada en cargar el registro de microdirecciones y el de
microinstrucciones.• Para encadenar un nuevo microprograma, la señal de control activa elmultiplexor, de forma que la última microinstrucción de unmicroprograma selecciona como siguiente dirección la que proviene de
la ROM o la PLA.• En otro caso, se siguen leyendo las microinstrucciones con el
incrementador, que incrementa la dirección, y mandando la dirección através del multiplexor al registro de microdirecciones.
-
8/18/2019 Micro Pro Ces Adores 1
24/55
G. R. Ocaña 24
Formato de las microinstrucciones
• Cada microinstrucción tiene: – Un bit por cada señal de control. – Una duración de un período.
– Muchos ceros (normalmente las instrucciones realizan una solaoperación elemental en cada período).
• Las microinstrucciones se suelen codificar para reducir su longitud.
• Formato de la microinstrucción: especifica el nº de bits y elsignificado de cada uno de ellos. Las señales se agrupan por campos(dentro del formato de la microinstrucción): – Señales triestado de acceso a bus. – Señales de gobierno de la UAL. – Señales de gobierno del banco de registros. – Señales de gobierno de la memoria.
-
8/18/2019 Micro Pro Ces Adores 1
25/55
G. R. Ocaña 25
• Microprogramación horizontal: – Microinstrucciones no codificadas.
– Mayor memoria de control.
– Formatos largos.
– Permiten utilizar elementos del computador en paralelo.
• Microprogramación vertical: – Microinstrucciones codificadas.
– Menor memoria de control.
– Formatos cortos.
– Se reduce el paralelismo.
-
8/18/2019 Micro Pro Ces Adores 1
26/55
G. R. Ocaña 26
Codificación de las microinstrucciones:
• Diferentes técnicas para reducir el tamaño de las microinstruciones:A) Codificación de campos:
– Se codifican todos o algunos campos.
– Etapa decodificadora: aumenta el coste e introduce un retardo.
– Ejemplo: Para 13 elementos que gobiernan un bus de datosa) 13 señales
b) 4 bits para seleccionar uno de los 13 elementos que puede estaractivo decodificador 4 a 16.
-
8/18/2019 Micro Pro Ces Adores 1
27/55
G. R. Ocaña 27
B) Solapamiento de campos: – Se eliminan señales que no se activan o que son excluyentes (no se
pueden activar simultáneamente). – El solapamiento consiste en emplear un único grupo de bits de la
microinstrucción para dos campos distintos (C1 y C2). – La señal adicional CR indica si los bits corresponden a C1 o C2.
– El demultiplexor permite separar ambos campos. – Inconvenientes:
• Las operaciones elementales gobernadas por los campos C1 y C2 sonincompatibles.
• Circuito demultiplexor: coste y retardo en las señales de control.
-
8/18/2019 Micro Pro Ces Adores 1
28/55
G. R. Ocaña 28
C) Codificación total: – Microprogramación de máxima verticalidad.
– Procedimiento: – 1) Se definen las microinstrucciones horizontales diferentesnecesarias para escribir los microprogramas.
– 2) Se codifican con el menor nº de bits posible.
– Requiere un decodificador complejo y con un retardo importante. – En algunas unidades de control, la decodificación se realiza medianteuna memoria auxiliar Codificación total en la memoria auxiliar:
• Las informaciones contenidas en la memoria de control son las direcciones para extraer de la memoria auxiliar la microinstrución correspondiente.
• Inconveniente: doble retardo de acceso a memoria.
-
8/18/2019 Micro Pro Ces Adores 1
29/55
G. R. Ocaña 29
1.3.2 Registros
• Dentro de la CPU hay un conjunto de registros que funcionacomo un nivel de memoria por encima de la memoria principaly de la caché.
• Los registros de la CPU son de dos tipos: – A) Registros visibles para el usuario: Permiten al
programador de lenguaje máquina o ensamblador minimizar
las referencias a memoria principal cuando optimiza el usode registros.
– B) Registros de control y de estado: Utilizados por la
unidad de control para controlar el funcionamiento de laCPU, y por programas privilegiados del S.O. para controlarla ejecución de programas.
-
8/18/2019 Micro Pro Ces Adores 1
30/55
G. R. Ocaña 30
A) Registros visibles para el usuario:
- Registros de uso general: pueden ser asignados a diversasfunciones.
- Registros de datos: únicamente para contener datos, y no parael cálculo de una dirección de operando.
- Registros de dirección: normalmente dedicados a un modo dedireccionamiento particular.
- Punteros de segmento: contienen la dirección de la base
de un segmento.- Registros índice: usados para el direccionamientoindexado, y pueden ser autoindexados.
- Punteros de pila: apuntan a la cabecera de una pila,
permitiendo el direccionamiento implícito (apilar (push) ydesapilar (pop)).
- Registros de códigos de condición: contienen indicadores oflags fijados por el hardware de la CPU como resultado de algunaoperación.
-
8/18/2019 Micro Pro Ces Adores 1
31/55
G. R. Ocaña 31
B) Registros de control y de estado:
- Contador de programa (Program Counter, PC): contienela dirección de la siguiente instrucción a ejecutar.
- Registro de instrucción (Instruction Register, IR): contiene
la instrucción captada que se está ejecutando.- Registro de dirección de memoria (Memory AddressRegister, MAR): contiene la dirección de una posición de
memoria.- Registro intermedio de memoria (Memory BufferRegister, MBR): contiene la palabra de datos a escribir enmemoria , o la palabra leída más recientemente.
1 3 3 UAL
-
8/18/2019 Micro Pro Ces Adores 1
32/55
G. R. Ocaña 32
1.3.3 UAL
• Unidad Aritmética y Lógica (UAL): Circuito combinacionalque realiza operaciones aritméticas y lógicas básicas en uncomputador:
– Aritméticas: suma y resta de enteros, desplazamientosunitarios,…
– Lógicas: NOT, AND, OR, NAND, NOR, EXOR,…
• En inglés, ALU (Arithmetic and Logic Unit).• La multiplicación y división de enteros se realizan en circuitos
específicos.
• Implementación de circuitos para las operaciones lógicas: – Conjunto de puertas lógicas y un multiplexor accionado porseñales de control.
-
8/18/2019 Micro Pro Ces Adores 1
33/55
G. R. Ocaña 33
• Implementación de circuitos para las operaciones aritméticas: – Sumadores binarios elementales: semisumador, sumadorcompleto.
– Sumadores para N bits: con propagación de acarreo en serie,
de acarreo almacenado, con anticipación de acarreo, consalto de acarreo, con predicción de acarreo,…. – Restadores elementales: semirrestador binario, restador
binario completo.
– Restador de N bits con propagación de acarreo en serie. – Sumador/restador de N bits con indicadores de resultado:
nulo, signo, desbordamiento,…
– Circuitos de cambios de signo. – Comparadores mediante resta.
– …
-
8/18/2019 Micro Pro Ces Adores 1
34/55
G. R. Ocaña 34
1.3.4 Coprocesador matemático
• Un coprocesador matemático era un circuito integrado que seañadía, opcionalmente, a un procesador para ampliar el nº deinstrucciones capaz de interpretar y ejecutar, especialmente detipo matemático.
• Los microprocesadores de Intel a partir del 80486DX tienen su propio coprocesador matemático integrado.
• El coprocesador matemático realiza operaciones con númerosreales representados según algún estándar (normalmente elIEEE 754).
• Pueden trabajar con números enteros de 16, 32 y 64 bits consigno, y con números en coma flotante de 32, 64 y 80 bits.
-
8/18/2019 Micro Pro Ces Adores 1
35/55
G. R. Ocaña 35
• Dos formas distintas de funcionamiento de los coprocesadores:
– 1) Coprocesadores externos:• Los operandos e instrucciones son colocados en unas posicionesde memoria determinadas por parte del microprocesador (memory-mapped ).
• Cuando tienen el resultado, generan una interrupción y el procesador recoge el resultado de otra posición de memoria.• Tienen la ventaja de que son independientes del microprocesador.
– 2) Coprocesadores internos:
• Comparten el flujo de instrucciones con el microprocesador.• Cuando el microprocesador detecta una instrucción que no es
suya, la envía al coprocesador, que la ejecuta y devuelve losresultados al microprocesador.
• Aplicaciones que requieren la actuación de un coprocesadormatemático: programas de simulación, hojas electrónicas, CAD-CAM, gráficos, control numérico, robótica, visión computacional,
inteligencia artificial,…
1 3 5 M i hé
-
8/18/2019 Micro Pro Ces Adores 1
36/55
G. R. Ocaña 36
1.3.5 Memoria caché
• Memoria ultrarrápida de pequeña capacidad (8 KB a 2 MB) ymuy cara.• Está entre la memoria principal y la CPU, mediante una conexión
en serie o en paralelo.
• Puede localizarse en el propio microprocesador.• Permite mejorar el rendimiento del computador, acelerando la
transmisión de datos e instrucciones entre el procesador y
cualquier componente de almacenamiento.Transferencia de bloques
Transferencia de palabras
Memoria
principalMemoria
cachéCPU
-
8/18/2019 Micro Pro Ces Adores 1
37/55
G. R. Ocaña 37
• Operaciones con la caché:
– La CPU realiza una petición de información (datos o instrucciones)localizados en memoria. – Se comprueba la caché para estos datos. – Si está (acierto), se obtiene de la caché (rápidamente).
– Si no está (fallo), se lee el bloque requerido a partir de la memoria principal hasta la caché. – Después, la caché los entrega a la CPU. – La caché incluye etiquetas para identificar los bloques de la memoria
principal cargados.• Existen diferentes tipos de organización de la caché:
– Totalmente asociativa.
– Asociativa de una vía. – Asociativa de N vías.• Existen diferentes algoritmos de reemplazo para actualizar la
memoria caché.
• Existen diferentes protocolos de coherencia de caché.
-
8/18/2019 Micro Pro Ces Adores 1
38/55
• Ciclo de bus:
-
8/18/2019 Micro Pro Ces Adores 1
39/55
G. R. Ocaña 39
• Ciclo de bus: – Tiempo en el que la CPU realiza una transferencia elemental de un
dato entre dos dispositivos ( fuente y destino). – Los buses modernos permiten agrupar varias transferencias en unasola operación: transacción.
• Pasos de un ciclo o transacción de bus: – 1) Fase de direccionamiento:
– Petición del bus. – Control.
– Direccionamiento. – 2) Fase de transferencia:
– Transferencia del dato. – Detección y notificación de errores.
– Finalización de la transferencia.• Existen diferentes categorías de ciclos de bus:
– Ciclo de bus en modo sencillo o simple.
– Ciclo de bus en modo ráfaga. – Ciclos especiales: reconocimiento de interrupción, shutdown,…
1 5 Repertorio de instrucciones y
-
8/18/2019 Micro Pro Ces Adores 1
40/55
G. R. Ocaña 40
1.5 Repertorio de instrucciones y
modos de direccionamiento de unmicroprocesador• Funcionamiento de un microprocesador: ejecución continua de
instrucciones.• Fases de un ciclo de instrucción:
– 1) Lectura de la instrucción en memoria.
– 2) Lectura de los operandos y decodificación de la instrucción. – 3) Ejecución de la instrucción. – 4) Almacenamiento del resultado.
• Lenguaje máquina: – Único lenguaje que un microprocesador es capaz de interpretar y
ejecutar directamente (secuencia de 0´s y 1´s). – Ligado íntimamente a la arquitectura interna del microprocesador.
• Repertorio o juego de instrucciones de un microprocesador:conjunto de instrucciones máquina que es capaz de ejecutar.
-
8/18/2019 Micro Pro Ces Adores 1
41/55
G. R. Ocaña 41
• Tipos de instrucciones:
– Instrucciones de transferencia de datos. – Instrucciones aritméticas.
– Instrucciones lógicas.
– Instrucciones condicionales.
– Instrucciones de desplazamiento. – Instrucciones de transferencia de control o de modificación
de la secuencia de ejecución.
– Instrucciones de bit.
– Instrucciones de entrada/salida.
– Instrucciones de control del sistema.
– Instrucciones de manipulación de cadenas.
– Instrucciones especiales. – …
Modos de direccionamiento: i l d
-
8/18/2019 Micro Pro Ces Adores 1
42/55
G. R. Ocaña 42
• Modos de direccionamiento: mecanismos por los que se puedeespecificar la ubicación de los operandos o de una instrucción.
• El campo de operandos de una instrucción es limitadoMecanismos para poder aumentar el rango de direccionamiento ytener flexibilidad de direccionamiento.
• Algunos modos de direccionamiento más comunes: – a) Inmediato – b) Directo (absoluto) – c) Indirecto – d) De registro – e) Indirecto con registro – f) Con desplazamiento (indexado)
– f.1) Relativo a PC – f.2) Con registro base – f.3) Indexado
– g) Implícito (de pila)
-
8/18/2019 Micro Pro Ces Adores 1
43/55
G. R. Ocaña 43
• Nomenclatura:
– A = Contenido de un campo de dirección en la instrucción.
– R = Contenido de un campo de dirección en la instrucción
que referencia un registro. – EA = Dirección real (efectiva) de la posición que contiene el
operando que se referencia:
• Sistema sin memoria virtual EA = Dirección dememoria principal o un registro.
• Sistema con memoria virtual EA = Dirección dememoria virtual o un registro.
– (X) = Contenido de la posición X.
-
8/18/2019 Micro Pro Ces Adores 1
44/55
G. R. Ocaña 44
a) Direccionamiento inmediato:• El operando es parte de la instrucción Operando = A.
• Normalmente almacenado en complemento a 2, siendo el bit a laizqdª el signo.
• No hace falta una referencia a memoria para captar los datos.
• Es rápido.
• La magnitud del operando está limitada por el nº de bits.• Esquema:
Instrucción
Código operación (CO) Operando
b) Direccionamiento directo (absoluto):
-
8/18/2019 Micro Pro Ces Adores 1
45/55
G. R. Ocaña 45
b) Direccionamiento directo (absoluto):
• El campo de dirección contiene la dirección real del operando
EA (dirección real) = A (campo de dirección).• Tan sólo requiere una referencia a memoria para acceder a los datos.• No necesita ningún cálculo especial para acceder a la dirección real.• Proporciona un espacio de direcciones restringido (con un campo de
dirección de k bits, 2k direcciones).• Esquema:
InstrucciónDirección A(ej. 1000)
CO Memoria
Operando 1000
-
8/18/2019 Micro Pro Ces Adores 1
46/55
G. R. Ocaña 46
c) Direccionamiento indirecto:
• La celda de la memoria referenciada por el campo de direccióncontiene la dirección completa del operando.
• EA = (A)
– Mirar en A, encontrar la dirección (A) y, buscar el operando enla dirección.
• Amplio espacio de direcciones 2n, siendo n la longitud de
palabra.• El direccionamiento puede ser anidado (multinivel):
– EA = (((A)))
– Pueden requerirse varios accesos a memoria para encontrar eloperando + lento.
E
-
8/18/2019 Micro Pro Ces Adores 1
47/55
G. R. Ocaña 47
• Esquema:
Instrucción
1500
Dirección A
(ej. 1000)
COMemoria
Operando
Indicador del operando(ej. 1500)
1000
-
8/18/2019 Micro Pro Ces Adores 1
48/55
G. R. Ocaña 48
d) Direccionamiento de registro:
• El operando se encuentra en el registro nombrado en el campo dedirecciones EA = R
• El número de registros está limitado Espacio de direcciones está
muy limitado.• Ventajas:
– Se necesita un campo de direcciones muy pequeño (ej. con 4
bits se pueden referenciar 16 registros de uso general). – Instrucciones más cortas.
– Captación de instrucciones más rápida.
– No hay acceso a memoria.
– Ejecución muy rápida.
– Alternativa al direccionamiento directo, con un accesomenos a memoria.
E
-
8/18/2019 Micro Pro Ces Adores 1
49/55
G. R. Ocaña 49
• Esquema:
Instrucción
BX
Dirección de registro R
(ej. BX)
CORegistros
Operando
-
8/18/2019 Micro Pro Ces Adores 1
50/55
G. R. Ocaña 50
e) Direccionamiento indirecto con registro:• El operando se encuentra en la celda de la memoria referenciada por el contenido del registro R EA = (R)
• Amplio espacio de direcciones (2n, siendo n el nº de bits delregistro).
• Alternativa al direccionamiento indirecto, pero con un acceso a
memoria menos: 1 referencia a registro y 1 referencia a memoriafrente a 2 referencias a memoria.
• Esquema:
-
8/18/2019 Micro Pro Ces Adores 1
51/55
G. R. Ocaña 51
• Esquema:
Instrucción
BX
Dirección de registro R
(ej. BX)
COMemoria
OperandoIndicador del operando
(ej. 1000)
Registros
1000
-
8/18/2019 Micro Pro Ces Adores 1
52/55
G. R. Ocaña 52
f) Direccionamiento con desplazamiento:• Combina las posibilidades de los direccionamientos directo e
indirecto con registro.
• El campo de direcciones contiene dos campos: A y R
• EA = A + (R)
• 3 usos más comunes:
– Direccionamiento relativo a PC – Direccionamiento con registro base
– Direccionamiento indexado
• Ventaja: Flexibilidad.
• Inconveniente: Complejidad.
• Esquema:
-
8/18/2019 Micro Pro Ces Adores 1
53/55
G. R. Ocaña 53
• Esquema:
Registro R
(ej. BX)
CO
Instrucción
Memoria
OperandoIndicador del operando
(ej. 500)
Registros
Dirección A
(ej. 1000)
+BX 1500
f.1) Direccionamiento relativo a PC:
-
8/18/2019 Micro Pro Ces Adores 1
54/55
G. R. Ocaña 54
)
– R = PC (contador de programa)
EA = A + (PC) – La dirección efectiva es un desplazamiento relativo a ladirección de la instrucción.
f.2) Direccionamiento con registro base – R (registro referenciado) contiene una dirección de memoria. – A (campo de dirección) contiene un desplazamiento desde
dicha dirección.f.3) Direccionamiento indexado
– A (campo de dirección) referencia una dirección de memoria. – R (registro referenciado) contiene un desplazamiento positivo
desde esa dirección.
– Autoindexado: EA = A + (R); (R) (R)+1 (operaciones
iterativas).
) i i i i í i ( i )
-
8/18/2019 Micro Pro Ces Adores 1
55/55
G. R. Ocaña 55
g) Direccionamiento implícito (de pila):• El operando está implícito en la instrucción.• Ejemplo: instrucciones de pila
EA = cabecera de la pila.
• Instrucciones de 0 direcciones.
• Ventaja: No referencia a memoria.
• Inconveniente: Aplicabilidad limitada.
• Esquema:Instrucción (CO) Pila
OperandoCabecera de pila
Implícito