sistemas microprogramables. definición de equipo microprogramable bloques de un sistema...
Post on 13-Feb-2015
156 Views
Preview:
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
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.
top related