¿Qué son las bandas de bits?

16

Estoy leyendo el manual de referencia ARM Cortex M3 y aparecen los conceptos "bit-band", "bit-band region" y "bit-band alias".

¿Qué son las bandas de bits?

Randomblue
fuente
Dediqué una página de github para explicar qué es el bit-banding, cómo funciona y cómo usarlo. Creo que responde a la mayoría de las preguntas sobre las bandas de bits, no dude en (re) verlo.
Esta es una introducción práctica sobre la función de bandas de bits en ARM Cortex M3 atadiat.com/en/articles/…
yahya tawil

Respuestas:

8

El centro de información ARM se refiere a las bandas de bits en su documentación Cortex-M3 y -M4, documentos del compilador y algunos otros lugares, como Inicio> Modelo de programadores> Banda de bits . Desde Inicio> Desarrollo de software para Cortex-M3> Bandas de bits :

Las bandas de bits mapean una palabra de memoria completa en un solo bit en la región de la banda de bits. Por ejemplo, escribir en una de las palabras de alias establecerá o borrará el bit correspondiente en la región de la banda de bits.

Parece ser una forma de obtener una operación atómica de un solo bit.

Cuando se escribe en las regiones de alias, el bit 0 de la palabra de 32 bits se usa para establecer el valor en la región de bandas de bits. La lectura de la dirección de alias devolverá el valor de la región de la banda de bits en el bit 0 y los demás bits se borrarán.

tyblu
fuente
¿Tiene alguna idea de cómo se realizan internamente las operaciones con bandas de bits y cuáles son las verdaderas garantías con respecto a la atomicidad? Si estuviera diseñando un chip para facilitar las operaciones atómicas de ajuste de bits o de eliminación de bits, usaría dos de los bits de dirección superior para seleccionar entre 'acceso normal' (00), 'escribir unos' (01) y 'escribir ceros' (1x) Además, haría que la CPU invirtiera su salida de datos cuando esos bits de dirección fueran 0x11. De esa manera, los bits se pueden establecer o borrar en un ciclo, sin necesidad de una lectura-modificación-escritura. Incluso si los bits fueran establecidos por hardware simultáneamente con la escritura, ...
supercat
1
Solo sigue los enlaces, vagos.
tyblu
1
@AlKepp, escribir un poco en muchos de los sistemas que he usado es realmente atómico con una sola instrucción para realizar el acto que no se puede interrumpir.
Kortuk
1
@AlKepp, no estaba tratando de dar a entender que había sistemas que no podían hacer esto con una instrucción atómica. Usted dijo: "Escribir un poco no puede ser verdaderamente atómico". No estaba de acuerdo con esta afirmación. He usado muchos sistemas donde es atómico y existen.
Kortuk
3
@AlKepp, el Cortex M3 es un ejemplo de más de un microcontrolador. La importancia para mí es que no se puede decir que las instrucciones atómicas no existen si a menudo existen. Muchas personas aquí hacen sistemas embebidos que son lo suficientemente bajos como para que la memoria sea interna, en realidad es el único sistema en el que disfruto codificar. Aparte de eso, decirle a alguien que no existe cuando existe y se usa comúnmente puede inducir a error.
Kortuk