Está en la página 1de 89

Programacin de

Sistemas
Primera Parte

M. En C. Benjamn Iglesias Corts

Introduccin al lenguaje Ensamblador

Los circuitos microprogramables son sistemas digitales, lo que


significa que trabajan con dos nicos niveles de tensin. Dichos
niveles, 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 binario
en 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 las
bases para la aplicacin del lgebra de Boole a las redes de
conmutacin.

Una red de conmutacin es un circuito de interruptores elctricos


que al cumplir ciertas combinaciones booleanas con las variables
de entrada, define el estado de la salida. Este concepto es el ncleo
de las compuertas lgicas, las cuales son, por su parte, los ladrillos
con que se construyen sistemas lgicos cada vez ms complejos.

Shannon utilizaba el rel como dispositivo fsico de conmutacin en


sus redes. El rel, a igual que una lmpara elctrica, posee dos
estados: 1 0, esto es, est activado, encendida, o est
desactivado, apagada.

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


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

El desarrollo tecnolgico ha permitido evolucionar desde las redes


de rels electromagnticos de Shannon a circuitos con tubos de
vaco, luego a redes transistorizadas, hasta llegar a los modernos
circuitos integrados cuyas cspide lo forman los circuitos
microprogramados.

Primer transistor 1948

En lugar de representar a los operadores lgicos con tecnologa RTL (resistor


transistor Logic) se utiliza esta simbologa.

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

Ejemplos prcticos

La compuerta NAND con un 1


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

La compuerta NAND con un 0


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

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

Implementacin de una celda de memoria con compuertas NAND y NOT

Sistema bsico de una computadora

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/M
constitua, antes de los 80, el sistema base estndar para los equipos basados en procesadores
8080 y Z80 de 8 bits que precedieron a las PC que conocemos actualmente. La propietaria de este
software era la empresa norteamericana Digital Research y uno de los mayores fabricantes de
computadoras era IBM (International Business Machines). La tecnologa fue avanzando y pronto
llegaron los micros de 16 bits como el 8088 precursores de las PC-XT y ms tarde de las PC-AT. En
esos momentos Digital Research, por ser dominadora del mercado, era la firma mejor posicionada
para proveer a IBM de un sistema operativo para estas nuevas tecnologas que despuntaban. Sin
embargo, cuenta la historia, que hubo un cierto desencuentro al momento de concretar un acuerdo
entre ellos y en medio del desconcierto IBM design como proveedor a Bill Gates, dueo de una
desconocida empresa de software llamada Microsoft.
Microsoft, con cierto apuro y dificultades iniciales, en 1981 crea MS-DOS 1.10 a partir de un embrin
adquirido a Seatle Computing. Este sistema tomaba muchos de los aspectos del CP/M y los
adaptaba para que pudieran ser ejecutados en micros 8088. Junto con las nuevas PC, el MS-DOS
tuvo una difusin muy destacable. Para desgracia de Kildall, presidente de Digital Research. Millones
de equipos con el sistema operativo de Microsoft se vendieron dando origen a la monumental
empresa que hoy conocemos..

A partir de entonces y conjuntamente con el avance tecnolgico fueron saliendo nuevas versiones del
MS-DOS. Una de las versiones, quizs ms famosa, fue el MS-DOS 3.3 que incorporaba muchos
comandos 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 el
DR-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 ya
en pleno apogeo de las PC-Compatibles. En medio del afn por ganarse a los usuarios muchas
empresas desarrollaron nuevos y mejores sistemas operativos. La primer amenaza de copamiento
estuvo signada por la aparicin del OS/2 que se presentaba como un sistema operativo tpico para
esa poca dadas sus innovadoras caractersticas con un entorno grfico agradable y nuevas
funcionalidades, pero nunca lleg a convertirse en un estndar. La segunda amenaza fue Unix, un
sistema operativo multiusuario potente que tampoco satisfizo a las masas por ser un tanto difcil de
utilizar ya que difera mucho de sus predecesores. En ese mismo entorno competitivo la cada vez
ms creciente Microsoft que dominaba el mercado disputaba un duelo con Digital Reseach quien
ofreca un sistema similar pero con las mejoras que todo el mundo quera. Est dems decir quien
gan la batalla. Microsoft present a fines de los '90 en la exposicin COMDEX en las vegas su
flamante MS-DOS 5 que termin por opacar a los dems y a la postre, con sus versiones 6 y 6.2
convirti al MS-DOS en el sistema operativo ms utilizado en el mundo y a Bill Gates en un famoso
multimillonario.

Evolucin del MS-DOS

Agosto de 1981.Presentacin del MS-DOS 1.0 original.


Marzo de 1982. MS-DOS 1.25, aadiendo soporte para disquetes de doble cara. Las funciones
del 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 el
sistema de ficheros (FAT, subdirectorios,...); separacin de los controladores de dispositivo del
sistema.
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 el
controlador 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 particiones
secundarias 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 interno
que forz la reescritura de muchos programas de utilidad) hasta 2 Gb. Controlador de memoria
EMM386. 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 Digital
Research, que irrumpe en el mundo del DOS una dcada ms tarde (con DR-DOS), obliga a
Microsoft 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.

Las versiones siguientes no aaden ninguna caracterstica interna nueva


destacable (aunque a nivel de interfaz con el usuario y utilidades incluidas
haya ms cambios). El MS-DOS 7.0 sobre el que corre Windows 95 s tiene
bastantes retoques internos, pero no es frecuente su uso aislado o
independiente de Windows 95.

Digital Research trabaj arduamente para lograr una compatibilidad total


con MS-DOS, y finalmente consigui lanzar al mercado su sistema
DR-DOS (Digital Research Disk Operating System). Las versiones 5.0 y 6.0
de este sistema, as como el Novell DOS 7.0 (cuando cedi los derechos a
Novell) se pueden considerar prcticamente 100% compatibles. El efecto
del DR-DOS fue positivo, al forzar a Microsoft a mejorar la interaccin del
sistema operativo con los usuarios (documentacin en lnea, programas de
utilidad, ciertos detalles...); por poner un ejemplo, hasta el MS-DOS 6.2 ha
sido necesario intercambiar tres veces el disquete origen y el destino
durante la copia de un disquete normal de 1.44M. En cierto modo, la
prepotencia de Microsoft con el MS-DOS a principios de los noventa era
similar a la de Digital Research a principios de los 80s con el CP/M.

Diskette de arranque del MS-DOS

Ventana del MS-DOS en una PC

Investigar
La BIOS
El Sector Cero o Boot Sector
Proceso de arranque de una computadora o
BootStrap

Evolucin de Windows

Microsoft Windows MS-DOS Versin 1.01

Microsoft Windows MS-DOS Versin 2.03

Windows NT 3.1

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

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

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

Windows Millenium Edition (ME)


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

Windows NT Workstation v3.51

Windows NT Workstation v4.0

Windows 2000
En el ao 2000 tambin vio la luz Windows 2000, una nueva versin de Windows NT muy til para los administradores
de 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.

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.

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

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

El Microprocesador

El microprocesador es un circuito integrado que contiene todos los elementos


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

Los microprocesadores tambin se utilizan en otros sistemas informticos


avanzados, como Celulares, NoteBook, impresoras, automviles o aviones.

En la actualidad ste componente electrnico est compuesto por millones de


transistores integrados en una misma placa de silicio.

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 cinta
impresora, que deseaba producir masivamente.

Marcial Edward "Ted" Hoff Jr. se proyect a disear un microprocesador de


capacidades o prestaciones ms completas que las solicitadas por la
empresa japonesa, realizando las mismas funciones y con la posibilidad de
otros 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, donde


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

Tcnicamente, el Intel 4004 es un microprocesador con un bus de datos de


4 bits, capaz de direccionar 32768 bits de ROM y 5120 bits de RAM. Puede
direccionar 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 recompr


los derechos de propiedad intelectual por US $ 60 000, pues se dio cuenta
que si bien el chip 4004 haba sido fabricado para operar como cerebro de
una calculadora, su versatilidad como microprocesador de uso general le
permita ser tan poderoso como la propia computadora ENIAC.

Finalmente, el 15 de noviembre de 1971, la familia 4000, luego conocida


como MCS-4 (Micro Computer System 4-bit) fue finalmente introducida en
el mercado.

Curiosidades del 4004

Federico Faggin coloco sus inciales en el centro del


sustrato de la primera versin del Intel 4004. En
versiones posteriores, llevadas a cabo algunos
meses ms tarde, el rediseo de la zona del chip
que contena la firma hizo que las FF fuesen a
parar para siempre al borde del integrado.

El Intel 4004 es un articulo muy buscado por los


coleccionistas. Los de mayor valor (unos US $400 en
eBay) son los de color oro y blanco, con los llamados
trazos grises en la zona blanca. Le siguen los que
carecen de esas marcas (US $200 a US $300).

Algunos modelos carecen del cdigo de fecha en la


parte inferior, lo que los hace ligeramente ms
valiosos.

La primera PC

El IBM PC tena un chip Intel 8088 a 4.77 MHz, 64 KB de RAM


expandibles a 256 y 4 KB de ROM. Tena monitor monocromtico,
teclado y drive para discos de 5.25 pulgadas de 160 KB de
capacidad. El precio bsico era de 3000 dlares. Con un monitor a
color y una tarjeta grfica, el precio suba a 4,500 dlares. IBM
esperaba vender 241,683 unidades en cinco aos: super esa cifra
en el primer mes.

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

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 tena
un transistor atado a dos alambres y a un condensador. El germanio, as mismo estaba asegurado a un fragmento
de vidrio, dividindolo en 3 resistencias por las lengetas inferiores. Demostrando as, que los tres tipos de
componentes 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) ha
dicho 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.

1961 Robert Noyce (Cofundador de Fairchild


Semiconductor, y luego cofundador de Intel) vio
una manera de combinar componentes electrnicos
mltiples, incluyendo los transistores, en una pieza
nica del silicio.
Se anuncia este chip de cuatro transistores
(cuadrantes en el centro). Las lneas blancas son
los rastros del metal, que conectan los transistores
con los dos resistencia abajo (barra azul horizontal).
La computadora de la direccin de Apolo utiliz
ste chip.

4004
Fecha de presentacin: 15-11-1971
Velocidad de reloj: 108 KHz
Ancho de bus: 4 bits
Nmero de transistores: 2 300
Memoria direccionable:640 byte
Memoria virtual:--------Breve descripcin: Primer chip con manipulacin
aritmtica. Constaba de 46 comandos

8008
Fecha de presentacin: 1/4/72
Velocidad de reloj: 108 KHz
Ancho de bus: 8 bits
Nmero de transistores: 3500
Memoria direccionable:16 kb
Memoria virtual:--------Breve descripcin: Manipulacin Datos/texto

8080
Fecha de presentacin: 1/4/74
Velocidad de reloj: 2 Mhz.
Ancho de bus: 8 bits
Nmero de transistores: 6000
Memoria direccionable:64 KB
Memoria virtual:--------Breve descripcin: 10 veces las (6
micras) prestaciones del 8008

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

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

80186 y 80188
Aparecieron en 1982
Es un Chip altamente integrado
Tiene una frecuencia de 8 Mhz.
El conjunto de instrucciones esta
ampliado respecto al 8088
se encapsulaban en el formato
PGA (Pin Grid Array) de 68 pines

80286
Fecha de presentacin: 1/2/82
Velocidad de reloj: 8, 10 y 12 Mhz.
Ancho de bus: 16 bits
Nmero de transistores: 134 000
Memoria direccionable:16 MB
Memoria virtual: 1 GB
Breve descripcin: De 3 a 6 veces
las prestaciones del 8086

80386 DX
Fecha de presentacin: 17/10/85
Velocidad de reloj: 20, 25 y 33 Mhz.
Ancho de bus: 32 bits
Nmero de transistores: 275 000
Memoria direccionable:4 GB
Memoria virtual: 64 TB
Breve descripcin: Primer chip x86
capaz de manejar juegos de datos de
32 bits

