1. 레지스터란?
- CPU안에 들어 있는 소규모 데이터 저장장치
- 컴퓨터에서 레지스터는 마이크로프로세서의 일부분으로 아주 작은 데이터를 잠시 저장할 수 있는 공간
하나의 명열어에서 다른 명령어 또는 운영체계가 제어권을 넘긴 다른 프로그램으로 데이터를 전달하기 위한 임시 장소를 제공함.
- 레지스터는 CPU내부에 존재하며 Memory나 HDD보다 빠른 전송속도를 제공함.
2. 레지스터의 종류
- 사용 목적에 따라 대표적으로 범용 레지스터, 포인터, 레지스터, 플래그 레지스터가 있다.
1) 범용 레지스터
- 프로그램이 실행되면서 사용되는 데이터들을 임시로 저장하는 공간이고 안의 데이터는 용도에 맞게 저장됨.
EAX (Accmulator) - 산술연산 (함수의 결과 값 저장)
EBX (Base Register) - 특정 주소 저장
ECX (Count) - 반복적 실행되는 특정 명령
EDX (Data) - 일반 자료 저장
2) 포인터 레지스터
- 프로그램이 사용하는 스택 메모리를 관리하는데 필요한 레지스터.
EBP (Base Pointer) - 스택 내 가장 밑의 주소
ESP (Stack Pointer) - 스택 내 가장 위의 주소
EIP (Instruction Pointer) - 다음 실행할 명령의 주소
3) 플래그 레지스터
EFLAGS - 연산 결과 및 시스템 상태와 관련된 플래그 값이 저장. 조건문이나 반복문 사용시 EFLAGS의 값에 의해 진입하는 루틴이 결정됨.
3. 레지스터의 길이
EAX (Extend) : 32 bits
AX : 16 bits
AL(low), AH (high) : 8 bits
- X86 CPU에 레지스터의 최대 크기는 32bits로 레지스터의 이름 앞에 E(Extend)를 붙여 부른다.
(EAX, EBX, ECX, EDX)
- EAX를 절반으로 자른 오른쪽의 16bits의 레지스터를 AX(BX, CX, DX)라 하고 AX를 또 절반을 나누어 AH, AL(BH:BL, CH:CL, DH:DL)로 사용한다.
감사합니다.
'IT 인터넷' 카테고리의 다른 글
앤디언 개념잡기_ 빅앤디언과 리틀앤디언(Big Endian, Little Endian)_정보보안 : 컴퓨터 시스템 (0) | 2020.05.13 |
---|