개소리 왈왈/컴퓨터2018. 2. 12. 10:09

멜트다운이나 스펙터나 둘다

CPU 성능을 끌어 올리기 위한 방법으로

나중에 필요한 계산을 미리 끌어다 수행해 두는데서 발생을 하는데


멜트다운은 비순차 실행 유닛에서

스펙터는 분기예측 유닛에서 발생을 함


비순차는 계산에 있어서 순서를 고려하지 않아도 될 연산에 대해 먼저 끌어다 하는 건데

(예를 들어 곱하기와 덧셈이 있으면 같은 덧셈들 끼리는 미리 해놔도 됨)

이 과정에서 CPU 권한 레벨을 무시하고 미리 계산하는 바람에 계산된 내용이 cache나 RAM에 저장해 두면서

그 값을 보고는 접근 불가능한 내용에 다른 애들이 접근하는 문제가 발생


분기예측은, if문이 있으면 어느게 수행될 가능성이 높은지 보고

미리 계산해 두면 if문 결과가 나올때 까지 기다릴 필요없이 빠르게 수행해서 성능을 끌어 올릴 수 있는데

실행될 수도 없고(권한 문제) 실행되어지지 않을(확률이 낮은 쪽?) 루틴을 

다른 사용자의 실행 시기에 분기예측으로 실행하게 함으로서(남의 권한으로)

다른 사용자의 메모리 영역을 침범하는게 원리 인 듯.


다시 보면.. 비순차 실행이나, 분기예측이나 두가지 기술 모드

PID에 의한 권한 처리 없이 파이프라인에 밀어 넣어서 CPU 사용율 자체를 끌어올려

성능을 올리는게 문제였고,

이 취약점을 공격하는데 필요한 것은 정밀 타이머이기 때문에

(캐시에 데이터 없으면 램에서 읽어 오는데 그 딜레이를 측정해야 함)


웹 브라우저들은 High Precision Event Timer (HPET) 를 무력화 시키거나

[링크 : https://en.wikipedia.org/wiki/High_Precision_Event_Timer]


분기예측 일부분을 사용불가능 하도록 하면서 우회한 듯

근데.. 하스웰 이전에는 그럼.. 어떻게 대응한거지?

그리고 win7과 win10의 성능하락 차이도 궁금해지네

For context, on newer CPUs such as on Skylake and beyond, Intel has refined the instructions used to disable branch speculation to be more specific to indirect branches, reducing the overall performance penalty of the Spectre mitigation. Older versions of Windows have a larger performance impact because Windows 7 and Windows 8 have more user-kernel transitions because of legacy design decisions, such as all font rendering taking place in the kernel. We will publish data on benchmark performance in the weeks ahead. 

[링크 : https://cloudblogs.microsoft.com/...-impact-of-spectre-and-meltdown-mitigations-on-windows-systems/]

    [링크 : http://www.hwbattle.com/bbs/board.php?bo_table=cpumbram&wr_id=97903]


[링크 : http://poem23.com/3214]

[링크 : http://www.hwbattle.com/bbs/board.php?bo_table=cpumbram&wr_id=97004]

[링크 : http://www.hwbattle.com/bbs/board.php?bo_table=cpumbram&wr_id=97036]

'개소리 왈왈 > 컴퓨터' 카테고리의 다른 글

gtx650 / gtx950  (4) 2018.03.27
친구놈의 선물 ㅋㅋ  (0) 2018.03.03
지름지름 하드지름  (0) 2018.02.01
공유기 도착!  (0) 2018.01.30
지름은 홀로 오지 않는다.. ㅠㅠ  (0) 2018.01.28
Posted by 구차니