80386 SX
Fecha de presentacin: 16/6/88
Velocidad de reloj: 16 y 20 Mhz.
Ancho de bus: 16 bits
Nmero de transistores: 275 000
Memoria direccionable:4 GB
Memoria virtual: 64 TB
Breve descripcin: Bus capaz de
direccionar 16 bits procesando 32bits
a bajo coste

80486 DX
Fecha de presentacin: 10/4/89
Velocidad de reloj: 25, y 50 Mhz.
Ancho de bus: 32 bits
Nmero de transistores: 275 000
Memoria direccionable:4 GB
Memoria virtual: 64 TB
Breve descripcin: Cach de nivel 1
en el chip.
Variantes de este microprocesador
80486 DX
80486 SX
80486 DX2
80486 SL
80486 DX4

Pentium
Fecha de presentacin: 22/3/92
Velocidad de reloj: 60 a 200 Mhz.
Ancho de bus: 32 bits
Nmero de transistores: 3.1 millones
Memoria direccionable:4 GB
Memoria virtual: 64 TB
Breve descripcin: Arquitectura
escalable.
Ejecuta mas de una instruccin por
ciclo de reloj.
Hasta 5 veces las prestaciones del
486 DX a 33 MHz.
Microprocesador de 5ta generacin
por eso el nombre de Pentium y de
esa manera los competidores no
no pueden usar el mismo nombre
para sus microprocesadores

Pentium Pro
Fecha de presentacin: 27/3/95
Velocidad de reloj: 150 a 200 Mhz.
Ancho de bus: 32 bits
Nmero de transistores: 5.5 millones
Memoria direccionable:4 GB
Memoria virtual: 64 TB
Breve descripcin: Arquitectura de
ejecucin dinmica con procesador de
altas prestaciones.

Pentium II
Fecha de presentacin:07/05/97
Velocidad de reloj: 200 a 300 Mhz.
Ancho de bus: 64 bits
Nmero de transistores: 7.5 millones
Memoria direccionable:4 GB
Memoria virtual: 64 TB
Breve descripcin: Est basado en una
versin modificada del ncleo P6, usado
por primera vez en el Intel Pentium Pro.

Pentium III
Fecha de presentacin: 26/02/1999
Velocidad de reloj: 500 a 733 Mhz.
Ancho de bus: 64 bits
Nmero de transistores: 28 millones
Memoria direccionable:4 GB
Memoria virtual: 64 TB
Breve descripcin: El Pentium III es un
microprocesador de arquitectura i686, el
cual es una modificacin del Pentium
Pro.

Pentium 4
Fecha de presentacin: 01/11/2000
Velocidad de reloj: 1.4 y 1.5 GHz
Ancho de bus: 64 bits
Nmero de transistores: 42 millones
Memoria direccionable:4 GB
Memoria virtual: 64 TB
Breve inclusin de 144 instrucciones
SSE 2. Estas instrucciones permiten el
uso de operandos de 128 bits (mientras
que las SSE que estren el Pentium III
soportaban un mximo de 64). Esto har
que programas de tratamiento de sonido
o imagen, reconocimiento de voz,
compresin de video obtengan un mayor
rendimiento.

Pentium D
Pentium D fueron introducidos por Intel
en 2005.
Los chips Pentium D consisten
bsicamente en dos procesadores
Pentium 4 (de ncleo Prescott) ubicados
en una nica pieza de silicio con un
proceso de fabricacin de 90 nm. El
nombre en clave del Pentium D antes de
su lanzamiento era Smithfield. Incluye
una tecnologa DRM (Digital rights
management) para hacer posible un
sistema de proteccin anticopia de la
mano de Microsoft.
Contiene 376 millones de transistores

Pentium DualCore
Intel Core 2 Duo presentado en
2007

Procesador con dos Ncleos


con 410 millones de transistores.
Procesadores orientados a
negocios, diseo y juegos

Core 2 Quad
El nuevo chip Intel Core i7 es
el ltimo de 4 ncleos, con
alrededor de 731 millones de
transistores
En un futuro veremos
procesadores con 12, 32 y 80
ncleos, algo que nunca antes
se hubiera credo.

Phenom
AMD Phenom II que tiene prevista
su presentacin a principios de
ste ao, con cuatro ncleos y
alrededor de 758 millones de
transistores

AMD anuncia su nueva gama


procesadores con 8 ncleos, AMD FX

de

Hasta ahora, cuando a alguien pensaba en


procesadores para consumo domstico y
semi profesional, su mente se diriga a los
Sandy Bridge de Intel, cuya gama es
conocida como Intel Core i, donde
encontramos los i3, i5 e i7. Sin embargo, el
rival de Intel en este terreno, AMD ha
apretado el acelerador y presentado sus
nuevos procesadores AMD FX con 8
ncleos y precios mucho ms asequibles
que los chip de Intel.
Qu novedades traen consigo los
procesadores AMD FX? Comencemos
hablando de su ventaja obvia sobre Intel,
un procesador de 8 ncleos a 3.8 GHz
sobre el mximo de la gama Core,
el Core i7 Extreme, que slo ofrece
6 ncleos a 3.4 GHz

Generacin de microprocesadores
Generacin 1: Abarcara todos los procesadores de Intel hasta el
80188.

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.

Conceptos bsicos de un microprocesador


Un cristal oscilante situado en la computadora proporciona una seal de sincronizacin, o seal
de reloj, para coordinar todas las actividades del microprocesador. La velocidad de reloj de los
microprocesadores ms avanzados es de unos 800 megahercios (MHz) -unos 800 millones de
ciclos por segundo -, lo que permite ejecutar ms de 2.000 millones de instrucciones cada
segundo.
Los microprocesadores suelen tener dos velocidades: Velocidad interna: velocidad a la que
funciona 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 datos
que maneja constantemente.
el encapsulado, que lo rodea para darle consistencia, impedir su deterioro y permitir el
enlace 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 con
su conocido K7 (Athlon).
Cyrix: Fabrica procesadores para Texas, IBM y Thompson

Arquitectura del microprocesador

Los Microprocesadores o CPU administran juegos de instrucciones


basadas 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 ha
propiciado que los fabricantes de semiconductores, diseen
arquitecturas de microprocesadores segun la forma en que se
administran los registros.

Partiendo de esa base, han surgido dos grandes arquitecturas de


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

La arquitectura CISC ( Complex Instruction Set


Computer )

Fue la primera tecnologa de CPUs con la que la maquina PC. Adoptada por Intel, se coloco en
las primitivas PCs (procesador 8088) que fueron lanzadas bajo la marca IBM el 12 de Agosto de
1981.
Su sistema de trabajo se basa en la Microprogramacin. Dicha tcnica consiste en hacer que
cada instruccin sea interpretada por un microprograma localizado en una seccin de memoria
en 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 electrnicas
fabricantes de hardware pensaron que una buena solucin era crear una CPU con un amplio y
detallado manejo de instrucciones, a fin de que los programas fueran mas sencillos. Los
programadores en consecuencia crearon multitud de programas para esa arquitectura. La
posterior masificacin de los PCs, permiti que el mercado fuera luego copado de software
creado 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 de
Software. 4. Mejora la compactacin de cdigo. 5. Facilita la depuracin de errores (debugging).

La arquitectura RISC (Reduced Instruction Set


Computer).

Ha sido la consecuencia evolutiva de las CPU. Como su nombre lo indica, se trata de


microprocesadores 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 diferencia
de CISC, RISC conserva despus de realizar sus operaciones en memoria los dos
operandos 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 la
ejecucin de nuevas operaciones.
3. Cada instruccin puede ser ejecutada en un solo ciclo de la CPU (mxima velocidad y
eficiencia)

La arquitectura RISC es considerada como una innovacin tecnolgica creada a partir del
anlisis de la primitiva arquitectura Cisc, RISC ha dado origen a la aparicin de
Microprocesadores poderosos cuya principal aplicacin ha sido el trabajo en las grandes
mquinas (servidores ), aunque tambin han llegado a posicionarse en ciertas maquinas
desktop (Apple), computadoras de mano, maquinas de juegos, y otros artefactos
electrnicos 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 e
IBM, 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 tambin
como G3, G4, G5 (alcanza un billon de operaciones de punto flotante por segundo).

El modelo Von Newmann


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

Buses de datos, direcciones y control


El procesador utiliza el bus de datos para mover datos entre el procesador y la memoria, entre el
procesador y los dispositivos de entrada-salida (puertos) o entre la memoria y los dispositivos de
entrada-salida.
El procesador utiliza el bus de direcciones, para indicar la direccin de memoria o puerto sobre
la que quiere leer o escribir.
Por ltimo el bus de control se utiliza para habilitar el dispositivo sobre el que se va a leer o
escribir e indicar cual de estas operaciones se va a realizar.

Tambin se representa

Memoria Segmentada

En el esquema de memoria segmentada el microprocesador


visualiza a la memoria como dividida en segmentos de memoria y a
cada segmento lo visualiza como un arreglo lineal de localidades de
memoria de un byte. Cada segmento tiene una direccin llamada
direccin de segmento. La direccin de una localidad de memoria
se forma a partir de la direccin del segmento que contiene a la
localidad de memoria y al ndice de la localidad de memoria dentro
del segmento. A este ndice se le conoce como desplazamiento.

El esquema de memoria segmentada es usado por lo general en


microprocesadores con capacidad de direccionamiento que excede
a los 64 KB. Uno de estos procesadores es el procesador 8086 de
Intel.

Segmentacin de la Memoria en el
microprocesador 8086

El CPU empleado en las primeras computadoras IBM PC y compatibles, el


microprocesador 8086 de Intel, nos permite direccionar 1 MB = 220 =
1,048,576 bytes. Los procesadores ms modernos de Intel de la familia
80x86 (80286, 80386, 80486 y Pentium) empleados en las computadoras
PC pueden direccionar un mayor nmero de localidades (hasta 16 MB = 224
= 16,777,216 bytes para el 80286 y hasta 4 GB = 232 = 4,294,967,296 bytes
para el 80386, 80486 y Pentium) pero para mantener compatibilidad con el
microprocesador 8086 tienen dos formas de operacin: Una que imita al
microprocesador 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 en
modo real y para fines prcticos una computadora PC bajo ese sistema
operativo se comportar como si tuviese un procesador 8086 (aunque ms
rpido).

Se sabe que el bus de direcciones de la PC XT era de 20 bits, por lo que


tericamente podan manejarse un total de 220 posibilidades (1.048.576). Sin
embargo, el procesador 8088 utilizado tiene registros de 16 bits, por lo que solo
puede contener directamente 216 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 0000FFFFh. Estas dos palabras pueden ser traducidas a una direccin de 20 bits
mediante la operacin denominada suma con desplazamiento. Por ejemplo,
suponiendo que el desplazamiento y el segmento fuesen respectivamente ABCDh y
E1FAh, la forma de obtener la direccin resultante es como sigue:

Una de las palabras, el desplazamiento, se desplaza una posicin aadindole un


cero a la derecha (equivale a multiplicarla por 16, ya que las direcciones se expresan
en hexadecimal). En nuestro caso, si el desplazamiento es ABCDh resulta
ABCD0h. Puesto que inicialmente es un hexadecimal de 4 cifras (ABCD en nuestro
caso), el desplazamiento la transforma en un hexadecimal de 5 cifras (ABCD0). El
valor obtenido se suma con el valor del segmento (E1FAh), as que la direccin
resultante, sera B9ECAh. Para distinguirla de la anterior, esta ltima forma se
denomina direccin absoluta.

Los procesadores 8088 tienen registros de 16


