Anda di halaman 1dari 63

ESCUELA POLITCNICA DEL EJRCITO ARQUITECTURA DE LA INTEL 32 BITS, BUS ISA, BUS PCI DIEGO ALVAREZ LENIN BARRIONUEVO

CHRISTIAN GONZLEZ

OBJETIVOS:

Comprender las caractersticas bsicas de un bus ISA. Entender el funcionamiento del bus ISA.

Ver los ciclos de bus del slot de expansin. Conocer el Funcionamiento y caractersticas de un bus PCI.

Definir cada lnea de un dispositivo PCI segn su funcionalidad. Comprender los diferentes ciclos En un bus PCI. Afirmar conceptos relativos a la arquitectura de los microprocesadores de 32 bits, con especial nfasis en la familia Intel, desde el 386.

ARQUITECTURA DE INTEL 32 BITS


IA-32 (Intel Architecture, 32-bit), conocida de manera genrica como x86, x86-32 o i386 IA-32 es una arquitectura CISC. Fue reemplazada por x86-64

Es una extensin de 32-bit, primero implementada en el Intel 80386, para


la arquitectura x86 original de 16-bits

La arquitectura IA-32 fue expandida por AMD en 2003 para soportar


nativamente 64 bits, creando la arquitectura x86-64.

MODOS DE OPERACIN
Los procesadores IA-32 tienen tres modos principales de operacin: Modo protegido Modo 8086 virtual Modo de direccionamiento real Modo de administracin del sistema

MODO PROTEGIDO
Es el estado nativo del procesador, en el que estn disponibles todas las instrucciones y caractersticas. Los programas reciben reas separadas de memoria llamadas segmentos, y el procesador evita que los programas hagan referencia a la memoria que se encuentra fuera de sus segmentos asignados.

MODO 8086 VIRTUAL


Mientras se encuentra en modo protegido, el procesador puede ejecutar en forma directa el software para modo de direccionamiento real, como los programas de MS-DOS, en un entorno multitarea seguro.

MODO REAL

Implementa el entorno de programacin del procesador 8086 de Intel Puede usarse para ejecutar un programa de MS-DOS que requiera el acceso directo a la memoria del sistema y a los dispositivos de hardware

MODO DE ADMINISTRACION DEL SISTEMA (SMM)

1.

Proporciona al sistema operativo un mecanismo para implementar funciones.

Modelo Plano de memoria (+ paginado opcional) Un simple espacio de direcciones contiguas (0..232-1). Contiene datos, cdigo y stack. Direccin lineal. Modelo Segmentado de memoria ( + paginado opcional)

2.

- El espacio de direcciones es dividido en secciones llamadas segmentos. Direccin lgica (Segmento+Offset).

REGISTROS BASICOS DE EJECUCION DE UN PROGRAMA

Cada registro puede direccionarse como un valores individual de 32 bits, como dos valores de 16 bits.

Los registros de 16 bits que se muestran aqu se utilizan cuando se escriben programas en modo de direccionamiento real:

Registros de segmento

En el modo de direccionamiento real, los registros de segmento indican las direcciones base de las reas preasignadas de memoria, conocidas como segmentos. En el modo protegido, los registros de segmento guardan apuntadores a tablas de descriptores de segmento

Banderas de estado

Desglose del registro EFLAGS

Registros del sistema


Los procesadores IA-32 tienen una variedad de registros importantes del sistema. MS-Windows slo permite el^ acceso a estos registros a los programas que se ejecutan en el nivel ms alto de privilegio (nivel 0) Los registros del sistema son:

IDTR:(Registro de tabla de descriptores de interrupciones) - Contiene la direccin de la Tabla de descriptores de interrupciones, la cual proporciona los medios para manejar las interrupciones

GDTR (Registro de tabla de descriptores globales) - Una tabla que contiene apuntadores a los segmentos de estado de las tareas y tablas de descriptores locales de los programas

LDTR (Registro de tabla de descriptores locales)

- Contiene apuntadores al cdigo, los datos y la pila de los programas que se estn ejecutando en un momento dado.

Registro de tareas - Contiene la direccin del TSS (Segmento de estado de tarea) para la tarea que se est ejecutando en un momento dado.

Registros de depuracin - Permiten que los programas establezcan puntos de interrupcin al momento de depurar los programas.

Registros de control CRO, CR2, CR3, CR4 - Contienen banderas de estado y campos de datos que controlan las operaciones a nivel del sistema, como la conmutacin, la paginacin y la habilitacin de la memoria cach (el registro CR1 no se utiliza).

SISTEMA DE PAGINACION

Los sistemas de paginacin son los utilizados para dividir los programas en paginas y as poder utilizar programas de mayor tamao que la memoria principal

Al usarse la paginacin, los datos sern lgicamente independientes del tamao de pagina, pero tendrn que ser fsicamente empaquetados para que encajen en las

paginas.

SEGMENTACION

Da la facilidad de realizar programas que sean ms grandes que la memoria principal, pero la segmentacin, a diferencia de la paginacin, puede dividir los programas en segmentos que no necesariamente sean del mismo tamao

Diferencias entre Windows de 16 bits y Windows de 32 bits

Todos los punteros tienen un ancho de 32 bits y ya no son de tipo Near o Far, por lo que un cdigo ya no puede hacer suposiciones basndose en la memoria segmentada.
Los identificadores de ventana, identificadores de otros objetos (como lpices, pinceles y mens) y las coordenadas de los grficos se han incrementado a 32 bits.

Los controladores de mensajes deben reprogramarse, puesto que el cambio de tamao puede variar la forma en que se empaqueta la informacin. El mayor tamao de las coordenadas de los grficos afecta a varias llamadas de funcin.

BUS ISA

CRONOLOGA

La PC original IBM tena un bus de datos de 8-bits (llamado bus PC/TX), debido a que el procesador Intel 8088 CPU (usados en las primeras PCs de 4,77 MHz de 1982) tenan un bus de datos de 8bit. Este bus, de 62 pines, tena las siguientes caractersticas:
Ocho lneas de datos (que permiten las transferencia simultnea de datos de 8 bits) Veinte lneas de direcciones (permite direccionar 1 Mbyte, aunque para el adaptador de video se asign 128 KBytes, comenzando en la direccin 640 KB, esto cre la famosa limitacin de memoria del DOS) Seis lneas de interrupciones, identificadas como IRQ2 a IRQ7. Los canales de DMA 1, 2, 3 (con dos seales para cada canal, demanda y reconocimiento). El motherboard original de las PC usaba de canal 0 de DMA para refresco de memoria y debido a que el controlador de DMA y la memoria estaban en el motherboard, estas seales no se pusieron en el bus. Los pines se usaban para voltajes y seales de control.

El procesador Intel 80286, que fue usado en la computadora IBM PC/AT (Advanced Technology Tecnologa Avanzada, 1984), tena un bus de datos de 16 bits, tal que IBM, que en ese momento era el nico fabricante normalizador de las PCs, agrego un conector de 36 pines que proporcionaban las siguientes caractersticas:
Ocho lneas ms de datos (permitiendo transferencias de datos de 16 bits). Cuatro lneas ms de direcciones (permitiendo direccionar 16 MBytes de memoria). Las interrupciones 10, 11, 12, 14 y 15 (interrupcin 13 es reservada para el coprocesador matemtico que estara en el motherboard de manera que la interrupcin 13 no estara disponible en el bus). Los canales de DMA 0, 5, 6 y 7 (el canal 4 de DMA se usa para enlazar el nuevo controlador de DMA con el original). Al contrario de la PC original, la PC/AT usa un circuito dedicado para el refresco de memoria, tal que el canal 0 est ahora disponible para el uso en el bus.

VELOCIDAD

El bus ISA tiene una velocidad de transferencia mxima terica de 16 Mbytes/s (aunque en realidad es solo de 8 Mbytes/s, debido a que normalmente se requiere de un ciclo para el direccionamiento y otro ciclo para los datos ) La velocidad tpica mximo es 1 a 2.5 Mbytes/s(8 a 20 Mbits/s). Esta velocidad es variable debido a la contencin del bus con otros dispositivos (la velocidad del procesador es diferente a la velocidad del bus). El bus ISA proporciona una velocidad razonable para dispositivos bajo ancho de banda y virtualmente asegura compatibilidad con casi cada PC en el mercado.

DESCRIPCIN DEL BUS


La clsica de 8 bits, perteneciente a los PC, XT y AT. La extensin de 16 bits de los AT. Entre ambos forman el bus ISA que todos los ordenadores PC actuales poseen (no confundir con VESA o PCI, siendo el primero una tercera ampliacin del bus ISA de 8 bits y el PCI un bus totalmente diferente). El BUS est dividido en dos caras. En la primera los pines se denominan desde A1 hasta A31 y es la cara de componentes. Contiene el bus de direcciones y de datos. Los pines de la segunda cara se denominan desde B1 hasta B31 y es la cara de soldadura. Esta cara contiene los pines de alimentacin as como las seales relacionadas con las interrupciones y las transferencias de datos va DMA.

CONECTOR DE 36 PINES DE LA PC AT
SBHE 1 1 0 0 A0 0 1 0 1 FUNCIN Transferencia de 16 bits Transferencia del byte alto Transferencia del byte bajo Invlido

SBHE (Salida).- Significa "System Bus High Enable. Esta es una seal generada por la placa del sistema. Indica que una transferencia de datos ser efectuada con el byte alto del bus de datos en las lneas SD8 hasta SD15. Esta seal y el bit de direcciones A0 pueden ser decodificados para indicar el tipo de ciclo de bus.

*MEMR (Salida)
Esta seal es activada tanto para las direcciones arriba de 1Mb como para las que estn abajo. Esta es una seal activada en bajo, que indica a la memoria que un dato est en el bus de datos.

*MEMW (Salida)
sta es idntica a la anterior, excepto que controla la escritura que normalmente ocurre con el flanco de subida de esta seal.

*DRQ5-7 (Entrada)
Por aqu llegan los pedidos de DMA para los canales 5, 6 y 7. Funcionan de igual forma que en la XT, excepto que la transferencia es de 16 bits. Son activadas en alto.

*DACK 5-7 (Salida)


Confirman los pedidos de DMA para los canales 5, 6 y 7. En el bus se debe colocar una palabra de 16 bits.

*MEM CS16 (Entrada)


Significa Memory Chip Select 16. Sirve para que la interface que est conectada en el bus de la AT, indique al sistema que se va a transmitir datos de 16 bits con un ciclo de espera.

*I/O CS16 (Entrada)


Significa Input/Output Chip Select 16. Sirve para que una interface que est conectada al bus de la AT, indique al sistema que puede transferir datos de 16 bits con un ciclo de espera.

*MASTER (Entrada)
Esta es una seal de entrada, que debe ser usada junto con DRQ 5-7, para permitir que algn otro sistema asuma el control del bus.

A continuacin se muestran los listados de los atributos del bus de la AT


Adicin de un segundo slot de 36 pines (2x18), adyacente al slot de 62 pines (2x31) que exista en el bus de la XT. Recursos para bus de datos de 8 y 16 bits. Recursos para direccin de memoria de 20 y 24 bits. Adicin de 3 canales de DMA de 16 bits. Adicin de 6 niveles ms de interrupcin. Ciclos de bus con mayor velocidad Soporte para operaciones I/O con 0 estados de espera. Soporte para bus maestro alternativo. Soporte para placas ms grandes.

CARACTERSTICAS GENERALES DE LA RANURA ISA

ISA se podra considerar una ranura de expansin de segunda generacin


Este tipo de ranuras de expansin generan un cuello de botella cuanto mayor velocidad tenga el microprocesador. Son 2 capacidades de datos que manejan: ISA-8 bits e ISA-16 bits. Fsicamente son diferentes las ranuras de expansin, la de 8 bits es de menor tamao que la de 16 bits. La ranura ISA 16 bits soporta tambin dispositivos ISA 8 bits, mas no a la inversa. Tienen una velocidad de transferencia de hasta 20 Megabytes/s (MB/s). Cuentan con una velocidad interna de trabajo de 4.77 MHz, 6 MHz, 8 MHz y 10 MHz. Cuenta con una funcin llamada "bus master" o mando a nivel de bus, que permite trabajar de manera directa con la memoria RAM.

BUS PCI

En 1992, Intel lider la creacin de un grupo que integraba fabricantes de hardware, el PCI SIG. Buscar alternativas al bus VESA, pero que presentaba deficiencias. Las primeras realizaciones prcticas (placas con bus PCI) aparecieron en 1993 con el lanzamiento de los primeros chipset de Intel para procesadores Pentium. PCI (Interconexin de componentes perifricos) es una especificacin para la interconexin de componentes en ordenadores. Ha dado lugar a un bus PCI (Mezzanine), porque funciona como una especie de nivel aadido al bus ISA/EISA tradicional de la placabase. Es un bus de 32 bits que funciona a 5 V, 33 MHz, con una velocidad de transferencia inicial de 133 Mb/s.

BUS PCI
A diferencia de los buses ISA, el bus PCI permite configuracin dinmica de un dispositivo perifrico. En el tiempo de arranque del sistema, las tarjetas PCI y el BIOS interactan y negocian los recursos solicitados por la tarjeta PCI. Las ltimas revisiones de ISA y el bus MCA de IBM ya incorporaron tecnologas que automatizaban todo el proceso de configuracin de las tarjetas, pero el bus PCI demostr una mayor eficacia en tecnologa plug and play. Aparte de esto, el bus PCI proporciona una descripcin detallada de todos los dispositivos PCI conectados a travs del espacio de configuracin PCI. La especificacin PCI cubre el tamao fsico del bus, caractersticas elctricas, cronmetro del bus y sus protocolos.

ESPECIFICACIONES HADWARE

Representan a la versin de PCI ms comnmente usada en los PC


Reloj de 33,33 MHz con transferencias sncronas Ancho de bus de 32 bits o 64 bits Tasa de transferencia mxima de 133 MB por segundo en el bus de 32 bits Tasa de transferencia mxima de 266 MB/s en el bus de 64 bits. Espacio de direccin de 32 bits (4 GB) 256 bytes de espacio de configuracin. 3,3 V o 5 V, dependiendo del dispositivo

BUS PCI

CONECTORES PCI
Las placas madre cuentan con al menos 3 4 conectores PCI, identificables generalmente por su color blanco estndar. Para 32 bits un conector de 124 clavijas o en 64 bits con un conector de 188 clavijas. Existen dos niveles de sealizacin de voltaje:

3,3 V para los ordenadores porttiles 5 V para los equipos de escritorio

El voltaje sealizado no es igual al voltaje de la fuente de alimentacin de la placa madre, sino que es el umbral de voltaje necesario para el cifrado digital de los datos.

CONECTORES PCI

Existen 2 tipos de conectores de 32 bits:


conector PCI de 32 bits, 5 V conector PCI de 32 bits, 3,3 V

CONECTORES PCI

Los conectores PCI de 64 bits disponen de clavijas adicionales para tarjetas PCI de 32 bits. Existen 2 tipos de conectores de 64 bits:
conector PCI de 64 bits, 5 V conector PCI de 64 bits, 3,3 V

CRONOLOGA
Revisin

Fecha lanzamiento

de

Frecuencia

Voltaje

Ancho

Velocidad 133 Mb/s 266 s 132 s 264 s 132 s 264 s 264 s 528 s 132 s 264 s 264 s 528 s 132 s 264 s 264 s 528 s

32 bits PCI 1.0 1992 33 MHz Nil 64 bits 32 bits PCI 2.0 1993 33 MHz 3,3 V / 5 V 64 bits 32 bits 33 MHz PCI 2.1 1995 32 bits 66 MHz 3,3 V 64 bits 32 bits 33 MHz PCI 2.2 1998 32 bits 66 MHz 3,3 V 64 bits 32 bits 33 MHz PCI 2.3 2002 32 bits 66 MHz 3,3 V 64 bits 3,3 V / 5 V 64 bits 3,3 V / 5 V 64 bits 3,3 V / 5 V 64 bits

CRONOLOGA
32 bits 66 MHz 3,3 V 64 bits 32 bits PCI-X 1.0 1999 100 MHz 3,3 V 64 bits 32 bits 133 MHz 3,3 V 64 bits 32 bits 66 MHz 3,3 V 1.064 Mb/s 264 s 800 s 532 s 528 s 400 s 264 s

64 bits
32 bits 100 MHz 3,3 V 64 bits 32 bits PCI-X 2.0 2002 133 MHz 3,3 V 64 bits 32 bits 266 MHz 3,3 V / 1,5 V 64 bits 32 bits 533 MHz 3,3 V / 1,5 V 64 bits

528 s
400 s 800 s 532 s 1.064 s 1.064 s 2.128 s 2.128 s 4.256 s

FUNCIONES DE RECURSOS CENTRALES

El trmino Recurso Central es utilizado para describir el soporte de funciones del bus dadas por el sistema anfitrin, tpicamente en un puente PCI o en un Chip estndar.
Arbitraje central Pull-ups requeridos de seal Decodificacin sustractiva. Slo un agente PCI puede usar decodificacin sustractiva y es tpicamente un puente a un bus de expansin estndar Convertir una transaccin de procesamiento en una de configuracin

PROTOCOLO DE SINCRONIZACIN DEL BUS PCI


Protocolo semisncrono Modos de transferencias

Modo rfaga Se transmite una nica palabra a una direccin de memoria o E/S especfica

Las palabras pueden ser de 1, 2, 3 4 bytes


Modo bloque Se transfiere un bloque de datos desde/hacia posiciones de memoria consecutivas, a partir de una posicin inicial Lineas del bus
CLK: seal de reloj AD0-AD31: Lneas multiplexadas de datos y direcciones C0*-C3*/BE0*-BE3*: Lneas multiplexadas de orden (command) / byte activo (byte enabled)

PROTOCOLO DE SINCRONIZACIN DEL BUS PCI


Orden (C0*-C3*): la activa el master durante el primer ciclo de la transferencia para especificar el tipo de transferencia a realizar: lectura de memoria, escritura de memoria, lectura de E/S, escritura de E/S, etc. Byte activo (BE0*-BE3*): la activa el master durante la transferencia de datos para indicar qu lneas del bus transportan los datos

BE0* activada AD0-AD7 transporta datos BE1* activada AD8-AD15 transporta datos BE2* activada AD16-AD23 transporta datos BE3* activada AD24-AD31 transporta datos

PROTOCOLO DE SINCRONIZACIN DEL BUS PCI

FRAME*: Seal para indicar el comienzo y la duracin de una transferencia

La activa el master al poner la direccin en el bus para indicar el comienzo de la transferencia Si la transferencia es modo bloque la seal se mantiene activa durante toda la transferencia del bloque y se desactiva al transferir la ltima palabra

DEVSEL*: Seal de dispositivo seleccionado (device selected)


La activa el slave para indicar que ha reconocido su direccin

TRDY*: Seal de slave preparado (target ready)


La activa el slave al inicio de la transferencia junto con DEVSEL* El slave desactiva esta seal en caso de que no pueda completar la transferencia en un solo ciclo de reloj

PROTOCOLO DE SINCRONIZACIN DEL BUS PCI

IRDY*: Seal de master preparado (initiator ready)


La activa el master al inicio de la transferencia El master desactiva esta seal en caso de que no pueda completar la transferencia en un solo ciclo de reloj

LINEAS DE ALBITRAJE DEL BUS PCI

PROTOCOLO DE ARBITRAJE DEL BUS PCI

Protocolo centralizado en estrella

Cada mster se conecta al rbitro mediante 2 lneas dedicadas REQ: peticin del bus GNT: concesin del bus La especificacin de PCI no indica un algoritmo de arbitraje particular Pueden utilizarse distintos tipos de algoritmos
FIFO Prioridad fija Prioridad variable Rotatorio, etc

ARQUITECTURA DEL BUS PCI

CICLOS DEL BUS PCI

CICLO DE DIRECCIONAMIENTO DEL BUS PCI

CICLO DE DATOS DEL BUS PCI

PCI EXPRESS

Es un nuevo desarrollo del bus PCI que usa los conceptos de programacin y los estndares de comunicacin existentes, pero se basa en un sistema de comunicacin serie mucho ms rpido. Este sistema es apoyado principalmente por Intel, que empez a desarrollar el estndar con nombre de proyecto Arapahoe despus de retirarse del sistema Infiniband.
PCI Express es abreviado como PCI-E o PCIe, aunque errneamente se le suele abreviar como PCI-X o PCIx. Sin embargo, PCI Express no tiene nada que ver con PCI-X que es una evolucin de PCI, en la que se consigue aumentar el ancho de banda mediante el incremento de la frecuencia, llegando a ser 32 veces ms rpido que el PCI 2.1. Su velocidad es mayor que PCIExpress, pero presenta el inconveniente de que al instalar ms de un dispositivo la frecuencia base se reduce y pierde velocidad de transmisin.

La comunicacin de los dispositivos PCI Express se realiza a travs de Lneas. Cada Lnea la forman un conjunto de 4 seales. Dos seales RX y otras dos TX. Esto es porque se utiliza un sistema diferencial. La comunicacin es full duplex. Una de las caractersticas ms importantes de PCI Express es que pueden agruparse lneas con el fin de aumentar el ancho de banda. Por ejemplo, veamos el siguiente dibujo:

Las lneas pueden agruparse en el formato x1, x2, x4, x8, x16 y x32, aunque las agrupaciones ms comunes de lneas (las que suelen tener los ordenadores de hoy en da) son: de x1, x4, x8 y x16.

CARCTERISTICAS PCI EXPRESS

Pueden integrar multiples lanes (es decir, ampliar el ancho de banda) para formar un unico enlace

Permite conexin en caliente (hot-plug)

Permite cambio en caliente (hot-swap)

Implementa funciones de ahorro de energa.

COMPARACIN DE TIPOS DE BUSES