x86 보호 모드에서 Local APIC 타이머를 활용한 고정밀 타이머 구현
x86-64 보호 모드 환경에서 Local APIC(Advanced Programmable Interrupt Controller) 타이머는 PIT나 HPET 없이도 CPU 내부 타이머를 활용해 고정밀 주기적 인터럽트를 생성한다. 운영체제 커널에서 스케줄러 틱, 시간 측정, 프로파일링 등에 활용할 수 있으며, TSC(Time Stamp Counter)와 결합하면 더 정밀한 타이밍을 얻을 수 있다.
전체 구현 코드
아래 코드는 ...
9월 22일 08:46에 게시됨
어셈블리어 기초: 소스 프로그램부터 실행까지
이 문서는 어셈블리어 기초 개념을 설명하며, 소스 코드 작성부터 실행 가능한 프로그램으로 변환되는 과정을 다룹니다.
소스에서 실행 파일까지의 과정
어셈블리 프로그램 개발 과정은 다음 단계로 구성됩니다:
어셈블리 소스 코드 작성
컴파일러를 사용한 컴파일 및 링크
생성된 실행 파일 실행
실행 파일은 프로그램 코드와 데이터, 그리고 관련 설명 정보(프로그램 ...
9월 3일 21:05에 게시됨
C++ 증감 연산자(i++ vs ++i)의 동작 원리와 어셈블리 분석
C++ 개발자들 사이에서 전위 증감(++i)과 후위 증감(i++)의 차이에 대해 흔히 알려진 몇 가지 통념이 있습니다. 가장 대표적인 것은 다음과 같습니다.
++i가 i++보다 성능상 우위에 있다.
i++는 내부적으로 임시 객체를 생성한 뒤 증가시키고 기존 값을 반환하는 반면, ++i는 참조를 반환하므로 효율적이다.
sizeof 연산자의 처리 방식에 대한 오해.
이러 ...
7월 8일 05:06에 게시됨