Sunteți pe pagina 1din 10

Instituto Tecnolgico de Veracruz

Nombre: Ivan Mariscal Sanchez (E07020894) Materia: Lenguaje Ensamblador Maestro: Genaro Mndez Lpez Horario: 7:00-8:00 pm H. Veracruz, Ver; a 05 de Septiembre del 2011

Sistema basados en 8086


Vamos a estudiar un sistema computador basado en el 8086 de Intel. Se trata de una serie de procesadores que van desde 8088 hasta los Pentium actuales, que respetan una serie de caractersticas que permiten que cualquier software desarrollado para uno de ellos siga siendo funcional en las generaciones siguientes. A esto es a lo que se le llama compatibilidad. Gracias a la compatibilidad podemos seguir desarrollando programas para el 8086 con la plena certeza de que funcionarn en cualquier mquina que disponga de un procesador de Intel de la familia 8086. Para proporcionar compatibilidad no solo se desea que el cdigo se ejecute bien dentro del procesador. Tambin se espera que la relacin del procesador con el entorno tambin se respete en cierta medida. De ah que el conjunto de controladores que presentamos, que de hecho son obsoletos, mantienen la misma funcionalidad que podemos encontrar hoy en computadores basados en Pentium. PROCESADORES 8086 CPU de 16 bits 8087 NDP Numeric Data Processor 8089 IOP Procesador de entradas/salidas CONTROLADORES DE BUS 8288 Controlador de Bus 8282 Latch de direcciones octal 8286 Transceptor de datos octal CONTROLADORES DE SISTEMA 8259 Controlador programable de interrupciones 8237 Controlador programable de DMA CONTROLADORES DE PERIFRICOS 8251 Controlador programable de Interfaz serie 8255 Controlador programable de Interfaz paralelo 8275 Controlador programable de C.R.T. 8272 Controlador programable de discos flexibles 8086 5MHz..10MHz -Registros de datos de 16 bits -Bus de datos de 16 bits
(Distribuido en Byte par y Byte impar, segn la direccin de acceso. Todo acceso a byte sobre una direccin par interacta sobre el Byte par y lo correspondiente para los accesos a direcciones impares. Los accesos a palabras en direccin par interactan con ambos. Los accesos a palabra con direccin impar implican dos accesos reales)

-Bus de direcciones de 10 bits


(Est multiplexado con el bus de datos + cuatro lneas de direccin separadas. Se distingue entre espacio de direcciones de memoria y espacio de direcciones de entrada salida)

-Esquema de direccionamiento segmentado. Segmento+Desplazamiento


(El segmento es una seccin de memoria de 65536 bytes que comienza en la localizacin especificada por el registro de segmento correspondiente. El usuario puede manejar 4 registros de segmento: CS,DS,ES,SS)

80186 (10MHz..12MHz) Incluye funciones extra en el chip, que en los sistemas 8086 eran realizadas por controladores separados. Generador de seal de reloj 2 canales de DMA (con bus de direcciones de 20 bits) 3 contadores programables de 16 bits Controlador de interrupciones (hasta 128 externas) Generador programable de estados de espera Unidad programable de decodificacin de direcciones (para activar el chip select) 16 nuevas instrucciones

80286 100.000 transistores -

(6MHz..12MHz)

Separacin fsica del bus de datos y el bus de direcciones (este de 24 lneas y aquel de 16) Reduccin del ciclo de bus a 2 periodos de reloj Introduccin de lgica de manejo de memoria virtual Modo Real (el modo compatible 8086) El bus de direcciones se limita a 20 lneas (las otras 4 permanecen a cero -salvo en el momento de arranque que estn a 1 durante la ejecucin de la primera instruccin) Modo Protegido ( uso completo de las 24 lneas del bus de direcciones, gestin de proteccin de memoria) (El procesador arranca en modo real y es conmutable a modo protegido, pero luego es necesario resetearlo para volver al modo real) Uso del bit A20 de direcciones. Cuando el registro de segmento tiene un valor mximo y al sumrsele el desplazamiento se genera un acarreo, la direccin resultante tiene el bit 20 a 1. En el procesador 8086, puesto que no existe el bit 20 en el bus de direcciones la direccin resultante sera en realidad el mdulo 220 de la direccin correcta. Pero a partir de el 80286 ya existe la lnea fsica A20. Por medio de una lgica controlada por el programador (A20 gate) estos pueden decidir si en el modo real se va a permitir la activacin de ese bit o no (nica y exclusivamente el A20). Esto proporciona, en el caso de que se opte por permitir la activacin de este bit en el modo real, un conjunto extra de direcciones accesibles (100000h-10FFEFh).

80386

(16MHz..33MHz)

