tema 10: arquitectura de un microprocesador arquitectura de equipos y sistemas informáticos curso...

63
Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

Upload: gael-corchado

Post on 16-Feb-2015

2 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

Tema 10: Arquitectura de un microprocesador

Arquitectura de Equipos y Sistemas Informáticos

Curso 2010/2011

I.E.S. Pacífico

Page 2: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

Tema 10: Arquitectura de un microprocesador

10.1. Estructura básica de un sistema microprogramable 10.2. Ciclos de trabajo de un microprocesador 10.3. El microprocesador 10.4. Registros 10.5. Funcionamiento de un ordenador 10.6. Secuencia de ejecución de un programa 10.7. Modos de direccionamiento 10.8. Evolución de un programa en el interior de un

microprocesador 10.9. Subrutinas 10.10. Interrupciones

Page 3: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

10.1. Estructura básica de un sistema microprogramable

A. Hardware CPU (chip microprocesador): es un circuito integrado

formado por una unidad de control, unidad aritmético-lógica, contador de programa, registros de almacenamiento, etc.

Reloj: es un generador de impulsos digitales cuya frecuencia define la velocidad de trabajo.

Memoria de acceso aleatorio (RAM): es una memoria de lectura y escritura. Contiene los programas y datos que el usuario puede variar.

Memoria ROM Unidades I/O

Page 4: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

10.1. Estructura básica de un sistema microprogramable

B. Software El software de los sistemas microprogramables está

formado por:

– Instrucciones: órdenes o tareas que debe realizar el sistema.

– Datos: son empleados por las instrucciones en su ejecución.

– Programa: conjunto de instrucciones y datos que recibe el sistema para realizar una determinada función.

Page 5: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

10.2. Ciclos de trabajo de un microprocesador

• El reloj genera una señal cuadrada de frecuencia constante que sincroniza el sistema y determina su velocidad.– Ciclo de reloj: periodo de la señal de reloj.– Ciclo máquina: ciclos de trabajo básicos del micro con

dos fases:• Fase de búsqueda (fetch cycle): búsqueda en memoria y

transferencia al registro correspondiente de la instrucción o el dato.

• Fase de ejecución (Execute cycle): Interpretación y ejecución .

– Ciclo de instrucción: ciclos máquina necesarios para completar una instrucción. (entre 1 y 6)

Page 6: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

10.2. Ciclos de trabajo de un microprocesador

• Microprocesadores tipo Motorola:– Ciclo máquina = ciclo de reloj

• Microprocesadores tipo Intel:– Ciclo máquina = N · Ciclo de reloj

N = Número entero entre 3 y 6

Page 7: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

10.3. El microprocesador

• Su función consiste en leer y decodificar las órdenes contenidas en una memoria y devolver los resultados a una zona determinada de memoria o actuar sobre un determinado dispositivo.

Page 8: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

El micro 6502• Sencillo micro construido con tecnología CMOS

(bajo consumo)• Repertorio de instrucciones reducido pero con

amplia gama de posibilidades de direccionamiento para cada una.

• Micro de 8 bits en el bus de datos.• Bus de direcciones de 16 bits => Puede direccionar

64 K posiciones.• Posee un generador interno de señales de reloj a

partir de otra exterior con f = 1 ó 2 MHz.• Instrucción más rápida 2 ciclos máquina y la más

lenta 7.

Page 9: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

Patillaje exterior del 6502

Patillaje del Microprocesador 6502 Rockwell

Page 10: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

Patillaje exterior del 6502• Alimentación y masa: Vcc y GND• Bus de datos: D0 … D7• Bus de direcciones: A0 … A15• Bus de control:

– Línea de inicialización RES. Por esta línea de entrada se recibe la orden de parada e inicialización de todos sus registros internos, recomenzando el arranque del sistema.

– Líneas de interrupción enmascarable IRQ y no enmascarable NMI. Por estas líneas se le dan al micro diferentes tipos de órdenes para que detenga, de forma temporal, la ejecución del programa principal y realice una determinada tarea.

Page 11: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

Patillaje exterior del 6502– Línea R/W. Línea de salida para indicar a los

circuitos externos de la CPU (memorias, entrada/salida, etc.) si se leerá o escribirá un dato en el bus de datos.

– Líneas de solicitud, diálogo y otras funciones: SYNC: Terminal de sincronismo

SO (Set Overflow): Permite poner a 1 el bit de overflow del Registro de estado

RDY (Ready): Retraso de operaciones. Adaptación a memorias y dispositivos lentos.

– Líneas de reloj: J0, J1 y J2

Page 12: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

Clasificación de los microprocesadores

• Se clasifican en función de la longitud del bus de datos.– Micros de 4 bits: electrodomésticos , juegos. – Micros de 8 bits: videojuegos, robótica.– Micros de 16 bits: primeros ordenadores– Micros de 32 bits: informática moderna.– Micros de 64 bits: Ordenadores actuales.

Tratamiento de gráficos, comunicaciones.

Page 13: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

Características de un microprocesador

• Velocidad de proceso: Frecuencia de la señal de reloj. Por ejemplo 33MHz

• Longitud de palabra: Longitud de los datos con que opera el sistema.

• Memoria que puede direccionar: cantidad de memoria máxima que se puede instalar en un ordenador. Se relaciona con el bus de direcciones.

• Repertorio de instrucciones. Número de instrucciones distintas que tiene grabadas el micro; se relaciona con la anchura de palabra: 8 bits = 256

• Número de registros internos que posee la CPU.• Capacidad de tratamiento de interrupciones

Page 14: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

• El microprocesador integra en una sola pastilla la Unidad de Control, la ALU y una pequeña memoria interna (registros y acumuladores), capaz de realizar de forma automática las funciones para las que se diseñó.

Elementos del microprocesador

Page 15: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

Elementos del microprocesador1. Unidad Aritmético Lógica (A.L.U): Realiza las operaciones aritméticas (suma,

resta...) y lógicas (and, or, ...) del micro.

Page 16: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

2. Unidad de control: Está formada por el decodificador de instrucciones y el

control propiamente dicho.

– Gobierna el funcionamiento del microprocesador. Interpreta y transforma la información y procesa los datos.

– Genera una serie de microórdenes secuenciales, a partir del código binario de la instrucción, que actúan sobre la CPU, registros, etc., y generan operaciones diversas como sumas, movimientos de datos, lecturas en periféricos, etc.

– Recibe información del registro de estado, cuyos datos pueden condicionar las acciones a realizar.

Elementos del microprocesador

Page 17: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

3. Los registros: Son memorias de almacenamiento temporal. Su

número y características varía de unos micros a otros. Para el micro 6502 tenemos:• Contador de programa.

• Acumulador

• Registro de estado

• Registros internos:– de instrucciones,

– de direcciones,

– de datos.

• Registros auxiliares: X , Y

• Registro de pila SP (Stack Pointer).

Elementos del microprocesador

Page 18: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

10.4. Registros

Page 19: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

10.4. Registros

1.1. El contador de programaEl contador de programa

• Controla la obtención de instrucciones desde la memoria. El número de bits de este registro será igual al número de líneas de dirección del micro.

• En este registro se encuentra almacenada la dirección de la próxima instrucción a ejecutar.

Page 20: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

• La Unidad de Control actúa sobre su contenido de dos maneras:– Por incrementación: cuando el código de la

operación no implica salto de secuencia, la UC incrementa en una unidad el contenido del contador de programa.

– Por carga: Si el código de la operación implica salto o ruptura de secuencia, el C.P. se carga con la dirección a la que debe saltar el programa.

10.4. Registros

Page 21: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

2. El Acumulador• Registro de trabajo que se

puede gobernar por programa.

• El resultado de las operaciones de la ALU se colocan normalmente en el Acumulador, y una de las puertas de entrada de la ALU también está conectada a él.

10.4. Registros

Page 22: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

3. Registro de estado (SR) flags:• Contiene una serie de bits que informan sobre diferentes

“estados” en la CPU después de una operación aritmética o lógica.

