You are on page 1of 6

El Procesador 386

El microprocesador 386 (tambin conocido como 386 DX) supone un paso muy importante
frente al 286. Hasta entonces, tanto los micros 8088 y 8086 como el 286 eran
microprocesadores de 16 bits; trabajaban con 16 bits a la vez en cada ciclo de reloj. Por el
contrario, el 386 es un microprocesador de 32 bits, que procesa 32 bits simultneamente en
cada ciclo de reloj. Los ordenadores 386 tienen una velocidad desde 16 a 50 Mhz.
El bus de direcciones del 386 tiene 32 bits. Con 32 bits se pueden redireccionar 232 celdas
de memoria lo que equivale a 4096 MB. Tambin en este caso los primeros 1024 k se
reparten como los micros 80886 y 286: 640k de memoria convencional y los 364k restantes
de memoria superior.
El microprocesador 80386 esta diseado para soportar aquellos sistemas operativos
optimizados para multitarea. El micro 80386 es capaz de direccionar hasta 4 gigabytes de
memoria fsica y 64 tetrabytes de memoria virtual. La gestin de memoria integrada y
arquitectura de proteccin incluye registros de traduccin de direcciones y mecanismo de
proteccin para soportar sistemas operativos y hardware avanzado de multitarea.
El transvase entre instrucciones - pipelining -, una elevada anchura del bus y una
traduccin de direcciones en la pastilla acortan significativamente el tiempo medio de
ejecucin de la instruccin, manteniendo un alto rendimiento del sistema. Estas
caractersticas de diseo de arquitectura habilitan al 80386 a ejecutar instrucciones a una
frecuencia de 3 a 4 millones por segundo.
Caractersticas adicionales se incluyen autotest, acceso directo a la memoria interna (cache)
donde se realiza la traduccin de pgina y cuatro nuevos registros de "Breakpoint". El
80386 tiene el cdigo objeto compatible con el 8086, 8088 y 80286.
El procesador 386SX
Los microprocesadores 386SX aparecieron despus que el 386 como una solucin
intermedia en precio y prestaciones entre el 286 y el 386. Los micros 386 puros (386DX)
necesitan a su alrededor una circuiteria de 32 bits, mientras que los SX necesitan una
circuiteria de 16 bits, mucho mas barata. De esta forma, los fabricantes podan utilizar
todos los componentes y la circuitera de 16 bits que usaban para un 286, pero ahora
incorporando un microprocesador de 32 bits.
La diferencia entre un ordenador 386DX y un ordenador 386SX se percibe en la velocidad
del ordenador, pero desde el punto de vista de las aplicaciones que se pueden ejecutar, es
totalmente, indiferente tener un microprocesador 386DX que un 386SX.
El procesador 386SL
El microprocesador 386SL es equivalente al 386SX con la particularidad de estar diseado
especialmente para los ordenadores porttiles, cuidando sus especiales necesidades de baja
potencia y consumo. El 386SL posee un modo sleep que utiliza menso energa durante su
funcionamiento. Adems, existen nuevos recursos para poder minimizar el funcionamiento
del ordenador (el consumo de energa) cuando no se utiliza. El resultado es que la batera
puede doblar su tiempo en un porttil con 386SL frente a un 386SX. Los
microprocesadores 386SL slo se utilizan en porttiles y notebooks y, hoy en da, son los
nicos microprocesadores 386 en los que contina desarrollando y trabajando.
Tipos de datos
La pastilla microprocesadora 80386 soporta varios tipos de datos adems de los soportados
por sus predecesores (80x86). Soporta enteros con signo y sin signo de 32 bits y campos de
bits de 1 a 32 bits de
longitud. Tambin soporta los tipos de punteros estndares, as como un puntero de
desplazamiento de 32 bits y un puntero completo de 48 bits.
Otros registros de 32 bits (ESI, EDI, EBP, ESP) no se pueden dividir en registros de 16 bits.
Por otra parte, el puntero de instrucciones EIP, tambin es un registro de 32 bits, cuyo
contenido se modifica dependiendo de los cambios que experimente el flujo del programa
que el procesador ejecute. Por lo tanto, EIP se modifica implcitamente mediante
instrucciones en cdigo mquina.
ARQUITECTURA BASE
La pastilla microprocesadora 80386 proporciona al programador 32 registros. Estos 32
registros pueden ser divididos en siete categoras principales.
- Registros de propsito general
- Registros de segmentos
- Puntero de instruccin y sealizaciones
- Registros de control
- Registros de direcciones del sistema
- Registros de test.
Estos registros son un superconjunto de los registros del 8086 y el 80286; adems, todos
los registros de 16 bits del 8086 y el 80286 estn contenidos en el microprocesador 80386
de 32 bits.
REGISTROS DE PROPOSITO GENERAL
Los ocho registros de propsito general se utilizan de forma anloga a los ocho registros de
propsito general asociados al 80286, excepto que los registros tienen ahora 32 bits. Estos
registros son capaces de soportar operandos de datos de 1, 8, 16 y 32 bits y campos de bits
de 1 a 32 bits. Los ocho registros son el EAX (acumulador), EBX (base), ECX (contador),
EDX (datos), ESP (puntero de pila), EBP (puntero base), ESI (ndice fuente) y EDI (ndice
destino).
Para acceder a los 32 bits de un registro, todas las referencias del registro deben comenzar
"E". Cada uno de los ocho registros de propsito general puede ser descompuesto en sus
equivalentes de 16 bits del 8086/80286 referenciando los registros sin usar el prefijo "E".
REGISTOS DE SEGMENTOS
El microprocesador 80386 contiene seis registros segmento de 16 bits. Los seis registros
segmento mantiene los valores del selector en las posiciones de memoria actualmente
direccionables. En modo de direccin real, un segmento puede variar desde 1 byte hasta un
tamao de segmento mximo de 64 bytes, o 216. El direccionamiento en modo protegido
habilita rangos de segmento desde 1 byte hasta un mximo de 4 gigabytes, o 232 bytes.
En 1986 apareci el Intel 80386 conocido por 386, velocidad de reloj entre 16 y 40 Mhz y
destac principalmente por ser un microprocesador con arquitectura de 32 bits.

Cabe destacar tambin que la produccin de microprocesadores "80386" ha continuado hasta


ahora e Intel afirm en el 2006 que terminara finalmente de producirlos en Septiembre del
2007. Parece ser que actualmente ste microprocesador todava se usa bastante para
sistemas empotrados.

En 1988, Intel desarrollaba un poco tarde un sistema sencillo de actualizar los antiguos 286
gracias a la aparicin del 80386SX, que sacrificaba el bus de datos para dejarlo en uno de 16
bits, pero a menor coste. Estos procesadores irrumpieron con la explosin del entorno grfico
Windows, desarrollado por Microsoft unos aos antes, pero que no haba tenido la suficiente
aceptacin por parte de los usuarios.

Aplicaciones de un sistema embebido


Los lugares donde se pueden encontrar los sistemas embebidos son numerosos y de
varias naturalezas. A continuacin se exponen varios ejemplos para ilustrar las
posibilidades de los mismos:

En una fbrica, para controlar un proceso de montaje o produccin. Una mquina que
se encargue de una determinada tarea hoy en da contiene numerosos circuitos
electrnicos y elctricos para el control de motores, hornos, etc. que deben ser
gobernados por un procesador, el cual ofrece un interfaz persona mquina para ser
dirigido por un operario e informarle al mismo de la marcha del proceso.
Puntos de servicio o venta (POS, Point Of Service). Las cajas donde se paga la compra
en un supermercado son cada vez ms completas, integrando teclados numricos,
lectores de cdigos de barras mediante lser, lectores de tarjetas bancarias de banda
magntica o chip, pantalla alfanumrica de cristal lquido, etc. El sistema embebido en
este caso requiere numerosos conectores de entrada y salida y unas caractersticas
robustas para la operacin continuada.
Puntos de informacin al ciudadano. En oficinas de turismo, grandes almacenes,
bibliotecas, etc. existen equipos con una pantalla tctil donde se puede pulsar sobre la
misma y elegir la consulta a realizar, obteniendo una respuesta personalizada en un
entorno grfico amigable.
Decodificadores y set-top boxes para la recepcin de televisin. Cada vez existe un
mayor nmero de operadores de televisin que aprovechando las tecnologas va
satlite y de red de cable ofrecen un servicio de televisin de pago diferenciado del
convencional. En primer lugar envan la seal en formato digital MPEG-2 con lo que es
necesario un procesado para decodificarla y mandarla al televisor. Adems viaja
cifrada para evitar que la reciban en claro usuarios sin contrato, lo que requiere
descifrarla en casa del abonado. Tambin ofrecen un servicio de televisin interactiva
o web-TV que necesita de un software especfico para mostrar pginas web y con ello
un sistema basado en procesador con salida de seal de televisin.
Sistemas radar de aviones. El procesado de la seal recibida o reflejada del sistema
radar embarcado en un avin requiere alta potencia de clculo adems de ocupar
poco espacio, pesar poco y soportar condiciones extremas de funcionamiento
(temperatura, presin atmosfrica, vibraciones, etc.).
Equipos de medicina en hospitales y ambulancias UVI mvil.
Mquinas de revelado automtico de fotos.
Cajeros automticos.
Pasarelas (Gateways) Internet-LAN.
Y un sin fin de posibilidades an por descubrir o en estado embrionario como son las
neveras inteligentes que controlen su suministro va Internet, PC de bolsillo, etc.

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

EL MICROPROCESADOR 80386
INTRODUCCIN
El 80386 consiste en una unidad central de proceso (CPU), una unidad de manejo de
memoria (MMU) y una unidad de interfaz con el bus (BIU). La CPU est compuesta por la
unidad de ejecucin y la unidad de instrucciones. La unidad de ejecucin contiene los ocho
registros de 32 bits de propsito general que se utilizan para el clculo de direcciones y
operaciones con datos y un barrel shifter de 64 bits que se utiliza para acelerar las
operaciones de desplazamiento, rotacin, multiplicacin y divisin. Al contrario de los
microprocesadores previos, la lgica de divisin y multiplicacin utiliza un algoritmo de 1 bit
por ciclo de reloj. El algoritmo de multiplicacin termina la iteracin cuando los bits ms
significativos del multiplicador son todos ceros, lo que permite que las multiplicaciones
tpicas de 32 bits se realicen en menos de un microsegundo.
La unidad de instruccin decodifica los cdigos de operacin (opcodes) de las
instrucciones que se encuentran en una cola de instrucciones (cuya longitud es de 16
bytes) y los almacena en la cola de instrucciones decodificadas (hay espacio para tres
instrucciones). El sistema de control de la unidad de ejecucin es el encargado de
decodificar las instrucciones que le enva la cola y enviarle las rdenes a la unidad
aritmtica y lgica segn una tabla que tiene almacenada en ROM llamada CROM (Control
Read Only Memory).
La unidad de manejo de memoria (MMU) consiste en una unidad de segmentacin (similar
a la del 80286) y una unidad de paginado (nuevo en este microprocesador). La
segmentacin permite el manejo del espacio de direcciones lgicas agregando un
componente de direccionamiento extra, que permite que el cdigo y los datos se puedan
reubicar fcilmente. El mecanismo de paginado opera por debajo y es transparente al
proceso de segmentacin, para permitir el manejo del espacio de direcciones fsicas. Cada
segmento se divide en uno o ms pginas de 4 kilobytes. Para implementar un sistema de
memoria virtual (aqul donde el programa tiene un tamao mayor que la memoria fsica y
debe cargarse por partes (pginas) desde el disco rgido), el 80386 permite seguir
ejecutando los programas despus de haberse detectado fallos de segmentos o de
pginas. Si una pgina determinada no se encuentra en memoria, el 80386 se lo indica al
sistema operativo mediante la excepcin 14, luego ste carga dicha pgina desde el disco
y finalmente puede seguir ejecutando el programa, como si hubiera estado dicha pgina
todo el tiempo. Como se puede observar, este proceso es transparente para la aplicacin,
por lo que el programador no debe preocuparse por cargar partes del cdigo desde el
disco ya que esto lo hace el sistema operativo con la ayuda del microprocesador. La
memoria se organiza en uno o ms segmentos de longitud variable, con tamao mximo
de 4 gigabytes. Estos segmentos, como se vio en la explicacin del 80286, tienen atributos
asociados, que incluyen su ubicacin, tamao, tipo (pila, cdigo o datos) y caractersticas
de proteccin. La unidad de segmentacin provee cuatro niveles de proteccin para aislar
y proteger aplicaciones y el sistema operativo. Este tipo de proteccin por hardware
permite el diseo de sistemas con un alto grado de integridad.
El 80386 tiene dos modos de operacin: modo de direccionamiento real (modo real), y
modo de direccionamiento virtual protegido (modo protegido). En modo real el 80386 opera
como un 8086 muy rpido, con extensiones de 32 bits si se desea. El modo real se
requiere primariamente para preparar el procesador para que opere en modo protegido. El
modo protegido provee el acceso al sofisticado manejo de memoria y paginado.
Dentro del modo protegido, el software puede realizar un cambio de tarea para entrar en
tareas en modo 8086 virtual (V86 mode) (esto es nuevo con este microprocesador). Cada
una de estas tareas se comporta como si fuera un 8086 el que lo est ejecutando, lo que
permite ejecutar software de 8086 (un programa de aplicacin o un sistema operativo). Las
tareas en modo 8086 virtual pueden aislarse entre s y del sistema operativo (que debe
utilizar instrucciones del 80386), mediante el uso del paginado y el mapa de bits de
permiso de entrada/salida (I/O Permission Bitmap).
Finalmente, para facilitar diseos de hardware de alto rendimiento, la interfaz con el bus
del 80386 ofrece pipelining de direcciones, tamao dinmico del ancho del bus de datos
(puede tener 16 32 bits segn se desee en un determinado ciclo de bus) y seales de
habilitacin de bytes por cada byte del bus de datos. Hay ms informacin sobre esto en la
seccin de hardware del 80386.
VERSIONES DEL 80386
80386: En octubre de 1985 la empresa Intel lanz el microprocesador 80386 original de 16
MHz, con una velocidad de ejecucin de 6 millones de instrucciones por segundo y con
275.000 transistores. La primera empresa en realizar una computadora compatible com
IBM PC AT basada en el 80386 fue Compaq con su Compaq Deskpro 386 al ao
siguiente.
386SX: Para facilitar la transicin entre las computadoras de 16 bits basadas en el 80286,
apareci en junio de 1988 el 80386 SX con bus de datos de 16 bits y 24 bits de direcciones
(al igual que en el caso del 80286). Este microprocesador permiti el armado de
computadoras en forma econmica que pudieran correr programas de 32 bits. El 80386
original se le cambi de nombre: 80386 DX.
386SL: En 1990 Intel introdujo el miembro de alta integracin de la familia 386: el 80386
SL con varias caractersticas extras (25 MHz, frecuencia reducida 0 MHz, interfaz para
cach opcional externo de 16, 32 64 KB, soporte de LIM 4.0 (memoria expandida) por
hardware, generacin y verificacin de paridad, ancho de bus de datos de 8 16 bits) que
lo hacen ideal para equipos porttiles.

