Download Microprocesadores

Document related concepts
no text concepts found
Transcript
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
Memoria
interna
C.P.U
Reloj
Unidad
entrada/salida
Periféricos
Usuario/a
Sistema
de
control
externo
Receptores
SISTEMAS MICROPROGRAMABLES
LOS 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.
Microprocesadores
SISTEMAS MICROPROGRAMABLES
SISTEMA MICROPROGRAMABLE BASADO
EN UN MICROPROCESADOR
Microprocesadores
SISTEMAS MICROPROGRAMABLES
TIPOS DE MICROPROCESADORES
Las CPU,s atendiendo al juego de instrucciones que
utilizan pueden clasificarse en:
MICROPROCESADORES RISC
Microprocesadores con un set de instrucciones
reducido (entre 35 y 40). Instrucciones simples y
realizables en un ciclo máquina
MICROPROCESADORES CISC
Microprocesadores con un set de instrucciones
complejo (más de 80).Se necesitan varios ciclos
máquinas para realizar una instrucción
Microprocesadores
SISTEMAS MICROPROGRAMABLES
SISTEMA MICROPROGRAMABLE BASADO
EN UN MICROPROCESADOR (μP)
Microprocesadores
SISTEMAS MICROPROGRAMABLES
SISTEMA MICROPROGRAMABLE BASADO
EN UN MICROPROCESADOR
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.
Microprocesadores
SISTEMAS MICROPROGRAMABLES
SISTEMA MICROPROGRAMABLE BASADO
EN UN MICROPROCESADOR
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.
Microprocesadores
SISTEMAS MICROPROGRAMABLES
SISTEMA MICROPROGRAMABLE BASADO
EN UN MICROPROCESADOR
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.
Microprocesadores
SISTEMAS MICROPROGRAMABLES
SISTEMA MICROPROGRAMABLE BASADO
EN UN MICROPROCESADOR
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
Microprocesadores
SISTEMAS MICROPROGRAMABLES
SISTEMA MICROPROGRAMABLE BASADO
EN UN MICROPROCESADOR
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
Microprocesadores
SISTEMAS MICROPROGRAMABLES
SISTEMA MICROPROGRAMABLE BASADO
EN UN MICROPROCESADOR
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.
Microprocesadores
SISTEMAS MICROPROGRAMABLES
SISTEMA MICROPROGRAMABLE BASADO
EN UN MICROPROCESADOR
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.
Microprocesadores
SISTEMAS MICROPROGRAMABLES
SISTEMA MICROPROGRAMABLE BASADO
EN UN MICROPROCESADOR
BUSES :
D0 ..................D7
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”
Microprocesadores
SISTEMAS MICROPROGRAMABLES
SISTEMA MICROPROGRAMABLE BASADO
EN UN MICROPROCESADOR
BUSES :
BUS DE DIRECCIONES: (Address bus)
A0........AN
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.
Microprocesadores
SISTEMAS MICROPROGRAMABLES
SISTEMA MICROPROGRAMABLE BASADO
EN UN MICROPROCESADOR
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”
Microprocesadores
SISTEMAS MICROPROGRAMABLES
SISTEMA MICROPROGRAMABLE BASADO
EN UN MICROPROCESADOR
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..
Microprocesadores
SISTEMAS MICROPROGRAMABLES
SISTEMA MICROPROGRAMABLE BASADO
EN UN MICROPROCESADOR
PERIFERICOS :
Estos dispositivos realizan dos tipos de funciones:
Comunicación entre el sistema y
el usuario
Almacenamiento masivo de
información
Microprocesadores
SISTEMAS MICROPROGRAMABLES
SISTEMA MICROPROGRAMABLE BASADO
EN UN MICROPROCESADOR
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
Microprocesadores
SISTEMAS MICROPROGRAMABLES
Microprocesadores
SISTEMAS MICROPROGRAMABLES
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
UNIDAD OPERATIVA
REGISTROS DE TRABAJO
Microprocesadores
SISTEMAS MICROPROGRAMABLES
ARQUITECTURA INTERNA BASICA
DE UN MIROPROCESADOR
Unidad de Control
μP
Unidad de Control
Unidad Operativa
Registros
Microprocesadores
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.
SISTEMAS MICROPROGRAMABLES
ARQUITECTURA INTERNA BASICA
DE UN MIROPROCESADOR
Unidad Operativa
μP
Unidad de Control
Unidad Operativa
Registros
Microprocesadores
Se encarga de
realizar las
operaciones
aritméticas, lógicas y
de rotación bajo la
supervisión de la
unidad de control
SISTEMAS MICROPROGRAMABLES
ARQUITECTURA INTERNA BASICA
DE UN MIROPROCESADOR
Registros
μP
Unidad de Control
Unidad Operativa
Registros
Microprocesadores
Son unidades de
almacenamiento
temporal de
información.Algunos
tienen una función
concreta y otros se
emplean en múltiples
tareas.
SISTEMAS MICROPROGRAMABLES
ARQUITECTURA INTERNA CONVENCIONAL DE
UN MIROPROCESADOR
SISTEMAS MICROPROGRAMABLES
MICROPROCESADORES DE 8 BITS:
MICROPROCESADOR 6502
(ROCKWELL)
MICROPROCESADOR 6800
(MOTOROLA)
MICROPROCESADOR 8085
(INTEL)
MICROPROCESADOR Z80
(ZILOG)
Microprocesadores
SISTEMAS MICROPROGRAMABLES
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
Microprocesadores
SISTEMAS MICROPROGRAMABLES
MICROPROCESADORES DE 8 BITS:
ROCKWELL 6502
Microprocesadores
SISTEMAS MICROPROGRAMABLES
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
Microprocesadores
SISTEMAS MICROPROGRAMABLES
MICROPROCESADORES DE 8 BITS:
MOTOROLA 6800
Microprocesadores
SISTEMAS MICROPROGRAMABLES
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
Microprocesadores
SISTEMAS MICROPROGRAMABLES
MICROPROCESADORES DE 8 BITS:
ZILOG Z80
Microprocesadores
SISTEMAS MICROPROGRAMABLES
MICROPROCESADORES DE 8 BITS:
INTEL 8085
Tecnología NMOS en 1977
Direccionamiento 64Kbytes
Frecuencia reloj: 5MHz
Set de instrucciones 80
Alimentación + 5V
Microprocesadores
SISTEMAS MICROPROGRAMABLES
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
P
CY
Señalizador de acarreo
P
Señalizador de paridad
AC
CY
Señalizador de carry auxiliar
Z
Señalizador de cero
S
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.
Cristal = 6,25MHz
Microprocesadores
También acepta el control
desde un reloj externo
aplicado en la patilla X1.
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
AD0.....AD7
TRAP
8085
A8 ..... A15
RST 7.5
RST 6.5
RST 5.5
INTR
INTA
+Vcc
BUS de CONTROL (13)
Vss
X1
X2
CLK
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:
Bus de Datos (8)
8085
Código de la
instrucción a ejecutar
INTR
INTA
Microprocesadores
8
PERIFERICO
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:
Inicio
Act. Motor 1
Temporización
Act. Motor 3
Act. Motor 2
Temporización
Temporización
FIN
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.
Microprocesadores
LAS SUBRUTINAS EN UN
MICROPROCESADOR:
Inicio
Delay
Act. motor1
Delay
Act. motor2
Delay
Act. motor2
Delay
Tempo. 30 seg.
Fin
RET
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.
Microprocesadores
SISTEMAS MICROPROGRAMABLES
LENGUAJES DE PROGRAMACÖN:
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
Microprocesadores
SISTEMAS MICROPROGRAMABLES
LENGUAJES DE PROGRAMACION:
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:
PROGRAMA
FUENTE
PROGRAMA
TRADUCTOR
PROGRAMA
OBJETO
Microprocesadores
EJECUTAR
EL SISTEMA LOGICO:
Lenguaje
ensamblador
PROGRAMA FUENTE
Programa
ensamblador
PROGRAMA TRADUCTOR
Lenguaje
máquina
PROGRAMA OBJETO
Microprocesadores
EJECUTAR
EL SISTEMA LOGICO:
Lenguaje
alto nivel
Fortran
PROGRAMA FUENTE
Programa
compilador
PROGRAMA TRADUCTOR
Cobol
Lenguaje
máquina
Basic
PROGRAMA OBJETO
Microprocesadores
EJECUTAR
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.
Microprocesadores
ESTRUCTURA DE UN LENGUAJE
ENSAMBLADOR:
SINTAXIS DE UN LENGUAJE
ENSAMBLADOR.
CAMPOS DE UNA INSTRUCCIÓN EN
ENSAMBLADOR.
PSEUDOINTRUCCIONES.
Microprocesadores
ESTRUCTURA DE UN LENGUAJE
ENSAMBLADOR:
SINTAXIS DE UN LENGUAJE
ENSAMBLADOR.
* Estructura de una línea:
Etiqueta
Nemotécnico
Operandos
Comentarios
* Tipos de líneas
Instrucciones: Ejecutables por el ordenador
Pseudoinstrucciones: No ejecutables
ESTRUCTURA DE UN LENGUAJE
ENSAMBLADOR:
CAMPO DE INSTRUCCIONES DE UN
LENGUAJE ENSAMBLADOR.
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)
Microprocesadores
ESTRUCTURA DE UN LENGUAJE
ENSAMBLADOR:
CAMPO DE INSTRUCCIONES DE UN
LENGUAJE ENSAMBLADOR.
NEMOTECNICO:
Identifica:
* Un código de operación del lenguaje
* Una pseudoinstrucción
Microprocesadores
ESTRUCTURA DE UN LENGUAJE
ENSAMBLADOR:
CAMPO DE INSTRUCCIONES DE UN
LENGUAJE ENSAMBLADOR.
OPERANDOS:
Identifica los operandos que intervienen
en la instrucción o pseudoinstrucción
Constantes, símbolos,
Microprocesadores
ESTRUCTURA DE UN LENGUAJE
ENSAMBLADOR:
CAMPO DE INSTRUCCIONES DE UN
LENGUAJE ENSAMBLADOR.
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
SUBRUTINA
DECISION
LINEA DE FLUJO
INICIO / FINAL
Microprocesadores
INTEL 8085
DIAGRAMA DE FLUJO: Ejemplo
CONTADOR
A
00H
A
A+1
NO
SI
A = 15 ?
Microprocesadores
FIN
INTEL 8085
DIAGRAMA DE FLUJO: Ejemplo
Descontador
A
15H
A
A-1
NO
SI
A=0?
Microprocesadores
FIN
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 :
ADD r
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.
Microprocesadores
INTEL 8085
INSTRUCCIONES
INSTRUCCIONES ARITMETICAS :
SUB r
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.
Microprocesadores
INTEL 8085
INSTRUCCIONES
INSTRUCCIONES ARITMETICAS :
INR r
El contenido del registro r, especificado en
la instrucción, se incrementa una unidad.
DCR r
El contenido del registro r, especificado en
la instrucción, se decrementa 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
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..
ANI byte
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
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..
ORI byte
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
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..
XRI byte
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
Compara el contenido del acumulador con el
contenido del registro r, especificado en la
instrucción
CPI byte
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
JMP addr
Microprocesadores
Condicional
JNZ addr
JZ addr
JNC addr
JC addr
JPO addr
JPE addr
JP addr
JM addr
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
CALL addr
Microprocesadores
Condicional
CNZ addr
CZ addr
CNC addr
CC addr
CPO addr
CPE addr
CP addr
CM addr
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
RET
Microprocesadores
Condicional
RNZ addr
RZ addr
RNC addr
RC addr
RPO addr
RPE addr
RP addr
RM addr
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.
Cristal = 6,25MHz
Microprocesadores
También acepta el control
desde un reloj externo
aplicado en la patilla X1.
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:
CICLO MAQUINA = Ciclo de reloj
FILOSOFIA INTEL
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.
ESTADOS
T1
T2
Microprocesadores
T3
T3
INTEL 8085
DIAGRAMA DE TIEMPO:
Un ciclo máquina consta de 3 a 6 estados
Ciclo máquina
T1
T2
T3
ESTADOS
Microprocesadores
T3
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.
Microprocesadores
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.
F = (A+B).C
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
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.
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
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.
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