– Acarreo (C)– Resultado cero (Z)– Habilitación de interrupciones (IRQ) micro 6502– Modo decimal (D)– Interrupción software/harware (Break)– Overflow aritmético (OV)– Signo del último resultado (SG)

• Sus bits son independientes entre sí. Los consulta la UC para generar la secuencia correcta en función de la operación previa.

10.4. Registros

Page 23: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

4. Registro interno de instrucciones (RI):• Sirve para almacenar temporalmente el

contenido de la posición de memoria direccionada por el CP, permitiendo de esta forma que el decodificador de instrucciones de la CPU analice su contenido y determine las operaciones a realizar.

10.4. Registros

Page 24: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

5. Registro interno de direcciones (MAR)• Al buscar una instrucción, el contenido de CP

se carga en el MAR, que está conectado al bus de direcciones.

• Su número de bits se corresponde con el del bus y el CP.

10.4. Registros

Page 25: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

6. Registro de datos de memoria (MDR)• Almacena datos que van y vienen de la

memoria o de los dispositivos I/O.

10.4. Registros

Page 26: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

7. Registros auxiliares.

• Suelen contener datos de interés para el programa, facilitando su búsqueda y permitiendo un aumento en la rapidez de su ejecución.

• Muy útiles en le programación.

10.4. Registros

Page 27: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

8. Puntero de pila (SP)

• Registro que controla una zona de la memoria, llamada “pila”, en la cual se depositan temporalmente datos que la CPU tendrá que recuperar más tarde.

• Es una estructura LIFO. Almacenamos datos secuencialmente y luego se van recuperando en orden inverso a como se metieron.

10.4. Registros

Page 28: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

• El SP a punta a la primera dirección libre de la pila. Cuando almacenamos un dato en esa dirección, el SP se decrementará automáticamente en una unidad y apuntará a la siguiente posición libre.

10.4. Registros

Page 29: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

• Para la recuperación de datos, en primer lugar se incrementa en una unidad el SP para que apunte a la dirección del último dato que se introdujo en la pila.

• Se emite por el bus de direcciones el nuevo contenido del SP y por el bus de datos se recibe la información deseada.

10.4. Registros

Page 30: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

10.5. Funcionamiento de un ordenador

• Un ordenador es un sistema electrónico digital capaz de ejecutar de forma secuencial las “instrucciones” contenidas en un programa.

• Los programas, que se encuentran guardados en unidades de almacenamiento permanente, para su ejecución son cargados en la memoria de programa (RAM).

Page 31: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

10.5. Funcionamiento de un ordenador

• Una vez cargado el programa en memoria, el microprocesador obtendrá una instrucción de la memoria de programa, la interpretará, la ejecutará y obtendrá a continuación la instrucción siguiente para repetir el proceso.

• Durante el proceso de ejecución, se producen resultados intermedios, de carácter transitorio, que se almacenan en la memoria de trabajo (RAM)

Page 32: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

10.5. Funcionamiento de un ordenador

Page 33: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

10.6. Secuencia de ejecución de un programa (1).

• 1- Al iniciarse el programa, el CP se carga con la dirección de la 1ª instrucción.

• 2-La UC transmite a la memoria el contenido del CP.

• 3-La memoria entrega a la UC, vía bus de datos, el contenido de la posición de memoria.

Page 34: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

10.6. Secuencia de ejecución de un programa (2).

• El decodificador de instrucciones analiza el Código de Operación. Esto puede implicar:– Que la instrucción conste de una sola palabra y no lleve

operando: el C.P. se incrementa en una unidad y se continúa el proceso.

– Que la instrucción conste de varias palabras (dos o tres): la UC manda por el bus las direcciones necesarias para completar la instrucción. El CP se va incrementando hasta que se ejecuta la instrucción completa.

Page 35: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

10.6. Secuencia de ejecución de un programa (3).

• La UC puede cargar el CP a otro valor distinto para alterar la secuencia normal del programa, atendiendo a una condición.

• La nueva dirección es suministrada como operando en la propia instrucción de salto.

Page 36: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

10.7. Modos de direccionamiento.

• La forma de especificar el operando de una instrucción ( registro de la CPU, posición de memoria o unidad I/O) recibe el nombre de modo de direccionamiento.

