2012-02-12 1 views
4

프로세서 및 Tomasulo 알고리즘에 의한 명령 재주문에 대해 몇 가지 연구했습니다.CPU 명령 재배치 추적

이 주제를 좀 더 이해하기 위해 조금 더 알고 싶습니다 (추적을 얻으려는 경우) 주어진 프로그램에 대해 수행 된 실제 동적 재정렬을 볼 수 있습니까?

나는 입력 프로그램을주고 내 프로그램의 "순서가 잘못된 명령 실행 추적"을보고 싶다.

IBM-P7 시스템과 Intel Core2Duo 랩톱에 액세스 할 수 있습니다. 또한 쉬운 대안이 있는지 말해주십시오.

답변

0

불행히도 이러한 회사 중 한 곳에서 일하지 않는 한 대답은 '아니오'입니다. Intel/AMD 프로세서는 사용자가 제공 한 (매크로) 지침을 예약하지 않습니다. 먼저 해당 지침을 마이크로 작업으로 변환 한 다음 해당 작업을 예약합니다. 이 마이크로 지침이 무엇인지, 명령 순서 변경의 전체 과정은 철저히 비밀이 보장되므로 정확히 무슨 일이 일어나고 있는지 알 필요가 없습니다.

2

CPU 내부에서 수행 된 실제 순서 재 지정에 대한 액세스 권한이 없습니다 (추적을 사용 가능하게하는 알려진 방법은 없습니다). 그러나 재정렬에 대한 일부 에뮬레이터가 있으며 그 중 일부는 유용한 힌트를 제공 할 수 있습니다.

Intel의 최신 Intel CPU (코어 2, nehalem, Sandy 및 Ivy)에는 Intel의 "Intel (R) Architecture Code Analyzer"(IACA)가 있습니다. 홈페이지입니다 http://software.intel.com/en-us/articles/intel-architecture-code-analyzer/

이 도구를 사용하면 코드의 선형 조각을 마이크로 작업으로 분할하고 실행 포트로 계획하는 방법을 볼 수 있습니다. 이 도구에는 몇 가지 제한이 있으며 CPU u-op 재정렬 및 ​​실행의 부정확 한 모델입니다. 순서 - 64 호환 프로세서에서

PTLsim 모델 현대 수퍼 스칼라을 :

내가 PTLsim에게 (또는 MARSSx86 파생) 추천 할 수 있습니다, 또한 86/x86_84의 CPU 내부를 모방에 대한 몇 가지 "외부"도구가 있습니다 코어는 모든 주요 파이프 라인 구조의 RTL 레벨 모델까지 구성 할 수있는 수준의 상세 수준으로 구성됩니다. 또한 모든 마이크로 코드, 전체 캐시 계층 구조, 메모리 하위 시스템 및 지원 하드웨어 장치는 정확한 사이클 정확도로 모델링됩니다.

그러나 PTLsim은 실제 AMD 또는 Intel CPU가 아닌 "PTL"CPU를 모델링합니다. 좋은 소식은이 PTL 실제 코어에서 아이디어를 기반으로, Out-Of-Order 점이다 :이 모델의 기본 마이크로 아키텍처는 인텔 펜티엄 4, AMD K8과 인텔 코어 2에서 디자인 기능의 조합

하지만 통합 IBM Power4/Power5 및 Alpha EV8의 몇 가지 아이디어.

또한 ARBEIT http://es.cs.uni-kl.de/publications/datarsg/Senf11.pdfJavaHASE applet 다른 간단한 CPU를 에뮬 레이팅 할 수 있고, 심지어 Tomasulo example 지원했다고한다.