맨위로가기

코프로세서

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

코프로세서는 주 프로세서의 부담을 덜어주기 위해 특정 작업을 전담하는 보조 프로세서이다. 초기에는 부동 소수점 연산, 입출력 처리 등을 담당했으며, CPU와 별도로 존재했다. 1970년대 데스크톱 컴퓨터에 처음 등장하여 1980~90년대에 일반화되었고, 인텔 8087, 모토롤라 68881 등이 대표적이다. 이후 마이크로프로세서 기술 발전과 함께 CPU에 통합되는 경향을 보였으며, 현재는 GPU, PhysX, 센서 허브 등 특정 분야의 연산을 가속하는 형태로 발전하고 있다.

더 읽어볼만한 페이지

  • 이기종 컴퓨팅 - 이기종 시스템 아키텍처
    이기종 시스템 아키텍처(HSA)는 CPU, GPU, DSP 등 다양한 처리 장치를 효율적으로 활용하기 위해 컴퓨팅 장치를 위한 통합 가상 주소 공간을 제공하여 GPU가 CPU와 메모리를 공유하며 데이터를 교환하도록 함으로써 이기종 컴퓨팅 환경의 성능과 전력 효율성을 향상시키는 시스템 아키텍처이다.
  • 이기종 컴퓨팅 - ROCm
    ROCm은 AMD가 개발한 개방형 소프트웨어 스택으로, GPU를 활용한 컴퓨팅을 지원하며, HIP를 통해 CUDA 코드를 사용할 수 있도록 지원하고 머신 러닝, 슈퍼컴퓨팅 등 다양한 분야에서 활용된다.
  • 코프로세서 - 제온 파이
    제온 파이는 인텔에서 개발한 x86 기반 메니코어 프로세서로, 나이츠 페리, 나이츠 코너, 나이츠 랜딩, 나이츠 밀 등의 모델이 있으며, AVX-512 명령어 세트 지원을 통해 고성능 컴퓨팅 환경에서 복잡한 연산을 효율적으로 처리하는 데 중점을 둔다.
  • 코프로세서 - 엔비디아 테슬라
    엔비디아 테슬라는 엔비디아가 개발한 고성능 GPU 제품군으로, CUDA를 활용한 병렬 컴퓨팅 환경을 제공하여 다양한 분야에서 고성능 컴퓨팅을 지원하며, 여러 마이크로아키텍처 기반 모델을 통해 발전해왔고, 메모리 및 통신 대역폭을 늘리는 혁신을 거듭해왔다.
  • 중앙 처리 장치 - 마이크로컨트롤러
    마이크로컨트롤러는 프로세서, 메모리, 입출력 기능을 단일 칩에 통합하여 임베디드 시스템의 핵심이 되는 부품으로, 프로그램 내장 방식을 통해 소프트웨어만으로 제어 기능 변경이 가능하며, 현재는 32비트 ARM, MIPS 아키텍처 기반 제품이 주를 이루고, 저전력 소모, 소형화, 다양한 기능 통합을 특징으로 다양한 분야에서 활용된다.
  • 중앙 처리 장치 - NX 비트
    NX 비트는 하드웨어 기반 보안 기능으로, 메모리 페이지의 실행 권한을 제어하여 특정 영역에서 코드 실행을 막아 버퍼 오버플로 공격과 같은 보안 위협을 줄이는 데 사용되며, AMD에서 처음 도입 후 다양한 프로세서와 운영체제에서 DEP 등의 이름으로 구현되었다.
코프로세서
일반 정보
유형컴퓨터 프로세서
용도부동소수점 연산
그래픽 처리
신호 처리
암호화
다른 이름보조 프로세서
설명주기억장치에 저장된 명령어들을 인출, 해독, 실행하는 중앙처리장치(CPU)를 돕는 특수 목적의 프로세서
예시부동소수점 유닛 (FPU)
그래픽 처리 장치 (GPU)
디지털 신호 처리 장치 (DSP)
암호화 가속기

2. 역할

코프로세서는 자체로 다목적 프로세서가 아닐 수 있다. 메모리에서 명령어를 불러오거나, 흐름 제어 명령 프로그램을 실행하거나, 입출력을 수행하거나, 메모리를 관리하는 등의 역할은 할 수 없다. 코프로세서가 이러한 작업을 하려면 주 프로세서가 필요하다. 일부 아키텍처에서 코프로세서는 다목적으로 사용되기도 하지만, 관리 프로세서의 통제 하에서 제한된 범위의 기능만을 수행한다.

코프로세서는 자율성의 정도가 다양하다. 일부 코프로세서(예: FPU)는 코프로세서 명령어를 통해 직접 제어되며, 이는 CPU의 명령어 스트림에 포함되어 있다. 다른 코프로세서는 자체적으로 독립적인 프로세서로 비동기적으로 작동할 수 있지만, 범용 코드에 최적화되어 있지 않거나 특정 작업 가속에 초점을 맞춘 제한적인 명령어 집합으로 인해 범용 코드를 처리할 수 없다. 이러한 코프로세서는 호스트 프로세서(CPU)가 명령 목록을 구축하여 DMA로 구동되는 경우가 많다. 플레이스테이션 2의 Emotion Engine에는 두 가지 모드로 작동할 수 있는 특이한 DSP와 유사한 SIMD 벡터 유닛이 포함되어 있었다.

CPU를 보조하기 위해 탑재되는 프로세서로, 시스템 전체의 성능 향상을 목적으로 한다. CPU와 소프트웨어의 조합으로 처리하면 시간이 오래 걸리는 처리를, 그 처리에 특화된 코프로세서에 맡겨 실행함으로써 전용 하드웨어에 의한 고속화, 즉 하드웨어 가속이 가능해진다.

"co + processor"라는 구성의 용어이며, "coprocessor", "co-processor"로 한정하면, 접두사 "co-"는 "보조적", "부"라는 의미로 사용되고 있다.

3. 등장 및 전개

CPU를 보조하기 위해 탑재되는 프로세서로, 시스템 전체의 성능 향상을 목적으로 한다.

CPU의 명령을 받아 동작하며, CPU와 소프트웨어의 조합으로 처리하면 시간이 오래 걸리는 처리를, 그 처리에 특화된 코프로세서에 맡겨 실행함으로써, 전용 하드웨어에 의한 고속화, 즉 하드웨어 가속이 가능해진다.

"co + processor"라는 구성의 용어이며, "coprocessor", "co-processor"로 한정하면, 접두사 "co-"는 "보조적", "부"라는 의미로 사용된다.

3. 1. 초기 코프로세서

메인프레임 컴퓨터에서는 입출력(I/O) 작업을 입출력 채널이라는 별개의 시스템에 위임하여 프로세서의 처리 시간을 최대한 활용했다. 메인프레임은 입출력 처리를 직접 하지 않고, 입출력 매개변수를 설정한 후 채널 프로세서에 모든 작업을 수행하도록 신호를 보냈다. 이처럼 상대적으로 시간이 오래 걸리는 입출력 형식 지정 및 처리를 단순한 서브 프로세서에 할당함으로써 전체 시스템 성능이 향상되었다.

부동소수점 연산을 위한 코프로세서는 1970년대에 개인용 컴퓨터에 처음 등장했고, 1980년대와 1990년대 초반에 널리 사용되었다. 초기 8비트 및 16비트 프로세서는 소프트웨어를 사용하여 부동소수점 연산을 수행했다. 코프로세서가 지원되면 부동소수점 계산을 훨씬 빠르게 수행할 수 있었다. 수치 연산 코프로세서는 컴퓨터 지원 설계(CAD) 소프트웨어나 과학 및 공학 계산을 하는 사용자들에게 인기 있는 구매 품목이었다. 인텔 8087, 모토롤라 68881, 내셔널 32081처럼 CPU에 밀접하게 통합된 것과 달리, AMD 9511, Intel 8231/8232, 웨이텍(Weitek) FPU와 같은 일부 부동소수점 장치는 주변 장치로 취급되기도 했다.