Bus de datos de 32 bits Tamao de palabra (registros) de 32 bits Bus de direcciones de 32 bits Segmentacin y paginado virtual Nuevo modo de direccionamiento (indice escalado) Nuevas instrucciones (sobre todo de manejo de bits) Permite la conmutacin entre el modo real y el modo protegido en caliente Introduce el modo virtual (el modo real en una particin de 1M de memoria)

Modo Real. Es el modo 8086 con registros de 32 bits. No obstante los registros son multicara: EAX (registro de 32 bits) AX (registro de 16 bits) AH, AL (registros de 8 bits) Admite nuevos modos de direccin en los que cualquier registro de 32 bits puede ser utilizado como registro base o registro ndice. Introduce un nuevo modo de direccionamiento que es el ndice escalado: Es posible multiplicar un registro por un escalar en la especificacin de una direccin imaginar las dos instrucciones siguientes en un bucle: MOV AX, [EBX*2] INC EBX

Modo protegido. Lo nico que distingue al modo real del modo protegido es el direccionamiento a memoria que tiene en cuenta la segmentacin y el paginado. En el 80286 la memoria virtual se basa nicamente en la segmentacin. El esquema de paginado es una incorporacin opcional (activable o desactivable) del 80386. La diferencia entre segmentacin y paginado es que los segmentos son secciones de memoria de longitud variable, mientras que las pginas tienen tamao fijo. Las direcciones se siguen especificando con dos figuras, el segmento y el offset. El segmento sigue especificndose con 16 bits mientras que el offset utiliza 32. El offset es lo que se denomina la 'direccin efectiva'. El registro de segmento es un ndice para localizar en una tabla el 'descriptor de segmento'. Este descriptor contiene la direccin base de memoria del segmento (32 bits) , su tamao (32 bits -16 en 80286) e informacin sobre derechos de acceso: (entre otros) G: (0) el lmite viene especificado en bytes, (1) el lmite viene especificado en pginas de 4K A: (1) que el la informacin ha sido accedida (0) que la informacin o ha sido accedida R/W: permite la proteccin de lectura/escritura de la informacin contenida E: (1) se trata de cdigo (0) se trata de datos DPL: descriptor de niveles de privilegio (00) mximo privilegio, (11) mnimo privilegio P: bit de presencia en memoria fsica. La direccin base del segmento concatenada con la direccin efectiva forma la direccin de memoria (virtual). La tabla de descriptores de segmento reside en memoria. Para no tener que acceder a memoria cada vez que se desea calcular una direccin, asociado al registro de segmento existe una seccin escondida que alberga el descriptor del segmento activo en cada momento. Las tablas de descriptores son construidas por el sistema operativo. Las direcciones de estas tablas estn localizadas en los registros de tabla de

SEGMENTO(16..0)

0FFSET(31..0)

Tabla de segmentos

Descriptor

direccin de segmento + offset

direccin virtual? (efectiva?) DIR TABL OFFSET

CR3

pagina

offset

descriptores y existen tres de estos registros: LRDT (local), GRDT (global), IRDT (interrupciones). Dentro del propio registro de segmento se encuentra codificado (TI; bit 2) a qu tabla de descriptores se acceder para obtener el descriptor de segmento Paginado Si se activa el paginado, la direccin obtenida a partir del la direccin base del segmento y el desplazamiento es an una direccin de memoria virtual. El esquema de paginado se encarga de traducir sta a una direccin de memoria fsica. La direccin virtual compone de tres secciones: directorio, tabla y offset. Los 10 bits que forman la seccin directorio constituyen un ndice a un Directorio de pginas (cuya direccin en memoria est contenida en un registro, C3). Cada una de las entradas de este directorio es un Descriptor de tabla de pginas, que apunta a dicha tabla, la cual contiene las direcciones fsicas de un conjunto de pginas. La seccin tabla (10 bits) de la direccin virtual nos permite seleccionar una de estas pginas y comprobar si est activa y con residencia en la memoria, en cuyo defecto ha de realizarse un proceso de sustitucin. Activa la pgina, el descriptor de pgina contiene los 20 bits de ms significativos que concatenados a la seccin offset (12) nos da la direccin de memoria fsica en la que est ubicada la pgina. Los dems bits contenidos en los descriptores (tanto de tabla de pginas como de pgina) codifican informacin de acceso: (entre otros) P: bit de presencia en memoria D: bit de pgina modificada R/W: derechos de acceso lectura/escritura U/S: bit de usuario/supervisor (equivaldran a los privilegios de segmentacin: usuario:11, supervisor 00,01,10) Con objeto de eludir todo este farragoso proceso de traduccin hasta donde sea posible, se ha creado dentro del procesador una TLB (32 entradas), es decir, una tabla con las direcciones fsicas de las pginas ms accedidas. Con la direccin virtual se explora esta tabla por si

tuvirase la suerte de encontrarse ya traducida, en cuyo caso el ahorro de tiempo en el acceso a memoria es considerable.

80486 1 milln de transistores (16MHz..33MHz) Se mantienen los tamaos de registros y ancho de buses del 386 Se introduce la ejecucin segmentada de las instrucciones (5 etapas de ejecucin dando un periodo por instruccin) Se introduce memoria cach dentro del chip. (En 386 era externa). (8k bytes 2-way associative 8k bytes para datos y para instrucciones) Se introduce el coprocesador matemtico dentro del chip (pero no como unidad funcional sino como coprocesador, como dos chips en uno) Se aaden los pins de paridad (4) (uno por va de datos de 8 bits) Se incorpora el ciclo burst en las lecturas: puede realizar cuatro ciclos de lectura de memoria en tan slo cinco periodo (2-1-1-1) cuando tericamente se necesitan 8 (2-2-2-2) (Esta modalidad de acceso slo est prevista para cuatro accesos consecutivos) Se aaden 6 nuevas instrucciones Se aumenta la frecuencia de reloj al doble Control de A20 mediante un pin de entrada activo a nivel bajo

Pentium 3.1 millones de transistores (60MHz..200MHz) Se introduce la tcnica super escalar. (2 pipelines de cinco etapas cada uno -seguidos del pipeline de la unidad fp con tres etapas ms) Uno de los cauces, V, ejecuta instrucciones simples (INC DEC ADD SUB MUL...) y est cableado, el otro, U, ejecuta las instrucciones complejas (REP STOW...) y est microprogramado. Bus de datos de 64 bits. Mantiene el uso de las seal A20Mask, para habilitar el uso de A20. 2 cach internas Una para datos y otra para instrucciones, esta ltima de slo lectura El coprocesador interno se ha acelarado al incorporar la segmentacin (10 veces el del 486) Lgica de prediccin de saltos Permite trabajar con pginas de 4k (manteniendo la compatibilidad con 386 y 486) o con pginas de 4M. Incorpora 2 conjuntos de TLB, uno para cdigo y otro para datos. La TLB de datos tiene 64 entradas para pginas de 4k o 8 para pginas de 4M. La TLB de instrucciones tiene32 entradas para pginas de 4K. (386/486 tenan una nica tabla de 32 entradas para datos y cdigo simultneamente) Es posible realizar ciclos burst de escritura de memoria, adems de lectura. Contiene la lgica para trabajar con otro procesador en un entorno multiprocesador. Contiene la lgica para trabajar con una cach externa como segundo nivel de cache L2

(Definicin:Tecnologia overdrive: permitir que el procesador trabaje a mayor frecuencia de la que le correspondera segn la placa madre en la que est insertado)

Pentium pro. 5.5 millones de transistores. (150MHz..200MHz) introduce el concepto de dual cavity: Incluye la L2 en el mismo empaquetamiento fsico, aunque tcnicamente est separada del procesador. 256Kb. Manteniendo la cach internas (8k+8k). Se aproxima en concepto a los procesadores RISC: Las instrucciones tradicionales 8086 se decodifican en subinstrucciones internas que son las que realmente se ejecutan en los cauces de segmentacin. Todas las instrucciones internas tienen un formato tridico lo que conlleva la introduccin de una gran cantidad de registros internos en los que mantener los datos con los que trabajan estas instrucciones. Es un procesador supersegmentado porque los cauces se desarrollan en 12 ( frente a las cinco hasta ahora) etapas Es un procesador superescalar porque contiene varias unidades de ejecucin simultnea. Admite ejecucin fuera de orden (especulativa), aunque no en accesos de escritura a memoria. Gestiona la prediccin de los saltos.

Tecnologa MMX. (multimedia extensin) Se refiere a una posible extensin de las capacidades de los procesadores para adaptarse mejor a entornos multimedia. Ello se logra incorporando funciones propias de un DSP (Proceso digital de seales) Cuando la tienen incorporada, la seccin mmx del procesador comparte los registros con la unidad de punto flotante (o coprocesador matemtico). Register aliasing: Utiliza los mismos registros que el coprocesador. Cuando la instruccin es del tipo mmx la batera de registros es aludida con una referencia y cuando la instruccin es de tipo fp, el mismo conjunto de registros es aludido con otro nombre. Es por ello necesario que no se mezclen ambos tipos de instrucciones sin un previo vaciado del conjunto de registros. Maneja 4 tipos de datos sobre un registro de 64 bits. Cudruple palabra 64 bits Doble palabra empaquetada 2x32 bits Palabra empaquetada 4*16 bits Byte empaquetado 8x8 bits Incorpora hasta 57 nuevas instrucciones especficas mmx.

Ref: The 8086 IBMPC and compatible computers (vol II) Design and interfacing of the IBMPC, PS and compatibles. Third edition. Prentice Hall Muhamad Ali Mazidi Janice Gillispie Mazidi

10

S-ar putea să vă placă și