Você está na página 1de 30

1.

Estudio de Arquitectura de Microprocesador Intel 32 bits (IA-32)


- Historia del desarrollo de la computacin
- Arquitecturas del computador y CPU
- Arquitectura y Evolucin de los microprocesadores Intel
- Datos manejados por la Arquitectura IA-32
- Modos de Direccionamiento de Memoria
- Lenguaje Ensamblador

-Historia del desarrollo de la computacin

Uno de los primeros dispositivos mecnicos para contar fue el baco,


cuya historia se remonta a las antiguas civilizaciones griega y romana. Este
dispositivo es muy sencillo, consta de cuentas ensartadas en varillas que a su
vez estn montadas en un marco rectangular. Al desplazar las cuentas sobre
varillas, sus posiciones representan valores almacenados, y es mediante dichas
posiciones que este representa y almacena datos. A este dispositivo no se le
puede llamar computadora por carecer del elemento fundamental llamado
programa.

La primera computadora fue la mquina analtica creada por Charles


Babbage, profesor matemtico de la Universidad de Cambridge en el siglo XIX.
La idea que tuvo Charles Babbage sobre un computador naci debido a que la
elaboracin de las tablas matemticas era un proceso tedioso y propenso a
errores. En 1823 el gobierno Britnico lo apoyo para crear el proyecto de una
mquina de diferencias, un dispositivo mecnico para efectuar sumas
repetidas.

Mientras tanto Charles Jacquard (francs), fabricante de tejidos, haba creado


un telar que poda reproducir automticamente patrones de tejidos leyendo
la informacin codificada en patrones de agujeros perforados en tarjetas de
papel rgido. Al enterarse de este mtodo Babbage abandon la mquina de
diferencias y se dedico al proyecto de la mquina analtica que se pudiera
programar con tarjetas perforadas para realizar cualquier clculo con una
precisin de 20 dgitos. La tecnologa de la poca no bastaba para hacer
realidad sus ideas.

En 1944 se construy en la Universidad de Harvard, la Mark I, diseada por


un equipo encabezado por Howard H. Aiken. Esta mquina no est considerada
como computadora electrnica debido a que no era de propsito general y su
funcionamiento estaba basado en dispositivos electromecnicos llamados
relevadores.

En 1947 se construy en la Universidad de Pennsylvania la ENIAC (Electronic


Numerical Integrator And Calculator) que fue la primera computadora
electrnica, el equipo de diseo lo encabezaron los ingenieros John Mauchly y
John Eckert. Esta mquina ocupaba todo un stano de la Universidad, tena
ms de 18 000 tubos de vaco, consuma 200 KW de energa elctrica y
requera todo un sistema de aire acondicionado, pero tena la capacidad de
realizar cinco mil operaciones aritmticas en un segundo.

El proyecto, auspiciado por el departamento de Defensa de los Estados


Unidos, culmin dos aos despus, cuando se integr a ese equipo el ingeniero
y matemtico hngaro John von Neumann (1903 - 1957). Las ideas de von
Neumann resultaron tan fundamentales para su desarrollo posterior, que es
considerado el padre de las computadoras.

La EDVAC (Electronic Discrete Variable Automatic Computer) fue diseada


por este nuevo equipo. Tena aproximadamente cuatro mil bulbos y usaba un
tipo de memoria basado en tubos llenos de mercurio por donde
circulaban seales elctricas sujetas a retardos.

La idea fundamental de von Neumann fue: permitir que en la


memoria coexistan datos con instrucciones, para que entonces la
computadora pueda ser programada en un lenguaje, y no por medio de
alambres que elctricamente interconectaban varias secciones de control,
como en la ENIAC.

Todo este desarrollo de las computadoras suele divisarse por generaciones y


el criterio que se determin para determinar el cambio de generacin no est
muy bien definido, pero resulta aparente que deben cumplirse al menos los
siguientes requisitos:

La forma en que estn construidas.

Forma en que el ser humano se comunica con ellas.


Primera Generacin

En esta generacin haba un gran desconocimiento de las capacidades de las


computadoras, puesto que se realiz un estudio en esta poca que determin
que con veinte computadoras se saturara el mercado de los Estados Unidos en
el campo de procesamiento de datos.

Esta generacin abarco la dcada de los cincuenta. Y se conoce como la


primera generacin. Estas mquinas tenan las siguientes caractersticas:

Estaban construidas por medio de tubos de vaco.

Eran programadas en lenguaje de mquina.

En esta generacin las mquinas son grandes y costosas (de


un costo aproximado de ciento de miles de dlares).

En 1951 aparece la UNIVAC (Universal Computer), fue la primera


computadora comercial, que dispona de mil palabras de memoria central y
podan leer cintas magnticas, se utiliz para procesar el censo de 1950 en los
Estados Unidos.

En las dos primeras generaciones, las unidades de entrada utilizaban tarjetas


perforadas, retomadas por Herman Hollerith (1860 - 1929), quien adems
fund una compaa que con el paso del tiempo se conocera como IBM
(International Bussines Machines).

Despus se desarroll por IBM la IBM 701 de la cual se entregaron 18


unidades entre 1953 y 1957.

Posteriormente, la compaa Remington Rand fabric el modelo 1103, que


competa con la 701 en el campo cientfico, por lo que la IBM desarrollo la 702,
la cual present problemas en memoria, debido a esto no dur en el mercado.
La computadora ms exitosa de la primera generacin fue la IBM 650, de la
cual se produjeron varios cientos. Esta computadora que usaba un esquema de
memoria secundaria llamado tambor magntico, que es el antecesor de los
discos actuales.

Otros modelos de computadora que se pueden situar en los inicios de la


segunda generacin son: la UNIVAC 80 y 90, las IBM 704 y 709, Burroughs
220 y UNIVAC 1105.

Segunda Generacin

Cerca de la dcada de 1960, las computadoras seguan evolucionando, se


reduca su tamao y creca su capacidad de procesamiento. Tambin en esta
poca se empez a definir la forma de comunicarse con las computadoras, que
reciba el nombre de programacin de sistemas.
Las caractersticas de la segunda generacin son las siguientes:

Estn construidas con circuitos de transistores.

Se programan en nuevos lenguajes llamados lenguajes de alto nivel.

En esta generacin las computadoras se reducen de tamao y son de menor


