-
컴퓨터 CPU의 작업 순서IT 2021. 6. 4. 01:30반응형
대부분의 CPU의 기본 작업은 "프로그램"이라는 저장된 명령 순서를 실행하는 것입니다. 이 프로그램은 컴퓨터 메모리의 일종으로 유지되는 일련의 숫자로 표시됩니다. 거의 모든 von Neumann 아키텍처 CPU가 작업에 사용하는 네 단계가 있습니다. 공통적인 CPU의 작업 순서는 가져오기, 디코딩, 실행 그리고 마지막으로 쓰기입니다.
컴퓨터가 제일 처음 시작하는 작업은 가져오기입니다. 첫 번째 단계인 읽기는 프로그램 메모리에서 명령(숫자 또는 숫자 시퀀스로 표시되는)을 검색하는 것을 포함합니다. 프로그램 메모리의 위치는 검색할 다음 명령의 주소를 식별하는 번호를 저장하는 프로그램 카운터(PC)에 의해 결정됩니다. 명령을 읽은 후 PC는 메모리 단위 측면에서 명령의 길이에 의해 증가되어 시퀀스에서 다음 명령의 주소를 포함합니다. 이때 자주 읽어드린 명령은 상대적으로 느린 메모리에서 검색해야 하므로 명령이 반환될 때까지 기다리는 동안 CPU가 중지됩니다. 이 문제는 캐시 및 파이프라인 아키텍처에 의해 최신 프로세서에서 주로 해결되었습니다. 다음 단계는 디코딩입니다. 디코딩 단계에서 명령은 CPU의 다른 단위에 대한 의미가 있는 부분으로 나뉩니다. 숫자 명령 값이 해석되는 방식은 CPU의 명령 집합 아키텍처(ISA)에 의해 정의됩니다. 그리고 종종 opcode라고 하는 명령문의 숫자 그룹은 수행할 작업을 나타냅니다. 숫자의 나머지 부분은 일반적으로 추가 작업에 대한 오페란과 같은 해당 명령에 필요한 정보를 제공합니다. 이러한 오퍼랜드는 일정한 값으로 주어집니다. 오퍼랜드는 즉각적인 값이라고 하기도 합니다. 값이 주어지면 어떤 주소로 결정된 값을 찾아서 보내야 하는지 판단하는데, 그 값은 장소로서 레지스터 또는 메모리 주소일 수 있습니다. 이전 설계에서는 디코딩 명령을 담당하는 CPU 단위가 하드웨어 장치를 수정했습니다. 그러나 보다 추상적이고 복잡한 CPU 및 ISA에서는 마이크로 프로그램이 종종 CPU에 대한 다양한 구성 신호로 지침을 변환하는 데 사용됩니다. 이 마이크로 프로그램은 때때로 CPU가 제조된 후에도 명령을 디코딩하는 방식을 변경하도록 수정할 수 있는 방식으로 다시 작성할 수 있습니다. 이제는 실행 단계입니다. 실행은 읽기 및 디코딩 단계 후 명령문의 실행 단계가 수행됩니다. 이 단계에서는 여러 CPU 장치가 원하는 작업을 수행할 수 있도록 연결됩니다. 예를 들어 추가 작업이 요청된 경우 논리 산술 단위(ALU)가 입력 집합 및 출력 집합에 연결됩니다. 입력은 추가할 숫자를 제공하며 출력에는 최종 합계가 포함됩니다. ALU에는 추가 및 비트 별 작업과 같은 입력에 대한 간단한 산술 및 논리 작업을 수행하는 회로가 포함되어 있습니다. 추가 작업이 CPU에서 처리할 수 없을 정도로 큰 결과를 생성하는 경우 플래그 레지스터에 있는 산술 오버플로 플래그도 조정할 수 있습니다. 마지막은 사용단계입니다. 이 단계는 쓰기라고 하기도 합니다. 단순히 특정 형태의 메모리에 실행 단계의 결과를 "쓰기"때문에 이렇게 불리고 있습니다. 종종 결과는 후속 지침에 의해 빠른 액세스를 위해 일부 내부 CPU 레지스터에 기록됩니다. 다른 경우에는 결과를 느리지만 저렴하고 큰 메인 메모리로 기록할 수 있습니다. 일부 유형의 문은 결과 데이터를 직접 생성하는 대신 프로그램 카운터를 조작합니다. 일반적으로 "점프"라고 하며 루프, 조건부 프로그램 실행(조건부 점프 사용) 및 프로그램의 함수와 같은 동작을 용이하게 합니다. 많은 지침이 "플래그" 레코드의 숫자 상태를 변경합니다. 이러한 플래그는 여러 작업의 결과를 나타내는 경우가 많기 때문에 프로그램의 작동 방식에 영향을 미칠 수 있습니다. 예를 들어 "비교" 명령문 유형은 두 값을 고려하고 가장 큰 플래그 레지스터에서 숫자를 설정합니다. 그런 다음 후속 점프 명령에서 이 플래그를 사용하여 프로그램 흐름을 확인할 수 있습니다. 문을 실행하고 결과 데이터를 작성한 후 전체 프로세스는 다음 명령 주기와 함께 반복되며 일반적으로 프로그램 카운터의 증분 값으로 인해 다음 명령을 순서대로 읽습니다. 완료된 명령이 홉인 경우 프로그램 카운터를 건너뛰고 건너뛰는 명령의 주소를 포함하도록 수정되고 프로그램 실행은 정상적으로 계속됩니다. CPU에서 여기에 설명된 것보다 더 복잡한 경우 여러 지침을 동시에 읽고 디코딩하고 실행할 수 있습니다. 이 섹션에서는 일반적으로 "클래식 RISC 파이프라인"이라고 불리는 것을 설명하며, 이는 실제로 마이크로 컨트롤러라고도 하는 많은 전자 장치에서 사용되는 간단한 CPU들 사이에서 매우 일반적입니다.
'IT' 카테고리의 다른 글
클럭 주파수와 CPU와의 관계 (0) 2021.06.04 컴퓨터가 인식하는 숫자의 범위 (0) 2021.06.04 마이크로 프로세서의 주 재료 (0) 2021.06.03 CPU는 무슨 일을 담당할까? (0) 2021.06.03 인텔 CPU 코어의 변천사 (0) 2021.06.03