EL MICROPROCESADOR

Post on 04-Jan-2016

48 views 2 download

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

SISTEMAS MICROPROGRAMABLES

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

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.

SISTEMAS MICROPROGRAMABLES

Aplicaciones informáticas

Control de procesos industriales

Aplicaciones de control en aparatos electrodomésticos.

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

SISTEMAS MICROPROGRAMABLES

Periféricos

Sistema de

controlexterno

Memoriainterna C.P.U Reloj

Unidadentrada/salida

Usuario/a

Receptores

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.

SISTEMAS MICROPROGRAMABLES

SISTEMA MICROPROGRAMABLE BASADO EN UN MICROPROCESADOR

Microprocesadores

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:

SISTEMAS MICROPROGRAMABLES

SISTEMA MICROPROGRAMABLE BASADO EN UN MICROPROCESADOR (μP)

Microprocesadores

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.

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.

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.

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

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

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.

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.

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

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

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”

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

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

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

SISTEMAS MICROPROGRAMABLES

Microprocesadores

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

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

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

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

SISTEMAS MICROPROGRAMABLESARQUITECTURA INTERNA CONVENCIONAL DE UN MIROPROCESADOR

SISTEMAS MICROPROGRAMABLES

Microprocesadores

MICROPROCESADORES DE 8 BITS:

MICROPROCESADOR 6502 (ROCKWELL)

MICROPROCESADOR 6800 (MOTOROLA)

MICROPROCESADOR 8085

(INTEL)

MICROPROCESADOR Z80

(ZILOG)

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

SISTEMAS MICROPROGRAMABLES

Microprocesadores

MICROPROCESADORES DE 8 BITS:

ROCKWELL 6502

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

SISTEMAS MICROPROGRAMABLES

Microprocesadores

MICROPROCESADORES DE 8 BITS:

MOTOROLA 6800

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

SISTEMAS MICROPROGRAMABLES

Microprocesadores

MICROPROCESADORES DE 8 BITS:

ZILOG Z80

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

SISTEMAS MICROPROGRAMABLES

Microprocesadores

MICROPROCESADORES DE 8 BITS:

INTEL 8085

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

Microprocesadores

INTEL 8085

ESTRUCTURA EXTERNA:

Microprocesadores

INTEL 8085

DIAGRAMA DE CONEXIONADO

Microprocesadores

INTEL 8085

ESTRUCTURA INTERNA

Microprocesadores

INTEL 8085

ESTRUCTURA INTERNA

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

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)

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)

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

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.

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

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.

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

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

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

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

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

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.

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.

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:

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.

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

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)

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

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.

Microprocesadores

INTEL 8085

INTERRUPCION INTR:

8085

PERIFERICOINTR

INTA

Bus de Datos (8)

Código de la instrucción a ejecutar

8

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.

Microprocesadores

INTEL 8085

INTERRUPCIONES RST 5.5, RST 6.5, RST 7.5:

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.

Microprocesadores

INTEL 8085

INTERRUPCION TRAP:

Microprocesadores

INTEL 8085

NIVEL DE PRIORIDAD EN LAS INTERRUPCIONES :

Microprocesadores

INTEL 8085

EQUIPO uP-2000

Microprocesadores

R6522

PINES EXTERNOS:

Microprocesadores

R6522

MONTAJE PRACTICO:

Microprocesadores

R6522

MONTAJE PRACTICO:

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.

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:

Microprocesadores

LAS SUBRUTINAS EN UN MICROPROCESADOR:

Act. Motor 1

Temporización

Act. Motor 2

Temporización

Act. Motor 3

Temporización

FIN

Inicio

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.

LAS SUBRUTINAS EN UN MICROPROCESADOR:

Inicio

Act. motor1

Act. motor2

Delay

Delay

Act. motor2

Delay

Fin

Delay

Tempo. 30 seg.

RET

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

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.

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

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

Microprocesadores

EL SISTEMA LOGICO:

PROGRAMAFUENTE

PROGRAMATRADUCTOR

PROGRAMAOBJETO EJECUTAR

Microprocesadores

EL SISTEMA LOGICO:

Lenguajeensamblador

Programaensamblador

Lenguajemáquina

PROGRAMA FUENTE

PROGRAMA TRADUCTOR

PROGRAMA OBJETO

EJECUTAR

Microprocesadores

EL SISTEMA LOGICO:

Lenguajealto nivel

Programacompilador

Lenguajemáquina

PROGRAMA FUENTE

PROGRAMA TRADUCTOR

PROGRAMA OBJETO

EJECUTAR

Fortran

Cobol

Basic

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.

ESTRUCTURA DE UN LENGUAJE ENSAMBLADOR:

SINTAXIS DE UN LENGUAJE ENSAMBLADOR.

Microprocesadores

CAMPOS DE UNA INSTRUCCIÓN EN ENSAMBLADOR.

PSEUDOINTRUCCIONES.

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

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)

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

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,

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 “ ; ”

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.

Microprocesadores

INTEL 8085

DIAGRAMA DE FLUJO: Símbolos

PROCESO

DECISION

INICIO / FINAL

SUBRUTINA

LINEA DE FLUJO

Microprocesadores

INTEL 8085

DIAGRAMA DE FLUJO: Ejemplo

CONTADOR

A 00H

A A + 1

A = 15 ? FINNO SI

Microprocesadores

INTEL 8085

DIAGRAMA DE FLUJO: Ejemplo

Descontador

A 15H

A A - 1

A = 0 ? FINNO SI

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

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.

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

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

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.

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.

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

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

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.

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.

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

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

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

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

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.

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

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

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.

Microprocesadores

INTEL 8085

INSTRUCCIONES

2º.- INSTRUCCIONES DE LLAMADA A SUBRUTINA:

Incondicional

Condicional

CALL addr CNZ addrCZ addrCNC addrCC addr

CPO addrCPE addrCP addrCM addr

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.

Microprocesadores

INTEL 8085

INSTRUCCIONES

3º.- INSTRUCCIONES DE RETORNO:

Incondicional

Condicional

RET RNZ addrRZ addrRNC addrRC addr

RPO addrRPE addrRP addrRM addr

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

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:

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

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:

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

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

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

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

Microprocesadores

INTEL 8085

DIAGRAMA DE TIEMPO:

Un ciclo máquina consta de 3 a 6 estados

T1 T2 T3 T3

ESTADOS

Ciclo máquina

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.

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

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

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.

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.