You are on page 1of 107

CICLO: V

Ingeniera de Sistemas

CAPTULO I
ARQUITECTURA DE
MICROPROCESADOR
ES I Y II

1. INTRODUCCIN
El microprocesador es uno de los logros ms sobresalientes del siglo
XX. Esas son palabras atrevidas, y hace un cuarto de siglo tal
afirmacin habra parecido absurda. Pero cada ao, el
microprocesador se acerca ms al centro de nuestras vidas,
forjndose un sitio en el ncleo de una mquina tras otra. Su
presencia ha comenzado a cambiar la forma en que percibimos
1

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

el mundo e incluso a nosotros mismos. Cada vez se hace ms difcil


pasar por alto el microprocesador como otro simple producto en una
larga lnea de innovaciones tecnolgicas.
Ninguna otra invencin en la historia se ha diseminado tan aprisa
por todo el mundo o ha tocado tan profundamente tantos aspectos
de la existencia humana. Hoy existen casi 15,000 millones de
microchips de alguna clase en uso. De cara a esa realidad, quin
puede dudar que el microprocesador no slo est transformando
los productos que usamos, sino tambin nuestra forma de vivir y,
por ltimo, la forma en que percibimos la realidad?

2. CONCEPTO
El microprocesador es el circuito integrado central y ms complejo
de un sistema informtico; a modo de ilustracin, se le suele llamar
por analoga el cerebro de un computador. Es un circuito
integrado conformado por millones de componentes electrnicos.
Constituye la unidad central de procesamiento de la PC catalogada
como microcomputador
Es el encargado de ejecutar los programas; desde el sistema
operativo hasta
las aplicaciones de
usuario;
slo
ejecuta instrucciones programadas en lenguaje de bajo nivel,
realizando
operaciones aritmticas y lgica
s simples, tales como sumar,
restar, multiplicar, dividir, las
lgicas
binarias y
accesos
a memoria.
Esta
unidad
central
de
procesamiento est constituida,
esencialmente,
por registros,
una unidad
de
control,
una unidad aritmtico lgica y
una unidad de clculo en coma flotante.
El microprocesador est conectado generalmente mediante
un zcalo especfico
de
la placa
base de
la
computadora;
normalmente para su correcto y estable funcionamiento, se le
incorpora un sistema de refrigeracin, que consta de un disipador de
calor fabricado en algn material de alta conductividad trmica,
como cobre o aluminio, y de uno o ms ventiladores que eliminan el
exceso del calor absorbido por el disipador.
Existe una tendencia de integrar el mayor nmero de elementos
dentro del propio procesador, aumentando as la eficiencia
2

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

energtica y la miniaturizacin. Entre los elementos integrados estn


las unidades de punto flotante, controladores de la memoria RAM,
controladores de buses y procesadores dedicados de video.
Para funcionar, una computadora lee instrucciones y datos. La
velocidad a la que lee datos y realiza clculos, viene determinada
por la famosa frecuencia de funcionamiento que puedes ver en
cualquier folleto de un micro. Sin embargo, gracias a los avances
producidos en el diseo de la arquitectura, las prestaciones cada vez
dependen menos de esa frecuencia de funcionamiento. Puede
ocurrir, por tanto, que un micro con una menor velocidad sea capaz
de realizar ms tareas.
Cabe destacar que la frecuencia de reloj no es el nico factor
determinante en el rendimiento, pues slo se podra hacer
comparativa entre dos microprocesadores de una misma
arquitectura.
Hay otros factores muy influyentes en el rendimiento, como puede
ser su memoria cach, su cantidad de ncleos, sean fsicos o lgicos,
el conjunto de instrucciones que soporta, su arquitectura, etc; por lo
que sera difcilmente comparable el rendimiento de dos
procesadores distintos basndose slo en su frecuencia de reloj.
Estos ltimos aos ha existido una tendencia de integrar el mayor
nmero de elementos del PC dentro del propio procesador,
aumentando as su eficiencia energtica y su rendimiento. Una de
las primeras integraciones, fue introducir la unidad de coma flotante
dentro del encapsulado, que anteriormente era un componente
aparte y opcional situado tambin en la placa base, luego se
introdujo tambin el controlador de memoria, y ms tarde un
procesador grfico dentro de la misma cmara, aunque no dentro
del mismo encapsulado. Posteriormente se llegaron a integrar
completamente en el mismo encapsulado.
Para entenderlo, hay que revisar un poco la historia. Cuando se
crearon los primeros microprocesadores, estos slo eran capaces de
realizar una operacin en cada ciclo de reloj. Sin embargo, gracias a
cambios arquitectnicos, cualquier procesador actual es capaz de
procesar varias instrucciones al mismo tiempo. Por supuesto, cada
arquitectura, ser ms eficiente al ejecutar unas u otras
operaciones.
Aparte de eso, cuando se cambia la arquitectura, se pueden aadir
ms bloques que ejecuten nuevas instrucciones. Es lo que ocurre
con los conjuntos de instrucciones SSE y AVX. Estas, permiten
acelerar ciertos clculos asociados a programas matemticos,
cientficos, financieros y de seguridad. Al implementar estos bloques,
se consigue aumentar la velocidad de ejecucin de forma radical,
3

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

pero se necesita que los desarrolladores de software vuelvan a crear


los programas de nuevo.
A veces se va ms all de aadir unas cuantas instrucciones. La
capacidad de integracin mejora a pasos agigantados. Cada 18
meses, ms o menos, estos avances permiten aadir el doble de
transistores en la misma rea. Esto significa que en unos tres aos
se puede crear un microprocesador que ocupe la cuarta parte de
espacio.
El problema surge entonces a la hora de rellenar ese espacio. La
primera opcin que se tomo fue la ms lgica. Se aaden ms
ncleos, que no es ms que replicar procesadores e interconectarlos
entre s. Tras esto, se tiende a integrar cada vez ms elementos
dentro de la CPU. Digamos que los elementos pasan de la placa
base poco a poco al micro. Se van integrando por ejemplo,
el controlador de memoria, o la tarjeta grfica.
A tanto ha llegado esta evolucin, que se empieza a utilizar el
concepto de APU en vez del de CPU. En un futuro no muy lejano se
tendera a SOC (systemon a chip) es decir a que todo el sistema se
encuentre en el interior de una pastilla.
Aparte de la parte lgica, no debemos de olvidar que un micro es un
dispositivo fsico. Como tal, est limitado en aspectos tales como la
temperatura o el voltaje. En esencia, la potencia consumida por un
procesador es proporcional a la frecuencia de funcionamiento. Es
decir, si aumentamos en un 30% la velocidad tambin la potencia
aumentara en la misma proporcin. Si el sistema de refrigeracin,
normalmente un ventilador, no es capaz de disipar esa potencia, la
temperatura aumentara de manera constante hasta que el
dispositivo se queme o se pare.
Los fabricantes, teniendo en cuenta esto, aaden sistemas a los
procesadores para acelerar su funcionamiento siempre y cuando
estemos dentro de unos lmites fsicos aceptables. Ejemplos de
tecnologas que realizan esto son los famosos Turbo Core de
AMD y Turbo Boost de Intel. El procesador puede funcionar ms lento
en caso de que el sistema no necesite tanta velocidad de ejecucin.
Por supuesto, la arquitectura tambin define como se comporta el
procesador en relacin a otros elementos de la placa base. Por
ejemplo la conexin con las memorias o los canales de acceso a
las tarjetas grficas.
En definitiva, la arquitectura es junto a la tecnologa de fabricacin
lo que define las caractersticas y las posibles prestaciones de un
microprocesador. Como ves, todo esto hace que sea cada vez ms
complejo la comparacin entre los distintos procesadores ya que
puede ser que algunos sean ms rpidos que otros en un tipo de
aplicaciones y en otras no.
4

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

3. PARTES PRINCIPALES
3.1 Partes lgicas
Un microprocesador est compuesto de las siguientes partes y
caractersticas:

Unidad de Control: Es la encargada de activar o desactivar los


diversos componentes del microprocesador en funcin de la
instruccin que el microprocesador est ejecutando y en funcin
tambin de la etapa de dicha instruccin que se est ejecutando. La
unidad de control (UC) interpreta y ejecuta las instrucciones
almacenadas en la memoria principal y genera las seales de control
necesarias para ejecutarlas.
La UC consta de:
Registro de instrucciones (RI): contiene la instruccin que se
est ejecutando en cada momento.

Contador (C): contiene la direccin de memoria donde se


encuentra la prxima instruccin a ejecutar.

Reloj: proporciona una sucesin de impulsos elctricos a


intervalos constantes que marcan los instantes en que han de
comenzar los pasos que constituyen cada instruccin.
Determina la velocidad de trabajo del ordenador, ya que esta
depende del nmero de instrucciones que procesa por
segundo.

Decodificador (D): se encarga de analizar e interpretar la


instruccin en curso (que est en el RI), determinando las
rdenes necesarias para su ejecucin.

Secuenciador (S): con la informacin suministrada por el


decodificador, genera la secuencia de rdenes elementales
que, sincronizadas con los impulsos del reloj, hacen que se
ejecute la instruccin cargada en el registro de instrucciones

Unidad Aritmtica y Lgica (ALU): Es la que se encargar de


realizar todas las operaciones que transforman los datos, en especial
operaciones matemticas como la suma y la resta y tomar decisiones
lgicas.
Esta unidad consta a su vez de:
Banco de registros (BR): almacena temporalmente los datos
que intervienen en las operaciones que est realizando la UAL.

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Circuitos
operadores
(CIROP): realizan
elementales aritmticas y lgicas.

Registro de resultados (RR): en l se depositan los resultados


obtenidos en los circuitos operadores

las

operaciones

Los registros: El procesador necesita para su funcionamiento de


ciertas reas de almacenamiento de forma temporal, durante la
ejecucin de las instrucciones, que aqu se llaman registros, y que son
de dimensiones mnimas; sin embargo, tienen la ventaja de ser
extremadamente rpidos. Comparados con los accesos a RAM, los de
registro son como mnimo 10 veces ms veloces.
El Procesador en trminos generales es el cerebro de un computador,
cuyas partes bsicas son: el contador de programa, el decodificador
de instrucciones, los registros y la unidad aritmtica y lgica.

Todos los datos (las instrucciones y los datos) son ledos por
la CPU a travs de los registros. Las instrucciones (el cdigo del
programa)
son
ledas
en
un
registro
llamado InstructionRegister y luego son decodificadas mediante
un decodificador, que interpreta el tipo de instruccin.
Dependiendo de la instruccin, se leen a continuacin los datos
a procesar, los cuales se almacenan en un registro
llamado Acumulador o "Registro de Trabajo" que se encuentra
directamente relacionado con la Unidad Aritmtica y
Lgica (ALU). Los resultados de la ALU son almacenados
nuevamente en el Acumulador, donde pueden ser enviados a
una posicin de memoria RAM o a un dispositivo de E/S (disco
duro, disco ptico, etc).

3.2 Partes fsicas

El encapsulado: Es lo que rodea a la oblea de silicio en s, para

darle consistencia, impedir su deterioro (ejemplo por oxidacin)


y permitir un enlace con los conectores externos que lo
acoplarn a su zcalo o a la placa base.
6

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Zcalo: Es

Chipset: El "chipset" (conjunto de circuitos integrados) es el

el lugar en donde se inserta el procesador,


efectuando una conexin entre l y el resto del equipo. Cada
familia de microprocesadores necesita un zcalo distinto, por
diferencias fsicas entre marcas. Aparte del zcalo, el
procesador tambin necesita un tipo determinado de placa
base o madre acorde a sus caractersticas.
conjunto (set) de chips que se encarga de controlar
determinadas funciones del ordenador, como la forma en que
trabajar el microprocesador con la memoria o la cach, o el
control de puertos PCI, AGP, USB...

Memoria Cach: Es la parte en donde se almacenan datos que

Bus de datos: En este punto en el que el procesador lee/escribe

se usan muy frecuentemente, con el motivo de evitar el tener


que pedirlos constantemente a la memoria principal, acelerando
el acceso a otros dispositivos externos de almacenamiento,
reduciendo as el tiempo de espera. Esta memoria se comunica
directamente con la memoria principal, evitando el bus general,
as es ms rpida.
datos en la memoria
entrada/salida.

principal,

en

los

dispositivos

Ventilador: Se encarga de refrigerar al procesador, ya que al

contener millones de dispositivos activos transistores que


producen una temperatura muy alta. Se instala justo encima del
procesador, actualmente hay otros tipos de refrigeracin en las
gamas estilo modding, por ejemplo: la refrigeracin lquida.

4. EVOLUCIN
El microprocesador es producto surgido de la evolucin de distintas
tecnologas predecesoras, bsicamente de la computacin y de la
tecnologa de semiconductores.
Seguidamente se expone una lista ordenada cronolgicamente de
los microprocesadores ms populares que fueron surgiendo.

1971: El Intel 4004


El 4004 fue el primer microprocesador del mundo, creado en un
simple chip y desarrollado por Intel. Era un CPU de 4 bits y tambin
fue el primero disponible comercialmente. Este desarrollo impuls la
7

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

calculadora de Busicom e inici el camino para dotar de


inteligencia a objetos inanimados y as mismo, a la computadora
personal.
Especificaciones:
Microprocesador de 4 bits
Contiene 2.300 transistores
Encapsulado CERDIP de 16 pines
Mxima velocidad del reloj 740 KHz

Usa Arquitectura Harvard, es decir, almacenamiento separado


de programas y datos. Contrario a la mayora de los diseos
con arquitectura de Harvard, que utilizan buses separados, el
4004, con su necesidad de mantener baja la cuenta de pines,
usaba un bus de 4 bits multiplexado para transferir:
12 bits de direcciones (direccionando hasta 4 KB)
Instrucciones de 8 bits de ancho, que no deben ser
colocadas en la misma memoria de datos de 4 bits de
ancho.
El conjunto de instrucciones est formado por 46 instrucciones
(de las cuales 41 son de 8 bits de ancho y 5 de 16 bits de
ancho)

16 registros de 4 bits cada uno.

Stack interno de llamadas a subrutinas de tres niveles de


profundidad.

Chipset (circuitos auxiliares) para crear sistemas basados en el


4004.

1972: El Intel 8008

Codificado inicialmente como 1201, fue pedido a Intel por Computer


Terminal Corporation para usarlo en su terminal programable
Datapoint 2200, pero debido a que Intel termin el proyecto tarde y
a que no cumpla con las expectativas de Computer Terminal
Corporation, finalmente no fue usado en el Datapoint.
8

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Posteriormente Computer Terminal Corporation e Intel acordaron que


el i8008 pudiera ser vendido a otros clientes.
Especificaciones:

Produccin: Mediados de 1972 1983


Fabricante(s): Intel
Frecuencia de relojde CPU: 0.5 Mhz a 0.8 Mhz
Conjunto de instrucciones: pre x86
Zcalo(s): 18 pin DIP

1974: El SC/MP

El SC/MP desarrollado por National Semiconductor, fue uno de los


primeros microprocesadores, y estuvo disponible desde principio
de 1974. El nombre SC/MP (popularmente conocido como Scamp)
es
el acrnimo de Simple
Cost-effective
Micro
Processor (Microprocesador simple y rentable). Presenta un bus de
direcciones de 16
bits y
un bus
de
datos de 8
bits.
Una
caracterstica, avanzada para su tiempo, es la capacidad de liberar
los buses a fin de que puedan ser compartidos por varios
procesadores. Este microprocesador fue muy utilizado, por su bajo
costo, y provisto en kits, para propsitos educativos, de
investigacin y para el desarrollo de controladores industriales
diversos.
Caractersticas inusuales del SC/MP
Una caracterstica avanzada para su tiempo, es la capacidad de
liberar los buses, a fin de que puedan ser compartidos por varios
procesadores. En la datasheet muestra una implementacin con tres
SC/MP en una configuracin multi-procesador.
SC/MP incrementa el contador de programa antes de buscar la
instruccin, de modo que en reset comienza a ejecutar instrucciones
desde la 0001. Esto tambin debe tenerse en cuenta para el clculo
de los desplazamientos, ya que el desplazamiento se aade al
contador de programa que sigue apuntando a la ubicacin de los
desplazamientos y no a la prxima instruccin.
Para minimizar la cantidad de chips en las aplicaciones de control
dispone de unos pines de entrada / salida serial dedicada para
permitir la implementacin de comunicaciones serial en el software
sin necesidad de una UART (esta prestacin ser retirada en el
ltimo SC/MP III).
9

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

1974: El Intel 8080

EL 8080 se convirti en la CPU de la primera computadora personal,


la Altair 8800 de MITS, segn se alega, nombrada en base a un
destino de la Nave Espacial Starship del programa de televisin
Viaje a las Estrellas, y el IMSAI 8080, formando la base para las
mquinas que ejecutaban el sistema operativo CP/M-80. Los
fanticos de las computadoras podan comprar un equipo Altair por
un precio (en aquel momento) de u$s395. En un periodo de pocos
meses, se vendieron decenas de miles de estas PC.
Esquema de entrada/salida
El 8080 tena 256 puertos de I/O (entrada/salida) que podan ser
usados por los programas mediante instrucciones dedicadas de I/O,
cada una de esas instrucciones tomando una direccin de puerto de
I/O como su operando. Este esquema, que usaba un espacio de
direcciones separado para las entradas/salidas, es ahora usado
menos comnmente que el de mapeo de memoria para dispositivos
o puertos de I/O. En el tiempo del lanzamiento 8080, el esquema de
mapeo de I/O era visto como una ventaja, pues liberaba el nmero
limitado de pines de direccin del procesador para usarlo en el
espacio de direccin de la memoria. Sin embargo, en la mayora de
las otras arquitecturas de CPU, el mapeo de los puertos de I/O en un
espacio de direcciones comn para la memoria y el I/O, daba un
conjunto de instrucciones ms simple, con ninguna necesidad de
instrucciones separadas de I/O.

1975: Motorola 6800

Se fabrica, por parte de Motorola, el Motorola MC6800, ms conocido


como 6800. Fue lanzado al mercado poco despus del Intel 8080. Su
nombre proviene de que contena aproximadamente 6.800
transistores. Varios de los primeras microcomputadoras de los aos
1970 usaron el 6800 como procesador. Entre ellas se encuentran la
SWTPC 6800, que fue la primera en usarlo, y la muy conocida Altair
680. Este microprocesador se utiliz profusamente como parte de un
kit para el desarrollo de sistemas controladores en la industria.
Partiendo del 6800 se crearon varios procesadores derivados, siendo
uno de los ms potentes el Motorola 6809.
Su conjunto de instrucciones est formado por 78 de stas y
posiblemente es el primer microprocesador que cont con
un registro ndice.
El 6800 normalmente se fabricaba en un encapsulado DIP de
40 patillas. Necesita un reloj de dos fases y una alimentacin nica
10

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

de 5V, en contraste con el 8080 de Intel, que necesitaba tres


tensiones.
Varios de los primeros microordenadores de los aos 1970, que
usualmente eran vendidos por correo -en piezas sueltas o
ensamblados-, usaron el 6800 como procesador principal. Entre ellos
se encuentran el SWTPC 6800 (el primero en usarlo) y el MITS Altair
680.
Fue sustituido por el MC6802, que aade al MC6800 un generador de
reloj, con lo que le basta un reloj de una fase, compatible TTL, y una
memoria de 128 bytes, 32 de los cuales son "retenibles" mediante
una tensin de 3V aplicada a una patilla destinada a tal fin.
Partiendo del 6800 se crearon varios procesadores derivados, siendo
uno de los ms potentes el Motorola 6809, que fue usado en el
sistema de videojuego Vectrex y en el ordenador Tandy TRS-80,
entre
otros.
Tambin
se
han
producido
varios microcontroladores basados en el 6800, como el Motorola
6805, 6807, 6808, 68HC11 y el 68HC12.
La empresa competidora MOS Technology, que contrat a los
empleados que disearon el 6800 cuando estos dejaron Motorola,
tambin fabric procesadores basados en la tecnologa del Motorola
6800. Entre estos se encuentran losMOS Technology 6501 y 6502,
que fueron usados en muchos sistemas de videojuegos y
ordenadores de finales de los aos 1970, como el Apple II, Atari
2600 y los Commodore PET, VIC-20 y C64.

1976: El Z80

La compaa Zilog Inc. crea el Zilog Z80. Es un microprocesador de 8


bits construido en tecnologa NMOS, y fue basado en el Intel 8080.
Bsicamente es una ampliacin de ste, con lo que admite todas sus
instrucciones. Un ao despus sale al mercado el primer computador
11

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

que hace uso del Z80, el Tandy TRS-80 Model 1 provisto de un Z80 a
1,77 MHz y 4 KB de RAM. Es uno de los procesadores de ms xito
del mercado, del cual se han producido numerosas versiones
clnicas, y sigue siendo usado de forma extensiva en la actualidad
en multitud de sistemas embebidos. La compaa Zilog fue
fundada 1974 por Federico Faggin, quien fue diseador jefe del
microprocesador Intel 4004 y posteriormente del Intel 8080.
Usos notables
A comienzos de los aos 1980 el Z80 o versiones clnicas del mismo
fueron usadas en multitud de ordenadores domsticos, como la
gama MSX, el Radio Shack TRS-80, el Sinclair ZX80, ZX81 y ZX
Spectrum. Tambin fue usado en elOsborne 1, el Kaypro y otra gran
cantidad de ordenadores empresariales que dominaban el mercado
por aquella poca y que usaban el sistema operativo CP/M.
A mediados de los aos 1980 el Z80 fue usado en el Tatung
Einstein y
la
familia
de
ordenadores
domsticos
y
empresariales Amstrad CPC y Amstrad PCW. El Z80 tambin fue
usado en los ordenadores Tiki 100, que se empleaban en los colegios
de Noruega por entonces.
Tal fue la popularidad del Z80 y el CP/M que otros ordenadores
basados en el MOS Technology 6502 o 6510 que ya estaban en el
mercado, como el BBC Micro, el Apple II y el Commodore 64 podan
ser ampliados mediante una tarjeta o cartucho que contena un
procesador Z80. Tambin el Commodore 128 inclua un Z80
secundario junto al MOS Technology 8502 principal para poder usar
CP/M.
Ya en los aos 1990 el Z80 ha sido usado en las videoconsolas Sega
Master
System y Sega
GameGear.
Adems
las
videoconsolas SNK Neo-Geo y la Sega Mega Drive y muchas
mquinas arcade usan un Z80 como el procesador especializado en
sonido.
Las GameBoy y GameBoy Color de Nintendo utilizan una variante del
Z80 fabricada por Sharp.
En la actualidad parte de la gama de calculadoras grficas
programables de Texas Instruments tales como las TI-82, TI-83, TI85, TI-86 y sus sucesoras emplean una versin clnica del Z80
fabricada por NEC como procesador principal.

12

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Adems el Z80 tambin es un microprocesador popular para ser


usado en sistemas embebidos, campo donde se emplea de manera
extensiva.

1978: Los Intel 8086 y 8088

Una venta realizada por Intel a la nueva divisin de computadoras


personales de IBM, hizo que las PC de IBM dieran un gran golpe
comercial con el nuevo producto con el 8088, el llamado IBM PC. El
xito del 8088 propuls a Intel a la lista de las 500 mejores
compaas, en la prestigiosa revista Fortune, y la misma nombr la
empresa como uno de Los triunfos comerciales de los sesenta.
Derivados y Clones
Versiones compatibles, y en muchos casos mejoradas, fueron
fabricadas
por Fujitsu, Harris/Intersil, OKI, Siemens
AG, Texas
Instruments, NEC, Mitsubishi, y AMD. Por ejemplo, el par NEC V20 y
NEC V30 eran compatibles a nivel de hardware con el 8088 y el 8086
respectivamente, pero incorporaron el conjunto de instrucciones del
80186 junto con algunas (pero no todas) las mejoras en velocidad
del 80186, proporcionando con slo sustituir el chip, la capacidad
para aumentar el conjunto de instrucciones y la velocidad de
procesamiento sin que los fabricantes tuvieran que modificar sus
diseos. Tales procesadores en CMOS, relativamente simples y de
baja potencia, compatibles con el 8086/8088, todava se usan en
sistemas empotrados.
La industria de la electrnica de la Unin Sovitica fue capaz de
replicar el 8086 con espionaje industrial e ingeniera inversa. el chip
resultante, el K1810BM86, era binaria y compatible a nivel de pines
con el 8086, pero no era mecnicamente compatible porque us
medidas mtricas.
Los 8088 y 8086 eran los ncleos respectivos de los computadores
de escritorio compatibles con el PC, ES1840 y ES1841, hechos por
los soviticos. Sin embargo, estas computadoras tenan significativas
13

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

diferencias de hardware de sus autnticos prototipos, y el trazado de


circuito
del
bus
de
datos/direcciones
fue
diseado
independientemente de los productos de Intel.[cita requerida] El
ES1841 era el primer PC compatible con tamao de bus dinmico
(patente de los E.E.U.U. No 4.831.514). Posteriormente, algunos de
los principios del ES1841 fueron adoptados en el PS/2 (patente de
los E.E.U.U. No 5.548.786) y algunas otras mquinas (solicitud de
patente britnica, publicacin No. GB-A-2211325, publicada el 28 de
junio de 1989).

1982: El Intel 80286

El 80286, popularmente conocido como 286, fue el primer


procesador de Intel que podra ejecutar todo el software escrito para
su predecesor. Esta compatibilidad del software sigue siendo un sello
de la familia de microprocesadores de Intel. Luego de 6 aos de su
introduccin, haba un estimado de 15 millones de PC basadas en el
286, instaladas alrededor del mundo.
Caractersticas:
Una de las caractersticas interesantes de este procesador es que
fue el primer procesador x86 con modo protegido, en el cual existan
cuatro anillos de ejecucin y divisin de memoria mediante tablas de
segmentos. En este modo trabajaban las versiones de 16 bits del
sistema operativo OS/2. En este modo protegido se permita el uso
de toda la memoria directamente, habilitando que pudiera ser
direccionada hasta 16 MiB de memoria con la unidad de gestin de
memoria (MMU) lineal del chip y con 1 GiB de espacio de direccin
lgica. La MMU tambin ofreca proteccin entre aplicaciones para
evitar la escritura de datos accidental (o malintencionada) fuera de
la zona de memoria asignada. Por diseo, una vez que el procesador
entraba en el modo protegido, no poda volver al modo
real compatible con el 8086 sin un reinicio provocado por hardware.
En el IBM PC/AT, IBM aadi circuitera externa como tambin cdigo
especializado en el ROM BIOS para habilitar una serie especial de
instrucciones de programa para causar el reinicio, permitiendo la
reentrada al modo real mientras se conservaba la memoria activa y
el control. Aunque esto trabajaba correctamente, el mtodo impona
una enorme penalizacin en el desempeo.
Esta limitacin llev a la famosa referencia de Bill Gates sobre el
80286 como un chip de cerebro muerto,5 puesto que estaba claro
que el nuevo ambiente de Microsoft Windows no podra correr
mltiples aplicaciones de MS-DOS con el 286. Podra decirse que fue
responsable de la divisin entre Microsoft e IBM, dado que IBM
insisti en que el OS/2, originalmente una empresa conjunta entre
14

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

IBM y Microsoft, corriera en un 286 (y en modo de texto). Para ser


justo, cuando Intel dise el 286, no fue diseado para poder correr
en multitarea aplicaciones de modo real; el modo real fue pensado
como una manera simple para que un bootstraploader preparase
el sistema y despus cambiara al modo protegido.
En teora, las aplicaciones de modo real podan ser ejecutadas
directamente en modo protegido de 16 bits si ciertas reglas fueran
seguidas; sin embargo, como muchos programas del DOS rompan
esas reglas, el modo protegido no fue ampliamente usado hasta la
aparicin del sucesor del 80286, el Intel 80386 de 32 bits, que fue
diseado para ir fcilmente hacia adelante y hacia atrs entre los
modos.

1985: El Intel 80386

Este procesador Intel, popularmente llamado 386, se integr con


275000 transistores, ms de 100 veces tantos como en el original
4004. El 386 aadi una arquitectura de 32 bits, con capacidad
para multitarea y una unidad de traslacin de pginas, lo que hizo
mucho
ms
sencillo
implementar sistemas
operativos que
usaran memoria virtual.
El procesador i386 fue una evolucin importante en el mundo de la
lnea de procesadores que se remonta al Intel 8008. El predecesor
del i386 fue el Intel 80286, un procesador de 16 bits con un sistema
de memoria segmentada. El i386 aadi una arquitectura de 32 bits
y una unidad de traslacin de pginas, lo que hizo mucho ms
sencillo implementar sistemas operativos que emplearan memoria
virtual.
Intel introdujo posteriormente el i486, pero ni ste ni sus sucesores
han introducido tantos cambios en la arquitectura x86 como el i386
con su sistema de direccionamiento plano de 32 bits. Otros
microprocesadores, como el Motorola 68000 tenan direccionamiento
plano desde mucho antes.
La mayora de las aplicaciones diseadas para ordenadores
personales con un procesador i486 posterior al i386 funcionarn en
15

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

un
i386,
debido
a
que
los
cambios
del conjunto
de
instrucciones desde el i386 ha sido mnimo. Adems el uso de las
nuevas instrucciones puede ser evitado fcilmente. Adaptar un
programa para el i286 es mucho ms difcil.
Debido al alto grado de compatibilidad, la arquitectura del conjunto
de procesadores compatibles con el i386 suele ser llamada
arquitectura
i386.
El conjunto
de
instruccionespara
dicha
arquitectura se conoce actualmente como IA-32.

1985: El VAX 78032

El microprocesador VAX 78032 (tambin conocido como DC333), es


de nico chip y de 32 bits, y fue desarrollado y fabricado por Digital
EquipmentCorporation (DEC); instalado en los equipos MicroVAX II,
en conjunto con su chip coprocesador de coma flotante separado, el
78132, tenan una potencia cercana al 90% de la que poda entregar
el minicomputador VAX 11/780 que fuera presentado en 1977. Este
microprocesador contena 125000 transistores, fue fabricado en
tecnologa ZMOS de DEC. Los sistemas VAX y los basados en este
procesador fueron los preferidos por la comunidad cientfica y de
ingeniera durante la dcada del 1980.
Contiene 125.000 transistores en un 8,7 por 8,6 mm (74,82
mm 2) matriz que se fabric en proceso de DEC ZMOS, un 3,0
micras lgica NMOS proceso con dos capas de interconexin de
aluminio. La matriz se empaqueta en un 68-pin montado en
superficie de soporte de chip con plomo .

1989: El Intel 80486

Los Intel 80486 (i486, 486) son una familia de microprocesadores de


32 bits con arquitectura x86 diseados por Intel Corporation.
La generacin 486 realmente signific contar con una computadora
personal de prestaciones avanzadas, entre ellas, un conjunto de
instrucciones optimizado, una unidad de coma flotante o FPU, una
unidad de interfaz de bus mejorada y una memoria cach unificada,
todo ello integrado en el propio chip del microprocesador. Estas
mejoras hicieron que los i486 fueran el doble de rpidos que el par
i386 - i387 operando a la misma frecuencia de reloj. El procesador
Intel 486 fue el primero en ofrecer un coprocesador matemtico o
FPU integrado; con l que se aceleraron notablemente las
operaciones de clculo. Usando una unidad FPU las operaciones
matemticas ms complejas son realizadas por el coprocesador de
manera prcticamente independiente a la funcin del procesador
principal.
16

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Las velocidades de reloj tpicas para los i486 eran 16 MHz (no muy
frecuente), 20 MHz (tampoco frecuente), 25 MHz, 33 MHz, 40 MHz,
50 MHz (tpicamente con duplicacin del reloj), 66 MHz (con
duplicacin del reloj), 75 MHz (con triplicacin del reloj), 80MHz
(versin de AMD con duplicacin de reloj), 100 MHz (tambin con
triplicacin del reloj) y 120 MHz (triplicacin de reloj, exclusivo de
AMD). Existi adems un 486 de 133MHz fabricado por AMD que
dispona de 16KB de cach L1, arquitectura de 0'35 micras (contra
las 0'6 micras de los modelos anteriores) y un multiplicador de 4x.
Se denomin con tres nombres diferentes: AMD X5, AMD Am5x86P75 y AMD Am486DX5-133, y dispona de una enorme capacidad
para el overclock que le permita subir hasta los 160Mhz incluso sin
disipador, equiparando su rendimiento con el de un Pentium-90.
Tambin existen unidades del AMD Am5x86-P90, que no es otra cosa
que un 486 a 150Mhz con multiplicador de 3x, pero apenas se
fabricaron unidades de este modelo que sera el ms potente 486
jams fabricado.

1991: El AMD AMx86

Procesadores fabricados por AMD 100% compatible con los cdigos


de Intel de ese momento, llamados clones de Intel, llegaron
incluso a superar la frecuencia de reloj de los procesadores de Intel y
a precios significativamente menores. Aqu se incluyen las series
Am286, Am386, Am486 y Am586.

17

1993: PowerPC 601

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Es un procesador de tecnologa RISC de


32 bits, en 50 y 66MHz. En su diseo
utilizaron la interfaz de bus del Motorola
88110. En 1991, IBM busca una alianza
con Apple y Motorola para impulsar la
creacin de este microprocesador, surge
la alianza AIM (Apple, IBM y Motorola)
cuyo objetivo fue quitar el dominio
que Microsoft e Intel tenan en sistemas
basados
en
los
80386
y
80486. PowerPC (abreviada PPC o MPC) es
el nombre original de la familia de procesadores de arquitectura de
tipo RISC, que fue desarrollada por la alianza AIM. Los procesadores
de
esta
familia
son
utilizados
principalmente
en
computadores Macintosh de Apple Computer y su alto rendimiento
se debe fuertemente a su arquitectura tipo RISC.

1993: El Intel Pentium

El primer Pentium se lanz al mercado el 22 de marzo de 1993,1 con


velocidades iniciales de 60 y 66 MHz, 3.100.000 transistores, cache
interno de 8 KiB para datos y 8 KiB para instrucciones; sucediendo al
procesador Intel 80486. Intel no lo llam 586 debido a que no es
posible registrar una marca compuesta solamente de nmeros.
Pentium tambin fue conocido por su nombre clave P54C. Se
comercializ en velocidades entre 60 y 200 MHz, con velocidad de
bus de 50, 60 y 66 MHz. Las versiones que incluan instrucciones
MMX no slo brindaban al usuario un mejor manejo
de aplicaciones multimedia, como por ejemplo, la lectura de
pelculas en DVD sino que se ofrecan en velocidades de hasta 233
MHz, incluyendo una versin de 200 MHz y la ms bsica
proporcionaba unos 166 MHz de reloj.
La aparicin de este procesador se llev a cabo con un movimiento
econmico impresionante, acabando con la competencia, que hasta
entonces produca procesadores equivalentes, como es el 80386,
el 80486 y sus variaciones o incluso NPUs.
El microprocesador de Pentium posea una arquitectura capaz de
ejecutar dos operaciones a la vez, gracias a sus dos pipeline de
datos de 32bits cada uno, uno equivalente al 486DX(u) y el otro
equivalente a 486SX(u). Adems, estaba dotado de un bus de datos
de 64 bits, y permita un acceso a memoria de 64 bits (aunque el
procesador segua manteniendo compatibilidad de 32 bits para las
operaciones internas, y los registros tambin eran de 32 bits). Las
versiones que incluan instrucciones MMX no slo brindaban al
18

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

usuario un ms eficiente manejo de aplicaciones multimedia, como


por ejemplo, la lectura de pelculas en DVD, sino que tambin se
ofrecan en velocidades de hasta 233 MHz. Se incluy una versin de
200 MHz y la ms bsica trabajaba a alrededor de 166 MHz de
frecuencia de reloj. El nombre Pentium, se mencion en las
historietas y en charlas de la televisin a diario, en realidad se volvi
una palabra muy popular poco despus de su introduccin.

1994: EL PowerPC 620

En este ao IBM y Motorola desarrollan el primer prototipo del


procesador PowerPC de 64 bit[2], la implementacin ms avanzada
de la arquitectura PowerPC, que estuvo disponible al ao prximo. El
620 fue diseado para su utilizacin en servidores, y especialmente
optimizado para usarlo en configuraciones de cuatro y hasta ocho
procesadores en servidores de aplicaciones debase de datos y vdeo.
Este procesador incorpora siete millones de transistores y corre a
133 MHz. Es ofrecido como un puente de migracin para aquellos
usuarios que quieren utilizar aplicaciones de 64 bits, sin tener que
renunciar a ejecutar aplicaciones de 32 bits.

1995: EL Intel Pentium Pro

Lanzado al mercado para el otoo de 1995, el procesador Pentium


Pro (profesional) se dise con una arquitectura de 32 bits. Se us
en servidores y los programas y aplicaciones para estaciones de
trabajo (de redes) impulsaron rpidamente su integracin en las
computadoras. El rendimiento del cdigo de 32 bits era excelente,
pero el Pentium Pro a menudo era ms lento que un Pentium cuando
ejecutaba cdigo o sistemas operativos de 16 bits. El procesador
Pentium Pro estaba compuesto por alrededor de 5,5 millones de
transistores.

1996: El AMD K5

El AMD
K5 es
un microprocesador tipo
x86,
rival
directo
del Intel Pentium. Fue el primer procesador propio que desarroll
AMD.
La arquitectura RISC86 del AMD K5 era ms semejante a la
arquitectura del Intel Pentium Pro que a la del Pentium. El K5 es
internamente un procesador RISC con una Unidad x86decodificadora que transforma todos los comandos x86 de la
aplicacin en comandos RISC. Este principio se usa hasta hoy en
todos los CPUs x86.

19

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Habiendo abandonado los clones, AMD fabricada con tecnologas


anlogas a Intel. AMD sac al mercado su primer procesador propio,
el K5, rival del Pentium. La arquitectura RISC86 del AMD K5 era ms
semejante a la arquitectura del Intel Pentium Pro que a la del
Pentium. El K5 es internamente un procesador RISC con una Unidad
x86- decodificadora, transforma todos los comandos x86 (de la
aplicacin en curso) en comandos RISC. Este principio se usa hasta
hoy en todas las CPU x86. En la mayora de los aspectos era superior
el K5 al Pentium, incluso de inferior precio, sin embargo AMD tena
poca experiencia en el desarrollo de microprocesadores y los
diferentes hitos de produccin marcados se fueron superando con
poco xito, se retras 1 ao de su salida al mercado, a razn de ello
sus frecuencias de trabajo eran inferiores a las de la competencia, y
por tanto, los fabricantes de PC dieron por sentado que era inferior.

1996: Los AMD K6 y AMD K6-2

El K6-2 es
un microprocesador x86 manufacturado
por AMD,
disponible en velocidades desde los 233 a los 570 MHz. Tiene
un cach de nivel 1 de 64 KiB (32 KiB de instrucciones y 32 KiB de
datos), funciona desde 2,2 a 2,4 voltios, fue manufacturado usando
0,25 micras, tiene 9,3 millones de transistores, y usa un
socket Socket 7 o Super Socket 7.
Con el K6, AMD no slo consigui hacerle seriamente la competencia
a los Pentium MMX de Intel, sino que adems amarg lo que de otra
forma hubiese sido un plcido dominio del mercado, ofreciendo un
procesador casi a la altura del Pentium II pero por un precio muy
inferior. En clculos en coma flotante, el K6 tambin qued por
debajo del Pentium II, pero por encima del Pentium MMX y del Pro. El
K6 cont con una gama que va desde los 166 hasta los ms de 500
20

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Mhz y con el juego de instrucciones MMX, que ya se han convertido


en estndares.
Ms adelante se lanz una mejora de los K6, los K6-2 de 250
nanmetros, para seguir compitiendo con los Pentium II, siendo ste
ltimo superior en tareas de coma flotante, pero inferior en tareas
de
uso
general.
Se
introduce
un
juego
de
instrucciones SIMD denominado 3DNow!

1997: El Intel Pentium II

El Pentium II es un microprocesador con arquitectura x86 diseado


por Intel, introducido en el mercado el 7 de mayo de 1997. Est
basado en una versin modificada del ncleo P6, usado por primera
vez en el Intel Pentium Pro.
Un procesador de 7,5 millones de transistores, se busca entre los
cambios fundamentales con respecto a su predecesor, mejorar el
rendimiento en la ejecucin de cdigo de 16 bits, aadir el conjunto
de instrucciones MMX y eliminar la memoria cach de segundo nivel
del ncleo del procesador, colocndola en una tarjeta de circuito
impreso junto a ste. Gracias al nuevo diseo de este procesador,
los usuarios de PC pueden capturar, revisar y compartir fotografas
digitales con amigos y familia va Internet; revisar y agregar texto,
msica y otros; con una lnea telefnica; el enviar vdeo a travs de
las lneas normales del telfono mediante Internet se convierte en
algo cotidiano.

21

1998: El Intel Pentium II Xeon

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Xeon esuna
familia
de microprocesadores Intel para
servidores PC y Macintosh. Los procesadores Pentium II Xeon se
disean para cumplir con los requisitos de desempeo en
computadoras de medio-rango, servidores ms potentes y
estaciones de trabajo. Consistente con la estrategia de Intel para
disear productos de procesadores con el objetivo de llenar
segmentos de los mercados especficos, el procesador Pentium II
Xeon ofrece innovaciones tcnicas diseadas para las estaciones de
trabajo y servidores que utilizan aplicaciones comerciales exigentes,
como servicios de Internet, almacenamiento de datos corporativos,
creaciones digitales y otros. Pueden configurarse sistemas basados
en este procesador para integrar de cuatro o ocho procesadores
trabajando en paralelo, tambin ms all de esa cantidad.

1999: El Intel Celeron

Celeron es el nombre que lleva la lnea de microprocesadores de


bajo costo de Intel. El objetivo era poder, mediante esta segunda
marca, penetrar en los mercados cerrados a los Pentium, de mayor
rendimiento y precio.
El primer Celeron fue lanzado en agosto de 1998, y estaba basado
en el Intel Pentium II. Posteriormente, salieron nuevos modelos
basados en las tecnologas Intel Pentium III, Intel Pentium 4 e Intel
Core 2 Duo. El ms reciente esta basado en el Core 2 Duo
(Allendale).
Continuando la estrategia, Intel, en el desarrollo de procesadores
para los segmentos del mercado especficos, el procesador Celeron
es el nombre que lleva la lnea de bajo costo de Intel. El objetivo fue
poder, mediante sta segunda marca, penetrar en los mercados
impedidos a los Pentium, de mayor rendimiento y precio. Se disea
para el aadir valor al segmento del mercado de los PC. Proporcion
a los consumidores una gran actuacin a un bajo coste, y entreg un
desempeo destacado para usos como juegos y el software
educativo.

22

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

1999: El AMD Athlon K7 (Classic y Thunderbird)

