Está en la página 1de 27

1

UNIVERSIDAD NACIONAL DE SAN AGUSTIN


FACULTAD DE INGENIERIA DE PRODUCCION Y
SERVICIOS
ESCUELA PROFESIONAL DE INGENIERIA ELECTRNICA

Curso:
LABORATORIO DE ARQUITECTURA DE
COMPUTADORAS

TURNO:
GRUPO A
MARTES 7:00-9:00 HORAS

HARDWARE PC AT PENTIEM IV (ULTIMA


GENERACION)
APELLIDOS Y NOMBRES:
JUSTO VILCAHAPAZA JAMERSON 20090938
LEVITA PARI CHRISTIAN ROLAND 20090955

INDICE
ndice.....................................................................................................................2
1.

Sistemas que Componen la Computadora AT..........................................3

2.

Caractersticas del Procesador Pentium IV...............................................4

3.

Funcionamiento General...........................................................................5

4.

Sistema Descrito por Bloques y por Circuitos...........................................8

5.

Esquemtico del Sistema Completo de Aplicacin...................................10

6.

Muestra de una Mainboard AT con Identificacin de Dispositivos............11

7.

Registros....................................................................................................11

8.

Modos de Direccionamiento......................................................................13

9.

Set de Direcciones.....................................................................................14
9.1 Instrucciones de Transferencia de Datos............................................14
9.2 Instrucciones Aritmticas.....................................................................16

10.

Lenguaje Maquina, Macroensamblador....................................................21


10.1 El Formato Ensamblador...................................................................21
10.2 Macroinstruccion................................................................................22
10.3 Macroensambladores........................................................................22

11.

Debuger y Simuladores.............................................................................23
11.1 Degub.................................................................................................23
11.2 Simuladores.......................................................................................25

12.

BIBLIOGRAFIA..........................................................................................26

HARDWARE PC AT PENTIUM IV (Ultima Generacin)

3
1. SISTEMAS QUE COMPONEN LA COMPUTADORA AT
La microarquitectura NetBurst le permite al Pentium 4 funcionar a
velocidades extremadamente altas, aportando grandes prestaciones a
usuarios de ordenadores, adems esta tecnologa dar potencia a los ms
avanzados procesadores de 32 bits de Intel en los prximos aos.
El Pentium 4 es el primero en incorporar un diseo totalmente nuevo,
desde que Intel introdujera el Pentium Pro, con su microarquitectura P6. El
Pentium 4 se conecta a placa a travs de Socket 423, con lo que abandona la
conexin Slot de anteriores procesadores.
La memoria RAM utilizada es ahora de tipo RIMM que trabaja a elevada
velocidad llegando a los 400 MHz en el bus del sistema, sin embargo tiene
como inconveniente el alto coste. La memoria cach tiene 20 KB de primer
nivel donde 12 KB son para instrucciones y 8 KB para datos, en el Pentium III
la cach L1 era de 32 KB, por lo que en el Pentium 4 se ve reducida. La cach
de segundo nivel tambin se reduce pasando de 512 KB a 256 KB. La
tecnologa de fabricacin utilizada es de 0,18 y 0,13 m. El ncleo del
procesador integra 42 millones de transistores.
El rango de frecuencias en el que est disponible este procesador va
desde 1,7 GHz hasta 2,8 GHz, siendo las velocidades en que puede trabajar el
bus del sistema de 400 533 MHz dependiendo de la velocidad del
procesador.

2. CARACTERSTICAS DEL PROCESADOR PENTIUM IV INTEL MULTI-CORE

4
El procesador Intel Pentium 4 con microarquitectura Intel NetBurst
presenta la microarquitectura de 32 bits ms avanzada e innovadora de Intel.
Este procesador, diseado para ofrecer un rendimiento superior, resulta
perfecto para las aplicaciones y los entornos ms exigentes. La marca Pentium
4 es indicativa de un rendimiento sin precedentes que combina caractersticas
innovadoras con la demostrada calidad de Intel. Con el procesador de
sobremesa ms potente de Intel tendr rendimiento cuando ms lo necesite:
Rendimiento para las aplicaciones de gama alta actuales y para las
exigentes innovaciones futuras de Internet
Potencia para tecnologas vanguardistas de Internet como vdeo fluido y
sonido MP3*. Prestaciones para crear, editar y compartir con rapidez
vdeos y fotografas de calidad profesional
La plataforma de juego ms novedosa para unos juegos 3D
absorbentes. El procesador Intel Pentium 4 ofrece potencia
especfica y est diseado para avanzar por donde lo haga Internet.
El procesador Pentium 4 con microarquitectura Intel NetBurst ofrece
nuevas prestaciones para mejorar el rendimiento, como:
Tecnologa hipercanalizada Un canal ms profundo que hace posible
que las instrucciones del procesador se pongan en cola y se ejecuten
con la mayor rapidez posible, de forma que el procesador Pentium 4
puede alcanzar las velocidades de reloj ms altas del mundo en
ordenadores de sobremesa.
Extensiones Streaming SIMD 2 Las extensiones de instruccin nica y
datos mltiples (SIMD) 2, que constan de 144 nuevas instrucciones,
incluyen coma flotante de doble precisin en SIMD, entero de 128 bits
en SIMD y nuevas instrucciones de gestin de memoria y de cach. Las
extensiones Streaming SIMD 2 mejoran el rendimiento para acelerar los
aspectos ms exigentes de la informtica de Internet, adems de vdeo,
voz, codificacin, tratamiento de imgenes y aplicaciones para
estaciones de trabajo sin subprocesos.
Bus del sistema de 400 MHz Con el triple de ancho de banda que los
procesadores anteriores, el bus de sistema de 400 MHz acelera la
transferencia de informacin del procesador al resto del sistema y
mejora la velocidad y el rendimiento. Esta innovadora tecnologa ampla
el potencial para conseguir velocidades de proceso al resto del sistema.
Ejecucin dinmica avanzada Esta caracterstica ampla las funciones
de ejecucin dinmica que se encuentran en la microarquitectura P6 de
generacin anterior. La prediccin de bifurcacin mejorada acelera el
flujo de trabajo al procesador y ayuda a compensar la canalizacin ms
profunda. La ejecucin especulativa muy profunda y no secuencial
realiza ms de 100 instrucciones de forma especulativa, lo que
garantiza que las unidades de ejecucin superescalar del ordenador
siguen ocupadas para un mejor rendimiento global.

5
Coma flotante y unidad multimedia mejoradas Un puerto de coma
flotante de 128 bits y un segundo puerto para movimiento de datos
hacen posible unas imgenes 3D y unos grficos ms realistas.
Cach de seguimiento de ejecucin Cach L1 de instrucciones avanzada
que elimina la latencia de canal del descodificador y pone en cach las
instrucciones descodificadas, para mejorar as la eficacia y la velocidad
de ejecucin de las instrucciones en cach.
Sistema de ejecucin rpida Unidades lgicas aritmticas (ALU) de
enteros al doble de velocidad de reloj que la frecuencia bsica que
ofrecen cuatro ALU de ancho de banda informtica y menor ejecucin
de latencia, lo que aumenta el rendimiento para operaciones concretas
de enteros. El procesador Pentium 4 optimiza el margen de ampliacin
necesario para su empresa.
El procesador Intel Pentium 4 ofrece el rendimiento que las pequeas
empresas necesitan para ser competitivas. Sus empresas clientes, equipadas
con sistemas basados en el procesador Pentium 4, estarn mejor situadas
para optimizar la productividad y el rendimiento, de forma que podrn:
Aprovechar las tecnologas Internet optimizadas, como Java* y XML, el
nuevo lenguaje para los negocios.
Disponer de un entorno multitarea, tareas de fondo como comprobacin
de virus en tiempo real, codificacin, compresin y sincronizacin del
correo electrnico.
Reducir espectacularmente el tiempo para compilar y para modelado de
imgenes en aplicaciones multimedia, lo que aumenta la productividad.
Proporcionar estabilidad, vida til y margen de ampliacin para el
futuro.

3. FUNCIONAMIENTO EN GENERAL
A. CHIPSET
Conjunto de chips, o chipset, es un elemento formado por un determinado
nmero de circuitos integrados en el que se han incluido la mayora de los
componentes que dotan a un ordenador de compatibilidad PC/AT a nivel
hardware como, por ejemplo, el controlador de interrupciones, los
controladores DMA, el chip temporizador, controladoras de disco duro, etc.
Mediante este elemento se han integrado en unos pocos componentes los
que antes se encontraban un nmero de chips independientes
relativamente elevado.
Con el paso del tiempo, en el chipset se han ido incluyendo algunos
nuevos tipos de dispositivos que han surgido con el avance tecnolgico,
como es el caso de las controladores de bus USB, el bus AGP, el bus PCI,
funciones de administracin de energa, etc.

6
B. RANURA AMR
El audio/modem rise, tambin conocido como slot AMR2 o AMR3 es una
ranura de expansin en la placa madre para dispositivos de audio (como
tarjetas de sonido) o modems lanzada en 1998 y presente en placas de
Intel Pentium III, Intel Pentium IV y AMD Athlon.
Fue diseada por Intel como una interfaz con los diversos chipsets para
proporcionar funcionalidad analgica de Entrada/Salida permitiendo que
esos componentes fueran reutilizados en placas posterioreres sin tener
que pasar por un nuevo proceso de certificacin de la FCC (con los costes
en tiempo y econmicos que conlleva). Cuenta con 2x23 pines divididos
en dos bloques, uno de 11 (el ms cercano al borde de la placa madre) y
otro de 12, con lo que es fsicamente imposible una insercin errnea, y
suele aparecer en lugar de un slot PCI, aunque a diferencia de este no es
plug and play y no admite tarjetas aceleradas por hardware (slo por
software)
C. RANURA DE EXPANSION
PCI: el estndar actual. Pueden dar hasta 132 MB/s a 33 MHz, lo que es
suficiente para casi todo, excepto quiz para algunas tarjetas de vdeo 3D.
Miden unos 8,5 cm y generalmente son blancos.
AGP: se dedica exclusivamente a conectar tarjetas de vdeo 3D, por lo que
slo suele haber una; adems, su propia estructura impide que se utilice
para todos los propsitos, por lo que se utiliza como una ayuda para el
PCI. Segn el modo de funcionamiento puede ofrecer 264 MB/s o incluso
528 MB/s. Mide unos 8 cm y se encuentra bastante separada del borde de
la placa. ISA: son las ms veteranas, un legado de los primeros tiempos
del PC. Funcionan a unos 8 MHz y ofrecen un mximo de 16 MB/s,
suficiente para conectar un mdem o una tarjeta de sonido, pero muy
poco para una tarjeta de vdeo. Miden unos 14 cm y su color suele ser
negro; existe una versin an ms antigua que mide slo 8,5 cm.
CNR: es una ranura de expansin en la placa madre para dispositivos de
comunicaciones como modems, tarjetas Lan o USB. Fue introducido en
febrero de 2000 por Intel en sus placas para procesadores Pentium y se
trataba de un diseo propietario por lo que no se extendi ms all de las
placas que incluan los chipsets de Intel. Adoleca de los mismos
problemas de recursos de los dispositivos diseados para ranura AMR.
Actualmente no se incluye en las placas.
D. ZOCALO PARA MICROPROCESADOR
Es el lugar donde se inserta el "cerebro" del ordenador. Durante
ms de 10 aos consisti en un rectngulo o cuadrado donde el
"micro", una pastilla de plstico negro con patitas, se introduca con
mayor o menor facilidad; la aparicin de los Pentium II cambi un poco
este panorama, introduciendo los conectores en forma de ranura (slot).
E. CONECTORES PARA DISCO
Es donde se conectan los cables para que la placa base reciba la

