You are on page 1of 18

MEMORIA CACHE 1.

Memoria Cach
1.1 Definicin
En 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 al acceder 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 de sus 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 de control de la memoria est diseada para aprovechar la localidad de referencia. El espacio que 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, el contenido del bloque completo de memoria principal que contiene la direccin especificada se transfiere a la cache. Posteriormente cuando el programa referencia cualquiera de las direcciones del bloque, el contenido correspondiente se lee directamente de la cache (solamente la palabra o parte de la palabra referenciada, no el bloque completo). Cuando la CPU intenta leer una palabra de memoria principal, se le presenta la direccin a la memoria cache y esta comprueba si tiene el dato correspondiente a esa direccin. Si es

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

1.3 Estructura
Sabemos que la memoria principal est formada por un mximo de 2 n celdas direccionables, cada una con una nica direccin de n bits. Desde el punto de vista de la cache, esta misma memoria principal se considera formada por M bloques de K celdas cada uno; es decir, por 2n/K bloques. La cache por su parte, est formada por C entradas de K celdas cada una, tal que el nmero de entradas de la cache es mucho menor que el numero de bloques de la memoria principal. Cuando se lee una celda de un bloque de memoria, ese bloque 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 la cache no puede estar permanentemente dedicada a un bloque concreto de la memoria principal. Por esto, cada entrada de la cache tiene una etiqueta que identifica al bloque que tiene cargado en ese momento. Una etiqueta es algo que diferencia a todos los bloques que pueden estar en una misma lnea. Como veremos, esta etiqueta suele estar formada por los bits 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 est ocupada por algn bloque (entrada valida) o todava no se ha encargado con ningn bloque desde 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:

1.4 Tamao de la cache


Ya hemos comentado que nos gustara que el tamao de la cache fuera lo suficientemente pequeo como para que el coste medio por bit de memoria total) cache mas memoria principal) fuera muy cercana al de la memoria principal, y lo suficientemente grande como para que el tiempo medio de acceso a memoria fuera casi el mismo que el tiempo de acceso a la cache. Cuanto ms grande sea la cache, mayor es el nmero de puertas necesarias para su direccionamiento, por lo que las grandes caches tienden a ser ligeramente ms lentas que las pequeas. Las prestaciones de la cache dependen mucho de las caractersticas del programa en ejecucin, por lo que no se puede establecer un tamao optimo, aunque algunos estudios estadsticos 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 el ncleo, es algo ms lenta que la cach L1. La cach L2 suele ser mayor que la cach L1, pudiendo llegar a superar los 2MB. Utilizacin est ms encaminada a programas que al sistema. Cach de 3er nivel (L3): Es un tipo de memoria cach ms lenta que la L2, muy poco utilizada en la actualidad, muy superior a la RAM. Los microprocesadores actuales, como Pentium e itanium, tienen 2 o tres niveles de cache. 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.

1.5 Poltica de escritura

Determina la forma de actualizar la Memoria principal cuando se realizan operaciones de escritura. El problema de coherencia de las caches depende de la poltica de escritura o actualizacin que se utilice. ESCRITURA INMEDIATA: Todas las operaciones de escritura se hacen tanto en la cach como en la memoria principal 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 puede disminuir el rendimiento. ESCRITURA RETARDADA: Cada bloque de la cach posee un bit de actualizacin que se inicializa en 0 cuando 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 principal slo si el bit de actualizacin es 1.

1.6 Poltica de Remplazo


Poltica de reemplazo Determina qu bloque de memoria cache debe abandonarla cuando no existe espacio disponible para un bloque entrante. Bsicamente hay cuatro polticas que son: LRU (Less Recently Used) FIFO (First In First Out) LFU (Less Frequently Used) Random a) LRU: El algoritmo LRU toma su nombre de Less Recently Used (Menos recientemente usada) y parte de la suposicin de que los bloques ms usados seguirn usndose en un futuro cercano.

Esta suposicin implica que los bloques menos usados tienen menos probabilidad de usarse en un futuro cercano. El algoritmo se encarga de desalojar de la memoria cach aquel bloque que lleve ms tiempo sin usarse. Para poder utilizar este algoritmo la cach ha de almacenar para cada bloque una referencia de tiempo indicando su ltimo uso. b) FIFO: El algoritmo FIFO toma su nombre de First In First Out (El primero en entrar es el primero en salir). El algoritmo crea una lista de la secuencia de la entrada de los bloques a la memoria cach, desalojando la entrada ms antigua de esta lista cuando haya que realizar un reemplazo. Cuidado, no se reemplaza aquella entrada cuyo uso sea el ms antiguo, eso seria LRU, si no aquella que lleva mas tiempo en la cach. c) LFU: El algoritmo LFU toma su nombre de Less Frecuently Used (Menos frecuentemente usada). Este algoritmo sustituye aquella entrada que haya experimentado 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 contador es el ms bajo. d) RANDOM: El algoritmo Random toma su nombre de la funcin aleatoria que utiliza para realizar la seleccin de la entrada a sustituir. Diferentes estudios han mostrado que la sustitucin aleatoria proporciona un rendimiento ligeramente menor a cualquiera de los algoritmos de reemplazo vistos con anterioridad.

2. Mapeos 2.1Definicin:
Al pasar los datos desde la memoria principal a la memoria cach estos se traen por bloques. El motivo de llevar los datos por bloques se debe a que, por ejemplo, si el procesador pide el dato de la direccin n entonces es muy probable que despus pida el dato de la direccin n+1, por lo tanto, se ahorra tiempo al llevar los datos por bloques a la cach. Por otro lado la memoria cach es de poca capacidad, en relacin con la memoria principal, por lo tanto cobra importancia el tema de que y como poner datos en la memoria cach. Es necesario entonces contar con un proceso de conversin de las direcciones, que se llama mapeo. Mapeo Directo. Mapeo Asociativo (totalmente asociativo) Mapeo Asociativo por conjunto.

a) Mapeo Directo: Cada bloque, j, de la memoria principal se corresponde con una nica lnea, i, de la memoria cach: i = j modulo(C) Los bits de direcciones se dividen
inicialmente en dos partes: - Los w bits menos significativos identifican la palabra dentro del bloque. - Los s bits ms significativos restantes identifican el bloque de memoria. A su vez, de los s bits de bloque se obtienen: Un nmero de lnea (o slot), i, de la cach de r bits, siendo r el Exponente de C (en binario): C = 2r Los (s-r) bits restantes han de guardarse en la cach (bits de Tag) asociados a cada lnea, i, y adicionales a ella para completar la direccin. As, el tamao real de la cach es 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 = 24 2 = 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 usan para 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 produjo el 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 produjo el 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)

b) Mapeo o traduccin de direcciones: Para poder ejecutar instrucciones, y no sabemos


en qu parte de la memoria estn cargadas, debemos tener un mecanismo de traduccin de direcciones 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, al paginar al proceso. De esta manera, puede buscarse el inicio de una pgina en memoria, sumarle el desplazamiento 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 compuesto por cierto nmero de pginas. Es decir, el tamao del segmento es un mltiplo del tamao de pgina.

Este mismo mecanismo paginacin/segmentacin.

de

traduccin

de

direcciones

virtuales

puede

aplicarse

en

Este mapeo debe efectuarse siempre, instruccin por instruccin ejecutada. Por ello, entre ms rpido sea el mecanismo, mejor. Existe una manera de mejorar dicho mecanismo mediante hardware. Una memoria asociativa es muy cara, pero permite buscar en toda la memoria en un mismo pulso de reloj. Implementando memoria asociativa, podemos traducir direcciones para pginas o segmentos.

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

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 y datos. En estos casos, el sistema operativo maneja un mecanismo adicional de comparticin. Aqu, deber verificarse que se tenga acceso permitido a la pgina o segmento que se desea accesar. Adicionalmente, se pueden tener varios tipos de accesos permitidos (Read, Write, Append, eXecute) como en UNIX. En el siguiente diagrama se muestra cmo se maneja dicha comparticin.

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

3. Optimizacin de las Prestaciones.


Al hablar de optimizacin, estamos hablando en realidad del rendimiento de la memoria cach, a mejorar su velocidad de procesamiento y ejecucin.

3.1 Factores 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 del bloque se lleva (en paralelo) a la CPU, el tiempo de acceso a memoria durante la ejecucin de 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

El tiempo de acceso a un bloque de Mp, Tp, constituye la componente principal del tiempo total 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 la palabra referenciada de Mc y se lleva a la CPU, el tiempo de acceso a memoria durante la ejecucin de un programa ser :

Tacceso = Nr * Tc + Nf * Tp y Tacceso_medio = Tacceso/ Nr = Tc + Tf*Tp En este caso Tacierto = Tc


