Micro Pro Ces Adores 1

download Micro Pro Ces Adores 1

of 55

Transcript of 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