• La existencia de diferentes modos de direccionamiento facilita la realización de programas y aceleran su ejecución.

Page 37: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

10.7. Modos de direccionamiento

• Los distintos modos de direccionamiento dependen de la CPU, de su estructura interna.

• Para el microprocesador 6502 tenemos:– Direccionamiento implícito: El operando está

determinado por el propio código de la operación. No tiene operando.

Instrucción Código operación Operando

BRK 00 No tiene

Provoca una ruptura en el programa

Page 38: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

10.7. Modos de direccionamiento

• Direccionamiento inmediato: El operando está contenido en la instrucción. No es necesario acceder a memoria.

Instrucción Código Oper. Operando

LDA # 02 A9 02

Carga el dato 02 en el acumulador

Page 39: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

10.7. Modos de direccionamiento

• Direccionamiento directo o absoluto: El dato necesario para ejecutar la instrucción está contenido en una posición de memoria indicada por el operando.

Instrucción Código Oper. Operando

LDA $0500 AD 00 05

Carga el dato almacenado en la dirección de memoria 0500 en el acumulador

Page 40: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

10.7. Modos de direccionamiento• Direccionamiento relativo: El segundo byte

contiene en complemento a 2 el valor que hay que sumar (restar) al C.P. si se cumple la condición de la instrucción. En caso contrario se ejecuta la siguiente instrucción.

Instrucción Código Oper. Operando

BEQ 09 F0 09

Salta si Z = 1 nueve posiciones más adelante de la actual

Page 41: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

10.7. Modos de direccionamiento

• Direccionamiento absoluto indexado: La dirección de memoria efectiva se forma sumando el contenido del registro índice con el operando de la instrucción

Instrucción Código Oper. Operando

LDA $0500, X BD 00 05

Carga el dato almacenado en la dirección de memoria 0500 + (Valor del reg. X) en el acumulador

Page 42: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

10.8. Evolución de un programa en el interior de un microprocesador

• Vamos a estudiar la evolución del siguiente programa para el microprocesador 6502:

NEMÓNICOS MEMORIA CÓDIGO COMENTARIO

LDA $070F 0400 AD 0F 07 Cargo en el acumulador el dato contenido en la posición de memoria 070F

ADC # 38 0403 69 38 Suma con acarreo 38 al contenido del Ac.

STA $0710 0405 8D 10 07 Mueve a la dirección 0710 el valor del Ac

BRK 0408 00

Page 43: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

10.8. Evolución de un programa en el interior de un microprocesador

Page 44: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

• 1º ciclo máquina de la 1ª instrucción: busca e interpreta el código de operación de la primera instrucción:

• 1-El CP se carga en el registro de direcciones.

• 2- El contenido del CP se incrementa en una unidad.

• 3-El registro de direcciones se vuelca en el bus de direcciones.

• 4-La Unidad de Control autoriza la lectura en memoria.

• 5-La memoria vuelca el contenido de la posición 0400H al bus de datos y de éste al registro de datos

• 6-Del registro de datos se pasa al de instrucciones donde la UC lo decodifica y lo interpreta: carga en el Ac. el contenido de la memoria especificada en los dos bytes siguientes.

10.8. Evolución de un programa en el interior de un microprocesador

Page 45: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

2º ciclo máquina de la 1ª instrucción: busca la parte baja de la dirección donde se encuentra el dato.

1-El CP se carga en el registro de direcciones.

2- El contenido del CP se incrementa en una unidad.

3-El registro de direcciones se vuelca en el bus de direcciones.

4-La Unidad de Control autoriza la lectura en memoria.

5-La memoria vuelca el contenido de la posición 0401H al bus de datos y de éste al registro de datos. (Corresponde al byte de menor peso).

10.8. Evolución de un programa en el interior de un microprocesador

Page 46: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

3º ciclo máquina de la 1ª instrucción: busca la parte alta de la dirección donde se encuentra el dato.

1-El CP se carga en el registro de direcciones.

2- El contenido del CP se incrementa en una unidad.

3-El registro de direcciones se vuelca en el bus de direcciones.

4-La Unidad de Control autoriza la lectura en memoria.

5-La memoria vuelca el contenido de la posición 0402H al bus de datos y de aquí pasa al byte alto del registro de direcciones.

6-El registro de datos coloca su contenido en la parte baja del registro de direcciones por el bus de datos. En este registro tenemos completa la dirección del dato.

10.8. Evolución de un programa en el interior de un microprocesador

Page 47: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

4º ciclo máquina de la 1ª instrucción: busca el dato y lo carga en el acumulador.

1- El contenido del registro de direcciones (070F) se carga en el bus de direcciones.

2-La unidad de control autoriza la lectura en memoria.

3- La memoria vuelca el contenido de la posición citada en el bus de datos y de ahí al registro de datos.

4- El contenido del registro de datos es llevado al acumulador, donde tendremos el dato 1AH.

10.8. Evolución de un programa en el interior de un microprocesador

Page 48: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

Conclusión 1

• Hemos necesitado 4 ciclos máquina para ejecutar la primera instrucción.

• Al tratarse de un micro tipo “motorola”, implica que hemos consumido cuatro ciclos de reloj y, por tanto, hemos tardado 4 micro segundos (f = 1MHz)

Page 49: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

1º ciclo máquina de la 2ª instrucción: busca e interpreta el código de operación.

•1-El CP se carga en el registro de direcciones.

•2- El contenido del CP se incrementa en una unidad (0404).

•3-El registro de direcciones se vuelca en el bus de direcciones.

•4-La Unidad de Control autoriza la lectura en memoria.

•5-La memoria vuelca el contenido (69H) de la posición 0403H al bus de datos y de éste al registro de datos

•6-Del registro de datos se pasa al de instrucciones donde la UC lo decodifica y lo interpreta como sumar el Ac más el dato contenido en el siguiente byte de memoria y el carry del registro de estado.

10.8. Evolución de un programa en el interior de un microprocesador

Page 50: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

2º ciclo máquina de la 2ª instrucción: busca el dato y ejecuta la suma.

•1-El CP se carga en el registro de direcciones.

•2- El contenido del CP se incrementa en una unidad (0405H).

•3-El registro de direcciones se vuelca en el bus de direcciones.

•4-La Unidad de Control autoriza la lectura en memoria.

•5-La memoria vuelca el contenido (38H) de la posición 0404H al bus de datos y de éste al registro de datos

•6-Del registro de datos pasa a la ALU donde se suma con el Acc y el carry: 1AH + 38H + 0 = 52H

•7- El resultado se almacena en el acumulador.

10.8. Evolución de un programa en el interior de un microprocesador

Page 51: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

Conclusión 2

• Se completa la segunda instrucción en dos ciclos máquina.

Page 52: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

1º ciclo máquina de la 3ª instrucción: busca e interpreta el código de operación.

•1-El CP se carga en el registro de direcciones.

•2- El contenido del CP se incrementa en una unidad.

•3-El registro de direcciones se vuelca en el bus de direcciones.

•4-La Unidad de Control autoriza la lectura en memoria.

•5-La memoria vuelca el contenido (8DH) de la posición 0405H al bus de datos y de éste al registro de datos

•6-Del registro de datos (8DH) pasa al de instrucciones donde la UC lo decodifica y lo interpreta como la orden de almacenar el dato contenido en el acumulador en una dirección de memoria dada por las dos siguientes posiciones de memoria.

10.8. Evolución de un programa en el interior de un microprocesador

Page 53: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

2º ciclo máquina de la 3ª instrucción: busca la parte baja de la dirección donde se guardará el dato.

1-El CP se carga en el registro de direcciones.

2- El contenido del CP se incrementa en una unidad.

3-El registro de direcciones se vuelca en el bus de direcciones.

4-La Unidad de Control autoriza la lectura en memoria.

5-La memoria vuelca el contenido (10H) de la posición 0406H al bus de datos y de éste al registro de datos. (Corresponde al byte de menor peso).

10.8. Evolución de un programa en el interior de un microprocesador

Page 54: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

3º ciclo máquina de la 3ª instrucción: busca la parte alta de la dirección donde se guardará el dato.

