Práctica Tema 5: Sistema de memorias.
Duración: Dos sesiones.
Herramientas: Simulador LOGISIM, Práctica de memorias (Colgado en Campus Virtual).
Descripción: Durante la práctica se harán los 5 problemas propuestos que hay en el
pdf. Estos ejercicios consisten en aprender a usar dos componentes muy importante
del Logisim, los componentes RAM y ROM. En el pdf antes de pedirte que realice los
ejercicios, te describe cómo funciona estos dos componentes, básicamente te dicen el
comportamiento que tienen y el funcionamiento de los pines de estos componentes.
Para terminar está explicación previa a los ejercicios, te describen como modificar los
conteniendo de memoria utilizando la herramienta de cambio. Estas herramientas las
puestas utilizar de dos formas distintas, o bien para editar y consultar valores del
circuito o para editar la dirección que se visualiza.
Tras la introducción pasemos a los ejercicios:
Para empezar para crear una memoria RAM, tenemos que buscar en el menú y
seleccionar la herramienta ¨memoria¨ y luego ¨RAM¨.
En la RAM poseemos 4 pines que son:
-¨Sel¨, es el selector, permite elegir cual chip vamos a utilizar para la lectura de
datos en caso de poseer más de un chip.
-¨Triángulo¨, permite carga de escritura o datos.
-¨Out¨, significa lectura de datos.
-¨Clr¨, sirve para resetear el contenido de la memoria.
En el primer ejercicio nos pide introducir una memoria RAM de 64Kx8 y realizar un
circuito que permita leer y escribir en ella. En la imagen vamos a ver como se compone
la RAM.
En el ejercicio 2 como ya hemos dicho antes, la memoria es de 64Kx8, sabemos que el
bus de datos tiene que ser de 8bits, y el bus de direcciones realizando la operación:
64K = 2^10*2^6(1K*64)=2^16
Nos sale que el bus de direcciones ha de ser de 16 bits.
Luego en el siguiente ejercicio nos pide un aumento de memoria, por ejemplo 64Kx16,
para que el bus de direcciones que calculamos antes sea el mismo (16). La cantidad de
memoria direccionable sigue siendo 64K. Una vez dicho esto pasamos a explicar que
significa el ¨x16¨ ya que antes era ¨x8¨, esto sirve para indicar como es la
entrada/salida de datos. La única diferencia es que como antes teníamos una salida de
8bits(x8), y como ahora es el doble pues tendremos otro chip adicional de 64x8, por lo
cual si sumamos las salidas de datos de las memorias, tenemos los 16bits(x16) que es
lo que queríamos.
Ahora un detalle, como tenemos dos chips por ejemplo, para referirnos a uno u otro
cuando tomamos o escribimos un datos, simplemente nos referiremos a ellos dos
como uno, es decir que si seleccionamos uno, también seleccionamos el otro.
En el ejercicio 3 nos pide que ampliemos la memoria a 128Kx16, ¿Cómo realizamos
esta ampliación de memoria?
El bus de datos sigue siendo de 16 bits, tal y como dijimos en el ejemplo anterior
tenemos 2 chips de 64x8 como poco, y si 128K= 64K * 2, pues necesitaremos el doble
que antes, es decir, 4 chips. Estos 4 chips van conectados al mismo bus de direcciones
y de datos. Quedaría tal y como viene en la imagen.
Otro pequeño detalle, una diferencia entre intercambiar RAM por ROM, en la ROM sólo
tenemos 3 pines (en la RAM teníamos 4 pines).Para esta diferencia sólo hay que
sustituir la línea de cables donde corresponda.
Los ejercicios 4 y 5 se realiza de la misma manera que los ejercicios que ya hemos hecho.En el ejercicio 4 nos pide ampliar la memoria hasta 256Kx16. Quedaría tal y como viene en la siguiente imagen.
Para finalizar, en el ejercicio 5 nos pide transformar la estructura del anterior punto para que los primeros 64K sean de memoria ROM , quedaría tal y como viene en la siguiente imagen.
Dificultades: La dificultad de esta práctica dependerá del manejo que poseas con el
Logisim, pero si sabe la teoría y sabes manejar el Logisim, es una práctica no muy
difícil, ya que en el pdf dónde vienen los ejercicios de esta práctica te van indicando
todo lo que tienes que hacer.
FAQs:
¿ Donde puedo encontrar la RAM ?
En el menú, pinchamos en la carpeta memoria y seleccionamos la RAM.
¿ Donde puedo encontrar la ROM ?
En el menú, pinchamos en la carpeta memoria y seleccionamos la ROM.
¿ Para que sirven los pines de la RAM ?
-¨Sel¨, es el selector, permite elegir cual chip vamos a utilizar
para la lectura de datos en caso de poseer más de un chip.
-¨Triángulo¨, permite carga de escritura o datos.
-¨Out¨, significa lectura de datos.
-¨Clr¨, sirve para resetear el contenido de la memoria.
¿ Como cambio los bit de datos o direcciones de la RAM o ROM ?
Pinchas sobre ella, y en el menú que se desplegá a la izquierda puedes encontrar ambas.
¿ Que significa ancho incompatible y como lo soluciono ?
Debes revisar las dos piezas indicadas ya que el numero de bits de datos sera distinto
en estas piezas
¿ Como hago que un pin sea tri-estado ?
Pinchas sobre el y en el menú que se desplegá a la izquierda puedes encontrar “¿ tres-estados”
solo tienes que marcar si.
¿ Como consigo unir varias salidas en una sola entrada o al contrario ?
En el panel del explorador vais a wiring dentro encontrareis una pieza llamada
separador.