prÁctica 3. registro de corrimiento y bancos de memoria

Upload: jessika-nieto-alcantara

Post on 20-Jul-2015

879 views

Category:

Documents


6 download

TRANSCRIPT

INSTITUTO POLITCNICO NACIONALEscuela Superior de Ingeniera Mecnica y Elctrica Unidad Zacatenco

LABORATORIO DE MICROPROCESADORES

PRCTICA No. 3 REGISTROS DE CORRIMIENTO Y BANCOS DE MEMORIA.

PROF.:

M. en C. Armando Martnez Ros

ALUMNOS: Martnez Zamudio Miguel ngel Nieto Alcantara Jessika

MATERIA:

Microprocesadores

GRUPO:

6CM2

OBJETIVO: Comprobar la operacin y el funcionamiento de bancos de memoria y registros de corrimiento. EQUIPO: a) b) c) d) Fuente de alimentacin 5V. Tablilla de experimentacin. Computadora Programador Universal SuperPro Z

MATERIAL: Resistores y LEDS Oscilador 1Hz. Dip switch. Cables de conexin. GAL 22V10.

MARCO TERICO. BANCOS DE MEMORIA. Los mdulos de memoria RAM son tarjetas de circuito impreso que tienen soldados integrados de memoria DRAM por una o ambas caras. La implementacin DRAM se basa en una topologa de Circuito elctrico que permite alcanzar densidades altas de memoria por cantidad de transistores, logrando integrados de decenas o cientos de Megabits. Adems de DRAM, los mdulos poseen un integrado que permiten la identificacin de los mismos ante el computador por medio del protocolo de comunicacin SPD. La conexin con los dems componentes se realiza por medio de un rea de pines en uno de los filos del circuito impreso, que permiten que el modulo al ser instalado en un zcalo apropiado de la placa base, tenga buen contacto elctrico con los controladores de memoria y las fuentes de alimentacin. La figura siguiente esquematiza un agrupamiento de ese tipo. Una tarjeta de memoria puede presentar el aspecto que ilustra la figura:

Observe la divisin de la tarjeta en grupos de memoria llamados "bancos". Cada banco generalmente se encuentra totalmente ocupado por circuitos idnticos o totalmente vacos. Cada banco puede estar ocupado por circuitos individuales de capacidad variable, a condicin de que la lgica de administracin haya sido prevista en la mquina. De este modo se pueden obtener varias combinaciones.

CARACTERSTICAS El espacio de direcciones lgico de un proceso puede ser no contiguo. Se divide la memoria fsica en bloques de tamao fijo llamados marcos (frames). Se divide la memoria en bloques de tamao llamados pginas. Es posible comenzar a ejecutar un programa, cargando solo una parte del mismo en memoria, y el resto se cargara bajo la solicitud. No es necesario que las paginas estn contiguas en memoria, por lo que no se necesitan procesos de compactacin cuando existen marcos de paginas libres dispersos en la memoria. Es fcil controlar todas las pginas, ya que tienen el mismo tamao.

REGISTRO DE DESPLAZAMIENTO. Los registros de desplazamiento son circuitos secuenciales formados por biestables o flip-flops generalmente de tipo D conectados en serie y una circuitera adicional que controlar la manera de cargar y acceder a los datos que se almacenan. En los de desplazamiento se transfiere informacin de un flip-flop hacia el adyacente, dentro del mismo registro o a la entrada o salida del mismo. La capacidad de almacenamiento de un registro es el nmero total de bits que puede contener.

E funcionamiento se realiza de manera sncrona con la seal de reloj. Gran parte de los registros de desplazamiento reales incluyen una seal RESET o CLEAR asncrona, que permite poner simultneamente todas las salidas en 0 o estado bajo, sin necesidad de introducir ceros seguidos. Esto permite limpiar rpidamente el registro de desplazamiento lo cual es muy importante a nivel prctico. Sus funciones dentro del sistema digital son: Servir de almacenamiento temporal de un conjunto de bits sobre los que se est realizando una labor de procesamiento. Desplazamiento de datos a lo largo de los flip-flops.

TIPOS DE REGISTROS. Entrada serie/ Salida serie: Los datos deben introducirse en serie, es decir, bit a bit por una nica lnea. La salida se obtendr de la misma manera.

Entrada serie/ Salida paralelo: En este tipo de registros con salida en paralelo se dispone de la salida de cada flip-flop por lo que una vez almacenados los datos cada bit se representa en su respectiva salida. De esta manera todos los bits de salida estarn disponibles al mismo tiempo.

Entrada paralelo/ Salida serie: En este tipo de registros los bits de daros se introducen simultneamente a travs de lneas paralelo en lugar de bit a bit. La salida serie se hace de igual modo que en el primero caso explicado una vez que los datos hayan sido almacenados.

Entrada paralelo/ Salida paralelo:

Registros de desplazamiento bidireccionales: Son aquellos en que los datos se pueden desplazar a la izquierda o la derecha. Se puede implementar utilizando puertas lgicas que permitan la transferencia de un bit de datos de una etapa a la siguiente de la izquierda o de la derecha dependiendo del nivel de una lnea de control. Posee una entrada que estando en nivel alto hace que los bits almacenados en el registro se desplacen hacia la derecha y a nivel bajo se desplazarn hacia la izquierda. Cuando este a alto las puertas impares estarn activas y el estado de la salida de cada flip-flop pasara a la entrada D del siguiente. Cuando haya un flanco de reloj los bits se desplazaran a una posicin a la derecha. Cuando este a bajo las puertas pares estarn activas y el estado de las salida de cada flip-flop pasara a la entrada D del anterior. Cuando haya un flanco de reloj los bits se desplazaran a una posicin a la izquierda.

DESARROLLO: Escriba un programa en VHDL que en un dispositivo grabe un registro de corrimiento de 8 bits. La velocidad del corrimiento ser a un segundo. Con un bit de seleccin deber seleccionar si el corrimiento es a la derecha o a la izquierda.

El programa grabado en la GAL para el registro de corrimiento fue:library ieee; use ieee.std_logic_1164.all; entity Corrimiento is port(E: in std_logic_vector (7 downto 0); clk, carga , sel: in std_logic; salida: out std_logic ); attribute pin_numbers of Corrimiento : entity is "E(7):3 E(6):4 E(5):5 E(4):6 E(3):7 E(2):8 E(1):9 E(0):10 sel:11 clk:1 carga:2 " & "salida:15 "; end Corrimiento; architecture Reg of Corrimiento is signal y: std_logic_vector(7 downto 0); signal x: std_logic; begin process (clk,carga,y,x) begin if(carga='0') then salida