Sie sind auf Seite 1von 105

Ingeniera

de Sistemas

CICLO: V

U.N.J.F.S.C Ingeniera de Sistemas
12/12/2012
Ingeniera de Sistemas 2012


1 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.





CAPTULO I
ARQUITECTURA DE
MICROPROCESADORES
I Y II





Ingeniera de Sistemas 2012


2 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 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 lgicas simple
s, 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
Ingeniera de Sistemas 2012


3 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 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
Ingeniera de Sistemas 2012


4 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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,
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 si. 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 (system on 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
Ingeniera de Sistemas 2012


5 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


procesadores ya que puede ser que algunos sean ms rpidos que otros en un
tipo de aplicaciones y en otras no.

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.
Ingeniera de Sistemas 2012


6 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


Circuitos operadores (CIROP): realizan las operaciones elementales
aritmticas y lgicas.
Registro de resultados (RR): en l se depositan los resultados obtenidos en
los circuitos operadores

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 Instruction Register 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.
Ingeniera de Sistemas 2012


7 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.



Zcalo: Es 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.

Chipset: El "chipset" (conjunto de circuitos integrados) es el 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 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.

Bus de datos: En este punto en el que el procesador lee/escribe datos en
la memoria principal, y en los dispositivos entrada/salida.

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 calculadora de Busicom e inici el
Ingeniera de Sistemas 2012


8 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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.
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 reloj de CPU: 0.5 Mhz a 0.8 Mhz
Conjunto de instrucciones: pre x86
Zcalo(s): 18 pin DIP
Ingeniera de Sistemas 2012


9 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.



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).
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
Ingeniera de Sistemas 2012


10 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 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.
Ingeniera de Sistemas 2012


11 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 los MOS
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 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 el
Osborne 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
Ingeniera de Sistemas 2012


12 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 Game Gear. 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 Game Boy y Game Boy 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, TI-85, TI-86 y sus sucesoras emplean una
versin clnica del Z80 fabricada por NEC como procesador principal.
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.
Ingeniera de Sistemas 2012


13 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 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
Ingeniera de Sistemas 2012


14 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 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
bootstrap loader 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 un i386, debido a que los
cambios del conjunto de instrucciones desde el i386 ha sido mnimo. Adems el
Ingeniera de Sistemas 2012


