Anexo 2. - Departamento de TecnologÃa Electrónica
Anexo 2. - Departamento de TecnologÃa Electrónica
Anexo 2. - Departamento de TecnologÃa Electrónica
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