7
alimentacin proporcionada por la fuente.
F. RANURAS PARA RAM
Las ranuras de memoria que tenga la placa base dependern del tipo de
memoria que utilice, que vendr marcado por la arquitectura SIMM (Single
In-line Memory Module),un tipo de encapsulado consistente en una
pequea placa de circuito impreso que almacena chips de memoria DIMM
Se trata de un pequeo circuito impreso que contiene chips de memoria y
se conecta directamente en ranuras de la placa base.
RIMM utilizan una tecnologa denominada RDRAM desarrollada por
Rambus Inc. a mediados de los aos 90 con el fin de introducir un mdulo
de memoria con niveles de rendimiento muy superiores a los mdulos de
memoria SDRAM de 100 Mhz y 133 Mhz
G. PUERTOS DE E/S
Seriales: Ratn, Scanner, etc
Paralelos: Impresoras
USB: Desde hace tres aos, los PC, traen un puerto llamado USB
(Universal Serial Bus) que facilita la conexin de perifricos. Un
perifrico
es
cualquier
dispositivo
externo
que
conecte
al
computador, como el monitor, el teclado, el ratn, una impresora, un
escner, etc. Los puertos USB, que paulatinamente desplazarn a los
puertos serial y paralelo, tienen dos ventajas: velocidad y facilidad de uso
(todos estos son puertos externos; estn en la parte trasera del PC)
H. CONECTOR SATA(ATA)
I. Los discos SATA ofrecen una transferencia de datos ms rpida e
instalacin mucho ms fcil. Parecen ser la eleccin obvia, pero no es
necesariamente as.
J. BIOS
K. La BIOS realmente no es sino un programa que se encarga de dar
soporte para manejar ciertos dispositivos denominados de entradasalida (Input-Output). Fsicamente se localiza en un chip que suele
tener forma
rectangular, como el de la imagen. Adems, la BIOS
conserva ciertos parmetros como el tipo de disco duro, la fecha y hora
del sistema, etc., los cuales guarda en una memoria del tipo CMOS, de
muy bajo consumo y que es mantenida con una pila cuando el ordenador
est desconectado. Las BIOS pueden actualizarse bien mediante la
extraccin y sustitucin del chip (mtodo muy delicado) o bien mediante
software, aunque slo en el caso de las llamadas Flash-BIOS.

4. SISTEMA DESCRITO POR BLOQUES Y POR CIRCUITOS

ESQUEMA DE LA ARQUITECTURA DEL PENTIUM 4.

TECNOLOGA HIPERSEGMENTADA.
Dentro de un microprocesador, los datos pasan por "pipelines"
(canales de datos), de un nmero determinado de etapas. En un Pentium
con arquitectura P6 (Pentium Pro, Pentium II, Pentium III y Celeron), el
pipeline tiene 10 etapas; en el Pentium 4 hay 20 etapas. Cuantas ms etapas,
ms se tarda en "liberar" los datos, por lo que un nmero excesivo de etapas
puede llegar a bajar el rendimiento del ordenador. Sin embargo, esto tiene
una ventaja, al Pentium 4 le permite alcanzar mayores velocidades de
reloj (ms MHz), que es lo que busca Intel.
BUS DE SISTEMA DE 400 MHZ.
Es una de las mejores caractersticas de esta arquitectura. En
realidad el bus del sistema no funciona a 400 MHz "fsicos" (reales), sino a
100 MHz cudruplemente aprovechados con una especie de "doble DDR", como
se realiza con la tecnologa AGP 4X; por ello, el multiplicador a seleccionar en
la placa para el modelo de 1,4 GHz es 14x y no 3,5x. Estos 400 MHz
mejorarn el rendimiento de aplicaciones profesionales y multimedia (como
renderizado y edicin de vdeo), y de muchos juegos 3D.
RAPID EXECUTION ENGINE.

10
Otra de las novedades de esta arquitectura del Pentium 4 es la
capacidad de dos unidades aritmtico-lgicas de nmeros enteros (ALUs) que
consiguen tiempos de espera iguales a un semiciclo de reloj en la ejecucin de
algunas instrucciones con lo que el procesador estara funcionando al doble de
velocidad. Aunque esta capacidad parece muy atractiva para aplicaciones
no matemticas, no consigue plenamente sus objetivos debido a problemas
con el exceso de etapas.
CACH Y OTRAS CARACTERSTICAS.
La cach L2 est integrada en el micro y tiene un bus de datos de 256
bits, esto forma parte de la mejora de la tecnologa "Advanced Transfer
Cach" estrenada con el Pentium III pudindose alcanzar 48 GB/s de tasa de
transferencia en el modelo de 1,5 GHz. Esto representa el doble de lo que
puede hacer un Pentium III a la misma velocidad, y es mucho ms de lo que
puede alcanzar un AMD Athlon, sobre todo porque en ste la cach L2 tiene un
bus de slo 64 bits.
En cuanto a Execution Trace Cach y Advanced Dynamic Execution, son
tcnicas que mejoran la ejecucin especulativa, se puede romper el orden de
las instrucciones para acelerar su procesamiento y refuerzan la prediccin de
saltos y ramificaciones (branch prediction).

DESCRIPCIN DE LA ARQUITECTURA.

11
Sobre los componentes del Pentium 4 destaca el BTB (Branch Target
Bufer) que es la parte encargada de guardar las direcciones de los saltos
y
de predecirlos. Tras
pasar
ste
mdulo
la instruccin
va
al
Decodificador
que
la
convierte
de formato
x86
en
varias
microinstrucciones. Ms tarde se pasa la instruccin a la zona de
Renombramiento/Reposicionamiento
que
sirve
para ejecutar varias
instrucciones simultneamente, siendo necesario que sean minimamente
independientes.
5. ESQUEMTICO DEL SISTEMA COMPLETO DE APLICACIN

12

6. MUESTRA DE UNA MAINBOARD AT CON IDENTIFICACIN DE


DISPOSITIVOS ETIQUETADO Y ACCESORIOS (SEGUNDA SEMANA
CLASES). Se present la segunda semana
7. REGISTROS
7.1.
Registros de uso general
Existen 4 registros denominados AX, BX, CX y DX que en realidad tienen
asignados usos caractersticos, aunque pueden ser utilizados a discrecin para
cualquier cosa que necesitemos:

AX es denominado acumulador; suele contener uno de los operandos


que intervienen en las operaciones aritmticas y lgicas, y despus de
esta, el resultado de la operacin. En general las instrucciones que
trabajan con este registro (o su mitad inferior) tienen un microcdigo
ms simple que la misma instruccin ejecutada con otro registro.
BX es el registro base, suele contener la direccin de inicio de una tabla
de valores.
CX es denominado contador. Las instrucciones de bucle (LOOP) utilizan
este registro como contador.
DX es un registro de datos, multiuso. Se utiliza en operaciones de
multiplicacin y divisin junto con AX. En operaciones de entrada/salida
de puertos IN/OUT, su mitad inferior DL, contiene el nmero de puerto.

Aunque estos cuatro registros son de 16 bits (como los 10 restantes) , en


caso necesario pueden ser utilizados en dos mitades (nibbles), "High" y "Low",
de 8 bits, con lo que puede considerarse que existen 12 registros de uso
general (no simultneos), los anteriores y sus mitades: AH; AL; BH; BL; CH;
CL; DH y DL.
7.2.
Registros de segmento
Se dispone de cuatro registros que sirven para contener las direcciones
de otros tantos segmentos (zonas de 64 KB de memoria). Utilizndolos en
conjuncin con otros registros que sealan las direcciones concretas dentro de
estos segmentos (los desplazamientos), permiten manejar la totalidad de la
memoria direccionable (el bus de direcciones es de 20 bits).