15 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 instrucciones para 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 Equipment
Corporation (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.
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
Ingeniera de Sistemas 2012


16 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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
Am5x86-P75 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.
1993: PowerPC 601
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.
Ingeniera de Sistemas 2012


17 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 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.
Ingeniera de Sistemas 2012


18 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 x86- decodificadora que transforma todos los comandos x86 de la
aplicacin en comandos RISC. Este principio se usa hasta hoy en todos los CPUs
x86.
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
Ingeniera de Sistemas 2012


19 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.



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 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.






Ingeniera de Sistemas 2012


20 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.



1998: El Intel Pentium II Xeon
Xeon es una 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.







Ingeniera de Sistemas 2012


21 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.



1999: El AMD Athlon K7 (Classic y Thunderbird)
Athlon es el nombre que recibe una gama de microprocesadores compatibles con
la arquitectura x86, diseados por AMD.
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.
1999: El Intel Pentium III

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.
Ingeniera de Sistemas 2012


22 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.



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
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 Core Duo.
Para la sorpresa de la industria informtica, la nueva micro arquitectura
NetBurst del Pentium 4 no mejor el viejo diseo de la micro arquitectura 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
Ingeniera de Sistemas 2012


23 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 la pre 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.
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 Core Duo
Intel Core Duo 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
Ingeniera de Sistemas 2012


24 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 Core Duo 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 Core Duo 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 energa comparados con anteriores NetBurst de los CPU Pentium
4/D2. La microarquitectura Core 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 Silicon
on insulator (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 Direct Connect asegura que los cuatro ncleos tengan un ptimo
acceso al controlador integrado de memoria, logrando un ancho de banda de 16
Ingeniera de Sistemas 2012


25 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 Core Nehalem
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
microarquitectura Nehalem 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 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
CPUs multincleo (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 Amd Phenom 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
Ingeniera de Sistemas 2012


26 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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
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 a 40
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.
Ingeniera de Sistemas 2012


27 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.



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 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.
Ingeniera de Sistemas 2012


28 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 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 a un arreglo de pistas conductoras (en el
sustrato laminado) con la ayuda de unas microesferas que se depositan sobre las
Ingeniera de Sistemas 2012


29 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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.
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
Ingeniera de Sistemas 2012


30 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 Grid Array: 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: Ball Grid Array: La conexin se realiza mediante bolas soldadas al
procesador que hacen contacto con el zcalo
LGA: Land Grid Array: 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 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
Ingeniera de Sistemas 2012


31 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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).
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
Ingeniera de Sistemas 2012


32 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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
La tecnologa CISC (Complex Instruction 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.
Ingeniera de Sistemas 2012


33 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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. 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
Ingeniera de Sistemas 2012


34 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 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:
Ingeniera de Sistemas 2012


35 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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

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+principales+de+un+pro
cesador
http://www.azc.uam.mx/publicaciones/enlinea2/num1/1-2.htm
http://www.monografias.com/trabajos55/microprocesadores-cisc
risc/microprocesadores-cisc-risc.shtml



Ingeniera de Sistemas 2012


36 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 la arquitectura CISC?
7. Cules son las principales bondades de la arquitectura CISC?
8. Cules son las principales ventajas de la arquitectura RISC?
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

Ingeniera de Sistemas 2012


37 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.







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%20microprocesadore
s.webm

VALOTARIO DE PREGUNTAS 2

1- que es un bus de datos
2- cual procesador tiene la arquitectura descubierta
3- que diferencia hay entre aquitectura mac 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 nucleo logico
10- diferencia entre arquitectura 64x y 86x
11- que es la unidad aritmetica logica
12- en que procesador se incluyo la unidad aritmetica logica 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

Ingeniera de Sistemas 2012


38 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.






CAPTULO III
INTERACCIN
PROCESADOR - MEMORIA



Ingeniera de Sistemas 2012


39 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 Process Unit, Unidad Central de
Proceso), aunque este trmino tiene cierta ambigedad, pues tambin puede
referirse a toda la caja que contiene la placa 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)
Ingeniera de Sistemas 2012


40 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


Hercio y sus mltiplos en el Sistema Internacional
1 kilohercio kHz 10
3
Hz 1 000 Hz
1 megahercio MHz 10
6
Hz 1 000 000 Hz
1 gigahercio GHz 10
9
Hz 1 000 000 000 Hz
1 terahercio THz 10
12
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).
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).
Ingeniera de Sistemas 2012


41 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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.

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 12 bits 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.









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.
Ingeniera de Sistemas 2012


42 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.










La lectura consiste en obtener la informacin contenida en una posicin
determinada.






















Ingeniera de Sistemas 2012


43 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 (Read Only Memory), 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.

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).

Ingeniera de Sistemas 2012


44 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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
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.
Ingeniera de Sistemas 2012


45 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.




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

Memoria Ventajas Desventajas

SRAM
-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.

DRAM
-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
Ingeniera de Sistemas 2012


46 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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.
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.
Ingeniera de Sistemas 2012


47 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 los programas 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.
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.
Ingeniera de Sistemas 2012


48 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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: AUTOPISTAS PARA LOS DATOS
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.

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.













Ingeniera de Sistemas 2012


49 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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
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.

Ingeniera de Sistemas 2012


50 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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.
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.




Ingeniera de Sistemas 2012


51 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.



4. INTERACCIN ENTRE EL
MICROPROCESADOR Y 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.

Ingeniera de Sistemas 2012


52 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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.


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 si-
guientes: un procesador, una memoria, unidades de E/S y un sistema de inter-
conexin. 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 ins-
trucciones 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.


Ingeniera de Sistemas 2012


53 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 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.







Ingeniera de Sistemas 2012


54 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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.

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.
Ingeniera de Sistemas 2012


55 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.







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.



Ingeniera de Sistemas 2012


56 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


Tipos de computadores de uso especfico:
Microcontroladores
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.
Ingeniera de Sistemas 2012


57 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.









Ingeniera de Sistemas 2012


58 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


VALOTARIO DE PREGUNTAS
1. Qu es el microprocesador?
2. Qu es el ALU?
3. De qu depende la velocidad del procesador?
4. Cmo interacta el procesador con la memoria cache?
5. 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?




Ingeniera de Sistemas 2012


59 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.




CAPTULO IV
LENGUAJE MQUINA I





Ingeniera de Sistemas 2012


60 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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").















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.

Ingeniera de Sistemas 2012


61 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 Processing Unit (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 arithmetic logic unit), 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

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.



Ingeniera de Sistemas 2012


62 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.















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 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

Ingeniera de Sistemas 2012


63 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 Switching Circuits, y con sus
experiencias en redes de conmutacin, 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.
Ingeniera de Sistemas 2012


64 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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

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
Ingeniera de Sistemas 2012


65 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 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:
Ingeniera de Sistemas 2012


66 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 tiene importantes inconvenientes:
Los programas son difciles de leer.
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.

Ingeniera de Sistemas 2012


67 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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.


LENGUAJE ENSAMBLADOR (ASSEMBLY)

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.
Ingeniera de Sistemas 2012


68 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 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 utilizados como
registros de 8 bits, para utilizarlos como tales es necesario referirse a ellos como por
ejemplo: AH y AL, que son los bytes alto (high) y bajo (low) del registro AX. Esta
nomenclatura es aplicable tambin a los registros BX, CX y DX.
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)
Ingeniera de Sistemas 2012


69 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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).



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.




Ingeniera de Sistemas 2012


70 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.



[Esquema de compilacin]


Ingeniera de Sistemas 2012


71 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.



[Esquema de Microprocesador]






Ingeniera de Sistemas 2012


72 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.




CAPTULO V
LENGUAJE MQUINA II
Ingeniera de Sistemas 2012


73 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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.




Ingeniera de Sistemas 2012


74 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


2. Contenido

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
Ingeniera de Sistemas 2012


75 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


lenguaje que empleamos normalmente para expresar y analizar los
problemas de hoy en da.

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.























Ingeniera de Sistemas 2012


76 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 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:

1. De transferencia de informacin.
2. De tratamiento o aritmtico-lgicas y de desplazamiento
3. De transferencias de control: bifurcaciones, saltos, llamadas
procedimientos y retornos de procedimientos.


Muchas computadoras, por ejemplo, no disponen de instrucciones
especficas de multiplicar y dividir; en su lugar, el programador debe
Ingeniera de Sistemas 2012


77 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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.

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 codican mediante un conjunto
de bits y un formato.
El nmero de instrucciones, y la forma de obtener los operandos
inuyen en el tamao de las instrucciones.

Los lenguajes mquina se dividen en dos categoras:

1. Instrucciones con formato jo:
El tamao de la instruccin y su formato es idntico para todas las
instrucciones.
Decodicacin simple.
Ingeniera de Sistemas 2012


78 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


Cdigo ineciente 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.

Decodicacin compleja.
Cdigo compacto.


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,
Ingeniera de Sistemas 2012


79 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.



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.

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 resto de 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 (Reduced Instruction Set Computer=Ordenador
con Conjunto de Instrucciones Reducidas) de 32 bits desarrollada por ARM Holdings.

Ingeniera de Sistemas 2012


80 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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.



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).




Ingeniera de Sistemas 2012


81 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.



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 y desventajas del Lenguaje Ensamblador

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

Ingeniera de Sistemas 2012


82 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 del procesador
Ingeniera de Sistemas 2012


