Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El...

25
1 Indice Indice ............................................................................................................................ 1 Procesadores de la Familia Intel ................................................................................... 3 Arquitectura interna ................................................................................................... 3 Unidades de enteros superescalar ............................................................................ 3 Funcionamiento del pipeline ...................................................................................... 4 Unidades de memoria caché ..................................................................................... 4 Unidad de interconexión con el bus........................................................................... 5 Monitor de prestaciones ............................................................................................ 6 Unidad de redundancia funcional .............................................................................. 7 Unidad de predicción de bifurcaciones ...................................................................... 7 Unidad de coma flotante ........................................................................................... 8 Jerarquía de Memoria ................................................................................................... 9 El concepto de jerarquía de memoria............................................................................ 9 Memoria Caché ....................................................................................................... 10 Estructura y funcionamiento interno de una caché de memoria............................... 12 Caché de mapeo directo ..................................................................................... 12 Caché completamente asociativa ........................................................................ 13 Caché asociativa por conjuntos de N líneas ........................................................ 13 Memoria Principal ................................................................................................... 13 Memoria RAM en ordenadores................................................................................ 13 Memoria DRAM (Dynamic RAM) ......................................................................... 14 FPM-RAM (Fast Page Mode RAM) ..................................................................... 14 EDO-RAM II (Extended Data Output RAM) ......................................................... 14 BEDO-RAM (Burst Extended Data Output RAM)................................................. 15 SDR SDRAM (Single Data Rate Synchronous Dynamic RAM)............................ 15 DDR SDRAM (Double Data Rate SDRAM) ......................................................... 15 RDRAM (Rambus DRAM) ................................................................................... 16 ESDRAM (Enhanced SDRAM) ............................................................................ 17 Tipos de módulos ................................................................................................ 17 Variedad de módulos........................................................................................... 17 Corrección y detección de errores........................................................................... 18 Arquitectura Von Neumann ......................................................................................... 19 Von Neumann ......................................................................................................... 19 Descripción de la arquitectura de Von Newmann .................................................... 19 Unidad de control (UC)............................................................................................ 21 Unidad aritmético–lógica (UAL) ............................................................................... 22 La memoria central (MC) ......................................................................................... 23 Buses..........................................................................................................................25 El bus ISA ............................................................................................................... 25 El bus PCI ............................................................................................................... 26 Controladora de vídeo................................................................................................. 29 Tarjeta de Video ...................................................................................................... 29 Concepto............................................................................................................. 29 Historia ................................................................................................................ 29 Funcionamiento................................................................................................... 30 Caracteristicas..................................................................................................... 32 MEMORIA DE VIDEO ............................................................................................. 34 Puertos de entrada salida ........................................................................................... 35 Puertos E/S: Puertos Serie...................................................................................... 35 Características de la comunicación serie............................................................. 35 Puertos E/S: Puertos Paralelo ................................................................................. 36 2 Recursos del puerto paralelo ............................................................................... 36 Puerto paralelo estándar ..................................................................................... 37 Nuevos puertos paralelo...................................................................................... 37 Recursos de los nuevos puertos paralelo ............................................................ 38 Protocolos de Comunicación ................................................................................... 38 ESTÁNDAR RS-232............................................................................................ 38 Centronic............................................................................................................. 41 Controladora de disco ................................................................................................. 43 La interfaz ATA/IDE................................................................................................ 43 Antecedentes ...................................................................................................... 43 Características .................................................................................................... 43 Ventajas e inconvenientes................................................................................... 43 Modos de transferencia ....................................................................................... 44 Conexión ............................................................................................................. 44 Integridad en la transferencia de datos................................................................ 45 La Interfaz SCSI ...................................................................................................... 46 Antecedentes ...................................................................................................... 46 La interfaz SCSI .................................................................................................. 47 Anchura del bus SCSI ......................................................................................... 47 La cadena SCSI .................................................................................................. 48 Modos de operación ............................................................................................ 49 Bibliografía .................................................................................................................. 50

Transcript of Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El...

Page 1: Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito

1

Indice Indice ............................................................................................................................1 Procesadores de la Familia Intel ...................................................................................3

Arquitectura interna...................................................................................................3 Unidades de enteros superescalar ............................................................................3 Funcionamiento del pipeline......................................................................................4 Unidades de memoria caché.....................................................................................4 Unidad de interconexión con el bus...........................................................................5 Monitor de prestaciones ............................................................................................6 Unidad de redundancia funcional ..............................................................................7 Unidad de predicción de bifurcaciones......................................................................7 Unidad de coma flotante ...........................................................................................8

Jerarquía de Memoria ...................................................................................................9 El concepto de jerarquía de memoria............................................................................9

Memoria Caché.......................................................................................................10 Estructura y funcionamiento interno de una caché de memoria...............................12

Caché de mapeo directo .....................................................................................12 Caché completamente asociativa ........................................................................13 Caché asociativa por conjuntos de N líneas ........................................................13

Memoria Principal ...................................................................................................13 Memoria RAM en ordenadores................................................................................13

Memoria DRAM (Dynamic RAM) .........................................................................14 FPM-RAM (Fast Page Mode RAM) .....................................................................14 EDO-RAM II (Extended Data Output RAM) .........................................................14 BEDO-RAM (Burst Extended Data Output RAM).................................................15 SDR SDRAM (Single Data Rate Synchronous Dynamic RAM)............................15 DDR SDRAM (Double Data Rate SDRAM) .........................................................15 RDRAM (Rambus DRAM) ...................................................................................16 ESDRAM (Enhanced SDRAM)............................................................................17 Tipos de módulos ................................................................................................17 Variedad de módulos...........................................................................................17

Corrección y detección de errores...........................................................................18 Arquitectura Von Neumann .........................................................................................19

Von Neumann .........................................................................................................19 Descripción de la arquitectura de Von Newmann ....................................................19 Unidad de control (UC)............................................................................................21 Unidad aritmético–lógica (UAL)...............................................................................22 La memoria central (MC).........................................................................................23

Buses..........................................................................................................................25 El bus ISA ...............................................................................................................25 El bus PCI ...............................................................................................................26

Controladora de vídeo.................................................................................................29 Tarjeta de Video......................................................................................................29

Concepto.............................................................................................................29 Historia ................................................................................................................29 Funcionamiento...................................................................................................30 Caracteristicas.....................................................................................................32

MEMORIA DE VIDEO.............................................................................................34 Puertos de entrada salida ...........................................................................................35

Puertos E/S: Puertos Serie......................................................................................35 Características de la comunicación serie.............................................................35

Puertos E/S: Puertos Paralelo.................................................................................36

2

Recursos del puerto paralelo...............................................................................36 Puerto paralelo estándar .....................................................................................37 Nuevos puertos paralelo......................................................................................37 Recursos de los nuevos puertos paralelo ............................................................38

Protocolos de Comunicación...................................................................................38 ESTÁNDAR RS-232............................................................................................38 Centronic.............................................................................................................41

Controladora de disco .................................................................................................43 La interfaz ATA/IDE................................................................................................43

Antecedentes ......................................................................................................43 Características ....................................................................................................43 Ventajas e inconvenientes...................................................................................43 Modos de transferencia .......................................................................................44 Conexión .............................................................................................................44 Integridad en la transferencia de datos................................................................45

La Interfaz SCSI......................................................................................................46 Antecedentes ......................................................................................................46 La interfaz SCSI ..................................................................................................47 Anchura del bus SCSI .........................................................................................47 La cadena SCSI ..................................................................................................48 Modos de operación............................................................................................49

Bibliografía ..................................................................................................................50

Page 2: Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito

3

Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito general de 32 bits. Al igual que los miembros de esta familia, el 386 y el 486, su rango de direcciones es de 4 Goctetos de memoria física y 64 Toctetos de memoria virtual. Proporciona unas prestaciones más elevadas gracias a una arquitectura mucho más optimizada. Su bus de datos es de 64 bits. Las distintas unidades funcionales con las que cuenta el procesador Pentium son entre otras cosas dos caches denominadas data cache y code cache, el prefetcher, unidad de paginación, etc.

Unidades de enteros superescalar El Pentium se basa en un diseño superescalar. Esto significa que en su interior hay más de una unidad de ejecución dedicadas a realizar las mismas funciones. En el caso del Pentium tenemos dos unidades de enteros de 32 bits que operan en paralelo. Ambas constan de una segmentación de instrucciones de cinco etapas: Prefetch de instrucciones, Decodificación, Cálculo de la dirección efectiva, ejecución y escritura de los resultados. Cada una de ellas es capaz de funcionar independientemente de la otra. El resultado es como existieran dos procesadores del tipo 486 trabajando al mismo tiempo, por lo que el Pentium podría proporcionar dos resultados enteros por ciclo de reloj. Cada unidad de proceso interno tiene su propia unidad aritmético-lógica, su circuito de generación de direcciones exclusivo y un interfaz especifico con la memoria caché de datos. Los resultados de las operaciones se almacenan en la caché interna y no se transfieren a la memoria principal a no ser que sea necesario. Sin embargo ambas unidades son exactamente iguales. Una de ellas es más completa que la otra ya que puede ejecutar todo tipo de instrucciones. La otra sólo realiza operaciones simples y del núcleo RISC. No puede ejecutar instrucciones de compatibilidad, aquellas que precisan de la ejecución de un microprograma interno. Este microcódigo también ha sido mejorado respecto al que incorporan el 486. El bloqueo en la ejecución paralela de instrucciones se realiza de forma totalmente transparente al software y al usuario. Este bloqueo se produce también cuando existen dependencias entre los operandos de las instrucciones. Por ejemplo, si una instrucción realiza una operación que deja el resultado en el registro EDX, la siguiente si utiliza el registro EDX como uno de los operandos origen para cualquier otra operación. De cualquier forma, el Pentium intenta paralelizar al máximo la ejecución de las instrucciones, siempre que se cumplan todos los requisitos para garantizar la integridad de los datos. Valores medidos indican que el procesador Pentium es capaz de ejecutar una media de 1´3 instrucciones por cada ciclo de reloj, rompiendo, por tanto, la mítica barrera de conseguir la ejecución de una instrucción en cada ciclo de reloj.

4

Funcionamiento del pipeline El prefetcher manda una dirección a la code cache (caché de instrucciones), la cual comprueba si esta existe. Si está presente, una línea de información (32 bytes) es mandada a uno de los buffers de prefetch. Este buffer de prefetch transfiere las instrucciones a la unidad decodificadora donde son decodificadas. Inicialmente las instrucciones están decodificadas para determinar si pueden ser pares. Si lo son, una instrucción irá al "U" pipeline, y la otra ira al "V" pipeline. Las instrucciones serán pares si no existen dependencias entre ellas. (Se dice que existen dependencias entre instrucciones cuando una instrucción deba de completar su ejecución antes de que la otra comience.) Existe en esta arquitectura un predictor de branch que va mirando si una instrucción de este tipo se pudiera producir. Cuando se predice un branch, la dirección de esta instrucción es demandada por la code cache. Si se encuentra allí, una línea de código se manda al otro prefetch buffer de tal manera que se impida ningún retraso cuando la instrucción branch se produzca. Si no se da ninguna instrucción de este tipo ambos pipelines de instrucciones son tratados conjuntamente, realizando los prefetchings línealmente. Con esta arquitectura se pueden entrar y salir dos instrucciones en cada etapa del pipeline. A esto en inglés se denomina Pairing instrucción, lo cual permite ejecutar dos instrucciones al mismo tiempo en cada unidad de ejecución. El pipeline que se utiliza en el Pentium es de cinco etapas, como lo hacían los procesadores más antiguos de intel, como el 486. Durante el primer ciclo de reloj un par de instrucciones realizan el prefetch .en el segundo ciclo de reloj, las dos instrucciones se tratan en paralelo en cada uno de los "U" o "V" pipelines, mientras otro par de instrucciones hacen el prefetch. Después de realizar el fetch de las instrucciones pasan a la etapa de decodificación, tercer ciclo de reloj. En el último ciclo de reloj las dos instrucciones son ejecutadas. Esto quiere decir que el máximo número de instrucciones que puede ejecutar el procesador Pentium son dos. Como he indicado anteriormente existen dos unidades de ejecución dedicados respectivamente a cada uno de los pipelines. Cada unidad de ejecución maneja un conjunto de registros, cuando se finaliza el resultado de un cómputo, la información es escrita en estos registros. Mientras las unidades de ejecución no terminen de escribir los datos ninguna otra instrucción se podrá ejecutar.

Unidades de memoria caché La memoria caché está dividida en dos subsistemas de memoria en dos subsistemas de memoria caché totalmente independientes. Ambos son del mismo tamaño, ocho Koctetos. Uno se dedica a almacenar las instrucciones y el otro, los datos. Así pues, tenemos dos memorias caché, una para código y otra para datos. Este esquema acelera las prestaciones y la capacidad de transferencia del procesador. Por ejemplo, durante la prebúsqueda, las instrucciones se obtienen de la memoria caché de instrucciones. Si hubiera una única memoria caché, no podría realizarse un acceso a un dato al mismo tiempo. Con memorias caché independientes para instrucciones y datos, ambas operaciones, de búsqueda y acceso a datos, pueden realizarse simultáneamente. Ambas están organizadas como memorias asociativas de dos vías, mucho más eficiente que si fueran de correspondencia directa. El tamaño de la línea es de 32 octetos, el doble que en el 486, ya que el bus externo del Pentium es de 64 bits, el

Page 3: Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito

5

doble que en el 486. De esta forma, en un acceso de tipo ráfaga se puede llenar una línea completa de la caché, igual que ocurría con el 486. Los dos buses independientes que abastecen a la cachés internas, desde la unidad de bus externo, son de 64 bits cada uno. Cada caché tiene su propio interfaz con cada una de las unidades de enteros, por lo que se puede proveer de datos o instrucciones al mismo tiempo a las dos unidades de ejecución para la realización de dos operaciones independientes en un mismo ciclo de reloj. El bus que parte de la caché de datos es de 64 bits. El que conecta la caché de instrucciones con los registros de prebúsqueda de instrucciones es de 256bits. Cuando se precisa almacenar instrucciones o datos en la caché correspondiente y ésta está totalmente ocupada con valores válidos, se usa el algoritmo pseudo-LRU para sustituir la línea que tenga menos probabilidad de ser nuevamente referenciada. Las cachés son del tipo escritura obligada ("Write back") por lo que los resultados de las operaciones o actualizaciones no se transfieren a la memoria principal, sino que se quedan dentro del procesador Pentium hasta que sea preciso actualizar aquella. Esta técnica es mucho más eficiente que la utilizada en el 486, tipo de escritura inmediata, donde los datos se almacenan en la caché y en la memoria principal al mismo tiempo. En el tipo de escritura obligada, las operaciones se terminan antes, al no existir la fase de escritura en memoria principal. Existen dos situaciones en las que se producen este tipo de escrituras. Uno de los casos es cuando hay que eliminar de la caché para introducir otros nuevos, cuando ésta se halla totalmente llena. Entonces, los datos a reemplazar tienen que ser escritos en la memoria principal antes de nada. La otra situación se da cuando otro procesador, DMA o maestro de bus intenta acceder a una posición de memoria cuyo dato está almacenado en la caché interna del Pentium. Como el dato puede no puede estar actualizado, este acceso se detiene hasta que el procesador escribe el dato en la memoria principal Una vez que ésta se ha actualizado, se permite que continué el acceso del otro maestro de bus al dato ya actualizado. En sistemas multiprocesador hay que asegurar la consistencia de los datos entre la memoria principal y las memorias cache de todos los procesadores que integren el sistema multiprocesador. Para ello, la caché de datos utiliza el protocolo MESI. De cualquier modo, el Pentium puede configurarse dinámicamente para trabajar con esquemas de caché del tipo escritura inmediata, si es necesario. El uso de una memoria caché de segundo nivel aumentará significativamente las prestaciones. Para equipos de sobremesa 128 ó 256 Koctetos es un valor óptimo. En el caso de servidores de redes de área local, 256 o 512 Koctetos es el valor más recomendable.

Unidad de interconexión con el bus El procesador Pentium tiene el mismo rango de direccionamiento que los 386 y 486, esto es debido que también utiliza bus de direcciones de 64 bits. El subsistema de memoria debe estar ordenado en ocho grupos de ocho bits cada uno, es decir 64bits, para adecuarse al bus del procesador. Si el bus de memoria es de 128 bits, los resultados serán mejores se la memoria está organizada en dos bancos de 64 bits cada uno, de forma que un acceso se haga en un banco y el siguiente al otro banco, para permitir la recuperación de los chips de memoria y obtener un mejor tiempo de acceso. Existe una diferencia en el tamaño de la página de memoria con la que puede trabajar el Pentium. Además del clásico tamaño de página de 4 Koctetos, el Pentium tiene una

6

posibilidad de trabajar con tamaños de página de 4Moctetos. Este tamaño tan grande es ideal en entornos gráficos, adaptadores de vídeo del tipo "Frame Buffer" y sistemas operativos multitarea. Evita una elevada frecuencia de cambio de las páginas y, además, hace que disminuya en gran medida la probabilidad de ausencia en memoria de la página pedida. Con el uso cada vez mayor de grandes objetos, que ocupan gran cantidad de memoria esta nueva característica eleva el rendimiento en gran medida. Lo más importante es que estas ventajas resultan transparentes al software de aplicación. Al ser la caché interna del tipo escritura obligada, la ocupación del bus externo por el procesador es mucho menor. Los valores que se obtienen dependen del tipo de aplicación y el diseño del subsistema de memoria. Como ejemplo de referencia, para un sistema ideal, sin estados de espera, la ocupación del bus, es aproximadamente, del 15% cuando se utiliza AUTOCAD sobre dos, un 17% para una aplicación Unix y un 28% para la hoja de calculo Excel sobre Windows. En cuanto al tipo de ciclos del bus, los valores medios corresponden a un 36% de prebúsqueda de instrucciones, un 21% de lecturas de datos, un 36% de escrituras de datos y el 7% restante son escrituras obligadas de datos. El tipo de ciclo de bus de ráfaga permite cargar 256 bits en la caché de datos de una vez. El bus externo de 64 bits es capaz de transferir datos entre la memoria y el procesador a velocidad que pueden llegar a 528 Moctetos por segundo. Esto significa que, por ejemplo, el contenido completo de un disco fijo de 100Moctetos pasaría por este bus en menos de un quinto de segundo. Esta velocidad de transferencia es superior en más de tres veces al ancho de banda del bus de un 486 a 50MHz (160 Moctetos). El bus del procesador Pentium funciona en un modo llamado Pipeline. En este modo, se puede comenzar un segundo ciclo de bus antes de que haya terminado el primero. Con ello, se da más tiempo al subsistema de memoria para decodificar la dirección del siguiente acceso, con lo que los chips de memoria pueden ser más lentos y, por tanto, más baratos. El uso de un bus local de altas prestaciones, como puede ser el PCI, permite obtener el máximo rendimiento en aplicaciones intensivas en gráficos, entrada/salida en disco, accesos a red local, etc. En la siguiente figura se puede ver el diagrama de bloques de un ordenador Pentium haciendo uso de un bus PCI.

Monitor de prestaciones Desarrollar aplicaciones es cada vez más complejo y precisa de una cuidadosa realización para evitar que la mayor parte del tiempo se pierda en ciertas rutinas o selecciones del código que no son excesivamente importantes. Para facilitar el trabajo de los desarrolladores de software, el procesador Pentium incorpora un monitor de prestaciones y una unidad de depuración software. El procesador posee una serie de contadores internos y unidades de rastreo y traza que permiten conocer su estado, el tiempo que se emplea en la realización de operaciones y las instrucciones que se ejecutan. Desde el exterior al procesador se puede interactuar con el procesador con esta unidad vía unos puertos serie accesibles por unas patillas especificas. Se puede medir el número de ciclos que el procesador emplea en operaciones internas que afectan a la lectura y escritura de datos, a la presencia o ausencia de datos o código en las memorias caché internas, las interrupciones o la utilización del bus. También es posible conocer cuánto tiempo el procesador tiene que esperar hasta que se consigue el control del bus externo. Así, es más fácil optimizar el diseño del

Page 4: Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito

7

bus de memoria y del propio subsistema de memoria para conseguir un sistema más rápido. La unidad de traza detecta cuando se produce cierta condición de bifurcación o los saltos a subrutinas o si la ejecución se produce en determinada sección de código o que instrucción ha provocado una interrupción, etc. Por tanto, es posible detectar los cuellos de botella donde el sistema se ralentiza o la aplicación pierde una gran parte de tiempo inútilmente, y optimizarlos para conseguir las mejores prestaciones y el mejor tiempo de respuesta. Los desarrolladores de herramientas de software, como compiladores, pueden optimizar el código generado para sacar partido de la arquitectura superescalar y aumentar el paralelismo en la ejecución de las instrucciones.

Unidad de redundancia funcional Se emplean una serie de técnicas para asegurar la integridad de los datos. La detección de errores se realiza tanto externamente como internamente. Cada octeto del bus de datos lleva asociado un bit de paridad, lo que hace un total de ocho bits de paridad para todo el bus de datos. Los bits de paridad son comprobados por el procesador en cada lectura. A su vez, el Pentium genera un bit de paridad por cada octeto de los 64 bits que componen cada escritura hacia el exterior. También el bus de direcciones añade un bit de paridad por cada octeto. Así, hay cuatro bits de paridad para las direcciones que se generan y comprueban en cada acceso de escritura o lectura, respectivamente. Mediante este método, el procesador Pentium es capaz de detectar si se ha producido un error en el bus de direcciones o en el de datos. Por tanto, el Pentium, no sólo detecta que el dato leído o escrito es correcto, sino que también es capaz de saber si la dirección de memoria es correcta. Internamente, también se hacen controles de paridad en la cache interna, en los registros internos y en la memoria ROM que almacena el microcódigo. Hay otro tipo de recursos que asegura la fiabilidad del procesador. Siempre, después de una reinicialización, se realiza un autodiagnóstico interno que comprueba que, al menos, un 70 % de los dispositivos internos funcionan adecuadamente. El Pentium implementa un sistema de redundancia funcional de una forma muy simple. Basta con poner dos procesadores Pentium en el mismo bus, uno trabajando en el modo Maestro y el otro como comprobador. Los dos procesadores ejecutan las mismas instrucciones al mismo tiempo. El que actúa como comprobador chequea cada resultado obtenido por el maestro con el suyo propio. Si existe discrepancia, se produce una interrupción de máxima prioridad que detiene el sistema y avisa que los dos procesadores no están de acuerdo en los resultados de la ejecución del programa.

Unidad de predicción de bifurcaciones El Pentium aumenta prestaciones mediante el empleo de una pequeña caché especifica de 256 posiciones llamada BTB ("Branch Target Buffer"). Esta es la encargada de hacer una predicción dinámica de hacia donde van a bifurcar las instrucciones de salto condicional, consultando en la BTB las últimas 256 instrucciones de ese tipo por las que el flujo de ejecución del código haya pasado.

8

Cuando una instrucción conduce a un salto, la BTB recuerda dicha instrucción y la dirección del salto efectuado y predice en qué dirección se va a producir el salto la próxima vez que se ejecute. Si la predicción es correcta, la bifurcación se realiza en cero ciclos de reloj, puesto que ésta ya se realizó, y se siguieron buscando instrucciones en dicha dirección. Si falta la predicción hay una penalización de tiempo pues hay que anular todas las operaciones efectuadas con las instrucciones que seguían al salto, Intel calcula una tasa de acierto en la predicción del 90%.

Unidad de coma flotante Esta unidad se ha rediseñado totalmente respecto a la que se usa el 486. Sin embargo, mantiene compatibilidad 100% binaria con ella. Incorpora un cauce segmentado de instrucciones de ocho etapas, que permite obtener resultados partiendo de instrucciones de coma flotante en cada ciclo de reloj. Las cuatro primeras etapas son las mismas que se poseen las unidades de enteros. La quinta y la sexta, corresponden a la ejecución de las instrucciones de coma flotante. La séptima etapa se encarga de escribir el resultado en los registros adecuados y la octava realiza el informe de posibles errores que se hayan producido. Esta unidad hace uso de nuevos algoritmos que aceleran la ejecución de las operaciones e incluye elementos de hardware dedicados, como son : un multiplicador, un sumador y un divisor. Instrucciones de suma, multiplicación y carga de datos se ejecutan tres veces más rápido que en un 486. En cuanto al banco de registros de trabajo, el Pentium, como sus predecesores, dispone de 16, ocho de los cuales actúan como registros de propósito general (EAX, EBX, ECX, EDX, ESP, ESI, EBP, EDI). Al igual que en el 386, 486, dispone de 6 registros de segmento (CS, DS, EX, FS, GS, SS), un registro puntero de instrucciones (EIP), y un registro de señalizadores (EFLAGS), con señalizadores de control (TF, IF, ID, IOPL, NT, RF, VM, AC, VIF y VIP), y señalizadores de estado (CF, PF, AF, ZF, SF, OF).

Page 5: Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito

9

Jerarquía de Memoria

El concepto de jerarquía de memoria Para comenzar esta sección, echemos un vistazo a un simple axioma del diseño hardware: más pequeño es más rápido. Las partes más pequeñas de hardware, generalmente, son más rápidas que las más grandes. Este sencillo principio es aplicable, particularmente, a las memorias, por dos razones diferentes. Primero, en las máquinas de alta velocidad, la propagación de la señal es una causa importante de retardo; las memorias más grandes tienen más retardo de señal y necesitan más niveles para decodificar las direcciones. Segundo, en muchas tecnologías se pueden obtener memorias más pequeñas, que son más rápidas que memorias más grandes. Esto es así, básicamente, porque el diseñador puede utilizar más potencia por celda de memoria en un diseño más pequeño. Las memorias más rápidas están, generalmente, disponibles en números más pequeños de bits por chip, en cualquier instante de tiempo, pero con un coste sustancialmente mayor por byte. Incrementar el ancho de banda de la memoria y decrementar la latencia de acceso a memoria son cruciales para el rendimiento del sistema, y muchas de las técnicas de organización que explicamos se enfocarán sobre estas dos métricas. ¿Cómo podemos mejorar estas dos medidas? La respuesta se encuentra al combinar los principios explicados en este capítulo junto con la regla: más pequeño es más rápido. El principio de localidad de referencia dice que el dato más recientemente utilizado, probablemente, será accedido de nuevo en el futuro próximo. Favorecer .los accesos a estos datos mejorará el rendimiento. Por ello, trataremos de encontrar elementos recientemente accedidos en la memoria más rápida. Debido a que las memorias más pequeñas son más rápidas, queremos utilizar memorias más pequeñas para que los elementos más recientemente accedidos estén próximos a la CPU y memorias sucesivamente mayores (y más lentas) cuando nos alejamos de la CPU. Este tipo de organización se denomina jerarquía de memoria.

10

Memoria Caché Si hay algo que limita la velocidad de las transferencias entre la RAM y la CPU es sin duda la primera (no se debe olvidar que el subsistema más rápido de un PC es la CPU). Por tanto, para conseguir "acelerar" un PC no es solución sencilla, rápida ni rentable centrarse en diseñar procesadores más potentes. Aunque emplear tecnologías RAM más rápidas mejora el rendimiento, la solución óptima consiste en agregar un nuevo elemento al PC: la memoria caché. Este capítulo introduce el importante concepto de caché que todo PC actual emplea (y no sólo con la memoria principal, sino también con otros importantes subsistemas). Imagine dos sistemas de memoria A y B, entre los cuales se transfiere información. Suponga que el sistema A es más rápido y presenta menor capacidad de almacenamiento que B (situación típica en un PC). Esto se traduce en que A debe funcionar a menor velocidad de la que es capaz de ofrecer, siempre que se comunique con B. Se puede mejorar la velocidad de transferencia introduciendo un nuevo sistema de memoria C entre A y B, al que se denomina caché. La caché debe presentar una capacidad de almacenamiento mayor que la de A y menor que la de B. Además, será más lenta que A, pero más rápida que B. En otras palabras, sus características son un término medio entre los sistemas A y B. La aceleración de las transferencias se basa en almacenar la información intercambiada últimamente entre A y B, puesto que con gran probabilidad será la más empleada en las próximas transferencias. La aplicación de sistemas de caché recibe el nombre de caching. Esto ya se introdujo al colocar la memoria RAM entre la CPU (rápida y con poca capacidad) y otros dispositivos lentos (y de gran capacidad), como es el caso del disco duro. Ya que esta definición es quizá un tanto confusa, en el siguiente apartado presentamos más detalles acerca del funcionamiento de una caché, que permiten entender el concepto con mayor claridad. Tomaremos como referencia un tipo

Page 6: Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito

11

particular de caché: la caché de memoria. Ésta se introduce entre la RAM y la CPU. De esta forma, se consigue incrementar notablemente la velocidad con que la CPU accede a la memoria principal. Por supuesto, la memoria caché será más rápida que la RAM, y dispondrá de menor capacidad de almacenamiento. Veamos cómo funciona. En realidad, el funcionamiento de una caché sigue un principio parecido al que formulamos para la memoria principal. En aquel caso, las instrucciones y datos se cargaban en la RAM (desde dispositivos lentos), donde la CPU podría acceder a mayor velocidad. Una caché de memoria se carga (desde la RAM) con los datos y/o instrucciones que ha buscado la CPU en las últimas operaciones. La CPU buscará siempre primero la información en la caché, y la encontrará allí la mayoría de las veces, con lo que el acceso será muy rápido. Si, desgraciadamente, no se encuentra la información en la caché, se perderá un tiempo extra en acudir a la RAM y copiar dicha información en la caché para que esté disponible. Como estos fallos ocurren con una frecuencia relativamente baja, el rendimiento mejora considerablemente, ya que la CPU accederá más veces a la caché que a la RAM. Lo comentado para la búsqueda en memoria funciona de forma análoga para la escritura: la CPU escribe en la caché en lugar de la RAM (más adelante hablaremos de dicho proceso con mayor detalle). No es de extrañar que esta técnica (caching) funcione. La mayoría de programas tiene un alto contenido en bucles, lo que implica un uso repetido de instrucciones (e incluso datos). Y esto implica una elevada probabilidad de acierto al buscar la información en la caché. Una forma interesante de ilustrar el funcionamiento de la caché consiste en imaginar un videoclub, equipado con un mostrador y una habitación capaz de almacenar cientos de vídeos. Ante la petición de cada cliente, el dependiente deberá acudir hasta el almacén, buscar la película solicitada, volver al mostrador y entregar la cinta al cliente. Ante la devolución de una cinta, el dependiente debe caminar hacia el almacén y guardar dicha cinta en el lugar apropiado. Realmente esa forma de trabajo no es nada eficiente, ya que implica demasiados desplazamientos y, por tanto, la atención al cliente será realmente lenta. Suponga ahora que el dependiente dispone de un pequeño archivador de 20 vídeos sobre el mostrador. Cuando un cliente devuelve una cinta, el dependiente coloca la cinta directamente en el archivador, en lugar de caminar hacia el almacén. Si se va repitiendo dicho proceso, el dependiente dispondrá continuamente de las veinte últimas películas devueltas en el archivador. Cuando se acerque un cliente y pida una película, el dependiente la buscará primero en el archivador, y sólo si no la encuentra allí se desplazará hacia el almacén. Este método funciona, sobre todo porque la mayor parte de las películas devueltas serán las de estreno, que al mismo tiempo son las más solicitadas. Usualmente, los diferentes sistemas de caché se organizan por niveles, formando una jerarquía. En general se cumple que, a mayor cercanía a la CPU, se presenta mayor velocidad de acceso y menor capacidad de almacenamiento. Para empezar, la caché de memoria se suele desglosar en dos niveles. En el nivel más cercano a la CPU se encuentra la caché L1 (level 1 o nivel 1). Ésta se halla integrada en el mismo chip que la CPU, con lo que el acceso se produce a la velocidad de trabajo del procesador (la máxima velocidad). Por supuesto, la caché L1 presenta un tamaño muy reducido (de 4 a 16 kB).

12

A continuación aparece la caché de nivel 2 o L2. Inicialmente, se instalaba en la placa base, en el exterior de la CPU. Los procesadores actuales la integran en el propio chip. Como era de esperar, tiene mayor capacidad que la caché L1 (de 128 a 512 kB) pero es una memoria más lenta. Por ejemplo, en el procesador Pentium II la velocidad de acceso era la mitad respecto a la caché L 1. El siguiente nivel lo constituye la memoria RAM, que ya tratamos en la anterior entrega. Como ya hemos comentado, la RAM suele hacer de caché para los dispositivos de almacenamiento y otros tipos de periféricos. El nivel más alto lo ocuparían las caché en disco duro, como son las utilizadas por los navegadores Web. La búsqueda de información comienza por la caché L1, y se va subiendo nivel a nivel en caso de no encontrar lo que se busca en el nivel actual. Por supuesto, cuantas más capas haya que ascender, mayor retardo se pagará. Pero, a mayor cercanía a la CPU, la probabilidad de encontrar lo que se busca es mayor. Esta forma de trabajo resulta una excelente relación de compromiso entre diversos factores, y consigue mejorar el rendimiento del ordenador de forma notable.

Estructura y funcionamiento interno de una caché de memoria Es apropiado pensar en la caché como un arreglo de tipo tabla. Cada celda almacena un octeto o byte. No es raro que una caché de 512 kB se distribuya en 16.384 filas (16 kB) y 32 columnas (32 bytes). La entidad básica de almacenamiento la conforman las filas, a las que se llama "líneas de caché". En el ejemplo anterior se dispone de 16.384 líneas de caché, de 32 bytes cada una. Nunca se toma un byte de la RAM y se escribe en una celda de la caché. Por el contrario, en cada movimiento siempre se copia información de la RAM suficiente para cubrir una línea de caché (en el ejemplo, siempre se mueven 32 bytes). En el caso de la escritura, el funcionamiento es totalmente análogo. Toda caché incorpora, además, un espacio de almacenamiento llamado Tag RAM, que indica a qué porción de la RAM se halla asociada cada línea de caché. En otras palabras, la Tag RAM permite traducir una dirección de RAM en una línea de caché concreta. Ya que la RAM tiene mayor capacidad que la caché, ¿cómo se reparte la RAM entre las líneas de caché disponibles? Existen tres tipos de caché según la técnica empleada:

Caché de mapeo directo Se divide la RAM en porciones de igual tamaño, tantas como líneas de caché existan. Cada línea de caché es un recurso a compartir por las direcciones de memoria de una porción diferente. Por ejemplo, si se dispone de una RAM de 64 MB y la caché de 512 kB presentada anteriormente, cada línea podrá almacenar 32 de las 4.096 direcciones que contiene la porción de RAM asociada (64 MB/16.384 líneas = 4.096 bytes / línea). Esta técnica permite una búsqueda muy rápida, ya que cada posición de RAM sólo puede estar en una determinada línea. Sin embargo, la probabilidad de encontrar la información buscada es mínima. Imagine dos instrucciones A y B, que se

Page 7: Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito

13

corresponden con la misma línea de caché (esto es, pertenecen a una misma porción de RAM). Suponga que la CPU necesita ejecutar una secuencia alternada A, B, A, B, etc. En ese caso, se tendrá que acceder a la RAM para copiar A y luego para copiar B (y reemplazar a la instrucción A en la caché), y así hasta terminar la secuencia. Sin duda, el porcentaje de acierto es nulo en dicha situación. Caché completamente asociativa Cada línea de caché se puede llenar con cualquier grupo de posiciones de la memoria RAM. En este caso, el porcentaje de acierto es máximo, y el ejemplo anterior no produciría problemas. En cambio, el tiempo de acceso es muy elevado, puesto que una posición de RAM puede estar en cualquier línea de caché (esto es lento, incluso empleando algoritmos de búsqueda vanzados). Caché asociativa por conjuntos de N líneas La caché se divide en conjuntos de N líneas. A cada conjunto se le asocia un grupo de posiciones de RAM. Dentro del conjunto asignado, una posición de RAM puede ir a parar a cualquiera de las N líneas que lo forman. En otras palabras, dentro de cada conjunto la caché es totalmente asociativa. Esta situación es la más equilibrada, puesto que se trata de un compromiso entre las técnicas anteriores. Si se hace N=1, se tiene una caché de mapeo directo. Si N es igual al número de líneas de la caché, se tiene una caché completamente asociativa. Si se escoge un valor de N apropiado, se alcanzará la solución óptima Normalmente, la caché L2 es de mapeo directo, mientras que la caché Ll es asociativa por conjuntos de N líneas.

Memoria Principal La memoria RAM (Random Access Memory Module o memoria de acceso aleatorio) es un tipo de memoria que utilizan los ordenadores para almacenar los datos y programas a los que necesita tener un rápido acceso. Se trata de una memoria de tipo volátil, es decir, que se borra cuando apagamos el ordenador, aunque también hay memorias RAM no volátiles (como por ejemplo las memorias de tipo flash). Los datos almacenados en la memoria RAM no sólo se borran cuando apagamos el ordenador, sino que también deben eliminarse de esta cuando dejamos de utilizarlos (por ejemplo, cuando cerramos el fichero que contiene estos datos). Estas memorias tienen unos tiempos de acceso y un ancho de banda mucho más rápido que el disco duro, por lo que se han convertido en un factor determinante para la velocidad de un ordenador. Esto quiere decir que, dentro de unos límites, un ordenador irá más rápido cuanta mayor sea la cantidad de memoria RAM que tenga instalada, expresada en MegaBytes o GigaBytes.

Memoria RAM en ordenadores Los chips de memoria suelen ir conectados a unas plaquitas denominadas módulos, pero no siempre esto ha sido así, ya que hasta los ordenadores del tipo 8086 los chips de memoria RAM estaban soldados directamente a la placa base.

14

Con los ordenadores del tipo 80386 aparecen las primeras memorias en módulos, conectados a la placa base mediante zócalos, normalmente denominados bancos de memoria, y con la posibilidad de ampliarla (esto, con los ordenadores anteriores, era prácticamente imposible). Los primeros módulos utilizados fueron los denominados SIMM (Single In-line Memory Module). Estos módulos tenían los contactos en una sola de sus caras y podían ser de 30 contactos (los primeros), que posteriormente pasaron a ser de 72 contactos. Hay varios tipos de memoria RAM:

• Memoria DIMM • Memoria DIMMDDR • Memoria SIMM

Los pequeños chips que componen a la memoria RAM no se encuentran sueltos, sino soldados a un pequeño circuito impreso denominado módulo, que se puede encontrar en diferentes tipos y tamaños, cada uno ajustado a una necesidad concreta: (SIMM, DIMM, SO-DIMM, RIMM). Sobre ellos se sueldan los chips de memoria RAM, de diferentes tecnologías y capacidades. Ahora bien, mientras que los ensambladores de módulos se cuentan por centenas, la lista de fabricantes de los propios chips de memoria son un número menor y sólo hay unas pocas empresas como Buffalo, Corsair, Kingston o Samsung, que en cualquier caso no superan la veintena. La capacidad de una memoria es la cantidad de datos que puede almacenar, generalmente se expresa en bytes, KiB, MiB o GiB.

Memoria DRAM (Dynamic RAM) La memoria DRAM ("Dynamic RAM" en inglés, "RAM Dinámica en español") es una memoria RAM electrónica construida mediante condensadores. Los condensadores son capaces de almacenar un bit de información almacenando una carga eléctrica. Lamentablemente los condensadores sufren de fugas lo que hace que la memoria DRAM necesite refrescarse cada cierto tiempo: el refresco de una memoria RAM consiste en recargar los condensadores que tienen almacenado un uno para evitar que la información se pierda por culpa de las fugas (de ahí lo de "Dynamic"). La memoria DRAM es más lenta que la memoria SRAM, pero por el contrario es mucho más barata de fabricar y por ello es el tipo de memoria RAM más comúnmente utilizada como memoria principal.

FPM-RAM (Fast Page Mode RAM) Memoria asíncrona, más rápida que la anterior (modo de Página Rápida) y con tiempos de acceso de 70 ó 60 ns. Esta memoria se encuentra instalada en muchos sistemas de la primera generación de Pentium. Incorpora un sistema de paginado debido a que considera probable que el próximo dato a acceder este en la misma columna, ganando tiempo en caso afirmativo.

EDO-RAM II (Extended Data Output RAM) Memoria asíncrona esta memoria permite a la CPU acceder más rápido porque envía bloques enteros de datos; con tiempo de accesos de 40 o 30ns. La EDO o Salida de

Page 8: Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito

15

Información Mejorada, tiene la ventaja que permite al CPU acceder más rápido porque posee una técnica de envío de bloques de datos, es decir direcciona la columna que va utilizar mientras que se lee la información de la columna anterior, dando como resultado una eliminación de los estados de espera manteniendo activo el buffer de salida hasta que comienza el próximo ciclo. Su tiempo de acceso es cerca de 40 y 50 ns.

BEDO-RAM (Burst Extended Data Output RAM) Es una evolución de la EDO RAM y competidora de la SDRAM. Lee los datos en ráfagas, lo que significa que una vez que se accede a un dato de una posición determinada de memoria se leen los tres siguientes datos en un solo ciclo de reloj por cada uno de ellos, reduciendo los tiempos de espera del procesador. En la actualidad es soportada por los chipsets VIA 580VP, 590VP y 680VP. Al igual que la EDO RAM, la limitación de la BEDO RAM es que no puede funcionar por encima de los 66 MHz.

SDR SDRAM (Single Data Rate Synchronous Dynamic RAM) Memoria síncrona (misma velocidad que el sistema), con tiempos de acceso de entre 25 y 10 ns y que se presentan en módulos DIMM de 168 contactos. Fue utilizada en los Pentium_II y en los Pentium_III , así como en los AMD K6, K7 AMD_Athlon y Duron. Según la frecuencia de trabajo se dividen en:

• PC66: la velocidad de bus de memoria es de 66 MHz, temporización de 15 ns y ofrece tasas de transferencia de hasta 533 MiB/s.

• PC100: la velocidad de bus de memoria es de 100 MHz, temporización de 8 ns y ofrece tasas de transferencia de hasta 800 MiB/s.

• PC133: la velocidad de bus de memoria es de 133 MHz, temporización de 7,5 ns y ofrece tasas de transferencia de hasta 1066 MiB/s.

Está muy extendida la creencia de que se llama SDRAM a secas, y que la denominación SDR SDRAM es para diferenciarla de la memoria DDR, pero no es así, simplemente se extendió muy rápido la denominación incorrecta. El nombre correcto es SDR SDRAM ya que ambas (tanto la SDR como la DDR) son Memorias Síncronas Dinámicas.

DDR SDRAM (Double Data Rate SDRAM) Memoria síncrona, envía los datos dos veces por cada ciclo de reloj. De este modo trabaja al doble de velocidad del bus del sistema, sin necesidad de aumentar la frecuencia de reloj. Se presenta en módulos RIMM de 184 contactos. Del mismo modo que la SDRAM, en función de la frecuencia del sistema se clasifican en (según JEDEC):

• PC1600 ó DDR200: funciona a 2.5 V, trabaja a 200 MHz, es decir 100 MHz de bus de memoria y ofrece tasas de transferencia de hasta 1,6 GiB/s (de ahí el nombre PC1600). Este tipo de memoria la utilizaron los Athlon XP de AMD, y los primeros Pentium 4.

• PC2100 ó DDR266: funciona a 2.5 V, trabaja a 266 MHz, es decir 133 MHz de bus de memoria y ofrece tasas de transferencia de hasta 2,1 GiB/s (de ahí el nombre PC2100).

16

• PC2700 ó DDR333: funciona a 2.5 V, trabaja a 333 MHz, es decir 166 MHz de bus de memoria y ofrece tasas de transferencia de hasta 2,7 GiB/s (de ahí el nombre PC2700).

• PC3200 ó DDR400: funciona a 2.5V, trabaja a 400 MHz, es decir, 200 MHz de bus de memoria y ofrece tasas de transferencia de hasta 3,2 GiB/s (de ahí el nombre PC3200).

También existen las especificaciones DDR433, DDR466, DDR500, DDR533 y DDR600 pero según muchos ensambladores es poco práctico utilizar DDR SDRAM a más de 400 MHz, por lo que está siendo sustituida por la revisión DDR2.

• PC2-4200 ó DDR2-533: trabaja a 533 MHz, es decir, 266 MHz de bus de memoria y ofrece tasas de transferencia de hasta 4,26 GiB/s (de ahí el nombre PC2-4200).

• PC2-4800 ó DDR2-600: trabaja a 600 MHz, es decir, 300 MHz de bus de memoria y ofrece tasas de transferencia de hasta 4,8 GiB/s (de ahí el nombre PC2-4800).

• PC2-5300 ó DDR2-667: trabaja a 667 MHz, es decir, 333 MHz de bus de memoria y ofrece tasas de transferencia de hasta 5,3 GiB/s (de ahí el nombre PC2-5300).

• PC2-6400 ó DDR2-800: trabaja a 800 MHz, es decir, 400 MHz de bus de memoria y ofrece tasas de transferencia de hasta 6,4 GiB/s (de ahí el nombre PC2-6400).

• También existen las versiones DDR2-400, DDR2-433, DDR2-466, DDR2-500 (por la misma razón anterior, JEDEC no considera práctico DDR2 a más de 533 MHz), DDR2-1000, DDR2-1066, DDR2-1150 y DDR2-1200.

• PC3-6400 ó DDR3-800: trabaja a 800 MHz, es decir, 400 MHz de bus de memoria y ofrece tasas de transferencia de hasta 6,4 GiB/s (de ahí el nombre PC3-6400).

• PC3-8500 ó DDR3-1066: trabaja a 1.066 MHz, es decir, 533 MHz de bus de memoria y ofrece tasas de transferencia de hasta 8,5 GiB/s (de ahí el nombre PC3-8500).

• PC3-10600 ó DDR3-1333: trabaja a 1.333 MHz, es decir, 667 MHz de bus de memoria y ofrece tasas de transferencia de hasta 10,6 GiB/s (de ahí el nombre PC3-10600).

• PC3-12800 ó DDR3-1600: trabaja a 1.600 MHz, es decir, 800 MHz de bus de memoria y ofrece tasas de transferencia de hasta 12,8 GiB/s (de ahí el nombre PC3-12800).

RDRAM (Rambus DRAM) Memoria de gama alta basada en un protocolo propietario creado por la empresa Rambus, lo cual obliga a sus compradores a pagar regalías en concepto de uso. Esto ha hecho que el mercado se decante por la memoria DDR de uso libre, excepto algunos servidores de grandes prestaciones (Cray) y la famosa PlayStation 2. Se clasifica en:

• Rambus PC600: se caracteriza por utilizar dos canales en vez de uno y ofrece unas tasas de transferencia de 1,06 GiB/s por canal => 2,12 GiB/s a una frecuencia de 266 MHz.

• Rambus PC700: igual que el anterior, trabaja a una frecuencia de 356 MHz y ofrece unas tasas de transferencia de 1,42 GiB/s por canal => 2,84 GiB/s.

