현대 CPU는 매우 복잡한 장치이며, 여러 부서에 걸쳐 너무 많은 정보가 존재하기 때문에 압도적일 수 있습니다.
Microarchitecture cheat sheet은 개발자가 성능을 고려할 때 염두에 두어야 할 X86 CPU에 대한 개요를 체계적으로 모아 제공하는 것을 목표로 합니다:
최종 업데이트 날짜: 2026년 1월 2일
<p align="center">
<img src="https://raw.githubusercontent.com/akhin/microarchitecture-cheatsheet/main/snapshot.png">
</p>
이 방대한 주제를 다음 영역들로 나눕니다:
- 파이프라인(Pipeline) 영역
- 산술(Arithmetic) 영역
- 분기 예측(Branch prediction) 영역
- 로드 스토어(Load store) 영역
- 캐시 메모리(Cache memory) 영역
- 시스템 메모리(System memory) 영역
- 가상 메모리(Virtual memory) 영역
- 멀티코어(Multicore) 영역
- 멀티CPU(MultiCPU) 영역
- "전반적(Across realms)" 영역
<a name="Resources">주요 참고 자료:
Intel® 64 및 IA-32 아키텍처 소프트웨어 개발자 매뉴얼 (Software Developer’s Manual)
Intel® 64 및 IA-32 아키텍처 최적화 참조 매뉴얼 (Optimization Reference Manual)
AMD64 아키텍처 프로그래머 매뉴얼: 볼륨 1-5 (Programmer’s Manual: Volumes 1-5)
The microarchitecture of Intel, AMD, and VIA CPUs, by Agner Fog
Instruction tables, by Agner Fog
What every programmer should know about memory, by Ulrich Drepper
<a name="Licences">라이선스:
다른 출처에서 온 정보와 시각 자료의 경우, 참조 링크를 제공했습니다.
그 외 모든 내용은 완전히 자유롭습니다.
<a name="Feedbacks">연락 및 피드백:
모든 정보가 정확하거나 최상의 방식으로 표현되었다고 주장하지는 않습니다. 일부는 프로젝트를 진행하면서 접하게 된 주제이며, 다른 일부는 개인적인 호기심에 따른 연구 결과입니다.
문제점이나 제안 사항이 있는 경우, 자유롭게 이슈(issue)를 제기해 주십시오.
제 이메일은 [email protected] 입니다.
<a name="Misc">기타: