sistemas microprocesados

36
Sistemas Microprocesador y Microcontrolados El microprocesador, o simplemente procesador, es el circuito integrado central y más complejo de una computadora u ordenador; a modo de ilustración, se le suele asociar por analogía como el "cerebro" de una computadora. El procesador es un circuito integrado constituido por millones de componentes electrónicos integrados. Constituye la Unidad Central de Procesamiento (CPU) de un PC catalogado como microcomputador. Desde el punto de vista lógico, el microprocesador está compuesto básicamente por: varios registros, una unidad de control, una unidad aritmética - lógica, y dependiendo del procesador, puede contener una unidad de punto flotante. Desde el punto de vista funcional es, básicamente, el encargado de realizar toda operación aritmético-lógica, de control y de comunicación con el resto de los componentes integrados que conforman un PC, siguiendo el modelo base de Von Neumann. También es el principal encargado de ejecutar los programas, sean de usuario o de sistema; sólo ejecuta instrucciones programadas a muy bajo nivel, realizando operaciones elementales, básicamente, las aritméticas y lógicas, tales como sumar, restar, multiplicar, dividir, las lógicas binarias y accesos a memoria.

Upload: acro09v

Post on 20-Dec-2015

139 views

Category:

Documents


4 download

DESCRIPTION

Sistemas Microprocesador y Microcontrolados, conceptos básicos

TRANSCRIPT

Page 1: Sistemas Microprocesados

Sistemas Microprocesador y Microcontrolados

•El microprocesador, o simplemente procesador, es el circuito integrado central y más complejo de una computadora u ordenador; a modo de ilustración, se le suele asociar por analogía como el "cerebro" de una computadora.

•El procesador es un circuito integrado constituido por millones de componenteselectrónicos integrados. Constituye la Unidad Central de Procesamiento (CPU) deun PC catalogado como microcomputador.

•Desde el punto de vista lógico, el microprocesador está compuesto básicamente por: varios registros, una unidad de control, una unidad aritmética - lógica, y dependiendo del procesador, puede contener una unidad de punto flotante.

•Desde el punto de vista funcional es, básicamente, el encargado de realizar toda operación aritmético-lógica, de control y de comunicación con el resto de los componentes integrados que conforman un PC, siguiendo el modelo base de Von Neumann.

•También es el principal encargado de ejecutar los programas, sean de usuario o de sistema; sólo ejecuta instrucciones programadas a muy bajo nivel, realizando operaciones elementales, básicamente, las aritméticas y lógicas, tales como sumar, restar, multiplicar, dividir, las lógicas binarias y accesos a memoria.

Page 2: Sistemas Microprocesados

La arquitectura de von Neumann

• La arquitectura de von Neumann es una familia de arquitectura de computadoras queutilizan el mismo dispositivo de almacenamiento tanto para las instrucciones comopara los datos (a diferencia de la arquitectura Hardvard).

• La mayoría de computadoras modernas están basadas en esta arquitectura, aunquepueden incluir otros dispositivos adicionales. La CPU es forzada continuamente paraesperar los datos necesarios que se transferirán desde o hacia memoria.

• En la mayoría de las computadoras modernas, el rendimiento de procesamiento esmucho más pequeño que la tarifa en la cual la CPU puede trabajar. Esto limitaseriamente la velocidad del proceso eficaz cuando la CPU se requiere para realizar elproceso mínimo en grandes cantidades de datos.

Page 3: Sistemas Microprocesados

Sistema Procesador de arquitectura VON NEWMANEl sistema microprocesador utiliza la arquitectura VON NEWMAN y dispone de:

Bus de Direcciones: M líneas que direccionan el espacio físico de memoria y dispositivos del sistema donde 2M= Direcciones de registros. Ejemplo un MP de 16 Líneas de direcciones Pueden direccionar hasta 64 Kbytes y uno de 32 Líneas hasta 4 GigaByte en la Memoria Principal.

El Bus de datos de N líneas, posibilita transferir palabras de 8, 16 y 32 bit de información desde y hacia los registros de la Memoria Principal y los dispositivos de Entrada Salida .

Memoria de

Prgrama Flash

Puertos Paralelos

Timers, CAD,

USART, etc

Page 4: Sistemas Microprocesados

Estructura del Sistema Microprocesador

Líneas de Control

Puertos Paralelos (LPTI) Puertos Series (COM) Monitor,

USART, SPI, Timers Controlador de Teclado, …etc.

Procesador Bus de Direcciones (16 bit)

Bus de Datos (8 bit)

….

Memoria Principal

(Flash 64KB)

RAM

(512 Byte)

Page 5: Sistemas Microprocesados

Estructura de las Memorias

Las memorias pueden ser consideradas como un conjunto de localizacionesllamados registros los cuales están constituidos por celdas de almacenamiento.

Fig. 1Bus de Direcciones (Address Bus):Un conjunto de N líneas (A0…AK-1) que ingresana la memoria proveen la dirección o localización del registro.

N Líneas de Direcciones seleccionan 2N registros: Ejemplo 10 líneas: 210=1024 registros

Page 6: Sistemas Microprocesados

Los registros generalmente poseen un conjunto de celdas de un bit de informaciónEjemplo (8, 16, 32, 64 bits). La información es accedida a través del Bus de Datos

Tiempo de Acceso de una memoria:

Existen dos tipos de tiempo de acceso: de lectura o escritura.Es el intervalo de tiempo entre el requerimiento para leer datos o escribir datosdesde o hacia un dispositivo de almacenamiento (memoria , disco duro, etc.). Es una medida para estimar el rendimiento de los dispositivos.El tiempo de acceso de Lectura es el tiempo que tarda una memoria desde que secolocan los bits de direcciones en el Bus de Direcciones y el instante en que lainformación esta presente en el Bus de Salida de datos.

El tiempo de acceso de Escritura es el tiempo que tarda desde que se colocan, los bits de datos en el Bus de Datos y estos son acumulados en el registros.

Normalmente el tiempo de lectura y el tiempo de escritura no son iguales ydepende de cada dispositivo. Generalmente el fabricante especifica el tiempo de acceso.

Tipos de Memorias

Memorias de Acceso Aleatorio (RAM y SDRAM): También denominadas memorias de acceso al azar. Generalmente se utilizan como registros internos de un microcontrolador o microprocesador, Son memorias que generalmente son usadas como de lectura y escritura por su alta velocidad. en cuyo dato o contenido es alterable, están generalmente constituidas por celdas de memoria o flip flops.

Page 7: Sistemas Microprocesados

Normalmente son empleadas por el P para almacenar variables y constituyen la memoria principal de un sistema microprocesado. La denominación correctas es RWM (por las siglas de Read Write Memory) RAM. Generalmente en este tipo de memoria el ambos tiempo de acceso son iguales (Tacc Escritura = Tacc. Lectura).

Memorias de Solo Lectura (ROM):

Memorias ROM (Read Only Memories). Son dispositivos cuyo contenido se programa en fábrica mediante un sistema de mascara, para luego acceder a la información en un proceso de solo lectura.

Memoria de Lectura Mayoritaria (RMM)

Memoria de Lectura Mayoritaria (RMM) (Read Mostly Memory) : Son dispositivos quese utilizan normalmente para leer la información contenida, pero pueden tambiénpueden ser programadas. y entre ellas podemos encontrar las EPROM, EEPROM,FLASH. Generalmente en este tipo de memoria los tiempo de acceso son distintosEn una EEPROM el Tacc Escritura (5 mseg.) >> Tacc. Lectura (50 nanoseg. )

La memoria Flash a medida que avanza la tecnología, aumenta la velocidad deAcceso, como también aumenta la capacidad de las mismas y reduce suscostos dejando de ser una RMM. Ejemplo las tarjetas de memoria de las cámarasfotográficas, filmadoras, celulares, discos compactos, etc.

Memorias volátiles: La información se pierde al eliminarse la alimentación. Ej: RWM - RAM

Memorias Perennes: La información no se pierde al privarle la alimentación. Ej. ROM, EPROM, EEPROM, FLASH, Discos Magnéticos (disco duro y disquete), discos ópticos (CD), cintas magnéticas, etc.

Page 8: Sistemas Microprocesados

CPU y Buses del procesador

Sistemas microprocesados: el procesador o unidad central CPU, la memoria dedatos y de instrucciones además de los dispositivos de entrada salida estánconectados a través de un circuito impreso que recibe el nombre de Placa Madre.

Todos los procesadores poseen un bus principal o de sistema por el cual se envíany reciben todos los datos, instrucciones y direcciones desde los integrados delchip set o desde el resto de dispositivos.

Se define mucho del rendimiento del sistema, su velocidad se mide en bits porsegundo.

Generalmente la forma más antigua es el bus paralelo en el cual se definen líneasespecializadas en datos, direcciones y para control.

El Bus de Direcciones (Address Bus): es un conjunto de líneas (cada líneaenvía un bit de la palabra de dirección) y es la vía por la cual el procesadorselecciona mediante una dirección única un determinado registro de cualquierdispositivo de memoria o de entrada/salida que este alojado en su mapa dedirecciones.

El Bus de datos: es un conjunto de lineas que definen la capacidad y resolucióndel dato a ser transmitido (8 bit = Byte, 16 bit = Palabra, 32 Bit = Palabra doble, 64bit. Tec.)

Page 9: Sistemas Microprocesados

Diagrama Interno Representativo de una CPU

M bits

PC

Buscador de Instrucciones

(Fetcher)

Bus de Direcciones

(Address Bus)

Bus de Datos e Instrucciones

Registro de Instrucciones

(IR)

Decodificador de

Instrucciones (ID)

N bits

Memoria de Instrucciones y Secuenciador

Registro de Trabajo

Registro de Estado (STATUS)

Interfase con la Memoria

Señales de

control internas

Señales de

control externas

Page 10: Sistemas Microprocesados

Ejecución de las Instrucciones en la CPU1- El valor del PC es colocado en el bus de Direcciones habilitando un registro de lamemoria de isntrucciones.

2.- El valor contenido en el registro de memoria (Instrucción) es cargada en elregistro de Instrucciones (IR) del procesador.

3 la instrucción e decodificada por el Decodificador de Instrucciones (DI) y sonactivadas las lineas de control interno del CPU para ser ejecutada.

4.- La instrucción es ejecutada por la CPU. Si es una operación aritmética o lógicaesta es realizada en la ALU (Unidad Aritmética Lógica) y el resultado esgeneralmente acumulado en el registro de trabajo (W).

Si es una instrucción de salto el valor del PC es sumado al valor de offset del saltocontenido en el operando de la instrucción y cargado como el nuevo valor del PC.

5.- Si es una operación de salto el PC es modificado sumandole el valor de saltocontenido en el operando. Si es una operación de guardado de dato esta esrealizada en la los registro de datos (8Bits) en la memoria de 5.- Las condicionesque resultan de la operación aritmética o lógica en la ALU son acumulada en elregistro de estado STATUS.

Page 11: Sistemas Microprocesados

Diagrama temporal de búsqueda de la instrucción, decodificación, operación y ejecución

6.- Las operaciones de salto con retorno CALL o en las operaciones de Interrupciones el valor del PC (PC+1) de 16 bit, es transferido al STACK (pila) para acumular la dirección de retorno desde la siguiente instrucción siguiente al CALL.

Estas direcciones de retorno son recuperadas cuando se ejecutan las instrucciones de retorno de subrutinas (RETURN) o de retorno para las interrupciones.

7. Escritura de los resultados en la memoria principal de datos o en los registros de trabajo interno de la CPU. El operando le proporciona la codificacion para realizar la operación, sea un salto, un tipo de direccionamiento o una operación aritmética o matemática.

Page 12: Sistemas Microprocesados

Conjunto Resumido de Terminales de control en un un MicroprocesadorAdemás del sistema de Buses Principales las señales de control mas importantes en un sistema microprocesador se pueden enumerar las mas importante entre varias:

RESET: Señal de reinicio del procesador que ejecuta en la dirección F FFF0H (Modo Real)

