O que é bit-banding?

16

Estou lendo o manual de referência do ARM Cortex M3 e os conceitos "banda de bits", "região de banda de bits" e "alias de banda de bits" são exibidos.

O que é bit-banding?

Randomblue
fonte
Dediquei uma página do github para explicar o que é a banda de bits, como funciona e como usá-lo. Acredito que ele responda à maioria das perguntas sobre bandas de bits, fique à vontade para (re) visualizá-las.
Esta é uma introdução acessível sobre recurso de bandas pouco em ARM Cortex M3 atadiat.com/en/articles/...
Yahya Tawil

Respostas:

8

O centro de informações do ARM refere-se à faixa de bits na documentação do Cortex-M3 e -M4, nos documentos do compilador e em alguns outros locais, como Página inicial> Modelo de programador> Banda de bits . Em casa> Desenvolvimento de software para Cortex-M3> Banda de bits :

A banda de bits mapeia uma palavra completa de memória em um único bit na região de banda de bits. Por exemplo, a gravação em uma das palavras de pseudônimo definirá ou limpará o bit correspondente na região de banda de bits.

Parece ser uma maneira de obter operação atômica de bit único.

Ao gravar nas regiões de alias, o bit 0 da palavra de 32 bits é usado para definir o valor na região de banda de bits. A leitura do endereço alternativo retornará o valor da região da banda de bits no bit 0 e os outros bits serão limpos.

tyblu
fonte
Você tem alguma idéia de como as operações de banda de bits são executadas internamente e quais são as verdadeiras garantias em relação à atomicidade? Se eu estivesse projetando um chip para facilitar operações atômicas ou de limpeza de bits, usaria dois dos bits de endereço superiores para selecionar entre 'acesso normal' (00), 'gravação de dados' (01) e 'gravação de zeros' (1x). Além disso, eu teria a CPU invertida sua saída de dados quando esses bits de endereço fossem 0x11. Dessa forma, os bits podem ser definidos ou limpos em um ciclo, sem a necessidade de uma leitura, modificação, gravação. Mesmo que os bits sejam configurados por hardware simultaneamente com a gravação, ... #
485
11
Basta seguir os links, ya vagabundos.
tyblu
11
@AlKepp, Escrever um pouco em muitos dos sistemas que usei é realmente atômico, com uma única instrução para executar o ato que não pode ser interrompido.
Kortuk
11
@ AlKepp, eu não estava tentando sugerir que havia sistemas que não poderiam fazer isso com uma instrução atômica. Você disse: "Escrever um pouco não pode ser verdadeiramente atômico". Eu estava discordando dessa afirmação. Eu usei muitos sistemas onde é atômico e eles existem.
Kortuk
3
@AlKepp, o Cortex M3 é um exemplo de mais de um microcontrolador. A importância para mim é que você não pode dizer que as instruções atômicas não existem, se costumam existir. Muitas pessoas aqui fazem sistemas embarcados com recursos insuficientes o suficiente para que a memória seja interna; na verdade, é o único sistema em que gosto de codificar. Além disso, dizer a alguém que não existe quando existe e é comumente usado pode enganar.
22412 Kortuk