EL MICROPROCESADOR

131
SISTEMAS MICROPROGRAMABLES

description

SISTEMAS MICROPROGRAMABLES. EL MICROPROCESADOR. SISTEMAS MICROPROGRAMABLES. INDICE DE CONTENIDOS:. Definición de equipo microprogramable Bloques de un sistema microprogramable Clasificación de los sistemas microprogramables El microprocesador Tipos de microprocesadores - PowerPoint PPT Presentation

Transcript of EL MICROPROCESADOR

Page 1: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

Page 2: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

Definición de equipo microprogramable

Bloques de un sistema microprogramable

Clasificación de los sistemas microprogramables

El microprocesador

Tipos de microprocesadores

Sistema basado en un microprocesador

Arquitectura interna de un microprocesador

Programación

Page 3: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

Un sistema microprogramables es un sistema digital formado por uno o

varios “chips”, capaz de leer, interpretar y posteriormente ejecutar, de forma secuencial, las instrucciones contenidas en un PROGRAMA, a una

elevada velocidad.

Page 4: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

Aplicaciones informáticas

Control de procesos industriales

Aplicaciones de control en aparatos electrodomésticos.

Page 5: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

Cuando se realiza el estudio de un sistema microprogramable, todos los

conceptos relacionados con el sistema se agrupan bajo dos términos

genéricos:

HARDWARE

SOFTWARE

Page 6: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

Periféricos

Sistema de

controlexterno

Memoriainterna C.P.U Reloj

Unidadentrada/salida

Usuario/a

Receptores

Page 7: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

LOS MICROPROCESADORES

Microprocesadores

En este caso el sistema microprogramables está dividido en varios chips, denominándose

el más importante MICROPROCESADOR.

Los microprocesadores se utilizan en aquellas aplicaciones en las que se quiere grandes cantidades de memoria, ejecutar una gran cantidad de programas o se prevea hacer

ampliaciones realizando las tareas a una gran velocidad.

Page 8: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

SISTEMA MICROPROGRAMABLE BASADO EN UN MICROPROCESADOR

Microprocesadores

Page 9: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

TIPOS DE MICROPROCESADORES

Microprocesadores

MICROPROCESADORES RISC

MICROPROCESADORES CISC

Microprocesadores con un set de instrucciones reducido (entre 35 y 40). Instrucciones simples y realizables en un ciclo máquina

Microprocesadores con un set de instrucciones complejo (más de 80).Se necesitan varios ciclos máquinas para realizar una instrucción

Las CPU,s atendiendo al juego de instrucciones que utilizan pueden clasificarse en:

Page 10: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

SISTEMA MICROPROGRAMABLE BASADO EN UN MICROPROCESADOR (μP)

Microprocesadores

Page 11: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

SISTEMA MICROPROGRAMABLE BASADO EN UN MICROPROCESADOR

Microprocesadores

CPU (Chip microprocesador)

El microprocesador controla, por medio de las instrucciones que decodifica e interpreta: las

memorias, la unidad I/O y a través de esta última, los periféricos y sistemas de control externo.

El microprocesador es un circuito integrado que internamente posee: Una unidad de control, una unidad operativa y unos registros de trabajo.

Page 12: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

SISTEMA MICROPROGRAMABLE BASADO EN UN MICROPROCESADOR

Microprocesadores

RELOJ:

El microprocesador genera todos los impulsos de control de los restantes bloques, partiendo de

ondas cuadradas de frecuencia constante generadas por el reloj.

La señal de reloj determina la velocidad de operación o funcionamiento del microprocesador.

Page 13: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

SISTEMA MICROPROGRAMABLE BASADO EN UN MICROPROCESADOR

Microprocesadores

CIRCUITOS DE SELECCIÖN DE “CHIPS”

Forman un conjunto de decodificadores que tienen la finalidad de obtener, partiendo del bus

de direcciones, las señales de autorización o chip select de cada bloque del sistema.

Page 14: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

SISTEMA MICROPROGRAMABLE BASADO EN UN MICROPROCESADOR

Microprocesadores

MEMORIA RAM (Memoria de Acceso Aleatorio)

La función de este circuito integrado en los sistemas microprogramables es la de contener los programas y los datos que el usuario/a o la CPU,

pueden variar a voluntad.

En ella se pueden guardar datos en una operación de escritura o recuperar datos en una operación de

lectura.

Es una memoria volátil

Page 15: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

SISTEMA MICROPROGRAMABLE BASADO EN UN MICROPROCESADOR

Microprocesadores

MEMORIA ROM (Memoria de solo lectura)

La función de este tipo de memoria en un equipo microprogramable es la de contener los datos y

programas de arranque que precisan los sistemas microprogramables para su activación, o el programa

de funcionamiento para aquellos sistemas destinados a la automatización.

Es un tipo de memoria de la cual solo se puede leer la información en ella almacenada. Es una memoria no

volátil

Page 16: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

SISTEMA MICROPROGRAMABLE BASADO EN UN MICROPROCESADOR

