2012-06-21 1 views
2

이것은 컴파일러 녀석에게는 매우 간단한 질문이지만, 나는 항상 수퍼 블럭과 하이퍼 블럭과 혼동한다. 수퍼 블럭과 하이퍼 블럭에 대한 정의를 보았지만 컴파일러 녀석의 관점에서 그 정의를 알고 싶습니다.슈퍼 블럭과 하이퍼 블럭 정의를 컴파일러 관점에서

기본 블록, 조건부 실행 및 루프 언 롤링과 같은 개념에 익숙하므로 기본 사항은 건너 뛸 수 있습니다.

감사합니다.

+0

컴파일러에 익숙하지만 이전에이 용어를 들어 본 적이없는 사람들을 위해 - 정의 된 용어를 어디서 들었는지에 대한 링크를 제공 할 수 있습니까? – templatetypedef

+0

물론입니다. 다음은 [this] (http://www.trimaran.org/docs/trimaran4_manual.pdf)와 [this] (http://www.cs.cmu.edu/afs/cs/academic/class/) 링크입니다. 15745-s07/www/lectures/lect6-s07.pdf) – aminfar

답변

4

paper은 수퍼 블록의 개념과 수퍼 블록의 개념을 설명합니다. 요약하자면 기본 블록의 ILP가 충분히 높지 않을 수 있기 때문에 기본 블록에서 ILP를 늘리는 것입니다. 수퍼 블록은 측면 출입구가없는 흔적입니다. 컨트롤은 맨 위에서 만 입력 할 수 있지만 하나 이상의 종료점에서 나갈 수 있습니다. 그래서 상단에 하나의 항목,하지만 여러 출구. 프로필 정보를 사용하여 여러 기본 블록을 포함하는 공통 경로에서 수퍼 블록을 작성합니다. 그런 다음 수퍼 블록 최적화를 적용합니다. 자세한 정보는 종이를보십시오.

공통 경로가 하나도 없으며 예측 지원이있는 경우 여러 일반 경로를 결합하여 하이버 블록을 만들고 하이퍼 블록에서 최적화 할 수 있습니다.