Co to jest banding?

Czytam ARM Cortex M3 i pojęcia „pasmo bitowe” Pojawiają się „,„ obszar pasma bitowego ”i„ alias pasma bitowego ”.

Co to jest pasmo bitowe?

Komentarze

  • Poświęciłem stronę github , aby wyjaśnić, czym jest pasmowanie bitów, jak działa i jak z niego korzystać. Wydaje mi się, że odpowiada na większość pytań dotyczących pasm bitowych. Zapraszam do (ponownego) obejrzenia go.
  • To jest przydatne wprowadzenie do funkcji pasm bitowych w ARM Cortex M3 atadiat.com/en/articles/…

Odpowiedź

Centrum informacyjne ARM odnosi się do pasm bitowych w ich dokumentacji Cortex-M3 i -M4, dokumentacji kompilatora i kilku innych miejsc, takich jak Strona główna> Model programisty> Bit-banding . Od Strona główna> Tworzenie oprogramowania dla Cortex-M3> Bit-banding :

Bit-banding mapuje całe słowo pamięci na pojedynczy bit w obszarze pasma bitowego. Na przykład zapisanie jednego ze słów aliasu spowoduje ustawienie lub wyczyszczenie odpowiedniego bitu w obszarze pasma bitów.

Wydaje się, że jest to sposób na uzyskanie pojedynczego bitowa operacja atomowa.

Podczas zapisywania do regionów aliasów, bit 0 32-bitowego słowa jest używany do ustawienia wartości w regionie pasm bitowych. Odczyt adresu aliasu zwróci wartość z obszaru pasma bitowego w bicie 0, a pozostałe bity zostaną wyczyszczone.

Komentarze

  • Czy masz pojęcie, jak wewnętrznie wykonywane są operacje z pasmami bitowymi i jakie są rzeczywiste gwarancje w odniesieniu do atomowości? Gdybym projektował układ, aby ułatwić operacje na atomowym ustawianiu bitów lub usuwaniu bitów, użyłbym dwóch z górnych bitów adresu do wyboru między ' normalnym dostępem ' (00), ' napisz je ' (01) i ' wpisz zera ' (1x). Dodatkowo, ' d każę CPU odwrócić swoje dane wyjściowe, gdy te bity adresu miały wartość 0x11. W ten sposób bity mogą być ustawiane lub kasowane w jednym cyklu, bez potrzeby odczytu, modyfikacji i zapisu. Nawet jeśli bity byłyby ustawiane sprzętowo jednocześnie z zapisem, …
  • Po prostu podążaj za linkami, ya bums.
  • @AlKepp, Pisząc trochę na wielu systemach I użyty jest naprawdę atomowy z pojedynczą instrukcją, aby wykonać czynność, której nie można przerwać.
  • @AlKepp, nie próbowałem sugerować, że istnieją systemy, które nie mogą tego zrobić za pomocą instrukcji atomowej. Powiedziałeś, " Pisanie bitów nie może być naprawdę atomowe. " Nie zgadzam się z tym twierdzeniem. Używałem wielu systemów, w których jest atomowy i one istnieją.
  • @AlKepp, Cortex M3 jest przykładem bardziej mikrokontrolera. Dla mnie ważne jest to, że nie możesz powiedzieć, że instrukcje atomowe nie istnieją, jeśli często tak jest. Wiele osób korzysta z systemów wbudowanych, które mają wystarczająco niskie zasoby, aby pamięć była wewnętrzna, w rzeczywistości jest to jedyny system, w którym lubię kodować. Poza tym powiedzenie komuś, że nie istnieje, kiedy istnieje i jest powszechnie używane, może wprowadzić w błąd.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *