>일반적인 문제 >다음에 실행할 명령의 주소를 저장하는 데 컴퓨터의 어떤 부분이 사용됩니까?

다음에 실행할 명령의 주소를 저장하는 데 컴퓨터의 어떤 부분이 사용됩니까?

藏色散人
藏色散人원래의
2020-10-29 11:52:0223017검색

실행될 다음 명령의 주소를 저장하는 데 사용되는 컴퓨터의 구성 요소는 프로그램 카운터입니다. 프로그램 카운터는 다음 명령이 있는 장치의 주소를 저장하는 데 사용됩니다. 각 명령어를 가져오면 프로그램 카운터의 저장 주소가 1씩 증가합니다.

다음에 실행할 명령의 주소를 저장하는 데 컴퓨터의 어떤 부분이 사용됩니까?

다음에 실행할 명령의 주소를 저장하는 컴퓨터 부분은 프로그램 카운터입니다.

프로그램 카운터는 다음 명령어가 위치한 유닛의 주소가 저장되는 곳입니다.

명령어를 실행할 때 먼저 PC에 저장된 명령어 주소에 따라 명령어를 메모리에서 명령어 레지스터로 가져와야 합니다. 이 프로세스를 "명령어 가져오기"라고 합니다. 동시에 PC의 주소는 자동으로 1씩 증가하거나 다음 명령어의 주소가 분기 포인터에 의해 제공됩니다. 그 후 지침이 분석되고 실행됩니다. 첫 번째 명령어의 실행을 완료한 다음 PC에 따라 두 번째 명령어의 주소를 가져오는 식으로 각 명령어를 실행합니다.

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

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

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

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

ARM 프로세서는 항상 페치 유닛을 가리키는 R15를 PC로 사용하며, ARM 프로세서에는 모든 모드에서 공유되는 PC 레지스터가 하나만 있습니다. R15의 너비는 32비트입니다(다음 표시는 R15[31:0]이며, R15의 '31번째 비트'부터 '0번째 비트'까지를 나타냄). ARM 프로세서는 4GB 주소 공간(2^32 = 4G)을 직접 주소 지정할 수 있습니다. ).

위 내용은 다음에 실행할 명령의 주소를 저장하는 데 컴퓨터의 어떤 부분이 사용됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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