자유게시판


인텔.. 맛이 갔네요.

2017.06.26 10:30

SYLPHY 조회:674 추천:1

Untitled picture.png


카비레이크, 스카이레이크 CPU에서 하이퍼쓰레딩 사용 시

AH, BH, CH, DH 레지스터가 오염될 수 있고,

그로 인해서 EAX, EBX, ECX, EDX 및 RAX, RBX, RCX, RDX 레지스터가 오염될 수 있다는 오류입니다.


관련 분야 종사하는 분 께서는 여기까지 들으셨을때

"인텔이 갈때까지 갔구나." 라고 하실겁니다.




위의 네 개 레지스터는 인텔 CPU가 사용하는 가장 범용적인 레지스터 (GPR: General Purpose Register)입니다.

그 중에서도 8비트 서브셋이라서, 상위 32비트나 64비트 레지스터에 영향을 줍니다.

저 레지스터가 오염된다는 것은 CPU가 제대로 동작할 생각이 없다는 겁니다.


완전히 맛이 갔습니다.

편미분 중적분 하는데 덧셈을 못 한다는 의미입니다.



클리앙에서는 "저 레지스터가 잘 사용되지 않는 레지스터라 걱정할 필요가 없다"고 하는데

당장 IDA64로 PE파일 하나만 떠 봐도 수두룩하게 나오는게 해당 레지스터입니다.

문제 없다는건 말도 안되는 소리이고요.

정말 문제가 없었다면 이런게 화자될 리가 없습니다.


에러타 보면 Short Loop에서 AH, BH, CH, DH 쓰는게 문제라 나와있죠?

Short Loop에서는 AH, BH, CH, DH같은 8비트 레지스터 많이 씁니다. 용도가 그렇습니다.


클리앙 댓글의 요즘 컴파일러가 저 레지스터를 안 쓴다는 말도 잘못됐습니다.

PE든 ELF든 디스어셈블하면 8비트 레지스터 여전히 많이 쓰고,

저 버그를 발견한 사람이 OCaml 개발자입니다. OCaml은 그 자체가 컴파일러예요.

컴파일러 만드는 사람이 저 기능 동작시 오류를 발견해서 6개월간 원인을 찾다 나온 결과입니다.


제가 클리앙 아이디가 없어서 뭐라 적질 못하네요. 눈팅만 합니다.



screenshot.png


ubuntu 16.04의 gcc만 봐도 여전히 8비트 레지스터를 사용합니다.

클리앙 그 분의 말 처럼 '최신 컴파일러는 8비트 레지스터를 사용하지 않는다'라면

왜 gcc (GNU C Compiler)는 8비트 레지스터를 쓰고 있을까요?


클리앙 댓글은 완전히 잘못된 주장입니다.


저 코드를 보면 이번 버그가 얼마나 심각한지 바로 알 수 있지요.

저 코드에서 AH 레지스터가 오염되면 엉뚱한 코드로 컴파일되는겁니다.






헤결방법은 현재로선 하이퍼쓰레딩을 끄는게 가장 확실한데요,

인텔 CPU에서 하이퍼쓰레딩을 끄면 남는게 뭐지요?

맛이 갈때까지 간겁니다.


제한적으로 모델 78 또는 93의 스테핑 3 스카이레이크는 마이크로코드 업데이트로 패치 가능한데

성능저하 수반하리라 예상합니다.


메인보드의 BIOS 업데이트로도 반영이 될 수 있는데

메인보드 제조사 지원이 없으면 이마저도 안됩니다.

BIOS 업데이트 해도 원 성능은 안 나옵니다.




인텔이 내년도, 내후년도쯤엔 삼성에게 공정이 밀린다는 소문이 돕니다.

팹에 투자할 현금이 없다는게 주요 원인이라는데요..

인텔 뭔가 심상치가 않아요.

번호 제목 작성자 작성일 조회
공지 [공지] KPUG 운영비 모금. 안내 드립니다. - updated 230805Sa [24] KPUG 2023.08.05 1554
공지 [안내의 글] 새로운 운영진 출범 안내드립니다. [14] 맑은하늘 2018.03.30 24481
공지 KPUG에 처음 오신 분들께 고(告)합니다 [99] iris 2011.12.14 434536
29596 [공지] 댓글 알림기능의 위치를 우측하단으로 변경하였습니다. [7] KPUG 07.16 61412
29595 [공지] 금칙어 적용에 대한 투표 결과입니다. [4] KPUG 07.15 60724
29594 Yuandao N10 그리고 N12의 공식케이스 공구들어갑니다. (마감되었습니다..) [39] file 星夜舞人 11.07 56013
29593 제7차 공동구매 시작합니다 (마감되었습니다~) [67] 星夜舞人 11.17 55150
29592 [공지] 댓글알림 기능 투표결과입니다. [5] midday 07.24 52067
29591 소모임의 자료실을 공개로 해놓을까요?? 아니면 회원공개로만 해놓을까요?? [21] 星夜舞人 02.03 50960
29590 [기기 사용방안?]괜스레 고민만 쌓여 갑니다. [6] 유부총각 10.21 50425
29589 다나와 중고장터 [4] matsal 01.25 49241
29588 공동구매 AS는 이렇게 이루어 집니다... [2] 星夜舞人 10.28 45267
29587 KPUG 운영비 계좌 + 모금현황 (최종) [16] 하얀강아지 06.13 41176
29586 [공지] 태파님에 대한 징계를 알려드립니다. [2] KPUG 웹마스터 1호기 07.31 40618
29585 제5차 공동구매 시작합니다... (마감되었습니다.) [51] file 星夜舞人 09.29 40388
29584 100만번째 이벤트 가위바위보 토너먼트 최종결과 그리고 나머지 이야기.. [44] file 星夜舞人 03.22 39813
29583 Gpad를 터치패널 구입합니다. (신청자 리플에 남겨 주세요..) [17] 성야무인 04.22 38965
29582 [알림]4기 운영진 인사드립니다 [20] KPUG 03.12 38608
29581 이북모임 이름 후보작들입니다. [13] 星夜舞人 01.21 37758
29580 서울, 경기, 인천지역에서 키보드 찾아가지 않으신 분들은 이번주 일요일에 노예처럼 부려먹겠습니다. ^^; (일요일 오후 5시부터 6시까지 회기역으로 오세요~~) <---시간 수정 .. 아 그리고 이번에 안찾아 오시는 분들의 경우 무조건 착불로 보냅니다.. 섭섭해 하지 마시기 바랍니다. [20] file 星夜舞人 11.17 36537
29579 KPUG 운영비 모금을 종료합니다. [13] 로켓단® 07.12 34812
29578 댓글 테스트 한번 더... [24] file 인포넷 05.15 34073

오늘:
392
어제:
717
전체:
15,195,035