bits que pueden servir para almacenar los
desplazamientos, es decir, cualquier direccin
dentro de una zona de 64 KB (que se conoce
como segmento). Disponen adems de 4
registros de segmento de 16 bits (CS, SS, DS
y ES), en los que se almacenan las direcciones
de inicio del segmento activo en cada
momento. Resulta as, que pueden direccionar
un total absoluto de 1MByte, y hasta 64 x 4 =
256 KB sin necesidad de cambiar los registros
de segmento. Esto es lo que se conoce como
funcionamiento en modo real (como puede
verse, en realidad es una forma de manejar la
memoria).

Registros

Los registros del procesador


se emplean para controlar
instrucciones en ejecucin,
manejar
direccionamiento
de memoria y proporcionar
capacidad aritmtica.
Los registros son direccionables
por medio de un nombre.
La longitud de los registros es de
16 bits.

Los primeros cuatro, AX, BX, CX, y DX


son registros de uso general y tambin
pueden ser utilizados como registros de
8 bits, para utilizarlos como tales es
necesario referirse a ellos como por
ejemplo: AH y AL, que son los bytes
alto (high) y bajo (low) del registro AX.
Esta nomenclatura es aplicable tambin
a los registros BX, CX y DX.

Arquitectura del 8088

La unidad de ejecucin EU ejecuta las funciones lgicas y


aritmticas habituales.
La unidad de interfaz de bus BIU (Bus Interface Unit) almacena con
anticipacin 4 bytes de instrucciones memorizadas en una cola de
espera. Mientras la ALU ejecuta una instruccin, la BIU busca en
memoria la siguiente instruccin.

AX Acumulador
BX Registro base
CX Registro contador
DX Registro de datos

CS (Code Segment) Registro del segmento de cdigo


DS (Data Segment) Registro del segmento de datos
SS (Stack Segment) Registro del segmento de pila
ES (Extra Segment) Registro del segmento extra

SP (Stack Pointer) Registro del apuntador de la pila


BP (Base Pointer) Registro de apuntadores base
SI (Source Index) Registro ndice fuente
DI (Destination Index) Registro ndice destino

IP (instruction Pointer) Registro de apuntador de siguiente instruccin


F (Flag) Registro de banderas

Registros de propsito General


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

Registro AX
Este registro es el acumulador principal, implicado en gran parte de las operaciones
de aritmticas y de E/S.

Registro BX
Recibe el nombre de registro base ya que es el nico registro de propsito general
que se usa como un ndice en el direccionamiento indexado. Se suele utilizar para
clculos aritmticos.

Registro CX
Es conocido como registro contador ya que puede contener un valor para controlar el
nmero de veces que se repite una cierta operacin.

Registro DX
Se conoce como registro de datos. Algunas operaciones de E/S requieren su uso, y
las operaciones de multiplicacin y divisin con cifras grandes suponen que el DX y
el AX trabajando juntos.

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

Registro CS
Registro Segmento de Cdigo. Establece el rea de memoria dnde est el
programa durante su ejecucin.

Registro DS
Registro 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, para
almacenamiento temporal de direcciones y datos.

Registro ES
Registro Segmento Extra. Se suele utilizar en algunas operaciones con cadenas de
caracteres para direccionar la memoria.

Registros Punteros y Registros ndices


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

Registro SP
Proporciona un valor de desplazamiento que se refiere a la palabra actual
que est siendo procesada en la pila.
Registro BP
Facilita la referencia a los parmetros de las rutinas, los cuales son datos y
direcciones transmitidos va la pila.
Registro SI
Registro ndice fuente requerido en algunas operaciones con cadenas de
caracteres. Este registro est asociado con el registro DS.
Registro DI
Registro ndice destino requerido tambin en determinadas operaciones
con cadenas de caracteres. Est asociado al registro DS o ES.

Registro Apuntador de Instrucciones (IP) y Registro de


Bandera

Registro Apuntador de Instrucciones (IP).


Se trata de un registro de 16 bits que contiene el desplazamiento de la direccin de
la siguiente instruccin que se ejecutar. Est asociado con el registro CS en el
sentido 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:
Desplazamiento dentro del segmento de cdigo en IP:
Direccin de la siguiente instruccin a ejecutar:

25A40H
+ 0412H
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 el
estado actual de la mquina y el resultado del procesamiento. La mayor parte de las
instrucciones de comparacin y aritmticas modifican este registro. Algunas
instrucciones pueden realizar pruebas sobre este registro para determinar la accin
siguiente.

Los bits 0, 2, 4, 6, 7 y 11 son indicadores de condicin que reflejan los resultados de las
operaciones del programa; los bits 8 al 10 son indicadores de control que, modificados por el
programador, sirven para controlar ciertos modos de procesamiento, y el resto no se utilizan. El
significado 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 la
izquierda), despus de una operacin aritmtica.
DF Bit de Direccin. Designa la direccin, creciente (0) o decreciente (1), en operaciones con
cadenas de caracteres.
IF Bit de Interrupcin. Indica que una interrupcin externa, como la entrada desde el teclado, sea
procesada o ignorada.
TF Bit de Trap o Desvo. Procesa o ignora la interrupcin interna de trace (procesamiento paso a
paso).
SF Bit de Signo. Indica el valor del bit ms significativo del registro despus de una operacin
aritmtica 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 al
4. 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.

Direccionamiento de localidades de Memoria.


El 8086 posee un bus de datos de 16 bits y por tanto manipula cantidades de esta
longitud (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 menos
significativo. El sistema almacena en memoria estos bytes en secuencia inversa de
bytes, 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 Figura
siguiente:

Es importante tener en cuenta esta peculiaridad ya que al almacenar palabras en


una sola operacin, la recuperacin de esas palabras de memoria ha de hacerse en
longitudes de 16 bits; en caso de recuperarse en 2 octetos, el primer octeto
recuperado (direccin ms baja de memoria) correspondera al octeto menos
significativo y el siguiente al ms significativo.

Direccionamiento de Programas.
Cuando ejecutamos un programa, el DOS carga en la memoria el cdigo mquina
del programa. El registro CS contiene la direccin de inicio del segmento de cdigo
del programa y el registro DS la direccin de inicio del segmento de datos. El
segmento de cdigo contiene las instrucciones que sern ejecutadas, mientras que
el 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 ejecutada
dentro del segmento de cdigo. Un operando (que sea una referencia a memoria) de
una instruccin indica un desplazamiento en el segmento de datos del programa.

Pila (Stack)

Los programas ejecutables (.COM y .EXE) requieren una zona de memoria


reservada denominada pila (stack). La pila no es ms que un rea para el
almacenamiento 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 byte
siguiente al ltimo que pertenece a la pila. La pila se caracteriza porque
empieza a almacenar datos en la localidad ms alta y avanza hacia abajo
en la memoria:

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

Es importante darse cuenta con este ejemplo de que las instrucciones POP
deben ejecutarse en orden inverso a las rdenes PUSH: hay que sacar los
valores 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 los
valores que podran ser guardados en ella durante la ejecucin del programa.

Modos de direccionamiento
Las operaciones se hacen entre registros o registros y memoria, pero nunca entre
memoria y memoria (salvo algunas operaciones con cadenas de caracteres). Los
modos de direccionamiento determinan el lugar en que reside un operando, un
resultado 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 a
la que se quiere acceder.
Ejemplo: El operando fuente en MOV AX, [078AH]
El operando destino en MOV DIR1, AX

4.- DIRECTO RELATIVO A UN REGISTRO BASE. El operando es una direccin de


memoria a la que se desea acceder, y se calcula mediante un registro base. Este
registro base ser el BX o el BP segn deseemos trabajar con el segmento DS o SS
respectivamente.
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 direccin
de 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 de
direccionamiento indirecto por registro base o por registro ndice.

6.-INDEXADO A PARTIR DE UNA BASE. El operando es una direccin de memoria


a la que se desea acceder, y se calcula en base a un registro base y un registro
ndice. 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 un


registro de segmento: MOV AX, ES: [BX + SI + 6].

También podría gustarte