Microprocesadores

UNIDAD DE ENTRADA/SALIDA (Unidad I/O)

Todo sistema microprogramable necesita comunicarse con el exterior, bien para recibir información bien para

enviarla.

Los dispositivos de entrada y salida constituyen el elemento de comunicación entre los circuitos internos (

CPU, memorias..) y los externos.

Page 17: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

SISTEMA MICROPROGRAMABLE BASADO EN UN MICROPROCESADOR

Microprocesadores

BUSES :

Se definen como el conjunto de grupos de cables que transportan información del mismo tipo y que sirven para realizar la comunicación

entre los diferentes bloques del sistema microprogramable.

Page 18: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

SISTEMA MICROPROGRAMABLE BASADO EN UN MICROPROCESADOR

Microprocesadores

BUSES :

BUS DE DATOS: (Data bus)

Destinado a transportar los datos entre los diferentes bloques.Su número de hilos depende de la longitud de la palabra binaria con que trabaja el sistema.

Se representan con la letra “D”

D0 ..................D7

Page 19: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

SISTEMA MICROPROGRAMABLE BASADO EN UN MICROPROCESADOR

Microprocesadores

BUSES :

BUS DE DIRECCIONES: (Address bus)

Su misión es la de transmitir, al bloque correspondiente,la dirección con la que va a

trabajar la CPU.

El número de líneas que lo forman depende del fabricante del microprocesador y determina la

máxima cantidad de memoria que es capaz de gobernar.

A0........AN

Page 20: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

SISTEMA MICROPROGRAMABLE BASADO EN UN MICROPROCESADOR

Microprocesadores

BUSES :

BUS DE DATOS: (Data bus)

Destinado a transportar los datos entre los diferentes bloques.Su número de hilos depende de la longitud de la palabra binaria con que trabaja el sistema.

Se representan con la letra “D”

Page 21: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

SISTEMA MICROPROGRAMABLE BASADO EN UN MICROPROCESADOR

Microprocesadores

BUSES :

BUS DE CONTROL: (Control bus)

Los microprocesadores suelen utilizar una serie de líneas para enviar o recibir órdenes que realizan funciones diversas.:líneas de R/W en la memoria, RESET o inicialización, líneas de interrupción etc..

Page 22: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

SISTEMA MICROPROGRAMABLE BASADO EN UN MICROPROCESADOR

Microprocesadores

PERIFERICOS :

Estos dispositivos realizan dos tipos de funciones:

Comunicación entre el sistema y el usuario

Almacenamiento masivo de información

Page 23: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

SISTEMA MICROPROGRAMABLE BASADO EN UN MICROPROCESADOR

Microprocesadores

SISTEMA DE CONTROL EXTERNO :

Constituyen un conjunto de circuitos que sirven para realizar la comunicación entre el sistema microprogramable y los procesos industriales o máquinas por él controlados.En sus estructura intervienen los siguientes elementos:

Transductores

Convertidores A/D y D/A

Componentes de potencia

Page 24: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

Microprocesadores

Page 25: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

Microprocesadores

ARQUITECTURA INTERNA BASICA DE UN MIROPROCESADOR

Para poder realizar todas las misiones encomendadas al microprocesador, el/la

diseñador/a reúne y relaciona una serie de componentes que se clasifican en tres grandes

grupos:

UNIDAD DE CONTROL

REGISTROS DE TRABAJO

UNIDAD OPERATIVA

Page 26: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

Microprocesadores

ARQUITECTURA INTERNA BASICA DE UN MIROPROCESADOR

Unidad de Control

Unidad Operativa

Registros

Unidad de Control

Se encarga de la interpretación y ejecución de las instrucciones, así

como del control de todos los

componentes internos y externos

que forman el sistema.

μP

Page 27: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

Microprocesadores

ARQUITECTURA INTERNA BASICA DE UN MIROPROCESADOR

Unidad de Control

Unidad Operativa

Registros

Se encarga de realizar las

operaciones aritméticas, lógicas y de rotación bajo la supervisión de la unidad de control

Unidad OperativaμP

Page 28: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

Microprocesadores

ARQUITECTURA INTERNA BASICA DE UN MIROPROCESADOR

Unidad de Control

Unidad Operativa

Registros

Son unidades de almacenamiento

temporal de información.Algunos

tienen una función concreta y otros se

emplean en múltiples tareas.

RegistrosμP

Page 29: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLESARQUITECTURA INTERNA CONVENCIONAL DE UN MIROPROCESADOR

Page 30: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

Microprocesadores

MICROPROCESADORES DE 8 BITS:

MICROPROCESADOR 6502 (ROCKWELL)

MICROPROCESADOR 6800 (MOTOROLA)

MICROPROCESADOR 8085

(INTEL)

MICROPROCESADOR Z80

(ZILOG)

Page 31: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

Microprocesadores

MICROPROCESADORES DE 8 BITS:

ROCKWELL 6502

Tecnología NMOS y CMOS (Versión 65C02)

