>일반적인 문제 >명령어 카운터의 내용을 기반으로 주 메모리에 액세스할 때 CPU는 어떤 정보를 검색합니까?

명령어 카운터의 내용을 기반으로 주 메모리에 액세스할 때 CPU는 어떤 정보를 검색합니까?

王林
王林원래의
2020-12-08 11:34:2412038검색

CPU는 명령어 카운터의 내용에 따라 메인 메모리에 액세스하고, 검색된 정보가 명령어입니다. 명령어 카운터는 다음 명령어가 위치한 유닛의 주소를 저장하는 곳이다. 프로그램이 실행을 시작하기 전에 시작 주소를 명령어 카운터에 입력해야 합니다.

명령어 카운터의 내용을 기반으로 주 메모리에 액세스할 때 CPU는 어떤 정보를 검색합니까?

이 기사의 운영 환경: windows10 시스템, thinkpad t480 컴퓨터.

CPU는 명령어 카운터의 내용에 따라 메인 메모리에 액세스하고, 검색된 정보가 명령어입니다.

명령 카운터 소개:

프로그램 카운터는 다음 명령이 위치한 유닛의 주소를 저장하는 데 사용되는 곳입니다.

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

프로그램(운영 체제에서 프로세스로 이해됨)이 지속적으로 실행될 수 있도록 하기 위해 프로세서에는 다음 명령의 주소를 결정할 수 있는 몇 가지 수단이 있어야 합니다. 프로그램 카운터가 이 역할을 하므로 흔히 명령어 카운터라고 부릅니다. 프로그램이 실행되기 전에 시작 주소, 즉 프로그램의 첫 번째 명령어가 위치한 메모리 장치의 주소를 프로그램 카운터로 보내야 하므로 프로그램 카운터의 내용은 명령어의 주소가 됩니다. 메모리에서 가져왔습니다.

명령어가 실행되면 프로세서는 자동으로 PC의 내용을 수정합니다. 즉, 명령어가 실행될 때마다 PC는 명령어에 포함된 바이트 수와 동일한 양만큼 증가하므로 실행할 다음 명령어를 항상 유지합니다. 대부분의 명령은 순차적으로 실행되므로 수정 프로세스는 일반적으로 단순히 PC에 1을 추가하는 것입니다.

단, JMP(점프, 외국어 이름: JUMP) 명령어 등의 전송 명령어를 만나면 후속 명령어의 주소(즉, PC의 내용)를 의 주소 필드에서 얻어야 합니다. 명령어 레지스터. 이 경우 메모리에서 가져온 다음 명령어는 평소처럼 순차적으로 가져오는 대신 분기 명령어로 지정됩니다. 따라서 프로그램 카운터의 구조는 정보 등록과 카운팅이라는 두 가지 기능을 갖춘 구조여야 한다.

(학습 영상 공유: 프로그래밍 영상)

위 내용은 명령어 카운터의 내용을 기반으로 주 메모리에 액세스할 때 CPU는 어떤 정보를 검색합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

관련 기사

더보기