costo. Aparecen muchas compaas y las computadoras eran bastante
avanzadas para su poca como la serie 5000 de Burroughs y la ATLAS de la
Universidad de Manchester.
Algunas de estas computadoras se programaban con cintas perforadas y otras
ms por medio de cableado en un tablero. Los programas eran hechos a la
medida por un equipo de expertos: analistas, diseadores, programadores y
operadores que se manejaban como una orquesta para resolver los problemas
y clculos solicitados por la administracin. El usuario final de la informacin
no tena contacto directo con las computadoras. Esta situacin en un principio
se produjo en las primeras computadoras personales, pues se requera
saberlas "programar" (alimentarle instrucciones) para obtener resultados; por
lo tanto su uso estaba limitado a aquellos audaces pioneros que gustaran de
pasar un buen nmero de horas escribiendo instrucciones, "corriendo" el
programa resultante y verificando y corrigiendo los errores o bugs que
aparecieran. Adems, para no perder el "programa" resultante haba que
"guardarlo" (almacenarlo) en una grabadora de astte, pues en esa poca no
haba discos flexibles y mucho menos discos duros para las PC;
este procedimiento poda tomar de 10 a 45 minutos, segn el programa. El
panorama se modific totalmente con la aparicin de las computadoras
personales con mejores circuitos, ms memoria, unidades de disco flexible y
sobre todo con la aparicin de programas de aplicacin general en donde el
usuario compra el programa y se pone a trabajar. Aparecen los
programas procesadores de palabras como el clebre Word Star, la
impresionante hoja de clculo (spreadsheet) Visicalc y otros ms que de la
noche a la maana cambian la imagen de la PC. El software empieza a tratar
de alcanzar el paso del hardware. Pero aqu aparece un nuevo elemento: el
usuario.

Las computadoras de esta generacin fueron: la Philco 212 (esta compaa se


retir del mercado en 1964) y la UNIVAC M460, la Control Data Corporation
modelo 1604, seguida por la serie 3000, la IBM mejor la 709 y sac al
mercado la 7090, la National Cash Register empez a producir mquinas para
proceso de datos de tipo comercial, introdujo el modelo NCR 315.

La Radio Corporation of America introdujo el modelo 501, que manejaba el


lenguaje COBOL, para procesos administrativos y comerciales. Despus sali al
mercado la RCA 601.

Tercera Generacin

Con los progresos de la electrnica y los avances de comunicacin con las


computadoras en la dcada de los 1960, surge la tercera generacin de las
computadoras. Se inaugura con la IBM 360 en abril de 1964.3
Las caractersticas de esta generacin fueron las siguientes:

Su fabricacin electrnica est basada en circuitos integrados.

Su manejo es por medio de los lenguajes de control de los sistemas


operativos.
La IBM produce la serie 360 con los modelos 20, 22, 30, 40, 50, 65, 67, 75,
85, 90, 195 que utilizaban tcnicas especiales del procesador, unidades de
cinta de nueve canales, paquetes de discos magnticos y otras caractersticas
que ahora son estndares (no todos los modelos usaban estas tcnicas, sino
que estaba dividido por aplicaciones).

El sistema operativo de la serie 360, se llam OS que contaba con varias


configuraciones, inclua un conjunto de tcnicas de manejo de memoria y del
procesador que pronto se convirtieron en estndares.

En 1964 CDC introdujo la serie 6000 con la computadora 6600 que se


consider durante algunos aos como la ms rpida.

En la dcada de 1970, la IBM produce la serie 370 (modelos 115, 125, 135,
145, 158, 168). UNIVAC compite son los modelos 1108 y 1110, mquinas en
gran escala; mientras que CDC produce su serie 7000 con el modelo 7600.

Estas computadoras se caracterizan por ser muy potentes y veloces.

A finales de esta dcada la IBM de su serie 370 produce los modelos 3031,
3033, 4341. Burroughs con su serie 6000 produce los modelos 6500 y 6700 de
avanzado diseo, que se reemplazaron por su serie 7000. Honey - Well
participa con su computadora DPS con varios modelos.

A mediados de la dcada de 1970, aparecen en el mercado las computadoras


de tamao mediano, o minicomputadoras que no son tan costosas como las
grandes (llamadas tambin como mainframes que significa tambin, gran
sistema), pero disponen de gran capacidad de procesamiento. Algunas
minicomputadoras fueron las siguientes: la PDP - 8 y la PDP - 11 de Digital
Equipment Corporation, la VAX (Virtual Address extended) de la misma
compaa, los modelos NOVA y ECLIPSE de Data General, la serie 3000 y 9000
de Hewlett - Packard con varios modelos el 36 y el 34, la Wang y Honey - Well
-Bull, Siemens de origen alemn, la ICL fabricada en Inglaterra. En la Unin
Sovitica se utiliz la US (Sistema Unificado, Ryad) que ha pasado por varias
generaciones.
Cuarta Generacin

Aqu aparecen los microprocesadores que es un gran adelanto de la


microelectrnica, son circuitos integrados de alta densidad y con
una velocidad impresionante. Las microcomputadoras con base en estos
circuitos son extremadamente pequeas y baratas, por lo que su uso se
extiende al mercado industrial. Aqu nacen las computadoras personales que
han adquirido proporciones enormes y que han influido en la sociedad en
general sobre la llamada "revolucin informtica".

En 1976 Steve Wozniak y Steve Jobs inventan la primera microcomputadora


de uso masivo y ms tarde forman la compaa conocida como la Apple que
fue la segunda compaa ms grande del mundo, antecedida tan solo por IBM;
y esta por su parte es an de las cinco compaas ms grandes del mundo.
En 1981 se vendieron 800 000 computadoras personales, al siguiente subi a 1
400 000. Entre 1984 y 1987 se vendieron alrededor de 60 millones de
computadoras personales, por lo que no queda duda que su impacto y
penetracin han sido enormes.

Con el surgimiento de las computadoras personales, el software y los


sistemas que con ellas de manejan han tenido un considerable avance, porque
han hecho ms interactiva la comunicacin con el usuario. Surgen otras
aplicaciones como los procesadores de palabra, las hojas electrnicas de
clculo, paquetes grficos, etc. Tambin las industrias del Software de las
computadoras personales crece con gran rapidez, Gary Kildall y William Gates
se dedicaron durante aos a la creacin de sistemas operativos y mtodos para
lograr una utilizacin sencilla de las microcomputadoras (son los creadores de
CP/M y de los productos de Microsoft).

No todo son microcomputadoras, por supuesto, las minicomputadoras y los


grandes sistemas continan en desarrollo. De hecho las mquinas pequeas
rebasaban por mucho la capacidad de los grandes sistemas de 10 o 15 aos
antes, que requeran de instalaciones costosas y especiales, pero sera
equivocado suponer que las grandes computadoras han desaparecido; por el
contrario, su presencia era ya ineludible en prcticamente todas las esferas de
control gubernamental, militar y de la gran industria. Las enormes
computadoras de las series CDC, CRAY, Hitachi o IBM por ejemplo, eran
capaces de atender a varios cientos de millones de operaciones por segundo.

Quinta Generacin

En vista de la acelerada marcha de la microelectrnica, la sociedad industrial


se ha dado a la tarea de poner tambin a esa altura el desarrollo del software y
los sistemas con que se manejan las computadoras. Surge
la competencia internacional por el dominio del mercado de la computacin, en
la que se perfilan dos lderes que, sin embargo, no han podido alcanzar el nivel
que se desea: la capacidad de comunicarse con la computadora en un lenguaje
ms cotidiano y no a travs de cdigos o lenguajes de control especializados.
Japn lanz en 1983 el llamado "programa de la quinta generacin de
computadoras", con los objetivos explcitos de producir mquinas con
innovaciones reales en los criterios mencionados. Y en los Estados Unidos ya
est en actividad un programa en desarrollo que persigue objetivos
semejantes, que pueden resumirse de la siguiente manera:

Procesamiento en paralelo mediante arquitecturas y diseos especiales y


circuitos de gran velocidad.

Manejo de lenguaje natural y sistemas de inteligencia artificial.

El futuro previsible de la computacin es muy interesante, y se puede esperar


que esta ciencia siga siendo objeto de atencin prioritaria de gobiernos y de la
sociedad en conjunto.
- Arquitecturas del computador y CPU
La arquitectura del computador es el diseo conceptual y la estructura
operacional fundamental de un sistema de computadoras. Es decir, es un
modelo y una descripcin funcional de los requerimientos y las
implementaciones de diseo para varias partes de una computadora, con
especial inters en la forma en que la unidad central de proceso (CPU) trabaja
internamente y accede a las direcciones de memoria.
Tambin suele definirse como la forma de interconectar componentes
de hardware, para crear computadoras segn los requerimientos de
funcionalidad, rendimiento y costo.
La computadora recibe y enva la informacin a travs de los perifricos, por
medio de los canales.
Unidad central de proceso (CPU)
Es la encargada de procesar la informacin que le llega a la computadora. El
intercambio de informacin se tiene que hacer con los perifricos y la CPU.
Puede considerarse que todas aquellas unidades de un sistema, exceptuando la
CPU, se denomina perifrico, por lo que la computadora tiene dos partes bien
definidas, que son:

1. La CPU (encargada de ejecutar programas y que tambin se considera


compuesta por la memoria principal, la unidad aritmtico lgica y
la unidad de control).

2. Los perifricos (que pueden ser de entrada, salida, entrada/salida,


almacenamiento y comunicaciones).

Las CPU representan el cerebro de los sistemas de computo modernos y su


funcin bsica es la de ejecutar los programas almacenados en la memoria
principal coordinando todas las actividades del sistema de computacin para
procesar la informacin.
Los pasos bsicos seguidos por las CPU para la ejecucin de un programa
son:
Buscar las instrucciones en la memoria a travs de direcciones predefinidas.
Examinar y preprocesar estas instrucciones.
Ejecutar una instruccin tras otra.
Almacenar los resultados de vuelta en la memoria.
La CPU se compone de cuatro partes fundamentales: la unidad de control, la
unidad aritmtica lgica, los registros y el bus de conexin.
Funciones principales de los componentes principales de la CPU:

La unidad de control: que se encarga de buscar las instrucciones en la


memoria principal y determinar su tipo.
La unidad aritmtica lgica: que como bien lo indica su nombre, est a
cargo de todas las operaciones aritmticas y lgicas necesarias en la ejecucin
de ciertas instrucciones.
Los registros: son memorias pequeas y de alta velocidad que sirven para
almacenar los operandos y resultados de las operaciones realizadas por las
diferentes unidades de procesamiento de los CPU.
El bus: es el componente interno de la CPU encargado de transmitir los
datos, direcciones y seales de control, entre las diferentes unidades del CPU.

La CPU, otros chips y componentes electrnicos se ubican en un tablero de


circuitos o tarjeta madre.
Los factores relevantes de los chips de CPU son:
Compatibilidad: No todo el software es compatible con todas las CPU. En
algunos casos se pueden resolver los problemas de compatibilidad
usando software especial.
Velocidad: La velocidad de una computadora est determinada por la
velocidad de su reloj interno, el dispositivo cronomtrico que produce pulsos
elctricos para sincronizar las operaciones de la computadora.
Las computadoras se describen en funcin de su velocidad de reloj, que se
mide en mega hertz. La velocidad tambin est determinada por
la arquitectura del procesador, es decir el diseo que establece de qu manera
estn colocados en el chip los componentes individuales de la CPU.

El Procesador
El chip ms importante de cualquier placa madre es el procesador. Sin l la
computadora no podra funcionar. A menudo este componente se determina
CPU, que describe a la perfeccin su papel dentro del sistema. El procesador es
realmente el elemento central del proceso de procesamiento de datos.
Los procesadores se describen en trminos de su tamao de palabra, su
velocidad y la capacidad de su RAM asociada.

Tamao de la palabra: Es el nmero de bits que se maneja como una


unidad en un sistema de computacin en particular.

Velocidad del procesador: Se mide en diferentes unidades segn el


tipo de computador:

MHz (Megahertz): para microcomputadoras. Un oscilador de cristal controla


la ejecucin de instrucciones dentro del procesador. La velocidad del
procesador de una micro se mide por su frecuencia de oscilacin o por el
nmero de ciclos de reloj por segundo. El tiempo transcurrido para un ciclo de
reloj es 1/frecuencia.
MIPS (Millones de instrucciones por segundo): Para estaciones de
trabajo, minis y macrocomputadoras. Por ejemplo una computadora de 100
MIPS puede ejecutar 100 millones de instrucciones por segundo.
FLOPS (floating point operations per second, operaciones de punto
flotante por segundo): Para las supercomputadoras. Las operaciones de
punto flotante incluyen cifras muy pequeas o muy altas. Hay
supercomputadoras para las cuales se puede hablar de GFLOPS (Gigaflops, es
decir 1.000 millones de FLOPS).
Capacidad de la RAM: Se mide en trminos del nmero de bytes que puede
almacenar. Habitualmente se mide en KB y MB, aunque ya hay computadoras
en las que se debe hablar de GB.

Dispositivos de Entrada

Teclado
Es un dispositivo perifrico de entrada, que convierte la accin mecnica de
pulsar una serie de pulsos elctricos codificados que permiten identificarla. Las
teclas que lo constituyen sirven para entrar caracteres alfanumricos y
comandos a una computadora.
En un teclado se puede distinguir a cuatro subconjuntos de teclas:

Teclado alfanumrico: con las teclas dispuestas como en una mquina


de escribir.

Teclado numrico: (ubicado a la derecha del anterior) con teclas


dispuestas como en una calculadora.

Teclado de funciones: (desde F1 hasta F12) son teclas cuya funcin


depende del programa en ejecucin.

Teclado de cursor: para ir con el cursor de un lugar a otro en un texto.


El cursor se mueve segn el sentido de las flechas de las teclas, ir al comienzo
de un prrafo (" HOME "), avanzar / retroceder una pgina ("PAGE UP/PAGE
DOWN "), eliminar caracteres ("delete"), etc.

El Mouse O Ratn
El ratn o Mouse es un dispositivo apuntador utilizado para facilitar el manejo
de un entorno grfico en una computadora. Generalmente est fabricado
en plstico, y se utiliza con una de las manos. Detecta su movimiento relativo
en dos dimensiones por la superficie plana en la que se apoya, reflejndose
habitualmente a travs de un puntero, cursor o flecha en el monitor. El ratn
se puede conectar de forma almbrica (puertos PS/2 y USB) o
inalmbricamente (comunicacin inalmbrica o wireless, por medio de un
adaptador USB se conecta a la computadora y esta manda la seal al ratn,
tambin pueden ser por medio de conectividad bluetooth o infrarrojo).

Es un perifrico de entrada imprescindible en una computadora de


escritorio para la mayora de las personas, y pese a la aparicin de otras
tecnologas con una funcin similar, como la pantalla tctil, la prctica
demuestra todava su vida til. No obstante, en el futuro podra ser posible
mover el cursor o el puntero con los ojos o basarse en el reconocimiento de
voz.

El Escner O Digitalizador De Imgenes


Son perifricos diseados para registrar caracteres escritos, o grficos en
forma de fotografas o dibujos, impresos en una hoja de papel facilitando su
introduccin a la computadora convirtindolos en informacin binaria
comprensible para sta.
El funcionamiento de un escner es similar al de una fotocopiadora. Se coloca
una hoja de papel que contiene una imagen sobre una superficie de cristal
transparente, bajo el cristal existe una lente especial que realiza un barrido de
la imagen existente en el papel; al realizar el barrido, la informacin existente
en la hoja de papel es convertida en una sucesin de informacin en forma de
unos y ceros que se introducen en la computadora.
En fin, se trata de coger una imagen (fotografa, dibujo o texto) y convertirla
a un formato que podamos almacenar y modificar con el ordenador. Realmente
un escner no es ni ms ni menos que los ojos del ordenador. Los escneres
captaban las imgenes nicamente en blanco y negro o, como mucho, con un
nmero muy limitado de matices de gris, entre 16 y 256. Posteriormente
aparecieron escner que podan captar color, aunque el proceso requera tres
pasadas por encima de la imagen, una para cada color primario (rojo, azul y
verde). Hoy en da la prctica totalidad de los escner captan hasta 16,7
millones de colores distintos en una nica pasada, e incluso algunos llegan
hasta los 68.719 millones de colores.

Dispositivos De Salida

Impresora
Esta es la que permite obtener en un soporte de papel una hardcopy: copia
visualizable, perdurable y transportable de la informacin procesada por un
computador.
Las primeras impresoras nacieron muchos aos antes que el PC e incluso
antes que los monitores, siendo durante aos el mtodo ms usual para
presentar los resultados de los clculos en aquellos primitivos ordenadores,
todo un avance respecto a las tarjetas y cintas perforadas que se usaban hasta
entonces.

La velocidad de una impresora se suele medir con dos parmetros:

Ppm : pginas por minuto que es capaz de imprimir;

Cps: caracteres (letras) por segundo que es capaz de imprimir

Ppp: puntos por pulgada (cuadrada) que imprime una impresora

Monitor
Evidentemente, es la pantalla en la que se ve la informacin suministrada por
el ordenador. En el caso ms habitual se trata de un aparato basado en un
tubo de rayos catdicos (CRT) como el de los televisores, mientras que en los
porttiles es una pantalla plana de cristal lquido (LCD).
La resolucin se define como el nmero de puntos que puede representar el
monitor por pantalla, en horizontal x vertical. As, un monitor cuya resolucin
mxima sea de 1024x768 puntos puede representar hasta 768 lneas
horizontales de 1024 puntos cada una, probablemente adems de otras
resoluciones inferiores, como 640x480 u 800x600. Cuan mayor sea la
resolucin de un monitor, mejor ser la calidad de la imagen en pantalla, y
mayor ser la calidad (y por consiguiente el precio) del monitor.

- Arquitectura y Evolucin de los microprocesadores Intel

Microprocesador de 4 bits
Este microprocesador surge como una solucin a un problema de diseo que
planteo una compaa japonesa llamada Busicom en 1969 para la creacin de
una maquina calculadora basada en chips que cost 60,000$.
El ingeniero a cargo de este proyecto en Intel, Ted Hoff al examinar las
exigencias se percato de que era posible utilizar, en lugar de un conjunto de
chips, un microprocesador de 4 bits de propsito general que hara el mismo
trabajo que el conjunto de chips propuesto por Busicom. Estos eventos dieron
origen al primer microprocesador del mundo.

Microprocesador de 8 bits
El 8085 era ms rpido que el 8080 y adems incorporaba un generador de
reloj y el controlador del sistema.

Microprocesador de 16 bits
La evolucin a 16bits fue impulsada por la necesidad de direccionar ms
memoria y por las necesidades de incorporar capacidades de multiplicacin y
divisin.
Poseen una capacidad para direccionar una memoria de 1MB lo que es lo
mismo que 512K palabras (una palabra tiene 16 bits).
Microprocesador de 16 bits
Con el 8086 se introduce el manejo de la memoria por medio de segmentos,
a esto se le llamo segmentacin de memoria. Estos microprocesadores utilizan
un registro de 16 bits (palabra) capaz de acceder a un segmento de memoria
de 64 K.
El 80186 fue utilizado mayoritariamente en aplicaciones de control o como
controlador de dispositivos en las tarjetas madres o tarjetas de propsito
especifico.
El 80286 (1982) representaba una mejora real sobre la arquitectura de 16
bits preexistente.
Posea capacidad para direccionar una mayor cantidad de memoria 16 MB
(mediante 24 bits en el bus de direcciones) y ya trabajaba a 16 MHz.
Incluy un nuevo modo de operacin, el modo protegido introdujo mejor
seguridad y proteccin del sistema de memoria, y el manejo de memoria
virtual para el intercambio de segmentos de memoria.

Microprocesador de 32 bits
El 80386 fue el primero en salir (1985) al mercado con una velocidad de
reloj de 33 MHz y una capacidad de direccionamiento de memoria de 4 GB.
En el 80386 se introdujo la paginacin como una herramienta adicional para
la administracin de memoria en el modelo de memoria segmentada y es el
primer microprocesador en incorporar etapas paralelas en procesamiento (lo
que se conoce como paralelismo). En el 80386 se incluyen 6 etapas de
paralelismo compuestas por unidades de procesamiento especfico.
El 80486 (1989) tena el doble de la velocidad de reloj (66 MHz) que su
predecesor y exista una versin que adicionalmente incorpora un coprocesador
aritmtico (versin 80486DX) y una memoria cach de 8 KB en el chip.

Unidad de interfaz del bus: que permita el acceso a la memoria y a los


dispositivos de E/S por parte de las dems unidades del CPU.
Unidad de prebsqueda de instrucciones: permita recibir cdigo objeto
de la unidad del bus y colocarlo en una cola de 16 bytes.
Unidad de decodificacin de instrucciones: decodifica el cdigo de la
cola de la unidad de prebsqueda y lo convierte en microcodigo.
Unidad de ejecucin: ejecuta instrucciones de microcodigo.
Unidad de segmentacin: traduce direcciones lgicas a direcciones lineales
y realiza verificaciones de proteccin.
Unidad de paginacin: realiza la conversin de direcciones lineales a
fsicas, realiza verificaciones de proteccin de paginacin y mantiene un cache
con las pginas ms recientes usadas.
El 386 incluyo tambin un nuevo modo de funcionamiento denominado modo
virtual-8086, cuyo propsito era el de mejorar la eficiencia en el procesamiento
de aplicaciones desarrolladas para los microprocesadores 8086 y 8088.
Estos microprocesadores son capaces de trabajar tanto con el modelo de
memoria segmentado como con el modelo de memoria plano (en el cual todos
los segmentos se solapan y tienen acceso a los 4GB completos de memoria).
El 80486 tena el doble de la velocidad de reloj (66 MHz) que su predecesor
y exista una versin que adicionalmente incorpora un coprocesador aritmtico
(versin 80486DX) y una memoria cach de 8 KB en el chip.

En el 80486 se aaden ms etapas paralelas; se dividen las unidades de


decodificacin y ejecucin en cinco lneas de ejecucin independientes que
reciben el nombre de Pipeline

La tecnologa de procesamiento paralelo permiti que estos procesadores


ejecutaran una instruccin por ciclo de reloj.

Finalmente, se aade un cache nivel 1 al microprocesador, se integra la


unidad de punto flotante al chip del CPU y se aaden caractersticas de ahorro
energtico al microprocesador

Pentium
Fue la evolucin de la generacin x86. Apareci con dos lneas de ejecucin
(dos Pipelines, convirtindose en la primera arquitectura superescalar de
Intel). Pentium adems:
Incluy un sistema de prediccin de ramificaciones de algoritmos.
Incluy un controlador avanzado de control de interrupciones (Advanced
Programable Interrupt Controller-APIC) para permitir la conexin de mltiples
procesadores Pentium. Esta arquitectura permiti la ejecucin de hasta dos
instrucciones en un ciclo de reloj.
El cache se almaceno dentro del chip y se duplico su tamao, dedicando 8 KB
a datos y los 8KB restantes a cdigo.
Mejora la compatibilidad del modo virtual-8086 y expande el tamao de los
buses de datos internos de microprocesador a 128 bits y 256 bits.
El bus de datos externo incrementa de 32 bits a 64 bits.
El ltimo procesador introducido en la familia Pentium fue el Pentium MMX.
Este inclua la tecnologa MMX que usaba las instrucciones SIMD (single-
instruction, multiple-data) para el procesamiento en paralelo de enteros
empaquetados contenidos en registros MMX de 64 bits.
La tecnologa MMX permiti mejorar grandemente el rendimiento de estos
procesadores en la ejecucin de aplicaciones multimedia, procesamiento de
imgenes y en aplicaciones de compresin de datos.

Architectura P6
Se basan en una nueva micro-arquitectura superescalar que ofrece mejor
rendimiento que las arquitecturas anteriores con la misma tecnologa de
fabricacin.
Los procesadores sper escalares de pueden iniciar la ejecucin simultnea
de varias instrucciones escalares en paralelo permitiendo con esto ejecutar
ms de una instruccin por ciclo de reloj.
El Pentium Pro posea una arquitectura superescalar con tres lneas de
procesamiento (tres Pipelines de 12 etapas c/u) lo que le permiti ejecutar
hasta tres instrucciones por ciclo de reloj.
En este procesador tambin se introdujo el concepto de ejecucin dinmica y
se le aadi un segundo cach denominado cache de nivel 2 con un tamao de
256 KB. Por ltimo, incluyo un bus de direcciones de 36 bits lo que le permiti
acceder a un total de 64GB de memoria.
La ejecucin dinmica consiste en la capacidad de predecir las ramificaciones
del programa que sern ejecutadas, hacer seguimiento de la trayectoria de
datos dentro del CPU para aprovechar las oportunidades de ejecucin de
instrucciones fuera de orden.
Buscando con esto, adelantar la ejecucin de instrucciones posteriores a las
ramificaciones con datos independientes de las ramificaciones para mantener
ocupadas las unidades del CPU y luego retirar los resultados de forma
ordenada.
Architectura Netburst
Procesadores:
Pentium 4
Xeon
Mobile Pentium 4-M
Pentium 4 EE
Pentium 4E
Pentium 4F
Pentium D
Pentium Extreme Edition

Caractersticas:
La arquitectura NetBurst mejora la velocidad de la arquitectura P6,
incrementa el paralelismo de los pipelines a 20 etapas, ejecucin dinmica,
aade las instrucciones SSE2, SSE3 y un cache nivel 3.

Hyperthreading y Dual-Core
La tecnologa Hyperthreading fue desarrollada para mejorar el rendimiento
de la arquitectura IA32 al ejecutar en sistemas operativos multi-hilos y en la
ejecucin de aplicaciones de un hilo pero que se ejecutan en entornos
multitareas.
HyperThreading es una tcnica que permite simular dos procesadores sobre
uno slo. Esto mejora la velocidad de las aplicaciones en un 30% aprox.

En la actualidad los microprocesadores Intel poseen muchas mas unidades


internas, haciendo crecer su paralelismo interno.
El paralelismo puede encontrarse a nivel del chip en forma de mltiples
unidades internas, en mltiples pipelines o incluso como mltiples
procesadores encapsulados en el mismo chip. Tambin es posible conseguir
niveles de paralelismo fuera del chip en una misma tarjeta madre, esto es, en
tarjetas madres que soporten mltiples procesadores. Finalmente, se puede
conseguir paralelismo a nivel de computadores completos en dos formas
principales como grids (o rejillas de computadores) y como clusters (o
conglomerados de computadores).

- Datos manejados por la Arquitectura IA-32

Los microprocesadores intel de la familia IA-32 manejan diversos tipo de


datos. Los datos en los microprocesadores intel se pueden almacenar en forma
de enteros, BCD y decimales.
Sin importar el tipo, existen unos formatos bsicos utilizados por la familia
IA-32 para el almacenamiento de estos datos:
Bytes (8 b).
Palabras (16 b).
Palabras dobles (32 b).
Palabras cudruples 64 b).
Palabras cudruples dobles (128 b).
Los datos manejados sern almacenados en alguno de estos formatos
dependiendo de lo grande o pequeo del dato que se desea representar o del
tamao con el que se desea operar.

Datos Enteros
Los datos enteros se pueden almacenar en binario simple cuando se desea
representar los enteros sin signo y en complemento a dos cuando se desea
representar enteros con signo.
En binario simple se usa cualquiera de los formatos vistos para almacenar un
dato. Es evidente que mientras ms grande sea el dato es probable que se
requiera un formato ms grande para poder almacenarlo.

Datos Decimales
En los microprocesadores modernos se utiliza la norma IEEE-754 para
representar los nmeros decimales.
Hoy en da existen tres formatos distintos de esta norma para representar
nmeros decimales:
Punto flotante de precisin simple.
Punto flotante de precisin doble.
Punto flotante de precisin doble extendida.

Datos BCD
En los microprocesadores intel se pueden manejar los nmeros BCD (Binary-
Coded Decimal) de forma directa. Tanto la unidad aritmticolgica como la
unidad punto flotante soportan operaciones en BCD. El almacenamiento de
estos nmeros puede ser en tres formas diferentes:
Formato desempacado.
Formato empacado.
Formato empacado en 80 bits.
En la dcada de los aos 70, la corporacin INTEL, saca al mercado los
primeros computadores con arquitectura X86, en especfico, el INTEL 8086 y el
INTEL 8088, los cuales se convirtieron en la base de los microprocesadores
modernos, dando paso a dispositivos INTEL como el 80286, el 80386 y el
PENTIUM, siendo el inicio de los microprocesadores de 16 y 32 bits. Lo que
hizo tan especial a esta arquitectura fue la versatilidad con la que se poda
comunicar con diferentes dispositivos, de manera que era modular, y poda ser
utilizado para muchas aplicaciones. Su arquitectura de propsito general, se
basaba en un banco de registros internos, de los cuales muchos podan ser
utilizados como registros de 8 y 16 bits simultneamente.
Las instrucciones ejecutadas por el 8088, son de tipo CISC, es decir, que son
instrucciones complejas con varios tamaos y formatos diferentes. Adems de
esto, la versatilidad del microprocesador para realizar direccionamiento, brinda
una ventana de opciones infinitas para el programador, as como servir de base
para direccionamientos avanzados como la virtualizacin y la paginacin. Posee
diferentes seales externas que amplan las posibilidades de uso, puede
responder a interrupciones, as como a seales de retencin del bus,
permitiendo funciones como el acceso directo a memoria. Adems cuenta con
una seal de espera, la cual es examinada mediante una instruccin
permitiendo aguardar otros dispositivos.
El microprocesador 8088 cuenta con 22 registros diferentes, separados en 2
bloques principales. 19 de ellos son direccionables directamente, los otros 3
requieren instrucciones especficas para hacerlo. El primer bloque est formado
por los registros de ejecucin, la figura 2 muestra estos registros. Se trata de
12 registros, de los cuales, 4 son de 16 bits, estos son los registros SP, BP, SI y
DI, adems de 8 registros de 8 bits AH, AL, BH, BL, CH, CL, DH y DL, estos
ltimos registros se unen para formar 4 registros de 16 bits. De esta forma
AH-AL forma el registro AX, de manera similar la concatenacin de BH-BL, CH-
CL, DH-DL forman los registros BX, CX y DX. El diseo permite que el
programador pueda direccionar las partes bajas, las partes altas o los registros
completos.

Figura 2. Registros de ejecucin.

Cada uno de estos registros tiene una funcin especial, conocer esa funcin
es fundamental para que el programador pueda ejecutar programas ms
eficientes. El nombre de los registros y su funcin se explica a continuacin.
AX (AH-AL): El registro acumulador, se utiliza para realizar cuentas,
operaciones y movimientos sencillos, su uso acorta el tamao de
muchas instrucciones.
BX (BH-BL): El registro base, se utiliza como base para hacer
direccionamiento a la memoria de Datos, de igual forma algunas
instrucciones tienen su uso por defecto.
CX (CH-CL): El registro cuenta, como su nombre lo indica, se utiliza
principalmente para realizar cuentas, incrementos y decrementos.
DX (DH-DL): El registro de datos, se utiliza principalmente para
guardar datos, muchos de estos, datos resultantes de 32 bits de largo.
SP: El registro apuntador de Pila, permite direccionar la pila. Se
aumenta o decrece con muchas instrucciones de movimiento a la
misma.
BP: El registro apuntador de Base, se utiliza principalmente para
hacer direccionamiento dentro de la pila.
DI: El registro ndice de Destino, se utiliza para hacer
direccionamiento avanzado junto con el registro SI, permitiendo copiar
bloques completos usando pocas instrucciones.
SI: El registro ndice de Fuente, se utiliza, al igual que el DI, para
hacer direccionamiento avanzado entre segmentos.
El segundo bloque est formado por los registros de segmento, todos estos
son registros de 16 bits, correspondiente a los cuatro segmentos, CS, ES, SS,
DS. Se utilizan como base superior para realizar diferentes tipos de
direccionamiento a pila, cdigo o datos. La figura 3 muestra estos registros.

Figura 3. Registros de segmentos.

Al igual que los registros de ejecucin cada registro de segmento tiene una
funcin especfica la cual requiere ser conocida por el programador. Dicha
funcin se explica a continuacin.
CS: El registro de Segmento de Cdigo, se utiliza como parte alta
para direccionar el programa. Este registro no puede ser escrito de
forma directa, requiere un salto especial para hacerlo.
SS: El registro de Segmento de Pila, se utiliza como parte alta para
direccionar la pila, se usa junto con los registros SP y BP para guardar
datos importantes en la misma.
DS: El registro de Segmento de Dato, se utiliza como parte alta para
direccionar los datos.
ES: El registro de Segmento de Datos Extra, se usa con
instrucciones especiales para hacer direccionamiento de datos.
Adems de estos dos bloques principales de registros existen dos registros
extra con funciones especiales. El primero de ellos es el registro IP. Este
registro se usa como contador de programa para determinar, junto con el CS
en donde se encuentra el programa. Como registro no puede escribirse
directamente, pero se modifica cada vez que se realiza un salto, un salto
condicional, una llamada a rutina, un retorno de rutina, una interrupcin, un
retorno de interrupcin o al ejecutar una simple instruccin.
Por ltimo el registro FLAGS contiene las banderas de la ejecucin, estas sirven
para indicar el estado del programa as como determinar cmo realizar ciertas
funciones. La figura 4 muestra el registro FLAGS y las banderas
correspondientes. La mayora de estas se modifican al realizar pg. 36
operaciones aritmticas y lgicas, pero no todas las instrucciones modifican
todos los bits, algunas instrucciones solo modifican ciertas banderas
especficas.

Figura 4. Registro de Banderas.

Cada bandera se usa para diferentes procesos, las mismas se explican a


continuacin.
O: Bandera de Overflow, se activa en algunas instrucciones al existir
un desbordamiento, adems se utiliza en ciertos saltos condicionales.
D: Bandera de Direccin, se activa solo con instrucciones especficas,
determina la direccin de copiado (ascendente o descendente) de datos
en algunas instrucciones.
I: Bandera de Interrupcin, se activa solo con instrucciones
especficas o en una atencin de interrupcin, determina la habilitacin o
deshabilitacin de interrupcin.
T: Bandera de Trampa, se utiliza para hacer DEBUG de programas.
S: Bandera de Signo, se activa en algunas instrucciones al existir un
signo negativo, adems se utiliza en ciertos saltos condicionales.
Z: Bandera de Cero, se activa en algunas instrucciones al obtener un
resultado igual a cero, adems se utiliza en ciertos saltos condicionales.
A: Bandera de Acarreo Auxiliar, se activa en algunas instrucciones al
existir un acarreo entre el cuarto y quinto bit, se usa para hacer
conversiones a ASCII o Decimal.
P: Bandera de Paridad, se activa al existir una paridad impar en el
resultado de ciertas instrucciones, adems se utiliza en ciertos saltos
condicionales.
C: Bandera de Acarreo, se activa en ciertas instrucciones al existir un
acarreo, se usa para mltiples instrucciones con acarreo, como
operaciones y desplazamientos.
Existen un par de instrucciones que pueden modificar el registro de banderas
completo o la mitad del mismo, entre ellas est el movimiento del registro AH
al registro FLAGS y viceversa, as como los movimientos a la pila.

- Modos de Direccionamiento de Memoria

Los microprocesadores Intel no manejan la memoria fsica de forma directa,


para ello utilizan tres modelos lgicos para el manejo de la memoria:
Modelo Plano
Modelo Segmentado
Modelo Real.

Modelo Plano (Flat memory model)


Este es el modelo bsico para el manejo de la memoria lgica de los
microprocesadores Intel. En este modelo se maneja la memoria como un
espacio continuo de direcciones. A este espacio de memoria se le denomina
espacio lineal de direcciones. Tanto los programas como los datos y la pila
estn contenidos en este espacio de memoria.

Una direccin en este modelo de memoria se denomina direccin lineal.


La direccin lineal puede estar relacionada con las direcciones de memoria
fsica de forma directa o de forma indirecta.
En la relacin directa existe una correspondencia uno a uno con las
direcciones fsicas del sistema. En la relacin indirecta se traducen las
direcciones lineales a la fsicas a travs de un mecanismo denominado
paginacin.
Modelo Segmentado (Segmented memory model)
Este modelo, la memoria aparece como bloques de direcciones
independientes denominados segmentos. Estos bloques se pueden pensar
como varios modelos planos de memoria independientes uno del otro,
organizados de igual forma por bytes. El cdigo los datos y la pila se
almacenan en segmentos de memoria distintos en este modelo.

Las direcciones manejadas por este modelo para ubicar un byte dentro de un
segmento se denominan direcciones lgicas. Una direccin lgica se conforma
de un selector de segmento y un desplazamiento (estas direcciones tambin
reciben el nombre de punteros lejanos)

Modelo Real (Real-address mode memory model)


Este es el modelo de manejo de memoria que utiliza el microprocesador
8086, en el cual solamente se tiene acceso a 1Mbyte de memoria. Existe para
proveer compatibilidad con los programas escritos para el 8086.
El modelo real es un caso especfico del modelo segmentado. En el mismo se
manejan segmentos de memoria de 64Kbytes. En este modelo las direcciones
de memoria se denominan direcciones lgicas y se calculan igual que como lo
hace el modelo segmentado, mediante un selector de segmento y un
desplazamiento.
En el modelo real la memoria se direcciona a travs de un selector de
segmento y un desplazamiento, al igual que en el modelo segmentado.
El selector de segmentos en este modelo viene dado por una direccin
almacenada en uno de los seis registros segmentos y el desplazamiento puede
estar conformado por varios componentes.
Segn las diferentes combinaciones que pueden utilizarse para construir una
direccin efectiva (en funcin de los modos de operacin y modelos de
memoria), Intel define algunos modos comunes para el direccionamiento de la
memoria de datos.

Base: es un valor almacenado en uno de los 8 registros de


propsito general.
ndice: un valor almacenado en un registro de propsito general (con
excepcin del registro ESP que no puede ser utilizado como ndice).
Factor de escala: es un factor que multiplica al ndice y puede
ser 1, 2, 4 u 8
Desplazamiento fijo: es un valor de 8bits, 16bits o 32bits
(puede estar representado por una etiqueta de memoria).

Existen diferentes consideraciones importantes cuando se calculan


direcciones efectivas de memoria. Algunas de las ms importantes son:
La base, el ndice y el desplazamiento numrico pueden utilizarse en
cualquier combinacin.
Cualquiera de estos elementos puede utilizarse como mximo una
vez o puede omitirse.
Si la instruccin transfiere informacin de una fuente a un destino,
ambos tienen que ser del mismo tamao y el destino nunca puede
ser el registro segmento de cdigo CS.
No se admiten transferencias entre registros segmentos.

Modo de Desplazamiento: se utiliza cuando la referencia a la memoria viene


dada por el elemento de desplazamiento fijo.
Modo de Base: solamente utiliza el elemento base para direccionar un dato
en la memoria de forma indirecta. Se dice que el direccionamiento es indirecto
porque est almacenado en un registro.
Modo de Base + Desplazamiento: en este modo de direccionamiento se
utiliza un elemento base y uno de desplazamiento.
Modo (ndice * Escala) + Desplazamiento: en este modo existen
solamente los elementos ndice, factor de escala y el desplazamiento.Este
modo es muy eficiente para direccionar arreglos estticos de datos en memoria
cuyo tamao sea de 2, 4 y 8 bytes. El elemento de desplazamiento fijo ubica
el inicio del arreglo y el elemento ndice contiene el numero (ndice) del dato al
que se desea acceder.
Modo Base + ndice + Desplazamiento: es un modo complejo de
direccionamiento que usa los elementos base, ndice y desplazamiento.
Este modo permite direccionar arreglos bidimensionales
Modo Base + (ndice * Escala)+ Desplazamiento: es el modo de
direccionamiento ms complejo. Este modo permite direccionar de
forma eficiente a los elementos de una arreglo bidimensional de datos
en donde los elementos tengan tamao de 2, 4 u 8 bytes.

- Lenguaje Ensamblador

Es un lenguaje de programacin de bajo nivel. Consiste en un conjunto


de mnemnicos que representan instrucciones bsicas para
los computadores, microprocesadores, microcontroladores y otros circuitos
integrados programables. Implementa una representacin simblica de
los cdigos de mquina binarios y otras constantes necesarias para programar
una arquitectura de procesador y constituye la representacin ms directa
del cdigo mquina especfico para cada arquitectura legible por un
programador. Cada arquitectura de procesador tiene su propio lenguaje
ensamblador que usualmente es definida por el fabricante de hardware, y est
basada en los mnemnicos que simbolizan los pasos de procesamiento
(las instrucciones), los registros del procesador, las posiciones de memoria y
otras caractersticas del lenguaje. Un lenguaje ensamblador es por lo tanto
especfico de cierta arquitectura de computador fsica (o virtual). Esto est en
contraste con la mayora de los lenguajes de programacin de alto nivel, que
idealmente son porttiles.

Un programa utilitario llamado ensamblador es usado para traducir


sentencias del lenguaje ensamblador al cdigo de mquina del computador
objetivo. El ensamblador realiza una traduccin ms o menos isomorfa (un
mapeo de uno a uno) desde las sentencias mnemnicas a las instrucciones y
datos de mquina. Esto est en contraste con los lenguajes de alto nivel, en
los cuales una sola declaracin generalmente da lugar a muchas instrucciones
de mquina.

Principio de Funcionamiento

Consiste en dos etapas, en la primera etapa el programa origen (ASM) se lee


para desarrollar una tabla de smbolos ordenados, una vez terminada el
archivo objeto se va ensamblando, esto quiere decir que se crea con
referencia a la tabla; en la segunda etapa se crea el listado del programa
origen, teniendo como resultado el ejecutable o el archivo HEX
(Hexadecimal).Debido a que los programas que fueron ensamblados slo
contienen
nmerosbinarios, el programa es relativamente pequeo a comparacin de une
jecutable compilado en C/C++, JAVA, etc. Y a diferencia de ellos tiene
mayor eficiencia y eficacia. lenguaje ensamblador se puede interpretar de
diferentes maneras, se puede programar con estilo de programacin
estructurada que es la que ms se usa o se puede acoplar con el estilo de
programacin orientado a objetos,
ademstiene como caracterstica que realiza su funcin ejecutando proceso por
proceso completo antes de continuar a la siguiente instruccin. Como cualquier
compilador, este proceso interpreta y descarta los campos de etiqueta, de
cdigo, de operacin y de operandos segn sea el caso, adems se tiene la
ventaja de mostrar los posibles errores de sintaxis en el cdigo del programa.

Funciones y caractersticas

Debido a la estructura de funcionamiento de una computadora es esencial


manejar registros de memoria para poder realizar todos los procesos, de estos
registros existen cuatro de uso general que son muy importantes
para cualquier proceso de almacenamiento y operacin del programa. Se usan
para clculo y almacenamiento de propsito general. Son utilizados por los
programas para realizar clculos, as como para transferir datos de una
posicin de memoria a otra, ya que no se puede hacer de forma directa. Es
decir, que no podemos transferir un dato de la posicin de memoria X a la
posicin Y sin antes depositar ese dato temporalmente en un registro del
procesador. Su aplicacin fuera del lenguaje ensamblador es con el uso de
grficos en C y C++ con la librera GRAPHICS.H que a su vez necesita de
interrupciones del sistema para su funcionamiento. Estos registros tienen una
longitud de 16 bits, pero podemos descomponerlos cuando nos interese en un
par de registros de 8 bits

Ventajas de los lenguajes ensambladores

La variedad de microcomputadoras tambin ocasiono un renovado inters en el


lenguaje ensamblado, cuyo uso conlleva a diferentes ventajas:

Un programa escrito en el lenguaje ensamblador requiere


considerablemente menos memoria y tiempo de ejecucin que un
programa escrito en los conocidos lenguajes de alto nivel, como Pascal y
C.

El lenguaje ensamblador da a un programador la capacidad de realizar


tareas muy tcnicas que serian difciles, si no es que imposibles de
realizar en un lenguaje de alto nivel.

El conocimiento del lenguaje ensamblador permite una comprensin de


la arquitectura de la mquina que ningn lenguaje de alto nivel puede
ofrecer.

Aunque la mayora de los especialistas en Software desarrolla


aplicaciones en lenguajes de alto nivel, que son ms fciles de escribir y
de dar mantenimiento, una prctica comn es recodificar en lenguaje
ensamblador aquellas rutinas que han causado cuellos de botella en el
procesamiento.

Los programas residentes y rutinas de servicio de interrupcin casi


siempre son desarrollados en el lenguaje ensamblador.

Los lenguajes de alto nivel fueron diseados para eliminar las particularidades
de una computadora especifica, mientras que un lenguaje ensamblador esta
diseado para una computadora especifica, o, de manera ms correcta, para
una familia especifica de microprocesadores.

A continuacin se listan los requisitos para aprender el lenguaje ensamblador


de la PC:

Tener acceso a una computadora personal de IBM (cualquier modelo) o


una compatible.

Una copia del sistema operativo MS-DOS o PC-DOS y estar


familiarizados con su uso.

Una copia de un programa ensamblador. Las versiones de Microsoft son


conocidas como MASM y QuickAssembler: TASM es de Borland y
OPTASM es de System.

Para el aprendizaje de lenguaje ensamblador no es necesario lo siguiente:

Conocimiento previo de un lenguaje de programacin, aunque tenerlo


puede ayudarle a comprender algunos conceptos de programacin ms
rpido.

Conocimiento previo de electrnica o circuitera.

Você também pode gostar