programing

ARM 칩에 이름(FJCVTTS)의 자바스크립트가 있는 명령어가 있는 이유는 무엇입니까?

sourcejob 2023. 10. 16. 21:49
반응형

ARM 칩에 이름(FJCVTTS)의 자바스크립트가 있는 명령어가 있는 이유는 무엇입니까?

FJCVTTSS는 "플로팅 포인트 자바스크립트를 사인 고정 포인트로 변환, 0을 향해 반올림"입니다.Arm v8.3-A 칩 이상에서 지원됩니다.이것은 이상합니다. 왜냐하면 자바스크립트가 베어메탈에 그렇게 가까이 접근하지는 않을 것이기 때문입니다.

명령이 무엇을 하는지는 설명할 수 있지만 왜 존재하는지는 설명할 수 없습니다.이 스레드는 "이것은 하나의 명령어로 존재한다. 왜냐하면 JS가 정수 타입을 가지고 있지 않다는 것은 특정 사용 사례들이 적절한 알고리즘적인 이유 없이 이 연산을 외설적으로 자주 필요하다는 것을 의미하기 때문이다."라고 말합니다.그럴 만도 한데 좀 더 자세한 이해를 부탁드립니다.

JS는 숫자에 대해 두 배의 정밀도를 사용하기 때문이지만 비트로 연산을 수행하려면 작업이 번거롭지 않기 때문에 JS를 두 배로 정수로 변환하는 특정 명령을 사용하면 작업이 쉬워집니다.

이 ARM 링크는 이를 매우 잘 설명합니다. https://community.arm.com/processors/b/blog/posts/armv8-a-architecture-2016-additions

fuz의 코멘트와 관련하여 더 많은 정보를 추가하기 위해, 사이의 차이점은FCVTZS그리고.FJCVTZS(둘 다 부동 소수점을 int로 변환함)은 오버플로의 경우,FJCVTZS값이 오버플로 대신 0x80000000이 됩니다.더 나아가,FJCVTZS변환이 어떻게 되었는지(즉, 정확하지 않음)를 나타내기 위해 예외를 생성할 수 있습니다.

FJCVTZS: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0801g/hko1477562192868

FCVTZS: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0802a/FCVTZS_float_int.html

언급URL : https://stackoverflow.com/questions/50966676/why-do-arm-chips-have-an-instruction-with-javascript-in-the-name-fjcvtzs

반응형