명령 파이프라인이란 무엇입니까?

모든 프로세서 명령에는 작업에 대한 여러 단계가 있습니다. 이러한 각 단계는 완료하는 데 단일 CPU 주기가 필요합니다. 이러한 단계는 명령어 가져오기, 명령어 디코드, 실행, 메모리 액세스 및 쓰기 저장입니다. 각각 완료해야 하는 명령을 받고, 연산 중인 값에서 연산을 분리하고, 프로세스를 실행하고, 결과가 기록될 레지스터를 열고, 열린 레지스터에 결과를 기록합니다.

역사적 순차 프로세서

초기 컴퓨터에서 CPU는 명령 파이프라인을 사용하지 않았습니다. 이러한 CPU에서는 각 단일 주기 작업이 모든 명령에 대해 발생해야 했습니다. 이는 다음 명령이 시작되기 전에 평균 명령이 완전히 처리되는 데 5클록 주기가 걸린다는 것을 의미했습니다. 일부 작업은 결과를 레지스터에 쓸 필요가 없을 수 있습니다. 즉, 메모리 액세스 및 쓰기 저장 단계를 건너뛸 수 있습니다.

명령 파이프라인이란 무엇입니까?

파이프라인이 없는 서브스칼라 프로세서에서는 각 명령의 각 부분이 순서대로 실행됩니다.

그러나 다음 명령으로 이동하기 전에 완전한 명령을 실행할 때 문제가 숨어 있습니다. 문제는 캐시 미스입니다. CPU는 현재 처리 중인 데이터를 레지스터에 저장합니다. 이는 1주기 대기 시간으로 액세스할 수 있습니다. 문제는 프로세서 코어에 내장되어 있기 때문에 레지스터가 작다는 것입니다. 데이터가 아직 로드되지 않은 경우 CPU는 더 크지만 더 느린 L1 캐시로 이동해야 합니다. 거기에 없으면 더 크고 더 느린 L2 캐시로 다시 이동해야 합니다. 다음 단계는 L3 캐시입니다. 마지막 옵션은 시스템 RAM입니다. 이러한 각 옵션은 확인하는 데 점점 더 많은 CPU 주기가 필요합니다.

이제 이렇게 추가된 대기 시간은 다음 명령을 시작하기 전에 각 명령을 순서대로 완전히 완료해야 하는 시스템에서 큰 문제가 될 수 있습니다. 명령 프로세서당 5사이클이었던 것이 갑자기 수십 또는 수백 클록 사이클 동안 하나의 명령에 중단될 수 있습니다. 그동안 컴퓨터에서는 아무 일도 일어나지 않습니다. 기술적으로 이것은 두 개의 독립적인 코어를 가짐으로써 다소 완화될 수 있습니다. 그러나 둘 다 잠재적으로 동시에 동일한 작업을 수행하는 것을 막을 수 있는 것은 없습니다. 따라서 멀티 코어 경로를 따라가는 것은 이 문제를 해결하지 못합니다.

클래식 RISC 파이프라인

RISC는 Reduced Instruction Set Computer의 약자입니다 . 각 명령을 더 쉽게 해독하여 성능을 최적화하는 프로세서 설계 스타일입니다. 이는 동일한 작업을 수행하는 데 더 적은 수의 명령이 필요하도록 보다 복잡한 명령 세트를 설계하는 CISC 또는 복합 명령 세트 컴퓨터와 비교됩니다.

고전적인 RISC 디자인에는 명령 파이프라인이 포함되어 있습니다. 주어진 주기에서 5개의 명령 단계 중 하나를 실행하는 대신 파이프라인을 통해 5단계를 모두 수행할 수 있습니다. 물론 한 사이클에서 한 명령어의 5단계를 모두 실행할 수는 없습니다. 그러나 각각 한 단계의 오프셋을 사용하여 5개의 연속 명령을 대기열에 올릴 수 있습니다. 이렇게 하면 각 클록 주기마다 새 명령어를 완료할 수 있습니다. 코어 복잡성의 상대적으로 낮은 증가에 대해 잠재적인 5배의 성능 향상을 제공합니다.

명령 파이프라인이란 무엇입니까?

스칼라 파이프라인 프로세서에서 명령 실행의 각 단계는 클록 주기당 한 번씩 수행될 수 있습니다. 이렇게 하면 주기당 하나의 완료된 명령의 최대 처리량이 가능합니다.

파이프라인이 없는 프로세서는 주기당 하나의 완전한 명령을 실행할 수 없으므로 하위 스칼라만 될 수 있습니다. 이 기본 5단계 파이프라인을 사용하면 모든 프로세스에 대한 명령을 완료할 수 있는 스칼라 CPU를 만들 수 있습니다. 훨씬 더 광범위한 파이프라인을 생성함으로써 클록 주기당 하나 이상의 명령을 실행할 수 있는 수퍼 스칼라 CPU를 만들 수 있습니다. 물론 여전히 잠재적인 문제가 있습니다.

여전히 순차

