Fundamentos de Arquitectura de Memoria y Direccionamiento en Microprocesadores
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 3,92 KB
Dimensiones de la memoria
La memoria suele medirse con dos números: Longitud (número total de ubicaciones) x Ancho (número de bits en cada ubicación).
La longitud es una función del número de líneas de dirección:
2(nº de líneas de dirección) = nº de ubicaciones de memoria. Por ejemplo: 210 = 1.024 ubicaciones (1K).
Un chip de memoria con 4K direcciones necesitaría log2 4096 = 12 líneas de dirección.
El 8085 y la memoria
El 8085 tiene 16 líneas de dirección. Esto significa que puede direccionar 216 = 64K ubicaciones de memoria. Entonces, se necesitará:
- 1 chip de memoria con 64K direcciones.
- 2 chips con 32K cada uno.
- 4 chips con 16K cada uno, etc.
¿Cómo podemos utilizar estas líneas de dirección para controlar los múltiples chips?
Chip Select (Selección de chip)
Para permitir el uso de múltiples chips en la composición de la memoria, necesitamos utilizar un número de las líneas de dirección con el fin de realizar la selección del chip. Por lo general, cada chip de memoria tiene una entrada de Chip Select (CS). El chip solo funcionará si se aplica una señal activa en esa entrada. Estas líneas de dirección son decodificadas para generar las 2n entradas CS necesarias para los chips de memoria a utilizar.
Mapa de memoria y direcciones
El mapa de memoria es una representación de imagen del rango de direcciones. Muestra dónde se encuentran los diferentes chips de memoria.
Rango de direcciones de un chip de memoria
Un ejemplo para el rango de direcciones y su relación con los chips de memoria serían las cajas de correos en una oficina postal:
- Cada caja (memoria) tiene un número único y las cajas se agrupan en grupos (chips de memoria).
- Si esta oficina tiene 1.000 cajas agrupadas en 10 grupos de 100 cajas cada uno: las casillas 0000 a 0099 están en el grupo 0, las 0100 a 0199 en el grupo 1, y así sucesivamente.
- Por lo tanto, la caja número 436 es la caja 36ª en el 4º grupo.
- El dígito superior del número de casilla identifica el grupo y los dos dígitos inferiores identifican la casilla dentro del grupo.
El 8085 y los rangos de direcciones
El 8085 tiene 16 líneas de dirección y puede direccionar un total de 64K direcciones de memoria:
- Si utilizamos chips de memoria con 1K direcciones cada uno, necesitaremos 64 chips.
- El chip de memoria de 1K necesita 10 líneas de dirección para identificar 1K ubicaciones (log2 1024 = 10).
- Utilizamos 6 líneas de dirección para seleccionar entre los 64 chips diferentes (log2 64 = 6).
Dependiendo de la combinación en las líneas de dirección A15 – A10, se determina el rango de direcciones del chip especificado.
Ejemplo de selección de chip
Un chip que usa la combinación A15-A10 = 001000 tendría direcciones que van de 2000H a 23FFH.
Tenga en cuenta que las 10 líneas de dirección en el chip ofrecen un rango de 00 0000 0000 a 11 1111 1111 o 000H a 3FFH para cada uno de los chips. Si cambiamos la combinación de los bits de dirección conectados a la selección de chip, cambia el rango de direcciones para el chip de memoria.
Líneas de datos
Toda la discusión anterior ha sido con respecto a la longitud de la memoria (dirección). El ancho de memoria es el número de bits en cada palabra de memoria (datos). Es muy común encontrar chips de memoria que tienen solo 4 bits por ubicación. ¿Cómo diseñar un sistema de memoria de byte de ancho usando estos chips? Usamos dos chips para el mismo rango de direcciones: un chip suministrará 4 de los bits de datos por dirección y el otro suministrará los otros 4 bits de datos para la misma dirección.