병렬 시스템의 프로세서

80 년대에는 특수 목적 프로세서가 다중 컴퓨터를 만드는 데 널리 사용되었습니다. Transputer. 변환기는 하나의 칩에 하나의 코어 프로세서, 소형 SRAM 메모리, DRAM 주 메모리 인터페이스 및 4 개의 통신 채널로 구성되었습니다. 병렬 컴퓨터 통신을 만들기 위해 채널이 연결되어 Transputer 네트워크를 형성했습니다. 그러나 계산 능력이 부족하여 증가하는 병렬 애플리케이션 수요를 충족 할 수 없습니다. 이 문제는 RISC 프로세서의 개발로 해결되었으며 가격도 저렴했습니다.

현대 병렬 컴퓨터는 명령어 수준 병렬 처리 및 데이터 수준 병렬 처리와 같은 여러 수준에서 병렬 처리를 사용하는 마이크로 프로세서를 사용합니다.

고성능 프로세서

RISC 및 RISCy 프로세서는 오늘날의 병렬 컴퓨터 시장을 지배합니다.

기존 RISC의 특성은 다음과 같습니다.

  • 주소 지정 모드가 거의 없습니다.
  • 명령어에 대한 고정 형식 (일반적으로 32 비트 또는 64 비트)이 있습니다.
  • 메모리에서 레지스터로 데이터를로드하고 레지스터에서 메모리로 데이터를 저장하는 전용로드 / 저장 명령이 있습니다.
  • 산술 연산은 항상 레지스터에서 수행됩니다.
  • 파이프 라이닝을 사용합니다.

오늘날 대부분의 마이크로 프로세서는 수퍼 스칼라입니다. 즉, 병렬 컴퓨터에서 다중 명령 파이프 라인이 사용됩니다. 따라서 슈퍼 스칼라 프로세서는 동시에 둘 이상의 명령어를 실행할 수 있습니다. 슈퍼 스칼라 프로세서의 효율성은 응용 프로그램에서 사용 가능한 ILP (명령 수준 병렬 처리)의 양에 따라 다릅니다. 파이프 라인을 채운 상태로 유지하기 위해 하드웨어 수준의 명령은 프로그램 순서와 다른 순서로 실행됩니다.

많은 최신 마이크로 프로세서는 슈퍼 파이프 라이닝 방식을 사용합니다. 수퍼 파이프 라이닝 에서는 클럭 주파수를 높이기 위해 파이프 라인 단계 내에서 수행되는 작업이 줄어들고 파이프 라인 단계 수가 증가합니다.

VLIW (Very Large Instruction Word) 프로세서

이들은 수평 마이크로 프로그래밍 및 수퍼 스칼라 처리에서 파생됩니다. VLIW 프로세서의 지침은 매우 큽니다. 단일 명령어 내의 작업은 병렬로 실행되고 실행을 위해 적절한 기능 단위로 전달됩니다. 따라서 VLIW 명령어를 가져온 후 해당 작업이 디코딩됩니다. 그런 다음 작업이 병렬로 실행되는 기능 단위로 발송됩니다.

벡터 프로세서

벡터 프로세서는 범용 마이크로 프로세서에 대한 보조 프로세서입니다. 벡터 프로세서는 일반적으로 레지스터 레지스터 또는 메모리 메모리입니다. 벡터 명령어를 가져 와서 디코딩 한 다음 피연산자 벡터의 각 요소에 대해 특정 연산을 수행하는 반면 일반 프로세서에서는 벡터 연산에 코드의 루프 구조가 필요합니다. 더 효율적으로 만들기 위해 벡터 프로세서는 여러 벡터 연산을 함께 연결합니다. 즉, 한 벡터 연산의 결과가 피연산자로 다른 연산으로 전달됩니다.

캐싱

캐시는 고성능 마이크로 프로세서의 중요한 요소입니다. 18 개월마다 마이크로 프로세서의 속도는 두 배가되지만 메인 메모리 용 DRAM 칩은이 속도와 경쟁 할 수 없습니다. 따라서 프로세서와 메모리 간의 속도 차이를 줄이기 위해 캐시가 도입되었습니다. 캐시는 빠르고 작은 SRAM 메모리입니다. TLB (Translation Look-aside Buffer) 캐시, 명령어 및 데이터 캐시 등과 같은 최신 프로세서에는 더 많은 캐시가 적용됩니다.

직접 매핑 된 캐시

직접 매핑 된 캐시에서 '모듈로'기능은 주 메모리의 주소를 캐시 위치에 일대일로 매핑하는 데 사용됩니다. 동일한 캐시 항목에 여러 개의 주 메모리 블록이 매핑 될 수 있으므로 프로세서는 캐시의 데이터 블록이 실제로 필요한 데이터 블록인지 여부를 결정할 수 있어야합니다. 이 식별은 캐시 블록과 함께 태그를 저장하여 수행됩니다.

완전 연관 캐시

완전 연관 매핑을 사용하면 캐시의 아무 곳에 나 캐시 블록을 배치 할 수 있습니다. 일부 대체 정책을 사용하여 캐시는 캐시 블록을 저장하는 캐시 항목을 결정합니다. 완전 연관성 캐시에는 유연한 매핑이있어 캐시 항목 충돌 수를 최소화합니다. 완전 연관 구현은 비용이 많이 들기 때문에 대규모로 사용되지 않습니다.

집합 연관 캐시

집합-연관 매핑은 직접 매핑과 완전 연관 매핑의 조합입니다. 이 경우 캐시 항목은 캐시 세트로 세분됩니다. 직접 매핑에서와 마찬가지로 캐시의 집합에 대한 메모리 블록 매핑이 고정되어 있습니다. 그러나 캐시 세트 내에서 메모리 블록은 완전히 연관되는 방식으로 매핑됩니다.

캐시 전략

매핑 메커니즘 외에도 캐시에는 특정 이벤트의 경우 발생해야하는 작업을 지정하는 다양한 전략이 필요합니다. (set-) 연관 캐시의 경우 캐시는 캐시에 들어가는 새 블록으로 대체 될 캐시 블록을 결정해야합니다.

잘 알려진 대체 전략은 다음과 같습니다.

  • 선입 선출 (FIFO)
  • LRU (최소 최근 사용)