De cualquiera de las expresiones anteriores podemos deducir que para mejorar el rendimiento de una cach, podemos actuar sobre tres trminos, dando lugar a tres tipos de optimizaciones: Reduccin de la tasa de fallos, Tf Reduccin de la penalizacin de los fallos, Tp Reduccin del tiempo de acierto, Tacierto

3.2 Reduccin de la tasa de fallos


La tasa de fallos podemos reducirla con las siguientes alternativas: a) Aumento del tamao del bloque Al aumentar el tamao de bloque disminuye la tasa de fallos inciales (forzosos) porque mejora la localidad espacial. Sin embargo con el aumento del tamao de bloque aumenta la penalizacin de fallos, ya que el tiempo de lectura y transmisin sern mayores si los bloques son mayores.

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 reemplazamiento Espacio de reemplazamiento. Directo: trivial; Asociativo: toda la cache; Asociativo por conjuntos: 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 escritura Una cach de escritura directa (writre throuhg) mejora el rendimiento, utilizando un buffer de escritura de tamao apropiado. Sin embargo, esto complica los accesos a memoria debido a que el buffer en un momento determinado puede contener an el valor actualizado (escrito) de una posicin que debera estar en Mp para servir un fallo de lectura.

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

Cuando se ejecuta (1) se lleva <R3> 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 pertenece 512 se encuentra en Mc). Cuando se ejecuta (2) se produce un fallo de lectura y se sustituye en Mc el bloque al que pertenece 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 bloque al 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 de lectura, pues los datos empricos demuestran que la espera sistemtica a que el buffer se vace para servir un fallo de lectura puede penalizar estos fallos por un factor de 1.5. Por ello 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 de si el buffer contiene la posicin 512, y continuar si el resultado es falso. b) Utilizacin de sub-bloques dentro de un bloque La utilizacin de bloques de gran tamao no solo disminuyen la tasa de fallos sino que reduce el espacio de memoria cach dedicado al directorio (almacenamiento de las etiquetas de los bloques residentes en una lnea). Sin embargo, bloques grandes aumentan la penalizacin por fallos debido al aumento de la cantidad de datos que se deben transferir en el servicio de cada fallo. Una forma de disminuir la penalizacin por fallos sin modificar los otros factores positivos consiste en dividir el bloque en sub-bloques y asociar un bit de validez a cada sub-bloque. De esta forma, cuando se produzca un fallo, no ser necesario actualizar

ms que el sub-bloque que contiene la palabra referenciada. Esta alternativa hace que no slo haya que comprobar si el bloque est en la cach comparando etiquetas, sino que habr que asegurar que el sub-bloque que contiene la palabra referenciada es un sub-bloque vlido, es decir, con datos actualizados. Tambin podemos ver esta alternativa de diseo como una forma de economizar informacin 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 de actualizacin cuando el grupo est en Mc. En la siguiente figura se muestra un esquema de 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 la penalizacin por fallo consiste en disminuir el tiempo de acceso a Mp utilizando el mismo mecanismo cach, es decir, utilizando una cach intermedia o de segundo nivel (L2) entre Mc (L1) y Mp.

CPU

Tiempo_acceso_medio = Tiempo_acierto N1 + Tasa_fallos N1 * Penalizacin_fallos N1 Penalizacin_fallosN1 = Tiempo_acierto N2 + Tasa_fallos N2 * Penalizacin_fallos N2

Cuando tenemos varios niveles de cachs hay que diferenciar entre la tasa de fallos local y la global: Tasa_fallos_local = n de fallos / n de accesos a la cach Tasa_fallos_global = n de fallos / n total de accesos realizados por la CPU
En general se cumple: Tasa_fallos_local Tasa_fallos_global Y en particular: Tasa_fallos_localN1 = Tasa_fallos_globalN1 Tasa_fallos_localN2 > Tasa_fallos_globalN2 Ejemplo: 1000 referencias a un sistema de cah de dos niveles 40 fallos se producen en N1 20 fallos se producen en N2 Tasa_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 escritura Los 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 la direccin 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. Es decir, segmentar (pipe-line) la escritura sobre Mc. De esta forma se aceleran los aciertos de escritura.

4. Memoria principal
3.1 Definicin: La funcin de la memoria principal es almacenar datos e instrucciones de programa de forma temporal. Es estacin obligada en todas las operaciones de entrada y salida y, por supuesto, de los resultados parciales o finales del proceso. La memoria est estructurada en forma de una coleccin de celdas, en cada una de las cuales cabe una unidad especfica de informacin: octetos o palabras. El contenido de cada una de las posiciones de memoria podr ser bien dato o instruccin. Cada celda tiene asignada una posicin relativa con respecto a un origen, cuyo valor numrico constituye la direccin 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 datos deben mantenerse en registros durante ese tiempo. En la memoria nos encontramos con: Registro de direccin de memoria en la que almacena temporalmente la direccin sobre la que efecta la seleccin. Registro de Informacin de memoria en donde se almacena el dato durante las fases de 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 posiciones que 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, el tamao de la palabra es mltiplo del byte, ya que de esta forma el acceso a la misma puede hacerse desde uno al ancho mximo del bus de datos, ahorrando en muchos casos tiempo. As tendremos palabras de 8, 16, 32, 64 bits y capacidades de siempre medidas en potencia de dos: 8, 16, 64, 128 K... etc(siendo 1K igual a 1025). Tiempo de Acceso. Es el tiempo que invierte el ordenador desde que se emite la orden de lectura-escritura, hasta que finaliza la misma. Este tiempo es muy pequeo, y de el depende la potencia del ordenado. Son tpicos tiempos del orden de 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 ancho del 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 con una serie de programas. El software de la ROM se divide en dos partes:

Rutina de arranque o POST (Power On Self Test, auto diagnstico de encendido). Realiza el chequeo de los componentes de la computadora; por ejemplo, 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 de configuracin, el SETUP, lee una memoria llamada CMOS RAM (RAM de Semiconductor de xido metlico). sta puede mantener su contenido durante varios aos, aunque la computadora est apagada, con muy poca energa elctrica suministrada por una batera, guarda la fecha, hora, la memoria disponible, capacidad de disco rgido, si tiene disquetera o no. Se encarga en el siguiente 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.), donde hay un programa que carga el sistema operativo a la RAM. A continuacin cede el control a dicho sistema operativo y el computador queda listo para trabajar. Rutina BIOS o Sistema Bsico de Entrada-Salida (Basic Input-Output System): permanece activa mientras se est usando el computador. Permite la activacin de los perifricos de entrada/salida: teclado, monitor, ratn, etc. Rutina Setup Etapa primario en la que se pueden modificar opciones bsicas como el horario. Es indiferente al Sistema operativo y se inicia antes de Iniciar sesin.

b) RAM o memoria de acceso aleatorio (Random Access Memory). Es la memoria del usuario que contiene de forma temporal el programa, los datos y los resultados que estn 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 resultados en 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 chip o circuito integrado es una pequea pastilla de material semiconductor (silicio) que contiene mltiples 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 una tarjeta 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) con carga elctrica. A cada uno de estos estados se le llama bit, que es la unidad mnima de almacenamiento de datos. El microprocesador direcciona las posiciones de la RAM para poder acceder a los datos almacenados en ellas y para colocar los resultados de las operaciones.

Al "bloque de MP", suele llamarse memoria RAM, por ser ste el tipo de chips de memoria que conforman el bloque, pero se le asocian tambin el chip CMOS, que almacena al programa BIOS del sistema y los dispositivos perifricos de la memoria secundaria (discos y otros perifricos), para conformar el sub-sistema de memoria del computador. Los bloques RAM, los ROM y las memorias de almacenamiento secundario conforman el subsistema 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 se puede enviar a travs de una conexin de red en un perodo de tiempo dado. El ancho de banda se indica generalmente en bites por segundo (BPS), kilobytes por segundo (kbps), o megabytes por segundo (mbps). En las redes de ordenadores, el ancho de banda a menudo se utiliza como sinnimo para la tasa 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 expresa generalmente en bits (de datos) por segundo (bps). En ocasiones, se expresa como bytes por segundo (Bps). Un mdem que funciona a 57.600 bps tiene dos veces el ancho de banda de un mdem que funcione a 28.800 bps. En general, una conexin con ancho de banda alto es aquella que puede llevar la suficiente informacin como para sostener la sucesin de imgenes en una presentacin de video. Debe recordarse que una comunicacin consiste generalmente en una sucesin de conexiones, cada una con su propio ancho de banda. Si una de estas conexiones es mucho ms lenta que el resto actuar como cuello de botella enlenteciendo la comunicacin.

You might also like