보조 프로세서 : 아키텍처, 작업, 유형 및 응용 프로그램

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





안에 마이크로프로세서 칩, 새로운 회로가 추가되어 특별한 작업을 수행하고 CPU 코어 작업을 오프로드하기 위해 숫자에 대한 작업을 수행하여 CPU가 매우 빠르게 작동할 수 있습니다. 보조 프로세서와 같은 보조 프로세서는 주로 컴퓨터에서 그래픽 디스플레이 처리 및 광범위한 산술 계산과 같은 특수 작업을 수행하는 데 사용됩니다. 이 프로세서는 CPU에 비해 ​​이러한 작업을 매우 효율적으로 수행하도록 설계되어 전체 컴퓨터 속도를 높일 수 있습니다. 이 문서에서는 보조 프로세서 -아키텍처, 작업 및 응용 프로그램.


코프로세서란 무엇입니까?

CPU와 같은 컴퓨터의 주 프로세서와 나란히 작동하는 프로세서를 코프로세서라고 합니다. 이 프로세서는 보조 컴퓨터 프로세서라고도 합니다. 이 프로세서를 사용하면 화면에 표시되는 그래픽, 신호 처리, 문자열 처리, 부동 소수점 산술, 입출력 인터페이스 등과 같은 어려운 수학적 계산을 수행할 수 있습니다.



  보조 프로세서
보조 프로세서

보조 프로세서 아키텍처

8087 아키텍처와 같은 보조 프로세서는 다음과 같습니다. 일반적으로 이 보조 프로세서는 마이크로프로세서와 병렬로 작동합니다. 이 코프로세서는 인텔에서 개발했으며 16비트 8086 제품군 마이크로프로세서와 함께 사용됩니다. 프로세서가 마이크로프로세서와 함께 작동할 때 계산 부분은 프로세서에 의해 간단히 처리되며 이를 통해 CPU는 자원을 활용하여 다양한 다른 활동을 실행할 수 있습니다.

다음 그림은 8087 보조 프로세서의 아키텍처를 나타냅니다. 이 아키텍처에는 제어 장치와 NEU라고도 하는 수치 실행 장치와 같은 두 가지 기본 장치가 포함됩니다.



  8087 보조 프로세서 아키텍처
8087 보조 프로세서 아키텍처

제어 장치에는 데이터 버퍼, 제어 및 상태 워드 레지스터, 공유 피연산자 큐, 예외 포인터, 주소 지정 및 버스 추적 장치와 같은 다양한 장치가 있습니다. Numeric Execution Unit 또는 NEU는 주로 마이크로코드 제어 장치, 레지스터 스택, 프로그래밍 가능한 시프터, 임시 레지스터 , 산술 모듈, 지수 모듈 및 공유 피연산자 큐.

보조 프로세서의 제어 장치는 숫자 실행 장치가 담당하는 명령 실행(IE)을 제어하는 ​​것입니다. 대부분 수치 실행 장치의 마이크로코드 제어 장치(CU)는 보조 프로세서의 제어 장치에서 숫자 명령을 얻습니다. 이 코프로세서에는 80비트의 완전한 8개 레지스터가 있으며 이들 각각은 LIFO 스택에서 사용됩니다. 보조 프로세서 명령이 발생하는 피연산자는 레지스터 스택에 존재합니다.

  PCBWay

기존 스택은 8개의 스택 레지스터를 표시하기 위해 000 – 111 범위의 이진 값을 보유하는 3비트 SP(스택 포인터)를 통해 지정됩니다. LIFO 모드에서 원형 스택 방식으로 작동합니다. 단, 리셋 동작이 발생하면 포인터를 이진수 '000'으로 초기화할 수 있습니다.

보조 프로세서 기능이 압축된 10진수, 실수 및 2진 정수인 숫자 데이터 세 가지 분류. 이진 정수는 16비트 워드 정수, 32비트 짧은 정수 및 64비트 긴 정수의 세 가지 유형입니다. 80비트 BCD 형식은 압축된 10진수를 나타내고 실수는 3가지 유형입니다. 32비트 short real, 64비트 long real 및 80비트 임시 real입니다.

보조 프로세서에서 숫자 데이터를 전송하려면 16비트 지수 버스 또는 64비트 가수 버스 사용 . 코프로세서는 16비트 제어 워드와 16비트 상태 워드를 포함합니다.

제어 단어는 제어 레지스터에 기록되며 이는 보조 프로세서가 초기에 메모리 위치 내에서 제어 단어를 기록하는 방식으로 발생합니다. 그 후 보조 프로세서는 메모리 위치를 사용하여 제어 단어를 읽고 제어 레지스터에 저장합니다.

마찬가지로 상태 워드는 프로세서가 상태 레지스터의 데이터를 메모리 위치로 보내는 방식으로 읽습니다. 또한 이 보조 프로세서는 특정 메모리 위치에서 상태 레지스터를 읽습니다. 따라서 이것은 프로세서와 마이크로프로세서가 메인 메모리를 통해 서로 통신한다는 것을 의미합니다.

보조 프로세서는 어떻게 작동합니까?

보조 프로세서는 주로 8086 및 8088 프로세서와 함께 작동하도록 설계되었습니다. 보조 프로세서는 특정 CPU 작업을 오프로드하여 시스템이 보다 강력하게 실행되도록 돕는 데 사용됩니다. 이 프로세서가 마이크로프로세서와 함께 작동하면 프로그램을 작성하는 동안 마이크로프로세서와 보조 프로세서의 명령이 내부에 통합됩니다. 어셈블리 언어 프로그램의 명령어 시작 부분에는 보조 프로세서의 명령어를 나타내는 'F'가 있고 'F' 접두어가 없는 명령어는 마이크로 프로세서의 명령어를 나타냅니다.

처음에는 마이크로프로세서가 메모리 위치에서 명령을 가져와 큐에 순차적으로 로드하는 동시에 8087 보조 프로세서도 명령을 읽고 내부 큐에 저장합니다. 즉, 모든 단일 명령은 보조 프로세서와 프로세서를 통해 읽을 수 있지만 실행 시간에는 보조 프로세서와 마이크로 프로세서 모두 특정 명령을 실행할 수 있습니다. 즉, 해당 명령을 읽고 디코딩합니다. 마이크로프로세서가 보조 프로세서의 instr이 있는지 확인하면 해당 명령은 무작동으로 처리됩니다. 유사하게, 이 코프로세서가 마이크로프로세서의 명령을 가로질러 접근하면 작동하지 않는 것으로 처리됩니다.

보조 프로세서 유형

다음과 같은 제조업체에 따라 사용할 수 있는 다양한 보조 프로세서가 있습니다.

인텔 8087 보조 프로세서

Intel 8087은 부동 소수점 및 정수 값을 포함하는 수학적 계산을 수행하는 데 사용되는 특수 설계된 보조 프로세서입니다. 때로는 숫자 데이터 프로세서 및 수학 프로세서라고도 합니다. 이것은 Intel 80188, 8086, 80186 및 8088 프로세서용 수치 보조 프로세서입니다. 8087 코프로세서는 스택으로 실행되는 8개의 80비트 일반 레지스터를 포함합니다. 따라서 모든 부동 소수점 연산은 스택 및 외부 메모리의 데이터로 간단하게 수행됩니다.

  인텔 8087 보조 프로세서
인텔 8087 보조 프로세서

Intel 8087 코프로세서는 BCD, 정수, 단정밀도 및 배정밀도 부동 소수점 숫자와 확장 정밀도 부동 소수점 숫자를 지원합니다. 8087 프로세서가 메모리에서 데이터를 로드하면 정밀도 숫자를 확장하기 위해 내부적으로 변환되며 모든 계산은 이 숫자를 통해 수행됩니다.

따라서 배정밀도 숫자에서 단정밀도 숫자로 전환하거나 64비트 정수(32비트/16비트 정수)에서 전환해도 성능이 크게 향상되지 않습니다. 8087 코프로세서는 Intel에서 제조했을 뿐만 아니라 AMD, Cyrix 및 IBM도 이러한 코프로세서를 제조합니다.

모토로라 68881

모토로라 68881은 모토로라 68K 2세대에 주로 사용되는 보조 프로세서이다. 마이크로프로세서 Motorola 68030 및 68020과 같습니다. 이론적으로 이 보조 프로세서는 이전 68000 또는 68010 CPU와 함께 주변 장치로 사용됩니다.

  모토로라 68881
모토로라 68881

Motorola 68881 보조 프로세서는 단순히 메모리 매핑 장치처럼 작동합니다. 메인 CPU가 코프로세서의 명령을 로드하면 CPU의 주소 공간에 매핑된 CIR(Co-processor Interface Registers)에 명령 코드를 쓴 다음 CPU의 응답을 읽습니다. CIR 레지스터 중 하나의 보조 프로세서.

Motorola 68881/68882 코프로세서는 IBM RT PC 워크스테이션, Sun Microsystems Sun-3 워크스테이션, NeXT Computer, Apple Computer Macintosh II 제품군, Amiga 3000, Sharp X68000, Convergent Technologies MightyFrame, TT, Atari Mega STE & Falcon에서 사용되었습니다. 이러한 프로세서는 68000에 대한 메모리 매핑 장치와 같은 일부 타사 Atari 및 Amiga 제품에도 사용됩니다.

Apple 모션 코프로세서

Apple의 M 시리즈 보조 프로세서는 Apple 모바일 장치에 사용되는 모션 보조 프로세서로 알려져 있습니다. 첫 번째 보조 프로세서는 2013년에 설계되었으며 통합된 자이로스코프, 가속도계 및 나침반에서 센서 데이터를 수집하고 수집된 센서 데이터를 메인 CPU를 사용하여 오프로드하는 데 사용되었습니다.

  Apple 모션 코프로세서
Apple 모션 코프로세서

M-시리즈 Apple 코프로세서는 장치가 절전 상태인 경우에도 프로세스를 수집하고 센서의 데이터를 저장하기만 하면 응용 프로그램이 장치 전원을 다시 켜면 데이터를 복구할 수 있습니다. 따라서 이것은 장치에서 소비되는 전력을 줄이고 배터리 수명을 절약합니다.

프로세서와 보조 프로세서의 차이점

프로세서와 보조 프로세서의 차이점은 다음과 같습니다.

프로세서

보조 프로세서

프로세서는 명령에 따라 다양한 산술, 논리 및 제어 작업을 실행하는 컴퓨터의 주요 처리 장치입니다. 보조 프로세서는 주 프로세서를 지원하는 특수 프로세서입니다.

프로세서가 모든 주요 작업을 처리합니다.

보조 프로세서는 그래픽 및 산술 계산과 같은 다른 작업만 처리합니다.
논리 연산 및 수학적 계산을 처리하고 작업 동기화를 위해 다른 구성 요소에 대한 제어 신호를 생성합니다. 유형에 따라 신호 처리, 수학 연산, 네트워킹 및 암호화를 수행합니다.
프로세서는 전체 컴퓨터의 적절한 기능을 유지합니다. 이 프로세서는 시스템 성능을 높이는 데 도움이 되며 CPU에서 심각한 작업을 오프로드합니다.

장점

보조 프로세서의 장점은 다음과 같습니다.

  • 코프로세서는 코어 CPU에 비해 ​​더 전문적인 작업을 더 빠르게 처리합니다.
  • 이 프로세서는 사용하기 쉽고 가장 인기가 있습니다.
  • 더 빠른 속도로 실행되도록 CPU에서 특수 처리 작업을 수행하여 마이크로프로세서의 부담을 줄입니다.
  • 이 프로세서는 명령어 세트를 확장하거나 구성 레지스터를 제공하여 CPU의 처리 기능을 확장하는 데 유용합니다.

단점

보조 프로세서의 단점은 다음과 같습니다.

  • 코프로세서는 메모리에서 명령을 복구하고, 명령을 직접 실행하고, 메모리를 관리하고, I/O 작업을 수행할 수 없습니다.
  • 보조 프로세서 명령을 되찾고 보조 프로세서와 관련되지 않은 다른 모든 작업을 처리하는 것은 메인 프로세서에 달려 있습니다.
  • 이것은 시스템의 주요 프로세서가 아닙니다.
  • 보조 프로세서는 주 마이크로프로세서 없이 작동할 수 없습니다.

애플리케이션

보조 프로세서의 응용 프로그램에는 다음이 포함됩니다.

  • 보조 프로세서는 그래픽 디스플레이 처리 또는 복잡한 수학적 계산과 같은 보다 전문적인 작업을 수행하는 데 사용됩니다.
  • 보조 프로세서는 단순히 컴퓨터 CPU의 부담을 줄이는 데 사용됩니다.
  • 이 프로세서는 컴퓨터의 CPU와 나란히 작동합니다.
  • 이 프로세서는 근, 대수, 삼각함수 등과 같은 메인 프로세서에 비해 훨씬 빠르게 높은 수준의 수학 연산을 수행합니다.
  • 보조 프로세서는 기본 프로세서의 기능을 향상시킵니다.
  • 보조 프로세서는 신호 처리, 부동 소수점 산술, 문자열 처리, 그래픽, 주변 장치를 통한 I/O 인터페이스, 암호화 등과 같은 다양한 작업을 수행합니다.
  • 이러한 프로세서는 마더보드에 연결된 이전 데스크톱 컴퓨터의 독립형 칩입니다.
  • 보조 프로세서는 전반적인 성능 향상을 위해 CPU 작업을 처리합니다.

따라서 이것은 코프로세서 개요 – 작업 및 응용 프로그램. 이 프로세서는 수학 프로세서라고도 합니다. 보조 프로세서는 코어 CPU에 비해 ​​매우 빠르게 다양한 작업을 수행합니다. 따라서 컴퓨터 시스템의 전체 속도가 증가합니다. 이 프로세서는 ARM 프로세서에 연결할 수 있습니다. 일단 추가되면 코어 CPU의 명령 세트를 늘리거나 처리 능력을 높이기 위해 구성 가능한 레지스터를 포함해야 합니다. 마이크로프로세서란 무엇입니까?