Athlon es
el
nombre
que
de microprocesadores compatibles
diseados por AMD.

recibe
una
gama
con
la arquitectura x86,

El Athlon original, Athlon Classic, fue el primer procesador x86 de


sptima generacin y en un principio mantuvo su liderazgo de
rendimiento
sobre
los
microprocesadores
de Intel. AMD ha
continuado usando el nombre Athlon para sus procesadores de
octava generacin Athlon 64.
Procesador totalmente compatible con la arquitectura x86.
Internamente el Athlon es un rediseo de su antecesor, pero se le
mejor substancialmente el sistema de coma flotante (ahora con 3
unidades de coma flotante que pueden trabajar simultneamente) y
se le increment la memoria cach de primer nivel (L1) a 128 KiB
(64 KiB para datos y 64 KiB para instrucciones). Adems incluye 512
KiB de cach de segundo nivel (L2). El resultado fue el
procesador x86 ms potente del momento.
El procesador Athlon con ncleo Thunderbird apareci como la
evolucin del Athlon Classic. Al igual que su predecesor, tambin se
basa en la arquitectura x86 y usa el bus EV6. El proceso de
fabricacin usado para todos estos microprocesadores es de
180 nanmetros. El Athlon Thunderbird consolid a AMD como la
segunda mayor compaa de fabricacin de microprocesadores, ya
que gracias a su excelente rendimiento (superando siempre al
Pentium III y a los primeros Pentium IV de Intel a la misma frecuencia
de reloj) y bajo precio, la hicieron muy popular tanto entre los
entendidos como en los iniciados en la informtica.

23

1999: El Intel Pentium III


Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

El Pentium III es un microprocesador de arquitectura i686 fabricado y


distribuido por Intel; el cual es una modificacin del Pentium Pro. Fue
lanzado el 26 de febrero de 1999.
Ofrece 70 nuevas instrucciones Internet Streaming, las extensiones
de SIMD que refuerzan dramticamente el desempeo con imgenes
avanzadas, 3D, aadiendo una mejor calidad de audio, video y
desempeo en aplicaciones de reconocimiento de voz. Fue diseado
para reforzar el rea del desempeo en el Internet, les permite a los
usuarios hacer cosas, tales como, navegar a travs de pginas
pesadas (con muchos grficos), tiendas virtuales y transmitir
archivos video de alta calidad. El procesador se integra con 9,5
millones de transistores, y se introdujo usando en l tecnologa 250
nanmetros.

1999: El Intel Pentium III Xeon

El procesador Pentium III Xeon ampla las fortalezas de Intel en


cuanto a las estaciones de trabajo (workstation) y segmentos de
mercado de servidores, y aade una actuacin mejorada en las
aplicaciones del comercio electrnico e informtica comercial
avanzada. Los procesadores incorporan mejoras que refuerzan el
procesamiento multimedia, particularmente las aplicaciones de
vdeo. La tecnologa del procesador III Xeon acelera la transmisin de
informacin a travs del bus del sistema al procesador, mejorando el
desempeo significativamente. Se disea pensando principalmente
en los sistemas con configuraciones de multiprocesador.

2000: EL Intel Pentium 4

Este es un microprocesador de sptima generacin basado en


la arquitectura x86 y fabricado por Intel. Es el primero con un diseo
completamente nuevo desde el Pentium Pro. Se estren la
arquitectura NetBurst, la cual no daba mejoras considerables
respecto a la anterior P6. Intel sacrific el rendimiento de cada ciclo
24

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

para obtener a cambio mayor cantidad de ciclos por segundo y una


mejora en las instrucciones SSE.
Es el primer microprocesador con un diseo completamente nuevo
desde el Pentium Pro de 1995. El Pentium 4 original, denominado
Willamette, trabajaba a 1,4 y 1,5 GHz; y fue lanzado el 20 de
noviembre de 2000.1 El 8 de agosto de 2008 se realiza el ltimo
envo de Pentium 4,2 siendo sustituido por los Intel CoreDuo.
Para la sorpresa de la industria informtica, la nueva
microarquitectura NetBurst del Pentium 4 no mejor el viejo diseo
de la microarquitectura Intel P6 segn las dos tradicionales formas
para medir el rendimiento: velocidad en el proceso de enteros u
operaciones de coma flotante. La estrategia de Intel fue sacrificar el
rendimiento de cada ciclo para obtener a cambio mayor cantidad de
ciclos por segundo y una mejora en las instrucciones SSE. En 2004,
se agreg el conjunto de instrucciones x86-64 de 64 bits al
tradicional set x86 de 32 bits. Al igual que los Pentium II y Pentium
III, el Pentium 4 se comercializa en una versin para equipos de bajo
presupuesto (Celeron), y una orientada a servidores de gama alta
(Xeon).

2001: El AMD Athlon XP

Cuando Intel sac el Pentium 4 a 1,7 GHz en abril de 2001 se vio que
el Athlon Thunderbird no estaba a su nivel. Adems no era prctico
para el overclocking, entonces para seguir estando a la cabeza en
cuanto a rendimiento de los procesadores x86, AMD tuvo que
disear un nuevo ncleo, y sac el Athlon XP. Este compatibilizaba
las instrucciones SSE y las 3DNow! Entre las mejoras respecto al
Thunderbird se puede mencionar lapre recuperacin de datos por
hardware, conocida en ingls como prefetch, y el aumento de las
entradas TLB, de 24 a 32.

2004: El Intel Pentium 4 (Prescott)

A principios de febrero de 2004, Intel introdujo una nueva versin de


Pentium 4 denominada 'Prescott'. Primero se utiliz en su
manufactura un proceso de fabricacin de 90 nm y luego se cambi
a 65nm. Su diferencia con los anteriores es que stos poseen 1 MiB
o 2 MiB de cach L2 y 16 KiB de cach L1 (el doble que los
Northwood), prevencin de ejecucin, SpeedStep, C1E State, un
HyperThreading
mejorado,
instrucciones SSE3,
manejo
de
instrucciones AMD64, de 64 bits creadas por AMD, pero
denominadas EM64T por Intel, sin embargo por graves problemas de
temperatura y consumo, resultaron un fracaso frente a los Athlon 64.
25

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

2004: El AMD Athlon 64

El AMD Athlon 64 es un microprocesador x86 de octava generacin


que implementa el conjunto de instrucciones AMD64, que fueron
introducidas con el procesador Opteron. El Athlon 64 presenta un
controlador de memoria en el propio circuito integrado del
microprocesador y otras mejoras de arquitectura que le dan un
mejor rendimiento que los anteriores Athlon y que el Athlon XP
funcionando a la misma velocidad, incluso ejecutando cdigo
heredado de 32 bits.El Athlon 64 tambin presenta una tecnologa
de reduccin de la velocidad del procesador llamada Cool'n'Quiet,:
cuando el usuario est ejecutando aplicaciones que requieren poco
uso del procesador, baja la velocidad del mismo y su tensin se
reduce.

2006: EL Intel CoreDuo

Intel CoreDuo es un microprocesador de sexta generacin lanzado


en enero del 2006 por Intel, posterior al Pentium D y antecesor
al Core 2 Duo. Dispone de dos ncleos de ejecucin lo cual hace de
este
procesador
especial
para
las aplicaciones de subprocesos mltiples y para multitarea. Puede
ejecutar varias aplicaciones exigentes simultneamente, como
juegos con grficos potentes o programas que requieran muchos
clculos, al mismo tiempo que permite descargar msica o analizar
el PC con un antivirus en segundo plano, por ejemplo.
El CoreDuo contiene 151 millones de transistores, incluyendo a la
memoria cach de 2MiB. El ncleo de ejecucin del procesador
contiene un pipeline de 12 etapas con velocidades previstas de
ejecucin entre 1,06 y 2,50 GHz. La comunicacin entre la cach L2
y los dos ncleos de ejecucin es controlada por un mdulo de bus
rbitro que elimina el trfico de coherencia a travs del bus frontal
(FSB), con el costo de elevar la latencia de la comunicacin de
ncleo-a-L2 de 10 ciclos de reloj (en el Pentium M) a 14 ciclos de
reloj. El incremento de la frecuencia de reloj contrapesa el impacto
del incremento en la latencia.
Intel CoreDuo fue el primer microprocesador de Intel usado en las
computadoras Apple Macintosh. Existe tambin una versin con slo
un ncleo denominada Core Solo.
Intel lanz sta gama de procesadores de doble ncleo y CPUs 2x2
MCM (mdulo Multi-Chip) de cuatro ncleos con el conjunto de
instrucciones x86-64, basado en el la nueva arquitectura Core de
Intel. La microarquitectura Core regres a velocidades de CPU bajas
y mejor el uso del procesador de ambos ciclos de velocidad y
26

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

energa comparados con anteriores NetBurst de los CPU Pentium


4/D2. La microarquitecturaCore provee etapas de decodificacin,
unidades de ejecucin, cach y buses ms eficientes, reduciendo el
consumo de energa de CPU Core 2, mientras se incrementa la
capacidad de procesamiento. Los CPU de Intel han variado muy
bruscamente en consumo de energa de acuerdo a velocidad de
procesador, arquitectura y procesos de semiconductor, mostrado en
las tablas de disipacin de energa del CPU. Esta gama de
procesadores fueron fabricados de 65 a 45 nanmetros.

2007: El AMD Phenom

Phenom fue el nombre dado por Advanced Micro Devices (AMD) a la


primera generacin de procesadores de tres y cuatro ncleos
basados en la microarquitectura K10. Como caracterstica comn
todos los Phenom tienen tecnologa de 65 nanmetros lograda a
travs de tecnologa de fabricacin Silicononinsulator (SOI). No
obstante, Intel, ya se encontraba fabricando mediante la ms
avanzada tecnologa de proceso de 45 nm en 2008. Los
procesadores Phenom estn diseados para facilitar el uso
inteligente de energa y recursos del sistema, listos para la
virtualizacin, generando un ptimo rendimiento por vatio. Todas las
CPU Phenom poseen caractersticas tales como controlador de
memoria DDR2 integrado, tecnologa HyperTransport y unidades
de coma flotante de 128 bits, para incrementar la velocidad y el
rendimiento de los clculos de coma flotante. La arquitectura
DirectConnect asegura que los cuatro ncleos tengan un ptimo
acceso al controlador integrado de memoria, logrando un ancho de
banda de 16 Gb/s para intercomunicacin de los ncleos del
microprocesador y la tecnologa HyperTransport, de manera que las
escalas de rendimiento mejoren con el nmero de ncleos. Tiene
cach L3 compartida para un acceso ms rpido a los datos (y as no
depende tanto del tiempo de latencia de la RAM), adems de
compatibilidad de infraestructura de los zcalos AM2, AM2+ y AM3
para permitir un camino de actualizacin sin sobresaltos. A pesar de
todo, no llegaron a igualar el rendimiento de la serie Core 2 Duo.

2008: El Intel CoreNehalem

Intel Core i7 es una familia de procesadores de cuatro ncleos de la


arquitectura Intel x86-64. Los Core i7 son los primeros procesadores
que usan la microarquitecturaNehalem de Intel y es el sucesor de la
familia Intel Core 2. FSB es reemplazado por la interfaz QuickPath en
i7 e i5 (zcalo 1366), y sustituido a su vez en i7, i5 e i3 (zcalo 1156)
por el DMI eliminado el northBrige e implementando puertos PCI
Express directamente. Memoria de tres canales (ancho de datos de
27

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

192 bits): cada canal puede soportar una o dos memorias DIMM
DDR3. Las placa base compatibles con Core i7 tienen cuatro (3+1) o
seis ranuras DIMM en lugar de dos o cuatro, y las DIMMs deben ser
instaladas en grupos de tres, no dos. El Hyperthreading fue
reimplementado creando ncleos lgicos. Est fabricado a
arquitecturas de 45 nm y 32 nm y posee 731 millones de
transistores su versin ms potente. Se volvi a usar frecuencias
altas, aunque a contrapartida los consumos se dispararon.

2008: Los AMD Phenom II y Athlon II

Phenom II es el nombre dado por AMD a una familia de


microprocesadores o CPUsmultincleo (multicore) fabricados en 45
nm, la cual sucede al Phenom original y dieron soporte a DDR3. Una
de las ventajas del paso de los 65 nm a los 45 nm, es que permiti
aumentar la cantidad de cach L3. De hecho, sta se increment de
una manera generosa, pasando de los 2 MiB del Phenom original a 6
MiB.
Entre ellos, el AmdPhenom II X2 BE 555 de doble ncleo surge como
el procesador bincleo del mercado. Tambin se lanzan tres Athlon II
con slo Cach L2, pero con buena relacin precio/rendimiento. El
Amd Athlon II X4 630 corre a 2,8 GHz. El Amd Athlon II X4 635
contina la misma lnea.
AMD tambin lanza un triple ncleo, llamado Athlon II X3 440, as
como un doble ncleo Athlon II X2 255. Tambin sale el Phenom X4
995, de cuatro ncleos, que corre a ms de 3,2GHz. Tambin AMD
lanza la familia Thurban con 6 ncleos fsicos dentro del encapsulado

2011: El Intel Core Sandy Bridge

Llegan para remplazar los chips Nehalem, con Intel Core i3, Intel
Core i5 e Intel Core i7 serie 2000 y Pentium G.
Intel lanz sus procesadores que se conocen con el nombre en clave
Sandy Bridge. Estos procesadores Intel Core que no tienen
sustanciales cambios en arquitectura respecto a nehalem, pero si los
necesarios para hacerlos ms eficientes y rpidos que los modelos
anteriores. Es la segunda generacin de los Intel Core con nuevas
instrucciones de 256 bits, duplicando el rendimiento, mejorando el
desempeo en 3D y todo lo que se relacione con operacin en
multimedia. Llegaron la primera semana de Enero del 2011. Incluye
nuevo conjunto de instrucciones denominado AVX y una GPU
integrada de hasta 12 unidades de ejecucin

28

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Ivy Bridge es la mejora de sandy bridge a 22 nm. Se estima su


llegada para 2012 y promete una mejora de la GPU, as como
procesadores de sexdcuple ncleo en gamas ms altas y cudruple
ncleo en las ms bajas, abandonndose los procesadores de ncleo
doble.

2011: El AMD Fusion

AMD Fusion es el nombre clave para un diseo futuro de


microprocesadores Turion, producto de la fusin entre AMD y ATI,
combinando con la ejecucin general del procesador, el proceso de
la geometra 3D y otras funciones de GPUs actuales.
La GPU (procesador grfico) estar integrada en el propio
microprocesador. Se espera la salida progresiva de esta tecnologa a
lo largo del 2011; estando disponibles los primeros modelos (Ontaro
y Zacate) para ordenadores de bajo consumo entre ltimos meses
de 2010 y primeros de 2011, dejando el legado de las gamas medias
y altas (Llano, Brazos y Bulldozer para mediados o finales del 2011).

5. FABRICACIN
5.1.

Procesadores de silicio

El proceso de fabricacin de un microprocesador es muy complejo.


Todo comienza con un buen puado de arena (compuesta
bsicamente de silicio), con la que se fabrica un monocristal de
unos 20 x 150 centmetros. Para ello, se funde el material en
cuestin a alta temperatura (1.370 C) y muy lentamente (10 a40
Mm por hora) se va formando el cristal.
De este cristal, de cientos de kilos de peso, se cortan los extremos
y la superficie exterior, de forma de obtener un cilindro perfecto.
Luego, el cilindro se corta en obleas de 10 micras de espesor, la
dcima parte del espesor de un cabello humano, utilizando una
sierra de diamante. De cada cilindro se obtienen miles de obleas, y
de cada oblea se fabricarn varios cientos de microprocesadores.
Estas obleas son pulidas hasta obtener una superficie
perfectamente plana, pasan por un proceso llamado annealing,
que consiste en someterlas a un calentamiento extremo para
remover cualquier defecto o impureza que pueda haber llegado a
esta instancia. Despus de una supervisin mediante lseres capaz
de detectar imperfecciones menores a una milsima de micra, se
recubren con una capa aislante formada por xido de silicio
29

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

transferido mediante deposicin de vapor.


De aqu en adelante, comienza el
proceso
del
dibujado
de
los
transistores que conformarn a cada
microprocesador. A pesar de ser muy
complejo
y
preciso,
bsicamente
consiste
en
la
impresin
de
sucesivas mscaras sobre la oblea,
sucedindose
la
deposicin
y
eliminacin de capas finsimas de materiales conductores, aislantes
y semiconductores, endurecidas mediante luz ultravioleta y
atacada por cidos encargados de remover las zonas no cubiertas
por la impresin. Salvando las escalas, se trata de un proceso
comparable al visto para la fabricacin de circuitos impresos.
Despus de cientos de pasos, entre los que se hallan la creacin de
sustrato, la oxidacin, la litografa, el grabado, la implantacin
inica y la deposicin de capas; se llega a un complejo "bocadillo"
que
contiene
todos
los
circuitos
interconectados
del
microprocesador.
Un transistor construido en tecnologa de 45 nanmetros tiene un
ancho equivalente a unos 200 electrones. Eso da una idea de la
precisin absoluta que se necesita al momento de aplicar cada una
de las mscaras utilizadas durante la fabricacin.
Los detalles de un microprocesador son tan pequeos y precisos
que una nica mota de polvo puede destruir todo un grupo de
circuitos. Las salas empleadas para la
fabricacin
de
microprocesadores
se
denominan salas limpias, porque el aire de
las mismas se somete a un filtrado
exhaustivo y est prcticamente libre de
polvo. Las salas limpias ms puras de la
actualidad se denominan de clase 1. La cifra
indica el nmero mximo de partculas
mayores de 0,12 micras que puede haber en
un pie cbico (0,028 m3) de aire. Como comparacin, un hogar
normal sera de clase 1 milln. Los trabajadores de estas plantas
emplean trajes estriles para evitar que restos de piel, polvo o pelo
se desprendan de sus cuerpos.
Una vez que la oblea ha pasado por todo el proceso litogrfico,
tiene
grabados
en
su
superficie
varios
cientos
de
microprocesadores, cuya integridad es comprobada antes de
cortarlos. Se trata de un proceso obviamente automatizado, y que
30

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

termina con una oblea que tiene grabados algunas marcas en el


lugar que se encuentra algn microprocesador defectuoso.
La mayora de los errores se dan en los bordes de la oblea, dando
como resultados chips capaces de funcionar a velocidades menores
que los del centro de la oblea o simplemente con caractersticas
desactivadas, tales como ncleos. Luego la oblea es cortada y cada
chip individualizado. En esta etapa del proceso el microprocesador
es una pequea placa de unos pocos milmetros cuadrados, sin
pines ni cpsula protectora.
Cada una de estas plaquitas ser dotada de una cpsula protectora
plstica (en algunos casos pueden ser cermicas) y conectada a los
cientos de pines metlicos que le permitirn interactuar con el
mundo exterior. Cada una de estas conexiones se realiza utilizando
delgadsimos alambres, generalmente de oro. De ser necesario, la
cpsula es dotada de un pequeo disipador trmico de metal, que
servir para mejorar la transferencia de calor desde el interior del
chip hacia el disipador principal. El resultado final es un
microprocesador como el que equipa nuestro ordenador.

5.2. Procesadores hechos de otros materiales


Aunque la gran mayora de la produccin de circuitos integrados se
basa en el silicio, no se puede omitir la utilizacin de otros
materiales tales como el germanio; tampoco las investigaciones
actuales para conseguir hacer operativo un procesador
desarrollado con materiales de caractersticas especiales como el
grafeno.
Los microprocesadores son circuitos integrados y como tal estn
formados por un chip de silicio y un empaque con conexiones
elctricas. En los primeros procesadores el empaque se fabricaba
con plsticos epxidos o con cermicas en formatos como el DIP
entre otros. El chip se pegaba con un material trmicamente
conductor a una base y se conectaba por medio de pequeos
alambres a unas pistas terminadas en pines. Posteriormente se
sellaba todo con una placa metlica u otra pieza del mismo
material de la base de manera que los alambres y el silicio
quedaran encapsulados.
En la actualidad los microprocesadores de diversos tipos
(incluyendo procesadores grficos) se ensamblan por medio de la
tecnologa Flip chip. El chip semiconductor es soldado directamente
31

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

a un arreglo de pistas conductoras (en el sustrato laminado) con la


ayuda de unas microesferas que se depositan sobre las obleas de
semiconductor en las etapas finales de su fabricacin. El sustrato
laminado es una especie de circuito impreso que posee pistas
conductoras hacia pines o contactos, que a su vez servirn de
conexin entre el chip semiconductor y un zcalo de CPU o una
placa base.
Antiguamente la conexin del chip con los pines se realizaba por
medio de microalambres de manera que quedaba boca arriba, con
el mtodo Flip Chip queda boca abajo, de ah se deriva su nombre.
Entre las ventajas de este mtodo esta la simplicidad del ensamble
y en una mejor disipacin de calor. Cuando la pastilla queda
bocabajo presenta el sustrato base de silicio de manera que puede
ser enfriado directamente por medio de elementos conductores de
calor. Esta superficie se aprovecha tambin para etiquetar el
integrado. En los procesadores para computadores de escritorio,
dada la vulnerabilidad de la pastilla de silicio, se opta por colocar
una placa de metal, por ejemplo en los procesadores Athlon como
el de la primera imagen. En los procesadores de Intel tambin se
incluye desde el Pentium III de ms de 1 Ghz.

5.3. Disipacin de calor


