unidad_1_lenguaje_ensamblador

Upload: manolo-gallegos

Post on 10-Apr-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    1/58

    Lenguaje EnsambladorIngeniera Sistemas Computacionales

    Unidad 1 Fundamentos Introduccin Lenguaje Ensamblador

    1.1.1 Uso Aplicaciones Lenguaje Ensamblador1.1.2 Escalabilidad Microprocesadores1.1.3 Tipos Lenguajes Ensambladores1.1.4 Clasificacin de Memorias1.1.5 Unidades de Entrada Salida1.2 Tipos de buses1.2 El microprocesador1.2.1 Microprocesador Buses1.2.2 Microprocesador Registros1.2.3 Microprocesador Modos Direccionamiento1.3 Interrupciones Hardware1.3.2 Interrupciones Software1.4 Estructura Programa en Ensamblador1.4.1 Data Segment1.4.2 Stack Segment1.4.3 Code Segment1.4.4 Instrucciones del programa Ensamblador1.4.5 Directivas Lenguaje Ensamblador1.5 Procedimiento Ensamble Enlace y Ejecucin1.6 Entorno de programacin lenguaje ensamblador

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    2/58

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    3/58

    P y ad y

    La dad d pr a ral ( PU) d d a p la l da . E a r p ad ra, l PU pl d

    h

    p

    y p

    q

    lla

    ad

    r

    pr

    ad

    r.T da la PU p r l d par b a , la dad d r l y la dad ar a l a.T

    d

    l

    r

    r

    d

    la

    p

    ad

    ra

    ad

    rad

    d

    d

    la

    dad d r l, ya f rd ar da la a v dad d la p ad ra.La dad d r l la r d la PU para ll var a

    ab a d . El j d r , q l d d r

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    4/58

    d l r d la dad d r l, a l a d da la p ra q r al za la PU. ada r l j d r a paad p r r d , q r y b a q l d a la PU j ar la r .

    a

    d

    la

    p

    ad

    ra

    rr

    pr

    ra

    a, b

    a l

    a

    d

    d

    lpr ra a d r d l j d r d la PU y la j a

    rd .La dad ar -l (ALU) a d la dad d r l

    ra a r q v l ra ar a l a, l pa a l r l al d p d la PU. La ALU l y r p d r r , d r, r a r da d r a la PU q

    a para ardar da q d pr ad p r la r a al.

    El pl j pr d q ra f r a da v d rada f r a l d al da lla a pr a .Para ll var a ab a ra f r a , la p ad ra a d

    p : l pr ad r y la r a.El pr ad r l r br d la p ad ra, la par q rpr ay j a la r . El pr ad r a pr p d var r rad h p , r ad arj a d

    r , d l rj d r a lar r q l a

    r

    hp

    y a

    ra

    arj

    a

    d

    r

    .

    Arquitectura de computadores

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    5/58

    Una visin tpica de una arquitectura de computadora como una serie de capas de abstraccin:

    hardware, firmware, ensamblador, kernel, sistema operativo y aplicaciones.

    La arquitectura de computadoras es el diseo conceptual y la estructura operacionalfundamental de un sistema de computadora. Es decir, es un modelo y una descripcin

    funcional de los requerimientos y las implementaciones de diseo para varias partes de

    una computadora, con especial inters en la forma en que la unidad central de proceso(CPU) trabaja internamente y accede a las direcciones de memoria.

    Un ordenador con esta arquitectura realiza o emula los siguientes pasos

    secuencialmente:

    1. Enciende el ordenador y obtiene la siguiente instruccin desde la memoria en la

    direccin indicada por el contador de programa y la guarda en el registro deinstruccin.2. Aumenta el contador de programa en la longitud de la instruccin para apuntar a la

    siguiente.3. Decodifica la instruccin mediante la unidad de control. sta se encarga de coordinar

    el resto de componentes del ordenador para realizar una funcin determinada.4. Se ejecuta la instruccin. sta puede cambiar el valor del contador del programa,

    permitiendo as operaciones repetitivas. El contador puede cambiar tambin cuandose cumpla una cierta condicin aritmtica, haciendo que el ordenador pueda 'tomardecisiones', que pueden alcanzar cualquier grado de complejidad, mediante laaritmtica y lgica anteriores.

    5. Vuelve al paso 2.

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    6/58

    Tip k l De Ensamblad k res

    Aunque to m os los ensambla m ores realin an bsicamente las mismas

    tareas, pom

    emos clasificarlosm

    e acuerm

    o a caractersticas.Ensambladores Cruzados (Cross-Assembler).

    Los que se utilio an en una computa

    ora que posee un procesa

    or

    iferente al que ten

    rn las computa

    oras

    on

    e va a e

    ecutarseel programa ob

    eto pro uci o.El empleo e este tipo e tra uctores permite aprovec ar elsoporte e me ios fsicos ( iscos, impresoras, pantallas, etc.), y eprogramaci n que ofrecen las mquinas potentes para

    esarrollar programas que luego los van a e

    ecutar sistemas muyespecialio a os en etermina os tipos e tareas.

    Ensambladores Residentes.Son aquellos que permanecen en la memoria principal e lacomputa

    ora y cargan, para su e

    ecuci

    n, al programa ob

    etopro uci o. Este tipo e ensambla or tiene la venta

    a e que sepue e comprobar inme iatamente el programa sin necesi a etransportarlo

    e un lugar a otro, como se

    aca en cross

    assembler, y sin necesi

    a

    e programas simula

    ores.Sin embargo, pue e presentar problemas e espacio ememoria, ya que el tra uctor ocupa espacio que no pue e serutilio a o por el programa or. Asimismo, tambi n ocuparmemoria el programa fuente y el programa ob

    eto. Esto obliga atener un espacio

    e memoria relativamente amplio. Es el in

    ica

    o

    para esarrollos e peque os sistemas e control y sencillosautomatismo emplean o microprocesa ores(1).La venta

    a

    e estos ensambla

    ores es que permiten e

    ecutarinme iatamente el programa; la esventa

    a es que ebenmantenerse en la memoria principal tanto el ensambla or comoel programa fuente y el programa ob

    eto.Macroensambladores.

    Son ensambla ores que permiten el uso e macroinstrucciones(macros). Debi o a su potencia, normalmente son programasrobustos que no permanecen en memoria una veo genera o elprograma ob

    eto. ue e variar la comple

    i a e los mismos, epen ien o e las posibili a es e efinici n y manipulaci n e las macroinstrucciones, pero normalmente son programasbastantes comple

    os, por lo que suelen ser ensambla oresresi

    entes.

    Microensambladores.Generalmente, los procesa ores utilio a os en las computa orastienen un repertorio fi

    o

    e instrucciones, es

    ecir, que el int

    rpre te

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    7/58

    de las mismas interpretaba de igual forma un determinado c digode operaci

    n.

    El programa que indica al int

    rprete de instrucciones de laz

    C{

    c mo debe actuar se denomina microprograma. El programaque ayuda a reali| ar este microprograma se llamamicroensamblador. Existen procesadores que permiten lamodificaci n de sus microprogramas, para lo cual se utili

    |

    anmicroensambladores. Ensambladores de una fase.Estos ensambladores leen una lnea del programa fuente y latraducen directamente para producir una instrucci n en lengua

    }

    emquina o la e

    }

    ecuta si se trata de una pseudoinstrucci n.~

    ambi

    n va construyendo la tabla de smbolos a medida que vanapareciendo las definiciones de variables, etiquetas, etc.Debido a su forma de traducci n, estos ensambladores obligan adefinir los smbolos antes de ser empleados para que, cuandoapare| ca una referencia a un determinado smbolo en unainstrucci n, se cono| ca la direcci n de dic o smbolo y se puedatraducir de forma correcta. Estos ensambladores son sencillos,baratos y ocupan poco espacio, pero tiene el inconvenienteindicado(1).

    Ensambladores de dos fases.Los ensambladores de dos fases se denominan asdebido a quereali| an la traducci

    n en dos etapas. En la primera fase, leen el

    programa fuente y construyen una tabla de smbolos; de estamanera, en la segunda fase, vuelven a leer el programa fuente ypueden ir traduciendo totalmente, puesto que conocen latotalidadde los smbolos utili| ados y las posiciones que se les aasignado. Estos ensambladores son los ms utili| ados en la

    actualidad.

    MicroprocesadoresAvance Tecnolgico de los procesadores.

    En 1975 Intel decidi construir su primer micro de 16 bits que sali al

    mercado en 1978. Se trataba del 8086, que defini el inicio de sugama de productos ms famosa, la familia de microprocesadores x86.

    La longitud de los registros del 8086 era de 16 bits (de a sudenominaci

    n de 16 bits),

    aba versiones que funcionaban a 4.77 y 8

    MH| , tena un bus de datos de 16 bits y un bus de direcciones de 20 bits,lo que le permita acceder a un mximo de memoria de 1 Mb seg n elclculo 2 elevado a 20. Seguidamente,

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    8/58

    Se encuentra un errorde dise

    o en el 8088 que afecta a la gesti

    n deinterrupciones y al registro de pila SS (Stack Segment).Intel fabric variaciones de estos modelos, sacando al mercado los80C86, 80C88, 80186 y 80188 cuyas modificaciones fueron el a

    orro de

    energa en las versiones C para su instalaci n en porttiles, y el redise o

    interno para la optimi

    aci

    n en las versiones 1.

    80286 En 1984 aparece el 80286 como base para una nuevageneraci n de ordenadores de IBM, el IBM AT (AdvancedTec nology).Supone un nuevo salto tecnol gico. Adems de incrementar el bus dedirecciones de 20 bits a 24, lo que permita acceder asta los 16 Mb deRAM, se incrementaba la velocidad, llegando a ser

    asta un 25 por

    ciento ms rpidos que los 8086 y 8088 originales.La novedad ms importante que se introdu

    o fue la gesti n de memoriavirtual. La memoria virtual es una extensi

    n de memoria en disco (o

    dispositivo de almacenamiento secundario) a adida a la memoria fsica

    instalada. As, el 80286 es capa

    de tratar asta un total de 1 Gb,desglosado en 16 Mb de memoria fsica ms 1008 Mb de memoriavirtual. La memoria virtual solamente la utili an los programas que estnpreparados para ello.Aparece tambi n un nuevo modo de operaci n del microprocesador.Aparte del modo real (el normal de operaci n) que direcciona asta 1Mb de memoria fsica y asegura la compatibilidad para aplicacionesdise

    adas por los 8086/8088, se tiene el modo protegido que no es

    compatible con estos programas desarrollados para los micros antesmencionados. El modo protegido es el que permite acceder a los 1.008Mb de memoria virtual.

    El 80286 traba

    a en su arranque en modo real. El cambio a modoprotegido, lo que se conoce t cnicamente como ups ift, no esreversible (downs ift), siendo necesario acer un reset delmicroprocesador para volver al modo real; sin duda un gran fallo dedise o.El 80286 se present con velocidades de relo

    de 2, 8, 10, 12, 16 y 20 MH .

    80386 DX y SX Introducido en 1985, el 80386 DX supera un nuevoescal

    n en el avance tecnol

    gico en microprocesadores. Se incorpora

    una nueva ampliaci n y surge el n mero mgico, el 32. Los buses dedatos y de direcciones se amplan asta 32 lneas de datos, ocurriendo

    lo mismo con el tama o de los registros. Esta ampliaci n supone unincremento en la memoria RAM fsica instalada. uede direccionar 4 Gbde memoria fsica (DX significa Double word eXternal) y 64 Tb dememoria virtual, una cifra que en la actualidad est a n muy porencima de las posibilidades econ micas de los usuarios (a ver qui ninstala 4.000 Megabytes de RAM, unos 20 millones de pesetas).Arranca en modo real, al igual que el 80286, e incor pora un nuevomodo de operaci n: el modo real virtual del 8086, que permite tener

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    9/58

    varias sesiones 8086 traba

    ando simultneamente simulando unaespecie de pseudomultitarea.En los microprocesadores anteriores la gesti

    n de memoria se reali aba

    en segmentos de 16 Kb. Con el 80286 este tama o de los segmentos dela memoria se acan muy peque os y el programador tena quetraba

    ar ms para adaptarse a una gran cantidad de segmentos. El80386 permite la definici n de segmentos de memoria de tama ovariable. Aparte, Intel corrigi la deficiencia del downs ifting,pudi ndose reali ar por software.Otra de las innovaciones en la inclusi n de una memoria cac e internaen el c ip destinada a almacenar instrucciones provenientes dememoria sin necesidadde que la unidadde e

    ecuci

    n intervenga. Intelcomete un nuevo error en el dise o del micro que genera inexactitudesen el clculo de 32 bits, que se presentan en los micros lan ados almercado asta mayo del 1987. Los modelos corregidos van etiquetadoscon una doble sigma may scula o con el identificativo DX. Este errorafectaba a las operaciones de multiplicaci n de 32 bits. Ocurra ba

    o lassiguientes circunstancias:Se usa la memoria virtual y se produce una demanda de pgina.El coprocesador matemtico 80387 est instalado y en uso.Debe ocurrir una operaci

    n de acceso directo a memoria (DMA).

    El 80386 debe estar en estado de espera (Wait State).Se detecta un segundo bug denominado

    O

    AD bug. Su efecto es el

    vaciado del registro acumulador EAX cuando se e

    ecuta una instrucci

    nde acceso a memoria inmediatamente despu

    s de la e

    ecuci

    n de lainstrucci n O AD.Aparecen variaciones que afectan al consumo de energa pensadaspara porttiles, se trataba de los 80386SL (Slow Low power) y 80386SLC

    (Slow Low power Cac e), que es propiedadde IBM aunque lo fabriqueIntel. Las frecuencias de funcionamiento eran de 12, 20, 25 y 33 MH .El 80386SX (SX significa Simple word eXternal) tiene las mismascaractersticas que el 80386DX, salvo que el bus de direcciones externose reduce a 16 bits. Introducido en 1988 daba la potencia de un 80386 aprecio de un 80286. Durante muc o tiempo se rumore que el 9 podraser compatible con los

    calos 80286, pero al final no fue as. La ra

    n es

    que el 80286 multiplexa todos sus buses para conseguir con menos lneasel mismo resultado (menor coste) El 80386SX s

    lo multiplexa el bus de

    direcciones. Las frecuencias de funcionamiento eran de 16, 20, 25 y 33MH .

    80486DX 80486SX El 80486DX sali al mercado en 1989. La estructurainterna ablando en t rminos num ricos es igual a la de un 80386. Eltama o de los registros y de los buses son de 32 bits. Mantiene los tresmodos de operaci

    n: real, protegido y real virtual. Las diferencias reales

    con los 80386DX son que tiene un flag ms, un estado de excepci nms, 2 bits ms en la tabla de entrada de pginas, 6 instrucciones y losregistros de control tienen una longitudde 9 bits.

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    10/58

    Se reali an tambi n cambios en la arquitectura interna. Se crea unmayor n

    mero de lneas

    ardware lo que implica un incremento en la

    velocidad. Se imponen reglas de dise

    o ms estrictas, lo que supone unreducci n del tama o del c ip. Al reducirse el tama o se reducetambi n el consumo y consiguientemente la temperatura que alcan ael c ip, con lo cual lo podemos acer funcionar a un mayor n mero deciclos de relo

    , lo que supondr la aparici n de los Overdrives.Se incluye un coprocesador matemtico interno que dobla lasprestaciones de un 80387 traba

    ando a la misma velocidad. Se logra undise o me

    or y la comunicaci n entre el c ip principal y elcoprocesador matemtico es interna, lo que me

    ora la velocidad en lastransferencias y unas sincroni aciones ms estrec

    as.

    La memoria cac e (8 Kb) del microprocesador est dividida en 4cac es de 2 Kb cada una. Esto agili a la e

    ecuci n de algunasaplicaciones. Si se asigna una memoria cac e secundaria (L2) elrendimiento del micro puede aumentar asta un 30 por ciento ms.El 80486SX es igual que un 80486DX, s lo que el coprocesadormatemtico est in abilitado. El coprocesador matemtico 80487SX esen realidad un 80486DX puro que desactiva por completo el 80486SX, sinque podamos retirarlo de la placa. Las velocidades a las que funcionanson de 25, 33, 40 y 50 MH . Hay versi

    n SL para porttiles.

    80486DX2, 80486DX4, 80486SX2 Estos modelos de microprocesadores enrealidad son iguales que sus

    ermanos menores. Internamente duplican

    la velocidaddel relo

    del sistema. Es igual que revolucionar el motordeun coc

    e para que corra ms. Las consecuencias son obvias: un

    sobrecalentamiento del micro con una reducci n de potencia. or estemotivo se recomienda utili ar un m todo de disipaci n de calor paraque el rendimiento no se vea reducido (laminillas disipadoras o

    ventiladores). Las velocidades a las que traba

    an son: 50, 66, 75 y 100(s lo para el DX4) MH para los DX2 y 40 y 50 MH para los SX2.Los 80486 tampoco estn libres del pecado original. En el 80486 cuandoel coprocesador matemtico detecta un errorde limite del tama

    o de

    segmento, algunas veces la C

    falla al generar la excepci

    n 13. Esteerror se genera ba

    o las siguientes condiciones:Segmento de datos de 64 Kb.Operandos de direccionamientode 16 bits.Almacenar un valorde 8 bytes desde el coprocesador cuando la mitadest fuera de los limites del limite del segmento.

    n segundo bug aparece en el clculo de la instrucci n dedicada a

    calcular arcotangentes.Overdrives Intel comen una nueva poltica con la salida de losmicroprocesadores con la denominaci n Overdrive. Los Overdrive eranactuali aciones para los microprocesadores instalados en los sistemasque dispusieran de un segundo calo para tal prop sito. En estaprimera generaci n de Overdrives los c ips disponan de un duplicadorde frecuencia interno y tenan un pin ms, el n mero 169. Este pin seencargaba de in abilitar el 80486 instalado en la placa de

    ando como

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    11/58

    nico micro funcionando el Overdrive. No era posible la retirada delmicro anterior, puesto que el sistema de

    aba de funcionar. La poltica deactuali aci

    n era buena, lo que no era tan bueno era la trampa para

    los usuarios.En la segunda generaci n de Overdrives se olvid el pin 169, teniendolos 168 que los acan compatibles con los calos de los 80486. En esto scasos la actuali

    acin es sencillsima: quitar el que estaba y poner elnuevo en el mismo lugar.La tercera generacin de Overdrives traba

    a con un consumo menorpara reducirde este modo su alta temperatura. El volta

    e se reduce a3.3 voltios de los 5 que necesitaban los anteriores. Si vas a comprar unDX2 o DX4 f

    ate bien qu

    volta

    e utili a vuestra placa. los Overdrivesetiquetados como tal funcionan a 5V, los etiquetados directamentecomo DX4, sin disipador, funcionan a 3.3V.

    La familia Pentium

    La quinta generacin de microprocesadores Intel tom el nombre de

    Pentium.Aparecido en mar o de 1993 en frecuencias de traba o de60 y 66 MH llega a ser cinco veces ms potente que un 80486 a 33 MH .Fabricados con un proceso BiCMOS de geometra de 8 micras y conuna arquitectura superescalar, los microprocesadores entium seencuadran en un concepto RISC. Mientras que el 80386 y el 80486tienen una unidad de e

    ecucin, elentium tiene dos, pudiendo

    e

    ecutar dos instrucciones por ciclo de relo

    con sus correspondientesclculos, ya que tambi n tiene dos unidades aritm tico lgicas (ALU). El80386 (CISC) e

    ecuta un instruccin en varios ciclos de relo

    y el 80486

    e

    ecuta una instruccin por ciclo de relo

    (en t

    rminos medios).Intel toma como modelo la estructura separada para la memoria cac einterna del microprocesador. Consta de dos bloques de 8 Kb, uno paralas instrucciones y otro para los datos que funcionan ba

    o una estructurade asociacin de con

    untos bidireccional. ara los extremadamentecuriosos el algoritmo de sustitucin de datos en la cac e es el LRU (LeastRecently Used, el menos utili ado recientemente).El coprocesador matemtico incluido utili a algoritmos me

    orados ya ade instrucciones de suma, multiplicacin y divisin de nmeros enpunto flotante integradas en el silicio, adems de incorporar un pipelinede 8 niveles para lograr e

    ecutar operaciones en punto flotante en un

    solo ciclo de relo

    .Se integran nuevos avances tecnolgicos, adems de los yacomentados, como por e

    emplo la prediccin de ramificaciones, busesde datos internos de 256 bits, bus de datos externo de 64 bits (quesoporta transferencias de 258 Kbytes por segundo) y memorias cac ede escritura diferida.La tecnologa de bus CI se presenta

    unto con el entium, queincorporaba una me

    or implementacin del bus local. ermite tener

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    12/58

    hasta 10 conectores CI en un primer nivel, conectados al procesador atrav

    s de la circuitera controladora

    CI (conexin no directa).

    Intel apunta ahora hacia el mercado del entorno cliente/servidor. Conel entium se puede construir un ordenador multiprocesador con 16

    entium instalados, pudiendo actuar uno de ellos como agentesupervisordel sistema para entornos que requieran un estricto control deerrores (Functional Redundancy Checking ). Aunque esto sirvide pocoen un principio. Seguro que recordis el famoso bug de entium. Lanueva y me

    orada unidadde punto flotante cometa un error garrafal alhacer una simple divisin. La siguiente funcin escrita para Visual Basicdetecta si un entium genera un fallo de clculo:Function

    entium Test () As Double

    Dim x As Double, y As Double, As Doublex = 4195835#y = 3145727#

    = x (x / y) * y entium Test = End FunctionRecientemente han aparecido versiones del entium a 75, 90, 100 y 133MH , siendo el ltimo, presentado el 23 de oc tubre, uno a 120 MH dise

    ado especialmente para ordenadores porttiles.

    Pentium OverdriveCmo no bamos a disponer de una versin light del

    entium

    compatible pin a pin con nuestros microprocesadores 80486DX y DX2!El 18 de septiembre de 1995 Intel anuncia la disponibilidadde un nuevomodelo procesadorde me

    oraentium Overdrive a 83 MH (adems del

    modelo a 63 MH

    que ya exista) que permite la actuali

    acin de losmicroprocesadores 80486 DX, DX2 y SX. Compatible pin a pin con estosmicroprocesadores en entium Overdrive integra la tecnologa del

    entium en 3,3 voltios y 06 micras.Aparte de ser como un entium genuino cabe destacar la presencia deuna memoria cache de 32 Kb, un reguladorde tensin para reducir latensin de 5 a 3,3 voltios, disipador y ventilador integrado y unacircuitera interna que incrementa en dos veces y media la frecuenciadel bus del sistema (33 MH * 25 = 825 MH ). El incremento medio en lasprestaciones respecto a un 80486 a 66 MH es de un 50 por cientoaunque en aplicaciones puntuales (Auto CAD 13) puede serde un 96

    por ciento, lo que lo sita en las prestaciones de un

    entium genuino a75 MH .

    Pentium ProEl entium ro a 133 MH , que fue presentado el da 3 de noviembre de1995 en el hotel Rit de Madrid es el primer microprocesador de latercera generacin de la gama entium. Est preparadoespecficamente para e

    ecutar aplicaciones compiladas y desarrolladas

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    13/58

    para 32 bits. Algunas aplicaciones desarrolladas para entornos de 16 bitstienen una reduccin de rendimiento en su e

    ecucin en sistemasbasados en un

    entium

    ro respecto a los

    entium normales a 133 MH .

    erfectamente compatible con sus hermanos menores incorporanuevas me

    oras, de las cuales destaca la e

    ecucin dinmica, tema alque dedicaremos un apartado especial y la inclusin de una memoriacache secundaria integrada en el encapsulado del chip.Fabricado en una geometra de 06 micras, Intel est reali ando susdesarrollos con vistas a reducirla a 035 micras como la de los entiumactuales a 133 MH , lo que reducir su temperatura y podr elevarse lafrecuencia de relo

    hasta los 200 MH .Intel ha puesto mucho esfuer o en probar el

    entium

    ro para intentar

    salvarse de los numerosos bugs que manchan su gran prestigio. Intel nosofreci participar en las pruebas de sus entium ro, peticin a la cualrespondimos afirmativamente, pero al final, la drstica reduccin deunidades nos hicieron quedar fuera de los elegidos (slo se probaron100 unidades que estaran ms que asignadas de las ms de 10.000peticiones que recibi Intel a trav s de Internet).El entium ro no es compatible con las placas que existen en elmercado. El motivo principal es la inclusin de la memoria cachesecundaria dentro del chip. Se utili a un bus interno que est optimi adopara traba

    ar con las tempori aciones de conexin directa, lo cualimposibilita la conexin de la memoria cache externa (a mi entender notiene la suficiente

    ustificacin, puesto que a nivel de SETUP la memoriacache secundaria se puede desactivar e incluso anular retirando losintegrados de sus calos. El tema de la sincroni acin ya es otro cantary probablemente sea el motivo real).Este nuevo producto tiene un bus que ha sido dise ado para conectar

    varios Pentium Pro en paralelo que soporta el protocolo MESI, es unmicroprocesadorde 32 bits que incorpora una instruccin ms (moverdatos condicionalmente) que supone una mayor prediccin deramificaciones en la e

    ecucin. Tiene 21 millones de transistores, 55millones en el ncleo y 155 millones en la memoria cache secundaria.La CPU consta de dos chips colocados en cavidades independientesconectadas internamente. El chip correspondiente a la memoria cachees ms peque

    o que el del chip del ncleo, ya que la disposicin de los

    transistores permite una mayor concentracin.E

    ecucin dinmica La e

    ecucin dinmica es uno de los dos elementosclave en la ganancia de prestaciones del Pentium Pro. Esta nueva

    forma de pensar del microprocesador est basada en lacombinacin de tres t cnicas: la prediccin de ramificaciones mltiples,el anlisis del flu

    o de datos y la e

    ecucin especulativa.Prediccin de ramificaciones mltiples.El Pentium Pro utili a un algoritmo de prediccin de ramificacionesmltiples para anticipar saltos en la e

    ecucin del flu

    o de instrucciones.Predice dnde puede encontrar en la memoria las siguientesinstrucciones que debe e

    ecutar con una precisin del 90%. Esto lo logra

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    14/58

    porque adems de extraer instrucciones para su e-

    ecucin, se adelantay busca anticipadamente posibles nuevas instrucciones de programa.Anlisis del flu

    -

    o de datosEl anlisis del flu

    -

    o de datos permite saber al microprocesador en qu orden ptimo puede o debe e

    -

    ecutar las instrucciones, ya que sabe ladependencia de unas respecto a otras.E

    -

    ecucin especulativaCuando el Pentium Pro e

    -

    ecuta instrucciones (5 por ciclo de relo-

    ) utili ala e

    -

    ecucin especulativa. Esto significa que las instrucciones no see

    -

    ecutan en el mismo orden con el que entran al microprocesador, sinoque se e

    -

    ecutan en un orden desordenado, lo que paradjicamentehace que sea ms efica .En el paso final, todos esos datos desordenados generados por laprediccin de ramificaciones, se ordenan y se ensamblan esospaquetes de unidades de proceso para montar el orden lgico en lasecuencia de ejecucin del programa.

    Pentium II por Intel, slo 300 Mhz.

    El Pentium II es un microprocesadorcon arquitecturax86 diseado porIntel,

    introducido en el mercado el 7 de mayo de 1997. Est basado en una versin modificadadel ncleo P6, usado por primera vez en el Intel Pentium Pro.

    Los cambios fundamentales respecto a ste ltimo fueron mejorar el rendimiento en la

    ejecucin de cdigo de 16bits, aadir el conjunto de instruccionesMMX y eliminar lamemoria cach de segundo nivel del ncleo del procesador, colocndola en una tarjeta

    de circuito impreso junto a ste.

    El Pentium II se comercializ en versiones que funcionaban a una frecuencia de reloj deentre 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 y otros

    16 KB para instrucciones. La cach de segundo nivel era de 512 KB y trabajaba a lamitad de la frecuencia del procesador, al contrario que en el Pentium Pro, que

    funcionaba a la misma frecuencia.

    Como novedad respecto al resto de procesadores de la poca, el Pentium II sepresentaba en un encapsuladoSEC, con forma de cartucho. El cambio de formato de

    encapsulado se hizo para mejorar la disipacin de calor. Este cartucho se conecta a las

    placas base de los equipos mediante una ranura Slot 1.

    El Pentium II integra 7,5 millones de transistores.

    El Pentium III es un microprocesador de arquitecturai686 fabricado porIntel; el cuales una modificacin del Pentium Pro. Fue lanzado el 26 de febrero de 1999.

    Las primeras versiones eran muy similares al Pentium II, siendo la diferencia ms

    importante la introduccin de las instrucciones SSE. Al igual que con el Pentium II,

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    15/58

    exista una versin Celeron de bajo presupuesto y una versin Xeon para quienes

    necesitaban de gran poder de cmputo. Esta lnea ha sido eventualmente reemplazadapor el Pentium 4, aunque la lnea Pentium M, para equipos porttiles, esta basada en el

    Pentium III.

    Existen tres versiones de Pentium III: Katmai, Coppermine y Tualatin.

    Katmai [editar]

    La primera versin era muy similar al Pentium II (usaba un proceso de fabricacin de

    250 nanmetros), con la introduccin de SSE como principal diferencia. Adems, sehaba mejorado el controladordel cach L1, lo cual aumentaba ligeramente el

    desempeo. Los primeros modelos tenan velocidades de 450 y 500 MHz. El 17 demayo de 1999 se introdujo el modelo de 550 MHz y el 2 de agosto del mismo ao el de

    600 MHz. Posteriormente (antes de la salida del Coppermine), salieron versiones de

    133Mhz de Bus.

    Coppermine [editar]

    Esta versin tena memoria cach L2 de 256 KB integrada, lo cual mejor

    significativamente el rendimiento en comparacin con Katmai. Estaba construido conun proceso de 180 nanmetros. El 25 de octubre de 1999, se empezaron a vender los

    microprocesadores de 500, 533, 550, 600, 650, 667, 700 y 733 MHz. Entre diciembre de1999 y mayo de 2000, Intel lanz los modelos operando a 750, 800, 850, 866, 933 y

    1000 MHz.junto con ambos slots

    Una versin de 1,13 GHz fue introducida al mercado poco despus, pero debi ser

    cancelada por ser excesivamente inestable. El problema resida en que la memoria cach

    integrada tena problemas para trabajar a ms de 1 GHz.

    La primera generacin de la consola Xbox usa este procesador en una versin ms

    estable de 733 Mhz, con 128KB de cache L2 acondicionado para un uso de la GPU Yde acceso a sistema mucho ms eficiente

    Tualatin [editar]

    La tercera y ltima versin fue en cierto modo una prueba del nuevo proceso de 130

    nanmetros, aunque tambin se hicieron en 135 nanmetros. Es probable que si el

    Pentium 4 hubiese estado listo antes, la serie Tualatin no habra visto la luz. LosTualatin tenan un buen desempeo, especialmente los modelos con 512 KB de cachL2 (llamados Pentium III-S). La Serie III-S estaba enfocada al mercado de servidores.

    Entre el 2001 y los primeros meses del 2002, Intel introdujo microprocesadores Tualatin

    a velocidades de 1'13, 1'2, 1'26 y 1'4 GHz. Para evitar que la gama Pentium compitiesecon los Celeron, no se produjeron ms all de 1'4 GHz, aunque el diseo se us luego

    para hacerPentium M de hasta 1'7 GHz.

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    16/58

    El Nombre Tualatin surge del Valle Tualatin y el ro Tualatin en Oregn

    Xeon [editar]

    Intel Xeon es la actual generacin de microprocesadores Intel para servidores PC. El

    primer procesador Xeon apareci en 1998 como Pentium II Xeon.

    El Pentium II Xeon utilizaba tanto el chipset 440GX como el 450NX. En el ao 2000, el

    Pentium II Xeon fue reemplazado por el Pentium III Xeon.

    En 2001, el Pentium III Xeon se reemplaz por el procesador Intel Xeon. El Xeon est

    basado en la arquitecturaNetBurst de Intel y es similar a la CPUPentium 4.

    El Pentium 4es un microprocesador de sptima generacin basado en laarquitectura x86 y fabricado porIntel. Es el primer microprocesador con un diseo

    completamente nuevo desde el Pentium Pro de 1995. El Pentium 4 original,

    denominado Willamette, trabajaba a 1,4 y 1,5 GHz; y fue lanzado en noviembre de

    2000.

    Para la sorpresa de la industria informtica, el Pentium 4 no mejor el viejo diseo P6

    segn las dos tradicionales formas para medir el rendimiento: velocidad en el proceso

    de enteros u operaciones de coma flotante. La estrategia de Intel fue sacrificar el

    rendimiento de cada ciclo para obtener a cambio mayor cantidad de ciclos por segundo

    y una mejora en las instrucciones SSE. Al igual que la Pentium II y la Pentium III, el

    Pentium 4 se comercializa en una versin para equipos de bajo presupuesto (Celeron), yuna orientada a servidores de gama alta (Xeon).

    Las distintas versiones son: Willamette, Northwood, Extreme Edition, Prescott y Cedar

    Mill.

    Las versi nes ac uales [editar]

    Willamette [editar]

    Willamette, la primera versin del Pentium 4, sufri de importantes demoras durante el

    diseo. De hecho, muchos expertos aseguran que los primeros modelos de 1,3 ; 1,4 y

    1,5 GHz fueron lanzados prematuramente para evitar que se extienda demasiado ellapso de demora de los Pentium 4. Adems, los modelos ms nuevos del AMD

    Thunderbird tenan un rendimiento superior al Pentium III, pero la lnea de produccinse encontraba al lmite de su capacidad por el momento. Fueron fabricados utilizando un

    proceso de 180 nm y utilizaban el Socket 423 para conectarse a laplaca base.

    A la hora de los exmenes de rendimiento, los Willamette fueron una decepcin ya que

    no podan superar claramente a los Thunderbird ni a los Pentium III de mayor

    velocidad. Incluso la diferencia con la lnea de bajo costo de AMD (Duron) no era

    significante. Vendi una cantidad moderada de unidades.

    En enero de 2001 un microprocesador ms lento de 1,3 GHz fue aadido a la lista.

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    17/58

    En la primer mitad del mismo ao, salieron a la venta los modelos de 1,6, 1,7 y 1,8 GHz

    notablemente superiores a los Pentium III. En agosto, los modelos de 1,9 y 2,0 GHzvieron la luz.

    El Willamette de 2,0 GHz fue el primer Pentium 4 que puso en duda el liderazgo en

    rendimiento, que hasta ese momento estaba liderado indiscutiblemente por la lnea

    Thunderbird de AMD. Si bien algunos resultados arrojaban una leve diferencia a favorde AMD, los analistas concluyeron que la diferencia no era significativa para decir queun procesador era claramente superior al otro. Y salieron las primeras Placas con socket

    478 y nucleo Willamette. Esto fue un gran paso para Intel, que hasta la salida del AMD

    Athlon haba sido el rey de la velocidad en los microprocesadores por 16 aos en formacasi ininterrumpida.

    Northwood [editar]

    En octubre de 2001, el Athlon XP reconquist el liderazgo en la velocidad de los

    procesadores, pero en enero de 2002 Intel lanz al mercado los nuevos Northwood de

    2,0 y 2,2 GHz. Esta nueva versin combina un incremento de 256 a 512 KB en la

    memoria cach con la transicin a la tecnologa de produccin de 130 nanmetros. Al

    estar el microprocesador compuesto portransistores ms pequeos, poda alcanzar

    mayores velocidades y a la vez consumir menos energa. El nuevo procesador

    funcionaba con el Socket 478, el cual se haba visto en los ltimos modelos de la serie

    Willamette.

    Con la serie Northwood, los Pentium 4 alcanzaron su madurez. La lucha por la cima delrendimiento se mantuvo reida, a medida que AMD introduca versiones ms veloces

    del Athlon XP. Sin embargo, la mayora de los observadores concluyeron que elNorthwood ms veloz siempre estaba ligeramente por encima de los modelos de AMD.

    Esto se hizo notorio cuando el paso de AMD a la manufactura de 130 nanmetros fue

    postergada. Los Pentium 4 entre 2,4 y 2,8 GHz fueron, claramente, los ms veloces delmercado.

    Un Pentium 4 de 2,4 GHz fue introducido en abril de 2002, uno de 2,53 GHz en mayo

    (que incluy un aumento del FSB de 400 a 533 MHz). En agosto vieron la luz losmodelos de 2,6 y 2,8 GHz, y en noviembre la versin de 3,06 GHz.

    El Procesador de 3,06 GHz soporta Hyper Threading, una tecnologa originalmente

    aparecida en los Xeon que permite al sistema operativo trabajar como si la mquinatuviese dos procesadores.

    En abril de 2003, Intel coloc en el mercado nuevas variantes, entre los 2,4 y 3,0 GHz,

    cuya principal diferencia era que todos ellos incluan la tecnologa Hyper-Threading y elFSB era de 800 MHz. Supuestamente esto era para competir con la lnea Hammer de

    AMD, pero de momento solo la serie Opteron sali al mercado, la cual no estaba

    destinada entonces a competir con los Pentium 4. Por otro lado, los AMD Athlon XP, a

    pesar de su FSB aumentado de 333 a 400 MHz y las velocidades ms altas no pudieron

    alcanzar a los nuevos Pentium 4 de 3,0 y 3,2 GHz. La versin final de los Northwood,

    de 3,4 GHz, fue introducida a principios de 2004.

    Extreme Edition o Edicin Extrema [editar]

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    18/58

    En septiembre de 2003, Intel anunci la edicin extrema (Extreme Edition) del Pentium

    4, apenas sobre una semana antes del lanzamiento del Athlon 64, y el Athlon 64 FX. Elmotivo del lanzamiento fue porque AMD alcanz en velocidad de nuevo a Intel, por

    ello fueron apodados Emergency Edition. El diseo era idntico al Pentium 4 (hasta elpunto de que funcionara en las mismas placas base), pero se diferenciaba por tener 2

    MB adicionales de Memoria cach L3. Comparti la misma tecnologa Gallatin del

    Xeon MP, aunque con un Socket 478 (a diferencia del Socket 603 de los Xeon MP) yposea un FSB de 800MHz, dos veces ms grande que el del Xeon MP. Una versinpara Socket LGA775 tambin fue producida.

    Mientras que Intel mantuvo que la Extreme Edition estaba apuntada a los jugadores devideojuegos, algunos tomaron esta nueva versin como un intento de desviar la atencin

    del lanzamiento de los Athlon 64. Otros criticaron a Intel por mezclar la lnea Xeon(especialmente orientada a servidores) con sus procesadores para usuarios individuales,

    pero poco se critic cuando AMD hizo lo mismo con el Athlon 64 FX.

    El efecto de la memoria adicional tuvo resultados variados. En las aplicaciones deofimtica, la demora ocasionada por el mayor tamao de la memoria cach haca que

    los Extreme Edition fuesen menos veloces que los Northwood. Sin embargo, el readonde se destac fue en la codificacin multimedia, que superaba con creces a la

    velocidad de los anteriores Pentium 4 y a toda la lnea de AMD.

    Prescott [editar]

    A principios de febrero de 2004, Intel introdujo una nueva versin de Pentium 4

    denominada 'Prescott'. Primero se utiliz en su manufactura un proceso de fabricacin

    de 90 nm y luego se cambi a 65nm; adems se hicieron significativos cambios en laarquitectura del microprocesador, por lo cual muchos pensaron que Intel lo

    promocionara como Pentium 5. A pesar de que un Prescott funcionando a la misma

    velocidad que un Northwood rinde menos, la renovada arquitectura del Prescott permitealcanzar mayores velocidades y el overclockes ms viable. El modelo de 3,8 GHz es el

    ms veloz de los que hasta ahora han entrado en el mercado.

    Su diferencia con los anteriores es que stos poseen 1Mb 2Mb de cach L2 y 16Kb decach L1 (el doble que los Northwood), Prevencin de Ejecucin, SpeedStep, C1E

    State, un Hyper-Threading mejorado, instrucciones SSE3, manejo de 64 bits, tambinrecibi unas mejoras en el sistema de prediccin de datos, y tiene un pipeline de 31

    etapas, que por cierto, fue unos de los mayores errores de dicho ncleo. Adems, losprimeros Prescott producan un 60% ms de calor que un Northwood a la misma

    velocidad, y por ese motivo muchos lo criticaron con dureza. Se experiment con uncambio en el tipo de zcalo (de Socket 478 a LGA 775) lo cual increment en un 10%

    el consumo de energa del microprocesador, pero al ser ms efectivo el sistema derefrigeracin de este zcalo, la temperatura final baj algunos grados. En posteriores

    revisiones del procesador los ingenieros de Intel esperaban reducir las temperaturas,

    pero esto nunca ocurri fuera salvo a bajas velocidades. El procesador genera unos 130

    W de calor, o TDP.

    Finalmente, los problemas trmicos fueron tan severos, que Intel decidi abandonar la

    arquitectura Prescott por completo, y los intentos de hacer correr por encima de los 4

    GHz fueron abandonados, como un gasto intil de recursos internos. Tambin lo

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    19/58

    concerniente a las crticas mostradas en casos extremos de llevar al procesador Prescott

    a los 5,2 GHz para emparejarlo al Athlon FX-55 que funcionaba a 2,6GHz (*).Considerando una fanfarronada de Intel el lanzamiento de la arquitectura Pentium 4

    diseada para operar a 10 GHz, esto puede ser visto como uno de los ms significativos,ciertamiente el ms pblico, dficit de ingeniera en la historia de Intel.

    Segn se dice el Pentium M es ahora la referencia interna para el equipo diseadores deIntel, y el desarrollo del P4 ha sido esencialmente abandonado. Hasta este punto el

    pequeo equipo de diseo Israel que produce el Pentium M, tiene ahora que tomar otro

    proyecto mucho ms grande.

    Por qu el fin de Prescott ha terminado en tal desastre? Puede ser atribuido a las

    polticas internas de Intel. El departamento de mercadeo quera siempre velocidades deprocesador ms altas, para diferenciar sus productos de AMD. Los procesadores se

    diseaban por las necesidades de mercadeo, en vez de las necesidades de la arquitectura.Fueron carreras construidas sobre el concepto de la velocidad del procesador, la

    terminacin del proyecto P4 finalmente vino y tuvo consecuencias para muchosmiembros del equipo de direccin de la divisin.

    Los Prescott con Socket LGA775 usan el nuevo sistema de puntaje, y estn clasificados

    en la serie 5XX. El ms rpido es el 570J, funcionando a 3,8 GHz. Los planes paramicroprocesadores de 4 o ms GHz fueron cancelados y se les dio prioridad a los

    proyectos para fabricar procesadores dobles; en gran medida debido a los problemas de

    consumo energa y produccin de calor de los modelos Prescott.

    El procesador 570J tambin fue el primero en introducir la tecnologa EDB, la cual esidntica a la ms temprana NX de AMD. El objetivo es prevenir la ejecucin de algunos

    tipos de cdigo maligno.

    Cedar Mill[editar]

    Est basado en el ncleo Prescott y nicamente se encuentra disponible en LGA775

    para Pentium 4 de 64 bits. Aunque la serie 5 para LGA775 era una conversin del

    socket 478, los nuevos ncleos Cedar Mill, estaban basados en el Prescott y posea las

    mismas instrucciones que ste y una nueva para procesar a 64 bits, excepto porque se

    calentaban bastante menos.

    Intel Core 2 Quad es una serie de procesadores de Intel con 4 ncleos, lanzados el 2 de

    Noviembre de 2006, asegurando ser un 65% ms rpidos que los Core 2 Duo

    disponibles en ese entonces. Para poder crear este procesador se tuvo que incluir 2ncleos Conroe bajo un mismo empaque y comunicarlos mediante el Bus del Sistema,

    para as totalizar 4 ncleos reales, a diferencia del AMD Phenom X4 que se jacta de ser

    un procesador monoltico.

    Inicialmente estos procesadores fueron producidos con el proceso de manufactura de 65

    nanmetros (ncleo Kentsfield), con frecuencias que van desde los 2.4 Ghz hasta los 3

    Ghz y con un FSB de entre 1066 y 1333 Mhz y una memoria cach L2 de 8 MB (2x4

    MB) Posteriormente, se redujo el proceso productivo a 45 nanmetros, creando el

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    20/58

    ncleo Yorkfield que, al igual que su antecesor, corresponde a 2 ncleos Wolfdale bajo

    el mismo empaque. Sus frecuencias van desde los 2.53 Ghz hasta los 3.2 Ghz, su FSBva desde los 1333 hasta los 1600 Mhz y su cach L2 es de 12 MB (2x6 MB). Como

    medida econmica el modelo Q9300 posee solamente 6 MB (2x3 MB) de cach L2 adiferencia de sus pares de mayor frecuencia.

    Aunque inicialmente el Core 2 Quad fue lanzado exclusivamente en los mercadosdesktop y server, debido principalmente a su alto consumo de energa (desde los 95Wen ese entonces). Con el paso al proceso productivo de 45 nanmetros y la introduccin

    del ncleo Penryn, Intel tiene planeado introducir un modelo Quad Core para el

    mercado mvil en conjunto con la plataforma mvil Centrino 2. El modelo, conocidocomo QX9300, tendra una frecuencia de 2.53 Ghz, un bus de 1066 Mhz y una cach L2

    de 12 MB (2x6 MB), con un consumo energtico de slo 45 W, menos de la mitad encomparacin a un modelo desktop tradicional.

    Modelos [editar]

    Tecnologia

    de

    fabricacion

    Nombre

    del

    modelo

    Frecuencia

    Front

    Side

    Bus

    Mult. CacheL1

    Cache L2 TDP Socket Fecha desalida

    65 nm

    Core 2

    Quad

    Q6600

    2,40 GHz1066

    MT/s9 x

    432

    kb

    8MB

    (2x4MB)

    105

    / 95

    W

    LGA

    77507/01/2007

    65nm

    Core2

    QuadQ(X)6700

    2,67 GHz

    1066

    MT/s 10 x

    232

    kb 8 Mb

    130

    /95W

    LGA

    775 14/11/2006

    65nm

    Core2

    Quad

    QX6800

    2,93 GHz1066

    MT/s11 x

    232

    kb8 Mb

    130

    W

    LGA

    77509/04/2007

    65nm

    Core2

    Quad

    QX6850

    3,00 GHz1333

    MT/s

    9 x232

    kb

    8 Mb130

    W

    LGA

    775

    16/06/2007

    45nm

    Core2

    Quad

    Q8200

    2.33 GHz1333

    MT/s7 x

    232

    kb4MB - W

    LGA

    775xx/xx/2008

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    21/58

    45nm

    Core2

    Quad

    Q9300

    2.50 GHz1333

    MT/s7.5 x

    232

    kb6MB

    95

    W

    LGA

    77510/03/2008

    45nm

    Core2

    Quad

    Q9400

    2,66 GHz1333

    MT/s8 x

    232

    kb12 Mb

    95

    W

    LGA

    77525/03/2008

    45nm

    Core2

    Quad

    Q9550

    2,83 GHz1333

    MT/s8.5 x

    232

    kb12 Mb

    95

    W

    LGA

    77525/03/2008

    45nmCore2Quad

    QX9650

    3,00 GHz1333

    MT/s9 x

    232

    kb12 Mb

    130

    W

    LGA

    77511/11/2007

    45nm

    Core2

    Quad

    QX9770

    3,20 GHz1600

    MT/s8 x

    232

    kb12 Mb

    136

    W

    LGA

    775Q1 2008

    50 nm

    Core2

    QuadQX9771

    3,40 GHz1600

    MT/s 9 x2*32

    kb 16 Mb136

    W

    LGA

    775 Q1 2009

    El AMD Quad Core es un microprocesadorcon tecnologa de cuatro ncleos diseadopor la empresa AMD (acrnimo Advanced Micro Devices Inc.). Constituye el primer

    procesador de esta empresa con dicha tecnologa. Saldr al mercado en los prximos

    meses. Estar disponible en las siguientes versiones:

    Barcelona [editar]

    Barcelona ser un procesador de 4 ncleos para servidores que rondar velocidades de

    reloj desde los 1,7Ghz hasta los 2Ghz. Con este procesador AMD renueva la lista de

    procesadores para servidores. Estar disponible para socket AM2.1

    Caractersticasdelprocesador

    y 512 Kb L2Cachey DDR2 10,7 Gb/s

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    22/58

    y 2Mb L3Cache

    Phenom [editar]

    Phenom es una versin de 4 ncleos (aunque tambin hay algunos Phenom de 2 y 3

    ncleos) para sobremesa que va dirigida a entusiastas y usuarios exigentes. Se pueden

    encontrar Phenom con ncleos Agena o Kuma. Pretende ser la competencia de los Core2 Duo y de los Quad 2 Cores, de Intel.

    Caractersticasdelprocesador

    y 2.4 - 2.6 GHz.

    y 125W TDP

    y 256KB Cach L1 (porncleo)

    y 2MB Cach L2 (porncleo)

    y 2MB Cach L3 (Compartida)

    y Socket 1207+ 1207.y

    y

    Intel Atom' es el nombre de una lnea de microprocesadoresx86 de Intel,anteriormente denominados Silverthorne/Diamondville. Estn diseados para un

    proceso de fabricacin de 45 nmCMOS y destinados a utilizarse en MobileInternet Devices (MID, por sus siglas en ingls), Ultra-porttiles, Telfonos

    inteligentes, y otros porttiles de baja potencia y aplicaciones. Intel anunci losnuevos procesadores el 2 de marzo de 2008.

    y Descripcin [editar]

    y Antes de su anuncio se especulaba con un procesador de Intel que compitiese

    con los Geode de AMD actualmente empleado en el proyecto OLPC. El 15 de

    octubre de 2007 Intel confirm que estaba trabajando en un nuevo procesador

    para PC Ultra-porttiles de nombre en clave Diamondville.

    y Silverthorne se vender bajo el nombre Centrino Atom (TM), mientras que

    Diamondville se vender como Atom (TM). Los procesadores Intel Atom

    (TM) son hasta el momento los que ofrecen un menor consumo de energa (0,6-

    2,5 W) y gracias a su proceso de fabricacin de 45 nm permite un diminuto

    tamao de 25 mm2, adems se confirm que incorporan el galardonado conjuntode instrucciones de sus predecesores Intel Core 2 Duo.

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    23/58

    Clasificacin De MemoriasOrganizando estos tipos de memoria conviene destacar tres categorassi las clasificamos en funcin de las operaciones que podemos realizarsobre ellas, es decir, memorias de slo lectura, memorias de sobre todolectura y memorias de lectura escritura.Memorias de slo lectura

    ROM : Se usan principalmente en microprogramacin de sistemas. Losfabricantes las suelen emplear cuando producen componentes deforma masiva.Es una memoria solamente de lectura es totalmente inalterable sin estamemoria la maquina no arrancara. La memoria principal es laconvencional que va de 0 a 640 kb. Cuando la mquina arrancacomienza a trabajar el disco y realiza un testeo, para lo cual necesitamemoria, esta memoria es la convencional (ROM) y est dentro delmother (en el bios). Apenas arranca utiliza 300 kb, sigue testeando yllega a mas o menos 540 kb donde se planta. A medida de quecomenzaron a haber soft con ms necesidadde memoria apareci lallamada memoria expandida que iba de 640 kb a 1024 kb. Una vez quese utilizaba toda la memoria convencional se utilizaba la expandida queutiliza la memoria RAM. A medida que pasa el tiempo los 1024 kb eranescasos y se creo la memoria extendida que va de 1024 kb a infinito quees la memoria RAM pura. PROM: (Programmable Read Only Memory): El proceso de escritura esel ctrico. Se puede grabar posteriormente a la fabricacin del chip, adiferencia de las anteriores que se graba durante la fabricacin. Permite

    una

    nica grabacin y es ms cara que la ROM.Es una memoria digital donde el valorde cada bit depende del estadode un fusible (o antifusible), que puede ser quemado una sola vez. Poresto la memoria puede ser programada (pueden ser escritos los datos)una sola vez a trav

    s de un dispositivo especial, un programadorPROM.

    Estas memorias son utilizadas para grabar datos permanentes encantidades menores a las ROMs, o cuando los datos deben cambiar enmuchos o todos los casos.Peque as PROM han venido utilizndose como generadores defunciones, normalmente en conjuncin con un multiplexor. A veces sepreferan a las ROM porque son bipolares, habitulamente Schottky,

    consiguiendo mayores velocidades. Una PROM com

    n se encuentracon todos los bits en valor 1 como valor por defecto de fbrica; elquemado de cada fusible, cambia el valordel correspondiente bit a 0.La programacin se realiza aplicando pulsos de altos voltajes que no seencuentran durante operaciones normales (12 a 21 voltios). El t rminoRead-only (slo lectura) se refiere a que, a diferencia de otras memorias,los datos no pueden ser cambiados (al menos por el usuario final).Memorias de sobre todo lectura

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    24/58

    EPROM (EPROM son las siglas de Erasable Programmable Read-OnlyMemory (ROM borrable programable). Es un tipo de chip de memoriaROM inventado por el ingeniero Dov Frohman que retiene los datoscuando la fuente de energa se apaga. En otras palabras, es no voltil.Est formada por celdas de FAMOS (Floating Gate Avalanche-Injection

    Metal-Oxide Semiconductor) o transistores de puerta flotante. Cada unode ellos viene de fbrica sin carga, por lo que es ledo como un 1 (poreso una EPROM sin grabar se lee como FF en todas sus celdas). Seprograman mediante un dispositivo electrnico que proporcionavoltajes superiores a los normalmente utilizados en los circuitoselectrnicos. Las celdas que reciben carga se leen entonces como un 0.Una vez programada, una EPROM se puede borrar solamente medianteexposicin a una fuerte luz ultravioleta. Esto es debido a que los fotonesde la luz excitan a los electrones de las celdas provocando que sedescarguen. Las EPROMs se reconocen fcilmente por una ventanatransparente en la parte alta del encapsulado, a trav s de la cual sepuede ver el chip de silicio y que admite la luz ultravioleta durante elborrado. EEPRO Mson las siglas de electrically-erasable programmable read-only memory (ROM programable y borrable el

    ctricamente), en espa

    ol

    o castellano se suele referir al hablar como E PROM y en ingl s E -Squared-PROM. Es un tipo de memoria ROM que puede serprogramado, borrado y reprogramado el

    ctricamente, a diferencia de

    la EPROM que ha de borrarse mediante rayos ul travioletas.Aunque una EEPROM puede ser leda un nmero ilimitado de veces, slopuede ser borrada y reprogramada entre 100.000 y 1.000.000 de veces.Estos dispositivos suelen comunicarse mediante protocolos como I C, SPI

    y Microwire. En otras ocasiones se integra dentro de ch

    ips comomicrocontroladores y DSPs para lograr una mayor rapidez. La memoriaflash es una forma avanzada de EEPROM creadas por Dr. Fujio Masuokamientras trabajaba para Toshiba in 1984 y fueron presentadas en laReunion de Aparatos Electrnicos de la IEEE de 1984. Intel vio elpotencial de la invencin y en 1988 lanzo el primer chip comercial deltipo NOR. MEMORIA FLASH: Est basada en las memorias EEPROM peropermite el borrado bloque a bloque y es ms barata y densa.La memoria flash es una forma evolucionada de la memoria EEPROMque permite que mltiples posiciones de memoria sean escritas o

    borradas en una misma operacin de programacin mediante impulsosel ctricos, frente a las anteriores que slo permite escribir o borrar unanica celda cada vez. Por ello, flash permite funcionar a velocidadesmuy superiores cuando los sistemas emplean lectura y escritura endiferentes puntos de esta memoria al mismo tiempo. Flash, como tipo deEEPROM que es, contiene un array de celdas con un transistorevolucionado con dos puertas en cada interseccin. Tradicionalmenteslo almacenan un bit de informacin. Las nuevas memorias flash,llamadas tambi n dispositivos de celdas multi-nivel, pueden almacenar

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    25/58

    ms de un bit por celda variando el nmero de electrones quealmacenan.Estas memorias estn basada en el transistor FAMOS (Floating GateAvalanche-Injection Metal Oxide Semiconductor) que es,esencialmente un transistor NMOS con un conductor (basado en unxido metlico) adicional entre la puerta de control (CG ControlGate) y los terminales fuente/drenador contenidos en otra puerta (FG Floating Gate) o bien que rodea a FG y es quien contiene los electronesque almacenan la informacin.o Memoria flashde tipo NOR: Cuando los electrones se encuentran enFG, modifican (prcticamente anulan) el campo el ctrico quegenerara CG en caso de estar activo.De esta forma, dependiendo de si la celda est a 1 a 0, el campoel ctrico de la celda existe o no. Entonces, cuando se lee la celdaponiendo un determinado voltaje en CG, la corriente el ctrica fluye ono en funcin del voltaje almacenado en la celda. Lapresencia/ausenciade corriente se detecta e interpreta como un 1 un0, reproduciendo as el dato almacenado. En los dispositivos de celdamulti-nivel, se detecta la intensidad de la corriente para controlar elnmero de electrones almacenados en FG e interpretarlosadecuadamente.Para programar una celda de tipo NOR (asignar un valordeterminado)se permite el paso de la corriente desde el terminal fuente al terminalsumidero, entonces se coloca en CG un voltaje alto para absorber loselectrones y retenerlos en el campo el

    ctrico que genera. Este proceso

    se llama hot-electron injection. Para borrar (poner a 1, el estadonatural del transistor) el contenido de una celda, expulsar estoselectrones, se emplea la t cnica de Fowler-Nordheim tunnelling, un

    proceso de tunelado mecnico cuntico. Esto es, aplicar un voltajeinverso bastante alto al empleado para atraer a los electrones,convirtiendo al transistor en una pistola de electrones que permite,abriendo el terminal sumidero, que los electrones abandonen el mismo.Este proceso es el que provoca el deterioro de las celdas, al aplicarsobre un conductor tan delgado un voltaje tan alto.Cabe destacar que las memorias flash estn subdividas en bloques (enocasiones l lamados sectores) y por lo tanto, para el borrado, se limpianbloques enteros para agilizar el proceso, ya que es la parte ms lentadel proceso. Por esta razn, las memorias flash son mucho ms rpidasque las EEPROM convencionales, ya que borran byte a byte. No

    obstante, para reescribir un dato es necesario limpiar el bloque primeropara reescribir su contenido despu s.o Memorias flash de tipo NAND: Basadas en puertas lgicas NANDfuncionan de forma ligeramente diferente: usan un tnel de inyeccinpara la escritura y para el borrado un tnel de soltado.Las memorias basadas en NAND tienen, adems de la evidente base enotro tipo de puertas, un coste bastante inferior, unas diez veces de msresistencia a las operaciones pero slo permiten acceso secuencial

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    26/58

    (ms orientado a dispositivos de almacenamiento masivo), frente a lasmemorias flash basadas en NOR que permiten lectura de accesoaleatorio. Sin embargo, han sido las NAND las que han permitido laexpansin de este tipo de memoria, ya que el mecanismo de borradoes ms sencillo (aunque tambi n se borre por bloques) lo que haproporcionado una base ms rentable para la creacin de dispositivosde tipo tarjeta de memoria.Comparacin de memorias flash basadas en NOR y NAND Paracomparar estos tipos de memoria se consideran los diferentes aspectosde las memorias tradicionalmente valorados. La densidad dealmacenamiento de los chips es actualmente bastante mayor en lasmemorias NAND. El coste de NOR es mucho mayor. El acceso NOR esaleatorio para lectura y orientado a bloques para su modificacin. Sinembargo, NAND ofrece tan solo acceso directo para los bloques ylectura secuencial dentro de los mismos. En la escritura de NORpodemos llegar a modificar un solo bit. Esto destaca con la limitadareprogramacin de las NAND que deben modificar bloques o palabrascompletas. La velocidadde lectura es muy superior en NOR (50100 ns)frente a NAND (10 s de la bsqueda de la pgina + 50 ns por byte). Lavelocidadde escritura para NOR es de 5 s por byte frente a 200 s porpgina en NAND. La velocidad de borrado para NOR es de 1 s porbloque de 64 KB frente a los 2 ms por bloque de 16 KB en NAND. Lafiabilidadde los dispositivos basados en NOR es realmente muy alta, esrelativamente inmune a la corrupcin de datos y tampoco tienebloques errneos frente a la escasa fiabilidadde los sistemas NAND querequieren correccin de datos y existe la posibilidad de que quedenbloques marcados como errneos e inservibles. En resumen, los sistemasbasados en NAND son ms baratos y rpidos pero carecen de una

    fiabilidad que los haga eficiente, lo que demuestra la necesidadimperiosa de un buen sistema de archivos. Dependiendo de qu sea loque se busque, merecer la pena decantarse por uno u otro tipo.Memorias de Lectura/Escritura (RAM)

    MEMORIA RAM o Memoria e acceso Aleatorio ( RandomAcces Memory )Esta memoria es como un escritorio al igual que los escritorios tienencajones donde ordenan la informacin, cuanto mas grande sea elescritorio (plano de apoyo) mas cajones voy a tenerde tal suerte que elmicro va a perder menos tiempo en buscar y ordenar la informacin

    La importancia de esta memoria es tan grande que si esta ausente laPC NO ARRANCA, Acta como si estuviera muerta no hay sonido nicursor en la pantalla ni luces que se enciendan o apaguen. Para quesirve: Almacena las instrucciones que debe ejecutar el micro en cadamomento Este es el lugar fsico donde debe trabajar el procesadorcuando abrimos un programa sus instrucciones se copianautomticamente en la memoria, y cuando cerremos el programa todose borrara ( volatizara ) Tambi n copia los trabajos que estamoshaciendo en ese programa En la Ram se copian programas que

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    27/58

    coordinan el funcionamiento de la Pc: La primera parte de la Ram estareservada para guardar las instrucciones de los dispositivos electrnicos.En este lugar no se puede guardar nada ya que lo utiliza el sistema parasaber como manejar los dispositivos. DRAM (Dynamic Random Access Memory): Los datos se almacenancomo en la carga de un condensador. Tiende a descargarse y, por lotanto, es necesario un proceso de refresco peridico. Son ms simples ybaratas que las SRAM.Este tipo de memoria se utilizan des los a os 80 hasta ahora en toda lascomputadoras Esta memoria tiene una desventaja hay que estimularla(Refresco) permanentemente porque se olvida de todo. Como seestimula: requiere un procesador que ordene el envi de cargasel ctricas, a este tipo de memorias se lo conoce como memoriaestticas Otras de las desventajas de esta memoria es que es lenta y laventaja es que es barata. Obviamente al tener estas desventajas se leincorporaron distintas tecnologas para mejorarlas. FPM DRAM. La ventaja de este memoria consiste en pedir permiso unasola vez u llevarse varios datos consecutivos esto comenz a usarseprincipios de os a os noventa y dio buenos resultados a estos mdulosse los denominaron SIMM FPM DRAM y pueden tener 30 o 72 pines y se lautiliza en las Pentium I lo que logro con esta tecnologa es agilizar elproceso de lectura, estas memorias ya no se utilizan mas. EDO DRAM Estas memorias aparecieron en el 95, y se hicieron muypopulares ya que estaban presentes en todas las Pentium I MMX y teniala posibilidadde localizar un dato mientras transfera otro de diferenciade las anteriores que mientras transfera un dato se bloqueaba. EstasEDO SIMM eran de 72 pines RDRAM. Es una memoria muy costosa y de compleja fabricacin y la

    utilizan procesador Pentim IV para arriba corre a velocidades de 800Mhz sus mdulos se denominan Rimm de 141 pines y con un anho de 16bits, para llenar un banco de memoria de 64 bits hay que instalar 4memorias

    SDRAM: Esta Memoria entro en el mercado en los a os 97, y mejoro lavelocidad siendo su ritmo de trabajo igual a la velocidadde Bus (FSB) esdecir que tienen la capacidad de trabajar a la misma velocidad demother al que se conectan.Estos mdulos de 168 Pines son conocidos como DIMM SDRAM PC 66 y100, 133, obviamente si instalo una de 133, en un motherde 100 va a

    funcionar a 100Mhz. DDR SDRAM: En este caso se consigui que pudiera realizar dostransferencia en una pulsacin o tic-tac de reloj, esta memoria pudealcanzar velocidades de 200 a 266Mhz, Tiene una ventaja mas trabajaen sincrona con el bus del mother si este acelera la memoria tambi npero tiene una desventaja son muy caras. Se conoce como DIMM DDRSDRAM PC 1600 Y PC 2100.

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    28/58

    SRAM (Static Random Access Memory): Los datos se almacenanformando biestables, por lo que no require refresco. Igual que DRAM esvoltil. Son ms rpidas que las DRAM y ms caras. MEMORIA CACH o SRAM: La memoria cach trabaja igual que lamemoria virtual, tenemos cach en el procesador, en los discos y en elmother y nos guarda direcciones de memoria.Si ejecutamos un programa en principio, lo cerramos y luego losvolvemos a ejecutar, la memoria cach nos guarda la ubicacin(direccin) en el disco, cuando lo ejecut, y lo que hicimos con elprograma. Es mucho ms rpida cuando ya usamos un programa

    Existen 3 tipos de memoria cach:Cache L1: Esta dividido en dos bloques uno contiene las instrucciones y

    otro los datos y cuando se habla de su capacidadde almacenamientose dice que es de 216 Kb .El cache L1 se encuentra dentro del interiordel procesador y funciona ala misma velocidad que el micro con capacidades que van desde 28hasta 264KbCache L2 interno y externo: La primeras memoria cach estabanubicadas en el mother luego se construyeron en el procesador, pero nodentro del dado del procesador por lo que es mas lento que el cachL1, mientras que el externo lo encontramos el mother. La computadorasque tienen las tres tecnologas de cach van a ser mas rpidas.Cache L3:Algunos micro soportan un nivel de cach mas el L3 que estalocalizado en el mother. ELAMD 6k-3 soporta este cach.

    Unidades De Entrada SalidaDispositivos de entradaSon todos los elementos que permiten la unin del usuario con la unidadde procesamiento central y la memoria.: Entre estos tenemos.Teclado, Mouse o Ratn y Joysticks, Escner o digitalizador deimgenes, Dispositivos pticos, Micrfonos.Teclado: Dispositivos de entrada que traducen los datos a una formaque la computadora pueda interpretar, para luego procesarlos yalmacenarlos, los hay de forma: Teclado alfanumrico y paraperfoverificacin:Mouse y Joysticks: Dispositivos que convierten el movimiento fsico en

    se ales elctricas binarias y que la misma sea repetida en el monitor.Escner o digitalizadorde imgenes: Estn concebidos para interpretarcaracteres, combinacin de caracteres, dibujos grficos escritos amano o en maquinas o impresoras y traducirlos al lenguaje que lacomputadora entiende.Dispositivos pticos: entre estos tenemos, Lectorde marcas o rastreadorde marca ptica, Digitalizadorde imgenes (scanner), Cmara digital:Digitalizadorde audio: entre estos tenemos, Micrfonos

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    29/58

    2. DISPOSITIVOS DE SALIDAEstos dispositivos permiten al usuario ver los resultados de los clculos ode las manipulaciones de datos de la computadora. El dispositivo desalida ms comn es el monitor, impresora, mdem.Monitor: sirve como dispositivo de salida para recibir mensajes del

    computador.Impresora: seguro Una impresora permite obtener una copia dura ofsica de cualquier informacin que pueda aparecer en pantalla. Haydos grupos bsicos que son: impresora de Impacto y no impacto o depgina.Mdem: , dispositivo que sirve para enlaza dos ordenadorestransformando las se ales digitales.

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    30/58

    1 2 MICROPROCESADORE a f r ad p r l l : r a, U dadAr a L a (ALU), P r d E rada y Sal da (B ), La U dadd r l(U ) y r l j q r za f a

    1

    2

    1 T

    ip

    De Buses

    s es

    se

    e

    e c

    es

    e

    e

    s c

    es

    e

    e

    c

    se

    s e

    e

    y

    es

    e

    s

    se

    Bus de Dat s

    Mueve l da entre l d p tiv del hardware de Entrada elteclad , el ratn, icrf no, etc.; de alida como la mpresora, elMonitor; y de Almacenamientocomoel Disco Duro, el Disqueteo la

    Memoria- lash.

    Estas transferencias que se dan a travs del Bus de Datos sonobernadas por varios dispositivos y mtodos, de los cuales el

    ontrolador P , ("Peripheral omponent nterconnect", nterconexin

    de componentes Perifricos), es uno de los principales. Su trabajoequivale, simplificandomucho el asunto, a una central de semforospara el trficoen lascalles deuna ciudad.

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    31/58

    Bus de di ecci es

    El Bus de Direcciones, por otra parte, est vinculado al bloque de ontrol de la PU para tomar y colocar datos en el Sub-sistema deMemoria durante la ejecucin de los procesos decmputo.

    Para el Bus de Direcciones, el "ancho de canal" explica asmismo lacantidad de ubicaciones o Direcciones diferentes que elmicroprocesador puede alcanzar. Esa cantidad deubicaciones resultadeelevarel a la potencia. " " porqueson dos lasseales binarias,los bits y ; y " potencia" porque las pistas del Bus de Direccionesson, enuninstante dado, unconjunto de

    bits.

    ossirve para calcularla capacidad dememoria enel PU.

    1 2 2 Regist s

    Los registros del procesadorseemplean para controlar instruccionesenejecucin, mane jar direccionamiento de memoria y proporcionarcapacidad aritmtica.Los registros son espacios fsicos dentro del microprocesador concapacidad de bits hasta bits dependiendo del microprocesadorque se emplee. Los registros son direccionables por medio de unavieta, queesuna direccin dememoria. Los bits, porconveniencia, senumeran de derecha a izquierda (

    ,

    ,

    .

    ,

    ,

    ,

    ),

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    32/58

    Los registros se dividen en:

    y Registros de segmento

    y Registros de apuntadores de instrucciones

    y Registros apuntadoresy Registros de propsitos generales

    y Registro ndice

    y Registro de bandera.

    Registros de segmento Un registro de segmento se utiliza para alinear en un limite de prrafo odicho de otra forma codifica la direccin de inicio de cada segmento ysu direccin en un registro de segmento supone cuatro bits 0 a suderecha. Un registro de segmento tiene 16 bits de longitud y facilita unrea de memoria para direccionamientos conocidos como el segmento

    actual.

    Los registros de segmento son:

    Registro CS El Sistema Operativo almacena la direccin inicial del segmentode cdigo de un programa en el registro CS. Esta direccin desegmento, mas un valor de desplazamiento en el registro deapuntado de instruccin (IP), indica la direccin de unainstruccin que es buscada para s ejecucin.Para propsito de programacin normal, no se necesitareferenciar el registro CS.

    Registro DS La direccin inicial de un segmento de datos de programa esalmacenada en el registro DS. En trminos sencillos, esta

    direccin, mas un valorde desplazamiento en una instruccin,genera una referencia a la localidadde un bytes especifico enel segmento de datos.

    Registro SS El registro permite la colocacin en memoria de una pila, paraalmacenamiento temporal de direcciones y datos.El Sistema Operativo almacena la direccin de inicio delsegmento de pila de un programa en el registro SS. Estadireccin de segmento, ms un valorde desplazamiento en elregistro del apuntadorde la pila (SP), indica la palabra actualen la pila que est siendo direccionada. Para propsitos deprogramacin normal, no se necesita referenciar el registro SS.

    Registro ES Algunas operaciones con cadenas de caracteres (datos decaracteres) utilizan el registro esta de segmento para manejar el

    direccionamiento de memoria. En este contexto, el registro ESesta asociado con el registro DI (ndice).Un programa que requiere el uso del registro ES puedeinicializarlo con una direccin apropiada.

    Registro FS yGS

    Son registros extra de segmento en los procesadores 80386yposteriores a estos procesadores.

    Registro Apuntador de instrucciones.(IP)

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    33/58

    El registro apuntador de instrucciones (IP) de 16 bits contiene eldesplazamiento de direccin de la siguiente instruccin que se ejecuta.El registro IP esta asociado con el registro CS en el sentido de que el IPindica la instruccin actual dentro del se gmento de cdigo que se estaejecutando actualmente.En el ejemplo siguiente, el registro CS contiene 25A4[0]H y el IP contiene

    412H. Para encontrar la siguiente instruccin que ser ejecutada elprocesados combina las direcciones en el CS y el IP as: Se gmento dedireccin en el registro CS: 25A40H Desplazamiento de direccin en elregistro IP: + 412H Direccin de la siguiente instruccin: 25E52H

    Registros apuntadores.Los registros apuntadores estn asociados con el registro SS y permiten

    al procesador accesardatos en el segmento de pila los registros .Tipos de apuntadores son dos:

    registro SP El apuntadorde pila IPde 16 bits esta asociado con el registro SSy proporciona un valor de desplazamiento que se refiere a la

    palabra actual que esta siend

    o procesad

    a en la pila. El ejemplosiguiente el registro SS contiene la direccin de segmento

    27B3[0]H y el SP el desplazamiento 312H Para encontrar lapalabra actual que esta siendo procesada en la pila elmicroprocesador combina las direcciones en el SS y el PP:Direccin de segmento en el registro SS: 27B30H Desplazamientoen el registro SP: + 312H Direccin en la Pila: 27E42H27B3[0]H 312H Direccin del segmento SS Desplazamiento del SP

    registro BP El registro BPde 16 bits facilita la referencia de parmetros, loscuales son datos y direcciones transmitidos va lapida.

    Registros de propsitos generales.Los registros de propsitos generales AX, BX, CX y DX son los caballos debatalla o las herramientas del sistema.Son los nicos en el sentido de que se puede direccionarlos como unapalabra o como una parte de un byte.El ultimo byte de la izquierda es la parte alta, y el ultimo byte de laderecha es la parte baja por ejemplo, el registro CX consta de unaparte CH (alta) y una parte CL (baja), y usted puede referirse acualquier parte por su nombre.

    RegistrosAX el acumulador principal, es utilizado para operaciones queimplican entrada/salida y la mayor parte de la aritmtica. Porejemplo, las instrucciones para multiplicar, dividir y traducirsuponen el uso del AX. Tambin, algunas operacionesgeneran cdigo ms eficientes s i se refiere al AX en lugardelos otros registros.

    Registro BX conocido como el registro base ya que es el nico registro depropsitos generales que pueden ser unos ndices paradireccionamiento indexado. Tambin es comn emplear al BXpara clculos.

    Registro CX conocido como el registro contador. Puede contener un valorpara controlar el nmero de veces que un ciclo se repite o unvalor para corrimiento de bits, hacia la derecha o hacia la

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    34/58

    izquierda. El CX tambin es usado para muchos clculos.Registro DX conocido como el registro de datos. Algunas operaciones de

    entrada/salida requieren su uso, y las operaciones demultiplicacin y divisin con cifras grandes suponen al DX y alAX trabajando juntos. Puede usar los registros de propsitospara suma y resta de cifras de 8, 16, 32 bits.

    Registro ndice.

    Los registros SI y DI estn disponibles para direccionamientos indexados ypara sumas y restas. Que son las operaciones de punta.

    Registro SI El registro ndice de 16 bits es requerido por algunas operacionescon cadenas (de caracteres). En este contexto, el SI estasociado con el registro DS. Los procesadores 80386 y posteriorespermiten el uso de un registro ampliado a 32 bits, el ESI.

    Registro DI El registro ndice destino tambin es requerido por algunasoperaciones con cadenas de caracteres. En este contexto, el Di

    est asociado con el registro ES. Los procesadores 80386 yposteriores permiten el uso de un registro ampliado a 32 bits, elEDI.

    Registro de bandera.Los registros de banderas sirven parar indicar el estado actual de lamaquina y el resultado del procesamiento,Cuando algunas instrucciones piden comparaciones o clculosaritmticos cambian el estado de las banderas. Las banderas estn enel registro de banderas en las siguientes posiciones: bits 15 14 13 12 11 109 8 7 6 5 4 3 2 1

    Las banderas ms comunes son las siguientes:OF (Over flow flag,desbordamiento).

    Indica el desbordamiento de un bit de orden alto (mas ala izquierda) despus de una operacin aritmtica

    DF (Direction flag,Direccion).

    Designa la direccin hacia la izquierda o hacia laderecha para mover o comparar cadenas decaracteres.

    IF (Interruption flag,Interrupcion)

    Indica que una interrupcin externa, como la entradadesde el teclado sea procesada o ignorada.

    TF (Trap flag,Trampa).

    Examina el efecto de una instruccin sobre los registros yla memoria. Los programas depuradores como DEBUG,activan esta bandera de manera que pueda avanzaren la ejecucin de una sola interrupcin a un tiempo.

    SF (Sign flag, Signo). Contiene el signo resultante de una operacinaritmtica (0=positivo y 1= neg ativo).ZF (Zero flag, Zero). Indica el resultado de una operacin aritmtica o de

    comparacin (0= resultado diferente de cero y1=resultado igual a cero).

    AF (Auxiliary carryflag, Acarreoauxiliar).

    Contiene un acarreo externo del bit 3 en un dato de 8bits, para aritmtica especializada

    PF (Parity flag,Paridad)

    Indica paridad par o imparde una operacin en datosde ocho bits de bajo orden (mas a la derecha).

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    35/58

    CF (Carry flag,Acarreo).

    Contiene el acarreo de orden ms alto (mas a laizquierda) despu s de una operacin aritmtica;tambin lleva el contenido del ltimo bit en unaoperacin de corrimiento o rotacin.

    Nada ms empezar toca hacer un acto de fuerza de voluntad, por renunciar a la mayor parte denuestra memoria RAM, funciones MMX, direccionamiento de 32 bits.. Lo primero que vamos aver es una descripcin de los registros del primer bicho de la familia, el 8086 (aunque un 80286es bsicamente idntico en este aspecto), pues Intel y los dems fabricantes han puestocuidado en que todos ellos se puedan comportar como l. Es un micro de 16 bits, y comohabrs adivinado sus registros son de 16 bits. Helos aqu:

    Registros de datos AX BX CX DX

    Punteros de pila SP BP

    Registros ndice DI SI

    Registros de segmento CS DS ES SS

    Registro de flags

    Los registros de datos, como su nombre indica, contienen generalmente datos. (S, lo s, noparecen gran cosa, pero es lo que hay) A veces se les llama "de propsito general", y la verdades que es un nombre ms apropiado, si bien un poco ms largo. Aunque tiene distinto nombrecada uno de ellos, cuentan bsicamente con la misma funcionalidad, con algunas excepciones.Determinadas operaciones -por ejemplo la multiplicacin- exigen que los operandos estn en

    registros especficos. En ese caso no quedarn ms narices que usar esos concretamente.

    AX es a menudo llamado acumulador, ms por motivos histricos que por otra cosa.BX se puede usar como registro base en algunos modos de direccionamiento, es decir,para apuntar a posiciones de memoria con l.CX es usado por algunas instrucciones como contador (en ciclos, rotaciones..)DX o registro de datos; a veces se usa junto con AX en esas instrucciones especialesmencionadas.

    Cada registro de estos est dividido a su vez en dos registros de 8 bits, que pueden ser ledoso escrito de manera independiente:

    AX = AH | AL BX = BH | BLCX = CH | CL DX = DH | DL

    Si AX contiene 00FFh, AH=00h (su parte alta) y AL=FFh (su parte baja); si lo incrementamosen 1, AX pasa a valer 0100h (lgicamente), y con ello AH=01h, AL=00h. Si en lugar deincrementar en 1 AX lo hacemos con AL (byte inferior), AH se quedar como estaba y AL serFFh+01h=00h, es decir, AX=0000h (vamos, que cuando se manipula una parte del registro la

    otra no se ve afectada en absoluto) Ah, por si alguno lo dudaba, H viene dehigh y L de low.

    Uno puede mover los datos de unos registros a otros con prcticamente total libertad. Tambinpodremos realizar operaciones sobre ellos, como sumar el contenido de BX y DX para guardarel resultado en DX, y cosas as. La primera restriccin al respecto (y bastante razonable) esque los operandos tendrn que ser del mismo tamao (no podremos sumar BX con DH, por

    ejemplo).

    Para explicar los registros que hacen referencia a memoria hay que contar brevemente qu esla segmentacin.

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    36/58

    Uno puede pensar que lo lgico y maravilloso para apuntar a una direccin de memoria escolocar dicha direccin en un registro, y ale, que apunte. Eso est muy bien para registrosgrandes pero da la casualidad de que con 16 bits tenemos 2^16=64k posiciones. Hombre, enaquellos tiempos estaba muy bien para segn qu cosas, y aqu tampoco vamos a manejarmucha ms memoria, pero tampoco es plan. La solucin por la que opt Intel fue usar dosregistros de 16 bits (cosa que seguramente ya imaginabas), pero no dispuestosconsecutivamente, como podra pensarse:

    Segmento:Desplazamiento

    :

    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    37/58

    datos... no as los de segmento, que tienen fuertes limitaciones. Cuando se diga "un registro"como operando de una instruccin, eso incluye en principio cualquier registro menos los de

    segmento.

    El par CS:IP indica la direccin de memoria donde est la instruccin que se ejecuta. Los

    nombres vienen de Code Segment e Instruction Pointer. A esta parejita slo la modifican lasinstrucciones de salto, as que podemos olvidarnos -un poco- de ella. Cada vez que se ejecuta

    una instruccin, el contador IP se incrementa para apuntar al cdigo de la operacin siguiente;las instrucciones de salto cargan CS:IP con la direccin adonde queremos saltar, para que se

    ejecute el cdigo a partir de ah.

    SS:SP apuntan a la pila. Como en todo micro que se precie, tenemos una pila adonde echarlos valores de los registros que queremos preservar para luego, las direcciones de retorno delas subrutinas.. La pila crece hacia abajo, es decir, cuando metemos algo en la pila el punterode pila se decrementa, y cuando lo sacamos se incrementa. Siempre se meten valores de 16bits. Significan Stack Segment y Stack Pointer, claro. Por lo general SS no se toca, y SP quizpero poquito, ya que hay instrucciones especficas para manejar la pila que alteran SPindirectamente. Digamos que uno dice "tiro esto a la pila" o "saco lo primero que haya en la pilay lo meto aqu" y el micro modifica SP en consecuencia. BP es un puntero Base, para indicartambin desplazamiento, que se usa en algunos modos de direccionamiento y especialmente

    cuando se manejan subrutinas. La pila se estudiar en mayor profundidad en el tema VI.

    DS y ES son registros de segmento adicionales, el primero llamado de datos (Data) y elsegundo Extra. Con ellos apuntaremos a los segmentos donde tengamos nuestros datos (yaque del cdigo se encarga CS), esto es, nuestras variables. Estos los manipularemos muchoms que los anteriores cuando programemos en modo real.

    DI y SI son registros ndice, es decir, sirven para indicar el offset dentro de un segmento.Acabars harto de tanto usarlos. En las instrucciones de cadena DI se asocia por defecto a DS,y SI a ES.

    Aunque el sistema de segmentacin pueda parecer muy engorroso (bueno, es que a este nivelrealmente lo es, y mucho) en realidad es vital. El modo protegido del 386+ (386+ por "386 ysuperiores") emplea segmentacin, pero aprovechando 32 bits. En entornos multitarea hay queestructurar cada programa con su(s) bloque(s) de cdigo y de memoria, cada uno con su nivelde acceso (por ejemplo si ests guarreando con la memoria te interesa que slo enredes con lade tu programa, para no sobreescribir otros procesos en curso por accidente, o parte delsistema operativo incluso); lo que sucede es que ahora es una mierda porque estasegmentacin es muy limitada. Sirva esto para evitar la cantinela segmentacin=mala que lepuede haber pasado a uno por la cabeza a estas alturas de pelcula. Tras este pequeo

    parntesis, sigamos.

    El registro de flags est formado por varios bits cada uno con significado propio, que sonmodificados por las operaciones que realizamos:

    Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

    Flag -- -- -- -- OF DF IF TF SF ZF -- AF -- PF -- CF

    Aunque es un registro de 16 bits slo algunos de ellos tienen significado. Los otros adquierenvalores indeterminados, y se dice que son bits reservados; un programa no debe tocarlos, puesaunque un equipo dado puede que no los use, otros micros podran manipularlos internamente,

    con resultados impredecibles.

    y CF Carry Flag o indicador de acarreo. Normalmente indica si "nos llevamos algo"despues de haber sumado o restado.

    y OF Overflow Flag o indicador de desbordamiento. Si despus de una operacin elresultado no cabe en el tamao del registro, se pone a 1.

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    38/58

    y ZF Zero Flag o indicador de cero. Si el resultado da 0 se pone a 1.

    y SFSign Flag o indicador de signo. Si el resultado es negativo se pone a 1.

    y PFParity Flag o indicador de paridad. Con algunas operaciones lgicas o aritmticasse pone a 1 si el resultado es par.

    y AF Auxiliary Flag o indicador auxiliar. Se usa para operaciones BCD (si es que stasvalen para algo)

    y DF Direction Flag o indicador de direccin. Se usa en operaciones llamadas "de

    cadena", indicando el sentido (ascendente o descendente) en que se recorre lamemoria. (Este flag es ms divertido de lo que parece.)

    y IF Interrupt Flag o indicador de interrupciones. Cuando se pone a 1 se permiten lasinterrupciones, a 0 se ignoran; se dice que se enmascaran. Hay no obstante algunasmuy especiales que pasan del flag; por ejemplo, si arrancas (fsicamente, me refiero;coger con la mano y zs!) una tarjeta de RAM con el trasto encendido, la interrupcinque salta -alerta roja, inmersin, inmersin, auuuuu- pasa de este flag olmpicamente(algo as no se puede pasar por alto bajo ninguna circunstancia).

    y TF Trap Flag o indicador de trampa (para ejecucin paso a paso, como en losdepuradores; podemos olvidarnos de l)

    No conviene aturullarse demasiado a cuenta de los flags, pues a medida que se vayan viendolas instrucciones que los usen se irn comentando con ms calma. Resumen: es un registroque contiene 1) indicadores de los resultados de algunas operaciones y 2) modificadores del

    comportamiento del procesador.

    MicroprocesadorModos

    Direccionamiento

    Se llama "modo de direccionamiento" a una forma de especificarle una direccin al micro paraque acceda a algn dato, como cuando hemos dicho MOV DX,[ES:0]. Decirle al procesadordirectamente la direccin, en este caso offset 0, es efectivamente un modo dedireccionamiento, aunque no demasiado flexible, porque debemos saber la posicin exacta deldato en el momento de hacer el programa. Veamos todos los modos de direccionamiento quepermite este micro, sin ms que poner el offset dentro de []:

    Nombre Offset Segmento por defecto

    Absoluto Valor inmediato DS

    Indirecto con base BX+x DS

    BP+x SS

    Indirecto con ndice DI+x DS

    SI+x DS

    Ind. con base e ndice BX+DI+x DS

    BX+SI+x DS

    BP+DI+x SS

    BP+SI+x SS

    Por x queremos decir un nmero en complemento a dos de 8 o 16 bits, es decir, loscomprendidos entre -128 y 127 o -32768 y 32767.

  • 8/8/2019 unidad_1_lenguaje_ensamblador

    39/58

    Supongamos que tenemos una cadena de caracteres en el segmento indicado por ES, offset100h, y queremos mover un carcter cuya posicin viene indicada por el registro BP, a AL. Eloffset de