Tema 10: Arquitectura de un microprocesador

Slides:



Advertisements
Presentaciones similares
EJECUCIÓN DE INSTRUCCIONES(1)
Advertisements

Equipo #3 Unidad III: ALU Efraín Corral Eduardo Castillo Elías Alarcón
DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
Microprocesadores Componentes básicos..
Ing. María Rosa Dámaso Ríos CPU(cuarta semana)
Alumno: Roy R. Mercado Núñez
Fernando Escribano Pro 1º de Bachillerato
ORGANIZACIÓN COMPUTACIONAL
El Microprocesador.
Computación PROGRAMACIÓN.
El nivel de la Microprogramación
Circuitos Combinacionales Comunes
Composición Interna de un Procesador
1 Aula de Informática del Centro de Participación Activa para Personas Mayores de El Ejido (Almería). Consejería Territorial de Salud y Bienestar Social.
Microcomputadores Prof : Tatiana Marín R.. Sistema basado en microprocesador de 8 bits.
Arquitectura del Computador
CPU “Microprocesador de datos” Bus “ Transporte de los datos”
TRADUCTOR DE UN PROGRAMA

ARQUITECTURA DE LOS MICROPROCESADORES DE 8 BITS
MICRO Y MACRO ARQUITECTURA
Unidad 2: Organización del CPU
Introducción a la Ingeniería en Sistemas
Operación de Micros e Interfaces
EL MICROPROCESADOR.
MICRO de 8 bits Funcionamiento interno de un microprocesador de 8 bits. Para comprender mejor el funcionamiento, interno de un microprocesador , se propone.
Procesador Introducción - Funcionamiento - Memoria caché
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 13.
Universidad Tecnológica de la Selva Ing. Emmanuel Gordillo Espinoza.
Conceptos Arquitectónicos del computador
Fundamentos de Programación Resolución de Problemas con Computadoras y Herramientas de Programación.
Unidad I: Registros e Interrupciones Facilitador: Ing. Eduardo Brando.
MICROCONTROLADORES NOCIONES BÁSICAS COMPUTO II. ¿QUÉ ES UN MICROCONTROLADOR? MICROCONTROLADOR = MICROPROCESADOR + MEMORIA + PERIFERICOS.
Microcomputadores Prof: Tatiana Marín R.. Lenguaje máquina = lenguaje binario InstrucciónLenguaje máquina (binario)OP ( hex)Nemónico Restar F0SUB.

Tema 2: Lenguaje máquina
PROCESADOR Por: Luis Gonzaga Trujillo Cuervo USCO
Nombre: Cristian Achina Curso: 4to «A» Fecha:
Arquitectura del Computador Puerto Ordaz, Noviembre del 2011
Sistemas Informáticos
“Organización y Arquitectura de Computadores” William Stallings
La unidad central de procesos o CPU
Teoría de Sistemas Operativos Sistema de I/O. 2 Introducción Una de las funciones principales del sistema operativo es el control de todos los dispositivos.
Capítulo 4 CPU y la memoria.
Maquinas Digitales Funciones del Procesador Buscar instrucciones Interpretar instrucciones Buscar datos Procesar datos Escribir datos.
Informática Clase Arquitectura de la Computadora.
1.1 Introducción A Los Sistemas Informáticos
FUNCIONAMIENTO INTERNO DEL ORDENADOR
Principio unidad 1.
E.A.P. “INGENIERÍA DE SISTEMAS” UNIVERSIDAD PERUANA UNION.
INTERRUPCIONES – ABRAZO MORTAL
INTRODUCCIÒN MICROCONTROLADORES
Computadora Es una máquina electrónica que recibe y procesa datos para convertirlos en información útil. Una computadora es una colección de circuitos.
EL ORDENADOR PERSONAL Aparato electrónico que sirve para procesar información (transformarla para que sea útil. Para hacerlo codifica la información (descompuesta.
INTEGRANTES: JOSE ESTEVEZ _HUGO ANDRADE CURSO: 5TO “B”
José Alvarado – Cristian Anzola
Unidad de transferencia de memoria
1 Unidades funcionales de un ordenador Procesadores Memorias Dispositivos de E/S
Curso: Fundamentos de Computación
ARQUITECTURA DEL COMPUTADOR INTEGRANTES: CASTRO MYCHAEL ALVEAR NELSON FLORES DANILO RODRIGUEZ CARLOS IZQUIERDO HARRY INTEGRANTES: CASTRO MYCHAEL ALVEAR.
 PRESENTADO POR : ANDRES MAYORGA DANIELA PAEZ VEGA.
El microprocesador y su arquitectura
Lenguaje ensamblador Conceptos introductorios. Formatos de Instrucción. Modos de Direccionamiento. Conjunto de instrucciones básico. Introducción al Lenguaje.
INTRODUCCIÓN A LA INFORMÁTICA Realizado por: SARI FOLGADO.
 Software  Humanware  Hardware Conformado por.
Arquitectura básica de la computadora
CAPITULO V Arquitectura de Von Neumann
Arquitectura de PCs Arquitectura básica del PC. Introducción El PC es el resultado de una especificación técnica de IBM El hardware se organiza de forma.
Unidad de Control Ubicación: Es uno de los tres bloques funcionales principales en los que se divide una unidad central de procesamiento (CPU). Realizar.
ARQUITECTURA DE UN MICROPROCESADOR. ESTRUCTURA BÁSICA DE UN SISTEMA MICROPROGRAMABLE A. Hardware CPU (chip microprocesador): es un circuito integrado.
Transcripción de la presentación:

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

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

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.

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)

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

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.

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.

Patillaje exterior del 6502 Patillaje del Microprocesador 6502 Rockwell

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.

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

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.

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

Elementos del microprocesador 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 Unidad Aritmético Lógica (A.L.U): Realiza las operaciones aritméticas (suma, resta...) y lógicas (and, or, ...) del micro.

Elementos del microprocesador 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 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).

10.4. Registros

10.4. Registros El 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.

10.4. Registros 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 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 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 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 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 Registro de datos de memoria (MDR) Almacena datos que van y vienen de la memoria o de los dispositivos I/O.

10.4. Registros 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 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 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 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.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).

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)

10.5. Funcionamiento de un ordenador

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.

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.

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.

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.

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

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

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

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

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

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

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

10.8. Evolución de un programa en el interior de un microprocesador 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 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 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 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.

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)

10.8. Evolución de un programa en el interior de un microprocesador 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 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.

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

10.8. Evolución de un programa en el interior de un microprocesador 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 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 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 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)

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

10.8. Evolución de un programa en el interior de un microprocesador 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.

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

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

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

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.

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.

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.....