83 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.



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 (Carry Flag, 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
Ingeniera de Sistemas 2012


84 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


bytes. Las instrucciones de rotacin pueden aislar un bit de la
memoria o de un registro ponindolo en el CF.
PF (Parity Flag, 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 (Auxiliary carry Flag, 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 (Sign Flag, 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 (Trap Flag, 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 (Interrupt Flag, bit 9): Si vale 1, la CPU reconoce pedidos de
interrupcin externas. Si vale 0, no se reconocen tales
interrupciones.

DF (Direction Flag, 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 "auto-incremento", lo que quiere decir que las
cadenas se procesarn de "izquierda a derecha".

OF (Overflow flag, bit 11): Si vale 1, hubo un desborde en una
operacin aritmtica con signo, esto es, un dgito significativo se
perdi debido a que tamao del resultado es mayor que el tamao
del destino.


Ingeniera de Sistemas 2012


85 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.



Ejemplo en lenguaje ensamblador


















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 ms al
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
1 PAGE 60,132
2 TITLE P04ASM1 ESTRUCTURA DE UN PROGRAMA .EXE
3;------------------------------------------------
4 STACKSG SEGMENT PARA STACK 'Stack'
5 ...
6 STACKSG ENDS
7;------------------------------------------------
8 DATASG SEGMENT PARA 'Data'
9 ...
10 DATASG ENDS
11;-------------------------------------------
12 CODESG SEGMENT PARA 'Code'
13 BEGIN 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 ...
18 MOV AX, 4C00H ;Peticin
19 INT 21H ;Salida al DOS
20 BEGIN ENDP
21 CODESG ENDS
22 END BEGIN
Ingeniera de Sistemas 2012


86 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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.

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.

Ingeniera de Sistemas 2012


87 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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
Carlos Navarro. Lenguaje de Bajo Nivel, Ensamblador
Alfredo E. Lopes Jimenez.Electrnica Digital 1edicion- PER: Huacho 2011

http://es.wikipedia.org/wiki/Firmware
http://www.carlosnuel.com/tutorial-de-lenguaje-ensamblador-en-espanol-
con-ejemplos.html
http://wwwdi.ujaen.es/mcdiaz/docencia/cur04_05/fi/teoria/03_Lenguajes.pdf























Ingeniera de Sistemas 2012


88 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 Bytes de 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.
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?

















Ingeniera de Sistemas 2012


89 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.







CAPTULO VI
INTERRUPCIONES















Ingeniera de Sistemas 2012


90 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.



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 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
Ingeniera de Sistemas 2012


91 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


al CPU que le requiere para una operacin. Esta lnea es la llamada IRQ
("Interrupt ReQuest", 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 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 (Interrupt Service Routine (ISR)) y ejecuta esa
Ingeniera de Sistemas 2012


92 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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.

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:

Ingeniera de Sistemas 2012


93 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.




Nombre Int (hex) XT: Descripcin AT: Descripcin
NMI --- Paridad* Paridad*
0 08 Temporizador* Temporizador*
1 09 Teclado* Teclado*
IRQ2 0A Reservado Interrupciones 8 a 15 (PIC#2)
IRQ3 0B Puertos serie COM2/COM4 Puerto serie COM2/COM4
IRQ4 0C Puertos serie COM1/COM3 Puerto serie COM1/COM3
IRQ5 0D Disco duro Impresora secundaria LPT2
IRQ6 0E Disquete Disquete
IRQ7 0F Impresora primaria LPT1 Impresora primaria LPT1 [8]
8 70 No aplicable Reloj de tiempo real*
9 71 No aplicable Redirigido a IRQ2*
IRQ10 72 No aplicable no asignado
IRQ11 73 No aplicable no asignado
IRQ12 74 No aplicable Ratn PS2
13 75 No aplicable Coprocesador 80287*
IRQ14 76 No aplicable Contr. disco IDE primario
IRQ15 77 No aplicable Contr. disco IDE secundario

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.

Ingeniera de Sistemas 2012


94 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


Las peticiones hardware de interrupcin del PC son manejadas por un
chip, conocido como PIC#1 ("Programmable Interrupt Controller"). 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 Advanced Programmable Interrupt Controllers
(APIC), que soporta muchas ms interrupciones de salida y esquemas
de prioridades ms flexibles.


2.5. Tipos de interrupciones

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

a) Interrupciones de hardware:

Ocurren cuando un dispositivo necesita
atencin del procesador y 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. 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.
Ingeniera de Sistemas 2012


95 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


ii. 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 (Nonmaskable Interrupt) 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,
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 Prioridad Funcin
0 1 Timer
1 2 Teclado Hardware
2 Reservada
3 11 COM 2
4 12 COM 1
5 13 Tarjeta de Sonido
6 14 Controlador Floppy
7 15 Puerta Paralela
8 3 Reloj (tics)
9 4 Libre para tarjeta de red, sonido, puerta SCSI
10 5 Idem
Ingeniera de Sistemas 2012


96 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.








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 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.

11 6 Idem
12 7 PS-mouse
13 8 Co-procesador matemtico
14 9 Canal IDE primario
15 10 Canal IDE secundario
Ingeniera de Sistemas 2012


97 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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.

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.
Ingeniera de Sistemas 2012


98 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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 divisin por
cero
01h 1 Utilizada par ir paso a paso por los programas (como DEBUG)
02h 2 Interrupcin no enmascarable
03h 3 Utilizada para establecer puntos de ruptura en programas
(igual que con DEBUG)
04h 4 Generada cuando operaciones aritmticas dan operaciones de
desbordamientos
05h 5 Invoca la rutina de servicio de imprimir pantalla de la ROM
BIOS
06h 6 Reservada para DOS
07h 7 Reservada para DOS
08h 8 Generada por el tic-tac del reloj del hardware
09h 9 Generada por accin del teclado
0Ah a
0Dh
10 a 13 Reservadas para BIOS
0Eh 14 Seala atencin al diskette (por ejemplo, para sealar
operacin completada)
0Fh 15 Utilizada para controlar la impresora
10h 16 Invoca servicios de vdeo de la ROM BIOS
11h 17 Invoca el servicio de lista de equipamiento de ROM BIOS
12h 18 Invoca servicio de tamao de memoria de la ROM BIOS
13h 19 Invoca servicios de disco de la ROM BIOS
14h 20 Invoca servicios de comunicaciones de la ROM BIOS
15h 21 Invoca servicios del sistema de la ROM BIOS
16h 22 Invoca los servicios estndar del teclado de la ROM BIOS
17h 23 Invoca los servicios de la impresora de la ROM BIOS
18h 24 Activa el lenguaje BASIC de la ROM
19h 25 Invoca la rutina cargadora de la secuencia de arranque de la
ROM BIOS (invocarla equivale a hacer un RESET)
1Ah 26 Invoca los servicios de hora y fecha de la ROM BIOS
1Bh 27 Interrupcin de la ROM BIOS para Ctrl-Break
1Ch 28 Interrupcin generada con cada pulso de reloj
1Dh 29 Apunta a la tabla de parmetros de control del vdeo
1Eh 30 Apunta a la tabla de parmetros de la unidad de disco
1Fh 31 Apunta a los caracteres grficos del CGA
20h 32 Invoca al servicio de terminacin de programa del DOS
21h 33 Invoca a todos los servicios de llamada a funcin DOS
22h 34 Direccin de la rutina de terminacin del programa del DOS
Ingeniera de Sistemas 2012


99 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


23h 35 Direccin de la rutina de break del teclado del DOS
24h 36 Direccin de la rutina de errores crticos del DOS
25h 37 Invoca al servicio de lectura absoluta del DOS
26h 38 Invoca al servicio de escritura absoluta del DOS
27h 39 Termina un programa, quedando residente
28h 40 Dos Idle
29h 41 Interno DOS. PutChar Rpido
2Ah a
2Dh
42 a 46 Reservado para DOS
2Eh 48 Ejecutar comando
2Fh 47 Interrupcin mltiple del DOS
30h a 48 a 50 Reservado para DOS


Servicios de la interrupcin 10h (video)

Servicio Descripcin
00 Asignar modo de video
01 Asignar tipo de cursor
02 Situar posicin del cursor
03 Leer posicin del cursor
32h
33h 51 Funciones del driver del ratn
34h a 3Eh 52 a 62 Reservado para DOS
3Fh 63 Gestor Overlay
40h 64 Reasignacin Disquete BIOS
41h 65 Apunta a la tabla de parmetros del disco duro
42h 66 Gestor Vdeo Reasignado
43h 67 Apunta a los caracteres grficos de vdeo (EGA, PS/2)
44h 68 API red Novell
45h 69 Reservado
46h 70 Parmetros del disco duro
47h a 49h 71 a 73 Reservadas para BIOS
4Ah 74 Alarma usuario
4Bh a 5Fh 75 Reservadas para BIOS
60h a 66h a 102 Reservadas a programas
67h 103 Invoca al gestor de memoria expandida LIM
68h a 69h 104 a 105 Reservadas para BIOS
70h 106 Reloj tiempo real
71h a 74h 107 a 110 Reservadas para BIOS
75h 111 Redirigido a interrupcin NMI
76h a 79h 112 a 114 Reservadas
7Ah 115 Software Novell (API)
7Bh a 7Fh 116 a 120 No usadas
80h a F0h 121 a Reservado para BASIC
F1h a FFh A 255 Reservadas a programas
Ingeniera de Sistemas 2012


100 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


04 Leer posicin de lpiz ptico
05 Seleccionar pagina de pantalla
06 Inicializar ventana o desplazar su contenido en sentido
ascendente
07 Inicializar ventana o desplazar su contenido en sentido
descendente
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
10 Mostrar registros de paleta
11 Reservada
12 Reservada
13 Escribir cadena
FE Obtener buffer del video


Servicios de la interrupcin 15h (ROM BIOS)

Servicio Descripcin
21 Event Wait
84 Leer Joystick
86 Delay (CX DX)
88 Tamao mem.extend.
c0 Parmentros sistema
c1 Datos BIOS extendida


Servicios de la interrupcin 16h (teclado)

Servicio Descripcin
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





Ingeniera de Sistemas 2012


101 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


Servicios de la interrupcin 21h (sistema)

Servicio Descripcin
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
0B Obtener status de entrada
0C Borrar buffer de entrada y aceptar entrada posterior
0D Reset de disco
0E Asignar unidad de disco po defecto
0F Abrir fichero
10 Cerrar fichero
11 Buscar primera coincidencia
12 Buscar siguiente coincidencia
13 Borrar fichero
14 Lectura secuencial
15 Escritura secuencial
16 Crear o truncar
17 Cambiar nombre de fichero
18 Reservado
19 Obtener unidad de disco por defecto
1 Asignar direccin de la zona de transferencia de disco
1B Obtener informacin de ubicacin para unidad por defecto
1C Obtener informacin de ubicacin para unidad especificada
1D Reservado
1E Reservado
1F Reservado
20 Reservado
21 Lectura aleatoria
22 Escritura aleatoria
23 Obtener tamao de fichero
24 Asignar nmero de registro aleatorio
25 Asignar vector de interrupcin
26 Crear prefijo del segmento de programa
27 Lectura aleatoria de bloque
28 Escritura aleatoria de bloque
29 Anlisis (transcripcin) de nombre de fichero
2 Obtener fecha del sistema
Ingeniera de Sistemas 2012


102 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


2B Asignar fecha al sistema
2C Obtener hora del sistema
2D Asignar hora al sistema
2E Activar flag de verificacin
2F Obtener direccin de la zona de transferencia de disco
30 Obtener numero de versin MS-DOS
31 Terminar y permanecer residente
32 Reservado
33 Obtener o activar flag de Ctrl-Break
34 Reservado
35 Obtener vector de interrupcin
36 Obtener espacio libre en disco
37 Reservado
38 Obtener o asignar pas
39 Crear subdirectorio
3 Borrar subdirectorio
3B Asignar directorio actual
3C Crear o truncar fichero
3D Abrir fichero
3E Cerrar fichero
3F Leer fichero o dispositivo
40 Escribir en fichero o dispositivo
41 Borrar fichero
42 Desplazar puntero del fichero
43 Obtener o asignar atributos del fichero
44 Control de gestor de dispositivo (IOCTL)
45 Duplicar handle
46 Duplicacin forzada de handle
47 Obtener directorio actual
48 Asignar memoria
49 Liberar memoria
4 Modificar Asignacin de memoria
4B Ejecutar programa
4C Terminar con cdigo de retorno
4D Obtener cdigo de retorno
4E Buscar primera coincidencia
4F Buscar siguiente coincidencia
50 Reservado
51 Reservado
52 Reservado
53 Reservado
54 Obtener flag de verificacin
55 Reservado
56 Cambiar nombre de fichero
57 Obtener o cambiar fecha y hora de fichero
58 Obtener o asignar estrategia de ubicacin
59 Obtener informacin extendida de error
Ingeniera de Sistemas 2012


103 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.













3. Bibliografa

http://148.204.211.134/polilibros/portal/Polilibros/P_terminados/PolilibroFC/
Unidad_V/Unidad%20V_2.htm

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

http://www.slideshare.net/cortesalvarez/interrupciones-sistemas-operativos

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.PDF













5 Crear fichero temporal
5B Crear nuevo fichero
5C Bloquear registros
5D Reservado
5E Obtener nombre de la maquina/instalacin de impresora
5F Asignar entrada de lista
60 Reservado
61 Reservado
62 Obtener direccin del prefijo del segmento de programa
63 Obtener tabla de encabezado de bytes
Ingeniera de Sistemas 2012


104 Arquitectura de procesadores Ing. Cruz Castaeda Carlos M.


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

Das könnte Ihnen auch gefallen