윈디하나의 블로그

뒤로 검색

윈도 11 24H2 와 POPCNT, SSE4.2

2025/05/27 00:00

윈도 11 24H2 와 POPCNT, SSE4.2

사용자 삽입 이미지

금번 윈도 11 24H2 업데이트부터 POPCNT, SSE4.2 를 지원하도록 변경되었습니다. 이제 Core2 CPU는 구형 운영체제에서만 사용 가능하겠네요. 좀 아쉽습니다. 하지만 POPCNT 명령셋이 필요한건 맞으니 아쉬워도 어쩔 수 없죠.

※ POPCNT

2020년에 승인된 C++20 이라는 C++ 규격에 popcount() 라는 함수가 추가되었고, 제 기억엔 이때부터 곳곳에 POPCNT 명령셋을 필요로하는 경우가 많아졌습니다. 윈도11 뿐만 아니라 리눅스 배포판에서도 마찬가지입니다.

POPCNT 는 비트가 세팅된 개수를 세는 명령입니다. 원래는 루프 돌리면서 복잡하게 계산해야할 껄 명령셋 하나로 계산하고 그만큼 매우 빠릅니다. 해시 함수에서는 널리 사용되는 기능인데 이제 추가되었네요.

popcnt(0x0) = 0
popcnt(0xff) = 8
popcnt(0xffff) = 16
popcnt(0xffffffff) = 32

와 같은 결과를 얻습니다.

※ SSE 4.2

SSE4.2 의 주된 변경점은 CRC32C 와 STTNI 가 추가되었습니다.

- CRC32C 는 CRC32 의 변형으로, iSCSI 에서 체크섬으로 사용합니다. RFC 3720 에 정의되어있습니다.

- STTNI 는 String and Text New Instructions 으로 불리는 문자열 비교 연산 명령셋입니다.
이 페이지는 Textcube 1.10.10 : Tempo primo 로 구동됩니다 데스크탑 화면