Microprocesadores UNEG 2011

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

description

Curso de microprocesadores.

Transcript of Microprocesadores UNEG 2011

Page 1: Microprocesadores UNEG 2011

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.

Page 2: Microprocesadores UNEG 2011

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

Page 3: Microprocesadores UNEG 2011

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

Page 4: Microprocesadores UNEG 2011

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

Page 5: Microprocesadores UNEG 2011

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

Page 6: Microprocesadores UNEG 2011

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

Page 7: Microprocesadores UNEG 2011

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.

Page 8: Microprocesadores UNEG 2011

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

Page 9: Microprocesadores UNEG 2011

• 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

Page 10: Microprocesadores UNEG 2011

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

Page 11: Microprocesadores UNEG 2011

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?

Page 12: Microprocesadores UNEG 2011

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)

Page 13: Microprocesadores UNEG 2011

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

Page 14: Microprocesadores UNEG 2011

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

Page 15: Microprocesadores UNEG 2011

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.

Page 16: Microprocesadores UNEG 2011

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.

Page 17: Microprocesadores UNEG 2011

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.

Page 18: Microprocesadores UNEG 2011

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.

Page 19: Microprocesadores UNEG 2011

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

Page 20: Microprocesadores UNEG 2011

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.

Page 21: Microprocesadores UNEG 2011

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.

Page 22: Microprocesadores UNEG 2011

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

Page 23: Microprocesadores UNEG 2011

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

Page 24: Microprocesadores UNEG 2011

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.

Page 25: Microprocesadores UNEG 2011

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

Page 26: Microprocesadores UNEG 2011

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.

Page 27: Microprocesadores UNEG 2011

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.

Page 28: Microprocesadores UNEG 2011

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.

Page 29: Microprocesadores UNEG 2011

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.

Page 30: Microprocesadores UNEG 2011

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.

Page 31: Microprocesadores UNEG 2011

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

Page 32: Microprocesadores UNEG 2011

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.

Page 33: Microprocesadores UNEG 2011

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

Page 34: Microprocesadores UNEG 2011

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

Page 35: Microprocesadores UNEG 2011

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

Page 36: Microprocesadores UNEG 2011

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

Page 37: Microprocesadores UNEG 2011

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

Page 38: Microprocesadores UNEG 2011

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

Page 39: Microprocesadores UNEG 2011

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

Page 40: Microprocesadores UNEG 2011

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.

Page 41: Microprocesadores UNEG 2011

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.

Page 42: Microprocesadores UNEG 2011

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.

Page 43: Microprocesadores UNEG 2011

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.

Page 44: Microprocesadores UNEG 2011

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.

Page 45: Microprocesadores UNEG 2011

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.

Page 46: Microprocesadores UNEG 2011

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.

Page 47: Microprocesadores UNEG 2011

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.

Page 48: Microprocesadores UNEG 2011

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.

Page 49: Microprocesadores UNEG 2011

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.

Page 50: Microprocesadores UNEG 2011

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.

Page 51: Microprocesadores UNEG 2011

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.

Page 52: Microprocesadores UNEG 2011

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.

Page 53: Microprocesadores UNEG 2011

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.

Page 54: Microprocesadores UNEG 2011

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.

Page 55: Microprocesadores UNEG 2011

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.

Page 56: Microprocesadores UNEG 2011

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.

Page 57: Microprocesadores UNEG 2011

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.

Page 58: Microprocesadores UNEG 2011

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.

Page 59: Microprocesadores UNEG 2011

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.

Page 60: Microprocesadores UNEG 2011

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.

Page 61: Microprocesadores UNEG 2011

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.

Page 62: Microprocesadores UNEG 2011

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.

Page 63: Microprocesadores UNEG 2011

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.

Page 64: Microprocesadores UNEG 2011

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.

Page 65: Microprocesadores UNEG 2011

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.

Page 66: Microprocesadores UNEG 2011

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.

Page 67: Microprocesadores UNEG 2011

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.

Page 68: Microprocesadores UNEG 2011

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

Page 69: Microprocesadores UNEG 2011

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.

Page 70: Microprocesadores UNEG 2011

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.

Page 71: Microprocesadores UNEG 2011

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.

Page 72: Microprocesadores UNEG 2011

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.

Page 73: Microprocesadores UNEG 2011

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

Page 74: Microprocesadores UNEG 2011

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.

Page 75: Microprocesadores UNEG 2011

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.

Page 76: Microprocesadores UNEG 2011

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.

Page 77: Microprocesadores UNEG 2011

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.

Page 78: Microprocesadores UNEG 2011

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

Page 79: Microprocesadores UNEG 2011

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

Page 80: Microprocesadores UNEG 2011

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.

Page 81: Microprocesadores UNEG 2011

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.

Page 82: Microprocesadores UNEG 2011

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.

Page 83: Microprocesadores UNEG 2011

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.

Page 84: Microprocesadores UNEG 2011

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)

Page 85: Microprocesadores UNEG 2011

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

Page 86: Microprocesadores UNEG 2011

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)

Page 87: Microprocesadores UNEG 2011

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)

Page 88: Microprocesadores UNEG 2011

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

Page 89: Microprocesadores UNEG 2011

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