• Rambus PC800: del mismo modo, trabaja a 400 MHz y ofrece unas tasas de transferencia de 1,6 GiB/s por canal => 3,2 GiB/s.

Page 9: Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito

17

Aunque competidora de la DDR, la RDRAM funciona de modo muy distinto: la DDR utiliza los flancos de subida y bajada del reloj para duplicar su frecuencia efectiva (hasta DDR400) con un bus de datos de 64 bits, mientras que la RDRAM eleva la frecuencia de los chips para evitar cuellos de botella (hasta PC800) con un bus de datos de 16 bits.

ESDRAM (Enhanced SDRAM) Esta memoria incluye una pequeña memoria estática en el interior del chip SDRAM. Con ello, las peticiones de ciertos ser resueltas por esta rápida memoria, aumentando las prestaciones. Se basa en un principio muy similar al de la memoria caché utilizada en los procesadores actuales.

Tipos de módulos Tipos de módulos de arriba abajo (los dos primeros soldados directamente en placa): DIP, DIP switch, SIMM 30 contactos, SIMM 72 contactos, DIMM 168 contactos, DIMM 184 contactos

• Módulo de memoria SIMM de 30 pines: SIMM es un acrónimo del idioma ingles que expresa Single in Line Memory Module o modulo de memoria de una sola línea, es decir, un modulo de memoria SIMM es un conjunto de chips, generalmente DIPs integrados a una tarjeta electrónica. Este modulo normalmente trabaja con una capacidad para el almacenamiento y lectura de datos de 8 bits.

• Módulo de memoria SIMM de 72 pines con tecnología EDO RAM: Este módulo de memoria es superior en tamaño al SIMM de 30 pines. Normalmente trabaja con una capacidad para el almacenamiento y lectura de datos de 32 bits.

• Módulo de memoria DIMM de 168 pines con tecnología SDR SDRAM: DIMM es un acrónimo inglés que expresa Dual in Line Memory Module o módulo de memoria de doble línea. Este módulo generalmente trabaja con una capacidad para el almacenamiento y lectura de datos de 64 bits.

• Módulo de memoria DIMM de 184 pines con tecnología DDR SDRAM: Este tipo de módulo de memoria trabaja con chips de memoria DDR SDRAM, con un bus de datos de 64 bits y posee 184 pines (lo que evita confundirlo con el de 168 pines y conectarlo en placas que no lo soporten).

• Módulo de memoria RIMM de 184 pines con tecnología RDRAM: Este tipo de módulo de memoria trabaja con chips de memoria RDRAM, por lo que deben instalarse siempre de dos en dos y en módulos específicos. Suelen tener una protección metálica que favorece la disipación térmica.

Variedad de módulos La explicación del por qué existe la necesidad de hacer coincidir a pares ciertos módulos de memoria es que cada módulo es capaz de devolver cierto número de bits por vez y éste ha de completar el ancho de bus del microprocesador.

18

Es decir, si contamos con un procesador Pentium con un bus de datos de 64 bits, necesitaremos un sistema de memoria capaz de llenar este ancho de bus. Por ello, si cada módulo SIMM de 72 contactos proporciona 32 bits de una sola vez, precisaremos dos de estos módulos. Los DIMM proporcionan los 64 bits de golpe, por lo que pueden instalarse individualmente (y ser de marcas y capacidades diferentes). Algo extrapolable a los procesadores de 32 bits, que necesitaban cuatro módulos SIMM de 30 contactos, con 8 bits cada uno.

Corrección y detección de errores Se usan técnicas de detección de errores para detectar si los datos leídos de la memoria han sido alterados por algún error. La técnica del bit de paridad consiste en guardar un bit adicional por cada byte de datos, y en la lectura se comprueba si el número de unos es par (paridad par) o impar (paridad impar), detectándose así el error. Una técnica mejor es la que usa ECC, que permite detectar errores de 1 a 4 bits y corregir errores que afecten a un sólo bit esta técnica se usa sólo en sistemas que requieren alta fiabilidad.

Page 10: Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito

19

Arquitectura Von Neumann Aunque ya han pasado muchísimos años desde que se fabricaron las primeras computadoras, y ha cambiado la tecnología a emplearse para su construcción, la gran mayoría de computadores sigue utilizando la Arquitectura de Von Neuman. Von Neumann Matemático Húngaro-estadounidense, de grandes contribuciones en la física cuántica, análisis funcional, teoría de conjuntos, informática, economía, etc. Recibió su doctorado en matemáticas de la Universidad de Budapest a los 23 años. También trabajo en el Proyecto Manhattan. Es considerado el padre de la Teoría de juegos y publicó el clásico libro, Theory of games and economic behavior (Teoría de juegos y comportamiento económico). Fue pionero de la computadora digital moderna. En la Universidad de Pennsylvania, publicó un artículo acerca del almacenamiento de programas. El concepto de programa almacenado permitió la lectura de un programa dentro de la memoria de la computadora, y después la ejecución de las instrucciones del mismo sin tener que volverlas a escribir. La primera computadora en usar el citado concepto fue la famosa EDVAC (Electronic Discrete-Variable Automatic Computer, es decir “computadora automática electrónica de variable discreta, desarrollada por Von Neumann, Eckert y Mauchly. Los programas almacenados dieron a las computadoras flexibilidad y confiabilidad, haciéndolas más rápidas y menos sujetas a errores que los programas mecánicos.

Descripción de la arquitectura de Von Newmann Este tipo de arquitectura presenta a una computadora divida en 4 secciones principales: Sus partes principales son Las siguientes:

• El Procesador (P). Que a su vez se compone de: o La unidad de control (UC). o La unidad aritmético – lógica (UAL).

• La Memoria Central (MC). • Dispositivos de entrada / salida

La unidad central de proceso también incorpora un cierto número de registros rápidos (pequeñas unidades de memoria) de propósito especial, que son utilizados internamente por la misma. Una aproximación a diseño interno de un microprocesador es el siguiente

20

Como vemos en el esquema 1, la unidad de control y la unidad aritmético–lógica constituyen lo que se ha venido a denominar el procesador central del sistema; este elemento es parte de la unidad central de proceso encargada del control y ejecución de las operaciones del sistema. Estos elementos en un ordenador personal se encuentran integrados en un único chip llamado microprocesador. Las funciones principales de la UCP de un ordenador son:

• Ejecutar las instrucciones de los programas almacenados en la memoria del sistema.

• Controlar la transferencia entre la UCP y la memoria o las unidades de E/S • Responder a las peticiones de servicio procedente de los periféricos.

Todo programa tiene como objetivo realizar diferentes funciones o aplicaciones, solo limitadas por la capacidad e imaginación del programador. Para que un programa sea ejecutado el mismo se debe hallar en determinadas posiciones de memoria y escrito en un lenguaje que la UCP pueda entender. La UCP lo único que comprende es lenguaje binario. La UCP lee en forma ordenada la lista de instrucciones, luego las interpreta, y posteriormente controla su ejecución de cada una de ellas. Las ejecuciones se realizan en forma consecutiva una tras otra. Para ejecutar cada instrucción la UCP realiza la siguiente serie de pasos:

• Lee de la memoria la instrucción que hay que ejecutar y la guarda en un registro interior de la UCP.

• Identifica la instrucción que acaba de leer • Comprueba si la instrucción necesita utilizar datos de memoria, si fuera así,

determina donde debe ir a buscarlos. • Busca los datos en la memoria y los trae en UCP. • Ejecuta la instrucción propiamente dicha.

Page 11: Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito

21

• El resultado de la misma puede ser que se almacene o invoque la necesidad de tener que comunicarse con la memoria o con otro elemento externo a la propia UCP.

• Vuelve al primer paso para empezar una nueva instrucción. La anterior es una lista simplificada de los pasos que ejecuta el microprocesador. La ejecución de cada instrucción implica el movimiento de datos. Los movimientos se deben realizar en forma secuencial y ordenada, para lo cual la UCP sigue las señales dadas por un reloj. Para una mejor compresión del funcionamiento de la UCP, la misma se puede dividir en dos unidades la unidad de control y la unidad aritmético-lógica.

Unidad de control (UC) La unidad de control (UC) es el centro nervioso de la computadora; desde ella se controla y gobiernan todas las operaciones (búsqueda, decodificación, y ejecución de la instrucción). Para realizar su función, consta de los siguientes elementos:

• Registro de contador de programas (CP) • Registro de Instrucciones (RI) • Decodificador (D) • Reloj (R) • Generador de Señales o Secuenciador (S)

Registro de contador de programas (CP). También denominado registro de control de Secuencia (RCS), contiene permanentemente la dirección de memoria de la próxima instrucción a ejecutar. Si la instrucción que se está ejecutando en un instante determinado es de salto o de ruptura de secuencia, el RCS tomará la dirección de la instrucción que se tenga que ejecutar a continuación; esta dirección la extraerá de la propia instrucción en curso. Como ya se dijo el primer paso para la ejecución de una instrucción, consiste en ir a buscarla en memoria, el CP indica cual es la dirección de memoria donde se halla esa instrucción. Una vez obtenida y antes de continuar con los siguientes pasos una señal de control incrementa el CP en una unidad, por lo cual los programas deben estar escritos (cargados) en posiciones consecutivas de memoria. El CP pasa la dirección al Registro de Direcciones Registro de Direcciones (RD). Contiene la dirección de memoria donde se encuentra la próxima instrucción y esta comunicado con el Bus de Direcciones. El tamaño de este registro determina el tamaño de la memoria que puede direccionar.( Si es de 32 bits se puede direccionar 232=4.294.967296 (4 GB posiciones de memoria). Con la dirección de memoria, se transfiere a través el Bus de Datos desde la memoria central al Registro de Datos en la UC la instrucción correspondiente. Esta transferencia se realiza mediante señales de control. Una vez que la instrucción se encuentra en la UCP, el código de la instrucción pasa al registro de instrucciones. Registro de Instrucciones (RI). Contiene la instrucción que se está ejecutando en cada momento. Esta instrucción llevará consigo el código de operación (CO), acción de que se trata, y en su caso los operandos o las direcciones de memoria de los mismos. Pasa el CO al decodificador. Decodificador (D).

22

Se encarga de extraer y analizar el código de operación de la instrucción en curso (que está en el RI) y dar las señales necesarias al resto de los elementos para su ejecución por medio del Generador de Señales. Generador de Señales(GS). En este dispositivo se generan órdenes muy elementales (microórdenes) que, sincronizadas por los impulsos del reloj, hacen que se vaya ejecutando poco a poco la instrucción que está cargada en el RI. Reloj (R). Proporcionar una sucesión de impulsos eléctricos a intervalos constantes (frecuencia constante), que marcan los instantes en que han de comenzar los distintos pasos de que consta cada instrucción.

Unidad aritmético–lógica (UAL) Esta unidad es la encargada de realizar las operaciones elementales de tipo aritmético (generalmente sumas o restas) y de tipo lógico (generalmente comparaciones). Para realizar su función, consta de los siguientes elementos:

• Banco de registros (BR). Está constituido por 8, 16 ó 32 registros de tipo general que sirven para situar dates antes de cada operación, para almacenar datos intermedios en las operaciones y para operaciones internas del procesador.

• Circuitos operadores (CIROP). Compuesto de uno o varios circuitos electrónicos que realizan operaciones elementales aritméticas y lógicas (sumador, complementador, desplazador, etc).

• Registro de resultado (RR). Se trata de un registro especial, en el que se depositan los resultados que producen los circuitos operadores.

• Señalizadores de estado (SE). Registro con un conjunto de biestables en los que se deja constancia de algunas condiciones que se dieron en la última operación realizada.

Page 12: Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito

23

La memoria central (MC) Es la parte de la unidad central de proceso de una computadora donde están almacenadas las instrucciones y los datos necesarios para que un determinado proceso pueda ser realizado. La memoria central está constituida por una multitud de celdas o posiciones de memoria, numeradas de forma consecutiva, capaces de retener, mientras la computadora esté conectada, la información necesaria. Por otra parte, es una memoria de acceso directo, es decir, puede accederse a una de sus celdas conociendo su posición. Para esta memoria el tiempo de acceso es más corto que para Las memorias auxiliares, por tanto, los datos que manejan los procesos deben residir en ella en el momento de su ejecución. Es importante no confundir los términos celda o posición de memoria con el de palabra de computadora, ya que esta última es el conjunto de posiciones de memoria que pueden introducirse o extraerse de la memoria de una solo vez (simultáneamente). La memoria central tiene asociados dos registros para la realización de operaciones de lectura o escritura, y un dispositivo encargado de seleccionar una celda de memoria en coda operación de acceso sobre la misma: Registro de dirección de memoria (RDM). Contiene la dirección de memoria donde se encuentran o va a ser almacenada la información (instrucción o dato), tanto si se trata de una lectura como de una escritura de o en memoria central, respectivamente. Registro de intercambio de memoria (RIM). Si se trata de una operación de lectura, el RIM es quien recibe el dato de la memoria señalado por el RDM, para su posterior envío a uno de Los registros de la UAL. Si se trata de una operación de escritura, la información a grabar tiene que estar en el RIM, para que desde él se transfiera a la posición de memoria indicada por el RDM. Selector de memoria (SM). Es el dispositivo que, tras una orden de lectura o escritura, conecta la celda de memoria cuya dirección figure en el RDM con el RIM, posibilitando la transferencia de Los dates en un sentido o en otro.

24

La memoria central suele ser direccionable por octeto o byte; por tanto, una celda o posición de memoria contiene 8 bits. Una de Las características fundamentales de una computadora es su capacidad de memoria interna (memoria central), la cual se mide en un múltiplo del byte denominado Kilobyte, Kbyte, Kb o simplemente K, y que equivale a 1 024 bytes (1 024 = 2'°). Otro múltiplo utilizado ampliamente en Los últimos tiempos es el Megabyte o simplemente Mega, que equivale a 1 024 * 1 024 Bytes; es decir, a 1 048 576 bytes. Los Dispositivos de Entrada y Salida (E/S) Sirven a la computadora para obtener información del mundo exterior y devolvernos el resultado de dicha información. Entre estos tenemos: teclados, monitores, camaras web y demás.

Page 13: Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito

25

Buses Los buses son el tejido conectivo de los sistemas de computación. El bus ISA es una expansión del bus original de la IBM PC. Por razones de compatibilidad hacia atrás, se sigue incluyendo en todas las PC basadas en Intel, aunque todas estas maquinas tienen también un segundo bus, más rápido: el PCI. El bus PCI es mas ancho que el ISA y opera con una tasa de reloj más alta. Examinaremos cada uno de estos buses.

El bus ISA El bus de la IBM PC era de hecho el estándar en los sistemas basados en el 8088 porque casi todos los fabricantes de clones de la PC lo copiaron para poder usar en sus sistemas las muchas tarjetas de E/S existentes hechas por otros fabricantes. Ese bus tenia 62 líneas de serial, incluidas 20 para una dirección de memoria, 8 para datos y una en cada caso para habilitar lectura de memoria, escritura de memoria, lectura de E/S y escritura de E/S. También había seriales para solicitar y conceder interrupciones y usar DMA, y nada mas. Era un bus muy sencillo. Físicamente, el bus estaba grabado en la tarjeta madre de la PC, con una media docena de conectores situados a intervalos de 2 cm para insertar en ellos tarjetas (plug-ins). Cada tarjeta tenía una pestaña que embonaba en el conector. La pestaña tenia 31 tiras chapeadas en oro en cada lado que hacían contacto eléctrico con el conector. Cuando IBM introdujo la PC/AT basada en el 80286, enfrento un problema grave. Si hubiera comenzado desde cero y diseñado un bus de 16 bits totalmente nuevo, muchos clientes en potencia habrían dudado en comprar la maquina porque ninguna de las numerosas tarjetas para PC insertables hechas por terceros fabricantes habría funcionado con la nueva maquina. Por otra parte, seguir con el bus de PC y sus 20 líneas de dirección y 8 líneas de datos habría impedido aprovechar la capacidad del 80286 para direccionar 16M de memoria y transferir palabras de 16 bits. La solución que se escogió fue extender el bus de PC. Las tarjetas insertables para PC tienen un conector de arista con 62 contactos, pero que no corre a todo lo largo de la tarjeta. La solución para la PC/AT fue colocar un segundo conector de arista en la parte inferior de la tarjeta, junto al principal, y diseñar los circuitos de la AT de modo que funcionaran con ambos tipos de tarjetas. La idea general se ilustra en la figura.

26

El segundo conector del bus PC/AT contiene 36 líneas. De estas, 31 se dedican a mas líneas de dirección, mas líneas de datos, mas líneas de interrupciones y mas canales de DMA, además de alimentación y tierra. El resto se ocupa de diferencias entre las transferencias de 8 bits y las de 16 bits. Cuando IBM introdujo la serie PS/2 como sucesora de la PC y la PC/AT, decidió que era hora de comenzar de nuevo. En parte, esta decisión pudo haber sido técnica (el bus de PC a esas alturas ya era realmente obsoleto), pero en parte se debió sin duda a un deseo de poner un obstáculo en el camino de las compañías que fabricaban clones de la PC, las cuales se habían apoderado de una porción preocupante del mercado. Así, las maquinas PS/2 de precio medio y alto se equiparon con un bus, el MicroChannel, que era totalmente nuevo y que estaba protegido por una pared de patentes respaldada por un ejercito de abogados. El resto de la industria de las computadoras personales reacciono adoptando su propio estándar, el bus ISA (arquitectura estándar de la industria, Industry Standard Architecture), que es básicamente el bus de la PC/AT a 8.33 MHz. La ventaja de este enfoque es que mantiene la compatibilidad con las maquinas y las tarjetas existentes; además, se basa en un bus para el que IBM había otorgado generosamente licencias a muchas compañías con el fin de asegurar que el mayor numero de fabricantes posible produjera tarjetas para el PC original, algo que resulto contraproducente para IBM. Todas las PC basadas en Intel tienen aun este bus, aunque generalmente acompañado por uno o mas buses distintos. Se puede encontrar una descripción exhaustiva del bus ISA en (Shanley y Anderson, 1995a). Mas adelante, el bus ISA se extendió a 32 bits con unas cuantas funciones adicionales (por ejemplo, para multiprocesamiento). Este nuevo bus se llamo EISA (ISA extendido). Sin embargo, casi no se han producido tarjetas para el.

El bus PCI En la IBM PC original, casi todas las aplicaciones se basaban en texto. Gradualmente, con la introducción de Windows, comenzaron a usarse las interfaces graficas con el usuario. Ninguna de estas aplicaciones forzaba mucho al bus ISA, pero al pasar el tiempo cada vez mas aplicaciones, sobre todo los juegos de multimedia, comenzaron a usar computadoras para exhibir video de pantalla completa y pleno movimiento, y la situación cambio radicalmente. Hagamos un cálculo sencillo. Consideremos una pantalla de 1024 x 768 que se usa para imágenes en movimiento de color natural (3 bytes/pixel). Una pantalla contiene 2.25 MB de datos. Para que el movimiento sea continuo, se requieren al menos 30 pantallas por segundo, lo que corresponde a una tasa de datos de 67.5 MB/s. De hecho, la situación es peor, porque para exhibir un video desde un disco duro, CD-ROM o DVD los datos deben pasar por el bus de la unidad de disco a la memoria. Luego, para exhibirlos, los datos deben pasar otra vez por el bus hacia el adaptador de gráficos. Así, pues, necesitamos un ancho de banda de bus de 135 MB/s solo para el video, sin contar el ancho de banda que necesitan la CPU y otros dispositivos. El bus ISA opera con una rapidez máxima de 8.33 MHz y puede transferir dos bytes por ciclo, lo que da un ancho de banda máximo de 16.7 MB/s. El bus EISA puede transferir cuatro bytes por ciclo, así que alcanza los 33.3 MB/s. Es evidente que ninguno de ellos se acerca siquiera a lo que se necesita para video de pantalla completa.

Page 14: Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito

27

En 1990 Intel previó esto y diseñó un nuevo bus con un acho de banda mucho mayor que incluso el del bus EISA, y lo llamo bus PCI (interconexión de componentes periféricos, Peripheral Component Interconnect). Para fomentar su uso, Intel patento el bus PCI y luego puso todas las patentes en el dominio publico para que cualquier compañía pudiera construir periféricos para el sin tener que pagar regalías. Además, Intel formo un consorcio de la industria, el PCI Special Interest Group, para controlar el futuro del bus PCI. Como resultado de estas acciones, el bus PCI se ha popularizado enormemente. Casi todas las computadoras basadas en Intel a partir de la Pentium tienen un bus PCI, y muchas otras computadoras también lo tienen. Incluso Sun tiene una versión del UltraSPARC que usa el bus PCI, el UltraSPARC Hi. El bus PCI se cubre con lujo de detalle en (Shanley y Anderson 1995b; y Solari y Willse, 1998). El bus de PCI original transfería 32 bits por ciclo y operaba a 33 MHz (tiempo de ciclo de 30 ns), para un ancho de banda total de 133 MB/s. En 1993 se introdujo PCI 2.0, y en 1995 salio PCI 2.1. El PCI 2.2 cuenta con funciones para computadoras móviles (principalmente para ahorrar la energía de las baterías). El bus PCI opera hasta 66 MHz y puede manejar transferencias de 64 bits, para un ancho de banda total de 528 MB/s. Con este tipo de capacidad es posible tener video de pantalla completa y pleno movimiento (suponiendo que el disco y el resto del sistema están a la altura del reto). En todo caso, el bus PCI no Será el cuello de botella. Aunque 528 MB/s parece muy rápido, aun tiene dos problemas. Primero, no es lo bastante bueno como para ser bus de memoria. Segundo, no es compatible con todas las viejas tarjetas para ISA que todavía existen. La solución que ideo Intel fue diseñar computadoras con tres o mas buses, como se muestra en la figura 3-50. Aqui vemos que la CPU puede comunicarse con la memoria principal por un bus de memoria especial, y que se puede conectar un bus ISA al bus PCI. Esta organización satisface todos los requisitos, así que prácticamente todas las computadoras Pentium II emplean esta arquitectura. Dos componentes clave de esta arquitectura son los dos chips de puente (que Intel fabrica: de ahí su interés en todo este proyecto). El puente PCI conecta la CPU, la memoria y el bus PCI. El puente ISA conecta el bus PCI al bus ISA y también apoya uno o dos discos IDE. Casi todos los sistemas Pentium II vienen con una o mas ranuras PCI libres para añadir nuevos periféricos de alta velocidad, y una o mas ranuras ISA para agregar periféricos de baja velocidad. La gran ventaja del diseño de la figura es que la CPU tiene un ancho de banda a la memoria gigantesco. Al usar un bus de memoria patentado, el bus PCI tiene un ancho de banda muy grande para periféricos rápidos como discos SCSI, adaptadores de gráficos, etc., y es posible seguir usando tarjetas ISA viejas. Aunque ilustramos un sistema con un bus PCI y un bus ISA, es posible tener varios ejemplares de cada uno. Existen chips de puente PCI a PCI que conectan dos buses PCI, de modo que los sistemas más grandes pueden tener dos o más buses PCI independientes. También es posible tener dos o mas chips de puente PCI a ISA en un sistema, y así incluir varios buses ISA. Habría sido útil que solo existiera un tipo de tarjeta para PCI. Lamentablemente, no es así. Se ofrecen opciones de voltaje, capacidad y temporizacion. Muchas computadoras viejas usan 5 volts, mientras que las mas nuevas tienden a usar 3.3 volts, por lo que el bus PCI apoya ambos voltajes. Los conectores son iguales excepto por dos trozos de plástico que impiden que la gente inserte una tarjeta de 5 volts en un bus PCI de 3.3 volts o viceversa. Por fortuna existen tarjetas universales que manejan ambos voltajes y pueden insertarse en cualquier tipo de ranura. Además de la opción de voltaje, hay tarjetas en versiones de 32 bits y de 64 bits.

28

Figura Arquitectura de un sistema Pentium II representativo Los buses mas gruesos tienen más ancho de banda que los más delgados. Las tarjetas de 32 bits tienen 120 terminales; las de 64 bits poseen las mismas 120 terminales mas 64 adicionales, semejante a la manera en que se extendió a 16 bits el bus de la IBM PC (vea la figura 3-49). Un sistema de bus PCI que acepta tarjetas de 64 bits también puede aceptar tarjetas de 32 bits, pero no al revés. Por ultimo, los buses y las tarjetas PCI pueden operar a 33 MHz o 66 MHz. La decisión se toma conectando permanentemente una terminal ya sea a la fuente de alimentación o a tierra. Los conectores son idénticos para ambas velocidades. El bus PCI es sincrónico, como lo fueron todos los buses de PC hasta el de la IBM PC original. Todas las transacciones se efectúan entre un amo, llamado oficialmente iniciador, y un esclavo, llamado oficialmente objetivo. Para reducir el número de contactos del bus PCI, las líneas de direcciones y de datos se multiplexan. Así, solo se necesitan 64 terminales en las tarjetas PCI para las señales de dirección y de datos, aunque PCI maneja direcciones de 64 bits y datos de 64 bits. Las líneas de dirección y datos multiplexadas funcionan como sigue. En una operación de lectura, durante el ciclo 1, el iniciador coloca la dirección en el bus. En el ciclo 2 el iniciador quita la dirección y el bus se invierte para que el esclavo pueda usarlo. En el ciclo 3, el esclavo envía los datos solicitados. En las operaciones de escritura, el bus no tiene que invertirse porque el iniciador coloca en el tanto la dirección como los datos. No obstante, la transacción minima sigue siendo de tres ciclos. Si el esclavo no puede responder en tres ciclos, puede insertar estados de espera. También se permiten transferencias de bloques de tamaño ilimitado, así como varios otros tipos de ciclos de bus.

Page 15: Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito

29

Controladora de vídeo

Tarjeta de Video La tarjeta de video se puede decir que es un elemento electrónico que se utiliza para generar una señal de video que se manda a una pantalla de video por medio de un cable. La tarjeta de video se la puede encontrar tanto en una placa de sistema de la computadora o también en una placa de expansión. La tarjeta gráfica establece toda la información que se debe visualizar en pantalla y realiza la función de interfaz entre el procesador y el monitor; la placa envía la información al monitor, luego de que el sistema de buses se la haya enviado. El controlador de video cumple la función de leer la información que se encuentra almacenada en la RAM video, a intervalos; la cual es transferida hacia el monitor en forma de una señal de video; el número de veces por segundo que el contenido de la RAM video es leído y transmitido al monitor en forma de señal de video se conoce como frecuencia de refresco de la pantalla. Por lo tanto la frecuencia depende de la calidad de la placa de video.

Concepto Una tarjeta gráfica o tarjeta de vídeo es una tarjeta de circuito impreso cuya función es transformar las señales que llegan desde el microprocesador en señales entendibles y que se pueda mostrar en la pantalla de la PC. Las tarjetas de video están conformadas por algunos chips y también un procesador que ayuda a aumentar la eficiencia al realizar las operaciones graficas; a la vez también consta de memoria, útil para guardar imágenes y datos necesarios en las operaciones realizadas. Hay que tener en cuenta dos características relevantes en el momento de observar el potencial de una tarjeta, estos son: la resolución (detalle de la imagen) y el numero de colores.

Historia En la antigüedad el manejo de datos se hacia por medio de las tarjetas perforadas; también mediante impresoras obsoletas y teclados primitivos. Luego a los pensadores de antaño se les ocurrió poder observar las operaciones que se realizan en el manejo de datos, y que mejor forma de lograrlo que por medio de una especie de televisor; de este modo surgen los monitores, los cuales debían mostrar las operaciones que se realizan, pero dichas operaciones de datos tenían que ser recibidos por el monitor desde algún otro dispositivo, este dispositivo es la tarjeta de video. MDA MDA (Monochrome Display Adapter ). Desarrollada por IBM (1980). Solo podía trabajar en modo texto monocromo. La memoria RAM que tenia era de 4KB (trabajaba con solo 1 pagina en memoria). Mostraba 25x80 líneas en la pantalla. Esta tarjeta fue el estándar durante mucho tiempo. CGA CGA (Computer Graphics Array). Esta tarjeta llego con los primeros colores y gráficos (1981). La memoria RAM que tenía era de 16KB. Constaba con 2 tipos de resoluciones: 320x200 la cual mostraba 4 colores; y la 640x200 que mostraba solo 2

30

colores (monocromo). En estas épocas se desarrollaron juegos que hacían uso de estos colores y resoluciones. HÉRCULES HGC (Hercules Graphics Card). La memoria RAM que tenía era de 643KB. Además de trabajar en modo texto podía gestionar 2 paginas graficas, todo esto bajo una resolución de 720x348. Era una combinación de la MDA y la CGA. Su desventaja era que no mostraba colores en la pantalla. EGA EGA (Enhaced Graphics Adapter). Desarrollada por IBM (1985). La memoria RAM que tenía era de 256KB. Compatible con MDA y CGA. Su resolución era de 640x350 y el número de colores que podía representar era de 16. VGA VGA (Video Graphics Array). Representan 256 colores; con una resolución de 640x480 en modo grafico y 720x400 en modo texto. Compatible con MDA, CGA y EGA. La señal que se transmitía hacia el monitor era en forma analógica. Tenían una memoria de 256KB. SVGA, XGA y superiores SVGA (Super VGA). Consigue resoluciones de 1024x768. La cantidad de colores dependía de la cantidad de memoria RAM así con 512KB muestra 16 colores y con 1MB muestra 256 colores, ambas con la misma resolución. XGA (Extended Graphics Array). Con resolución de 1360x1024. Cuenta con mayor refresco de pantalla.

Funcionamiento Para que el ordenador muestre información por la pantalla solamente tendrá que enviar dicha información hacia la memoria de video. Una parte de la tarjeta de video tendrá la función de observar en dicha memoria y de mostrar en pantalla toda información que se encuentre almacenada. Toda la operación desde que el procesador ingresa algún dato en memoria hasta que se muestre alguna información por pantalla transcurrirá entre 0,2 y 0,016 segundos; a la vez este proceso depende también de la velocidad de barrido del monitor, a continuación mostramos un gráfico de los principales componentes de una tarjeta de vídeo y su explicación:

Page 16: Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito

31

Buffer de vídeo: Es el componente principal del sistema de vídeo. La RAM se encuentra mapeada dentro del espacio de direcciones accesible por el procesador (memoria superior). Decodificador de atributos: Se encarga de convertir los atributos asociados a los datos del buffer en señales para el monitor. Generador de Caracteres alfanuméricos: Encargado de convertir el código ASCII en caracteres que se mostraran en pantalla. Controlador CRT: Encargado de generar las señales de temporización horizontales y verticales necesarias para la presentación en pantalla. Puede seleccionarse una porción del buffer de vídeo, para que solo esta se visualice. En los modos texto controla el tamaño y la posición del cursor. Control modo vídeo : Encargado de controlar el modo de operación de la mayoría de los componentes de la tarjeta al establecer un modo de vídeo. Entre estos: El secuenciador: Encargado de direccionar secuencialmente la memoria de vídeo, atendiendo a las temporizaciones establecidas por el controlador CRT. Controlador de Gráficos: Encargado de controlar el flujo de datos entre el buffer y el procesador, y entre el buffer y el controlador de atributos. Controlador de Atributos. Generador de caracteres alfanuméricos (lo desactiva en modos gráficos)

32

Caracteristicas RESOLUCIÓN Es uno de los índices de calidad de la imagen, la resolución hace referencia al producto entre los pixeles horizontales y verticales (640x480, 800x600, etc.). Esta relación entre pixeles, tiene su importancia en lo que se refiere a las proporciones que se dan en las figuras. Casi la mayoría de las pantallas mantienen la relación de 4:3 entre sus medidas horizontal y vertical. Es de gran importancia la actualización de esta rejilla de puntos, cada cierto tiempo. Las frecuencias de refresco tienen que adecuarse a la resolución del sistema, debido a que el proceso debe realizarse de cierta forma que no se note el barrido de los haces de electrones cuando inciden sobre el tubo de rayos catódicos, sea cual sea la resolución. Entre los tipos de frecuencias que se encargan de controlar el chorro de electrones, tenemos: La frecuencia de refresco vertical (numero de veces que se redibuja la pantalla por segundo) se encarga de determinar la estabilidad de la imagen (parpadeo) y es la que se refleja en los cuadros de características que se mide en Hertzios (Hz). Las frecuencias más comunes varían entre 60 y 70 Hz, pero se recomienda que estén entre 70 y 75 Hz. Cuando se presente el caso de que una tarjeta alcance su limite respecto a la frecuencia máxima, se puede conseguir mayor resolución si se adoptara el sistema de "entrelazado" (primero se refrescan las líneas pares y luego las impares), Esto es recomendable para conseguir altas resoluciones a menor coste, con la desventaja de que es perjudicial para la visión. VELOCIDAD Al trabajar con programas de gestión, el sistema de vídeo hace uso de una parte del tiempo que se aproxima a un 10% del total, pero cuando trabajamos en un entorno gráfico, el porcentaje aumenta como aproximadamente al 25%. La imagen de una pantalla en modo texto puede llegar a ocupar 4 KB, en cambio una imagen gráfica oscila en su extensión entre 150 KB y 250 KB. Múltiples factores influyen en la velocidad de un sistema de vídeo. Con respecto a los elementos de la tarjeta gráfica, los que más influyen son el tipo de memoria, el procesador gráfico, el tipo de conexión y los programas controladores. MEMORIA La memoria de tipo DRAM (RAM dinámica) es la más utilizada en una tarjeta gráfica, la cual es monotarea, ya que dispone de un único puerto de comunicación. La memoria más veloz es la VRAM (RAM de Vídeo), ya que dispone de dos puertos de comunicaciones que permite la lectura y escritura simultáneamente. La diferencia que existe entre la VRAM y la DRAM es que la VRAM permite un acceso simultáneo a los datos del sistema, mientras manda una imagen calculada al monitor, algo que no es posible con la DRAM. Por otro lado el costo de la VRAM es mayor respecto a la DRAM. Existen tarjetas de video que soportan ambos tipos de memoria, haciendo uso de la VRAM para contener mapas de imágenes y la DRAM para soportar el software subyacente a la tarjeta. Otro tipo de memoria es la WRAM que está diseñada para llevar a cabo funciones como la escritura de bloques de color dobles o también el movimiento de grandes zonas de memoria alineadas.

Page 17: Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito

33

La DRAM se organiza en bloques de 32 bits, por lo tanto 1MB solamente ofrece proceso de 32 bits. Se hace mención de esto debido a que existen en el mercado memorias que dicen ser de 64 bits, pero en realidad solo tienen 1MB de RAM. Se necesita al menos 2MB para la velocidad de 64 bits. Del mismo modo son necesarios 4MB para tener un rendimiento de 128 bits. TIPOS

• MDA: Para texto monocromo. • Hércules: Para trabajar con gráficos monocromos. • CGA: Primera tarjeta en mostrar gráficos a color (4 colores). • EGA: Tarjeta que superó a la CGA (16 colores). • VGA: Llego a ser la tarjeta estándar debido a que contaba con varios modos de

vídeo. Permite 640x480 a 16 o 256 colores. • SVGA, SuperVGA, mejor que la VGA. Soporta múltiples resoluciones como

son: 640x480, 800x600, 1024x768, 1280x1024 y 1600x1280 y muestra una diversa cantidad de colores: 16, 256; de acuerdo a la cantidad de memoria: 32 KB, 64 KB y 16 MB. Es la más usada.

En la actualidad los mayores fabricantes de chips gráficos en el mercado son Nvidia y Ati; esto debido a que solo se encargan de fabricar los chip gráficos (GPU) y no fabrican tarjetas. LA VELOCIDAD DEL REFRESCO Es la cantidad de veces que se dibuja la pantalla por segundo; esto quiere decir que cuanto mayor sea esta velocidad, la vista se nos cansara menos y podremos trabajar más cómodos y con menos problemas visuales. La unidad de medición es el hertzio, así que 70Hz quiere decir que la pantalla se dibujara 70 veces por segundo. Esos 70Hz son adecuados para trabajar. Para trabajar con el mínimo de fatiga visual, es recomendable 75-80Hz o más. El mínimo son 60Hz; por debajo de esta cifra los ojos sufren muchísimo, y después de unos minutos va a empezar a sentir escozor o incluso un pequeño dolor de cabeza. Antes se usaba una técnica llamada entrelazado, que consistía en que la pantalla se dibuja en dos pasadas, primero se dibujaban las líneas impares y luego las pares, por lo que 70Hz entrelazados equivalían a poco más de 35 sin entrelazar, lo que cansaba la vista demasiado. Afortunadamente esta técnica ya no se usa. La causa del uso del entrelazado es que fabricar monitores que soporten buenas velocidades de refresco a alta resolución es caro, debido a esto, la tarjeta de vídeo empleaba este método para ahorrar a costa de la vista del usuario. Por otro lado, tampoco todas las tarjetas de vídeo pueden ofrecer cualquier velocidad de refresco. Esta velocidad depende de 2 parámetros:

• La velocidad del RAMDAC, es el conversor analógico digital. Se mide en MHz, y tiene que ser lo mayor posible, superior a 200 MHz.

• La velocidad de la memoria de vídeo, preferiblemente de algún tipo avanzado como WRAM, SGRAM o SDRAM.

34

MEMORIA DE VIDEO El tamaño de la memoria influye en los posibles modos de vídeo de una manera proporcional (cuanta más memoria, más modos tendremos); además, el tipo de memoria es un factor importante para determinar si conseguiremos buenas velocidades de refresco de pantalla o no. Los tipos más comunes son: DRAM: usadas en las tarjetas de video más antiguas. Consta con malas características; entre ellas el que cuenta con refrescos máximos entorno a 60 Hz. EDO: o "EDO DRAM". Eran estándar en las tarjetas de video de calidad media-baja. Contaba con refrescos dependiendo de la velocidad de la EDO, entre 40ns las peores y 25ns las mejores. VRAM y WRAM: son muy buenas, pero ya están en desuso; con respecto a la calidad de la tarjeta, cuenta con muy buenas características. MDRAM: es un tipo de memoria poco común, pero que cuenta con una alta calidad. SDRAM y SGRAM: son en la actualidad las más utilizadas, cuenta con buenas prestaciones. La SGRAM es SDRAM especialmente adaptada para uso gráfico, incluso un poco más rápida.

Page 18: Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito

35

Puertos de entrada salida

Puertos E/S: Puertos Serie Los diseñadores del IBM PC ya previeron la posibilidad de comunicación serie, para lo que posibilitaron la instalación de hasta 7 puertos de comunicaciones serie asíncronas RS-232.C (aunque es raro instalar más de dos); para atender estos puertos dispusieron de los correspondientes servicios en la BIOS. En los primeros modelos la electrónica necesaria no estaba incluida en la placa-base, por lo que los puertos debían instalarse en adaptadores de tarjeta que se insertaban en cualquiera de los zócalos disponibles. Generalmente, las direcciones de puerto e interrupciones utilizadas, son las siguientes:

Nombre Dirección IRQ

COM1 / ttyS0 3F8-3FF IRQ4

COM2 / ttyS1 2F8-2FF IRQ3

COM3 / ttyS2 3E8-3EF IRQ4

COM4 / ttyS3 2E8-2EF IRQ3 La comunicación serie ha permitido conectar diversos dispositivos al ordenador, como un ratón; una impresora u otro ordenador, aunque su aplicación principal han sido las telecomunicaciones a través de módem.

Características de la comunicación serie Para comprender bien algunos aspectos de las comunicaciones serie, hay que tener en cuenta que este tipo de comunicación eléctrica precede en bastantes años a la aparición de los ordenadores electrónicos. La comunicación serie tiene sus raíces en el telégrafo, que posteriormente derivó en el teleimpresor (Telex), donde se utilizaron diversos protocolos de comunicación; los más famosos el Morse el Baudot y el ASCII. Posteriormente las comunicaciones serie informáticas adoptaron algunos de los usos y costumbres existentes adaptándolos a las nuevas necesidades, empezando por su propio sistema de códigos (ASCII), pero que conservando algunas reminiscencias de sus ancestros telegráficos. En la comunicación serie los bits se transmiten uno detrás de otro (de ahí el nombre), lo que hace que sean mucho más lentas que sus homólogas "paralelo" en las que se transmiten varios bits a la vez. La ventaja es que puede utilizarse un solo par de hilos, o incluso uno solo (si el retorno se realiza por la tierra). Existen varias formas de transmisiones serie:

• Simplex: Un equipo transmite, el otro recibe. • Half-duplex: Transmiten ambos equipos pero no simultáneamente; los

equipos se alternan en la transmisión, uno transmite mientras el otro recibe. • Full-duplex: Ambos equipos transmiten simultáneamente. Para ello se

requieren dos líneas independientes, transmisión y recepción; la línea de transmisión de un equipo se conecta a la entrada de recepción del otro y viceversa. Los puertos serie del PC son capaces de utilizar este modo.

36

• Síncronas: Los dispositivos que comunican se sincronizan en el momento inicial de la transmisión y constantemente se intercambian información a una cadencia predefinida. Con objeto de mantener la sincronización, cuando no existen datos que enviar se transmiten caracteres sin valor ("idle characters). Esta transmisión es más rápida que la asíncrona porque no es necesario transmitir señales de inicio o fin de dato; constantemente se reciben caracteres que pueden ser de datos o sin valor (de relleno).

• Asíncronas: En este modo de transmisión no existe sincronización; no es necesario enviar caracteres de relleno, pero hay que indicar cuando empieza un dato y cuando termina. Esto se hace incluyendo en la transmisión señales de inicio y fin de dato (bits de "start" y "stop"). En la comunicación asíncrona, la información (cada carácter) es enviada en el interior de un cuadro ("Frame") de tamaño variable, que comienza con la mencionada señal de inicio y termina con la de final; es el tipo de comunicación utilizada en los puertos serie del PC. En este tipo de comunicación, el estado de reposo (cuando no se transmite nada) se identifica con un "1" (marca). Cuando se recibe un bit de inicio, que es un "0" (espacio), el receptor toma nota que va a comenzar a recibir un dato.

Los parámetros que caracterizan estas comunicaciones son: Velocidad; paridad; bits de datos y bits de parada. En la literatura sobre el tema es frecuente expresar estos datos en forma resumida. Por ejemplo: 1200 8 N 1 para indicar una transmisión de 1200 baudios con 8 bits de datos sin paridad y un bit de Stop. Los parámetros anteriores están relacionados con la forma en que se transmite la información serie. En esta comunicación cada carácter va incluido en un cuadro ("Frame"); generalmente el comienzo es un bit de inicio (siempre un 1); después le sigue el dato, que puede ser de 5 a 8 bits de longitud; después puede haber un bit de control de paridad, y por último un bit final (siempre es un 1) de longitud variable (el equivalente a 1, 1.5 o 2 bits).

Puertos E/S: Puertos Paralelo Los diseñadores del IBM PC incluyeron la posibilidad de conectar impresoras, para lo que podían instalarse hasta tres puertos de salida paralelo de funcionamiento simultaneo, numerados 0, 1 y 2, así como los servicios correspondientes en la BIOS. En los primeros modelos la placa-base no disponía de ningún adaptador de puerto paralelo, por lo que debían instalarse tarjetas auxiliares. Generalmente estas tarjetas eran multi-uso; montaban uno o dos puertos paralelo e incluso puertos serie. En otros casos el puerto paralelo era incluido junto con un adaptador de video.

Recursos del puerto paralelo Cada adaptador de puerto paralelo tiene tres direcciones sucesivas que se corresponden con otros tantos registros que sirven para controlar el dispositivo. Son el registro de salida de datos; el registro de estado y el registro de control. El registro de salida es la dirección en que hay que poner cualquier carácter que sea dirigido al puerto (generalmente una impresora); el de estado contiene información sobre el dispositivo conectado, en especial la ocurrencia de posibles errores. El registro de control permite inicializar el puerto y controlar la transferencia.

Page 19: Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito

37

La dirección del registro de salida de los puertos 0, 1 y 2, denominadas dirección-base del adaptador, están contenidas respectivamente en las direcciones 00408, 0040A y 0040C de la memoria de la ROM-BIOS. Estas direcciones de base son inicializadas a cero si no existe el adaptador correspondiente. En la tabla adjunta se han indicado las direcciones e interrupción usadas por cada puerto, aunque esta asignación no es siempre consistente, y debería ser investigada.

Puerto R. de salida

R. de estado

R. de control IRQ

LPT1 378 379 37A 7 LPT2 278 279 27A 5 LPT3 3BC 3BD 3BE 7

Puerto paralelo estándar Como puede verse, los diseñadores del PC no pensaron en la posibilidad de utilizar los puertos paralelo para recibir datos (no existe un subservicio BIOS para leer en el puerto paralelo); eran solo de salida. Este puerto original es denominado SSP ("Standard Parallel Port"), y su modo de operación modo compatible. Aunque originalmente no estaban preparados para recibir datos, mediante ciertos artificios se consiguió que los puertos SPP también pudieran recibir datos, un nibble (4 bits) cada vez. Este tipo de operación, 8 bits de salida y 4 de entrada se denomina modo nibble.

Nuevos puertos paralelo Puerto paralelo extendido Ante la necesidad de conectar dispositivos rápidos y de recibir información por el puerto paralelo, IBM incluyó un puerto de impresora bidireccional de alta velocidad en su sistema PS/2 presentado en 1987. Esta solución fue rápidamente adoptada por la industria del PC, dando lugar un puerto bidireccional de características mejoradas respecto del SSP tradicional. El EPP ("Enhanced Parallel Port"), del que existen dos versiones ligeramente diferentes, la 1.7 (que se formalizó en el estándar IEEE 1284) y la 1.9 que es posterior. Este tipo de puertos opera a velocidades entre 0.5 y 2 MBps, y además de impresoras puede servir para conectar dispositivos como escáneres y unidades de disco o de red externas. En los sistemas actuales suele venir incluido en el chipset de la placa-base. Puerto paralelo mejorado En 1992, Microsoft y HP presentaron otra versión de puerto paralelo bidireccional de alta velocidad denominado ECP ("Extended Capabilities Port"). Este nuevo diseño, que dispone de acceso directo a memoria, utiliza generalmente el canal 3 DMA, y opera entre 2 y 4 MBps. Los equipos modernos suelen disponer de puertos paralelo multimodales, en los que el modo de utilización puede ser establecido mediante el programa de setup de la BIOS. En estos casos la configuración por defecto suele ser compatibilidad ECP.

38

Recursos de los nuevos puertos paralelo Los puertos mejorados utilizan más recursos que los tradicionales SPP. Además de las direcciones-base (378h, 278h, 3BCh), utilizan cuatro direcciones adicionales. Con el fin de facilitar la operación PnP, además de las tradicionales IRQ 5 y IRQ 7 (mantenidas por compatibilidad), pueden utilizar cuatro o cinco IRQs adicionales. Si el dispositivo utiliza acceso directo a memoria, como es el caso de los puertos ECP, pueden utilizar dos canales DMA.

Protocolos de Comunicación Los protocolos son como reglas de comunicación que permiten el flujo de información entre computadoras distintas que manejan lenguajes distintos, por ejemplo, dos computadores conectados en la misma red pero con protocolos diferentes no podrían comunicarse jamás, para ello, es necesario que ambas "hablen" el mismo idioma.

ESTÁNDAR RS-232 La norma serie RS-232 fue diseñada para conectar DTEs (Data Terminal Equipment) o equipos terminales de datos (como un terminal, un ordenador, etc.) con DCEs (data communication equipment) o equipos de comunicación de datos, como modems, codecs, AITs, etcétera. La RS-232 permite la transmisión síncrona y asíncrona. La subnorma asíncrona es sin duda la más frecuente. La transmisión asíncrona se lleva a cabo tal y como se describe en el punto anterior. En concreto además del bit de START utiliza:

• 5, 6, 7 ó 8 bits de datos • 0 ó 1 bit de paridad (la paridad puede ser "par"(Even), "impar"(Odd), "siempre a

cero"(Reset) y "siempre a uno"(Set). • 1, 1.5 o 2 bits de STOP

Para agilizar el lenguaje se suele emplear una nomenclatura abreviada como, por ejemplo, "8N1" que indica que la transmisión serie RS-232 se ha configurado para transmitir 8 bits de datos, No paridad y 1 bit de STOP. Otro ejemplo sería "6E2" que indica 6 bits de datos, paridad par y 2 bits de STOP. El estándar RS-232 normaliza los aspectos mecánicos, eléctricos y funcionales. Mecánicos: La RS-232 utiliza un conector DB-25 macho para el DTE y hembra para el DCE. La conexión entre DTE y DCE es simple. Cada pin conecta con su par (el 1 con el 1, el N con el N) existen versiones de DB-25 para cable plano que simplifica el mecanizado de las conexiones. Cada pin tiene asignado una función tal y como se muestra en la figura. Los nombres de las líneas están puestos desde el punto de vista del DTE. Así, el pin 2 es la línea TxD (transmisión de datos) pero obviamente eso no es cierto en ambos equipos, sólo en el DTE. En el DCE, por el contrario, es la línea por la que recibe los datos del DTE.

Page 20: Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito

39

Cuando sólo se utiliza la transmisión asíncrona, sólo es necesario utilizar nueve líneas. Se puede utilizar el conector DB-9. Igualmente el macho es el DTE y la hembra el DCE. (Desgraciadamente esta norma, y otras de la RS-232, no siempre son seguidas por todos los fabricantes, razón por la cual no siempre es fácil manejar esta interface). La longitud máxima del cable entre DTE y DCE depende de la calidad de éste y de la velocidad de transmisión utilizada. En principio la norma recomienda que no sea superior a 15 metros para una velocidad de 20Kbits/seg. Eléctrica: La subnorma eléctrica de la RS-232 es la V28. La norma fija una transmisión en modo común (cada circuito tienen una referencia a tierra y esta es común para todos los circuitos). Los circuitos son punto a punto, es decir, un driver con un sólo receptor de la señal. La señal es bipolar con lógica invertida, utilizando los siguientes valores:

• 1 lógico =-3 a - 15 voltios • 0 lógico = + 3 a + 15 voltios • La ausencia de señal (0 voltios) queda diferenciado del 0 y 1 lógicos.

La RS-232 es cortocircuitable. Esto quiere decir que, al menos teóricamente, los drivers de salida de las puertas disponen de un mecanismo de auto-protección contra sobrecalentamientos. La tensión máxima de operación es ±25voltios y la carga máxima es de 3Kohm a 7Kohm, con una corriente máxima de 500mA. Funcional: (sobre norma asíncrona) La norma asíncrona la forman nueve líneas.

La línea GND conecta la masa de ambos equipos y no merece mayor comentario. Las restantes ocho líneas pueden ser agrupadas en tres bloques funcionales que se explican fácilmente si recordamos que la norma fue diseñada para conectar un PC (DTE típico) con un modem (DCE típico). Primer bloque: Lo denominaremos "de establecimiento de conexión". Está formado por las líneas:

• DTR (Data Terminal Ready). Terminal de datos preparado. (El PC y su RS232 están listos).

• DSR (Data Set Ready). Equipo de comunicación preparado. (El modem está listo).

40

• RI (Ring Indicator). Indicador de llamada. (El modem indica a su PC que ha recibido una llamada).

El objetivo es que ambos PCs sepan que se ha establecido un canal de comunicación (normalmente a través de la línea telefónica). Las líneas DTR y DSR del equipo local y del remoto deben estar activas (set) durante todo el proceso. (De hecho cuando un PC desea dar por terminada una conexión basta con que, momentáneamente, desactive (reset) su DTR). La conexión se inicia manualmente (el usuario llama con el teléfono al modem remoto) o automáticamente (el modem tiene capacidad de marcar un número de teléfono – dialling ) y se gestiona en los modems (que negocian, de forma automática, los parámetros de transferencia como la velocidad, compresión, etc.). Se asume que el usuario del PC que llama activará el proceso que va a utilizar la conexión (un programa de transmisión de ficheros, por ejemplo). En el PC llamado se asume que el proceso homólogo está ya activo (porque, p.e., lo está permanentemente) o se puede activar automáticamente al recibir de su modem la señal de RI. Sea como fuera, la conexión queda establecida. A partir de este momento los PCs pueden intercambiar información. Segundo bloque: "Control de flujo". Estas líneas tienen sentido en el caso de que el canal de comunicación establecido tenga una gestión half-duplex. Si el canal está establecido, el protocolo software de nivel de enlace de datos que se esté utilizando (Xmodem, Ymodem, HDLC,...) fijará cuál de los dos DTEs debe comenzar a hablar/transmitir. Las líneas en este bloque son usadas de la siguiente manera:

• RTS (Request To Send). Petición de transmisión. El PC indica a su modem que quiere transmitir a la máquina remota.

• CTS (Clear To Send). Canal libre para la transmisión. El modem indica a su PC que puede transmitir. Previamente habrá transmitido una señal portadora por el canal de comunicación para avisar al otro modem que ocupa el canal.

• DCD (Data Carrier Detected). Detectada portadora. El modem indica a su PC que el canal de comunicación está ocupado por el equipo remoto.

El PC que quiere transmitir activa RTS, entonces su modem manda una señal portadora (sin modular, sin datos) para avisar al modem remoto que se reserva el canal. Una vez reservado el canal comunica a su DCE que ya puede transmitir activando la línea CTS. Cuando un PC haya terminado de transmitir, desactivará RTS, el modem quitará la portadora y desactivará CTS. Entonces el otro modem podrá reservar el canal si su PC desea transmitir. En caso de que la gestión del canal sea full-duplex todo es más sencillo. Cuando un PC quiere transmitir activa su RTS. Automáticamente su modem le da paso activando CTS. Tercer Bloque: “Transmisión/recepción de datos”. El funcionamiento de las líneas de este bloque es obvio. Cuando un PC puede transmitir, lo hace por la línea:

• TxD. Transmisión de datos. • RxD. Recepción de datos.

La transmisión serial de los datos, tal y como se ha explicado, con el bit de START, de STOP, etcétera, se produce en estas líneas.

Page 21: Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito

41

Centronic El puerto paralelo, como se implementó en la PC, consiste de un conector con 17 líneas de señal y 8 líneas de tierra (GND). Las líneas de señal se dividen en 3 grupos.

• Control (4 líneas) • Status (5 líneas) • Datos (8 líneas)

Como se diseñó originalmente, las Líneas de Control son usadas como control de la interfase y señalización de establecimiento de comunicación (Hand Shaking) de la PC a la impresora. Las Líneas de Estado (Status) se usan para la señalización de establecimiento de conexión y como indicador de estado para cosas tales como no tener papel, indicador de ocupado y errores de la interfase o del periférico. Las Líneas de datos son usadas para proveer la información desde la PC a la impresora, en esa única dirección. Implementaciones posteriores del puerto paralelo permiten que los datos fluyan en sentido inverso. La siguiente tabla identifica cada una de esas señales y da su definición de acuerdo al Puerto Paralelo Estándar (SPP). Las señales dentro de estos grupos asignadas a bits específicos dentro de los registros hacen la interfase de hardware/software del Puerto Paralelo. El puerto está ubicado dentro del espacio de entradas y salidas de la PC. El Registro consiste en un bloque contiguo de 3 registros comenzando desde la dirección base del puerto paralelo. Estos puertos son comúnmente referidos como los puertos LPT y tienen su dirección base típicamente en 3BCh, 378h y 278h (valores hexadecimales). Implementaciones recientes que soportan modos avanzados del estándar IEEE 1284 usan entre 8 16 registros y están localizados en las direcciones de entrada y salida (I/O address) 378h o 278h o son “reubicables”, como es el caso del adaptador compatible paralelo Plug and Play. Definición de las señales del Puerto Paralelo

Grupo Señal SPP Entrada / Salida Descripción de la señal

nSTROBE Salida Indica que hay datos válidos en la línea de datos

nAUTOFEED Salida Hace que la impresora automáticamente inserte una línea por cada retorno de carro

nSELECTIN Salida Le indica a la impresora que está seleccionada Control

nINIT Salida Usado para aplicar un reset a la impresora nACK Entrada Indica que el último carácter fue recibido

BUSY Entrada Indica que la impresora está ocupada y no puede aceptar datos

PE Entrada Sin papel SELECT Entrada Indica que la impresora está en línea

Status

nERROR Entrada Indica que existe una condición de error

Data DATA (8:1) Salida 8 líneas de datos, en el antigua puerto paralelo estándar son sólo de salida

42

El uso de las señales descritas anteriormente y la siguiente tabla son para describir el modo de transferencia. Muchas otras señales son usadas para modos de transición y para información adicional sobre el estado. La tabla siguiente identifica los registros para el puerto paralelo estándar. El método básico de transferencia de datos hacia la impresora usando el puerto es descrito en la sección Modo de Compatibilidad. La posición del Registro se cuenta a partir de la dirección de memoria del puerto. Definición del Registro del Puerto Paralelo Estandar (SPP) Posición del Registro Nombre Lectura /

Escritura Descripción

0 Registro de Datos

Lectura y Escritura

Puerto de datos para leer o escribir datos

1 Registro de Estado Lectura Contien los bits indicadores del

status

2 Registro de Control Escritura Usado para establecer señales

de control

3-7 Varios - Usado para distintas implementaciones

Page 22: Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito

43

Controladora de disco

La interfaz ATA/IDE Antecedentes Recordemos que el IBM PC nació en Agosto de 1981; que a principios de 1983 nació el PC XT, y que el IBM AT nació en el verano de 1984. Precisamente este año tiene su origen el estándar IDE, con un encargo de Compaq a Western Digital. Compaq necesitaba una controladora compatible con el estándar ST506, pero debido a la falta de espacio en el interior de un nuevo modelo de PC, la interfaz debía estar integrada en el propio disco, de ahí el nombre: IDE ("Integrated Drive Electronics"). Toda la electrónica de control se concentra en el dispositivo a controlar (el disco duro), con lo que puede conectarse directamente el disco con el bus del sistema. Las primeras unidades IDE son de 1986. La realización práctica estaba acompañada de una serie de normas denominadas AT Attachment (ATA) que establecían las condiciones que deben seguir los fabricantes de este tipo de unidades. El sistema fue adoptado rápidamente por otros fabricantes, y en 1994 fue aprobada la primera versión del estándar ATA.

Características El sistema IDE/ATA dispone de varios métodos para efectuar el movimiento de datos, incluyendo la emulación de cualquier formato anterior, e incorpora un nuevo formato de grabación, denominado de zona múltiple MZR ("Múltiple Zone Recording") que consigue mayor densidad de grabación y por tanto mayor capacidad en los discos. Además, se implementaron dos sistemas de traducción de los parámetros físicos de la unidad. Estos sistemas se denominan CHS ("Cylinder Head Sector") y LBA ("Logical Block Addressing"), y permitían solventar algunas limitaciones derivadas del diseño inicial de los servicios BIOS de disco. La especificación inicial permitía una tasa de transferencia de 4 MB/s, y supuso una simplificación en la instalación y configuración de los discos duros. Sin embargo, pronto se manifestaron sus carencias, de forma que desde su aparición ha sufrido constantes actualizaciones y mejoras, apareciendo versiones de los diversos fabricantes bajo diversos nombres. Enhanced IDE (EIDE), Ultra-ATA, ATA-2, ATAPI, Fast-ATA, ATA-2, ATA-3, Etc. Sus principales defectos se concretaban en la capacidad de almacenamiento, que debido a limitaciones de la BIOS, no podía exceder de 528 MB. También a la capacidad de conexión, ya que solo podían coexistir dos dispositivos IDE en el sistema (denominados unidad maestra y esclava), y la ya mentada velocidad de transferencia (4 MB/s) que pronto se mostró insuficiente. Ventajas e inconvenientes La inclusión de la controladora en la unidad de disco permitió eliminar la necesidad de dos cables separados (control y datos) que unían las antiguas controladoras con las unidades de disco, bastando un único cable que sirve como bus de datos y de control. Este diseño tiene además la ventaja de que se reduce el número total de

44

componentes, las trayectoria de las señales es más corta y por tanto menos vulnerable a las interferencias electromagnéticas. Estar la controladora embebida en el disco dio mucha libertad a los diseñadores, ya que no había ninguna otra cosa que pudiera conectarse a esta controladora, lo que mejoró las prestaciones de las unidades. Sin embargo presenta también sus inconvenientes. Algunas áreas de las normas ATA dejaron cierta libertad a los diseñadores, lo que motivó comandos específicos de los proveedores. Esto hace que sea difícil dar formato de bajo nivel a estas unidades y redefinir sus tablas de sectores defectuosos, ya que los comandos cambian de un proveedor a otro. La mayoría de fabricantes de unidades ATA ofrecen el software de formateo a bajo nivel en sus sitios Web.

Modos de transferencia Aparte de las distintas interfaces, la velocidad de transferencia de un disco viene determinada por los modos de transferencia que pueden soportar tanto la controladora como el disco duro. Los dispositivos IDE pueden transferir información principalmente empleando dos métodos: PIO y DMA. El modo PIO (Programmed I/O) depende del procesador principal del ordenador para efectuar el trasiego de datos repercutiendo en el rendimiento del sistema. Por el contrario, en el método DMA (Direct Memory Access), el procesador del equipo se desentiende de las operaciones concernientes al disco duro, dejando estas labores a un chip dedicado, el controlador DMA. La variante de la transferencia DMA usada actualmente en los discos duros es la BusMaster DMA. Esta modalidad aprovecha las ventajas de los chipsets de las placas base, cada vez más optimizados para estas labores (de acceso directo a memoria). Además de liberar al procesador, puede obtener por parte de éste un control casi total, de forma que la información sea transferida con la máxima prioridad. Asimismo, existen dos tipos de modos DMA, singleword y multi-word, si bien el primero quedó obsoleto con la aparición de la norma ATA-2. Desde luego, para disfrutar de esta técnica es preciso contar con los correspondientes controladores (drivers), que deben cargarse previamente. Con el IDE original se usaban los modos de transmisión PIO O, 1 y 2, que podían llegar a unos 8 MBps o el DMA (single-word O, 1 y 2 o multi-word O) que no superaba esta cifra. El estándar Fast ATA amplió los modos PIO al 3, y estableció el multi-word DMA 1, con lo que se logró una tasa entre 11 y 13 MBps.

Conexión Por lo general, el conector IDE/ATA de la placa-base es un sencillo conector de 40 pines al que se abrocha un cable plano, que va desde la placa-base a la unidad de disco. Estos pines son un subconjunto de los 98 contactos de las ranuras ISA de 16 bits. La razón es que un controlador de disco nunca necesita más de 40 señales del bus ISA.

Pin Descripción Pin Descripción 1 -RESET 2 GND 3 Data bit 7 4 Data bit 8 5 Data bit 6 6 Data bit 9 7 Data bit 5 8 Data bit 10

Page 23: Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito

45

9 Data bit 4 10 Data bit 11 11 Data bit 3 12 Data bit 12 13 Data bit 2 14 Data bit 13 15 Data bit 1 16 Data bit 14 17 Data bit 0 18 Data bit 15 19 GND 20 (falta este pin) 21 DRQ 3 22 GND 23 -IOW 24 GND 25 -IOR 26 GND 27 IOCHRDY 28 SPSYNC:CSEL 29 -DACK 3 30 GND 31 IRQ 14/15 32 -IOCS16 33 Addr bit 1 34 -PDIAG 35 Addr bit 0 36 Addr bit 2 37 -CS1FX 38 -CS3FX 39 DA/SP 40 GND

El cable de 40 hilos no asegura una transmisión correcta cuando se emplean frecuencia superiores a 44,4 ó 66,6 MBps para la transferencia de datos, ya que el sistema se vuelve inestable debido a las interferencias electromagnéticas (EMI). Para asegurar la calidad de transmisión, se empezó a utilizar un cable con 80 hilos que mantiene la misma configuración en el conector de 40 pin, pero con 40 líneas adicionales de tierra (GND). En otras palabras, las 40 nuevas líneas están todas conectadas a tierra sin que transporten ningún tipo de señal, pero protegen las señales de datos de posibles interferencias. Es frecuente que los conectores IDE falte el pin 20 (que nunca se utiliza) o esté anulado en el lado del conector instalado en el cable (hembra). Esto se hace para evitar que este cable pueda ser insertado al revés, aunque también suele instalarse un conector polarizado (que dispone de una muesca que hace que solo pueda conectarse en la posición correcta). También se utilizan conectores de 68 pines para las unidades IDE montadas en tarjetas PC-CARD (PCMCIA). La inmensa mayoría de las placas-base actuales disponen de dos conectores IDE/ATA, ya que esta interfaz es con mucho la más popular. Sin embargo, si no se dispusiera de ella, es posible disponer una tarjeta auxiliar adaptadora que si disponga de estos conectores y que pueda insertarse en uno de los zócalos ISA o PCI de la placa-base.

Integridad en la transferencia de datos La interfaz ATA original se basaba en una lógica TTL ("Transistor-Transistor Ligic") y se fundamenta en el viejo protocolo para el bus ISA. Este protocolo usaba un método de transferencia de datos asíncrono, en el que tanto los comandos como los datos

46

eran intercambiados con el dispositivo en un pulso de la señal, pero sin que existiera una interconexión entre ambos tipos de señales. Es decir, cada pulso podía transportar únicamente datos u órdenes (comandos). Para mejorar el bus ATA, con los modos de transferencia ATA-2 y ATA-3 se modificó el tipo de señalización, pasando a un nuevo método que consistía en el envió de datos en pulsos síncronos. En este modo de funcionamiento, la unidad controla la señalización sincronizando las señales de datos y comandos en un mismo pulso pero sólo en el flanco positivo de la señal. Para aumentar el rendimiento en este entorno, lo más lógico era incrementar la frecuencia de la señalización. El incremento de la frecuencia incidiría directamente en un incremento de la tasa de transferencia, pero a frecuencias elevadas el sistema se vuelve inestable debido a las interferencias electromagnéticas (EMI) llegando a producirse errores en la transmisión de los datos. El siguiente paso, ATA-4, se basó en el uso de los flancos positivo como negativo de la señal, doblando así la frecuencia de transmisión sin incrementar la frecuencia, por lo que las interferencias y perturbaciones EM mantenían sus niveles anteriores. El resultado inmediato de la nueva técnica fue doblar la tasa de transferencia de datos. Asimismo, el Ultra DMA/33 redujo al mínimo las demoras en la transmisión de los datos y consecuentemente, la eliminación de estos retrasos mejoró el rendimiento global. Con el protocolo Ultra DMA/66 se dobla nuevamente la velocidad de transferencia en los discos duros IDE mediante dos técnicas: Reducción de los tiempos de iniciación y el aumento de la frecuencia de sincronismo. Por otro lado, el Ultra ATA/33 ya introdujo en su día el estándar CRC ("Cyclical Redundancy Check"), un sistema que proporciona verificación de datos y detección de errores de transmisión mediante un algoritmo de comprobación de 32 bits. Esta característica ha continuado en la especificación ATA-5, de modo que ha sido heredada por Ultra ATA/66. El algoritmo CRC ofrece un elevado nivel de fiabilidad, pudiendo detectar errores de hasta 32 bits, lo que garantiza una casi total seguridad en la integridad de la información.

La Interfaz SCSI Antecedentes La historia de la interfaz SCSI se remonta a 1979, cuando Shugart Associates, un fabricante de discos, buscaba una interfaz para sus futuras unidades. La intención era conseguir una interfaz que soportara un direccionamiento lógico de bloques en lugar del sistema CHS, Cilindro, Cabeza y Sector que se venía utilizando. Además debía proporcionar una interfaz paralela de 8 bits en lugar de las señales analógicas serie que utilizaban por entonces las controladoras, así como una serie de comandos genéricos en sustitución de las líneas de control que acompañaban a las líneas de datos. La interfaz fue denominada SASI (Shugart Associates Systems Interface), y su especificación incluía algunos comandos de 6 Bytes y una interfaz de terminación sencilla. A finales de 1981, Shugart y NCR ("National Cash Register"), un fabricante de ordenadores, presentaron la especificación al comité ANSI, que la aceptó como documento de trabajo bajo el nombre de SCSI ("Small Computer System Interface"), pronunciado scuzzi. En el periodo siguiente se le añadieron muchas mejoras

Page 24: Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito

47

importantes, incluyendo la capacidad de los dispositivos de competir por el uso del bus (arbitraje); desconectar y reconectar temporalmente del bus durante la ejecución de comandos, y tener más de un adaptador host en un bus SCSI. En 1984 se presentó al ANSI un borrador con la propuesta del estándar cuando ya existían en el mercado muchos de los nuevos dispositivos. El estándar fue aprobado en 1986 como SCSI-1.

La interfaz SCSI En realidad SCSI es un tipo de bus; la interfaz SCSI, conocida también como adaptador host, adopta la forma de una tarjeta que se inserta en una ranura de la placa base, de la que sale un bus (cable), en el que se pueden conectar varios dispositivos. Este adaptador host es en realidad un puente entre el bus SCSI y el bus de la placa-base. Desde el punto de vista del Sistema, los dispositivos SCSI son muy eficientes. Soportan comandos del tipo "Rebobina esta cinta" o "Formatea este disco" sin intervención del procesador, con lo que se ahorra tiempo de proceso. Esto es especialmente importante en sistemas multitarea como Unix, Linux, OS/2, Novell Netware y los sistemas MS, a partir de Windows 95. El bus SCSI es muy flexible, y no solo permite conectar discos, también otros, periféricos, como escáneres, unidades de cinta, CD-ROM, DVDs, Etc. Estos dispositivos integran la electrónica necesaria que los independiza del adaptador host, y permite que este ignore las características concretas de cada dispositivo conectado. Como todo lo relativo a esta tecnología tan cambiante (del hardware), la interfaz SCSI ha sufrido sucesivas implementaciones y mejoras: Existen variantes: SCSI-1, SCSI-2, SCSI-3, Fast-SCSI, Wide-SCSI, Ultra-2 SCSI, Ultra 320 SCSI, Fiber Channel SCSI... Este interfaz es el que se considera mas profesional y de mayor rendimiento, por lo que se utiliza en equipos de altas prestaciones. Puede alcanzarse velocidades de 320 MB/s.

Anchura del bus SCSI Existen dos anchuras de bus SCSI: Estrecho (de 8 bits) y ancho (de 16 bits). El primero fue el definido en el estándar SCSI-1. Por su parte, el bus ancho fue definido en el estándar SCSI-2. Este último ha ido incrementando su popularidad desde su introducción, ya que permite utilizar dispositivos de 16 bits y el doble de ancho de banda que el "estrecho" para cualquier frecuencia utilizada en el bus (más detalles sobre los cables y otros detalles del hardware SCSI, en la página siguiente). El SCSI ancho requería utilizar un nuevo tipo de cable (denominado "B") de 68 pines en lugar del tradicional cable de 50 pines del bus estrecho denominado cable A. Pronto se vio que la utilización de dos tipos de cables era molesta y costosa, por lo que se definió un nuevo tipo de cable de 68 pines denominado "P". La necesidad de prestaciones cada vez más altas, especialmente para los discos duros, motivó el abandono del bus SCSI estrecho en favor del ancho, lo que ha generado algunos malentendidos en la terminología. Tradicionalmente el bus estrecho era considerado el estándar (por defecto), y no se hacía ninguna mención a la palabra "Estrecho". Por ejemplo, decir Ultra SCSI implica operación en bus estrecho; los buses anchos operando a velocidad Ultra fueron denominados Wide Ultra SCSI. Desde luego por el tiempo en que se creó el estándar Ultra2 SCSI, los buses estrechos comenzaban a perder popularidad, por lo que la mayoría de las unidades

48

Ultra2 son anchas, y mucha gente dejó de decir explícitamente Wide Ultra2 SCSI, diciendo en su lugar Ultra2 SCSI, aunque la primera es la denominación técnicamente correcta. Los métodos de transferencia superiores a Ultra2 han acabado por eliminar completamente los buses estrechos. Los estándares SPI-3 y SPI-4 se refieren exclusivamente a implementaciones de bus ancho. Es posible mezclar dispositivos anchos y estrechos en el mismo bus, pero existen tres cuestiones que deben ser tenidas en cuenta: la anchura física del cable; el modo de operación utilizado, SE, HVD o LVD y los terminadores. La primera puede resolverse mediante convertidores especiales que permiten pasar de un tipo de cable a otro (ver figura). La segunda se resuelve utilizando adaptadores host especialmente diseñados para admitir ambos tipos de dispositivos, o mediante extensores adecuados.

La cadena SCSI El cable SCSI tipo A (estrecho) permite conectar hasta 8 dispositivos físicos, recomendándose que su longitud no exceda de 3 metros. Cada dispositivo de canal debe competir por el uso del bus, y se identifica por un número ID de identificación (0/7) que se selecciona en la propia unidad y que determina además su prioridad. El propio adaptador (host) se cuenta como un dispositivo, por lo que en realidad pueden conectarse 7 dispositivos por canal (cable). Los dispositivos de mayor ID tienen prioridad más elevada. De forma que el 7 es el de prioridad más alta. El cable tipo P (ancho) permite conectar hasta 16 dispositivos, numerados del 0 al 15. En este caso, las prioridades de los ID añadidos (8 al 15) aumenta progresivamente a partir del 8, aunque el 15 tiene menor prioridad que el 0. Como consecuencia, el orden de prioridades en orden creciente es como sigue:

8, 9, 10, 11, 12, 13, 14, 15, 0, 1, 2, 3, 4, 5, 6, 7 Generalmente pueden instalarse hasta cuatro adaptadores host por máquina; cada uno con hasta 7/14 dispositivos según el tipo de cable. Además existen adaptadores multicanal que disponen de varios cables. Como el adaptador host cuenta como un dispositivo, debe tener su propia ID, y es frecuente que venga seleccionado por defecto como 7 por el fabricante (la prioridad más alta). La selección de la ID de cada unidad se realiza por jumpers (en binario, para lo que se necesitan 3 jumpers) o por una sencilla rueda o botón que hace que cambie el número asignado a la unidad. Recuerde que la identificación de cada unidad del bus no tiene ninguna relación con su posición física dentro del mismo. Actualmente existe una generación de dispositivos SCSI dotados de tecnología SCAM ("SCSI Configuted AutoMatically"), que permite que el número ID del dispositivo pueda ser cambiado dinámicamente. Esta tecnología permite que los adaptadores host puedan asignar los números ID de los dispositivos conectados en el bus de forma automática (una especie de Plug and Play), con lo que se evita la posibilidad de conflictos. Además de lo anterior, la interfaz SCSI permite asignar un número de identificación LUN ("Logical Unit Number") a cada unidad lógica definida dentro de cada unidad física. Con independencia de las limitaciones que pudiera imponer el SO, las unidades SCSI pueden contener hasta 15 particiones. Como consecuencia de lo anterior, la identificación completa de una unidad SCSI comprende los siguientes parámetros:

Page 25: Indice - carteleras.webcindario.com · 3 Procesadores de la Familia Intel Arquitectura interna El procesador Pentium es un miembro de la familia Intel de procesadores de propósito

49

• Número de adaptador (pueden coexistir varios en el sistema) • Número de canal (número de cable). Como se ha indicado, un adaptador

puede ser multicanal y disponer de varios cables. • Número de dispositivo (unidad física) ID dentro del canal. Hemos señalado

que este número no depende de la posición física dentro del cable, sino de una asignación que puede efectuarse por hardware (también automáticamente), y que la prioridad depende de este número.

• Número de partición lógica LUN dentro de cada unidad. Como puede verse, esta interfaz permite una gran adaptabilidad y posibilidad de crecimiento. Como se ha dicho, los dispositivos SCSI integran en sí mismos la lógica de control (en este sentido son análogos a los dispositivos IDE). En realidad, un disco IDE y uno SCSI son idénticos, salvo que el SCSI tiene además un adaptador para el bus incluido en la controladora, y no puede ser conectado directamente a la placa-base como el IDE; tiene que conectarse al bus SCSI.

Modos de operación Desde el punto de vista eléctrico se han utilizado tres tecnologías en este bus: SE ("Single Ended") Terminación simple. Señal por diferencial de alto voltaje HVD ("High Voltage Differential"), basada en EIA485 Seña- por diferencial de bajo voltaje LVD ("Low Voltage Differential"). SE es la forma inicial de transportar la señal de 8 bits sobre cables de 50 conductores. Cada señal es referenciada respecto a tierra, por lo que hay 8 pares señal/referencia (16 conductores) para la señal. Como el sistema SE se mostraba demasiado sensible al ruido; para aumentar la velocidad se ideó el sistema de voltaje diferencial, ahora denominado HVD (diferencial alto). Este método utiliza dos líneas para cada señal, de forma que una es inversa de la otra, utilizando la lógica estándar de ±5 V. que venía usándose en la electrónica del PC desde sus orígenes. La señal medida es la diferencia de ambas (de ahí el nombre "Diferencial"). Aunque más costoso, HVD es menos propenso al ruido que el anterior, permitiendo mayores velocidades y longitudes de cable. Cuando se intentó sobrepasar el límite de 40 MB/s del sistema HVD, se descubrió que las señales podían cambiar más rápidamente si la tensión utilizada era menor, por lo que se mantuvo el esquema diferencial pero utilizando una lógica de 3 V. A esta nueva forma se la denominó de diferencial bajo LVD. El problema de la norma LVD es que no era compatible eléctricamente con las anteriores. Como se había mantenido especial cuidado en que los nuevos estándares fuesen compatibles hacia atrás, se desarrollaron controladoras LVD híbridos o multimodo, denominados LVD/MSE ("Low Voltage Differential / Multimode Single Ended"), que funcionaban como SE cuando están conectados a un bus SE. Actualmente solo se fabrican controladores LVD.

50

Bibliografía Eguia, Josu Bilbao, “Arquitectura de Computadores” García de Celis, Ciriaco “El Universo Digital del IBM PC, AT y PS/2” Hennessy, John L; Patterson, David A, “Arquitectura de Computadores, un enfoque cuantitativo”. Murcia Barba, José Manuel, “Puerto Serie, RS-232” Tanembaum, Andrew S. “Organización de Computadoras, un enfoque estructurado”, cuarta edición