República Bolivariana de Venezuela. Ministerio Del Poder Popular Para la Educación Superior. Universidad Nacional Experimental de Guayana. Semestre: “IV”, Sección N: 2 Cátedra: Organización del computador. Profesor: Ing. José Caraballo Bachilleres: Cristina Abreu 21.197.255 Carlos Didenot 19.928.877 Kriptza Gómez 21.122.272 Nilyan Vicent 21.109.210. Puerto Ordaz, Noviembre del 2011. 1 Índice. Introducción ….…………………………………………………………… ...4 El microprocesador ……………………………………………………. …. ..5 Historia de los microprocesadores …………………………………. …. Evolución Histórica ……………………………………………………. …. El microprocesador, Corazón de las computadoras …………….…… Partes de un Microprocesador ……………………………………………. La velocidad de los procesadores ………………………………………. ..5 ..6 .10 .11 ..12 Tipos de conexión ……………………………………………………….. ... ..13 Memoria RAM ……………………………………………………………....... …15 Historia de la Memoria RAM …………………………………….………… .. ..16 Evolución de la Memoria RAM ……………………………………...……... …17 Tipos de Memoria RAM ……………………………………………………..... .20 Memoria caché ……………………………………………………………….. ...23 Nombre …………………………………………………………………………….23 Origen …………………………………………………………………………......24 RAM Caché ………………………………………………………………………..25 Utilidad de la memoria caché …………………………………………………. 26 Composición interna de la caché ………………………………………… ….26 Diseño …………………………………………………………………………......26 AMD e Intel …………………………………………………………………….......28 Balanceo de carga ………………………………………………………………..28 Aplicaciones más beneficiadas de la Caché ……..…………………………..29 Funcionamiento ……………………………………………………………….......29 Tipos diferentes de memoria caché para procesadores ……………….......30 Memoria ROM ………………………………………………………………….......31 Historia y evolución ……………………………………………………………….32 Diferentes tipos y variaciones de las memorias a partir 2 De las memorias ROM …………………………………………………………...34 Variaciones de las memorias FLASH. ……………………………….…………38 Comparación de memorias flash basadas en NOR y NAND………………..39 Uso para almacenamiento de software. ……………………………………..…40 Uso para almacenamiento de datos………………………………………….….40 Velocidad de lectura………………………………………………………………..41 Velocidad de escritura………………………………………………………….…..41 Chipset …………………………………………………………………………….…41 Historia ……………………………………………………………………………….42 Componentes del chipset ………………………………………………………...43 Chipset Prism ……………………………………………………………………….45 Funcionamiento ……………………………………………………………………46 Chipsets Intel para Pentium ……………………………………………………....46 Chipsets Intel Para Pentium PRO/II ………………………………………………46 Chipsets para equipos de sobremesa …………………………………………..47 Funcionamiento de los Chipsets…………………………………………………47 Disco Duro …………………………………………………………………………...48 Diferencias entre un disco duro y un disco flexible…………………...……….48 Principales partes que forman un disco duro…………………………...………48 Discos Duros IDE ……………………………………………………………………53 Discos Duros SCSI ………………………………………………………………….54 Ultra-SCSI y Ultra-SCSI-2……………………………………………………………54 Serial Storage Architecture……………………………………………………….…55 Fibre Channel ………………………………………………………………………...55 Conclusión ……………………………………………………………………………58 Bibliografía …………………………………………………………………………….59 Glosario ………………………………………………………………………………..60 3 Introducción. El presente trabajo, hace una exposición teórica acerca de los componentes básicos que permiten formar un ordenador o computadora, a demás de otros conjuntos de elementos electrónicos, orientados al cómputo, cálculo y demás operación informáticas. Algunos de los puntos a tratar son: La memoria RAM, donde se amplía información acerca de su historia y evolución, así como de los distintos tipos de RAM que existen y las aplicaciones o utilidad para la cual están destinados los mismo, de la misma manera se define la memoria ROM y Caché, este conjunto de memorias constituyen elementos fundamentales de las computadoras ya que sin ellas no podrían realizar ni siquiera sus funciones básicas. Otros elementos de fundamental importancia a mencionar son: el chipset y el disco duro, donde el primero no es más que una recolección o colección de encapsulados de silicio, pero que son un eje fundamental dentro del componente electrónico de las computadoras y el disco duro es aquel que permite almacenar la información y programas que el ordenador requiere recuperar en un momento dado. Sin embargo es de vital importancia recordar que el microprocesador es el cerebro del ordenador, es uno de los componentes electrónicos más importantes, y por ende es necesario conocer de forma amplia su evolución y desarrollo. 4 El Microprocesador. Para conocer con exactitud qué son los microprocesadores o procesadores se debe retornar un poco en la historia y conocer a su antecesor, El Microcontrolador, el cual es un circuito integrado que contiene toda la estructura de una microcomputadora: - CPU (Unidad de Proceso Central). - Memoria RAM. (Memoria de Acceso Aleatorio). - Memoria ROM (Memoria solo de Lectura). - Circuitos de entrada y salida (I/O). Su nombre indica sus principales características: Micro por su tamaño, ya que es un dispositivo pequeño, y Controlador por que se utiliza principalmente para controlar otros circuitos o dispositivos eléctricos, mecánicos, etc. Historia de los Microprocesadores. A partir de 1970, el panorama de la electrónica cambió radicalmente cuando apareció en el mercado un nuevo super-componente: El Microprocesador. Esto introdujo un concepto novedoso que en la actualidad se conserva y refuerza cada vez más, el de la lógica programada. Antes de los microprocesadores, los circuitos electrónicos se diseñaban para una función específica la cual no podía modificarse sin cambiar físicamente las conexiones, es decir, el número y la cantidad de los diferentes elementos que los formaban a lo cual se les llamó la lógica cableada. Consolidadas las técnicas digitales de los años 60, se creó entonces la necesidad de profundizar en el estudio y desarrollo de las aplicaciones para los microprocesadores y la programación en lenguaje de máquina o assembler. Fue la época de oro del 8080, el 8086, el Z-80, el 6809, el 6502, el 68000 y otros microprocesadores, utilizados como circuitos centrales en las aplicaciones de control. En 1980, aproximadamente, los fabricantes de integrados iniciaron la difusión de un nuevo circuito con aplicaciones para control, medición, e 5 instrumentación, al que llamaron "microcomputador de un solo chip" o, de manera más exacta y concisa: micro-controlador. Evolución histórica de los Microprocesadores. Dentro de los anales de la electrónica está el año de 1970 como la fecha de invención del microprocesador. Con éste se inició una nueva era de desarrollo de la industria de las computadoras y de la electrónica, la cual hasta el presente ha ido evolucionando con una velocidad que aún sorprende incluso a los visionarios más futuristas. Nadie en esa época se imaginaba el impacto tan grande que causaría este desarrollo en la vida del hombre moderno. Sin duda la senda la abrió el invento del tubo de vacío por Lee De Forest a comienzos del siglo, basado en el descubrimiento de un fenómeno llamado "Efecto Edison". Este dispositivo hizo posible la radio, la telefonía inalámbrica, etc., e impulsó el desarrollo comercial e industrial de la electrónica. Inclusive las primeras computadoras eran fabricadas con tubos de vacío. Luego vino la revolución del transistor, desarrollado en los laboratorios de Bell Telephone en 1948 y utilizado a partir de 1950 a escala industrial, con su inclusión en la fabricación de todo tipo de aparatos como: Radio, Televisión, Sonido, Computadoras, En la industria Militar, En la Industria espacial, entre otras aplicaciones. De los tres inventores del Transistor - W. Brattain, W. Shockley y J. Bardeen - Shockley fue el único que se dedicó a desarrollar métodos de fabricación en serie de éste revolucionario dispositivo en su empresa, Shockley Semiconductor Laboratories, dando nacimiento a una nueva era de la industria electrónica y a la ubicación de esta tecnología en un sitio de california cercano a San Francisco que más tarde se llamó Silicon Valley. En esta compañía se iniciaron los principales científicos e ingenieros que más tarde formarían sus propias empresas y desarrollarían los circuitos integrados y los microprocesadores. El microprocesador es: El máximo exponente de la etapa siguiente al transistor; la tecnología de los Circuitos Integrados. 6 El concepto de circuito integrado, empezó a rondar por los cerebros y mentes prodigiosas de quienes trabajaban en el diseño y fabricación de transistores. El planteamiento fue más o menos el siguiente: si se fabrican transistores en forma individual y luego se tenían que unir siempre de la misma forma entre sí con alambres y con otros componentes ¿Por qué no fabricar de una vez todo el conjunto de material semiconductor y aislante, interconectado internamente para que cumpliera la misma función del sistema total? Este planteamiento fue desarrollado en la práctica simultáneamente, pero en forma independiente, por dos empresas muy importantes en la historia de la electrónica. - Fairchild semicondutor. - Texas Instruments. En Fairchild dirigía el equipo de trabajo Robert Noyce y en Texas Jack Kilby. La explosión de los circuitos integrados desde el año 1960 hasta la fecha, ha permitido el desarrollo de la electrónica en una forma sorprendente. Noyce renunció a la Fairchild en 1968 y fundó, en compañía de Gordon Moore y Andrew Rock, la empresa Intel en donde se dieron los primeros pasos para el desarrollo del microprocesador. Esta compañía empezó a vislumbrar un gran mercado en el área de las computadoras y su investigación se orientó hacia el reemplazo de los circuitos de memoria magnética con núcleo de ferrita, por circuitos de memoria basados en semiconductores. La base técnica consistió en el uso de un simple flip-flop como elemento de memoria. Así se creó el primer circuito de memoria tipo RAM llamado el 1103, con una capacidad de 1024 Bits. El diseño del microprocesador se inició en un grupo de trabajo de Intel dirigido por Ted Hoff, un brillante ingeniero egresado de la Universidad de Stanford. Todo empezó cuando Intel firmó un contrato con una compañía japonesa (Busicom Corporation) fabricante de calculadoras. Esta quería que se le fabricara un conjunto de circuitos integrados que reemplazaran la gran cantidad de componentes que tenían las calculadoras de ese entonces. 7 Después de un largo trabajo, se llegó a lograr que todo el circuito fuera reemplazado por tres chips, pero estos resultaron ser de un tamaño mayor de acuerdo a los requerimientos. A Hoff se le ocurrió que debía agrupar toda la parte del proceso aritmético y lógico en un sólo circuito y el resto de la calculadora en los otros dos circuitos. Con la intervención de otro diseñador, Federico Faggin, el proyecto se llevó a cabo con todo éxito. A este circuito, de 2250 elementos integrados en un área de 3 x 4 milímetros, se le llamó microprocesador. También se le dió el nombre de CPU (Central Processing Unit) o MPU (Micro Processing Unit). Aunque este circuito tenía ya muchas de las características de una unidad central de proceso integrada, el primer microprocesador en un solo chip, fabricado como tal, fue el 4004 de Intel, diseñado para reemplazar grandes cantidades de circuitos integrados TTL. El 4004 era un chip muy sencillo que manipulaba datos de cuatro bits. Intel desarrolló muy pronto, en 1972, el 8008, el cual podía procesar datos de ocho bits, pero era muy lento. Para remediar esto, Intel desarrolló un sustituto, el 8080, y posteriormente el 8085 compatible con el primero, con funciones adicionales y menos circuitos de soporte. Un equipo de diseñadores que antes había trabajado para Intel en el 8080 formó la Zilog Inc, y construyó el microprocesador Z-80, el cual incorporaba un conjunto de instrucciones más extensos que el 8080, aunque era compatible con este último. Este microprocesador ha sido uno de los más utilizados en el campo de control. Por la misma época en que se presentaba al mercado el 8080, otra empresa de semiconductores, Motorola, desarrolló el 6800, un microprocesador de 8 bits con un diseño completamente distinto pero con iguales características. Motorola perfeccionó el 6800 hacia el 6809, considerado como uno de los mejores procesadores de 8 bits de todas las épocas. A pesar de sus excelentes características, el 6809 no tuvo el éxito comercial que se esperaba. Dicho éxito lo obtuvo otro derivado del 6800: el 6502, producido 8 por MOS Technology. Con este microprocesador se fabricaron las primeras computadoras personales como la PET de Commodorre y la Apple II de Apple Computer Inc. A partir de ese momento, se estableció una guerra técnica y comercial, que aún subsiste, entre Intel y Motorola, la cual los ha llevado a ser los dos grandes líderes indiscutibles del mercado de microprocesadores. Pero el desarrollo del microprocesador no se quedó ahí. A principios de la década de los 80 empezaron a aparecer los microprocesadores de 16 bits, mucho más potentes. El primero en salir al mercado fue el 8086 de Intel en 1978, el cual fue adoptado por la IBM para la fabricación de su famosa IBM PC. Lo siguieron de cerca el 68000, el 68020, el 68030 y el 68040 de Motorola. Con estos microprocesadores se inició en Apple una nueva familia de microcomputadores: la Macintosh. Luego, en un consorcio entre Apple, IBM y Motorola se desarrolló una nueva familia de microprocesadores: Los Power PC, los cuales se utilizan en las computadoras Apple e IBM actuales. Por los lados de Intel se desarrollaron: - Eel 8088 utilizado en el IBM XT. - El 80286 utilizado para la IBM AT. - El 80386.. - El 80486. - Y los Pentium. Todos estos microprocesadores de Intel han sido utilizados para la fabricación de microcomputadoras de bajo costo llamadas Clones, lo que ha hecho que esta empresa siga siendo el mayor fabricante de microprocesadores en el mundo. La siguiente generación fueron los Pentium II, Pentium III y Pentium IV con los cuales se han logrado velocidades de procesamiento impresionantes y una enorme capacidad de memoria, lo que los hace apropiados para moverse sin 9 problemas en entornos como la internet, el video, la multimedia, el procesamiento de datos y el trabajo en tiempo real. Desde el punto de vista funcional, un microprocesador es un circuito integrado que incorpora en su interior una unidad central de proceso (CPU) y todo un conjunto de elementos lógicos que permiten enlazar otros dispositivos como memorias y puertos de entrada y salida (I/O), formando un sistema completo para cumplir con una aplicación específica dentro del mundo real. Para que el sistema pueda realizar su labor debe ejecutar paso a paso un programa. La aplicación más importante de los microprocesadores que cambió totalmente la forma de trabajar, ha sido la computadora personal o microcomputadora. El microprocesador, Corazón de las computadoras. El microprocesador es el cerebro del ordenador. Es un chip, un tipo de componente electrónico en cuyo interior existen miles (o millones) de elementos llamados transistores, cuya combinación permite realizar el trabajo que tenga encomendado el chip. Los micros, suelen tener forma de cuadrado o rectángulo negro, y van o bien sobre un elemento llamado zócalo (socket en inglés) o soldados en la placa o, en el caso del Pentium II, metidos dentro de una especie de cartucho que se conecta a la placa base (aunque el chip en sí está soldado en el interior de dicho cartucho). A veces al micro se le denomina "la CPU, aunque este término tiene cierta ambigüedad, pues también puede referirse a toda la caja que contiene la placa base, el micro, las tarjetas y el resto de la circuitería principal del ordenador. La velocidad de un micro se mide en megahertzios (MHz) o gigahertzios (1 GHz = 1.000 MHz), aunque esto es sólo una medida de la fuerza bruta del micro; un micro simple y anticuado a 500 MHz puede ser mucho más lento que uno más complejo y moderno (con más transistores, mejor organizado...) que vaya a "sólo" 400 MHz. Es lo mismo que ocurre con los motores de los automóviles; un motor 10 americano de los años 60 puede tener 5.000 cm3, pero no tiene nada que hacer contra un multiválvula actual de "sólo" 2.000 cm3. Debido a la extrema dificultad de fabricar componentes electrónicos que funcionen a las inmensas velocidades de MHz habituales hoy en día, todos los micros modernos tienen 2 velocidades: - Velocidad interna: la velocidad a la que funciona el micro internamente (200, 333, 450... MHz). - Velocidad externa o del bus: o también "velocidad del FSB"; la velocidad a la que se comunican el micro y la placa base. Típicamente, 33, 60, 66, 100, 133, 266, 400 MHz, Etc. - La cifra por la que se multiplica la velocidad externa o de la placa para dar la interna o del micro es el multiplicador; por ejemplo, un Pentium III a 450 MHz utiliza una velocidad de bus de 100 MHz y un multiplicador 4,5x. Partes de un Microprocesador: En un micro podemos diferenciar diversas partes: - El Encapsulado: Es lo que rodea a la oblea de silicio en sí, para darle consistencia, impedir su deterioro (por ejemplo por oxidación con el aire) y permitir el enlace con los conectores externos que lo acoplarán a su zócalo o a la placa base. - La Memoria Caché: Una memoria ultrarrápida que emplea el micro para tener a mano ciertos datos que previsiblemente serán utilizados en las siguientes operaciones sin tener que acudir a la memoria RAM, reduciendo el tiempo de espera. Todos los micros "compatibles PC" desde el 486 poseen al menos la llamada caché interna de primer nivel o L1; es decir, la que está más cerca del micro, tanto que está encapsulada junto a él. Los micros más modernos (Pentium III Coppermine, Athlon Thunderbird, etc.) incluyen también en su interior otro nivel de caché, más grande aunque algo menos rápida, la caché de segundo nivel o L2. 11 - El Co-Procesador Matemático: La FPU (Floating Point Unit, Unidad de coma Flotante). Parte del micro especializada en esa clase de cálculos matemáticos; antiguamente estaba en el exterior del micro, en otro chip. - El resto del micro: El cual tiene varias partes (unidad de enteros, registros, etc.). La velocidad de los procesadores. Debe tenerse en cuenta que un ordenador con un micro a 600 MHz no será nunca el doble de rápido que uno con un micro a 300 MHz, hay que tener muy en cuenta otros factores como la velocidad de la placa o la influencia de los demás componentes. Esto no se tiene apenas en cuenta en el índice iCOMP, una tabla o gráfico de valores del supuesto rendimiento de los micros marca Intel. Es muy utilizado por Intel en sus folletos publicitarios, aunque no es en absoluto representativo del rendimiento final de un ordenador con alguno de esos micros. En realidad, las diferencias están muy exageradas, a base de realizar pruebas que casi sólo dependen del micro (y no de la placa base, la tarjeta de vídeo, el disco duro...), por lo que siempre parece que el rendimiento del ordenador crecerá linealmente con el número de MHz, cosa que no ocurre prácticamente jamás. Un ordenador con Pentium MMX a 233 MHz es sólo un 3 ó 4% mejor que uno a 200 MHz, y no el 16,5% de su diferencia de MHz ni el 11,5% de sus índices iCOMP. Parecerá increíble, pero es así. Vamos, si le quieren vender un ordenador con el argumento de que tiene "x MHz" más, o un índice iCOMP inmenso, muéstrese muy escéptico. Mejor un ordenador con todos sus componentes regulares (mucha memoria, buena tarjeta de vídeo...) que un trasto a muchísimos MHz. 12 Tipos de conexión. El rendimiento que dan los microprocesadores no sólo depende de ellos mismos, sino de la placa donde se instalan. Los diferentes micros no se conectan de igual manera a las placas: De esta manera la evolución de los microprocesadores ha sido en forma vertiginosa, pero a pesar de eso en estos días sólo conocemos 2 ó 3 fabricantes o marca de procesadores las cuales tienen el mercado un tanto estrecho, pero en fin, podemos hablar de las siguientes marcas de procesadores en todo el mundo y sabremos que por lo menos 2 de ellas serán reconocidas de inmediato. Socket, con mecanismo ZIF (Zero Insertion Force). En ellas el procesador se inserta y se retire sin necesidad de ejercer alguna presión sobre él. Al levantar la palanquita que hay al lado se libera el microprocesador, siendo extremadamente sencilla su extracción. Estos zócalos aseguran la actualización del microprocesador. Hay de diferentes tipos: - Socket 423 y 478. En ellos se insertan los nuevos Pentiums 4 de Intel. El primero hace referencia al modelo de 0,18 micras y el segundo al construido según la tecnología de 0,13 micras. Esa longitud hace referencia al tamaño de cada transistor, cuanto menor sea tu tamaño más pequeño será el micro y más transistores será posible utilizar en el mismo espacio físico. Además, la reducción de tamaño suele estar relacionada con una reducción del calor generado y con un menor consumo de energía. - Socket 462/Socket A. Ambos son el mismo tipo. Se trata donde se insertan los procesadores Athlon en sus versiones más nuevas: - Athlon Duron (versión reducida, con sólo 64 Kb de memoria caché, para configuraciones económicas) - Athlon Thunderbird (versión normal, con un tamaño variable de la memoria caché, normalmente 384 Kb) - Athlon XP (con el nuevo núcleo Palomino, este procesador es un Thunderbird con una arquitectura totalmente remodelada con un rendimiento ligeramente superior a la misma frecuencia (MHz), con un 20% 13 menos de consumo y el nuevo juego de instrucciones SEC de Intel junto con el ya presente 3DNow! de todos los procesadores AMD desde el K6-2). - Ahlon MP (micro que utiliza el núcleo Palomino al igual que el XP, con la salvedad que éste accede gestiona de forma diferente el acceso a la memoria al hora de tener que compartirla con otros micros, lo cual le hace idóneo para configuraciones multiprocesador. - Socket 370 o PPGA. Es el zócalo que utilizan los últimos modelos del Pentium III y Celeron de Intel. - Slot A / Slot 1 /Slot 2. Es donde se conectan respectivamente los procesadores Athlon antiguos de AMD / los procesadores Pentium II y antiguos Pentium III / los procesadores Xeon de Intel dedicados a servidores de red. Todos ellos son cada vez más obsoletos. El modo de insertarlos es a similar a una tarjeta gráfica o de sonido (por ejemplo). - Socket 8. Utilizado por los procesadores Pentium Pro de Intel, un micro optimizado para código en 32 bits que sentaría las bases de lo que conocemos hoy día. - Socket 7. Lo usan los micros Pentium/Pentium MMX/K6/K6-2 o K6-3 y muchos otros. - Otros socket, como el zócalo ZIF Socket-3 permite la inserción de un 486 y de un Pentium Overdrive. En las placas base más antiguas, el micro iba soldado, de forma que no podía actualizarse (486 a 50 MHz hacia atrás). Hoy día esto no se ve. - Tabla de Intel. ( Gamma Pentium, Gamma Celeron ) - Tabla de AMD. - Tabla de Cirix. - Tabla de Winchip. - Tabla de Motorola. 14 Memoria RAM. 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. 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. 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 15 la posibilidad de ampliarla (esto, con los ordenadores anteriores, era prácticamente imposible). Los primeros módulos utilizados fueron los denominados SIMM (Single Inline 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. Este tipo de módulo de memoria fue sustituido por los módulos del tipo DIMM (Dual In-line Memory Module), que es el tipo de memoria que se sigue utilizando en la actualidad. Historia de la Memoria RAM. La memoria principal de un PC está formada por módulos que se inserta en las ranuras de ampliación integradas en la placa base. Los antiguos PC utilizaban unos zócalos de ampliación de memoria denominados DIPS cápsula dual en línea (Dual Inline Package), en los que se insertaban los chips de memoria que poseían unos pocos KB. Este método además de proporcionar una pequeña cantidad de memoria, provocaba que por medio de la inserción de los chips los contactos de los mismos o patas se doblaran o quebraran, quedando inutilizables. Los PC anteriores a los 80486 de Intel, en lugar de utilizar DIPS utilizaban SIMMs de treinta contactos, que solo alcanzaban a proporcionar hasta 32 MB. Los procesadores 80486 DX2 comenzaron a utilizar sócalos de expansión de 72 contactos, para módulos SIMM de 72 contactos con el obvio incremento de la capacidad de los chips de memoria. Estos módulos permitían almacenar 32 bits por ciclo y por lo tanto devén instalarse de a pares para trabajar con procesadores con un buz externo de 64 bits, que básicamente son dos módulos SIMM de 30 contactos integrados en uno. A partir de los procesadores 80486 DX4 hicieron su aparición los módulos de memoria DIMM, que poseen 168 contactos y se ubican en sócalos con 168 contactos. 16 Luego de la aparición de los procesadores Pentium II a 200 MHz, hicieron su aparición los DIMM de memoria preparados para ser utilizados con buces de datos a 100 MHz como los que utilizan este tipo de procesadores y que no pueden ser utilizados en buces de datos de 66 MHz Evolución de la Memoria RAM: FPM-RAM: Introducida en 1990. Aparece actualmente con dos velocidades de acceso, 60 nanosegundos las más rápidas y 70 nanosegundos las más lentas. Para sistemas basados en procesadores Pentium con velocidades de bus de 66Mhz (procesadores a 100, 133, 166 y 200Mhz) es necesario instalar memorias de 60 nanosegundos para no generar estados de espera de la CPU. La FPMRAM se basa en que se supone que el siguiente acceso a un dato de memoria va a ser en la misma fila que el anterior, con lo que se ahorra tiempo en ese caso. El acceso más rápido de la FPM RAM es de 5-3-3-3 ciclos de reloj para la lectura a ráfagas de cuatro datos consecutivos. Tiene una velocidad de transferencia de 200 MB/s EDO-RAM: Introducida en 1994. Extended Data Output-RAM. Evoluciona de la Fast Page; permite empezar a introducir nuevos datos mientras los anteriores están saliendo (haciendo su Output), lo que la hace algo más rápida (un 5%, más o menos). Muy común en los Pentium MMX y AMD K6, con velocidad de 70, 60 ó 50 ns. Se instala sobre todo en SIMMs de 72 contactos, aunque existe en forma de DIMMs de 168. Tiene una velocidad de transferencia de 320 MB/s BEDO-RAM: Introducida en1997. 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 17 RAM es que no puede funcionar por encima de los 66 MHz. Ofrece tasas de transferencia desde 533 MB/s hasta 1066 MB/s SDR SDRAM: Memoria RAM dinámica de acceso síncrono de tasa de datos simple. La diferencia principal radica en que este tipo de memoria se conecta al reloj del sistema y está diseñada para ser capaz de leer o escribir a un ciclo de reloj por acceso, es decir, sin estados de espera intermedios. Este tipo de memoria incluye tecnología InterLeaving, que permite que la mitad del módulo empiece un acceso mientras la otra mitad está terminando el anterior. Cuenta con tiempos de acceso de entre 25 y 10 ns y que se presentan en módulos DIMM de 168 contactos en ordenadores de sobremesa y en módulos SO-DIMM de 72, 100, 144, o 200 contactos en el caso de los ordenadores portátiles. PC66: Introducida en 1997. La velocidad de bus de memoria es de 66 MHz, temporización de 15 ns y ofrece tasas de transferencia de hasta 533 MB/s. PC100: Introducida en 1998. La velocidad de bus de memoria es de 125 MHz, temporización de 8 ns y ofrece tasas de transferencia de hasta 800 MB/s. PC133: Introducida en 1999. La velocidad de bus de memoria es de 133 MHz, temporización de 7,5 ns y ofrece tasas de transferencia de hasta 1066 MB/s. DDR-SDRAM: Son módulos compuestos por memorias síncronas (SDRAM), disponibles en encapsulado DIMM, que permite la transferencia de datos por dos canales distintos simultáneamente en un mismo ciclo de reloj. Los módulos DDRs soportan una capacidad máxima de 1 GB. PC1600 – DDR200: Introducida en 2001, tiene una velocidad de transferencia de 1600 MB/s. PC2100 – DDR266: Introducida en 2002, tiene una velocidad de transferencia de 2133 MB/s. 18 PC2100 – DDR266: Se introduce a mediados del 2003. Tecnología de memoria RAM DDR que trabaja a una frecuencia de 333 MHz con un bus de 166MHz y ofrece una tasa de transferencia máxima de 2.7 GB/s. PC3200 – DDR400: Se introduce en Junio del 2004. Esta tecnología de memoria RAM DDR que trabaja a una frecuencia de 400 MHz con un bus de 200MHz y ofrece una tasa de transferencia máxima de 3.2 GB/s. PC4200 – DDR533: Se introduce a mediados del 2004. Tecnologías de memoria RAM que trabajan por encima de los 533MHz de frecuencia ya son consideradas DDR2 y estas tienen 240 pines. Trabaja a una frecuencia de 533 MHz con un bus de 133MHz y ofrece una tasa de transferencia máxima de 4.2 GB/s. PC4800 – DDR600: Se introduce a mediados del 2004. Tecnología de memoria RAM DDR2 que trabaja a una frecuencia de 600 MHz con un bus de 150MHz y ofrece una tasa de transferencia máxima de 4.8 GB/s. PC5300 – DDR667: Se introduce a finales del 2004. Tecnología de memoria RAM DDR2 que trabaja a una frecuencia de 667 MHz con un bus de 166MHz y ofrece una tasa de transferencia máxima de 5.3 GB/s. PC6400 – DDR800: A finales del 2004.Tecnología de memoria RAM DDR2 que trabaja a una frecuencia de 800 MHz con un bus de 200MHz y ofrece una tasa de transferencia máxima de 6.4 GB/s. DDR3 – 1066: Mayo del 2007. Tecnología de memoria RAM DDR3 que trabaja a una frecuencia de 1066MHz con un bus de 133MHz y ofrece una tasa de transferencia máxima de 8.53 GB/s. DDR3 – 1333: Mayo de 2007. Velocidad de transferencia: De las primeras memorias clasificadas como de “Low-Latency” con velocidades de transferencia de 10.667 GB/s @ 1333 MHz. DDR3 – 1600: Julio de 2007.Velocidad de transferencia de la información: 12.80 GB/s @ 1600 MHz. 19 DDR3 – 1800: Agosto de 2007. Velocidad de transferencia: 14.40 GB/s @ 1800 MHz. DDR3 – 2000: Marzo de 2008 (pruebas). Velocidad de transferencia: 16.0 GB/s @ 2000 MHz. RDRAM: Descripción de la tecnología: llamadas Rambus, se caracterizan por utilizar dos canales en vez de uno con 184 pines y un bus de 16-bit RAMBUS PC600: 1999. Velocidad de transferencia: 1.06 GB/s por canal, que hacen en total 2.12 GB/s @ 266MHz. MHzRAMBUS PC800: 1999. Velocidad de transferencia: 1.6 GB/s por canal, que hacen en total 3.2 GB/s @ 400 MHz. ESDRAM: Se introducen A mediados de año de 1999. Descripción de la tecnología: 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. Velocidad de transferencia de la información: Hasta 1.6 GB/s @ 133MHz y hasta 3.2 GB/s @ 150 MHz Tipos de Memoria RAM. Hay tres tipos de memorias RAM, las primeras son las DRAM, SRAM y una emulación denominada Swap: Tipo 1, DRAM: las siglas provienen de ("Dinamic Read Aleatory Memory") ó dinámicas, debido a que sus chips se encuentran construidos a base de condensadores (capacitores), los cuáles necesitan constantemente refrescar su carga (bits) y esto les resta velocidad pero a cambio tienen un precio económico. Ejemplo: hagamos una analogía con una empresa que fabrica hielo, pero para ello no cuenta con una toma de agua, sino que constantemente necesita de pipas 20 con agua para realizar su producto. Esto la hace lenta ya que tiene que esperar que le lleven la materia de trabajo constantemente. La siguiente lista muestra las memorias RAM en modo descendente, la primer liga es la más antigua y la última la más reciente. 1. Memoria RAM tipo TSOP. 2. Memoria RAM tipo SIP. 3. Memoria RAM tipo SIMM. 4. Memoria RAM tipo DIMM - SDRAM. 5. Memoria RAM tipo DDR/DDR1 y SO-DDR. 6. Memoria RAM tipo RIMM. 7. Memoria G-RAM / V-RAM (Actual). 8. Memoria RAM tipo DDR2 y SO-DDR2 (Actual). 9. Memoria RAM tipo DDR3 y SO-DDR3 (Actual). 10. Memoria RAM tipo DDR4 y SO-DDR4 (Próxima Generación). Tipo 2. SRAM: las siglas provienen de ("Static Read Aleatory Memory") ó estáticas, debido a que sus chips se encuentran construidos a base de transistores, los cuáles no necesitan constantemente refrescar su carga (bits) y esto las hace sumamente veloces pero también muy caras. El término memoria Caché es frecuentemente utilizada pare este tipo de memorias, sin embargo también es posible encontrar segmentos de Caché adaptadas en discos duros, memorias USB y unidades SSD. Ejemplo: Haciendo una analogía con una empresa que fabrica hielo, la cual cuenta con una toma de agua, por lo que no necesita esperar la llegada pipas ó carros tanque, sino que inmediatamente puede realizar sus funciones. Esto la hace rápida ya que tiene la materia de trabajo constante. 21 - Memorias SRAM para insertar en ranura de la tarjeta principal (Motherboard). - Memorias Caché integradas en los discos duros. - Memorias Caché integradas en los microprocesadores. Tipo 3. Swap: La memoria virtual ó memoria Swap ("de intercambio") no se trata de memoria RAM como tal, sino de una emulación (simulación funcional), esto significa que se crea un archivo de grandes dimensiones en el disco duro ó unidad SSD, el cuál almacena información simulando ser memoria RAM cuándo esta se encuentra parcialmente llena, así se evita que se detengan los servicios de la computadora. Este tipo de memoria se popularizó con la salida al mercado de sistemas operativos gráficos tales como MacOS de Macintosh® (actualmente Apple®) ó Windows de Microsoft®, debido a que la memoria instalada en la computadora es regularmente insuficiente para el uso de ventanas, aunque al parecer el sistema operativo UNIX lo utilizaba de manera normal antes que sus competidores. En los sistemas operativos Microsoft® Windows Vista/Microsoft® Windows 7, con el software ReadyBoost® y en Microsoft® Windows XP con ayuda de algunas utilidades como EBoostr®, es posible utilizar un archivo de intercambio (Swap) en memorias USB e incluso en memorias SD,MemoryStick®, etc., que permiten aumentar la velocidad del equipo. Básicamente no debe ser menor a 256 MB la capacidad disponible del dispositivo, tener una velocidad alta de transmisión de datos y asignarse del siguiente modo: a) Mínimo: (Total de RAM) + (1/2 Total de RAM) b) Máximo: 3X (Total de RAM) Ejemplo: Si se tiene 1 GB en RAM, se debe tener mínimo (1 GB + 0.5 GB)= 1.5 GB, y máximo 3X (1 GB)= 3 GB. 22 Memoria caché. Una memoria caché es una memoria en la que se almacenas una serie de datos para su rápido acceso. Existen muchas memorias caché (de disco, de sistema, incluso de datos, como es el caso de la caché de Google), pero en este tutorial nos vamos a centrar en la caché de los procesadores. Básicamente, la memoria caché de un procesador es un tipo de memoria volátil (del tipo RAM), pero de una gran velocidad. En la actualidad esta memoria está integrada en el procesador, y su cometido es almacenar una serie de instrucciones y datos a los que el procesador accede continuamente, con la finalidad de que estos accesos sean instantáneos. Estas instrucciones y datos son aquellas a las que el procesador necesita estar accediendo de forma continua, por lo que para el rendimiento del procesador es imprescindible que este acceso sea lo más rápido y fluido posible. Nombre. La palabra procede de la voz inglesa cache, «escondite secreto para guardar mercancías, habitualmente de contrabando» y esta a su vez de la francesa cache «escondrijo o escondite». A menudo, en español se escribe con tilde sobre la «e» del mismo modo como el que se venía escribiendo con anterioridad al neologismo la palabra «caché», proveniente de un étimo también francés, pero totalmente distinto: cachet, («sello» o «salario»). La Real Academia Española sólo reconoce la palabra con tilde, aunque en la literatura especializada en Arquitectura de Computadoras (como, entre otros, las traducciones de los libros de Andrew S. Tanenbaum, John L. Hennessy y David A. Patterson) se emplea siempre la palabra sin tilde (aunque debería, además, escribirse en cursiva). Una computadora trabaja con 2 tipos de elementos, las instrucciones y los datos. Las instrucciones indican que operaciones se realizan sobre los datos. El procesador por tanto realiza de manera constante una lectura de ambos. Estos se encuentran en memoria RAM y tienen que ser llevados a la CPU. 23 La velocidad a la que el micro es capar de acceder a esos elementos es muy importante. Este se verá incapaz de realizar su trabajo si no tiene las instrucciones y datos que necesita en un determinado momento. Teniendo en cuenta que si no se tienen operaciones o le falta algún dato, tendrá que esperar perdiendo un valioso tiempo, a que estén disponibles. Por desgracia la memoria RAM es un sistema independiente al micro. Acceder a esta no es inmediato. Para acelerar los accesos y por lo tanto aumentar el rendimiento del sistema se usa una memoria cache. Origen. La caché surge como solución a los tiempos de inactividad del CPU, frente a la espera del usuario en el proceso de su trabajo: El usuario puede ver reducida su espera si, se aprovechan los ciclos en los que el CPU dispone de recursos libres, o se libera a la misma de tareas que puede ser solucionadas en otro contexto más coherente. Las primeras cachés, eran copias literales de los datos invocados por el usuario. Las normativas y estándares de datos obligan a referenciar los literales y a no duplicar, salvo si la duplicidad es necesaria para compensar la asincronicidad de los procesos, y convertirlos en síncronos. Si un dato desaparece de su almacenamiento principal, es evidente que el recurso que lo solicitó ya no depende de él. Este concepto adquirió mayor dimensión en el momento que se segmentó el proceso. En origen, los dispositivos conectados a la CPU eran pasivos, quiere decirse que, el control absoluto del dispositivo dependía completamente de los recursos centrales. Esto supuso problemas en la aritmeticológica de los sistemas operativos vs control del hardware: El consumo de las frecuencias del reloj principal, eran abusivos por parte de los recursos no contemplados por el objetivo que dota de coherencia al uso de propósito general de la CPU. Así, la CPU se veía envuelta en la resolución de posiciones de memoria en los almacenamientos masivos, cuando esa resolución podía delegarse a un subproceso. 24 Esto provocaba la inactividad de la CPU, siendo que, teóricamente era posible una electrónica más veloz y un uso más eficiente de la misma. Solo había que organizar las tareas, procesos e instrucciones a conjuntos contextuales. De esto nacen los conjuntos de instrucciones, o referencias a subprocesadores dependientes de otros relojes no asociados al principal, pero sincronizados con el mismo. Esta segmentación, requirió de la asignación de colas fifo/lifo, almacenadas en memorias caché de transición y denominadas buffer de datos. La velocidad de proceso de la CPU es mucho mayor que el segmento parcial de proceso, el cual, al contar con su reloj de proceso parcial, libera recursos a la CPU. RAM caché. Existe una memoria caché, conocida como RAM caché, es una parte de memoria RAM estática de alta velocidad (SRAM) más que la lenta y barata RAM dinámica (DRAM) usada como memoria principal. La memoria caché es efectiva dado que los programas acceden una y otra vez a los mismos datos o instrucciones. Guardando esta información en SRAM, la computadora evita acceder a la lenta DRAM. Cuando se encuentra un dato en la caché, se dice que se ha producido un acierto, siendo un caché juzgado por su tasa de aciertos (hit rate). Los sistemas de memoria caché usan una tecnología conocida por caché inteligente en la cual el sistema puede reconocer cierto tipo de datos usados frecuentemente. Las estrategias para determinar qué información debe de ser puesta en el caché constituyen uno de los problemas más interesantes en la ciencia de las computadoras. Algunas memorias caché están construidas en la arquitectura de los microprocesadores. La caché de disco trabaja sobre los mismos principios que la memoria caché, pero en lugar de usar SRAM de alta velocidad, usa la convencional memoria principal. Los datos más recientes del disco duro a los que se ha accedido se almacenan en un buffer de memoria. Cuando el programa necesita 25 acceder a datos del disco, lo primero que comprueba es la caché del disco para ver si los datos ya están ahí. La caché de disco puede mejorar drásticamente el rendimiento de las aplicaciones, dado que acceder a un byte de datos en RAM puede ser miles de veces más rápido que acceder a un byte del disco duro. En la actualidad esta memoria está integrada en el procesador, y su cometido es almacenar una serie de instrucciones y datos a los que el procesador accede continuamente, con la finalidad de que estos accesos sean instantáneos. Estas instrucciones y datos son aquellas a las que el procesador necesita estar accediendo de forma continua, por lo que para el rendimiento del procesador es imprescindible que este acceso sea lo más rápido y fluido posible. Utilidad de la memoria caché. La memoria cache es la respuesta al problema de rendimiento de la memoria RAM. Esta es muy pequeña y está incluida en el interior del microprocesador. Esta se organiza en niveles. Cuanto más cercana este al procesador es más rápida pero también más cara. La pregunta de muchos quizás sea por qué no se añade una memoria de varios gigas dentro del microprocesador y la respuesta de ello es clara el micro tiene unas dimensiones determinadas, aquí el tamaño de cada elemento importa, y de consumo que hacen que está sea muy cara. Composición interna de la caché La memoria caché es estructurada, por ejemplo una memoria caché L2 de 512 KIB se distribuye en 16.384 filas y 63 columnas llamado Tag RAM, que indica a qué porción de la RAM se halla asociada cada línea de caché, es decir, traduce una dirección de RAM en una línea de caché concreta. Diseño. En el diseño de la memoria caché se consideran varios factores que influyen directamente en el rendimiento de la memoria y por lo tanto en su objetivo de aumentar la velocidad de respuesta de la jerarquía de memoria. Estos factores 26 son las políticas de ubicación, extracción, reemplazo, escritura y el tamaño de la caché y de sus bloques. - Política de ubicación: Decide dónde debe colocarse un bloque de memoria principal que entra en la memoria caché. Las más utilizadas son: Directa: Al bloque i-ésimo de memoria principal le corresponde la posición i módulo n, donde n es el número de bloques de la memoria caché. Asociativa: Cualquier bloque de memoria principal puede ir en cualquiera de los n bloques de la memoria caché. Asociativa por conjuntos: La memoria caché se divide en k conjuntos de bloques, así al bloque i-ésimo de memoria principal le corresponde el conjunto i módulo k. Dicho bloque de memoria podrá ubicarse en cualquier posición de ese conjunto. - Política de extracción: La política de extracción determina cuándo y qué bloque de memoria principal hay que traer a memoria caché. Existen dos políticas muy extendidas: Por demanda: Un bloque sólo se trae a memoria caché cuando ha sido referenciado y se produzca un fallo. Con pre-búsqueda: Cuando se referencia el bloque i-ésimo de memoria principal, se trae además el bloque (i+1)-ésimo. Esta política se basa en la propiedad de localidad espacial de los programas. - Política de reemplazo: Determina qué bloque de memoria caché debe abandonarla cuando no existe espacio disponible para un bloque entrante. Básicamente hay cuatro políticas que son: Aleatoria: El bloque es reemplazado de forma aleatoria. 27 FIFO: Se usa un algoritmo First In First Out FIFO (primero en entrar es el primero en salir) para determinar qué bloque debe abandonar la caché. Este algoritmo generalmente es poco eficiente. Menos recientemente usado (LRU): Se sustituye el bloque que hace más tiempo que no se ha usado en la caché, traeremos a caché el bloque en cuestión y lo modificaremos ahí. Menos frecuencias usadas (LFU): Se sustituye el bloque que ha experimentado menos referencias. AMD e Intel. La caché es un sistema muy complejo que se puede implementar de diversas maneras. A lo largo de los años las arquitecturas han avanzado, mejorándose la tecnología de fabricación lo cual ha llevado a que puedas tener disponibles más memoria con algoritmos más complejos. Por ejemplo el tamaño para la arquitectura Sandy Bridge de Intel y la que tienen los AMD Phenom II: - Nivel 1 o L1 Por cada uno de los núcleos. Intel. 32 KB de datos + 32 KB de instrucciones AMD. 64 KB de datos + 64 KB de instrucciones - Nivel 2 o L2 Por cada uno de los núcleos. Intel. 256 KB AMD. 512 KB Aparte ambos poseen una cache de nivel 3 que comparten todos los núcleos y que dependiendo del modelo puede llegar a varios MB. Balanceo de carga. Los problemas derivados de almacenar referencias y no literales, se solventan con el balanceo de la carga. Este concepto resuelve que, no es 28 necesario cargar dos veces un mismo proceso si, en ambos casos está compuesto por los mismos operandos y la misma aritmética, si no se han registrado x ciclos de reloj para distintos tipos de lógica. Lo más semejante a esto, sería ilustrarlo con un mapa de metro: el mapa en sí mismo es una representación a menor escala de los accesos globales (registros), siendo el lugar desde donde partimos, uno de los registros tomados en cuenta para la lógica del balanceo de la carga, y el destino al cual deseamos llegar, lo que determinará las referencias necesarias, tanto en proceso, como en tiempo. Las diferentes líneas disponibles en el metro, son las posibles líneas que un programa puede tomar en su ejecución. Una referencia de caché deja de ser válida en el momento que no puede ser balanceada, y por lo tanto es borrada o sustituida por otra de acceso prioritario. Aplicaciones más beneficiadas de la Caché. La memoria cache es capaz de acelerar todo tipo de aplicaciones, juegos directorios de memoria, entre otras. Se pueden ver modelos de procesadores que tienen diferencias de precios muy marcadas donde su única diferencia es varios megas de memoria, motivado a la mejora en la tecnología de fabricación que se producen de manera constante es más sencillo ampliar estas memorias. Funcionamiento. Esta memoria se organiza en niveles. Cuanto más cercano al procesador más rápida, más cara y por tanto más pequeña. Debido a esto usamos los nombres cache de nivel 1, nivel 2 y nivel 3. Si el procesador necesita un dato de la memoria comprueba si esta se encuentra en el nivel 1. En caso de no encontrarla se busca en el nivel 2 y si no en el nivel 3. El sistema se complementa con un algoritmo que es capaz de colocar los datos que más utilizas en los niveles más cercanos al procesador. En comparación con la memoria RAM la cache de nivel 3 que es la mayor de todas es unas mil veces más pequeña. Por suerte los programas suelen 29 realizar muchas operaciones sobre los mismos datos y tienen un efecto radical en el rendimiento. Tipos diferentes de memoria caché para procesadores: Caché de 1er nivel (L1): Esta caché está integrada en el núcleo del procesador, trabajando a la misma velocidad que este. La cantidad de memoria caché L1 varía de un procesador a otro, estando normalmente entra los 64KB y los 256KB. Esta memoria suele a su vez estar dividida en dos partes dedicadas, una para instrucciones y otra para datos. Caché de 2º nivel (L2): Integrada también en el procesador, aunque no directamente en el núcleo de este, tiene las mismas ventajas que la caché L1, aunque es algo más lenta que esta. La caché L2 suele ser mayor que la caché L1, pudiendo llegar a superar los 2MB. A diferencia de la caché L1, esta no está dividida, y su utilización está más encaminada a programas que al sistema. Caché de 3er nivel (L3): Es un tipo de memoria caché más lenta que la L2, muy poco utilizada en la actualidad. En un principio esta caché estaba incorporada a la placa base, no al procesador, y su velocidad de acceso era bastante más lenta que una caché de nivel 2 o 1, ya que si bien sigue siendo una memoria de una gran rapidez (muy superior a la RAM, y mucho más en la época en la que se utilizaba), depende de la comunicación entre el procesador y la placa base. Para hacer una idea más precisa de esto, se puede imaginar en un extremo el procesador y en el otro la memoria RAM. Pues bien, entre ambos se encuentra la memoria caché, más rápida cuanto más cerca se encuentre del núcleo del procesador (L1). Las memorias caché son extremadamente rápidas (su velocidad es unas 5 veces superior a la de una RAM de las más rápidas), con la ventaja añadida de no 30 tener latencia, por lo que su acceso no tiene ninguna demora... pero es un tipo de memoria muy cara. Esto, unido a su integración en el procesador (ya sea directamente en el núcleo o no) limita bastante el tamaño, por un lado por lo que encarece al procesador y por otro por el espacio disponible. En cuanto a la utilización de la caché L2 en procesadores multi-nucleares, existen dos tipos diferentes de tecnologías a aplicar. Por un lado está la habitualmente utilizada por Intel, que consiste en que el total de la caché L2 está accesible para ambos núcleos y por otro está la utilizada por AMD, en la que cada núcleo tiene su propia caché L2 dedicada solo para ese núcleo. La caché L2 apareció por primera vez en los Intel Pentium Pro, siendo incorporada a continuación por los Intel Pentium II, aunque en ese caso no en el encapsulado del procesador, sino externamente (aunque dentro del procesador). Memoria ROM. La memoria de solo lectura o memoria, es un medio de almacenamiento utilizado en ordenadores y dispositivos electrónicos, que permite como su nombre lo indica solo la lectura de la información y no su escritura, independientemente de la presencia o no de una fuente de energía. Por ello los datos almacenados en ella no pueden ser modificados, o al menos no de manera rápida o fácil. Se utiliza principalmente para contener el firmware (programa que está estrechamente ligado a hardware específico, y es poco probable que requiera actualizaciones frecuentes) u otro contenido vital para el funcionamiento del dispositivo, como los programas que ponen en marcha el ordenador y realizan los diagnósticos. En su sentido más estricto, se refiere solo a máscara ROM, que se fabrica con los datos almacenados de forma permanente, y por lo tanto, su contenido no puede ser modificado de ninguna forma. Sin embargo, las ROM más modernas, 31 como EPROM y Flash EEPROM, se pueden borrar y volver a programar varias veces, aún siendo descritos como "memoria de solo lectura" (ROM). El motivo de que se las continúe denominando así es que el proceso de reprogramación en general es poco frecuente, relativamente lento y, a menudo, no se permite la escritura en lugares aleatorios de la memoria. A pesar de la simplicidad de la ROM, los dispositivos reprogramables son más flexibles y económicos, por lo cual las antiguas máscaras ROM no se suelen encontrar en hardware producido a partir de 2007. Historia y evolución. La concepción más sencilla de memoria ROM en estado sólido data de los tiempos del mismo desarrollo y aplicación de la tecnología semi-conductora. Las compuertas lógicas combinacionales pueden ser implementadas en conjunto para indexar una dirección de memoria de una n cantidad de bits, en valores de m bits de tamaño. La creación de los circuitos integrados o data-sheet dio paso al desarrolló la máscara ROM, el cual consistía en una cuadrícula de líneas conformadas por una palabra y líneas formadas a partir de un bit, seleccionadas respectivamente a partir de cambios en el transistor. De esta manera podían representar una tabla de consultas arbitraria y un lapso de propagación deductible. En las máscaras ROM los datos están físicamente codificados en el mismo circuito, así que solo se pueden programar durante el proceso de fabricación, lo cual genera una seria de desventajas como lo son: - Solo era práctico adquirirlas en grandes cantidades, ya que el usuario contrata fundiciones para producirlas según sus necesidades. - El tiempo transcurrido entre completar el diseño de la máscara y recibir el resultado final es muy largo. - No son prácticas, por el hecho de que los desarrolladores necesitan cambiar el contenido de la memoria mientras refinan un diseño. 32 - Si un producto tiene un error en la máscara, la única manera de arreglarlo es reemplazando físicamente la ROM por otra. En el año de 1956, luego de que los desarrolladores posteriores tomaran en consideración el conjunto de deficiencias que presentaba la mascará ROM, se crea la memoria de solo lectura programable (PROM), la cual a su vez permitía a los usuarios modificarla pero solo en una ocasión, por medio de la alteración de su estructura física a través de la aplicación de pulsos de alto voltaje. Esto permitió eliminar el problema de adquirirlas en grandes cantidades y disminuir los tiempos de desarrollo de los diseños, debido a que las compañías podían solicitar una gran cantidad de ellas y programarlas de acuerdo a sus requerimientos y necesidades Sin embargo el crecimiento computacional de la década del 70 impulso el desarrollo de la memoria de solo lectura programable y borrable (EPROM), la cual ve la luz en el año de 1971, dicha memoria permitía reiniciar su contenido exponiendo el dispositivo a fuertes rayos ultravioleta, lo cual permitió solventar problemas de programación de encapsulados durante el proceso de diseño, unos años más tarde, en 1983, nace la EEPROM, resolviendo el conflicto que se presentaba si se producía un error en el encapsulado, ya no sería necesario reemplazar físicamente la memoria ROM, debido a que se podía reprogramar el contenido mientras existiese un mecanismo para recibir contenido externo. La compañía Toshiba en la década de los 80’s inventa la memoria flash, una sencilla forma de EEPROM que permitía eliminar y reprogramar contenido en una misma operación mediante pulsos eléctricos miles de veces sin sufrir ningún daño. Es importante destacar que dichos avances en las tecnologías mejoraron la versatilidad y flexibilidad de la memoria ROM, sin embargo esto produjo un fuerte impacto a nivel económico, debido a que el precio de los chips aumento considerablemente los costos de producción y por ello las máscaras se mantuvieron en el mercado durante un tiempo considerable, al ser la solución económica más viable 33 Esto fue así aproximadamente hasta el año 2000, cuando el precio de las memorias reprogramables tuvo un descenso lo suficientemente significativo como para comenzar a desplazar a las ROM no reprogramables del mercado. Toshiba es un gran impulsador en el desarrollo de memorias, ya que trabajo en el desarrollo de la memoria NAND. Los diseñadores rompieron explícitamente con las prácticas del pasado, afirmando que enfocaba "ser un reemplazo de los discos duros", más que tener el tradicional uso de la ROM como una forma de almacenamiento primario no volátil. Desde el año 2007, NAND ha avanzado un largo trecho en su meta, ofreciendo un rendimiento comparable al de los discos duros, una mejor tolerancia a los shocks físicos, una miniaturización extrema como lo son las memorias USB y tarjetas de memoria MicroSD, y un consumo de potencia mucho más bajo. Diferentes tipos y variaciones de las memorias a partir De las memorias ROM. Las memorias de solo lectura han avanzado mucho desde los inicios de la computación. Conviene mencionar ampliamente algunas de ellas y de esta manera hacer referencia a la memoria flash dentro de su contexto. Primero que nada la memoria ROM, se usa principalmente en microprogramación de sistemas, es una memoria solamente de lectura es totalmente inalterable sin dicha memoria el computador no podría arrancar. La memoria principal es la convencional que va de 0 a 640 kb. Cuando el computador se inicia comienza a trabajar el disco y realiza un testeo, para lo cual necesita memoria, dicha memoria es la convencional (ROM) y está dentro del mother (en el bios). Apenas arranca utiliza 300 kb, continua testeando y llega a más o menos 540 kb donde se planta. 34 A medida de que comenzaron a haber soft con más necesidad de memoria apareció la llamada memoria expandida que iba de 640 kb a 1024 kb. Una vez que se utilizaba toda la memoria convencional se utilizaba la expandida que utiliza la memoria RAM. PROM: (Programmable Read Only Memory): En dicha memoria el proceso de escritura es eléctrico. Se pueden grabar posteriormente a la fabricación del chip, a diferencia de las memorias ROM que se fabricaron inicialmente, las cuales se graban durante la fabricación. Permite una única grabación y es más cara que la ROM. A demás de ello es una memoria digital donde el valor de cada bit depende del estado de un fusible (o anti-fusible), que puede ser quemado una sola vez. Por esto la memoria puede ser programada una sola vez a través de un dispositivo especial, un programador PROM. Dichas memorias son utilizadas para grabar datos permanentes en cantidades menores a las ROMs, o cuando los datos deben cambiar en muchos o todos los casos. - Programación de la memoria PROM. La programación se realiza aplicando pulsos de altos voltajes que no se encuentran durante operaciones normales (12 a 21 voltios). El término Read-only (sólo lectura) se refiere a que, a diferencia de otras memorias, los datos no pueden ser cambiados al menos por el usuario final. Algunas implementaciones de diminutas PROM han venido siendo utilizadas como generadores de funciones, normalmente en conjunción con un multiplexor. A veces se preferían a las ROM porque son bipolares, habitulamente Schottky, consiguiendo mayores velocidades. Una PROM común se encuentra con todos los bits en valor 1 como valor por defecto de fábrica; el quemado de cada fusible, cambia el valor del correspondiente bit a 0. 35 EPROM: (Erasable programable). Es Programmable Read-Only Memory (ROM borrable el chip de memoria ROM diseñado por el ingeniero Dov Frohman, el cual se caracteriza por retener los datos cuando la fuente de energía se apaga, es decir no es volátil. Está conformada por un conjunto de celdas de FAMOS es decir transistores de puerta flotante, cada uno de ellos viene de fábrica sin carga, por lo que es leído como un 1, por lo que una EPROM sin grabar se lee como FF en todas sus celdas. Las EPROMs se reconocen fácilmente por una ventana transparente en la parte alta del encapsulado, a través de la cual se puede ver el chip de silicio y que admite la luz ultravioleta durante el borrado. - Programación de las memorias EPROM. Se programan mediante un dispositivo electrónico que proporciona voltajes superiores a los normalmente utilizados en los circuitos electrónicos. Las celdas que reciben carga se leen entonces como un 0. Una vez programada, una EPROM se puede borrar solamente mediante exposición a una fuerte luz ultravioleta. Esto es debido a que los fotones de la luz excitan a los electrones de las celdas provocando que se descarguen. EEPRO Mson: Es una memoria ROM programable y borrable eléctricamente, en español suele referirsele como E PROM y en inglés "E-Squared-PROM". Es un tipo de memoria ROM que puede ser programada, borrada y reprogramada eléctricamente, a diferencia de la EPROM que ha de borrarse mediante rayos ultravioletas. Aunque una EEPROM puede ser leída un número ilimitado de veces, sólo puede ser borrada y reprogramada entre 100.000 y 1.000.000 de veces. Estos dispositivos suelen comunicarse mediante protocolos como I C, SPI y Microwire. 36 En otras ocasiones se integra dentro de chips como micro-controladores y DSP´s para lograr una mayor rapidez. Puede decirse que la memoria flash es una forma avanzada de EEPROM, y esta fue diseñada y creada por Dr. Fujio Masuoka mientras este laboraba para la compañía Toshiba en el año 1984 y fueron presentadas en la Reunión de Aparatos Electrónicos de la IEEE de 1984. Intel vio el potencial de la invención y en 1988 lanzo el primer chip comercial del tipo NOR. Memoria FLASH: Está basada en las memorias EEPROM pero permite el borrado bloque a bloque y es más económica y densa. La memoria flash es una forma evolucionada de la memoria EEPROM que permite que múltiples posiciones de memoria sean escritas o borradas en una misma operación de programación mediante impulsos eléctricos, frente a las anteriores que sólo permite escribir o borrar una única celda cada vez. Por ello, flash permite funcionar a velocidades muy superiores cuando los sistemas emplean lectura y escritura en diferentes puntos de esta memoria al mismo tiempo. Flash, como tipo de EEPROM que es, contiene un arreglo de celdas con un transistor evolucionado con dos puertas en cada intersección. Tradicionalmente sólo almacenan un bit de información. Las nuevas memorias flash, conocidas también como dispositivos de celdas multinivel, pueden almacenar más de un bit por celda variando el número de electrones que almacenan. Estas memorias están basada en el transistor FAMOS (Floating Gate Avalanche-Injection Metal Oxide Semiconductor) el cual esencialmente es un transistor NMOS con un conductor basado en un óxido metálico adicional entre la puerta de control (CG - Control Gate) y los terminales fuente/drenador contenidos en otra puerta (FG - Floating Gate) o bien que rodea a FG y es quien contiene los electrones que almacenan la información. 37 Variaciones de las memorias FLASH. Memoria flash de tipo NOR: Cuando los electrones se encuentran en FG, modifican o prácticamente anulan el campo eléctrico que generaría CG en caso de estar activo. En ese sentido, dependiendo de si la celda está a 1 ó a 0 lógico, el campo eléctrico de la celda existe o no. Entonces, cuando se lee la celda poniendo un determinado voltaje en CG, la corriente eléctrica fluye o no en función del voltaje almacenado en la celda. La presencia/ausencia de corriente se detecta e interpreta como un 1 ó un 0, reproduciendo así el dato almacenado. En los dispositivos de celda multi-nivel, se detecta la intensidad de la corriente para controlar el número de electrones almacenados en FG e interpretarlos adecuadamente. - Programación Memoria flash de tipo NOR. Para programar una celda de tipo NOR se permite el paso de la corriente desde la terminal fuente al terminal sumidero, entonces se coloca en CG un voltaje alto para absorber los electrones y retenerlos en el campo eléctrico que genera. Este proceso es el hot-electron injection, para borrar (poner a "1", el estado natural del transistor) el contenido de una celda, expulsar estos electrones, se emplea la técnica de Fowler-Nordheim tunnelling, un proceso de tunelado mecánico cuántico. Esto es simplemente, aplicar un voltaje inverso bastante alto al empleado para atraer a los electrones, convirtiendo al transistor en una pistola de electrones que permite, abriendo el terminal sumidero, que los electrones abandonen el mismo. Este proceso es el que provoca el deterioro de las celdas, al aplicar sobre un conductor tan delgado un voltaje tan alto. Cabe destacar que las memorias flash están subdividas en bloques y por lo tanto, para el borrado, se limpian bloques enteros para agilizar el proceso, ya que es la parte más lenta del proceso. Por esta razón, las memorias flash son mucho más rápidas que las EEPROM convencionales, ya que borran byte a byte. 38 No obstante, para reescribir un dato es necesario limpiar el bloque primero para reescribir su contenido después. Memorias flash de tipo NAND: Basadas en puertas lógicas NAND funcionan de forma ligeramente diferente: usan un túnel de inyección para la escritura y para el borrado un túnel de 'soltado'. Las memorias basadas en NAND tienen, además de la evidente base en otro tipo de puertas, un coste bastante inferior, unas diez veces de más resistencia a las operaciones pero sólo permiten acceso secuencial (más orientado a dispositivos de almacenamiento masivo), frente a las memorias flash basadas en NOR que permiten lectura de acceso aleatorio. Sin embargo, han sido las NAND las que han permitido la expansión de este tipo de memoria, ya que el mecanismo de borrado es más sencillo, lo que ha proporcionado una base más rentable para la creación de dispositivos de tipo tarjeta de memoria. Comparación de memorias flash basadas en NOR y NAND. Para comparar estos tipos de memoria se consideran los diferentes aspectos de las memorias tradicionalmente valorados. La densidad de almacenamiento de los chips es actualmente bastante mayor en las memorias NAND. El coste de NOR es mucho mayor. El acceso NOR es aleatorio para lectura y orientado a bloques para su modificación. Sin embargo, NAND ofrece tan solo acceso directo para los bloques y lectura secuencial dentro de los mismos. En la escritura de NOR puede llegar a modificar un solo bit. Esto destaca con la limitada reprogramación de las NAND que deben modificar bloques o palabras completas. La velocidad de lectura es muy superior en NOR (50-100 ns) frente a NAND (10 µs de la búsqueda de la página + 50 ns por byte). La velocidad de escritura para NOR es de 5 µs por byte frente a 200 µs por página en NAND. La velocidad de borrado para NOR es de 1 s por bloque de 64 KB frente a los 2 ms por bloque de 16 KB en NAND. La fiabilidad de los dispositivos basados en NOR es realmente muy alta, es relativamente inmune a la corrupción de datos y tampoco tiene bloques erróneos frente a la escasa fiabilidad 39 de los sistemas NAND que requieren corrección de datos y existe la posibilidad de que queden bloques marcados como erróneos e inservibles. Se podría decir que los sistemas basados en NAND son más baratos y rápidos pero carecen de una fiabilidad que los haga eficiente, lo que demuestra la necesidad imperiosa de un buen sistema de archivos. Dependiendo de qué sea lo que se busque, merecerá la pena decantarse por uno u otro tipo. Uso para almacenamiento de software. Los ordenadores de sobremesa a inicios de la década de los 80´s constaban de un sistema operativo a base de una memoria ROM. No existía otra alternativa razonable ya que las unidades de disco eran generalmente opcionales. La aparición de una nueva versión significo usar un soldador o un grupo de interruptores DIP y reemplazar el antiguo chip de ROM por uno nuevo. Actualmente los sistemas operativos en general ya no van en ROM. Todavía los ordenadores pueden dejar algunos de sus programas en memoria ROM, pero incluso en este caso, es más frecuente que vaya en memoria flash. Los teléfonos móviles y los asistentes personales digitales (PDA) suelen tener programas en memoria ROM (o por lo menos en memoria flash). Algunas de las videoconsolas que usan programas basados en la memoria ROM son la Super Nintendo, la Nintendo 64, la Sega Mega Drive o la Game Boy. Estas memorias ROM, pegadas a cajas de plástico aptas para ser utilizadas e introducidas repetidas veces, son conocidas como cartuchos. Por extensión la palabra ROM puede referirse también a un archivo de datos que contenga una imagen del programa que se distribuye normalmente en memoria ROM, como una copia de un cartucho de videojuego. Uso para almacenamiento de datos. La memoria ROM no puede ser modificada, al menos en su versión más primitiva, solo resulta conveniente para almacenar datos que no necesiten ser modificados durante la vida del dispositivo. Con este fin, la ROM se ha utilizado en 40 muchos ordenadores para guardar tablas de consulta, utilizadas para la evaluación de funciones matemáticas y lógicas. Esto resultaba especialmente eficiente cuando la unidad central de procesamiento se caracterizaba por ser lenta y la ROM era barata en comparación con la RAM. De hecho, una razón de que todavía se utilice la memoria ROM para almacenar datos es la velocidad, ya que los discos siguen siendo más lentos. Y lo que es aún más importante, no se puede leer un programa que es necesario para ejecutar un disco desde el propio disco, por ende, la BIOS, o el sistema de arranque oportuno del PC normalmente se encuentran en una memoria ROM. No obstante, el uso de la ROM para almacenar grandes cantidades de datos ha ido desapareciendo casi completamente en los ordenadores de propósito general, mientras que la memoria Flash ha ido ocupando este puesto. Velocidad de lectura. La velocidad de la memoria ROM en comparación a la de la memoria RAM es mucho menor y a ido variando con el tiempo, desde el año 2007 la RAM es más rápida para la lectura que la mayoría de las ROM, razón por la cual el contenido ROM se suele traspasar normalmente a la memoria RAM, desde donde es leída cuando se utiliza. Velocidad de escritura. Para los tipos de ROM que pueden ser modificados eléctricamente, la velocidad de escritura siempre es mucho más lenta que la velocidad de lectura, pudiendo requerir voltaje excepcionalmente alto, movimiento de jumpers para habilitar el modo de escritura, y comandos especiales de desbloqueo. Las memorias Flash NAND logran la más alta velocidad de escritura entre todos los tipos de memoria ROM reprogramable, escribiendo grandes bloques de celdas de memoria simultáneamente, y llegando a 15 MB/s. Chipset. Es un conjunto de microprocesadores especialmente diseñados para funcionar como si fueran una única unidad y para desempeñar una o varias 41 funciones. Las placas base actualmente suelen estar formadas por varios conjuntos de microprocesadores, cada uno de los cuales tiene una misión específica, pero que funcionan en conjunto. Sirven de puente de comunicación con el resto de componentes de la placa, como son la memoria, las tarjetas de expansión, los puertos USB, ratón, teclado, etc. El chipset determina muchas de las características de una placa base y por lo general la referencia de la misma está relacionada con la del chipset. Los más habituales son el Northbridge, el Southbridge, el Super I/O, la controladora IDE, la controladora SATA y en las placas actuales la controladora de sonido y la controladora Ethernet. Cada uno de estos elementos que conforman el chipset de la placa base funcionan independientemente unos de otros, pero estrechamente relacionados. - Historia: Desde los comienzos de la fabricación de los primeros procesadores, se pensó en un conjunto de integrados de soporte, de hecho el primer microprocesador de la historia, el Intel 4004 formaba parte de un conjunto de integrados numerados 4001,4002 y 4003 que tenían todos una apariencia física similar y que formaban la base de un sistema de cómputo cualquiera. Los chips empleados en el Commodore 64 y la Familia Atari de 8 bits, incluso sus CPUs, solían ser diseños especializados para la plataforma, que no se encontraban en otros equipos electrónicos, y desde ese momento se les conoció como chipsets. Este término se generalizó en la siguiente generación de ordenadores domésticos : el Commodore Amiga y el Atari ST son los equipos más potentes de los años 90, y ambos tenían multitud de chips auxiliares que se encargaban del manejo de la memoria, el sonido, los gráficos o el control de unidades de almacenamiento masivo dejando a la CPU libre para otras tareas. En el Amiga sobre todo se diferenciaban las generaciones por el chipset utilizado en cada una. 42 Jay Miner, es considerado como el precursor de la moderna arquitectura utilizada en la actualidad. Apple Computer comienza a utilizar chips diseñados por la compañía o comisionados en su gama Apple Macintosh, pero pese a que fue integrando chips procedentes del campo PC, nunca empleo el término chipset para hacer referencia al juego de chips empleado en cada nueva versión de los Mac, hasta la llegada de los equipos G4. Por otro lado el IBM PC ha optado por usar chips de propósito general y sólo el subsistema gráfico tiene una ligera independencia del CPU. Hasta la aparición de los IBM Personal System/2 no se producen cambios significativos, y el término chipset se reserva para los conjuntos de chips de una placa de ampliación, dedicada a un único propósito como el sonido. La necesidad de ahorrar espacio en la placa y disminuir los costos trae consigo la integración de todos los chips de control de periféricos, del bus PCI y las especificaciones ATX. Componentes del chipset. Northbridge: Este componente del chipset es quizás el de mayor importancia. Es de reciente aparición, ya que no existía hasta la aparición de las placas ATX, y debe su nombre a su situación dentro de la placa, situado en la parte superior (norte) de estas, cerca del slot del procesador y de los bancos de memoria. Se encarga de gestionar la memoria RAM, los puertos gráficos (AGP) y el acceso al resto de componentes del chipset, así como la comunicación entre estos y el procesador. Los primeros Northbridge también gestionaban los accesos a los puertos PCI, pero dicha tarea ha pasado con el tiempo a depender del Southbridge. Es de vital importancia destacar la innovación que supuso la tecnología utilizada por AMD, en la que la memoria es gestionada directamente por el procesador, descargando al Northbridge de esta labor y permitiendo una gestión de la memoria más rápida y directa. 43 Del Northbridge depende directamente el tipo de procesador que admitirá la placa base, la frecuencia FSB, el tipo y frecuencia de las memorias y el tipo de adaptador gráfico. Actualmente tienen un bus de datos de 64 bit y unas frecuencias de entre 400 Mhz y 1 Ghz (en las placas para AMD64). Dado este alto rendimiento, generan una alta temperatura, por lo que suelen tener algún tipo de refrigeración, ya sea activa o pasiva. Southbridge: Se encuentra conectado al procesador mediante el Northbridge, es el chip encargado de controlar la totalidad de elementos I/O por lo que también se le conoce como Concentrador de controladores de Entrada / Salida o, en inglés, I/O Controller Hub (ICH). Este chip es el encargado de controlar una larga serie de dispositivos. Los principales son: Bus PCI, Bus ISA, SMBus, controlador DMA, controlador de interrupciones, controlador IDE (SATA o PATA), puente LPC, reloj en tiempo real, administración de potencia eléctrica - Power management (APM y ACPI), BIOS, interfaz de sonido AC97, soporte Ethernet, soporte RAID, soporte USB. La mayoría de estos elementos son controlados por una serie de chips independientes, pero de estos pasa el control al Southbridge, por lo que es muy importante para el rendimiento del ordenador la calidad de este. Algunos Southbridges incluso controlan el teclado, el ratón y los puertos serie, aunque lo más normal es que estos se controlen mediante otro chip independiente. VIA ha desarrollado en colaboración con AMD interfaces mejorados de transmisión de datos entre el Southbridge y el Northbridge, como el HYPER TRANSPORT, que son interfaces de alto rendimiento, de entre 200 Mhz y 1400 Mhz (el bus PCI trabaja entre 33 Mhz y 66 Mhz), con bus DDR, lo que permite una doble tasa de transferencia de datos, es decir, transferir datos por dos canales simultáneamente por cada ciclo de reloj, evitando con ello el cuello de botella que se forma en este tipo de comunicaciones, lo que significa disponer de un FSB 44 efectivo de hasta 2.000Mhz. También ha desarrollado, esta vez en colaboración con INTEL, el sistema V-Link, que permite la transmisión de datos entre el Southbridge y el Northbridge hasta un máximo (actual) de 1.333 Mhz. Controladora IDE (ATA/ATAPI/PATA/SATA): Unida generalmente al Southbridge, es la encargada de controlar los medios de almacenamiento de nuestro ordenador. De esta va a depender el tipo de discos que admita, así como su velocidad y hasta su capacidad. Controladora de sonido: Se encuentra incluida en un principio en el Southbridge (AC'97), pero con el desarrollo de sistemas de sonido más sofisticados y de mayor rendimiento estas controladoras han pasado a formar un núcleo independiente, aunque para su comunicación con el resto del sistema pasan por el Southbridge. Controladoras Ethernet: Son controladoras de tarjetas de red, son una serie de chips independientes, pero que necesitan del Southbridge para comunicarse con el resto del sistema. El mercado de los chipset está limitado a unos pocos fabricantes, entre los que destacan: Intel, Via, NVidia, AMD, SiS, ITE, Maxwell. AMD está muy centrada en el desarrollo de chipset para portátiles. Cabe destacar entre ellos a ITE, que es un gran especialista en chipset Super I/O (teclados, ratones e IDE) o a Maxwell, muy centrados en la producción de chipset controladores de Ethernet y de RAID. Intel se ha centrado en el desarrollo de chipset para sus propios procesadores, Via desarrolla chipset tanto para Intel como para AMD, lo que unido a la calidad de sus productos ha hecho que se convierta en el primer fabricante de chipsets. Chipset Prism. Es uno de los más usados por usuarios de GNU/Linux así como BSD gracias a la integración a la que goza este chipset ya que todos los documentos del comité de evaluación; notas, diseños de referencia, informes y resúmenes 45 técnicos sobre el chipset se pueden conseguir de forma gratuita en la página web de Intersil. Funcionamiento. Las controladoras MAC, realiza la mayor parte de las operaciones básicas del protocolo 802,11 es la encargada de determinar si se puede utilizar la tarjeta en modo monitor (RFMON) y de la inserción y manipulación de marcos en los paquetes así como indicar si la tarjeta puede cumplir la función de punto de acceso. La controladora MAC de los chipsets Prism 2,0 o superior posee un motor WEP que agiliza el trabajo con este tipo de criptografía ahorrando ciclos de CPU al ordenador. Chipsets Intel para Pentium: - Intel 430HX: El sustituto del FX, es conocido como Tritón II. Posee soporte para dos procesadores, hasta 512 Mb, hasta 4 bancos de memoria, 512 Kb de cache L2, 2 puertos USB. Es compatible con PCI 2.1 y puede cachear toda la memoria, Además de tener soporte para bus EISA. - Intel 430TX: El último desarrollo de Intel para la serié de procesadores Pentium. Recomendado para el MMX, posee un máximo 256 Mb. Hasta 3 bancos de memoria. Soporte para módulos DIMM SDRAM de 64 Mb. y para módulos EDO de 128 MB. Soporte para IDE Ultra DMA/33 (33 Mb./seg.). Cumple con las especificaciones PC'97 (ACPI). Sólo puede cachear los primeros 64 MB. Chipsets Intel Para Pentium PRO/II: - Intel 440GX: Optimizado para el Xeon. Por supuesto soporte de bus a 100 Mhz. Hasta 2 GB. de memoria SDRAM. Soporte para AGP 2x. - Intel 450NX: Optimizado para máquinas con múltiples procesadores Xeon. Hasta 8 GB. de memoria EDO o SDRAM. No soporta AGP ni ACPI. 46 Chipsets para equipos de sobremesa. Permiten maximizar la potencia de sistemas basados en procesadores con chipsets tipo empresa mejorados con las más modernas tecnologías., permiten experimentar el rendimiento, la potencia, la estabilidad, las características y la fiabilidad que espera de las aplicaciones informáticas integradas. Entre algunos de los que podemos mencionar se encuentran: - Chipset Intel® Z68 Express. - Chipset Intel® Q67 Express. - Chipset Intel® Q43 Express. - Chipset Intel® P55 Express. - Chipsets Intel® Q35 y Q33 Express. - Chipset Intel® 945G Express. Funcionamiento de los Chipsets. El Chipset hace posible que la placa base funcione como eje del sistema, dando soporte a varios componentes e interconectándolos de forma que se comuniquen entre ellos haciendo uso de diversos buses. Es uno de los pocos elementos que tiene conexión directa con el procesador, gestiona la mayor parte de la información que entra y sale por el bus principal del procesador, del sistema de vídeo y muchas veces de la memoria RAM. En el caso de los computadores PC, es un esquema de arquitectura abierta que establece modularidad: el Chipset debe tener interfaces estándar para los demás dispositivos. Esto permite escoger entre varios dispositivos estándar, por ejemplo en el caso de los buses de expansión, algunas tarjetas madre pueden tener bus PCI-Express y soportar diversos tipos de tarjetas con de distintos anchos de bus (1x, 8x, 16x). 47 En el caso de equipos portátiles o de marca, el chipset puede ser diseñado a la medida y aunque no soporte gran variedad de tecnologías, presentará alguna interfaz de dispositivo. Disco duro. Se caracterizan por ser sólidos, están construidos sobre un disco grueso de aluminio. Un disco duro posee un material magnético de mejor calidad para poder disponer de un mayor número de pistas y sectores por pista, además que sobre el montaje pueden tenerse uno, dos o más discos, cada uno con sus propias cabezas, normalmente permanece fijo dentro del sistema, aunque existen computadores que admiten discos duros separables del sistema, que pueden ser reemplazados. Diferencias entre un disco duro y un disco flexible. - El disco duro se diferencia del disco flexible en que el primero normalmente está fijo en el computador y no es transportable. Cada disco de la unidad tiene sus dos lados recubiertos por una fina capa de óxido metálico sensible al magnetismo, usualmente cromo o níquel. - El proceso de lectura o escritura es similar al de los discos flexibles. Principales partes que forman un disco duro: - Pistas o Tracks: Son unas pistas concéntricas invisibles a lo largo de las cuales se graban los pulsos magnéticos. En otras palabras son los renglones del disco. - Sectores: Cada pista se subdivide en sectores; por ejemplo 9 sectores por pista o 15 sectores por pista en discos flexibles DD (doble densidad) y HD (alta densidad) respectivamente. 48 - Cilindró: Se le conoce como cilindro al conjunto de pistas a las que el sistema operativo puede acceder simultáneamente en cada posición de las cabezas. Si se trata de un disco flexible, cada cilindro consta de dos pistas, una por encima y otra por debajo del disco. En el caso de un disco duro que tenga dos platos, el cilindro consta de 4 pistas. Manejando cilindros se accede a los datos más rápidamente que manejando pistas individuales, ya que el sistema operativo puede grabar o leer mayor cantidad de información sin tener que mover la cabeza. - Clúster: Es la longitud de la pista tomada como unidad de proceso en cada operación de lectura o de escritura en el disco, la cual equivale a la longitud de un sector en los discos flexibles o al conjunto de 4 u 8 sectores contiguos en los discos duros. Entre mayor sea el "clúster" más se simplifica la administración del índice de los archivos del disco (FAT), pero también se desperdicia más espacio cuando se manejan archivos pequeños. Por ejemplo, si se está grabando un archivo de 1800 bytes en un disquete de 1.2 MB, el número mínimo de bytes que el sistema operativo puede leer o escribir en este disco es de 512 (un sector), por lo cual, al archivo se le asignan 4 sectores desperdiciándose así 264 bytes. 49 - Capacidad del Tamaño del Sectores por disco. disco. clúster. 360K 5 &frac 14 2 1024 bytes 720K 3 &frac 14 2 1024 bytes 1.2M 5&frac 14 1 512 bytes 1.44M 3&frac 14 1 512 bytes Disco duro 4 2048 bytes típico 8 Cap. del clúster. 4096es Tiempo de acceso: Es el tiempo que transcurre desde el instante en que se envían los datos a un dispositivo de almacenamiento y el momento en que éste entrega o recibe los primeros caracteres. Como el microprocesador está enviando continuamente información al disco, lo ideal es que el tiempo de acceso sea mínimo. El tiempo de acceso típico de un disco duro es de 15 mSeg. - Formateo: Es el proceso mediante el cual se prepara el disco para ser utilizado. Durante el formateo se hacen las siguientes tares: se le marcan las pistas y sectores al disco, se le define la zona de directorio, se crean la FAT (File Allocation Table) y el registro de arranque y, eventualmente, se le graban los archivos del sistema operativo para el arranque del sistema. Existen dos tipos de formateo: el de bajo nivel y el lógico. El de bajo nivel es un proceso físico que divide las pistas circulares en un número específico de sectores con capacidad para 528 bytes cada uno, de los cuales 512 son para datos y 16 para control del sistema. El comienzo de cada sector se indica mediante un código magnético de dirección, a continuación, sigue un código para encabezamiento del sector (Id), que contiene los números del cilindro, la cabeza y el sector respectivo. Los datos de información se graban en la porción central de cada sector. En la actualidad, teóricamente sólo es necesario el formateo de bajo nivel una sola vez, y se debe dejar como último recurso para arreglar un disco. 50 El formateo lógico se hace para dotar al disco de un sistema de direcciones que permita leer y escribir datos en sectores definidos. El formateo lógico permite la recuperación de la información en caso de un formateo accidental, en cambio, el formateo de bajo nivel no. - Tabla de partición: Es el índice del disco duro y especifica la ubicación y el tamaño de cada una de las particiones del disco. El sistema operativo puede manejar varias tablas de particiones lógicas. - Particiones del disco: Consiste en dividir un disco duro en una o más particiones lógicas que se comportan cada una como si fuesen un disco real e independiente del resto, a cada unidad se le identifica con una letra. Así, la unidad C es la partición primaria y D sería la partición extendida (si la hay). Por medio del programa "FDISK" del DOS, en las PC-IBM se pueden hacer las particiones del disco y además permite especificar cuál unidad es la de arranque del sistema. - Registro de arranque (BOOT): Este registro contiene las características relacionadas con el disco, como son: versión del sistema operativo, utilizada para el formateo; número de cabezas, número de bytes por sector, el número de sectores en el disco. Debido a que en los discos flexibles no hay particiones, el registro de arranque se localiza en el primer sector físico del disco. - En el caso de un disco duro, el registro de arranque se localiza en el segundo sector de la pista cero, después de la tabla de partición. El registro de arranque es creado en el disco durante el formateo lógico de éste. - Al encender el computador, una rutina de la ROM-BIOS busca el registro de arranque en las diferentes unidades de disco del sistema para poder iniciar su funcionamiento. - La FAT (File Allocation Table): Contiene la información acerca de cada sector del disco, indicándole al sistema operativo cuáles "Cluster" se encuentran 51 ocupados, cuáles se encuentran disponibles y cuáles se encuentran averiados. Además, contiene el nombre del archivo al que le pertenecen los datos almacenados. La FAT está ubicada a continuación del registro de arranque. Otra información muy importante que contiene la FAT es la tabla donde se indican los sectores que conforman un archivo, pues al momento de grabar uno de éstos en el disco, es poco probable que quede ubicado en sectores consecutivos, a menos de que se trate de un disco vacío. Debido a que el tamaño de un sector es muy pequeño (512 bytes), el sistema operativo (en las PC) coloca en la FAT el número del "Cluster" en vez del número del sector, y como un clúster por lo general está formado por cuatro sectores, se simplifica el manejo de la FAT. Para cada "Cluster" del disco la FAT reserva dos bytes. Algunos de los valores que tener la FAT son: FFF, para indicar el último "Cluster del archivo"; FF7, para indicar que el "clúster" esta malo; 0, para indicar que el "Cluster" está disponible. - Directorio raíz: Seguida de la FAT está localizado el directorio raíz, el cual se utiliza para almacenar informaciones como nombre del archivo, localización, número de "Cluster" que ocupa, hora y fecha de creación; toda esta información ocupa 32 bytes. A continuación del directorio raíz se encuentra el área de datos, que va hasta el último sector del disco, y es donde se guarda la diferente información de los archivos. Por su gran velocidad de acceso aleatorio a la información (puede llegar a una media de 7 milisegundos), y por su elevada capacidad de almacenamiento (hasta 23 Gbytes), se lo utiliza como unidad de memoria exterior activa (interviene en el procesamiento), que interactúa constantemente con la memoria electrónica de los ordenadores (memoria RAM). Para grabar o leer la información, el disco está girando constantemente (hasta con velocidades de 10000 revoluciones por minuto). Existe un brazo exterior al extremo del cual se hallan dos cabezas de lectura-grabación (una por 52 cada cara). Según la pista y sector sobre los que se quiera grabar o leer, el brazo se mueve hacia el exterior o interior del disco hasta la pista deseada y el momento de pasar por el sector respectivo, la cabeza apropiada lee o graba la información. La cabeza no toca físicamente al disco, sino que lo sobrevuela; para ello existe permanentemente un colchón de aire entre la cabeza y la superficie del disco. Si no hay contacto no hay rozamiento, y tanto las cabezas como el disco duran más. Un aterrizaje de una cabeza sobre el disco provoca que ambos queden inutilizados, de ahí la conveniencia de obtener copias de seguridad de la información almacenada en el disco. Las necesidades actuales de almacenamiento masivo de la información han determinado que los discos duros modernos sean en realidad varios discos agrupados en torno a un eje común. Dentro de dicha unidad, hay tantos brazos de acceso como discos existan, con lo que se multiplica considerablemente la capacidad de almacenamiento, sin disminuir la velocidad de acceso a la información. Existen dos tipos de discos duros empleados en microcomputadores, que aún se mantienen en el mercado: IDE (integrated drive electronics / electrónica integrada al disco) y SCSI (small computer system interface / interfaz del sistema para computadores pequeños). Discos Duros IDE. Son discos duros cuya electrónica de manejo está incorporada al propio disco, por lo que son los más económicos. El tiempo medio de acceso a la información puede llegar a 10 milisegundos (mseg). Su velocidad de transferencia secuencial de información puede alcanzar hasta 3 Mbytes por segundo (Mbps) bajo la especificación estándar y hasta 11 Mbps bajo la especificación mejorada (Enhanced IDE / EIDE). Su capacidad de almacenamiento en discos modernos alcanza hasta 8 Gbytes). Los controladores IDE pueden manejar hasta 2 discos duros en la versión estándar y hasta 4 discos en la versión mejorada EIDE. 53 Discos Duros SCSI. Son discos duros de gran capacidad de almacenamiento (desde 5 G-byte hasta 23 Gbytes). Se presentan bajo tres especificaciones: SCSI Estándar (Standard SCSI), SCSI Rápido (Fast SCSI) y SCSI Ancho-Rápido (Fast-Wide SCSI). Su tiempo medio de acceso puede llegar a 7 mseg y su velocidad de transmisión secuencial de información puede alcanzar teóricamente los 5 Mbps en los discos SCSI Estándares, los 10 Mbps en los discos SCSI Rápidos y los 20 Mbps en los discos SCSI Anchos-Rápidos (SCSI-2). Un controlador SCSI puede manejar hasta 7 discos duros SCSI (o 7 periféricos SCSI) con conexión tipo margarita (daisy-chain). A diferencia de los discos IDE, pueden trabajar asincrónicamente con relación al microprocesador, lo que los vuelve más rápidos. En los últimos años han empezado a desarrollarse nuevas tecnologías de discos duros que permiten superar las limitaciones de capacidad de transferencia de información de los discos IDE y SCSI, y que incrementan la capacidad total de almacenamiento. Estas nuevas tecnologías están siendo utilizadas inicialmente en sistemas RISC, minicomputadores y main frames, pero se espera su próxima introducción en servidores tipo PC. La industria de la computación no ha tomado aún partido por ninguna de esas tecnologías, pero las más destacadas son: UltraSCSI, Ultra-SCSI-2, Serial Storage Architecture y Fibre-Channel. Ultra-SCSI y Ultra-SCSI-2. Se les conoce como tecnologías FAST20, siendo consideradas por los expertos como un paso intermedio hacia las interfaces seriales. Ultra-SCSI y UltraSCSI-2 representan la última mejora de la tecnología SCSI, que aprovecha las grandes capacidades de los buses locales. Ultra-SCSI y Ultra-SCSI-2 implementan el nuevo protocolo SCSI-3, permitiendo un incremento en la velocidad de transferencia de información hasta 40 MBps para conexiones de 16 bits y hasta 80 Mbps para conexiones de 32 bits. 54 Ultra-SCSI y Ultra-SCSI-2 siguen siendo implementaciones paralelas en las que se ha duplicado la velocidad del reloj del bus, pudiendo coexistir con dispositivos SCSI de tecnologías anteriores, pero por eficiencia es preferible que esos otros dispositivos se conecten a adaptadores independientes. Serial Storage Architecture. La Arquitectura de Almacenamiento Serial (Serial Storage Architecture / SSA), desarrollada por IBM, es una implementación serial del conjunto de comandos de la tecnología SCSI-2. SSA no ha sido implementada como un bus sino más bien como una serie de pequeños saltos independientes entre hasta 126 dispositivos autoconfigurables (self-configuring) y conectables en caliente (hot-pluggable). Uno de los atributos más importantes de SSA es su "Reutilización Espacial", que permite la existencia de más tráfico en un bus e incrementa el ancho de banda. La mayor limitación de la tecnología SSA es el ancho de banda máximo de 20 MBps para cualquier componente de la cadena, pero el bus puede soportar hasta 80 MBps. IBM considera a SSA como una solución universal y económica para almacenamiento local. En un futuro próximo se espera que SSA duplique su velocidad de 20 MBps por nodo a 40 MBps, y de un ancho de banda total del bus de 80 MBps pase a 160 MBps. Fibre Channel. Esta tecnología se basa en el trabajo realizado por el Comité de Canales de Fibra (Fiber-Channel Committee) de la IEEE. Fibre Channel (FC) es una interfaz serial que, a pesar de su nombre, no requiere conexiones de fibra óptica (puede utilizar cable de cobre o fibra óptica, indistintamente). Está basada en comandos SCSI-3, que soportan hasta 126 dispositivos autoconfigurables y conectables en caliente, en conexión tipo margarita. Fibre 55 Channel está evolucionando hacia varias topologías que incluyen Punto a Punto (Point-Point), Estructura Conmutable (Fabric), yCadena Arbitrada (Arbitrated Loop), con diversas velocidades de transferencia, de hasta 100 MBps simultáneamente en cada dirección (hasta 200 MBps en conexiones análogas a full duplex). - Fibre Channel Punto a Punto establece una conexión entre diferentes dispositivos, proveyendo un ancho de banda total de 100 MBps para cada dispositivo. Sin embargo, solamente un componente puede transmitir o recibir al mismo tiempo sobre una conexión. A pesar de que esto proporciona una mayor velocidad de transmisión que SSA, muchos dispositivos que deseen transmitir o recibir al mismo tiempo deberán esperar que se libere el bus. - Los dispositivos Fibre Channel de Estructura Conmutable son conocidos como elementos ruteadores (sobre que redes funcionan de de dispositivos modo en similar lugar a switches y de redes de computadores). Pueden consistir de uno o varios elementos que posibilitan que puedan introducirse nuevos componentes o nuevas tecnologías, sin perturbar a los nodos en el extremo exterior de la estructura conmutable ni a la estructura previamente existente. En una estructura conmutable cualquier nodo puede hablar con cualquier otro nodo. La estructura conmutable realiza el ruteo apropiado para proveer un servicio par a par (peer-peer). - Fibre Channel en Cadena Arbitrada implementa un algoritmo de distribución equitativa, similar a FDDI, para asegurar que todos los dispositivos tengan igualdad de posibilidad de acceso al bus. Sin embargo, se deben configurar apropiadamente los sistemas para evitar congestión. Los promotores de Fibre Channel Arbitrated Loop (FC-AL) argumentan que esta tecnología tolera mejor la falla de los discos, y debido a sus lazos cercanos con los canales de fibra puede ser utilizada como una interconexión universal tanto para sistemas como para almacenamiento. Empresas como Adaptec, 56 BusLogic, Hewlett-Packard, Q-Logic, Quantum, NCR y Seagate están detrás de su desarrollo. Los partidarios de la tecnología SSA argumentan que los defectos de FC-AL son su alto costo y su alto consumo de energía. IBM apoya ambas interfaces: SSA para almacenamiento y Fiber Channel para interconexión de sistemas. 57 Conclusión. Las computadoras usan dos tipos de memoria primaria las muy conocidas ROM y RAM, las cuales pueden considerarse como una especie de libros que las computadoras utilizan para realizar rápidamente lo que el usuario desee. Sin embargo las memorias Flash y caché juegan un papel de gran importancia ya que ambos dispositivos también cumplen con un rol primordial en el organigrama computacional al ser memorias de tipo veloz. Existen diversos tipos de memorias de acceso aleatorio algunas de ellas son la RAM estática (SRAM) y la RAM dinámica (DRAM), es importante destacar que el valor económico de la memoria DRAM es inferior al de la SRAM, sin embargo esta última es más veloz. Por otro lado la memoria ROM, en sus inicios no permitía ser reprogramable, pero con los avances tecnológicos y el crecimiento computacional que se genero a partir de la tercera generación de las computadoras, se impulsa la creación nuevos diseños de encapsulados que permitieron reprogramar los chips un ejemplo de ellos son las memorias EPROM y EEPROM. Dos elementos muy relacionados son el chipset y el microprocesar, quien comúnmente es considerado el corazón de las computadoras, ambos representan componentes electrónicos sin los que el ordenador no puede funcionar, ya que este para trabajar no solo requiere de las memorias y el disco duro, sino también de ellos. A demás que la velocidad y el mejoramiento de un conjunto de componentes de las computadoras dependen de ellos. En general cada pieza y componente electrónico es de vital importancia, por ende para que el computador pueda cumplir con una determinada tarea es necesario que ellos trabajen en conjunto y de forma adecuada, sin embargo los costos de cada uno de ellos estará sujeto a la tecnología, velocidad y a la marca que los produzca, ya que sus costos pueden variar de uno a otro, y ciertos componentes poseen un valor económico superior en comparación a otros. 58 Bibliografía. “Biblioteca de consulta el nuevo milenio”, Editorial Zamora, Colombia, 2000. Referencia Electrónica. Memoria de solo lectura [Documento en Línea] Disponible: http://es.wikipedia.org/wiki/Memoria_de_solo_lectura Consulta: noviembre del 2011. Chipset [Documento en Línea] Disponible: http://www.galeon.com/ortihuela/chipset.htm Disponible: http://www.intel.com/cd/products/services/emea/spa/chipsets/322153.htm Consulta: noviembre del 2011. Clasificación de las memorias [Documento en Línea] Disponible: www.mitecnologico.com Consulta: noviembre del 2011. 59 Glosario. BIOS: Programa que permite controlar las principales interfaces de entrada-salida, de ahí el nombre BIOS ROM que a veces se le da al chip de la memoria de sólo lectura de la placa madre que lo aloja. Cargador de bootstrap: Programa para cargar memoria (de acceso aleatorio) al sistema operativo y ejecutarla, permite que el sistema operativo se ejecute desde el sistema de disco en el caso de que ocurra algún desperfecto en el sistema instalado en el disco duro. CMOS: Es la pantalla que se visualiza al iniciarse el ordenador. Se utiliza para modificar los parámetros del sistema (a menudo erróneamente llamada BIOS). Northbridge: MCH (Memory Controller Hub), GMCH (Graphic MCH), se usa como puente de enlace entre el microprocesador y la memoria. I/O: Input/Output. Intel: (Integrated Electronics Corporation). Via: (Via Technologies Inc.). NVidia: (NVidia Corporation). AMD: (Advanced Micro Devices). SiS: (Silicon Integrated Systems Corp.). ITE: (ITE Tech. Inc.). Maxwell: (Maxwell technologies Inc.). FIFO: Se usa un algoritmo First In First Out FIFO (primero en entrar es el primero en salir) para determinar qué bloque debe abandonar la caché. Este algoritmo generalmente es poco eficiente. Swap: La memoria virtual ("de intercambio"). 60