Memorias Fisicas: Componente de la unidad estructural llamada MP. Interactua con la UCP y la UES a travez de los buses del sistema. Es de lecto-escritura y aloja datos como instrucciones siguiendo el modelo de Von Neumann. Concepto: Unidad de almacenamiento de datos, ceros y unos. Algunos retienen info aunque se los desconecte se su fuente, se implementan mediante integrados o chips (es lo mismo). Características: Capacidad de almacenamiento, expresada en bits, bytes, kb, etc. Da idea de lo cant de datos que puede almacenar. Tiempos de acceso, define cuanto tiempo requiere el dispositivo para realizar una lectura, escritura o cualquier tarea adicional. Volatilidad de usos, es la permanencia de los datos según este energizada o no, volátiles pierden los datos, no volátiles los preservan. Presentación o encapsulamiento, distintos encapsulamientos y formas de interconexión con las placas madres o circuitos impresos a través de montaje superficial o zócalos de colocación Jerarquia: Mas rápida costosas y baja capacidad es la cache dentro de la UCP, memoria principal en la placa madre, discos rígidos y ópticos en el mismo gabinete y cintas magnéticas mas lentas baratas y alta capacidad en gabinete central. Biestables o Flip Flop: dispositivo que alamacena un bit, puede tener dos estados 0 o 1, flip flop tipo D. presenta el menor tiempo de acceso. Implementa una función lógica secuencial ya que su señal de salida no depende de las variables de entrada sino tmb de su estado anterior.Señales de entrada D, CLK, SET, CLR. Forma sincronica: se utilizan dos señales de entrada D y CLK, en D se coloca el valor que se quiere almacenar, en el CLK se aplica un pulso “disparo” ascendente para que el flipflop tome muestra de D y la presente en Q (salida) que cambia en flancos ascendentes. Forma asincrónica: No hace falta un pulso de sincronismo para almacenar un dato. Se utilizan dos señales de entrada que es SET y CLR. El valor que tenga D no se tiene en cuenta. Registros: N flip flops tipo D conectados. Registro de desplazamiento: Derecha, si conectamos la salida Qn con las entradas Dn-1 y D colocamos un 0 haremos que a la llegada del CLK se desplacen todos los valores una posición a la derecha. Se pueden utilizar para convertir un dato paralelo en serie obteniendo de a 1 bit por la salida (conversor paralelo-serie), asimismo si se coloca un 1 en la entrada y entra al flipflop con pulso de CLK(serie- paralelo). Izquierda, si conectamos las salidas Qn a Dn+1 y en D0 colocamos un 0 se desplazan a la izq. Registro de rotación: si conectamos la entrada serie con la salida serie a cada pulso de clock rotara sus bits a derecha, análogamente se puede construir uno que rote a izquierda. En 4 pulsos de CLK volvemos a tener los 4 bits en su posición inicial listos para volver a rotar. SRAM: Fabricadas con celdas construidas con flipflop o biestables, se disponen n flipflops para formar una palabra de la memoria que formaría una fila de la memoria. Para acceder a cada fila o posición se debe proporcionar una dirección binaria que luego de pasar por un deco determina cual de todas las filas de la memoria se quiere acceder ya sea para leer o escribir. Son las mas rápida con tiempo de acceso promedio de 10ns, mayor costo por bit, ocupan mayor lugar, bajo consumo en estado de reposo. Memoria principal: Celda de memoria dinámica, se fabrican con mosfet y un capacitor, cuando se selecciona la celda con un 1 en línea roja, si se coloca 1 en la azul el mosfet conducirá y ese 1 del dato carga el capa. Este permanecerá cargado cuando se quite la selección de la celda, si se requiere almacenar un cero se lo debe colocar en la línea azul y eso indicara la descarga completa del capa. Este tipo de celda necesita un refresco que se trata de un pulso que reavivara el 1 que se esta descargando en la celda en tiempo muy rápido sin dejarlo caer, el refresco es automático y no lo gestiona el usuario sino solo la celda. DRAM, utilizadas para fabricar memorias principales de los sistemas computacionales, son las mas lentas con un tiempo de acceso de 60ns osea 6 veces mas lenta que SRAM, muy baratas, ocupan menor lugar y permite grandes capacidades de almacenamiento en poco espacio, mayor consumo por uso constante. Banco de meoria principal, la MP esta conectada a los buses del sistema, el bus de datos será n bits. Se accede a cada celda a travez de una dirección de P bits. La capacidad de la memoria será 2^n*p bits. Estructura: Matriz de celda de memoria: 2^p filas * n columnas, en cada intersección una celda de memoria DRAM. Decodificador: discriman la dirección ingresada a la memoria seleccionando una única fila o palabra de la matriz. Logica de control: circuitería que proveerá todas las señales necesarias para la lectura o escritura de una posición o fila de la matriz. Provee el temporizador respecto de la señal de CLK. Tranductores: atenúan la señal de escritura que llega del exterior para interactúa con las celdas DRAM, asi mismo amplifica la señal proveniente de cada celda DRAM que es muy pequeña y no alcanza para pasarla al bus de datos. Son volátiles. Señales de control: CS(chip select), indica selección del chip de memoria para bancos multichip. OE(output enable), hablita la señal de salida de los traductores para que este disponible en el bus de datos. WE(write enable) habilita para escribir una celda de la matriz con el dato recibido en el bus. R/W(no read/ write) indicación de operación a realizar en memoria. CLK(clock) reloj. Tipos de memorias: ROM, solo lectura, en cada celda se requiere un 0 o 1, no son volátiles. PROM: son de solo lectura pero se pueden programar una vez. Todas las celdas están compuestas por un diodio en serie con un fusible, al programarla se quema el fusible donde se requiere un uno dejando el diodo conectado donde se quiere un cero, no son volátiles. EPROM: son para ser leidas, pueden programarse y volverse a programar las veces que sea necesario, poseen celdas realizadas con semiconductores que ante un pulso de alta tensión atrapan cargas y se mantienen indefinidamente, se pueden borrar con luz ultravioleta en el sustrato de la celda, esa energía es suficiente para que se recombinen las cargas y desaparezcan dejando la memoria en cero. Los chips poseen un ojo o venta de vidrio donde ingresa la luz. Se las utiliza como ROM BIOS, no son volátiles. EEPROM: características similares a la EPROM con la salvedad que se programan con un pulso eléctrico y se borran con un pulso también celda por celda, no son volátiles. FLASH: se pueden leer y escribir multiples celdas de memorias simultáneamente, se emplean en memorias USB, son baratas rápidas y muy bajo consumo de operación, no volátiles. SDRAM: se las puede acceder por bloques de datos, dispone de un bloque completo compuesto por el dato solicitado y otro mas, este bloque puede leerse o escribirse con la modalidad ráfaga o burst. Para escribir una ráfaga de datos SDRAM se tiene que indicar la cant de palabras a escribir, la dirección de memoria de incio de la escritura y transferir los datos uno detrás del otro sin necesidad de indicar la dirección a la que va. Frecuentes en computadoras de los 90. DDR DRAM: tecnología SDRAM, realizan operaciones en flanco ascendente como descendente, esto duplica la tasa de tranferencia de info. Trabajj con 2,5V, pipelines interno de 2bits, el tiempo que tarda en leer la celda es mucho mayor que leer el buffer de prebusquedad, el tiempo de acceso no es siempre igual ya que el primer dato tarda mas, velocidad de transf de 200 a 400 Mhz. DIMM de 184 contactos. DDR2DRAM: trabajan con 1,8v, pipeline de 4 bits, velocidad de 533Mhz a 1Ghz, DIMM de 240 contactos. DDR3DRAM: trabajan con 1,5V , pipelines de 8 bits, velocidad de 1,6 a 2 Ghz. DIMM 240 contactos. DDR4DRAM: trabaja con 1,05V, pipelines de 8 bits, velocidad de tranf de 2,13 a 4,26 Ghz, DIMM 288 contactos. Latencia: es la suma de todos los tiempos que se tardan para accederla “acces time” “Cycle time” “Write time” Ancho de banda: Es la máxima cantidad de datos que el procesador puede leer o escribir en la memoria por unidad de tiempo, también conocida como velocidad o tasa de transferencia. Se expresa en bytes/seg. Memorias virtuales: Memoria CACHE: la memoria principal es mucho mas lenta que el procesador , en base a eso se coloca la memoria cache que es una pequeña cantidad de memoria de alta velocida entre UCP y MP, cercana al procesador cuyo propósito es mantener en ella una copia de pequeñas porciones de MP que usa la UCP. El principio de funcionamiento se basa en la localidad referencial que va a ser la clave para la aplicación de memoria cache, esta propiedad manifiesta que un progama accedido recientemente a determinadas palabras de la MP, con altísima probabilidad de que se vuelva a acceder en futuro inmediato, un programa accedido recientemen…. Con altísima probabilidad va a acceder a las prox palabras. Tener esa porción de MP que se accede a una y otra vez dentro de memoria rápida resulta altísimamente eficiente. Si se requiere acceder a una dirección X y se encuentra es HIT o ACIERTO, sino MISS o FALLO. Organización: 3 escenarios llamados funciones de correspondencia. Asociativo, define que cualquier bloque de MP puede ubicarse en cualquier reglon o posición de chache. Organiza la memoria en 3 columnas, validez bloque y valor. A medida que se utilicen las posiciones de cache se iran completando los valores corrspondientes. Mapeo directo, define que un bloque de la MP puede ubicarse en un único renglón o posición de la memoria cache, la organiza en tres columnas, validez etiqueta y valor. Asociativa por conjunto de N vías, es una solución entre ambas estrategias, toma la mejor de ambas para dar una mejor proporción de aciertos, define el tamaño de bloques de MP de igual cant de palabras que cada paqeute de direcciones o via de memoria cache, cada dirección relativa del bloque se acomoda en el mismo numero de renglón en una via, se denomina conjunto a la unión de todos los rengloes iguales de cachee que están en cada via. Con la dirección absoluta puedo determinar cual es la dirección relativa en el bloque que pertenece, con la relativa elijo el renglon de vías de chache y con el numero de bloque busco en que via lo guarde, pars ello uso memoria asociativa. Políticas de escritura en RAM: Todas las acciones de escrituras en una posición de MP alojada en memoria cache se realizara en cache para mantener el objetivo de utilizar esta memoria como primera fuente de info rápida y actualizada. Al modificarse una posición de MP, encontramos dos alternativas posibles para no perder la consistencia MP, CACHE. Escritura directa: llamada WRITE-TRUGH, si se modifica una posición de memoria en cache, simultáneamente se modifica su correspondiente valor en MP, tiene ventaja que MP y cache siempre estarán sincronizadas y los datos de un bloque de memoria principal serán idénticos a ese mismo bloque alojado, es beneficioso para aplicaciones de lectura intensiva. Retrograbado: llamado WRITE-BACK se basa en que toda escritura de porciones de mp que están en cache se haga únicamente en cache, para tener en cuenta que bloques han sido alterados en cache se utiliza el bit de validación o dirty bit. Niveles jerárquicos cache: memoria cache nivel 1, la mas cercana a la UCP, se asemeja al modelo de Harvard en la organización de este nivel, datos e instrucciones en diferentes espacios físicos de memoria. Nivel 2, se coloca entre L1 y MP, no esta dividida en dos partes pero si en procesadores multinucleo, puede ser dedicada o compartida. Nivel 3: En procesadores de multiples nucleos poseen un nivel mas de cache entre l2 y MP.