Ce este bit-banding-ul?

Citesc manualul de referință ARM Cortex M3 și conceptele „bandă de biți” „,” regiunea de bandă de biți „și” alias de bandă de biți „apar.

Ce este bandarea de biți?

Comentarii

  • Am dedicat o pagină github pentru a explica ce este banda de biți, cum funcționează și cum să o utilizați. Cred că răspunde la majoritatea întrebărilor despre band-bit, nu ezitați să-l (re) vizualizați.
  • Aceasta este o introducere la îndemână despre caracteristica de band-bit în ARM Cortex M3 atadiat.com/en/articles/…

Răspuns

Centrul de informații ARM se referă la bandarea de biți în documentația lor Cortex-M3 și -M4, documente ale compilatorului și câteva alte locuri, cum ar fi Acasă> Modelul programatorilor> Band-bit . Din Acasă> Dezvoltarea software-ului pentru Cortex-M3> Bit-banding :

Bit-banding mapează un cuvânt complet de memorie pe un singur bit în regiunea de bandă de biți. De exemplu, scrierea la unul dintre cuvintele alias va seta sau șterge bitul corespunzător din regiunea de bandă de biți.

Se pare că este o modalitate de a obține un singur operație atomică de biți.

Când scrieți în regiunile alias bitul 0 din cuvântul de 32 de biți este utilizat pentru a seta valoarea la regiunea de bandă de biți. Citirea din adresa aliasului va restitui valoarea din regiunea benzii de biți din bitul 0, iar ceilalți biți vor fi șterși.

Comentarii

  • Aveți vreo idee despre cum sunt efectuate operațiile pe benzi de biți pe plan intern și care sunt garanțiile reale în ceea ce privește atomicitatea? Dacă aș proiecta un cip pentru a facilita operațiile de setare de biți atomici sau de clarificare a biților, aș folosi doi dintre biții de adresă superiori pentru a selecta între ' acces normal ' (00), ' scrie cele ' (01) și ' scrie zero ' (1x). În plus, eu ' aș avea CPU care își inversează datele de ieșire atunci când acei biți de adresă erau 0x11. În acest fel, biții ar putea fi setați sau eliminați într-un singur ciclu, fără a fi nevoie de o citire-modificare-scriere. Chiar dacă biții ar fi setați prin hardware simultan cu scrierea, …
  • Urmărește link-urile, ya bums.
  • @AlKepp, Scriind un pic pe multe dintre sistemele I au folosit este cu adevărat atomic, cu o singură instrucțiune pentru a efectua actul care nu poate fi întrerupt.
  • @AlKepp, nu încercam să implic că există sisteme care nu puteau face acest lucru cu o instrucțiune atomică. Ați spus, " Scrierea unui bit nu poate fi cu adevărat atomică. " Nu eram de acord cu această afirmație. Am folosit multe sisteme în care este atomic și ele există.
  • @AlKepp, Cortex M3 este un exemplu de microcontroler. Importanța pentru mine este că nu poți spune că instrucțiunile atomice nu există dacă există adesea. Mulți oameni de aici fac sisteme încorporate cu resurse suficient de scăzute încât memoria este internă, este de fapt singurul sistem pe care îmi place să îl codez. În afară de asta, a spune cuiva că nu există atunci când există și este folosit în mod obișnuit poate induce în eroare.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *