MICROPROCESADORES REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA VICE-RECTORADO ACADÉMICO COORDINACIÓN DE INGENIERÍA EN INFORMÁTICA MICROPROCESADORES Realizado por Ing. Juan J. Hernández MSc.
MICROPROCESADORES
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Realizado por Ing. Juan J. Hernández MSc.
Índice
Introducción a los sistemas basados en microprocesador
Introducción.
.- La Unidad del Sistema.El Sistema.
.- Generaciones de Microprocesadores.
Clasificación de las Computadoras.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Introducción a los sistemas basados en microprocesador
.- Características comunes de los Microprocesadores
.- Funciones de los pines para el Intel 8080
.- Esquema o Configuración de los pines de un Microprocesador
.- Registros Internos del Microprocesador.- Concepto de Palabra
.- Aspectos conceptuales.
.- Arquitectura típica de los Sistemas basados en Microprocesadores
.- Breve revisión de los modos de direccionamiento del Microprocesador
Realizado por Ing. Juan J. Hernández MSc.
Índice
Introducción a los sistemas basados en microprocesador
.- Proceso de descripción de la ejecución de una instrucción.
.- Estructura general de la Unidad de Control de un Microprocesador..- Estructura general de la Unidad Aritmética Lógica (ALU).
.- Diagrama general de un sistema basado en Microprocesador.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
.- Información detallada del Repertorio de Instrucciones
.- Diagrama de Temporización de un Ciclo de Máquina.
.- Proceso que se ejecuta cuando el Microprocesador responde a una interrupción.
Realizado por Ing. Juan J. Hernández MSc.
.- Proceso de descripción de la ejecución de una instrucción.
.- Algunos aspectos que se describen en la hoja de Datos del Microprocesador.
.- Registros básicos en la programación.
.- Utilización del Registro de Direcciones/Datos.
.- Utilización del Puntero de Pila.
Índice
Interfases del Microprocesador
Programación del Microprocesador
.- Programación lineal
.- Repertorio de Instrucciones
.- Programación cíclica
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Tendencias
Realizado por Ing. Juan J. Hernández MSc.
Interfases del Microprocesador
.- Interfaz con la Memoria RAM
.- Interfaz con la Memoria ROM
.- Interfaz con los Dispositivos de E/S
.- Hardware.
.- Software.
• Uno de los actuales Microprocesadores de 64 bits y doblenúcleo, un AMD Athlon 64 X2 3600.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Realizado por Ing. Juan J. Hernández MSc.
IBM Power 5
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Realizado por Ing. Juan J. Hernández MSc.
IBM Power 5
Generación/Período
Tecnología y Arquitectura Software ySistema Operativo
Ejemplos
Primera(1946 - 1956)
Válvulas y relés, CPU de 1 bit con conjuntode instrucciones basadas en acumulador.
Lenguaje demáquina/assembly,programas sin subrutinas.
ENIAC,IBM 701,Princeton IAS.
Segunda(1956 -1967)
Transistores discretos, core memory,acelerador de punto flotante, canales de E/S.
Algol y Fortran concompiladores, S.O conprocesamiento en batch.
IBM 7030,CDC 1604,Univac LARC
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Realizado por Ing. Juan J. Hernández MSc.
Segunda(1956 -1967)
Algol y Fortran concompiladores, S.O conprocesamiento en batch.
IBM 7030,CDC 1604,Univac LARC
Tercera(1967 - 1978)
Circuito integrado, CPU con pipeline, unidadde control microprogramada.
C, multiprogramación, S.Otimesharing (tiempocompartido).
PDP-11, IBM 360/370, CDC6600
Cuarta(1978 - 1989)
Microprocesadores VLSI, memoria de estadosólido, Multiprocesadores,Supercomputadores vectoriales.
Compiladores, Lenguajes,S.O, Ambientes paraprocesamiento paralelo.Multiprocesamientosimétrico, bibliotecas
IBM PC,VAX 9000, CRAY X/MP,BBN TC2000.
Quinta(1990 - actual)
Circuitos ULSI, computadores paralelosescalables, clusters de estaciones de trabajo,intranet, Internet.
Java,, microkernels,mutithreading, S.Odistribuidos., WWW
IBM SP2, SGI Origin 2000,Digital Tru Cluster, FujitsuVPP500, Intel Paragon.
Evolución del Microprocesador.
• 1971: Intel 4004. Nota: Fue el primer Microprocesadorcomercial.
• 1972: Intel 8008• 1974: Intel 8080, Intel 8085• 1975: Signetics 2650, MOS 6502, Motorola 6800• 1976: Zilog Z80• 1978: Intel 8086, Motorola 68000• 1979: Intel 8088• 1982: Intel 80286, Motorola 68020• 1985: Intel 80386, Motorola 68020, AMD Am386• 1987: Motorola 68030• 1989: Intel 80486, Motorola 68040, AMD Am486
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Realizado por Ing. Juan J. Hernández MSc.
• 1971: Intel 4004. Nota: Fue el primer Microprocesadorcomercial.
• 1972: Intel 8008• 1974: Intel 8080, Intel 8085• 1975: Signetics 2650, MOS 6502, Motorola 6800• 1976: Zilog Z80• 1978: Intel 8086, Motorola 68000• 1979: Intel 8088• 1982: Intel 80286, Motorola 68020• 1985: Intel 80386, Motorola 68020, AMD Am386• 1987: Motorola 68030• 1989: Intel 80486, Motorola 68040, AMD Am486
• 1993: Intel Pentium, Motorola 68060, AMD K5, MIPS R10000• 1995: Intel Pentium Pro• 1997: Intel Pentium II, AMD K6, PowerPC G3, MIPS R120007• 1999: Intel Pentium III, AMD K6-2, PowerPC G4• 2000: Intel Pentium 4, Intel Itanium 2, AMD Athlon XP, AMD
Duron, MIPS R14000• 2003: PowerPC G5• 2004: Intel Pentium M• 2005: Intel Pentium D, Intel Extreme Edition con hyper threading,
Intel Core Duo, AMD Athlon 64, AMD Athlon 64 X2, AMDSempron 128.
• 2006: Intel Core 2 Duo, Intel Core 2 Extreme, AMD Athlon FX• 2007: Intel Core 2 Quad, AMD Quad Core, AMD Quad FX
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Realizado por Ing. Juan J. Hernández MSc.
• 1993: Intel Pentium, Motorola 68060, AMD K5, MIPS R10000• 1995: Intel Pentium Pro• 1997: Intel Pentium II, AMD K6, PowerPC G3, MIPS R120007• 1999: Intel Pentium III, AMD K6-2, PowerPC G4• 2000: Intel Pentium 4, Intel Itanium 2, AMD Athlon XP, AMD
Duron, MIPS R14000• 2003: PowerPC G5• 2004: Intel Pentium M• 2005: Intel Pentium D, Intel Extreme Edition con hyper threading,
Intel Core Duo, AMD Athlon 64, AMD Athlon 64 X2, AMDSempron 128.
• 2006: Intel Core 2 Duo, Intel Core 2 Extreme, AMD Athlon FX• 2007: Intel Core 2 Quad, AMD Quad Core, AMD Quad FX
Procesador Transistores8088 (1979) 29.000
286 (1982) 134.000
386 (1985) 275.000
486 (1989) 1.200.000
Pentium (1993) 3.100.000
Pentium MMX (1997) 4.300.000
Pentium II (1998) 9.500.000
Pentium III (Coopermine) 21.000.000
Athlon (Thunderbird) 35.000.000
Pentium 4 42.000.000
Número de Transistores en los Microprocesadores
Realizado por Ing. Juan J. Hernández MSc.
Procesador Transistores8088 (1979) 29.000
286 (1982) 134.000
386 (1985) 275.000
486 (1989) 1.200.000
Pentium (1993) 3.100.000
Pentium MMX (1997) 4.300.000
Pentium II (1998) 9.500.000
Pentium III (Coopermine) 21.000.000
Athlon (Thunderbird) 35.000.000
Pentium 4 42.000.000
Processador/Ano Tam. TransistorIntel 4004 (1971) 15 mícrons8088 (1979) 3 mícrons486 1 mícronPentium 60 MHz 0.80 mícronPentium 100 MHz 0.60 mícronPentium 166 MHz 0.40 mícronPentium MMX 0.35 mícronPentium III 350 MHz 0.25 mícronCeleron 366 (soquete) 0.22 mícronPentium III Coppermine 0.18 mícronAthlon Thunderbird 0.18 mícronPentium 4 Northwood 0.13 mícronAthlon Throughred 0.13 mícronAté 2005 (segundo Intel) 0.07 mícronAté 2010 (segundo a Intel) 0.03 mícron ?2015 0.02 mícron ?2025 Processadores Quânticos?
1 Mícron = 10-3 mm
1 Mícron = 10-6 metro
El Tamaño del Transistor en los ProcesadoresProcessador/Ano Tam. TransistorIntel 4004 (1971) 15 mícrons8088 (1979) 3 mícrons486 1 mícronPentium 60 MHz 0.80 mícronPentium 100 MHz 0.60 mícronPentium 166 MHz 0.40 mícronPentium MMX 0.35 mícronPentium III 350 MHz 0.25 mícronCeleron 366 (soquete) 0.22 mícronPentium III Coppermine 0.18 mícronAthlon Thunderbird 0.18 mícronPentium 4 Northwood 0.13 mícronAthlon Throughred 0.13 mícronAté 2005 (segundo Intel) 0.07 mícronAté 2010 (segundo a Intel) 0.03 mícron ?2015 0.02 mícron ?2025 Processadores Quânticos?
El Sistema
Los componentes más comunes son:
• Tarjeta del sistema o Tarjeta madre (Motherboard)
• Chips de Microprocesadores (Microprocesor)
• Sistema de enfriamiento (Cooling System)
• Suplidor de Poder (Power Supply)
• Chips de memoria, RAM y ROM (Memory)
• Ranuras y tarjetas de expansión (Slot and ExpansionCards)
• Líneas de bus (Buses)
• Puertos (Ports)
La Unidad del Sistema
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Realizado por Ing. Juan J. Hernández MSc.
Los componentes más comunes son:
• Tarjeta del sistema o Tarjeta madre (Motherboard)
• Chips de Microprocesadores (Microprocesor)
• Sistema de enfriamiento (Cooling System)
• Suplidor de Poder (Power Supply)
• Chips de memoria, RAM y ROM (Memory)
• Ranuras y tarjetas de expansión (Slot and ExpansionCards)
• Líneas de bus (Buses)
• Puertos (Ports)
ÍndiceIntroducción
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD DE ORIENTE
VICE-RECTORADO ACADÉMICOPOSTGRADO EN INFORMÁTICA GERENCIAL
MICROPROCESADORES
Realizado por Ing. Juan J. Hernández MSc.
El SistemaLa Unidad del Sistema
• En una Computadora el CPU (Central Processing Unit) se halla contenidoen un chip llamado Microprocesador (Microprocessor) o “procesadormicroscópico”. También es muy común el que se le conozca como MPU(Microprocessor Unit).
• El trabajo del Microprocesador es el de traer, interpretar y ejecutar lasinstrucciones básicas que operan a la Computadora. Diferentes tipos deMicroprocesadores poseen distintas capacidades.
• También algunos Microprocesadores son ayudados por losCoprocesadores (Coprocessors) que lo ayudan a realizar una tarea enespecífico. Estos Coprocesadores son Microprocesadores de menorcapacidad y potencia.
• Estos se conectan a las demás partes de la computadora utilizandocanales de comunicación llamados “Buses”.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Realizado por Ing. Juan J. Hernández MSc.
• En una Computadora el CPU (Central Processing Unit) se halla contenidoen un chip llamado Microprocesador (Microprocessor) o “procesadormicroscópico”. También es muy común el que se le conozca como MPU(Microprocessor Unit).
• El trabajo del Microprocesador es el de traer, interpretar y ejecutar lasinstrucciones básicas que operan a la Computadora. Diferentes tipos deMicroprocesadores poseen distintas capacidades.
• También algunos Microprocesadores son ayudados por losCoprocesadores (Coprocessors) que lo ayudan a realizar una tarea enespecífico. Estos Coprocesadores son Microprocesadores de menorcapacidad y potencia.
• Estos se conectan a las demás partes de la computadora utilizandocanales de comunicación llamados “Buses”.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD DE ORIENTE
VICE-RECTORADO ACADÉMICOPOSTGRADO EN INFORMÁTICA GERENCIAL
MICROPROCESADORES
El SistemaLa Unidad del Sistema
Realizado por Ing. Juan J. Hernández MSc.
Introducción a los sistemas basados en Microprocesador
.- Definición de Microprocesador: se puede definir como una pastilla o chip de muy alta yultra alta escala de integración (VLSI y ULSI)) que realiza las tareas de la UnidadCentral (CPU) de una Computadora u otro Sistema de Control Automático..- Funciones Principales:1. Buscar, decodificar y ejecutar instrucciones del programa en el orden adecuado.2. Transferir datos entre memoria y las secciones de entrada/salida.3. Responder a las interrupciones externas.4. Proporcionar señales de temporización y control al sistema completo.
Aspectos Conceptuales
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
.- Funciones Principales:1. Buscar, decodificar y ejecutar instrucciones del programa en el orden adecuado.2. Transferir datos entre memoria y las secciones de entrada/salida.3. Responder a las interrupciones externas.4. Proporcionar señales de temporización y control al sistema completo..- ¿ Qué debe hacer el programador ante un nuevo Microprocesador?
El programador debe estudiar lo siguiente:1. Arquitectura del Microprocesador.2. Su Repertorio de Instrucciones.3. El mínimo sistema que utiliza el Microprocesador.4. Sus Señales de Control.5. Las funciones de cada una de los pines o patillas.
Realizado por Ing. Juan J. Hernández MSc.
1.- Un chip o pastilla de un Microprocesador tiene m+n+c+a pines, a través de los cualesse establece su relación con el mundo exterior; siendo “m” el número de pines paraconformar las direcciones donde leer o almacenar los datos, “n” el número de pines paraentrada y salida de datos, “c” el número de pines para entrada y salida de señales decontrol y “a” el número de pines para la alimentación del mismo. (El INTEL 8080 tiene 40pines y INTEL 80386 tiene 132 pines).
Introducción a los sistemas basados en MicroprocesadorCaracterísticas comunes de los Microprocesadores.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
1.- Un chip o pastilla de un Microprocesador tiene m+n+c+a pines, a través de los cualesse establece su relación con el mundo exterior; siendo “m” el número de pines paraconformar las direcciones donde leer o almacenar los datos, “n” el número de pines paraentrada y salida de datos, “c” el número de pines para entrada y salida de señales decontrol y “a” el número de pines para la alimentación del mismo. (El INTEL 8080 tiene 40pines y INTEL 80386 tiene 132 pines).
2.- En general, los pines de un chip o pastilla de un Microprocesador pueden dividirse encuatro (4) tipos:• Pines de Dirección.• Pines de Datos.• Pines de Control.• Pines de Alimentación.3.- Los pines anteriores están conectados a pines similares en los chips de memoria y enlos dispositivos de entrada/salida por medio de un conjunto de conductores paralelosdenominados BUSES.
Realizado por Ing. Juan J. Hernández MSc.
4.- Existen dos (2) parámetros claves que determinan el desempeño de unMicroprocesador:• El número de pines de Direccionamiento y• El número de pines de Datos.
Introducción a los sistemas basados en MicroprocesadorCaracterísticas comunes de los Microprocesadores.
5.- Un Chip con “m” pines de direccionamiento puede direccionar hasta “2 ͫ ” bytes dememoria. En forma similar, un Chip con “n” pines de datos, puede leer o escribir en unasola operación palabras de memoria de “n” bits. Para leer una palabra de 32 bits, unMicroprocesador de ocho (8) pines de datos requiere de cuatro (4) operaciones, mientrasque uno de 32 pines lo puede hacer en una sola operación. De allí que este último seamucho más rápido, pero más costoso.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
5.- Un Chip con “m” pines de direccionamiento puede direccionar hasta “2 ͫ ” bytes dememoria. En forma similar, un Chip con “n” pines de datos, puede leer o escribir en unasola operación palabras de memoria de “n” bits. Para leer una palabra de 32 bits, unMicroprocesador de ocho (8) pines de datos requiere de cuatro (4) operaciones, mientrasque uno de 32 pines lo puede hacer en una sola operación. De allí que este último seamucho más rápido, pero más costoso.
6.- Como “2 ͫ ” define la capacidad de direccionamiento de un Microprocesador, podemoscalcular para cada valor de “m” el número de direcciones que puede direccionar elMicroprocesador en base al número de Kilo, Mega, Giga, Tera, etc, bytes de memoriatotales sabiendo que:
Realizado por Ing. Juan J. Hernández MSc.
• 1 Kilo = 1 K = 2¹º = 1.024• 1 Mega = 1 M = (2¹º)² = 2²º = (1.024)²• 1 Giga = 1 G = (2¹º)³ = 2³º = (1.024)³• 1 Tera = 1 T = (2¹º) = 2 = (1.024)
Introducción a los sistemas basados en MicroprocesadorCaracterísticas comunes de los Microprocesadores.
7.- Los pines de dirección están conectados a las líneas de dirección, mientras más pinesde dirección, más el Microprocesador puede direccionar memorias mayores. Ejemplo: unMicroprocesador con un bus de direcciones de 32 bits puede direccionar hasta 2³² o 4Gigabytes = 4 G de direcciones de memoria.
4 40 4
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
7.- Los pines de dirección están conectados a las líneas de dirección, mientras más pinesde dirección, más el Microprocesador puede direccionar memorias mayores. Ejemplo: unMicroprocesador con un bus de direcciones de 32 bits puede direccionar hasta 2³² o 4Gigabytes = 4 G de direcciones de memoria.
8.- Los pines de datos sirven para transferir datos e instrucciones hacia la memoria y laentrada/salida de manera bidireccional.
9.- Los pines de control sirven para regular los tiempos y el flujo de los datos desde yhacia el Microprocesador, así como otras varias funciones (interrupciones, estados, etc).10.- La mayoría de los Microprocesadores se caracterizan porque tienen todas o algunasde los siguientes pines de control:
Realizado por Ing. Juan J. Hernández MSc.
Introducción a los sistemas basados en MicroprocesadorCaracterísticas comunes de los Microprocesadores.
• Línea de reloj.• Líneas de lectura/escritura.• Líneas de entrada/salida.• Líneas de interrupción.• Líneas de reinicialización.• Líneas de control del bus.• Líneas de status del ciclo.• Línea de señalamiento del Coprocesador.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
• Línea de reloj.• Líneas de lectura/escritura.• Líneas de entrada/salida.• Líneas de interrupción.• Líneas de reinicialización.• Líneas de control del bus.• Líneas de status del ciclo.• Línea de señalamiento del Coprocesador.
11.- Los Microprocesadores (excepto el 8080) requieren, por lo menos, una fuente dealimentación regulada de 5 Vdc.
12.- Los Microprocesadores se clasifican normalmente en unidades de 4, 8, 16, 32, 64, etc,bits. El tamaño en bits de un Microprocesador, a veces se denomina, tamaño de palabra.La longitud del Registro Acumulador nos da una buena pista para conocer el tamaño dela palabra de un Microprocesador. Ejemplos de tipos de Microprocesadores según lalongitud de palabra:
Realizado por Ing. Juan J. Hernández MSc.
Introducción a los sistemas basados en MicroprocesadorCaracterísticas comunes de los Microprocesadores.
• Microprocesadores de 8 bits: 8080/8085, 6800, 6502 y Z80.• Microprocesadores de 16 bits: 8086, 8088, 68000, 65816 y Z8000.• Microprocesadores de 32 bits: 80386, 68020, 32000 y Z-80000.• Microprocesadores de 64 bits: Los más actuales.
Concepto de Palabra.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Concepto de Palabra.
Registros internos del Microprocesador.
Una Palabra es un grupo de bits que es procesada como un simple número o instrucciónpor el Microprocesador. Ejemplo: un Microprocesador de 8 bits, transfiere y almacenatodos los datos en grupos de 8 bits, vía ocho conductores paralelos denominados Bus deDatos.
1. Contador de Programa (PC): es el registro que contiene la dirección de la siguienteinstrucción del programa. “La longitud del Contador de Programa es igual que laanchura del Bus de Direcciones”.
Realizado por Ing. Juan J. Hernández MSc.
Ejemplos Microprocesadores:
Intel 4004Zilog Z80
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Realizado por Ing. Juan J. Hernández MSc.
Motorola 68000
Intel 4004
Intel 80486DX2
Ejemplos Microprocesadores:
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Realizado por Ing. Juan J. Hernández MSc.
BlackBerry y su Procesador
2. Acumulador: es el registro o registros asociados a las operaciones de la ALU y a lasoperaciones de E/S. Puede ser de 8, 16, 32, 64, etc. bits. Algunos Microprocesadorestienen sólo registros de propósito general que pueden ser utilizados comoAcumuladores.
3. Registro de Status o Señalizadores (flags o banderas): Este registro está en todos losMicroprocesadores y nos da el status actual del mismo en cualquier momento de laejecución de algún proceso. Los bits individuales del registro se denominanSeñalizadores y almacenan información sobre diversas situaciones producidas en elCPU en operaciones anteriores. Cada bit del registro indica una informacióndiferente:
Registros internos del Microprocesador.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
3. Registro de Status o Señalizadores (flags o banderas): Este registro está en todos losMicroprocesadores y nos da el status actual del mismo en cualquier momento de laejecución de algún proceso. Los bits individuales del registro se denominanSeñalizadores y almacenan información sobre diversas situaciones producidas en elCPU en operaciones anteriores. Cada bit del registro indica una informacióndiferente:• Bit de acarreo o carry (C)• Bit de cero (Z)• Bit de interrupción (I)• Bit de desbordamiento u overflow (V)• Bit de signo (N)• Bit de modo decimal (D)• Bit de break (B)• Bit de paridad (P)
P
Registro de estado o flags
B D N V I Z C
Realizado por Ing. Juan J. Hernández MSc.
Bit de acarreo o carry (C): Carry. Esta bandera es el resultado de alguna operación binaria como la operación de sumaaritmética binaria en la cual la suma de dos cantidades ha excedido la capacidad de la máquina y se está indicandoaquí que hay una función de "llevar".
Bit de cero (Z): Zero. Esta bandera es puesta en "1" cuando el resultado de alguna operación binaria (o Boleana) haproducido una palabra binaria de cero, esto es, con puros bits de "0".
Bit de interrupción (I): Interruption. Esta bandera es puesta en "1" cuando se está en una Interrupción de algúnproceso.
Bit de desbordamiento u overflow (V): Overflow. Esta bandera es puesta en "1" cuando el resultado de algunaoperación binaria como suma o multiplicación ha excedido la capacidad de la máquina.
Bit de signo (N): Sign. Esta bandera es puesta en "1" cuando como resultado de alguna operación hemos llegado a unnúmero negativo. Cuando el resultado de la operación binaria es un número binario positivo, esta bandera estánormalmente en "0".
Bit de modo decimal (D): Decimal. Esta bandera es puesta en "1" cuando los operandos están en BCD y “0" cuando sonbinarios.
Bit de break (B): Break. Esta bandera es puesta en "1" cuando se produce una falla de una operación o un proceso.
Bit de paridad (P): Paridad. Esta bandera es puesta a "0" cuando la paridad de alguna palabra binaria es impar, y espuesta a "1" cuando la paridad de la palabra binaria es par. (La paridad consiste en determinar si en una palabra binariala cantidad de "unos" y "ceros" es la misma, ó si hay más "unos" que "ceros" ó "viceversa". Un "bit" extra de paridadque puede ser "1" ó "0" es añadido para ayudarle a la máquina el poder detectar si hay alguna palabra binaria erróneacuando su paridad es impar en lugar de par.)
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Realizado por Ing. Juan J. Hernández MSc.
Bit de acarreo o carry (C): Carry. Esta bandera es el resultado de alguna operación binaria como la operación de sumaaritmética binaria en la cual la suma de dos cantidades ha excedido la capacidad de la máquina y se está indicandoaquí que hay una función de "llevar".
Bit de cero (Z): Zero. Esta bandera es puesta en "1" cuando el resultado de alguna operación binaria (o Boleana) haproducido una palabra binaria de cero, esto es, con puros bits de "0".
Bit de interrupción (I): Interruption. Esta bandera es puesta en "1" cuando se está en una Interrupción de algúnproceso.
Bit de desbordamiento u overflow (V): Overflow. Esta bandera es puesta en "1" cuando el resultado de algunaoperación binaria como suma o multiplicación ha excedido la capacidad de la máquina.
Bit de signo (N): Sign. Esta bandera es puesta en "1" cuando como resultado de alguna operación hemos llegado a unnúmero negativo. Cuando el resultado de la operación binaria es un número binario positivo, esta bandera estánormalmente en "0".
Bit de modo decimal (D): Decimal. Esta bandera es puesta en "1" cuando los operandos están en BCD y “0" cuando sonbinarios.
Bit de break (B): Break. Esta bandera es puesta en "1" cuando se produce una falla de una operación o un proceso.
Bit de paridad (P): Paridad. Esta bandera es puesta a "0" cuando la paridad de alguna palabra binaria es impar, y espuesta a "1" cuando la paridad de la palabra binaria es par. (La paridad consiste en determinar si en una palabra binariala cantidad de "unos" y "ceros" es la misma, ó si hay más "unos" que "ceros" ó "viceversa". Un "bit" extra de paridadque puede ser "1" ó "0" es añadido para ayudarle a la máquina el poder detectar si hay alguna palabra binaria erróneacuando su paridad es impar en lugar de par.)
Introducción a los sistemas basados en MicroprocesadorRegistros internos del Microprocesador.
4. Registros de Propósito General: Los Registros de Propósito General puedenutilizarse para almacenar datos temporalmente o para que contengan una dirección.No tienen asignada ninguna tarea específica.
5. Registro Índice: Este registro se utiliza para que contenga la dirección de unoperando cuando se utiliza el modo de direccionamiento indexado. En algunosMicroprocesadores los Registros de Propósito General son utilizados como RegistrosÍndice.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
5. Registro Índice: Este registro se utiliza para que contenga la dirección de unoperando cuando se utiliza el modo de direccionamiento indexado. En algunosMicroprocesadores los Registros de Propósito General son utilizados como RegistrosÍndice.
6. Registro de Puntero de Pila (SP): es un registro especializado que sigue la pista de lasiguiente posición de memoria disponible en la Pila. La Pila es un área reservada dela RAM utilizada para almacenamiento temporal de datos, direcciones de vuelta ycontenido de registro. La Pila se utiliza durante las llamadas a Subrutina y durantelas Interrupciones.
Realizado por Ing. Juan J. Hernández MSc.
Introducción a los sistemas basados en Microprocesador
Esquema o configuración de los pines de un Microprocesador típico.
Nº Pos. de Memoria = 2Nº Lin. Dir.
D0D1
Líne
as d
e da
tos
A0A1
Líne
as d
e di
recc
ión
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
MicroprocesadorTípico o genérico
D1D2
Dn-1 Líne
as d
e da
tos
A1A2
Am-1
Líne
as d
e di
recc
ión
VCCGNDLíneas para la Alimentación
RW
RD
INTRLíne
as d
e co
ntro
l
CLK
INTRn
STATUSLÍNEAS DE
CONTROL DE BUS
Líne
as d
e co
ntro
l
REINICIALIZACIÓN
Realizado por Ing. Juan J. Hernández MSc.
Introducción a los sistemas basados en MicroprocesadorBreve descripción de los modos de Direccionamiento del Microprocesador.
Un modo de direccionamiento es la técnica utilizada para buscar el operando deseadodurante la ejecución de una instrucción.
Algunos modos de direccionamiento utilizados por los Microprocesadores son:1. Modo de direccionamiento inherente (implícito).2. Modo de direccionamiento inmediato.3. Modo de direccionamiento extendido o absoluto.4. Modo de direccionamiento de registro.5. Modo de direccionamiento indirecto de registro.6. Modo de direccionamiento índice.7. Modo de direccionamiento de E/S.8. Modo de direccionamiento de status de registro.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Algunos modos de direccionamiento utilizados por los Microprocesadores son:1. Modo de direccionamiento inherente (implícito).2. Modo de direccionamiento inmediato.3. Modo de direccionamiento extendido o absoluto.4. Modo de direccionamiento de registro.5. Modo de direccionamiento indirecto de registro.6. Modo de direccionamiento índice.7. Modo de direccionamiento de E/S.8. Modo de direccionamiento de status de registro.
Los Microprocesadores más modernos tienen modos de direccionamiento más potentes yflexibles.
Realizado por Ing. Juan J. Hernández MSc.
Introducción a los sistemas basados en MicroprocesadorBreve descripción de los modos de Direccionamiento del Microprocesador.
• La referencia a una operación de una instrucción puede contener el valoractual del operando o una referencia a la dirección del operando.
– Inmediato (Immediate): el operando es parte de la instrucción.
– Directo (Direct): El campo de dirección tiene la dirección del operando.
– Indirecto (Indirect): La celda de memoria apuntada por el campo dedirección contiene la dirección del operando.
– Registro (Register): El operando es almacenado en un registro nombradoen el campo de dirección.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Realizado por Ing. Juan J. Hernández MSc.
• La referencia a una operación de una instrucción puede contener el valoractual del operando o una referencia a la dirección del operando.
– Inmediato (Immediate): el operando es parte de la instrucción.
– Directo (Direct): El campo de dirección tiene la dirección del operando.
– Indirecto (Indirect): La celda de memoria apuntada por el campo dedirección contiene la dirección del operando.
– Registro (Register): El operando es almacenado en un registro nombradoen el campo de dirección.
– Registro Indirecto (Register Indirect):El operando esta en la celda dememoria que es apuntada por el contenido del registro.
– Pila (Stack): El operando esta (implícito) en el tope de la pila.
ARQUITECTURA TÍPICA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR
Convertidor A/DBus de direcciones
ENT. ANALÓGICA
U.C.P.m líneas (A0-Am-1)
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
MódulosE/S
CLK
Bus de datos
Bus de control
SAL. DIGITALES
ENT. DIGITALES
SAL. ANALÓGICA
MEMORIAPROGRAMA
(ROM-EPROM-RAM)
MEMORIADATOS(RAM)
UNIDADARITMÉTICO
LÓGICA(ALU)
REGISTROSINTERNOS
UNIDADDE
CONTROL
Convertidor D/An líneas (D0-Dn-1)
Realizado por Ing. Juan J. Hernández MSc.
Diagrama general deDiagrama general deun sistema basado enun sistema basado en
MicroprocesadorMicroprocesador
Acumulador
Secuenciador
A.L.U.
Registro de estado
Registro Auxiliar(2º operando)
RegistrosAuxiliares
Contador deprograma
Decodificador deinstrucciones
CPU o Microprocesador+VCC
GND
Inte
rrup
cion
es
Índice
Stack pointer
De trabajo
INSTRUCCIONES
DATOS
Reg
istro
de
dire
ccio
nes
Reg
istro
aux
iliar
de d
irecc
ione
s
Registro deinstrucciones
y datos
Decodificador deinstrucciones
Relojinterno
Reloj Externo
MEMORIA
E/S
BUS DE DATOS
BUS DE CONTROL
BUS DE DIRECCIONES
PERIFÉRICOS
ESTRUCTURA GENERAL DE LA UNIDAD DE CONTROL
Funciones principales:Funciones principales:• Interpretar y ejecutar las instrucciones recibidas desde la memoria.
BUS DE CONTROL
Decodificadorde
Instrucciones
Registrode
Instrucciones
BUS DEDATOS
(Instrucciones)
Códigos demicro-
instrucciones
Secuenciador
Generador deImpulsos de
Control
Contadorde
Programa
Memoria deinstrucciones(ROM interna)
Señales de control internas
Registrode
Direcciones
BUS DEDIRECCIONES
UNIDAD DE CONTROLReloj
Del registro de estado de la ALU
• Interpretar y ejecutar las instrucciones recibidas desde la memoria.
Proceso de trabajo:Proceso de trabajo:1) El código binario de la instrucción en curso se recibe por el bus de datos y se memoriza en el registro de instrucciones.2) El decodificador de instrucciones selecciona las posiciones de memoria de la ROM interna de la CPU que correspondena dicha instrucción. En esta memoria se hayan grabados los códigos de las operaciones elementales o microinstruccionesque componen las etapas parciales que entraña la ejecución de la instrucción.3) Las microinstrucciones hacen que el secuenciador genere las señales de control que gobernarán a todos los elementosdel sistema para llevar a cabo la instrucción. Estas señales se podrán dirigir a bloques internos de la CPU, así como aotros bloques externos del sistema a través del bus de control.4) El contador de programa indicará al registro de direcciones la posición de la memoria donde se encuentra la próxima ins-trucción que hay que realizar. Este contador se incrementa en una unidad en cuanto la memoria acepta la dirección anterior.Existen instrucciones que autorizan la ruptura del programa (bucles) para la toma de decisiones; en estos casos el contadormemoriza la posición de la última instrucción ejecutada con objeto de poder retornar al programa principal en curso.
• Controlar y sincronizar la transferencia de datos y operaciones.
Estructura general de la Unidad Aritmético Lógica (ALU)
Acumulador
Registro auxiliar(2º Operando)
1
A.L.U.
BUS DEDATOS
Registro de estado o flags
0 1 1 0 0 1 0
Al Secuenciadorde la U. de Control
Funciones principales:Funciones principales:
Proceso de trabajo:Proceso de trabajo:•Realiza operaciones aritméticas, lógicas y de manipulación de bit (transferencia, traslación, rotación de bit, etc.).
1) La instrucción anterior coloca un dato en el registro “acumulador”. Este dato será el primer operando para la ALU.El segundo operando de la ALU será el procedente del registro auxiliar.2) La operación a realizar es seleccionada mediante las líneas de control que salen del Secuenciador de la U.de Control.
3) El resultado de la operación se registrará en el Acumulador, y a su vez, escribirá en el Registro de Estado informaciónreferente a dicha operación: bit de paridad, signo, acarreo, etc.4) La siguiente instrucción podrá trasladar el resultado contenido en el acumulador a la memoria, o bien, si se debe usardicho resultado en una nueva operación, trasladar al registro auxiliar el siguiente operando.
Selección de operación (U. de control) Registro de estado o flags
Proceso de ejecuciónProceso de ejecuciónde una instrucciónde una instrucción
Acumulador
Secuenciador
A.L.U.
Registro de estado
Registro Auxiliar(2º operando)
RegistrosAuxiliares
Contador deprograma (n)
Reg
istr
o au
xilia
rde
dire
ccio
nes
Decodificador deinstrucciones
CPU o Microprocesador
+VCCGND
Inte
rrup
cion
es
Índice
Stack pointer
De trabajo
FASE DE BÚSQUEDA
1) Búsqueda de la instrucción
Ejemplo de operación AND entreel dato contenido en el acumuladory un dato contenido en la memoria
Posición m
Instrucción AND
Reg
istr
o de
dire
ccio
nes
Reg
istr
o au
xilia
rde
dire
ccio
nes
Registro deinstrucciones
y datos
Decodificador deinstrucciones
Relojinterno
Reloj Externo
MEMORIA
E/S
BUS DE DATOS
BUS DE CONTROL
BUS DE DIRECCIONES
PERIFÉRICOS
Proceso de ejecuciónProceso de ejecuciónde una instrucciónde una instrucción
Acumulador
Secuenciador
A.L.U.
Registro de estado
Registro Auxiliar(2º operando)
RegistrosAuxiliares
Contador deprograma (n+1)
Decodificador deinstrucciones
CPU o Microprocesador
+VCCGND
Inte
rrup
cion
es
Índice
Stack pointer
De trabajo
FASE DE EJECUCIÓNEjemplo de operación AND entre
el dato contenido en el acumuladory un dato contenido en la memoria
2) Carga de la instruccióny preparación de la ALU
INSTRUCCIONES
DATOS
Reg
istro
de
dire
ccio
nes
Reg
istro
aux
iliar
de d
irecc
ione
s
Registro deinstrucciones
y datos
Decodificador deinstrucciones
Relojinterno
Reloj Externo
MEMORIA
E/S
BUS DE DATOS
BUS DE CONTROL
BUS DE DIRECCIONES
PERIFÉRICOS
Proceso de ejecuciónProceso de ejecuciónde una instrucciónde una instrucción
Acumulador
Secuenciador
A.L.U.
Registro de estado
Registro Auxiliar(2º operando)
RegistrosAuxiliares
Contador deprograma (n+1)
Reg
istr
o au
xilia
rde
dire
ccio
nes
Decodificador deinstrucciones
CPU o Microprocesador
+VCCGND
Inte
rrup
cion
es
Índice
Stack pointer
De trabajo
FASE DE BÚSQUEDA
3) Búsqueda 2º Operando
Posición m+1
2º operando
Reg
istr
o de
dire
ccio
nes
Reg
istr
o au
xilia
rde
dire
ccio
nes
Registro deinstrucciones
y datos
Decodificador deinstrucciones
Relojinterno
Reloj Externo
MEMORIA
E/S
BUS DE DATOS
BUS DE CONTROL
BUS DE DIRECCIONES
PERIFÉRICOS
Proceso de ejecuciónProceso de ejecuciónde una instrucciónde una instrucción
Acumulador
Secuenciador
A.L.U.
Registro de estado
Registro Auxiliar(2º operando)
RegistrosAuxiliares
Contador deprograma (n+2)
Decodificador deinstrucciones
CPU o Microprocesador
+VCCGND
Inte
rrup
cion
es
Índice
Stack pointer
De trabajo
FASE DE EJECUCIÓNEjemplo de operación AND entre
el dato contenido en el acumuladory un dato contenido en la memoria
4) Carga del 2º Operando
INSTRUCCIONES
DATOS
Reg
istro
de
dire
ccio
nes
Reg
istro
aux
iliar
de d
irecc
ione
s
Registro deinstrucciones
y datos
Decodificador deinstrucciones
Relojinterno
Reloj Externo
MEMORIA
E/S
BUS DE DATOS
BUS DE CONTROL
BUS DE DIRECCIONES
PERIFÉRICOS
Proceso de ejecuciónProceso de ejecuciónde una instrucciónde una instrucción
Acumulador
Secuenciador
A.L.U.
Registro de estado
Registro Auxiliar(2º operando)
RegistrosAuxiliares
Contador deprograma (n+2)
Decodificador deinstrucciones
CPU o Microprocesador
+VCCGND
Inte
rrup
cion
es
Índice
Stack pointer
De trabajo
FASE DE EJECUCIÓNEjemplo de operación AND entre
el dato contenido en el acumuladory un dato contenido en la memoria
5) Ejecución operación AND
INSTRUCCIONES
DATOS
Reg
istro
de
dire
ccio
nes
Reg
istro
aux
iliar
de d
irecc
ione
s
Registro deinstrucciones
y datos
Decodificador deinstrucciones
Relojinterno
Reloj Externo
MEMORIA
E/S
BUS DE DATOS
BUS DE CONTROL
BUS DE DIRECCIONES
PERIFÉRICOS
Proceso de ejecuciónProceso de ejecuciónde una instrucciónde una instrucción
Acumulador
Secuenciador
A.L.U.
Registro de estado
Registro Auxiliar(2º operando)
RegistrosAuxiliares
Contador deprograma (n+2)
Decodificador deinstrucciones
CPU o Microprocesador
+VCCGND
Inte
rrup
cion
es
Índice
Stack pointer
De trabajo
FASE DE EJECUCIÓNEjemplo de operación AND entre
el dato contenido en el acumuladory un dato contenido en la memoria
6) Resultado operación AND
INSTRUCCIONES
DATOS
Reg
istro
de
dire
ccio
nes
Reg
istro
aux
iliar
de d
irecc
ione
s
Registro deinstrucciones
y datos
Decodificador deinstrucciones
Relojinterno
Reloj Externo
MEMORIA
E/S
BUS DE DATOS
BUS DE CONTROL
BUS DE DIRECCIONES
PERIFÉRICOS
Introducción a los sistemas basados en MicroprocesadorRegistros básicos utilizados en la Programación.
La mayoría de las hojas de Datos del Microprocesador contienen un resumen de losregistros que son utilizados para la Programación. Por ejemplo en el 8080 tenemos:
Señalizadores A
B C
8 BITS
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Puntero de PilaContador de Programa
B C
D E
H L
16 BITSRealizado por Ing. Juan J. Hernández MSc.
Introducción a los sistemas basados en MicroprocesadorAlgunos aspectos que se describen en la hoja de Datos del Microprocesador.
Las hojas de datos contienen información sobre el empaquetamiento del Circuito Impreso(CI), diagramas de pines y función de cada pin del CI.
El esquema de la organización o arquitectura del CPU aparece junto a una descripción delas características más importantes.
Los diagramas de temporización aparecen junto al repertorio de instrucciones delMicroprocesador.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Los diagramas de temporización aparecen junto al repertorio de instrucciones delMicroprocesador.
Las hojas de datos contienen información sobre el tipo de empaquetamiento y la gráficadel chip.
Realizado por Ing. Juan J. Hernández MSc.
Introducción a los sistemas basados en Microprocesador
Nota: Los Microprocesadores más modernos traen, aparte del empaquetamientocerámico, otros dispositivos disipadores de calor (ventiladores y disipadores depotencia), por las altas temperaturas que alcanzan producto de la gran disipación depotencia debido al gran aumento de su capacidad de procesamiento.
Algunos aspectos que se describen en la hoja de Datos del Microprocesador.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Nota: Los Microprocesadores más modernos traen, aparte del empaquetamientocerámico, otros dispositivos disipadores de calor (ventiladores y disipadores depotencia), por las altas temperaturas que alcanzan producto de la gran disipación depotencia debido al gran aumento de su capacidad de procesamiento.
En la hoja de datos del Microprocesador se incluye su diagrama de pines.Ejemplo tenemos el Microprocesador INTEL 8080:
Realizado por Ing. Juan J. Hernández MSc.
Introducción a los sistemas basados en microprocesadorDescripción de la hoja de Datos del Microprocesador.
En la hoja de datos del Microprocesador se incluye su diagrama de pines.
MICROPROCESAADORES
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Realizado por Ing. Juan J. Hernández MSc.
Introducción a los sistemas basados en Microprocesador
Las hojas de datos del Microprocesador contienen “Diagramas de Temporización”elaborados que muestran las relaciones entre las entradas de reloj y otras señalesexternas (sync, escritura, salidas de dirección, entradas/salidas de datos, etc) así comooperaciones internas.
Algunos aspectos que se describen en la hoja de Datos del Microprocesador.
Las hojas de datos del fabricante del Microprocesador también contienen informacióndetallada sobre el “Repertorio de Instrucciones” del Microprocesador.
Ejemplo de información detallada del Repertorio de Instrucciones del Microprocesador8080:
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Las hojas de datos del fabricante del Microprocesador también contienen informacióndetallada sobre el “Repertorio de Instrucciones” del Microprocesador.
Ejemplo de información detallada del Repertorio de Instrucciones del Microprocesador8080:
Instrucción Código Bytes Estados T Ciclos de Máquina
ACI CEH 2 7 FR
Realizado por Ing. Juan J. Hernández MSc.
Introducción a los sistemas basados en MicroprocesadorAlgunos aspectos que se describen en la hoja de Datos del Microprocesador.
Instrucción = ACI = instrucción “suma con arrastre inmediato”.Código = CEH = código de operación para la instrucción.Bytes = 2 = indica el número de bytes de memoria del programa que necesita la
instrucción. En este caso la instrucción ACI requiere 2 bytes del espacio de memoriade programa. La primera posición contendrá el código de operación CEH, mientrasque la segunda posición contendrá el número que se va a sumar: el dato o eloperando.
Estados T = 7 = muestra la duración relativa del tiempo que tarda en ejecución lainstrucción.
FR = operaciones externas básicas que el Microprocesador está realizando. En este casoF= búsqueda normal de la instrucción desde la memoria del programa y R= lecturade memoria.
Instrucción Código Bytes Estados T Ciclos de Máquina
ACI CEH 2 7 FR
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Instrucción = ACI = instrucción “suma con arrastre inmediato”.Código = CEH = código de operación para la instrucción.Bytes = 2 = indica el número de bytes de memoria del programa que necesita la
instrucción. En este caso la instrucción ACI requiere 2 bytes del espacio de memoriade programa. La primera posición contendrá el código de operación CEH, mientrasque la segunda posición contendrá el número que se va a sumar: el dato o eloperando.
Estados T = 7 = muestra la duración relativa del tiempo que tarda en ejecución lainstrucción.
FR = operaciones externas básicas que el Microprocesador está realizando. En este casoF= búsqueda normal de la instrucción desde la memoria del programa y R= lecturade memoria.
Realizado por Ing. Juan J. Hernández MSc.
Introducción a los sistemas basados en MicroprocesadorDiagrama de Temporización para un Ciclo de Máquina.
La circuitería de reloj interna, junto con el cristal externo, genera señales similares a lasde la siguiente figura:
T1 T2 T3 T4
X1
Seña
les
inte
rnas
de re
loj
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
X1
X2
CLK
Ciclo de Máquina
Seña
les
inte
rnas
de re
loj
Rel
ojsa
lida
Realizado por Ing. Juan J. Hernández MSc.
Introducción a los sistemas basados en Microprocesador
Diagrama de Temporización para un Ciclo de Máquina.El circuito de reloj (cristal) genera una señal de reloj de dos fases sin solapamiento para
utilizarla en el interior del Microprocesador. La salida CLK es similar a la señal X2 ysirve para sincronizar acciones en el sistema completo.
Las señales de reloj se dividen en estados T (T1, T2, T3, etc) y una división del tiempomayor denominada “Ciclo de Máquina”. Los estados T son siempre de duracióndeterminada (señales periódicas), mientras que la longitud de un Ciclo de Máquinapuede variar.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Las señales de reloj se dividen en estados T (T1, T2, T3, etc) y una división del tiempomayor denominada “Ciclo de Máquina”. Los estados T son siempre de duracióndeterminada (señales periódicas), mientras que la longitud de un Ciclo de Máquinapuede variar.
La relación entre los estados T y los Ciclos de Máquina (M1, M2, M3, M4, etc) se muestraen el siguiente ejemplo:
1. Temporización y Ciclos de Máquina para una instrucción de almacenamientoinmediato:
Instrucción STORE (almacenar): Almacena el contenido del acumulador en la posición dememoria dada por los dos siguientes bytes de la memoria de programa.
Realizado por Ing. Juan J. Hernández MSc.
Introducción a los sistemas basados en Microprocesador
Diagrama de Temporización para un Ciclo de Máquina.
Ciclo de Instrucción
M1 M2 M3 M4
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
T1 T2 T3 T4 T1 T2 T3 T1 T2 T3 T1 T2 T3Búsqueda del
código de operaciónLectura de la
memoria deprograma
Lectura de lamemoria deprograma
Escritura en lamemoria
Realizado por Ing. Juan J. Hernández MSc.
Introducción a los sistemas basados en Microprocesador
Diagrama de Temporización para un Ciclo de Máquina.
Ciclo de Instrucción
2. Temporización y Ciclos de Máquina para una instrucción de suma inmediata:Instrucción ADD (Suma): Suma el contenido del acumulador a los del siguiente byte de
memoria de programa y deja la suma en el acumulador.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
T1 T2 T3 T4 T1 T2 T3 T1 T2 T3
M1 M2 M3
Búsqueda delcódigo de operación
Lectura de lamemoria deprograma
Suma
Realizado por Ing. Juan J. Hernández MSc.
Introducción a los sistemas basados en Microprocesador
Diagrama de Temporización para un Ciclo de Máquina.
Los Ciclos de Máquina se asocian a acciones del Microprocesador, como lectura,escritura, búsqueda o ejecución. En el INTEL 8080, los tipos de Ciclo de Máquinason:
• Lectura (busca un código de operación).• Lectura de memoria o E/S.• Escritura en memoria o E/S.• Ejecución de una operación interna.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Los Ciclos de Máquina se asocian a acciones del Microprocesador, como lectura,escritura, búsqueda o ejecución. En el INTEL 8080, los tipos de Ciclo de Máquinason:
• Lectura (busca un código de operación).• Lectura de memoria o E/S.• Escritura en memoria o E/S.• Ejecución de una operación interna.
Ejemplo:Si un Microprocesador tiene una velocidad de 0,2 GHz, en cuanto tiempo se realiza el
ciclo de máquina de una instrucción que tiene que ver con la lectura en memoria yconsta de 3 estados T.
Realizado por Ing. Juan J. Hernández MSc.
Introducción a los sistemas basados en MicroprocesadorProceso que se ejecuta cuando el Microprocesador responde a una interrupción.
MicroporcesadorTípico o genérico
D0D1D2
Líne
as d
e da
tos
A0A1A2
Líne
as d
e di
recc
ión
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
STATUS
INTR
MicroporcesadorTípico o genérico Dn-1 Lí
neas
de
dato
s
An-1
Líne
as d
e di
recc
ión
VCCGNDLíneas para la Alimentación
RW
RD
Líne
as d
e co
ntro
l
CLK
INTRn
LÍNEAS DECONTROL DE BUS
Líne
as d
e co
ntro
l
REINICIALIZACIÓN
Sea el Microprocesador genérico arriba mostrado: “Suponer que el circuito de interfaz deentrada del mismo tiene 8 bits en paralelo listos para transferirlos alMicroprocesador”.
Realizado por Ing. Juan J. Hernández MSc.
Proceso que se ejecuta cuando el Microprocesador responde a una interrupción.
Interfaz de entrada
1
MICRO. INTR
RAM
20D0 . . . . . . . . . . . . . . . . . .
. Rutina del
. Servicio de
. Interrupciones
.
.
.
43
5
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
2
6
Memoria delprograma principal
2005 . . . . . . . . . . . . . . . . . .
2006 . . . . . . . . . . . . . . . . . .
2007 . . . . . . . . . . . . . . . . . .
2008 . . . . . . . . . . . . . . . . . .
RAM
20DE RETURN
. Rutina del
. Servicio de
. Interrupciones
.
.
.
Pila
35
Realizado por Ing. Juan J. Hernández MSc.
Proceso que se ejecuta cuando el Microprocesador responde a una interrupción.
1. La interfaz de entrada envía una señal de petición de interrupción alMicroprocesador.
2. El Microprocesador completa la instrucción que está ejecutando (instrucción de laposición de memoria 2006H.
3. Debido a que el control debe volver posteriormente a la instrucción 2007H, loscontenidos del contador de programa (ahora 2007H ) y de la mayoría de los registrosinternos del Microprocesador son introducidos en un área especial de la RAMdenominada PILA. Estos serán devueltos posteriormente en el orden adecuado a losregistros del Microprocesador y contador de programa.
4. El Microprocesador ahora bifurca a una dirección predeterminada de la memoria deprograma que contiene un programa especial denominado “rutina de servicio deinterrupción” (en la dirección 20D0H de este ejemplo). El Microprocesador ejecutaentonces las instrucciones de esta rutina de servicio de interrupciones, que en estecaso es una operación de entrada. En la dirección 20DEH el Microprocesadorencuentra el fin de la rutina y se le indica que vuelva al programa principal.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
1. La interfaz de entrada envía una señal de petición de interrupción alMicroprocesador.
2. El Microprocesador completa la instrucción que está ejecutando (instrucción de laposición de memoria 2006H.
3. Debido a que el control debe volver posteriormente a la instrucción 2007H, loscontenidos del contador de programa (ahora 2007H ) y de la mayoría de los registrosinternos del Microprocesador son introducidos en un área especial de la RAMdenominada PILA. Estos serán devueltos posteriormente en el orden adecuado a losregistros del Microprocesador y contador de programa.
4. El Microprocesador ahora bifurca a una dirección predeterminada de la memoria deprograma que contiene un programa especial denominado “rutina de servicio deinterrupción” (en la dirección 20D0H de este ejemplo). El Microprocesador ejecutaentonces las instrucciones de esta rutina de servicio de interrupciones, que en estecaso es una operación de entrada. En la dirección 20DEH el Microprocesadorencuentra el fin de la rutina y se le indica que vuelva al programa principal.
Realizado por Ing. Juan J. Hernández MSc.
Proceso que se ejecuta cuando el Microprocesador responde a una interrupción.
5. Antes de volver al programa principal, los datos del contador de programa y de losregistros internos del Microprocesador son sacados de la PILA y devueltos alMicroprocesador.
6. El contador de programa ahora devuelve al Microprocesador la posición de memoria2007H del programa principal, donde continúa.
“ La interrupción es un método muy útil de permitir que un dispositivo periférico obtengael Microprocesador para hacer algo de manera casi inmediata “.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
“ La interrupción es un método muy útil de permitir que un dispositivo periférico obtengael Microprocesador para hacer algo de manera casi inmediata “.
Utilización del Registro de Direcciones / Datos.
Ejemplo: Sumar los contenidos de tres posiciones consecutivas de memoria y almacenar lasuma en la posición de memoria siguiente.
Realizado por Ing. Juan J. Hernández MSc.
Dirección(hex)
Contenido(hex)
2000 3A2001 002002 212003 2A2004 01
Utilización del Registro de Direcciones / Datos.
Memoria del Programa Memoria de Datos
Instrucción 1.LOAD acumulador
Instrucción 2.LOAD registro parHL
2100 OC
2101 OA
2102 07
2103
2104
Suma
2004 012005 212006 862007 232008 862009 23200A 77200B 76200C
Instrucción 2.LOAD registro parHL
Instrucción 3. ADD
Instrucción 4. INCREMENTregistro par HLInstrucción 5. ADDInstrucción 6. INCREMENTregistro par HL
Instrucción 7. STORE
Instrucción 8. PARAR
El programa se carga enlas posiciones de memoria2000 a 200B, mientras quelos tres números que sevan a sumar (OC+OA+07)se cargan en lasposiciones de la memoriade datos 2100 a 2102.
Utilización del Registro de Direcciones / Datos.
La primera instrucción (código de operación 3A) indica al Microprocesador que cargue elacumulador con el contenido de la posición de memoria 2100.
Instrucción 1
Antes de la operaciónAcumuladorx x x x x x x x
Después de la operaciónAcumulador0 0 0 0 1 1 0 0 = 12
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
x x x x x x x x
0 0 0 0 1 1 0 0
Memoria dedatos (2100)
LOAD
0 0 0 0 1 1 0 0 = 12
Realizado por Ing. Juan J. Hernández MSc.
Utilización del Registro de Direcciones / Datos.
La segunda instrucción (código de operación 2A) indica al Microprocesador que cargue2101 en el registro par de 16 bits HL. Esta posición (2101) es una dirección en la memoriade datos. Esta es la instrucción de “cargar de inmediato el registro par HL”
Instrucción 2
Antes de la operación Después de la operación
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Antes de la operación
0 0 0 0 0 0 0 1
Memoria de programa
0 0 1 0 0 0 0 1
(2004)
(2005)
LOAD L
Después de la operaciónH L
0 0 0 0 0 0 0 10 0 1 0 0 0 0 1
LOAD H
Realizado por Ing. Juan J. Hernández MSc.
Utilización del Registro de Direcciones / Datos.
La tercera instrucción (código de operación 86) indica al Microprocesador que sume elcontenido del acumulador con el contenido de la posición de memoria señalada por elregistro HL
Instrucción 3Después de la operación
Acumulador0 0 0 1 0 1 1 0 = 22
Antes de la operaciónAcumulador0 0 0 0 1 1 0 0 = 12
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
0 0 0 1 0 1 1 0 = 220 0 0 0 1 1 0 0
0 0 0 0 1 0 1 0
Memoria de datos
= 12
= 10
2101
2101
H L Puntero de dirección
ADD
Realizado por Ing. Juan J. Hernández MSc.
Utilización del Registro de Direcciones / Datos.
La cuarta instrucción (código de operación 23) indica al Microprocesador que incremente(sume + 1) al contenido del registro par HL.
Instrucción 4
Antes de la operación Después de la operación
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Registro de datos / direcciones
H L0 0 0 0 0 0 0 10 0 1 0 0 0 0 1
H L0 0 0 0 0 0 1 00 0 1 0 0 0 0 1
Registro de datos / direcciones
+1
Realizado por Ing. Juan J. Hernández MSc.
Utilización del Registro de Direcciones / Datos.
La quinta instrucción (código de operación 86) indica al Microprocesador que sume elcontenido del acumulador con el contenido de la posición de memoria señalada por elregistro par HL.
Instrucción 5Después de la operación
Acumulador0 0 0 1 1 1 0 1 = 29
Antes de la operaciónAcumulador0 0 0 1 0 1 1 0 = 22
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
0 0 0 1 1 1 0 1 = 290 0 0 1 0 1 1 0
0 0 0 0 0 1 1 1
Memoria de datos
= 22
= 07
2102
2102
H L Puntero de dirección
ADD
Realizado por Ing. Juan J. Hernández MSc.
Utilización del Registro de Direcciones / Datos.
La sexta instrucción (código de operación 23) indica al Microprocesador que incremente(sume + 1) al contenido del registro par HL.
Instrucción 6
Antes de la operación Después de la operación
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Registro de datos / direcciones
H L0 0 0 0 0 0 1 00 0 1 0 0 0 0 1
H L0 0 0 0 0 0 1 10 0 1 0 0 0 0 1
Registro de datos / direcciones
+1
Realizado por Ing. Juan J. Hernández MSc.
Utilización del Registro de Direcciones / Datos.
La séptima instrucción (código de operación 77) indica al Microprocesador que almaceneel contenido del acumulador (la suma 00011101) en la posición de memoria señalada porel registro par HL.
Instrucción 7Antes de la operación
Acumulador0 0 0 1 1 1 0 1 = 29
Después de la operaciónAcumulador0 0 0 1 1 1 0 1 = 29
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
0 0 0 1 1 1 0 1 = 29 0 0 0 1 1 1 0 1 = 29
0 0 0 1 1 1 0 1
Memoria de datos
= 29
2103
2103
H L Puntero de dirección
STORE
Realizado por Ing. Juan J. Hernández MSc.
Dirección(hex)
Contenido(hex)
22002201220222032204
Utilización del Puntero de Pila.
Memoria de Datos
2.- El Puntero de Pila es cargado con unadirección, una unidad mayor que ladirección del tope final de la Pila(inicialización de la Pila de la RAM).3.- Los datos pueden escribirse en la Pilautilizando una instrucción de PUSH(Introducir) o de CALL (Llamar).
1.- La Pila funciona como una memoria deacceso secuencial, ya que el último dato enentrar es el primer dato en salir (LIFO = lastinput first output)
Pila220422052206220722082209220A220B220C
Punterode Pila220A
3.- Los datos pueden escribirse en la Pilautilizando una instrucción de PUSH(Introducir) o de CALL (Llamar).4.- Los datos pueden ser leídos de la Pilautilizando una instrucción de POP (Sacar) oRETURN (Volver).5.- Escribir en la Pila se denomina, a veces,introducir en la Pila, mientras que leer de laPila se denomina sacar de la Pila.
Utilización del Puntero de Pila.
Antes de la operación Después de la operaciónH L
0 0 0 0 1 1 1 10 0 0 0 0 0 0 0
Operación de Introducir (PUSH) en la Pila el contenido del registro par HL.
42
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
PilaPUSH
2208
2209
220A
Punterode Pila220A
Pila
2208
2209
220A
42
Punterode Pila
3
1
4
2 00000000
00001111
Realizado por Ing. Juan J. Hernández MSc.
Antes de la operación
Pila PUSH
Después de la operaciónAcumulador1 1 1 1 1 1 1 10 1 0 1 0 1 0 1
Operación de Introducir (PUSH) en la Pila los contenidos del Acumulador y del registrode Status.
86
Status
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
22062207
00001111 220800000000 2209
220A
Pila PUSH
Punterode Pila2208
Pila
Punterode Pila
7
5
8
6 01010101
111111112206
2207
2208 00001111
2209 00000000
220A
Realizado por Ing. Juan J. Hernández MSc.
Antes de la operación
Pila
Después de la operaciónAcumulador
Operación de Restaurar (POP) el contenido del Registro de Status y del Acumulador alsacarlo de la Pila.
Status Acumulador Status0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1
13
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
22062207
00001111 220800000000 2209
220A
PilaPOP
Punterode Pila2206
Pila
Punterode Pila
201010101
111111112206 11111111
2207 01010101
2208 00001111
2209 00000000
220A
1
4
1
3
Realizado por Ing. Juan J. Hernández MSc.
Antes de la operación
Pila
Después de la operaciónH
Operación de Restaurar (POP) el contenido del registro de datos/direcciones al sacarlode la Pila.
L H L0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
57
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
2206220722082209220A
PilaPOP
Punterode Pila2208
Pila
Punterode Pila
2206
2207
2208 00001111
2209 00000000
220A 8
5
5
7
6
Realizado por Ing. Juan J. Hernández MSc.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
PROGRAMACIÓN DELMICROPROCESADOR
Realizado por Ing. Juan J. Hernández MSc.Realizado por Ing. Juan J. Hernández MSc.
PROGRAMACIÓN DELMICROPROCESADOR
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Los Lenguajes de Programación están divididos en niveles o generacionessegún han ido evolucionando. Estos niveles son:
PROGRAMACIÓN DEL MICROPROCESADOR.
1. Lenguajes de bajo nivel.
2. Lenguajes de alto nivel.
Realizado por Ing. Juan J. Hernández MSc.
2. Lenguajes de alto nivel.
1. Dentro de los Lenguajes de Bajo Nivel tenemos:
a) Lenguaje de Máquina
v El programador tenía que usar combinaciones de 1 y 0para crear los programas para las primeras computadoras.Estos interactuaban directamente con el Procesador.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
b) Lenguaje Ensamblador
v Se utilizaba una combinación de códigos de la primerageneración con palabras mas familiares para facilitar laprogramación. Ejemplos de estas palabras eran ADD, SUB,MUL, AND, JMP y otros.
PROGRAMACIÓN DEL MICROPROCESADOR.1. Dentro de los Lenguajes de bajo nivel tenemos:
Realizado por Ing. Juan J. Hernández MSc.
b) Lenguaje Ensamblador
v Se utilizaba una combinación de códigos de la primerageneración con palabras mas familiares para facilitar laprogramación. Ejemplos de estas palabras eran ADD, SUB,MUL, AND, JMP y otros.
v A diferencia del lenguaje de máquina estos pasan por unprograma llamado “assembler” que convierte en código demáquina las palabras.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
2. Lenguajes de alto nivel:
ü Estos programas son aquellos donde el código esta compuestode palabras familiares para el programador. Ejemplos de estaspalabras son Print, IF, While, Until entre otros.
ü Lenguajes que pertenecen a este nivel son RPG, C++, JAVA,Visual Basic, etc.
PROGRAMACIÓN DEL MICROPROCESADOR.
Realizado por Ing. Juan J. Hernández MSc.
ü Lenguajes que pertenecen a este nivel son RPG, C++, JAVA,Visual Basic, etc.
ü Para convertir a código de máquina estos pasaban por uno de
estos dos procesos:
1) Intérprete: el “interpreter” era un programa que cambiaba delenguaje de alto nivel a uno de máquina pero sin crear unobjeto (archivo) para un uso futuro por lo que la traducción setenía que repetir.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
PROGRAMACIÓN DEL MICROPROCESADOR.
2) Compilador: el “compiler” tiene la misma función delintérprete, pero este si crea el objeto (archivo) por lo que notenía que volver a ser traducido para su uso futuro.
ü Para convertir a código de máquina estos pasaban por uno de
estos dos procesos:
Realizado por Ing. Juan J. Hernández MSc.Realizado por Ing. Juan J. Hernández MSc.
2) Compilador: el “compiler” tiene la misma función delintérprete, pero este si crea el objeto (archivo) por lo que notenía que volver a ser traducido para su uso futuro.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
LENGUAJES DE MÁQUINA Y ENSAMBLADOR.
En el nivel más básico, el Microprocesador responde a un listado de operaciones quese denomina ”Programa Máquina”.
Dirección(hex)
Contenido(binario)
2000 00111110
2001 10110100
Memoria de programa
Dirección(hex)
Contenido(hex)
2000 3E
2001 B4
Memoria de programa
Comienzo del programa
Realizado por Ing. Juan J. Hernández MSc.Realizado por Ing. Juan J. Hernández MSc.Realizado por Ing. Juan J. Hernández MSc.
2001 10110100
2002 00101111
2003 00110010
2004 00000000
2005 00100001
2006 01110110
2007
2001 B4
2002 2F
2003 32
2004 00
2005 21
2006 76
2007
Fin del programa
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
LENGUAJES DE MÁQUINA Y ENSAMBLADOR.Sistema de
codificación
Dec. Hex. Bin.
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 01004 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
10 A 1010
11 B 1011
12 C 1100
13 D 1101
14 E 1110
15 F 1111
Realizado por Ing. Juan J. Hernández MSc.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
LENGUAJES DE MÁQUINA Y ENSAMBLADOR.
Estos programas son muy difíciles de comprender. En un nivel más entendible el programaanterior descrito en código máquina puede describirse como:
1. Cargar el número binario (10110100) en el acumulador del Microprocesador ( P).2. Complementar cada bit del número binario del acumulador para formar el complemento
a 1.3. Almacenar el resultado del complemento a 1 en la posición de memoria 2100H de la
memoria de datos.“En otras palabras el programa en código máquina descrito cambia un número binario de 8
bits a su forma equivalente de complemento a 1”.¿Cómo hacemos este programa más entendible?.• Sea la instrucción 2; esta es representada por un nemotécnico de tres letras CMA
(complementar el acumulador).• Las letras del nemotécnico son traducidas primero a su representación ASCII
equivalente (American Standard Code for Information Interchange).• Los tres códigos ASCII son evaluados entonces, en orden, por un programa
ensamblador especial y el código de máquina para “complementar el acumulador”resulta ser 00101111 ó 2FH.
Realizado por Ing. Juan J. Hernández MSc.
Estos programas son muy difíciles de comprender. En un nivel más entendible el programaanterior descrito en código máquina puede describirse como:
1. Cargar el número binario (10110100) en el acumulador del Microprocesador ( P).2. Complementar cada bit del número binario del acumulador para formar el complemento
a 1.3. Almacenar el resultado del complemento a 1 en la posición de memoria 2100H de la
memoria de datos.“En otras palabras el programa en código máquina descrito cambia un número binario de 8
bits a su forma equivalente de complemento a 1”.¿Cómo hacemos este programa más entendible?.• Sea la instrucción 2; esta es representada por un nemotécnico de tres letras CMA
(complementar el acumulador).• Las letras del nemotécnico son traducidas primero a su representación ASCII
equivalente (American Standard Code for Information Interchange).• Los tres códigos ASCII son evaluados entonces, en orden, por un programa
ensamblador especial y el código de máquina para “complementar el acumulador”resulta ser 00101111 ó 2FH.
PROGRAMACIÓN DEL MICROPROCESADOR.
C
M
A
01000011
01001101
01000001
Programa
ensamblador
00101111o 2FH
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Realizado por Ing. Juan J. Hernández MSc.
C
M
A
01000011
01001101
01000001
Programa
ensamblador
00101111o 2FH
Traducción del nemotécnico CMA del lenguaje ensamblador al código máquina por un programaensamblador.
Se acostumbra a dividir las sentencias del lenguaje ensamblador en cuatrocampos: (1) etiqueta, (2) nemotécnico, (3) operando y (4) comentarios.
1) El campo de etiqueta no se utiliza siempre. Se usa comunmente enprogramas cíclicos.
2) El campo de nemotécnico contiene el nemotécnico exacto que proporcionael fabricante. Este campo indica al programa ensamblador esencialmente laoperación que se va a realizar.
3) El campo de operando contiene información sobre registros, datos odirecciones asociados con la operación. Utilizando la información de loscampos de nemotécnico y operando, el programa ensamblador puedegenerar el código correcto en lenguaje máquina y puede también asignarposiciones de la memoria de programa a los listados en código máquina.
4) El campo de comentarios no lo evalúa el programa ensamblador, solamentelo imprime. Este ayuda a comprender qué ocurre en el programa.
LENGUAJES DE MÁQUINA Y ENSAMBLADOR.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
Realizado por Ing. Juan J. Hernández MSc.
Se acostumbra a dividir las sentencias del lenguaje ensamblador en cuatrocampos: (1) etiqueta, (2) nemotécnico, (3) operando y (4) comentarios.
1) El campo de etiqueta no se utiliza siempre. Se usa comunmente enprogramas cíclicos.
2) El campo de nemotécnico contiene el nemotécnico exacto que proporcionael fabricante. Este campo indica al programa ensamblador esencialmente laoperación que se va a realizar.
3) El campo de operando contiene información sobre registros, datos odirecciones asociados con la operación. Utilizando la información de loscampos de nemotécnico y operando, el programa ensamblador puedegenerar el código correcto en lenguaje máquina y puede también asignarposiciones de la memoria de programa a los listados en código máquina.
4) El campo de comentarios no lo evalúa el programa ensamblador, solamentelo imprime. Este ayuda a comprender qué ocurre en el programa.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
LENGUAJES DE MÁQUINA Y ENSAMBLADOR.
Dirección(hex)
Contenido(hex)
Etiqueta Nemotécnico Operando Comentarios
20002001
3EB4
MVI A, B4H ;Carga el acumulador con el datoque sigue inmediatamente, que es
B4H
2002 2F CMA ;Complementa el contenido delacumulador
Programa Máquina Programa Ensamblador
Realizado por Ing. Juan J. Hernández MSc.
2002 2F CMA ;Complementa el contenido delacumulador
200320042005
320021
STA 2100H ;Almacena el contenido delacumulador en la posición de
memoria 2100H
2006 76 HLT ;Se detiene la CPU
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
REGISTROS DISPONIBLES AL PROGRAMADOR.
Señalizadores A
B C
D E
8 BITS
Realizado por Ing. Juan J. Hernández MSc.
Puntero de PilaContador de Programa
D E
H L
16 BITS
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
En el lenguaje ensamblador encontramos distintas categorías decomandos. Entre ellas:− Operaciones de Transferencia de Datos:
• MOV : Operador de movimiento, entre registros o registros conmemoria.
PROGRAMACIÓN DEL MICROPROCESADOR.
Realizado por Ing. Juan J. Hernández MSc.
En el lenguaje ensamblador encontramos distintas categorías decomandos. Entre ellas:− Operaciones de Transferencia de Datos:
• MOV : Operador de movimiento, entre registros o registros conmemoria.
• IN, OUT : Operador de entrada y salida para el espacio de I/O.
• PUSH : Empuja el operando en el stack (pila).
• PUSHA: Empuja todos los registros en el stack.
• LDA : Guarda el contenido de la localización en el registro AC.
• STA : Guarda el contenido del registro AC en una localización.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
− Operaciones Aritméticas:
• ADD : Operando de suma donde los valores a sumar pueden serdirectos, en registros o en memoria.
PROGRAMACIÓN DEL MICROPROCESADOR.
• SUB : Operador de resta donde los valores a restar pueden serdirectos, en registros o en memoria.
Realizado por Ing. Juan J. Hernández MSc.
• SUB : Operador de resta donde los valores a restar pueden serdirectos, en registros o en memoria.
• MUL : Operador para la multiplicación de números enteros sinsigno.
• IDIV : Operador de división con signo.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
– Operaciones Lógicas:
• AND : Operador de AND.
PROGRAMACIÓN DEL MICROPROCESADOR.
• OR : Operador de OR.
Realizado por Ing. Juan J. Hernández MSc.
• OR : Operador de OR.
• XRA B : OR exclusiva de B con A.
• RAL/RAR : Rota hacia la izquierda o a la derecha.
• CMA : Complementa al Acumulador.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
– Operaciones de Bifurcación y llamadas de Subrutina:
• JMP : Salto incondicional.
PROGRAMACIÓN DEL MICROPROCESADOR.
• CALL : Transfiere el control a otra localización. Antes detransferir, la dirección de la instrucción que sigue al CALL esguardada en el stack.
Realizado por Ing. Juan J. Hernández MSc.
• CALL : Transfiere el control a otra localización. Antes detransferir, la dirección de la instrucción que sigue al CALL esguardada en el stack.
• JZ : Salto si el señalizador de cero es igual a 1.
• JC : Salto si el señalizador de arrastre es igual a 1.
• RET : Vuelta de Subrutina.
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
PROGRAMACIÓN DEL MICROPROCESADOR.EJEMPLO. INSTRUCCIONES ARITMÉTICAS.
Descripciónde la
Operación
Modo deDireccionamiento
Nemotécnico Cód.de
Oper.
Bytes Formato dela
Instrucción
Simbólico Señalizadoresafectados
SumaLOC(HyL)
a A
Indirecto deRegistro
ADDM 86 1 Código deOp.
(A) (A) +((H)(L))
Z, CY
Realizado por Ing. Juan J. Hernández MSc.
SumaLOC(HyL)
a A
Indirecto deRegistro
ADDM 86 1 Código deOp.
(A) (A) +((H)(L))
Z, CY
Compara Acon el dato
Inmediato CPI FE 2 Código deOp.
datos
(A) – (byte 2) Z=1 si(A)=(byte 2)
CY=1 si(A)<(byte 2)
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
PROGRAMACIÓN DEL MICROPROCESADOR.EJEMPLO. INSTRUCCIONES LÓGICAS.
Descripciónde la
Operación
Modo deDireccionamiento
Nemotécnico Cód.de
Oper.
Bytes Formato dela
Instrucción
Simbólico Señalizadoresafectados
ORExclusivode A con A
Registro XRA A AF 1 Código deOp.
Borra elAcumulador
(A) (A)(A)
ZCY se borra
Realizado por Ing. Juan J. Hernández MSc.
ORExclusivode A con A
Registro XRA A AF 1 Código deOp.
Borra elAcumulador
(A) (A)(A)
ZCY se borra
Complemen-tar A
(complemento a 1)
Inherente CMA 2F 1 Código deOp.
(A) (Ā)
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
PROGRAMACIÓN DEL MICROPROCESADOR.EJEMPLO. INSTRUCCIONES DE TRANSFERENCIA DE DATOS.
Descripciónde la
Operación
Modo deDireccionamiento
Nemotécnico Cód.de
Oper.
Bytes Formato dela
Instrucción
Simbólico Señalizadoresafectados
Carga LOC(HyL) a A
Indirecto deregistro
MOV A,M 7E 1 Código deOp.
(A) (H)(L))
Realizado por Ing. Juan J. Hernández MSc.
Carga LOC(HyL) a A
Indirecto deregistro
MOV A,M 7E 1 Código deOp.
(A) (H)(L))
Carga HLcon dato
Inmediato LXI H 21 3 Código deOp.
Dato deorden inf.Dato de
orden sup.
(L) (byte 2)(H) (byte 3)
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
PROGRAMACIÓN DEL MICROPROCESADOR.EJEMPLO. INSTRUCCIONES DE BIFURCACIÓN.
Descripciónde la
Operación
Modo deDireccionamiento
Nemotécnico Cód.de
Oper.
Bytes Formato dela
Instrucción
Simbólico Señalizadoresafectados
Salta aLOC aa si
es 0
Inmediato JZ CA 3 Código deOp.
Direcc.Orden Inf.
Direcc.Orden sup.
Si elseñalizador de0 = 1, entonces(PC) (direcc)
Z
Realizado por Ing. Juan J. Hernández MSc.
Salta aLOC aa si
es 0
Inmediato JZ CA 3 Código deOp.
Direcc.Orden Inf.
Direcc.Orden sup.
Si elseñalizador de0 = 1, entonces(PC) (direcc)
Z
Salta aLOC aa sise coloca elseñalizadorde arrastre
Inmediato JC DA 3 Código deOp.
Direcc.Orden inf.
Direcc.Orden sup.
Si elseñalizador dearrastre = 1,entonces(PC) (direcc)
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
PROGRAMACIÓN DEL MICROPROCESADOR.EJEMPLO. INSTRUCCIONES DE LLAMADA Y VUELTA SUBRUTINA.
Descripciónde la
Operación
Modo deDireccionamiento
Nemotécnico Cód.de
Oper.
Bytes Formato dela
Instrucción
Simbólico Señalizadoresafectados
Llama a lasubrutinaen LOC aa
Inmediato/indirecto de
registro
CALL CD 3 Código deOp.
Direcc.Orden Inf.
Direcc.Orden sup.
((SP)-1)(PCH)((SP-2)(PCL)(SP) (SP)-2(PC) (direcc)
Realizado por Ing. Juan J. Hernández MSc.
Llama a lasubrutinaen LOC aa
Inmediato/indirecto de
registro
CALL CD 3 Código deOp.
Direcc.Orden Inf.
Direcc.Orden sup.
((SP)-1)(PCH)((SP-2)(PCL)(SP) (SP)-2(PC) (direcc)
Vuelta desubrutina
Indirecto deregistro
RET C9 1 Código deOp.
(PCL) ((SP))(PCH)((SP)+1)(SP) (SP)+2
REPÚBLICA BOLIVARIANA DE VENEZUELAUNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADÉMICOCOORDINACIÓN DE INGENIERÍA EN INFORMÁTICA
MICROPROCESADORES
PROGRAMACIÓN DEL MICROPROCESADOR.EJEMPLO. INSTRUCCIONES MISCELANEAS.
Descripciónde la
Operación
Modo deDireccionamiento
Nemotécnico Cód.de
Oper.
Bytes Formato dela
Instrucción
Simbólico Señalizadoresafectados
IntroduceHL a la pila
Indirecto deregistro
PUSH H E5 1 Código deOp.
((SP)-1) (H)((SP-2) (L)(SP) (SP)-2
Realizado por Ing. Juan J. Hernández MSc.
IntroduceHL a la pila
Indirecto deregistro
PUSH H E5 1 Código deOp.
((SP)-1) (H)((SP-2) (L)(SP) (SP)-2
SacaHL dela pila
Indirecto deregistro
POPH E1 1 Código deOp.
(L) ((SP))(H) ((SP)+1)(SP) (SP)+2