Práctica 2. Memorias - Club Atletismo Chiclana

Anuncio
Estructura y Tecnología de Computadores
Práctica 2
Práctica 2. Memorias
1.1.
Objetivos
Con la siguiente práctica se pretende familiarizar al alumno con las memorias de semiconductores de tipos
ROM y RAM. Se trabajará con ambos tipos y con distintas capacidades para conseguir asimilar los conceptos
expuestos en las clases teóricas. Los conceptos a reforzar son: líneas de direcciones, de datos y de control.
También se hará hincapié en la ampliación de memoria para conseguir mayor capacidad o mayor tamaño de
palabra.
El software que se utilizará es el programa denominado Digital Works de distribución gratuita y que el
alumno puede descargar en la plataforma virtual de la asignatura. Algunos estarán ya familiarizados con el
mismo, puesto que se ha usado durante el desarrollo de algunas prácticas de la asignatura Fundamentos de
Sistemas Digitales en la especialidad de Sistemas.
Aquellos que desconozcan el entorno de Digital Works pueden descargar también un documento de ayuda
sin más que acudir nuevamente a la plataforma virtual de la asignatura.
1.2.
1.
Desarrollo de la práctica
Trabajando con una memoria ROM
Una vez iniciada la aplicación DigitalWorks, localice el dispositivo memoria en la barra de herramientas, el
icono usado es
, pique sobre él y a continuación sobre el área de trabajo, una ventana que le preguntará:
-
Tipo de memoria: podrá elegir entre tipo RAM o ROM, en esta ocasión seleccione ROM
-
Capacidad: mediante la indicación de las líneas de dirección y las de datos, puede especificarse la
capacidad en bits que tendrá la memoria. Utilice una memoria 32 bits (16x2)
A continuación picando sobre el botón OK, aparecerá un elemento de memoria en el área de trabajo.
Observe que al tratarse de una memoria de solo lectura (ROM) la línea de control que necesita será solo la de
selección de chip (CS), que tal y como indica el símbolo es activa a nivel bajo.
Inicialmente, en cada posición de memoria está almacenado el dato 00. Para modificar el contenido de las
distintas posiciones de memoria existe una ventana denominada Memory Contents y que podemos obtener
sin más que picar con el botón derecho del ratón sobre el dispositivo de memoria ya colocado.
4
Estructura y Tecnología de Computadores
Práctica 2
Observe que en el campo de direcciones, expresadas estas en formato hexadecimal, aparecen 4 dígitos. En el
caso que nos ocupa, habiendo elegido sólo 4 líneas de dirección, será suficiente un digito hexadecimal para
expresar las 16 posiciones posibles. El resto de dígitos se quedarán siempre a 0.
Compruebe desplazando la barra de la derecha de la ventana Memory Contents, como las direcciones van de
la 0 a la F.
El siguiente campo de la tabla es el de contenidos, es decir, el dato que se almacena en cada dirección de
memoria. El dato viene expresado en formato binario y es editable picando con el ratón sobre la posición que
interese modificar.
Realice las modificaciones necesarias para conseguir que el contenido de la memoria ROM sea el que aparece
en la siguiente ventana:
Para comprobar el contenido de la memoria, añadiremos algunos elementos alrededor de la misma. Estos
nuevos elementos permitirán ir seleccionando la dirección que se desea leer así como visualizar el dato
contenido en la dirección seleccionada.
Los elementos a añadir se encuentran disponibles en la barra de herramientas y son los denominados Input
Interactive y Leds .
Coloque en la zona de trabajo cuatro entradas interactivas y dos leds distribuidos de forma similar al dibujo
que se muestra
4
Estructura y Tecnología de Computadores
Práctica 2
Las entradas interactivas se conectarán a las líneas de dirección A3-A0 para con ellas seleccionar las
direcciones a leer. En las salidas de datos D1-D0 colocaremos sendos leds para visualizar el dato contenido
en la dirección seleccionada.
Para interconectar estos nuevos elementos a la memoria utilice el botón wire
.
Ya está el circuito construido y por tanto podemos ver su funcionamiento, pulse sobre el botón run
.
Observe que por defecto la dirección inicialmente seleccionada es la 0000, en binario. Al seleccionar esta
dirección el dato de salida debe se “11”, se comprueba que es correcto ya que los leds se “encienden” lo que
significa que le les llega el valor “1” binario a cada uno.
Para seleccionar otras direcciones pique sobre el botón Object interaction selector , y con esa “manita”
pique con el ratón sobre la entrada interactiva que quiere cambiar a valor “1”, tomará un color rojo.
De este modo, compruebe que el dato contenido en todas las direcciones se corresponde con el que se
introdujo mediante la tabla.
Vuelva a colocar en las entradas el valor 0000, dirección 0 de memoria cuyo contenido debe ser “11”.
Hasta ahora no hemos hecho uso de la línea de control CS, para usarla añadiremos una entrada interactiva al
circuito y la interconectaremos con la entrada CS de la memoria. Con la “manita” modifique el valor de esta
entrada, CS, para que tome valor “1”, y por tanto haga que la memoria deje de funcionar.
Pruebe ahora a seleccionar la dirección 1111, el dato de salida que debe visualizarse es “00”, sin embargo
como CS esta a nivel alto, desactiva el chip y mantiene el último dato leído (esto es un error de Digital Works,
debería mostrar las salidas en estado de alta impedancia). Si vuelve a conmutar el estado de CS, ya aparecerá el
dato que se almacenó en la dirección 1111, o sea, 0000.
2. Trabajando con una memoria RAM
Siguiendo los pasos anteriores coloque ahora un dispositivo de memoria de tipo RAM en el área de trabajo de
Digital Works. La RAM tendrá un bus de direcciones de 4 líneas y 2 para el de datos.
En esta ocasión deberá añadirse una circuitería adicional para poder conectar tanto entradas interactivas que
sirvan para escribir valores en memoria, como leds que visualicen el contenido de las distintas posiciones de
memoria. La circuitería que se añade sirve para evitar conflictos eléctricos entre los leds y las entradas
interactivas que van a compartir el bus de datos.
El circuito quedaría como se indica en la siguiente figura:
Una vez creado el esquema pruebe a escribir en distintas posiciones de memoria datos mediante la activación
de la línea R/W. Luego pruebe a leer esas mismas direcciones para comprobar que efectivamente se
guardaron.
3.
a)
Ampliación de memoria
Combine elementos de memoria ROM de 16 x 4 para implementar una ROM total de 32 x 4 .
Introduzca el siguiente contenido en cada dispositivo de memoria y compruebe el comportamiento
global del sistema seleccionando direcciones de ambos módulos.
4
Estructura y Tecnología de Computadores
Práctica 2
ROM1
b)
ROM2
Dirección
Dato
Dirección
Dato
10000
1111
00000
0000
10001
0000
00001
0000
10010
1010
00010
1111
….
…
….
…
11111
0111
01111
1111
Combine elementos de memoria RAM de 32 x 4 para implementar un sistema con 32 bytes.
Introduzca en cada módulo de memoria el contenido que se indica en las tablas siguientes. A
continuación efectúe lecturas del sistema de memoria y compruebe que el dato de salida de 8 bits se
corresponde con los datos introducidos.
RAM1
c)
RAM0
Dirección
Dato
Dirección
Dato
00000
0000
00000
0000
00001
0000
00001
0101
00010
0000
00010
0000
00011
0101
00011
0000
….
……
….
……
Diseñe un sistema de memoria de 64 bytes de ROM y 32 bytes de RAM a partir de pastillas de
memoria de 32x8 de ROM y de 32x4 de RAM4. Diseñe la circuitería externa necesaria para la
decodificación externa mediante puertas lógicas. Finalizado el esquema introduzca datos en las
memorias y efectúe lecturas en los distintos módulos para comprobar el funcionamiento del sistema
de memoria.
Se recomienda seguir los siguientes pasos para llegar a la solución final:
 Determinar el número de pastillas necesarias de RAM y ROM
 Número de líneas de dirección necesarias en cada tipo de pastilla de memoria
 Líneas de dirección mínimas que necesita el procesador para acceder al sistema de memoria
propuesto
 Mapa de memoria direccionable por el procesador
 Ubicación en el mapa de memoria de los módulos a implementar
4
Descargar