>  기사  >  애플리케이션의 지침은 운영 체제에서 특정 서비스를 요청하는 것과 무엇을 요청하는 것으로 나눌 수 있습니까?

애플리케이션의 지침은 운영 체제에서 특정 서비스를 요청하는 것과 무엇을 요청하는 것으로 나눌 수 있습니까?

青灯夜游
青灯夜游원래의
2020-10-27 11:48:0045767검색

이론적으로 애플리케이션의 명령은 운영 체제와 중앙 처리 장치(CPU)에서 특정 서비스를 요청하는 데 사용되는 명령 세트로 나눌 수 있습니다. CPU 작업 명령어의 처리 흐름은 대략 명령어 가져오기, 디코딩, 실행, 메모리 액세스, 다시 쓰기 등 여러 단계로 나뉩니다. 각 명령어에는 필요한 필드에 따라 1~6바이트가 필요합니다.

애플리케이션의 지침은 운영 체제에서 특정 서비스를 요청하는 것과 무엇을 요청하는 것으로 나눌 수 있습니까?

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

이론적으로 애플리케이션의 명령어는 중앙 처리 장치(CPU)의 명령어 세트와 운영 체제에서 특정 서비스를 요청하는 데 사용되는 명령어 세트라는 두 가지 범주로 나눌 수 있습니다.

중앙 처리 장치(CPU, 중앙 처리 장치)는 컴퓨터의 컴퓨팅 코어(Core)이자 제어 코어(Control Unit)인 매우 큰 규모의 집적 회로입니다. 그 기능은 주로 컴퓨터 명령을 해석하고 컴퓨터 소프트웨어의 데이터를 처리하는 것입니다.

중앙처리장치에는 주로 연산장치(Arithmetic Logic Unit, ALU, Arithmetic Logic Unit)와 캐시 메모리(Cache)가 포함되며, 이들 사이의 데이터(Data), 제어 및 상태를 구현하는 버스(Bus)도 포함됩니다. 그들을. 내부 메모리(Memory), 입출력(I/O) 장치와 함께 전자 컴퓨터의 3대 핵심 부품으로 통칭됩니다.

CPU 작업 명령의 처리 흐름은 대략 명령 가져오기, 디코딩, 실행, 메모리 액세스, 다시 쓰기 등 여러 단계로 나뉩니다. 각 명령어에는 필요한 필드에 따라 1~6바이트가 필요합니다. 각 명령어의 첫 번째 바이트는 명령어 유형을 나타냅니다. 상위 4비트는 코드 부분(예: 6은 정수 연산 명령어)이고 하위 4비트는 기능 부분(예: 1은 뺄셈 명령어)입니다. 정수 클래스에서) 61 함께 하위 명령입니다.

명령 흐름 처리

명령어 세트의 중요한 속성은 바이트 인코딩에 고유한 해석이 있어야 한다는 것입니다. 모든 바이트 시퀀스는 고유한 명령 시퀀스를 인코딩하거나 유효한 바이트 시퀀스가 ​​아닙니다. 각 명령어의 첫 번째 바이트에는 코드와 기능의 고유한 조합이 있으므로 이 바이트가 주어지면 다른 모든 추가 바이트의 길이와 의미를 결정할 수 있습니다.

각 명령어에는 필수 필드에 따라 1~6바이트가 필요합니다. 각 명령어의 첫 번째 바이트는 명령어 유형을 나타냅니다. 상위 4비트는 코드 부분(예: 6은 정수 연산 명령어)이고 하위 4비트는 기능 부분(예: 1은 뺄셈 명령어)입니다. 정수 클래스에서) 61 함께 하위 명령입니다.

다음은 각 명령어를 처리하는 순서도입니다.

애플리케이션의 지침은 운영 체제에서 특정 서비스를 요청하는 것과 무엇을 요청하는 것으로 나눌 수 있습니까?

fetch(fetch)

값 단계에서는 메모리에서 명령어 바이트를 읽어 명령어 메모리(CPU)에 넣습니다. 주소는 프로그램 카운터(PC)의 값입니다. 현재 명령어 다음에 나오는 다음 명령어의 주소를 순차적으로 계산합니다(즉, PC 값에 가져온 명령어의 길이를 더한 값).

디코딩(디코드)

ALU는 레지스터 파일(범용 레지스터 모음)에서 최대 2개의 피연산자를 읽습니다. (즉, 동시에 최대 2개의 레지스터 내용을 읽는 것)

실행(execute)

실행 단계에서는 명령어의 종류에 따라 산술/논리 장치(ALU)가 다른 용도로 사용됩니다. . 다른 명령어의 경우 스택 포인터의 증가 또는 감소를 계산하거나 유효 주소를 계산하거나 단순히 0을 더하여 입력을 출력에 전달하는 가산기 역할을 합니다.

조건 코드 레지스터(CC)에는 3개의 조건 비트가 있습니다. ALU는 조건 코드의 새로운 값을 계산하는 역할을 담당합니다. 점프 명령이 실행되면 조건 코드와 점프 유형에 따라 분기 신호 cnd가 계산됩니다.

Memory

메모리 액세스 단계에서는 데이터 메모리(CPU 내)가 메모리 단어를 읽거나 씁니다. 명령어와 데이터 메모리는 동일한 메모리 위치에 액세스하지만 목적은 다릅니다.

다시 쓰기

다시 쓰기 단계에서는 최대 두 개의 결과를 레지스터 파일에 쓸 수 있습니다. 레지스터 파일에는 두 개의 쓰기 포트가 있습니다. 포트 E는 ALU가 계산한 값을 쓰는 데 사용되고 포트 M은 데이터 메모리에서 읽은 값을 쓰는 데 사용됩니다.

PC 업데이트(PC 업데이트)

명령 코드와 분기 플래그에 따라 이전 단계에서 얻은 신호 값 중 다음 PC 값을 선택합니다.

위 내용은 애플리케이션의 지침은 운영 체제에서 특정 서비스를 요청하는 것과 무엇을 요청하는 것으로 나눌 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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