¿Importa el tamaño del bus de datos para determinar el rango de las direcciones de memoria?

0

Si tiene memoria direccionable de bytes, ¿importa si tiene un bus de datos de 32 o 64 bits para el rango de las direcciones de memoria para las palabras de la memoria?

Por ejemplo, : Supongamos una palabra de 32 bits. Si tiene un procesador conectado a un byte direccionable \ $ 2 ^ {32} \ $ byte de memoria,

¿La dirección de la palabra más baja sería 0 y la dirección de la palabra más alta simplemente sería \ $ 2 ^ {32} -4 \ $ (0xFFFFFFFC) independientemente de si el tamaño de su base de datos es de 32 bits o 64 bits?

¿Qué diferencia haría si supones una palabra de 64 bits o una palabra de 16 bits?

    
pregunta QuantumD

2 respuestas

1

El ancho del bus de datos no tiene correlación con el rango de direcciones de memoria. El bus de direcciones y el bus de datos son entidades separadas.

Por ejemplo, si su bus de datos tiene 32 bits de ancho y su bus de direcciones tiene 16 bits de ancho, puede tener 2 ^ 16 direcciones de memoria que tienen 32 bits de ancho. 2 ^ 16x32 = 64k x 32bits.

En mi ejemplo, la dirección de memoria más baja es $ 0000, y la dirección de memoria más alta es $ FFFF. En su ejemplo, el más bajo sería $ 00000000 y el más alto sería $ FFFFFFFF. Cada dirección de memoria apunta a un grupo de bits (32 bits en nuestros dos ejemplos). Si cambia el ancho de su bus de datos a 64 bits y mantiene su bus de dirección el mismo ancho, su intervalo de direcciones de memoria seguirá siendo el mismo. Cada dirección simplemente apuntaría a 64 bits en su lugar.

    
respondido por el Tom
0

1 byte = 8 bits. Por lo tanto, el byte direccionable significa que puede acceder a 8 bits a la vez. El número de líneas de dirección simplemente le indica el número de ubicaciones a las que se puede acceder. El ancho de la línea de datos dependerá de la cantidad de bits almacenados en la ubicación. Podría ser de 8 bits, 32 bits o 64 bits.

palabra de 32 bits significa que hay 4 bytes a los que se accede, generalmente accedemos a datos en palabras de 32 bits para cada proceso de lectura / escritura. Pero en algún momento solo queremos cambiar unos pocos bits para que el sistema se mantenga como un byte direccionable, de modo que podamos acceder a un cierto byte y cambiarlo. De lo contrario, incluso para un solo cambio de bit, tenemos que acceder a los 32 bits completos, lo que retrasa el proceso.

Estamos intentando aumentar el ancho del bus a 64 bits porque nos permitirá leer gran parte de los datos con cada lectura y escritura, lo que acelerará el proceso.

Estoy tratando de mantener las cosas simples simplemente aumentando el ancho del bus de datos no necesariamente aumenta la velocidad del proceso porque depende de varios factores.

    
respondido por el Prabhat

Lea otras preguntas en las etiquetas