Direccionamiento 64Kbytes

Frecuencia reloj: 1MHz y 3MHz según versión

Set de instrucciones 56 (Versión 65C02 es de 68)

Alimentación + 5V

Page 32: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

Microprocesadores

MICROPROCESADORES DE 8 BITS:

ROCKWELL 6502

Page 33: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

Microprocesadores

MICROPROCESADORES DE 8 BITS:

MOTOROLA 6800

Tecnología NMOS en 1974

Direccionamiento 64Kbytes

Frecuencia reloj: 1MHz y 2MHz según versión

Set de instrucciones 72

Alimentación + 5V

Tecnología NMOS en 1974

Direccionamiento 64Kbytes

Frecuencia reloj: 1MHz y 2MHz según versión

Set de instrucciones 72

Alimentación + 5V

Page 34: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

Microprocesadores

MICROPROCESADORES DE 8 BITS:

MOTOROLA 6800

Page 35: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

Microprocesadores

MICROPROCESADORES DE 8 BITS:

ZILOG Z80

Tecnología NMOS en 1976

Direccionamiento 64Kbytes

Frecuencia reloj: 2,4MHz y 4,5MHz

Set de instrucciones 158

Alimentación + 5V

Tecnología NMOS en 1976

Direccionamiento 64Kbytes

Frecuencia reloj: 2,4MHz y 4,5MHz

Set de instrucciones 158

Alimentación + 5V

Page 36: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

Microprocesadores

MICROPROCESADORES DE 8 BITS:

ZILOG Z80

Page 37: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

Microprocesadores

MICROPROCESADORES DE 8 BITS:

INTEL 8085

Tecnología NMOS en 1977

Direccionamiento 64Kbytes

Frecuencia reloj: 5MHz

Set de instrucciones 80

Alimentación + 5V

Tecnología NMOS en 1977

Direccionamiento 64Kbytes

Frecuencia reloj: 5MHz

Set de instrucciones 80

Alimentación + 5V

Page 38: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

Microprocesadores

MICROPROCESADORES DE 8 BITS:

INTEL 8085

Page 39: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

CARACTERICTICAS GENERALES

Precisa de a sola alimentación + 5V

Generador interno de señal de reloj

Ciclo de instrucción 1,3 microsegundos

Líneas de entrada y salida serie

Bus de direcciones de 16 líneas

Direccionamiento de 64K

Bus de datos 8 líneas - multiplexado

Page 40: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

ESTRUCTURA EXTERNA:

Page 41: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

DIAGRAMA DE CONEXIONADO

Page 42: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

ESTRUCTURA INTERNA

Page 43: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

ESTRUCTURA INTERNA

Page 44: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

LOS REGISTROS: El Acumulador (A)

Es el registro principal del micro y a él están referidas la mayor parte de las operaciones de la ALU.

Actúa como registro de datos y resultados en las operaciones realizadas por la ALU.

Es un registro de 8 bits

Page 45: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

REGISTROS AUXILIARES:

Estos registros de trabajo se utilizan para almacenar datos y resultados intermedios dentro de la CPU.

Este micro tiene 6 registros auxiliares.

Pueden trabajar de forma independiente (8 bits) o por parejas (16 bits)

Page 46: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

LOS REGISTROS:

REGISTRO DE ESTADO / REGISTRO DE FLAGS

Es un registro de 8 bits de los cuales solo 5 actúan de

señalizadores de la última operación que se halla realizado en

el registro Acumulador (A)

Page 47: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

LOS REGISTROS:

REGISTRO DE ESTADO / REGISTRO DE FLAGS

S Z AC CYP

CY

P

AC

Z

S

Señalizador de paridad

Señalizador de acarreo

Señalizador de carry auxiliar

Señalizador de cero

Señalizador de signo

Page 48: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

CONTADOR DE PROGRAMA:

Es un registro de 16 bits, en los

microprocesadores de 8 bits, que tiene la misión de almacenar la próxima

dirección de la instrucción a ejecutar.

Se autoincrementa automáticamente, una

vez ejecutada la instrucción anterior.

Page 49: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

PILA DE MEMORIA (STACK):

Se denomina pila de memoria (STACK) a una zona de la RAM, cuyo tamaño varía de unos microprocesadores a otros, reservada expresamente para que la CPU o el/la

programador/a puedan guardar los datos.

La pila de memoria funciona como una memoria de acceso LIFO ( último en entrar primero en salir))

Page 50: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

PUNTERO DE PILA (STACK POINTER):

Se denomina puntero de pila (STACK POINTER) a un registro especial de la

CPU que nos indica la próxima dirección libre de la

pila de memoria y que se decrementa e incrementa

automáticamente cada vez que se ejecuta una

instrucción de llamada a subrutina.

Page 51: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

REGISTRO DE DATOS:

El registro e datos es una unidad para el

almacenamiento de los datos que llegan a la CPU o parten de ella, a través del

bus de datos.

El registro de datos establece una

comunicación bidireccional.

Incorpora buffers triestado, uno por cada bit

Page 52: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

REGISTRO DE DATOS: TRIESTADO

Buffer Triestado: Son circuitos integrados que se conectan a la entrada o a la salida de un C.I. normal, y, de este modo, permitir que pueda trabajar en lógica triestado.

Buffer 8216 de INTEL

Page 53: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

REGISTRO DE DATOS: TRIESTADO

Integrados digitales triestado: Son circuitos integrados que llevan incluidos en su estructura un registro triestado en cada una de sus salida y entradas.

Microprocesadores y Memorias

Page 54: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

REGISTRO DE DIRECCIONES:

La misión de este registro es la de almacenar las

direcciones que el micro envía al bus de direcciones

y separar a las unidades internas del citado bus por medio de un conjunto de

buffers triestado unidireccionales.

Este registro poseerá una capacidad de 16 bits

Page 55: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

GENERADOR INTERNO DE LAS SEÑALES DE RELOJ:

Contiene un generador de señales de reloj, que solo

precisa estabilizar su frecuencia mediante un cristal de cuarzo que se coloca entra las patillas

X1 y X2.

También acepta el control desde un reloj externo

aplicado en la patilla X1.Cristal = 6,25MHz

Page 56: EL MICROPROCESADOR

Microprocesadores

INTERRUPCIONES EN UN MICRO DE 8 BITS:

Las interrupciones constituyen el mecanismo más importante para la

conexión del sistema microprocesador al mundo exterior,

sincronizando la ejecución del programas con entradas y/o salidas

de datos.

Page 57: EL MICROPROCESADOR

Microprocesadores

INTERRUPCIONES EN UN MICRO DE 8 BITS:

Las interrupciones se pueden producir en cualquier momento de

la ejecución de un programa, al activarse un terminal de entrada de

la CPU, es decir, mediante un mecanismo hardware.

Page 58: EL MICROPROCESADOR

Microprocesadores

INTERRUPCIONES EN UN MICRO DE 8 BITS:

Cuando un microprocesador, que está ejecutando un programa, recibe una orden hardware por medio de un impulso en la patilla de solicitud de

interrupción, realiza el siguiente proceso:

Page 59: EL MICROPROCESADOR

Microprocesadores

INTERRUPCIONES EN UN MICRO DE 8 BITS:

1º.- Para la ejecución del programa y guarda en el stack la dirección de retorno al programa principal.

2º.- Carga en el contador de programa la dirección de la subrutina de atención.

3º.- Al final de la subrutina de atención, el microprocesador encuentra la instrucción de fin de interrupción, recuperando de la pila la dirección de retorno al programa principal.

Page 60: EL MICROPROCESADOR

Microprocesadores

INTERRUPCIONES EN UN MICRO DE 8 BITS:

En los microprocesadores suelen existir al menos dos tipos de interrupciones hardware y una software, jerarquizadas por orden de prioridad:

INTERRUPCIONES ENMASCARABLES

INTERRUPCIONES NO ENMASCARABLES

Page 61: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INTERRUPCIONES:

El bloque interno del 8085 destinado al control de las interrupciones, consta de 5 líneas por las cuales se puede solicitar una interrupción de la CPU, desde el exterior.

Hay tres tipos de interrupciones:

Interrupción INTR ( enmascarable )

Interrupciones RST 5.5, RST 6.5 y RST 7.5 (enmascarable)

Interrupción TRAP (no enmascarable)

Page 62: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

DIAGRAMA DE CONEXIONADO

BUS de CONTROL (13)

+Vcc

8085

TRAP

RST 7.5

RST 6.5

RST 5.5

INTR

INTA

CLK

X1

X2

Vss

AD0.....AD7

A8 ..... A15

Page 63: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INTERRUPCION INTR:

Interrupción enmascarable

Cuando se solicita se puede atender o no, de acuerdo con el estado de una máscara que se gobierna con dos instrucciones EI ( permiso) y DI (prohibición).

Cuando el micro reconoce y ejecuta la interrupción INTR, activa la línea de salida INTA, que sirve para comunicar al peticionario la concesión de la interrupción.

Page 64: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INTERRUPCION INTR:

8085

PERIFERICOINTR

INTA

Bus de Datos (8)

Código de la instrucción a ejecutar

8

Page 65: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INTERRUPCIONES RST 5.5, RST 6.5, RST 7.5:

Interrupciones enmascarables.

Estas interrupciones pueden validarse o invalidarse en grupo, mediante las instrucciones EI y DI.

Las interrupciones RST 5.5 y RST 6.5 son sensibles al nivel activo.

La interrupción 7.5 es sensible al flanco ascendente.

Page 66: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INTERRUPCIONES RST 5.5, RST 6.5, RST 7.5:

Page 67: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INTERRUPCION TRAP:

Interrupción no enmascarable, o sea, siempre se atiende.

Un flanco de subida en la TRAP determina la ejecución, sin condiciones, de la interrupción.

Dicha interrupción debe permanecer en nivel alto hasta que el procesador detecte y reconozca la petición.

Page 68: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INTERRUPCION TRAP:

Page 69: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

NIVEL DE PRIORIDAD EN LAS INTERRUPCIONES :

Page 70: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

EQUIPO uP-2000

Page 71: EL MICROPROCESADOR

Microprocesadores

R6522

PINES EXTERNOS:

Page 72: EL MICROPROCESADOR

Microprocesadores

R6522

MONTAJE PRACTICO:

Page 73: EL MICROPROCESADOR

Microprocesadores

R6522

MONTAJE PRACTICO:

Page 74: EL MICROPROCESADOR

Microprocesadores

LAS SUBRUTINAS EN UN MICROPROCESADOR:

Una subrutina se define como : el grupo de instrucciones de un

programa que se repiten íntegramente en varias zonas de

este.

El objetivo de emplear subrutinas es el de disminuir el tamaño de los programas que contienen tareas repetitivas.

Page 75: EL MICROPROCESADOR

Microprocesadores

LAS SUBRUTINAS EN UN MICROPROCESADOR:

Supongamos que un sistema microprogramable debe controlar la activación y desactivación de tres

motores a intervalos de tiempo de 30 segundos.

El diagrama de flujo de la secuencia de trabajo será la siguiente:

Page 76: EL MICROPROCESADOR

Microprocesadores

LAS SUBRUTINAS EN UN MICROPROCESADOR:

Act. Motor 1

Temporización

Act. Motor 2

Temporización

Act. Motor 3

Temporización

FIN

Inicio

Page 77: EL MICROPROCESADOR

Microprocesadores

LAS SUBRUTINAS EN UN MICROPROCESADOR:

Observando el ordinograma nos damos cuenta que el bloque temporizador formado por una serie de instrucciones, se repite tres veces en el programa principal. Esta repetición supone:

Trabajo adicional para el programador o programadora, que tiene que repetir varias veces el mismo conjunto de instrucciones

El inconveniente para la memoria de una mayor longitud de programa y por tanto un mayor espacio ocupado.

Page 78: EL MICROPROCESADOR

LAS SUBRUTINAS EN UN MICROPROCESADOR:

Inicio

Act. motor1

Act. motor2

Delay

Delay

Act. motor2

Delay

Fin

Delay

Tempo. 30 seg.

RET

Page 79: EL MICROPROCESADOR

Microprocesadores

LAS SUBRUTINAS EN UN MICROPROCESADOR:

Para que pueda definirse una subrutina, son imprescindibles dos tipos de instrucciones:

Instrucción de llamada a subrutina.

Instrucción de retorno de subrutina

Page 80: EL MICROPROCESADOR

Microprocesadores

LAS SUBRUTINAS EN UN MICROPROCESADOR:

Es posible que durante la ejecución de una subrutina, se llame a otra

subrutina y, dentro de esta última, puede llamarse a otra, y así

sucesivamente. A este entrelazamiento de subrutinas, se

denomina SUBRUTINAS ANIDADAS.

Page 81: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

LENGUAJES DE PROGRAMACÖN:

Microprocesadores

Para codificar la información que se introduce a un sistema microprogramable,

es necesario un método o lenguaje que sea fácilmente comprensible tanto para el

sistema como para el usuario/a que realiza la programación

Page 82: EL MICROPROCESADOR

SISTEMAS MICROPROGRAMABLES

LENGUAJES DE PROGRAMACION:

Microprocesadores

Los lenguajes de programación se clasifican en función de la proximidad al lenguaje del sistema en los siguientes tipos:

LENGUAJE MAQUINA (denominada de bajo nivel)

LENGUAJE ENSAMBLADOR (denominado simbólico)

LENGUAJE DE ALTO NIVEL

Page 83: EL MICROPROCESADOR

Microprocesadores

EL SISTEMA LOGICO:

PROGRAMAFUENTE

PROGRAMATRADUCTOR

PROGRAMAOBJETO EJECUTAR

Page 84: EL MICROPROCESADOR

Microprocesadores

EL SISTEMA LOGICO:

Lenguajeensamblador

Programaensamblador

Lenguajemáquina

PROGRAMA FUENTE

PROGRAMA TRADUCTOR

PROGRAMA OBJETO

EJECUTAR

Page 85: EL MICROPROCESADOR

Microprocesadores

EL SISTEMA LOGICO:

Lenguajealto nivel

Programacompilador

Lenguajemáquina

PROGRAMA FUENTE

PROGRAMA TRADUCTOR

PROGRAMA OBJETO

EJECUTAR

Fortran

Cobol

Basic

Page 86: EL MICROPROCESADOR

Microprocesadores

El lenguaje ensamblador , simbólico o nemotécnico, emplea nemónicos, que son grupos de caracteres que simbolizan a las diferentes órdenes o tareas a realizar en cada instrucción.

Los nemónicos se corresponden con las iniciales del nombre de la instrucción en inglés.

Este tipo de lenguaje es utilizado en sistemas microprogramables destinados al mundo de la automatización y la robótica.

Page 87: EL MICROPROCESADOR

ESTRUCTURA DE UN LENGUAJE ENSAMBLADOR:

SINTAXIS DE UN LENGUAJE ENSAMBLADOR.

Microprocesadores

CAMPOS DE UNA INSTRUCCIÓN EN ENSAMBLADOR.

PSEUDOINTRUCCIONES.

Page 88: EL MICROPROCESADOR

ESTRUCTURA DE UN LENGUAJE ENSAMBLADOR:

SINTAXIS DE UN LENGUAJE ENSAMBLADOR.

Etiqueta Nemotécnico Operandos Comentarios

* Estructura de una línea:

* Tipos de líneas

Instrucciones: Ejecutables por el ordenador

Pseudoinstrucciones: No ejecutables

Page 89: EL MICROPROCESADOR

ESTRUCTURA DE UN LENGUAJE ENSAMBLADOR:

CAMPO DE INSTRUCCIONES DE UN LENGUAJE ENSAMBLADOR.

Microprocesadores

ETIQUETA:

* Identifica la línea en la cual se encuentra

* Se asocia a la dirección en la cual se encuentra la instrucción, dato o constante definida.

* Utilizar solo letras o números (comenzar por una letra)

Page 90: EL MICROPROCESADOR

ESTRUCTURA DE UN LENGUAJE ENSAMBLADOR:

CAMPO DE INSTRUCCIONES DE UN LENGUAJE ENSAMBLADOR.

Microprocesadores

NEMOTECNICO:

Identifica:

* Un código de operación del lenguaje

* Una pseudoinstrucción

Page 91: EL MICROPROCESADOR

ESTRUCTURA DE UN LENGUAJE ENSAMBLADOR:

CAMPO DE INSTRUCCIONES DE UN LENGUAJE ENSAMBLADOR.

Microprocesadores

OPERANDOS:

Identifica los operandos que intervienen en la instrucción o pseudoinstrucción

Constantes, símbolos,

Page 92: EL MICROPROCESADOR

ESTRUCTURA DE UN LENGUAJE ENSAMBLADOR:

CAMPO DE INSTRUCCIONES DE UN LENGUAJE ENSAMBLADOR.

Microprocesadores

COMENTARIOS:

• Indicaciones para una mejor comprensión del programa ensamblador.

• Comienzan con el símbolo “ ; ”

Page 93: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

DIAGRAMA DE FLUJO:

El diagrama de flujo, ordinograma u organigrama, es una representación

gráfica del proceso en la resolución de un programa.

Para ello se emplean una serie de símbolos normalizados.

Page 94: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

DIAGRAMA DE FLUJO: Símbolos

PROCESO

DECISION

INICIO / FINAL

SUBRUTINA

LINEA DE FLUJO

Page 95: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

DIAGRAMA DE FLUJO: Ejemplo

CONTADOR

A 00H

A A + 1

A = 15 ? FINNO SI

Page 96: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

DIAGRAMA DE FLUJO: Ejemplo

Descontador

A 15H

A A - 1

A = 0 ? FINNO SI

Page 97: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INSTRUCCIONES

Manipulación y transferencia de datos

Intercambio de datos con la memoria

Instrucciones Aritmético y lógicas

Instrucciones de salto

Instrucciones de llamada y retorno de subrutina

Instrucciones de control de interrupciones

Instrucciones especiales

Page 98: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INSTRUCCIONES

MANIPULACION Y TRANSFERENCIA DE DATOS:

Todas las instrucciones que comprende este grupo se encargan de transferir datos a y desde registros a la memoria.

No hay instrucciones que transfieran datos desde una posición de memoria a otra directamente, siempre hay que hacer el traslado a través de un registro.

No se modifica el registro de FLAGS, por la ejecución de estas instrucciones.

Page 99: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INSTRUCCIONES

MANIPULACION Y TRANSFERENCIA DE DATOS:

MOV r1,r2

Transfiere el contenido del registro de origen al registro de destino .

r2 ..... Registro de origen

r1 ......Registro de destino

Page 100: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INSTRUCCIONES

MANIPULACION Y TRANSFERENCIA DE DATOS:

MVI r,byte

Transfiere el byte inmediato que se especifica al registro r que se indica.

MVI A,2AH

MVI B,F0H

Page 101: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INSTRUCCIONES

MANIPULACION Y TRANSFERENCIA DE DATOS:

LDA addr

Transfiere al acumulador el contenido de la dirección de memoria especificada.

STA addr

Guarda o transfiere el contenido del acumulador a la posición de memoria indicada.

Page 102: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INSTRUCCIONES

INSTRUCCIONES ARITMETICAS :

Este grupo de instrucciones se encargan de soportar las operaciones aritméticas sobre datos contenidos en los registros de trabajo o en posiciones de memoria.

La mayor parte de las instrucciones aritméticas afectan a los señalizadores (FLAGS) del registro de estados.

Page 103: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INSTRUCCIONES

INSTRUCCIONES ARITMETICAS :

El contenido del registro especificado r en la instrucción se suma con el acumulador. El resultado de la suma se deposita en el Acumulador.

ADI byte

El byte especificado en la instrucción se suma con el acumulador. El resultado sigue obteniéndose en el acumulador.

ADD r

Page 104: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INSTRUCCIONES

INSTRUCCIONES ARITMETICAS :

El contenido del registro especificado r en la instrucción se resta del acumulador. El resultado de la suma se deposita en el Acumulador.

SUI byte

El byte especificado en la instrucción se resta del acumulador. El resultado sigue obteniéndose en el acumulador.

SUB r

Page 105: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INSTRUCCIONES

INSTRUCCIONES ARITMETICAS :

INR r

El contenido del registro r, especificado en la instrucción, se decrementa una unidad.

DCR r

El contenido del registro r, especificado en la instrucción, se incrementa una unidad.

Page 106: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INSTRUCCIONES

INSTRUCCIONES LOGICAS :

Con este conjunto de instrucciones se realizan las funciones lógicas que siguen el Algebra de Boole.

En la mayor parte de este grupo de instrucciones quedan afectados todos los señalizadores del registro de estado.

Page 107: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INSTRUCCIONES

INSTRUCCIONES LOGICAS :

ANA r

ANI byte

Esta instrucción realiza una operación lógica AND, bit a bit, entre el contenido del registro r y el acumulador, donde se queda depositado el resultado..

Esta instrucción realiza una operación lógica AND, bit a bit, entre el dato inmediato byte y el acumulador, donde se queda depositado el resultado..

Page 108: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INSTRUCCIONES

INSTRUCCIONES LOGICAS :

ORA r

ORI byte

Esta instrucción realiza una operación lógica OR, bit a

bit, entre l contenido del registro r y el acumulador, donde se queda depositado el resultado..

Esta instrucción realiza una operación lógica OR, bit a bit, entre el dato inmediato byte y el acumulador, donde se queda depositado el resultado..

Page 109: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INSTRUCCIONES

INSTRUCCIONES LOGICAS :

XRA r

XRI byte

Esta instrucción realiza una operación lógica X-OR,

bit a bit, entre l contenido del registro r y el acumulador, donde se queda depositado el resultado..

Esta instrucción realiza una operación lógica X-OR, bit a bit, entre el dato inmediato byte y el acumulador, donde se queda depositado el resultado..

Page 110: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INSTRUCCIONES

INSTRUCCIONES LOGICAS :

CMP r

CPI byte

Compara el contenido del acumulador con el contenido del registro r, especificado en la instrucción

Compara el contenido del acumulador con el dato inmediato byte, especificado en la instrucción

Page 111: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INSTRUCCIONES

INSTRUCCIONES DE BIFURCACION:

Este grupo de instrucciones sirve para alterar el funcionamiento normal del contador de programa, que, generalmente, se incrementa al iniciarse la ejecución de una instrucción.

Con estas instrucciones se provoca una rotura en la ejecución ordenada de las instrucciones de un programa.

Page 112: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INSTRUCCIONES

INSTRUCCIONES DE BIFURCACION:

Hay tres clases de instrucciones para la rotura de la secuencia del programa:

1º.- De salto

2º.- De llamada a subrutina

3º.- De retorno

Page 113: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INSTRUCCIONES

1º.- INSTRUCCIONES DE SALTO:

Produce un salto o bifurcación a cualquier instrucción del programa, distinta a la siguiente que se está ejecutando.

Incondicional

Condicional

JMP addr JNZ addrJZ addrJNC addrJC addr

JPO addrJPE addrJP addrJM addr

Page 114: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INSTRUCCIONES

2º.- INSTRUCCIONES DE LLAMADA A SUBRUTINA:

Produce un salto o bifurcación a cualquier

instrucción del programa, pero además,

guarda en la pila la dirección de la siguiente

instrucción que correspondería realizar

en un proceso secuencial.

Page 115: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INSTRUCCIONES

2º.- INSTRUCCIONES DE LLAMADA A SUBRUTINA:

Incondicional

Condicional

CALL addr CNZ addrCZ addrCNC addrCC addr

CPO addrCPE addrCP addrCM addr

Page 116: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INSTRUCCIONES

3º.- INSTRUCCIONES DE RETORNO:

Produce un salto o bifurcación a la instrucción del programa, cuya dirección está

contenida en las dos primeras posiciones de

la pila.

Page 117: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

INSTRUCCIONES

3º.- INSTRUCCIONES DE RETORNO:

Incondicional

Condicional

RET RNZ addrRZ addrRNC addrRC addr

RPO addrRPE addrRP addrRM addr

Page 118: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

GENERADOR INTERNO DE LAS SEÑALES DE RELOJ:

Contiene un generador de señales de reloj, que solo

precisa estabilizar su frecuencia mediante un cristal de cuarzo que se coloca entra las patillas

X1 y X2.

También acepta el control desde un reloj externo

aplicado en la patilla X1.Cristal = 6,25MHz

Page 119: EL MICROPROCESADOR

Microprocesadores

SEÑAL DE RELOJ:

La señal de reloj permite sincronizar el microprocesador con todo el funcionamiento del sistema.

Cuando nos referimos a la señal de reloj , se hace de dos formas:

Page 120: EL MICROPROCESADOR

Microprocesadores

Es la frecuencia en MHz o GHz que posee la onda cuadrada que se genera en el microprocesador partiendo del cristal de cuarzo

Es el periodo en segundos producida por el microprocesador partiendo del cristal de cuarzo del sistema

Page 121: EL MICROPROCESADOR

Microprocesadores

CICLOS DE TRABAJO DE UN μP:

Cuando un micro se encuentra trabajando, realiza siempre una serie de tareas repetitivas que se denominan ciclos. Estos ciclos de trabajo son:

Page 122: EL MICROPROCESADOR

Microprocesadores

Es el ciclo de trabajo básico del microprocesador y está formada por dos fases bien diferenciadas.

FASE DE BUSQUEDA:

El microprocesador, en esta fase, busca en memoria y transfiere al registro correspondiente la instrucción o el dato

FASE DE EJECUCION:

El microprocesador, en esta fase, interpreta o ejecuta las instrucciones

CICLO MAQUINA = Fase de búsqueda + Fase de ejecución

Page 123: EL MICROPROCESADOR

Microprocesadores

La relación entre el ciclo máquina y la señal de reloj depende del tipo de microprocesador.

FILOSOFIA MOTOROLA:

FILOSOFIA INTEL

CICLO MAQUINA = Ciclo de reloj

CICLO MAQUINA =N x Ciclo de reloj

Page 124: EL MICROPROCESADOR

Microprocesadores

La ejecución completa de una instrucción requiere más de un ciclo máquina, de ahí que se considere el ciclo de instrucción, como el número de ciclos máquina necesarios para procesar por completo una ejecución:

CICLO INSTRUCCION =N x Ciclo máquina

Page 125: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

DIAGRAMA DE TIEMPO:

En este microprocesador la unidad básica de tiempo es el estado, que es un ciclo de reloj y que viene determinado por la mitad de la frecuencia del cristal de cuarzo.

T1 T2 T3 T3

ESTADOS

Page 126: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

DIAGRAMA DE TIEMPO:

Un ciclo máquina consta de 3 a 6 estados

T1 T2 T3 T3

ESTADOS

Ciclo máquina

Page 127: EL MICROPROCESADOR

Microprocesadores

INTEL 8085

DIAGRAMA DE TIEMPO:

El ciclo de una instrucción es el tiempo requerido para ejecutar una instrucción completa y puede comprender de 1 a 5 ciclos máquina.

Page 128: EL MICROPROCESADOR

INTEL 8085

EJERCICIOS DE PROGRAMACION

Se trata de confeccionar un programa que sume dos números. Para mayor sencillez, los dos sumandos se proporcionan de forma inmediata en el programa y toman los valores de 10H y A2H. El resultado de la suma se depositará en la dirección 1240H de la memoria.

a) Realizar el ordinograma

b) Confeccionar el programa ( Analizar diferentes soluciones)

c) Una vez ejecutado el programa, determinar el valor que tomaría el registro de FLAGS

Page 129: EL MICROPROCESADOR

INTEL 8085

EJERCICIOS DE PROGRAMACION

Se trata de confeccionar un programa que realice la siguiente ecuación lógica .Teniendo en cuenta que los datos de las variables son: A ( 20H), B (12H) y C(F5H) El resultado de la operación (F) se depositará en la dirección 1300H de la memoria.

a) Realizar el ordinograma

b) Confeccionar el programa ( Analizar diferentes soluciones)

c) Una vez ejecutado el programa, determinar el valor que tomaría el registro de FLAGS

F = (A+B).C

Page 130: EL MICROPROCESADOR

INTEL 8085

EJERCICIOS DE PROGRAMACION

a) Realizar el ordinograma

b) Confeccionar el programa ( Analizar diferentes soluciones)

c) Una vez ejecutado el programa, determinar el valor que tomaría el registro de FLAGS

Confeccionar un programa que sume tres números, dados de forma inmediata en le propio programa y cuyo resultado no sobrepase el valor FFH (255 en decimal).Los tres números son 17H, 2FH y 0CH.El resultado de la operación se depositará en la dirección 1410H de memoria.

Page 131: EL MICROPROCESADOR

INTEL 8085

EJERCICIOS DE PROGRAMACION

a) Realizar el ordinograma

b) Confeccionar el programa ( Analizar diferentes soluciones)

c) Una vez ejecutado el programa, determinar el valor que tomaría el registro de FLAGS

En este ejercicio se propone la confección de un programa que sume dos operandos X e Y, almacenados en dos posiciones de memoria de la RAM 1030H y 104AH, respectivamente. El resultado de la operaciónse depositará en la posición 1240H.