Con el aumento la cantidad de transistores integrados en un
procesador, el consumo de energa se ha elevado a niveles en los
cuales la disipacin calrica natural del mismo no es suficiente para
mantener temperaturas aceptables y que no se dae el material
semiconductor, de manera que se hizo necesario el uso de
mecanismos de enfriamiento forzado, esto es, la utilizacin de
disipadores de calor.
Entre ellos se encuentran los sistemas sencillos, tales como
disipadores metlicos, que aumentan el rea de radiacin,
permitiendo que la energa salga rpidamente del sistema. Tambin
los hay con refrigeracin lquida, por medio de circuitos cerrados.
En los procesadores ms modernos se aplica en la parte superior
del procesador, una lmina metlica denominada IHS que va a ser
la superficie de contacto del disipador para mejorar la refrigeracin
uniforme del die y proteger las resistencias internas de posibles
tomas de contacto al aplicar pasta trmica. Varios modelos de
procesadores, en especial, los Athlon XP, han sufrido cortocircuitos
debido a una incorrecta aplicacin de la pasta trmica.
32

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Para las prcticas de overclock extremo, se llegan a utilizar


elementos qumicos tales como hielo seco, y en casos ms
extremos, nitrgeno lquido, capaces de rondar temperaturas por
debajo de los -190 grados Celsius y el helio lquido capaz de rondar
temperaturas muy prximas al cero absoluto. De esta manera se
puede prcticamente hasta triplicar la frecuencia de reloj de
referencia de un procesador de silicio. El lmite fsico del silicio es
de 10 GHz, mientras que el de otros materiales como el grafeno
puede llegar a 1 THz.

5.4. Conexin con el exterior


El microprocesador posee un arreglo de elementos metlicos que
permiten la conexin elctrica entre el circuito integrado que
conforma el microprocesador y los circuitos de la placa base.
Dependiendo de la complejidad y de la potencia, un procesador
puede tener desde 8 hasta ms de 2000 elementos metlicos en la
superficie de su empaque. El montaje del procesador se realiza con
la ayuda de un Zcalo de CPU soldado sobre la placa base.
Generalmente distinguimos tres tipos de conexin:
PGA: Pin GridArray: La conexin se realiza mediante pequeos
alambres metlicos repartidos a lo largo de la base del procesador
introducindose en la placa base mediante unos pequeos
agujeros, al introducir el procesador, una palanca anclar los pines
para que haga buen contacto y no se suelten.
BGA: BallGridArray: La conexin se realiza mediante bolas soldadas
al procesador que hacen contacto con el zcalo
LGA: LandGridArray: La conexin se realiza mediante superficies de
contacto lisas con pequeos pines que incluye la placa base.
Entre las conexiones elctricas estn las de alimentacin elctrica
de los circuitos dentro del empaque, las seales de reloj, seales
relacionadas con datos, direcciones y control; estas funciones estn
distribuidas en un esquema asociado al zcalo, de manera que
varias referencias de procesador y placas base son compatibles
entre ellos, permitiendo distintas configuraciones.

5.5. Buses del procesador


Todos los procesadores poseen un bus principal o de sistema por el
cual se envan y reciben todos los datos, instrucciones y
direcciones desde los integrados del chipset o desde el resto de
dispositivos. Como puente de conexin entre el procesador y el

33

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

resto del sistema, define mucho del rendimiento del sistema, su


velocidad se mide en bits por segundo.
Ese bus puede ser implementado de distintas maneras, con el uso
de buses seriales o paralelos y con distintos tipos de seales
elctricas. La forma ms antigua es el bus paralelo en el cual se
definen lneas especializadas en datos, direcciones y para control.
En la arquitectura tradicional de Intel (usada hasta modelos
recientes), ese bus se llama el Front Side Bus y es de tipo paralelo
con 64 lneas de datos, 32 de direcciones adems de mltiples
lneas de control que permiten la transmisin de datos entre el
procesador y el resto del sistema. Este esquema se ha utilizado
desde el primer procesador de la historia, con mejoras en la
sealizacin que le permite funcionar con relojes de 333 Mhz
haciendo 4 transferencias por ciclo.[4]
En algunos procesadores de AMD y en el Intel Core i7 se han usado
otros tipos para el bus principal de tipo serial. Entre estos se
encuentra el bus HyperTransport de AMD, que maneja los datos en
forma de paquetes usando una cantidad menor de lneas de
comunicacin, permitiendo frecuencias de funcionamiento ms
altas y en el caso de Intel, Quickpath
Los microprocesadores de Intel y de AMD (desde antes) poseen
adems un controlador de memoria DDR en el interior del
encapsulado lo que hace necesario la implementacin de buses de
memoria del procesador hacia los mdulos. Ese bus esta de
acuerdo a los estndares DDR de JEDEC y consisten en lneas de
bus paralelo, para datos, direcciones y control. Dependiendo de la
cantidad de canales pueden existir de 1 a 4 buses de memoria.

6. FUNCIONAMIENTO
La operacin fundamental de la mayora de los CPU, es ejecutar una
secuencia de instrucciones almacenadas llamadas "programa". El
programa es representado por una serie de nmeros que se
mantienen en una cierta clase de memoria de computador.
Hay cuatro pasos que usan en su operacin: fetch, decode, execute,
y writeback, (leer, decodificar, ejecutar, y escribir).

34

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Fetch: Implica el recuperar una instruccin de la memoria de


programa. La localizacin en la memoria del programa es
determinada por un contador de programa (PC), que almacena un
nmero que identifica la posicin actual en el programa.

Decode: En el paso de decodificacin, la instruccin es dividida


en partes.

Execute: Durante este paso, varias unidades del CPU son conectadas
de tal manera que ellas pueden realizar la operacin deseada. Si,
por ejemplo, una operacin de adicin fue solicitada, una unidad
aritmtico lgica (ALU) ser conectada a un conjunto de entradas y
un conjunto de salidas. Las entradas proporcionan los nmeros a ser
sumados, y las salidas contendrn la suma final.

Writeback: En esta fase simplemente se "escribe" los resultados del


paso de ejecucin a una cierta forma de memoria. Muy a menudo,
los resultados son escritos a algn registro interno del CPU para
acceso rpido por subsecuentes instrucciones. En otros casos los
resultados pueden ser escritos a una memoria principal ms lenta
pero ms barata y ms grande.
Despus de la ejecucin de la instruccin y la escritura de los datos
resultantes, el proceso entero se repite con el siguiente ciclo de
instruccin, normalmente leyendo la siguiente instruccin en
secuencia debido al valor incrementado en el contador de programa.
Si la instruccin completada era un salto, el contador de programa
ser modificado para contener la direccin de la instruccin a la cual
se salt, y la ejecucin del programa contina normalmente.

7. ARQUITECTURA
Una de las primeras decisiones a la hora de disear
un microprocesador es decidir cul ser su juego de instrucciones.
La decisin es trascendente por dos razones; primero, el juego de
instrucciones decide el diseo fsico del conjunto; segundo, cualquier
operacin
que
deba
ejecutarse
en
el
microprocesador
deber poder ser descrita en trminos de un lenguaje de estas
instrucciones. Frente a esta cuestin caben dos filosofas de diseo;
CISC y RISC.

6.1 Arquitectura CISC


35

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

La tecnologa CISC (ComplexInstruction Set Computer) naci de la


mano de Intel, creador en 1971 del primer microchip que permitira
el nacimiento de la informtica personal. Los microprocesadores
CISC tienen un conjunto de instrucciones que se caracteriza por ser
muy amplio y permitir operaciones complejas entre operandos
situados en la memoria o en los registros internos.
Este tipo de arquitectura dificulta el paralelismo entre
instrucciones, por lo que en la actualidad la mayora de
los sistemas CISC de alto rendimiento implementan un sistema que
convierte dichas instrucciones complejas en varias instrucciones
simples, llamadas generalmente microinstrucciones.
La microprogramacin es una caracterstica importante y esencial
de casi todas las arquitecturas CISC. La microprogramacin
significa que cada instruccin de mquina es interpretada por un
microprograma localizado en una memoria en el circuito integrado
del procesador. Las instrucciones compuestas son decodificadas
internamente y ejecutadas con una serie de microinstrucciones
almacenadas en una ROM interna. Para esto se requieren de varios
ciclos de reloj, al menos uno por microinstruccin. Es as entonces
como los chips CISC utilizan comandos que incorporan una gran
diversidad de pequeas instrucciones para realizar una nica
operacin.
Cuando el sistema operativo o una aplicacin requieren de una de
estas acciones, enva al procesador el nombre del comando para
realizarla junto con el resto de informacin complementaria que se
necesite. Pero cada uno de estos comandos de la ROM del CISC
varan de tamao y, por lo tanto, el chip debe en primer lugar
verificar cuanto espacio requiere el comando para ejecutarse y
poder as reservrselo en la memoria interna. Adems, el
procesador debe determinar la forma correcta de cargar y
almacenar el comando, procesos ambos que ralentizan el
rendimiento del sistema.
El procesador enva entonces el comando solicitado a una unidad
que lo descodifica en instrucciones ms pequeas que podrn ser
ejecutadas por un nanoprocesador, una especie de procesador
dentro del procesador. Y al no ser las instrucciones independientes,
pues son instrucciones menores procedentes de la descodificacin
de una instruccin mayor, slo puede realizarse una instruccin
cada vez.
A travs de la compleja circuitera del chip, el nanoprocesador
ejecuta cada una de las instrucciones del comando. El
desplazamiento por esta circuitera tambin ralentiza el proceso.
36

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Para realizar una sola instruccin un chip CISC requiere de cuatro a


diez ciclos de reloj.
Entre las bondades de CISC destacan las siguientes:

Reduce la dificultad de crear compiladores.

Permite reducir el costo total del sistema.

Reduce los costos de creacin de software.

Mejora la compactacin de cdigo.

Facilita la depuracin de errores.

6.2 Arquitectura RISC


Buscando aumentar la velocidad del procesamiento se descubri en
base a experimentos que, con una determinada arquitectura de
base, la ejecucin de programas compilados directamente con
microinstrucciones y residentes en memoria externa al circuito
integrado resultaban ser ms eficientes, gracias a que el tiempo de
acceso de las memorias se fue decrementando conforme se
mejoraba su tecnologa de encapsulado.
La idea estuvo inspirada tambin por el hecho de que muchas de
las caractersticas que eran incluidas en los diseos tradicionales
de CPU para aumentar la velocidad estaban siendo ignoradas por
los programas que eran ejecutados en ellas. Adems, la velocidad
del procesador en relacin con la memoria de la computadora que
acceda era cada vez ms alta.
Debido a que se tiene un conjunto de instrucciones simplificado,
stas se pueden implantar por hardware directamente en la CPU, lo
cual elimina el microcdigo y la necesidad de decodificar
instrucciones complejas.
La arquitectura RISC funciona de modo muy diferente a la CISC,
su objetivo no es ahorrar esfuerzos externos por parte
del software con sus accesos a la RAM, sino facilitar que las
instrucciones sean ejecutadas lo ms rpidamente posible. La
forma de conseguirlo es simplificando el tipo de instrucciones que
ejecuta el procesador. As, las instrucciones ms breves y sencillas
de un procesador RISC son capaces de ejecutarse mucho ms
aprisa que las instrucciones ms largas y complejas de un chip
37

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

CISC. Sin embargo, este diseo requiere de mucha ms RAM y de


una tecnologa de compilador ms avanzada.
La relativa sencillez de la arquitectura de los procesadores RISC
conduce a ciclos de diseo ms cortos cuando se desarrollan
nuevas versiones, lo que posibilita siempre la aplicacin de las ms
recientes
tecnologas
de semiconductores.
Por
ello,
los
procesadores RISC no solo tienden a ofrecer una capacidad de
procesamiento del sistema de 2 a 4 veces mayor, sino que los
saltos de capacidad que se producen de generacin en generacin
son mucho mayores que en los CISC.
Los comandos que incorpora el chip RISC en su ROM constan de
varias instrucciones pequeas que realizan una sola tarea. Las
aplicaciones son aqu las encargadas de indicar al procesador qu
combinacin de estas instrucciones debe ejecutar para completar
una operacin mayor.
Adems, los comandos de RISC son todos del mismo tamao y se
cargan y almacenan del mismo modo. Al ser estas instrucciones
pequeas y sencillas, no necesitan ser descodificadas en
instrucciones menores como en el caso de los chips CISC, pues ya
constituyen en s unidades descodificadas. Por ello, el procesador
RISC no gasta tiempo verificando el tamao del comando, en
descodificarlo ni en averiguar cmo cargarlo y guardarlo.
El procesador RISC puede adems ejecutar hasta 10 comandos a la
vez pues el compilador del software es el que determina qu
comandos son independientes y por ello es posible ejecutar varios
a la vez. Y al ser los comandos del RISC ms sencillos, la circuitera
por la que pasan tambin es ms sencilla. Estos comandos pasan
por menos transistores, de forma que se ejecutan con ms rapidez.
Para ejecutar una sola instruccin normalmente les basta con un
ciclo de reloj.
Entre las ventajas de RISC tenemos las siguientes:

La CPU trabaja ms rpido al utilizar menos ciclos de reloj para


ejecutar instrucciones.

Utiliza un sistema de direcciones no destructivas en RAM. Eso


significa que a diferencia de CISC, RISC conserva despus de
realizar sus operaciones en memoria los dos operandos y su
resultado, reduciendo la ejecucin de nuevas operaciones.

Cada instruccin puede ser ejecutada en un solo ciclo del CPU

38

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

7. CONCLUSIN
Hoy en da, los programas cada vez ms grandes y complejos
demandan mayor velocidad en el procesamiento de informacin, lo
que implica la bsqueda de microprocesadores ms rpidos y
eficientes.
Como usuarios debemos decidir qu tipo de arquitectura de
microprocesadores necesitamos en funcin a la aplicacin que se va
a realizar, y no slo fijarse en la capacidad que pueda alcanzar como
se hace comnmente.
Tengamos en cuenta que el microprocesador es un dispositivo muy
importante que durante mucho tiempo ha venido evolucionando,
mejorando sus diversas caractersticas y que no nos sorprenda sus
nuevas funcionalidades.

8. BIBLIOGRAFA

http://es.wikipedia.org/wiki/Microprocesador

http://equiposmicroinformaticos.wikispaces.com/Partes+principale
s+de+un+procesador

http://www.azc.uam.mx/publicaciones/enlinea2/num1/1-2.htm

http://www.monografias.com/trabajos55/microprocesadores-cisc
risc/microprocesadores-cisc-risc.shtml

VALOTARIO DE PREGUNTAS:
1. De qu se encarga el decodificador en la unidad de control?
2. Mencione las partes lgicas y fsicas de un microprocesador.
3. Qu es la ALU?
4. Qu son los registros?

5. Cules son las fases del funcionamiento de un procesador?


6. Cmo se caracteriza el conjunto de instrucciones de
arquitectura CISC?
7. Cules son las principales bondades de la arquitectura CISC?
8. Cules son las principales ventajas de la arquitectura RISC?
39

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

la

Ingeniera de Sistemas

9. Cuntos ciclos d reloj requiere un chip CISC y RISC para realizar


una sola instruccin?
10.
Qu es AMD Fusion?
11.
Qu es pipeline?
12.
Qu es la tecnologa Turbo Boost?
13.
Cul es la diferencia entre un procesador de doble ncleo
y un multiprocesador?
14.
Qu significa SOC?
15.
Cmo es el sistema de refrigeracin de un
microprocesador?

Fabricacin
[editar

BIBLIOGRAFA
file:///G:/expo%20arqui/Un%20chip%20experimental%20de%20Intel
%20con%2048%20n%C3%BAcleos.webm
file:///G:/expo%20arqui/LA%20HISTORIA%20DE%20INTEL.webm
file:///G:/expo%20arqui/evolucion%20reciente%20de%20los
%20microprocesadores.webm
40

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

VALOTARIO DE PREGUNTAS 2
1- que es un bus de datos
2- cual procesador tiene la arquitectura descubierta
3- que diferencia hay entre aquitecturamac y arquitectura intel
4- que es una velocidad de reloj
5- diferencia entre procesador core 2 duo y dual core
6- que es un procesador g
7- a cuantos nanometros se ha llegado a crear un procesador
8- que diferencia hay entre procesador intel y amd
9- que es un nucleo emulado o nucleologico
10- diferencia entre arquitectura 64x y 86x
11- que es la unidad aritmeticalogica
12- en que procesador se incluyo la unidad aritmeticalogica dentro de
si mismo
13- cuantos transistores tuvo el primer procesador intel 8086
14- que es un procesador multitarea
15- que es un bus de control

CAPTULO III
41

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

INTERACCIN
PROCESADOR MEMORIA

1. EL MICROPROCESADOR
El microprocesador, o simplemente el
micro, es el cerebro del ordenador. Es
un chip, un tipo de componente
electrnico en cuyo interior existen
miles (o millones) de elementos
llamados
transistores,
cuya
combinacin
permite
realizar
el
trabajo que tenga encomendado el
chip.
Los micros, como los llamaremos en adelante, suelen tener forma de
cuadrado o rectngulo negro, y van o bien sobre un elemento
llamado zcalo (socket en ingls) o soldados en la placa o, en el caso
del Pentium II, metidos dentro de una especie de cartucho que se
conecta a la placa base (aunque el chip en s est soldado en el
interior de dicho cartucho).
A veces al micro se le denomina CPU" (Central ProcessUnit, Unidad
Central de Proceso), aunque este trmino tiene cierta ambigedad,
pues tambin puede referirse a toda la caja que contiene la placa
42

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

base, el micro, las tarjetas y el resto de la circuitera principal del


ordenador.
La velocidad de un micro se mide en megahertzios (MHz) o
gigahertzios (1 GHz = 1.000 MHz), aunque esto es slo una medida
de la fuerza bruta del micro; un micro simple y anticuado a 500 MHz
puede ser mucho ms lento que uno ms complejo y moderno (con
ms transistores, mejor organizado...) que vaya a "slo" 400 MHz. Es
lo mismo que ocurre con los motores de coche: un motor americano
de los aos 60 puede tener 5.000 cm3, pero no tiene nada que hacer
contra un multivlvula actual de "slo" 2.000 cm3.

1.1 Composicin del microprocesador


Hertz
El Hertz (Hz) es una unidad de frecuencia, definida como un ciclo
por segundo (F=1/T)
Hercio y sus mltiplos en el Sistema Internacional
1 kilohercio
kHz
103 Hz
1 000 Hz
1 megahercio
1 gigahercio
1 terahercio

MHz
GHz
THz

106 Hz
109 Hz
1012 Hz

1 000 000 Hz
1 000 000 000 Hz
1 000 000 000 000 Hz

Cuarzo
Un cristal de cuarzo sometido a un estmulo elctrico puede
continuar vibrando a una cierta frecuencia. Si se mantiene el
estmulo de manera peridica y sincronizada, tendremos una
seal a una frecuencia extraordinariamente precisa.
Velocidades:
Velocidad interna: la velocidad a la que funciona el micro
interna 450 MHz).
Velocidad externa o del bus: o tambin "velocidad del FSB";
la velocidad a la que se comunican el micro y la placa base,
para poder abaratar el precio de sta.
La velocidad del procesador depende de:
Reloj Del Sistema
Es un pulso electrnico usado para sincronizar el procesamiento.
(Entre pulso y pulso solamente puede tener lugar una sola accin).
43

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Medido en megahertz (MHz) dnde r MHz=


milln de ciclos por segundo o gigahertz
(GHz) donde r GHz = r ciclos de mil millones
por segundo.
De esto es lo que estn hablando cuando
dicen que una computadora es una mquina
de 2.4 GHz .La velocidad de su reloj es de 2.4 mil millones de
ciclos por segundo.
Cuanto ms grande el nmero = ms rpido el procesamiento.
Ancho De Bus
Es la cantidad de datos que la CPU puede
transmitir en cada momento hacia la memoria
principal ya los dispositivos de entradas y salidas.
(todo camino para conducir bits es un bus).
Un bus de 8 bits mueve en cada instante 8 bits de datos.
El ancho del Bus puede ser de 8, 16, 32, 64, o 128 bits, hasta
ahora.
Piense en ello como "cuntos pasajeros (bits) puede caber en
determinado momento, dentro del autobs a fin de trasladarse de
una parte de la computadora a otra."
Cuanto ms grande sea el nmero = ms rpida ser la
transferencia
de
datos.

PALABRA

Tamao
De
La
Palabra
Una palabra es la
cantidad de datos que la
CPU puede procesar
en un ciclo de reloj.
Un procesador de 8
bits puede manejar 8 bits
cada
vez.
Los
procesadores pueden ser,
hasta ahora, de 8,
16, 32, o 64 bits.
Cuanto ms grande
sea el nmero = ms
rpida ser la procesamiento
Es necesaria la plena coincidencia entre el tamao de la palabra,
tamao del bus y e] reloj. No servida de nada tener un bus que
entregue 12bits cada vez, si la CPU solo puede, utilizar 8 bits y
tiene un reloj de baja velocidad. Se formarla una enorme fila de
datos esperando poder salir del bus! Cuando las computadoras se
saturan como en ese caso, pueden suceder cosas indeseables con
sus datos.

PALABRA

PALABR
A

44

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

2. Tipos de Memoria
2.1 LA MEMORIA

La memoria es el ente que almacena informacin.


Las operaciones bsicas que se van a efectuar con las memorias
son de lectura y escritura.
La escritura o almacenamiento consiste en grabar los datos en una

determinada posicin.

45

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

La lectura consiste en obtener la informacin contenida en una


posicin determinada.

Una unidad de memoria almacena informacin en grupos llamados


palabras. Una palabra en memoria es una entidad en bits que entran
y salen del espacio de almacenamiento como una unidad.

2.2 CARACTERSTICAS DE LAS MEMORIA


En el ordenador hay dos tipos bsicos de memorias, las memorias de
slo lectura, o ROM (ReadOnlyMemory), y las memorias de
lectura/escritura, o RAM (Random Access Memory).
Para poder estudiarlas vamos a introducir en este apartado una serie
de conceptos que permiten caracterizar los diversos tipos de
memoria.

46

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

2.3 DURACIN DE LA INFORMACIN


En relacin a la permanencia de la informacin grabada en las
memorias, hay 4 posibilidades:

Memorias permanentes: Son memorias que contienen siempre la


misma informacin y no pueden borrarse. Como ejemplo de este tipo
de memorias se pueden citar las memorias de semiconductores tipo
ROM, de las que hablaremos posteriormente.

Memorias Voltiles: Precisan estar continuamente alimentadas de


energa. Si se corta dicho suministro se borra la informacin que
poseen. En contraposicin estn las no voltiles, en las que la
informacin permanece aunque se elimine la alimentacin.

Memorias de lectura destructiva: Su lectura implica el borrado


de la informacin, por lo que despus de leer en ellas, hay que
volver a grabarlas. Un ejemplo de este tipo son las memorias de
ferrita. Memorias de lectura no destructiva son, por ejemplo, los
discos y banda magntica.

Memorias con refresco: La informacin slo dura un cierto


tiempo. Para que no desaparezca, hay que re grabar la informacin
de forma peridica (seal de refresco).

2.4 LA MEMORIA RAM


La RAM (acrnimo de Random Access Memory, Memoria de
Acceso Aleatorio) es donde el ordenador guarda los datos que est
utilizando en el momento presente. Se llama de acceso aleatorio
porque el procesador accede a la informacin que est en la
memoria en cualquier punto sin tener que acceder a la informacin
anterior y posterior. Es la memoria que se actualiza constantemente
mientras el ordenador est en uso y que pierde sus datos cuando el
ordenador se apaga.
Cuando las aplicaciones se ejecutan, primeramente deben ser
cargadas en memoria RAM. El procesador entonces efecta accesos
a dicha memoria para cargar instrucciones y enviar o recoger datos.
Reducir el tiempo necesario para acceder a la memoria, ayuda a
mejorar las prestaciones del sistema. La diferencia entre la RAM y
otros tipos de memoria de almacenamiento, como los disquetes o
47

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

discos duros, es que la RAM es mucho ms rpida, y se borra al


apagar el ordenador.

Existen dos tipos de memoria RAM:


La RAM esttica (SRAM)
La RAM dinmica (DRAM)
2.4.1 LA RAM ESTATICA (SRAM)
Utiliza switch del tipo flip-flop en vez de transistores no necesita de
ciclos del reloj, es ms rpida, pero tiene las desventajas de ser ms
costosas. Necesita ms espacio fsico por lo que posee baja
capacidad de memoria.
Un chip de RAM esttica puede almacenar tan solo una cuarta parte
de la informacin que se puede almacenar en un chip de RAM
dinmica de la misma complejidad.
La RAM esttica no necesita ser actualizada y es normalmente ms
rpido que la RAM dinmica (8 a 16 veces ms rpida).
Es utilizada como memoria cache L2.

2.4.2 LA RAM DINAMICA (DRAM)


Es la que se usa comnmente en los PC utiliza condensadores
controladores por transistores se le conoce como dinmica, debido a
que cada bit debe de tener unos pulsos del reloj ser en un cierto
periodo de tiempo, para que no se pierda la informacin, a esto se le
conoce como ciclo de refresh.
Cuando el condensador tiene ms de 50% de su carga, se considera
como un 1, cuando tiene al menos del 50% se considera como 0, por
lo tanto para que esta informacin se mantenga se debe recargar el
condensador, muchas veces por segundo.
Representan la mayor cantidad de memoria RAM de un computador.
VENTAJAS Y DESVENTAJAS DE LA SRAM Y DRAM
48

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Memoria

SRAM

DRAM

Ventajas

Desventajas

-La velocidad de acceso es alta.


-Para retener los datos solo necesita
estar energizada.
-Son fciles de disear.

- Menor capacidad, debido a


que
cada
celda
de
almacenamiento requiere ms
transistores.
-Mayor costo por bit.
-Mayor consumo de potencia.

-Mayor densidad y capacidad.


-Menor costo por bit.
-Menor consumo de potencia

-La velocidad de acceso es


baja.
-Necesita
recarga
de
la
informacin.
-Diseo complejo.

2.5 MEMORIA ROM


La memoria ROM es memoria no voltil: Los programas almacenados
en ROM no se pierden al apagar el ordenador, sino que se mantienen
impresos en los chips ROM durante toda su existencia adems la
memoria ROM es, como su nombre indica, memoria de solo lectura;
es decir los programas almacenados en los chips ROM son
inmodificables.
La memoria ROM suele estar ya integrada en el ordenador y en
varios perifricos que se instalan ya en el ordenador. Por ejemplo, en
la placa madre del ordenador se encuentran los chips de la ROM
BIOS, que es el conjunto de rutinas ms importantes para
comunicarse con los dispositivos.

2.6 MEMORIA CACH


Se trata de un tipo de memoria muy rpida que se utiliza de puente
entre el microprocesador y la memoria principal RAM, de tal forma
que los datos mas utilizado a puedan encontrarse antes, acelerando
el rendimiento del ordenador.
49

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

La memoria cach de un procesador es un tipo de memoria voltil


(del tipo RAM), pero de una gran velocidad.
En la actualidad esta memoria est integrada en el procesador, y su
cometido es almacenar una serie de instrucciones y datos a los que
el procesador accede continuamente, con la finalidad de que estos
accesos sean instantneos. Estas instrucciones y datos son aquellas
a las que el procesador necesita estar accediendo de forma
continua, por lo que para el rendimiento del procesador es
imprescindible que este acceso sea lo ms rpido y fluido posible.
Para qu sirve?
La memoria cache es la respuesta al problema de rendimiento de la
memoria ram. Esta es muy pequea y esta incluida en el interior del
microprocesador. Esta se organiza en niveles. Cuanto ms cercana
este al procesador es ms rpida pero tambin ms cara.
Te tienes que estar preguntando por que no se aade una memoria
de varias gigas dentro del micro. La respuesta es clara el micro tiene
unas dimensiones determinadas, aqu el tamao de cada elemento
importa, y de consumo que hacen que est sea muy cara.
Cmo funciona?
Esta memoria se organiza en niveles. Cuanto ms cercano al
procesador ms rpido, ms caro y por tanto ms pequea. Debido a
esto usamos los nombres cache de nivel 1, nivel 2 y nivel 3. Tambin
lo puedes ver como l1, l2 y l3.
Si el procesador necesita un dato de la memoria comprueba si esta
se encuentra en el nivel 1. En caso de no encontrarla se busca en el
nivel 2 y si no en el nivel 3. El sistema se complementa con un
algoritmo que es capaz de colocar los datos que ms utilizas en los
niveles ms cercanos al procesador.
En comparacin con la memoria RAM la cache de nivel 3 que es la
mayor de todas es unas mil veces ms pequea. Por suerte
losprogramas suelen realizar muchas operaciones sobre los mismos
datos y tienen un efecto radical en el rendimiento.
Cach nivel 1:
Esta cach est integrada en el ncleo del procesador, trabajando a
la misma velocidad que este. La cantidad de memoria cach l1 vara
de un procesador a otro, estando normalmente entra los 64kb y los
256kb. Esta memoria suele a su vez estar dividida en dos partes
dedicadas, una para instrucciones y otra para datos.
Cach nivel 2:
Integrada tambin en el procesador, aunque no directamente en el
ncleo de este, tiene las mismas ventajas que la cach l1, aunque es
algo ms lenta que esta. La cach l2 suele ser mayor que la cach
l1, pudiendo llegar a superar los 2mb.
50

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

A diferencia de la cach l1, esta no est dividida, y su utilizacin


est ms encaminada a programas que al sistema.
Cach nivel 3:
Es un tipo de memoria cach ms lenta que la l2, muy poco utilizada
en la actualidad.
En un principio esta cach estaba incorporada a la placa base, no al
procesador, y su velocidad de acceso era bastante ms lenta que
una cach de nivel 2 o 1, ya que si bien sigue siendo una memoria
de una gran rapidez (muy superior a la RAM, y mucho ms en la
poca en la que se utilizaba), depende de la comunicacin entre el
procesador y la placa base.

2.7 LA MEMORIA VIRTUAL


Si el equipo no tiene suficiente memoria de acceso aleatorio (RAM)
para ejecutar un programa o una operacin, Windows usa la
memoria virtual para compensar la falta.
La memoria virtual combina la RAM del equipo con espacio temporal
en el disco duro. Cuando queda poca RAM, la memoria virtual mueve
datos de la RAM a un espacio llamado archivo de paginacin. Al
mover datos al archivo de paginacin y desde l, se libera RAM para
completar la tarea.
Cuanto mayor sea la RAM del equipo, ms rpido tendern a
ejecutarse los programas. Si el equipo se ralentiza porque falta RAM,
puede considerar la posibilidad de aumentar la memoria virtual para
compensar. Sin embargo, el equipo puede leer los datos de la RAM
mucho ms rpido que de un disco duro, por lo que la mejor solucin
es agregar RAM.

3. BUSES:
DATOS

AUTOPISTAS

PARA

LOS

Para determinar la funcin de los buses hemos previsto que de la


misma manera que los coches se desplazan por carreteras para ir de
un lugar a otro, la informacin se transmite de un lugar a otro en un
ordenador a travs de unos caminos que llamamos buses. E igual
que las carreteras pueden tener ms o menos carriles, permitiendo
que ms o menos vehculos circulen en paralelo en el mismo
sentido, tambin los buses pueden tener ms o menos carriles
para que pase la informacin.

51

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

En un bus los carriles se miden en bits. De manera que un bus de


32 bits equivaldra a una autopista de 32 carriles. Sin embargo, en
una autopista puede ocurrir que por unos carriles pasen ms coches
que por otros. Eso no sucede en un bus, porque por todos sus
carriles pasa la misma cantidad de datos. Esto es as porque en un
bus los datos se transmiten en grupos o paquetes a un ritmo
determinado, es decir, con una frecuencia determinada. El nmero
de ceros y unos que viaja en cada paquete de datos dependen del
nmero de carriles del bus, es decir, del nmero de bits del bus.
Por ejemplo, supongamos un bus de 8 bits en el que los paquetes de
datos se envan a un ritmo de 50 paquetes por segundo, es decir,
con una frecuencia de 50 Hz.

Cada
paquete de datos estar formado por un conjunto de 8 ceros y unos.
Si en un segundo pasan 50 paquetes (de 8 bits cada uno), en 0,1
segundos pasarn 5.
Siguiendo con el bus del ejemplo, la cuestin es: qu cantidad de
datos es capaz de transmitir el bus en un segundo? Para calcularlo
basta con hacer una multiplicacin, razonando de la siguiente
manera:
Como el bus es de 8 bits, cada paquete de datos tiene 8 bits de
informacin.
Como cada segundo se transmiten 50 paquetes, el nmero de bits
transmitidos
por
segundo
ser:
8
bits/paquete
x
50
paquetes/segundo = 400 bits/segundo.

3.1 BUSES DE COMUNICACIONES


BUS DE DATOS
52

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Tri-estado. Bidireccional salvo para la ROM. Tantos bits como la


palabra.
El bus es un sistema digital que transfiere datos entre los
componentes de una computadora o entre computadoras. Est
formado por cables o pistas en un circuito impreso, dispositivos
como resistencias y condensadores adems de circuitos integrados
En los primeros computadores electrnicos, todos los buses eran de
tipo paralelo, de manera que la comunicacin entre las partes del
computador se haca por medio de cintas o muchas pistas en el
circuito impreso, en los cuales cada puerto de entrada y de salida
para cada dispositivo.
La tendencia en los ltimos aos es el uso de buses seriales como el
USB, FIREWARE para comunicarnos con perifricos y el reemplazo de
buses paralelos para conectar toda clase de dispositivos, incluyendo
el microprocesador con el chipset en la propia placa base. Son
conexiones con lgica compleja que requieren en algunos casos gran
poder de cmputo en los propios dispositivos, pero que poseen
grandes ventajas frente al bus paralelo que es menos inteligente.
BUS DE DIRECCIONES
Unidireccional. nbits 2n posiciones de memoria.
Este bus se utiliza para direccionar las zonas de memoria y los
dispositivos (que recordemos son tratados como si de posiciones de
memoria se tratasen), de forma que, al escribir una direccin en el
bus, cierto dispositivo quede activado y sea quien reciba-enve los
datos en el ciclo de bus as empezado.
Es un bus triestado unidireccional, por lo que puede ponerse en alta
impedancia e ignorar lo que ocurre en el exterior (al tiempo que no
influir en el estado de las lneas), pero solo permite la escritura del
bus. Esto ltimo es razonable, puesto que la lectura del bus de
direcciones no es de utilidad para el uP, al ser l mismo quien
gestiona el direccionamiento.
Este bus se compone de 32 lneas, A31 hasta A0, lo que permite
direccionar 2^32 posiciones de memoria: un total de 4Gigabytes.
Contrariamente a los modelos anteriores, A0 es una lnea
plenamente utilizada, lo que elimina la necesidad de la existencia de
/UDS y /LDS.
BUS DE CONTROL BIDIRECCIONAL - CONTROL DEL SISTEMA
El bus de datos lo forman las lneas D31 a D0, siendo este
bidireccional y de tipo triestado.

53

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Su uso se centra en la transmisin de datos entre el uP y los dems


dispositivos del sistema, permitiendo la conexin de varios
dispositivos simultneamente sin interferencia alguna.
El microprocesador 68020 presenta por primera vez un bus de datos
de 32 bits, lo que le permite el soporte y la transferencia de los
formatos de datos byte, palabra y palabra larga.
De esta forma, se preserva la compatibilidad descendente con los
modelos anteriores de Motorola.
Adems, suma la capacidad de adaptar dinmicamente el tamao
del bus para asegurar el conexionado con todo tipo de perifricos,
pudiendo enviar 1, 2, 3 o 4 bytes indistintamente.

54

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

4.

I
N
T
E
R
A
C
C
I

N
ENTRE EL MICROPROCESADOR
LA
MEMORIA

4.1 Tipos de arquitecturas


Aunque hablamos de conceptos de organizacin de los computadores,
se mantiene tradicionalmente el trmino de arquitectura para
distinguir los dos tipos de organizacin ms habituales: la
arquitectura Von Neumann y la arquitectura Harvard.
Se puede decir que la mayora de los computadores actuales utilizan
la arquitectura Von Neumann, o una arquitectura Von Neumann
modificada, ya que a medida que los computadores han evolucionado
se le ha aadido a estas caractersticas procedentes de la
arquitectura Harvard.
La diferencia principal entre las dos arquitecturas se encuentra en el
mapa de memoria: mientras que en la arquitectura Von Neumann
hay un nico espacio de memoria para datos y para instrucciones,
en la arquitectura Harvard hay dos espacios de memoria separados:
un espacio de memoria para los datos y un espacio de memoria para
las instrucciones.
55

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Arquitectura Von Neumann


Como ya se ha comentado en la descripcin de un computador
hecha en el apartado 1 del mdulo, un computador est compuesto
por los elementos siguientes: un procesador, una memoria, unidades
de E/S y un sistema de interconexin. Todos estos elementos estn
presentes en la arquitectura Von Neumann.

Sistema de interconexin
En una mquina Von Neumann, la manera de procesar la
informacin se especifica mediante un programa y un conjunto de
datos que estn almacenados en la memoria principal.
Los programas estn formados por instrucciones simples,
denominadas instrucciones mquina. Estas instrucciones son
bsicamente de los tipos siguientes:

Transferencia de datos (mover un dato de una localizacin a


otra).
Aritmticas (suma, resta, multiplicacin, divisin).
Lgicas (AND, OR, XOR, NOT).
Ruptura de secuencia (salto incondicional, salto condicional,
etc.).

El objetivo de la arquitectura Von Neumann es construir un sistema


flexible que permita resolver diferentes tipos de problemas. Para
conseguir esta flexibilidad, se construye un sistema de propsito
general que se pueda programar para resolver los diferentes tipos de
problemas. Para cada problema concreto se define un programa
diferente.
Funcionamiento del Procesador
Un sistema de propsito general debe ser capaz de hacer unas
operaciones aritmticas y lgicas bsicas, a partir de las cuales se
puedan resolver problemas ms complejos. Para conseguirlo, el
56

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

procesador ha de disponer de una unidad aritmtica y lgica (ALU)


que pueda hacer un conjunto de operaciones. La ALU realiza una
determinada operacin segn unas seales de control de entrada.
Cada operacin se lleva a cabo sobre un conjunto de datos y produce
resultados. Por lo tanto, los resultados son generados segn las
seales de control y de los datos.
Desde el punto de vista de las instrucciones, cada instruccin
mquina que se ejecuta en el procesador genera un determinado
conjunto de seales a fin de que la ALU haga una operacin
determinada.
Desde el punto de vista de las operaciones que lleva a cabo la ALU, se
puede decir que cada operacin consiste en activar un conjunto de
seales de control. Si se codifica cada conjunto de seales de control
con un cdigo, obtenemos un conjunto de cdigos. Este conjunto de
cdigos define el conjunto de instrucciones con el que se puede
programar el computador.
No todas las instrucciones corresponden a operaciones de la ALU. Las
instrucciones de transferencia de datos, por ejemplo, pueden mover
datos entre diferentes localizaciones del computador sin la
intervencin de la ALU.

Dentro
del
procesador
es
necesaria
una
unidad,
denominada
unidad de control, que sea
capaz
de
interpretar las instrucciones para generar el conjunto de seales de
control necesarias para gobernar la ejecucin de las instrucciones.

57

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Tambin es necesario que el procesador disponga de un conjunto de


registros (elementos de almacenamiento de informacin rpidos pero
de poca capacidad) con los que sea capaz de trabajar la ALU, de
donde leer los datos necesarios para ejecutar las operaciones y
donde almacenar los resultados de las operaciones hechas.
Funcionamientos de Memoria y unidades de E/S
Si analizamos el proceso de ejecucin de las instrucciones, veremos
que son necesarios otros elementos para construir un computador: la
memoria principal y las unidades de E/S.
Las instrucciones que ejecutan el computador y los datos necesarios
para cada instruccin estn almacenadas en la memoria principal,
pero para introducirlos en la memoria es necesario un dispositivo de
entrada. Una vez ejecutadas las instrucciones de un programa y
generados unos resultados, estos resultados se deben presentar a los
usuarios y, por lo tanto, es necesario algn tipo de dispositivo de
salida.
En un computador los elementos de la arquitectura Von Neumann
son:

Procesador
Memoria principal
Dispositivos de entrada
Dispositivos de salida

Normalmente los dispositivos de entrada y de salida se tratan


agrupados y se habla de dispositivos de E/S.
Funcionamiento del Sistema de interconexin
El medio de interconexin habitual en la arquitectura Von Neumann
es el bus, un medio de comunicacin compartida o multipunto donde
se conectan todos los componentes que se quiere interconectar.
Como se trata de un medio compartido, es necesario un mecanismo
de control y acceso al bus. El sistema de interconexin es necesario
pero generalmente no se considera una unidad funcional del
computador.

58

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Arquitectura Harvard
La organizacin del computador segn el modelo Harvard,
bsicamente, se distingue del modelo Von Neumann por la divisin de
la memoria en una memoria de instrucciones y una memoria de
datos, de manera que el procesador puede acceder separada y
simultneamente a las dos memorias.

El procesador dispone de un sistema de conexin independiente para


acceder a la memoria de instrucciones y a la memoria de datos. Cada
memoria y cada conexin pueden tener caractersticas diferentes; por
ejemplo, el tamao de las palabras de memoria (el nmero de bits de
una palabra), el tamao de cada memoria y la tecnologa utilizada
para implementarlas.
Debe haber un mapa de direcciones de instrucciones y un mapa de
direcciones de datos separados.

Tipos de computadores de uso especfico:


Microcontroladores
59

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Un controlador o microcontrolador es un sistema encargado de


controlar el funcionamiento de un dispositivo, como, por ejemplo,
controlar que el nivel de un depsito de agua est siempre entre un
nivel mnimo y un nivel mximo o controlar las funciones de un
electrodomstico.
Actualmente se implementan utilizando un nico circuito integrado, y
por este motivo se denominan microcontroladores en lugar de
simplemente controladores.
Dentro de la memoria se almacena un solo programa que controla un
dispositivo.
Es un circuito integrado de dimensiones reducidas que se puede
montar en el mismo dispositivo que ha de controlar (microcontrolador
incrustado).
Aplicaciones de los microcontroladores
Algunos de los campos de aplicacin ms habituales de los
microcontroladores son los siguientes:

Telecomunicaciones. En el campo de las telecomunicaciones, los


productos que utilizan frecuentemente microcontroladores son los
telfonos mviles.

Productos de gran consumo. En los productos de gran consumo se


utilizan micro-controladores en muchos electrodomsticos de lnea
blanca (lavadoras, lavavajillas, microondas, etc.) y de lnea marrn
(televisores, reproductores de DVD, aparatos de radio, etc.).

Automocin. En la industria del automvil se utilizan


microcontroladores para controlar buena parte de los sistemas del
coche; por ejemplo, para controlar los airbags, o el frenado.

Informtica. En la industria informtica hay muchos dispositivos


