Si un microprocesador usa una dirección de 20 bits, ¿cuántos localizadores diferentes hay?

El número de direcciones a las que se puede acceder de forma exclusiva en cualquier bus paralelo a bit es 2 elevado a la potencia del ancho del bus, en bits. Por lo tanto, su bus de direcciones de 20 bits de ancho (igual que el modo real x86) puede acceder a 2 ^ 20 direcciones.

Tal vez esté fuera del alcance de la pregunta, pero 20 bits no se correlacionan bien con registros de 8 bits o 16 bits. El resultado es que necesita múltiples registros para definir una dirección de 20 bits. Este es exactamente el método utilizado en el esquema de direccionamiento en modo real x86. Se combinan dos registros de direcciones de 16 bits, donde uno comprende una porción de ‘segmento’ y otro comprende una porción de ‘desplazamiento’. En un ciclo de CPU de recuperación de memoria o escritura de memoria, los dos se combinan silenciosamente en una dirección de 20 bits que va al bus de direcciones. Aunque a menudo Intel fue difamado por crear tal esquema, de hecho es la única forma de producir una dirección de 20 bits a partir de registros que tienen menos de 20 bits de ancho.

Y (y aquí es donde podría ser lo que estaba preguntando, tal vez sin darse cuenta), hay muchas combinaciones de segmentos: valores de registro de desplazamiento que abordan casi todas las ubicaciones direccionables. En el esquema de dirección Intel de 20 bits, la porción de segmento de la dirección es 16 veces (4 bits desplazados a la izquierda) tan significativa como la porción de desplazamiento. Entonces, si disminuye el registro de segmento y agrega 16 al registro de desplazamiento, la dirección efectiva de 20 bits sigue siendo la misma. Entonces, si eso es lo que quisiste decir con ‘localizadores’, entonces el ejercicio es descubrir cuántas combinaciones de segmento: el desplazamiento se puede combinar para abordar todo el espacio de direcciones (teniendo en cuenta que el número de combinaciones disminuye a medida que te acercas a la parte superior y límites inferiores del espacio de direcciones).

1048576.

Lo cual no es terriblemente útil hasta que defina qué es una “ubicación”. Y si hubiera podido responder eso, no habría hecho esta pregunta, que puede responderse trivialmente pidiéndole a Google (por ejemplo) que evalúe 2 ^ 20.

1024k o 1 megabyte, cada bit adicional duplicará la cantidad de memoria que se puede direccionar para que una CPU de 21 bits pueda direccionar 2MB a 22bit 4MB.