Arquitectura de 32 Bits
Arquitectura de 32 Bits
Arquitectura de 32 Bits
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.
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 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
1.
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.
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
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
- 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
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.
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.
*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.
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
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:
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
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
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
Modo rfaga Se transmite una nica palabra a una direccin de memoria o E/S especfica
BE0* activada AD0-AD7 transporta datos BE1* activada AD8-AD15 transporta datos BE2* activada AD16-AD23 transporta datos BE3* activada AD24-AD31 transporta datos
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
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
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.
Pueden integrar multiples lanes (es decir, ampliar el ancho de banda) para formar un unico enlace