Trabajo Memoria Caché

download Trabajo Memoria Caché

of 18

Transcript of Trabajo Memoria Caché

  • 8/22/2019 Trabajo Memoria Cach

    1/18

    MEMORIA CACHE

    1. Memoria Cach1.1DefinicinEn este captulo vamos a ocuparnos de la memoria cache. Comenzaremos por ver como

    una memoria tan pequea (en comparacin con la memoria principal) puede ser tan til.El trmino Cach proviene de un vocablo francs que significa oculto.La razn fundamental de la aparicin de la memoria cach es la alta latencia que sufrimos alacceder a la informacin alojada en la memoria.

    Latencia: es el retraso entre el momento en que se inicia algo, y el momento en que uno desus efectos comienza.El objetivo de la memoria cach es reducir el tiempo de latencia en los accesos a memoria.La memoria cach es una memoria intermedia de pequeo tamao y muy rpido acceso,gestionada por hardware, que se encuentra entre la CPU y la memoria principal.

    1.2 Funcionamiento:Conceptualmente el funcionamiento de una memoria cache es muy simple. La circuitera decontrol de la memoria est diseada para aprovechar la localidad de referencia. El espacioque tiene una cache para albergar un bloque de memoria principal se denomina lnea.

    Como se muestra en la figura, cuando se recibe una peticin de lectura de la CPU, elcontenido del bloque completo de memoria principal que contiene la direccin especificadase transfiere a la cache.

    Posteriormente cuando el programa referencia cualquiera de las direcciones del bloque, elcontenido correspondiente se lee directamente de la cache (solamente la palabra o parte dela palabra referenciada, no el bloque completo).Cuando la CPU intenta leer una palabra de memoria principal, se le presenta la direccin ala memoria cache y esta comprueba si tiene el dato correspondiente a esa direccin. Si es

  • 8/22/2019 Trabajo Memoria Cach

    2/18

    as, entrega el dato; si no, se produce una falta de cache, con lo que hay que acudir a lamemoria principal para leer un bloque de varias palabras adyacentes en memoria.

    1.3 EstructuraSabemos que la memoria principal est formada por un mximo de 2n celdasdireccionables, cada una con una nica direccin de n bits. Desde el punto de vista de lacache, esta misma memoria principal se considera formada por M bloques de K celdas cadauno; es decir, por 2n/K bloques. La cache por su parte, est formada por C entradas de Kceldas cada una, tal que el nmero de entradas de la cache es mucho menor que el numerode bloques de la memoria principal. Cuando se lee una celda de un bloque de memoria, esebloque se transfiere a la cache, por lo que en un momento dado, la cache est cargada con

    un subconjunto de los bloques de memoria.

    Ya que hay mas bloques de memoria que entradas o lneas en la cache, cada entrada de lacache no puede estar permanentemente dedicada a un bloque concreto de la memoriaprincipal. Por esto, cada entrada de la cache tiene una etiqueta que identifica al bloque quetiene cargado en ese momento. Una etiqueta es algo que diferencia a todos los bloques quepueden estar en una misma lnea. Como veremos, esta etiqueta suele estar formada por losbits ms significativos de la direccin del bloque en memoria principal.

    Cada entrada de la cache tambin debe disponer de un bit V que indique si esta entrada estocupada por algn bloque (entrada valida) o todava no se ha encargado con ningn bloquedesde que se arranco la maquina. Este bit se pone a cero en la inicializacin de la cache, y

    se activa cuando se trae un bloque a la lnea por primera vez.Tamao:

  • 8/22/2019 Trabajo Memoria Cach

    3/18

    1.4 Tamao de la cacheYa hemos comentado que nos gustara que el tamao de la cache fuera lo suficientementepequeo como para que el coste medio por bit de memoria total) cache mas memoriaprincipal) fuera muy cercana al de la memoria principal, y lo suficientemente grande comopara que el tiempo medio de acceso a memoria fuera casi el mismo que el tiempo de accesoa la cache. Cuanto ms grande sea la cache, mayor es el nmero de puertas necesarias parasu direccionamiento, por lo que las grandes caches tienden a ser ligeramente ms lentas quelas pequeas.

    Las prestaciones de la cache dependen mucho de las caractersticas del programa enejecucin, por lo que no se puede establecer un tamao optimo, aunque algunos estudiosestadsticos sugieren que el tamao optimo de la cache debe estar entre 1 y 512 Kbytes.

    1.4.1 Niveles de Memoria Cache Cach de 1er nivel (L1): Iintegrada en el ncleo del microprocesador, trabajando a

    la misma velocidad que este. La cantidad de memoria cach L1 varia de un a otro,estando normalmente entra los 64KB y los 256KB.

    Cach de 2 nivel (L2): Integrada en el microprocesador, no directamente en elncleo, es algo ms lenta que la cach L1. La cach L2 suele ser mayor que lacach L1, pudiendo llegar a superar los 2MB. Utilizacin est ms encaminada aprogramas que al sistema.

    Cach de 3er nivel (L3): Es un tipo de memoria cach ms lenta que la L2, muypoco utilizada en la actualidad, muy superior a la RAM.Los microprocesadores actuales, como Pentium e itanium, tienen 2 o tres niveles decache. La de nivel 1 es de orden de 32 Kbytes; la de nivel 2, de uno o dos MBytes;y la de nivel 3, de 6 a 24 MBytes.

  • 8/22/2019 Trabajo Memoria Cach

    4/18

    1.5 Poltica de escritura

    Determina la forma de actualizar la Memoria principal cuando se realizan operaciones deescritura. El problema de coherencia de las caches depende de la poltica de escritura oactualizacin que se utilice.

    ESCRITURA INMEDIATA:Todas las operaciones de escritura se hacen tanto en la cach como en la memoriaprincipal inmediatamente.As se asegura que el contenido de la memoria principal sea siempre vlido.Desventaja: se genera un trfico de sustancial a la memoria principal que puededisminuir el rendimiento.

    ESCRITURA RETARDADA:Cada bloque de la cach posee un bit de actualizacin que se inicializa en 0cuando se carga un bloque nuevo en la cach.Cada vez que se escriba en el bloque el bit de actualizacin se pone en 1. Cuando se desee reemplazar el bloque, el bloque se copia a la memoria principalslo si el bit de actualizacin es 1.

    1.6 Poltica de RemplazoPoltica de reemplazo Determina qu bloque de memoria cache debe abandonarla cuandono existe espacio disponible para un bloque entrante. Bsicamente hay cuatro polticas queson:

    LRU (Less Recently Used) FIFO (First In First Out) LFU (Less Frequently Used) Randoma) LRU: El algoritmo LRU toma su nombre de Less Recently Used (Menos

    recientemente usada) y parte de la suposicin de que los bloques ms usadosseguirn usndose en un futuro cercano.

  • 8/22/2019 Trabajo Memoria Cach

    5/18

    Esta suposicin implica que los bloques menos usados tienen menos probabilidadde usarse en un futuro cercano.El algoritmo se encarga de desalojar de la memoria cach aquel bloque que llevems tiempo sin usarse.Para poder utilizar este algoritmo la cach ha de almacenar para cada bloque unareferencia de tiempo indicando su ltimo uso.

    b) FIFO: El algoritmo FIFO toma su nombre de First In First Out (El primero enentrar es el primero en salir). El algoritmo crea una lista de la secuencia de laentrada de los bloques a la memoria cach, desalojando la entrada ms antigua deesta lista cuando haya que realizar un reemplazo. Cuidado, no se reemplaza aquellaentrada cuyo uso sea el ms antiguo, eso seria LRU, si no aquella que lleva mastiempo en la cach.

    c) LFU: El algoritmo LFU toma su nombre de Less Frecuently Used (Menosfrecuentemente usada). Este algoritmo sustituye aquella entrada que hayaexperimentado menos referencias.Para utilizar este algoritmo la cach ha de guardar un contador por cada bloque que

    indique las veces que ha sido referenciado, sustituyendo la entrada cuyo contadores el ms bajo.

    d) RANDOM: El algoritmo Random toma su nombre de la funcin aleatoria queutiliza para realizar la seleccin de la entrada a sustituir.Diferentes estudios han mostrado que la sustitucin aleatoria proporciona unrendimiento ligeramente menor a cualquiera de los algoritmos de reemplazo vistoscon anterioridad.

    2. Mapeos2.1Definicin:

    Al pasar los datos desde la memoria principal a la memoria cach estos se traenpor bloques. El motivo de llevar los datos por bloques se debe a que, por ejemplo, siel procesador pide el dato de la direccin n entonces es muy probable que despuspida el dato de la direccin n+1, por lo tanto, se ahorra tiempo al llevar los datospor bloques a la cach. Por otro lado la memoria cach es de poca capacidad, enrelacin con la memoria principal, por lo tanto cobra importancia el tema de que ycomo poner datos en la memoria cach. Es necesario entonces contar con unproceso de conversin de las direcciones, que se llama mapeo.

    Mapeo Directo. Mapeo Asociativo (totalmente asociativo) Mapeo Asociativo por conjunto.

  • 8/22/2019 Trabajo Memoria Cach

    6/18

    a) Mapeo Directo: Cada bloque, j, de la memoria principal se corresponde con una nicalnea, i, de la memoria cach: i = j modulo(C) Los bits de direcciones se divideninicialmente en dos partes:- Los wbits menos significativos identifican la palabra dentro del bloque.- Lossbits ms significativos restantes identifican el bloque de memoria.A su vez, de lossbits de bloque se obtienen:

    - Un nmero de lnea (o slot), i, de la cach de rbits, siendo rel Exponente de C (enbinario):

    C = 2rLos (s-r) bits restantes han de guardarse en la cach (bits de Tag) asociados a cadalnea, i, y adicionales a ella para completar la direccin. As, el tamao real de la caches superior a Sc, pues estos bits de Tag han de estar en cada lnea.

    Ejemplo de mapeo directo

    24 bits de direcciones, se distribuyen en: w = 2 bits, para identificar cada palabra (byte)dentro del bloque (4 bytes) s = 242 = 22 bits para identificar el bloque.

    De los 22 bits de bloque, dado que la cach tiene C = 2 r = 14 bits de lnea (o slot). (s-r) =(22-14) = 8 bits de Tag.

    El tag est formado por los bits altos de la direccin del dato en memoria que NO se usanpara indexar a la memoria cach.

    En el mapeo directo: No existen dos bloques en la misma lnea con el mismo Tag.

    Aprovechar la localidad espacial:

    Aumentando el tamao del bloque, en caso de fallo se trae no slo la palabra que produjoel fallo, sino tambin las subsiguientes.

    Aprovechar la localidad espacial:

    Aumentando el tamao del bloque, en caso de fallo se trae no slo la palabra que produjoel fallo, sino tambin las subsiguientes.

    Qu cambia?

    En el caso de write miss,

    - hay que leer la lnea de memoria principal: escribir los datos y el tag- Luego, realizar la escritura del dato que provoc el miss

    Escribir tambin memoria principal (o en los buffers)

  • 8/22/2019 Trabajo Memoria Cach

    7/18

    b) Mapeo o traduccin de direcciones: Para poder ejecutar instrucciones, y no sabemosen qu parte de la memoria estn cargadas, debemos tener un mecanismo de traduccin dedirecciones virtuales a reales. Para ello, se necesitan dos cosas.- Primero, el compilador manejar una direccin base ms un desplazamiento al referirse

    a las instrucciones.

    - Segundo, el sistema operativo asignar como direccin base el nmero de pgina, alpaginar al proceso.De esta manera, puede buscarse el inicio de una pgina en memoria, sumarle eldesplazamiento y as obtener la direccin real de una instruccin.

    Existe un esquema adicional, paginacin/segmentacin, que es la combinacin de ambos.La memoria se divide en marcos de pgina, idealmente ms pequeos que el tamao del

    marco de pgina en un sistema de paginacin tradicional. Cada segmento est compuestopor cierto nmero de pginas. Es decir, el tamao del segmento es un mltiplo del tamaode pgina.

  • 8/22/2019 Trabajo Memoria Cach

    8/18

    Este mismo mecanismo de traduccin de direcciones virtuales puede aplicarse enpaginacin/segmentacin.

    Este mapeo debe efectuarse siempre, instruccin por instruccin ejecutada. Por ello, entre msrpido sea el mecanismo, mejor. Existe una manera de mejorar dicho mecanismo mediantehardware. Una memoria asociativa es muy cara, pero permite buscar en toda la memoria en unmismo pulso de reloj. Implementando memoria asociativa, podemos traducir direcciones parapginas o segmentos.

    Sin embargo, el utilizar memoria asociativa implica que el nmero de marcos de pgina y/o elnmero de segmentos, se ve limitado por el tamao de la memoria asociativa. Es decir, no puedehaber ms marcos de pgina que nmero de celdas en la memoria asociativa. Por ello, hay sistemasoperativos que manejan una combinacin de ambos. Se cargan a memoria las pginas/segmentosms utilizados, y la traduccin se utiliza de manera normal. Solamente en aquellos casos en los queno encontrara la pgina/segmento en la memoria asociativa, efectuara la traduccin directa. Paraesa instruccin, hara un doble mapeo. Sin embargo, el principio de localidad nos asegura que estono suceder con frecuencia. A continuacin se muestra el esquema de traduccin asociativa/directapara un sistema de paginacin/segmentacin.

  • 8/22/2019 Trabajo Memoria Cach

    9/18

    En muchas ocasiones, el sistema operativo maneja adicionalmente la comparticin.

    Por ejemplo, en vez de que cada usuario tenga cargada su propio procesador de palabras,

    existe uno solo para todos los usuarios, y lo comparten. Lo mismo sucede con archivos ydatos. En estos casos, el sistema operativo maneja un mecanismo adicional decomparticin. Aqu, deber verificarse que se tenga acceso permitido a la pgina osegmento que se desea accesar. Adicionalmente, se pueden tener varios tipos de accesospermitidos (Read, Write, Append, eXecute) como en UNIX. En el siguiente diagrama semuestra cmo se maneja dicha comparticin.

  • 8/22/2019 Trabajo Memoria Cach

    10/18

    Por ltimo, el siguiente esquema engloba las diferentes partes que interactan a un mismo tiempopara accesar una pgina a memoria.

    3. Optimizacin de las Prestaciones.Al hablar de optimizacin, estamos hablando en realidad del rendimiento de la memoriacach, a mejorar su velocidad de procesamiento y ejecucin.

    3.1Factores que determinan el rendimiento de la memoria cach.Si frente a un fallo, el bloque de Mp se lleva a Mc al tiempo que la palabra referenciada delbloque se lleva (en paralelo) a la CPU, el tiempo de acceso a memoria durante la ejecucinde un programa ser:

    Tacceso = Na * Tc + Nf * Tp

    Donde: Na es el nmero de referencias con acierto Nf es el nmero de referencias con fallo Tc es el tiempo de acceso a una palabra de Mc Tp es el tiempo de acceso a un bloque de Mp

  • 8/22/2019 Trabajo Memoria Cach

    11/18

    El tiempo de acceso a un bloque de Mp, Tp, constituye la componente principal del tiempototal de penalizacin por fallo.

    El tiempo de acceso medio durante la ejecucin del programa valdr:

    Tacceso_medio = Tacceso/ Nr = Ta*Tc + Tf*Tp

    Donde: Ta = Na/Nr es la tasa de aciertos Tf = Na/Nr es la tasa de fallos Nr es el nmero total de referencias a memoria

    A la primera componente se le denomina Tacierto = Ta*Tc

    En cambio, si frente a un fallo, el bloque de Mp se lleva primero a Mc y despus se lee lapalabra referenciada de Mc y se lleva a la CPU, el tiempo de acceso a memoria durante laejecucin de un programa ser :

    Tacceso = Nr * Tc + Nf * Tp yTacceso_medio = Tacceso/ Nr = Tc + Tf*Tp

    En este caso Tacierto = Tc

    De cualquiera de las expresiones anteriores podemos deducir que para mejorar elrendimiento de una cach, podemos actuar sobre tres trminos, dando lugar a tres tipos deoptimizaciones:

    Reduccin de la tasa de fallos, Tf Reduccin de la penalizacin de los fallos, Tp Reduccin del tiempo de acierto, Tacierto

    3.2Reduccin de la tasa de fallosLa tasa de fallos podemos reducirla con las siguientes alternativas:

    a) Aumento del tamao del bloqueAl aumentar el tamao de bloque disminuye la tasa de fallos inciales (forzosos) porquemejora la localidad espacial.Sin embargo con el aumento del tamao de bloque aumenta la penalizacin de fallos, yaque el tiempo de lectura y transmisin sern mayores si los bloques son mayores.

  • 8/22/2019 Trabajo Memoria Cach

    12/18

    b) Aumento de la asociatividad Experimentalmente se comprueba que una cach asociativa por conjuntos de 8

    vas es tan eficiente (tasa de fallos) como una cach completamente asociativa. Una cach de correspondencia directa de tamao N tiene aproximadamente la

    misma tasa de fallos que una asociativa por conjuntos de 2 vas de tamao N/2 Al aumentar la asociatividad se incrementa el ciclo de reloj y por tanto Tacierto

    c) Aumento del tamao de la Mc Obviamente mejora la tasa de fallos (reduccin de fallos de capacidad) Puede empeorar tiempo de acceso, coste y consumo de energa

    d) Seleccin del algoritmo de reemplazamientoEspacio de reemplazamiento. Directo: trivial; Asociativo: toda la cache; Asociativo porconjuntos: las lneas de un conjunto o Algoritmos

    Aleatorio: El bloque reemplazado se escoge aleatoriamente. LRU (Least Recented Used): Se reemplaza el bloque menos recientemente

    usado

    2.3 Reduccin de la penalizacin de fallos

    a) Prioridad a los fallos de lectura frente a los de escrituraUna cach de escritura directa (writre throuhg) mejora el rendimiento, utilizando unbuffer de escritura de tamao apropiado. Sin embargo, esto complica los accesos amemoria debido a que el buffer en un momento determinado puede contener an elvalor actualizado (escrito) de una posicin que debera estar en Mp para servir un fallode lectura.

    Ejemplo: Supongamos que una Mc de correspondencia directa y escritura directa (writethrouhg) hace corresponder los bloques en los que se encuentran las direcciones 512 y1024 sobre la misma lnea de Mc. Supongamos que se ejecuta el siguiente programa:

  • 8/22/2019 Trabajo Memoria Cach

    13/18

    Cuando se ejecuta (1) se lleva al buffer de escritura y a la lnea de Mc a la que

    pertenece la posicin 512 (supuesto acierto de escritura, es decir, el bloque al que pertenece512 se encuentra en Mc).

    Cuando se ejecuta (2) se produce un fallo de lectura y se sustituye en Mc el bloque al quepertenece 512 por el bloque al que pertenece 1024.

    Cuando se ejecuta (3) se vuelve a producir un fallo de lectura para llevar de nuevo el bloqueal que pertenece 512 a Mc, pero es posible que ste no est actualizado por el efecto de (1)si an el contenido del buffer no se ha escrito en Mp

    Este problema de inconsistencia se puede resolver de dos maneras:

    1) Retrasando el servicio del fallo de lectura producido por (3) hasta que el buffer est vaco(todo su contenido se haya reflejado en Mp). Esta solucin penaliza bastante los fallos delectura, pues los datos empricos demuestran que la espera sistemtica a que el buffer sevace para servir un fallo de lectura puede penalizar estos fallos por un factor de 1.5. Porello es recomendable dar prioridad a la lectura (es mucho ms frecuente que la escritura)adoptando la segunda alternativa.

    2) Incorporar al proceso asociado al fallo de lectura producido por (3) la comprobacin desi el buffer contiene la posicin 512, y continuar si el resultado es falso.

    b) Utilizacin de sub-bloques dentro de un bloqueLa utilizacin de bloques de gran tamao no solo disminuyen la tasa de fallos sino quereduce el espacio de memoria cach dedicado al directorio (almacenamiento de lasetiquetas de los bloques residentes en una lnea). Sin embargo, bloques grandesaumentan la penalizacin por fallos debido al aumento de la cantidad de datos que sedeben transferir en el servicio de cada fallo.

    Una forma de disminuir la penalizacin por fallos sin modificar los otros factorespositivos consiste en dividir el bloque en sub-bloques y asociar un bit de validez a cadasub-bloque. De esta forma, cuando se produzca un fallo, no ser necesario actualizar

  • 8/22/2019 Trabajo Memoria Cach

    14/18

    ms que el sub-bloque que contiene la palabra referenciada. Esta alternativa hace queno slo haya que comprobar si el bloque est en la cach comparando etiquetas, sinoque habr que asegurar que el sub-bloque que contiene la palabra referenciada es unsub-bloque vlido, es decir, con datos actualizados.Tambin podemos ver esta alternativa de diseo como una forma de economizarinformacin de directorio asociando una sola etiqueta a un grupo de bloques, e

    indicando con un bit particular asociado a cada bloque (bit de validez) su estado deactualizacin cuando el grupo est en Mc. En la siguiente figura se muestra un esquemade esta alternativa de diseo:

    c)

    Utilizacin de un segundo nivel de cach

    Como los fallos se sirven leyendo bloques de Mp, una alternativa para disminuir lapenalizacin por fallo consiste en disminuir el tiempo de acceso a Mp utilizando elmismo mecanismo cach, es decir, utilizando una cach intermedia o de segundo nivel(L2) entre Mc (L1) y Mp.

    CPU

  • 8/22/2019 Trabajo Memoria Cach

    15/18

    Tiempo_acceso_medio = Ti empo_acierto N1 + Tasa_fal los N1 * Penal izacin_fall os N1Penalizacin_fal losN1 = Tiempo_acierto N2 + Tasa_fal los N2 * Penal izacin_fall os N2

    Cuando tenemos varios niveles de cachs hay que diferenciar entre la tasa de falloslocal y la global:

    Tasa_fall os_local = n de fal los / n de accesos a la cach

    Tasa_fall os_global = n de fall os / n total de accesos realizados por laCPU

    En general se cumple:Tasa_fallos_local Tasa_fallos_global

    Y en particular:Tasa_fall os_localN1 = Tasa_fal los_globalN1Tasa_fall os_localN2 > Tasa_fal los_globalN2

    Ejemplo:

    1000 referencias a un sistema de cah de dos niveles

    40 fallos se producen en N120 fallos se producen en N2Tasa_fallos_localN1 = Tasa_fallos_globalN1 = 40/1000 = 0.04 (4%)Tasa_fallos_localN2 = 20/40 = 0.5 (50%)

    Tasa_fallos_globalN2 = 20/1000 = 0.02 (2%)

    2.4 Reduccin del tiempo de acierto

    El tiempo de acierto podemos optimizarlo (minimizarlo) actuando sobre tres factores:

    a) Cachs pequeas y simples El hardware pequeo acelera la comparacin de etiquetas y por tanto el tiempo de acierto Tambin hace posible su incorporacin al chip de la CPU, eliminando el conexionado externo y

    por tanto el tiempo de acceso desde la CPU

    b) Evitar traduccin de direcciones durante la indexacin de las cachs Utilizacin de direcciones virtuales en las cachs

    c) Escrituras segmentadas para rpidos aciertos de escrituraLos aciertos de lectura son ms rpidos que los de escritura, entre otros motivos porque en los

    primeros se puede leer el dato de Mc al tiempo que se comprueba si su etiqueta coincide con la de ladireccin fsica. Si no coincide se ignora el dato ledo. Esto no es posible en las escrituras, pero s

    podemos simultanear la escritura de un dato con la comparacin de la etiqueta del siguiente. Esdecir, segmentar (pipe-line) la escritura sobre Mc. De esta forma se aceleran los aciertos deescritura.

  • 8/22/2019 Trabajo Memoria Cach

    16/18

    4. Memoria principal3.1 Definicin:

    La funcin de la memoria principal es almacenar datos e instrucciones de programa deforma temporal. Es estacin obligada en todas las operaciones de entrada y salida y, porsupuesto, de los resultados parciales o finales del proceso.

    La memoria est estructurada en forma de una coleccin de celdas, en cada una de lascuales cabe una unidad especfica de informacin: octetos o palabras. El contenido de cadauna de las posiciones de memoria podr ser bien dato o instruccin. Cada celda tieneasignada una posicin relativa con respecto a un origen, cuyo valor numrico constituye ladireccin de la misma y que no se encuentra almacenado en ella.

    Con la misin de garantizar estabilidad y seguridad en las operaciones, la direccin y datosdeben mantenerse en registros durante ese tiempo. En la memoria nos encontramos con:

    Registro de direccin de memoria en la que almacena temporalmente la direccinsobre la que efecta la seleccin.

    Registro de Informacin de memoria en donde se almacena el dato durante las fasesde lectura o escritura en la celda sealada por el registro anterior.

    3.2 Caractersticas de la Memoria

    Las magnitudes importantes que caracterizan la Memoria Central son:

    Capacidad o tamao de la misma. Es decir, el nmero de miles de posicionesque contiene. Normalmente se expresan en K. palabras, aunque en los ordenadores

    personales al ser las palabras de 8 bits se expresan en K-bytes. En la actualidad, eltamao de la palabra es mltiplo del byte, ya que de esta forma el acceso a lamisma puede hacerse desde uno al ancho mximo del bus de datos, ahorrando enmuchos casos tiempo. As tendremos palabras de 8, 16, 32, 64 bits y capacidadesde siempre medidas en potencia de dos: 8, 16, 64, 128 K... etc(siendo 1K igual a1025).

    Tiempo de Acceso. Es el tiempo que invierte el ordenador desde que se emite laorden de lectura-escritura, hasta que finaliza la misma. Este tiempo es muypequeo, y de el depende la potencia del ordenado. Son tpicos tiempos del ordende microsegundos e incluso del orden de 2 a 10 nanosegundos.

    El tamao de la celda define su anchura de palabra, y viene fijado por el anchodel registro de informacin de memoria. Si la palabra interna es superior a la de la

    memoria, necesitara hacer ms de un acceso para conseguir toda la informacin.

    3.3 Tipos

    En las computadoras son utilizados dos tipos:

    a) ROM o memoria de slo lectura (Read Only Memory). Viene grabada de fbrica conuna serie de programas. El software de la ROM se divide en dos partes:

  • 8/22/2019 Trabajo Memoria Cach

    17/18

    - Rutina de arranque o POST (Power On Self Test, auto diagnstico de

    encendido). Realiza el chequeo de los componentes de la computadora; porejemplo, circuitos controladores de video, de acceso a memoria, el teclado,unidades de disco, etc. Se encarga de determinar cul es el hardware que est

    presente y de la puesta a punto de la computadora. Mediante un programa deconfiguracin, el SETUP, lee una memoria llamada CMOS RAM (RAM deSemiconductor de xido metlico). sta puede mantener su contenido durantevarios aos, aunque la computadora est apagada, con muy poca energaelctrica suministrada por una batera, guarda la fecha, hora, la memoriadisponible, capacidad de disco rgido, si tiene disquetera o no. Se encarga en elsiguiente paso de realizar el arranque (booteo): lee un registro de arranque 'BR'(Boot Record) del disco duro o de otra unidad (como CD, USB, etc.), dondehay un programa que carga el sistema operativo a la RAM. A continuacin cedeel control a dicho sistema operativo y el computador queda listo para trabajar.

    - Rutina BIOS o Sistema Bsico de Entrada-Salida (Basic Input-OutputSystem): permanece activa mientras se est usando el computador. Permite laactivacin de los perifricos de entrada/salida: teclado, monitor, ratn, etc.

    Rutina Setup Etapa primario en la que se pueden modificar opciones bsicascomo el horario. Es indiferente al Sistema operativo y se inicia antes de Iniciarsesin.

    b) RAM o memoria de acceso aleatorio (Random Access Memory). Es la memoria delusuario que contiene de forma temporal el programa, los datos y los resultados queestn siendo usados por el usuario del computador. En general es voltil, pierde su

    contenido cuando se apaga el computador, es decir que mantiene los datos y resultadosen tanto el bloque reciba alimentacin elctrica, a excepcin de la CMOS RAM.

    Tanto la RAM como la ROM son circuitos integrados, llamados comnmente chips. El chipo circuito integrado es una pequea pastilla de material semiconductor (silicio) que contienemltiples circuitos integrados, tales como transistores, entre otros dispositivos electrnicos,con los que se realizan numerosas funciones en computadoras y dispositivos electrnicos;que permiten, interrumpen o aumentan el paso de la corriente. Estos chips estn sobre unatarjeta o placa.

    El contenido de las memorias no es otra cosa que dgitos binarios o bits (binary digits), que

    se corresponden con dos estados lgicos: el 0 (cero) sin carga elctrica y el 1 (uno) concarga elctrica. A cada uno de estos estados se le llama bit, que es la unidad mnima dealmacenamiento de datos.

    El microprocesador direcciona las posiciones de la RAM para poder acceder a los datosalmacenados en ellas y para colocar los resultados de las operaciones.

  • 8/22/2019 Trabajo Memoria Cach

    18/18

    Al "bloque de MP", suele llamarse memoria RAM, por ser ste el tipo de chips de memoriaque conforman el bloque, pero se le asocian tambin el chip CMOS, que almacena alprograma BIOS del sistema y los dispositivos perifricos de la memoria secundaria (discosy otros perifricos), para conformar el sub-sistema de memoria del computador.

    Los bloques RAM, los ROM y las memorias de almacenamiento secundario conforman elsubsistema de memoria de una computadora.

    3.4 Ancho de banda

    En conexiones a Internet el ancho de banda es la cantidad de informacin o de datos que sepuede enviar a travs de una conexin de red en un perodo de tiempo dado. El ancho debanda se indica generalmente en bites por segundo (BPS), kilobytes por segundo (kbps), omegabytes por segundo (mbps).

    En las redes de ordenadores, el ancho de banda a menudo se utiliza como sinnimo para latasa de transferencia de datos - la cantidad de datos que se puedan llevar de un punto a otro

    en un perodo dado (generalmente un segundo). Esta clase de ancho de banda se expresageneralmente en bits (de datos) por segundo (bps). En ocasiones, se expresa como bytes porsegundo (Bps). Un mdem que funciona a 57.600 bps tiene dos veces el ancho de banda deun mdem que funcione a 28.800 bps.

    En general, una conexin con ancho de banda alto es aquella que puede llevar la suficienteinformacin como para sostener la sucesin de imgenes en una presentacin de video.

    Debe recordarse que una comunicacin consiste generalmente en una sucesin deconexiones, cada una con su propio ancho de banda. Si una de estas conexiones es muchoms lenta que el resto actuar como cuello de botella enlenteciendo la comunicacin.