Segmento de cdigo CS ("Code segment"). Seala la direccin del


segmento de cdigo del programa que se est ejecutando.
Segmento de datos DS ("Data segment"). Seala la direccin del
segmento de datos del programa en ejecucin.
Segmento de pila SS ("Stack segment").
Seala la direccin del

13

segmento donde est la pila del programa.


Segmento extra ES ("Extra segment"). Es un segmento auxiliar a los
anteriores, se utiliza para sealar espacio extra en alguno de los
segmentos o para almacenar momentneamente direcciones
intermedias.

7.3.
Registros de puntero
Son 5 registros destinados a contener direcciones; estas direcciones son
desplazamientos dentro de los segmentos indicados por los registros de
segmento:
El primero, denominado indistintamente puntero de instruccin IP
("Instruccin pointer") y contador de programa PC ("Program counter"), indica
el desplazamiento (dentro del segmento de cdigo CS) de la prxima
instruccin a ejecutar.
El puntero de pila SP ("Stack Pointer"), seala el desplazamiento del final
de la pila dentro del segmento de pila SS. En caso necesario la pila puede
crecer a partir de este punto, de forma que por ejemplo, una nueva invocacin
de funcin crear un nuevo registro de activacin que comenzar en este
punto.
El puntero base BP ("Base pointer") seala el desplazamiento (dentro del
segmento de pila SS) donde se encuentra el origen de la zona ocupada por las
variables dinmicas.
Existen dos registros denominados "de ndice", en razn de su utilizacin
muy particular; el ndice fuente SI ("Source index") y el ndice destino DI
("Destination index"). Generalmente estos dos registros se utilizan con alguno
de los registros de uso general y con ciertas instrucciones especficamente
pensadas para transferir datos (dentro de un rango de posiciones de memoria),
desde un punto inicial de un segmento de datos, a otro.
7.4.
Registro de estado
Existe un registro especial, el registro de estado (FLAGS), en el que 9 de
los 16 bits actan como semforos (indicadores del estado del procesador y del
resultado de determinadas operaciones).
Los nombres y situacin de cada uno, dentro de la palabra de 16 bits, se
muestran en la figura.

Cada bits individual puede estar"activo" (1) o "inactivo" (0), y tiene un


identificador que termina en F ("Flag"). Son los siguientes:

14
a) CF Acarreo ("Carry Flag").- Indica dor de arrastre del bit de mayor orden,
que puede ocurrir en las operaciones aritmticas suma y resta.
b) PF Pariedad ("Parity Flag").- Si est activo Indica un nmero par de bits
activos (bits cuyo contenido es 1). Esta informacin es til cuando el
procesador controla transmisiones de datos.
c) AF Acarreo auxiliar.- Indicador de ajuste en operaciones aritmticas con
cantidades BCD.
d) ZF Cero ("Zero Flag").- Est activo si el resultado de operacin es cero o
resultado de comparacin igual.
e) SF Signo ("Sign Flag").- Si est activo indica que el resultado de
operacin o de comparacin son negativos.
f) TF Detencin ("Trap Flag").- Si est activo, el procesador genera
automticamente una interrupcin despus de la ejecucin de cada
instruccin, lo que permite controlar paso a paso la ejecucin del
programa. Este bit debe estar normalmente inactivo (a 0).
g) IF Interrupcin ("Interrupt Flag").- Este bit controla el estado del sistema
de interrupciones enmascarables. Cuando est activo (1) permite las
interrupciones; el estado inactivo (0) las deshabilita.
h) DF Direccin ("Direction Flag").- Indica la direccin de las operaciones.
i) OF Desbordamiento (Overflow Flag").- Seala desbordamiento
aritmtico.
8. MODOS DE DIRECCIONAMIENTO
Las operaciones deben de obtener sus operados, ya sea de los registros o de la
memoria. Para acceder a estos operando se precisa especificar un modo de
obtenerlos.

a. Direccin de Registro: Para aquellos operandos que estn


almacenados en registro.
b. Direccin de Memoria: Para aquellos operandos que estn
almacenados en memoria.
Modo Registro
Los registros pueden almacenar operandos.
La direccin de registro es diferente a la direccin de memoria DE = (ci)
Modo Registro Indirecto
La direccin efectiva est contenida en un registro codificado en la

15
instruccin. til para acceder a un array de elementos DE = ((ci))
Modo Autoincremento
El registro involucrado en el clculo de la direccin efectiva se incrementa
despus de ser utilizado. El tamao del incremento (1, 2, 4, etc.) est
relacionado con el tamao del operando (8, 16, 32 bits, etc) DE = ((ci)); (Ri)
+ {1, 2, 4} ! Ri, donde Ri es el registro codificado en el campo ci.
Modo Autodecremento
El registro involucrado en el clculo de la direccin efectiva se decremento
antes de ser utilizado. El tamao del decremento (1, 2, 4, etc) est
relacionado con el tamao del operando (8, 16, 32 bits, etc) DE = ((ci))
{1, 2, 4}; (Ri) {1, 2, 4} ! Ri, donde Ri es el registro codificado en el
campo ci.
Modo Absoluto
La direccin activa se encuentra en el campo de la propia instruccin. til
para acceder a constantes de un programa. DE = (ci)
Modo Base + Desplazamiento
La direccin se obtiene sumando el contenido de un registro y un valor
codificado en la instruccin. Util para acceder a un campo de un record de
datos. DE = (ci1) + ((ci2))
Modo Base + Indice
La direccin se obtiene sumando el contenido de dos registros. til para
acceder a los elementos de un array secuencialmente, pues se conserva la
direccin de inicio de los datos y el ndice. DE = ((ci1)) + ((ci2))
Modo ndice Escalado + Desplazamiento
La direccin se obtiene sumando el registro ndice escalado al valor
codificado en la instruccin. til para acceder a arrays que estn en
posiciones fijas y que contienen elementos de tamaos 1, 2, 4 u 8 bytes.
DE = (ci1) + ((ci2)) - (ci3); tal que (ci3) 2 {1, 2, 4, 8}
Modo Base + ndice Escalado + Desplazamiento
Combinacin

de

los

modos

base

ndice

ndice

escalado

16
desplazamiento. La direccin se obtiene sumando el desplazamiento, el
registro base y el registro ndice multiplicado por el factor de escala
pertinente. DE = (ci1) + ((ci2)) + ((ci3)) - (ci4); tal que (ci4) 2 {1, 2, 4, 8}

9. SET DE INSTRUCCIONES
9.1.
Instrucciones de transferencia de datos
En esta categora se incluyen las instrucciones que permiten la transferencia
de datos entre registros y memoria tales como MOV, PUSH, POP y XCHG.
La instruccin MOV recibe dos operandos y transfiere el dato indicado
por el primer operando al lugar indicado por el segundo. Dada la restriccin
que impone el procesador de que en una instruccin con dos operandos no
pueden estar ambos en memoria, si se quiere transferir datos de un lugar de
memoria a otro, se deben utilizar dos instrucciones y utilizar un registro de
propsito general.
Las instrucciones PUSH y POP tambin transfieren datos, aunque en
este caso, uno de los operandos es implcito y se refiere a la cima de la pila.
La instruccin PUSH necesita como operando el dato a colocar en la cima de
la pila mientras que la instruccin POP requiere un nico operando para
indicar el lugar en el que depositar el dato contenido en la cima de la pila.
La instruccin XCHG (del ingls exchange) consta de dos operandos e
intercambia sus valores por lo que modifica los operandos (a no ser que
tengan idntico valor). No se permite que los operandos estn ambos en
memoria.
Tabla: Instrucciones de transferencia de datos
Instruccin

Comentario

MOV $4, %al

Almacena el valor 4 en el registro de 8 bits %al.

MOV
contador1,

MOV
contador1

Almacena los cuatro bytes que se encuentran en memoria a


partir de la posicin que representa contador1 en el registro
%esi.
Instruccin ambigua, pues no se especifica el tamao de
$4, datos en ninguno de los dos operandos.

Instruccin incorrecta. El segundo operando es el destino al


MOVL contador, que mover el primer operando, por lo tanto, no puede ser de
$4
tipo constante.
Instruccin

Comentario

17

MOV %al, %ecx

PUSH $4

POP $4

Instruccin incorrecta. El tamao de los dos operandos es


inconsistente. El primero es un registro de 8 bits, y el
segundo es de 32.
Instruccin correcta. Almacena el valor 4, codificado con 32
bits en la cima de la pila. No precisa sufijo de tamao.

Instruccin incorrecta. El operando indica el lugar en el que


almacenar el contenido de la cima de la pila, por tanto, no
puede ser un valor constante.
%eax, Instruccin correcta.

XCHG
%ebx
XCHG
%eax,
Instruccin correcta.
contador1

Instruccin incorrecta. Se intercambian los contenidos de los


XCHG $4, %eax dos operandos, por lo que ninguno de ellos puede ser una
constante.
XCHG
Instruccin incorrecta. Ambos operandos estn en memoria,
contador1,
y el procesador no permite este tipo de instrucciones.
contador2
9.2.
Instrucciones aritmticas
En este grupo se incluyen aquellas instrucciones que realizan
operaciones aritmticas sencillas con nmeros enteros y naturales tales
como la suma, resta, incremento, decremento, multiplicacin y divisin.
9.2.1.Instrucciones de suma y resta
Las instrucciones ADD y SUB realizan la suma y resta
respectivamente de sus dos operandos. En el caso de la resta, la operacin
realizada es la sustraccin del primer operando del segundo. Como tales
operaciones precisan de un lugar en el que almacenar el resultado, el
segundo operando desempea las funciones de fuente y destino por lo
que se sustituye el valor del segundo operando por el valor resultante.
La instruccin NEG recibe como nico operando un nmero entero y realiza
la operacin de cambio de signo.
Tabla: Instrucciones aritmticas
Instruccin Comentario
ADDL $3,
contador

Suma la constante 3 al nmero de 32 bits almacenado a


partir de la posicin contador. El tamao viene determinado
por el sufijo, que en este caso es imprescindible.

18
SUB
%eax,
contador
NEGL
contador

Deposita en memoria el nmero de 32 bits resultante de la


operacin contador-%eax.
Cambia de signo el nmero de 32 bits almacenado en memoria a
partir de la posicin contador.

9.2.2. Instrucciones de multiplicacin


La instruccin de multiplicacin tiene dos variantes, IMUL y MUL para
nmeros enteros y naturales respectivamente y su formato supone un caso
especial, pues permite la especificacin de entre uno y tres operandos.
Si se multiplican dos operandos de n bits, el resultado tiene tamao
doble y debe representarse con 2n bits. Por tanto, si los operandos son de 8
bits, el resultado de esta instruccin se almacena en %ax, si son de 16 bits
se almacena en los 32 bits resultantes al concatenar los registros %dx:
%ax, y si los operandos son de 32 bits, en los 64 bits obtenidos al
concatenar los registros %edx:%eax. En estos dos ltimos casos, los
registros %dx y %edx contienen los bytes ms significativos del resultado.
Tabla: Instrucciones de multiplicacin
Instruccin

Comentario

MULB $3

Multiplica el nmero natural 3 representado en 8 bits por e


registro implcito %al y deposita el resultado en %eax. El tamao
de los operandos lo determina el sufijo
B.

IMUL %eax

Multiplica el nmero entero almacenado en %eax por s


mismo (operando implcito). El resultado se almacena en e
registro de 64 bits %edx:%eax.

MUL
contador,
IMUL
$123,
contador,

Multiplica el nmero natural de 32 bits almacenado a


partir de la posicin de memoria representada por contador
por el registro %edi en donde se almacenan los 32 bits de
menos peso del resultado.
Multiplica el nmero de 32 bits almacenado en memoria a
partir de la posicin contador por la constante $123 y
almacena los 32 bits menos significativos del resultado en
%ecx.

9.2.3. Instrucciones de divisin entera


Las instrucciones de divisin de nmeros naturales y enteros devuelven
dos resultados, el cociente y el resto, y se almacenan ambos valores. De

19
manera anloga a las instrucciones de multiplicacin, existen dos versiones
IDIV y DIV para divisin de enteros y naturales respectivamente y el
tamao del dividendo es el doble del divisor. De esta forma, se permite dividir
un nmero de 16 bits entre uno de 8, uno de 32 entre uno de 16 y uno de 64
entre uno de 32. Su formato admite de forma explcita un nico operando que
es el divisor, y que puede ser un nmero de 8, 16 o 32 bits. El dividendo es
implcito y est almacenado en %ax si el divisor es de 8 bits, en el registro de
32 bits resultante de concatenar %dx:%ax si el divisor es de 16 bits, y en el
registro de 64 bits resultante de concatenar %edx:%eax si el divisor es de 32
bits.
Los dos resultados que se devuelven tambin tienen un destino implcito
y depende del tamao de los operandos. Si el divisor es de 8 bits el cociente
se almacena en %al y el resto en %ah. Si el divisor es de 16 bits, se utilizan
%ax y %dx para cociente y resto respectivamente. En el caso de un divisor de
32 bits, el cociente se devuelve en %eax y el resto en %edx.
Tabla: Instrucciones de divisin
Instrucci Comentario
n
Divide el registro %ax por la constante $-53. El cociente se deposita
IDIVB $-53 en %al y el resto en %ah.
Se divide el nmero de 64 bits obtenido al concatenar los registro
IDIV %eax %edx:%eax entre el propio registro %eax. En %eax se deposita e
cociente, y en %edx el resto.
DIVW
contador

Divide el nmero de 32 bits almacenado en el registro obtenido al


concatenar %dx:%ax entre el nmero de 16 bits almacenado a
partir de la posicin de memoria indicada por contador. En %ax se
almacena el cociente y en %dx el resto.

9.2.4. Instrucciones lgicas


En este grupo se incluyen las instrucciones de conjuncin, disyuncin,
cuatro
instrucciones
lgicas
disyuncin exclusiva y negacin. Las
consideradas son AND, OR, NOT y XOR para la conjuncin,disyuncin,
negacin y disyuncin exclusiva, respectivamente.
Estas instrucciones tienen en comn que realizan sus operaciones bit a
bit. Es decir, el procesador realiza tantas operaciones lgicas como bits
tienen los operandos tomando los bits que ocupan la misma posicin y,
por tanto, produciendo otros tantos resultados.
Considrese el caso de la instruccin de conjuncin AND con sus dos
operandos. El procesador obtiene un resultado de igual tamao que sus

20
operandos y en el que cada bit es el resultado de la conjuncin de los bits
de idntica posicin de los operandos. Las instrucciones de disyuncin
(OR) y disyuncin exclusiva (XOR) se comportan de forma anloga.
La instruccin NOT tiene un nico operando que es fuente y destino y
cambia el valor de cada uno de sus bits.
La tabla 9.5 muestra ejemplos de utilizacin de este tipo de
instrucciones. Se asume que el smbolo contador se refiere a un operando
almacenado en memoria.
Tabla: Instrucciones lgicas
Instruccin Comentario
AND
1,

$-

ORL
$1,
contador
NOTL
contador

Calcula la conjuncin bit a bit entre la constante $-1 y el registr


%eax. Qu valor tiene %eax tras ejecutar esta instruccin?
Calcula la disyuncin bit a bit entre la constante $1 y el nmero de
32 bits almacenado en memoria a partir de la posicin denotada por
contador.
Cambia el valor de los 32 bits almacenados a partir de la
posicin de memoria que denota contador. El sufijo de
tamao es necesario para definir el tamao del operando.

9.2.5. Instrucciones de desplazamiento y rotacin


En este grupo se incluyen instrucciones que mediante desplazamientos
efectan operaciones aritmticas de multiplicacin y divisin por potencias
de dos. Adems, se incluyen tambin instrucciones que manipulan sus
operandos como si los bits estuviesen dispuestos de forma circular y permite
rotaciones en ambos sentidos.
9.2.5.1. Instrucciones de desplazamiento
Las instrucciones de desplazamiento aritmtico son aquellas que
equivalen a multiplicar y dividir un nmero por potencias de 2. Un
desplazamiento de un bit quiere decir que cada uno de ellos pasa a ocupar la
siguiente posicin (a derecha o izquierda) y por tanto, dependiendo de cmo
se introduzcan nuevos valores y cmo se descarte el bit sobrante, dicha
operacin es idntica a multiplicar por 2.
Si se desplaza un nmero a la derecha, el nuevo bit ms
significativo debe tener valor idntico al antiguo.
Las instrucciones SAL (Shift Arithmetic Left) y SAR (Shift Arithmetic Right)
desplazan su segundo operando a izquierda y derecha respectivamente
tantas veces como indica el primer operando. En ambas instrucciones, el

21
ltimo bit que se ha descartado se almacena en el bit de acarreo CF.
Tabla 9.7. Instrucciones de desplazamiento aritmtico
Instruccin Comentario
SAR

$4, Desplaza 4 bits a la derecha el contenido del registro %eax


Esta operacin es equivalente a multiplicar por 16 el registro %eax.

%eax
Desplaza el byte almacenado en la posicin de memoria denotada
por contador tantas posiciones a la izquierda como indica el
registro %cl. El sufijo de tamao es necesario porque a pesar de
SALB
que el primer operando es un registro, ste contiene slo el
nmero
%cl,
de posiciones desplazar. El tamao de los datos se deduce, por
contador tanto del segundo operando.
9.2.5.2. Instrucciones de rotacin
Las instrucciones de rotacin permiten manipular un operando como si
sus bits formasen un crculo y se rotan en ambos sentidos un nmero
determinado de posiciones.
Las instrucciones ROL y ROR rotan a izquierda y derecha
respectivamente el contenido de su segundo operando tantas posiciones como
indica el primer operando. El ltimo bit que ha traspasado los lmites del
operando se almacena en el bit de acarreo CF.
Las instrucciones RCL y RCR son similares a las anteriores con la
excepcin que el bit de acarreo CF se considera como parte del operando. El bit
que sale del lmite del operando se carga en CF y ste a su vez pasa a formar
parte del operando.
Al igual que las instrucciones de desplazamiento aritmtico, el
primer operando puede ser o una constante o el registro %cl. El tamao del
dato a manipular se deduce del segundo operando, y si este est en memoria,
a travs del sufijo de tamao de la instruccin.
Tabla 9.9. Instrucciones de rotacin
Instruccin Comentario
RCR
$4,

RCLL
%cl,
contador

Rota el registro %ebx cuatro posiciones a su derecha utilizando el


bit de acarreo CF.
Rota a la izquierda tantas posiciones como indica el registro %cl
el operando de 32 bits almacenado en memoria a partir de la
posicin denotada por contador. A pesar de que
el primer operando es un registro, la instruccin necesita sufijo
de tamao, pues ste se deduce nicamente del segundo
operando que est en memoria.

22
Instrucci
n
ROR

Comentario
Rota a la derecha el registro %eax tantas posiciones como indica
el registro %cl. El bit

%cl,%eax
ROLL
%cl,
contador

Rota a la izquierda tantas posiciones como indica el registro %cl


el nmero de 32 bits almacenado en memoria a partir de la
posicin contador. De nuevo se precisa el sufijo de tamao
porque ste se deduce nicamente a la vista del segundo
operando.

9.2.6. Instrucciones de salto


El procesador ejecuta una instruccin tras otra de forma
secuencial a no ser que dicho flujo de ejecucin se modifique. Las
instrucciones de salto sirven para que el procesador, en lugar de ejecutar la
siguiente instruccin, pase a ejecutar otra en un lugar que se denomina
destino del salto.
La instruccin de salto JMP
que representa el lugar en el que
Al llegar a esta instruccin, el
simplemente pasa a ejecutar la
destino del salto. El nico registro,
programa.

(del ingls jump) tiene un nico operando


el procesador debe continuar ejecutando.
procesador no realiza operacin alguna y
instruccin en el lugar especificado como
por tanto, que se modifica es el contador de

Las condiciones en las que se basa la decisin de saltar dependen de


los valores de los bits de estado CF, ZF, OF, SF y PF. La tabla 9.10 muestra
para cada instruccin los valores de estos bits para los que se salta a la
instruccin destino.
9.2.7. Instrucciones de comparacin y comprobacin
Las instrucciones CMP (comparacin) y TEST (comprobacin) realizan
sendas operaciones aritmticas de las que no se guarda el resultado
obtenido sino que nicamente se modifican los bits de estado.
La instruccin CMP recibe dos operandos. El primero de ellos puede
ser de tipo constante, registro u operando en memoria. El segundo puede
ser nicamente de tipo registro u operando en memoria. La instruccin no
permite que ambos operandos estn en memoria. Al ejecutar esta
instruccin se resta el primer operando del segundo. El valor resultante no
se almacena en lugar alguno, pero s se modifican los bits de estado del
procesador.
10.LENGUAJE MAQUINA, MACROENSAMBLADOR

23

Importancia del lenguaje ensamblador


El lenguaje ensamblador es la forma ms bsica de programar un
microprocesador para que ste sea capaz de realizar las tareas o los clculos
que se le requieran.
El lenguaje ensamblador es conocido como un lenguaje de bajo nivel, esto
significa que nos permite controlar el 100 % de las funciones de un
microprocesador, as como los perifricos asociados a ste.
A diferencia de los lenguajes de alto nivel, por ejemplo Pascal, el
lenguaje ensamblador no requiere de un compilador, esto es debido a que las
instrucciones en lenguaje ensamblador son traducidas directamente a cdigo
binario y despus son colocadas en memoria para que el microprocesador las
tome directamente.
Aprender a programar en lenguaje ensamblador no es fcil, se requiere
un cierto nivel de conocimiento de la arquitectura y organizacin de las
computadoras, adems del conocimiento de programacin en algn otro
lenguaje.
- Ventajas del lenguaje ensamblador:
Velocidad de ejecucin de los programas
Mayor control sobre el hardware de la computadora
- Desventajas del lenguaje ensamblador:
Repeticin constante de grupos de instrucciones
No existe una sintaxis estandarizada
Dificultad para encontrar errores en los programas (bugs)
10.1.
EL FORMATO DEL ENSAMBLADOR.
De acuerdo a las convenciones y notacin seguidas en el manual del Microsoft
Macro Assembler.
Negritas Comandos, smbolos y parmetros a ser usados como se muestra.
Itlicas Todo aquello que debe ser reemplazado por el usuario
Indican un parmetro opcional
,,, Denota un parmetro que puede repetirse varias veces
Separa dos valores mutuamente excluyentes letra chica Usada para
ejemplos. Cdigo y lo que aparece en pantalla.
Cada programa en lenguaje ensamblador es creado a partir de un archivo
fuente de cdigo ensamblador. Estos son archivos de texto que contienen
todas las declaraciones de datos e instrucciones que componen al programa y
que se agrupan en reas o secciones, cada una con un propsito especial. Las
sentencias en ensamblador tienen la siguiente sintaxis:
[nombre> mnemnico [operandos> [;comentarios>
En cuanto a la estructura, todos los archivos fuente tienen la misma forma:
cero o ms segmentos de programa seguidos por una directiva END. No hay
una regla sobre la estructura u orden que deben seguir las diversas secciones
o reas en la creacin del cdigo fuente de un programa en ensamblador. Sin

24
embargo la mayora de los programas tiene un segmento de datos, un
segmento de cdigo y un segmento de stack, los cuales pueden ser puestos
en cualquier lugar.
Para la definicin de datos y declaracin de instrucciones y operandos el
MASM reconoce el conjunto de caracteres formado por letras maysculas,
letras minsculas
(excluyendo caracteres acentuados, , ), nmeros, y los smbolos: ? @ _ $ : .
[>(){}+-/
*&%!~\=#;,"`
La declaracin de nmeros requiere tener presente ciertas consideraciones.
En el
MASM un entero se refiere a un nmero entero: combinacin de dgitos
hexadecimales, octales, decimales o binarios, ms una raz opcional. La raz se
especifica con B, Q u O, D, o
H. El ensamblador usar siempre la raz decimal por defecto, si se omite la
especificacin de la raz (la cual se puede cambiar con la directiva .RADIX). As
nosotros podemos especificar un entero de la siguiente manera: digitos,
digitosB, digitosQ o digitosO, digitosD, digitosH. Si una D o B aparecen al final
de un nmero, stas siempre se considerarn un especificador de raz, e.g.
11B ser tratado como 112 (210), mientras que si se trata del nmero 11B16
debe introducirse como 11Bh.
DIRECTIVAS.
El MASM posee un conjunto de instrucciones que no pertenecen al lenguaje
ensamblador propiamente sino que son instrucciones que nicamente son
reconocidas por el ensambldor y que han sido agregadas para facilitar la tarea
de ensablamblado, tanto para el programador como para el programa que lo
lleva a cabo. Dichas instrucciones son denominadas directivas. En general, las
directivas son usadas para especificar la organizacin de memoria, realizar
ensamblado condicional, definir macros, entrada, salida, control de archivos,
listados, cross-reference, direcciones e informacin acerca de la estructura de
un programa y las declaraciones de datos.
10.2.
MACROINSTRUCCION
La definicin de una macro es un metodo que permita asignar un nombre a
una porcin de texto. Despus de haber definido una macro, el programador
puede escribir el nombre de la macro en vez del trozo del programa. Una
macro es realmente una abreviatura de un trozo de texto.
Cuando un ensamblador encuentra una definicin de macro, la aisla en una
tabla de definiciones de macros para su uso posterior. Las macros no son ms
que un mtodo que permite manipular cadenas de caracteres sin preocuparse
de su significado.
10.3.

MACROENSAMBLADORES

25
Los traductores de los lenguajes de nivel autocodificador reciben el nombre de
macroensambladores. La nica diferencia con los ensambladores es la
traduccin de las macroinstrucciones. En lo dems constitucin y tcnica de
trabajo son completamente anlogos a los ya estudiados.
Como se puede recordar, una macroinstruccin puede ser de la biblioteca del
sistema o generada por el programador. En ambos casos, la definicin de la
macroinstruccin consta de una pseudo-instruccin de cabecera o de nombre
de la macro y de un conjunto de instrucciones en lenguaje ensamblador o
cuerpo de la macro. La operacin de sustituir la macroinstruccin por el
conjunto correspondiente de instrucciones recibe el nombre de expansin de
la macroinstruccin.
Cuando un macroensamblador encuentra un nombre de macro, introduce
(durante el paso primero, gracias a una bifurcacin) el nombre y el cuerpo en
una tabla llamada tabla dedefinicin de macros. Durante el segundo paso
cuando separa el campo de operacin, busca primero el smbolo en la tabla de
definicin de macros. Si no lo encuentra, procede como en un ensamblador;
pero si lo encuentra, el macroensamblador bifurca a la tabla y procesa la
expansin de la macro, sustituyendo los parmetros formales que tena la
tabla por los parmetros de la instruccin.
Las tablas de definicin de macros son distintas a las ya estudiadas, puesto
que su formato es variable, al ser la longitud del cuerpo de una
macroinstruccin ms o menos larga.
Hay varias tcnicas para este tipo de tablas. Por ejemplo:
1. Separacin del cuerpo del nombre, cuando la tabla de definicin es de
formato fijo,
2. Inclusin de la direccin en que se encuentra el cuerpo en formato variable,
y
3. Presentacin de toda ella en formato variable, pero llevando en cabecera
detrs del nombre una indicacin de encadenamiento con la macro siguiente,
a fin de facilitar la exploracin de la tabla.
Cuando una macro contiene llamadas a otras macros -lo que se llama una
estructura en nido- el macroensamblador aade un nuevo campo, el de
nmeros de nivel, correspondiendo el nivel 0 al modo normal e
incrementndose en 1 por cada llamada encadenada, que sirve para que al
reconocer una macro vaya actualizando los parmetros formales por los reales
del nivel anterior, y lo hace de la siguiente forma:
Al detectar en el campo de operacin el smbolo de una macro, comprueba el
nmero de nivel, pueden darse dos casos:
- Que el nivel sea 0; entonces efecta la expansin como en el caso
general y pone en el campo de nivel un 1.
- Que el nivel sea distinto de 0; entonces almacena el conjunto de
parmetros reales y la posicin en la tabla de definicin de macro,
incrementa el nmero de nivel y copia los parmetros en una lista

26
auxiliar.
Cuando detecta la instruccin de fin de macroinstruccin; si el nivel alcanzado
ha sido 1, el proceso es el general; pero si es distinto de 1, los parmetros
para la llamada de la macro son recuperados de la tabla, se le resta uno al
nmero de nivel y se contina con la expansin.

11.

DEBUGER, Y SIMULADORES

DEGUB
11.1.
Cdigo Mquina, Debuger
Debug
C:\> Debug [Enter]
En la siguiente linea aparecera un guin, ste es el indicador del Debug, en
este momento se pueden introducir las instrucciones del Debug. Utilizando el
comando:
- r [Enter] se desplegaran todos los contenidos de los registros internos
de la UCP; una forma alternativa de mostrarlos es usar el comando "r"
utilizando como parametro el nombre del registro cuyo valor se quiera
visualizar. Por ejemplo:
- rbx
Esta instruccin desplegar unicamente el contenido del registro BX y cambia
el indicador del Debug de " - " a " : "
Estando as el prompt es posible cambiar el valor del registro que se visualiz
tecleando el nuevo valor y a continuacin [Enter], o se puede dejar el valor
anterior presionando [Enter] sin telclear ningn valor.
Es posible cambiar el valor del registro de banderas, as como utilizarlo como
estructura de control en nuestros programas como se ver mas adelante.
Cada bit del registro tiene un nombre y significado especial, la lista dada
a continuacin describe el valor de cada bit, tanto apagado como prendido y
su relacin con las operaciones del procesador:
Desbordamiento
NV = no hay desbordamiento.
OV = s hay desbordamiento.
Direccin
UP = hacia adelante.
DN = hacia atrs.
Interrupciones
DI = interrupciones desactivadas.
EI = interrupciones activadas.
Signo
PL = signo positivo.
NG = signo negativo.

27
Cero
NZ = no es cero.
ZR = si es cero.
Acarreo Auxiliar
NA = no hay acarreo auxiliar.
AC = hay acarreo auxiliar
Paridad
PO = paridad impar.
PE = paridad par;
Acarreo
NC = no hay acarreo.
CY = s hay acarreo.

11.2.

SIMULADORES

El simulador para el 8088:


- EMU 8088
- NGASM 8088/8086
- MICROPROCESADOR 8086/8088
- 8088 MPU
12.BIBLIOGRAFIA
- http://cmpe.emu.edu.tr/cergun/328_PDF_CEM/07_ISAbus_0410.pdf
CMPE Microprocesadores
- Lenguajes
de
Programacin,
Fuentes
de
Informatica,
http://wwwdi.ujaen.es/~mcdiaz/docencia/cur04_05/fi/teoria/03_Lenguaje
s.pdf
- Arquitectura de una Computadora, Universidad Tecnologica Nacional,
http://www.frro.utn.edu.ar/repositorio/catedras/electrica/2_anio/fundame
ntos_informatica/apuntes/arquitectura/Tema1.pdf
Arquitectura NetBurst Pentium IV, Jos Ignacio Gmez Prez,
http://www.infor.uva.es/~fernando/asignaturas/microp/pentium4.pdf

También podría gustarte