tutorial microprocesadores

Upload: jonathan-arana-mora

Post on 13-Oct-2015

104 views

Category:

Documents


1 download

TRANSCRIPT

  • MDULO DE MICROPROCESADORES& MICROCONTROLADORES

    Elaborado para la UNAD por:Freddy Reynaldo Tllez Acua1

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADFACULTAD DE CIENCIAS BSICAS E INGENIERA

    2006

    1 Docente de la Unad. Ingeniero Electricista UIS. Magster en Potencia Elctrica UIS.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    2

    UNIDADES DIDCTICAS DEL CURSO

    UNIDAD CAPTULO TEMAS

    1. FUNDAMENTOS DEMICROPROCESADORES

    1.1 INTRODUCCIN ALMICROPROCESADOR

    1.2 MICROPROCESADORESDE 8 BITS

    1.3 MICROPROCESADORESDE 16 y 32 BITS

    1.1.1 Origen y evolucin1.1.2 Generalidades del microprocesador1.1.3 Estructura interna1.1.4 Familias de microprocesadores

    1.2.1 Caractersticas Generales1.2.2 Funciones y diagrama de pines1.2.3 Arquitectura interna1.2.4 Modos de direccionamiento1.2.5 Repertorio de instrucciones

    1.3.1 Caractersticas Generales1.3.2 Funciones y diagrama de pines1.3.3 Arquitectura interna1.3.4 Modos de direccionamiento1.3.5 Repertorio de instrucciones

    2. FUNDAMENTOS DEMICROCONTROLADORES

    2.1 INTRODUCCIN ALMICROCONTROLADOR

    2.2 MICROCONTROLADORESDE 8 BITS

    2.1.1 Generalidades del microcontrolador2.1.2 Estructura interna2.1.3 Familias de microcontroladores

    2.2.1 Caractersticas Generales2.2.2 Funciones y diagrama de pines2.2.3 Arquitectura interna2.2.4 Modos de direccionamiento2.2.5 Repertorio de instrucciones

    3. PROGRAMACIN DEMICROPROCESADORESY MICROCONTROLADORES

    3.1 INTRODUCCIN A LAPROGRAMACIN

    3.2 DESARROLLO DEAPLICACIONES

    3.1.1 Lenguajes mquina y ensamblador3.1.2 Repertorio de instrucciones3.1.2.1 Aritmticas y lgicas3.1.2.2 Transferencia de datos3.1.2.3 Bifurcacin3.1.2.4 Atencin a subrutinas3.1.2.5 Miscelneas

    3.2.1 Generalidades de programacin3.2.2 Dispositivos de entrada3.2.3 Dispositivos de salida3.2.4 Aplicaciones

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    3

    INTRODUCCIN

    La llegada de nuevas tecnologas, trae como consecuencia la modernizacin delas empresas, el aumento en la productividad y la realizacin de tareas de formams precisa, prctica y segura. Los microprocesadores y los microcontroladoresson un claro ejemplo de ello.

    Estos elementos constituyen un gran avance en el mundo de la electrnica,dejando a su paso un gran nmero de componentes y haciendo peligrar laexistencia de otros elementos empleados en el control de procesos.

    En la actualidad los microprocesadores y los microcontroladores se encuentranpresentes en muchas aplicaciones de la vida cotidiana, realizando las msdiversas funciones. Entre sus efectos se destacan la reduccin del tamao de loselementos que los emplean, un sobresaliente desempeo de los mismos y laobtencin de mejores resultados en los diferentes procesos en que participan.

    El uso de microprocesadores y microcontroladores de propsito general enaplicaciones ms especializadas, como el procesamiento de seales digitales, haempezado a ser ms frecuente debido a las altas velocidades de procesamientoque pueden alcanzar y a las caractersticas especiales que ofrecen.

    El mundo actual exige entonces al futuro profesional, familiarizarse con estosdispositivos electrnicos, como componentes imprescindibles de la tecnologa y eldesarrollo de nuevos campos productivos.

    Los conceptos a tratar en este curso estn ntimamente ligados a su profesin yson de gran importancia dentro del proceso de formacin integral de todoingeniero.

    Se espera que el manejo de los diferentes temas y la comprensin de losprincipales conceptos del curso, le den una visin ms amplia de su carrera ypotencien sus posibilidades de desempeo profesional.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    4

    UNIDAD 1FUNDAMENTOS DE MICROPROCESADORES

    CONTENIDOS

    Captulo 1. Introduccin al Microprocesador

    1. Origen y evolucin2. Generalidades del microprocesador3. Estructura interna4. Familias de microprocesadores

    Captulo 2. Microprocesadores de 8 bits

    1. Caractersticas Generales2. Funciones y diagrama de pines3. Arquitectura interna4. Modos de direccionamiento5. Repertorio de instrucciones

    Captulo 3. Microprocesadores de 16 y 32 bits

    1. Caractersticas Generales2. Funciones y diagrama de pines3. Arquitectura interna4. Modos de direccionamiento5. Repertorio de instrucciones

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    5

    CAPTULO 1

    INTRODUCCIN AL MICROPROCESADOR

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    6

    1. ORIGEN Y EVOLUCIN

    Los principales hechos histricos que condujeron al desarrollo delmicroprocesador, y que permitieron tan sorprendente evolucin tecnolgica, sedescriben brevemente a continuacin.

    Era Mecnica.

    La idea de implementar un sistema de cmputo ha existido desde antes queapareciera la electricidad y la electrnica. Esta idea comenz cerca del ao 500A.C. cuando los antiguos babilonios inventaron el baco, la primera calculadoramecnica, la cual fue usada ampliamente y an en la actualidad se sigue usando.

    El baco fue desplazado en 1642 cuando el matemtico Blaise Pascal invent unacalculadora construida con engranajes y ruedas.

    Era Elctrica.

    En el siglo XIX, con el surgimiento de la electricidad y el motor elctrico,aparecieron las mquinas sumadoras movidas por motor, las cuales se basabanen el modelo de calculadora de Blaise Pascal. Estas sumadoras fueron losequipos de oficina hasta inicio de los aos sesenta del siglo XX.

    Las mquinas mecnicas, movidas por motores elctricos, dominaron el mundodel procesamiento de informacin hasta la construccin de la primera calculadoraelectrnica, desarrollada en 1941 por el inventor alemn Honrad Zuse. Estacomputadora de clculo, la Z3, se utiliz en el diseo de aeronaves y misiles parael ejrcito alemn durante la Segunda Guerra Mundial.

    Se tiene conocimiento, por documentos militares britnicos de la poca, que laprimera computadora electrnica fue puesta en funcionamiento en 1943 paradescifrar cdigos militares alemanes. Por otra parte, el primer sistema de cmputoelectrnico, el cual usaba tubos al vaco, fue inventado por Alan Turing, quien lollam Colossus, probablemente a causa de su tamao.

    La primera computadora electrnica programable de propsito general fuedesarrollada en 1946 en la Universidad de Pennsylvania. Esta primeracomputadora moderna se llamaba ENIAC, y era tan enorme que contena ms de17,000 tubos de vaco y ms de 800 kilmetros de cable; pesaba ms de 30toneladas y an as slo realizaba 100,000 operaciones por segundo. La ENIACse programaba recableando sus circuitos; un proceso que tomaba varios das ymuchos trabajadores. Un problema que tena esta mquina era la vida til de losbulbos, los cuales requeran mantenimiento constante.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    7

    En 1948 Laboratorios Bell desarroll el transistor, seguido por la invencin delcircuito integrado en 1958 por Jack Kilby de Texas Instruments. Estos elementoscondujeron al desarrollo de los circuitos digitales integrados RTL ( LgicaResistencia Transistor ) en los aos sesenta y a la creacin del primermicroprocesador: el 4004 de Intel Corporation en 1971, el cual inici la revolucindel microprocesador, la cual contina hasta hoy a un ritmo cada vez msacelerado.

    El primer "PC" o Computador Personal fue construido por IBM en 1981 y aunqueya existan otros computadores, el modelo de IBM tuvo gran xito, entre otrascosas porque era fcil de producir en serie. En su interior tena unmicroprocesador 8088, de la empresa Intel, que mejoraba las prestaciones de unmodelo anterior, el microprocesador 4004.

    Computador IBM de Primera Generacin

    Fuente: Internet (conozcasuhardware.com)

    Con el paso de los aos surgieron nuevos y cada vez ms poderososmicroprocesadores. En las siguientes tablas se resumen las caractersticas dealgunos de ellos.

    Procesadores de la dcada de los 70

    4004 8008 8080 8086 8088

    Fecha de introduccin 15/11/71 1/4/72 1/4/74 8/6/78 1/6/79

    Velocidad de reloj 108KHz 108KHz 2MHz 5MHz,8MHz,10MHz 5MHz, 8MHz

    Ancho de bus 4 bits 8 bits 8 bits 16 bits 8 bits

    Nmero de transistores 2.300 3.500 6.000 29.000 29.000

    Memoria direccionable 640 byte 16 kbyte 64 kbyte 1 Mbyte 1 Mbyte

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    8

    Procesadores de la dcada de los 80

    80286 Intel386TM DX Intel386TM SX Intel486TM DX

    Fecha deintroduccin 1/2/82 17/10/85 16/6/88 10/4/89

    Velocidad de reloj 6MHz - 12,5 MHz 16 MHz - 33 MHz 16 MHz - 33 MHz 25 MHz - 50 MHz

    Ancho de bus 16 bits 32 bits 16 bits 32 bits

    Nmero detransistores 134,000 275,000 275,000 1,2 millones

    Memoriadireccionable 16 Mbytes 4 Gbytes 4 Gbytes 4 Gbytes

    Memoria virtual 1 Gbyte 64 Terabytes 64 Terabytes 64 Terabytes

    Fuente: William Stallings

    Posteriormente surgieron otras empresas como AMD y Cyrix que desarrollaronchips compatibles con los Intel. Adems, lanzaron la lnea 386 que superaba lasprestaciones que ofreca la lnea de productos Intel. Despus surgi el 486, queera un 386 con un co-procesador matemtico incorporado y una memoria cachintegrada, lo que lo haca ms rpido. Desde entonces todos los chips tienen esteconjunto en su interior.

    Luego vino el Pentium, un nombre inventado para evitar que surgieran 586s marcaAMD o Cyrix, ya que no era posible patentar un nmero pero s un nombre, lo queaprovecharon para sacar fuertes campaas de publicidad del "Intel Inside" (Inteladentro).

    En ltima generacin de microprocesadores, se destacan entre otras, la lnea deIntel con los Pentium IV y la lnea Power PC de Mac. La siguiente figura muestraun procesador PowerPC 970, actualmente uno de los ms avanzados delmercado.

    Fuente: Internet (5.ibm.com)

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    9

    Para finalizar esta seccin, se presenta en la siguiente tabla la evolucin eincremento de la cantidad de instrucciones por segundo (IPS) desarrolladas pordiversos procesadores.

    Procesador IPS Reloj AoIntel 8080 640 KIPS 2 MHz 1974

    Intel 8086 800 KIPS 5 MHz 1978

    Motorola 68000 1 MIPS 8 MHz 1979

    Intel 486DX 54 MIPS 50 MHz 1989

    PowerPC 600s (G2) 35 MIPS 33 MHz 1994

    PowerPC G3 525 MIPS 233 MHz 1997

    Zilog eZ80 80 MIPS 50 MHz 1999

    Pentium 4 Extreme Edition 9726 MIPS 3.2 GHz 2003

    Xbox360 IBM "Xenon" Single Core 6400 MIPS 3.2 GHz 2005

    AMD Athlon 64 8400 MIPS 2.8 GHz 2005

    AMD Athlon 64 Dual Core 18500 MIPS 2.2 GHz 2005

    AMD Athlon 64 3800+ X2 (Dual Core) 18900 MIPS 2.2 GHz 2005

    Cell (cada PPE) 6400 MIPS 3.2 GHz 2006

    Procesador Cell de la PlayStation 3 21800 MIPS 3.2 GHz 2006

    AMD Athlon FX-60 (Dual Core) 22150 MIPS 2.6 GHz 2006

    Overclocked AMD Athlon FX-60 (Dual Core) 27100 MIPS 3.0 GHz 2006

    Fuente: Internet (mips.wikipedia.com)

    2. GENERALIDADES DEL MICROPROCESADOR

    Los sistemas de cmputo basados en microprocesadores constan de bloquesfuncionales bsicos, que incluyen: una Unidad Central de Procesamiento (CPU),Dispositivos de Memoria y Puertos de Entrada/Salida.

    Estos bloques funcionales se conectan mediante los Buses del Sistema ( datos,direccin y control ), como se presenta a continuacin.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    10

    Fuente: Thomas Floyd

    En un de sistema de cmputo, las instrucciones y los datos se encuentranalmacenados en unas posiciones especficas de la memoria. Cada posicin dememoria tiene asociada una direccin exclusiva. La CPU ( el microprocesador )obtiene las instrucciones y los datos colocando una direccin en el bus dedirecciones. Posteriormente las instrucciones y/o los datos se transfieren a travsdel bus de datos cuando son solicitados por la CPU.

    La CPU ejecuta las instrucciones de un programa secuencialmente. Confrecuencia, las instrucciones modifican los datos almacenados en memoria uobtenidas a travs de un dispositivo de entrada. Los datos procesados puedenalmacenarse de nuevo en memoria o enviarse a un dispositivo de salida a travsdel bus de datos. La CPU tambin genera e interpreta las seales del bus decontrol para coordinar estas y muchas ms operaciones.

    El microprocesador

    Un microprocesador es un circuito de gran escala de integracin, que contiene laCPU completa de un computador en un nico circuito integrado. Segn han idoevolucionando los microprocesadores, tambin lo han hecho los computadores,los cules han ampliado sus prestaciones y capacidades de servicio, as como lafacilidad para su adquisicin.

    Dispositivos deMemoria: RAM,

    ROM, Disco Duro

    CPU

    Microprocesador

    Puertos de entrada Puertos de salida

    Bus de direcciones

    Bus de datos

    Bus de control

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    11

    Los microprocesadores se emplean tambin en muchas aplicaciones querequieren funciones de control y supervisin, entre las que se incluyen el controlindustrial y de maquinaria, los controles de motores y la telemetra, por nombrarsolo algunas.

    Un microprocesador contiene varias unidades o estructuras, cada una de ellasdiseada para realizar un trabajo especfico. Las unidades en s, ms su diseo yorganizacin, se conocen comnmente como la arquitectura del microprocesador.

    En la siguiente figura se presentan las principales unidades bsicas de todos losmicroprocesadores: la unidad lgica y aritmtica (ALU), la matriz de registros y launidad de control. Existen otras unidades auxiliares que trabajan junto con estastres unidades bsicas para formar un microprocesador especfico.

    Fuente: Thomas Floyd

    El microprocesador, por medio de sus unidades bsicas, realiza las principalestareas en un sistema de cmputo:

    (1) procesamiento de la informacin; (2) control de la transferencia de datos entrel mismo y la memoria o el sistema de entrada/salida; (3) realizacin deoperaciones lgicas y aritmticas, y (4) ejecucin de programas, por medio de loscules se realizan una serie de operaciones o tareas.

    El poder del microprocesador radica en su capacidad de ejecutar miles de millonesde instrucciones por segundo provenientes de un programa o softwarealmacenado en su sistema de memoria. Otra caracterstica que hace poderoso almicroprocesador es su capacidad para tomar decisiones simples basadas enhechos numricos. Por ejemplo, un microprocesador puede decidir si un nmeroes cero, si es positivo, etc. Estas decisiones sencillas permiten al microprocesadormodificar el flujo del programa, de manera que los programas parecen razonar.

    Buses del microprocesador

    Un bus es un conjunto de conductores comunes que interconectan componentesde un sistema de cmputo. Los tres buses mencionados anteriormente son parte

    UNIDADARITMTICO

    LGICAMATRIZ DEREGISTROS

    UNIDAD DE CONTROL

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    12

    de las conexiones internas y externas que utilizan los microprocesadores paraenviar datos, direcciones y seales de control.

    El bus de datos. El bus de datos es bidireccional, es decir, de doble sentido. Porl los datos o las instrucciones se transfieren al microprocesador, y los resultadosde una operacin clculo son enviados desde el microprocesador. Los primerosmicroprocesadores tenan buses de datos de 8 bits. Dependiendo de cadamicroprocesador concreto, el tamao del bus de datos es de 8, 16, 32, o 64 bits.

    El bus de direcciones. El bus de direcciones es unidireccional. Por medio de les que el microprocesador enva un cdigo de direccin a una memoria o a undispositivo externo. El tamao o ancho del bus de direcciones se especificamediante el nmero de lneas. Los primeros microprocesadores utilizados encomputadores tenan 16 lneas de direcciones, con las que se poda direccionar216 posiciones distintas, es decir 64K. Cuantos ms bits tenga el bus dedirecciones, se puede acceder a ms posiciones de memoria. El nmero de lneasde direccin se ha ido incrementando a 20, 24, 32 y 36 bits. El Pentium II, con 36lneas, permite acceder a 64G.

    El bus de control. El microprocesador utiliza el bus de control para coordinar lasoperaciones y comunicarse con los dispositivos externos. El bus de control tieneseales que permiten leer y escribir datos en la memoria o en un puerto deentrada/salida en el instante apropiado. Las lneas de control tambin se utilizanpara insertar estados de espera para los dispositivos ms lentos y evitarcongestin en el bus, esta es una condicin que puede producirse cuando dos oms dispositivos intentan transmitir al mismo tiempo.

    En la mayora de los sistemas de cmputo existen las siguientes lneas del bus decontrol: MRDC (control de lectura de memoria), MWTC (control de escritura dememoria), IORC (control de lectura de entrada/salida) e IOWC (control de escriturade entrada/salida). Adems tambin se tienen las seales de reloj, reset y manejode interrupciones.

    3. ESTRUCTURA INTERNA

    Como se ha mencionado hasta el momento, la configuracin interna de unmicroprocesador consta de tres unidades bsicas: la unidad aritmtico lgica(ALU), la matriz de registros y la unidad de control. Cada una de ellas serdescrita a continuacin.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    13

    3.1 Unidad Aritmtico Lgica ( ALU )

    La ALU es la parte del computador que realiza las operaciones aritmticas, comola suma y la sustraccin, y las operaciones lgicas con los datos, como la NOT,AND, OR y OR-exclusiva. El resto de los elementos del computador ( unidad decontrol, registros, memoria y E/S ) estn principalmente para suministrar datos a laALU y para recuperar los resultados. En sntesis, la ALU se considera el ncleo ola base del procesamiento matemtico del computador.

    Una unidad aritmtico lgica y, en realidad, muchos de los componenteselectrnicos del computador, se basan en el uso de dispositivos lgicos digitales,los cuales pueden almacenar dgitos binarios y realizar operaciones lgicasbooleanas elementales. La siguiente figura indica, en trminos generales, cmo seinterconecta la ALU con el resto del procesador.

    Fuente: William Stallings

    Los datos se presentan a la ALU en registros, y posteriormente all se almacenanlos resultados de las operaciones producidas por la ALU. Estos registros sonposiciones de memoria temporales, internas al procesador, que estn conectadosa la ALU. Adems se pueden activar indicadores ( flags o indicadores de estado )como resultado de una operacin. Por ejemplo, un indicador de desbordamientose pondr a 1 si el resultado de una operacin excede la longitud del registro endonde ste debe almacenarse. Los valores de los indicadores se almacenantambin en otro registro dentro del procesador ( registro de estado ). La unidad decontrol, por su parte, proporciona las seales que gobiernan el funcionamiento dela ALU y la transferencia de datos dentro y fuera de ella.

    Representacin de los datos

    Los datos manejados en la ALU tienen formato de complemento a dos, el cualutiliza el bit ms significativo como bit de signo, facilitando de esta forma las

    BUS

    DEL

    SI

    STEM

    A

    ALU

    Indicadores de estado

    Desplazador

    Complementador

    Lgica aritmtica y booleana

    Registros

    Unidad de control

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    14

    operaciones con los enteros negativos. Los bits restantes son interpretados tal ycomo lo muestra la siguiente tabla.

    RANGO DE VALORES -2n-1 a 2n-1-1N de representaciones del cero Una

    Negacin Ejecutar el complemento booleano de cada bit ysumar 1 al patrn de bits resultante.

    Ampliacin de la longitud de bitsLas posiciones de bit extra se aaden a la

    izquierda, rellenndolas con el valor del bit designo original

    Regla para el desbordamientoSi se suman dos nmeros de igual signo (ambos

    positivos o ambos negativos), hay desbordamientosi, y slo si, el resultado tiene signo opuesto.

    Regla para la resta Para restar B de A, se toma el complemento a dosde B y suma a A.

    Fuente: William Stallings

    El nmero cero se identifica como positivo y tiene, por tanto, un bit de signo ( 0 ) yuna magnitud de cero. El rango de nmeros positivos que se pueden representares desde el cero hasta 2n-1-1; en el caso de los nmeros negativos se puedenrepresentar desde el -1 hasta -2n-1.

    3.2 Matriz de registros

    Recordemos rpidamente algunas de las funciones que debe realizar la CPU,como elemento principal de un sistema de cmputo:

    Captar instrucciones: la CPU lee una instruccin de la memoria.

    Interpretar instrucciones: la instruccin se decodifica para determinar queacciones se deben realizar.

    Captar datos: la ejecucin de una instruccin puede exigir leer datos de lamemoria o de un mdulo de entrada/salida.

    Procesar datos: la ejecucin de una instruccin puede exigir llevar a caboalguna operacin aritmtica o lgica con los datos.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    15

    Escribir datos: los resultados de una ejecucin pueden exigir escribir datosen la memoria o en un mdulo de entrada/salida.

    Para realizar estos procesos, es necesario que la CPU almacene algunainformacin de forma temporal. Debe tambin recordar la posicin de la ltimainstruccin, de forma que pueda saber dnde ir a buscar la siguiente. Necesitaalmacenar instrucciones y datos temporalmente mientras una instruccin estejecutndose. En otras palabras, la CPU requiere una pequea memoria interna.

    Dentro de la CPU hay entonces, un conjunto de registros que funciona como unnivel de memoria, por encima de la memoria principal y de la cache. Estosregistros de la CPU pueden ser de dos tipos:

    Registros visibles para el usuario: Permiten al programador delenguaje mquina o ensamblador, minimizar las referencias a memoriaprincipal cuando optimiza el uso de registros.

    Registros de control y de estado: Son utilizados por la unidad decontrol para controlar el funcionamiento de la CPU, y por programasprivilegiados del sistema operativo para controlar la ejecucin de otrosprogramas.

    Registros visibles para el usuario

    Un registro visible para el usuario es aquel que puede ser referenciado por mediodel lenguaje mquina que ejecuta la CPU. Se pueden clasificar en las siguientescategoras:

    Propsito general Datos Direcciones Cdigos de condicin

    Los registros de propsito general pueden ser asignados por el programador adiversas funciones. En realidad, no tienen asignada ninguna funcin especfica.

    En algunos casos, los registros de propsito general pueden ser utilizados parafunciones de direccionamiento. En otros casos hay una separacin parcial o totalentre registros de datos y registros de direcciones. Los registros de datospueden usarse nicamente para contener datos y no se pueden emplear en elclculo de una direccin de operando. Los registros de direccin pueden ser deuso ms o menos general, o pueden estar dedicados a un modo dedireccionamiento particular.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    16

    Los registros que han de contener direcciones, han de ser lo suficientementegrandes como para guardar la direccin ms grande. Los registros de datosdeben ser capaces de contener valores de la mayora de tipos de datos. Algunasmquinas permiten que dos registros contiguos sean usados como uno solo paracontener valores de doble longitud.

    Los indicadores de estado cdigos de condicin, son bits fijados por elhardware de la CPU como resultado de alguna operacin. Por ejemplo, unaoperacin aritmtica puede producir un resultado positivo, negativo, nulo o condesbordamiento. Adems de almacenar el resultado en un registro o en lamemoria, se obtiene tambin un cdigo de condicin.

    Los cdigos de condicin se renen en uno o ms registros. Normalmenteforman parte de un registro de control. Por lo general, las instrucciones demquina permiten que estos bits sean ledos por referencia implcita, pero nopueden ser alterados por el programador.

    Otros registros de inters, son:

    Acumulador: es un registro ( o registros ) asociado principalmente a lasoperaciones de la ALU, y algunas veces a las operaciones de E/S.Puede ser de 8, 16 o 32 bits. En l se almacenan los resultados de lasdiferentes operaciones matemticas y lgicas que se realizan en la ALU.

    Punteros de segmento: en una mquina con direccionamientosegmentado ( ms adelante se tratar el tema de direccionamiento ) unregistro de segmento contiene la direccin de la base del segmento.Puede haber mltiples registros: por ejemplo, uno para el sistemaoperativo y otro para el proceso actual.

    Registro ndice: se emplea para que contenga la direccin de unoperando, cuando se utiliza el modo de direccionamiento indexado.

    Puntero de pila (SP): este registro sigue la pista de la siguienteposicin de memoria disponible en la pila. La pila es un rea reservadautilizada principalmente para el almacenamiento de direcciones devuelta y contenido de registros. La pila se utiliza durante las llamadas asubrutina y durante las interrupciones.

    Registros de control y estado

    Hay diversos registros de la CPU que se emplean para controlar sufuncionamiento. La mayora de ellos, en gran parte de las mquinas, no son

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    17

    visibles para el usuario. Algunos de ellos pueden ser visibles a instrucciones demquina ejecutadas en un modo de control o de sistema operativo.

    Algunos de los registros para la ejecucin de una instruccin, son:

    Contador de programa (PC): contiene la direccin de la instruccin acaptar.

    Registro de instruccin (IR): contiene la instruccin captada msreciente.

    Registro de direccin de memoria (MAR): contiene la direccin deuna posicin de memoria.

    Registro intermedio de memoria (MBR): contiene la palabra de datosa escribir en memoria, o la palabra leda ms recientemente.

    Normalmente, la CPU actualiza el Contador de Programa despus de cadacaptacin de instruccin, de manera que siempre apunta a la siguiente instruccina ejecutar. Una instruccin de bifurcacin o salto tambin modifica el contenido delcontador de programa. La instruccin captada se carga en el registro IR, dondeson analizados el cdigo de operacin y los campos del operando. Seintercambian datos con la memoria por medio de los registros MAR y MBR. En unsistema con organizacin de bus, MAR se conecta directamente al bus dedirecciones y MBR directamente al bus de datos. Los registros visibles por elusuario intercambian repetidamente datos con MBR.

    Los cuatro registros que se acaban de mencionar se usan tambin para latransferencia de datos entre la CPU y la memoria. Dentro de la CPU, los datostienen que ofrecerse a la ALU para su procesamiento. La ALU puede tener accesodirecto a MBR y a los registros visibles para el usuario.

    Todos los diseos de CPU incluyen un registro o un conjunto de registros deestado ( status ), conocidos a menudo como Palabra de Estado del Programa(PSW). Este registro contiene normalmente los cdigos de condicin, adems deotra informacin de estado. La mayora de los sealizadores ( flags ) se asocian alas operaciones de la ALU y son utilizados por las instrucciones de bifurcacinpara tomar decisiones.

    Entre los campos o indicadores ms comunes, se incluyen los siguientes:

    Signo: Contiene el bit de signo del resultado de la ltima operacinaritmtica.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    18

    Cero: Puesto a uno cuando el resultado es 0.

    Acarreo: Puesto a uno si una operacin da lugar a un acarreo (suma) oprstamo (resta) del bit ms significativo.

    Igual: puesto a uno si el resultado de una comparacin lgica es laigualdad.

    Desbordamiento: usado para indicar un desbordamiento aritmtico.

    Interrupciones habilitadas/deshabilitadas: usado para permitir oinhabilitar interrupciones.

    Supervisor: indica si la CPU funciona en modo de supervisor o usuario.nicamente en modo supervisor se pueden ejecutar ciertasinstrucciones privilegiadas y se puede acceder a ciertas reas dememoria.

    3.3 Unidad de control

    La unidad de control se encarga de procesar las instrucciones. Proporciona lasseales de temporizacin y control para extraer e introducir los datos en elmicroprocesador y para sincronizar la ejecucin de las instrucciones.

    La unidad de control realiza dos tareas bsicas:

    Secuenciamiento: hace que el procesador avance a travs de unaserie de microoperaciones, basadas en el programa que estejecutando.

    Ejecucin: la unidad de control hace que se ejecute cadamicrooperacin.

    Microoperaciones

    Cuando se ejecuta un programa, se realiza una secuencia de ciclos de instruccin,con una instruccin mquina por ciclo; y esta serie de ciclos de instruccin no esnecesariamente la misma secuencia de instrucciones del programa, ya que enalgunos casos existen instrucciones de salto.

    Cada ciclo de instruccin puede considerarse compuesto por varias unidades mspequeas. Una subdivisin prctica es: captacin, ciclo indirecto, ejecucin e

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    19

    interrupcin. Y cada uno de los ciclos ms pequeos implica una serie de pasos,los cuales involucran ciertos registros del procesador. Estos pasos son lasmicrooperaciones.

    En resumen, como se aprecia en el grfico, la ejecucin de un programa consisteen la ejecucin secuencial de instrucciones. Cada instruccin se ejecuta durante elciclo de instruccin, compuesto por subciclos ms cortos. La ejecucin de cadasubciclo involucra una o ms operaciones sencillas, es decir, lasmicrooperaciones.

    Fuente: William Stallings

    Seales de control

    Para que la unidad de control realice su funcin adecuadamente, debe tener lasentradas que le permitan determinar el estado del sistema, y las salidas que lepermitan controlar el comportamiento del mismo. stas son las especificacionesexternas de la unidad de control.

    Internamente, la unidad de control ha de tener la lgica necesaria para realizar susfunciones de secuenciamiento y ejecucin.

    La siguiente figura es un modelo general de la unidad de control, la cual presentaalgunas de sus entradas y salidas ms utilizadas.

    Ejecucin de un programa

    Ciclo de instruccin Ciclo de instruccin Ciclo de instruccin

    Captacin Indirecto Ejecucin Interrupcin

    uOP uOP uOP uOP uOP

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    20

    Fuente: William Stallings

    Las principales entradas son las siguientes:

    Reloj: Es el encargado de mantener la hora exacta en el procesador. Launidad de control hace que se ejecute una microoperacin (o conjunto demicrooperaciones simultneas) en cada pulso de reloj. ste a menudo, esreferenciado como tiempo de ciclo del procesador o perodo de reloj.

    Registro de instruccin: El cdigo de operacin de la instruccin en cursose usa para determinar qu microoperaciones hay que realizar durante elciclo de ejecucin.

    Indicadores: Los necesita la unidad de control para determinar el estadodel procesador y el resultado de anteriores operaciones de la ALU. Porejemplo, para la instruccin incrementar y saltar si es cero, la unidad decontrol incrementar el PC si el indicador de cero est en uno.

    Seales de control del bus de control: La parte de control del bus delsistema suministra seales a la unidad de control, tales como seales deinterrupcin y de reconocimiento.

    Las principales salidas son las siguientes:

    Seales de control internas al procesador: Son de dos tipos: las quehacen que los datos se transfieran de un registro a otro, y las que activanfunciones especficas de la ALU.

    Seales de control hacia el bus de control: Tambin las hay de dostipos: seales de control de la memoria y seales de control de las E/S.

    UNIDAD DECONTROL

    Indicadores

    TemporizadorReloj

    Registro de instruccin

    Bus

    Seales de controldesde el bus del sistema

    Seales de controlhacia el bus del sistema

    Seales de control internas a la CPU

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    21

    4. FAMILIAS DE MICROPROCESADORES

    En este apartado se van a describir las principales familias fabricantes demicroprocesadores.

    4.1 Microprocesadores Zilog

    Zilog, es un fabricante de microprocesadores de 8 bits, siendo su producto msreconocido el Zilog Z80. Fue fundado en California en 1974 por Federico Faggin,quien trabaj perfeccionando el primer microprocesador de Intel, el Intel 4004.

    En 1976 la compaa crea el Zilog Z80 que era un microprocesador basado en elIntel 8080 con algunas mejoras. Con este nuevo producto Faggin realiz una girapor el mundo buscando potenciales clientes. Un ao despus sale al mercado elprimer computador que hace uso del Z80, el TRS-80 Model 1 con un Z80 a1,77 MHz y 4 KB de RAM. En 1989 sale la videoconsola Game Boy con un Z80 a1,05 MHz y posteriormente la Sega Game Gear y la Sega Genesis, que tambin lousan.

    En el ao 1995 crean el V-Chip y en el 2001 Zilog lanza el eZ80.

    4.2 Microprocesadores Motorola

    Uno de sus principales exponentes es el Motorota 6800, el cual fue lanzado almercado en 1975, poco despus del Intel 8080.

    Su conjunto de instrucciones est formado por 78 de stas y posiblemente es elprimer microprocesador que cont con un registro ndice.

    El 6800 normalmente se fabricaba en un encapsulado DIP de 40 pines.

    Varios de los primeros microordenadores de los aos 1970, que usualmente eranvendidos por correo (en piezas sueltas o ensamblados), usaron el 6800 comoprocesador principal. Entre ellos se encuentran el SWTPC 6800 (el primero enusarlo) y el MITS Altair 680.

    Fuente: Internet

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    22

    Partiendo del 6800 se crearon varios procesadores derivados, siendo uno de losms potentes el Motorola 6809, que fue usado en el sistema de videojuegoVectrex y en el ordenador Tandy TRS-80, entre otros.

    Tambin se han producido varios microcontroladores basados en el 6800, como elMotorola 6805, 6807, 6808, 68HC11 y el 68HC12.

    4.3 Microprocesadores SPARC

    SPARC (del ingls Scalable Processor ARChitecture) es una arquitectura RISC,es decir, una arquitectura con un conjunto reducido de instrucciones.

    Fue originalmente diseada por Sun Microsystems en 1985 y se basa en losdiseos RISC I y II de la Universidad de California en Berkeley que fuerondefinidos entre los aos 1980 y 1982.

    La empresa Sun Microsystems dise esta arquitectura y la licenci a otrosfabricantes como Texas Instruments, Cypress, Fujitsu y LSI Logic.

    SPARC es la primera arquitectura RISC abierta y como tal, las especificaciones dediseo estn publicadas, as otros fabricantes de microprocesadores puedendesarrollar su propio diseo.

    La CPU SPARC est compuesta por una unidad entera (Integer Unit) que procesala ejecucin bsica y una unidad de punto flotante (Floating Point Unit) que ejecutalas operaciones y clculos de reales.

    Aunque no es una parte formal de la arquitectura, las computadoras basadas ensistemas SPARC de Sun Microsystems tienen una unidad de manejo de memoria(MMU) y un gran cach de direcciones virtuales (para instrucciones y datos) queestn dispuestos perifricamente sobre un bus de datos y direcciones de 32 bits.

    Fuente: Internet (sunsparc.wikipedia.com)

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    23

    La siguiente tabla presenta algunas de las generaciones del SPARC.

    Generacin Familia Especificacin general

    Primera generacin (1987) SPARC Frecuencia de reloj de 16 a 50MHz.Diseo escalar

    Segunda generacin (1992) SUPERSPARCFrecuencia de reloj de 33 a 50MHz.

    Diseo super escalar.

    Tercera generacin (1996) ULTRASPARC II

    Arquitectura super escalar de 4 etapas yde 64 bits. Cinco unidades de punto

    flotante. Velocidades entre 250 y 300 Mhz

    Fuente: Internet (sunsparc.wikipedia.com)

    4.4 Microprocesadores Power PC

    PowerPC es una arquitectura de computadoras de tipo RISC creada por la AlianzaAIM, un consorcio de empresas compuesto por Apple, IBM y Motorola, de cuyasprimeras letras, surgi la sigla. Los procesadores de esta familia son producidospor IBM y Freescale Semiconductor que es la divisin de semiconductores ymicroprocesadores de Motorola, siendo utilizados principalmente en ordenadoreso computadores Macintosh de Apple Computer.

    Este microprocesador est diseado en base a la arquitectura POWER de IBMcon algunos componentes tomados del microprocesador Motorola 68000 paradarle compatibilidad con arquitectura de los ordenadores de Apple.

    Procesador Power PC 970

    Fuente: Internet (5.ibm.com)

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    24

    4.5 Microprocesadores AMD

    AMD surgi por la divisin que tuvo Intel en el proceso de integracin de sistemas.Anteriormente AMD estaba asociada con Intel y creaban microprocesadores. Losprocesadores del tipo 8088, 8086 o 80286, por ejemplo, incluan a AMD con sulogotipo y despus a Intel como marca registrada. Con la separacin de Intel, AMDempez a incursionar directamente en el campo de los microprocesadores.

    Actualmente AMD es una empresa que desarrolla procesadores compatibles Intel,permitiendo disponer de un sistema accesible con un alto rendimiento, imgenes ygrficos 3D reales, sonido y video de pantalla completa.

    Tipos de procesadores AMD

    Am9080: Es una copia, originalmente sin licencia, del Intel 8080. Posteriormentese consigui un acuerdo con Intel para fabricarlo y fue renombrado a Am8080Las primeras versiones del Am9080 fueron puestas a la venta en abril de 1974, yfuncionaban a una velocidad de reloj de 2 MHz.

    Am286: Es un procesador copia del Intel 80286, creado con permiso de Intel,debido a que IBM quera que Intel tuviese una segunda fuente para poder suplir lademanda en caso de problemas.

    Por lo tanto el Am286 es idntico al Intel 80286. Posteriomente AMD lo vendicomo procesador embedido.

    Am386: Fue creado por AMD en 1991. Era un procesador con caractersticassemejantes al Intel 80386 y compatible 100% con este ltimo, lo que le vali variosrecursos legales de Intel por copiar su tecnologa. Tena una velocidad de hasta40 MHz lo que superaba a su competidor que slo lleg a los 33 MHz.

    Am486: Fue presentado en 1993 por Advanced Micro Devices ( AMD ). Es unprocesador compatible x86, comparable al Intel 80486.

    AMD 5x86: Es un procesador compatible x86 presentado en 1995 por AdvancedMicro Devices destinado a ser utilizado en ordenadores basados en un 486.

    Presentado en noviembre de 1995, el AMD 5x86 es un procesador 486 estndarcon un multiplicador interno a 4x, permitindole funcionar a 133 Mhz en sistemaspara procesadores 486 DX2 o DX4 sin multiplicador. Tena una memoria cach L1de 16 Kbytes. Esta combinacin permiti al 5x86 igualar e incluso sobrepasarligeramente un procesador Pentium a 75 Mhz. Adems, como fue concebido enbase a un 486, era compatible con sistemas ms antiguos, lo que perjudicabaligeramente a su rival ms rpido, el Cyrix Cx5x86.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    25

    AMD K6: fue lanzado en 1997. Este procesador estaba diseado para funcionaren placas base Pentium. La principal ventaja del AMD con respecto al Pentium erasu precio, bastante econmico con las mismas prestaciones. El K6 tuvo una granaceptacin en el mercado presentndose como un rival fuerte para Intel. Susucesor fue el microprocesador K6-2.

    Fuente: Internet (AMDK6.wikipedia.com)

    El K6 cuenta con una gama que va desde los 166 hasta los 300 Mhz y con eljuego de instrucciones MMX, que ya se ha convertido en un estndar.

    AMD Duron: Es una gama de microprocesadores de bajo costo compatibles conlos Athlon, por lo tanto con arquitectura x86. Fueron diseados para competir conla lnea de procesadores Celeron de Intel.

    La diferencia principal entre los Athlon y los Duron es que los Duron solo tienen 64KBytes de memoria cach L2, frente a los 256 KBytes de los Athlon.

    El Athlon: Originalmente el Athlon Classic, fue el primer procesador x86 desptima generacin y en un principio mantuvo su liderazgo de rendimiento sobrelos microprocesadores de Intel.

    El procesador Athlon se lanz al mercado el 21 de agosto de 1999. El primerncleo del Athlon, conocido en clave como "K7", estuvo disponible incialmente enversiones de 500 a 650 MHz, pero despus alcanz velocidades de hasta 1 GHz.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    26

    Internamente el Athlon es un rediseo de su antecesor, al que se le mejorsustancialmente el sistema de coma flotante, esto es, 3 unidades de punto flotanteque pueden trabajar simultnemente y se le aument la memoria cach de primernivel (L1) a 128 KB (64 KB para datos y 64 KB para instrucciones). Ademsincluye 512 KB de cach de segundo nivel (L2) externa al circuito integrado delprocesador y funcionando, por lo general, a la mitad de velocidad del mismo.

    El AMD Opteron: Fue el primer microprocesador con arquitectura x86 que usconjunto de instrucciones AMD64, tambin conocido como x86-64. Tambin fue elprimer procesador x86 de octava generacin. Fue puesto a la venta el 22 de abrilde 2003 con el propsito de competir en el mercado de procesadores paraservidores, especialmente en el mismo segmento que el Intel Xeon.

    La ventaja principal del Opteron es la capacidad de ejecutar tanto aplicaciones de64 bits como de 32 bits sin ninguna penalizacin de velocidad. Las nuevasaplicaciones de 64 bits pueden acceder a ms de 18 Hexabytes de memoria,frente a los 4 gigabytes de las de 32 bits.

    Sempron: Es un procesador de bajo costo con arquitectura X86 fabricado porAMD. El AMD Sempron reemplaza al procesador Duron, siendo su principalcompetidor el procesador Celeron de Intel. Las primeras versiones fueronlanzadas al mercado en agosto de 2004.

    Las versiones iniciales de este procesador estaban basadas en el ncleoThoroughbred/Thorton del Athlon XP, con una cach de segundo nivel de 256 KBy un bus de 333 MHz.

    Posteriormente el Sempron se bas en el ncleo Barton del Athlon XP. Estaversin tena un ndice de prestaciones relativas de 3000+ y posea una cach desegundo nivel de 512 KB.

    AMD Turion 64: Es una versin de bajo consumo del procesador AMD Athlon 64destinada a los ordenadores porttiles y constituye la respuesta comercial de AMDa la plataforma Centrino de Intel. Se presentan en dos series, ML con un consumomximo de 35 W y MT con un consumo de 25 W, frente a los 27 W del IntelPentium M.

    Es compatible con el Socket 754 de AMD y dispone de 512 o 1024 KB de cacheL2 y un controlador de memoria de 64 bit integrado.

    4.6 MICROPROCESADOR CYRIX

    Ha sido el tercero entre los procesadores Intel compatibles. Sus procesadores sehan caracterizado por tener una regular unidad de coma flotante, por lo que no esuna buena opcin para los que utilicen programas CAD, 3D, e incluso juegos.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    27

    Adems de esto, se ha caracterizado tambin por sus diseos avanzados y"originales" lo que le ha provocado ms de un inconveniente por falta decompatibilidad.

    Sus primeras versiones de 6x86 Cyrix tuvieron serios problemas debido a su altoconsumo, lo que generaba un calentamiento excesivo en los reguladores detensin de la placa base.

    Fuente: Internet.

    Estos dispositivos presentaban tambin un problema con Windows NT4, ya quedicho sistema operativo desactivaba la cach del procesador, y por tanto ste seejecutaba muy lentamente.

    6x86MX: Este es el primer microprocesador de Cyrix que lleva implementado eljuego de instrucciones MMX. Sus desventajas son el bajo rendimiento de sucoprocesador matemtico, lo que conlleva que por lo menos dos de susprocesadores trabajen con una velocidad de bus de 75 y 83 Mhz.

    De todas formas, para compensar este posible problema, Cyrix ha implementadomultiplicadores de x2, x2.5, x3 y x3.5, y garantizan que siempre se podr trabajarcon una frecuencia de bus ms normal y ajustar el multiplicador para que la CPUtrabaje a una frecuencia parecida a la autorizada.

    MII: Su diseo es idntico al del 6x86MX, y slo consigue imponerse a aquel porla mayor velocidad de sus nuevos modelos.

    Fuente: Internet.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    28

    El problema de este procesador es tener una FPU poco potente. Este problema seagudiza con los actuales juegos 3D y unas cada vez mayores necesidades de estetipo de clculos, lo que lo condena a quedar relegado a entornos ofimticos.

    Una de las ventajas es que funciona con cualquier placa preparada para MMX, nonecesita de placas de ltima generacin con voltajes ms bajos de 2,9. Lo anteriorpermite actualizar la mquina a 300 Mhz sin necesidad de cambiar de placa.

    4.7 Microprocesadores INTEL

    Intel Corporation es una compaa pionera en el desarrollo y comercializacin demicroprocesadores. Actualmente, tiene una cuota del mercado mundial de losmicroprocesadores muy grande, ya que sus procesadores se utilizan en lamayora de los computadores compatibles PC.

    x86 es la denominacin genrica dada a ciertos procesadores de la familia Intel,sus compatibles y a la arquitectura bsica de estos procesadores, por laterminacin de sus nombres: 8086, 80286, 80386 y 80486. Los sucesores del80486 pasaron a ser llamados por nombres no numricos, bajo la denominacinPentium; sin embargo todava se los llama procesadores de la familia x86. Acontinuacin se describen los microprocesadores ms representativos.

    Intel 4004: fue el primer microprocesador de 4 bits en un simple chip, as como elprimero disponible comercialmente.

    Intel 4040: fue el sucesor del Intel 4004. Fue lanzado al mercado en 1974. El 4040fue usado principalmente en juegos, pruebas, desarrollo, y equipos del control. Elpaquete del 4040 era ms de dos veces el ancho del 4004 y tena 24 pines enlugar de los 16 del 4004. El 4040 agreg 14 instrucciones, un espacio ms grandepara la pila ( 7 niveles en vez de 3 ), un espacio para programas de 8KB,8 registros adicionales, y habilidades de interrupcin.

    8080 y 8085: son procesadores de 8 bits fabricados por Intel a mediados de los70. El 8085 era binariamente compatible con el 8080, pero exiga menos soportede hardware; de esta forma permita unos sistemas de microordenadores mssimples y ms econmicos.

    El nmero 5 de la numeracin del procesador 8085 proviene del hecho quesolamente requera una alimentacin de 5 voltios, no como el 8080 que necesitabaunas alimentaciones de 5 y 12 voltios.

    Entre las caractersticas del 8085 se destaca su bus de datos multiplexado, esdecir, comparte los pines del bus de datos con los del bus de direcciones.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    29

    8086 y 8088: son dos microprocesadores de 16 bits diseados por Intel en 1978,iniciadores de la arquitectura x86. La diferencia entre el 8086 y el 8088 es que el8088 utiliza un bus externo de 8 bits, para el empleo circuitos de soporte almicroprocesador ms econmicos, en contraposicin al bus de 16 bits del 8086.

    80186 y 80188: estos dos microprocesadores fueron desarrollados por Intelalrededor de 1982. Los 80186 y los 80188 son una mejora del Intel 8086 y del Intel8088 respectivamente. Al igual que el 8086, el 80186 tiene un bus externo de 16bits, mientras que el 80188 lo tiene de 8 bits como el 8088, para hacerlo mseconmico. La velocidad de reloj del 80186 y del 80188 es de 6 MHz.

    Ambos microprocesadores no fueron muy usados en ordenadores personales,sino que su uso principal fue como procesadores empotrados. Con el 80186 y el80188 se introdujeron ocho nuevas instrucciones al conjunto de instrucciones x86.

    80286: (llamado oficialmente iAPX 286, tambin conocido como i286 o 286) es unmicroprocesador de 16 bits de la familia x86, que fue lanzado al mercado por Intelel 1 de febrero de 1982. Las versiones iniciales del i286 funcionaban a 6 y 8 MHz,pero acab alcanzando una velocidad de hasta 20 MHz. El i286 fue elmicroprocesador ms empleado en los IBM PC y compatibles entre mediados yfinales de los aos 80.

    IA32: Es la arquitectura de microprocesadores de 32 bits de Intel (IntelArchitecture 32). Son los microprocesadores ms usados en los ordenadorespersonales (PC).

    Esta gama de microprocesadores comenz con el 80386, conocido luegopopularmente como 386 o x86 para denominar a toda la gama. Los procesadoresde Intel que siguieron y mantuvieron la compatibilidad son el 486, Pentium ( 586),Pentium II ( 686), Pentium III y Pentium IV.

    La novedad de estos procesadores con respecto a sus predecesores es queincluyen gestin de memoria avanzada (segmentacin, paginacin, soporte dememoria virtual), unidad de punto flotante ( FPU ), y a partir del Pentium MMXcuentan con soporte para operaciones matriciales complejas, muy usadas enaplicaciones grficas y multimedia.

    80386: (i386, 386) Es un microprocesador CISC con arquitectura x86. Durante sudiseo se le llam 'P3', debido a que era el prototipo de la tercera generacin x86.El i386 fue empleado como la unidad central de proceso de muchos ordenadorespersonales desde mediados de los aos 80 hasta principios de los 90.

    80486: (i486, 486) son una familia de microprocesadores de 32 bits conarquitectura x86 diseados por Intel. Las principales diferencias con el i386 son lassiguientes: tienen un conjunto de instrucciones optimizado, una unidad de comaflotante y un cach unificado e integrado en el propio circuito del microprocesadory una unidad de interfaz de bus mejorada.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    30

    Pentium: este procesador se lanz al mercado el 22 de marzo de 1993,sucediendo al procesador Intel 80486. Intel no lo llam 586 sino Pentium, parapoderlo registrar y as evitar que la competencia siguiera utilizando los mismosnmeros que Intel para sus procesadores equivalentes (AMD 486, IBM 486, etc).Tambin es conocido por su nombre clave P54C.

    El procesador Intel Pentium est formado por 3,1 millones de transistores ydirecciona memoria con 64 bits. Integra dos memorias cach de 8 KBytes (unapara datos y otra para cdigo) y tiene dos unidades aritmtico lgicas (ALU), loque le permite hacer tratamiento paralelo. Por tanto el Pentium puede ejecutarhasta dos instrucciones por ciclo de reloj. Est optimizado para ejecutar cdigo de16 bits.

    Evolucin del Pentium

    En 1997, Intel present una evolucin de su procesador Pentium, llamado PentiumMMX. Este se basaba en el mismo ncleo del Pentium original, pero se le aadiuna memoria cach L1 de 32 KBytes (frente a los 16 KBytes del Pentium comn),siendo 16 KB para datos y 16 KB para instrucciones, ordenadas en 4 vas de 4 KBcada una, y 57 nuevas instrucciones multimedia (de coma flotante), llamadasMMX, con el fin de ejecutar ms rpidamente las futuras aplicaciones interactivas.Este procesador funcionaba entre 166 y 233 MHz.

    Fuente: Internet (wikipedia.com)

    El nombre Pentium fue conservado por Intel para las generaciones siguientes desus procesadores (Pentium Pro, Pentium II, Pentium III, Pentium IV y actualmentePentium D), aunque exista una evolucin importante en las arquitecturas.

    Pentium II: este microprocesador fue al mercado el 7 de mayo de 1997. Estbasado en una versin modificada del ncleo P6, usado por primera vez en el IntelPentium Pro.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    31

    Fuente: Internet

    Los cambios fundamentales fueron mejorar el rendimiento en la ejecucin decdigo de 16 bits, aadir el conjunto de instrucciones MMX y eliminar la memoriacach de segundo nivel del ncleo del procesador, colocndola en una tarjeta decircuito impreso junto a ste.

    El Pentium II se comercializ en versiones que funcionaban a una frecuencia dereloj de entre 166 y 450 MHz. La velocidad de bus era originalmente de 66 MHz,pero en las versiones a partir de los 333 MHz se aument a 100 MHz.

    Posea 32 KB de memoria cach de primer nivel repartida en 16 KB para datos yotros 16 KB para instrucciones. La cach de segundo nivel era de 512 KB.

    Como novedad respecto al resto de procesadores de la poca, el Pentium II sepresentaba en un encapsulado SEC, con forma de cartucho. El cambio de formatode encapsulado se hizo para mejorar la disipacin de calor. Este cartucho seconecta a las placas base de los equipos mediante una ranura Slot 1. estemicroprocesador integra 7,5 millones de transistores.

    Celeron: es el nombre que lleva la lnea de procesadores de bajo costo de Intel. Elprimer Celeron fue lanzado en agosto de 1998, y estaba basado en el Pentium II.Posteriormente, salieron nuevos modelos basados en las tecnologas Pentium III yPentium IV.

    Los procesadores Celeron se dividen en dos grandes clases:

    P6: Basada en los procesadores Pentium II y Pentium III

    Netburst: Basada en los procesadores Pentium IV

    Pentium III: es un microprocesador de arquitectura i686. Fue lanzado el 26 defebrero de 1999. Las primeras versiones eran muy similares al Pentium II, siendola diferencia ms importante la introduccin de las instrucciones SSE. Al igual quecon el Pentium II, exista una versin Celeron de bajo costo y una versin Xeon

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    32

    para quienes necesitaban gran poder de cmputo. Esta lnea ha sidoeventualmente reemplazada por el Pentium IV, aunque la lnea Pentium M estbasada en el Pentium III.

    Fuente: Internet

    Pentium IV: es un microprocesador de sptima generacin basado en laarquitectura x86 y manufacturado por Intel. Es el primer microprocesador con undiseo completamente nuevo desde el Pentium Pro de 1995. El Pentium IVoriginal, denominado Willamette, trabajaba a 1,4 y 1,5 GHz; y fue lanzado ennoviembre de 2000.

    Para la sorpresa de la industria informtica, el Pentium IV no mejor el diseo P6segn las dos tradicionales formas para medir el rendimiento: velocidad en elproceso de enteros u operaciones de coma flotante. La estrategia de Intel fuesacrificar el rendimiento de cada ciclo para obtener a cambio mayor cantidad deciclos por segundo y una mejora en las instrucciones SSE. Al igual que los demsprocesadores de Intel, el Pentium IV se comercializa en una versin para equiposde bajo presupuesto (Celeron) y una orientada a servidores de gama alta (Xeon).

    Pentium IV EDICIN EXTREMA: en septiembre de 2003, Intel anunci la edicinextrema (Extreme Edition) del Pentium IV. Se destac en el rea de la codificacinmultimedia, ya que superaba la velocidad de los anteriores Pentium 4 y a toda lalnea de AMD.

    Pentium M: Fue Introducido en marzo de 2003. Este microprocesador cuenta conuna arquitectura x86 (i686). Originalmente fue diseado para uso en ordenadoresporttiles. Su nombre en clave antes de su introduccin era '''Banias'''. Todos losnombres clave del Pentium M son lugares de Israel, la ubicacin del equipo dediseo del Pentium M.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    33

    El Pentium M es una versin fuertemente modificada del diseo del Pentium III.Est optimizado para un consumo de potencia eficiente, una caracterstica vitalpara ampliar la duracin de la batera de los ordenadores porttiles. Funciona conun consumo medio muy bajo y desprende mucho menos calor que losprocesadores de ordenadores de sobremesa. El Pentium M funciona a unafrecuencia de reloj ms baja que los procesadores Pentium IV normales, pero conun rendimiento similar, y puede igualar o superar el rendimiento de un Pentium IVPrescott a 3 GHz.

    Este procesador forma parte de la plataforma Intel Centrino.

    Pentium D: fue introducido por Intel en 2005. Un chip Pentium D constabsicamente de dos procesadores Pentium IV (de ncleo Prescott) en una nicapieza de silicio con un proceso de fabricacin de 90nm. El nombre en clave delPentium D antes de su lanzamiento era "Smithfield". Incluye una tecnologa DRM(Digital Rights Management) para hacer posible un sistema de proteccinanticopia de la mano de Microsoft.

    Xeon: es la actual generacin de microprocesadores Intel para servidores PC. Elprimer procesador Xeon apareci en 1998 como Pentium II Xeon.

    El Pentium II Xeon utilizaba tanto el chipset 440GX como el 450NX. En el ao2000, el Pentium II Xeon fue reemplazado por el Pentium III Xeon

    El ltimo miembro aadido a la familia Xeon es el procesador Xeon MP, lanzadoen 2002, que combinaba la tecnologa Hyper-Threading con NetBurst. Suschipsets utilizan el socket 603 y tiene versiones GC-LE (2 procesadores, 16Gb dememoria direccionable) y GC-HE (4 procesadores o ms, 64Gb direccionables),todos usando un bus de 400MHz.

    Como la familia x86/IA-32 estndar de Intel de procesadores PC de escritorio, lalnea de procesadores Xeon es de 32 bits. Se planea una versin de 64 bits deXeon que complementar (o reemplazar) a la CPU Itanium de Intel.

    El 26 de junio de 2006, Intel anunci la nueva generacin de Xeon con tecnologade doble ncleo. Intel afirma que este nuevo procesador brindar un 80% ms derendimiento por vatio y que ser hasta un 60% ms rpido que la competencia.

    Intel Core Duo: es el microprocesador de Intel que cuenta con dos ncleos deejecucin. Fue lanzado en enero del 2006. El microprocesador Intel Core Duo estoptimizado para las aplicaciones de subprocesos mltiples y para la multitarea.Puede ejecutar varias aplicaciones simultneamente, como juegos con grficos oprogramas que requieran muchos clculos, al mismo tiempo que puede descargarmsica o analizar su PC con su antivirus en el segundo plano.

    Este microprocesador implementa 2Mb de cach compartida para ambos ncleosms un bus frontal de 667Mhz; adems implementa un nuevo juego de

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    34

    instrucciones para multimedia (SSE3) y mejoras para las SSD y SSD2; sinembargo, el desempeo con enteros es ligeramente inferior debido a su cach conmayor latencia

    Intel Core Duo es el primer microprocesador de Intel usado en las computadorasApple Macintosh.

    El Core Duo contiene 151 millones de transistores. El ncleo de ejecucin delprocesador contiene un pipeline de 12 etapas con velocidades previstas deejecucin entre 2.33 y 2.50 GHz. La comunicacin entre la cach L2 y los dosncleos de ejecucin es controlada por un mdulo de bus rbitro que elimina eltrfico de coherencia a travs del bus frontal (FSB), con el costo de elevar lalatencia de la comunicacin de ncleo a L2 de 10 ciclos de reloj. El incremento dela frecuencia de reloj contrapesa el impacto del incremento en la latencia.

    Las nuevas caractersticas de administracin de energa incluyen control mejoradode temperatura, as como escalado independiente de energa entre los 2 ncleos,lo que resulta en un manejo de energa mucho ms eficiente que los diseosanteriores.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    35

    CAPTULO 2

    MICROPROCESADORES DE 8 BITS

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    36

    MICROPROCESADORES de 8 bits: INTEL 8080 e INTEL 8085

    A continuacin se har una descripcin general, de dos de los microprocesadoresde 8 bits, ms representativos.

    1. CARACTERSTICAS GENERALES

    El Intel 8080 fue el sucesor del Intel 8008; esto se dio fcilmente ya que erancompatibles en muchos aspectos y porque utilizaban el mismo conjunto deinstrucciones. El i8080 sali al mercado en el ao de 1974, con un empaquetadoms grande, DIP de 40 pines, lo que permiti al 8080 proporcionar un bus dedirecciones de 16 bits y un bus de datos de 8 bits, permitiendo el fcil acceso a 64KB de memoria. Tena siete registros de 8 bits, seis de los cuales se podancombinar en tres registros de 16 bits, un puntero de pila en memoria de 16 bits,que reemplazaba la pila interna del 8008, y un contador de programa de 16 bits.

    El 8080 poda manejar 256 puertos de E/S, los cules eran accesados por losprogramas mediante instrucciones dedicadas de E/S. Este esquema usaba unespacio de direcciones separado para las entradas/salidas, pero ahora es menoscomn que el de mapeo de memoria para dispositivos o puertos de E/S.

    El 8080 fue implementado en muchos de los primeros microcomputadores, talescomo la Altair 8800 de MITS y el IMSAI 8080, formando la base para las mquinasque corran el sistema operativo CP/M.

    El primer microcomputador en una simple tarjeta fue construido en base al 8080.Por medio de su arquitectura de conjunto de instrucciones (ISA), el 8080 hizo unimpacto duradero en historia del computador.

    El Intel 8085 fue presentado en el ao de 1976 y se consider un estndar de laindustria de microprocesadores durante mucho tiempo. Tena 20.000 transistores,funcionaba a 1 MHz y estaba encapsulado en un chip de 40 pines.

    Este microprocesador tiene un total de 16 lneas de direccin. Las 8 lneas dedireccin ms significativas estn conectadas a los pines A8 y A15, y se conectandirectamente al bus de direcciones. El bus de datos de 8 bits est compartido conlas 8 lneas de direccin menos significativas. Los pines de alimentacin VCC y VSSdeben ser conectados a una fuente de +5V.

    El 8085 tiene circuitera de reloj permanente y solo necesita conectar los pines deentrada X1 y X2 a un cristal.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    37

    2. FUNCIONES Y DIAGRAMA DE PINES

    El microprocesador 8080 es un chip de 40 pines con encapsulado de doble lneao DIP. Tiene 16 lneas de direcciones ( pin 1, pines 25 al 27 y pines 29 al 40 ) y 8lneas bidireccionales para el de bus datos ( pines 3 al 10 ). Todas estas lneas seencargan del direccionamiento de la memoria y los dispositivos de entrada/salida,y del manejo de los datos.

    A continuacin se presenta el diagrama de pines del i8080 y se anexa una tablacon la descripcin de cada una de sus funciones.

    NOMBRE DEL PIN TIPO DESCRIPCIN

    Lneas de direccin ( A15 - A0 ) SalidaProvee la direccin de memoria o nmero de

    dispositivo entrada/salida. A0 denota el bitmenos significativo

    Lneas de datos ( D7 - D0 ) Entrada/Salida

    Provee comunicacin bidireccional deinstrucciones o datos entre la CPU y la

    memoria o dispositivos de entrada/salida.D0 es el bit menos significativo.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    38

    Seal de sincronismo (SYNC) Salida La seal de sincronismo indica el comienzode cada ciclo mquina.

    Seal de entrada de datos (DBIN) Salida Indica a los dispositivos externos que el busde datos est en modo de entrada.

    Listo (READY) Entrada

    Indica al 8080a que hay un dato vlido de lamemoria o dispositivo de entrada/salida en

    el bus de datos. Esta seal permitesincronizar la CPU con dispositivos ms

    lentos. Si despus de enviar una direccinno se recibe la seal de READY, la CPUentra en estado de espera hasta recibirla.

    Espera (WAIT) Salida Indica que la CPU se encuentra en estadode espera.

    Escritura (WR ) Salida Seal de control de escritura para lamemoria o dispositivo de entrada/salida.

    Reposo (HOLD) Entrada

    La CPU entra en estado de reposo, esdecir, permite que un dispositivo externo

    tenga el control del bus de direcciones y dedatos.

    Reconocimiento de reposo (HLDA) Salida

    Esta seal aparece en respuesta a la sealHOLD e indica que el bus de datos ydirecciones entran en estado de alta

    impedancia.

    Habilitacin de interrupcin (INTE) Salida

    Indica el estado interno del flip-flop dehabilitacin de interrupcin. Cuando es 0 sedeshabilita la interrupcin y cuando es iguala 1 es habilitada. Cuando la CPU se reinicia

    las interrupciones son deshabilitadas.

    Peticin de interrupcin (INT) Entrada

    La CPU reconoce la peticin de interrupciny la atiende al final de la actual instruccin omientras est detenido. Si se encuentra en

    estado de reposo o deshabilitadas lasinterrupciones no atiende la peticin.

    Reinicio (RESET) EntradaMientras la seal est activa el contador de

    programa es borrado. Despus sereanudar en la posicin de memoria 0.

    Tierra (VSS) Alimentacin Tierra o referencia

    VDD Alimentacin +12V %5 VVCC Alimentacin +5V %5 VVBB Alimentacin -5V %5 V

    Fases de reloj ( 21 , ) Reloj 2 fases externas de reloj suplementarias

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    39

    Al igual que el i8080, el microprocesador 8085, su sucesor, es un procesador de8 bits con un encapsulado DIP de 40 pines. Su diagrama de pines se ilustra en lasiguiente figura. En la tabla anexa se resumen los nombres y descripciones de suspines.

    NOMBRE DEL PIN TIPO DESCRIPCION

    ( AD7 - AD0 ) Entrada/salida Bus de direcciones y datos, tres estados.

    ( A15 - A8 ) Salida Bus de direcciones, tres estados.

    ALE Salida Seal de habilitacin del cerrojo de direccin.

    RD Salida Control de lectura.WR Salida Control de escritura.

    IO/ M Salida E/S o indicador de memoria.S0, S1 Salida Indicadores del estado del bus.

    READY Entrada Peticin de estado de espera.

    SID Entrada Entrada de datos serie.

    SOD Salida Salida de datos serie

    HOLD Entrada Peticin de reposo.

    HLDA Salida Conocimiento de reposo.

    INTR Entrada Peticin de interrupcin.

    TRAP Entrada Peticin de interrupcin no enmascarable.

    8085

    1234567891011121314151617181920

    4039383736353433323130292827262524232221

    X1X2

    RESET OUTSODSID

    TRAPRST 7.5RST 6.5RST 5.5

    INTRINTAAD0AD1AD2AD3AD4AD5AD6AD7

    VSS

    VCC (+5V)HOLDHLDACLOCK OUTRESET INREADYIO/MS1RDWRALES0A15A14A13A12A11A10A9A8

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    40

    RST5.5 Entrada Peticin de interrupcin hardwarevectorizadas.

    RST6.5 Entrada Peticin de interrupcin hardwarevectorizadas.

    RST7.5 Entrada Peticin de interrupcin hardwarevectorizadas.INTA Salida Conocimiento de interrupcin.

    ZACINREINICIALI IN Entrada Reinicializacin del sistema.REINICIALIZACIN OUT Salida Reinicializacin de los perifricos

    X1, X2 Entrada Conexiones al cristal o RC.

    CLK Salida Seal de reloj

    VCC, Vss Alimentacin + 5V, tierra.

    Con las funciones aadidas del 8085, los 40 pines del chip no eran suficientespara todas las entradas y salidas. Por esta razn, el fabricante utiliza los pines 12al 19 como lneas de propsito doble: de direcciones y datos (AD7 - AD0). Se diceentonces que esta unidad tiene un bus multiplexado de datos y direcciones.

    El 8085 tiene una seal especial para informar a los perifricos cundo el bus dedirecciones/datos enva una direccin y cuando funciona como bus de datos. Laseal especial se denomina seal de control de habilitacin del cerrojo dedirecciones (ALE). Se debe observar que los pines del bus de direcciones/datosson bidireccionales o pueden ser tambin de tres estados o alta impedancia.

    Las salidas de control de lectura ( RD ) y escritura (WR ) son utilizadas parainformar a la memoria o dispositivos de entrada/salida cuando hay que enviar orecibir datos va el bus de datos.

    La entrada de reinicializacin ( ZACINREINICIALI ) acta como el reset de laCPU, ya que el contador de programa se ubica en la posicin 0000H de lamemoria. Los buses de datos y direcciones y lneas de control estn en triestadodurante la reinicializacin. El contenido de los registros internos tambin puede seralterado durante una reinicializacin. El pin REINICIALIZACIN OUT estasociado con la operacin de reinicializacin. Como la CPU se estreinicializando, el pin REINICIALIZACIN OUT enva una seal a los perifricosque les informa que el sistema se va reiniciar.

    La entrada de peticin de interrupcin (INTR) al 8085 es una interrupcin depropsito general. Sin embargo, puede ser habilitada o deshabilitada porinstrucciones de software. Adems de la peticin regular de interrupciones, la CPUtiene otras cuatro entradas de interrupcin. Estos son los pines de entrada TRAP,RST7.5, RST6.5 y RST5.5. TRAP es la interrupcin de mayor prioridad.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    41

    La interrupcin INTR salta a una direccin dictada por una instruccin especialrecibida, de un dispositivo perifrico, cuando es activada la salida de conocimientode interrupcin ( INTA ) de la CPU.

    EL pin de entrada HOLD (reposo) notifica a la CPU que otro dispositivo quiereutilizar los buses de direcciones y datos. Esto puede ocurrir durante operacionesde acceso directo a memoria. Despus de recibir una entrada HOLD, la CPUcompletar las transferencias actuales de datos en los buses. Entonces los pinesde direcciones, datos, RD , WR e IO/ M del 8085 se ponen en alta impedanciapara no interferir con las transferencias de datos en los buses.

    Una salida HLDA (conocimiento de reposo) indica a un perifrico que se harecibido una peticin HOLD y que el microprocesador abandonar el control de losbuses en el siguiente ciclo de reloj.

    Las salidas IO/ M , S0 y S1 son seales de control que notifican a los perifricos eltipo de ciclo de mquina que est realizando la CPU. Los tipos de ciclo demquina aparecen a la derecha de la tabla. La combinacin adecuada de lasseales de salida de los pines IO/ M , S0 y S1 se detalla en la columna de laizquierda.

    Seales decontrol del 8085IO/ M S0 S1

    Status de ciclos de mquina

    0 0 1 Escritura en memoria

    0 1 0 Lectura de memoria

    1 0 1 Escritura de E/S

    1 1 0 Lectura de E/S

    0 1 1 Bsqueda del cdigo de operacin

    1 1 1 Conocimiento de interrupcin

    * 0 0 Alto

    * X X Reposo

    * X X Reinicializacin

    * = condicin de tres estadosX = no especificado.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    42

    3. ARQUITECTURA INTERNA

    La organizacin interna o arquitectura del microprocesador 8080 se muestra enla siguiente figura.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    43

    Registros

    El formato de datos e instrucciones que se manejan, es de enteros de 8 bits.Todas las transferencias sobre el bus de datos del sistema se realizan con esteformato.

    D7 D6 D5 D4 D3 D2 D1 D0

    Las instrucciones de programa pueden tener tamao de uno, dos o tres bytes delongitud. Los mltiples bytes de instrucciones deben ser guardados en palabrassucesivas en la memoria del programa. El formato de las instrucciones dependerde la operacin ejecutada en particular.

    Las entradas o salidas de datos a la unidad, se realizan a travs del bus de datosinterno de 8 bits. Los datos pueden fluir desde el bus de datos interno alacumulador de 8 bits o a los registros temporales, registro de instrucciones, unidadde control de interrupcin, unidad de control de E/S o cualquiera de los registrosde propsito general (B, C, D, E, H y L). Cuenta tambin con un puntero de pila de16 bits, un contador de programa de 16 bits y un buffer de datos/direcciones.

    La unidad aritmtico lgica est alimentada por dos registros de 8 bits (registroacumulador y registro temporal). Los flip-flops sealizadores tienen cincoindicadores de estado.

    El registro de instrucciones alimenta al decodificador de instrucciones, el cualinterpreta la instruccin actual y determina el microprograma que debe seguir. Eldecodificador de instrucciones tambin indica a las secciones de control ytemporizacin sobre la secuencia de eventos que deben realizarse. La seccin detemporizacin y control coordina las acciones del procesador y los perifricos.

    El microprocesador 8085, cuenta con las mismas unidades estructurales deli8080: una unidad de control, una unidad lgico aritmtica, un conjunto deregistros y un bus interno de interconexin; pero incluye dos componentesadicionales bastante interesantes: una unidad para el control de las interrupcionesy una comunicacin serie sencilla.

    Tambin utiliza registros de 8 y 16 bits. Seis de estos registros pueden utilizarsecomo registros de 8 bits o como tres registros de 16 bits.

    A continuacin se presenta el diagrama interno o la arquitectura delmicroprocesador 8085.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    44

    Algunos de los registros ms importantes, son los siguientes:

    El acumulador: es el centro de todas las operaciones de la ALU, la cual incluyeinstrucciones aritmticas, lgicas, de carga y de E/S. Es un registro de 8 bits.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    45

    Los registros de propsito general BC, DE y HL pueden ser utilizados comoseis registros de 8 bits o como tres registros de 16 bits dependiendo de lainstruccin que se vaya a ejecutar. El registro HL llamado puntero de datos puedeser utilizado para apuntar a direcciones. Pocas instrucciones utilizan los registrosBC y DE como punteros de direccin, ya que normalmente se utilizan comoregistros de datos de propsito general.

    El contador de programa (PC) siempre seala la posicin de memoria de lasiguiente instruccin que se va a ejecutar. Siempre contiene una direccin de 16bits.

    El puntero de pila (SP) es un puntero de direccin de propsito especial (opuntero de dato) que siempre apunta a la parte superior de la pila de la RAM. Esun registro de 16 bits. Este registro se decrementa cada vez que se introduce undato en la pila y se incrementa cada vez que se saca el dato de la pila.

    El registro de sealizadores ( Flags ) contiene cinco sealizadores de 1 bit conla informacin del estado de la CPU. Estos sealizadores son utilizadosgeneralmente por instrucciones de bifurcacin condicional y llamada y vuelta desubrutina. Este registro se presentan a continuacin:

    S Z AC P CYB7 B6 B5 B4 B3 B2 B1 B0

    El sealizador de arrastre (CY) es puesto a 1 0 por operaciones aritmticas, y suestado es examinado por las instrucciones del programa. Un desbordamiento deuna suma de 8 bits genera en el registro un set (1) en la bandera CY. En la restael sealizador actua como un sealizador de prstamo, indicando que elminuendo es menor que el sustraendo si el sealizador est en 1.

    El sealizador de paridad (P) examina el nmero de bits 1 del acumulador. Si stecontiene un nmero par de 1, se dice que existe paridad par y el sealizador deparidad se pone a 1. Sin embargo, si el acumulador contiene un nmero impar de1 (paridad impar), el sealizador de paridad se pone en 0.

    El sealizador de arrastre auxiliar (AC) indica desbordamiento o arrastre del bit 3del acumulador de la misma forma que el sealizador de arrastre indicadesbordamiento del bit 7. Esta sealizador es utilizado comnmente en aritmticaBCD (decimal codificado binario).

    El sealizador de cero (Z) se pone a 1 si el resultado de ciertas operaciones escero. El sealizador de cero est a 0 si el resultado no es cero.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    46

    El sealizador de signo (S) indica la condicin del bit ms significativo delacumulador despus de la ejecucin de instrucciones aritmtico-lgicas. Estasinstrucciones utilizan el MSB del dato para representar el signo del nmerocontenido en el acumulador. Un sealizador de signo a 1 representa un nmeronegativo, mientras que si es 0 representa un nmero positivo.

    Los registros programables del i8085 se resumen en la siguiente tabla. Elacumulador principal de 8 bits se etiqueta A; los otros registro de propsito generalde 8 bits ( etiquetados B, C, D, E, H y L ) tambin se denominan acumuladoressecundarios o contadores de datos. Adems, los registros de 16 bits que son: elpuntero de pila (SP) y el contador de programa (PC).

    PSW (8) A (8)

    B (8) C (8)D (8) E (8)H (8) L (8)

    SP (16)

    PC (16)

    Unidad aritmtico lgica: las operaciones aritmticas, lgicas y dedesplazamiento son realizadas en la ALU. Los resultados de estas operaciones sealmacenan en el acumulador. La ALU basa su funcionamiento en el registroacumulador, el registro de sealizadores y en algunos registros temporales queson inaccesibles al programador.

    Registro de instruccin y decodificador: durante una bsqueda de instruccin,el primer byte de la instruccin, el cdigo de operacin, es transferido al registrode instruccin de 8 bits. El contenido de dicho registro queda entonces disponiblepara el decodificador de instrucciones. All se interpreta la instruccin, y a travsde sus circuitos y seales de temporizacin y control, ejecuta las diferentes tareasen los registros, la ALU, la memoria y los buffers de datos y direcciones.

    Generador del reloj interno: el 8085 incorpora un generador completo de reloj enel mismo chip. Requiere solamente la adicin de un cristal de cuarzo paraestablecer la temporizacin de su operacin. El pin de salida CLK es una salida dereloj que tiene una frecuencia de una vez y media la frecuencia del cristal.

    Acumuladores secundarios/contadores de datos

    Puntero de pila Contador de programa

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    47

    4. MODOS DE DIRECCIONAMIENTO

    Un modo de direccionamiento es la tcnica empleada para buscar el operandodeseado durante la ejecucin de una instruccin.

    En los microprocesadores i8080 e i8085, se tienen principalmente cinco modos dedireccionamiento. Estos son:

    Direccionamiento inmediato. Direccionamiento directo. Direccionamiento indirecto de registro. Direccionamiento implicado. Direccionamiento de registro.

    Direccionamiento inmediato: las instrucciones que utilizan direccionamientoinmediato tienen los datos inmediatamente a continuacin del cdigo de operacinen la memoria del programa. Por ejemplo, se tiene la instruccin:

    ADDI: suma inmediata

    El microprocesador busca el cdigo de operacin en la memoria del programa.Despus de decodificar la instruccin encuentra el dato inmediato en la siguienteposicin consecutiva de la memoria del programa, despus del cdigo deoperacin. En este caso, el dato inmediato se suma al contenido del acumulador yel resultado es guardado en el acumulador.

    Las instrucciones inmediatas utilizan el acumulador como operando implicado; porejemplo la instruccin MVI puede transferir datos inmediatos a cualquier registro oposicin de memoria. La instruccin LXI carga un registro par con un valor de 16bits y por tanto no afecta al acumulador.

    Direccionamiento directo: este tipo de instrucciones se especifican utilizandoformato de instruccin de 3 bytes. El byte 1 contiene el cdigo de operacin parala instruccin de direccionamiento directo. El byte 2 contiene el byte de ordeninferior de la direccin del operando. El byte 3 de la instruccin contiene el byte deorden superior de la direccin del operando. Por ejemplo, la instruccin:

    LDA: cargar A directo

    En este caso el cdigo de operacin es 3AH. Los 2 siguientes bytes de la memoriason ensamblados por el microprocesador en una direccin de 16 bits. Estadireccin de la memoria de datos es accedida por la CPU y su contenido cargadoen el acumulador.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    48

    Las instrucciones que utilizan direccionamiento directo a veces son evitadas yaque requieren de mucho espacio en la memoria de programa, al igual que tiempode ejecucin relativamente largo, debido a los numerosos accesos a memoria quese necesitan.

    Direccionamiento indirecto de registro: las instrucciones de registro indirectoreferencian la memoria utilizando el contenido de un registro par para sealar ladireccin del operando. Por ejemplo, la instruccin:

    ADDM: sumar memoria

    Esta instruccin suma el contenido del acumulador con el contenido de la posicinde memoria indicado por la direccin del registro HL de la CPU.

    Direccionamiento implicado: el modo de direccionamiento de ciertasinstrucciones es implicado o inherente a, por la funcin de la instruccin. Porejemplo, la instruccin:

    STC: poner a 1 el sealizador de arrastre

    Esta instruccin se relaciona con el sealizador de arrastre solamente y no conotros registros o posiciones de memoria.

    Direccionamiento de registro: cuando se utilizan el tipo de instrucciones queutilizan direccionamiento de registro, se especifican la fuente del operando y laoperacin. Consideremos la ejecucin de la instruccin:

    ADD C: sumar el registro C con el acumulador

    Una vez que se ejecuta la instruccin el resultado se deposita en el acumulador.Se considera del tipo de direccionamiento de registros porque ambos operandosestaban localizados en registros internos del microprocesador. Estas instruccionesson muy eficientes ya que solamente utilizan un espacio de la memoria deprograma de 1 byte. Tambin se ejecutan rpidamente porque no tienen quebuscar operandos en memoria. Los accesos de memoria aumentan el tiempo deejecucin de la instruccin.

    Modos de direccionamiento combinados: algunas instrucciones son dedireccionamiento combinado, como por ejemplo la llamada a subrutina CALL, en lacual se tiene direccionamiento directo e indirecto de registro.

    En este caso el direccionamiento directo especifica la direccin de la subrutinadeseada y el direccionamiento indirecto es el del puntero de pila.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    49

    5. REPERTORIO DE INSTRUCCIONES

    El grupo de instrucciones que un microprocesador puede ejecutar, se denomina surepertorio de instrucciones. Todas las instrucciones de un programa sonalmacenadas en un rea denominada memoria de programa. El conjunto deinstrucciones del 8080 es el mismo del 8085; aunque este ltimo cuenta con dosnuevas instrucciones en su repertorio.

    Las instrucciones se pueden agrupar en las siguientes categoras funcionales:

    Grupo de transferencia de datos: en este grupo se encuentran las instruccionesde transferencias, cargas, almacenamientos e intercambios.

    Algunas de las principales instrucciones de este tipo, con su direccionamiento,ciclos, estados y sealizadores, son especificadas a continuacin.

    MOV r1, r2 (transfiere registro)(r1) (r2)

    El contenido del registro r2 es transferido al registro r1.

    Ciclos: 1Estados: 4 (8085), 5 (8080)

    Direccionamiento: registro Sealizadores: ninguno

    MOV r, M (transfiere de memoria)(r) (H) (L)

    El contenido de la posicin de memoria, cuya direccin est en los registros H y Les transferido al registro r.

    Ciclos: 2Estados: 7

    Direccionamiento: indirecto a registro Sealizadores: ninguno

    MOV M, r (transfiere a memoria)(H) (L) (r)

    El contenido del registo r es transferido a la posicin de memoria cuya direccinest en los registros H y L.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    50

    Ciclos: 2Estados: 7

    Direccionamiento: indirecto a registro Sealizadores: ninguno

    MVI r, dato (transferencia inmediata)(r) (byte2)

    El contenido del byte 2 de la instruccin es transferido al registro r.

    Ciclos: 2Estados: 7

    Direccionamiento: inmediato Sealizadores: ninguno

    LDA addr (carga acumulador directo)(A) (byte3) (byte2)

    El contenido de la posicin de memoria, cuya direccin est especificada en losbytes 2 y 3 de la instruccin, es transferido al registro A.

    Ciclos: 4Estados: 13

    Direccionamiento: directo Sealizadores: ninguno

    Grupo aritmtico: en este grupo se encuentran las instrucciones que realizansumas, restas, incrementos o decrementos en datos de registros o memoria.

    Algunas de las principales instrucciones de este tipo, con su direccionamiento,ciclos, estados y sealizadores, son especificadas a continuacin.

    ADDr (Suma registros)(A) (A)+(r)

    El contenido del registro r es sumado al contenido del acumulador. El resultado secoloca en el acumulador.

    Ciclos: 1Estados: 4

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    51

    Direccionamiento: registro Sealizadores: Z,S,P,CY,AC

    ADI dato (Suma inmediata)(A) (A)+(byte2)

    El contenido del segundo byte de la instruccin es sumado al contenido delacumulador. El resultado se coloca en el acumulador.

    Ciclos: 2Estados: 7

    Direccionamiento: inmediato Sealizadores: Z,S,P,CY,AC

    SUBr (Resta registro)(A) (A)-(r)

    El contenido del registro r es restado al contenido del acumulador. El resultado secoloca en el acumulador.

    Ciclos: 1Estados: 4

    Direccionamiento: registro Sealizadores: Z,S,P,CY,AC

    SUB M (Resta memoria)(A) (A)-((H) (L))

    El contenido de la posicin de memoria cuya direccin est contenida en losregistros H y L es restado al contenido del acumulador. El resultado se coloca enel acumulador.

    Ciclos: 2Estados: 7

    Direccionamiento: indirecto de registro Sealizadores: Z,S,P,CY,AC

    INRr (Incrementa registro)(r) (r)+1

    El contenido del registro r es incrementado en uno.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    52

    Ciclos: 1Estados: 4 (8085), 5(8080)

    Direccionamiento: registro Sealizadores: Z,S,P,AC

    DCR M (Decrementa memoria)(H) (L) (H) (L)-1

    El contenido de la posicin de memoria cuya direccin est contenida en losregistros H y L es decrementado en uno. Todos los sealizadores son afectadosexcepto CY.

    Ciclos: 3Estados: 10

    Direccionamiento: indirecto de registro Sealizadores: Z,S,P,AC

    Grupo lgico: en este grupo se encuentran las instrucciones que realizanoperaciones AND, OR y XOR, comparaciones, desplazamientos circulares ocomplementos de datos en registros o entre memoria y un registro.

    Algunas de las principales instrucciones de este tipo, con su direccionamiento,ciclos, estados y sealizadores, son especificadas a continuacin.

    ANAr (And registro)(A) (A) (r)El contenido del registro r realiza la operacin lgica AND con el contenido delacumulador. El resultado se coloca en el acumulador

    Ciclos: 1Estados: 4

    Direccionamiento: registro Sealizadores: Z, S, P, CY, AC

    ANA M (And memoria)(A) (A) ((H) (L))El contenido de la posicin de memoria cuya direccin est contenida en losregistros H y L realiza la operacin lgica AND con el contenido del acumulador. Elresultado se coloca en el acumulador.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAFACULTAD DE CIENCIAS BSICAS E INGENIERA

    53

    Ciclos: 2Estados: 7

    Direccionamiento: indirecto de registro Sealizadores: Z, S, P, CY, AC.

    XRI dato (OR exclusiva inmediata)(A) (A) (byte2)El contenido del segundo byte de la instruccin realiza la operacin lgica ORexclusiva con el contenido del acumulador. El resultado se coloca en elacumulador.

    Ciclos: 2Estados: 7

    Direccionamiento: inmediato Sealizadores: Z, S, P, CY, AC.

    CPI dato (Comparacin directa)(A) - (byte2)

    El contenido del segundo byte de la instruccin es restado del acumulador. Elsealizador Z se pone a 1 si (A)=(byte2).

    Ciclos: 2Estados: 7

    Direccionamiento: inmediato Sealizadores: Z, S, P, CY, AC.

    RLC (Desplazamiento circular a la izquierda)(An+1) (An); (A0) (A7)(CY) (A7)

    El contenido del acumulador es desplazado a la izquierda una posicin. El bit deorden inferior y el sealizador CY contienen ahora el valor del bit de orden mselevado antes de la operacin de desplazamiento.

    Ciclos: 1Estados: 4

    Sealizadores: CY.

  • UNIVERSIDAD NACIONAL ABIERTA Y A D