12.07.2015 Views

Anexo 2. - Departamento de Tecnología Electrónica

Anexo 2. - Departamento de Tecnología Electrónica

Anexo 2. - Departamento de Tecnología Electrónica

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Sistemas <strong>de</strong> MultiprocesamientoMEMORIASParte 1.- TEORÍA DEL PARALELISMOTema <strong>2.</strong>- ARQUITECTURA BASICA<strong>Anexo</strong> <strong>2.</strong>- MEMORIAS.INDICECapitulo <strong>2.</strong>1.- INTRODUCCION.......................................................................................................................................... 3Capitulo <strong>2.</strong><strong>2.</strong>- EVOLUCION HISTORICA........................................................................................................................... 4Capitulo <strong>2.</strong>3.- CLASIFICACION TECNOLOGICA............................................................................................................. 5Capitulo <strong>2.</strong>4.- CARACTERISTICAS DE LAS MEMORIAS............................................................................................... 5Capitulo <strong>2.</strong>5.- NIVELES DE JERARQUIA .......................................................................................................................... 7Memorias especializadas.................................................................................................................................................. 11Capitulo <strong>2.</strong>6.- UTILIZACION PRACTICA DE LAS MEMORIAS................................................................................... 12Capitulo <strong>2.</strong>7.- FUNDAMENTOS BASICOS DE LAS MEMORIAS ................................................................................. 13Medio ó soporte ............................................................................................................................................................... 14Transductor ...................................................................................................................................................................... 14Mecanismo <strong>de</strong> direccionamiento ..................................................................................................................................... 15Direccionamiento en memorias estáticas o “cableado”. .............................................................................................. 15Direccionamiento en memorias dinámicas y <strong>de</strong> propagación...................................................................................... 18Capitulo <strong>2.</strong>8.- CARACTERISTICAS DE LAS MEMORIAS............................................................................................. 19Duración <strong>de</strong> la información ............................................................................................................................................. 19Memorias permanentes ................................................................................................................................................ 19Memorias volátiles....................................................................................................................................................... 19Memorias <strong>de</strong> lectura <strong>de</strong>structiva .................................................................................................................................. 19Memorias con refresco................................................................................................................................................. 19Modo <strong>de</strong> acceso ............................................................................................................................................................... 20Velocidad......................................................................................................................................................................... 20Capacidad o tamaño......................................................................................................................................................... 21Capitulo <strong>2.</strong>9.- TIPOS DE DISPOSITIVOS DE ALMACENAMIENTO PARA MEMORIA PRINCIPAL ...................... 21MEMORIA DE FERRITA .............................................................................................................................................. 22Funcionamiento <strong>de</strong>l núcleo .......................................................................................................................................... 22Organización <strong>de</strong> las memorias <strong>de</strong> núcleos ................................................................................................................... 23Comparación entre los distintos tipos <strong>de</strong> selección...................................................................................................... 26MEMORIAS DE PELICULA DELGADA Y DE HILO PLATEADO .......................................................................... 27MEMORIAS DE SEMICONDUCTORES...................................................................................................................... 28RAM estáticas.............................................................................................................................................................. 29RAM dinámicas ........................................................................................................................................................... 31Memorias ROM y PROM............................................................................................................................................ 33EPROM y EEROM...................................................................................................................................................... 34LINEAS DE RETARDO ................................................................................................................................................. 35TAMBOR DE SILICIO................................................................................................................................................... 36Memorias asociativas....................................................................................................................................................... 36Capitulo <strong>2.</strong>10.- PRINCIPALES RECURSOS PARA MEJORAR LAS PRESTACIONES DE MEMORIA PRINCIPAL 38MEMORIA VIRTUAL.................................................................................................................................................... 38MEMORIA PAGINADA ................................................................................................................................................ 41Método <strong>de</strong> correspon<strong>de</strong>ncia directa ............................................................................................................................. 41Método <strong>de</strong> correspon<strong>de</strong>ncia asociativa ........................................................................................................................ 43MEMORIA SEGMENTADA.......................................................................................................................................... 44MEMORIA CON SEGMENTOS PAGINADOS............................................................................................................ 46MEMORIA CACHE O INMEDIATA ............................................................................................................................ 50TIPOS DE MEMORIA CACHE ..................................................................................................................................... 50Memorias cache <strong>de</strong> correspon<strong>de</strong>ncia directa................................................................................................................ 51Memoria asociativa completa ...................................................................................................................................... 52Memoria cache <strong>de</strong> asociación <strong>de</strong> conjuntos................................................................................................................. 52Memoria cache <strong>de</strong> correspon<strong>de</strong>ncia vectorizada.......................................................................................................... 52Capitulo <strong>2.</strong>11.- PROTECCION DE LA MEMORIA PRINCIPAL..................................................................................... 52Registros <strong>de</strong> bor<strong>de</strong> ....................................................................................................................................................... 52ETSII – Dpto. Tecnología Electrónica Página: 1 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASCapitulo <strong>2.</strong>1.- INTRODUCCIONLlamaremos memoria a todo dispositivo electrónico capaz <strong>de</strong> almacenar informaciones, <strong>de</strong> tal suerte que elórgano que se sirva <strong>de</strong> él pueda acce<strong>de</strong>r a la información solicitada en cualquier momento.En consecuencia, no consi<strong>de</strong>ramos como memorias las cintas y tarjetas perforadas, pero sí a la cinta magnéticauna vez montada en el dispositivo <strong>de</strong> lectura.La memoria es un bloque fundamental <strong>de</strong>l computador, cuya misión consiste en almacenar los datos y lasinstrucciones.La UCP (Unidad Central <strong>de</strong> Proceso), mediante su Unidad <strong>de</strong> Control y con el apoyo <strong>de</strong> los registros <strong>de</strong> trabajo,se encarga <strong>de</strong> buscar las instrucciones y datos en la memoria principal, realizar las operaciones a<strong>de</strong>cuadas con laALU y sacar o introducir información a/<strong>de</strong>s<strong>de</strong> los periféricos exteriores a través <strong>de</strong> los módulos <strong>de</strong> Entrada ySalida.Las transferencias entre bloques <strong>de</strong>l computador se hacen por un conjunto <strong>de</strong> líneas, que reciben el nombre <strong>de</strong>colectores o buses.A veces, la memoria principal no tiene la suficiente capacidad para contener todos los datos e instrucciones, encuyo caso se precisan otras memorias auxiliares o secundarias, que funcionan como periféricos <strong>de</strong>l sistema ycuya información se trasvasa a la memoria principal cuando se necesita.La memoria sólo pue<strong>de</strong> realizar dos operaciones básicas: lectura y escritura.En la lectura, el dispositivo <strong>de</strong> memoria <strong>de</strong>be recibir una dirección <strong>de</strong> la posición <strong>de</strong> la que se quiere extraer lainformación <strong>de</strong>positada previamente.En la escritura, a<strong>de</strong>más <strong>de</strong> la dirección, se <strong>de</strong>be suministrar la información que se <strong>de</strong>sea grabar.La mayoría <strong>de</strong> las memorias sólo son capaces <strong>de</strong> almacenar en sus celdas unPor tanto, se <strong>de</strong>nomina punto <strong>de</strong> memoria al elemento que almacena un bit.bit, puesto a 1 ó 0.ETSII – Dpto. Tecnología Electrónica Página: 3 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASLa implementación práctica, <strong>de</strong> un punto <strong>de</strong> memoria es muy diversa y <strong>de</strong>pen<strong>de</strong> <strong>de</strong> la tecnología <strong>de</strong> fabricación.El punto <strong>de</strong> memoria pue<strong>de</strong> ser perfectamente <strong>de</strong>finido e individualizado en el espacio y constará, a<strong>de</strong>más <strong>de</strong>ldispositivo <strong>de</strong> almacenamiento, <strong>de</strong> los <strong>de</strong> lectura y escritura: es el caso <strong>de</strong>l biestable electrónico (flip-flops) o <strong>de</strong>lnúcleo <strong>de</strong> ferrita.Pue<strong>de</strong> correspon<strong>de</strong>r a una zona <strong>de</strong> una superficie continua, como suce<strong>de</strong> en una cinta magnética.Incluso pue<strong>de</strong> no tener soporte fijo como es el caso <strong>de</strong> un impulso eléctrico que, entre otros, recircula por unalínea <strong>de</strong> retardo cerrada sobre sí misma y como ocurre con las memorias <strong>de</strong> burbujas magnéticas.Capitulo <strong>2.</strong><strong>2.</strong>- EVOLUCION HISTORICAEn los calculadores <strong>de</strong> la década <strong>de</strong> los 30 se emplean tarjetas perforadas como memorias.La dirección <strong>de</strong> las posiciones quedaba <strong>de</strong>terminada por la posición <strong>de</strong> ruedas <strong>de</strong>ntadas.Luego se emplearon relés electromagnéticos.El computador ENIAC utilizaba, en 1946, válvulas electrónicas <strong>de</strong> vacío para construir sus biestables queactuaban como punto <strong>de</strong> memoria. A<strong>de</strong>más, tenía una ROM <strong>de</strong> 4 Kbits construida a base <strong>de</strong> resistencias.Al comienzo <strong>de</strong> la década <strong>de</strong> los 50, se usaron las líneas <strong>de</strong> retardo <strong>de</strong> mercurio con 1 Kbit por línea, comomemoria. Igualmente se empleó el tubo <strong>de</strong> Williams, que tenía una capacidad <strong>de</strong> 1.200 bits y consistía en un tubo<strong>de</strong> rayos catódicos con memoria.El UNIVAC 1 introdujo en 1951 la primera unidad comercial <strong>de</strong> banda magnética, que tenía una capacidad <strong>de</strong> 1,44Mbit y una velocidad <strong>de</strong> 100 pulgadas/s.El primer computador comercial que usó como memoria principal al tambor magnético fue el IBM 650 en 1954.Dicho tambor giraba a 1<strong>2.</strong>500 r.p.m. y tenía una capacidad <strong>de</strong> 120 Kbits.En 1953, el MIT dispuso <strong>de</strong> la primera memoria operativa <strong>de</strong> ferritas, que fue muy popular hasta mediados <strong>de</strong> losaños 70.Fue IBM, en 1968, quien diseñó la primera memoria comercial <strong>de</strong> semiconductores.Tenía una capacidad <strong>de</strong> 64 bits.También, el mo<strong>de</strong>lo 350 <strong>de</strong> IBM en 1956 fue quien utilizó el primer disco con brazo móvil y cabeza flotante.Su capacidad era <strong>de</strong> 40 Mbits y su tiempo <strong>de</strong> acceso, <strong>de</strong> 500 ms.Tecnologías nuevas, como la <strong>de</strong> burbujas magnéticas, efecto Josephson, acoplamiento <strong>de</strong> carga, <strong>de</strong> tipo óptico yotras, compiten en la actualidad por <strong>de</strong>splazar a las memorias <strong>de</strong> semiconductor basadas en silicio, que ya hanalcanzadocapacida<strong>de</strong>s superiores a 1 GB en una pastilla con rapidísimo tiempo <strong>de</strong> acceso y coste razonable.ETSII – Dpto. Tecnología Electrónica Página: 4 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASCapitulo <strong>2.</strong>3.- CLASIFICACION TECNOLOGICAMuy diversos fenómenos físicos pue<strong>de</strong>n utilizarse para realizar el punto <strong>de</strong> memoria.Des<strong>de</strong> este punto <strong>de</strong> vista es posible distinguir tres gran<strong>de</strong>s clases <strong>de</strong> memorias.1. Las memorias estáticas, divisibles en dos grupos:a) las memorias a las que se acce<strong>de</strong> por impulsos eléctricos, como por ejemplo los biestables <strong>de</strong>semiconductores, los núcleos <strong>de</strong> ferrita, las memorias <strong>de</strong> película magnética <strong>de</strong>lgada en la unidadcentral, yb) las memorias a las que se acce<strong>de</strong> por haces luminosos o electrónicos, <strong>de</strong> posible uso en el futuro<strong>2.</strong> Las memorias <strong>de</strong> propagación, en las cuales las discontinuida<strong>de</strong>s físicas se propagan <strong>de</strong> maneracíclica. Citemos las vibraciones electromagnéticas en líneas <strong>de</strong> retardo y las sónicas en las líneasmagnetoestrictivas, que se utilizan en aplicaciones peculiares.Citemos también el <strong>de</strong>splazamiento <strong>de</strong> burbujas magnéticas bajo el efecto <strong>de</strong> un campo rotatorio,fenómeno que pue<strong>de</strong> constituir la base <strong>de</strong> las memorias auxiliares <strong>de</strong>l futuro.3. Las memorias dinámicas, en las cuales se usa <strong>de</strong> la permanencia <strong>de</strong> una superficie magnética, que sehace <strong>de</strong>sfilar ante unas cabezas <strong>de</strong> lectura y escritura, para registrar sobre ella la información.Es el campo <strong>de</strong> las actuales memorias auxiliares: cintas magnéticas, discos y tambores, láminas magnéticas.Capitulo <strong>2.</strong>4.- CARACTERISTICAS DE LAS MEMORIAS‣ Volatilidad.En las memorias estáticas gobernadas por conmutación electrónica, se dice que la informaciónalmacenada es volátil si corre el riesgo <strong>de</strong> verse alterada por un fallo <strong>de</strong> alimentación eléctrica (es el caso<strong>de</strong> las memorias constituidas por biestables electrónicos) y no volátil en el caso contrario (utilización <strong>de</strong>fenómenos magnéticos remanentes, por ejemplo).‣ Lectura y escritura.Son las operaciones básicas <strong>de</strong> las memorias.Se realiza escritura cuando se registran informaciones en la memoria y lectura cuando se extraeninformaciones previamente registradas.La lectura pue<strong>de</strong> ser <strong>de</strong>structiva (la información leída se borra <strong>de</strong> la memoria) o no <strong>de</strong>structiva.La escritura pue<strong>de</strong> exigir o no exigir un borrado previo.Las memorias <strong>de</strong> semiconductores son <strong>de</strong> lectura no <strong>de</strong>structiva y no obligan forzosamente a un borradoprevio a la escritura, mientras que en las memorias <strong>de</strong> núcleos la lectura es <strong>de</strong>structiva y la escritura exigeun borrado previo.‣ Direccionamiento.Para localizar una información <strong>de</strong>ntro <strong>de</strong> una memoria, la computadora <strong>de</strong>be saber dón<strong>de</strong> la ha colocadoanteriormente. Es la función <strong>de</strong>l direccionamiento.En las memorias en que el punto <strong>de</strong> memoria está perfectamente individualizado, el emplazamiento <strong>de</strong> lasinformaciones y, por consiguiente, su dirección exacta, preexiste a toda operación <strong>de</strong> almacenamiento:éste es el caso <strong>de</strong> las memorias <strong>de</strong> núcleos, don<strong>de</strong> cada célula <strong>de</strong> memoria posee su dirección.Por el contrario, en memorias tales como las cintas magnéticas, el emplazamiento <strong>de</strong> las informaciones<strong>de</strong>pen<strong>de</strong> <strong>de</strong> la operación <strong>de</strong> registro <strong>de</strong> las mismas.Una información no es individualmente direccionable y no existe relación entre dirección y emplazamiento.Las informaciones se agrupan por bloques o registros. La dirección <strong>de</strong> la información consta <strong>de</strong> doselementos: el nombre <strong>de</strong>l registro, o indicativo, y el número <strong>de</strong> or<strong>de</strong>n <strong>de</strong> la información <strong>de</strong>ntro <strong>de</strong>l registro.De hecho, no se tiene físicamente acceso más que al conjunto <strong>de</strong>l registro.ETSII – Dpto. Tecnología Electrónica Página: 5 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIAS‣ Modo <strong>de</strong> acceso.En el caso <strong>de</strong> las memorias <strong>de</strong> núcleos, se tiene acceso directamente a cualquier información, cuyadirección sea conocida, en una cantidad <strong>de</strong> tiempo in<strong>de</strong>pendiente <strong>de</strong> dicha dirección.El acceso a este tipo <strong>de</strong> memoria es aleatorio, o directo, o selectivo.Opuestamente, para acce<strong>de</strong>r a una información en cinta magnética, es necesario <strong>de</strong>senrollar la cinta,leyendo los indicativos <strong>de</strong> los registros, hasta encontrar el que se busca. El acceso a la información eneste tipo <strong>de</strong> memoria es secuencial. A título <strong>de</strong> ejemplo, el acceso a ciertos discos con cabezas móviles esselectivo al nivel <strong>de</strong> elección <strong>de</strong> la cabeza y <strong>de</strong> su posicionamiento, o sea al nivel <strong>de</strong> la pista, y secuencialen el interior <strong>de</strong> la pista (figura).A menudo se llaman memorias <strong>de</strong> acceso por bloques a las memorias <strong>de</strong> propagación y las memoriasmagnéticas dinámicas, en las que, para acce<strong>de</strong>r a una información, es preciso esperar a que ésta pasepor el dispositivo <strong>de</strong> lectura/escritura. En estas condiciones, las informaciones no son manipuladasindividualmente, sino bajo el régimen <strong>de</strong> bloques. La utilización <strong>de</strong> una información individual implica unatransferencia previa <strong>de</strong>l bloque a la memoria central.Por lo que respecta a la medida <strong>de</strong> la eficacia operativa, esto nos conduce a distinguir el tiempo <strong>de</strong> accesoa la primera información <strong>de</strong>l bloque, y el caudal <strong>de</strong> las informaciones contenidas en el bloque entre lamemoria auxiliar y la memoria central.‣ Tiempo <strong>de</strong> acceso.Es el tiempo que transcurre entre el instante en que se lanza una operación <strong>de</strong> lectura en memoria y elinstante en que se dispone <strong>de</strong> la primera información buscada.En las memorias estáticas es in<strong>de</strong>pendiente, en general, <strong>de</strong>l emplazamiento <strong>de</strong> las informaciones.Para calcular el tiempo <strong>de</strong> acceso en las memorias magnéticas dinámicas pue<strong>de</strong> <strong>de</strong>spreciarse la duración<strong>de</strong> las conmutaciones electrónicas ante los tiempos <strong>de</strong> posicionamiento. Es así como el tiempo <strong>de</strong> acceso<strong>de</strong> un tambor magnético poseedor <strong>de</strong> una cabeza por pista <strong>de</strong>pen<strong>de</strong> <strong>de</strong> las posiciones relativas <strong>de</strong> lainformación buscada y <strong>de</strong> la información situada en trance <strong>de</strong> lectura o <strong>de</strong> escritura.Iguala, en promedio, a la mitad <strong>de</strong>l tiempo total <strong>de</strong> rotación. El tiempo <strong>de</strong> acceso <strong>de</strong> una pila <strong>de</strong> discos concabezas móviles compren<strong>de</strong> el tiempo <strong>de</strong> posicionamiento <strong>de</strong> las cabezas y el tiempo <strong>de</strong> rotación.La noción <strong>de</strong> tiempo <strong>de</strong> acceso no tiene mucho sentido en lo que atañe a la cinta magnética: pue<strong>de</strong> llegara ser <strong>de</strong> varios minutos en la hipótesis favorable <strong>de</strong> que la cinta esté ya montada en el bobinador.‣ Caudal: así se llama al número máximo <strong>de</strong> informaciones leídas o escritas por unidad <strong>de</strong> tiempo.Para las memorias <strong>de</strong> acceso por bloques se supone que las informaciones están situadas en lugaressucesivos <strong>de</strong> la memoria.El caudal se expresa generalmente en kilo-informaciones o mega-informaciones por segundo.Por ejemplo, podrá hablarse <strong>de</strong> una velocidad <strong>de</strong> transferencia o caudal <strong>de</strong> un mega-octeto por segundo.El caudal <strong>de</strong> un tambor magnético es igual al número <strong>de</strong> palabras por pista dividido por el tiempo <strong>de</strong>rotación. La duración <strong>de</strong> una operación <strong>de</strong> entrada-salida sobre un tambor es la suma <strong>de</strong>l tiempo <strong>de</strong>acceso y <strong>de</strong>l tiempo real <strong>de</strong> transferencia, este último inversamente proporcional al caudal.ETSII – Dpto. Tecnología Electrónica Página: 6 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIAS‣ Capacidad.Es el número <strong>de</strong> informaciones que contiene la memoria.Se hablará, por ejemplo, <strong>de</strong> una memoria <strong>de</strong> núcleos <strong>de</strong> 4.096 palabras, <strong>de</strong> un disco <strong>de</strong> 4 millones <strong>de</strong>octetos. Habida cuenta <strong>de</strong>l direccionamiento binario, las capacida<strong>de</strong>s <strong>de</strong> las memorias se expresanhabitualmente por potencias <strong>de</strong>dos: 1024, 4096, 8192 palabras, etc.‣ Intercambiabilidad.En las memorias magnéticas dinámicas los soportes <strong>de</strong> información son frecuentemente indisociables <strong>de</strong>su unidad <strong>de</strong> explotación, como suce<strong>de</strong> en los tambores o discos <strong>de</strong> cabezas fijas; también pue<strong>de</strong>n serintercambiables, como <strong>de</strong>terminados discos <strong>de</strong> cabezas móviles o como las cintas magnéticas.Capitulo <strong>2.</strong>5.- NIVELES DE JERARQUIALa memoria principal, abastece a la UCP <strong>de</strong> datos e instrucciones.Como la UCP se construye con circuitos integrados rapidísimos, obliga a que la memoria emplee un tiempomínimo en grabar y obtener información.Sin embargo, las memorias rápidas son <strong>de</strong> pequeña capacidad, por lo que existirá un nivel veloz, pero <strong>de</strong> pocotamaño, en el computador, que actúe como memoria principal así como niveles sucesivos <strong>de</strong> menor rapi<strong>de</strong>z ymayor capacidad.La información se <strong>de</strong>posita en uno <strong>de</strong> los niveles <strong>de</strong> acuerdo a su prioridad <strong>de</strong> uso.Así, cuando un programa o unos datos <strong>de</strong> archivo son poco empleados, se almacenan en el nivel inferior máslento y <strong>de</strong> mayor capacidad; si en un momento <strong>de</strong>terminado se necesitan, se trasladan al nivel superior másrápido.A<strong>de</strong>más <strong>de</strong> la velocidad operativa <strong>de</strong> una memoria o tiempo <strong>de</strong> acceso a la información y la capacidad <strong>de</strong>almacenamiento, existe otra propiedad fundamental, que influye en la <strong>de</strong>terminación <strong>de</strong> su nivel jerárquico; setrata <strong>de</strong>l coste/bit.Estas tres características son contrapuestas, es <strong>de</strong>cir, que si se <strong>de</strong>sea un tiempo <strong>de</strong> acceso muy bajo, el coste/bitserá alto y la capacidad o tamaño será bajo.ETSII – Dpto. Tecnología Electrónica Página: 7 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASLa memoria i<strong>de</strong>al <strong>de</strong>be poseer una capacidad elevada junto a un tiempo <strong>de</strong> acceso muy pequeño y un precioreducido. Dichas características, por ahora, son tecnológica y económicamente irreconciliables.ETSII – Dpto. Tecnología Electrónica Página: 8 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASHay que recurrir a una "especialización", usando memorias muy rápidas y <strong>de</strong> pequeña capacidad en aquellaspartes <strong>de</strong>l sistema en las que la velocidad es el factor predominante.Las memorias lentas y <strong>de</strong> gran capacidad se <strong>de</strong>stinarán a las partes don<strong>de</strong> prime o sobresalga el factorcapacidad.Se ha llegado a establecer una jerarquía <strong>de</strong> las memorias, sobre todo a dos niveles:‣ Memoria central relativamente rápida pero <strong>de</strong> capacidad bastante limitada;‣ Memoria auxiliar <strong>de</strong> mucha mayor capacidad pero con un tiempo <strong>de</strong> acceso consi<strong>de</strong>rable.Se pue<strong>de</strong>n distinguir los siguientes niveles jerárquicos:a) Memorias cache o tampón.Son <strong>de</strong> acceso aleatorio, caracterizadas por su elevada eficacia y baja capacidad (16 Kbyte).Se utilizan en las máquinas <strong>de</strong> la tercera generación en funciones <strong>de</strong> memoria local o tampón en la unidadcentral o en los canales.Tecnológicamente, se fabrican con semiconductores generalmente, excepcionalmente con películasmagnéticas finas.Sus tiempos <strong>de</strong> acceso oscilan entre los 20 y los 200 ns.b) Memoria central o principal.De acceso aleatorio puesto que en ella busca la unidad central precisamente la información que necesita,Sin embargo, en la primera generación se utilizaron tambores magnéticos y líneas <strong>de</strong> magnetoestricciónpara estas funciones. También fue el campo predilecto <strong>de</strong> las memorias magnéticas estáticas: memorias<strong>de</strong> núcleos, menos frecuentemente memorias <strong>de</strong> película magnética fina;Hoy, es se comienza a utilizar memorias <strong>de</strong> semiconductores.Capacidad no muy alta (128 KB - 100 MB) y tiempo <strong>de</strong> acceso comprendido entre los 200 ns y los 2 us.Generalmente están fabricadas con semiconductores.Actualmente, la capacidad <strong>de</strong> la memoria central sigue la ley <strong>de</strong> la duplicación cada dos años.c) Memorias intermedias.Suelen ser <strong>de</strong> acceso secuencialEsta primera clase <strong>de</strong> memoria auxiliar incluye memorias <strong>de</strong> capacidad bastante gran<strong>de</strong> (varios millones<strong>de</strong> caracteres, 10 G) con tiempos <strong>de</strong> acceso muy parecidos a los <strong>de</strong> las memorias centrales (variosmicrosegundos a varios ms).Actualmente, las soluciones magnéticas estáticas son las únicas disponibles.Realmente este nivel no se ha extendido mucho y suele ser sustituido por un nivel <strong>de</strong> memoria secundariareferente al disco <strong>de</strong> cabeza fija y <strong>de</strong> uso exclusivo <strong>de</strong>l Sistema Operativo y por el nivel <strong>de</strong> memoriaauxiliar, que incluye a los discos móviles y las cintas.d) Memorias auxiliares.Son memorias <strong>de</strong> acceso selectivo, caracterizadas por capacida<strong>de</strong>s mucho mayores, tiempos <strong>de</strong> accesoconsi<strong>de</strong>rables y gran<strong>de</strong>s velocida<strong>de</strong>s <strong>de</strong> transferencia.Se acce<strong>de</strong> en ellas a bloques <strong>de</strong> información que son transferidos a memoria central para ser utilizadosallí. En el momento presente es campo casi exclusivo <strong>de</strong> las memorias magnéticas dinámicas, cuyo bajocoste por bit autoriza capacida<strong>de</strong>s importantes y cuyo caudal pue<strong>de</strong> alcanzar varios mega-caracteres porsegundo: se distinguen los tambores y discos con cabezas fijas (tiempo <strong>de</strong> acceso <strong>de</strong> 5 a 20 ms), losdiscos con cabezas móviles, frecuentemente intercambiables (tiempo <strong>de</strong> acceso: 50 a 100 ms), lasmemorias con láminas magnéticas (tiempo <strong>de</strong> acceso: 200 a 600 ms).e) Memorias ficheros.Son las cintas magnéticas, caracterizadas por su acceso secuencial, que implica tiempos <strong>de</strong> acceso <strong>de</strong>hasta varios minutos, y por su intercambiabilidad que procura una capacidad casi infinita <strong>de</strong>almacenamiento, pero que implica manipulaciones humanas <strong>de</strong> búsqueda y montaje en los bobinadores.Este carácter <strong>de</strong> intercambiabilidad sirve también para permutar informaciones entre computadores.El caudal <strong>de</strong> las cintas magnéticas pue<strong>de</strong> oscilar entre 15 y 300 kilo-caracteres por segundos.ETSII – Dpto. Tecnología Electrónica Página: 9 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASEn la tabla se recoge una clasificación jerárquica <strong>de</strong> la memoria, junto a sus características más relevantes.Zonas <strong>de</strong> utilización <strong>de</strong> las diferentes clases <strong>de</strong> memorias, habida cuenta <strong>de</strong> las limitaciones tecnológicas y <strong>de</strong> lasconsi<strong>de</strong>raciones <strong>de</strong> precio.ETSII – Dpto. Tecnología Electrónica Página: 10 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASMemorias especializadasDentro <strong>de</strong> esta categoría incluimos aquellas memorias que, por la peculiaridad <strong>de</strong> su funcionamiento, estánabocadas a aplicaciones especiales.Distinguiremos tres tipos: las pilas y colas <strong>de</strong> espera cableadas, las memorias muertas o reinscriptibles, y lasmemorias asociativas.‣ Las pilas y colas <strong>de</strong> espera cableadas.Se caracteriza a menudo por el hecho <strong>de</strong> que ciertas operaciones implican un <strong>de</strong>splazamiento global <strong>de</strong>toda la información contenida en la memoria.Así, por ejemplo, la inserción <strong>de</strong> una información en una pila cableada "empuja" el contenido <strong>de</strong> la pila enun "peldaño" mientras que la extracción "atrae” el contenido <strong>de</strong> la pila en un peldaño.Pue<strong>de</strong>n materializarse tales memorias en pequeña capacidad por medio <strong>de</strong> lógicas celulares a base <strong>de</strong>semiconductores.Las colas <strong>de</strong> espera cableadas se emplean con frecuencia para compensar la diferencia <strong>de</strong> caudal <strong>de</strong> dosórganos entre los que se establece una comunicación. En tales casos, se <strong>de</strong>nominan memorias-tampón.‣ Memorias muertas.Las memorias muertas o memorias <strong>de</strong> sólo lectura son memorias que no pue<strong>de</strong>n operarse más que enlectura.Las memorias reinscriptibles permiten una lectura rápida, pero una reescritura lenta.Se utilizan en el campo <strong>de</strong> la microprogramación.‣ Memorias asociativas.En las memorias <strong>de</strong> acceso aleatorio, se proporciona una dirección y se recupera la información en ellacontenida.Las memorias asociativas, o memorias direccionables por el contenido, respon<strong>de</strong>n al problema siguiente:¿está contenida en la memoria una <strong>de</strong>terirnínada información, llamada <strong>de</strong>scriptor? y, sí está contenida,¿ en que posición?ETSII – Dpto. Tecnología Electrónica Página: 11 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASCapitulo <strong>2.</strong>6.- UTILIZACION PRACTICA DE LAS MEMORIASA nivel <strong>de</strong> sistema, los dispositivos <strong>de</strong> memoria pue<strong>de</strong>n contemplarse como bloques a los que hay que suministraruna dirección y una señal <strong>de</strong> control para especificar la operación que se <strong>de</strong>sea realizar; a<strong>de</strong>más, hay que enviaro recibir el dato o bloque correspondiente.Las memorias <strong>de</strong> acceso aleatorio utilizan acceso individualizado a nivel <strong>de</strong> palabra.Para hacer la conexión con el resto <strong>de</strong>l sistema, se suelen emplear dos registros, uno que almacena la dirección yel otro, el dato a leer o escribir.El registro D <strong>de</strong> direcciones tendrá una longitud d, tal que 2 sea mayor o igual que la capacidad <strong>de</strong> la memoria.El registro M <strong>de</strong> datos tendrá una longitud m igual al tamaño <strong>de</strong> la palabra con que trabaja la memoria.Ambos registros se encuentran conectados a los buses <strong>de</strong>l sistema.Las señales <strong>de</strong> control indicarán a la memoria el tipo <strong>de</strong> operación a realizar, así como el comienzo <strong>de</strong> dichaoperación. La memoria, a su vez, pue<strong>de</strong> generar una señal <strong>de</strong> control <strong>de</strong> fin <strong>de</strong> la operación, muy útil en lasincronización con el sistema.dETSII – Dpto. Tecnología Electrónica Página: 12 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASExiste la posibilidad <strong>de</strong> construir memorias con varias parejas <strong>de</strong> registros D y M, llamadas memoriasmultipuerta.Las memorias <strong>de</strong> acceso aleatorio forman la memoria principal <strong>de</strong>l sistema y su conexión es directa a los buses<strong>de</strong>l mismo.Sin embargo, las memorias dinámicas forman la memoria auxiliar y su conexión se efectúa mediante una unidad<strong>de</strong> intercambio.Capitulo <strong>2.</strong>7.- FUNDAMENTOS BASICOS DE LAS MEMORIASPara que un dispositivo <strong>de</strong> memoria pueda realizar sus funciones principales <strong>de</strong> lectura y escritura, ha <strong>de</strong> disponer<strong>de</strong> tres elementos:1. Medio o soporte:Don<strong>de</strong> se almacenan estados <strong>de</strong> energía diferentes, que codifican la información guardada.<strong>2.</strong> Transductores:Tanto en la lectura como para la escritura, son capaces <strong>de</strong> generar la energía necesaria en la grabación y<strong>de</strong>tectar el estado existente en la lectura.3. Mecanismo <strong>de</strong> direccionamiento:Permite leer y escribir la información en el lugar y tiempos precisos.ETSII – Dpto. Tecnología Electrónica Página: 13 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASMedio ó soportePara que un medio sirva como almacén <strong>de</strong> información, ha <strong>de</strong> presentar, al menos, dos estados estables (osemiestables), que se caractericen por una magnitud física discreta, por ejemplo, el momento magnético, la cargaeléctrica, la corriente, etc.A<strong>de</strong>más, se ha <strong>de</strong> po<strong>de</strong>r pasar <strong>de</strong> un estado a otro mediante la aplicación <strong>de</strong> una señal (energía) externa, y se ha<strong>de</strong> po<strong>de</strong>r <strong>de</strong>tectar el estado existente en un momento <strong>de</strong>terminado. Finalmente, ha <strong>de</strong> ser posible cambiar <strong>de</strong>estado tantas veces como se quiera sin que sufra o se modifique el medio.Los medios o soportes más empleados son los <strong>de</strong> tipo magnético.Se construyen <strong>de</strong> forma que presenten una dirección preferente <strong>de</strong> magnetización, que llamaremos A B.Si se magnetiza mediante un campo externo el medio en el sentido A B, tenemos un estado, mientras que, sise magnetiza en sentido contrario A B, tenemos el otro.Los medios pue<strong>de</strong>n ser discretos o continuos.En el primer caso se emplea un dispositivo físico aislado para almacenar cada bit, mientras que en el segundo sealmacenan unos a continuación <strong>de</strong> otros en el mismo medio, distinguiéndose entre sí por el método <strong>de</strong> escritura.El toro <strong>de</strong> ferrita y el biestable son medios discretos, y la cinta o el disco son medios continuos.En general, los medios discretos son más caros que los continuos, pero requieren unos transductores mássencillos y presentan un direccionamiento más rápido y sencillo.Los medios pue<strong>de</strong>n clasificarse atendiendo al tiempo que la información permanece grabada sobre ellos.Hay tres tipos:1) La información se mantiene <strong>de</strong> forma permanente. Suele ser lo normal en medios magnéticos.Se dice que la memoria es no volátil.2) La información <strong>de</strong>saparece cuando se <strong>de</strong>ja <strong>de</strong> alimentar o suministrar energía a la memoria.Por ejemplo, esto ocurre con las memorias con semiconductores, tipo RAM.Entonces la memoria es volátil.3) La información se va <strong>de</strong>gradando paulatinamente y llega un momento en que no se pue<strong>de</strong> leer.Esto suce<strong>de</strong> con los con<strong>de</strong>nsadores, que, cuando están cargados con una tensión, pue<strong>de</strong>n representar unestado, y <strong>de</strong>scargados, el otro.Sin embargo, los con<strong>de</strong>nsadores, al no ser perfectos, van <strong>de</strong>scargándose hasta que pier<strong>de</strong>n lainformación, Para que estos tipos <strong>de</strong> memoria sean útiles, hay que recargar a todos sus elementosperiódicamente para compensar las pérdidas; esta acción se conoce como refresco.Finalmente, y como ya se ha dicho, hay medios que guardan una equivalencia entre una posición física y un punto<strong>de</strong> memoria, es <strong>de</strong>cir, la información permanece fija en el medio, como en un disco, pero hay otros medios en losque la información se traslada, como en las memorias <strong>de</strong> burbujas magnéticas.TransductorHay transductores <strong>de</strong> lectura y <strong>de</strong> escritura.La función <strong>de</strong> los transductores <strong>de</strong> escritura es suministrar la energía necesaria al medio para que adopte elestado <strong>de</strong>seado.Por otro lado, la función <strong>de</strong> los transductores <strong>de</strong> lectura es <strong>de</strong>tectar las magnitu<strong>de</strong>s físicas para reconocer elestado en que se encuentra el medio.Los transductores suelen ser caros, por lo que se tien<strong>de</strong> a reducir su número, pero <strong>de</strong>be existir un compromisoentre el número <strong>de</strong> transductores y la velocidad <strong>de</strong> la memoria: si hay pocos transductores, la memoria será lenta.Los transductores pue<strong>de</strong>n estar físicamente unidos al medio o pue<strong>de</strong>n ser in<strong>de</strong>pendientes <strong>de</strong> él.En el primer caso, hay un cableado que permite acce<strong>de</strong>r al punto <strong>de</strong> memoria <strong>de</strong>seado.En el segundo, el punto <strong>de</strong> memoria al que se quiere acce<strong>de</strong>r <strong>de</strong>be posicionarse frente al transductor para realizarla operación <strong>de</strong> lectura y escritura.ETSII – Dpto. Tecnología Electrónica Página: 14 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASComo ejemplos <strong>de</strong> estas dos situaciones se pue<strong>de</strong>n citar las memorias <strong>de</strong> ferritas, en la cual los transductoresestán unidos <strong>de</strong> forma fija a las ferritas por conductores eléctricos, y la cinta magnética, en la que se <strong>de</strong>beenfrentar al cabezal <strong>de</strong> lectura/escritura la zona a la que se preten<strong>de</strong> acce<strong>de</strong>r.Reciben el nombre <strong>de</strong> memorias estáticas las que tienen el transductor unido al medio y dinámicas aquéllasen las que <strong>de</strong>be moverse el medio para posicionarse frente al transductor.Los transductores <strong>de</strong> las memorias dinámicas, por lo general, trabajan con unos niveles <strong>de</strong> señal muy bajos, por loque son más caros que los fijos.De todas formas, la relación número <strong>de</strong> bits por sensor es mucho mayor que en las estáticas, en las cuales lostransductores están cableados a unos pocos puntos <strong>de</strong> memoria, por lo que el coste final por bit es mucho menor.Mecanismo <strong>de</strong> direccionamientoSe encarga <strong>de</strong> seleccionar el punto <strong>de</strong> memoria <strong>de</strong>seado.En una memoria estática el mecanismo <strong>de</strong> direccionamiento es inherente a su propia construcción.El conexionado <strong>de</strong> los transductores, junto a la selección <strong>de</strong> estos últimos, específica <strong>de</strong> forma inequívoca elpunto <strong>de</strong> memoria al que se acce<strong>de</strong>. Por este motivo, este tipo <strong>de</strong> memorias reciben la <strong>de</strong>nominación <strong>de</strong>memorias <strong>de</strong> direccionamiento cableado.Por el contrario, en las memorias dinámicas, al estar compartidos los transductores, no existe la mencionadarelación. La selección se consigue mediante la Unidad <strong>de</strong> Control que interpreta una información adicional, que sellama información <strong>de</strong> direccionamiento, y que se almacena junto a los datos.A continuación se presentan los diferentes tipos <strong>de</strong> direccionamientos:Direccionamiento en memorias estáticas o “cableado”.El mecanismo <strong>de</strong> direccionamiento <strong>de</strong> una memoria estática ofrece dos formas típicas llamadas 2D y 3D.mPara analizarlas se consi<strong>de</strong>ra que la memoria tiene 2 palabras <strong>de</strong> n bits cada una.Se <strong>de</strong>sea acce<strong>de</strong>r a los n bits <strong>de</strong> una palabra, cuya dirección precisa <strong>de</strong> m bits para que que<strong>de</strong> <strong>de</strong>finida.Direccionamiento 2D: En este direccionamiento todos lo s bits <strong>de</strong> la misma posición en cada palabra (bits 0, 1,...)están conectados a la misma pareja <strong>de</strong> transductores.Habrá n parejas <strong>de</strong> transductores.mm * 2Para seleccionar la palabra <strong>de</strong>seada se <strong>de</strong>codifican los m bits <strong>de</strong> dirección en un <strong>de</strong>codificador , que tieneuna señal <strong>de</strong> salida individualizada para cada palabra <strong>de</strong> memoria.Se usa la misma conexión para la lectura que para la escritura, bastando activar al transductor correspondientepara <strong>de</strong>finir la operación.ETSII – Dpto. Tecnología Electrónica Página: 15 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASDireccionamiento 3D: Como indica la figura se establecen n planos <strong>de</strong> memoria (uno para cada bit <strong>de</strong> la palabra).Dentro <strong>de</strong> cada plano se selecciona el punto <strong>de</strong> memoria haciendo coincidir las líneas <strong>de</strong> selección X e Y.ETSII – Dpto. Tecnología Electrónica Página: 16 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASmx myLa dirección <strong>de</strong> m bits se divi<strong>de</strong> en dos partes mx y my, que se <strong>de</strong>codifican en dos <strong>de</strong>codificadores <strong>de</strong> 2 y 2 .mx mymx+myLas señales <strong>de</strong> salida 2 + 2 se usan como coor<strong>de</strong>nadas que seleccionan entre las 2m= 2 posiciones<strong>de</strong> cada plano <strong>de</strong> la memoria.Cada plano tiene una pareja <strong>de</strong> transductores <strong>de</strong> lectura y escritura, que están conectados a todos los puntos <strong>de</strong>lplano.La ventaja <strong>de</strong>l método 3D estriba en que dos <strong>de</strong>codificadores <strong>de</strong> mx y my entradas son mucho más sencillos queuno <strong>de</strong> mx+my=m entradas. Como inconveniente, el punto <strong>de</strong> memoria es más complejo, puesto que <strong>de</strong>be sercapaz <strong>de</strong> activarse sólo cuando sus dos líneas x e y estén activas.Direccionamiento 2D1/2: Es un direccionamiento en el que se emplean más transductores que los n necesarios enlos casos anteriores.La selección <strong>de</strong> los puntos <strong>de</strong> memoria se hace mediante la coinci<strong>de</strong>ncia <strong>de</strong> una línea <strong>de</strong> <strong>de</strong>codificación X y laelección <strong>de</strong>l bloque <strong>de</strong> transductores a<strong>de</strong>cuado.ETSII – Dpto. Tecnología Electrónica Página: 17 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASDireccionamiento en memorias dinámicas y <strong>de</strong> propagaciónEn estas memorias hay que añadir una información adicional <strong>de</strong> direccionamiento, que se almacena ocupandoparte <strong>de</strong> los puntos <strong>de</strong> memoria.La técnica más empleada consiste en empaquetar la información en bloques o registros a los que se aña<strong>de</strong> unacabecera, que, entre otras cosas, incluye una i<strong>de</strong>ntificación <strong>de</strong>l bloque o registro.La unidad <strong>de</strong> control <strong>de</strong>l dispositivo <strong>de</strong>berá interpretar este i<strong>de</strong>ntificador para po<strong>de</strong>r seleccionar la posición <strong>de</strong>memoria requerida. Generalmente, estas memorias se usan para seleccionar bloques enteros y no posicionesindividualizadas. Esto significa que la lectura y escritura se hacen a nivel <strong>de</strong> bloque y no <strong>de</strong> palabra.A<strong>de</strong>más, dado que el medio o soporte es continuo, es necesario disponer <strong>de</strong> una señal <strong>de</strong> reloj que permitadiferenciar los puntos <strong>de</strong> memoria consecutivos. Esta señal <strong>de</strong> reloj pue<strong>de</strong> ser externa, pero suele grabarse en elmedio para evitar problemas <strong>de</strong> sincronización.Obsérvese que, a la menor diferencia entre el reloj y la velocidad a la que el medio pasa por <strong>de</strong>lante <strong>de</strong>ltransductor, producirá una interpretación errónea <strong>de</strong> la información, al haberse perdido la sincronización. Si laseñal <strong>de</strong> reloj está grabada, las variaciones <strong>de</strong> velocidad producen una variación idéntica en el reloj, por lo que nose pier<strong>de</strong> el sincronismo.Lo mismo ocurre en las memorias <strong>de</strong> propagación don<strong>de</strong> la velocidad <strong>de</strong> movimiento <strong>de</strong> la información <strong>de</strong>be estarsincronizada con el reloj.Finalmente, se establecen las diferencias entre los dispositivos <strong>de</strong> acceso secuencial, frente a los <strong>de</strong> acceso odireccionamiento directo.En los primeros sólo existe un transductor, por lo que, para acce<strong>de</strong>r a una posición, se <strong>de</strong>be recorrer todo elmedio hasta alcanzar la posición <strong>de</strong>seada. Esto suce<strong>de</strong> con la cinta magnética.En los dispositivos <strong>de</strong> acceso directo hay varios transductores colocados en diversas posiciones, <strong>de</strong> forma que sepue<strong>de</strong> pasar <strong>de</strong> una posición a otra seleccionando el transductor a<strong>de</strong>cuado. Dentro <strong>de</strong> la zona asignada a cadatransductor, el funcionamiento sigue siendo <strong>de</strong> tipo secuencial, pero, al ser menor esta zona, el tiempo perdido enesperar que la posición <strong>de</strong>seada alcance el transductor, es menor que si todo el dispositivo fuese <strong>de</strong> accesosecuencial.Ejemplos <strong>de</strong> memorias dinámicas <strong>de</strong> acceso directo son los discos y los tambores, y <strong>de</strong> memoria <strong>de</strong> propagación<strong>de</strong> acceso directo, las memorias <strong>de</strong> burbujas magnéticas.ETSII – Dpto. Tecnología Electrónica Página: 18 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASCapitulo <strong>2.</strong>8.- CARACTERISTICAS DE LAS MEMORIASSe ofrece un estudio <strong>de</strong>tallado <strong>de</strong> las 4 características que mejor <strong>de</strong>finen y diferencian a los diferentes tipos <strong>de</strong>memorias:- Duración <strong>de</strong> la información.- Modo <strong>de</strong> acceso.- Velocidad.- Capacidad o tamaño.También existen otras propieda<strong>de</strong>s secundarias que, frecuentemente, se <strong>de</strong>ben tener en cuenta como son lapotencia o consumo, el coste, la <strong>de</strong>nsidad <strong>de</strong> bits y las recomendaciones <strong>de</strong> uso, entre otras.Duración <strong>de</strong> la informaciónEn relación con la permanencia <strong>de</strong> la información grabada en las memorias, hay 4 posibilida<strong>de</strong>s:Memorias permanentesSon las que contienen siempre la misma información y no pue<strong>de</strong>n borrarse.La información pue<strong>de</strong> haberse grabado en el proceso <strong>de</strong> fabricación <strong>de</strong> la memoria o pue<strong>de</strong> haberse efectuadoposteriormente en un proceso <strong>de</strong> grabado <strong>de</strong>structivo o permanente.Como ejemplos <strong>de</strong> este tipo <strong>de</strong> memorias se pue<strong>de</strong>n citar las tarjetas y cintas <strong>de</strong> papel perforado y las memorias<strong>de</strong> semiconductores tipo ROM.En contraposición a este tipo <strong>de</strong> memorias <strong>de</strong> sólo lectura, están las <strong>de</strong> lecturaescritura, que pue<strong>de</strong>n grabarsecuantas veces se quiera. Como alternativa intermedia están las memorias que, para borrarse, precisan <strong>de</strong> uncomplejo proceso especial, como las <strong>de</strong> tipo EPROM.Memorias volátiles.Precisan estar continuamente alimentadas <strong>de</strong> energía.Si se corta dicho suministro se borra la información que poseen.En contraposición, están las memorias no volátiles, en las que permanece la información aunque se elimine laalimentación.Memorias <strong>de</strong> lectura <strong>de</strong>structivaSon memorias cuya lectura implica el borrado <strong>de</strong> la información.Para que la información no <strong>de</strong>saparezca, se requiere una escritura, posterior a la lectura, que vuelva a grabar loque se ha leído.El ejemplo clásico <strong>de</strong> este tipo <strong>de</strong> memorias es el <strong>de</strong> ferritas.Entre las memorias <strong>de</strong> lectura no <strong>de</strong>structiva <strong>de</strong>stacan las <strong>de</strong> semiconductores, discos y banda magnética.Memorias con refrescoLa información sólo dura un cierto tiempo.Para que la información no <strong>de</strong>saparezca, hay que re-grabar la información <strong>de</strong> forma periódica (refresco).ETSII – Dpto. Tecnología Electrónica Página: 19 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASModo <strong>de</strong> accesoEl modo <strong>de</strong> acceso <strong>de</strong> las memorias pue<strong>de</strong> ser por palabras o por bloques.En el primer caso, en cada operación <strong>de</strong> lectura o escritura se transmite una sola palabra.En el segundo, cada operación implica un bloque completo <strong>de</strong> información.El acceso por palabra, llamado acceso aleatorio, solamente se emplea en las memorias estáticas, en las que eltiempo para direccionar cualquier punto <strong>de</strong> memoria siempre es el mismo. Por este motivo se suelen <strong>de</strong>nominar alas memorias estáticas, memorias <strong>de</strong> acceso aleatorio o <strong>de</strong> tipo RAM (Random Access Memory).El acceso por bloques se utiliza en memorias dinámicas y <strong>de</strong> propagación.Este acceso tiene su justificación en que estas memorias tardan bastante en alcanzar el punto don<strong>de</strong> estáalmacenado el primer dato <strong>de</strong> un bloque, pero tardan muy poco en acce<strong>de</strong>r a los siguientes. Para obtener un buenrendimiento <strong>de</strong>l dispositivo, conviene acce<strong>de</strong>r en bloques <strong>de</strong> un tamaño <strong>de</strong>terminado, que justifiquen el tiempoperdido en el acceso a la zona <strong>de</strong>l bloque.Los computadores actuales disponen <strong>de</strong> una memoria principal <strong>de</strong> acceso aleatorio y una memoria secundaria <strong>de</strong>acceso por bloques.VelocidadEn términos generales, la velocidad <strong>de</strong> la memoria será el "tiempo que tar<strong>de</strong> en realizar una operación <strong>de</strong> lecturao escritura". Debido a las peculiarida<strong>de</strong>s <strong>de</strong> las memorias, la cuantificación <strong>de</strong> este concepto requiere analizar lostiempos <strong>de</strong> las distintas fases <strong>de</strong> las operaciones <strong>de</strong> lectura y escritura.Se analizan en principio las memorias estáticas o <strong>de</strong> direccionamiento cableado. En ellas, dado que todos lospuntos <strong>de</strong> almacenamiento están cableados <strong>de</strong> forma equivalente, los tiempos son in<strong>de</strong>pendientes <strong>de</strong> la dirección.El tiempo <strong>de</strong> acceso o tiempo <strong>de</strong> lectura, ta, es el tiempo que tarda la memoria en suministrar una palabra<strong>de</strong>s<strong>de</strong> el momento en que se proporciona la dirección y la señal <strong>de</strong> lectura.El tiempo <strong>de</strong> escritura, te, es el tiempo que tarda la memoria en grabar información <strong>de</strong>s<strong>de</strong> el momento enque se suministra la dirección, la información y la señal <strong>de</strong> escritura.En las memorias dinámicas y <strong>de</strong> propagación hay que consi<strong>de</strong>rar el tiempo que se tarda en hacer coincidir eltransductor con la información y la velocidad a que se escriben o leen palabras consecutivas,En las memorias dinámicas se llama "tiempo <strong>de</strong> acceso" al tiempo que tarda el transductor móvil enalcanzar la posición <strong>de</strong>seada más el tiempo que tarda la zona buscada <strong>de</strong>l medio en llegar a estar frenteal transductor.Para las memorias <strong>de</strong> propagación, es el tiempo que tarda la información buscada en pasar frente altransductor.En ambos casos, una vez accedida la zona <strong>de</strong>seada, pue<strong>de</strong>n escribirse o leerse una serie <strong>de</strong> palabras a altavelocidad. Se hace referencia a la velocidad o ca<strong>de</strong>ncia <strong>de</strong> transferencia y se expresa en bytes/s, Kbytes/s oMbytes/s. Esta ca<strong>de</strong>ncia está <strong>de</strong>terminada por la velocidad <strong>de</strong>l soporte, así como por el espacio ocupado por cadapunto <strong>de</strong> memoria (<strong>de</strong>nsidad <strong>de</strong> grabación).ETSII – Dpto. Tecnología Electrónica Página: 20 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASCapacidad o tamañoSe <strong>de</strong>nomina "capacidad" o "tamaño" a la cantidad <strong>de</strong> información que pue<strong>de</strong> almacenar una memoria.La capacidad se pue<strong>de</strong> expresar en unida<strong>de</strong>s <strong>de</strong> bits, bytes o palabras, aunque lo más corriente es hacerlo enbytes.Se emplean los prefijos: Kilo = K = 2 10 = 1024 , M = Mega =1024 K, G = Giga = 1024 M, T = Tera = 1024 G.En las memorias <strong>de</strong> direccionamiento cableado existe una relación directa entre los bits necesarios para llevar acabo el direccionamiento y la capacidad. En efecto, si la memoria tiene H bytes y se acce<strong>de</strong> a nivel <strong>de</strong> byte,significa que se necesitan H direcciones distintas, luego se requerirán m bits <strong>de</strong> dirección, <strong>de</strong> forma que 2 m ≥ H .Como las memorias dinámicas y <strong>de</strong> propagación almacenan, a<strong>de</strong>más <strong>de</strong> los datos, información <strong>de</strong>direccionamiento y reloj, hay que distinguir entre capacidad neta o útil, que es la capacidad <strong>de</strong> almacenamiento <strong>de</strong>información <strong>de</strong> usuario y la capacidad bruta, que se halla sumando a la neta, la <strong>de</strong> direccionamiento y reloj.La capacidad bruta <strong>de</strong> una memoria dinámica viene dada por el tamaño <strong>de</strong>l soporte y por la <strong>de</strong>nsidad <strong>de</strong>grabación. El tamaño se pue<strong>de</strong> expresar como la longitud total <strong>de</strong> pista utilizada y la <strong>de</strong>nsidad <strong>de</strong> grabación vienedada por la longitud <strong>de</strong> pista necesaria para grabar un punto <strong>de</strong> memoria.Algunas memorias dinámicas están hechas <strong>de</strong> forma tal, que el soporte es intercambiable.Capitulo <strong>2.</strong>9. - TIPOS DE DISPOSITIVOS DE ALMACENAMIENTO PARA MEMORIAPRINCIPALETSII – Dpto. Tecnología Electrónica Página: 21 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASSe pasa a realizar una revisión <strong>de</strong> los distintos dispositivos <strong>de</strong> almacenamiento más usados en la memoriaprincipal:- Memorias <strong>de</strong> ferritas.- Memorias <strong>de</strong> película <strong>de</strong>lgada e hilo plateado.- Memorias <strong>de</strong> semiconductores.- Tambor <strong>de</strong> silicio.En la tabla se ofrece una clasificación, más <strong>de</strong>tallada, <strong>de</strong> las memorias <strong>de</strong> tipo "electrónico" o <strong>de</strong> semiconductores.La <strong>de</strong>scripción <strong>de</strong> una memoria estática, funcionando en conmutación electrónica, compren<strong>de</strong> dos partes:‣ el funcionamiento <strong>de</strong>l punto <strong>de</strong> memoria y‣ la organización general <strong>de</strong> la memoria, esencialmente ligada a la técnica <strong>de</strong> selección.Si la primera parte <strong>de</strong> esta <strong>de</strong>scripción, funcionamiento <strong>de</strong>l punto <strong>de</strong> memoria, es evi<strong>de</strong>ntemente específica <strong>de</strong>cada clase <strong>de</strong> memoria, la segunda, organización y forma <strong>de</strong> selección, sería igualmente válida para otras clases<strong>de</strong> memoria, como pudieran ser las <strong>de</strong> semiconductores.MEMORIA DE FERRITAAunque hoy en día están en <strong>de</strong>suso, la práctica totalidad <strong>de</strong> las memorias principales, <strong>de</strong>s<strong>de</strong> mediados <strong>de</strong> ladécada <strong>de</strong> los 50, hasta los años 70, se han construido con ferritas. Una muestra <strong>de</strong> la importancia <strong>de</strong> estedispositivo histórico es que el escudo <strong>de</strong> las Faculta<strong>de</strong>s y Escuelas <strong>de</strong> Informática se basa en un toro <strong>de</strong> ferrita.Funcionamiento <strong>de</strong>l núcleoLas memorias <strong>de</strong> núcleos utilizan núcleos toroidales <strong>de</strong> ferrita (toro o anillo <strong>de</strong> ferrita, material ferromagnético)como punto <strong>de</strong> memoria. Las primeras ferritas tenían un diámetro exterior <strong>de</strong> 0,3 cm y las últimas <strong>de</strong> 0,05 cm.El punto <strong>de</strong> memoria presenta dos direcciones <strong>de</strong> magnetización.Cuando una corriente eléctrica <strong>de</strong> intensidad suficiente” I” atraviesa el núcleo (4a), éste se imanta en el sentidodado por la regla <strong>de</strong>l sacacorchos <strong>de</strong> MaxweIl (punto A <strong>de</strong>l ciclo <strong>de</strong> histéresis) y permanece imantado, incluso enausencia <strong>de</strong> corriente (punto A1 <strong>de</strong>l ciclo).Si se envía un impulso ” - I”, el núcleo se imantará en el otro sentido (punto B, <strong>de</strong>spués retorno al punto B1).Se suele llamar basculamiento <strong>de</strong>l núcleo a esta inversión <strong>de</strong>l sentido <strong>de</strong> su imantación.ETSII – Dpto. Tecnología Electrónica Página: 22 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASPor consiguiente, el núcleo <strong>de</strong> ferrita presenta dos estados estables A1 y B1 y pue<strong>de</strong> servir como elemento <strong>de</strong>memoria. Por convenio, diremos que el núcleo está en el estado 1 en el punto A1 y en el estado 0 en el punto B1.Obsérvese que el núcleo permanecerá en su estado mientras no se vea atravesado por corrientes <strong>de</strong> intensidadsuperior a J, en valor absoluto. En particular, una corriente <strong>de</strong> valor I/2 no es capaz <strong>de</strong> hacerlo bascular.Sabemos ya realizar la operación <strong>de</strong> escritura <strong>de</strong> un dígito sobre el toro: se escribe el dígito 1 enviando un impulso+ 1 y el dígito 0 enviando un impulso - 1.La información contenida en el núcleo pue<strong>de</strong> leerse empleando las leyes <strong>de</strong> la inducción magnética: al bascular elnúcleo, la variación producida <strong>de</strong>l campo magnético induce una corriente en un hilo <strong>de</strong> lectura que lo atraviesa. Siel núcleo estaba en 1 (4b), la corriente ” - I”, por el hilo F1 lo hace bascular y se recupera una corriente inducidaen el hilo F<strong>2.</strong>Si el núcleo estaba en 0, no pasa nada.Por tanto, la presencia <strong>de</strong> un impulso en el hilo F2 <strong>de</strong> lectura es indicativa <strong>de</strong>l contenido <strong>de</strong>l núcleo pero nóteseque esta lectura es <strong>de</strong>structiva ya que, al final <strong>de</strong> la operación, el núcleo queda en el estado 0.Organización <strong>de</strong> las memorias <strong>de</strong> núcleosLa conexión a los transductores se realiza mediante hilos <strong>de</strong> cobre barnizados, que pasan por el interior <strong>de</strong> lasferritas. Esta parte <strong>de</strong>l proceso <strong>de</strong> fabricación consistía en "coser" las ferritas y se hacía a mano. Era fácil que, alcoserlas, hubiera roturas <strong>de</strong> ferritas, lo que obligaba a difíciles reparaciones.La conexión se hacía con 2, 3 ó 4 hilos.Se distinguen tres tipos <strong>de</strong> selección, que correspon<strong>de</strong>n a distintas organizaciones <strong>de</strong> las memorias:‣ la selección lineal o selección en dos dimensiones (2D);‣ las selecciones por coinci<strong>de</strong>ncia <strong>de</strong> corrientes, que compren<strong>de</strong>n la selección en tres dimensiones (3D) y‣ la selección en dos dimensiones y media (2 1/2 D).Organización por palabras (u organización 2D)La memoria más sencilla consiste en una matriz <strong>de</strong> núcleos, cada uno <strong>de</strong> ellos atravesado por dos hilosperpendiculares, un hilo <strong>de</strong> palabra y un hilo <strong>de</strong> bit. Los núcleos <strong>de</strong> una misma fila memorizan una palabra.Se dice que una memoria así concebida está organizada por palabras y que su selección es lineal o en dosdimensiones (2D).ETSII – Dpto. Tecnología Electrónica Página: 23 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASPara escribir una <strong>de</strong>terminada configuración binaria en una palabra <strong>de</strong> la memoria (supuesta previamente a cero)se envía una corriente I/2 por el hilo <strong>de</strong> palabra correspondiente y una corriente I/2 por todos los hilos <strong>de</strong> bit, a losque les corresponda un 1 en la configuración binaria. (4c).Únicamente los núcleos que se vean atravesados simultáneamente por las dos corrientes bascularán, puesto quela corriente I/2 por sí sola es incapaz <strong>de</strong> provocar el basculamiento <strong>de</strong> un núcleo.La operación <strong>de</strong> lectura <strong>de</strong> una palabra consiste en enviar una corriente - I por el hilo <strong>de</strong> palabra: los núcleos <strong>de</strong>esta palabra que estuvieran a 1 basculan y se recupera una corriente inducida en los correspondientes hilos <strong>de</strong>bits.Se observa que la lectura es <strong>de</strong>structiva, puesto que pone a cero a todos los bits <strong>de</strong> la palabra, y la escritura exigeuna puesta a cero previa.Entonces, se conviene en dividir toda operación concerniente a la memoria en dos fases: una fase <strong>de</strong> lectura yuna fase <strong>de</strong> escritura.En el caso <strong>de</strong> una búsqueda en memoria, la segunda fase tiene por objetivo re-escribir la palabra leída: por tanto,al nivel <strong>de</strong>l ciclo la memoria no es <strong>de</strong>structiva.En el caso <strong>de</strong> un registro en memoria, la primera fase persigue poner a cero la palabra en la que se quiere escribir(fig. 6).Se <strong>de</strong>nomina tiempo <strong>de</strong> acceso al tiempo necesario a la obtención <strong>de</strong> la información buscada, se llama ciclo <strong>de</strong>memoria al conjunto <strong>de</strong> las dos fases <strong>de</strong> lectura y <strong>de</strong> escritura.La duración <strong>de</strong>l cico <strong>de</strong> memoria es ligeramente superior al doble <strong>de</strong>l tiempo <strong>de</strong> acceso, habida cuenta <strong>de</strong> lostiempos <strong>de</strong> carga <strong>de</strong> registros.La figura 7 esquematiza la organización general <strong>de</strong> una memoria organizada por palabras, sin incluir losamplificadores para generarlas corrientes I e I/2 y para amplificar los impulsos <strong>de</strong> lectura.El registro S contiene la dirección <strong>de</strong> memoria y, por intermedio <strong>de</strong> la matriz <strong>de</strong> <strong>de</strong>codificación, pue<strong>de</strong> sensibilizarlos hilos <strong>de</strong> palabra; el registro está conectado, tanto para entradas como para salidas, a los hilos <strong>de</strong> bits.Algunas memorias poseen un registro M doble, una parte para la lectura, otra para la escritura.Selección por corrientes coinci<strong>de</strong>ntes (3D).Parte <strong>de</strong> la <strong>de</strong>codificación la realiza la propia organización <strong>de</strong> la memoria.nEsta se divi<strong>de</strong> en m matrices <strong>de</strong> 2 núcleos, don<strong>de</strong> m es el número <strong>de</strong> bits <strong>de</strong> la palabra <strong>de</strong> memoria y n elnúmero <strong>de</strong> bits <strong>de</strong>l registro <strong>de</strong> selección.Cada núcleo <strong>de</strong> la i-sima matriz correspon<strong>de</strong> al bit <strong>de</strong> peso i <strong>de</strong> una <strong>de</strong> lasn2palabras <strong>de</strong> la memoria.Cada núcleo está atravesado por cuatro hilos, dos para la selección X e Y enhebrados en serie con las m matrices<strong>de</strong> núcleos y dos hilos funcionales para lectura e inhibición, una pareja por cada matriz.ETSII – Dpto. Tecnología Electrónica Página: 24 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASSe lee una palabra enviando dos impulsos (- I/2) por los hilos X e Y a<strong>de</strong>cuados.La coinci<strong>de</strong>ncia <strong>de</strong> estos dos impulsos pone a cero a los núcleos <strong>de</strong> la palabra que estaban posicionados en 1, yeste basculamiento induce corrientes por los hilos <strong>de</strong> lectura (fig. 9).Se escriben los bits 1 <strong>de</strong> una palabra, previamente puesta a cero, enviando corrientes I/2 por los hilos X e Y que laseleccionan.Escribir ceros consiste en evitar el basculamiento <strong>de</strong> los núcleos: se envía una corriente - I/2 por el hilo <strong>de</strong>inhibición, opuesta a las dos corrientes I/2 <strong>de</strong> los hilos X e Y, <strong>de</strong> tal forma que la resultante igual a I/2 esinsuficiente para provocar el basculamiento <strong>de</strong>l núcleo (fig. 10).Obsérvese que es posible utilizar el mismo hilo para lectura e inhibición, la figura muestra la conexión con 3 hilos.ETSII – Dpto. Tecnología Electrónica Página: 25 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASSelección 2 ½D.Es también una selección por corrientes coinci<strong>de</strong>ntes, con la única diferencia respecto a la selección 3D que lainhibición en escritura no se sitúa al nivel <strong>de</strong> los núcleos, sino al <strong>de</strong> las corrientes <strong>de</strong> selección (fig. 11)El direccionamiento era, generalmente, 2D1/<strong>2.</strong>Evi<strong>de</strong>ntemente, el cosido con menos hilos era más sencillo, pero complicaba los transductores.Comparación entre los distintos tipos <strong>de</strong> selección.El paso <strong>de</strong> la organización 2D a una <strong>de</strong> las organizaciones 3D ó 2 ½ D se caracteriza:1. por una ganancia en lo que concierne a los circuitos <strong>de</strong> <strong>de</strong>codificación: se va <strong>de</strong> una <strong>de</strong>codificación sobren bits a dos <strong>de</strong>codificaciones sobre n/2 bits.Ahora bien, la complejidad <strong>de</strong>l circuito <strong>de</strong> <strong>de</strong>codificación es proporcional al cuadrado <strong>de</strong>l número <strong>de</strong> bitspor <strong>de</strong>codificar. Basta, para bien hacerse cargo <strong>de</strong> este factor, hacer el cálculo <strong>de</strong> la ganancia en unapequeña memoria <strong>de</strong> 4 K palabras;<strong>2.</strong> por una pérdida, si se cuantifica el cableado <strong>de</strong> los núcleos: en efecto, es necesario enhebrar un hilosuplementario por cada núcleo.La importancia <strong>de</strong> este factor se apreciará mejor si se sabe, por un lado, que siendo la velocidad <strong>de</strong>basculamiento <strong>de</strong> un núcleo tanto mayor cuanto menor es su diámetro, se está obligado a usar núcleoscon diámetros <strong>de</strong>l or<strong>de</strong>n <strong>de</strong> una fracción <strong>de</strong> milímetro y, por otro lado, que las matrices <strong>de</strong> núcleos suelenenhebrarse a mano, <strong>de</strong>bido a la fragilidad <strong>de</strong> los núcleos <strong>de</strong> ferrita y a la dificultad <strong>de</strong> poner a puntodispositivos <strong>de</strong> enhebramiento automático.La solución escogida para el cableado <strong>de</strong> una memoria se situará evi<strong>de</strong>ntemente en una zona <strong>de</strong> equilibrio entreestos dos factores. De manera general, se optará por las memorias 2 D cuando la relación coste <strong>de</strong>l cableado <strong>de</strong>los núcleos a coste <strong>de</strong>l circuito <strong>de</strong> <strong>de</strong>codificación sea importante, como es el caso:- para pequeñas memorias muy rápidas, don<strong>de</strong> sería inaceptable una solución <strong>de</strong> 3 hilos por núcleo.- para las memorias auxiliares, don<strong>de</strong> la operación <strong>de</strong> selección afecta a palabras muy largas (<strong>de</strong> varioscientos <strong>de</strong> bits).Resumen <strong>de</strong> las propieda<strong>de</strong>s fundamentales <strong>de</strong> estas memorias son las siguientes:a) Memoria estática con direccionamiento cableado, tipo RAM.b) No volátil, pues, si se <strong>de</strong>ja <strong>de</strong> alimentar, las polarizaciones <strong>de</strong> las ferritas se mantienen invariables.c) De lectura <strong>de</strong>structiva. La escritura exige un borrado previo, pues solamente se pue<strong>de</strong> pasar <strong>de</strong>l "0" a “1”.d) Sólo se consi<strong>de</strong>ra el tiempo <strong>de</strong> ciclo (lectura + escritura) pues los accesos siempre requieren un ciclo.La velocidad <strong>de</strong> los primeros prototipos era <strong>de</strong> 20 us y se ha llegado a mo<strong>de</strong>los <strong>de</strong> 275 ns.e) La capacidad <strong>de</strong> estas memorias varía <strong>de</strong> unos pocos K a unos pocos Megas.Se construían con módulos <strong>de</strong> 4 K. Valores típicos <strong>de</strong> anchos <strong>de</strong> palabra han sido 8, 16, 32 y 36 bits.ETSII – Dpto. Tecnología Electrónica Página: 26 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASMEMORIAS DE PELICULA DELGADA Y DE HILO PLATEADOAmbos tipos <strong>de</strong> memorias fueron un intento, <strong>de</strong> poco éxito comercial, <strong>de</strong> sustituir las ferritas <strong>de</strong> dos hilos por unaestructura <strong>de</strong> fabricación más sencilla, <strong>de</strong> menor tamaño y, por tanto, <strong>de</strong> mayor velocidad.En los dispositivos <strong>de</strong> película <strong>de</strong>lgada se parte <strong>de</strong> una fina capa magnetizable sobre la que se establece unamatriz <strong>de</strong> hilos conectados a los transductores.La zona próxima al cruce <strong>de</strong> dos hilos realiza la misma función que un toro <strong>de</strong> ferrita <strong>de</strong> dos hilos.Dicha capa se <strong>de</strong>posita sobre un soporte y tiene un espesor <strong>de</strong> unos 1.000 A = 10 mm.En los dispositivos <strong>de</strong> hilo plateado el material magnético se <strong>de</strong>posita en una fina capa que recubre uno <strong>de</strong> los dosconductores.La zona <strong>de</strong> este <strong>de</strong>pósito, próxima al cruce <strong>de</strong> ambos hilos, forma el equivalente a la ferrita.−4ETSII – Dpto. Tecnología Electrónica Página: 27 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASMEMORIAS DE SEMICONDUCTORESEste tipo <strong>de</strong> memoria se emplea actualmente, con carácter universal, como memoria principal <strong>de</strong> loscomputadores.En referencia a los aspectos operativos <strong>de</strong> estas memorias: utilizan el biestable electrónico como punto <strong>de</strong>memoria, se presentan una organización celular cada punto <strong>de</strong> memoria constituido por su biestable y loscircuitos asociados <strong>de</strong> lectura y <strong>de</strong> escritura.Este tipo <strong>de</strong> memoria emplea los mismos modos <strong>de</strong> selección que hemos <strong>de</strong>scrito en las memorias <strong>de</strong> núcleos.La figura (a) representa un punto <strong>de</strong> memoria en el caso <strong>de</strong> la selección lineal 2D.En escritura, la señal <strong>de</strong> escritura <strong>de</strong> palabra muestrea la información latente en el hilo <strong>de</strong> bit; en lectura, la señal<strong>de</strong> lectura <strong>de</strong> palabra permite analizar el contenido <strong>de</strong>l biestable.Este esquema da una lectura no <strong>de</strong>structiva y una escritura que no exige puesta a cero previa.La figura (b) presenta una posible realización <strong>de</strong>l punto <strong>de</strong> memoria bajo la hipótesis <strong>de</strong> selección por corrientescoinci<strong>de</strong>ntes <strong>de</strong>l tipo 3 D.Los dos hilos <strong>de</strong> selección X e Y permiten direccionar el punto <strong>de</strong> memoria, lo mismo en lectura que en escritura.Escribir 1 y escribir 0 exigen dos señales diferentes, si se quiere que la lectura no sea <strong>de</strong>structiva.Todas las memorias que se van a tratar en este apartado son <strong>de</strong> direccionamiento cableado, o sea, <strong>de</strong> accesoaleatorio o RAM. Sin embargo, <strong>de</strong>ntro <strong>de</strong> estas memorias se ha <strong>de</strong>sarrollado otra terminología que resulta un pococonfusa, pues repite términos empleados con otro sentido. Se pue<strong>de</strong> establecer la siguiente clasificación:a) De lectura y escritura (RAM)- Estáticas.- Dinámicas o con refresco.b) De sólo lectura- ROM (Read Only Memory).- PROM (Programmable Read Only Memory).- EPROM (Erasable Programmable Read Only Memory).- EEROM (Electricaly Erasable Read On1y Memory).Las memorias <strong>de</strong> semiconductores se presentan en pastillas integradas que contienen una matriz <strong>de</strong> memoria, un<strong>de</strong>codificador <strong>de</strong> direcciones, los transductores correspondientes y el tratamiento lógico <strong>de</strong> algunas señales <strong>de</strong>control.ETSII – Dpto. Tecnología Electrónica Página: 28 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASExisten muchas configuraciones, pero la mayoría <strong>de</strong> estas memorias manejan los siguientes elementos y señales:- Bus <strong>de</strong> datos: Es un colector o conjunto <strong>de</strong> líneas triestado que transportan la información almacenadaen memoria. El bus <strong>de</strong> datos se pue<strong>de</strong> conectar a las líneas correspondientes <strong>de</strong> varias pastillas.- Bus <strong>de</strong> direcciones: Cuando está completo, es un conjunto <strong>de</strong> m líneas que transportan la dirección ymque permite codificar 2 posiciones <strong>de</strong> memoria.Pue<strong>de</strong> estar multiplexado, <strong>de</strong> forma que primero se transmiten m/2 bits y luego, el resto.- Señales <strong>de</strong> control típicas• OE: Activa la salida triestado <strong>de</strong> la memoria.• CS ó CE: Activa la pastilla o chip.• WE: Señal <strong>de</strong> escritura, Para realizar una escritura, a<strong>de</strong>más <strong>de</strong> activarse esta señal, tambiénlo estarán CS ó CE• RAS ó CAS: Las líneas RAS (Row Address Strobe) y CAS (Column Address Strobe) sirvenpara <strong>de</strong>codificar las filas y columnas <strong>de</strong> las RAM dinámicas. Ancho <strong>de</strong> palabra típico: 1, 4 u 8bits.RAM estáticasSon las memorias <strong>de</strong> semiconductor basadas en celdas <strong>de</strong> tipo biestable; por tanto, mantienen su estado siempreque no se interrumpa la alimentación.Pastillas típicas <strong>de</strong> este tipo <strong>de</strong> memoria, son las siguientes:2114 ó 4044:2128 ó 4016:Capacidad: 4 Kbits. Configuración 1 Kx4.Nº patillas: 18. (Dirección: 10 bits, Datos: 4 líneas bidireccionales, 2 líneas <strong>de</strong> control CS yWE, 2 <strong>de</strong> alimentación).Tiempo <strong>de</strong> acceso: 200 ns.Consumo: 550 mW. Alimentación: 5 V.Capacidad: 16 K. Configuración: 2 Kx8.Nº <strong>de</strong> patillas: 24. (Dirección: 11 bits. Datos: 8 bidireccionales, Control: 3 (CS, OE y WE),Alimentación: 2).Tiempo <strong>de</strong> acceso: 150 ns.Consumo: 380 mW. Alimentación: 5 V.ETSII – Dpto. Tecnología Electrónica Página: 29 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIAS5188 Capacidad: 64 Kbits. Configuración: 8 Kx 8.Nº <strong>de</strong> patillas: 28. (Dirección: 13 bits, Datos: 8 bidireccionales, señales <strong>de</strong> control: 4 (CS,WE y OE).Tiempo <strong>de</strong> acceso: 120 ns.Consumo: 200 mW. Alimentación: 5,V.Las propieda<strong>de</strong>s más <strong>de</strong>stacadas <strong>de</strong> las memorias RAM estáticas son:- Permiten operaciones <strong>de</strong> lectura y escritura.- Direccionamiento aleatorio.- Volatilidad: si se interrumpe la alimentación, se borran.- Se usan en pequeñas memorias.- Son más caras que las RAM dinámicas y consumo mayor, pero son muy sencillas <strong>de</strong> emplear y conectar.- Las pastillas tienen bus <strong>de</strong> datos bidireccional <strong>de</strong> 4 u 8 bits <strong>de</strong> ancho, con salida triestado.ETSII – Dpto. Tecnología Electrónica Página: 30 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASRAM dinámicasEstas memorias usan celdas <strong>de</strong> un solo transistor <strong>de</strong> tipo MOS.El estado se almacena en un con<strong>de</strong>nsador que se forma entre los electrodos <strong>de</strong>l transistor y que tien<strong>de</strong> a<strong>de</strong>scargarse, por lo que hay que realizar un refresco periódico para evitar la pérdida <strong>de</strong> información.Pastillas típicas <strong>de</strong> este tipo <strong>de</strong> memorias son las siguientes:3716 ó 4116: Capacidad: 16 K bits. Configuración: 16 Kx1.Nº <strong>de</strong> patillas: 16. (Dirección: 7, Datos: 2 (E y S), Control: 3 (RAS, CAS y WE),Alimentación: 4.Tiempo <strong>de</strong> acceso: 150 ns. Ciclo: 375 ns.Consumo: 500 mW. Alimentación + 5 V y ± 12 V.Período <strong>de</strong> refresco: 2 ms.3764 ó 4164: Capacidad: 64 Kbits. Configuración: 64 Kx1.Nº <strong>de</strong> patillas: 16. (Dirección: 8, Datos: 2 (E y S). Control: 3 (RAS, CAS y WE).Alimentación: <strong>2.</strong>Tiempo <strong>de</strong> acceso: 150 ns. Ciclo: 270 ns.Consumo: 200 mW. Alimentación: 5 V.Período <strong>de</strong> refresco: 4 ms.37256 ó 4256 Capacidad: 256 Kbits. Configuración: 256 Kx1.Nº <strong>de</strong> patillas: 16. (Dirección: 9. Datos: 2 (E y.S). Control: 3 (RAS, CAS y WE).Alimentación: <strong>2.</strong>Tiempo <strong>de</strong> acceso: 120 ns. Ciclo: 240 ns.Consumo: 200 mW. Alimentación: 5 V.Período <strong>de</strong> refresco: 4 ms.Las principales características <strong>de</strong> este tipo <strong>de</strong> memoria son:- Permiten operaciones <strong>de</strong> lectura y escritura.- Direccionamiento y acceso aleatorios.- Volatilidad y refresco.- Más económicas que las estáticas en tamaños medios o gran<strong>de</strong>s.- Las pastillas tienen un ancho <strong>de</strong> palabra <strong>de</strong> 1 bit y el bus <strong>de</strong> direcciones está multiplexado en eltiempo, lo cual reduce el número <strong>de</strong> patillas necesarias. Datos <strong>de</strong> salida en triestado.La figura presenta un ejemplo <strong>de</strong> direccionamiento <strong>de</strong> estas memorias.Cada pastilla <strong>de</strong> memoria es <strong>de</strong> 64 K y se direcciona enviando primero la dirección <strong>de</strong> la fila por las líneas A0-A7,a la vez que se activa RAS.Tras un retardo se introduce la dirección <strong>de</strong> la columna por las mismas líneas, a la vez que se activa la señal CAS.Las líneas A16 y A17 controlan un <strong>de</strong>codificador cuyo CS es la señal CAS, produciendo las señales CAS0, CAS1,CAS2 y CAS3 que sirven para seleccionar uno <strong>de</strong> los 4 bloques <strong>de</strong> 64 X 8 bits.La señal M/R índica el inicio <strong>de</strong> un cielo <strong>de</strong> memoria o <strong>de</strong> refresco. El circuito <strong>de</strong> refresco que actúa cada 2 msestá formado por un reloj <strong>de</strong> 30 ps y un contador para la dirección <strong>de</strong> refresco.La señal CAS se <strong>de</strong>riva <strong>de</strong> la RAS mediante el retardo a<strong>de</strong>cuado.En el mercado hay pastillas, como la DA 8409, que realizan todas estas funciones y simplifican el diseño conmemorias dinámicas.ETSII – Dpto. Tecnología Electrónica Página: 31 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASConfiguración <strong>de</strong> una memoria dinámica <strong>de</strong> 256 K.ETSII – Dpto. Tecnología Electrónica Página: 32 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASMemorias ROM y PROMEstas memorias sólo permiten la operación <strong>de</strong> lectura.La información contenida se graba en el proceso <strong>de</strong> fabricación (ROM) o bien en un proceso posterior irreversible(PROM).Pastillas típicas <strong>de</strong> estos tipos son:2732 ó 2932: Capacidad: 32 Kbits. Configuración: 4 Kx8.Nº <strong>de</strong> patillas: 24. (Dirección: 12, Datos salida: 8, Control: 2 (CS1 y CS2). Alimentación: 2).Tiempo <strong>de</strong> acceso: 350 ns.Consumo: 400 mW. Alimentación: 5 V.2764 ó 2932Capacidad: 64 Kbits. Configuración: 8 Kx8.Nº <strong>de</strong> patillas: 24. (Dirección: 14, Datos <strong>de</strong> salida: 8, Control: 1 (CS). Alimentación: 2).Tiempo <strong>de</strong> acceso: 300 ns.Consumo: 400 mW. Alimentación: 5 V.27128 ó 29322)27256 ó 2932Capacidad: 128 Kbits. Configuración: 16 Kx8.Nº <strong>de</strong> patillas: 28. (Direcciones: 14, Datos <strong>de</strong> salida: 8, Control: 2 CE y OE, Alimentación:Tiempo <strong>de</strong> acceso: 400 ns.Consumo: 400 mW. Alimentación: 5 V.Capacidad: 256 Kbits. Configuración: 32 Kx8.Nº <strong>de</strong> patillas: 28. (Direcciones: 15, Datos <strong>de</strong> salida: 8, Control: 1 (CS). Alimentación: 2).Tiempo <strong>de</strong> acceso: 250 ns.Consumo: 200 mW. Alimentación: 5 V.Una aplicación muy interesante <strong>de</strong> este tipo <strong>de</strong> memorias es la <strong>de</strong>stinada a guardar los programas <strong>de</strong> arranque <strong>de</strong>los computadores.Entre sus principales características, <strong>de</strong>stacan:- Sólo permiten la lectura.- Son <strong>de</strong> acceso aleatorio.- Son permanentes o no volátiles: la información no pue<strong>de</strong> borrarse.- Tienen un ancho <strong>de</strong> palabra <strong>de</strong> 8 bits, con salida triestado.La figura muestra un ejemplo <strong>de</strong> aplicación <strong>de</strong> este tipo <strong>de</strong> memoria, en combinación con otra <strong>de</strong> tipo RAM.ETSII – Dpto. Tecnología Electrónica Página: 33 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASEPROM y EEROMLas memorias EPROM y EEROM son memorias permanentes, <strong>de</strong> sólo lectura, pero que se pue<strong>de</strong>n borrarmediante un proceso especial, como es la radiación ultra-violeta en el caso <strong>de</strong> las EPROM, o elevadas corrientesen el caso <strong>de</strong> las EEROM.Son más caras que las ROM y EPROM, pero son eficaces cuando hay probabilidad <strong>de</strong> tener que hacer cambiosen el contenido <strong>de</strong> estas memorias.Son típicas las siguientes pastillas EPROM:XX16 Capacidad: 16 Kbits. Configuración: 2 Kx8.Nº <strong>de</strong> patillas: 24. (Direcciones: 11, Datos: 8, Control: 2 (CE y OE), Alimentación: 3, una paragrabación).Tiempo <strong>de</strong> acceso: 400 ns.Consumo: 300 mW. Alimentación: 5 V (grabación a 25 V).XX32Capacidad- 32 Kbits. Configuración: 4 Kx8.Nº <strong>de</strong> patillas: 24. (Direcciones: 12, Datos: 8, Control: 1, Alimentación: 3, una para grabación.Tiempo <strong>de</strong> acceso: 500 ns.Consumo: 500 mW. Alimentación: 5 V (grabación a 25 V).XX64Capacidad: 64 Kbits. Configuración: 8Kx8.Nº <strong>de</strong> patillas: 28. (Direcciones: 13, Datos: 8, Control: 3, Alimentación: 3, una para grabar).Tiempo <strong>de</strong> acceso: 450 ns.Consumo: 400 mW. Alimentación: 5 V (25 V para grabar).ETSII – Dpto. Tecnología Electrónica Página: 34 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASXX128 Capacidad: 128 Kbits. Configuración: 16 Kx8.Nº <strong>de</strong> patillas: 28. (Direcciones: 14, Datos: 8, Control: 3, Alimentación: 3, una para grabar).Tiempo <strong>de</strong> acceso: 450 ns.Consumo: 400 mW. Alimentación: 5 V (25 V grabación).Características principales <strong>de</strong> este tipo <strong>de</strong> memorias:- Sólo permiten la lectura.- Son <strong>de</strong> tipo no volátil, aunque pue<strong>de</strong>n borrarse.- Son <strong>de</strong> acceso aleatorio.- Tienen un ancho <strong>de</strong> palabra <strong>de</strong> 8 bits, con salida triestado.LINEAS DE RETARDOLas líneas <strong>de</strong> retardo son memorias <strong>de</strong> propagación, poco empleadas en la actualidad, cuya estructura básica <strong>de</strong>funcionamiento se ofrece en la figura.Si se supone que la línea <strong>de</strong> retardo transmite una señal empleando T segundos en esta transmisión y se dan losvalores V+ y V- a la señal introducida en la línea, se genera un tren <strong>de</strong> impulsos que, mediante un códigoa<strong>de</strong>cuado, permiten representar un tren <strong>de</strong> "ceros" y "unos", los códigos a emplear serán <strong>de</strong>l tipo <strong>de</strong> los que seutilizan en la grabación magnética y que se comentan posteriormente.Suponiendo que la representación <strong>de</strong> cada bit emplea t segundos y, puesto que la línea contiene T segundos <strong>de</strong>señal, quiere <strong>de</strong>cir que la línea en cada instante contiene n = T/t bits.Ahora bien, si la señal <strong>de</strong> salida <strong>de</strong> la línea se reintroduce a la entrada, siempre habrá los mismos n bits<strong>de</strong>splazándose por la línea; ya se dispone <strong>de</strong> una memoria.La operación <strong>de</strong> lectura necesita esperar a que la zona <strong>de</strong> datos a leer aparezca en la salida <strong>de</strong> la línea <strong>de</strong>retardo.El tiempo medio <strong>de</strong> espera o tiempo <strong>de</strong> acceso, será T/<strong>2.</strong>Una vez alcanzada esta zona, se van obteniendo los datos a una velocidad <strong>de</strong> 1/t bit/s. La operación <strong>de</strong> lectura esinherente a la línea <strong>de</strong> retardo, pues se <strong>de</strong>ben leer y reintroducir continuamente los datos para conservarlos.La escritura se efectúa cambiando la secuencia que se lee <strong>de</strong> la línea, por una nueva que represente el valor<strong>de</strong>seado. El tiempo medio <strong>de</strong> acceso será también <strong>de</strong> T/2 y la velocidad <strong>de</strong> escritura, <strong>de</strong> 1/t bits/s.ETSII – Dpto. Tecnología Electrónica Página: 35 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASEn este tipo <strong>de</strong> memoria la lectura y la escritura se hacen bit a bit.Si se quiere a nivel <strong>de</strong> byte, la unidad <strong>de</strong> control se encargará <strong>de</strong> la conversión serie-paralelo correspondiente.Para diseñar las líneas <strong>de</strong> retardo, se han utilizado distintas propieda<strong>de</strong>s físicas, <strong>de</strong>stacando las siguientes:- Acústica: Se empleó una columna <strong>de</strong> mercurio que se excitaba y leía mediante transductores <strong>de</strong> cuarzo.Estos transductores generan una onda acústica que se propaga a 1,5 km/s en el mercurio.Si la columna tiene 1,5 m, el retardo total será <strong>de</strong> 1 ms y con un reloj <strong>de</strong> 1 MHz se pue<strong>de</strong>n almacenar1.000 bits. También se han empleado líneas <strong>de</strong> cuarzo <strong>de</strong> reflexión múltiple con unos retardos totales <strong>de</strong> 1ms.- De compresión:Las ondas <strong>de</strong> tensión se transmiten en aleaciones <strong>de</strong> hierro-níquel, permitiendo almacenar 1 Kbit.Las principales características <strong>de</strong> estas memorias:- Ser volátiles.- Son <strong>de</strong>l tipo <strong>de</strong> propagación.- Tienen poca capacidad <strong>de</strong> almacenamiento.- La lectura es <strong>de</strong>structiva.- No se utilizan en la actualidad.TAMBOR DE SILICIOLa i<strong>de</strong>a <strong>de</strong>l tambor <strong>de</strong> silicio fue apoyada al comienzo <strong>de</strong> la década <strong>de</strong> los 70, sin mucho éxito.Consiste en construir una arquitectura similar a la <strong>de</strong> un disco <strong>de</strong> cabeza fija o tambor, pero a base <strong>de</strong> registros <strong>de</strong><strong>de</strong>splazamiento. Consiguiendo la correspon<strong>de</strong>ncia entre pistas y registros <strong>de</strong> <strong>de</strong>splazamiento, se pue<strong>de</strong> fabricarun "tambor" que no tenga partes móviles,Memorias asociativasSe conciben estas memorias, también llamadas memorias direccionables por el contenido, no para buscar unainformación cuya dirección <strong>de</strong> almacenamiento se conoce, sino para investigar si una información, bautizada<strong>de</strong>scriptor, está en la memoria y, en caso afirmativo, proporcionar una información asociada.Una memoria asociativa se divi<strong>de</strong> en dos partes:‣ una primera parte M1, en que todas las palabras son comparadas en paralelo al <strong>de</strong>scriptor D, y‣ una segunda parte M2, que entrega eventualmente a un registro A la información asociada al <strong>de</strong>scriptor D.La memoria asociativa se nos presenta, entonces, como la realización cableada <strong>de</strong> la estructura <strong>de</strong> informacionesque hemos llamado tabla anteriormente.A manera <strong>de</strong> ejemplo, vamos a mostrar cómo pue<strong>de</strong> realizarse una memoria asociativa en lógica celular.ETSII – Dpto. Tecnología Electrónica Página: 36 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASLas memorias M1 y M2 están organizadas por palabras, correspondiendo las células <strong>de</strong> una misma horizontal alos diferentes bits <strong>de</strong> una palabra y las células <strong>de</strong> una vertical a los bits <strong>de</strong> un peso <strong>de</strong>terminado <strong>de</strong> las diferentespalabras.Cada célula representa un punto <strong>de</strong> memoria con un biestable y las lógicas <strong>de</strong> escritura y <strong>de</strong> comparación para lamatriz M1, <strong>de</strong> escritura y <strong>de</strong> lectura para la matriz M<strong>2.</strong>Aquí nos <strong>de</strong>sinteresaremos <strong>de</strong> las operaciones <strong>de</strong> escritura que permiten la carga inicial <strong>de</strong> la memoria.La búsqueda en memoria implica la carga previa <strong>de</strong>l <strong>de</strong>scriptor en el registro D.A continuación, se ejecutarán todas las operaciones en paralelo con todas las palabras, bajo el efecto <strong>de</strong> un soloimpulso COMP. Una célula <strong>de</strong> M1 transmitirá el impulso COMP si el contenido <strong>de</strong>l punto <strong>de</strong> memoria es idéntico alcontenido <strong>de</strong>l biestable <strong>de</strong>l registro D situado en la misma vertical, y lo bloqueará en caso contrario.Si se supone que hay, como máximo, una información idéntica al <strong>de</strong>scriptor en M1, se tendrá corno máximo, unimpulso COMP a la salida <strong>de</strong> M1 que <strong>de</strong>signará a la palabra <strong>de</strong> M2 para enviar al registro A.La figura esquematiza una célula <strong>de</strong> M1 y una célula <strong>de</strong> M<strong>2.</strong> Sus ecuaciones son las siguientes:Pue<strong>de</strong>n realizarse pequeñas memorias asociativas (16 palabras <strong>de</strong> unos treinta dígitos) con tiempos <strong>de</strong> búsqueda<strong>de</strong>] or<strong>de</strong>n <strong>de</strong> 100 a 200 ns.Se utilizan las memorias asociativas para las búsquedas en tabla o para ciertas transcodificaciones, en las que elfactor tiempo es <strong>de</strong>masiado importante como para per<strong>de</strong>rlo en búsquedas programadas sobre tablas en memoriacentral. En particular, veremos algunas <strong>de</strong> sus aplicaciones al <strong>de</strong>scribir las técnicas <strong>de</strong> topografía <strong>de</strong> memoria.ETSII – Dpto. Tecnología Electrónica Página: 37 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASCapitulo <strong>2.</strong>10.- PRINCIPALES RECURSOS PARA MEJORAR LAS PRESTACIONESDE MEMORIA PRINCIPALLa memoria es uno <strong>de</strong> los componentes básicos y esenciales <strong>de</strong> todo computador, puesto que toda la informaciónque manipula, en forma <strong>de</strong> datos o instrucciones, se almacena en la memoria.Los progresos en el campo <strong>de</strong> las memorias también han caminado paralelamente al <strong>de</strong>sarrollo <strong>de</strong> la Electrónica,que ha sido el causante <strong>de</strong> la sustitución <strong>de</strong> los antiguos dispositivos <strong>de</strong> núcleos <strong>de</strong> ferrita, que configuraban lamemoria principal, por los mo<strong>de</strong>rnos, construidos con tecnología VLSI.La memoria principal ha <strong>de</strong> ser capaz <strong>de</strong> cubrir dos requisitos indispensables:1. Suficiente capacidad para contener los programas y datos en fase <strong>de</strong> ejecución.<strong>2.</strong> Un tiempo <strong>de</strong> acceso a sus posiciones <strong>de</strong> memoria en consonancia con el tiempo <strong>de</strong> procesamiento porparte <strong>de</strong> la Unidad <strong>de</strong> Control.La realización <strong>de</strong> una instrucción se compone <strong>de</strong> una fase <strong>de</strong> búsqueda, en la que hay que acce<strong>de</strong>r a lamemoria principal para encontrar el código máquina, y <strong>de</strong> una fase <strong>de</strong> ejecución, en la que la Unidad <strong>de</strong>Control interpreta el código y regula la ejecución <strong>de</strong> dicha instrucción en la ALU y en los restanteselementos <strong>de</strong>l sistema.Un funcionamiento equilibrado <strong>de</strong> computador exige que la fase <strong>de</strong> búsqueda, <strong>de</strong>pendiente <strong>de</strong> lascaracterísticas <strong>de</strong> la memoria principal, dure un tiempo similar al <strong>de</strong> la fase <strong>de</strong> ejecución en la UCP.Para intentar cubrir estas exigencias se emplean dos mecanismos, que reciben los nombres <strong>de</strong> memoria virtual ymemoria cache.La memoria virtual tiene como objetivo aumentar la capacidad real <strong>de</strong> la memoria principal, mientras que lamemoria cache incrementa la velocidad <strong>de</strong> los accesosM EMORIA VIRTUALUn computador usa memoria virtual cuando las direcciones que generan sus programas hacen referencia a unespacio mayor que el espacio físico realmente disponible en la memoria principal.El programador tiene la impresión <strong>de</strong> trabajar con un tamaño físico <strong>de</strong> la memoria principal mucho mayor que elque tiene.Hay quereales.diferenciar entre el mapa <strong>de</strong> direcciones lógicas o virtuales y el mapa <strong>de</strong> direcciones físicas oEl espacio lógico utiliza como soporte un dispositivo <strong>de</strong> almacenamiento externo, como pue<strong>de</strong> ser un disco,mientras que el espacio físico es el que ocupa la memoria principal existente.La ejecución <strong>de</strong> programas en un computador requiere que sus datos e instrucciones residan en la memoriaprincipal. Por lo tanto, las máquinas con memoria virtual, que actualmente son mayoría, disponen <strong>de</strong> un módulo,transparente para el usuario, que asigna, inteligentemente, partes <strong>de</strong> la memoria principal disponible entre losprogramasque compiten para conseguir su ejecución <strong>de</strong> forma compartida.ETSII – Dpto. Tecnología Electrónica Página: 38 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASEl programador que dispone <strong>de</strong> memoria virtual ya no tiene que preocuparse con los tediosos problemas quesurgían en la técnica <strong>de</strong> solapamiento u overlay, en la que tenía que dividir el programa, que no cabía en lamemoria principal, en una serie <strong>de</strong> trozos <strong>de</strong> tamaño parecido a los que se <strong>de</strong>nominaba módulos.Luego, el propio programa contenía las instrucciones <strong>de</strong> E/S necesarias para tratar estos módulos en unamemoria externa en el momento a<strong>de</strong>cuado e introducirlos, or<strong>de</strong>nadamente, en una zona <strong>de</strong> solapamientocompartida en la memoria principal, tal como se refleja en la figura.Este complejo mecanismo tiene el inconveniente <strong>de</strong> hacer <strong>de</strong>pen<strong>de</strong>r el programa <strong>de</strong> la memoria disponible en elcomputador, con lo que variaciones en su configuración obligan a revisar la división modular <strong>de</strong>l programa.El diseño <strong>de</strong> un computador con memoria virtual exige resolver los dos aspectos siguientes:- Traducción <strong>de</strong> direcciones lógicas a físicas.- Asignación <strong>de</strong>l espacio físico.ETSII – Dpto. Tecnología Electrónica Página: 39 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASLa traducción es precisa porque programas y datos <strong>de</strong>ben situarse en la memoria principal, controlada pordirecciones físicas.Sin embargo, las direcciones que generan los programas para acce<strong>de</strong>r a los operandos o para efectuarbifurcaciones, al igual que el contenido <strong>de</strong>l Contador <strong>de</strong> Programa, hacen referencia al espacio lógico.El mecanismo <strong>de</strong> traducción se encarga <strong>de</strong> efectuar la operación básica que se muestra en la figura.Como el espacio físico es mucho menor que el lógico, no podrán residir en la memoria principal más que unapequeña parte <strong>de</strong> los procesos que hay en ejecución en el computador en un momento dado.Esto supone que, en muchas ocasiones, se intente acce<strong>de</strong>r a posiciones no resi<strong>de</strong>ntes en memoria física.Por lo tanto, <strong>de</strong>be existir un procedimiento que, <strong>de</strong> forma dinámica, asigne el espacio físico, <strong>de</strong> manera que todoslos procesos tengan en la memoria principal aquellas partes que se requieran para su ejecución.Cada vez que se acce<strong>de</strong> a una información que no esté en la memoria física, hay que proce<strong>de</strong>r a unatransferencia <strong>de</strong> información <strong>de</strong>s<strong>de</strong> el espacio lógico al espacio físico para traer al hueco que se <strong>de</strong>ja en lamemoria principal la nueva información necesaria para seguir ejecutando el proceso que originó este problema.Los distintos mo<strong>de</strong>los <strong>de</strong> memoria virtual se diferencian por sus políticas <strong>de</strong> solapamiento y por los métodos queemplean en la organización <strong>de</strong> la memoria.Los más importantes son:- Memoria paginada.- Memoria segmentada.- Memoria <strong>de</strong> segmentos paginados.Todos estos sistemas encuentran como problema crítico que los requerimientos <strong>de</strong> la memoria <strong>de</strong> algunosprogramas específicos son difíciles <strong>de</strong> pre<strong>de</strong>cir, y por ello, la fracción <strong>de</strong> memoria que <strong>de</strong>be asignarse a unprograma es variable en cada caso.A<strong>de</strong>más, la política <strong>de</strong> solapamiento y compartición <strong>de</strong>be tener en cuenta ciertas características internas <strong>de</strong> losprogramas que, invariablemente, <strong>de</strong>terminan la construcción modular y estructurada <strong>de</strong> los mismos.ETSII – Dpto. Tecnología Electrónica Página: 40 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASDichas características son:1. Localización temporal.Es la ten<strong>de</strong>ncia <strong>de</strong> un proceso a referirse, en un futuro próximo, a elementos utilizados recientemente.Las variables y los stacks <strong>de</strong>l proceso son ejemplos <strong>de</strong> elementos que ejercitan esta característica.<strong>2.</strong> Localización espacial.Es la ten<strong>de</strong>ncia que tienen los procesos a referirse a elementos próximos al espacio virtual antesrecorrido.3. Localización secuencial.Ten<strong>de</strong>ncia <strong>de</strong> los procesos a referenciar elementos <strong>de</strong> la secuencia inmediata.Para <strong>de</strong>cidir qué fracción <strong>de</strong> memoria principal ha <strong>de</strong> ser <strong>de</strong>struida o cargada en disco si ha sido modificadacuando se necesita leer otra, las reglas o criterios más empleados son:a) Regla FIFO (first-in, first-out).Se <strong>de</strong>struye la fracción que más tiempo lleva en la memoria principal para <strong>de</strong>jar un hueco en ésta.b) Regla LRU (least recently used).La porción que lleva más tiempo sin haber sido usada o actualizada.c) Regla LIFO (least-in, first-out).El hueco aparece en la memoria principal <strong>de</strong>struyendo o <strong>de</strong>volviendo a disco (si se ha modificado) la parteque lleva en memoria el menor tiempo.d) Regla LFO (least frecuently used).Deja hueco la porción que se ha pedido menos veces <strong>de</strong>s<strong>de</strong> que comenzó el proceso.e) Regla RAND (random). Se elige una porción al azar.f) Regla CLOCK.Cuando se coloca un bit <strong>de</strong> uso en cada entrada <strong>de</strong> una cola FIFO y se establececonvierte en circular. Es una aproximación al algoritmo LRU con una cola FIFO simple.un puntero que laM EMORIA PAGINADAEste mo<strong>de</strong>lo organiza el espacio virtual y el físico en bloques <strong>de</strong> tamaño fijo, llamados páginas.En un momento <strong>de</strong>terminado la memoria principal contendrá algunos <strong>de</strong> los bloques lógicos.Como las distintas posiciones <strong>de</strong> un bloque lógico y uno físico están or<strong>de</strong>nadas <strong>de</strong> forma idéntica, simplementehay que traducir el número <strong>de</strong>l bloque lógico al correspondiente <strong>de</strong>l bloque físico.Los métodos <strong>de</strong> traducción son diversos, <strong>de</strong>s<strong>de</strong> el más básico <strong>de</strong> correspon<strong>de</strong>ncia directa al más complejo <strong>de</strong>correspon<strong>de</strong>ncia asociativa, don<strong>de</strong> la búsqueda se realiza mediante el contenido <strong>de</strong> una memoria asociativa quemantiene las correspon<strong>de</strong>ncias virtual-física más recientemente utilizadas.En la práctica se utiliza una técnica mixta en la que las páginas más recientemente empleadas se encuentran enuna memoria asociativa y todas ellas en una tabla <strong>de</strong> correspon<strong>de</strong>ncia directa.Método <strong>de</strong> correspon<strong>de</strong>ncia directaLa dirección virtual consta <strong>de</strong> dos campos: un número <strong>de</strong> página virtual (npv) y un <strong>de</strong>splazamiento (d), <strong>de</strong>ntro <strong>de</strong>la página indicada.Con la dirección <strong>de</strong> la página virtual se acce<strong>de</strong> a una entrada <strong>de</strong> una Tabla <strong>de</strong> Páginas (TP) que proporciona,a<strong>de</strong>más <strong>de</strong> la dirección física <strong>de</strong> la página, una serie <strong>de</strong> información complementaria.Localizada la página física, el <strong>de</strong>splazamiento (d) sirve para completar la posición concreta <strong>de</strong>ntro <strong>de</strong> ella.En el momento <strong>de</strong> arranque, cada proceso activo <strong>de</strong>l sistema creaen la memoria principal una Tabla <strong>de</strong> Páginas(TP) que contiene una entrada por cada posible página virtual.ETSII – Dpto. Tecnología Electrónica Página: 41 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASLa configuración <strong>de</strong> las entradas <strong>de</strong> TP se muestra en la figura y consta <strong>de</strong> los siguientes campos:1. Bit <strong>de</strong> validación (V), que, cuando está activado, indica que la página existe.Si V = 0, la página no existe y se creará cuando haga falta.<strong>2.</strong> Bit <strong>de</strong> modificación (M), que indica si la página ha sido modificada en memoria.Este bit se utiliza en los algoritmos <strong>de</strong> reemplazo y actualización <strong>de</strong> la memoria.3. Código <strong>de</strong> acceso autorizado a la página (CAA), que pue<strong>de</strong> ser <strong>de</strong> lectura, escritura y/o ejecución.4. Bit <strong>de</strong> memoria/disco (D), indica si la página resi<strong>de</strong> en la memoria principal o no.En caso negativo, se activa un mecanismo <strong>de</strong> "falta <strong>de</strong> página", que provoca el trasvase <strong>de</strong> dicha página<strong>de</strong>s<strong>de</strong> el disco a la memoria.5. Dirección <strong>de</strong> la página (DP), que contiene la dirección <strong>de</strong> la página en memoria principal o la dirección<strong>de</strong> la misma en memoria virtual o disco, según que la página esté activa o inactiva <strong>de</strong> acuerdo con elseñalizador D.La dirección don<strong>de</strong> comienza la Tabla <strong>de</strong> Páginas (TP) está almacenada en el Registro Base <strong>de</strong> la Tabla <strong>de</strong>Páginas (RBTP). Para acce<strong>de</strong>r, sucesivamente, a las entradas <strong>de</strong> la TP se incrementa el valor correspondiente alnúmero <strong>de</strong> página virtual (npv) al que se guarda en RBTP.Para calcular la dirección física en memoria se concatena DP (número <strong>de</strong> página) con el <strong>de</strong>splazamiento d.Esto, si la página se encuentra en la memoria principal.El problema <strong>de</strong> este método estriba en que el número <strong>de</strong> entradas a la Tabla <strong>de</strong> Páginas (TP) ha <strong>de</strong> coincidir conel número <strong>de</strong> páginas virtuales, que es muy gran<strong>de</strong>.El empleo <strong>de</strong> una tabla inversa, es <strong>de</strong>cir, or<strong>de</strong>nada por el número <strong>de</strong> la página física reduce el número <strong>de</strong>entradas necesario, pero requiere una traducción con una función <strong>de</strong> búsqueda.ETSII – Dpto. Tecnología Electrónica Página: 42 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASEn efecto, puesto que a esta tabla se entra por el número <strong>de</strong> la página física, hay que ir leyendo secuencialmentesus elementos hasta que se encuentre el número <strong>de</strong> página lógica <strong>de</strong> partida. Como esta búsqueda hay querealizarla en cada acceso a memoria principal, el computador que la soporta sería lentísimo.Método <strong>de</strong> correspon<strong>de</strong>ncia asociativaEn este caso se dispone <strong>de</strong> una tabla inversa en tecnología asociativa, esto es, con memoria tipo CAM, que seencarga ella misma <strong>de</strong> soportar el proceso <strong>de</strong> búsqueda a muy alta velocidad, suministrando el número <strong>de</strong> páginafísica o una indicación <strong>de</strong> que la palabra lógica direccionada no se encuentra en memoria, en cuyo caso seelimina una página <strong>de</strong> la memoria principal (si no se ha modificado) y se trae la nueva al hueco que <strong>de</strong>ja.La memoria asociativa es aquella en la que se producen múltiples accesos <strong>de</strong> forma simultánea.En un simple acceso se pue<strong>de</strong>n direccionar todas las posiciones que satisfacen un criterio <strong>de</strong> selección.Dado el elevado, coste <strong>de</strong> las memorias asociativas, la tabla en CAM suele ser incompleta, albergando el conjunto<strong>de</strong> páginas activas" en un momento <strong>de</strong>terminado.Si la CAM origina falta, hay que acudir a la TP para comprobar si está en la memoria principal y, en su caso,actualizar la CAM. Si da falta la TP, hay que proce<strong>de</strong>r a un cambio <strong>de</strong> página entre memoria principal y CAM.ETSII – Dpto. Tecnología Electrónica Página: 43 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASMEMORIA SEGMENTADAEste mo<strong>de</strong>lo explota el concepto <strong>de</strong> modularidad <strong>de</strong> los programas construidos estructuralmente.Los módulos son conjuntos <strong>de</strong> informaciones que pue<strong>de</strong>n tratarse (compilarse, ejecutarse, etc.)in<strong>de</strong>pendientemente y que le relacionan mediante llamadas interprocedimientos, constituyendo programas que se<strong>de</strong>nominan segmentos.La segmentación es una técnica que organiza el espacio virtual en bloques <strong>de</strong> tamaño variable, que reciben elnombre <strong>de</strong> segmentos y que se colocan en memoria mediante algoritmos <strong>de</strong> localización <strong>de</strong> espacio libre.Los elementos <strong>de</strong> un segmento se i<strong>de</strong>ntifican mediante la dirección <strong>de</strong>l segmento al que pertenecen y un<strong>de</strong>splazamiento <strong>de</strong>ntro <strong>de</strong>l mismo.A semejanza con el mo<strong>de</strong>lo anterior, existe un Registro Base <strong>de</strong> la Tabla <strong>de</strong> Segmentos (RBTS), que direcciona elcomienzo <strong>de</strong> la Tabla <strong>de</strong> Segmentos (TS), <strong>de</strong> las que existe una por cada proceso activo.Cada entrada <strong>de</strong> la Tabla <strong>de</strong> Segmentos se compone <strong>de</strong> los siguientes campos:1. Código <strong>de</strong> acceso autorizado (CAA), que indica el modo <strong>de</strong> acceso permitido al segmento.<strong>2.</strong> Campo <strong>de</strong> longitud (L), que indica la longitud <strong>de</strong>l segmento.3. Bit <strong>de</strong> memoria/disco (D),que indica si el segmento está o no en memoria.4. Campo <strong>de</strong> dirección <strong>de</strong> segmento (DS), que contiene la dirección absoluta <strong>de</strong>l segmento en memoriao la posición <strong>de</strong>l segmento en disco, según el valor <strong>de</strong>l señalizador D.Dada la naturaleza variable en cuanto a longitud <strong>de</strong> los segmentos, se precisa algún algoritmo que localiceespacio libre para que resida el segmento apropiado, ya que no es corriente encontrar un bloque continuo en lamemoria, para colocarlo por completo.ETSII – Dpto. Tecnología Electrónica Página: 44 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASEstos algoritmos forman parte <strong>de</strong>l mecanismo <strong>de</strong> interrupción <strong>de</strong> falta <strong>de</strong> página y los más relevantes son:a) De mejor ajuste: Minimiza el <strong>de</strong>sperdicio, seleccionando el mejor agujero o fragmento inútil en el quese pue<strong>de</strong> colocar el segmento.b) De peor ajuste: Localiza el agujero que maximiza el <strong>de</strong>sperdicio al colocar el segmento.c) De primer ajuste: Localiza el agujero con una dirección inicial inferior en el que se pue<strong>de</strong> colocar elsegmento.d) Algoritmo buddy: Utiliza técnicas <strong>de</strong> compactación <strong>de</strong> memoria, fusionando espacios inútiles, <strong>de</strong>forma que se configuran bloques continuos <strong>de</strong>l tamaño a<strong>de</strong>cuado.Evi<strong>de</strong>ntemente, los segmentos pue<strong>de</strong>n ser compartidos por muchos procesos.Algunos sistemas utilizan tablas auxiliares, que apoyan la búsqueda <strong>de</strong> segmentos compartidos, como la Tabla <strong>de</strong>Segmentos Activos (TSA), que indica cuáles son los segmentos activos en memoria en cada instante y la Tabla <strong>de</strong>Segmentos Conocidos (TSC), que contiene en cada entrada un nombre-segmento/número-segmento por cadasegmento ya utilizado en el proceso.Uno <strong>de</strong> los procedimientos más aceptados para la gestión <strong>de</strong> la memoria virtual es el que utilizan losminicomputadores PDP-11 <strong>de</strong> Digital Equipment Corporation.La dirección virtual <strong>de</strong> 16 bits, se divi<strong>de</strong> en un campo <strong>de</strong> 3 bits, que selecciona uno <strong>de</strong> los 8 registros base <strong>de</strong> 12bits existentes, y otro campo <strong>de</strong> 13 bits <strong>de</strong> <strong>de</strong>splazamiento.La dirección física <strong>de</strong> 18 bits se calcula sumando al registro base, los 7 bits <strong>de</strong> más peso <strong>de</strong>l <strong>de</strong>splazamientoprecedidos <strong>de</strong> cinco ceros, y concatenando al resultado los 6 bits <strong>de</strong> menos peso <strong>de</strong>l <strong>de</strong>splazamiento.Se logra variar la longitud <strong>de</strong> los segmentos entre 64 bytes y 8 Kbytes.ETSII – Dpto. Tecnología Electrónica Página: 45 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASMEMORIA CON SEGMENTOS PAGINADOSEsta memoria combina las ventajas <strong>de</strong> los dos mo<strong>de</strong>los anteriores.Cada segmento se divi<strong>de</strong> en páginas, <strong>de</strong> forma que, para acce<strong>de</strong>r a cualquier elemento <strong>de</strong> un segmento, elsistema acu<strong>de</strong> a la Tabla <strong>de</strong> Páginas (TP) <strong>de</strong> dicho segmento.Este procedimiento lo usa el microprocesador 80386 <strong>de</strong> Intel.Si se aplica la técnica asociativa, que se muestra en la figura siguiente, para realizar la traducción, el tratamiento<strong>de</strong> las interrupciones <strong>de</strong> "fallo en el acceso" <strong>de</strong>be contemplar los siguientes aspectos:1. Ausencia en el número <strong>de</strong> página en la memoria asociativa, en cuyo caso se obtendrá la dirección <strong>de</strong>página <strong>de</strong> la TP correspondiente.<strong>2.</strong> Ausencia <strong>de</strong>l número <strong>de</strong> segmento en la memoria asociativa.Supone una búsqueda en la Tabla <strong>de</strong> Segmentos Activos (TSA) y, en el peor <strong>de</strong> los casos, en el directorio<strong>de</strong> ficheros <strong>de</strong>l disco, para recuperar el segmento y/o los atributos.3. En sistemas multiprogramados, la activación <strong>de</strong> un nuevo proceso que genera su propio espacio <strong>de</strong>dirección invalida las entradas anteriores <strong>de</strong> la memoria asociativa.ETSII – Dpto. Tecnología Electrónica Página: 46 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASEn la figura siguiente se muestra gráficamente el procedimiento que emplea National, en un microprocesador <strong>de</strong>32 bits, para gestionar la memoria virtual.La dirección virtual <strong>de</strong> 24 bits dispone <strong>de</strong> 3 campos.• El <strong>de</strong> más peso <strong>de</strong> 8 bits relaciona el número <strong>de</strong> segmento ns, en una tabla <strong>de</strong> segmentos TS <strong>de</strong> 256entradas <strong>de</strong> 32 bits.• La entrada <strong>de</strong> TS selecciona una <strong>de</strong> las 256 tablas <strong>de</strong> página TP (128 entradas <strong>de</strong> 32 bits), en la cualse relaciona una entrada mediante el 2º campo <strong>de</strong> 7 bits <strong>de</strong> la dirección virtual.• Finalmente la entrada <strong>de</strong> la TP apunta a una <strong>de</strong> las 3<strong>2.</strong>000 páginas, <strong>de</strong> 512 bytes cada una, en que sedivi<strong>de</strong> la memoria principal.• La posición <strong>de</strong> la página seleccionada la <strong>de</strong>termina el 3º campo <strong>de</strong> 9 bits <strong>de</strong> la dirección virtual.ETSII – Dpto. Tecnología Electrónica Página: 47 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASFinalmente, en la figura se muestra el esquema general <strong>de</strong> un procesador dotado con memoria virtual.En él, en lugar <strong>de</strong> emplearse una memoria asociativa gran<strong>de</strong>, cara y lenta, se divi<strong>de</strong> la tabla <strong>de</strong> páginas físicas,con su equivalente lógica en dos partes.La primera resi<strong>de</strong> en una pequeña memoria asociativa <strong>de</strong> alta velocidad que alberga aquellos elementos <strong>de</strong> latabla que han sido empleados más recientemente.Esta memoria recibe el nombre <strong>de</strong> TLB (Transiation Looksi<strong>de</strong> Buffer).La segunda consiste en una tabla directa, llamada TP, que resi<strong>de</strong> en la memoria principal y que contiene todas laspáginas lógicas asignadas a un proceso.ETSII – Dpto. Tecnología Electrónica Página: 48 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASEl funcionamiento es el siguiente:a) Las direcciones generadas por la UCP son enviadas a la TLB, que produce la correspondiente páginafísica o una señal <strong>de</strong> fallo.b) Si la dirección está en la TLB, se acce<strong>de</strong> a la palabra <strong>de</strong> memoria principal, con lo que finaliza elproceso.c) En caso <strong>de</strong> fallo <strong>de</strong> la TLB, se pasa a leer TP para comprobar si la página está o no en memoriaprincipal. Como ya se ha dicho, TP resi<strong>de</strong> en memoria principal y hay un registro (PTP) <strong>de</strong>dicado aapuntar el principio <strong>de</strong> dicha tabla.d) Si se produce acierto en TP, se actualiza la TLB, eliminando uno <strong>de</strong> sus elementos para incluir latraducción <strong>de</strong> la nueva página. A<strong>de</strong>más, se acce<strong>de</strong> a la palabra <strong>de</strong>seada en la memoria principal.e) Si la TP da fallo, o sea, la referencia <strong>de</strong>seada no está en una página <strong>de</strong> la memoria principal, hay que<strong>de</strong>terminar, <strong>de</strong> acuerdo con una política <strong>de</strong> reemplazo, qué página hay que eliminar para po<strong>de</strong>r traer <strong>de</strong>ldisco la que originó el fallo.f) Puesto que el proceso <strong>de</strong> reemplazo <strong>de</strong> páginas es una operación larga (hay que acce<strong>de</strong>r al disco), secongela el proceso que ha causado el fallo y se lanza un nuevo proceso.Generalmente, es el sistema operativo quien <strong>de</strong>termina la página a reemplazar, congela el proceso en curso y dacontrol a otro proceso. Sin embargo, la función <strong>de</strong> lectura en la tabla TP para comprobar si la página está enmemoria principal, hay que realizarla por hardware, por razones <strong>de</strong> velocidad.La propia Unidad <strong>de</strong> Control, o bien una unidad especial, soporta dicha función.ETSII – Dpto. Tecnología Electrónica Página: 49 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASMEMORIA CACHE O INMEDIATAEs una memoria auxiliar, <strong>de</strong> pequeña capacidad y alta velocidad, que se aña<strong>de</strong> a la memoria principal paraacelerar su funcionamiento.Suele ser <strong>de</strong>l or<strong>de</strong>n <strong>de</strong> 5 a 10 veces más rápida que la memoria principal y su tamaño mucho menor..En la memoria cache se guardan las posiciones <strong>de</strong> memoria principal que más frecuentemente se prevee se van ausar. De esta forma, al realizar un acceso a la memoria principal, primero se comprueba si esa posición se hallaen la memoria cache, ganando el acceso mucha velocidad en caso afirmativo.El funcionamiento <strong>de</strong> la memoria cache con respecto a la memoria principal es muy parecido al <strong>de</strong> la memoriaprincipal con respecto a la virtual.Mientras que el concepto <strong>de</strong> memoria virtual se orientaba hacia el aumento <strong>de</strong> capacidad, la memoria cache sediseña para incrementar la velocidad <strong>de</strong> acceso.Las memorias cache y principal se divi<strong>de</strong>n en bloques o líneas <strong>de</strong> unos pocos bytes, que hacen la función <strong>de</strong>páginas. En este caso, la propia cache se encarga <strong>de</strong> realizar la traducción <strong>de</strong> los números <strong>de</strong> bloque, generandola señal <strong>de</strong> fallo cuando la referencia <strong>de</strong>seada no se encuentra en ella.La secuencia <strong>de</strong> funcionamiento es la siguiente:1. La UCP genera una dirección.En el caso <strong>de</strong> tratarse <strong>de</strong> una máquina virtual, la dirección virtual <strong>de</strong>be traducirse previamente a física.Conocida la dirección física, ésta se envía a la cache.<strong>2.</strong> La memoria cache realiza la traducción a dirección <strong>de</strong> cache y comprueba si tiene la referencia; en casoafirmativo, realiza el acceso y finaliza el proceso.3. En caso <strong>de</strong> producirse fallo en la cache, se acce<strong>de</strong> directamente a la palabra <strong>de</strong>seada <strong>de</strong> la memoriaprincipal y se proce<strong>de</strong> a seleccionar un bloque para ser sustituido en la cache.4. Si el bloque a sustituir no ha sufrido modificación en la cache, el proceso se limita a leer <strong>de</strong> memoriaprincipal el nuevo bloque y almacenarlo en la cache. Si el bloque fue modificado, previamente habrá queleerlo <strong>de</strong> la cache y almacenarlo en la memoria principal, antes <strong>de</strong> rellenarlo con la nueva información.Puesto que el tiempo empleada en leer un bloque <strong>de</strong> unas pocas palabras <strong>de</strong> memoria principal es muy pequeño,todo el proceso <strong>de</strong> selección <strong>de</strong>l bloque a reemplazar se <strong>de</strong>be efectuar por hardware.El empleo apropiado <strong>de</strong> la cache pue<strong>de</strong> dar una tasa <strong>de</strong> aciertos superior al 90%, por lo que la velocidad aparente<strong>de</strong> la memoria principal se aproxima mucho a la <strong>de</strong> la cache.T IPOS DE MEMORIA CACHEDe acuerdo con el modo <strong>de</strong> "traducción" <strong>de</strong> las direcciones <strong>de</strong> memoria principal a direcciones <strong>de</strong> memoria cache,éstas se clasifican en los siguientes tipos:1. De correspon<strong>de</strong>ncia directa.<strong>2.</strong> De asociación completa.3. De asociación <strong>de</strong> conjuntos.4. De correspon<strong>de</strong>ncia vectorizada.ETSII – Dpto. Tecnología Electrónica Página: 50 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASMemorias cache <strong>de</strong> correspon<strong>de</strong>ncia directaSe establece una correspon<strong>de</strong>ncia entre el bloque K <strong>de</strong> la memoria principal y el bloque k, módulo n, <strong>de</strong> la cache,siendo n el número <strong>de</strong> bloques <strong>de</strong> la memoria cache.Este tipo es simple y económico, por no requerir comparaciones asociativas en las búsquedas.De todas formas, en sistemas multiprocesador pue<strong>de</strong>n registrarse graves contenciones en el caso <strong>de</strong> que variosbloques <strong>de</strong> memoria correspondan concurrentemente en un mismo bloque <strong>de</strong> la cache.Como se muestra en el esquema <strong>de</strong> operatividad <strong>de</strong> estos dispositivos, una dirección <strong>de</strong> memoria consta <strong>de</strong> 3campos: - Campo <strong>de</strong> etiqueta.- Campo <strong>de</strong> bloque.- Campo <strong>de</strong> palabra.ETSII – Dpto. Tecnología Electrónica Página: 51 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASMemoria asociativa completaEn este mo<strong>de</strong>lo se establece una correspon<strong>de</strong>ncia entre el bloque k <strong>de</strong> la memoria y el bloque j <strong>de</strong> la cache, en laque j pue<strong>de</strong> tomar cualquier valor. .No se produce contención <strong>de</strong> bloques y es muy flexible, pero su implementación es cara y muy compleja, ya queel mo<strong>de</strong>lo se basa completamente en la comparación asociativa <strong>de</strong> etiquetas.Memoria cache <strong>de</strong> asociación <strong>de</strong> conjuntosSe divi<strong>de</strong> la memoria en c conjuntos <strong>de</strong> n bloques, <strong>de</strong> forma que al bloque k <strong>de</strong> memoria correspon<strong>de</strong> unocualquiera <strong>de</strong> los bloques <strong>de</strong> la memoria <strong>de</strong>l conjunto k, módulo c.La búsqueda se realiza asociativamente por el campo <strong>de</strong> etiqueta y directamente por el número <strong>de</strong>l sector.De este modo se reduce el costo frente al-mo<strong>de</strong>lo anterior, manteniendo gran parte <strong>de</strong> su flexibilidad y velocidad.Es la estructura más utilizada.Memoria cache <strong>de</strong> correspon<strong>de</strong>ncia vectorizadaEl mo<strong>de</strong>lo divi<strong>de</strong> a la memoria principal y a la cache en s sectores compuestos <strong>de</strong> n bloques.La relación se establece <strong>de</strong> cualquier sector a cualquier sector, siendo marcados los bloques no referenciados <strong>de</strong>lsector como no válidos.Esta estructura también reduce costos, minimizando el núcleo <strong>de</strong> etiquetas para la comparación asociativa.Capitulo <strong>2.</strong>11.- PROTECCION DE LA MEMORIA PRINCIPALSe trata <strong>de</strong> un mecanismo que evita que un proceso acceda a una zona <strong>de</strong> memoria que no le ha sido asignada.El tema <strong>de</strong> protección adquiere su mayor importancia en los ambientes concurrentes multiusuario, en los quepreviene la intromisión <strong>de</strong> los programas <strong>de</strong> usuario entre sí y <strong>de</strong> los programas usuario con el supervisor <strong>de</strong>lsistema.Los métodos que existen para proteger la memoria son variados, pero el más común se basa en dividir el espaciodireccionable en parcelas que poseen una clave específica <strong>de</strong> acceso.Cuando las parcelas son compartidas por varios procesos, <strong>de</strong>berá incluirse en la clave <strong>de</strong> acceso un i<strong>de</strong>ntificador<strong>de</strong>l mismo. Este método se utiliza mucho en sistemas con memoria virtual paginada, puesto que su filosofía escompatible con la división <strong>de</strong> la memoria que se requiere.A continuación se <strong>de</strong>scriben los mecanismos más importantes usados en la protección <strong>de</strong> memoria.Registros <strong>de</strong> bor<strong>de</strong>Este sistema se pue<strong>de</strong> aplicar en el caso <strong>de</strong> asignar a los procesos zonas contiguas <strong>de</strong> memoria.En este supuesto, cada proceso tiene asignada una franja <strong>de</strong> memoria, como se representa en la figura.La protección queda garantizada por dos registros <strong>de</strong> bor<strong>de</strong> o límite, que contienen los valores superior e inferior<strong>de</strong> las direcciones <strong>de</strong> la franja <strong>de</strong>l proceso activo, auxiliados por un comparador, que verifica cada referenciagenerada por el proceso para garantizar que se encuentra <strong>de</strong>ntro <strong>de</strong> la zona válida.En el caso <strong>de</strong> fallo en la comparación, el comparador invalida el acceso a memoria y traslada el control al sistemaoperativo, que se encarga <strong>de</strong> cancelar el proceso causante <strong>de</strong>l intento <strong>de</strong> violación, produciendo loscorrespondientes mensajes.El sistema operativo carga los registros <strong>de</strong> bor<strong>de</strong> con los valores <strong>de</strong>l proceso, antes <strong>de</strong> otorgarle el control.La carga se efectúa mediante instrucciones privilegiadas que los procesos normales no pue<strong>de</strong>n ejecutar paraevitar que puedan auto-ampliarse su zona <strong>de</strong> memoria.ETSII – Dpto. Tecnología Electrónica Página: 52 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASCerrojo y claveLos registros <strong>de</strong> bor<strong>de</strong> no permiten establecer matizaciones o niveles en la protección, como pue<strong>de</strong>n ser lossiguientes:- Acceso <strong>de</strong> lectura y escritura (por ejemplo, a zonas <strong>de</strong> datos propios).- Acceso <strong>de</strong> lectura (por ejemplo, a programas y datos <strong>de</strong> otros procesos).- Acceso <strong>de</strong> escritura (por ejemplo, <strong>de</strong> un usuario <strong>de</strong> un buffer <strong>de</strong> E/S).- Acceso <strong>de</strong> ejecución (por ejemplo, <strong>de</strong> un programa <strong>de</strong> otro usuario).Para diferenciar estas alternativas se establece un cerrojo y una clave.La memoria se divi<strong>de</strong> en parcelas, <strong>de</strong> tamaño fijo o variable, a las que se asignan unos códigos <strong>de</strong> acceso paralos diversos niveles <strong>de</strong> protección previstos.Para que un proceso pueda emplear, en un nivel <strong>de</strong> acceso <strong>de</strong>terminado, una <strong>de</strong> esas parcelas <strong>de</strong>be conocer laclave correspondiente.Esta protección se pue<strong>de</strong> implantar en la memoria virtual y en la física.En el primer caso, es el sistema operativo quien comprueba la correspon<strong>de</strong>ncia <strong>de</strong> las claves, antes <strong>de</strong> or<strong>de</strong>nar elacceso <strong>de</strong> un proceso a una página lógica.En el segundo caso, se implanta una circuitería específica para soportar la protección.El mecanismo hardware que emplean algunas máquinas para la protección funciona <strong>de</strong> la siguiente manera:- Se divi<strong>de</strong> la memoria física en bloques o parcelas <strong>de</strong> varios Kbytes, a los que se asigna una serie <strong>de</strong> bits<strong>de</strong> cerrojo.- Cada proceso tieneentregarle el control.asignado un código, que el sistema operativo almacena en un registro antes <strong>de</strong>- En los accesos a memoria, se compara el código <strong>de</strong>l proceso con el cerrojo <strong>de</strong>l bloque direccionado.Si coinci<strong>de</strong>n, se atien<strong>de</strong> la petición <strong>de</strong> acceso. En caso contrario, se rechaza el acceso y se emplea estaseñal <strong>de</strong> violación como excepción o trap, para bifurcar al sistema operativo.ETSII – Dpto. Tecnología Electrónica Página: 53 / 54 MSA


Sistemas <strong>de</strong> MultiprocesamientoMEMORIASInstrucción "TEST AND SET"Hay un tipo <strong>de</strong> situación frecuente que exige una protección especial.Se trata <strong>de</strong> las zonas <strong>de</strong> datos accesibles, a nivel <strong>de</strong> lectura y escritura simultáneas, por varios procesos.Normalmente, es necesario que cuando un proceso está haciendo una actualización <strong>de</strong> esos datos, otrosprogramas tengan prohibido el acceso a los mismos.Para ello se emplea un único bit <strong>de</strong> inhibición por zona <strong>de</strong> datos, bit que <strong>de</strong>be ser manejado mediante unainstrucción especial "TEST AND SET"; en el caso <strong>de</strong> estar el bit a cero, lo cambia a uno y el programa esautorizado a usar en exclusiva esa zona <strong>de</strong> datos.Si una interrupción u otra causa pasan el control a otro programa que <strong>de</strong>sea acce<strong>de</strong>r a la zona, al ejecutar lainstrucción TEST AND SET sobre el bit correspondiente, y estar a uno, se le niega el acceso a esos datos.Cuando el programa finaliza su operación sobre los referidos datos, pone a cero el bit <strong>de</strong> inhibición, con lo que lazona queda disponible para otros procesos.ETSII – Dpto. Tecnología Electrónica Página: 54 / 54 MSA

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!