프로세서 레지스터 란 무엇입니까?
컴퓨터 처리 장치 (CPU)의 저장 가능 메모리에 가장 빠르게 액세스하는 것은 프로세서 레지스터입니다. 컴퓨터 아키텍처는 프로세서 프로세스 메모리 기능을 CPU 캐시에 설계하여 컴퓨터 프로세스가 정기적으로 액세스 한 값을 거기에 저장할 수 있도록합니다. 프로세스는 저장된 값을 기반으로 빠르게 액세스하고 실행할 수 있습니다. 프로세서 레지스터는 CPU에 저장되므로 스토리지 메모리 계층 구조의 최상위로 간주되며 할당은 일반적으로 변수에 의해 결정됩니다. 데이터가 일단 처리되면 캐시, RAM (Random Access Memory) 또는 하드 디스크 스토리지로 복원됩니다.
컴퓨터 프로세서에는 작동하는 명령이나 테스트 또는 특정 내용에 따라 유형이 다른 레지스터가 있습니다. 데이터, 주소 및 범용 레지스터에는 메모리 저장을위한 수학적 값과 주소가 포함됩니다. 논리 연산 명령어에 대한 실제 값을 갖는 조건부 레지스터, pi 및 0과 같은 읽기 전용 값을 가진 상수 레지스터, 프로그램 카운터를 유지하는 특수 목적 레지스터, 상태 레지스터 및 스택 메모리 사용을위한 스택 포인터가 있습니다. 제어 레지스터는 CPU 아키텍처에 내장 된 명령어 세트의 명령어를 포함합니다. 그리고 메모리 버퍼, 메모리 데이터, 메모리 유형 범위 및 주소에 액세스하는 CPU 및 RAM의 회로에서 가져 오는 몇 가지가 있습니다. 프로세서 레지스터에 할당되지 않은 변수는 RAM에 저장되고 읽기 및 쓰기 작업을 위해로드 및로드되지만 처리 속도가 느립니다.
레지스터와 RAM의 처리 속도 차이를 알면 컴파일러 컴퓨터 프로그램 개발자는 일반적으로 기능을 빠르게 작동시키기 위해 프로세서 레지스터 스토리지에서 가능한 한 많이 작동하도록 프로그램을 설계합니다. JIT (just-in-time) 컴파일러 프로그램의 경우 선형 스캔 할당으로 알려진 레지스터 할당 기술은 레지스터 작업을 추적하고 레지스터 계산 전력을 프로그램으로 신속하게 되돌려줍니다. 레지스터 할당 기술은 빠른 컴파일을 위해 레지스터의 수를 최대화하는 레지스터 및 연산 흐름에 할당 된 프로그램 변수를 최대한 확보하려고합니다.
많은 프로세서 레지스터가 변수 및 명령어 세트의 임시 저장을위한 것이기 때문에 프로그램 사용을위한 모든 작업은 CPU가 조작하기 위해 저장할 수 있습니다. 작동 중 CPU는 하드 디스크의 RAM 및 보조 저장소를 찾기 전에 먼저 읽기, 쓰기 또는 이동 작업으로 처리 할 데이터의 복사본을 찾기 위해 레지스터의 CPU 캐시를 찾습니다. 2011 년 현재 대부분의 CPU는 3 개의 개별 캐시를 유지합니다. 명령어 캐시는 명령어에 의한 실행 페치, 변환 유사 버퍼가 가상-물리적 주소에 대한 주소 변환 속도를 높이고 데이터 캐시는 프로세서 레지스터 명령어 세트에 의해 조작 될 데이터의 다단계 계층 구조 스토리지를 보유합니다.