Los CPU modernos y de propósito general poseen una serie de registros físicos, que no son más que un array de flip-flops cada uno de ellos capaz de almacenar un bit. Uno de los más importantes es el registro de instrucción el cual es el encargado de almacenar la instrucción que el CPU está ejecutando en ese momento. Este registro tiene un ancho o capacidad finita y es, junto con el registro de direcciones, los que determinan qué tipo de procesador y cuál es el ancho de la instrucción que pueden ejecutar. Como podrás adivinar ese ancho en los X86 es de 8 bits para los 8088, 16 bits para los 80286, y 32 bits para los 80386 y superiores. Ademas de estos dos registros existen otros llamados registros de propósito general y de propósito especial. Alguno de ellos se llaman en la arquitectura Intel los registros AX, BX, CX, DX etc.. otro registro llamado registro de banderas o flags determinan el estado de la última operación realizada.
El cambio de arquitectura supondría que un software diseñado para ser ejecutado en un CPU de 16 bits no funcionase correctamente en uno de 32, esto haría incompatible todo el software existente de 16 bits lo cual es indeseable por obias razones. Por tanto los CPU se diseñan teniendo en cuenta la compatibilidad hacia atrás, es por eso que un CPU 80386 puede ejecutar sin problemas software de 16 bits pero un 80286 no puede hacerlo con uno de 32 bits.