슈퍼스칼라 프로세서 : 아키텍처, 파이프라이닝, 유형 및 응용

문제를 제거하기 위해 도구를 사용해보십시오





이 세상에서 모든 사람은 자신의 일을 빨리 끝내기를 원합니다. 그렇지 않습니까? 자동차에서 산업용, 가정용 기계에 이르기까지 모두가 더 빠르게 작업하기를 원합니다. 이 기계 내부에 무엇이 들어있어 작동하는지 아십니까? 그들은 프로세서 . 기능에 따라 마이크로 또는 매크로 프로세서가 될 수 있습니다. 기본 프로세서는 일반적으로 클록 주기당 하나의 명령을 실행합니다. 기계가 속도를 향상시킬 수 있도록 처리 속도를 향상시키는 방법은, 수퍼스칼라 프로세서 클록 주기당 두 개의 명령을 실행할 수 있는 파이프라이닝 알고리즘이 있습니다. 그것은 1964년에 발명된 Seymour Cray의 CDC 6600에 의해 처음 발명되었고 나중에 1970년에 Tjaden & Flynn에 의해 향상되었습니다.


최초의 상용 단일 칩 슈퍼스칼라 마이크로프로세서 MC88100은 1988년 Motorola에서 개발했으며, 나중에 Intel은 1989년에 I960CA 버전을, 1990년에는 AMD 29000 시리즈 29050을 출시했습니다. 현재 사용되는 일반적인 슈퍼스칼라 프로세서는 Intel Core i7 프로세서입니다. 네할렘 마이크로아키텍처



그럼에도 불구하고 수퍼스칼라의 구현은 복잡성을 향상시키는 방향으로 나아가고 있습니다. 이러한 프로세서의 설계는 일반적으로 컴퓨터의 CPU가 단일 순차 프로그램을 실행하는 동안 각 주기에 대해 하나 이상의 명령 처리량을 달성할 수 있도록 하는 일련의 방법을 의미합니다. 이 기사에서 실행 시간과 응용 프로그램을 줄이는 SuperScalarprocessor 아키텍처를 자세히 살펴보겠습니다.

슈퍼스칼라 프로세서란?

프로세서의 특수 실행 장치에 다양한 명령을 동시에 디스패치하여 CLK 주기 동안 둘 이상의 명령을 실행하기 위해 단일 프로세서에서 명령 수준 병렬 처리로 알려진 병렬 처리 유형을 구현하는 데 사용되는 마이크로프로세서 유형입니다. ㅏ 스칼라 프로세서 각 클록 주기에 대해 단일 명령을 실행합니다. 수퍼스칼라 프로세서는 클록 주기 동안 둘 이상의 명령을 실행할 수 있습니다.



수퍼스칼라의 설계 기술은 일반적으로 병렬 레지스터 이름 변경, 병렬 명령 디코딩, 비순차 실행 및 추측 실행으로 구성됩니다. 따라서 이러한 방법은 일반적으로 현재 마이크로프로세서 설계 내에서 파이프라이닝, 분기 예측, 캐싱 및 멀티 코어와 같은 보완 설계 방법과 함께 사용됩니다.

  수퍼스칼라 프로세서
수퍼스칼라 프로세서

특징

수퍼스칼라 프로세서의 기능은 다음과 같습니다.

  PCBWay
  • 수퍼스칼라 아키텍처는 다양한 프로세서에서 사용되는 병렬 컴퓨팅 기술입니다.
  • 수퍼 스칼라 컴퓨터에서 CPU는 여러 명령 파이프라인을 관리하여 클록 주기 동안 수많은 명령을 동시에 수행합니다.
  • 수퍼스칼라 아키텍처에는 모든 것이 포함됩니다. 파이프라이닝 동일한 파이프라인 내에서 동시에 실행되는 여러 명령이 있지만 기능.
  • 수퍼스칼라 설계 방법은 일반적으로 병렬 레지스터 이름 변경, 병렬 명령 디코딩, 추측 실행 및 비순차 실행으로 구성됩니다. 따라서 이러한 방법은 일반적으로 최근 마이크로프로세서 설계에서 캐싱, 파이프라이닝, 분기 예측 및 멀티 코어와 같은 보완 설계 방법과 함께 사용됩니다.

수퍼스칼라 프로세서 아키텍처

처리 속도는 단순히 초당 CLK 주기로 측정되기 때문에 슈퍼스칼라 프로세서는 각 CLK 주기에 대해 하나 이상의 명령을 실행하는 CPU라는 것을 알고 있습니다. 스칼라 프로세서에 비해 이 프로세서는 매우 빠릅니다.

