Você está na página 1de 43

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN AREQUIPA

FACULTAD DE INGENIERÍA DE PRODUCCIÓN Y SERVICIOS

ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

LABORATORIO #02
“Hardware PC AT Pentium IV (Última Generación)”

CURSO : Arquitectura de Computadoras

AUTORES : Jaita Aguilar, José H. 20090992


Mamani Musaja, Marco A. 20083359
Miranda Quispe, Kenyo M. 20084099

TURNO : Jueves 7:00-8:30 am

Arequipa-Perú
04-10-12
PC AT PENTIUM IV EPIE - UNSA

ÍNDICE

ÍNDICE ............................................................................................................................... 1
1. SISTEMAS QUE COMPONEN LA COMPUTADORA AT ................................................ 3
Placa base ............................................................................................................... 3
La fuente de alimentación (Fuente de poder) ........................................................ 5
2. CARACTERÍSTICAS DEL PROCESADOR PENTIUM IV INTEL MULTI-CORE ................... 9
Tecnología “hipercanalizada” ............................................................................... 10
Extensiones Streaming SIMD 2 ............................................................................. 10
Bus del sistema de 400 MHz ................................................................................. 10
Ejecución dinámica avanzada ............................................................................... 10
Coma flotante y unidad multimedia mejoradas ................................................... 10
Caché de seguimiento de ejecución ..................................................................... 10
Sistema de ejecución rápida ................................................................................. 10
El procesador Pentium 4 optimiza el margen de ampliación necesario para su
empresa. ..................................................................................................................... 11
3. FUNCIONAMIENTO EN GENERAL ............................................................................ 11
CHIPSET ................................................................................................................. 11
RANURA AMR ....................................................................................................... 12
RANURA DE EXPANSION ....................................................................................... 12
ZOCALO PARA MICROPROCESADOR..................................................................... 13
CONECTORES PARA DISCO.................................................................................... 13
RANURAS PARA RAM ............................................................................................ 13
PUERTOS DE E/S.................................................................................................... 13
CONECTOR SATA (ATA) ......................................................................................... 13
BIOS ....................................................................................................................... 14
4. SISTEMA DESCRITO POR BLOQUES Y POR CIRCUITOS............................................. 14
TECNOLOGÍA HIPERSEGMENTADA. ...................................................................... 14
BUS DE SISTEMA DE 400 MHZ. ............................................................................. 14
RAPID EXECUTION ENGINE. .................................................................................. 14
CACHÉ Y OTRAS CARACTERÍSTICAS. ..................................................................... 15
DESCRIPCIÓN DE LA ARQUITECTURA. .................................................................. 15
5. ESQUEMÁTICO DEL SISTEMA COMPLETO SISTEMA DE APLICACIÓN. ..................... 17
6. MUESTRA DE UNA MAINBOARD AT CON IDENTIFICACIÓN DE DISPOSITIVOS ....... 18
Diagrama de Bloques: ..................................................................................................... 18
7. REGISTROS ............................................................................................................... 20
Registros de uso general....................................................................................... 20
Registros de segmento ......................................................................................... 20
Registros de puntero ............................................................................................ 21
Registro de estado ................................................................................................ 21
8. MODOS DE DIRECCIONAMIENTO ............................................................................ 23
Modo Registro ...................................................................................................... 24
Modo Registro: Ejemplo ....................................................................................... 24
Modo Registro Indirecto ....................................................................................... 24
Modo Registro Indirecto: Ejemplo........................................................................ 24
Modo Autoincremento ......................................................................................... 25

Arquitectura de Computadoras #1
PC AT PENTIUM IV EPIE - UNSA

Modo Autoincremento: Ejemplo .......................................................................... 25


Modo Auto decremento ....................................................................................... 25
Modo Auto decremento: Ejemplo ........................................................................ 26
Modo Absoluto ..................................................................................................... 26
Modo Absoluto: Ejemplo ...................................................................................... 26
Modo Base + Desplazamiento .............................................................................. 27
Modo Base + Desplazamiento: Ejemplo ............................................................... 27
Modo Base + Índice .............................................................................................. 27
Modo Base + Índice: Ejemplo ............................................................................... 28
Modo Índice Escalado + Desplazamiento ............................................................. 28
Modo Índice Escalado + Desplazamiento: Ejemplo .............................................. 28
Modo Base + Índice Escalado + Desplazamiento ................................................. 29
Modo Base + Índice escalado + Desplazamiento: Ejemplo .................................. 29
9. SET DE INSTRUCCIONES ........................................................................................... 29
Instrucciones de transferencia de datos .............................................................. 29
Instrucciones aritméticas ...................................................................................... 30
Instrucciones de multiplicación ............................................................................ 31
Instrucciones de división entera ........................................................................... 32
Instrucciones lógicas ............................................................................................. 33
Instrucciones de desplazamiento y rotación ........................................................ 34
Instrucciones de salto ........................................................................................... 36
Instrucciones de comparación y comprobación ................................................... 37
10. LENGUAJE MAQUINA, MACROENSAMBLADOR .................................................... 38
Macro Ensamblador IBM: ..................................................................................... 38
Macro Ensamblador de Microsoft: ....................................................................... 38
Turbo Editassm: .................................................................................................... 39
Turbo Assembler:.................................................................................................. 39
11. DEBUGER, Y SIMULADORES ................................................................................... 40
Debuger: ............................................................................................................... 40
12. BIBLIOGRAFÍA ........................................................................................................ 42

Arquitectura de Computadoras #2
PC AT PENTIUM IV EPIE - UNSA

Hardware PC AT Pentium IV

1. SISTEMAS QUE COMPONEN LA COMPUTADORA AT

 Placa base

La placa base o tarjeta madre (en ingles, motherboard, mainboard ) es la


tarjeta de circuitos impresos que sirve como medio de conexión entre el
microprocesador, los circuitos electrónicos de soporte, las ranuras para
conectar parte o toda la RAM del sistema, la ROM y las ranuras especiales
(slots) que permiten la conexión de tarjetas adaptadoras adicionales. Estas
tarjetas de expansión suelen realizar funciones de control de periféricos tales
como monitores, impresoras, unidades de disco, etc.
Para que la placa base cumpla con su cometido, lleva instalado un software
muy básico denominado BIOS. Las mismas se clasifican generalmente por su
tamaño o dimensiones, que a su vez se basa en el uso que se le dará al
computador. Entre los formatos más extendidos tenemos:
Formato de Placa AT: El factor de forma AT es el empleado por el IBM AT y sus
clones en formato sobremesa completo y torre completo. Su tamaño es de 12
pulgadas (305 mm) de ancho x 1113 pulgadas de profundo. Su gran tamaño
dificultaba la introducción de nuevas unidades de disco. Además su conector
con la fuente de alimentación inducía fácilmente al error siendo numerosos los
casos de gente que freía la placa al conectar indebidamente los dos juegos de
cables (contar con un código de color para situar 4 cables negros en la zona
central). El conector de teclado es el mismo DIN 5 del IBM PC original.
Actualmente están todas descatalogadas, excepto un par, que se encuentran
en el museo de la informática.

Formato de Placa Baby AT: IBM presenta en 1985 el formato Baby AT, que es
funcionalmente equivalente a la AT, pero significativamente menor: 8,5
pulgadas de ancho y de 10 a 13 pulgadas de profundo, su menor tamaño
favorece las cajas más pequeñas y facilita la ampliación, por lo que toda la

Arquitectura de Computadoras #3
PC AT PENTIUM IV EPIE - UNSA

industria se vuelca en él abandonando el formato AT. No obstante sigue


