programacion de sistemas i

Upload: christian-rodriguez

Post on 13-Feb-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/23/2019 Programacion de Sistemas I

    1/89

    Programacin deSistemas

    M. En C. Benjamn Iglesias Corts

    Primera Parte

  • 7/23/2019 Programacion de Sistemas I

    2/89

    Introduccin al lenguaje Ensamblador

    Los circuitos microprogramables son sistemas digitales, lo quesignifica que trabajan con dos nicos niveles de tensin. Dichosniveles, por abstraccin, se simbolizan como 0 (0 volts) y 1 (5 volts)El lenguaje de mquina slo utiliza dichos signos. Esto permite el

    empleo de las teoras del lgebra booleana y del sistema binarioen el diseo de este tipo de circuitos y en su programacin.

    Claude Elwood Shannon , en su Analysis of Relay and Switching Circuits , y con sus experiencias en redes de conmutacin, sent lasbases para la aplicacin del lgebra de Boole a las redes de

    conmutacin. Una red de conmutacin es un circuito de interruptores elctricosque al cumplir ciertas combinaciones booleanas con las variablesde entrada, define el estado de la salida. Este concepto es el ncleode las compuertas lgicas, las cuales son, por su parte, los ladrilloscon que se construyen sistemas lgicos cada vez ms complejos.

  • 7/23/2019 Programacion de Sistemas I

    3/89

    Shannon utilizaba el rel como dispositivo fsico de conmutacin ensus redes. El rel, a igual que una lmpara elctrica, posee dosestados: 1 0, esto es, est activado, encendida, o estdesactivado, apagada.

    http://es.wikipedia.org/wiki/Imagen:Rele_2.jpghttp://es.wikipedia.org/wiki/Imagen:Rele_2.jpg
  • 7/23/2019 Programacion de Sistemas I

    4/89

    Mark 1 comenz a operar en 1944, siendo en cierta forma una materializacin

    de las concepciones de Babbage . Esta mquina funcionaba con miles de relselectromecnicos, era gigantesca y consuma grandes cantidades de energa.

  • 7/23/2019 Programacion de Sistemas I

    5/89

    El desarrollo tecnolgico ha permitido evolucionar desde las redesde rels electromagnticos de Shannon a circuitos con tubos devaco, luego a redes transistorizadas, hasta llegar a los modernoscircuitos integrados cuyas cspide lo forman los circuitosmicroprogramados.

  • 7/23/2019 Programacion de Sistemas I

    6/89

    Primer transistor 1948

  • 7/23/2019 Programacion de Sistemas I

    7/89

    En lugar de representar a los operadores lgicos con tecnologa RTL (resistor transistor Logic) se utiliza esta simbologa.

  • 7/23/2019 Programacion de Sistemas I

    8/89

    Por medio de las compuertas NAND o NOR es posible construir a las compuertas NOT, AND y OR

  • 7/23/2019 Programacion de Sistemas I

    9/89

    Ejemplos prcticos

    La compuerta NAND con un 0en cada entrada. La salida esta en "1".La compuerta NAND con un 1

    en cada entrada. La salida esta en "0".

  • 7/23/2019 Programacion de Sistemas I

    10/89

    http://bp2.blogger.com/_js6wgtUcfdQ/RzdSZbCIPhI/AAAAAAAAA0o/vXV5APo6yh0/s1600-h/7400.jpghttp://bp2.blogger.com/_js6wgtUcfdQ/RzdSZbCIPhI/AAAAAAAAA0o/vXV5APo6yh0/s1600-h/7400.jpghttp://bp1.blogger.com/_js6wgtUcfdQ/R2Q9Hf0aRlI/AAAAAAAABM4/OCYLCyax0Ik/s1600-h/interior_IC.gifhttp://bp1.blogger.com/_js6wgtUcfdQ/R2Q9Hf0aRlI/AAAAAAAABM4/OCYLCyax0Ik/s1600-h/interior_IC.gif
  • 7/23/2019 Programacion de Sistemas I

    11/89

    Representacin de una Memoria de 4X3 (4 palabras de 3 bits)

  • 7/23/2019 Programacion de Sistemas I

    12/89

    Implementacin de una celda de memoria con compuertas NAND y NOT

  • 7/23/2019 Programacion de Sistemas I

    13/89

    Sistema bsico de una computadora

  • 7/23/2019 Programacion de Sistemas I

    14/89

    Historia del Sistema Operativo MS-DOS (1981)

    El sistema operativo DOS (del ingls Disk Operating System) tiene sus orgenes en el CP/M . El CP/Mconstitua, antes de los 80, el sistema base estndar para los equipos basados en procesadores8080 y Z80 de 8 bits que precedieron a las PC que conocemos actualmente. La propietaria de estesoftware era la empresa norteamericana Digital Research y uno de los mayores fabricantes decomputadoras era IBM (International Business Machines). La tecnologa fue avanzando y pronto

    llegaron los micros de 16 bit s como el 8088 precursores de las PC-XT y ms tarde de las PC-AT . Enesos momentos Digital Research, por ser dominadora del mercado, era la firma mejor posicionadapara proveer a IBM de un sistema operativo para estas nuevas tecnologas que despuntaban. Sinembargo, cuenta la historia, que hubo un cierto desencuentro al momento de concretar un acuerdoentre ellos y en medio del desconcierto IBM design como proveedor a Bill Gates , dueo de unadesconocida empresa de software llamada Microsoft .

    Microsoft, con cierto apuro y dificultades iniciales, en 1981 creaMS-DOS 1.10 a partir de un embrinadquirido a Seatle Computing . Este sistema tomaba muchos de los aspectos del CP/M y losadaptaba para que pudieran ser ejecutados en micros 8088. Junto con las nuevas PC, el MS-DOStuvo una difusin muy destacable. Para desgracia de Kildall , presidente de Digital Research. Millonesde equipos con el sistema operativo de Microsoft se vendieron dando origen a la monumentalempresa que hoy conocemos..

  • 7/23/2019 Programacion de Sistemas I

    15/89

    A partir de entonces y conjuntamente con el avance tecnolgico fueron saliendo nuevas versiones delMS-DOS. Una de las versiones, quizs ms famosa, fue el MS-DOS 3.3 que incorporaba muchoscomandos nuevos y una cierta facilidad de uso que lo haca atractivo al usuario final. Sin embargo,Digital Research no se qued en la pena y pronto volvi al mercado de los sistemas operativos con elDR-DOS (Digital Research Disk Operating System) pero no tuvo el impacto esperado.

    Un punto y aparte que merece destacarse fue la verdadera guerra desatada en la dcada del 90 yaen pleno apogeo de las PC-Compatibles. En medio del afn por ganarse a los usuarios muchasempresas desarrollaron nuevos y mejores sistemas operativos. La primer amenaza de copamientoestuvo signada por la aparicin del OS/2 que se presentaba como un sistema operativo tpico paraesa poca dadas sus innovadoras caractersticas con un entorno grfico agradable y nuevasfuncionalidades, pero nunca lleg a convertirse en un estndar. La segunda amenaza fue Unix , unsistema operativo multiusuario potente que tampoco satisfizo a las masas por ser un tanto difcil deutilizar ya que difera mucho de sus predecesores. En ese mismo entorno competitivo la cada vezms creciente Microsoft que dominaba el mercado disputaba un duelo con Digital Reseach quienofreca un sistema similar pero con las mejoras que todo el mundo quera. Est dems decir quiengan la batalla. Microsoft present a fines de los '90 en la exposicin COMDEX en las vegas suflamante MS-DOS 5 que termin por opacar a los dems y a la postre, con sus versiones 6 y 6.2convirti al MS-DOS en el sistema operativo ms utilizado en el mundo y a Bill Gates en un famosomultimillonario.

  • 7/23/2019 Programacion de Sistemas I

    16/89

    Evolucin del MS-DOSAgosto de 1981. Presentacin del MS-DOS 1.0 original.Marzo de 1982. MS-DOS 1.25, aadiendo soporte para disquetes de doble cara. Las funcionesdel DOS (en INT 21h) slo llegaban hasta la 1Fh (la 30h no estaba implementada!).Marzo de 1983. MS-DOS 2.0 introducido con el XT: reescritura del ncleo en C; mejoras en elsistema de ficheros (FAT, subdirectorios,...); separacin de los controladores de dispositivo delsistema.Mayo de 1983. MS-DOS 2.01: soporte de juegos de caracteres internacionales.

    Octubre de 1983. MS-DOS 2.11: eliminacin de errores.Agosto de 1984. MS-DOS 3.0: Aade soporte para disquetes de 1.2M y discos duros de 20 Mb.No sera necesaria una nueva versin del DOS para cada nuevo formato de disco si elcontrolador integrado para A:, B: y C: lo hubieran hecho flexible algn da.Marzo de 1985. MS-DOS 3.1: Soporte para redes locales.Diciembre de 1985. MS-DOS 3.2: Soporte para disquetes de 720K (3-DD).Abril de 1987. MS-DOS 3.3: Soporte para disquetes de 1.44M (3-HD). Permite particionessecundarias en los discos duros. Soporte internacional: pginas de cdigos.

    Julio de 1988. MS-DOS 4.0: Soporte para discos duros de ms de 32 Mb (cambio radical internoque forz la reescritura de muchos programas de utilidad) hasta 2 Gb. Controlador de memoriaEMM386. Precipitada salida al mercado.Noviembre de 1988. MS-DOS 4.01: Corrige las erratas de la 4.0.Junio de 1991. MS-DOS 5.0: Soporte para memoria superior. La competencia de DigitalResearch, que irrumpe en el mundo del DOS una dcada ms tarde (con DR-DOS), obliga aMicrosoft a incluir ayuda online y a ocuparse un poco ms de los usuarios.Abril de 1993 . MS-DOS 6.0 Incluye la utilidad de compresin de discos Double Space.Junio 1994 . MS-DOS 6.22 incluye el DriveSpice en sustitucin de Double Space.Agosto de 1996 . Microsoft libera Windows 95 con el DOS 7.0 como aadido.

  • 7/23/2019 Programacion de Sistemas I

    17/89

    Las versiones siguientes no aaden ninguna caracterstica interna nuevadestacable (aunque a nivel de interfaz con el usuario y utilidades incluidashaya ms cambios). El MS-DOS 7.0 sobre el que corre Windows 95 s tienebastantes retoques internos, pero no es frecuente su uso aislado oindependiente de Windows 95.

    Digital Research trabaj arduamente para lograr una compatibilidad totalcon MS-DOS, y finalmente consigui lanzar al mercado su sistemaDR-DOS (Digital Research Disk Operating System). Las versiones 5.0 y 6.0de este sistema, as como el Novell DOS 7.0 (cuando cedi los derechos aNovell) se pueden considerar prcticamente 100% compatibles. El efectodel DR-DOS fue positivo, al forzar a Microsoft a mejorar la interaccin delsistema operativo con los usuarios (documentacin en lnea, programas deutilidad, ciertos detalles...); por poner un ejemplo, hasta el MS-DOS 6.2 hasido necesario intercambiar tres veces el disquete origen y el destinodurante la copia de un disquete normal de 1.44M. En cierto modo, laprepotencia de Microsoft con el MS-DOS a principios de los noventa erasimilar a la de Digital Research a principios de los 80s con el CP/M.

  • 7/23/2019 Programacion de Sistemas I

    18/89

    Ventana del MS-DOS en una PC

    Diskette de arranque del MS-DOS

  • 7/23/2019 Programacion de Sistemas I

    19/89

    Investigar La BIOS

    El Sector Cero o Boot Sector Proceso de arranque de una computadora oBootStrap

  • 7/23/2019 Programacion de Sistemas I

    20/89

    Evolucin de Windows

  • 7/23/2019 Programacion de Sistemas I

    21/89

    Microsoft Windows MS-DOS Versin 1.01

  • 7/23/2019 Programacion de Sistemas I

    22/89

    Microsoft Windows MS-DOS Versin 2.03

  • 7/23/2019 Programacion de Sistemas I

    23/89

    Windows NT 3.1

  • 7/23/2019 Programacion de Sistemas I

    24/89

    Windows 3.11

    Fue la evolucin de Windows 3.1 e introduce el concepto de trabajo en grupo para ser utilizado en redes.

  • 7/23/2019 Programacion de Sistemas I

    25/89

    Windows 95Microsoft adopt "Windows 95" como nombre de producto para Chicago cuando fue publicado en Agosto de 1995.

  • 7/23/2019 Programacion de Sistemas I

    26/89

    Windows 98El 25 de Junio de 1998 lleg Windows 98.

  • 7/23/2019 Programacion de Sistemas I

    27/89

    Windows Millenium Edition (ME)En el ao 2000 Microsoft introdujo Windows ME que era una copia de Windows 98 con ms aplicaciones aadidas.

  • 7/23/2019 Programacion de Sistemas I

    28/89

    Windows NT Workstation v3.51

  • 7/23/2019 Programacion de Sistemas I

    29/89

  • 7/23/2019 Programacion de Sistemas I

    30/89

    Windows 2000En el ao 2000 tambin vio la luz Windows 2000, una nueva versin de Windows NT muy til para los administradoresde sistemas y con una gran cantidad de servicios de red y lo ms importante: admita dispositivos Plug&Play que venan

    siendo un problema con Windows NT.

  • 7/23/2019 Programacion de Sistemas I

    31/89

    Windows XP (eXPerience)En el ao 2001 surgi Windows XP. La unin de Windows NT/2000 y la familia de Windows 9.x se alcanz

    con Windows XP en su versin Home y Professional. Windows XP usa el ncleo de Windows NT.

  • 7/23/2019 Programacion de Sistemas I

    32/89

    Windows Vista

    El 30 de Enero del ao 2007 Windows Vista apareci en el mercado

  • 7/23/2019 Programacion de Sistemas I

    33/89

    Windows 7 A diferencia de su predecesor, Windows 7 es una actualizacin incremental del ncleo NT 6.0, esto con la metade mantener cierto grado de compatibilidad con aplicaciones y hardware en los que su antecesor Windows Vistaya era compatible

  • 7/23/2019 Programacion de Sistemas I

    34/89

  • 7/23/2019 Programacion de Sistemas I

    35/89

    El Microprocesador El microprocesador es un circuito integrado que contiene todos los elementos

    necesarios para conformar una "unidad central de procesamiento" UCP , tambines conocido como CPU (por sus siglas en ingls: Central Process Unit), Es elencargado de proporcionar las operaciones de clculo.

    Los microprocesadores tambin se utilizan en otros sistemas informticosavanzados, como Celulares, NoteBook, impresoras, automviles o aviones.

    En la actualidad ste componente electrnico est compuesto por millones detransistores integrados en una misma placa de silicio.

  • 7/23/2019 Programacion de Sistemas I

    36/89

    Un poco de Historia En 1969, la empresa japonesa Busicom solicit a Intel que le fabricase un

    microchip para un modelo nuevo de calculadora de escritorio, con cintaimpresora, que deseaba producir masivamente.

    Marcial Edward "Ted" Hoff Jr. se proyect a disear un microprocesador decapacidades o prestaciones ms completas que las solicitadas por laempresa japonesa, realizando las mismas funciones y con la posibilidad deotros usos futuros.

    En abril de 1970 Federico Faggin se sum al equipo de desarrollo de Intel.

    A mediados de marzo de 1971, Intel envi los chips a Busicom, dondeverificaron que la calculadora funcionaba perfectamente.

    Luego de sus predecesores (otros intentos), Intel fabric los modelos 4001,4002, 4003 (que eran circuitos de apoyo) y 4004 (el microprocesador).

    Cada calculadora necesitaba un 4004 , dos 4002 , cuatro 4001 y tres 4003 .

  • 7/23/2019 Programacion de Sistemas I

    37/89

    Tcnicamente, el Intel 4004 es un microprocesador con un bus de datos de4 bits, capaz de direccionar 32768 bits de ROM y 5120 bits de RAM. Puededireccionar 16 lneas de entrada (de 4 bits) y 16 de salida (de 4 bits).Contiene alrededor de 2300 transistores MOS de canal P de 10 micrones.El ciclo de instruccin es de 10.8 microsegundos.

    Intel vendi el microchip a la empresa japonesa, pero despus le recomprlos derechos de propiedad intelectual por US $ 60 000, pues se dio cuentaque si bien el chip 4004 haba sido fabricado para operar como cerebro deuna calculadora, su versatilidad como microprocesador de uso general lepermita ser tan poderoso como la propia computadora ENIAC.

    Finalmente, el 15 de noviembre de 1971, la familia 4000, luego conocidacomo MCS-4 (Micro Computer System 4-bit ) fue finalmente introducida enel mercado.

  • 7/23/2019 Programacion de Sistemas I

    38/89

    Curiosidades del 4004

    Federico Faggin coloco sus inciales en el centro delsustrato de la primera versin del Intel 4004. Enversiones posteriores, llevadas a cabo algunosmeses ms tarde, el rediseo de la zona del chipque contena la firma hizo que las FF fuesen aparar para siempre al borde del integrado.

    El Intel 4004 es un articulo muy buscado por loscoleccionistas. Los de mayor valor (unos US $400 eneBay) son los de color oro y blanco, con los llamadostrazos grises en la zona blanca. Le siguen los quecarecen de esas marcas (US $200 a US $300).

    Algunos modelos carecen del cdigo de fecha en laparte inferior, lo que los hace ligeramente msvaliosos.

  • 7/23/2019 Programacion de Sistemas I

    39/89

    La primera PC

    El IBM PC tena un chip Intel 8088 a 4.77 MHz, 64 KB de RAMexpandibles a 256 y 4 KB de ROM. Tena monitor monocromtico,teclado y drive para discos de 5.25 pulgadas de 160 KB decapacidad. El precio bsico era de 3000 dlares. Con un monitor acolor y una tarjeta grfica, el precio suba a 4,500 dlares. IBMesperaba vender 241,683 unidades en cinco aos: super esa cifraen el primer mes.

  • 7/23/2019 Programacion de Sistemas I

    40/89

    * 1971: Intel 4004. Primer microprocesador comercial. Sali al mercado el 15 de noviembre de 1971.* 1972: Intel 8008* 1974: Intel 8080, Intel 8085* 1975: Signetics 2650, MOS 6502, Motorola 6800* 1976: Zilog Z80* 1978: Intel 8086, Motorola 68000* 1979: Intel 8088* 1982: Intel 80286, Motorola 68020* 1985: Intel 80386, Motorola 68020, AMD80386* 1987: Motorola 68030* 1989: Intel 80486, Motorola 68040, AMD80486* 1993: Intel Pentium, Motorola 68060, AMD K5, MIPS R10000* 1995: Intel Pentium Pro* 1997: Intel Pentium II, AMD K6, PowerPC G3, MIPS R120007* 1999: Intel Pentium III, AMD K6-2, PowerPC G4* 2000: Intel Pentium 4, Intel Itanium 2, AMD Athlon XP, AMD Duron, MIPS R14000* 2003: PowerPC G5* 2004: Intel Pentium M* 2005: Intel Pentium D, Intel Extreme Edition con hyper threading, Intel Core Duo, AMD Athlon 64, AMD

    Athlon 64 X2, AMD Sempron 128.* 2006: Intel Core 2 Duo, Intel Core 2 Extreme, AMD Athlon FX* 2007: Intel Core 2 Quad, AMD Quad Core, AMD Quad FX* 2008: Procesadores Intel con ms de 8 ncleos.

  • 7/23/2019 Programacion de Sistemas I

    41/89

    Primer circuito integrado funcionando en germanio

    Presentado por primera vez por el Premio Nobel de fsica Jack Kilby en Texas, en el ao 1958. ste prototipo tenaun transistor atado a dos alambres y a un condensador. El germanio, as mismo estaba asegurado a un fragmentode vidrio, dividindolo en 3 resistencias por las lengetas inferiores. Demostrando as, que los tres tipos decomponentes podran trabajar en la misma superficie de germanio.

    Kilby ofreci una manera de mejorar el funcionamiento y de bajar el coste de los dispositivos electrnicos.

    Tom Engibous, presidente de Texas Instruments (la empresa para la que trabaj Kilby durante muchos aos) hadicho que el trabajo del fsico estadounidense es comparable al de otros cientficos que "transformaron al mundo"como Thomas Edison, Henry Ford y los hermanos Wright.

  • 7/23/2019 Programacion de Sistemas I

    42/89

    1961 Robert Noyce (Cofundador de FairchildSemiconductor , y luego cofundador de Intel ) viouna manera de combinar componentes electrnicosmltiples, incluyendo los transistores, en una piezanica del silicio.

    Se anuncia este chip de cuatro transistores(cuadrantes en el centro). Las lneas blancas sonlos rastros del metal, que conectan los transistorescon los dos resistencia abajo (barra azul horizontal).

    La computadora de la direccin de Apolo utilizste chip.

  • 7/23/2019 Programacion de Sistemas I

    43/89

    4004

    Fecha de presentacin: 15-11-1971Velocidad de reloj: 108 KHzAncho de bus: 4 bitsNmero de transistores: 2 300Memoria direccionable :640 byteMemoria virtual :---------Breve descripcin : Primer chip con manipulacinaritmtica. Constaba de 46 comandos

  • 7/23/2019 Programacion de Sistemas I

    44/89

    8008

    Fecha de presentacin: 1/4/72Velocidad de reloj: 108 KHzAncho de bus: 8 bitsNmero de transistores: 3500Memoria direccionable :16 kbMemoria virtual :---------Breve descripcin : Manipulacin Datos/texto

  • 7/23/2019 Programacion de Sistemas I

    45/89

    8080

    Fecha de presentacin: 1/4/74

    Velocidad de reloj: 2 Mhz.Ancho de bus: 8 bitsNmero de transistores: 6000Memoria direccionable :64 KBMemoria virtual :---------Breve descripcin : 10 veces las (6micras) prestaciones del 8008

  • 7/23/2019 Programacion de Sistemas I

    46/89

    8086

    Fecha de presentacin: 8/6/78Velocidad de reloj: 5, 8 y 10 Mhz.Ancho de bus: 16 bitsNmero de transistores: 29 000Memoria direccionable :1 MBMemoria virtual :---------Breve descripcin : 10 veces las (6micras) prestaciones del 8080

  • 7/23/2019 Programacion de Sistemas I

    47/89

    8088

    Fecha de presentacin: 1/6/79Velocidad de reloj: 5 y 8 Mhz.Ancho de bus: 8 bitsNmero de transistores: 29 000Memoria direccionable :1 MBMemoria virtual :---------Breve descripcin : Idntico al 8086excepto en su bus externo de 8 bits

    http://micro.magnet.fsu.edu/chipshots/intel/8088small.htmlhttp://micro.magnet.fsu.edu/chipshots/intel/8088small.html
  • 7/23/2019 Programacion de Sistemas I

    48/89

    80186 y 80188

    Aparecieron en 1982Es un Chip altamente integradoTiene una frecuencia de 8 Mhz.El conjunto de instrucciones estaampliado respecto al 8088se encapsulaban en el formatoPGA (Pin Grid Array ) de 68 pines

  • 7/23/2019 Programacion de Sistemas I

    49/89

    80286

    Fecha de presentacin: 1/2/82Velocidad de reloj: 8, 10 y 12 Mhz.Ancho de bus: 16 bitsNmero de transistores: 134 000Memoria direccionable :16 MBMemoria virtual : 1 GBBreve descripcin : De 3 a 6 veceslas prestaciones del 8086

  • 7/23/2019 Programacion de Sistemas I

    50/89

    80386 DX

    Fecha de presentacin: 17/10/85Velocidad de reloj: 20, 25 y 33 Mhz.Ancho de bus: 32 bitsNmero de transistores: 275 000Memoria direccionable :4 GBMemoria virtual : 64 TBBreve descripcin : Primer chip x86capaz de manejar juegos de datos de32 bits

  • 7/23/2019 Programacion de Sistemas I

    51/89

    80386 SX

    Fecha de presentacin: 16/6/88Velocidad de reloj: 16 y 20 Mhz.Ancho de bus: 16 bitsNmero de transistores: 275 000Memoria direccionable :4 GBMemoria virtual : 64 TBBreve descripcin : Bus capaz dedireccionar 16 bits procesando 32bitsa bajo coste

  • 7/23/2019 Programacion de Sistemas I

    52/89

    80486 DX

    Fecha de presentacin: 10/4/89Velocidad de reloj: 25, y 50 Mhz.Ancho de bus: 32 bitsNmero de transistores: 275 000Memoria direccionable :4 GBMemoria virtual : 64 TBBreve descripcin : Cach de nivel 1en el chip.Variantes de este microprocesador 80486 DX80486 SX80486 DX280486 SL80486 DX4

  • 7/23/2019 Programacion de Sistemas I

    53/89

    PentiumFecha de presentacin: 22/3/92Velocidad de reloj: 60 a 200 Mhz.Ancho de bus: 32 bitsNmero de transistores: 3.1 millonesMemoria direccionable :4 GBMemoria virtual : 64 TBBreve descripcin : Arquitectura

    escalable.Ejecuta mas de una instruccin por ciclo de reloj.Hasta 5 veces las prestaciones del486 DX a 33 MHz.

    Microprocesador de 5ta generacinpor eso el nombre de P e n t i u m y deesa manera los competidores nono pueden usar el mismo nombrepara sus microprocesadores

  • 7/23/2019 Programacion de Sistemas I

    54/89

    Pentium Pro

    Fecha de presentacin: 27/3/95Velocidad de reloj: 150 a 200 Mhz.Ancho de bus: 32 bitsNmero de transistores: 5.5 millonesMemoria direccionable :4 GBMemoria virtual : 64 TBBreve descripcin : Arquitectura deejecucin dinmica con procesador dealtas prestaciones.

  • 7/23/2019 Programacion de Sistemas I

    55/89

    Pentium II

    Fecha de presentacin:07/05/97Velocidad de reloj: 200 a 300 Mhz.Ancho de bus: 64 bitsNmero de transistores: 7.5 millonesMemoria direccionable :4 GBMemoria virtual : 64 TBBreve descripcin: Est basado en unaversin modificada del ncleo P6, usadopor primera vez en el Intel Pentium Pro.

  • 7/23/2019 Programacion de Sistemas I

    56/89

    Pentium III

    Fecha de presentacin: 26/02/1999Velocidad de reloj: 500 a 733 Mhz.Ancho de bus: 64 bitsNmero de transistores: 28 millonesMemoria direccionable :4 GBMemoria virtual : 64 TBBreve descripcin: El Pentium III es unmicroprocesador de arquitectura i686, elcual es una modificacin del PentiumPro.

  • 7/23/2019 Programacion de Sistemas I

    57/89

    Pentium 4

    Fecha de presentacin: 01/11/2000Velocidad de reloj: 1.4 y 1.5 GHzAncho de bus: 64 bitsNmero de transistores: 42 millonesMemoria direccionable :4 GBMemoria virtual : 64 TBBreve inclusin de 144 instruccionesSSE 2. Estas instrucciones permiten eluso de operandos de 128 bits (mientrasque las SSE que estren el Pentium IIIsoportaban un mximo de 64). Esto harque programas de tratamiento de sonidoo imagen, reconocimiento de voz,compresin de video obtengan un mayorrendimiento.

  • 7/23/2019 Programacion de Sistemas I

    58/89

    Pentium D

    Pentium D fueron introducidos por Intelen 2005.Los chips Pentium D consistenbsicamente en dos procesadoresPentium 4 (de ncleo Prescott) ubicadosen una nica pieza de silicio con un

    proceso de fabricacin de 90 nm. Elnombre en clave del Pentium D antes desu lanzamiento era Smithfield. Incluyeuna tecnologa DRM (Digital rightsmanagement) para hacer posible unsistema de proteccin anticopia de lamano de Microsoft.Contiene 376 millones de transistores

  • 7/23/2019 Programacion de Sistemas I

    59/89

    Pentium DualCore

    Intel Core 2 Duo presentado en2007

    Procesador con dos Ncleoscon 410 millones de transistores.

    Procesadores orientados anegocios, diseo y juegos

  • 7/23/2019 Programacion de Sistemas I

    60/89

    Core 2 Quad

    El nuevo chip Intel Core i7 esel ltimo de 4 ncleos, conalrededor de 731 millones de

    transistoresEn un futuro veremosprocesadores con 12, 32 y 80ncleos, algo que nunca antesse hubiera credo.

  • 7/23/2019 Programacion de Sistemas I

    61/89

    Phenom

    AMD Phenom II que tiene previstasu presentacin a principios deste ao, con cuatro ncleos yalrededor de 758 millones detransistores

  • 7/23/2019 Programacion de Sistemas I

    62/89

    AMD anuncia su nueva gama deprocesadores con 8 ncleos, AMD FX

    Hasta ahora, cuando a alguien pensaba enprocesadores para consumo domstico ysemi profesional, su mente se diriga a losSandy Bridge de Intel, cuya gama esconocida como Intel Core i, dondeencontramos los i3, i5 e i7. Sin embargo, el

    rival de Intel en este terreno, AMD haapretado el acelerador y presentado susnuevos procesadores AMD FX con 8ncleos y precios mucho ms asequiblesque los chip de Intel.

    Qu novedades traen consigo losprocesadores AMD FX? Comencemoshablando de su ventaja obvia sobre Intel,un procesador de 8 ncleos a 3.8 GHzsobre el mximo de la gama Core,el Core i7 Extreme, que slo ofrece6 ncleos a 3.4 GHz

  • 7/23/2019 Programacion de Sistemas I

    63/89

    Generacin de microprocesadores

    Generacin 1: Abarcara todos los procesadores de Intel hasta el80188.

    Generacin 2: El procesador Intel 286 y todas sus variantes.

    Generacin 3: El procesador Intel 386 y todas sus variantes.

    Generacin 4: El procesador Intel 486 y todas su variantes.

    Generacin 5: El procesador Intel Pentium y todas sus variantes.Generacin 6: El procesador Intel Core, Intel Core 2 y todas sus

    variantes.

    Generacin 7: El procesador Intel Core i7.

  • 7/23/2019 Programacion de Sistemas I

    64/89

    Conceptos bsicos de un microprocesador

    Un cristal oscilante situado en la computadora proporciona una seal de sincronizacin, o sealde reloj, para coordinar todas las actividades del microprocesador. La velocidad de reloj de losmicroprocesadores ms avanzados es de unos 800 megahercios (MHz) -unos 800 millones deciclos por segundo -, lo que permite ejecutar ms de 2.000 millones de instrucciones cadasegundo.Los microprocesadores suelen tener dos velocidades: Velocidad interna: velocidad a la quefunciona el micro internamente (500, 600, 800 MHz). Velocidad externa o de bus (FSB):velocidad con la que se comunican el micro y la placa base (generalmente 60, 66 100 MHz).

    Un micro consta de las siguientes partes:el coprocesador matemtico , que realiza los clculos matemticos.la memoria cach , memoria ultrarrpida que ayuda al micro en operaciones con datosque maneja constantemente.el encapsulado , que lo rodea para darle consistencia, impedir su deterioro y permitir elenlace con los conectores externos.

    En cuanto a las empresas fabricantes de procesadores los ms conocidos son:Intel : Es la marca estndar y los dems son compatibles con Intel.AMD: Siempre ha ido por detrs de Intel, aunque a veces le ha superado, sobre todo consu conocido K7 (Athlon).Cyrix : Fabrica procesadores para Texas, IBM y Thompson

  • 7/23/2019 Programacion de Sistemas I

    65/89

    Arquitectura del microprocesador Los Microprocesadores o CPU administran juegos de instruccionesbasadas en:

    pilas, Acumuladores, y registros.

    Las instrucciones basadas en registros han recibido la mayor atencin por parte de los programadores, hecho que a su vez hapropiciado que los fabricantes de semiconductores, diseenarquitecturas de microprocesadores segun la forma en que seadministran los registros.

    Partiendo de esa base, han surgido dos grandes arquitecturas demicroprocesadores para PCs:

    Los diseados con instrucciones avanzadas o complejas llamados CISC(Complex Instruction Set Computer), y

    Los diseados con instrucciones simples o reducidas llamados RISC(Reduced Instruction Set Computer).

  • 7/23/2019 Programacion de Sistemas I

    66/89

    La arquitectura CISC ( Complex Instruction SetComputer )

    Fue la primera tecnologa de CPUs con la que la maquina PC. Adoptada por Intel, se coloco enlas primitivas PCs (procesador 8088) que fueron lanzadas bajo la marca IBM el 12 de Agosto de1981.

    Su sistema de trabajo se basa en la Microprogramacin. Dicha tcnica consiste en hacer quecada instruccin sea interpretada por un microprograma localizado en una seccin de memoriaen el circuito integrado del Microprocesador.

    A su vez, las instrucciones compuestas se decodifican para ser ejecutadas por microinstrucciones almacenadas en una Rom interna.

    Las operaciones se realizan al ritmo de los ciclos de un reloj. Considerando la extraordinaria cantidad de instrucciones que la CPU puede manejar, la

    construccin de una CPU con arquitectura CISC es realmente compleja. A este grupo pertenecen los microprocesadores de INTEL (celeron, Pentium II, Pentium III,

    Pentium IV) y AMD (Duron, Athlon) El origen de la arquitectura CISC se remonta a los inicios de la programacin ubicada en los aos

    60 y 70. Para contrarrestar la crisis del software de ese entonces, empresas electrnicasfabricantes de hardware pensaron que una buena solucin era crear una CPU con un amplio ydetallado manejo de instrucciones, a fin de que los programas fueran mas sencillos. Losprogramadores en consecuencia crearon multitud de programas para esa arquitectura. Laposterior masificacin de los PCs, permiti que el mercado fuera luego copado de softwarecreado para procesadores CISC.

    Entre las bondades de CISC destacan las siguientes: 1. Reduce la dificultad de crear compiladores. 2. Permite reducir el costo total del sistema. 3. Reduce los costos de creacin deSoftware. 4. Mejora la compactacin de cdigo. 5. Facilita la depuracin de errores (debugging).

  • 7/23/2019 Programacion de Sistemas I

    67/89

    La arquitectura RISC (Reduced Instruction SetComputer).

    Ha sido la consecuencia evolutiva de las CPU. Como su nombre lo indica, se trata demicroprocesadores con un conjunto de instrucciones muy reducidas en contraposicin a CISC.Que ventaja se deriva de esta tecnologa?.

    1. La CPU trabaja mas rpido al utilizar menos ciclos de reloj para cumplir sus funciones(ejecutar instrucciones).2. Utiliza un sistema de direcciones no destructivas en Ram. Eso significa que a diferenciade CISC, RISC conserva despus de realizar sus operaciones en memoria los dosoperandos y su resultado (total tres direcciones), lo que facilita a los compiladores conservar llenos los 'pipelines' (conductos) de la CPU para utilizarlos concurrentemente y reducir laejecucin de nuevas operaciones.3. Cada instruccin puede ser ejecutada en un solo ciclo de la CPU (mxima velocidad yeficiencia)

    La arquitectura RISC es considerada como una innovacin tecnolgica creada a partir delanlisis de la primitiva arquitectura Cisc, RISC ha dado origen a la aparicin deMicroprocesadores poderosos cuya principal aplicacin ha sido el trabajo en las grandes

    mquinas (servidores ), aunque tambin han llegado a posicionarse en ciertas maquinasdesktop (Apple), computadoras de mano, maquinas de juegos, y otros artefactoselectrnicos domsticos.

    Ejemplos de tecnologa RISC son los sistemas MIPS (Millions Instruction Per Second),1992, SPARC = Scalable Processor ARChitecture de la empresa Sun (utiliza Solaris,sistema operativo de ambiente Unix), POWER PC, 1993, diseado por Apple, Motorola eIBM, son utilizados en PCs de Apple, Macinstosh y mainframes de IBM (RS/6000 y AS/400) con sistemas operativos AIX y Windows NT. El PowerPC se conoce tambincomo G3, G4, G5 (alcanza un billon de operaciones de punto flotante por segundo).

  • 7/23/2019 Programacion de Sistemas I

    68/89

    El modelo Von Newmann

    La mayora de las computadoras digitales basan su arquitectura en elmodelo de Von Neumann . En este modelo, una computadora estformada por cuatro unidades que interactan entre s.El procesador, La Unidad de Memoria, la Unidad de Entrada - Saliday La Unidad de Control.

  • 7/23/2019 Programacion de Sistemas I

    69/89

    Buses de datos, direcciones y control

    El procesador utiliza elbus de datos para mover datos entre el procesador y la memoria, entre elprocesador y los dispositivos de entrada-salida (puertos) o entre la memoria y los dispositivos deentrada-salida.

    El procesador utiliza el bus de direcciones , para indicar la direccin de memoria o puerto sobrela que quiere leer o escribir.

    Por ltimo el bus de control se utiliza para habilitar el dispositivo sobre el que se va a leer oescribir e indicar cual de estas operaciones se va a realizar.

    Tambin se representa

  • 7/23/2019 Programacion de Sistemas I

    70/89

  • 7/23/2019 Programacion de Sistemas I

    71/89

    Memoria Segmentada

    En el esquema de memoria segmentada el microprocesador visualiza a la memoria como dividida en segmentos de memoria y acada segmento lo visualiza como un arreglo lineal de localidades dememoria de un byte. Cada segmento tiene una direccin llamadadireccin de segmento . La direccin de una localidad de memoriase forma a partir de la direccin del segmento que contiene a lalocalidad de memoria y al ndice de la localidad de memoria dentrodel segmento. A este ndice se le conoce como desplazamiento .

    El esquema de memoria segmentada es usado por lo general enmicroprocesadores con capacidad de direccionamiento que excedea los 64 KB. Uno de estos procesadores es el procesador 8086 deIntel.

  • 7/23/2019 Programacion de Sistemas I

    72/89

    Segmentacin de la Memoria en elmicroprocesador 8086

    El CPU empleado en las primeras computadoras IBM PC y compatibles, elmicroprocesador 8086 de Intel, nos permite direccionar 1 MB = 220 =1,048,576 bytes. Los procesadores ms modernos de Intel de la familia80x86 (80286, 80386, 80486 y Pentium) empleados en las computadorasPC pueden direccionar un mayor nmero de localidades (hasta 16 MB = 224= 16,777,216 bytes para el 80286 y hasta 4 GB = 2 32 = 4,294,967,296 bytespara el 80386, 80486 y Pentium) pero para mantener compatibilidad con elmicroprocesador 8086 tienen dos formas de operacin: Una que imita almicroprocesador 8086 llamado modo real y otro que explota todo el poder del procesador llamado modo protegido .

    El sistema operativo MS-DOS a fin de mantener compatibilidad con el

    software existente, slo permite la operacin de los microprocesadores enmodo rea l y para fines prcticos una computadora PC bajo ese sistemaoperativo se comportar como si tuviese un procesador 8086 (aunque msrpido).

  • 7/23/2019 Programacion de Sistemas I

    73/89

    Se sabe que el bus de direcciones de la PC XT era de 20 bits, por lo quetericamente podan manejarse un total de 2 20 posibilidades (1.048.576). Sinembargo, el procesador 8088 utilizado tiene registros de 16 bits, por lo que solopuede contener directamente 2 16 posiciones (65.536).

    La solucin consisti en expresar las direcciones mediante dos palabras de 16 bits,denominadas desplazamiento y segmento que, por consiguiente, pueden ser representadas mediante un hexadecimal de cuatro cifras en el rango 0000-FFFFh. Estas dos palabras pueden ser traducidas a una direccin de 20 bitsmediante la operacin denominada suma con desplazamiento. Por ejemplo,suponiendo que el desplazamiento y el segmento fuesen respectivamente ABCDh yE1FAh, la forma de obtener la direccin resultante es como sigue:

    Una de las palabras, el desplazamiento , se desplaza una posicin aadindole uncero a la derecha (equivale a multiplicarla por 16, ya que las direcciones se expresanen hexadecimal). En nuestro caso, si el desplazamiento es ABCDh resulta

    ABCD0h. Puesto que inicialmente es un hexadecimal de 4 cifras (ABCD en nuestrocaso), el desplazamiento la transforma en un hexadecimal de 5 cifras (ABCD0). Elvalor obtenido se suma con el valor del segmento (E1FAh), as que la direccinresultante, sera B9ECAh. Para distinguirla de la anterior, esta ltima forma sedenomina direccin absoluta .

  • 7/23/2019 Programacion de Sistemas I

    74/89

    Los procesadores 8088 tienen registros de 16bits que pueden servir para almacenar losdesplazamientos , es decir, cualquier direccindentro de una zona de 64 KB (que se conocecomo segmento ). Disponen adems de 4registros de segmento de 16 bits (CS, SS, DS

    y ES), en los que se almacenan las direccionesde inicio del segmento activo en cadamomento. Resulta as, que pueden direccionar un total absoluto de 1MByte, y hasta 64 x 4 =256 KB sin necesidad de cambiar los registrosde segmento. Esto es lo que se conoce comofuncionamiento en modo real (como puedeverse, en realidad es una forma de manejar lamemoria).

  • 7/23/2019 Programacion de Sistemas I

    75/89

    Registros Los registros del procesador

    se emplean para controlar instrucciones en ejecucin,manejar direccionamientode memoria y proporcionar capacidad aritmtica.Los registros son direccionablespor medio de un nombre.

    La longitud de los registros es de16 bits.

    Los primeros cuatro, AX, BX, CX, y DXson registros de uso general y tambinpueden ser utilizados como registros de8 bits, para utilizarlos como tales esnecesario referirse a ellos como por ejemplo: AH y AL, que son los bytesalto (high) y bajo (low) del registro AX.Esta nomenclatura es aplicable tambina los registros BX, CX y DX.

    Arquitectura del 8088

    La unidad de ejecucin EU ejecuta las funciones lgicas yaritmticas habituales.

    La unidad de interfaz de bus BIU (Bus Interface Unit) almacena conanticipacin 4 bytes de instrucciones memorizadas en una cola deespera. Mientras la ALU ejecuta una instruccin, la BIU busca en

    memoria la siguiente instruccin.

  • 7/23/2019 Programacion de Sistemas I

    76/89

    AX AcumuladorBX Registro baseCX Registro contadorDX Registro de datos

    SP (Stack Pointer) Registro del apuntador de la pilaBP (Base Pointer) Registro de apuntadores baseSI (Source Index) Registro ndice fuenteDI (Destination Index) Registro ndice destino

    CS (Code Segment) Registro del segmento de cdigoDS (Data Segment) Registro del segmento de datosSS (Stack Segment) Registro del segmento de pilaES (Extra Segment) Registro del segmento extra

    IP (instruction Pointer) Registro de apuntador de siguiente instruccinF (Flag) Registro de banderas

  • 7/23/2019 Programacion de Sistemas I

    77/89

    Registros de propsito GeneralSe utilizan para clculo y almacenamiento de propsito general. Los programas leendatos de memoria y los dejan en estos registros, ejecutan operaciones sobre ellos, yguardan los resultados en memoria. Hay cuatro registros de propsito general que,aparte de ser usados a voluntad por el programador, tienen fines especficos:

    Registro AXEste registro es el acumulador principal, implicado en gran parte de las operacionesde aritmticas y de E/S.Registro BXRecibe el nombre de registro base ya que es el nico registro de propsito generalque se usa como un ndice en el direccionamiento indexado. Se suele utilizar paraclculos aritmticos.

    Registro CXEs conocido como registro contador ya que puede contener un valor para controlar elnmero de veces que se repite una cierta operacin.

    Registro DXSe conoce como registro de datos. Algunas operaciones de E/S requieren su uso, ylas operaciones de multiplicacin y divisin con cifras grandes suponen que el DX y

    el AX trabajando juntos.

  • 7/23/2019 Programacion de Sistemas I

    78/89

    Registros de Segmento.

    Los registros de segmento son registros de 16 bits que constituyen laimplementacin fsica de la arquitectura segmentada del 8086.

    Registro CSRegistro Segmento de Cdigo. Establece el rea de memoria dnde est el

    programa durante su ejecucin.Registro DSRegistro Segmento de Datos. Especifica la zona donde los programas leen y

    escriben sus datos.

    Registro SS

    Registro Segmento de Pila. Permite la colocacin en memoria de una pila, paraalmacenamiento temporal de direcciones y datos.

    Registro ESRegistro Segmento Extra. Se suele utilizar en algunas operaciones con cadenas de

    caracteres para direccionar la memoria.

  • 7/23/2019 Programacion de Sistemas I

    79/89

    Registros Punteros y Registros ndices

    Los registros punteros estn asociados al registro de segmento SS ypermiten acceder a los datos almacenados en la pila.Los registros ndice se utilizan fundamentalmente en operaciones concadenas y para direccionamiento indexado.

    Registro SPProporciona un valor de desplazamiento que se refiere a la palabra actualque est siendo procesada en la pila.Registro BPFacilita la referencia a los parmetros de las rutinas, los cuales son datos ydirecciones transmitidos va la pila.Registro SIRegistro ndice fuente requerido en algunas operaciones con cadenas decaracteres. Este registro est asociado con el registro DS.Registro DIRegistro ndice destino requerido tambin en determinadas operaciones

    con cadenas de caracteres. Est asociado al registro DS o ES.

  • 7/23/2019 Programacion de Sistemas I

    80/89

    Registro Apuntador de Instrucciones (IP) y Registro deBandera

    Registro Apuntador de Instrucciones (IP).Se trata de un registro de 16 bits que contiene el desplazamiento de la direccin dela siguiente instruccin que se ejecutar. Est asociado con el registro CS en elsentido de que IP indica el desplazamiento de la siguiente instruccin a ejecutar dentro del segmento de cdigo determinado por CS:

    Direccin del segmento de cdigo en CS: 25A40HDesplazamiento dentro del segmento de cdigo en IP: + 0412HDireccin de la siguiente instruccin a ejecutar: 25E52H

    Registro de banderas, FLAGS, o registro de estado (FL).Es un registro de 16 bits, pero slo se utilizan nueve de ellos. Sirven para indicar elestado actual de la mquina y el resultado del procesamiento. La mayor parte de lasinstrucciones de comparacin y aritmticas modifican este registro. Algunasinstrucciones pueden realizar pruebas sobre este registro para determinar la accinsiguiente.

  • 7/23/2019 Programacion de Sistemas I

    81/89

    Los bits 0, 2, 4, 6, 7 y 11 son indicadores de condicin que reflejan los resultados de lasoperaciones del programa; los bits 8 al 10 son indicadores de control que, modificados por elprogramador, sirven para controlar ciertos modos de procesamiento, y el resto no se utilizan. Elsignificado de cada uno de los bits es el siguiente:

    OF Bit de Overflow o desbordamiento . Indica desbordamiento de un bit de orden alto (ms a laizquierda), despus de una operacin aritmtica.DF Bit de Direccin . Designa la direccin, creciente (0) o decreciente (1), en operaciones concadenas de caracteres.IF Bit de Interrupcin . Indica que una interrupcin externa, como la entrada desde el teclado, seaprocesada o ignorada.TF Bit de Trap o Desvo . Procesa o ignora la interrupcin interna de trace (procesamiento paso apaso).SF Bit de Signo . Indica el valor del bit ms significativo del registro despus de una operacinaritmtica o de desplazamiento.ZF Bit Cero . Se pone a 1 si una operacin produce 0 como resultado.AF Bit de Carry Auxiliar . Se pone a 1 si una operacin aritmtica produce un acarreo del bit 3 al4. Se usa para aritmtica especializada (ajuste BCD).PF Bit de Paridad . Se activa si el resultado de una operacin tiene paridad par.CF Bit de Acarreo . Contiene el acarreo de una operacin aritmtica o de desplazamiento de bits.

  • 7/23/2019 Programacion de Sistemas I

    82/89

    Direccionamiento de localidades de Memoria.

    El 8086 posee un bus de datos de 16 bits y por tanto manipula cantidades de estalongitud (llamadas palabras). Cada palabra a la que se accede consta de dos bytes,un byte de orden alto o ms significativo y un byte de orden bajo o menossignificativo. El sistema almacena en memoria estos bytes en secuencia inversa debytes, es decir, el byte menos significativo en la direccin baja de memoria y el byte

    ms significativo en la direccin alta de memoria, tal y como se muestra en la Figurasiguiente:

    Es importante tener en cuenta esta peculiaridad ya que al almacenar palabras enuna sola operacin, la recuperacin de esas palabras de memoria ha de hacerse enlongitudes de 16 bits; en caso de recuperarse en 2 octetos, el primer octetorecuperado (direccin ms baja de memoria) correspondera al octeto menos

    significativo y el siguiente al ms significativo.

  • 7/23/2019 Programacion de Sistemas I

    83/89

    Direccionamiento de Programas.

    Cuando ejecutamos un programa, el DOS carga en la memoria el cdigo mquinadel programa. El registro CS contiene la direccin de inicio del segmento de cdigodel programa y el registro DS la direccin de inicio del segmento de datos. Elsegmento de cdigo contiene las instrucciones que sern ejecutadas, mientras queel segmento de datos contiene los datos a los que las instrucciones hacen referencia.El registro IP indica el desplazamiento de la instruccin actual que es ejecutadadentro del segmento de cdigo. Un operando (que sea una referencia a memoria) deuna instruccin indica un desplazamiento en el segmento de datos del programa.

  • 7/23/2019 Programacion de Sistemas I

    84/89

    Pila (Stack)

    Los programas ejecutables (.COM y .EXE) requieren una zona de memoriareservada denominada pila (stack ). La pila no es ms que un rea para elalmacenamiento temporal de direcciones y datos.

    El registro SS es inicializado por el DOS con la direccin de inicio de la pila,mientras que el registro SP contiene el tamao de la pila: apunta al bytesiguiente al ltimo que pertenece a la pila. La pila se caracteriza porqueempieza a almacenar datos en la localidad ms alta y avanza hacia abajoen la memoria:

  • 7/23/2019 Programacion de Sistemas I

    85/89

    Ejemplo : Introducimos en la pila los registros AX y BX que contienen FA01H y 35A9H respectivamente. Suponemosque el registro SP contiene 50 bytes.

  • 7/23/2019 Programacion de Sistemas I

    86/89

    Es importante darse cuenta con este ejemplo de que las instrucciones POP

    deben ejecutarse en orden inverso a las rdenes PUSH: hay que sacar losvalores en orden inverso al que se mandaron a la pila. Adems, en un programa.EXE hay que definir una pila suficientemente grande para contener todos losvalores que podran ser guardados en ella durante la ejecucin del programa.

  • 7/23/2019 Programacion de Sistemas I

    87/89

    Modos de direccionamiento

    Las operaciones se hacen entre registros o registros y memoria, pero nunca entrememoria y memoria (salvo algunas operaciones con cadenas de caracteres). Losmodos de direccionamiento determinan el lugar en que reside un operando, unresultado o la siguiente instruccin a ejecutar segn el caso.

    1.- INMEDIATO . El operando aparece especificado directamente en la instruccin.Ejemplo: El operando fuente en MOV AX, 789AH

    2.- MODO REGISTRO . El operando es un registro.Ejemplo: Los operandos en MOV AX, CX

    3.- DIRECTO ABSOLUTO A MEMORIA . El operando es una direccin de memoria ala que se quiere acceder.Ejemplo: El operando fuente en MOV AX, [078AH]El operando destino en MOV DIR1, AX

  • 7/23/2019 Programacion de Sistemas I

    88/89

    4.- DIRECTO RELATIVO A UN REGISTRO BASE . El operando es una direccin dememoria a la que se desea acceder, y se calcula mediante un registro base. Esteregistro base ser el BX o el BP segn deseemos trabajar con el segmento DS o SSrespectivamente.

    Ejemplo: El operando fuente en MOV AX, [BX + 2]El operando destino en MOV [BP + 2], AX

    5.- DIRECTO RELATIVO A UN REGISTRO INDICE . El operando es una direccinde memoria a la que se desea acceder, y se calcula en base a un registro ndice.Este registro ndice ser el SI o el DI.Ejemplo: El operando fuente en MOV AX, [SI + 10]El operando destino en MOV [DI + 2], AX

    Si el desplazamiento no existe en los dos ltimos modos, hablamos dedireccionamiento indirecto por registro base o por registro ndice.

  • 7/23/2019 Programacion de Sistemas I

    89/89

    6.-INDEXADO A PARTIR DE UNA BASE . El operando es una direccin de memoriaa la que se desea acceder, y se calcula en base a un registro base y un registrondice. Hay cuatro configuraciones posibles: el registro base puede ser el BX o el BP,y el registro ndice puede ser el SI o el DI.

    Ejemplo:

    El operando fuente en MOV AX, [BX + SI + 6]El operando destino en MOV [BP + DI + 2], AX

    Nota: Los modos de direccionamiento del 3 al 6 pueden estar precedidos de unregistro de segmento: MOV AX, ES: [BX + SI + 6].