수퍼스칼라 프로세서 아키텍처에는 주로 병렬 실행 장치가 포함되며 이러한 장치는 명령을 동시에 구현할 수 있습니다. 따라서 먼저 이 병렬 아키텍처는 계산을 실행하기 위해 간단하고 짧은 명령을 사용하는 RISC 프로세서 내에서 구현되었습니다. 따라서 슈퍼 스칼라 능력으로 인해 일반적으로 위험 프로세서는 동일한 메가헤르츠에서 실행되는 CISC 프로세서에 비해 성능이 더 좋습니다. 하지만, 대부분 CISC 이제 Intel Pentium과 같은 프로세서는 일부 RISC 아키텍처도 구성하여 명령을 병렬로 수행할 수 있습니다.

  수퍼스칼라 프로세서 아키텍처
수퍼스칼라 프로세서 아키텍처

수퍼 스칼라 프로세서에는 모든 처리 단계에서 다양한 명령을 병렬로 처리하기 위한 여러 처리 장치가 장착되어 있습니다. 위의 아키텍처를 사용하면 많은 명령어가 유사한 클록 주기 내에서 실행을 시작합니다. 이러한 프로세서는 각 사이클에 대해 위의 하나의 명령의 명령 실행 출력을 얻을 수 있습니다.

위의 아키텍처 다이어그램에서 프로세서는 두 개의 실행 단위와 함께 사용되며, 하나는 정수에 사용되고 다른 하나는 부동 소수점 연산에 사용됩니다. IFU(Instruction Fetch Unit)는 명령을 한 번에 읽을 수 있으며 명령 대기열에 저장합니다. 모든 사이클에서 디스패치 유닛은 대기열 프런트에서 최대 2개의 명령을 가져오고 디코딩합니다. 단일 정수, 단일 부동 소수점 명령 및 위험이 없는 경우 두 명령 모두 유사한 클록 주기 내에서 발송됩니다.

파이프라이닝

파이프라이닝은 작업을 하위 단계로 나누고 다른 프로세서 부품 내에서 실행하는 절차입니다. 다음 슈퍼스칼라 파이프라인에서는 한 번에 두 개의 명령을 가져오고 디스패치하여 주기당 최대 2개의 명령을 완료할 수 있습니다. 스칼라 프로세서와 슈퍼스칼라 프로세서의 파이프라이닝 아키텍처는 아래와 같습니다.

수퍼스칼라 프로세서의 명령은 순차적 명령 스트림에서 발행됩니다. 각 클록 주기에 대해 여러 명령을 허용해야 하며 CPU는 명령 간의 데이터 종속성을 동적으로 확인해야 합니다.

아래 파이프라인 아키텍처에서 F는 가져오고, D는 디코딩되고, E는 실행되고 W는 레지스터 쓰기 되돌림입니다. 이 파이프라인 아키텍처에서 I1, I2, I3 및 I4는 명령어입니다.

스칼라 프로세서 파이프라인 아키텍처에는 단일 파이프라인과 가져오기, 디코딩, 실행 및 결과 쓰기의 4단계가 포함됩니다. 단일 파이프라인 스칼라 프로세서에서 명령1(I1)의 파이프라인은 다음과 같이 작동합니다. 첫 번째 클럭 주기 I1에서 가져오고 두 번째 클럭 주기에서 디코딩하고 두 번째 명령에서 I2를 가져옵니다. 세 번째 클럭 주기의 세 번째 명령 I3은 가져오고, I2는 디코딩하고 I1은 실행합니다. 네 번째 클록 주기에서 I4는 가져오고, I3는 디코딩하고, I2는 실행하고, I1은 메모리에 씁니다. 따라서 7클럭 기간 동안 단일 파이프라인에서 4개의 명령을 실행합니다.

  스칼라 파이프라이닝
스칼라 파이프라이닝

슈퍼스칼라 프로세서 파이프라인 아키텍처에는 2개의 파이프라인과 4단계 가져오기, 디코딩, 실행 및 결과 쓰기가 포함됩니다. 이것은 한 번에 두 개의 명령이 가져오고, 디코딩하고, 실행하고, 결과를 다시 쓰는 것을 의미하는 2-문제 슈퍼스칼라 프로세서입니다. 두 명령어 I1 및 I2는 모든 클럭 주기에서 한 번에 가져오기, 디코딩, 실행 및 쓰기를 수행합니다. 다음 클록 기간에 동시에 나머지 두 명령어 I3 및 I4는 한 번에 가져오기, 디코딩, 실행 및 다시 쓰기를 수행합니다. 따라서 5클럭 기간 동안 단일 파이프라인에서 4개의 명령을 실행합니다.

  수퍼스칼라 파이프라이닝
수퍼스칼라 파이프라이닝

따라서 스칼라 프로세서는 클록 주기당 단일 명령을 발행하고 클록 주기당 단일 파이프라인 단계를 수행하는 반면, 수퍼스칼라 프로세서는 클록 주기당 두 개의 명령을 발행하고 각 단계의 두 인스턴스를 병렬로 실행합니다. 따라서 스칼라 프로세서의 명령 실행에 더 많은 시간이 걸리는 반면 수퍼 스칼라에서는 명령을 실행하는 데 더 적은 시간이 걸립니다. .

수퍼스칼라 프로세서의 유형

이들은 아래에서 논의되는 시장에서 사용 가능한 다양한 유형의 수퍼스칼라 프로세서입니다.

인텔 코어 i7 프로세서

Intel Core i7은 Nehalem 마이크로 아키텍처를 기반으로 하는 슈퍼스칼라 프로세서입니다. Core i7 설계에는 모든 프로세서 코어가 슈퍼스칼라 프로세서인 다양한 프로세서 코어가 있습니다. 이것은 소비자용 컴퓨터 및 장치에 사용되는 가장 빠른 인텔 프로세서 버전입니다. Intel Corei5와 마찬가지로 이 프로세서에는 Intel Turbo Boost 기술이 내장되어 있습니다. 이 프로세서는 한 번에 최대 12개의 서로 다른 스레드를 지원하는 2~6가지 종류로 액세스할 수 있습니다.

  인텔 코어 i7 프로세서
인텔 코어 i7 프로세서

인텔 펜티엄 프로세서

Intel Pentium 프로세서 수퍼스칼라 파이프라인 아키텍처는 CPU가 각 주기에 대해 최소 2개 이상의 명령을 실행함을 의미합니다. 이 프로세서는 개인용 컴퓨터에서 널리 사용됩니다. 인텔 펜티엄 프로세서 장치는 일반적으로 온라인 사용, 클라우드 컴퓨팅 및 공동 작업을 위해 제작되었습니다. 따라서 이 프로세서는 태블릿과 Chromebook에서 완벽하게 작동하여 강력한 로컬 성능과 효율적인 온라인 상호 작용을 제공합니다.

  인텔 펜티엄 프로세서
인텔 펜티엄 프로세서

IBM 파워 PC601

IBM Power PC601과 같은 슈퍼스칼라 프로세서는 RISC 마이크로프로세서의 PowerPC 제품군에 속합니다. 이 프로세서는 각 클록에 대해 3개의 명령과 3개의 실행 장치 각각에 대해 하나씩 명령을 실행하고 폐기할 수 있습니다. 성능 향상을 위한 지침이 완전히 잘못되었습니다. 그러나 PC601은 실행을 순서대로 나타냅니다.

  IBM 파워 PC601
IBM 파워 PC601

강력한 PC601 프로세서는 32비트 논리 주소, 8, 16 및 32비트 정수 데이터 유형 및 32 및 64비트 부동 소수점 데이터 유형을 제공합니다. 64비트 PowerPC 구현을 위해 이 프로세서의 아키텍처는 64비트 기반 정수 데이터 유형, 주소 지정 및 64비트 기반 아키텍처를 완성하는 데 필요한 기타 기능을 제공합니다.

엠씨 88110

MC 88110은 고급 방법을 사용하여 명령 수준 병렬성을 활용하는 단일 칩 2세대 RISC 마이크로프로세서입니다. 이 프로세서는 다중 온칩 캐시, 슈퍼스칼라 명령어 문제, 제한된 동적 명령어 기록 및 예측 실행을 사용하여 최대 성능을 달성하므로 저비용 PC 및 워크스테이션 내에서 중앙 프로세서로 이상적으로 사용됩니다.

  엠씨 88000
엠씨 88000

인텔 i960

Intel i960은 모든 프로세서 클록 주기 동안 다양한 독립 명령을 실행 및 디스패치할 수 있는 슈퍼 스칼라 프로세서입니다. 1990년대 초 임베디드 마이크로컨트롤러로 매우 유명해진 RISC 기반의 마이크로프로세서입니다. 이 프로세서는 몇 가지 군사 응용 프로그램에서 지속적으로 사용됩니다.

  인텔 i960
인텔 i960

밉스 R

MIPS R은 64비트 MIPS 4-명령어 세트 아키텍처를 실행하는 데 사용되는 동적 및 슈퍼스칼라 마이크로프로세서입니다. 이 프로세서는 각 주기에 대해 4개의 명령을 가져오고 디코딩하며 완전히 파이프라인되고 대기 시간이 짧은 5개의 실행 장치로 실행합니다. 이 프로세서는 메모리 집약성이 낮은 고성능, 대형 및 실제 응용 프로그램을 위해 특별히 설계되었습니다. 대략적인 실행으로 단순히 메모리 주소를 계산합니다. MIPS 프로세서는 주로 Nintendo Gamecube, SGI의 제품 라인, Sony Playstation 2, PSP 및 Cisco 라우터와 같은 다양한 장치에 사용됩니다.

  밉스 R