/READY: Señal de datos listos en el dispositivo periférico para la adquisición de los datos desde el MP.

CLK: Señal de reloj que sincroniza todas las operaciones que realiza el procesador y sus periféricos. Esta frecuencia depende de la programación del oscilador local y sus divisores de frecuencia de operación de ejecución.

INTR: Entrada de Interrupciones tipo enmascarables (IRQ) de dispositivos periféricos.

NMI: Entrada de interrupción No Enmascarable.

La unidad central de procesamiento está constituida, esencialmente, por registros,una unidad de control y una Unidad Aritmética Lógica (ALU) que proporciona elcálculo a través de números enteros. Existen actualmente microprocesadores quetambién incluye una unidad de calculo de punto flotante, (también conocida comocoprocesador matemático o FPU), que permite operaciones por Hardware connúmeros decimales, elevando por ende notablemente la eficiencia.

Page 13: Sistemas Microprocesados

Ejemplo de los terminales en una CPU de un Sistema Microprocesado

Page 14: Sistemas Microprocesados

Organización de la Memoria de Programa (RAM o Flash)

16 bits

0002 h0000 h

3FFE h3FFC h

8 Bits8 Bits

16 K

registros

x 8 bit

3FFF h3FFD h

0003 h0001 h

16 K

registros

x 8 bitA15……A0 D15….D0

Bus de Direcciones

Bus de Datos

Page 15: Sistemas Microprocesados

0001 h0000 h

3FFE h3FFC h

8 Bits

64 K

registros

x 8 bitD15….D0

Contador de Programa

PCBus de Datos

Page 16: Sistemas Microprocesados

MicrocontroladoresUn microcontrolador es un circuito integrado que incluye en su interior las tresunidades funcionales de una computadora: unidad central de procesamiento,distintos tipos de memoria y periféricos de entrada y salida.

Esquema básico de un Microcontrolador• Un microcontrolador difiere de una CPU normal, debido a que es más fácilconvertirla en una computadora en funcionamiento, con un mínimo de chipsexternos de apoyo.

• El dispositivo es programado a través de sus pines en el modo programación.Estos mismos pines tienen una función diferente cuando el Microcontrolador está enoperación.

• Un microcontrolador típico tiene un generador de reloj integrado y una pequeñacantidad de memoria RAM y/o ROM/EPROM/EEPROM/FLASH, significando que parahacerlo funcionar, todo lo que se necesita son un pequeño programa de control y uncristal de sincronización.

• Los microcontroladores disponen generalmente también de una gran variedad dedispositivos de entrada/salida, como convertidores analógico a digital,temporizadores, UARTs y buses de interfaz serie especializados, como I2C SPI.

Page 17: Sistemas Microprocesados

Registros internos CPU del MSP430G2553

Conjunto de Registros

El conjunto de registros internos de la CPU se integran con registros de propósitos específicos y registros de propósitos generales

Registros de Propositos Genarales

Page 18: Sistemas Microprocesados

Registros de Propósitos Generales

R4 a R15: Registros de datos. Son registros para realizar las operaciones aritméticas,matemáticas y lógicas por excelencia.

Registros Punteros e Índices

PC/R0: Es el Puntero de Instrucciones (16 Bits) y contiene la dirección de la próxima instrucción a ser accedida en la búsqueda (Fetch) por el microprocesador en el Programa guardado en FLASH, para se ejecutado por la maquina (procesador).

SP/R1: Es el registro Puntero de Stack; se utiliza para seleccionara el tope de la Pila LIFO del Stack, donde se guarda el valor del PC y otros registros en operaciones como el Status (SR/R2) interrupciones, Saltos con retorno, etc.

SR/R2: Es el registro de estado donde se guardan las condiciones que resultan de las operaciones como suma, resta, desplazamiento, etc, en la ALU u además las condiciones del procesador.

Generador del Sistema de reloj 1: Cuando se establece, se apaga el SMCLK SCG0.•Generador Reloj del sistema de 0: Cuando se establece, se apaga el generador de corriente continua DCO, si DCOCLK no se utiliza para MCLK o SMCLK .•OSCOFF:Oscilador Off. Cuando se coloca a 1’, se apaga el oscilador de cristal LFXT1, cuando LFXT1CLK no se utilizan para MCLK o SMCLK• CPUOFF CPU off. Cuando es set (1’), apaga the CPU

Page 19: Sistemas Microprocesados

4 6 6

codigo

operativo

referencia

operando 1

referencia

operando 2

Instrucciones Complejas de varios operandosEn las estructuras de instrucciones CISC generalmente las instrucciones estáncompuestas por varios bytes que acompañan al Código de Operaciones. Las nano-instrucciones del decodificador de instrucciones, reconoce la condición e incrementael PC el numero de registros necesarios para posicionarse en la siguiente a serejecutada.

Memoria de instrucciones

64 KB

Operando 1-2

Operando1-1

Op. Cod. Instrucc 1

Operando1-2Op. Cod.Instrucc 2

PC

PC+3

Page 20: Sistemas Microprocesados

Banderas y habilitadores del Registro de Estado (SR/R2)

•GIE: General de habilitación de interrupción. Cuando se establece, permite interrupciones enmascarables. Al reinicio, todas las interrupciones están deshabilitadas enmascarable .

•N Negative bit: Se establece cuando el resultado de una operación de palabra byte o es negativo y se limpia cuando el resultado no es negativo.

N es colocado a´l valor del bit 15 del resultado.

•Byte operation: N se establece en 1 cuando el valor del bit 7 del resultado es 1’.

•Z Zero bit. Se establece cuando el resultado de una operación de palabra byte o es 0 y se aclaró cuando el resultado no es 0.

•C Carry bit. Se establece a 1’ cuando el resultado de una operación de palabra byte o produce un acarreo y se aclaró cuando se produjo ningún acarreo.

•CG2/R3: Generador de constantes utilizado en ciertas instrucciones.

Page 21: Sistemas Microprocesados

Diagrama de representación de la operación de salto a Subrutina (en memoria Flash)

Ejemplo: Se supone que el contenido del PC= 0100hCuando se ejecuta la instrucción: Call 05F0 h

8 Bit

Nuevo PC= 05F0

Base= 400h

Offset del Salto= 1F0h

Programa principal

+

Call64 KB

Instrucción destino

RETURN

Page 22: Sistemas Microprocesados

Base Segmento de Pila= 0200h+8=0208h

Puntero de StackSP= 0208h

Segmento de

Pila

+

512B

R4

R5

R6

Ejemplo de Direccionamiento del Stack o Pila (en memoria RAM)

Considerando que el SP/R1= 400h y se ejecuto la secuencia de programa.CALL SUBRUT

. .

. .

SUBRUT PUSH SR

PUSH R4PUSH R5PUSH R6 . .

. .RET

PC/R0SR/R2

Page 23: Sistemas Microprocesados

Arquitecturas de los Microcontroladores

Básicamente existen dos arquitecturas de computadoras, y por supuesto, están presentes en el mundo de los microcontroladores: Von Neumann y Harvard. Ambas se diferencian en la forma de conexión de la memoria al procesador y en los buses que cada una necesita.

La arquitectura Von Neumann es la que se utiliza en las computadoras personales y algunos microcontroladores, para ella existe una sola memoria, donde coexisten las instrucciones de programa y los datos, accedidos con un bus de dirección, uno de datos y uno de control (Microcontroladores MOTOROLA).

La otra variante es la arquitectura Harvard, y por excelencia la utilizada en los microcontroladores, y sistemas integrados en general. En este caso, además de la memoria, el procesador tiene los buses separados, de modo que cada tipo de memoria tiene un bus de datos, uno de direcciones y uno de control (Microcontroladores MICROCHIP, ATMEL)

La ventaja fundamental de esta arquitectura es que permite adecuar el tamaño de los buses a las características de cada tipo de memoria; además, el procesador puede acceder a cada una de ellas de forma simultánea, lo que se traduce en un aumento significativo de la velocidad de procesamiento, típicamente los sistemas con esta arquitectura pueden ser varias veces más rápidos que sistemas similares con arquitectura Von Neumann.

Page 24: Sistemas Microprocesados

Esquema de la arquitectura de un microcontrolador de arquitectura Von Neumann

Page 25: Sistemas Microprocesados

Mapa de memoria de Programa del MSP430G2553

0200h

03FFh

Memoria FLASH

1FFFFh

0C000h

0FFFFh

Registros RAM

Registros de zona de

programa

Page 26: Sistemas Microprocesados

Arquitectura Harvard

La otra variante es la arquitectura Harvard, y por excelencia la utilizada en los microcontroladores, y sistemas integrados en general. En este caso, además de la memoria, el procesador tiene los buses separados, de modo que cada tipo de memoria tiene un bus de datos, uno de direcciones y uno de control (Microcontroladores MICROCHIP, ATMEL)La ventaja fundamental de esta arquitectura es que permite adecuar el tamaño de los buses a las características de cada tipo de memoria; además, el procesador puede acceder a cada una de ellas de forma simultánea, lo que se traduce en un aumento significativo de la velocidad de procesamiento, típicamente los sistemas con esta arquitectura pueden ser varias veces más rápidos que sistemas similares con arquitectura Von Neumann.

Page 27: Sistemas Microprocesados

Registros internosSon un espacio de memoria reducido pero necesario para cualquier microprocesador, de aquí se toman los datos para varias operaciones que debe realizar el resto de los circuitos del procesador. Los registros sirven para almacenar los resultados de la ejecución de instrucciones, cargar datos desde la memoria externa o almacenarlos en ella.

Unidad de controlEsta unidad es de las más importantes en el procesador, en ella recae la lógica necesaria para la decodificación y ejecución de las instrucciones, el control de los registros, la ALU, los buses y los dispositivos periféricos.

Conjunto de instruccionesEl repertorio de instrucciones, determina lo que puede hacer el procesador. Define las operaciones básicas que puede realizar el procesador, que conjugadas y organizadas forman lo que conocemos como software. Existen dos tipos básicos de repertorios de instrucciones, que determinan la arquitectura del procesador: CISC y RISC

Page 28: Sistemas Microprocesados

Formato de los SET de Instrucciones

CISC:Del inglés Complex Instruction Set Computer, Computadora de Conjunto deInstrucciones Complejo. Los microprocesadores CISC tienen un conjunto deinstrucciones que se caracteriza por ser muy amplio y que permiten realizar operacionescomplejas entre operandos situados en la memoria o en los registros internos.

Este tipo de repertorio dificulta el paralelismo entre instrucciones, por lo que en laactualidad, la mayoría de los sistemas CISC de alto rendimiento:Convierten las instrucciones complejas en varias instrucciones simples del tipo RISC,llamadas generalmente microinstrucciones.

RISC:Del inglés Reduced Instruction Set Computer, Computadora con Conjunto deInstrucciones Reducido. Se centra en la obtención de procesadores con las siguientescaracterísticas fundamentales:• Instrucciones de tamaño fijo• Pocas instrucciones

Sólo las instrucciones de carga y almacenamiento acceden a la memoria de datos

Una de las características más destacables de este tipo de procesadores es queposibilitan el paralelismo en la ejecución, y reducen los accesos a memoria.

Es por eso que los procesadores más modernos, tradicionalmente basados enarquitecturas CISC implementan mecanismos de traducción de instrucciones CISC aRISC, para aprovechar las ventajas de este tipo de procesadores.

Page 29: Sistemas Microprocesados

Interrupciones

Es un proceso de interrupción en la ejecución del programa o tarea que estaejecutando el procesador para atender mediante una rutina dedicada, un evento deorigen interno o externo generalmente de mayor prioridad.

Cada una de estas operaciones obtiene un vector de la tabla de vectores de interrupcióny luego llama al procedimiento ubicado en esa posición.

Instr N-1 Instr. N Instr. N+1

Instr. N+2

Tarea Principal

RETI Retorno de Rutina de

interrupciónDirección del vector invocado por la tarea

Page 30: Sistemas Microprocesados

Tipos de Interrupciones del microprocesador

NMI: Interrupción del tipo No Enmascarable que se origina cuando se activa un flanco ascendente en el pin RST/NMI del procesador.

IRQ: Son interrupción del tipo Enmascarable, pueden der habilitadas o deshabilitadas y se originan externamente.

Esta interrupción posee máxima prioridad, generalmente es utilizada en caso de tareas de máxima prioridad para salvar los registros principales de trabajo.

Interrupciones Externas: Son solicitud atención de interrupciones tipo IRQ, originadas por pines de los puertos cuando están como entrada y son originadas por eventos que solicitan atención .

Interrupciones originadas por periféricos para ejecutar una rutina de uso y atención de recursos o manejo de periféricos.

Page 31: Sistemas Microprocesados

El numero N de 2 bytes, es el numero de vector de la Tabla de Vectores deInterrupción, las interrupciones tienen minima prioridad con respecto a las tareasdel sistema operativo, a menos que se fije su prioridad.

Ofsset IP (inf.)

Ofsset IP (Sup.) 2

Bytes

Vector de Interrupción

El Usuario puede programar el microcontrolador para que guarde parámetros o valores contenidos en los registros en el área de memoria del STACK POINTER usando la instrucción PUSH. Estos valores se guardaran en la pila según lo indique el SP/R1.

También puede extraerlos a los valores guardados usando la instrucción POP, en el orden que estan guardados según indica el STACK POINTER.

Page 32: Sistemas Microprocesados
Page 33: Sistemas Microprocesados

Base Segmento de Pila= 0200h+8=0208h

Puntero de StackSP= 0208h

Segmento de

Pila

+

512B

R4

Ejemplo de Guardado de contexto de interrpcion en Stack o Pila (en memoria RAM)

Considerando que el SP/R1= 200h y se esta ejecutando la secuencia de programa siguiente y ocurre una interrupcion.

MOV R5, REG1. .. .

ADD #10,R5

PESO PUSH R4. . . .

POP R4RETI

PC/R0 (PESO)SR/R2

Page 34: Sistemas Microprocesados

Procedimiento de Atención de una Interrupción

Cada vez que se ejecuta una interrupción de software o hardware elprocesador realiza el siguiente procedimiento automáticamente:1.- Almacena en la Pila o Stack el valor del registro PC del lugar deretorno.2.- Almacena en la Pila el registro SR/R2 (Status).

3.- Carga los nuevos valores de la rutina en PC desde el vector deinterrupción.4.- Salta a la dirección de la rutina del usuario.

5.- Se salva el entorno en el Stack, y generalmente el usuario mediante lainstrucción PUSHF guarda los registros útiles en el Stack.Usando PUSHA pueden guardarse los registros internos que no se debenalterar en la ejecución del rutina de interrupción del procesador de 16 bit.Para ello se requieren varios lugares del puntero de pila SP el cual se autodecrementa tantas posiciones como sea necesario.

6.- Procede a ejecutar la rutina especifica para la atención de interrupción.

Page 35: Sistemas Microprocesados

7.- Se procede a limpiar la bandera (Flag) que originó el evento. Si lasInterrupciones son externas, En los registros de flag de Interrupciones selimpian por hardware las banderas correspondientes una vez atendidaspor el procesador.

8.- El usuario debe recuperar el registro en el orden acumulado en la pila yen especial el registro de Status SR/R2, y los registros principalesacumulados en el Stack mediante la instrucción POP.

9.- Retorno de rutina de interrupción al punto de partida en la tarea quefue interrumpida mediante la instrucción RETI. Esta instrucción recuperalas valor y la dirección de origen formada por PC/R0 y el Status RegisterSR/R2.

Page 36: Sistemas Microprocesados

Diagrama interno representativo de una CPU

M bits

PC

Buscador de Instrucciones

(Fetcher)

Bus de Direcciones

(Address Bus)

Bus de Datos e Instrucciones

Registro de Instrucciones

(IR)

Decodificador de

Instrucciones (ID)

N bits

Memoria de Instrucciones y Secuenciador

Registro de Trabajo (W)

Registro de Estado (STATUS)

Interfase con la Memoria

Señales de

control internas

Señales de

control externas