Realmente no puede hacer suposiciones sobre el ancho del contador del programa (PC) respecto del ancho de la dirección de memoria.
Históricamente, ha habido muchas arquitecturas de memoria diferentes, y sin duda se inventarán otras nuevas. A un nivel muy básico para la máquina más simple, la PC contiene la dirección de memoria durante las búsquedas de instrucciones, por lo que tiene el mismo ancho que esa dirección. Sin embargo, hay muchos trucos, incluso en las primeras máquinas, que hacen esto más complicado.
Por ejemplo, las máquinas con memoria virtual pueden direccionar lógicamente más memoria de la que existe físicamente. La PC sería entonces más ancha que el bus de direcciones. En un procesador más moderno que funcione en modo "32 bits", la PC tendría 32 bits de ancho. Sin embargo, eso significa que la PC solo puede direccionar 4 GB de memoria. Muchas máquinas modernas pueden ocuparse de más memoria física que esa.
Hay una variedad de esquemas de segmentación. La PC es más limitada, y algún otro registro contiene los bits de dirección superiores del segmento en el que opera la PC. Los saltos dentro del mismo segmento funcionan normalmente al cargar la PC, pero moverse entre segmentos es más complicado y requiere instrucciones adicionales y similares. . La memoria física real podría ser más grande o más pequeña que la que la PC puede abordar de forma nativa.
Luego están las arquitecturas de Harvard y similares donde no solo hay un espacio de memoria, o donde la ejecución no es posible desde toda la memoria.