비트 밴딩이란 무엇입니까?


16

ARM Cortex M3 참조 설명서를 읽고 있는데 "비트 밴드", "비트 밴드 영역"및 "비트 밴드 별칭"이라는 개념이 나타납니다.

비트 밴딩이란 무엇입니까?


비트 밴딩이 무엇인지, 작동 방식 및 사용법을 설명하기 위해 github 페이지 를 전담 했습니다. 나는 그것이 비트 밴딩에 관한 대부분의 질문에 대답한다고 생각하고, 자유롭게 (다시)보십시오.

ARM Cortex M3의 비트 밴딩 기능에 대한 편리한 소개입니다. atadiat.com/en/articles/…
yahya tawil

답변:


8

ARM 정보 센터는 자신의 코어 텍스 M3 및 -M4 문서, 컴파일러 문서와 같은 몇 가지 다른 장소에서 비트 밴딩을 의미 홈> 프로그래머 모델> 비트 밴딩 . 에서 홈> 코어 텍스 M3> 비트 밴딩을위한 소프트웨어 개발 :

비트 밴딩은 완전한 메모리 워드를 비트 밴드 영역의 단일 비트에 매핑합니다. 예를 들어, 별칭 단어 중 하나에 쓰면 비트 밴드 영역에서 해당 비트가 설정되거나 지워집니다.

단일 비트 원자 연산을 얻는 방법으로 보입니다.

앨리어스 영역에 쓸 때 32 비트 워드의 비트 0은 비트 밴딩 영역에서 값을 설정하는 데 사용됩니다. 별칭 주소에서 읽으면 비트 0의 비트 대역 영역에서 값을 반환하고 다른 비트는 지워집니다.


비트 밴딩 작업이 내부적으로 수행되는 방식과 원자 성과 관련하여 실제 보장되는 사항에 대해 알고 있습니까? 원자 비트 세트 또는 비트 클리어 작업을 용이하게하는 칩을 설계 할 때 상위 주소 비트 중 2 개를 사용하여 '일반 액세스'(00), '1 쓰기'(01) 및 '0 쓰기'중에서 선택합니다. (1x). 또한 해당 주소 비트가 0x11 일 때 CPU에서 데이터 출력을 반전시킵니다. 이런 식으로, 읽기-수정-쓰기가 필요없이 한 사이클에서 비트를 설정하거나 지울 수 있습니다. 비트가 쓰기와 동시에 하드웨어에 의해 설정 되더라도, ...
supercat

1
그냥 링크를 따라 가십시오.
tyblu

1
@AlKepp, 내가 사용한 많은 시스템에 약간의 글을 쓰는 것은 중단 할 수없는 행동을 수행하는 단일 명령으로 진정 원자 적입니다.
Kortuk

1
@ AlKepp, 나는 원자 명령으로 이것을 할 수없는 시스템이 있음을 암시하려고하지 않았습니다. "비트 쓰기는 진정한 원자가 될 수 없습니다." 나는이 주장에 동의하지 않았다. 나는 그것이 원자 적이며 존재하는 많은 시스템을 사용했습니다.
Kortuk

3
@AlKepp, Cortex M3은 더 많은 마이크로 컨트롤러의 예입니다. 나에게 중요한 것은 원자 명령어가 자주 존재하지 않는다면 존재하지 않는다고 말할 수 없다는 것입니다. 여기 많은 사람들이 메모리가 내장되어있을 정도로 리소스가 부족한 내장형 시스템을 사용합니다. 실제로 코딩을 즐기는 유일한 시스템입니다. 그 외에는 존재하지 않고 일반적으로 사용되는 사람에게 존재하지 않는다고 말하면 잘못 인도 할 수 있습니다.
Kortuk
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.