밉스 R

차이점 B/W 수퍼 스칼라 대 파이프라이닝

수퍼스칼라와 파이프라이닝의 차이점은 아래에서 설명합니다.

수퍼스칼라

파이프라이닝

수퍼 스칼라는 단일 프로세서에서 명령 수준 병렬 처리라고 하는 병렬 처리 형식을 구현하는 데 사용되는 CPU입니다. 파이프라이닝과 같은 구현 기술은 실행 내에서 여러 명령이 중첩되는 경우에 사용됩니다.
수퍼스칼라 아키텍처는 여러 명령어를 동시에 시작하고 별도로 실행합니다. 파이프라이닝 아키텍처는 각 클록 주기에 대해서만 단일 파이프라인 단계를 실행합니다.

이러한 프로세서는 공간 병렬 처리에 의존합니다. 시간적 병렬성에 따라 다릅니다.
여러 작업이 별도의 하드웨어에서 동시에 실행됩니다. 공통 하드웨어에서 여러 작업이 겹칩니다.
레지스터 파일 포트 및 실행 장치와 같은 하드웨어 리소스를 복제하여 달성됩니다. 이는 매우 빠른 CLK 사이클로 더 깊이 파이프라인된 실행 유닛에 의해 달성됩니다.

형질

그만큼 수퍼스칼라 프로세서 특성 다음을 포함하십시오.

  • 슈퍼스칼라 프로세서는 대기 상황 없이 단순히 독립적인 명령이 직렬로 수행되는 슈퍼 파이프라인 모델입니다.
  • 수퍼 스칼라 프로세서는 들어오는 명령어 스트림의 여러 명령어를 한 번에 가져오고 디코딩합니다.
  • 수퍼스칼라 프로세서의 아키텍처는 명령 수준 병렬 처리의 잠재력을 활용합니다.
  • 수퍼스칼라 프로세서는 주로 모든 주기에 대해 위의 단일 명령을 발행합니다.
  • 아니. 발행되는 명령의 수는 주로 명령 스트림 내의 명령에 따라 다릅니다.
  • 명령은 프로세서의 아키텍처에 더 잘 맞도록 자주 재정렬됩니다.
  • 수퍼스칼라 방법은 일반적으로 일부 식별 특성과 연관됩니다. 명령은 일반적으로 순차적 명령 스트림에서 발행됩니다.
  • CPU는 런타임에 명령 사이의 데이터 종속성을 동적으로 확인합니다.
  • CPU는 각 클록 주기에 대해 여러 명령을 실행합니다.

장점과 단점

그만큼 슈퍼스칼라 프로세서의 장점 다음을 포함하십시오.

  • 수퍼 스칼라 프로세서는 단일 프로세서에서 명령 수준 병렬 처리를 구현합니다.
  • 이러한 프로세서는 단순히 모든 명령 세트를 수행하도록 만들어졌습니다.
  • 비순차 실행 분기 예측 및 추측 실행을 포함하는 수퍼 스칼라 프로세서는 여러 기본 블록 및 루프 반복에서 병렬성을 간단히 찾을 수 있습니다.

그만큼 수퍼스칼라 프로세서의 단점 다음을 포함하십시오.

  • 슈퍼스칼라 프로세서는 전력 사용량 때문에 소형 임베디드 시스템에서는 많이 사용되지 않는다.
  • 일정 문제는 이 아키텍처에서 발생할 수 있습니다.
  • 수퍼스칼라 프로세서는 하드웨어 설계의 복잡성 수준을 향상시킵니다.
  • 이 프로세서의 명령은 단순히 순차 프로그램 순서에 따라 가져오지만 이것이 최선의 실행 순서는 아닙니다.

수퍼스칼라 프로세서 애플리케이션

수퍼스칼라 프로세서의 응용 분야는 다음과 같습니다.

  • 수퍼스칼라 실행은 랩톱이나 데스크톱에서 자주 사용됩니다. 이 프로세서는 실행 중인 프로그램을 스캔하여 하나로 실행할 수 있는 명령 세트를 발견합니다.
  • 수퍼 스칼라 프로세서에는 한 번에 다양한 명령을 실행하는 다양한 데이터 경로 하드웨어 사본이 포함됩니다.
  • 이 프로세서는 주로 단일 순차 프로그램의 각 클록 주기에 대해 하나 이상의 명령 실행 속도를 생성하도록 설계되었습니다.

따라서 이것이 전부입니다. 수퍼스칼라 프로세서 개요 – 아키텍처, 유형 및 애플리케이션. 스칼라 프로세서란 무엇입니까?