Jerarquía De la Memoria

Cuando alguien utiliza el término "memoria," están refiriendo típicamente al almacenaje de datos proporcionado por las virutas dedicadas situadas en la placa base. El almacenaje que estas virutas proporcionan se refiere a menudo como la memoria de acceso al azar (ESPOLÓN), la memoria central, y almacenaje primario. Detrás en la edad de hierro, cuando caminaron los chasis la tierra, fue llamado la base. El almacenaje proporcionó por estas virutas es volátil, que es decir que los datos en las virutas están perdidos cuando se apaga la energía.

Hay varios tipos de ESPOLÓN:

El ESPOLÓN dinámico (COPITA) tiene que ser millares recargados de épocas cada segundo. La COPITA síncrona (SDRAM) se restaura a la velocidad de reloj en la cual el procesador funciona lo más eficientemente posible. El ESPOLÓN estático (SRAM) no necesita ser restaurado como COPITA, y ésta lo hace mucho más rápido. Desafortunadamente, SRAM es también mucho más costoso que COPITA y se utiliza escasamente. SRAM tiende para ser utilizado en escondrijos del procesador y la COPITA tiende para ser utilizada para la memoria al por mayor. Finalmente, hay el ESPOLÓN video (VRAM), que es una región de la memoria usada por el hardware video.

Los avances recientes en la tecnología y las optimizaciones especiales puestas en ejecucio'n por ciertos fabricantes han conducido a un número de siglas adicionales. Aquí está un par de ellos:

DDR SDRAM está parado para la memoria de acceso al azar dinámica síncrona doble de la tarifa de datos. Con DDR SDRAM, los datos se leen en el levantamiento y caer del impulso del reloj del sistema, doblando básicamente la anchura de banda normalmente disponible. RDRAM es corto para la COPITA de Rambus, una versión de alto rendimiento de la COPITA vendida por Rambus que pueda transferir datos en 800 megaciclos. La COPITA síncrona realzada (ESDRAM), fabricada por los sistemas realzados de la memoria, proporciona una manera de substituir SRAM por un SDRAM más barato.

Un pedacito es un solo dígito binario (es decir, un 1 o un 0). Un pedacito en una viruta de ESPOLÓN es básicamente una estructura de la célula de la cual se compone, dependiendo del tipo de ESPOLÓN, cierta configuración de transistores y los condensadores. Cada célula es un interruptor digital en el cual puede o estar o apagado (es decir, 1 o 0). Estas células se agrupan en octetos 8-bit de la llamada de las unidades. El octeto es la unidad fundamental para medir la cantidad de memoria proporcionada por un dispositivo de almacenaje. En los años, los vendedores de hardware ponían diversos tamaños del octeto en ejecucio'n. Un vendedor utilizaría un byte de 6 bits y otro utilizaría un octeto 16-bit. El estándar de hecho que cada uno se parece habitar cerca hoy, sin embargo, es el byte de 8 bits.

Hay un sistema entero de métrica octeto-basada para especificar el tamaño de una región de memoria:

1 octeto = 8 pedacitos

1 palabra = 2 octetos

1 palabra doble = 4 octetos

1 palabra del cuadrángulo = 8 octetos

1 palabra octal = 8 octetos

1 párrafo = 16 octetos

1 kilobyte (KB) = 1.024 octetos

1 megabyte (MB) = 1,024KB = 1.048.576 octetos

1 gigabyte (GB) = 1,024MB = 1.073.741.824 octetos

1 Terabyte (TB) = 1,024GB = 1.099.511.627.776 octetos

1 petabyte (PB) = 1,024TB = 1.125.899.906.842.624 octetos

Nota 

En los años 80, tener un megabyte de la COPITA era un reparto grande. Los cabritos desinsectaban a sus padres para las mejoras de la memoria 16KB así que su Atari 400s podría jugar juegos más grandes. Cuando, tener solamente un megabyte no era un problema significativo porque los ingenieros tendió para programar en código de la asamblea y para construir programas muy pequeños. En hecho, esta cotización 1981 se atribuye a menudo a Bill Gates: "640K ought ser bastante para cualquiera."

Hoy, la mayoría de las máquinas del desarrollo tienen por lo menos 128MB de la COPITA. En 2002, tener 256MB se parece ser la norma. Diez años de ahora, un gigabyte pudo ser la cantidad estándar de COPITA (si todavía estamos utilizando COPITA). Esperanzadamente, alguien no me cotizará.

El ESPOLÓN no es el único lugar para almacenar datos, y esto es qué nos conduce a la jerarquía de la memoria. La gama de diversos lugares que se puedan utilizar para almacenar la información se puede pedir según su proximidad al procesador. Esto que ordena produce la jerarquía siguiente:

  1. Registros

  2. Escondrijo

  3. ESPOLÓN

  4. Almacenamiento en discos

La distinción primaria entre estos almacenes es su estado latente de la memoria, o tiempo de retraso. El almacenaje más cercano al procesador toma menos tiempo para tener acceso que el almacenaje que está ausente adicional. El estado latente experimentado en datos que tienen acceso sobre una impulsión dura es mucho mayor que el estado latente que ocurre cuando el procesador tiene acceso a memoria en su escondrijo. Por ejemplo, el estado latente de la COPITA tiende para ser medido en nanosegundos. ¡El estado latente del accionamiento de disco, sin embargo, tiende para ser medido en milisegundos!

Los registros son los espacios de almacenaje pequeños que están situados dentro del procesador sí mismo. Los registros son espacio de trabajo preferido de un procesador. La mayoría del trabajo cotidiano del procesador se realiza en datos en los registros. Los datos móviles a partir de un registro a otro son la sola manera más conveniente de mover datos.

Las Software Engineers que diseñan recopiladores saltarán con todas las clases de aros apenas para mantener variables y constantes los registros. Tener una gran cantidad de registros permite que más del estado sean almacenadas dentro del procesador sí mismo de un programa y que reduzcan en estado latente de la memoria. El procesador MIPS64 tiene 32, registros 64-bit, de uso general por esta misma razón. El Itanium, viruta 64-bit de la generación siguiente de Intel, va un paso más lejos y tiene literalmente centenares de registros.

El procesador del Pentium de Intel tiene un sistema variado de registros. Hay seises, 16-bit, los registros del segmento (CS, DS, ES, FS, GS, SS). Hay ocho, registros 32-bit, de uso general (EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESPECIALMENTE). Hay también un registro 32-bit de la bandera del error (EFLAGS) para señalar los problemas y un indicador de instrucción 32-bit (EIP).

Las funciones avanzadas de la gerencia de la memoria son facilitadas por cuatro registros del sistema (GDTR, LDTR, IDTR, TR) y cinco registros de control del modo (CR0, CR1, CR2, CR3, CR4).

Nota 

Es interesante observar cómo la colección del Pentium de registros ha sido obligada por las fuerzas históricas. El requisito del diseño que exigía compatibilidad hacia atrás ha dado lugar al Pentium que tenía solamente algunos más registros que los 8086.

Un escondrijo proporciona el almacenamiento temporal que se puede alcanzar más aprisa que COPITA. Poniendo de cómputo porciones intensivas de un programa en el escondrijo, el procesador puede evitar los gastos indirectos de tener que continuamente tener acceso a COPITA. Los ahorros pueden ser dramáticos. Hay diversos tipos de escondrijos. Un escondrijo L1 es un espacio de almacenaje que está situado en el procesador sí mismo. Un escondrijo L2 es típicamente una viruta de SRAM fuera del procesador (por ejemplo, las naves del Pentium de Intel 4 con 256 o 512KB L2 avanzaron el escondrijo de la transferencia).

Nota 

Si usted está procurando optimizar el código que se ejecuta en el escondrijo, usted debe evitar llamadas de función innecesarias. Una llamada a una función distante requiere a procesador ejecutar el código que miente fuera del escondrijo. Esto hace el escondrijo recargar. Ésta es una razón por la que ciertos recopiladores de C le ofrecen la opción de generar funciones en línea. El otro lado de la moneda es que un programa que utiliza funciones en línea será mucho más grande de uno que no lo haga. La compensación de la tamaño-contra-velocidad es un acto que balancea que alza su informática del excedente de la cabeza todo.

El almacenamiento en discos es la opción del recurso pasado. Tradicionalmente, la espacio de disco se ha utilizado para crear memoria virtual. La memoria virtual es la memoria que es simulada usando la espacio de disco. Es decir las porciones de la memoria, almacenadas normalmente en COPITA, se escriben al disco de modo que la cantidad de memoria que el procesador puede tener acceso sea mayor que la cantidad real de memoria física. Por ejemplo, si usted tiene 10MB de la COPITA y usted utiliza 2MB de la espacio de disco para simular memoria, el procesador puede entonces tener acceso a 12MB de la memoria virtual.

Usar memoria virtual es como la fabricación de un reparto con el diablo. Seguro, usted conseguirá porciones de la memoria adicional, pero usted pagará un coste tremendo en términos del funcionamiento. El disco I/O implica una serie entera de acciones obligatorias, algunas de las cuales son mecánicas. Se estima que la paginación en Windows considera el áspero 10% de tiempo de ejecución. La memoria virtual de manejo requiere muchos de contabilidad de parte del procesador.

El almacenamiento en discos ha sido siempre más barato que ESPOLÓN. Detrás en los años 60 cuando 8KB del ESPOLÓN era una inversión grande, usar el disco para crear memoria virtual tuvo probablemente sentido. Hoy, sin embargo, la discrepancia del coste entre la COPITA y los accionamientos de disco no es tan significativa como entonces estaba detrás. Comprar una máquina con 512MB de SDRAM no es unheard de. Podría ser que la memoria virtual se convertirá en una reliquia completa o puesto en ejecucio'n como cierta clase de salvaguardia de la emergencia.

un artículo sometió por Vuk Mitrovich


Negación: Nuestro Web site no es responsable de la información contenida por este artículo. Este artículo de ninguna manera refleja las vistas, las opiniones, los pensamientos o la creencia del personal del directorio de los artículos.
Aviso de la traducción: El artículo "jerarquía de la memoria" fue traducido usando un servicio de traducción automatizado. Nos disculpamos sinceramente por cualquier error de la traducción que pudo haber ocurrido. Gracias por su comprensión.

Online: 712 users browsing the articles directory


  

.