heredando los problemas de diseño del AT, con la multitud de cables que
dificultan la ventilación (algo que se va volviendo más crítico a medida que
sube la potencia de los microprocesadores) y con el micro alejado de la entrada
de alimentación. Todo esto será resuelto por el formato ATX. Pero dado el gran
parque existente de equipos en caja Baby AT, durante un tiempo se venderán
placas Súper Socket 7 (que soportan tanto los Pentium MMX como los AMD
K62 y otros micros, hasta los 500 MHz, e incluyen slot AGP) en formato Baby AT
pero con ambos conectores de fuente de alimentación (AT y ATX). Las cajas
ATX, incluso hoy, soportan en sus ranuras el formato Baby AT.
Formato de Placa ATX: El formato ATX (siglas de Advanced Technology
Extended') es presentado por Intel en 1995. Con un tamaño de 12 pulgadas de
ancho por 9,6 pulgadas de profundo, en este nuevo formato se resuelven todos
los inconvenientes que perjudicaron a la ya mencionada placa. Los puertos más
habituales (impresora Centronics, RS232en formato DE9, la toma de
joystick/midi DA15 y de tarjeta de sonido, los puertos USB y RJ45 (para red a
100) y en algunos casos incluso la salida de monitor VGA, se agrupan en el lado
opuesto a los slots de ampliación. El puerto DIN 5 de teclado es sustituido por
las tomas PS/2 de teclado y ratón (llamadas así por introducirlas IBM en su
gama de computadoras PS/2 y rápidamente adoptada por todos los grandes
fabricantes) y situados en el mismo bloque.
Todo esto conlleva el que muchas tarjetas necesarias se integren en la placa
madre, abaratando costos y mejorando la ventilación. Inmediatamente detrás
se sitúa el zócalo o slot de procesador y las fijaciones del ventilador (que al
estar más próxima a la fuente de alimentación y su ventilador, actúa más
eficientemente), justo al lado de la nueva conexión de fuente de alimentación
(que elimina el quemado accidental de la placa). Tras él vienen los slots de
memoria RAM y justo detrás los conectores de las controladoras IDE, SCSI
(principalmente en servidores y placas de gama alta) y de controladora de
disquete, justo al lado de las bahías de disco de la caja (lo que reduce los
cables).
La nueva fuente, además del interruptor físico de corriente como en la AT,
tiene un modo de apagado similar al de los electrodomésticos de consumo,
alimentando a la placa con una pequeña corriente que permite que responda a
eventos (como una señal por la red o un mando a distancia) encendiéndose o,
si se ha habilitado el modo de hibernado heredado de los portátiles,
restablecer el trabajo en el punto donde se dejó.
Formato de Placa microATX: El formato microATX (también conocida como
μATX) es un formato de placa base pequeño con un tamaño máximo de 9,6 x
9,6 pulgadas (244 mm x 244 mm) empleada principalmente en cajas tipo cubo
y SFF. Debido a sus dimensiones sólo tiene sitio para 1 ó 2 slots PCI y/o AGP,
por lo que suelen incorporar puertos FireWire y USB 2 en abundancia (para
permitir conectar unidades externas y regrabadoras de DVD). Es la más
moderna de todas y sus prestaciones son impresionantes. Al comienzo de la
comercialización de la placa daba fallos (bugs) al conectar componentes a los
puertos USB, aunque esto se solucionó de manera efectiva en posteriores
modelos.

Arquitectura de Computadoras #4
PC AT PENTIUM IV EPIE - UNSA

 La fuente de alimentación (Fuente de poder)

La fuente de alimentación (Power supply en inglés) es como su nombre indica,


la encargada de suministrar energía eléctrica a los distintos elementos que
componen nuestro sistema informático.
La electricidad que llega hasta nuestros hogares u oficinas es del tipo conocido
como "corriente alterna" y nos es suministrada habitualmente con una tensión
(o voltaje) que suele ser de alrededor de 115 o 230 voltios. Este tipo de
corriente no es en absoluto adecuada para alimentar equipos electrónicos, y
más concretamente dispositivos informáticos, en dónde es necesario trabajar
con "corriente continua" y voltajes mucho más bajos...
Por tanto, este dispositivo es el que se encarga de "reducir" el voltaje
(mediante un transformador) y posteriormente convertir la corriente alterna en
continua (con un puente de diodos) para finalmente filtrarla (mediante
condensadores electrolíticos).
Evidentemente el esquema es mucho más complejo que el comentado, ya que
en su interior se encuentran muchos otros componentes
Uno de los aspectos mesurables de una fuente de alimentación es su potencia.
Esta viene expresada en vatios e indica la capacidad para alimentar más
dispositivos o de mayor consumo. Suele ser habitual encontrar modelos entre
200 y 300 w (vatios), aunque también existen otros, sobre todo los que siguen
el estándar MicroATX o FlexATX que ofrecen potencias menores.
La gran cantidad de dispositivos que actualmente son incorporados al
ordenador y así mismo el incremento de la potencia de los procesadores y en
consecuencia el aumento del consumo de energía, han motivado que en los
últimos años podamos ver en el mercado modelos de hasta 500 y 600 vatios
especialmente dirigido principalmente a los gamers.

 Memoria RAM

La memoria RAM, se compone de uno o más chips y se utiliza como memoria


de trabajo para programas y datos. Es un tipo de memoria temporal que pierde
sus datos cuando se queda sin energía (por ejemplo, al apagar el ordenador).
RAM es el acrónimo inglés de Random Access Memory Module (memoria de
acceso aleatorio). La denominación surgió antiguamente para diferenciarlas de
otro tipo de memorias como los registros de desplazamiento, y en
contraposición a las denominadas memorias de acceso secuencial. Debido a
que en los comienzos de la computación las memorias principales (o primarias)
de las computadoras eran siempre de tipo RAM y las memorias secundarias (o
masivas) eran de acceso secuencial (cintas o tarjetas perforadas), es frecuente
que se hable de memoria RAM para hacer referencia a la memoria principal de
una computadora, pero actualmente la denominación no es demasiado
acertada.
Se trata de una memoria de semiconductor en la que se puede tanto leer como
escribir información.
Se utiliza normalmente como memoria temporal para almacenar resultados
intermedios y datos similares no permanentes. Se dicen "de acceso aleatorio" o

Arquitectura de Computadoras #5
PC AT PENTIUM IV EPIE - UNSA

"de acceso directo" porque los diferentes accesos son independientes entre sí
(no obstante, el resto de memorias ROM, ROM borrables y Flash, también son
de acceso aleatorio). Por ejemplo, si un disco rígido debe hacer dos accesos
consecutivos a sectores alejados físicamente entre sí, se pierde un tiempo en
mover la cabeza lectograbadora hasta la pista deseada (o esperar que el sector
pase por debajo, si ambos están en la misma pista), tiempo que no se pierde en
la RAM. Sin embargo, las memorias que se encuentran en el ordenador, son
volátiles, es decir, pierde su contenido al desconectar la energía eléctrica; pero
hay memorias (como la memoria RAM flash), que no lo son porque almacenan
datos.
La memoria RAM ha evolucionado con el tiempo a medida que se ha hecho
necesario poder manejar una mayor cantidad de datos y a una mayor
velocidad, las mismas se han clasificado de acuerdo al número de contactos
con los que lleven los módulos que la conforman.

 SIMM:

SIMM o Single inline Memory Module (módulo de memoria en línea simple),


pequeña placa de circuito impreso con varios chips de memoria integrados.
Vinieron a sustituir a los SIP, Single inline Package (encapsulado en línea
simple), chips de memoria independientes que se instalaban directamente
sobre la placa base. Los SIMM están diseñados de modo que se puedan insertar
fácilmente en la placa base de la computadora, y generalmente se utilizan para
aumentar la cantidad de memoria RAM. Se fabrican con distintas capacidades
(4Mb, 8Mb, 16Mb...) y con diferentes velocidades de acceso.
En un principio se construían con 30 contactos y luego aparecieron los de 72
contactos. Recientemente se han desarrollado módulos de memoria DIMM,
Dual inline Memory Module (módulo de memoria en línea doble), con 168
contactos, que presentan un doble número de vías de comunicación entre el
módulo y la placa base, al poder utilizar de manera independiente cada lado
del conector; su manejo resulta más sencillo, ya que se pueden emplear de
forma aislada, mientras que los SIMM se utilizan por pares. En los ordenadores
portátiles se usan unos módulos de memoria de perfil muy fino denominados
SODIMM, Small Outline DIMM.

 DIMM:

Dimm o de Dual Inline Memory Module, (módulo de memoria en línea doble).


Hace referencia a su sistema de comunicación con la placa base, que se
gestiona en grupos de datos de 64 bits, en contraposición con los módulos
SIMM (Single Inline Memory Module, módulo de memoria en línea simple), que
usan una vía simple y sólo transfieren 32 bits de datos cada vez. Se fabrican con
168 contactos en sus conectores de anclaje con la placa base; también suele ser
habitual disponer de cuatro o más conectores, pudiendo utilizarse uno o varios
de ellos, mientras que los módulos SIMM deben ir por parejas, además de
tener anclajes incompatibles, que son de 30 o 72 contactos. Esto determina
que la mayoría de las placas base puedan utilizar módulos de uno u otro tipo,

Arquitectura de Computadoras #6
PC AT PENTIUM IV EPIE - UNSA

pero no ambos.
La extensión en el uso de los módulos DIMM ha coincidido con un aumento
muy sustancial de la capacidad de memoria: actualmente están disponibles de
64, 128, 256 y 512 MB (megabytes) y de 1, 2 o más gigabytes.
Los módulos de memoria denominados DDR DIMM (Double Data Rate DIMM,
módulos DIMM de doble velocidad de transferencia de datos), han ido
sustituyendo paulatinamente a los módulos DIMM estándar a partir del año
2000; tienen la ventaja de doblar la velocidad con que se transfieren los datos a
la placa principal. Así, los valores estándar de 100 y 133 MHz, se convertirán en
un módulo DDR en 200 y 266 MHz, respectivamente.

 RIMM:

Módulo de memoria RDRAM (Rambus Son los módulos de memoria, sustituyen


a los actuales DIMM, y son una continuación del canal; el canal entra por un
extremo del RIMM y sale por el otro. Los RIMM tienen el mismo tamaño que
los DIMM y han sido diseñados para soportar SPD, (Serial Presence Detect).
También hay RIMM de doble cara o de una cara, y pueden tener cualquier
número de chips hasta el máximo de 32 soportados por canal. Hay módulos de
64Mb, 128Mb y 256Mb, la máxima cantidad total de memoria va desde los
64Mb hasta 1Gb por canal.
Podemos instalar dos repetidores para aumentar el número de conectores, y
así aumentar el número de RIMMs, con un repetidor aumentamos a 6
conectores y con dos repetidores aumentamos a 12 conectores.

 Memoria ROM (BIOS)

Memoria de sólo lectura o (Read Only Memory), también es conocida como


BIOS, y es un chip que viene agregado a la tarjeta madre. El Chip de Memoria
ROM se encuentra insertado en la tarjeta madre, debido a que guarda el
conjunto de instrucciones que permiten arrancar la computadora y posibilita la
carga del sistema operativo. Por lo tanto es de vital importancia para el
funcionamiento del sistema.
Al encender el ordenador, el BIOS se carga automáticamente en la memoria
principal y se ejecuta desde ahí por el procesador (aunque en algunos casos el
procesador ejecuta la BIOS leyéndola directamente desde la ROM que la
contiene), cuando realiza una rutina de verificación e inicialización de los
componentes presentes en la computadora, a través de un proceso
denominado POST (Power On Self Test). Al finalizar esta fase busca el código de
inicio del sistema operativo (bootstrap) en algunos de los dispositivos de
memoria secundaria presentes, lo carga en memoria y transfiere el control de
la computadora a éste.
Se puede resumir diciendo que el BIOS es el firmware presente en
computadoras IBM PC y compatibles, que contiene las instrucciones más
elementales para el funcionamiento de las mismas por incluir rutinas básicas de
control de los dispositivos de entrada y salida. Está almacenado en un chip de
memoria ROM o Flash, situado en la placa base de la computadora. Este chip

Arquitectura de Computadoras #7
PC AT PENTIUM IV EPIE - UNSA

suele denominarse en femenino "la BIOS", pues se refiere a una memoria


(femenino) concreta; aunque para referirnos al contenido, lo correcto es
hacerlo en masculino "el BIOS", ya que nos estamos refiriendo a un sistema
(masculino) de entrada/salida.
Hoy por hoy existe un potencial sustituto a la BIOS, EFI, (Extensible Firmware
Interface) es una especificación desarrollada por Intel dirigida a reemplazar la
antigua interfaz de la estándar IBM PC BIOS (la cual se ha estado
implementando por los fabricantes de ordenadores personales desde que salió
a luz el primer IBM PC hasta hoy), se ha implementado en los ordenadores
Macintosh de Apple con procesador Intel. El objetivo de esta Interfaz es
establecer la forma en que un software específico como un Sistema Operativo
o una aplicación de arranque debe acceder a los recursos del sistema.

 Microprocesador

El microprocesador o micro es un circuito integrado que contiene todos los


elementos de una "unidad central de procesamiento" o CPU (por sus siglas en
inglés; Central Process Unit). En la actualidad en el interior de este componente
electrónico existen millones de transistores integrados. Suelen tener forma de
prisma chato, y se instalan sobre un elemento llamado zócalo (en inglés,
socket). También, en modelos antiguos solía soldarse directamente a la placa
madre. Aparecieron algunos modelos donde se adoptó el formato de cartucho,
sin embargo no tuvo mucho éxito. Actualmente se dispone de un zócalo
especial para alojar el microprocesador y el sistema de enfriamiento, que
comúnmente es un ventilador (cooler). El microprocesador está compuesto
por: registros, la Unidad de control, la Unidad aritméticológica, y dependiendo
del procesador, una unidad en coma flotante.
Hay que destacar que los grandes avances en la construcción de
microprocesadores se deben más a la Arquitectura de Computadores que a la
miniaturización electrónica. El microprocesador se compone de muchos
componentes. En los primeros procesadores gran parte de estos estaban
ociosos el 90% del tiempo. Sin embargo hoy en día los componentes están
repetidos una o más veces en el mismo microprocesador, y los cauces están
hechos de forma que siempre están todos los componentes trabajando. Por
eso los microprocesadores son tan rápidos y tan productivos. Esta
productividad tan desmesurada, junto con el gran número de transistores por

Arquitectura de Computadoras #8
PC AT PENTIUM IV EPIE - UNSA

microprocesador (debido en parte al uso de memorias caché) es lo que hace


que se necesiten los inmensos sistemas de refrigeración que se usan hoy en
día. Inmensos en comparación con el microprocesador, que habitualmente
consiste en una cajita de 2 centímetros de largo y de ancho por 1 milímetro de
altura, cuando los refrigeradores suelen tener volúmenes de al menos 5
centímetros cúbicos.
En la actualidad los microprocesadores han alcanzado un grado de
miniaturización asombroso, llegando a rebasar la frontera de los 65 nm
(tamaño de los conmutadores lógicos o transistores), además la posibilidad de
tener varios núcleos integrados en un mismo procesador, abriendo las puertas
de la computación en paralelo a los computadores personales (y creando
bastantes dolores de cabezas a los programadores).

2. CARACTERÍSTICAS DEL PROCESADOR PENTIUM IV INTEL MULTI-CORE

El procesador Intel® Pentium® 4 con microarquitectura Intel® NetBurst™ presenta


la microarquitectura de 32 bits más avanzada e innovadora de Intel. Este
procesador, diseñado para ofrecer un rendimiento superior, resulta perfecto para
las aplicaciones y los entornos más exigentes. La marca Pentium 4 es indicativa de
un rendimiento sin precedentes que combina características innovadoras con la
demostrada calidad de Intel.
Con el procesador de sobremesa más potente de Intel tendrá rendimiento cuando
más lo necesite:
• Rendimiento para las aplicaciones de gama alta actuales y para las exigentes
innovaciones futuras de
Internet
• Potencia para tecnologías vanguardistas de Internet como vídeo fluido y sonido
MP3*
• Prestaciones para crear, editar y compartir con rapidez vídeos y fotografías de
calidad profesional
• La plataforma de juego más novedosa para unos juegos 3D absorbentes
El procesador Intel® Pentium® 4 ofrece potencia específica y está diseñado para
avanzar por donde lo haga Internet.

Arquitectura de Computadoras #9
PC AT PENTIUM IV EPIE - UNSA

El procesador Pentium 4 con microarquitectura Intel NetBurst ofrece nuevas


prestaciones para mejorar el rendimiento, como:

 Tecnología “hipercanalizada”
Un canal más 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 más altas del
mundo en ordenadores de sobremesa.

 Extensiones Streaming SIMD 2


Las extensiones de instrucción única y datos múltiples (SIMD) 2, que constan de
144 nuevas instrucciones, incluyen coma flotante de doble precisión en SIMD,
entero de 128 bits en SIMD y nuevas instrucciones de gestión de memoria y de
caché.Las extensiones Streaming SIMD 2 mejoran el rendimiento para acelerar
los aspectos más exigentes de la informática de Internet, además de vídeo, voz,
codificación, tratamiento de imágenes 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 información del procesador al
resto del sistema y mejora la velocidad y el rendimiento. Esta innovadora
tecnología amplía el potencial para conseguir velocidades de proceso al resto
del sistema.

 Ejecución dinámica avanzada


Esta característica amplía las funciones de ejecución dinámica que se
encuentran en la microarquitectura P6 de generación anterior. La predicción de
bifurcación mejorada acelera el flujo de trabajo al procesador y ayuda a
compensar la canalización más profunda. La ejecución especulativa muy
profunda y no secuencial realiza más de 100 instrucciones de forma
especulativa, lo que garantiza que las unidades de ejecución superescalar del
ordenador siguen ocupadas para un mejor rendimiento global.

 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 imágenes 3D y unos gráficos más realistas.

 Caché de seguimiento de ejecución


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 ejecución de las instrucciones en caché.

 Sistema de ejecución rápida


Unidades lógicas aritméticas (ALU) de enteros al doble de velocidad de reloj
que la frecuencia básica que ofrecen cuatro ALU de ancho de banda
informática y menor ejecución de latencia, lo que aumenta el rendimiento para
operaciones concretas de enteros.

Arquitectura de Computadoras #10


PC AT PENTIUM IV EPIE - UNSA

 El procesador Pentium 4 optimiza el margen de ampliación necesario para su


empresa.

El procesador Intel Pentium 4 ofrece el rendimiento que las pequeñas


empresas necesitan para ser competitivas. Con su nueva arquitectura y sus
posibilidades de velocidad, el procesador Pentium 4 aprovecha totalmente las
aplicaciones de negocios electrónicos que aparecen, sin sacrificar el
rendimiento de los equipos de sobremesa. Sus empresas clientes, equipadas
con sistemas basados en el procesador Pentium 4, estarán mejor situadas para
optimizar la productividad y el rendimiento, de forma que podrán:
 Aprovechar las tecnologías Internet optimizadas, como Java* y XML, el
nuevo lenguaje para los negocios
 Disponer de un entorno multitarea, tareas de fondo como
comprobación de virus en tiempo real, codificación, compresión y
sincronización del correo electrónico
 Reducir espectacularmente el tiempo para compilar y para modelado de
imágenes en aplicaciones multimedia, lo que aumenta la productividad
 Proporcionar estabilidad, vida útil y margen de ampliación para el
futuro.

3. FUNCIONAMIENTO EN GENERAL
El funcionamiento en general está dado por las siguientes componentes:

 CHIPSET
Conjunto de chips, o chipset, es un elemento formado por un determinado
número de circuitos integrados en el que se han incluido la mayoría de los
componentes que dotan a un ordenador de compatibilidad PC/AT a nivel

Arquitectura de Computadoras #11


PC AT PENTIUM IV EPIE - UNSA

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 número 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 tecnológico, como es el
caso de las controladores de bus USB, el bus AGP, el bus PCI, funciones de
administración de energía, etc. Este proceso de integración va a continuar en el
futuro, por lo que durante el presente año aparecerán en el mercado conjuntos
de chips que incluirán también a la tarjeta gráfica. Tanto Intel, como VIA
Technologies y SIS están trabajando en productos de este tipo para
microprocesadores tanto de tipo socket 7 como Slot 1 o socket 370.

 RANURA AMR
El audio/modem rise, también conocido como slot AMR2 o AMR3 es una ranura
de expansión en la placa madre para dispositivos de audio (como tarjetas de
sonido) o módems lanzada en 1998 y presente en placas de Intel Pentium III,
Intel Pentium IV y AMD Athlon. Fue diseñada por Intel como una interfaz con
los diversos chipsets para proporcionar funcionalidad analógica de
Entrada/Salida permitiendo que esos componentes fueran reutilizados en
placas posteriores sin tener que pasar por un nuevo proceso de certificación de
la FCC (con los costes en tiempo y económicos que conlleva).
Cuenta con 2x23 pines divididos en dos bloques, uno de 11 (el más cercano al
borde de la placa madre) y otro de 12, con lo que es físicamente imposible una
inserción errónea, 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 (sólo
por software)

 RANURA DE EXPANSION
 PCI: el estándar actual. Pueden dar hasta 132 MB/s a 33 MHz, lo que es
suficiente para casi todo, excepto quizá para algunas tarjetas de vídeo 3D.
Miden unos 8,5 cm y generalmente son blancos.
 AGP: se dedica exclusivamente a conectar tarjetas de vídeo 3D, por lo que
sólo suele haber una; además, su propia estructura impide que se utilice
para todos los propósitos, por lo que se utiliza como una ayuda para el PCI.
Según 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 más veteranas, un legado de los primeros tiempos del PC.
Funcionan a unos 8 MHz y ofrecen un máximo de 16 MB/s, suficiente para
conectar un módem o una tarjeta de sonido, pero muy poco para una
tarjeta de vídeo. Miden unos 14 cm y su color suele ser negro; existe una
versión aún más antigua que mide sólo 8,5 cm.
 CNR: es una ranura de expansión en la placa madre para dispositivos de

Arquitectura de Computadoras #12


PC AT PENTIUM IV EPIE - UNSA

comunicaciones como módems, tarjetas LAN o USB. Fue introducido en


febrero de 2000 por Intel en sus placas para procesadores Pentium y se
trataba de un diseño propietario por lo que no se extendió más allá de las
placas que incluían los chipsets de Intel.
 Adolecía de los mismos problemas de recursos de los dispositivos diseñados
para ranura AMR.
 Actualmente no se incluye en las placas.

 ZOCALO PARA MICROPROCESADOR


Es el lugar donde se inserta el "cerebro" del ordenador. Durante más de 10
años consistió en un rectángulo o cuadrado donde el "micro", una pastilla de
plástico negro con patitas, se introducía con mayor o menor facilidad; la
aparición de los Pentium II cambió un poco este panorama, introduciendo los
conectores en forma de ranura (slot).

 CONECTORES PARA DISCO


Es donde se conectan los cables para que la placa base reciba la alimentación
proporcionada por la fuente.

 RANURAS PARA RAM


Las ranuras de memoria que tenga la placa base dependerán del tipo de
memoria que utilice, que vendrá marcado por la arquitectura SIMM (siglas de
Single In-line Memory Module), un tipo de encapsulado consistente en una
pequeña placa de circuito impreso que almacena chips de memoria DIMM Se
trata de un pequeño circuito impreso que contiene chips de memoria y se
conecta directamente en ranuras de la placa base.
RIMM utilizan una tecnología denominada RDRAM desarrollada por Rambus
Inc. a mediados de los años 90 con el fin de introducir un módulo de memoria
con niveles de rendimiento muy superiores a los módulos de memoria SDRAM
de 100 MHz y 133 MHz

 PUERTOS DE E/S
Seriales: Ratón, Scanner, etc.
Paralelos: Impresoras
USB: Desde hace tres años, los PC, traen un puerto llamado USB (Universal
Serial Bus) que facilita la conexión de periféricos. Un periférico es cualquier
dispositivo externo que conecte al computador, como el monitor, el teclado, el
ratón, una impresora, un escáner, etc. Los puertos USB, que paulatinamente
desplazarán a los puertos serial y paralelo, tienen dos ventajas: velocidad y
facilidad de uso (todos estos son puertos externos; están en la parte trasera del
PC).

 CONECTOR SATA (ATA)


Los discos SATA ofrecen una transferencia de datos más rápida e instalación
mucho más fácil. Parecen ser la elección obvia, pero no es necesariamente así.

Arquitectura de Computadoras #13


PC AT PENTIUM IV EPIE - UNSA

 BIOS
La BIOS realmente no es sino un programa que se encarga de dar soporte para
manejar ciertos dispositivos denominados de entrada-salida (Input-Output).
Físicamente se localiza en un chip que suele tener forma rectangular, como el
de la imagen.
Además, la BIOS conserva ciertos parámetros 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 extracción y sustitución del chip
(método muy delicado) o bien mediante software, aunque sólo en el caso de las
llamadas Flash-BIOS.

4. SISTEMA DESCRITO POR BLOQUES Y POR CIRCUITOS


La microarquitectura del Pentium 4 se ha diseñado partiendo casi de cero. En
concreto, se basa en la nueva arquitectura NetBurst cuyos pilares se describen a
continuación.

 TECNOLOGÍA HIPERSEGMENTADA.
Dentro de un microprocesador, los datos pasan por "pipelines" (canales de
datos), de un número 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 más etapas, más se tarda en "liberar"
los datos, por lo que un número 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 (más MHz), que es lo que
busca Intel, a costa de perder parte del rendimiento para poder recuperarlo a
fuerza de GHz

 BUS DE SISTEMA DE 400 MHZ.


Es una de las mejores características de esta arquitectura. En realidad el bus del
sistema no funciona a 400 MHz "físicos" (reales), sino a 100 MHz
cuádruplemente aprovechados con una especie de "doble DDR", como se
realiza con la tecnología 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 mejorarán el rendimiento de aplicaciones profesionales y
multimedia (como renderizado y edición de vídeo), y de muchos juegos 3D.
La tasa de trasferencia que se alcanza son 3,2 GB/s, que es significativamente
superior a los modelos anteriores de Intel. El Pentium III con bus a 133 MHz
ofrece una tasa de 1 GB/s y el Celeron con su bus a 66 MHz ofrece 0,5 GB/s.

 RAPID EXECUTION ENGINE.


Otra de las novedades de esta arquitectura del Pentium 4 es la capacidad de
dos unidades aritmético-lógicas de números enteros (ALUs) que consiguen
tiempos de espera iguales a un semiciclo de reloj en la ejecución de algunas
instrucciones con lo que el procesador estaría funcionando al doble de

Arquitectura de Computadoras #14


PC AT PENTIUM IV EPIE - UNSA

velocidad. Aunque esta capacidad parece muy atractiva para aplicaciones no


matemáticas, no consigue plenamente sus objetivos debido a problemas con el
exceso de etapas.

 CACHÉ Y OTRAS CARACTERÍSTICAS.


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 tecnología "Advanced Transfer Caché"
estrenada con el Pentium III pudiéndose 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 más de lo que
puede alcanzar un AMD Athlon, sobre todo porque en éste la caché L2 tiene un
bus de sólo 64 bits.
En cuanto a Execution Trace Caché y Advanced Dynamic Execution, son
técnicas que mejoran la ejecución especulativa, se puede romper el orden de
las instrucciones para acelerar su procesamiento y refuerzan la predicción de
saltos y ramificaciones (branch prediction).
En la siguiente figura se muestra la distribución de la memoria caché en la
microarquitectura NetBurst:

 DESCRIPCIÓN DE LA ARQUITECTURA.
Sobre los componentes del Pentium 4 destaca el BTB (Branch Target Buffer)
que es la parte encargada de guardar las direcciones de los saltos y de
predecirlos. Tras pasar éste módulo la instrucción va al Decodificador que la
convierte de formato x86 en varias microinstrucciones. Más tarde se pasa la
instrucción a la zona de Renombramiento/Reposicionamiento que sirve para
ejecutar varias instrucciones simultáneamente, siendo necesario que sean
mínimamente independientes.
Más tarde se pasa a las Colas de microinstrucciones: las cuales almacenan las
mini instrucciones pendientes de ejecutar. Para finalizar, se pasa a la zona
Store/Load AGU compuesta de dos unidades que se encargan de guardar

Arquitectura de Computadoras #15


PC AT PENTIUM IV EPIE - UNSA

(Store) y cargar (Load) datos, desde y hacia, la memoria o en su defecto la


caché. (AGU significa Adress Generation Unit, unidad generadora de
direcciones de memoria).
La arquitectura del Pentium 4 se detalla en la siguiente figura:

Arquitectura de Computadoras #16


PC AT PENTIUM IV EPIE - UNSA

5. ESQUEMÁTICO DEL SISTEMA COMPLETO SISTEMA DE APLICACIÓN.

Arquitectura de Computadoras #17


PC AT PENTIUM IV EPIE - UNSA

6. MUESTRA DE UNA MAINBOARD AT CON IDENTIFICACIÓN DE DISPOSITIVOS

Diagrama de Bloques:

Arquitectura de Computadoras #18


PC AT PENTIUM IV EPIE - UNSA

Diagrama Físico (Real):

Partes de un computador AT:

1. Ranuras de expansión o slots PCI.


2. Puertos o COMs para ratón (mouse) y/o Módem (Modulador Demodulador).
3. Conector para teclado.
4. Conectores P8 y P9.
5. Ranuras de expansión o slots ISA.
6. Zócalos o bancos de memoria para SIMMs.
7. Conectores IDE para discos duros o CDs.
8. Zócalos o bancos de memoria para DIMMs.
9. Zócalo del microprocesador.
10. Conector de discos flexibles.
11. BIOS o sistema básico de entrada y salida.
12. Chipset.
13. Pila que alimenta al BIOS.

Periféricos Externos:

Arquitectura de Computadoras #19


PC AT PENTIUM IV EPIE - UNSA

7. REGISTROS
El procesador necesita para su funcionamiento de ciertas áreas de
almacenamiento, que aquí se llaman registros, y que son de dimensiones mínimas;
sin embargo, tienen la ventaja de su rapidez. Comparados con los accesos a RAM,
los de registro son como mínimo 10 veces más veloces.

 Registros de uso general


Existen 4 registros denominados AX, BX, CX y DX que en realidad tienen
asignados usos característicos, aunque pueden ser utilizados a discreción para
cualquier cosa que necesitemos
AX es denominado acumulador; suele contener uno de los operandos que
intervienen en las operaciones aritméticas y lógicas, y después de esta, el
resultado de la operación. En general las instrucciones que trabajan con este
registro (o su mitad inferior) tienen un microcódigo más simple que la misma
instrucción ejecutada con otro registro.
BX es el registro base, suele contener la dirección 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
multiplicación y división junto con AX. En operaciones de entrada/salida de
puertos IN/OUT, su mitad inferior DL, contiene el número 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
simultáneos), los anteriores y sus mitades: AH; AL; BH; BL; CH; CL; DH y DL.

 Registros de segmento
Se dispone de cuatro registros que sirven para contener las direcciones de
otros tantos segmentos (zonas de 64 KB de memoria). Utilizándolos en
conjunción con otros registros que señalan 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). Ver al respecto el
epígrafe "Direccionamiento segmentado".
Segmento de código CS ("Code segment"). Señala la dirección del segmento de
código del programa que se está ejecutando.
Segmento de datos DS ("Data segment"). Señala la dirección del segmento de
datos del programa en ejecución.
Segmento de pila SS ("Stack segment"). Señala la dirección del segmento
donde está la pila del programa.
Segmento extra ES ("Extra segment"). Es un segmento auxiliar a los anteriores,
se utiliza para señalar espacio extra en alguno de los segmentos o para
almacenar momentáneamente direcciones intermedias.

Arquitectura de Computadoras #20


PC AT PENTIUM IV EPIE - UNSA

 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 instrucción IP
("Instrucción pointer") y contador de programa PC ("Program counter"), indica
el desplazamiento (dentro del segmento de código CS) de la próxima
instrucción a ejecutar.
El puntero de pila SP ("Stack Pointer"), señala 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 invocación de
función creará un nuevo registro de activación que comenzará en este punto.
El puntero base BP ("Base pointer") señala el desplazamiento (dentro del
segmento de pila SS) donde se encuentra el origen de la zona ocupada por las
variables dinámicas.
Existen dos registros denominados "de índice", en razón de su utilización 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 específicamente
pensadas para transferir datos (dentro de un rango de posiciones de memoria),
desde un punto inicial de un segmento de datos, a otro.

 Registro de estado
Existe un registro especial, el registro de estado (FLAGS), en el que 9 de los 18
bits actúan como semáforos (indicadores del estado del procesador y del
resultado de determinadas operaciones). Por ejemplo, si después de una suma
aritmética hay o no desbordamiento del bit más significativo.
Los nombres y situación de cada uno, dentro de la palabra de 16 bits, se
muestran en la figura 2.
Cada bit individual puede estar "activo" (1) o "inactivo" (0), y tiene un
identificador que termina en F ("Flag"). Son los siguientes:

Arquitectura de Computadoras #21


PC AT PENTIUM IV EPIE - UNSA

Invocar DEBUG desde una ventana DOS (suponemos que estamos en Windows;
el "prompt" es un guión "-") introducir el comando R (pedimos que nos
muestre el contenido de los registros).
Salir de Debug con Q.
En la PC la respuesta al comando tiene el siguiente aspecto:
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1779 ES=1779 SS=1779 CS=1779 IP=0100 NV UP EI PL NZ NA PO NC
Los valores están expresados en hexadecimal. La última secuencia de
caracteres (NV UP EI PL NZ NA PO NC) muestra el contenido del registro de
estado (el bit TF de detención no se muestra), el significado de la notación
utilizada es el siguiente:

También es posible inspeccionar el contenido de un solo registro, añadiendo al


comando R el nombre del registro. Por ejemplo, el comando R IP muestra el
contenido del contador de programa. Los nombres que pueden utilizarse para
los registros son los siguientes: AX; BX; CX; DX; SP; BP; SI; DI; DS; ES; SS; CS; IP y
F (este último para el registro de estado).

Arquitectura de Computadoras #22


PC AT PENTIUM IV EPIE - UNSA

Después de un comando de este tipo, DEBUG responde con un "prompt"


distinto del habitua, para indicar que debe introducir el nuevo valor que desea
para el registro. Pulsando INTRO se vuelve al modo normal.

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.
Los procesadores permiten especificar la posición de un operando de múltiples
maneras.
Modo de Direccionamiento: Dado uno o varios campos de la instrucción, calcular
la dirección efectiva de un operando.
La Dirección Efectiva no tiene por qué ser una dirección en memoria.

Hay infinidad de formas de calcular la dirección de un operando cada procesador


implementa un subconjunto de formas posibles.
Tanto los operando involucrados en el cálculo como las diferentes formas de
calcular esta dirección están todos codificados en la instrucción.
Cuanto mías compleja sea la tarea de cálculo de la dirección efectiva, o mas
operandos incluya, más compleja será la decodificación y ejecución de la
instrucción.
Existen dos espacios posibles de direcciones de operandos:

 Dirección de Registro: Para aquellos operandos que están almacenados en


registro.
 Dirección de Memoria: Para aquellos operandos que están almacenados en
memoria.

Nos referiremos a los diferentes campos de la instrucción como ci1, ci2, etc.
La expresión (ci1) significa el contenido del campo ci1 de la instrucción, o lo que es
lo mismo, el numero codificado en dicho campo.
La expresión (Ri), donde Ri es el nombre de un registro, significa el contenido del
registro.
La expresión dato R significa que se carga en el registro R el dato.

Arquitectura de Computadoras #23


PC AT PENTIUM IV EPIE - UNSA

 Modo Registro
Los registros pueden almacenar operandos.
La dirección de registro es diferente a la dirección de memoria.

 Modo Registro: Ejemplo


ADD%ebx, %edx
Los campos que especifican los registros están en el byte ModR/M.

 Modo Registro Indirecto


La dirección efectiva está contenida en un registro codificado en la instrucción.
Útil para acceder a un array de elementos.

 Modo Registro Indirecto: Ejemplo


ADD%ebx, (%edx)
Los campos que especifican los registros están en el byte ModR/M y en el código
de operación.

Arquitectura de Computadoras #24


PC AT PENTIUM IV EPIE - UNSA

 Modo Autoincremento
El registro involucrado en el cálculo de la dirección efectiva se incrementa después
de ser utilizado.
El tamaño del incremento (1, 2, 4, etc.) está relacionado con el tamaño 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 Autoincremento: Ejemplo


POP %eax
Como el tamaño del operando es 4 bytes el incremento es de 4.

 Modo Auto decremento


El registro involucrado en el cálculo de la dirección efectiva se decremento antes
de ser utilizado.
El tamaño del decremento (1, 2, 4, etc.) está relacionado con el tamaño del
operando (8, 16, 32 bits, etc.)

Arquitectura de Computadoras #25


PC AT PENTIUM IV EPIE - UNSA

de = ((ci)) − {1, 2, 4}; (Ri) − {1, 2, 4} ! Ri, donde Ri es el registro codificado en el


campo ci.

 Modo Auto decremento: Ejemplo


PUSH %eax
Como el tamaño del operando es 4 bytes el decremento es de 4.

 Modo Absoluto
La dirección activa se encuentra en el campo de la propia instrucción.
Útil para acceder a constantes de un programa.
de = (ci)

 Modo Absoluto: Ejemplo


MOV mistring, %ebx
Instrucción que carga el contenido en memoria con etiqueta mistring en el registro
%ebx.
El lenguaje ensamblador nos permite definir y utilizar estas etiquetas.

Arquitectura de Computadoras #26


PC AT PENTIUM IV EPIE - UNSA

 Modo Base + Desplazamiento


La dirección se obtiene sumando el contenido de un registro y un valor codificado
en la instrucción.
Útil para acceder a un campo de un record de datos.
de = (ci1) + ((ci2))

 Modo Base + Desplazamiento: Ejemplo


Supongamos un record almacenado en una dirección contenida en %ebx y con
campos:
boolean a; /* 4 bytes */
int b; /* 4 bytes */
int c; /* 4 bytes */
¿Cómo cargamos el valor del campo c en el registro %eax?

 Modo Base + Índice


La dirección se obtiene sumando el contenido de dos registros.
Útil para acceder a los elementos de un array secuencialmente, pues se conserva la
dirección de inicio de los datos y el índice.
de = ((ci1)) + ((ci2))

Arquitectura de Computadoras #27


PC AT PENTIUM IV EPIE - UNSA

 Modo Base + Índice: Ejemplo


Supongamos el array de enteros almacenado en la posición contenida en el
registro %ebx.
¿Cómo podemos iterar sobre todos los elementos del array?

 Modo Índice Escalado + Desplazamiento


La dirección se obtiene sumando el registro índice escalado al valor codificado en
la instrucción.
Útil para acceder a arrays que están en posiciones fijas y que contienen elementos
de tamaños 1, 2, 4 u 8 bytes.
de = (ci1) + ((ci2)) _ (ci3); tal que (ci3) 2 {1, 2, 4, 8}

 Modo Índice Escalado + Desplazamiento: Ejemplo


Supongamos un array de enteros como variable global del programa con la
siguiente estructura: tabla 100 200 300. . .
Para iterar sobre los elementos de la tabla no necesitamos almacenar la dirección
base en un registro.

Arquitectura de Computadoras #28


PC AT PENTIUM IV EPIE - UNSA

 Modo Base + Índice Escalado + Desplazamiento


Combinación de los modos base + índice e índice escalado + desplazamiento.
La dirección 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}

 Modo Base + Índice escalado + Desplazamiento: Ejemplo


Supongamos un array de dos dimensiones (una matriz) con elementos de 4 bytes.
Para acceder a un elemento se precisan índices de fila y columna. La dirección del
elemento en la posición (i, j) es:
base + (i _ tamaño Fila) + (j _ tamaño Elemento).

9. SET DE INSTRUCCIONES
Las instrucciones más representativas de la arquitectura IA-32 son las siguientes:

 Instrucciones de transferencia de datos


En esta categoría se incluyen las instrucciones que permiten la transferencia de
datos entre registros y memoria tales como MOV, PUSH, POP y XCHG.
La instrucción MOV recibe dos operandos y transfiere el dato indicado por el
primer operando al lugar indicado por el segundo. Dada la restricción que
impone el procesador de que en una instrucción con dos operandos no pueden
estar ambos en memoria, si se quiere transferir datos de un lugar de memoria a

Arquitectura de Computadoras #29


PC AT PENTIUM IV EPIE - UNSA

otro, se deben utilizar dos instrucciones y utilizar un registro de propósito


general.
Las instrucciones PUSH y POP también transfieren datos, aunque en este caso,
uno de los operandos es implícito y se refiere a la cima de la pila. La instrucción
PUSH necesita como operando el dato a colocar en la cima de la pila mientras
que la instrucción POP requiere un único operando para indicar el lugar en el
que depositar el dato contenido en la cima de la pila. Ambas instrucciones
modifican el registro %esp que contiene la dirección de la cima de la pila.
Estas dos instrucciones aceptan como operando una posición de memoria, por
ejemplo PUSH contador. El procesador carga en la pila el dato en memoria en la
posición con nombre contador. En este caso, a pesar de que la transferencia se
está realizando de memoria a memoria, la arquitectura sí permite la operación.
La restricción de dos operandos en memoria aplica únicamente a aquella
instrucción con dos operandos explícitos.
La instrucción XCHG (del inglés Exchange) consta de dos operandos e
intercambia sus valores por lo que modifica los operandos (a no ser que tengan
idéntico valor). No se permite que los operandos estén ambos en memoria.
La siguiente tabla muestra ejemplos correctos e incorrectos de la utilización de
este tipo de instrucciones. Se asume que los símbolos contador1 y contador2 se
refieren a operandos en memoria.

 Instrucciones aritméticas
En este grupo se incluyen aquellas instrucciones que realizan operaciones
aritméticas sencillas con números enteros y naturales tales como la suma,

Arquitectura de Computadoras #30


PC AT PENTIUM IV EPIE - UNSA

resta, incremento, decremento, multiplicación y división.


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 operación realizada es la sustracción
del primer operando del segundo. Como tales operaciones precisan de un lugar
en el que almacenar el resultado, el segundo operando desempeña las
funciones de fuente y destino por lo que se sustituye el valor del segundo
operando por el valor resultante.
El procesador ofrece también las instrucciones INC y DEC que requieren un
único operando y que incrementan y decrementan respectivamente el
operando dado. Aunque las instrucciones ADD $1, operando e INC operando
realizan la misma operación y se podría considerar idénticas, no lo son, pues
INC no modifica el bit de acarreo.
La instrucción NEG recibe como único operando un número entero y realiza la
operación de cambio de signo.
La siguiente tabla muestra ejemplos de utilización de este tipo de instrucciones.
Se asume que el símbolo contador se refiere a un operando almacenado en
memoria.

 Instrucciones de multiplicación
La instrucción de multiplicación tiene dos variantes, IMUL y MUL para números
enteros y naturales respectivamente y su formato supone un caso especial,
pues permite la especificación de entre uno y tres operandos.
La versión de IMUL y MUL con un único operando ofrece, a su vez la posibilidad
de multiplicar números de 8, 16 y 32 bits. Las instrucciones asumen que el
segundo multiplicando está almacenado en el registro %al (para números de 8
bits), %ax (para números de 16 bits) y %eax (para números de 32 bits). El
tamaño del número a multiplicar se deduce del operando explícito de la
instrucción.
Si se multiplican dos operandos de n bits, el resultado tiene tamaño doble y
debe representarse con 2n bits. Por tanto, si los operandos son de 8 bits, el
resultado de esta instrucción 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 más significativos del resultado.
La versión de IMUL y MUL con dos operandos es más restrictiva que la anterior.
El segundo operando puede ser únicamente uno de los ocho registros de

Arquitectura de Computadoras #31


PC AT PENTIUM IV EPIE - UNSA

propósito general (no puede ser ni una constante ni un número en memoria) y


el tamaño de ambos operandos puede ser de 16 o 32 bits. Para almacenar el
resultado se utiliza el mismo número de bits con los que se representan los
operandos, con lo que se corre el riesgo, si el resultado obtenido es muy
elevado, de perder parte del resultado. Esta última condición se refleja en los
bits de estado del procesador.
La versión de IMUL y MUL con tres operandos es la más restrictiva de todas.
Los dos primeros operandos son los multiplicandos y el primero de ellos debe
ser una constante. El tercer operando es el lugar en el que se almacena el
resultado y sólo puede ser un registro de propósito general. Al igual que la
versión con dos operandos, los únicos tamaños que se permiten son de 16 y 32
bits, y el resultado se almacena en el mismo tamaño que los operandos, por lo
que de nuevo se corre el riesgo de pérdida de bits del resultado.
La siguiente tabla muestra ejemplos de utilización de este tipo de instrucciones.
Se asume que el símbolo contador se refiere a un operando almacenado en
memoria.

 Instrucciones de división entera


Las instrucciones de división de números naturales y enteros devuelven dos
resultados, el cociente y el resto, y se almacenan ambos valores. De manera
análoga a las instrucciones de multiplicación, existen dos versiones IDIV y DIV
para división de enteros y naturales respectivamente y el tamaño del dividendo
es el doble del divisor. De esta forma, se permite dividir un número 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 explícita un único operando que es el divisor, y
que puede ser un número de 8, 16 o 32 bits. El dividendo es implícito 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 también tienen un destino implícito y
depende del tamaño 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,

