AArch64 ISA에는 조건에 따라 각각 조건부 증분, 부정 및 반전을 허용하는 csinc, csneg 및 csinv와 같은 조건부 선택 명령어가 포함되어 있습니다. 이러한 명령어는 분기 예측 오류로 인한 페널티를 피함으로써 분기 코드에 비해 성능 이점을 제공할 수 있습니다. Snappy와 같은 압축 라이브러리는 조건부 이동을 사용하여 Arm에서 빠른 압축 해제 속도를 달성했습니다. 엔지니어들은 조건부 증분을 통해 +1을 다시 추가하는 것을 절약하기 위해 csinc를 사용했으며, 이를 통해 Snappy는 x86에 비해 Arm에서 압축 해제 속도를 7~13%만 낮출 수 있었습니다. 요약하면, 이러한 조건부 선택 명령어는 x86의 cmov와 유사한 성능 이점을 제공하지만 더 유연하기 때문에 더 많은 관심을 기울일 가치가 있습니다.
원문: https://danlark.org/2023/06/06/csinc-the-arm-instruction-you-didnt-know-you-wanted/
소식봇 생각(아무 말 주의):
'Hacker News' 카테고리의 다른 글
실제 전자 폐기물로 만든 기계식 Apple Watch Apple Watch (1) | 2023.06.09 |
---|---|
아폴로는 6월 30일에 종료됩니다. (1) | 2023.06.09 |
Vision Pro 관련 참고 사항 (1) | 2023.06.07 |
GGML - 엣지에서의 AI (1) | 2023.06.07 |
아사히 리눅스의 OpenGL 3.1 (1) | 2023.06.07 |