perifricos que integran microcontroladores: ratones, teclados,
impresoras, escneres, discos duros, etc.

Industria. En el mundo industrial se utilizan en diferentes mbitos,


como la robtica o el control de motores.

60

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

VALOTARIO DE PREGUNTAS
1.
2.
3.
4.
5.

Qu es el microprocesador?
Qu es el ALU?
De qu depende la velocidad del procesador?
Cmo interacta el procesador con la memoria cache?
Cules son los funcionamientos de memoria y unidades de
entrada y salida?
6. Cules son las unidades de medida de la velocidad de ciclos del
reloj?
7. Qu es la arquitectura Harvard?
8. Qu es la arquitectura von Neumann?
9. Qu es el bus de datos?
10.
Qu es la memoria virtual?
11.
Qu es la memoria cache?
12.
Cules son las ventajas y desventajas de la SRAM y la DRAM?
13.
Entre el microprocesador y la memoria qu hace el bus de
direcciones?
14.
Entre el microprocesador y la memoria qu hace el bus de
control?
15.
Entre el microprocesador y la memoria qu hace el bus de
datos?

61

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

CAPTULO IV
LENGUAJE MQUINA
I
62

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

1. INTRODUCCIN
Los primeros ordenadores se programaban mediante cables o
tableros de interruptores, que introducan el programa directamente
en los circuitos del ordenador.
Pero este sistema era muy poco flexible y pronto se sustituy por
otros ms manejables, como la cinta de papel perforado y la tarjeta
de cartulina perforada. Las cintas y tarjetas se perforaban mediante
mquinas provistas de teclados especiales.
El programa se escriba directamente en cdigo binario y poda
representarse mediante secuencias de ceros y unos (bits, abreviatura
inglesa de "dgitos binarios").

63

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

2. LENGUAJE DE MQUINA
Conceptos bsicos sobre lenguaje - mquina:

2.1 Qu es la CPU?
Si deseamos comunicarnos con el computador, tenemos que saber la
clase de rdenes que acepta y el lenguaje que el cerebro de la
computadora entiende.
Si ignoramos la clase de informacin que la CPU comprende, no
podemos instruir al computador para que pueda efectuar tareas tan
singulares como la de ser el contrario en los juegos, o ser contables
que cuiden nuestras cuentas.
Central ProcessingUnit (CPU/Unidad Central de Procesamiento) o
simplemente el procesador o microprocesador, es el componente
principal del ordenador y otros dispositivos programables, que
interpreta las instrucciones contenidas en los programas y procesa los
datos. Las CPU proporcionan la caracterstica fundamental del
ordenador digital (la programabilidad) y son uno de los componentes
necesarios encontrados en los ordenadores de cualquier tiempo, junto
con la memoria principal y los dispositivos de entrada/salida. Se
conoce como microprocesador el CPU que es manufacturado con
circuitos integrados.
Diseo de la CPU:
En computacin, la unidad aritmtico lgica, tambin conocida como
ALU (siglas en ingls de arithmeticlogicunit), es un circuito digital que
calcula operaciones aritmticas (como suma, resta, multiplicacin,
etc.) y operaciones lgicas (si, y, o, no), entre dos nmeros.
La unidad de control (UC) es uno de los tres bloques funcionales
principales en los que se divide una unidad central de procesamiento
(CPU). Los otros dos bloques son la unidad de proceso y el bus de
entrada/salida.
Su funcin es buscar las instrucciones en la memoria principal,
decodificarlas (interpretacin) y ejecutarlas, empleando para ello la
unidad de proceso.

2.2 Lenguaje de Programacin


64

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Para que un computador (hardware) funcione es necesario utilizar


programas (software), los cuales le indican cul es la tarea que se
tiene que hacer. Un lenguaje de programacin es el que se utiliza
para escribir dichos programas. Posteriormente estos se introducirn
en la memoria del computador y ste ltimo ejecutar todas las
operaciones que se incluyen.

Clasificacin de lenguajes de programacin:


Lenguajes de bajo nivel: La programacin se realiza teniendo muy en
cuenta las caractersticas del procesador.
Lenguajes de alto nivel: Ms parecidos al lenguaje humano. Manejan
conceptos, tipos de datos, etc., de una manera cercana al
pensamiento humano ignorando (abstrayndose) del funcionamiento
de la mquina.
Lenguaje de bajo nivel
Se denomina lenguaje mquina a la serie de datos que la parte fsica
de la computadora o hardware, es capaz de interpretar.
Una computadora digital o la parte fsica, slo distingue datos de tipo
binario constituidos por dos nicos valores a los que se denomina
valor 0 y valor 1 y que, fsicamente, se materializan con tensiones
comprendidas entre 0 y 5 voltios, respectivamente.
La informacin que hace que el hardware de la computadora realice
una determinada actividad de llama instruccin. Por consiguiente una
65

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

instruccin es un conjunto de unos y ceros. Las instrucciones as


formadas equivalen a acciones elementales de la mquina, por lo que
al conjunto de dichas instrucciones que son interpretadas
directamente por la mquina se denomina lenguaje mquina
Las instrucciones en un lenguaje de mquina o simblico estar
codificadas en binario o ms comnmente en hexadecimal, est
posibilidad se da por la equivalencia directa que existe entre ambos
sistemas numricos (un dgito hexadecimal, equivale a una palabra
binaria de 4 bit
Lenguaje de mquina es el sistema de cdigos directamente
interpretable por un circuito micro programable, como el
microprocesador de una computadora o el micro controlador de un
autmata. Este lenguaje est compuesto por un conjunto de
instrucciones que determinan acciones a ser tomadas por la mquina.
Un programa consiste en una cadena de estas instrucciones de
lenguaje de mquina (ms los datos). Estas instrucciones son
normalmente ejecutadas en secuencia, con eventuales cambios de
flujo causados por el propio programa o eventos externos. El lenguaje
de mquina es especfico de cada mquina o arquitectura de la
mquina, aunque el conjunto de instrucciones disponibles pueda ser
similar entre ellas.
Lenguaje de mquina del Intel 8088. El cdigo de mquina en
hexadecimal se resalta en rojo, el equivalente en lenguaje
ensamblador en magenta, y las direcciones de memoria donde se
encuentra el cdigo, en azul. Abajo se ve un texto en hexadecimal y
ASCII.
Los circuitos micro programables son sistemas digitales, lo que
significa que trabajan con dos nicos niveles de tensin. Dichos
niveles, por abstraccin, se simbolizan con el cero (0), y el uno (1),
por eso el lenguaje de mquina slo utiliza dichos signos. Esto
permite el empleo de las teoras del lgebra booleana y del sistema
binario en el diseo de este tipo de circuitos y en su programacin.
Una visin tpica de la arquitectura de computadoras como una serie
de capas de abstraccin: hardware, firmware, ensamblador, kernel,
sistema operativo y aplicaciones.
Claude Elwood Shannon, en su Analysis of Relay and
SwitchingCircuits, y con sus experiencias en redes de conmutacin,
66

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

sent las bases para la aplicacin del lgebra de Boole a las redes de
conmutacin.
Una red de conmutacin es un circuito de interruptores elctricos que
al cumplir ciertas combinaciones booleanas con las variables de
entrada, define el estado de la salida. Este concepto es el ncleo de
las puertas lgicas, las cuales son, por su parte, los ladrillos con que
se construyen sistemas lgicos cada vez ms complejos.
Shannon utilizaba el rel como dispositivo fsico de conmutacin en
sus redes. El rel, a igual que una lmpara elctrica, posee dos
estados: 1 o 0, esto es, activado (encendido), o desactivado
(apagado).
El desarrollo tecnolgico ha permitido evolucionar desde las redes de
rels electromagnticos de Shannon a circuitos con tubos de vaco,
luego a redes transistorizadas, hasta llegar a los modernos circuitos
integrados cuya cspide lo forman los circuitos micro programado.

2.3 Historia del lenguaje de Maquina


Los ordenadores (computadoras) son herramientas muy tiles, pero
por s solos no pueden actuar o tomar decisiones. Los programas que
forman parte de los ordenadores, son los que nos hacen parecer que
son aparatos inteligentes. Pero qu son los programas?
Los programas son un conjunto de instrucciones escritos en un
lenguaje determinado, el cual consta de una sintaxis y una serie de
smbolos, donde cada uno cuenta con distintas funciones.
El lenguaje de un ordenador se lo denomina leguaje de mquina, y
consiste en una codificacin de instrucciones que puede realizar un
procesador, la codificacin se realiza mediante la representacin
binaria. Es decir, cada instruccin era un conjunto de unos y ceros.
Lenguaje binario y cdigo binario
Cdigo binario / lenguaje binario
67

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Qu tiene que ver con todas estas reas mencionadas? Es el idioma


con el cual el hombre a dotado cantidad de comunicaciones y
procesamiento de informacin a elementos electrnicos, incluyendo
las computadoras, y no slo en esto. Se usa en cantidad de ocasiones
el lenguaje binario, aunque de forma no perceptible directamente por
las personas. Incluso los circuitos integrados y microprocesadores,
podra decirse estn ntimamente relacionados con el binario ya que
es la forma de poder programar componentes electrnicos. Al menos
por ahora, la forma ms usada de hacerlo, programar y/o hacer que
un dispositivo procese datos de determinada forma. Segn como se
usen los transistores, se pueden hacer operaciones matemticas
mediante un dispositivo elctrico, con lo que se ha llamado lenguaje
binario.
Qu es el cdigo binario?
El trmino bit, es una abreviacin de dgito binario, un dgito binario
es un estado abierto o cerrado lgico, se lo comprende
mostrndolo y analizndolo como un 1 o 0. En una computadora
es representado un 1 o 0 elctricamente con diferencia de
voltaje; en el caso de un Disco Rgido (generalmente el Sistema de
Almacenamiento Principal en una PC), o CD, por dos formas distintas
de diminutas marcas en la superficie, en el caso del Disco Rgido
seales magnticas, en el caso del CD seales que reflejarn el
"lser" que rebotar en el CD y ser recepcionado por un sensor de
distinta forma (debido a que son hechas de tal forma que reboten
distinto la luz), indicando as, si es un cero o un uno.
Te sorprenderas de saber toda la informacin que uno emite y recibe
a travs de mquinas cada da, mediante simples unos y ceros en
grupos, que son transformados en distintas cosas interpretables por
nosotros: imagen, sonido, o simplemente reproduciendo algn
formato digital, o manejando componentes. La era de lo digital...
En electrnica digital cmo representar nmeros en binario?
El sistema binario o sistema de numeracin de base dos, es un
lenguaje utilizado en electrnica digital. En una computadora, una
persona interacta con una mquina, y sta interpreta en su base,
nicamente cdigo binario, por ms que el usuario est usando un
Mouse. Si en una mquina slo interpreta, digamos unos y ceros,
que en realidad no sabe la mquina lo que es un uno o un cero sino
68

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

que todo es dos estados; originariamente: pasa o no pasa


corriente, aunque ahora se utilizan distintas seales como se dijo, por
ejemplo lo que interpretamos como 1 puede ser 5 volteos y lo que
interpretamos como 0 pueden ser 3 volteos. La pregunta es: cmo
le expreso a una mquina el nmero 3? Agrupando unos y ceros.
Obviamente cuantos ms valores binarios agrupemos, ms nmeros
humanos se podrn representar, y tambin letras; ya que deduzca
que los nmeros que utilizamos son 10 (diez) nmeros que al ir
cambiando su orden y cantidad, hacemos nmeros ms extensos, y lo
mismo ocurre con las letras.
Los Microprocesadores, son una obra de arte de la tecnologa y la
ciencia. Mediante millones de transistores que actualmente pueden
superar los 700 millones, con los estados de 0 y 1; en una
computadora se procesan cantidad de datos. En realidad no slo en
una computadora, hay distintos tipos de Microprocesadores. Desde el
destinado para un reproductor de MP3, hasta por ejemplo el que
posee la capacidad necesaria que necesite un satlite de
telecomunicaciones actual; incluso se pueden hacer trabajar
Microprocesadores en paralelo, lo cual se utiliza.
Si esto es lenguaje de mquina nos estaremos preguntando:
Por qu molestarme?
Por qu no beneficiarse del trabajo ajeno que me permite
programar en un lenguaje mucho ms fcil?
Por la cual te presentaremos las ventajas y desventajas del Lenguaje
de Maquina
Ventajas:
Una ejecucin ms rpida en el programa.

Un uso ms eficaz de la memoria.

Unos programas ms cortos (que ocupan menos espacio en la


memoria).

Absoluta libertad frente al Sistema Operativo

Como tiene sus ventajas, tambin


inconvenientes:
Los programas son difciles de leer.
69

tiene

importantes

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Imposible adaptarse a otros computadores.


Son programas ms largos (el nmero de instrucciones )
Mayor dificultad en la programacin y en la comprensin de los
programas.
Es necesario conocer en detalle ms de una arquitectura de la
mquina.
Las instrucciones son cadenas de ceros y unos, aunque estas
cadenas se pueden introducir en la computadora mediante un
cdigo intermedio (octal o hexadecimal).
Los datos se utilizan por medio de las direcciones de memoria
donde se encuentran.
En las instrucciones no aparecen nombres de variables (i, j, aux,...),
sino que el programador debe asignar las direcciones de memoria
para las variables yconstantes del programa. Para realizar esta
asignacin se debe tener en cuenta lazona de memoria que ocupa
el programa, para que no se solape con la zona en la que se
almacenan las variables.
El repertorio de instrucciones suele ser muy reducido y las
instrucciones realizan
operaciones muy simples.

LENGUAJE ENSAMBLADOR (ASSEMBLY)

70

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

El lenguaje ensamblador es un lenguaje creado por Dennis Ritchie


( Creador de lenguaje C y Unix ) para facilitar la programacin en
lenguaje mquina con un conjunto de mnemotecnias que nos facilita
no tener que recordar cdigos en binario.
El lenguaje se denomina Assembly y no Assembler como
normalmente se lo conoce. Cuando se escribe un programa en
Assembly, hay otro programa "ensamblador" que se encarga de
traducir lo diseado por el programador al cdigo de mquina.
Esta clase de programa se llama traductor. Los compiladores e
intrpretes son traductores que pasan a cdigo mquina los
programas escritos en los distintos lenguajes.
Assembler es el programa traductor de Assembly a cdigo de
mquina, y que es propio de cada modelo de procesador. Cada
microprocesador tiene su propio Assembler con su particular set de
instrucciones y sus varios modos de direccionamiento que dependen
de la arquitectura propia del sistema, y cada nuevo modelo de
procesador que saca al mercado un fabricante, puede que agregue
algunas instrucciones a su set de instrucciones para mejorar el
rendimiento del mismo y hasta agregar algn nuevo registro (o
extender la capacidad de bits de los existentes), pero siempre

71

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

conservan las instrucciones y registros de los modelos anteriores por


razones de compatibilidad.
Para programar en este lenguaje necesitamos conocimientos previos
de arquitectura del procesador.
CONOCIMIENTOS PREVIOS.
REGISTROS
El procesador tiene 14 registros internos, cada uno de 16 bits. Los
primeros cuatro,AX, BX, CX, y DX son registros de uso general y
tambien pueden ser utilizadoscomo registros de 8 bits, para utilizarlos
como tales es necesario referirse a elloscomo por ejemplo: AH y AL,
que son los bytes alto (high) y bajo (low) delregistro AX. Esta
nomenclatura es aplicable tambin a los registros BX, CX yDX.
Los registros son conocidos por sus nombres especficos:
Registros de uso general
AX: Acumulador (AL:AH)
BX: Registro base (BL:BH)
CX: Registro contador (CL:CH)
DX: Registro de datos (DL:DH)
Registros de segmento (Solo se pueden usar para los usos
mencionados a excepcin de ES)

DS: Registro del segmento de datos

ES: Registro del segmento extra

SS: Registro del segmento de pila

CS: Registro del segmento de cdigo


Registros punteros (Tambin pueden tener uso general)

BP: Registro de apuntadores base

SI: Registro ndice fuente

DI: Registro ndice destino


Registros especiales (Solo se pueden usar para los usos
mencionados)

SP: Registro apuntador de la pila

IP: Registro apuntador de la siguiente instruccin

F: Registro de banderas (8 bits).

72

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

COMPILACION:
La compilacin es el proceso intermedio que se produce para
convertir el cdigo fuente de un lenguaje de programacin a cdigo
mquina para que sea ejecutado por el ordenador.

[Esquema de compilacin]

73

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

[Esquema de

Microprocesador]

74

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

CAPTULOV
LENGUAJE MQUINA
II

75

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

1. Introduccin
El lenguaje de mquina de un microprocesador
no puede
ser
ejecutado
por
otro microprocesador de arquitectura
distinta, a menos que
haya cierto tipo de compatibilidad
prevista. Por ejemplo, un 80486 es capaz de ejecutar lenguaje
de mquina propio y soporta el cdigo generado para
microprocesadores anteriores de la misma serie (desde un 8086
hasta un 80386). Por otra parte, un PowerPC es capaz de
ejecutar instrucciones de los microprocesadores Motorola
68xxx y de los Intel 80xx/80x86. En ambos casos, el diseo de
los microprocesadores se hizo tratando de mantener cierto nivel
de compatibilidad con los desarrollados anteriormente. En el
segundo caso, este nivel de compatibilidad se extendi a los de
otra marca. Sin embargo, un 8088 no puede ejecutar cdigo de
un 80186 o superiores, ya que los procesadores ms avanzados
poseen juegos de instrucciones y registros nuevos no contenidos
por un 8088. Un caso similar es la serie 68xxx, pero de
ninguna manera podemos esperar que un Intel ejecute
cdigo de un Motorola y viceversa. Y esto no tiene nada
que ver con la compaa, ya que Intel desarrolla otros tipos
de microprocesadores como el 80860 y el iWARP, los cuales no
pueden compartir cdigo ni entre ellos ni entre los 80xx/80xxx.
Ahora bien, mientras que con el lenguaje de mquina, nosotros
obtenemos un control total del microprocesador, la programacin
en este lenguaje resulta muy difcil y fcil para cometer errores.
No tanto por el hecho de que las instrucciones son slo nmeros,
sino porque se debe calcular y trabajar con las direcciones de
memoria de los datos, los saltos y las direcciones de llamadas a
subrutinas, adems de que para poder hacer ejecutable un
programa, se deben enlazar las rutinas de run-time y servicios
del sistema operativo. Este proceso es al que se le denomina
ensamblado
de cdigo. Para facilitar la elaboracin de
programas a este nivel, se desarrollaron los Ensambladores y el
Lenguaje Ensamblador.

2. Contenido
76

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

2.1. Definicin
Los ordenadores slo entienden un lenguaje especfico para
cada mquina, que se denomina Cdigo Maquina o Lenguaje
Mquina. Este lenguaje utiliza un cdigo binario (smbolos
"0" y "1").
Las rdenes que se dan a un ordenador han de ir codificadas
en instrucciones, y estas forman los programas. Las
instrucciones tienen dos partes diferenciadas: cdigo de
operacin y cdigo(s) de operando(s):
CODOP CODOPERANDO(S)

En la primera, se codifica la operacin que realiza la


instruccin. Este cdigo de operacin siempre es nico para
cada instruccin. En la segunda, se indica(n) la(s)
direccin(es) de memoria en la que se encuentra el
operando, hasta un mximo de tres, sobre el/(los) que se
aplicar la operacin.

Rojo: Hexadecimal
Azul: Direcciones de memoria
Magenta: Ensamblador

Puesto que cada tipo de ordenador tiene su cdigo mquina


especfico, para programar en este lenguaje el programador
debe conocer la arquitectura fsica de la computadora con
cierto detalle (registros de la CPU, palabras de memoria,...).
La estructura del lenguaje mquina est totalmente
adaptada a los circuitos de la computadora y muy alejada
del lenguaje que empleamos normalmente para expresar y
analizar los problemas de hoy en da.

77

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Los circuitos micro programables son sistemas digitales, lo


que significa que trabajan con dos nicos niveles de tensin.
Dichos niveles, por abstraccin, se simbolizan con el cero, 0,
y el uno, 1, por eso el lenguaje de mquina slo utiliza
dichos signos. Esto permite el empleo de las teoras del
lgebra booleana y del sistema binario en el diseo de este
tipo de circuitos y en su programacin.
Estas instrucciones son normalmente ejecutadas en
secuencia, con eventuales cambios de flujo causados por el
propio programa o eventos externos. El lenguaje de mquina
es especfico de cada mquina o arquitectura de la mquina,
aunque el conjunto de instrucciones disponibles pueda ser
similar entre ellas.
Un programa de computadora consiste en una cadena de
estas instrucciones de lenguaje de mquina (ms los datos).
Una visin tpica de la arquitectura de computadores como
una serie de capas de abstraccin: hardware, firmware,
ensamblador, kernel, sistema operativo y aplicaciones.

2.2.

Ventajas

Un
programa
escrito en lenguaje mquina es directamente interpretable
por el procesador central. Una vez introducido el programa
en la memoria principal de la computadora, no se necesitan
transformaciones previas para ser ejecutado (como ms
78

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

adelante veremos que s ocurre con los programas escritos


en lenguajes de alto nivel).
Los programas escritos en lenguaje mquina se ejecutan
muy eficientemente (con rapidez), debido a que el usuario
lo redacta especficamente para los circuitos que lo han de
interpretar y ejecutar, y a que desde el cdigo mquina se
puede utilizar la totalidad de los recursos de la mquina.

2.3. Desventajas
Las instrucciones son cadenas de ceros y unos, aunque
estas cadenas se pueden introducir en la computadora
mediante un cdigo intermedio (octal o hexadecimal).
Los datos se utilizan por medio de las direcciones de
memoria donde se encuentran. En las instrucciones no
aparecen nombres de variables
(i, j, aux,...), sino que el programador debe asignar las
direcciones de memoria para las variables y constantes del
programa. Para realizar esta asignacin se debe tener en
cuenta la zona de memoria que ocupa el programa, para
que no se solape con la zona en la que se almacenan las
variables.
El repertorio de instrucciones suele ser muy reducido y
las instrucciones realizan operaciones muy simples.
En lenguaje mquina, hay varios tipos de instrucciones:
De transferencia de informacin.
De tratamiento o aritmtico-lgicas y de
desplazamiento
3. De transferencias de control: bifurcaciones,
saltos, llamadas procedimientos y retornos de
procedimientos.
1.
2.

Muchas computadoras, por ejemplo, no disponen de


instrucciones especficas de multiplicar y dividir; en su
lugar,
el
programador
debe
ingenirselas
para
descomponer cada una de las operaciones que desee
realizar en trminos de las instrucciones elementales del
repertorio mquina. Por ejemplo, para multiplicar, se
deber codificar un algoritmo que realice la multiplicacin
por medio de sumas, comparaciones, desplazamientos,
etctera.
79

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Existe muy poca elasticidad y versatilidad para la


redaccin de instrucciones. Estas tienen un formato rgido
en cuanto a posicin de los distintos campos que
configuran la instruccin (cdigo de operacin, direccin o
direcciones de memoria, cdigos de puertos, etc.). El
cdigo de operacin debe seleccionarse estrictamente
entre los que figuran en una tabla o repertorio fijo. Adems,
un programa mquina no permite el uso de sentencias
declarativas, existiendo slo las instrucciones.
El lenguaje mquina depende y est ligado ntimamente
a la CPU del computador. Si dos computadoras tienen CPU's
diferentes, tendrn distintos lenguajes mquina. En
particular, dos microcomputadoras con el mismo
microprocesador e iguales circuitos de control, tienen igual
lenguaje mquina. La dependencia del lenguaje mquina
de la configuracin de la CPU hace que los programas
redactados en este lenguaje de programacin sean poco
transferibles o transportables de una computadora a otra.
En un programa en cdigo mquina, no pueden incluirse
comentarios que faciliten la legibilidad del mismo. Adems,
debido a su representacin totalmente numrica, es muy
difcil de reconocer o interpretar por el usuario.

2.4. Categoras
Las instrucciones y sus operandos se codifican mediante
un conjunto de bits y un formato.
El nmero de instrucciones, y la forma de obtener los
operandos influyen en el tamao de las instrucciones.
Los lenguajes mquina se dividen en dos categoras:
1.

Instrucciones con formato fijo:


El tamao de la instruccin y su formato es idntico
para todas las instrucciones.
Decodificacin simple.
Cdigo ineficiente en tamao. Hay casos en los que
se utilizan ms bits de los necesarios.

2.

Instrucciones con formato variable:


El tamao, la posicin o presencia de campos vara
dependiendo del tipo de instruccin.

80

Decodificacin compleja.
Cdigo compacto.

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

2.5 El procesador
El procesador es la unidad electrnica (habitualmente
contenida en un chip) que se encarga de leer y procesar
las instrucciones y los datos de un programa, que estn
almacenadas en la memoria del computador. El siguiente
esquema muestra un modelo muy simplificado de los
elementos que componen un procesador y su relacin con
los buses del sistema, ignorando el bloque de entradas y
salidas:

Los componentes del procesador indicados tienen las


siguientes funciones:
Registros de L.M.: son los registros que el programador
de lenguaje mquina tiene a su disposicin para manipular
los datos y las direcciones del programa,
Registros temporales son registros que contienen
informacin temporal para completar la accin de las
instrucciones que se estn procesando en ese momento,
Unidad Aritmtico-Lgica (ALU): es la parte que se
encarga de realizar las operaciones aritmticas (suma,
resta, multiplicacin, etc.) y lgicas (AND, OR,
desplazamientos, etc.)con los datos contenidos en los
registros.
81

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Clculo de direcciones: se encarga de efectuar algunas


operaciones aritmticas y lgicas para obtener las
direcciones en memoria de las instrucciones y los datos del
programa.

Unidad de Control: es la parte que gestiona el


funcionamiento del resto de componentes del procesador.
Todos estos componentes se implementan con circuitos
electrnicos digitales bsicos (puertas lgicas), bloques
combinacionales (sumadores, multiplexores, etc.) y
bloques secuenciales (biestables, registros, contadores,
etc.); adems, la Unidad de Control consiste en una
mquina de estados finita (autmata) que interpreta las
instrucciones, genera las seales de control para el restode
bloques y gestiona el secuenciamiento del programa
(orden de las instrucciones)

2.6. La memoria
En la memoria estn almacenadas todas las instrucciones y
los datos de los programas a ejecutar, organizadas como un
vector de 2n posiciones de n bits cada una, donde n indica
el nmero de bits de la direccin.
Habitualmente, n=8, o sea que la unidad mnima de
informacin que se puede leer o escribir en la memoria es
un byte, es decir, un paquete de 8 bits
En los procesadores ARM, n=32, o sea que se pueden
generar ms de 4 mil millones de direcciones diferentes, es
decir, 4 Gigabytes.
Nota:ARM es

una arquitectura RISC (ReducedInstruction


Set
Computer=Ordenador con Conjunto de Instrucciones Reducidas) de 32
bitsdesarrollada por ARM Holdings.

Adems, los procesadores ARM pueden procesar datos de 8,


16 o 32 bits. Esto significa que es posible acceder a 1, 2 o 4
posiciones consecutivas de memoria con una sola
transferencia. Cuando se accede a 2 o 4 posiciones a la vez,
es preciso conocer el orden de los bytes. Existen dos
posibilidades:
Little Endian: los bytes estn ordenados de menor a
mayor peso.
Big Endian: los bytes estn ordenados de mayor a menor
peso.
82

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

2.7. Lenguaje binario


Un humano se comunica con un dialogo muy extenso. La
voz humana emite variaciones sonoras muy amplias. Haba
que desarrollar en una computadora un lenguaje de
comunicacin rpido, preciso y sencillo, para que se
comuniquen los distintos componentes entre s y se puedan
realizar fcilmente tareas de clculo en lo posible sin error.
La forma ms fcil de hacer esto fue utilizando el lenguaje
binario que consta de grupos de unos y ceros siendo cada
uno y cero representado mediante el estado abierto o
cerrado como si fuera un interruptor que puede tener solo
dos posiciones. De esta forma, solo existen dos variaciones
y no una amplia gama de ellas. No obstante los unos y
ceros para poder representar nmeros o letras se
transmiten entre los dispositivos de a grupos mnimos de
cuatro cifras, salvo en excepciones de comunicacin con
flujo de datos en serie, en los cuales igualmente al final se
agrupan los unos y ceros en grupos pese a que se
transmitan de a uno.
El lenguaje en las computadoras se basa en representar
nmeros y letras a partir de tan solo dos estados. En la
siguiente tabla a modo de ejemplo indico con nmeros
binarios el equivalente a un nmero decimal, de un ancho
de banda de cuatro dgitos (4 bits).

83

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Nota:
BIT: es la unidad ms elemental del manejo de la
informacin esta constituida por un dgito binario que puede
adoptar el nivel 1 (uno) o 0 (cero)
BYTE: es la unidad agrupada o codificada del manejo de la
informacin. Est conformada por un grupo de bits que
adopta una configuracin: 4(010) bits, 8(00001101) bits,
16(0000001111000110) bits

2.8. Lenguaje Ensamblador


1. Importancia del lenguaje ensamblador
La importancia del lenguaje ensamblador radica
principalmente que se trabaja directamente con el
microprocesador; por lo cual se debe de conocer el
funcionamiento interno de este, tiene la ventaja de que en
l se puede realizar cualquier tipo de programas que en
los lenguajes de alto nivel no lo pueden realizar. Otro
punto sera que los programas en ensamblador ocupan
menos espacio en memoria.

2.
Ventajas
Ensamblador

desventajas

del

Lenguaje

Ventajas
1. Como trabaja directamente con el microprocesador al
ejecutar un programa, pues como este lenguaje es el
mas cercano a la mquina la computadora lo procesa
mas rpido.
2. Eficiencia de tamao: Un programa en ensamblador no
ocupa mucho espacio en memoria porque no tiene que
cargan libreras y dems como son los lenguajes de
alto nivel
84

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

3. Flexibilidad: Es flexible porque todo lo que puede


hacerse con una mquina, puede hacerse en el
lenguaje ensamblador de esta mquina; los lenguajes
de alto nivel tienen en una u otra forma limitantes
para explotar al mximo los recursos de la mquina. O
sea que en lenguaje ensamblador se pueden hacer
tareas especficas que en un lenguaje de alto nivel no
se pueden llevar acabo porque tienen ciertas
limitantes que no se lo permite

Desventajas
1. Tiempo de programacin: Como es un lenguaje de
bajo nivel requiere ms instrucciones para realizar
el mismo proceso, en comparacin con un lenguaje
de alto nivel. Por otro lado, requiere de ms cuidado
por parte del programador, pues es propenso a que
los errores de lgica se reflejen ms fuertemente en
la ejecucin.
2. Programas fuente grandes: Por las mismas razones
que aumenta el tiempo, crecen los programas
fuentes; simplemente requerimos ms instrucciones
primitivas para describir procesos equivalentes. Esto
es una desventaja porque dificulta el mantenimiento
de los programas, y nuevamente reduce la
productividad de los programadores.
3. Peligro de afectar recursos inesperadamente: Que
todo error que podamos cometer, o todo riesgo que
podamos tener, podemos afectar los recursos de la
mquina, programar en este lenguaje lo ms comn
que pueda pasar es que la mquina se bloquee o se
reinicialice.
Porque
con
este
lenguaje
es
perfectamente posible realizar secuencias de
instrucciones invlidas, que normalmente no
aparecen al usar un lenguaje de alto nivel.
4. Falta de portabilidad: Porque para cada mquina
existe un lenguaje ensamblador; por ello,
evidentemente no es una seleccin apropiada de
lenguaje cuando deseamos codificar en una
mquina y luego llevar los programas a otros
sistemas operativos o modelos de computadoras.

3. Relacin del lenguaje ensamblador con los


componentes internos delprocesador
85

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

En la memoria se almacena la informacin en celdas


especiales llamados registros los cuales tienen un
nivel alto y un nivel bajo.
Unidad aritmtica y lgica es la responsable de
realizar como su nombre lo indica operaciones
aritmticas y lgicas.
Unidad de control Se encarga de coordinar de que
los otros componentes ejecuten las operaciones
correctamente.
Bus interno son los canales por donde pasa la
informacin que la mquina va a procesar (bus de
entrada) o procesada (bus de salida).

Registros de uso general


AX: Registro acumulador, dividido en AH y AL (8 bits
cada uno).- Interviene en las operaciones aritmticas y
lgicas, despus de la operacin arroja un resultado.
BX: Registro base, dividido en BH y BL.- Se utiliza en
transferencias de datos entre la memoria y el
procesador.
CX: Registro contador, dividido en CH y CL.- Se utiliza
como contador en bucles(LOOP), en operaciones con
cadenas(REP), y en desplazamientos(CL).
DX: Registro de datos, dividido en DH y DL.- Se utiliza
en operaciones de multiplicacin y divisin junto con Ax
y en operaciones de entrada y salida de puertos, su
mitad inferior DL contiene el nmero de puertos.

Registros de Estado
Hay nueve indicadores de un bit en este registro de 16
bits. Los cuatro bits ms significativos estn indefinidos,
mientras que hay tres bits con valores determinados:
los bits 5 y 3 siempre valen cero y el bit 1 siempre vale
uno.
CF (CarryFlag, bit 0):Si vale 1, indica que hubo
"arrastre" (en caso de suma) o "prstamo" (en caso de
resta). Este indicador es usado por instrucciones que
suman o restan nmeros que ocupan varios bytes. Las
instrucciones de rotacin pueden aislar un bit de la
memoria o de un registro ponindolo en el CF.
86

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

PF (ParityFlag, bit 2):Si vale uno, el resultado tiene


paridad par, es decir, un nmero par de bits a 1. Este
indicador se puede utilizar para detectar errores en
transmisiones.
AF (AuxiliarycarryFlag, bit 4):Si vale 1, indica que hubo
"arrastre" o "prstamo" del nibble (cuatro bits) menos
significativo al nibble ms significativo. Este indicador
se usa con las instrucciones de ajuste decimal.
ZF (Zero Flag, bit 6): Si este indicador vale 1, el
resultado de la operacin es cero.
SF (SignFlag, bit 7):Refleja el bit ms significativo del
resultado. Como los nmeros negativos se representan
en la notacin de complemento a dos, este bit
representa el signo: 0 si es positivo, 1 si es negativo.
TF (TrapFlag, bit 8):Si vale 1, el procesador est en
modo paso a paso. En este modo, la CPU
automticamente genera una interrupcin interna
despus de cada instruccin, permitiendo inspeccionar
los resultados del programa a medida que se ejecuta
instruccin por instruccin.
IF (InterruptFlag, bit 9):Si vale 1, la CPU reconoce
pedidos de interrupcin externas. Si vale 0, no se
reconocen tales interrupciones.
DF (DirectionFlag, bit 10):Si vale 1, las instrucciones con
cadenas sufrirn "auto-decremento", esto es, se
procesarn las cadenas desde las direcciones ms altas
de memoria hacia las ms bajas. Si vale 0, habr "auto1incremento",
PAGE 60,132 lo que quiere decir que las cadenas se
2 TITLE P04ASM1 ESTRUCTURA DE UN PROGRAMA .EXE
procesarn de "izquierda a derecha".

87

3;-----------------------------------------------4 STACKSG SEGMENT PARA STACK 'Stack'


(Overflowflag, bit 11):Si vale 1, hubo un desborde en
5OF
...
una
operacin
6 STACKSG
ENDS aritmtica con signo, esto es, un dgito
significativo se perdi debido a que tamao del
7;-----------------------------------------------8resultado
DATASG SEGMENT
PARA
es mayor
que'Data'
el tamao del destino.
9 ...
10 DATASG ENDS
11;------------------------------------------12 CODESG SEGMENT PARA 'Code'
Ejemplo
lenguaje
ensamblador
13 BEGINen
PROC
FAR
14 ASSUME SS:STACKSG, DS:DATASG,CS:CODESG
15 MOV AX, DATASG ;Obtiene la direccin del
segmento de datos
16 MOV DS, AX ;Almacena direccin en DS
17 ...
Arquitectura
procesadores
Ing. Cruz Castaeda Carlos M.
18 MOV AX,de4C00H
;Peticin
19 INT 21H ;Salida al DOS
20 BEGIN ENDP
21 CODESG ENDS
22 END BEGIN

Ingeniera de Sistemas

2.9. Relacin entre el cdigo binario y el


lenguaje ensamblador
En el cdigo binario se utilizan ceros y unos, mientras que
el lenguaje ensamblador es una coleccin de smbolos
mnemnicos que representan: operaciones, nombres
simblicos, operadores y smbolos especiales.
La relacin entre estos dos lenguajes sera que el binario
es el lenguaje que la mquina entiende y el ensamblador
se acerca msal lenguaje de esta.
Manejo de la memoria: Direccionamiento (interno y
externo)
El manejo de la memoria depende de que procesador
tenga la mquina, entre los cuales a continuacin se
mencionan los siguientes:

Memoria de Programa
Memoria Externa de Datos
Memoria Interna de Datos
Registros de Funciones Especiales
Memoria de Bit.

El espacio de la Memoria de Programa contiene todas las


instrucciones, datos, tablas y cadenas de caracteres
(strings) usadas en los programas. Esta memoria se
direcciona principalmente usando el registro de 16 bits
llamado Data Pointer. El tamao mximo de la Memoria
de Programa es de 64 Kbytes.
88

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

La Memoria Externa de Datos contiene todas las variables


y estructuras de datos que no caben en la memoria
interna del Microprocesador. Esta memoria se direcciona
principalmente por el registro de 16 bits Data Pointer,
aunque tambin se puede direccionar un banco de
Memoria Externa de Datos de 256 bytes usando los dos
primeros registros de propsito general.
El espacio de Memoria Interna de Datos funcionalmente
es la memoria de datos ms importante, ya que ah es
donde residen cuatro bancos de registros de propsito
general; la pila o stack del programa; 128 bits de los 256
bits de un rea de memoria direccionable por bit y todas
las variables y estructuras de datos operadas
directamente por el programa. El tamao mximo de la
Memoria Interna de Datos es de 256 bytes.
Contiene un espacio para los denominados Registros de
Funciones Especiales destinado para los puertos de
entrada/salida, temporizadores y puerto serie del circuito
integrado. Estos registros incluyen al Stack Pointer; al
registro de la palabra de estado del programa y al
Acumulador. La cantidad mxima de Registros de
Funciones Especiales es 128.
Todos los Registros de Funciones Especiales tienen
direcciones mayores a 127 y se ubican en los 128 bytes
superiores de la Memoria Interna de Datos. Estas dos
reas de la Memoria Interna de Datos se diferencian por el
modo de direccionamiento usado para accesarlas. Los
Registros de Funciones Especiales solo se pueden accesar
usando el modo de direccionamiento Directo, mientras
que los 128 bytes superiores solo se pueden accesar con
el modo de direccionamiento Indirecto.
Por otra parte, el espacio de Memoria de Bit se usa para
almacenar variables y banderas de un bit. El tamao
mximo de la Memoria de Bit es de 256 bits, 128 de los
bits comparten su espacio con 16 bytes del espacio de la
Memoria Interna de Datos y los otros 128 bits lo hacen
con los Registros de Funciones Especiales.

3. Bibliografa
ABACUS SOFTWARE. Atari ST machine lenguaje 16 bits - USA:
1985
Paul A. Carter. Lenguaje Ensamblador para PC ESPAA: 1993
89

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Carlos Navarro.Lenguaje de Bajo Nivel, Ensamblador


Alfredo E. LopesJimenez.Electrnica Digital1edicion- PER:
Huacho 2011
http://es.wikipedia.org/wiki/Firmware
http://www.carlosnuel.com/tutorial-de-lenguaje-ensamblador-enespanol-con-ejemplos.html
http://wwwdi.ujaen.es/mcdiaz/docencia/cur04_05/fi/teoria/03_Le
nguajes.pdf

4. Valotario de Preguntas
1. Qu es el lenguaje maquina?
2. Qu ventaja tiene un programa hecho en lenguaje maquina
recpecto a computadora donde fue hecho?
3. Cules son las partes fsicas que intervienen para proceso de
este lenguaje?
4. Qu es un byte?
5. Qu es un bit?
6. Mencione dos ejemplos de Bytesde distintos tamaos
7. Cules son los registros de uso general?
8. Mencione 4 registros de estado.
9. Cul es la ventaja de un programa hecho en ensamblador con
respecto a la memoria?
10.
Mencione algn software de emulacin para programar en
Lenguaje mquina.
90

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

11.
Qu es un registro AX en que se divide?
12.
Por qu se debe usar un emulador para programar en
lenguaje maquina si somos inexpertos?
13.
Qu es el lenguaje binaro?
14.
Escriba la palabra FEA en binario a una configuracin de
4 bits
15.
Cules son las partes de una instruccin?

CAPTULO VI
91

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

INTERRUPCIONES

1. Introduccin
Cuando no existan interrupciones, era el procesador el que tena
que estar continuamente comprobando el estado de los
dispositivos para saber cundo estos lo necesitaban.
Todo ese tiempo que el procesador estaba sondeando el estado de
los dispositivos era tiempo que no se poda dedicar a otros
procesos, lo que significaba una afectacin en cuanto a
rendimiento. Por todo ello se pens que lo mejor era que existiera
una lnea especial entre el procesador y los dispositivos, por la que
los dispositivos indicaban al procesador que ya estaban listos o si
requeran de l.
Es as como surgen las interrupciones. Existen 256 direcciones de
interrupcin diferentes.

2. Contenido
2.1. Concepto
Las interrupciones son un mtodo del que disponen los
dispositivos e incluso los procesos para hacer notar a la CPU
92

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

la aparicin de alguna circunstancia que requiera su


intervencin.
De este modo, los dispositivos pueden
provocar que la CPU deje por el
momento la tarea que estaba realizando
y atienda la interrupcin. Una vez
atendida, seguir con su labor anterior.

2.2.
Funcionamiento
del
mecanismo de interrupciones
Cada dispositivo que desea comunicarse con el procesador
por medio de interrupciones debe tener asignada una lnea
nica capaz de avisar al CPU que le requiere para una
operacin.
Esta
lnea
es
la
llamada
IRQ
("InterruptReQuest", peticin de interrupcin).
Las IRQ son lneas que llegan al controlador de
interrupciones, un componente de hardware, dedicado a la
gestin de las interrupciones, y que puede estar integrado
en el procesador principal o ser un circuito separado
conectado al procesador principal. El controlador de
interrupciones debe ser capaz de habilitar o inhibir lneas
de
interrupcin
(operacin
llamada
comnmente
enmascarar por la utilizacin de una mscara), y establecer
prioridades entre las distintas interrupciones habilitadas.
Cuando varias lneas de peticin de interrupcin se activan
a la vez, el controlador de interrupciones utilizar estas
prioridades para escoger la interrupcin sobre la que
informar al procesador principal. Tambin puede darse el
caso de que una rutina de tratamiento de interrupcin sea
interrumpida para realizar otra rutina de tratamiento de
una interrupcin de mayor prioridad a la que se estaba
ejecutando. Sin embargo hay interrupciones que no se
pueden enmascarar o deshabilitar, las conocidas como
interrupciones no enmascarables o NMI.
Un procesador principal que no tenga un controlador de
interrupciones integrado, suele tener una nica lnea de
interrupcin llamada habitualmente INT. Esta lnea es
activada por el controlador de interrupciones cuando tiene
una interrupcin que servir. Al activarse esta lnea, el
procesador consulta los registros del controlador de
interrupciones para averiguar cual IRQ hay que atender. A
partir del nmero del IRQ busca en la tabla de vectores de
interrupcin la direccin de la rutina que debe llamar para
93

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

atender una peticin del dispositivo asociado a dicha IRQ.


Las rutinas de interrupcin generalmente toman un
pequeo y orejn tiempo de ejecucin.
Pasos para el procesamiento de una IRQ:
1. Terminar la ejecucin de la instruccin de mquina en
curso.
2. Salva el valor de contador de programa, IP, en la pila, de
manera que en la CPU, al terminar el proceso, pueda seguir
ejecutando el programa a partir de la ltima instruccin.
3. La CPU salta a la direccin donde est almacenada la rutina
de servicio de interrupcin (InterruptServiceRoutine (ISR)) y
ejecuta esa rutina que tiene como objetivo atender al
dispositivo que gener la interrupcin.
4. Una vez que la rutina de la interrupcin termina, el
procesador restaura el estado que haba guardado en la
pila en el paso 2 y retorna al programa que se estaba
usando anteriormente.

2.3. Lneas de peticin de interrupcin


El bus de control dispone de lneas especficas para el
sistema de interrupciones. En el PC XT existen 8,
numeradas del 0 al 7, aunque las dos primeras estn
asignadas al temporizador y al teclado, con lo que solo
quedaban 6 lneas para otros dispositivos, que aparecen
como tales en el bus de control (IRQ2- IRQ7).
A partir del modelo AT se aadieron otras 8 lneas,
numeradas del 8 al 15, mediante un segundo procesador
PIC, aunque la tecnologa empleada exigi colgarlo de la
lnea IRQ2, de forma que esta lnea se dedica a atender las
interrupciones del segundo controlador a travs de la lnea
9 de este ltimo, y la lnea 8 se dedic al reloj de tiempo
real, un dispositivo que no exista en los modelos XT.
Aunque internamente se manejan 16 lneas, no todas
tienen contacto en los zcalos del bus externo, solo las
marcadas con asterisco (*) en la tabla que sigue. La razn
de esta ausencia en los zcalos de conexin es que son de
asignacin fija, y nadie ms que ciertos dispositivos
instalados en la propia placa tiene que utilizarlas.
94

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

En concreto la lnea NMI est asignada al mecanismo de


control de paridad de la memoria; la lnea 0 est asignada
al cronmetro del sistema y la lnea 1 al chip que controla
el teclado (dispositivos que pueden requerir atencin
urgente por parte del procesador).
Es costumbre
denominar IRQx a las que tienen prolongacin en el bus.
Tericamente las restantes lneas podran ser asignadas a
cualquier nuevo dispositivo, pero en la prctica algunas
estn
reservadas
a
dispositivos
estndar.
Por
ejemplo, IRQ3 est casi siempre asignado al puerto serie
COM2 y IRQ4 a COM1; IRQ6 al controlador estndar de
disquetes y IRQ7 al puerto de impresora LPT1. La tabla
siguiente muestra las asignaciones clsicas para el XT y el
AT:

Nombr Int (he


XT: Descripcin
e
x)
NMI --Paridad*
0
08
Temporizador*
1
09
Teclado*
IRQ2 0A
IRQ3 0B
IRQ4 0C
IRQ5 0D
IRQ6 0E
IRQ7 0F
8
70
9
71
IRQ10 72
IRQ11 73
IRQ12 74
13
75
IRQ14 76
IRQ15 77

95

AT: Descripcin

Paridad*
Temporizador*
Teclado*
Interrupciones 8 a 15
Reservado
(PIC#2)
Puertos
serie Puerto
serie
COM2/COM4
COM2/COM4
Puertos
serie Puerto
serie
COM1/COM3
COM1/COM3
Impresora
secundaria
Disco duro
LPT2
Disquete
Disquete
Impresora primaria LPT1
Impresora primaria LPT1
[8]
No aplicable
Reloj de tiempo real*
No aplicable
Redirigido a IRQ2*
No aplicable
no asignado
No aplicable
no asignado
No aplicable
Ratn PS2
No aplicable
Coprocesador 80287*
No aplicable
Contr. disco IDE primario
Contr.
disco
IDE
No aplicable
secundario

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Cuando se instala un dispositivo E/S que puede necesitar


atencin del procesador, debe asignrsele una IRQ
adecuada. Dicho en otras palabras, cuando requiera
atencin debe enviar una seal en la lnea IRQ
especificada. Inicialmente esta asignacin se efectuaba de
forma manual, por medio de puentes ("Jumpers") en la
placa o dispositivo, pero actualmente esta seleccin puede
hacerse por software.

2.4. Controlador PIC


Es
el
controlador
programable de interrupciones
usado
especialmente en los IBM PCs. Es
un dispositivo que
permite
asignar
niveles de prioridad a sus interrupciones
de salida. Cuando el dispositivo tiene
mltiples interrupciones de salida para
hacer, las realiza en un orden
dependiendo de una relativa prioridad.
Las peticiones hardware de interrupcin
del PC son manejadas por un chip,
conocido
como PIC#1
("ProgrammableInterruptController"). Uno de los ms
conocidos PICs es el 8259A, que fue incluido en
las PCs x86. En las actuales PCs x86, no es incluido como
un chip separado sino que su funcionalidad la realiza una
parte del puente sur de la placa madre. Este chip poda
manejar 8 peticiones (IRQ0/IRQ7), pero pronto se hizo
evidente que eran un nmero excesivamente corto, por lo
que en 1984 IBM aadi un segundo controlador PIC#2 en
el
modelo
AT,
que
poda
manejar
las
peticiones IRQ8 a IRQ15,
aunque
las
interrupciones
utilizables resultantes no fuesen de 16 como cabra
suponer, por las razones apuntadas en el prrafo anterior.
En otros casos, el PIC 8259A ha sido reemplazado por
versiones
ms
modernas
como
el
AdvancedProgrammableInterruptControllers (APIC), que
soporta muchas ms interrupciones de salida y esquemas
de prioridades ms flexibles.

2.5. Tipos de interrupciones


96

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

Atendiendo a su origen, en el PC existen tres tipos de


interrupciones:
a) Interrupciones de hardware:
Ocurren cuando un dispositivo
necesita atencin del procesador
genera una seal elctrica en la
lnea IRQ que tiene asignada.
Esta seal es recogida y
procesada por el controlador de
excepciones PIC antes de ser
enviada al procesador, lo que
puede realizarse de dos formas,
segn el tipo de interrupcin sea
enmascarable
o
no
enmascarable:

i.

ii.

Interrupciones Enmascarables:
Significa que bajo el control del software, el
procesador puede aceptar o ignorar (enmascarar) la
seal de interrupcin. Para ello se enva una seal a
la patilla a INT R, y el procesador la atiende o la
ignora en funcin del contenido de un bit (flags) que
puede estar habilitado o deshabilitado.
Interrupciones No Enmascarables:
Significa que la interrupcin no puede ser
deshabilitada
por
software.
Este
tipo
de
interrupciones ocurren cuando se recibe una seal
en la patilla NMI (NonmaskableInterrupt) del
procesador. Se reservan para casos en que es crtica
la respuesta, por ejemplo que se detecte un error de
paridad en la memoria. Adems son de prioridad
ms alta que las enmascarables.
Tambin las interrupciones de hardware se clasifican en:

iii.

Interrupciones externas:
Las interrupciones externas las generan los
dispositivos perifricos, como pueden ser: teclado,
impresoras, tarjetas de comunicaciones, etc.
Tambin son generadas por los coprocesadores.
No es posible desactivar a las interrupciones
externas. Estas interrupciones no son enviadas
directamente a la CPU, sino que se mandan a un
circuito integrado cuya funcin es exclusivamente
manejar este tipo de interrupciones. El circuito,

97

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

llamado PIC 8259A, si es controlado por la CPU


utilizando para tal control una serie de vas de
comunicacin llamadas puertos.
Una lista de las interrupciones generadas por
hardware es la siguiente:
IRQ
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Prioridad Funcin
1
Timer
2
Teclado Hardware
Reservada
11
COM 2
12
COM 1
13
Tarjeta de Sonido
14
Controlador Floppy
15
Puerta Paralela
3
Reloj (tics)
4
Libre para tarjeta de red, sonido, puerta SCSI
5
Idem
6
Idem
7
PS-mouse
8
Co-procesador matemtico
9
Canal IDE primario
10
Canal IDE secundario
iv.

Interrupciones internas:
Las interrupciones internas son generadas por
ciertos eventos que surgen durante la ejecucin de
un programa. Este tipo de interrupciones son
manejadas en su totalidad por el hardware y no es
posible modificarlas.
Un ejemplo claro de este tipo de interrupciones es la
que actualiza el contador del reloj interno de la
computadora, el hardware hace el llamado a esta
interrupcin varias veces durante un segundo para
mantener la hora actualizada.
Aunque no podemos manejar directamente esta
interrupcin (no podemos controlar por software las
actualizaciones del reloj), es posible utilizar sus
efectos en la computadora para nuestro beneficio,
por ejemplo para crear un "reloj virtual" actualizado
continuamente gracias al contador del reloj interno.
nicamente debemos escribir un programa que lea

98

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

el valor actual del contador y lo traduzcan a un


formato entendible para el usuario.
b) Interrupciones de software:
Las interrupciones de software
pueden
ser
activadas
directamente
por
el
ensamblador
invocando
al
nmero
de
interrupcin
deseada con la instruccin INT.
El uso de las interrupciones nos ayuda en la creacin de
programas, utilizndose nuestros programas son ms
cortos, es ms fcil entenderlos y usualmente tienen un
mejor desempeo debido en gran parte a su menor
tamao.
Este tipo de interrupciones podemos separarlas en dos
categoras: las interrupciones del sistema operativo DOS y
las interrupciones del BIOS.
La diferencia entre ambas es que las interrupciones del
sistema operativo son ms fciles de usar pero tambin
son ms lentas ya que estas interrupciones hacen uso del
BIOS para lograr su cometido, en cambio las
interrupciones del BIOS son mucho ms rpidas pero
tienen la desventaja que, como son parte del hardware
son muy especficas y pueden variar dependiendo incluso
de la marca del fabricante del circuito.
La eleccin del tipo de interrupcin a utilizar depender
nicamente de las caractersticas que le quiera dar a su
programa: velocidad (utilizando las del BIOS) o
portabilidad (utilizando las del DOS).
c) Excepciones del procesador:
Durante el funcionamiento del procesador pueden ocurrir
circunstancias excepcionales; es usual citar como ejemplo
el caso de una divisin por cero. En estos casos, el
procesador genera una excepcin, que es tratada como si
fuese una interrupcin software, con la diferencia de que
el nmero de interrupcin asociado depende del tipo de
excepcin.