Arquitectura de Computadoras #32


PC AT PENTIUM IV EPIE - UNSA

el cociente se devuelve en %eax y el resto en %edx.


La siguiente tabla muestra ejemplos de utilización de este tipo de instrucciones.
Se asume que el símbolo contador se refiere a un operando almacenado en
memoria.

 Instrucciones lógicas
En este grupo se incluyen las instrucciones de conjunción, disyunción,
disyunción exclusiva y negación.
La aplicación práctica de estas instrucciones no es a primera vista del todo
aparente, sin embargo, suelen estar presentes en la mayoría de programas.
Las cuatro instrucciones lógicas consideradas son AND, OR, NOT y XOR para la
conjunción, disyunción, negación y disyunción exclusiva, respectivamente.
Estas instrucciones tienen en común que realizan sus operaciones “bit a bit”. Es
decir, el procesador realiza tantas operaciones lógicas como bits tienen los
operandos tomando los bits que ocupan la misma posición y, por tanto,
produciendo otros tantos resultados.
Considérese el caso de la instrucción de conjunción AND con sus dos
operandos. Al igual que en el caso de instrucciones como la de suma o resta, el
segundo operando es a la vez fuente y destino. El procesador obtiene un
resultado de igual tamaño que sus operandos y en el que cada bit es el
resultado de la conjunción de los bits de idéntica posición de los operandos. Las
instrucciones de disyunción (OR) y disyunción exclusiva (XOR) se comportan de
forma análoga.
La instrucción NOT tiene un único operando que es fuente y destino y cambia el
valor de cada uno de sus bits.
La siguiente tabla muestra ejemplos de utilización de este tipo de instrucciones.
Se asume que el símbolo contador se refiere a un operando almacenado en
memoria.

Arquitectura de Computadoras #33


PC AT PENTIUM IV EPIE - UNSA

 Instrucciones de desplazamiento y rotación


En este grupo se incluyen instrucciones que mediante desplazamientos
efectúan operaciones aritméticas de multiplicación y división por potencias de
dos. Además, se incluyen también instrucciones que manipulan sus operandos
como si los bits estuviesen dispuestos de forma circular y permite rotaciones en
ambos sentidos.
Instrucciones de desplazamiento
Las instrucciones de desplazamiento se subdividen a su vez en dos categorías:
desplazamiento aritmético y desplazamiento lógico.
Las instrucciones de desplazamiento aritmético son aquellas que equivalen a
multiplicar y dividir un número por potencias de 2. Un desplazamiento de un
bit quiere decir que cada uno de ellos pasa a ocupar la siguiente posición (a
derecha o izquierda) y por tanto, dependiendo de cómo se introduzcan nuevos
valores y cómo se descarte el bit sobrante, dicha operación es idéntica a
multiplicar por 2.
En adelante se asume que el bit más significativo de un número es el de más a
su izquierda. La siguiente figura muestra un desplazamiento aritmético a
izquierda y derecha de un número de 8 bits.

Figura 9.6. Desplazamiento aritmético de 1 bit en un número de 8 bits

Para que la equivalencia entre los desplazamientos de bits y la operación


aritmética de multiplicación y división por 2 sean realmente equivalentes hay
que tener en cuenta una serie de factores.
Si se desplaza un número a la izquierda, el nuevo bit menos significativo debe
tener el valor cero.
Si se desplaza a la izquierda un número natural con su bit más significativo a
uno se produce desbordamiento.
Si se desplaza un número a la derecha, el nuevo bit más significativo debe tener
valor idéntico 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 último bit
que se ha descartado se almacena en el bit de acarreo CF. Estas instrucciones
tienen la limitación adicional de que el primer operando sólo puede ser una
constante o el registro %cl.

Arquitectura de Computadoras #34


PC AT PENTIUM IV EPIE - UNSA

La siguiente tabla muestra ejemplos de utilización de este tipo de instrucciones.


Se asume que el símbolo contador se refiere a un operando almacenado en
memoria.

Las instrucciones de desplazamiento no aritmético son SHR y SHL para


desplazar a derecha e izquierda respectivamente. El comportamiento y
restricciones son idénticos a las instrucciones anteriores con una única
diferencia. Los nuevos bits que se insertan en los operandos tienen siempre el
valor cero. Por tanto, dependiendo de los valores de los operandos, las
instrucciones SAR y SAL se pueden comportar de forma idéntica.

Instrucciones de rotación
Las instrucciones de rotación permiten manipular un operando como si sus bits
formasen un círculo y se rotan en ambos sentidos un número 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 límites del operando se almacena
en el bit de acarreo CF.
Las instrucciones RCL y RCR son similares a las anteriores con la excepción que
el bit de acarreo CF se considera como parte del operando. El bit que sale del
límite del operando se carga en CF y éste a su vez pasa a formar parte del
operando.

Al igual que las instrucciones de desplazamiento aritmético, el primer operando


puede ser o una constante o el registro %cl. El tamaño del dato a manipular se
deduce del segundo operando, y si este está en memoria, a través del sufijo de
tamaño de la instrucción.
La siguiente tabla muestra ejemplos de utilización de este tipo de instrucciones.
Se asume que el símbolo contador se refiere a un operando almacenado en
memoria.

Arquitectura de Computadoras #35


PC AT PENTIUM IV EPIE - UNSA

 Instrucciones de salto
El procesador ejecuta una instrucción tras otra de forma secuencial a no ser
que dicho flujo de ejecución se modifique. Las instrucciones de salto sirven
para que el procesador, en lugar de ejecutar la siguiente instrucción, pase a
ejecutar otra en un lugar que se denomina “destino del salto”.
La instrucción de salto JMP (del inglés jump) tiene un único operando que
representa el lugar en el que el procesador debe continuar ejecutando. Al
llegar a esta instrucción, el procesador no realiza operación alguna y
simplemente pasa a ejecutar la instrucción en el lugar especificado como
destino del salto. El único registro, por tanto, que se modifica es el contador de
programa.
A la instrucción JMP se le denomina también de salto incondicional por
contraposición a las instrucciones de salto en las que el procesador puede
saltar o no al destino dependiendo de una condición.
La arquitectura IA-32 dispone de 32 instrucciones de salto condicional. Todas
ellas comienzan por la letra J seguida de una abreviatura de la condición que
determina si el salto se lleva a cabo o no. Al ejecutar esta instrucción el
procesador consulta esta condición, si es cierta continua ejecutando la
instrucción en la dirección destino del salto. Si la condición es falsa, la
instrucción no tiene efecto alguno sobre el procesador y se ejecuta la siguiente
instrucción.
Las condiciones en las que se basa la decisión de saltar dependen de los valores
de los bits de estado CF, ZF, OF, SF y PF. La tabla 9.10 muestra para cada
instrucción los valores de estos bits para los que se salta a la instrucción
destino.

Arquitectura de Computadoras #36


PC AT PENTIUM IV EPIE - UNSA

En la tabla se incluyen instrucciones con diferente nombre e idéntica condición.


