unidad_1_lenguaje_ensamblador
TRANSCRIPT
-
8/8/2019 unidad_1_lenguaje_ensamblador
1/58
Lenguaje EnsambladorIngeniera Sistemas Computacionales
Unidad 1 Fundamentos Introduccin Lenguaje Ensamblador
1.1.1 Uso Aplicaciones Lenguaje Ensamblador1.1.2 Escalabilidad Microprocesadores1.1.3 Tipos Lenguajes Ensambladores1.1.4 Clasificacin de Memorias1.1.5 Unidades de Entrada Salida1.2 Tipos de buses1.2 El microprocesador1.2.1 Microprocesador Buses1.2.2 Microprocesador Registros1.2.3 Microprocesador Modos Direccionamiento1.3 Interrupciones Hardware1.3.2 Interrupciones Software1.4 Estructura Programa en Ensamblador1.4.1 Data Segment1.4.2 Stack Segment1.4.3 Code Segment1.4.4 Instrucciones del programa Ensamblador1.4.5 Directivas Lenguaje Ensamblador1.5 Procedimiento Ensamble Enlace y Ejecucin1.6 Entorno de programacin lenguaje ensamblador
-
8/8/2019 unidad_1_lenguaje_ensamblador
2/58
-
8/8/2019 unidad_1_lenguaje_ensamblador
3/58
P y ad y
La dad d pr a ral ( PU) d d a p la l da . E a r p ad ra, l PU pl d
h
p
y p
q
lla
ad
r
pr
ad
r.T da la PU p r l d par b a , la dad d r l y la dad ar a l a.T
d
l
r
r
d
la
p
ad
ra
ad
rad
d
d
la
dad d r l, ya f rd ar da la a v dad d la p ad ra.La dad d r l la r d la PU para ll var a
ab a d . El j d r , q l d d r
-
8/8/2019 unidad_1_lenguaje_ensamblador
4/58
d l r d la dad d r l, a l a d da la p ra q r al za la PU. ada r l j d r a paad p r r d , q r y b a q l d a la PU j ar la r .
a
d
la
p
ad
ra
rr
pr
ra
a, b
a l
a
d
d
lpr ra a d r d l j d r d la PU y la j a
rd .La dad ar -l (ALU) a d la dad d r l
ra a r q v l ra ar a l a, l pa a l r l al d p d la PU. La ALU l y r p d r r , d r, r a r da d r a la PU q
a para ardar da q d pr ad p r la r a al.
El pl j pr d q ra f r a da v d rada f r a l d al da lla a pr a .Para ll var a ab a ra f r a , la p ad ra a d
p : l pr ad r y la r a.El pr ad r l r br d la p ad ra, la par q rpr ay j a la r . El pr ad r a pr p d var r rad h p , r ad arj a d
r , d l rj d r a lar r q l a
r
hp
y a
ra
arj
a
d
r
.
Arquitectura de computadores
-
8/8/2019 unidad_1_lenguaje_ensamblador
5/58
Una visin tpica de una arquitectura de computadora como una serie de capas de abstraccin:
hardware, firmware, ensamblador, kernel, sistema operativo y aplicaciones.
La arquitectura de computadoras es el diseo conceptual y la estructura operacionalfundamental de un sistema de computadora. Es decir, es un modelo y una descripcin
funcional de los requerimientos y las implementaciones de diseo para varias partes de
una computadora, con especial inters en la forma en que la unidad central de proceso(CPU) trabaja internamente y accede a las direcciones de memoria.
Un ordenador con esta arquitectura realiza o emula los siguientes pasos
secuencialmente:
1. Enciende el ordenador y obtiene la siguiente instruccin desde la memoria en la
direccin indicada por el contador de programa y la guarda en el registro deinstruccin.2. Aumenta el contador de programa en la longitud de la instruccin para apuntar a la
siguiente.3. Decodifica la instruccin mediante la unidad de control. sta se encarga de coordinar
el resto de componentes del ordenador para realizar una funcin determinada.4. Se ejecuta la instruccin. sta puede cambiar el valor del contador del programa,
permitiendo as operaciones repetitivas. El contador puede cambiar tambin cuandose cumpla una cierta condicin aritmtica, haciendo que el ordenador pueda 'tomardecisiones', que pueden alcanzar cualquier grado de complejidad, mediante laaritmtica y lgica anteriores.
5. Vuelve al paso 2.
-
8/8/2019 unidad_1_lenguaje_ensamblador
6/58
Tip k l De Ensamblad k res
Aunque to m os los ensambla m ores realin an bsicamente las mismas
tareas, pom
emos clasificarlosm
e acuerm
o a caractersticas.Ensambladores Cruzados (Cross-Assembler).
Los que se utilio an en una computa
ora que posee un procesa
or
iferente al que ten
rn las computa
oras
on
e va a e
ecutarseel programa ob
eto pro uci o.El empleo e este tipo e tra uctores permite aprovec ar elsoporte e me ios fsicos ( iscos, impresoras, pantallas, etc.), y eprogramaci n que ofrecen las mquinas potentes para
esarrollar programas que luego los van a e
ecutar sistemas muyespecialio a os en etermina os tipos e tareas.
Ensambladores Residentes.Son aquellos que permanecen en la memoria principal e lacomputa
ora y cargan, para su e
ecuci
n, al programa ob
etopro uci o. Este tipo e ensambla or tiene la venta
a e que sepue e comprobar inme iatamente el programa sin necesi a etransportarlo
e un lugar a otro, como se
aca en cross
assembler, y sin necesi
a
e programas simula
ores.Sin embargo, pue e presentar problemas e espacio ememoria, ya que el tra uctor ocupa espacio que no pue e serutilio a o por el programa or. Asimismo, tambi n ocuparmemoria el programa fuente y el programa ob
eto. Esto obliga atener un espacio
e memoria relativamente amplio. Es el in
ica
o
para esarrollos e peque os sistemas e control y sencillosautomatismo emplean o microprocesa ores(1).La venta
a
e estos ensambla
ores es que permiten e
ecutarinme iatamente el programa; la esventa
a es que ebenmantenerse en la memoria principal tanto el ensambla or comoel programa fuente y el programa ob
eto.Macroensambladores.
Son ensambla ores que permiten el uso e macroinstrucciones(macros). Debi o a su potencia, normalmente son programasrobustos que no permanecen en memoria una veo genera o elprograma ob
eto. ue e variar la comple
i a e los mismos, epen ien o e las posibili a es e efinici n y manipulaci n e las macroinstrucciones, pero normalmente son programasbastantes comple
os, por lo que suelen ser ensambla oresresi
entes.
Microensambladores.Generalmente, los procesa ores utilio a os en las computa orastienen un repertorio fi
o
e instrucciones, es
ecir, que el int
rpre te
-
8/8/2019 unidad_1_lenguaje_ensamblador
7/58
de las mismas interpretaba de igual forma un determinado c digode operaci
n.
El programa que indica al int
rprete de instrucciones de laz
C{
c mo debe actuar se denomina microprograma. El programaque ayuda a reali| ar este microprograma se llamamicroensamblador. Existen procesadores que permiten lamodificaci n de sus microprogramas, para lo cual se utili
|
anmicroensambladores. Ensambladores de una fase.Estos ensambladores leen una lnea del programa fuente y latraducen directamente para producir una instrucci n en lengua
}
emquina o la e
}
ecuta si se trata de una pseudoinstrucci n.~
ambi
n va construyendo la tabla de smbolos a medida que vanapareciendo las definiciones de variables, etiquetas, etc.Debido a su forma de traducci n, estos ensambladores obligan adefinir los smbolos antes de ser empleados para que, cuandoapare| ca una referencia a un determinado smbolo en unainstrucci n, se cono| ca la direcci n de dic o smbolo y se puedatraducir de forma correcta. Estos ensambladores son sencillos,baratos y ocupan poco espacio, pero tiene el inconvenienteindicado(1).
Ensambladores de dos fases.Los ensambladores de dos fases se denominan asdebido a quereali| an la traducci
n en dos etapas. En la primera fase, leen el
programa fuente y construyen una tabla de smbolos; de estamanera, en la segunda fase, vuelven a leer el programa fuente ypueden ir traduciendo totalmente, puesto que conocen latotalidadde los smbolos utili| ados y las posiciones que se les aasignado. Estos ensambladores son los ms utili| ados en la
actualidad.
MicroprocesadoresAvance Tecnolgico de los procesadores.
En 1975 Intel decidi construir su primer micro de 16 bits que sali al
mercado en 1978. Se trataba del 8086, que defini el inicio de sugama de productos ms famosa, la familia de microprocesadores x86.
La longitud de los registros del 8086 era de 16 bits (de a sudenominaci
n de 16 bits),
aba versiones que funcionaban a 4.77 y 8
MH| , tena un bus de datos de 16 bits y un bus de direcciones de 20 bits,lo que le permita acceder a un mximo de memoria de 1 Mb seg n elclculo 2 elevado a 20. Seguidamente,
-
8/8/2019 unidad_1_lenguaje_ensamblador
8/58
Se encuentra un errorde dise
o en el 8088 que afecta a la gesti
n deinterrupciones y al registro de pila SS (Stack Segment).Intel fabric variaciones de estos modelos, sacando al mercado los80C86, 80C88, 80186 y 80188 cuyas modificaciones fueron el a
orro de
energa en las versiones C para su instalaci n en porttiles, y el redise o
interno para la optimi
aci
n en las versiones 1.
80286 En 1984 aparece el 80286 como base para una nuevageneraci n de ordenadores de IBM, el IBM AT (AdvancedTec nology).Supone un nuevo salto tecnol gico. Adems de incrementar el bus dedirecciones de 20 bits a 24, lo que permita acceder asta los 16 Mb deRAM, se incrementaba la velocidad, llegando a ser
asta un 25 por
ciento ms rpidos que los 8086 y 8088 originales.La novedad ms importante que se introdu
o fue la gesti n de memoriavirtual. La memoria virtual es una extensi
n de memoria en disco (o
dispositivo de almacenamiento secundario) a adida a la memoria fsica
instalada. As, el 80286 es capa
de tratar asta un total de 1 Gb,desglosado en 16 Mb de memoria fsica ms 1008 Mb de memoriavirtual. La memoria virtual solamente la utili an los programas que estnpreparados para ello.Aparece tambi n un nuevo modo de operaci n del microprocesador.Aparte del modo real (el normal de operaci n) que direcciona asta 1Mb de memoria fsica y asegura la compatibilidad para aplicacionesdise
adas por los 8086/8088, se tiene el modo protegido que no es
compatible con estos programas desarrollados para los micros antesmencionados. El modo protegido es el que permite acceder a los 1.008Mb de memoria virtual.
El 80286 traba
a en su arranque en modo real. El cambio a modoprotegido, lo que se conoce t cnicamente como ups ift, no esreversible (downs ift), siendo necesario acer un reset delmicroprocesador para volver al modo real; sin duda un gran fallo dedise o.El 80286 se present con velocidades de relo
de 2, 8, 10, 12, 16 y 20 MH .
80386 DX y SX Introducido en 1985, el 80386 DX supera un nuevoescal
n en el avance tecnol
gico en microprocesadores. Se incorpora
una nueva ampliaci n y surge el n mero mgico, el 32. Los buses dedatos y de direcciones se amplan asta 32 lneas de datos, ocurriendo
lo mismo con el tama o de los registros. Esta ampliaci n supone unincremento en la memoria RAM fsica instalada. uede direccionar 4 Gbde memoria fsica (DX significa Double word eXternal) y 64 Tb dememoria virtual, una cifra que en la actualidad est a n muy porencima de las posibilidades econ micas de los usuarios (a ver qui ninstala 4.000 Megabytes de RAM, unos 20 millones de pesetas).Arranca en modo real, al igual que el 80286, e incor pora un nuevomodo de operaci n: el modo real virtual del 8086, que permite tener
-
8/8/2019 unidad_1_lenguaje_ensamblador
9/58
varias sesiones 8086 traba
ando simultneamente simulando unaespecie de pseudomultitarea.En los microprocesadores anteriores la gesti
n de memoria se reali aba
en segmentos de 16 Kb. Con el 80286 este tama o de los segmentos dela memoria se acan muy peque os y el programador tena quetraba
ar ms para adaptarse a una gran cantidad de segmentos. El80386 permite la definici n de segmentos de memoria de tama ovariable. Aparte, Intel corrigi la deficiencia del downs ifting,pudi ndose reali ar por software.Otra de las innovaciones en la inclusi n de una memoria cac e internaen el c ip destinada a almacenar instrucciones provenientes dememoria sin necesidadde que la unidadde e
ecuci
n intervenga. Intelcomete un nuevo error en el dise o del micro que genera inexactitudesen el clculo de 32 bits, que se presentan en los micros lan ados almercado asta mayo del 1987. Los modelos corregidos van etiquetadoscon una doble sigma may scula o con el identificativo DX. Este errorafectaba a las operaciones de multiplicaci n de 32 bits. Ocurra ba
o lassiguientes circunstancias:Se usa la memoria virtual y se produce una demanda de pgina.El coprocesador matemtico 80387 est instalado y en uso.Debe ocurrir una operaci
n de acceso directo a memoria (DMA).
El 80386 debe estar en estado de espera (Wait State).Se detecta un segundo bug denominado
O
AD bug. Su efecto es el
vaciado del registro acumulador EAX cuando se e
ecuta una instrucci
nde acceso a memoria inmediatamente despu
s de la e
ecuci
n de lainstrucci n O AD.Aparecen variaciones que afectan al consumo de energa pensadaspara porttiles, se trataba de los 80386SL (Slow Low power) y 80386SLC
(Slow Low power Cac e), que es propiedadde IBM aunque lo fabriqueIntel. Las frecuencias de funcionamiento eran de 12, 20, 25 y 33 MH .El 80386SX (SX significa Simple word eXternal) tiene las mismascaractersticas que el 80386DX, salvo que el bus de direcciones externose reduce a 16 bits. Introducido en 1988 daba la potencia de un 80386 aprecio de un 80286. Durante muc o tiempo se rumore que el 9 podraser compatible con los
calos 80286, pero al final no fue as. La ra
n es
que el 80286 multiplexa todos sus buses para conseguir con menos lneasel mismo resultado (menor coste) El 80386SX s
lo multiplexa el bus de
direcciones. Las frecuencias de funcionamiento eran de 16, 20, 25 y 33MH .
80486DX 80486SX El 80486DX sali al mercado en 1989. La estructurainterna ablando en t rminos num ricos es igual a la de un 80386. Eltama o de los registros y de los buses son de 32 bits. Mantiene los tresmodos de operaci
n: real, protegido y real virtual. Las diferencias reales
con los 80386DX son que tiene un flag ms, un estado de excepci nms, 2 bits ms en la tabla de entrada de pginas, 6 instrucciones y losregistros de control tienen una longitudde 9 bits.
-
8/8/2019 unidad_1_lenguaje_ensamblador
10/58
Se reali an tambi n cambios en la arquitectura interna. Se crea unmayor n
mero de lneas
ardware lo que implica un incremento en la
velocidad. Se imponen reglas de dise
o ms estrictas, lo que supone unreducci n del tama o del c ip. Al reducirse el tama o se reducetambi n el consumo y consiguientemente la temperatura que alcan ael c ip, con lo cual lo podemos acer funcionar a un mayor n mero deciclos de relo
, lo que supondr la aparici n de los Overdrives.Se incluye un coprocesador matemtico interno que dobla lasprestaciones de un 80387 traba
ando a la misma velocidad. Se logra undise o me
or y la comunicaci n entre el c ip principal y elcoprocesador matemtico es interna, lo que me
ora la velocidad en lastransferencias y unas sincroni aciones ms estrec
as.
La memoria cac e (8 Kb) del microprocesador est dividida en 4cac es de 2 Kb cada una. Esto agili a la e
ecuci n de algunasaplicaciones. Si se asigna una memoria cac e secundaria (L2) elrendimiento del micro puede aumentar asta un 30 por ciento ms.El 80486SX es igual que un 80486DX, s lo que el coprocesadormatemtico est in abilitado. El coprocesador matemtico 80487SX esen realidad un 80486DX puro que desactiva por completo el 80486SX, sinque podamos retirarlo de la placa. Las velocidades a las que funcionanson de 25, 33, 40 y 50 MH . Hay versi
n SL para porttiles.
80486DX2, 80486DX4, 80486SX2 Estos modelos de microprocesadores enrealidad son iguales que sus
ermanos menores. Internamente duplican
la velocidaddel relo
del sistema. Es igual que revolucionar el motordeun coc
e para que corra ms. Las consecuencias son obvias: un
sobrecalentamiento del micro con una reducci n de potencia. or estemotivo se recomienda utili ar un m todo de disipaci n de calor paraque el rendimiento no se vea reducido (laminillas disipadoras o
ventiladores). Las velocidades a las que traba
an son: 50, 66, 75 y 100(s lo para el DX4) MH para los DX2 y 40 y 50 MH para los SX2.Los 80486 tampoco estn libres del pecado original. En el 80486 cuandoel coprocesador matemtico detecta un errorde limite del tama
o de
segmento, algunas veces la C
falla al generar la excepci
n 13. Esteerror se genera ba
o las siguientes condiciones:Segmento de datos de 64 Kb.Operandos de direccionamientode 16 bits.Almacenar un valorde 8 bytes desde el coprocesador cuando la mitadest fuera de los limites del limite del segmento.
n segundo bug aparece en el clculo de la instrucci n dedicada a
calcular arcotangentes.Overdrives Intel comen una nueva poltica con la salida de losmicroprocesadores con la denominaci n Overdrive. Los Overdrive eranactuali aciones para los microprocesadores instalados en los sistemasque dispusieran de un segundo calo para tal prop sito. En estaprimera generaci n de Overdrives los c ips disponan de un duplicadorde frecuencia interno y tenan un pin ms, el n mero 169. Este pin seencargaba de in abilitar el 80486 instalado en la placa de
ando como
-
8/8/2019 unidad_1_lenguaje_ensamblador
11/58
nico micro funcionando el Overdrive. No era posible la retirada delmicro anterior, puesto que el sistema de
aba de funcionar. La poltica deactuali aci
n era buena, lo que no era tan bueno era la trampa para
los usuarios.En la segunda generaci n de Overdrives se olvid el pin 169, teniendolos 168 que los acan compatibles con los calos de los 80486. En esto scasos la actuali
acin es sencillsima: quitar el que estaba y poner elnuevo en el mismo lugar.La tercera generacin de Overdrives traba
a con un consumo menorpara reducirde este modo su alta temperatura. El volta
e se reduce a3.3 voltios de los 5 que necesitaban los anteriores. Si vas a comprar unDX2 o DX4 f
ate bien qu
volta
e utili a vuestra placa. los Overdrivesetiquetados como tal funcionan a 5V, los etiquetados directamentecomo DX4, sin disipador, funcionan a 3.3V.
La familia Pentium
La quinta generacin de microprocesadores Intel tom el nombre de
Pentium.Aparecido en mar o de 1993 en frecuencias de traba o de60 y 66 MH llega a ser cinco veces ms potente que un 80486 a 33 MH .Fabricados con un proceso BiCMOS de geometra de 8 micras y conuna arquitectura superescalar, los microprocesadores entium seencuadran en un concepto RISC. Mientras que el 80386 y el 80486tienen una unidad de e
ecucin, elentium tiene dos, pudiendo
e
ecutar dos instrucciones por ciclo de relo
con sus correspondientesclculos, ya que tambi n tiene dos unidades aritm tico lgicas (ALU). El80386 (CISC) e
ecuta un instruccin en varios ciclos de relo
y el 80486
e
ecuta una instruccin por ciclo de relo
(en t
rminos medios).Intel toma como modelo la estructura separada para la memoria cac einterna del microprocesador. Consta de dos bloques de 8 Kb, uno paralas instrucciones y otro para los datos que funcionan ba
o una estructurade asociacin de con
untos bidireccional. ara los extremadamentecuriosos el algoritmo de sustitucin de datos en la cac e es el LRU (LeastRecently Used, el menos utili ado recientemente).El coprocesador matemtico incluido utili a algoritmos me
orados ya ade instrucciones de suma, multiplicacin y divisin de nmeros enpunto flotante integradas en el silicio, adems de incorporar un pipelinede 8 niveles para lograr e
ecutar operaciones en punto flotante en un
solo ciclo de relo
.Se integran nuevos avances tecnolgicos, adems de los yacomentados, como por e
emplo la prediccin de ramificaciones, busesde datos internos de 256 bits, bus de datos externo de 64 bits (quesoporta transferencias de 258 Kbytes por segundo) y memorias cac ede escritura diferida.La tecnologa de bus CI se presenta
unto con el entium, queincorporaba una me
or implementacin del bus local. ermite tener
-
8/8/2019 unidad_1_lenguaje_ensamblador
12/58
hasta 10 conectores CI en un primer nivel, conectados al procesador atrav
s de la circuitera controladora
CI (conexin no directa).
Intel apunta ahora hacia el mercado del entorno cliente/servidor. Conel entium se puede construir un ordenador multiprocesador con 16
entium instalados, pudiendo actuar uno de ellos como agentesupervisordel sistema para entornos que requieran un estricto control deerrores (Functional Redundancy Checking ). Aunque esto sirvide pocoen un principio. Seguro que recordis el famoso bug de entium. Lanueva y me
orada unidadde punto flotante cometa un error garrafal alhacer una simple divisin. La siguiente funcin escrita para Visual Basicdetecta si un entium genera un fallo de clculo:Function
entium Test () As Double
Dim x As Double, y As Double, As Doublex = 4195835#y = 3145727#
= x (x / y) * y entium Test = End FunctionRecientemente han aparecido versiones del entium a 75, 90, 100 y 133MH , siendo el ltimo, presentado el 23 de oc tubre, uno a 120 MH dise
ado especialmente para ordenadores porttiles.
Pentium OverdriveCmo no bamos a disponer de una versin light del
entium
compatible pin a pin con nuestros microprocesadores 80486DX y DX2!El 18 de septiembre de 1995 Intel anuncia la disponibilidadde un nuevomodelo procesadorde me
oraentium Overdrive a 83 MH (adems del
modelo a 63 MH
que ya exista) que permite la actuali
acin de losmicroprocesadores 80486 DX, DX2 y SX. Compatible pin a pin con estosmicroprocesadores en entium Overdrive integra la tecnologa del
entium en 3,3 voltios y 06 micras.Aparte de ser como un entium genuino cabe destacar la presencia deuna memoria cache de 32 Kb, un reguladorde tensin para reducir latensin de 5 a 3,3 voltios, disipador y ventilador integrado y unacircuitera interna que incrementa en dos veces y media la frecuenciadel bus del sistema (33 MH * 25 = 825 MH ). El incremento medio en lasprestaciones respecto a un 80486 a 66 MH es de un 50 por cientoaunque en aplicaciones puntuales (Auto CAD 13) puede serde un 96
por ciento, lo que lo sita en las prestaciones de un
entium genuino a75 MH .
Pentium ProEl entium ro a 133 MH , que fue presentado el da 3 de noviembre de1995 en el hotel Rit de Madrid es el primer microprocesador de latercera generacin de la gama entium. Est preparadoespecficamente para e
ecutar aplicaciones compiladas y desarrolladas
-
8/8/2019 unidad_1_lenguaje_ensamblador
13/58
para 32 bits. Algunas aplicaciones desarrolladas para entornos de 16 bitstienen una reduccin de rendimiento en su e
ecucin en sistemasbasados en un
entium
ro respecto a los
entium normales a 133 MH .
erfectamente compatible con sus hermanos menores incorporanuevas me
oras, de las cuales destaca la e
ecucin dinmica, tema alque dedicaremos un apartado especial y la inclusin de una memoriacache secundaria integrada en el encapsulado del chip.Fabricado en una geometra de 06 micras, Intel est reali ando susdesarrollos con vistas a reducirla a 035 micras como la de los entiumactuales a 133 MH , lo que reducir su temperatura y podr elevarse lafrecuencia de relo
hasta los 200 MH .Intel ha puesto mucho esfuer o en probar el
entium
ro para intentar
salvarse de los numerosos bugs que manchan su gran prestigio. Intel nosofreci participar en las pruebas de sus entium ro, peticin a la cualrespondimos afirmativamente, pero al final, la drstica reduccin deunidades nos hicieron quedar fuera de los elegidos (slo se probaron100 unidades que estaran ms que asignadas de las ms de 10.000peticiones que recibi Intel a trav s de Internet).El entium ro no es compatible con las placas que existen en elmercado. El motivo principal es la inclusin de la memoria cachesecundaria dentro del chip. Se utili a un bus interno que est optimi adopara traba
ar con las tempori aciones de conexin directa, lo cualimposibilita la conexin de la memoria cache externa (a mi entender notiene la suficiente
ustificacin, puesto que a nivel de SETUP la memoriacache secundaria se puede desactivar e incluso anular retirando losintegrados de sus calos. El tema de la sincroni acin ya es otro cantary probablemente sea el motivo real).Este nuevo producto tiene un bus que ha sido dise ado para conectar
varios Pentium Pro en paralelo que soporta el protocolo MESI, es unmicroprocesadorde 32 bits que incorpora una instruccin ms (moverdatos condicionalmente) que supone una mayor prediccin deramificaciones en la e
ecucin. Tiene 21 millones de transistores, 55millones en el ncleo y 155 millones en la memoria cache secundaria.La CPU consta de dos chips colocados en cavidades independientesconectadas internamente. El chip correspondiente a la memoria cachees ms peque
o que el del chip del ncleo, ya que la disposicin de los
transistores permite una mayor concentracin.E
ecucin dinmica La e
ecucin dinmica es uno de los dos elementosclave en la ganancia de prestaciones del Pentium Pro. Esta nueva
forma de pensar del microprocesador est basada en lacombinacin de tres t cnicas: la prediccin de ramificaciones mltiples,el anlisis del flu
o de datos y la e
ecucin especulativa.Prediccin de ramificaciones mltiples.El Pentium Pro utili a un algoritmo de prediccin de ramificacionesmltiples para anticipar saltos en la e
ecucin del flu
o de instrucciones.Predice dnde puede encontrar en la memoria las siguientesinstrucciones que debe e
ecutar con una precisin del 90%. Esto lo logra
-
8/8/2019 unidad_1_lenguaje_ensamblador
14/58
porque adems de extraer instrucciones para su e-
ecucin, se adelantay busca anticipadamente posibles nuevas instrucciones de programa.Anlisis del flu
-
o de datosEl anlisis del flu
-
o de datos permite saber al microprocesador en qu orden ptimo puede o debe e
-
ecutar las instrucciones, ya que sabe ladependencia de unas respecto a otras.E
-
ecucin especulativaCuando el Pentium Pro e
-
ecuta instrucciones (5 por ciclo de relo-
) utili ala e
-
ecucin especulativa. Esto significa que las instrucciones no see
-
ecutan en el mismo orden con el que entran al microprocesador, sinoque se e
-
ecutan en un orden desordenado, lo que paradjicamentehace que sea ms efica .En el paso final, todos esos datos desordenados generados por laprediccin de ramificaciones, se ordenan y se ensamblan esospaquetes de unidades de proceso para montar el orden lgico en lasecuencia de ejecucin del programa.
Pentium II por Intel, slo 300 Mhz.
El Pentium II es un microprocesadorcon arquitecturax86 diseado porIntel,
introducido en el mercado el 7 de mayo de 1997. Est basado en una versin modificadadel ncleo P6, usado por primera vez en el Intel Pentium Pro.
Los cambios fundamentales respecto a ste ltimo fueron mejorar el rendimiento en la
ejecucin de cdigo de 16bits, aadir el conjunto de instruccionesMMX y eliminar lamemoria cach de segundo nivel del ncleo del procesador, colocndola en una tarjeta
de circuito impreso junto a ste.
El Pentium II se comercializ en versiones que funcionaban a una frecuencia de reloj deentre 166 y 450 MHz. La velocidad de bus era originalmente de 66 MHz, pero en las
versiones a partir de los 333 MHz se aument a 100 MHz.
Posea 32 KB de memoria cach de primer nivel repartida en 16 KB para datos y otros
16 KB para instrucciones. La cach de segundo nivel era de 512 KB y trabajaba a lamitad de la frecuencia del procesador, al contrario que en el Pentium Pro, que
funcionaba a la misma frecuencia.
Como novedad respecto al resto de procesadores de la poca, el Pentium II sepresentaba en un encapsuladoSEC, con forma de cartucho. El cambio de formato de
encapsulado se hizo para mejorar la disipacin de calor. Este cartucho se conecta a las
placas base de los equipos mediante una ranura Slot 1.
El Pentium II integra 7,5 millones de transistores.
El Pentium III es un microprocesador de arquitecturai686 fabricado porIntel; el cuales una modificacin del Pentium Pro. Fue lanzado el 26 de febrero de 1999.
Las primeras versiones eran muy similares al Pentium II, siendo la diferencia ms
importante la introduccin de las instrucciones SSE. Al igual que con el Pentium II,
-
8/8/2019 unidad_1_lenguaje_ensamblador
15/58
exista una versin Celeron de bajo presupuesto y una versin Xeon para quienes
necesitaban de gran poder de cmputo. Esta lnea ha sido eventualmente reemplazadapor el Pentium 4, aunque la lnea Pentium M, para equipos porttiles, esta basada en el
Pentium III.
Existen tres versiones de Pentium III: Katmai, Coppermine y Tualatin.
Katmai [editar]
La primera versin era muy similar al Pentium II (usaba un proceso de fabricacin de
250 nanmetros), con la introduccin de SSE como principal diferencia. Adems, sehaba mejorado el controladordel cach L1, lo cual aumentaba ligeramente el
desempeo. Los primeros modelos tenan velocidades de 450 y 500 MHz. El 17 demayo de 1999 se introdujo el modelo de 550 MHz y el 2 de agosto del mismo ao el de
600 MHz. Posteriormente (antes de la salida del Coppermine), salieron versiones de
133Mhz de Bus.
Coppermine [editar]
Esta versin tena memoria cach L2 de 256 KB integrada, lo cual mejor
significativamente el rendimiento en comparacin con Katmai. Estaba construido conun proceso de 180 nanmetros. El 25 de octubre de 1999, se empezaron a vender los
microprocesadores de 500, 533, 550, 600, 650, 667, 700 y 733 MHz. Entre diciembre de1999 y mayo de 2000, Intel lanz los modelos operando a 750, 800, 850, 866, 933 y
1000 MHz.junto con ambos slots
Una versin de 1,13 GHz fue introducida al mercado poco despus, pero debi ser
cancelada por ser excesivamente inestable. El problema resida en que la memoria cach
integrada tena problemas para trabajar a ms de 1 GHz.
La primera generacin de la consola Xbox usa este procesador en una versin ms
estable de 733 Mhz, con 128KB de cache L2 acondicionado para un uso de la GPU Yde acceso a sistema mucho ms eficiente
Tualatin [editar]
La tercera y ltima versin fue en cierto modo una prueba del nuevo proceso de 130
nanmetros, aunque tambin se hicieron en 135 nanmetros. Es probable que si el
Pentium 4 hubiese estado listo antes, la serie Tualatin no habra visto la luz. LosTualatin tenan un buen desempeo, especialmente los modelos con 512 KB de cachL2 (llamados Pentium III-S). La Serie III-S estaba enfocada al mercado de servidores.
Entre el 2001 y los primeros meses del 2002, Intel introdujo microprocesadores Tualatin
a velocidades de 1'13, 1'2, 1'26 y 1'4 GHz. Para evitar que la gama Pentium compitiesecon los Celeron, no se produjeron ms all de 1'4 GHz, aunque el diseo se us luego
para hacerPentium M de hasta 1'7 GHz.
-
8/8/2019 unidad_1_lenguaje_ensamblador
16/58
El Nombre Tualatin surge del Valle Tualatin y el ro Tualatin en Oregn
Xeon [editar]
Intel Xeon es la actual generacin de microprocesadores Intel para servidores PC. El
primer procesador Xeon apareci en 1998 como Pentium II Xeon.
El Pentium II Xeon utilizaba tanto el chipset 440GX como el 450NX. En el ao 2000, el
Pentium II Xeon fue reemplazado por el Pentium III Xeon.
En 2001, el Pentium III Xeon se reemplaz por el procesador Intel Xeon. El Xeon est
basado en la arquitecturaNetBurst de Intel y es similar a la CPUPentium 4.
El Pentium 4es un microprocesador de sptima generacin basado en laarquitectura x86 y fabricado porIntel. Es el primer microprocesador con un diseo
completamente nuevo desde el Pentium Pro de 1995. El Pentium 4 original,
denominado Willamette, trabajaba a 1,4 y 1,5 GHz; y fue lanzado en noviembre de
2000.
Para la sorpresa de la industria informtica, el Pentium 4 no mejor el viejo diseo P6
segn las dos tradicionales formas para medir el rendimiento: velocidad en el proceso
de enteros u operaciones de coma flotante. La estrategia de Intel fue sacrificar el
rendimiento de cada ciclo para obtener a cambio mayor cantidad de ciclos por segundo
y una mejora en las instrucciones SSE. Al igual que la Pentium II y la Pentium III, el
Pentium 4 se comercializa en una versin para equipos de bajo presupuesto (Celeron), yuna orientada a servidores de gama alta (Xeon).
Las distintas versiones son: Willamette, Northwood, Extreme Edition, Prescott y Cedar
Mill.
Las versi nes ac uales [editar]
Willamette [editar]
Willamette, la primera versin del Pentium 4, sufri de importantes demoras durante el
diseo. De hecho, muchos expertos aseguran que los primeros modelos de 1,3 ; 1,4 y
1,5 GHz fueron lanzados prematuramente para evitar que se extienda demasiado ellapso de demora de los Pentium 4. Adems, los modelos ms nuevos del AMD
Thunderbird tenan un rendimiento superior al Pentium III, pero la lnea de produccinse encontraba al lmite de su capacidad por el momento. Fueron fabricados utilizando un
proceso de 180 nm y utilizaban el Socket 423 para conectarse a laplaca base.
A la hora de los exmenes de rendimiento, los Willamette fueron una decepcin ya que
no podan superar claramente a los Thunderbird ni a los Pentium III de mayor
velocidad. Incluso la diferencia con la lnea de bajo costo de AMD (Duron) no era
significante. Vendi una cantidad moderada de unidades.
En enero de 2001 un microprocesador ms lento de 1,3 GHz fue aadido a la lista.
-
8/8/2019 unidad_1_lenguaje_ensamblador
17/58
En la primer mitad del mismo ao, salieron a la venta los modelos de 1,6, 1,7 y 1,8 GHz
notablemente superiores a los Pentium III. En agosto, los modelos de 1,9 y 2,0 GHzvieron la luz.
El Willamette de 2,0 GHz fue el primer Pentium 4 que puso en duda el liderazgo en
rendimiento, que hasta ese momento estaba liderado indiscutiblemente por la lnea
Thunderbird de AMD. Si bien algunos resultados arrojaban una leve diferencia a favorde AMD, los analistas concluyeron que la diferencia no era significativa para decir queun procesador era claramente superior al otro. Y salieron las primeras Placas con socket
478 y nucleo Willamette. Esto fue un gran paso para Intel, que hasta la salida del AMD
Athlon haba sido el rey de la velocidad en los microprocesadores por 16 aos en formacasi ininterrumpida.
Northwood [editar]
En octubre de 2001, el Athlon XP reconquist el liderazgo en la velocidad de los
procesadores, pero en enero de 2002 Intel lanz al mercado los nuevos Northwood de
2,0 y 2,2 GHz. Esta nueva versin combina un incremento de 256 a 512 KB en la
memoria cach con la transicin a la tecnologa de produccin de 130 nanmetros. Al
estar el microprocesador compuesto portransistores ms pequeos, poda alcanzar
mayores velocidades y a la vez consumir menos energa. El nuevo procesador
funcionaba con el Socket 478, el cual se haba visto en los ltimos modelos de la serie
Willamette.
Con la serie Northwood, los Pentium 4 alcanzaron su madurez. La lucha por la cima delrendimiento se mantuvo reida, a medida que AMD introduca versiones ms veloces
del Athlon XP. Sin embargo, la mayora de los observadores concluyeron que elNorthwood ms veloz siempre estaba ligeramente por encima de los modelos de AMD.
Esto se hizo notorio cuando el paso de AMD a la manufactura de 130 nanmetros fue
postergada. Los Pentium 4 entre 2,4 y 2,8 GHz fueron, claramente, los ms veloces delmercado.
Un Pentium 4 de 2,4 GHz fue introducido en abril de 2002, uno de 2,53 GHz en mayo
(que incluy un aumento del FSB de 400 a 533 MHz). En agosto vieron la luz losmodelos de 2,6 y 2,8 GHz, y en noviembre la versin de 3,06 GHz.
El Procesador de 3,06 GHz soporta Hyper Threading, una tecnologa originalmente
aparecida en los Xeon que permite al sistema operativo trabajar como si la mquinatuviese dos procesadores.
En abril de 2003, Intel coloc en el mercado nuevas variantes, entre los 2,4 y 3,0 GHz,
cuya principal diferencia era que todos ellos incluan la tecnologa Hyper-Threading y elFSB era de 800 MHz. Supuestamente esto era para competir con la lnea Hammer de
AMD, pero de momento solo la serie Opteron sali al mercado, la cual no estaba
destinada entonces a competir con los Pentium 4. Por otro lado, los AMD Athlon XP, a
pesar de su FSB aumentado de 333 a 400 MHz y las velocidades ms altas no pudieron
alcanzar a los nuevos Pentium 4 de 3,0 y 3,2 GHz. La versin final de los Northwood,
de 3,4 GHz, fue introducida a principios de 2004.
Extreme Edition o Edicin Extrema [editar]
-
8/8/2019 unidad_1_lenguaje_ensamblador
18/58
En septiembre de 2003, Intel anunci la edicin extrema (Extreme Edition) del Pentium
4, apenas sobre una semana antes del lanzamiento del Athlon 64, y el Athlon 64 FX. Elmotivo del lanzamiento fue porque AMD alcanz en velocidad de nuevo a Intel, por
ello fueron apodados Emergency Edition. El diseo era idntico al Pentium 4 (hasta elpunto de que funcionara en las mismas placas base), pero se diferenciaba por tener 2
MB adicionales de Memoria cach L3. Comparti la misma tecnologa Gallatin del
Xeon MP, aunque con un Socket 478 (a diferencia del Socket 603 de los Xeon MP) yposea un FSB de 800MHz, dos veces ms grande que el del Xeon MP. Una versinpara Socket LGA775 tambin fue producida.
Mientras que Intel mantuvo que la Extreme Edition estaba apuntada a los jugadores devideojuegos, algunos tomaron esta nueva versin como un intento de desviar la atencin
del lanzamiento de los Athlon 64. Otros criticaron a Intel por mezclar la lnea Xeon(especialmente orientada a servidores) con sus procesadores para usuarios individuales,
pero poco se critic cuando AMD hizo lo mismo con el Athlon 64 FX.
El efecto de la memoria adicional tuvo resultados variados. En las aplicaciones deofimtica, la demora ocasionada por el mayor tamao de la memoria cach haca que
los Extreme Edition fuesen menos veloces que los Northwood. Sin embargo, el readonde se destac fue en la codificacin multimedia, que superaba con creces a la
velocidad de los anteriores Pentium 4 y a toda la lnea de AMD.
Prescott [editar]
A principios de febrero de 2004, Intel introdujo una nueva versin de Pentium 4
denominada 'Prescott'. Primero se utiliz en su manufactura un proceso de fabricacin
de 90 nm y luego se cambi a 65nm; adems se hicieron significativos cambios en laarquitectura del microprocesador, por lo cual muchos pensaron que Intel lo
promocionara como Pentium 5. A pesar de que un Prescott funcionando a la misma
velocidad que un Northwood rinde menos, la renovada arquitectura del Prescott permitealcanzar mayores velocidades y el overclockes ms viable. El modelo de 3,8 GHz es el
ms veloz de los que hasta ahora han entrado en el mercado.
Su diferencia con los anteriores es que stos poseen 1Mb 2Mb de cach L2 y 16Kb decach L1 (el doble que los Northwood), Prevencin de Ejecucin, SpeedStep, C1E
State, un Hyper-Threading mejorado, instrucciones SSE3, manejo de 64 bits, tambinrecibi unas mejoras en el sistema de prediccin de datos, y tiene un pipeline de 31
etapas, que por cierto, fue unos de los mayores errores de dicho ncleo. Adems, losprimeros Prescott producan un 60% ms de calor que un Northwood a la misma
velocidad, y por ese motivo muchos lo criticaron con dureza. Se experiment con uncambio en el tipo de zcalo (de Socket 478 a LGA 775) lo cual increment en un 10%
el consumo de energa del microprocesador, pero al ser ms efectivo el sistema derefrigeracin de este zcalo, la temperatura final baj algunos grados. En posteriores
revisiones del procesador los ingenieros de Intel esperaban reducir las temperaturas,
pero esto nunca ocurri fuera salvo a bajas velocidades. El procesador genera unos 130
W de calor, o TDP.
Finalmente, los problemas trmicos fueron tan severos, que Intel decidi abandonar la
arquitectura Prescott por completo, y los intentos de hacer correr por encima de los 4
GHz fueron abandonados, como un gasto intil de recursos internos. Tambin lo
-
8/8/2019 unidad_1_lenguaje_ensamblador
19/58
concerniente a las crticas mostradas en casos extremos de llevar al procesador Prescott
a los 5,2 GHz para emparejarlo al Athlon FX-55 que funcionaba a 2,6GHz (*).Considerando una fanfarronada de Intel el lanzamiento de la arquitectura Pentium 4
diseada para operar a 10 GHz, esto puede ser visto como uno de los ms significativos,ciertamiente el ms pblico, dficit de ingeniera en la historia de Intel.
Segn se dice el Pentium M es ahora la referencia interna para el equipo diseadores deIntel, y el desarrollo del P4 ha sido esencialmente abandonado. Hasta este punto el
pequeo equipo de diseo Israel que produce el Pentium M, tiene ahora que tomar otro
proyecto mucho ms grande.
Por qu el fin de Prescott ha terminado en tal desastre? Puede ser atribuido a las
polticas internas de Intel. El departamento de mercadeo quera siempre velocidades deprocesador ms altas, para diferenciar sus productos de AMD. Los procesadores se
diseaban por las necesidades de mercadeo, en vez de las necesidades de la arquitectura.Fueron carreras construidas sobre el concepto de la velocidad del procesador, la
terminacin del proyecto P4 finalmente vino y tuvo consecuencias para muchosmiembros del equipo de direccin de la divisin.
Los Prescott con Socket LGA775 usan el nuevo sistema de puntaje, y estn clasificados
en la serie 5XX. El ms rpido es el 570J, funcionando a 3,8 GHz. Los planes paramicroprocesadores de 4 o ms GHz fueron cancelados y se les dio prioridad a los
proyectos para fabricar procesadores dobles; en gran medida debido a los problemas de
consumo energa y produccin de calor de los modelos Prescott.
El procesador 570J tambin fue el primero en introducir la tecnologa EDB, la cual esidntica a la ms temprana NX de AMD. El objetivo es prevenir la ejecucin de algunos
tipos de cdigo maligno.
Cedar Mill[editar]
Est basado en el ncleo Prescott y nicamente se encuentra disponible en LGA775
para Pentium 4 de 64 bits. Aunque la serie 5 para LGA775 era una conversin del
socket 478, los nuevos ncleos Cedar Mill, estaban basados en el Prescott y posea las
mismas instrucciones que ste y una nueva para procesar a 64 bits, excepto porque se
calentaban bastante menos.
Intel Core 2 Quad es una serie de procesadores de Intel con 4 ncleos, lanzados el 2 de
Noviembre de 2006, asegurando ser un 65% ms rpidos que los Core 2 Duo
disponibles en ese entonces. Para poder crear este procesador se tuvo que incluir 2ncleos Conroe bajo un mismo empaque y comunicarlos mediante el Bus del Sistema,
para as totalizar 4 ncleos reales, a diferencia del AMD Phenom X4 que se jacta de ser
un procesador monoltico.
Inicialmente estos procesadores fueron producidos con el proceso de manufactura de 65
nanmetros (ncleo Kentsfield), con frecuencias que van desde los 2.4 Ghz hasta los 3
Ghz y con un FSB de entre 1066 y 1333 Mhz y una memoria cach L2 de 8 MB (2x4
MB) Posteriormente, se redujo el proceso productivo a 45 nanmetros, creando el
-
8/8/2019 unidad_1_lenguaje_ensamblador
20/58
ncleo Yorkfield que, al igual que su antecesor, corresponde a 2 ncleos Wolfdale bajo
el mismo empaque. Sus frecuencias van desde los 2.53 Ghz hasta los 3.2 Ghz, su FSBva desde los 1333 hasta los 1600 Mhz y su cach L2 es de 12 MB (2x6 MB). Como
medida econmica el modelo Q9300 posee solamente 6 MB (2x3 MB) de cach L2 adiferencia de sus pares de mayor frecuencia.
Aunque inicialmente el Core 2 Quad fue lanzado exclusivamente en los mercadosdesktop y server, debido principalmente a su alto consumo de energa (desde los 95Wen ese entonces). Con el paso al proceso productivo de 45 nanmetros y la introduccin
del ncleo Penryn, Intel tiene planeado introducir un modelo Quad Core para el
mercado mvil en conjunto con la plataforma mvil Centrino 2. El modelo, conocidocomo QX9300, tendra una frecuencia de 2.53 Ghz, un bus de 1066 Mhz y una cach L2
de 12 MB (2x6 MB), con un consumo energtico de slo 45 W, menos de la mitad encomparacin a un modelo desktop tradicional.
Modelos [editar]
Tecnologia
de
fabricacion
Nombre
del
modelo
Frecuencia
Front
Side
Bus
Mult. CacheL1
Cache L2 TDP Socket Fecha desalida
65 nm
Core 2
Quad
Q6600
2,40 GHz1066
MT/s9 x
432
kb
8MB
(2x4MB)
105
/ 95
W
LGA
77507/01/2007
65nm
Core2
QuadQ(X)6700
2,67 GHz
1066
MT/s 10 x
232
kb 8 Mb
130
/95W
LGA
775 14/11/2006
65nm
Core2
Quad
QX6800
2,93 GHz1066
MT/s11 x
232
kb8 Mb
130
W
LGA
77509/04/2007
65nm
Core2
Quad
QX6850
3,00 GHz1333
MT/s
9 x232
kb
8 Mb130
W
LGA
775
16/06/2007
45nm
Core2
Quad
Q8200
2.33 GHz1333
MT/s7 x
232
kb4MB - W
LGA
775xx/xx/2008
-
8/8/2019 unidad_1_lenguaje_ensamblador
21/58
45nm
Core2
Quad
Q9300
2.50 GHz1333
MT/s7.5 x
232
kb6MB
95
W
LGA
77510/03/2008
45nm
Core2
Quad
Q9400
2,66 GHz1333
MT/s8 x
232
kb12 Mb
95
W
LGA
77525/03/2008
45nm
Core2
Quad
Q9550
2,83 GHz1333
MT/s8.5 x
232
kb12 Mb
95
W
LGA
77525/03/2008
45nmCore2Quad
QX9650
3,00 GHz1333
MT/s9 x
232
kb12 Mb
130
W
LGA
77511/11/2007
45nm
Core2
Quad
QX9770
3,20 GHz1600
MT/s8 x
232
kb12 Mb
136
W
LGA
775Q1 2008
50 nm
Core2
QuadQX9771
3,40 GHz1600
MT/s 9 x2*32
kb 16 Mb136
W
LGA
775 Q1 2009
El AMD Quad Core es un microprocesadorcon tecnologa de cuatro ncleos diseadopor la empresa AMD (acrnimo Advanced Micro Devices Inc.). Constituye el primer
procesador de esta empresa con dicha tecnologa. Saldr al mercado en los prximos
meses. Estar disponible en las siguientes versiones:
Barcelona [editar]
Barcelona ser un procesador de 4 ncleos para servidores que rondar velocidades de
reloj desde los 1,7Ghz hasta los 2Ghz. Con este procesador AMD renueva la lista de
procesadores para servidores. Estar disponible para socket AM2.1
Caractersticasdelprocesador
y 512 Kb L2Cachey DDR2 10,7 Gb/s
-
8/8/2019 unidad_1_lenguaje_ensamblador
22/58
y 2Mb L3Cache
Phenom [editar]
Phenom es una versin de 4 ncleos (aunque tambin hay algunos Phenom de 2 y 3
ncleos) para sobremesa que va dirigida a entusiastas y usuarios exigentes. Se pueden
encontrar Phenom con ncleos Agena o Kuma. Pretende ser la competencia de los Core2 Duo y de los Quad 2 Cores, de Intel.
Caractersticasdelprocesador
y 2.4 - 2.6 GHz.
y 125W TDP
y 256KB Cach L1 (porncleo)
y 2MB Cach L2 (porncleo)
y 2MB Cach L3 (Compartida)
y Socket 1207+ 1207.y
y
Intel Atom' es el nombre de una lnea de microprocesadoresx86 de Intel,anteriormente denominados Silverthorne/Diamondville. Estn diseados para un
proceso de fabricacin de 45 nmCMOS y destinados a utilizarse en MobileInternet Devices (MID, por sus siglas en ingls), Ultra-porttiles, Telfonos
inteligentes, y otros porttiles de baja potencia y aplicaciones. Intel anunci losnuevos procesadores el 2 de marzo de 2008.
y Descripcin [editar]
y Antes de su anuncio se especulaba con un procesador de Intel que compitiese
con los Geode de AMD actualmente empleado en el proyecto OLPC. El 15 de
octubre de 2007 Intel confirm que estaba trabajando en un nuevo procesador
para PC Ultra-porttiles de nombre en clave Diamondville.
y Silverthorne se vender bajo el nombre Centrino Atom (TM), mientras que
Diamondville se vender como Atom (TM). Los procesadores Intel Atom
(TM) son hasta el momento los que ofrecen un menor consumo de energa (0,6-
2,5 W) y gracias a su proceso de fabricacin de 45 nm permite un diminuto
tamao de 25 mm2, adems se confirm que incorporan el galardonado conjuntode instrucciones de sus predecesores Intel Core 2 Duo.
-
8/8/2019 unidad_1_lenguaje_ensamblador
23/58
Clasificacin De MemoriasOrganizando estos tipos de memoria conviene destacar tres categorassi las clasificamos en funcin de las operaciones que podemos realizarsobre ellas, es decir, memorias de slo lectura, memorias de sobre todolectura y memorias de lectura escritura.Memorias de slo lectura
ROM : Se usan principalmente en microprogramacin de sistemas. Losfabricantes las suelen emplear cuando producen componentes deforma masiva.Es una memoria solamente de lectura es totalmente inalterable sin estamemoria la maquina no arrancara. La memoria principal es laconvencional que va de 0 a 640 kb. Cuando la mquina arrancacomienza a trabajar el disco y realiza un testeo, para lo cual necesitamemoria, esta memoria es la convencional (ROM) y est dentro delmother (en el bios). Apenas arranca utiliza 300 kb, sigue testeando yllega a mas o menos 540 kb donde se planta. A medida de quecomenzaron a haber soft con ms necesidadde memoria apareci lallamada memoria expandida que iba de 640 kb a 1024 kb. Una vez quese utilizaba toda la memoria convencional se utilizaba la expandida queutiliza la memoria RAM. A medida que pasa el tiempo los 1024 kb eranescasos y se creo la memoria extendida que va de 1024 kb a infinito quees la memoria RAM pura. PROM: (Programmable Read Only Memory): El proceso de escritura esel ctrico. Se puede grabar posteriormente a la fabricacin del chip, adiferencia de las anteriores que se graba durante la fabricacin. Permite
una
nica grabacin y es ms cara que la ROM.Es una memoria digital donde el valorde cada bit depende del estadode un fusible (o antifusible), que puede ser quemado una sola vez. Poresto la memoria puede ser programada (pueden ser escritos los datos)una sola vez a trav
s de un dispositivo especial, un programadorPROM.
Estas memorias son utilizadas para grabar datos permanentes encantidades menores a las ROMs, o cuando los datos deben cambiar enmuchos o todos los casos.Peque as PROM han venido utilizndose como generadores defunciones, normalmente en conjuncin con un multiplexor. A veces sepreferan a las ROM porque son bipolares, habitulamente Schottky,
consiguiendo mayores velocidades. Una PROM com
n se encuentracon todos los bits en valor 1 como valor por defecto de fbrica; elquemado de cada fusible, cambia el valordel correspondiente bit a 0.La programacin se realiza aplicando pulsos de altos voltajes que no seencuentran durante operaciones normales (12 a 21 voltios). El t rminoRead-only (slo lectura) se refiere a que, a diferencia de otras memorias,los datos no pueden ser cambiados (al menos por el usuario final).Memorias de sobre todo lectura
-
8/8/2019 unidad_1_lenguaje_ensamblador
24/58
EPROM (EPROM son las siglas de Erasable Programmable Read-OnlyMemory (ROM borrable programable). Es un tipo de chip de memoriaROM inventado por el ingeniero Dov Frohman que retiene los datoscuando la fuente de energa se apaga. En otras palabras, es no voltil.Est formada por celdas de FAMOS (Floating Gate Avalanche-Injection
Metal-Oxide Semiconductor) o transistores de puerta flotante. Cada unode ellos viene de fbrica sin carga, por lo que es ledo como un 1 (poreso una EPROM sin grabar se lee como FF en todas sus celdas). Seprograman mediante un dispositivo electrnico que proporcionavoltajes superiores a los normalmente utilizados en los circuitoselectrnicos. Las celdas que reciben carga se leen entonces como un 0.Una vez programada, una EPROM se puede borrar solamente medianteexposicin a una fuerte luz ultravioleta. Esto es debido a que los fotonesde la luz excitan a los electrones de las celdas provocando que sedescarguen. Las EPROMs se reconocen fcilmente por una ventanatransparente en la parte alta del encapsulado, a trav s de la cual sepuede ver el chip de silicio y que admite la luz ultravioleta durante elborrado. EEPRO Mson las siglas de electrically-erasable programmable read-only memory (ROM programable y borrable el
ctricamente), en espa
ol
o castellano se suele referir al hablar como E PROM y en ingl s E -Squared-PROM. Es un tipo de memoria ROM que puede serprogramado, borrado y reprogramado el
ctricamente, a diferencia de
la EPROM que ha de borrarse mediante rayos ul travioletas.Aunque una EEPROM puede ser leda un nmero ilimitado de veces, slopuede ser borrada y reprogramada entre 100.000 y 1.000.000 de veces.Estos dispositivos suelen comunicarse mediante protocolos como I C, SPI
y Microwire. En otras ocasiones se integra dentro de ch
ips comomicrocontroladores y DSPs para lograr una mayor rapidez. La memoriaflash es una forma avanzada de EEPROM creadas por Dr. Fujio Masuokamientras trabajaba para Toshiba in 1984 y fueron presentadas en laReunion de Aparatos Electrnicos de la IEEE de 1984. Intel vio elpotencial de la invencin y en 1988 lanzo el primer chip comercial deltipo NOR. MEMORIA FLASH: Est basada en las memorias EEPROM peropermite el borrado bloque a bloque y es ms barata y densa.La memoria flash es una forma evolucionada de la memoria EEPROMque permite que mltiples posiciones de memoria sean escritas o
borradas en una misma operacin de programacin mediante impulsosel ctricos, frente a las anteriores que slo permite escribir o borrar unanica celda cada vez. Por ello, flash permite funcionar a velocidadesmuy superiores cuando los sistemas emplean lectura y escritura endiferentes puntos de esta memoria al mismo tiempo. Flash, como tipo deEEPROM que es, contiene un array de celdas con un transistorevolucionado con dos puertas en cada interseccin. Tradicionalmenteslo almacenan un bit de informacin. Las nuevas memorias flash,llamadas tambi n dispositivos de celdas multi-nivel, pueden almacenar
-
8/8/2019 unidad_1_lenguaje_ensamblador
25/58
ms de un bit por celda variando el nmero de electrones quealmacenan.Estas memorias estn basada en el transistor FAMOS (Floating GateAvalanche-Injection Metal Oxide Semiconductor) que es,esencialmente un transistor NMOS con un conductor (basado en unxido metlico) adicional entre la puerta de control (CG ControlGate) y los terminales fuente/drenador contenidos en otra puerta (FG Floating Gate) o bien que rodea a FG y es quien contiene los electronesque almacenan la informacin.o Memoria flashde tipo NOR: Cuando los electrones se encuentran enFG, modifican (prcticamente anulan) el campo el ctrico quegenerara CG en caso de estar activo.De esta forma, dependiendo de si la celda est a 1 a 0, el campoel ctrico de la celda existe o no. Entonces, cuando se lee la celdaponiendo un determinado voltaje en CG, la corriente el ctrica fluye ono en funcin del voltaje almacenado en la celda. Lapresencia/ausenciade corriente se detecta e interpreta como un 1 un0, reproduciendo as el dato almacenado. En los dispositivos de celdamulti-nivel, se detecta la intensidad de la corriente para controlar elnmero de electrones almacenados en FG e interpretarlosadecuadamente.Para programar una celda de tipo NOR (asignar un valordeterminado)se permite el paso de la corriente desde el terminal fuente al terminalsumidero, entonces se coloca en CG un voltaje alto para absorber loselectrones y retenerlos en el campo el
ctrico que genera. Este proceso
se llama hot-electron injection. Para borrar (poner a 1, el estadonatural del transistor) el contenido de una celda, expulsar estoselectrones, se emplea la t cnica de Fowler-Nordheim tunnelling, un
proceso de tunelado mecnico cuntico. Esto es, aplicar un voltajeinverso bastante alto al empleado para atraer a los electrones,convirtiendo al transistor en una pistola de electrones que permite,abriendo el terminal sumidero, que los electrones abandonen el mismo.Este proceso es el que provoca el deterioro de las celdas, al aplicarsobre un conductor tan delgado un voltaje tan alto.Cabe destacar que las memorias flash estn subdividas en bloques (enocasiones l lamados sectores) y por lo tanto, para el borrado, se limpianbloques enteros para agilizar el proceso, ya que es la parte ms lentadel proceso. Por esta razn, las memorias flash son mucho ms rpidasque las EEPROM convencionales, ya que borran byte a byte. No
obstante, para reescribir un dato es necesario limpiar el bloque primeropara reescribir su contenido despu s.o Memorias flash de tipo NAND: Basadas en puertas lgicas NANDfuncionan de forma ligeramente diferente: usan un tnel de inyeccinpara la escritura y para el borrado un tnel de soltado.Las memorias basadas en NAND tienen, adems de la evidente base enotro tipo de puertas, un coste bastante inferior, unas diez veces de msresistencia a las operaciones pero slo permiten acceso secuencial
-
8/8/2019 unidad_1_lenguaje_ensamblador
26/58
(ms orientado a dispositivos de almacenamiento masivo), frente a lasmemorias flash basadas en NOR que permiten lectura de accesoaleatorio. Sin embargo, han sido las NAND las que han permitido laexpansin de este tipo de memoria, ya que el mecanismo de borradoes ms sencillo (aunque tambi n se borre por bloques) lo que haproporcionado una base ms rentable para la creacin de dispositivosde tipo tarjeta de memoria.Comparacin de memorias flash basadas en NOR y NAND Paracomparar estos tipos de memoria se consideran los diferentes aspectosde las memorias tradicionalmente valorados. La densidad dealmacenamiento de los chips es actualmente bastante mayor en lasmemorias NAND. El coste de NOR es mucho mayor. El acceso NOR esaleatorio para lectura y orientado a bloques para su modificacin. Sinembargo, NAND ofrece tan solo acceso directo para los bloques ylectura secuencial dentro de los mismos. En la escritura de NORpodemos llegar a modificar un solo bit. Esto destaca con la limitadareprogramacin de las NAND que deben modificar bloques o palabrascompletas. La velocidadde lectura es muy superior en NOR (50100 ns)frente a NAND (10 s de la bsqueda de la pgina + 50 ns por byte). Lavelocidadde escritura para NOR es de 5 s por byte frente a 200 s porpgina en NAND. La velocidad de borrado para NOR es de 1 s porbloque de 64 KB frente a los 2 ms por bloque de 16 KB en NAND. Lafiabilidadde los dispositivos basados en NOR es realmente muy alta, esrelativamente inmune a la corrupcin de datos y tampoco tienebloques errneos frente a la escasa fiabilidadde los sistemas NAND querequieren correccin de datos y existe la posibilidad de que quedenbloques marcados como errneos e inservibles. En resumen, los sistemasbasados en NAND son ms baratos y rpidos pero carecen de una
fiabilidad que los haga eficiente, lo que demuestra la necesidadimperiosa de un buen sistema de archivos. Dependiendo de qu sea loque se busque, merecer la pena decantarse por uno u otro tipo.Memorias de Lectura/Escritura (RAM)
MEMORIA RAM o Memoria e acceso Aleatorio ( RandomAcces Memory )Esta memoria es como un escritorio al igual que los escritorios tienencajones donde ordenan la informacin, cuanto mas grande sea elescritorio (plano de apoyo) mas cajones voy a tenerde tal suerte que elmicro va a perder menos tiempo en buscar y ordenar la informacin
La importancia de esta memoria es tan grande que si esta ausente laPC NO ARRANCA, Acta como si estuviera muerta no hay sonido nicursor en la pantalla ni luces que se enciendan o apaguen. Para quesirve: Almacena las instrucciones que debe ejecutar el micro en cadamomento Este es el lugar fsico donde debe trabajar el procesadorcuando abrimos un programa sus instrucciones se copianautomticamente en la memoria, y cuando cerremos el programa todose borrara ( volatizara ) Tambi n copia los trabajos que estamoshaciendo en ese programa En la Ram se copian programas que
-
8/8/2019 unidad_1_lenguaje_ensamblador
27/58
coordinan el funcionamiento de la Pc: La primera parte de la Ram estareservada para guardar las instrucciones de los dispositivos electrnicos.En este lugar no se puede guardar nada ya que lo utiliza el sistema parasaber como manejar los dispositivos. DRAM (Dynamic Random Access Memory): Los datos se almacenancomo en la carga de un condensador. Tiende a descargarse y, por lotanto, es necesario un proceso de refresco peridico. Son ms simples ybaratas que las SRAM.Este tipo de memoria se utilizan des los a os 80 hasta ahora en toda lascomputadoras Esta memoria tiene una desventaja hay que estimularla(Refresco) permanentemente porque se olvida de todo. Como seestimula: requiere un procesador que ordene el envi de cargasel ctricas, a este tipo de memorias se lo conoce como memoriaestticas Otras de las desventajas de esta memoria es que es lenta y laventaja es que es barata. Obviamente al tener estas desventajas se leincorporaron distintas tecnologas para mejorarlas. FPM DRAM. La ventaja de este memoria consiste en pedir permiso unasola vez u llevarse varios datos consecutivos esto comenz a usarseprincipios de os a os noventa y dio buenos resultados a estos mdulosse los denominaron SIMM FPM DRAM y pueden tener 30 o 72 pines y se lautiliza en las Pentium I lo que logro con esta tecnologa es agilizar elproceso de lectura, estas memorias ya no se utilizan mas. EDO DRAM Estas memorias aparecieron en el 95, y se hicieron muypopulares ya que estaban presentes en todas las Pentium I MMX y teniala posibilidadde localizar un dato mientras transfera otro de diferenciade las anteriores que mientras transfera un dato se bloqueaba. EstasEDO SIMM eran de 72 pines RDRAM. Es una memoria muy costosa y de compleja fabricacin y la
utilizan procesador Pentim IV para arriba corre a velocidades de 800Mhz sus mdulos se denominan Rimm de 141 pines y con un anho de 16bits, para llenar un banco de memoria de 64 bits hay que instalar 4memorias
SDRAM: Esta Memoria entro en el mercado en los a os 97, y mejoro lavelocidad siendo su ritmo de trabajo igual a la velocidadde Bus (FSB) esdecir que tienen la capacidad de trabajar a la misma velocidad demother al que se conectan.Estos mdulos de 168 Pines son conocidos como DIMM SDRAM PC 66 y100, 133, obviamente si instalo una de 133, en un motherde 100 va a
funcionar a 100Mhz. DDR SDRAM: En este caso se consigui que pudiera realizar dostransferencia en una pulsacin o tic-tac de reloj, esta memoria pudealcanzar velocidades de 200 a 266Mhz, Tiene una ventaja mas trabajaen sincrona con el bus del mother si este acelera la memoria tambi npero tiene una desventaja son muy caras. Se conoce como DIMM DDRSDRAM PC 1600 Y PC 2100.
-
8/8/2019 unidad_1_lenguaje_ensamblador
28/58
SRAM (Static Random Access Memory): Los datos se almacenanformando biestables, por lo que no require refresco. Igual que DRAM esvoltil. Son ms rpidas que las DRAM y ms caras. MEMORIA CACH o SRAM: La memoria cach trabaja igual que lamemoria virtual, tenemos cach en el procesador, en los discos y en elmother y nos guarda direcciones de memoria.Si ejecutamos un programa en principio, lo cerramos y luego losvolvemos a ejecutar, la memoria cach nos guarda la ubicacin(direccin) en el disco, cuando lo ejecut, y lo que hicimos con elprograma. Es mucho ms rpida cuando ya usamos un programa
Existen 3 tipos de memoria cach:Cache L1: Esta dividido en dos bloques uno contiene las instrucciones y
otro los datos y cuando se habla de su capacidadde almacenamientose dice que es de 216 Kb .El cache L1 se encuentra dentro del interiordel procesador y funciona ala misma velocidad que el micro con capacidades que van desde 28hasta 264KbCache L2 interno y externo: La primeras memoria cach estabanubicadas en el mother luego se construyeron en el procesador, pero nodentro del dado del procesador por lo que es mas lento que el cachL1, mientras que el externo lo encontramos el mother. La computadorasque tienen las tres tecnologas de cach van a ser mas rpidas.Cache L3:Algunos micro soportan un nivel de cach mas el L3 que estalocalizado en el mother. ELAMD 6k-3 soporta este cach.
Unidades De Entrada SalidaDispositivos de entradaSon todos los elementos que permiten la unin del usuario con la unidadde procesamiento central y la memoria.: Entre estos tenemos.Teclado, Mouse o Ratn y Joysticks, Escner o digitalizador deimgenes, Dispositivos pticos, Micrfonos.Teclado: Dispositivos de entrada que traducen los datos a una formaque la computadora pueda interpretar, para luego procesarlos yalmacenarlos, los hay de forma: Teclado alfanumrico y paraperfoverificacin:Mouse y Joysticks: Dispositivos que convierten el movimiento fsico en
se ales elctricas binarias y que la misma sea repetida en el monitor.Escner o digitalizadorde imgenes: Estn concebidos para interpretarcaracteres, combinacin de caracteres, dibujos grficos escritos amano o en maquinas o impresoras y traducirlos al lenguaje que lacomputadora entiende.Dispositivos pticos: entre estos tenemos, Lectorde marcas o rastreadorde marca ptica, Digitalizadorde imgenes (scanner), Cmara digital:Digitalizadorde audio: entre estos tenemos, Micrfonos
-
8/8/2019 unidad_1_lenguaje_ensamblador
29/58
2. DISPOSITIVOS DE SALIDAEstos dispositivos permiten al usuario ver los resultados de los clculos ode las manipulaciones de datos de la computadora. El dispositivo desalida ms comn es el monitor, impresora, mdem.Monitor: sirve como dispositivo de salida para recibir mensajes del
computador.Impresora: seguro Una impresora permite obtener una copia dura ofsica de cualquier informacin que pueda aparecer en pantalla. Haydos grupos bsicos que son: impresora de Impacto y no impacto o depgina.Mdem: , dispositivo que sirve para enlaza dos ordenadorestransformando las se ales digitales.
-
8/8/2019 unidad_1_lenguaje_ensamblador
30/58
1 2 MICROPROCESADORE a f r ad p r l l : r a, U dadAr a L a (ALU), P r d E rada y Sal da (B ), La U dadd r l(U ) y r l j q r za f a
1
2
1 T
ip
De Buses
s es
se
e
e c
es
e
e
s c
es
e
e
c
se
s e
e
y
es
e
s
se
Bus de Dat s
Mueve l da entre l d p tiv del hardware de Entrada elteclad , el ratn, icrf no, etc.; de alida como la mpresora, elMonitor; y de Almacenamientocomoel Disco Duro, el Disqueteo la
Memoria- lash.
Estas transferencias que se dan a travs del Bus de Datos sonobernadas por varios dispositivos y mtodos, de los cuales el
ontrolador P , ("Peripheral omponent nterconnect", nterconexin
de componentes Perifricos), es uno de los principales. Su trabajoequivale, simplificandomucho el asunto, a una central de semforospara el trficoen lascalles deuna ciudad.
-
8/8/2019 unidad_1_lenguaje_ensamblador
31/58
Bus de di ecci es
El Bus de Direcciones, por otra parte, est vinculado al bloque de ontrol de la PU para tomar y colocar datos en el Sub-sistema deMemoria durante la ejecucin de los procesos decmputo.
Para el Bus de Direcciones, el "ancho de canal" explica asmismo lacantidad de ubicaciones o Direcciones diferentes que elmicroprocesador puede alcanzar. Esa cantidad deubicaciones resultadeelevarel a la potencia. " " porqueson dos lasseales binarias,los bits y ; y " potencia" porque las pistas del Bus de Direccionesson, enuninstante dado, unconjunto de
bits.
ossirve para calcularla capacidad dememoria enel PU.
1 2 2 Regist s
Los registros del procesadorseemplean para controlar instruccionesenejecucin, mane jar direccionamiento de memoria y proporcionarcapacidad aritmtica.Los registros son espacios fsicos dentro del microprocesador concapacidad de bits hasta bits dependiendo del microprocesadorque se emplee. Los registros son direccionables por medio de unavieta, queesuna direccin dememoria. Los bits, porconveniencia, senumeran de derecha a izquierda (
,
,
.
,
,
,
),
-
8/8/2019 unidad_1_lenguaje_ensamblador
32/58
Los registros se dividen en:
y Registros de segmento
y Registros de apuntadores de instrucciones
y Registros apuntadoresy Registros de propsitos generales
y Registro ndice
y Registro de bandera.
Registros de segmento Un registro de segmento se utiliza para alinear en un limite de prrafo odicho de otra forma codifica la direccin de inicio de cada segmento ysu direccin en un registro de segmento supone cuatro bits 0 a suderecha. Un registro de segmento tiene 16 bits de longitud y facilita unrea de memoria para direccionamientos conocidos como el segmento
actual.
Los registros de segmento son:
Registro CS El Sistema Operativo almacena la direccin inicial del segmentode cdigo de un programa en el registro CS. Esta direccin desegmento, mas un valor de desplazamiento en el registro deapuntado de instruccin (IP), indica la direccin de unainstruccin que es buscada para s ejecucin.Para propsito de programacin normal, no se necesitareferenciar el registro CS.
Registro DS La direccin inicial de un segmento de datos de programa esalmacenada en el registro DS. En trminos sencillos, esta
direccin, mas un valorde desplazamiento en una instruccin,genera una referencia a la localidadde un bytes especifico enel segmento de datos.
Registro SS El registro permite la colocacin en memoria de una pila, paraalmacenamiento temporal de direcciones y datos.El Sistema Operativo almacena la direccin de inicio delsegmento de pila de un programa en el registro SS. Estadireccin de segmento, ms un valorde desplazamiento en elregistro del apuntadorde la pila (SP), indica la palabra actualen la pila que est siendo direccionada. Para propsitos deprogramacin normal, no se necesita referenciar el registro SS.
Registro ES Algunas operaciones con cadenas de caracteres (datos decaracteres) utilizan el registro esta de segmento para manejar el
direccionamiento de memoria. En este contexto, el registro ESesta asociado con el registro DI (ndice).Un programa que requiere el uso del registro ES puedeinicializarlo con una direccin apropiada.
Registro FS yGS
Son registros extra de segmento en los procesadores 80386yposteriores a estos procesadores.
Registro Apuntador de instrucciones.(IP)
-
8/8/2019 unidad_1_lenguaje_ensamblador
33/58
El registro apuntador de instrucciones (IP) de 16 bits contiene eldesplazamiento de direccin de la siguiente instruccin que se ejecuta.El registro IP esta asociado con el registro CS en el sentido de que el IPindica la instruccin actual dentro del se gmento de cdigo que se estaejecutando actualmente.En el ejemplo siguiente, el registro CS contiene 25A4[0]H y el IP contiene
412H. Para encontrar la siguiente instruccin que ser ejecutada elprocesados combina las direcciones en el CS y el IP as: Se gmento dedireccin en el registro CS: 25A40H Desplazamiento de direccin en elregistro IP: + 412H Direccin de la siguiente instruccin: 25E52H
Registros apuntadores.Los registros apuntadores estn asociados con el registro SS y permiten
al procesador accesardatos en el segmento de pila los registros .Tipos de apuntadores son dos:
registro SP El apuntadorde pila IPde 16 bits esta asociado con el registro SSy proporciona un valor de desplazamiento que se refiere a la
palabra actual que esta siend
o procesad
a en la pila. El ejemplosiguiente el registro SS contiene la direccin de segmento
27B3[0]H y el SP el desplazamiento 312H Para encontrar lapalabra actual que esta siendo procesada en la pila elmicroprocesador combina las direcciones en el SS y el PP:Direccin de segmento en el registro SS: 27B30H Desplazamientoen el registro SP: + 312H Direccin en la Pila: 27E42H27B3[0]H 312H Direccin del segmento SS Desplazamiento del SP
registro BP El registro BPde 16 bits facilita la referencia de parmetros, loscuales son datos y direcciones transmitidos va lapida.
Registros de propsitos generales.Los registros de propsitos generales AX, BX, CX y DX son los caballos debatalla o las herramientas del sistema.Son los nicos en el sentido de que se puede direccionarlos como unapalabra o como una parte de un byte.El ultimo byte de la izquierda es la parte alta, y el ultimo byte de laderecha es la parte baja por ejemplo, el registro CX consta de unaparte CH (alta) y una parte CL (baja), y usted puede referirse acualquier parte por su nombre.
RegistrosAX el acumulador principal, es utilizado para operaciones queimplican entrada/salida y la mayor parte de la aritmtica. Porejemplo, las instrucciones para multiplicar, dividir y traducirsuponen el uso del AX. Tambin, algunas operacionesgeneran cdigo ms eficientes s i se refiere al AX en lugardelos otros registros.
Registro BX conocido como el registro base ya que es el nico registro depropsitos generales que pueden ser unos ndices paradireccionamiento indexado. Tambin es comn emplear al BXpara clculos.
Registro CX conocido como el registro contador. Puede contener un valorpara controlar el nmero de veces que un ciclo se repite o unvalor para corrimiento de bits, hacia la derecha o hacia la
-
8/8/2019 unidad_1_lenguaje_ensamblador
34/58
izquierda. El CX tambin es usado para muchos clculos.Registro DX conocido como el registro de datos. Algunas operaciones de
entrada/salida requieren su uso, y las operaciones demultiplicacin y divisin con cifras grandes suponen al DX y alAX trabajando juntos. Puede usar los registros de propsitospara suma y resta de cifras de 8, 16, 32 bits.
Registro ndice.
Los registros SI y DI estn disponibles para direccionamientos indexados ypara sumas y restas. Que son las operaciones de punta.
Registro SI El registro ndice de 16 bits es requerido por algunas operacionescon cadenas (de caracteres). En este contexto, el SI estasociado con el registro DS. Los procesadores 80386 y posteriorespermiten el uso de un registro ampliado a 32 bits, el ESI.
Registro DI El registro ndice destino tambin es requerido por algunasoperaciones con cadenas de caracteres. En este contexto, el Di
est asociado con el registro ES. Los procesadores 80386 yposteriores permiten el uso de un registro ampliado a 32 bits, elEDI.
Registro de bandera.Los registros de banderas sirven parar indicar el estado actual de lamaquina y el resultado del procesamiento,Cuando algunas instrucciones piden comparaciones o clculosaritmticos cambian el estado de las banderas. Las banderas estn enel registro de banderas en las siguientes posiciones: bits 15 14 13 12 11 109 8 7 6 5 4 3 2 1
Las banderas ms comunes son las siguientes:OF (Over flow flag,desbordamiento).
Indica el desbordamiento de un bit de orden alto (mas ala izquierda) despus de una operacin aritmtica
DF (Direction flag,Direccion).
Designa la direccin hacia la izquierda o hacia laderecha para mover o comparar cadenas decaracteres.
IF (Interruption flag,Interrupcion)
Indica que una interrupcin externa, como la entradadesde el teclado sea procesada o ignorada.
TF (Trap flag,Trampa).
Examina el efecto de una instruccin sobre los registros yla memoria. Los programas depuradores como DEBUG,activan esta bandera de manera que pueda avanzaren la ejecucin de una sola interrupcin a un tiempo.
SF (Sign flag, Signo). Contiene el signo resultante de una operacinaritmtica (0=positivo y 1= neg ativo).ZF (Zero flag, Zero). Indica el resultado de una operacin aritmtica o de
comparacin (0= resultado diferente de cero y1=resultado igual a cero).
AF (Auxiliary carryflag, Acarreoauxiliar).
Contiene un acarreo externo del bit 3 en un dato de 8bits, para aritmtica especializada
PF (Parity flag,Paridad)
Indica paridad par o imparde una operacin en datosde ocho bits de bajo orden (mas a la derecha).
-
8/8/2019 unidad_1_lenguaje_ensamblador
35/58
CF (Carry flag,Acarreo).
Contiene el acarreo de orden ms alto (mas a laizquierda) despu s de una operacin aritmtica;tambin lleva el contenido del ltimo bit en unaoperacin de corrimiento o rotacin.
Nada ms empezar toca hacer un acto de fuerza de voluntad, por renunciar a la mayor parte denuestra memoria RAM, funciones MMX, direccionamiento de 32 bits.. Lo primero que vamos aver es una descripcin de los registros del primer bicho de la familia, el 8086 (aunque un 80286es bsicamente idntico en este aspecto), pues Intel y los dems fabricantes han puestocuidado en que todos ellos se puedan comportar como l. Es un micro de 16 bits, y comohabrs adivinado sus registros son de 16 bits. Helos aqu:
Registros de datos AX BX CX DX
Punteros de pila SP BP
Registros ndice DI SI
Registros de segmento CS DS ES SS
Registro de flags
Los registros de datos, como su nombre indica, contienen generalmente datos. (S, lo s, noparecen gran cosa, pero es lo que hay) A veces se les llama "de propsito general", y la verdades que es un nombre ms apropiado, si bien un poco ms largo. Aunque tiene distinto nombrecada uno de ellos, cuentan bsicamente con la misma funcionalidad, con algunas excepciones.Determinadas operaciones -por ejemplo la multiplicacin- exigen que los operandos estn en
registros especficos. En ese caso no quedarn ms narices que usar esos concretamente.
AX es a menudo llamado acumulador, ms por motivos histricos que por otra cosa.BX se puede usar como registro base en algunos modos de direccionamiento, es decir,para apuntar a posiciones de memoria con l.CX es usado por algunas instrucciones como contador (en ciclos, rotaciones..)DX o registro de datos; a veces se usa junto con AX en esas instrucciones especialesmencionadas.
Cada registro de estos est dividido a su vez en dos registros de 8 bits, que pueden ser ledoso escrito de manera independiente:
AX = AH | AL BX = BH | BLCX = CH | CL DX = DH | DL
Si AX contiene 00FFh, AH=00h (su parte alta) y AL=FFh (su parte baja); si lo incrementamosen 1, AX pasa a valer 0100h (lgicamente), y con ello AH=01h, AL=00h. Si en lugar deincrementar en 1 AX lo hacemos con AL (byte inferior), AH se quedar como estaba y AL serFFh+01h=00h, es decir, AX=0000h (vamos, que cuando se manipula una parte del registro la
otra no se ve afectada en absoluto) Ah, por si alguno lo dudaba, H viene dehigh y L de low.
Uno puede mover los datos de unos registros a otros con prcticamente total libertad. Tambinpodremos realizar operaciones sobre ellos, como sumar el contenido de BX y DX para guardarel resultado en DX, y cosas as. La primera restriccin al respecto (y bastante razonable) esque los operandos tendrn que ser del mismo tamao (no podremos sumar BX con DH, por
ejemplo).
Para explicar los registros que hacen referencia a memoria hay que contar brevemente qu esla segmentacin.
-
8/8/2019 unidad_1_lenguaje_ensamblador
36/58
Uno puede pensar que lo lgico y maravilloso para apuntar a una direccin de memoria escolocar dicha direccin en un registro, y ale, que apunte. Eso est muy bien para registrosgrandes pero da la casualidad de que con 16 bits tenemos 2^16=64k posiciones. Hombre, enaquellos tiempos estaba muy bien para segn qu cosas, y aqu tampoco vamos a manejarmucha ms memoria, pero tampoco es plan. La solucin por la que opt Intel fue usar dosregistros de 16 bits (cosa que seguramente ya imaginabas), pero no dispuestosconsecutivamente, como podra pensarse:
Segmento:Desplazamiento
:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-
8/8/2019 unidad_1_lenguaje_ensamblador
37/58
datos... no as los de segmento, que tienen fuertes limitaciones. Cuando se diga "un registro"como operando de una instruccin, eso incluye en principio cualquier registro menos los de
segmento.
El par CS:IP indica la direccin de memoria donde est la instruccin que se ejecuta. Los
nombres vienen de Code Segment e Instruction Pointer. A esta parejita slo la modifican lasinstrucciones de salto, as que podemos olvidarnos -un poco- de ella. Cada vez que se ejecuta
una instruccin, el contador IP se incrementa para apuntar al cdigo de la operacin siguiente;las instrucciones de salto cargan CS:IP con la direccin adonde queremos saltar, para que se
ejecute el cdigo a partir de ah.
SS:SP apuntan a la pila. Como en todo micro que se precie, tenemos una pila adonde echarlos valores de los registros que queremos preservar para luego, las direcciones de retorno delas subrutinas.. La pila crece hacia abajo, es decir, cuando metemos algo en la pila el punterode pila se decrementa, y cuando lo sacamos se incrementa. Siempre se meten valores de 16bits. Significan Stack Segment y Stack Pointer, claro. Por lo general SS no se toca, y SP quizpero poquito, ya que hay instrucciones especficas para manejar la pila que alteran SPindirectamente. Digamos que uno dice "tiro esto a la pila" o "saco lo primero que haya en la pilay lo meto aqu" y el micro modifica SP en consecuencia. BP es un puntero Base, para indicartambin desplazamiento, que se usa en algunos modos de direccionamiento y especialmente
cuando se manejan subrutinas. La pila se estudiar en mayor profundidad en el tema VI.
DS y ES son registros de segmento adicionales, el primero llamado de datos (Data) y elsegundo Extra. Con ellos apuntaremos a los segmentos donde tengamos nuestros datos (yaque del cdigo se encarga CS), esto es, nuestras variables. Estos los manipularemos muchoms que los anteriores cuando programemos en modo real.
DI y SI son registros ndice, es decir, sirven para indicar el offset dentro de un segmento.Acabars harto de tanto usarlos. En las instrucciones de cadena DI se asocia por defecto a DS,y SI a ES.
Aunque el sistema de segmentacin pueda parecer muy engorroso (bueno, es que a este nivelrealmente lo es, y mucho) en realidad es vital. El modo protegido del 386+ (386+ por "386 ysuperiores") emplea segmentacin, pero aprovechando 32 bits. En entornos multitarea hay queestructurar cada programa con su(s) bloque(s) de cdigo y de memoria, cada uno con su nivelde acceso (por ejemplo si ests guarreando con la memoria te interesa que slo enredes con lade tu programa, para no sobreescribir otros procesos en curso por accidente, o parte delsistema operativo incluso); lo que sucede es que ahora es una mierda porque estasegmentacin es muy limitada. Sirva esto para evitar la cantinela segmentacin=mala que lepuede haber pasado a uno por la cabeza a estas alturas de pelcula. Tras este pequeo
parntesis, sigamos.
El registro de flags est formado por varios bits cada uno con significado propio, que sonmodificados por las operaciones que realizamos:
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Flag -- -- -- -- OF DF IF TF SF ZF -- AF -- PF -- CF
Aunque es un registro de 16 bits slo algunos de ellos tienen significado. Los otros adquierenvalores indeterminados, y se dice que son bits reservados; un programa no debe tocarlos, puesaunque un equipo dado puede que no los use, otros micros podran manipularlos internamente,
con resultados impredecibles.
y CF Carry Flag o indicador de acarreo. Normalmente indica si "nos llevamos algo"despues de haber sumado o restado.
y OF Overflow Flag o indicador de desbordamiento. Si despus de una operacin elresultado no cabe en el tamao del registro, se pone a 1.
-
8/8/2019 unidad_1_lenguaje_ensamblador
38/58
y ZF Zero Flag o indicador de cero. Si el resultado da 0 se pone a 1.
y SFSign Flag o indicador de signo. Si el resultado es negativo se pone a 1.
y PFParity Flag o indicador de paridad. Con algunas operaciones lgicas o aritmticasse pone a 1 si el resultado es par.
y AF Auxiliary Flag o indicador auxiliar. Se usa para operaciones BCD (si es que stasvalen para algo)
y DF Direction Flag o indicador de direccin. Se usa en operaciones llamadas "de
cadena", indicando el sentido (ascendente o descendente) en que se recorre lamemoria. (Este flag es ms divertido de lo que parece.)
y IF Interrupt Flag o indicador de interrupciones. Cuando se pone a 1 se permiten lasinterrupciones, a 0 se ignoran; se dice que se enmascaran. Hay no obstante algunasmuy especiales que pasan del flag; por ejemplo, si arrancas (fsicamente, me refiero;coger con la mano y zs!) una tarjeta de RAM con el trasto encendido, la interrupcinque salta -alerta roja, inmersin, inmersin, auuuuu- pasa de este flag olmpicamente(algo as no se puede pasar por alto bajo ninguna circunstancia).
y TF Trap Flag o indicador de trampa (para ejecucin paso a paso, como en losdepuradores; podemos olvidarnos de l)
No conviene aturullarse demasiado a cuenta de los flags, pues a medida que se vayan viendolas instrucciones que los usen se irn comentando con ms calma. Resumen: es un registroque contiene 1) indicadores de los resultados de algunas operaciones y 2) modificadores del
comportamiento del procesador.
MicroprocesadorModos
Direccionamiento
Se llama "modo de direccionamiento" a una forma de especificarle una direccin al micro paraque acceda a algn dato, como cuando hemos dicho MOV DX,[ES:0]. Decirle al procesadordirectamente la direccin, en este caso offset 0, es efectivamente un modo dedireccionamiento, aunque no demasiado flexible, porque debemos saber la posicin exacta deldato en el momento de hacer el programa. Veamos todos los modos de direccionamiento quepermite este micro, sin ms que poner el offset dentro de []:
Nombre Offset Segmento por defecto
Absoluto Valor inmediato DS
Indirecto con base BX+x DS
BP+x SS
Indirecto con ndice DI+x DS
SI+x DS
Ind. con base e ndice BX+DI+x DS
BX+SI+x DS
BP+DI+x SS
BP+SI+x SS
Por x queremos decir un nmero en complemento a dos de 8 o 16 bits, es decir, loscomprendidos entre -128 y 127 o -32768 y 32767.
-
8/8/2019 unidad_1_lenguaje_ensamblador
39/58
Supongamos que tenemos una cadena de caracteres en el segmento indicado por ES, offset100h, y queremos mover un carcter cuya posicin viene indicada por el registro BP, a AL. Eloffset de