1-El CP se carga en el registro de direcciones.

2- El contenido del CP se incrementa en una unidad.

3-El registro de direcciones se vuelca en el bus de direcciones.

4-La Unidad de Control autoriza la lectura en memoria.

5-La memoria vuelca el contenido (07H) de la posición 0407H al bus de datos y de aquí pasa al byte alto del registro de direcciones.

6-El registro de datos coloca su contenido (10H) en la parte baja del registro de direcciones por el bus de datos. En este registro tenemos completa la dirección del dato: (0710H).

10.8. Evolución de un programa en el interior de un microprocesador

Page 55: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

4º ciclo máquina de la 3ª instrucción: carga el dato en memoria.

1- El contenido del Acc (52H) se lleva al registro de datos.

2- El contenido del registro de direcciones (0710H) se carga en el bus de direcciones.

3-La unidad de control autoriza la escritura en memoria.

4- El contenido del registro de datos es llevado,via bus de datos, a la posición de memoria seleccionada (0710H)

10.8. Evolución de un programa en el interior de un microprocesador

Page 56: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

Conclusión 3

• La tercera instrucción se ha ejecutado en 4 ciclos máquina

Page 57: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

•1º ciclo máquina de la 4ª instrucción: busca e interpreta el código de operación.

•1-El CP se carga en el registro de direcciones.

•2- El contenido del CP se incrementa en una unidad.

•3-El registro de direcciones se vuelca en el bus de direcciones.

•4-La Unidad de Control autoriza la lectura en memoria.

•5-La memoria vuelca el contenido (00H) de la posición 0408H al bus de datos y de éste al registro de datos

•6-Del registro de datos, (00H) se pasa al de instrucciones donde la UC lo decodifica y lo interpreta como la orden de romper la secuencia de ejecución del programa en curso.

10.8. Evolución de un programa en el interior de un microprocesador

Page 58: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

Conclusión 4

• La instrucción 4 se ha completado en un ciclo máquina.

Page 59: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

10.9. Subrutinas Para disminuir el tamaño de los programas que contienen

tareas repetitivas, se han ideado las subrutinas, que se pueden definir como un grupo de instrucciones de un programa que se repite íntegramente en varias zonas de éste.

Forma de trabajo de una subrutina

Page 60: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

10.10. Interrupciones

• Una interrupción sería el proceso que, en función de alguna circunstancia externa o interna, permite al microprocesador interrumpir el programa en ejecución y saltar a una subrutina específica que la atienda.

• Las interrupciones llegan a la CPU a través de una línea del bus de control: INTR

Page 61: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

Tipos de interrupciones• Interrupciones internas o excepciones (0-4).

Atiende a los errores internos de la CPU: desbordamiento, división por cero....

• Reservadas por el fabricante: Para futuras aplicaciones.

• De usuario : Pueden activarse:– Por software: mediante la instrucción INT

seguido del número de interrupción.– Por hardware (externa), activadas por el

dispositivo a atender.

Page 62: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

Procesamiento de una interrupción

• Terminar la ejecución de la instrucción máquina en curso.

• Salva el valor de contador de programa, PC, en la pila, de manera que en la CPU, al terminar el proceso, pueda seguir ejecutando el programa a partir de la última instrucción.

• La CPU salta a la dirección donde está almacenada la rutina de servicio de interrupción (ISR, Interrupt Service Routine) y ejecuta esa rutina que tiene como objetivo atender al dispositivo que generó la interrupción.

• Una vez que la rutina de la interrupción termina, el procesador restaura el estado que había guardado en la pila en el paso 2 y retorna al programa que se estaba ejecutando anteriormente.

Page 63: Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

Inhabilitación de interrupciones

• Para no interrumpir ciertas operaciones del micro con interrupciones de periféricos el propio micro posee un registro de enmascaramiento donde especificaremos qué interrupciones queremos desactivar o activar en cada momento.

• NMI (Non –Maskable Interrupt) Interrupciones no enmascarables:

El sistema no permite su enmascaramiento debido a su importancia: refresco de la RAM, reset.....