ScholarGate
어시스턴트

명령어 집합 확장

명령어 집합 확장은 벡터 및 SIMD 연산, 암호화, 원자적 연산 또는 기타 특수 작업을 위해 기본 아키텍처에 새로운 명령어를 추가하여 기존 소프트웨어와의 호환성을 유지하면서 기능을 확장합니다.

PaperMind(으)로 주제 찾기곧 제공Find papers & topics
Tools & resources
슬라이드 다운로드
Learn & explore
동영상곧 제공

Definition

명령어 집합 확장은 새로운 기능을 제공하기 위해 기본 명령어 집합 아키텍처 위에 계층화된 추가 명령어 집합으로, 일반적으로 데이터 병렬, 암호화 또는 원자적 연산을 포함하며 기존 명령어 및 바이너리 호환성을 유지합니다.

Scope

이 주제는 명령어 집합이 선택적 또는 필수적 확장을 통해 시간이 지남에 따라 어떻게 성장하는지 다룹니다. 데이터 병렬 처리를 위한 SIMD 및 벡터 확장, 암호화 및 비트 조작 명령어, 원자적 및 동기화 프리미티브, 그리고 RISC-V와 같은 ISA의 모듈식 확장 모델을 포함합니다. 호환성을 깨뜨리지 않고 ISA를 확장하는 목표와 제약 조건을 다룹니다. 이러한 명령어를 실행하는 기본 병렬 하드웨어(SIMD 및 벡터 프로세서)와 기본 인코딩 체계(명령어 형식 및 인코딩)는 제외합니다.

Core questions

  • 명령어 집합은 왜 재설계되지 않고 확장되는가?
  • 기존 코드를 손상시키지 않고 고정된 인코딩 공간에 확장을 어떻게 맞추는가?
  • 어떤 종류의 연산이 일반적으로 전용 확장을 정당화하는가?
  • 모듈식 확장 모델은 구현이 필요한 기능만 포함하도록 어떻게 허용하는가?

Key concepts

  • SIMD 확장
  • 벡터 확장
  • 암호화 명령어
  • 원자적 및 동기화 명령어
  • 모듈식 및 선택적 확장
  • 하위 호환성
  • 연산 코드 공간 관리

Mechanisms

확장은 이전에 사용되지 않던 연산 코드 공간을 차지하고 새로운 명령어, 레지스터 또는 상태를 정의합니다. 소프트웨어는 런타임에 사용 가능한 확장을 감지하고(예: 기능 플래그를 통해) 최적화된 코드 경로로 디스패치합니다. SIMD 및 벡터 확장은 넓은 레지스터와 여러 데이터 요소에 걸쳐 하나의 명령어를 적용하는 연산을 추가합니다. RISC-V와 같은 모듈식 ISA는 작은 기본 집합과 구현자가 구성하는 선택적 확장 메뉴를 표준화합니다.

Clinical relevance

확장은 명령어 집합이 소프트웨어 생태계를 포기하지 않고 새로운 작업 부하에 보조를 맞추는 방법입니다. x86 SSE/AVX 및 ARM NEON과 같은 SIMD 계열은 멀티미디어, 과학 및 기계 학습 커널을 가속화합니다. 암호화 확장은 암호화를 가속화하고, 모듈식 확장은 단일 ISA가 작은 마이크로컨트롤러에서 슈퍼컴퓨터에 이르기까지 확장될 수 있도록 합니다.

History

SIMD 확장은 1990년대 후반 Intel의 MMX 및 SSE, 이후 AVX, 그리고 ARM의 NEON과 함께 주류 CPU에 도입되었습니다. 암호화 및 최근에는 기계 학습을 위한 특수 확장이 뒤따랐습니다. 최소한의 기본 집합과 표준화된 선택적 확장을 중심으로 처음부터 설계된 RISC-V ISA는 모듈식 확장 모델을 명시적이고 핵심적으로 만들었습니다.

Key figures

  • John L. Hennessy
  • David A. Patterson
  • Krste Asanović

Related topics

Seminal works

  • hennessy2019
  • patterson2020

Frequently asked questions

모든 프로세서가 가지고 있지 않은 확장을 프로그램은 어떻게 사용하는가?
소프트웨어는 런타임에 프로세서가 지원하는 확장을 감지하고(일반적으로 기능 플래그를 쿼리하여) 확장이 존재할 경우 최적화된 코드 경로를 선택하거나, 그렇지 않을 경우 기본 명령어로 폴백하여 하드웨어 전반에 걸쳐 정확성을 유지합니다.
RISC-V가 모듈식이라는 것은 무엇을 의미하는가?
RISC-V는 작은 필수 기본 정수 명령어 집합과 표준화된 선택적 확장 집합(곱셈, 원자적 연산, 부동 소수점, 벡터 등을 위한)을 정의합니다. 구현은 필요한 확장만 포함하므로 동일한 ISA가 작은 임베디드 코어에서 고성능 프로세서에 이르기까지 확장됩니다.

Methods for this concept

Related concepts