Pipeline

o A groso modo:

Es una caracterstica de los procesadores superescalares, y parte de la idea de la segmentacin de


instrucciones.

Un procesador superescalar (Pentium, PowePc.....) tiene varios pipelines.


Partiendo de la segmentacin de instrucciones, por ejemplo. esta instruccion la dividimos en 5 etapas:
ADD R1,#4 (suma 4 al registo R1 y guardalo en R1)

-Decodificacin instruccin
-Busqueda instruccin
-Busqueda operandos
-Ejecucin operacin.
-Guardar resultado.

En este caso hipottico el pipeline tiene las 5 etapas anteriores.

Que se gana con un solo pipeline?


Sera usar la segmentacin, o sea quando una instruccin acaba la etapa de decodificacin de
instruccin seguidamente puede entrar la siguiente instruccin al pipleline para que sea decodificada y
as paulatinamente.
Si slo tuvieramos una etapa en el pipeline, hasta que no hubiera acabado de hacerlo todo no podria
entrar ninguna instruccin. As conseguimos ejecutar mas instrucciones secuencialmente pero en
menos tiempo, ya que las diferentes etapas del pipleline se mantienen ocupadas.

Y como comentaba los procesadores superescalares tienen diferentes pipelines, esto hace que
puedan ejecturarse todas las etapas anteriormente comentadas simultaneamente.
Por ejemplo si tenemos 4 pipelines, tendremos 4 etapas de busqueda de instrucciones, 4 etapas de
busqueda de instruccin, 4 de busqueda de operandos, 4 de ejecucin y 4 de guardar resultado.

Eso si, hay que tener en cuenta las dependencias entre instrucciones para ejecturar simultaneamente.

Bufff mega resumido pero ya tienes una pista.

Redpixel

You might also like