Skip to main content

CSAPP

챕터
#

2026

CSAPP Chapter 5

·113 words·1 min
챕터 # 프로그램을 작성할 때 주요 목표는 모든 조건에서 프로그램이 올바르게 작동하도록 만드는 것이다. 빠르더라도 잘못된 결과가 나오면 의미가 없다. 명확하고 간결한 코드를 작성해야 한다. 빠르게 실행하는 게 중요한 상황도 있다. 비디오 프레임, 네트워크 패킷 처리 등 이 장에서는 다양한 유형의 최적화를 통해 프로그램을 더 빠르게 실행하는 방법을 탐구한다. 적절한 알고리즘과 자료구조 컴파일러가 효율적인 실행 코드로 변환할 수 있는 소스 코드 최적화 컴파일러의 능력과 한계 작업을 병렬로 계산할 수 있는 부분으로 분할 개발 및 최적화에서는 구현/유지보수의 용이성과 실행 속도 사이에서 절충해야 한다. 5.1 Capabilities and Limitations of Optimizing Compilers 5.2 Expressing Program Performance 5.3 Program Example 5.4 Elimination Loop Inefficiencies 5.5 Reducing Procedure Calls 5.6 Eliminating Unneeded Memory References 5.7 Understanding Modern Processors

CSAPP Chapter 4

·93 words·1 min
챕터 # 지금까지 컴퓨터 시스템을 기계어 수준으로만 보았다. 명령어는 1바이트 이상의 시퀀스로 이진 형태로 인코딩 된다. 특정 프로세서가 지원하는 명령어와 인코딩을 ISA(Instruction Set Architecture)라고 한다. ISA는 컴파일러 작성자와 프로세서 설계자 사이의 추상화 레이어로 볼 수 있다. 이 장에서 배울 것 프로세서 하드웨어의 설계 간단한 명령어 셋 Y86-64 디지털 하드웨어 디자인의 기본 빌딩 블록 HCL(Hardware Control Language) 순차적 Y86-64 프로세서 파이프라인을 적용한 프로세서 4.1 The Y86-64 Instruction Set Architecture 4.2 Logic Design and the Hardware Control Language 4.3 Sequential Y86-64 Implementations 4.4 General Principles of Pipelining 4.5 Pipelined Y86-64 Implementations 4.6 Summary Architecture Lab

CSAPP Chapter 3

·30 words·1 min
챕터 # 3.9 Heterogeneous Data Structures [[260121_TIL_CSAPP 3.10|3.10 Combining Control and Data in Machine-Level Programs]] 3.10 Combining Control and Data in Machine-Level Programs 3.11 Floating-Point Code 3.12 Summary Attack Lab