Estos sinónimos son a nivel de lenguaje ensamblador, es decir, las diferentes
instrucciones tienen una codificación idéntica y por tanto corresponden con la
misma instrucción máquina del procesador.
La utilidad de estas instrucciones se debe entender en el contexto del flujo
normal de ejecución de un programa. El resto de instrucciones realizan
diferentes operaciones sobre los datos, y a la vez modifican los bits de la
palabra de estado. Las instrucciones de salto se utilizan después de haber
modificado estos bits y para poder tener dos posibles caminos de ejecución.

 Instrucciones de comparación y comprobación


Las instrucciones CMP (comparación) y TEST (comprobación) realizan sendas
operaciones aritméticas de las que no se guarda el resultado obtenido sino que
únicamente se modifican los bits de estado.
La instrucción 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 instrucción no permite que ambos
operandos estén en memoria. Al ejecutar esta instrucción 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.
Considérese el código mostrado en el siguiente ejemplo. La instrucción de
comparación modifica los bits de estado para que la instrucción de salto los
interprete y decida si debe saltar o continuar ejecutando la instrucción ADD.
Tabla 9.11. Resta y bit de desbordamiento de dos enteros de 2 bits

Arquitectura de Computadoras #37


PC AT PENTIUM IV EPIE - UNSA

El bit de signo y el de desbordamiento tienen valores diferentes únicamente en


el caso en que el primer operando de la resta es menor que el segundo. Por
tanto, la instrucción JLE si se ejecuta a continuación de una instrucción CMP se
garantiza que el salto se lleva a cabo si el segundo operando es menor que el
primero.
Las instrucciones de salto cuya condición puede interpretarse con respecto a la
instrucción de comparación que le precede son las que en la descripción
mostrada en la tabla 9.10 incluyen una comparación. Aunque estas
instrucciones no deben ir necesariamente precedidas por una instrucción de
comparación porque la condición se evalúa con respecto a los bits de estado,
generalmente se utilizan acompañadas de éstas.

10. LENGUAJE MAQUINA, MACROENSAMBLADOR


Existen varios ensambladores disponibles para ambiente MS-DOS: el IBM
Macro
Assembler, el Turbo Assembler de Borland, el Turbo Editassm de
Speedware, por citar algunos. Una breve descripción de cada uno se
proporciona a continuación.

 Macro Ensamblador IBM:


Está integrado por un ensamblador y un macroensamblador. En gran
medida su funcionamiento y forma de invocarlo es sumamente
similar al de Microsoft. Su forma de uso consiste en generar un
archivo fuente en código ASCII, se procede a generar un programa
objeto que es ligado y se genera un programa .EXE. Opcionalmente
puede recurrirse a la utilería EXE2BIN de MS-DOS para transformarlo
a .COM. Es capaz de generar un listado con información del proceso
de ensamble y referencias cruzadas.

 Macro Ensamblador de Microsoft:


Dependiendo de la versión, este ensamblador es capaz de soportar
el juego de instrucciones de distintos tipos de microprocesadores
Intel de la serie 80xx/80x86. En su versión 4.0 este soporta desde el
8086 al 80286 y los coprocesadores 8087 y 80287. Requiere 128KB
de memoria y sistema operativo MS-DOS v2.0 o superior. Trabaja
con un archivo de código fuente creado a partir de un editor

Arquitectura de Computadoras #38


PC AT PENTIUM IV EPIE - UNSA

y grabado en formato ASCII. Este archivo es usado para el proceso


de ensamble y generación de código objeto. Posteriormente, y con
un ligador, es creado el código ejecutable en formato .EXE.

 Turbo Editassm:
Este es desarrollado por Speedware, Inc., y consiste de un ambiente
integrado que incluye un editor y utilerías para el proceso de
ensamble y depuración. Es capaz de realizar el ensamble línea a
línea, conforme se introducen los mnemónicos, y permite revisar
listas de referencias cruzadas y contenido de los registros. Este
ensamblador trabaja con tablas en memoria, por lo que la
generación del código ejecutable no implica la invocación explícita
del ligador por parte del programador. Adicionalmente permite la
generación de listados de mensajes e información de cada etapa del
proceso y la capacidad de creación de archivos de código objeto.

 Turbo Assembler:
De Borland Intl., es muy superior al Turbo Editassm. Trabaja de la
misma forma, pero proporciona una interfaz mucho más fácil de
usar y un mayor conjunto de utilerías y servicios.
En lo que se refiere a las presentes notas, nos enfocaremos al Microsoft
Macro Assembler v4.0. Los programas ejemplo han sido desarrollados con
éste y está garantizado su funcionamiento. Estos mismos programas
posiblemente funcionen con otros ensambladores sin cambios o con
cambios mínimos cuando utilizan directivas o pseudoinstrucciones.
Realmente la diferencia entre los ensambladores radica en la forma de
generar el código y en las directivas con que cuente, aunque estas
diferencias son mínimas. El código ensamblador no cambia puesto que los
microprocesadores con los que se va a trabajar son comunes. Así, todos los
programas que se creen con un ensamblador en particular podrán ser
ensamblados en otro, cambiando las pseudo-operaciones no reconocidas
por el equivalente indicado en el manual de referencia del paquete
empleado.
Los programas que componen el Macro Ensamblador Microsoft v4.0 son los
siguientes:

Arquitectura de Computadoras #39


PC AT PENTIUM IV EPIE - UNSA

El Microsoft Macro Assembler v4.0 crea código ejecutable para


procesadores 8086, 8088, 80186, 80188, 80286, 8087 y 80287. Además es
capaz de aprovechar las instrucciones del 80286 en la creación de código
protegido y no protegido.
El término macroensamblador es usado para indicar que el ensamblador en
cuestión tiene la capacidad de poder ensamblar programas con facilidad de
macro. Una macro es una pseudo-instrucción que define un conjunto de
instrucciones asociadas a un nombre simbólico. Por cada ocurrencia en el
código de esta macro, el ensamblador se encarga de substituir esa llamada
por todas las instrucciones asociadas y, en caso de existir, se dejan los
parámetros con los que se estaba llamando la macro y no con los que había
sido definida. Es importante señalar que no se deja una llamada, como a
una subrutina o procedimiento, sino que se incorporan todas las
instrucciones que definen a la macro.

11. DEBUGER, Y SIMULADORES

 Debuger:
Se trata de una utilidad muy poco amigable, sin menús y -sólo en versiones
recientes- con ayuda mínima, pero una vez aprendidos unos cuantos comandos es
extremadamente potente. Hay quien lo considera como el mejor programa que ha
hecho Microsoft.
Debug, invocado sin parámetros, se carga y pasa a mostrar un lacónico guión, a la
espera de órdenes del usuario. Todas -a excepción de las relativas a operaciones
con memoria expandida, que no se verán aquí- constan de una única letra seguida
o no de parámetros. Si se va a desensamblar un programa, se le puede indicar a
debug que lo cargue también tras cargarse él escribiendo:
debug nombre-del-programa argumentos-del-programa
Debug
C:\> Debug [Enter]
En la siguiente línea aparecerá un guión, é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 parámetro el
nombre del registro cuyo valor se quiera visualizar. Por ejemplo:
- rbx
Esta instrucción desplegará únicamente 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 continuación [Enter], o se puede dejar el valor anterior
presionando [Enter] sin teclear ningún valor.
Es posible cambiar el valor del registro de banderas, así como utilizarlo como
estructura de control en nuestros programas como se verá más adelante. Cada bit

Arquitectura de Computadoras #40


PC AT PENTIUM IV EPIE - UNSA

del registro tiene un nombre y significado especial, la lista dada a continuación


describe el valor de cada bit, tanto apagado como prendido y su relación con las
operaciones del procesador:
Overflow:
NV = no hay desbordamiento;
OV = sí lo hay
Direction:
UP = hacia adelante;
DN = hacia atrás;
Interrupts:
DI = desactivadas;
EI = activadas
Sign:
PL = positivo;
NG = negativo
Zero:
NZ = no es cero;
ZR = sí lo es
Auxiliary Carry:
NA = no hay acarreo auxiliar;
AC = hay acarreo auxiliar
Parity:
PO = paridad non;
PE = paridad par;
Carry:
NC = no hay acarreo;
CY = Sí lo hay
Las instrucciones del Debug aparecerán si tecleamos “?” en la línea de comandos.
La siguiente figura ilustra esto:

Arquitectura de Computadoras #41


PC AT PENTIUM IV EPIE - UNSA

12. BIBLIOGRAFÍA

http://www.wikipedia.org
http://www.intel.com
http://www.slideshare.net
http://www.rincondelvago.com
http://www.monografias.com

Arquitectura de Computadoras #42

Você também pode gostar