O que é bit-banding?

Estou lendo o manual de referência do ARM Cortex M3 e os conceitos “bit-band “,” região de banda de bits “e” alias de banda de bits “aparecem.

O que é banda de bits?

Comentários

  • Dediquei uma página do github para explicar o que é a banda de bits, como funciona e como usá-la. Acredito que ele responda à maioria das perguntas sobre bandagem de bits, fique à vontade para (re) visualizá-lo.
  • Esta é uma introdução útil sobre o recurso de banda de bits no ARM Cortex M3 atadiat.com/en/articles/…

Resposta

O centro de informações do ARM refere-se à banda de bits em sua documentação Cortex-M3 e -M4, documentos do compilador e alguns outros locais, como Home> Programmers Model> Bit-banding . De Home> Desenvolvimento de software para Cortex-M3> Bit-banding :

A banda de bits mapeia uma palavra completa da memória em um único bit na região da banda de bits. Por exemplo, escrever para uma das palavras de alias irá 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.

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 do alias retornará o valor da região da banda de bits no bit 0 e os outros bits serão limpos.

Comentários

  • Você tem alguma ideia de como as operações de banda de bits são realizadas internamente e quais são as garantias reais em relação à atomicidade? Se eu estivesse projetando um chip para facilitar operações de bit-set atômico ou bit-clear, usaria dois dos bits de endereço superiores para selecionar entre ' acesso normal ' (00), ' escrever ' (01) e ' escrever zeros ' (1x). Além disso, eu ' d fiz a CPU inverter sua saída de dados quando os bits de endereço eram 0x11. Dessa forma, os bits podem ser definidos ou apagados em um ciclo, sem a necessidade de leitura-modificação-gravação. Mesmo que os bits sejam configurados pelo hardware simultaneamente com a gravação, …
  • Basta seguir os links, bum usei é verdadeiramente atômico com uma única instrução para realizar o ato que não pode ser interrompido.
  • @AlKepp, eu não estava tentando sugerir que existiam sistemas que não poderiam fazer isso com uma instrução atômica. Você disse: " Escrever um bit não pode ser verdadeiramente atômico. " Eu discordava dessa afirmação. Eu usei muitos sistemas onde ele é atômico e eles existem.
  • @AlKepp, O Cortex M3 é um exemplo 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 é que existem. Muitas pessoas aqui usam sistemas embarcados com poucos recursos para que a memória seja interna; na verdade, é o único sistema no qual gosto de programar. Deixando isso de lado, dizer a alguém que ele não existe quando existe e é comumente usado pode enganar.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *