viernes, 28 de agosto de 2009

RESUMEN DE CACHE, MEMORIA VIRTUAL Y BUFFER

LA MEMORIA CACHE




Es una memoria que acelera la transferencia de datos entre el CPU y la RAM, y es parte de la memoria SRAM, por ejemplo: si el CPU necesita leer datos o instrucciones desde la cache y si estos no se encuentran, los checa en la RAM, y al momento, carga una copia a la cache, para cuando necesite leer datos vaya directo a la cache, y asi el tiempo de transferencia sea mas corto.

Se podria decir que esta memoria hace creer que existe, cuando en realildad simplememte es un espacio de la memoria SRAM y por lo cual se podria decir que es como un repositorio, la cual se ocupa, cuando la memoria RAM se satura.


la memoria cache se podria clasificar asi:


L1: esta es la memoria principal que se usa con mas frecuencia.


L2: esta sirve como repositorio que se activa cuando la L1 se satura.









BUFFER


Esta es una memoria intermedia, y no tiene nada que ver con la memoria cache, RAM o la memoria virtual, hay diferentes tipos de buffer:




BUFFER DE TECLADO.





BUFFER DE AUDIO.





BUFFER DE CD O DVD.





EJEM:

Cuando se esta imprimiendo, y por error la fuente de alimentacion se desconecta o se va la corriente o x razon, y se vuelve a encender la computadora, de repente ves que salen impresiones, te preguntas porque, la respuesta es que la buffer funciona entre la impresora y el disco duro, y si checas la configuracion de la impresora, podras observar que se encuentran el numero de paginas que te faltaron por imprimir y que al encender la computadora, la buffer se activo, lo que en realidad hace la buffer es que las instrucciones permanescan, es intermedia porque aunque el cpu se haya desactivado las intrucciones siguen activas por medio de la memoria buffer.





MEMORIA VIRTUAL




Esta es una memoria que utiliza el disco duro y es una reserva conforme a la capacidad de el disco y conforme a la capacidad del disco duro. En caso de que la memoria cache se llegue a saturar se activa la memoria virtual.
















miércoles, 26 de agosto de 2009

RAM Y ROM (CONCLUCION)

RAM

La memoria RAM es una medida de almacenamiento mas rapida que la ROM y por lo tanto de un precio mayor, existen dos tipos:

  • SRAM
  • DRAM

SRAM: la estatica es de alta velocidad y porsupesto que mas cara, tiene la capacidad de mantener un bit de memoria y puede llevar cuatro o seis transitores con algo de cableado, sin embargo por tener mas partes ocupa mas espacio en un chip que una memoria dinamica , una de sus desventajas es que si la corriente con la que se alimenta se corta, la informacion con la que se esta trabajando se pierde al momento, y no hay forma de recuperarla, su ventaja es que no hay necesida de que se refresque puede seguir operando continuamente, podemos tener en el panel una o mas paginas abiertas sin que se satura la memoria.

DRAM: la dinamica es mas lenta y su precio no es tan elevado como el de la estatica, lo mejor de esta memoria es que esta, aunque la corriente se corte, los datos permanecen, este tipo de memoria se utiliza mas en los bancos o empresas.

MEDIDAS DE ALMACENAMIENTO INTERNO

Memoria virtual
Cómo la memoria virtual se mapea a la memoria físicaLa memoria virtual es una técnica que permite al software usar más memoria principal que la que realmente posee el ordenador. La mayoría de los ordenadores tienen cuatro tipos de memoria: registros en la CPU, la memoria caché (tanto dentro como fuera del CPU), la memoria física (generalmente en forma de RAM, donde la CPU puede escribir y leer directa y razonablemente rápido) y el disco duro que es mucho más lento, pero también más grande y barato.

Aunque la memoria virtual podría estar implementada por el software del sistema operativo, en la práctica casi siempre se usa una combinación de hardware y software, dado el esfuerzo extra que implicaría para el procesador.


Operación básica

Cuando se usa Memoria Virtual, o cuando una dirección es leída o escrita por la CPU, una parte del hardware dentro de la computadora traduce las direcciones de memoria generadas por el software (direcciones virtuales) en:

La dirección real de memoria (la dirección de memoria física), o
una indicación de que la dirección de memoria deseada no se encuentra en memoria principal (llamado excepción de memoria virtual)


En el primer caso, la referencia a la memoria es completada, como si la memoria virtual no hubiera estado involucrada: el software accede donde debía y sigue ejecutando normalmente. En el segundo caso, el sistema operativo es invocado para manejar la situación y permitir que el programa siga ejecutando o aborte según sea el caso. La memoria virtual es una técnica para proporcionar la simulación de un espacio de memoria mucho mayor que la memoria física de una máquina. Esta "ilusión" permite que los programas se ejecuten sin tener en cuenta el tamaño exacto de la memoria física.

La ilusión de la memoria virtual está soportada por el mecanismo de traducción de memoria, junto con una gran cantidad de almacenamiento rápido en disco duro. Así en cualquier momento el espacio de direcciones virtual hace un seguimiento de tal forma que una pequeña parte de él, está en memoria real y el resto almacenado en el disco, y puede ser referenciado fácilmente.

Debido a que sólo la parte de memoria virtual que está almacenada en la memoria principal, es accesible a la CPU, según un programa va ejecutándose, la proximidad de referencias a memoria cambia, necesitando que algunas partes de la memoria virtual se traigan a la memoria principal desde el disco, mientras que otras ya ejecutadas, se pueden volver a depositar en el disco (archivos de paginación).

La memoria virtual ha llegado a ser un componente esencial de la mayoría de los sistemas operativos actuales. Y como en un instante dado, en la memoria sólo se tienen unos pocos fragmentos de un proceso dado, se pueden mantener más procesos en la memoria. Es más, se ahorra tiempo, porque los fragmentos que no se usan no se cargan ni se descargan de la memoria. Sin embargo, el sistema operativo debe saber cómo gestionar este esquema.

La memoria virtual también simplifica la carga del programa para su ejecución llamada reubicación, este procedimiento permite que el mismo programa se ejecute en cualquier posición de la memoria física.

El hardware que tiene soporte para memoria virtual, la mayoría de la veces también permite protección de memoria. La MMU puede tener la habilidad de variar su forma de operación de acuerdo al tipo de referencia a memoria (para leer, escribir, o ejecutar), así como el modo en que se encontraba el CPU en el momento de hacer la referencia a memoria. Esto permite al sistema operativo proteger su propio código y datos (como las tablas de traducción usadas para memoria virtual) de corromperse por una aplicación, y de proteger a las aplicaciones que podrían causar problemas entre sí.

Paginación y memoria virtual

La memoria virtual usualmente (pero no necesariamente) es implementada usando paginación. En paginación, los bits menos significativos de la dirección de memoria virtual son preservados y usados directamente como los bits de orden menos significativos de la dirección de memoria física. Los bits más significativos son usados como una clave en una o más tablas de traducción de direcciones (llamadas tablas de paginación, para encontrar la parte restante de la dirección física buscada.



Memoria Cache o RAM Cache
Un cache es un sistema especial de almacenamiento de alta velocidad. Puede ser tanto un área reservada de la memoria principal como un dispositivo de almacenamiento de alta velocidad independiente. Hay dos tipos de cache frecuentemente usados en las computadoras personales: memoria cache y cache de disco.

Una memoria cache, llamada también a veces almacenamiento cache o RAM cache, 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 cache 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 un dato es encontrado en la cache, se dice que se ha producido un impacto (hit), siendo un cache juzgado por su tasa de impactos (hit rate). Los sistemas de memoria cache usan una tecnología conocida por cache inteligente en el cual el sistema puede reconocer cierto tipo de datos usados frecuentemente. Las estrategias para determinar qué información debe de ser puesta en el cache constituyen uno de los problemas más interesantes en la ciencia de las computadoras. Algunas memorias cache están construidas en la arquitectura de los microprocesadores. Por ejemplo, el procesador Pentium II tiene una cache L2 de 512 Kbytes.


El cache de disco trabaja sobre los mismos principios que la memoria cache, 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 (así como los sectores adyacentes) se almacenan en un buffer de memoria. Cuando el programa necesita acceder a datos del disco, lo primero que comprueba es la cache del disco para ver si los datos ya están ahí. La cache 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.
Composición interna
La memoria cache está estructurada por celdas, donde cada celda almacena un byte. La entidad básica de almacenamiento la conforman las filas, llamados también líneas de cache. Por ejemplo, una cache L2 de 512 KB se distribuye en 16.384 filas y 63 columnas
Cuando se copia o se escribe información de la RAM por cada movimiento siempre cubre una línea de cache.
La memoria cache tiene incorporado un espacio de almacenamiento llamado Tag RAM, que indica a qué porción de la RAM se halla asociada cada línea de cache, es decir, traduce una dirección de RAM en una línea de cache concreta.
Diseño
En el diseño de la memoria cache se deben considerar 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 son las políticas de ubicación, extracción, reemplazo, escritura y el tamaño de la cache y de sus bloques.
Política de ubicación
Decide dónde debe colocarse un bloque de memoria principal que entra en la memoria cache. 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 cache.
• Asociativa: Cualquier bloque de memoria principal puede ir en cualquiera de los n bloques de la memoria cache.
• Asociativa por conjuntos: La memoria cache 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 cache. Existen dos políticas muy extendidas:
• Por demanda: Un bloque sólo se trae a memoria cache cuando ha sido referenciado y se produzca un fallo.
• Con prebúsqueda: Cuando se referencia el bloque i-ésimo de memoria principal, se trae además el bloque (i+1)-esimo. Esta política se basa en la propiedad de localidad espacial de los programas.
Política de reemplazo
Determina qué bloque de memoria cache 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.
• 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 cache. 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 cache, traeremos a cache el bloque en cuestión y lo modificaremos ahi.




Buffer de datos
Un buffer (o búfer) en informática es un espacio de memoria, en el que se almacenan datos para evitar que el programa o recurso que los requiere, ya sea hardware o software, se quede en algún momento sin datos.

Algunos ejemplos de aplicaciones de buffers son:

El buffer de teclado es una memoria intermedia en la que se van almacenando los caracteres que un usuario teclea, generalmente, hasta que pulsa la tecla [INTRO], momento en el cual el programa captura todos o parte de los caracteres tecleados contenidos en dicho buffer.
En Audio o video en streaming por Internet. Se tiene un buffer para que haya menos posibilidades de que se corte la reproducción cuando se reduzca o corte el ancho de banda.
Un buffer adecuado permite que en el salto entre dos canciones no haya una pausa molesta.
Las grabadoras de CD o DVD, tienen un buffer para que no se pare la grabación. Hoy en día hay sistemas para retomar la grabación pero antes suponía que el CD no quedaba bien grabado y muchas veces era inservible.
El concepto del Buffer es similar al de caché. Pero en el caso del buffer, los datos que se introducen siempre van a ser utilizados. En la caché sin embargo, no hay seguridad, sino una mayor probabilidad de utilización.

Para explicar la acepción informática a gente no técnica, se puede usar esta metáfora: Un buffer es como tener dinero en el banco (buffer), un trabajo (entrada) y unos gastos fijos (salida). Si tienes un trabajo inestable, mientras tengas ciertos ahorros, puedes mantener tus gastos fijos sin problemas, e ir ingresando dinero cuando puedas según vas trabajando. Si los ahorros son pequeños, en seguida que no tengas trabajo, no vas a poder acometer los gastos fijos. De la misma forma si escuchas música en Internet y tu programa de audio usa un buffer pequeño, en cuanto que haya alguna interrupción en la descarga (porque las descargas nunca tienen una velocidad constante), notarás cortes de sonido, ya que faltará información.

Los buffers se pueden usar en cualquier sistema digital, no solo en los informáticos, por ejemplo se utilizan en reproductores de música y vídeo .

WIKIPEDIA.ORG


lunes, 24 de agosto de 2009

CARACTERISTICAS DE RAM Y ROM


CARACTERISTICAS DE RAM
La memoria RAM
Aunque la clasificamos como "Interna", la memoria RAM ("Random access memory") es también en alguna forma una memoria "externa"; en el sentido que está situada fuera del procesador (el "Cerebro" del ordenador); es como su bloc de notas. El procesador tiene una memoria raquítica (se reduce a sus registros), pero una gran facilidad para manejar este almacenamiento auxiliar. De hecho, gran parte del trabajo del procesador se concreta en traer y llevar datos desde RAM hasta sus propios registros.
Atendiendo a sus características físicas, las memorias RAM se dividen en dos grandes grupos: estáticas SRAM ("Static RAM"), y dinámicas DRAM ("Dynamic RAM"). Ambas comparten la característica de perder su contenido cuando se apaga el sistema. Pero las DRAM tienen además la necesidad de que su contenido sea constantemente actualizado.
la memoria RAM puede considerarse como una serie de varios miles (o millones) de bits que pueden ser accedidos para lectura y escritura en grupos de 8 (en Bytes) mediante una dirección. Pero hay dos aspectos que pueden interesar al programador: uno se refiere a como se guardan algunos datos; otro es relativo a como se almacenan los ejecutables.
CARACTERISTICAS DE ROM
La memoria ROM, también conocida como firmware, es un circuito integrado programado con unos datos específicos cuando es fabricado. Los chips de características ROM no solo se usan en ordenadores, sino en muchos otros componentes electrónicos también. Hay varios tipos de ROM:
Tipos de ROM
Hay 5 tipos básicos de ROM, los cuales se pueden identificar como:
ROM
PROM
EPROM
EEPROM
Memoria Flash
Cada tipo tiene unas características especiales, aunque todas tienen algo en común:
Los datos que se almacenan en estos chips son no volátiles, lo cual significa que no se pierden cuando se apaga el equipo.
Los datos almacenados no pueden ser cambiados o en su defecto necesitan alguna operación especial para modificarse. Recordemos que la memoria RAM puede ser cambiada en al momento.
Todo esto significa que quitando la fuente de energía que alimenta el chip no supondrá que los datos se pierdan irremediablemente.
Funcionamiento ROM
De un modo similar a la memoria RAM, los chips ROM contienen una hilera de filas y columnas, aunque la manera en que interactúan es bastante diferente. Mientras que RAM usualmente utiliza transistores para dar paso a un capacitador en cada intersección, ROM usa un diodo para conectar las líneas si el valor es igual a 1. Por el contrario, si el valor es 0, las líneas no se conectan en absoluto.