32비트 프로세스 실행 환경
펜티엄Pentium 프로세서는 한 번의 클럭에 두 개의 명령어를 실행할 수 있는 슈퍼 스칼라 구조를 가짐
내부적으로는 486과 같은 32bits 버스를 사용하지만 메모리와 연결되는 외부 데이터 버스가 64bits라 단일 버스 사이클 당 전송될 수 있는 데이터의 양이 486의 2배가 됨
- 주소 공간
- 64GB 물리적 주소 공간
- 4GB의 선형 주소 공간
- 기본 프로그램 실행 레지스터
- 범용 레지스터 8개
- 세그먼트 레지스터 6개
- EFLAGS 레지스터
- EIP 레지스터
- x87 FPU 레지스터
- x87 FPU 데이터 레지스터 8개
- x87 FPU 제어 레지스터
- 상태 레지스터
- x87 FPU IP 레지스터
- x87 FPU 명령어 레지스터
- 부동 소수점(단정도, 배정도) 연산 실행 환경 제공
- MMXTM 레지스터
- 64비트로 패킷된 바이트, 워드, 더블워드 정수에 대한 SIMD 연산을 8개의 MMX 레지스터가 지원
- XMM 레지스터
- 128비트로 패킷된 단정도, 배정도 실수 포인터 값, 바이트, 워드, 더블워드 등에 대한 SIMD 연산을 8개 XMM 레지스터와 MXCSR 레지스터가 지원
파이프라이닝과 슈퍼 스칼라
- 파이프라인
- 명령어를 실행하는 과정을 나누어 여러 명령어를 실행할 수 있게 하는 것
- 슈퍼스칼라
- CPU 내 파이프라인을 여러 개 두어 동시에 명령어를 실행하는 기술
기본 프로그램 실행 레지스터
- 범용 레지스터
- EAX, EBX, ECX, EDX
- ESI, EDI, EBP, ESP
- 세그먼트 레지스터
- CS, DS, SS, ES, FS, GS
- EFLAGS 레지스터
- 프로그램 실행 상태, 프로세스 제어 등 포함
- EIP
- 다음에 실행될 명령어 포인터

기억장치
기억 장치에 명령어와 데이터가 저장되며, 바이트 단위로 주소 부여
레지스터
8086 CPU에서 세그먼트 레지스터의 물리 주소 계산
- (세그먼트 값 * 16) + offset = 실제 물리 주소
'System Programming' 카테고리의 다른 글
| [시스템 프로그래밍] 어셈블리어 (0) | 2025.10.21 |
|---|---|
| [시스템 프로그래밍] 컴퓨터 동작의 기본 개념과 명령어 해석 (0) | 2025.10.20 |
| [시스템 프로그래밍] 개요 / 언어의 계층구조와 컴파일 과정 (0) | 2025.10.20 |
댓글