본문 바로가기
BackEnd/Computer Architecture

레지스터 구조

by 12312121 2024. 4. 13.

RAX(Extended Accumulator Register)

사칙연산 명령어에서 자동으로 사용, 리턴 레지스터
시스템콜의 실질적인 번호를 가리키는 레지스터

RBX(Extended Base Register)

메모리 주소를 저장하는 용도로 사용

RCX(Extended Counter Register)

CPU는 루프 카운터로 ECX를 자동으로 사용

RDX(Extended Data Register)

EAX와 같이 사용됨.

포인터 레지스터(RSI, RDI, RBP, RSP)

RSI(Extended Source Index) / RDI(Extended Destination Index)

문자열 출발지/목적지 주소. 확장 소스 인덱스, 확장 목적지 인덱스 레지스터. 각각 메모리 출발지와 목적지를 나타냄. 고속 메모리 전송 명령어에서 사용.

RSP(Extended Stack Pointer)

현재 스택 주소. 그러니까 스택 맨 윗쪽 주소. 스택에 있는 데이터의 주소를 지정. 계산, 데이터 전송에는 거의 사용되지 않는다

RBP(Extended Base Pointer)

스택 복귀 주소. 고급언어에서 스택에 있는 함수 매개변수와 지역변수를 참조하기 위해서 사용. 고급 수준의 프로그래밍 이외에 일반적 계산과 데이터 전송에서 사용되지 않아야.

 

CS : Code segment 코드의 주소 저장

DS, FS, GS : Data "" 데이터의 주소 저장

ES : Extra "" 프로그래머용 or 문자열 용 데이터의 주소 저장

SS : Stack "" 스택의 주소 저장

 

 

플래그 레지스터 (FR, Flag Register) : 플래그 레지스터는 CPU 작동 중 특정 상태가 발생했음을 나타내는 데 사용된다. 크기가 1바이트 또는 2바이트인 특수 목적 레지스터이다.

 

디스크립터 : 프로세스에서 특정 파일에 접근할 때 사용하는 추상적인 값

GDT (글로벌 디스크립터 테이블) : 전역( Global )으로 쓰일 디스크립터를 모아놓은 테이블

IDT 인스트럭션 디스크립터 테이블 : 
인터럽트 벡터 테이블을 구현하기 위해 x86 아키텍처에서 사용되는 데이터 구조체

댓글