bits 'reservados para futuros' en microcontroladores

2

¿Por qué algunos bits en los registros de microcontroladores están marcados como reserved o for future pupose ? He visto algunos espacios de direcciones también marcados como reserved for future expansion .

¿Son estos bits el resultado de un 'plan para el futuro'? ¿O son inútiles, pero podemos usarlos en el futuro?

¿Los fabricantes suelen implementar funciones para estos bits en sus futuros microcontroladores de liberación?

Ejemplo :

Capturadepantallade este documento .

    
pregunta nidhin

3 respuestas

5

Lamentablemente, sus preguntas requieren que uno sea psíquico para responderlas, ya que ni siquiera el fabricante puede saberlo todavía. Pero es muy fácil decir una cosa clara sobre ellos: ¡no los uses!

  

Los Macintosh originales incluidos con el microprocesador 68000. Mientras esto   La CPU es capaz de hacer operaciones de 32 bits, tiene solo direccionamiento de 24 bits   capacidad.

[...]

  

Atrás solo cuando Macintosh   tenía 128k de RAM, el sistema operativo tenía que ir a algunos extremos   para asegurar que la aplicación tenga suficiente memoria para ejecutar. La memoria de Macintosh   el administrador permite que los bloques de memoria se muevan y / o se purguen si el sistema está   tener problemas para completar una solicitud de memoria Los diseñadores originales de la   El sistema operativo Macintosh decidió utilizar los últimos tres bits no utilizados en un bit de 32 bits.   Dirección de memoria para indicar si un bloque de memoria se puede mover, purgar o   si el bloque contiene un elemento de recurso.

[...]

  

El problema es que para establecer estos tres bits,   las rutinas del sistema operativo tienen que llamar a otras rutinas que tienen que llamar   aún otros, etc. El resultado neto es que el uso del sistema operativo   Las rutinas para establecer estos bits son bastante ineficientes cuando se trata de velocidad.   Por lo tanto, antes de la introducción de System 7, algunos programadores creativos   con una necesidad de velocidad, se encargaron de establecer estos bits en el   Las direcciones del bloque de memoria directamente evitando así la sobrecarga asociada   con llamar a las rutinas del sistema operativo. Por supuesto, el problema con   haciendo esto es que el Sistema 7 ya no almacena estos tres bits en el   Dirección del bloque de memoria. Otro error de programación significativo.   Implica los otros 5 bits de la dirección de 32 bits. Normalmente, estos bits   Debe permanecer sin uso y por lo tanto, insignificante. Sin embargo, algunos   Los programadores, al darse cuenta de que se desperdician 5 bits, decidieron usarlos para   sus propios propósitos, a pesar de que el Soporte Técnico Apple Developer comenzó   advirtiéndoles de esta práctica tres años completos antes de la   Introducción del sistema 7.

[...]

  

El problema fundamental con la configuración de los 8 bits superiores de la dirección   directamente es que con System 7 todos los 32 bits de información se utilizan para   direccionamiento. Cambiar el valor de cualquiera de los 8 bits cambia la dirección de   El bloque de la memoria. Cuando una aplicación o un init intenta acceder a la   bloque de memoria que ahora tiene una dirección no válida, el resultado habitual es un Tipo   1 error. Esto ocurre porque los primeros 24 bits de una dirección se utilizan para   Accede a ubicaciones de memoria entre 0 y 16mb. Se utilizan los ocho bits superiores.   para acceder a ubicaciones de memoria entre 16mb y 4,096mb. Ya que la mayoría   Los Macintosh tienen menos de 16 MB de RAM, es probable que esta memoria sea incorrecta   la ubicación apunta a una dirección que no existe físicamente, y esto   producirá un tipo 1 (error de bus).

     

En el caso de que la ubicación de la memoria exista físicamente, entonces la   La aplicación o init operará en cualquier información que encuentre en   La ubicación incorrecta. Dependiendo de lo que la aplicación o init sea   al intentar hacerlo, se pueden producir varios errores.

    
respondido por el Ignacio Vazquez-Abrams
3

Básicamente es un mensaje codificado que dice "no cuente con una operación consistente de estos bits". Al escribir estas especificaciones, es posible que a veces tenga bits de registro que no se usen, porque es más fácil dejarlos en ese lugar (es decir, simplemente crea una copia, esto ahorra tiempo en las pruebas), pero tampoco lo hace. desea que tus clientes escriban un código que pueda almacenar cosas allí, ya que puedes romperlo o cambiar la operación en el futuro.

    
respondido por el placeholder
1

El fabricante es libre de hacer lo que quiera con estos bits. En algunos casos, pueden actuar como bits configurables, pero en otros casos siempre se pueden leer como ceros (o unos). Una buena hoja de datos le dirá qué esperar. Sin embargo, les gusta agregar características. Si esto fuera una parte de Microchip, uno podría razonablemente esperar encontrar una parte similar que tenga 3 o 4 temporizadores, no solo dos. Y es posible que no tenga que esperar, ya que suelen tener varias partes similares en una familia, por lo que puede elegir tener algunas o todas las funciones posibles.

    
respondido por el gbarry

Lea otras preguntas en las etiquetas