2026/10/20 4

Ballerino: OoO Issue Queue를 다시 설계

MICRO 2022 · Reconstructing Out-of-Order Issue Queue 들어가며Ballerino의 핵심 가설은 CES와 CASINO의 약점이 상호보완적이라는 것이다. CES는 의존성 chain을 잘 분리하지만 Ready 명령어가 P-IQ를 차지하고, CASINO는 Ready 명령어를 먼저 처리하지만 마지막 In-Order IQ의 Cache-Miss Blocking에 취약하다.논문의 해결책은 S-IQ와 clustered P-IQ를 결합하고, Memory-Dependence-Aware Steering과 P-IQ Sharing을 추가하는 것이다. 여기서는 첨부한 MICRO 2022 원문 Figure 5–17을 중심으로 원리와 결과를 정리한다. 1. 무엇을 대체하려는가?기존 8-wide ..

CPU 20:50:18

CASINO: Ready 명령어를 먼저 실행하는 Cascaded IQ

HPCA 2020 · CASINO Core Microarchitecture 들어가며CES는 의존성 chain을 별도의 P-IQ에 배치하여 복잡한 선택 하드웨어를 줄였다. 그러나 독립적인 Ready 명령어가 많으면 P-IQ가 부족해질 수 있었다. CASINO는 출발점이 다르다. “처음부터 실행 가능한 명령어는 간단한 앞단에서 처리하면 어떨까?”라는 질문이다.이 글은 CASINO의 동작을 첨부한 Ballerino 논문 Section II-B2, Figure 3(b)(c), Section II-C의 설명을 기준으로 정리한다.1. Readiness에 초점을 맞춘 스케줄링다음 코드를 생각하자.I1: a = load(A) // cache missI2: b = a + 1 // not readyI3:..

CES: 여러 개의 In-Order IQ로 OoO를 구현할 수 있을까?

ISCA 1997 · Complexity-Effective Superscalar Processors 들어가며CES(Complexity-Effective Superscalar Processors)는 OoO 실행 자체를 없애는 연구가 아니다. 문제의 출발점은 “명령어를 자유롭게 고르는 복잡한 Issue Queue 없이, 비슷한 ILP를 얼마나 얻을 수 있을까?”에 있다. 이 글은 CES 원 논문 전체에 대한 독립 재현이 아니라, 첨부된 Ballerino 논문의 Section II-B와 Figure 3(a), Figure 4에 실린 CES 설명 및 분석을 중심으로 정리한다. 1. 기존 OoO Issue Queue가 비싼 이유일반적인 OoO IQ는 다양한 명령어의 operand readiness를 추적하고, 매..

CPU 20:37:57

현대 CPU의 Out-of-Order Execution 이해

들어가며OoO(Out-of-Order Execution)를 이해할 때 가장 중요한 것은 명령어 실행 순서와 결과를 확정하는 순서는 다를 수 있다는 사실이다. 프로그램은 순서대로 명령어를 정의하지만 CPU는 입력값이 준비된 명령어부터 실행할 수 있다. 이번 글에서는 OoO의 기본 파이프라인과 Register Renaming, PRF, ROB, 메모리 지연, Execution-Based Prefetching 및 Runahead까지 하나의 흐름으로 연결한다. CES·CASINO·Ballerino에 대한 상세 분석은 후속 글에서 별도로 다룬다. 1. 왜 명령어를 순서대로 실행하지 않을까?I1: a = A[i]; // 긴 cache missI2: b = a * 2; // I1 결과 필요I3:..

CPU 18:37:05