Anda di halaman 1dari 6

Desarrollo de Problemas Disee a nivel de Circuitos Lgicos una memoria de 2 X 2.

. Considere pastillas de memoria de 2 X 2 para elaborar una memoria de 16 X 8. Ejemplifique su utilizacin para la escritura del valor 4AC5 en la posicin (125)8 y una lectura de la posicin (100)8 considerando que contiene el valor (111020)3. Procedimiento: Para poder ejemplificar el uso de la memoria, primero debemos transformar los nmeros que usaremos a la base binaria, la cual es la que se usa a nivel de circuitos lgicos: (4AC5)h = (0100101011000101)2 (125)8 = (001010101)2 (100)8 = (001000000)2

(111020)3 = (101100101)2 Figura 1. Para la elaboracin de nuestra memoria lgica de 16 X 8 utilizamos 32 unidades de memoria 2 X 2, tal como se muestra en la figura 1. Esta memoria tiene cuatro entradas diferentes, las cuales son la del bus de datos (2 bits), el bus de direccin (1 bit), el bus de control (1 bit) y el chip select (1 bit), que se utiliza para desconectar los flipflop de memoria que no se utilizan en una operacin. Figura 2. Para poder almacenar datos en esta memoria como si fuera en realidad una sola memoria de 16 X 8 es necesario partir los 8 bits de entrada en 4 entradas de dos bits c/u, ya que las pastillas de memoria fsica slo admiten dos bits. As, los dos bits menos significativos pasan a la primera columna de pastillas fsicas, los dos bits siguientes pasan a la segunda columna, los siguientes dos pasan a la tercera columna y los dos bits ms significativos pasan a la cuarta columna de pastillas fsicas. 1

Asimismo, el bus de direccin es de cuatro bits en la memoria lgica 16 X 8, mientras que las pastillas fsicas 2 X 2 solo admiten 1 bit de direccin. Para solucionar este problema partimos los cuatro bits en dos bloques, uno de tres bits (los ms significativos) y uno de un bit. El bloque de tres bits lleva un decodificador, el cual dependiendo de la salida que tenga prende el banco de memoria lgica que dice la entrada. (recordemos que los tres bits representan los ocho bancos de memoria fsica que hay). Esta salida se utilizar posteriormente por los bancos fsicos de 2 X 2 como chip select. El bit restante es el que indica a los bancos fsicos en cul de las posiciones de memoria ser almacenado el dato (si es en la posicin 0 o 1 del banco). Con el bit de control no hay problema; recordemos que ste slo tiene que indicar si la operacin es de lectura (0) o escritura (1). Ahora explicaremos los ejemplos con ms detalle: Guardar el dato 0100101011000101 en la posicin 001010101: como sta es una memoria de 8 bits, el dato quedar recortado en 1100 0101; y como la misma es de 16 posiciones, la direccin quedar recortada en 0101: Primero partimos el dato en cuatro bloques: 11 00 01 01; La direccin, la partimos en dos bloques de esta manera: 010 y 1; Al decodificar el 010 tenemos como respuesta que el dato va almacenado en la CK 2 de la memoria lgica 16 X 8, y que a su vez va almacemada el los bits 1.0 y 1.1 de stos cuatro bancos de memoria fsica 2 X 2. El dato previamente partido en cuatro bloques va a entrar en su respectiva pastilla de memoria fsica 2 X 2. Figura 3. Lectura de la posicin 001000000, considerando que contiene el valor 101100101: al igual que el problema anterior, la direccin se recorta a 0000; el dato se recorta a 01100101: Primero partimos la direccin en dos bloques: as tenemos que el banco de memoria a leer es el banco 0, y la posicin fsica de memoria sera la posicin 0; Considerando que el dato almacenado es el 01 00 00 00, el chip select habilitar la compuerta de salida del flipflop (junto con el resultado negado de las entradas de direccin y control) y deshabilitar la compuerta de entrada del mismo. As finalmente el dato podr ser extrado mediante el bus de datos (el cual es bidireccional) y ledo; Figura 4. Disee a nivel de circuitos lgicos un display de 7 segmentos conforme mostrado en la figura 5:

Figura 5. El diseo y confeccin de este display es muy fcil; como podemos ver en la grfica detallada (figura 6), del teclado numrico se genera un impulso que el bfer de entrada reconoce como cdigo ASCII; dado que en 2

este cdigo los dgitos del 0 al 9 estn representados por los nmeros del 48 al 57, o sea del 00110000 al 00111001, podemos descartar los cuatro bits ms significativos, dejando como resultado los nmeros en binario del 0 al 9 (0000 al 1001). Este nmero se pasa a una especie de decodificador que lo interpreta, y, conectndose las salidas con los respectivos segmentos del display (por medio de una compuerta OR), se obtiene como resultado la salida deseada.

Figura 6. Disee a nivel de circuitos lgicos un sumador completo de 3 bits. Para este problema tenamos que tomar en cuenta las reglas para la suma binaria, las cuales son: Suma Salida de Arrastre Regla 1 0 + 0 = 0 Regla 2 0 + 1 = 1 3

Regla 3 1 + 0 = 1 Regla 4 1 + 1 = 0 y arrastre 1 = 10 En el circuito sumador que diseamos tenemos tres entradas y dos salidas, las entradas corresponden a las dos variables que utilizamos y la entrada de arrastre (la llamamos carry in), y las salidas corresponden a la suma de columnas y la salida de arrastre (la cual denominamos carry out). Para realizar la suma de las variables A y B utilizamos una funcin XOR (or exclusivo) la cual dar un resultado de 1 cuando las variables tengan distintos valores. Para la suma de arrastre consideramos una funcin AND. La tabla de la verdad para nuestro sumador: Entradas A B Carry In 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 A + B + Carry In Salidas 0 1 1 0 1 0 0 1 Suma Carry Out 0 0 0 1 0 1 1 1 Carry Out

La figura 7 muestra el circuito lgico sumador de tres bits que diseamos.

Figura 7. Para comprobar si nuestro sumador funciona, sumaremos estas dos cantidades binarias (001)2 y (111)2 as: 111 ( 0 0 1 )2 que equivale a ( 1 )10 ( 1 1 1 )2 que equivale a ( 7 )10 1 0 0 0 que equivale a ( 8 )10 o sea el resultado de sumar (1 )10 y ( 7 ) 10 que es lo mismo que sumar ( 001 )2 y ( 111 )2. Ahora lo plantearemos en forma grfica en el sumador de la figura 8. 5

F Figura 8.

Anda mungkin juga menyukai