99

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

En el caso de la divisin por


cero el nmero asociado es
cero. Este era el nico tipo de
excepcin
de
procesador
prevista en el 8088, pero en
los modelos sucesivos de la
saga x86 y Pentium esta
posibilidad fue amplindose paulatinamente.

2.6. Orden de prioridad


Las interrupciones tienen un orden de prioridad, de forma
que si ocurren dos de forma simultnea es atendida la de
prioridad ms alta. El orden en que se atienden es el
siguiente:

1: Excepciones del procesador.


2: Interrupciones de software.
3: Interrupciones de hardware no enmascarables.
4: Interrupciones de hardware enmascarables.

2.7. Tabla de interrupciones

Las principales interrupciones del 8086/8088 son las


siguientes:

Interrupcin
Uso
Hex
Decimal
00h
0
Generada por la CPU cuando se intenta hacer una
01h
1
Utilizada par ir paso a paso por los programas (como
100

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

02h
03h

2
3

04h

05h
06h
07h
08h
09h
0Ah a
0Dh
0Eh

5
6
7
8
9
10

0Fh
10h
11h
12h
13h
14h
15h
16h
17h
18h
19h

15
16
17
18
19
20
21
22
23
24
25

1Ah
1Bh
1Ch
1Dh
1Eh
1Fh
20h
21h
22h
23h
24h
25h
26h
27h
28h
29h
2Ah a
2Eh
2Fh
30h a

26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
48
47
48

101

14

Interrupcin no enmascarable
Utilizada para establecer puntos de ruptura en
programas (igual que con DEBUG)
Generada cuando operaciones aritmticas dan
operaciones de desbordamientos
Invoca la rutina de servicio de imprimir pantalla de
Reservada para DOS
Reservada para DOS
Generada por el tic-tac del reloj del hardware
Generada por accin del teclado
a 13 Reservadas para BIOS
Seala atencin al diskette (por ejemplo, para
sealar operacin completada)
Utilizada para controlar la impresora
Invoca servicios de vdeo de la ROM BIOS
Invoca el servicio de lista de equipamiento de ROM
Invoca servicio de tamao de memoria de la ROM
Invoca servicios de disco de la ROM BIOS
Invoca servicios de comunicaciones de la ROM BIOS
Invoca servicios del sistema de la ROM BIOS
Invoca los servicios estndar del teclado de la ROM
Invoca los servicios de la impresora de la ROM BIOS
Activa el lenguaje BASIC de la ROM
Invoca la rutina cargadora de la secuencia de
arranque de la ROM BIOS (invocarla equivale a
hacer un
Invoca
losRESET)
servicios de hora y fecha de la ROM BIOS
Interrupcin de la ROM BIOS para Ctrl-Break
Interrupcin generada con cada pulso de reloj
Apunta a la tabla de parmetros de control del vdeo
Apunta a la tabla de parmetros de la unidad de
Apunta a los caracteres grficos del CGA
Invoca al servicio de terminacin de programa del
Invoca a todos los servicios de llamada a funcin
Direccin de la rutina de terminacin del programa
Direccin de la rutina de break del teclado del DOS
Direccin de la rutina de errores crticos del DOS
Invoca al servicio de lectura absoluta del DOS
Invoca al servicio de escritura absoluta del DOS
Termina un programa, quedando residente
Dos Idle
Interno DOS. PutChar Rpido
a 46 Reservado para DOS
Ejecutar comando
Interrupcin mltiple del DOS
a 50 Reservado para DOS

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

32h
33h
34h a
3Eh
3Fh
40h
41h
42h
43h
44h
45h
46h
47h a
4Ah
4Bh a
60h a
67h
68h a
69h
70h
71h a
75h
76h a
79h
7Ah
7Bh a
80h a
F1h a
FFh

51
Funciones del driver del ratn
52 a 62 Reservado para DOS
63
Gestor Overlay
64
Reasignacin Disquete BIOS
65
Apunta a la tabla de parmetros del disco duro
66
Gestor Vdeo Reasignado
67
Apunta a los caracteres grficos de vdeo (EGA,
68
API red Novell
69
Reservado
70
Parmetros del disco duro
71 a 73 Reservadas para BIOS
74
Alarma usuario
75
Reservadas para BIOS
a102
Reservadas a programas
103
Invoca al gestor de memoria expandida LIM
104
aReservadas para BIOS
105
106
Reloj tiempo real
107 a
Reservadas para BIOS
111
Redirigido a interrupcin NMI
112 a
Reservadas
114
115
Software Novell (API)
116 a
121 a
A255

No usadas
Reservado para BASIC
Reservadas a programas

Servicios de la interrupcin 10h (video)


Servic Descripcin
io
00
Asignar modo de video
01
Asignar tipo de cursor
02
Situar posicin del cursor
03
Leer posicin del cursor
04
Leer posicin de lpiz ptico
05
Seleccionar pagina de pantalla
06
Inicializar ventana o desplazar su contenido en
07
Inicializar ventana o desplazar su contenido en
08
Obtener atributo y caracter en el cursor
09
Escribir atributo y caracter en el cursor
0A
Escribir nicamente caracter en el cursor
0B
Asignar paleta de colores
0C
Mostrar pixel grafico
0D
Leer pixel grafico
0E
Mostrar texto en modo teletipo
0F
Obtener modo de pantalla actual
102

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

10
11
12
13
FE

Mostrar registros de paleta


Reservada
Reservada
Escribir cadena
Obtener buffer del video

Servicios de la interrupcin 15h (ROM BIOS)


ServicDescripcin
21
EventWait
84
Leer Joystick
86
Delay (CX DX)
88
Tamao mem.extend.
c0
Parmentros sistema
c1
Datos BIOS extendida
Servicios de la interrupcin 16h (teclado)
ServicDescripcin
00
Leer caracter teclado
01
Comprobar buffer teclado
02
Obtener byte estado teclado
03
Definir velocidad teclado
05
Colocar en buffer teclado
10
Leer caracter ampliado
11
Comprobar buffer ampliado
12
Obtener byte t.ampliado

Servicios de la interrupcin 21h (sistema)


ServicDescripcin
00
Terminacin de Programa
01
Entrada de caracteres con eco
02
Salida de caracteres
03
Entrada auxiliar
04
Salida auxiliar
05
Salida de impresora
06
E/S directa de consola
07
Entrada de caracteres no filtrados sin eco
08
Entrada de caracteres sin eco
09
Salida de una cadena de caracteres
0A
Entrada con buffer
103

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

18
19
1
1B
1C
1D
1E
0B
0C
1F
0D
20
0E
21
0F
22
10
23
24
11
25
12
26
13
27
14
28
15
29
16
2
17
2B
2C
2D
2E
2F
30
31
32
33
34
35
36
37
38
39
3
3B
3C
3D
3E
3F
40
41
42
43
44
45
46
47
48
49
4
4B
4C
4D
4E104
4F
50
51
52

Reservado
Obtener unidad de disco por defecto
Asignar direccin de la zona de transferencia de
Ingeniera
de Sistemas
Obtener informacin de ubicacin
para unidad
por
defecto informacin de ubicacin para unidad
Obtener
Reservado
Reservado
Obtener status de entrada
Borrar buffer de entrada y aceptar entrada
Reservado
Reset de disco
Reservado
Asignar aleatoria
unidad de disco po defecto
Lectura
Abrir fichero
Escritura
aleatoria
Cerrar
fichero
Obtener tamao de fichero
Asignar
Buscar primera
nmero coincidencia
de registro aleatorio
Asignar
vector
de
interrupcin
Buscar siguiente coincidencia
Crear
Borrarprefijo
ficherodel segmento de programa
Lectura aleatoria
de bloque
secuencial
Escritura aleatoria
de bloque
secuencial
Anlisis
(transcripcin) de nombre de fichero
Crear o truncar
Obtener
delde
sistema
Cambiar fecha
nombre
fichero
Asignar fecha al sistema
Obtener hora del sistema
Asignar hora al sistema
Activar flag de verificacin
Obtener direccin de la zona de transferencia de
Obtener numero de versin MS-DOS
Terminar y permanecer residente
Reservado
Obtener o activar flag de Ctrl-Break
Reservado
Obtener vector de interrupcin
Obtener espacio libre en disco
Reservado
Obtener o asignar pas
Crear subdirectorio
Borrar subdirectorio
Asignar directorio actual
Crear o truncar fichero
Abrir fichero
Cerrar fichero
Leer fichero o dispositivo
Escribir en fichero o dispositivo
Borrar fichero
Desplazar puntero del fichero
Obtener o asignar atributos del fichero
Control de gestor de dispositivo (IOCTL)
Duplicar handle
Duplicacin forzada de handle
Obtener directorio actual
Asignar memoria
Liberar memoria
Modificar Asignacin de memoria
Ejecutar programa
Terminar con cdigo de retorno
Obtener cdigo de retorno
Arquitectura
de procesadores Ing. Cruz Castaeda Carlos M.
Buscar
primera coincidencia
Buscar siguiente coincidencia
Reservado
Reservado
Reservado

Ingeniera de Sistemas

3. Bibliografa
http://148.204.211.134/polilibros/portal/Polilibros/P_terminados/Polilibr
oFC/Unidad_V/Unidad%20V_2.htm

http://www.zator.com/Hardware/H2_4.htm#Evolucin

http://www.slideshare.net/cortesalvarez/interrupciones-sistemasoperativos

http://es.kioskea.net/contents/pc/interruptions-irq-dma.php3

http://logica-reptilia.blogspot.com/2009/03/interrupciones.html

http://es.wikipedia.org/wiki/Interrupci%C3%B3n

http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r34562.PD
F

105

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

Ingeniera de Sistemas

VALOTARIO DE PREGUNTAS:
1. Cul es la principal diferencia entre interrupciones
enmascarables y no enmascarables?
2. Las interrupciones de software, en qu categora se pueden
separar y cul es la caracterstica principal de stas?
3. Las interrupciones que actualiza el controlador interno de la
computadora, qu tipo de interrupcin es? Por qu?
4. Cul es el orden de prioridad para la atencin de las
interrupciones?
5. Cules son las interrupciones con la mayor y menor prioridad?
6. Por qu el PIC 8259A fue reemplazado por APIC?
7. Cul es la interrupcin encargada del manejo del mouse?
8. En qu consisten las llamadas interrupciones del BIOS?
9. De qu forma se invoca a una interrupcin? Ejemplo

106

Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.

You might also like