이 중 어느 것도 다른 수준의 캐시와 RAM을 쿼리해야 할 때 응답을 위해 많은 주기를 기다리는 문제를 해결하지 못합니다. 또한 새로운 문제를 소개합니다. 하나의 명령어가 이전 명령어의 출력에 의존한다면 어떻게 될까요? 이러한 문제는 고급 디스패처로 독립적으로 해결됩니다. 다른 명령의 출력에 의존하는 명령이 서로 너무 가깝지 않도록 실행 순서를 신중하게 계획합니다. 또한 명령을 파킹하고 파이프라인에서 실행할 준비가 되어 있고 결과가 필요하지 않은 다른 명령으로 교체하여 캐시 미스를 처리하고 준비가 되면 명령을 다시 시작합니다.

이러한 솔루션은 파이프라인되지 않은 프로세서에서 작동할 수 있지만 클록당 하나 이상의 명령을 실행하는 수퍼 스칼라 프로세서에 필요합니다. 또한 분기 예측기는 둘 이상의 잠재적 결과가 있는 명령의 결과를 예측하고 달리 입증되지 않는 한 계속해서 올바른 것으로 가정할 수 있으므로 매우 유용합니다.

결론

파이프라인을 사용하면 프로세서의 고유한 모든 기능을 모든 주기에서 사용할 수 있습니다. 서로 다른 명령의 서로 다른 단계를 동시에 실행하여 이를 수행합니다. 이것은 CPU 설계에 많은 복잡성을 추가하지도 않습니다. 또한 하나 이상의 명령이 주기당 단일 단계를 수행할 수 있도록 합니다.



Leave a Comment

Apple Watch를 하드 리셋하는 방법

Apple Watch를 하드 리셋하는 방법

Apple Watch 하드 리셋 및 공장 초기화 방법을 단계별로 설명합니다. 소프트 리셋부터 하드 리셋까지, 모든 모델에 대한 가이드를 제공합니다.

Galaxy Watch에서 항상 디스플레이가 작동하지 않는 문제 수정

Galaxy Watch에서 항상 디스플레이가 작동하지 않는 문제 수정

Samsung Galaxy Watch에서 Always on Display(AOD)가 작동하지 않을 때 해결하는 방법을 알아보세요. 절전 모드 비활성화, 앱 데이터 지우기, Wearable 앱 재설치 등 7가지 효과적인 해결책을 제공합니다.

링크드인: 다른 사람들이 당신이 그들의 프로필을 본 것을 알지 못하게 하는 방법

링크드인: 다른 사람들이 당신이 그들의 프로필을 본 것을 알지 못하게 하는 방법

LinkedIn에서 다른 사람들이 당신이 그들의 프로필을 본 것을 알지 못하게 하는 방법을 알아보세요. 비공개 모드 설정, 프로필 조회 기록 확인, 추가 필터 사용법 등을 포함한 완벽 가이드.

Chromebook에서 이모티콘을 얻는 방법: 알아야 할 3가지 최고의 방법

Chromebook에서 이모티콘을 얻는 방법: 알아야 할 3가지 최고의 방법

세 가지 최고의 방법으로 Chromebook에서 그림 이모티콘을 얻고 일상적인 대화를 재미있고 흥미롭게 만드는 방법을 알아보세요.

서버 팜이란 무엇입니까?

서버 팜이란 무엇입니까?

서버 팜은 데이터 센터에서 고성능 서버들이 모여 대규모 작업을 처리하는 시스템입니다. 효율적이고 경제적인 처리를 제공합니다.

컴퓨터에 물 손상이 있는지 확인하는 방법

컴퓨터에 물 손상이 있는지 확인하는 방법

물 손상은 하드웨어를 심각하게 부식시킬 수 있으며 컴퓨터 수리가 항상 가능한 것은 아닙니다. 예방은 항상 치료보다 낫습니다.

수정: Chromebook이 인쇄 미리보기를 로드하지 않음

수정: Chromebook이 인쇄 미리보기를 로드하지 않음

크롬북에서 인쇄 미리보기를 로드할 수 없는 경우 해결 방법을 제시합니다. 각 단계별로 간단하게 따라 해보세요.

Galaxy S20에서 무작위 재부팅을 중지하는 방법

Galaxy S20에서 무작위 재부팅을 중지하는 방법

Galaxy S20의 무작위 재부팅 문제를 해결하는 방법을 알아보세요. 스마트폰을 최대한 활용하세요.

Spotify 노래가 차지하는 공간 확인

Spotify 노래가 차지하는 공간 확인

Spotify Premium을 사용하면 사용자가 노래를 다운로드할 수 있으므로 네트워크에 연결되어 있지 않아도 들을 수 있습니다. 공간 최적화 방법도 알아보세요.

YouTube 동영상을 VLC 플레이어로 스트리밍하는 방법

YouTube 동영상을 VLC 플레이어로 스트리밍하는 방법

VLC Media Player는 오픈 소스이며 모든 플랫폼에서 사용 가능한 무료 미디어 플레이어입니다. 지금 바로 유튜브 동영상을 VLC에서 스트리밍하는 방법을 알아보세요.