ROM es una memoria de sólo lectura que se utiliza para almacenar los datos. La memoria en la ROM está organizada como una array bidimensional de celdas de memoria . La memoria leerá o escribirá el contenido de una de las filas de la array. Esta fila está especificada por una dirección que son bits. El valor leído o escrito se llama Datos.
La figura a) muestra una array de memoria con dos bits de dirección y tres bits de datos. Los dos bits de dirección especifican una de las cuatro filas (palabras de datos) en la array. Cada palabra de datos tiene tres bits de ancho.
La figura b) muestra algunos posibles contenidos de la array de memoria.
Una array de celdas de memoria con direcciones de n bits y datos de m bits tendrá filas y m columnas, como se muestra en la figura. Cada fila de datos se llama palabra. Por lo tanto, la array contiene una array de palabra xm -bit.
En el caso de la figura, la array de celdas de memoria con direcciones de 2 bits y datos de 3 bits tendrá filas de 4 y 3 columnas, por lo que la array contiene xm = x 3 = array de 4 palabras x 3 bits.
Para obtener una comprensión clara, tomemos 10 bits de dirección y 32 bits de datos, entonces el tamaño de la ROM sería:
2^(10) x 32 = 1024 x 32 = 32 Kb
Ahora, para encontrar el tamaño de la ROM, necesitamos encontrar la cantidad de bits de entrada y salida:
Número de entradas = n(A) + n(B) + 1(Cin) = 2n+1 bits de dirección
Número de salidas = n(suma/dif) + 1(Cout) = n+1
Por lo tanto, esto requeriría una ROM de 2^(2n+1) x (n+1) bits.
Aquí, n(A) significa el número de entradas para A y n(B) significa el número de entradas para B.
Ejemplo-1: ¿El tamaño de la ROM que podría usar para programar un sumador/restador de 16 bits con Cin y Cout es ____?
Solución :
Número de entradas = 16 (A) + 16 (B) + 1(Cin) = 2(16)+1 = 33 bits de dirección.
Número de salidas = 16 (suma/dif) + 1 (Cout) = 16+1 = 17
Thus, this would require a 2^(2n+1)x(n+1) = 2^(33)x17 bit ROM.
Ejemplo-2: ¿El tamaño de la ROM que podría usar para programar un sumador/restador de 8 bits con Cin y Cout es ____?
Solución :
Número de entradas = 8 (A) + 8 (B) + 1(Cin) = 2(8)+1 = 17 bits de dirección.
Número de salidas = 8 (suma/dif) + 1 (Cout) = 8+1 = 9
Thus, this would require a 2^(2n+1)x(n+1) = 2^(17)x9 bit ROM.
Publicación traducida automáticamente
Artículo escrito por gurukiranx y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA