본문 바로가기

멋진성이의 지식iN

AMD의 TLB 버그 이해하기

반응형
지난 3달 동안, AMD에게 있어서 나쁜 운의 대부분은 떨어지지 않는 몹쓸 버그에 관련이 있다.

하드웨어 또는 소프트웨어 산업에서의 사람들은 Erratum 문제을, 개발과 설계 동안에 "우리는 테스트 케이스(test case)를 놓쳤다"라고 말하는 좋은 방법이 있다. (즉, 흔히 있는 문제이거나, 대부분의 이 문제가 큰 문제는 아닌 것처럼 가볍게 넘길 수 있다는  말 같습니다.)


-> test case: 시험적으로 해보는 실례 -> 최종적?으로 문제(버그)를 찾는 단계

 

어제, Tech Repor HW 사이트는 AMD가 Intel의 FOOF 버그를 되풀이 했다고 확인했다. 이 버그는, 최소한 11월

초부터 기사화 됐었고, 순환(recursive) 또는 중첩된(nested) 캐쉬를 쓰는 동안에 시스템 교착(정지) 상태의 원인이 된다.

 

TLB erratum는 어떻게 일어날까? 모든 AMD 쿼드-코어 프로세서들은 공유 L3 캐쉬를 사용한다. 그리고, 소프트웨어가 중첩된(nested) 메모리 페이지를 사용하는 경우에, 프로세서는 경주 상황(race condition)을 겪게 될 것이다.

 

-> 경주 상황,상태,환경(race condition) 이란?:
다중 프로그래밍 시스템 또는 다중 처리기 시스템에서 두 명령어가 동시에 같은 기억 장소를 접근하려고 하는 상황. 이들 두 개의 명령어는 내부적으로 몇 개의 마이크로 명령어들로 세분될 수 있는데, 이들 마이크로 명령어들이 뒤섞여 수행되면, 이들 2개의 명령어 수행 결과를 예측할 수 없게 된다. 따라서 이러한 경쟁 현상을 방지하기 위하여 상호 배제라는 방법을 사용하여 이들 경쟁 상태에 있는 연산이 순차적으로 싱행되도록 하여야 한다.



AMD의 데스크탑 제품 마케팅 매니져인 Michael Saucier는 이 경주 상황(race condition)를 "승리 할 것으로 예측되지 않는 다른 사람이 승리하는 장소"로 일련의(연속의) 사건처럼 묘사했다. 


-> 승리 할 것으로 예측되지 않는 다른 사람이 승리하는 장소 :

"where the other guy wins who isn't supposed to win."

( cache missed 인 상황인 것 같은데..,, 위 Race Conditon 뜻을 보면 어느정도 이 문구가 이해 될 것 같습니다.)



소프웨어 세계에서는, 메모리 조정자(조장 장치)가 메모리의 오래된 블럭에 덮어 쓰도록 명령을 주지만, 메모리의

오래된 블럭에서 캐쉬의 어딘가 다른 곳으로 쓰게(기록) 될 때, 대표적인 "메모리 경주 상황(race condition)"이 발생한다.  그리고, 2개의 조정자(조정 장치)가 이런 똑같은 명령 셋을 따르는 경우에, 어떻게 race condition이 발생하는지 보기가 쉽다: 왜냐하면, 두개의 조정자(조정 장치)들은 정보를 똑같은 블럭에 덮어 쓰도록 시도하기 때문에, 교착(중지) 상태가 발생한다.

 

AMD 엔지니어들이 우리 DailyTech에게 말해준 것에 따르면, 이런 예들은 K10 프로세서들로 된 가상화 장치들에서

중첩된 메모리 페이지들로 발생하는 것과 대단히 비슷하다.

 

자주 인용되지만 드물게 보여지는 MSI K9A2 Platinum을 포함한 모든 K10 머더보드들 위해, AMD는 현재 새로운

 BIOS 패치를 출시 했고, 이 패치를 우리는 학인했다. 그리고 이 패치를 하면 일반적인 연산 속도에서 최소한 10% 감소의 결과가 있을 것이다.

 

AMD 파트너들은 우리 DailyTech에게, 모든 벌크 Barcelona의 출하들은 정지됐고, 그들의 고객들을 기반한 신청서

선발은 계류중에 있다고 말해줬다. 하지만, 중첩된 가상화 기술을 사용하지 않게 될 기계들은 최신의 할당이 허락

되었고, 다른 고객들은 이러는 동안에 리비젼 F3 (K8) 프로세서들을 사용하고 있다고 말해줬다.

 

TLB erratum은 Phenom과 Barcelona를 포함한 B3 스테핑의 모든 AMD 쿼드-코어 프로세서에서 고쳐질 것이다.

하지만, AMD는 B3 스테핑을 그들의 2008 로드맵에서 3월 아이템으로 고려하고 있다. 이 프로세서는 그때 쯤에 출하가 되며, BIOS 패치로 이 문제들 경험하지 않더라도, 현재는 TLB 버그가 프로세서에 여전히 존재할 것이다.

 

연기된 Phenom 9700(2.4GHz)은 TLB 버그에 의해 연기 된 것이다. 그리고 AMD 내부인사는 우리에게,

다가올 2.6GHz Phenom 9900은 이 버그에 영향을 받지 않는다고  말해줘서, 이것은 Phenom 9900이 B3 스테핑 설계을 갖게 될 것이라는 것을 나타내는 것이다.

 

AMD의 최신 로드맵에서는 그들의 트리플-코어 프로세서들이 단지 1개 코어를 비활성화한 쿼드-코어 일뿐이라고

언급했다. 또한 AMD는 공유 L3 캐쉬를 비활성화한 트리플-코어도 몇개 소개할 것이라 나태냈다. TLB 버그를 제거한

칩 설계에서 공유 L3 캐쉬를 제거하는 것이다.

 

그리고, AMD의 가장 최신의 회사 로드맵에서는 2008년 전반기에 3개의 Phenom 프로세서들이 계획되어 있었다.

이들 중에서 1개는 Phenom 9700 이다. 그리고 회사는 같은 기간에 11개의 새로운 65nm k8 프로세서들을 발표할 것이다.

 


원본출처 :

http://www.dailytech.com


출처 파코즈 하드웨어

반응형