>  기사  >  명령어의 후속 주소를 추적하는 CPU의 레지스터는 무엇입니까?

명령어의 후속 주소를 추적하는 CPU의 레지스터는 무엇입니까?

青灯夜游
青灯夜游원래의
2020-08-19 14:40:4719425검색

CPU 명령어의 후속 주소를 추적하는 레지스터는 프로그램 카운터입니다. 프로그램 카운터는 다음 명령어가 위치한 유닛의 주소를 저장하는 곳이다.

명령어의 후속 주소를 추적하는 CPU의 레지스터는 무엇입니까?

프로그램 카운터는 현재 실행 중인 명령어의 주소(위치)가 포함된 컴퓨터 프로세서의 레지스터입니다. 각 명령어를 가져오면 프로그램 카운터의 메모리 주소가 1씩 증가합니다. 각 명령어를 가져온 후 프로그램 카운터는 시퀀스의 다음 명령어를 가리킵니다. 컴퓨터를 다시 시작하거나 재설정하면 일반적으로 프로그램 카운터가 0으로 돌아갑니다.

폰 노이만의 컴퓨터 아키텍처의 주요 내용 중 하나는 "프로그램 사전 저장 및 자동 컴퓨터 실행"입니다! 프로세서가 실행할 프로그램(명령 시퀀스)은 바이너리 코드 시퀀스 형태로 컴퓨터 메모리에 미리 저장되어 있습니다. 프로세서는 이러한 코드를 하나씩 프로세서로 가져온 다음 이를 디코딩하고 실행하여 실행을 완료합니다. 전체 프로그램. 프로그램이 계속 실행될 수 있도록 하기 위해 CPU에는 다음 가져오기 명령어의 주소를 결정할 수 있는 수단이 있어야 합니다. 프로그램 카운터(PC)가 이 역할을 하므로 흔히 '명령 카운터'라고 부른다.

프로그램이 실행되기 전에 프로그램 명령 시퀀스의 시작 주소, 즉 프로그램의 첫 번째 명령이 위치한 메모리 장치 주소가 PC로 전송됩니다. CPU는 메모리에서 첫 번째 명령을 읽습니다. 가져오기) PC의 지시에 따라. 명령어를 실행할 때 CPU는 자동으로 PC의 내용을 수정합니다. 즉, 명령어가 실행될 때마다 PC는 명령어에 포함된 바이트 수(명령어 수)만큼 증가합니다. 바이트), PC는 항상 가져올 다음 명령어 주소를 가리킵니다. 대부분의 명령은 순차적으로 실행되므로 PC를 수정하는 과정은 일반적으로 단순히 "명령 바이트 수"를 PC에 추가하는 것입니다.

프로그램이 전송되면 전송 명령 실행의 최종 결과는 PC의 값을 변경하는 것이며, 이 PC 값이 전송의 대상 주소가 됩니다. 프로세서는 항상 PC 포인터에 따라 명령을 가져오고, 디코딩하고, 실행함으로써 프로그램 전송을 실현합니다.

더 많은 관련 지식을 보려면 PHP 중국어 웹사이트를 방문하세요!

위 내용은 명령어의 후속 주소를 추적하는 CPU의 레지스터는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.