Apa itu bit-banding?

16

Saya membaca manual referensi ARM Cortex M3 dan konsep "bit-band", "bit-band region" dan "bit-band alias" muncul.

Apa itu bit-banding?

Randomblue
sumber
Saya telah mendedikasikan halaman github untuk menjelaskan bit-banding apa itu, bagaimana cara kerjanya dan bagaimana menggunakannya. Saya percaya itu menjawab sebagian besar pertanyaan tentang bit-banding, jangan ragu untuk melihatnya kembali.
Ini adalah pengantar praktis tentang fitur bit-banding di ARM Cortex M3 atadiat.com/en/articles/…
yahya tawil

Jawaban:

8

Pusat info ARM merujuk pada bit-banding dalam dokumentasi Cortex-M3 dan -M4, dokumen penyusun, dan beberapa tempat lainnya, seperti Beranda> Model Programer> Bit-banding . Dari Rumah> Mengembangkan perangkat lunak untuk Cortex-M3> Bit-banding :

Bit-banding memetakan kata memori lengkap ke bit tunggal di wilayah bit-band. Misalnya, menulis ke salah satu kata alias akan mengatur atau menghapus bit yang sesuai di wilayah bitband.

Tampaknya menjadi cara untuk mendapatkan operasi atom bit tunggal.

Saat menulis ke daerah alias, bit 0 dari 32 bit kata digunakan untuk mengatur nilai pada wilayah bit-banding. Membaca dari alamat alias akan mengembalikan nilai dari wilayah bit-band di bit 0 dan bit lainnya akan dihapus.

tyblu
sumber
Apakah Anda tahu bagaimana operasi bit-banded dilakukan secara internal, dan apa jaminan nyata sehubungan dengan atomicity? Jika saya merancang sebuah chip untuk memfasilitasi operasi bit-set atom atau operasi bit-clear, saya akan menggunakan dua bit alamat atas untuk memilih antara 'akses normal' (00), 'tulis satu' (01), dan 'tulis nol' (1x). Selain itu, saya ingin CPU membalikkan data outputnya ketika bit alamatnya 0x11. Dengan cara itu, bit dapat diatur atau dihapus dalam satu siklus, tanpa perlu membaca-memodifikasi-menulis. Bahkan jika bit akan ditetapkan oleh perangkat keras bersamaan dengan tulis, ...
supercat
1
Ikuti saja tautannya, ya gelandangan.
tyblu
1
@AlKepp, Menulis sedikit pada banyak sistem yang saya gunakan benar-benar atom dengan satu instruksi untuk melakukan tindakan yang tidak dapat diinterupsi.
Kortuk
1
@AlKepp, saya tidak mencoba menyiratkan bahwa ada sistem yang tidak bisa melakukan ini dengan instruksi atom. Anda berkata, "Menulis sedikit tidak mungkin benar-benar atom." Saya tidak setuju dengan klaim ini. Saya telah menggunakan banyak sistem di mana itu adalah atom dan mereka memang ada.
Kortuk
3
@AlKepp, Cortex M3 adalah contoh dari lebih banyak mikrokontroler. Yang penting bagi saya adalah bahwa Anda tidak dapat mengatakan instruksi atom tidak ada jika mereka sering melakukannya. Banyak orang di sini melakukan embedded system yang sumber dayanya cukup rendah sehingga memori internal, sebenarnya satu-satunya sistem yang saya nikmati. Selain itu, memberi tahu seseorang itu tidak ada saat itu dan biasanya digunakan dapat menyesatkan.
Kortuk