또 다른 형태의 코프로세서로는 비디오 디스플레이 코프로세서가 있는데, 아타리 8비트 제품군, 텍사스 인스트루먼트 TI-99/4A, MSX 가정용 컴퓨터에 사용되었고, '비디오 디스플레이 컨트롤러'로 불렸다. 코모도어 아미가 제품군에 사용된 그래픽 처리 장치 칩은 '카퍼'(Copper)로 알려졌다.

마이크로프로세서가 발전하면서 부동소수점 연산 기능을 프로세서에 통합하는 비용이 감소했고, 프로세서 속도가 빨라지면서 밀접하게 통합된 코프로세서 구현이 어려워졌다. 별도로 판매되던 수치 연산 코프로세서는 현재 개인용 컴퓨터에서는 흔하지 않다. 그러나 특히 컴퓨터 게임에서 사실적인 3D 그래픽에 대한 요구가 증가하면서 그래픽 전용 코프로세서에 대한 요구는 증가했다.

3. 2. 인텔 코프로세서

IBM PC인텔 8087 부동소수점 코프로세서(일명 FPU)를 위한 소켓을 포함하고 있었는데, 이는 컴퓨터 지원 설계나 수학 계산을 많이 하는 사람들에게 인기 있는 옵션이었다. 이 코프로세서는 부동소수점 연산을 50배 정도 빠르게 해 주었다. 워드 프로세싱에만 PC를 사용하는 사람들은 텍스트 조작 작업의 성능을 높여주지 않는 코프로세서의 높은 비용을 절약할 수 있었다.[9]

8087은 8086/8088과 밀접하게 통합되어 8088 명령어 스트림에 삽입된 부동소수점 기계어 연산 코드에 응답했다. 8087이 없는 8088 프로세서는 이러한 명령어를 해석할 수 없었기 때문에, FPU 및 비 FPU 시스템에 대한 별도의 프로그램 버전이 필요하거나, 적어도 런타임 시 FPU를 감지하고 적절한 수학 라이브러리 함수를 선택하는 테스트가 필요했다.

인텔 80386DX CPU와 80387DX 수학 코프로세서


8086/8088 중앙 프로세서를 위한 또 다른 코프로세서는 8089 입/출력 코프로세서였다. 이는 메모리에서 주변 장치로 데이터를 전송하는 등의 입/출력 연산에 8087과 동일한 프로그래밍 기술을 사용했고, CPU의 부하를 줄였다. 하지만, IBM은 IBM PC 설계에 이 장치를 사용하지 않았고, 인텔은 이러한 방식의 코프로세서 개발을 중단했다.

인텔 80386 마이크로프로세서컴퓨터 하드웨어에서 부동소수점 연산을 직접 수행하기 위해 선택적인 "수학" 코프로세서(80387)를 사용했다. 인텔 80486DX 프로세서는 칩에 부동소수점 하드웨어를 포함했다. 인텔은 부동소수점 하드웨어가 없는 비용 절감형 프로세서인 80486SX를 출시했으며, 설치 시 기본 프로세서를 본질적으로 비활성화하는 80487SX 코프로세서도 판매했는데, 이는 80487SX가 핀 연결이 다른 완전한 80486DX였기 때문이다.[1]

80486 이후의 인텔 프로세서는 부동소수점 하드웨어를 메인 프로세서 칩에 통합했다. 통합 기술의 발전으로 인해 부동소수점 프로세서를 선택적인 요소로 판매하는 비용적 이점이 사라졌다. 75MHz 프로세서 속도에 적합한 회로 기판 기술을 기가헤르츠 범위의 클럭 속도에서 필요한 시간 지연, 전력 소비 및 무선 주파수 간섭 표준을 충족하도록 적용하는 것은 매우 어려울 것이다. 이러한 온칩 부동소수점 프로세서는 주 CPU와 병렬로 작동하기 때문에 여전히 코프로세서라고 한다.

8비트 및 16비트 데스크탑 컴퓨터 시대에는 부동소수점 코프로세서의 또 다른 일반적인 공급원은 Weitek이었다. 이러한 코프로세서는 인텔 코프로세서와 다른 명령어 집합을 가지고 있었고, 모든 마더보드가 지원하지 않는 다른 소켓을 사용했다. Weitek 프로세서는 인텔 x87 제품군과 같은 초월 수학 함수(예: 삼각 함수)를 제공하지 않았으며, 해당 기능을 지원하기 위해 특정 소프트웨어 라이브러리가 필요했다.[2]

3. 3. 웨이텍 코프로세서

8비트 및 16비트 개인용 컴퓨터 시대에는 웨이텍(Weitek) 코프로세서도 있었다. 이 코프로세서는 인텔 코프로세서와는 다른 명령 집합을 가졌으며, 모든 마더보드가 지원하지는 않았다. 웨이텍 프로세서는 x87 종류처럼 삼각 함수와 같은 선험적인 수학 함수를 제공하지 않았고, 이러한 함수를 지원하려면 특별한 소프트웨어 라이브러리가 필요했다.[10]

3. 4. 모토롤라 코프로세서

모토롤라 68000 계열에는 68881/68882 코프로세서가 있었으며, 이는 인텔 프로세서와 유사하게 부동소수점 계산 속도를 빠르게 했다.[11] [3] 68000 계열을 사용하지만 부동소수점 하드웨어가 없는 컴퓨터는 소프트웨어로 부동소수점 명령을 흉내낼 수 있었고, 느리긴 하지만 두 곳 모두 하나의 2진 버전의 프로그램을 배포할 수 있었다. 68451 메모리 관리 코프로세서는 68020 프로세서와 함께 작동하도록 설계되었다.[11] [3]

3. 5. 비디오 및 그래픽 코프로세서

1970년대에 개인용 컴퓨터에 처음 등장한 부동소수점 계산용 코프로세서는 1980년대와 1990년대 초반에 걸쳐 일반화되었다. 초기 8비트 및 16비트 프로세서는 부동소수점 연산을 소프트웨어를 통해 처리했다. 코프로세서가 지원되면 부동소수점 계산 속도가 훨씬 빨라졌다. 컴퓨터 지원 설계(CAD) 소프트웨어나 과학 기술 계산을 하는 사람들에게 수치연산 보조프로세서는 인기가 있었다. 인텔 8087, 모토롤라 68881, 내셔널 32081, AMD 9511 등과 달리, 인텔 I8231, 웨이텍(Weitek) FPU와 같은 일부 부동소수점 유닛들은 CPU에 단단히 통합되지 않고 주변장치로 취급되기도 했다.

아타리 8비트 종류, 텍사스 인스트루먼트 TI-99/4A, MSX 가정용 컴퓨터에 사용된 비디오 디스플레이 코프로세서는 '비디오 디스플레이 컨트롤러'로 불렸다. 코모도어 아미가 종류에 사용된 그래픽 처리 장치 칩은 '카퍼'(Copper)로 알려졌다.

마이크로프로세서가 발전하면서 부동소수점 연산 기능이 프로세서에 통합되었고, 프로세서 속도가 빨라지면서 긴밀하게 통합된 코프로세서 구현이 어려워졌다. 현재 개인용 컴퓨터에서는 별도로 운용되었던 수치연산 보조프로세서를 보기 힘들다. 그러나 컴퓨터 게임에서의 사실적 3D 게임에 대한 요구가 증가하면서 그래픽 전용 코프로세서에 대한 요구는 증가했다.

3. 6. 기타 코프로세서


  • MIPS 아키텍처는 메모리 관리, 부동소수점 연산에 쓰이는 코프로세서 유닛을 최고 4개까지 지원하며, 그래픽 가속 등 기타 작업에 사용하는 정의되지 않은 2개의 코프로세서를 지원한다.[12]
  • FPGA(현장 프로그래머블 게이트 어레이)를 사용하면 디지털 신호 처리와 같은 특정 처리 작업의 가속화를 위한 맞춤형 코프로세서를 생성할 수 있다.
  • TLS/SSL 가속기가 서버에서 사용된다.
  • 일부 멀티 코어 칩에서는 그중 하나가 주 프로세서이면 나머지 프로세서들은 지원하는 코프로세서가 되도록 프로그래밍 할 수 있다.
  • 중국의 매트릭스 2000 128 코어 PCI-e 코프로세서는 CPU가 실행해야 하는 전용 가속기이며, 17,792 노드 톈허-2 슈퍼컴퓨터 (각각 2개의 인텔 나이츠 브릿지 + 2개의 매트릭스 2000)의 업그레이드에 사용되어, 2A로 명명되었으며, 95페타플롭스에서 속도가 거의 두 배로 증가하여 세계에서 가장 빠른 슈퍼컴퓨터를 능가한다.[6]
  • Acorn Computers의 다양한 모델, 특히 BBC Micro 및 BBC Master 시리즈를 위해 다양한 코프로세서가 제공되었다. 특수 목적의 그래픽 또는 산술 장치가 아닌, 이들은 일반적으로 6502, Zilog Z80, National Semiconductor 32016 및 ARM 1과 같은 범용 CPU였으며, Tube로 알려진 메시지 전달 아키텍처를 사용하여 호스트 시스템과 인터페이스하는 두 번째 프로세서로 설명되었으며, Acorn의 자체 제품은 메모리 및 인터페이스 회로와 함께 BBC Micro 확장 유닛에서 이러한 프로세서를 제공했다.

4. 현대의 코프로세서

1970년대에 개인용 컴퓨터에 처음으로 부동소수점 계산을 위한 코프로세서가 등장하였고, 1980년대에서 1990년대 초반에 걸쳐 일반화되었다. 초기의 8비트와 16비트 프로세서는 부동소수점 연산을 위한 소프트웨어를 사용하였다. 코프로세서가 지원되면 부동소수점 계산을 수 배 빠르게 수행할 수 있었다. 수치연산 보조프로세서는 컴퓨터 지원 설계(CAD) 소프트웨어나 과학 기술 계산을 하는 이들에게 인기가 있었다. 인텔 8087, 모토롤라 68881, 내셔널 32081, AMD 9511 등은 CPU에 단단히 통합되었으나, 인텔 I8231, 웨이텍(Weitek) FPU와 같은 일부 부동소수점 유닛들은 주변장치로 취급되기도 했다.[4]

마이크로프로세서가 발전하면서 부동소수점 연산 기능을 프로세서에 통합하는 비용이 줄어들었고, 프로세서 속도가 늘어나면서 긴밀히 통합된 코프로세서의 구현이 어려워졌다. 별도로 운용되었던 수치연산 보조프로세서는 현재 개인용 컴퓨터에서는 흔하지 않다. 하지만, 특히 컴퓨터 게임에서의 사실적 3D 게임에 대한 요구가 증가하면서 그래픽 전용 코프로세서에 대한 요구는 증가하였다.[4]

2000년을 전후로 그래픽 카드 형태의 전용 그래픽 처리 장치(GPU)가 보급되었다.[4] 2006년 에이지아(Ageia)에서는 컴퓨터에서 사용되는 PhysX라는 부속 카드를 발표하였다. PhysX는 복잡한 물리 계산을 수행하도록 설계되었기에, CPU와 GPU는 이러한 시간을 소비하는 계산을 하지 않아도 되었다. 2008년, 엔비디아에서 PhysX를 매입하여 카드 조립 공정을 폐지하기 시작했고, 그 기능은 CUDA에서와 같은 방식으로 소프트웨어를 통하여 GPU의 일반 그래픽 연산을 담당하는 코어에서 PhysX를 렌더링하는 것으로 더해졌다.[4]

2006년, 빅풋 시스템은 킬러NIC 이라 명명한 PCI 부속 카드를 선보였다. 이 카드는 400 MHz의 프리스케일 파워QUICC에서 운용되는 고유의 리눅스 커널이 구동되었고, 프리스케일 칩은 네트워크 프로세서(NPU)라 불렀다.[4] 2007년, 스퍼스엔진(SpursEngine)은 마이크로아키텍처에 기반한 코프로세서가 장착된 매체 지향 부속 카드를 출시하였다.[4] 2008년, 크로노스 그룹은 하나의 공통된 언어로 일반용 CPU와 ATI/AMD 와 엔비디아 GPU 모두를 지원하는 것을 목표로 하는 OpenCL을 내놓았다.[4]

2010년대, 일부 모바일 컴퓨팅 기기에서는 코프로세서로 센서 허브를 구현하였다. 모바일 기기에서의 센서 통합을 다루는 데 사용된 코프로세서의 예로는 애플 M7과 M8 모션 코프로세서, 퀄컴 스냅드래곤 센서 코어와 퀄컴 헥사곤, 마이크로소프트 홀로렌즈(HoloLens)에 사용되는 홀로그래픽 프로세스 유닛 등이 포함된다.[4] 2012년, 인텔은 MIC(Xeon Phi) 코프로세서를 발표하였다.[4]

5. 향후 전망

2001년을 기준으로, 전용 그래픽 처리 장치(GPU)는 그래픽 카드 형태로 보편화되었다. 1990년부터 1994년까지 사운드 카드의 특정 모델은 디지털 멀티채널 믹싱과 실시간 DSP 효과를 제공하는 전용 프로세서를 장착했는데, Gravis Ultrasound 및 Sound Blaster AWE32가 대표적인 예시이다. Sound Blaster Audigy와 Sound Blaster X-Fi는 더 최근의 예시이다.

2006년에는 AGEIA가 PhysX PPU라고 불리는 컴퓨터용 추가 카드를 발표했다. PhysX는 복잡한 물리 계산을 수행하여 CPU와 GPU가 이러한 계산을 수행할 필요가 없도록 설계되었다. 비디오 게임을 위해 설계되었지만, 이론적으로 다른 수학적 용도로도 개발될 수 있었다. 2008년에 엔비디아는 이 회사를 인수하고 PhysX 카드 라인을 단종시켰다. 이 기능은 소프트웨어를 통해 추가되었으며, 엔비디아의 GPU가 엔비디아 PhysX 엔진 소프트웨어를 사용하여 PhysX를 렌더링할 수 있게 되었다.

2006년에 BigFoot Systems는 400MHz로 실행되는 FreeScale PowerQUICC에서 자체 특수 리눅스 커널을 실행하는 PCI 추가 카드인 KillerNIC을 공개했으며, FreeScale 칩을 네트워크 처리 장치 또는 NPU라고 불렀다.

SpursEngine은 Cell 마이크로아키텍처를 기반으로 하는 코프로세서를 갖춘 미디어 중심의 추가 카드이다. SPU 자체는 벡터 코프로세서이다.

2008년, Khronos Group은 컴퓨트 커널을 위한 단일 공통 언어로 일반 용도 CPU, ATI/AMD 및 엔비디아 GPU (및 기타 가속기)를 지원하기 위해 OpenCL을 출시했다.

2010년대에 일부 모바일 컴퓨팅 장치는 센서 허브를 코프로세서로 구현했다. 모바일 장치에서 센서 통합을 처리하는 데 사용되는 코프로세서의 예로는 Apple M7 및 M8 애플 모션 코프로세서, 퀄컴 스냅드래곤 센서 코어, 퀄컴 헥사곤, Holographic Processing Unit for Microsoft HoloLens 등이 있다.

2012년에 인텔은 인텔 제온 파이 코프로세서를 발표했다.

2016년을 기준으로, 다양한 회사들이 비전 및 기타 인지 작업을 위한 인공 신경망을 가속화하기 위해 코프로세서(예: 비전 처리 장치, TrueNorth, Zeroth)를 개발하고 있으며, 2018년 현재 이러한 AI 칩은 애플과 여러 안드로이드 폰 제조업체의 스마트폰에 탑재되어 있다.

세월이 흐르면서 CPU는 가장 인기 있는 코프로세서의 기능을 흡수하는 경향을 보여왔다. FPU는 이제 프로세서의 주 파이프라인의 필수적인 부분으로 여겨지며, SIMD 유닛은 멀티미디어 가속화를 제공하여 다양한 DSP 가속기 카드의 역할을 대신했다. 심지어 GPU도 CPU 다이에 통합되었다. 그럼에도 불구하고, 데스크톱 컴퓨터 외의 분야와 추가적인 성능을 위해 특수 유닛은 여전히 인기가 있으며, 주 프로세서 제품 라인과 독립적으로 지속적인 발전을 가능하게 한다.

6. 연결 형태

코프로세서는 자체로 다목적 프로세서가 아닐 수 있다. 코프로세서는 메모리에서 명령어를 불러오거나, 흐름 제어 명령 프로그램을 실행하거나, 입출력을 수행하거나, 메모리를 관리하는 등의 작업을 할 수 없다. 코프로세서가 코프로세서 명령어를 불러들이고 코프로세서 기능이 아닌 다른 모든 작업을 처리하려면 주 프로세서가 필요하다. 일부 아키텍처에서 코프로세서는 다목적으로 사용되지만, 관리 프로세서의 통제 하에서 제한된 범위의 기능만을 수행한다.

코프로세서는 자율성 정도가 다양하다. FPU와 같은 일부 코프로세서는 코프로세서 명령어를 통해 직접 제어되며, 이는 CPU의 명령어 스트림에 포함되어 있다. 다른 코프로세서는 자체적으로 독립적인 프로세서로 비동기적으로 작동할 수 있다. 그러나 이러한 코프로세서는 범용 코드에 최적화되어 있지 않거나, 특정 작업 가속에 초점을 맞춘 제한적인 명령어 집합으로 인해 범용 코드를 처리할 수 없다. 이러한 코프로세서는 호스트 프로세서(CPU)가 명령 목록을 구축하여 DMA로 구동되는 경우가 많다. 플레이스테이션 2의 Emotion Engine에는 두 가지 모드로 작동할 수 있는 특이한 DSP와 유사한 SIMD 벡터 유닛이 포함되어 있었다.

코프로세서의 연결 형태는 다음과 같다.


  • 전용 단자 등을 통한 직접 연결
  • 범용 I/O 연결
  • 공유 메모리

참조

[1] 서적 Upgrading and repairing PCs Que Publishing 2003
[2] 서적 Upgrading and Repairing PCs, Second Edition Que Publishing 1992
[3] 서적 Assembly language and systems programming for the M68000 family Jones & Bartlett Learning 1992
[4] 웹사이트 Intel Delivers New Architecture for Discovery with Intel® Xeon Phi™ Coprocessors https://newsroom.int[...] Newsroom.intel.com 2012-11-12
[5] 서적 The MIPS programmer's handbook Morgan Kaufmann 1994
[6] 웹사이트 China's Tianhe-2A will Use Proprietary Accelerator and Boast 95 Petaflops Peak https://www.hpcwire.[...] 2017-09-25
[7] 백과사전 日本大百科全書
[8] 웹사이트 英辞郎 on the WEB、co-の使い方と意味 https://eow.alc.co.j[...]
[9] 서적 Upgrading and repairing PCs Que Publishing 2003
[10] 서적 Upgrading and Repairing PCs, Second Edition Que Publishing 1992
[11] 서적 Assembly language and systems programming for the M68000 family Jones & Bartlett Learning 1992
[12] 서적 The MIPS programmer's handbook Morgan Kaufmann 1994



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com