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